nawabari 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/README.md +347 -5
  2. package/dist/cli.js +770 -51
  3. package/dist/cli.js.map +1 -1
  4. package/dist/contract.d.ts +9 -0
  5. package/dist/contract.js +291 -0
  6. package/dist/contract.js.map +1 -0
  7. package/dist/domain/doctor.d.ts +1 -1
  8. package/dist/domain/doctor.js +99 -90
  9. package/dist/domain/doctor.js.map +1 -1
  10. package/dist/domain/errors.d.ts +1 -1
  11. package/dist/domain/errors.js +5 -1
  12. package/dist/domain/errors.js.map +1 -1
  13. package/dist/domain/session-backend.d.ts +15 -3
  14. package/dist/domain/session-backend.js +348 -7
  15. package/dist/domain/session-backend.js.map +1 -1
  16. package/dist/domain/session.d.ts +247 -2
  17. package/dist/domain/session.js +42 -0
  18. package/dist/domain/session.js.map +1 -1
  19. package/dist/errors.d.ts +2 -2
  20. package/dist/errors.js.map +1 -1
  21. package/dist/git.d.ts +102 -0
  22. package/dist/git.js +714 -30
  23. package/dist/git.js.map +1 -1
  24. package/dist/operation-authorization.d.ts +76 -0
  25. package/dist/operation-authorization.js +41 -0
  26. package/dist/operation-authorization.js.map +1 -0
  27. package/dist/output-budget.d.ts +16 -0
  28. package/dist/output-budget.js +58 -0
  29. package/dist/output-budget.js.map +1 -0
  30. package/dist/presentation.js +76 -22
  31. package/dist/presentation.js.map +1 -1
  32. package/dist/repository-evidence.d.ts +74 -0
  33. package/dist/repository-evidence.js +7 -0
  34. package/dist/repository-evidence.js.map +1 -0
  35. package/dist/resource-claims.d.ts +87 -0
  36. package/dist/resource-claims.js +450 -0
  37. package/dist/resource-claims.js.map +1 -0
  38. package/dist/session-registry.d.ts +251 -1
  39. package/dist/session-registry.js +2094 -257
  40. package/dist/session-registry.js.map +1 -1
  41. package/package.json +2 -1
@@ -1,18 +1,31 @@
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
- GIT_COMMAND_FAILED: "GIT_OPERATION_FAILED",
14
+ GIT_COMMAND_FAILED: "GIT_COMMAND_FAILED",
15
+ GIT_SPAWN_FAILED: "GIT_SPAWN_FAILED",
16
+ GIT_TIMEOUT: "GIT_TIMEOUT",
17
+ GIT_OUTPUT_LIMIT: "GIT_OUTPUT_LIMIT",
13
18
  NOT_A_GIT_REPOSITORY: "NOT_GIT_REPOSITORY",
14
- REPOSITORY_IDENTITY_AMBIGUOUS: "NOT_GIT_REPOSITORY",
15
- WORKTREE_IDENTITY_AMBIGUOUS: "INVALID_WORKTREE",
19
+ REPOSITORY_IDENTITY_AMBIGUOUS: "GIT_STATE_AMBIGUOUS",
20
+ WORKTREE_IDENTITY_AMBIGUOUS: "GIT_STATE_AMBIGUOUS",
21
+ DETACHED_HEAD: "DETACHED_HEAD",
22
+ MISSING_WORKTREE: "MISSING_WORKTREE",
23
+ REPOSITORY_MISMATCH: "REPOSITORY_MISMATCH",
24
+ WORKTREE_MISMATCH: "WORKTREE_MISMATCH",
25
+ BRANCH_MISMATCH: "BRANCH_MISMATCH",
26
+ STALE_REGISTRY: "STALE_REGISTRY",
27
+ GIT_STATE_AMBIGUOUS: "GIT_STATE_AMBIGUOUS",
28
+ PHYSICAL_OBSERVATION_UNAVAILABLE: "PHYSICAL_OBSERVATION_UNAVAILABLE",
16
29
  INVALID_SESSION_ID: "INVALID_SESSION_ID",
