nawabari 0.8.0 → 0.9.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.
Files changed (52) hide show
  1. package/README.md +35 -0
  2. package/dist/cli-command-registry.d.ts +6 -0
  3. package/dist/cli-command-registry.js +26 -5
  4. package/dist/cli-command-registry.js.map +1 -1
  5. package/dist/cli.js +70 -8
  6. package/dist/cli.js.map +1 -1
  7. package/dist/contract.js +35 -0
  8. package/dist/contract.js.map +1 -1
  9. package/dist/domain/doctor.js +44 -0
  10. package/dist/domain/doctor.js.map +1 -1
  11. package/dist/domain/session-backend.d.ts +2 -1
  12. package/dist/domain/session-backend.js +119 -18
  13. package/dist/domain/session-backend.js.map +1 -1
  14. package/dist/domain/session.d.ts +100 -19
  15. package/dist/domain/session.js.map +1 -1
  16. package/dist/product-state-manifest.d.ts +152 -0
  17. package/dist/product-state-manifest.js +240 -0
  18. package/dist/product-state-manifest.js.map +1 -0
  19. package/dist/public-contract.d.ts +25 -0
  20. package/dist/public-contract.js +29 -0
  21. package/dist/public-contract.js.map +1 -0
  22. package/dist/public-state.d.ts +75 -0
  23. package/dist/public-state.js +60 -0
  24. package/dist/public-state.js.map +1 -0
  25. package/dist/session-lifecycle-actions.d.ts +4 -3
  26. package/dist/session-lifecycle-actions.js +14 -5
  27. package/dist/session-lifecycle-actions.js.map +1 -1
  28. package/dist/session-lifecycle-classification.d.ts +55 -2
  29. package/dist/session-lifecycle-classification.js +39 -306
  30. package/dist/session-lifecycle-classification.js.map +1 -1
  31. package/dist/session-registry.d.ts +83 -1
  32. package/dist/session-registry.js +440 -21
  33. package/dist/session-registry.js.map +1 -1
  34. package/dist/state/index.d.ts +5 -0
  35. package/dist/state/index.js +4 -0
  36. package/dist/state/index.js.map +1 -0
  37. package/dist/state/session/actors.d.ts +71 -0
  38. package/dist/state/session/actors.js +259 -0
  39. package/dist/state/session/actors.js.map +1 -0
  40. package/dist/state/session/guards.d.ts +25 -0
  41. package/dist/state/session/guards.js +108 -0
  42. package/dist/state/session/guards.js.map +1 -0
  43. package/dist/state/session/index.d.ts +6 -0
  44. package/dist/state/session/index.js +5 -0
  45. package/dist/state/session/index.js.map +1 -0
  46. package/dist/state/session/machine.d.ts +185 -0
  47. package/dist/state/session/machine.js +408 -0
  48. package/dist/state/session/machine.js.map +1 -0
  49. package/dist/state/session/types.d.ts +94 -0
  50. package/dist/state/session/types.js +14 -0
  51. package/dist/state/session/types.js.map +1 -0
  52. package/package.json +26 -6
package/README.md CHANGED
@@ -179,6 +179,41 @@ The local lifecycle requires Git and the repository-local registry/lock only;
179
179
  it does not require Mottainai, GitHub, `gh`, network access, an LLM, or a
180
180
  coding-agent runtime.
181
181
 
182
+ ## Package state/contract API
183
+
184
+ The CLI/JSON surface above remains the primary integration boundary. For a
185
+ Node caller that wants public lifecycle observation/snapshot,
186
+ transition-decision data, or machine-contract discovery without spawning the
187
+ CLI and parsing its output, the package additionally exports two explicit,
188
+ stable entry points:
189
+
190
+ ```js
191
+ import { classifyNawabariState, getNawabariSessionStateSnapshot } from "nawabari/state";
192
+ import { nawabariMachineContract } from "nawabari/contract";
193
+ ```
194
+
195
+ `nawabari/state` exposes the public lifecycle vocabulary
196
+ (`NawabariLifecycleState`, `NawabariCommand`), the public observation input
197
+ (`NawabariObservation`), and the public projection produced from it
198
+ (`NawabariStateSnapshot`, `NawabariTransitionDecision`). `classifyNawabariState`
199
+ is a pure, transport-neutral projection function; `getNawabariSessionStateSnapshot`
200
+ observes one real, already-provisioned session through the same
201
+ `SessionRegistry` Git/filesystem/session-registry authority `session inspect`
202
+ uses, without mutating anything. `nawabari/contract` exposes
203
+ `nawabariMachineContract()`, a zero-argument wrapper over the same
204
+ `capabilities --json` contract that defaults to the installed package's own
205
+ version.
206
+
207
+ These are the only supported package entry points beyond the CLI binaries.
208
+ Raw XState machine/actor internals, actor refs, internal state-node ids, and
209
+ private machine context are not exported — `package.json#exports` declares no
210
+ other subpath, so a deep import such as `nawabari/dist/state/session/machine.js`
211
+ is rejected. `classifyNawabariState` only ever projects a caller-supplied observation into
212
+ a decision; it never mutates anything, and no observation or transition
213
+ decision it returns grants mutation authority. Mutating a session
214
+ (close/discard/claim/commit/push/...) still requires the existing CLI or the
215
+ `SessionRegistry` authority directly.
216
+
182
217
  ## Read-only repository evidence
