nawabari 0.2.0 → 0.4.1

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 (50) hide show
  1. package/README.md +230 -15
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.js +704 -115
  4. package/dist/cli.js.map +1 -1
  5. package/dist/contract.js +135 -2
  6. package/dist/contract.js.map +1 -1
  7. package/dist/domain/errors.d.ts +1 -1
  8. package/dist/domain/errors.js +4 -1
  9. package/dist/domain/errors.js.map +1 -1
  10. package/dist/domain/sandbox-launcher.d.ts +35 -0
  11. package/dist/domain/sandbox-launcher.js +679 -0
  12. package/dist/domain/sandbox-launcher.js.map +1 -0
  13. package/dist/domain/sandbox.d.ts +190 -0
  14. package/dist/domain/sandbox.js +363 -0
  15. package/dist/domain/sandbox.js.map +1 -0
  16. package/dist/domain/session-backend.d.ts +5 -3
  17. package/dist/domain/session-backend.js +102 -4
  18. package/dist/domain/session-backend.js.map +1 -1
  19. package/dist/domain/session.d.ts +116 -2
  20. package/dist/domain/session.js +36 -0
  21. package/dist/domain/session.js.map +1 -1
  22. package/dist/errors.d.ts +1 -1
  23. package/dist/errors.js.map +1 -1
  24. package/dist/git.d.ts +62 -0
  25. package/dist/git.js +299 -0
  26. package/dist/git.js.map +1 -1
  27. package/dist/operation-authorization.d.ts +5 -2
  28. package/dist/operation-authorization.js +6 -7
  29. package/dist/operation-authorization.js.map +1 -1
  30. package/dist/output-budget.d.ts +16 -0
  31. package/dist/output-budget.js +58 -0
  32. package/dist/output-budget.js.map +1 -0
  33. package/dist/presentation.js +28 -4
  34. package/dist/presentation.js.map +1 -1
  35. package/dist/registry/atomic.d.ts +24 -0
  36. package/dist/registry/atomic.js +35 -2
  37. package/dist/registry/atomic.js.map +1 -1
  38. package/dist/registry/errors.d.ts +1 -1
  39. package/dist/registry/errors.js +1 -0
  40. package/dist/registry/errors.js.map +1 -1
  41. package/dist/repository-evidence.d.ts +74 -0
  42. package/dist/repository-evidence.js +7 -0
  43. package/dist/repository-evidence.js.map +1 -0
  44. package/dist/resource-claims.d.ts +25 -3
  45. package/dist/resource-claims.js +57 -5
  46. package/dist/resource-claims.js.map +1 -1
  47. package/dist/session-registry.d.ts +68 -7
  48. package/dist/session-registry.js +422 -149
  49. package/dist/session-registry.js.map +1 -1
  50. package/package.json +5 -3
@@ -1,12 +1,14 @@
1
1
  import { SessionRegistry, } from "../session-registry.js";
2
2
  import { isSessionRegistryError } from "../errors.js";
3
3
  import { DomainError, failure, success } from "./errors.js";
4
+ import { boundedSessionListing, } from "./session.js";
4
5
  export const LOCAL_SESSION_CAPABILITIES = Object.freeze({
5
6
  session_registry: true,
6
7
  provisioning: true,
7
8
  lifecycle: true,
8
9
  garbage_collection: true,
9
10
  current_session_resolution: true,
11
+ repository_evidence: true,
10
12
  });
