@moxt-ai/mobius 0.0.29 → 0.0.30
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/dist/bots/bot-approve-command.d.ts +2 -0
- package/dist/bots/bot-approve-command.d.ts.map +1 -0
- package/dist/bots/bot-approve-command.js +78 -0
- package/dist/bots/bot-approve-command.js.map +1 -0
- package/dist/bots/local-bot-grant-store.d.ts +7 -0
- package/dist/bots/local-bot-grant-store.d.ts.map +1 -1
- package/dist/bots/local-bot-grant-store.js +89 -0
- package/dist/bots/local-bot-grant-store.js.map +1 -1
- package/dist/cli.js +951 -731
- package/dist/cli.js.map +4 -4
- package/dist/index.js +115 -12
- package/dist/index.js.map +3 -3
- package/dist/run-daemon.d.ts.map +1 -1
- package/dist/run-daemon.js +18 -14
- package/dist/run-daemon.js.map +1 -1
- package/dist/runtime.js +115 -12
- package/dist/runtime.js.map +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-approve-command.d.ts","sourceRoot":"","sources":["../../src/bots/bot-approve-command.ts"],"names":[],"mappings":"AAeA,wBAAsB,wBAAwB,CAC1C,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,EACxC,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,MAAM,CAAC,CA8FjB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { readdir, realpath } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import { WorkspaceDirectoryService } from "../authorization/workspace-directory.js";
|
|
5
|
+
import { resumeMobiusRuntime } from "../pairing/pair-local-machine.js";
|
|
6
|
+
import { readStateDirectory } from "../storage/state-directory.js";
|
|
7
|
+
import { LocalBotAuthorizationError, LocalBotGrantStore } from "./local-bot-grant-store.js";
|
|
8
|
+
const identifier = z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/);
|
|
9
|
+
const argumentsSchema = z.union([
|
|
10
|
+
z.tuple([z.literal("--bot"), identifier]),
|
|
11
|
+
z.tuple([z.literal("--bot"), identifier, z.literal("--channel"), identifier]),
|
|
12
|
+
]);
|
|
13
|
+
export async function executeBotApproveCommand(arguments_, environment, parent) {
|
|
14
|
+
const parsed = argumentsSchema.safeParse(arguments_);
|
|
15
|
+
if (!parsed.success) {
|
|
16
|
+
throw new LocalBotAuthorizationError("invalid_arguments", "Usage: mobius bot approve --bot <bot-id> [--channel <channel-id>]");
|
|
17
|
+
}
|
|
18
|
+
const [, botId, , requestedChannel] = parsed.data;
|
|
19
|
+
const signal = AbortSignal.any([parent, AbortSignal.timeout(30_000)]);
|
|
20
|
+
signal.throwIfAborted();
|
|
21
|
+
try {
|
|
22
|
+
const stateDirectory = await realpath(readStateDirectory(environment));
|
|
23
|
+
const auditDirectory = await realpath(join(stateDirectory, "audit"));
|
|
24
|
+
if (dirname(auditDirectory) !== stateDirectory) {
|
|
25
|
+
throw new LocalBotAuthorizationError("local_grant_invalid", "The local approval directory is outside the Mobius state directory");
|
|
26
|
+
}
|
|
27
|
+
const channels = [];
|
|
28
|
+
for (const entry of await readdir(auditDirectory, { withFileTypes: true })) {
|
|
29
|
+
signal.throwIfAborted();
|
|
30
|
+
if (!entry.isFile() || !entry.name.endsWith(".sqlite")) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const channelId = entry.name.slice(0, -7);
|
|
34
|
+
if (!identifier.safeParse(channelId).success ||
|
|
35
|
+
(requestedChannel !== undefined && requestedChannel !== channelId)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const databasePath = await realpath(join(auditDirectory, entry.name));
|
|
39
|
+
if (dirname(databasePath) !== auditDirectory) {
|
|
40
|
+
throw new LocalBotAuthorizationError("local_grant_invalid", "The local approval database is outside the Mobius audit directory");
|
|
41
|
+
}
|
|
42
|
+
if (LocalBotGrantStore.containsBot(databasePath, botId)) {
|
|
43
|
+
channels.push(channelId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const channelId = channels[0];
|
|
47
|
+
if (channelId === undefined) {
|
|
48
|
+
throw new LocalBotAuthorizationError("bot_not_found", "No saved approval for this Bot was found. Run this command on the machine hosting the Bot.");
|
|
49
|
+
}
|
|
50
|
+
if (channels.length !== 1) {
|
|
51
|
+
throw new LocalBotAuthorizationError("binding_ambiguous", `This Bot has approvals in multiple local channels. Add --channel with the intended channel: ${channels.join(", ")}`);
|
|
52
|
+
}
|
|
53
|
+
const { config } = await resumeMobiusRuntime(channelId, signal, environment);
|
|
54
|
+
signal.throwIfAborted();
|
|
55
|
+
const grants = new LocalBotGrantStore(config.auditDatabasePath);
|
|
56
|
+
try {
|
|
57
|
+
const approval = await grants.reapprove(botId, config.catalog, new WorkspaceDirectoryService(config.bindingId, config.defaultWorkspace), config.bindingId, Date.now(), signal);
|
|
58
|
+
return `Approved Bot ${botId}\nBinding: ${approval.bindingId}\nAgent: ${approval.agentRef}\nWorkspace: ${approval.workspacePath}\nKeep your daemon running and resend your message in the same Chat conversation.\n`;
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
grants.close();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
catch (cause) {
|
|
65
|
+
parent.throwIfAborted();
|
|
66
|
+
if (signal.aborted) {
|
|
67
|
+
throw new LocalBotAuthorizationError("approval_timeout", "Local Bot approval timed out", { cause });
|
|
68
|
+
}
|
|
69
|
+
if (cause instanceof LocalBotAuthorizationError) {
|
|
70
|
+
throw cause;
|
|
71
|
+
}
|
|
72
|
+
if (cause instanceof Error && "code" in cause && cause.code === "ENOENT") {
|
|
73
|
+
throw new LocalBotAuthorizationError("bot_not_found", "No saved local approval or Runtime connection was found for this Bot", { cause });
|
|
74
|
+
}
|
|
75
|
+
throw new LocalBotAuthorizationError("local_approval_failed", "Local Bot approval failed. Check the saved Runtime connection and local Agent installation.", { cause });
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=bot-approve-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bot-approve-command.js","sourceRoot":"","sources":["../../src/bots/bot-approve-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,14 @@ export declare class LocalBotGrant {
|
|
|
24
24
|
}
|
|
25
25
|
export declare class LocalBotGrantStore {
|
|
26
26
|
#private;
|
|
27
|
+
static readonly containsBot: (path: string, botId: string) => boolean;
|
|
27
28
|
constructor(path: string);
|
|
29
|
+
/** Only the local CLI may invoke this explicit approval transition. */
|
|
30
|
+
readonly reapprove: (botId: string, catalog: LocalAgentCatalog, directories: WorkspaceDirectoryService, bindingAuthorityId: string, now: number, signal: AbortSignal) => Promise<{
|
|
31
|
+
readonly bindingId: string;
|
|
32
|
+
readonly workspacePath: string;
|
|
33
|
+
readonly agentRef: string;
|
|
34
|
+
}>;
|
|
28
35
|
readonly approve: (request: BotExecutionBindingApprovalRequest, catalog: LocalAgentCatalog, directories: WorkspaceDirectoryService, bindingAuthorityId: string, now: number, signal: AbortSignal) => Promise<BotExecutionBindingApprovedEvent>;
|
|
29
36
|
readonly resolveExecution: (command: BotSessionPromptCommand, catalog: LocalAgentCatalog, directories: WorkspaceDirectoryService, bindingAuthorityId: string, now: number, signal: AbortSignal) => Promise<LocalBotGrant>;
|
|
30
37
|
readonly recordUnavailable: (request: BotExecutionBindingApprovalRequest, code: string, message: string, now: number) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-bot-grant-store.d.ts","sourceRoot":"","sources":["../../src/bots/local-bot-grant-store.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,kCAAkC,EACvC,gCAAgC,EAChC,KAAK,uBAAuB,EAC/B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"local-bot-grant-store.d.ts","sourceRoot":"","sources":["../../src/bots/local-bot-grant-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,23 @@ import { createHash, randomUUID } from "node:crypto";
|
|
|
2
2
|
import { stat } from "node:fs/promises";
|
|
3
3
|
import { DatabaseSync } from "node:sqlite";
|
|
4
4
|
import { BotExecutionBindingApprovedEvent, } from "@moxt-ai/mobius-protocol";
|
|
5
|
+
import { z } from "zod";
|
|
5
6
|
import { revalidateExecutable } from "../process/executable.js";
|
|
6
7
|
const LOCAL_BOT_GRANT_LIFETIME_MILLISECONDS = 90 * 24 * 60 * 60 * 1_000;
|
|
8
|
+
const identifier = z.string().regex(/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,127}$/);
|
|
9
|
+
const savedApprovalSchema = z
|
|
10
|
+
.object({
|
|
11
|
+
local_grant_id: identifier,
|
|
12
|
+
bot_id: identifier,
|
|
13
|
+
binding_id: identifier,
|
|
14
|
+
binding_revision: z.number().int().positive(),
|
|
15
|
+
agent_ref: identifier,
|
|
16
|
+
workspace_ref: z.string().min(1).max(2048),
|
|
17
|
+
revocation_epoch: z.number().int().nonnegative(),
|
|
18
|
+
agent_identity_digest: z.string().regex(/^[a-f0-9]{64}$/),
|
|
19
|
+
workspace_identity_digest: z.string().regex(/^[a-f0-9]{64}$/),
|
|
20
|
+
})
|
|
21
|
+
.readonly();
|
|
7
22
|
export class LocalBotAuthorizationError extends Error {
|
|
8
23
|
code;
|
|
9
24
|
constructor(code, message, options = {}) {
|
|
@@ -105,6 +120,21 @@ function parseTargets(encoded) {
|
|
|
105
120
|
}
|
|
106
121
|
export class LocalBotGrantStore {
|
|
107
122
|
#database;
|
|
123
|
+
static containsBot = (path, botId) => {
|
|
124
|
+
const database = new DatabaseSync(path, { readOnly: true });
|
|
125
|
+
try {
|
|
126
|
+
if (database
|
|
127
|
+
.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'local_bot_grants'")
|
|
128
|
+
.get() === undefined) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return (database.prepare("SELECT local_grant_id FROM local_bot_grants WHERE bot_id = ? LIMIT 1").get(botId) !==
|
|
132
|
+
undefined);
|
|
133
|
+
}
|
|
134
|
+
finally {
|
|
135
|
+
database.close();
|
|
136
|
+
}
|
|
137
|
+
};
|
|
108
138
|
constructor(path) {
|
|
109
139
|
this.#database = new DatabaseSync(path);
|
|
110
140
|
this.#database.exec(`
|
|
@@ -138,6 +168,65 @@ export class LocalBotGrantStore {
|
|
|
138
168
|
) STRICT;
|
|
139
169
|
`);
|
|
140
170
|
}
|
|
171
|
+
/** Only the local CLI may invoke this explicit approval transition. */
|
|
172
|
+
reapprove = async (botId, catalog, directories, bindingAuthorityId, now, signal) => {
|
|
173
|
+
signal.throwIfAborted();
|
|
174
|
+
if (!identifier.safeParse(botId).success) {
|
|
175
|
+
throw new LocalBotAuthorizationError("invalid_request", "The Bot ID is invalid");
|
|
176
|
+
}
|
|
177
|
+
const row = this.#database
|
|
178
|
+
.prepare("SELECT * FROM local_bot_grants WHERE bot_id = ? ORDER BY binding_revision DESC LIMIT 1")
|
|
179
|
+
.get(botId);
|
|
180
|
+
if (row === undefined) {
|
|
181
|
+
throw new LocalBotAuthorizationError("bot_not_found", "This machine has no saved approval for that Bot");
|
|
182
|
+
}
|
|
183
|
+
const parsed = savedApprovalSchema.safeParse(row);
|
|
184
|
+
if (!parsed.success) {
|
|
185
|
+
throw new LocalBotAuthorizationError("local_grant_invalid", "The saved Bot approval is invalid", {
|
|
186
|
+
cause: parsed.error,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
const saved = parsed.data;
|
|
190
|
+
const agent = catalog.find(saved.agent_ref);
|
|
191
|
+
if (!agent.capabilities.embeddedContextPrompt) {
|
|
192
|
+
throw new LocalBotAuthorizationError("binding_incompatible", "The local Agent cannot apply Bot context");
|
|
193
|
+
}
|
|
194
|
+
const [adapterUnchanged, agentUnchanged] = await Promise.all([
|
|
195
|
+
revalidateExecutable(agent.adapterIdentity),
|
|
196
|
+
revalidateExecutable(agent.agentIdentity),
|
|
197
|
+
]);
|
|
198
|
+
signal.throwIfAborted();
|
|
199
|
+
if (!adapterUnchanged || !agentUnchanged) {
|
|
200
|
+
throw new LocalBotAuthorizationError("binding_incompatible", "The local Agent executable changed before approval");
|
|
201
|
+
}
|
|
202
|
+
const workspacePath = await directories.resolve(bindingAuthorityId, saved.workspace_ref, signal);
|
|
203
|
+
const workspaceIdentityDigest = await workspaceDigest(workspacePath);
|
|
204
|
+
signal.throwIfAborted();
|
|
205
|
+
this.#database.exec("BEGIN IMMEDIATE");
|
|
206
|
+
try {
|
|
207
|
+
const result = this.#database
|
|
208
|
+
.prepare(`UPDATE local_bot_grants
|
|
209
|
+
SET agent_identity_digest = ?, workspace_identity_digest = ?, workspace_path = ?,
|
|
210
|
+
revoked_at = NULL, expires_at = ?, revocation_epoch = revocation_epoch + 1
|
|
211
|
+
WHERE local_grant_id = ? AND revocation_epoch = ?
|
|
212
|
+
AND agent_identity_digest = ? AND workspace_identity_digest = ?
|
|
213
|
+
AND binding_revision = (SELECT MAX(binding_revision) FROM local_bot_grants WHERE bot_id = ?)`)
|
|
214
|
+
.run(agentDigest(agent), workspaceIdentityDigest, workspacePath, now + LOCAL_BOT_GRANT_LIFETIME_MILLISECONDS, saved.local_grant_id, saved.revocation_epoch, saved.agent_identity_digest, saved.workspace_identity_digest, botId);
|
|
215
|
+
if (result.changes !== 1) {
|
|
216
|
+
throw new LocalBotAuthorizationError("binding_not_approved", "The Bot binding changed during approval; run the command again");
|
|
217
|
+
}
|
|
218
|
+
this.#database
|
|
219
|
+
.prepare(`INSERT INTO audit_events (recorded_at, event, command_id, session_id, details_json)
|
|
220
|
+
VALUES (?, 'bot_binding_locally_reapproved', ?, '', ?)`)
|
|
221
|
+
.run(new Date(now).toISOString(), saved.binding_id, JSON.stringify({ botId, bindingId: saved.binding_id, agentRef: saved.agent_ref }));
|
|
222
|
+
this.#database.exec("COMMIT");
|
|
223
|
+
}
|
|
224
|
+
catch (cause) {
|
|
225
|
+
this.#database.exec("ROLLBACK");
|
|
226
|
+
throw cause;
|
|
227
|
+
}
|
|
228
|
+
return { bindingId: saved.binding_id, workspacePath, agentRef: saved.agent_ref };
|
|
229
|
+
};
|
|
141
230
|
approve = async (request, catalog, directories, bindingAuthorityId, now, signal) => {
|
|
142
231
|
signal.throwIfAborted();
|
|
143
232
|
const existing = this.#database
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-bot-grant-store.js","sourceRoot":"","sources":["../../src/bots/local-bot-grant-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-bot-grant-store.js","sourceRoot":"","sources":["../../src/bots/local-bot-grant-store.ts"],"names":[],"mappings":"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"}
|