oh-my-codex 0.21.0 → 0.21.2

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 (346) hide show
  1. package/Cargo.toml +1 -1
  2. package/README.md +4 -2
  3. package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.d.ts +2 -0
  4. package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.d.ts.map +1 -0
  5. package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.js +592 -0
  6. package/dist/cli/__tests__/detached-launch-diagnostics-3578.test.js.map +1 -0
  7. package/dist/cli/__tests__/detached-leader-teardown.test.js +270 -33
  8. package/dist/cli/__tests__/detached-leader-teardown.test.js.map +1 -1
  9. package/dist/cli/__tests__/doctor-warning-copy.test.js +133 -5
  10. package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
  11. package/dist/cli/__tests__/index.test.js +543 -2
  12. package/dist/cli/__tests__/index.test.js.map +1 -1
  13. package/dist/cli/__tests__/issue-windows-cancel-identity.test.d.ts +2 -0
  14. package/dist/cli/__tests__/issue-windows-cancel-identity.test.d.ts.map +1 -0
  15. package/dist/cli/__tests__/issue-windows-cancel-identity.test.js +17 -0
  16. package/dist/cli/__tests__/issue-windows-cancel-identity.test.js.map +1 -0
  17. package/dist/cli/__tests__/launch-fallback.test.js +15 -3
  18. package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
  19. package/dist/cli/__tests__/package-bin-contract.test.js +20 -0
  20. package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
  21. package/dist/cli/__tests__/plugin-cache-stale-lock.test.d.ts +2 -0
  22. package/dist/cli/__tests__/plugin-cache-stale-lock.test.d.ts.map +1 -0
  23. package/dist/cli/__tests__/plugin-cache-stale-lock.test.js +76 -0
  24. package/dist/cli/__tests__/plugin-cache-stale-lock.test.js.map +1 -0
  25. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.d.ts +2 -0
  26. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.d.ts.map +1 -0
  27. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js +1662 -0
  28. package/dist/cli/__tests__/plugin-cache-symlink-provenance-3552.test.js.map +1 -0
  29. package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.d.ts +2 -0
  30. package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.d.ts.map +1 -0
  31. package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js +522 -0
  32. package/dist/cli/__tests__/plugin-launcher-provenance-3558.test.js.map +1 -0
  33. package/dist/cli/__tests__/ralplan-advisory.test.d.ts +2 -0
  34. package/dist/cli/__tests__/ralplan-advisory.test.d.ts.map +1 -0
  35. package/dist/cli/__tests__/ralplan-advisory.test.js +301 -0
  36. package/dist/cli/__tests__/ralplan-advisory.test.js.map +1 -0
  37. package/dist/cli/__tests__/ralplan.test.js +39 -0
  38. package/dist/cli/__tests__/ralplan.test.js.map +1 -1
  39. package/dist/cli/__tests__/resume.test.js +81 -6
  40. package/dist/cli/__tests__/resume.test.js.map +1 -1
  41. package/dist/cli/__tests__/session-scoped-runtime.test.js +423 -4
  42. package/dist/cli/__tests__/session-scoped-runtime.test.js.map +1 -1
  43. package/dist/cli/__tests__/setup-install-mode.test.js +60 -3
  44. package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
  45. package/dist/cli/__tests__/setup-refresh.test.js +9 -0
  46. package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
  47. package/dist/cli/__tests__/sparkshell-cli.test.js +4 -0
  48. package/dist/cli/__tests__/sparkshell-cli.test.js.map +1 -1
  49. package/dist/cli/__tests__/ultragoal.test.js +71 -0
  50. package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
  51. package/dist/cli/__tests__/windows-popup-loop-contract.test.js +30 -4
  52. package/dist/cli/__tests__/windows-popup-loop-contract.test.js.map +1 -1
  53. package/dist/cli/doctor.d.ts.map +1 -1
  54. package/dist/cli/doctor.js +57 -8
  55. package/dist/cli/doctor.js.map +1 -1
  56. package/dist/cli/index.d.ts +113 -7
  57. package/dist/cli/index.d.ts.map +1 -1
  58. package/dist/cli/index.js +1850 -185
  59. package/dist/cli/index.js.map +1 -1
  60. package/dist/cli/native-assets.d.ts +2 -1
  61. package/dist/cli/native-assets.d.ts.map +1 -1
  62. package/dist/cli/native-assets.js +7 -7
  63. package/dist/cli/native-assets.js.map +1 -1
  64. package/dist/cli/plugin-marketplace.d.ts +89 -4
  65. package/dist/cli/plugin-marketplace.d.ts.map +1 -1
  66. package/dist/cli/plugin-marketplace.js +2135 -118
  67. package/dist/cli/plugin-marketplace.js.map +1 -1
  68. package/dist/cli/ralplan.d.ts +2 -1
  69. package/dist/cli/ralplan.d.ts.map +1 -1
  70. package/dist/cli/ralplan.js +149 -9
  71. package/dist/cli/ralplan.js.map +1 -1
  72. package/dist/cli/setup.d.ts.map +1 -1
  73. package/dist/cli/setup.js +7 -1
  74. package/dist/cli/setup.js.map +1 -1
  75. package/dist/cli/sparkshell.d.ts.map +1 -1
  76. package/dist/cli/sparkshell.js +9 -10
  77. package/dist/cli/sparkshell.js.map +1 -1
  78. package/dist/cli/update-worker.js +9 -0
  79. package/dist/cli/update-worker.js.map +1 -1
  80. package/dist/cli/update.d.ts +1 -0
  81. package/dist/cli/update.d.ts.map +1 -1
  82. package/dist/cli/update.js +9 -0
  83. package/dist/cli/update.js.map +1 -1
  84. package/dist/config/__tests__/generator-idempotent.test.js +118 -0
  85. package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
  86. package/dist/config/generator.d.ts.map +1 -1
  87. package/dist/config/generator.js +74 -4
  88. package/dist/config/generator.js.map +1 -1
  89. package/dist/hooks/__tests__/keyword-detector.test.js +74 -0
  90. package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
  91. package/dist/hooks/__tests__/ralplan-advisory-keyword.test.d.ts +2 -0
  92. package/dist/hooks/__tests__/ralplan-advisory-keyword.test.d.ts.map +1 -0
  93. package/dist/hooks/__tests__/ralplan-advisory-keyword.test.js +250 -0
  94. package/dist/hooks/__tests__/ralplan-advisory-keyword.test.js.map +1 -0
  95. package/dist/hooks/__tests__/session.test.js +10 -1
  96. package/dist/hooks/__tests__/session.test.js.map +1 -1
  97. package/dist/hooks/keyword-detector.d.ts +8 -1
  98. package/dist/hooks/keyword-detector.d.ts.map +1 -1
  99. package/dist/hooks/keyword-detector.js +130 -9
  100. package/dist/hooks/keyword-detector.js.map +1 -1
  101. package/dist/hooks/session.d.ts +5 -0
  102. package/dist/hooks/session.d.ts.map +1 -1
  103. package/dist/hooks/session.js +17 -3
  104. package/dist/hooks/session.js.map +1 -1
  105. package/dist/hud/__tests__/index.test.js +16 -1
  106. package/dist/hud/__tests__/index.test.js.map +1 -1
  107. package/dist/hud/__tests__/reconcile.test.js +134 -7
  108. package/dist/hud/__tests__/reconcile.test.js.map +1 -1
  109. package/dist/hud/__tests__/render.test.js +57 -0
  110. package/dist/hud/__tests__/render.test.js.map +1 -1
  111. package/dist/hud/__tests__/session-attached.test.d.ts +2 -0
  112. package/dist/hud/__tests__/session-attached.test.d.ts.map +1 -0
  113. package/dist/hud/__tests__/session-attached.test.js +82 -0
  114. package/dist/hud/__tests__/session-attached.test.js.map +1 -0
  115. package/dist/hud/__tests__/state.test.js +94 -2
  116. package/dist/hud/__tests__/state.test.js.map +1 -1
  117. package/dist/hud/__tests__/tmux-split-realtmux.test.js +169 -2
  118. package/dist/hud/__tests__/tmux-split-realtmux.test.js.map +1 -1
  119. package/dist/hud/__tests__/tmux.test.js +104 -22
  120. package/dist/hud/__tests__/tmux.test.js.map +1 -1
  121. package/dist/hud/__tests__/types.test.js +9 -0
  122. package/dist/hud/__tests__/types.test.js.map +1 -1
  123. package/dist/hud/__tests__/watch-detached.test.d.ts +2 -0
  124. package/dist/hud/__tests__/watch-detached.test.d.ts.map +1 -0
  125. package/dist/hud/__tests__/watch-detached.test.js +383 -0
  126. package/dist/hud/__tests__/watch-detached.test.js.map +1 -0
  127. package/dist/hud/__tests__/watch-realtmux.test.d.ts +2 -0
  128. package/dist/hud/__tests__/watch-realtmux.test.d.ts.map +1 -0
  129. package/dist/hud/__tests__/watch-realtmux.test.js +322 -0
  130. package/dist/hud/__tests__/watch-realtmux.test.js.map +1 -0
  131. package/dist/hud/index.d.ts +3 -0
  132. package/dist/hud/index.d.ts.map +1 -1
  133. package/dist/hud/index.js +98 -20
  134. package/dist/hud/index.js.map +1 -1
  135. package/dist/hud/reconcile.d.ts.map +1 -1
  136. package/dist/hud/reconcile.js +68 -24
  137. package/dist/hud/reconcile.js.map +1 -1
  138. package/dist/hud/render.d.ts.map +1 -1
  139. package/dist/hud/render.js +20 -0
  140. package/dist/hud/render.js.map +1 -1
  141. package/dist/hud/session-attached.d.ts +15 -0
  142. package/dist/hud/session-attached.d.ts.map +1 -0
  143. package/dist/hud/session-attached.js +47 -0
  144. package/dist/hud/session-attached.js.map +1 -0
  145. package/dist/hud/state.d.ts +9 -1
  146. package/dist/hud/state.d.ts.map +1 -1
  147. package/dist/hud/state.js +140 -3
  148. package/dist/hud/state.js.map +1 -1
  149. package/dist/hud/tmux.d.ts +4 -0
  150. package/dist/hud/tmux.d.ts.map +1 -1
  151. package/dist/hud/tmux.js +86 -23
  152. package/dist/hud/tmux.js.map +1 -1
  153. package/dist/hud/types.d.ts +20 -0
  154. package/dist/hud/types.d.ts.map +1 -1
  155. package/dist/hud/types.js +3 -0
  156. package/dist/hud/types.js.map +1 -1
  157. package/dist/modes/base.d.ts +15 -2
  158. package/dist/modes/base.d.ts.map +1 -1
  159. package/dist/modes/base.js +105 -16
  160. package/dist/modes/base.js.map +1 -1
  161. package/dist/question/autopilot-wait.js +2 -2
  162. package/dist/question/autopilot-wait.js.map +1 -1
  163. package/dist/question/deep-interview.js +2 -2
  164. package/dist/question/deep-interview.js.map +1 -1
  165. package/dist/ralplan/__tests__/advisory-activation.test.d.ts +2 -0
  166. package/dist/ralplan/__tests__/advisory-activation.test.d.ts.map +1 -0
  167. package/dist/ralplan/__tests__/advisory-activation.test.js +700 -0
  168. package/dist/ralplan/__tests__/advisory-activation.test.js.map +1 -0
  169. package/dist/ralplan/__tests__/advisory-detached-transition.test.d.ts +2 -0
  170. package/dist/ralplan/__tests__/advisory-detached-transition.test.d.ts.map +1 -0
  171. package/dist/ralplan/__tests__/advisory-detached-transition.test.js +88 -0
  172. package/dist/ralplan/__tests__/advisory-detached-transition.test.js.map +1 -0
  173. package/dist/ralplan/__tests__/advisory.test.d.ts +2 -0
  174. package/dist/ralplan/__tests__/advisory.test.d.ts.map +1 -0
  175. package/dist/ralplan/__tests__/advisory.test.js +1087 -0
  176. package/dist/ralplan/__tests__/advisory.test.js.map +1 -0
  177. package/dist/ralplan/__tests__/runtime.test.js +416 -7
  178. package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
  179. package/dist/ralplan/advisory-activation-verifier.d.ts +19 -0
  180. package/dist/ralplan/advisory-activation-verifier.d.ts.map +1 -0
  181. package/dist/ralplan/advisory-activation-verifier.js +77 -0
  182. package/dist/ralplan/advisory-activation-verifier.js.map +1 -0
  183. package/dist/ralplan/advisory-activation.d.ts +34 -0
  184. package/dist/ralplan/advisory-activation.d.ts.map +1 -0
  185. package/dist/ralplan/advisory-activation.js +205 -0
  186. package/dist/ralplan/advisory-activation.js.map +1 -0
  187. package/dist/ralplan/advisory-contract.d.ts +103 -0
  188. package/dist/ralplan/advisory-contract.d.ts.map +1 -0
  189. package/dist/ralplan/advisory-contract.js +83 -0
  190. package/dist/ralplan/advisory-contract.js.map +1 -0
  191. package/dist/ralplan/advisory-detached-transition.d.ts +11 -0
  192. package/dist/ralplan/advisory-detached-transition.d.ts.map +1 -0
  193. package/dist/ralplan/advisory-detached-transition.js +21 -0
  194. package/dist/ralplan/advisory-detached-transition.js.map +1 -0
  195. package/dist/ralplan/advisory-evidence.d.ts +91 -0
  196. package/dist/ralplan/advisory-evidence.d.ts.map +1 -0
  197. package/dist/ralplan/advisory-evidence.js +393 -0
  198. package/dist/ralplan/advisory-evidence.js.map +1 -0
  199. package/dist/ralplan/advisory-lifecycle-validation.d.ts +11 -0
  200. package/dist/ralplan/advisory-lifecycle-validation.d.ts.map +1 -0
  201. package/dist/ralplan/advisory-lifecycle-validation.js +72 -0
  202. package/dist/ralplan/advisory-lifecycle-validation.js.map +1 -0
  203. package/dist/ralplan/advisory-postconditions.d.ts +3 -0
  204. package/dist/ralplan/advisory-postconditions.d.ts.map +1 -0
  205. package/dist/ralplan/advisory-postconditions.js +33 -0
  206. package/dist/ralplan/advisory-postconditions.js.map +1 -0
  207. package/dist/ralplan/advisory-recovery-journal.d.ts +56 -0
  208. package/dist/ralplan/advisory-recovery-journal.d.ts.map +1 -0
  209. package/dist/ralplan/advisory-recovery-journal.js +136 -0
  210. package/dist/ralplan/advisory-recovery-journal.js.map +1 -0
  211. package/dist/ralplan/advisory-storage.d.ts +24 -0
  212. package/dist/ralplan/advisory-storage.d.ts.map +1 -0
  213. package/dist/ralplan/advisory-storage.js +106 -0
  214. package/dist/ralplan/advisory-storage.js.map +1 -0
  215. package/dist/ralplan/advisory.d.ts +99 -0
  216. package/dist/ralplan/advisory.d.ts.map +1 -0
  217. package/dist/ralplan/advisory.js +914 -0
  218. package/dist/ralplan/advisory.js.map +1 -0
  219. package/dist/ralplan/documented-leader-preflight.d.ts +8 -0
  220. package/dist/ralplan/documented-leader-preflight.d.ts.map +1 -1
  221. package/dist/ralplan/documented-leader-preflight.js +60 -2
  222. package/dist/ralplan/documented-leader-preflight.js.map +1 -1
  223. package/dist/ralplan/runtime-advisory-lifecycle.d.ts +74 -0
  224. package/dist/ralplan/runtime-advisory-lifecycle.d.ts.map +1 -0
  225. package/dist/ralplan/runtime-advisory-lifecycle.js +352 -0
  226. package/dist/ralplan/runtime-advisory-lifecycle.js.map +1 -0
  227. package/dist/ralplan/runtime-contract.d.ts +126 -0
  228. package/dist/ralplan/runtime-contract.d.ts.map +1 -0
  229. package/dist/ralplan/runtime-contract.js +2 -0
  230. package/dist/ralplan/runtime-contract.js.map +1 -0
  231. package/dist/ralplan/runtime.d.ts +6 -109
  232. package/dist/ralplan/runtime.d.ts.map +1 -1
  233. package/dist/ralplan/runtime.js +174 -56
  234. package/dist/ralplan/runtime.js.map +1 -1
  235. package/dist/scripts/__tests__/postinstall.test.js +26 -0
  236. package/dist/scripts/__tests__/postinstall.test.js.map +1 -1
  237. package/dist/scripts/__tests__/ralplan-advisory-hook.test.d.ts +2 -0
  238. package/dist/scripts/__tests__/ralplan-advisory-hook.test.d.ts.map +1 -0
  239. package/dist/scripts/__tests__/ralplan-advisory-hook.test.js +299 -0
  240. package/dist/scripts/__tests__/ralplan-advisory-hook.test.js.map +1 -0
  241. package/dist/scripts/__tests__/smoke-packed-install.test.js +102 -8
  242. package/dist/scripts/__tests__/smoke-packed-install.test.js.map +1 -1
  243. package/dist/scripts/codex-native-hook.d.ts +20 -0
  244. package/dist/scripts/codex-native-hook.d.ts.map +1 -1
  245. package/dist/scripts/codex-native-hook.js +226 -15
  246. package/dist/scripts/codex-native-hook.js.map +1 -1
  247. package/dist/scripts/postinstall.d.ts +7 -0
  248. package/dist/scripts/postinstall.d.ts.map +1 -1
  249. package/dist/scripts/postinstall.js +40 -0
  250. package/dist/scripts/postinstall.js.map +1 -1
  251. package/dist/scripts/smoke-packed-install.d.ts +21 -5
  252. package/dist/scripts/smoke-packed-install.d.ts.map +1 -1
  253. package/dist/scripts/smoke-packed-install.js +157 -57
  254. package/dist/scripts/smoke-packed-install.js.map +1 -1
  255. package/dist/state/__tests__/mode-binding-lease.test.d.ts +2 -0
  256. package/dist/state/__tests__/mode-binding-lease.test.d.ts.map +1 -0
  257. package/dist/state/__tests__/mode-binding-lease.test.js +498 -0
  258. package/dist/state/__tests__/mode-binding-lease.test.js.map +1 -0
  259. package/dist/state/__tests__/operations.test.js +1 -0
  260. package/dist/state/__tests__/operations.test.js.map +1 -1
  261. package/dist/state/__tests__/pinned-atomic-file.test.d.ts +2 -0
  262. package/dist/state/__tests__/pinned-atomic-file.test.d.ts.map +1 -0
  263. package/dist/state/__tests__/pinned-atomic-file.test.js +438 -0
  264. package/dist/state/__tests__/pinned-atomic-file.test.js.map +1 -0
  265. package/dist/state/__tests__/skill-active-exact-session-transaction.test.d.ts +2 -0
  266. package/dist/state/__tests__/skill-active-exact-session-transaction.test.d.ts.map +1 -0
  267. package/dist/state/__tests__/skill-active-exact-session-transaction.test.js +179 -0
  268. package/dist/state/__tests__/skill-active-exact-session-transaction.test.js.map +1 -0
  269. package/dist/state/__tests__/skill-active.test.js +29 -1
  270. package/dist/state/__tests__/skill-active.test.js.map +1 -1
  271. package/dist/state/mode-binding-lease-helper.d.ts +2 -0
  272. package/dist/state/mode-binding-lease-helper.d.ts.map +1 -0
  273. package/dist/state/mode-binding-lease-helper.js +623 -0
  274. package/dist/state/mode-binding-lease-helper.js.map +1 -0
  275. package/dist/state/mode-binding-lease.d.ts +25 -0
  276. package/dist/state/mode-binding-lease.d.ts.map +1 -0
  277. package/dist/state/mode-binding-lease.js +380 -0
  278. package/dist/state/mode-binding-lease.js.map +1 -0
  279. package/dist/state/operations.d.ts +29 -1
  280. package/dist/state/operations.d.ts.map +1 -1
  281. package/dist/state/operations.js +203 -122
  282. package/dist/state/operations.js.map +1 -1
  283. package/dist/state/pinned-atomic-file-darwin-client.d.ts +34 -0
  284. package/dist/state/pinned-atomic-file-darwin-client.d.ts.map +1 -0
  285. package/dist/state/pinned-atomic-file-darwin-client.js +174 -0
  286. package/dist/state/pinned-atomic-file-darwin-client.js.map +1 -0
  287. package/dist/state/pinned-atomic-file-darwin-helper.d.ts +2 -0
  288. package/dist/state/pinned-atomic-file-darwin-helper.d.ts.map +1 -0
  289. package/dist/state/pinned-atomic-file-darwin-helper.js +275 -0
  290. package/dist/state/pinned-atomic-file-darwin-helper.js.map +1 -0
  291. package/dist/state/pinned-atomic-file-darwin-janitor.d.ts +2 -0
  292. package/dist/state/pinned-atomic-file-darwin-janitor.d.ts.map +1 -0
  293. package/dist/state/pinned-atomic-file-darwin-janitor.js +272 -0
  294. package/dist/state/pinned-atomic-file-darwin-janitor.js.map +1 -0
  295. package/dist/state/pinned-atomic-file.d.ts +29 -0
  296. package/dist/state/pinned-atomic-file.d.ts.map +1 -0
  297. package/dist/state/pinned-atomic-file.js +536 -0
  298. package/dist/state/pinned-atomic-file.js.map +1 -0
  299. package/dist/state/process-identity.d.ts +30 -0
  300. package/dist/state/process-identity.d.ts.map +1 -0
  301. package/dist/state/process-identity.js +99 -0
  302. package/dist/state/process-identity.js.map +1 -0
  303. package/dist/state/skill-active.d.ts +18 -1
  304. package/dist/state/skill-active.d.ts.map +1 -1
  305. package/dist/state/skill-active.js +82 -5
  306. package/dist/state/skill-active.js.map +1 -1
  307. package/dist/state/workflow-transition-reconcile.js +1 -1
  308. package/dist/state/workflow-transition-reconcile.js.map +1 -1
  309. package/dist/team/__tests__/tmux-session.test.js +109 -0
  310. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  311. package/dist/team/tmux-session.d.ts.map +1 -1
  312. package/dist/team/tmux-session.js +10 -1
  313. package/dist/team/tmux-session.js.map +1 -1
  314. package/dist/utils/__tests__/file-durability.test.js +20 -0
  315. package/dist/utils/__tests__/file-durability.test.js.map +1 -1
  316. package/dist/utils/file-durability.d.ts +1 -1
  317. package/dist/utils/file-durability.d.ts.map +1 -1
  318. package/dist/utils/file-durability.js.map +1 -1
  319. package/dist/verification/__tests__/ci-rust-gates.test.js +12 -4
  320. package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
  321. package/dist/verification/__tests__/ci-trusted-publish.test.d.ts +2 -0
  322. package/dist/verification/__tests__/ci-trusted-publish.test.d.ts.map +1 -0
  323. package/dist/verification/__tests__/ci-trusted-publish.test.js +205 -0
  324. package/dist/verification/__tests__/ci-trusted-publish.test.js.map +1 -0
  325. package/dist/verification/__tests__/explore-harness-release-workflow.test.js +10 -5
  326. package/dist/verification/__tests__/explore-harness-release-workflow.test.js.map +1 -1
  327. package/dist/verification/__tests__/publish-npm-manual-retired.test.d.ts +2 -0
  328. package/dist/verification/__tests__/publish-npm-manual-retired.test.d.ts.map +1 -0
  329. package/dist/verification/__tests__/publish-npm-manual-retired.test.js +22 -0
  330. package/dist/verification/__tests__/publish-npm-manual-retired.test.js.map +1 -0
  331. package/package.json +1 -1
  332. package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
  333. package/plugins/oh-my-codex/skills/doctor/SKILL.md +1 -1
  334. package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +1 -1
  335. package/plugins/oh-my-codex/skills/ralplan/SKILL.md +10 -1
  336. package/plugins/oh-my-codex/skills/team/SKILL.md +2 -0
  337. package/skills/doctor/SKILL.md +1 -1
  338. package/skills/omx-setup/SKILL.md +1 -1
  339. package/skills/ralplan/SKILL.md +10 -1
  340. package/skills/team/SKILL.md +2 -0
  341. package/src/scripts/__tests__/postinstall.test.ts +28 -0
  342. package/src/scripts/__tests__/ralplan-advisory-hook.test.ts +320 -0
  343. package/src/scripts/__tests__/smoke-packed-install.test.ts +120 -7
  344. package/src/scripts/codex-native-hook.ts +220 -10
  345. package/src/scripts/postinstall.ts +46 -0
  346. package/src/scripts/smoke-packed-install.ts +175 -70
