@synergenius/flow-weaver-pack-weaver 0.9.110 → 0.9.112
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/ai-client.d.ts.map +1 -1
- package/dist/bot/ai-client.js +10 -7
- package/dist/bot/ai-client.js.map +1 -1
- package/dist/node-types/approval-gate.d.ts.map +1 -1
- package/dist/node-types/approval-gate.js +124 -101
- package/dist/node-types/approval-gate.js.map +1 -1
- package/dist/node-types/plan-task.d.ts.map +1 -1
- package/dist/node-types/plan-task.js +3 -2
- package/dist/node-types/plan-task.js.map +1 -1
- package/flowweaver.manifest.json +1 -1
- package/package.json +1 -1
- package/src/bot/ai-client.ts +10 -7
- package/src/node-types/approval-gate.ts +29 -12
- package/src/node-types/plan-task.ts +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-client.d.ts","sourceRoot":"","sources":["../../src/bot/ai-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4B/C,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAOvG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBxD;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqH3H;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAChD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GACvC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,EACpE,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,gBAAgB,SAAO,GACtB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCvE;AAMD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACpG,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"ai-client.d.ts","sourceRoot":"","sources":["../../src/bot/ai-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4B/C,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAOvG;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBxD;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqH3H;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAChD,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GACvC,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CASjB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,EACpE,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,gBAAgB,SAAO,GACtB,OAAO,CAAC,MAAM,CAAC,CAiBjB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCvE;AAMD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACpG,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAuC7D"}
|
package/dist/bot/ai-client.js
CHANGED
|
@@ -300,13 +300,16 @@ export function normalizePlan(parsed) {
|
|
|
300
300
|
// Normalize each step
|
|
301
301
|
const normalized = steps
|
|
302
302
|
.filter((s) => s != null && typeof s === 'object' && !Array.isArray(s))
|
|
303
|
-
.map((step, idx) =>
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
303
|
+
.map((step, idx) => {
|
|
304
|
+
const operation = step.operation ?? step.tool ?? step.type ?? step.action ?? step.name ?? '';
|
|
305
|
+
return {
|
|
306
|
+
id: step.id ?? `step-${idx + 1}`,
|
|
307
|
+
operation,
|
|
308
|
+
description: step.description ?? operation ?? `Step ${idx + 1}`,
|
|
309
|
+
args: step.args ?? step.arguments ?? {},
|
|
310
|
+
};
|
|
311
|
+
})
|
|
312
|
+
.filter(s => s.operation !== ''); // Drop steps with no recognizable operation
|
|
310
313
|
return {
|
|
311
314
|
steps: normalized,
|
|
312
315
|
summary: obj?.summary ?? `${normalized.length} steps`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-client.js","sourceRoot":"","sources":["../../src/bot/ai-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-client.js","sourceRoot":"","sources":["../../src/bot/ai-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-gate.d.ts","sourceRoot":"","sources":["../../src/node-types/approval-gate.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,
|
|
1
|
+
{"version":3,"file":"approval-gate.d.ts","sourceRoot":"","sources":["../../src/node-types/approval-gate.ts"],"names":[],"mappings":"AAuDA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CAgJD"}
|
|
@@ -61,119 +61,142 @@ const approvalRegistryLocal = {
|
|
|
61
61
|
* @output onFailure [order:-1] - On Failure
|
|
62
62
|
*/
|
|
63
63
|
export async function weaverApprovalGate(execute, ctx) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
context
|
|
67
|
-
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|
|
64
|
+
let context;
|
|
65
|
+
try {
|
|
66
|
+
context = JSON.parse(ctx);
|
|
68
67
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
? config.approval
|
|
75
|
-
: config.approval?.mode ?? (process.stdin?.isTTY ? 'prompt' : 'timeout-auto');
|
|
76
|
-
if (task.options?.autoApprove || approvalMode === 'auto') {
|
|
77
|
-
console.log('\x1b[36m→ Auto-approved\x1b[0m');
|
|
78
|
-
auditEmit('approval-decision', { approved: true, mode: 'auto' });
|
|
68
|
+
catch (err) {
|
|
69
|
+
console.error(`[approval-gate] Failed to parse context: ${err instanceof Error ? err.message : err}`);
|
|
70
|
+
return { onSuccess: false, onFailure: true, ctx: JSON.stringify({ rejectionReason: 'Invalid context' }) };
|
|
71
|
+
}
|
|
72
|
+
if (!execute) {
|
|
79
73
|
context.rejectionReason = '';
|
|
80
74
|
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|
|
81
75
|
}
|
|
82
|
-
// Parse and display the plan
|
|
83
|
-
const plan = JSON.parse(context.planJson);
|
|
84
|
-
console.log('\n\x1b[1m┌─ Bot Plan ─────────────────────────────┐\x1b[0m');
|
|
85
|
-
console.log(`\x1b[1m│\x1b[0m Summary: ${plan.summary}`);
|
|
86
|
-
console.log(`\x1b[1m│\x1b[0m Steps: ${plan.steps.length}`);
|
|
87
|
-
for (const step of plan.steps) {
|
|
88
|
-
console.log(`\x1b[1m│\x1b[0m ${step.id}: [${step.operation}] ${step.description}`);
|
|
89
|
-
}
|
|
90
|
-
console.log('\x1b[1m└────────────────────────────────────────┘\x1b[0m\n');
|
|
91
|
-
// Determine timeout
|
|
92
|
-
const approvalCfg = config.approval;
|
|
93
|
-
const timeoutMs = approvalCfg?.timeoutMs ?? ((approvalCfg?.timeoutSeconds ?? 300) * 1000);
|
|
94
|
-
// Use the run ID as the approval key if available, otherwise a unique key.
|
|
95
|
-
// fw_weaver_approve resolves the most recent pending, so the exact key
|
|
96
|
-
// doesn't matter for single-approval scenarios.
|
|
97
|
-
const approvalKey = context.runId ?? `approval-${Date.now()}`;
|
|
98
|
-
console.log(`\x1b[36m→ Waiting ${timeoutMs / 1000}s for approval (via UI, agent, file, or timeout)...\x1b[0m`);
|
|
99
|
-
// Multiple concurrent producers race — whichever resolves first wins.
|
|
100
|
-
// The simplest globalThis mechanism: put the resolve function directly
|
|
101
|
-
// on globalThis so fw_weaver_approve can call it from any module context.
|
|
102
|
-
const channel = globalThis.__fw_agent_channel__;
|
|
103
|
-
if (channel) {
|
|
104
|
-
channel.request({
|
|
105
|
-
agentId: 'weaver-approval',
|
|
106
|
-
context: { plan: { steps: plan.steps || [] }, summary: plan.summary || '' },
|
|
107
|
-
prompt: `Review and approve/reject this plan with ${(plan.steps || []).length} steps.`,
|
|
108
|
-
}).then((result) => {
|
|
109
|
-
const approved = result.approved !== false;
|
|
110
|
-
approvalRegistryLocal.resolve(approvalKey, {
|
|
111
|
-
approved,
|
|
112
|
-
reason: approved ? undefined : (result.reason || 'rejected by agent'),
|
|
113
|
-
mode: 'agent',
|
|
114
|
-
});
|
|
115
|
-
}).catch(() => { });
|
|
116
|
-
}
|
|
117
|
-
// File polling producer — polls for approval-decision.json every 500ms
|
|
118
|
-
const weaverDir = process.env.WEAVER_HISTORY_DIR ?? nodePath.join(os.homedir(), '.weaver');
|
|
119
|
-
const decisionPath = nodePath.join(weaverDir, 'approval-decision.json');
|
|
120
|
-
// Write pending approval file for UI to discover
|
|
121
76
|
try {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
77
|
+
// Check for autoApprove in task options
|
|
78
|
+
const task = JSON.parse(context.taskJson ?? '{}');
|
|
79
|
+
const { env } = context;
|
|
80
|
+
const { config } = env;
|
|
81
|
+
const approvalMode = typeof config.approval === 'string'
|
|
82
|
+
? config.approval
|
|
83
|
+
: config.approval?.mode ?? (process.stdin?.isTTY ? 'prompt' : 'timeout-auto');
|
|
84
|
+
if (task.options?.autoApprove || approvalMode === 'auto') {
|
|
85
|
+
console.log('\x1b[36m→ Auto-approved\x1b[0m');
|
|
86
|
+
auditEmit('approval-decision', { approved: true, mode: 'auto' });
|
|
87
|
+
context.rejectionReason = '';
|
|
88
|
+
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|
|
128
89
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
catch { /* non-fatal */ }
|
|
132
|
-
let filePollingActive = true;
|
|
133
|
-
const filePollInterval = setInterval(() => {
|
|
90
|
+
// Parse and display the plan
|
|
91
|
+
let plan;
|
|
134
92
|
try {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
93
|
+
plan = JSON.parse(context.planJson);
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
plan = { steps: [], summary: 'Plan could not be parsed' };
|
|
97
|
+
}
|
|
98
|
+
const steps = Array.isArray(plan.steps) ? plan.steps : [];
|
|
99
|
+
const summary = plan.summary ?? 'No summary';
|
|
100
|
+
console.log('\n\x1b[1m┌─ Bot Plan ─────────────────────────────┐\x1b[0m');
|
|
101
|
+
console.log(`\x1b[1m│\x1b[0m Summary: ${summary}`);
|
|
102
|
+
console.log(`\x1b[1m│\x1b[0m Steps: ${steps.length}`);
|
|
103
|
+
for (const step of steps) {
|
|
104
|
+
console.log(`\x1b[1m│\x1b[0m ${step.id ?? '?'}: [${step.operation ?? '?'}] ${step.description ?? ''}`);
|
|
105
|
+
}
|
|
106
|
+
console.log('\x1b[1m└────────────────────────────────────────┘\x1b[0m\n');
|
|
107
|
+
// Determine timeout
|
|
108
|
+
const approvalCfg = config.approval;
|
|
109
|
+
const timeoutMs = approvalCfg?.timeoutMs ?? ((approvalCfg?.timeoutSeconds ?? 300) * 1000);
|
|
110
|
+
// Use the run ID as the approval key if available, otherwise a unique key.
|
|
111
|
+
// fw_weaver_approve resolves the most recent pending, so the exact key
|
|
112
|
+
// doesn't matter for single-approval scenarios.
|
|
113
|
+
const approvalKey = context.runId ?? `approval-${Date.now()}`;
|
|
114
|
+
console.log(`\x1b[36m→ Waiting ${timeoutMs / 1000}s for approval (via UI, agent, file, or timeout)...\x1b[0m`);
|
|
115
|
+
// Multiple concurrent producers race — whichever resolves first wins.
|
|
116
|
+
// The simplest globalThis mechanism: put the resolve function directly
|
|
117
|
+
// on globalThis so fw_weaver_approve can call it from any module context.
|
|
118
|
+
const channel = globalThis.__fw_agent_channel__;
|
|
119
|
+
if (channel) {
|
|
120
|
+
channel.request({
|
|
121
|
+
agentId: 'weaver-approval',
|
|
122
|
+
context: { plan: { steps }, summary },
|
|
123
|
+
prompt: `Review and approve/reject this plan with ${steps.length} steps.`,
|
|
124
|
+
}).then((result) => {
|
|
125
|
+
const approved = result.approved !== false;
|
|
139
126
|
approvalRegistryLocal.resolve(approvalKey, {
|
|
140
|
-
approved
|
|
141
|
-
reason:
|
|
142
|
-
mode: '
|
|
127
|
+
approved,
|
|
128
|
+
reason: approved ? undefined : (result.reason || 'rejected by agent'),
|
|
129
|
+
mode: 'agent',
|
|
143
130
|
});
|
|
131
|
+
}).catch(() => { });
|
|
132
|
+
}
|
|
133
|
+
// File polling producer — polls for approval-decision.json every 500ms
|
|
134
|
+
const weaverDir = process.env.WEAVER_HISTORY_DIR ?? nodePath.join(os.homedir(), '.weaver');
|
|
135
|
+
const decisionPath = nodePath.join(weaverDir, 'approval-decision.json');
|
|
136
|
+
// Write pending approval file for UI to discover
|
|
137
|
+
try {
|
|
138
|
+
fs.mkdirSync(weaverDir, { recursive: true });
|
|
139
|
+
fs.writeFileSync(nodePath.join(weaverDir, 'pending-approval.json'), JSON.stringify({
|
|
140
|
+
plan, summary: plan.summary, stepCount: plan.steps?.length ?? 0, timestamp: Date.now(),
|
|
141
|
+
}), 'utf-8');
|
|
142
|
+
try {
|
|
143
|
+
fs.unlinkSync(decisionPath);
|
|
144
144
|
}
|
|
145
|
+
catch { /* clean stale */ }
|
|
146
|
+
}
|
|
147
|
+
catch { /* non-fatal */ }
|
|
148
|
+
let filePollingActive = true;
|
|
149
|
+
const filePollInterval = setInterval(() => {
|
|
150
|
+
try {
|
|
151
|
+
if (fs.existsSync(decisionPath)) {
|
|
152
|
+
const raw = fs.readFileSync(decisionPath, 'utf-8');
|
|
153
|
+
fs.unlinkSync(decisionPath);
|
|
154
|
+
const d = JSON.parse(raw);
|
|
155
|
+
approvalRegistryLocal.resolve(approvalKey, {
|
|
156
|
+
approved: !!d.approved,
|
|
157
|
+
reason: d.reason,
|
|
158
|
+
mode: 'file',
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch { /* retry */ }
|
|
163
|
+
}, 500);
|
|
164
|
+
// Also put the resolve function directly on globalThis as the most direct path.
|
|
165
|
+
// fw_weaver_approve checks this first before trying the registry or file.
|
|
166
|
+
const registryWait = approvalRegistryLocal.wait(approvalKey, timeoutMs);
|
|
167
|
+
const directResolve = new Promise((resolve) => {
|
|
168
|
+
globalThis.__fw_pending_approval_resolve__ = (d) => {
|
|
169
|
+
resolve(d);
|
|
170
|
+
};
|
|
171
|
+
});
|
|
172
|
+
const decision = await Promise.race([registryWait, directResolve]);
|
|
173
|
+
// Cleanup
|
|
174
|
+
delete globalThis.__fw_pending_approval_resolve__;
|
|
175
|
+
clearInterval(filePollInterval);
|
|
176
|
+
try {
|
|
177
|
+
fs.unlinkSync(nodePath.join(weaverDir, 'pending-approval.json'));
|
|
178
|
+
}
|
|
179
|
+
catch { /* ignore */ }
|
|
180
|
+
// Log the decision
|
|
181
|
+
const mode = decision.mode ?? 'unknown';
|
|
182
|
+
if (decision.approved) {
|
|
183
|
+
console.log(`\x1b[32m→ Plan approved (${mode})\x1b[0m`);
|
|
184
|
+
auditEmit('approval-decision', { approved: true, mode });
|
|
185
|
+
context.rejectionReason = '';
|
|
186
|
+
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const reason = decision.reason || 'rejected';
|
|
190
|
+
console.log(`\x1b[33m→ Plan rejected: ${reason} (${mode})\x1b[0m`);
|
|
191
|
+
auditEmit('approval-decision', { approved: false, reason, mode });
|
|
192
|
+
context.rejectionReason = reason;
|
|
193
|
+
return { onSuccess: false, onFailure: true, ctx: JSON.stringify(context) };
|
|
145
194
|
}
|
|
146
|
-
catch { /* retry */ }
|
|
147
|
-
}, 500);
|
|
148
|
-
// Also put the resolve function directly on globalThis as the most direct path.
|
|
149
|
-
// fw_weaver_approve checks this first before trying the registry or file.
|
|
150
|
-
const registryWait = approvalRegistryLocal.wait(approvalKey, timeoutMs);
|
|
151
|
-
const directResolve = new Promise((resolve) => {
|
|
152
|
-
globalThis.__fw_pending_approval_resolve__ = (d) => {
|
|
153
|
-
resolve(d);
|
|
154
|
-
};
|
|
155
|
-
});
|
|
156
|
-
const decision = await Promise.race([registryWait, directResolve]);
|
|
157
|
-
// Cleanup
|
|
158
|
-
delete globalThis.__fw_pending_approval_resolve__;
|
|
159
|
-
clearInterval(filePollInterval);
|
|
160
|
-
try {
|
|
161
|
-
fs.unlinkSync(nodePath.join(weaverDir, 'pending-approval.json'));
|
|
162
|
-
}
|
|
163
|
-
catch { /* ignore */ }
|
|
164
|
-
// Log the decision
|
|
165
|
-
const mode = decision.mode ?? 'unknown';
|
|
166
|
-
if (decision.approved) {
|
|
167
|
-
console.log(`\x1b[32m→ Plan approved (${mode})\x1b[0m`);
|
|
168
|
-
auditEmit('approval-decision', { approved: true, mode });
|
|
169
|
-
context.rejectionReason = '';
|
|
170
|
-
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|
|
171
195
|
}
|
|
172
|
-
|
|
173
|
-
const
|
|
174
|
-
console.
|
|
175
|
-
|
|
176
|
-
context.rejectionReason = reason;
|
|
196
|
+
catch (err) {
|
|
197
|
+
const msg = err instanceof Error ? err.stack ?? err.message : String(err);
|
|
198
|
+
console.error(`[approval-gate] Unhandled error: ${msg}`);
|
|
199
|
+
context.rejectionReason = `Approval gate error: ${err instanceof Error ? err.message : String(err)}`;
|
|
177
200
|
return { onSuccess: false, onFailure: true, ctx: JSON.stringify(context) };
|
|
178
201
|
}
|
|
179
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-gate.js","sourceRoot":"","sources":["../../src/node-types/approval-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAcnD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,SAAS,mBAAmB;IAC1B,IAAI,GAAG,GAAI,UAAsC,CAAC,YAAY,CAA6C,CAAC;IAC5G,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACf,UAAsC,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,qBAAqB,GAAG;IAC5B,IAAI,CAAC,GAAW,EAAE,SAAiB;QACjC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/C,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,QAA0B;QAC7C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,GAAW;IAKX,
|
|
1
|
+
{"version":3,"file":"approval-gate.js","sourceRoot":"","sources":["../../src/node-types/approval-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAcnD,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAChD,SAAS,mBAAmB;IAC1B,IAAI,GAAG,GAAI,UAAsC,CAAC,YAAY,CAA6C,CAAC;IAC5G,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACf,UAAsC,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;IAC9D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AACD,MAAM,qBAAqB,GAAG;IAC5B,IAAI,CAAC,GAAW,EAAE,SAAiB;QACjC,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACb,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAC/C,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAW,EAAE,QAA0B;QAC7C,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,GAAW;IAKX,IAAI,OAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACtG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC5G,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;QAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,IAAI,CAAC;QACL,wCAAwC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAA4C,CAAC;QAC7F,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QACxB,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QACvB,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YACtD,CAAC,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAEhF,IAAI,IAAI,CAAC,OAAO,EAAE,WAAW,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,SAAS,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;YAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAoG,CAAC;QACzG,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAS,CAAgB,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,0BAA0B,EAAE,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1G,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAE1E,oBAAoB;QACpB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAuE,CAAC;QACnG,MAAM,SAAS,GAAG,WAAW,EAAE,SAAS,IAAI,CAAC,CAAC,WAAW,EAAE,cAAc,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAE1F,2EAA2E;QAC3E,uEAAuE;QACvE,gDAAgD;QAChD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAE9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,SAAS,GAAG,IAAI,4DAA4D,CAAC,CAAC;QAE/G,sEAAsE;QACtE,uEAAuE;QACvE,0EAA0E;QAE1E,MAAM,OAAO,GAAI,UAAkB,CAAC,oBAAoB,CAAC;QACzD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,OAAO,CAAC;gBACd,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE;gBACrC,MAAM,EAAE,4CAA4C,KAAK,CAAC,MAAM,SAAS;aAC1E,CAAC,CAAC,IAAI,CAAC,CAAC,MAA+B,EAAE,EAAE;gBAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC;gBAC3C,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE;oBACzC,QAAQ;oBACR,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,MAAiB,IAAI,mBAAmB,CAAC;oBACjF,IAAI,EAAE,OAAO;iBACd,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,uEAAuE;QACvE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;QAExE,iDAAiD;QACjD,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjF,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACvF,CAAC,EAAE,OAAO,CAAC,CAAC;YACb,IAAI,CAAC;gBAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAE3B,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACnD,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC1B,qBAAqB,CAAC,OAAO,CAAC,WAAW,EAAE;wBACzC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,IAAI,EAAE,MAAM;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,gFAAgF;QAChF,0EAA0E;QAC1E,MAAM,YAAY,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;YAC7D,UAAsC,CAAC,+BAA+B,GAAG,CAAC,CAAmB,EAAE,EAAE;gBAChG,OAAO,CAAC,CAAC,CAAC,CAAC;YACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAqB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;QAErF,UAAU;QACV,OAAQ,UAAsC,CAAC,+BAA+B,CAAC;QAC/E,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChC,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAEhG,mBAAmB;QACnB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,SAAS,CAAC;QACxC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,UAAU,CAAC,CAAC;YACxD,SAAS,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,eAAe,GAAG,EAAE,CAAC;YAC7B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,4BAA4B,MAAM,KAAK,IAAI,UAAU,CAAC,CAAC;YACnE,SAAS,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC;YACjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7E,CAAC;IACD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,eAAe,GAAG,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QACrG,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7E,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-task.d.ts","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,
|
|
1
|
+
{"version":3,"file":"plan-task.d.ts","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA2DD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { callAI, parseJsonResponse } from '../bot/ai-client.js';
|
|
1
|
+
import { callAI, parseJsonResponse, normalizePlan } from '../bot/ai-client.js';
|
|
2
2
|
import { auditEmit } from '../bot/audit-logger.js';
|
|
3
3
|
/**
|
|
4
4
|
* Sends task + context to the AI provider and gets back a structured
|
|
@@ -56,7 +56,8 @@ Plan this task. IMPORTANT rules:
|
|
|
56
56
|
4. Prefer run-shell with "npx flow-weaver validate <file> --json" to discover errors, then read-file to see the file, then patch-file with exact strings.`;
|
|
57
57
|
try {
|
|
58
58
|
const text = await callAI(pInfo, systemPrompt, userPrompt, 8192);
|
|
59
|
-
const
|
|
59
|
+
const raw = parseJsonResponse(text);
|
|
60
|
+
const plan = normalizePlan(raw);
|
|
60
61
|
console.log(`\x1b[36m→ Plan: ${plan.summary ?? 'generated'}\x1b[0m`);
|
|
61
62
|
auditEmit('plan-created', { summary: plan.summary, stepCount: plan.steps?.length ?? 0 });
|
|
62
63
|
context.planJson = JSON.stringify(plan);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-task.js","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan-task.js","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"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"}
|
package/flowweaver.manifest.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifestVersion": 2,
|
|
3
3
|
"name": "@synergenius/flow-weaver-pack-weaver",
|
|
4
|
-
"version": "0.9.
|
|
4
|
+
"version": "0.9.112",
|
|
5
5
|
"description": "AI bot for Flow Weaver. Execute tasks, run workflows, evolve autonomously.",
|
|
6
6
|
"engineVersion": ">=0.22.10",
|
|
7
7
|
"categories": [
|
package/package.json
CHANGED
package/src/bot/ai-client.ts
CHANGED
|
@@ -323,13 +323,16 @@ export function normalizePlan(parsed: unknown): NormalizedPlan {
|
|
|
323
323
|
// Normalize each step
|
|
324
324
|
const normalized = steps
|
|
325
325
|
.filter((s): s is Record<string, unknown> => s != null && typeof s === 'object' && !Array.isArray(s))
|
|
326
|
-
.map((step, idx) =>
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
326
|
+
.map((step, idx) => {
|
|
327
|
+
const operation = (step.operation as string) ?? (step.tool as string) ?? (step.type as string) ?? (step.action as string) ?? (step.name as string) ?? '';
|
|
328
|
+
return {
|
|
329
|
+
id: (step.id as string) ?? `step-${idx + 1}`,
|
|
330
|
+
operation,
|
|
331
|
+
description: (step.description as string) ?? operation ?? `Step ${idx + 1}`,
|
|
332
|
+
args: (step.args as Record<string, unknown>) ?? (step.arguments as Record<string, unknown>) ?? {},
|
|
333
|
+
};
|
|
334
|
+
})
|
|
335
|
+
.filter(s => s.operation !== ''); // Drop steps with no recognizable operation
|
|
333
336
|
|
|
334
337
|
return {
|
|
335
338
|
steps: normalized,
|
|
@@ -81,15 +81,22 @@ export async function weaverApprovalGate(
|
|
|
81
81
|
onSuccess: boolean; onFailure: boolean;
|
|
82
82
|
ctx: string;
|
|
83
83
|
}> {
|
|
84
|
-
|
|
84
|
+
let context: WeaverContext;
|
|
85
|
+
try {
|
|
86
|
+
context = JSON.parse(ctx) as WeaverContext;
|
|
87
|
+
} catch (err) {
|
|
88
|
+
console.error(`[approval-gate] Failed to parse context: ${err instanceof Error ? err.message : err}`);
|
|
89
|
+
return { onSuccess: false, onFailure: true, ctx: JSON.stringify({ rejectionReason: 'Invalid context' }) };
|
|
90
|
+
}
|
|
85
91
|
|
|
86
92
|
if (!execute) {
|
|
87
93
|
context.rejectionReason = '';
|
|
88
94
|
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|
|
89
95
|
}
|
|
90
96
|
|
|
97
|
+
try {
|
|
91
98
|
// Check for autoApprove in task options
|
|
92
|
-
const task = JSON.parse(context.taskJson
|
|
99
|
+
const task = JSON.parse(context.taskJson ?? '{}') as { options?: { autoApprove?: boolean } };
|
|
93
100
|
const { env } = context;
|
|
94
101
|
const { config } = env;
|
|
95
102
|
const approvalMode = typeof config.approval === 'string'
|
|
@@ -104,16 +111,20 @@ export async function weaverApprovalGate(
|
|
|
104
111
|
}
|
|
105
112
|
|
|
106
113
|
// Parse and display the plan
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}
|
|
114
|
+
let plan: { steps?: Array<{ id?: string; operation?: string; description?: string }>; summary?: string };
|
|
115
|
+
try {
|
|
116
|
+
plan = JSON.parse(context.planJson!) as typeof plan;
|
|
117
|
+
} catch {
|
|
118
|
+
plan = { steps: [], summary: 'Plan could not be parsed' };
|
|
119
|
+
}
|
|
120
|
+
const steps = Array.isArray(plan.steps) ? plan.steps : [];
|
|
121
|
+
const summary = plan.summary ?? 'No summary';
|
|
111
122
|
|
|
112
123
|
console.log('\n\x1b[1m┌─ Bot Plan ─────────────────────────────┐\x1b[0m');
|
|
113
|
-
console.log(`\x1b[1m│\x1b[0m Summary: ${
|
|
114
|
-
console.log(`\x1b[1m│\x1b[0m Steps: ${
|
|
115
|
-
for (const step of
|
|
116
|
-
console.log(`\x1b[1m│\x1b[0m ${step.id}: [${step.operation}] ${step.description}`);
|
|
124
|
+
console.log(`\x1b[1m│\x1b[0m Summary: ${summary}`);
|
|
125
|
+
console.log(`\x1b[1m│\x1b[0m Steps: ${steps.length}`);
|
|
126
|
+
for (const step of steps) {
|
|
127
|
+
console.log(`\x1b[1m│\x1b[0m ${step.id ?? '?'}: [${step.operation ?? '?'}] ${step.description ?? ''}`);
|
|
117
128
|
}
|
|
118
129
|
console.log('\x1b[1m└────────────────────────────────────────┘\x1b[0m\n');
|
|
119
130
|
|
|
@@ -136,8 +147,8 @@ export async function weaverApprovalGate(
|
|
|
136
147
|
if (channel) {
|
|
137
148
|
channel.request({
|
|
138
149
|
agentId: 'weaver-approval',
|
|
139
|
-
context: { plan: { steps
|
|
140
|
-
prompt: `Review and approve/reject this plan with ${
|
|
150
|
+
context: { plan: { steps }, summary },
|
|
151
|
+
prompt: `Review and approve/reject this plan with ${steps.length} steps.`,
|
|
141
152
|
}).then((result: Record<string, unknown>) => {
|
|
142
153
|
const approved = result.approved !== false;
|
|
143
154
|
approvalRegistryLocal.resolve(approvalKey, {
|
|
@@ -207,4 +218,10 @@ export async function weaverApprovalGate(
|
|
|
207
218
|
context.rejectionReason = reason;
|
|
208
219
|
return { onSuccess: false, onFailure: true, ctx: JSON.stringify(context) };
|
|
209
220
|
}
|
|
221
|
+
} catch (err) {
|
|
222
|
+
const msg = err instanceof Error ? err.stack ?? err.message : String(err);
|
|
223
|
+
console.error(`[approval-gate] Unhandled error: ${msg}`);
|
|
224
|
+
context.rejectionReason = `Approval gate error: ${err instanceof Error ? err.message : String(err)}`;
|
|
225
|
+
return { onSuccess: false, onFailure: true, ctx: JSON.stringify(context) };
|
|
226
|
+
}
|
|
210
227
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WeaverContext } from '../bot/types.js';
|
|
2
|
-
import { callAI, parseJsonResponse } from '../bot/ai-client.js';
|
|
2
|
+
import { callAI, parseJsonResponse, normalizePlan } from '../bot/ai-client.js';
|
|
3
3
|
import { auditEmit } from '../bot/audit-logger.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -69,9 +69,10 @@ Plan this task. IMPORTANT rules:
|
|
|
69
69
|
try {
|
|
70
70
|
const text = await callAI(pInfo, systemPrompt, userPrompt, 8192);
|
|
71
71
|
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
const raw = parseJsonResponse(text);
|
|
73
|
+
const plan = normalizePlan(raw);
|
|
74
|
+
console.log(`\x1b[36m→ Plan: ${plan.summary ?? 'generated'}\x1b[0m`);
|
|
75
|
+
auditEmit('plan-created', { summary: plan.summary, stepCount: plan.steps?.length ?? 0 });
|
|
75
76
|
|
|
76
77
|
context.planJson = JSON.stringify(plan);
|
|
77
78
|
return { onSuccess: true, onFailure: false, ctx: JSON.stringify(context) };
|