mindoodb 0.0.86 → 0.0.89

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 (127) hide show
  1. package/README-server.md +5 -2
  2. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -1
  3. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +2 -1
  4. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -1
  5. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +154 -12
  6. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  7. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +348 -24
  8. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  9. package/dist/browser/index.mjs +16 -0
  10. package/dist/core/BaseMindooDB.d.ts +67 -9
  11. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  12. package/dist/core/BaseMindooDB.js +261 -12
  13. package/dist/core/BaseMindooDB.js.map +1 -1
  14. package/dist/core/BaseMindooTenant.d.ts +29 -0
  15. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  16. package/dist/core/BaseMindooTenant.js +111 -6
  17. package/dist/core/BaseMindooTenant.js.map +1 -1
  18. package/dist/core/BaseMindooTenantDirectory.d.ts +97 -0
  19. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  20. package/dist/core/BaseMindooTenantDirectory.js +312 -0
  21. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  22. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -1
  23. package/dist/core/BaseMindooTenantFactory.js +2 -1
  24. package/dist/core/BaseMindooTenantFactory.js.map +1 -1
  25. package/dist/core/MindooDBServerAdmin.d.ts.map +1 -1
  26. package/dist/core/MindooDBServerAdmin.js +2 -1
  27. package/dist/core/MindooDBServerAdmin.js.map +1 -1
  28. package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
  29. package/dist/core/accesscontrol/directoryProjection.js +23 -0
  30. package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
  31. package/dist/core/accesscontrol/evaluate.d.ts +14 -0
  32. package/dist/core/accesscontrol/evaluate.d.ts.map +1 -1
  33. package/dist/core/accesscontrol/evaluate.js +42 -1
  34. package/dist/core/accesscontrol/evaluate.js.map +1 -1
  35. package/dist/core/accesscontrol/types.d.ts +110 -4
  36. package/dist/core/accesscontrol/types.d.ts.map +1 -1
  37. package/dist/core/accesscontrol/types.js +135 -1
  38. package/dist/core/accesscontrol/types.js.map +1 -1
  39. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +6 -0
  40. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -1
  41. package/dist/core/appendonlystores/network/AuthenticationService.js +8 -7
  42. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -1
  43. package/dist/core/appendonlystores/network/IrohNetworkTransport.d.ts.map +1 -1
  44. package/dist/core/appendonlystores/network/IrohNetworkTransport.js +12 -0
  45. package/dist/core/appendonlystores/network/IrohNetworkTransport.js.map +1 -1
  46. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.d.ts +6 -0
  47. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.d.ts.map +1 -1
  48. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.js +20 -1
  49. package/dist/core/appendonlystores/rpc/RpcContentAddressedStore.js.map +1 -1
  50. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts +7 -0
  51. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.d.ts.map +1 -1
  52. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js +18 -0
  53. package/dist/core/appendonlystores/sqlite/SqliteContentAddressedStore.js.map +1 -1
  54. package/dist/core/appendonlystores/syncStores.d.ts.map +1 -1
  55. package/dist/core/appendonlystores/syncStores.js +25 -5
  56. package/dist/core/appendonlystores/syncStores.js.map +1 -1
  57. package/dist/core/appendonlystores/types.d.ts +7 -1
  58. package/dist/core/appendonlystores/types.d.ts.map +1 -1
  59. package/dist/core/appendonlystores/types.js +1 -0
  60. package/dist/core/appendonlystores/types.js.map +1 -1
  61. package/dist/core/builtinDbInvariants.d.ts +53 -0
  62. package/dist/core/builtinDbInvariants.d.ts.map +1 -1
  63. package/dist/core/builtinDbInvariants.js +90 -1
  64. package/dist/core/builtinDbInvariants.js.map +1 -1
  65. package/dist/core/crypto/AuthChallenge.d.ts +68 -0
  66. package/dist/core/crypto/AuthChallenge.d.ts.map +1 -0
  67. package/dist/core/crypto/AuthChallenge.js +118 -0
  68. package/dist/core/crypto/AuthChallenge.js.map +1 -0
  69. package/dist/core/crypto/DomainStatement.d.ts +5 -3
  70. package/dist/core/crypto/DomainStatement.d.ts.map +1 -1
  71. package/dist/core/crypto/DomainStatement.js +5 -3
  72. package/dist/core/crypto/DomainStatement.js.map +1 -1
  73. package/dist/core/crypto/encryptedFields.d.ts +11 -0
  74. package/dist/core/crypto/encryptedFields.d.ts.map +1 -1
  75. package/dist/core/crypto/encryptedFields.js +18 -0
  76. package/dist/core/crypto/encryptedFields.js.map +1 -1
  77. package/dist/core/index.d.ts +3 -3
  78. package/dist/core/index.d.ts.map +1 -1
  79. package/dist/core/index.js +19 -6
  80. package/dist/core/index.js.map +1 -1
  81. package/dist/core/query/executeQuery.d.ts.map +1 -1
  82. package/dist/core/query/executeQuery.js +5 -1
  83. package/dist/core/query/executeQuery.js.map +1 -1
  84. package/dist/core/query/executeQueryInclude.d.ts.map +1 -1
  85. package/dist/core/query/executeQueryInclude.js +2 -0
  86. package/dist/core/query/executeQueryInclude.js.map +1 -1
  87. package/dist/core/query/queryView.d.ts.map +1 -1
  88. package/dist/core/query/queryView.js +5 -1
  89. package/dist/core/query/queryView.js.map +1 -1
  90. package/dist/core/types.d.ts +143 -8
  91. package/dist/core/types.d.ts.map +1 -1
  92. package/dist/core/types.js.map +1 -1
  93. package/dist/core/userkeys/index.d.ts +1 -0
  94. package/dist/core/userkeys/index.d.ts.map +1 -1
  95. package/dist/core/userkeys/index.js +5 -1
  96. package/dist/core/userkeys/index.js.map +1 -1
  97. package/dist/core/userkeys/sealedValues.d.ts +54 -0
  98. package/dist/core/userkeys/sealedValues.d.ts.map +1 -0
  99. package/dist/core/userkeys/sealedValues.js +67 -0
  100. package/dist/core/userkeys/sealedValues.js.map +1 -0
  101. package/dist/core/utils/dynamicImportInterop.d.ts +10 -0
  102. package/dist/core/utils/dynamicImportInterop.d.ts.map +1 -0
  103. package/dist/core/utils/dynamicImportInterop.js +22 -0
  104. package/dist/core/utils/dynamicImportInterop.js.map +1 -0
  105. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.d.ts.map +1 -1
  106. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js +7 -0
  107. package/dist/node/appendonlystores/BasicOnDiskContentAddressedStore.js.map +1 -1
  108. package/dist/server/DeviceDiscoveryService.d.ts.map +1 -1
  109. package/dist/server/DeviceDiscoveryService.js +3 -4
  110. package/dist/server/DeviceDiscoveryService.js.map +1 -1
  111. package/dist/server/SystemAdminAuth.d.ts.map +1 -1
  112. package/dist/server/SystemAdminAuth.js +3 -4
  113. package/dist/server/SystemAdminAuth.js.map +1 -1
  114. package/dist/server/TenantManager.d.ts +36 -0
  115. package/dist/server/TenantManager.d.ts.map +1 -1
  116. package/dist/server/TenantManager.js +234 -4
  117. package/dist/server/TenantManager.js.map +1 -1
  118. package/dist/server/http/MindooDBServerCore.d.ts.map +1 -1
  119. package/dist/server/http/MindooDBServerCore.js +7 -0
  120. package/dist/server/http/MindooDBServerCore.js.map +1 -1
  121. package/dist/server/peer/PeerAuthService.d.ts.map +1 -1
  122. package/dist/server/peer/PeerAuthService.js +3 -4
  123. package/dist/server/peer/PeerAuthService.js.map +1 -1
  124. package/dist/server/peer/PeerReplicator.d.ts.map +1 -1
  125. package/dist/server/peer/PeerReplicator.js +2 -1
  126. package/dist/server/peer/PeerReplicator.js.map +1 -1
  127. package/package.json +1 -1
