@synergenius/flow-weaver-pack-weaver 0.9.104 → 0.9.106

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bot/agent-loop.d.ts +20 -0
  2. package/dist/bot/agent-loop.d.ts.map +1 -0
  3. package/dist/bot/agent-loop.js +331 -0
  4. package/dist/bot/agent-loop.js.map +1 -0
  5. package/dist/bot/error-guide.d.ts +5 -0
  6. package/dist/bot/error-guide.d.ts.map +1 -0
  7. package/dist/bot/error-guide.js +5 -0
  8. package/dist/bot/error-guide.js.map +1 -0
  9. package/dist/bot/profile-store.d.ts.map +1 -1
  10. package/dist/bot/profile-store.js +59 -4
  11. package/dist/bot/profile-store.js.map +1 -1
  12. package/dist/bot/retry-utils.d.ts +5 -0
  13. package/dist/bot/retry-utils.d.ts.map +1 -0
  14. package/dist/bot/retry-utils.js +5 -0
  15. package/dist/bot/retry-utils.js.map +1 -0
  16. package/dist/bot/session-state.d.ts +25 -0
  17. package/dist/bot/session-state.d.ts.map +1 -0
  18. package/dist/bot/session-state.js +110 -0
  19. package/dist/bot/session-state.js.map +1 -0
  20. package/dist/bot/task-queue.d.ts +46 -0
  21. package/dist/bot/task-queue.d.ts.map +1 -0
  22. package/dist/bot/task-queue.js +237 -0
  23. package/dist/bot/task-queue.js.map +1 -0
  24. package/dist/cli.d.ts +3 -0
  25. package/dist/cli.d.ts.map +1 -0
  26. package/dist/cli.js +749 -0
  27. package/dist/cli.js.map +1 -0
  28. package/dist/docs/weaver-config.md +14 -28
  29. package/dist/templates/weaver-template.d.ts +11 -0
  30. package/dist/templates/weaver-template.d.ts.map +1 -0
  31. package/dist/templates/weaver-template.js +53 -0
  32. package/dist/templates/weaver-template.js.map +1 -0
  33. package/dist/ui/task-create-form.js +98 -0
  34. package/dist/workflows/weaver-bot-session.d.ts +65 -0
  35. package/dist/workflows/weaver-bot-session.d.ts.map +1 -0
  36. package/dist/workflows/weaver-bot-session.js +68 -0
  37. package/dist/workflows/weaver-bot-session.js.map +1 -0
  38. package/dist/workflows/weaver.d.ts +24 -0
  39. package/dist/workflows/weaver.d.ts.map +1 -0
  40. package/dist/workflows/weaver.js +28 -0
  41. package/dist/workflows/weaver.js.map +1 -0
  42. package/flowweaver.manifest.json +1 -1
  43. package/package.json +1 -1
  44. package/src/bot/profile-store.ts +59 -4
  45. package/dist/docs/weaver-bot-usage.md +0 -51
  46. package/dist/docs/weaver-genesis.md +0 -32
  47. package/dist/docs/weaver-task-queue.md +0 -46
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Tool-use agent loop — Claude drives the entire task via tool calls.
3
+ *
4
+ * Instead of plan → execute → retry, the AI calls tools directly:
5
+ * validate → sees errors → read_file → sees code → patch_file → validate → done
6
+ *
7
+ * Supports two providers:
8
+ * - Anthropic API: direct streaming with tool_use blocks
9
+ * - Claude CLI: fallback via callCliAsync (no tool loop, uses --json-schema)
10
+ */
11
+ import type { ProviderInfo, StepLogEntry } from './types.js';
12
+ export interface AgentLoopResult {
13
+ success: boolean;
14
+ summary: string;
15
+ filesModified: string[];
16
+ stepLog: StepLogEntry[];
17
+ toolCallCount: number;
18
+ }
19
+ export declare function runAgentLoop(pInfo: Pick<ProviderInfo, 'type' | 'apiKey' | 'model' | 'maxTokens'>, systemPrompt: string, taskPrompt: string, projectDir: string, maxIterations?: number): Promise<AgentLoopResult>;
20
+ //# sourceMappingURL=agent-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../src/bot/agent-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqH7D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AAaD,wBAAsB,YAAY,CAChC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC,EACpE,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,SAAK,GACjB,OAAO,CAAC,eAAe,CAAC,CA8E1B"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Tool-use agent loop — Claude drives the entire task via tool calls.
3
+ *
4
+ * Instead of plan → execute → retry, the AI calls tools directly:
5
+ * validate → sees errors → read_file → sees code → patch_file → validate → done
6
+ *
7
+ * Supports two providers:
8
+ * - Anthropic API: direct streaming with tool_use blocks
9
+ * - Claude CLI: fallback via callCliAsync (no tool loop, uses --json-schema)
10
+ */
11
+ import { executeStep } from './step-executor.js';
12
+ // ---------------------------------------------------------------------------
13
+ // Tool definitions
14
+ // ---------------------------------------------------------------------------
15
+ const TOOLS = [
16
+ {
17
+ name: 'validate',
18
+ description: 'Run flow-weaver validate on a workflow file. Returns JSON with errors and warnings. Use this FIRST to discover issues, and AFTER patching to confirm fixes.',
19
+ input_schema: { type: 'object', properties: { file: { type: 'string', description: 'Path to the workflow file to validate' } }, required: ['file'] },
20
+ },
21
+ {
22
+ name: 'read_file',
23
+ description: 'Read a file and return its full contents. Use this to understand file structure before patching.',
24
+ input_schema: { type: 'object', properties: { file: { type: 'string', description: 'Path to the file to read' } }, required: ['file'] },
25
+ },
26
+ {
27
+ name: 'patch_file',
28
+ description: 'Apply surgical find-and-replace patches to a file. Each patch must have exact "find" and "replace" strings. Preferred over write_file for modifications.',
29
+ input_schema: {
30
+ type: 'object',
31
+ properties: {
32
+ file: { type: 'string', description: 'Path to the file to patch' },
33
+ patches: {
34
+ type: 'array',
35
+ items: {
36
+ type: 'object',
37
+ properties: {
38
+ find: { type: 'string', description: 'Exact string to find' },
39
+ replace: { type: 'string', description: 'String to replace with' },
40
+ },
41
+ required: ['find', 'replace'],
42
+ },
43
+ description: 'Array of find/replace patches',
44
+ },
45
+ },
46
+ required: ['file', 'patches'],
47
+ },
48
+ },
49
+ {
50
+ name: 'run_shell',
51
+ description: 'Execute a shell command and return output. Use for: npx flow-weaver validate, git status, etc. Blocked: rm -rf, git push, sudo.',
52
+ input_schema: { type: 'object', properties: { command: { type: 'string', description: 'Shell command to execute' } }, required: ['command'] },
53
+ },
54
+ {
55
+ name: 'list_files',
56
+ description: 'List files in a directory, optionally filtered by regex pattern.',
57
+ input_schema: {
58
+ type: 'object',
59
+ properties: {
60
+ directory: { type: 'string', description: 'Directory to list' },
61
+ pattern: { type: 'string', description: 'Optional regex filter pattern' },
62
+ },
63
+ required: ['directory'],
64
+ },
65
+ },
66
+ {
67
+ name: 'write_file',
68
+ description: 'Write content to a file (creates or overwrites). Use patch_file instead for modifications to existing files.',
69
+ input_schema: {
70
+ type: 'object',
71
+ properties: {
72
+ file: { type: 'string', description: 'Path to the file to write' },
73
+ content: { type: 'string', description: 'Complete file content' },
74
+ },
75
+ required: ['file', 'content'],
76
+ },
77
+ },
78
+ ];
79
+ // ---------------------------------------------------------------------------
80
+ // Tool execution — delegates to step-executor with all safety guards
81
+ // ---------------------------------------------------------------------------
82
+ async function executeTool(name, args, projectDir) {
83
+ // Map tool names to step-executor operations
84
+ const operationMap = {
85
+ validate: 'run-shell',
86
+ read_file: 'read-file',
87
+ patch_file: 'patch-file',
88
+ run_shell: 'run-shell',
89
+ list_files: 'list-files',
90
+ write_file: 'write-file',
91
+ };
92
+ const operation = operationMap[name];
93
+ if (!operation) {
94
+ return { result: `Unknown tool: ${name}`, isError: true };
95
+ }
96
+ // Transform validate tool to run-shell with flow-weaver validate command
97
+ let stepArgs = { ...args };
98
+ if (name === 'validate') {
99
+ stepArgs = { command: `npx flow-weaver validate ${args.file} --json` };
100
+ }
101
+ try {
102
+ const result = await executeStep({ operation, args: stepArgs }, projectDir);
103
+ if (result.blocked) {
104
+ return { result: result.blockReason ?? 'Blocked by safety guard', isError: true };
105
+ }
106
+ return { result: result.output ?? 'Done', isError: false };
107
+ }
108
+ catch (err) {
109
+ const msg = err instanceof Error ? err.message : String(err);
110
+ return { result: msg, isError: true };
111
+ }
112
+ }
113
+ export async function runAgentLoop(pInfo, systemPrompt, taskPrompt, projectDir, maxIterations = 15) {
114
+ if (pInfo.type !== 'anthropic' || !pInfo.apiKey) {
115
+ throw new Error('Agent loop requires Anthropic API provider with API key');
116
+ }
117
+ const messages = [{ role: 'user', content: taskPrompt }];
118
+ const filesModified = [];
119
+ const stepLog = [];
120
+ let toolCallCount = 0;
121
+ for (let iteration = 0; iteration < maxIterations; iteration++) {
122
+ // Call Anthropic API with streaming
123
+ const { text, toolCalls, finishReason } = await streamAnthropicWithTools(pInfo.apiKey, pInfo.model ?? 'claude-sonnet-4-20250514', systemPrompt, messages, pInfo.maxTokens ?? 8192);
124
+ // Add assistant response to history
125
+ if (toolCalls.length > 0) {
126
+ messages.push({ role: 'assistant', content: text || '', toolCalls });
127
+ }
128
+ else if (text) {
129
+ messages.push({ role: 'assistant', content: text });
130
+ }
131
+ // If no tool calls, we're done
132
+ if (finishReason !== 'tool_calls' || toolCalls.length === 0) {
133
+ return {
134
+ success: true,
135
+ summary: text || 'Task completed',
136
+ filesModified: [...new Set(filesModified)],
137
+ stepLog,
138
+ toolCallCount,
139
+ };
140
+ }
141
+ // Execute tool calls and add results to history
142
+ for (const tc of toolCalls) {
143
+ toolCallCount++;
144
+ process.stderr.write(`\x1b[33m ⚡ ${tc.name}(${formatToolArgs(tc.arguments)})\x1b[0m\n`);
145
+ const { result, isError } = await executeTool(tc.name, tc.arguments, projectDir);
146
+ // Track files modified by patch_file and write_file
147
+ if ((tc.name === 'patch_file' || tc.name === 'write_file') && !isError && tc.arguments.file) {
148
+ filesModified.push(tc.arguments.file);
149
+ }
150
+ // Log step
151
+ stepLog.push({
152
+ step: `${tc.name}`,
153
+ status: isError ? 'error' : 'ok',
154
+ detail: isError ? result.slice(0, 200) : `${tc.name}(${formatToolArgs(tc.arguments)})`,
155
+ });
156
+ // Print result preview
157
+ const preview = result.slice(0, 150).replace(/\n/g, ' ');
158
+ const icon = isError ? '\x1b[31m ✗' : '\x1b[32m →';
159
+ process.stderr.write(`${icon} ${preview}\x1b[0m\n`);
160
+ // Add tool result to conversation
161
+ messages.push({
162
+ role: 'tool',
163
+ content: result.slice(0, 10000), // Cap tool result to prevent context overflow
164
+ toolCallId: tc.id,
165
+ });
166
+ }
167
+ }
168
+ return {
169
+ success: false,
170
+ summary: `Reached max iterations (${maxIterations})`,
171
+ filesModified: [...new Set(filesModified)],
172
+ stepLog,
173
+ toolCallCount,
174
+ };
175
+ }
176
+ function formatToolArgs(args) {
177
+ if (args.file)
178
+ return String(args.file).split('/').pop() ?? '';
179
+ if (args.command)
180
+ return String(args.command).slice(0, 60);
181
+ if (args.directory)
182
+ return String(args.directory);
183
+ return '';
184
+ }
185
+ // ---------------------------------------------------------------------------
186
+ // Anthropic streaming with tool support
187
+ // ---------------------------------------------------------------------------
188
+ async function streamAnthropicWithTools(apiKey, model, systemPrompt, messages, maxTokens) {
189
+ // Build Anthropic API request body
190
+ const apiMessages = messages.map((m) => {
191
+ if (m.role === 'tool') {
192
+ return {
193
+ role: 'user',
194
+ content: [{ type: 'tool_result', tool_use_id: m.toolCallId, content: m.content }],
195
+ };
196
+ }
197
+ if (m.role === 'assistant' && m.toolCalls?.length) {
198
+ const blocks = [];
199
+ if (m.content)
200
+ blocks.push({ type: 'text', text: m.content });
201
+ for (const tc of m.toolCalls) {
202
+ blocks.push({ type: 'tool_use', id: tc.id, name: tc.name, input: tc.arguments });
203
+ }
204
+ return { role: 'assistant', content: blocks };
205
+ }
206
+ return { role: m.role, content: m.content };
207
+ });
208
+ const body = JSON.stringify({
209
+ model,
210
+ max_tokens: maxTokens,
211
+ system: systemPrompt,
212
+ stream: true,
213
+ messages: apiMessages,
214
+ tools: TOOLS,
215
+ });
216
+ const response = await fetch('https://api.anthropic.com/v1/messages', {
217
+ method: 'POST',
218
+ headers: {
219
+ 'x-api-key': apiKey,
220
+ 'anthropic-version': '2025-04-15',
221
+ 'content-type': 'application/json',
222
+ },
223
+ body,
224
+ signal: AbortSignal.timeout(300_000),
225
+ });
226
+ if (!response.ok) {
227
+ const err = await response.text();
228
+ throw new Error(`Anthropic API error ${response.status}: ${err.slice(0, 200)}`);
229
+ }
230
+ if (!response.body)
231
+ throw new Error('No response body');
232
+ // Parse SSE stream
233
+ const reader = response.body.getReader();
234
+ const decoder = new TextDecoder();
235
+ let buffer = '';
236
+ let textContent = '';
237
+ let finishReason = 'stop';
238
+ const toolCalls = [];
239
+ const activeToolUses = new Map();
240
+ let inThinking = false;
241
+ try {
242
+ while (true) {
243
+ const { done, value } = await reader.read();
244
+ if (done)
245
+ break;
246
+ buffer += decoder.decode(value, { stream: true });
247
+ const lines = buffer.split('\n');
248
+ buffer = lines.pop() || '';
249
+ for (const line of lines) {
250
+ if (!line.startsWith('data: '))
251
+ continue;
252
+ const jsonStr = line.slice(6).trim();
253
+ if (jsonStr === '[DONE]')
254
+ continue;
255
+ let event;
256
+ try {
257
+ event = JSON.parse(jsonStr);
258
+ }
259
+ catch {
260
+ continue;
261
+ }
262
+ const eventType = event.type;
263
+ if (eventType === 'content_block_start') {
264
+ const block = event.content_block;
265
+ const index = event.index;
266
+ if (block.type === 'tool_use' && block.id && block.name) {
267
+ activeToolUses.set(index, { id: block.id, name: block.name, jsonChunks: [] });
268
+ }
269
+ if (block.type === 'thinking') {
270
+ inThinking = true;
271
+ process.stderr.write('\x1b[90m thinking...');
272
+ }
273
+ }
274
+ if (eventType === 'content_block_delta') {
275
+ const delta = event.delta;
276
+ const index = event.index;
277
+ if (delta.type === 'text_delta' && delta.text) {
278
+ textContent += delta.text;
279
+ process.stderr.write(`\x1b[36m${delta.text}\x1b[0m`);
280
+ }
281
+ if (delta.type === 'thinking_delta' && delta.thinking) {
282
+ // Thinking — just show indicator, don't spam
283
+ }
284
+ if (delta.type === 'input_json_delta' && delta.partial_json !== undefined) {
285
+ const active = activeToolUses.get(index);
286
+ if (active)
287
+ active.jsonChunks.push(delta.partial_json);
288
+ }
289
+ }
290
+ if (eventType === 'content_block_stop') {
291
+ const index = event.index;
292
+ if (inThinking) {
293
+ process.stderr.write('\x1b[0m\n');
294
+ inThinking = false;
295
+ }
296
+ const active = activeToolUses.get(index);
297
+ if (active) {
298
+ activeToolUses.delete(index);
299
+ let args = {};
300
+ try {
301
+ args = JSON.parse(active.jsonChunks.join(''));
302
+ }
303
+ catch { /* malformed */ }
304
+ toolCalls.push({ id: active.id, name: active.name, arguments: args });
305
+ }
306
+ }
307
+ if (eventType === 'message_delta') {
308
+ const delta = event.delta;
309
+ if (delta.stop_reason === 'tool_use')
310
+ finishReason = 'tool_calls';
311
+ else if (delta.stop_reason === 'end_turn')
312
+ finishReason = 'stop';
313
+ else if (delta.stop_reason)
314
+ finishReason = delta.stop_reason;
315
+ }
316
+ if (eventType === 'error') {
317
+ const errObj = event.error;
318
+ throw new Error(`Anthropic stream error: ${errObj?.message ?? 'unknown'}`);
319
+ }
320
+ }
321
+ }
322
+ }
323
+ finally {
324
+ reader.releaseLock();
325
+ }
326
+ // Newline after streamed text
327
+ if (textContent)
328
+ process.stderr.write('\n');
329
+ return { text: textContent, toolCalls, finishReason };
330
+ }
331
+ //# sourceMappingURL=agent-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/bot/agent-loop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @deprecated Use error-classifier.ts instead. This file re-exports for backward compatibility.
3
+ */
4
+ export { getErrorGuidance } from './error-classifier.js';
5
+ //# sourceMappingURL=error-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-guide.d.ts","sourceRoot":"","sources":["../../src/bot/error-guide.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @deprecated Use error-classifier.ts instead. This file re-exports for backward compatibility.
3
+ */
4
+ export { getErrorGuidance } from './error-classifier.js';
5
+ //# sourceMappingURL=error-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-guide.js","sourceRoot":"","sources":["../../src/bot/error-guide.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"profile-store.d.ts","sourceRoot":"","sources":["../../src/bot/profile-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAc,MAAM,oBAAoB,CAAC;AAoNrF,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,UAAU;IAHvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAe;gBAEF,UAAU,EAAE,MAAM;IAW/C;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,UAAU;IAqC7C,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAIlC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU;IAcpF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAY3B,QAAQ,IAAI,MAAM;IAWlB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;IAUpD;;;;;;;OAOG;IACH,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IA0BrG,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,QAAQ;CAMjB"}
1
+ {"version":3,"file":"profile-store.d.ts","sourceRoot":"","sources":["../../src/bot/profile-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAc,MAAM,oBAAoB,CAAC;AA2QrF,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,UAAU;IAHvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAe;gBAEF,UAAU,EAAE,MAAM;IAW/C;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,UAAU;IAqC7C,IAAI,IAAI,UAAU,EAAE;IAIpB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAIlC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,UAAU;IAcpF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAY3B,QAAQ,IAAI,MAAM;IAWlB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;IAUpD;;;;;;;OAOG;IACH,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI;IA0BrG,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,QAAQ;CAMjB"}
@@ -140,7 +140,20 @@ const DEFAULT_PROFILES = {
140
140
  costStrategy: 'balanced',
141
141
  requireApproval: false,
142
142
  instructions: DEVELOPER_INSTRUCTIONS,
143
- behavior: buildDefaultBehavior('balanced'),
143
+ // GStack: Developer ships code fast. Skip review (self-reviews via tests).
144
+ // Standard tier for plan+execute. 3 retries then block.
145
+ // Iron Law: investigate before fixing → reportConcerns on.
146
+ behavior: {
147
+ phases: {
148
+ plan: { enabled: true, tier: 'standard' },
149
+ execute: { enabled: true, tier: 'standard' },
150
+ review: { enabled: false, tier: 'standard' },
151
+ validate: { enabled: true },
152
+ gitOps: { enabled: true },
153
+ },
154
+ escalation: { maxAttempts: 3, onExhausted: 'block' },
155
+ exitProtocol: { reportConcerns: true, requireEvidence: false },
156
+ },
144
157
  },
145
158
  },
