@saluzi/saluzi-edu 0.7.35 → 0.7.36
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/cli.js +109 -100
- package/dist/rcs-schema.sql +13 -1
- package/dist/rcs-web/assets/{AdminPanel-BHFN9LNJ.js → AdminPanel-DNBSru_G.js} +1 -1
- package/dist/rcs-web/assets/{ArtifactView-D597eE0B.js → ArtifactView-gUzyHJ7q.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ArtifactsGallery-CLQlrMUD.js → dist/rcs-web/assets/ArtifactsGallery-CpLh8gO6.js} +7 -7
- package/{packages/remote-control-server/web/dist/assets/Claim-OHl3vi3x.js → dist/rcs-web/assets/Claim-C7E3WT4f.js} +1 -1
- package/dist/rcs-web/assets/Dashboard-B6D1a9t5.js +2 -0
- package/dist/rcs-web/assets/{Join-r5JcPEJU.js → Join-CEirdone.js} +1 -1
- package/dist/rcs-web/assets/{Login-BV-VFXc8.js → Login-Ddl_jJu7.js} +1 -1
- package/dist/rcs-web/assets/{MemoriesPage-CnvVE7y9.js → MemoriesPage-Dh0nr4m_.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/MemoryTypeChips-BkrR3x2j.js → dist/rcs-web/assets/MemoryTypeChips-DL1Uf2db.js} +2 -2
- package/dist/rcs-web/assets/{Register-BKegRZln.js → Register-Dk25q6g8.js} +1 -1
- package/dist/rcs-web/assets/{RegisterEmpty-CQLw7nxd.js → RegisterEmpty-CdLm4eR8.js} +1 -1
- package/dist/rcs-web/assets/SessionDetail-Bkz6dL9v.js +83 -0
- package/dist/rcs-web/assets/SessionVisibilityBadge-CtjTB48N.js +16 -0
- package/dist/rcs-web/assets/{Setup-4TRbUKxr.js → Setup-Ce4opwTt.js} +1 -1
- package/dist/rcs-web/assets/{ShareLanding-DgCCzzY3.js → ShareLanding-CJQURPqs.js} +1 -1
- package/dist/rcs-web/assets/{TeamDetail-TuVJeCR1.js → TeamDetail-BTbWxeki.js} +2 -2
- package/dist/rcs-web/assets/{TeamList-DhoruPq3.js → TeamList-DRzBptgs.js} +1 -1
- package/dist/rcs-web/assets/{TeamSettings-CHEQR0jb.js → TeamSettings-CmUq3hLc.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/UserSearchInput-C4wv1O_6.js → dist/rcs-web/assets/UserSearchInput-C8H64lVR.js} +1 -1
- package/dist/rcs-web/assets/{UserSettings-BCg9Hx1x.js → UserSettings-BEIlh9kd.js} +1 -1
- package/dist/rcs-web/assets/{arc-C-_TIerE.js → arc-BtitZIgo.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/architectureDiagram-3BPJPVTR-beAA8z-g.js → dist/rcs-web/assets/architectureDiagram-3BPJPVTR-B5sR9G2-.js} +1 -1
- package/dist/rcs-web/assets/{blockDiagram-GPEHLZMM-BNR3gwO7.js → blockDiagram-GPEHLZMM-5cF13FZT.js} +1 -1
- package/dist/rcs-web/assets/{c4Diagram-AAUBKEIU-B4JhY8vU.js → c4Diagram-AAUBKEIU-Blp83HZs.js} +1 -1
- package/dist/rcs-web/assets/channel-QeSvbFDN.js +1 -0
- package/dist/rcs-web/assets/{chunk-2J33WTMH-C-PijTjw.js → chunk-2J33WTMH-nAF6ry-x.js} +1 -1
- package/dist/rcs-web/assets/{chunk-4BX2VUAB-Cf9gkdhc.js → chunk-4BX2VUAB-B_YEQwMM.js} +1 -1
- package/dist/rcs-web/assets/{chunk-55IACEB6-CU8wR03K.js → chunk-55IACEB6-DWgWeTMt.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/chunk-727SXJPM-zxNGjQ_A.js → dist/rcs-web/assets/chunk-727SXJPM-lfm6jXAu.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/chunk-AQP2D5EJ-GzIqC820.js → dist/rcs-web/assets/chunk-AQP2D5EJ-CWnhAZ9O.js} +1 -1
- package/dist/rcs-web/assets/{chunk-FMBD7UC4-C0Gozh4X.js → chunk-FMBD7UC4-QBtdnQIp.js} +1 -1
- package/dist/rcs-web/assets/{chunk-ND2GUHAM-Vd4uKkwn.js → chunk-ND2GUHAM-YUuihu7V.js} +1 -1
- package/dist/rcs-web/assets/{chunk-QZHKN3VN-CcmoHM31.js → chunk-QZHKN3VN-CegaWivs.js} +1 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-BrYok7tm.js +1 -0
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-BrYok7tm.js +1 -0
- package/dist/rcs-web/assets/{code-block-IT6T5CEO-CeTiJ_5U.js → code-block-IT6T5CEO-D2n4Ga2v.js} +1 -1
- package/dist/rcs-web/assets/{copy-CZDxZlFG.js → copy-Dt0a6XCD.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A-Drz-N1FU.js → dist/rcs-web/assets/cose-bilkent-S5V4N54A-D3tF664q.js} +1 -1
- package/dist/rcs-web/assets/{dagre-BM42HDAG-Bii1VCPk.js → dagre-BM42HDAG-Ba9POJgR.js} +1 -1
- package/dist/rcs-web/assets/{diagram-2AECGRRQ-BXzs0Inz.js → diagram-2AECGRRQ-CZAcdfXD.js} +1 -1
- package/dist/rcs-web/assets/{diagram-5GNKFQAL-CytXTMI4.js → diagram-5GNKFQAL-DO4nXgzG.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/diagram-KO2AKTUF-R6DT6E64.js → dist/rcs-web/assets/diagram-KO2AKTUF-BDK3PG7v.js} +1 -1
- package/dist/rcs-web/assets/{diagram-LMA3HP47-B6S2xHIS.js → diagram-LMA3HP47-DYXmhnhQ.js} +1 -1
- package/dist/rcs-web/assets/{diagram-OG6HWLK6-AHaTYJVB.js → diagram-OG6HWLK6-CLarvguU.js} +1 -1
- package/dist/rcs-web/assets/{dialog-Bts_qkki.js → dialog-8nXjsFEb.js} +1 -1
- package/dist/rcs-web/assets/{erDiagram-TEJ5UH35-D5JbEkq8.js → erDiagram-TEJ5UH35-D4zryVmf.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/flowDiagram-I6XJVG4X-CY0aHTCu.js → dist/rcs-web/assets/flowDiagram-I6XJVG4X-C55CpRnZ.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/ganttDiagram-6RSMTGT7-CSyAl3z-.js → dist/rcs-web/assets/ganttDiagram-6RSMTGT7-a33rVx18.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/gitGraphDiagram-PVQCEYII-e5YIgxoR.js → dist/rcs-web/assets/gitGraphDiagram-PVQCEYII-CdeFuha2.js} +1 -1
- package/dist/rcs-web/assets/{infoDiagram-5YYISTIA-DVDPyLBc.js → infoDiagram-5YYISTIA-CkgCIBPN.js} +1 -1
- package/dist/rcs-web/assets/{ishikawaDiagram-YF4QCWOH-0gxGyjL6.js → ishikawaDiagram-YF4QCWOH-IMWeHd6c.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/journeyDiagram-JHISSGLW-CM83fuK_.js → dist/rcs-web/assets/journeyDiagram-JHISSGLW-BW_NwQ4x.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/kanban-definition-UN3LZRKU-id_FkJ5L.js → dist/rcs-web/assets/kanban-definition-UN3LZRKU-BEYl8Usi.js} +1 -1
- package/dist/rcs-web/assets/{linear-4qBKmb1P.js → linear-Di8Hsx3R.js} +1 -1
- package/dist/rcs-web/assets/{main-BAO6US1o.js → main-BkfSO2Rz.js} +21 -21
- package/dist/rcs-web/assets/main-C8p_H8IX.css +1 -0
- package/{packages/remote-control-server/web/dist/assets/mermaid-VLURNSYL-BUDhzZZx.js → dist/rcs-web/assets/mermaid-VLURNSYL-Alki8AJh.js} +4 -4
- package/dist/rcs-web/assets/{mermaid.core-n5f_df_C.js → mermaid.core-CPLRyRun.js} +5 -5
- package/{packages/remote-control-server/web/dist/assets/mindmap-definition-RKZ34NQL-Cn5ESsTL.js → dist/rcs-web/assets/mindmap-definition-RKZ34NQL-DzkpJBE2.js} +1 -1
- package/dist/rcs-web/assets/{notifications-D0Ro2M4C.js → notifications-V4HNWkys.js} +1 -1
- package/dist/rcs-web/assets/{pieDiagram-4H26LBE5-CfNaOQwR.js → pieDiagram-4H26LBE5-BcvVbbf5.js} +1 -1
- package/dist/rcs-web/assets/{quadrantDiagram-W4KKPZXB-9EH7YWIg.js → quadrantDiagram-W4KKPZXB-DTIciStr.js} +1 -1
- package/dist/rcs-web/assets/{refresh-cw-Cj9UC6vN.js → refresh-cw-DPCoOD18.js} +1 -1
- package/dist/rcs-web/assets/{requirementDiagram-4Y6WPE33-Cw-qvChc.js → requirementDiagram-4Y6WPE33-Dilpse2A.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-grgk3897.js → dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-DsBacA7d.js} +1 -1
- package/dist/rcs-web/assets/{sequenceDiagram-3UESZ5HK-DEiAVVrz.js → sequenceDiagram-3UESZ5HK-C_USxpgF.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/stateDiagram-AJRCARHV-vYQ7RnEF.js → dist/rcs-web/assets/stateDiagram-AJRCARHV-ClUhzFvq.js} +1 -1
- package/dist/rcs-web/assets/{stateDiagram-v2-BHNVJYJU-BQI838MX.js → stateDiagram-v2-BHNVJYJU-dRIOwebj.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/timeline-definition-PNZ67QCA-Bd21eOrF.js → dist/rcs-web/assets/timeline-definition-PNZ67QCA-BH8TVQ46.js} +1 -1
- package/dist/rcs-web/assets/{vennDiagram-CIIHVFJN-g8Wh80Ut.js → vennDiagram-CIIHVFJN-BtRNizK-.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-CW-frP4D.js → dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-BW1rj4A0.js} +1 -1
- package/{packages/remote-control-server/web/dist/assets/workerType-QC9nrox4.js → dist/rcs-web/assets/workerType-CS6pd4nT.js} +1 -1
- package/dist/rcs-web/assets/{xychartDiagram-2RQKCTM6-DsyfoONu.js → xychartDiagram-2RQKCTM6-JsSvd6FU.js} +1 -1
- package/dist/rcs-web/index.html +2 -2
- package/package.json +1 -1
- package/packages/remote-control-server/src/__tests__/low-priority-fixes.test.ts +3 -0
- package/packages/remote-control-server/src/__tests__/routes.test.ts +4 -4
- package/packages/remote-control-server/src/__tests__/session-cwd.test.ts +226 -0
- package/packages/remote-control-server/src/__tests__/stuck-turn-watchdog.test.ts +3 -1
- package/packages/remote-control-server/src/db/rcs-schema.sql +13 -1
- package/packages/remote-control-server/src/db/sqlite.ts +27 -0
- package/packages/remote-control-server/src/routes/web/environments.ts +68 -5
- package/packages/remote-control-server/src/routes/web/sessions.ts +113 -9
- package/packages/remote-control-server/src/services/environment.ts +83 -2
- package/packages/remote-control-server/src/services/paths.ts +115 -0
- package/packages/remote-control-server/src/services/session.ts +21 -0
- package/packages/remote-control-server/src/services/work-dispatch.ts +23 -2
- package/packages/remote-control-server/src/store.ts +55 -6
- package/packages/remote-control-server/src/types/api.ts +23 -0
- package/packages/remote-control-server/web/dist/assets/{AdminPanel-BHFN9LNJ.js → AdminPanel-DNBSru_G.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ArtifactView-D597eE0B.js → ArtifactView-gUzyHJ7q.js} +1 -1
- package/{dist/rcs-web/assets/ArtifactsGallery-CLQlrMUD.js → packages/remote-control-server/web/dist/assets/ArtifactsGallery-CpLh8gO6.js} +7 -7
- package/{dist/rcs-web/assets/Claim-OHl3vi3x.js → packages/remote-control-server/web/dist/assets/Claim-C7E3WT4f.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/Dashboard-B6D1a9t5.js +2 -0
- package/packages/remote-control-server/web/dist/assets/{Join-r5JcPEJU.js → Join-CEirdone.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{Login-BV-VFXc8.js → Login-Ddl_jJu7.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{MemoriesPage-CnvVE7y9.js → MemoriesPage-Dh0nr4m_.js} +1 -1
- package/{dist/rcs-web/assets/MemoryTypeChips-BkrR3x2j.js → packages/remote-control-server/web/dist/assets/MemoryTypeChips-DL1Uf2db.js} +2 -2
- package/packages/remote-control-server/web/dist/assets/{Register-BKegRZln.js → Register-Dk25q6g8.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{RegisterEmpty-CQLw7nxd.js → RegisterEmpty-CdLm4eR8.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/SessionDetail-Bkz6dL9v.js +83 -0
- package/packages/remote-control-server/web/dist/assets/SessionVisibilityBadge-CtjTB48N.js +16 -0
- package/packages/remote-control-server/web/dist/assets/{Setup-4TRbUKxr.js → Setup-Ce4opwTt.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ShareLanding-DgCCzzY3.js → ShareLanding-CJQURPqs.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{TeamDetail-TuVJeCR1.js → TeamDetail-BTbWxeki.js} +2 -2
- package/packages/remote-control-server/web/dist/assets/{TeamList-DhoruPq3.js → TeamList-DRzBptgs.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{TeamSettings-CHEQR0jb.js → TeamSettings-CmUq3hLc.js} +1 -1
- package/{dist/rcs-web/assets/UserSearchInput-C4wv1O_6.js → packages/remote-control-server/web/dist/assets/UserSearchInput-C8H64lVR.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{UserSettings-BCg9Hx1x.js → UserSettings-BEIlh9kd.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{arc-C-_TIerE.js → arc-BtitZIgo.js} +1 -1
- package/{dist/rcs-web/assets/architectureDiagram-3BPJPVTR-beAA8z-g.js → packages/remote-control-server/web/dist/assets/architectureDiagram-3BPJPVTR-B5sR9G2-.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{blockDiagram-GPEHLZMM-BNR3gwO7.js → blockDiagram-GPEHLZMM-5cF13FZT.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{c4Diagram-AAUBKEIU-B4JhY8vU.js → c4Diagram-AAUBKEIU-Blp83HZs.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/channel-QeSvbFDN.js +1 -0
- package/packages/remote-control-server/web/dist/assets/{chunk-2J33WTMH-C-PijTjw.js → chunk-2J33WTMH-nAF6ry-x.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-4BX2VUAB-Cf9gkdhc.js → chunk-4BX2VUAB-B_YEQwMM.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-55IACEB6-CU8wR03K.js → chunk-55IACEB6-DWgWeTMt.js} +1 -1
- package/{dist/rcs-web/assets/chunk-727SXJPM-zxNGjQ_A.js → packages/remote-control-server/web/dist/assets/chunk-727SXJPM-lfm6jXAu.js} +1 -1
- package/{dist/rcs-web/assets/chunk-AQP2D5EJ-GzIqC820.js → packages/remote-control-server/web/dist/assets/chunk-AQP2D5EJ-CWnhAZ9O.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-FMBD7UC4-C0Gozh4X.js → chunk-FMBD7UC4-QBtdnQIp.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-ND2GUHAM-Vd4uKkwn.js → chunk-ND2GUHAM-YUuihu7V.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{chunk-QZHKN3VN-CcmoHM31.js → chunk-QZHKN3VN-CegaWivs.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-BrYok7tm.js +1 -0
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-BrYok7tm.js +1 -0
- package/packages/remote-control-server/web/dist/assets/{code-block-IT6T5CEO-CeTiJ_5U.js → code-block-IT6T5CEO-D2n4Ga2v.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{copy-CZDxZlFG.js → copy-Dt0a6XCD.js} +1 -1
- package/{dist/rcs-web/assets/cose-bilkent-S5V4N54A-Drz-N1FU.js → packages/remote-control-server/web/dist/assets/cose-bilkent-S5V4N54A-D3tF664q.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{dagre-BM42HDAG-Bii1VCPk.js → dagre-BM42HDAG-Ba9POJgR.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-2AECGRRQ-BXzs0Inz.js → diagram-2AECGRRQ-CZAcdfXD.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-5GNKFQAL-CytXTMI4.js → diagram-5GNKFQAL-DO4nXgzG.js} +1 -1
- package/{dist/rcs-web/assets/diagram-KO2AKTUF-R6DT6E64.js → packages/remote-control-server/web/dist/assets/diagram-KO2AKTUF-BDK3PG7v.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-LMA3HP47-B6S2xHIS.js → diagram-LMA3HP47-DYXmhnhQ.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{diagram-OG6HWLK6-AHaTYJVB.js → diagram-OG6HWLK6-CLarvguU.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{dialog-Bts_qkki.js → dialog-8nXjsFEb.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{erDiagram-TEJ5UH35-D5JbEkq8.js → erDiagram-TEJ5UH35-D4zryVmf.js} +1 -1
- package/{dist/rcs-web/assets/flowDiagram-I6XJVG4X-CY0aHTCu.js → packages/remote-control-server/web/dist/assets/flowDiagram-I6XJVG4X-C55CpRnZ.js} +1 -1
- package/{dist/rcs-web/assets/ganttDiagram-6RSMTGT7-CSyAl3z-.js → packages/remote-control-server/web/dist/assets/ganttDiagram-6RSMTGT7-a33rVx18.js} +1 -1
- package/{dist/rcs-web/assets/gitGraphDiagram-PVQCEYII-e5YIgxoR.js → packages/remote-control-server/web/dist/assets/gitGraphDiagram-PVQCEYII-CdeFuha2.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{infoDiagram-5YYISTIA-DVDPyLBc.js → infoDiagram-5YYISTIA-CkgCIBPN.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{ishikawaDiagram-YF4QCWOH-0gxGyjL6.js → ishikawaDiagram-YF4QCWOH-IMWeHd6c.js} +1 -1
- package/{dist/rcs-web/assets/journeyDiagram-JHISSGLW-CM83fuK_.js → packages/remote-control-server/web/dist/assets/journeyDiagram-JHISSGLW-BW_NwQ4x.js} +1 -1
- package/{dist/rcs-web/assets/kanban-definition-UN3LZRKU-id_FkJ5L.js → packages/remote-control-server/web/dist/assets/kanban-definition-UN3LZRKU-BEYl8Usi.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{linear-4qBKmb1P.js → linear-Di8Hsx3R.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{main-BAO6US1o.js → main-BkfSO2Rz.js} +21 -21
- package/packages/remote-control-server/web/dist/assets/main-C8p_H8IX.css +1 -0
- package/{dist/rcs-web/assets/mermaid-VLURNSYL-BUDhzZZx.js → packages/remote-control-server/web/dist/assets/mermaid-VLURNSYL-Alki8AJh.js} +4 -4
- package/packages/remote-control-server/web/dist/assets/{mermaid.core-n5f_df_C.js → mermaid.core-CPLRyRun.js} +5 -5
- package/{dist/rcs-web/assets/mindmap-definition-RKZ34NQL-Cn5ESsTL.js → packages/remote-control-server/web/dist/assets/mindmap-definition-RKZ34NQL-DzkpJBE2.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{notifications-D0Ro2M4C.js → notifications-V4HNWkys.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{pieDiagram-4H26LBE5-CfNaOQwR.js → pieDiagram-4H26LBE5-BcvVbbf5.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{quadrantDiagram-W4KKPZXB-9EH7YWIg.js → quadrantDiagram-W4KKPZXB-DTIciStr.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{refresh-cw-Cj9UC6vN.js → refresh-cw-DPCoOD18.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{requirementDiagram-4Y6WPE33-Cw-qvChc.js → requirementDiagram-4Y6WPE33-Dilpse2A.js} +1 -1
- package/{dist/rcs-web/assets/sankeyDiagram-5OEKKPKP-grgk3897.js → packages/remote-control-server/web/dist/assets/sankeyDiagram-5OEKKPKP-DsBacA7d.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{sequenceDiagram-3UESZ5HK-DEiAVVrz.js → sequenceDiagram-3UESZ5HK-C_USxpgF.js} +1 -1
- package/{dist/rcs-web/assets/stateDiagram-AJRCARHV-vYQ7RnEF.js → packages/remote-control-server/web/dist/assets/stateDiagram-AJRCARHV-ClUhzFvq.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{stateDiagram-v2-BHNVJYJU-BQI838MX.js → stateDiagram-v2-BHNVJYJU-dRIOwebj.js} +1 -1
- package/{dist/rcs-web/assets/timeline-definition-PNZ67QCA-Bd21eOrF.js → packages/remote-control-server/web/dist/assets/timeline-definition-PNZ67QCA-BH8TVQ46.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{vennDiagram-CIIHVFJN-g8Wh80Ut.js → vennDiagram-CIIHVFJN-BtRNizK-.js} +1 -1
- package/{dist/rcs-web/assets/wardleyDiagram-YWT4CUSO-CW-frP4D.js → packages/remote-control-server/web/dist/assets/wardleyDiagram-YWT4CUSO-BW1rj4A0.js} +1 -1
- package/{dist/rcs-web/assets/workerType-QC9nrox4.js → packages/remote-control-server/web/dist/assets/workerType-CS6pd4nT.js} +1 -1
- package/packages/remote-control-server/web/dist/assets/{xychartDiagram-2RQKCTM6-DsyfoONu.js → xychartDiagram-2RQKCTM6-JsSvd6FU.js} +1 -1
- package/packages/remote-control-server/web/dist/index.html +2 -2
- package/dist/rcs-web/assets/Dashboard-C11LLxyp.js +0 -6
- package/dist/rcs-web/assets/SessionDetail-qQ_yYMXP.js +0 -83
- package/dist/rcs-web/assets/SessionVisibilityBadge-CHpMKXvY.js +0 -11
- package/dist/rcs-web/assets/channel-BO-JIGHa.js +0 -1
- package/dist/rcs-web/assets/classDiagram-4FO5ZUOK-CQNKs2Q1.js +0 -1
- package/dist/rcs-web/assets/classDiagram-v2-Q7XG4LA2-CQNKs2Q1.js +0 -1
- package/dist/rcs-web/assets/main-DNorjD-j.css +0 -1
- package/packages/remote-control-server/web/dist/assets/Dashboard-C11LLxyp.js +0 -6
- package/packages/remote-control-server/web/dist/assets/SessionDetail-qQ_yYMXP.js +0 -83
- package/packages/remote-control-server/web/dist/assets/SessionVisibilityBadge-CHpMKXvY.js +0 -11
- package/packages/remote-control-server/web/dist/assets/channel-BO-JIGHa.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-4FO5ZUOK-CQNKs2Q1.js +0 -1
- package/packages/remote-control-server/web/dist/assets/classDiagram-v2-Q7XG4LA2-CQNKs2Q1.js +0 -1
- package/packages/remote-control-server/web/dist/assets/main-DNorjD-j.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as r,j as e}from"./vendor-DE_-CLIE.js";import{b0 as B,b1 as H,aW as s,a4 as U,ai as W,ag as J,ah as V,aw as Z,aX as P,$ as ee,S as te}from"./main-BAO6US1o.js";import{D as O,u as se,e as ae,d as re,h as le,T as ne,c as oe,b as ce,a as ie,F as me,M as de}from"./MemoryTypeChips-BkrR3x2j.js";import{D as xe,a as ue,d as pe,e as he,c as fe}from"./dialog-Bts_qkki.js";import"./preload-helper-BiaRt2Oj.js";import"./motion-BILbV7YQ.js";const ye=["user","feedback","project","reference"];function be({open:n,mode:c,onClose:d,onCreated:x}){B();const{myTeams:o}=H(),[y,b]=r.useState(""),[h,N]=r.useState(""),[i,F]=r.useState("project"),[f,T]=r.useState(""),[l,m]=r.useState("personal"),[u,_]=r.useState(""),[C,j]=r.useState(!1),[S,g]=r.useState("");r.useEffect(()=>{var a;n&&(b(""),N(""),F("project"),T(""),m("personal"),_(((a=o[0])==null?void 0:a.id)??""),j(!1),g(""))},[n,o]);const w=y.trim().length>0&&f.trim().length>0&&!C&&(l==="personal"||c==="memdir"||!!u),L=async()=>{j(!0),g("");try{await U({scope:l,name:y.trim(),description:h.trim()||void 0,type:i,content:f,...c==="sqlite"&&l==="team"?{teamId:u}:{}}),x()}catch(a){g(a instanceof Error?a.message:s("memorySidebar.createFailed"))}finally{j(!1)}};return e.jsx(xe,{open:n,onOpenChange:a=>a?void 0:d(),children:e.jsxs(ue,{className:"max-h-[85vh] overflow-y-auto sm:max-w-2xl",children:[e.jsx(pe,{children:e.jsx(he,{children:s("memories.create.title")})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-name",children:s("memorySidebar.create.namePlaceholder")}),e.jsx("input",{id:"memory-create-name",type:"text",value:y,onChange:a=>b(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-description",children:s("memorySidebar.create.descriptionPlaceholder")}),e.jsx("input",{id:"memory-create-description",type:"text",value:h,onChange:a=>N(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none"})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-type",children:s("memories.create.type")}),e.jsx("select",{id:"memory-create-type",value:i,onChange:a=>F(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:ye.map(a=>e.jsx("option",{value:a,children:s(`memories.type.${a}`)},a))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-scope",children:s("memories.create.scope")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("select",{id:"memory-create-scope",value:l,onChange:a=>m(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:[e.jsx("option",{value:"personal",children:s("memories.create.scope.personal")}),e.jsx("option",{value:"team",children:s("memories.scope.team")})]}),c==="sqlite"&&l==="team"&&e.jsxs("select",{value:u,onChange:a=>_(a.target.value),"aria-label":s("memories.scope.team"),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:[o.length===0&&e.jsx("option",{value:"",children:"—"}),o.map(a=>e.jsx("option",{value:a.id,children:a.name},a.id))]})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-content",children:s("memories.create.content")}),e.jsx("textarea",{id:"memory-create-content",value:f,onChange:a=>T(a.target.value),placeholder:s("memorySidebar.create.contentPlaceholder"),rows:10,spellCheck:!1,className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 font-mono text-xs text-text-primary focus:border-accent focus:outline-none"})]}),S&&e.jsx("p",{className:"text-sm text-status-error",children:S})]}),e.jsxs(fe,{children:[e.jsx("button",{type:"button",onClick:d,className:"rounded-md border border-border px-4 py-2 text-sm text-text-secondary hover:bg-surface-2",children:s("common.cancel")}),e.jsx("button",{type:"button",onClick:L,disabled:!w,className:"rounded-md bg-accent px-4 py-2 text-sm font-medium text-white hover:bg-accent/90 disabled:opacity-50",children:C?"…":s("memories.create.title")})]})]})})}function je(){return e.jsx("div",{className:"space-y-3",children:[0,1,2].map(n=>e.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-surface-2"},n))})}function K({options:n,value:c,onChange:d,disabled:x=!1}){return e.jsx("div",{className:`flex rounded-md bg-surface-2 p-0.5 text-xs ${x?"pointer-events-none opacity-40":""}`,children:n.map(o=>e.jsx("button",{type:"button",onClick:()=>d(o.value),className:`rounded px-2 py-0.5 transition-colors ${c===o.value?"bg-brand-light text-white":"text-text-muted hover:text-text-secondary"}`,children:o.label},String(o.value)))})}function ke(){B();const[n,c]=r.useState(null),[d,x]=r.useState(0);return r.useEffect(()=>{W().then(c).catch(()=>c({mode:"sqlite"}))},[]),r.useEffect(()=>{const o=()=>x(y=>y+1);return window.addEventListener("focus",o),()=>window.removeEventListener("focus",o)},[]),n===null?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx("div",{className:"ds-page",children:e.jsx(je,{})})}):e.jsx(ge,{mode:n.mode,status:n,refreshTick:d})}function ge({mode:n,status:c,refreshTick:d}){var I;const x=n==="sqlite",{myTeams:o}=H(),[y,b]=r.useState(!1),[h,N]=r.useState([]),[i,F]=r.useState("all"),[f,T]=r.useState("all"),[l,m]=r.useState(O),[u,_]=r.useState([]),[C,j]=r.useState(!0),[S,g]=r.useState(""),[w,L]=r.useState(""),[a,A]=r.useState(null),M=r.useRef(null),v=se(),$=r.useCallback(async()=>{j(!0),g("");try{const t=await J(f==="all"?void 0:f,i);_(t||[])}catch{g(s("memorySidebar.loadFailed"))}finally{j(!1)}},[i,f]);r.useEffect(()=>{V().then(N).catch(()=>N([]))},[d]),r.useEffect(()=>{$()},[$,d]),r.useEffect(()=>{M.current&&clearTimeout(M.current);const t=w.trim();if(!t){A(null);return}return M.current=setTimeout(()=>{Z(t,i).then(A).catch(()=>A([]))},300),()=>{M.current&&clearTimeout(M.current)}},[w,i]);const D=r.useMemo(()=>Object.fromEntries(h.map(t=>[t.key,t.shortName])),[h]),Y=r.useMemo(()=>ae(u),[u]),Q=(I=h.find(t=>t.isCurrent))==null?void 0:I.key,k=r.useMemo(()=>re(u,l),[u,l]),R=r.useMemo(()=>new Set(k.map(t=>t.project).filter(Boolean)).size,[k]),E=a!==null,q=le(l),X=[{value:"all",label:s("memories.filter.scopeAll")},{value:"personal",label:s("memorySidebar.personal")},{value:"team",label:s("memorySidebar.team")}],z=ne.map(t=>({value:t.value,label:s(t.labelKey)}));return e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[e.jsxs("div",{className:"mem-page mx-auto flex min-h-0 w-full max-w-none flex-1 flex-col",children:[e.jsxs("header",{className:"ds-page-head ds-page-head--display hero-enter",children:[e.jsxs("div",{className:"ds-page-titlerow",children:[e.jsx("h1",{className:"ds-page-title font-display font-semibold tracking-tight text-text-primary",children:s("memories.title")}),e.jsx("button",{type:"button",onClick:()=>b(!0),className:"btn-quiet",children:s("memories.new")})]}),e.jsx("p",{className:"ds-page-sub",children:x?s("memories.subtitle"):s("memories.subtitleMemdir")})]}),e.jsxs("div",{className:"mem-gallery mem-gallery--display mem-gallery--bare hero-enter-late flex min-h-0 flex-1 flex-col overflow-hidden",children:[e.jsxs("div",{className:"mem-gallery__scope flex flex-wrap items-center gap-2",children:[h.length>0&&e.jsxs("select",{value:i,onChange:t=>F(t.target.value),className:"max-w-52 rounded-md border border-border bg-surface-2 px-2 py-1 text-xs text-text-primary focus:border-accent focus:outline-none",title:s("memories.filter.project"),"aria-label":s("memories.filter.project"),children:[e.jsx("option",{value:"all",children:s("memories.filter.projectAll")}),h.map(t=>e.jsxs("option",{value:t.key,children:[t.shortName,t.isCurrent?` · ${s("memories.filter.currentTag")}`:""]},t.key))]}),e.jsx(K,{options:X,value:f,onChange:T,disabled:E}),e.jsxs("span",{className:"ml-auto flex-shrink-0 font-mono text-[10px] text-text-muted",children:[P("memories.resultCount",{n:E?a.length:k.length}),i==="all"&&R>0?P("memories.resultProjects",{m:R}):""]})]}),e.jsxs("div",{className:`mem-gallery__filters flex flex-wrap items-center gap-x-3 gap-y-1.5 ${E?"pointer-events-none opacity-40":""}`,children:[e.jsx(oe,{filters:l,onChange:m}),e.jsx(ce,{filters:l,onChange:m,counts:Y}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[10px] text-text-muted",children:s("memories.filter.time")}),e.jsx(K,{options:z,value:l.days,onChange:t=>m(p=>({...p,days:t}))})]}),e.jsxs("div",{className:"flex min-w-32 flex-1 items-center gap-1.5",title:s("memories.filter.confidence"),children:[e.jsx("span",{className:"flex-shrink-0 text-[10px] text-text-muted",children:s("memories.filter.confidence")}),e.jsx("input",{type:"range",min:0,max:100,step:10,value:l.minConfidence*100,onChange:t=>m(p=>({...p,minConfidence:Number(t.target.value)/100})),style:{"--mem-pct":`${l.minConfidence*100}%`},className:"mem-slider min-w-16 flex-1"}),e.jsx("span",{className:`flex-shrink-0 font-mono text-[10px] ${l.minConfidence>0?"text-brand-text":"text-text-muted"}`,children:P("memories.filter.minConfidence",{pct:l.minConfidence*100})})]}),e.jsxs("div",{className:"flex min-w-28 flex-1 items-center gap-1.5",title:s("memories.filter.access"),children:[e.jsx("span",{className:"flex-shrink-0 text-[10px] text-text-muted",children:s("memories.filter.access")}),e.jsx("input",{type:"range",min:0,max:10,step:1,value:l.minAccessCount,onChange:t=>m(p=>({...p,minAccessCount:Number(t.target.value)})),style:{"--mem-pct":`${l.minAccessCount*10}%`},className:"mem-slider min-w-12 flex-1"}),e.jsx("span",{className:`flex-shrink-0 font-mono text-[10px] ${l.minAccessCount>0?"text-brand-text":"text-text-muted"}`,children:P("memories.filter.minAccess",{n:l.minAccessCount})})]}),e.jsxs("button",{type:"button",onClick:()=>m(O),disabled:!q,className:"flex flex-shrink-0 items-center gap-1 rounded-md px-1.5 py-0.5 text-[10px] text-text-muted transition-colors hover:bg-surface-2 hover:text-text-primary disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-text-muted",title:s("memories.filter.clear"),children:[e.jsx(ee,{className:"h-3 w-3"}),s("memories.filter.clear")]})]}),e.jsxs("div",{className:"mem-gallery__search flex items-center gap-2",children:[e.jsx(te,{className:"h-3 w-3 flex-shrink-0 text-text-muted"}),e.jsx("input",{value:w,onChange:t=>L(t.target.value),placeholder:s("memorySidebar.searchPlaceholder"),title:s("memorySidebar.searchHint"),className:"w-full bg-transparent text-xs text-text-primary placeholder:text-text-muted focus:outline-none"})]}),S&&e.jsx("p",{className:"mem-gallery__error text-xs text-status-error",children:S}),E&&e.jsx("div",{className:"mem-gallery__results flex-1 overflow-y-auto",children:a.length===0?e.jsx("p",{className:"py-8 text-center text-xs text-text-muted",children:s("memorySidebar.noResults")}):e.jsx("ul",{className:"space-y-1.5",children:a.map(t=>e.jsxs("li",{children:[e.jsxs("button",{type:"button",onClick:()=>void v.toggleExpand(t),className:"w-full rounded-md px-2 py-1.5 text-left hover:bg-surface-2",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-xs font-medium text-text-primary",children:t.name}),e.jsx(ie,{layer:t.layer}),t.project&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:t.project,children:D[t.project]??t.project.split("-").pop()}),t.teamName&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:t.teamName,children:t.teamName})]}),e.jsx("ul",{className:"mt-0.5 space-y-0.5",children:t.matches.map((p,G)=>e.jsxs("li",{className:"flex gap-1.5 text-[10px] leading-relaxed",children:[e.jsx("span",{className:"flex-shrink-0 font-mono text-text-muted",children:p.line===0?"file":`L${p.line}`}),e.jsx("span",{className:"truncate text-text-secondary",children:p.text})]},G))})]}),v.expandedKey===(t.project?`${t.project}::${t.path}`:t.path)&&e.jsx("pre",{className:"mx-2 mt-1 max-h-48 overflow-y-auto whitespace-pre-wrap rounded bg-surface-3 p-2 text-[10px] leading-relaxed text-text-secondary",children:v.fileContent[t.project?`${t.project}::${t.path}`:t.path]??"…"})]},`${t.project??""}::${t.path}`))})}),!E&&e.jsx("div",{className:"mem-gallery__results flex-1 overflow-y-auto",children:!C&&u.length>0&&k.length===0?e.jsxs("div",{className:"py-10 text-center",children:[e.jsx(me,{className:"mx-auto h-6 w-6 text-text-muted/40"}),e.jsx("p",{className:"mt-2 text-xs text-text-muted",children:s("memories.filter.empty")}),q?e.jsx("button",{type:"button",onClick:()=>m(O),className:"mt-2 rounded-md border border-border px-2.5 py-1 text-xs text-text-secondary hover:bg-surface-2",children:s("memories.filter.clear")}):e.jsx("p",{className:"mt-1 px-4 text-[10px] leading-relaxed text-text-muted",children:s("memories.filter.layersHidden")})]}):e.jsx(de,{files:k,isLoading:C,canManage:t=>!t.project||t.project===Q,teamEnabled:x||c.teamEnabled===!0,teams:x?o:void 0,showProject:i==="all",projectNames:D,onChanged:$,expandedKey:v.expandedKey,fileContent:v.fileContent,onToggleExpand:v.toggleExpand})})]})]}),e.jsx(be,{open:y,mode:n,onClose:()=>b(!1),onCreated:()=>{b(!1),$()}})]})}export{ke as MemoriesPage};
|
|
1
|
+
import{e as r,j as e}from"./vendor-DE_-CLIE.js";import{b1 as Y,b2 as B,aX as s,a4 as U,ai as J,ag as V,ah as W,ax as Z,aY as P,$ as ee,S as te}from"./main-BkfSO2Rz.js";import{D as O,u as se,e as ae,d as re,h as le,T as ne,c as oe,b as ce,a as ie,F as me,M as de}from"./MemoryTypeChips-DL1Uf2db.js";import{D as xe,a as ue,d as pe,e as he,c as fe}from"./dialog-8nXjsFEb.js";import"./preload-helper-BiaRt2Oj.js";import"./motion-BILbV7YQ.js";const ye=["user","feedback","project","reference"];function be({open:n,mode:c,onClose:d,onCreated:x}){Y();const{myTeams:o}=B(),[y,b]=r.useState(""),[h,N]=r.useState(""),[i,F]=r.useState("project"),[f,T]=r.useState(""),[l,m]=r.useState("personal"),[u,_]=r.useState(""),[C,j]=r.useState(!1),[S,g]=r.useState("");r.useEffect(()=>{var a;n&&(b(""),N(""),F("project"),T(""),m("personal"),_(((a=o[0])==null?void 0:a.id)??""),j(!1),g(""))},[n,o]);const w=y.trim().length>0&&f.trim().length>0&&!C&&(l==="personal"||c==="memdir"||!!u),L=async()=>{j(!0),g("");try{await U({scope:l,name:y.trim(),description:h.trim()||void 0,type:i,content:f,...c==="sqlite"&&l==="team"?{teamId:u}:{}}),x()}catch(a){g(a instanceof Error?a.message:s("memorySidebar.createFailed"))}finally{j(!1)}};return e.jsx(xe,{open:n,onOpenChange:a=>a?void 0:d(),children:e.jsxs(ue,{className:"max-h-[85vh] overflow-y-auto sm:max-w-2xl",children:[e.jsx(pe,{children:e.jsx(he,{children:s("memories.create.title")})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-name",children:s("memorySidebar.create.namePlaceholder")}),e.jsx("input",{id:"memory-create-name",type:"text",value:y,onChange:a=>b(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-description",children:s("memorySidebar.create.descriptionPlaceholder")}),e.jsx("input",{id:"memory-create-description",type:"text",value:h,onChange:a=>N(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none"})]}),e.jsxs("div",{className:"grid gap-4 sm:grid-cols-2",children:[e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-type",children:s("memories.create.type")}),e.jsx("select",{id:"memory-create-type",value:i,onChange:a=>F(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:ye.map(a=>e.jsx("option",{value:a,children:s(`memories.type.${a}`)},a))})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-scope",children:s("memories.create.scope")}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("select",{id:"memory-create-scope",value:l,onChange:a=>m(a.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:[e.jsx("option",{value:"personal",children:s("memories.create.scope.personal")}),e.jsx("option",{value:"team",children:s("memories.scope.team")})]}),c==="sqlite"&&l==="team"&&e.jsxs("select",{value:u,onChange:a=>_(a.target.value),"aria-label":s("memories.scope.team"),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:[o.length===0&&e.jsx("option",{value:"",children:"—"}),o.map(a=>e.jsx("option",{value:a.id,children:a.name},a.id))]})]})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"memory-create-content",children:s("memories.create.content")}),e.jsx("textarea",{id:"memory-create-content",value:f,onChange:a=>T(a.target.value),placeholder:s("memorySidebar.create.contentPlaceholder"),rows:10,spellCheck:!1,className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 font-mono text-xs text-text-primary focus:border-accent focus:outline-none"})]}),S&&e.jsx("p",{className:"text-sm text-status-error",children:S})]}),e.jsxs(fe,{children:[e.jsx("button",{type:"button",onClick:d,className:"rounded-md border border-border px-4 py-2 text-sm text-text-secondary hover:bg-surface-2",children:s("common.cancel")}),e.jsx("button",{type:"button",onClick:L,disabled:!w,className:"rounded-md bg-accent px-4 py-2 text-sm font-medium text-white hover:bg-accent/90 disabled:opacity-50",children:C?"…":s("memories.create.title")})]})]})})}function je(){return e.jsx("div",{className:"space-y-3",children:[0,1,2].map(n=>e.jsx("div",{className:"h-20 animate-pulse rounded-lg bg-surface-2"},n))})}function K({options:n,value:c,onChange:d,disabled:x=!1}){return e.jsx("div",{className:`flex rounded-md bg-surface-2 p-0.5 text-xs ${x?"pointer-events-none opacity-40":""}`,children:n.map(o=>e.jsx("button",{type:"button",onClick:()=>d(o.value),className:`rounded px-2 py-0.5 transition-colors ${c===o.value?"bg-brand-light text-white":"text-text-muted hover:text-text-secondary"}`,children:o.label},String(o.value)))})}function ke(){Y();const[n,c]=r.useState(null),[d,x]=r.useState(0);return r.useEffect(()=>{J().then(c).catch(()=>c({mode:"sqlite"}))},[]),r.useEffect(()=>{const o=()=>x(y=>y+1);return window.addEventListener("focus",o),()=>window.removeEventListener("focus",o)},[]),n===null?e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx("div",{className:"ds-page",children:e.jsx(je,{})})}):e.jsx(ge,{mode:n.mode,status:n,refreshTick:d})}function ge({mode:n,status:c,refreshTick:d}){var I;const x=n==="sqlite",{myTeams:o}=B(),[y,b]=r.useState(!1),[h,N]=r.useState([]),[i,F]=r.useState("all"),[f,T]=r.useState("all"),[l,m]=r.useState(O),[u,_]=r.useState([]),[C,j]=r.useState(!0),[S,g]=r.useState(""),[w,L]=r.useState(""),[a,A]=r.useState(null),M=r.useRef(null),v=se(),$=r.useCallback(async()=>{j(!0),g("");try{const t=await V(f==="all"?void 0:f,i);_(t||[])}catch{g(s("memorySidebar.loadFailed"))}finally{j(!1)}},[i,f]);r.useEffect(()=>{W().then(N).catch(()=>N([]))},[d]),r.useEffect(()=>{$()},[$,d]),r.useEffect(()=>{M.current&&clearTimeout(M.current);const t=w.trim();if(!t){A(null);return}return M.current=setTimeout(()=>{Z(t,i).then(A).catch(()=>A([]))},300),()=>{M.current&&clearTimeout(M.current)}},[w,i]);const D=r.useMemo(()=>Object.fromEntries(h.map(t=>[t.key,t.shortName])),[h]),H=r.useMemo(()=>ae(u),[u]),Q=(I=h.find(t=>t.isCurrent))==null?void 0:I.key,k=r.useMemo(()=>re(u,l),[u,l]),R=r.useMemo(()=>new Set(k.map(t=>t.project).filter(Boolean)).size,[k]),E=a!==null,q=le(l),X=[{value:"all",label:s("memories.filter.scopeAll")},{value:"personal",label:s("memorySidebar.personal")},{value:"team",label:s("memorySidebar.team")}],z=ne.map(t=>({value:t.value,label:s(t.labelKey)}));return e.jsxs("div",{className:"flex min-h-0 flex-1 flex-col",children:[e.jsxs("div",{className:"mem-page mx-auto flex min-h-0 w-full max-w-none flex-1 flex-col",children:[e.jsxs("header",{className:"ds-page-head ds-page-head--display hero-enter",children:[e.jsxs("div",{className:"ds-page-titlerow",children:[e.jsx("h1",{className:"ds-page-title font-display font-semibold tracking-tight text-text-primary",children:s("memories.title")}),e.jsx("button",{type:"button",onClick:()=>b(!0),className:"btn-quiet",children:s("memories.new")})]}),e.jsx("p",{className:"ds-page-sub",children:x?s("memories.subtitle"):s("memories.subtitleMemdir")})]}),e.jsxs("div",{className:"mem-gallery mem-gallery--display mem-gallery--bare hero-enter-late flex min-h-0 flex-1 flex-col overflow-hidden",children:[e.jsxs("div",{className:"mem-gallery__scope flex flex-wrap items-center gap-2",children:[h.length>0&&e.jsxs("select",{value:i,onChange:t=>F(t.target.value),className:"max-w-52 rounded-md border border-border bg-surface-2 px-2 py-1 text-xs text-text-primary focus:border-accent focus:outline-none",title:s("memories.filter.project"),"aria-label":s("memories.filter.project"),children:[e.jsx("option",{value:"all",children:s("memories.filter.projectAll")}),h.map(t=>e.jsxs("option",{value:t.key,children:[t.shortName,t.isCurrent?` · ${s("memories.filter.currentTag")}`:""]},t.key))]}),e.jsx(K,{options:X,value:f,onChange:T,disabled:E}),e.jsxs("span",{className:"ml-auto flex-shrink-0 font-mono text-[10px] text-text-muted",children:[P("memories.resultCount",{n:E?a.length:k.length}),i==="all"&&R>0?P("memories.resultProjects",{m:R}):""]})]}),e.jsxs("div",{className:`mem-gallery__filters flex flex-wrap items-center gap-x-3 gap-y-1.5 ${E?"pointer-events-none opacity-40":""}`,children:[e.jsx(oe,{filters:l,onChange:m}),e.jsx(ce,{filters:l,onChange:m,counts:H}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-[10px] text-text-muted",children:s("memories.filter.time")}),e.jsx(K,{options:z,value:l.days,onChange:t=>m(p=>({...p,days:t}))})]}),e.jsxs("div",{className:"flex min-w-32 flex-1 items-center gap-1.5",title:s("memories.filter.confidence"),children:[e.jsx("span",{className:"flex-shrink-0 text-[10px] text-text-muted",children:s("memories.filter.confidence")}),e.jsx("input",{type:"range",min:0,max:100,step:10,value:l.minConfidence*100,onChange:t=>m(p=>({...p,minConfidence:Number(t.target.value)/100})),style:{"--mem-pct":`${l.minConfidence*100}%`},className:"mem-slider min-w-16 flex-1"}),e.jsx("span",{className:`flex-shrink-0 font-mono text-[10px] ${l.minConfidence>0?"text-brand-text":"text-text-muted"}`,children:P("memories.filter.minConfidence",{pct:l.minConfidence*100})})]}),e.jsxs("div",{className:"flex min-w-28 flex-1 items-center gap-1.5",title:s("memories.filter.access"),children:[e.jsx("span",{className:"flex-shrink-0 text-[10px] text-text-muted",children:s("memories.filter.access")}),e.jsx("input",{type:"range",min:0,max:10,step:1,value:l.minAccessCount,onChange:t=>m(p=>({...p,minAccessCount:Number(t.target.value)})),style:{"--mem-pct":`${l.minAccessCount*10}%`},className:"mem-slider min-w-12 flex-1"}),e.jsx("span",{className:`flex-shrink-0 font-mono text-[10px] ${l.minAccessCount>0?"text-brand-text":"text-text-muted"}`,children:P("memories.filter.minAccess",{n:l.minAccessCount})})]}),e.jsxs("button",{type:"button",onClick:()=>m(O),disabled:!q,className:"flex flex-shrink-0 items-center gap-1 rounded-md px-1.5 py-0.5 text-[10px] text-text-muted transition-colors hover:bg-surface-2 hover:text-text-primary disabled:cursor-default disabled:opacity-40 disabled:hover:bg-transparent disabled:hover:text-text-muted",title:s("memories.filter.clear"),children:[e.jsx(ee,{className:"h-3 w-3"}),s("memories.filter.clear")]})]}),e.jsxs("div",{className:"mem-gallery__search flex items-center gap-2",children:[e.jsx(te,{className:"h-3 w-3 flex-shrink-0 text-text-muted"}),e.jsx("input",{value:w,onChange:t=>L(t.target.value),placeholder:s("memorySidebar.searchPlaceholder"),title:s("memorySidebar.searchHint"),className:"w-full bg-transparent text-xs text-text-primary placeholder:text-text-muted focus:outline-none"})]}),S&&e.jsx("p",{className:"mem-gallery__error text-xs text-status-error",children:S}),E&&e.jsx("div",{className:"mem-gallery__results flex-1 overflow-y-auto",children:a.length===0?e.jsx("p",{className:"py-8 text-center text-xs text-text-muted",children:s("memorySidebar.noResults")}):e.jsx("ul",{className:"space-y-1.5",children:a.map(t=>e.jsxs("li",{children:[e.jsxs("button",{type:"button",onClick:()=>void v.toggleExpand(t),className:"w-full rounded-md px-2 py-1.5 text-left hover:bg-surface-2",children:[e.jsxs("span",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-xs font-medium text-text-primary",children:t.name}),e.jsx(ie,{layer:t.layer}),t.project&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:t.project,children:D[t.project]??t.project.split("-").pop()}),t.teamName&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:t.teamName,children:t.teamName})]}),e.jsx("ul",{className:"mt-0.5 space-y-0.5",children:t.matches.map((p,G)=>e.jsxs("li",{className:"flex gap-1.5 text-[10px] leading-relaxed",children:[e.jsx("span",{className:"flex-shrink-0 font-mono text-text-muted",children:p.line===0?"file":`L${p.line}`}),e.jsx("span",{className:"truncate text-text-secondary",children:p.text})]},G))})]}),v.expandedKey===(t.project?`${t.project}::${t.path}`:t.path)&&e.jsx("pre",{className:"mx-2 mt-1 max-h-48 overflow-y-auto whitespace-pre-wrap rounded bg-surface-3 p-2 text-[10px] leading-relaxed text-text-secondary",children:v.fileContent[t.project?`${t.project}::${t.path}`:t.path]??"…"})]},`${t.project??""}::${t.path}`))})}),!E&&e.jsx("div",{className:"mem-gallery__results flex-1 overflow-y-auto",children:!C&&u.length>0&&k.length===0?e.jsxs("div",{className:"py-10 text-center",children:[e.jsx(me,{className:"mx-auto h-6 w-6 text-text-muted/40"}),e.jsx("p",{className:"mt-2 text-xs text-text-muted",children:s("memories.filter.empty")}),q?e.jsx("button",{type:"button",onClick:()=>m(O),className:"mt-2 rounded-md border border-border px-2.5 py-1 text-xs text-text-secondary hover:bg-surface-2",children:s("memories.filter.clear")}):e.jsx("p",{className:"mt-1 px-4 text-[10px] leading-relaxed text-text-muted",children:s("memories.filter.layersHidden")})]}):e.jsx(de,{files:k,isLoading:C,canManage:t=>!t.project||t.project===Q,teamEnabled:x||c.teamEnabled===!0,teams:x?o:void 0,showProject:i==="all",projectNames:D,onChanged:$,expandedKey:v.expandedKey,fileContent:v.fileContent,onToggleExpand:v.toggleExpand})})]})]}),e.jsx(be,{open:y,mode:n,onClose:()=>b(!1),onCreated:()=>{b(!1),$()}})]})}export{ke as MemoriesPage};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aH as Y,af as L,aX as c,b1 as B,ar as A,B as H,P as z,Z as U,W as V,a8 as q,aD as W}from"./main-BkfSO2Rz.js";import{e as d,j as e}from"./vendor-DE_-CLIE.js";import{D as G,a as X,d as Z,e as J,c as Q}from"./dialog-8nXjsFEb.js";/**
|
|
2
2
|
* @license lucide-react v0.555.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
5
5
|
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/const ee=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],xe=Y("funnel",ee),te=["user","feedback","project","reference"],C=["working","episodic","semantic","procedural"],pe=[{value:null,labelKey:"memories.filter.timeAll"},{value:7,labelKey:"memories.filter.time7d"},{value:30,labelKey:"memories.filter.time30d"},{value:90,labelKey:"memories.filter.time90d"}],M=["semantic","procedural"],ye={types:new Set,layers:new Set(M),days:null,minConfidence:0,minAccessCount:0};function se(t){return t.size!==M.length?!1:M.every(a=>t.has(a))}function he(t){return t.days!==null||t.minConfidence>0||t.minAccessCount>0||t.types.size>0||!se(t.layers)}function be(t,a){const r=a.days!==null?Date.now()-a.days*864e5:null;return t.filter(n=>!(a.types.size>0&&!a.types.has(n.type??"")||!a.layers.has(n.layer??"semantic")||r!==null&&n.mtimeMs<r||a.minConfidence>0&&(n.confidence??.5)<a.minConfidence||a.minAccessCount>0&&(n.accessCount??0)<a.minAccessCount))}function ae(t,a){const r=new Set(t.types);return r.has(a)?r.delete(a):r.add(a),{...t,types:r}}function re(t,a){const r=new Set(t.layers);return r.has(a)?r.delete(a):r.add(a),{...t,layers:r}}function fe(t){const a={};for(const r of t){const n=r.layer??"semantic";a[n]=(a[n]??0)+1}return a}function j(t){return t.project?`${t.project}::${t.path}`:t.path}function ge(){const[t,a]=d.useState(null),[r,n]=d.useState({});return{expandedKey:t,fileContent:r,setFileContent:n,toggleExpand:async m=>{const u=j(m);if(t===u){a(null);return}if(a(u),r[u]===void 0)try{const{content:o}=await A(m.path,m.project);n(h=>({...h,[u]:o}))}catch{n(o=>({...o,[u]:c("memorySidebar.loadFailed")}))}}}}function ne({memory:t,teams:a,onClose:r,onPromoted:n}){B();const[l,m]=d.useState(""),[u,o]=d.useState(!1),[h,y]=d.useState("");if(d.useEffect(()=>{var i;m(a.length===1?((i=a[0])==null?void 0:i.id)??"":""),y(""),o(!1)},[t,a]),!t)return null;const v=async()=>{if(!l){y(c("memories.promoteTeamRequired"));return}o(!0),y("");try{await D(t.path,l),n()}catch(i){y(i instanceof Error?i.message:c("memorySidebar.promoteFailed"))}finally{o(!1)}};return e.jsx(G,{open:!!t,onOpenChange:i=>i?void 0:r(),children:e.jsxs(Z,{className:"sm:max-w-md",children:[e.jsx(J,{children:e.jsx(Q,{children:c("memorySidebar.promote")})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-text-muted",children:t.name}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"promote-team",children:c("memories.scope.team")}),e.jsxs("select",{id:"promote-team",value:l,onChange:i=>m(i.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:[e.jsx("option",{value:"",children:"—"}),a.map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),h&&e.jsx("p",{className:"text-sm text-status-error",children:h})]}),e.jsxs(X,{children:[e.jsx("button",{type:"button",onClick:r,className:"rounded-md border border-border px-4 py-2 text-sm text-text-secondary hover:bg-surface-2",children:c("common.cancel")}),e.jsx("button",{type:"button",onClick:v,disabled:u,className:"rounded-md bg-accent px-4 py-2 text-sm font-medium text-white hover:bg-accent/90 disabled:opacity-50",children:u?"…":c("memorySidebar.promote")})]})]})})}const _={working:"bg-status-warning/20 text-status-warning ring-status-warning/40",episodic:"bg-text-secondary/15 text-text-secondary ring-text-secondary/30",semantic:"bg-brand/15 text-brand-text ring-brand/40",procedural:"bg-status-success/15 text-status-success ring-status-success/40"};function je({filters:t,onChange:a,counts:r}){return e.jsx("div",{className:"flex flex-wrap items-center gap-1","data-testid":"memory-layer-chips",children:C.map(n=>{const l=t.layers.has(n),m=r[n]??0,u=m===0&&!l;return e.jsxs("button",{type:"button",disabled:u,onClick:()=>a(re(t,n)),"aria-pressed":l,title:c(`memories.layer.${n}`),className:`rounded-full px-2 py-0.5 text-xs font-medium transition-colors ${l?_[n]:"bg-surface-2 text-text-muted hover:text-text-secondary ring-border ring-1"} ${u?"cursor-not-allowed opacity-40":""}`,children:[c(`memories.layer.${n}`),e.jsx("span",{className:"ml-1 font-mono text-[10px] opacity-70",children:m})]},n)})})}function ce({layer:t}){if(!t)return null;const a=C.indexOf(t);return a<0?null:e.jsxs("span",{className:`flex-shrink-0 rounded-full px-1.5 py-0.5 font-mono text-[10px] font-medium ${_[t]}`,title:c(`memories.layer.${t}`),children:["L",a]})}function oe(t){switch(t){case"user":return"bg-accent/15 text-accent";case"feedback":return"bg-status-warning/15 text-status-warning";case"project":return"bg-status-active/15 text-status-active";default:return"bg-surface-3 text-text-muted"}}function ie(t){try{return new Date(t).toLocaleDateString()}catch{return"—"}}function ve({files:t,isLoading:a=!1,canManage:r,teamEnabled:n=!1,teams:l,showProject:m=!1,projectNames:u={},onChanged:o,expandedKey:h,fileContent:y,onToggleExpand:v}){const[i,f]=d.useState(null),[k,b]=d.useState(""),[F,N]=d.useState(""),[w,S]=d.useState(null);d.useEffect(()=>{i!==null&&!t.some(s=>j(s)===i)&&f(null)},[t,i]);const T=r??(()=>!0),$=s=>s.canManage??T(s),P=s=>{const x=j(s);f(x);const p=y[x];if(p!==void 0){b(p);return}b(""),A(s.path,s.project).then(({content:g})=>b(g)).catch(()=>b(""))},I=async s=>{try{await W(s.path,k),f(null),o==null||o()}catch{N(c("memorySidebar.updateFailed"))}},K=async s=>{try{await V(s.path),o==null||o()}catch{N(c("memorySidebar.deleteFailed"))}},R=async s=>{var x;if(l&&l.length>1){S(s);return}try{await D(s.path,(x=l==null?void 0:l[0])==null?void 0:x.id),o==null||o()}catch(p){N(p instanceof Error?p.message:c("memorySidebar.promoteFailed"))}};return a?e.jsx("div",{className:"space-y-2",children:[0,1,2].map(s=>e.jsx("div",{className:"h-12 animate-pulse rounded-md bg-surface-2"},s))}):t.length===0?e.jsxs("div",{className:"py-10 text-center",children:[e.jsx(z,{className:"mx-auto h-6 w-6 text-text-muted/40"}),e.jsx("p",{className:"mt-2 text-xs text-text-muted",children:c("memorySidebar.empty")})]}):e.jsxs("div",{children:[F&&e.jsx("p",{className:"px-1 pb-1 text-xs text-status-error",children:F}),e.jsx("ul",{className:"space-y-1",children:t.map(s=>{const x=j(s),p=h===x,g=p&&i===x,E=s.confidence??.5,L=s.accessCount??0;return e.jsxs("li",{className:"group rounded-md hover:bg-surface-2",children:[e.jsxs("button",{type:"button",onClick:()=>v(s),className:"w-full px-2 py-1.5 text-left",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-xs font-medium text-text-primary",children:s.name}),e.jsx(ce,{layer:s.layer}),s.type&&e.jsx("span",{className:`flex-shrink-0 rounded-full px-1.5 py-0.5 text-[10px] font-medium ${oe(s.type)}`,children:s.type}),s.teamName&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:s.teamName,children:s.teamName}),L>0&&e.jsxs("span",{className:"flex-shrink-0 font-mono text-[10px] text-text-muted",title:c("memories.filter.access"),children:["×",L]}),m&&s.project&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:s.project,children:u[s.project]??s.project.split("-").pop()??s.project}),e.jsxs("span",{className:`flex-shrink-0 font-mono text-[10px] ${E>=.8?"text-status-active":E>=.5?"text-text-muted":"text-status-warning"}`,title:c("memories.filter.confidence"),children:[Math.round(E*100),"%"]}),e.jsx("span",{className:"ml-auto flex-shrink-0 text-[10px] text-text-muted",children:ie(s.mtimeMs)})]}),s.description&&e.jsx("p",{className:"mt-0.5 truncate text-[10px] text-text-muted",children:s.description})]}),$(s)&&e.jsxs("div",{className:"flex items-center gap-0.5 px-2 pb-1 opacity-0 transition-opacity group-hover:opacity-100",children:[e.jsx("button",{type:"button",onClick:()=>P(s),className:"rounded p-1 text-text-secondary hover:bg-surface-3 hover:text-text-primary",title:c("memorySidebar.edit"),children:e.jsx(H,{className:"h-3 w-3"})}),s.scope==="personal"&&n&&s.layer!=="working"&&e.jsx("button",{type:"button",onClick:()=>void R(s),className:"rounded p-1 text-text-secondary hover:bg-surface-3 hover:text-text-primary",title:c("memorySidebar.promote"),children:e.jsx(q,{className:"h-3 w-3"})}),e.jsx("button",{type:"button",onClick:()=>void K(s),className:"ml-auto rounded p-1 text-text-secondary hover:bg-status-error/10 hover:text-status-error",title:c("memorySidebar.delete"),children:e.jsx(U,{className:"h-3 w-3"})})]}),p&&!g&&e.jsx("pre",{className:"mx-2 mb-2 max-h-48 overflow-y-auto whitespace-pre-wrap rounded bg-surface-3 p-2 text-[10px] leading-relaxed text-text-secondary",children:y[x]??"…"}),g&&e.jsxs("div",{className:"mx-2 mb-2",children:[e.jsx("textarea",{value:k,onChange:O=>b(O.target.value),rows:8,className:"w-full rounded bg-surface-3 p-2 text-[10px] leading-relaxed text-text-primary focus:outline-none focus:ring-1 focus:ring-brand/40"}),e.jsxs("div",{className:"mt-1 flex gap-1",children:[e.jsx("button",{type:"button",onClick:()=>void I(s),className:"rounded bg-accent px-2 py-0.5 text-[10px] font-medium text-white hover:bg-accent/90",children:c("memorySidebar.save")}),e.jsx("button",{type:"button",onClick:()=>f(null),className:"rounded px-2 py-0.5 text-[10px] text-text-muted hover:bg-surface-2",children:c("memorySidebar.cancel")})]})]})]},x)})}),e.jsx(ne,{memory:w?{path:w.path,name:w.name}:null,teams:l??[],onClose:()=>S(null),onPromoted:()=>{S(null),o==null||o()}})]})}const le={user:"bg-accent/20 text-accent ring-accent/40",feedback:"bg-status-warning/20 text-status-warning ring-status-warning/40",project:"bg-status-active/20 text-status-active ring-status-active/40",reference:"bg-brand/15 text-brand-text ring-brand/40"};function Ne({filters:t,onChange:a}){return e.jsx("div",{className:"flex flex-wrap items-center gap-1","data-testid":"memory-type-chips",children:te.map(r=>{const n=t.types.has(r);return e.jsx("button",{type:"button",onClick:()=>a(ae(t,r)),"aria-pressed":n,className:`rounded-full px-2 py-0.5 text-xs font-medium transition-colors ${n?le[r]:"bg-surface-2 text-text-muted hover:text-text-secondary ring-border ring-1"}`,title:c(`memories.type.${r}`),children:c(`memories.type.${r}`)},r)})})}export{ye as D,xe as F,ve as M,pe as T,ce as a,je as b,Ne as c,be as d,fe as e,he as h,se as i,ge as u};
|
|
6
|
+
*/const ee=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],xe=Y("funnel",ee),te=["user","feedback","project","reference"],C=["working","episodic","semantic","procedural"],pe=[{value:null,labelKey:"memories.filter.timeAll"},{value:7,labelKey:"memories.filter.time7d"},{value:30,labelKey:"memories.filter.time30d"},{value:90,labelKey:"memories.filter.time90d"}],M=["semantic","procedural"],ye={types:new Set,layers:new Set(M),days:null,minConfidence:0,minAccessCount:0};function se(t){return t.size!==M.length?!1:M.every(a=>t.has(a))}function he(t){return t.days!==null||t.minConfidence>0||t.minAccessCount>0||t.types.size>0||!se(t.layers)}function be(t,a){const r=a.days!==null?Date.now()-a.days*864e5:null;return t.filter(n=>!(a.types.size>0&&!a.types.has(n.type??"")||!a.layers.has(n.layer??"semantic")||r!==null&&n.mtimeMs<r||a.minConfidence>0&&(n.confidence??.5)<a.minConfidence||a.minAccessCount>0&&(n.accessCount??0)<a.minAccessCount))}function ae(t,a){const r=new Set(t.types);return r.has(a)?r.delete(a):r.add(a),{...t,types:r}}function re(t,a){const r=new Set(t.layers);return r.has(a)?r.delete(a):r.add(a),{...t,layers:r}}function fe(t){const a={};for(const r of t){const n=r.layer??"semantic";a[n]=(a[n]??0)+1}return a}function j(t){return t.project?`${t.project}::${t.path}`:t.path}function ge(){const[t,a]=d.useState(null),[r,n]=d.useState({});return{expandedKey:t,fileContent:r,setFileContent:n,toggleExpand:async m=>{const u=j(m);if(t===u){a(null);return}if(a(u),r[u]===void 0)try{const{content:o}=await L(m.path,m.project);n(h=>({...h,[u]:o}))}catch{n(o=>({...o,[u]:c("memorySidebar.loadFailed")}))}}}}function ne({memory:t,teams:a,onClose:r,onPromoted:n}){B();const[l,m]=d.useState(""),[u,o]=d.useState(!1),[h,y]=d.useState("");if(d.useEffect(()=>{var i;m(a.length===1?((i=a[0])==null?void 0:i.id)??"":""),y(""),o(!1)},[t,a]),!t)return null;const v=async()=>{if(!l){y(c("memories.promoteTeamRequired"));return}o(!0),y("");try{await A(t.path,l),n()}catch(i){y(i instanceof Error?i.message:c("memorySidebar.promoteFailed"))}finally{o(!1)}};return e.jsx(G,{open:!!t,onOpenChange:i=>i?void 0:r(),children:e.jsxs(X,{className:"sm:max-w-md",children:[e.jsx(Z,{children:e.jsx(J,{children:c("memorySidebar.promote")})}),e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-sm text-text-muted",children:t.name}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-primary",htmlFor:"promote-team",children:c("memories.scope.team")}),e.jsxs("select",{id:"promote-team",value:l,onChange:i=>m(i.target.value),className:"w-full rounded-md border border-border bg-surface-1 px-3 py-2 text-sm text-text-primary focus:border-accent focus:outline-none",children:[e.jsx("option",{value:"",children:"—"}),a.map(i=>e.jsx("option",{value:i.id,children:i.name},i.id))]})]}),h&&e.jsx("p",{className:"text-sm text-status-error",children:h})]}),e.jsxs(Q,{children:[e.jsx("button",{type:"button",onClick:r,className:"rounded-md border border-border px-4 py-2 text-sm text-text-secondary hover:bg-surface-2",children:c("common.cancel")}),e.jsx("button",{type:"button",onClick:v,disabled:u,className:"rounded-md bg-accent px-4 py-2 text-sm font-medium text-white hover:bg-accent/90 disabled:opacity-50",children:u?"…":c("memorySidebar.promote")})]})]})})}const _={working:"bg-status-warning/20 text-status-warning ring-status-warning/40",episodic:"bg-text-secondary/15 text-text-secondary ring-text-secondary/30",semantic:"bg-brand/15 text-brand-text ring-brand/40",procedural:"bg-status-success/15 text-status-success ring-status-success/40"};function je({filters:t,onChange:a,counts:r}){return e.jsx("div",{className:"flex flex-wrap items-center gap-1","data-testid":"memory-layer-chips",children:C.map(n=>{const l=t.layers.has(n),m=r[n]??0,u=m===0&&!l;return e.jsxs("button",{type:"button",disabled:u,onClick:()=>a(re(t,n)),"aria-pressed":l,title:c(`memories.layer.${n}`),className:`rounded-full px-2 py-0.5 text-xs font-medium transition-colors ${l?_[n]:"bg-surface-2 text-text-muted hover:text-text-secondary ring-border ring-1"} ${u?"cursor-not-allowed opacity-40":""}`,children:[c(`memories.layer.${n}`),e.jsx("span",{className:"ml-1 font-mono text-[10px] opacity-70",children:m})]},n)})})}function ce({layer:t}){if(!t)return null;const a=C.indexOf(t);return a<0?null:e.jsxs("span",{className:`flex-shrink-0 rounded-full px-1.5 py-0.5 font-mono text-[10px] font-medium ${_[t]}`,title:c(`memories.layer.${t}`),children:["L",a]})}function oe(t){switch(t){case"user":return"bg-accent/15 text-accent";case"feedback":return"bg-status-warning/15 text-status-warning";case"project":return"bg-status-active/15 text-status-active";default:return"bg-surface-3 text-text-muted"}}function ie(t){try{return new Date(t).toLocaleDateString()}catch{return"—"}}function ve({files:t,isLoading:a=!1,canManage:r,teamEnabled:n=!1,teams:l,showProject:m=!1,projectNames:u={},onChanged:o,expandedKey:h,fileContent:y,onToggleExpand:v}){const[i,f]=d.useState(null),[k,b]=d.useState(""),[F,N]=d.useState(""),[w,S]=d.useState(null);d.useEffect(()=>{i!==null&&!t.some(s=>j(s)===i)&&f(null)},[t,i]);const T=r??(()=>!0),$=s=>s.canManage??T(s),P=s=>{const x=j(s);f(x);const p=y[x];if(p!==void 0){b(p);return}b(""),L(s.path,s.project).then(({content:g})=>b(g)).catch(()=>b(""))},I=async s=>{try{await W(s.path,k),f(null),o==null||o()}catch{N(c("memorySidebar.updateFailed"))}},K=async s=>{try{await q(s.path),o==null||o()}catch{N(c("memorySidebar.deleteFailed"))}},R=async s=>{var x;if(l&&l.length>1){S(s);return}try{await A(s.path,(x=l==null?void 0:l[0])==null?void 0:x.id),o==null||o()}catch(p){N(p instanceof Error?p.message:c("memorySidebar.promoteFailed"))}};return a?e.jsx("div",{className:"space-y-2",children:[0,1,2].map(s=>e.jsx("div",{className:"h-12 animate-pulse rounded-md bg-surface-2"},s))}):t.length===0?e.jsxs("div",{className:"py-10 text-center",children:[e.jsx(H,{className:"mx-auto h-6 w-6 text-text-muted/40"}),e.jsx("p",{className:"mt-2 text-xs text-text-muted",children:c("memorySidebar.empty")})]}):e.jsxs("div",{children:[F&&e.jsx("p",{className:"px-1 pb-1 text-xs text-status-error",children:F}),e.jsx("ul",{className:"space-y-1",children:t.map(s=>{const x=j(s),p=h===x,g=p&&i===x,E=s.confidence??.5,D=s.accessCount??0;return e.jsxs("li",{className:"group rounded-md hover:bg-surface-2",children:[e.jsxs("button",{type:"button",onClick:()=>v(s),className:"w-full px-2 py-1.5 text-left",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"truncate text-xs font-medium text-text-primary",children:s.name}),e.jsx(ce,{layer:s.layer}),s.type&&e.jsx("span",{className:`flex-shrink-0 rounded-full px-1.5 py-0.5 text-[10px] font-medium ${oe(s.type)}`,children:s.type}),s.teamName&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:s.teamName,children:s.teamName}),D>0&&e.jsxs("span",{className:"flex-shrink-0 font-mono text-[10px] text-text-muted",title:c("memories.filter.access"),children:["×",D]}),m&&s.project&&e.jsx("span",{className:"max-w-24 flex-shrink-0 truncate rounded-full bg-surface-3 px-1.5 py-0.5 text-[10px] font-medium text-text-muted",title:s.project,children:u[s.project]??s.project.split("-").pop()??s.project}),e.jsxs("span",{className:`flex-shrink-0 font-mono text-[10px] ${E>=.8?"text-status-active":E>=.5?"text-text-muted":"text-status-warning"}`,title:c("memories.filter.confidence"),children:[Math.round(E*100),"%"]}),e.jsx("span",{className:"ml-auto flex-shrink-0 text-[10px] text-text-muted",children:ie(s.mtimeMs)})]}),s.description&&e.jsx("p",{className:"mt-0.5 truncate text-[10px] text-text-muted",children:s.description})]}),$(s)&&e.jsxs("div",{className:"flex items-center gap-0.5 px-2 pb-1 opacity-0 transition-opacity group-hover:opacity-100",children:[e.jsx("button",{type:"button",onClick:()=>P(s),className:"rounded p-1 text-text-secondary hover:bg-surface-3 hover:text-text-primary",title:c("memorySidebar.edit"),children:e.jsx(z,{className:"h-3 w-3"})}),s.scope==="personal"&&n&&s.layer!=="working"&&e.jsx("button",{type:"button",onClick:()=>void R(s),className:"rounded p-1 text-text-secondary hover:bg-surface-3 hover:text-text-primary",title:c("memorySidebar.promote"),children:e.jsx(U,{className:"h-3 w-3"})}),e.jsx("button",{type:"button",onClick:()=>void K(s),className:"ml-auto rounded p-1 text-text-secondary hover:bg-status-error/10 hover:text-status-error",title:c("memorySidebar.delete"),children:e.jsx(V,{className:"h-3 w-3"})})]}),p&&!g&&e.jsx("pre",{className:"mx-2 mb-2 max-h-48 overflow-y-auto whitespace-pre-wrap rounded bg-surface-3 p-2 text-[10px] leading-relaxed text-text-secondary",children:y[x]??"…"}),g&&e.jsxs("div",{className:"mx-2 mb-2",children:[e.jsx("textarea",{value:k,onChange:O=>b(O.target.value),rows:8,className:"w-full rounded bg-surface-3 p-2 text-[10px] leading-relaxed text-text-primary focus:outline-none focus:ring-1 focus:ring-brand/40"}),e.jsxs("div",{className:"mt-1 flex gap-1",children:[e.jsx("button",{type:"button",onClick:()=>void I(s),className:"rounded bg-accent px-2 py-0.5 text-[10px] font-medium text-white hover:bg-accent/90",children:c("memorySidebar.save")}),e.jsx("button",{type:"button",onClick:()=>f(null),className:"rounded px-2 py-0.5 text-[10px] text-text-muted hover:bg-surface-2",children:c("memorySidebar.cancel")})]})]})]},x)})}),e.jsx(ne,{memory:w?{path:w.path,name:w.name}:null,teams:l??[],onClose:()=>S(null),onPromoted:()=>{S(null),o==null||o()}})]})}const le={user:"bg-accent/20 text-accent ring-accent/40",feedback:"bg-status-warning/20 text-status-warning ring-status-warning/40",project:"bg-status-active/20 text-status-active ring-status-active/40",reference:"bg-brand/15 text-brand-text ring-brand/40"};function Ne({filters:t,onChange:a}){return e.jsx("div",{className:"flex flex-wrap items-center gap-1","data-testid":"memory-type-chips",children:te.map(r=>{const n=t.types.has(r);return e.jsx("button",{type:"button",onClick:()=>a(ae(t,r)),"aria-pressed":n,className:`rounded-full px-2 py-0.5 text-xs font-medium transition-colors ${n?le[r]:"bg-surface-2 text-text-muted hover:text-text-secondary ring-border ring-1"}`,title:c(`memories.type.${r}`),children:c(`memories.type.${r}`)},r)})})}export{ye as D,xe as F,ve as M,pe as T,ce as a,je as b,Ne as c,be as d,fe as e,he as h,se as i,ge as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as r,j as e}from"./vendor-DE_-CLIE.js";import{
|
|
1
|
+
import{e as r,j as e}from"./vendor-DE_-CLIE.js";import{b0 as w,_ as y,aX as t}from"./main-BkfSO2Rz.js";import"./preload-helper-BiaRt2Oj.js";import"./motion-BILbV7YQ.js";function k({onSuccess:c,onBack:x}){const{register:h}=w(),[n,p]=r.useState(""),[a,b]=r.useState(""),[l,f]=r.useState(""),[d,o]=r.useState(""),[i,u]=r.useState(!1),g=async s=>{if(s.preventDefault(),o(""),a.length<8){o(t("auth.setup.passwordTooShort"));return}if(a!==l){o(t("auth.setup.passwordMismatch"));return}u(!0);try{await h(n,a),c()}catch(m){o(m instanceof Error?m.message:t("auth.register.failed"))}finally{u(!1)}};return e.jsx("div",{className:"flex min-h-screen items-center justify-center bg-surface-0 px-4",children:e.jsxs("div",{className:"hero-enter w-full max-w-sm space-y-6",children:[e.jsxs("div",{className:"text-center",children:[e.jsx(y,{className:"brand-wordmark--auth mb-5"}),e.jsx("h1",{className:"font-display text-3xl font-semibold tracking-tight text-text-primary",children:t("auth.register.title")}),e.jsx("p",{className:"mt-2 text-sm text-text-muted",children:t("auth.register.description")})]}),e.jsxs("form",{onSubmit:g,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-secondary",children:t("auth.login.username")}),e.jsx("input",{type:"text",value:n,onChange:s=>p(s.target.value),required:!0,autoComplete:"username",autoFocus:!0,className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary placeholder:text-text-muted focus:border-brand focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-secondary",children:t("auth.login.password")}),e.jsx("input",{type:"password",value:a,onChange:s=>b(s.target.value),required:!0,autoComplete:"new-password",className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary placeholder:text-text-muted focus:border-brand focus:outline-none"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1 block text-sm font-medium text-text-secondary",children:t("auth.join.confirmPassword")}),e.jsx("input",{type:"password",value:l,onChange:s=>f(s.target.value),required:!0,autoComplete:"new-password",className:"w-full rounded-lg border border-border bg-surface-2 px-3 py-2 text-sm text-text-primary placeholder:text-text-muted focus:border-brand focus:outline-none"})]}),d&&e.jsx("p",{className:"text-sm text-status-error",children:d}),e.jsx("button",{type:"submit",disabled:i,className:"w-full rounded-lg bg-brand px-4 py-2.5 font-display text-sm font-medium text-white shadow-lg shadow-brand/25 transition-all hover:-translate-y-0.5 hover:bg-brand-light hover:shadow-brand/40 disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:translate-y-0 disabled:hover:shadow-none",children:i?t("common.loading"):t("auth.register.submit")})]}),e.jsx("button",{type:"button",onClick:x,className:"w-full text-center text-sm text-text-muted hover:text-text-primary transition-colors",children:t("auth.register.backToLogin")})]})})}export{k as Register};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e}from"./vendor-DE_-CLIE.js";import{
|
|
1
|
+
import{j as e}from"./vendor-DE_-CLIE.js";import{aH as t,i as d,h as l,aF as p,aX as h}from"./main-BkfSO2Rz.js";import{C as m,A as y}from"./workerType-CS6pd4nT.js";/**
|
|
2
2
|
* @license lucide-react v0.555.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|