factory-factory 0.3.15 → 0.3.16

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 (254) hide show
  1. package/dist/client/assets/{arc-BcgvzhBM.js → arc-CAOrfHBL.js} +1 -1
  2. package/dist/client/assets/architectureDiagram-3BPJPVTR-CzxGCKeM.js +36 -0
  3. package/dist/client/assets/blockDiagram-GPEHLZMM-B4k0dvv-.js +132 -0
  4. package/dist/client/assets/{c4Diagram-AHTNJAMY-CZzKOYUW.js → c4Diagram-AAUBKEIU-ByaECY1u.js} +1 -1
  5. package/dist/client/assets/channel-D2ho7Eza.js +1 -0
  6. package/dist/client/assets/{chunk-EDXVE4YY-CG2Nu04g.js → chunk-2J33WTMH-Crxo1uMY.js} +1 -1
  7. package/dist/client/assets/{chunk-4BX2VUAB-UdAQPeid.js → chunk-4BX2VUAB-CggFLwAA.js} +1 -1
  8. package/dist/client/assets/{chunk-55IACEB6-B5JqE8I6.js → chunk-55IACEB6-BSoTWFAF.js} +1 -1
  9. package/dist/client/assets/chunk-727SXJPM-DcQoeGkQ.js +206 -0
  10. package/dist/client/assets/chunk-AQP2D5EJ-Ci5tNJvg.js +231 -0
  11. package/dist/client/assets/{chunk-FMBD7UC4-BrQkp_Wk.js → chunk-FMBD7UC4-CjYtwTh4.js} +1 -1
  12. package/dist/client/assets/{chunk-YZCP3GAM-BdOKCwHt.js → chunk-ND2GUHAM-Dla8Gmku.js} +1 -1
  13. package/dist/client/assets/{chunk-QZHKN3VN-C7yEPhCF.js → chunk-QZHKN3VN-CiblfzNN.js} +1 -1
  14. package/dist/client/assets/classDiagram-4FO5ZUOK-ZExoOExU.js +1 -0
  15. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ZExoOExU.js +1 -0
  16. package/dist/client/assets/{cose-bilkent-S5V4N54A-DUv2_3Rk.js → cose-bilkent-S5V4N54A-DWuzgvAN.js} +1 -1
  17. package/dist/client/assets/dagre-BM42HDAG-hvdcGfHc.js +4 -0
  18. package/dist/client/assets/diagram-2AECGRRQ-DVZDsgVY.js +43 -0
  19. package/dist/client/assets/diagram-5GNKFQAL-BLXKSUUu.js +10 -0
  20. package/dist/client/assets/diagram-KO2AKTUF-1nNBdWqs.js +3 -0
  21. package/dist/client/assets/diagram-LMA3HP47-CTw-M4zU.js +24 -0
  22. package/dist/client/assets/diagram-OG6HWLK6-D9J0vyno.js +24 -0
  23. package/dist/client/assets/{erDiagram-SMLLAGMA-C52zxlXc.js → erDiagram-TEJ5UH35-DYXcLeDs.js} +1 -1
  24. package/dist/client/assets/{flowDiagram-DWJPFMVM-C16IJbiH.js → flowDiagram-I6XJVG4X-CXFyFXcd.js} +1 -1
  25. package/dist/client/assets/{ganttDiagram-T4ZO3ILL-CNHURQS3.js → ganttDiagram-6RSMTGT7-CPGMIRhg.js} +2 -2
  26. package/dist/client/assets/gitGraphDiagram-PVQCEYII-BCIDHp-Q.js +106 -0
  27. package/dist/client/assets/graph--OzhPTMs.js +1 -0
  28. package/dist/client/assets/index-IJ_NNlgJ.css +1 -0
  29. package/dist/client/assets/{index-D9fqVzzQ.js → index-gIy0Sz_B.js} +149 -150
  30. package/dist/client/assets/infoDiagram-5YYISTIA-ThNaUmLI.js +2 -0
  31. package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BZxR-N5R.js → ishikawaDiagram-YF4QCWOH-nD7e1KKT.js} +1 -1
  32. package/dist/client/assets/{journeyDiagram-VCZTEJTY-CbxE6mC4.js → journeyDiagram-JHISSGLW-DKfK1tIp.js} +1 -1
  33. package/dist/client/assets/{kanban-definition-6JOO6SKY-C6I03tZJ.js → kanban-definition-UN3LZRKU-C61PkF-T.js} +1 -1
  34. package/dist/client/assets/layout-SsrduOYp.js +1 -0
  35. package/dist/client/assets/{linear-Ddb4fj7p.js → linear-yYp6Wht8.js} +1 -1
  36. package/dist/client/assets/{mindmap-definition-QFDTVHPH-F-yoVxCu.js → mindmap-definition-RKZ34NQL-DI6Bl654.js} +10 -10
  37. package/dist/client/assets/{mobile-baseline-Dazkh8y-.js → mobile-baseline-DRrQYbFX.js} +1 -1
  38. package/dist/client/assets/pieDiagram-4H26LBE5-CNV-VY3H.js +30 -0
  39. package/dist/client/assets/quadrantDiagram-W4KKPZXB-CDBpCVHO.js +7 -0
  40. package/dist/client/assets/{requirementDiagram-MS252O5E-O0ZNjKwg.js → requirementDiagram-4Y6WPE33-D_rxDIc5.js} +1 -1
  41. package/dist/client/assets/sankeyDiagram-5OEKKPKP-DeyadfL0.js +40 -0
  42. package/dist/client/assets/{sequenceDiagram-FGHM5R23-CCR1x1xb.js → sequenceDiagram-3UESZ5HK-36_kZ6la.js} +12 -7
  43. package/dist/client/assets/stateDiagram-AJRCARHV-4ayM-mAT.js +1 -0
  44. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-ChnnLckY.js +1 -0
  45. package/dist/client/assets/{terminal-instance-DoKvF2yb.js → terminal-instance-CMp5bO62.js} +1 -1
  46. package/dist/client/assets/{timeline-definition-GMOUNBTQ-DWmFPzXq.js → timeline-definition-PNZ67QCA-D0pQgePo.js} +1 -1
  47. package/dist/client/assets/{vennDiagram-DHZGUBPP-DkToyCBu.js → vennDiagram-CIIHVFJN-CnoMcpwq.js} +1 -1
  48. package/dist/client/assets/wardley-L42UT6IY-DOtSWmwv.js +161 -0
  49. package/dist/client/assets/wardleyDiagram-YWT4CUSO-Z3hYGa2_.js +78 -0
  50. package/dist/client/assets/{xychartDiagram-5P7HB3ND-dlMEb9V2.js → xychartDiagram-2RQKCTM6-CBvgTdkn.js} +1 -1
  51. package/dist/client/index.html +2 -2
  52. package/dist/prisma/generated/browser.d.ts +2 -0
  53. package/dist/prisma/generated/browser.d.ts.map +1 -1
  54. package/dist/prisma/generated/client.d.ts +2 -0
  55. package/dist/prisma/generated/client.d.ts.map +1 -1
  56. package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
  57. package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
  58. package/dist/prisma/generated/enums.d.ts +16 -0
  59. package/dist/prisma/generated/enums.d.ts.map +1 -1
  60. package/dist/prisma/generated/enums.js +15 -1
  61. package/dist/prisma/generated/enums.js.map +1 -1
  62. package/dist/prisma/generated/internal/class.d.ts +6 -0
  63. package/dist/prisma/generated/internal/class.d.ts.map +1 -1
  64. package/dist/prisma/generated/internal/class.js +4 -4
  65. package/dist/prisma/generated/internal/class.js.map +1 -1
  66. package/dist/prisma/generated/internal/prismaNamespace.d.ts +181 -1
  67. package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
  68. package/dist/prisma/generated/internal/prismaNamespace.js +27 -1
  69. package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
  70. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +28 -0
  71. package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
  72. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +27 -1
  73. package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  74. package/dist/prisma/generated/models/PeriodicTask.d.ts +954 -0
  75. package/dist/prisma/generated/models/PeriodicTask.d.ts.map +1 -0
  76. package/dist/prisma/generated/models/PeriodicTask.js +2 -0
  77. package/dist/prisma/generated/models/PeriodicTask.js.map +1 -0
  78. package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts +813 -0
  79. package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts.map +1 -0
  80. package/dist/prisma/generated/models/PeriodicTaskExecution.js +2 -0
  81. package/dist/prisma/generated/models/PeriodicTaskExecution.js.map +1 -0
  82. package/dist/prisma/generated/models/Project.d.ts +132 -0
  83. package/dist/prisma/generated/models/Project.d.ts.map +1 -1
  84. package/dist/prisma/generated/models/Workspace.d.ts +809 -32
  85. package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
  86. package/dist/prisma/generated/models.d.ts +2 -0
  87. package/dist/prisma/generated/models.d.ts.map +1 -1
  88. package/dist/src/backend/lib/session-summaries.d.ts +1 -1
  89. package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
  90. package/dist/src/backend/lib/session-summaries.js +3 -2
  91. package/dist/src/backend/lib/session-summaries.js.map +1 -1
  92. package/dist/src/backend/lib/workspace-derived-state.js +1 -1
  93. package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
  94. package/dist/src/backend/lib/workspace-derived-state.test.js +33 -9
  95. package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
  96. package/dist/src/backend/orchestration/data-backup.service.test.js +1 -0
  97. package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
  98. package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
  99. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +39 -1
  100. package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
  101. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +3 -1
  102. package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
  103. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +34 -0
  104. package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
  105. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +1 -0
  106. package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
  107. package/dist/src/backend/server.d.ts.map +1 -1
  108. package/dist/src/backend/server.js +52 -32
  109. package/dist/src/backend/server.js.map +1 -1
  110. package/dist/src/backend/server.upgrade.test.js +10 -1
  111. package/dist/src/backend/server.upgrade.test.js.map +1 -1
  112. package/dist/src/backend/services/constants.d.ts +1 -0
  113. package/dist/src/backend/services/constants.d.ts.map +1 -1
  114. package/dist/src/backend/services/constants.js +1 -0
  115. package/dist/src/backend/services/constants.js.map +1 -1
  116. package/dist/src/backend/services/periodic-task/index.d.ts +5 -0
  117. package/dist/src/backend/services/periodic-task/index.d.ts.map +1 -0
  118. package/dist/src/backend/services/periodic-task/index.js +6 -0
  119. package/dist/src/backend/services/periodic-task/index.js.map +1 -0
  120. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +49 -0
  121. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -0
  122. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +138 -0
  123. package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -0
  124. package/dist/src/backend/services/periodic-task/service/index.d.ts +3 -0
  125. package/dist/src/backend/services/periodic-task/service/index.d.ts.map +1 -0
  126. package/dist/src/backend/services/periodic-task/service/index.js +2 -0
  127. package/dist/src/backend/services/periodic-task/service/index.js.map +1 -0
  128. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +44 -0
  129. package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -0
  130. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +177 -0
  131. package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -0
  132. package/dist/src/backend/services/registry.d.ts +6 -2
  133. package/dist/src/backend/services/registry.d.ts.map +1 -1
  134. package/dist/src/backend/services/registry.js +7 -0
  135. package/dist/src/backend/services/registry.js.map +1 -1
  136. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +1 -0
  137. package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
  138. package/dist/src/backend/services/session/resources/agent-session.accessor.js +79 -51
  139. package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
  140. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +15 -0
  141. package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
  142. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +10 -1
  143. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
  144. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +72 -2
  145. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
  146. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +66 -0
  147. package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
  148. package/dist/src/backend/services/session/service/data/session-data.service.d.ts +2 -0
  149. package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
  150. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +1 -1
  151. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
  152. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +6 -4
  153. package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
  154. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +2 -0
  155. package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
  156. package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
  157. package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
  158. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
  159. package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
  160. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +1 -0
  161. package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
  162. package/dist/src/backend/services/session/service/lifecycle/session.service.js +9 -0
  163. package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
  164. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +74 -0
  165. package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
  166. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +2 -1
  167. package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
  168. package/dist/src/backend/services/workspace/resources/workspace.accessor.js +1 -0
  169. package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
  170. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +1 -0
  171. package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
  172. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +9 -0
  173. package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
  174. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -0
  175. package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
  176. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +3 -0
  177. package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
  178. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +1 -0
  179. package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
  180. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +1 -1
  181. package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
  182. package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
  183. package/dist/src/backend/services/workspace/service/state/kanban-state.js +1 -3
  184. package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
  185. package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js +1 -1
  186. package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js.map +1 -1
  187. package/dist/src/backend/services/workspace-snapshot-store.service.test.js +7 -5
  188. package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
  189. package/dist/src/backend/trpc/admin.trpc.d.ts +2 -2
  190. package/dist/src/backend/trpc/index.d.ts +262 -2
  191. package/dist/src/backend/trpc/index.d.ts.map +1 -1
  192. package/dist/src/backend/trpc/index.js +2 -0
  193. package/dist/src/backend/trpc/index.js.map +1 -1
  194. package/dist/src/backend/trpc/periodic-task.trpc.d.ts +153 -0
  195. package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -0
  196. package/dist/src/backend/trpc/periodic-task.trpc.js +59 -0
  197. package/dist/src/backend/trpc/periodic-task.trpc.js.map +1 -0
  198. package/dist/src/backend/trpc/project.trpc.d.ts +2 -0
  199. package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
  200. package/dist/src/backend/trpc/session.trpc.d.ts +5 -0
  201. package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
  202. package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
  203. package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
  204. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
  205. package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
  206. package/dist/src/backend/trpc/workspace.trpc.d.ts +101 -0
  207. package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
  208. package/dist/src/backend/trpc/workspace.trpc.js +32 -0
  209. package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
  210. package/dist/src/shared/core/enums.d.ts +16 -0
  211. package/dist/src/shared/core/enums.d.ts.map +1 -1
  212. package/dist/src/shared/core/enums.js +14 -0
  213. package/dist/src/shared/core/enums.js.map +1 -1
  214. package/dist/src/shared/core/index.d.ts +1 -1
  215. package/dist/src/shared/core/index.d.ts.map +1 -1
  216. package/dist/src/shared/core/index.js +1 -1
  217. package/dist/src/shared/core/index.js.map +1 -1
  218. package/dist/src/shared/schemas/export-data.schema.d.ts +2 -0
  219. package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
  220. package/dist/src/shared/session-runtime.d.ts +2 -0
  221. package/dist/src/shared/session-runtime.d.ts.map +1 -1
  222. package/dist/src/shared/session-runtime.js +6 -0
  223. package/dist/src/shared/session-runtime.js.map +1 -1
  224. package/dist/tsconfig.backend.tsbuildinfo +1 -1
  225. package/package.json +16 -13
  226. package/prisma/migrations/20260512204732_add_periodic_tasks/migration.sql +125 -0
  227. package/prisma/schema.prisma +66 -0
  228. package/dist/client/assets/_baseUniq-BMXUsXG-.js +0 -1
  229. package/dist/client/assets/architectureDiagram-Q4EWVU46-CJGhfiaR.js +0 -36
  230. package/dist/client/assets/blockDiagram-DXYQGD6D-BNnkZ33z.js +0 -132
  231. package/dist/client/assets/channel-rU9bRY1k.js +0 -1
  232. package/dist/client/assets/chunk-4TB4RGXK-C4GZd70D.js +0 -206
  233. package/dist/client/assets/chunk-OYMX7WX6-CV_1QGaB.js +0 -231
  234. package/dist/client/assets/classDiagram-6PBFFD2Q-C5ZMRU-Q.js +0 -1
  235. package/dist/client/assets/classDiagram-v2-HSJHXN6E-C5ZMRU-Q.js +0 -1
  236. package/dist/client/assets/clone-DncqhHfa.js +0 -1
  237. package/dist/client/assets/dagre-KV5264BT-BXPSVr7g.js +0 -4
  238. package/dist/client/assets/diagram-5BDNPKRD-BVLf0pmu.js +0 -10
  239. package/dist/client/assets/diagram-G4DWMVQ6-BD9ABHeH.js +0 -24
  240. package/dist/client/assets/diagram-MMDJMWI5-BrDghBOV.js +0 -43
  241. package/dist/client/assets/diagram-TYMM5635-D4qoeSlh.js +0 -24
  242. package/dist/client/assets/gitGraphDiagram-UUTBAWPF-BvskeHXT.js +0 -106
  243. package/dist/client/assets/graph-C0Zw5uGW.js +0 -1
  244. package/dist/client/assets/index-DS4EZgYD.css +0 -1
  245. package/dist/client/assets/infoDiagram-42DDH7IO-BQLq-cL5.js +0 -2
  246. package/dist/client/assets/layout-CDeeyVWD.js +0 -1
  247. package/dist/client/assets/min-DHf19FRk.js +0 -1
  248. package/dist/client/assets/pieDiagram-DEJITSTG-oafSjyH2.js +0 -30
  249. package/dist/client/assets/quadrantDiagram-34T5L4WZ-BCOzXAkq.js +0 -7
  250. package/dist/client/assets/sankeyDiagram-XADWPNL6-Cy7QCWWQ.js +0 -10
  251. package/dist/client/assets/stateDiagram-FHFEXIEX-5e63MV3B.js +0 -1
  252. package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-Cn8DKogt.js +0 -1
  253. package/dist/client/assets/wardley-RL74JXVD-Bjl_YvUS.js +0 -162
  254. package/dist/client/assets/wardleyDiagram-NUSXRM2D-B5K4K50u.js +0 -20
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "factory-factory",
3
- "version": "0.3.15",
3
+ "version": "0.3.16",
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",
@@ -139,8 +139,8 @@
139
139
  "geist": "^1.7.0",
