spiracha 1.3.3 → 1.5.0
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/AGENTS.md +55 -6
- package/README.md +46 -5
- package/apps/ui/AGENTS.md +31 -4
- package/apps/ui/README.md +59 -5
- package/apps/ui/dist/client/assets/analytics-DOy1b6Sh.js +1 -0
- package/apps/ui/dist/client/assets/antigravity-conversations._conversationId-DqySVO2K.js +7 -0
- package/apps/ui/dist/client/assets/antigravity-conversations._conversationId-KAcXtNxI.js +1 -0
- package/apps/ui/dist/client/assets/antigravity-keychain-panel-B77qJz6f.js +1 -0
- package/apps/ui/dist/client/assets/antigravity._workspaceKey-B3NM6gRH.js +1 -0
- package/apps/ui/dist/client/assets/antigravity._workspaceKey-ByitGWki.js +1 -0
- package/apps/ui/dist/client/assets/antigravity.index-DP9JC2P9.js +1 -0
- package/apps/ui/dist/client/assets/antigravity.index-DgW25FEV.js +1 -0
- package/apps/ui/dist/client/assets/badge-C3i4OKs8.js +1 -0
- package/apps/ui/dist/client/assets/checkbox-CdHitXWQ.js +1 -0
- package/apps/ui/dist/client/assets/claude-code-sessions._sessionId-8pQ55ci2.js +1 -0
- package/apps/ui/dist/client/assets/claude-code-sessions._sessionId-DVz5UmtU.js +1 -0
- package/apps/ui/dist/client/assets/claude-code._workspaceKey-BBKskSum.js +1 -0
- package/apps/ui/dist/client/assets/claude-code._workspaceKey-OkikMUFs.js +1 -0
- package/apps/ui/dist/client/assets/claude-code.index-Cwu76dbb.js +1 -0
- package/apps/ui/dist/client/assets/claude-code.index-D6eMd08t.js +1 -0
- package/apps/ui/dist/client/assets/createServerFn-B-KkwmHU.js +3 -0
- package/apps/ui/dist/client/assets/cursor-threads._composerId-CmBFclK8.js +1 -0
- package/apps/ui/dist/client/assets/cursor-threads._composerId-hBWlP1D-.js +1 -0
- package/apps/ui/dist/client/assets/cursor._workspaceKey-BFPkIRi-.js +1 -0
- package/apps/ui/dist/client/assets/cursor._workspaceKey-CaAZjGmm.js +1 -0
- package/apps/ui/dist/client/assets/cursor.index-8y4o20kb.js +2 -0
- package/apps/ui/dist/client/assets/cursor.index-CrnMwDCi.js +1 -0
- package/apps/ui/dist/client/assets/{data-table-DeQq8xdt.js → data-table-Br78_dk3.js} +2 -2
- package/apps/ui/dist/client/assets/delete-confirm-dialog-Bxs07u-j.js +7 -0
- package/apps/ui/dist/client/assets/dist-B9pyYCVU.js +1 -0
- package/apps/ui/dist/client/assets/dist-BrJhN2A0.js +5 -0
- package/apps/ui/dist/client/assets/dist-Cmd3AIfD.js +1 -0
- package/apps/ui/dist/client/assets/dist-DvMS2965.js +1 -0
- package/apps/ui/dist/client/assets/download-Bf0QJKD3.js +1 -0
- package/apps/ui/dist/client/assets/dropdown-menu-D5cvPaZt.js +1 -0
- package/apps/ui/dist/client/assets/es2015-ad6040dw.js +41 -0
- package/apps/ui/dist/client/assets/export-dialog-Dr8d2MqD.js +1 -0
- package/apps/ui/dist/client/assets/formatters-BtqyrX_c.js +1 -0
- package/apps/ui/dist/client/assets/index-C-STgIH4.js +166 -0
- package/apps/ui/dist/client/assets/jsx-runtime-DGeXAQPT.js +1 -0
- package/apps/ui/dist/client/assets/kiro-sessions._sessionId-CKgfJ7GR.js +1 -0
- package/apps/ui/dist/client/assets/kiro-sessions._sessionId-zvIJHtQF.js +1 -0
- package/apps/ui/dist/client/assets/kiro._workspaceKey-DhVuJuZB.js +1 -0
- package/apps/ui/dist/client/assets/kiro._workspaceKey-QArsjkTY.js +1 -0
- package/apps/ui/dist/client/assets/kiro.index-C-fr4m7i.js +1 -0
- package/apps/ui/dist/client/assets/kiro.index-OYgAdtZd.js +1 -0
- package/apps/ui/dist/client/assets/metric-card-Dplm0ZiM.js +1 -0
- package/apps/ui/dist/client/assets/opencode-sessions._sessionId-DLjiTst-.js +1 -0
- package/apps/ui/dist/client/assets/opencode-sessions._sessionId-biBwrRbt.js +8 -0
- package/apps/ui/dist/client/assets/opencode._workspaceKey-C7OIzMOJ.js +1 -0
- package/apps/ui/dist/client/assets/opencode._workspaceKey-sBakX0oI.js +1 -0
- package/apps/ui/dist/client/assets/opencode.index-Bl_kNs9N.js +1 -0
- package/apps/ui/dist/client/assets/opencode.index-CN53bVmb.js +1 -0
- package/apps/ui/dist/client/assets/page-header-Cwa3p6Tl.js +1 -0
- package/apps/ui/dist/client/assets/preload-helper-B8fFrdxC.js +1 -0
- package/apps/ui/dist/client/assets/projects._project-D8WloxQN.js +1 -0
- package/apps/ui/dist/client/assets/projects._project-DSDwH4NF.js +1 -0
- package/apps/ui/dist/client/assets/projects.index-5xRtuJdX.js +3 -0
- package/apps/ui/dist/client/assets/projects.index-DEfhWqa8.js +1 -0
- package/apps/ui/dist/client/assets/react-dom-DL96Jor4.js +1 -0
- package/apps/ui/dist/client/assets/refresh-ccw-BgKjOiA6.js +1 -0
- package/apps/ui/dist/client/assets/reload-error-panel-AHqu0akK.js +1 -0
- package/apps/ui/dist/client/assets/routes-DnzF_9CX.js +1 -0
- package/apps/ui/dist/client/assets/scroll-text-fM0sMOB3.js +1 -0
- package/apps/ui/dist/client/assets/select-CYF6pF37.js +1 -0
- package/apps/ui/dist/client/assets/settings-Dx70jgP_.js +1 -0
- package/apps/ui/dist/client/assets/sqlite-error-B6uZjUe8.js +1 -0
- package/apps/ui/dist/client/assets/styles-B7Zi9EFA.css +1 -0
- package/apps/ui/dist/client/assets/tabs-CmuhkT-c.js +7 -0
- package/apps/ui/dist/client/assets/text-filter-DVAZySUS.js +2 -0
- package/apps/ui/dist/client/assets/thread-transcript-stats-BUNz6u7F.js +1 -0
- package/apps/ui/dist/client/assets/threads._threadId-BB9tTsV4.js +1 -0
- package/apps/ui/dist/client/assets/threads._threadId-BMRSFow3.js +1 -0
- package/apps/ui/dist/client/assets/useMutation-BSFult2i.js +1 -0
- package/apps/ui/dist/client/assets/useQuery-CjINKZf1.js +1 -0
- package/apps/ui/dist/client/icon.svg +2 -1
- package/apps/ui/dist/server/assets/_tanstack-start-manifest_v-CQ8Jjs3B.js +387 -0
- package/apps/ui/dist/server/assets/analytics-CYP_LT5Y.js +16 -0
- package/apps/ui/dist/server/assets/{analytics-Dc_QDZZC.js → analytics-CtpOMVMO.js} +13 -6
- package/apps/ui/dist/server/assets/antigravity-conversations._conversationId-BKOyL2T6.js +613 -0
- package/apps/ui/dist/server/assets/{antigravity-conversations._conversationId-C9z4AeN-.js → antigravity-conversations._conversationId-eS87Dx7g.js} +2 -2
- package/apps/ui/dist/server/assets/{antigravity-db-D9gW1D8G.js → antigravity-db-Bh8_U9uw.js} +11 -7
- package/apps/ui/dist/server/assets/{antigravity-keychain-panel-bpPoxhyp.js → antigravity-keychain-panel-CC7FLmAK.js} +1 -1
- package/apps/ui/dist/server/assets/{antigravity-queries-DVIKyOXi.js → antigravity-queries-CGrJO9Vr.js} +5 -5
- package/apps/ui/dist/server/assets/{antigravity-server-Cp1lc8fp.js → antigravity-server-CHRjVFqN.js} +11 -11
- package/apps/ui/dist/server/assets/{antigravity._workspaceKey-Dl8o1ptg.js → antigravity._workspaceKey-B0QeYUOh.js} +2 -2
- package/apps/ui/dist/server/assets/{antigravity._workspaceKey-BAoa4izU.js → antigravity._workspaceKey-C3kP-qyN.js} +4 -4
- package/apps/ui/dist/server/assets/{antigravity.index-BOlrJasZ.js → antigravity.index-CPCYkqCi.js} +2 -2
- package/apps/ui/dist/server/assets/claude-code-db-Ik3VStKZ.js +361 -0
- package/apps/ui/dist/server/assets/claude-code-queries-Cgzi4K-e.js +37 -0
- package/apps/ui/dist/server/assets/claude-code-server-PfraClXS.js +72 -0
- package/apps/ui/dist/server/assets/claude-code-sessions._sessionId-C55oe6zj.js +18 -0
- package/apps/ui/dist/server/assets/claude-code-sessions._sessionId-D1RYYi3j.js +473 -0
- package/apps/ui/dist/server/assets/claude-code-sessions._sessionId-DSvPLEUL.js +11 -0
- package/apps/ui/dist/server/assets/claude-code-transcript-C-bxh3cS.js +139 -0
- package/apps/ui/dist/server/assets/claude-code-transcript-phase-DmUMc8VU.js +10 -0
- package/apps/ui/dist/server/assets/claude-code._workspaceKey-B5Xg_-tE.js +28 -0
- package/apps/ui/dist/server/assets/claude-code._workspaceKey-BPlzyXPa.js +11 -0
- package/apps/ui/dist/server/assets/claude-code._workspaceKey-DqDve2wl.js +191 -0
- package/apps/ui/dist/server/assets/claude-code.index-B7yYR7dD.js +92 -0
- package/apps/ui/dist/server/assets/claude-code.index-BUHThG1W.js +11 -0
- package/apps/ui/dist/server/assets/{codex-queries-ev_mRUzr.js → codex-queries-CtgeZ7VL.js} +15 -13
- package/apps/ui/dist/server/assets/{codex-server-DIYFLozB.js → codex-server-CGXU4H8-.js} +421 -146
- package/apps/ui/dist/server/assets/concurrency-VXtYvlGh.js +18 -0
- package/apps/ui/dist/server/assets/{createServerRpc-Cg-Zr1rq.js → createServerRpc-CF_DEwnm.js} +1 -1
- package/apps/ui/dist/server/assets/{createSsrRpc-DVnVQhGx.js → createSsrRpc-C754NPki.js} +1 -1
- package/apps/ui/dist/server/assets/{cursor-db-B7agkAvM.js → cursor-db-CZnYy7aT.js} +196 -9
- package/apps/ui/dist/server/assets/{cursor-queries-f7DjBKSD.js → cursor-queries-NCIM0Nat.js} +12 -10
- package/apps/ui/dist/server/assets/{cursor-recovery-9bJLs7vG.js → cursor-recovery-CXpO8KcD.js} +2 -2
- package/apps/ui/dist/server/assets/{cursor-server-nPzojHN3.js → cursor-server-DNu52A3K.js} +71 -42
- package/apps/ui/dist/server/assets/cursor-threads._composerId-Ckn6ItHI.js +582 -0
- package/apps/ui/dist/server/assets/{cursor-threads._composerId-B3qcsh9C.js → cursor-threads._composerId-p9-ARAzc.js} +2 -2
- package/apps/ui/dist/server/assets/{cursor-transcript-2iL3KFSK.js → cursor-transcript-B7tGnqtn.js} +1 -1
- package/apps/ui/dist/server/assets/{cursor._workspaceKey-BL_CQyHQ.js → cursor._workspaceKey-CZuohIUL.js} +2 -2
- package/apps/ui/dist/server/assets/{cursor._workspaceKey-BhQeepXB.js → cursor._workspaceKey-DPp5JSjy.js} +11 -9
- package/apps/ui/dist/server/assets/{cursor.index-CsrdckZD.js → cursor.index-DkWT-mxw.js} +2 -2
- package/apps/ui/dist/server/assets/{delete-confirm-dialog-PCD7S0_M.js → delete-confirm-dialog-BcBNCxWB.js} +5 -1
- package/apps/ui/dist/server/assets/{empty-plugin-adapters-D3qLMPfC.js → empty-plugin-adapters-B3lHh1La.js} +1 -1
- package/apps/ui/dist/server/assets/{export-dialog-DaPlOGFT.js → export-dialog-D88ze9Gy.js} +54 -12
- package/apps/ui/dist/server/assets/kiro-db--fXrED_-.js +552 -0
- package/apps/ui/dist/server/assets/kiro-queries-CzNlM2ok.js +37 -0
- package/apps/ui/dist/server/assets/kiro-server-9WRxg2Au.js +72 -0
- package/apps/ui/dist/server/assets/kiro-sessions._sessionId-CRY2c7YO.js +11 -0
- package/apps/ui/dist/server/assets/kiro-sessions._sessionId-F1UlwxmR.js +449 -0
- package/apps/ui/dist/server/assets/kiro-sessions._sessionId-bvTulT7C.js +18 -0
- package/apps/ui/dist/server/assets/kiro-transcript-DoekQBaH.js +112 -0
- package/apps/ui/dist/server/assets/kiro-transcript-phase-CJG40nQg.js +27 -0
- package/apps/ui/dist/server/assets/kiro._workspaceKey-BDe9sQwo.js +11 -0
- package/apps/ui/dist/server/assets/kiro._workspaceKey-CJsjgNwO.js +28 -0
- package/apps/ui/dist/server/assets/kiro._workspaceKey-D_-4Qb7y.js +193 -0
- package/apps/ui/dist/server/assets/kiro.index-C__-UROk.js +11 -0
- package/apps/ui/dist/server/assets/kiro.index-CmTbqeYj.js +93 -0
- package/apps/ui/dist/server/assets/opencode-db-BM7KjOzc.js +397 -0
- package/apps/ui/dist/server/assets/opencode-queries-BeNYXnQv.js +50 -0
- package/apps/ui/dist/server/assets/opencode-server-BpQ_kRze.js +72 -0
- package/apps/ui/dist/server/assets/opencode-sessions._sessionId-CGQ-t0vD.js +518 -0
- package/apps/ui/dist/server/assets/opencode-sessions._sessionId-D8Q7in_Z.js +18 -0
- package/apps/ui/dist/server/assets/opencode-sessions._sessionId-DKOvi0lV.js +11 -0
- package/apps/ui/dist/server/assets/opencode-think-tags-CAoD-EcZ.js +87 -0
- package/apps/ui/dist/server/assets/opencode-transcript-BNTcGNym.js +141 -0
- package/apps/ui/dist/server/assets/opencode-transcript-phase-OqLkiQD0.js +32 -0
- package/apps/ui/dist/server/assets/opencode._workspaceKey-BdqcWHw1.js +11 -0
- package/apps/ui/dist/server/assets/opencode._workspaceKey-CfH96HTT.js +28 -0
- package/apps/ui/dist/server/assets/opencode._workspaceKey-DdbHPDrO.js +207 -0
- package/apps/ui/dist/server/assets/opencode.index-BbVzkJXP.js +11 -0
- package/apps/ui/dist/server/assets/opencode.index-Vh_Gq_1L.js +93 -0
- package/apps/ui/dist/server/assets/{projects._project-CqqUFr4l.js → projects._project-4io5LO0E.js} +5 -3
- package/apps/ui/dist/server/assets/{projects._project-DahGqNYS.js → projects._project-D6ZoGhJ8.js} +42 -12
- package/apps/ui/dist/server/assets/{projects.index-CkTeFWNU.js → projects.index-BkLiF2FF.js} +21 -7
- package/apps/ui/dist/server/assets/projects.index-DesYXwfi.js +14 -0
- package/apps/ui/dist/server/assets/route-search-ts4W9MJ9.js +38 -0
- package/apps/ui/dist/server/assets/router-Sac2DGk6.js +518 -0
- package/apps/ui/dist/server/assets/{routes-Xix3ZeSo.js → routes-Bsact1uB.js} +2 -2
- package/apps/ui/dist/server/assets/{routes-0x1U0IHq.js → routes-BzkJgq4W.js} +2 -2
- package/apps/ui/dist/server/assets/{shared-CPRNYIql.js → shared-DyhChtHf.js} +4 -1
- package/apps/ui/dist/server/assets/source-session-export-server-DNutCawb.js +38 -0
- package/apps/ui/dist/server/assets/start-B_HFwkkk.js +4 -0
- package/apps/ui/dist/server/assets/tabs-DkaChNVg.js +501 -0
- package/apps/ui/dist/server/assets/thread-transcript-stats-Dh34mt2u.js +45 -0
- package/apps/ui/dist/server/assets/threads._threadId-BeXEc4Lo.js +648 -0
- package/apps/ui/dist/server/assets/{threads._threadId-BLCkGW--.js → threads._threadId-Ci0S4mKU.js} +2 -2
- package/apps/ui/dist/server/assets/ui-export-files-BHLX9bhN.js +83 -0
- package/apps/ui/dist/server/server.js +141 -83
- package/package.json +28 -11
- package/src/lib/antigravity-db.ts +20 -13
- package/src/lib/claude-code-db.ts +655 -0
- package/src/lib/claude-code-exporter-types.ts +110 -0
- package/src/lib/claude-code-transcript-phase.ts +25 -0
- package/src/lib/claude-code-transcript.ts +180 -0
- package/src/lib/codex-analytics.ts +118 -18
- package/src/lib/codex-browser-db.ts +491 -56
- package/src/lib/codex-browser-export.ts +27 -71
- package/src/lib/codex-thread-cache.ts +17 -1
- package/src/lib/concurrency.ts +25 -0
- package/src/lib/cursor-db.ts +318 -7
- package/src/lib/cursor-exporter.ts +2 -2
- package/src/lib/kiro-db.ts +949 -0
- package/src/lib/kiro-exporter-types.ts +100 -0
- package/src/lib/kiro-transcript-phase.ts +41 -0
- package/src/lib/kiro-transcript.ts +115 -0
- package/src/lib/opencode-db.ts +610 -0
- package/src/lib/opencode-exporter-types.ts +129 -0
- package/src/lib/opencode-think-tags.ts +126 -0
- package/src/lib/opencode-transcript-phase.ts +50 -0
- package/src/lib/opencode-transcript.ts +194 -0
- package/src/lib/shared.ts +25 -0
- package/src/lib/ui-cache.ts +14 -1
- package/src/lib/ui-export-archive.ts +61 -0
- package/apps/ui/dist/client/assets/analytics-C83LcWNb.js +0 -1
- package/apps/ui/dist/client/assets/antigravity-conversations._conversationId-DkY8EEpK.js +0 -1
- package/apps/ui/dist/client/assets/antigravity-conversations._conversationId-OraHuz8j.js +0 -1
- package/apps/ui/dist/client/assets/antigravity-keychain-panel-DnDcq1ge.js +0 -1
- package/apps/ui/dist/client/assets/antigravity._workspaceKey-CQaZscA5.js +0 -1
- package/apps/ui/dist/client/assets/antigravity._workspaceKey-DTs99obU.js +0 -1
- package/apps/ui/dist/client/assets/antigravity.index-DbJa715k.js +0 -1
- package/apps/ui/dist/client/assets/antigravity.index-P-rs6w5X.js +0 -1
- package/apps/ui/dist/client/assets/badge-wgTVp-aq.js +0 -1
- package/apps/ui/dist/client/assets/checkbox-BUx0Gkuf.js +0 -1
- package/apps/ui/dist/client/assets/cursor-threads._composerId-D0DFXt8t.js +0 -1
- package/apps/ui/dist/client/assets/cursor-threads._composerId-tFa6Cf6A.js +0 -1
- package/apps/ui/dist/client/assets/cursor._workspaceKey-Df4PfA2k.js +0 -1
- package/apps/ui/dist/client/assets/cursor._workspaceKey-DwrzEtnV.js +0 -1
- package/apps/ui/dist/client/assets/cursor.index-CNBf4ZiR.js +0 -1
- package/apps/ui/dist/client/assets/cursor.index-DP9Hy8X6.js +0 -2
- package/apps/ui/dist/client/assets/delete-confirm-dialog-CPlNsLhM.js +0 -11
- package/apps/ui/dist/client/assets/dist-Ds3kS91l.js +0 -1
- package/apps/ui/dist/client/assets/download-DLuPnxpV.js +0 -1
- package/apps/ui/dist/client/assets/dropdown-menu-lFk6zjoL.js +0 -1
- package/apps/ui/dist/client/assets/es2015-D-H_iZF6.js +0 -41
- package/apps/ui/dist/client/assets/export-dialog-CyqyvwiP.js +0 -1
- package/apps/ui/dist/client/assets/formatters-DbCKP02D.js +0 -1
- package/apps/ui/dist/client/assets/index-C-ZPpKJ0.js +0 -22
- package/apps/ui/dist/client/assets/json-panel-BsngvucB.js +0 -1
- package/apps/ui/dist/client/assets/metadata-section-Dtl8dNag.js +0 -1
- package/apps/ui/dist/client/assets/metric-card-DNzR1Rne.js +0 -1
- package/apps/ui/dist/client/assets/page-header-dha_O7ZL.js +0 -1
- package/apps/ui/dist/client/assets/projects._project-B7HBhbXv.js +0 -1
- package/apps/ui/dist/client/assets/projects._project-DHVvuT7A.js +0 -1
- package/apps/ui/dist/client/assets/projects.index-BUUtx2AZ.js +0 -1
- package/apps/ui/dist/client/assets/projects.index-BojAe1Y4.js +0 -3
- package/apps/ui/dist/client/assets/refresh-ccw-B-ASKHtx.js +0 -1
- package/apps/ui/dist/client/assets/reload-error-panel-DD8M1BIY.js +0 -1
- package/apps/ui/dist/client/assets/routes-q7bzFp35.js +0 -1
- package/apps/ui/dist/client/assets/scroll-text-TvHyiJ_N.js +0 -1
- package/apps/ui/dist/client/assets/select-BFv1HMiT.js +0 -1
- package/apps/ui/dist/client/assets/settings-CvegTo4F.js +0 -1
- package/apps/ui/dist/client/assets/styles-Ch0r3kMZ.css +0 -1
- package/apps/ui/dist/client/assets/text-document-panel-D7Rws41o.js +0 -1
- package/apps/ui/dist/client/assets/text-filter-2q5pEoZh.js +0 -2
- package/apps/ui/dist/client/assets/threads._threadId-LpZVUlPq.js +0 -7
- package/apps/ui/dist/client/assets/threads._threadId-MSmNIBkq.js +0 -1
- package/apps/ui/dist/client/assets/useMutation-BOPJU9e0.js +0 -1
- package/apps/ui/dist/client/assets/useQuery-CbxZiVGF.js +0 -1
- package/apps/ui/dist/server/assets/_tanstack-start-manifest_v-zvGzK-Yx.js +0 -229
- package/apps/ui/dist/server/assets/antigravity-conversations._conversationId-JEhx-f2R.js +0 -212
- package/apps/ui/dist/server/assets/cursor-threads._composerId-BK3iW-3e.js +0 -218
- package/apps/ui/dist/server/assets/json-panel-RYsxWFae.js +0 -16
- package/apps/ui/dist/server/assets/metadata-section-D6Lbc7D6.js +0 -54
- package/apps/ui/dist/server/assets/router-K0m7dK4T.js +0 -394
- package/apps/ui/dist/server/assets/start-bX7bXjzw.js +0 -4
- package/apps/ui/dist/server/assets/text-document-panel-D8JbQWAn.js +0 -23
- package/apps/ui/dist/server/assets/threads._threadId-LjgsGUh-.js +0 -1052
package/apps/ui/dist/server/assets/{projects._project-DahGqNYS.js → projects._project-D6ZoGhJ8.js}
RENAMED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { t as Button } from "./button-CmTDnzOn.js";
|
|
2
2
|
import { n as useSettings } from "./settings-store-DpEJEQ7M.js";
|
|
3
|
-
import { c as deleteThreadFn, d as exportThreadsFn, f as recoverProjectThreadsFn, l as deleteThreadsFn, r as projectThreadsQueryOptions, u as exportThreadFn } from "./codex-queries-
|
|
4
|
-
import {
|
|
3
|
+
import { c as deleteThreadFn, d as exportThreadsFn, f as recoverProjectThreadsFn, l as deleteThreadsFn, r as projectThreadsQueryOptions, u as exportThreadFn } from "./codex-queries-CtgeZ7VL.js";
|
|
4
|
+
import { o as withTextQuerySearch } from "./route-search-ts4W9MJ9.js";
|
|
5
|
+
import { t as Route } from "./projects._project-4io5LO0E.js";
|
|
5
6
|
import { t as DataTable } from "./data-table-Cdct823O.js";
|
|
6
7
|
import { t as PageHeader } from "./page-header-VNSaM3xd.js";
|
|
7
8
|
import { n as formatBytes, o as formatNumber, r as formatDateTime, s as formatTokens } from "./formatters-FJaGZgJk.js";
|
|
8
9
|
import { n as downloadUrlFile, t as downloadTextFile } from "./download-DMmiy1xf.js";
|
|
9
10
|
import { i as DropdownMenuTrigger, n as DropdownMenuContent, r as DropdownMenuItem, t as DropdownMenu } from "./dropdown-menu-Dy_9t6TN.js";
|
|
10
11
|
import { n as ListSearchInput, t as matchesTextQuery } from "./text-filter-CGKxMCKt.js";
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { useDeferredValue, useMemo, useState } from "react";
|
|
14
|
-
import { Link } from "@tanstack/react-router";
|
|
12
|
+
import { t as ExportDialog } from "./export-dialog-D88ze9Gy.js";
|
|
13
|
+
import { t as DeleteConfirmDialog } from "./delete-confirm-dialog-BcBNCxWB.js";
|
|
14
|
+
import { startTransition, useDeferredValue, useMemo, useState } from "react";
|
|
15
|
+
import { Link, useNavigate } from "@tanstack/react-router";
|
|
15
16
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
17
|
import { useMutation, useQueryClient, useSuspenseQuery } from "@tanstack/react-query";
|
|
17
18
|
import { Download, MoreHorizontal, RefreshCcw, Trash2, X } from "lucide-react";
|
|
@@ -186,12 +187,30 @@ function ThreadsTable({ threads, onDeleteThread, onDeleteThreads, onExportThread
|
|
|
186
187
|
}
|
|
187
188
|
//#endregion
|
|
188
189
|
//#region src/routes/projects.$project.tsx?tsr-split=component
|
|
190
|
+
var shouldForceZipArchive = (pendingExport) => {
|
|
191
|
+
return Boolean(pendingExport && pendingExport.threadIds.length > 1);
|
|
192
|
+
};
|
|
193
|
+
var getDeleteConfirmLabel = (pendingDelete, isPending) => {
|
|
194
|
+
if (isPending) return "Deleting...";
|
|
195
|
+
if (pendingDelete && pendingDelete.threads.length > 1) return "Delete threads";
|
|
196
|
+
return "Delete thread";
|
|
197
|
+
};
|
|
198
|
+
var getDeleteDescription = (pendingDelete) => {
|
|
199
|
+
if (!pendingDelete) return "";
|
|
200
|
+
if (pendingDelete.threads.length === 1) return `Delete the thread "${pendingDelete.threads[0].thread.title}" from the Codex database. Leave Session files unchecked if you only want to remove the current DB row.`;
|
|
201
|
+
return `Delete ${pendingDelete.threads.length} selected threads from the Codex database. Enable Delete Session files if you also want to remove their rollout JSONL files.`;
|
|
202
|
+
};
|
|
203
|
+
var getDeleteTitle = (pendingDelete) => {
|
|
204
|
+
if (pendingDelete && pendingDelete.threads.length > 1) return `Delete ${pendingDelete.threads.length} Codex threads?`;
|
|
205
|
+
return "Delete Codex thread?";
|
|
206
|
+
};
|
|
189
207
|
function ProjectDetailPage() {
|
|
208
|
+
const navigate = useNavigate({ from: Route.fullPath });
|
|
190
209
|
const params = Route.useParams();
|
|
191
210
|
const queryClient = useQueryClient();
|
|
192
211
|
const threads = useSuspenseQuery(projectThreadsQueryOptions(params.project)).data;
|
|
193
212
|
const { settings } = useSettings();
|
|
194
|
-
const
|
|
213
|
+
const searchInput = Route.useSearch().q ?? "";
|
|
195
214
|
const [pendingDelete, setPendingDelete] = useState(null);
|
|
196
215
|
const [pendingExport, setPendingExport] = useState(null);
|
|
197
216
|
const deferredSearch = useDeferredValue(searchInput.trim().toLowerCase());
|
|
@@ -231,7 +250,8 @@ function ProjectDetailPage() {
|
|
|
231
250
|
outputFormat: options.outputFormat,
|
|
232
251
|
project: params.project,
|
|
233
252
|
selectedThreadCount: pendingExport.threadIds.length,
|
|
234
|
-
selectedThreadIds: pendingExport.threadIds
|
|
253
|
+
selectedThreadIds: pendingExport.threadIds,
|
|
254
|
+
zipArchive: options.zipArchive
|
|
235
255
|
});
|
|
236
256
|
const download = pendingExport.threadIds.length === 1 ? await exportThreadFn({ data: {
|
|
237
257
|
...options,
|
|
@@ -276,6 +296,15 @@ function ProjectDetailPage() {
|
|
|
276
296
|
]);
|
|
277
297
|
});
|
|
278
298
|
const visibleThreadsById = useMemo(() => new Map(visibleThreads.map((thread) => [thread.thread.id, thread])), [visibleThreads]);
|
|
299
|
+
const updateSearchInput = (value) => {
|
|
300
|
+
startTransition(() => {
|
|
301
|
+
navigate({
|
|
302
|
+
params: true,
|
|
303
|
+
replace: true,
|
|
304
|
+
search: (previous) => withTextQuerySearch(previous, value)
|
|
305
|
+
});
|
|
306
|
+
});
|
|
307
|
+
};
|
|
279
308
|
const lookupSelectedThreads = (threadIds) => {
|
|
280
309
|
return threadIds.map((threadId) => visibleThreadsById.get(threadId) ?? null).filter((thread) => thread !== null);
|
|
281
310
|
};
|
|
@@ -295,7 +324,7 @@ function ProjectDetailPage() {
|
|
|
295
324
|
}), /* @__PURE__ */ jsx(ListSearchInput, {
|
|
296
325
|
placeholder: "Search thread title, preview, or model",
|
|
297
326
|
value: searchInput,
|
|
298
|
-
onValueChange:
|
|
327
|
+
onValueChange: updateSearchInput
|
|
299
328
|
})]
|
|
300
329
|
}),
|
|
301
330
|
eyebrow: "Codex project",
|
|
@@ -332,12 +361,12 @@ function ProjectDetailPage() {
|
|
|
332
361
|
}
|
|
333
362
|
}),
|
|
334
363
|
/* @__PURE__ */ jsx(DeleteConfirmDialog, {
|
|
335
|
-
confirmLabel: deleteThreadMutation.isPending
|
|
364
|
+
confirmLabel: getDeleteConfirmLabel(pendingDelete, deleteThreadMutation.isPending),
|
|
336
365
|
defaultDeleteSessionFiles: true,
|
|
337
|
-
description: pendingDelete
|
|
366
|
+
description: getDeleteDescription(pendingDelete),
|
|
338
367
|
open: pendingDelete !== null,
|
|
339
368
|
showDeleteSessionFilesOption: true,
|
|
340
|
-
title: pendingDelete
|
|
369
|
+
title: getDeleteTitle(pendingDelete),
|
|
341
370
|
onConfirm: ({ deleteSessionFiles }) => {
|
|
342
371
|
if (!pendingDelete) return;
|
|
343
372
|
deleteThreadMutation.mutate({
|
|
@@ -350,6 +379,7 @@ function ProjectDetailPage() {
|
|
|
350
379
|
}
|
|
351
380
|
}),
|
|
352
381
|
/* @__PURE__ */ jsx(ExportDialog, {
|
|
382
|
+
forceZipArchive: shouldForceZipArchive(pendingExport),
|
|
353
383
|
open: pendingExport !== null,
|
|
354
384
|
pending: exportThreadMutation.isPending,
|
|
355
385
|
title: pendingExport ? `Export ${pendingExport.threadLabel}` : "Export thread",
|
package/apps/ui/dist/server/assets/{projects.index-CkTeFWNU.js → projects.index-BkLiF2FF.js}
RENAMED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { t as Button } from "./button-CmTDnzOn.js";
|
|
2
|
-
import { i as projectsQueryOptions, s as deleteProjectFn } from "./codex-queries-
|
|
2
|
+
import { i as projectsQueryOptions, s as deleteProjectFn } from "./codex-queries-CtgeZ7VL.js";
|
|
3
|
+
import { o as withTextQuerySearch } from "./route-search-ts4W9MJ9.js";
|
|
4
|
+
import { t as Route } from "./projects.index-DesYXwfi.js";
|
|
3
5
|
import { t as DataTable } from "./data-table-Cdct823O.js";
|
|
4
6
|
import { t as PageHeader } from "./page-header-VNSaM3xd.js";
|
|
5
7
|
import { i as formatList, o as formatNumber, r as formatDateTime, s as formatTokens } from "./formatters-FJaGZgJk.js";
|
|
6
8
|
import { i as DropdownMenuTrigger, n as DropdownMenuContent, r as DropdownMenuItem, t as DropdownMenu } from "./dropdown-menu-Dy_9t6TN.js";
|
|
7
9
|
import { n as ListSearchInput, t as matchesTextQuery } from "./text-filter-CGKxMCKt.js";
|
|
8
|
-
import { t as DeleteConfirmDialog } from "./delete-confirm-dialog-
|
|
9
|
-
import { useDeferredValue, useState } from "react";
|
|
10
|
-
import { Link } from "@tanstack/react-router";
|
|
10
|
+
import { t as DeleteConfirmDialog } from "./delete-confirm-dialog-BcBNCxWB.js";
|
|
11
|
+
import { startTransition, useDeferredValue, useState } from "react";
|
|
12
|
+
import { Link, useNavigate } from "@tanstack/react-router";
|
|
11
13
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
14
|
import { useMutation, useQueryClient, useSuspenseQuery } from "@tanstack/react-query";
|
|
13
15
|
import { MoreHorizontal, Trash2 } from "lucide-react";
|
|
@@ -98,15 +100,20 @@ function ProjectsTable({ projects, onDeleteProject }) {
|
|
|
98
100
|
return /* @__PURE__ */ jsx(DataTable, {
|
|
99
101
|
columns: columns(onDeleteProject),
|
|
100
102
|
data: projects,
|
|
101
|
-
emptyMessage: "No projects match the current search."
|
|
103
|
+
emptyMessage: "No projects match the current search.",
|
|
104
|
+
initialSorting: [{
|
|
105
|
+
desc: true,
|
|
106
|
+
id: "lastUpdatedAtMs"
|
|
107
|
+
}]
|
|
102
108
|
});
|
|
103
109
|
}
|
|
104
110
|
//#endregion
|
|
105
111
|
//#region src/routes/projects.index.tsx?tsr-split=component
|
|
106
112
|
function ProjectsPage() {
|
|
113
|
+
const navigate = useNavigate({ from: Route.fullPath });
|
|
107
114
|
const queryClient = useQueryClient();
|
|
108
115
|
const projects = useSuspenseQuery(projectsQueryOptions()).data;
|
|
109
|
-
const
|
|
116
|
+
const searchInput = Route.useSearch().q ?? "";
|
|
110
117
|
const [pendingDelete, setPendingDelete] = useState(null);
|
|
111
118
|
const deferredSearch = useDeferredValue(searchInput.trim().toLowerCase());
|
|
112
119
|
const deleteProjectMutation = useMutation({
|
|
@@ -134,7 +141,14 @@ function ProjectsPage() {
|
|
|
134
141
|
actions: /* @__PURE__ */ jsx(ListSearchInput, {
|
|
135
142
|
placeholder: "Search project name, cwd, or model",
|
|
136
143
|
value: searchInput,
|
|
137
|
-
onValueChange:
|
|
144
|
+
onValueChange: (value) => {
|
|
145
|
+
startTransition(() => {
|
|
146
|
+
navigate({
|
|
147
|
+
replace: true,
|
|
148
|
+
search: (previous) => withTextQuerySearch(previous, value)
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
}
|
|
138
152
|
}),
|
|
139
153
|
eyebrow: "Inventory",
|
|
140
154
|
subtitle: "Derived projects are grouped from the final basename of each thread cwd, matching the existing CLI behavior.",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { i as projectsQueryOptions } from "./codex-queries-CtgeZ7VL.js";
|
|
2
|
+
import { i as parseTextQuerySearch } from "./route-search-ts4W9MJ9.js";
|
|
3
|
+
import { createFileRoute, lazyRouteComponent } from "@tanstack/react-router";
|
|
4
|
+
//#region src/routes/projects.index.tsx
|
|
5
|
+
var $$splitErrorComponentImporter = () => import("./projects.index-BLXOx5eL.js");
|
|
6
|
+
var $$splitComponentImporter = () => import("./projects.index-BkLiF2FF.js");
|
|
7
|
+
var Route = createFileRoute("/projects/")({
|
|
8
|
+
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
9
|
+
errorComponent: lazyRouteComponent($$splitErrorComponentImporter, "errorComponent"),
|
|
10
|
+
loader: ({ context }) => context.queryClient.ensureQueryData(projectsQueryOptions()),
|
|
11
|
+
validateSearch: parseTextQuerySearch
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { Route as t };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
//#region src/lib/route-search.ts
|
|
2
|
+
var asNonBlankString = (value) => {
|
|
3
|
+
if (typeof value !== "string") return;
|
|
4
|
+
const trimmed = value.trim();
|
|
5
|
+
return trimmed.length > 0 ? trimmed : void 0;
|
|
6
|
+
};
|
|
7
|
+
var parseTextQuerySearch = (search) => {
|
|
8
|
+
const q = asNonBlankString(search.q);
|
|
9
|
+
return q ? { q } : {};
|
|
10
|
+
};
|
|
11
|
+
var parseAnalyticsSearch = (search) => {
|
|
12
|
+
const project = asNonBlankString(search.project);
|
|
13
|
+
return project ? { project } : {};
|
|
14
|
+
};
|
|
15
|
+
var withTextQuerySearch = (current, query) => {
|
|
16
|
+
const next = { ...current };
|
|
17
|
+
const q = asNonBlankString(query);
|
|
18
|
+
if (q) next.q = q;
|
|
19
|
+
else delete next.q;
|
|
20
|
+
return next;
|
|
21
|
+
};
|
|
22
|
+
var withAnalyticsProjectSearch = (current, project) => {
|
|
23
|
+
const next = { ...current };
|
|
24
|
+
const trimmedProject = asNonBlankString(project);
|
|
25
|
+
if (trimmedProject) next.project = trimmedProject;
|
|
26
|
+
else delete next.project;
|
|
27
|
+
return next;
|
|
28
|
+
};
|
|
29
|
+
var ALL_PROJECTS_SELECT_VALUE = "__all__";
|
|
30
|
+
var PROJECT_SELECT_PREFIX = "project:";
|
|
31
|
+
var encodeAnalyticsProjectSelectValue = (project) => {
|
|
32
|
+
return project ? `${PROJECT_SELECT_PREFIX}${project}` : ALL_PROJECTS_SELECT_VALUE;
|
|
33
|
+
};
|
|
34
|
+
var decodeAnalyticsProjectSelectValue = (value) => {
|
|
35
|
+
return value === ALL_PROJECTS_SELECT_VALUE || !value.startsWith(PROJECT_SELECT_PREFIX) ? null : value.slice(8);
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
export { withAnalyticsProjectSearch as a, parseTextQuerySearch as i, encodeAnalyticsProjectSelectValue as n, withTextQuerySearch as o, parseAnalyticsSearch as r, decodeAnalyticsProjectSelectValue as t };
|