@cortexkit/antigravity-auth-core 2.2.1 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/README.md +24 -2
  2. package/dist/abort-forwarding.d.ts +3 -0
  3. package/dist/abort-forwarding.d.ts.map +1 -0
  4. package/dist/abort-forwarding.js +19 -0
  5. package/dist/abort-forwarding.js.map +1 -0
  6. package/dist/account-identity.d.ts +52 -0
  7. package/dist/account-identity.d.ts.map +1 -0
  8. package/dist/account-identity.js +66 -0
  9. package/dist/account-identity.js.map +1 -0
  10. package/dist/account-manager.d.ts +228 -43
  11. package/dist/account-manager.d.ts.map +1 -1
  12. package/dist/account-manager.js +942 -903
  13. package/dist/account-manager.js.map +1 -1
  14. package/dist/account-migration.d.ts +309 -0
  15. package/dist/account-migration.d.ts.map +1 -0
  16. package/dist/account-migration.js +2284 -0
  17. package/dist/account-migration.js.map +1 -0
  18. package/dist/account-repository-codecs.d.ts +82 -0
  19. package/dist/account-repository-codecs.d.ts.map +1 -0
  20. package/dist/account-repository-codecs.js +609 -0
  21. package/dist/account-repository-codecs.js.map +1 -0
  22. package/dist/account-repository-types.d.ts +831 -0
  23. package/dist/account-repository-types.d.ts.map +1 -0
  24. package/dist/account-repository-types.js +137 -0
  25. package/dist/account-repository-types.js.map +1 -0
  26. package/dist/account-repository.d.ts +442 -0
  27. package/dist/account-repository.d.ts.map +1 -0
  28. package/dist/account-repository.js +2253 -0
  29. package/dist/account-repository.js.map +1 -0
  30. package/dist/account-selector.d.ts +470 -0
  31. package/dist/account-selector.d.ts.map +1 -0
  32. package/dist/account-selector.js +1383 -0
  33. package/dist/account-selector.js.map +1 -0
  34. package/dist/account-storage.d.ts.map +1 -1
  35. package/dist/account-storage.js +5 -0
  36. package/dist/account-storage.js.map +1 -1
  37. package/dist/agy-request-metadata.d.ts.map +1 -1
  38. package/dist/agy-request-metadata.js +8 -21
  39. package/dist/agy-request-metadata.js.map +1 -1
  40. package/dist/agy-transport.d.ts.map +1 -1
  41. package/dist/agy-transport.js +21 -35
  42. package/dist/agy-transport.js.map +1 -1
  43. package/dist/antigravity-command-menu.d.ts +171 -0
  44. package/dist/antigravity-command-menu.d.ts.map +1 -0
  45. package/dist/antigravity-command-menu.js +523 -0
  46. package/dist/antigravity-command-menu.js.map +1 -0
  47. package/dist/atomic-write.d.ts +18 -1
  48. package/dist/atomic-write.d.ts.map +1 -1
  49. package/dist/atomic-write.js +15 -3
  50. package/dist/atomic-write.js.map +1 -1
  51. package/dist/common-auth-embedded/NOTICE.txt +21 -0
  52. package/dist/common-auth-embedded/auth-menu/accounts.d.ts +97 -0
  53. package/dist/common-auth-embedded/auth-menu/accounts.js +387 -0
  54. package/dist/common-auth-embedded/auth-menu/ansi.d.ts +26 -0
  55. package/dist/common-auth-embedded/auth-menu/ansi.js +98 -0
  56. package/dist/common-auth-embedded/auth-menu/confirm.d.ts +7 -0
  57. package/dist/common-auth-embedded/auth-menu/confirm.js +21 -0
  58. package/dist/common-auth-embedded/auth-menu/doctor.d.ts +52 -0
  59. package/dist/common-auth-embedded/auth-menu/doctor.js +81 -0
  60. package/dist/common-auth-embedded/auth-menu/index.d.ts +17 -0
  61. package/dist/common-auth-embedded/auth-menu/index.js +12 -0
  62. package/dist/common-auth-embedded/auth-menu/login.d.ts +55 -0
  63. package/dist/common-auth-embedded/auth-menu/login.js +83 -0
  64. package/dist/common-auth-embedded/auth-menu/menu.d.ts +59 -0
  65. package/dist/common-auth-embedded/auth-menu/menu.js +73 -0
  66. package/dist/common-auth-embedded/auth-menu/opencode-v1.d.ts +49 -0
  67. package/dist/common-auth-embedded/auth-menu/opencode-v1.js +47 -0
  68. package/dist/common-auth-embedded/auth-menu/select.d.ts +21 -0
  69. package/dist/common-auth-embedded/auth-menu/select.js +159 -0
  70. package/dist/common-auth-embedded/auth-menu/terminal.d.ts +43 -0
  71. package/dist/common-auth-embedded/auth-menu/terminal.js +19 -0
  72. package/dist/common-auth-embedded/claustrum/consumer.d.ts +102 -0
  73. package/dist/common-auth-embedded/claustrum/consumer.js +298 -0
  74. package/dist/common-auth-embedded/claustrum/custody.d.ts +175 -0
  75. package/dist/common-auth-embedded/claustrum/custody.js +354 -0
  76. package/dist/common-auth-embedded/claustrum/enrollment.d.ts +158 -0
  77. package/dist/common-auth-embedded/claustrum/enrollment.js +759 -0
  78. package/dist/common-auth-embedded/claustrum/errors.d.ts +16 -0
  79. package/dist/common-auth-embedded/claustrum/errors.js +8 -0
  80. package/dist/common-auth-embedded/claustrum/host-slot.d.ts +39 -0
  81. package/dist/common-auth-embedded/claustrum/host-slot.js +72 -0
  82. package/dist/common-auth-embedded/claustrum/index.d.ts +18 -0
  83. package/dist/common-auth-embedded/claustrum/index.js +22 -0
  84. package/dist/common-auth-embedded/claustrum/interlock.d.ts +27 -0
  85. package/dist/common-auth-embedded/claustrum/interlock.js +29 -0
  86. package/dist/common-auth-embedded/claustrum/roster.d.ts +208 -0
  87. package/dist/common-auth-embedded/claustrum/roster.js +536 -0
  88. package/dist/common-auth-embedded/commands/builtins.d.ts +71 -0
  89. package/dist/common-auth-embedded/commands/builtins.js +534 -0
  90. package/dist/common-auth-embedded/commands/index.d.ts +10 -0
  91. package/dist/common-auth-embedded/commands/index.js +5 -0
  92. package/dist/common-auth-embedded/commands/menu.d.ts +61 -0
  93. package/dist/common-auth-embedded/commands/menu.js +300 -0
  94. package/dist/common-auth-embedded/commands/model.d.ts +238 -0
  95. package/dist/common-auth-embedded/commands/model.js +16 -0
  96. package/dist/common-auth-embedded/commands/pi.d.ts +23 -0
  97. package/dist/common-auth-embedded/commands/pi.js +206 -0
  98. package/dist/common-auth-embedded/commands/seam.d.ts +72 -0
  99. package/dist/common-auth-embedded/commands/seam.js +301 -0
  100. package/dist/common-auth-embedded/fs/atomic-write.d.ts +20 -0
  101. package/dist/common-auth-embedded/fs/atomic-write.js +80 -0
  102. package/dist/common-auth-embedded/fs/index.d.ts +7 -0
  103. package/dist/common-auth-embedded/fs/index.js +6 -0
  104. package/dist/common-auth-embedded/fs/lock-constants.d.ts +14 -0
  105. package/dist/common-auth-embedded/fs/lock-constants.js +14 -0
  106. package/dist/common-auth-embedded/fs/refresh-file-lock.d.ts +33 -0
  107. package/dist/common-auth-embedded/fs/refresh-file-lock.js +501 -0
  108. package/dist/common-auth-embedded/fs/with-lock.d.ts +33 -0
  109. package/dist/common-auth-embedded/fs/with-lock.js +48 -0
  110. package/dist/common-auth-embedded/logger/capture-sink.d.ts +14 -0
  111. package/dist/common-auth-embedded/logger/capture-sink.js +13 -0
  112. package/dist/common-auth-embedded/logger/engine.d.ts +100 -0
  113. package/dist/common-auth-embedded/logger/engine.js +246 -0
  114. package/dist/common-auth-embedded/logger/index.d.ts +6 -0
  115. package/dist/common-auth-embedded/logger/index.js +3 -0
  116. package/dist/common-auth-embedded/logger/redact.d.ts +11 -0
  117. package/dist/common-auth-embedded/logger/redact.js +83 -0
  118. package/dist/common-auth-embedded/pi-slot/index.d.ts +3 -0
  119. package/dist/common-auth-embedded/pi-slot/index.js +2 -0
  120. package/dist/common-auth-embedded/pi-slot/lock.js +212 -0
  121. package/dist/common-auth-embedded/pi-slot/slot.d.ts +49 -0
  122. package/dist/common-auth-embedded/pi-slot/slot.js +383 -0
  123. package/dist/common-auth-embedded/quota/codec.d.ts +11 -0
  124. package/dist/common-auth-embedded/quota/codec.js +12 -0
  125. package/dist/common-auth-embedded/quota/format.d.ts +46 -0
  126. package/dist/common-auth-embedded/quota/format.js +138 -0
  127. package/dist/common-auth-embedded/quota/index.d.ts +10 -0
  128. package/dist/common-auth-embedded/quota/index.js +5 -0
  129. package/dist/common-auth-embedded/quota/map.d.ts +63 -0
  130. package/dist/common-auth-embedded/quota/map.js +105 -0
  131. package/dist/common-auth-embedded/quota/merge.d.ts +48 -0
  132. package/dist/common-auth-embedded/quota/merge.js +162 -0
  133. package/dist/common-auth-embedded/quota/projection.d.ts +64 -0
  134. package/dist/common-auth-embedded/quota/projection.js +134 -0
  135. package/dist/common-auth-embedded/routing/admission.d.ts +93 -0
  136. package/dist/common-auth-embedded/routing/admission.js +142 -0
  137. package/dist/common-auth-embedded/routing/index.d.ts +8 -0
  138. package/dist/common-auth-embedded/routing/index.js +4 -0
  139. package/dist/common-auth-embedded/routing/ordered.d.ts +47 -0
  140. package/dist/common-auth-embedded/routing/ordered.js +58 -0
  141. package/dist/common-auth-embedded/routing/pins.d.ts +22 -0
  142. package/dist/common-auth-embedded/routing/pins.js +34 -0
  143. package/dist/common-auth-embedded/routing/sticky.d.ts +158 -0
  144. package/dist/common-auth-embedded/routing/sticky.js +339 -0
  145. package/dist/common-auth-embedded/source-output.json +1090 -0
  146. package/dist/common-auth-embedded/store/attribution.d.ts +28 -0
  147. package/dist/common-auth-embedded/store/attribution.js +60 -0
  148. package/dist/common-auth-embedded/store/errors.d.ts +55 -0
  149. package/dist/common-auth-embedded/store/errors.js +38 -0
  150. package/dist/common-auth-embedded/store/hooks.d.ts +12 -0
  151. package/dist/common-auth-embedded/store/hooks.js +34 -0
  152. package/dist/common-auth-embedded/store/identity.d.ts +39 -0
  153. package/dist/common-auth-embedded/store/identity.js +79 -0
  154. package/dist/common-auth-embedded/store/index.d.ts +21 -0
  155. package/dist/common-auth-embedded/store/index.js +7 -0
  156. package/dist/common-auth-embedded/store/mutate.d.ts +189 -0
  157. package/dist/common-auth-embedded/store/mutate.js +500 -0
  158. package/dist/common-auth-embedded/store/pool.d.ts +196 -0
  159. package/dist/common-auth-embedded/store/pool.js +120 -0
  160. package/dist/common-auth-embedded/store/provider-state.d.ts +131 -0
  161. package/dist/common-auth-embedded/store/provider-state.js +226 -0
  162. package/dist/common-auth-embedded/store/publication.d.ts +47 -0
  163. package/dist/common-auth-embedded/store/publication.js +304 -0
  164. package/dist/common-auth-embedded/store/pull.d.ts +36 -0
  165. package/dist/common-auth-embedded/store/pull.js +143 -0
  166. package/dist/common-auth-embedded/store/refresh-lock.d.ts +63 -0
  167. package/dist/common-auth-embedded/store/refresh-lock.js +136 -0
  168. package/dist/common-auth-embedded/store/refresh.d.ts +72 -0
  169. package/dist/common-auth-embedded/store/refresh.js +225 -0
  170. package/dist/common-auth-embedded/store/reserved.js +13 -0
  171. package/dist/common-auth-embedded/store/rows.d.ts +313 -0
  172. package/dist/common-auth-embedded/store/rows.js +1258 -0
  173. package/dist/common-auth-embedded/store/runtime.d.ts +36 -0
  174. package/dist/common-auth-embedded/store/runtime.js +68 -0
  175. package/dist/common-auth-embedded/store/schema.d.ts +443 -0
  176. package/dist/common-auth-embedded/store/schema.js +754 -0
  177. package/dist/common-auth-embedded/store/settings.d.ts +63 -0
  178. package/dist/common-auth-embedded/store/settings.js +120 -0
  179. package/dist/common-auth-embedded/store/torn.d.ts +78 -0
  180. package/dist/common-auth-embedded/store/torn.js +294 -0
  181. package/dist/common-auth-embedded/util/any-signal.js +42 -0
  182. package/dist/common-auth-runtime.d.ts +73 -0
  183. package/dist/common-auth-runtime.d.ts.map +1 -0
  184. package/dist/common-auth-runtime.js +65 -0
  185. package/dist/common-auth-runtime.js.map +1 -0
  186. package/dist/credential-redaction.d.ts +13 -0
  187. package/dist/credential-redaction.d.ts.map +1 -0
  188. package/dist/credential-redaction.js +230 -0
  189. package/dist/credential-redaction.js.map +1 -0
  190. package/dist/fetch-timeout.d.ts +4 -2
  191. package/dist/fetch-timeout.d.ts.map +1 -1
  192. package/dist/fetch-timeout.js +121 -14
  193. package/dist/fetch-timeout.js.map +1 -1
  194. package/dist/fingerprint.d.ts +3 -3
  195. package/dist/fingerprint.d.ts.map +1 -1
  196. package/dist/fingerprint.js +4 -4
  197. package/dist/fingerprint.js.map +1 -1
  198. package/dist/index.d.ts +16 -1
  199. package/dist/index.d.ts.map +1 -1
  200. package/dist/index.js +15 -0
  201. package/dist/index.js.map +1 -1
  202. package/dist/model-registry.d.ts +16 -0
  203. package/dist/model-registry.d.ts.map +1 -1
  204. package/dist/model-registry.js +242 -30
  205. package/dist/model-registry.js.map +1 -1
  206. package/dist/quota-manager.d.ts.map +1 -1
  207. package/dist/quota-manager.js +35 -10
  208. package/dist/quota-manager.js.map +1 -1
  209. package/dist/quota-presentation.d.ts +10 -0
  210. package/dist/quota-presentation.d.ts.map +1 -0
  211. package/dist/quota-presentation.js +60 -0
  212. package/dist/quota-presentation.js.map +1 -0
  213. package/dist/quota-types.d.ts +2 -0
  214. package/dist/quota-types.d.ts.map +1 -1
  215. package/dist/rotation.d.ts +8 -0
  216. package/dist/rotation.d.ts.map +1 -1
  217. package/dist/rotation.js +24 -0
  218. package/dist/rotation.js.map +1 -1
  219. package/dist/transform/agy-generation.d.ts +3 -0
  220. package/dist/transform/agy-generation.d.ts.map +1 -0
  221. package/dist/transform/agy-generation.js +28 -0
  222. package/dist/transform/agy-generation.js.map +1 -0
  223. package/dist/transform/claude.d.ts +7 -3
  224. package/dist/transform/claude.d.ts.map +1 -1
  225. package/dist/transform/claude.js +8 -2
  226. package/dist/transform/claude.js.map +1 -1
  227. package/dist/transform/index.d.ts +1 -0
  228. package/dist/transform/index.d.ts.map +1 -1
  229. package/dist/transform/index.js +1 -0
  230. package/dist/transform/index.js.map +1 -1
  231. package/dist/transform/model-resolver.d.ts +2 -1
  232. package/dist/transform/model-resolver.d.ts.map +1 -1
  233. package/dist/transform/model-resolver.js +46 -5
  234. package/dist/transform/model-resolver.js.map +1 -1
  235. package/dist/transform/types.d.ts +1 -1
  236. package/dist/transform/types.d.ts.map +1 -1
  237. package/dist/vault-account-source.d.ts +183 -0
  238. package/dist/vault-account-source.d.ts.map +1 -0
  239. package/dist/vault-account-source.js +296 -0
  240. package/dist/vault-account-source.js.map +1 -0
  241. package/dist/vault-enrollment-authority.d.ts +16 -0
  242. package/dist/vault-enrollment-authority.d.ts.map +1 -0
  243. package/dist/vault-enrollment-authority.js +19 -0
  244. package/dist/vault-enrollment-authority.js.map +1 -0
  245. package/dist/vault-family.d.ts +11 -0
  246. package/dist/vault-family.d.ts.map +1 -0
  247. package/dist/vault-family.js +24 -0
  248. package/dist/vault-family.js.map +1 -0
  249. package/dist/vault-provider-state.d.ts +162 -0
  250. package/dist/vault-provider-state.d.ts.map +1 -0
  251. package/dist/vault-provider-state.js +422 -0
  252. package/dist/vault-provider-state.js.map +1 -0
  253. package/package.json +39 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-repository-types.d.ts","sourceRoot":"","sources":["../src/account-repository-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * Contract of the Antigravity account repository. The foundation uses the
