codex-multi-auth 1.1.11 → 1.2.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 (695) hide show
  1. package/README.md +52 -20
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1023 -1661
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/accounts.d.ts +22 -2
  6. package/dist/lib/accounts.d.ts.map +1 -1
  7. package/dist/lib/accounts.js +84 -1
  8. package/dist/lib/accounts.js.map +1 -1
  9. package/dist/lib/auth/browser.d.ts +1 -0
  10. package/dist/lib/auth/browser.d.ts.map +1 -1
  11. package/dist/lib/auth/browser.js +13 -0
  12. package/dist/lib/auth/browser.js.map +1 -1
  13. package/dist/lib/auth/index.d.ts +2 -0
  14. package/dist/lib/auth/index.d.ts.map +1 -0
  15. package/dist/lib/auth/index.js +2 -0
  16. package/dist/lib/auth/index.js.map +1 -0
  17. package/dist/lib/auth/token-utils.d.ts +16 -0
  18. package/dist/lib/auth/token-utils.d.ts.map +1 -1
  19. package/dist/lib/auth/token-utils.js +13 -0
  20. package/dist/lib/auth/token-utils.js.map +1 -1
  21. package/dist/lib/codex-cli/index.d.ts +5 -0
  22. package/dist/lib/codex-cli/index.d.ts.map +1 -0
  23. package/dist/lib/codex-cli/index.js +5 -0
  24. package/dist/lib/codex-cli/index.js.map +1 -0
  25. package/dist/lib/codex-manager/auth-commands.d.ts +72 -0
  26. package/dist/lib/codex-manager/auth-commands.d.ts.map +1 -0
  27. package/dist/lib/codex-manager/auth-commands.js +643 -0
  28. package/dist/lib/codex-manager/auth-commands.js.map +1 -0
  29. package/dist/lib/codex-manager/backend-category-entry.d.ts +103 -0
  30. package/dist/lib/codex-manager/backend-category-entry.d.ts.map +1 -0
  31. package/dist/lib/codex-manager/backend-category-entry.js +23 -0
  32. package/dist/lib/codex-manager/backend-category-entry.js.map +1 -0
  33. package/dist/lib/codex-manager/backend-category-helpers.d.ts +10 -0
  34. package/dist/lib/codex-manager/backend-category-helpers.d.ts.map +1 -0
  35. package/dist/lib/codex-manager/backend-category-helpers.js +29 -0
  36. package/dist/lib/codex-manager/backend-category-helpers.js.map +1 -0
  37. package/dist/lib/codex-manager/backend-category-prompt.d.ts +55 -0
  38. package/dist/lib/codex-manager/backend-category-prompt.d.ts.map +1 -0
  39. package/dist/lib/codex-manager/backend-category-prompt.js +178 -0
  40. package/dist/lib/codex-manager/backend-category-prompt.js.map +1 -0
  41. package/dist/lib/codex-manager/backend-settings-controller.d.ts +11 -0
  42. package/dist/lib/codex-manager/backend-settings-controller.d.ts.map +1 -0
  43. package/dist/lib/codex-manager/backend-settings-controller.js +14 -0
  44. package/dist/lib/codex-manager/backend-settings-controller.js.map +1 -0
  45. package/dist/lib/codex-manager/backend-settings-entry.d.ts +20 -0
  46. package/dist/lib/codex-manager/backend-settings-entry.d.ts.map +1 -0
  47. package/dist/lib/codex-manager/backend-settings-entry.js +12 -0
  48. package/dist/lib/codex-manager/backend-settings-entry.js.map +1 -0
  49. package/dist/lib/codex-manager/backend-settings-helpers.d.ts +16 -0
  50. package/dist/lib/codex-manager/backend-settings-helpers.d.ts.map +1 -0
  51. package/dist/lib/codex-manager/backend-settings-helpers.js +102 -0
  52. package/dist/lib/codex-manager/backend-settings-helpers.js.map +1 -0
  53. package/dist/lib/codex-manager/backend-settings-prompt.d.ts +49 -0
  54. package/dist/lib/codex-manager/backend-settings-prompt.d.ts.map +1 -0
  55. package/dist/lib/codex-manager/backend-settings-prompt.js +121 -0
  56. package/dist/lib/codex-manager/backend-settings-prompt.js.map +1 -0
  57. package/dist/lib/codex-manager/backend-settings-schema.d.ts +55 -0
  58. package/dist/lib/codex-manager/backend-settings-schema.d.ts.map +1 -0
  59. package/dist/lib/codex-manager/backend-settings-schema.js +264 -0
  60. package/dist/lib/codex-manager/backend-settings-schema.js.map +1 -0
  61. package/dist/lib/codex-manager/behavior-settings-panel.d.ts +33 -0
  62. package/dist/lib/codex-manager/behavior-settings-panel.d.ts.map +1 -0
  63. package/dist/lib/codex-manager/behavior-settings-panel.js +180 -0
  64. package/dist/lib/codex-manager/behavior-settings-panel.js.map +1 -0
  65. package/dist/lib/codex-manager/best.d.ts +26 -0
  66. package/dist/lib/codex-manager/best.d.ts.map +1 -0
  67. package/dist/lib/codex-manager/best.js +249 -0
  68. package/dist/lib/codex-manager/best.js.map +1 -0
  69. package/dist/lib/codex-manager/commands/best.d.ts +81 -0
  70. package/dist/lib/codex-manager/commands/best.d.ts.map +1 -0
  71. package/dist/lib/codex-manager/commands/best.js +223 -0
  72. package/dist/lib/codex-manager/commands/best.js.map +1 -0
  73. package/dist/lib/codex-manager/commands/check.d.ts +7 -0
  74. package/dist/lib/codex-manager/commands/check.d.ts.map +1 -0
  75. package/dist/lib/codex-manager/commands/check.js +5 -0
  76. package/dist/lib/codex-manager/commands/check.js.map +1 -0
  77. package/dist/lib/codex-manager/commands/config-explain.d.ts +7 -0
  78. package/dist/lib/codex-manager/commands/config-explain.d.ts.map +1 -0
  79. package/dist/lib/codex-manager/commands/config-explain.js +31 -0
  80. package/dist/lib/codex-manager/commands/config-explain.js.map +1 -0
  81. package/dist/lib/codex-manager/commands/debug-bundle.d.ts +28 -0
  82. package/dist/lib/codex-manager/commands/debug-bundle.d.ts.map +1 -0
  83. package/dist/lib/codex-manager/commands/debug-bundle.js +62 -0
  84. package/dist/lib/codex-manager/commands/debug-bundle.js.map +1 -0
  85. package/dist/lib/codex-manager/commands/doctor.d.ts +85 -0
  86. package/dist/lib/codex-manager/commands/doctor.d.ts.map +1 -0
  87. package/dist/lib/codex-manager/commands/doctor.js +424 -0
  88. package/dist/lib/codex-manager/commands/doctor.js.map +1 -0
  89. package/dist/lib/codex-manager/commands/fix.d.ts +92 -0
  90. package/dist/lib/codex-manager/commands/fix.d.ts.map +1 -0
  91. package/dist/lib/codex-manager/commands/fix.js +347 -0
  92. package/dist/lib/codex-manager/commands/fix.js.map +1 -0
  93. package/dist/lib/codex-manager/commands/forecast.d.ts +70 -0
  94. package/dist/lib/codex-manager/commands/forecast.d.ts.map +1 -0
  95. package/dist/lib/codex-manager/commands/forecast.js +281 -0
  96. package/dist/lib/codex-manager/commands/forecast.js.map +1 -0
  97. package/dist/lib/codex-manager/commands/init-config.d.ts +15 -0
  98. package/dist/lib/codex-manager/commands/init-config.d.ts.map +1 -0
  99. package/dist/lib/codex-manager/commands/init-config.js +95 -0
  100. package/dist/lib/codex-manager/commands/init-config.js.map +1 -0
  101. package/dist/lib/codex-manager/commands/report.d.ts +24 -0
  102. package/dist/lib/codex-manager/commands/report.d.ts.map +1 -0
  103. package/dist/lib/codex-manager/commands/report.js +314 -0
  104. package/dist/lib/codex-manager/commands/report.js.map +1 -0
  105. package/dist/lib/codex-manager/commands/status.d.ts +23 -0
  106. package/dist/lib/codex-manager/commands/status.d.ts.map +1 -0
  107. package/dist/lib/codex-manager/commands/status.js +50 -0
  108. package/dist/lib/codex-manager/commands/status.js.map +1 -0
  109. package/dist/lib/codex-manager/commands/switch.d.ts +22 -0
  110. package/dist/lib/codex-manager/commands/switch.d.ts.map +1 -0
  111. package/dist/lib/codex-manager/commands/switch.js +41 -0
  112. package/dist/lib/codex-manager/commands/switch.js.map +1 -0
  113. package/dist/lib/codex-manager/commands/verify-flagged.d.ts +69 -0
  114. package/dist/lib/codex-manager/commands/verify-flagged.d.ts.map +1 -0
  115. package/dist/lib/codex-manager/commands/verify-flagged.js +251 -0
  116. package/dist/lib/codex-manager/commands/verify-flagged.js.map +1 -0
  117. package/dist/lib/codex-manager/config-explain.d.ts +2 -0
  118. package/dist/lib/codex-manager/config-explain.d.ts.map +1 -0
  119. package/dist/lib/codex-manager/config-explain.js +62 -0
  120. package/dist/lib/codex-manager/config-explain.js.map +1 -0
  121. package/dist/lib/codex-manager/config-template.d.ts +2 -0
  122. package/dist/lib/codex-manager/config-template.d.ts.map +1 -0
  123. package/dist/lib/codex-manager/config-template.js +112 -0
  124. package/dist/lib/codex-manager/config-template.js.map +1 -0
  125. package/dist/lib/codex-manager/dashboard-display-panel.d.ts +40 -0
  126. package/dist/lib/codex-manager/dashboard-display-panel.d.ts.map +1 -0
  127. package/dist/lib/codex-manager/dashboard-display-panel.js +187 -0
  128. package/dist/lib/codex-manager/dashboard-display-panel.js.map +1 -0
  129. package/dist/lib/codex-manager/dashboard-formatters.d.ts +6 -0
  130. package/dist/lib/codex-manager/dashboard-formatters.d.ts.map +1 -0
  131. package/dist/lib/codex-manager/dashboard-formatters.js +19 -0
  132. package/dist/lib/codex-manager/dashboard-formatters.js.map +1 -0
  133. package/dist/lib/codex-manager/dashboard-settings-controller.d.ts +12 -0
  134. package/dist/lib/codex-manager/dashboard-settings-controller.d.ts.map +1 -0
  135. package/dist/lib/codex-manager/dashboard-settings-controller.js +17 -0
  136. package/dist/lib/codex-manager/dashboard-settings-controller.js.map +1 -0
  137. package/dist/lib/codex-manager/dashboard-settings-data.d.ts +10 -0
  138. package/dist/lib/codex-manager/dashboard-settings-data.d.ts.map +1 -0
  139. package/dist/lib/codex-manager/dashboard-settings-data.js +95 -0
  140. package/dist/lib/codex-manager/dashboard-settings-data.js.map +1 -0
  141. package/dist/lib/codex-manager/dashboard-settings-entry.d.ts +22 -0
  142. package/dist/lib/codex-manager/dashboard-settings-entry.d.ts.map +1 -0
  143. package/dist/lib/codex-manager/dashboard-settings-entry.js +13 -0
  144. package/dist/lib/codex-manager/dashboard-settings-entry.js.map +1 -0
  145. package/dist/lib/codex-manager/debug-bundle.d.ts +2 -0
  146. package/dist/lib/codex-manager/debug-bundle.d.ts.map +1 -0
  147. package/dist/lib/codex-manager/debug-bundle.js +128 -0
  148. package/dist/lib/codex-manager/debug-bundle.js.map +1 -0
  149. package/dist/lib/codex-manager/doctor.d.ts +20 -0
  150. package/dist/lib/codex-manager/doctor.d.ts.map +1 -0
  151. package/dist/lib/codex-manager/doctor.js +546 -0
  152. package/dist/lib/codex-manager/doctor.js.map +1 -0
  153. package/dist/lib/codex-manager/experimental-settings-entry.d.ts +7 -0
  154. package/dist/lib/codex-manager/experimental-settings-entry.d.ts.map +1 -0
  155. package/dist/lib/codex-manager/experimental-settings-entry.js +30 -0
  156. package/dist/lib/codex-manager/experimental-settings-entry.js.map +1 -0
  157. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts +66 -0
  158. package/dist/lib/codex-manager/experimental-settings-prompt.d.ts.map +1 -0
  159. package/dist/lib/codex-manager/experimental-settings-prompt.js +221 -0
  160. package/dist/lib/codex-manager/experimental-settings-prompt.js.map +1 -0
  161. package/dist/lib/codex-manager/experimental-settings-schema.d.ts +23 -0
  162. package/dist/lib/codex-manager/experimental-settings-schema.d.ts.map +1 -0
  163. package/dist/lib/codex-manager/experimental-settings-schema.js +34 -0
  164. package/dist/lib/codex-manager/experimental-settings-schema.js.map +1 -0
  165. package/dist/lib/codex-manager/experimental-sync-target-entry.d.ts +30 -0
  166. package/dist/lib/codex-manager/experimental-sync-target-entry.d.ts.map +1 -0
  167. package/dist/lib/codex-manager/experimental-sync-target-entry.js +16 -0
  168. package/dist/lib/codex-manager/experimental-sync-target-entry.js.map +1 -0
  169. package/dist/lib/codex-manager/experimental-sync-target.d.ts +23 -0
  170. package/dist/lib/codex-manager/experimental-sync-target.d.ts.map +1 -0
  171. package/dist/lib/codex-manager/experimental-sync-target.js +39 -0
  172. package/dist/lib/codex-manager/experimental-sync-target.js.map +1 -0
  173. package/dist/lib/codex-manager/fix.d.ts +26 -0
  174. package/dist/lib/codex-manager/fix.d.ts.map +1 -0
  175. package/dist/lib/codex-manager/fix.js +366 -0
  176. package/dist/lib/codex-manager/fix.js.map +1 -0
  177. package/dist/lib/codex-manager/forecast-report-commands.d.ts +54 -0
  178. package/dist/lib/codex-manager/forecast-report-commands.d.ts.map +1 -0
  179. package/dist/lib/codex-manager/forecast-report-commands.js +443 -0
  180. package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -0
  181. package/dist/lib/codex-manager/forecast.d.ts +26 -0
  182. package/dist/lib/codex-manager/forecast.d.ts.map +1 -0
  183. package/dist/lib/codex-manager/forecast.js +218 -0
  184. package/dist/lib/codex-manager/forecast.js.map +1 -0
  185. package/dist/lib/codex-manager/help.d.ts +36 -0
  186. package/dist/lib/codex-manager/help.d.ts.map +1 -0
  187. package/dist/lib/codex-manager/help.js +125 -0
  188. package/dist/lib/codex-manager/help.js.map +1 -0
  189. package/dist/lib/codex-manager/info.d.ts +11 -0
  190. package/dist/lib/codex-manager/info.d.ts.map +1 -0
  191. package/dist/lib/codex-manager/info.js +91 -0
  192. package/dist/lib/codex-manager/info.js.map +1 -0
  193. package/dist/lib/codex-manager/login.d.ts +40 -0
  194. package/dist/lib/codex-manager/login.d.ts.map +1 -0
  195. package/dist/lib/codex-manager/login.js +1041 -0
  196. package/dist/lib/codex-manager/login.js.map +1 -0
  197. package/dist/lib/codex-manager/repair-commands.d.ts +70 -0
  198. package/dist/lib/codex-manager/repair-commands.d.ts.map +1 -0
  199. package/dist/lib/codex-manager/repair-commands.js +1671 -0
  200. package/dist/lib/codex-manager/repair-commands.js.map +1 -0
  201. package/dist/lib/codex-manager/report.d.ts +39 -0
  202. package/dist/lib/codex-manager/report.d.ts.map +1 -0
  203. package/dist/lib/codex-manager/report.js +243 -0
  204. package/dist/lib/codex-manager/report.js.map +1 -0
  205. package/dist/lib/codex-manager/settings-hub-entry.d.ts +30 -0
  206. package/dist/lib/codex-manager/settings-hub-entry.d.ts.map +1 -0
  207. package/dist/lib/codex-manager/settings-hub-entry.js +11 -0
  208. package/dist/lib/codex-manager/settings-hub-entry.js.map +1 -0
  209. package/dist/lib/codex-manager/settings-hub-menu.d.ts +30 -0
  210. package/dist/lib/codex-manager/settings-hub-menu.d.ts.map +1 -0
  211. package/dist/lib/codex-manager/settings-hub-menu.js +37 -0
  212. package/dist/lib/codex-manager/settings-hub-menu.js.map +1 -0
  213. package/dist/lib/codex-manager/settings-hub-prompt.d.ts +25 -0
  214. package/dist/lib/codex-manager/settings-hub-prompt.d.ts.map +1 -0
  215. package/dist/lib/codex-manager/settings-hub-prompt.js +23 -0
  216. package/dist/lib/codex-manager/settings-hub-prompt.js.map +1 -0
  217. package/dist/lib/codex-manager/settings-hub.d.ts +12 -10
  218. package/dist/lib/codex-manager/settings-hub.d.ts.map +1 -1
  219. package/dist/lib/codex-manager/settings-hub.js +262 -2187
  220. package/dist/lib/codex-manager/settings-hub.js.map +1 -1
  221. package/dist/lib/codex-manager/settings-panels.d.ts +56 -0
  222. package/dist/lib/codex-manager/settings-panels.d.ts.map +1 -0
  223. package/dist/lib/codex-manager/settings-panels.js +73 -0
  224. package/dist/lib/codex-manager/settings-panels.js.map +1 -0
  225. package/dist/lib/codex-manager/settings-persist-utils.d.ts +9 -0
  226. package/dist/lib/codex-manager/settings-persist-utils.d.ts.map +1 -0
  227. package/dist/lib/codex-manager/settings-persist-utils.js +33 -0
  228. package/dist/lib/codex-manager/settings-persist-utils.js.map +1 -0
  229. package/dist/lib/codex-manager/settings-preview.d.ts +12 -0
  230. package/dist/lib/codex-manager/settings-preview.d.ts.map +1 -0
  231. package/dist/lib/codex-manager/settings-preview.js +118 -0
  232. package/dist/lib/codex-manager/settings-preview.js.map +1 -0
  233. package/dist/lib/codex-manager/settings-write-queue.d.ts +14 -0
  234. package/dist/lib/codex-manager/settings-write-queue.d.ts.map +1 -0
  235. package/dist/lib/codex-manager/settings-write-queue.js +88 -0
  236. package/dist/lib/codex-manager/settings-write-queue.js.map +1 -0
  237. package/dist/lib/codex-manager/statusline-order.d.ts +3 -0
  238. package/dist/lib/codex-manager/statusline-order.d.ts.map +1 -0
  239. package/dist/lib/codex-manager/statusline-order.js +17 -0
  240. package/dist/lib/codex-manager/statusline-order.js.map +1 -0
  241. package/dist/lib/codex-manager/statusline-settings-panel.d.ts +40 -0
  242. package/dist/lib/codex-manager/statusline-settings-panel.d.ts.map +1 -0
  243. package/dist/lib/codex-manager/statusline-settings-panel.js +167 -0
  244. package/dist/lib/codex-manager/statusline-settings-panel.js.map +1 -0
  245. package/dist/lib/codex-manager/switch.d.ts +31 -0
  246. package/dist/lib/codex-manager/switch.d.ts.map +1 -0
  247. package/dist/lib/codex-manager/switch.js +103 -0
  248. package/dist/lib/codex-manager/switch.js.map +1 -0
  249. package/dist/lib/codex-manager/theme-settings-panel.d.ts +26 -0
  250. package/dist/lib/codex-manager/theme-settings-panel.d.ts.map +1 -0
  251. package/dist/lib/codex-manager/theme-settings-panel.js +131 -0
  252. package/dist/lib/codex-manager/theme-settings-panel.js.map +1 -0
  253. package/dist/lib/codex-manager/unified-settings-controller.d.ts +27 -0
  254. package/dist/lib/codex-manager/unified-settings-controller.d.ts.map +1 -0
  255. package/dist/lib/codex-manager/unified-settings-controller.js +50 -0
  256. package/dist/lib/codex-manager/unified-settings-controller.js.map +1 -0
  257. package/dist/lib/codex-manager/unified-settings-entry.d.ts +6 -0
  258. package/dist/lib/codex-manager/unified-settings-entry.d.ts.map +1 -0
  259. package/dist/lib/codex-manager/unified-settings-entry.js +23 -0
  260. package/dist/lib/codex-manager/unified-settings-entry.js.map +1 -0
  261. package/dist/lib/codex-manager/verify-flagged.d.ts +20 -0
  262. package/dist/lib/codex-manager/verify-flagged.d.ts.map +1 -0
  263. package/dist/lib/codex-manager/verify-flagged.js +316 -0
  264. package/dist/lib/codex-manager/verify-flagged.js.map +1 -0
  265. package/dist/lib/codex-manager.d.ts +1 -0
  266. package/dist/lib/codex-manager.d.ts.map +1 -1
  267. package/dist/lib/codex-manager.js +767 -2195
  268. package/dist/lib/codex-manager.js.map +1 -1
  269. package/dist/lib/config.d.ts +38 -0
  270. package/dist/lib/config.d.ts.map +1 -1
  271. package/dist/lib/config.js +371 -9
  272. package/dist/lib/config.js.map +1 -1
  273. package/dist/lib/errors.d.ts +9 -0
  274. package/dist/lib/errors.d.ts.map +1 -1
  275. package/dist/lib/errors.js +13 -0
  276. package/dist/lib/errors.js.map +1 -1
  277. package/dist/lib/forecast.d.ts +17 -0
  278. package/dist/lib/forecast.d.ts.map +1 -1
  279. package/dist/lib/forecast.js +33 -6
  280. package/dist/lib/forecast.js.map +1 -1
  281. package/dist/lib/named-backup-export.js +2 -2
  282. package/dist/lib/named-backup-export.js.map +1 -1
  283. package/dist/lib/prompts/codex.d.ts +8 -3
  284. package/dist/lib/prompts/codex.d.ts.map +1 -1
  285. package/dist/lib/prompts/codex.js +16 -26
  286. package/dist/lib/prompts/codex.js.map +1 -1
  287. package/dist/lib/request/failover-config.d.ts +4 -0
  288. package/dist/lib/request/failover-config.d.ts.map +1 -0
  289. package/dist/lib/request/failover-config.js +15 -0
  290. package/dist/lib/request/failover-config.js.map +1 -0
  291. package/dist/lib/request/fetch-helpers.d.ts +28 -4
  292. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  293. package/dist/lib/request/fetch-helpers.js +170 -8
  294. package/dist/lib/request/fetch-helpers.js.map +1 -1
  295. package/dist/lib/request/helpers/model-map.d.ts +49 -12
  296. package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
  297. package/dist/lib/request/helpers/model-map.js +303 -108
  298. package/dist/lib/request/helpers/model-map.js.map +1 -1
  299. package/dist/lib/request/helpers/tool-utils.d.ts +2 -15
  300. package/dist/lib/request/helpers/tool-utils.d.ts.map +1 -1
  301. package/dist/lib/request/helpers/tool-utils.js +40 -27
  302. package/dist/lib/request/helpers/tool-utils.js.map +1 -1
  303. package/dist/lib/request/index.d.ts +5 -0
  304. package/dist/lib/request/index.d.ts.map +1 -0
  305. package/dist/lib/request/index.js +5 -0
  306. package/dist/lib/request/index.js.map +1 -0
  307. package/dist/lib/request/request-init.d.ts +3 -0
  308. package/dist/lib/request/request-init.d.ts.map +1 -0
  309. package/dist/lib/request/request-init.js +50 -0
  310. package/dist/lib/request/request-init.js.map +1 -0
  311. package/dist/lib/request/request-transformer.d.ts +19 -6
  312. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  313. package/dist/lib/request/request-transformer.js +210 -193
  314. package/dist/lib/request/request-transformer.js.map +1 -1
  315. package/dist/lib/request/response-compaction.d.ts +20 -0
  316. package/dist/lib/request/response-compaction.d.ts.map +1 -0
  317. package/dist/lib/request/response-compaction.js +124 -0
  318. package/dist/lib/request/response-compaction.js.map +1 -0
  319. package/dist/lib/request/response-handler.d.ts +2 -0
  320. package/dist/lib/request/response-handler.d.ts.map +1 -1
  321. package/dist/lib/request/response-handler.js +567 -11
  322. package/dist/lib/request/response-handler.js.map +1 -1
  323. package/dist/lib/request/response-metadata.d.ts +3 -0
  324. package/dist/lib/request/response-metadata.d.ts.map +1 -0
  325. package/dist/lib/request/response-metadata.js +61 -0
  326. package/dist/lib/request/response-metadata.js.map +1 -0
  327. package/dist/lib/request/trace-mode.d.ts +9 -0
  328. package/dist/lib/request/trace-mode.d.ts.map +1 -0
  329. package/dist/lib/request/trace-mode.js +14 -0
  330. package/dist/lib/request/trace-mode.js.map +1 -0
  331. package/dist/lib/request/wait-utils.d.ts +14 -0
  332. package/dist/lib/request/wait-utils.d.ts.map +1 -0
  333. package/dist/lib/request/wait-utils.js +44 -0
  334. package/dist/lib/request/wait-utils.js.map +1 -0
  335. package/dist/lib/runtime/account-check-helpers.d.ts +8 -0
  336. package/dist/lib/runtime/account-check-helpers.d.ts.map +1 -0
  337. package/dist/lib/runtime/account-check-helpers.js +30 -0
  338. package/dist/lib/runtime/account-check-helpers.js.map +1 -0
  339. package/dist/lib/runtime/account-check-types.d.ts +18 -0
  340. package/dist/lib/runtime/account-check-types.d.ts.map +1 -0
  341. package/dist/lib/runtime/account-check-types.js +12 -0
  342. package/dist/lib/runtime/account-check-types.js.map +1 -0
  343. package/dist/lib/runtime/account-check.d.ts +48 -0
  344. package/dist/lib/runtime/account-check.d.ts.map +1 -0
  345. package/dist/lib/runtime/account-check.js +202 -0
  346. package/dist/lib/runtime/account-check.js.map +1 -0
  347. package/dist/lib/runtime/account-health-check.d.ts +8 -0
  348. package/dist/lib/runtime/account-health-check.d.ts.map +1 -0
  349. package/dist/lib/runtime/account-health-check.js +30 -0
  350. package/dist/lib/runtime/account-health-check.js.map +1 -0
  351. package/dist/lib/runtime/account-manager-cache-entry.d.ts +25 -0
  352. package/dist/lib/runtime/account-manager-cache-entry.d.ts.map +1 -0
  353. package/dist/lib/runtime/account-manager-cache-entry.js +17 -0
  354. package/dist/lib/runtime/account-manager-cache-entry.js.map +1 -0
  355. package/dist/lib/runtime/account-manager-cache.d.ts +25 -0
  356. package/dist/lib/runtime/account-manager-cache.d.ts.map +1 -0
  357. package/dist/lib/runtime/account-manager-cache.js +44 -0
  358. package/dist/lib/runtime/account-manager-cache.js.map +1 -0
  359. package/dist/lib/runtime/account-pool.d.ts +23 -0
  360. package/dist/lib/runtime/account-pool.d.ts.map +1 -0
  361. package/dist/lib/runtime/account-pool.js +138 -0
  362. package/dist/lib/runtime/account-pool.js.map +1 -0
  363. package/dist/lib/runtime/account-scope.d.ts +10 -0
  364. package/dist/lib/runtime/account-scope.d.ts.map +1 -0
  365. package/dist/lib/runtime/account-scope.js +13 -0
  366. package/dist/lib/runtime/account-scope.js.map +1 -0
  367. package/dist/lib/runtime/account-select-event.d.ts +19 -0
  368. package/dist/lib/runtime/account-select-event.d.ts.map +1 -0
  369. package/dist/lib/runtime/account-select-event.js +53 -0
  370. package/dist/lib/runtime/account-select-event.js.map +1 -0
  371. package/dist/lib/runtime/account-selection.d.ts +28 -0
  372. package/dist/lib/runtime/account-selection.d.ts.map +1 -0
  373. package/dist/lib/runtime/account-selection.js +46 -0
  374. package/dist/lib/runtime/account-selection.js.map +1 -0
  375. package/dist/lib/runtime/account-state.d.ts +13 -0
  376. package/dist/lib/runtime/account-state.d.ts.map +1 -0
  377. package/dist/lib/runtime/account-state.js +38 -0
  378. package/dist/lib/runtime/account-state.js.map +1 -0
  379. package/dist/lib/runtime/account-status.d.ts +13 -0
  380. package/dist/lib/runtime/account-status.d.ts.map +1 -0
  381. package/dist/lib/runtime/account-status.js +37 -0
  382. package/dist/lib/runtime/account-status.js.map +1 -0
  383. package/dist/lib/runtime/account-storage-scope-entry.d.ts +26 -0
  384. package/dist/lib/runtime/account-storage-scope-entry.d.ts.map +1 -0
  385. package/dist/lib/runtime/account-storage-scope-entry.js +15 -0
  386. package/dist/lib/runtime/account-storage-scope-entry.js.map +1 -0
  387. package/dist/lib/runtime/auth-facade.d.ts +51 -0
  388. package/dist/lib/runtime/auth-facade.d.ts.map +1 -0
  389. package/dist/lib/runtime/auth-facade.js +48 -0
  390. package/dist/lib/runtime/auth-facade.js.map +1 -0
  391. package/dist/lib/runtime/browser-oauth-flow.d.ts +32 -0
  392. package/dist/lib/runtime/browser-oauth-flow.d.ts.map +1 -0
  393. package/dist/lib/runtime/browser-oauth-flow.js +31 -0
  394. package/dist/lib/runtime/browser-oauth-flow.js.map +1 -0
  395. package/dist/lib/runtime/capability-boost.d.ts +25 -0
  396. package/dist/lib/runtime/capability-boost.d.ts.map +1 -0
  397. package/dist/lib/runtime/capability-boost.js +26 -0
  398. package/dist/lib/runtime/capability-boost.js.map +1 -0
  399. package/dist/lib/runtime/event-handler.d.ts +53 -0
  400. package/dist/lib/runtime/event-handler.d.ts.map +1 -0
  401. package/dist/lib/runtime/event-handler.js +46 -0
  402. package/dist/lib/runtime/event-handler.js.map +1 -0
  403. package/dist/lib/runtime/flagged-verify-types.d.ts +9 -0
  404. package/dist/lib/runtime/flagged-verify-types.d.ts.map +1 -0
  405. package/dist/lib/runtime/flagged-verify-types.js +7 -0
  406. package/dist/lib/runtime/flagged-verify-types.js.map +1 -0
  407. package/dist/lib/runtime/hydrate-emails.d.ts +13 -0
  408. package/dist/lib/runtime/hydrate-emails.d.ts.map +1 -0
  409. package/dist/lib/runtime/hydrate-emails.js +56 -0
  410. package/dist/lib/runtime/hydrate-emails.js.map +1 -0
  411. package/dist/lib/runtime/live-sync-entry.d.ts +36 -0
  412. package/dist/lib/runtime/live-sync-entry.d.ts.map +1 -0
  413. package/dist/lib/runtime/live-sync-entry.js +14 -0
  414. package/dist/lib/runtime/live-sync-entry.js.map +1 -0
  415. package/dist/lib/runtime/live-sync.d.ts +35 -0
  416. package/dist/lib/runtime/live-sync.d.ts.map +1 -0
  417. package/dist/lib/runtime/live-sync.js +65 -0
  418. package/dist/lib/runtime/live-sync.js.map +1 -0
  419. package/dist/lib/runtime/loader-setup.d.ts +9 -0
  420. package/dist/lib/runtime/loader-setup.d.ts.map +1 -0
  421. package/dist/lib/runtime/loader-setup.js +8 -0
  422. package/dist/lib/runtime/loader-setup.js.map +1 -0
  423. package/dist/lib/runtime/login-menu-accounts.d.ts +29 -0
  424. package/dist/lib/runtime/login-menu-accounts.d.ts.map +1 -0
  425. package/dist/lib/runtime/login-menu-accounts.js +33 -0
  426. package/dist/lib/runtime/login-menu-accounts.js.map +1 -0
  427. package/dist/lib/runtime/manual-oauth-flow.d.ts +40 -0
  428. package/dist/lib/runtime/manual-oauth-flow.d.ts.map +1 -0
  429. package/dist/lib/runtime/manual-oauth-flow.js +71 -0
  430. package/dist/lib/runtime/manual-oauth-flow.js.map +1 -0
  431. package/dist/lib/runtime/metrics.d.ts +29 -0
  432. package/dist/lib/runtime/metrics.d.ts.map +1 -0
  433. package/dist/lib/runtime/metrics.js +97 -0
  434. package/dist/lib/runtime/metrics.js.map +1 -0
  435. package/dist/lib/runtime/oauth-browser-flow.d.ts +9 -0
  436. package/dist/lib/runtime/oauth-browser-flow.d.ts.map +1 -0
  437. package/dist/lib/runtime/oauth-browser-flow.js +34 -0
  438. package/dist/lib/runtime/oauth-browser-flow.js.map +1 -0
  439. package/dist/lib/runtime/preemptive-quota.d.ts +13 -0
  440. package/dist/lib/runtime/preemptive-quota.d.ts.map +1 -0
  441. package/dist/lib/runtime/preemptive-quota.js +9 -0
  442. package/dist/lib/runtime/preemptive-quota.js.map +1 -0
  443. package/dist/lib/runtime/quota-headers.d.ts +12 -0
  444. package/dist/lib/runtime/quota-headers.d.ts.map +1 -0
  445. package/dist/lib/runtime/quota-headers.js +131 -0
  446. package/dist/lib/runtime/quota-headers.js.map +1 -0
  447. package/dist/lib/runtime/quota-probe.d.ts +18 -0
  448. package/dist/lib/runtime/quota-probe.d.ts.map +1 -0
  449. package/dist/lib/runtime/quota-probe.js +82 -0
  450. package/dist/lib/runtime/quota-probe.js.map +1 -0
  451. package/dist/lib/runtime/quota-settings.d.ts +14 -0
  452. package/dist/lib/runtime/quota-settings.d.ts.map +1 -0
  453. package/dist/lib/runtime/quota-settings.js +12 -0
  454. package/dist/lib/runtime/quota-settings.js.map +1 -0
  455. package/dist/lib/runtime/refresh-guardian-entry.d.ts +32 -0
  456. package/dist/lib/runtime/refresh-guardian-entry.d.ts.map +1 -0
  457. package/dist/lib/runtime/refresh-guardian-entry.js +12 -0
  458. package/dist/lib/runtime/refresh-guardian-entry.js.map +1 -0
  459. package/dist/lib/runtime/refresh-guardian.d.ts +24 -0
  460. package/dist/lib/runtime/refresh-guardian.d.ts.map +1 -0
  461. package/dist/lib/runtime/refresh-guardian.js +32 -0
  462. package/dist/lib/runtime/refresh-guardian.js.map +1 -0
  463. package/dist/lib/runtime/request-init.d.ts +5 -0
  464. package/dist/lib/runtime/request-init.d.ts.map +1 -0
  465. package/dist/lib/runtime/request-init.js +50 -0
  466. package/dist/lib/runtime/request-init.js.map +1 -0
  467. package/dist/lib/runtime/runtime-services.d.ts +58 -0
  468. package/dist/lib/runtime/runtime-services.d.ts.map +1 -0
  469. package/dist/lib/runtime/runtime-services.js +87 -0
  470. package/dist/lib/runtime/runtime-services.js.map +1 -0
  471. package/dist/lib/runtime/session-affinity-entry.d.ts +30 -0
  472. package/dist/lib/runtime/session-affinity-entry.d.ts.map +1 -0
  473. package/dist/lib/runtime/session-affinity-entry.js +11 -0
  474. package/dist/lib/runtime/session-affinity-entry.js.map +1 -0
  475. package/dist/lib/runtime/session-affinity.d.ts +13 -0
  476. package/dist/lib/runtime/session-affinity.d.ts.map +1 -0
  477. package/dist/lib/runtime/session-affinity.js +17 -0
  478. package/dist/lib/runtime/session-affinity.js.map +1 -0
  479. package/dist/lib/runtime/session-recovery.d.ts +8 -0
  480. package/dist/lib/runtime/session-recovery.d.ts.map +1 -0
  481. package/dist/lib/runtime/session-recovery.js +7 -0
  482. package/dist/lib/runtime/session-recovery.js.map +1 -0
  483. package/dist/lib/runtime/status-marker.d.ts +3 -0
  484. package/dist/lib/runtime/status-marker.d.ts.map +1 -0
  485. package/dist/lib/runtime/status-marker.js +15 -0
  486. package/dist/lib/runtime/status-marker.js.map +1 -0
  487. package/dist/lib/runtime/storage-scope.d.ts +13 -0
  488. package/dist/lib/runtime/storage-scope.d.ts.map +1 -0
  489. package/dist/lib/runtime/storage-scope.js +14 -0
  490. package/dist/lib/runtime/storage-scope.js.map +1 -0
  491. package/dist/lib/runtime/toast.d.ts +16 -0
  492. package/dist/lib/runtime/toast.d.ts.map +1 -0
  493. package/dist/lib/runtime/toast.js +16 -0
  494. package/dist/lib/runtime/toast.js.map +1 -0
  495. package/dist/lib/runtime/ui-runtime-entry.d.ts +7 -0
  496. package/dist/lib/runtime/ui-runtime-entry.d.ts.map +1 -0
  497. package/dist/lib/runtime/ui-runtime-entry.js +4 -0
  498. package/dist/lib/runtime/ui-runtime-entry.js.map +1 -0
  499. package/dist/lib/runtime/ui-runtime.d.ts +9 -0
  500. package/dist/lib/runtime/ui-runtime.d.ts.map +1 -0
  501. package/dist/lib/runtime/ui-runtime.js +23 -0
  502. package/dist/lib/runtime/ui-runtime.js.map +1 -0
  503. package/dist/lib/runtime/verify-flagged.d.ts +44 -0
  504. package/dist/lib/runtime/verify-flagged.d.ts.map +1 -0
  505. package/dist/lib/runtime/verify-flagged.js +84 -0
  506. package/dist/lib/runtime/verify-flagged.js.map +1 -0
  507. package/dist/lib/schemas.d.ts +9 -0
  508. package/dist/lib/schemas.d.ts.map +1 -1
  509. package/dist/lib/schemas.js +9 -1
  510. package/dist/lib/schemas.js.map +1 -1
  511. package/dist/lib/session-affinity.d.ts +10 -0
  512. package/dist/lib/session-affinity.d.ts.map +1 -1
  513. package/dist/lib/session-affinity.js +53 -6
  514. package/dist/lib/session-affinity.js.map +1 -1
  515. package/dist/lib/storage/account-clear-entry.d.ts +16 -0
  516. package/dist/lib/storage/account-clear-entry.d.ts.map +1 -0
  517. package/dist/lib/storage/account-clear-entry.js +12 -0
  518. package/dist/lib/storage/account-clear-entry.js.map +1 -0
  519. package/dist/lib/storage/account-clear.d.ts +8 -0
  520. package/dist/lib/storage/account-clear.d.ts.map +1 -0
  521. package/dist/lib/storage/account-clear.js +29 -0
  522. package/dist/lib/storage/account-clear.js.map +1 -0
  523. package/dist/lib/storage/account-match-utils.d.ts +9 -0
  524. package/dist/lib/storage/account-match-utils.d.ts.map +1 -0
  525. package/dist/lib/storage/account-match-utils.js +45 -0
  526. package/dist/lib/storage/account-match-utils.js.map +1 -0
  527. package/dist/lib/storage/account-persistence.d.ts +3 -0
  528. package/dist/lib/storage/account-persistence.d.ts.map +1 -0
  529. package/dist/lib/storage/account-persistence.js +12 -0
  530. package/dist/lib/storage/account-persistence.js.map +1 -0
  531. package/dist/lib/storage/account-port.d.ts +50 -0
  532. package/dist/lib/storage/account-port.d.ts.map +1 -0
  533. package/dist/lib/storage/account-port.js +43 -0
  534. package/dist/lib/storage/account-port.js.map +1 -0
  535. package/dist/lib/storage/account-save-entry.d.ts +7 -0
  536. package/dist/lib/storage/account-save-entry.d.ts.map +1 -0
  537. package/dist/lib/storage/account-save-entry.js +6 -0
  538. package/dist/lib/storage/account-save-entry.js.map +1 -0
  539. package/dist/lib/storage/account-save.d.ts +30 -0
  540. package/dist/lib/storage/account-save.d.ts.map +1 -0
  541. package/dist/lib/storage/account-save.js +49 -0
  542. package/dist/lib/storage/account-save.js.map +1 -0
  543. package/dist/lib/storage/account-snapshot.d.ts +25 -0
  544. package/dist/lib/storage/account-snapshot.d.ts.map +1 -0
  545. package/dist/lib/storage/account-snapshot.js +78 -0
  546. package/dist/lib/storage/account-snapshot.js.map +1 -0
  547. package/dist/lib/storage/backup-metadata-builder.d.ts +32 -0
  548. package/dist/lib/storage/backup-metadata-builder.d.ts.map +1 -0
  549. package/dist/lib/storage/backup-metadata-builder.js +77 -0
  550. package/dist/lib/storage/backup-metadata-builder.js.map +1 -0
  551. package/dist/lib/storage/backup-metadata.d.ts +29 -0
  552. package/dist/lib/storage/backup-metadata.d.ts.map +1 -0
  553. package/dist/lib/storage/backup-metadata.js +16 -0
  554. package/dist/lib/storage/backup-metadata.js.map +1 -0
  555. package/dist/lib/storage/backup-paths.d.ts +10 -0
  556. package/dist/lib/storage/backup-paths.d.ts.map +1 -0
  557. package/dist/lib/storage/backup-paths.js +27 -0
  558. package/dist/lib/storage/backup-paths.js.map +1 -0
  559. package/dist/lib/storage/backup-restore.d.ts +11 -0
  560. package/dist/lib/storage/backup-restore.d.ts.map +1 -0
  561. package/dist/lib/storage/backup-restore.js +52 -0
  562. package/dist/lib/storage/backup-restore.js.map +1 -0
  563. package/dist/lib/storage/cache-artifacts.d.ts +2 -0
  564. package/dist/lib/storage/cache-artifacts.d.ts.map +1 -0
  565. package/dist/lib/storage/cache-artifacts.js +4 -0
  566. package/dist/lib/storage/cache-artifacts.js.map +1 -0
  567. package/dist/lib/storage/error-hints.d.ts +10 -0
  568. package/dist/lib/storage/error-hints.d.ts.map +1 -0
  569. package/dist/lib/storage/error-hints.js +36 -0
  570. package/dist/lib/storage/error-hints.js.map +1 -0
  571. package/dist/lib/storage/file-paths.d.ts +6 -0
  572. package/dist/lib/storage/file-paths.d.ts.map +1 -0
  573. package/dist/lib/storage/file-paths.js +17 -0
  574. package/dist/lib/storage/file-paths.js.map +1 -0
  575. package/dist/lib/storage/fixture-guards.d.ts +4 -0
  576. package/dist/lib/storage/fixture-guards.d.ts.map +1 -0
  577. package/dist/lib/storage/fixture-guards.js +27 -0
  578. package/dist/lib/storage/fixture-guards.js.map +1 -0
  579. package/dist/lib/storage/flagged-entry.d.ts +15 -0
  580. package/dist/lib/storage/flagged-entry.d.ts.map +1 -0
  581. package/dist/lib/storage/flagged-entry.js +12 -0
  582. package/dist/lib/storage/flagged-entry.js.map +1 -0
  583. package/dist/lib/storage/flagged-load-entry.d.ts +20 -0
  584. package/dist/lib/storage/flagged-load-entry.d.ts.map +1 -0
  585. package/dist/lib/storage/flagged-load-entry.js +13 -0
  586. package/dist/lib/storage/flagged-load-entry.js.map +1 -0
  587. package/dist/lib/storage/flagged-save-entry.d.ts +7 -0
  588. package/dist/lib/storage/flagged-save-entry.d.ts.map +1 -0
  589. package/dist/lib/storage/flagged-save-entry.js +6 -0
  590. package/dist/lib/storage/flagged-save-entry.js.map +1 -0
  591. package/dist/lib/storage/flagged-storage-file.d.ts +7 -0
  592. package/dist/lib/storage/flagged-storage-file.d.ts.map +1 -0
  593. package/dist/lib/storage/flagged-storage-file.js +25 -0
  594. package/dist/lib/storage/flagged-storage-file.js.map +1 -0
  595. package/dist/lib/storage/flagged-storage-io.d.ts +28 -0
  596. package/dist/lib/storage/flagged-storage-io.d.ts.map +1 -0
  597. package/dist/lib/storage/flagged-storage-io.js +135 -0
  598. package/dist/lib/storage/flagged-storage-io.js.map +1 -0
  599. package/dist/lib/storage/flagged-storage.d.ts +6 -0
  600. package/dist/lib/storage/flagged-storage.d.ts.map +1 -0
  601. package/dist/lib/storage/flagged-storage.js +90 -0
  602. package/dist/lib/storage/flagged-storage.js.map +1 -0
  603. package/dist/lib/storage/gitignore.d.ts +7 -0
  604. package/dist/lib/storage/gitignore.d.ts.map +1 -0
  605. package/dist/lib/storage/gitignore.js +34 -0
  606. package/dist/lib/storage/gitignore.js.map +1 -0
  607. package/dist/lib/storage/hash.d.ts +2 -0
  608. package/dist/lib/storage/hash.d.ts.map +1 -0
  609. package/dist/lib/storage/hash.js +5 -0
  610. package/dist/lib/storage/hash.js.map +1 -0
  611. package/dist/lib/storage/identity.d.ts +15 -0
  612. package/dist/lib/storage/identity.d.ts.map +1 -0
  613. package/dist/lib/storage/identity.js +48 -0
  614. package/dist/lib/storage/identity.js.map +1 -0
  615. package/dist/lib/storage/import-export.d.ts +24 -0
  616. package/dist/lib/storage/import-export.d.ts.map +1 -0
  617. package/dist/lib/storage/import-export.js +108 -0
  618. package/dist/lib/storage/import-export.js.map +1 -0
  619. package/dist/lib/storage/metadata-section.d.ts +16 -0
  620. package/dist/lib/storage/metadata-section.d.ts.map +1 -0
  621. package/dist/lib/storage/metadata-section.js +16 -0
  622. package/dist/lib/storage/metadata-section.js.map +1 -0
  623. package/dist/lib/storage/migrations.d.ts +5 -2
  624. package/dist/lib/storage/migrations.d.ts.map +1 -1
  625. package/dist/lib/storage/migrations.js.map +1 -1
  626. package/dist/lib/storage/named-backup-entry.d.ts +15 -0
  627. package/dist/lib/storage/named-backup-entry.d.ts.map +1 -0
  628. package/dist/lib/storage/named-backup-entry.js +7 -0
  629. package/dist/lib/storage/named-backup-entry.js.map +1 -0
  630. package/dist/lib/storage/named-backups-entry.d.ts +19 -0
  631. package/dist/lib/storage/named-backups-entry.d.ts.map +1 -0
  632. package/dist/lib/storage/named-backups-entry.js +7 -0
  633. package/dist/lib/storage/named-backups-entry.js.map +1 -0
  634. package/dist/lib/storage/named-backups.d.ts +15 -0
  635. package/dist/lib/storage/named-backups.d.ts.map +1 -0
  636. package/dist/lib/storage/named-backups.js +68 -0
  637. package/dist/lib/storage/named-backups.js.map +1 -0
  638. package/dist/lib/storage/path-state.d.ts +9 -0
  639. package/dist/lib/storage/path-state.d.ts.map +1 -0
  640. package/dist/lib/storage/path-state.js +20 -0
  641. package/dist/lib/storage/path-state.js.map +1 -0
  642. package/dist/lib/storage/project-migration.d.ts +10 -0
  643. package/dist/lib/storage/project-migration.d.ts.map +1 -0
  644. package/dist/lib/storage/project-migration.js +38 -0
  645. package/dist/lib/storage/project-migration.js.map +1 -0
  646. package/dist/lib/storage/record-utils.d.ts +3 -0
  647. package/dist/lib/storage/record-utils.d.ts.map +1 -0
  648. package/dist/lib/storage/record-utils.js +9 -0
  649. package/dist/lib/storage/record-utils.js.map +1 -0
  650. package/dist/lib/storage/restore-assessment.d.ts +7 -0
  651. package/dist/lib/storage/restore-assessment.d.ts.map +1 -0
  652. package/dist/lib/storage/restore-assessment.js +42 -0
  653. package/dist/lib/storage/restore-assessment.js.map +1 -0
  654. package/dist/lib/storage/restore-backup-entry.d.ts +24 -0
  655. package/dist/lib/storage/restore-backup-entry.d.ts.map +1 -0
  656. package/dist/lib/storage/restore-backup-entry.js +10 -0
  657. package/dist/lib/storage/restore-backup-entry.js.map +1 -0
  658. package/dist/lib/storage/restore-metadata.d.ts +10 -0
  659. package/dist/lib/storage/restore-metadata.d.ts.map +1 -0
  660. package/dist/lib/storage/restore-metadata.js +18 -0
  661. package/dist/lib/storage/restore-metadata.js.map +1 -0
  662. package/dist/lib/storage/restore.d.ts +14 -0
  663. package/dist/lib/storage/restore.d.ts.map +1 -0
  664. package/dist/lib/storage/restore.js +53 -0
  665. package/dist/lib/storage/restore.js.map +1 -0
  666. package/dist/lib/storage/snapshot-inspectors.d.ts +22 -0
  667. package/dist/lib/storage/snapshot-inspectors.d.ts.map +1 -0
  668. package/dist/lib/storage/snapshot-inspectors.js +95 -0
  669. package/dist/lib/storage/snapshot-inspectors.js.map +1 -0
  670. package/dist/lib/storage/storage-parser.d.ts +15 -0
  671. package/dist/lib/storage/storage-parser.d.ts.map +1 -0
  672. package/dist/lib/storage/storage-parser.js +16 -0
  673. package/dist/lib/storage/storage-parser.js.map +1 -0
  674. package/dist/lib/storage/transactions.d.ts +23 -0
  675. package/dist/lib/storage/transactions.d.ts.map +1 -0
  676. package/dist/lib/storage/transactions.js +64 -0
  677. package/dist/lib/storage/transactions.js.map +1 -0
  678. package/dist/lib/storage.d.ts +12 -41
  679. package/dist/lib/storage.d.ts.map +1 -1
  680. package/dist/lib/storage.js +527 -938
  681. package/dist/lib/storage.js.map +1 -1
  682. package/dist/lib/types.d.ts +80 -1
  683. package/dist/lib/types.d.ts.map +1 -1
  684. package/dist/lib/ui/copy.d.ts +24 -4
  685. package/dist/lib/ui/copy.d.ts.map +1 -1
  686. package/dist/lib/ui/copy.js +24 -4
  687. package/dist/lib/ui/copy.js.map +1 -1
  688. package/package.json +44 -6
  689. package/scripts/check-pack-budget-lib.js +114 -0
  690. package/scripts/check-pack-budget.mjs +10 -0
  691. package/scripts/codex-multi-auth.js +34 -10
  692. package/scripts/install-codex-auth-utils.js +54 -14
  693. package/scripts/install-codex-auth.js +62 -33
  694. package/scripts/update-vendor-provenance.mjs +96 -0
  695. package/scripts/verify-vendor-provenance.mjs +53 -0
