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/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 for mutation",
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: ["--branch", "--worktree", "--base", "--label", "--session"],
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 = { version: dependencies.version ?? VERSION };
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;