specrails-desktop 2.29.0 → 2.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/dist/assets/{ActivityFeedPage-Be-6L0Ld.js → ActivityFeedPage-D8RKRRoM.js} +1 -1
- package/client/dist/assets/AgentBrowserCapture-BUHPHNSN.js +1 -0
- package/client/dist/assets/{AgentModeCodePane-DLltTOqp.js → AgentModeCodePane-GZc8bNGT.js} +2 -2
- package/client/dist/assets/AgentModeJobsPane-DWtQqj3k.js +1 -0
- package/client/dist/assets/AgentsPage-CKPtHkRP.js +86 -0
- package/client/dist/assets/{AnalyticsPage-C4Ik95FX.js → AnalyticsPage-CZW8c77k.js} +1 -1
- package/client/dist/assets/{BarChart-DVZgrhJd.js → BarChart-DugEoe2q.js} +2 -2
- package/client/dist/assets/CodePage-CQ-uKETG.js +2 -0
- package/client/dist/assets/{DesktopAnalyticsPage-2Xf-52x2.js → DesktopAnalyticsPage-Bgo4SyCH.js} +1 -1
- package/client/dist/assets/{DocsDialog-CHihLjWd.js → DocsDialog-DxpWw_La.js} +2 -2
- package/client/dist/assets/DocsPage-CmcOkK19.js +11 -0
- package/client/dist/assets/{ExportDropdown-DLHFQxVn.js → ExportDropdown-DvTS2wc7.js} +1 -1
- package/client/dist/assets/IntegrationsPage-B72WxJ3Z.js +1 -0
- package/client/dist/assets/InteractiveJobComposer-B5gh4Qoy.js +19 -0
- package/client/dist/assets/JobDetailModal-D-BeqsJ6.js +1 -0
- package/client/dist/assets/JobDetailPage-DwdozwLO.js +1 -0
- package/client/dist/assets/JobsPage-BDkinklt.js +1 -0
- package/client/dist/assets/{LoopBuilderPage-CpBaW59t.js → LoopBuilderPage-CclJ3VZA.js} +2 -2
- package/client/dist/assets/{LoopPreviewModal-CwpKcv0Y.js → LoopPreviewModal-Dw4UgoLu.js} +1 -1
- package/client/dist/assets/LoopsPage-D7ac4M24.js +1 -0
- package/client/dist/assets/PluginsPage-wdC-qa40.js +2 -0
- package/client/dist/assets/ProjectSettingsDialog-BlTlRtGI.js +1 -0
- package/client/dist/assets/TemplatePreviewModal-CeMx2Red.js +1 -0
- package/client/dist/assets/{brain-DecvjjPU.js → brain-C92rjjYP.js} +1 -1
- package/client/dist/assets/{dist-js-UjXbEWhN.js → dist-js-CgpP6tKI.js} +1 -1
- package/client/dist/assets/{dist-js-BTAcxhPb.js → dist-js-DHiN-A_E.js} +1 -1
- package/client/dist/assets/{index-OBDI7bHm.js → index-DyY1QyIn.js} +10 -10
- package/client/dist/assets/{lib-C5ZxrPSR.js → lib-0PFDyMxJ.js} +1 -1
- package/client/dist/assets/{settings-Bp24JHlv2.js → settings-1w1O5Og82.js} +1 -1
- package/client/dist/assets/{settings-C_T0-j9d.js → settings-BSihkr0e.js} +1 -1
- package/client/dist/assets/{settings-DhaFKpcw2.js → settings-BiDOB3hV2.js} +1 -1
- package/client/dist/assets/{settings-BemR_e3F.js → settings-BoubJhDP2.js} +1 -1
- package/client/dist/assets/{settings-BvIwQ3A1.js → settings-CB-EZ_W8.js} +1 -1
- package/client/dist/assets/{settings-B_v3zgJf.js → settings-DNL68KTE.js} +1 -1
- package/client/dist/assets/{settings-Bx2ObkTR2.js → settings-Jc46vUhd.js} +1 -1
- package/client/dist/assets/{settings-BYCMtxOz.js → settings-cJNynGIZ.js} +1 -1
- package/client/dist/assets/{upload-lgjKJgrl.js → upload-CmR4h9H1.js} +1 -1
- package/client/dist/assets/{value-Bc0_jlJA.js → value-JA3bf47v.js} +1 -1
- package/client/dist/index.html +2 -2
- package/package.json +1 -1
- package/server/dist/rail-isolated-launch.js +23 -9
- package/server/dist/rail-pr-decision.js +18 -6
- package/server/dist/rail-worktree-release.js +12 -6
- package/server/dist/rails-router.js +8 -1
- package/server/dist/worktree-manager.js +64 -16
- package/client/dist/assets/AgentBrowserCapture-CpZ-dd8O.js +0 -1
- package/client/dist/assets/AgentIntegrationsModal-DO1pN_Ez.js +0 -1
- package/client/dist/assets/AgentModeJobsPane-Dp5YvmW0.js +0 -1
- package/client/dist/assets/AgentsPage-ehHuVUds.js +0 -86
- package/client/dist/assets/CodePage-D4OCMfxL.js +0 -2
- package/client/dist/assets/DocsPage-1vEk7XbH.js +0 -11
- package/client/dist/assets/IntegrationsPage-CCb2YuyJ.js +0 -1
- package/client/dist/assets/InteractiveJobComposer-CxJJEnjw.js +0 -19
- package/client/dist/assets/JobDetailModal-CJI7qRkm.js +0 -1
- package/client/dist/assets/JobDetailPage-DwA9bbwx.js +0 -1
- package/client/dist/assets/JobsPage-BDIyFfd5.js +0 -1
- package/client/dist/assets/LoopsPage-BO0Pa8oz.js +0 -1
- package/client/dist/assets/PluginsPage-BBGTBpGh.js +0 -2
- package/client/dist/assets/ProjectSettingsDialog-M9zGQo0l.js +0 -1
- package/client/dist/assets/TemplatePreviewModal-eBI0zL5P.js +0 -1
- /package/client/dist/assets/{activity-BbWiDfn-2.js → activity--iN4Ad2R2.js} +0 -0
- /package/client/dist/assets/{activity-DvECTYGt.js → activity-6hM_ZSg9.js} +0 -0
- /package/client/dist/assets/{activity-BZZlEG3a.js → activity-BZNfOdiS.js} +0 -0
- /package/client/dist/assets/{activity-DtzRy92x.js → activity-BuVo5sPB.js} +0 -0
- /package/client/dist/assets/{activity-D3Ic-HTS.js → activity-CIOLxGvh.js} +0 -0
- /package/client/dist/assets/{activity-FleOlK0l2.js → activity-D2r2h3SE2.js} +0 -0
- /package/client/dist/assets/{activity-DFbvNqhE2.js → activity-DtxrAUMo2.js} +0 -0
- /package/client/dist/assets/{addspec-CFxGvmJR2.js → addspec-BMtLZLW62.js} +0 -0
- /package/client/dist/assets/{addspec-DaA-CbTt.js → addspec-CP0HRuxY.js} +0 -0
- /package/client/dist/assets/{addspec-NBbcTbLc.js → addspec-CRuvWn8d.js} +0 -0
- /package/client/dist/assets/{addspec-BKrH2Ucz.js → addspec-D-JLDsUV.js} +0 -0
- /package/client/dist/assets/{addspec-B_LQMHW3.js → addspec-DfhDbg5c.js} +0 -0
- /package/client/dist/assets/{addspec-Bw_YQwo62.js → addspec-bsNDdqRm2.js} +0 -0
- /package/client/dist/assets/{addspec-CR8MB5Fr2.js → addspec-mgPOt5q02.js} +0 -0
- /package/client/dist/assets/{agent-BoXSzaBk2.js → agent-B8BXmlUQ2.js} +0 -0
- /package/client/dist/assets/{agent-CeRTdGT12.js → agent-BYc3-6Ln2.js} +0 -0
- /package/client/dist/assets/{agent-fQI_6tsA.js → agent-BbJorPdT.js} +0 -0
- /package/client/dist/assets/{agent-DZ8zTrQT.js → agent-CewFImgL.js} +0 -0
- /package/client/dist/assets/{agent-tJdAobaM.js → agent-DfhYoUmp.js} +0 -0
- /package/client/dist/assets/{agent-DqyzT33X.js → agent-TK_rrK4d.js} +0 -0
- /package/client/dist/assets/{agent-C2-rROL52.js → agent-bHjA9R_j2.js} +0 -0
- /package/client/dist/assets/{agents-BHgn--3j.js → agents-78bTZGZh.js} +0 -0
- /package/client/dist/assets/{agents-CV-_xBvX2.js → agents-BLhWCmDS2.js} +0 -0
- /package/client/dist/assets/{agents-B_qGaB0F.js → agents-BUdEi3-N.js} +0 -0
- /package/client/dist/assets/{agents-B9pFSJQI2.js → agents-BpoUaoW92.js} +0 -0
- /package/client/dist/assets/{agents-HFCqQH0Z.js → agents-CWo-KyAB.js} +0 -0
- /package/client/dist/assets/{agents-VsyFhGOS2.js → agents-DDtCJ5M02.js} +0 -0
- /package/client/dist/assets/{agents-CP8_ezYG.js → agents-bvyRLczL.js} +0 -0
- /package/client/dist/assets/{agentstudio-BEp7Sb46.js → agentstudio-BMQxc_bz.js} +0 -0
- /package/client/dist/assets/{agentstudio-RfZavULt2.js → agentstudio-COZriimI2.js} +0 -0
- /package/client/dist/assets/{agentstudio-D2A5peWV2.js → agentstudio-CWgXG5W52.js} +0 -0
- /package/client/dist/assets/{agentstudio-Br3WD7Xs.js → agentstudio-C_Jq8Tl4.js} +0 -0
- /package/client/dist/assets/{agentstudio-BOjG6tgJ.js → agentstudio-Dtq3dGYk.js} +0 -0
- /package/client/dist/assets/{agentstudio-RsxnZtUA.js → agentstudio-jKMTdT70.js} +0 -0
- /package/client/dist/assets/{agentstudio-CuTt3ZGe2.js → agentstudio-sI27TpBu2.js} +0 -0
- /package/client/dist/assets/{aiedit-CV520D4W2.js → aiedit-6CHdb_iv2.js} +0 -0
- /package/client/dist/assets/{aiedit-DrIjSojo.js → aiedit-B03pD_Na.js} +0 -0
- /package/client/dist/assets/{aiedit-a-Z-g5iC.js → aiedit-BtRqRxML.js} +0 -0
- /package/client/dist/assets/{aiedit-D0Syl-mC.js → aiedit-eMN4eQPF.js} +0 -0
- /package/client/dist/assets/{aiedit-DnBzjlVz2.js → aiedit-hknZlly82.js} +0 -0
- /package/client/dist/assets/{aiedit-26p5A_HY2.js → aiedit-igmw-ZoZ2.js} +0 -0
- /package/client/dist/assets/{aiedit-CcugGPbS.js → aiedit-pc5JDUq1.js} +0 -0
- /package/client/dist/assets/{analytics-Bpe41fnX2.js → analytics-BWMUZ2Pq2.js} +0 -0
- /package/client/dist/assets/{analytics-CpSTNfui.js → analytics-Bj-SmKHa.js} +0 -0
- /package/client/dist/assets/{analytics-4-eskbtX.js → analytics-C5dpiS0o.js} +0 -0
- /package/client/dist/assets/{analytics-DEe5BMz8.js → analytics-CCprAqk3.js} +0 -0
- /package/client/dist/assets/{analytics-4HvXb0Vn2.js → analytics-CR1TJqUi2.js} +0 -0
- /package/client/dist/assets/{analytics-DcOITHla2.js → analytics-DfNdXR0y2.js} +0 -0
- /package/client/dist/assets/{analytics-Bd9rHGjV.js → analytics-rmHuJv0V.js} +0 -0
- /package/client/dist/assets/{attachments-CgOQ9K-6.js → attachments-BgBNSqQd.js} +0 -0
- /package/client/dist/assets/{attachments-CA2f3qL3.js → attachments-BjyMmrwE.js} +0 -0
- /package/client/dist/assets/{attachments-DlEQu56g2.js → attachments-C9GTTJsx2.js} +0 -0
- /package/client/dist/assets/{attachments-CHDbhKeH.js → attachments-DCZOL1RU.js} +0 -0
- /package/client/dist/assets/{attachments-jVdKzAXn.js → attachments-DL-bPy9E.js} +0 -0
- /package/client/dist/assets/{attachments-D2jwJXQ42.js → attachments-DPCmkFZu2.js} +0 -0
- /package/client/dist/assets/{attachments-CKAY5aYG2.js → attachments-rNn1ekRy2.js} +0 -0
- /package/client/dist/assets/{browser-Cl-FwPXs.js → browser-BPkhILSJ.js} +0 -0
- /package/client/dist/assets/{browser-kA31eYhu2.js → browser-BijVYG0Y2.js} +0 -0
- /package/client/dist/assets/{browser-JsiohNmW.js → browser-BqLqJVVT.js} +0 -0
- /package/client/dist/assets/{browser-C4VJ5CW12.js → browser-Cc0iDqUi.js} +0 -0
- /package/client/dist/assets/{browser-BQFDxrRq.js → browser-Cvg-QHvd2.js} +0 -0
- /package/client/dist/assets/{browser-Do2jf8_N.js → browser-FRv8P02E.js} +0 -0
- /package/client/dist/assets/{browser-BbJ_q_OT2.js → browser-rWKj-RR_2.js} +0 -0
- /package/client/dist/assets/{chat-SaG-ng1x2.js → chat-BgL3zv6x2.js} +0 -0
- /package/client/dist/assets/{chat-n43nZGvn.js → chat-Bh3NdgJs.js} +0 -0
- /package/client/dist/assets/{chat-BalviUAD.js → chat-Bom6bqK3.js} +0 -0
- /package/client/dist/assets/{chat-BMWD_Rx12.js → chat-DdwZjT8K2.js} +0 -0
- /package/client/dist/assets/{chat-D5xEtsf3.js → chat-Dnwg-NpQ.js} +0 -0
- /package/client/dist/assets/{chat-CJddjN3D2.js → chat-DsbwJhus.js} +0 -0
- /package/client/dist/assets/{chat-Ds8GvCnv.js → chat-vylxqR0P2.js} +0 -0
- /package/client/dist/assets/{code-BotxM43N2.js → code-BRcDlze52.js} +0 -0
- /package/client/dist/assets/{code-CIPmDEd0.js → code-BdMy3Ffq.js} +0 -0
- /package/client/dist/assets/{code-HDK4P6Rx.js → code-CeQ0FZpC.js} +0 -0
- /package/client/dist/assets/{code-F_KjccGf.js → code-CwnBPPyA.js} +0 -0
- /package/client/dist/assets/{code-DUe1Bouz.js → code-DgeHz9CB.js} +0 -0
- /package/client/dist/assets/{code-Bit_z2Xd2.js → code-DzC1rMk12.js} +0 -0
- /package/client/dist/assets/{code-C9U6M5-e2.js → code-UPVvmAKM2.js} +0 -0
- /package/client/dist/assets/{commands-CzFSoIiq2.js → commands-C4Y3C-PF2.js} +0 -0
- /package/client/dist/assets/{commands-BllkJauO.js → commands-CSDs9q_2.js} +0 -0
- /package/client/dist/assets/{commands-BFQZc9AG.js → commands-DkU0qliq.js} +0 -0
- /package/client/dist/assets/{commands-KBbhsnw8.js → commands-JWMfGDmr.js} +0 -0
- /package/client/dist/assets/{commands-cKTaLwwV2.js → commands-RHOchN4n2.js} +0 -0
- /package/client/dist/assets/{commands-BMkC5-ki.js → commands-u-4eEHCN.js} +0 -0
- /package/client/dist/assets/{commands-CWX9WmDX2.js → commands-xHDDGfcP2.js} +0 -0
- /package/client/dist/assets/{common-DZbXlmq72.js → common-BM3LFLCE2.js} +0 -0
- /package/client/dist/assets/{common-Cfmwcrl52.js → common-Bwafujnc2.js} +0 -0
- /package/client/dist/assets/{common-D2cimsul.js → common-C-vU-j-I.js} +0 -0
- /package/client/dist/assets/{common-DH7fjyL1.js → common-C5HKSbbz.js} +0 -0
- /package/client/dist/assets/{common-CF8iGXrG.js → common-DhWTkocg.js} +0 -0
- /package/client/dist/assets/{common-DtXmzX2o2.js → common-DiPTT7V_2.js} +0 -0
- /package/client/dist/assets/{common-BfQD173j.js → common-DmqBPwZG.js} +0 -0
- /package/client/dist/assets/{dashboard-CiOyDh9L.js → dashboard-B5ang-ZS.js} +0 -0
- /package/client/dist/assets/{dashboard-BFfnCtq52.js → dashboard-CHHcOWVL2.js} +0 -0
- /package/client/dist/assets/{dashboard-BIC8KtRf2.js → dashboard-DBD4wPGY2.js} +0 -0
- /package/client/dist/assets/{dashboard-5C2FOZQX.js → dashboard-DSnztwWH.js} +0 -0
- /package/client/dist/assets/{dashboard-CEgg9NAr.js → dashboard-D_aP_InU.js} +0 -0
- /package/client/dist/assets/{dashboard-B6iQ-IL_.js → dashboard-DmBcdl1B.js} +0 -0
- /package/client/dist/assets/{dashboard-D6x5OnNj2.js → dashboard-RIcUKY1Y2.js} +0 -0
- /package/client/dist/assets/{explore-CAc8Qzu32.js → explore-B7fblXBb2.js} +0 -0
- /package/client/dist/assets/{explore-ELbrSZyQ2.js → explore-BHtEpoNN2.js} +0 -0
- /package/client/dist/assets/{explore-Bhy7WWXv.js → explore-C0k8HrkN.js} +0 -0
- /package/client/dist/assets/{explore-BO_OinBD.js → explore-CNBzrEPS.js} +0 -0
- /package/client/dist/assets/{explore-DCZL9gRN2.js → explore-D_mWBYCS2.js} +0 -0
- /package/client/dist/assets/{explore-DW_YTkQh.js → explore-Dahc1lOx.js} +0 -0
- /package/client/dist/assets/{explore-BEpIs343.js → explore-UvW1jEMa.js} +0 -0
- /package/client/dist/assets/{format-command-Db1viey1.js → format-command-CuWuRvka.js} +0 -0
- /package/client/dist/assets/{integrations-CWjh5VRk.js → integrations-2YcNyAl3.js} +0 -0
- /package/client/dist/assets/{integrations-RJfzXkPx2.js → integrations-BXCvXUlG2.js} +0 -0
- /package/client/dist/assets/{integrations-CUNe3t9l2.js → integrations-C1ThkTC52.js} +0 -0
- /package/client/dist/assets/{integrations-CAjq5tdW2.js → integrations-Crk2rFhL2.js} +0 -0
- /package/client/dist/assets/{integrations-CP_aiV_8.js → integrations-D9YrJ_Ep.js} +0 -0
- /package/client/dist/assets/{integrations-JOHSCvB3.js → integrations-Dn4JiGtW.js} +0 -0
- /package/client/dist/assets/{integrations-CG2dp3Kd.js → integrations-TAcYNh0b.js} +0 -0
- /package/client/dist/assets/{jira-C5UjxHE4.js → jira-BHAKtc4B.js} +0 -0
- /package/client/dist/assets/{jira-ZdKb-50F2.js → jira-Be369RIR2.js} +0 -0
- /package/client/dist/assets/{jira-DTYu3hJi2.js → jira-CPpgA-5z2.js} +0 -0
- /package/client/dist/assets/{jira-CQ7mrZde.js → jira-D5efgwp_.js} +0 -0
- /package/client/dist/assets/{jira-DtZpokjJ.js → jira-DS7ownDy.js} +0 -0
- /package/client/dist/assets/{jira-DIRkZk9U.js → jira-bDs7Im2C.js} +0 -0
- /package/client/dist/assets/{jira-B5wszJ1-2.js → jira-uNH1gETL2.js} +0 -0
- /package/client/dist/assets/{jobs-DAGiPVIS2.js → jobs-1GV2-4zd2.js} +0 -0
- /package/client/dist/assets/{jobs-DAU8C_tZ.js → jobs-26F9gGcE.js} +0 -0
- /package/client/dist/assets/{jobs-BJ-Gcao22.js → jobs-BgQzB0Sx2.js} +0 -0
- /package/client/dist/assets/{jobs-Da0GaaSc.js → jobs-BqWui9_f.js} +0 -0
- /package/client/dist/assets/{jobs-BFIdeDTw.js → jobs-CE8qeIYj.js} +0 -0
- /package/client/dist/assets/{jobs-p360zdf1.js → jobs-DzeuASRf.js} +0 -0
- /package/client/dist/assets/{jobs-P3unxtxo2.js → jobs-Wh7dn28q2.js} +0 -0
- /package/client/dist/assets/{loops-BjK8lmoZ2.js → loops-BvqQ-bHR2.js} +0 -0
- /package/client/dist/assets/{loops-Bi4ywYGn.js → loops-CvOWsi5r.js} +0 -0
- /package/client/dist/assets/{loops-DDs4KPu_.js → loops-D6D3XHjj.js} +0 -0
- /package/client/dist/assets/{loops-Du-bNVpc2.js → loops-DJNhp17p2.js} +0 -0
- /package/client/dist/assets/{loops-D3wdUkZV.js → loops-K5_HXfJa.js} +0 -0
- /package/client/dist/assets/{loops-DKzYFcq6.js → loops-LIgO_-eM.js} +0 -0
- /package/client/dist/assets/{loops-DvGbSfxw2.js → loops-vhJdbcz92.js} +0 -0
- /package/client/dist/assets/{mcp-DyULurYS2.js → mcp-CjVKXAhD2.js} +0 -0
- /package/client/dist/assets/{mcp-DfmzoT5t.js → mcp-Dcl-XxkR.js} +0 -0
- /package/client/dist/assets/{mcp-CbJ04oFS2.js → mcp-DtbxuH3V2.js} +0 -0
- /package/client/dist/assets/{mcp-Dd844F5_.js → mcp-H-gnQUdN.js} +0 -0
- /package/client/dist/assets/{mcp-zSJ2TsJj.js → mcp-N1nzp8oL.js} +0 -0
- /package/client/dist/assets/{mcp-BG-OCJca2.js → mcp-XJNRfxVp2.js} +0 -0
- /package/client/dist/assets/{mcp-CrWdq5db.js → mcp-sRmWE8WJ.js} +0 -0
- /package/client/dist/assets/{nav-DUuw9VIU2.js → nav-BElxljIF2.js} +0 -0
- /package/client/dist/assets/{nav-BY_4EWRv.js → nav-BXO7PJJG2.js} +0 -0
- /package/client/dist/assets/{nav-BAMkVEId.js → nav-C8kOuGh8.js} +0 -0
- /package/client/dist/assets/{nav-D0Erv9ZJ2.js → nav-COu2E_-L.js} +0 -0
- /package/client/dist/assets/{nav-CVXtv0wX2.js → nav-CW9pxWfC2.js} +0 -0
- /package/client/dist/assets/{nav-B2_ToNqS.js → nav-CXHUA4uf.js} +0 -0
- /package/client/dist/assets/{nav-S4HM94vW.js → nav-DdHF5VWJ.js} +0 -0
- /package/client/dist/assets/{setup-q0wRHUp1.js → setup-7J8TjG4O.js} +0 -0
- /package/client/dist/assets/{setup-DQWsu2TR.js → setup-BXpw07r-.js} +0 -0
- /package/client/dist/assets/{setup-mXnzww4f.js → setup-BiduSX9d.js} +0 -0
- /package/client/dist/assets/{setup-1vN48B-m2.js → setup-BuQNKztt2.js} +0 -0
- /package/client/dist/assets/{setup-BmJ0Kx16.js → setup-BwMovM9z2.js} +0 -0
- /package/client/dist/assets/{setup-JeBwoXoM.js → setup-D84y3wx-.js} +0 -0
- /package/client/dist/assets/{setup-T_ApeQDV2.js → setup-DU0ULX8q2.js} +0 -0
- /package/client/dist/assets/{specs-Ce5y2iFc2.js → specs-C9Sd7BhH2.js} +0 -0
- /package/client/dist/assets/{specs-C6J2zrLM.js → specs-CBDvEYKv.js} +0 -0
- /package/client/dist/assets/{specs-DZDoZsDq.js → specs-CIPr9reA2.js} +0 -0
- /package/client/dist/assets/{specs-BGRKhM8t.js → specs-CWtKcVDC.js} +0 -0
- /package/client/dist/assets/{specs-CT8exGOy2.js → specs-D2clrt2c2.js} +0 -0
- /package/client/dist/assets/{specs-GkiL-snY.js → specs-DTplt2XM.js} +0 -0
- /package/client/dist/assets/{specs-DbtIzV8a.js → specs-PozUNhqb.js} +0 -0
- /package/client/dist/assets/{terminal-Cvabyzm42.js → terminal-BRm03iFA2.js} +0 -0
- /package/client/dist/assets/{terminal-BTpE7iki.js → terminal-De2Brd23.js} +0 -0
- /package/client/dist/assets/{terminal-D0z12_sJ2.js → terminal-DxQWCqSD2.js} +0 -0
- /package/client/dist/assets/{terminal-a6Uq8B0p.js → terminal-WSAvHXoU.js} +0 -0
- /package/client/dist/assets/{terminal-DDk_bTw0.js → terminal-Z7KsDM_n.js} +0 -0
- /package/client/dist/assets/{terminal-DEyt0prF.js → terminal-cqfd3EDV.js} +0 -0
- /package/client/dist/assets/{terminal-BNSg2lR7.js → terminal-xGbCZJHg.js} +0 -0
- /package/client/dist/assets/{tickets-sVun0I6v.js → tickets-B7zT4IRf.js} +0 -0
- /package/client/dist/assets/{tickets-DZut8Ryt.js → tickets-BoXom7l8.js} +0 -0
- /package/client/dist/assets/{tickets-BIxU86j12.js → tickets-C3b8cHhd2.js} +0 -0
- /package/client/dist/assets/{tickets-dQfsc7Ph.js → tickets-CFXnJsYF.js} +0 -0
- /package/client/dist/assets/{tickets-LfK6LzKl2.js → tickets-CWYFvx1W2.js} +0 -0
- /package/client/dist/assets/{tickets-D1IeX2EW.js → tickets-DTHo9c3C.js} +0 -0
- /package/client/dist/assets/{tickets-C2BhwzwR.js → tickets-SuX_HkK4.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-BNv3lrIs.js";import{$ as t,$n as n,Dn as r,En as i,F as a,Hn as o,J as s,K as c,Mt as l,Ot as u,P as d,Q as f,U as p,Un as m,W as h,Wn as g,X as _,Y as v,Yn as y,Z as ee,an as b,at as x,ct as te,et as S,it as ne,lt as C,mt as w,pt as T,t as E,tt as re,ut as D,w as O,wn as ie}from"./index-DyY1QyIn.js";import{t as ae}from"./format-command-CuWuRvka.js";import{t as k}from"./ExportDropdown-DvTS2wc7.js";var oe=o(`git-compare-arrows`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`M12 18H7a2 2 0 0 1-2-2V9`,key:`16sdep`}],[`path`,{d:`m9 15 3 3-3 3`,key:`1m3kbl`}]]),A=e(n(),1),j=T();function M(e){if(e==null)return`—`;let t=Math.round(e/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function N(e){return e==null?`—`:e===0?`$0`:e<.01?`$${e.toFixed(4)}`:`$${e.toFixed(3)}`}function P(e){return e==null?`—`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function F({label:e,a:t,b:n,highlight:r}){return(0,j.jsxs)(`div`,{className:`grid grid-cols-3 gap-2 py-2 border-b border-border/20 last:border-0 text-xs`,children:[(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:e}),(0,j.jsx)(`span`,{className:`font-mono text-right ${r===`a`?`text-emerald-400 aurora-light:text-accent-success font-semibold`:``}`,children:t}),(0,j.jsx)(`span`,{className:`font-mono text-right ${r===`b`?`text-emerald-400 aurora-light:text-accent-success font-semibold`:``}`,children:n})]})}function I(e,t,n=!0){return e==null||t==null||e===t?null:n?e<t?`a`:`b`:e>t?`a`:`b`}function se({jobIds:e,onClose:t}){let{t:n}=g(`jobs`),[a,o]=(0,A.useState)(null),[s,c]=(0,A.useState)(!0),[l,d]=(0,A.useState)(null),{panelRef:f,panelStyle:p,headerHandleProps:m,resizeHandles:h,isFloating:_,guardBackdrop:v}=re();(0,A.useEffect)(()=>{let t=new AbortController;return fetch(`${w()}/jobs/compare?jobIds=${e.join(`,`)}`,{signal:t.signal}).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.json()}).then(e=>{o(e),c(!1)}).catch(e=>{e.name!==`AbortError`&&(d(e.message),c(!1))}),()=>t.abort()},[e]);function y(e,t){return(0,j.jsxs)(`div`,{className:`text-center space-y-1`,children:[(0,j.jsx)(`p`,{className:`text-[10px] text-muted-foreground font-medium uppercase tracking-wider`,children:n(`comparison.jobN`,{n:t+1})}),(0,j.jsx)(`code`,{className:`text-[10px] text-foreground/70 block truncate max-w-[160px] mx-auto`,children:e.command}),(0,j.jsxs)(`div`,{className:`flex items-center justify-center gap-1 text-[10px]`,children:[e.status===`completed`?(0,j.jsx)(r,{className:`w-3 h-3 text-emerald-400 aurora-light:text-accent-success`}):(0,j.jsx)(i,{className:`w-3 h-3 text-rose-400 aurora-light:text-destructive`}),(0,j.jsx)(`span`,{className:`capitalize text-muted-foreground`,children:n(`statusLabel.${e.status}`,{defaultValue:e.status})})]}),(0,j.jsx)(`p`,{className:`text-[10px] text-muted-foreground font-mono`,children:e.id.slice(0,8)})]})}return(0,j.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:v(t),children:[(0,j.jsxs)(`div`,{ref:f,className:`w-full max-w-lg rounded-xl border border-border/30 bg-popover p-5 shadow-xl space-y-4 mx-4`,onClick:e=>e.stopPropagation(),style:p,children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between ${_?`cursor-grab active:cursor-grabbing`:``}`,...m,children:[(0,j.jsx)(`h2`,{className:`text-sm font-semibold`,children:n(`comparison.title`)}),(0,j.jsx)(`button`,{type:`button`,onClick:t,className:`text-muted-foreground hover:text-foreground transition-colors`,children:(0,j.jsx)(u,{className:`w-4 h-4`})})]}),s&&(0,j.jsx)(`div`,{className:`space-y-2`,children:[0,1,2,3].map(e=>(0,j.jsx)(`div`,{className:`h-8 bg-muted/20 rounded animate-pulse`},e))}),l&&(0,j.jsx)(`p`,{className:`text-xs text-red-400 aurora-light:text-destructive`,children:n(`comparison.loadFailed`,{error:l})}),a&&(()=>{let[e,t]=a.jobs,r=I(e.durationMs,t.durationMs,!0),i=I(e.totalCostUsd,t.totalCostUsd,!0),o=I(e.tokensOut==null?null:e.tokensOut,t.tokensOut==null?null:t.tokensOut,!0);return(0,j.jsxs)(`div`,{children:[(0,j.jsxs)(`div`,{className:`grid grid-cols-3 gap-2 pb-3 border-b border-border/30 mb-1`,children:[(0,j.jsx)(`div`,{}),y(e,0),y(t,1)]}),(0,j.jsx)(F,{label:n(`comparison.duration`),a:M(e.durationMs),b:M(t.durationMs),highlight:r}),(0,j.jsx)(F,{label:n(`comparison.cost`),a:N(e.totalCostUsd),b:N(t.totalCostUsd),highlight:i}),(0,j.jsx)(F,{label:n(`comparison.tokensOut`),a:P(e.tokensOut),b:P(t.tokensOut),highlight:o}),(0,j.jsx)(F,{label:n(`comparison.tokensIn`),a:P(e.tokensIn),b:P(t.tokensIn),highlight:null}),(0,j.jsx)(F,{label:n(`comparison.cacheRead`),a:P(e.tokensCacheRead),b:P(t.tokensCacheRead),highlight:null}),(0,j.jsx)(F,{label:n(`comparison.model`),a:e.model??`—`,b:t.model??`—`,highlight:null}),(0,j.jsx)(F,{label:n(`comparison.phasesDone`),a:e.phasesCompleted.length>0?e.phasesCompleted.join(`, `):`—`,b:t.phasesCompleted.length>0?t.phasesCompleted.join(`, `):`—`,highlight:null})]})})(),a&&(0,j.jsx)(`p`,{className:`text-[10px] text-muted-foreground/60 text-center`,children:n(`comparison.betterValueHint`)})]}),(0,j.jsx)(S,{handles:h})]})}var ce={running:{variant:`running`,labelKey:`statusLabel.running`,tooltipKey:`statusTooltip.running`},completed:{variant:`success`,labelKey:`statusLabel.done`,tooltipKey:`statusTooltip.completed`},failed:{variant:`failed`,labelKey:`statusLabel.failed`,tooltipKey:`statusTooltip.failed`},canceled:{variant:`canceled`,labelKey:`statusLabel.canceled`,tooltipKey:`statusTooltip.canceled`},queued:{variant:`queued`,labelKey:`statusLabel.queued`,tooltipKey:`statusTooltip.queuedToRun`},zombie_terminated:{variant:`failed`,labelKey:`statusLabel.zombie`,tooltipKey:`statusTooltip.zombie`},skipped:{variant:`warning`,labelKey:`statusLabel.skipped`,tooltipKey:`statusTooltip.skipped`}},le=[`running`,`completed`,`failed`,`canceled`,`zombie_terminated`,`queued`,`skipped`],L={critical:{className:`bg-red-500/15 aurora-light:bg-destructive/10 text-red-400 aurora-light:text-destructive border-red-500/30 aurora-light:border-destructive/30`,labelKey:`recent.priority.critical`},high:{className:`bg-orange-500/15 aurora-light:bg-accent-warning/10 text-orange-400 aurora-light:text-accent-warning border-orange-500/30 aurora-light:border-accent-warning/30`,labelKey:`recent.priority.high`},normal:{className:``,labelKey:`recent.priority.normal`},low:{className:`bg-gray-500/15 aurora-light:bg-muted text-gray-400 aurora-light:text-muted-foreground border-gray-500/30 aurora-light:border-border`,labelKey:`recent.priority.low`}};function ue(e){return e==null||e===0?null:e<.01?`$${e.toFixed(4)}`:`$${e.toFixed(3)}`}function de(e,t){if(!t)return null;let n=new Date(t).getTime()-new Date(e).getTime();if(n<0)return null;let r=Math.round(n/1e3);if(r<60)return`${r}s`;let i=Math.floor(r/60),a=r%60;return i<60?`${i}m ${a}s`:`${Math.floor(i/60)}h ${i%60}m`}function fe(e){return e==null||e===0?null:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function pe(e){try{return O(new Date(e),{addSuffix:!0,locale:D()})}catch{return e}}function R(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r).getTime()}function z(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r+1).getTime()-1}function B(e,t,n){if(!t&&!n)return!0;let r=new Date(e).getTime();return Number.isNaN(r)?!0:!(t&&r<R(t)||n&&r>z(n))}var V=10;function H({jobs:e,isLoading:n,onJobsCleared:r,onProposalClick:i,onProposalDelete:a}){let{t:o}=g(`jobs`),u=y(),{activeProjectId:d,projects:C}=te(),T=C.find(e=>e.id===d)?.provider,[E,D]=(0,A.useState)(null),[O,k]=(0,A.useState)(``),[M,N]=(0,A.useState)(``),[P,F]=(0,A.useState)(!1),[I,H]=(0,A.useState)(``),[U,W]=(0,A.useState)(``),[me,he]=(0,A.useState)(!1),[G,K]=(0,A.useState)(null),[q,ge]=(0,A.useState)(V),[J,_e]=(0,A.useState)(!1),[Y,X]=(0,A.useState)([]),[ve,Z]=(0,A.useState)(null),{panelRef:ye,panelStyle:be,headerHandleProps:xe,resizeHandles:Se,isFloating:Ce,guardBackdrop:we}=re();(0,A.useEffect)(()=>{ge(V)},[e.length]);function Te(){_e(e=>!e),X([])}function Ee(e){X(t=>{if(t.includes(e))return t.filter(t=>t!==e);if(t.length>=2)return t;let n=[...t,e];return n.length===2&&Z(n),n})}let Q=e.filter(e=>E&&e.status!==E?!1:B(e.started_at,O,M)),De=e.filter(e=>B(e.started_at,I,U)).length;async function $(e){he(!0);try{let t={};e===`range`&&(I&&(t.from=new Date(R(I)).toISOString()),U&&(t.to=new Date(z(U)).toISOString()));let n=await fetch(`${w()}/jobs`,{method:`DELETE`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(n.ok){let e=await n.json();m.success(o(`recent.toast.cleared`,{count:e.deleted})),F(!1),H(``),W(``),r?.()}else m.error(o(`recent.toast.clearFailed`))}catch{m.error(o(`recent.toast.networkError`))}finally{he(!1)}}return n?(0,j.jsx)(`div`,{className:`rounded-lg border border-border/40 bg-card/50 p-4 space-y-1`,children:[0,1,2].map(e=>(0,j.jsx)(`div`,{className:`h-9 bg-muted/30 rounded-md animate-pulse`},e))}):e.length===0?(0,j.jsxs)(`div`,{className:`rounded-lg border border-dashed border-border/40 bg-card/50 p-8 text-center space-y-2`,children:[(0,j.jsx)(ie,{className:`w-8 h-8 text-muted-foreground/30 mx-auto`}),(0,j.jsx)(`p`,{className:`text-sm font-medium text-muted-foreground`,children:o(`recent.emptyTitle`)}),(0,j.jsx)(`p`,{className:`text-xs text-muted-foreground/60`,children:o(`recent.emptyDescription`)})]}):(0,j.jsxs)(`div`,{className:`rounded-lg border border-border/40 bg-card/50 p-4 space-y-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,j.jsx)(`button`,{type:`button`,onClick:()=>D(null),className:`px-2 py-0.5 rounded text-[10px] font-medium transition-colors ${E===null?`bg-accent text-foreground`:`text-muted-foreground hover:text-foreground hover:bg-accent/50`}`,children:o(`recent.filterAll`,{count:e.length})}),le.map(t=>{let n=e.filter(e=>e.status===t).length;return n===0?null:(0,j.jsx)(`button`,{type:`button`,onClick:()=>D(E===t?null:t),className:`px-2 py-0.5 rounded text-[10px] font-medium capitalize transition-colors ${E===t?`bg-accent text-foreground`:`text-muted-foreground hover:text-foreground hover:bg-accent/50`}`,children:o(`recent.filterStatus`,{status:o(`statusName.${t}`),count:n})},t)})]}),(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(`input`,{type:`date`,value:O,onChange:e=>k(e.target.value),className:`h-6 rounded border border-border bg-input px-1.5 text-[10px] text-foreground`,title:o(`recent.fromDate`)}),(0,j.jsx)(`input`,{type:`date`,value:M,onChange:e=>N(e.target.value),className:`h-6 rounded border border-border bg-input px-1.5 text-[10px] text-foreground`,title:o(`recent.toDate`)}),(O||M)&&(0,j.jsx)(`button`,{type:`button`,onClick:()=>{k(``),N(``)},className:`text-[10px] text-muted-foreground hover:text-foreground transition-colors`,children:o(`recent.clear`)}),(0,j.jsxs)(p,{children:[(0,j.jsx)(c,{asChild:!0,children:(0,j.jsx)(x,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 transition-colors ${J?`text-foreground bg-accent`:`text-muted-foreground hover:text-foreground`}`,onClick:Te,children:(0,j.jsx)(oe,{className:`w-3.5 h-3.5`})})}),(0,j.jsx)(h,{children:o(J?`recent.exitCompareMode`:`recent.compareTwoJobs`)})]}),(0,j.jsxs)(p,{children:[(0,j.jsx)(c,{asChild:!0,children:(0,j.jsx)(x,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-muted-foreground hover:text-destructive`,onClick:()=>F(!0),children:(0,j.jsx)(l,{className:`w-3.5 h-3.5`})})}),(0,j.jsx)(h,{children:o(`recent.clearJobs`)})]})]})]}),J&&(0,j.jsxs)(`div`,{className:`flex items-center justify-between rounded-md bg-accent/40 px-3 py-1.5 text-[10px] text-muted-foreground`,children:[(0,j.jsxs)(`span`,{children:[Y.length===0&&o(`recent.selectTwoToCompare`),Y.length===1&&o(`recent.selectOneMore`),Y.length===2&&o(`recent.readyToCompare`)]}),Y.length===2&&(0,j.jsx)(`button`,{type:`button`,className:`text-[10px] font-medium text-foreground hover:underline`,onClick:()=>Z(Y),children:o(`recent.compareAction`)})]}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3 px-3 py-1 text-[10px] font-medium text-muted-foreground uppercase tracking-wider`,children:[(0,j.jsx)(`span`,{className:`w-14`,children:o(`recent.colStatus`)}),(0,j.jsx)(`span`,{className:`flex-1 min-w-0`,children:o(`recent.colCommand`)}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,j.jsx)(`span`,{className:`w-14 text-right`,children:o(`recent.colDuration`)}),(0,j.jsx)(`span`,{className:`w-12 text-right`,children:o(`recent.colTokens`)}),(0,j.jsx)(`span`,{className:`w-12 text-right`,children:o(`recent.colCost`)}),(0,j.jsx)(`span`,{className:`w-20 text-right`,children:o(`recent.colStarted`)})]})]}),(0,j.jsx)(`div`,{className:`space-y-0.5`,children:Q.slice(0,q).map(e=>{let t=ce[e.status]??ce.queued,n=ue(e.total_cost_usd),r=de(e.started_at,e.finished_at),a=fe((e.tokens_in??0)+(e.tokens_out??0)+(e.tokens_cache_read??0)+(e.tokens_cache_create??0)||null),s=e.id.startsWith(`proposal:`),d=s?e.id.replace(`proposal:`,``):null,f=Y.includes(e.id),m=J&&!s&&Y.length===2&&!f;return(0,j.jsxs)(`div`,{role:`button`,tabIndex:0,className:`flex items-center gap-3 px-3 py-2 rounded-md transition-colors cursor-pointer group ${f?`bg-accent/70 ring-1 ring-border`:m?`opacity-40 cursor-not-allowed`:`hover:bg-accent/50`}`,onClick:()=>{if(J&&!s){Ee(e.id);return}s&&d?i?.(d):u(`/jobs/${e.id}`)},children:[(0,j.jsxs)(p,{children:[(0,j.jsx)(c,{asChild:!0,children:(0,j.jsx)(`div`,{children:(0,j.jsx)(ne,{variant:t.variant,children:o(t.labelKey)})})}),(0,j.jsx)(h,{children:o(t.tooltipKey)})]}),e.priority&&e.priority!==`normal`&&(0,j.jsx)(`span`,{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[9px] font-medium border ${L[e.priority].className}`,children:o(L[e.priority].labelKey)}),e.profile_name&&(0,j.jsxs)(p,{children:[(0,j.jsx)(c,{asChild:!0,children:(0,j.jsx)(`span`,{className:`inline-flex items-center rounded px-1.5 py-0.5 text-[9px] font-medium border border-accent-primary/40 bg-accent-primary/10 text-accent-primary/90`,children:e.profile_name})}),(0,j.jsx)(h,{children:o(`recent.profileTooltip`,{name:e.profile_name})})]}),(0,j.jsxs)(`div`,{className:`flex items-center gap-1 flex-1 min-w-0`,children:[e.pipeline_id&&(0,j.jsxs)(p,{children:[(0,j.jsx)(c,{asChild:!0,children:(0,j.jsx)(b,{className:`w-3 h-3 text-accent-primary/60 shrink-0`})}),(0,j.jsxs)(h,{children:[o(`recent.pipelinePart`),e.depends_on_job_id&&` ${o(`recent.pipelineDependsOn`)}`,e.skip_reason&&` — ${e.skip_reason}`]})]}),(0,j.jsx)(`code`,{className:`text-xs text-foreground/80 truncate`,children:ae(e.command,T)})]}),(0,j.jsxs)(`div`,{className:`flex items-center gap-3 text-[10px] text-muted-foreground shrink-0`,children:[(0,j.jsx)(`span`,{className:`w-14 text-right`,children:r??`—`}),(0,j.jsx)(`span`,{className:`w-12 text-right`,children:a?`${a}`:`—`}),(0,j.jsx)(`span`,{className:`w-12 text-right`,children:n??`—`}),(0,j.jsx)(`span`,{className:`w-20 text-right`,children:pe(e.started_at)}),s&&d&&(0,j.jsx)(`button`,{type:`button`,className:`w-4 h-4 md:opacity-0 md:group-hover:opacity-100 text-muted-foreground hover:text-destructive transition-all`,onClick:e=>{e.stopPropagation(),K(d)},title:o(`recent.deleteProposal`),children:(0,j.jsx)(l,{className:`w-3 h-3`})})]})]},e.id)})}),Q.length>q&&(0,j.jsx)(`div`,{className:`pt-1 text-center`,children:(0,j.jsx)(`button`,{type:`button`,onClick:()=>ge(e=>e+V),className:`text-[10px] text-muted-foreground hover:text-foreground transition-colors px-3 py-1 rounded hover:bg-accent/50`,children:o(`recent.loadMore`,{count:Q.length-q})})}),P&&(0,j.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:we(()=>F(!1)),children:[(0,j.jsxs)(`div`,{ref:ye,className:`w-80 rounded-xl border border-border/30 bg-popover p-4 shadow-lg space-y-4`,onClick:e=>e.stopPropagation(),style:be,children:[(0,j.jsxs)(`div`,{...xe,className:Ce?`cursor-grab active:cursor-grabbing`:void 0,children:[(0,j.jsx)(`h3`,{className:`text-sm font-semibold`,children:o(`recent.clearModal.title`)}),(0,j.jsx)(`p`,{className:`text-xs text-muted-foreground mt-0.5`,children:o(`recent.clearModal.jobsInHistory`,{count:e.length})})]}),(0,j.jsx)(x,{variant:`destructive`,size:`sm`,className:`w-full`,disabled:me,onClick:()=>$(`all`),children:o(`recent.clearModal.clearAll`,{count:e.length})}),(0,j.jsxs)(`div`,{className:`space-y-2`,children:[(0,j.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:o(`recent.clearModal.orByRange`)}),(0,j.jsxs)(`div`,{className:`flex gap-2`,children:[(0,j.jsx)(`input`,{type:`date`,value:I,onChange:e=>H(e.target.value),className:`flex-1 h-7 rounded-md border border-border bg-input px-2 text-xs text-foreground`,placeholder:o(`recent.clearModal.fromPlaceholder`)}),(0,j.jsx)(`input`,{type:`date`,value:U,onChange:e=>W(e.target.value),className:`flex-1 h-7 rounded-md border border-border bg-input px-2 text-xs text-foreground`,placeholder:o(`recent.clearModal.toPlaceholder`)})]}),(0,j.jsx)(x,{variant:`outline`,size:`sm`,className:`w-full`,disabled:me||!I&&!U,onClick:()=>$(`range`),children:I||U?o(`recent.clearModal.clearInRange`,{count:De}):o(`recent.clearModal.clearRange`)})]}),(0,j.jsx)(x,{variant:`ghost`,size:`sm`,className:`w-full`,onClick:()=>F(!1),children:o(`common:actions.cancel`)})]}),(0,j.jsx)(S,{handles:Se})]}),(0,j.jsx)(s,{open:G!==null,onOpenChange:e=>!e&&K(null),children:(0,j.jsxs)(v,{className:`max-w-sm`,children:[(0,j.jsxs)(f,{children:[(0,j.jsx)(t,{children:o(`recent.deleteProposalConfirm.title`)}),(0,j.jsx)(_,{children:o(`recent.deleteProposalConfirm.description`)})]}),(0,j.jsxs)(ee,{children:[(0,j.jsx)(x,{variant:`ghost`,size:`sm`,onClick:()=>K(null),children:o(`common:actions.cancel`)}),(0,j.jsx)(x,{variant:`destructive`,size:`sm`,onClick:()=>{G&&a?.(G),K(null)},children:o(`common:actions.delete`)})]})]})}),ve&&(0,j.jsx)(se,{jobIds:ve,onClose:()=>{Z(null),X([]),_e(!1)}})]})}function U(){let{t:e}=g(`jobs`),{activeProjectId:n}=te(),{recentJobs:r}=E(n),{data:i,isFirstLoad:o,refresh:c}=C({namespace:`jobs`,projectId:n,initialValue:r,fetcher:async()=>{let e=await fetch(`${w()}/jobs?limit=10`);return e.ok?(await e.json()).jobs:[]},pollInterval:1e4}),{data:l}=C({namespace:`proposals`,projectId:n,initialValue:[],fetcher:async()=>{let e=await fetch(`${w()}/propose?limit=10`);return e.ok?(await e.json()).proposals:[]},pollInterval:1e4}),u={input:`queued`,exploring:`running`,review:`running`,refining:`running`,creating_issue:`running`,created:`completed`,cancelled:`canceled`},p=l.map(e=>({id:`proposal:${e.id}`,command:`/specrails:propose-feature ${e.idea.length>60?e.idea.slice(0,57)+`...`:e.idea}`,started_at:e.created_at,status:u[e.status]??`queued`})),h=[...i,...p].sort((e,t)=>new Date(t.started_at).getTime()-new Date(e.started_at).getTime()),[_,y]=(0,A.useState)(null),b=(0,A.useCallback)(async e=>{try{let t=await fetch(`${w()}/propose/${e}`);if(!t.ok)return;y((await t.json()).proposal)}catch{}},[]),S=(0,A.useCallback)(async t=>{try{(await fetch(`${w()}/propose/${t}`,{method:`DELETE`})).ok&&(m.success(e(`page.proposalDeleted`)),c())}catch{}},[c,e]);return(0,j.jsxs)(`div`,{className:`max-w-4xl mx-auto px-4 py-6`,children:[(0,j.jsxs)(`div`,{className:`flex items-center justify-between mb-4`,children:[(0,j.jsx)(`h1`,{className:`text-sm font-semibold`,children:e(`page.title`)}),(0,j.jsx)(k,{baseUrl:`${w()}/jobs/export`,label:e(`page.exportJobs`)})]}),(0,j.jsx)(H,{jobs:h,isLoading:o,onJobsCleared:c,onProposalClick:b,onProposalDelete:S}),(0,j.jsx)(s,{open:_!==null,onOpenChange:e=>!e&&y(null),children:(0,j.jsx)(v,{className:`max-w-3xl glass-card`,children:_&&(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(f,{children:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(t,{className:`flex-1 min-w-0`,children:e(`page.proposal.title`)}),(0,j.jsx)(ne,{variant:_.status===`created`?`success`:_.status===`cancelled`?`destructive`:`secondary`,children:_.status})]})}),(0,j.jsx)(`div`,{className:`text-xs text-muted-foreground bg-muted/20 rounded px-2 py-1 italic`,children:_.idea}),_.result_markdown?(0,j.jsx)(`div`,{className:`max-h-[400px] overflow-y-auto rounded-lg px-3 py-2 text-xs bg-muted/40`,children:(0,j.jsx)(`div`,{className:`prose prose-invert prose-xs max-w-none prose-p:my-1 prose-headings:mt-2 prose-headings:mb-1 prose-headings:text-sm prose-headings:font-semibold prose-ul:my-1 prose-ol:my-1 prose-li:my-0 prose-code:text-cyan-300 prose-code:text-[10px] prose-code:bg-muted/40 prose-code:px-1 prose-code:py-0.5 prose-code:rounded text-foreground/80`,children:(0,j.jsx)(a,{remarkPlugins:[d],children:_.result_markdown})})}):(0,j.jsx)(`p`,{className:`text-xs text-muted-foreground py-4 text-center`,children:e(`page.proposal.noContent`)}),_.issue_url&&(0,j.jsxs)(`div`,{className:`text-xs`,children:[e(`page.proposal.githubIssue`),` `,(0,j.jsx)(`a`,{href:_.issue_url,target:`_blank`,rel:`noopener noreferrer`,className:`text-accent-primary hover:underline`,children:_.issue_url})]}),(0,j.jsxs)(ee,{children:[(0,j.jsx)(x,{variant:`destructive`,size:`sm`,onClick:()=>{S(_.id),y(null)},children:e(`common:actions.delete`)}),(0,j.jsx)(x,{variant:`ghost`,size:`sm`,onClick:()=>y(null),children:e(`common:actions.close`)})]})]})})})]})}export{U as default};
|