@@ -27,9 +27,28 @@ export declare const ACCESS_CONTROL_FORM: "accesscontrol";
27
27
  * evaluated by {@link evaluateLlmUse}, independent of the master switch. Like
28
28
  * the rest of the `llm` block it is client-enforced.
29
29
  */
30
- export type RuleType = "doc_create" | "doc_change" | "doc_delete" | "doc_undelete" | "doc_snapshot" | "doc_read" | "llm_use";
30
+ export type RuleType = "doc_create" | "doc_change" | "doc_delete" | "doc_undelete" | "doc_snapshot" | "doc_read" | "doc_read_all" | "doc_deposit" | "llm_use";
31
31
  /** All valid {@link RuleType} values, for validation and iteration. */
32
32
  export declare const RULE_TYPES: readonly RuleType[];
33
+ /**
34
+ * `doc_deposit` (§6.10): a database-level right to put sealed documents into a
35
+ * database the principal may not read. Only an explicit allow rule grants it
36
+ * (there is no baseline flag), it never carries `withfields`, and its `dbid`
37
+ * may be exact, `"*"`, or a prefix pattern ending in `*` (e.g. `"mmail_*"`), so
38
+ * one rule can cover a family of per-person databases.
39
+ *
40
+ * {@link AclRuleDoc.maxRecipients} bounds how many recipient wraps a deposited
41
+ * `doc_create` may carry; it defaults to {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}.
42
+ */
43
+ export declare const DEFAULT_DEPOSIT_MAX_RECIPIENTS = 1;
44
+ /** Upper bound accepted for {@link AclRuleDoc.maxRecipients}. */
45
+ export declare const MAX_DEPOSIT_RECIPIENTS = 100;
46
+ /**
47
+ * Whether a rule's `dbid` applies to `dbid`. `"*"` matches every database; a
48
+ * pattern ending in `*` (only valid on `doc_deposit` and `doc_read` rules, see
49
+ * {@link validateAclRule}) matches by prefix.
50
+ */
51
+ export declare function ruleMatchesDbid(ruleDbid: string, dbid: string): boolean;
33
52
  /** Comparison operators usable in a {@link WithFieldClause}. Closed set. */
34
53
  export type Operator = "equals" | "notEquals" | "contains" | "containsAny" | "containsAll" | "exists" | "notExists" | "gt" | "gte" | "lt" | "lte";
35
54
  /** All valid {@link Operator} values. */
@@ -116,6 +135,17 @@ export interface DefaultAccessPolicyDoc {
116
135
  * itself can be read). Defaults to false.
117
136
  */
118
137
  denyDocRead?: boolean;
138
+ /**
139
+ * Which documents of the database a member may read (§6.12). `"all"`
140
+ * (default): every document. `"own"`: only documents whose `doc_create` was
141
+ * signed by one of the member's own signing keys (same grant, any device);
142
+ * the sync server leaves out everything else on every read path and refuses
143
+ * writes into other people's documents. The tenant admin and members matched
144
+ * by a `doc_read_all` allow rule still read everything. Layers per-db over
145
+ * the tenant default in {@link effectivePolicy}; usually set per-db only.
146
+ * Server-enforced (Tier 1, metadata only).
147
+ */
148
+ docReadScope?: "all" | "own";
119
149
  /**
120
150
  * Optional default `decryptionKeyId` for a `doc_create` that does not specify
121
151
  * one in the governed scope (tenant default, or a single database when set on
@@ -184,7 +214,60 @@ export interface DefaultAccessPolicyDoc {
184
214
  * the whole object is replaced on write. See {@link LlmEndpointPolicy}.
185
215
  */
186
216
  llm?: LlmEndpointPolicy;