@@ -0,0 +1,114 @@
1
+ import { exec } from "node:child_process";
2
+ import { promisify } from "node:util";
3
+
4
+ const execAsync = promisify(exec);
5
+
6
+ export const MAX_PACKAGE_SIZE = 8 * 1024 * 1024;
7
+ export const REQUIRED_PREFIXES = [
8
+ "dist/",
9
+ "assets/",
10
+ "config/",
11
+ "scripts/",
12
+ "vendor/codex-ai-plugin/",
13
+ "vendor/codex-ai-sdk/",
14
+ "README.md",
15
+ "LICENSE",
16
+ ];
17
+
18
+ export const FORBIDDEN_PREFIXES = [
19
+ ".github/",
20
+ "test/",
21
+ "src/",
22
+ "lib/",
23
+ "tmp/",
24
+ ".tmp/",
25
+ ".codex/",
26
+ ];
27
+
28
+ export function normalizePackPath(filePath) {
29
+ return filePath.replaceAll("\\", "/");
30
+ }
31
+
32
+ export function parsePackMetadata(stdout) {
33
+ const packs = JSON.parse(stdout);
34
+ if (!Array.isArray(packs) || packs.length === 0) {
35
+ throw new Error("npm pack --dry-run --json returned no package metadata");
36
+ }
37
+
38
+ const pack = packs[0];
39
+ if (!pack || !Array.isArray(pack.files)) {
40
+ throw new Error("npm pack metadata did not include file list");
41
+ }
42
+
43
+ const packageSize = typeof pack.size === "number" ? pack.size : 0;
44
+ if (packageSize <= 0) {
45
+ throw new Error("npm pack metadata did not include a valid package size");
46
+ }
47
+
48
+ const paths = pack.files
49
+ .map((file) => file?.path)
50
+ .filter((value) => typeof value === "string")
51
+ .map((value) => normalizePackPath(value));
52
+
53
+ return { packageSize, paths };
54
+ }
55
+
56
+ export function validatePackMetadata({ packageSize, paths }) {
57
+ if (packageSize > MAX_PACKAGE_SIZE) {
58
+ throw new Error(
59
+ `Packed tarball is too large: ${packageSize} bytes (max ${MAX_PACKAGE_SIZE})`,
60
+ );
61
+ }
62
+
63
+ for (const forbidden of FORBIDDEN_PREFIXES) {
64
+ const leaked = paths.find(
65
+ (path) => path === forbidden || path.startsWith(forbidden),
66
+ );
67
+ if (leaked) {
68
+ throw new Error(`Forbidden file leaked into package: ${leaked}`);
69
+ }
70
+ }
71
+
72
+ for (const required of REQUIRED_PREFIXES) {
73
+ const present = paths.some(
74
+ (path) => path === required || path.startsWith(required),
75
+ );
76
+ if (!present) {
77
+ throw new Error(
78
+ `Required package content missing from npm pack output: ${required}`,
79
+ );
80
+ }
81
+ }
82
+
83
+ return `Pack budget ok: ${packageSize} bytes across ${paths.length} files`;
84
+ }
85
+
86
+ export async function runPackBudgetCheck(deps = {}) {
87
+ const npmCommand = process.platform === "win32" ? "npm.cmd" : "npm";
88
+ const runExec = deps.execAsync ?? execAsync;
89
+ const log = deps.log ?? console.log;
90
+ let stdout = "";
91
+ try {
92
+ ({ stdout } = await runExec(`${npmCommand} pack --dry-run --json`, {
93
+ windowsHide: true,
94
+ maxBuffer: 10 * 1024 * 1024,
95
+ }));
96
+ } catch (error) {
97
+ const message = error instanceof Error ? error.message : String(error);
98
+ const stdoutText = typeof error === "object" && error && "stdout" in error ? String(error.stdout ?? "") : "";
99
+ const stderrText = typeof error === "object" && error && "stderr" in error ? String(error.stderr ?? "") : "";
100
+ throw new Error(`npm pack --dry-run --json failed via ${npmCommand}: ${message}${stdoutText ? `
101
+ stdout: ${stdoutText.slice(0, 500)}` : ""}${stderrText ? `
102
+ stderr: ${stderrText.slice(0, 500)}` : ""}`);
103
+ }
104
+ let summary;
105
+ try {
106
+ summary = validatePackMetadata(parsePackMetadata(stdout));
107
+ } catch (error) {
108
+ const message = error instanceof Error ? error.message : String(error);
109
+ throw new Error(`Failed to validate npm pack output: ${message}
110
+ stdout: ${stdout.slice(0, 500)}`);
111
+ }
112
+ log(summary);
113
+ return summary;
114
+ }
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import { resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { runPackBudgetCheck } from "./check-pack-budget-lib.js";
5
+
6
+ export { runPackBudgetCheck } from "./check-pack-budget-lib.js";
7
+
8
+ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
9
+ await runPackBudgetCheck();
10
+ }
@@ -1,18 +1,42 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ // @ts-check
4
+
3
5
  import { createRequire } from "node:module";