17
30
  INVALID_SESSION_RECORD: "INVALID_REGISTRY",
18
31
  INVALID_BRANCH_ID: "INVALID_BRANCH",
@@ -31,10 +44,48 @@ const REGISTRY_ERROR_CODE_MAP = Object.freeze({
31
44
  SESSION_ID_COLLISION: "OPERATION_REJECTED",
32
45
  SESSION_NOT_FOUND: "SESSION_NOT_FOUND",
33
46
  DIRTY_WORKTREE: "DIRTY_WORKTREE",
47
+ NESTED_REPOSITORY: "NESTED_REPOSITORY",
34
48
  OWNERSHIP_MISMATCH: "OWNERSHIP_MISMATCH",
35
49
  RECOVERABLE_COMMITS: "RECOVERABLE_COMMITS",
50
+ RECOVERABLE_STASHES: "RECOVERABLE_STASHES",
51
+ RECONCILIATION_DRIFT: "RECONCILIATION_DRIFT",
36
52
  REGISTRY_LOCK_TIMEOUT: "LOCK_CONTENTION",
37
53
  REGISTRY_IO_FAILURE: "REGISTRY_UNREADABLE",
54
+ INVALID_CLAIM: "INVALID_CLAIM",
55
+ INVALID_OPERATION: "INVALID_OPERATION",
56
+ OPERATION_REJECTED: "OPERATION_REJECTED",
57
+ INVALID_RESOURCE: "INVALID_RESOURCE",
58
+ MISSING_RESOURCE_CLAIM: "MISSING_RESOURCE_CLAIM",
59
+ INSUFFICIENT_CLAIM_MODE: "INSUFFICIENT_CLAIM_MODE",
60
+ INVALID_CLAIM_RESOURCE: "INVALID_CLAIM_RESOURCE",
61
+ CLAIM_PATH_TRAVERSAL: "CLAIM_PATH_TRAVERSAL",
62
+ CLAIM_SYMLINK_ESCAPE: "CLAIM_SYMLINK_ESCAPE",
63
+ CLAIM_AMBIGUOUS_PATH: "CLAIM_AMBIGUOUS_PATH",
64
+ UNSUPPORTED_CLAIM_GLOB: "UNSUPPORTED_CLAIM_GLOB",
65
+ CLAIM_REPOSITORY_MISMATCH: "CLAIM_REPOSITORY_MISMATCH",
66
+ CLAIM_SESSION_MISMATCH: "CLAIM_SESSION_MISMATCH",
67
+ DUPLICATE_CLAIM: "DUPLICATE_CLAIM",
68
+ CONTRADICTORY_CLAIM: "CONTRADICTORY_CLAIM",
69
+ RESOURCE_CLAIM_CONFLICT: "RESOURCE_CLAIM_CONFLICT",
70
+ CLAIM_NOT_FOUND: "CLAIM_NOT_FOUND",
71
+ SESSION_NOT_ACTIVE: "SESSION_NOT_ACTIVE",
72
+ UNSUPPORTED_CLAIM_SCHEMA_VERSION: "UNSUPPORTED_CLAIM_SCHEMA_VERSION",
73
+ INVALID_COMMIT_MESSAGE: "INVALID_COMMIT_MESSAGE",
74
+ COMMIT_EMPTY_DIFF: "COMMIT_EMPTY_DIFF",
75
+ UNEXPECTED_CHANGED_PATHS: "UNEXPECTED_CHANGED_PATHS",
76
+ COMMIT_STAGING_FAILED: "COMMIT_STAGING_FAILED",
77
+ COMMIT_FAILED: "COMMIT_FAILED",
78
+ COMMIT_RESULT_UNAVAILABLE: "COMMIT_RESULT_UNAVAILABLE",
79
+ COMMIT_RESULT_DIVERGED: "COMMIT_RESULT_DIVERGED",
80
+ INVALID_REMOTE: "INVALID_REMOTE",
81
+ INVALID_REMOTE_BRANCH: "INVALID_REMOTE_BRANCH",
82
+ PUSH_TARGET_MISMATCH: "PUSH_TARGET_MISMATCH",
83
+ PUSH_REMOTE_INSPECTION_FAILED: "PUSH_REMOTE_INSPECTION_FAILED",
84
+ PUSH_NO_UPSTREAM: "PUSH_NO_UPSTREAM",
85
+ PUSH_BEHIND: "PUSH_BEHIND",
86
+ PUSH_DIVERGED: "PUSH_DIVERGED",
87
+ PUSH_DIRTY_WORKTREE: "PUSH_DIRTY_WORKTREE",
88
+ PUSH_FAILED: "PUSH_FAILED",
38
89
  });
