factory-factory 0.3.12 → 0.3.14

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 (219) hide show
  1. package/dist/client/assets/_baseUniq-CRIXZajf.js +1 -0
  2. package/dist/client/assets/{arc-DsIzhftT.js → arc-DSBuWL5s.js} +1 -1
  3. package/dist/client/assets/architectureDiagram-Q4EWVU46-CR--POQ9.js +36 -0
  4. package/dist/client/assets/blockDiagram-DXYQGD6D-JuBGkp-x.js +132 -0
  5. package/dist/client/assets/c4Diagram-AHTNJAMY-DLB6YyaK.js +10 -0
  6. package/dist/client/assets/channel-BToPvV0p.js +1 -0
  7. package/dist/client/assets/{chunk-4BX2VUAB-BYosab3-.js → chunk-4BX2VUAB-DVPwhCCH.js} +1 -1
  8. package/dist/client/assets/chunk-4TB4RGXK-YVAR8wg-.js +206 -0
  9. package/dist/client/assets/{chunk-55IACEB6-yFf3G-mG.js → chunk-55IACEB6-BW_jDeAT.js} +1 -1
  10. package/dist/client/assets/{chunk-QN33PNHL-Du3XfSl9.js → chunk-EDXVE4YY-JtUNKE2M.js} +1 -1
  11. package/dist/client/assets/{chunk-FMBD7UC4-DaJgqA7Z.js → chunk-FMBD7UC4-BVYe-KgE.js} +1 -1
  12. package/dist/client/assets/chunk-OYMX7WX6-u9Af6O8U.js +231 -0
  13. package/dist/client/assets/{chunk-QZHKN3VN-BgKksnok.js → chunk-QZHKN3VN-99tx2X7z.js} +1 -1
  14. package/dist/client/assets/chunk-YZCP3GAM-CDhS7CGF.js +1 -0
  15. package/dist/client/assets/classDiagram-6PBFFD2Q-CdGzzfRv.js +1 -0
  16. package/dist/client/assets/classDiagram-v2-HSJHXN6E-CdGzzfRv.js +1 -0
  17. package/dist/client/assets/clone-DZkyOsGH.js +1 -0
  18. package/dist/client/assets/{cose-bilkent-S5V4N54A-Blq45rLS.js → cose-bilkent-S5V4N54A-GJd1fOeJ.js} +1 -1
  19. package/dist/client/assets/{cytoscape.esm-5J0xJHOV.js → cytoscape.esm-DkOyvmE4.js} +3 -3
  20. package/dist/client/assets/dagre-KV5264BT-DzucNBZu.js +4 -0
  21. package/dist/client/assets/diagram-5BDNPKRD-C6OYvRyt.js +10 -0
  22. package/dist/client/assets/diagram-G4DWMVQ6-DrQYwY3E.js +24 -0
  23. package/dist/client/assets/diagram-MMDJMWI5-CfInQsB1.js +43 -0
  24. package/dist/client/assets/diagram-TYMM5635-CwNYFf_u.js +24 -0
  25. package/dist/client/assets/erDiagram-SMLLAGMA-b5ieH-Rd.js +85 -0
  26. package/dist/client/assets/flowDiagram-DWJPFMVM-C6BT6FGE.js +162 -0
  27. package/dist/client/assets/ganttDiagram-T4ZO3ILL-ANP28BYp.js +292 -0
  28. package/dist/client/assets/gitGraphDiagram-UUTBAWPF-VkjInTZg.js +106 -0
  29. package/dist/client/assets/graph-C3Zfn3Km.js +1 -0
  30. package/dist/client/assets/index-CBgUr8yV.css +1 -0
  31. package/dist/client/assets/index-DXhws4gD.js +494 -0
  32. package/dist/client/assets/infoDiagram-42DDH7IO-Dp-vRCFg.js +2 -0
  33. package/dist/client/assets/ishikawaDiagram-UXIWVN3A-CqKsMHgP.js +70 -0
  34. package/dist/client/assets/journeyDiagram-VCZTEJTY-BZtfD_AX.js +139 -0
  35. package/dist/client/assets/{kanban-definition-3W4ZIXB7-BpVOfK3E.js → kanban-definition-6JOO6SKY-BmXsWhyy.js} +8 -8
  36. package/dist/client/assets/katex-DHMw6HUq.js +257 -0
  37. package/dist/client/assets/layout-BVsX4tmn.js +1 -0
  38. package/dist/client/assets/{linear-ryUEPzdF.js → linear-D3KSZ58g.js} +1 -1
  39. package/dist/client/assets/min-DH_RgixA.js +1 -0
  40. package/dist/client/assets/mindmap-definition-QFDTVHPH-Ds6I5xr9.js +96 -0
  41. package/dist/client/assets/{mobile-baseline-BOm5XZsX.js → mobile-baseline-LNAOKO2v.js} +1 -1
  42. package/dist/client/assets/pieDiagram-DEJITSTG-S9DirkFb.js +30 -0
  43. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-CRgEgPIh.js → quadrantDiagram-34T5L4WZ-CVmMYBg1.js} +1 -1
  44. package/dist/client/assets/requirementDiagram-MS252O5E-U4qQHRNe.js +84 -0
  45. package/dist/client/assets/{sankeyDiagram-TZEHDZUN-Bboo1G39.js → sankeyDiagram-XADWPNL6-Zd2-RQeP.js} +3 -3
  46. package/dist/client/assets/sequenceDiagram-FGHM5R23-BU3bWBgE.js +157 -0
  47. package/dist/client/assets/stateDiagram-FHFEXIEX-DX9qwfCK.js +1 -0
  48. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-CJ_nRdIj.js +1 -0
  49. package/dist/client/assets/{terminal-instance-DV-dHuvh.js → terminal-instance-F0JrQZ9R.js} +1 -1
  50. package/dist/client/assets/timeline-definition-GMOUNBTQ-BLLt9f0n.js +120 -0
  51. package/dist/client/assets/vennDiagram-DHZGUBPP-wVxLQieb.js +34 -0
  52. package/dist/client/assets/wardley-RL74JXVD-DiTLa5PU.js +162 -0
  53. package/dist/client/assets/wardleyDiagram-NUSXRM2D-CJRSuGsS.js +20 -0
  54. package/dist/client/assets/xychartDiagram-5P7HB3ND-D-h5ykwN.js +7 -0
  55. package/dist/client/index.html +2 -2
  56. package/dist/prisma/generated/client.d.ts.map +1 -1
  57. package/dist/prisma/generated/client.js.map +1 -1
  58. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  59. package/dist/prisma/generated/internal/class.js +6 -6
  60. package/dist/prisma/generated/internal/class.js.map +1 -1
  61. package/dist/prisma/generated/internal/prismaNamespace.d.ts +1 -0
  62. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  63. package/dist/prisma/generated/internal/prismaNamespace.js +3 -2
  64. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  65. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +1 -0
  66. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  67. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +1 -0
  68. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  69. package/dist/prisma/generated/models/AgentSession.d.ts +1 -2
  70. package/dist/prisma/generated/models/AgentSession.d.ts.map +1 -1
  71. package/dist/prisma/generated/models/ClosedSession.d.ts +1 -2
  72. package/dist/prisma/generated/models/ClosedSession.d.ts.map +1 -1
  73. package/dist/prisma/generated/models/DecisionLog.d.ts +1 -2
  74. package/dist/prisma/generated/models/DecisionLog.d.ts.map +1 -1
  75. package/dist/prisma/generated/models/Project.d.ts +1 -2
  76. package/dist/prisma/generated/models/Project.d.ts.map +1 -1
  77. package/dist/prisma/generated/models/TerminalSession.d.ts +1 -2
  78. package/dist/prisma/generated/models/TerminalSession.d.ts.map +1 -1
  79. package/dist/prisma/generated/models/UserSettings.d.ts +30 -3
  80. package/dist/prisma/generated/models/UserSettings.d.ts.map +1 -1
  81. package/dist/prisma/generated/models/Workspace.d.ts +1 -2
  82. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  83. package/dist/prompts/ratchet/dispatch.md +4 -8
  84. package/dist/src/backend/orchestration/data-backup.service.d.ts.map +1 -1
  85. package/dist/src/backend/orchestration/data-backup.service.js +2 -0
  86. package/dist/src/backend/orchestration/data-backup.service.js.map +1 -1
  87. package/dist/src/backend/orchestration/data-backup.service.test.js +3 -0
  88. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  89. package/dist/src/backend/prompts/ratchet-dispatch.d.ts +1 -0
  90. package/dist/src/backend/prompts/ratchet-dispatch.d.ts.map +1 -1
  91. package/dist/src/backend/prompts/ratchet-dispatch.js +33 -3
  92. package/dist/src/backend/prompts/ratchet-dispatch.js.map +1 -1
  93. package/dist/src/backend/prompts/ratchet-dispatch.test.js +18 -0
  94. package/dist/src/backend/prompts/ratchet-dispatch.test.js.map +1 -1
  95. package/dist/src/backend/server.upgrade.test.js +4 -0
  96. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  97. package/dist/src/backend/services/github/service/github-cli/mappers.d.ts +5 -0
  98. package/dist/src/backend/services/github/service/github-cli/mappers.d.ts.map +1 -1
  99. package/dist/src/backend/services/github/service/github-cli/mappers.js +3 -0
  100. package/dist/src/backend/services/github/service/github-cli/mappers.js.map +1 -1
  101. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts +8 -0
  102. package/dist/src/backend/services/github/service/github-cli/schemas.d.ts.map +1 -1
  103. package/dist/src/backend/services/github/service/github-cli/schemas.js +8 -0
  104. package/dist/src/backend/services/github/service/github-cli/schemas.js.map +1 -1
  105. package/dist/src/backend/services/github/service/github-cli/types.d.ts +5 -0
  106. package/dist/src/backend/services/github/service/github-cli/types.d.ts.map +1 -1
  107. package/dist/src/backend/services/github/service/github-cli.service.test.js +30 -2
  108. package/dist/src/backend/services/github/service/github-cli.service.test.js.map +1 -1
  109. package/dist/src/backend/services/ratchet/service/bridges.d.ts +6 -0
  110. package/dist/src/backend/services/ratchet/service/bridges.d.ts.map +1 -1
  111. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.d.ts.map +1 -1
  112. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js +6 -1
  113. package/dist/src/backend/services/ratchet/service/ratchet-fixer-dispatch.helpers.js.map +1 -1
  114. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.d.ts.map +1 -1
  115. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js +10 -5
  116. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.js.map +1 -1
  117. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js +31 -1
  118. package/dist/src/backend/services/ratchet/service/ratchet-pr-state.helpers.test.js.map +1 -1
  119. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js +1 -0
  120. package/dist/src/backend/services/ratchet/service/ratchet.service.test.js.map +1 -1
  121. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts +3 -0
  122. package/dist/src/backend/services/ratchet/service/ratchet.types.d.ts.map +1 -1
  123. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js +1 -0
  124. package/dist/src/backend/services/session/service/data/session-provider-resolver.service.test.js.map +1 -1
  125. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts +1 -0
  126. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.d.ts.map +1 -1
  127. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js +10 -2
  128. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.js.map +1 -1
  129. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js +31 -0
  130. package/dist/src/backend/services/session/service/lifecycle/acp-event-processor.tool-timeout.test.js.map +1 -1
  131. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  132. package/dist/src/backend/services/session/service/lifecycle/session.service.js +10 -2
  133. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  134. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +38 -0
  135. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  136. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts +1 -0
  137. package/dist/src/backend/services/settings/resources/user-settings.accessor.d.ts.map +1 -1
  138. package/dist/src/backend/services/settings/resources/user-settings.accessor.js +18 -12
  139. package/dist/src/backend/services/settings/resources/user-settings.accessor.js.map +1 -1
  140. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +2 -0
  141. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  142. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts +1 -0
  143. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.d.ts.map +1 -1
  144. package/dist/src/backend/services/workspace/service/query/user-settings-query.service.js.map +1 -1
  145. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
  146. package/dist/src/backend/services/workspace/service/state/kanban-state.js +3 -1
  147. package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
  148. package/dist/src/backend/services/workspace/service/state/kanban-state.test.js +15 -1
  149. package/dist/src/backend/services/workspace/service/state/kanban-state.test.js.map +1 -1
  150. package/dist/src/backend/trpc/admin.trpc.d.ts +2 -0
  151. package/dist/src/backend/trpc/admin.trpc.d.ts.map +1 -1
  152. package/dist/src/backend/trpc/closed-sessions.trpc.d.ts +2 -2
  153. package/dist/src/backend/trpc/index.d.ts +7 -2
  154. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  155. package/dist/src/backend/trpc/user-settings.router.test.js +14 -2
  156. package/dist/src/backend/trpc/user-settings.router.test.js.map +1 -1
  157. package/dist/src/backend/trpc/user-settings.trpc.d.ts +3 -0
  158. package/dist/src/backend/trpc/user-settings.trpc.d.ts.map +1 -1
  159. package/dist/src/backend/trpc/user-settings.trpc.js +1 -0
  160. package/dist/src/backend/trpc/user-settings.trpc.js.map +1 -1
  161. package/dist/src/shared/core/ci-status.d.ts +6 -0
  162. package/dist/src/shared/core/ci-status.d.ts.map +1 -1
  163. package/dist/src/shared/core/ci-status.js +118 -4
  164. package/dist/src/shared/core/ci-status.js.map +1 -1
  165. package/dist/src/shared/core/index.d.ts +1 -1
  166. package/dist/src/shared/core/index.d.ts.map +1 -1
  167. package/dist/src/shared/core/index.js +1 -1
  168. package/dist/src/shared/core/index.js.map +1 -1
  169. package/dist/src/shared/core/workspace-sidebar-status.d.ts +1 -1
  170. package/dist/src/shared/core/workspace-sidebar-status.d.ts.map +1 -1
  171. package/dist/src/shared/core/workspace-sidebar-status.js +11 -0
  172. package/dist/src/shared/core/workspace-sidebar-status.js.map +1 -1
  173. package/dist/src/shared/github-types.d.ts +3 -0
  174. package/dist/src/shared/github-types.d.ts.map +1 -1
  175. package/dist/src/shared/schemas/export-data.schema.d.ts +2 -0
  176. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  177. package/dist/src/shared/schemas/export-data.schema.js +1 -0
  178. package/dist/src/shared/schemas/export-data.schema.js.map +1 -1
  179. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  180. package/package.json +33 -21
  181. package/prisma/migrations/20260409120000_add_ratchet_reply_to_pr_comments_setting/migration.sql +2 -0
  182. package/prisma/schema.prisma +1 -0
  183. package/prompts/ratchet/dispatch.md +4 -8
  184. package/dist/client/assets/_basePickBy-Jly7sTH-.js +0 -1
  185. package/dist/client/assets/_baseUniq-D5BmEVOx.js +0 -1
  186. package/dist/client/assets/architectureDiagram-VXUJARFQ-CXid_GYh.js +0 -36
  187. package/dist/client/assets/blockDiagram-VD42YOAC-C4wSqbul.js +0 -122
  188. package/dist/client/assets/c4Diagram-YG6GDRKO-Bm9Hc8RS.js +0 -10
  189. package/dist/client/assets/channel-XEypcIQW.js +0 -1
  190. package/dist/client/assets/chunk-B4BG7PRW-DRraW-Gz.js +0 -165
  191. package/dist/client/assets/chunk-DI55MBZ5-JzOV8eLu.js +0 -220
  192. package/dist/client/assets/chunk-TZMSLE5B-BNhuFbsG.js +0 -1
  193. package/dist/client/assets/classDiagram-2ON5EDUG-ja7XQphy.js +0 -1
  194. package/dist/client/assets/classDiagram-v2-WZHVMYZB-ja7XQphy.js +0 -1
  195. package/dist/client/assets/clone-DMmH149d.js +0 -1
  196. package/dist/client/assets/dagre-6UL2VRFP-DdHT20Rr.js +0 -4
  197. package/dist/client/assets/diagram-PSM6KHXK-D-GTyZ7r.js +0 -24
  198. package/dist/client/assets/diagram-QEK2KX5R-BZ3-3sMm.js +0 -43
  199. package/dist/client/assets/diagram-S2PKOQOG-X7IWy_dK.js +0 -24
  200. package/dist/client/assets/erDiagram-Q2GNP2WA-B5iyfztN.js +0 -60
  201. package/dist/client/assets/flowDiagram-NV44I4VS-CRQcu3xn.js +0 -162
  202. package/dist/client/assets/ganttDiagram-JELNMOA3-DdpXElTl.js +0 -267
  203. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-BCv59Nu1.js +0 -65
  204. package/dist/client/assets/graph-DnjupbcA.js +0 -1
  205. package/dist/client/assets/index-BUKDX4bp.js +0 -441
  206. package/dist/client/assets/index-DpxxuE94.css +0 -1
  207. package/dist/client/assets/infoDiagram-HS3SLOUP-BC6fowdd.js +0 -2
  208. package/dist/client/assets/journeyDiagram-XKPGCS4Q-Dh73GjE-.js +0 -139
  209. package/dist/client/assets/katex-DGN8GczM.js +0 -261
  210. package/dist/client/assets/layout-CkPMoY2L.js +0 -1
  211. package/dist/client/assets/mindmap-definition-VGOIOE7T-Bx8wGx6f.js +0 -68
  212. package/dist/client/assets/pieDiagram-ADFJNKIX-4e4sf3Lc.js +0 -30
  213. package/dist/client/assets/requirementDiagram-UZGBJVZJ-CB_oM4qF.js +0 -64
  214. package/dist/client/assets/sequenceDiagram-WL72ISMW-C70BObJN.js +0 -145
  215. package/dist/client/assets/stateDiagram-FKZM4ZOC-Dq1yT4MJ.js +0 -1
  216. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CcuL2m5W.js +0 -1
  217. package/dist/client/assets/timeline-definition-IT6M3QCI-DUJt8eID.js +0 -61
  218. package/dist/client/assets/treemap-GDKQZRPO-DPW_dVKy.js +0 -160
  219. package/dist/client/assets/xychartDiagram-PRI3JC2R-Cf9zHALQ.js +0 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factory-factory",
