@bryanhu/codexly 0.26.0 → 0.26.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 (240) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +2 -0
  3. package/README.zh-CN.md +2 -0
  4. package/dist/{chunk-SVPC5JYN.js → chunk-FX332BZJ.js} +295 -173
  5. package/dist/{chunk-WP6LVYP6.js → chunk-GGX2MAHU.js} +1 -1
  6. package/dist/cli.js +3 -3
  7. package/dist/providers/codex/index.js +1 -1
  8. package/dist/server/index.js +2 -2
  9. package/dist/web/.vite/manifest.json +123 -129
  10. package/dist/web/.vite/manifest.json.br +0 -0
  11. package/dist/web/.vite/manifest.json.gz +0 -0
  12. package/dist/web/assets/{agent-settings-panel-3vNJzYxy.js → agent-settings-panel-8_RUBhs0.js} +1 -1
  13. package/dist/web/assets/agent-settings-panel-8_RUBhs0.js.br +0 -0
  14. package/dist/web/assets/agent-settings-panel-8_RUBhs0.js.gz +0 -0
  15. package/dist/web/assets/attachments-udHAnE7I.js +1 -0
  16. package/dist/web/assets/attachments-udHAnE7I.js.br +0 -0
  17. package/dist/web/assets/attachments-udHAnE7I.js.gz +0 -0
  18. package/dist/web/assets/{background-image-picker-BnN4byHx.js → background-image-picker-Df3_zQb2.js} +1 -1
  19. package/dist/web/assets/background-image-picker-Df3_zQb2.js.br +0 -0
  20. package/dist/web/assets/background-image-picker-Df3_zQb2.js.gz +0 -0
  21. package/dist/web/assets/{bing-wallpaper-queries-DBfS-J9B.js → bing-wallpaper-queries-DVucugQO.js} +1 -1
  22. package/dist/web/assets/bing-wallpaper-queries-DVucugQO.js.br +0 -0
  23. package/dist/web/assets/bing-wallpaper-queries-DVucugQO.js.gz +0 -0
  24. package/dist/web/assets/{button-group-D12I7ve_.js → button-group-CirVWfjl.js} +1 -1
  25. package/dist/web/assets/button-group-CirVWfjl.js.br +0 -0
  26. package/dist/web/assets/button-group-CirVWfjl.js.gz +0 -0
  27. package/dist/web/assets/{code-block-D1uYiL_F.js → code-block-DLfTLy00.js} +1 -1
  28. package/dist/web/assets/code-block-DLfTLy00.js.br +0 -0
  29. package/dist/web/assets/code-block-DLfTLy00.js.gz +0 -0
  30. package/dist/web/assets/{commit-settings-panel-BL8cUz7m.js → commit-settings-panel-BP7fUf97.js} +1 -1
  31. package/dist/web/assets/commit-settings-panel-BP7fUf97.js.br +0 -0
  32. package/dist/web/assets/commit-settings-panel-BP7fUf97.js.gz +0 -0
  33. package/dist/web/assets/{context-menu-DTan8DZT.js → context-menu-BfQCu_3I.js} +1 -1
  34. package/dist/web/assets/context-menu-BfQCu_3I.js.br +0 -0
  35. package/dist/web/assets/context-menu-BfQCu_3I.js.gz +0 -0
  36. package/dist/web/assets/{file-review-dialog-C8FuVq6z.js → file-review-dialog-DmW8vvTf.js} +1 -1
  37. package/dist/web/assets/file-review-dialog-DmW8vvTf.js.br +0 -0
  38. package/dist/web/assets/file-review-dialog-DmW8vvTf.js.gz +0 -0
  39. package/dist/web/assets/{git-history-panel-S8KZ3GRO.js → git-history-panel-5IJPBbLW.js} +1 -1
  40. package/dist/web/assets/git-history-panel-5IJPBbLW.js.br +0 -0
  41. package/dist/web/assets/git-history-panel-5IJPBbLW.js.gz +0 -0
  42. package/dist/web/assets/{global-search-dialog-B2A_CKa6.js → global-search-dialog-DqzqxQHS.js} +2 -2
  43. package/dist/web/assets/global-search-dialog-DqzqxQHS.js.br +0 -0
  44. package/dist/web/assets/global-search-dialog-DqzqxQHS.js.gz +0 -0
  45. package/dist/web/assets/{global-settings-about-C4XFeahF.js → global-settings-about-7PSpoz5W.js} +1 -1
  46. package/dist/web/assets/global-settings-about-7PSpoz5W.js.br +0 -0
  47. package/dist/web/assets/global-settings-about-7PSpoz5W.js.gz +0 -0
  48. package/dist/web/assets/{global-settings-fields-1OYz34rQ.js → global-settings-fields-xvQeQJr1.js} +1 -1
  49. package/dist/web/assets/global-settings-fields-xvQeQJr1.js.br +0 -0
  50. package/dist/web/assets/global-settings-fields-xvQeQJr1.js.gz +0 -0
  51. package/dist/web/assets/{global-settings-model-CkNPJqQo.js → global-settings-model-DMYn1Bt6.js} +1 -1
  52. package/dist/web/assets/global-settings-model-DMYn1Bt6.js.br +0 -0
  53. package/dist/web/assets/global-settings-model-DMYn1Bt6.js.gz +0 -0
  54. package/dist/web/assets/{global-settings-page-DxD6yU4k.js → global-settings-page-C6T65JVw.js} +2 -2
  55. package/dist/web/assets/global-settings-page-C6T65JVw.js.br +0 -0
  56. package/dist/web/assets/global-settings-page-C6T65JVw.js.gz +0 -0
  57. package/dist/web/assets/{global-settings-pets-dz0Z49Au.js → global-settings-pets-TOCiCPMA.js} +1 -1
  58. package/dist/web/assets/global-settings-pets-TOCiCPMA.js.br +0 -0
  59. package/dist/web/assets/global-settings-pets-TOCiCPMA.js.gz +0 -0
  60. package/dist/web/assets/{history-task-timeline-CXIVfjfN.js → history-task-timeline-BjSZCOe5.js} +1 -1
  61. package/dist/web/assets/history-task-timeline-BjSZCOe5.js.br +0 -0
  62. package/dist/web/assets/history-task-timeline-BjSZCOe5.js.gz +0 -0
  63. package/dist/web/assets/index-Bh1ViCgq.css +2 -0
  64. package/dist/web/assets/index-Bh1ViCgq.css.br +0 -0
  65. package/dist/web/assets/index-Bh1ViCgq.css.gz +0 -0
  66. package/dist/web/assets/index-DulCmWgc.js +4 -0
  67. package/dist/web/assets/index-DulCmWgc.js.br +0 -0
  68. package/dist/web/assets/index-DulCmWgc.js.gz +0 -0
  69. package/dist/web/assets/{installed-skills-pane-DrDfE7aK.js → installed-skills-pane-B4PSRw8n.js} +1 -1
  70. package/dist/web/assets/installed-skills-pane-B4PSRw8n.js.br +0 -0
  71. package/dist/web/assets/installed-skills-pane-B4PSRw8n.js.gz +0 -0
  72. package/dist/web/assets/lazy-message-response-C6MEVPZ6.js +2 -0
  73. package/dist/web/assets/lazy-message-response-C6MEVPZ6.js.br +0 -0
  74. package/dist/web/assets/lazy-message-response-C6MEVPZ6.js.gz +0 -0
  75. package/dist/web/assets/{mcp-management-pane-B-KELtkr.js → mcp-management-pane-DISZ6zAo.js} +1 -1
  76. package/dist/web/assets/mcp-management-pane-DISZ6zAo.js.br +0 -0
  77. package/dist/web/assets/mcp-management-pane-DISZ6zAo.js.gz +0 -0
  78. package/dist/web/assets/{message-response-9LYhGlVh.js → message-response-COcV-sme.js} +2 -2
  79. package/dist/web/assets/message-response-COcV-sme.js.br +0 -0
  80. package/dist/web/assets/message-response-COcV-sme.js.gz +0 -0
  81. package/dist/web/assets/{official-plugins-pane-stB5fq6p.js → official-plugins-pane-DZXRsviv.js} +1 -1
  82. package/dist/web/assets/official-plugins-pane-DZXRsviv.js.br +0 -0
  83. package/dist/web/assets/official-plugins-pane-DZXRsviv.js.gz +0 -0
  84. package/dist/web/assets/{personalization-settings-panel-DRNKBGTV.js → personalization-settings-panel-DPn5C34w.js} +1 -1
  85. package/dist/web/assets/personalization-settings-panel-DPn5C34w.js.br +0 -0
  86. package/dist/web/assets/personalization-settings-panel-DPn5C34w.js.gz +0 -0
  87. package/dist/web/assets/{project-file-popup-page-BRFUG0CW.js → project-file-popup-page-Ck0bKSWm.js} +1 -1
  88. package/dist/web/assets/project-file-popup-page-Ck0bKSWm.js.br +0 -0
  89. package/dist/web/assets/project-file-popup-page-Ck0bKSWm.js.gz +0 -0
  90. package/dist/web/assets/{project-source-dialog-D1KMgF48.js → project-source-dialog-B-MQYJ3E.js} +1 -1
  91. package/dist/web/assets/project-source-dialog-B-MQYJ3E.js.br +0 -0
  92. package/dist/web/assets/project-source-dialog-B-MQYJ3E.js.gz +0 -0
  93. package/dist/web/assets/{project-source-panel-bumoDklb.js → project-source-panel-CsLDvhDw.js} +1 -1
  94. package/dist/web/assets/project-source-panel-CsLDvhDw.js.br +0 -0
  95. package/dist/web/assets/project-source-panel-CsLDvhDw.js.gz +0 -0
  96. package/dist/web/assets/{prompt-input-CXZBM7yg.js → prompt-input-CDL7WoS0.js} +1 -1
  97. package/dist/web/assets/prompt-input-CDL7WoS0.js.br +0 -0
  98. package/dist/web/assets/prompt-input-CDL7WoS0.js.gz +0 -0
  99. package/dist/web/assets/prompt-input-controls-QVtFSyXt.js +1 -0
  100. package/dist/web/assets/prompt-input-controls-QVtFSyXt.js.br +0 -0
  101. package/dist/web/assets/prompt-input-controls-QVtFSyXt.js.gz +0 -0
  102. package/dist/web/assets/{message-file-download-B0Yykdg4.js → prompt-reference-token-B6xz1rK0.js} +1 -1
  103. package/dist/web/assets/prompt-reference-token-B6xz1rK0.js.br +0 -0
  104. package/dist/web/assets/prompt-reference-token-B6xz1rK0.js.gz +0 -0
  105. package/dist/web/assets/{scheduled-task-date-time-picker-D5kkkH0J.js → scheduled-task-date-time-picker-Bz4CMtuJ.js} +1 -1
  106. package/dist/web/assets/scheduled-task-date-time-picker-Bz4CMtuJ.js.br +0 -0
  107. package/dist/web/assets/scheduled-task-date-time-picker-Bz4CMtuJ.js.gz +0 -0
  108. package/dist/web/assets/{scheduled-task-schedule-bzu0AAs6.js → scheduled-task-schedule-WjXySwP5.js} +1 -1
  109. package/dist/web/assets/scheduled-task-schedule-WjXySwP5.js.br +0 -0
  110. package/dist/web/assets/scheduled-task-schedule-WjXySwP5.js.gz +0 -0
  111. package/dist/web/assets/{scheduled-tasks-container-CkBw4tiQ.js → scheduled-tasks-container-CRRPfXJV.js} +2 -2
  112. package/dist/web/assets/scheduled-tasks-container-CRRPfXJV.js.br +0 -0
  113. package/dist/web/assets/scheduled-tasks-container-CRRPfXJV.js.gz +0 -0
  114. package/dist/web/assets/{settings-personalization-pnuLPt34.js → settings-personalization-r7Vj4sxv.js} +1 -1
  115. package/dist/web/assets/settings-personalization-r7Vj4sxv.js.br +0 -0
  116. package/dist/web/assets/settings-personalization-r7Vj4sxv.js.gz +0 -0
  117. package/dist/web/assets/{sheet-DiMxIv8P.js → sheet-CT_gmFL4.js} +1 -1
  118. package/dist/web/assets/sheet-CT_gmFL4.js.br +0 -0
  119. package/dist/web/assets/sheet-CT_gmFL4.js.gz +0 -0
  120. package/dist/web/assets/{skills-market-container-D-EJNYqj.js → skills-market-container-Diw6kUxR.js} +2 -2
  121. package/dist/web/assets/skills-market-container-Diw6kUxR.js.br +0 -0
  122. package/dist/web/assets/skills-market-container-Diw6kUxR.js.gz +0 -0
  123. package/dist/web/assets/task-timeline-store-jFYcKgsk.js +6 -0
  124. package/dist/web/assets/task-timeline-store-jFYcKgsk.js.br +0 -0
  125. package/dist/web/assets/task-timeline-store-jFYcKgsk.js.gz +0 -0
  126. package/dist/web/assets/{third-party-marketplace-pane-rC9NGfhR.js → third-party-marketplace-pane-BZREKs5z.js} +1 -1
  127. package/dist/web/assets/third-party-marketplace-pane-BZREKs5z.js.br +0 -0
  128. package/dist/web/assets/third-party-marketplace-pane-BZREKs5z.js.gz +0 -0
  129. package/dist/web/assets/workbench-composer-B4cbples.js +4 -0
  130. package/dist/web/assets/workbench-composer-B4cbples.js.br +0 -0
  131. package/dist/web/assets/workbench-composer-B4cbples.js.gz +0 -0
  132. package/dist/web/assets/{workbench-inspector-changes-lyYWVbsH.js → workbench-inspector-changes-CqCm9o_7.js} +2 -2
  133. package/dist/web/assets/workbench-inspector-changes-CqCm9o_7.js.br +0 -0
  134. package/dist/web/assets/workbench-inspector-changes-CqCm9o_7.js.gz +0 -0
  135. package/dist/web/assets/{workbench-pet-canvas-GtLypdG1.js → workbench-pet-canvas-BOk8JcmK.js} +1 -1
  136. package/dist/web/assets/workbench-pet-canvas-BOk8JcmK.js.br +0 -0
  137. package/dist/web/assets/workbench-pet-canvas-BOk8JcmK.js.gz +0 -0
  138. package/dist/web/assets/{workbench-shell-L9PpBWL7.js → workbench-shell-BNNM6Nh_.js} +3 -3
  139. package/dist/web/assets/workbench-shell-BNNM6Nh_.js.br +0 -0
  140. package/dist/web/assets/workbench-shell-BNNM6Nh_.js.gz +0 -0
  141. package/dist/web/index.html +2 -2
  142. package/dist/web/index.html.br +0 -0
  143. package/dist/web/index.html.gz +0 -0
  144. package/package.json +4 -3
  145. package/dist/web/assets/agent-settings-panel-3vNJzYxy.js.br +0 -0
  146. package/dist/web/assets/agent-settings-panel-3vNJzYxy.js.gz +0 -0
  147. package/dist/web/assets/attachments-BF0J6h1n.js +0 -1
  148. package/dist/web/assets/attachments-BF0J6h1n.js.br +0 -0
  149. package/dist/web/assets/attachments-BF0J6h1n.js.gz +0 -0
  150. package/dist/web/assets/background-image-picker-BnN4byHx.js.br +0 -0
  151. package/dist/web/assets/background-image-picker-BnN4byHx.js.gz +0 -0
  152. package/dist/web/assets/bing-wallpaper-queries-DBfS-J9B.js.br +0 -0
  153. package/dist/web/assets/bing-wallpaper-queries-DBfS-J9B.js.gz +0 -0
  154. package/dist/web/assets/button-group-D12I7ve_.js.br +0 -0
  155. package/dist/web/assets/button-group-D12I7ve_.js.gz +0 -0
  156. package/dist/web/assets/code-block-D1uYiL_F.js.br +0 -0
  157. package/dist/web/assets/code-block-D1uYiL_F.js.gz +0 -0
  158. package/dist/web/assets/commit-settings-panel-BL8cUz7m.js.br +0 -0
  159. package/dist/web/assets/commit-settings-panel-BL8cUz7m.js.gz +0 -0
  160. package/dist/web/assets/context-menu-DTan8DZT.js.br +0 -0
  161. package/dist/web/assets/context-menu-DTan8DZT.js.gz +0 -0
  162. package/dist/web/assets/file-review-dialog-C8FuVq6z.js.br +0 -0
  163. package/dist/web/assets/file-review-dialog-C8FuVq6z.js.gz +0 -0
  164. package/dist/web/assets/git-history-panel-S8KZ3GRO.js.br +0 -0
  165. package/dist/web/assets/git-history-panel-S8KZ3GRO.js.gz +0 -0
  166. package/dist/web/assets/global-search-dialog-B2A_CKa6.js.br +0 -0
  167. package/dist/web/assets/global-search-dialog-B2A_CKa6.js.gz +0 -0
  168. package/dist/web/assets/global-settings-about-C4XFeahF.js.br +0 -0
  169. package/dist/web/assets/global-settings-about-C4XFeahF.js.gz +0 -0
  170. package/dist/web/assets/global-settings-fields-1OYz34rQ.js.br +0 -0
  171. package/dist/web/assets/global-settings-fields-1OYz34rQ.js.gz +0 -0
  172. package/dist/web/assets/global-settings-model-CkNPJqQo.js.br +0 -0
  173. package/dist/web/assets/global-settings-model-CkNPJqQo.js.gz +0 -0
  174. package/dist/web/assets/global-settings-page-DxD6yU4k.js.br +0 -0
  175. package/dist/web/assets/global-settings-page-DxD6yU4k.js.gz +0 -0
  176. package/dist/web/assets/global-settings-pets-dz0Z49Au.js.br +0 -0
  177. package/dist/web/assets/global-settings-pets-dz0Z49Au.js.gz +0 -0
  178. package/dist/web/assets/history-task-timeline-CXIVfjfN.js.br +0 -0
  179. package/dist/web/assets/history-task-timeline-CXIVfjfN.js.gz +0 -0
  180. package/dist/web/assets/index-D-vXfAxU.css +0 -2
  181. package/dist/web/assets/index-D-vXfAxU.css.br +0 -0
  182. package/dist/web/assets/index-D-vXfAxU.css.gz +0 -0
  183. package/dist/web/assets/index-DvbRlATw.js +0 -4
  184. package/dist/web/assets/index-DvbRlATw.js.br +0 -0
  185. package/dist/web/assets/index-DvbRlATw.js.gz +0 -0
  186. package/dist/web/assets/installed-skills-pane-DrDfE7aK.js.br +0 -0
  187. package/dist/web/assets/installed-skills-pane-DrDfE7aK.js.gz +0 -0
  188. package/dist/web/assets/lazy-message-response-DaxWaQQB.js +0 -2
  189. package/dist/web/assets/lazy-message-response-DaxWaQQB.js.br +0 -0
  190. package/dist/web/assets/lazy-message-response-DaxWaQQB.js.gz +0 -0
  191. package/dist/web/assets/mcp-management-pane-B-KELtkr.js.br +0 -0
  192. package/dist/web/assets/mcp-management-pane-B-KELtkr.js.gz +0 -0
  193. package/dist/web/assets/message-file-download-B0Yykdg4.js.br +0 -1
  194. package/dist/web/assets/message-file-download-B0Yykdg4.js.gz +0 -0
  195. package/dist/web/assets/message-response-9LYhGlVh.js.br +0 -0
  196. package/dist/web/assets/message-response-9LYhGlVh.js.gz +0 -0
  197. package/dist/web/assets/official-plugins-pane-stB5fq6p.js.br +0 -0
  198. package/dist/web/assets/official-plugins-pane-stB5fq6p.js.gz +0 -0
  199. package/dist/web/assets/personalization-settings-panel-DRNKBGTV.js.br +0 -0
  200. package/dist/web/assets/personalization-settings-panel-DRNKBGTV.js.gz +0 -0
  201. package/dist/web/assets/project-file-popup-page-BRFUG0CW.js.br +0 -0
  202. package/dist/web/assets/project-file-popup-page-BRFUG0CW.js.gz +0 -0
  203. package/dist/web/assets/project-source-dialog-D1KMgF48.js.br +0 -0
  204. package/dist/web/assets/project-source-dialog-D1KMgF48.js.gz +0 -0
  205. package/dist/web/assets/project-source-panel-bumoDklb.js.br +0 -0
  206. package/dist/web/assets/project-source-panel-bumoDklb.js.gz +0 -0
  207. package/dist/web/assets/prompt-input-CXZBM7yg.js.br +0 -0
  208. package/dist/web/assets/prompt-input-CXZBM7yg.js.gz +0 -0
  209. package/dist/web/assets/prompt-input-controls-DDBFb1Bv.js +0 -1
  210. package/dist/web/assets/prompt-input-controls-DDBFb1Bv.js.br +0 -0
  211. package/dist/web/assets/prompt-input-controls-DDBFb1Bv.js.gz +0 -0
  212. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js +0 -1
  213. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.br +0 -0
  214. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.gz +0 -0
  215. package/dist/web/assets/scheduled-task-date-time-picker-D5kkkH0J.js.br +0 -0
  216. package/dist/web/assets/scheduled-task-date-time-picker-D5kkkH0J.js.gz +0 -0
  217. package/dist/web/assets/scheduled-task-schedule-bzu0AAs6.js.br +0 -0
  218. package/dist/web/assets/scheduled-task-schedule-bzu0AAs6.js.gz +0 -0
  219. package/dist/web/assets/scheduled-tasks-container-CkBw4tiQ.js.br +0 -0
  220. package/dist/web/assets/scheduled-tasks-container-CkBw4tiQ.js.gz +0 -0
  221. package/dist/web/assets/settings-personalization-pnuLPt34.js.br +0 -0
  222. package/dist/web/assets/settings-personalization-pnuLPt34.js.gz +0 -0
  223. package/dist/web/assets/sheet-DiMxIv8P.js.br +0 -0
  224. package/dist/web/assets/sheet-DiMxIv8P.js.gz +0 -0
  225. package/dist/web/assets/skills-market-container-D-EJNYqj.js.br +0 -0
  226. package/dist/web/assets/skills-market-container-D-EJNYqj.js.gz +0 -0
  227. package/dist/web/assets/task-timeline-store-Ca-wQLgJ.js +0 -6
  228. package/dist/web/assets/task-timeline-store-Ca-wQLgJ.js.br +0 -0
  229. package/dist/web/assets/task-timeline-store-Ca-wQLgJ.js.gz +0 -0
  230. package/dist/web/assets/third-party-marketplace-pane-rC9NGfhR.js.br +0 -0
  231. package/dist/web/assets/third-party-marketplace-pane-rC9NGfhR.js.gz +0 -0
  232. package/dist/web/assets/workbench-composer-AfRXx4Ec.js +0 -8
  233. package/dist/web/assets/workbench-composer-AfRXx4Ec.js.br +0 -0
  234. package/dist/web/assets/workbench-composer-AfRXx4Ec.js.gz +0 -0
  235. package/dist/web/assets/workbench-inspector-changes-lyYWVbsH.js.br +0 -0
  236. package/dist/web/assets/workbench-inspector-changes-lyYWVbsH.js.gz +0 -0
  237. package/dist/web/assets/workbench-pet-canvas-GtLypdG1.js.br +0 -0
  238. package/dist/web/assets/workbench-pet-canvas-GtLypdG1.js.gz +0 -0
  239. package/dist/web/assets/workbench-shell-L9PpBWL7.js.br +0 -0
  240. package/dist/web/assets/workbench-shell-L9PpBWL7.js.gz +0 -0
