@volter/supercode-orchestrator 0.5.83 → 0.5.84
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/board/client.mjs +3 -1
- package/kanban-worker.mjs +2 -1
- package/mcp/server.mjs +2 -1
- package/package.json +2 -2
package/board/client.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// written here; only a run-on-the-machine verb (and help) loads the board, to run as its own act.
|
|
3
3
|
import { WorkspaceContexts } from '@volter/teams/context';
|
|
4
4
|
import { supercodeHome } from '@volter/teams/home';
|
|
5
|
-
import { askBoardOwner, BOARD_OPERATION_VERBS, boardHome, callerFacts } from '@volter/teams/board-owner';
|
|
5
|
+
import { askBoardOwner, BOARD_OPERATION_VERBS, boardHome, callerFacts, unansweredText } from '@volter/teams/board-owner';
|
|
6
6
|
import { mkdirSync, readFileSync } from 'node:fs';
|
|
7
7
|
import { join } from 'node:path';
|
|
8
8
|
import { homeOf, parse } from './args.mjs';
|
|
@@ -67,6 +67,8 @@ async function sendToOwner(root, argv, args) {
|
|
|
67
67
|
const board = args.board ?? process.env.HERMES_KANBAN_BOARD ?? null;
|
|
68
68
|
const facts = { ...callerFacts(), SUPERCODE_CONTEXT: process.env.SUPERCODE_CONTEXT || new WorkspaceContexts(supercodeHome()).read().current || 'local' };
|
|
69
69
|
const answer = await askBoardOwner(root, { argv: withoutHome(argv), board, caller: null, session: sid ? { id: sid, harness } : null, facts, cwd: process.cwd(), stdin });
|
|
70
|
+
// the owner took the verb and the call ended with no answer: its outcome is unknown, never a plain failure
|
|
71
|
+
if (answer.unanswered === true) { process.stderr.write(`supercode workflow: ${unansweredText(answer, `\`${withoutHome(argv).join(' ')}\``)}`); return 1; }
|
|
70
72
|
if (answer.stdout) process.stdout.write(answer.stdout);
|
|
71
73
|
if (answer.stderr) process.stderr.write(answer.stderr);
|
|
72
74
|
return answer.code ?? 1;
|
package/kanban-worker.mjs
CHANGED
|
@@ -18,7 +18,7 @@ import { KANBAN_ENV, untrustedServerVerdict, hermesApproval, hermesInstall, memo
|
|
|
18
18
|
import { pinnedSkills, taskProtocol } from './board/worker-prompt.mjs';
|
|
19
19
|
import { mountOrchestratorMcp } from './mcp/mount.mjs';
|
|
20
20
|
import { normalizeWorkerEvent, widensSandbox } from './loop.mjs';
|
|
21
|
-
import { askBoardOwner, callerFacts } from '@volter/teams/board-owner';
|
|
21
|
+
import { askBoardOwner, callerFacts, unansweredText } from '@volter/teams/board-owner';
|
|
22
22
|
import { permissionResponse } from './reducer.mjs';
|
|
23
23
|
import { boardGuardArguments } from '@volter/teams/board-process-guard';
|
|
24
24
|
|
|
@@ -156,6 +156,7 @@ async function recordSession(root, task, harness, sessionId) {
|
|
|
156
156
|
board: task.HERMES_KANBAN_BOARD || null, caller: null, session: null, cwd: process.cwd(), stdin: null,
|
|
157
157
|
facts: { ...callerFacts(), SUPERCODE_CONTEXT: process.env.SUPERCODE_CONTEXT || 'local' },
|
|
158
158
|
});
|
|
159
|
+
if (answer.unanswered === true) throw new Error(unansweredText(answer, `the run's session record (run-session ${task.HERMES_KANBAN_RUN_ID})`).trim());
|
|
159
160
|
if (answer.code) throw new Error((answer.stderr || 'the board owner did not record it').trim());
|
|
160
161
|
}
|
|
161
162
|
|
package/mcp/server.mjs
CHANGED
|
@@ -22,7 +22,7 @@ import { connect } from 'node:net';
|
|
|
22
22
|
import { join } from 'node:path';
|
|
23
23
|
import { KANBAN_TOOLS, PROTOCOL_VERSION, SERVER_NAME, TOOLS } from './tools.mjs';
|
|
24
24
|
import { KANBAN_ENV } from '../hermes-cli.mjs';
|
|
25
|
-
import { askBoardOwner, callerFacts } from '@volter/teams/board-owner';
|
|
25
|
+
import { askBoardOwner, callerFacts, unansweredText } from '@volter/teams/board-owner';
|
|
26
26
|
|
|
27
27
|
/** Env var naming the socket, when the loop wants one off the root's default. */
|
|
28
28
|
export const SOCKET_ENV = 'SUPERCODE_ORCHESTRATOR_SOCK';
|
|
@@ -66,6 +66,7 @@ async function kanbanCall(binding, name, args) {
|
|
|
66
66
|
board: binding.kanban?.HERMES_KANBAN_BOARD ?? null, caller: null, session: null, cwd: binding.root, stdin: null,
|
|
67
67
|
facts: { ...callerFacts(), SUPERCODE_CONTEXT: process.env.SUPERCODE_CONTEXT || 'local' },
|
|
68
68
|
});
|
|
69
|
+
if (answer.unanswered === true) return { ok: false, error: unansweredText(answer, `the board tool ${name}`).trim() };
|
|
69
70
|
if (answer.code) return { ok: false, error: (answer.stderr || 'the board owner did not answer').trim() };
|
|
70
71
|
return { ok: true, result: { ran: name, verbatim: answer.stdout } };
|
|
71
72
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volter/supercode-orchestrator",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.84",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The orchestrator runtime over the Volter Harness ontology: one typed operational model whose folder is its serialization, read and written through the harness orchestration doors (docs/ORCHESTRATOR-IR.md)",
|
|
6
6
|
"exports": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@volter/supercode-harness-sdk": "^0.3.60",
|
|
28
|
-
"@volter/teams": "0.2.
|
|
28
|
+
"@volter/teams": "0.2.31",
|
|
29
29
|
"@volter/ztrack": "^2.4.23",
|
|
30
30
|
"yaml": "^2.9.0"
|
|
31
31
|
},
|