claude-code-workflow 7.2.26 → 7.2.28
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/.ccw/specs/architecture-constraints.md +5 -0
- package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +140 -0
- package/.claude/skills/investigate/SKILL.md +110 -0
- package/.claude/skills/investigate/phases/01-root-cause-investigation.md +132 -0
- package/.claude/skills/investigate/phases/02-pattern-analysis.md +126 -0
- package/.claude/skills/investigate/phases/03-hypothesis-testing.md +177 -0
- package/.claude/skills/investigate/phases/04-implementation.md +139 -0
- package/.claude/skills/investigate/phases/05-verification-report.md +153 -0
- package/.claude/skills/investigate/specs/debug-report-format.md +226 -0
- package/.claude/skills/investigate/specs/iron-law.md +101 -0
- package/.claude/skills/security-audit/SKILL.md +125 -0
- package/.claude/skills/security-audit/phases/01-supply-chain-scan.md +139 -0
- package/.claude/skills/security-audit/phases/02-owasp-review.md +156 -0
- package/.claude/skills/security-audit/phases/03-threat-modeling.md +180 -0
- package/.claude/skills/security-audit/phases/04-report-tracking.md +177 -0
- package/.claude/skills/security-audit/specs/owasp-checklist.md +442 -0
- package/.claude/skills/security-audit/specs/scoring-gates.md +141 -0
- package/.claude/skills/ship/SKILL.md +105 -0
- package/.claude/skills/ship/phases/01-preflight-checks.md +121 -0
- package/.claude/skills/ship/phases/02-code-review.md +137 -0
- package/.claude/skills/ship/phases/03-version-bump.md +171 -0
- package/.claude/skills/ship/phases/04-changelog-commit.md +167 -0
- package/.claude/skills/ship/phases/05-pr-creation.md +163 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +10 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +4 -0
- package/.claude/skills/team-arch-opt/SKILL.md +1 -1
- package/.claude/skills/team-arch-opt/roles/coordinator/commands/monitor.md +3 -1
- package/.claude/skills/team-arch-opt/roles/refactorer/role.md +3 -1
- package/.claude/skills/team-arch-opt/specs/team-config.json +2 -2
- package/.claude/skills/team-coordinate/SKILL.md +4 -3
- package/.claude/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +1 -1
- package/.claude/skills/team-coordinate/roles/coordinator/commands/dispatch.md +3 -2
- package/.claude/skills/team-coordinate/roles/coordinator/commands/monitor.md +3 -2
- package/.claude/skills/team-coordinate/roles/coordinator/role.md +16 -15
- package/.claude/skills/team-coordinate/specs/pipelines.md +7 -4
- package/.claude/skills/team-coordinate/specs/role-spec-template.md +1 -0
- package/.claude/skills/team-interactive-craft/SKILL.md +127 -0
- package/.claude/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.claude/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +183 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.claude/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.claude/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.claude/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.claude/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.claude/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.claude/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.claude/skills/team-lifecycle-v4/SKILL.md +1 -1
- package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +14 -2
- package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +24 -2
- package/.claude/skills/team-lifecycle-v4/roles/executor/role.md +3 -1
- package/.claude/skills/team-motion-design/SKILL.md +129 -0
- package/.claude/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.claude/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/monitor.md +184 -0
- package/.claude/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.claude/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.claude/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.claude/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.claude/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.claude/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.claude/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.claude/skills/team-motion-design/specs/team-config.json +99 -0
- package/.claude/skills/team-perf-opt/SKILL.md +1 -1
- package/.claude/skills/team-perf-opt/roles/optimizer/role.md +3 -1
- package/.claude/skills/team-perf-opt/specs/team-config.json +2 -2
- package/.claude/skills/team-quality-assurance/SKILL.md +1 -1
- package/.claude/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +4 -2
- package/.claude/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +4 -2
- package/.claude/skills/team-quality-assurance/roles/executor/role.md +3 -1
- package/.claude/skills/team-testing/SKILL.md +1 -1
- package/.claude/skills/team-testing/roles/coordinator/commands/dispatch.md +5 -2
- package/.claude/skills/team-testing/roles/coordinator/commands/monitor.md +4 -2
- package/.claude/skills/team-testing/roles/executor/role.md +3 -1
- package/.claude/skills/team-ui-polish/SKILL.md +127 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/monitor.md +180 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.claude/skills/team-ui-polish/roles/diagnostician/role.md +160 -0
- package/.claude/skills/team-ui-polish/roles/optimizer/role.md +225 -0
- package/.claude/skills/team-ui-polish/roles/scanner/role.md +356 -0
- package/.claude/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.claude/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.claude/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.claude/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.claude/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.claude/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.claude/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.claude/skills/team-uidesign/SKILL.md +6 -1
- package/.claude/skills/team-uidesign/roles/designer/role.md +28 -4
- package/.claude/skills/team-uidesign/roles/implementer/role.md +25 -3
- package/.claude/skills/team-uidesign/roles/researcher/role.md +21 -2
- package/.claude/skills/team-uidesign/roles/reviewer/role.md +19 -17
- package/.claude/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.claude/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.claude/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.claude/skills/team-uidesign/specs/team-config.json +1 -1
- package/.claude/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.claude/skills/team-ux-improve/SKILL.md +3 -0
- package/.claude/skills/team-ux-improve/roles/designer/role.md +30 -0
- package/.claude/skills/team-ux-improve/roles/diagnoser/role.md +16 -1
- package/.claude/skills/team-ux-improve/roles/scanner/role.md +43 -1
- package/.claude/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.claude/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.claude/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.claude/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +40 -8
- package/.claude/skills/team-ux-improve/wisdom/patterns/state-management.md +32 -12
- package/.claude/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +35 -11
- package/.claude/skills/team-ux-improve/wisdom/principles/general-ux.md +36 -9
- package/.claude/skills/team-visual-a11y/SKILL.md +143 -0
- package/.claude/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +204 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.claude/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.claude/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.claude/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.claude/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.claude/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.claude/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.claude/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.claude/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.claude/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.claude/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.codex/skills/investigate/agents/investigator.md +392 -0
- package/.codex/skills/investigate/orchestrator.md +362 -0
- package/.codex/skills/investigate/phases/01-root-cause-investigation.md +212 -0
- package/.codex/skills/investigate/phases/02-pattern-analysis.md +181 -0
- package/.codex/skills/investigate/phases/03-hypothesis-testing.md +214 -0
- package/.codex/skills/investigate/phases/04-implementation.md +195 -0
- package/.codex/skills/investigate/phases/05-verification-report.md +240 -0
- package/.codex/skills/security-audit/agents/security-auditor.md +341 -0
- package/.codex/skills/security-audit/orchestrator.md +384 -0
- package/.codex/skills/security-audit/phases/01-supply-chain-scan.md +226 -0
- package/.codex/skills/security-audit/phases/02-owasp-review.md +232 -0
- package/.codex/skills/security-audit/phases/03-threat-modeling.md +249 -0
- package/.codex/skills/security-audit/phases/04-report-tracking.md +300 -0
- package/.codex/skills/ship/agents/ship-operator.md +318 -0
- package/.codex/skills/ship/orchestrator.md +426 -0
- package/.codex/skills/ship/phases/01-preflight-checks.md +198 -0
- package/.codex/skills/ship/phases/02-code-review.md +228 -0
- package/.codex/skills/ship/phases/03-version-bump.md +259 -0
- package/.codex/skills/ship/phases/04-changelog-commit.md +263 -0
- package/.codex/skills/ship/phases/05-pr-creation.md +280 -0
- package/.codex/skills/team-interactive-craft/SKILL.md +220 -0
- package/.codex/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.codex/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +162 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +233 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/role.md +209 -0
- package/.codex/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.codex/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.codex/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.codex/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.codex/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.codex/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.codex/skills/team-motion-design/SKILL.md +222 -0
- package/.codex/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.codex/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/dispatch.md +168 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/monitor.md +242 -0
- package/.codex/skills/team-motion-design/roles/coordinator/role.md +210 -0
- package/.codex/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.codex/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.codex/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.codex/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.codex/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.codex/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.codex/skills/team-motion-design/specs/team-config.json +99 -0
- package/.codex/skills/team-ui-polish/SKILL.md +218 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +167 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/monitor.md +230 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-ui-polish/roles/diagnostician/role.md +164 -0
- package/.codex/skills/team-ui-polish/roles/optimizer/role.md +229 -0
- package/.codex/skills/team-ui-polish/roles/scanner/role.md +360 -0
- package/.codex/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.codex/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.codex/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.codex/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.codex/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.codex/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.codex/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.codex/skills/team-visual-a11y/SKILL.md +319 -0
- package/.codex/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +188 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +281 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.codex/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.codex/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.codex/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.codex/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.codex/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.codex/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.codex/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.codex/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.codex/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/README.md +8 -0
- package/ccw/dist/core/hooks/hook-templates.d.ts.map +1 -1
- package/ccw/dist/core/hooks/hook-templates.js +114 -1
- package/ccw/dist/core/hooks/hook-templates.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +34 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +2 -2
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js → AlertDialog-BjP1ydDR.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js.map → AlertDialog-BjP1ydDR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js → AnalysisPage-CAX3xqMf.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js.map → AnalysisPage-CAX3xqMf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js → ApiSettingsPage-CtWlmztq.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js.map → ApiSettingsPage-CtWlmztq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js → CliModeToggle-hR4a-eLX.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js.map → CliModeToggle-hR4a-eLX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js → CliSessionSharePage-DzNPkFN9.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js.map → CliSessionSharePage-DzNPkFN9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js → CliViewerPage-BPEGN4TT.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js.map → CliViewerPage-BPEGN4TT.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js → CodexLensPage-Cf0r2RHY.js} +2 -2
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js.map → CodexLensPage-Cf0r2RHY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js → Collapsible-DEm1rJ4h.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js.map → Collapsible-DEm1rJ4h.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js → CommandsManagerPage-BpeWw8HO.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js.map → CommandsManagerPage-BpeWw8HO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js → DeepWikiPage-BEsmh2vF.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js.map → DeepWikiPage-BEsmh2vF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js → EndpointsPage-B30SFdtU.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js.map → EndpointsPage-B30SFdtU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js → ExplorerPage-BVvMpg1O.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js.map → ExplorerPage-BVvMpg1O.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js → FixSessionPage-CL73dHbh.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js.map → FixSessionPage-CL73dHbh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js → FloatingFileBrowser-BL-28lMZ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js.map → FloatingFileBrowser-BL-28lMZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js → FloatingPanel-BzZDciHZ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js.map → FloatingPanel-BzZDciHZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js → GraphExplorerPage-CDp6-d8P.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js.map → GraphExplorerPage-CDp6-d8P.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js → HistoryPage-fZY_7O9n.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js.map → HistoryPage-fZY_7O9n.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js → HookManagerPage-4LJeC9bq.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js.map → HookManagerPage-4LJeC9bq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js → InstallationsPage-Bpigrbhw.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js.map → InstallationsPage-Bpigrbhw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js → IssueHubPage-BP0zJc1R.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js.map → IssueHubPage-BP0zJc1R.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js → LiteTasksPage-CSt2oVKQ.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js.map → LiteTasksPage-CSt2oVKQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js → McpManagerPage-B-xaMA0w.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js.map → McpManagerPage-B-xaMA0w.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js → MemoryPage-CJqo_7DY.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js.map → MemoryPage-CJqo_7DY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js → NotFoundPage-ibZeQA-Y.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js.map → NotFoundPage-ibZeQA-Y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js → OrchestratorPage-DgJ4ctPQ.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js.map → OrchestratorPage-DgJ4ctPQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js → ProjectOverviewPage-Cit0Yq0D.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js.map → ProjectOverviewPage-Cit0Yq0D.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js → PromptHistoryPage-Ce1HDIK0.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js.map → PromptHistoryPage-Ce1HDIK0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js → ReviewSessionPage-J1KikNrk.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js.map → ReviewSessionPage-J1KikNrk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js → RulesManagerPage-CdBjTmth.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js.map → RulesManagerPage-CdBjTmth.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js → SessionDetailPage-B9ZK7LvX.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js.map → SessionDetailPage-B9ZK7LvX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js → SessionsPage-CW_nS5UR.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js.map → SessionsPage-CW_nS5UR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SettingsPage-BPDbXPSM.js → SettingsPage-B2PYzSoO.js} +35 -35
- package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js.map +1 -0
- package/ccw/frontend/dist/assets/{SkillsManagerPage-D3LzbpJY.js → SkillsManagerPage-CTnWrrwp.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-D3LzbpJY.js.map → SkillsManagerPage-CTnWrrwp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js → SpecsSettingsPage-DJpi9XQL.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js.map → SpecsSettingsPage-DJpi9XQL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js → Switch-Ac6Ov7uy.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js.map → Switch-Ac6Ov7uy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js → TabsNavigation-DZAAspqR.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js.map → TabsNavigation-DZAAspqR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js → TaskDrawer-BJkwfhIZ.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js.map → TaskDrawer-BJkwfhIZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js → TeamPage-BJgjxBgb.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js.map → TeamPage-BJgjxBgb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js → TerminalDashboardPage-D1WekoOy.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js.map → TerminalDashboardPage-D1WekoOy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js → archive-DxemgIhF.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js.map → archive-DxemgIhF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js → archive-restore-CjS83f1V.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js.map → archive-restore-CjS83f1V.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js → arrow-right-B5PUcn8I.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js.map → arrow-right-B5PUcn8I.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js → bookmark-plus-DCc9aPbb.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js.map → bookmark-plus-DCc9aPbb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js → bot-DOwFtzak.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js.map → bot-DOwFtzak.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js → braces-96qH3aFh.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js.map → braces-96qH3aFh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js → circle-stop-CCxSuil1.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js.map → circle-stop-CCxSuil1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js → cpu-CZNSJFdq.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js.map → cpu-CZNSJFdq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js → ellipsis-vertical-h8xtvw2_.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js.map → ellipsis-vertical-h8xtvw2_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js → eye-D3NY0bm6.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js.map → eye-D3NY0bm6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js → eye-off-Cy2vkc8p.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js.map → eye-off-Cy2vkc8p.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js → file-json-Bzq3U1Mx.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js.map → file-json-Bzq3U1Mx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js → file-text-DwuwPDPi.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js.map → file-text-DwuwPDPi.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js → filter-q9g-bknU.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js.map → filter-q9g-bknU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js → folder-CL6vb42J.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js.map → folder-CL6vb42J.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js → gauge-BkrcQBly.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js.map → gauge-BkrcQBly.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js → globe-BQbwyNeV.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js.map → globe-BQbwyNeV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js → grid-3x3-x5_7DrN7.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js.map → grid-3x3-x5_7DrN7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js → hard-drive-DTyWXwzf.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js.map → hard-drive-DTyWXwzf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js → hash-80O0kJO7.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js.map → hash-80O0kJO7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js → history-DDlN2Bwa.js} +2 -2
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js.map → history-DDlN2Bwa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js → index-B9A3Hnrk.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js.map → index-B9A3Hnrk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B76AGix5.js → index-Bs80iCX0.js} +2 -2
- package/ccw/frontend/dist/assets/{index-B76AGix5.js.map → index-Bs80iCX0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js → index-mbeo62f8.js} +2 -2
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js.map → index-mbeo62f8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js → index-rLgoBCfV.js} +3 -3
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js.map → index-rLgoBCfV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js → layout-grid-C1niOWJx.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js.map → layout-grid-C1niOWJx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js → lightbulb-BTmI7SUg.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js.map → lightbulb-BTmI7SUg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js → link-2-CB9HKeuZ.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js.map → link-2-CB9HKeuZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js → link-koEYiemK.js} +2 -2
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js.map → link-koEYiemK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js → list-v2_GaLdC.js} +2 -2
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js.map → list-v2_GaLdC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js → map-pin-BQNfAqG_.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js.map → map-pin-BQNfAqG_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js → messages-square-Dzq5LGg9.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js.map → messages-square-Dzq5LGg9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js → minimize-2-CtkoJXcz.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js.map → minimize-2-CtkoJXcz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js → package-CH3smL37.js} +2 -2
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js.map → package-CH3smL37.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js → plug-CZ0aL_yF.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js.map → plug-CZ0aL_yF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js → power-F2A_J4l6.js} +2 -2
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js.map → power-F2A_J4l6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js → save-Byxot0YU.js} +2 -2
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js.map → save-Byxot0YU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js → send-JjqhUkpw.js} +2 -2
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js.map → send-JjqhUkpw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js → settings-2--SuN9rAt.js} +2 -2
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js.map → settings-2--SuN9rAt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js → square-check-big-BbngGB2h.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js.map → square-check-big-BbngGB2h.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js → square-pen-CgrHgZSl.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js.map → square-pen-CgrHgZSl.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js → star-BU3TQr7Z.js} +2 -2
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js.map → star-BU3TQr7Z.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js → style-CKs7nnn3.js} +2 -2
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js.map → style-CKs7nnn3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js → target-DW5tsDW6.js} +2 -2
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js.map → target-DW5tsDW6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js → test-tube-BHm7w3ON.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js.map → test-tube-BHm7w3ON.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js → upload-DYR7PWwt.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js.map → upload-DYR7PWwt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js → useApiSettings-D0TVgQD_.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js.map → useApiSettings-D0TVgQD_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js → useCli-DfY8mAP8.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js.map → useCli-DfY8mAP8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js → useCommands-CGusDp0F.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js.map → useCommands-CGusDp0F.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js → useDebounce-CIwh0fF1.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js.map → useDebounce-CIwh0fF1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js → useFileExplorer-FMyFv39K.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js.map → useFileExplorer-FMyFv39K.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js → useLocale-B2qhsoTb.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js.map → useLocale-B2qhsoTb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js → useSkills-cxKXMBm3.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js.map → useSkills-cxKXMBm3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js → useSystemSettings-B-xUT_z-.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js.map → useSystemSettings-B-xUT_z-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js → wand-sparkles-DZV_3lPr.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js.map → wand-sparkles-DZV_3lPr.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +105 -105
- package/ccw/frontend/dist/assets/SettingsPage-BPDbXPSM.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aF as A,a9 as M,aa as k,ab as Q,aC as R,c2 as Y,aH as K,c3 as ls,c4 as cs,c5 as ds,c6 as ms,c7 as xs,c8 as us,c9 as hs,ca as gs,cb as fs,cc as js,cd as ps,ce as vs,cf as ys,cg as Ns,ch as bs,ci as ws,cj as Ms,u as D,r as p,j as e,bf as ne,e as h,N as I,b as O,I as J,B as _,c as T,k as ks,l as oe,K as Cs,m as ce,C as P,Z as V,b7 as Ce,R as se,x as G,y as W,ck as ee,z as te,A as ae,bq as Se,am as $,cl as Ss,cm as Fs,cn as Ps,M as we,o as Me,s as _s,aQ as B,a7 as le,ae as Fe,ak as de,_ as q,T as Es,a1 as Ts,aP as zs}from"./index-Dff4bg3u.js";import{T as Is}from"./TabsNavigation-BGsKy7DO.js";import{E as me}from"./eye-yAy69Cnn.js";import{f as Pe}from"./formatDistanceToNow-DXTjigy3.js";import{F as _e}from"./file-text-DRkrjie9.js";import{r as Rs}from"./index-C_Yf5fZ4.js";import{M as qs,a as As}from"./minimize-2-DO-zbT3a.js";import{S as Ee}from"./star-Bk7EC7FB.js";import{A as Te}from"./archive-CQJ86bQp.js";import{H as ze}from"./hash-Dpo1exMB.js";import{S as Ie}from"./square-pen-Bue1chJR.js";import{A as Ds}from"./archive-restore-BhTfDbPU.js";const Ls=60*1e3;function Ks(s={}){var f,N,S;const{filter:t,staleTime:a=Ls,enabled:i=!0}=s,o=A(),r=M(k),m=i&&!!r,d=Q({queryKey:R.memoryList(r),queryFn:()=>us(r),staleTime:a,enabled:m,retry:2}),x=((f=d.data)==null?void 0:f.memories)??[],c=((N=d.data)==null?void 0:N.totalSize)??0,u=((S=d.data)==null?void 0:S.claudeMdCount)??0,j=(()=>{let b=x;if(t!=null&&t.search){const n=t.search.toLowerCase();b=b.filter(C=>{var F,L;return C.content.toLowerCase().includes(n)||((F=C.source)==null?void 0:F.toLowerCase().includes(n))||((L=C.tags)==null?void 0:L.some(U=>U.toLowerCase().includes(n)))})}return t!=null&&t.tags&&t.tags.length>0&&(b=b.filter(n=>t.tags.some(C=>{var F;return(F=n.tags)==null?void 0:F.includes(C)}))),(t==null?void 0:t.favorite)===!0&&(b=b.filter(n=>Y(n.metadata).favorite===!0)),(t==null?void 0:t.archived)===!0?b=b.filter(n=>n.archived===!0):(t==null?void 0:t.archived)===!1&&(b=b.filter(n=>n.archived!==!0)),b})(),v=Array.from(new Set(x.flatMap(b=>b.tags??[]))).sort(),g=async()=>{await d.refetch()},y=async()=>{r&&await o.invalidateQueries({queryKey:R.memory(r)})};return{memories:j,totalSize:c,claudeMdCount:u,allTags:v,isLoading:d.isLoading,isFetching:d.isFetching,error:d.error,refetch:g,invalidate:y}}function Qs(){const s=A(),t=M(k),a=K({mutationFn:i=>ls(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{createMemory:a.mutateAsync,isCreating:a.isPending,error:a.error}}function Us(){const s=A(),t=M(k),a=K({mutationFn:({memoryId:i,input:o})=>cs(i,o,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{updateMemory:(i,o)=>a.mutateAsync({memoryId:i,input:o}),isUpdating:a.isPending,error:a.error}}function Bs(){const s=A(),t=M(k),a=K({mutationFn:i=>ds(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{deleteMemory:a.mutateAsync,isDeleting:a.isPending,error:a.error}}function Os(){const s=A(),t=M(k),a=K({mutationFn:i=>ms(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{archiveMemory:a.mutateAsync,isArchiving:a.isPending,error:a.error}}function $s(){const s=A(),t=M(k),a=K({mutationFn:i=>xs(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{unarchiveMemory:a.mutateAsync,isUnarchiving:a.isPending,error:a.error}}function Vs(){const s=Qs(),t=Us(),a=Bs(),i=Os(),o=$s();return{createMemory:s.createMemory,updateMemory:t.updateMemory,deleteMemory:a.deleteMemory,archiveMemory:i.archiveMemory,unarchiveMemory:o.unarchiveMemory,isCreating:s.isCreating,isUpdating:t.isUpdating,isDeleting:a.isDeleting,isArchiving:i.isArchiving,isUnarchiving:o.isUnarchiving,isMutating:s.isCreating||t.isUpdating||a.isDeleting||i.isArchiving||o.isUnarchiving}}const xe=60*1e3;function Hs(s){var j,v;const{query:t,categories:a,topK:i,minScore:o,enabled:r=!0,staleTime:m=xe}=s,d=M(k),x=r&&!!d&&t.trim().length>0,c=Q({queryKey:R.unifiedSearch(d||"",t,a),queryFn:()=>gs(t,{topK:i,minScore:o,category:a},d||void 0),staleTime:m,enabled:x,retry:1}),u=async()=>{await c.refetch()};return{results:((j=c.data)==null?void 0:j.results)??[],total:((v=c.data)==null?void 0:v.total)??0,isLoading:c.isLoading,isFetching:c.isFetching,error:c.error,refetch:u}}function Ys(){var o;const s=M(k),t=!!s,a=Q({queryKey:R.unifiedStats(s||""),queryFn:()=>fs(s||void 0),staleTime:xe,enabled:t,retry:2}),i=async()=>{await a.refetch()};return{stats:((o=a.data)==null?void 0:o.stats)??null,isLoading:a.isLoading,isFetching:a.isFetching,error:a.error,refetch:i}}function Gs(s){var d,x;const{memoryId:t,limit:a=5,enabled:i=!0}=s,o=M(k),r=i&&!!o&&!!t,m=Q({queryKey:R.unifiedRecommendations(o||"",t),queryFn:()=>js(t,a,o||void 0),staleTime:xe,enabled:r,retry:1});return{recommendations:((d=m.data)==null?void 0:d.recommendations)??[],total:((x=m.data)==null?void 0:x.total)??0,isLoading:m.isLoading,isFetching:m.isFetching,error:m.error}}function Ws(){const s=A(),t=M(k),a=K({mutationFn:()=>hs(t||void 0),onSuccess:()=>{t&&s.invalidateQueries({queryKey:R.unifiedMemory(t)})}});return{reindex:a.mutateAsync,isReindexing:a.isPending,error:a.error}}const z={all:["memoryV2"],extractionStatus:s=>[...z.all,"extraction",s],consolidationStatus:s=>[...z.all,"consolidation",s],jobs:(s,t)=>[...z.all,"jobs",s,t],preview:(s,t)=>[...z.all,"preview",s,t]},ue=30*1e3;function Zs(){const s=M(k);return Q({queryKey:z.extractionStatus(s),queryFn:()=>Ns(s),enabled:!!s,staleTime:ue,refetchInterval:5e3})}function Xs(){const s=M(k);return Q({queryKey:z.consolidationStatus(s),queryFn:()=>bs(s),enabled:!!s,staleTime:ue,refetchInterval:5e3})}function Re(s){const t=M(k);return Q({queryKey:z.jobs(t,s),queryFn:()=>ws(s,t),enabled:!!t,staleTime:ue,refetchInterval:1e4})}function Js(){const s=A(),t=M(k);return K({mutationFn:a=>ps(a,t),onSuccess:()=>{s.invalidateQueries({queryKey:z.extractionStatus(t)}),s.invalidateQueries({queryKey:z.jobs(t)})}})}function et(){const s=A(),t=M(k);return K({mutationFn:()=>vs(t),onSuccess:()=>{s.invalidateQueries({queryKey:z.consolidationStatus(t)}),s.invalidateQueries({queryKey:z.jobs(t)})}})}function st(s=!1){const t=M(k);return Q({queryKey:z.preview(t,s),queryFn:()=>Ms(s,void 0,t),enabled:!!t,staleTime:10*1e3})}function tt(){const s=A(),t=M(k);return K({mutationFn:a=>ys({sessionIds:a.sessionIds,includeNative:a.includeNative,path:t}),onSuccess:()=>{s.invalidateQueries({queryKey:z.all})}})}function at(s){if(s===0)return"0 B";const t=1024,a=["B","KB","MB","GB"],i=Math.floor(Math.log(s)/Math.log(t));return`${parseFloat((s/Math.pow(t,i)).toFixed(1))} ${a[i]}`}function rt(s){try{const t=new Date(s);return Pe(t,{addSuffix:!0})}catch{return"-"}}function it({onClose:s,onExtractComplete:t}){const a=D(),[i,o]=p.useState(""),[r,m]=p.useState(new Set),[d,x]=p.useState(!1),{data:c,isLoading:u,refetch:j}=st(d),v=tt(),g=p.useMemo(()=>{if(!(c!=null&&c.sessions))return[];if(!i.trim())return c.sessions;const n=i.toLowerCase();return c.sessions.filter(C=>C.sessionId.toLowerCase().includes(n)||C.tool.toLowerCase().includes(n)||C.source.toLowerCase().includes(n))},[c==null?void 0:c.sessions,i]),y=p.useMemo(()=>g.filter(n=>n.eligible&&!n.extracted),[g]),f=n=>{m(C=>{const F=new Set(C);return F.has(n)?F.delete(n):F.add(n),F})},N=()=>{m(new Set(y.map(n=>n.sessionId)))},S=()=>{m(new Set)},b=async()=>{r.size!==0&&v.mutate({sessionIds:Array.from(r),includeNative:d},{onSuccess:()=>{m(new Set),t==null||t()}})};return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[e.jsx(me,{className:"w-5 h-5"}),a.formatMessage({id:"memory.v2.preview.title",defaultMessage:"Extraction Queue Preview"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[e.jsx(ne,{checked:d,onCheckedChange:n=>x(n===!0)}),a.formatMessage({id:"memory.v2.preview.includeNative",defaultMessage:"Include Native Sessions"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>j(),children:u?e.jsx(I,{className:"w-4 h-4 animate-spin"}):"Refresh"})]})]}),(c==null?void 0:c.summary)&&e.jsxs("div",{className:"grid grid-cols-4 gap-2 mb-4",children:[e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold",children:c.summary.total}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.total",defaultMessage:"Total"})})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold text-blue-600",children:c.summary.eligible}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.eligible",defaultMessage:"Eligible"})})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold text-green-600",children:c.summary.alreadyExtracted}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.extracted",defaultMessage:"Already Extracted"})})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold text-amber-600",children:c.summary.readyForExtraction}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.ready",defaultMessage:"Ready"})})]})]}),e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(O,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(J,{placeholder:a.formatMessage({id:"memory.v2.preview.selectSessions",defaultMessage:"Search sessions..."}),value:i,onChange:n=>o(n.target.value),className:"pl-9"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:N,children:a.formatMessage({id:"memory.v2.preview.selectAll",defaultMessage:"Select All"})}),e.jsx(h,{variant:"outline",size:"sm",onClick:S,children:a.formatMessage({id:"memory.v2.preview.selectNone",defaultMessage:"Select None"})})]}),e.jsx("div",{className:"flex-1 overflow-auto border rounded-lg",children:u?e.jsx("div",{className:"flex items-center justify-center h-48",children:e.jsx(I,{className:"w-6 h-6 animate-spin text-muted-foreground"})}):g.length===0?e.jsx("div",{className:"flex items-center justify-center h-48 text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.noSessions",defaultMessage:"No sessions found"})}):e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{className:"bg-muted sticky top-0",children:e.jsxs("tr",{children:[e.jsx("th",{className:"w-10 p-2"}),e.jsx("th",{className:"text-left p-2",children:"Source"}),e.jsx("th",{className:"text-left p-2",children:"Session ID"}),e.jsx("th",{className:"text-left p-2",children:"Tool"}),e.jsx("th",{className:"text-left p-2",children:"Timestamp"}),e.jsx("th",{className:"text-right p-2",children:"Size"}),e.jsx("th",{className:"text-right p-2",children:"Turns"}),e.jsx("th",{className:"text-center p-2",children:"Status"})]})}),e.jsx("tbody",{children:g.map(n=>{const C=n.eligible&&!n.extracted,F=r.has(n.sessionId),L=!C;return e.jsxs("tr",{className:T("border-b hover:bg-muted/50 transition-colors",L&&"opacity-60",F&&"bg-blue-50 dark:bg-blue-950/20"),children:[e.jsx("td",{className:"p-2",children:e.jsx(ne,{checked:F,disabled:L,onCheckedChange:()=>f(n.sessionId)})}),e.jsx("td",{className:"p-2",children:e.jsx(_,{variant:"outline",className:T(n.source==="ccw"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300":"bg-cyan-100 text-cyan-800 dark:bg-cyan-900/30 dark:text-cyan-300"),children:n.source==="ccw"?a.formatMessage({id:"memory.v2.preview.sourceCcw",defaultMessage:"CCW"}):a.formatMessage({id:"memory.v2.preview.sourceNative",defaultMessage:"Native"})})}),e.jsx("td",{className:"p-2 font-mono text-xs truncate max-w-[150px]",title:n.sessionId,children:n.sessionId}),e.jsx("td",{className:"p-2 truncate max-w-[100px]",title:n.tool,children:n.tool||"-"}),e.jsx("td",{className:"p-2 text-muted-foreground",children:rt(n.timestamp)}),e.jsx("td",{className:"p-2 text-right font-mono text-xs",children:at(n.bytes)}),e.jsx("td",{className:"p-2 text-right",children:n.turns}),e.jsx("td",{className:"p-2 text-center",children:n.extracted?e.jsxs(_,{className:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",children:[e.jsx(ks,{className:"w-3 h-3 mr-1"}),a.formatMessage({id:"memory.v2.preview.extracted",defaultMessage:"Extracted"})]}):n.eligible?e.jsxs(_,{className:"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300",children:[e.jsx(oe,{className:"w-3 h-3 mr-1"}),a.formatMessage({id:"memory.v2.preview.ready",defaultMessage:"Ready"})]}):e.jsxs(_,{className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300",children:[e.jsx(Cs,{className:"w-3 h-3 mr-1"}),a.formatMessage({id:"memory.v2.preview.ineligible",defaultMessage:"Ineligible"})]})})]},n.sessionId)})})]})}),e.jsxs("div",{className:"flex items-center justify-between mt-4 pt-4 border-t",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:r.size>0?a.formatMessage({id:"memory.v2.preview.selected",defaultMessage:"{count} sessions selected"},{count:r.size}):a.formatMessage({id:"memory.v2.preview.selectHint",defaultMessage:"Select sessions to extract"})}),e.jsxs("div",{className:"flex items-center gap-2",children:[s&&e.jsx(h,{variant:"outline",onClick:s,children:a.formatMessage({id:"common.close",defaultMessage:"Close"})}),e.jsx(h,{onClick:b,disabled:r.size===0||v.isPending,children:v.isPending?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-1 animate-spin"}),a.formatMessage({id:"memory.v2.extraction.extracting",defaultMessage:"Extracting..."})]}):a.formatMessage({id:"memory.v2.preview.extractSelected",defaultMessage:"Extract Selected ({count})"},{count:r.size})})]})]})]})}function qe(s){if(!s)return null;try{const t=typeof s=="string"?new Date(s):new Date(s);return isNaN(t.getTime())?null:Pe(t,{addSuffix:!0})}catch{return null}}const ke={idle:{color:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300",icon:e.jsx(oe,{className:"w-3 h-3"}),label:"Idle"},running:{color:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",icon:e.jsx(I,{className:"w-3 h-3 animate-spin"}),label:"Running"},completed:{color:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",icon:e.jsx(we,{className:"w-3 h-3"}),label:"Completed"},done:{color:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",icon:e.jsx(we,{className:"w-3 h-3"}),label:"Done"},error:{color:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",icon:e.jsx(ce,{className:"w-3 h-3"}),label:"Error"},pending:{color:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300",icon:e.jsx(oe,{className:"w-3 h-3"}),label:"Pending"}};function H({status:s}){const t=ke[s]||ke.idle;return e.jsxs(_,{className:T("flex items-center gap-1",t.color),children:[t.icon,t.label]})}function nt(){var v;const s=D(),{data:t,isLoading:a,refetch:i}=Zs(),o=Js(),[r,m]=p.useState(10),[d,x]=p.useState(!1),c=()=>{o.mutate(r)},u=(v=t==null?void 0:t.jobs)==null?void 0:v.some(g=>g.status==="running"),j=qe(t==null?void 0:t.lastRun);return e.jsxs(e.Fragment,{children:[e.jsxs(P,{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(V,{className:"w-5 h-5 text-yellow-500"}),"Phase 1: ",s.formatMessage({id:"memory.v2.extraction.title",defaultMessage:"Extraction"})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s.formatMessage({id:"memory.v2.extraction.description",defaultMessage:"Extract structured memories from CLI sessions"})}),j&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[s.formatMessage({id:"memory.v2.extraction.lastRun",defaultMessage:"Last run"}),": ",j]})]}),t&&e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"text-2xl font-bold",children:t.total_stage1}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.extraction.extracted",defaultMessage:"Extracted"})})]})]}),e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx("input",{type:"number",value:r,onChange:g=>m(Math.max(1,parseInt(g.target.value)||10)),className:"w-20 px-2 py-1 text-sm border rounded bg-background",min:1,max:64}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"sessions max"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(h,{onClick:c,disabled:o.isPending||u,size:"sm",children:o.isPending||u?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-1 animate-spin"}),s.formatMessage({id:"memory.v2.extraction.extracting",defaultMessage:"Extracting..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(Ce,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.extraction.trigger",defaultMessage:"Trigger Extraction"})]})}),e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>x(!0),title:s.formatMessage({id:"memory.v2.preview.previewQueue",defaultMessage:"Preview Queue"}),children:[e.jsx(me,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.preview.previewQueue",defaultMessage:"Preview Queue"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>i(),children:e.jsx(se,{className:T("w-4 h-4",a&&"animate-spin")})})]}),(t==null?void 0:t.jobs)&&t.jobs.length>0&&e.jsxs("div",{className:"mt-4 pt-4 border-t",children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:s.formatMessage({id:"memory.v2.extraction.recentJobs",defaultMessage:"Recent Jobs"})}),e.jsx("div",{className:"space-y-1 max-h-32 overflow-y-auto",children:t.jobs.slice(0,5).map(g=>e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"font-mono text-xs truncate max-w-[150px]",children:g.job_key}),e.jsx(H,{status:g.status})]},g.job_key))})]})]}),e.jsx(G,{open:d,onOpenChange:x,children:e.jsx(W,{className:"max-w-4xl max-h-[80vh]",children:e.jsx(it,{onClose:()=>x(!1),onExtractComplete:()=>{x(!1),i()}})})})]})}function ot(){const s=D(),{data:t,isLoading:a,refetch:i}=Xs(),o=et(),[r,m]=p.useState(!1),[d,x]=p.useState(!1),c=()=>{o.mutate()},u=async()=>{try{await navigator.clipboard.writeText((t==null?void 0:t.memoryMdPreview)||""),x(!0),setTimeout(()=>x(!1),2e3)}catch(g){console.error("Failed to copy:",g)}},j=(t==null?void 0:t.status)==="running",v=qe(t==null?void 0:t.lastRun);return e.jsxs(e.Fragment,{children:[e.jsxs(P,{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(ee,{className:"w-5 h-5 text-blue-500"}),"Phase 2: ",s.formatMessage({id:"memory.v2.consolidation.title",defaultMessage:"Consolidation"})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s.formatMessage({id:"memory.v2.consolidation.description",defaultMessage:"Merge extracted results into MEMORY.md"})}),v&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[s.formatMessage({id:"memory.v2.consolidation.lastRun",defaultMessage:"Last run"}),": ",v]})]}),t&&e.jsx(H,{status:t.status})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold",children:t!=null&&t.memoryMdAvailable?"✅":"❌"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"MEMORY.md"})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold",children:(t==null?void 0:t.inputCount)??"-"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"Inputs"})]})]}),(t==null?void 0:t.lastError)&&e.jsx("div",{className:"mb-4 p-2 bg-red-100 dark:bg-red-900/30 rounded text-xs text-red-800 dark:text-red-300",children:t.lastError}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(h,{onClick:c,disabled:o.isPending||j,size:"sm",children:o.isPending||j?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-1 animate-spin"}),s.formatMessage({id:"memory.v2.consolidation.consolidating",defaultMessage:"Consolidating..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(Ce,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.consolidation.trigger",defaultMessage:"Trigger Consolidation"})]})}),(t==null?void 0:t.memoryMdAvailable)&&e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>m(!0),children:[e.jsx(me,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.consolidation.preview",defaultMessage:"Preview"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>i(),children:e.jsx(se,{className:T("w-4 h-4",a&&"animate-spin")})})]})]}),e.jsx(G,{open:r,onOpenChange:m,children:e.jsxs(W,{className:"max-w-4xl max-h-[80vh] overflow-hidden flex flex-col",children:[e.jsx(te,{children:e.jsxs(ae,{className:"flex items-center justify-between pr-8",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(_e,{className:"w-5 h-5"}),"MEMORY.md"]}),e.jsx(h,{variant:"ghost",size:"sm",onClick:u,className:"h-8 px-2",title:d?s.formatMessage({id:"memory.v2.consolidation.copySuccess",defaultMessage:"Copied"}):s.formatMessage({id:"memory.actions.copy",defaultMessage:"Copy"}),children:d?e.jsx(Se,{className:"w-4 h-4 text-green-500"}):e.jsx($,{className:"w-4 h-4"})})]})}),e.jsx("div",{className:"overflow-auto flex-1 markdown-preview",children:e.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:e.jsx(Ss,{remarkPlugins:[Fs],rehypePlugins:[Rs],children:(t==null?void 0:t.memoryMdPreview)||s.formatMessage({id:"memory.v2.consolidation.noContent",defaultMessage:"No content available"})})})})]})})]})}function lt(){const s=D(),[t,a]=p.useState(""),[i,o]=p.useState(""),[r,m]=p.useState(null),[d,x]=p.useState(!1),c={...t&&{kind:t},...i&&{status_filter:i}},{data:u,isLoading:j,refetch:v}=Re(Object.keys(c).length>0?c:void 0),g=f=>{if(!f)return"-";try{return new Date(f).toLocaleString()}catch{return"-"}},y=async()=>{if(r!=null&&r.last_error)try{await navigator.clipboard.writeText(r.last_error),x(!0),setTimeout(()=>x(!1),2e3)}catch(f){console.error("Failed to copy:",f)}};return e.jsxs(P,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(Ps,{className:"w-5 h-5 text-purple-500"}),s.formatMessage({id:"memory.v2.jobs.title",defaultMessage:"Jobs"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:t,onChange:f=>a(f.target.value),className:"px-2 py-1 text-sm border rounded bg-background",children:[e.jsx("option",{value:"",children:s.formatMessage({id:"memory.v2.jobs.allKinds",defaultMessage:"All Kinds"})}),e.jsx("option",{value:"phase1_extraction",children:s.formatMessage({id:"memory.v2.jobs.extraction",defaultMessage:"Extraction"})}),e.jsx("option",{value:"memory_consolidate_global",children:s.formatMessage({id:"memory.v2.jobs.consolidation",defaultMessage:"Consolidation"})})]}),e.jsxs("select",{value:i,onChange:f=>o(f.target.value),className:"px-2 py-1 text-sm border rounded bg-background",children:[e.jsx("option",{value:"",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.all",defaultMessage:"All Status"})}),e.jsx("option",{value:"pending",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.pending",defaultMessage:"Pending"})}),e.jsx("option",{value:"running",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.running",defaultMessage:"Running"})}),e.jsx("option",{value:"done",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.done",defaultMessage:"Done"})}),e.jsx("option",{value:"error",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.error",defaultMessage:"Error"})})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>v(),children:e.jsx(se,{className:T("w-4 h-4",j&&"animate-spin")})})]})]}),u!=null&&u.jobs&&u.jobs.length>0?e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.kind",defaultMessage:"Kind"})}),e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.key",defaultMessage:"Key"})}),e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.status",defaultMessage:"Status"})}),e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.error",defaultMessage:"Error"})})]})}),e.jsx("tbody",{children:u.jobs.map(f=>e.jsxs("tr",{className:"border-b cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>m(f),children:[e.jsx("td",{className:"p-2",children:e.jsx(_,{variant:"outline",className:"text-xs",children:f.kind==="phase1_extraction"?"Extraction":f.kind==="memory_consolidate_global"?"Consolidation":f.kind})}),e.jsx("td",{className:"p-2 font-mono text-xs truncate max-w-[150px]",children:f.job_key}),e.jsx("td",{className:"p-2",children:e.jsx(H,{status:f.status})}),e.jsx("td",{className:"p-2 text-red-500 text-xs truncate max-w-[200px]",children:f.last_error||"-"})]},`${f.kind}-${f.job_key}`))})]})}):e.jsx("div",{className:"text-center text-muted-foreground py-8",children:s.formatMessage({id:"memory.v2.jobs.noJobs",defaultMessage:"No jobs found"})}),(u==null?void 0:u.byStatus)&&Object.keys(u.byStatus).length>0&&e.jsxs("div",{className:"mt-4 pt-4 border-t flex items-center gap-4 text-sm flex-wrap",children:[Object.entries(u.byStatus).map(([f,N])=>e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(H,{status:f}),e.jsx("span",{className:"font-bold",children:N})]},f)),e.jsxs("span",{className:"text-muted-foreground ml-auto",children:["Total: ",u.total]})]}),e.jsx(G,{open:!!r,onOpenChange:()=>m(null),children:e.jsxs(W,{className:"max-w-2xl",children:[e.jsx(te,{children:e.jsx(ae,{children:s.formatMessage({id:"memory.v2.jobs.detail.title",defaultMessage:"Job Details"})})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.kind",defaultMessage:"Kind"})}),e.jsx("p",{className:"text-sm font-medium",children:(r==null?void 0:r.kind)==="phase1_extraction"?"Extraction":(r==null?void 0:r.kind)==="memory_consolidate_global"?"Consolidation":r==null?void 0:r.kind})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.status",defaultMessage:"Status"})}),e.jsx("div",{className:"mt-1",children:r&&e.jsx(H,{status:r.status})})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.jobKey",defaultMessage:"Job ID"})}),e.jsx("p",{className:"text-sm font-mono break-all",children:r==null?void 0:r.job_key})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.startedAt",defaultMessage:"Started At"})}),e.jsx("p",{className:"text-sm",children:g(r==null?void 0:r.started_at)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.finishedAt",defaultMessage:"Finished At"})}),e.jsx("p",{className:"text-sm",children:g(r==null?void 0:r.finished_at)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.workerId",defaultMessage:"Worker ID"})}),e.jsx("p",{className:"text-sm font-mono truncate",children:(r==null?void 0:r.worker_id)||"-"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.retryRemaining",defaultMessage:"Retry Remaining"})}),e.jsx("p",{className:"text-sm",children:(r==null?void 0:r.retry_remaining)??"-"})]})]}),(r==null?void 0:r.last_error)&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.error",defaultMessage:"Error"})}),e.jsx(h,{variant:"ghost",size:"sm",onClick:y,className:"h-6 px-2",title:d?s.formatMessage({id:"memory.actions.copySuccess",defaultMessage:"Copied"}):s.formatMessage({id:"memory.actions.copy",defaultMessage:"Copy"}),children:d?e.jsx(Se,{className:"w-3 h-3 text-green-500"}):e.jsx($,{className:"w-3 h-3"})})]}),e.jsx("pre",{className:"text-xs bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300 p-3 rounded overflow-auto max-h-40 whitespace-pre-wrap break-all",children:r.last_error})]}),!(r!=null&&r.last_error)&&e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.error",defaultMessage:"Error"})}),e.jsx("p",{className:"text-sm text-muted-foreground italic",children:s.formatMessage({id:"memory.v2.jobs.detail.noError",defaultMessage:"No error"})})]})]})]})})]})}function ct(){const s=D(),{data:t}=Re(),a=(t==null?void 0:t.jobs)||[],i=a.filter(x=>x.status==="running"),o=a.filter(x=>x.status==="error"),r=i.length>0,m=o.length,d=i.length;return r?e.jsxs("div",{className:"mb-4 p-3 bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 rounded-lg flex items-center gap-2",children:[e.jsx(I,{className:"w-4 h-4 animate-spin text-blue-500"}),e.jsx("span",{className:"text-sm text-blue-700 dark:text-blue-300",children:s.formatMessage({id:"memory.v2.statusBanner.running",defaultMessage:"Pipeline Running - {count} job(s) in progress"},{count:d})})]}):m>0?e.jsxs("div",{className:"mb-4 p-3 bg-yellow-50 dark:bg-yellow-950/30 border border-yellow-200 dark:border-yellow-800 rounded-lg flex items-center gap-2",children:[e.jsx(ce,{className:"w-4 h-4 text-yellow-500"}),e.jsx("span",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:s.formatMessage({id:"memory.v2.statusBanner.hasErrors",defaultMessage:"Pipeline Idle - {count} job(s) failed"},{count:m})})]}):null}function dt(){return e.jsxs("div",{className:"space-y-4",children:[e.jsx(ct,{}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(nt,{}),e.jsx(ot,{})]}),e.jsx(lt,{})]})}const mt={core_memory:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",cli_history:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",workflow:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300",entity:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-300",pattern:"bg-pink-100 text-pink-800 dark:bg-pink-900/30 dark:text-pink-300"},xt={core_memory:e.jsx(B,{className:"w-3 h-3"}),cli_history:e.jsx(zs,{className:"w-3 h-3"}),workflow:e.jsx(Ts,{className:"w-3 h-3"}),entity:e.jsx(ze,{className:"w-3 h-3"}),pattern:e.jsx(Fe,{className:"w-3 h-3"})};function Ae({sourceType:s}){const t=mt[s]||"bg-gray-100 text-gray-800 dark:bg-gray-900/30 dark:text-gray-300",a=xt[s]||e.jsx(ee,{className:"w-3 h-3"});return e.jsxs("span",{className:T("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium",t),children:[a,s]})}function ut({memory:s,onView:t,onEdit:a,onDelete:i,onCopy:o,onToggleFavorite:r,onArchive:m,onUnarchive:d}){const x=new Date(s.createdAt).toLocaleDateString(),c=Y(s.metadata),u=c.favorite===!0,j=c.priority||"medium",v=s.archived||!1,g=s.size?s.size<1024?`${s.size} B`:`${(s.size/1024).toFixed(1)} KB`:"Unknown";return e.jsx(P,{className:"overflow-hidden",children:e.jsxs("div",{className:"p-4 cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>t(s),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(B,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-medium text-foreground",children:s.id}),s.source&&e.jsx(_,{variant:"outline",className:"text-xs",children:s.source}),j!=="medium"&&e.jsx(_,{variant:j==="high"?"destructive":"secondary",className:"text-xs",children:j}),v&&e.jsx(_,{variant:"secondary",className:"text-xs",children:"Archived"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[x," - ",g]})]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(h,{variant:"ghost",size:"sm",className:T("h-8 w-8 p-0",u&&"text-yellow-500"),onClick:y=>{y.stopPropagation(),r(s)},children:e.jsx(Ee,{className:T("w-4 h-4",u&&"fill-current")})}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),o(s.content)},children:e.jsx($,{className:"w-4 h-4"})}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),a(s)},children:e.jsx(Ie,{className:"w-4 h-4"})}),v?e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),d(s)},children:e.jsx(Ds,{className:"w-4 h-4"})}):e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),m(s)},children:e.jsx(Te,{className:"w-4 h-4"})}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 text-destructive hover:text-destructive",onClick:y=>{y.stopPropagation(),i(s)},children:e.jsx(Es,{className:"w-4 h-4"})})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 line-clamp-2",children:s.content}),s.tags&&s.tags.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-1 mt-2",children:[s.tags.slice(0,5).map(y=>e.jsxs(_,{variant:"secondary",className:"text-xs",children:[e.jsx(de,{className:"w-3 h-3 mr-1"}),y]},y)),s.tags.length>5&&e.jsxs(_,{variant:"secondary",className:"text-xs",children:["+",s.tags.length-5]})]})]})})}function ht({result:s,onCopy:t}){const{formatMessage:a}=D(),i=(s.score*100).toFixed(1);return e.jsx(P,{className:"overflow-hidden",children:e.jsxs("div",{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[e.jsx(Ae,{sourceType:s.source_type}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.source_id}),e.jsxs(_,{variant:"outline",className:"text-xs shrink-0",children:[a({id:"memory.unified.score"}),": ",i,"%"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[s.rank_sources.vector_rank!=null&&e.jsx("span",{className:"text-xs text-muted-foreground",children:a({id:"memory.unified.vectorRank"},{rank:s.rank_sources.vector_rank})}),s.rank_sources.fts_rank!=null&&e.jsx("span",{className:"text-xs text-muted-foreground",children:a({id:"memory.unified.ftsRank"},{rank:s.rank_sources.fts_rank})}),s.rank_sources.heat_score!=null&&e.jsx("span",{className:"text-xs text-muted-foreground",children:a({id:"memory.unified.heatScore"},{score:s.rank_sources.heat_score.toFixed(2)})})]})]})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 shrink-0",onClick:()=>t(s.content),children:e.jsx($,{className:"w-4 h-4"})})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 line-clamp-3",children:s.content})]})})}function gt({memoryId:s,onCopy:t}){const{formatMessage:a}=D(),{recommendations:i,isLoading:o}=Gs({memoryId:s,limit:5,enabled:!!s});return o?e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground py-2",children:[e.jsx(I,{className:"w-4 h-4 animate-spin"}),e.jsx("span",{className:"text-sm",children:a({id:"memory.unified.searching"})})]}):i.length===0?e.jsx("p",{className:"text-sm text-muted-foreground py-2",children:a({id:"memory.unified.noRecommendations"})}):e.jsx("div",{className:"space-y-2",children:i.map(r=>e.jsxs("div",{className:"flex items-start gap-2 p-2 rounded-md bg-muted/30 hover:bg-muted/50 transition-colors",children:[e.jsx(Ae,{sourceType:r.source_type}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-medium text-foreground truncate",children:r.source_id}),e.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[(r.score*100).toFixed(0),"%"]})]}),e.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 mt-0.5",children:r.content})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 shrink-0",onClick:()=>t(r.content),children:e.jsx($,{className:"w-3 h-3"})})]},r.source_id))})}function ft({memory:s,open:t,onOpenChange:a,onEdit:i,onCopy:o}){const{formatMessage:r}=D();if(!s)return null;const d=Y(s.metadata).priority||"medium",x=new Date(s.createdAt).toLocaleDateString(),c=s.size?s.size<1024?`${s.size} B`:`${(s.size/1024).toFixed(1)} KB`:"Unknown";return e.jsx(G,{open:t,onOpenChange:a,children:e.jsxs(W,{className:"max-w-3xl max-h-[80vh] flex flex-col",children:[e.jsxs(te,{children:[e.jsxs(ae,{className:"flex items-center gap-2",children:[e.jsx(B,{className:"w-5 h-5 text-primary"}),s.id]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[s.source&&e.jsx(_,{variant:"outline",className:"text-xs",children:s.source}),d!=="medium"&&e.jsx(_,{variant:d==="high"?"destructive":"secondary",className:"text-xs",children:d}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[x," - ",c]})]})]}),s.tags&&s.tags.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1",children:s.tags.map(u=>e.jsxs(_,{variant:"secondary",className:"text-xs",children:[e.jsx(de,{className:"w-3 h-3 mr-1"}),u]},u))}),e.jsx("div",{className:"flex-1 overflow-auto mt-2",children:e.jsx("pre",{className:"text-sm text-foreground whitespace-pre-wrap font-mono bg-muted/30 p-4 rounded-lg",children:s.content})}),e.jsxs("div",{className:"pt-2 border-t border-border",children:[e.jsxs("h4",{className:"text-sm font-medium text-foreground flex items-center gap-1.5 mb-2",children:[e.jsx(V,{className:"w-4 h-4 text-primary"}),r({id:"memory.unified.recommendations"})]}),e.jsx(gt,{memoryId:s.id,onCopy:o})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-border",children:[e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>o(s.content),children:[e.jsx($,{className:"w-4 h-4 mr-2"}),r({id:"memory.actions.copy"})]}),e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>{a(!1),i(s)},children:[e.jsx(Ie,{className:"w-4 h-4 mr-2"}),r({id:"memory.actions.edit"})]})]})]})})}function jt({open:s,onOpenChange:t,onSubmit:a,isCreating:i,editingMemory:o}){var f;const{formatMessage:r}=D(),[m,d]=p.useState((o==null?void 0:o.content)||""),[x,c]=p.useState(((f=o==null?void 0:o.tags)==null?void 0:f.join(", "))||""),[u,j]=p.useState(!1),[v,g]=p.useState("medium");p.useEffect(()=>{var N;if(o){d(o.content||""),c(((N=o.tags)==null?void 0:N.join(", "))||"");const S=Y(o.metadata);j(S.favorite===!0),g(S.priority||"medium")}else d(""),c(""),j(!1),g("medium")},[o]);const y=N=>{if(N.preventDefault(),m.trim()){const S=x.split(",").map(n=>n.trim()).filter(Boolean),b={};u&&(b.favorite=!0),v!=="medium"&&(b.priority=v),a({content:m.trim(),tags:S.length>0?S:void 0,metadata:Object.keys(b).length>0?b:void 0}),d(""),c(""),j(!1),g("medium")}};return e.jsx(G,{open:s,onOpenChange:t,children:e.jsxs(W,{className:"max-w-2xl",children:[e.jsx(te,{children:e.jsx(ae,{children:r(o?{id:"memory.createDialog.editTitle"}:{id:"memory.createDialog.title"})})}),e.jsxs("form",{onSubmit:y,className:"space-y-4 mt-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:r({id:"memory.createDialog.labels.content"})}),e.jsx("textarea",{value:m,onChange:N=>d(N.target.value),placeholder:r({id:"memory.createDialog.placeholders.content"}),className:"mt-1 w-full min-h-[200px] p-3 bg-background border border-input rounded-md text-sm font-mono resize-none focus:outline-none focus:ring-2 focus:ring-primary",required:!0})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:r({id:"memory.createDialog.labels.tags"})}),e.jsx(J,{value:x,onChange:N=>c(N.target.value),placeholder:r({id:"memory.createDialog.placeholders.tags"}),className:"mt-1"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ne,{id:"favorite",checked:u,onCheckedChange:N=>j(N===!0)}),e.jsx("label",{htmlFor:"favorite",className:"text-sm font-medium cursor-pointer",children:r({id:"memory.createDialog.labels.favorite"})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:r({id:"memory.createDialog.labels.priority"})}),e.jsxs("select",{value:v,onChange:N=>g(N.target.value),className:"mt-1 w-full p-2 bg-background border border-input rounded-md text-sm",children:[e.jsx("option",{value:"low",children:r({id:"memory.priority.low"})}),e.jsx("option",{value:"medium",children:r({id:"memory.priority.medium"})}),e.jsx("option",{value:"high",children:r({id:"memory.priority.high"})})]})]})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(h,{type:"button",variant:"outline",onClick:()=>t(!1),children:r({id:"memory.createDialog.buttons.cancel"})}),e.jsx(h,{type:"submit",disabled:i||!m.trim(),children:i?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-2 animate-spin"}),r(o?{id:"memory.createDialog.buttons.updating"}:{id:"memory.createDialog.buttons.creating"})]}):e.jsxs(e.Fragment,{children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),r(o?{id:"memory.createDialog.buttons.update"}:{id:"memory.createDialog.buttons.create"})]})})]})]})]})})}const pt=[{value:"",labelId:"memory.filters.categoryAll"},{value:"core_memory",labelId:"memory.filters.categoryCoreMemory"},{value:"cli_history",labelId:"memory.filters.categoryCliHistory"},{value:"workflow",labelId:"memory.filters.categoryWorkflow"},{value:"entity",labelId:"memory.filters.categoryEntity"},{value:"pattern",labelId:"memory.filters.categoryPattern"}];function Et(){const{formatMessage:s}=D(),[t,a]=p.useState(""),[i,o]=p.useState([]),[r,m]=p.useState(!1),[d,x]=p.useState(null),[c,u]=p.useState(null),[j,v]=p.useState("memories"),[g,y]=p.useState(""),[f,N]=p.useState(""),S=Me(_s),b=Me(l=>l.toggleImmersiveMode),n=j==="unifiedSearch",C=j==="favorites"?{favorite:!0}:void 0,F=j==="archived"?{archived:!0}:{archived:!1},{memories:L,totalSize:U,claudeMdCount:De,allTags:he,isLoading:Le,isFetching:Ke,error:Qe,refetch:Ue}=Ks({filter:{search:t||void 0,tags:i.length>0?i:void 0,...C,...F},enabled:!n}),{results:ge,total:Be,isLoading:fe,isFetching:Oe,error:$e,refetch:Ve}=Hs({query:g,categories:f||void 0,topK:20,enabled:n&&g.trim().length>0}),{stats:w,isLoading:Z,refetch:je}=Ys(),{reindex:He,isReindexing:re}=Ws(),{createMemory:Ye,updateMemory:pe,deleteMemory:Ge,archiveMemory:We,unarchiveMemory:Ze,isCreating:Xe,isUpdating:Je}=Vs(),es=async l=>{d?(await pe(d.id,l),x(null)):await Ye(l),m(!1)},ve=l=>{x(l),m(!0)},ss=async l=>{confirm(`Delete memory "${l.id}"?`)&&await Ge(l.id)},ts=async l=>{try{const E=Y(l.metadata),X=E.favorite!==!0;await pe(l.id,{content:l.content,metadata:{...E,favorite:X}}),q.success(s({id:X?"memory.actions.favoriteAdded":"memory.actions.favoriteRemoved"}))}catch(E){console.error("Failed to toggle favorite:",E),q.error(s({id:"memory.actions.favoriteError"}))}},as=async l=>{try{await We(l.id),q.success(s({id:"memory.actions.archiveSuccess"}))}catch(E){console.error("Failed to archive:",E),q.error(s({id:"memory.actions.archiveError"}))}},rs=async l=>{try{await Ze(l.id),q.success(s({id:"memory.actions.unarchiveSuccess"}))}catch(E){console.error("Failed to unarchive:",E),q.error(s({id:"memory.actions.unarchiveError"}))}},ie=async l=>{try{await navigator.clipboard.writeText(l),q.success(s({id:"memory.actions.copySuccess"}))}catch(E){console.error("Failed to copy:",E),q.error(s({id:"memory.actions.copyError"}))}},is=async()=>{try{await He(),q.success(s({id:"memory.unified.reindexSuccess"})),je()}catch(l){console.error("Failed to reindex:",l),q.error(s({id:"memory.unified.reindexError"}))}},ns=l=>{o(E=>E.includes(l)?E.filter(X=>X!==l):[...E,l])},os=U<1024?`${U} B`:U<1024*1024?`${(U/1024).toFixed(1)} KB`:`${(U/(1024*1024)).toFixed(1)} MB`,ye=()=>{n?(Ve(),je()):Ue()},Ne=n?Oe:Ke,be=n?$e:Qe;return e.jsxs("div",{className:T("space-y-6",S&&"h-screen overflow-hidden"),children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold text-foreground flex items-center gap-2",children:[e.jsx(B,{className:"w-6 h-6 text-primary"}),s({id:"memory.title"})]}),e.jsx("p",{className:"text-muted-foreground mt-1",children:s({id:"memory.description"})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:b,className:T("p-2 rounded-md transition-colors",S?"bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground hover:bg-muted"),title:S?"Exit Fullscreen":"Fullscreen",children:S?e.jsx(qs,{className:"w-4 h-4"}):e.jsx(As,{className:"w-4 h-4"})}),n&&e.jsxs(h,{variant:"outline",onClick:is,disabled:re,children:[re?e.jsx(I,{className:"w-4 h-4 mr-2 animate-spin"}):e.jsx(V,{className:"w-4 h-4 mr-2"}),s({id:re?"memory.unified.reindexing":"memory.unified.reindex"})]}),e.jsxs(h,{variant:"outline",onClick:ye,disabled:Ne,children:[e.jsx(se,{className:T("w-4 h-4 mr-2",Ne&&"animate-spin")}),s({id:"common.actions.refresh"})]}),!n&&e.jsxs(h,{onClick:()=>{x(null),m(!0)},children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),s({id:"memory.actions.add"})]})]})]}),e.jsx(Is,{value:j,onValueChange:l=>v(l),tabs:[{value:"memories",label:s({id:"memory.tabs.memories"}),icon:e.jsx(B,{className:"h-4 w-4"})},{value:"favorites",label:s({id:"memory.tabs.favorites"}),icon:e.jsx(Ee,{className:"h-4 w-4"})},{value:"archived",label:s({id:"memory.tabs.archived"}),icon:e.jsx(Te,{className:"h-4 w-4"})},{value:"unifiedSearch",label:s({id:"memory.tabs.unifiedSearch"}),icon:e.jsx(O,{className:"h-4 w-4"})},{value:"v2pipeline",label:"V2 Pipeline",icon:e.jsx(V,{className:"h-4 w-4"})}]}),be&&e.jsxs("div",{className:"flex items-center gap-2 p-4 rounded-lg bg-destructive/10 border border-destructive/30 text-destructive",children:[e.jsx(ce,{className:"h-5 w-5 flex-shrink-0"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-medium",children:s({id:"common.errors.loadFailed"})}),e.jsx("p",{className:"text-xs mt-0.5",children:be.message})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:ye,children:s({id:"home.errors.retry"})})]}),n?e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(ee,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":(w==null?void 0:w.core_memories.total)??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.count"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-orange-500/10",children:e.jsx(ze,{className:"w-5 h-5 text-orange-500"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":(w==null?void 0:w.entities)??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.entities"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-blue-500/10",children:e.jsx(Fe,{className:"w-5 h-5 text-blue-500"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":(w==null?void 0:w.vector_index.total_chunks)??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.vectorChunks"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:T("p-2 rounded-lg",w!=null&&w.vector_index.hnsw_available?"bg-green-500/10":"bg-muted"),children:e.jsx(V,{className:T("w-5 h-5",w!=null&&w.vector_index.hnsw_available?"text-green-500":"text-muted-foreground")})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":w!=null&&w.vector_index.hnsw_available?w.vector_index.hnsw_count:"N/A"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.hnswStatus"})})]})]})})]}):e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(ee,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:L.length}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.count"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-info/10",children:e.jsx(_e,{className:"w-5 h-5 text-info"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:De}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.claudeMdCount"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-success/10",children:e.jsx(B,{className:"w-5 h-5 text-success"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:os}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.totalSize"})})]})]})})]}),n?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(O,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(J,{placeholder:s({id:"memory.filters.searchUnified"}),value:g,onChange:l=>y(l.target.value),className:"pl-9"})]}),e.jsx("select",{value:f,onChange:l=>N(l.target.value),className:"px-3 py-2 bg-background border border-input rounded-md text-sm min-w-[160px]",children:pt.map(l=>e.jsx("option",{value:l.value,children:s({id:l.labelId})},l.value))})]}),g.trim().length>0&&!fe&&e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.unified.resultCount"},{count:Be})})]}):e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx(O,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(J,{placeholder:s({id:"memory.filters.search"}),value:t,onChange:l=>a(l.target.value),className:"pl-9"})]}),he.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs("span",{className:"text-sm text-muted-foreground py-1",children:[s({id:"memory.card.tags"}),":"]}),he.map(l=>e.jsxs(h,{variant:i.includes(l)?"default":"outline",size:"sm",className:"h-7",onClick:()=>ns(l),children:[e.jsx(de,{className:"w-3 h-3 mr-1"}),l]},l)),i.length>0&&e.jsx(h,{variant:"ghost",size:"sm",className:"h-7",onClick:()=>o([]),children:s({id:"memory.filters.clear"})})]})]}),j==="v2pipeline"?e.jsx(dt,{}):n?fe?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(I,{className:"w-6 h-6 animate-spin text-primary mr-2"}),e.jsx("span",{className:"text-muted-foreground",children:s({id:"memory.unified.searching"})})]}):g.trim().length===0?e.jsxs(P,{className:"p-8 text-center",children:[e.jsx(O,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsx("h3",{className:"mt-4 text-lg font-medium text-foreground",children:s({id:"memory.tabs.unifiedSearch"})}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s({id:"memory.filters.searchUnified"})})]}):ge.length===0?e.jsxs(P,{className:"p-8 text-center",children:[e.jsx(O,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsx("h3",{className:"mt-4 text-lg font-medium text-foreground",children:s({id:"memory.unified.noResults"})})]}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:ge.map(l=>e.jsx(ht,{result:l,onCopy:ie},`${l.source_type}-${l.source_id}`))}):Le?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[1,2,3,4,5,6].map(l=>e.jsx("div",{className:"h-64 bg-muted animate-pulse rounded-lg"},l))}):L.length===0?e.jsxs(P,{className:"p-8 text-center",children:[e.jsx(B,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsx("h3",{className:"mt-4 text-lg font-medium text-foreground",children:s({id:"memory.emptyState.title"})}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s({id:"memory.emptyState.message"})}),e.jsxs(h,{className:"mt-4",onClick:()=>{x(null),m(!0)},children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),s({id:"memory.emptyState.createFirst"})]})]}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:L.map(l=>e.jsx(ut,{memory:l,onView:u,onEdit:ve,onDelete:ss,onCopy:ie,onToggleFavorite:ts,onArchive:as,onUnarchive:rs},l.id))}),e.jsx(ft,{memory:c,open:c!==null,onOpenChange:l=>{l||u(null)},onEdit:ve,onCopy:ie}),e.jsx(jt,{open:r,onOpenChange:l=>{m(l),l||x(null)},onSubmit:es,isCreating:Xe||Je,editingMemory:d})]})}export{Et as MemoryPage,Et as default};
|
|
2
|
-
//# sourceMappingURL=MemoryPage-
|
|
1
|
+
import{aF as A,a9 as M,aa as k,ab as Q,aC as R,c2 as Y,aH as K,c3 as ls,c4 as cs,c5 as ds,c6 as ms,c7 as xs,c8 as us,c9 as hs,ca as gs,cb as fs,cc as js,cd as ps,ce as vs,cf as ys,cg as Ns,ch as bs,ci as ws,cj as Ms,u as D,r as p,j as e,bf as ne,e as h,N as I,b as O,I as J,B as _,c as T,k as ks,l as oe,K as Cs,m as ce,C as P,Z as V,b7 as Ce,R as se,x as G,y as W,ck as ee,z as te,A as ae,bq as Se,am as $,cl as Ss,cm as Fs,cn as Ps,M as we,o as Me,s as _s,aQ as B,a7 as le,ae as Fe,ak as de,_ as q,T as Es,a1 as Ts,aP as zs}from"./index-rLgoBCfV.js";import{T as Is}from"./TabsNavigation-DZAAspqR.js";import{E as me}from"./eye-D3NY0bm6.js";import{f as Pe}from"./formatDistanceToNow-DXTjigy3.js";import{F as _e}from"./file-text-DwuwPDPi.js";import{r as Rs}from"./index-mbeo62f8.js";import{M as qs,a as As}from"./minimize-2-CtkoJXcz.js";import{S as Ee}from"./star-BU3TQr7Z.js";import{A as Te}from"./archive-DxemgIhF.js";import{H as ze}from"./hash-80O0kJO7.js";import{S as Ie}from"./square-pen-CgrHgZSl.js";import{A as Ds}from"./archive-restore-CjS83f1V.js";const Ls=60*1e3;function Ks(s={}){var f,N,S;const{filter:t,staleTime:a=Ls,enabled:i=!0}=s,o=A(),r=M(k),m=i&&!!r,d=Q({queryKey:R.memoryList(r),queryFn:()=>us(r),staleTime:a,enabled:m,retry:2}),x=((f=d.data)==null?void 0:f.memories)??[],c=((N=d.data)==null?void 0:N.totalSize)??0,u=((S=d.data)==null?void 0:S.claudeMdCount)??0,j=(()=>{let b=x;if(t!=null&&t.search){const n=t.search.toLowerCase();b=b.filter(C=>{var F,L;return C.content.toLowerCase().includes(n)||((F=C.source)==null?void 0:F.toLowerCase().includes(n))||((L=C.tags)==null?void 0:L.some(U=>U.toLowerCase().includes(n)))})}return t!=null&&t.tags&&t.tags.length>0&&(b=b.filter(n=>t.tags.some(C=>{var F;return(F=n.tags)==null?void 0:F.includes(C)}))),(t==null?void 0:t.favorite)===!0&&(b=b.filter(n=>Y(n.metadata).favorite===!0)),(t==null?void 0:t.archived)===!0?b=b.filter(n=>n.archived===!0):(t==null?void 0:t.archived)===!1&&(b=b.filter(n=>n.archived!==!0)),b})(),v=Array.from(new Set(x.flatMap(b=>b.tags??[]))).sort(),g=async()=>{await d.refetch()},y=async()=>{r&&await o.invalidateQueries({queryKey:R.memory(r)})};return{memories:j,totalSize:c,claudeMdCount:u,allTags:v,isLoading:d.isLoading,isFetching:d.isFetching,error:d.error,refetch:g,invalidate:y}}function Qs(){const s=A(),t=M(k),a=K({mutationFn:i=>ls(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{createMemory:a.mutateAsync,isCreating:a.isPending,error:a.error}}function Us(){const s=A(),t=M(k),a=K({mutationFn:({memoryId:i,input:o})=>cs(i,o,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{updateMemory:(i,o)=>a.mutateAsync({memoryId:i,input:o}),isUpdating:a.isPending,error:a.error}}function Bs(){const s=A(),t=M(k),a=K({mutationFn:i=>ds(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{deleteMemory:a.mutateAsync,isDeleting:a.isPending,error:a.error}}function Os(){const s=A(),t=M(k),a=K({mutationFn:i=>ms(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{archiveMemory:a.mutateAsync,isArchiving:a.isPending,error:a.error}}function $s(){const s=A(),t=M(k),a=K({mutationFn:i=>xs(i,t),onSuccess:()=>{s.invalidateQueries({queryKey:t?R.memory(t):["memory"]})}});return{unarchiveMemory:a.mutateAsync,isUnarchiving:a.isPending,error:a.error}}function Vs(){const s=Qs(),t=Us(),a=Bs(),i=Os(),o=$s();return{createMemory:s.createMemory,updateMemory:t.updateMemory,deleteMemory:a.deleteMemory,archiveMemory:i.archiveMemory,unarchiveMemory:o.unarchiveMemory,isCreating:s.isCreating,isUpdating:t.isUpdating,isDeleting:a.isDeleting,isArchiving:i.isArchiving,isUnarchiving:o.isUnarchiving,isMutating:s.isCreating||t.isUpdating||a.isDeleting||i.isArchiving||o.isUnarchiving}}const xe=60*1e3;function Hs(s){var j,v;const{query:t,categories:a,topK:i,minScore:o,enabled:r=!0,staleTime:m=xe}=s,d=M(k),x=r&&!!d&&t.trim().length>0,c=Q({queryKey:R.unifiedSearch(d||"",t,a),queryFn:()=>gs(t,{topK:i,minScore:o,category:a},d||void 0),staleTime:m,enabled:x,retry:1}),u=async()=>{await c.refetch()};return{results:((j=c.data)==null?void 0:j.results)??[],total:((v=c.data)==null?void 0:v.total)??0,isLoading:c.isLoading,isFetching:c.isFetching,error:c.error,refetch:u}}function Ys(){var o;const s=M(k),t=!!s,a=Q({queryKey:R.unifiedStats(s||""),queryFn:()=>fs(s||void 0),staleTime:xe,enabled:t,retry:2}),i=async()=>{await a.refetch()};return{stats:((o=a.data)==null?void 0:o.stats)??null,isLoading:a.isLoading,isFetching:a.isFetching,error:a.error,refetch:i}}function Gs(s){var d,x;const{memoryId:t,limit:a=5,enabled:i=!0}=s,o=M(k),r=i&&!!o&&!!t,m=Q({queryKey:R.unifiedRecommendations(o||"",t),queryFn:()=>js(t,a,o||void 0),staleTime:xe,enabled:r,retry:1});return{recommendations:((d=m.data)==null?void 0:d.recommendations)??[],total:((x=m.data)==null?void 0:x.total)??0,isLoading:m.isLoading,isFetching:m.isFetching,error:m.error}}function Ws(){const s=A(),t=M(k),a=K({mutationFn:()=>hs(t||void 0),onSuccess:()=>{t&&s.invalidateQueries({queryKey:R.unifiedMemory(t)})}});return{reindex:a.mutateAsync,isReindexing:a.isPending,error:a.error}}const z={all:["memoryV2"],extractionStatus:s=>[...z.all,"extraction",s],consolidationStatus:s=>[...z.all,"consolidation",s],jobs:(s,t)=>[...z.all,"jobs",s,t],preview:(s,t)=>[...z.all,"preview",s,t]},ue=30*1e3;function Zs(){const s=M(k);return Q({queryKey:z.extractionStatus(s),queryFn:()=>Ns(s),enabled:!!s,staleTime:ue,refetchInterval:5e3})}function Xs(){const s=M(k);return Q({queryKey:z.consolidationStatus(s),queryFn:()=>bs(s),enabled:!!s,staleTime:ue,refetchInterval:5e3})}function Re(s){const t=M(k);return Q({queryKey:z.jobs(t,s),queryFn:()=>ws(s,t),enabled:!!t,staleTime:ue,refetchInterval:1e4})}function Js(){const s=A(),t=M(k);return K({mutationFn:a=>ps(a,t),onSuccess:()=>{s.invalidateQueries({queryKey:z.extractionStatus(t)}),s.invalidateQueries({queryKey:z.jobs(t)})}})}function et(){const s=A(),t=M(k);return K({mutationFn:()=>vs(t),onSuccess:()=>{s.invalidateQueries({queryKey:z.consolidationStatus(t)}),s.invalidateQueries({queryKey:z.jobs(t)})}})}function st(s=!1){const t=M(k);return Q({queryKey:z.preview(t,s),queryFn:()=>Ms(s,void 0,t),enabled:!!t,staleTime:10*1e3})}function tt(){const s=A(),t=M(k);return K({mutationFn:a=>ys({sessionIds:a.sessionIds,includeNative:a.includeNative,path:t}),onSuccess:()=>{s.invalidateQueries({queryKey:z.all})}})}function at(s){if(s===0)return"0 B";const t=1024,a=["B","KB","MB","GB"],i=Math.floor(Math.log(s)/Math.log(t));return`${parseFloat((s/Math.pow(t,i)).toFixed(1))} ${a[i]}`}function rt(s){try{const t=new Date(s);return Pe(t,{addSuffix:!0})}catch{return"-"}}function it({onClose:s,onExtractComplete:t}){const a=D(),[i,o]=p.useState(""),[r,m]=p.useState(new Set),[d,x]=p.useState(!1),{data:c,isLoading:u,refetch:j}=st(d),v=tt(),g=p.useMemo(()=>{if(!(c!=null&&c.sessions))return[];if(!i.trim())return c.sessions;const n=i.toLowerCase();return c.sessions.filter(C=>C.sessionId.toLowerCase().includes(n)||C.tool.toLowerCase().includes(n)||C.source.toLowerCase().includes(n))},[c==null?void 0:c.sessions,i]),y=p.useMemo(()=>g.filter(n=>n.eligible&&!n.extracted),[g]),f=n=>{m(C=>{const F=new Set(C);return F.has(n)?F.delete(n):F.add(n),F})},N=()=>{m(new Set(y.map(n=>n.sessionId)))},S=()=>{m(new Set)},b=async()=>{r.size!==0&&v.mutate({sessionIds:Array.from(r),includeNative:d},{onSuccess:()=>{m(new Set),t==null||t()}})};return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[e.jsx(me,{className:"w-5 h-5"}),a.formatMessage({id:"memory.v2.preview.title",defaultMessage:"Extraction Queue Preview"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[e.jsx(ne,{checked:d,onCheckedChange:n=>x(n===!0)}),a.formatMessage({id:"memory.v2.preview.includeNative",defaultMessage:"Include Native Sessions"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>j(),children:u?e.jsx(I,{className:"w-4 h-4 animate-spin"}):"Refresh"})]})]}),(c==null?void 0:c.summary)&&e.jsxs("div",{className:"grid grid-cols-4 gap-2 mb-4",children:[e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold",children:c.summary.total}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.total",defaultMessage:"Total"})})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold text-blue-600",children:c.summary.eligible}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.eligible",defaultMessage:"Eligible"})})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold text-green-600",children:c.summary.alreadyExtracted}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.extracted",defaultMessage:"Already Extracted"})})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold text-amber-600",children:c.summary.readyForExtraction}),e.jsx("div",{className:"text-xs text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.ready",defaultMessage:"Ready"})})]})]}),e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(O,{className:"absolute left-3 top-1/2 transform -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(J,{placeholder:a.formatMessage({id:"memory.v2.preview.selectSessions",defaultMessage:"Search sessions..."}),value:i,onChange:n=>o(n.target.value),className:"pl-9"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:N,children:a.formatMessage({id:"memory.v2.preview.selectAll",defaultMessage:"Select All"})}),e.jsx(h,{variant:"outline",size:"sm",onClick:S,children:a.formatMessage({id:"memory.v2.preview.selectNone",defaultMessage:"Select None"})})]}),e.jsx("div",{className:"flex-1 overflow-auto border rounded-lg",children:u?e.jsx("div",{className:"flex items-center justify-center h-48",children:e.jsx(I,{className:"w-6 h-6 animate-spin text-muted-foreground"})}):g.length===0?e.jsx("div",{className:"flex items-center justify-center h-48 text-muted-foreground",children:a.formatMessage({id:"memory.v2.preview.noSessions",defaultMessage:"No sessions found"})}):e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{className:"bg-muted sticky top-0",children:e.jsxs("tr",{children:[e.jsx("th",{className:"w-10 p-2"}),e.jsx("th",{className:"text-left p-2",children:"Source"}),e.jsx("th",{className:"text-left p-2",children:"Session ID"}),e.jsx("th",{className:"text-left p-2",children:"Tool"}),e.jsx("th",{className:"text-left p-2",children:"Timestamp"}),e.jsx("th",{className:"text-right p-2",children:"Size"}),e.jsx("th",{className:"text-right p-2",children:"Turns"}),e.jsx("th",{className:"text-center p-2",children:"Status"})]})}),e.jsx("tbody",{children:g.map(n=>{const C=n.eligible&&!n.extracted,F=r.has(n.sessionId),L=!C;return e.jsxs("tr",{className:T("border-b hover:bg-muted/50 transition-colors",L&&"opacity-60",F&&"bg-blue-50 dark:bg-blue-950/20"),children:[e.jsx("td",{className:"p-2",children:e.jsx(ne,{checked:F,disabled:L,onCheckedChange:()=>f(n.sessionId)})}),e.jsx("td",{className:"p-2",children:e.jsx(_,{variant:"outline",className:T(n.source==="ccw"?"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300":"bg-cyan-100 text-cyan-800 dark:bg-cyan-900/30 dark:text-cyan-300"),children:n.source==="ccw"?a.formatMessage({id:"memory.v2.preview.sourceCcw",defaultMessage:"CCW"}):a.formatMessage({id:"memory.v2.preview.sourceNative",defaultMessage:"Native"})})}),e.jsx("td",{className:"p-2 font-mono text-xs truncate max-w-[150px]",title:n.sessionId,children:n.sessionId}),e.jsx("td",{className:"p-2 truncate max-w-[100px]",title:n.tool,children:n.tool||"-"}),e.jsx("td",{className:"p-2 text-muted-foreground",children:rt(n.timestamp)}),e.jsx("td",{className:"p-2 text-right font-mono text-xs",children:at(n.bytes)}),e.jsx("td",{className:"p-2 text-right",children:n.turns}),e.jsx("td",{className:"p-2 text-center",children:n.extracted?e.jsxs(_,{className:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",children:[e.jsx(ks,{className:"w-3 h-3 mr-1"}),a.formatMessage({id:"memory.v2.preview.extracted",defaultMessage:"Extracted"})]}):n.eligible?e.jsxs(_,{className:"bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300",children:[e.jsx(oe,{className:"w-3 h-3 mr-1"}),a.formatMessage({id:"memory.v2.preview.ready",defaultMessage:"Ready"})]}):e.jsxs(_,{className:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300",children:[e.jsx(Cs,{className:"w-3 h-3 mr-1"}),a.formatMessage({id:"memory.v2.preview.ineligible",defaultMessage:"Ineligible"})]})})]},n.sessionId)})})]})}),e.jsxs("div",{className:"flex items-center justify-between mt-4 pt-4 border-t",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:r.size>0?a.formatMessage({id:"memory.v2.preview.selected",defaultMessage:"{count} sessions selected"},{count:r.size}):a.formatMessage({id:"memory.v2.preview.selectHint",defaultMessage:"Select sessions to extract"})}),e.jsxs("div",{className:"flex items-center gap-2",children:[s&&e.jsx(h,{variant:"outline",onClick:s,children:a.formatMessage({id:"common.close",defaultMessage:"Close"})}),e.jsx(h,{onClick:b,disabled:r.size===0||v.isPending,children:v.isPending?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-1 animate-spin"}),a.formatMessage({id:"memory.v2.extraction.extracting",defaultMessage:"Extracting..."})]}):a.formatMessage({id:"memory.v2.preview.extractSelected",defaultMessage:"Extract Selected ({count})"},{count:r.size})})]})]})]})}function qe(s){if(!s)return null;try{const t=typeof s=="string"?new Date(s):new Date(s);return isNaN(t.getTime())?null:Pe(t,{addSuffix:!0})}catch{return null}}const ke={idle:{color:"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-300",icon:e.jsx(oe,{className:"w-3 h-3"}),label:"Idle"},running:{color:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",icon:e.jsx(I,{className:"w-3 h-3 animate-spin"}),label:"Running"},completed:{color:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",icon:e.jsx(we,{className:"w-3 h-3"}),label:"Completed"},done:{color:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",icon:e.jsx(we,{className:"w-3 h-3"}),label:"Done"},error:{color:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",icon:e.jsx(ce,{className:"w-3 h-3"}),label:"Error"},pending:{color:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/30 dark:text-yellow-300",icon:e.jsx(oe,{className:"w-3 h-3"}),label:"Pending"}};function H({status:s}){const t=ke[s]||ke.idle;return e.jsxs(_,{className:T("flex items-center gap-1",t.color),children:[t.icon,t.label]})}function nt(){var v;const s=D(),{data:t,isLoading:a,refetch:i}=Zs(),o=Js(),[r,m]=p.useState(10),[d,x]=p.useState(!1),c=()=>{o.mutate(r)},u=(v=t==null?void 0:t.jobs)==null?void 0:v.some(g=>g.status==="running"),j=qe(t==null?void 0:t.lastRun);return e.jsxs(e.Fragment,{children:[e.jsxs(P,{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(V,{className:"w-5 h-5 text-yellow-500"}),"Phase 1: ",s.formatMessage({id:"memory.v2.extraction.title",defaultMessage:"Extraction"})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s.formatMessage({id:"memory.v2.extraction.description",defaultMessage:"Extract structured memories from CLI sessions"})}),j&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[s.formatMessage({id:"memory.v2.extraction.lastRun",defaultMessage:"Last run"}),": ",j]})]}),t&&e.jsxs("div",{className:"text-right",children:[e.jsx("div",{className:"text-2xl font-bold",children:t.total_stage1}),e.jsx("div",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.extraction.extracted",defaultMessage:"Extracted"})})]})]}),e.jsxs("div",{className:"flex items-center gap-2 mb-4",children:[e.jsx("input",{type:"number",value:r,onChange:g=>m(Math.max(1,parseInt(g.target.value)||10)),className:"w-20 px-2 py-1 text-sm border rounded bg-background",min:1,max:64}),e.jsx("span",{className:"text-sm text-muted-foreground",children:"sessions max"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(h,{onClick:c,disabled:o.isPending||u,size:"sm",children:o.isPending||u?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-1 animate-spin"}),s.formatMessage({id:"memory.v2.extraction.extracting",defaultMessage:"Extracting..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(Ce,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.extraction.trigger",defaultMessage:"Trigger Extraction"})]})}),e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>x(!0),title:s.formatMessage({id:"memory.v2.preview.previewQueue",defaultMessage:"Preview Queue"}),children:[e.jsx(me,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.preview.previewQueue",defaultMessage:"Preview Queue"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>i(),children:e.jsx(se,{className:T("w-4 h-4",a&&"animate-spin")})})]}),(t==null?void 0:t.jobs)&&t.jobs.length>0&&e.jsxs("div",{className:"mt-4 pt-4 border-t",children:[e.jsx("div",{className:"text-xs text-muted-foreground mb-2",children:s.formatMessage({id:"memory.v2.extraction.recentJobs",defaultMessage:"Recent Jobs"})}),e.jsx("div",{className:"space-y-1 max-h-32 overflow-y-auto",children:t.jobs.slice(0,5).map(g=>e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"font-mono text-xs truncate max-w-[150px]",children:g.job_key}),e.jsx(H,{status:g.status})]},g.job_key))})]})]}),e.jsx(G,{open:d,onOpenChange:x,children:e.jsx(W,{className:"max-w-4xl max-h-[80vh]",children:e.jsx(it,{onClose:()=>x(!1),onExtractComplete:()=>{x(!1),i()}})})})]})}function ot(){const s=D(),{data:t,isLoading:a,refetch:i}=Xs(),o=et(),[r,m]=p.useState(!1),[d,x]=p.useState(!1),c=()=>{o.mutate()},u=async()=>{try{await navigator.clipboard.writeText((t==null?void 0:t.memoryMdPreview)||""),x(!0),setTimeout(()=>x(!1),2e3)}catch(g){console.error("Failed to copy:",g)}},j=(t==null?void 0:t.status)==="running",v=qe(t==null?void 0:t.lastRun);return e.jsxs(e.Fragment,{children:[e.jsxs(P,{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between mb-4",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(ee,{className:"w-5 h-5 text-blue-500"}),"Phase 2: ",s.formatMessage({id:"memory.v2.consolidation.title",defaultMessage:"Consolidation"})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-1",children:s.formatMessage({id:"memory.v2.consolidation.description",defaultMessage:"Merge extracted results into MEMORY.md"})}),v&&e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[s.formatMessage({id:"memory.v2.consolidation.lastRun",defaultMessage:"Last run"}),": ",v]})]}),t&&e.jsx(H,{status:t.status})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 mb-4",children:[e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold",children:t!=null&&t.memoryMdAvailable?"✅":"❌"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"MEMORY.md"})]}),e.jsxs("div",{className:"text-center p-2 bg-muted rounded",children:[e.jsx("div",{className:"text-lg font-bold",children:(t==null?void 0:t.inputCount)??"-"}),e.jsx("div",{className:"text-xs text-muted-foreground",children:"Inputs"})]})]}),(t==null?void 0:t.lastError)&&e.jsx("div",{className:"mb-4 p-2 bg-red-100 dark:bg-red-900/30 rounded text-xs text-red-800 dark:text-red-300",children:t.lastError}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(h,{onClick:c,disabled:o.isPending||j,size:"sm",children:o.isPending||j?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-1 animate-spin"}),s.formatMessage({id:"memory.v2.consolidation.consolidating",defaultMessage:"Consolidating..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(Ce,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.consolidation.trigger",defaultMessage:"Trigger Consolidation"})]})}),(t==null?void 0:t.memoryMdAvailable)&&e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>m(!0),children:[e.jsx(me,{className:"w-4 h-4 mr-1"}),s.formatMessage({id:"memory.v2.consolidation.preview",defaultMessage:"Preview"})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>i(),children:e.jsx(se,{className:T("w-4 h-4",a&&"animate-spin")})})]})]}),e.jsx(G,{open:r,onOpenChange:m,children:e.jsxs(W,{className:"max-w-4xl max-h-[80vh] overflow-hidden flex flex-col",children:[e.jsx(te,{children:e.jsxs(ae,{className:"flex items-center justify-between pr-8",children:[e.jsxs("span",{className:"flex items-center gap-2",children:[e.jsx(_e,{className:"w-5 h-5"}),"MEMORY.md"]}),e.jsx(h,{variant:"ghost",size:"sm",onClick:u,className:"h-8 px-2",title:d?s.formatMessage({id:"memory.v2.consolidation.copySuccess",defaultMessage:"Copied"}):s.formatMessage({id:"memory.actions.copy",defaultMessage:"Copy"}),children:d?e.jsx(Se,{className:"w-4 h-4 text-green-500"}):e.jsx($,{className:"w-4 h-4"})})]})}),e.jsx("div",{className:"overflow-auto flex-1 markdown-preview",children:e.jsx("div",{className:"prose prose-sm dark:prose-invert max-w-none",children:e.jsx(Ss,{remarkPlugins:[Fs],rehypePlugins:[Rs],children:(t==null?void 0:t.memoryMdPreview)||s.formatMessage({id:"memory.v2.consolidation.noContent",defaultMessage:"No content available"})})})})]})})]})}function lt(){const s=D(),[t,a]=p.useState(""),[i,o]=p.useState(""),[r,m]=p.useState(null),[d,x]=p.useState(!1),c={...t&&{kind:t},...i&&{status_filter:i}},{data:u,isLoading:j,refetch:v}=Re(Object.keys(c).length>0?c:void 0),g=f=>{if(!f)return"-";try{return new Date(f).toLocaleString()}catch{return"-"}},y=async()=>{if(r!=null&&r.last_error)try{await navigator.clipboard.writeText(r.last_error),x(!0),setTimeout(()=>x(!1),2e3)}catch(f){console.error("Failed to copy:",f)}};return e.jsxs(P,{className:"p-4",children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h3",{className:"font-medium flex items-center gap-2",children:[e.jsx(Ps,{className:"w-5 h-5 text-purple-500"}),s.formatMessage({id:"memory.v2.jobs.title",defaultMessage:"Jobs"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:t,onChange:f=>a(f.target.value),className:"px-2 py-1 text-sm border rounded bg-background",children:[e.jsx("option",{value:"",children:s.formatMessage({id:"memory.v2.jobs.allKinds",defaultMessage:"All Kinds"})}),e.jsx("option",{value:"phase1_extraction",children:s.formatMessage({id:"memory.v2.jobs.extraction",defaultMessage:"Extraction"})}),e.jsx("option",{value:"memory_consolidate_global",children:s.formatMessage({id:"memory.v2.jobs.consolidation",defaultMessage:"Consolidation"})})]}),e.jsxs("select",{value:i,onChange:f=>o(f.target.value),className:"px-2 py-1 text-sm border rounded bg-background",children:[e.jsx("option",{value:"",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.all",defaultMessage:"All Status"})}),e.jsx("option",{value:"pending",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.pending",defaultMessage:"Pending"})}),e.jsx("option",{value:"running",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.running",defaultMessage:"Running"})}),e.jsx("option",{value:"done",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.done",defaultMessage:"Done"})}),e.jsx("option",{value:"error",children:s.formatMessage({id:"memory.v2.jobs.statusFilter.error",defaultMessage:"Error"})})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:()=>v(),children:e.jsx(se,{className:T("w-4 h-4",j&&"animate-spin")})})]})]}),u!=null&&u.jobs&&u.jobs.length>0?e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b",children:[e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.kind",defaultMessage:"Kind"})}),e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.key",defaultMessage:"Key"})}),e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.status",defaultMessage:"Status"})}),e.jsx("th",{className:"text-left p-2",children:s.formatMessage({id:"memory.v2.jobs.error",defaultMessage:"Error"})})]})}),e.jsx("tbody",{children:u.jobs.map(f=>e.jsxs("tr",{className:"border-b cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>m(f),children:[e.jsx("td",{className:"p-2",children:e.jsx(_,{variant:"outline",className:"text-xs",children:f.kind==="phase1_extraction"?"Extraction":f.kind==="memory_consolidate_global"?"Consolidation":f.kind})}),e.jsx("td",{className:"p-2 font-mono text-xs truncate max-w-[150px]",children:f.job_key}),e.jsx("td",{className:"p-2",children:e.jsx(H,{status:f.status})}),e.jsx("td",{className:"p-2 text-red-500 text-xs truncate max-w-[200px]",children:f.last_error||"-"})]},`${f.kind}-${f.job_key}`))})]})}):e.jsx("div",{className:"text-center text-muted-foreground py-8",children:s.formatMessage({id:"memory.v2.jobs.noJobs",defaultMessage:"No jobs found"})}),(u==null?void 0:u.byStatus)&&Object.keys(u.byStatus).length>0&&e.jsxs("div",{className:"mt-4 pt-4 border-t flex items-center gap-4 text-sm flex-wrap",children:[Object.entries(u.byStatus).map(([f,N])=>e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(H,{status:f}),e.jsx("span",{className:"font-bold",children:N})]},f)),e.jsxs("span",{className:"text-muted-foreground ml-auto",children:["Total: ",u.total]})]}),e.jsx(G,{open:!!r,onOpenChange:()=>m(null),children:e.jsxs(W,{className:"max-w-2xl",children:[e.jsx(te,{children:e.jsx(ae,{children:s.formatMessage({id:"memory.v2.jobs.detail.title",defaultMessage:"Job Details"})})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.kind",defaultMessage:"Kind"})}),e.jsx("p",{className:"text-sm font-medium",children:(r==null?void 0:r.kind)==="phase1_extraction"?"Extraction":(r==null?void 0:r.kind)==="memory_consolidate_global"?"Consolidation":r==null?void 0:r.kind})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.status",defaultMessage:"Status"})}),e.jsx("div",{className:"mt-1",children:r&&e.jsx(H,{status:r.status})})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.jobKey",defaultMessage:"Job ID"})}),e.jsx("p",{className:"text-sm font-mono break-all",children:r==null?void 0:r.job_key})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.startedAt",defaultMessage:"Started At"})}),e.jsx("p",{className:"text-sm",children:g(r==null?void 0:r.started_at)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.finishedAt",defaultMessage:"Finished At"})}),e.jsx("p",{className:"text-sm",children:g(r==null?void 0:r.finished_at)})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.workerId",defaultMessage:"Worker ID"})}),e.jsx("p",{className:"text-sm font-mono truncate",children:(r==null?void 0:r.worker_id)||"-"})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.retryRemaining",defaultMessage:"Retry Remaining"})}),e.jsx("p",{className:"text-sm",children:(r==null?void 0:r.retry_remaining)??"-"})]})]}),(r==null?void 0:r.last_error)&&e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.error",defaultMessage:"Error"})}),e.jsx(h,{variant:"ghost",size:"sm",onClick:y,className:"h-6 px-2",title:d?s.formatMessage({id:"memory.actions.copySuccess",defaultMessage:"Copied"}):s.formatMessage({id:"memory.actions.copy",defaultMessage:"Copy"}),children:d?e.jsx(Se,{className:"w-3 h-3 text-green-500"}):e.jsx($,{className:"w-3 h-3"})})]}),e.jsx("pre",{className:"text-xs bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300 p-3 rounded overflow-auto max-h-40 whitespace-pre-wrap break-all",children:r.last_error})]}),!(r!=null&&r.last_error)&&e.jsxs("div",{children:[e.jsx("label",{className:"text-xs text-muted-foreground",children:s.formatMessage({id:"memory.v2.jobs.detail.error",defaultMessage:"Error"})}),e.jsx("p",{className:"text-sm text-muted-foreground italic",children:s.formatMessage({id:"memory.v2.jobs.detail.noError",defaultMessage:"No error"})})]})]})]})})]})}function ct(){const s=D(),{data:t}=Re(),a=(t==null?void 0:t.jobs)||[],i=a.filter(x=>x.status==="running"),o=a.filter(x=>x.status==="error"),r=i.length>0,m=o.length,d=i.length;return r?e.jsxs("div",{className:"mb-4 p-3 bg-blue-50 dark:bg-blue-950/30 border border-blue-200 dark:border-blue-800 rounded-lg flex items-center gap-2",children:[e.jsx(I,{className:"w-4 h-4 animate-spin text-blue-500"}),e.jsx("span",{className:"text-sm text-blue-700 dark:text-blue-300",children:s.formatMessage({id:"memory.v2.statusBanner.running",defaultMessage:"Pipeline Running - {count} job(s) in progress"},{count:d})})]}):m>0?e.jsxs("div",{className:"mb-4 p-3 bg-yellow-50 dark:bg-yellow-950/30 border border-yellow-200 dark:border-yellow-800 rounded-lg flex items-center gap-2",children:[e.jsx(ce,{className:"w-4 h-4 text-yellow-500"}),e.jsx("span",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:s.formatMessage({id:"memory.v2.statusBanner.hasErrors",defaultMessage:"Pipeline Idle - {count} job(s) failed"},{count:m})})]}):null}function dt(){return e.jsxs("div",{className:"space-y-4",children:[e.jsx(ct,{}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[e.jsx(nt,{}),e.jsx(ot,{})]}),e.jsx(lt,{})]})}const mt={core_memory:"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300",cli_history:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",workflow:"bg-purple-100 text-purple-800 dark:bg-purple-900/30 dark:text-purple-300",entity:"bg-orange-100 text-orange-800 dark:bg-orange-900/30 dark:text-orange-300",pattern:"bg-pink-100 text-pink-800 dark:bg-pink-900/30 dark:text-pink-300"},xt={core_memory:e.jsx(B,{className:"w-3 h-3"}),cli_history:e.jsx(zs,{className:"w-3 h-3"}),workflow:e.jsx(Ts,{className:"w-3 h-3"}),entity:e.jsx(ze,{className:"w-3 h-3"}),pattern:e.jsx(Fe,{className:"w-3 h-3"})};function Ae({sourceType:s}){const t=mt[s]||"bg-gray-100 text-gray-800 dark:bg-gray-900/30 dark:text-gray-300",a=xt[s]||e.jsx(ee,{className:"w-3 h-3"});return e.jsxs("span",{className:T("inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium",t),children:[a,s]})}function ut({memory:s,onView:t,onEdit:a,onDelete:i,onCopy:o,onToggleFavorite:r,onArchive:m,onUnarchive:d}){const x=new Date(s.createdAt).toLocaleDateString(),c=Y(s.metadata),u=c.favorite===!0,j=c.priority||"medium",v=s.archived||!1,g=s.size?s.size<1024?`${s.size} B`:`${(s.size/1024).toFixed(1)} KB`:"Unknown";return e.jsx(P,{className:"overflow-hidden",children:e.jsxs("div",{className:"p-4 cursor-pointer hover:bg-muted/50 transition-colors",onClick:()=>t(s),children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(B,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-sm font-medium text-foreground",children:s.id}),s.source&&e.jsx(_,{variant:"outline",className:"text-xs",children:s.source}),j!=="medium"&&e.jsx(_,{variant:j==="high"?"destructive":"secondary",className:"text-xs",children:j}),v&&e.jsx(_,{variant:"secondary",className:"text-xs",children:"Archived"})]}),e.jsxs("p",{className:"text-xs text-muted-foreground mt-1",children:[x," - ",g]})]})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(h,{variant:"ghost",size:"sm",className:T("h-8 w-8 p-0",u&&"text-yellow-500"),onClick:y=>{y.stopPropagation(),r(s)},children:e.jsx(Ee,{className:T("w-4 h-4",u&&"fill-current")})}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),o(s.content)},children:e.jsx($,{className:"w-4 h-4"})}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),a(s)},children:e.jsx(Ie,{className:"w-4 h-4"})}),v?e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),d(s)},children:e.jsx(Ds,{className:"w-4 h-4"})}):e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:y=>{y.stopPropagation(),m(s)},children:e.jsx(Te,{className:"w-4 h-4"})}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 text-destructive hover:text-destructive",onClick:y=>{y.stopPropagation(),i(s)},children:e.jsx(Es,{className:"w-4 h-4"})})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 line-clamp-2",children:s.content}),s.tags&&s.tags.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-1 mt-2",children:[s.tags.slice(0,5).map(y=>e.jsxs(_,{variant:"secondary",className:"text-xs",children:[e.jsx(de,{className:"w-3 h-3 mr-1"}),y]},y)),s.tags.length>5&&e.jsxs(_,{variant:"secondary",className:"text-xs",children:["+",s.tags.length-5]})]})]})})}function ht({result:s,onCopy:t}){const{formatMessage:a}=D(),i=(s.score*100).toFixed(1);return e.jsx(P,{className:"overflow-hidden",children:e.jsxs("div",{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"flex items-start gap-3 min-w-0 flex-1",children:[e.jsx(Ae,{sourceType:s.source_type}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("span",{className:"text-sm font-medium text-foreground truncate",children:s.source_id}),e.jsxs(_,{variant:"outline",className:"text-xs shrink-0",children:[a({id:"memory.unified.score"}),": ",i,"%"]})]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[s.rank_sources.vector_rank!=null&&e.jsx("span",{className:"text-xs text-muted-foreground",children:a({id:"memory.unified.vectorRank"},{rank:s.rank_sources.vector_rank})}),s.rank_sources.fts_rank!=null&&e.jsx("span",{className:"text-xs text-muted-foreground",children:a({id:"memory.unified.ftsRank"},{rank:s.rank_sources.fts_rank})}),s.rank_sources.heat_score!=null&&e.jsx("span",{className:"text-xs text-muted-foreground",children:a({id:"memory.unified.heatScore"},{score:s.rank_sources.heat_score.toFixed(2)})})]})]})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0 shrink-0",onClick:()=>t(s.content),children:e.jsx($,{className:"w-4 h-4"})})]}),e.jsx("p",{className:"text-sm text-muted-foreground mt-2 line-clamp-3",children:s.content})]})})}function gt({memoryId:s,onCopy:t}){const{formatMessage:a}=D(),{recommendations:i,isLoading:o}=Gs({memoryId:s,limit:5,enabled:!!s});return o?e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground py-2",children:[e.jsx(I,{className:"w-4 h-4 animate-spin"}),e.jsx("span",{className:"text-sm",children:a({id:"memory.unified.searching"})})]}):i.length===0?e.jsx("p",{className:"text-sm text-muted-foreground py-2",children:a({id:"memory.unified.noRecommendations"})}):e.jsx("div",{className:"space-y-2",children:i.map(r=>e.jsxs("div",{className:"flex items-start gap-2 p-2 rounded-md bg-muted/30 hover:bg-muted/50 transition-colors",children:[e.jsx(Ae,{sourceType:r.source_type}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-xs font-medium text-foreground truncate",children:r.source_id}),e.jsxs("span",{className:"text-xs text-muted-foreground shrink-0",children:[(r.score*100).toFixed(0),"%"]})]}),e.jsx("p",{className:"text-xs text-muted-foreground line-clamp-2 mt-0.5",children:r.content})]}),e.jsx(h,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0 shrink-0",onClick:()=>t(r.content),children:e.jsx($,{className:"w-3 h-3"})})]},r.source_id))})}function ft({memory:s,open:t,onOpenChange:a,onEdit:i,onCopy:o}){const{formatMessage:r}=D();if(!s)return null;const d=Y(s.metadata).priority||"medium",x=new Date(s.createdAt).toLocaleDateString(),c=s.size?s.size<1024?`${s.size} B`:`${(s.size/1024).toFixed(1)} KB`:"Unknown";return e.jsx(G,{open:t,onOpenChange:a,children:e.jsxs(W,{className:"max-w-3xl max-h-[80vh] flex flex-col",children:[e.jsxs(te,{children:[e.jsxs(ae,{className:"flex items-center gap-2",children:[e.jsx(B,{className:"w-5 h-5 text-primary"}),s.id]}),e.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[s.source&&e.jsx(_,{variant:"outline",className:"text-xs",children:s.source}),d!=="medium"&&e.jsx(_,{variant:d==="high"?"destructive":"secondary",className:"text-xs",children:d}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[x," - ",c]})]})]}),s.tags&&s.tags.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1",children:s.tags.map(u=>e.jsxs(_,{variant:"secondary",className:"text-xs",children:[e.jsx(de,{className:"w-3 h-3 mr-1"}),u]},u))}),e.jsx("div",{className:"flex-1 overflow-auto mt-2",children:e.jsx("pre",{className:"text-sm text-foreground whitespace-pre-wrap font-mono bg-muted/30 p-4 rounded-lg",children:s.content})}),e.jsxs("div",{className:"pt-2 border-t border-border",children:[e.jsxs("h4",{className:"text-sm font-medium text-foreground flex items-center gap-1.5 mb-2",children:[e.jsx(V,{className:"w-4 h-4 text-primary"}),r({id:"memory.unified.recommendations"})]}),e.jsx(gt,{memoryId:s.id,onCopy:o})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-border",children:[e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>o(s.content),children:[e.jsx($,{className:"w-4 h-4 mr-2"}),r({id:"memory.actions.copy"})]}),e.jsxs(h,{variant:"outline",size:"sm",onClick:()=>{a(!1),i(s)},children:[e.jsx(Ie,{className:"w-4 h-4 mr-2"}),r({id:"memory.actions.edit"})]})]})]})})}function jt({open:s,onOpenChange:t,onSubmit:a,isCreating:i,editingMemory:o}){var f;const{formatMessage:r}=D(),[m,d]=p.useState((o==null?void 0:o.content)||""),[x,c]=p.useState(((f=o==null?void 0:o.tags)==null?void 0:f.join(", "))||""),[u,j]=p.useState(!1),[v,g]=p.useState("medium");p.useEffect(()=>{var N;if(o){d(o.content||""),c(((N=o.tags)==null?void 0:N.join(", "))||"");const S=Y(o.metadata);j(S.favorite===!0),g(S.priority||"medium")}else d(""),c(""),j(!1),g("medium")},[o]);const y=N=>{if(N.preventDefault(),m.trim()){const S=x.split(",").map(n=>n.trim()).filter(Boolean),b={};u&&(b.favorite=!0),v!=="medium"&&(b.priority=v),a({content:m.trim(),tags:S.length>0?S:void 0,metadata:Object.keys(b).length>0?b:void 0}),d(""),c(""),j(!1),g("medium")}};return e.jsx(G,{open:s,onOpenChange:t,children:e.jsxs(W,{className:"max-w-2xl",children:[e.jsx(te,{children:e.jsx(ae,{children:r(o?{id:"memory.createDialog.editTitle"}:{id:"memory.createDialog.title"})})}),e.jsxs("form",{onSubmit:y,className:"space-y-4 mt-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:r({id:"memory.createDialog.labels.content"})}),e.jsx("textarea",{value:m,onChange:N=>d(N.target.value),placeholder:r({id:"memory.createDialog.placeholders.content"}),className:"mt-1 w-full min-h-[200px] p-3 bg-background border border-input rounded-md text-sm font-mono resize-none focus:outline-none focus:ring-2 focus:ring-primary",required:!0})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium text-foreground",children:r({id:"memory.createDialog.labels.tags"})}),e.jsx(J,{value:x,onChange:N=>c(N.target.value),placeholder:r({id:"memory.createDialog.placeholders.tags"}),className:"mt-1"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ne,{id:"favorite",checked:u,onCheckedChange:N=>j(N===!0)}),e.jsx("label",{htmlFor:"favorite",className:"text-sm font-medium cursor-pointer",children:r({id:"memory.createDialog.labels.favorite"})})]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm font-medium",children:r({id:"memory.createDialog.labels.priority"})}),e.jsxs("select",{value:v,onChange:N=>g(N.target.value),className:"mt-1 w-full p-2 bg-background border border-input rounded-md text-sm",children:[e.jsx("option",{value:"low",children:r({id:"memory.priority.low"})}),e.jsx("option",{value:"medium",children:r({id:"memory.priority.medium"})}),e.jsx("option",{value:"high",children:r({id:"memory.priority.high"})})]})]})]}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(h,{type:"button",variant:"outline",onClick:()=>t(!1),children:r({id:"memory.createDialog.buttons.cancel"})}),e.jsx(h,{type:"submit",disabled:i||!m.trim(),children:i?e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"w-4 h-4 mr-2 animate-spin"}),r(o?{id:"memory.createDialog.buttons.updating"}:{id:"memory.createDialog.buttons.creating"})]}):e.jsxs(e.Fragment,{children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),r(o?{id:"memory.createDialog.buttons.update"}:{id:"memory.createDialog.buttons.create"})]})})]})]})]})})}const pt=[{value:"",labelId:"memory.filters.categoryAll"},{value:"core_memory",labelId:"memory.filters.categoryCoreMemory"},{value:"cli_history",labelId:"memory.filters.categoryCliHistory"},{value:"workflow",labelId:"memory.filters.categoryWorkflow"},{value:"entity",labelId:"memory.filters.categoryEntity"},{value:"pattern",labelId:"memory.filters.categoryPattern"}];function Et(){const{formatMessage:s}=D(),[t,a]=p.useState(""),[i,o]=p.useState([]),[r,m]=p.useState(!1),[d,x]=p.useState(null),[c,u]=p.useState(null),[j,v]=p.useState("memories"),[g,y]=p.useState(""),[f,N]=p.useState(""),S=Me(_s),b=Me(l=>l.toggleImmersiveMode),n=j==="unifiedSearch",C=j==="favorites"?{favorite:!0}:void 0,F=j==="archived"?{archived:!0}:{archived:!1},{memories:L,totalSize:U,claudeMdCount:De,allTags:he,isLoading:Le,isFetching:Ke,error:Qe,refetch:Ue}=Ks({filter:{search:t||void 0,tags:i.length>0?i:void 0,...C,...F},enabled:!n}),{results:ge,total:Be,isLoading:fe,isFetching:Oe,error:$e,refetch:Ve}=Hs({query:g,categories:f||void 0,topK:20,enabled:n&&g.trim().length>0}),{stats:w,isLoading:Z,refetch:je}=Ys(),{reindex:He,isReindexing:re}=Ws(),{createMemory:Ye,updateMemory:pe,deleteMemory:Ge,archiveMemory:We,unarchiveMemory:Ze,isCreating:Xe,isUpdating:Je}=Vs(),es=async l=>{d?(await pe(d.id,l),x(null)):await Ye(l),m(!1)},ve=l=>{x(l),m(!0)},ss=async l=>{confirm(`Delete memory "${l.id}"?`)&&await Ge(l.id)},ts=async l=>{try{const E=Y(l.metadata),X=E.favorite!==!0;await pe(l.id,{content:l.content,metadata:{...E,favorite:X}}),q.success(s({id:X?"memory.actions.favoriteAdded":"memory.actions.favoriteRemoved"}))}catch(E){console.error("Failed to toggle favorite:",E),q.error(s({id:"memory.actions.favoriteError"}))}},as=async l=>{try{await We(l.id),q.success(s({id:"memory.actions.archiveSuccess"}))}catch(E){console.error("Failed to archive:",E),q.error(s({id:"memory.actions.archiveError"}))}},rs=async l=>{try{await Ze(l.id),q.success(s({id:"memory.actions.unarchiveSuccess"}))}catch(E){console.error("Failed to unarchive:",E),q.error(s({id:"memory.actions.unarchiveError"}))}},ie=async l=>{try{await navigator.clipboard.writeText(l),q.success(s({id:"memory.actions.copySuccess"}))}catch(E){console.error("Failed to copy:",E),q.error(s({id:"memory.actions.copyError"}))}},is=async()=>{try{await He(),q.success(s({id:"memory.unified.reindexSuccess"})),je()}catch(l){console.error("Failed to reindex:",l),q.error(s({id:"memory.unified.reindexError"}))}},ns=l=>{o(E=>E.includes(l)?E.filter(X=>X!==l):[...E,l])},os=U<1024?`${U} B`:U<1024*1024?`${(U/1024).toFixed(1)} KB`:`${(U/(1024*1024)).toFixed(1)} MB`,ye=()=>{n?(Ve(),je()):Ue()},Ne=n?Oe:Ke,be=n?$e:Qe;return e.jsxs("div",{className:T("space-y-6",S&&"h-screen overflow-hidden"),children:[e.jsxs("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs("h1",{className:"text-2xl font-bold text-foreground flex items-center gap-2",children:[e.jsx(B,{className:"w-6 h-6 text-primary"}),s({id:"memory.title"})]}),e.jsx("p",{className:"text-muted-foreground mt-1",children:s({id:"memory.description"})})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{onClick:b,className:T("p-2 rounded-md transition-colors",S?"bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground hover:bg-muted"),title:S?"Exit Fullscreen":"Fullscreen",children:S?e.jsx(qs,{className:"w-4 h-4"}):e.jsx(As,{className:"w-4 h-4"})}),n&&e.jsxs(h,{variant:"outline",onClick:is,disabled:re,children:[re?e.jsx(I,{className:"w-4 h-4 mr-2 animate-spin"}):e.jsx(V,{className:"w-4 h-4 mr-2"}),s({id:re?"memory.unified.reindexing":"memory.unified.reindex"})]}),e.jsxs(h,{variant:"outline",onClick:ye,disabled:Ne,children:[e.jsx(se,{className:T("w-4 h-4 mr-2",Ne&&"animate-spin")}),s({id:"common.actions.refresh"})]}),!n&&e.jsxs(h,{onClick:()=>{x(null),m(!0)},children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),s({id:"memory.actions.add"})]})]})]}),e.jsx(Is,{value:j,onValueChange:l=>v(l),tabs:[{value:"memories",label:s({id:"memory.tabs.memories"}),icon:e.jsx(B,{className:"h-4 w-4"})},{value:"favorites",label:s({id:"memory.tabs.favorites"}),icon:e.jsx(Ee,{className:"h-4 w-4"})},{value:"archived",label:s({id:"memory.tabs.archived"}),icon:e.jsx(Te,{className:"h-4 w-4"})},{value:"unifiedSearch",label:s({id:"memory.tabs.unifiedSearch"}),icon:e.jsx(O,{className:"h-4 w-4"})},{value:"v2pipeline",label:"V2 Pipeline",icon:e.jsx(V,{className:"h-4 w-4"})}]}),be&&e.jsxs("div",{className:"flex items-center gap-2 p-4 rounded-lg bg-destructive/10 border border-destructive/30 text-destructive",children:[e.jsx(ce,{className:"h-5 w-5 flex-shrink-0"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-sm font-medium",children:s({id:"common.errors.loadFailed"})}),e.jsx("p",{className:"text-xs mt-0.5",children:be.message})]}),e.jsx(h,{variant:"outline",size:"sm",onClick:ye,children:s({id:"home.errors.retry"})})]}),n?e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4",children:[e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(ee,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":(w==null?void 0:w.core_memories.total)??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.count"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-orange-500/10",children:e.jsx(ze,{className:"w-5 h-5 text-orange-500"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":(w==null?void 0:w.entities)??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.entities"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-blue-500/10",children:e.jsx(Fe,{className:"w-5 h-5 text-blue-500"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":(w==null?void 0:w.vector_index.total_chunks)??0}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.vectorChunks"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:T("p-2 rounded-lg",w!=null&&w.vector_index.hnsw_available?"bg-green-500/10":"bg-muted"),children:e.jsx(V,{className:T("w-5 h-5",w!=null&&w.vector_index.hnsw_available?"text-green-500":"text-muted-foreground")})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:Z?"-":w!=null&&w.vector_index.hnsw_available?w.vector_index.hnsw_count:"N/A"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.hnswStatus"})})]})]})})]}):e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-primary/10",children:e.jsx(ee,{className:"w-5 h-5 text-primary"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:L.length}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.count"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-info/10",children:e.jsx(_e,{className:"w-5 h-5 text-info"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:De}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.claudeMdCount"})})]})]})}),e.jsx(P,{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"p-2 rounded-lg bg-success/10",children:e.jsx(B,{className:"w-5 h-5 text-success"})}),e.jsxs("div",{children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:os}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.stats.totalSize"})})]})]})})]}),n?e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex gap-3",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(O,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(J,{placeholder:s({id:"memory.filters.searchUnified"}),value:g,onChange:l=>y(l.target.value),className:"pl-9"})]}),e.jsx("select",{value:f,onChange:l=>N(l.target.value),className:"px-3 py-2 bg-background border border-input rounded-md text-sm min-w-[160px]",children:pt.map(l=>e.jsx("option",{value:l.value,children:s({id:l.labelId})},l.value))})]}),g.trim().length>0&&!fe&&e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"memory.unified.resultCount"},{count:Be})})]}):e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"relative",children:[e.jsx(O,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted-foreground"}),e.jsx(J,{placeholder:s({id:"memory.filters.search"}),value:t,onChange:l=>a(l.target.value),className:"pl-9"})]}),he.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs("span",{className:"text-sm text-muted-foreground py-1",children:[s({id:"memory.card.tags"}),":"]}),he.map(l=>e.jsxs(h,{variant:i.includes(l)?"default":"outline",size:"sm",className:"h-7",onClick:()=>ns(l),children:[e.jsx(de,{className:"w-3 h-3 mr-1"}),l]},l)),i.length>0&&e.jsx(h,{variant:"ghost",size:"sm",className:"h-7",onClick:()=>o([]),children:s({id:"memory.filters.clear"})})]})]}),j==="v2pipeline"?e.jsx(dt,{}):n?fe?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(I,{className:"w-6 h-6 animate-spin text-primary mr-2"}),e.jsx("span",{className:"text-muted-foreground",children:s({id:"memory.unified.searching"})})]}):g.trim().length===0?e.jsxs(P,{className:"p-8 text-center",children:[e.jsx(O,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsx("h3",{className:"mt-4 text-lg font-medium text-foreground",children:s({id:"memory.tabs.unifiedSearch"})}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s({id:"memory.filters.searchUnified"})})]}):ge.length===0?e.jsxs(P,{className:"p-8 text-center",children:[e.jsx(O,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsx("h3",{className:"mt-4 text-lg font-medium text-foreground",children:s({id:"memory.unified.noResults"})})]}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:ge.map(l=>e.jsx(ht,{result:l,onCopy:ie},`${l.source_type}-${l.source_id}`))}):Le?e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[1,2,3,4,5,6].map(l=>e.jsx("div",{className:"h-64 bg-muted animate-pulse rounded-lg"},l))}):L.length===0?e.jsxs(P,{className:"p-8 text-center",children:[e.jsx(B,{className:"w-12 h-12 mx-auto text-muted-foreground/50"}),e.jsx("h3",{className:"mt-4 text-lg font-medium text-foreground",children:s({id:"memory.emptyState.title"})}),e.jsx("p",{className:"mt-2 text-muted-foreground",children:s({id:"memory.emptyState.message"})}),e.jsxs(h,{className:"mt-4",onClick:()=>{x(null),m(!0)},children:[e.jsx(le,{className:"w-4 h-4 mr-2"}),s({id:"memory.emptyState.createFirst"})]})]}):e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:L.map(l=>e.jsx(ut,{memory:l,onView:u,onEdit:ve,onDelete:ss,onCopy:ie,onToggleFavorite:ts,onArchive:as,onUnarchive:rs},l.id))}),e.jsx(ft,{memory:c,open:c!==null,onOpenChange:l=>{l||u(null)},onEdit:ve,onCopy:ie}),e.jsx(jt,{open:r,onOpenChange:l=>{m(l),l||x(null)},onSubmit:es,isCreating:Xe||Je,editingMemory:d})]})}export{Et as MemoryPage,Et as default};
|
|
2
|
+
//# sourceMappingURL=MemoryPage-CJqo_7DY.js.map
|