nawabari 0.10.1 → 0.10.3
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 +22 -6
- package/dist/cli-command-registry.js +28 -7
- package/dist/cli-command-registry.js.map +1 -1
- package/dist/cli.js +135 -34
- package/dist/cli.js.map +1 -1
- package/dist/contract.js +29 -2
- package/dist/contract.js.map +1 -1
- package/dist/domain/doctor.d.ts +7 -0
- package/dist/domain/doctor.js +177 -48
- package/dist/domain/doctor.js.map +1 -1
- package/dist/domain/fhs-development-runtime.d.ts +30 -2
- package/dist/domain/fhs-development-runtime.js +121 -5
- package/dist/domain/fhs-development-runtime.js.map +1 -1
- package/dist/domain/fhs-runtime.js +5 -1
- package/dist/domain/fhs-runtime.js.map +1 -1
- package/dist/domain/nix-runtime-closure.js +1 -0
- package/dist/domain/nix-runtime-closure.js.map +1 -1
- package/dist/domain/runtime-profile.js +1 -1
- package/dist/domain/runtime-profile.js.map +1 -1
- package/dist/domain/runtime-resolution.js +13 -3
- package/dist/domain/runtime-resolution.js.map +1 -1
- package/dist/domain/sandbox-launcher.js +48 -1
- package/dist/domain/sandbox-launcher.js.map +1 -1
- package/dist/domain/sandbox.d.ts +17 -1
- package/dist/domain/sandbox.js +33 -3
- package/dist/domain/sandbox.js.map +1 -1
- package/dist/domain/session-backend.d.ts +5 -1
- package/dist/domain/session-backend.js +55 -9
- package/dist/domain/session-backend.js.map +1 -1
- package/dist/domain/session.d.ts +30 -2
- package/dist/domain/session.js +9 -0
- package/dist/domain/session.js.map +1 -1
- package/dist/operation-authorization.d.ts +10 -0
- package/dist/operation-authorization.js +12 -1
- package/dist/operation-authorization.js.map +1 -1
- package/dist/presentation.js +6 -3
- package/dist/presentation.js.map +1 -1
- package/dist/session-registry.d.ts +15 -3
- package/dist/session-registry.js +104 -46
- package/dist/session-registry.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Nawabari is a local governance layer for parallel coding agents. It gives each a
|
|
|
4
4
|
|
|
5
5
|
It is for teams and tools that need several agents to work in one repository without silently sharing a worktree, overwriting one another's files, or guessing whether a session is safe to close. Nawabari is local-first: the session registry, Git observations, and authorization decisions do not require GitHub, `gh`, a network connection, or a particular agent runtime.
|
|
6
6
|
|
|
7
|
-
This README describes the current 0.
|
|
7
|
+
This README describes the current 0.10.x product model. It is an overview and navigation surface, not a copy of generated contracts or implementation history.
|
|
8
8
|
|
|
9
9
|
The product model is intentionally small:
|
|
10
10
|
|
|
@@ -29,12 +29,12 @@ The package installs both `nawabari` and `git-nawabari`; `git nawabari ...` work
|
|
|
29
29
|
|
|
30
30
|
## First session
|
|
31
31
|
|
|
32
|
-
Run from the repository's integration worktree
|
|
32
|
+
Run from the repository's integration worktree. `src/example.ts` below is a placeholder path; substitute a real file that exists in your repository.
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
35
|
nawabari capabilities --json
|
|
36
36
|
|
|
37
|
-
created=$(git nawabari session create --branch feature/example --
|
|
37
|
+
created=$(git nawabari session create --branch feature/example --json)
|
|
38
38
|
session_id=$(printf '%s' "$created" | jq -r .session_id)
|
|
39
39
|
worktree=$(printf '%s' "$created" | jq -r .worktree)
|
|
40
40
|
|
|
@@ -45,6 +45,8 @@ worktree=$(printf '%s' "$created" | jq -r .worktree)
|
|
|
45
45
|
(cd "$worktree" && git nawabari commit --session "$session_id" --all-claimed --message "Update example" --json)
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
`session create` provisions the new worktree under `<repository-parent>/.nawabari/worktrees` by default (discoverable via `status --json` as `managed_worktree_root`). Nawabari creates that managed subdirectory on first default placement. New exact `--worktree` paths must be under the reported root; an absolute path directly under the repository parent remains accepted for compatibility with older callers and persisted sessions.
|
|
49
|
+
|
|
48
50
|
`--all-claimed` is an explicit resource selector. It resolves safely observed Git-changed paths covered by qualifying claims; it does not bypass claim authorization. Use repeated `--resource <path>` when an explicit path list is preferable.
|
|
49
51
|
|
|
50
52
|
After reviewing and integrating the session branch:
|
|
@@ -88,7 +90,7 @@ session close ←────────────────────
|
|
|
88
90
|
|
|
89
91
|
If work is not integrated, `session inspect` reports bounded blockers and safe next actions. Discard is never an implicit fallback for close or garbage collection.
|
|
90
92
|
|
|
91
|
-
The Session lifecycle is backed by the executable XState authority in 0.
|
|
93
|
+
The Session lifecycle is backed by the executable XState authority in 0.10.x and exposed through public state, contract, and manifest projections. Consumers use those projections rather than internal machine nodes or actor objects.
|
|
92
94
|
|
|
93
95
|
### Claims
|
|
94
96
|
|
|
@@ -103,6 +105,14 @@ git nawabari session release --session "$session_id" --all --force --json
|
|
|
103
105
|
|
|
104
106
|
Resource aliases are discoverable through help. Use `--help --json` rather than copying option metadata into an integration.
|
|
105
107
|
|
|
108
|
+
Claim modes are cumulative. The canonical operation requirements are derived from the operation authorization policy and are shown by `session claim --help`:
|
|
109
|
+
|
|
110
|
+
- `read`: no governed operation
|
|
111
|
+
- `write`: `source-write`, `stage`
|
|
112
|
+
- `exclusive-write`: `source-write`, `stage`, `commit`, `branch-mutation`, `push`, `cleanup`
|
|
113
|
+
|
|
114
|
+
The policy requires `exclusive-write` for operations that finalize or remove shared state. This mapping is documentation of the executable authority, not a second claim policy; integrations should discover the current values from help or the machine contract.
|
|
115
|
+
|
|
106
116
|
### Inspect, close, discard, and garbage collection
|
|
107
117
|
|
|
108
118
|
`session inspect` is read-only and uses the same close/cleanup evidence as `session close`.
|
|
@@ -118,7 +128,13 @@ git nawabari session discard --session "$session_id" --preview --json
|
|
|
118
128
|
|
|
119
129
|
## Governed Git work
|
|
120
130
|
|
|
121
|
-
|
|
131
|
+
`guard` and `authorize` are separate read-only boundaries:
|
|
132
|
+
|
|
133
|
+
- `guard` without an operation verifies the current physical worktree, branch, and session ownership/context. It does not evaluate resource claims.
|
|
134
|
+
- `authorize` evaluates a named operation against concrete resources, using the canonical operation policy and active claims. It does not grant or persist claims.
|
|
135
|
+
- `guard --operation <name> --resource <path>` remains a compatibility convenience for the combined claim-aware check. Use `authorize` when the operation decision itself is the intended boundary.
|
|
136
|
+
|
|
137
|
+
The operation vocabulary is discoverable from the CLI and includes `source-write`, `stage`, `commit`, `branch-mutation`, `push`, and `cleanup`.
|
|
122
138
|
|
|
123
139
|
`checkpoint` and `evidence snapshot` describe Git-observable facts only. They do not infer task meaning, Issue ownership, or review status. `diff` requires explicit concrete paths and bounds optional patch output.
|
|
124
140
|
|
|
@@ -140,7 +156,7 @@ git nawabari session shell --session "$session_id" --runtime-policy compatibilit
|
|
|
140
156
|
|
|
141
157
|
The `--` terminator is mandatory. The command is passed as argv and is not interpreted by a shell. The canonical profile gives the child a private root, `/tmp`, `/proc`, HOME, and cache state, mounts only the owned worktree read-write, and does not expose sibling worktrees or Nawabari control paths. Network mode is explicitly `inherited`, not isolated. Required Linux capabilities fail closed when unavailable; optional Landlock and cgroups v2 provide defense in depth when available.
|
|
142
158
|
|
|
143
|
-
Protected execution defaults to the strict `development` runtime profile. Only declared Node, Git, and
|
|
159
|
+
Protected execution defaults to the strict `development` runtime profile. Only declared Node, Git, and the deterministic `ls` baseline utility are projected through `/nawabari/bin`; `/usr`, `/bin`, `/nix/store`, the host home, and local user-tool directories are not implicitly visible. pnpm is an explicit opt-in development requirement. Compatibility is available only through the explicit `--runtime-policy compatibility` option.
|
|
144
160
|
|
|
145
161
|
```bash
|
|
146
162
|
git nawabari doctor --json
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { DEFAULT_SESSION_LIST_LIMIT, MAX_SESSION_LIST_LIMIT } from "./domain/session.js";
|
|
2
|
-
import { OPERATION_VOCABULARY } from "./operation-authorization.js";
|
|
2
|
+
import { claimModeOperationRequirements, OPERATION_VOCABULARY } from "./operation-authorization.js";
|
|
3
3
|
import { EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS } from "./repository-evidence.js";
|
|
4
4
|
const CLI_NAME = "nawabari";
|
|
5
|
+
function claimModeRequirementsNote() {
|
|
6
|
+
const mapping = claimModeOperationRequirements()
|
|
7
|
+
.map(({ mode, operations }) => `${mode}: ${operations.length === 0 ? "none" : operations.join(", ")}`)
|
|
8
|
+
.join("; ");
|
|
9
|
+
return `Claim modes are cumulative. Canonical operation requirements by granted mode: ${mapping}. This is derived from OPERATION_AUTHORIZATION_POLICY.`;
|
|
10
|
+
}
|
|
5
11
|
export const GLOBAL_HELP_OPTIONS = [
|
|
6
12
|
{ name: "--json", description: "Emit one stable JSON document on stdout" },
|
|
7
13
|
{ name: "--help", aliases: ["-h"], description: "Show command-specific help" },
|
|
@@ -25,17 +31,18 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
25
31
|
value: "<name>",
|
|
26
32
|
default: "nawabari/session/<session_id>",
|
|
27
33
|
}),
|
|
28
|
-
option("--worktree", "Exact managed worktree path override; mutually exclusive with --worktree-root", {
|
|
34
|
+
option("--worktree", "Exact managed worktree path override; new paths must be under the managed root; historical absolute sibling paths remain compatible; mutually exclusive with --worktree-root", {
|
|
29
35
|
value: "<path>",
|
|
30
36
|
default: "<managed_worktree_root>/<repository>-<session_id>",
|
|
31
37
|
}),
|
|
32
|
-
option("--worktree-root", "Managed root to place the worktree under; Nawabari derives the final path. Mutually exclusive with --worktree", { value: "<path>", default: "
|
|
38
|
+
option("--worktree-root", "Managed root to place the worktree under; Nawabari derives the final path. Mutually exclusive with --worktree", { value: "<path>", default: "<repository-parent>/.nawabari/worktrees" }),
|
|
33
39
|
option("--base", "Commit-resolving base ref for the new worktree", { value: "<ref>", default: "HEAD" }),
|
|
34
40
|
option("--label", "Optional display label; never used as an identity", { value: "<text>", default: "omitted" }),
|
|
35
41
|
],
|
|
36
42
|
notes: [
|
|
37
43
|
"All create options are optional. Use status --json to discover managed_worktree_root.",
|
|
38
44
|
"--worktree and --worktree-root cannot be combined.",
|
|
45
|
+
"Without an override, Nawabari creates the safe managed root <repository-parent>/.nawabari/worktrees on first use. Existing absolute worktree paths directly under the repository parent remain accepted for compatibility.",
|
|
39
46
|
],
|
|
40
47
|
},
|
|
41
48
|
{
|
|
@@ -56,14 +63,16 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
56
63
|
{
|
|
57
64
|
name: "session inspect",
|
|
58
65
|
summary: "Report side-effect-free close/cleanup readiness for a session",
|
|
59
|
-
usage: `${CLI_NAME} session inspect [<session-id>|--session <id>] [--integrated-revision <rev>]`,
|
|
66
|
+
usage: `${CLI_NAME} session inspect [<session-id>|--session <id>] [--integrated-revision <rev>] [--schema-version <1|2>]`,
|
|
60
67
|
options: [
|
|
61
68
|
option("--session", "Select a session instead of the current worktree owner", { value: "<id>" }),
|
|
62
69
|
option("--integrated-revision", "Externally evidenced revision to test for non-ancestry (squash/rebase) integration; independently re-verified via exact Git tree-object equivalence, never trusted blindly", { value: "<rev>" }),
|
|
70
|
+
option("--schema-version", "Select the public diagnostic result schema; v1 preserves the legacy nested lifecycle copy and v2 is the single-authority projection", { value: "<1|2>", default: "1", values: ["1", "2"] }),
|
|
63
71
|
],
|
|
64
72
|
notes: [
|
|
65
73
|
"Read-only: never mutates session, claim, Git, worktree, branch, or registry state. Repeated calls are idempotent.",
|
|
66
74
|
"Derived from the same authoritative close/cleanup Git evidence as session close; does not duplicate or diverge from that logic.",
|
|
75
|
+
"The established unqualified result is schema v1. Schema v2 exposes lifecycle and next_actions once at the top level; garbage_collection retains explicit references to those authorities. Use --schema-version 2 to opt into v2.",
|
|
67
76
|
"Nawabari never queries GitHub or any remote provider; --integrated-revision only names a local revision for Nawabari to independently verify.",
|
|
68
77
|
"Target grammar: optional first positional <session-id> is an alias for --session <id>; do not supply both.",
|
|
69
78
|
],
|
|
@@ -140,6 +149,7 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
140
149
|
notes: [
|
|
141
150
|
"Exactly one --resource/--mode pair is required; --mode must immediately follow its own --resource.",
|
|
142
151
|
"Target grammar: optional first positional <session-id> is an alias for --session <id>; do not supply both.",
|
|
152
|
+
claimModeRequirementsNote(),
|
|
143
153
|
],
|
|
144
154
|
},
|
|
145
155
|
{
|
|
@@ -321,6 +331,10 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
321
331
|
repeatable: true,
|
|
322
332
|
}),
|
|
323
333
|
],
|
|
334
|
+
notes: [
|
|
335
|
+
"Read-only claim decision: checks the canonical operation policy and concrete resource claims; it does not grant, persist, or mutate claims.",
|
|
336
|
+
"Use guard to verify current worktree/session ownership without an operation; use authorize for the canonical claim-aware operation decision. guard --operation is a compatibility convenience for the combined check.",
|
|
337
|
+
],
|
|
324
338
|
},
|
|
325
339
|
{
|
|
326
340
|
name: "checkpoint",
|
|
@@ -442,7 +456,7 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
442
456
|
},
|
|
443
457
|
{
|
|
444
458
|
name: "guard",
|
|
445
|
-
summary: "
|
|
459
|
+
summary: "Verify current worktree/session ownership",
|
|
446
460
|
usage: `${CLI_NAME} guard [--session <id>] [--operation <name> --resource <path>]`,
|
|
447
461
|
options: [
|
|
448
462
|
option("--session", "Assert the current session identity", { value: "<id>" }),
|
|
@@ -452,6 +466,10 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
452
466
|
}),
|
|
453
467
|
option("--resource", "Concrete resource; repeatable with --operation", { value: "<path>" }),
|
|
454
468
|
],
|
|
469
|
+
notes: [
|
|
470
|
+
"Without --operation, verifies the current worktree, branch, and session ownership/context only; it does not evaluate resource claims.",
|
|
471
|
+
"With --operation and --resource, performs the combined claim-aware authorization check for compatibility. Use authorize when the operation decision is the intended boundary.",
|
|
472
|
+
],
|
|
455
473
|
},
|
|
456
474
|
{
|
|
457
475
|
name: "gc",
|
|
@@ -468,8 +486,11 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
468
486
|
{
|
|
469
487
|
name: "doctor",
|
|
470
488
|
summary: "Check local Nawabari prerequisites and reconciliation",
|
|
471
|
-
usage: `${CLI_NAME} doctor`,
|
|
472
|
-
options: [],
|
|
489
|
+
usage: `${CLI_NAME} doctor [--summary]`,
|
|
490
|
+
options: [option("--summary", "Emit a bounded summary with counts and actionable drift/error diagnostics")],
|
|
491
|
+
notes: [
|
|
492
|
+
"The default report retains the complete machine-readable check details. --summary omits healthy and closed history rows while retaining all actionable reconciliation issues.",
|
|
493
|
+
],
|
|
473
494
|
},
|
|
474
495
|
{
|
|
475
496
|
name: "migrate",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-command-registry.js","sourceRoot":"","sources":["../src/cli-command-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-command-registry.js","sourceRoot":"","sources":["../src/cli-command-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
|
-
import { runDoctor } from "./domain/doctor.js";
|
|
3
|
-
import { DomainError, EXIT_CODES, failure } from "./domain/errors.js";
|
|
2
|
+
import { runDoctor, summarizeDoctorReport } from "./domain/doctor.js";
|
|
3
|
+
import { DomainError, EXIT_CODES, failure, } from "./domain/errors.js";
|
|
4
4
|
import { MAX_SESSION_LIST_LIMIT, } from "./domain/session.js";
|
|
5
5
|
import { EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS } from "./repository-evidence.js";
|
|
6
6
|
import { isResourceClaimMode } from "./resource-claims.js";
|
|
@@ -8,7 +8,7 @@ import { OPERATION_VOCABULARY } from "./operation-authorization.js";
|
|
|
8
8
|
import { createLocalSessionBackend } from "./domain/session-backend.js";
|
|
9
9
|
import { defaultCliIO, renderFailure, renderSuccess } from "./presentation.js";
|
|
10
10
|
import { MACHINE_CONTRACT_ID, MACHINE_CONTRACT_SCHEMA_VERSION, machineContract } from "./contract.js";
|
|
11
|
-
import { resolveSandboxExecutionRequest, runSandboxedCommand, CANONICAL_EXECUTABLE_ROOT, } from "./domain/sandbox.js";
|
|
11
|
+
import { resolveSandboxExecutionRequest, runSandboxedCommand, discoverSandboxRuntimeLayout, CANONICAL_EXECUTABLE_ROOT, } from "./domain/sandbox.js";
|
|
12
12
|
import { EXPLICIT_COMPATIBILITY_RUNTIME_POLICY, STRICT_RUNTIME_POLICY, } from "./domain/runtime-projection.js";
|
|
13
13
|
const CLI_NAME = "nawabari";
|
|
14
14
|
const packageMetadata = createRequire(import.meta.url)("../package.json");
|
|
@@ -62,7 +62,7 @@ export const DISPATCHER_OPTION_INVENTORY = {
|
|
|
62
62
|
"session create": ["--branch", "--worktree", "--worktree-root", "--base", "--label"],
|
|
63
63
|
"session id": [],
|
|
64
64
|
"session show": ["--session"],
|
|
65
|
-
"session inspect": ["--session", "--integrated-revision"],
|
|
65
|
+
"session inspect": ["--session", "--integrated-revision", "--schema-version"],
|
|
66
66
|
"session run": ["--session", "--runtime-policy"],
|
|
67
67
|
"session shell": ["--session", "--runtime-policy"],
|
|
68
68
|
"session list": ["--all", "--history", "--limit", "--offset"],
|
|
@@ -100,7 +100,7 @@ export const DISPATCHER_OPTION_INVENTORY = {
|
|
|
100
100
|
status: ["--all", "--history", "--limit", "--offset"],
|
|
101
101
|
guard: ["--session", "--operation", "--resource"],
|
|
102
102
|
gc: ["--apply", "--dry-run"],
|
|
103
|
-
doctor: [],
|
|
103
|
+
doctor: ["--summary"],
|
|
104
104
|
migrate: [],
|
|
105
105
|
capabilities: [],
|
|
106
106
|
};
|
|
@@ -366,6 +366,8 @@ function parseOptions(arguments_, allowed) {
|
|
|
366
366
|
fetch_branch: null,
|
|
367
367
|
preview: false,
|
|
368
368
|
runtime_policy: null,
|
|
369
|
+
schema_version: null,
|
|
370
|
+
summary: false,
|
|
369
371
|
};
|
|
370
372
|
let dryRun = false;
|
|
371
373
|
for (let index = 0; index < arguments_.length; index += 1) {
|
|
@@ -381,7 +383,8 @@ function parseOptions(arguments_, allowed) {
|
|
|
381
383
|
name === "--all" ||
|
|
382
384
|
name === "--history" ||
|
|
383
385
|
name === "--patch" ||
|
|
384
|
-
name === "--preview"
|
|
386
|
+
name === "--preview" ||
|
|
387
|
+
name === "--summary") {
|
|
385
388
|
if (inlineValue !== null) {
|
|
386
389
|
return failure(usageError("INVALID_ARGUMENT", `${name} does not accept a value.`, { option: name }));
|
|
387
390
|
}
|
|
@@ -401,8 +404,10 @@ function parseOptions(arguments_, allowed) {
|
|
|
401
404
|
options.history = true;
|
|
402
405
|
else if (name === "--patch")
|
|
403
406
|
options.patch = true;
|
|
404
|
-
else
|
|
407
|
+
else if (name === "--preview")
|
|
405
408
|
options.preview = true;
|
|
409
|
+
else
|
|
410
|
+
options.summary = true;
|
|
406
411
|
continue;
|
|
407
412
|
}
|
|
408
413
|
const value = inlineValue ?? arguments_[index + 1];
|
|
@@ -472,6 +477,15 @@ function parseOptions(arguments_, allowed) {
|
|
|
472
477
|
options.max_hunks = value;
|
|
473
478
|
else if (name === "--integrated-revision")
|
|
474
479
|
options.integrated_revision = value;
|
|
480
|
+
else if (name === "--schema-version") {
|
|
481
|
+
if (value !== "1" && value !== "2") {
|
|
482
|
+
return failure(usageError("INVALID_ARGUMENT", "--schema-version requires 1 or 2.", {
|
|
483
|
+
option: "--schema-version",
|
|
484
|
+
values: ["1", "2"],
|
|
485
|
+
}));
|
|
486
|
+
}
|
|
487
|
+
options.schema_version = value === "1" ? 1 : 2;
|
|
488
|
+
}
|
|
475
489
|
else if (name === "--fetch-remote")
|
|
476
490
|
options.fetch_remote = value;
|
|
477
491
|
else if (name === "--fetch-branch")
|
|
@@ -1169,6 +1183,7 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
1169
1183
|
const options = {
|
|
1170
1184
|
session_id: parsed.value.session_id,
|
|
1171
1185
|
integrated_revision: parsed.value.integrated_revision,
|
|
1186
|
+
...(parsed.value.schema_version === null ? {} : { schema_version: parsed.value.schema_version }),
|
|
1172
1187
|
};
|
|
1173
1188
|
const result = await dependencies.backend.sessionDiagnostic(context, options);
|
|
1174
1189
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
@@ -1482,17 +1497,7 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
1482
1497
|
if (result.value.allowed)
|
|
1483
1498
|
return { ok: true, value: result.value };
|
|
1484
1499
|
const code = result.value.code === "ALLOWED" ? "OPERATION_REJECTED" : result.value.code;
|
|
1485
|
-
return failure(new DomainError(code, `Guard denied the current worktree: ${code}.`,
|
|
1486
|
-
allowed: false,
|
|
1487
|
-
repository: result.value.repository,
|
|
1488
|
-
worktree: result.value.worktree,
|
|
1489
|
-
branch: result.value.branch,
|
|
1490
|
-
session_id: result.value.session_id,
|
|
1491
|
-
owner_session_id: result.value.owner_session_id,
|
|
1492
|
-
requested_session_id: result.value.requested_session_id,
|
|
1493
|
-
state: result.value.state,
|
|
1494
|
-
details: result.value.details,
|
|
1495
|
-
}));
|
|
1500
|
+
return failure(new DomainError(code, `Guard denied the current worktree: ${code}.`, guardRejectionDetails(result.value)));
|
|
1496
1501
|
}
|
|
1497
1502
|
if (command === "gc") {
|
|
1498
1503
|
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), dispatcherAllowedOptions("gc"));
|
|
@@ -1503,18 +1508,19 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
1503
1508
|
return result.ok ? { ok: true, value: result.value } : result;
|
|
1504
1509
|
}
|
|
1505
1510
|
if (command === "doctor") {
|
|
1506
|
-
const parsed =
|
|
1511
|
+
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), dispatcherAllowedOptions("doctor"));
|
|
1507
1512
|
if (!parsed.ok)
|
|
1508
1513
|
return parsed;
|
|
1509
1514
|
const report = await runDoctor(dependencies.cwd, dependencies.sandboxProbe, undefined, dependencies.sandboxRuntimeLayout);
|
|
1510
1515
|
if (!report.ok)
|
|
1511
1516
|
return report;
|
|
1517
|
+
const projected = parsed.value.summary
|
|
1518
|
+
? summarizeDoctorReport(report.value)
|
|
1519
|
+
: report.value;
|
|
1512
1520
|
if (report.value.ok)
|
|
1513
|
-
return { ok: true, value:
|
|
1521
|
+
return { ok: true, value: projected };
|
|
1514
1522
|
return failure(new DomainError("DOCTOR_FAILED", "One or more local Nawabari checks failed.", {
|
|
1515
|
-
|
|
1516
|
-
repository: report.value.repository,
|
|
1517
|
-
sandbox: report.value.sandbox,
|
|
1523
|
+
...projected,
|
|
1518
1524
|
}));
|
|
1519
1525
|
}
|
|
1520
1526
|
if (command === "migrate") {
|
|
@@ -1581,13 +1587,41 @@ function mutationCapabilityUnavailable(operation) {
|
|
|
1581
1587
|
}
|
|
1582
1588
|
function deniedAuthorization(decision) {
|
|
1583
1589
|
const code = decision.code === "ALLOWED" ? "OPERATION_REJECTED" : decision.code;
|
|
1584
|
-
const diagnosticDetails = code === "INSUFFICIENT_CLAIM_MODE"
|
|
1585
|
-
? {
|
|
1586
|
-
resource: decision.details.resource,
|
|
1587
|
-
granted_modes: decision.details.grantedModes,
|
|
1588
|
-
}
|
|
1589
|
-
: {};
|
|
1590
1590
|
return failure(new DomainError(code, `Operation denied: ${code}.`, {
|
|
1591
|
+
...authorizationRejectionDetails(decision, code === "RESOURCE_CLAIM_CONFLICT"),
|
|
1592
|
+
}));
|
|
1593
|
+
}
|
|
1594
|
+
const AUTHORIZATION_DETAIL_KEYS = new Set([
|
|
1595
|
+
"allowed",
|
|
1596
|
+
"schema_version",
|
|
1597
|
+
"operation",
|
|
1598
|
+
"required_access",
|
|
1599
|
+
"repository",
|
|
1600
|
+
"worktree",
|
|
1601
|
+
"branch",
|
|
1602
|
+
"session_id",
|
|
1603
|
+
"owner_session_id",
|
|
1604
|
+
"requested_session_id",
|
|
1605
|
+
"state",
|
|
1606
|
+
"resources",
|
|
1607
|
+
"details",
|
|
1608
|
+
"mode",
|
|
1609
|
+
]);
|
|
1610
|
+
function guardRejectionDetails(decision) {
|
|
1611
|
+
return {
|
|
1612
|
+
allowed: false,
|
|
1613
|
+
repository: decision.repository,
|
|
1614
|
+
worktree: decision.worktree,
|
|
1615
|
+
branch: decision.branch,
|
|
1616
|
+
session_id: decision.session_id,
|
|
1617
|
+
owner_session_id: decision.owner_session_id,
|
|
1618
|
+
requested_session_id: decision.requested_session_id,
|
|
1619
|
+
state: decision.state,
|
|
1620
|
+
...normalizeRejectionDetails(decision.details, false),
|
|
1621
|
+
};
|
|
1622
|
+
}
|
|
1623
|
+
function authorizationRejectionDetails(decision, mapConflictOwner) {
|
|
1624
|
+
return {
|
|
1591
1625
|
allowed: false,
|
|
1592
1626
|
schema_version: decision.schema_version,
|
|
1593
1627
|
operation: decision.operation,
|
|
@@ -1600,9 +1634,60 @@ function deniedAuthorization(decision) {
|
|
|
1600
1634
|
requested_session_id: decision.requested_session_id,
|
|
1601
1635
|
state: decision.state,
|
|
1602
1636
|
resources: decision.resources,
|
|
1603
|
-
...
|
|
1604
|
-
|
|
1605
|
-
|
|
1637
|
+
...normalizeRejectionDetails(decision.details, mapConflictOwner),
|
|
1638
|
+
};
|
|
1639
|
+
}
|
|
1640
|
+
function normalizeRejectionDetails(details, mapConflictOwner) {
|
|
1641
|
+
const normalized = {};
|
|
1642
|
+
const visit = (source) => {
|
|
1643
|
+
for (const [key, value] of Object.entries(source).sort(([left], [right]) => compareCliKeys(left, right))) {
|
|
1644
|
+
const snakeKey = snakeCaseCliKey(key);
|
|
1645
|
+
if (snakeKey === "details" && value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
1646
|
+
visit(value);
|
|
1647
|
+
continue;
|
|
1648
|
+
}
|
|
1649
|
+
const canonicalKey = mapConflictOwner ? conflictOwnerKey(snakeKey) : snakeKey;
|
|
1650
|
+
if (AUTHORIZATION_DETAIL_KEYS.has(canonicalKey) || canonicalKey === "allowed")
|
|
1651
|
+
continue;
|
|
1652
|
+
if (!(canonicalKey in normalized))
|
|
1653
|
+
normalized[canonicalKey] = normalizeRejectionValue(value);
|
|
1654
|
+
}
|
|
1655
|
+
};
|
|
1656
|
+
visit(details);
|
|
1657
|
+
return normalized;
|
|
1658
|
+
}
|
|
1659
|
+
function conflictOwnerKey(key) {
|
|
1660
|
+
return ({
|
|
1661
|
+
owner_session_id: "blocking_session_id",
|
|
1662
|
+
owner_claim_id: "blocking_claim_id",
|
|
1663
|
+
owner_resource: "blocking_resource",
|
|
1664
|
+
owner_mode: "blocking_mode",
|
|
1665
|
+
owner_worktree: "blocking_worktree",
|
|
1666
|
+
owner_branch: "blocking_branch",
|
|
1667
|
+
owner_state: "blocking_state",
|
|
1668
|
+
owner_label: "blocking_label",
|
|
1669
|
+
}[key] ?? key);
|
|
1670
|
+
}
|
|
1671
|
+
function normalizeRejectionValue(value) {
|
|
1672
|
+
if (Array.isArray(value))
|
|
1673
|
+
return value.map(normalizeRejectionValue);
|
|
1674
|
+
if (value === null || typeof value !== "object")
|
|
1675
|
+
return value;
|
|
1676
|
+
const normalized = {};
|
|
1677
|
+
for (const [key, child] of Object.entries(value).sort(([left], [right]) => compareCliKeys(left, right))) {
|
|
1678
|
+
normalized[snakeCaseCliKey(key)] = normalizeRejectionValue(child);
|
|
1679
|
+
}
|
|
1680
|
+
return normalized;
|
|
1681
|
+
}
|
|
1682
|
+
function snakeCaseCliKey(key) {
|
|
1683
|
+
return key
|
|
1684
|
+
.replace(/([A-Z]+)([A-Z][a-z])/gu, "$1_$2")
|
|
1685
|
+
.replace(/([a-z0-9])([A-Z])/gu, "$1_$2")
|
|
1686
|
+
.replace(/[\s-]+/gu, "_")
|
|
1687
|
+
.toLowerCase();
|
|
1688
|
+
}
|
|
1689
|
+
function compareCliKeys(left, right) {
|
|
1690
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
1606
1691
|
}
|
|
1607
1692
|
function emitFailure(mode, command, error, io) {
|
|
1608
1693
|
io[mode === "json" ? "stdout" : "stderr"](renderFailure(mode, command, error));
|
|
@@ -1703,13 +1788,29 @@ export async function runCli(argv, dependencies = {}) {
|
|
|
1703
1788
|
const command = commandName(parsed.value.commandArguments);
|
|
1704
1789
|
const cwd = dependencies.cwd ?? process.cwd();
|
|
1705
1790
|
try {
|
|
1706
|
-
|
|
1791
|
+
// Managed commits use the same bounded host-identity discovery as the
|
|
1792
|
+
// sandbox request path. The resulting backend projection contains only
|
|
1793
|
+
// user.name/user.email; the host HOME and full global Git config remain
|
|
1794
|
+
// outside the governed subprocess.
|
|
1795
|
+
const runtimeLayout = dependencies.sandboxRuntimeLayout ??
|
|
1796
|
+
(dependencies.backend === undefined && command === "commit" ? discoverSandboxRuntimeLayout() : undefined);
|
|
1797
|
+
const backend = dependencies.backend ??
|
|
1798
|
+
createLocalSessionBackend({
|
|
1799
|
+
...(runtimeLayout === undefined
|
|
1800
|
+
? {}
|
|
1801
|
+
: {
|
|
1802
|
+
gitIdentity: {
|
|
1803
|
+
host_global_name: runtimeLayout.git_user_name,
|
|
1804
|
+
host_global_email: runtimeLayout.git_user_email,
|
|
1805
|
+
},
|
|
1806
|
+
}),
|
|
1807
|
+
});
|
|
1707
1808
|
const result = await executeCommand(parsed.value.commandArguments, {
|
|
1708
1809
|
backend,
|
|
1709
1810
|
cwd,
|
|
1710
1811
|
sandboxRunner: dependencies.sandboxRunner,
|
|
1711
1812
|
sandboxProbe: dependencies.sandboxProbe,
|
|
1712
|
-
sandboxRuntimeLayout:
|
|
1813
|
+
sandboxRuntimeLayout: runtimeLayout,
|
|
1713
1814
|
sandboxRuntimeProjection: dependencies.sandboxRuntimeProjection,
|
|
1714
1815
|
});
|
|
1715
1816
|
if (!result.ok) {
|