@@ -0,0 +1,34 @@
1
+ import type { ChildProcessWithoutNullStreams } from 'node:child_process';
2
+ export declare class JsonChildClient {
3
+ readonly child: ChildProcessWithoutNullStreams;
4
+ private readonly label;
5
+ private readonly onEvent?;
6
+ private readonly onPendingChange?;
7
+ private buffered;
8
+ private nextRequestId;
9
+ private pending;
10
+ private initialResponse;
11
+ private terminalError;
12
+ private closePromise;
13
+ private exited;
14
+ private exitDescription;
15
+ private resolveExit;
16
+ private readonly exitPromise;
17
+ constructor(child: ChildProcessWithoutNullStreams, label: string, onEvent?: ((event: Record<string, unknown>) => void) | undefined, onPendingChange?: ((count: number) => void) | undefined);
18
+ private consume;
19
+ private reportPending;
20
+ private finish;
21
+ private waitForResponse;
22
+ initialize(options?: {
23
+ timeoutMs?: number;
24
+ }): Promise<Record<string, unknown>>;
25
+ request(value: Record<string, unknown>, options?: {
26
+ timeoutMs?: number;
27
+ }): Promise<Record<string, unknown>>;
28
+ isTerminal(): boolean;
29
+ close(): Promise<void>;
30
+ private closeChild;
31
+ }
32
+ /** Backward-compatible name for the Darwin pinned-file protocol. */
33
+ export { JsonChildClient as DarwinJsonChildClient };
34
+ //# sourceMappingURL=pinned-atomic-file-darwin-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-atomic-file-darwin-client.d.ts","sourceRoot":"","sources":["../../src/state/pinned-atomic-file-darwin-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAWzE,qBAAa,eAAe;IAaxB,QAAQ,CAAC,KAAK,EAAE,8BAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAfnC,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmE;IAE/F,YACW,KAAK,EAAE,8BAA8B,EAC7B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,aAAA,EAClD,eAAe,CAAC,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,aAAA,EAe3D;IAED,OAAO,CAAC,OAAO;IA6Bf,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,eAAe;IAoBjB,UAAU,CAAC,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAWvF;IAED,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQ9G;IAED,UAAU,IAAI,OAAO,CAAwC;IAE7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAIrB;YAEa,UAAU;CA0BzB;AAED,oEAAoE;AACpE,OAAO,EAAE,eAAe,IAAI,qBAAqB,EAAE,CAAC"}
@@ -0,0 +1,174 @@
1
+ const REQUEST_TIMEOUT_MS = 2_000;
2
+ const CLOSE_TIMEOUT_MS = 1_000;
3
+ export class JsonChildClient {
4
+ child;
5
+ label;
6
+ onEvent;
7
+ onPendingChange;
8
+ buffered = '';
9
+ nextRequestId = 1;
10
+ pending = new Map();
11
+ initialResponse = null;
12
+ terminalError = null;
13
+ closePromise = null;
14
+ exited = false;
15
+ exitDescription = 'unknown';
16
+ resolveExit;
17
+ exitPromise = new Promise((resolve) => { this.resolveExit = resolve; });
18
+ constructor(child, label, onEvent, onPendingChange) {
19
+ this.child = child;
20
+ this.label = label;
21
+ this.onEvent = onEvent;
22
+ this.onPendingChange = onPendingChange;
23
+ child.stderr.resume();
24
+ child.stdout.setEncoding('utf8');
25
+ child.stdout.on('data', (chunk) => this.consume(chunk));
26
+ child.once('error', (error) => this.finish(new Error(`${label} process error`, { cause: error })));
27
+ child.stdin.once('error', (error) => this.finish(new Error(`${label} stdin error`, { cause: error })));
28
+ child.once('exit', (code, signal) => {
29
+ this.exitDescription = String(code ?? signal ?? 'unknown');
30
+ });
31
+ child.once('close', () => {
32
+ this.exited = true;
33
+ this.finish(new Error(`${label} exited (${this.exitDescription})`));
34
+ this.resolveExit();
35
+ });
36
+ }
37
+ consume(chunk) {
38
+ this.buffered += chunk;
39
+ for (;;) {
40
+ const newline = this.buffered.indexOf('\n');
41
+ if (newline < 0)
42
+ return;
43
+ const line = this.buffered.slice(0, newline);
44
+ this.buffered = this.buffered.slice(newline + 1);
45
+ let response;
46
+ try {
47
+ response = JSON.parse(line);
48
+ }
49
+ catch (error) {
50
+ this.finish(new Error(`${this.label} emitted an invalid response`, { cause: error }));
51
+ this.child.kill('SIGKILL');
52
+ continue;
53
+ }
54
+ const id = response.id;
55
+ const waiter = typeof id === 'number' ? this.pending.get(id) : undefined;
56
+ if (!waiter) {
57
+ if (id === 0 && !this.initialResponse)
58
+ this.initialResponse = response;
59
+ if (response.event)
60
+ this.onEvent?.(response);
61
+ continue;
62
+ }
63
+ this.pending.delete(id);
64
+ clearTimeout(waiter.timer);
65
+ this.reportPending();
66
+ if (response.ok === true)
67
+ waiter.resolve(response);
68
+ else
69
+ waiter.reject(new Error(String(response.error ?? `${this.label} failed`)));
70
+ }
71
+ }
72
+ reportPending() {
73
+ this.onPendingChange?.(this.pending.size);
74
+ }
75
+ finish(error) {
76
+ if (!this.terminalError)
77
+ this.terminalError = error;
78
+ for (const waiter of this.pending.values()) {
79
+ clearTimeout(waiter.timer);
80
+ waiter.reject(this.terminalError);
81
+ }
82
+ this.pending.clear();
83
+ this.reportPending();
84
+ }
85
+ waitForResponse(id, timeoutMs = REQUEST_TIMEOUT_MS) {
86
+ if (this.terminalError)
87
+ return Promise.reject(this.terminalError);
88
+ return new Promise((resolve, reject) => {
89
+ const waiter = {
90
+ resolve,
91
+ reject,
92
+ timer: setTimeout(() => {
93
+ this.pending.delete(id);
94
+ const error = new Error(`${this.label} request timed out`);
95
+ reject(error);
96
+ this.reportPending();
97
+ this.finish(error);
98
+ this.child.kill('SIGKILL');
99
+ }, timeoutMs),
100
+ };
101
+ this.pending.set(id, waiter);
102
+ this.reportPending();
103
+ });
104
+ }
105
+ async initialize(options = {}) {
106
+ if (this.initialResponse) {
107
+ const response = this.initialResponse;
108
+ this.initialResponse = null;
109
+ if (response.ok !== true)
110
+ throw new Error(String(response.error ?? `${this.label} initialization failed`));
111
+ if (response.ready !== true)
112
+ throw new Error(`${this.label} initialization failed`);
113
+ return response;
114
+ }
115
+ const response = await this.waitForResponse(0, options.timeoutMs);
116
+ if (response.ready !== true)
117
+ throw new Error(`${this.label} initialization failed`);
118
+ return response;
119
+ }
120
+ request(value, options = {}) {
121
+ const id = this.nextRequestId++;
122
+ const response = this.waitForResponse(id, options.timeoutMs);
123
+ if (this.terminalError)
124
+ return response;
125
+ this.child.stdin.write(`${JSON.stringify({ id, ...value })}\n`, (error) => {
126
+ if (error)
127
+ this.finish(new Error(`${this.label} request write failed`, { cause: error }));
128
+ });
129
+ return response;
130
+ }
131
+ isTerminal() { return this.terminalError !== null; }
132
+ close() {
133
+ if (this.closePromise)
134
+ return this.closePromise;
135
+ this.closePromise = this.closeChild();
136
+ return this.closePromise;
137
+ }
138
+ async closeChild() {
139
+ let closeError = null;
140
+ if (!this.terminalError) {
141
+ try {
142
+ await this.request({ op: 'close' });
143
+ }
144
+ catch (error) {
145
+ closeError = error instanceof Error ? error : new Error(String(error));
146
+ }
147
+ }
148
+ this.child.stdin.end();
149
+ if (this.exited) {
150
+ if (closeError)
151
+ throw closeError;
152
+ return;
153
+ }
154
+ const exitedGracefully = await Promise.race([
155
+ this.exitPromise.then(() => true),
156
+ new Promise((resolve) => setTimeout(() => resolve(false), CLOSE_TIMEOUT_MS)),
157
+ ]);
158
+ if (exitedGracefully) {
159
+ if (closeError)
160
+ throw closeError;
161
+ return;
162
+ }
163
+ this.child.kill('SIGKILL');
164
+ await Promise.race([
165
+ this.exitPromise,
166
+ new Promise((resolve) => setTimeout(resolve, CLOSE_TIMEOUT_MS)),
167
+ ]);
168
+ if (closeError)
169
+ throw closeError;
170
+ }
171
+ }
172
+ /** Backward-compatible name for the Darwin pinned-file protocol. */
173
+ export { JsonChildClient as DarwinJsonChildClient };
174
+ //# sourceMappingURL=pinned-atomic-file-darwin-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-atomic-file-darwin-client.js","sourceRoot":"","sources":["../../src/state/pinned-atomic-file-darwin-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pinned-atomic-file-darwin-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-atomic-file-darwin-helper.d.ts","sourceRoot":"","sources":["../../src/state/pinned-atomic-file-darwin-helper.ts"],"names":[],"mappings":""}
@@ -0,0 +1,275 @@
1
+ import { constants as fsConstants } from 'node:fs';
2
+ import { lstat, open, rename, unlink } from 'node:fs/promises';
3
+ import { basename } from 'node:path';
4
+ import { createInterface } from 'node:readline';
5
+ const [name = '', expectedParentDev = '', expectedParentIno = '', transactionNonce = ''] = process.argv.slice(2);
6
+ if (!name || basename(name) !== name || !expectedParentDev || !expectedParentIno || !transactionNonce) {
7
+ throw new Error('invalid pinned Darwin helper arguments');
8
+ }
9
+ let expectedIdentity = null;
10
+ let expectedBytes = null;
11
+ let staged = null;
12
+ function respond(value) {
13
+ process.stdout.write(`${JSON.stringify(value)}\n`);
14
+ }
15
+ async function assertParent() {
16
+ const visible = await lstat('.');
17
+ const opened = await open('.', fsConstants.O_RDONLY | fsConstants.O_DIRECTORY);
18
+ try {
19
+ const pinned = await opened.stat();
20
+ if (!visible.isDirectory() || visible.isSymbolicLink()
21
+ || String(visible.dev) !== expectedParentDev || String(visible.ino) !== expectedParentIno
22
+ || visible.dev !== pinned.dev || visible.ino !== pinned.ino) {
23
+ throw new Error('parent-changed');
24
+ }
25
+ }
26
+ finally {
27
+ await opened.close();
28
+ }
29
+ }
30
+ function sameIdentity(value, expected) {
31
+ return value.isFile() && !value.isSymbolicLink() && value.nlink === 1
32
+ && value.dev === expected.dev && value.ino === expected.ino && value.size === expected.size
33
+ && value.mtimeMs === expected.mtimeMs && value.ctimeMs === expected.ctimeMs;
34
+ }
35
+ async function readCurrent() {
36
+ let handle = null;
37
+ try {
38
+ handle = await open(name, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW);
39
+ const before = await handle.stat();
40
+ const visible = await lstat(name);
41
+ if (!before.isFile() || before.nlink !== 1 || !visible.isFile() || visible.isSymbolicLink()
42
+ || visible.nlink !== 1 || before.dev !== visible.dev || before.ino !== visible.ino) {
43
+ throw new Error('file-invalid');
44
+ }
45
+ const bytes = await handle.readFile();
46
+ const after = await handle.stat();
47
+ if (after.size !== before.size || after.mtimeMs !== before.mtimeMs || after.ctimeMs !== before.ctimeMs
48
+ || bytes.length !== before.size)
49
+ throw new Error('file-changed');
50
+ return {
51
+ bytes,
52
+ identity: {
53
+ dev: before.dev, ino: before.ino, size: before.size,
54
+ mtimeMs: before.mtimeMs, ctimeMs: before.ctimeMs,
55
+ },
56
+ };
57
+ }
58
+ finally {
59
+ await handle?.close();
60
+ }
61
+ }
62
+ async function snapshot() {
63
+ await assertParent();
64
+ try {
65
+ const current = await readCurrent();
66
+ expectedIdentity = current.identity;
67
+ expectedBytes = current.bytes;
68
+ return current.bytes;
69
+ }
70
+ catch (error) {
71
+ if (error.code !== 'ENOENT')
72
+ throw error;
73
+ expectedIdentity = null;
74
+ expectedBytes = null;
75
+ return null;
76
+ }
77
+ }
78
+ async function refreshExpected(encoded) {
79
+ await assertParent();
80
+ const expected = encoded === null ? null : Buffer.from(encoded, 'base64');
81
+ let current;
82
+ try {
83
+ current = await readCurrent();
84
+ }
85
+ catch (error) {
86
+ if (error.code !== 'ENOENT')
87
+ throw error;
88
+ current = null;
89
+ }
90
+ if ((current === null) !== (expected === null) || (current && expected && !current.bytes.equals(expected))) {
91
+ throw new Error('recovered-file-changed');
92
+ }
93
+ expectedIdentity = current?.identity ?? null;
94
+ expectedBytes = current?.bytes ?? null;
95
+ }
96
+ async function assertCurrent() {
97
+ await assertParent();
98
+ if (!expectedIdentity) {
99
+ try {
100
+ await lstat(name);
101
+ }
102
+ catch (error) {
103
+ if (error.code === 'ENOENT')
104
+ return;
105
+ throw error;
106
+ }
107
+ throw new Error('file-appeared');
108
+ }
109
+ const current = await readCurrent();
110
+ if (!sameIdentity(await lstat(name), expectedIdentity)
111
+ || current.identity.dev !== expectedIdentity.dev || current.identity.ino !== expectedIdentity.ino
112
+ || current.identity.size !== expectedIdentity.size || current.identity.mtimeMs !== expectedIdentity.mtimeMs
113
+ || current.identity.ctimeMs !== expectedIdentity.ctimeMs || !current.bytes.equals(expectedBytes)) {
114
+ throw new Error('file-changed');
115
+ }
116
+ }
117
+ async function syncParent() {
118
+ const parent = await open('.', fsConstants.O_RDONLY | fsConstants.O_DIRECTORY);
119
+ try {
120
+ await parent.sync();
121
+ }
122
+ finally {
123
+ await parent.close();
124
+ }
125
+ }
126
+ function assertTempName(temp) {
127
+ if (basename(temp) !== temp || !temp.startsWith(`.${name}.tmp-${transactionNonce}-`)) {
128
+ throw new Error('invalid temp name');
129
+ }
130
+ }
131
+ async function stage(bytes, temp) {
132
+ if (staged)
133
+ throw new Error('stage already active');
134
+ await assertCurrent();
135
+ assertTempName(temp);
136
+ let handle = null;
137
+ try {
138
+ handle = await open(temp, fsConstants.O_WRONLY | fsConstants.O_CREAT | fsConstants.O_EXCL | fsConstants.O_NOFOLLOW, 0o600);
139
+ const opened = await handle.stat();
140
+ respond({
141
+ event: 'temp-opened', temp,
142
+ identity: { dev: opened.dev, ino: opened.ino, size: opened.size, mtimeMs: opened.mtimeMs, ctimeMs: opened.ctimeMs },
143
+ });
144
+ await handle.writeFile(bytes);
145
+ await handle.sync();
146
+ await handle.close();
147
+ handle = null;
148
+ if (expectedIdentity && !sameIdentity(await lstat(name), expectedIdentity))
149
+ throw new Error('file-changed');
150
+ const tempVisible = await lstat(temp);
151
+ const identity = {
152
+ dev: tempVisible.dev, ino: tempVisible.ino, size: tempVisible.size,
153
+ mtimeMs: tempVisible.mtimeMs, ctimeMs: tempVisible.ctimeMs,
154
+ };
155
+ staged = { temp, bytes, identity };
156
+ return identity;
157
+ }
158
+ finally {
159
+ await handle?.close().catch(() => undefined);
160
+ if (!staged)
161
+ await unlink(temp).catch(() => undefined);
162
+ }
163
+ }
164
+ async function commit(pause) {
165
+ if (!staged)
166
+ throw new Error('stage missing');
167
+ await assertCurrent();
168
+ const tempHandle = await open(staged.temp, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW);
169
+ try {
170
+ const before = await tempHandle.stat();
171
+ const bytes = await tempHandle.readFile();
172
+ const after = await tempHandle.stat();
173
+ if (!sameIdentity(await lstat(staged.temp), staged.identity)
174
+ || before.dev !== staged.identity.dev || before.ino !== staged.identity.ino
175
+ || before.size !== after.size || before.mtimeMs !== after.mtimeMs || before.ctimeMs !== after.ctimeMs
176
+ || !bytes.equals(staged.bytes))
177
+ throw new Error('staged-temp-changed');
178
+ }
179
+ finally {
180
+ await tempHandle.close();
181
+ }
182
+ await rename(staged.temp, name);
183
+ await syncParent();
184
+ const committed = await lstat(name);
185
+ expectedIdentity = {
186
+ dev: committed.dev, ino: committed.ino, size: committed.size,
187
+ mtimeMs: committed.mtimeMs, ctimeMs: committed.ctimeMs,
188
+ };
189
+ expectedBytes = staged.bytes;
190
+ staged = null;
191
+ respond({ event: 'renamed', identity: expectedIdentity });
192
+ if (pause)
193
+ await new Promise(() => undefined);
194
+ }
195
+ async function abort() {
196
+ if (!staged)
197
+ return;
198
+ await unlink(staged.temp).catch((error) => {
199
+ if (error.code !== 'ENOENT')
200
+ throw error;
201
+ });
202
+ staged = null;
203
+ await syncParent();
204
+ }
205
+ async function stageRemove(temp, pause) {
206
+ if (!expectedIdentity || expectedBytes === null)
207
+ throw new Error('remove target missing');
208
+ assertTempName(temp);
209
+ await assertCurrent();
210
+ await rename(name, temp);
211
+ await syncParent();
212
+ const removed = await lstat(temp);
213
+ const identity = {
214
+ dev: removed.dev, ino: removed.ino, size: removed.size,
215
+ mtimeMs: removed.mtimeMs, ctimeMs: removed.ctimeMs,
216
+ };
217
+ expectedIdentity = null;
218
+ expectedBytes = null;
219
+ respond({ event: 'removed', identity });
220
+ if (pause)
221
+ await new Promise(() => undefined);
222
+ return identity;
223
+ }
224
+ async function main() {
225
+ const initial = await snapshot();
226
+ respond({ id: 0, ok: true, ready: true, data: initial?.toString('base64') ?? null });
227
+ const input = createInterface({ input: process.stdin, crlfDelay: Infinity });
228
+ for await (const line of input) {
229
+ let request;
230
+ try {
231
+ request = JSON.parse(line);
232
+ if (!Number.isSafeInteger(request.id) || request.id <= 0)
233
+ throw new Error('invalid request id');
234
+ let result = {};
235
+ if (request.op === 'stage') {
236
+ if (typeof request.data !== 'string' || typeof request.temp !== 'string')
237
+ throw new Error('replace data missing');
238
+ result = { identity: await stage(Buffer.from(request.data, 'base64'), request.temp) };
239
+ }
240
+ else if (request.op === 'commit') {
241
+ await commit(request.pause === true);
242
+ }
243
+ else if (request.op === 'abort') {
244
+ await abort();
245
+ }
246
+ else if (request.op === 'remove-stage') {
247
+ if (typeof request.temp !== 'string')
248
+ throw new Error('remove temp missing');
249
+ result = { identity: await stageRemove(request.temp, request.pause === true) };
250
+ }
251
+ else if (request.op === 'assert-current') {
252
+ await assertCurrent();
253
+ }
254
+ else if (request.op === 'refresh') {
255
+ if (request.data !== null && typeof request.data !== 'string')
256
+ throw new Error('refresh data missing');
257
+ await refreshExpected(request.data);
258
+ }
259
+ else if (request.op !== 'close') {
260
+ throw new Error('invalid operation');
261
+ }
262
+ respond({ id: request.id, ok: true, ...result });
263
+ if (request.op === 'close')
264
+ return;
265
+ }
266
+ catch (error) {
267
+ respond({ id: request?.id ?? -1, ok: false, error: String(error.message ?? error) });
268
+ }
269
+ }
270
+ }
271
+ main().catch((error) => {
272
+ respond({ id: 0, ok: false, error: String(error.message ?? error) });
273
+ process.exitCode = 1;
274
+ });
275
+ //# sourceMappingURL=pinned-atomic-file-darwin-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-atomic-file-darwin-helper.js","sourceRoot":"","sources":["../../src/state/pinned-atomic-file-darwin-helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pinned-atomic-file-darwin-janitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pinned-atomic-file-darwin-janitor.d.ts","sourceRoot":"","sources":["../../src/state/pinned-atomic-file-darwin-janitor.ts"],"names":[],"mappings":""}