11
13
  const REGISTRY_ERROR_CODE_MAP = Object.freeze({
12
14
  GIT_COMMAND_FAILED: "GIT_COMMAND_FAILED",
@@ -49,11 +51,13 @@ const REGISTRY_ERROR_CODE_MAP = Object.freeze({
49
51
  RECONCILIATION_DRIFT: "RECONCILIATION_DRIFT",
50
52
  REGISTRY_LOCK_TIMEOUT: "LOCK_CONTENTION",
51
53
  REGISTRY_IO_FAILURE: "REGISTRY_UNREADABLE",
54
+ REGISTRY_DURABILITY_UNCERTAIN: "REGISTRY_DURABILITY_UNCERTAIN",
52
55
  INVALID_CLAIM: "INVALID_CLAIM",
53
56
  INVALID_OPERATION: "INVALID_OPERATION",
54
57
  OPERATION_REJECTED: "OPERATION_REJECTED",
55
58
  INVALID_RESOURCE: "INVALID_RESOURCE",
56
59
  MISSING_RESOURCE_CLAIM: "MISSING_RESOURCE_CLAIM",
60
+ INSUFFICIENT_CLAIM_MODE: "INSUFFICIENT_CLAIM_MODE",
57
61
  INVALID_CLAIM_RESOURCE: "INVALID_CLAIM_RESOURCE",
58
62
  CLAIM_PATH_TRAVERSAL: "CLAIM_PATH_TRAVERSAL",
59
63
  CLAIM_SYMLINK_ESCAPE: "CLAIM_SYMLINK_ESCAPE",
@@ -73,6 +77,7 @@ const REGISTRY_ERROR_CODE_MAP = Object.freeze({
73
77
  COMMIT_STAGING_FAILED: "COMMIT_STAGING_FAILED",
74
78
  COMMIT_FAILED: "COMMIT_FAILED",
75
79
  COMMIT_RESULT_UNAVAILABLE: "COMMIT_RESULT_UNAVAILABLE",
80
+ COMMIT_RESULT_DIVERGED: "COMMIT_RESULT_DIVERGED",
76
81
  INVALID_REMOTE: "INVALID_REMOTE",
77
82
  INVALID_REMOTE_BRANCH: "INVALID_REMOTE_BRANCH",
78
83
  PUSH_TARGET_MISMATCH: "PUSH_TARGET_MISMATCH",
@@ -156,12 +161,37 @@ export class LocalSessionBackend {
156
161
  return failure(toDomainError(error));
157
162
  }
158
163
  }
164
+ async repositoryEvidence(context, options) {
165
+ try {
166
+ return success(toDomainRepositoryEvidence(this.registryFor(context).repositoryEvidence({ sessionId: options.session_id })));
167
+ }
168
+ catch (error) {
169
+ return failure(toDomainError(error));
170
+ }
171
+ }
172
+ async repositoryDiff(context, options) {
173
+ try {
174
+ return success(toDomainRepositoryDiff(this.registryFor(context).repositoryDiff({
175
+ sessionId: options.session_id,
176
+ paths: options.paths,
177
+ from: options.from ?? undefined,
178
+ to: options.to ?? undefined,
179
+ includePatch: options.include_patch,
180
+ maxBytes: options.max_bytes ?? undefined,
181
+ maxHunks: options.max_hunks ?? undefined,
182
+ })));
183
+ }
184
+ catch (error) {
185
+ return failure(toDomainError(error));
186
+ }
187
+ }
159
188
  async commit(context, options) {
160
189
  try {
161
190
  const result = this.registryFor(context).commit({
162
191
  sessionId: options.session_id,
163
192
  message: options.message,
164
193
  resources: options.resources,
194
+ messagePattern: options.message_pattern,
165
195
  });
166
196
  return success(toDomainCommitResult(result));
167
197
  }
@@ -185,15 +215,16 @@ export class LocalSessionBackend {
185
215
  return failure(toDomainError(error));
186
216
  }
187
217
  }
188
- async listSessions(context) {
218
+ async listSessions(context, options = {}) {
189
219
  try {
190
- return success({ sessions: this.registryFor(context).list().map(toDomainRecord) });
220
+ const records = this.registryFor(context).list().map(toDomainRecord);
221
+ return success(boundedSessionListing(records, options));
191
222
  }
192
223
  catch (error) {
193
224
  return failure(toDomainError(error));
194
225
  }
195
226
  }
196
- async status(context) {
227
+ async status(context, options = {}) {
197
228
  try {
198
229
  const registry = this.registryFor(context);
199
230
  let currentSession = null;
@@ -204,11 +235,13 @@ export class LocalSessionBackend {
204
235
  if (!isSessionRegistryError(error) || error.code !== "SESSION_NOT_FOUND")
205
236
  throw error;
206
237
  }
238
+ const listing = boundedSessionListing(registry.list().map(toDomainRecord), options);
207
239
  return success({
208
240
  repository: registry.repository.repositoryId,
209
241
  current_session: currentSession,
210
- sessions: registry.list().map(toDomainRecord),
242
+ ...listing,
211
243
  capabilities: { ...LOCAL_SESSION_CAPABILITIES },
244
+ managed_worktree_root: registry.managedWorktreeRoot,
212
245
  });
213
246
  }
214
247
  catch (error) {
@@ -308,6 +341,7 @@ function toDomainRecord(record) {
308
341
  state: record.state,
309
342
  created_at: record.createdAt,
310
343
  updated_at: record.updatedAt,
344
+ ...(record.baseRevision === undefined ? {} : { base_revision: record.baseRevision }),
311
345
  ...(record.label === undefined ? {} : { label: record.label }),
312
346
  };
313
347
  }
@@ -369,6 +403,67 @@ function toDomainCheckpointEvidence(evidence) {
369
403
  max_paths: evidence.maxPaths,
370
404
  };
371
405
  }
406
+ function toDomainRepositoryEvidence(evidence) {
407
+ return {
408
+ schema_version: evidence.schemaVersion,
409
+ source: evidence.source,
410
+ guarantee: evidence.guarantee,
411
+ repository: evidence.repositoryId,
412
+ worktree: evidence.worktreePath,
413
+ branch_id: evidence.branchId,
414
+ branch: evidence.branchName,
415
+ session_id: evidence.sessionId,
416
+ session_state: evidence.sessionState,
417
+ session_created_at: evidence.sessionCreatedAt,
418
+ session_updated_at: evidence.sessionUpdatedAt,
419
+ base_revision: evidence.baseRevision,
420
+ base_revision_proven: evidence.baseRevisionProven,
421
+ head: evidence.headId,
422
+ clean: evidence.clean,
423
+ complete: evidence.complete,
424
+ incomplete_reasons: [...evidence.incompleteReasons],
425
+ paths: {
426
+ changed: [...evidence.paths.changed],
427
+ staged: [...evidence.paths.staged],
428
+ unstaged: [...evidence.paths.unstaged],
429
+ untracked: [...evidence.paths.untracked],
430
+ stats: evidence.paths.stats.map((stat) => ({ ...stat })),
431
+ },
432
+ evidence_hash: evidence.evidenceHash,
433
+ bounds: {
434
+ max_paths: evidence.bounds.maxPaths,
435
+ max_diff_paths: evidence.bounds.maxDiffPaths,
436
+ max_diff_bytes: evidence.bounds.maxDiffBytes,
437
+ max_diff_hunks: evidence.bounds.maxDiffHunks,
438
+ },
439
+ };
440
+ }
441
+ function toDomainRepositoryDiff(evidence) {
442
+ return {
443
+ schema_version: evidence.schemaVersion,
444
+ source: evidence.source,
445
+ guarantee: evidence.guarantee,
446
+ repository: evidence.repositoryId,
447
+ worktree: evidence.worktreePath,
448
+ branch_id: evidence.branchId,
449
+ branch: evidence.branchName,
450
+ session_id: evidence.sessionId,
451
+ session_state: evidence.sessionState,
452
+ head: evidence.headId,
453
+ from_revision: evidence.fromRevision,
454
+ to_revision: evidence.toRevision,
455
+ paths: [...evidence.paths],
456
+ stats: evidence.stats.map((stat) => ({ ...stat })),
457
+ complete: evidence.complete,
458
+ incomplete_reasons: [...evidence.incompleteReasons],
459
+ patch: evidence.patch,
460
+ patch_bytes: evidence.patchBytes,
461
+ hunk_count: evidence.hunkCount,
462
+ max_bytes: evidence.maxBytes,
463
+ max_hunks: evidence.maxHunks,
464
+ evidence_hash: evidence.evidenceHash,
465
+ };
466
+ }
372
467
  function toDomainCommitResult(result) {
373
468
  return {
374
469
  schema_version: result.schemaVersion,
@@ -380,9 +475,12 @@ function toDomainCommitResult(result) {
380
475
  function toDomainPushResult(result) {
381
476
  return {
382
477
  schema_version: result.schemaVersion,
478
+ source_sha: result.sourceSha,
383
479
  remote: result.remote,
384
480
  branch: result.branch,
385
481
  target: result.target,
482
+ target_ref: result.targetRef,
483
+ observed_remote_sha: result.observedRemoteSha,
386
484
  relation: result.relation,
387
485
  force: result.force,
388
486
  upstream_created: result.upstreamCreated,
@@ -1 +1 @@
1
- {"version":3,"file":"session-backend.js","sourceRoot":"","sources":["../../src/domain/session-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAKhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAqD,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAsD,MAAM,aAAa,CAAC;AAoChH,MAAM,CAAC,MAAM,0BAA0B,GAAwB,MAAM,CAAC,MAAM,CAAC;IAC3E,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,IAAI;IACxB,0BAA0B,EAAE,IAAI;CACjC,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAmD,MAAM,CAAC,MAAM,CAAC;IAC5F,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,oBAAoB;IAC1C,6BAA6B,EAAE,qBAAqB;IACpD,2BAA2B,EAAE,qBAAqB;IAClD,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,gCAAgC,EAAE,kCAAkC;IACpE,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,kBAAkB;IAC1C,iBAAiB,EAAE,gBAAgB;IACnC,qBAAqB,EAAE,kBAAkB;IACzC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,0BAA0B,EAAE,kBAAkB;IAC9C,4BAA4B,EAAE,kBAAkB;IAChD,oBAAoB,EAAE,oBAAoB;IAC1C,4BAA4B,EAAE,iCAAiC;IAC/D,0BAA0B,EAAE,+BAA+B;IAC3D,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,oBAAoB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;IACxC,gCAAgC,EAAE,kCAAkC;IACpE,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,uBAAuB;IAC9C,aAAa,EAAE,eAAe;IAC9B,yBAAyB,EAAE,2BAA2B;IACtD,cAAc,EAAE,gBAAgB;IAChC,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,6BAA6B,EAAE,+BAA+B;IAC9D,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;CAC3B,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,OAAO,mBAAmB;IACb,GAAG,CAAgC;IACnC,eAAe,CAA8C;IAE9E,YAAmB,UAAsC,EAAE;QACzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAChC,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;gBACvC,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;gBACjC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;aACnC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,OAAuB;QACxD,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAAuB,EAAE,SAAiB;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,OAAO,CACZ,IAAI,WAAW,CAAC,mBAAmB,EAAE,0BAA0B,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CACvG,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAuB,EAAE,OAAqB;QAC/D,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,OAAuB,EACvB,OAAsC;QAEtC,IAAI,CAAC;YACH,OAAO,OAAO,CACZ,sCAAsC,CACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC;gBAC3C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,OAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,OAAO,CACZ,0BAA0B,CACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;gBACnC,SAAS,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAuB,EAAE,OAAsB;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAC9C,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;aAC7B,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAuB,EAAE,OAAoB;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBAC5C,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,cAAc,EAAE,OAAO,CAAC,eAAe;aACxC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAAuB;QAC/C,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAuB;QACzC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,cAAc,GAAyB,IAAI,CAAC;YAChD,IAAI,CAAC;gBACH,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;oBAAE,MAAM,KAAK,CAAC;YACxF,CAAC;YACD,OAAO,OAAO,CAAC;gBACb,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY;gBAC5C,eAAe,EAAE,cAAc;gBAC/B,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC;gBAC7C,YAAY,EAAE,EAAE,GAAG,0BAA0B,EAAE;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,YAAY,CACjB,OAAuB,EACvB,OAA4B;QAE5B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC;YACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,CACpB,OAAO,CAAC;gBACN,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;gBACvC,gBAAgB,EAAE,MAAM,CAAC,eAAe;gBACxC,cAAc,EAAE,MAAM,CAAC,aAAa;gBACpC,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAEM,cAAc,CACnB,OAAuB,EACvB,OAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,OAAuB,EACvB,OAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;gBACtD,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC1C,YAAY,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;aACjD,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,OAAuB,EACvB,OAA4B;QAE5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;gBACpD,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC1C,YAAY,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;aACjD,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;gBACrD,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC1C,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;aACzC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;gBACb,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC5C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9C,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,OAAuB,EACvB,SAAwB;QAExB,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAuB;QACzC,OAAO,IAAI,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAsC,EAAE;IAChF,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,MAA6B;IACnD,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,YAAY;QAC/B,QAAQ,EAAE,MAAM,CAAC,YAAY;QAC7B,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAwD;IACrF,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtF,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,gBAAgB,EAAE,QAAQ,CAAC,cAAc;QACzC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;QACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAC7C,QAAyE;IAEzE,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EACF,QAAQ,CAAC,IAAI,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAyB,CAAC,IAAI,oBAAoB,CAAC;QAC3F,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,QAAQ,CAAC,cAAc;QACxC,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,gBAAgB,EAAE,QAAQ,CAAC,cAAc;QACzC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;QACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC3F;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAoE;IAEpE,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtC,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;SACzC;QACD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,SAAS,EAAE,QAAQ,CAAC,QAAQ;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAqD;IACjF,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAmD;IAC7E,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,gBAAgB,EAAE,MAAM,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAoC;IACxE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC;QACjD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;YAC/B,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;SAC3C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAgD;IAEhD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1G,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QACvG,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA6D;IACxF,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA4B;IACjD,OAAO;QACL,cAAc,EAAE,KAAK,CAAC,aAAa;QACnC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,UAAU,EAAE,KAAK,CAAC,YAAY;QAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,YAAwB;IAC7D,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzF,OAAO,IAAI,WAAW,CACpB,gBAAgB,EAChB,uDAAuD,EACvD,EAAE,KAAK,EAAE,EACT,SAAS,EACT,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClD,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,KAA2B,EAAE,YAAwB;IAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC1F,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"session-backend.js","sourceRoot":"","sources":["../../src/domain/session-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAKhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAqD,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAsD,MAAM,aAAa,CAAC;AAChH,OAAO,EA4BL,qBAAqB,GAMtB,MAAM,cAAc,CAAC;AAOtB,MAAM,CAAC,MAAM,0BAA0B,GAAwB,MAAM,CAAC,MAAM,CAAC;IAC3E,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE,IAAI;IACxB,0BAA0B,EAAE,IAAI;IAChC,mBAAmB,EAAE,IAAI;CAC1B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAmD,MAAM,CAAC,MAAM,CAAC;IAC5F,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,oBAAoB;IAC1C,6BAA6B,EAAE,qBAAqB;IACpD,2BAA2B,EAAE,qBAAqB;IAClD,aAAa,EAAE,eAAe;IAC9B,gBAAgB,EAAE,kBAAkB;IACpC,mBAAmB,EAAE,qBAAqB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,gCAAgC,EAAE,kCAAkC;IACpE,kBAAkB,EAAE,oBAAoB;IACxC,sBAAsB,EAAE,kBAAkB;IAC1C,iBAAiB,EAAE,gBAAgB;IACnC,qBAAqB,EAAE,kBAAkB;IACzC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,0BAA0B,EAAE,kBAAkB;IAC9C,4BAA4B,EAAE,kBAAkB;IAChD,oBAAoB,EAAE,oBAAoB;IAC1C,4BAA4B,EAAE,iCAAiC;IAC/D,0BAA0B,EAAE,+BAA+B;IAC3D,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,oBAAoB;IAC1C,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,qBAAqB,EAAE,iBAAiB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,6BAA6B,EAAE,+BAA+B;IAC9D,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,kBAAkB,EAAE,oBAAoB;IACxC,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;IAChD,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,oBAAoB;IACxC,gCAAgC,EAAE,kCAAkC;IACpE,sBAAsB,EAAE,wBAAwB;IAChD,iBAAiB,EAAE,mBAAmB;IACtC,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,uBAAuB;IAC9C,aAAa,EAAE,eAAe;IAC9B,yBAAyB,EAAE,2BAA2B;IACtD,sBAAsB,EAAE,wBAAwB;IAChD,cAAc,EAAE,gBAAgB;IAChC,qBAAqB,EAAE,uBAAuB;IAC9C,oBAAoB,EAAE,sBAAsB;IAC5C,6BAA6B,EAAE,+BAA+B;IAC9D,gBAAgB,EAAE,kBAAkB;IACpC,WAAW,EAAE,aAAa;IAC1B,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,WAAW,EAAE,aAAa;CAC3B,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,OAAO,mBAAmB;IACb,GAAG,CAAgC;IACnC,eAAe,CAA8C;IAE9E,YAAmB,UAAsC,EAAE;QACzD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAChC,UAAU,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;gBACvC,YAAY,EAAE,OAAO,CAAC,QAAQ,IAAI,SAAS;gBAC3C,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;gBACjC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;aACnC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,OAAuB;QACxD,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,OAAuB,EAAE,SAAiB;QAChE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,OAAO,CACZ,IAAI,WAAW,CAAC,mBAAmB,EAAE,0BAA0B,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CACvG,CAAC;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,OAAuB,EAAE,OAAqB;QAC/D,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,OAAuB,EACvB,OAAsC;QAEtC,IAAI,CAAC;YACH,OAAO,OAAO,CACZ,sCAAsC,CACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC;gBAC3C,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,OAAuB,EACvB,OAA0B;QAE1B,IAAI,CAAC;YACH,OAAO,OAAO,CACZ,0BAA0B,CACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;gBACnC,SAAS,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,OAAuB,EACvB,OAAkC;QAElC,IAAI,CAAC;YACH,OAAO,OAAO,CACZ,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAC5G,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,OAAuB,EACvB,OAA8B;QAE9B,IAAI,CAAC;YACH,OAAO,OAAO,CACZ,sBAAsB,CACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;gBACvC,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,SAAS;gBAC/B,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,SAAS;gBAC3B,YAAY,EAAE,OAAO,CAAC,aAAa;gBACnC,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;gBACxC,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;aACzC,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAuB,EAAE,OAAsB;QACjE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAC9C,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,cAAc,EAAE,OAAO,CAAC,eAAe;aACxC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,OAAuB,EAAE,OAAoB;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBAC5C,SAAS,EAAE,OAAO,CAAC,UAAU;gBAC7B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,cAAc,EAAE,OAAO,CAAC,eAAe;aACxC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,OAAuB,EACvB,UAA8B,EAAE;QAEhC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACrE,OAAO,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAuB,EAAE,UAA8B,EAAE;QAC3E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,cAAc,GAAyB,IAAI,CAAC;YAChD,IAAI,CAAC;gBACH,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB;oBAAE,MAAM,KAAK,CAAC;YACxF,CAAC;YACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;YACpF,OAAO,OAAO,CAAC;gBACb,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY;gBAC5C,eAAe,EAAE,cAAc;gBAC/B,GAAG,OAAO;gBACV,YAAY,EAAE,EAAE,GAAG,0BAA0B,EAAE;gBAC/C,qBAAqB,EAAE,QAAQ,CAAC,mBAAmB;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,YAAY,CACjB,OAAuB,EACvB,OAA4B;QAE5B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC,SAAS,CAAC;YACnF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,OAAO,CACpB,OAAO,CAAC;gBACN,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;gBACvC,gBAAgB,EAAE,MAAM,CAAC,eAAe;gBACxC,cAAc,EAAE,MAAM,CAAC,aAAa;gBACpC,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAEM,cAAc,CACnB,OAAuB,EACvB,OAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YAClF,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CACzB,OAAuB,EACvB,OAA8B;QAE9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,cAAc,CAAC;gBACtD,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC1C,YAAY,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;aACjD,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,OAAuB,EACvB,OAA4B;QAE5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;gBACpD,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC1C,YAAY,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC;aACjD,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,OAAuB,EACvB,OAA6B;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;gBACrD,SAAS,EAAE,OAAO,CAAC,UAAU,IAAI,SAAS;gBAC1C,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,SAAS;aACzC,CAAC,CAAC;YACH,OAAO,OAAO,CAAC;gBACb,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC5C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;gBAC9C,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,OAAuB,EACvB,SAAwB;QAExB,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAuB;QACzC,OAAO,IAAI,eAAe,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAsC,EAAE;IAChF,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,MAA6B;IACnD,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,YAAY;QAC/B,QAAQ,EAAE,MAAM,CAAC,YAAY;QAC7B,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,GAAG,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;QACpF,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAwD;IACrF,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtF,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,gBAAgB,EAAE,QAAQ,CAAC,cAAc;QACzC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;QACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAC7C,QAAyE;IAEzE,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EACF,QAAQ,CAAC,IAAI,KAAK,SAAS;YACzB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAyB,CAAC,IAAI,oBAAoB,CAAC;QAC3F,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,QAAQ,CAAC,cAAc;QACxC,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,gBAAgB,EAAE,QAAQ,CAAC,cAAc;QACzC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;QACjD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,CAAC,WAAW,CACzB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC3F;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAoE;IAEpE,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtC,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;SACzC;QACD,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC/B,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;QACtC,SAAS,EAAE,QAAQ,CAAC,QAAQ;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,QAAwE;IAExE,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,SAAS,EAAE,QAAQ,CAAC,QAAQ;QAC5B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,aAAa,EAAE,QAAQ,CAAC,YAAmD;QAC3E,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB;QAC7C,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB;QAC7C,aAAa,EAAE,QAAQ,CAAC,YAAY;QACpC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB;QACjD,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,kBAAkB,EAAE,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACnD,KAAK,EAAE;YACL,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACpC,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;YAClC,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACtC,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YACxC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;SACzD;QACD,aAAa,EAAE,QAAQ,CAAC,YAAY;QACpC,MAAM,EAAE;YACN,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;YACnC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;YAC5C,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;YAC5C,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY;SAC7C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,QAAoE;IAEpE,OAAO;QACL,cAAc,EAAE,QAAQ,CAAC,aAAa;QACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,UAAU,EAAE,QAAQ,CAAC,YAAY;QACjC,QAAQ,EAAE,QAAQ,CAAC,YAAY;QAC/B,SAAS,EAAE,QAAQ,CAAC,QAAQ;QAC5B,MAAM,EAAE,QAAQ,CAAC,UAAU;QAC3B,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,aAAa,EAAE,QAAQ,CAAC,YAAuD;QAC/E,IAAI,EAAE,QAAQ,CAAC,MAAM;QACrB,aAAa,EAAE,QAAQ,CAAC,YAAY;QACpC,WAAW,EAAE,QAAQ,CAAC,UAAU;QAChC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1B,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;QAClD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,kBAAkB,EAAE,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACnD,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,UAAU;QAChC,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,SAAS,EAAE,QAAQ,CAAC,QAAQ;QAC5B,SAAS,EAAE,QAAQ,CAAC,QAAQ;QAC5B,aAAa,EAAE,QAAQ,CAAC,YAAY;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAqD;IACjF,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAmD;IAC7E,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,aAAa;QACpC,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,mBAAmB,EAAE,MAAM,CAAC,iBAAiB;QAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,gBAAgB,EAAE,MAAM,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAoC;IACxE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC;QACjD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACxC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,IAAI,EAAE,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;YAC/B,cAAc,EAAE,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;SAC3C,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAgD;IAEhD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC1G,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QACvG,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA6D;IACxF,OAAO;QACL,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;QACvC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QACxC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QAC5C,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA4B;IACjD,OAAO;QACL,cAAc,EAAE,KAAK,CAAC,aAAa;QACnC,QAAQ,EAAE,KAAK,CAAC,OAAO;QACvB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,UAAU,EAAE,KAAK,CAAC,YAAY;QAC9B,QAAQ,EAAE,KAAK,CAAC,YAAY;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,YAAwB;IAC7D,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzF,OAAO,IAAI,WAAW,CACpB,gBAAgB,EAChB,uDAAuD,EACvD,EAAE,KAAK,EAAE,EACT,SAAS,EACT,KAAK,CACN,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAe,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAClD,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,KAA2B,EAAE,YAAwB;IAC5E,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IAC1F,OAAO,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC"}
@@ -10,6 +10,7 @@ export type SessionRecord = {
10
10
  state: SessionState;
11
11
  created_at: string;
12
12
  updated_at: string;
13
+ base_revision?: string;
13
14
  label?: string;
14
15
  };
15
16
  export type SessionContext = {
@@ -129,10 +130,84 @@ export type CheckpointEvidence = {
129
130
  out_of_claim: string[];
130
131
  max_paths: number;
131
132
  };
133
+ export type RepositoryEvidenceStat = {
134
+ path: string;
135
+ additions: number | null;
136
+ deletions: number | null;
137
+ binary: boolean | null;
138
+ available: boolean;
139
+ };
140
+ export type RepositoryEvidence = {
141
+ schema_version: number;
142
+ source: "git";
143
+ guarantee: "git-observable-only";
144
+ repository: string;
145
+ worktree: string;
146
+ branch_id: string;
147
+ branch: string;
148
+ session_id: string;
149
+ session_state: SessionState;
150
+ session_created_at: string;
151
+ session_updated_at: string;
152
+ base_revision: string | null;
153
+ base_revision_proven: boolean;
154
+ head: string;
155
+ clean: boolean;
156
+ complete: boolean;
157
+ incomplete_reasons: string[];
158
+ paths: CheckpointPaths & {
159
+ stats: RepositoryEvidenceStat[];
160
+ };
161
+ evidence_hash: string;
162
+ bounds: {
163
+ max_paths: number;
164
+ max_diff_paths: number;
165
+ max_diff_bytes: number;
166
+ max_diff_hunks: number;
167
+ };
168
+ };
169
+ export type RepositoryEvidenceOptions = {
170
+ session_id: string;
171
+ };
172
+ export type RepositoryDiffOptions = {
173
+ session_id: string;
174
+ paths: string[];
175
+ from?: string | null;
176
+ to?: string | null;
177
+ include_patch: boolean;
178
+ max_bytes?: number | null;
179
+ max_hunks?: number | null;
180
+ };
181
+ export type RepositoryDiffEvidence = {
182
+ schema_version: number;
183
+ source: "git";
184
+ guarantee: "git-observable-only";
185
+ repository: string;
186
+ worktree: string;
187
+ branch_id: string;
188
+ branch: string;
189
+ session_id: string;
190
+ session_state: SessionState;
191
+ head: string;
192
+ from_revision: string;
193
+ to_revision: string | null;
194
+ paths: string[];
195
+ stats: RepositoryEvidenceStat[];
196
+ complete: boolean;
197
+ incomplete_reasons: string[];
198
+ patch: string | null;
199
+ patch_bytes: number;
200
+ hunk_count: number;
201
+ max_bytes: number;
202
+ max_hunks: number;
203
+ evidence_hash: string;
204
+ };
132
205
  export type CommitOptions = {
133
206
  session_id: string | null;
134
207
  message: string;
135
208
  resources: string[];
209
+ /** Caller-declared commit-message rule; validated only when supplied. */
210
+ message_pattern?: string | null;
136
211
  };
137
212
  export type CommitResult = {
138
213
  schema_version: number;
@@ -151,9 +226,12 @@ export type PushOptions = {
151
226
  export type PushRelation = "no-upstream" | "up-to-date" | "ahead" | "behind" | "diverged";
152
227
  export type PushResult = {
153
228
  schema_version: number;
229
+ source_sha: string;
154
230
  remote: string;
155
231
  branch: string;
156
232
  target: string;
233
+ target_ref: string;
234
+ observed_remote_sha: string | null;
157
235
  relation: PushRelation;
158
236
  force: boolean;
159
237
  upstream_created: boolean;
@@ -167,16 +245,50 @@ export type BackendCapabilities = {
167
245
  lifecycle: boolean;
168
246
  garbage_collection: boolean;
169
247
  current_session_resolution: boolean;
248
+ repository_evidence?: boolean;
249
+ };
250
+ /**
251
+ * Default discovery limits are semantic collection limits, not presentation
252
+ * byte targets. Callers that need more records can page an explicit history
253
+ * request with `offset` and `limit`.
254
+ */
255
+ export declare const DEFAULT_SESSION_LIST_LIMIT: 32;
256
+ export declare const MAX_SESSION_LIST_LIMIT: 128;
257
+ export type SessionListOptions = {
258
+ include_closed?: boolean;
259
+ limit?: number;
260
+ offset?: number;
170
261
  };
171
262
  export type SessionListResult = {
172
263
  sessions: SessionRecord[];
264
+ total?: number;
265
+ returned?: number;
266
+ limit?: number;
267
+ offset?: number;
268
+ truncated?: boolean;
269
+ next_offset?: number | null;
270
+ closed_count?: number;
271
+ history_available?: boolean;
272
+ history_included?: boolean;
173
273
  };
174
274
  export type StatusResult = {
175
275
  repository: string | null;
176
276
  current_session: SessionRecord | null;
177
277
  sessions: SessionRecord[];
178
278
  capabilities: BackendCapabilities;
279
+ managed_worktree_root?: string | null;
280
+ total?: number;
281
+ returned?: number;
282
+ limit?: number;
283
+ offset?: number;
284
+ truncated?: boolean;
285
+ next_offset?: number | null;
286
+ closed_count?: number;
287
+ history_available?: boolean;
288
+ history_included?: boolean;
179
289
  };
290
+ /** Project a registry collection into the bounded agent-facing listing shape. */
291
+ export declare function boundedSessionListing(records: readonly SessionRecord[], options?: SessionListOptions): SessionListResult;
180
292
  export type SessionCloseResult = {
181
293
  session: SessionRecord;
182
294
  worktree_removed: boolean;
@@ -203,10 +315,12 @@ export interface SessionBackend {
203
315
  guard(context: SessionContext, options: GuardOptions): Promise<DomainResult<GuardDecision>>;
204
316
  authorizeOperation?(context: SessionContext, options: OperationAuthorizationOptions): Promise<DomainResult<OperationAuthorizationDecision>>;
205
317
  checkpoint?(context: SessionContext, options: CheckpointOptions): Promise<DomainResult<CheckpointEvidence>>;
318
+ repositoryEvidence?(context: SessionContext, options: RepositoryEvidenceOptions): Promise<DomainResult<RepositoryEvidence>>;
319
+ repositoryDiff?(context: SessionContext, options: RepositoryDiffOptions): Promise<DomainResult<RepositoryDiffEvidence>>;
206
320
  commit?(context: SessionContext, options: CommitOptions): Promise<DomainResult<CommitResult>>;
207
321
  push?(context: SessionContext, options: PushOptions): Promise<DomainResult<PushResult>>;
208
- listSessions(context: SessionContext): Promise<DomainResult<SessionListResult>>;
209
- status(context: SessionContext): Promise<DomainResult<StatusResult>>;
322
+ listSessions(context: SessionContext, options?: SessionListOptions): Promise<DomainResult<SessionListResult>>;
323
+ status(context: SessionContext, options?: SessionListOptions): Promise<DomainResult<StatusResult>>;
210
324
  closeSession(context: SessionContext, options: SessionCloseOptions): Promise<DomainResult<SessionCloseResult>>;
211
325
  garbageCollect(context: SessionContext, options: GarbageCollectOptions): Promise<DomainResult<GarbageCollectResult>>;
212
326
  claimResources?(context: SessionContext, options: ClaimResourcesOptions): Promise<DomainResult<ClaimResourcesResult>>;
@@ -1,10 +1,46 @@
1
1
  import { DomainError, failure } from "./errors.js";
2
+ /**
3
+ * Default discovery limits are semantic collection limits, not presentation
4
+ * byte targets. Callers that need more records can page an explicit history
5
+ * request with `offset` and `limit`.
6
+ */
7
+ export const DEFAULT_SESSION_LIST_LIMIT = 32;
8
+ export const MAX_SESSION_LIST_LIMIT = 128;
9
+ /** Project a registry collection into the bounded agent-facing listing shape. */
10
+ export function boundedSessionListing(records, options = {}) {
11
+ const includeClosed = options.include_closed ?? false;
12
+ const limit = options.limit ?? DEFAULT_SESSION_LIST_LIMIT;
13
+ const offset = options.offset ?? 0;
14
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > MAX_SESSION_LIST_LIMIT) {
15
+ throw new RangeError(`session list limit must be an integer from 1 to ${MAX_SESSION_LIST_LIMIT}`);
16
+ }
17
+ if (!Number.isSafeInteger(offset) || offset < 0) {
18
+ throw new RangeError("session list offset must be a non-negative integer");
19
+ }
20
+ const closedCount = records.reduce((count, record) => count + (record.state === "closed" ? 1 : 0), 0);
21
+ const visible = includeClosed ? [...records] : records.filter((record) => record.state !== "closed");
22
+ const sessions = visible.slice(offset, offset + limit);
23
+ const nextOffset = offset + sessions.length < visible.length ? offset + sessions.length : null;
24
+ return {
25
+ sessions: [...sessions],
26
+ total: visible.length,
27
+ returned: sessions.length,
28
+ limit,
29
+ offset,
30
+ truncated: nextOffset !== null,
31
+ next_offset: nextOffset,
32
+ closed_count: closedCount,
33
+ history_available: !includeClosed && closedCount > 0,
34
+ history_included: includeClosed,
35
+ };
36
+ }
2
37
  const UNAVAILABLE_CAPABILITIES = {
3
38
  session_registry: false,
4
39
  provisioning: false,
5
40
  lifecycle: false,
6
41
  garbage_collection: false,
7
42
  current_session_resolution: false,
43
+ repository_evidence: false,
8
44
  };
9
45
  export function unavailableCapabilities() {
10
46
  return { ...UNAVAILABLE_CAPABILITIES };
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/domain/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,OAAO,EAAmC,MAAM,aAAa,CAAC;AA+PvG,MAAM,wBAAwB,GAAwB;IACpD,gBAAgB,EAAE,KAAK;IACvB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,KAAK;IAChB,kBAAkB,EAAE,KAAK;IACzB,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF,MAAM,UAAU,uBAAuB;IACrC,OAAO,EAAE,GAAG,wBAAwB,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,yBAAyB;IACrB,WAAW,CAAI,SAAiB;QACtC,OAAO,OAAO,CAAC,OAAO,CACpB,OAAO,CACL,IAAI,WAAW,CAAC,qBAAqB,EAAE,6DAA6D,EAAE;YACpG,SAAS;YACT,YAAY,EAAE,uBAAuB,EAAE;SACxC,CAAC,CACH,CACF,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,QAAwB,EAAE,QAA8B;QACpE,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB,CAAC,QAAwB;QAC5C,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAwB,EAAE,QAAsB;QACpD,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,kBAAkB,CAChB,QAAwB,EACxB,QAAuC;QAEvC,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,QAAwB,EAAE,QAA2B;QAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,QAAwB,EAAE,UAAkB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAC,QAAwB;QACnC,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,QAAwB;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,QAAwB,EAAE,QAA6B;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,cAAc,CACZ,QAAwB,EACxB,QAA+B;QAE/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO,IAAI,yBAAyB,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/domain/session.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type RegistryErrorCode = "GIT_COMMAND_FAILED" | "GIT_SPAWN_FAILED" | "GIT_TIMEOUT" | "GIT_OUTPUT_LIMIT" | "NOT_A_GIT_REPOSITORY" | "REPOSITORY_IDENTITY_AMBIGUOUS" | "WORKTREE_IDENTITY_AMBIGUOUS" | "DETACHED_HEAD" | "MISSING_WORKTREE" | "REPOSITORY_MISMATCH" | "WORKTREE_MISMATCH" | "BRANCH_MISMATCH" | "STALE_REGISTRY" | "GIT_STATE_AMBIGUOUS" | "PHYSICAL_OBSERVATION_UNAVAILABLE" | "INVALID_SESSION_ID" | "INVALID_SESSION_RECORD" | "INVALID_BRANCH_ID" | "INVALID_WORKTREE_PATH" | "INVALID_BASE_REF" | "REGISTRY_CORRUPT" | "UNSUPPORTED_SCHEMA_VERSION" | "REGISTRY_REPOSITORY_MISMATCH" | "DUPLICATE_SESSION_ID" | "DUPLICATE_WORKTREE_OWNERSHIP" | "DUPLICATE_BRANCH_OWNERSHIP" | "WORKTREE_ALREADY_EXISTS" | "BRANCH_ALREADY_EXISTS" | "PROTECTED_WORKTREE" | "PROTECTED_BRANCH" | "SESSION_ID_COLLISION" | "SESSION_NOT_FOUND" | "DIRTY_WORKTREE" | "NESTED_REPOSITORY" | "OWNERSHIP_MISMATCH" | "RECOVERABLE_COMMITS" | "RECOVERABLE_STASHES" | "RECONCILIATION_DRIFT" | "REGISTRY_LOCK_TIMEOUT" | "REGISTRY_IO_FAILURE" | "INVALID_CLAIM" | "INVALID_OPERATION" | "OPERATION_REJECTED" | "INVALID_RESOURCE" | "MISSING_RESOURCE_CLAIM" | "INVALID_CLAIM_RESOURCE" | "CLAIM_PATH_TRAVERSAL" | "CLAIM_SYMLINK_ESCAPE" | "CLAIM_AMBIGUOUS_PATH" | "UNSUPPORTED_CLAIM_GLOB" | "CLAIM_REPOSITORY_MISMATCH" | "CLAIM_SESSION_MISMATCH" | "DUPLICATE_CLAIM" | "CONTRADICTORY_CLAIM" | "RESOURCE_CLAIM_CONFLICT" | "CLAIM_NOT_FOUND" | "SESSION_NOT_ACTIVE" | "UNSUPPORTED_CLAIM_SCHEMA_VERSION" | "INVALID_COMMIT_MESSAGE" | "COMMIT_EMPTY_DIFF" | "UNEXPECTED_CHANGED_PATHS" | "COMMIT_STAGING_FAILED" | "COMMIT_FAILED" | "COMMIT_RESULT_UNAVAILABLE" | "INVALID_REMOTE" | "INVALID_REMOTE_BRANCH" | "PUSH_TARGET_MISMATCH" | "PUSH_REMOTE_INSPECTION_FAILED" | "PUSH_NO_UPSTREAM" | "PUSH_BEHIND" | "PUSH_DIVERGED" | "PUSH_DIRTY_WORKTREE" | "PUSH_FAILED";
1
+ export type RegistryErrorCode = "GIT_COMMAND_FAILED" | "GIT_SPAWN_FAILED" | "GIT_TIMEOUT" | "GIT_OUTPUT_LIMIT" | "NOT_A_GIT_REPOSITORY" | "REPOSITORY_IDENTITY_AMBIGUOUS" | "WORKTREE_IDENTITY_AMBIGUOUS" | "DETACHED_HEAD" | "MISSING_WORKTREE" | "REPOSITORY_MISMATCH" | "WORKTREE_MISMATCH" | "BRANCH_MISMATCH" | "STALE_REGISTRY" | "GIT_STATE_AMBIGUOUS" | "PHYSICAL_OBSERVATION_UNAVAILABLE" | "INVALID_SESSION_ID" | "INVALID_SESSION_RECORD" | "INVALID_BRANCH_ID" | "INVALID_WORKTREE_PATH" | "INVALID_BASE_REF" | "REGISTRY_CORRUPT" | "UNSUPPORTED_SCHEMA_VERSION" | "REGISTRY_REPOSITORY_MISMATCH" | "DUPLICATE_SESSION_ID" | "DUPLICATE_WORKTREE_OWNERSHIP" | "DUPLICATE_BRANCH_OWNERSHIP" | "WORKTREE_ALREADY_EXISTS" | "BRANCH_ALREADY_EXISTS" | "PROTECTED_WORKTREE" | "PROTECTED_BRANCH" | "SESSION_ID_COLLISION" | "SESSION_NOT_FOUND" | "DIRTY_WORKTREE" | "NESTED_REPOSITORY" | "OWNERSHIP_MISMATCH" | "RECOVERABLE_COMMITS" | "RECOVERABLE_STASHES" | "RECONCILIATION_DRIFT" | "REGISTRY_LOCK_TIMEOUT" | "REGISTRY_IO_FAILURE" | "REGISTRY_DURABILITY_UNCERTAIN" | "INVALID_CLAIM" | "INVALID_OPERATION" | "OPERATION_REJECTED" | "INVALID_RESOURCE" | "MISSING_RESOURCE_CLAIM" | "INSUFFICIENT_CLAIM_MODE" | "INVALID_CLAIM_RESOURCE" | "CLAIM_PATH_TRAVERSAL" | "CLAIM_SYMLINK_ESCAPE" | "CLAIM_AMBIGUOUS_PATH" | "UNSUPPORTED_CLAIM_GLOB" | "CLAIM_REPOSITORY_MISMATCH" | "CLAIM_SESSION_MISMATCH" | "DUPLICATE_CLAIM" | "CONTRADICTORY_CLAIM" | "RESOURCE_CLAIM_CONFLICT" | "CLAIM_NOT_FOUND" | "SESSION_NOT_ACTIVE" | "UNSUPPORTED_CLAIM_SCHEMA_VERSION" | "INVALID_COMMIT_MESSAGE" | "COMMIT_EMPTY_DIFF" | "UNEXPECTED_CHANGED_PATHS" | "COMMIT_STAGING_FAILED" | "COMMIT_FAILED" | "COMMIT_RESULT_UNAVAILABLE" | "COMMIT_RESULT_DIVERGED" | "INVALID_REMOTE" | "INVALID_REMOTE_BRANCH" | "PUSH_TARGET_MISMATCH" | "PUSH_REMOTE_INSPECTION_FAILED" | "PUSH_NO_UPSTREAM" | "PUSH_BEHIND" | "PUSH_DIVERGED" | "PUSH_DIRTY_WORKTREE" | "PUSH_FAILED";
2
2
  export type RegistryErrorDetails = Readonly<Record<string, boolean | number | string | string[]>>;
3
3
  export declare class SessionRegistryError extends Error {
4
4
  readonly code: RegistryErrorCode;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AA6EA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,CAAoB;IACxB,OAAO,CAAuB;IAEvC,YAAY,IAAuB,EAAE,OAAe,EAAE,UAAgC,EAAE,EAAE,KAAe;QACvG,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,KAAK,YAAY,oBAAoB,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAgFA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,CAAoB;IACxB,OAAO,CAAuB;IAEvC,YAAY,IAAuB,EAAE,OAAe,EAAE,UAAgC,EAAE,EAAE,KAAe;QACvG,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,OAAO,KAAK,YAAY,oBAAoB,CAAC;AAC/C,CAAC"}
package/dist/git.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import { type GitCheckpointPaths } from "./operation-authorization.js";
2
2
  export declare const GIT_COMMAND_TIMEOUT_MS = 10000;
3
3
  export declare const GIT_COMMAND_MAX_OUTPUT_BYTES: number;
4
+ export declare const REPOSITORY_EVIDENCE_SCHEMA_VERSION: 1;
5
+ export declare const DIFF_EVIDENCE_SCHEMA_VERSION: 1;
6
+ export declare const EVIDENCE_MAX_DIFF_PATHS: 64;
7
+ export declare const EVIDENCE_MAX_DIFF_BYTES: number;
8
+ export declare const EVIDENCE_MAX_DIFF_HUNKS: 128;
4
9
  export interface GitCommandRunner {
5
10
  run(args: readonly string[], cwd: string): string;
6
11
  /** Preserve leading/trailing whitespace for NUL-delimited Git records. */
@@ -68,6 +73,63 @@ export declare function listGitWorktrees(git: GitCommandRunner, cwd: string): re
68
73
  * or untracked. This is evidence, not an OS-level write monitor.
69
74
  */
70
75
  export declare function captureGitCheckpoint(git: GitCommandRunner, cwd: string): GitCheckpointPaths;
76
+ /**
77
+ * Read the exact set of paths a resulting commit actually changed, directly
78
+ * from Git rather than from pre-commit staging intent. Bounded and NUL-safe,
79
+ * mirroring captureGitCheckpoint's evidence guarantees.
80
+ */
81
+ export declare function readCommitChangedPaths(git: GitCommandRunner, cwd: string, commitSha: string): readonly string[];
82
+ /**
83
+ * Canonicalize concrete paths reported by Git against the physical worktree.
84
+ * Git-observed paths are not glob patterns, so literal `*` and `?` characters
85
+ * remain valid filename characters. Any path that cannot be represented as a
86
+ * canonical repository resource fails closed as ambiguous Git state.
87
+ */
88
+ export declare function canonicalizeGitObservedPaths(paths: readonly string[], worktreePath: string): readonly string[];
89
+ /** Observe and canonicalize all bounded Git checkpoint path sets. */
90
+ export declare function observeGitCheckpoint(git: GitCommandRunner, cwd: string): GitCheckpointPaths;
91
+ export interface GitMutationPaths {
92
+ readonly changed: readonly string[];
93
+ readonly staged: readonly string[];
94
+ }
95
+ export interface GitPathStat {
96
+ readonly path: string;
97
+ readonly additions: number | null;
98
+ readonly deletions: number | null;
99
+ readonly binary: boolean | null;
100
+ /** False means Git did not expose a stat for this requested path. */
101
+ readonly available: boolean;
102
+ }
103
+ export interface BoundedGitDiffOptions {
104
+ readonly paths: readonly string[];
105
+ readonly from?: string;
106
+ readonly to?: string;
107
+ readonly includePatch?: boolean;
108
+ readonly maxBytes?: number;
109
+ readonly maxHunks?: number;
110
+ }
111
+ export interface BoundedGitDiff {
112
+ readonly schemaVersion: typeof DIFF_EVIDENCE_SCHEMA_VERSION;
113
+ readonly fromRevision: string;
114
+ readonly toRevision: string | null;
115
+ readonly paths: readonly string[];
116
+ readonly stats: readonly GitPathStat[];
117
+ readonly patch: string | null;
118
+ readonly patchBytes: number;
119
+ readonly hunkCount: number;
120
+ }
121
+ /** Observe the canonical changed/staged sets used by governed mutations. */
122
+ export declare function observeGitMutationPaths(git: GitCommandRunner, cwd: string): GitMutationPaths;
123
+ /** Read and canonicalize the exact paths changed by a resulting commit. */
124
+ export declare function readCanonicalCommitChangedPaths(git: GitCommandRunner, cwd: string, commitSha: string): readonly string[];
125
+ /**
126
+ * Read bounded per-path Git statistics. The caller must provide explicit
127
+ * concrete paths; an empty path selection is rejected so this cannot become a
128
+ * repository-wide diff browser.
129
+ */
130
+ export declare function readGitPathStats(git: GitCommandRunner, cwd: string, paths: readonly string[], from?: string, to?: string): readonly GitPathStat[];
131
+ /** Read a selected, byte- and hunk-bounded diff plus its canonical path stats. */
132
+ export declare function readBoundedGitDiff(git: GitCommandRunner, cwd: string, options: BoundedGitDiffOptions): BoundedGitDiff;
71
133
  export declare function normalizeBranchId(branchName: string): string;
72
134
  export declare function readCurrentBranch(git: GitCommandRunner, cwd: string): string;
73
135
  export declare function readCurrentHead(git: GitCommandRunner, cwd: string): string;