183
218
 
184
219
  The evidence family is session-addressed and has no task, Issue, semantic, or
@@ -8,6 +8,12 @@ export type CliHelpOptionSpec = {
8
8
  readonly minimum?: number;
9
9
  readonly maximum?: number;
10
10
  readonly repeatable?: boolean;
11
+ /** Closed values projected from the authority that validates this option. */
12
+ readonly values?: readonly string[];
13
+ /** This option remains required unless one of these additive selectors is present. */
14
+ readonly required_unless?: readonly string[];
15
+ /** Selectors that cannot be combined with this option. */
16
+ readonly mutually_exclusive_with?: readonly string[];
11
17
  readonly description: string;
12
18
  };
13
19
  export type CliCommandDefinition = {
@@ -1,4 +1,5 @@
1
1
  import { DEFAULT_SESSION_LIST_LIMIT, MAX_SESSION_LIST_LIMIT } from "./domain/session.js";
2
+ import { OPERATION_VOCABULARY } from "./operation-authorization.js";
2
3
  import { EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS } from "./repository-evidence.js";
3
4
  const CLI_NAME = "nawabari";
4
5
  export const GLOBAL_HELP_OPTIONS = [
@@ -264,12 +265,13 @@ export const CLI_COMMAND_REGISTRY = [
264
265
  {
265
266
  name: "session discard",
266
267
  summary: "Explicitly discard one selected session and its owned resources",
267
- usage: `${CLI_NAME} session discard <session-id>|--session <id>`,
268
+ usage: `${CLI_NAME} session discard <session-id>|--session <id> [--preview]`,
268
269
  options: [
269
270
  option("--session", "Required explicit target; the current session is never inferred", {
270
271
  value: "<id>",
271
272
  required: true,
272
273
  }),
274
+ option("--preview", "Read-only bounded summary of the destructive discard scope"),
273
275
  ],
274
276
  notes: [
275
277
  "Destructive and explicit: unintegrated commits and uncommitted work in the selected owned worktree may be destroyed.",
@@ -284,7 +286,11 @@ export const CLI_COMMAND_REGISTRY = [
284
286
  usage: `${CLI_NAME} authorize --operation <name> --resource <path> [--resource <path>] [--session <id>]`,
285
287
  options: [
286
288
  option("--session", "Assert the current session identity", { value: "<id>" }),
287
- option("--operation", "Operation vocabulary entry", { value: "<name>", required: true }),
289
+ option("--operation", "Operation vocabulary entry", {
290
+ value: "<name>",
291
+ required: true,
292
+ values: OPERATION_VOCABULARY,
293
+ }),
288
294
  option("--resource", "Concrete repository-relative path; repeatable", {
289
295
  value: "<path>",
290
296
  required: true,
@@ -336,7 +342,7 @@ export const CLI_COMMAND_REGISTRY = [
336
342
  {
337
343
  name: "commit",
338
344
  summary: "Commit explicit claim-authorized resources",
339
- usage: `${CLI_NAME} commit --message <final-message> --resource <path> [--resource <path>] [--session <id>] [--message-pattern <regex>]`,
345
+ usage: `${CLI_NAME} commit --message <final-message> (--resource <path> [--resource <path>] | --all-claimed) [--session <id>] [--message-pattern <regex>]`,
340
346
  options: [
341
347
  option("--session", "Assert the current session identity", { value: "<id>" }),
342
348
  option("--message", "Caller-decided final commit message", { value: "<final-message>", required: true }),
@@ -344,22 +350,34 @@ export const CLI_COMMAND_REGISTRY = [
344
350
  value: "<path>",
345
351
  required: true,
346
352
  repeatable: true,
353
+ required_unless: ["--all-claimed"],
354
+ }),
355
+ option("--all-claimed", "Select all safely resolved session resources covered by qualifying commit claims", {
356
+ mutually_exclusive_with: ["--resource"],
347
357
  }),
348
358
  option("--message-pattern", "Caller-declared commit-message rule; validated only when supplied", {
349
359
  value: "<regex>",
350
360
  }),
351
361
  ],
362
+ notes: [
363
+ "Use repeated --resource by default, or explicitly use --all-claimed; the selectors cannot be combined.",
364
+ "--all-claimed resolves only concrete Git-changed resources and retains unexpected changed-path protection.",
365
+ ],
352
366
  },
353
367
  {
354
368
  name: "push",
355
369
  summary: "Push the owned branch to an explicit target",
356
- usage: `${CLI_NAME} push --remote <name> --branch <name> --resource <path> [options]`,
370
+ usage: `${CLI_NAME} push --remote <name> --branch <name> (--resource <path> [--resource <path>] | --all-claimed) [options]`,
357
371
  options: [
358
372
  option("--session", "Assert the current session identity", { value: "<id>" }),
359
373
  option("--resource", "Claim-covered concrete path; repeatable", {
360
374
  value: "<path>",
361
375
  required: true,
362
376
  repeatable: true,
377
+ required_unless: ["--all-claimed"],
378
+ }),
379
+ option("--all-claimed", "Select all safely resolved session resources covered by qualifying push claims", {
380
+ mutually_exclusive_with: ["--resource"],
363
381
  }),
364
382
  option("--remote", "Explicit Git remote", { value: "<name>", required: true }),
365
383
  option("--branch", "Explicit target branch", {
@@ -404,7 +422,10 @@ export const CLI_COMMAND_REGISTRY = [
404
422
  usage: `${CLI_NAME} guard [--session <id>] [--operation <name> --resource <path>]`,
405
423
  options: [
406
424
  option("--session", "Assert the current session identity", { value: "<id>" }),
407
- option("--operation", "Authorize an operation when resources are supplied", { value: "<name>" }),
425
+ option("--operation", "Authorize an operation when resources are supplied", {
426
+ value: "<name>",
427
+ values: OPERATION_VOCABULARY,
428
+ }),
408
429
  option("--resource", "Concrete resource; repeatable with --operation", { value: "<path>" }),
409
430
  ],
410
431
  },
@@ -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
@@ -4,6 +4,7 @@ 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";
7
+ import { OPERATION_VOCABULARY } from "./operation-authorization.js";
7
8
  import { createLocalSessionBackend } from "./domain/session-backend.js";
8
9
  import { defaultCliIO, renderFailure, renderSuccess } from "./presentation.js";
9
10
  import { MACHINE_CONTRACT_ID, MACHINE_CONTRACT_SCHEMA_VERSION, machineContract } from "./contract.js";
@@ -77,13 +78,22 @@ export const DISPATCHER_OPTION_INVENTORY = {
77
78
  "session claims": ["--session"],
78
79
  "session release": ["--session", "--resource", "--claim-id", "--all", "--if-generation", "--force"],
79
80
  "session close": ["--session", "--integrated-revision", "--fetch-remote", "--fetch-branch"],
80
- "session discard": ["--session"],
81
+ "session discard": ["--session", "--preview"],
81
82
  authorize: ["--session", "--operation", "--resource"],
82
83
  checkpoint: ["--session"],
83
84
  "evidence snapshot": ["--session"],
84
85
  diff: ["--session", "--path", "--from", "--to", "--patch", "--max-bytes", "--max-hunks"],
85
- commit: ["--session", "--message", "--resource", "--message-pattern"],
86
- push: ["--session", "--resource", "--remote", "--branch", "--remote-branch", "--force", "--create-upstream"],
86
+ commit: ["--session", "--message", "--resource", "--all-claimed", "--message-pattern"],
87
+ push: [
88
+ "--session",
89
+ "--resource",
90
+ "--all-claimed",
91
+ "--remote",
92
+ "--branch",
93
+ "--remote-branch",
94
+ "--force",
95
+ "--create-upstream",
96
+ ],
87
97
  status: ["--all", "--history", "--limit", "--offset"],
88
98
  guard: ["--session", "--operation", "--resource"],
89
99
  gc: ["--apply", "--dry-run"],
@@ -133,6 +143,17 @@ export function validateCliRegistryParity() {
133
143
  `missing_from_registry=${extra.join(",")}`);
134
144
  }
135
145
  }
146
+ for (const command of ["authorize", "guard"]) {
147
+ const definition = resolveCliCommandDefinition(command);
148
+ const operation = definition?.options.find((candidate) => candidate.name === "--operation");
149
+ if (operation === undefined || operation.values === undefined) {
150
+ throw new Error(`CLI operation vocabulary parity failure for ${command}: missing --operation values`);
151
+ }
152
+ if (operation.values.join("\u0000") !== OPERATION_VOCABULARY.join("\u0000")) {
153
+ throw new Error(`CLI operation vocabulary parity failure for ${command}: expected=${OPERATION_VOCABULARY.join(",")}; ` +
154
+ `actual=${operation.values.join(",")}`);
155
+ }
156
+ }
136
157
  }
137
158
  validateCliRegistryParity();
138
159
  function helpSpecFor(commandArguments) {
@@ -183,6 +204,11 @@ function helpPayload(spec) {
183
204
  ...(candidate.default === undefined ? {} : { default: candidate.default }),
184
205
  ...(candidate.minimum === undefined ? {} : { minimum: candidate.minimum }),
185
206
  ...(candidate.maximum === undefined ? {} : { maximum: candidate.maximum }),
207
+ ...(candidate.values === undefined ? {} : { values: [...candidate.values] }),
208
+ ...(candidate.required_unless === undefined ? {} : { required_unless: [...candidate.required_unless] }),
209
+ ...(candidate.mutually_exclusive_with === undefined
210
+ ? {}
211
+ : { mutually_exclusive_with: [...candidate.mutually_exclusive_with] }),
186
212
  description: candidate.description,
187
213
  }));
188
214
  const canonical = canonicalCommandForName(spec.name);
@@ -230,7 +256,12 @@ function helpText(spec) {
230
256
  const bounds = candidate.minimum === undefined && candidate.maximum === undefined
231
257
  ? ""
232
258
  : `; bounds: ${candidate.minimum ?? "-∞"}..${candidate.maximum ?? "∞"}`;
233
- lines.push(` ${label.padEnd(38)} ${qualifier}${bounds}; ${candidate.description}`);
259
+ const values = candidate.values === undefined ? "" : `; values: ${candidate.values.join(", ")}`;
260
+ const requiredUnless = candidate.required_unless === undefined ? "" : `; required unless: ${candidate.required_unless.join(", ")}`;
261
+ const mutuallyExclusive = candidate.mutually_exclusive_with === undefined
262
+ ? ""
263
+ : `; mutually exclusive with: ${candidate.mutually_exclusive_with.join(", ")}`;
264
+ lines.push(` ${label.padEnd(38)} ${qualifier}${bounds}${values}${requiredUnless}${mutuallyExclusive}; ${candidate.description}`);
234
265
  }
235
266
  if (spec.notes !== undefined) {
236
267
  lines.push("", "Notes:");
@@ -308,6 +339,7 @@ function parseOptions(arguments_, allowed) {
308
339
  apply: false,
309
340
  force: false,
310
341
  create_upstream: false,
342
+ all_claimed: false,
311
343
  all: false,
312
344
  history: false,
313
345
  limit: null,
@@ -321,6 +353,7 @@ function parseOptions(arguments_, allowed) {
321
353
  integrated_revision: null,
322
354
  fetch_remote: null,
323
355
  fetch_branch: null,
356
+ preview: false,
324
357
  };
325
358
  let dryRun = false;
326
359
  for (let index = 0; index < arguments_.length; index += 1) {
@@ -332,9 +365,11 @@ function parseOptions(arguments_, allowed) {
332
365
  name === "--dry-run" ||
333
366
  name === "--force" ||
334
367
  name === "--create-upstream" ||
368
+ name === "--all-claimed" ||
335
369
  name === "--all" ||
336
370
  name === "--history" ||
337
- name === "--patch") {
371
+ name === "--patch" ||
372
+ name === "--preview") {
338
373
  if (inlineValue !== null) {
339
374
  return failure(usageError("INVALID_ARGUMENT", `${name} does not accept a value.`, { option: name }));
340
375
  }
@@ -346,12 +381,16 @@ function parseOptions(arguments_, allowed) {
346
381
  options.force = true;
347
382
  else if (name === "--create-upstream")
348
383
  options.create_upstream = true;
384
+ else if (name === "--all-claimed")
385
+ options.all_claimed = true;
349
386
  else if (name === "--all")
350
387
  options.all = true;
351
388
  else if (name === "--history")
352
389
  options.history = true;
353
- else
390
+ else if (name === "--patch")
354
391
  options.patch = true;
392
+ else
393
+ options.preview = true;
355
394
  continue;
356
395
  }
357
396
  const value = inlineValue ?? arguments_[index + 1];
@@ -1087,6 +1126,12 @@ async function executeCommand(commandArguments, dependencies) {
1087
1126
  const parsed = parseTargetedOptions(rest, dispatcherAllowedOptions("session discard"), true);
1088
1127
  if (!parsed.ok)
1089
1128
  return parsed;
1129
+ if (parsed.value.preview) {
1130
+ if (dependencies.backend.discardPreview === undefined)
1131
+ return sessionDiscardPreviewCapabilityUnavailable();
1132
+ const preview = await dependencies.backend.discardPreview(context, parsed.value.session_id);
1133
+ return preview.ok ? { ok: true, value: preview.value } : preview;
1134
+ }
1090
1135
  if (dependencies.backend.discardSession === undefined)
1091
1136
  return sessionDiscardCapabilityUnavailable();
1092
1137
  const result = await dependencies.backend.discardSession(context, parsed.value.session_id);
@@ -1289,7 +1334,12 @@ async function executeCommand(commandArguments, dependencies) {
1289
1334
  if (parsed.value.message === null) {
1290
1335
  return failure(usageError("MISSING_ARGUMENT", "--message requires a value.", { option: "--message" }));
1291
1336
  }
1292
- if (parsed.value.resources.length === 0) {
1337
+ if (parsed.value.all_claimed && parsed.value.resources.length > 0) {
1338
+ return failure(usageError("INVALID_ARGUMENT", "--resource and --all-claimed cannot be used together.", {
1339
+ options: ["--resource", "--all-claimed"],
1340
+ }));
1341
+ }
1342
+ if (!parsed.value.all_claimed && parsed.value.resources.length === 0) {
1293
1343
  return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
1294
1344
  }
1295
1345
  if (dependencies.backend.commit === undefined)
@@ -1298,6 +1348,7 @@ async function executeCommand(commandArguments, dependencies) {
1298
1348
  session_id: parsed.value.session_id,
1299
1349
  message: parsed.value.message,
1300
1350
  resources: parsed.value.resources,
1351
+ ...(parsed.value.all_claimed ? { all_claimed: true } : {}),
1301
1352
  message_pattern: parsed.value.message_pattern,
1302
1353
  });
1303
1354
  return result.ok ? { ok: true, value: result.value } : result;
@@ -1317,7 +1368,12 @@ async function executeCommand(commandArguments, dependencies) {
1317
1368
  parsed.value.branch !== parsed.value.remote_branch) {
1318
1369
  return failure(usageError("INVALID_ARGUMENT", "--branch and --remote-branch must identify the same target."));
1319
1370
  }
1320
- if (parsed.value.resources.length === 0) {
1371
+ if (parsed.value.all_claimed && parsed.value.resources.length > 0) {
1372
+ return failure(usageError("INVALID_ARGUMENT", "--resource and --all-claimed cannot be used together.", {
1373
+ options: ["--resource", "--all-claimed"],
1374
+ }));
1375
+ }
1376
+ if (!parsed.value.all_claimed && parsed.value.resources.length === 0) {
1321
1377
  return failure(usageError("MISSING_ARGUMENT", "--resource requires a value.", { option: "--resource" }));
1322
1378
  }
1323
1379
  if (dependencies.backend.push === undefined)
@@ -1325,6 +1381,7 @@ async function executeCommand(commandArguments, dependencies) {
1325
1381
  const result = await dependencies.backend.push(context, {
1326
1382
  session_id: parsed.value.session_id,
1327
1383
  resources: parsed.value.resources,
1384
+ ...(parsed.value.all_claimed ? { all_claimed: true } : {}),
1328
1385
  remote: parsed.value.remote,
1329
1386
  branch: parsed.value.branch ?? parsed.value.remote_branch,
1330
1387
  force: parsed.value.force,
@@ -1460,6 +1517,11 @@ function sessionDiscardCapabilityUnavailable() {
1460
1517
  operation: "session.discard",
1461
1518
  }));
1462
1519
  }
1520
+ function sessionDiscardPreviewCapabilityUnavailable() {
1521
+ return failure(new DomainError("BACKEND_UNAVAILABLE", "Session discard preview capability is not available.", {
1522
+ operation: "session.discard.preview",
1523
+ }));
1524
+ }
1463
1525
  function repositoryEvidenceCapabilityUnavailable(operation) {
1464
1526
  return failure(new DomainError("BACKEND_UNAVAILABLE", "Repository evidence capability is not available.", { operation }));
1465
1527
  }