@tearleads/client-sdk 0.1.19 → 0.1.21

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 (238) hide show
  1. package/client/organizations/index.js +2 -2
  2. package/client/organizations/index.js.map +1 -1
  3. package/client/organizations/organizationHistory.js +66 -0
  4. package/client/organizations/organizationHistory.js.map +1 -0
  5. package/client/organizations/organizationReadModels.d.ts +1 -1
  6. package/client/organizations/organizationReadModels.js +7 -27
  7. package/client/organizations/organizationReadModels.js.map +1 -1
  8. package/client/organizations/organizationsTypes.d.ts +1 -1
  9. package/client/organizations/organizationsTypes.js.map +1 -1
  10. package/data/containers/shared/types.d.ts +2 -2
  11. package/data/containers/shared/types.js.map +1 -1
  12. package/data/documents/shared/syncSubmitFailure.d.ts +2 -2
  13. package/data/documents/shared/syncSubmitFailure.js.map +1 -1
  14. package/data/keyingProjectionVerification/documentPurgeCheckpointCurrency.js +34 -8
  15. package/data/keyingProjectionVerification/documentPurgeCheckpointCurrency.js.map +1 -1
  16. package/data/keyingProjectionVerification/documentPurgeDocumentChainVerification.js.map +1 -1
  17. package/data/keyingProjectionVerification/documentPurgePolicyCheckpoints.js +17 -0
  18. package/data/keyingProjectionVerification/documentPurgePolicyCheckpoints.js.map +1 -0
  19. package/data/keyingProjectionVerification/documentPurgePolicyCurrency.js +55 -0
  20. package/data/keyingProjectionVerification/documentPurgePolicyCurrency.js.map +1 -0
  21. package/data/keyingProjectionVerification/documentPurgePrincipalEvidence.js +25 -13
  22. package/data/keyingProjectionVerification/documentPurgePrincipalEvidence.js.map +1 -1
  23. package/data/keyingProjectionVerification/documentPurgeProofVerification.d.ts +5 -3
  24. package/data/keyingProjectionVerification/documentPurgeProofVerification.js +52 -8
  25. package/data/keyingProjectionVerification/documentPurgeProofVerification.js.map +1 -1
  26. package/data/keyingProjectionVerification/projectionPolicyEvidence.js.map +1 -1
  27. package/data/keyingProjectionVerification/types.d.ts +4 -0
  28. package/data/keyingProjectionVerification/types.js.map +1 -1
  29. package/data/persistence/organizations/organizationReadModelProjection.js +2 -2
  30. package/data/persistence/organizations/organizationReadModelProjection.js.map +1 -1
  31. package/data/persistence/principalAuthorizationCheckpoints.js +1 -1
  32. package/data/persistence/principalAuthorizationCheckpoints.js.map +1 -1
  33. package/data/persistence/principalCurrentAcknowledgementPersistence.d.ts +1 -0
  34. package/data/persistence/principalCurrentAcknowledgementPersistence.js +58 -12
  35. package/data/persistence/principalCurrentAcknowledgementPersistence.js.map +1 -1
  36. package/data/persistence/principalHistoryEvidencePersistence.d.ts +2 -0
  37. package/data/persistence/principalHistoryEvidencePersistence.js +2 -0
  38. package/data/persistence/principalHistoryEvidencePersistence.js.map +1 -1
  39. package/data/persistence/principalHistoryIncompleteRetention.js +32 -0
  40. package/data/persistence/principalHistoryIncompleteRetention.js.map +1 -0
  41. package/data/persistence/principalHistoryNodeRetention.js +76 -0
  42. package/data/persistence/principalHistoryNodeRetention.js.map +1 -0
  43. package/data/persistence/principalHistoryPrefixPersistence.d.ts +1 -0
  44. package/data/persistence/principalHistoryPrefixPersistence.js +30 -1
  45. package/data/persistence/principalHistoryPrefixPersistence.js.map +1 -1
  46. package/data/persistence/principalHistoryRootOwnership.js +71 -0
  47. package/data/persistence/principalHistoryRootOwnership.js.map +1 -0
  48. package/data/persistence/principalHistoryStagePersistence.js +45 -0
  49. package/data/persistence/principalHistoryStagePersistence.js.map +1 -1
  50. package/data/persistence/principalHistoryStageRetention.js +44 -0
  51. package/data/persistence/principalHistoryStageRetention.js.map +1 -0
  52. package/data/persistence/principalHistoryUnpublishedRetention.js +71 -0
  53. package/data/persistence/principalHistoryUnpublishedRetention.js.map +1 -0
  54. package/data/persistence/principalKeyEnvelopeArchivePersistence.js +63 -0
  55. package/data/persistence/principalKeyEnvelopeArchivePersistence.js.map +1 -0
  56. package/data/persistence/principalKeyEnvelopeCandidates.js +10 -1
  57. package/data/persistence/principalKeyEnvelopeCandidates.js.map +1 -1
  58. package/data/persistence/principalPolicyReferencePersistence.js +2 -2
  59. package/data/persistence/principalPolicyReferencePersistence.js.map +1 -1
  60. package/data/sqlite/principalHistoryEvidenceSchema.js +2 -0
  61. package/data/sqlite/principalHistoryEvidenceSchema.js.map +1 -1
  62. package/data/sqlite/principalHistoryNodeRetentionSchema.js +30 -0
  63. package/data/sqlite/principalHistoryNodeRetentionSchema.js.map +1 -0
  64. package/data/sqlite/principalHistoryRetentionSchema.js +40 -0
  65. package/data/sqlite/principalHistoryRetentionSchema.js.map +1 -0
  66. package/data/sqlite/principalHistoryStageSchema.js +2 -0
  67. package/data/sqlite/principalHistoryStageSchema.js.map +1 -1
  68. package/data/sqlite/schema.d.ts +453 -0
  69. package/data/sqlite/schema.js +6 -0
  70. package/data/sqlite/schema.js.map +1 -1
  71. package/data/sqlite/sqliteCommitGuards.js +49 -0
  72. package/data/sqlite/sqliteCommitGuards.js.map +1 -0
  73. package/data/sqlite/sqlitePersistenceRuntime.js +14 -2
  74. package/data/sqlite/sqlitePersistenceRuntime.js.map +1 -1
  75. package/index.d.ts +3 -1
  76. package/index.js.map +1 -1
  77. package/internal/api-client/ApiClient.d.ts +60 -137
  78. package/internal/api-client/ApiClient.js +7 -5
  79. package/internal/api-client/ApiClient.js.map +1 -1
  80. package/internal/api-client/apiRequestRuntime.js +7 -7
  81. package/internal/api-client/apiRequestRuntime.js.map +1 -1
  82. package/internal/api-client/documentPurge.js +25 -0
  83. package/internal/api-client/documentPurge.js.map +1 -0
  84. package/internal/api-client/organizationPolicyHistory.d.ts +53 -0
  85. package/internal/api-client/organizationPolicyHistory.js +15 -0
  86. package/internal/api-client/organizationPolicyHistory.js.map +1 -0
  87. package/internal/api-client/requestInternals.js +4 -4
  88. package/internal/api-client/requestInternals.js.map +1 -1
  89. package/internal/api-client/types.d.ts +2 -2
  90. package/internal/api-client/types.js.map +1 -1
  91. package/internal/crypto/keying/accessEvent.js +11 -9
  92. package/internal/crypto/keying/accessEvent.js.map +1 -1
  93. package/internal/crypto/keying/principalPolicyChainEntry.js +3 -0
  94. package/internal/crypto/keying/principalPolicyChainEntry.js.map +1 -1
  95. package/internal/crypto/keying/principalPolicyHistory.js +4 -0
  96. package/internal/crypto/keying/principalPolicyHistory.js.map +1 -1
  97. package/internal/crypto/keying/principalPolicyHistoryTypes.d.ts +2 -0
  98. package/internal/crypto/keying/principalPolicyHistoryTypes.js.map +1 -1
  99. package/internal/crypto/keying/principalPolicyTransition.d.ts +2 -1
  100. package/internal/crypto/keying/principalPolicyTransition.js +5 -0
  101. package/internal/crypto/keying/principalPolicyTransition.js.map +1 -1
  102. package/internal/crypto/principalState.js +2 -2
  103. package/internal/crypto/principalState.js.map +1 -1
  104. package/internal/validators/operation/containerMutations.d.ts +448 -6528
  105. package/internal/validators/operation/documentMutations.d.ts +323 -579
  106. package/internal/validators/operation/documentMutations.js +22 -4
  107. package/internal/validators/operation/documentMutations.js.map +1 -1
  108. package/internal/validators/operation/documentSync.d.ts +26 -406
  109. package/internal/validators/operation/organizationPolicyHistory.d.ts +188 -310
  110. package/internal/validators/operation/organizationPolicyHistory.js +17 -3
  111. package/internal/validators/operation/organizationPolicyHistory.js.map +1 -1
  112. package/internal/validators/operation/organizations.d.ts +2 -2
  113. package/internal/validators/request/principal.js +2 -2
  114. package/internal/validators/request/principal.js.map +1 -1
  115. package/internal/validators/response/containerMutationError.d.ts +28 -408
  116. package/internal/validators/response/documentMutation.d.ts +232 -544
  117. package/internal/validators/response/documentMutation.js +1 -2
  118. package/internal/validators/response/documentMutation.js.map +1 -1
  119. package/internal/validators/response/documentSyncError.d.ts +26 -406
  120. package/internal/validators/response/documentSyncError.js +4 -3
  121. package/internal/validators/response/documentSyncError.js.map +1 -1
  122. package/internal/validators/response/index.d.ts +1 -1
  123. package/internal/validators/response/index.js +1 -1
  124. package/internal/validators/response/index.js.map +1 -1
  125. package/internal/validators/response/organization.d.ts +1 -1
  126. package/internal/validators/response/organization.js +1 -1
  127. package/internal/validators/response/organization.js.map +1 -1
  128. package/internal/validators/response/organizationPolicyHistory.d.ts +127 -309
  129. package/internal/validators/response/organizationPolicyHistory.js +10 -4
  130. package/internal/validators/response/organizationPolicyHistory.js.map +1 -1
  131. package/internal/validators/response/organizationReadModel.d.ts +5 -5
  132. package/internal/validators/response/principal.d.ts +28 -408
  133. package/internal/validators/response/principal.js +3 -1
  134. package/internal/validators/response/principal.js.map +1 -1
  135. package/internal/validators/response/principalReference.d.ts +1 -1
  136. package/internal/validators/response/principalReference.js +1 -1
  137. package/internal/validators/response/principalReference.js.map +1 -1
  138. package/internal/validators/response/principalSnapshot.js +4 -4
  139. package/internal/validators/response/principalSnapshot.js.map +1 -1
  140. package/internal/validators/util/index.d.ts +1 -1
  141. package/internal/validators/util/index.js +1 -1
  142. package/internal/validators/util/index.js.map +1 -1
  143. package/internal/validators/util/principalHistoryWire.d.ts +2 -0
  144. package/internal/validators/util/principalHistoryWire.js +2 -0
  145. package/internal/validators/util/principalHistoryWire.js.map +1 -1
  146. package/package.json +1 -1
  147. package/workflows/container-contents/container-state/createWithMetadata.js +19 -49
  148. package/workflows/container-contents/container-state/createWithMetadata.js.map +1 -1
  149. package/workflows/container-contents/container-state/groupGrantVerification.js +29 -0
  150. package/workflows/container-contents/container-state/groupGrantVerification.js.map +1 -1
  151. package/workflows/container-contents/container-state/groupShareEpoch.js +33 -0
  152. package/workflows/container-contents/container-state/groupShareEpoch.js.map +1 -0
  153. package/workflows/container-contents/container-state/remote.js +4 -1
  154. package/workflows/container-contents/container-state/remote.js.map +1 -1
  155. package/workflows/container-contents/container-state/share.js +2 -24
  156. package/workflows/container-contents/container-state/share.js.map +1 -1
  157. package/workflows/container-contents/documentTombstoneEvidence.js +23 -12
  158. package/workflows/container-contents/documentTombstoneEvidence.js.map +1 -1
  159. package/workflows/containers/child/create.js +1 -3
  160. package/workflows/containers/child/create.js.map +1 -1
  161. package/workflows/containers/child/createSubmission.d.ts +1 -3
  162. package/workflows/containers/child/createSubmission.js +13 -15
  163. package/workflows/containers/child/createSubmission.js.map +1 -1
  164. package/workflows/containers/child/currentShareGrantMutation.js +82 -0
  165. package/workflows/containers/child/currentShareGrantMutation.js.map +1 -0
  166. package/workflows/containers/child/currentSharePrincipalPolicy.js +83 -0
  167. package/workflows/containers/child/currentSharePrincipalPolicy.js.map +1 -0
  168. package/workflows/containers/child/mutationSubmit.js +1 -1
  169. package/workflows/containers/child/mutationSubmit.js.map +1 -1
  170. package/workflows/containers/child/runtimeCurrentGroupShare.js +82 -0
  171. package/workflows/containers/child/runtimeCurrentGroupShare.js.map +1 -0
  172. package/workflows/containers/child/share.js +1 -14
  173. package/workflows/containers/child/share.js.map +1 -1
  174. package/workflows/containers/child/shareProjection.js +15 -0
  175. package/workflows/containers/child/shareProjection.js.map +1 -0
  176. package/workflows/containers/mutationResponse.js +1 -1
  177. package/workflows/containers/mutationResponse.js.map +1 -1
  178. package/workflows/documents/purge.d.ts +3 -0
  179. package/workflows/documents/purge.js +13 -0
  180. package/workflows/documents/purge.js.map +1 -1
  181. package/workflows/documents/sync.js +2 -0
  182. package/workflows/documents/sync.js.map +1 -1
  183. package/workflows/documents/syncFailures.js +2 -2
  184. package/workflows/documents/syncFailures.js.map +1 -1
  185. package/workflows/documents/syncPolicyRepair.js +15 -13
  186. package/workflows/documents/syncPolicyRepair.js.map +1 -1
  187. package/workflows/organizations/initialPrincipalCurrentPublication.js +2 -0
  188. package/workflows/organizations/initialPrincipalCurrentPublication.js.map +1 -1
  189. package/workflows/organizations/loadPolicyHistoryDetails.js +31 -32
  190. package/workflows/organizations/loadPolicyHistoryDetails.js.map +1 -1
  191. package/workflows/organizations/organizationPolicyHistoryDetails.js +37 -15
  192. package/workflows/organizations/organizationPolicyHistoryDetails.js.map +1 -1
  193. package/workflows/organizations/organizationPolicyHistoryVerification.js +56 -69
  194. package/workflows/organizations/organizationPolicyHistoryVerification.js.map +1 -1
  195. package/workflows/organizations/policyHistoryCache.js +5 -2
  196. package/workflows/organizations/policyHistoryCache.js.map +1 -1
  197. package/workflows/organizations/policyHistoryTypes.d.ts +1 -0
  198. package/workflows/organizations/policyHistoryTypes.js.map +1 -1
  199. package/workflows/organizations/retainAcknowledgedPrincipalCurrents.js +4 -1
  200. package/workflows/organizations/retainAcknowledgedPrincipalCurrents.js.map +1 -1
  201. package/workflows/principals/loadRecoveredPrincipalHistoryPage.d.ts +0 -1
  202. package/workflows/principals/loadRecoveredPrincipalHistoryPage.js +1 -2
  203. package/workflows/principals/loadRecoveredPrincipalHistoryPage.js.map +1 -1
  204. package/workflows/principals/policyRepair.js +38 -0
  205. package/workflows/principals/policyRepair.js.map +1 -0
  206. package/workflows/principals/policyRepairBudget.d.ts +2 -2
  207. package/workflows/principals/policyRepairBudget.js +3 -3
  208. package/workflows/principals/policyRepairBudget.js.map +1 -1
  209. package/workflows/principals/principalHistoryRecoveryPrefix.js +4 -0
  210. package/workflows/principals/principalHistoryRecoveryPrefix.js.map +1 -1
  211. package/workflows/principals/principalRecoveryLocalPreference.js +3 -2
  212. package/workflows/principals/principalRecoveryLocalPreference.js.map +1 -1
  213. package/workflows/principals/publicPrincipalHistoryPage.js +1 -0
  214. package/workflows/principals/publicPrincipalHistoryPage.js.map +1 -1
  215. package/workflows/principals/publicPrincipalHistoryProgress.js +1 -0
  216. package/workflows/principals/publicPrincipalHistoryProgress.js.map +1 -1
  217. package/workflows/principals/publicPrincipalHistoryTypes.d.ts +2 -0
  218. package/workflows/principals/publicPrincipalHistoryTypes.js.map +1 -1
  219. package/workflows/principals/publicProjectionPrincipal.js +1 -0
  220. package/workflows/principals/publicProjectionPrincipal.js.map +1 -1
  221. package/workflows/principals/recoverPrincipalHistoryPage.js +2 -1
  222. package/workflows/principals/recoverPrincipalHistoryPage.js.map +1 -1
  223. package/workflows/principals/recoverPrincipalPolicyHistory.js +1 -0
  224. package/workflows/principals/recoverPrincipalPolicyHistory.js.map +1 -1
  225. package/workflows/principals/recoverPublicPrincipalHistory.js +2 -0
  226. package/workflows/principals/recoverPublicPrincipalHistory.js.map +1 -1
  227. package/workflows/principals/runtimePolicyRecovery.js +2 -1
  228. package/workflows/principals/runtimePolicyRecovery.js.map +1 -1
  229. package/workflows/principals/selectPublicPrincipalHistory.js +21 -15
  230. package/workflows/principals/selectPublicPrincipalHistory.js.map +1 -1
  231. package/workflows/sync/remoteResetPrincipalScope.js +6 -0
  232. package/workflows/sync/remoteResetPrincipalScope.js.map +1 -1
  233. package/data/keyingProjectionVerification/principalPolicySnapshotVerification.js +0 -208
  234. package/data/keyingProjectionVerification/principalPolicySnapshotVerification.js.map +0 -1
  235. package/data/keyingProjectionVerification/snapshotVerificationCache.js +0 -39
  236. package/data/keyingProjectionVerification/snapshotVerificationCache.js.map +0 -1
  237. package/workflows/containers/child/policyRepair.js +0 -23
  238. package/workflows/containers/child/policyRepair.js.map +0 -1
