@monoes/monomindcli 2.16.13 → 2.16.14
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/README.md +1 -1
- package/dist/src/commands/org-control.d.ts +117 -0
- package/dist/src/commands/org-control.d.ts.map +1 -0
- package/dist/src/commands/org-control.js +274 -0
- package/dist/src/commands/org-control.js.map +1 -0
- package/dist/src/commands/org-lifecycle.d.ts +7 -0
- package/dist/src/commands/org-lifecycle.d.ts.map +1 -0
- package/dist/src/commands/org-lifecycle.js +298 -0
- package/dist/src/commands/org-lifecycle.js.map +1 -0
- package/dist/src/commands/org-manage.d.ts +7 -0
- package/dist/src/commands/org-manage.d.ts.map +1 -0
- package/dist/src/commands/org-manage.js +357 -0
- package/dist/src/commands/org-manage.js.map +1 -0
- package/dist/src/commands/org-memory-command.d.ts +3 -0
- package/dist/src/commands/org-memory-command.d.ts.map +1 -0
- package/dist/src/commands/org-memory-command.js +178 -0
- package/dist/src/commands/org-memory-command.js.map +1 -0
- package/dist/src/commands/org-observe-approvals.d.ts +8 -0
- package/dist/src/commands/org-observe-approvals.d.ts.map +1 -0
- package/dist/src/commands/org-observe-approvals.js +211 -0
- package/dist/src/commands/org-observe-approvals.js.map +1 -0
- package/dist/src/commands/org-observe-checkpoint.d.ts +26 -0
- package/dist/src/commands/org-observe-checkpoint.d.ts.map +1 -0
- package/dist/src/commands/org-observe-checkpoint.js +180 -0
- package/dist/src/commands/org-observe-checkpoint.js.map +1 -0
- package/dist/src/commands/org-observe-config.d.ts +8 -0
- package/dist/src/commands/org-observe-config.d.ts.map +1 -0
- package/dist/src/commands/org-observe-config.js +160 -0
- package/dist/src/commands/org-observe-config.js.map +1 -0
- package/dist/src/commands/org-observe-gates.d.ts +4 -0
- package/dist/src/commands/org-observe-gates.d.ts.map +1 -0
- package/dist/src/commands/org-observe-gates.js +182 -0
- package/dist/src/commands/org-observe-gates.js.map +1 -0
- package/dist/src/commands/org-observe-inbox.d.ts +18 -0
- package/dist/src/commands/org-observe-inbox.d.ts.map +1 -0
- package/dist/src/commands/org-observe-inbox.js +154 -0
- package/dist/src/commands/org-observe-inbox.js.map +1 -0
- package/dist/src/commands/org-observe-logs.d.ts +31 -0
- package/dist/src/commands/org-observe-logs.d.ts.map +1 -0
- package/dist/src/commands/org-observe-logs.js +272 -0
- package/dist/src/commands/org-observe-logs.js.map +1 -0
- package/dist/src/commands/org-observe-questions.d.ts +8 -0
- package/dist/src/commands/org-observe-questions.d.ts.map +1 -0
- package/dist/src/commands/org-observe-questions.js +201 -0
- package/dist/src/commands/org-observe-questions.js.map +1 -0
- package/dist/src/commands/org-observe-report.d.ts +8 -0
- package/dist/src/commands/org-observe-report.d.ts.map +1 -0
- package/dist/src/commands/org-observe-report.js +366 -0
- package/dist/src/commands/org-observe-report.js.map +1 -0
- package/dist/src/commands/org-observe-shared.d.ts +20 -0
- package/dist/src/commands/org-observe-shared.d.ts.map +1 -0
- package/dist/src/commands/org-observe-shared.js +55 -0
- package/dist/src/commands/org-observe-shared.js.map +1 -0
- package/dist/src/commands/org-observe.d.ts +9 -101
- package/dist/src/commands/org-observe.d.ts.map +1 -1
- package/dist/src/commands/org-observe.js +12 -1675
- package/dist/src/commands/org-observe.js.map +1 -1
- package/dist/src/commands/org-poll.d.ts +57 -0
- package/dist/src/commands/org-poll.d.ts.map +1 -0
- package/dist/src/commands/org-poll.js +194 -0
- package/dist/src/commands/org-poll.js.map +1 -0
- package/dist/src/commands/org-run.d.ts +3 -0
- package/dist/src/commands/org-run.d.ts.map +1 -0
- package/dist/src/commands/org-run.js +449 -0
- package/dist/src/commands/org-run.js.map +1 -0
- package/dist/src/commands/org-serve.d.ts +19 -0
- package/dist/src/commands/org-serve.d.ts.map +1 -0
- package/dist/src/commands/org-serve.js +395 -0
- package/dist/src/commands/org-serve.js.map +1 -0
- package/dist/src/commands/org-subcommands-config.d.ts +8 -0
- package/dist/src/commands/org-subcommands-config.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-config.js +93 -0
- package/dist/src/commands/org-subcommands-config.js.map +1 -0
- package/dist/src/commands/org-subcommands-hil.d.ts +11 -0
- package/dist/src/commands/org-subcommands-hil.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-hil.js +216 -0
- package/dist/src/commands/org-subcommands-hil.js.map +1 -0
- package/dist/src/commands/org-subcommands-observe.d.ts +12 -0
- package/dist/src/commands/org-subcommands-observe.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-observe.js +249 -0
- package/dist/src/commands/org-subcommands-observe.js.map +1 -0
- package/dist/src/commands/org-subcommands-runtime.d.ts +12 -0
- package/dist/src/commands/org-subcommands-runtime.d.ts.map +1 -0
- package/dist/src/commands/org-subcommands-runtime.js +163 -0
- package/dist/src/commands/org-subcommands-runtime.js.map +1 -0
- package/dist/src/commands/org.d.ts +3 -151
- package/dist/src/commands/org.d.ts.map +1 -1
- package/dist/src/commands/org.js +43 -2735
- package/dist/src/commands/org.js.map +1 -1
- package/dist/src/orgrt/daemon-types.d.ts +196 -0
- package/dist/src/orgrt/daemon-types.d.ts.map +1 -0
- package/dist/src/orgrt/daemon-types.js +38 -0
- package/dist/src/orgrt/daemon-types.js.map +1 -0
- package/dist/src/orgrt/daemon.d.ts +70 -300
- package/dist/src/orgrt/daemon.d.ts.map +1 -1
- package/dist/src/orgrt/daemon.js +41 -2536
- package/dist/src/orgrt/daemon.js.map +1 -1
- package/dist/src/orgrt/idle-watchdog.d.ts +39 -0
- package/dist/src/orgrt/idle-watchdog.d.ts.map +1 -0
- package/dist/src/orgrt/idle-watchdog.js +289 -0
- package/dist/src/orgrt/idle-watchdog.js.map +1 -0
- package/dist/src/orgrt/org-reload.d.ts +7 -0
- package/dist/src/orgrt/org-reload.d.ts.map +1 -0
- package/dist/src/orgrt/org-reload.js +111 -0
- package/dist/src/orgrt/org-reload.js.map +1 -0
- package/dist/src/orgrt/org-start-steps.d.ts +21 -0
- package/dist/src/orgrt/org-start-steps.d.ts.map +1 -0
- package/dist/src/orgrt/org-start-steps.js +305 -0
- package/dist/src/orgrt/org-start-steps.js.map +1 -0
- package/dist/src/orgrt/org-start.d.ts +7 -0
- package/dist/src/orgrt/org-start.d.ts.map +1 -0
- package/dist/src/orgrt/org-start.js +435 -0
- package/dist/src/orgrt/org-start.js.map +1 -0
- package/dist/src/orgrt/org-state-file.d.ts +8 -0
- package/dist/src/orgrt/org-state-file.d.ts.map +1 -0
- package/dist/src/orgrt/org-state-file.js +116 -0
- package/dist/src/orgrt/org-state-file.js.map +1 -0
- package/dist/src/orgrt/org-stop.d.ts +6 -0
- package/dist/src/orgrt/org-stop.d.ts.map +1 -0
- package/dist/src/orgrt/org-stop.js +332 -0
- package/dist/src/orgrt/org-stop.js.map +1 -0
- package/dist/src/orgrt/org-tools.d.ts +11 -0
- package/dist/src/orgrt/org-tools.d.ts.map +1 -0
- package/dist/src/orgrt/org-tools.js +305 -0
- package/dist/src/orgrt/org-tools.js.map +1 -0
- package/dist/src/orgrt/role-incarnation.d.ts +18 -0
- package/dist/src/orgrt/role-incarnation.d.ts.map +1 -0
- package/dist/src/orgrt/role-incarnation.js +374 -0
- package/dist/src/orgrt/role-incarnation.js.map +1 -0
- package/dist/src/orgrt/role-respawn.d.ts +7 -0
- package/dist/src/orgrt/role-respawn.d.ts.map +1 -0
- package/dist/src/orgrt/role-respawn.js +318 -0
- package/dist/src/orgrt/role-respawn.js.map +1 -0
- package/dist/src/orgrt/role-session-opts.d.ts +389 -0
- package/dist/src/orgrt/role-session-opts.d.ts.map +1 -0
- package/dist/src/orgrt/role-session-opts.js +289 -0
- package/dist/src/orgrt/role-session-opts.js.map +1 -0
- package/dist/src/orgrt/runner-resolve.d.ts +43 -0
- package/dist/src/orgrt/runner-resolve.d.ts.map +1 -0
- package/dist/src/orgrt/runner-resolve.js +77 -0
- package/dist/src/orgrt/runner-resolve.js.map +1 -0
- package/dist/src/orgrt/session-gate.d.ts +34 -0
- package/dist/src/orgrt/session-gate.d.ts.map +1 -0
- package/dist/src/orgrt/session-gate.js +74 -0
- package/dist/src/orgrt/session-gate.js.map +1 -0
- package/dist/src/orgrt/session-prompt.d.ts +31 -0
- package/dist/src/orgrt/session-prompt.d.ts.map +1 -0
- package/dist/src/orgrt/session-prompt.js +115 -0
- package/dist/src/orgrt/session-prompt.js.map +1 -0
- package/dist/src/orgrt/session-run.d.ts +18 -0
- package/dist/src/orgrt/session-run.d.ts.map +1 -0
- package/dist/src/orgrt/session-run.js +429 -0
- package/dist/src/orgrt/session-run.js.map +1 -0
- package/dist/src/orgrt/session-stream.d.ts +21 -0
- package/dist/src/orgrt/session-stream.d.ts.map +1 -0
- package/dist/src/orgrt/session-stream.js +173 -0
- package/dist/src/orgrt/session-stream.js.map +1 -0
- package/dist/src/orgrt/session-types.d.ts +219 -0
- package/dist/src/orgrt/session-types.d.ts.map +1 -0
- package/dist/src/orgrt/session-types.js +2 -0
- package/dist/src/orgrt/session-types.js.map +1 -0
- package/dist/src/orgrt/session-usage.d.ts +29 -0
- package/dist/src/orgrt/session-usage.d.ts.map +1 -0
- package/dist/src/orgrt/session-usage.js +64 -0
- package/dist/src/orgrt/session-usage.js.map +1 -0
- package/dist/src/orgrt/session.d.ts +5 -281
- package/dist/src/orgrt/session.d.ts.map +1 -1
- package/dist/src/orgrt/session.js +8 -1117
- package/dist/src/orgrt/session.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-config.js","sourceRoot":"","sources":["../../../src/commands/org-observe-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { CommandContext, CommandResult } from '../types.js';
|
|
2
|
+
export declare const gatesAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
3
|
+
export declare const gateResolveAction: (ctx: CommandContext, name: string, approved: boolean) => Promise<CommandResult>;
|
|
4
|
+
//# sourceMappingURL=org-observe-gates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-gates.d.ts","sourceRoot":"","sources":["../../../src/commands/org-observe-gates.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA4CjE,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAiC1F,CAAC;AAEF,eAAO,MAAM,iBAAiB,QACvB,cAAc,QACb,MAAM,YACF,OAAO,KAChB,OAAO,CAAC,aAAa,CA8HvB,CAAC"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/commands/org-observe-gates.ts
|
|
2
|
+
//
|
|
3
|
+
// `monomind org gates | gate-approve | gate-reject` — decision gates.
|
|
4
|
+
import { readFileSync } from 'node:fs';
|
|
5
|
+
import { join } from 'node:path';
|
|
6
|
+
import { ORG_DIR } from '../orgrt/types.js';
|
|
7
|
+
import { output } from '../output.js';
|
|
8
|
+
import { orgJson, printOrgJson, resolverFlag } from './org-observe-shared.js';
|
|
9
|
+
const log = (text) => {
|
|
10
|
+
console.log(text);
|
|
11
|
+
};
|
|
12
|
+
// ── Decision gates ──────────────────────────────────────────────────────
|
|
13
|
+
function readGatesFile(cwd, org) {
|
|
14
|
+
try {
|
|
15
|
+
return JSON.parse(readFileSync(join(cwd, ORG_DIR, org, 'gates.json'), 'utf8'));
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return { gates: [] };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/** Read gates.json for a write path. A MISSING file legitimately means "no gates" → [].
|
|
22
|
+
* Any other failure (unreadable, malformed — e.g. a partial daemon write) THROWS:
|
|
23
|
+
* gateResolveAction rewrites this file from what this returns, so silently coercing a
|
|
24
|
+
* failed read to [] would surface a real I/O error as "gate not found" and a
|
|
25
|
+
* subsequent write would replace every recorded gate with just this one. */
|
|
26
|
+
function readGatesFileStrict(cwd, org) {
|
|
27
|
+
const path = join(cwd, ORG_DIR, org, 'gates.json');
|
|
28
|
+
let raw;
|
|
29
|
+
try {
|
|
30
|
+
raw = readFileSync(path, 'utf8');
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
if (err.code === 'ENOENT')
|
|
34
|
+
return { gates: [] };
|
|
35
|
+
throw new Error(`cannot read ${path}: ${err instanceof Error ? err.message : String(err)}`);
|
|
36
|
+
}
|
|
37
|
+
let parsed;
|
|
38
|
+
try {
|
|
39
|
+
parsed = JSON.parse(raw);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
throw new Error(`${path} is not valid JSON (${err instanceof Error ? err.message : String(err)})`);
|
|
43
|
+
}
|
|
44
|
+
if (parsed?.gates === undefined || parsed.gates === null)
|
|
45
|
+
return { gates: [] };
|
|
46
|
+
if (!Array.isArray(parsed.gates))
|
|
47
|
+
throw new Error(`${path}: "gates" is not an array`);
|
|
48
|
+
return { gates: parsed.gates };
|
|
49
|
+
}
|
|
50
|
+
export const gatesAction = async (ctx, name) => {
|
|
51
|
+
const data = readGatesFile(ctx.cwd, name);
|
|
52
|
+
const showAll = ctx.flags.all === true;
|
|
53
|
+
const gates = showAll ? data.gates : data.gates.filter((g) => g.status === 'pending');
|
|
54
|
+
if (orgJson(ctx))
|
|
55
|
+
return printOrgJson({ v: 1, org: name, items: gates });
|
|
56
|
+
if (!gates.length) {
|
|
57
|
+
log(output.info(showAll
|
|
58
|
+
? `No gates for org "${name}"`
|
|
59
|
+
: `No pending gates for org "${name}" (use --all to include resolved)`));
|
|
60
|
+
return { success: true };
|
|
61
|
+
}
|
|
62
|
+
log(output.info(`${showAll ? 'All' : 'Pending'} gates for org "${name}" (${gates.length}):\n`));
|
|
63
|
+
for (const g of gates) {
|
|
64
|
+
const status = g.status === 'pending'
|
|
65
|
+
? '⏳ pending'
|
|
66
|
+
: g.status === 'approved'
|
|
67
|
+
? '✅ approved'
|
|
68
|
+
: '❌ rejected';
|
|
69
|
+
log(output.info(` ${g.id} ${status} role:${g.roleId}`));
|
|
70
|
+
log(output.info(` name: ${g.name}`));
|
|
71
|
+
log(output.info(` desc: ${g.description}`));
|
|
72
|
+
if (g.resolution)
|
|
73
|
+
log(output.info(` resolution: ${g.resolution}`));
|
|
74
|
+
log('');
|
|
75
|
+
}
|
|
76
|
+
return { success: true, message: `${gates.length} gate(s)` };
|
|
77
|
+
};
|
|
78
|
+
export const gateResolveAction = async (ctx, name, approved) => {
|
|
79
|
+
const gateId = ctx.args[1];
|
|
80
|
+
const resolution = ctx.args.slice(2).join(' ') || undefined;
|
|
81
|
+
if (!gateId)
|
|
82
|
+
return {
|
|
83
|
+
success: false,
|
|
84
|
+
message: `usage: monomind org gate-${approved ? 'approve' : 'reject'} ${name} <gate-id> [resolution]`,
|
|
85
|
+
};
|
|
86
|
+
let data;
|
|
87
|
+
try {
|
|
88
|
+
data = readGatesFileStrict(ctx.cwd, name);
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
log(output.error(`Cannot read gates for org ${name}: ${err instanceof Error ? err.message : String(err)}`));
|
|
92
|
+
return { success: false, message: 'gates.json unreadable — gate not resolved' };
|
|
93
|
+
}
|
|
94
|
+
const gate = data.gates.find((g) => g.id === gateId);
|
|
95
|
+
if (!gate)
|
|
96
|
+
return { success: false, message: `gate "${gateId}" not found for org "${name}"` };
|
|
97
|
+
if (gate.status !== 'pending')
|
|
98
|
+
return { success: false, message: `gate "${gateId}" already resolved (${gate.status})` };
|
|
99
|
+
const byFlag = await resolverFlag(ctx);
|
|
100
|
+
if (!byFlag.ok)
|
|
101
|
+
return { success: false, message: byFlag.message };
|
|
102
|
+
const resolvedBy = byFlag.by;
|
|
103
|
+
// SEC: gate resolution is a human decision — operator credential only.
|
|
104
|
+
const { lookupOrg, readOperatorCredential } = await import('../orgrt/broker.js');
|
|
105
|
+
const remote = lookupOrg(name);
|
|
106
|
+
if (remote) {
|
|
107
|
+
const cred = readOperatorCredential(name);
|
|
108
|
+
try {
|
|
109
|
+
const res = await fetch(`${remote.url}/api/resolve-gate`, {
|
|
110
|
+
method: 'POST',
|
|
111
|
+
headers: {
|
|
112
|
+
'Content-Type': 'application/json',
|
|
113
|
+
...(cred ? { 'x-monomind-cred': cred } : {}),
|
|
114
|
+
},
|
|
115
|
+
body: JSON.stringify({ org: name, gateId, approved, resolution, resolvedBy }),
|
|
116
|
+
signal: AbortSignal.timeout(10_000),
|
|
117
|
+
});
|
|
118
|
+
const d = (await res.json().catch(() => ({})));
|
|
119
|
+
if (res.ok && d.ok) {
|
|
120
|
+
if (orgJson(ctx))
|
|
121
|
+
return printOrgJson({
|
|
122
|
+
v: 1,
|
|
123
|
+
org: name,
|
|
124
|
+
gate_id: gateId,
|
|
125
|
+
status: approved ? 'approved' : 'rejected',
|
|
126
|
+
delivery: 'live',
|
|
127
|
+
resolvedBy,
|
|
128
|
+
});
|
|
129
|
+
log(output.success(`Gate ${gateId} ${approved ? 'approved' : 'rejected'} (live).`));
|
|
130
|
+
return { success: true, message: `gate ${approved ? 'approved' : 'rejected'}` };
|
|
131
|
+
}
|
|
132
|
+
log(output.warning(`Live resolution rejected (${d.error ?? res.status}) — falling back to offline queue.`));
|
|
133
|
+
}
|
|
134
|
+
catch (err) {
|
|
135
|
+
log(output.warning(`Hosting daemon unreachable (${err instanceof Error ? err.message : 'error'}) — falling back to offline queue.`));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// Offline path: no live daemon hosts this org (or the live call failed) —
|
|
139
|
+
// resolve gates.json directly, same as resolveApproval's offline branch.
|
|
140
|
+
// Re-read fresh (mirrors answerAction/resolveApproval) in case a live
|
|
141
|
+
// daemon resolved this gate concurrently while the live call above was
|
|
142
|
+
// in flight or timing out.
|
|
143
|
+
const { writeGates } = await import('../orgrt/decisions.js');
|
|
144
|
+
let fresh;
|
|
145
|
+
try {
|
|
146
|
+
fresh = readGatesFileStrict(ctx.cwd, name);
|
|
147
|
+
}
|
|
148
|
+
catch (err) {
|
|
149
|
+
log(output.error(`Refusing to rewrite gates.json — ${err instanceof Error ? err.message : String(err)}`));
|
|
150
|
+
log(output.warning(`The gate was NOT resolved. Fix or restore ${join(ctx.cwd, ORG_DIR, name, 'gates.json')}, then retry.`));
|
|
151
|
+
return { success: false, message: 'gates.json unreadable — gate not resolved' };
|
|
152
|
+
}
|
|
153
|
+
const idx = fresh.gates.findIndex((g) => g.id === gateId);
|
|
154
|
+
if (idx === -1)
|
|
155
|
+
return { success: false, message: `gate "${gateId}" not found for org "${name}"` };
|
|
156
|
+
if (fresh.gates[idx].status !== 'pending') {
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
message: `gate "${gateId}" already resolved (${fresh.gates[idx].status})`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
fresh.gates[idx] = {
|
|
163
|
+
...fresh.gates[idx],
|
|
164
|
+
status: approved ? 'approved' : 'rejected',
|
|
165
|
+
resolvedAt: Date.now(),
|
|
166
|
+
resolvedBy,
|
|
167
|
+
resolution,
|
|
168
|
+
};
|
|
169
|
+
writeGates(ctx.cwd, name, fresh);
|
|
170
|
+
if (orgJson(ctx))
|
|
171
|
+
return printOrgJson({
|
|
172
|
+
v: 1,
|
|
173
|
+
org: name,
|
|
174
|
+
gate_id: gateId,
|
|
175
|
+
status: approved ? 'approved' : 'rejected',
|
|
176
|
+
delivery: 'recorded',
|
|
177
|
+
resolvedBy,
|
|
178
|
+
});
|
|
179
|
+
log(output.success(`Gate ${gateId} ${approved ? 'approved' : 'rejected'} — ${name} picks it up on its next cycle.`));
|
|
180
|
+
return { success: true, message: `gate ${approved ? 'approved' : 'rejected'} (queued)` };
|
|
181
|
+
};
|
|
182
|
+
//# sourceMappingURL=org-observe-gates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-gates.js","sourceRoot":"","sources":["../../../src/commands/org-observe-gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CommandContext, CommandResult } from '../types.js';
|
|
2
|
+
/** `org inbox <name> --json '{"from":"orgA:role","subject":"...","body":"..."}' [--to role]`
|
|
3
|
+
* (or `--from/--subject/--body`) `[--format json]`.
|
|
4
|
+
* Inbound entrypoint for cross-org/remote delivery — orgrt/remote.ts's deliverRemote()
|
|
5
|
+
* shells out to exactly this command over SSH, and mono-agent replies through it.
|
|
6
|
+
*
|
|
7
|
+
* Live path (M3): POST to the hosting daemon's /api/xdeliver with the OPERATOR
|
|
8
|
+
* credential (readOperatorCredential), which lets the daemon trust `from` as
|
|
9
|
+
* given — the sender org need not be registered (`workflow`, an automation
|
|
10
|
+
* role). Without an operator credential it presents the sender org's own
|
|
11
|
+
* broker credential, if that org is registered. Offline path: spool into
|
|
12
|
+
* inbox.jsonl, drained into the role's mailbox on the org's next start.
|
|
13
|
+
*
|
|
14
|
+
* `--format json` prints `{"v":1,"org","to","from","delivery":"live"|"queued",
|
|
15
|
+
* "receipt","messageId"}`. Exit 0 for live and queued; non-zero only for
|
|
16
|
+
* invalid input or an unknown org. */
|
|
17
|
+
export declare const inboxAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
18
|
+
//# sourceMappingURL=org-observe-inbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-inbox.d.ts","sourceRoot":"","sources":["../../../src/commands/org-observe-inbox.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOjE;;;;;;;;;;;;;;uCAcuC;AACvC,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAuI1F,CAAC"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// packages/@monomind/cli/src/commands/org-observe-inbox.ts
|
|
2
|
+
//
|
|
3
|
+
// `monomind org inbox` — inbound cross-org message delivery (live to a
|
|
4
|
+
// running org, queued to inbox.jsonl otherwise).
|
|
5
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
6
|
+
import { join } from 'node:path';
|
|
7
|
+
import { ORG_DIR } from '../orgrt/types.js';
|
|
8
|
+
import { output } from '../output.js';
|
|
9
|
+
import { orgJson, printOrgJson } from './org-observe-shared.js';
|
|
10
|
+
const log = (text) => {
|
|
11
|
+
console.log(text);
|
|
12
|
+
};
|
|
13
|
+
/** `org inbox <name> --json '{"from":"orgA:role","subject":"...","body":"..."}' [--to role]`
|
|
14
|
+
* (or `--from/--subject/--body`) `[--format json]`.
|
|
15
|
+
* Inbound entrypoint for cross-org/remote delivery — orgrt/remote.ts's deliverRemote()
|
|
16
|
+
* shells out to exactly this command over SSH, and mono-agent replies through it.
|
|
17
|
+
*
|
|
18
|
+
* Live path (M3): POST to the hosting daemon's /api/xdeliver with the OPERATOR
|
|
19
|
+
* credential (readOperatorCredential), which lets the daemon trust `from` as
|
|
20
|
+
* given — the sender org need not be registered (`workflow`, an automation
|
|
21
|
+
* role). Without an operator credential it presents the sender org's own
|
|
22
|
+
* broker credential, if that org is registered. Offline path: spool into
|
|
23
|
+
* inbox.jsonl, drained into the role's mailbox on the org's next start.
|
|
24
|
+
*
|
|
25
|
+
* `--format json` prints `{"v":1,"org","to","from","delivery":"live"|"queued",
|
|
26
|
+
* "receipt","messageId"}`. Exit 0 for live and queued; non-zero only for
|
|
27
|
+
* invalid input or an unknown org. */
|
|
28
|
+
export const inboxAction = async (ctx, name) => {
|
|
29
|
+
const json = orgJson(ctx);
|
|
30
|
+
// JSON mode keeps stdout to the single payload — diagnostics go to stderr.
|
|
31
|
+
const note = (text) => {
|
|
32
|
+
if (json)
|
|
33
|
+
process.stderr.write(`${text}\n`);
|
|
34
|
+
else
|
|
35
|
+
log(text);
|
|
36
|
+
};
|
|
37
|
+
const fail = (message) => {
|
|
38
|
+
if (json)
|
|
39
|
+
process.stdout.write(`${JSON.stringify({ v: 1, org: name, error: message })}\n`);
|
|
40
|
+
else
|
|
41
|
+
log(output.error(message));
|
|
42
|
+
return { success: false, message };
|
|
43
|
+
};
|
|
44
|
+
let payload = {};
|
|
45
|
+
const rawJson = ctx.flags.json;
|
|
46
|
+
if (typeof rawJson === 'string') {
|
|
47
|
+
try {
|
|
48
|
+
payload = JSON.parse(rawJson);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return fail('org inbox: --json is not valid JSON');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
payload = { from: ctx.flags.from, subject: ctx.flags.subject, body: ctx.flags.body };
|
|
56
|
+
}
|
|
57
|
+
const from = typeof payload.from === 'string' ? payload.from.trim() : '';
|
|
58
|
+
const subject = typeof payload.subject === 'string' ? payload.subject : '';
|
|
59
|
+
const body = typeof payload.body === 'string' ? payload.body : '';
|
|
60
|
+
if (!from || !body)
|
|
61
|
+
return fail('org inbox: payload requires "from" and "body" (via --json or --from/--body)');
|
|
62
|
+
if (!/^[^\s:]{1,128}(:[^\s:]{1,128})?$/.test(from))
|
|
63
|
+
return fail(`org inbox: invalid sender "${from}" — use "<org>:<role>" or "<role>"`);
|
|
64
|
+
const { lookupOrg, normalizeCredential, readOperatorCredential } = await import('../orgrt/broker.js');
|
|
65
|
+
const remote = lookupOrg(name);
|
|
66
|
+
const defPath = join(ctx.cwd, ORG_DIR, `${name}.json`);
|
|
67
|
+
if (!remote && !existsSync(defPath))
|
|
68
|
+
return fail(`Org not found: ${name}`);
|
|
69
|
+
// Target role: explicit --to, else the org's coordinator (reports_to == null),
|
|
70
|
+
// else the first role — matching where a role-less cross-org message should land.
|
|
71
|
+
let toRole = typeof ctx.flags.to === 'string' ? ctx.flags.to : '';
|
|
72
|
+
if (toRole && !/^[a-z0-9][a-z0-9_-]*$/i.test(toRole))
|
|
73
|
+
return fail(`Invalid role id: ${toRole}`);
|
|
74
|
+
if (!toRole) {
|
|
75
|
+
if (!existsSync(defPath))
|
|
76
|
+
return fail(`Org "${name}" config is not in this project — pass --to <role>.`);
|
|
77
|
+
try {
|
|
78
|
+
const def = JSON.parse(readFileSync(defPath, 'utf8'));
|
|
79
|
+
const roles = Array.isArray(def.roles) ? def.roles : [];
|
|
80
|
+
toRole = roles.find((r) => r.reports_to == null)?.id ?? roles[0]?.id ?? '';
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
return fail(`Could not read org config for ${name}: ${err instanceof Error ? err.message : String(err)}`);
|
|
84
|
+
}
|
|
85
|
+
if (!toRole)
|
|
86
|
+
return fail(`Org "${name}" has no roles to deliver to — pass --to <role>.`);
|
|
87
|
+
}
|
|
88
|
+
const { newMessageId, queueMessage } = await import('../orgrt/inbox.js');
|
|
89
|
+
const messageId = newMessageId();
|
|
90
|
+
const to = `${name}:${toRole}`;
|
|
91
|
+
const done = (delivery, receipt) => {
|
|
92
|
+
if (json)
|
|
93
|
+
return printOrgJson({ v: 1, org: name, to, from, delivery, receipt, messageId });
|
|
94
|
+
log(output.success(receipt));
|
|
95
|
+
return { success: true, message: receipt };
|
|
96
|
+
};
|
|
97
|
+
// Live path: a hosting daemon registered this org with the broker.
|
|
98
|
+
if (remote) {
|
|
99
|
+
const [fromOrg, fromRole] = from.includes(':') ? from.split(':', 2) : ['external', from];
|
|
100
|
+
const operatorCred = readOperatorCredential(name);
|
|
101
|
+
const agentCred = normalizeCredential(remote.credential);
|
|
102
|
+
const cred = operatorCred ?? agentCred;
|
|
103
|
+
const fromCredential = operatorCred ? undefined : lookupOrg(fromOrg)?.credential;
|
|
104
|
+
try {
|
|
105
|
+
const res = await fetch(`${remote.url}/api/xdeliver`, {
|
|
106
|
+
method: 'POST',
|
|
107
|
+
headers: {
|
|
108
|
+
'Content-Type': 'application/json',
|
|
109
|
+
...(cred ? { 'x-monomind-cred': cred } : {}),
|
|
110
|
+
},
|
|
111
|
+
body: JSON.stringify({
|
|
112
|
+
fromOrg,
|
|
113
|
+
fromRole,
|
|
114
|
+
...(fromCredential ? { fromCredential } : {}),
|
|
115
|
+
toOrg: name,
|
|
116
|
+
toRole,
|
|
117
|
+
subject,
|
|
118
|
+
body,
|
|
119
|
+
messageId,
|
|
120
|
+
}),
|
|
121
|
+
signal: AbortSignal.timeout(10_000),
|
|
122
|
+
});
|
|
123
|
+
const data = (await res.json().catch(() => ({})));
|
|
124
|
+
if (res.ok && data.ok) {
|
|
125
|
+
const receipt = data.receipt ?? `delivered to ${to}`;
|
|
126
|
+
// The daemon itself may have queued it (role starting, org waking).
|
|
127
|
+
return done(/^queued/.test(receipt) ? 'queued' : 'live', receipt);
|
|
128
|
+
}
|
|
129
|
+
note(output.warning(`Live delivery rejected (${data.error ?? res.status}) — falling back to offline queue.`));
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
note(output.warning(`Hosting daemon unreachable (${err instanceof Error ? err.message : 'error'}) — falling back to offline queue.`));
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Offline path: spool; drained into the role's mailbox when the org next starts.
|
|
136
|
+
const queued = queueMessage(ctx.cwd, name, {
|
|
137
|
+
fromQualified: from,
|
|
138
|
+
toRole,
|
|
139
|
+
subject,
|
|
140
|
+
body,
|
|
141
|
+
ts: Date.now(),
|
|
142
|
+
messageId,
|
|
143
|
+
});
|
|
144
|
+
if (!queued) {
|
|
145
|
+
const message = `Could not queue the message for ${to} (disk full or permissions).`;
|
|
146
|
+
if (json)
|
|
147
|
+
process.stdout.write(`${JSON.stringify({ v: 1, org: name, error: message })}\n`);
|
|
148
|
+
else
|
|
149
|
+
log(output.error(message));
|
|
150
|
+
return { success: false, message: 'queueing failed' };
|
|
151
|
+
}
|
|
152
|
+
return done('queued', `queued for ${to} (delivered when the org next runs)`);
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=org-observe-inbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-inbox.js","sourceRoot":"","sources":["../../../src/commands/org-observe-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CommandContext, CommandResult } from '../types.js';
|
|
2
|
+
/** `org logs <name> [--run id] [--role r] [--filter-tool t] [--filter-role r] [--tools-only] [--audit-filter allow|deny] [--follow]` — formatted bus.jsonl tail. */
|
|
3
|
+
export declare const logsAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
4
|
+
/**
|
|
5
|
+
* `org watch <name> <role> [--verbose] [--stats]` — live-tail one role's
|
|
6
|
+
* assistant chat text.
|
|
7
|
+
*
|
|
8
|
+
* Every runner (Claude included — this isn't specific to the subprocess CLI
|
|
9
|
+
* runners) funnels through session.ts's shared message loop, which emits
|
|
10
|
+
* each assistant-text chunk onto the bus as a `chat` event. This command is
|
|
11
|
+
* just `logsAction` pre-filtered to that event type + role and formatted as
|
|
12
|
+
* a plain transcript instead of the full annotated event line — a friendlier
|
|
13
|
+
* front door onto infrastructure that already exists and already covers
|
|
14
|
+
* every runtime uniformly. For the fuller event stream (tool calls, audit
|
|
15
|
+
* decisions) use `org logs <name> --role <role> --follow` directly.
|
|
16
|
+
*
|
|
17
|
+
* --verbose additionally interleaves that role's `status` events (session
|
|
18
|
+
* start/end, restart/crash/backoff, state changes) into the transcript, so
|
|
19
|
+
* a human watching sees WHY a role went quiet instead of just silence.
|
|
20
|
+
* --stats prints a running token/cost line off that role's `usage` events
|
|
21
|
+
* (emitted per turn by session.ts, same as --verbose: already-existing bus
|
|
22
|
+
* data, no new instrumentation).
|
|
23
|
+
*/
|
|
24
|
+
export declare const watchAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
25
|
+
/** `org events <name> [--run id] [--follow] [--since <eventId|iso>] [--ndjson]`
|
|
26
|
+
* — live tail of a run's bus.jsonl as NDJSON, one BusEvent per line
|
|
27
|
+
* (protocol §7.3). This is the machine streaming surface; `org logs` stays
|
|
28
|
+
* the human one. NDJSON is the only output mode (--ndjson accepted for
|
|
29
|
+
* spec symmetry). */
|
|
30
|
+
export declare const eventsAction: (ctx: CommandContext, name: string) => Promise<CommandResult>;
|
|
31
|
+
//# sourceMappingURL=org-observe-logs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"org-observe-logs.d.ts","sourceRoot":"","sources":["../../../src/commands/org-observe-logs.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOjE,oKAAoK;AACpK,eAAO,MAAM,UAAU,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAmFzF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,WAAW,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CAuE1F,CAAC;AAaF;;;;sBAIsB;AACtB,eAAO,MAAM,YAAY,QAAe,cAAc,QAAQ,MAAM,KAAG,OAAO,CAAC,aAAa,CA4D3F,CAAC"}
|