3
- "version": "0.3.12",
3
+ "version": "0.3.14",
4
4
  "description": "Workspace-based coding environment for running multiple Claude Code and Codex sessions in parallel",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -85,11 +85,12 @@
85
85
  "knip": "knip --include files,dependencies,unlisted"
86
86
  },
87
87
  "dependencies": {
88
+ "@agentclientprotocol/claude-agent-acp": "^0.25.3",
88
89
  "@agentclientprotocol/sdk": "0.15.0",
89
90
  "@hookform/resolvers": "^5.2.2",
90
91
  "@linear/sdk": "^76.0.0",
91
- "@prisma/adapter-better-sqlite3": "7.4.1",
92
- "@prisma/client": "7.4.1",
92
+ "@prisma/adapter-better-sqlite3": "7.7.0",
93
+ "@prisma/client": "7.7.0",
93
94
  "@radix-ui/react-accordion": "^1.2.12",
94
95
  "@radix-ui/react-alert-dialog": "^1.1.15",
95
96
  "@radix-ui/react-aspect-ratio": "^1.1.8",
@@ -125,7 +126,6 @@
125
126
  "@trpc/server": "^11.10.0",
126
127
  "@xterm/addon-fit": "^0.11.0",
127
128
  "@xterm/xterm": "^6.0.0",
128
- "@agentclientprotocol/claude-agent-acp": "^0.25.3",
129
129
  "better-sqlite3": "^12.6.2",
130
130
  "chalk": "^5.6.2",
131
131
  "class-variance-authority": "^0.7.1",
@@ -139,12 +139,12 @@
139
139
  "geist": "^1.7.0",
140
140
  "input-otp": "^1.4.2",
141
141
  "lucide-react": "^0.575.0",
142
- "mermaid": "^11.12.3",
142
+ "mermaid": "^11.14.0",
143
143
  "node-pty": "^1.1.0",
144
144
  "open": "^11.0.0",
145
145
  "p-limit": "^7.3.0",
146
146
  "pidusage": "^4.0.1",
147
- "prisma": "7.4.1",
147
+ "prisma": "7.7.0",
148
148
  "qrcode": "^1.5.4",
149
149
  "react": "^19.2.4",
150
150
  "react-day-picker": "^9.13.2",
@@ -191,28 +191,40 @@
191
191
  "overrides": {
192
192
  "@isaacs/brace-expansion": ">=5.0.1",
193
193
  "@modelcontextprotocol/sdk>ajv": ">=8.18.0",
194
+ "@anthropic-ai/sdk": "0.81.0",
195
+ "@hono/node-server": "1.19.11",
196
+ "@xmldom/xmldom": "0.8.12",
194
197
  "app-builder-lib>minimatch": ">=10.2.1",
198
+ "brace-expansion@^1": "1.1.13",
199
+ "brace-expansion@^5": "5.0.5",
195
200
  "braces": ">=3.0.3",
196
201
  "filelist>minimatch": ">=10.2.1",
197
202
  "micromatch": ">=4.0.8",
198
- "tar": ">=7.5.8",
199
- "hono": ">=4.11.10",
200
- "lodash": ">=4.17.23",
201
- "lodash-es": ">=4.17.23",
203
+ "tar": "7.5.13",
204
+ "hono": "4.12.12",
205
+ "lodash": "4.18.1",
206
+ "lodash-es": "4.18.1",
207
+ "next": "16.1.7",
208
+ "path-to-regexp": "8.4.2",
209
+ "picomatch@^2": "2.3.2",
210
+ "picomatch@^4": "4.0.4",
211
+ "serialize-javascript": "7.0.5",
212
+ "smol-toml": "1.6.1",
202
213
  "qs": ">=6.14.2",
203
214
  "form-data": ">=2.5.4",
204
- "tough-cookie": ">=4.1.3"
215
+ "tough-cookie": ">=4.1.3",
216
+ "yaml": "2.8.3"
205
217
  }
206
218
  },
