nawabari 0.9.2 → 0.10.2
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 +142 -803
- package/dist/cli-command-registry.js +46 -6
- package/dist/cli-command-registry.js.map +1 -1
- package/dist/cli.d.ts +5 -3
- package/dist/cli.js +157 -34
- package/dist/cli.js.map +1 -1
- package/dist/contract.js +11 -3
- package/dist/contract.js.map +1 -1
- package/dist/domain/compatibility-runtime-projection.d.ts +24 -0
- package/dist/domain/compatibility-runtime-projection.js +197 -0
- package/dist/domain/compatibility-runtime-projection.js.map +1 -0
- package/dist/domain/doctor.d.ts +2 -2
- package/dist/domain/doctor.js +72 -51
- 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/fhs-development-runtime.d.ts +90 -0
- package/dist/domain/fhs-development-runtime.js +385 -0
- package/dist/domain/fhs-development-runtime.js.map +1 -0
- package/dist/domain/fhs-runtime.d.ts +36 -0
- package/dist/domain/fhs-runtime.js +776 -0
- package/dist/domain/fhs-runtime.js.map +1 -0
- package/dist/domain/landlock.d.ts +11 -4
- package/dist/domain/landlock.js +44 -21
- package/dist/domain/landlock.js.map +1 -1
- package/dist/domain/nix-runtime-closure.d.ts +70 -0
- package/dist/domain/nix-runtime-closure.js +449 -0
- package/dist/domain/nix-runtime-closure.js.map +1 -0
- package/dist/domain/pnpm-middleware-backend-materialization.d.ts +117 -0
- package/dist/domain/pnpm-middleware-backend-materialization.js +311 -0
- package/dist/domain/pnpm-middleware-backend-materialization.js.map +1 -0
- package/dist/domain/runtime-executable-projection.d.ts +33 -0
- package/dist/domain/runtime-executable-projection.js +204 -0
- package/dist/domain/runtime-executable-projection.js.map +1 -0
- package/dist/domain/runtime-file-identity.d.ts +37 -0
- package/dist/domain/runtime-file-identity.js +114 -0
- package/dist/domain/runtime-file-identity.js.map +1 -0
- package/dist/domain/runtime-profile.d.ts +66 -0
- package/dist/domain/runtime-profile.js +356 -0
- package/dist/domain/runtime-profile.js.map +1 -0
- package/dist/domain/runtime-projection.d.ts +101 -0
- package/dist/domain/runtime-projection.js +316 -0
- package/dist/domain/runtime-projection.js.map +1 -0
- package/dist/domain/runtime-provider-pnpm-middleware.d.ts +41 -0
- package/dist/domain/runtime-provider-pnpm-middleware.js +316 -0
- package/dist/domain/runtime-provider-pnpm-middleware.js.map +1 -0
- package/dist/domain/runtime-provider-tgrep.d.ts +60 -0
- package/dist/domain/runtime-provider-tgrep.js +537 -0
- package/dist/domain/runtime-provider-tgrep.js.map +1 -0
- package/dist/domain/runtime-resolution.d.ts +57 -0
- package/dist/domain/runtime-resolution.js +242 -0
- package/dist/domain/runtime-resolution.js.map +1 -0
- package/dist/domain/sandbox-launcher.d.ts +7 -0
- package/dist/domain/sandbox-launcher.js +380 -56
- package/dist/domain/sandbox-launcher.js.map +1 -1
- package/dist/domain/sandbox.d.ts +59 -4
- package/dist/domain/sandbox.js +100 -5
- package/dist/domain/sandbox.js.map +1 -1
- package/dist/domain/session-backend.js +20 -1
- package/dist/domain/session-backend.js.map +1 -1
- package/dist/domain/session.d.ts +3 -2
- package/dist/domain/session.js.map +1 -1
- package/dist/domain/tgrep-runtime-materialization.d.ts +61 -0
- package/dist/domain/tgrep-runtime-materialization.js +172 -0
- package/dist/domain/tgrep-runtime-materialization.js.map +1 -0
- 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 +11 -3
- package/dist/session-registry.js +61 -45
- package/dist/session-registry.js.map +1 -1
- package/package.json +3 -1
|
@@ -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
|
{
|
|
@@ -72,13 +79,37 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
72
79
|
name: "session run",
|
|
73
80
|
aliases: ["session exec"],
|
|
74
81
|
summary: "Run one command inside the protected session sandbox",
|
|
75
|
-
usage: `${CLI_NAME} session run [--session <id>] -- <command> [args...]`,
|
|
76
|
-
options: [
|
|
82
|
+
usage: `${CLI_NAME} session run [--session <id>] [--runtime-policy <strict|compatibility>] -- <command> [args...]`,
|
|
83
|
+
options: [
|
|
84
|
+
option("--session", "Select the active owned session", { value: "<id>" }),
|
|
85
|
+
option("--runtime-policy", "Select strict default-deny or explicit compatibility runtime visibility", {
|
|
86
|
+
value: "<strict|compatibility>",
|
|
87
|
+
default: "strict",
|
|
88
|
+
values: ["strict", "compatibility"],
|
|
89
|
+
}),
|
|
90
|
+
],
|
|
77
91
|
notes: [
|
|
78
92
|
"The -- terminator is mandatory. The command is passed as argv without a shell, and protected execution is fail-closed.",
|
|
79
93
|
"session exec is an alias.",
|
|
80
94
|
],
|
|
81
95
|
},
|
|
96
|
+
{
|
|
97
|
+
name: "session shell",
|
|
98
|
+
summary: "Run an explicitly projected shell inside the protected session sandbox",
|
|
99
|
+
usage: `${CLI_NAME} session shell [--session <id>] [--runtime-policy <strict|compatibility>] -- <projected-shell> [args...]`,
|
|
100
|
+
options: [
|
|
101
|
+
option("--session", "Select the active owned session", { value: "<id>" }),
|
|
102
|
+
option("--runtime-policy", "Select strict default-deny or explicit compatibility runtime visibility", {
|
|
103
|
+
value: "<strict|compatibility>",
|
|
104
|
+
default: "strict",
|
|
105
|
+
values: ["strict", "compatibility"],
|
|
106
|
+
}),
|
|
107
|
+
],
|
|
108
|
+
notes: [
|
|
109
|
+
"The -- terminator is mandatory. The projected shell is resolved only through /nawabari/bin and receives inherited stdio.",
|
|
110
|
+
"Nawabari does not parse shell syntax or select a host/default shell.",
|
|
111
|
+
],
|
|
112
|
+
},
|
|
82
113
|
{
|
|
83
114
|
name: "session list",
|
|
84
115
|
summary: "List bounded repository session records",
|
|
@@ -116,6 +147,7 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
116
147
|
notes: [
|
|
117
148
|
"Exactly one --resource/--mode pair is required; --mode must immediately follow its own --resource.",
|
|
118
149
|
"Target grammar: optional first positional <session-id> is an alias for --session <id>; do not supply both.",
|
|
150
|
+
claimModeRequirementsNote(),
|
|
119
151
|
],
|
|
120
152
|
},
|
|
121
153
|
{
|
|
@@ -297,6 +329,10 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
297
329
|
repeatable: true,
|
|
298
330
|
}),
|
|
299
331
|
],
|
|
332
|
+
notes: [
|
|
333
|
+
"Read-only claim decision: checks the canonical operation policy and concrete resource claims; it does not grant, persist, or mutate claims.",
|
|
334
|
+
"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.",
|
|
335
|
+
],
|
|
300
336
|
},
|
|
301
337
|
{
|
|
302
338
|
name: "checkpoint",
|
|
@@ -418,7 +454,7 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
418
454
|
},
|
|
419
455
|
{
|
|
420
456
|
name: "guard",
|
|
421
|
-
summary: "
|
|
457
|
+
summary: "Verify current worktree/session ownership",
|
|
422
458
|
usage: `${CLI_NAME} guard [--session <id>] [--operation <name> --resource <path>]`,
|
|
423
459
|
options: [
|
|
424
460
|
option("--session", "Assert the current session identity", { value: "<id>" }),
|
|
@@ -428,6 +464,10 @@ export const CLI_COMMAND_REGISTRY = [
|
|
|
428
464
|
}),
|
|
429
465
|
option("--resource", "Concrete resource; repeatable with --operation", { value: "<path>" }),
|
|
430
466
|
],
|
|
467
|
+
notes: [
|
|
468
|
+
"Without --operation, verifies the current worktree, branch, and session ownership/context only; it does not evaluate resource claims.",
|
|
469
|
+
"With --operation and --resource, performs the combined claim-aware authorization check for compatibility. Use authorize when the operation decision is the intended boundary.",
|
|
470
|
+
],
|
|
431
471
|
},
|
|
432
472
|
{
|
|
433
473
|
name: "gc",
|
|
@@ -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.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type DomainResult } from "./domain/errors.js";
|
|
2
2
|
import { type SessionBackend } from "./domain/session.js";
|
|
3
3
|
import { type CliIO } from "./presentation.js";
|
|
4
|
-
import { type SandboxCommand, type SandboxExecutionResult, type SandboxProbe, type SandboxRuntimeLayout } from "./domain/sandbox.js";
|
|
4
|
+
import { type SandboxCommand, type SandboxExecutionResult, type SandboxLauncherOptions, type SandboxProbe, type SandboxRuntimeLayout } from "./domain/sandbox.js";
|
|
5
5
|
export { CLI_COMMAND_REGISTRY, COMMAND_REGISTRY, publicCliCommandDefinitions, publicCliCommandNames, resolveCliCommandDefinition, canonicalCommandForName, } from "./cli-command-registry.js";
|
|
6
6
|
export type { CliCommandDefinition, CliHelpOptionSpec } from "./cli-command-registry.js";
|
|
7
7
|
/**
|
|
@@ -9,7 +9,7 @@ export type { CliCommandDefinition, CliHelpOptionSpec } from "./cli-command-regi
|
|
|
9
9
|
* this inventory makes the executable surface explicit for structural parity
|
|
10
10
|
* checks. Aliases are listed because they are public entry points too.
|
|
11
11
|
*/
|
|
12
|
-
export declare const DISPATCHER_COMMAND_INVENTORY: readonly ["session create", "session id", "session show", "session inspect", "session run", "session exec", "session list", "session claim", "resource claim", "session update", "resource update", "session mutate", "resource mutate", "session transition", "resource transition", "session claims", "resource list", "resource claims", "session release", "resource release", "session close", "session discard", "authorize", "checkpoint", "evidence snapshot", "diff", "commit", "push", "status", "guard", "gc", "doctor", "migrate", "capabilities"];
|
|
12
|
+
export declare const DISPATCHER_COMMAND_INVENTORY: readonly ["session create", "session id", "session show", "session inspect", "session run", "session exec", "session shell", "session list", "session claim", "resource claim", "session update", "resource update", "session mutate", "resource mutate", "session transition", "resource transition", "session claims", "resource list", "resource claims", "session release", "resource release", "session close", "session discard", "authorize", "checkpoint", "evidence snapshot", "diff", "commit", "push", "status", "guard", "gc", "doctor", "migrate", "capabilities"];
|
|
13
13
|
/** Dispatcher option inventory, keyed by canonical registry command identity. */
|
|
14
14
|
export declare const DISPATCHER_OPTION_INVENTORY: Readonly<Record<string, readonly string[]>>;
|
|
15
15
|
/** Return the registry-backed option set used by a specialized dispatcher parser. */
|
|
@@ -25,8 +25,10 @@ export type CliDependencies = {
|
|
|
25
25
|
cwd?: string;
|
|
26
26
|
io?: CliIO;
|
|
27
27
|
version?: string;
|
|
28
|
-
sandboxRunner?: (request: import("./domain/sandbox.js").SandboxExecutionRequest, command: SandboxCommand) => Promise<DomainResult<SandboxExecutionResult>>;
|
|
28
|
+
sandboxRunner?: (request: import("./domain/sandbox.js").SandboxExecutionRequest, command: SandboxCommand, options?: SandboxLauncherOptions) => Promise<DomainResult<SandboxExecutionResult>>;
|
|
29
29
|
sandboxProbe?: SandboxProbe;
|
|
30
30
|
sandboxRuntimeLayout?: SandboxRuntimeLayout;
|
|
31
|
+
/** Validated runtime projection forwarded to sandbox resolution; test/integration seam. */
|
|
32
|
+
sandboxRuntimeProjection?: import("./domain/sandbox.js").SandboxExecutionOptions["runtime_projection"];
|
|
31
33
|
};
|
|
32
34
|
export declare function runCli(argv: string[], dependencies?: CliDependencies): Promise<number>;
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire } from "node:module";
|
|
2
2
|
import { runDoctor } from "./domain/doctor.js";
|
|
3
|
-
import { DomainError, EXIT_CODES, failure } from "./domain/errors.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,8 @@ 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, } from "./domain/sandbox.js";
|
|
11
|
+
import { resolveSandboxExecutionRequest, runSandboxedCommand, CANONICAL_EXECUTABLE_ROOT, } from "./domain/sandbox.js";
|
|
12
|
+
import { EXPLICIT_COMPATIBILITY_RUNTIME_POLICY, STRICT_RUNTIME_POLICY, } from "./domain/runtime-projection.js";
|
|
12
13
|
const CLI_NAME = "nawabari";
|
|
13
14
|
const packageMetadata = createRequire(import.meta.url)("../package.json");
|
|
14
15
|
const VERSION = packageMetadata.version;
|
|
@@ -26,6 +27,7 @@ export const DISPATCHER_COMMAND_INVENTORY = [
|
|
|
26
27
|
"session inspect",
|
|
27
28
|
"session run",
|
|
28
29
|
"session exec",
|
|
30
|
+
"session shell",
|
|
29
31
|
"session list",
|
|
30
32
|
"session claim",
|
|
31
33
|
"resource claim",
|
|
@@ -61,7 +63,8 @@ export const DISPATCHER_OPTION_INVENTORY = {
|
|
|
61
63
|
"session id": [],
|
|
62
64
|
"session show": ["--session"],
|
|
63
65
|
"session inspect": ["--session", "--integrated-revision"],
|
|
64
|
-
"session run": ["--session"],
|
|
66
|
+
"session run": ["--session", "--runtime-policy"],
|
|
67
|
+
"session shell": ["--session", "--runtime-policy"],
|
|
65
68
|
"session list": ["--all", "--history", "--limit", "--offset"],
|
|
66
69
|
"session claim": ["--resource", "--mode", "--session", "--repository"],
|
|
67
70
|
"session update": ["--resource", "--mode", "--if-generation", "--force", "--session", "--repository"],
|
|
@@ -275,6 +278,14 @@ const HELP_TEXT = helpText(ROOT_HELP_SPEC);
|
|
|
275
278
|
function usageError(code, message, details = null) {
|
|
276
279
|
return new DomainError(code, message, details);
|
|
277
280
|
}
|
|
281
|
+
function projectedShellPath(shell) {
|
|
282
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9+._-]*$/u.test(shell)) {
|
|
283
|
+
return failure(usageError("INVALID_ARGUMENT", "session shell requires a projected shell executable basename after --.", {
|
|
284
|
+
shell,
|
|
285
|
+
}));
|
|
286
|
+
}
|
|
287
|
+
return { ok: true, value: `${CANONICAL_EXECUTABLE_ROOT}/${shell}` };
|
|
288
|
+
}
|
|
278
289
|
function parseGlobalArguments(argv) {
|
|
279
290
|
let json = false;
|
|
280
291
|
let help = false;
|
|
@@ -354,6 +365,7 @@ function parseOptions(arguments_, allowed) {
|
|
|
354
365
|
fetch_remote: null,
|
|
355
366
|
fetch_branch: null,
|
|
356
367
|
preview: false,
|
|
368
|
+
runtime_policy: null,
|
|
357
369
|
};
|
|
358
370
|
let dryRun = false;
|
|
359
371
|
for (let index = 0; index < arguments_.length; index += 1) {
|
|
@@ -401,6 +413,19 @@ function parseOptions(arguments_, allowed) {
|
|
|
401
413
|
index += 1;
|
|
402
414
|
if (name === "--session")
|
|
403
415
|
options.session_id = value;
|
|
416
|
+
else if (name === "--runtime-policy") {
|
|
417
|
+
if (options.runtime_policy !== null) {
|
|
418
|
+
return failure(usageError("INVALID_ARGUMENT", "--runtime-policy may be supplied only once.", { option: name }));
|
|
419
|
+
}
|
|
420
|
+
if (value !== "strict" && value !== "compatibility") {
|
|
421
|
+
return failure(usageError("INVALID_ARGUMENT", "--runtime-policy requires strict or compatibility.", {
|
|
422
|
+
option: name,
|
|
423
|
+
value,
|
|
424
|
+
values: ["strict", "compatibility"],
|
|
425
|
+
}));
|
|
426
|
+
}
|
|
427
|
+
options.runtime_policy = value;
|
|
428
|
+
}
|
|
404
429
|
else if (name === "--branch")
|
|
405
430
|
options.branch = value;
|
|
406
431
|
else if (name === "--worktree")
|
|
@@ -1004,29 +1029,52 @@ async function executeRelease(arguments_, backend, context, operation) {
|
|
|
1004
1029
|
* there is no ambient child-process path to select when resolution or launch
|
|
1005
1030
|
* fails.
|
|
1006
1031
|
*/
|
|
1007
|
-
async function executeProtectedSessionCommand(arguments_, dependencies, context) {
|
|
1032
|
+
async function executeProtectedSessionCommand(arguments_, dependencies, context, interactive = false) {
|
|
1033
|
+
const commandName = interactive ? "session shell" : "session run";
|
|
1008
1034
|
const delimiter = arguments_.indexOf("--");
|
|
1009
1035
|
if (delimiter === -1) {
|
|
1010
|
-
return failure(usageError("MISSING_ARGUMENT",
|
|
1036
|
+
return failure(usageError("MISSING_ARGUMENT", `${commandName} requires a -- terminator before the command.`));
|
|
1011
1037
|
}
|
|
1012
|
-
const parsed = parseOptions(arguments_.slice(0, delimiter), new Set(["--session"]));
|
|
1038
|
+
const parsed = parseOptions(arguments_.slice(0, delimiter), new Set(["--session", "--runtime-policy"]));
|
|
1013
1039
|
if (!parsed.ok)
|
|
1014
1040
|
return parsed;
|
|
1015
1041
|
const command = arguments_[delimiter + 1];
|
|
1016
1042
|
if (command === undefined || command.length === 0) {
|
|
1017
|
-
return failure(usageError("MISSING_ARGUMENT",
|
|
1043
|
+
return failure(usageError("MISSING_ARGUMENT", `${commandName} requires a command after --.`));
|
|
1018
1044
|
}
|
|
1019
|
-
const
|
|
1045
|
+
const executable = interactive && parsed.value.runtime_policy !== "compatibility"
|
|
1046
|
+
? projectedShellPath(command)
|
|
1047
|
+
: { ok: true, value: command };
|
|
1048
|
+
if (!executable.ok)
|
|
1049
|
+
return executable;
|
|
1050
|
+
const request = await resolveSandboxExecutionRequest(dependencies.backend, context, {
|
|
1051
|
+
session_id: parsed.value.session_id,
|
|
1052
|
+
enforce: true,
|
|
1053
|
+
runtime_policy: parsed.value.runtime_policy === "compatibility" ? EXPLICIT_COMPATIBILITY_RUNTIME_POLICY : STRICT_RUNTIME_POLICY,
|
|
1054
|
+
...(dependencies.sandboxRuntimeProjection === undefined
|
|
1055
|
+
? {}
|
|
1056
|
+
: { runtime_projection: dependencies.sandboxRuntimeProjection }),
|
|
1057
|
+
}, dependencies.sandboxProbe, dependencies.sandboxRuntimeLayout);
|
|
1020
1058
|
if (!request.ok)
|
|
1021
1059
|
return request;
|
|
1022
1060
|
// `sandboxRunner` is an injection seam for unit tests. Production always
|
|
1023
1061
|
// reaches the canonical protected launcher exported by #145.
|
|
1024
1062
|
const runner = dependencies.sandboxRunner ?? runSandboxedCommand;
|
|
1025
1063
|
const result = await runner(request.value, {
|
|
1026
|
-
command,
|
|
1064
|
+
command: executable.value,
|
|
1027
1065
|
args: arguments_.slice(delimiter + 2),
|
|
1028
|
-
});
|
|
1029
|
-
|
|
1066
|
+
}, interactive ? { interactive: true } : undefined);
|
|
1067
|
+
if (!result.ok)
|
|
1068
|
+
return result;
|
|
1069
|
+
return {
|
|
1070
|
+
ok: true,
|
|
1071
|
+
value: {
|
|
1072
|
+
...result.value,
|
|
1073
|
+
...(result.value.runtime_resolution === undefined && request.value.runtime_resolution === undefined
|
|
1074
|
+
? {}
|
|
1075
|
+
: { runtime_resolution: result.value.runtime_resolution ?? request.value.runtime_resolution }),
|
|
1076
|
+
},
|
|
1077
|
+
};
|
|
1030
1078
|
}
|
|
1031
1079
|
async function executeCommand(commandArguments, dependencies) {
|
|
1032
1080
|
const [command, subcommand, ...rest] = commandArguments;
|
|
@@ -1035,6 +1083,9 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
1035
1083
|
if (subcommand === undefined) {
|
|
1036
1084
|
return failure(usageError("MISSING_ARGUMENT", "session requires a subcommand."));
|
|
1037
1085
|
}
|
|
1086
|
+
if (canonicalCommandForName(`session ${subcommand}`)?.name === "session shell") {
|
|
1087
|
+
return executeProtectedSessionCommand(rest, dependencies, context, true);
|
|
1088
|
+
}
|
|
1038
1089
|
// Resolve the subcommand through the canonical registry before dispatch.
|
|
1039
1090
|
// This keeps `session exec` an alias of the same protected route instead
|
|
1040
1091
|
// of creating a second launch path.
|
|
@@ -1431,17 +1482,7 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
1431
1482
|
if (result.value.allowed)
|
|
1432
1483
|
return { ok: true, value: result.value };
|
|
1433
1484
|
const code = result.value.code === "ALLOWED" ? "OPERATION_REJECTED" : result.value.code;
|
|
1434
|
-
return failure(new DomainError(code, `Guard denied the current worktree: ${code}.`,
|
|
1435
|
-
allowed: false,
|
|
1436
|
-
repository: result.value.repository,
|
|
1437
|
-
worktree: result.value.worktree,
|
|
1438
|
-
branch: result.value.branch,
|
|
1439
|
-
session_id: result.value.session_id,
|
|
1440
|
-
owner_session_id: result.value.owner_session_id,
|
|
1441
|
-
requested_session_id: result.value.requested_session_id,
|
|
1442
|
-
state: result.value.state,
|
|
1443
|
-
details: result.value.details,
|
|
1444
|
-
}));
|
|
1485
|
+
return failure(new DomainError(code, `Guard denied the current worktree: ${code}.`, guardRejectionDetails(result.value)));
|
|
1445
1486
|
}
|
|
1446
1487
|
if (command === "gc") {
|
|
1447
1488
|
const parsed = parseOptions([subcommand, ...rest].filter((argument) => argument !== undefined), dispatcherAllowedOptions("gc"));
|
|
@@ -1455,7 +1496,7 @@ async function executeCommand(commandArguments, dependencies) {
|
|
|
1455
1496
|
const parsed = noOptions([subcommand, ...rest].filter((argument) => argument !== undefined));
|
|
1456
1497
|
if (!parsed.ok)
|
|
1457
1498
|
return parsed;
|
|
1458
|
-
const report = await runDoctor(dependencies.cwd, dependencies.sandboxProbe);
|
|
1499
|
+
const report = await runDoctor(dependencies.cwd, dependencies.sandboxProbe, undefined, dependencies.sandboxRuntimeLayout);
|
|
1459
1500
|
if (!report.ok)
|
|
1460
1501
|
return report;
|
|
1461
1502
|
if (report.value.ok)
|
|
@@ -1530,13 +1571,41 @@ function mutationCapabilityUnavailable(operation) {
|
|
|
1530
1571
|
}
|
|
1531
1572
|
function deniedAuthorization(decision) {
|
|
1532
1573
|
const code = decision.code === "ALLOWED" ? "OPERATION_REJECTED" : decision.code;
|
|
1533
|
-
const diagnosticDetails = code === "INSUFFICIENT_CLAIM_MODE"
|
|
1534
|
-
? {
|
|
1535
|
-
resource: decision.details.resource,
|
|
1536
|
-
granted_modes: decision.details.grantedModes,
|
|
1537
|
-
}
|
|
1538
|
-
: {};
|
|
1539
1574
|
return failure(new DomainError(code, `Operation denied: ${code}.`, {
|
|
1575
|
+
...authorizationRejectionDetails(decision, code === "RESOURCE_CLAIM_CONFLICT"),
|
|
1576
|
+
}));
|
|
1577
|
+
}
|
|
1578
|
+
const AUTHORIZATION_DETAIL_KEYS = new Set([
|
|
1579
|
+
"allowed",
|
|
1580
|
+
"schema_version",
|
|
1581
|
+
"operation",
|
|
1582
|
+
"required_access",
|
|
1583
|
+
"repository",
|
|
1584
|
+
"worktree",
|
|
1585
|
+
"branch",
|
|
1586
|
+
"session_id",
|
|
1587
|
+
"owner_session_id",
|
|
1588
|
+
"requested_session_id",
|
|
1589
|
+
"state",
|
|
1590
|
+
"resources",
|
|
1591
|
+
"details",
|
|
1592
|
+
"mode",
|
|
1593
|
+
]);
|
|
1594
|
+
function guardRejectionDetails(decision) {
|
|
1595
|
+
return {
|
|
1596
|
+
allowed: false,
|
|
1597
|
+
repository: decision.repository,
|
|
1598
|
+
worktree: decision.worktree,
|
|
1599
|
+
branch: decision.branch,
|
|
1600
|
+
session_id: decision.session_id,
|
|
1601
|
+
owner_session_id: decision.owner_session_id,
|
|
1602
|
+
requested_session_id: decision.requested_session_id,
|
|
1603
|
+
state: decision.state,
|
|
1604
|
+
...normalizeRejectionDetails(decision.details, false),
|
|
1605
|
+
};
|
|
1606
|
+
}
|
|
1607
|
+
function authorizationRejectionDetails(decision, mapConflictOwner) {
|
|
1608
|
+
return {
|
|
1540
1609
|
allowed: false,
|
|
1541
1610
|
schema_version: decision.schema_version,
|
|
1542
1611
|
operation: decision.operation,
|
|
@@ -1549,9 +1618,60 @@ function deniedAuthorization(decision) {
|
|
|
1549
1618
|
requested_session_id: decision.requested_session_id,
|
|
1550
1619
|
state: decision.state,
|
|
1551
1620
|
resources: decision.resources,
|
|
1552
|
-
...
|
|
1553
|
-
|
|
1554
|
-
|
|
1621
|
+
...normalizeRejectionDetails(decision.details, mapConflictOwner),
|
|
1622
|
+
};
|
|
1623
|
+
}
|
|
1624
|
+
function normalizeRejectionDetails(details, mapConflictOwner) {
|
|
1625
|
+
const normalized = {};
|
|
1626
|
+
const visit = (source) => {
|
|
1627
|
+
for (const [key, value] of Object.entries(source).sort(([left], [right]) => compareCliKeys(left, right))) {
|
|
1628
|
+
const snakeKey = snakeCaseCliKey(key);
|
|
1629
|
+
if (snakeKey === "details" && value !== null && typeof value === "object" && !Array.isArray(value)) {
|
|
1630
|
+
visit(value);
|
|
1631
|
+
continue;
|
|
1632
|
+
}
|
|
1633
|
+
const canonicalKey = mapConflictOwner ? conflictOwnerKey(snakeKey) : snakeKey;
|
|
1634
|
+
if (AUTHORIZATION_DETAIL_KEYS.has(canonicalKey) || canonicalKey === "allowed")
|
|
1635
|
+
continue;
|
|
1636
|
+
if (!(canonicalKey in normalized))
|
|
1637
|
+
normalized[canonicalKey] = normalizeRejectionValue(value);
|
|
1638
|
+
}
|
|
1639
|
+
};
|
|
1640
|
+
visit(details);
|
|
1641
|
+
return normalized;
|
|
1642
|
+
}
|
|
1643
|
+
function conflictOwnerKey(key) {
|
|
1644
|
+
return ({
|
|
1645
|
+
owner_session_id: "blocking_session_id",
|
|
1646
|
+
owner_claim_id: "blocking_claim_id",
|
|
1647
|
+
owner_resource: "blocking_resource",
|
|
1648
|
+
owner_mode: "blocking_mode",
|
|
1649
|
+
owner_worktree: "blocking_worktree",
|
|
1650
|
+
owner_branch: "blocking_branch",
|
|
1651
|
+
owner_state: "blocking_state",
|
|
1652
|
+
owner_label: "blocking_label",
|
|
1653
|
+
}[key] ?? key);
|
|
1654
|
+
}
|
|
1655
|
+
function normalizeRejectionValue(value) {
|
|
1656
|
+
if (Array.isArray(value))
|
|
1657
|
+
return value.map(normalizeRejectionValue);
|
|
1658
|
+
if (value === null || typeof value !== "object")
|
|
1659
|
+
return value;
|
|
1660
|
+
const normalized = {};
|
|
1661
|
+
for (const [key, child] of Object.entries(value).sort(([left], [right]) => compareCliKeys(left, right))) {
|
|
1662
|
+
normalized[snakeCaseCliKey(key)] = normalizeRejectionValue(child);
|
|
1663
|
+
}
|
|
1664
|
+
return normalized;
|
|
1665
|
+
}
|
|
1666
|
+
function snakeCaseCliKey(key) {
|
|
1667
|
+
return key
|
|
1668
|
+
.replace(/([A-Z]+)([A-Z][a-z])/gu, "$1_$2")
|
|
1669
|
+
.replace(/([a-z0-9])([A-Z])/gu, "$1_$2")
|
|
1670
|
+
.replace(/[\s-]+/gu, "_")
|
|
1671
|
+
.toLowerCase();
|
|
1672
|
+
}
|
|
1673
|
+
function compareCliKeys(left, right) {
|
|
1674
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
1555
1675
|
}
|
|
1556
1676
|
function emitFailure(mode, command, error, io) {
|
|
1557
1677
|
io[mode === "json" ? "stdout" : "stderr"](renderFailure(mode, command, error));
|
|
@@ -1659,6 +1779,7 @@ export async function runCli(argv, dependencies = {}) {
|
|
|
1659
1779
|
sandboxRunner: dependencies.sandboxRunner,
|
|
1660
1780
|
sandboxProbe: dependencies.sandboxProbe,
|
|
1661
1781
|
sandboxRuntimeLayout: dependencies.sandboxRuntimeLayout,
|
|
1782
|
+
sandboxRuntimeProjection: dependencies.sandboxRuntimeProjection,
|
|
1662
1783
|
});
|
|
1663
1784
|
if (!result.ok) {
|
|
1664
1785
|
const enriched = await enrichInvalidSessionIdError(result.error, backend, sessionContext(cwd));
|
|
@@ -1666,8 +1787,10 @@ export async function runCli(argv, dependencies = {}) {
|
|
|
1666
1787
|
}
|
|
1667
1788
|
const childExitCode = result.value.exit_code;
|
|
1668
1789
|
const childSignal = result.value.signal;
|
|
1669
|
-
|
|
1670
|
-
if (
|
|
1790
|
+
const interactive = command === "session shell";
|
|
1791
|
+
if (!interactive)
|
|
1792
|
+
io.stdout(renderSuccess(mode, command, result.value));
|
|
1793
|
+
if ((command === "session run" || command === "session exec" || interactive) &&
|
|
1671
1794
|
(childSignal !== null || (typeof childExitCode === "number" && childExitCode !== 0))) {
|
|
1672
1795
|
if (childSignal !== null)
|
|
1673
1796
|
return EXIT_CODES.rejected;
|