140
140
  "input-otp": "^1.4.2",
141
141
  "lucide-react": "^0.575.0",
142
- "mermaid": "^11.14.0",
143
- "next": "16.2.3",
142
+ "mermaid": "^11.15.0",
143
+ "next": "16.2.6",
144
144
  "node-pty": "^1.1.0",
145
145
  "open": "^11.0.0",
146
146
  "p-limit": "^7.3.0",
@@ -192,10 +192,11 @@
192
192
  "overrides": {
193
193
  "@isaacs/brace-expansion": ">=5.0.1",
194
194
  "@modelcontextprotocol/sdk>ajv": ">=8.18.0",
195
- "@anthropic-ai/sdk": "0.81.0",
195
+ "@anthropic-ai/sdk": "0.91.1",
196
196
  "@hono/node-server": "1.19.14",
197
197
  "@xmldom/xmldom": "0.8.13",
198
198
  "app-builder-lib>minimatch": ">=10.2.1",
199
+ "fast-uri": "3.1.2",
199
200
  "brace-expansion@^1": "1.1.13",
200
201
  "brace-expansion@^5": "5.0.5",
201
202
  "braces": ">=3.0.3",
@@ -204,10 +205,11 @@
204
205
  "micromatch": ">=4.0.8",
205
206
  "postcss": "8.5.12",
206
207
  "tar": "7.5.13",
207
- "hono": "4.12.14",
208
+ "hono": "4.12.18",
209
+ "ip-address": "10.1.1",
208
210
  "lodash": "4.18.1",
209
211
  "lodash-es": "4.18.1",
210
- "next": "16.2.3",
212
+ "next": "16.2.6",
211
213
  "path-to-regexp": "8.4.2",
212
214
  "picomatch@^2": "2.3.2",
213
215
  "picomatch@^4": "4.0.4",
@@ -218,6 +220,7 @@
218
220
  "form-data": ">=2.5.4",
219
221
  "tough-cookie": ">=4.1.3",
220
222
  "uuid": "14.0.0",
223
+ "webpack": "5.106.2",
221
224
  "yaml": "2.8.3"
222
225
  }