39
90
  /** SessionBackend implementation backed only by the local Git repository. */
40
91
  export class LocalSessionBackend {
@@ -87,15 +138,92 @@ export class LocalSessionBackend {
87
138
  return failure(toDomainError(error));
88
139
  }
89
140
  }
90
- async listSessions(context) {
141
+ async authorizeOperation(context, options) {
91
142
  try {
92
- return success({ sessions: this.registryFor(context).list().map(toDomainRecord) });
143
+ return success(toDomainOperationAuthorizationDecision(this.registryFor(context).authorizeOperation({
144
+ operation: options.operation,
145
+ resources: options.resources,
146
+ sessionId: options.session_id,
147
+ })));
93
148
  }
94
149
  catch (error) {
95
150
  return failure(toDomainError(error));
96
151
  }
97
152
  }
98
- async status(context) {
153
+ async checkpoint(context, options) {
154
+ try {
155
+ return success(toDomainCheckpointEvidence(this.registryFor(context).checkpoint({
156
+ sessionId: options.session_id,
157
+ })));
158
+ }
159
+ catch (error) {
160
+ return failure(toDomainError(error));
161
+ }
162
+ }
163
+ async repositoryEvidence(context, options) {
164
+ try {
165
+ return success(toDomainRepositoryEvidence(this.registryFor(context).repositoryEvidence({ sessionId: options.session_id })));
166
+ }
167
+ catch (error) {
168
+ return failure(toDomainError(error));
169
+ }
170
+ }
171
+ async repositoryDiff(context, options) {
172
+ try {
173
+ return success(toDomainRepositoryDiff(this.registryFor(context).repositoryDiff({
174
+ sessionId: options.session_id,
175
+ paths: options.paths,
176
+ from: options.from ?? undefined,
177
+ to: options.to ?? undefined,
178
+ includePatch: options.include_patch,
179
+ maxBytes: options.max_bytes ?? undefined,
180
+ maxHunks: options.max_hunks ?? undefined,
181
+ })));
182
+ }
183
+ catch (error) {
184
+ return failure(toDomainError(error));
185
+ }
186
+ }
187
+ async commit(context, options) {
188
+ try {
189
+ const result = this.registryFor(context).commit({
190
+ sessionId: options.session_id,
191
+ message: options.message,
192
+ resources: options.resources,
193
+ messagePattern: options.message_pattern,
194
+ });
195
+ return success(toDomainCommitResult(result));
196
+ }
197
+ catch (error) {
198
+ return failure(toDomainError(error));
199
+ }
200
+ }
201
+ async push(context, options) {
202
+ try {
203
+ const result = this.registryFor(context).push({
204
+ sessionId: options.session_id,
205
+ resources: options.resources,
206
+ remote: options.remote,
207
+ branch: options.branch,
208
+ force: options.force,
209
+ createUpstream: options.create_upstream,
210
+ });
211
+ return success(toDomainPushResult(result));
212
+ }
213
+ catch (error) {
214
+ return failure(toDomainError(error));
215
+ }
216
+ }
217
+ async listSessions(context, options = {}) {
218
+ try {
219
+ const records = this.registryFor(context).list().map(toDomainRecord);
220
+ return success(boundedSessionListing(records, options));
221
+ }
222
+ catch (error) {
223
+ return failure(toDomainError(error));
224
+ }
225
+ }
226
+ async status(context, options = {}) {
99
227
  try {
100
228
  const registry = this.registryFor(context);
101
229
  let currentSession = null;
@@ -106,11 +234,13 @@ export class LocalSessionBackend {
106
234
  if (!isSessionRegistryError(error) || error.code !== "SESSION_NOT_FOUND")
107
235
  throw error;
108
236
  }
237
+ const listing = boundedSessionListing(registry.list().map(toDomainRecord), options);
109
238
  return success({
110
239
  repository: registry.repository.repositoryId,
111
240
  current_session: currentSession,
112
- sessions: registry.list().map(toDomainRecord),
241
+ ...listing,
113
242
  capabilities: { ...LOCAL_SESSION_CAPABILITIES },
243
+ managed_worktree_root: registry.managedWorktreeRoot,
114
244
  });
115
245
  }
116
246
  catch (error) {
@@ -142,6 +272,57 @@ export class LocalSessionBackend {
142
272
  return Promise.resolve(failure(toDomainError(error)));
143
273
  }
144
274
  }
275
+ async claimResources(context, options) {
276
+ try {
277
+ const result = this.registryFor(context).claimResources({
278
+ sessionId: options.session_id ?? undefined,
279
+ repositoryId: options.repository ?? undefined,
280
+ claims: options.claims.map(toRegistryClaimInput),
281
+ });
282
+ return success(toDomainClaimResult(result));
283
+ }
284
+ catch (error) {
285
+ return failure(toDomainError(error));
286
+ }
287
+ }
288
+ async updateClaims(context, options) {
289
+ try {
290
+ const result = this.registryFor(context).updateClaims({
291
+ sessionId: options.session_id ?? undefined,
292
+ repositoryId: options.repository ?? undefined,
293
+ claims: options.claims.map(toRegistryClaimInput),
294
+ });
295
+ return success(toDomainClaimResult(result));
296
+ }
297
+ catch (error) {
298
+ return failure(toDomainError(error));
299
+ }
300
+ }
301
+ async releaseClaims(context, options) {
302
+ try {
303
+ const result = this.registryFor(context).releaseClaims({
304
+ sessionId: options.session_id ?? undefined,
305
+ claimIds: options.claim_ids ?? undefined,
306
+ });
307
+ return success({
308
+ session_id: result.sessionId,
309
+ released: result.released.map(toDomainClaim),
310
+ remaining: result.remaining.map(toDomainClaim),
311
+ idempotent: result.idempotent,
312
+ });
313
+ }
314
+ catch (error) {
315
+ return failure(toDomainError(error));
316
+ }
317
+ }
318
+ async listClaims(context, sessionId) {
319
+ try {
320
+ return success({ claims: this.registryFor(context).listClaims(sessionId).map(toDomainClaim) });
321
+ }
322
+ catch (error) {
323
+ return failure(toDomainError(error));
324
+ }
325
+ }
145
326
  registryFor(context) {
146
327
  return new SessionRegistry({ ...this.registryOptions, cwd: context.cwd, git: this.git });
147
328
  }
@@ -159,6 +340,7 @@ function toDomainRecord(record) {
159
340
  state: record.state,
160
341
  created_at: record.createdAt,
161
342
  updated_at: record.updatedAt,
343
+ ...(record.baseRevision === undefined ? {} : { base_revision: record.baseRevision }),
162
344
  ...(record.label === undefined ? {} : { label: record.label }),
163
345
  };
164
346
  }
@@ -176,6 +358,133 @@ function toDomainGuardDecision(decision) {
176
358
  details: { ...decision.details },
177
359
  };
178
360
  }
361
+ function toDomainOperationAuthorizationDecision(decision) {
362
+ return {
363
+ schema_version: decision.schemaVersion,
364
+ allowed: decision.allowed,
365
+ code: decision.code === "ALLOWED"
366
+ ? "ALLOWED"
367
+ : (REGISTRY_ERROR_CODE_MAP[decision.code] ?? "OPERATION_REJECTED"),
368
+ operation: decision.operation,
369
+ required_access: decision.requiredAccess,
370
+ repository: decision.repositoryId,
371
+ worktree: decision.worktreePath,
372
+ branch: decision.branchName,
373
+ session_id: decision.sessionId,
374
+ owner_session_id: decision.ownerSessionId,
375
+ requested_session_id: decision.requestedSessionId,
376
+ state: decision.state,
377
+ resources: decision.resources.map((resource) => ({
378
+ resource: resource.resource,
379
+ claim_ids: [...resource.claimIds],
380
+ })),
381
+ details: Object.fromEntries(Object.entries(decision.details).map(([key, value]) => [key, Array.isArray(value) ? [...value] : value])),
382
+ };
383
+ }
384
+ function toDomainCheckpointEvidence(evidence) {
385
+ return {
386
+ schema_version: evidence.schemaVersion,
387
+ source: evidence.source,
388
+ guarantee: evidence.guarantee,
389
+ repository: evidence.repositoryId,
390
+ worktree: evidence.worktreePath,
391
+ branch: evidence.branchName,
392
+ head: evidence.headId,
393
+ session_id: evidence.sessionId,
394
+ paths: {
395
+ changed: [...evidence.paths.changed],
396
+ staged: [...evidence.paths.staged],
397
+ unstaged: [...evidence.paths.unstaged],
398
+ untracked: [...evidence.paths.untracked],
399
+ },
400
+ in_claim: [...evidence.inClaim],
401
+ out_of_claim: [...evidence.outOfClaim],
402
+ max_paths: evidence.maxPaths,
403
+ };
404
+ }
405
+ function toDomainRepositoryEvidence(evidence) {
406
+ return {
407
+ schema_version: evidence.schemaVersion,
408
+ source: evidence.source,
409
+ guarantee: evidence.guarantee,
410
+ repository: evidence.repositoryId,
411
+ worktree: evidence.worktreePath,
412
+ branch_id: evidence.branchId,
413
+ branch: evidence.branchName,
414
+ session_id: evidence.sessionId,
415
+ session_state: evidence.sessionState,
416
+ session_created_at: evidence.sessionCreatedAt,
417
+ session_updated_at: evidence.sessionUpdatedAt,
418
+ base_revision: evidence.baseRevision,
419
+ base_revision_proven: evidence.baseRevisionProven,
420
+ head: evidence.headId,
421
+ clean: evidence.clean,
422
+ complete: evidence.complete,
423
+ incomplete_reasons: [...evidence.incompleteReasons],
424
+ paths: {
425
+ changed: [...evidence.paths.changed],
426
+ staged: [...evidence.paths.staged],
427
+ unstaged: [...evidence.paths.unstaged],
428
+ untracked: [...evidence.paths.untracked],
429
+ stats: evidence.paths.stats.map((stat) => ({ ...stat })),
430
+ },
431
+ evidence_hash: evidence.evidenceHash,
432
+ bounds: {
433
+ max_paths: evidence.bounds.maxPaths,
434
+ max_diff_paths: evidence.bounds.maxDiffPaths,
435
+ max_diff_bytes: evidence.bounds.maxDiffBytes,
436
+ max_diff_hunks: evidence.bounds.maxDiffHunks,
437
+ },
438
+ };
439
+ }
440
+ function toDomainRepositoryDiff(evidence) {
441
+ return {
442
+ schema_version: evidence.schemaVersion,
443
+ source: evidence.source,
444
+ guarantee: evidence.guarantee,
445
+ repository: evidence.repositoryId,
446
+ worktree: evidence.worktreePath,
447
+ branch_id: evidence.branchId,
448
+ branch: evidence.branchName,
449
+ session_id: evidence.sessionId,
450
+ session_state: evidence.sessionState,
451
+ head: evidence.headId,
452
+ from_revision: evidence.fromRevision,
453
+ to_revision: evidence.toRevision,
454
+ paths: [...evidence.paths],
455
+ stats: evidence.stats.map((stat) => ({ ...stat })),
456
+ complete: evidence.complete,
457
+ incomplete_reasons: [...evidence.incompleteReasons],
458
+ patch: evidence.patch,
459
+ patch_bytes: evidence.patchBytes,
460
+ hunk_count: evidence.hunkCount,
461
+ max_bytes: evidence.maxBytes,
462
+ max_hunks: evidence.maxHunks,
463
+ evidence_hash: evidence.evidenceHash,
464
+ };
465
+ }
466
+ function toDomainCommitResult(result) {
467
+ return {
468
+ schema_version: result.schemaVersion,
469
+ commit_sha: result.commitSha,
470
+ message: result.message,
471
+ resources: [...result.resources],
472
+ };
473
+ }
474
+ function toDomainPushResult(result) {
475
+ return {
476
+ schema_version: result.schemaVersion,
477
+ source_sha: result.sourceSha,
478
+ remote: result.remote,
479
+ branch: result.branch,
480
+ target: result.target,
481
+ target_ref: result.targetRef,
482
+ observed_remote_sha: result.observedRemoteSha,
483
+ relation: result.relation,
484
+ force: result.force,
485
+ upstream_created: result.upstreamCreated,
486
+ };
487
+ }
179
488
  function toDomainGarbageCollectResult(result) {
180
489
  return {
181
490
  apply: result.apply,
@@ -186,9 +495,41 @@ function toDomainGarbageCollectResult(result) {
186
495
  code: REGISTRY_ERROR_CODE_MAP[blocked.code],
187
496
  message: blocked.message,
188
497
  details: { ...blocked.details },
498
+ recovery_hints: [...blocked.recoveryHints],
189
499
  })),
190
500
  };
