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.
- package/dist/client/assets/{arc-BcgvzhBM.js → arc-CAOrfHBL.js} +1 -1
- package/dist/client/assets/architectureDiagram-3BPJPVTR-CzxGCKeM.js +36 -0
- package/dist/client/assets/blockDiagram-GPEHLZMM-B4k0dvv-.js +132 -0
- package/dist/client/assets/{c4Diagram-AHTNJAMY-CZzKOYUW.js → c4Diagram-AAUBKEIU-ByaECY1u.js} +1 -1
- package/dist/client/assets/channel-D2ho7Eza.js +1 -0
- package/dist/client/assets/{chunk-EDXVE4YY-CG2Nu04g.js → chunk-2J33WTMH-Crxo1uMY.js} +1 -1
- package/dist/client/assets/{chunk-4BX2VUAB-UdAQPeid.js → chunk-4BX2VUAB-CggFLwAA.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-B5JqE8I6.js → chunk-55IACEB6-BSoTWFAF.js} +1 -1
- package/dist/client/assets/chunk-727SXJPM-DcQoeGkQ.js +206 -0
- package/dist/client/assets/chunk-AQP2D5EJ-Ci5tNJvg.js +231 -0
- package/dist/client/assets/{chunk-FMBD7UC4-BrQkp_Wk.js → chunk-FMBD7UC4-CjYtwTh4.js} +1 -1
- package/dist/client/assets/{chunk-YZCP3GAM-BdOKCwHt.js → chunk-ND2GUHAM-Dla8Gmku.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-C7yEPhCF.js → chunk-QZHKN3VN-CiblfzNN.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-ZExoOExU.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-ZExoOExU.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-DUv2_3Rk.js → cose-bilkent-S5V4N54A-DWuzgvAN.js} +1 -1
- package/dist/client/assets/dagre-BM42HDAG-hvdcGfHc.js +4 -0
- package/dist/client/assets/diagram-2AECGRRQ-DVZDsgVY.js +43 -0
- package/dist/client/assets/diagram-5GNKFQAL-BLXKSUUu.js +10 -0
- package/dist/client/assets/diagram-KO2AKTUF-1nNBdWqs.js +3 -0
- package/dist/client/assets/diagram-LMA3HP47-CTw-M4zU.js +24 -0
- package/dist/client/assets/diagram-OG6HWLK6-D9J0vyno.js +24 -0
- package/dist/client/assets/{erDiagram-SMLLAGMA-C52zxlXc.js → erDiagram-TEJ5UH35-DYXcLeDs.js} +1 -1
- package/dist/client/assets/{flowDiagram-DWJPFMVM-C16IJbiH.js → flowDiagram-I6XJVG4X-CXFyFXcd.js} +1 -1
- package/dist/client/assets/{ganttDiagram-T4ZO3ILL-CNHURQS3.js → ganttDiagram-6RSMTGT7-CPGMIRhg.js} +2 -2
- package/dist/client/assets/gitGraphDiagram-PVQCEYII-BCIDHp-Q.js +106 -0
- package/dist/client/assets/graph--OzhPTMs.js +1 -0
- package/dist/client/assets/index-IJ_NNlgJ.css +1 -0
- package/dist/client/assets/{index-D9fqVzzQ.js → index-gIy0Sz_B.js} +149 -150
- package/dist/client/assets/infoDiagram-5YYISTIA-ThNaUmLI.js +2 -0
- package/dist/client/assets/{ishikawaDiagram-UXIWVN3A-BZxR-N5R.js → ishikawaDiagram-YF4QCWOH-nD7e1KKT.js} +1 -1
- package/dist/client/assets/{journeyDiagram-VCZTEJTY-CbxE6mC4.js → journeyDiagram-JHISSGLW-DKfK1tIp.js} +1 -1
- package/dist/client/assets/{kanban-definition-6JOO6SKY-C6I03tZJ.js → kanban-definition-UN3LZRKU-C61PkF-T.js} +1 -1
- package/dist/client/assets/layout-SsrduOYp.js +1 -0
- package/dist/client/assets/{linear-Ddb4fj7p.js → linear-yYp6Wht8.js} +1 -1
- package/dist/client/assets/{mindmap-definition-QFDTVHPH-F-yoVxCu.js → mindmap-definition-RKZ34NQL-DI6Bl654.js} +10 -10
- package/dist/client/assets/{mobile-baseline-Dazkh8y-.js → mobile-baseline-DRrQYbFX.js} +1 -1
- package/dist/client/assets/pieDiagram-4H26LBE5-CNV-VY3H.js +30 -0
- package/dist/client/assets/quadrantDiagram-W4KKPZXB-CDBpCVHO.js +7 -0
- package/dist/client/assets/{requirementDiagram-MS252O5E-O0ZNjKwg.js → requirementDiagram-4Y6WPE33-D_rxDIc5.js} +1 -1
- package/dist/client/assets/sankeyDiagram-5OEKKPKP-DeyadfL0.js +40 -0
- package/dist/client/assets/{sequenceDiagram-FGHM5R23-CCR1x1xb.js → sequenceDiagram-3UESZ5HK-36_kZ6la.js} +12 -7
- package/dist/client/assets/stateDiagram-AJRCARHV-4ayM-mAT.js +1 -0
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-ChnnLckY.js +1 -0
- package/dist/client/assets/{terminal-instance-DoKvF2yb.js → terminal-instance-CMp5bO62.js} +1 -1
- package/dist/client/assets/{timeline-definition-GMOUNBTQ-DWmFPzXq.js → timeline-definition-PNZ67QCA-D0pQgePo.js} +1 -1
- package/dist/client/assets/{vennDiagram-DHZGUBPP-DkToyCBu.js → vennDiagram-CIIHVFJN-CnoMcpwq.js} +1 -1
- package/dist/client/assets/wardley-L42UT6IY-DOtSWmwv.js +161 -0
- package/dist/client/assets/wardleyDiagram-YWT4CUSO-Z3hYGa2_.js +78 -0
- package/dist/client/assets/{xychartDiagram-5P7HB3ND-dlMEb9V2.js → xychartDiagram-2RQKCTM6-CBvgTdkn.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/prisma/generated/browser.d.ts +2 -0
- package/dist/prisma/generated/browser.d.ts.map +1 -1
- package/dist/prisma/generated/client.d.ts +2 -0
- package/dist/prisma/generated/client.d.ts.map +1 -1
- package/dist/prisma/generated/commonInputTypes.d.ts +60 -0
- package/dist/prisma/generated/commonInputTypes.d.ts.map +1 -1
- package/dist/prisma/generated/enums.d.ts +16 -0
- package/dist/prisma/generated/enums.d.ts.map +1 -1
- package/dist/prisma/generated/enums.js +15 -1
- package/dist/prisma/generated/enums.js.map +1 -1
- package/dist/prisma/generated/internal/class.d.ts +6 -0
- package/dist/prisma/generated/internal/class.d.ts.map +1 -1
- package/dist/prisma/generated/internal/class.js +4 -4
- package/dist/prisma/generated/internal/class.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts +181 -1
- package/dist/prisma/generated/internal/prismaNamespace.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespace.js +27 -1
- package/dist/prisma/generated/internal/prismaNamespace.js.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts +28 -0
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js +27 -1
- package/dist/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
- package/dist/prisma/generated/models/PeriodicTask.d.ts +954 -0
- package/dist/prisma/generated/models/PeriodicTask.d.ts.map +1 -0
- package/dist/prisma/generated/models/PeriodicTask.js +2 -0
- package/dist/prisma/generated/models/PeriodicTask.js.map +1 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts +813 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.d.ts.map +1 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.js +2 -0
- package/dist/prisma/generated/models/PeriodicTaskExecution.js.map +1 -0
- package/dist/prisma/generated/models/Project.d.ts +132 -0
- package/dist/prisma/generated/models/Project.d.ts.map +1 -1
- package/dist/prisma/generated/models/Workspace.d.ts +809 -32
- package/dist/prisma/generated/models/Workspace.d.ts.map +1 -1
- package/dist/prisma/generated/models.d.ts +2 -0
- package/dist/prisma/generated/models.d.ts.map +1 -1
- package/dist/src/backend/lib/session-summaries.d.ts +1 -1
- package/dist/src/backend/lib/session-summaries.d.ts.map +1 -1
- package/dist/src/backend/lib/session-summaries.js +3 -2
- package/dist/src/backend/lib/session-summaries.js.map +1 -1
- package/dist/src/backend/lib/workspace-derived-state.js +1 -1
- package/dist/src/backend/lib/workspace-derived-state.js.map +1 -1
- package/dist/src/backend/lib/workspace-derived-state.test.js +33 -9
- package/dist/src/backend/lib/workspace-derived-state.test.js.map +1 -1
- package/dist/src/backend/orchestration/data-backup.service.test.js +1 -0
- package/dist/src/backend/orchestration/data-backup.service.test.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js +39 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.js.map +1 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js +3 -1
- package/dist/src/backend/orchestration/domain-bridges.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js +34 -0
- package/dist/src/backend/orchestration/snapshot-reconciliation.orchestrator.test.js.map +1 -1
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts +1 -0
- package/dist/src/backend/orchestration/workspace-archive.orchestrator.d.ts.map +1 -1
- package/dist/src/backend/server.d.ts.map +1 -1
- package/dist/src/backend/server.js +52 -32
- package/dist/src/backend/server.js.map +1 -1
- package/dist/src/backend/server.upgrade.test.js +10 -1
- package/dist/src/backend/server.upgrade.test.js.map +1 -1
- package/dist/src/backend/services/constants.d.ts +1 -0
- package/dist/src/backend/services/constants.d.ts.map +1 -1
- package/dist/src/backend/services/constants.js +1 -0
- package/dist/src/backend/services/constants.js.map +1 -1
- package/dist/src/backend/services/periodic-task/index.d.ts +5 -0
- package/dist/src/backend/services/periodic-task/index.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/index.js +6 -0
- package/dist/src/backend/services/periodic-task/index.js.map +1 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts +49 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js +138 -0
- package/dist/src/backend/services/periodic-task/resources/periodic-task.accessor.js.map +1 -0
- package/dist/src/backend/services/periodic-task/service/index.d.ts +3 -0
- package/dist/src/backend/services/periodic-task/service/index.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/service/index.js +2 -0
- package/dist/src/backend/services/periodic-task/service/index.js.map +1 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts +44 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.d.ts.map +1 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js +177 -0
- package/dist/src/backend/services/periodic-task/service/periodic-task.service.js.map +1 -0
- package/dist/src/backend/services/registry.d.ts +6 -2
- package/dist/src/backend/services/registry.d.ts.map +1 -1
- package/dist/src/backend/services/registry.js +7 -0
- package/dist/src/backend/services/registry.js.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts +1 -0
- package/dist/src/backend/services/session/resources/agent-session.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.js +79 -51
- package/dist/src/backend/services/session/resources/agent-session.accessor.js.map +1 -1
- package/dist/src/backend/services/session/resources/agent-session.accessor.test.js +15 -0
- package/dist/src/backend/services/session/resources/agent-session.accessor.test.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts +10 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js +72 -2
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.js.map +1 -1
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js +66 -0
- package/dist/src/backend/services/session/service/chat/chat-message-handlers.service.test.js.map +1 -1
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts +2 -0
- package/dist/src/backend/services/session/service/data/session-data.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js +6 -4
- package/dist/src/backend/services/session/service/lifecycle/session.lifecycle.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts +2 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.js +3 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js +6 -0
- package/dist/src/backend/services/session/service/lifecycle/session.repository.test.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts +1 -0
- package/dist/src/backend/services/session/service/lifecycle/session.service.d.ts.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.js +9 -0
- package/dist/src/backend/services/session/service/lifecycle/session.service.js.map +1 -1
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js +74 -0
- package/dist/src/backend/services/session/service/lifecycle/session.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts +2 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js +1 -0
- package/dist/src/backend/services/workspace/resources/workspace.accessor.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js +1 -0
- package/dist/src/backend/services/workspace/service/lifecycle/creation.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts +9 -0
- package/dist/src/backend/services/workspace/service/lifecycle/data.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts +2 -0
- package/dist/src/backend/services/workspace/service/query/project-management.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts +3 -0
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.js +1 -0
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.js.map +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js +1 -1
- package/dist/src/backend/services/workspace/service/query/workspace-query.service.test.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/kanban-state.d.ts.map +1 -1
- package/dist/src/backend/services/workspace/service/state/kanban-state.js +1 -3
- package/dist/src/backend/services/workspace/service/state/kanban-state.js.map +1 -1
- package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js +1 -1
- package/dist/src/backend/services/workspace/service/state/workspace-runtime-state.js.map +1 -1
- package/dist/src/backend/services/workspace-snapshot-store.service.test.js +7 -5
- package/dist/src/backend/services/workspace-snapshot-store.service.test.js.map +1 -1
- package/dist/src/backend/trpc/admin.trpc.d.ts +2 -2
- package/dist/src/backend/trpc/index.d.ts +262 -2
- package/dist/src/backend/trpc/index.d.ts.map +1 -1
- package/dist/src/backend/trpc/index.js +2 -0
- package/dist/src/backend/trpc/index.js.map +1 -1
- package/dist/src/backend/trpc/periodic-task.trpc.d.ts +153 -0
- package/dist/src/backend/trpc/periodic-task.trpc.d.ts.map +1 -0
- package/dist/src/backend/trpc/periodic-task.trpc.js +59 -0
- package/dist/src/backend/trpc/periodic-task.trpc.js.map +1 -0
- package/dist/src/backend/trpc/project.trpc.d.ts +2 -0
- package/dist/src/backend/trpc/project.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/session.trpc.d.ts +5 -0
- package/dist/src/backend/trpc/session.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts +1 -0
- package/dist/src/backend/trpc/workspace/init.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts +2 -0
- package/dist/src/backend/trpc/workspace/workspace-helpers.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.d.ts +101 -0
- package/dist/src/backend/trpc/workspace.trpc.d.ts.map +1 -1
- package/dist/src/backend/trpc/workspace.trpc.js +32 -0
- package/dist/src/backend/trpc/workspace.trpc.js.map +1 -1
- package/dist/src/shared/core/enums.d.ts +16 -0
- package/dist/src/shared/core/enums.d.ts.map +1 -1
- package/dist/src/shared/core/enums.js +14 -0
- package/dist/src/shared/core/enums.js.map +1 -1
- package/dist/src/shared/core/index.d.ts +1 -1
- package/dist/src/shared/core/index.d.ts.map +1 -1
- package/dist/src/shared/core/index.js +1 -1
- package/dist/src/shared/core/index.js.map +1 -1
- package/dist/src/shared/schemas/export-data.schema.d.ts +2 -0
- package/dist/src/shared/schemas/export-data.schema.d.ts.map +1 -1
- package/dist/src/shared/session-runtime.d.ts +2 -0
- package/dist/src/shared/session-runtime.d.ts.map +1 -1
- package/dist/src/shared/session-runtime.js +6 -0
- package/dist/src/shared/session-runtime.js.map +1 -1
- package/dist/tsconfig.backend.tsbuildinfo +1 -1
- package/package.json +16 -13
- package/prisma/migrations/20260512204732_add_periodic_tasks/migration.sql +125 -0
- package/prisma/schema.prisma +66 -0
- package/dist/client/assets/_baseUniq-BMXUsXG-.js +0 -1
- package/dist/client/assets/architectureDiagram-Q4EWVU46-CJGhfiaR.js +0 -36
- package/dist/client/assets/blockDiagram-DXYQGD6D-BNnkZ33z.js +0 -132
- package/dist/client/assets/channel-rU9bRY1k.js +0 -1
- package/dist/client/assets/chunk-4TB4RGXK-C4GZd70D.js +0 -206
- package/dist/client/assets/chunk-OYMX7WX6-CV_1QGaB.js +0 -231
- package/dist/client/assets/classDiagram-6PBFFD2Q-C5ZMRU-Q.js +0 -1
- package/dist/client/assets/classDiagram-v2-HSJHXN6E-C5ZMRU-Q.js +0 -1
- package/dist/client/assets/clone-DncqhHfa.js +0 -1
- package/dist/client/assets/dagre-KV5264BT-BXPSVr7g.js +0 -4
- package/dist/client/assets/diagram-5BDNPKRD-BVLf0pmu.js +0 -10
- package/dist/client/assets/diagram-G4DWMVQ6-BD9ABHeH.js +0 -24
- package/dist/client/assets/diagram-MMDJMWI5-BrDghBOV.js +0 -43
- package/dist/client/assets/diagram-TYMM5635-D4qoeSlh.js +0 -24
- package/dist/client/assets/gitGraphDiagram-UUTBAWPF-BvskeHXT.js +0 -106
- package/dist/client/assets/graph-C0Zw5uGW.js +0 -1
- package/dist/client/assets/index-DS4EZgYD.css +0 -1
- package/dist/client/assets/infoDiagram-42DDH7IO-BQLq-cL5.js +0 -2
- package/dist/client/assets/layout-CDeeyVWD.js +0 -1
- package/dist/client/assets/min-DHf19FRk.js +0 -1
- package/dist/client/assets/pieDiagram-DEJITSTG-oafSjyH2.js +0 -30
- package/dist/client/assets/quadrantDiagram-34T5L4WZ-BCOzXAkq.js +0 -7
- package/dist/client/assets/sankeyDiagram-XADWPNL6-Cy7QCWWQ.js +0 -10
- package/dist/client/assets/stateDiagram-FHFEXIEX-5e63MV3B.js +0 -1
- package/dist/client/assets/stateDiagram-v2-QKLJ7IA2-Cn8DKogt.js +0 -1
- package/dist/client/assets/wardley-RL74JXVD-Bjl_YvUS.js +0 -162
- 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.
|
|
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.
|
|
143
|
-
"next": "16.2.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
229
|
-
"@storybook/addon-docs": "10.3.
|
|
230
|
-
"@storybook/addon-themes": "10.3.
|
|
231
|
-
"@storybook/react": "10.3.
|
|
232
|
-
"@storybook/react-vite": "10.3.
|
|
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.
|
|
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.
|
|
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");
|
package/prisma/schema.prisma
CHANGED
|
@@ -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};
|