4
- import { runCodexMultiAuthCli } from "../dist/lib/codex-manager.js";
5
6
 
6
- try {
7
+ const versionFlags = new Set(["--version", "-v"]);
8
+
9
+ function resolveCliVersion() {
7
10
  const require = createRequire(import.meta.url);
8
- const pkg = require("../package.json");
9
- const version = typeof pkg?.version === "string" ? pkg.version.trim() : "";
10
- if (version.length > 0) {
11
- process.env.CODEX_MULTI_AUTH_CLI_VERSION = version;
11
+ try {
12
+ const pkg = require("../package.json");
13
+ const version = typeof pkg?.version === "string" ? pkg.version.trim() : "";
14
+ if (version.length > 0) {
15
+ return version;
16
+ }
17
+ } catch {
18
+ // Best effort only.
12
19
  }
13
- } catch {
14
- // Best effort only.
20
+ return "";
15
21
  }
16
22
 
17
- const exitCode = await runCodexMultiAuthCli(process.argv.slice(2));
18
- process.exitCode = Number.isInteger(exitCode) ? exitCode : 1;
23
+ const args = process.argv.slice(2);
24
+ const version = resolveCliVersion();
25
+
26
+ if (version.length > 0) {
27
+ process.env.CODEX_MULTI_AUTH_CLI_VERSION = version;
28
+ }
29
+
30
+ if (args.length === 1 && versionFlags.has(args[0])) {
31
+ if (version.length > 0) {
32
+ process.stdout.write(`${version}\n`);
33
+ process.exitCode = 0;
34
+ } else {
35
+ process.stderr.write("codex-multi-auth version is unavailable.\n");
36
+ process.exitCode = 1;
37
+ }
38
+ } else {
39
+ const { runCodexMultiAuthCli } = await import("../dist/lib/codex-manager.js");
40
+ const exitCode = await runCodexMultiAuthCli(args);
41
+ process.exitCode = Number.isInteger(exitCode) ? exitCode : 1;
42
+ }
@@ -1,13 +1,26 @@
1
- import { join } from "node:path";
2
- import { homedir } from "node:os";
1
+ // @ts-check
2
+
3
3
  import { rename as fsRename } from "node:fs/promises";
4
+ import { homedir } from "node:os";
5
+ import { join } from "node:path";
4
6
 
5
7
  const PLUGIN_NAME = "codex-multi-auth";
6
- export const FILE_RETRY_CODES = new Set(["EBUSY", "EPERM", "EAGAIN", "ENOTEMPTY", "EACCES"]);
8
+ export const FILE_RETRY_CODES = new Set([
9
+ "EBUSY",
10
+ "EPERM",
11
+ "EAGAIN",
12
+ "ENOTEMPTY",
13
+ "EACCES",
14
+ ]);
7
15
  export const FILE_RETRY_MAX_ATTEMPTS = 6;
8
16
  export const FILE_RETRY_BASE_DELAY_MS = 25;
9
17
  export const FILE_RETRY_JITTER_MS = 20;
10
18
 
19
+ /**
20
+ * @param {NodeJS.Platform} [platform]
21
+ * @param {NodeJS.ProcessEnv} [env]
22
+ * @param {string} [home]
23
+ */
11
24
  export function resolveInstallPaths(
12
25
  platform = process.platform,
13
26
  env = process.env,
@@ -35,6 +48,7 @@ export function resolveInstallPaths(
35
48
  };
36
49
  }
37
50
 
51
+ /** @param {unknown} list */
38
52
  export function normalizePluginList(list) {
39
53
  const entries = Array.isArray(list) ? list.filter(Boolean) : [];
40
54
  const filtered = entries.filter((entry) => {
@@ -44,7 +58,8 @@ export function normalizePluginList(list) {
44
58
  const deduped = [];
45
59
  const seen = new Set();
46
60
  for (const entry of filtered) {
47
- const key = typeof entry === "string" ? `s:${entry}` : `j:${JSON.stringify(entry)}`;
61
+ const key =
62
+ typeof entry === "string" ? `s:${entry}` : `j:${JSON.stringify(entry)}`;
48
63
  if (seen.has(key)) continue;
49
64
  seen.add(key);
50
65
  deduped.push(entry);
@@ -52,6 +67,7 @@ export function normalizePluginList(list) {
52
67
  return [...deduped, PLUGIN_NAME];
53
68
  }
54
69
 
70
+ /** @param {number} ms */
55
71
  function sleep(ms) {
56
72
  // Keep this helper local so installer scripts remain standalone and do not depend on lib/.
57
73
  return new Promise((resolve) => {
@@ -59,28 +75,49 @@ function sleep(ms) {
59
75
  });
60
76
  }
61
77
 
78
+ /** @param {unknown} error */
62
79
  function shouldRetryFileOperation(error) {
63
- return error instanceof Error &&
64
- typeof error.code === "string" &&
65
- FILE_RETRY_CODES.has(error.code);
80
+ const fileError = /** @type {NodeJS.ErrnoException | undefined} */ (error);
81
+ return (
82
+ fileError instanceof Error &&
83
+ typeof fileError.code === "string" &&
84
+ FILE_RETRY_CODES.has(fileError.code)
85
+ );
66
86
  }
67
87
 
88
+ /** @template T @param {() => Promise<T>} operation */
68
89
  export async function withFileOperationRetry(operation) {
69
90
  for (let attempt = 1; ; attempt += 1) {
70
91
  try {
71
92
  return await operation();
72
93
  } catch (error) {
73
- if (!shouldRetryFileOperation(error) || attempt >= FILE_RETRY_MAX_ATTEMPTS) {
94
+ if (
95
+ !shouldRetryFileOperation(error) ||
96
+ attempt >= FILE_RETRY_MAX_ATTEMPTS
97
+ ) {
74
98
  throw error;
75
99
  }
76
100
 
77
101
  const jitter = Math.floor(Math.random() * FILE_RETRY_JITTER_MS);
78
- const delayMs = (FILE_RETRY_BASE_DELAY_MS * (2 ** (attempt - 1))) + jitter;
102
+ const delayMs = FILE_RETRY_BASE_DELAY_MS * 2 ** (attempt - 1) + jitter;
79
103
  await sleep(delayMs);
80
104
  }
81
105
  }
82
106
  }
83
107
 
108
+ /**
109
+ * @param {string} sourcePath
110
+ * @param {string} targetPath
111
+ * @param {{
112
+ * rename?: (sourcePath: string, targetPath: string) => Promise<void>,
113
+ * log?: (message: string) => void,
114
+ * maxRetries?: number,
115
+ * baseDelayMs?: number,
116
+ * jitterMs?: number,
117
+ * random?: () => number,
118
+ * sleep?: (ms: number) => Promise<void>,
119
+ * }} [options]
120
+ */
84
121
  export async function renameWithRetry(sourcePath, targetPath, options = {}) {
85
122
  const {
86
123
  rename = fsRename,
@@ -101,14 +138,17 @@ export async function renameWithRetry(sourcePath, targetPath, options = {}) {
101
138
  await rename(sourcePath, targetPath);
102
139
  return;
103
140
  } catch (error) {
104
- const code = error && typeof error === "object" && "code" in error
105
- ? error.code
106
- : undefined;
107
- const isRetryable = typeof code === "string" && FILE_RETRY_CODES.has(code);
141
+ const code =
142
+ error && typeof error === "object" && "code" in error
143
+ ? error.code
144
+ : undefined;
145
+ const isRetryable =
146
+ typeof code === "string" && FILE_RETRY_CODES.has(code);
108
147
  if (!isRetryable || attempt === maxRetries - 1) {
109
148
  throw error;
110
149
  }
111
- const delayMs = baseDelayMs * 2 ** attempt + Math.floor(random() * jitterMs);
150
+ const delayMs =
151
+ baseDelayMs * 2 ** attempt + Math.floor(random() * jitterMs);
112
152
  log(
113
153
  `Retrying atomic rename (${attempt + 1}/${maxRetries}) code=${code ?? "unknown"} source=${sourcePath} target=${targetPath} delayMs=${delayMs}`,
114
154
  );
@@ -1,9 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ // @ts-check
4
+
3
5
  import { existsSync } from "node:fs";
4
- import { readFile, writeFile, mkdir, copyFile, rm } from "node:fs/promises";
5
- import { fileURLToPath } from "node:url";
6
+ import { copyFile, mkdir, readFile, rm, writeFile } from "node:fs/promises";
6
7
  import { dirname, join, resolve } from "node:path";
8
+ import { fileURLToPath } from "node:url";
7
9
  import {
8
10
  normalizePluginList,
9
11
  renameWithRetry,
@@ -16,17 +18,18 @@ const PLUGIN_NAME = "codex-multi-auth";
16
18
  const args = new Set(process.argv.slice(2));
17
19
 
18
20
  if (args.has("--help") || args.has("-h")) {
19
- console.log(`Usage: ${PLUGIN_NAME} [--modern|--legacy] [--dry-run] [--no-cache-clear]\n\n` +
20
- "Default behavior:\n" +
21
- " - Installs/updates global config at ~/.config/Codex/Codex.json\n" +
22
- " - Uses modern config (variants) by default\n" +
23
- " - Ensures plugin is unpinned (latest)\n" +
24
- " - Clears Codex plugin cache\n\n" +
25
- "Options:\n" +
26
- " --modern Force modern config (default)\n" +
27
- " --legacy Use legacy config (older Codex versions)\n" +
28
- " --dry-run Show actions without writing\n" +
29
- " --no-cache-clear Skip clearing Codex cache\n"
21
+ console.log(
22
+ `Usage: ${PLUGIN_NAME} [--modern|--legacy] [--dry-run] [--no-cache-clear]\n\n` +
23
+ "Default behavior:\n" +
24
+ " - Installs/updates global config at ~/.config/Codex/Codex.json\n" +
25
+ " - Uses modern config (variants) by default\n" +
26
+ " - Ensures plugin is unpinned (latest)\n" +
27
+ " - Clears Codex plugin cache\n\n" +
28
+ "Options:\n" +
29
+ " --modern Force modern config (default)\n" +
30
+ " --legacy Use legacy config (older Codex versions)\n" +
31
+ " --dry-run Show actions without writing\n" +
32
+ " --no-cache-clear Skip clearing Codex cache\n",
30
33
  );
31
34
  process.exit(0);
32
35
  }
@@ -41,25 +44,35 @@ const repoRoot = resolve(scriptDir, "..");
41
44
  const templatePath = join(
42
45
  repoRoot,
43
46
  "config",
44
- useLegacy ? "codex-legacy.json" : "codex-modern.json"
47
+ useLegacy ? "codex-legacy.json" : "codex-modern.json",
45
48
  );
46
49
 
47
50
  const installPaths = resolveInstallPaths();
48
- const { configDir, configPath, cacheNodeModules, cacheBunLock, cachePackageJson } = installPaths;
49
-
51
+ const {
52
+ configDir,
53
+ configPath,
54
+ cacheNodeModules,
55
+ cacheBunLock,
56
+ cachePackageJson,
57
+ } = installPaths;
58
+
59
+ /** @param {string} message */
50
60
  function log(message) {
51
61
  console.log(message);
52
62
  }
53
63
 
64
+ /** @param {unknown} obj */
54
65
  function formatJson(obj) {
55
66
  return `${JSON.stringify(obj, null, 2)}\n`;
56
67
  }
57
68
 
69
+ /** @param {string} filePath */
58
70
  async function readJson(filePath) {
59
71
  const content = await readFile(filePath, "utf-8");
60
- return JSON.parse(content);
72
+ return /** @type {any} */ (JSON.parse(content));
61
73
  }
62
74
 
75
+ /** @param {string} filePath @param {unknown} value */
63
76
  async function writeJsonAtomic(filePath, value) {
64
77
  const tempPath = `${filePath}.tmp-${process.pid}-${Date.now()}-${Math.random()
65
78
  .toString(36)
@@ -79,6 +92,7 @@ async function writeJsonAtomic(filePath, value) {
79
92
  }
80
93
  }
81
94
 
95
+ /** @param {string} sourcePath */
82
96
  async function backupConfig(sourcePath) {
83
97
  const timestamp = new Date()
84
98
  .toISOString()
@@ -98,6 +112,7 @@ async function removePluginFromCachePackage() {
98
112
  return;
99
113
  }
100
114
 
115
+ /** @type {any} */
101
116
  let cacheData;
102
117
  try {
103
118
  cacheData = await readJson(cachePackageJson);
@@ -145,7 +160,9 @@ async function clearCache() {
145
160
  log(`[dry-run] Would remove ${cacheBunLock}`);
146
161
  } else {
147
162
  try {
148
- await withFileOperationRetry(() => rm(cacheNodeModules, { recursive: true, force: true }));
163
+ await withFileOperationRetry(() =>
164
+ rm(cacheNodeModules, { recursive: true, force: true }),
165
+ );
149
166
  await withFileOperationRetry(() => rm(cacheBunLock, { force: true }));
150
167
  } catch (error) {
151
168
  log(
@@ -168,27 +185,36 @@ async function main() {
168
185
  let nextConfig = template;
169
186
  if (existsSync(configPath)) {
170
187
  const backupPath = await backupConfig(configPath);
171
- log(`${dryRun ? "[dry-run] Would create backup" : "Backup created"}: ${backupPath}`);
188
+ log(
189
+ `${dryRun ? "[dry-run] Would create backup" : "Backup created"}: ${backupPath}`,
190
+ );
172
191
 
173
192
  try {
174
193
  const existing = await readJson(configPath);
175
194
  const merged = { ...existing };
176
195
  merged.plugin = normalizePluginList(existing.plugin);
177
- const provider = (existing.provider && typeof existing.provider === "object")
178
- ? { ...existing.provider }
179
- : {};
180
- const existingOpenAi = provider.openai && typeof provider.openai === "object"
181
- ? provider.openai
182
- : {};
183
- const templateOpenAi = template.provider && typeof template.provider === "object" &&
184
- template.provider.openai && typeof template.provider.openai === "object"
185
- ? template.provider.openai
186
- : {};
196
+ const provider =
197
+ existing.provider && typeof existing.provider === "object"
198
+ ? { ...existing.provider }
199
+ : {};
200
+ const existingOpenAi =
201
+ provider.openai && typeof provider.openai === "object"
202
+ ? provider.openai
203
+ : {};
204
+ const templateOpenAi =
205
+ template.provider &&
206
+ typeof template.provider === "object" &&
207
+ template.provider.openai &&
208
+ typeof template.provider.openai === "object"
209
+ ? template.provider.openai
210
+ : {};
187
211
  provider.openai = { ...templateOpenAi, ...existingOpenAi };
188
212
  merged.provider = provider;
189
213
  nextConfig = merged;
190
214
  } catch (error) {
191
- log(`Warning: Could not parse existing config (${error}). Replacing with template.`);
215
+ log(
216
+ `Warning: Could not parse existing config (${error}). Replacing with template.`,
217
+ );
192
218
  nextConfig = template;
193
219
  }
194
220
  } else {
@@ -196,7 +222,9 @@ async function main() {
196
222
  }
197
223
 
198
224
  if (dryRun) {
199
- log(`[dry-run] Would write ${configPath} using ${useLegacy ? "legacy" : "modern"} config`);
225
+ log(
226
+ `[dry-run] Would write ${configPath} using ${useLegacy ? "legacy" : "modern"} config`,
227
+ );
200
228
  } else {
201
229
  await mkdir(configDir, { recursive: true });
202
230
  await writeJsonAtomic(configPath, nextConfig);
@@ -222,8 +250,9 @@ const isDirectRun = (() => {
222
250
 
223
251
  if (isDirectRun) {
224
252
  main().catch((error) => {
225
- console.error(`Installer failed: ${error instanceof Error ? error.message : error}`);
253
+ console.error(
254
+ `Installer failed: ${error instanceof Error ? error.message : error}`,
255
+ );
226
256
  process.exit(1);
227
257
  });
228
258
  }
229
-
@@ -0,0 +1,96 @@
1
+ #!/usr/bin/env node
2
+ import { createHash } from "node:crypto";
3
+ import { readFile, writeFile } from "node:fs/promises";
4
+
5
+ const components = [
6
+ {
7
+ name: "@codex-ai/plugin",
8
+ root: "vendor/codex-ai-plugin",
9
+ source: "vendored dist shim",
10
+ files: [
11
+ "vendor/codex-ai-plugin/package.json",
12
+ "vendor/codex-ai-plugin/dist/index.js",
13
+ "vendor/codex-ai-plugin/dist/index.d.ts",
14
+ "vendor/codex-ai-plugin/dist/tool.js",
15
+ "vendor/codex-ai-plugin/dist/tool.d.ts",
16
+ ],
17
+ },
18
+ {
19
+ name: "@codex-ai/sdk",
20
+ root: "vendor/codex-ai-sdk",
21
+ source: "vendored dist shim",
22
+ files: [
23
+ "vendor/codex-ai-sdk/package.json",
24
+ "vendor/codex-ai-sdk/dist/index.js",
25
+ "vendor/codex-ai-sdk/dist/index.d.ts",
26
+ ],
27
+ },
28
+ ];
29
+
30
+ async function loadExistingManifest() {
31
+ try {
32
+ const content = await readFile("vendor/provenance.json", "utf8");
33
+ const parsed = JSON.parse(content);
34
+ return Array.isArray(parsed?.components) ? parsed : { components: [] };
35
+ } catch {
36
+ return { components: [] };
37
+ }
38
+ }
39
+
40
+ async function hashFile(path) {
41
+ const content = await readFile(path);
42
+ return createHash("sha256").update(content).digest("hex");
43
+ }
44
+
45
+ const existingManifest = await loadExistingManifest();
46
+ const existingFiles = Object.fromEntries(
47
+ existingManifest.components.flatMap((component) =>
48
+ Array.isArray(component.files)
49
+ ? component.files
50
+ .filter(
51
+ (file) =>
52
+ file &&
53
+ typeof file === "object" &&
54
+ typeof file.path === "string",
55
+ )
56
+ .map((file) => [file.path, file])
57
+ : [],
58
+ ),
59
+ );
60
+
61
+ const manifest = {
62
+ generatedAt: new Date().toISOString().slice(0, 10),
63
+ components: [],
64
+ };
65
+
66
+ for (const component of components) {
67
+ const packageJson = JSON.parse(
68
+ await readFile(`${component.root}/package.json`, "utf8"),
69
+ );
70
+ manifest.components.push({
71
+ name: component.name,
72
+ version: packageJson.version,
73
+ source: component.source,
74
+ root: component.root,
75
+ files: await Promise.all(
76
+ component.files.map(async (path) => {
77
+ const prior = existingFiles[path] ?? {};
78
+ const { path: _priorPath, sha256: _priorHash, ...extra } = prior;
79
+ return {
80
+ path,
81
+ sha256: await hashFile(path),
82
+ ...extra,
83
+ };
84
+ }),
85
+ ),
86
+ });
87
+ }
88
+
89
+ await writeFile(
90
+ "vendor/provenance.json",
91
+ `${JSON.stringify(manifest, null, 2)}\n`,
92
+ "utf8",
93
+ );
94
+ console.log(
95
+ `Updated vendor/provenance.json for ${manifest.components.length} component(s)`,
96
+ );
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ import { createHash } from "node:crypto";
3
+ import { readFile } from "node:fs/promises";
4
+
5
+ const manifest = JSON.parse(
6
+ await readFile(new URL("../vendor/provenance.json", import.meta.url), "utf8"),
7
+ );
8
+
9
+ if (!manifest || !Array.isArray(manifest.components)) {
10
+ throw new Error("vendor/provenance.json is missing a valid components array");
11
+ }
12
+
13
+ for (const component of manifest.components) {
14
+ if (
15
+ !component ||
16
+ !Array.isArray(component.files) ||
17
+ component.files.length === 0
18
+ ) {
19
+ throw new Error(
20
+ `Component provenance entry is invalid: ${JSON.stringify(component)}`,
21
+ );
22
+ }
23
+ for (const file of component.files) {
24
+ if (!file?.path || !file?.sha256) {
25
+ throw new Error(`Invalid file provenance entry in ${component.name}`);
26
+ }
27
+ let content;
28
+ try {
29
+ content = await readFile(new URL(`../${file.path}`, import.meta.url));
30
+ } catch (error) {
31
+ const code =
32
+ error && typeof error === "object"
33
+ ? /** @type {{ code?: string }} */ (error).code
34
+ : undefined;
35
+ if (code === "ENOENT") {
36
+ throw new Error(
37
+ `Vendor file not found in ${component.name}: ${file.path} (${code})`,
38
+ );
39
+ }
40
+ throw error;
41
+ }
42
+ const actual = createHash("sha256").update(content).digest("hex");
43
+ if (actual !== file.sha256) {
44
+ throw new Error(
45
+ `Vendor provenance mismatch for ${file.path}: expected ${file.sha256}, got ${actual}`,
46
+ );
47
+ }
48
+ }
49
+ }
50
+
51
+ console.log(
52
+ `Vendor provenance ok: ${manifest.components.length} component(s), ${manifest.components.reduce((/** @type {number} */ sum, /** @type {{ files?: unknown[] }} */ component) => sum + (Array.isArray(component.files) ? component.files.length : 0), 0)} file(s) verified`,
53
+ );