3
+ * public lease-backed pool store of @cortexkit/common-auth (its `./store`
4
+ * entry). Atomic credential replacement additionally requires a store that
5
+ * exposes the credential-write attribution API described at
6
+ * `AccountRepository.replaceCredential`.
7
+ *
8
+ * The repository replaces whole-file snapshots of `antigravity-accounts.json`
9
+ * with typed operations on individual rows. A row is addressed by a `RowRef`
10
+ * rather than by its position, because positions move under reorder and
11
+ * removal while a ref names one credential of one row: work started for a
12
+ * credential that has since been replaced or removed is refused instead of
13
+ * landing on its successor.
14
+ *
15
+ * Persisted data has four owners:
16
+ * - the store's own roster and credential entries: the bare refresh token,
17
+ * the effective enabled flag and the row order;
18
+ * - provider metadata (`ProviderStateEnvelope`), kept beside the credential
19
+ * in the store's state file. The part of it that describes the signed-in
20
+ * account (see `CREDENTIAL_BOUND_METADATA_FIELDS`) is covered by the
21
+ * store's credential stamp, so a writer that edits it without knowing the
22
+ * stamp makes the value disappear from reads instead of attaching it to
23
+ * the wrong account;
24
+ * - the latest quota reading (`QuotaState`), kept in the row's entry in the
25
+ * store's config file;
26
+ * - account selection (`RoutingSettings`), kept as a plugin settings key in
27
+ * the store's config file.
28
+ *
29
+ * Every shape below that carries `extensions` keeps JSON it does not
30
+ * recognise there, so a file written by a newer build survives a read and
31
+ * rewrite by this one. Optional fields distinguish absent (key missing) from
32
+ * `null`; the codecs never collapse one into the other. Readers treat an
33
+ * optional `null` like absent when they project the data for routing.
34
+ *
35
+ * Credential epochs and identities. The store gives every credential a row
36
+ * holds an epoch number (common-auth `dist/store/attribution.d.ts`,
37
+ * `Attribution`): `add` and `replace` start a new epoch, while refresh and
38
+ * `rotate` keep it. An id that is removed and added again starts past every
39
+ * epoch it held before, in any process. A row without a per-row entry counts
40
+ * as epoch 1. The recorded identity is the account id the provider reported
41
+ * for the credential. Within one epoch it can only go from absent to one
42
+ * value: `recordIdentity`, `rotate`, a re-`add` of the same secret and a
43
+ * refresh all refuse a different identity (`identity-mismatch`, or
44
+ * `identity-contradicted` for a refresh) rather than overwrite it
45
+ * (`dist/store/rows.js` `recordRowIdentity`, `rotateRow`, `addRow`;
46
+ * `dist/store/refresh.d.ts`).
47
+ *
48
+ * Locks. The store takes, in this order and releases in reverse: the row
49
+ * lock `row-<encodeURIComponent(identity ?? id)>` at the state path
50
+ * (`dist/store/runtime.js` `rowLockSpec`), the provider lock (by default
51
+ * `provider-antigravity` at the state path, `dist/store/pool.js`), any extra
52
+ * locks the caller passes, then the `save` locks at the config path and then
53
+ * the state path. A refresh holds the store's `save` locks only while it
54
+ * reads and while it commits, never across the token exchange
55
+ * (`dist/store/refresh.d.ts` `refreshRow`).
56
+ */
57
+ // ---------------------------------------------------------------------------
58
+ // Store constants
59
+ // ---------------------------------------------------------------------------
60
+ /** Provider name the pool store is opened with; keys its provider-wide lock. */
61
+ export const ACCOUNT_STORE_PROVIDER = 'antigravity';
62
+ /** Schema version written inside `ProviderStateEnvelope`. */
63
+ export const PROVIDER_STATE_SCHEMA_VERSION = 1;
64
+ /** Schema version written inside `QuotaState`. */
65
+ export const QUOTA_STATE_SCHEMA_VERSION = 1;
66
+ /** Schema version written inside `RoutingSettings`. */
67
+ export const ROUTING_SETTINGS_SCHEMA_VERSION = 1;
68
+ /** Settings key holding `RoutingSettings`. */
69
+ export const ROUTING_SETTINGS_KEY = 'antigravityRouting';
70
+ /**
71
+ * Settings key holding the `ManagementRecord` of a migration or a multi-row
72
+ * destructive operation. Ordinary row operations never write it.
73
+ */
74
+ export const MANAGEMENT_SETTINGS_KEY = 'antigravityManagement';
75
+ /** Lock name, at the config path, guarding `MANAGEMENT_SETTINGS_KEY`. */
76
+ export const MANAGEMENT_LOCK_NAME = 'antigravity-management';
77
+ /**
78
+ * Prefix of the per-account lock passed as a refresh's `providerLock`, in
79
+ * place of the store-wide `provider-antigravity` lock. It must differ from the
80
+ * store's `row-` prefix: the same refresh already holds the row lock, and a
81
+ * provider lock with the same name and path would wait on itself.
82
+ */
83
+ export const REFRESH_PROVIDER_LOCK_PREFIX = 'agy-refresh-';
84
+ /** Lock name the pre-store writers hold on `antigravity-accounts.json`. */
85
+ export const LEGACY_ACCOUNTS_LOCK_NAME = 'accounts';
86
+ /** Lease of that lock while the migration holds it. */
87
+ export const LEGACY_ACCOUNTS_LOCK_TTL_MS = 10_000;
88
+ /**
89
+ * The per-account lock a refresh of `row` passes as its `providerLock` and
90
+ * holds across the token exchange, so refreshes of different accounts run
91
+ * concurrently while two refreshes of one account stay one at a time. It is
92
+ * keyed like the store's row lock (recorded identity, else local id) and
93
+ * URI-encoded so any identity is a safe lock-file name.
94
+ */
95
+ export function refreshProviderLock(statePath, row) {
96
+ return {
97
+ path: statePath,
98
+ name: REFRESH_PROVIDER_LOCK_PREFIX + encodeURIComponent(row.identity ?? row.id),
99
+ };
100
+ }
101
+ /**
102
+ * The lock the pre-store writers hold on `antigravity-accounts.json`, taken
103
+ * while the migration reads or retires that file. It is released before any
104
+ * store call, so it never sits inside the store's lock order.
105
+ */
106
+ export function legacyAccountsLock(legacyPath) {
107
+ return {
108
+ path: legacyPath,
109
+ name: LEGACY_ACCOUNTS_LOCK_NAME,
110
+ ttlMs: LEGACY_ACCOUNTS_LOCK_TTL_MS,
111
+ renew: true,
112
+ };
113
+ }
114
+ /**
115
+ * The `ProviderMetadata` fields that describe the signed-in account rather
116
+ * than this plugin's use of it. The credential stamp covers exactly these.
117
+ */
118
+ export const CREDENTIAL_BOUND_METADATA_FIELDS = [
119
+ 'email',
120
+ 'projectId',
121
+ 'managedProjectId',
122
+ 'fingerprint',
123
+ 'fingerprintHistory',
124
+ 'verificationRequired',
125
+ 'verificationRequiredAt',
126
+ 'verificationRequiredReason',
127
+ 'verificationUrl',
128
+ 'accountIneligible',
129
+ 'accountIneligibleAt',
130
+ 'accountIneligibleReason',
131
+ 'eligibilityStateUpdatedAt',
132
+ 'capturedTierId',
133
+ 'capturedPaidTierId',
134
+ 'capturedTierAt',
135
+ 'capturedTierSchemaVersion',
136
+ ];
137
+ //# sourceMappingURL=account-repository-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-repository-types.js","sourceRoot":"","sources":["../src/account-repository-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAcH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAA;AAEnD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA;AAC9C,kDAAkD;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAC3C,uDAAuD;AACvD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAA;AAEhD,8CAA8C;AAC9C,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AACxD;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,uBAAuB,CAAA;AAC9D,yEAAyE;AACzE,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAA;AAC5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,cAAc,CAAA;AAC1D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAA;AACnD,uDAAuD;AACvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAA;AAkCjD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,GAAoC;IAEpC,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EACF,4BAA4B,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC;KAC5E,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,2BAA2B;QAClC,KAAK,EAAE,IAAI;KACZ,CAAA;AACH,CAAC;AAyGD;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,OAAO;IACP,WAAW;IACX,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,sBAAsB;IACtB,wBAAwB;IACxB,4BAA4B;IAC5B,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;IACrB,yBAAyB;IACzB,2BAA2B;IAC3B,gBAAgB;IAChB,oBAAoB;IACpB,gBAAgB;IAChB,2BAA2B;CAC2B,CAAA"}
@@ -0,0 +1,442 @@
1
+ /**
2
+ * The Antigravity account repository: typed, attributed operations on the
3
+ * account pool, persisted by common-auth's public lease-backed pool store
4
+ * (its `./store` entry).
5
+ *
6
+ * This module owns everything Antigravity-specific about the pool: how
7
+ * provider metadata is combined when two values meet (`ACCOUNT_STATE_POLICY`),
8
+ * how each observation (project, fingerprint, tier, cooldown, rate limits,
9
+ * usage, access verdicts) changes it, which credential a write is fenced on,
10
+ * the per-account refresh lock, the topology lease that orders changes to
11
+ * the set of rows, the management journal for multi-row destructive
12
+ * operations, and the bookkeeping that lets `flush` and `dispose` drain and
13
+ * report every write.
14
+ *
15
+ * The store and its lease helper are handed in
16
+ * (`createAccountRepositoryFactory`) rather than imported, because the core
17
+ * package does not ship a copy of them; the composition root passes the
18
+ * genuine public `./store` and `./fs` modules, which it has verified.
19
+ * `AccountStoreModule` and `AccountLockModule` declare only the public
20
+ * capabilities this file calls, with the shapes of the public declarations;
21
+ * as structural types they describe what is required, not which module
22
+ * supplies it.
23
+ *
24
+ * Every write about an existing credential is fenced by the store, under the
25
+ * row lock and the store locks, before anything is written: the repository
26
+ * hands the store the caller's `RowRef` as the store's attribution argument,
27
+ * or (for a refresh and a removal) checks the locked row the store shows its
28
+ * `refuse`/`protect` callback. Nothing here checks a ref only before calling
29
+ * the store.
30
+ */
31
+ import { type AccessVerdict, type AccountCredentialStamp, type AccountLockSpec, type AccountLoginInput, type AccountRepositoryFailure, type AccountRepositoryFailureKind, type AccountRow, type ConfiguredProviderStateCodec, type CooldownObservation, type CreateAccountRepository, type FingerprintObservation, type LastSwitchReason, type ManagementRecord, type ProjectObservation, type ProviderMetadata, type ProviderStatePolicy, type QuotaCodecContract, type StoredRateLimitResetTimes, type TierObservation, type UsageObservation } from './account-repository-types.ts';
32
+ /** A credential as the store loads it (common-auth `StoredCredential`). */
33
+ export type StoreCredential = {
34
+ type: 'oauth';
35
+ access?: string;
36
+ refresh: string;
37
+ expires?: number;
38
+ lastRefreshedAt?: number;
39
+ } | {
40
+ type: 'api';
41
+ apiKey: string;
42
+ baseURL: string;
43
+ authHeader?: 'authorization-bearer' | 'x-api-key';
44
+ };
45
+ /** The fields of a loaded store row this repository reads (`PoolRow`). */
46
+ export interface StorePoolRow {
47
+ id: string;
48
+ type: 'oauth' | 'api';
49
+ enabled: boolean;
50
+ addedAt?: number;
51
+ identity?: string;
52
+ credential?: StoreCredential;
53
+ credentialEpoch?: number;
54
+ disabledReason?: string;
55
+ quota?: unknown;
56
+ providerState?: unknown;
57
+ providerStateDropped?: 'uncovered' | 'invalid';
58
+ candidate: boolean;
59
+ invalid?: 'roster' | 'entry';
60
+ torn?: true;
61
+ stamp?: AccountCredentialStamp;
62
+ unbound?: true;
63
+ staged?: {
64
+ reservation: string;
65
+ };
66
+ }
67
+ export type StorePoolLoad = {
68
+ status: 'ready';
69
+ rows: StorePoolRow[];
70
+ } | {
71
+ status: 'pending-migration';
72
+ } | {
73
+ status: 'error';
74
+ file: 'config' | 'state';
75
+ reason: string;
76
+ };
77
+ export type StoreSettingsRead = {
78
+ status: 'ready' | 'pending-migration';
79
+ settings: Record<string, unknown>;
80
+ } | {
81
+ status: 'error';
82
+ file: 'config' | 'state';
83
+ reason: string;
84
+ };
85
+ /** The credential fence of attributed store writes (`Attribution`). */
86
+ export interface StoreAttribution {
87
+ credentialEpoch: number;
88
+ identity?: string;
89
+ }
90
+ /**
91
+ * A provider-state mutator. Returning undefined clears the state; an
92
+ * attributed `enable`/`disable` mutator may also return the store's
93
+ * decline value.
94
+ */
95
+ export type StoreStateMutator = (current: unknown, row: StorePoolRow) => unknown | Promise<unknown>;
96
+ export interface StoreTransitionOptions {
97
+ attribution: StoreAttribution;
98
+ providerState?: StoreStateMutator;
99
+ }
100
+ export interface StoreTransitionResult {
101
+ id: string;
102
+ declined?: true;
103
+ providerStateOutcome?: 'updated' | 'cleared' | 'unchanged';
104
+ providerState?: unknown;
105
+ }
106
+ export interface StoreRefreshResult {
107
+ access: string;
108
+ refresh: string;
109
+ expires: number;
110
+ identity?: string;
111
+ providerState?: unknown;
112
+ }
113
+ export type StoreRefreshOutcome = {
114
+ status: 'rotated';
115
+ rowId: string;
116
+ credential: StoreCredential;
117
+ identity?: string;
118
+ } | {
119
+ status: 'identity-contradicted';
120
+ rowId: string;
121
+ expectedIdentity: string;
122
+ returnedIdentity: string;
123
+ } | {
124
+ status: 'refused';
125
+ rowId: string;
126
+ reason: string;
127
+ };
128
+ export interface StoreRemoveView {
129
+ row: StorePoolRow | undefined;
130
+ config: Readonly<Record<string, unknown>>;
131
+ }
132
+ export type StoreSettingsMutator = (settings: Record<string, unknown>) => Record<string, unknown> | undefined;
133
+ /**
134
+ * The pool-store methods this repository calls, with the parameter and
135
+ * result shapes of common-auth's public `PoolStore` (`dist/store/pool.d.ts`).
136
+ * Written as function-typed properties so the compiler checks parameters
137
+ * strictly when the genuine store is assigned to it.
138
+ */
139
+ export interface StorePublicationPlan {
140
+ operationId: string;
141
+ remove: {
142
+ id: string;
143
+ attribution: StoreAttribution;
144
+ fingerprint?: string;
145
+ }[];
146
+ finalize: {
147
+ id: string;
148
+ attribution: StoreAttribution;
149
+ reservation: string;
150
+ enabled: boolean;
151
+ disabledReason?: string;
152
+ }[];
153
+ order: string[];
154
+ }
155
+ export interface StorePublicationReceipt {
156
+ operationId: string;
157
+ planDigest: string;
158
+ phase: 'committed' | 'cleaned';
159
+ removed: {
160
+ id: string;
161
+ credentialEpoch: number;
162
+ }[];
163
+ finalized: {
164
+ id: string;
165
+ credentialEpoch: number;
166
+ reservation: string;
167
+ enabled: boolean;
168
+ }[];
169
+ }
170
+ export interface AccountPoolStore {
171
+ read: () => Promise<StorePoolLoad>;
172
+ add: (input: {
173
+ id: string;
174
+ credential: {
175
+ type: 'oauth';
176
+ refresh: string;
177
+ };
178
+ identity?: string;
179
+ providerState?: unknown;
180
+ disabled?: {
181
+ reason: string;
182
+ };
183
+ stage?: {
184
+ reservation: string;
185
+ };
186
+ }, options?: {
187
+ extraLocks?: readonly AccountLockSpec[];
188
+ onExisting?: 'stage-duplicate';
189
+ protect?: (view: {
190
+ config: Readonly<Record<string, unknown>>;
191
+ }) => Promise<string | undefined>;
192
+ }) => Promise<{
193
+ id: string;
194
+ outcome: 'added' | 'added-disabled' | 'completed' | 'rotated' | 'exists';
195
+ credentialEpoch?: number;
196
+ }>;
197
+ publishRoster?: (plan: StorePublicationPlan, options?: {
198
+ protect?: (view: {
199
+ config: Readonly<Record<string, unknown>>;
200
+ }) => Promise<string | undefined>;
201
+ }) => Promise<{
202
+ outcome: 'published' | 'cleaned' | 'already-cleaned';
203
+ receipt: StorePublicationReceipt;
204
+ }>;
205
+ publication?: (operationId: string) => Promise<StorePublicationReceipt | undefined>;
206
+ replace: (id: string, credential: {
207
+ type: 'oauth';
208
+ refresh: string;
209
+ }, input: {
210
+ identity?: string;
211
+ providerState?: unknown;
212
+ }, options: {
213
+ attribution: StoreAttribution;
214
+ }) => Promise<{
215
+ id: string;
216
+ credentialEpoch: number;
217
+ }>;
218
+ updateProviderState: (id: string, fence: StoreAttribution, mutator: StoreStateMutator) => Promise<{
219
+ id: string;
220
+ providerState?: unknown;
221
+ outcome: 'updated' | 'cleared' | 'unchanged';
222
+ }>;
223
+ disable: (id: string, reason: string, options: StoreTransitionOptions) => Promise<StoreTransitionResult>;
224
+ enable: (id: string, options: StoreTransitionOptions) => Promise<StoreTransitionResult>;
225
+ remove: (id: string, options: {
226
+ extraLocks?: readonly AccountLockSpec[];
227
+ protect: (id: string, view: StoreRemoveView) => string | undefined;
228
+ }) => Promise<{
229
+ id: string;
230
+ outcome: 'removed' | 'completed';
231
+ }>;
232
+ reorder: (ids: readonly string[]) => Promise<{
233
+ ids: string[];
234
+ }>;
235
+ readSettings: () => Promise<StoreSettingsRead>;
236
+ updateSettings: (mutator: StoreSettingsMutator, options: {
237
+ extraLocks?: readonly AccountLockSpec[];
238
+ }) => Promise<{
239
+ settings: Record<string, unknown>;
240
+ }>;
241
+ recordIdentity: (id: string, identity: string, attribution: {
242
+ credentialEpoch: number;
243
+ }) => Promise<{
244
+ id: string;
245
+ disabled: string[];
246
+ }>;
247
+ refresh: (id: string, provider: (credential: {
248
+ type: 'oauth';
249
+ refresh: string;
250
+ access?: string;
251
+ expires?: number;
252
+ lastRefreshedAt?: number;
253
+ }, row: StorePoolRow) => Promise<StoreRefreshResult>, options: {
254
+ providerLock: AccountLockSpec;
255
+ refuse: (row: StorePoolRow) => Promise<string | undefined>;
256
+ }) => Promise<StoreRefreshOutcome>;
257
+ recordQuota: (id: string, attribution: StoreAttribution, observation: unknown) => Promise<void>;
258
+ pullsSettled: () => Promise<void>;
259
+ }
260
+ /**
261
+ * A lock the store took, found held by another holder, or released (the
262
+ * store's public `LockEvent`). `name` and `path` name the lock file.
263
+ */
264
+ export interface AccountLockEvent {
265
+ type: 'acquired' | 'released' | 'contended';
266
+ name: string;
267
+ path: string;
268
+ }
269
+ /** What this repository opens the store with (`OpenPoolStoreOptions`). */
270
+ export interface AccountStoreOpenOptions {
271
+ provider: string;
272
+ configPath: string;
273
+ statePath: string;
274
+ quota: QuotaCodecContract;
275
+ providerState: ConfiguredProviderStateCodec;
276
+ requireCredentialStamps: true;
277
+ requireRemovedFingerprint?: boolean;
278
+ now: () => number;
279
+ onLockEvent?: (event: AccountLockEvent) => void;
280
+ }
281
+ /** Options of the repositories a factory creates, beside the frozen ones. */
282
+ export interface AccountRepositoryFactoryOptions {
283
+ /**
284
+ * Observes every lock the store takes, waits for and releases, through
285
+ * the store's own `onLockEvent`; for diagnostics, such as reporting which
286
+ * account's refresh is waiting on another process. The store ignores an
287
+ * observer that throws.
288
+ */
289
+ onLockEvent?: (event: AccountLockEvent) => void;
290
+ }
291
+ /**
292
+ * The fields of the store's failure value (`PoolOperationError`) that the
293
+ * repository reads to turn it into an `AccountRepositoryFailure`.
294
+ */
295
+ export interface StoreOperationFailure extends Error {
296
+ readonly rowId: string | undefined;
297
+ readonly phase: 'before-first-write' | 'after-first-write' | 'pull';
298
+ readonly retryable: boolean;
299
+ readonly kind: AccountRepositoryFailureKind;
300
+ }
301
+ /**
302
+ * The parts of common-auth's public `./store` module the repository needs:
303
+ * the store opener, the value an attributed transition mutator returns to
304
+ * decline, and the store's failure class.
305
+ */
306
+ export interface AccountStoreModule {
307
+ readonly fingerprintOf?: (credential: StoreCredential) => string;
308
+ readonly openPoolStore: (options: AccountStoreOpenOptions) => AccountPoolStore;
309
+ readonly DECLINE_TRANSITION: symbol;
310
+ readonly PoolOperationError: abstract new (...args: never[]) => StoreOperationFailure;
311
+ }
312
+ /** What `withLock` hands its callback: a check that the lease is still held. */
313
+ export interface AccountLease {
314
+ assertOwned(): Promise<void>;
315
+ }
316
+ /**
317
+ * The parts of common-auth's public `./fs` module the repository needs
318
+ * (`dist/fs/with-lock.d.ts`): `withLock`, which holds a file lease for the
319
+ * duration of a callback and releases it afterwards, and its two failure
320
+ * classes, thrown when the lease cannot be taken in time and when an
321
+ * `assertOwned` finds it lost.
322
+ */
323
+ export interface AccountLockModule {
324
+ readonly withLock: <T>(target: string, options: {
325
+ name: string;
326
+ ttlMs: number;
327
+ timeoutMs: number;
328
+ renew?: boolean;
329
+ }, fn: (lock: AccountLease) => Promise<T>) => Promise<T>;
330
+ readonly LockContentionError: abstract new (...args: never[]) => Error;
331
+ readonly LockOwnershipError: abstract new (...args: never[]) => Error;
332
+ }
333
+ /** The genuine public common-auth modules a repository is built on. */
334
+ export interface AccountStoreModules {
335
+ /** The package's `./store` entry. */
336
+ store: AccountStoreModule;
337
+ /** The package's `./fs` entry, from the same package. */
338
+ fs: AccountLockModule;
339
+ }
340
+ /**
341
+ * Thrown by every repository operation that fails. `failure` says how; the
342
+ * message never contains a credential, an email or an identity.
343
+ */
344
+ export declare class AccountRepositoryError extends Error {
345
+ readonly failure: AccountRepositoryFailure;
346
+ constructor(failure: AccountRepositoryFailure, options?: {
347
+ cause?: unknown;
348
+ });
349
+ }
350
+ /** The UTC day `at` falls on, as `dailyRequestCounts.date` records it. */
351
+ export declare function utcDay(at: number): string;
352
+ /**
353
+ * Combines two rate-limit maps key by key, keeping the later reset time of
354
+ * each key. A `null` (written by an older build) never replaces a time.
355
+ */
356
+ export declare function mergeRateLimitResets(stored: StoredRateLimitResetTimes | null | undefined, incoming: Readonly<StoredRateLimitResetTimes> | null): StoredRateLimitResetTimes | null;
357
+ /**
358
+ * The latest of `verificationRequiredAt`, `accountIneligibleAt` and
359
+ * `eligibilityStateUpdatedAt`: when the newest access evidence was observed.
360
+ */
361
+ export declare function accessEvidenceAt(metadata: ProviderMetadata): number | undefined;
362
+ /**
363
+ * The repository's rules for combining provider metadata. The public store
364
+ * applies them, under its locks, through the codec `createProviderStateCodec`
365
+ * builds from them: `merge` when a same-credential write brings metadata,
366
+ * `onReplace` when `replace` gives a row a new credential.
367
+ */
368
+ export declare const ACCOUNT_STATE_POLICY: ProviderStatePolicy;
369
+ export declare function applyProjectObservation(metadata: ProviderMetadata, observation: ProjectObservation): ProviderMetadata;
370
+ /** History is stored exactly as given: in its order and untruncated. */
371
+ export declare function applyFingerprintObservation(metadata: ProviderMetadata, observation: FingerprintObservation): ProviderMetadata;
372
+ /** A tier reading older than the stored one leaves it as it is. */
373
+ export declare function applyTierObservation(metadata: ProviderMetadata, observation: TierObservation): ProviderMetadata;
374
+ /** `null` ends the cooldown: both fields are removed. */
375
+ export declare function applyCooldownObservation(metadata: ProviderMetadata, observation: CooldownObservation): ProviderMetadata;
376
+ export declare function applyRateLimitObservation(metadata: ProviderMetadata, resets: Readonly<StoredRateLimitResetTimes>): ProviderMetadata;
377
+ export declare function applySwitch(metadata: ProviderMetadata, reason: LastSwitchReason): ProviderMetadata;
378
+ /**
379
+ * Counts one request for the family on the UTC day of `now`, starting the
380
+ * day from zero when the stored counts belong to another day, and keeps the
381
+ * later `lastUsed`. Unknown keys of the stored counts stay when the day is
382
+ * the same.
383
+ */
384
+ export declare function applyUsage(metadata: ProviderMetadata, observation: UsageObservation, now: number): ProviderMetadata;
385
+ /** What an access verdict does to a row's enabled flag. */
386
+ export type AccessTransition = 'disable' | 'enable' | 'keep';
387
+ /**
388
+ * Applies access evidence. A verdict observed before the newest stored
389
+ * evidence returns `undefined`: it must not undo what a later observation
390
+ * established.
391
+ */
392
+ export declare function applyAccessVerdict(metadata: ProviderMetadata, verdict: AccessVerdict): {
393
+ metadata: ProviderMetadata;
394
+ transition: AccessTransition;
395
+ } | undefined;
396
+ export declare function toAccountRow(row: StorePoolRow, index: number): AccountRow;
397
+ /**
398
+ * A management record as this repository stores it. A `replace-pool`
399
+ * record also keeps `inputDigest`, the `replacementInputDigest` of the
400
+ * inputs it was started with, so a resume is accepted only for those exact
401
+ * inputs, even once the transfer file is gone. Readers of the pool are
402
+ * shown the record without it (`publicManagementRecord`).
403
+ */
404
+ export interface StoredManagementRecord extends ManagementRecord {
405
+ inputDigest?: string;
406
+ publication?: StorePublicationPlan;
407
+ }
408
+ /**
409
+ * SHA-256 of the inputs' encoding as key-sorted JSON (`canonicalJson`), in
410
+ * their order: ids, refresh tokens, identities and metadata values all
411
+ * count, as do array order and an explicit `null`, while the order in which
412
+ * an object's keys were built does not. It identifies a replacement without
413
+ * the journal holding any credential.
414
+ */
415
+ export declare function replacementInputDigest(inputs: readonly AccountLoginInput[]): string;
416
+ /**
417
+ * Reads the record of a pending multi-row operation (`clear` or
418
+ * `replacePool`) kept under `MANAGEMENT_SETTINGS_KEY` in the store's
419
+ * settings; while it exists, ordinary operations are refused. Throws
420
+ * `AccountCodecError` when the record is malformed: an id that is not a
421
+ * UUID, a step its kind does not have, a repeated or empty id, or, while
422
+ * rows are being removed, a completed id that is not a target, and an
423
+ * `inputDigest` that is missing or malformed on a `replace-pool` record or
424
+ * present on any other. In the `add` and `verified` steps of `replace-pool`
425
+ * the completed ids are replacement input ids, which `replacePool` checks
426
+ * against the ids of the inputs.
427
+ */
428
+ export declare function decodeManagementRecord(raw: unknown): StoredManagementRecord;
429
+ /**
430
+ * Reads a transfer file written for the management record `managementId`.
431
+ * Throws `AccountCodecError` for a file of another record or version, and
432
+ * for inputs `replacePool` would itself refuse: a repeated or empty id, or
433
+ * an empty refresh token.
434
+ */
435
+ export declare function decodeTransferFile(raw: unknown, managementId: string): AccountLoginInput[];
436
+ /**
437
+ * Binds the repository to the genuine public `./store` and `./fs` modules
438
+ * of one common-auth package. The returned function is the frozen
439
+ * `CreateAccountRepository`.
440
+ */
441
+ export declare function createAccountRepositoryFactory(modules: AccountStoreModules, factoryOptions?: AccountRepositoryFactoryOptions): CreateAccountRepository;
442
+ //# sourceMappingURL=account-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-repository.d.ts","sourceRoot":"","sources":["../src/account-repository.ts"],"names":[],"mappings":"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"}