217
+ /**
218
+ * More personal-database prefixes (§6.11), in addition to the built-in ones
219
+ * (`mmail_`). Tenant default policy only. Adding a prefix only ever makes
220
+ * databases more private: the built-in rule applies to every database id
221
+ * `<prefix><grantDocId>`. Like `llm` it holds while the master switch is on.
222
+ */
223
+ personalDatabasePrefixes?: string[];
224
+ /**
225
+ * Internal mail between tenant members (§6.11, "Internal mail"): who may
226
+ * deposit MindooMail messages (`memo_…`, sealed to the owner) into another
227
+ * person's `mmail_<grantDocId>`. `"members"` (default): every member with a
228
+ * grant. `"rules"`: only members matched by a `doc_deposit` allow rule for
229
+ * the mailbox (e.g. `dbid: "mmail_*"`, a group). `"off"`: nobody (only
230
+ * grants with `depositPrefixes`, such as the mail gateway). A `doc_deposit`
231
+ * deny rule always wins, so one member's right can be taken away. Tenant
232
+ * default policy only; holds while the master switch is on.
233
+ */
234
+ internalMail?: "off" | "members" | "rules";
235
+ /**
236
+ * Limits for internal mail deposits, enforced by the sync server per sender
237
+ * and mailbox: `maxBytesPerMail` (document plus attachments, default
238
+ * 25 MiB) and `maxMailsPerHour` (default 200). Tenant default policy only.
239
+ */
240
+ internalMailLimits?: InternalMailLimits;
241
+ /**
242
+ * Free/busy (§6.11, "Free/busy"): who may read another person's
243
+ * `mbusy_<grantDocId>`, the database in which that person's client
244
+ * publishes only the busy times of their calendar. `"members"` (default):
245
+ * every member with a grant. `"rules"`: only members matched by a
246
+ * `doc_read` allow rule for the database (e.g. `dbid: "mbusy_*"`, a group).
247
+ * `"off"`: nobody but the owner (and the tenant admin). A `doc_read` deny
248
+ * rule always wins. Readers never write; only the owner's devices create,
249
+ * change, delete and purge. Tenant default policy only; holds while the
250
+ * master switch is on.
251
+ */
252
+ freeBusy?: "off" | "members" | "rules";
253
+ /**
254
+ * How many weeks ahead clients publish free/busy times (default 12, clamped
255
+ * to 1..52, see {@link effectiveFreeBusyWeeksAhead}). Not enforced by the
256
+ * server; clients read it from the policy.
257
+ */
258
+ freeBusyWeeksAhead?: number;
259
+ }
260
+ /** Default of {@link DefaultAccessPolicyDoc.freeBusyWeeksAhead}. */
261
+ export declare const DEFAULT_FREE_BUSY_WEEKS_AHEAD = 12;
262
+ /** {@link DefaultAccessPolicyDoc.freeBusyWeeksAhead} with its default, clamped to 1..52. */
263
+ export declare function effectiveFreeBusyWeeksAhead(policy: Pick<DefaultAccessPolicyDoc, "freeBusyWeeksAhead"> | null | undefined): number;
264
+ /** {@link DefaultAccessPolicyDoc.internalMailLimits}. */
265
+ export interface InternalMailLimits {
266
+ maxBytesPerMail?: number;
267
+ maxMailsPerHour?: number;
187
268
  }
269
+ /** Defaults for {@link DefaultAccessPolicyDoc.internalMailLimits}. */
270
+ export declare const DEFAULT_INTERNAL_MAIL_LIMITS: Required<InternalMailLimits>;
188
271
  /**
189
272
  * The `llm` block of the tenant default policy.
190
273
  *
@@ -212,12 +295,14 @@ export interface LlmEndpointPolicy {
212
295
  * The effective baseline defaults when a policy document exists but omits a
213
296
  * field (§6.1). Snapshot and purge default to denied (admin-only).
214
297
  */
215
- export declare const DEFAULT_POLICY_DEFAULTS: Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "disableAllAccessChecksAndPolicies" | "defaultCreateKeyId" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm">>;
298
+ export declare const DEFAULT_POLICY_DEFAULTS: Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "disableAllAccessChecksAndPolicies" | "defaultCreateKeyId" | "docReadScope" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm" | "personalDatabasePrefixes" | "internalMail" | "internalMailLimits" | "freeBusy" | "freeBusyWeeksAhead">>;
216
299
  /**
217
300
  * Map a database-scoped {@link RuleType} to the policy `deny<Op>` field that
218
301
  * gates it. `llm_use` is not listed: its baseline is `llm.denyUse` (§6.9).
302
+ * Neither is `doc_deposit`: it has no baseline flag and is always denied
303
+ * unless an allow rule grants it (§6.10).
219
304
  */
220
- export declare const RULE_TYPE_TO_DENY_FIELD: Record<Exclude<RuleType, "llm_use">, keyof typeof DEFAULT_POLICY_DEFAULTS>;
305
+ export declare const RULE_TYPE_TO_DENY_FIELD: Record<Exclude<RuleType, "llm_use" | "doc_read_all" | "doc_deposit">, keyof typeof DEFAULT_POLICY_DEFAULTS>;
221
306
  /** A single access-control rule (§6.3). */