191
501
  }
502
+ function toRegistryClaimInput(input) {
503
+ return {
504
+ resource: input.resource,
505
+ mode: input.mode,
506
+ ...(input.repository === null || input.repository === undefined ? {} : { repositoryId: input.repository }),
507
+ ...(input.session_id === null || input.session_id === undefined ? {} : { sessionId: input.session_id }),
508
+ ...(input.worktree === null || input.worktree === undefined ? {} : { worktreePath: input.worktree }),
509
+ };
510
+ }
511
+ function toDomainClaimResult(result) {
512
+ return {
513
+ session: toDomainRecord(result.session),
514
+ claims: result.claims.map(toDomainClaim),
515
+ added: result.added.map(toDomainClaim),
516
+ released: result.released.map(toDomainClaim),
517
+ idempotent: result.idempotent,
518
+ };
519
+ }
520
+ function toDomainClaim(claim) {
521
+ return {
522
+ schema_version: claim.schemaVersion,
523
+ claim_id: claim.claimId,
524
+ session_id: claim.sessionId,
525
+ repository: claim.repositoryId,
526
+ worktree: claim.worktreePath,
527
+ resource: claim.resource,
528
+ mode: claim.mode,
529
+ created_at: claim.createdAt,
530
+ updated_at: claim.updatedAt,
531
+ };
532
+ }
192
533
  function toDomainError(error, fallbackCode) {
193
534
  if (!isSessionRegistryError(error)) {
194
535
  const cause = error instanceof Error ? `${error.name}: ${error.message}` : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"session-backend.js","sourceRoot":"","sources":["../../src/domain/session-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAIhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAqD,MAAM,cAAc,CAAC;AACzG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAsD,MAAM,aAAa,CAAC;AAsBhH,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,sBAAsB;IAC1C,oBAAoB,EAAE,oBAAoB;IAC1C,6BAA6B,EAAE,oBAAoB;IACnD,2BAA2B,EAAE,kBAAkB;IAC/C,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,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,qBAAqB,EAAE,iBAAiB;IACxC,mBAAmB,EAAE,qBAAqB;CAC3C,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,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;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,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;SAChC,CAAC,CAAC;KACJ,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":"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"}