223
226
  },
@@ -225,11 +228,11 @@
225
228
  "@biomejs/biome": "^2.4.4",
226
229
  "@electron/rebuild": "^4.0.3",
227
230
  "@playwright/test": "^1.58.2",
228
- "@storybook/addon-a11y": "10.3.5",
229
- "@storybook/addon-docs": "10.3.5",
230
- "@storybook/addon-themes": "10.3.5",
231
- "@storybook/react": "10.3.5",
232
- "@storybook/react-vite": "10.3.5",
231
+ "@storybook/addon-a11y": "10.3.6",
232
+ "@storybook/addon-docs": "10.3.6",
233
+ "@storybook/addon-themes": "10.3.6",
234
+ "@storybook/react": "10.3.6",
235
+ "@storybook/react-vite": "10.3.6",
233
236
  "@tailwindcss/vite": "^4.2.1",
234
237
  "@types/better-sqlite3": "^7.6.13",
235
238
  "@types/express": "^5.0.6",
@@ -255,7 +258,7 @@
255
258
  "next-themes": "^0.4.6",
256
259
  "postcss": "^8.5.12",
257
260
  "prisma": "7.7.0",
258
- "storybook": "10.3.5",
261
+ "storybook": "10.3.6",
259
262
  "supertest": "^7.2.2",
