@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":"common-auth-runtime.d.ts","sourceRoot":"","sources":["../src/common-auth-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,yEAAyE;AACzE,MAAM,MAAM,qBAAqB,GAC/B,cAAc,uCAAuC,CAAC,CAAA;AACxD,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAC5B,cAAc,oCAAoC,CAAC,CAAA;AACrD,6EAA6E;AAC7E,MAAM,MAAM,uBAAuB,GACjC,cAAc,yCAAyC,CAAC,CAAA;AAC1D,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAC/B,cAAc,uCAAuC,CAAC,CAAA;AACxD,wEAAwE;AACxE,MAAM,MAAM,wBAAwB,GAClC,cAAc,0CAA0C,CAAC,CAAA;AAC3D,2EAA2E;AAC3E,MAAM,MAAM,wBAAwB,GAClC,cAAc,2CAA2C,CAAC,CAAA;AAC5D,0EAA0E;AAC1E,MAAM,MAAM,yBAAyB,GACnC,cAAc,2CAA2C,CAAC,CAAA;AAC5D,0EAA0E;AAC1E,MAAM,MAAM,sBAAsB,GAChC,cAAc,wCAAwC,CAAC,CAAA;AAEzD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAA;IACrC,QAAQ,CAAC,EAAE,EAAE,kBAAkB,CAAA;CAChC;AAeD,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CACL,CAAA;AAEhE,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAE9D,CAAA;AAED,oDAAoD;AACpD,eAAO,MAAM,qBAAqB,EAAE,MAAM,OAAO,CAAC,uBAAuB,CACP,CAAA;AAElE,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,EAAE,MAAM,OAAO,CAAC,qBAAqB,CACL,CAAA;AAEhE,qDAAqD;AACrD,eAAO,MAAM,sBAAsB,EAAE,MAAM,OAAO,CAAC,wBAAwB,CACR,CAAA;AAEnE,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,EAAE,MAAM,OAAO,CAAC,wBAAwB,CACP,CAAA;AAEpE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,OAAO,CAAC,yBAAyB,CACT,CAAA;AAEpE,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAE,MAAM,OAAO,CAAC,sBAAsB,CACN,CAAA;AAEjE,0EAA0E;AAC1E,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAMlF;AAED,MAAM,MAAM,sBAAsB,GAChC,cAAc,yCAAyC,CAAC,CAAA;AAE1D,mHAAmH;AACnH,eAAO,MAAM,oBAAoB,EAAE,MAAM,OAAO,CAAC,sBAAsB,CACL,CAAA"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Typed, lazily loaded bindings to the public entries of @cortexkit/common-auth
3
+ * that this package ships inside itself.
4
+ *
5
+ * The library's public `./store`, `./fs`, `./routing`, `./quota`,
6
+ * `./commands`, `./auth-menu`, `./claustrum` and `./logger` entries are copied
7
+ * byte for byte from the verified library archive into `common-auth-embedded/`
8
+ * by the repository's single common-auth emitter; `source-output.json` there
9
+ * records the archive and every file hash. Nothing here re-implements or wraps
10
+ * library behaviour: each type is the genuine module namespace type, and each
11
+ * loader returns the genuine module.
12
+ *
13
+ * The loaders use dynamic imports so that importing the package root does not
14
+ * evaluate the store, the command menu or the vault client. A loaded module is
15
+ * cached for the life of the process; a failed load is not cached, so a later
16
+ * call can retry it. `./claustrum` additionally needs the
17
+ * `@cortexkit/claustrum-client` dependency, which is only resolved when
18
+ * `loadCommonAuthClaustrum` is called.
19
+ *
20
+ * Static consumers can import the same modules through this package's
21
+ * `./common-auth/<entry>` subpath exports instead.
22
+ */
23
+ function memoize(load) {
24
+ let pending;
25
+ return () => {
26
+ if (!pending) {
27
+ pending = load().catch((error) => {
28
+ pending = undefined;
29
+ throw error;
30
+ });
31
+ }
32
+ return pending;
33
+ };
34
+ }
35
+ /** Loads the library's public `./store` entry. */
36
+ export const loadCommonAuthStore = memoize(() => import('./common-auth-embedded/store/index.js'));
37
+ /** Loads the library's public `./fs` entry. */
38
+ export const loadCommonAuthFs = memoize(() => import('./common-auth-embedded/fs/index.js'));
39
+ /** Loads the library's public `./routing` entry. */
40
+ export const loadCommonAuthRouting = memoize(() => import('./common-auth-embedded/routing/index.js'));
41
+ /** Loads the library's public `./quota` entry. */
42
+ export const loadCommonAuthQuota = memoize(() => import('./common-auth-embedded/quota/index.js'));
43
+ /** Loads the library's public `./commands` entry. */
44
+ export const loadCommonAuthCommands = memoize(() => import('./common-auth-embedded/commands/index.js'));
45
+ /** Loads the library's public `./auth-menu` entry. */
46
+ export const loadCommonAuthAuthMenu = memoize(() => import('./common-auth-embedded/auth-menu/index.js'));
47
+ /**
48
+ * Loads the library's public `./claustrum` entry. This also loads the
49
+ * installed `@cortexkit/claustrum-client`; a missing client rejects here, not
50
+ * when the package root is imported.
51
+ */
52
+ export const loadCommonAuthClaustrum = memoize(() => import('./common-auth-embedded/claustrum/index.js'));
53
+ /** Loads the library's public `./logger` entry. */
54
+ export const loadCommonAuthLogger = memoize(() => import('./common-auth-embedded/logger/index.js'));
55
+ /** Loads the `./store` and `./fs` entries an account repository needs. */
56
+ export async function loadCommonAuthStoreModules() {
57
+ const [store, fs] = await Promise.all([
58
+ loadCommonAuthStore(),
59
+ loadCommonAuthFs(),
60
+ ]);
61
+ return { store, fs };
62
+ }
63
+ /** Load common-auth's Pi auth.json editor outside UI bundles; its lock coordinates with Pi's own login writers. */
64
+ export const loadCommonAuthPiSlot = memoize(() => import('./common-auth-embedded/pi-slot/index.js'));
65
+ //# sourceMappingURL=common-auth-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-auth-runtime.js","sourceRoot":"","sources":["../src/common-auth-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAqCH,SAAS,OAAO,CAAI,IAAsB;IACxC,IAAI,OAA+B,CAAA;IACnC,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACxC,OAAO,GAAG,SAAS,CAAA;gBACnB,MAAM,KAAK,CAAA;YACb,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;AACH,CAAC;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAA;AAEhE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAsC,OAAO,CACxE,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC,CACnD,CAAA;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAChC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAA;AAElE,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAC9B,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAA;AAEhE,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GACjC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAC,CAAA;AAEnE,sDAAsD;AACtD,MAAM,CAAC,MAAM,sBAAsB,GACjC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAA;AAEpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAClC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAA;AAEpE,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAA;AAEjE,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC9C,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpC,mBAAmB,EAAE;QACrB,gBAAgB,EAAE;KACnB,CAAC,CAAA;IACF,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AACtB,CAAC;AAKD,mHAAmH;AACnH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,yCAAyC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ type Credentials = string | readonly string[] | undefined;
2
+ /** Selected bearers can be opaque; scrub their exact values as well as recognizable token shapes. */
3
+ export declare function redactCredentialText(text: string, credentials?: Credentials): string;
4
+ /** Keep writable transport errors and routing metadata; immutable errors need a safe replacement. */
5
+ export declare function redactCredentialError(error: unknown, credentials?: Credentials): Error;
6
+ /** Ordinary model text, including text that mentions errors or tokens, is not a diagnostic. */
7
+ export declare function redactCredentialFrame(frame: string, credentials?: Credentials): string;
8
+ /** Body wrappers must retain fetch metadata in addition to status and headers. */
9
+ export declare function preserveResponseMetadata(response: Response, original: Response): Response;
10
+ /** Scrub failed HTTP diagnostics and SSE error frames, never successful content. */
11
+ export declare function redactCredentialResponse(response: Response, credentials?: Credentials, bufferedBody?: string): Promise<Response>;
12
+ export {};
13
+ //# sourceMappingURL=credential-redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-redaction.d.ts","sourceRoot":"","sources":["../src/credential-redaction.ts"],"names":[],"mappings":"AACA,KAAK,WAAW,GAAG,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;AAEzD,qGAAqG;AACrG,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,WAAW,GACxB,MAAM,CASR;AAoDD,qGAAqG;AACrG,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,WAAW,GACxB,KAAK,CAoDP;AAmBD,+FAA+F;AAC/F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,WAAW,GACxB,MAAM,CAWR;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACjB,QAAQ,CAQV;AAED,oFAAoF;AACpF,wBAAsB,wBAAwB,CAC5C,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,WAAW,EACzB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,QAAQ,CAAC,CA0FnB"}
@@ -0,0 +1,230 @@
1
+ const MARKER = '[credential]';
2
+ /** Selected bearers can be opaque; scrub their exact values as well as recognizable token shapes. */
3
+ export function redactCredentialText(text, credentials) {
4
+ for (const credential of typeof credentials === 'string'
5
+ ? [credentials]
6
+ : (credentials ?? [])) {
7
+ if (credential)
8
+ text = text.split(credential).join(MARKER);
9
+ }
10
+ return text
11
+ .replace(/\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g, MARKER)
12
+ .replace(/\bBearer\s+[A-Za-z0-9._~+/-]+=*/gi, MARKER);
13
+ }
14
+ function scrub(value, credentials, seen = new WeakSet()) {
15
+ if (typeof value === 'string')
16
+ return redactCredentialText(value, credentials);
17
+ if (!value || typeof value !== 'object')
18
+ return value;
19
+ if (!containsCredential(value, credentials))
20
+ return value;
21
+ if (seen.has(value))
22
+ return '[Circular]';
23
+ seen.add(value);
24
+ const safe = Array.isArray(value)
25
+ ? []
26
+ : Object.create(Object.getPrototypeOf(value));
27
+ for (const key of Reflect.ownKeys(value)) {
28
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
29
+ if (key === 'cause' &&
30
+ (!('value' in descriptor) ||
31
+ containsCredential(descriptor.value, credentials)))
32
+ continue;
33
+ Object.defineProperty(safe, key, 'value' in descriptor
34
+ ? { ...descriptor, value: scrub(descriptor.value, credentials, seen) }
35
+ : descriptor);
36
+ }
37
+ return safe;
38
+ }
39
+ function containsCredential(value, credentials, seen = new WeakSet()) {
40
+ if (typeof value === 'string')
41
+ return redactCredentialText(value, credentials) !== value;
42
+ if (!value || typeof value !== 'object' || seen.has(value))
43
+ return false;
44
+ seen.add(value);
45
+ return Reflect.ownKeys(value).some((key) => {
46
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
47
+ return ('value' in descriptor &&
48
+ containsCredential(descriptor.value, credentials, seen));
49
+ });
50
+ }
51
+ /** Keep writable transport errors and routing metadata; immutable errors need a safe replacement. */
52
+ export function redactCredentialError(error, credentials) {
53
+ const source = error instanceof Error || error instanceof DOMException ? error : undefined;
54
+ const message = redactCredentialText(source?.message ?? String(error), credentials);
55
+ const fields = source
56
+ ? Reflect.ownKeys(source).map((key) => ({
57
+ key,
58
+ descriptor: Object.getOwnPropertyDescriptor(source, key),
59
+ }))
60
+ : [];
61
+ const cause = fields.find(({ key }) => key === 'cause')?.descriptor;
62
+ const secretCause = cause &&
63
+ (!('value' in cause) || containsCredential(cause.value, credentials));
64
+ try {
65
+ if (source) {
66
+ if (message !== source.message)
67
+ Object.defineProperty(source, 'message', {
68
+ value: message,
69
+ configurable: true,
70
+ writable: true,
71
+ });
72
+ for (const { key, descriptor } of fields) {
73
+ if (key === 'message' || key === 'cause' || !('value' in descriptor))
74
+ continue;
75
+ const value = scrub(descriptor.value, credentials);
76
+ if (value !== descriptor.value)
77
+ Object.defineProperty(source, key, { ...descriptor, value });
78
+ }
79
+ if (secretCause)
80
+ delete source.cause;
81
+ return source;
82
+ }
83
+ }
84
+ catch {
85
+ // Frozen diagnostics cannot keep unsafe text, but their classification still matters.
86
+ }
87
+ const safe = new Error(message);
88
+ safe.name = redactCredentialText(source?.name ?? 'Error', credentials);
89
+ for (const { key, descriptor } of fields) {
90
+ if (key === 'message' || key === 'cause' || !('value' in descriptor))
91
+ continue;
92
+ Object.defineProperty(safe, key, {
93
+ ...descriptor,
94
+ configurable: true,
95
+ writable: true,
96
+ value: scrub(descriptor.value, credentials),
97
+ });
98
+ }
99
+ if (cause && !secretCause && 'value' in cause)
100
+ safe.cause = cause.value;
101
+ return safe;
102
+ }
103
+ function redactDiagnosticText(text, credentials, parsed) {
104
+ const direct = redactCredentialText(text, credentials);
105
+ if (direct !== text || !text.includes('\\u'))
106
+ return direct;
107
+ try {
108
+ // JSON escapes can hide a credential even after the diagnostic is recognized.
109
+ const canonical = JSON.stringify(parsed ?? JSON.parse(text));
110
+ const safe = redactCredentialText(canonical, credentials);
111
+ return safe === canonical ? text : safe;
112
+ }
113
+ catch {
114
+ return text;
115
+ }
116
+ }
117
+ /** Ordinary model text, including text that mentions errors or tokens, is not a diagnostic. */
118
+ export function redactCredentialFrame(frame, credentials) {
119
+ if (!frame.includes('"error"') && !frame.includes('\\u'))
120
+ return frame;
121
+ try {
122
+ const value = JSON.parse(frame);
123
+ if (value?.type === 'error' || value?.error || value?.response?.error) {
124
+ return redactDiagnosticText(frame, credentials, value);
125
+ }
126
+ }
127
+ catch {
128
+ // Non-JSON data is not an error envelope.
129
+ }
130
+ return frame;
131
+ }
132
+ /** Body wrappers must retain fetch metadata in addition to status and headers. */
133
+ export function preserveResponseMetadata(response, original) {
134
+ for (const key of ['url', 'type', 'redirected']) {
135
+ Object.defineProperty(response, key, {
136
+ value: original[key],
137
+ configurable: true,
138
+ });
139
+ }
140
+ return response;
141
+ }
142
+ /** Scrub failed HTTP diagnostics and SSE error frames, never successful content. */
143
+ export async function redactCredentialResponse(response, credentials, bufferedBody) {
144
+ const init = {
145
+ status: response.status,
146
+ statusText: response.statusText,
147
+ headers: new Headers(response.headers),
148
+ };
149
+ if (!response.ok) {
150
+ init.statusText = redactCredentialText(init.statusText, credentials);
151
+ let metadataChanged = init.statusText !== response.statusText;
152
+ for (const [key, value] of init.headers) {
153
+ const safe = redactCredentialText(value, credentials);
154
+ if (safe !== value) {
155
+ init.headers.set(key, safe);
156
+ metadataChanged = true;
157
+ }
158
+ }
159
+ const text = bufferedBody ??
160
+ (response.body
161
+ ? await response.text().catch((error) => {
162
+ throw redactCredentialError(error, credentials);
163
+ })
164
+ : null);
165
+ const redacted = text === null ? null : redactDiagnosticText(text, credentials);
166
+ if ((bufferedBody !== undefined || !response.body) &&
167
+ redacted === text &&
168
+ !metadataChanged)
169
+ return response;
170
+ if (response.body)
171
+ init.headers.delete('content-length');
172
+ return preserveResponseMetadata(new Response(redacted, init), response);
173
+ }
174
+ if (!response.body ||
175
+ !response.headers.get('content-type')?.includes('text/event-stream'))
176
+ return response;
177
+ init.headers.delete('content-length');
178
+ const reader = response.body.getReader();
179
+ const decoder = new TextDecoder();
180
+ const encoder = new TextEncoder();
181
+ let pending = '';
182
+ const redact = (event) => event.replace(/^data: ?([^\r\n]*)/gm, (line, data) => line.slice(0, line.length - data.length) +
183
+ redactCredentialFrame(data, credentials));
184
+ const body = new ReadableStream({
185
+ async pull(controller) {
186
+ try {
187
+ for (;;) {
188
+ const next = await reader.read();
189
+ pending += decoder.decode(next.value, { stream: !next.done });
190
+ let emitted = false;
191
+ for (;;) {
192
+ const boundary = /\r?\n\r?\n/.exec(pending);
193
+ if (!boundary)
194
+ break;
195
+ const end = boundary.index + boundary[0].length;
196
+ controller.enqueue(encoder.encode(redact(pending.slice(0, end))));
197
+ pending = pending.slice(end);
198
+ emitted = true;
199
+ }
200
+ if (next.done) {
201
+ if (pending)
202
+ controller.enqueue(encoder.encode(redact(pending)));
203
+ controller.close();
204
+ reader.releaseLock();
205
+ return;
206
+ }
207
+ if (emitted)
208
+ return;
209
+ }
210
+ }
211
+ catch (error) {
212
+ reader.releaseLock();
213
+ controller.error(redactCredentialError(error, credentials));
214
+ }
215
+ },
216
+ async cancel(reason) {
217
+ try {
218
+ await reader.cancel(reason);
219
+ }
220
+ catch (error) {
221
+ throw redactCredentialError(error, credentials);
222
+ }
223
+ finally {
224
+ reader.releaseLock();
225
+ }
226
+ },
227
+ });
228
+ return preserveResponseMetadata(new Response(body, init), response);
229
+ }
230
+ //# sourceMappingURL=credential-redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-redaction.js","sourceRoot":"","sources":["../src/credential-redaction.ts"],"names":[],"mappings":"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"}
@@ -17,10 +17,12 @@ export type ActiveFetchOptions = {
17
17
  /**
18
18
  * Issue an HTTP fetch with a bounded active-fetch (header) wait.
19
19
  *
20
- * The `init.signal` is composed into the request abort signal so caller
21
- * cancellation still propagates, but the 15s active timeout is only enforced
20
+ * The caller signal (`init.signal`, or the input Request's inherited signal)
21
+ * is forwarded into the request abort signal so cancellation still propagates,
22
+ * but the 15s active timeout is only enforced
22
23
  * until `fetchImpl` resolves — once headers arrive the timeout listener is
23
24
  * removed and the returned Response body can be streamed past the deadline.
25
+ * Caller forwarding remains until the body reaches EOF, errors, or is canceled.
24
26
  */
25
27
  export declare function fetchWithActiveTimeout(input: RequestInfo | URL, init?: RequestInit, options?: ActiveFetchOptions): Promise<Response>;
26
28
  //# sourceMappingURL=fetch-timeout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-timeout.d.ts","sourceRoot":"","sources":["../src/fetch-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,QAAQ,CAAC,CAsBnB"}
1
+ {"version":3,"file":"fetch-timeout.d.ts","sourceRoot":"","sources":["../src/fetch-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,eAAO,MAAM,uBAAuB,QAAS,CAAA;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,GAAE,WAAgB,EACtB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,QAAQ,CAAC,CAkCnB"}
@@ -9,35 +9,142 @@
9
9
  * until the underlying fetch resolves, then drops the timeout listener so
10
10
  * the body remains consumable.
11
11
  */
12
+ import { forwardAbort } from "./abort-forwarding.js";
12
13
  export const ACTIVE_FETCH_TIMEOUT_MS = 15_000;
13
14
  /**
14
15
  * Issue an HTTP fetch with a bounded active-fetch (header) wait.
15
16
  *
16
- * The `init.signal` is composed into the request abort signal so caller
17
- * cancellation still propagates, but the 15s active timeout is only enforced
17
+ * The caller signal (`init.signal`, or the input Request's inherited signal)
18
+ * is forwarded into the request abort signal so cancellation still propagates,
19
+ * but the 15s active timeout is only enforced
18
20
  * until `fetchImpl` resolves — once headers arrive the timeout listener is
19
21
  * removed and the returned Response body can be streamed past the deadline.
22
+ * Caller forwarding remains until the body reaches EOF, errors, or is canceled.
20
23
  */
21
24
  export async function fetchWithActiveTimeout(input, init = {}, options = {}) {
22
25
  const fetchImpl = options.fetchImpl ?? globalThis.fetch;
23
26
  const timeoutMs = options.timeoutMs ?? ACTIVE_FETCH_TIMEOUT_MS;
24
- const timeoutSignal = AbortSignal.timeout(timeoutMs);
27
+ const callerSignal = init.signal !== undefined
28
+ ? init.signal
29
+ : input instanceof Request
30
+ ? input.signal
31
+ : undefined;
25
32
  const activeController = new AbortController();
26
- const onTimeoutAbort = () => activeController.abort(timeoutSignal.reason);
27
- if (timeoutSignal.aborted) {
28
- onTimeoutAbort();
33
+ const detachCaller = forwardAbort(callerSignal, activeController);
34
+ let detachTimeout = () => { };
35
+ try {
36
+ detachTimeout = forwardAbort(AbortSignal.timeout(timeoutMs), activeController);
37
+ const response = await fetchImpl(input, {
38
+ ...init,
39
+ signal: activeController.signal,
40
+ });
41
+ if (!callerSignal || !response.body) {
42
+ detachCaller();
43
+ return response;
44
+ }
45
+ return withBodyCleanup(response, detachCaller);
46
+ }
47
+ catch (error) {
48
+ detachCaller();
49
+ throw error;
29
50
  }
30
- else {
31
- timeoutSignal.addEventListener('abort', onTimeoutAbort, { once: true });
51
+ finally {
52
+ detachTimeout();
32
53
  }
33
- const composedSignal = init.signal
34
- ? AbortSignal.any([activeController.signal, init.signal])
35
- : activeController.signal;
54
+ }
55
+ function withBodyCleanup(response, cleanup) {
56
+ const reader = response.body.getReader();
57
+ let finished = false;
58
+ let canceled = false;
59
+ let pulling = false;
60
+ let sourceClosed = false;
61
+ let bodyController;
62
+ const finish = () => {
63
+ if (finished)
64
+ return;
65
+ finished = true;
66
+ cleanup();
67
+ reader.releaseLock();
68
+ };
69
+ const body = new ReadableStream({
70
+ start(controller) {
71
+ bodyController = controller;
72
+ },
73
+ async pull(controller) {
74
+ pulling = true;
75
+ try {
76
+ const next = await reader.read();
77
+ if (canceled)
78
+ return;
79
+ if (next.done) {
80
+ finish();
81
+ controller.close();
82
+ }
83
+ else {
84
+ controller.enqueue(next.value);
85
+ if (sourceClosed) {
86
+ finish();
87
+ controller.close();
88
+ }
89
+ }
90
+ }
91
+ catch (error) {
92
+ if (canceled)
93
+ return;
94
+ finish();
95
+ controller.error(error);
96
+ }
97
+ finally {
98
+ pulling = false;
99
+ }
100
+ },
101
+ async cancel(reason) {
102
+ canceled = true;
103
+ try {
104
+ await reader.cancel(reason);
105
+ }
106
+ finally {
107
+ finish();
108
+ }
109
+ },
110
+ },
111
+ // Do not read ahead: the caller controls consumption of the network body.
112
+ { highWaterMark: 0 });
113
+ // Observe idle errors/empty EOF without reading ahead or dropping a final chunk.
114
+ void reader.closed.then(() => {
115
+ sourceClosed = true;
116
+ if (finished || canceled || pulling)
117
+ return;
118
+ finish();
119
+ bodyController.close();
120
+ }, (error) => {
121
+ if (finished || canceled)
122
+ return;
123
+ finish();
124
+ bodyController.error(error);
125
+ });
36
126
  try {
37
- return await fetchImpl(input, { ...init, signal: composedSignal });
127
+ return preserveResponseMetadata(new Response(body, {
128
+ status: response.status,
129
+ statusText: response.statusText,
130
+ headers: response.headers,
131
+ }), response);
38
132
  }
39
- finally {
40
- timeoutSignal.removeEventListener('abort', onTimeoutAbort);
133
+ catch (error) {
134
+ finish();
135
+ throw error;
41
136
  }
42
137
  }
138
+ function preserveResponseMetadata(wrapped, original) {
139
+ // Response's constructor cannot carry network metadata, including on clones.
140
+ Object.defineProperties(wrapped, {
141
+ url: { value: original.url },
142
+ type: { value: original.type },
143
+ redirected: { value: original.redirected },
144
+ clone: {
145
+ value: () => preserveResponseMetadata(Response.prototype.clone.call(wrapped), original),
146
+ },
147
+ });
148
+ return wrapped;
149
+ }
43
150
  //# sourceMappingURL=fetch-timeout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-timeout.js","sourceRoot":"","sources":["../src/fetch-timeout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAA;AAO7C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAwB,EACxB,OAAoB,EAAE,EACtB,UAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAA;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,uBAAuB,CAAA;IAE9D,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACpD,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAA;IAC9C,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;IACzE,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;QAC1B,cAAc,EAAE,CAAA;IAClB,CAAC;SAAM,CAAC;QACN,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM;QAChC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAA;IAE3B,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;IACpE,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"fetch-timeout.js","sourceRoot":"","sources":["../src/fetch-timeout.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * Device Fingerprint Generator for Rate Limit Mitigation
3
3
  *
4
- * Uses the agy CLI 1.1.24 content-request identity captured with mitmproxy:
4
+ * Uses the agy CLI 1.3.3 content-request identity captured with mitmproxy:
5
5
  * an Antigravity CLI User-Agent with explicit client, OS, architecture, and auth metadata.
6
6
  * The stored deviceId/sessionToken fields are
7
7
  * retained for account history, but content requests only send User-Agent.
8
8
  */
9
- export declare const AGY_CLI_VERSION = "1.1.24";
10
- export declare const AGY_CLI_CHANGE_LIST = "974782877";
9
+ export declare const AGY_CLI_VERSION = "1.3.3";
10
+ export declare const AGY_CLI_CHANGE_LIST = "996823801";
11
11
  export interface ClientMetadata {
12
12
  ideType: string;
13
13
  platform: string;
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,eAAe,WAAW,CAAA;AACvC,eAAO,MAAM,mBAAmB,cAAc,CAAA;AAG9C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;CAClB;AACD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CAC/C;AAED,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;CACrB;AAiBD,wBAAgB,mCAAmC,CACjD,QAAQ,kBAAmB,EAC3B,IAAI,sBAAe,GAClB,MAAM,CAER;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,SAAkB,EACzB,QAAQ,kBAAmB,EAC3B,IAAI,sBAAe,EACnB,UAAU,SAAa,GACtB,MAAM,CAMR;AAED,wBAAgB,8CAA8C,CAC5D,OAAO,SAAkB,GACxB,MAAM,CAER;AAQD,wBAAgB,sCAAsC,IAAI,MAAM,CAC9D,MAAM,EACN,MAAM,CACP,CAEA;AAED,wBAAgB,uCAAuC,CACrD,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAUD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAajD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAQ1E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAQD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAKnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,WAAW,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,eAAe,UAAU,CAAA;AACtC,eAAO,MAAM,mBAAmB,cAAc,CAAA;AAG9C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;CAClB;AACD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CAC/C;AAED,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAA;AAExC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAA;CACrB;AAiBD,wBAAgB,mCAAmC,CACjD,QAAQ,kBAAmB,EAC3B,IAAI,sBAAe,GAClB,MAAM,CAER;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,SAAkB,EACzB,QAAQ,kBAAmB,EAC3B,IAAI,sBAAe,EACnB,UAAU,SAAa,GACtB,MAAM,CAMR;AAED,wBAAgB,8CAA8C,CAC5D,OAAO,SAAkB,GACxB,MAAM,CAER;AAQD,wBAAgB,sCAAsC,IAAI,MAAM,CAC9D,MAAM,EACN,MAAM,CACP,CAEA;AAED,wBAAgB,uCAAuC,CACrD,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAUD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAajD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CAEvD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAQ1E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CAQ7B;AAQD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAKnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,WAAW,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Device Fingerprint Generator for Rate Limit Mitigation
3
3
  *
4
- * Uses the agy CLI 1.1.24 content-request identity captured with mitmproxy:
4
+ * Uses the agy CLI 1.3.3 content-request identity captured with mitmproxy:
5
5
  * an Antigravity CLI User-Agent with explicit client, OS, architecture, and auth metadata.
6
6
  * The stored deviceId/sessionToken fields are
7
7
  * retained for account history, but content requests only send User-Agent.
8
8
  */
9
9
  import * as crypto from 'node:crypto';
10
- export const AGY_CLI_VERSION = '1.1.24';
11
- export const AGY_CLI_CHANGE_LIST = '974782877';
10
+ export const AGY_CLI_VERSION = '1.3.3';
11
+ export const AGY_CLI_CHANGE_LIST = '996823801';
12
12
  const ANTIGRAVITY_API_CLIENT = 'antigravity-cli';
13
13
  /** Maximum number of fingerprint versions to keep per account */
14
14
  export const MAX_FINGERPRINT_HISTORY = 5;
@@ -104,7 +104,7 @@ export function buildFingerprintHeaders(fingerprint) {
104
104
  return {};
105
105
  }
106
106
  return {
107
- 'User-Agent': fingerprint.userAgent,
107
+ 'User-Agent': buildAntigravityHarnessUserAgent(),
108
108
  };
109
109
  }
110
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint.js","sourceRoot":"","sources":["../src/fingerprint.ts"],"names":[],"mappings":"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"}