@@ -142,15 +142,15 @@ var require_err = __commonJS({
142
142
  if (Array.isArray(err.errors)) {
143
143
  _err.aggregateErrors = err.errors.map((err2) => errSerializer(err2));
144
144
  }
145
- for (const key in err) {
146
- if (_err[key] === void 0) {
147
- const val = err[key];
145
+ for (const key2 in err) {
146
+ if (_err[key2] === void 0) {
147
+ const val = err[key2];
148
148
  if (isErrorLike(val)) {
149
- if (key !== "cause" && !Object.prototype.hasOwnProperty.call(val, seen)) {
150
- _err[key] = errSerializer(val);
149
+ if (key2 !== "cause" && !Object.prototype.hasOwnProperty.call(val, seen)) {
150
+ _err[key2] = errSerializer(val);
151
151
  }
152
152
  } else {
153
- _err[key] = val;
153
+ _err[key2] = val;
154
154
  }
155
155
  }
156
156
  }
@@ -184,15 +184,15 @@ var require_err_with_cause = __commonJS({
184
184
  if (isErrorLike(err.cause) && !Object.prototype.hasOwnProperty.call(err.cause, seen)) {
185
185
  _err.cause = errWithCauseSerializer(err.cause);
186
186
  }
187
- for (const key in err) {
188
- if (_err[key] === void 0) {
189
- const val = err[key];
187
+ for (const key2 in err) {
188
+ if (_err[key2] === void 0) {
189
+ const val = err[key2];
190
190
  if (isErrorLike(val)) {
191
191
  if (!Object.prototype.hasOwnProperty.call(val, seen)) {
192
- _err[key] = errWithCauseSerializer(val);
192
+ _err[key2] = errWithCauseSerializer(val);
193
193
  }
194
194
  } else {
195
- _err[key] = val;
195
+ _err[key2] = val;
196
196
  }
197
197
  }
198
198
  }
@@ -427,9 +427,9 @@ var require_redact = __commonJS({
427
427
  }
428
428
  if (typeof obj === "object") {
429
429
  const cloned = Object.create(Object.getPrototypeOf(obj));
430
- for (const key in obj) {
431
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
432
- cloned[key] = deepClone(obj[key]);
430
+ for (const key2 in obj) {
431
+ if (Object.prototype.hasOwnProperty.call(obj, key2)) {
432
+ cloned[key2] = deepClone(obj[key2]);
433
433
  }
434
434
  }
435
435
  return cloned;
@@ -482,14 +482,14 @@ var require_redact = __commonJS({
482
482
  function setValue(obj, parts, value) {
483
483
  let current = obj;
484
484
  for (let i = 0; i < parts.length - 1; i++) {
485
- const key = parts[i];
486
- if (typeof current !== "object" || current === null || !(key in current)) {
485
+ const key2 = parts[i];
486
+ if (typeof current !== "object" || current === null || !(key2 in current)) {
487
487
  return false;
488
488
  }
489
- if (typeof current[key] !== "object" || current[key] === null) {
489
+ if (typeof current[key2] !== "object" || current[key2] === null) {
490
490
  return false;
491
491
  }
492
- current = current[key];
492
+ current = current[key2];
493
493
  }
494
494
  const lastKey = parts[parts.length - 1];
495
495
  if (lastKey === "*") {
@@ -498,9 +498,9 @@ var require_redact = __commonJS({
498
498
  current[i] = value;
499
499
  }
500
500
  } else if (typeof current === "object" && current !== null) {
501
- for (const key in current) {
502
- if (Object.prototype.hasOwnProperty.call(current, key)) {
503
- current[key] = value;
501
+ for (const key2 in current) {
502
+ if (Object.prototype.hasOwnProperty.call(current, key2)) {
503
+ current[key2] = value;
504
504
  }
505
505
  }
506
506
  }
@@ -514,14 +514,14 @@ var require_redact = __commonJS({
514
514
  function removeKey(obj, parts) {
515
515
  let current = obj;
516
516
  for (let i = 0; i < parts.length - 1; i++) {
517
- const key = parts[i];
518
- if (typeof current !== "object" || current === null || !(key in current)) {
517
+ const key2 = parts[i];
518
+ if (typeof current !== "object" || current === null || !(key2 in current)) {
519
519
  return false;
520
520
  }
521
- if (typeof current[key] !== "object" || current[key] === null) {
521
+ if (typeof current[key2] !== "object" || current[key2] === null) {
522
522
  return false;
523
523
  }
524
- current = current[key];
524
+ current = current[key2];
525
525
  }
526
526
  const lastKey = parts[parts.length - 1];
527
527
  if (lastKey === "*") {
@@ -530,9 +530,9 @@ var require_redact = __commonJS({
530
530
  current[i] = void 0;
531
531
  }
532
532
  } else if (typeof current === "object" && current !== null) {
533
- for (const key in current) {
534
- if (Object.prototype.hasOwnProperty.call(current, key)) {
535
- delete current[key];
533
+ for (const key2 in current) {
534
+ if (Object.prototype.hasOwnProperty.call(current, key2)) {
535
+ delete current[key2];
536
536
  }
537
537
  }
538
538
  }
@@ -617,19 +617,19 @@ var require_redact = __commonJS({
617
617
  } else if (typeof current === "object" && current !== null) {
618
618
  if (remove) {
619
619
  const keysToDelete = [];
620
- for (const key in current) {
621
- if (Object.prototype.hasOwnProperty.call(current, key)) {
622
- keysToDelete.push(key);
620
+ for (const key2 in current) {
621
+ if (Object.prototype.hasOwnProperty.call(current, key2)) {
622
+ keysToDelete.push(key2);
623
623
  }
624
624
  }
625
- for (const key of keysToDelete) {
626
- delete current[key];
625
+ for (const key2 of keysToDelete) {
626
+ delete current[key2];
627
627
  }
628
628
  } else {
629
- for (const key in current) {
630
- const keyPath = [...parentParts, key];
631
- const actualCensor = typeof censor === "function" ? censor(current[key], keyPath) : censor;
632
- current[key] = actualCensor;
629
+ for (const key2 in current) {
630
+ const keyPath = [...parentParts, key2];
631
+ const actualCensor = typeof censor === "function" ? censor(current[key2], keyPath) : censor;
632
+ current[key2] = actualCensor;
633
633
  }
634
634
  }
635
635
  }
@@ -649,9 +649,9 @@ var require_redact = __commonJS({
649
649
  traverse(current[i], pathLength + 1);
650
650
  }
651
651
  } else if (typeof current === "object" && current !== null) {
652
- for (const key in current) {
653
- pathArray[pathLength] = key;
654
- traverse(current[key], pathLength + 1);
652
+ for (const key2 in current) {
653
+ pathArray[pathLength] = key2;
654
+ traverse(current[key2], pathLength + 1);
655
655
  }
656
656
  }
657
657
  } else if (pathLength < beforeWildcard.length) {
@@ -738,12 +738,12 @@ var require_redact = __commonJS({
738
738
  return cloned2;
739
739
  }
740
740
  const cloned = Object.create(Object.getPrototypeOf(source));
741
- for (const key in source) {
742
- if (Object.prototype.hasOwnProperty.call(source, key)) {
743
- if (pathMap.has(key) || pathMap.has("*")) {
744
- cloned[key] = cloneSelectively(source[key], pathMap.get(key) || pathMap.get("*"));
741
+ for (const key2 in source) {
742
+ if (Object.prototype.hasOwnProperty.call(source, key2)) {
743
+ if (pathMap.has(key2) || pathMap.has("*")) {
744
+ cloned[key2] = cloneSelectively(source[key2], pathMap.get(key2) || pathMap.get("*"));
745
745
  } else {
746
- cloned[key] = source[key];
746
+ cloned[key2] = source[key2];
747
747
  }
748
748
  }
749
749
  }
@@ -1250,7 +1250,7 @@ var require_sonic_boom = __commonJS({
1250
1250
  if (!(this instanceof SonicBoom)) {
1251
1251
  return new SonicBoom(opts);
1252
1252
  }
1253
- let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir: mkdir3, retryEAGAIN, fsync, contentMode, mode } = opts || {};
1253
+ let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir: mkdir4, retryEAGAIN, fsync, contentMode, mode } = opts || {};
1254
1254
  fd = fd || dest;
1255
1255
  this._len = 0;
1256
1256
  this.fd = -1;
@@ -1275,7 +1275,7 @@ var require_sonic_boom = __commonJS({
1275
1275
  this.append = append || false;
1276
1276
  this.mode = mode;
1277
1277
  this.retryEAGAIN = retryEAGAIN || (() => true);
1278
- this.mkdir = mkdir3 || false;
1278
+ this.mkdir = mkdir4 || false;
1279
1279
  let fsWriteSync;
1280
1280
  let fsWrite;
1281
1281
  if (contentMode === kContentModeBuffer) {
@@ -1983,7 +1983,7 @@ var require_thread_stream = __commonJS({
1983
1983
  var { version } = require_package();
1984
1984
  var { EventEmitter } = __require("events");
1985
1985
  var { Worker: Worker2 } = __require("worker_threads");
1986
- var { join: join9 } = __require("path");
1986
+ var { join: join10 } = __require("path");
1987
1987
  var { pathToFileURL } = __require("url");
1988
1988
  var { wait } = require_wait();
1989
1989
  var {
@@ -2034,7 +2034,7 @@ var require_thread_stream = __commonJS({
2034
2034
  function createWorker(stream, opts) {
2035
2035
  const { filename, workerData } = opts;
2036
2036
  const bundlerOverrides = "__bundlerPathsOverrides" in globalThis ? globalThis.__bundlerPathsOverrides : {};
2037
- const toExecute = bundlerOverrides["thread-stream-worker"] || join9(__dirname, "lib", "worker.js");
2037
+ const toExecute = bundlerOverrides["thread-stream-worker"] || join10(__dirname, "lib", "worker.js");
2038
2038
  const worker = new Worker2(toExecute, {
2039
2039
  ...opts.workerOpts,
2040
2040
  name: opts.workerOpts?.name || "thread-stream",
@@ -2501,7 +2501,7 @@ var require_transport = __commonJS({
2501
2501
  var { createRequire: createRequire2 } = __require("module");
2502
2502
  var { existsSync: existsSync2 } = __require("fs");
2503
2503
  var getCallers = require_caller();
2504
- var { join: join9, isAbsolute: isAbsolute8, sep: sep3 } = __require("path");
2504
+ var { join: join10, isAbsolute: isAbsolute8, sep: sep3 } = __require("path");
2505
2505
  var { fileURLToPath } = __require("url");
2506
2506
  var sleep = require_atomic_sleep();
2507
2507
  var onExit = require_on_exit_leak_free();
@@ -2654,7 +2654,7 @@ var require_transport = __commonJS({
2654
2654
  throw new Error("only one of target or targets can be specified");
2655
2655
  }
2656
2656
  if (targets) {
2657
- target = bundlerOverrides["pino-worker"] || join9(__dirname, "worker.js");
2657
+ target = bundlerOverrides["pino-worker"] || join10(__dirname, "worker.js");
2658
2658
  options.targets = targets.filter((dest) => dest.target).map((dest) => {
2659
2659
  return {
2660
2660
  ...dest,
@@ -2672,7 +2672,7 @@ var require_transport = __commonJS({
2672
2672
  });
2673
2673
  });
2674
2674
  } else if (pipeline) {
2675
- target = bundlerOverrides["pino-worker"] || join9(__dirname, "worker.js");
2675
+ target = bundlerOverrides["pino-worker"] || join10(__dirname, "worker.js");
2676
2676
  options.pipelines = [pipeline.map((dest) => {
2677
2677
  return {
2678
2678
  ...dest,
@@ -2695,7 +2695,7 @@ var require_transport = __commonJS({
2695
2695
  return origin;
2696
2696
  }
2697
2697
  if (origin === "pino/file") {
2698
- return join9(__dirname, "..", "file.js");
2698
+ return join10(__dirname, "..", "file.js");
2699
2699
  }
2700
2700
  let fixTarget2;
2701
2701
  for (const filePath of callers) {
@@ -2834,15 +2834,15 @@ var require_tools = __commonJS({
2834
2834
  }
2835
2835
  const wildcardStringifier = stringifiers[wildcardFirstSym];
2836
2836
  let propStr = "";
2837
- for (const key in obj) {
2838
- value = obj[key];
2839
- if (Object.prototype.hasOwnProperty.call(obj, key) && value !== void 0) {
2840
- if (serializers[key]) {
2841
- value = serializers[key](value);
2842
- } else if (key === errorKey && serializers.err) {
2837
+ for (const key2 in obj) {
2838
+ value = obj[key2];
2839
+ if (Object.prototype.hasOwnProperty.call(obj, key2) && value !== void 0) {
2840
+ if (serializers[key2]) {
2841
+ value = serializers[key2](value);
2842
+ } else if (key2 === errorKey && serializers.err) {
2843
2843
  value = serializers.err(value);
2844
2844
  }
2845
- const stringifier = stringifiers[key] || wildcardStringifier;
2845
+ const stringifier = stringifiers[key2] || wildcardStringifier;
2846
2846
  switch (typeof value) {
2847
2847
  case "undefined":
2848
2848
  case "function":
@@ -2862,7 +2862,7 @@ var require_tools = __commonJS({
2862
2862
  value = (stringifier || stringify2)(value, stringifySafe);
2863
2863
  }
2864
2864
  if (value === void 0) continue;
2865
- const strKey = asString(key);
2865
+ const strKey = asString(key2);
2866
2866
  propStr += "," + strKey + ":" + value;
2867
2867
  }
2868
2868
  }
@@ -2907,14 +2907,14 @@ var require_tools = __commonJS({
2907
2907
  const serializers = instance[serializersSym];
2908
2908
  const formatter = instance[formattersSym].bindings;
2909
2909
  bindings = formatter(bindings);
2910
- for (const key in bindings) {
2911
- value = bindings[key];
2912
- const valid = (key.length < 5 || key !== "level" && key !== "serializers" && key !== "formatters" && key !== "customLevels") && bindings.hasOwnProperty(key) && value !== void 0;
2910
+ for (const key2 in bindings) {
2911
+ value = bindings[key2];
2912
+ const valid = (key2.length < 5 || key2 !== "level" && key2 !== "serializers" && key2 !== "formatters" && key2 !== "customLevels") && bindings.hasOwnProperty(key2) && value !== void 0;
2913
2913
  if (valid === true) {
2914
- value = serializers[key] ? serializers[key](value) : value;
2915
- value = (stringifiers[key] || wildcardStringifier || stringify2)(value, stringifySafe);
2914
+ value = serializers[key2] ? serializers[key2](value) : value;
2915
+ value = (stringifiers[key2] || wildcardStringifier || stringify2)(value, stringifySafe);
2916
2916
  if (value === void 0) continue;
2917
- data += ',"' + key + '":' + value;
2917
+ data += ',"' + key2 + '":' + value;
2918
2918
  }
2919
2919
  }
2920
2920
  return data;
@@ -3148,12 +3148,12 @@ var require_levels = __commonJS({
3148
3148
  const useOnlyCustomLevelsVal = this[useOnlyCustomLevelsSym];
3149
3149
  const levelComparison = this[levelCompSym];
3150
3150
  const hook = this[hooksSym].logMethod;
3151
- for (const key in values) {
3152
- if (levelComparison(values[key], levelVal) === false) {
3153
- this[key] = noop;
3151
+ for (const key2 in values) {
3152
+ if (levelComparison(values[key2], levelVal) === false) {
3153
+ this[key2] = noop;
3154
3154
  continue;
3155
3155
  }
3156
- this[key] = isStandardLevel(key, useOnlyCustomLevelsVal) ? levelMethods[key](hook) : genLog(values[key], hook);
3156
+ this[key2] = isStandardLevel(key2, useOnlyCustomLevelsVal) ? levelMethods[key2](hook) : genLog(values[key2], hook);
3157
3157
  }
3158
3158
  this.emit(
3159
3159
  "level-change",
@@ -3205,7 +3205,7 @@ var require_levels = __commonJS({
3205
3205
  function assertDefaultLevelFound(defaultLevel, customLevels, useOnlyCustomLevels) {
3206
3206
  if (typeof defaultLevel === "number") {
3207
3207
  const values = [].concat(
3208
- Object.keys(customLevels || {}).map((key) => customLevels[key]),
3208
+ Object.keys(customLevels || {}).map((key2) => customLevels[key2]),
3209
3209
  useOnlyCustomLevels ? [] : Object.keys(nums).map((level) => +level),
3210
3210
  Infinity
3211
3211
  );
@@ -3580,28 +3580,28 @@ var require_safe_stable_stringify = __commonJS({
3580
3580
  }
3581
3581
  return value === void 0 ? true : value;
3582
3582
  }
3583
- function getBooleanOption(options, key) {
3583
+ function getBooleanOption(options, key2) {
3584
3584
  let value;
3585
- if (hasOwnProperty.call(options, key)) {
3586
- value = options[key];
3585
+ if (hasOwnProperty.call(options, key2)) {
3586
+ value = options[key2];
3587
3587
  if (typeof value !== "boolean") {
3588
- throw new TypeError(`The "${key}" argument must be of type boolean`);
3588
+ throw new TypeError(`The "${key2}" argument must be of type boolean`);
3589
3589
  }
3590
3590
  }
3591
3591
  return value === void 0 ? true : value;
3592
3592
  }
3593
- function getPositiveIntegerOption(options, key) {
3593
+ function getPositiveIntegerOption(options, key2) {
3594
3594
  let value;
3595
- if (hasOwnProperty.call(options, key)) {
3596
- value = options[key];
3595
+ if (hasOwnProperty.call(options, key2)) {
3596
+ value = options[key2];
3597
3597
  if (typeof value !== "number") {
3598
- throw new TypeError(`The "${key}" argument must be of type number`);
3598
+ throw new TypeError(`The "${key2}" argument must be of type number`);
3599
3599
  }
3600
3600
  if (!Number.isInteger(value)) {
3601
- throw new TypeError(`The "${key}" argument must be an integer`);
3601
+ throw new TypeError(`The "${key2}" argument must be an integer`);
3602
3602
  }
3603
3603
  if (value < 1) {
3604
- throw new RangeError(`The "${key}" argument must be >= 1`);
3604
+ throw new RangeError(`The "${key2}" argument must be >= 1`);
3605
3605
  }
3606
3606
  }
3607
3607
  return value === void 0 ? Infinity : value;
@@ -3653,12 +3653,12 @@ var require_safe_stable_stringify = __commonJS({
3653
3653
  const comparator = typeof deterministic === "function" ? deterministic : void 0;
3654
3654
  const maximumDepth = getPositiveIntegerOption(options, "maximumDepth");
3655
3655
  const maximumBreadth = getPositiveIntegerOption(options, "maximumBreadth");
3656
- function stringifyFnReplacer(key, parent, stack, replacer, spacer, indentation) {
3657
- let value = parent[key];
3656
+ function stringifyFnReplacer(key2, parent, stack, replacer, spacer, indentation) {
3657
+ let value = parent[key2];
3658
3658
  if (typeof value === "object" && value !== null && typeof value.toJSON === "function") {
3659
- value = value.toJSON(key);
3659
+ value = value.toJSON(key2);
3660
3660
  }
3661
- value = replacer.call(parent, key, value);
3661
+ value = replacer.call(parent, key2, value);
3662
3662
  switch (typeof value) {
3663
3663
  case "string":
3664
3664
  return strEscape(value);
@@ -3670,7 +3670,7 @@ var require_safe_stable_stringify = __commonJS({
3670
3670
  return circularValue;
3671
3671
  }
3672
3672
  let res = "";
3673
- let join9 = ",";
3673
+ let join10 = ",";
3674
3674
  const originalIndentation = indentation;
3675
3675
  if (Array.isArray(value)) {
3676
3676
  if (value.length === 0) {
@@ -3684,7 +3684,7 @@ var require_safe_stable_stringify = __commonJS({
3684
3684
  indentation += spacer;
3685
3685
  res += `
3686
3686
  ${indentation}`;
3687
- join9 = `,
3687
+ join10 = `,
3688
3688
  ${indentation}`;
3689
3689
  }
3690
3690
  const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
@@ -3692,13 +3692,13 @@ ${indentation}`;
3692
3692
  for (; i < maximumValuesToStringify - 1; i++) {
3693
3693
  const tmp2 = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation);
3694
3694
  res += tmp2 !== void 0 ? tmp2 : "null";
3695
- res += join9;
3695
+ res += join10;
3696
3696
  }
3697
3697
  const tmp = stringifyFnReplacer(String(i), value, stack, replacer, spacer, indentation);
3698
3698
  res += tmp !== void 0 ? tmp : "null";
3699
3699
  if (value.length - 1 > maximumBreadth) {
3700
3700
  const removedKeys = value.length - maximumBreadth - 1;
3701
- res += `${join9}"... ${getItemCount(removedKeys)} not stringified"`;
3701
+ res += `${join10}"... ${getItemCount(removedKeys)} not stringified"`;
3702
3702
  }
3703
3703
  if (spacer !== "") {
3704
3704
  res += `
@@ -3719,7 +3719,7 @@ ${originalIndentation}`;
3719
3719
  let separator = "";
3720
3720
  if (spacer !== "") {
3721
3721
  indentation += spacer;
3722
- join9 = `,
3722
+ join10 = `,
3723
3723
  ${indentation}`;
3724
3724
  whitespace = " ";
3725
3725
  }
@@ -3729,17 +3729,17 @@ ${indentation}`;
3729
3729
  }
3730
3730
  stack.push(value);
3731
3731
  for (let i = 0; i < maximumPropertiesToStringify; i++) {
3732
- const key2 = keys[i];
3733
- const tmp = stringifyFnReplacer(key2, value, stack, replacer, spacer, indentation);
3732
+ const key3 = keys[i];
3733
+ const tmp = stringifyFnReplacer(key3, value, stack, replacer, spacer, indentation);
3734
3734
  if (tmp !== void 0) {
3735
- res += `${separator}${strEscape(key2)}:${whitespace}${tmp}`;
3736
- separator = join9;
3735
+ res += `${separator}${strEscape(key3)}:${whitespace}${tmp}`;
3736
+ separator = join10;
3737
3737
  }
3738
3738
  }
3739
3739
  if (keyLength > maximumBreadth) {
3740
3740
  const removedKeys = keyLength - maximumBreadth;
3741
3741
  res += `${separator}"...":${whitespace}"${getItemCount(removedKeys)} not stringified"`;
3742
- separator = join9;
3742
+ separator = join10;
3743
3743
  }
3744
3744
  if (spacer !== "" && separator.length > 1) {
3745
3745
  res = `
@@ -3764,9 +3764,9 @@ ${originalIndentation}`;
3764
3764
  return fail ? fail(value) : void 0;
3765
3765
  }
3766
3766
  }
3767
- function stringifyArrayReplacer(key, value, stack, replacer, spacer, indentation) {
3767
+ function stringifyArrayReplacer(key2, value, stack, replacer, spacer, indentation) {
3768
3768
  if (typeof value === "object" && value !== null && typeof value.toJSON === "function") {
3769
- value = value.toJSON(key);
3769
+ value = value.toJSON(key2);
3770
3770
  }
3771
3771
  switch (typeof value) {
3772
3772
  case "string":
@@ -3780,7 +3780,7 @@ ${originalIndentation}`;
3780
3780
  }
3781
3781
  const originalIndentation = indentation;
3782
3782
  let res = "";
3783
- let join9 = ",";
3783
+ let join10 = ",";
3784
3784
  if (Array.isArray(value)) {
3785
3785
  if (value.length === 0) {
3786
3786
  return "[]";
@@ -3793,7 +3793,7 @@ ${originalIndentation}`;
3793
3793
  indentation += spacer;
3794
3794
  res += `
3795
3795
  ${indentation}`;
3796
- join9 = `,
3796
+ join10 = `,
3797
3797
  ${indentation}`;
3798
3798
  }
3799
3799
  const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
@@ -3801,13 +3801,13 @@ ${indentation}`;
3801
3801
  for (; i < maximumValuesToStringify - 1; i++) {
3802
3802
  const tmp2 = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation);
3803
3803
  res += tmp2 !== void 0 ? tmp2 : "null";
3804
- res += join9;
3804
+ res += join10;
3805
3805
  }
3806
3806
  const tmp = stringifyArrayReplacer(String(i), value[i], stack, replacer, spacer, indentation);
3807
3807
  res += tmp !== void 0 ? tmp : "null";
3808
3808
  if (value.length - 1 > maximumBreadth) {
3809
3809
  const removedKeys = value.length - maximumBreadth - 1;
3810
- res += `${join9}"... ${getItemCount(removedKeys)} not stringified"`;
3810
+ res += `${join10}"... ${getItemCount(removedKeys)} not stringified"`;
3811
3811
  }
3812
3812
  if (spacer !== "") {
3813
3813
  res += `
@@ -3820,16 +3820,16 @@ ${originalIndentation}`;
3820
3820
  let whitespace = "";
3821
3821
  if (spacer !== "") {
3822
3822
  indentation += spacer;
3823
- join9 = `,
3823
+ join10 = `,
3824
3824
  ${indentation}`;
3825
3825
  whitespace = " ";
3826
3826
  }
3827
3827
  let separator = "";
3828
- for (const key2 of replacer) {
3829
- const tmp = stringifyArrayReplacer(key2, value[key2], stack, replacer, spacer, indentation);
3828
+ for (const key3 of replacer) {
3829
+ const tmp = stringifyArrayReplacer(key3, value[key3], stack, replacer, spacer, indentation);
3830
3830
  if (tmp !== void 0) {
3831
- res += `${separator}${strEscape(key2)}:${whitespace}${tmp}`;
3832
- separator = join9;
3831
+ res += `${separator}${strEscape(key3)}:${whitespace}${tmp}`;
3832
+ separator = join10;
3833
3833
  }
3834
3834
  }
3835
3835
  if (spacer !== "" && separator.length > 1) {
@@ -3855,7 +3855,7 @@ ${originalIndentation}`;
3855
3855
  return fail ? fail(value) : void 0;
3856
3856
  }
3857
3857
  }
3858
- function stringifyIndent(key, value, stack, spacer, indentation) {
3858
+ function stringifyIndent(key2, value, stack, spacer, indentation) {
3859
3859
  switch (typeof value) {
3860
3860
  case "string":
3861
3861
  return strEscape(value);
@@ -3864,9 +3864,9 @@ ${originalIndentation}`;
3864
3864
  return "null";
3865
3865
  }
3866
3866
  if (typeof value.toJSON === "function") {
3867
- value = value.toJSON(key);
3867
+ value = value.toJSON(key2);
3868
3868
  if (typeof value !== "object") {
3869
- return stringifyIndent(key, value, stack, spacer, indentation);
3869
+ return stringifyIndent(key2, value, stack, spacer, indentation);
3870
3870
  }
3871
3871
  if (value === null) {
3872
3872
  return "null";
@@ -3887,20 +3887,20 @@ ${originalIndentation}`;
3887
3887
  indentation += spacer;
3888
3888
  let res2 = `
3889
3889
  ${indentation}`;
3890
- const join10 = `,
3890
+ const join11 = `,
3891
3891
  ${indentation}`;
3892
3892
  const maximumValuesToStringify = Math.min(value.length, maximumBreadth);
3893
3893
  let i = 0;
3894
3894
  for (; i < maximumValuesToStringify - 1; i++) {
3895
3895
  const tmp2 = stringifyIndent(String(i), value[i], stack, spacer, indentation);
3896
3896
  res2 += tmp2 !== void 0 ? tmp2 : "null";
3897
- res2 += join10;
3897
+ res2 += join11;
3898
3898
  }
3899
3899
  const tmp = stringifyIndent(String(i), value[i], stack, spacer, indentation);
3900
3900
  res2 += tmp !== void 0 ? tmp : "null";
3901
3901
  if (value.length - 1 > maximumBreadth) {
3902
3902
  const removedKeys = value.length - maximumBreadth - 1;
3903
- res2 += `${join10}"... ${getItemCount(removedKeys)} not stringified"`;
3903
+ res2 += `${join11}"... ${getItemCount(removedKeys)} not stringified"`;
3904
3904
  }
3905
3905
  res2 += `
3906
3906
  ${originalIndentation}`;
@@ -3916,33 +3916,33 @@ ${originalIndentation}`;
3916
3916
  return '"[Object]"';
3917
3917
  }
3918
3918
  indentation += spacer;
3919
- const join9 = `,
3919
+ const join10 = `,
3920
3920
  ${indentation}`;
3921
3921
  let res = "";
3922
3922
  let separator = "";
3923
3923
  let maximumPropertiesToStringify = Math.min(keyLength, maximumBreadth);
3924
3924
  if (isTypedArrayWithEntries(value)) {
3925
- res += stringifyTypedArray(value, join9, maximumBreadth);
3925
+ res += stringifyTypedArray(value, join10, maximumBreadth);
3926
3926
  keys = keys.slice(value.length);
3927
3927
  maximumPropertiesToStringify -= value.length;
3928
- separator = join9;
3928
+ separator = join10;
3929
3929
  }
3930
3930
  if (deterministic) {
3931
3931
  keys = sort(keys, comparator);
3932
3932
  }
3933
3933
  stack.push(value);
3934
3934
  for (let i = 0; i < maximumPropertiesToStringify; i++) {
3935
- const key2 = keys[i];
3936
- const tmp = stringifyIndent(key2, value[key2], stack, spacer, indentation);
3935
+ const key3 = keys[i];
3936
+ const tmp = stringifyIndent(key3, value[key3], stack, spacer, indentation);
3937
3937
  if (tmp !== void 0) {
3938
- res += `${separator}${strEscape(key2)}: ${tmp}`;
3939
- separator = join9;
3938
+ res += `${separator}${strEscape(key3)}: ${tmp}`;
3939
+ separator = join10;
3940
3940
  }
3941
3941
  }
3942
3942
  if (keyLength > maximumBreadth) {
3943
3943
  const removedKeys = keyLength - maximumBreadth;
3944
3944
  res += `${separator}"...": "${getItemCount(removedKeys)} not stringified"`;
3945
- separator = join9;
3945
+ separator = join10;
3946
3946
  }
3947
3947
  if (separator !== "") {
3948
3948
  res = `
@@ -3967,7 +3967,7 @@ ${originalIndentation}`;
3967
3967
  return fail ? fail(value) : void 0;
3968
3968
  }
3969
3969
  }
3970
- function stringifySimple(key, value, stack) {
3970
+ function stringifySimple(key2, value, stack) {
3971
3971
  switch (typeof value) {
3972
3972
  case "string":
3973
3973
  return strEscape(value);
@@ -3976,9 +3976,9 @@ ${originalIndentation}`;
3976
3976
  return "null";
3977
3977
  }
3978
3978
  if (typeof value.toJSON === "function") {
3979
- value = value.toJSON(key);
3979
+ value = value.toJSON(key2);
3980
3980
  if (typeof value !== "object") {
3981
- return stringifySimple(key, value, stack);
3981
+ return stringifySimple(key2, value, stack);
3982
3982
  }
3983
3983
  if (value === null) {
3984
3984
  return "null";
@@ -4034,10 +4034,10 @@ ${originalIndentation}`;
4034
4034
  }
4035
4035
  stack.push(value);
4036
4036
  for (let i = 0; i < maximumPropertiesToStringify; i++) {
4037
- const key2 = keys[i];
4038
- const tmp = stringifySimple(key2, value[key2], stack);
4037
+ const key3 = keys[i];
4038
+ const tmp = stringifySimple(key3, value[key3], stack);
4039
4039
  if (tmp !== void 0) {
4040
- res += `${separator}${strEscape(key2)}:${tmp}`;
4040
+ res += `${separator}${strEscape(key3)}:${tmp}`;
4041
4041
  separator = ",";
4042
4042
  }
4043
4043
  }
@@ -4538,7 +4538,7 @@ function readEnvironmentValue(env, name, platform) {
4538
4538
  if (direct !== void 0 || platform !== "win32") {
4539
4539
  return direct;
4540
4540
  }
4541
- return Object.entries(env).find(([key]) => key.toLowerCase() === name.toLowerCase())?.[1];
4541
+ return Object.entries(env).find(([key2]) => key2.toLowerCase() === name.toLowerCase())?.[1];
4542
4542
  }
4543
4543
  async function findOnPath(env, platform) {
4544
4544
  const pathApi = platform === "win32" ? win32 : posix;
@@ -8663,6 +8663,54 @@ var CodexThreadAttachmentService = class {
8663
8663
  this.store.dispose();
8664
8664
  }
8665
8665
  };
8666
+ function key(value) {
8667
+ return createHash("sha256").update(value).digest("hex");
8668
+ }
8669
+ var ForkTaskRegistry = class {
8670
+ constructor(directory) {
8671
+ this.directory = directory;
8672
+ }
8673
+ directory;
8674
+ async record(projectId, taskId) {
8675
+ const directory = join(this.directory, key(projectId));
8676
+ await mkdir(directory, { recursive: true });
8677
+ const temporary = join(directory, `${key(taskId)}.${randomUUID()}.tmp`);
8678
+ try {
8679
+ await writeFile(temporary, taskId, { flag: "wx" });
8680
+ await rename(temporary, join(directory, key(taskId)));
8681
+ } finally {
8682
+ await rm(temporary, { force: true });
8683
+ }
8684
+ }
8685
+ async list(projectId) {
8686
+ const directory = join(this.directory, key(projectId));
8687
+ let filenames;
8688
+ try {
8689
+ filenames = await readdir(directory);
8690
+ } catch (error) {
8691
+ if (isMissing(error)) return [];
8692
+ throw error;
8693
+ }
8694
+ const taskIds = [];
8695
+ for (const filename of filenames) {
8696
+ if (!/^[a-f0-9]{64}$/u.test(filename)) continue;
8697
+ const taskId = await readFile(join(directory, filename), "utf8").catch((error) => {
8698
+ if (isMissing(error)) return void 0;
8699
+ throw error;
8700
+ });
8701
+ if (taskId !== void 0 && taskId.length <= 256 && key(taskId) === filename) {
8702
+ taskIds.push(taskId);
8703
+ }
8704
+ }
8705
+ return taskIds;
8706
+ }
8707
+ async forget(projectId, taskId) {
8708
+ await rm(join(this.directory, key(projectId), key(taskId)), { force: true });
8709
+ }
8710
+ };
8711
+ function isMissing(error) {
8712
+ return error !== null && typeof error === "object" && "code" in error && error.code === "ENOENT";
8713
+ }
8666
8714
 
8667
8715
  // packages/provider-codex/src/pending-request-lifecycle.ts
8668
8716
  var MAX_TERMINAL_PENDING_REQUESTS = 1e3;
@@ -9099,16 +9147,16 @@ var MessageIdentityRegistry = class {
9099
9147
  #textSize = 0;
9100
9148
  #order = 0;
9101
9149
  turn(taskId, turnId) {
9102
- const key = JSON.stringify([taskId, turnId]);
9103
- const value = this.#turns.get(key) ?? {
9150
+ const key2 = JSON.stringify([taskId, turnId]);
9151
+ const value = this.#turns.get(key2) ?? {
9104
9152
  taskId,
9105
9153
  entries: /* @__PURE__ */ new Map(),
9106
9154
  running: false
9107
9155
  };
9108
- this.#turns.delete(key);
9109
- this.#turns.set(key, value);
9156
+ this.#turns.delete(key2);
9157
+ this.#turns.set(key2, value);
9110
9158
  if (this.#turns.size > MAX_TURNS) {
9111
- const oldest = [...this.#turns].find(([candidateKey, turn]) => candidateKey !== key && !turn.running) ?? this.#turns.entries().next().value;
9159
+ const oldest = [...this.#turns].find(([candidateKey, turn]) => candidateKey !== key2 && !turn.running) ?? this.#turns.entries().next().value;
9112
9160
  if (oldest !== void 0) {
9113
9161
  this.release(oldest[1]);
9114
9162
  this.#turns.delete(oldest[0]);
@@ -9277,10 +9325,10 @@ var MessageIdentityRegistry = class {
9277
9325
  for (const entry of turn.entries.values()) this.#textSize -= entry.message.text.length;
9278
9326
  }
9279
9327
  clearTask(taskId) {
9280
- for (const [key, turn] of this.#turns)
9328
+ for (const [key2, turn] of this.#turns)
9281
9329
  if (turn.taskId === taskId) {
9282
9330
  this.release(turn);
9283
- this.#turns.delete(key);
9331
+ this.#turns.delete(key2);
9284
9332
  }
9285
9333
  }
9286
9334
  clear() {
@@ -9296,20 +9344,20 @@ var RealtimeSkillMessages = class {
9296
9344
  key(taskId, turnId) {
9297
9345
  return JSON.stringify([taskId, turnId]);
9298
9346
  }
9299
- remove(key) {
9300
- this.#size -= this.#tails.get(key)?.size ?? 0;
9301
- this.#tails.delete(key);
9347
+ remove(key2) {
9348
+ this.#size -= this.#tails.get(key2)?.size ?? 0;
9349
+ this.#tails.delete(key2);
9302
9350
  }
9303
9351
  remember(taskId, turnId, item) {
9304
- const key = this.key(taskId, turnId);
9305
- this.remove(key);
9352
+ const key2 = this.key(taskId, turnId);
9353
+ this.remove(key2);
9306
9354
  let retained = item?.type === "message" && item.role === "user" ? item : void 0;
9307
9355
  let size = retained === void 0 ? 0 : JSON.stringify(retained).length;
9308
9356
  if (size > 65536) {
9309
9357
  retained = void 0;
9310
9358
  size = 0;
9311
9359
  }
9312
- this.#tails.set(key, { taskId, item: retained, size });
9360
+ this.#tails.set(key2, { taskId, item: retained, size });
9313
9361
  this.#size += size;
9314
9362
  while (this.#tails.size > 128 || this.#size > 1048576) {
9315
9363
  const oldest = this.#tails.keys().next().value;
@@ -9347,7 +9395,7 @@ var RealtimeSkillMessages = class {
9347
9395
  return item === incoming ? event : { ...event, itemId: item.id, payload: { item } };
9348
9396
  }
9349
9397
  clearTask(taskId) {
9350
- for (const [key, tail] of this.#tails) if (tail.taskId === taskId) this.remove(key);
9398
+ for (const [key2, tail] of this.#tails) if (tail.taskId === taskId) this.remove(key2);
9351
9399
  }
9352
9400
  clear() {
9353
9401
  this.#tails.clear();
@@ -9795,6 +9843,7 @@ var CodexAgentProviderBase = class {
9795
9843
  eventListeners = /* @__PURE__ */ new Set();
9796
9844
  historicalAttachments;
9797
9845
  threadAttachments;
9846
+ forkTasks;
9798
9847
  logger;
9799
9848
  project;
9800
9849
  pendingLifecycle;
@@ -9836,6 +9885,7 @@ var CodexAgentProviderBase = class {
9836
9885
  constructor(client, project, options = {}) {
9837
9886
  this.client = client;
9838
9887
  this.threadAttachments = options.attachmentDirectory === void 0 ? void 0 : new CodexThreadAttachmentService(client, options.attachmentDirectory);
9888
+ this.forkTasks = options.forkTaskDirectory === void 0 ? void 0 : new ForkTaskRegistry(options.forkTaskDirectory);
9839
9889
  this.historicalAttachments = this.threadAttachments?.store ?? new CodexHistoricalAttachmentStore();
9840
9890
  this.taskTitles = options.taskTitles;
9841
9891
  this.logger = options.logger ?? DEFAULT_PROVIDER_LOGGER;
@@ -9901,6 +9951,7 @@ var CodexAgentProviderBase = class {
9901
9951
  async deleteTask(taskId) {
9902
9952
  this.assertKnownProjectTask(taskId);
9903
9953
  await deleteCodexTask(this.client, taskId);
9954
+ await this.forkTasks?.forget(this.project.id, taskId);
9904
9955
  this.threadAttachments?.deleteTask(taskId);
9905
9956
  this.clearTaskRuntimeState(taskId);
9906
9957
  }
@@ -9934,10 +9985,23 @@ var CodexAgentProviderBase = class {
9934
9985
  }),
9935
9986
  "thread/fork response"
9936
9987
  );
9937
- const task = await mapAgentTask(
9938
- expectRecord(response["thread"], "thread/fork thread"),
9939
- this.project
9940
- );
9988
+ let thread = expectRecord(response["thread"], "thread/fork thread");
9989
+ if (this.project.kind === "project" && thread["projectId"] === null) {
9990
+ const forkId = expectString(thread["id"], "thread/fork thread id");
9991
+ const assignment = expectRecord(
9992
+ await this.client.request("thread/metadata/update", {
9993
+ projectId: this.project.id,
9994
+ threadId: forkId
9995
+ }),
9996
+ "thread/metadata/update response"
9997
+ );
9998
+ thread = expectRecord(assignment["thread"], "thread/metadata/update thread");
9999
+ if (thread["id"] !== forkId) {
10000
+ throw new CodexProtocolMappingError("thread/metadata/update returned a different thread");
10001
+ }
10002
+ }
10003
+ const task = await mapAgentTask(thread, this.project);
10004
+ await this.forkTasks?.record(this.project.id, task.id);
9941
10005
  this.runtime.projectTaskIds.add(task.id);
9942
10006
  this.runtime.resumedTaskIds.add(task.id);
9943
10007
  this.runtime.unmaterializedTasks.set(task.id, task);
@@ -9945,14 +10009,14 @@ var CodexAgentProviderBase = class {
9945
10009
  }
9946
10010
  async renameTask(taskId, title) {
9947
10011
  this.assertKnownProjectTask(taskId);
9948
- const rename3 = async () => {
10012
+ const rename4 = async () => {
9949
10013
  expectRecord(
9950
10014
  await this.client.request("thread/name/set", { name: title, threadId: taskId }),
9951
10015
  "thread/name/set response"
9952
10016
  );
9953
10017
  };
9954
- if (this.taskTitles === void 0) await rename3();
9955
- else await this.taskTitles.mutate(taskId, rename3);
10018
+ if (this.taskTitles === void 0) await rename4();
10019
+ else await this.taskTitles.mutate(taskId, rename4);
9956
10020
  }
9957
10021
  async pinTask(taskId, pinned) {
9958
10022
  this.assertKnownProjectTask(taskId);
@@ -10069,6 +10133,60 @@ var CodexAgentProviderBase = class {
10069
10133
  };
10070
10134
  }
10071
10135
  };
10136
+
10137
+ // packages/provider-codex/src/fork-task-restoration.ts
10138
+ async function restoreUnlistedForks(client, registry, project, runtime, nativeTasks, input) {
10139
+ for (const task of nativeTasks) {
10140
+ runtime.projectTaskIds.add(task.id);
10141
+ runtime.unmaterializedTasks.delete(task.id);
10142
+ }
10143
+ if (registry === void 0 || input.cursor !== void 0 || input.archived === true || input.searchTerm !== void 0) {
10144
+ return;
10145
+ }
10146
+ const nativeIds = new Set(nativeTasks.map((task) => task.id));
10147
+ for (const taskId of await registry.list(project.id)) {
10148
+ if (nativeIds.has(taskId)) {
10149
+ await registry.forget(project.id, taskId);
10150
+ continue;
10151
+ }
10152
+ let response;
10153
+ try {
10154
+ response = expectRecord(
10155
+ await client.request("thread/read", { includeTurns: false, threadId: taskId }),
10156
+ "thread/read response"
10157
+ );
10158
+ } catch (error) {
10159
+ if (!isThreadNotLoadedError(error) && !isBackgroundTerminalThreadMissingError(error)) {
10160
+ throw error;
10161
+ }
10162
+ await registry.forget(project.id, taskId);
10163
+ runtime.unmaterializedTasks.delete(taskId);
10164
+ continue;
10165
+ }
10166
+ const thread = expectRecord(response["thread"], "thread/read thread");
10167
+ if (thread["id"] !== taskId || !isProjectThread(thread, project)) {
10168
+ await registry.forget(project.id, taskId);
10169
+ runtime.unmaterializedTasks.delete(taskId);
10170
+ continue;
10171
+ }
10172
+ const path = thread["path"];
10173
+ if (typeof path === "string" && /[/\\]archived_sessions[/\\]/u.test(path)) {
10174
+ runtime.unmaterializedTasks.delete(taskId);
10175
+ continue;
10176
+ }
10177
+ const task = await mapAgentTask(thread, project);
10178
+ runtime.projectTaskIds.add(task.id);
10179
+ runtime.unmaterializedTasks.set(task.id, task);
10180
+ }
10181
+ }
10182
+ function pendingLocalTasks(runtime, input) {
10183
+ if (input.cursor !== void 0 || input.archived === true || input.searchTerm !== void 0) {
10184
+ return [];
10185
+ }
10186
+ return [...runtime.unmaterializedTasks.values()].toSorted(
10187
+ (leftTask, rightTask) => rightTask.updatedAt.localeCompare(leftTask.updatedAt)
10188
+ );
10189
+ }
10072
10190
  var FILE_PLACEHOLDER_PREFIX = "codexly-file:";
10073
10191
  function createCodexFileTextInput(file) {
10074
10192
  const placeholder = `${FILE_PLACEHOLDER_PREFIX}${Buffer$1.from(
@@ -10620,14 +10738,15 @@ var CodexAgentProviderTurns = class extends CodexAgentProviderQueue {
10620
10738
  (thread) => mapAgentTask(expectRecord(thread, "Codex thread"), this.project)
10621
10739
  )
10622
10740
  );
10623
- for (const task of nativeTasks) {
10624
- this.runtime.projectTaskIds.add(task.id);
10625
- this.runtime.unmaterializedTasks.delete(task.id);
10626
- }
10627
- const pendingTasks = input.cursor === void 0 && input.archived !== true && input.searchTerm === void 0 ? [...this.runtime.unmaterializedTasks.values()].toSorted(
10628
- (leftTask, rightTask) => rightTask.updatedAt.localeCompare(leftTask.updatedAt)
10629
- ) : [];
10630
- const data = [...pendingTasks, ...nativeTasks];
10741
+ await restoreUnlistedForks(
10742
+ this.client,
10743
+ this.forkTasks,
10744
+ this.project,
10745
+ this.runtime,
10746
+ nativeTasks,
10747
+ input
10748
+ );
10749
+ const data = [...pendingLocalTasks(this.runtime, input), ...nativeTasks];
10631
10750
  return { data, nextCursor: nextCursor ?? null };
10632
10751
  }
10633
10752
  async listCompletedTasks(input) {
@@ -11748,10 +11867,10 @@ var fields = {
11748
11867
  fastMode: "service_tier"
11749
11868
  };
11750
11869
  async function writeRuntimeDefaultSettings(client, settings) {
11751
- const edits = Object.keys(fields).filter((key) => settings[key] !== void 0).map((key) => ({
11752
- keyPath: fields[key],
11870
+ const edits = Object.keys(fields).filter((key2) => settings[key2] !== void 0).map((key2) => ({
11871
+ keyPath: fields[key2],
11753
11872
  // default 显式关闭快速档位;不删除键,避免重新继承模型的默认档位。
11754
- value: key === "fastMode" ? settings.fastMode ? "priority" : "default" : settings[key],
11873
+ value: key2 === "fastMode" ? settings.fastMode ? "priority" : "default" : settings[key2],
11755
11874
  mergeStrategy: "replace"
11756
11875
  }));
11757
11876
  if (edits.length === 0) return;
@@ -11783,7 +11902,7 @@ function optionalApprovalPolicy(value) {
11783
11902
  "sandbox_approval",
11784
11903
  "skill_approval"
11785
11904
  ]);
11786
- if (Object.keys(fields2).some((key) => !knownFields.has(key)) || typeof fields2["mcp_elicitations"] !== "boolean" || typeof fields2["rules"] !== "boolean" || typeof fields2["sandbox_approval"] !== "boolean" || fields2["request_permissions"] !== void 0 && typeof fields2["request_permissions"] !== "boolean" || fields2["skill_approval"] !== void 0 && typeof fields2["skill_approval"] !== "boolean") {
11905
+ if (Object.keys(fields2).some((key2) => !knownFields.has(key2)) || typeof fields2["mcp_elicitations"] !== "boolean" || typeof fields2["rules"] !== "boolean" || typeof fields2["sandbox_approval"] !== "boolean" || fields2["request_permissions"] !== void 0 && typeof fields2["request_permissions"] !== "boolean" || fields2["skill_approval"] !== void 0 && typeof fields2["skill_approval"] !== "boolean") {
11787
11906
  return void 0;
11788
11907
  }
11789
11908
  return {
@@ -11872,8 +11991,8 @@ async function readConfig(client) {
11872
11991
  );
11873
11992
  return expectRecord(response["config"], "config/read config");
11874
11993
  }
11875
- function section(config, key) {
11876
- return config[key] === void 0 ? {} : expectRecord(config[key], key);
11994
+ function section(config, key2) {
11995
+ return config[key2] === void 0 ? {} : expectRecord(config[key2], key2);
11877
11996
  }
11878
11997
  var edit = (keyPath, value) => ({ keyPath, value, mergeStrategy: "replace" });
11879
11998
  async function readMemorySettings(client) {
@@ -11888,8 +12007,8 @@ async function readMemorySettings(client) {
11888
12007
  async function updateMemorySettings(client, update) {
11889
12008
  const edits = [];
11890
12009
  if (update.enabled !== void 0)
11891
- for (const key of ["features.memories", "memories.generate_memories", "memories.use_memories"])
11892
- edits.push(edit(key, update.enabled));
12010
+ for (const key2 of ["features.memories", "memories.generate_memories", "memories.use_memories"])
12011
+ edits.push(edit(key2, update.enabled));
11893
12012
  if (update.allowExternalContext !== void 0) {
11894
12013
  edits.push(edit("memories.no_memories_if_mcp_or_web_search", null));
11895
12014
  edits.push(edit("memories.disable_on_external_context", !update.allowExternalContext));
@@ -13616,6 +13735,7 @@ var CodexRuntimeProvider = class {
13616
13735
  search;
13617
13736
  #client;
13618
13737
  #attachmentDirectory;
13738
+ #forkTaskDirectory;
13619
13739
  #taskTitles;
13620
13740
  #logger;
13621
13741
  #gitMetadataWatch;
@@ -13630,6 +13750,7 @@ var CodexRuntimeProvider = class {
13630
13750
  this.#client = client;
13631
13751
  const codexHome = options.codexHome ?? process.env["CODEX_HOME"] ?? resolve(homedir(), ".codex");
13632
13752
  this.#attachmentDirectory = join(codexHome, "codexly", "thread-attachments");
13753
+ this.#forkTaskDirectory = join(codexHome, "codexly", "fork-tasks");
13633
13754
  this.#taskTitles = options.readTaskTitleModel === void 0 ? void 0 : new CodexTaskTitles(client, options.readTaskTitleModel, logger);
13634
13755
  const instructions = createGlobalInstructionsStore(codexHome);
13635
13756
  this.personalization = {
@@ -13742,6 +13863,7 @@ var CodexRuntimeProvider = class {
13742
13863
  }
13743
13864
  const rawProvider = new CodexAgentProvider(this.#client, project, {
13744
13865
  attachmentDirectory: this.#attachmentDirectory,
13866
+ forkTaskDirectory: this.#forkTaskDirectory,
13745
13867
  logger: this.#logger,
13746
13868
  ...this.#taskTitles === void 0 ? {} : { taskTitles: this.#taskTitles },
13747
13869
  subscribeRpc: false
@@ -14171,8 +14293,8 @@ function mapProjectRoot(value, index) {
14171
14293
  }
14172
14294
  function validateMetadata(value) {
14173
14295
  const metadata = expectRecord(value, "Codex project metadata");
14174
- for (const [key, entry] of Object.entries(metadata)) {
14175
- expectString(entry, `Codex project metadata ${key}`);
14296
+ for (const [key2, entry] of Object.entries(metadata)) {
14297
+ expectString(entry, `Codex project metadata ${key2}`);
14176
14298
  }
14177
14299
  }
14178
14300
  function mapCodexProject(value) {
@@ -15125,17 +15247,17 @@ function parseRecord(value, label) {
15125
15247
  }
15126
15248
  return value;
15127
15249
  }
15128
- function readOptionalString(record, key) {
15129
- const value = record[key];
15250
+ function readOptionalString(record, key2) {
15251
+ const value = record[key2];
15130
15252
  if (value === void 0 || value === null) return void 0;
15131
- if (typeof value !== "string") throw new Error(`Pet ${key} must be a string`);
15253
+ if (typeof value !== "string") throw new Error(`Pet ${key2} must be a string`);
15132
15254
  const normalized = value.trim();
15133
15255
  return normalized.length === 0 ? void 0 : normalized;
15134
15256
  }
15135
- function readPositiveInteger(record, key) {
15136
- const value = record[key];
15257
+ function readPositiveInteger(record, key2) {
15258
+ const value = record[key2];
15137
15259
  if (!Number.isInteger(value) || Number(value) <= 0) {
15138
- throw new Error(`Pet frame ${key} must be a positive integer`);
15260
+ throw new Error(`Pet frame ${key2} must be a positive integer`);
15139
15261
  }
15140
15262
  return Number(value);
15141
15263
  }