@stilero/bankan 1.0.13 → 1.0.16
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/client/dist/index.html
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@600;700;800&display=swap" rel="stylesheet" />
|
|
10
|
-
<script type="module" crossorigin src="/assets/index-
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-CYt4B_1K.js"></script>
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/assets/index-BZkAflU1.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stilero/bankan",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Run AI coding agents like a Kanban board. Plan, implement, review and ship code using parallel AI agents across your local repositories.",
|
|
6
6
|
"license": "MIT",
|
package/server/src/agents.js
CHANGED
|
@@ -55,6 +55,7 @@ class Agent {
|
|
|
55
55
|
this.process = null;
|
|
56
56
|
this.terminalBuffer = [];
|
|
57
57
|
this.subscribers = new Set();
|
|
58
|
+
this.printMode = false;
|
|
58
59
|
this.lastOutputAt = null;
|
|
59
60
|
this.bridge = {
|
|
60
61
|
active: false,
|
|
@@ -65,7 +66,7 @@ class Agent {
|
|
|
65
66
|
};
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
spawn(cwd, command) {
|
|
69
|
+
spawn(cwd, command, options) {
|
|
69
70
|
if (this.process) this.kill();
|
|
70
71
|
|
|
71
72
|
// Validate cwd is an existing directory
|
|
@@ -85,6 +86,7 @@ class Agent {
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
this.status = 'active';
|
|
89
|
+
this.printMode = options?.printMode || false;
|
|
88
90
|
this.startedAt = Date.now();
|
|
89
91
|
this.terminalBuffer = [];
|
|
90
92
|
this.tokens = 0;
|
|
@@ -231,6 +233,7 @@ class Agent {
|
|
|
231
233
|
bridgeActive: this.bridge.active,
|
|
232
234
|
bridgeMode: this.bridge.mode,
|
|
233
235
|
bridgeOwner: this.bridge.owner,
|
|
236
|
+
printMode: this.printMode,
|
|
234
237
|
bridgeOpenedAt: this.bridge.openedAt,
|
|
235
238
|
aggregatedTokens: this.currentTask
|
|
236
239
|
? Math.max(store.getTask(this.currentTask)?.totalTokens || 0, this.taskTokenBase + this.tokens)
|
|
@@ -340,10 +340,8 @@ ${task.plan}
|
|
|
340
340
|
Instructions:
|
|
341
341
|
- You are already on branch ${task.branch} in ${repoDir}
|
|
342
342
|
${promptBody}
|
|
343
|
-
- When fully complete, output
|
|
344
|
-
|
|
345
|
-
- If you encounter a blocker you cannot resolve, output:
|
|
346
|
-
=== BLOCKED: {reason} ===
|
|
343
|
+
- When fully complete, output a completion marker on its own line using this exact format: === IMPLEMENTATION COMPLETE <id> === where <id> is replaced with your task ID (${task.id})
|
|
344
|
+
- If you encounter a blocker you cannot resolve, output a marker on its own line: === BLOCKED: <describe the issue> ===
|
|
347
345
|
|
|
348
346
|
Begin implementation now.`;
|
|
349
347
|
|
|
@@ -538,7 +536,7 @@ async function startPlanning(task) {
|
|
|
538
536
|
const prompt = buildPlannerPrompt({ ...task, workspacePath });
|
|
539
537
|
const cmd = buildAgentCommand(planner.cli, prompt, 'plan');
|
|
540
538
|
const plannerCwd = workspacePath;
|
|
541
|
-
const ok = planner.spawn(plannerCwd, cmd);
|
|
539
|
+
const ok = planner.spawn(plannerCwd, cmd, { printMode: true });
|
|
542
540
|
if (!ok) {
|
|
543
541
|
store.updateTask(task.id, {
|
|
544
542
|
status: 'blocked',
|
|
@@ -716,7 +714,7 @@ SUMMARY: Review skipped because reviewer max is set to 0.
|
|
|
716
714
|
|
|
717
715
|
const prompt = buildReviewerPrompt(task);
|
|
718
716
|
const cmd = buildAgentCommand(reviewer.cli, prompt, 'review');
|
|
719
|
-
const ok = reviewer.spawn(task.workspacePath, cmd);
|
|
717
|
+
const ok = reviewer.spawn(task.workspacePath, cmd, { printMode: true });
|
|
720
718
|
if (!ok) {
|
|
721
719
|
store.updateTask(task.id, {
|
|
722
720
|
status: 'blocked',
|