146
159
  {
@@ -152,12 +165,28 @@ const DEFAULT_PROFILES = {
152
165
  { name: 'code-review', description: 'Review code for correctness, security, and maintainability' },
153
166
  { name: 'architecture-review', description: 'Validate system design and architectural decisions' },
154
167
  { name: 'documentation', description: 'Write technical docs, ADRs, and changelogs' },
168
+ { name: 'security-audit', description: 'OWASP Top 10 and STRIDE threat modeling' },
155
169
  ],
156
170
  preferences: {
157
171
  costStrategy: 'performance',
158
172
  requireApproval: true,
159
173
  instructions: REVIEWER_INSTRUCTIONS,
160
- behavior: buildDefaultBehavior('performance'),
174
+ // GStack Staff Engineer: paranoid structural audit. Review is the main phase
175
+ // and gets powerful tier. Plan is fast (just reads the task). Execute disabled
176
+ // (reviewer doesn't write code). No gitOps (nothing to commit).
177
+ // Finding classification: AUTO-FIX / ASK / INFORM → requireEvidence.
178
+ // Low retries — if review fails twice, escalate to human.
179
+ behavior: {
180
+ phases: {
181
+ plan: { enabled: true, tier: 'fast' },
182
+ execute: { enabled: false, tier: 'standard' },
183
+ review: { enabled: true, tier: 'powerful' },
184
+ validate: { enabled: true },
185
+ gitOps: { enabled: false },
186
+ },
187
+ escalation: { maxAttempts: 2, onExhausted: 'reassign' },
188
+ exitProtocol: { reportConcerns: true, requireEvidence: true },
189
+ },
161
190
  },
162
191
  },
