@monoes/monomindcli 2.11.9 → 2.11.11
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/.claude/skills/mastermind/SKILL.md +13 -0
- package/README.md +1 -1
- package/bin/cli.js +17 -8
- package/dist/src/commands/crash-reporting.d.ts +3 -1
- package/dist/src/commands/crash-reporting.d.ts.map +1 -1
- package/dist/src/commands/crash-reporting.js +26 -10
- package/dist/src/commands/crash-reporting.js.map +1 -1
- package/dist/src/commands/doctor-env-checks.d.ts +9 -0
- package/dist/src/commands/doctor-env-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-env-checks.js +31 -0
- package/dist/src/commands/doctor-env-checks.js.map +1 -1
- package/dist/src/commands/doctor-monoes-checks.d.ts +12 -0
- package/dist/src/commands/doctor-monoes-checks.d.ts.map +1 -1
- package/dist/src/commands/doctor-monoes-checks.js +142 -1
- package/dist/src/commands/doctor-monoes-checks.js.map +1 -1
- package/dist/src/commands/doctor.d.ts.map +1 -1
- package/dist/src/commands/doctor.js +11 -3
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/mcp.d.ts.map +1 -1
- package/dist/src/commands/mcp.js +16 -0
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +29 -4
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +12 -3
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/init/executor.d.ts.map +1 -1
- package/dist/src/init/executor.js +17 -0
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/mcp-generator.d.ts +2 -7
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +15 -17
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/write-claude.d.ts.map +1 -1
- package/dist/src/init/write-claude.js +9 -0
- package/dist/src/init/write-claude.js.map +1 -1
- package/dist/src/init/write-runtime-config.d.ts +8 -0
- package/dist/src/init/write-runtime-config.d.ts.map +1 -1
- package/dist/src/init/write-runtime-config.js +69 -14
- package/dist/src/init/write-runtime-config.js.map +1 -1
- package/dist/src/mcp/monoes-mcp-entry.mjs +152 -0
- package/dist/src/mcp/monoes-proxy.d.ts +48 -0
- package/dist/src/mcp/monoes-proxy.d.ts.map +1 -0
- package/dist/src/mcp/monoes-proxy.js +240 -0
- package/dist/src/mcp/monoes-proxy.js.map +1 -0
- package/dist/src/orgrt/completion-gate.d.ts +58 -0
- package/dist/src/orgrt/completion-gate.d.ts.map +1 -0
- package/dist/src/orgrt/completion-gate.js +86 -0
- package/dist/src/orgrt/completion-gate.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +15 -0
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +194 -12
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/file-roots.d.ts +57 -0
- package/dist/src/orgrt/file-roots.d.ts.map +1 -0
- package/dist/src/orgrt/file-roots.js +100 -0
- package/dist/src/orgrt/file-roots.js.map +1 -0
- package/dist/src/orgrt/policy-git.d.ts.map +1 -1
- package/dist/src/orgrt/policy-git.js +122 -4
- package/dist/src/orgrt/policy-git.js.map +1 -1
- package/dist/src/orgrt/policy.d.ts +13 -1
- package/dist/src/orgrt/policy.d.ts.map +1 -1
- package/dist/src/orgrt/policy.js +60 -11
- package/dist/src/orgrt/policy.js.map +1 -1
- package/dist/src/orgrt/reporting.d.ts +56 -0
- package/dist/src/orgrt/reporting.d.ts.map +1 -1
- package/dist/src/orgrt/reporting.js +42 -3
- package/dist/src/orgrt/reporting.js.map +1 -1
- package/dist/src/orgrt/role-sandbox.d.ts.map +1 -1
- package/dist/src/orgrt/role-sandbox.js +19 -49
- package/dist/src/orgrt/role-sandbox.js.map +1 -1
- package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
- package/dist/src/orgrt/scheduler-integration.js +4 -2
- package/dist/src/orgrt/scheduler-integration.js.map +1 -1
- package/dist/src/orgrt/session.d.ts +5 -2
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +51 -7
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/src/orgrt/task-dag.d.ts +11 -0
- package/dist/src/orgrt/task-dag.d.ts.map +1 -1
- package/dist/src/orgrt/task-dag.js +19 -0
- package/dist/src/orgrt/task-dag.js.map +1 -1
- package/dist/src/orgrt/types.d.ts +6 -0
- package/dist/src/orgrt/types.d.ts.map +1 -1
- package/dist/src/orgrt/types.js +10 -0
- package/dist/src/orgrt/types.js.map +1 -1
- package/dist/src/prompt.d.ts.map +1 -1
- package/dist/src/prompt.js +14 -0
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/services/crash-consent.d.ts +35 -0
- package/dist/src/services/crash-consent.d.ts.map +1 -0
- package/dist/src/services/crash-consent.js +100 -0
- package/dist/src/services/crash-consent.js.map +1 -0
- package/dist/src/services/crash-lock.d.ts +22 -0
- package/dist/src/services/crash-lock.d.ts.map +1 -0
- package/dist/src/services/crash-lock.js +86 -0
- package/dist/src/services/crash-lock.js.map +1 -0
- package/dist/src/services/crash-race-timeout.d.ts +13 -0
- package/dist/src/services/crash-race-timeout.d.ts.map +1 -0
- package/dist/src/services/crash-race-timeout.js +15 -0
- package/dist/src/services/crash-race-timeout.js.map +1 -0
- package/dist/src/services/crash-reporter.d.ts +12 -4
- package/dist/src/services/crash-reporter.d.ts.map +1 -1
- package/dist/src/services/crash-reporter.js +105 -129
- package/dist/src/services/crash-reporter.js.map +1 -1
- package/dist/src/ui/dashboard.html +122 -0
- package/dist/src/ui/mastermind-diagram-fallback.html +14 -0
- package/dist/src/ui/orgs.html +12 -0
- package/dist/src/ui/routes-monoes.mjs +105 -21
- package/dist/src/utils/redaction.d.ts +17 -0
- package/dist/src/utils/redaction.d.ts.map +1 -1
- package/dist/src/utils/redaction.js +52 -7
- package/dist/src/utils/redaction.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* monoes.me MCP stdio<->HTTP proxy.
|
|
3
|
+
*
|
|
4
|
+
* i-066: the `monoes` entry in `.mcp.json` runs this as a stdio command
|
|
5
|
+
* instead of embedding a bearer token. The Authorization header is resolved
|
|
6
|
+
* per request from the existing refresh-aware `getValidMonoesToken()` — the
|
|
7
|
+
* token never touches disk as part of this proxy, and refresh keeps
|
|
8
|
+
* working with zero user action (an exported env var would go stale at the
|
|
9
|
+
* next silent refresh and then 401 — see the plan's ADR for why that was
|
|
10
|
+
* rejected).
|
|
11
|
+
*
|
|
12
|
+
* FAIL FAST: this process sits in Claude Code's MCP *startup* path. A hang
|
|
13
|
+
* here degrades the user's entire Claude Code session, not just this
|
|
14
|
+
* integration — so auth is resolved once, bounded (~2s), before the stdio
|
|
15
|
+
* loop ever starts, and a startup failure exits non-zero immediately with a
|
|
16
|
+
* one-line, actionable message. No retry loop, ever. A never-connected user
|
|
17
|
+
* never gets this entry at all (see mcp-generator.ts / routes-monoes.mjs —
|
|
18
|
+
* they only emit it when a connection already exists), so "not connected"
|
|
19
|
+
* here means the connection was disconnected or corrupted out from under a
|
|
20
|
+
* previously-written entry.
|
|
21
|
+
*
|
|
22
|
+
* NEVER LOG THE TOKEN: no message this module writes (stdout, stderr, or a
|
|
23
|
+
* thrown/returned Error) may embed the resolved header or token value —
|
|
24
|
+
* the repo's `redact()` does NOT cover `Authorization: Bearer <opaque>` or
|
|
25
|
+
* `"accessToken": "..."` shapes (see plan). Every user-facing string below
|
|
26
|
+
* is a fixed literal, never an interpolated fetch/network error, precisely
|
|
27
|
+
* so a caught error object can never smuggle a header value into an Error
|
|
28
|
+
* message, a crash report, or terminal scrollback.
|
|
29
|
+
*/
|
|
30
|
+
import fs from 'node:fs';
|
|
31
|
+
import path from 'node:path';
|
|
32
|
+
import readline from 'node:readline';
|
|
33
|
+
import { getValidMonoesToken } from '../ui/routes-monoes.mjs';
|
|
34
|
+
const AUTH_TIMEOUT_MS = 2000;
|
|
35
|
+
const REQUEST_TIMEOUT_MS = 15_000;
|
|
36
|
+
const REAUTH_HINT = 'Run `monomind ui`, then monoes.me -> Disconnect -> Connect to reconnect.';
|
|
37
|
+
/**
|
|
38
|
+
* Resolve MONOMIND_HOME the same way the dashboard server does: explicit
|
|
39
|
+
* env var, else walk up from cwd looking for `.monomind/control.json`,
|
|
40
|
+
* else cwd. Duplicated rather than imported from `ui/server.mjs` — that
|
|
41
|
+
* module boots an entire HTTP server as an import side effect, which is
|
|
42
|
+
* not safe to pull into a stdio MCP process.
|
|
43
|
+
*/
|
|
44
|
+
export function resolveMonomindHome(cwd = process.cwd()) {
|
|
45
|
+
if (process.env.MONOMIND_HOME)
|
|
46
|
+
return path.resolve(process.env.MONOMIND_HOME);
|
|
47
|
+
let dir = path.resolve(cwd);
|
|
48
|
+
while (dir !== path.dirname(dir)) {
|
|
49
|
+
if (fs.existsSync(path.join(dir, '.monomind', 'control.json')))
|
|
50
|
+
return dir;
|
|
51
|
+
dir = path.dirname(dir);
|
|
52
|
+
}
|
|
53
|
+
return path.resolve(cwd);
|
|
54
|
+
}
|
|
55
|
+
function withTimeout(promise, ms) {
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
const timer = setTimeout(() => reject(new Error('timeout')), ms);
|
|
58
|
+
promise.then((value) => {
|
|
59
|
+
clearTimeout(timer);
|
|
60
|
+
resolve(value);
|
|
61
|
+
}, (err) => {
|
|
62
|
+
clearTimeout(timer);
|
|
63
|
+
reject(err);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolves a fresh Authorization header at request time. Never throws —
|
|
69
|
+
* every failure (no connection, corrupted connection file, network
|
|
70
|
+
* unreachable, refresh rejected, timeout) collapses to one of two fixed
|
|
71
|
+
* reasons so the underlying error — which could theoretically carry request
|
|
72
|
+
* details — never has to be inspected or surfaced by a caller.
|
|
73
|
+
*/
|
|
74
|
+
export async function resolveAuthHeader(monomindHome, options = {}) {
|
|
75
|
+
const timeoutMs = options.timeoutMs ?? AUTH_TIMEOUT_MS;
|
|
76
|
+
const getToken = /* fn */ options.getToken ?? getValidMonoesToken;
|
|
77
|
+
let token;
|
|
78
|
+
try {
|
|
79
|
+
token = await withTimeout(getToken(monomindHome), timeoutMs);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
return { ok: false, reason: 'timeout' };
|
|
83
|
+
}
|
|
84
|
+
if (!token)
|
|
85
|
+
return { ok: false, reason: 'not_connected' };
|
|
86
|
+
return { ok: true, headers: { Authorization: `Bearer ${token}` } };
|
|
87
|
+
}
|
|
88
|
+
export function formatAuthFailureMessage(reason) {
|
|
89
|
+
const detail = reason === 'timeout'
|
|
90
|
+
? 'could not reach monoes.me (or the stored connection is corrupted) within 2s'
|
|
91
|
+
: 'not connected to monoes.me';
|
|
92
|
+
return `monoes MCP proxy: ${detail}. ${REAUTH_HINT}`;
|
|
93
|
+
}
|
|
94
|
+
/** JSON-RPC messages carried by an SSE body (`data:` lines, events split by a blank line). */
|
|
95
|
+
export function parseSseMessages(body) {
|
|
96
|
+
const messages = [];
|
|
97
|
+
for (const event of body.split(/\r?\n\r?\n/)) {
|
|
98
|
+
const data = event
|
|
99
|
+
.split(/\r?\n/)
|
|
100
|
+
.filter((line) => line.startsWith('data:'))
|
|
101
|
+
.map((line) => line.slice(5).replace(/^ /, ''))
|
|
102
|
+
.join('\n');
|
|
103
|
+
if (!data)
|
|
104
|
+
continue;
|
|
105
|
+
try {
|
|
106
|
+
messages.push(JSON.parse(data));
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// A malformed event is skipped; the request still gets its own error below if nothing parsed.
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return messages;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Forwards one stdio message over MCP Streamable HTTP and returns the
|
|
116
|
+
* messages to write back: none for a notification the server acknowledged
|
|
117
|
+
* (202), otherwise the JSON body or every message in an SSE body.
|
|
118
|
+
*/
|
|
119
|
+
async function forwardMessage(monoesUrl, monomindHome, message, fetchImpl, timeoutMs, session, getToken) {
|
|
120
|
+
const rawId = message?.id;
|
|
121
|
+
const isNotification = rawId === undefined;
|
|
122
|
+
const id = rawId ?? null;
|
|
123
|
+
const auth = await resolveAuthHeader(monomindHome, { getToken });
|
|
124
|
+
if (!auth.ok) {
|
|
125
|
+
if (isNotification)
|
|
126
|
+
return [];
|
|
127
|
+
return [
|
|
128
|
+
{
|
|
129
|
+
jsonrpc: '2.0',
|
|
130
|
+
id,
|
|
131
|
+
error: { code: -32000, message: formatAuthFailureMessage(auth.reason) },
|
|
132
|
+
},
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const res = await withTimeout(fetchImpl(monoesUrl, {
|
|
137
|
+
method: 'POST',
|
|
138
|
+
headers: {
|
|
139
|
+
'Content-Type': 'application/json',
|
|
140
|
+
Accept: 'application/json, text/event-stream',
|
|
141
|
+
...(session.id ? { 'Mcp-Session-Id': session.id } : {}),
|
|
142
|
+
...auth.headers,
|
|
143
|
+
},
|
|
144
|
+
body: JSON.stringify(message),
|
|
145
|
+
}), timeoutMs);
|
|
146
|
+
const sessionId = res.headers?.get?.('mcp-session-id');
|
|
147
|
+
if (sessionId)
|
|
148
|
+
session.id = sessionId;
|
|
149
|
+
if (res.status === 202 || res.status === 204)
|
|
150
|
+
return [];
|
|
151
|
+
const contentType = res.headers?.get?.('content-type') ?? '';
|
|
152
|
+
if (contentType.includes('text/event-stream')) {
|
|
153
|
+
const messages = parseSseMessages(await withTimeout(res.text(), timeoutMs));
|
|
154
|
+
if (messages.length === 0)
|
|
155
|
+
throw new Error('empty event stream');
|
|
156
|
+
return messages;
|
|
157
|
+
}
|
|
158
|
+
return [await res.json()];
|
|
159
|
+
}
|
|
160
|
+
catch {
|
|
161
|
+
// Deliberately generic — never interpolate the caught error. Some fetch
|
|
162
|
+
// implementations attach the request init (including headers) to a
|
|
163
|
+
// thrown error's `cause`/message; string-building from it here would
|
|
164
|
+
// risk leaking the Authorization value into stdout.
|
|
165
|
+
if (isNotification)
|
|
166
|
+
return [];
|
|
167
|
+
return [
|
|
168
|
+
{
|
|
169
|
+
jsonrpc: '2.0',
|
|
170
|
+
id,
|
|
171
|
+
error: {
|
|
172
|
+
code: -32001,
|
|
173
|
+
message: 'monoes MCP proxy: request to monoes.me failed or timed out.',
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Entry point registered by `commands/mcp.ts`'s `monoes-proxy` subcommand.
|
|
181
|
+
*/
|
|
182
|
+
export async function runMonoesProxy(options = {}) {
|
|
183
|
+
const stdin = options.stdin ?? process.stdin;
|
|
184
|
+
const stdout = options.stdout ?? process.stdout;
|
|
185
|
+
const stderr = options.stderr ?? process.stderr;
|
|
186
|
+
const exit = options.exit ?? ((code) => process.exit(code));
|
|
187
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
188
|
+
const monomindHome = options.monomindHome ?? resolveMonomindHome(options.cwd);
|
|
189
|
+
const monoesBaseUrl = process.env.MONOMIND_MONOES_URL || 'https://monoes.me';
|
|
190
|
+
const monoesUrl = options.monoesUrl ?? `${monoesBaseUrl}/api/mcp`;
|
|
191
|
+
const requestTimeoutMs = options.requestTimeoutMs ?? REQUEST_TIMEOUT_MS;
|
|
192
|
+
// Fail fast: resolve auth ONCE before ever starting the stdio loop, so a
|
|
193
|
+
// corrupted/revoked/offline connection gets an immediate, bounded, named
|
|
194
|
+
// failure instead of a hung or silently-broken MCP server blocking the
|
|
195
|
+
// rest of the user's Claude Code session.
|
|
196
|
+
const startupAuth = await resolveAuthHeader(monomindHome, {
|
|
197
|
+
timeoutMs: options.timeoutMs,
|
|
198
|
+
getToken: /* fn */ options.getToken,
|
|
199
|
+
});
|
|
200
|
+
if (!startupAuth.ok) {
|
|
201
|
+
stderr.write(`${formatAuthFailureMessage(startupAuth.reason)}\n`);
|
|
202
|
+
exit(1);
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
const session = {};
|
|
206
|
+
const rl = readline.createInterface({ input: stdin, terminal: false });
|
|
207
|
+
rl.on('line', (line) => {
|
|
208
|
+
if (!line.trim())
|
|
209
|
+
return;
|
|
210
|
+
let message;
|
|
211
|
+
try {
|
|
212
|
+
message = JSON.parse(line);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
stdout.write(`${JSON.stringify({ jsonrpc: '2.0', id: null, error: { code: -32700, message: 'Parse error' } })}\n`);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
forwardMessage(monoesUrl, monomindHome, message, fetchImpl, requestTimeoutMs, session, options.getToken)
|
|
219
|
+
.then((responses) => {
|
|
220
|
+
for (const response of responses)
|
|
221
|
+
stdout.write(`${JSON.stringify(response)}\n`);
|
|
222
|
+
})
|
|
223
|
+
.catch(() => {
|
|
224
|
+
// forwardMessage itself never rejects (it has its own try/catch),
|
|
225
|
+
// but stdout.write can throw — e.g. EPIPE once Claude Code has
|
|
226
|
+
// closed the pipe. Without this .catch, that throw becomes an
|
|
227
|
+
// unhandled rejection, which terminates the whole process under
|
|
228
|
+
// Node >= 15 — exactly the "one failure takes down the rest of the
|
|
229
|
+
// session" outcome this proxy exists to prevent. Fixed literal
|
|
230
|
+
// only; never the caught error (i-066 reviewer finding 7).
|
|
231
|
+
try {
|
|
232
|
+
stdout.write(`${JSON.stringify({ jsonrpc: '2.0', id: null, error: { code: -32002, message: 'monoes MCP proxy: failed to write the response.' } })}\n`);
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
// stdout itself is gone — nothing more this process can do about it.
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=monoes-proxy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monoes-proxy.js","sourceRoot":"","sources":["../../../src/mcp/monoes-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #302: `org_complete` had no gate at all — a boss could end a run `partial`
|
|
3
|
+
* with a full backlog and no named reason, and nothing checked whether the
|
|
4
|
+
* claim was true. `checkCompletion` is the pure decision behind the gate:
|
|
5
|
+
* given already-gathered facts about the run (nothing it can invent for
|
|
6
|
+
* itself), it returns a refusal string or `null` (allow). The daemon gathers
|
|
7
|
+
* the facts (`daemon.ts`'s `onComplete`) and calls this; this module does no
|
|
8
|
+
* I/O and imports nothing from `daemon.ts`, so it is table-testable without
|
|
9
|
+
* booting a daemon.
|
|
10
|
+
*
|
|
11
|
+
* A free-text blocker is satisfiable by typing anything, so free text alone
|
|
12
|
+
* is out. But an enum is not honest either — a boss can pick 'time' as
|
|
13
|
+
* easily as it can type "time". The enum's real value is that it is
|
|
14
|
+
* MACHINE-CHECKABLE, which free text is not: `budget`/`human`/`time` are
|
|
15
|
+
* each cross-checked against runtime state the boss does not author.
|
|
16
|
+
* `external` is the deliberate escape hatch — not checkable, so its
|
|
17
|
+
* `blockerDetail` is required to be a real, substantive claim instead (it is
|
|
18
|
+
* recorded verbatim in the run history, attributed to the boss, so a human
|
|
19
|
+
* reads it).
|
|
20
|
+
*
|
|
21
|
+
* Safety property, load-bearing, asserted as test rows not just documented
|
|
22
|
+
* here: this module constrains ONLY `outcome: 'partial'` by default.
|
|
23
|
+
* `achieved` and `failed` are never refused by the default (`mode: 'boss'`)
|
|
24
|
+
* half — a boss can always end the run honestly, so the gate cannot trap an
|
|
25
|
+
* org in a run it is unable to finish. `mode: 'dag'` (opt-in via
|
|
26
|
+
* `run_config.completion`) is an ADDITIONAL, stronger constraint on top of
|
|
27
|
+
* that, not a replacement: it also refuses `achieved` while runnable work
|
|
28
|
+
* remains, which the default half never does.
|
|
29
|
+
*/
|
|
30
|
+
export type CompletionOutcome = 'achieved' | 'partial' | 'failed';
|
|
31
|
+
export type CompletionBlocker = 'budget' | 'human' | 'external' | 'time';
|
|
32
|
+
export interface CompletionFacts {
|
|
33
|
+
outcome: CompletionOutcome;
|
|
34
|
+
blocker?: CompletionBlocker;
|
|
35
|
+
blockerDetail?: string;
|
|
36
|
+
/** 'boss' (default): only `outcome: 'partial'` is gated, via `blocker`.
|
|
37
|
+
* 'dag' (run_config.completion: 'dag', opt-in): additionally refuses
|
|
38
|
+
* `achieved`/`partial` while runnable work remains — see `hasPendingWork`. */
|
|
39
|
+
mode: 'boss' | 'dag';
|
|
40
|
+
/** Highest role spend / ceiling across tokens and USD, 0..1. */
|
|
41
|
+
maxBudgetFraction: number;
|
|
42
|
+
/** Unannswered `ask_human` questions plus pending decision gates. */
|
|
43
|
+
pendingHumanWaits: number;
|
|
44
|
+
/** `TaskDag.hasActiveBlock(now)` — every non-terminal task is blocked on a
|
|
45
|
+
* real-world time still in the future. False when there are no
|
|
46
|
+
* non-terminal tasks at all (see `hasPendingWork`'s doc). */
|
|
47
|
+
hasActiveBlock: boolean;
|
|
48
|
+
/** Some task in `org_tasks` is not yet terminal (done/failed/split/merged/
|
|
49
|
+
* cancelled). Must be checked ALONGSIDE `hasActiveBlock`, not instead of
|
|
50
|
+
* it: `hasActiveBlock` alone is false on an EMPTY dag too (nothing left to
|
|
51
|
+
* block on), which would wrongly refuse a run that legitimately finished
|
|
52
|
+
* every task. */
|
|
53
|
+
hasPendingWork: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** Decide whether an `org_complete` call is honest, given already-gathered
|
|
56
|
+
* facts. Returns a refusal message, or `null` to allow. */
|
|
57
|
+
export declare function checkCompletion(f: CompletionFacts): string | null;
|
|
58
|
+
//# sourceMappingURL=completion-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-gate.d.ts","sourceRoot":"","sources":["../../../src/orgrt/completion-gate.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAEzE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;mFAE+E;IAC/E,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,gEAAgE;IAChE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;kEAE8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB;;;;sBAIkB;IAClB,cAAc,EAAE,OAAO,CAAC;CACzB;AAiDD;4DAC4D;AAC5D,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,GAAG,IAAI,CASjE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/orgrt/completion-gate.ts
|
|
2
|
+
/**
|
|
3
|
+
* #302: `org_complete` had no gate at all — a boss could end a run `partial`
|
|
4
|
+
* with a full backlog and no named reason, and nothing checked whether the
|
|
5
|
+
* claim was true. `checkCompletion` is the pure decision behind the gate:
|
|
6
|
+
* given already-gathered facts about the run (nothing it can invent for
|
|
7
|
+
* itself), it returns a refusal string or `null` (allow). The daemon gathers
|
|
8
|
+
* the facts (`daemon.ts`'s `onComplete`) and calls this; this module does no
|
|
9
|
+
* I/O and imports nothing from `daemon.ts`, so it is table-testable without
|
|
10
|
+
* booting a daemon.
|
|
11
|
+
*
|
|
12
|
+
* A free-text blocker is satisfiable by typing anything, so free text alone
|
|
13
|
+
* is out. But an enum is not honest either — a boss can pick 'time' as
|
|
14
|
+
* easily as it can type "time". The enum's real value is that it is
|
|
15
|
+
* MACHINE-CHECKABLE, which free text is not: `budget`/`human`/`time` are
|
|
16
|
+
* each cross-checked against runtime state the boss does not author.
|
|
17
|
+
* `external` is the deliberate escape hatch — not checkable, so its
|
|
18
|
+
* `blockerDetail` is required to be a real, substantive claim instead (it is
|
|
19
|
+
* recorded verbatim in the run history, attributed to the boss, so a human
|
|
20
|
+
* reads it).
|
|
21
|
+
*
|
|
22
|
+
* Safety property, load-bearing, asserted as test rows not just documented
|
|
23
|
+
* here: this module constrains ONLY `outcome: 'partial'` by default.
|
|
24
|
+
* `achieved` and `failed` are never refused by the default (`mode: 'boss'`)
|
|
25
|
+
* half — a boss can always end the run honestly, so the gate cannot trap an
|
|
26
|
+
* org in a run it is unable to finish. `mode: 'dag'` (opt-in via
|
|
27
|
+
* `run_config.completion`) is an ADDITIONAL, stronger constraint on top of
|
|
28
|
+
* that, not a replacement: it also refuses `achieved` while runnable work
|
|
29
|
+
* remains, which the default half never does.
|
|
30
|
+
*/
|
|
31
|
+
/** A role at/above this fraction of its budget ceiling is a genuine
|
|
32
|
+
* budget blocker; below it, `blocker: 'budget'` is not a true claim. */
|
|
33
|
+
const BUDGET_THRESHOLD = 0.8;
|
|
34
|
+
/** `blockerDetail` shorter than this is refused even if not an exact
|
|
35
|
+
* placeholder match — "x" must not pass. */
|
|
36
|
+
const MIN_DETAIL_LEN = 10;
|
|
37
|
+
/** The issue's explicit ask: reject these placeholder claims outright,
|
|
38
|
+
* regardless of length. */
|
|
39
|
+
const EMPTY_DETAIL = /^(none|n\/a|na|-)$/i;
|
|
40
|
+
const NO_BLOCKER = "org_complete refused: outcome 'partial' requires a blocker naming why the run cannot continue (blocker: 'budget' | 'human' | 'external' | 'time'). If there is more work to do, dispatch it with org_task instead of ending the run. If a task is only waiting on a real-world time, call org_task_block(taskId, untilIso, reason) so a future run can pick back up automatically. If the run genuinely cannot continue, use outcome: 'failed' instead.";
|
|
41
|
+
function checkBlocker(f) {
|
|
42
|
+
if (!f.blocker)
|
|
43
|
+
return NO_BLOCKER;
|
|
44
|
+
switch (f.blocker) {
|
|
45
|
+
case 'external': {
|
|
46
|
+
const detail = (f.blockerDetail ?? '').trim();
|
|
47
|
+
if (!detail || EMPTY_DETAIL.test(detail) || detail.length < MIN_DETAIL_LEN) {
|
|
48
|
+
return `org_complete refused: blocker 'external' requires a real, substantive blockerDetail (at least ${MIN_DETAIL_LEN} characters — not empty, whitespace-only, or a placeholder like "none"/"n/a") because it cannot be checked against anything else; it is recorded verbatim in the run history, attributed to you, so a human can read the actual claim.`;
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
case 'budget': {
|
|
53
|
+
if (f.maxBudgetFraction < BUDGET_THRESHOLD) {
|
|
54
|
+
return `org_complete refused: blocker 'budget' claimed, but the highest role spend is only ${Math.round(f.maxBudgetFraction * 100)}% of its ceiling — that is not a budget blocker. Dispatch the next batch with org_task, or use outcome: 'failed' if the run genuinely cannot continue.`;
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
case 'human': {
|
|
59
|
+
if (f.pendingHumanWaits === 0) {
|
|
60
|
+
return `org_complete refused: blocker 'human' claimed, but there is no unanswered ask_human question or pending decision gate right now. Dispatch the next batch with org_task, or use outcome: 'failed' if the run genuinely cannot continue.`;
|
|
61
|
+
}
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
case 'time': {
|
|
65
|
+
if (!f.hasActiveBlock) {
|
|
66
|
+
return `org_complete refused: blocker 'time' claimed, but no task is blocked on a future real-world time. Call org_task_block(taskId, untilIso, reason) on the task that is actually waiting, so a future run can pick back up automatically.`;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const DAG_PENDING_WORK = "org_complete refused (run_config.completion: 'dag'): runnable work remains in org_tasks and nothing is blocked on a future time. Dispatch the next batch with org_task, or call org_task_block on a task that is genuinely waiting on a real-world time.";
|
|
73
|
+
/** Decide whether an `org_complete` call is honest, given already-gathered
|
|
74
|
+
* facts. Returns a refusal message, or `null` to allow. */
|
|
75
|
+
export function checkCompletion(f) {
|
|
76
|
+
if (f.outcome === 'partial') {
|
|
77
|
+
const refusal = checkBlocker(f);
|
|
78
|
+
if (refusal)
|
|
79
|
+
return refusal;
|
|
80
|
+
}
|
|
81
|
+
if (f.mode === 'dag' && f.outcome !== 'failed' && f.hasPendingWork && !f.hasActiveBlock) {
|
|
82
|
+
return DAG_PENDING_WORK;
|
|
83
|
+
}
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=completion-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion-gate.js","sourceRoot":"","sources":["../../../src/orgrt/completion-gate.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA6BH;yEACyE;AACzE,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B;6CAC6C;AAC7C,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B;4BAC4B;AAC5B,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAE3C,MAAM,UAAU,GACd,ybAAyb,CAAC;AAE5b,SAAS,YAAY,CAAC,CAAkB;IACtC,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,UAAU,CAAC;IAClC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAClB,KAAK,UAAU,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBAC3E,OAAO,iGAAiG,cAAc,wOAAwO,CAAC;YACjW,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,CAAC,iBAAiB,GAAG,gBAAgB,EAAE,CAAC;gBAC3C,OAAO,sFAAsF,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,wJAAwJ,CAAC;YAC7R,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,wOAAwO,CAAC;YAClP,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gBACtB,OAAO,uOAAuO,CAAC;YACjP,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GACpB,0PAA0P,CAAC;AAE7P;4DAC4D;AAC5D,MAAM,UAAU,eAAe,CAAC,CAAkB;IAChD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;QACxF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -3,6 +3,7 @@ import type { AgentRunner } from './agent-runner.js';
|
|
|
3
3
|
import * as approvalOps from './approvals.js';
|
|
4
4
|
import { OrgBus } from './bus.js';
|
|
5
5
|
import { type OrgCheckpoint, type RoleCheckpoint } from './checkpoint.js';
|
|
6
|
+
import { type CompletionFacts } from './completion-gate.js';
|
|
6
7
|
import * as crossOrg from './cross-org.js';
|
|
7
8
|
import { type EndpointWait } from './endpoint-roles.js';
|
|
8
9
|
import { type RoleFence } from './fence.js';
|
|
@@ -165,12 +166,26 @@ export interface RunningOrg {
|
|
|
165
166
|
lines: string[];
|
|
166
167
|
timer: ReturnType<typeof setTimeout>;
|
|
167
168
|
}>;
|
|
169
|
+
/** #304: why this run is stopping, set by stopOrg before the org is removed from
|
|
170
|
+
* `this.orgs`. Read by the role loop so a planned stop is logged with one stable
|
|
171
|
+
* wording instead of whichever abort string the SDK produced. */
|
|
172
|
+
closedBy?: string;
|
|
168
173
|
}
|
|
169
174
|
/** Bug 4: number of roles for this org that are actually spawned and running
|
|
170
175
|
* right now — the live count run_config.max_concurrent_agents caps. A role
|
|
171
176
|
* that crashed or ended no longer counts, so a slot frees up automatically
|
|
172
177
|
* the moment that happens; nothing needs to explicitly decrement a counter. */
|
|
173
178
|
export declare function activeRoleCount(org: RunningOrg): number;
|
|
179
|
+
/** #302: the `org_complete` consent gate's emit-and-return logic, extracted
|
|
180
|
+
* (matching `resolvedIdleNudgeCount`'s and `runOutcomeResult`'s precedent)
|
|
181
|
+
* so it is unit-testable without a live daemon, a running org, or the SDK's
|
|
182
|
+
* own tool-calling loop — none of which a test can drive directly, since
|
|
183
|
+
* `queryFn` replaces the whole SDK `query()`, tool orchestration included.
|
|
184
|
+
* `onComplete` gathers the facts (needs `this`/`running`) and calls this;
|
|
185
|
+
* this does the one decision (`checkCompletion`) and its two possible
|
|
186
|
+
* side effects. Returns the refusal string, or `null` to allow — exactly
|
|
187
|
+
* what the org_complete tool handler (session.ts) relays as the result. */
|
|
188
|
+
export declare function resolveOrgComplete(bus: OrgBus, role: string, outcome: 'achieved' | 'partial' | 'failed', summary: string, blocker: 'budget' | 'human' | 'external' | 'time' | undefined, blockerDetail: string | undefined, runFacts: Pick<CompletionFacts, 'mode' | 'maxBudgetFraction' | 'pendingHumanWaits' | 'hasActiveBlock' | 'hasPendingWork'>): string | null;
|
|
174
189
|
export interface DaemonOpts {
|
|
175
190
|
queryFn?: typeof query;
|
|
176
191
|
/** Explicit agent runner (takes precedence over everything). When unset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/orgrt/daemon.ts"],"names":[],"mappings":"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"}
|