207
219
  "devDependencies": {
208
220
  "@biomejs/biome": "^2.4.4",
209
221
  "@electron/rebuild": "^4.0.3",
210
222
  "@playwright/test": "^1.58.2",
211
- "@storybook/addon-a11y": "10.2.12",
212
- "@storybook/addon-docs": "10.2.12",
213
- "@storybook/addon-themes": "10.2.12",
214
- "@storybook/react": "10.2.12",
215
- "@storybook/react-vite": "10.2.12",
223
+ "@storybook/addon-a11y": "10.3.5",
224
+ "@storybook/addon-docs": "10.3.5",
225
+ "@storybook/addon-themes": "10.3.5",
226
+ "@storybook/react": "10.3.5",
227
+ "@storybook/react-vite": "10.3.5",
216
228
  "@tailwindcss/vite": "^4.2.1",
217
229
  "@types/better-sqlite3": "^7.6.13",
218
230
  "@types/express": "^5.0.6",
@@ -229,22 +241,22 @@
229
241
  "autoprefixer": "^10.4.27",
230
242
  "concurrently": "^9.2.1",
231
243
  "dependency-cruiser": "^17.3.8",
232
- "electron": "^40.6.1",
244
+ "electron": "^40.8.5",
233
245
  "electron-builder": "^26.8.1",
234
246
  "husky": "^9.1.7",
235
- "jsdom": "^28.1.0",
247
+ "jsdom": "^29.0.2",
236
248
  "knip": "^5.85.0",
237
249
  "lint-staged": "^16.2.7",
238
250
  "next-themes": "^0.4.6",
239
251
  "postcss": "^8.5.6",
240
- "prisma": "7.4.1",
241
- "storybook": "10.2.12",
252
+ "prisma": "7.7.0",
253
+ "storybook": "10.3.5",
242
254
  "supertest": "^7.2.2",
243
255
  "tailwindcss": "^4.2.1",
244
256
  "tsc-alias": "^1.8.16",
245
257
  "tsx": "^4.21.0",
246
258
  "typescript": "^5.9.3",
247
- "vite": "^7.3.1",
259
+ "vite": "^7.3.2",
248
260
  "vitest": "^4.0.18",
249
261
  "wait-on": "^9.0.4"
250
262
  }