@@ -1,380 +1,198 @@
1
- import type { z } from "zod";
1
+ import { z } from "zod";
2
+ /** Display rows per private history page; the API also carries one predecessor. */
3
+ export declare const PRINCIPAL_DISPLAY_HISTORY_PAGE_SIZE = 32;
2
4
  /** Signed evidence only. Display names are resolved on the client. */
3
5
  export declare const OrganizationPolicyHistoryResponseSchema: z.ZodType<{
4
6
  organizationId: string;
5
7
  stateHash: string;
6
- organizationPayloads: {
7
- cipherSuite: "aes-256-gcm";
8
- ciphertext: string;
9
- ciphertextHash: string;
10
- createdAt: string;
11
- principalId: string;
12
- principalType: "group" | "organization";
13
- stateHash: string;
14
- }[];
15
- groups: {
16
- currentGrants: {
17
- accessLevel: "admin" | "read" | "write";
18
- containerId: string;
19
- }[];
20
- currentProjection: {
21
- role: "member" | "admin";
22
- userId: string;
23
- }[];
24
- currentState: {
25
- createdAt: string;
26
- encapsulationPublicKey: string;
27
- externalAuthority: {
8
+ beforeVersion: number;
9
+ nextBeforeVersion: number | null;
10
+ evidence: {
11
+ organization: {
12
+ head: {
13
+ keyEpoch: number;
14
+ keyFingerprint: string;
15
+ principalId: string;
16
+ principalType: "group" | "organization";
17
+ stateHash: string;
18
+ version: number;
19
+ };
20
+ grant: string;
21
+ } | null;
22
+ organizationPayloads: {
23
+ reference: {
28
24
  keyEpoch: number;
29
25
  keyFingerprint: string;
30
26
  principalId: string;
31
- principalType: "group";
27
+ principalType: "group" | "organization";
32
28
  stateHash: string;
33
29
  version: number;
34
- } | null;
35
- grantCount: number;
36
- grantRoot: string;
37
- keyEpoch: number;
38
- keyFingerprint: string;
39
- memberCount: number;
40
- memberEnvelopesRoot: string;
41
- membershipMode: "projection";
42
- membershipRoot: string;
43
- payloadCiphertextHash: string;
44
- prevStateHash: string | null;
45
- principalId: string;
46
- principalType: "group" | "organization";
47
- projectionRoot: string;
48
- signature: string;
49
- signedAt: string;
50
- signerUserId: string;
51
- signerUserKeyFingerprint: string;
52
- stateHash: string;
53
- version: number;
54
- };
55
- previousStates: {
56
- grants: {
57
- accessLevel: "admin" | "read" | "write";
58
- containerId: string;
59
- }[];
60
- projection: {
61
- role: "member" | "admin";
62
- userId: string;
63
- }[];
64
- state: {
30
+ };
31
+ payload: {
32
+ cipherSuite: "aes-256-gcm";
33
+ ciphertext: string;
34
+ ciphertextHash: string;
65
35
  createdAt: string;
66
- encapsulationPublicKey: string;
67
- externalAuthority: {
68
- keyEpoch: number;
69
- keyFingerprint: string;
70
- principalId: string;
71
- principalType: "group";
72
- stateHash: string;
73
- version: number;
74
- } | null;
75
- grantCount: number;
76
- grantRoot: string;
36
+ principalId: string;
37
+ principalType: "group" | "organization";
38
+ stateHash: string;
39
+ };
40
+ }[];
41
+ groups: {
42
+ head: {
77
43
  keyEpoch: number;
78
44
  keyFingerprint: string;
79
- memberCount: number;
80
- memberEnvelopesRoot: string;
81
- membershipMode: "projection";
82
- membershipRoot: string;
83
- payloadCiphertextHash: string;
84
- prevStateHash: string | null;
85
45
  principalId: string;
86
46
  principalType: "group" | "organization";
87
- projectionRoot: string;
88
- signature: string;
89
- signedAt: string;
90
- signerUserId: string;
91
- signerUserKeyFingerprint: string;
92
47
  stateHash: string;
93
48
  version: number;
94
49
  };
50
+ grant: string;
95
51
  }[];
96
- }[];
52
+ };
97
53
  }, {
98
54
  organizationId: string;
99
55
  stateHash: string;
100
- organizationPayloads: {
101
- cipherSuite: "aes-256-gcm";
102
- ciphertext: string;
103
- ciphertextHash: string;
104
- createdAt: string;
105
- principalId: string;
106
- principalType: "group" | "organization";
107
- stateHash: string;
108
- }[];
109
- groups: {
110
- currentGrants: {
111
- accessLevel: "admin" | "read" | "write";
112
- containerId: string;
113
- }[];
114
- currentProjection: {
115
- role: "member" | "admin";
116
- userId: string;
117
- }[];
118
- currentState: {
119
- createdAt: string;
120
- encapsulationPublicKey: string;
121
- externalAuthority: {
56
+ beforeVersion: number;
57
+ nextBeforeVersion: number | null;
58
+ evidence: {
59
+ organization: {
60
+ head: {
61
+ keyEpoch: number;
62
+ keyFingerprint: string;
63
+ principalId: string;
64
+ principalType: "group" | "organization";
65
+ stateHash: string;
66
+ version: number;
67
+ };
68
+ grant: string;
69
+ } | null;
70
+ organizationPayloads: {
71
+ reference: {
122
72
  keyEpoch: number;
123
73
  keyFingerprint: string;
124
74
  principalId: string;
125
- principalType: "group";
75
+ principalType: "group" | "organization";
126
76
  stateHash: string;
127
77
  version: number;
128
- } | null;
129
- grantCount: number;
130
- grantRoot: string;
131
- keyEpoch: number;
132
- keyFingerprint: string;
133
- memberCount: number;
134
- memberEnvelopesRoot: string;
135
- membershipMode: "projection";
136
- membershipRoot: string;
137
- payloadCiphertextHash: string;
138
- prevStateHash: string | null;
139
- principalId: string;
140
- principalType: "group" | "organization";
141
- projectionRoot: string;
142
- signature: string;
143
- signedAt: string;
144
- signerUserId: string;
145
- signerUserKeyFingerprint: string;
146
- stateHash: string;
147
- version: number;
148
- };
149
- previousStates: {
150
- grants: {
151
- accessLevel: "admin" | "read" | "write";
152
- containerId: string;
153
- }[];
154
- projection: {
155
- role: "member" | "admin";
156
- userId: string;
157
- }[];
158
- state: {
78
+ };
79
+ payload: {
80
+ cipherSuite: "aes-256-gcm";
81
+ ciphertext: string;
82
+ ciphertextHash: string;
159
83
  createdAt: string;
160
- encapsulationPublicKey: string;
161
- externalAuthority: {
162
- keyEpoch: number;
163
- keyFingerprint: string;
164
- principalId: string;
165
- principalType: "group";
166
- stateHash: string;
167
- version: number;
168
- } | null;
169
- grantCount: number;
170
- grantRoot: string;
84
+ principalId: string;
85
+ principalType: "group" | "organization";
86
+ stateHash: string;
87
+ };
88
+ }[];
89
+ groups: {
90
+ head: {
171
91
  keyEpoch: number;
172
92
  keyFingerprint: string;
173
- memberCount: number;
174
- memberEnvelopesRoot: string;
175
- membershipMode: "projection";
176
- membershipRoot: string;
177
- payloadCiphertextHash: string;
178
- prevStateHash: string | null;
179
93
  principalId: string;
180
94
  principalType: "group" | "organization";
181
- projectionRoot: string;
182
- signature: string;
183
- signedAt: string;
184
- signerUserId: string;
185
- signerUserKeyFingerprint: string;
186
95
  stateHash: string;
187
96
  version: number;
188
97
  };
98
+ grant: string;
189
99
  }[];
190
- }[];
100
+ };
191
101
  }, z.core.$ZodTypeInternals<{
192
102
  organizationId: string;
193
103
  stateHash: string;
194
- organizationPayloads: {
195
- cipherSuite: "aes-256-gcm";
196
- ciphertext: string;
197
- ciphertextHash: string;
198
- createdAt: string;
199
- principalId: string;
200
- principalType: "group" | "organization";
201
- stateHash: string;
202
- }[];
203
- groups: {
204
- currentGrants: {
205
- accessLevel: "admin" | "read" | "write";
206
- containerId: string;
207
- }[];
208
- currentProjection: {
209
- role: "member" | "admin";
210
- userId: string;
211
- }[];
212
- currentState: {
213
- createdAt: string;
214
- encapsulationPublicKey: string;
215
- externalAuthority: {
104
+ beforeVersion: number;
105
+ nextBeforeVersion: number | null;
106
+ evidence: {
107
+ organization: {
108
+ head: {
109
+ keyEpoch: number;
110
+ keyFingerprint: string;
111
+ principalId: string;
112
+ principalType: "group" | "organization";
113
+ stateHash: string;
114
+ version: number;
115
+ };
116
+ grant: string;
117
+ } | null;
118
+ organizationPayloads: {
119
+ reference: {
216
120
  keyEpoch: number;
217
121
  keyFingerprint: string;
218
122
  principalId: string;
219
- principalType: "group";
123
+ principalType: "group" | "organization";
220
124
  stateHash: string;
221
125
  version: number;
222
- } | null;
223
- grantCount: number;
224
- grantRoot: string;
225
- keyEpoch: number;
226
- keyFingerprint: string;
227
- memberCount: number;
228
- memberEnvelopesRoot: string;
229
- membershipMode: "projection";
230
- membershipRoot: string;
231
- payloadCiphertextHash: string;
232
- prevStateHash: string | null;
233
- principalId: string;
234
- principalType: "group" | "organization";
235
- projectionRoot: string;
236
- signature: string;
237
- signedAt: string;
238
- signerUserId: string;
239
- signerUserKeyFingerprint: string;
240
- stateHash: string;
241
- version: number;
242
- };
243
- previousStates: {
244
- grants: {
245
- accessLevel: "admin" | "read" | "write";
246
- containerId: string;
247
- }[];
248
- projection: {
249
- role: "member" | "admin";
250
- userId: string;
251
- }[];
252
- state: {
126
+ };
127
+ payload: {
128
+ cipherSuite: "aes-256-gcm";
129
+ ciphertext: string;
130
+ ciphertextHash: string;
253
131
  createdAt: string;
254
- encapsulationPublicKey: string;
255
- externalAuthority: {
256
- keyEpoch: number;
257
- keyFingerprint: string;
258
- principalId: string;
259
- principalType: "group";
260
- stateHash: string;
261
- version: number;
262
- } | null;
263
- grantCount: number;
264
- grantRoot: string;
132
+ principalId: string;
133
+ principalType: "group" | "organization";
134
+ stateHash: string;
135
+ };
136
+ }[];
137
+ groups: {
138
+ head: {
265
139
  keyEpoch: number;
266
140
  keyFingerprint: string;
267
- memberCount: number;
268
- memberEnvelopesRoot: string;
269
- membershipMode: "projection";
270
- membershipRoot: string;
271
- payloadCiphertextHash: string;
272
- prevStateHash: string | null;
273
141
  principalId: string;
274
142
  principalType: "group" | "organization";
275
- projectionRoot: string;
276
- signature: string;
277
- signedAt: string;
278
- signerUserId: string;
279
- signerUserKeyFingerprint: string;
280
143
  stateHash: string;
281
144
  version: number;
282
145
  };
146
+ grant: string;
283
147
  }[];
284
- }[];
148
+ };
285
149
  }, {
286
150
  organizationId: string;
287
151
  stateHash: string;
288
- organizationPayloads: {
289
- cipherSuite: "aes-256-gcm";
290
- ciphertext: string;
291
- ciphertextHash: string;
292
- createdAt: string;
293
- principalId: string;
294
- principalType: "group" | "organization";
295
- stateHash: string;
296
- }[];
297
- groups: {
298
- currentGrants: {
299
- accessLevel: "admin" | "read" | "write";
300
- containerId: string;
301
- }[];
302
- currentProjection: {
303
- role: "member" | "admin";
304
- userId: string;
305
- }[];
306
- currentState: {
307
- createdAt: string;
308
- encapsulationPublicKey: string;
309
- externalAuthority: {
152
+ beforeVersion: number;
153
+ nextBeforeVersion: number | null;
154
+ evidence: {
155
+ organization: {
156
+ head: {
157
+ keyEpoch: number;
158
+ keyFingerprint: string;
159
+ principalId: string;
160
+ principalType: "group" | "organization";
161
+ stateHash: string;
162
+ version: number;
163
+ };
164
+ grant: string;
165
+ } | null;
166
+ organizationPayloads: {
167
+ reference: {
310
168
  keyEpoch: number;
311
169
  keyFingerprint: string;
312
170
  principalId: string;
313
- principalType: "group";
171
+ principalType: "group" | "organization";
314
172
  stateHash: string;
315
173
  version: number;
316
- } | null;
317
- grantCount: number;
318
- grantRoot: string;
319
- keyEpoch: number;
320
- keyFingerprint: string;
321
- memberCount: number;
322
- memberEnvelopesRoot: string;
323
- membershipMode: "projection";
324
- membershipRoot: string;
325
- payloadCiphertextHash: string;
326
- prevStateHash: string | null;
327
- principalId: string;
328
- principalType: "group" | "organization";
329
- projectionRoot: string;
330
- signature: string;
331
- signedAt: string;
332
- signerUserId: string;
333
- signerUserKeyFingerprint: string;
334
- stateHash: string;
335
- version: number;
336
- };
337
- previousStates: {
338
- grants: {
339
- accessLevel: "admin" | "read" | "write";
340
- containerId: string;
341
- }[];
342
- projection: {
343
- role: "member" | "admin";
344
- userId: string;
345
- }[];
346
- state: {
174
+ };
175
+ payload: {
176
+ cipherSuite: "aes-256-gcm";
177
+ ciphertext: string;
178
+ ciphertextHash: string;
347
179
  createdAt: string;
348
- encapsulationPublicKey: string;
349
- externalAuthority: {
350
- keyEpoch: number;
351
- keyFingerprint: string;
352
- principalId: string;
353
- principalType: "group";
354
- stateHash: string;
355
- version: number;
356
- } | null;
357
- grantCount: number;
358
- grantRoot: string;
180
+ principalId: string;
181
+ principalType: "group" | "organization";
182
+ stateHash: string;
183
+ };
184
+ }[];
185
+ groups: {
186
+ head: {
359
187
  keyEpoch: number;
360
188
  keyFingerprint: string;
361
- memberCount: number;
362
- memberEnvelopesRoot: string;
363
- membershipMode: "projection";
364
- membershipRoot: string;
365
- payloadCiphertextHash: string;
366
- prevStateHash: string | null;
367
189
  principalId: string;
368
190
  principalType: "group" | "organization";
369
- projectionRoot: string;
370
- signature: string;
371
- signedAt: string;
372
- signerUserId: string;
373
- signerUserKeyFingerprint: string;
374
191
  stateHash: string;
375
192
  version: number;
376
193
  };
194
+ grant: string;
377
195
  }[];
378
- }[];
196
+ };
379
197
  }>>;
380
198
  export type OrganizationPolicyHistoryResponse = z.infer<typeof OrganizationPolicyHistoryResponseSchema>;
@@ -1,10 +1,16 @@
1
- import { arraySchema, loosePlainObject, nonEmptyStringSchema } from "../schema.js";
2
- import { PrincipalPolicySnapshotResponseSchema, PrincipalStatePayloadResponseSchema, } from "./principal.js";
1
+ import { z } from "zod";
2
+ import { registerJsonSchemaFragment } from "../jsonSchema.js";
3
+ import { loosePlainObject, nonEmptyStringSchema } from "../schema.js";
4
+ import { ProjectionPolicyEvidenceResponseSchema } from "./projectionPolicyEvidence.js";
5
+ const cursorSchema = registerJsonSchemaFragment(z.custom((value) => typeof value === "number" && Number.isSafeInteger(value) && value >= 2), { type: "integer", minimum: 2, maximum: Number.MAX_SAFE_INTEGER });
6
+ /** Display rows per private history page; the API also carries one predecessor. */
7
+ export const PRINCIPAL_DISPLAY_HISTORY_PAGE_SIZE = 32;
3
8
  /** Signed evidence only. Display names are resolved on the client. */
4
9
  export const OrganizationPolicyHistoryResponseSchema = loosePlainObject({
5
10
  organizationId: nonEmptyStringSchema,
6
11
  stateHash: nonEmptyStringSchema,
7
- organizationPayloads: arraySchema(PrincipalStatePayloadResponseSchema),
8
- groups: arraySchema(PrincipalPolicySnapshotResponseSchema),
12
+ beforeVersion: cursorSchema,
13
+ nextBeforeVersion: cursorSchema.nullable(),
14
+ evidence: ProjectionPolicyEvidenceResponseSchema,
9
15
  });
10
16
  //# sourceMappingURL=organizationPolicyHistory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"organizationPolicyHistory.js","sourceRoot":"","sources":["organizationPolicyHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAChF,OAAO,EACL,qCAAqC,EACrC,mCAAmC,GACpC,MAAM,aAAa,CAAC;AAErB,sEAAsE;AACtE,MAAM,CAAC,MAAM,uCAAuC,GAAG,gBAAgB,CAAC;IACtE,cAAc,EAAE,oBAAoB;IACpC,SAAS,EAAE,oBAAoB;IAC/B,oBAAoB,EAAE,WAAW,CAAC,mCAAmC,CAAC;IACtE,MAAM,EAAE,WAAW,CAAC,qCAAqC,CAAC;CAC3D,CAAC,CAAC","sourcesContent":["import type { z } from \"zod\";\nimport { arraySchema, loosePlainObject, nonEmptyStringSchema } from \"../schema\";\nimport {\n PrincipalPolicySnapshotResponseSchema,\n PrincipalStatePayloadResponseSchema,\n} from \"./principal\";\n\n/** Signed evidence only. Display names are resolved on the client. */\nexport const OrganizationPolicyHistoryResponseSchema = loosePlainObject({\n organizationId: nonEmptyStringSchema,\n stateHash: nonEmptyStringSchema,\n organizationPayloads: arraySchema(PrincipalStatePayloadResponseSchema),\n groups: arraySchema(PrincipalPolicySnapshotResponseSchema),\n});\n\nexport type OrganizationPolicyHistoryResponse = z.infer<\n typeof OrganizationPolicyHistoryResponseSchema\n>;\n"]}
1
+ {"version":3,"file":"organizationPolicyHistory.js","sourceRoot":"","sources":["organizationPolicyHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,sCAAsC,EAAE,MAAM,4BAA4B,CAAC;AAEpF,MAAM,YAAY,GAAG,0BAA0B,CAC7C,CAAC,CAAC,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CACzE,EACD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAClE,CAAC;AAEF,mFAAmF;AACnF,MAAM,CAAC,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAEtD,sEAAsE;AACtE,MAAM,CAAC,MAAM,uCAAuC,GAAG,gBAAgB,CAAC;IACtE,cAAc,EAAE,oBAAoB;IACpC,SAAS,EAAE,oBAAoB;IAC/B,aAAa,EAAE,YAAY;IAC3B,iBAAiB,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,sCAAsC;CACjD,CAAC,CAAC","sourcesContent":["import { z } from \"zod\";\nimport { registerJsonSchemaFragment } from \"../jsonSchema\";\nimport { loosePlainObject, nonEmptyStringSchema } from \"../schema\";\nimport { ProjectionPolicyEvidenceResponseSchema } from \"./projectionPolicyEvidence\";\n\nconst cursorSchema = registerJsonSchemaFragment(\n z.custom<number>(\n (value) =>\n typeof value === \"number\" && Number.isSafeInteger(value) && value >= 2,\n ),\n { type: \"integer\", minimum: 2, maximum: Number.MAX_SAFE_INTEGER },\n);\n\n/** Display rows per private history page; the API also carries one predecessor. */\nexport const PRINCIPAL_DISPLAY_HISTORY_PAGE_SIZE = 32;\n\n/** Signed evidence only. Display names are resolved on the client. */\nexport const OrganizationPolicyHistoryResponseSchema = loosePlainObject({\n organizationId: nonEmptyStringSchema,\n stateHash: nonEmptyStringSchema,\n beforeVersion: cursorSchema,\n nextBeforeVersion: cursorSchema.nullable(),\n evidence: ProjectionPolicyEvidenceResponseSchema,\n});\n\nexport type OrganizationPolicyHistoryResponse = z.infer<\n typeof OrganizationPolicyHistoryResponseSchema\n>;\n"]}
@@ -123,7 +123,7 @@ export type OrganizationReadModelGroupMembershipsResponse = z.infer<typeof Organ
123
123
  declare const OrganizationReadModelOrganizationPolicyResponseSchema: z.ZodObject<{
124
124
  currentState: z.ZodObject<{
125
125
  stateHash: z.ZodString;
126
- keyEpoch: z.ZodNumber;
126
+ keyEpoch: z.ZodCustom<number, number>;
127
127
  keyFingerprint: z.ZodString;
128
128
  memberCount: z.ZodCustom<number, number>;
129
129
  version: z.ZodCustom<number, number>;
@@ -264,7 +264,7 @@ declare const OrganizationReadModelSnapshotResponseSchema: z.ZodObject<{
264
264
  organizationPolicy: z.ZodObject<{
265
265
  currentState: z.ZodObject<{
266
266
  stateHash: z.ZodString;
267
- keyEpoch: z.ZodNumber;
267
+ keyEpoch: z.ZodCustom<number, number>;
268
268
  keyFingerprint: z.ZodString;
269
269
  memberCount: z.ZodCustom<number, number>;
270
270
  version: z.ZodCustom<number, number>;
@@ -413,7 +413,7 @@ declare const OrganizationReadModelDeltaResponseSchema: z.ZodObject<{
413
413
  organizationPolicy: z.ZodOptional<z.ZodObject<{
414
414
  currentState: z.ZodObject<{
415
415
  stateHash: z.ZodString;
416
- keyEpoch: z.ZodNumber;
416
+ keyEpoch: z.ZodCustom<number, number>;
417
417
  keyFingerprint: z.ZodString;
418
418
  memberCount: z.ZodCustom<number, number>;
419
419
  version: z.ZodCustom<number, number>;
@@ -563,7 +563,7 @@ export declare const OrganizationReadModelResponseSchema: z.ZodDiscriminatedUnio
563
563
  organizationPolicy: z.ZodOptional<z.ZodObject<{
564
564
  currentState: z.ZodObject<{
565
565
  stateHash: z.ZodString;
566
- keyEpoch: z.ZodNumber;
566
+ keyEpoch: z.ZodCustom<number, number>;
567
567
  keyFingerprint: z.ZodString;
568
568
  memberCount: z.ZodCustom<number, number>;
569
569
  version: z.ZodCustom<number, number>;
@@ -712,7 +712,7 @@ export declare const OrganizationReadModelResponseSchema: z.ZodDiscriminatedUnio
712
712
  organizationPolicy: z.ZodObject<{
713
713
  currentState: z.ZodObject<{
714
714
  stateHash: z.ZodString;
715
- keyEpoch: z.ZodNumber;
715
+ keyEpoch: z.ZodCustom<number, number>;
716
716
  keyFingerprint: z.ZodString;
717
717
  memberCount: z.ZodCustom<number, number>;
718
718
  version: z.ZodCustom<number, number>;