163
192
  {
@@ -174,9 +203,22 @@ const DEFAULT_PROFILES = {
174
203
  costStrategy: 'balanced',
175
204
  requireApproval: true,
176
205
  instructions: OPS_INSTRUCTIONS,
206
+ // GStack Release Engineer + freeze/guard: scope-restricted, careful execution.
207
+ // Standard tier for plan+execute (no need for powerful on infra tasks).
208
+ // Review enabled with standard tier (double-check before deploy).
209
+ // Blocked from src/ and lib/ — ops touches config, scripts, CI only.
210
+ // Reassign on exhaustion — don't block, escalate to human.
177
211
  behavior: {
178
- ...buildDefaultBehavior('balanced'),
212
+ phases: {
213
+ plan: { enabled: true, tier: 'standard' },
214
+ execute: { enabled: true, tier: 'standard' },
215
+ review: { enabled: true, tier: 'standard' },
216
+ validate: { enabled: true },
217
+ gitOps: { enabled: true },
218
+ },
219
+ escalation: { maxAttempts: 3, onExhausted: 'reassign' },
179
220
  scope: { blockedPaths: ['src/', 'lib/'] },
221
+ exitProtocol: { reportConcerns: true, requireEvidence: true },
180
222
  },
181
223
  },
182
224
  },