222
307
  export interface AclRuleDoc {
223
308
  form: typeof ACCESS_CONTROL_FORM;
@@ -241,6 +326,17 @@ export interface AclRuleDoc {
241
326
  */
242
327
  users_encrypted: string;
243
328
  action: "allow" | "deny";
329
+ /**
330
+ * `doc_deposit` only: the largest number of recipient wraps a deposited
331
+ * `doc_create` may carry (1..{@link MAX_DEPOSIT_RECIPIENTS}). Absent means
332
+ * {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}. Ignored on every other rule type.
333
+ */
334
+ maxRecipients?: number;
335
+ /**
336
+ * `doc_deposit` only: the document ids a depositor may create must start with
337
+ * one of these prefixes (e.g. `["proposal_"]`). Absent or empty: any id.
338
+ */
339
+ docIdPrefixes?: string[];
244
340
  }
245
341
  /**
246
342
  * Decrypted targets of a rule, for admin-UI display only (never serialized to
@@ -311,12 +407,21 @@ export declare function validateWithFieldClause(clause: WithFieldClause, ruleTyp
311
407
  * directory sets). Enforces the closed type/operator/placeholder sets and the
312
408
  * `withfields` constraints (§6.3). Throws on the first violation.
313
409
  */
410
+ /**
411
+ * Document-id prefixes for deposits (§6.10): an array of non-empty strings
412
+ * made of the characters document ids use. Throws on violation.
413
+ */
414
+ export declare function validateDocIdPrefixes(prefixes: unknown, what: string): void;
415
+ /** Whether `docId` passes a deposit's `docIdPrefixes` (absent or empty: any id). */
416
+ export declare function docIdMatchesPrefixes(docId: string, prefixes: readonly string[] | undefined): boolean;
314
417
  export declare function validateAclRule(rule: {
315
418
  type: RuleType;
316
419
  dbid: string;
317
420
  action: "allow" | "deny";
318
421
  users_hashes: string[];
319
422
  withfields?: WithFieldClause[];
423
+ maxRecipients?: number;
424
+ docIdPrefixes?: string[];
320
425
  }): void;
321
426
  /**
322
427
  * Validate a {@link DefaultAccessPolicyDoc} (tenant default or per-db) before
@@ -335,8 +440,9 @@ export declare function validateLlmEndpointPolicy(llm: unknown): void;
335
440
  * A `null`/absent default policy means access control was never enabled, which
336
441
  * callers should treat as "all allowed" before calling this.
337
442
  */
338
- export declare function effectivePolicy(tenantDefault: DefaultAccessPolicyDoc | null | undefined, dbPolicy: DefaultAccessPolicyDoc | null | undefined): Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "defaultCreateKeyId" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm">> & {
443
+ export declare function effectivePolicy(tenantDefault: DefaultAccessPolicyDoc | null | undefined, dbPolicy: DefaultAccessPolicyDoc | null | undefined): Required<Omit<DefaultAccessPolicyDoc, "form" | "type" | "defaultCreateKeyId" | "docReadScope" | "databaseCreationPolicy" | "allowedDbIds" | "requireMetadataSignatureSince" | "llm" | "personalDatabasePrefixes" | "internalMail" | "internalMailLimits" | "freeBusy" | "freeBusyWeeksAhead">> & {
339
444
  defaultCreateKeyId?: string;
445
+ docReadScope: "all" | "own";
340
446
  };
341
447
  /**
342
448
  * Key distribution type tag (the `type` field of a {@link KeyDistributionDoc}).
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.KEY_DISTRIBUTION_TYPE = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.RULE_TYPE_TO_DENY_FIELD = exports.DEFAULT_POLICY_DEFAULTS = exports.RESERVED_PSEUDO_TOKENS = exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.PSEUDO_TOKEN_EVERYONE = exports.PLACEHOLDERS = exports.OPERATORS = exports.RULE_TYPES = exports.ACCESS_CONTROL_FORM = void 0;
3
+ exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.KEY_DISTRIBUTION_TYPE = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.RULE_TYPE_TO_DENY_FIELD = exports.DEFAULT_POLICY_DEFAULTS = exports.DEFAULT_INTERNAL_MAIL_LIMITS = exports.DEFAULT_FREE_BUSY_WEEKS_AHEAD = exports.RESERVED_PSEUDO_TOKENS = exports.PSEUDO_TOKEN_AUTHOR = exports.PSEUDO_TOKEN_ADMIN = exports.PSEUDO_TOKEN_EVERYONE = exports.PLACEHOLDERS = exports.OPERATORS = exports.MAX_DEPOSIT_RECIPIENTS = exports.DEFAULT_DEPOSIT_MAX_RECIPIENTS = exports.RULE_TYPES = exports.ACCESS_CONTROL_FORM = void 0;
4
+ exports.ruleMatchesDbid = ruleMatchesDbid;
4
5
  exports.isPlaceholder = isPlaceholder;
6
+ exports.effectiveFreeBusyWeeksAhead = effectiveFreeBusyWeeksAhead;
5
7
  exports.encodeAclIdComponent = encodeAclIdComponent;
6
8
  exports.decodeAclIdComponent = decodeAclIdComponent;
7
9
  exports.aclDbPolicyDocId = aclDbPolicyDocId;
8
10
  exports.aclTrustedWitnessDocId = aclTrustedWitnessDocId;
9
11
  exports.aclRuleDocId = aclRuleDocId;
10
12
  exports.validateWithFieldClause = validateWithFieldClause;
13
+ exports.validateDocIdPrefixes = validateDocIdPrefixes;
14
+ exports.docIdMatchesPrefixes = docIdMatchesPrefixes;
11
15
  exports.validateAclRule = validateAclRule;
12
16
  exports.validateAccessPolicy = validateAccessPolicy;
13
17
  exports.isValidLlmEndpointUrl = isValidLlmEndpointUrl;
@@ -48,8 +52,33 @@ exports.RULE_TYPES = [
48
52
  "doc_undelete",
49
53
  "doc_snapshot",
50
54
  "doc_read",
55
+ "doc_read_all",
56
+ "doc_deposit",
51
57
  "llm_use",
52
58
  ];
59
+ /**
60
+ * `doc_deposit` (§6.10): a database-level right to put sealed documents into a
61
+ * database the principal may not read. Only an explicit allow rule grants it
62
+ * (there is no baseline flag), it never carries `withfields`, and its `dbid`
63
+ * may be exact, `"*"`, or a prefix pattern ending in `*` (e.g. `"mmail_*"`), so
64
+ * one rule can cover a family of per-person databases.
65
+ *
66
+ * {@link AclRuleDoc.maxRecipients} bounds how many recipient wraps a deposited
67
+ * `doc_create` may carry; it defaults to {@link DEFAULT_DEPOSIT_MAX_RECIPIENTS}.
68
+ */
69
+ exports.DEFAULT_DEPOSIT_MAX_RECIPIENTS = 1;
70
+ /** Upper bound accepted for {@link AclRuleDoc.maxRecipients}. */
71
+ exports.MAX_DEPOSIT_RECIPIENTS = 100;
72
+ /**
73
+ * Whether a rule's `dbid` applies to `dbid`. `"*"` matches every database; a
74
+ * pattern ending in `*` (only valid on `doc_deposit` and `doc_read` rules, see
75
+ * {@link validateAclRule}) matches by prefix.
76
+ */
77
+ function ruleMatchesDbid(ruleDbid, dbid) {
78
+ if (ruleDbid === "*" || ruleDbid === dbid)
79
+ return true;
80
+ return ruleDbid.length > 1 && ruleDbid.endsWith("*") && dbid.startsWith(ruleDbid.slice(0, -1));
81
+ }
53
82
  /** All valid {@link Operator} values. */
54
83
  exports.OPERATORS = [
55
84
  "equals",
@@ -90,6 +119,20 @@ exports.RESERVED_PSEUDO_TOKENS = [
90
119
  exports.PSEUDO_TOKEN_ADMIN,
91
120
  exports.PSEUDO_TOKEN_AUTHOR,
92
121
  ];
122
+ /** Default of {@link DefaultAccessPolicyDoc.freeBusyWeeksAhead}. */
123
+ exports.DEFAULT_FREE_BUSY_WEEKS_AHEAD = 12;
124
+ /** {@link DefaultAccessPolicyDoc.freeBusyWeeksAhead} with its default, clamped to 1..52. */
125
+ function effectiveFreeBusyWeeksAhead(policy) {
126
+ const value = policy?.freeBusyWeeksAhead;
127
+ if (typeof value !== "number" || !Number.isFinite(value))
128
+ return exports.DEFAULT_FREE_BUSY_WEEKS_AHEAD;
129
+ return Math.min(52, Math.max(1, Math.round(value)));
130
+ }
131
+ /** Defaults for {@link DefaultAccessPolicyDoc.internalMailLimits}. */
132
+ exports.DEFAULT_INTERNAL_MAIL_LIMITS = {
133
+ maxBytesPerMail: 25 * 1024 * 1024,
134
+ maxMailsPerHour: 200,
135
+ };
93
136
  /**
94
137
  * The effective baseline defaults when a policy document exists but omits a
95
138
  * field (§6.1). Snapshot and purge default to denied (admin-only).
@@ -105,6 +148,8 @@ exports.DEFAULT_POLICY_DEFAULTS = {
105
148
  /**
106
149
  * Map a database-scoped {@link RuleType} to the policy `deny<Op>` field that
107
150
  * gates it. `llm_use` is not listed: its baseline is `llm.denyUse` (§6.9).
151
+ * Neither is `doc_deposit`: it has no baseline flag and is always denied
152
+ * unless an allow rule grants it (§6.10).
108
153
  */
109
154
  exports.RULE_TYPE_TO_DENY_FIELD = {
110
155
  doc_create: "denyDocCreate",
@@ -220,6 +265,25 @@ function validateWithFieldClause(clause, ruleType) {
220
265
  * directory sets). Enforces the closed type/operator/placeholder sets and the
221
266
  * `withfields` constraints (§6.3). Throws on the first violation.
222
267
  */
268
+ /**
269
+ * Document-id prefixes for deposits (§6.10): an array of non-empty strings
270
+ * made of the characters document ids use. Throws on violation.
271
+ */
272
+ function validateDocIdPrefixes(prefixes, what) {
273
+ if (prefixes === undefined)
274
+ return;
275
+ if (!Array.isArray(prefixes))
276
+ throw new Error(`${what} must be an array of strings`);
277
+ for (const prefix of prefixes) {
278
+ if (typeof prefix !== "string" || !/^[A-Za-z0-9_-]{1,64}$/.test(prefix)) {
279
+ throw new Error(`${what}: "${String(prefix)}" is not a valid document-id prefix`);
280
+ }
281
+ }
282
+ }
283
+ /** Whether `docId` passes a deposit's `docIdPrefixes` (absent or empty: any id). */
284
+ function docIdMatchesPrefixes(docId, prefixes) {
285
+ return !prefixes || prefixes.length === 0 || prefixes.some((prefix) => docId.startsWith(prefix));
286
+ }
223
287
  function validateAclRule(rule) {
224
288
  if (!exports.RULE_TYPES.includes(rule.type)) {
225
289
  throw new Error(`rule has unknown type "${rule.type}"`);
@@ -239,6 +303,38 @@ function validateAclRule(rule) {
239
303
  if (rule.type === "doc_read" && (rule.withfields?.length ?? 0) > 0) {
240
304
  throw new Error("doc_read rules are database-level and cannot use `withfields`");
241
305
  }
306
+ // `doc_read_all` names who reads every document of a `docReadScope: "own"`
307
+ // database (§6.12): database-level as well, so the server can enforce it.
308
+ if (rule.type === "doc_read_all" && (rule.withfields?.length ?? 0) > 0) {
309
+ throw new Error("doc_read_all rules are database-level and cannot use `withfields`");
310
+ }
311
+ // `doc_deposit` is a database-level right like `doc_read` (§6.10). These two
312
+ // are the only types whose dbid may be a prefix pattern ("mmail_*",
313
+ // "mbusy_*" for free/busy readers).
314
+ if (rule.type === "doc_deposit") {
315
+ if ((rule.withfields?.length ?? 0) > 0) {
316
+ throw new Error("doc_deposit rules are database-level and cannot use `withfields`");
317
+ }
318
+ if (rule.maxRecipients !== undefined) {
319
+ if (!Number.isInteger(rule.maxRecipients) ||
320
+ rule.maxRecipients < 1 ||
321
+ rule.maxRecipients > exports.MAX_DEPOSIT_RECIPIENTS) {
322
+ throw new Error(`doc_deposit maxRecipients must be an integer from 1 to ${exports.MAX_DEPOSIT_RECIPIENTS}`);
323
+ }
324
+ }
325
+ validateDocIdPrefixes(rule.docIdPrefixes, "doc_deposit docIdPrefixes");
326
+ }
327
+ else {
328
+ if (rule.type !== "doc_read" && rule.dbid !== "*" && rule.dbid.endsWith("*")) {
329
+ throw new Error('only doc_deposit and doc_read rules may use a dbid prefix pattern ending in "*"');
330
+ }
331
+ if (rule.maxRecipients !== undefined) {
332
+ throw new Error("maxRecipients is only valid on doc_deposit rules");
333
+ }
334
+ if (rule.docIdPrefixes !== undefined) {
335
+ throw new Error("docIdPrefixes is only valid on doc_deposit rules");
336
+ }
337
+ }
242
338
  // `llm_use` is a tenant-wide decision about the assistant (§6.9), not about
243
339
  // a database or its documents.
244
340
  if (rule.type === "llm_use") {
@@ -258,6 +354,43 @@ function validateAclRule(rule) {
258
354
  * it is written. Throws on violation.
259
355
  */
260
356
  function validateAccessPolicy(policy) {
357
+ if (policy.internalMail !== undefined &&
358
+ policy.internalMail !== "off" &&
359
+ policy.internalMail !== "members" &&
360
+ policy.internalMail !== "rules") {
361
+ throw new Error(`internalMail "${String(policy.internalMail)}" must be "off", "members" or "rules"`);
362
+ }
363
+ if (policy.freeBusy !== undefined &&
364
+ policy.freeBusy !== "off" &&
365
+ policy.freeBusy !== "members" &&
366
+ policy.freeBusy !== "rules") {
367
+ throw new Error(`freeBusy "${String(policy.freeBusy)}" must be "off", "members" or "rules"`);
368
+ }
369
+ if (policy.freeBusyWeeksAhead !== undefined &&
370
+ (!Number.isInteger(policy.freeBusyWeeksAhead) || policy.freeBusyWeeksAhead < 1 || policy.freeBusyWeeksAhead > 52)) {
371
+ throw new Error("freeBusyWeeksAhead must be an integer from 1 to 52");
372
+ }
373
+ if (policy.internalMailLimits !== undefined) {
374
+ for (const [key, value] of Object.entries(policy.internalMailLimits)) {
375
+ if (!["maxBytesPerMail", "maxMailsPerHour"].includes(key)) {
376
+ throw new Error(`internalMailLimits.${key} is unknown`);
377
+ }
378
+ if (value !== undefined && (!Number.isInteger(value) || value < 1)) {
379
+ throw new Error(`internalMailLimits.${key} must be a positive integer`);
380
+ }
381
+ }
382
+ }
383
+ if (policy.personalDatabasePrefixes !== undefined) {
384
+ if (!Array.isArray(policy.personalDatabasePrefixes) ||
385
+ !policy.personalDatabasePrefixes.every((prefix) => typeof prefix === "string" && /^[a-z][a-z0-9]*_$/.test(prefix))) {
386
+ throw new Error('personalDatabasePrefixes must be prefixes like "notes_" (lowercase letters and digits, ending in "_")');
387
+ }
388
+ }
389
+ if (policy.docReadScope !== undefined &&
390
+ policy.docReadScope !== "all" &&
391
+ policy.docReadScope !== "own") {
392
+ throw new Error(`docReadScope "${String(policy.docReadScope)}" must be "all" or "own"`);
393
+ }
261
394
  if (policy.databaseCreationPolicy !== undefined &&
262
395
  policy.databaseCreationPolicy !== "open" &&
263
396
  policy.databaseCreationPolicy !== "directory-restricted") {
@@ -372,6 +505,7 @@ function effectivePolicy(tenantDefault, dbPolicy) {
372
505
  denyDocSnapshot: pick("denyDocSnapshot"),
373
506
  denyDocRead: pick("denyDocRead"),
374
507
  defaultCreateKeyId,
508
+ docReadScope: dbPolicy?.docReadScope ?? tenantDefault?.docReadScope ?? "all",
375
509
  };
376
510
  }
377
511
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/accesscontrol/types.ts"],"names":[],"mappings":";;;AAkFA,0CAGC;AAgDD,sCAEC;AAkND,kEAIC;AAwLD,oDAaC;AAGD,oDAaC;AAGD,4CAEC;AAGD,wDAEC;AAGD,oCAEC;AAqBD,0DAgBC;AAWD,sDAQC;AAGD,oDAEC;AAED,0CAyEC;AAMD,oDAyFC;AAMD,sDAeC;AAGD,8DAwCC;AAUD,0CAiDC;AA4ID,0DAEC;AAGD,wDAEC;AAgBD,0DA0CC;AA8ID,0DAEC;AAGD,wDAEC;AAUD,0DAsBC;AA2JD,0DAEC;AAGD,wDAEC;AAYD,0DAgCC;AAwFD,0DAEC;AAGD,wDAEC;AAUD,0DAiBC;AA7mDD,oCAA+C;AAC/C,kEAAuE;AAEvE;;;;;;;;;;GAUG;AAEH,+EAA+E;AAClE,QAAA,mBAAmB,GAAG,eAAwB,CAAC;AAkC5D,uEAAuE;AAC1D,QAAA,UAAU,GAAwB;IAC7C,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,cAAc;IACd,UAAU;IACV,cAAc;IACd,aAAa;IACb,SAAS;CACV,CAAC;AAEF;;;;;;;;;GASG;AACU,QAAA,8BAA8B,GAAG,CAAC,CAAC;AAChD,iEAAiE;AACpD,QAAA,sBAAsB,GAAG,GAAG,CAAC;AAE1C;;;;GAIG;AACH,SAAgB,eAAe,CAAC,QAAgB,EAAE,IAAY;IAC5D,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvD,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC;AAgBD,yCAAyC;AAC5B,QAAA,SAAS,GAAwB;IAC5C,QAAQ;IACR,WAAW;IACX,UAAU;IACV,aAAa;IACb,aAAa;IACb,QAAQ;IACR,WAAW;IACX,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;CACN,CAAC;AAWF,4CAA4C;AAC/B,QAAA,YAAY,GAA2B;IAClD,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;CACjB,CAAC;AAEF,mEAAmE;AACnE,SAAgB,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,oBAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;;;GAOG;AACU,QAAA,qBAAqB,GAAG,WAAoB,CAAC;AAC7C,QAAA,kBAAkB,GAAG,QAAiB,CAAC;AACvC,QAAA,mBAAmB,GAAG,SAAkB,CAAC;AACzC,QAAA,sBAAsB,GAAsB;IACvD,6BAAqB;IACrB,0BAAkB;IAClB,2BAAmB;CACpB,CAAC;AA6LF,oEAAoE;AACvD,QAAA,6BAA6B,GAAG,EAAE,CAAC;AAEhD,4FAA4F;AAC5F,SAAgB,2BAA2B,CAAC,MAA6E;IACvH,MAAM,KAAK,GAAG,MAAM,EAAE,kBAAkB,CAAC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,qCAA6B,CAAC;IAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAQD,sEAAsE;AACzD,QAAA,4BAA4B,GAAiC;IACxE,eAAe,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;IACjC,eAAe,EAAE,GAAG;CACrB,CAAC;AA0BF;;;GAGG;AACU,QAAA,uBAAuB,GAkBhC;IACF,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,IAAI;IACrB,WAAW,EAAE,KAAK;CACnB,CAAC;AAEF;;;;;GAKG;AACU,QAAA,uBAAuB,GAGhC;IACF,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,YAAY,EAAE,iBAAiB;IAC/B,YAAY,EAAE,iBAAiB;IAC/B,QAAQ,EAAE,aAAa;CACxB,CAAC;AAsEF,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E,0DAA0D;AAC7C,QAAA,yBAAyB,GAAG,mBAAmB,CAAC;AAE7D,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAC7C,MAAM,0BAA0B,GAAG,qBAAqB,CAAC;AACzD,MAAM,eAAe,GAAG,WAAW,CAAC;AAEpC;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC9C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;QAC7C,IAAI,aAAa,IAAI,OAAO,EAAE,CAAC;YAC7B,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+CAA+C;AAC/C,SAAgB,oBAAoB,CAAC,OAAe;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9B,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,oDAAoD;AACpD,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,gBAAgB,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,oFAAoF;AACpF,SAAgB,sBAAsB,CAAC,WAAmB;IACxD,OAAO,gBAAgB,CAAC,0BAA0B,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,0EAA0E;AAC1E,SAAgB,YAAY,CAAC,MAAc;IACzC,OAAO,gBAAgB,CAAC,eAAe,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAU;IAClC,IAAI,CAAC,2BAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,6CAA6C,EAAE,wCAAwC,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,8EAA8E;AAC9E,kFAAkF;AAClF,8EAA8E;AAE9E;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,MAAuB,EAAE,QAAkB;IACjF,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAE,iBAA+B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACrF,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,QAAiB,EAAE,IAAY;IACnE,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;IACrF,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;AACH,CAAC;AAED,oFAAoF;AACpF,SAAgB,oBAAoB,CAAC,KAAa,EAAE,QAAuC;IACzF,OAAO,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,SAAgB,eAAe,CAAC,IAQ/B;IACC,IAAI,CAAE,kBAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,gCAAgC,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,uEAAuE;IACvE,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,6EAA6E;IAC7E,oEAAoE;IACpE,oCAAoC;IACpC,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,CAAC;gBACtB,IAAI,CAAC,aAAa,GAAG,8BAAsB,EAC3C,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,0DAA0D,8BAAsB,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QACD,qBAAqB,CAAC,IAAI,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;IACzE,CAAC;SAAM,CAAC;QACN,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACrG,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,+BAA+B;IAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC3C,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAClC,MAA8D;IAE9D,IACE,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,YAAY,KAAK,KAAK;QAC7B,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,YAAY,KAAK,OAAO,EAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;IACvG,CAAC;IACD,IACE,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,MAAM,CAAC,QAAQ,KAAK,KAAK;QACzB,MAAM,CAAC,QAAQ,KAAK,SAAS;QAC7B,MAAM,CAAC,QAAQ,KAAK,OAAO,EAC3B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;IAC/F,CAAC;IACD,IACE,MAAM,CAAC,kBAAkB,KAAK,SAAS;QACvC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,IAAI,MAAM,CAAC,kBAAkB,GAAG,EAAE,CAAC,EACjH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,aAAa,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,6BAA6B,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;QAClD,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC;YAC/C,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAClH,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;QAC3H,CAAC;IACH,CAAC;IACD,IACE,MAAM,CAAC,YAAY,KAAK,SAAS;QACjC,MAAM,CAAC,YAAY,KAAK,KAAK;QAC7B,MAAM,CAAC,YAAY,KAAK,KAAK,EAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC1F,CAAC;IAED,IACE,MAAM,CAAC,sBAAsB,KAAK,SAAS;QAC3C,MAAM,CAAC,sBAAsB,KAAK,MAAM;QACxC,MAAM,CAAC,sBAAsB,KAAK,sBAAsB,EACxD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2BAA2B,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,YAAY;YAC1E,kCAAkC,CACrC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,IAAA,mDAA4B,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACvE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,6BAA6B,KAAK,SAAS,EAAE,CAAC;QACvD,IACE,OAAO,MAAM,CAAC,6BAA6B,KAAK,QAAQ;YACxD,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,6BAA6B,CAAC;YACtD,MAAM,CAAC,6BAA6B,GAAG,CAAC,EACxC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC7B,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAC7C,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,0FAA0F;AAC1F,SAAgB,qBAAqB,CAAC,KAAa;IACjD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;QACvD,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,GAAG,CAAC,QAAQ;QACb,CAAC,GAAG,CAAC,QAAQ;QACb,CAAC,GAAG,CAAC,MAAM;QACX,CAAC,GAAG,CAAC,IAAI,CACV,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,SAAgB,yBAAyB,CAAC,GAAY;IACpD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,GAAwB,CAAC;IAChF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,KAAK,kBAAkB,IAAI,GAAG,KAAK,iBAAiB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACjF,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,uBAAuB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,yBAAyB,WAAW,CAAC,CAAC;QACjG,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,IACE,OAAO,OAAO,KAAK,QAAQ;gBAC3B,OAAO,CAAC,MAAM,GAAG,+BAA+B;gBAChD,kEAAkE;gBAClE,CAAC,OAAO,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAC1D,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,CAAC,OAAO,CAAC,sDAAsD,CACrG,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,EAAE,CAAC;YACnF,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,aAAwD,EACxD,QAAmD;IAsBnD,MAAM,IAAI,GAAG,CAAiD,KAAQ,EAAW,EAAE;QACjF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAY,CAAC;QACjF,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,SAAS;YAAE,OAAO,aAAa,CAAC,KAAK,CAAY,CAAC;QAChG,OAAO,+BAAuB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,OAAO,GACX,CAAC,QAAQ,EAAE,iCAAiC,IAAI,aAAa,EAAE,iCAAiC,CAAC;QACjG,IAAI,CAAC;IACP,uEAAuE;IACvE,8EAA8E;IAC9E,MAAM,kBAAkB,GACtB,CAAC,QAAQ,IAAI,QAAQ,CAAC,kBAAkB,CAAC;QACzC,CAAC,aAAa,IAAI,aAAa,CAAC,kBAAkB,CAAC;QACnD,SAAS,CAAC;IACZ,OAAO;QACL,iCAAiC,EAAE,OAAO;QAC1C,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC;QACpC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC;QACxC,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;QAChC,kBAAkB;QAClB,YAAY,EAAE,QAAQ,EAAE,YAAY,IAAI,aAAa,EAAE,YAAY,IAAI,KAAK;KAC7E,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,qBAAqB,GAAG,iBAA0B,CAAC;AAEhE,qEAAqE;AACxD,QAAA,8BAA8B,GAAsB,CAAC,cAAc,CAAC,CAAC;AA2HlF,iEAAiE;AACpD,QAAA,2BAA2B,GAAG,sBAAsB,CAAC;AAElE;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,gBAAgB,CAAC,mCAA2B,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,2DAA2D;AAC3D,SAAgB,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,uBAAuB,CAAC,KAMvC;IACC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,sCAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,wDAAwD,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACzE,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClD,IAAI,WAAW,CAAC,IAAI,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CACb,kCAAkC,SAAS,6CAA6C;gBACtF,IAAI,WAAW,CAAC,IAAI,yBAAyB,OAAO,CAAC,MAAM,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8DAA8D;AAC9D,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,kEAAkE;AAClE,8EAA8E;AAE9E;;GAEG;AACU,QAAA,qBAAqB,GAAG,iBAA0B,CAAC;AAuHhE,iEAAiE;AACpD,QAAA,2BAA2B,GAAG,sBAAsB,CAAC;AAElE;;;;;GAKG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,gBAAgB,CAAC,mCAA2B,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,4DAA4D;AAC5D,SAAgB,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,mCAA2B,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,KAMvC;IACC,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAChD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,6EAA6E;AAC7E,8EAA8E;AAC9E,8EAA8E;AAC9E,mEAAmE;AACnE,uEAAuE;AACvE,8EAA8E;AAC9E,2EAA2E;AAC3E,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;GAEG;AACU,QAAA,sBAAsB,GAAG,iBAA0B,CAAC;AAajE,oEAAoE;AACvD,QAAA,uBAAuB,GAAmC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAoHhG,yEAAyE;AAC5D,QAAA,4BAA4B,GAAG,sBAAsB,CAAC;AAEnE;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,OAAO,gBAAgB,CAAC,oCAA4B,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,4DAA4D;AAC5D,SAAgB,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,oCAA4B,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,uBAAuB,CAAC,KAQvC;IACC,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,+BAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,0CAA0C,GAAG,+BAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;QAC/C,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;QAChD,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,+EAA+E;AAC/E,2EAA2E;AAC3E,0EAA0E;AAC1E,+EAA+E;AAC/E,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,8EAA8E;AAE9E;;;GAGG;AACU,QAAA,sBAAsB,GAAG,iBAA0B,CAAC;AA8DjE,8DAA8D;AACjD,QAAA,4BAA4B,GAAG,sBAAsB,CAAC;AAEnE;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,SAAiB;IACvD,OAAO,gBAAgB,CAAC,oCAA4B,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,wDAAwD;AACxD,SAAgB,sBAAsB,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,UAAU,CAAC,oCAA4B,CAAC,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,KAIvC;IACC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;AACH,CAAC"}
@@ -31,6 +31,7 @@ export declare class AuthenticationService {
31
31
  private static readonly MAX_CHALLENGES;
32
32
  private jwtSecret;
33
33
  private challengeExpirationMs;
34
+ private readonly acceptLegacyChallengeSignatures;
34
35
  private tokenExpirationMs;
35
36
  private logger;
36
37
  constructor(cryptoAdapter: CryptoAdapter, directory: MindooTenantDirectory, tenantId: string, options?: {
@@ -38,6 +39,11 @@ export declare class AuthenticationService {
38
39
  challengeExpirationMs?: number;
39
40
  tokenExpirationMs?: number;
40
41
  logger?: Logger;
42
+ /**
43
+ * Accept a raw signature over a v2 challenge from clients that predate
44
+ * the signing domain (see `crypto/AuthChallenge.ts`). Default true.
45
+ */
46
+ acceptLegacyChallengeSignatures?: boolean;
41
47
  });
42
48
  /**
43
49
  * Generate a challenge for a user to sign.
@@ -1 +1 @@
1
- {"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/AuthenticationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAoC,MAAM,eAAe,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,UAAU,CAAyC;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAGhD,OAAO,CAAC,SAAS,CAAa;IAG9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,MAAM,CAAS;gBAGrB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,UAAU,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IAiBH;;;;;;;;;;;;;;;;;;OAkBG;IACG,iBAAiB,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACtC,OAAO,CAAC,MAAM,CAAC;IAclB,iFAAiF;YACnE,4BAA4B;IAuD1C;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAIjC,wFAAwF;YAC1E,oBAAoB;IAalC;;;;;OAKG;YACW,uBAAuB;IAsBrC,uDAAuD;IACvD,OAAO,CAAC,cAAc;IAiBtB;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAiJjF;;;OAGG;YACW,qBAAqB;IAanC;;;;;OAKG;IACH;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAYvE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAoE3E;;OAEG;YACW,eAAe;IAwC7B;;;OAGG;YACW,aAAa;IAqC3B;;OAEG;YACW,WAAW;IAuDzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,kBAAkB;CAQ3B"}
1
+ {"version":3,"file":"AuthenticationService.d.ts","sourceRoot":"","sources":["../../../../src/core/appendonlystores/network/AuthenticationService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAEV,UAAU,EACV,uBAAuB,EACxB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAoC,MAAM,eAAe,CAAC;AAEzE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,UAAU,CAAyC;IAE3D;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAGhD,OAAO,CAAC,SAAS,CAAa;IAG9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAU;IAC1D,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,MAAM,CAAS;gBAGrB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,qBAAqB,EAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,UAAU,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,+BAA+B,CAAC,EAAE,OAAO,CAAC;KAC3C;IAkBH;;;;;;;;;;;;;;;;;;OAkBG;IACG,iBAAiB,CACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACtC,OAAO,CAAC,MAAM,CAAC;IAclB,iFAAiF;YACnE,4BAA4B;IAuD1C;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAIjC,wFAAwF;YAC1E,oBAAoB;IAalC;;;;;OAKG;YACW,uBAAuB;IAsBrC,uDAAuD;IACvD,OAAO,CAAC,cAAc;IAiBtB;;;;;;OAMG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAiJjF;;;OAGG;YACW,qBAAqB;IAanC;;;;;OAKG;IACH;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAYvE,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAoE3E;;OAEG;YACW,eAAe;IAkC7B;;;OAGG;YACW,aAAa;IAqC3B;;OAEG;YACW,WAAW;IAuDzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAShC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,kBAAkB;CAQ3B"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AuthenticationService = void 0;
4
- const idGeneration_1 = require("../../utils/idGeneration");
4
+ const AuthChallenge_1 = require("../../crypto/AuthChallenge");
5
5
  const types_1 = require("./types");
6
6
  const logging_1 = require("../../logging");
7
7
  /**
@@ -23,6 +23,7 @@ class AuthenticationService {
23
23
  constructor(cryptoAdapter, directory, tenantId, options) {
24
24
  // In-memory challenge storage (in production, use a distributed cache)
25
25
  this.challenges = new Map();
26
+ this.acceptLegacyChallengeSignatures = options?.acceptLegacyChallengeSignatures !== false;
26
27
  this.cryptoAdapter = cryptoAdapter;
27
28
  this.directory = directory;
28
29
  this.tenantId = tenantId;
@@ -149,7 +150,7 @@ class AuthenticationService {
149
150
  }
150
151
  /** Persist a fresh challenge and return its string. */
151
152
  storeChallenge(fields) {
152
- const challenge = (0, idGeneration_1.generateRandomUuid)();
153
+ const challenge = (0, AuthChallenge_1.issueAuthChallenge)();
153
154
  const now = Date.now();
154
155
  const authChallenge = {
155
156
  challenge,
@@ -404,7 +405,7 @@ class AuthenticationService {
404
405
  /**
405
406
  * Verify an Ed25519 signature.
406
407
  */
407
- async verifySignature(message, signature, publicKeyPem) {
408
+ async verifySignature(challenge, signature, publicKeyPem) {
408
409
  const subtle = this.cryptoAdapter.getSubtle();
409
410
  try {
410
411
  // Import public key
@@ -414,10 +415,10 @@ class AuthenticationService {
414
415
  .replace(/\s/g, "");
415
416
  const keyData = this.base64ToUint8Array(pemContents);
416
417
  const publicKey = await subtle.importKey("spki", keyData.buffer, { name: "Ed25519" }, false, ["verify"]);
417
- // Verify signature
418
- const messageBytes = new TextEncoder().encode(message);
419
- const isValid = await subtle.verify({ name: "Ed25519" }, publicKey, signature.buffer.slice(signature.byteOffset, signature.byteOffset + signature.byteLength), messageBytes.buffer);
420
- return isValid;
418
+ // The v2 domain form, plus the raw string from clients that predate it.
419
+ return await (0, AuthChallenge_1.verifyAuthChallengeSignature)(subtle, publicKey, challenge, signature, {
420
+ acceptLegacySignatures: this.acceptLegacyChallengeSignatures,
421
+ });
421
422
  }
422
423
  catch (error) {
423
424
  this.logger.error(`Signature verification error:`, error);