nawabari 0.1.0 → 0.2.0
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 +213 -5
- package/dist/cli.js +320 -6
- package/dist/cli.js.map +1 -1
- package/dist/contract.d.ts +9 -0
- package/dist/contract.js +172 -0
- package/dist/contract.js.map +1 -0
- package/dist/domain/doctor.d.ts +1 -1
- package/dist/domain/doctor.js +99 -90
- package/dist/domain/doctor.js.map +1 -1
- package/dist/domain/errors.d.ts +1 -1
- package/dist/domain/errors.js +5 -1
- package/dist/domain/errors.js.map +1 -1
- package/dist/domain/session-backend.d.ts +11 -1
- package/dist/domain/session-backend.js +247 -3
- package/dist/domain/session-backend.js.map +1 -1
- package/dist/domain/session.d.ts +131 -0
- package/dist/domain/session.js +6 -0
- package/dist/domain/session.js.map +1 -1
- package/dist/errors.d.ts +2 -2
- package/dist/errors.js.map +1 -1
- package/dist/git.d.ts +40 -0
- package/dist/git.js +415 -30
- package/dist/git.js.map +1 -1
- package/dist/operation-authorization.d.ts +73 -0
- package/dist/operation-authorization.js +42 -0
- package/dist/operation-authorization.js.map +1 -0
- package/dist/presentation.js +49 -19
- package/dist/presentation.js.map +1 -1
- package/dist/resource-claims.d.ts +65 -0
- package/dist/resource-claims.js +398 -0
- package/dist/resource-claims.js.map +1 -0
- package/dist/session-registry.d.ts +215 -1
- package/dist/session-registry.js +1749 -185
- package/dist/session-registry.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -3,6 +3,7 @@ import { runDoctor } from "./domain/doctor.js";
|
|
|
3
3
|
import { DomainError, EXIT_CODES, failure } from "./domain/errors.js";
|
|
4
4
|
import { createLocalSessionBackend } from "./domain/session-backend.js";
|
|
5
5
|
import { defaultCliIO, renderFailure, renderSuccess } from "./presentation.js";
|
|
6
|
+
import { MACHINE_CONTRACT_ID, MACHINE_CONTRACT_SCHEMA_VERSION, machineContract } from "./contract.js";
|
|
6
7
|
const CLI_NAME = "nawabari";
|
|
7
8
|
const packageMetadata = createRequire(import.meta.url)("../package.json");
|
|
8
9
|
const VERSION = packageMetadata.version;
|
|
@@ -14,11 +15,20 @@ const HELP_TEXT = [
|
|
|
14
15
|
" session id Resolve the current session identity",
|
|
15
16
|
" session show Show the current or selected session",
|
|
16
17
|
" session list List repository sessions",
|
|
18
|
+
" session claim Add a canonical resource claim",
|
|
19
|
+
" session update Replace a session's resource claims",
|
|
20
|
+
" session claims List canonical resource claims",
|
|
21
|
+
" session release Release resource claims",
|
|
17
22
|
" session close Close the current or selected session",
|
|
23
|
+
" authorize Authorize an operation against concrete claims",
|
|
24
|
+
" checkpoint Capture bounded Git execution evidence",
|
|
25
|
+
" commit Commit explicit claim-authorized resources",
|
|
26
|
+
" push Push the owned branch to an explicit target",
|
|
18
27
|
" status Show Nawabari session status",
|
|
19
|
-
" guard [--session id] Authorize the current worktree
|
|
28
|
+
" guard [--session id] Authorize the current worktree or operation",
|
|
20
29
|
" gc Detect or clean eligible stale sessions",
|
|
21
30
|
" doctor Check local Nawabari prerequisites",
|
|
31
|
+
" capabilities Describe the standalone CLI/JSON contract",
|
|
22
32
|
" --help Show this help",
|
|
23
33
|
" --version Print the installed version",
|
|
24
34
|
"",
|
|
@@ -29,6 +39,12 @@ const HELP_TEXT = [
|
|
|
29
39
|
"Session options:",
|
|
30
40
|
" session create --branch <name> --worktree <path> --base <ref> --label <text>",
|
|
31
41
|
" session show|close --session <id>",
|
|
42
|
+
" session claim|update --session <id> --resource <path-or-glob> --mode <read|write|exclusive-write>",
|
|
43
|
+
" session claims|release --session <id> [--claim-id <id>]",
|
|
44
|
+
" authorize --session <id> --operation <name> --resource <path> [--resource <path>]",
|
|
45
|
+
" checkpoint [--session <id>]",
|
|
46
|
+
" commit --message <final-message> --resource <path> [--resource <path>] [--session <id>]",
|
|
47
|
+
" push --remote <name> --branch <name> --resource <path> [--create-upstream] [--force] [--session <id>]",
|
|
32
48
|
" gc [--dry-run|--apply]",
|
|
33
49
|
].join("\n");
|
|
34
50
|
const HELP_DATA = {
|
|
@@ -38,14 +54,41 @@ const HELP_DATA = {
|
|
|
38
54
|
"session id",
|
|
39
55
|
"session show",
|
|
40
56
|
"session list",
|
|
57
|
+
"session claim",
|
|
58
|
+
"session update",
|
|
59
|
+
"session claims",
|
|
60
|
+
"session release",
|
|
61
|
+
"resource claim",
|
|
62
|
+
"resource update",
|
|
63
|
+
"resource list",
|
|
64
|
+
"resource release",
|
|
41
65
|
"session close",
|
|
66
|
+
"authorize",
|
|
67
|
+
"checkpoint",
|
|
68
|
+
"commit",
|
|
69
|
+
"push",
|
|
42
70
|
"status",
|
|
43
71
|
"guard",
|
|
44
72
|
"gc",
|
|
45
73
|
"doctor",
|
|
74
|
+
"capabilities",
|
|
46
75
|
],
|
|
47
76
|
options: ["--json", "--help", "--version"],
|
|
48
|
-
session_options: [
|
|
77
|
+
session_options: [
|
|
78
|
+
"--branch",
|
|
79
|
+
"--worktree",
|
|
80
|
+
"--base",
|
|
81
|
+
"--label",
|
|
82
|
+
"--session",
|
|
83
|
+
"--resource",
|
|
84
|
+
"--mode",
|
|
85
|
+
"--claim-id",
|
|
86
|
+
"--repository",
|
|
87
|
+
],
|
|
88
|
+
authorization_options: ["--session", "--operation", "--resource"],
|
|
89
|
+
checkpoint_options: ["--session"],
|
|
90
|
+
commit_options: ["--session", "--message", "--resource"],
|
|
91
|
+
push_options: ["--session", "--resource", "--remote", "--branch", "--remote-branch", "--force", "--create-upstream"],
|
|
49
92
|
gc_options: ["--apply", "--dry-run"],
|
|
50
93
|
};
|
|
51
94
|
function usageError(code, message, details = null) {
|
|
@@ -91,7 +134,18 @@ function parseOptions(arguments_, allowed) {
|
|
|
91
134
|
worktree: null,
|
|
92
135
|
base: null,
|
|
93
136
|
label: null,
|
|
137
|
+
resource: null,
|
|
138
|
+
resources: [],
|
|
139
|
+
operation: null,
|
|
140
|
+
message: null,
|
|
141
|
+
remote: null,
|
|
142
|
+
remote_branch: null,
|
|
143
|
+
mode: null,
|
|
144
|
+
claim_id: null,
|
|
145
|
+
repository: null,
|
|
94
146
|
apply: false,
|
|
147
|
+
force: false,
|
|
148
|
+
create_upstream: false,
|
|
95
149
|
};
|
|
96
150
|
let dryRun = false;
|
|
97
151
|
for (let index = 0; index < arguments_.length; index += 1) {
|
|
@@ -99,14 +153,18 @@ function parseOptions(arguments_, allowed) {
|
|
|
99
153
|
if (!allowed.has(name)) {
|
|
100
154
|
return failure(usageError("INVALID_ARGUMENT", `Unknown option: ${name}.`, { option: name }));
|
|
101
155
|
}
|
|
102
|
-
if (name === "--apply" || name === "--dry-run") {
|
|
156
|
+
if (name === "--apply" || name === "--dry-run" || name === "--force" || name === "--create-upstream") {
|
|
103
157
|
if (inlineValue !== null) {
|
|
104
158
|
return failure(usageError("INVALID_ARGUMENT", `${name} does not accept a value.`, { option: name }));
|
|
105
159
|
}
|
|
106
160
|
if (name === "--apply")
|
|
107
161
|
options.apply = true;
|
|
108
|
-
else
|
|
162
|
+
else if (name === "--dry-run")
|
|
109
163
|
dryRun = true;
|
|
164
|
+
else if (name === "--force")
|
|
165
|
+
options.force = true;
|
|
166
|
+
else
|
|
167
|
+
options.create_upstream = true;
|
|
110
168
|
continue;
|
|
111
169
|
}
|
|
112
170
|
const value = inlineValue ?? arguments_[index + 1];
|
|
@@ -125,6 +183,24 @@ function parseOptions(arguments_, allowed) {
|
|
|
125
183
|
options.base = value;
|
|
126
184
|
else if (name === "--label")
|
|
127
185
|
options.label = value;
|
|
186
|
+
else if (name === "--resource") {
|
|
187
|
+
options.resource = value;
|
|
188
|
+
options.resources.push(value);
|
|
189
|
+
}
|
|
190
|
+
else if (name === "--operation")
|
|
191
|
+
options.operation = value;
|
|
192
|
+
else if (name === "--message")
|
|
193
|
+
options.message = value;
|
|
194
|
+
else if (name === "--remote")
|
|
195
|
+
options.remote = value;
|
|
196
|
+
else if (name === "--remote-branch")
|
|
197
|
+
options.remote_branch = value;
|
|
198
|
+
else if (name === "--mode")
|
|
199
|
+
options.mode = value;
|
|
200
|
+
else if (name === "--claim-id")
|
|
201
|
+
options.claim_id = value;
|
|
202
|
+
else if (name === "--repository")
|
|
203
|
+
options.repository = value;
|
|
128
204
|
}
|
|
129
205
|
if (options.apply && dryRun) {
|
|
130
206
|
return failure(usageError("INVALID_ARGUMENT", "--apply and --dry-run cannot be used together."));
|
|
@@ -147,6 +223,48 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
147
223
|
if (subcommand === undefined) {
|
|
148
224
|
return failure(usageError("MISSING_ARGUMENT", "session requires a subcommand."));
|
|
149
225
|
}
|
|
226
|
+
if (subcommand === "claim" || subcommand === "update") {
|
|
227
|
+
const parsed = parseOptions(rest, new Set(["--session", "--resource", "--mode", "--repository"]));
|
|
228
|
+
if (!parsed.ok)
|
|
229
|
+
return parsed;
|
|
230
|
+
if (parsed.value.resource === null) {
|
|
231
|
+
return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
|
|
232
|
+
}
|
|
233
|
+
if (parsed.value.mode === null) {
|
|
234
|
+
return failure(usageError("MISSING_ARGUMENT", "--mode requires a value.", { option: "--mode" }));
|
|
235
|
+
}
|
|
236
|
+
const options = {
|
|
237
|
+
session_id: parsed.value.session_id,
|
|
238
|
+
repository: parsed.value.repository,
|
|
239
|
+
claims: [{ resource: parsed.value.resource, mode: parsed.value.mode }],
|
|
240
|
+
};
|
|
241
|
+
const operation = subcommand === "claim" ? dependencies.backend.claimResources : dependencies.backend.updateClaims;
|
|
242
|
+
if (operation === undefined)
|
|
243
|
+
return claimCapabilityUnavailable(subcommand);
|
|
244
|
+
const result = await operation.call(dependencies.backend, context, options);
|
|
245
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
246
|
+
}
|
|
247
|
+
if (subcommand === "claims") {
|
|
248
|
+
const parsed = parseOptions(rest, new Set(["--session"]));
|
|
249
|
+
if (!parsed.ok)
|
|
250
|
+
return parsed;
|
|
251
|
+
if (dependencies.backend.listClaims === undefined)
|
|
252
|
+
return claimCapabilityUnavailable("claims");
|
|
253
|
+
const result = await dependencies.backend.listClaims(context, parsed.value.session_id);
|
|
254
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
255
|
+
}
|
|
256
|
+
if (subcommand === "release") {
|
|
257
|
+
const parsed = parseOptions(rest, new Set(["--session", "--claim-id"]));
|
|
258
|
+
if (!parsed.ok)
|
|
259
|
+
return parsed;
|
|
260
|
+
if (dependencies.backend.releaseClaims === undefined)
|
|
261
|
+
return claimCapabilityUnavailable("release");
|
|
262
|
+
const result = await dependencies.backend.releaseClaims(context, {
|
|
263
|
+
session_id: parsed.value.session_id,
|
|
264
|
+
claim_ids: parsed.value.claim_id === null ? null : [parsed.value.claim_id],
|
|
265
|
+
});
|
|
266
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
267
|
+
}
|
|
150
268
|
if (subcommand === "create") {
|
|
151
269
|
const parsed = parseOptions(rest, new Set(["--branch", "--worktree", "--base", "--label"]));
|
|
152
270
|
if (!parsed.ok)
|
|
@@ -190,6 +308,133 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
190
308
|
}
|
|
191
309
|
return failure(new DomainError("UNKNOWN_COMMAND", `Unknown session subcommand: ${subcommand}.`, { subcommand }));
|
|
192
310
|
}
|
|
311
|
+
if (command === "resource") {
|
|
312
|
+
const resourceSubcommand = subcommand ?? "list";
|
|
313
|
+
if (resourceSubcommand === "claim" || resourceSubcommand === "update") {
|
|
314
|
+
const parsed = parseOptions(rest, new Set(["--session", "--resource", "--mode", "--repository"]));
|
|
315
|
+
if (!parsed.ok)
|
|
316
|
+
return parsed;
|
|
317
|
+
if (parsed.value.resource === null || parsed.value.mode === null) {
|
|
318
|
+
return failure(usageError("MISSING_ARGUMENT", "resource claim requires --resource and --mode."));
|
|
319
|
+
}
|
|
320
|
+
const operation = resourceSubcommand === "claim" ? dependencies.backend.claimResources : dependencies.backend.updateClaims;
|
|
321
|
+
if (operation === undefined)
|
|
322
|
+
return claimCapabilityUnavailable(resourceSubcommand);
|
|
323
|
+
const result = await operation.call(dependencies.backend, context, {
|
|
324
|
+
session_id: parsed.value.session_id,
|
|
325
|
+
repository: parsed.value.repository,
|
|
326
|
+
claims: [{ resource: parsed.value.resource, mode: parsed.value.mode }],
|
|
327
|
+
});
|
|
328
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
329
|
+
}
|
|
330
|
+
if (resourceSubcommand === "list" || resourceSubcommand === "claims") {
|
|
331
|
+
const parsed = parseOptions(rest, new Set(["--session"]));
|
|
332
|
+
if (!parsed.ok)
|
|
333
|
+
return parsed;
|
|
334
|
+
if (dependencies.backend.listClaims === undefined)
|
|
335
|
+
return claimCapabilityUnavailable("list");
|
|
336
|
+
const result = await dependencies.backend.listClaims(context, parsed.value.session_id);
|
|
337
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
338
|
+
}
|
|
339
|
+
if (resourceSubcommand === "release") {
|
|
340
|
+
const parsed = parseOptions(rest, new Set(["--session", "--claim-id"]));
|
|
341
|
+
if (!parsed.ok)
|
|
342
|
+
return parsed;
|
|
343
|
+
if (dependencies.backend.releaseClaims === undefined)
|
|
344
|
+
return claimCapabilityUnavailable("release");
|
|
345
|
+
const result = await dependencies.backend.releaseClaims(context, {
|
|
346
|
+
session_id: parsed.value.session_id,
|
|
347
|
+
claim_ids: parsed.value.claim_id === null ? null : [parsed.value.claim_id],
|
|
348
|
+
});
|
|
349
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
350
|
+
}
|
|
351
|
+
return failure(new DomainError("UNKNOWN_COMMAND", `Unknown resource subcommand: ${resourceSubcommand}.`, {
|
|
352
|
+
subcommand: resourceSubcommand,
|
|
353
|
+
}));
|
|
354
|
+
}
|
|
355
|
+
if (command === "authorize") {
|
|
356
|
+
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), new Set(["--session", "--operation", "--resource"]));
|
|
357
|
+
if (!parsed.ok)
|
|
358
|
+
return parsed;
|
|
359
|
+
if (parsed.value.operation === null) {
|
|
360
|
+
return failure(usageError("MISSING_ARGUMENT", "--operation requires a value.", { option: "--operation" }));
|
|
361
|
+
}
|
|
362
|
+
if (parsed.value.resources.length === 0) {
|
|
363
|
+
return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
|
|
364
|
+
}
|
|
365
|
+
if (dependencies.backend.authorizeOperation === undefined)
|
|
366
|
+
return authorizationCapabilityUnavailable();
|
|
367
|
+
const options = {
|
|
368
|
+
session_id: parsed.value.session_id,
|
|
369
|
+
operation: parsed.value.operation,
|
|
370
|
+
resources: parsed.value.resources,
|
|
371
|
+
};
|
|
372
|
+
const result = await dependencies.backend.authorizeOperation(context, options);
|
|
373
|
+
if (!result.ok)
|
|
374
|
+
return result;
|
|
375
|
+
return result.value.allowed
|
|
376
|
+
? { ok: true, value: result.value }
|
|
377
|
+
: deniedAuthorization(result.value);
|
|
378
|
+
}
|
|
379
|
+
if (command === "checkpoint") {
|
|
380
|
+
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), new Set(["--session"]));
|
|
381
|
+
if (!parsed.ok)
|
|
382
|
+
return parsed;
|
|
383
|
+
if (dependencies.backend.checkpoint === undefined)
|
|
384
|
+
return checkpointCapabilityUnavailable();
|
|
385
|
+
const options = { session_id: parsed.value.session_id };
|
|
386
|
+
const result = await dependencies.backend.checkpoint(context, options);
|
|
387
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
388
|
+
}
|
|
389
|
+
if (command === "commit") {
|
|
390
|
+
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), new Set(["--session", "--message", "--resource"]));
|
|
391
|
+
if (!parsed.ok)
|
|
392
|
+
return parsed;
|
|
393
|
+
if (parsed.value.message === null) {
|
|
394
|
+
return failure(usageError("MISSING_ARGUMENT", "--message requires a value.", { option: "--message" }));
|
|
395
|
+
}
|
|
396
|
+
if (parsed.value.resources.length === 0) {
|
|
397
|
+
return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
|
|
398
|
+
}
|
|
399
|
+
if (dependencies.backend.commit === undefined)
|
|
400
|
+
return mutationCapabilityUnavailable("commit");
|
|
401
|
+
const result = await dependencies.backend.commit(context, {
|
|
402
|
+
session_id: parsed.value.session_id,
|
|
403
|
+
message: parsed.value.message,
|
|
404
|
+
resources: parsed.value.resources,
|
|
405
|
+
});
|
|
406
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
407
|
+
}
|
|
408
|
+
if (command === "push") {
|
|
409
|
+
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), new Set(["--session", "--resource", "--remote", "--branch", "--remote-branch", "--force", "--create-upstream"]));
|
|
410
|
+
if (!parsed.ok)
|
|
411
|
+
return parsed;
|
|
412
|
+
if (parsed.value.remote === null) {
|
|
413
|
+
return failure(usageError("MISSING_ARGUMENT", "--remote requires a value.", { option: "--remote" }));
|
|
414
|
+
}
|
|
415
|
+
if (parsed.value.branch === null && parsed.value.remote_branch === null) {
|
|
416
|
+
return failure(usageError("MISSING_ARGUMENT", "--branch requires a value.", { option: "--branch" }));
|
|
417
|
+
}
|
|
418
|
+
if (parsed.value.branch !== null &&
|
|
419
|
+
parsed.value.remote_branch !== null &&
|
|
420
|
+
parsed.value.branch !== parsed.value.remote_branch) {
|
|
421
|
+
return failure(usageError("INVALID_ARGUMENT", "--branch and --remote-branch must identify the same target."));
|
|
422
|
+
}
|
|
423
|
+
if (parsed.value.resources.length === 0) {
|
|
424
|
+
return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
|
|
425
|
+
}
|
|
426
|
+
if (dependencies.backend.push === undefined)
|
|
427
|
+
return mutationCapabilityUnavailable("push");
|
|
428
|
+
const result = await dependencies.backend.push(context, {
|
|
429
|
+
session_id: parsed.value.session_id,
|
|
430
|
+
resources: parsed.value.resources,
|
|
431
|
+
remote: parsed.value.remote,
|
|
432
|
+
branch: parsed.value.branch ?? parsed.value.remote_branch,
|
|
433
|
+
force: parsed.value.force,
|
|
434
|
+
create_upstream: parsed.value.create_upstream,
|
|
435
|
+
});
|
|
436
|
+
return result.ok ? { ok: true, value: result.value } : result;
|
|
437
|
+
}
|
|
193
438
|
if (command === "status") {
|
|
194
439
|
const parsed = noOptions([subcommand, ...rest].filter((argument) => argument !== undefined));
|
|
195
440
|
if (!parsed.ok)
|
|
@@ -198,9 +443,31 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
198
443
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
199
444
|
}
|
|
200
445
|
if (command === "guard") {
|
|
201
|
-
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), new Set(["--session"]));
|
|
446
|
+
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), new Set(["--session", "--operation", "--resource"]));
|
|
202
447
|
if (!parsed.ok)
|
|
203
448
|
return parsed;
|
|
449
|
+
if (parsed.value.resources.length > 0 && parsed.value.operation === null) {
|
|
450
|
+
return failure(usageError("MISSING_ARGUMENT", "--operation is required when --resource is provided.", {
|
|
451
|
+
option: "--operation",
|
|
452
|
+
}));
|
|
453
|
+
}
|
|
454
|
+
if (parsed.value.operation !== null) {
|
|
455
|
+
if (parsed.value.resources.length === 0) {
|
|
456
|
+
return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
|
|
457
|
+
}
|
|
458
|
+
if (dependencies.backend.authorizeOperation === undefined)
|
|
459
|
+
return authorizationCapabilityUnavailable();
|
|
460
|
+
const result = await dependencies.backend.authorizeOperation(context, {
|
|
461
|
+
session_id: parsed.value.session_id,
|
|
462
|
+
operation: parsed.value.operation,
|
|
463
|
+
resources: parsed.value.resources,
|
|
464
|
+
});
|
|
465
|
+
if (!result.ok)
|
|
466
|
+
return result;
|
|
467
|
+
return result.value.allowed
|
|
468
|
+
? { ok: true, value: result.value }
|
|
469
|
+
: deniedAuthorization(result.value);
|
|
470
|
+
}
|
|
204
471
|
const result = await dependencies.backend.guard(context, { session_id: parsed.value.session_id });
|
|
205
472
|
if (!result.ok)
|
|
206
473
|
return result;
|
|
@@ -248,8 +515,44 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
248
515
|
function commandName(commandArguments) {
|
|
249
516
|
if (commandArguments[0] === "session")
|
|
250
517
|
return commandArguments.slice(0, 2).join(" ");
|
|
518
|
+
if (commandArguments[0] === "resource")
|
|
519
|
+
return commandArguments.slice(0, 2).join(" ");
|
|
251
520
|
return commandArguments[0] ?? "cli";
|
|
252
521
|
}
|
|
522
|
+
function claimCapabilityUnavailable(operation) {
|
|
523
|
+
return failure(new DomainError("BACKEND_UNAVAILABLE", "Resource claim capability is not available.", { operation }));
|
|
524
|
+
}
|
|
525
|
+
function authorizationCapabilityUnavailable() {
|
|
526
|
+
return failure(new DomainError("BACKEND_UNAVAILABLE", "Operation authorization capability is not available.", {
|
|
527
|
+
operation: "authorize",
|
|
528
|
+
}));
|
|
529
|
+
}
|
|
530
|
+
function checkpointCapabilityUnavailable() {
|
|
531
|
+
return failure(new DomainError("BACKEND_UNAVAILABLE", "Checkpoint evidence capability is not available.", {
|
|
532
|
+
operation: "checkpoint",
|
|
533
|
+
}));
|
|
534
|
+
}
|
|
535
|
+
function mutationCapabilityUnavailable(operation) {
|
|
536
|
+
return failure(new DomainError("BACKEND_UNAVAILABLE", "Governed Git mutation capability is not available.", { operation }));
|
|
537
|
+
}
|
|
538
|
+
function deniedAuthorization(decision) {
|
|
539
|
+
const code = decision.code === "ALLOWED" ? "OPERATION_REJECTED" : decision.code;
|
|
540
|
+
return failure(new DomainError(code, `Operation denied: ${code}.`, {
|
|
541
|
+
allowed: false,
|
|
542
|
+
schema_version: decision.schema_version,
|
|
543
|
+
operation: decision.operation,
|
|
544
|
+
required_access: decision.required_access,
|
|
545
|
+
repository: decision.repository,
|
|
546
|
+
worktree: decision.worktree,
|
|
547
|
+
branch: decision.branch,
|
|
548
|
+
session_id: decision.session_id,
|
|
549
|
+
owner_session_id: decision.owner_session_id,
|
|
550
|
+
requested_session_id: decision.requested_session_id,
|
|
551
|
+
state: decision.state,
|
|
552
|
+
resources: decision.resources,
|
|
553
|
+
details: decision.details,
|
|
554
|
+
}));
|
|
555
|
+
}
|
|
253
556
|
function emitFailure(mode, command, error, io) {
|
|
254
557
|
io[mode === "json" ? "stdout" : "stderr"](renderFailure(mode, command, error));
|
|
255
558
|
return error.exitCode;
|
|
@@ -268,7 +571,11 @@ export async function runCli(argv, dependencies = {}) {
|
|
|
268
571
|
return EXIT_CODES.success;
|
|
269
572
|
}
|
|
270
573
|
if (parsed.value.version) {
|
|
271
|
-
const payload = {
|
|
574
|
+
const payload = {
|
|
575
|
+
version: dependencies.version ?? VERSION,
|
|
576
|
+
contract_id: MACHINE_CONTRACT_ID,
|
|
577
|
+
contract_schema_version: MACHINE_CONTRACT_SCHEMA_VERSION,
|
|
578
|
+
};
|
|
272
579
|
if (mode === "json")
|
|
273
580
|
io.stdout(renderSuccess(mode, "version", payload));
|
|
274
581
|
else
|
|
@@ -281,6 +588,13 @@ export async function runCli(argv, dependencies = {}) {
|
|
|
281
588
|
io.stdout(HELP_TEXT);
|
|
282
589
|
return EXIT_CODES.usage;
|
|
283
590
|
}
|
|
591
|
+
if (parsed.value.commandArguments[0] === "capabilities") {
|
|
592
|
+
const capabilityOptions = noOptions(parsed.value.commandArguments.slice(1));
|
|
593
|
+
if (!capabilityOptions.ok)
|
|
594
|
+
return emitFailure(mode, "capabilities", capabilityOptions.error, io);
|
|
595
|
+
io.stdout(renderSuccess(mode, "capabilities", machineContract(dependencies.version ?? VERSION)));
|
|
596
|
+
return EXIT_CODES.success;
|
|
597
|
+
}
|
|
284
598
|
const command = commandName(parsed.value.commandArguments);
|
|
285
599
|
const cwd = dependencies.cwd ?? process.cwd();
|
|
286
600
|
try {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { JsonObject } from "./domain/errors.js";
|
|
2
|
+
/** Stable discovery identifier for the standalone local execution contract. */
|
|
3
|
+
export declare const MACHINE_CONTRACT_ID: "nawabari.standalone-execution.v1";
|
|
4
|
+
export declare const MACHINE_CONTRACT_SCHEMA_VERSION: 1;
|
|
5
|
+
/**
|
|
6
|
+
* Return a JSON-safe description of the installed machine contract.
|
|
7
|
+
* Discovery intentionally has no repository or network precondition.
|
|
8
|
+
*/
|
|
9
|
+
export declare function machineContract(packageVersion: string): JsonObject;
|