@@ -0,0 +1,2 @@
1
+ ALTER TABLE "UserSettings"
2
+ ADD COLUMN "ratchetReplyToPrComments" BOOLEAN NOT NULL DEFAULT true;
@@ -324,6 +324,7 @@ model UserSettings {
324
324
 
325
325
  // Ratchet Settings (unified PR progression)
326
326
  ratchetEnabled Boolean @default(false) // Default for new GitHub-issue-created workspaces
327
+ ratchetReplyToPrComments Boolean @default(true) // Whether Ratchet should post PR/review comment replies
327
328
  defaultSessionProvider SessionProvider @default(CLAUDE)
328
329
  defaultClaudeModel String @default("sonnet")
329
330
  defaultCodexModel String @default("default")
@@ -37,18 +37,14 @@ Required Sequence:
37
37
  3. Check for unaddressed code review comments and address them.
38
38
  4. Run build/lint/test and fix any resulting failures.
39
39
  5. Push only when you made actionable CI or review fixes (not merge-only updates).
40
- 6. Reply to every review comment (human or AI) and resolve addressed threads.
41
- - For each comment you acted on: explain what you changed and where (file + line), then resolve the thread.
42
- - For each comment you did not act on: explain why (e.g. "intentional design", "out of scope for this PR", "this is informational — no change needed").
43
- - Always explicitly @ mention the commenter in your reply (e.g. "@username — fixed as suggested").
44
- - This step is MANDATORY regardless of whether any code changes were made.
40
+ 6. {{REVIEW_REPLY_INSTRUCTION}}
45
41
  7. Request re-review from reviewers whose comments you addressed using `gh pr edit {{PR_NUMBER}} --add-reviewer <login>`.
46
- 8. CRITICAL: If you made ANY code changes in response to review comments (regardless of whether you already commented on them in a previous session), you MUST post a PR comment tagging the reviewers to request re-review. Use `gh pr comment {{PR_NUMBER}} --body "@reviewer1 @reviewer2 please re-review"`. This is MANDATORY even if you previously commented on the review - the act of pushing new changes requires a new re-review request. Include all addressed reviewers in one comment.
42
+ 8. {{RE_REVIEW_COMMENT_INSTRUCTION}}
47
43
 
48
44
  Completion Criteria:
49
45
  - Branch includes the latest base branch.
50
46
  - No unresolved conflicts remain.
51
47
  - CI and local verification are healthy, or best effort is documented in session output.
52
- - All review comments (human and AI) are replied to; addressed threads are resolved.
48
+ - {{REVIEW_REPLY_COMPLETION}}
53
49
  - Re-review has been requested from reviewers whose comments were addressed.
54
- - MANDATORY: If you made code changes addressing review comments, a PR comment MUST be posted tagging ALL reviewers whose comments triggered these changes, asking them to re-review. This is required even if you previously responded to their comments - new code changes always require a new re-review request.
50
+ - {{RE_REVIEW_COMMENT_COMPLETION}}
@@ -1 +0,0 @@
1
- import{e as v,c as O,g,k as P,h as p,j as c,l as w,m as A,n as x,t as N,o as E}from"./_baseUniq-D5BmEVOx.js";import{ba as b,aV as F,bb as M,bc as _,bd as $,be as I,bf as B,bg as T,bh as y,bi as S}from"./index-BUKDX4bp.js";var G=/\s/;function H(n){for(var r=n.length;r--&&G.test(n.charAt(r)););return r}var L=/^\s+/;function R(n){return n&&n.slice(0,H(n)+1).replace(L,"")}var m=NaN,q=/^[-+]0x[0-9a-f]+$/i,z=/^0b[01]+$/i,C=/^0o[0-7]+$/i,K=parseInt;function W(n){if(typeof n=="number")return n;if(v(n))return m;if(b(n)){var r=typeof n.valueOf=="function"?n.valueOf():n;n=b(r)?r+"":r}if(typeof n!="string")return n===0?n:+n;n=R(n);var t=z.test(n);return t||C.test(n)?K(n.slice(2),t?2:8):q.test(n)?m:+n}var o=1/0,X=17976931348623157e292;function Y(n){if(!n)return n===0?n:0;if(n=W(n),n===o||n===-o){var r=n<0?-1:1;return r*X}return n===n?n:0}function D(n){var r=Y(n),t=r%1;return r===r?t?r-t:r:0}function fn(n){var r=n==null?0:n.length;return r?O(n):[]}var l=Object.prototype,J=l.hasOwnProperty,dn=F(function(n,r){n=Object(n);var t=-1,a=r.length,e=a>2?r[2]:void 0;for(e&&M(r[0],r[1],e)&&(a=1);++t<a;)for(var f=r[t],i=_(f),s=-1,d=i.length;++s<d;){var u=i[s],h=n[u];(h===void 0||$(h,l[u])&&!J.call(n,u))&&(n[u]=f[u])}return n});function un(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}function Q(n){return function(r,t,a){var e=Object(r);if(!I(r)){var f=g(t);r=P(r),t=function(s){return f(e[s],s,e)}}var i=n(r,t,a);return i>-1?e[f?r[i]:i]:void 0}}var U=Math.max;function Z(n,r,t){var a=n==null?0:n.length;if(!a)return-1;var e=t==null?0:D(t);return e<0&&(e=U(a+e,0)),p(n,g(r),e)}var hn=Q(Z);function V(n,r){var t=-1,a=I(n)?Array(n.length):[];return c(n,function(e,f,i){a[++t]=r(e,f,i)}),a}function bn(n,r){var t=B(n)?w:V;return t(n,g(r))}var j=Object.prototype,k=j.hasOwnProperty;function nn(n,r){return n!=null&&k.call(n,r)}function gn(n,r){return n!=null&&A(n,r,nn)}function rn(n,r){return n<r}function tn(n,r,t){for(var a=-1,e=n.length;++a<e;){var f=n[a],i=r(f);if(i!=null&&(s===void 0?i===i&&!v(i):t(i,s)))var s=i,d=f}return d}function mn(n){return n&&n.length?tn(n,T,rn):void 0}function en(n,r,t,a){if(!b(n))return n;r=x(r,n);for(var e=-1,f=r.length,i=f-1,s=n;s!=null&&++e<f;){var d=N(r[e]),u=t;if(d==="__proto__"||d==="constructor"||d==="prototype")return n;if(e!=i){var h=s[d];u=void 0,u===void 0&&(u=b(h)?h:y(r[e+1])?[]:{})}S(s,d,u),s=s[d]}return n}function on(n,r,t){for(var a=-1,e=r.length,f={};++a<e;){var i=r[a],s=E(n,i);t(s,i)&&en(f,x(i,n),s)}return f}export{rn as a,tn as b,V as c,on as d,mn as e,fn as f,hn as g,gn as h,dn as i,D as j,un as l,bn as m,Y as t};
@@ -1 +0,0 @@
1
- import{bz as S,bA as Rn,bf as T,bB as w,be as sn,bC as xn,bD as Mn,bE as Cn,bF as un,bG as x,bc as U,bH as mn,bI as on,bJ as Fn,bK as E,bx as gn,bL as R,ba as ln,bM as Dn,bN as D,bO as Gn,bP as Un,bQ as _,bi as Bn,bR as Nn,bd as Kn,bS as J,bT as Hn,bU as jn,bh as qn,bg as cn,bv as Yn,bV as C}from"./index-BUKDX4bp.js";var Zn="[object Symbol]";function B(n){return typeof n=="symbol"||S(n)&&Rn(n)==Zn}function bn(n,r){for(var e=-1,t=n==null?0:n.length,f=Array(t);++e<t;)f[e]=r(n[e],e,n);return f}var Q=w?w.prototype:void 0,X=Q?Q.toString:void 0;function dn(n){if(typeof n=="string")return n;if(T(n))return bn(n,dn)+"";if(B(n))return X?X.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function Jn(){}function pn(n,r){for(var e=-1,t=n==null?0:n.length;++e<t&&r(n[e],e,n)!==!1;);return n}function Qn(n,r,e,t){for(var f=n.length,i=e+-1;++i<f;)if(r(n[i],i,n))return i;return-1}function Xn(n){return n!==n}function Wn(n,r,e){for(var t=e-1,f=n.length;++t<f;)if(n[t]===r)return t;return-1}function zn(n,r,e){return r===r?Wn(n,r,e):Qn(n,Xn,e)}function Vn(n,r){var e=n==null?0:n.length;return!!e&&zn(n,r,0)>-1}function $(n){return sn(n)?xn(n):Mn(n)}var kn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,nr=/^\w*$/;function N(n,r){if(T(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||B(n)?!0:nr.test(n)||!kn.test(n)||r!=null&&n in Object(r)}var rr=500;function er(n){var r=Cn(n,function(t){return e.size===rr&&e.clear(),t}),e=r.cache;return r}var tr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ir=/\\(\\)?/g,fr=er(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(tr,function(e,t,f,i){r.push(f?i.replace(ir,"$1"):t||e)}),r});function ar(n){return n==null?"":dn(n)}function An(n,r){return T(n)?n:N(n,r)?[n]:fr(ar(n))}function M(n){if(typeof n=="string"||B(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(n,r){r=An(r,n);for(var e=0,t=r.length;n!=null&&e<t;)n=n[M(r[e++])];return e&&e==t?n:void 0}function sr(n,r,e){var t=n==null?void 0:yn(n,r);return t===void 0?e:t}function K(n,r){for(var e=-1,t=r.length,f=n.length;++e<t;)n[f+e]=r[e];return n}var W=w?w.isConcatSpreadable:void 0;function ur(n){return T(n)||un(n)||!!(W&&n&&n[W])}function Ot(n,r,e,t,f){var i=-1,a=n.length;for(e||(e=ur),f||(f=[]);++i<a;){var s=n[i];e(s)?K(f,s):t||(f[f.length]=s)}return f}function or(n,r,e,t){var f=-1,i=n==null?0:n.length;for(t&&i&&(e=n[++f]);++f<i;)e=r(e,n[f],f,n);return e}function gr(n,r){return n&&x(r,$(r),n)}function lr(n,r){return n&&x(r,U(r),n)}function Tn(n,r){for(var e=-1,t=n==null?0:n.length,f=0,i=[];++e<t;){var a=n[e];r(a,e,n)&&(i[f++]=a)}return i}function hn(){return[]}var cr=Object.prototype,br=cr.propertyIsEnumerable,z=Object.getOwnPropertySymbols,H=z?function(n){return n==null?[]:(n=Object(n),Tn(z(n),function(r){return br.call(n,r)}))}:hn;function dr(n,r){return x(n,H(n),r)}var pr=Object.getOwnPropertySymbols,wn=pr?function(n){for(var r=[];n;)K(r,H(n)),n=mn(n);return r}:hn;function Ar(n,r){return x(n,wn(n),r)}function On(n,r,e){var t=r(n);return T(n)?t:K(t,e(n))}function G(n){return On(n,$,H)}function yr(n){return On(n,U,wn)}var Tr=Object.prototype,hr=Tr.hasOwnProperty;function wr(n){var r=n.length,e=new n.constructor(r);return r&&typeof n[0]=="string"&&hr.call(n,"index")&&(e.index=n.index,e.input=n.input),e}function Or(n,r){var e=r?on(n.buffer):n.buffer;return new n.constructor(e,n.byteOffset,n.byteLength)}var $r=/\w*$/;function _r(n){var r=new n.constructor(n.source,$r.exec(n));return r.lastIndex=n.lastIndex,r}var V=w?w.prototype:void 0,k=V?V.valueOf:void 0;function Sr(n){return k?Object(k.call(n)):{}}var Er="[object Boolean]",Ir="[object Date]",Pr="[object Map]",vr="[object Number]",Lr="[object RegExp]",Rr="[object Set]",xr="[object String]",Mr="[object Symbol]",Cr="[object ArrayBuffer]",mr="[object DataView]",Fr="[object Float32Array]",Dr="[object Float64Array]",Gr="[object Int8Array]",Ur="[object Int16Array]",Br="[object Int32Array]",Nr="[object Uint8Array]",Kr="[object Uint8ClampedArray]",Hr="[object Uint16Array]",jr="[object Uint32Array]";function qr(n,r,e){var t=n.constructor;switch(r){case Cr:return on(n);case Er:case Ir:return new t(+n);case mr:return Or(n,e);case Fr:case Dr:case Gr:case Ur:case Br:case Nr:case Kr:case Hr:case jr:return Fn(n,e);case Pr:return new t;case vr:case xr:return new t(n);case Lr:return _r(n);case Rr:return new t;case Mr:return Sr(n)}}var Yr="[object Map]";function Zr(n){return S(n)&&E(n)==Yr}var nn=R&&R.isMap,Jr=nn?gn(nn):Zr,Qr="[object Set]";function Xr(n){return S(n)&&E(n)==Qr}var rn=R&&R.isSet,Wr=rn?gn(rn):Xr,zr=1,Vr=2,kr=4,$n="[object Arguments]",ne="[object Array]",re="[object Boolean]",ee="[object Date]",te="[object Error]",_n="[object Function]",ie="[object GeneratorFunction]",fe="[object Map]",ae="[object Number]",Sn="[object Object]",se="[object RegExp]",ue="[object Set]",oe="[object String]",ge="[object Symbol]",le="[object WeakMap]",ce="[object ArrayBuffer]",be="[object DataView]",de="[object Float32Array]",pe="[object Float64Array]",Ae="[object Int8Array]",ye="[object Int16Array]",Te="[object Int32Array]",he="[object Uint8Array]",we="[object Uint8ClampedArray]",Oe="[object Uint16Array]",$e="[object Uint32Array]",g={};g[$n]=g[ne]=g[ce]=g[be]=g[re]=g[ee]=g[de]=g[pe]=g[Ae]=g[ye]=g[Te]=g[fe]=g[ae]=g[Sn]=g[se]=g[ue]=g[oe]=g[ge]=g[he]=g[we]=g[Oe]=g[$e]=!0;g[te]=g[_n]=g[le]=!1;function m(n,r,e,t,f,i){var a,s=r&zr,u=r&Vr,b=r&kr;if(a!==void 0)return a;if(!ln(n))return n;var l=T(n);if(l){if(a=wr(n),!s)return Dn(n,a)}else{var o=E(n),c=o==_n||o==ie;if(D(n))return Gn(n,s);if(o==Sn||o==$n||c&&!f){if(a=u||c?{}:Un(n),!s)return u?Ar(n,lr(a,n)):dr(n,gr(a,n))}else{if(!g[o])return f?n:{};a=qr(n,o,s)}}i||(i=new _);var h=i.get(n);if(h)return h;i.set(n,a),Wr(n)?n.forEach(function(d){a.add(m(d,r,e,d,n,i))}):Jr(n)&&n.forEach(function(d,p){a.set(p,m(d,r,e,p,n,i))});var A=b?u?yr:G:u?U:$,y=l?void 0:A(n);return pn(y||n,function(d,p){y&&(p=d,d=n[p]),Bn(a,p,m(d,r,e,p,n,i))}),a}var _e="__lodash_hash_undefined__";function Se(n){return this.__data__.set(n,_e),this}function Ee(n){return this.__data__.has(n)}function I(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new Nn;++r<e;)this.add(n[r])}I.prototype.add=I.prototype.push=Se;I.prototype.has=Ee;function Ie(n,r){for(var e=-1,t=n==null?0:n.length;++e<t;)if(r(n[e],e,n))return!0;return!1}function En(n,r){return n.has(r)}var Pe=1,ve=2;function In(n,r,e,t,f,i){var a=e&Pe,s=n.length,u=r.length;if(s!=u&&!(a&&u>s))return!1;var b=i.get(n),l=i.get(r);if(b&&l)return b==r&&l==n;var o=-1,c=!0,h=e&ve?new I:void 0;for(i.set(n,r),i.set(r,n);++o<s;){var A=n[o],y=r[o];if(t)var d=a?t(y,A,o,r,n,i):t(A,y,o,n,r,i);if(d!==void 0){if(d)continue;c=!1;break}if(h){if(!Ie(r,function(p,O){if(!En(h,O)&&(A===p||f(A,p,e,t,i)))return h.push(O)})){c=!1;break}}else if(!(A===y||f(A,y,e,t,i))){c=!1;break}}return i.delete(n),i.delete(r),c}function Le(n){var r=-1,e=Array(n.size);return n.forEach(function(t,f){e[++r]=[f,t]}),e}function j(n){var r=-1,e=Array(n.size);return n.forEach(function(t){e[++r]=t}),e}var Re=1,xe=2,Me="[object Boolean]",Ce="[object Date]",me="[object Error]",Fe="[object Map]",De="[object Number]",Ge="[object RegExp]",Ue="[object Set]",Be="[object String]",Ne="[object Symbol]",Ke="[object ArrayBuffer]",He="[object DataView]",en=w?w.prototype:void 0,F=en?en.valueOf:void 0;function je(n,r,e,t,f,i,a){switch(e){case He:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case Ke:return!(n.byteLength!=r.byteLength||!i(new J(n),new J(r)));case Me:case Ce:case De:return Kn(+n,+r);case me:return n.name==r.name&&n.message==r.message;case Ge:case Be:return n==r+"";case Fe:var s=Le;case Ue:var u=t&Re;if(s||(s=j),n.size!=r.size&&!u)return!1;var b=a.get(n);if(b)return b==r;t|=xe,a.set(n,r);var l=In(s(n),s(r),t,f,i,a);return a.delete(n),l;case Ne:if(F)return F.call(n)==F.call(r)}return!1}var qe=1,Ye=Object.prototype,Ze=Ye.hasOwnProperty;function Je(n,r,e,t,f,i){var a=e&qe,s=G(n),u=s.length,b=G(r),l=b.length;if(u!=l&&!a)return!1;for(var o=u;o--;){var c=s[o];if(!(a?c in r:Ze.call(r,c)))return!1}var h=i.get(n),A=i.get(r);if(h&&A)return h==r&&A==n;var y=!0;i.set(n,r),i.set(r,n);for(var d=a;++o<u;){c=s[o];var p=n[c],O=r[c];if(t)var Z=a?t(O,p,c,r,n,i):t(p,O,c,n,r,i);if(!(Z===void 0?p===O||f(p,O,e,t,i):Z)){y=!1;break}d||(d=c=="constructor")}if(y&&!d){var P=n.constructor,v=r.constructor;P!=v&&"constructor"in n&&"constructor"in r&&!(typeof P=="function"&&P instanceof P&&typeof v=="function"&&v instanceof v)&&(y=!1)}return i.delete(n),i.delete(r),y}var Qe=1,tn="[object Arguments]",fn="[object Array]",L="[object Object]",Xe=Object.prototype,an=Xe.hasOwnProperty;function We(n,r,e,t,f,i){var a=T(n),s=T(r),u=a?fn:E(n),b=s?fn:E(r);u=u==tn?L:u,b=b==tn?L:b;var l=u==L,o=b==L,c=u==b;if(c&&D(n)){if(!D(r))return!1;a=!0,l=!1}if(c&&!l)return i||(i=new _),a||Hn(n)?In(n,r,e,t,f,i):je(n,r,u,e,t,f,i);if(!(e&Qe)){var h=l&&an.call(n,"__wrapped__"),A=o&&an.call(r,"__wrapped__");if(h||A){var y=h?n.value():n,d=A?r.value():r;return i||(i=new _),f(y,d,e,t,i)}}return c?(i||(i=new _),Je(n,r,e,t,f,i)):!1}function q(n,r,e,t,f){return n===r?!0:n==null||r==null||!S(n)&&!S(r)?n!==n&&r!==r:We(n,r,e,t,q,f)}var ze=1,Ve=2;function ke(n,r,e,t){var f=e.length,i=f;if(n==null)return!i;for(n=Object(n);f--;){var a=e[f];if(a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++f<i;){a=e[f];var s=a[0],u=n[s],b=a[1];if(a[2]){if(u===void 0&&!(s in n))return!1}else{var l=new _,o;if(!(o===void 0?q(b,u,ze|Ve,t,l):o))return!1}}return!0}function Pn(n){return n===n&&!ln(n)}function nt(n){for(var r=$(n),e=r.length;e--;){var t=r[e],f=n[t];r[e]=[t,f,Pn(f)]}return r}function vn(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function rt(n){var r=nt(n);return r.length==1&&r[0][2]?vn(r[0][0],r[0][1]):function(e){return e===n||ke(e,n,r)}}function et(n,r){return n!=null&&r in Object(n)}function tt(n,r,e){r=An(r,n);for(var t=-1,f=r.length,i=!1;++t<f;){var a=M(r[t]);if(!(i=n!=null&&e(n,a)))break;n=n[a]}return i||++t!=f?i:(f=n==null?0:n.length,!!f&&jn(f)&&qn(a,f)&&(T(n)||un(n)))}function it(n,r){return n!=null&&tt(n,r,et)}var ft=1,at=2;function st(n,r){return N(n)&&Pn(r)?vn(M(n),r):function(e){var t=sr(e,n);return t===void 0&&t===r?it(e,n):q(r,t,ft|at)}}function ut(n){return function(r){return r?.[n]}}function ot(n){return function(r){return yn(r,n)}}function gt(n){return N(n)?ut(M(n)):ot(n)}function Ln(n){return typeof n=="function"?n:n==null?cn:typeof n=="object"?T(n)?st(n[0],n[1]):rt(n):gt(n)}function lt(n,r){return n&&Yn(n,r,$)}function ct(n,r){return function(e,t){if(e==null)return e;if(!sn(e))return n(e,t);for(var f=e.length,i=-1,a=Object(e);++i<f&&t(a[i],i,a)!==!1;);return e}}var Y=ct(lt);function bt(n){return typeof n=="function"?n:cn}function $t(n,r){var e=T(n)?pn:Y;return e(n,bt(r))}function dt(n,r){var e=[];return Y(n,function(t,f,i){r(t,f,i)&&e.push(t)}),e}function _t(n,r){var e=T(n)?Tn:dt;return e(n,Ln(r))}function pt(n,r){return bn(r,function(e){return n[e]})}function St(n){return n==null?[]:pt(n,$(n))}function Et(n){return n===void 0}function At(n,r,e,t,f){return f(n,function(i,a,s){e=t?(t=!1,i):r(e,i,a,s)}),e}function It(n,r,e){var t=T(n)?or:At,f=arguments.length<3;return t(n,Ln(r),e,f,Y)}var yt=1/0,Tt=C&&1/j(new C([,-0]))[1]==yt?function(n){return new C(n)}:Jn,ht=200;function Pt(n,r,e){var t=-1,f=Vn,i=n.length,a=!0,s=[],u=s;if(i>=ht){var b=r?null:Tt(n);if(b)return j(b);a=!1,f=En,u=new I}else u=r?[]:s;n:for(;++t<i;){var l=n[t],o=r?r(l):l;if(l=l!==0?l:0,a&&o===o){for(var c=u.length;c--;)if(u[c]===o)continue n;r&&u.push(o),s.push(l)}else f(u,o,e)||(u!==s&&u.push(o),s.push(l))}return s}export{Tn as A,dt as B,Ie as C,Jn as D,I as S,Pt as a,m as b,Ot as c,$t as d,B as e,_t as f,Ln as g,Qn as h,Et as i,Y as j,$ as k,bn as l,tt as m,An as n,yn as o,bt as p,lt as q,It as r,it as s,M as t,ar as u,St as v,Vn as w,En as x,zn as y,yr as z};