@@ -195,7 +237,20 @@ const DEFAULT_PROFILES = {
195
237
  costStrategy: 'performance',
196
238
  requireApproval: true,
197
239
  instructions: EVOLUTION_INSTRUCTIONS,
198
- behavior: buildDefaultBehavior('performance'),
240
+ // GStack self-improvement: all phases powerful because evolution changes
241
+ // affect the system itself. Strict evidence required. Reassign on failure
242
+ // because evolution should never silently fail.
243
+ behavior: {
244
+ phases: {
245
+ plan: { enabled: true, tier: 'powerful' },
246
+ execute: { enabled: true, tier: 'powerful' },
247
+ review: { enabled: true, tier: 'powerful' },
248
+ validate: { enabled: true },
249
+ gitOps: { enabled: true },
250
+ },
251
+ escalation: { maxAttempts: 2, onExhausted: 'reassign' },
252
+ exitProtocol: { reportConcerns: true, requireEvidence: true },
253
+ },
199
254
  },
200
255
  },
201
256
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"profile-store.js","sourceRoot":"","sources":["../../src/bot/profile-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile-store.js","sourceRoot":"","sources":["../../src/bot/profile-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @deprecated Use error-classifier.ts instead. This file re-exports for backward compatibility.
3
+ */
4
+ export { isTransientError, withRetry } from './error-classifier.js';
5
+ //# sourceMappingURL=retry-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-utils.d.ts","sourceRoot":"","sources":["../../src/bot/retry-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @deprecated Use error-classifier.ts instead. This file re-exports for backward compatibility.
3
+ */
4
+ export { isTransientError, withRetry } from './error-classifier.js';
5
+ //# sourceMappingURL=retry-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-utils.js","sourceRoot":"","sources":["../../src/bot/retry-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,25 @@
1
+ export interface SessionState {
2
+ sessionId: string;
3
+ status: 'idle' | 'planning' | 'executing' | 'validating' | 'waiting-approval' | 'paused' | 'fixing';
4
+ currentTask: string | null;
5
+ /** The runId of the currently executing task (for SSE streaming). */
6
+ currentRunId?: string | null;
7
+ completedTasks: number;
8
+ totalCost: number;
9
+ startedAt: number;
10
+ lastActivity: number;
11
+ }
12
+ export declare class SessionStore {
13
+ private filePath;
14
+ constructor(dir?: string);
15
+ create(): Promise<SessionState>;
16
+ load(): SessionState | null;
17
+ /** Recover session from backup file when primary is corrupt. */
18
+ private loadBackup;
19
+ save(state: SessionState): Promise<void>;
20
+ update(patch: Partial<SessionState>): Promise<SessionState | null>;
21
+ clear(): void;
22
+ /** Atomic write: write to temp file, backup existing, rename into place. */
23
+ private writeAtomic;
24
+ }
25
+ //# sourceMappingURL=session-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-state.d.ts","sourceRoot":"","sources":["../../src/bot/session-state.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;gBAEb,GAAG,CAAC,EAAE,MAAM;IAKlB,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAcrC,IAAI,IAAI,YAAY,GAAG,IAAI;IAW3B,gEAAgE;IAChE,OAAO,CAAC,UAAU;IAcZ,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAWxE,KAAK,IAAI,IAAI;IAQb,4EAA4E;IAC5E,OAAO,CAAC,WAAW;CAsBpB"}