260
263
  "tailwindcss": "^4.2.1",
261
264
  "tsc-alias": "^1.8.16",
@@ -263,6 +266,6 @@
263
266
  "typescript": "^5.9.3",
264
267
  "vite": "^7.3.2",
265
268
  "vitest": "^4.0.18",
266
- "wait-on": "^9.0.5"
269
+ "wait-on": "^9.0.10"
267
270
  }
268
271
  }
@@ -0,0 +1,125 @@
1
+ -- CreateTable
2
+ CREATE TABLE "PeriodicTask" (
3
+ "id" TEXT NOT NULL PRIMARY KEY,
4
+ "projectId" TEXT NOT NULL,
5
+ "name" TEXT NOT NULL,
6
+ "prompt" TEXT NOT NULL,
7
+ "cadence" TEXT NOT NULL,
8
+ "isEnabled" BOOLEAN NOT NULL DEFAULT true,
9
+ "nextRunAt" DATETIME NOT NULL,
10
+ "lastRunAt" DATETIME,
11
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
12
+ "updatedAt" DATETIME NOT NULL,
13
+ CONSTRAINT "PeriodicTask_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
14
+ );
15
+
16
+ -- CreateTable
17
+ CREATE TABLE "PeriodicTaskExecution" (
18
+ "id" TEXT NOT NULL PRIMARY KEY,
19
+ "periodicTaskId" TEXT NOT NULL,
20
+ "workspaceId" TEXT,
21
+ "status" TEXT NOT NULL,
22
+ "prUrl" TEXT,
23
+ "prNumber" INTEGER,
24
+ "errorMessage" TEXT,
25
+ "startedAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
26
+ "completedAt" DATETIME,
27
+ CONSTRAINT "PeriodicTaskExecution_periodicTaskId_fkey" FOREIGN KEY ("periodicTaskId") REFERENCES "PeriodicTask" ("id") ON DELETE CASCADE ON UPDATE CASCADE,
28
+ CONSTRAINT "PeriodicTaskExecution_workspaceId_fkey" FOREIGN KEY ("workspaceId") REFERENCES "Workspace" ("id") ON DELETE SET NULL ON UPDATE CASCADE
29
+ );
30
+
31
+ -- RedefineTables
32
+ PRAGMA defer_foreign_keys=ON;
33
+ PRAGMA foreign_keys=OFF;
34
+ CREATE TABLE "new_Workspace" (
35
+ "id" TEXT NOT NULL PRIMARY KEY,
36
+ "projectId" TEXT NOT NULL,
37
+ "name" TEXT NOT NULL,
38
+ "description" TEXT,
39
+ "status" TEXT NOT NULL DEFAULT 'NEW',
40
+ "worktreePath" TEXT,
41
+ "branchName" TEXT,
42
+ "isAutoGeneratedBranch" BOOLEAN NOT NULL DEFAULT false,
43
+ "creationSource" TEXT NOT NULL DEFAULT 'MANUAL',
44
+ "creationMetadata" JSONB,
45
+ "initErrorMessage" TEXT,
46
+ "initOutput" TEXT,
47
+ "initStartedAt" DATETIME,
48
+ "initCompletedAt" DATETIME,
49
+ "initRetryCount" INTEGER NOT NULL DEFAULT 0,
50
+ "runScriptCommand" TEXT,
51
+ "runScriptPostRunCommand" TEXT,
52
+ "runScriptCleanupCommand" TEXT,
53
+ "runScriptPid" INTEGER,
54
+ "runScriptPort" INTEGER,
55
+ "runScriptStartedAt" DATETIME,
56
+ "runScriptStatus" TEXT NOT NULL DEFAULT 'IDLE',
57
+ "prUrl" TEXT,
58
+ "githubIssueNumber" INTEGER,
59
+ "githubIssueUrl" TEXT,
60
+ "linearIssueId" TEXT,
61
+ "linearIssueIdentifier" TEXT,
62
+ "linearIssueUrl" TEXT,
63
+ "defaultSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
64
+ "ratchetSessionProvider" TEXT NOT NULL DEFAULT 'WORKSPACE_DEFAULT',
65
+ "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
66
+ "updatedAt" DATETIME NOT NULL,
67
+ "prNumber" INTEGER,
68
+ "prState" TEXT NOT NULL DEFAULT 'NONE',
69
+ "prReviewState" TEXT,
70
+ "prCiStatus" TEXT NOT NULL DEFAULT 'UNKNOWN',
71
+ "prUpdatedAt" DATETIME,
72
+ "prCiFailedAt" DATETIME,
73
+ "prCiLastNotifiedAt" DATETIME,
74
+ "prReviewLastCheckedAt" DATETIME,
75
+ "prReviewLastCommentId" TEXT,
76
+ "ratchetEnabled" BOOLEAN NOT NULL DEFAULT true,
77
+ "ratchetState" TEXT NOT NULL DEFAULT 'IDLE',
78
+ "ratchetLastCheckedAt" DATETIME,
79
+ "ratchetActiveSessionId" TEXT,
80
+ "ratchetLastCiRunId" TEXT,
81
+ "mode" TEXT NOT NULL DEFAULT 'STANDARD',
82
+ "autoIterationStatus" TEXT,
83
+ "autoIterationConfig" JSONB,
84
+ "autoIterationProgress" JSONB,
85
+ "autoIterationSessionId" TEXT,
86
+ "periodicTaskId" TEXT,
87
+ "hasHadSessions" BOOLEAN NOT NULL DEFAULT false,
88
+ "cachedKanbanColumn" TEXT NOT NULL DEFAULT 'WAITING',
89
+ "stateComputedAt" DATETIME,
90
+ CONSTRAINT "Workspace_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project" ("id") ON DELETE RESTRICT ON UPDATE CASCADE,
91
+ CONSTRAINT "Workspace_periodicTaskId_fkey" FOREIGN KEY ("periodicTaskId") REFERENCES "PeriodicTask" ("id") ON DELETE SET NULL ON UPDATE CASCADE
92
+ );
93
+ INSERT INTO "new_Workspace" ("autoIterationConfig", "autoIterationProgress", "autoIterationSessionId", "autoIterationStatus", "branchName", "cachedKanbanColumn", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "mode", "name", "prCiFailedAt", "prCiLastNotifiedAt", "prCiStatus", "prNumber", "prReviewLastCheckedAt", "prReviewLastCommentId", "prReviewState", "prState", "prUpdatedAt", "prUrl", "projectId", "ratchetActiveSessionId", "ratchetEnabled", "ratchetLastCheckedAt", "ratchetLastCiRunId", "ratchetSessionProvider", "ratchetState", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptPostRunCommand", "runScriptStartedAt", "runScriptStatus", "stateComputedAt", "status", "updatedAt", "worktreePath") SELECT "autoIterationConfig", "autoIterationProgress", "autoIterationSessionId", "autoIterationStatus", "branchName", "cachedKanbanColumn", "createdAt", "creationMetadata", "creationSource", "defaultSessionProvider", "description", "githubIssueNumber", "githubIssueUrl", "hasHadSessions", "id", "initCompletedAt", "initErrorMessage", "initOutput", "initRetryCount", "initStartedAt", "isAutoGeneratedBranch", "linearIssueId", "linearIssueIdentifier", "linearIssueUrl", "mode", "name", "prCiFailedAt", "prCiLastNotifiedAt", "prCiStatus", "prNumber", "prReviewLastCheckedAt", "prReviewLastCommentId", "prReviewState", "prState", "prUpdatedAt", "prUrl", "projectId", "ratchetActiveSessionId", "ratchetEnabled", "ratchetLastCheckedAt", "ratchetLastCiRunId", "ratchetSessionProvider", "ratchetState", "runScriptCleanupCommand", "runScriptCommand", "runScriptPid", "runScriptPort", "runScriptPostRunCommand", "runScriptStartedAt", "runScriptStatus", "stateComputedAt", "status", "updatedAt", "worktreePath" FROM "Workspace";
94
+ DROP TABLE "Workspace";
95
+ ALTER TABLE "new_Workspace" RENAME TO "Workspace";
96
+ CREATE INDEX "Workspace_projectId_idx" ON "Workspace"("projectId");
97
+ CREATE INDEX "Workspace_status_idx" ON "Workspace"("status");
98
+ CREATE INDEX "Workspace_cachedKanbanColumn_idx" ON "Workspace"("cachedKanbanColumn");
99
+ CREATE INDEX "Workspace_projectId_status_idx" ON "Workspace"("projectId", "status");
100
+ CREATE INDEX "Workspace_projectId_cachedKanbanColumn_idx" ON "Workspace"("projectId", "cachedKanbanColumn");
101
+ CREATE INDEX "Workspace_projectId_updatedAt_idx" ON "Workspace"("projectId", "updatedAt");
102
+ CREATE INDEX "Workspace_projectId_createdAt_idx" ON "Workspace"("projectId", "createdAt");
103
+ CREATE INDEX "Workspace_status_prUrl_idx" ON "Workspace"("status", "prUrl");
104
+ CREATE INDEX "Workspace_status_prUpdatedAt_idx" ON "Workspace"("status", "prUpdatedAt");
105
+ CREATE INDEX "Workspace_status_ratchetEnabled_ratchetLastCheckedAt_idx" ON "Workspace"("status", "ratchetEnabled", "ratchetLastCheckedAt");
106
+ PRAGMA foreign_keys=ON;
107
+ PRAGMA defer_foreign_keys=OFF;
108
+
109
+ -- CreateIndex
110
+ CREATE INDEX "PeriodicTask_projectId_idx" ON "PeriodicTask"("projectId");
111
+
112
+ -- CreateIndex
113
+ CREATE INDEX "PeriodicTask_isEnabled_nextRunAt_idx" ON "PeriodicTask"("isEnabled", "nextRunAt");
114
+
115
+ -- CreateIndex
116
+ CREATE UNIQUE INDEX "PeriodicTaskExecution_workspaceId_key" ON "PeriodicTaskExecution"("workspaceId");
117
+
118
+ -- CreateIndex
119
+ CREATE INDEX "PeriodicTaskExecution_periodicTaskId_idx" ON "PeriodicTaskExecution"("periodicTaskId");
120
+
121
+ -- CreateIndex
122
+ CREATE INDEX "PeriodicTaskExecution_periodicTaskId_status_idx" ON "PeriodicTaskExecution"("periodicTaskId", "status");
123
+
124
+ -- CreateIndex
125
+ CREATE INDEX "PeriodicTaskExecution_status_idx" ON "PeriodicTaskExecution"("status");
@@ -84,6 +84,7 @@ enum WorkspaceCreationSource {
84
84
  RESUME_BRANCH // Created from existing branch
85
85
  GITHUB_ISSUE // Created from GitHub issue
86
86
  LINEAR_ISSUE // Created from Linear issue
87
+ PERIODIC_TASK // Created by a periodic task execution
87
88
  }
88
89
 
89
90
  enum IssueProvider {
@@ -105,6 +106,21 @@ enum WorkspaceMode {
105
106
  AUTO_ITERATION
106
107
  }
107
108
 
109
+ enum PeriodicTaskCadence {
110
+ EVERY_MINUTE
111
+ EVERY_FIVE_MINUTES
112
+ DAILY
113
+ WEEKLY
114
+ MONTHLY
115
+ }
116
+
117
+ enum PeriodicTaskExecutionStatus {
118
+ RUNNING // Workspace created, agent working
119
+ PR_CREATED // Agent created a PR
120
+ FAILED // Workspace failed or errored
121
+ SKIPPED // Skipped (previous run still active)
122
+ }
123
+
108
124
  enum AutoIterationStatus {
109
125
  IDLE // Configured but not started
110
126
  RUNNING // Loop is actively iterating
@@ -142,6 +158,7 @@ model Project {
142
158
 
143
159
  // Relations
144
160
  workspaces Workspace[]
161
+ periodicTasks PeriodicTask[]
145
162
 
146
163
  @@index([slug])
147
164
  @@index([isArchived])
@@ -234,6 +251,11 @@ model Workspace {
234
251
  autoIterationProgress Json? // { currentIteration, baselineMetricSummary, currentMetricSummary, counts, timestamps }
235
252
  autoIterationSessionId String? // Active ACP session for auto-iteration loop
236
253
 
254
+ // Periodic task link
255
+ periodicTaskId String?
256
+ periodicTask PeriodicTask? @relation(fields: [periodicTaskId], references: [id])
257
+ periodicTaskExecution PeriodicTaskExecution?
258
+
237
259
  // Activity tracking
238
260
  hasHadSessions Boolean @default(false)
239
261
 
@@ -346,3 +368,47 @@ model UserSettings {
346
368
 
347
369
  @@index([userId])
348
370
  }
371
+
372
+ model PeriodicTask {
373
+ id String @id @default(cuid())
374
+ projectId String
375
+ project Project @relation(fields: [projectId], references: [id])
376
+
377
+ name String
378
+ prompt String
379
+ cadence PeriodicTaskCadence
380
+
381
+ isEnabled Boolean @default(true)
382
+ nextRunAt DateTime
383
+ lastRunAt DateTime?
384
+
385
+ createdAt DateTime @default(now())
386
+ updatedAt DateTime @updatedAt
387
+
388
+ executions PeriodicTaskExecution[]
389
+ workspaces Workspace[]
390
+
391
+ @@index([projectId])
392
+ @@index([isEnabled, nextRunAt])
393
+ }
394
+
395
+ model PeriodicTaskExecution {
396
+ id String @id @default(cuid())
397
+ periodicTaskId String
398
+ periodicTask PeriodicTask @relation(fields: [periodicTaskId], references: [id], onDelete: Cascade)
399
+
400
+ workspaceId String? @unique
401
+ workspace Workspace? @relation(fields: [workspaceId], references: [id])
402
+
403
+ status PeriodicTaskExecutionStatus
404
+ prUrl String?
405
+ prNumber Int?
406
+ errorMessage String?
407
+
408
+ startedAt DateTime @default(now())
409
+ completedAt DateTime?
410
+
411
+ @@index([periodicTaskId])
412
+ @@index([periodicTaskId, status])
413
+ @@index([status])
414
+ }
@@ -1 +0,0 @@
1
- import{bh as L,bH as ln,b0 as A,bf as P,a$ as W,bI as gn,bJ as dn,bK as hn,bL as z,bM as pn,bN as An,bO as N,bi as m,bn as K,bq as T,bP as _n,bl as on,bQ as bn,bR as wn,b1 as V,bS as On,bT as I}from"./index-D9fqVzzQ.js";var Pn="[object Symbol]";function x(n){return typeof n=="symbol"||L(n)&&ln(n)==Pn}function vn(n,r){for(var e=-1,i=n==null?0:n.length,f=Array(i);++e<i;)f[e]=r(n[e],e,n);return f}var U=P?P.prototype:void 0,B=U?U.toString:void 0;function k(n){if(typeof n=="string")return n;if(A(n))return vn(n,k)+"";if(x(n))return B?B.call(n):"";var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function yn(){}function En(n,r){for(var e=-1,i=n==null?0:n.length;++e<i&&r(n[e],e,n)!==!1;);return n}function cn(n,r,e,i){for(var f=n.length,t=e+-1;++t<f;)if(r(n[t],t,n))return t;return-1}function Tn(n){return n!==n}function Rn(n,r,e){for(var i=e-1,f=n.length;++i<f;)if(n[i]===r)return i;return-1}function In(n,r,e){return r===r?Rn(n,r,e):cn(n,Tn,e)}function Sn(n,r){var e=n==null?0:n.length;return!!e&&In(n,r,0)>-1}function M(n){return W(n)?gn(n):dn(n)}var Ln=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,xn=/^\w*$/;function $(n,r){if(A(n))return!1;var e=typeof n;return e=="number"||e=="symbol"||e=="boolean"||n==null||x(n)?!0:xn.test(n)||!Ln.test(n)||r!=null&&n in Object(r)}var Mn=500;function $n(n){var r=hn(n,function(i){return e.size===Mn&&e.clear(),i}),e=r.cache;return r}var Cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Dn=/\\(\\)?/g,Fn=$n(function(n){var r=[];return n.charCodeAt(0)===46&&r.push(""),n.replace(Cn,function(e,i,f,t){r.push(f?t.replace(Dn,"$1"):i||e)}),r});function Gn(n){return n==null?"":k(n)}function j(n,r){return A(n)?n:$(n,r)?[n]:Fn(Gn(n))}function R(n){if(typeof n=="string"||x(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}function nn(n,r){r=j(r,n);for(var e=0,i=r.length;n!=null&&e<i;)n=n[R(r[e++])];return e&&e==i?n:void 0}function Nn(n,r,e){var i=n==null?void 0:nn(n,r);return i===void 0?e:i}function rn(n,r){for(var e=-1,i=r.length,f=n.length;++e<i;)n[f+e]=r[e];return n}var H=P?P.isConcatSpreadable:void 0;function mn(n){return A(n)||z(n)||!!(H&&n&&n[H])}function Hr(n,r,e,i,f){var t=-1,s=n.length;for(e||(e=mn),f||(f=[]);++t<s;){var u=n[t];e(u)?rn(f,u):i||(f[f.length]=u)}return f}function Kn(n,r,e,i){var f=-1,t=n==null?0:n.length;for(i&&t&&(e=n[++f]);++f<t;)e=r(e,n[f],f,n);return e}function en(n,r){for(var e=-1,i=n==null?0:n.length,f=0,t=[];++e<i;){var s=n[e];r(s,e,n)&&(t[f++]=s)}return t}function Un(){return[]}var Bn=Object.prototype,Hn=Bn.propertyIsEnumerable,q=Object.getOwnPropertySymbols,qn=q?function(n){return n==null?[]:(n=Object(n),en(q(n),function(r){return Hn.call(n,r)}))}:Un;function Zn(n,r,e){var i=r(n);return A(n)?i:rn(i,e(n))}function Z(n){return Zn(n,M,qn)}var Yn="__lodash_hash_undefined__";function Jn(n){return this.__data__.set(n,Yn),this}function Qn(n){return this.__data__.has(n)}function v(n){var r=-1,e=n==null?0:n.length;for(this.__data__=new pn;++r<e;)this.add(n[r])}v.prototype.add=v.prototype.push=Jn;v.prototype.has=Qn;function Xn(n,r){for(var e=-1,i=n==null?0:n.length;++e<i;)if(r(n[e],e,n))return!0;return!1}function tn(n,r){return n.has(r)}var Wn=1,zn=2;function fn(n,r,e,i,f,t){var s=e&Wn,u=n.length,a=r.length;if(u!=a&&!(s&&a>u))return!1;var h=t.get(n),g=t.get(r);if(h&&g)return h==r&&g==n;var l=-1,d=!0,o=e&zn?new v:void 0;for(t.set(n,r),t.set(r,n);++l<u;){var p=n[l],_=r[l];if(i)var b=s?i(_,p,l,r,n,t):i(p,_,l,n,r,t);if(b!==void 0){if(b)continue;d=!1;break}if(o){if(!Xn(r,function(w,O){if(!tn(o,O)&&(p===w||f(p,w,e,i,t)))return o.push(O)})){d=!1;break}}else if(!(p===_||f(p,_,e,i,t))){d=!1;break}}return t.delete(n),t.delete(r),d}function Vn(n){var r=-1,e=Array(n.size);return n.forEach(function(i,f){e[++r]=[f,i]}),e}function C(n){var r=-1,e=Array(n.size);return n.forEach(function(i){e[++r]=i}),e}var kn=1,jn=2,nr="[object Boolean]",rr="[object Date]",er="[object Error]",ir="[object Map]",tr="[object Number]",fr="[object RegExp]",sr="[object Set]",ur="[object String]",ar="[object Symbol]",lr="[object ArrayBuffer]",gr="[object DataView]",Y=P?P.prototype:void 0,S=Y?Y.valueOf:void 0;function dr(n,r,e,i,f,t,s){switch(e){case gr:if(n.byteLength!=r.byteLength||n.byteOffset!=r.byteOffset)return!1;n=n.buffer,r=r.buffer;case lr:return!(n.byteLength!=r.byteLength||!t(new N(n),new N(r)));case nr:case rr:case tr:return An(+n,+r);case er:return n.name==r.name&&n.message==r.message;case fr:case ur:return n==r+"";case ir:var u=Vn;case sr:var a=i&kn;if(u||(u=C),n.size!=r.size&&!a)return!1;var h=s.get(n);if(h)return h==r;i|=jn,s.set(n,r);var g=fn(u(n),u(r),i,f,t,s);return s.delete(n),g;case ar:if(S)return S.call(n)==S.call(r)}return!1}var hr=1,pr=Object.prototype,Ar=pr.hasOwnProperty;function _r(n,r,e,i,f,t){var s=e&hr,u=Z(n),a=u.length,h=Z(r),g=h.length;if(a!=g&&!s)return!1;for(var l=a;l--;){var d=u[l];if(!(s?d in r:Ar.call(r,d)))return!1}var o=t.get(n),p=t.get(r);if(o&&p)return o==r&&p==n;var _=!0;t.set(n,r),t.set(r,n);for(var b=s;++l<a;){d=u[l];var w=n[d],O=r[d];if(i)var G=s?i(O,w,d,r,n,t):i(w,O,d,n,r,t);if(!(G===void 0?w===O||f(w,O,e,i,t):G)){_=!1;break}b||(b=d=="constructor")}if(_&&!b){var y=n.constructor,E=r.constructor;y!=E&&"constructor"in n&&"constructor"in r&&!(typeof y=="function"&&y instanceof y&&typeof E=="function"&&E instanceof E)&&(_=!1)}return t.delete(n),t.delete(r),_}var or=1,J="[object Arguments]",Q="[object Array]",c="[object Object]",br=Object.prototype,X=br.hasOwnProperty;function wr(n,r,e,i,f,t){var s=A(n),u=A(r),a=s?Q:m(n),h=u?Q:m(r);a=a==J?c:a,h=h==J?c:h;var g=a==c,l=h==c,d=a==h;if(d&&K(n)){if(!K(r))return!1;s=!0,g=!1}if(d&&!g)return t||(t=new T),s||_n(n)?fn(n,r,e,i,f,t):dr(n,r,a,e,i,f,t);if(!(e&or)){var o=g&&X.call(n,"__wrapped__"),p=l&&X.call(r,"__wrapped__");if(o||p){var _=o?n.value():n,b=p?r.value():r;return t||(t=new T),f(_,b,e,i,t)}}return d?(t||(t=new T),_r(n,r,e,i,f,t)):!1}function D(n,r,e,i,f){return n===r?!0:n==null||r==null||!L(n)&&!L(r)?n!==n&&r!==r:wr(n,r,e,i,D,f)}var Or=1,Pr=2;function vr(n,r,e,i){var f=e.length,t=f;if(n==null)return!t;for(n=Object(n);f--;){var s=e[f];if(s[2]?s[1]!==n[s[0]]:!(s[0]in n))return!1}for(;++f<t;){s=e[f];var u=s[0],a=n[u],h=s[1];if(s[2]){if(a===void 0&&!(u in n))return!1}else{var g=new T,l;if(!(l===void 0?D(h,a,Or|Pr,i,g):l))return!1}}return!0}function sn(n){return n===n&&!on(n)}function yr(n){for(var r=M(n),e=r.length;e--;){var i=r[e],f=n[i];r[e]=[i,f,sn(f)]}return r}function un(n,r){return function(e){return e==null?!1:e[n]===r&&(r!==void 0||n in Object(e))}}function Er(n){var r=yr(n);return r.length==1&&r[0][2]?un(r[0][0],r[0][1]):function(e){return e===n||vr(e,n,r)}}function cr(n,r){return n!=null&&r in Object(n)}function Tr(n,r,e){r=j(r,n);for(var i=-1,f=r.length,t=!1;++i<f;){var s=R(r[i]);if(!(t=n!=null&&e(n,s)))break;n=n[s]}return t||++i!=f?t:(f=n==null?0:n.length,!!f&&bn(f)&&wn(s,f)&&(A(n)||z(n)))}function Rr(n,r){return n!=null&&Tr(n,r,cr)}var Ir=1,Sr=2;function Lr(n,r){return $(n)&&sn(r)?un(R(n),r):function(e){var i=Nn(e,n);return i===void 0&&i===r?Rr(e,n):D(r,i,Ir|Sr)}}function xr(n){return function(r){return r?.[n]}}function Mr(n){return function(r){return nn(r,n)}}function $r(n){return $(n)?xr(R(n)):Mr(n)}function an(n){return typeof n=="function"?n:n==null?V:typeof n=="object"?A(n)?Lr(n[0],n[1]):Er(n):$r(n)}function Cr(n,r){return n&&On(n,r,M)}function Dr(n,r){return function(e,i){if(e==null)return e;if(!W(e))return n(e,i);for(var f=e.length,t=-1,s=Object(e);++t<f&&i(s[t],t,s)!==!1;);return e}}var F=Dr(Cr);function Fr(n){return typeof n=="function"?n:V}function qr(n,r){var e=A(n)?En:F;return e(n,Fr(r))}function Gr(n,r){var e=[];return F(n,function(i,f,t){r(i,f,t)&&e.push(i)}),e}function Zr(n,r){var e=A(n)?en:Gr;return e(n,an(r))}function Nr(n,r,e,i,f){return f(n,function(t,s,u){e=i?(i=!1,t):r(e,t,s,u)}),e}function Yr(n,r,e){var i=A(n)?Kn:Nr,f=arguments.length<3;return i(n,an(r),e,f,F)}var mr=1/0,Kr=I&&1/C(new I([,-0]))[1]==mr?function(n){return new I(n)}:yn,Ur=200;function Jr(n,r,e){var i=-1,f=Sn,t=n.length,s=!0,u=[],a=u;if(t>=Ur){var h=r?null:Kr(n);if(h)return C(h);s=!1,f=tn,a=new v}else a=r?[]:u;n:for(;++i<t;){var g=n[i],l=r?r(g):g;if(g=g!==0?g:0,s&&l===l){for(var d=a.length;d--;)if(a[d]===l)continue n;r&&a.push(l),u.push(g)}else f(a,l,e)||(a!==u&&a.push(l),u.push(g))}return u}export{F as a,Hr as b,an as c,vn as d,rn as e,Zn as f,qn as g,En as h,x as i,Z as j,M as k,Jr as l,Zr as m,qr as n,cn as o,Fr as p,Cr as q,Yr as r,Un as s,Tr as t,j as u,R as v,nn as w,Rr as x,Gn as y};