ltcai 11.5.2 → 11.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -148
- package/bin/ltcai.js +234 -24
- package/docs/CHANGELOG.md +75 -0
- package/docs/COMMUNITY_AND_PLUGINS.md +1 -1
- package/docs/DEVELOPMENT.md +8 -6
- package/docs/ENTERPRISE.md +2 -1
- package/docs/MULTI_AGENT_RUNTIME.md +12 -5
- package/docs/ONBOARDING.md +1 -1
- package/docs/OPERATIONS.md +6 -3
- package/docs/REALTIME_COLLABORATION.md +1 -1
- package/docs/TRUST_MODEL.md +1 -1
- package/docs/WHY_LATTICE.md +1 -1
- package/docs/WORKFLOW_DESIGNER.md +3 -2
- package/docs/kg-schema.md +1 -1
- package/docs/v11.6.0_ONE_DOOR_PLAN.md +170 -0
- package/lattice_brain/__init__.py +42 -79
- package/lattice_brain/graph/__init__.py +9 -24
- package/lattice_brain/graph/_kg_common/__init__.py +13 -24
- package/lattice_brain/ingestion/__init__.py +19 -58
- package/lattice_brain/ingestion/pipeline.py +20 -398
- package/lattice_brain/multimodal/__init__.py +7 -18
- package/lattice_brain/multimodal/images.py +6 -264
- package/lattice_brain/multimodal/video.py +8 -247
- package/lattice_brain/runtime/__init__.py +8 -79
- package/lattice_brain/runtime/hooks.py +22 -584
- package/latticeai/__init__.py +1 -1
- package/latticeai/api/agent_worker_seam.py +7 -80
- package/latticeai/api/health.py +6 -20
- package/latticeai/api/local_files.py +16 -613
- package/latticeai/api/models.py +12 -87
- package/latticeai/api/search.py +17 -255
- package/latticeai/api/tools.py +69 -750
- package/latticeai/api/voice_capture.py +8 -70
- package/latticeai/api/worker_compute.py +842 -0
- package/latticeai/api/worker_seams.py +216 -0
- package/latticeai/app_factory.py +23 -232
- package/latticeai/cli/entrypoint.py +36 -249
- package/latticeai/core/agent_permission.py +16 -91
- package/latticeai/core/messages.py +89 -531
- package/latticeai/runtime/access_runtime.py +0 -14
- package/latticeai/runtime/bootstrap.py +10 -21
- package/latticeai/runtime/brain_runtime.py +35 -43
- package/latticeai/runtime/build_phases/__init__.py +21 -37
- package/latticeai/runtime/build_phases/features.py +99 -389
- package/latticeai/runtime/build_phases/foundation.py +82 -392
- package/latticeai/runtime/build_phases/web.py +91 -408
- package/latticeai/runtime/build_phases/worker_profile.py +244 -0
- package/latticeai/runtime/lifespan_runtime.py +7 -16
- package/latticeai/runtime/platform_services_runtime.py +1 -15
- package/latticeai/runtime/runtime_context.py +13 -130
- package/latticeai/runtime/security_runtime.py +10 -103
- package/latticeai/services/architecture_readiness.py +82 -43
- package/latticeai/services/model_runtime/__init__.py +2 -11
- package/latticeai/services/model_runtime/service.py +4 -28
- package/latticeai/services/p_reinforce.py +10 -261
- package/latticeai/services/product_readiness.py +31 -38
- package/latticeai/services/search_service.py +37 -795
- package/latticeai/services/tool_dispatch.py +30 -386
- package/latticeai/services/voice_capture.py +13 -107
- package/latticeai/tools/__init__.py +22 -49
- package/latticeai/tools/commands.py +0 -163
- package/latticeai/tools/computer.py +0 -39
- package/latticeai/tools/documents.py +1 -134
- package/latticeai/tools/filesystem.py +1 -247
- package/latticeai/tools/knowledge.py +1 -52
- package/latticeai/tools/local_files.py +0 -20
- package/latticeai/worker_app.py +75 -0
- package/package.json +2 -3
- package/requirements.txt +0 -5
- package/scripts/agent_eval.py +16 -28
- package/scripts/brain_quality_eval.py +20 -183
- package/scripts/bump_version.py +5 -5
- package/scripts/check_current_release_docs.mjs +7 -4
- package/scripts/check_openapi_drift.mjs +10 -0
- package/scripts/check_server_i18n.mjs +2 -18
- package/scripts/compose_openapi.py +377 -0
- package/scripts/export_openapi.py +32 -4
- package/scripts/gen_messages_catalog_fixture.py +302 -0
- package/scripts/gen_openapi_fragments.py +365 -0
- package/scripts/gen_redact_fixture.py +196 -0
- package/scripts/gen_worker_allowlist_fixture.py +115 -0
- package/scripts/generate_agent_parity_fixtures.py +33 -14
- package/scripts/openapi_route_families.json +2161 -0
- package/scripts/release_screen_claims.json +21 -0
- package/scripts/run_integration_tests.mjs +134 -29
- package/scripts/run_sidecar_e2e.mjs +104 -11
- package/scripts/wheel_smoke.py +32 -22
- package/src-tauri/Cargo.lock +375 -9
- package/src-tauri/Cargo.toml +1 -1
- package/src-tauri/src/backend.rs +151 -45
- package/src-tauri/src/main.rs +18 -18
- package/src-tauri/src/topology.rs +58 -88
- package/src-tauri/tauri.conf.json +1 -2
- package/static/app/asset-manifest.json +41 -41
- package/static/app/assets/{Act-DcQizkl1.js → Act-CToZnOHz.js} +1 -1
- package/static/app/assets/{AdminConsole-cf4npybT.js → AdminConsole-D5kbrBu8.js} +1 -1
- package/static/app/assets/{Brain-3VCSHFcn.js → Brain-C6zCdv4S.js} +1 -1
- package/static/app/assets/{BrainHome-Qm8eaztx.js → BrainHome-D4n3EDUt.js} +1 -1
- package/static/app/assets/{BrainSignals-DS9BtKOW.js → BrainSignals-CzeZ-vQ9.js} +1 -1
- package/static/app/assets/{Capture-DiQ219jW.js → Capture-DPcyTczq.js} +1 -1
- package/static/app/assets/{Chronicle-BGvuAchH.js → Chronicle-D3Nx-oWS.js} +1 -1
- package/static/app/assets/{CommandPalette-Bqhm0Urn.js → CommandPalette-DPPvpp28.js} +1 -1
- package/static/app/assets/{Library-BV6NnF0a.js → Library-Co2qTu3I.js} +1 -1
- package/static/app/assets/{LivingBrain-GzenJchP.js → LivingBrain-Bsmzwy8_.js} +1 -1
- package/static/app/assets/{ProductFlow-DEP6-vML.js → ProductFlow-CBLdmesT.js} +1 -1
- package/static/app/assets/{ReviewCard-CNZ7XjWG.js → ReviewCard-CfR6DLs7.js} +1 -1
- package/static/app/assets/{System-CieofHQa.js → System-Ce-P2YL6.js} +1 -1
- package/static/app/assets/arrow-left-DD5jFGHV.js +1 -0
- package/static/app/assets/{bot-B_K1Tdmw.js → bot-C5-XIww2.js} +1 -1
- package/static/app/assets/{brain-DWyaV1L1.js → brain-CFRJUvdX.js} +1 -1
- package/static/app/assets/{button-aTn4s84A.js → button-DI1KcQP-.js} +1 -1
- package/static/app/assets/circle-check-CY20XMCh.js +1 -0
- package/static/app/assets/{circle-pause-xKgeGXkT.js → circle-pause-C8HHyood.js} +1 -1
- package/static/app/assets/{circle-play-DkT6tYPX.js → circle-play-Cufc235E.js} +1 -1
- package/static/app/assets/{cpu-85xYObUC.js → cpu-DW2_JVsv.js} +1 -1
- package/static/app/assets/{download-B5Fm7YXo.js → download-gbdKTBb8.js} +1 -1
- package/static/app/assets/{folder-open-kk2Xa52u.js → folder-open-C9ydyX33.js} +1 -1
- package/static/app/assets/{hard-drive-DkA3zBW_.js → hard-drive-BxNMzBM3.js} +1 -1
- package/static/app/assets/index-BovSWRmQ.css +2 -0
- package/static/app/assets/{index-BMPdTmlY.js → index-q9XyDY7A.js} +3 -3
- package/static/app/assets/{input-B0nRf2jO.js → input-GLD94Y_K.js} +1 -1
- package/static/app/assets/{link-2-Dwb4gnTc.js → link-2-B4Y0gz1S.js} +1 -1
- package/static/app/assets/{permissionCopy-CQDUBrOZ.js → permissionCopy-CxrV0fvU.js} +1 -1
- package/static/app/assets/{primitives-SNp0LRJz.js → primitives-2ANdAsu2.js} +1 -1
- package/static/app/assets/search-DTxtjQ07.js +1 -0
- package/static/app/assets/{share-2-BsrxFglO.js → share-2-DxArfiuI.js} +1 -1
- package/static/app/assets/{shield-alert-5BStfp2_.js → shield-alert-CgftuFFs.js} +1 -1
- package/static/app/assets/{textarea-Cg8IUA-k.js → textarea-BHVBAoCr.js} +1 -1
- package/static/app/assets/{useFocusTrap-CYKvE46M.js → useFocusTrap-Dzq2j_OG.js} +1 -1
- package/static/app/assets/{useMutation-CSn9t1op.js → useMutation-BcqfMLNq.js} +1 -1
- package/static/app/assets/{useQuery-CY2OI2uy.js → useQuery-DBzLKCOv.js} +1 -1
- package/static/app/assets/{utils-Ddol2RWD.js → utils-B-Aah1bO.js} +1 -1
- package/static/app/assets/{workspace-BqDwOz_p.js → workspace-B6fFhoko.js} +1 -1
- package/static/app/index.html +4 -4
- package/static/sw.js +1 -1
- package/lattice_brain/archive.py +0 -522
- package/lattice_brain/context.py +0 -325
- package/lattice_brain/conversations.py +0 -382
- package/lattice_brain/core.py +0 -82
- package/lattice_brain/graph/_kg_contract.py +0 -249
- package/lattice_brain/graph/curator.py +0 -676
- package/lattice_brain/graph/discovery.py +0 -595
- package/lattice_brain/graph/discovery_index/__init__.py +0 -35
- package/lattice_brain/graph/discovery_index/cleanup.py +0 -182
- package/lattice_brain/graph/discovery_index/extract.py +0 -137
- package/lattice_brain/graph/discovery_index/scan.py +0 -411
- package/lattice_brain/graph/discovery_index/upsert.py +0 -495
- package/lattice_brain/graph/documents.py +0 -380
- package/lattice_brain/graph/fusion.py +0 -395
- package/lattice_brain/graph/identity.py +0 -175
- package/lattice_brain/graph/image_vectors.py +0 -230
- package/lattice_brain/graph/ingest.py +0 -829
- package/lattice_brain/graph/network.py +0 -205
- package/lattice_brain/graph/proactive.py +0 -724
- package/lattice_brain/graph/projection/__init__.py +0 -42
- package/lattice_brain/graph/projection/curation.py +0 -500
- package/lattice_brain/graph/projection/v2_schema.py +0 -518
- package/lattice_brain/graph/provenance.py +0 -524
- package/lattice_brain/graph/rerank.py +0 -163
- package/lattice_brain/graph/retrieval/__init__.py +0 -54
- package/lattice_brain/graph/retrieval/context.py +0 -197
- package/lattice_brain/graph/retrieval/graph_view.py +0 -319
- package/lattice_brain/graph/retrieval/hybrid.py +0 -488
- package/lattice_brain/graph/retrieval/maintenance.py +0 -121
- package/lattice_brain/graph/retrieval/signals.py +0 -95
- package/lattice_brain/graph/retrieval_docgen.py +0 -253
- package/lattice_brain/graph/retrieval_policy.py +0 -180
- package/lattice_brain/graph/retrieval_reads.py +0 -769
- package/lattice_brain/graph/retrieval_vector/__init__.py +0 -42
- package/lattice_brain/graph/retrieval_vector/fingerprint.py +0 -97
- package/lattice_brain/graph/retrieval_vector/indexing.py +0 -347
- package/lattice_brain/graph/retrieval_vector/search.py +0 -560
- package/lattice_brain/graph/retrieval_vector/status.py +0 -374
- package/lattice_brain/graph/schema.py +0 -792
- package/lattice_brain/graph/store.py +0 -268
- package/lattice_brain/graph/vector_index/__init__.py +0 -85
- package/lattice_brain/graph/vector_index/base.py +0 -167
- package/lattice_brain/graph/vector_index/brute_force.py +0 -110
- package/lattice_brain/graph/vector_index/hnsw.py +0 -290
- package/lattice_brain/graph/vector_index/jobs.py +0 -287
- package/lattice_brain/graph/vector_index/quantized.py +0 -148
- package/lattice_brain/graph/vector_index/selector.py +0 -161
- package/lattice_brain/graph/write_master.py +0 -308
- package/lattice_brain/ingestion/_contract.py +0 -90
- package/lattice_brain/ingestion/folder_scan.py +0 -57
- package/lattice_brain/ingestion/folders.py +0 -258
- package/lattice_brain/ingestion/jobs_api.py +0 -107
- package/lattice_brain/ingestion/routing.py +0 -295
- package/lattice_brain/ingestion_jobs.py +0 -380
- package/lattice_brain/memory.py +0 -75
- package/lattice_brain/portability/__init__.py +0 -90
- package/lattice_brain/portability/_contract.py +0 -42
- package/lattice_brain/portability/backups.py +0 -338
- package/lattice_brain/portability/bundles.py +0 -136
- package/lattice_brain/portability/constants.py +0 -93
- package/lattice_brain/portability/fsops.py +0 -138
- package/lattice_brain/portability/service.py +0 -41
- package/lattice_brain/portability/sharing.py +0 -710
- package/lattice_brain/quality.py +0 -543
- package/lattice_brain/retrieval_benchmark_fixtures.py +0 -92
- package/lattice_brain/runtime/agent_runtime.py +0 -859
- package/lattice_brain/runtime/contracts.py +0 -460
- package/lattice_brain/runtime/multi_agent.py +0 -942
- package/lattice_brain/runtime/statuses.py +0 -10
- package/lattice_brain/sealed_box.py +0 -240
- package/lattice_brain/self_model.py +0 -675
- package/lattice_brain/sensitivity.py +0 -94
- package/lattice_brain/storage/__init__.py +0 -22
- package/lattice_brain/storage/base.py +0 -100
- package/lattice_brain/storage/docker.py +0 -105
- package/lattice_brain/storage/factory.py +0 -31
- package/lattice_brain/storage/migration.py +0 -191
- package/lattice_brain/storage/postgres.py +0 -123
- package/lattice_brain/storage/sqlite.py +0 -143
- package/lattice_brain/synthesis.py +0 -824
- package/lattice_brain/workflow.py +0 -497
- package/latticeai/api/admin.py +0 -471
- package/latticeai/api/agent_registry.py +0 -105
- package/latticeai/api/agents.py +0 -228
- package/latticeai/api/auth.py +0 -383
- package/latticeai/api/automation_intelligence.py +0 -401
- package/latticeai/api/brain_intelligence.py +0 -199
- package/latticeai/api/browser.py +0 -493
- package/latticeai/api/change_proposals.py +0 -89
- package/latticeai/api/chat.py +0 -572
- package/latticeai/api/chat_agent_http.py +0 -892
- package/latticeai/api/chat_contracts.py +0 -73
- package/latticeai/api/chat_documents.py +0 -276
- package/latticeai/api/chat_helpers.py +0 -460
- package/latticeai/api/chat_history.py +0 -101
- package/latticeai/api/chat_hybrid.py +0 -113
- package/latticeai/api/chat_intents.py +0 -646
- package/latticeai/api/chat_stream.py +0 -216
- package/latticeai/api/chronicle.py +0 -63
- package/latticeai/api/command_center.py +0 -51
- package/latticeai/api/computer_use.py +0 -474
- package/latticeai/api/evidence_actions.py +0 -48
- package/latticeai/api/features.py +0 -70
- package/latticeai/api/funnel_metrics.py +0 -31
- package/latticeai/api/garden.py +0 -34
- package/latticeai/api/hooks.py +0 -165
- package/latticeai/api/index_jobs.py +0 -145
- package/latticeai/api/invitations.py +0 -100
- package/latticeai/api/knowledge_graph.py +0 -536
- package/latticeai/api/marketplace.py +0 -105
- package/latticeai/api/mcp.py +0 -482
- package/latticeai/api/memory.py +0 -270
- package/latticeai/api/network.py +0 -81
- package/latticeai/api/network_boundary.py +0 -225
- package/latticeai/api/permission_mode.py +0 -61
- package/latticeai/api/permissions.py +0 -436
- package/latticeai/api/plugins.py +0 -126
- package/latticeai/api/portability.py +0 -391
- package/latticeai/api/project_sessions.py +0 -114
- package/latticeai/api/realtime.py +0 -118
- package/latticeai/api/review_queue.py +0 -364
- package/latticeai/api/security_dashboard.py +0 -604
- package/latticeai/api/setup.py +0 -319
- package/latticeai/api/static_routes.py +0 -354
- package/latticeai/api/ui_redirects.py +0 -26
- package/latticeai/api/workflow_designer.py +0 -394
- package/latticeai/api/workspace.py +0 -856
- package/latticeai/api/workspace_scope.py +0 -125
- package/latticeai/core/agent/__init__.py +0 -93
- package/latticeai/core/agent/_contract.py +0 -79
- package/latticeai/core/agent/context.py +0 -57
- package/latticeai/core/agent/deps.py +0 -125
- package/latticeai/core/agent/execution.py +0 -622
- package/latticeai/core/agent/planning.py +0 -145
- package/latticeai/core/agent/recovery.py +0 -157
- package/latticeai/core/agent/runtime.py +0 -210
- package/latticeai/core/agent/verification.py +0 -231
- package/latticeai/core/agent_eval.py +0 -739
- package/latticeai/core/agent_helpers.py +0 -493
- package/latticeai/core/agent_profiles.py +0 -110
- package/latticeai/core/agent_prompts.py +0 -171
- package/latticeai/core/agent_registry.py +0 -232
- package/latticeai/core/agent_state.py +0 -41
- package/latticeai/core/agent_trace.py +0 -104
- package/latticeai/core/artifact_ledger.py +0 -109
- package/latticeai/core/audit.py +0 -260
- package/latticeai/core/builtin_hooks.py +0 -105
- package/latticeai/core/context_builder.py +0 -394
- package/latticeai/core/document_generator.py +0 -103
- package/latticeai/core/enterprise.py +0 -154
- package/latticeai/core/enterprise_admin.py +0 -158
- package/latticeai/core/file_generation/__init__.py +0 -115
- package/latticeai/core/file_generation/bundles.py +0 -76
- package/latticeai/core/file_generation/extraction.py +0 -154
- package/latticeai/core/file_generation/inference.py +0 -235
- package/latticeai/core/file_generation/orchestration.py +0 -152
- package/latticeai/core/file_generation/prompting.py +0 -117
- package/latticeai/core/file_generation/repair.py +0 -114
- package/latticeai/core/file_generation/sanitize.py +0 -61
- package/latticeai/core/file_generation/validation.py +0 -201
- package/latticeai/core/invitations.py +0 -132
- package/latticeai/core/legacy_compatibility.py +0 -243
- package/latticeai/core/logging_safety.py +0 -46
- package/latticeai/core/marketplace.py +0 -293
- package/latticeai/core/mcp_catalog.py +0 -452
- package/latticeai/core/mcp_registry.py +0 -506
- package/latticeai/core/network_boundary.py +0 -168
- package/latticeai/core/oidc.py +0 -208
- package/latticeai/core/plugins.py +0 -432
- package/latticeai/core/product_hardening.py +0 -218
- package/latticeai/core/project_sessions.py +0 -337
- package/latticeai/core/realtime.py +0 -238
- package/latticeai/core/run_explain.py +0 -426
- package/latticeai/core/run_store.py +0 -252
- package/latticeai/core/timezones.py +0 -80
- package/latticeai/core/workspace_computer_memory.py +0 -84
- package/latticeai/core/workspace_graph_trace.py +0 -155
- package/latticeai/core/workspace_indexing.py +0 -102
- package/latticeai/core/workspace_memory.py +0 -77
- package/latticeai/core/workspace_onboarding.py +0 -104
- package/latticeai/core/workspace_os.py +0 -978
- package/latticeai/core/workspace_os_constants.py +0 -126
- package/latticeai/core/workspace_os_state.py +0 -180
- package/latticeai/core/workspace_os_utils.py +0 -103
- package/latticeai/core/workspace_permissions.py +0 -101
- package/latticeai/core/workspace_plugins.py +0 -97
- package/latticeai/core/workspace_relationships.py +0 -99
- package/latticeai/core/workspace_reorganization.py +0 -335
- package/latticeai/core/workspace_review_items.py +0 -112
- package/latticeai/core/workspace_runs.py +0 -726
- package/latticeai/core/workspace_skills.py +0 -109
- package/latticeai/core/workspace_snapshots.py +0 -198
- package/latticeai/core/workspace_timeline.py +0 -110
- package/latticeai/integrations/__init__.py +0 -0
- package/latticeai/integrations/telegram_bot/__init__.py +0 -123
- package/latticeai/integrations/telegram_bot/__main__.py +0 -17
- package/latticeai/integrations/telegram_bot/config.py +0 -86
- package/latticeai/integrations/telegram_bot/dispatch.py +0 -311
- package/latticeai/integrations/telegram_bot/flows.py +0 -478
- package/latticeai/integrations/telegram_bot/helpers.py +0 -322
- package/latticeai/integrations/telegram_bot/screens.py +0 -394
- package/latticeai/runtime/audit_runtime.py +0 -76
- package/latticeai/runtime/automation_runtime.py +0 -81
- package/latticeai/runtime/chat_wiring.py +0 -141
- package/latticeai/runtime/context_runtime.py +0 -66
- package/latticeai/runtime/feature_toggle_wiring.py +0 -157
- package/latticeai/runtime/history_runtime.py +0 -163
- package/latticeai/runtime/history_writer.py +0 -138
- package/latticeai/runtime/hooks_runtime.py +0 -77
- package/latticeai/runtime/model_wiring.py +0 -68
- package/latticeai/runtime/namespace_runtime.py +0 -163
- package/latticeai/runtime/network_boundary_wiring.py +0 -117
- package/latticeai/runtime/network_config_runtime.py +0 -56
- package/latticeai/runtime/permission_mode_wiring.py +0 -112
- package/latticeai/runtime/persistence_runtime.py +0 -159
- package/latticeai/runtime/platform_runtime_wiring.py +0 -89
- package/latticeai/runtime/review_wiring.py +0 -42
- package/latticeai/runtime/router_registration.py +0 -693
- package/latticeai/runtime/service_singletons.py +0 -55
- package/latticeai/runtime/sso_config_runtime.py +0 -128
- package/latticeai/runtime/user_key_runtime.py +0 -106
- package/latticeai/runtime/web_runtime.py +0 -92
- package/latticeai/server_app.py +0 -51
- package/latticeai/services/app_context.py +0 -130
- package/latticeai/services/automation_execution.py +0 -266
- package/latticeai/services/automation_intelligence.py +0 -614
- package/latticeai/services/brain_automation.py +0 -191
- package/latticeai/services/brain_intelligence/__init__.py +0 -58
- package/latticeai/services/brain_intelligence/_contract.py +0 -71
- package/latticeai/services/brain_intelligence/consistency.py +0 -193
- package/latticeai/services/brain_intelligence/constants.py +0 -47
- package/latticeai/services/brain_intelligence/digest.py +0 -258
- package/latticeai/services/brain_intelligence/health.py +0 -331
- package/latticeai/services/brain_intelligence/proposals.py +0 -259
- package/latticeai/services/brain_intelligence/sampling.py +0 -84
- package/latticeai/services/brain_intelligence/service.py +0 -48
- package/latticeai/services/change_proposals.py +0 -471
- package/latticeai/services/chat_service.py +0 -243
- package/latticeai/services/chronicle.py +0 -555
- package/latticeai/services/cloud_egress_audit.py +0 -85
- package/latticeai/services/cloud_extraction.py +0 -129
- package/latticeai/services/cloud_streaming.py +0 -268
- package/latticeai/services/cloud_token_guard.py +0 -84
- package/latticeai/services/command_center.py +0 -548
- package/latticeai/services/evidence_actions.py +0 -258
- package/latticeai/services/feature_toggles.py +0 -502
- package/latticeai/services/folder_watch.py +0 -520
- package/latticeai/services/funnel_metrics.py +0 -307
- package/latticeai/services/hybrid_chat.py +0 -316
- package/latticeai/services/hybrid_context.py +0 -228
- package/latticeai/services/hybrid_policy.py +0 -129
- package/latticeai/services/interop_bridges.py +0 -978
- package/latticeai/services/local_knowledge.py +0 -465
- package/latticeai/services/memory_service/__init__.py +0 -52
- package/latticeai/services/memory_service/_contract.py +0 -100
- package/latticeai/services/memory_service/brief.py +0 -431
- package/latticeai/services/memory_service/constants.py +0 -57
- package/latticeai/services/memory_service/maintenance.py +0 -138
- package/latticeai/services/memory_service/manager.py +0 -186
- package/latticeai/services/memory_service/proof.py +0 -136
- package/latticeai/services/memory_service/recall.py +0 -225
- package/latticeai/services/memory_service/service.py +0 -48
- package/latticeai/services/memory_service/stores.py +0 -110
- package/latticeai/services/mode_store.py +0 -132
- package/latticeai/services/model_recommendation.py +0 -224
- package/latticeai/services/model_runtime/cloud.py +0 -87
- package/latticeai/services/network_boundary_service.py +0 -117
- package/latticeai/services/obsidian_bridge.py +0 -609
- package/latticeai/services/openai_compatible_adapter.py +0 -101
- package/latticeai/services/permission_mode_service.py +0 -122
- package/latticeai/services/platform_runtime.py +0 -366
- package/latticeai/services/review_queue.py +0 -380
- package/latticeai/services/router_context.py +0 -59
- package/latticeai/services/run_executor.py +0 -387
- package/latticeai/services/self_model_service.py +0 -171
- package/latticeai/services/setup_detection.py +0 -147
- package/latticeai/services/triggers.py +0 -378
- package/latticeai/services/upload_service.py +0 -172
- package/latticeai/services/workspace_service.py +0 -165
- package/latticeai/setup/__init__.py +0 -25
- package/latticeai/setup/auto_setup.py +0 -846
- package/latticeai/setup/demo_corpus.py +0 -98
- package/latticeai/setup/wizard/__init__.py +0 -126
- package/latticeai/setup/wizard/catalog.py +0 -175
- package/latticeai/setup/wizard/detect.py +0 -302
- package/latticeai/setup/wizard/install.py +0 -348
- package/latticeai/setup/wizard/paths.py +0 -165
- package/latticeai/setup/wizard/plans.py +0 -74
- package/latticeai/setup/wizard/recommend.py +0 -320
- package/scripts/bench_agent_smoke.py +0 -409
- package/scripts/bench_models.py +0 -540
- package/scripts/bench_vector_index.py +0 -295
- package/scripts/funnel_soft_gate.py +0 -192
- package/scripts/generate_agent_loop_fixtures.py +0 -994
- package/scripts/generate_rust_parity_fixtures.py +0 -908
- package/scripts/migrate_brain_storage.py +0 -57
- package/scripts/parity_fixture_corpus_context.py +0 -162
- package/scripts/parity_fixture_corpus_docgen.py +0 -341
- package/scripts/profile_kg.py +0 -355
- package/server.py +0 -30
- package/static/app/assets/arrow-left-kfsrk0mv.js +0 -1
- package/static/app/assets/circle-check-qqLug9nU.js +0 -1
- package/static/app/assets/index-DxmOfNRi.css +0 -2
- package/static/app/assets/search-BcHqkjoy.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{C as e,_ as t,b as n,d as r,m as i,o as a,t as o,v as s,x as c}from"./utils-Ddol2RWD.js";import{r as l,t as u}from"./useQuery-CY2OI2uy.js";import{t as d}from"./useMutation-CSn9t1op.js";import{i as f,n as p,r as m,t as h}from"./LivingBrain-GzenJchP.js";import{t as g}from"./bot-B_K1Tdmw.js";import{C as _,E as v,S as y,T as b,_ as x,a as S,b as C,c as w,d as T,f as E,g as D,h as O,i as k,l as A,m as j,n as ee,o as te,p as M,r as N,s as P,t as ne,u as re,v as ie,w as F,x as ae,y as oe}from"./BrainSignals-DS9BtKOW.js";import{b as I,r as se,y as L}from"./primitives-SNp0LRJz.js";import{t as R}from"./circle-check-qqLug9nU.js";import{t as ce}from"./cpu-85xYObUC.js";import{t as le}from"./download-B5Fm7YXo.js";import{n as ue,r as de,t as fe}from"./hard-drive-DkA3zBW_.js";import{o as pe,t as z}from"./ReviewCard-CNZ7XjWG.js";import{t as B}from"./folder-open-kk2Xa52u.js";import{t as me}from"./link-2-Dwb4gnTc.js";import{a as V,i as he,n as ge,r as _e}from"./permissionCopy-CQDUBrOZ.js";import{t as ve}from"./search-BcHqkjoy.js";import{t as ye}from"./shield-alert-5BStfp2_.js";import{n as be,t as xe}from"./useFocusTrap-CYKvE46M.js";import{S as Se,_ as H,a as Ce,d as we,f as Te,i as U,m as Ee,n as W,r as De,s as G,u as Oe,v as ke}from"./index-BMPdTmlY.js";import"./brain-DWyaV1L1.js";import{t as K}from"./button-aTn4s84A.js";import"./workspace-BqDwOz_p.js";var Ae=t(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),je=t(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Me=t(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Ne=t(`chart-spline`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`,key:`lw07rv`}]]),Pe=t(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Fe=t(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Ie=t(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Le=t(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Re=t(`file-check-corner`,[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`,key:`g5mvt7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m14 20 2 2 4-4`,key:`15kota`}]]),ze=t(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Be=t(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),Ve=t(`git-pull-request-arrow`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M5 9v12`,key:`ih889a`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}]]),He=t(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Ue=t(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),We=t(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Ge=t(`map`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Ke=t(`message-circle-plus`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),qe=t(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Je=t(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),Ye=t(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Xe=t(`repeat-2`,[[`path`,{d:`m2 9 3-3 3 3`,key:`1ltn5i`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`,key:`1r6tfw`}],[`path`,{d:`m22 15-3 3-3-3`,key:`4rnwn2`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`,key:`2f72bc`}]]),Ze=t(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Qe=t(`search-check`,[[`path`,{d:`m8 11 2 2 4-4`,key:`1sed1v`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),$e=t(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),et=t(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),tt=t(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),nt=t(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),q=e(c());function rt(e){if(e.status!==`awaiting_approval`)return null;let t=typeof e.run_id==`string`?e.run_id:``,n=typeof e.approval?.token==`string`?e.approval.token:``;return!t||!n?null:{runId:t,token:n,expiresAt:typeof e.approval?.expires_at==`string`?e.approval.expires_at:``,planSummary:typeof e.approval?.plan_summary==`string`?e.approval.plan_summary:``,plan:e.plan&&typeof e.plan==`object`?e.plan:null,status:`pending`}}function it(e){if(!e||typeof e!=`object`)return``;let t=e,n=(t.detail&&typeof t.detail==`object`&&!Array.isArray(t.detail)?t.detail:t).replan;if(!n||typeof n!=`object`||Array.isArray(n))return``;let r=n.message;return typeof r==`string`?r.trim():``}async function at(e,t){let n=await r.resumeAgentApproval({run_id:e.runId,approval_token:e.token,approve:t.approve,...t.editedPlan?{edited_plan:t.editedPlan}:{}});if(!n.ok){if(n.status===410||n.status===404){let e=it(n.data);return{kind:`expired`,...e?{replanMessage:e}:{}}}return{kind:`error`,reason:n.error||String(n.status||``)}}let i=n.data;return i.status===`cancelled`?{kind:`cancelled`}:{kind:`finished`,payload:i}}var J=n();function ot(e,t){if(!t)return``;let n=new Date(t);return Number.isNaN(n.getTime())?``:n.toLocaleTimeString(e===`ko`?`ko-KR`:`en-US`,{hour:`2-digit`,minute:`2-digit`})}function st(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}var ct=12e4;function lt({language:e,approval:t,onResolved:n,onReplan:r}){let[a,o]=q.useState(!1),[s,c]=q.useState(!1),[l,u]=q.useState(``),[d,f]=q.useState(!1),p=q.useRef(null);q.useEffect(()=>{t.status===`pending`&&p.current?.focus()},[]);let m=t.status===`pending`,h=q.useMemo(()=>{if(!t.expiresAt)return null;let e=Date.parse(t.expiresAt);return Number.isFinite(e)?e:null},[t.expiresAt]),[g,_]=q.useState(()=>Date.now());q.useEffect(()=>{if(!m||h===null)return;_(Date.now());let e=window.setInterval(()=>_(Date.now()),1e3);return()=>window.clearInterval(e)},[m,h]);let v=h===null?null:h-g,y=m&&v!==null&&v>0&&v<ct,b=q.useRef(!1);q.useEffect(()=>{!m||v===null||v>0||b.current||(b.current=!0,n({kind:`expired`}))},[m,v,n]);async function x(e){if(!a){o(!0);try{n(await at(t,e))}finally{o(!1)}}}function S(){u(JSON.stringify(t.plan??{goal:t.planSummary,steps:[]},null,2)),f(!1),c(!0)}function C(){let e;try{e=JSON.parse(l)}catch{f(!0);return}if(!e||typeof e!=`object`||Array.isArray(e)){f(!0);return}f(!1),x({approve:!0,editedPlan:e})}if(t.status!==`pending`){let n=t.status===`approved`?`brain.approval.resolved`:t.status===`cancelled`?`brain.approval.cancelled`:t.status===`expired`?`brain.approval.expired`:`brain.approval.error`,a=t.status===`expired`&&t.replanMessage||``;return(0,J.jsxs)(`div`,{className:`brain-approval-note is-${t.status}`,role:t.status===`approved`?`status`:`alert`,"data-testid":`agent-approval-note`,children:[(0,J.jsx)(`span`,{children:i(e,n,{reason:t.errorReason||``})}),a&&r?(0,J.jsx)(`button`,{type:`button`,className:`brain-approval-replan`,"data-testid":`approval-replan`,onClick:()=>r(a),children:i(e,`brain.approval.expiredReplan`)}):null]})}let w=ot(e,t.expiresAt);return(0,J.jsxs)(`section`,{className:`brain-approval-card ${y?`is-urgent`:``}`,"aria-label":i(e,`brain.approval.aria`),"data-testid":`agent-approval-card`,children:[(0,J.jsxs)(`header`,{className:`brain-approval-head`,children:[(0,J.jsx)(ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,`brain.approval.title`)}),v===null?null:(0,J.jsx)(`span`,{className:`brain-approval-countdown ${y?`is-urgent`:``}`,"data-testid":`approval-countdown`,children:i(e,`brain.approval.countdown`,{time:st(v)})})]}),t.planSummary?(0,J.jsxs)(`div`,{className:`brain-approval-summary`,children:[(0,J.jsx)(`span`,{className:`brain-approval-summary-label`,children:i(e,`brain.approval.summaryLabel`)}),(0,J.jsx)(`pre`,{"data-testid":`approval-plan-summary`,children:t.planSummary})]}):null,w?(0,J.jsx)(`small`,{className:`brain-approval-expiry`,children:i(e,`brain.approval.expiry`,{time:w})}):null,y?(0,J.jsx)(`small`,{className:`brain-approval-urgency`,role:`alert`,"data-testid":`approval-urgency`,children:i(e,`brain.approval.countdown.warning`)}):null,s?(0,J.jsxs)(`div`,{className:`brain-approval-editor`,children:[(0,J.jsx)(`label`,{htmlFor:`brain-approval-plan-editor`,children:i(e,`brain.approval.edit.label`)}),(0,J.jsx)(`textarea`,{id:`brain-approval-plan-editor`,"data-testid":`approval-edit-textarea`,value:l,rows:8,spellCheck:!1,onChange:e=>u(e.target.value)}),d?(0,J.jsx)(`small`,{className:`brain-approval-edit-error`,role:`alert`,children:i(e,`brain.approval.edit.invalid`)}):null,(0,J.jsxs)(`div`,{className:`brain-approval-actions`,children:[(0,J.jsx)(`button`,{type:`button`,className:`brain-approval-primary`,"data-testid":`approval-edit-run`,disabled:a,onClick:C,children:a?i(e,`brain.approval.running`):i(e,`brain.approval.edit.run`)}),(0,J.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>c(!1),children:i(e,`brain.approval.edit.close`)})]})]}):(0,J.jsxs)(`div`,{className:`brain-approval-actions`,children:[(0,J.jsx)(`button`,{ref:p,type:`button`,className:`brain-approval-primary`,"data-testid":`approval-approve`,disabled:a,onClick:()=>void x({approve:!0}),children:a?i(e,`brain.approval.running`):i(e,`brain.approval.approve`)}),(0,J.jsxs)(`button`,{type:`button`,"data-testid":`approval-edit`,disabled:a,onClick:S,children:[(0,J.jsx)(Je,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.approval.edit`)]}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`approval-cancel`,disabled:a,onClick:()=>void x({approve:!1}),children:i(e,`brain.approval.cancel`)})]})]})}function ut(e){return e.event===`blocked`?`blocked`:e.event===`parse_error`||e.ok===!1?`error`:e.event===`proposed`?`proposed`:e.event===`tool`?`ok`:e.phase===`rollback`?`error`:`info`}function dt(e){if(e.phase===`rollback`)return`brain.steps.rollback`;switch(e.event){case`planned`:return`brain.steps.planned`;case`tool`:return e.ok===!1?`brain.steps.tool.failed`:`brain.steps.tool`;case`proposed`:return`brain.steps.proposed`;case`blocked`:return`brain.steps.blocked`;case`parse_error`:return`brain.steps.parseError`;case`verdict`:return`brain.steps.verdict`;case`final`:return`brain.steps.final`;case`state`:return`brain.steps.state`;default:return`brain.steps.step`}}function ft(e){return e.split(/[\\/]/).filter(Boolean).pop()||e}function pt(e){return[e.action,e.path?ft(e.path):``,e.decision,e.verdict,e.state].filter(Boolean).join(` · `)}function mt({language:e,steps:t,streaming:n}){if(!t.length)return null;let r=(0,J.jsx)(`ol`,{className:`brain-step-list`,children:t.slice(-30).map((t,n)=>{let r=ut(t),a=pt(t);return(0,J.jsxs)(`li`,{className:`brain-step-item is-${r}`,children:[(0,J.jsx)(`span`,{className:`brain-step-dot`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`brain-step-label`,children:i(e,dt(t))}),a?(0,J.jsx)(`span`,{className:`brain-step-meta`,children:a}):null,t.detail?(0,J.jsx)(`small`,{className:`brain-step-detail`,children:t.detail}):null]},n)})});return n?(0,J.jsxs)(`section`,{className:`brain-step-timeline is-live`,"aria-label":i(e,`brain.steps.aria`),"data-testid":`agent-step-timeline`,children:[(0,J.jsxs)(`p`,{className:`brain-step-live-head`,role:`status`,children:[(0,J.jsx)(`span`,{className:`brain-step-dot is-live`,"aria-hidden":`true`}),i(e,`brain.steps.live`,{count:t.length})]}),r]}):(0,J.jsxs)(`details`,{className:`brain-step-timeline`,"aria-label":i(e,`brain.steps.aria`),"data-testid":`agent-step-timeline`,children:[(0,J.jsx)(`summary`,{children:i(e,`brain.steps.summary`,{count:t.length})}),r]})}function ht({language:e,summary:t}){if(t.total<1)return null;let n=Object.entries(t.repairs).sort((e,t)=>t[1]-e[1]).slice(0,3).map(([e,t])=>`${e} ×${t}`);return t.parseRecovered>0&&n.push(`parse ×${t.parseRecovered}`),(0,J.jsx)(`p`,{className:`brain-loop-repairs`,role:`note`,"data-testid":`loop-repairs-note`,title:n.join(`, `)||void 0,children:i(e,`brain.agent.repairs`,{count:t.total})})}function gt({language:e,explanation:t}){return(0,J.jsxs)(`div`,{className:`brain-run-explanation is-${t.ok?`ok`:`caution`} strain-${t.strainLevel}`,role:`note`,"data-testid":`run-explanation`,"data-code":t.code,children:[t.headline?(0,J.jsx)(`strong`,{children:t.headline}):null,t.details.length?(0,J.jsx)(`ul`,{children:t.details.map(e=>(0,J.jsx)(`li`,{children:e},e))}):null,(0,J.jsx)(`small`,{children:i(e,`brain.agent.explanation.why`)})]})}function _t(e,t){return`${e}-cite-${t}`}function vt({language:e,proof:t,messageId:n}){let r=e=>{let t=document.getElementById(_t(n,e));t&&(t.scrollIntoView({behavior:`smooth`,block:`nearest`}),t.focus())};return(0,J.jsx)(`span`,{className:`brain-inline-citations`,"aria-label":i(e,`brain.answerProof.citationsLabel`,{count:t.citations.length}),children:t.citations.map((t,a)=>(0,J.jsx)(`button`,{type:`button`,className:`brain-inline-citation`,"aria-label":i(e,`brain.answerProof.marker`,{index:a+1}),"aria-controls":_t(n,t.id),title:t.title,onClick:()=>r(t.id),children:a+1},t.id))})}function yt({language:e,proof:t,messageId:n,onUseEvidence:r}){let[a,o]=q.useState(null);return(0,J.jsxs)(`section`,{className:`brain-answer-proof`,role:`group`,"aria-label":i(e,`brain.answerProof.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-answer-proof-head`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.answerProof.title`)}),(0,J.jsx)(`strong`,{children:t.provenAcrossModels?i(e,`brain.answerProof.modelProven`,{model:t.model}):i(e,`brain.answerProof.modelPending`,{model:t.model})}),t.citations.length?(0,J.jsx)(`small`,{className:`brain-answer-proof-count`,children:i(e,`brain.answerProof.citationsLabel`,{count:t.citations.length})}):null]}),t.citations.length?(0,J.jsx)(`ol`,{children:t.citations.map((r,a)=>(0,J.jsx)(`li`,{id:_t(n,r.id),tabIndex:-1,"aria-label":i(e,`brain.answerProof.citationItem`,{index:a+1,title:r.title}),children:(0,J.jsxs)(`button`,{type:`button`,className:`brain-citation-open`,"aria-haspopup":`dialog`,"aria-label":i(e,`brain.sourceModal.openAria`,{title:r.title}),"data-testid":`citation-open`,onClick:()=>o(r),children:[(0,J.jsx)(`span`,{className:`brain-answer-proof-index`,"aria-hidden":`true`,children:a+1}),(0,J.jsx)(`span`,{children:r.source}),(0,J.jsx)(`strong`,{children:r.title}),(0,J.jsx)(bt,{language:e,citation:r}),r.locator?(0,J.jsx)(`em`,{className:`brain-citation-locator`,"data-testid":`citation-locator`,children:r.locator}):null,(0,J.jsx)(`small`,{children:r.snippet||t.query}),(0,J.jsx)(St,{language:e,citation:r}),(0,J.jsx)(`span`,{className:`brain-citation-open-hint`,"aria-hidden":`true`,children:i(e,`brain.sourceModal.open`)})]})},r.id))}):(0,J.jsx)(`small`,{children:i(e,`brain.answerProof.empty`)}),r&&t.citations.length?(0,J.jsx)(xt,{language:e,query:t.query,sourceIds:t.citations.map(e=>e.id),onUseEvidence:r}):null,a?(0,J.jsx)(Tt,{language:e,citation:a,onClose:()=>o(null)}):null]})}function bt({language:e,citation:t}){return t.kind===`Image`||t.kind===`ImageText`?(0,J.jsxs)(`span`,{className:`brain-citation-visual`,"data-testid":`citation-visual`,children:[t.thumbnail?(0,J.jsx)(`img`,{className:`brain-citation-thumb`,src:t.thumbnail,alt:t.caption||i(e,`brain.answerProof.imageAlt`,{title:t.title}),width:48,height:48,loading:`lazy`}):(0,J.jsx)(`span`,{className:`brain-citation-thumb is-missing`,"aria-hidden":`true`,children:i(e,`brain.answerProof.imageBadge`)}),(0,J.jsx)(`span`,{className:`brain-citation-visual-text`,children:t.caption?(0,J.jsx)(`em`,{"data-testid":`citation-caption`,children:t.caption}):(0,J.jsx)(`em`,{className:`is-muted`,"data-testid":`citation-caption-absent`,children:i(e,`brain.answerProof.noCaption`)})})]}):null}function xt({language:e,query:t,sourceIds:n,onUseEvidence:a}){let[o,s]=q.useState({status:`idle`}),c=q.useCallback(()=>{s({status:`loading`}),r.evidenceActions(t,n,e).then(e=>{let t=e.data;s({status:`ready`,actions:e.ok?t.actions:[],reason:e.ok?t.reason:e.error||``})})},[e,t,n]);return o.status===`idle`?(0,J.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,J.jsx)(`button`,{type:`button`,className:`brain-evidence-action-trigger`,"data-testid":`evidence-actions-open`,onClick:c,children:i(e,`brain.evidenceActions.open`)})}):o.status===`loading`?(0,J.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,J.jsx)(`small`,{role:`status`,children:i(e,`brain.evidenceActions.loading`)})}):o.actions.length?(0,J.jsxs)(`div`,{className:`brain-evidence-actions`,"data-testid":`evidence-actions`,children:[(0,J.jsx)(`small`,{children:i(e,`brain.evidenceActions.title`)}),(0,J.jsx)(`div`,{className:`brain-evidence-action-list`,children:o.actions.map(t=>(0,J.jsx)(`button`,{type:`button`,className:`brain-evidence-action`,"data-testid":`evidence-action-${t.id}`,title:t.suggested_path||void 0,onClick:()=>a(t.prompt),children:t.label[e===`ko`?`ko`:`en`]},t.id))})]}):(0,J.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,J.jsx)(`small`,{className:`is-error`,role:`status`,children:o.reason||i(e,`brain.evidenceActions.unavailable`)})})}function St({language:e,citation:t}){let n=t.matchedTerms.length>0;return(0,J.jsxs)(`span`,{className:`brain-citation-why`,"aria-label":i(e,`brain.answerProof.why.aria`),children:[(0,J.jsx)(`em`,{className:`brain-citation-confidence is-${t.confidence}`,children:i(e,`brain.answerProof.confidence.${t.confidence}`)}),n?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`brain-citation-why-label`,children:i(e,`brain.answerProof.matched`)}),t.matchedTerms.slice(0,4).map(e=>(0,J.jsx)(`mark`,{children:e},e))]}):(0,J.jsx)(`span`,{className:`brain-citation-why-label`,children:i(e,`brain.answerProof.matched.none`)})]})}var Ct=[`source`,`source_uri`,`origin`,`relative_path`,`path`,`filename`,`conversation_id`,`provenance_id`];function wt(e){let t=O(e)?e:{},n=O(t.node)?t.node:null;if(!n)return null;let r=O(n.metadata)?n.metadata:{},i=Ct.flatMap(e=>{let t=F(r,[e]);return t?[{key:e,value:t}]:[]});return{title:F(n,[`title`,`label`,`id`]),type:F(n,[`type`]),summary:F(n,[`summary`,`content`,`text`]),provenance:i}}function Tt({language:e,citation:t,onClose:n}){let a=xe(n),[o,s]=q.useState({status:`loading`});q.useEffect(()=>{let e=!1;return s({status:`loading`}),r.graphNode(t.id).then(t=>{if(e)return;let n=t.ok?wt(t.data):null;s(n?{status:`ready`,node:n}:{status:`error`,reason:t.error||String(t.status||``)})}),()=>{e=!0}},[t.id]);let c=o.status===`ready`&&o.node.title?o.node.title:t.title;return(0,J.jsx)(`div`,{className:`file-preview-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,J.jsxs)(`div`,{ref:a,className:`file-preview-modal source-chunk-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":i(e,`brain.sourceModal.aria`,{title:c}),"data-testid":`source-chunk-modal`,children:[(0,J.jsxs)(`header`,{className:`file-preview-head`,children:[(0,J.jsx)(`strong`,{className:`file-preview-name`,children:c}),(0,J.jsxs)(`div`,{className:`file-preview-actions`,children:[o.status===`ready`&&o.node.type?(0,J.jsx)(`span`,{className:`source-chunk-type`,children:o.node.type}):null,(0,J.jsx)(`button`,{type:`button`,className:`file-preview-close`,"aria-label":i(e,`brain.sourceModal.close`),onClick:n,children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]}),(0,J.jsx)(`div`,{className:`file-preview-body source-chunk-body`,children:o.status===`loading`?(0,J.jsx)(`p`,{className:`file-preview-note`,role:`status`,children:i(e,`brain.sourceModal.loading`)}):o.status===`error`?(0,J.jsx)(`p`,{className:`file-preview-note is-error`,role:`alert`,children:i(e,`brain.sourceModal.error`,{reason:o.reason})}):(0,J.jsxs)(J.Fragment,{children:[o.node.summary?(0,J.jsx)(`pre`,{className:`source-chunk-text`,"data-testid":`source-chunk-text`,children:o.node.summary}):(0,J.jsx)(`p`,{className:`file-preview-note`,children:i(e,`brain.sourceModal.empty`)}),o.node.provenance.length?(0,J.jsxs)(`div`,{className:`source-chunk-provenance`,"data-testid":`source-chunk-provenance`,children:[(0,J.jsx)(`small`,{children:i(e,`brain.sourceModal.provenance`)}),(0,J.jsx)(`ul`,{children:o.node.provenance.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{children:e.key}),(0,J.jsx)(`code`,{children:e.value})]},e.key))})]}):null]})})]})})}function Et({language:e}){let t=l(),[n,a]=q.useState(!1),[o,s]=q.useState(``),[c,d]=q.useState(``),[f,p]=q.useState(``),[m,h]=q.useState(null),g=u({queryKey:[`portability`],queryFn:r.graphPortability}),_=u({queryKey:[`backupHealth`],queryFn:r.backupHealth}),v=q.useCallback(e=>h(e),[]),y=o.trim()?Mt(o.trim(),e):``,x=c.trim()?Nt(c,e):``,S=!c||c===f,C=!!c.trim()&&S&&!x,w=!!o.trim()&&!y,T=Dt(()=>r.graphExport(),void 0,v),E=Dt(()=>r.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},v),D=Dt(()=>r.brainArchive({path:o.trim()||null,passphrase:c}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),v),O=Dt(()=>r.brainArchiveInspect({path:o.trim(),passphrase:c||null}),void 0,v),k=Dt(()=>r.brainArchiveRestore({path:o.trim(),passphrase:c,dry_run:!0,confirm:!1}),void 0,v),A=kt(g.data?.data),j=At(_.data?.data,e);return(0,J.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`care.title`),children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Oe,{className:`h-3.5 w-3.5`}),` `,i(e,`care.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`care.subtitle`)})]}),(0,J.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":i(e,`care.ownershipModel`),children:[(0,J.jsx)(`span`,{children:i(e,`care.private`)}),(0,J.jsx)(`span`,{children:A}),(0,J.jsx)(`span`,{children:j})]}),(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,J.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,J.jsx)(Ot,{icon:(0,J.jsx)(le,{className:`h-3.5 w-3.5`}),label:i(e,`care.export`),detail:i(e,`care.export.detail`),pendingLabel:i(e,`care.working`),pending:T.isPending,onClick:()=>T.mutate()}),(0,J.jsx)(Ot,{icon:(0,J.jsx)(b,{className:`h-3.5 w-3.5`}),label:i(e,`care.backup`),detail:i(e,`care.backup.detail`),pendingLabel:i(e,`care.working`),pending:E.isPending,onClick:()=>E.mutate()}),(0,J.jsx)(Ot,{icon:(0,J.jsx)(je,{className:`h-3.5 w-3.5`}),label:i(e,`care.archive`),detail:i(e,`care.archive.detail`),pendingLabel:i(e,`care.working`),pending:D.isPending,disabled:!C,onClick:()=>D.mutate()})]}),(0,J.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,J.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:i(e,`care.path.placeholder`),"aria-label":i(e,`care.path.label`)}),(0,J.jsx)(`input`,{type:`password`,value:c,onChange:e=>d(e.target.value),placeholder:i(e,`care.passphrase.placeholder`),"aria-label":i(e,`care.passphrase.label`)}),(0,J.jsx)(`input`,{type:`password`,value:f,onChange:e=>p(e.target.value),placeholder:i(e,`care.passphrase.confirmPlaceholder`),"aria-label":i(e,`care.passphrase.confirmLabel`)}),(0,J.jsxs)(`div`,{className:`brain-care-guidance`,role:`status`,children:[y?(0,J.jsx)(`span`,{className:`is-error`,children:y}):o.trim()?(0,J.jsx)(`span`,{children:i(e,`care.path.ready`)}):null,x?(0,J.jsx)(`span`,{className:`is-error`,children:x}):c?(0,J.jsx)(`span`,{children:i(e,`care.passphrase.strong`)}):null,S?null:(0,J.jsx)(`span`,{className:`is-error`,children:i(e,`care.passphrase.mismatch`)})]}),(0,J.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,J.jsxs)(K,{variant:`outline`,size:`sm`,disabled:!w||O.isPending,onClick:()=>O.mutate(),children:[(0,J.jsx)(Le,{className:`h-3.5 w-3.5`}),` `,i(e,`care.inspect`)]}),(0,J.jsxs)(K,{variant:`outline`,size:`sm`,disabled:!w||!c.trim()||!S||k.isPending,onClick:()=>k.mutate(),children:[(0,J.jsx)(we,{className:`h-3.5 w-3.5`}),` `,i(e,`care.restorePreview`)]})]})]}),m?(0,J.jsx)(`div`,{className:`brain-care-result ${m.ok?`is-ok`:`is-error`}`,role:`status`,children:(0,J.jsx)(jt,{result:m,language:e})}):(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`care.note`)})]}):null]})}function Dt(e,t,n){return d({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function Ot({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,J.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i?r:t}),(0,J.jsx)(`small`,{children:n})]})]})}function kt(e){return F(O(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function At(e,t){let n=O(e)?e:{},r=n.count||n.backups||n.available;return r!=null&&r!==``?i(t,`care.backup.count`,{count:String(r)}):i(t,`care.backup.ready`)}function jt({result:e,language:t}){if(!e.ok)return(0,J.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,J.jsx)(`strong`,{children:i(t,`care.result.error`)}),e.error&&e.error!==i(t,`care.result.error`)?(0,J.jsx)(`span`,{children:e.error}):null]});let n=O(e.data)?e.data:{},r=F(n,[`path`,`archive_path`,`backup_path`,`export_path`,`latest_backup`]),a=F(n,[`message`,`status`,`result`],i(t,`care.result.completed`)),o={memories:F(n,[`nodes`,`total_nodes`,`memories`,`memory_count`]),links:F(n,[`edges`,`total_edges`,`relationships`,`relationship_count`]),conversations:F(n,[`conversations`,`conversation_count`])};return(0,J.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,J.jsx)(`strong`,{children:a}),r?(0,J.jsx)(`span`,{children:i(t,`care.result.path`,{path:r})}):null,o.memories||o.links||o.conversations?(0,J.jsx)(`span`,{children:i(t,`care.result.contents`,{memories:o.memories||`0`,links:o.links||`0`,conversations:o.conversations||`0`})}):null,n.dry_run===!0?(0,J.jsx)(`span`,{children:i(t,`care.result.dryRun`)}):null]})}function Mt(e,t){return/[<>:"|?*]/.test(e)?i(t,`care.path.invalidChars`):/\.(latticebrain|zip|json)$/i.test(e)?``:i(t,`care.path.extension`)}function Nt(e,t){return e.length<12?i(t,`care.passphrase.tooShort`):[/[a-z]/,/[A-Z]/,/\d/,/[^A-Za-z0-9]/].filter(t=>t.test(e)).length<3?i(t,`care.passphrase.tooSimple`):``}var Pt=[`freshness`,`connectivity`,`embedding_coverage`,`consistency`],Ft=new Set([`rebuild_vector_index`,`review_orphans`,`refresh_stale_knowledge`,`resolve_contradictions`]);function It({language:e}){let t=l(),[n,a]=q.useState(!1),o=u({queryKey:[`brainHealth`],queryFn:r.brainHealth,enabled:n}),s=u({queryKey:[`brainInsights`],queryFn:r.brainInsights,enabled:n}),c=u({queryKey:[`brainContradictions`],queryFn:r.brainContradictions,enabled:n}),[f,p]=q.useState(null),m=d({mutationFn:()=>r.brainConsolidate(!1),onSuccess:e=>{e.ok&&O(e.data)&&p(e.data)}}),h=d({mutationFn:()=>r.brainConsolidate(!0),onSuccess:e=>{e.ok&&O(e.data)&&p(e.data),t.invalidateQueries({queryKey:[`brainHealth`]})}}),g=o.data?.ok&&O(o.data.data)?o.data.data:null,_=n&&!o.isPending&&(o.isError||!o.data?.ok||o.data?.source===`unavailable`),v=()=>{o.refetch(),s.refetch(),c.refetch()},y=s.data?.ok&&O(s.data.data)?s.data.data:null,b=c.data?.ok&&O(c.data.data)?Number(c.data.data.count||0):0,x=g&&typeof g.overall_score==`number`?g.overall_score:null,S=g&&typeof g.grade==`string`?g.grade:null,C=g&&O(g.dimensions)?g.dimensions:{},w=g&&Array.isArray(g.recommended_actions)?g.recommended_actions:[],T=y&&O(y.activity)?y.activity:{},E=y&&O(y.attention)?y.attention:{};return(0,J.jsxs)(`section`,{className:`brain-care-panel brain-intelligence-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`intelligence.title`),children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-intelligence-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`}),` `,i(e,`intelligence.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`intelligence.subtitle`)})]}),n&&x!==null?(0,J.jsxs)(`div`,{className:`brain-care-proof`,children:[(0,J.jsxs)(`span`,{children:[i(e,`intelligence.score`),`: `,x]}),(0,J.jsx)(`span`,{children:Lt(S,e)})]}):null,(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsx)(`div`,{id:`brain-intelligence-details`,className:`brain-care-details`,children:o.isPending?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`intelligence.loading`)}):_?(0,J.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`intelligence.loadError`)}),o.data?.error?(0,J.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:o.data.error}):null,(0,J.jsx)(`div`,{children:(0,J.jsx)(K,{variant:`outline`,size:`sm`,onClick:v,children:i(e,`common.retry`)})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`brain-intelligence-dimensions`,role:`list`,children:Pt.map(t=>{let n=O(C[t])?C[t]:{},r=typeof n.score==`number`?n.score:null;return(0,J.jsxs)(`div`,{className:`brain-intelligence-dimension`,role:`listitem`,children:[(0,J.jsx)(`small`,{children:i(e,`intelligence.dim.${t}`)}),(0,J.jsx)(`strong`,{children:r===null?`—`:r})]},t)})}),(0,J.jsxs)(`div`,{className:`brain-intelligence-insights`,role:`status`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Ae,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),` `,i(e,`intelligence.insights.recent`,{count:String(Y(T.recent_nodes))})]}),(0,J.jsx)(`span`,{children:i(e,`intelligence.insights.stale`,{count:String(Y(E.stale_nodes))})}),(0,J.jsx)(`span`,{children:i(e,`intelligence.insights.orphans`,{count:String(Y(E.orphan_nodes))})}),(0,J.jsx)(`span`,{children:i(e,`intelligence.contradictions`,{count:String(b)})})]}),w.length?(0,J.jsxs)(`div`,{className:`brain-intelligence-actions`,children:[(0,J.jsx)(`small`,{children:i(e,`intelligence.actions`)}),(0,J.jsx)(`ul`,{children:w.map((t,n)=>{let r=O(t)?t:{},a=String(r.id||``);return(0,J.jsx)(`li`,{children:Ft.has(a)?i(e,`intelligence.action.${a}`):String(r.reason||a)},`${a}-${n}`)})})]}):null,(0,J.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,J.jsx)(K,{variant:`outline`,size:`sm`,disabled:m.isPending,onClick:()=>m.mutate(),children:m.isPending?i(e,`intelligence.consolidate.working`):i(e,`intelligence.consolidate`)}),f&&Y(f.duplicate_memory_count)>0&&f.mode!==`applied`?(0,J.jsx)(K,{variant:`outline`,size:`sm`,disabled:h.isPending,onClick:()=>h.mutate(),children:i(e,`intelligence.consolidate.apply`)}):null]}),f?(0,J.jsx)(`p`,{className:`brain-care-note`,role:`status`,children:f.mode===`applied`?i(e,`intelligence.consolidate.applied`,{count:String(Y(f.pruned))}):Y(f.duplicate_memory_count)>0||Y(f.duplicate_edge_count)>0?i(e,`intelligence.consolidate.found`,{memories:String(Y(f.duplicate_memory_count)),edges:String(Y(f.duplicate_edge_count))}):i(e,`intelligence.consolidate.none`)}):null]})}):null]})}function Lt(e,t){return i(t,`intelligence.grade.${e&&new Set([`excellent`,`good`,`attention`,`critical`]).has(e)?e:`unknown`}`)}function Y(e){let t=Number(e);return Number.isFinite(t)?t:0}var Rt=[`recent`,`contradictions`,`stale`,`frequent`];function zt(e,t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim();if(typeof t==`number`&&Number.isFinite(t))return String(t)}return``}function Bt(e){let t=a(e)?e:{},n=a(t.beds)?t.beds:{};return{available:t.available===!0,beds:Rt.map(e=>{let t=a(n[e])?n[e]:{},r=Number(t.count),i=o(t.items).flatMap(t=>{let n=a(t)?t:{},r=zt(n,[`id`]),i=zt(n,[`title`,`summary`,`label`]);return!r||!i?[]:[{id:r,title:i,type:zt(n,[`type`,`kind`]),detail:e===`frequent`?zt(n,[`degree`]):zt(n,[`updated_at`,`detail`])}]});return{id:e,count:Number.isFinite(r)&&r>0?Math.round(r):i.length,items:i}})}}function Vt({language:e}){let[t,n]=q.useState(!1),a=u({queryKey:[`knowledgeGarden`],queryFn:()=>r.brainGarden(),enabled:t,staleTime:6e4}),o=q.useMemo(()=>a.data?.ok?Bt(a.data.data):null,[a.data]);return(0,J.jsxs)(`details`,{className:`brain-garden`,"data-testid":`knowledge-garden`,open:t,onToggle:e=>n(e.currentTarget.open),children:[(0,J.jsx)(`summary`,{children:i(e,`brain.garden.title`)}),t?a.isLoading?(0,J.jsx)(`p`,{role:`status`,children:i(e,`brain.garden.loading`)}):!o||!o.available?(0,J.jsx)(`p`,{role:`status`,className:`is-muted`,children:i(e,`brain.garden.unavailable`)}):(0,J.jsx)(`div`,{className:`brain-garden-beds`,children:o.beds.map(t=>(0,J.jsxs)(`section`,{"data-testid":`garden-bed-${t.id}`,children:[(0,J.jsxs)(`h4`,{children:[i(e,`brain.garden.bed.${t.id}`),(0,J.jsx)(`span`,{className:`brain-garden-count`,children:t.count})]}),t.items.length?(0,J.jsx)(`ul`,{children:t.items.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`strong`,{children:e.title}),e.type?(0,J.jsx)(`em`,{children:e.type}):null,e.detail?(0,J.jsx)(`small`,{children:e.detail}):null]},e.id))}):(0,J.jsx)(`p`,{className:`is-muted`,children:i(e,`brain.garden.empty.${t.id}`)})]},t.id))}):null]})}var Ht={"review-pending":`briefing.action.reviewPending`,"enable-drafts":`briefing.action.enableDrafts`,"install-suggestion":`briefing.action.installSuggestion`,"connect-knowledge":`briefing.action.connectKnowledge`,"check-health":`briefing.action.checkHealth`,"ask-brain":`briefing.action.askBrain`};function X(e,t){let n=(e.sections||{})[t];return n&&typeof n==`object`?n:{}}function Ut(e){e&&(e.closest(`details`)?.setAttribute(`open`,``),window.setTimeout(()=>e.scrollIntoView?.({behavior:`smooth`,block:`center`}),0))}function Wt({language:e,variant:t=`drawer`}){let[n,a]=q.useState(t===`home`),s=q.useRef(null),c=u({queryKey:[`commandBriefing`],queryFn:r.commandBriefing,enabled:n});q.useEffect(()=>{let e=()=>{a(!0),Ut(s.current)};return window.addEventListener(`lattice:open-briefing`,e),()=>window.removeEventListener(`lattice:open-briefing`,e)},[]);let l=c.data?.data||{},d=!!c.data&&(!c.data?.ok||Object.keys(l.sections||{}).length===0),p=X(l,`knowledge`),m=X(l,`conversations`),h=X(l,`automations`),g=X(l,`review`),_=X(l,`health`),v=X(l,`suggestions`),y=o(l.quick_actions),b=o(p.recent);return(0,J.jsxs)(`section`,{ref:s,className:`brain-care-panel daily-briefing-panel ${n?`is-expanded`:`is-collapsed`} ${t===`home`?`is-home`:``}`,"aria-label":i(e,`briefing.title`),"data-testid":`daily-briefing`,children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`daily-briefing-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(be,{className:`h-3.5 w-3.5`}),` `,i(e,`briefing.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`briefing.subtitle`)})]}),(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsx)(`div`,{id:`daily-briefing-details`,className:`brain-care-details`,children:c.isPending?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`briefing.loading`)}):d?(0,J.jsx)(`p`,{className:`brain-care-note`,"data-testid":`daily-briefing-empty`,children:i(e,`briefing.empty`)}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`daily-briefing-stats`,role:`list`,children:[(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsx)(`strong`,{children:String(m.questions??0)}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.questions`)})]}),(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsxs)(`strong`,{children:[String(h.enabled??0),`/`,String(h.total??0)]}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.automations`)})]}),(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsx)(`strong`,{children:String(g.pending??0)}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.review`)})]}),(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsx)(`strong`,{children:_.available&&_.grade?String(_.grade):`—`}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.health`)})]})]}),b.length>0?(0,J.jsxs)(`div`,{className:`daily-briefing-recent`,children:[(0,J.jsx)(`p`,{className:`command-palette-group`,children:i(e,`briefing.recent`)}),(0,J.jsx)(`ul`,{children:b.slice(0,3).map(e=>(0,J.jsx)(`li`,{title:String(e.title||``),children:String(e.title||e.id||``)},String(e.id)))})]}):null,Number(v.count??0)>0?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`briefing.suggestions`,{count:String(v.count)})}):null,y.length>0?(0,J.jsx)(`div`,{className:`daily-briefing-actions`,children:y.map(t=>{let n=Ht[t.id];return n?(0,J.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>U(t.target),children:[(0,J.jsx)(`span`,{children:i(e,n,{count:String(t.count||0)})}),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]},t.id):null})}):null]})}):null]})}function Gt({language:e}){let t=l(),[n,a]=q.useState(!1),s=u({queryKey:[`pendingProposals`],queryFn:r.proposals,enabled:n}),c=async()=>{await Promise.all([t.invalidateQueries({queryKey:[`pendingProposals`]}),t.invalidateQueries({queryKey:[`reviewItems`]})])},[f,p]=q.useState({}),m=d({mutationFn:e=>r.approveReviewItem(e),onSuccess:async(e,t)=>{if(!e.ok&&e.status===409){p(e=>({...e,[t]:!0}));return}e.ok&&(p(e=>{let n={...e};return delete n[t],n}),await c())}}),h=d({mutationFn:e=>r.rejectProposal(e),onSuccess:c}),g=o((s.data?.data||{}).items),_=m.isPending||h.isPending,v=s.isError||(s.data?!s.data.ok:!1);return(0,J.jsxs)(`section`,{className:`brain-care-panel pending-proposals-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`proposals.title`),"data-testid":`pending-proposals`,children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`pending-proposals-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Ve,{className:`h-3.5 w-3.5`}),` `,i(e,`proposals.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`proposals.subtitle`)})]}),(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsxs)(`div`,{id:`pending-proposals-details`,className:`brain-care-details`,children:[s.isPending?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.loading`)}):v?(0,J.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.error`)}),s.data?.error?(0,J.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:s.data.error}):null,(0,J.jsx)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>void s.refetch(),children:(0,J.jsx)(`span`,{children:i(e,`common.retry`)})})]}):g.length===0?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.empty`)}):(0,J.jsx)(`div`,{className:`pending-proposals-list`,children:g.map(t=>{let n=t.payload||{},r=o(n.diff),a=String(n.tier||`small`);return(0,J.jsxs)(`article`,{className:`pending-proposal`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{title:String(n.path||t.title),children:String(n.path||t.title)}),(0,J.jsx)(`span`,{className:`pending-proposal-tier`,children:i(e,t.kind===`file_delete`?`proposals.kind.delete`:a===`large`?`proposals.tier.large`:`proposals.tier.small`)})]}),(0,J.jsx)(`p`,{className:`brain-care-note`,children:t.summary}),r.length>0?(0,J.jsx)(z,{language:e,diff:r}):null,f[t.id]?(0,J.jsx)(pe,{language:e,itemId:t.id}):null,(0,J.jsxs)(`div`,{className:`pending-proposal-actions`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,disabled:_,onClick:()=>m.mutate(t.id),children:[(0,J.jsx)(ke,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`proposals.approve`)})]}),(0,J.jsxs)(`button`,{type:`button`,className:`daily-briefing-action pending-proposal-reject`,disabled:_,onClick:()=>h.mutate(t.id),children:[(0,J.jsx)(G,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`proposals.reject`)})]})]})]},t.id)})}),(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.note`)})]}):null]})}function Kt({language:e,draft:t,streaming:n,imageData:r,uploadingDocument:a,onDraftChange:o,onImageDataChange:s,onUploadDocument:c,onSend:l,onStop:u,attachments:d}){let f=q.useRef(null),p=q.useRef(null),[m,h]=q.useState(!1),g=q.useId(),_=q.useRef(null),v=q.useRef(0);q.useEffect(()=>{let e=f.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,152)}px`)},[t]);let y=()=>{_.current!==null&&(window.clearTimeout(_.current),_.current=null)},b=()=>{y(),_.current=window.setTimeout(()=>{let e=p.current;e&&(e.contains(document.activeElement)||e.querySelector(`.brain-ingestion-dock-popover`)||a||h(!1))},240)};return q.useEffect(()=>y,[]),q.useEffect(()=>{if(!m)return;let e=e=>{let t=e.target;t&&p.current?.contains(t)||h(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[m]),(0,J.jsxs)(`div`,{className:`brain-composer`,"aria-busy":n,children:[(0,J.jsx)(`textarea`,{ref:f,rows:1,value:t,onChange:e=>o(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),l())},"aria-label":i(e,`brain.placeholder`),"aria-describedby":`brain-composer-hint`,"aria-keyshortcuts":`Control+K Meta+K`,placeholder:i(e,`brain.placeholder`)}),(0,J.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,J.jsxs)(`div`,{ref:p,className:`brain-attach ${m?`is-open`:``}`,onPointerEnter:e=>{e.pointerType===`mouse`&&(y(),h(e=>(e||(v.current=Date.now()),!0)))},onPointerLeave:e=>{e.pointerType===`mouse`&&b()},onKeyDown:e=>{e.key!==`Escape`||!m||p.current?.querySelector(`.brain-ingestion-dock-popover`)||(e.preventDefault(),e.stopPropagation(),h(!1))},children:[(0,J.jsxs)(`button`,{type:`button`,className:`brain-attach-toggle`,"aria-expanded":m,"aria-controls":m?g:void 0,"aria-label":i(e,`brain.composer.attach.aria`),"data-testid":`brain-attach-toggle`,onClick:()=>{h(e=>e?Date.now()-v.current<350:(v.current=Date.now(),!0))},children:[(0,J.jsx)(Ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.composer.attach`)})]}),m?(0,J.jsxs)(`div`,{id:g,className:`brain-composer-attachments`,"data-testid":`brain-attach-menu`,role:`group`,"aria-label":i(e,`brain.composer.attachments`),children:[(0,J.jsxs)(`label`,{className:`brain-document-input ${a?`is-disabled`:``}`,children:[(0,J.jsx)(Be,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:a?i(e,`brain.upload.uploading`):i(e,`brain.upload.ctaShort`)}),(0,J.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:a,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&c(t)}})]}),(0,J.jsxs)(`label`,{className:`brain-image-input`,children:[(0,J.jsx)(He,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.image`)}),(0,J.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&s(await qt(t))}})]}),d]}):null,r?(0,J.jsx)(`span`,{className:`brain-quiet-success`,children:i(e,`brain.imageAttached`)}):null]}),(0,J.jsx)(`span`,{id:`brain-composer-hint`,className:`brain-composer-hint`,children:i(e,`brain.composer.hint`)}),n&&u?(0,J.jsxs)(K,{onClick:u,variant:`outline`,className:`brain-composer-submit`,children:[(0,J.jsx)(tt,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,i(e,`brain.stop`)]}):(0,J.jsxs)(K,{onClick:l,disabled:!t.trim()||n,className:`brain-composer-submit`,children:[(0,J.jsx)($e,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,i(e,`brain.send`)]})]})]})}function qt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var Jt=Se(),Z=[`features`];function Yt({language:e}){let t=l(),[n,a]=q.useState(``),o=u({queryKey:Z,queryFn:r.features}),s=d({mutationFn:e=>r.setFeature(e.id,e.value),onMutate:async e=>{await t.cancelQueries({queryKey:Z});let n=t.getQueryData(Z);return t.setQueryData(Z,t=>Qt(t,e.id,e.value)),a(``),{previous:n}},onSuccess:(n,r,o)=>{if(n.ok){a(i(e,`brain.features.saved`)),t.invalidateQueries({queryKey:Z});return}t.setQueryData(Z,o?.previous),a(n.error||i(e,`brain.features.failed`))},onError:(n,r,o)=>{t.setQueryData(Z,o?.previous),a(i(e,`brain.features.failed`))}}),c=o.data?.ok?o.data.data:void 0,f=c?.features??[],p=new Set(f.filter(e=>e.current===!0).map(e=>e.id));return(0,J.jsxs)(`section`,{className:`brain-features-panel`,"aria-label":i(e,`brain.features.aria`),"aria-busy":s.isPending,children:[(0,J.jsxs)(`header`,{className:`brain-features-head`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.features.title`)}),(0,J.jsx)(`p`,{children:c?.note||i(e,`brain.features.note`)})]}),o.isLoading?(0,J.jsx)(`p`,{className:`brain-features-loading`,children:i(e,`ui.loading`)}):null,!o.isLoading&&f.length===0?(0,J.jsx)(se,{title:i(e,`brain.features.empty`),detail:o.data?.error}):null,f.length?(0,J.jsx)(`ul`,{className:`brain-features-list`,children:f.map(t=>(0,J.jsx)(Xt,{feature:t,language:e,dormant:!!t.parent&&!p.has(String(t.parent)),busy:s.isPending,onChange:e=>s.mutate({id:t.id,value:e})},t.id))}):null,(0,J.jsx)(`p`,{className:`brain-features-notice`,role:`status`,"aria-live":`polite`,children:n})]})}function Xt({feature:e,language:t,dormant:n,busy:r,onChange:a}){let o=e.current===!0;return(0,J.jsxs)(`li`,{className:`brain-feature-row${e.parent?` is-child`:``}${o?` is-on`:``}`,"data-testid":`feature-row-${e.id}`,children:[(0,J.jsxs)(`div`,{className:`brain-feature-copy`,children:[(0,J.jsxs)(`span`,{className:`brain-feature-name`,children:[e.label,e.source===`env`?(0,J.jsx)(`em`,{className:`brain-feature-source`,title:i(t,`brain.features.source.env.detail`,{flag:e.env_var}),children:i(t,`brain.features.source.env`)}):null,n?(0,J.jsx)(`em`,{className:`brain-feature-source`,children:i(t,`brain.features.dormant`)}):null]}),(0,J.jsx)(`span`,{className:`brain-feature-summary`,children:e.summary}),e.caution?(0,J.jsxs)(`span`,{className:`brain-feature-caution`,children:[(0,J.jsx)(Ue,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}),e.caution]}):null]}),e.kind===`choice`?(0,J.jsx)(Zt,{feature:e,language:t,busy:r,onChange:a}):(0,J.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":o,"aria-label":e.label,className:`brain-feature-switch`,"data-testid":`feature-switch-${e.id}`,onClick:()=>{r||a(!o)},children:[(0,J.jsx)(`span`,{className:`brain-feature-switch-track`,"aria-hidden":`true`,children:(0,J.jsx)(`span`,{className:`brain-feature-switch-thumb`})}),(0,J.jsx)(`span`,{className:`brain-feature-state`,children:i(t,o?`brain.features.on`:`brain.features.off`)})]})]})}function Zt({feature:e,language:t,busy:n,onChange:r}){return(0,J.jsx)(`div`,{className:`brain-feature-choices`,role:`radiogroup`,"aria-label":e.label,"data-testid":`feature-choices-${e.id}`,children:e.choices.map(a=>(0,J.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":e.current===a.id,className:e.current===a.id?`is-active`:``,"data-testid":`feature-choice-${e.id}-${a.id}`,disabled:!a.available,title:a.detail||void 0,onClick:()=>{n||r(a.id)},children:[a.label,a.available?null:(0,J.jsx)(`em`,{children:i(t,`brain.features.installRequired`)})]},a.id))})}function Qt(e,t,n){let r=e;return!r?.ok||!r.data?e:{...r,data:{...r.data,features:r.data.features.map(e=>e.id===t?{...e,current:n,source:`user`}:e)}}}var $t=[{x:62,y:26},{x:78,y:26},{x:93,y:26},{x:62,y:45},{x:78,y:45},{x:93,y:45},{x:70,y:64},{x:86,y:64}];function Q(e){let t=String(e??``).trim();return!t||/^[A-Za-z][\w-]*[-_]?\d{6,}$/.test(t)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)||/^\d+$/.test(t)?``:t}var en=[`chat`,`file`,`folder`,`note`,`web`],tn={chat:qe,file:Be,folder:B,note:ze,web:de};function nn(e){return!!(e&&e.stage!==`complete`&&e.stage!==`error`)}q.memo(function({language:e,brainState:t,intensity:n,graph:r,readiness:a,brief:o,memories:s,ingestionStates:c,emergenceEvents:l,streaming:u,onExploreBrain:d}){let p=l[0],m=q.useMemo(()=>{let e=new Map;for(let t of r.edges)e.set(t.source,(e.get(t.source)??0)+1),e.set(t.target,(e.get(t.target)??0)+1);let t=new Set(p?.nodeIds??[]);return[...r.nodes].sort((n,r)=>Number(t.has(r.id))-Number(t.has(n.id))||(e.get(r.id)??0)-(e.get(n.id)??0)||r.importance-n.importance).slice(0,$t.length)},[r.edges,r.nodes,p?.nodeIds]),g=q.useMemo(()=>new Map(m.map((e,t)=>[e.id,$t[t]])),[m]),_=q.useMemo(()=>r.edges.filter(e=>g.has(e.source)&&g.has(e.target)).slice(0,16),[r.edges,g]),v=en.map(e=>c[e]).find(e=>nn(e)),y=q.useMemo(()=>new Set(p?.nodeIds??[]),[p]),b=u||!!v,x=u?`chat`:v?.sourceType,S=Q(v?.label)||Q(p?.label)||Q(o.focus.title)||Q(s[0]?.title)||i(e,`brain.flow.source.empty`),C=v?i(e,`brain.ingest.stage.${v.stage}.hint`):p?i(e,`brain.flow.status.emerged`,{memories:p.newMemories,entities:p.newEntities}):m.length?i(e,`brain.flow.status.ready`,{focus:Q(o.focus.title)||Q(m[0]?.label)||`Brain`}):i(e,`brain.flow.status.empty`),w=Math.max(a.signals.memoryCount,s.length),T=Math.max(a.signals.conceptCount,r.nodes.length),E=Math.max(a.signals.relationshipCount,r.edges.length);return(0,J.jsxs)(`section`,{className:`brain-knowledge-flow ${b?`is-absorbing`:``}`,"data-source":x||`idle`,"data-stage":v?.stage||(p?`connected`:`ready`),"data-brain-state":t,"aria-labelledby":`brain-home-title`,children:[(0,J.jsxs)(`header`,{className:`brain-flow-heading`,children:[(0,J.jsxs)(`div`,{className:`brain-flow-heading-copy`,children:[(0,J.jsx)(`span`,{className:`brain-home-kicker`,children:i(e,`brain.home.kicker`)}),(0,J.jsx)(`h1`,{id:`brain-home-title`,children:i(e,`brain.firstScreen.title`)}),(0,J.jsx)(`p`,{children:i(e,`brain.firstScreen.body`)})]}),(0,J.jsxs)(`div`,{className:`brain-flow-vital`,"data-state":t,children:[(0,J.jsxs)(`span`,{"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{})]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.flow.vital`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.living.state.${t}`)})]})]})]}),(0,J.jsxs)(`div`,{className:`brain-flow-canvas`,"data-testid":`brain-knowledge-flow`,children:[(0,J.jsxs)(`div`,{className:`brain-flow-sources`,"aria-label":i(e,`brain.flow.sources.aria`),children:[(0,J.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.sources`)}),en.map(t=>{let n=tn[t],r=c[t],a=t===x,o=r?.stage===`complete`;return(0,J.jsxs)(`span`,{className:`brain-flow-source ${a?`is-active`:``} ${o?`is-remembered`:``}`,"aria-current":a?`step`:void 0,children:[(0,J.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.ingest.type.${t}`)]},t)})]}),(0,J.jsxs)(`svg`,{className:`brain-flow-transfer`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,J.jsx)(`path`,{className:`brain-flow-transfer-path`,d:`M20 50 C28 50 31 50 38 50`}),(0,J.jsx)(`path`,{className:`brain-flow-transfer-path is-output`,d:`M54 50 C59 50 62 50 67 50`}),b?Array.from({length:4}).map((e,t)=>(0,J.jsx)(`circle`,{className:`brain-flow-particle`,r:`0.8`,style:{animationDelay:`${t*240}ms`},children:(0,J.jsx)(`animateMotion`,{dur:`1.7s`,repeatCount:`indefinite`,path:`M20 50 C28 50 31 50 43 50`})},t)):null,m.length?Array.from({length:3}).map((e,t)=>(0,J.jsx)(`circle`,{className:`brain-flow-particle is-output`,r:`0.66`,children:(0,J.jsx)(`animateMotion`,{begin:`${t*1.15}s`,dur:b?`2.1s`:`4.2s`,repeatCount:`indefinite`,path:`M51 50 C58 46 61 44 70 42`})},`output-${t}`)):null]}),(0,J.jsxs)(`div`,{className:`brain-flow-organism`,children:[(0,J.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.memory`)}),(0,J.jsx)(h,{state:t,intensity:b?Math.max(n,.9):n,size:`large`,depth:a.depth,showLabel:!1,onInteract:d}),(0,J.jsxs)(`span`,{className:`brain-flow-organism-vital`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),i(e,`brain.living.state.${t}`)]})]}),(0,J.jsxs)(`div`,{className:`brain-flow-graph`,"aria-label":i(e,`brain.flow.graph.aria`,{concepts:T,relationships:E}),children:[(0,J.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.graph`)}),(0,J.jsx)(`svg`,{className:`brain-flow-edges`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:_.map((e,t)=>{let n=g.get(e.source),r=g.get(e.target);return!n||!r?null:(0,J.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,vectorEffect:`non-scaling-stroke`,style:{animationDelay:`${t*-.72}s`}},e.id)})}),m.length?m.map((t,n)=>{let r=$t[n];return(0,J.jsxs)(`button`,{type:`button`,className:`brain-flow-node ${y.has(t.id)?`is-emerging`:``}`,style:{left:`${r.x}%`,top:`${r.y}%`},"aria-label":i(e,`brain.flow.node.aria`,{label:t.label,type:t.type}),title:t.summary||t.type,onClick:d,children:[(0,J.jsx)(`span`,{children:t.type}),(0,J.jsx)(`strong`,{children:t.label})]},t.id)}):(0,J.jsxs)(`div`,{className:`brain-flow-empty-graph`,children:[(0,J.jsx)(V,{className:`h-5 w-5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.flow.graph.empty`)})]}),(0,J.jsx)(`ul`,{className:`sr-only`,children:_.map(e=>{let t=m.find(t=>t.id===e.source),n=m.find(t=>t.id===e.target);return!t||!n?null:(0,J.jsxs)(`li`,{children:[t.label,` — `,e.label,` — `,n.label]},`accessible-${e.id}`)})})]}),(0,J.jsxs)(`div`,{className:`brain-flow-live-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[(0,J.jsx)(`span`,{className:`brain-flow-status-icon`,"aria-hidden":`true`,children:b?(0,J.jsx)(L,{className:`h-4 w-4`}):(0,J.jsx)(R,{className:`h-4 w-4`})}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:S}),(0,J.jsx)(`small`,{children:C})]})]}),(0,J.jsxs)(`ol`,{className:`brain-flow-path`,"aria-label":i(e,`brain.flow.path.aria`),children:[(0,J.jsxs)(`li`,{"data-active":!!x,children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.input`)}),(0,J.jsx)(`strong`,{children:x?i(e,`brain.ingest.type.${x}`):i(e,`brain.flow.path.waiting`)})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`li`,{"data-active":b,children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.memory`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.flow.path.memoryCount`,{count:w})})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.connections`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.flow.path.graphCount`,{concepts:T,relationships:E})})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.automation`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.flow.path.actionCount`,{count:o.proactiveActions.length})})]})]})]})]})});function rn({language:e,brief:t,activities:n,streaming:r,onAction:a,compact:o=!1}){let s=q.useRef(null),c=t.proactiveActions.slice(0,3),l=t.evidence.filter(e=>e.value>0).slice(0,3),u=t.focus.title||i(e,`brain.brief.focus.empty`),d=()=>{let e=s.current;e&&(e.removeAttribute(`open`),e.querySelector(`summary`)?.focus())};if(o){let t=c[0];return(0,J.jsxs)(`section`,{className:`brain-memory-automation is-compact ${c.length>1?`has-more-actions`:c.length===1?`has-single-action`:`has-no-actions`}`,"data-testid":`brain-automation-dock`,"aria-labelledby":`brain-memory-automation-compact-title`,children:[(0,J.jsxs)(`div`,{className:`brain-automation-compact-head`,children:[(0,J.jsx)(`span`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,J.jsx)(g,{className:`h-4 w-4`})}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.automation.kicker`)}),(0,J.jsx)(`strong`,{id:`brain-memory-automation-compact-title`,children:i(e,`brain.automation.title`)})]}),c.length>1?(0,J.jsxs)(`details`,{ref:s,className:`brain-automation-more`,"data-testid":`brain-automation-more`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),d())},children:[(0,J.jsx)(`summary`,{"aria-label":i(e,`brain.automation.more`),children:(0,J.jsx)(Ee,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,J.jsxs)(`div`,{className:`brain-automation-more-popover`,children:[(0,J.jsxs)(`header`,{className:`brain-automation-more-head`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.automation.title`)}),(0,J.jsx)(`button`,{type:`button`,"aria-label":i(e,`brain.automation.close`),onClick:d,children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,J.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,J.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>a(t),children:[(0,J.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:on(t.intent)}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,t.detailKey)})]}),(0,J.jsx)(`em`,{children:i(e,sn(t.intent))}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}),(0,J.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,J.jsx)(Oe,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.automation.guard`)})]}),n.length?(0,J.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":i(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,J.jsxs)(`li`,{"data-status":t.status,children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`span`,{children:i(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})]}):null]}),(0,J.jsx)(`span`,{className:`brain-automation-compact-focus`,title:u,children:u}),t?(0,J.jsxs)(`button`,{type:`button`,className:`brain-automation-primary-action`,disabled:r,onClick:()=>a(t),children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,children:on(t.intent)}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,sn(t.intent))})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]}):(0,J.jsx)(`p`,{className:`brain-automation-empty`,children:i(e,`brain.automation.empty`)})]})}return(0,J.jsxs)(`section`,{className:`brain-memory-automation`,"aria-labelledby":`brain-memory-automation-title`,children:[(0,J.jsxs)(`div`,{className:`brain-memory-automation-head`,children:[(0,J.jsx)(`div`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,J.jsx)(g,{className:`h-5 w-5`})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.automation.kicker`)}),(0,J.jsx)(`h2`,{id:`brain-memory-automation-title`,children:i(e,`brain.automation.title`)}),(0,J.jsx)(`p`,{children:i(e,`brain.automation.body`)})]})]}),(0,J.jsxs)(`div`,{className:`brain-automation-grounding`,children:[(0,J.jsx)(me,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.automation.basedOn`)}),(0,J.jsx)(`strong`,{children:u}),t.focus.empty?null:(0,J.jsx)(`em`,{children:t.focus.source})]}),l.length?(0,J.jsx)(`div`,{className:`brain-automation-evidence`,"aria-label":i(e,`brain.brief.evidence.aria`),children:l.map(t=>(0,J.jsxs)(`span`,{title:i(e,t.detailKey),children:[(0,J.jsx)(`strong`,{children:t.value}),` `,i(e,t.labelKey)]},t.id))}):null]}),c.length?(0,J.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,J.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>a(t),children:[(0,J.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:on(t.intent)}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,t.detailKey)})]}),(0,J.jsx)(`em`,{children:i(e,sn(t.intent))}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}):(0,J.jsx)(`p`,{className:`brain-automation-empty`,children:i(e,`brain.automation.empty`)}),(0,J.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,J.jsx)(Oe,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.automation.guard`)})]}),n.length?(0,J.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":i(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,J.jsxs)(`li`,{"data-status":t.status,children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`span`,{children:i(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})}function an({language:e,state:t,concepts:n,relationshipCount:r,onExploreBrain:a}){return(0,J.jsxs)(`div`,{className:`brain-conversation-trace ${nn(t)?`is-active`:``}`,role:`status`,"aria-live":`polite`,children:[(0,J.jsxs)(`span`,{className:`brain-conversation-trace-source`,children:[(0,J.jsx)(qe,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.flow.conversation`)]}),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:`brain-conversation-trace-memory`,children:[(0,J.jsx)(L,{className:`h-4 w-4`,"aria-hidden":`true`}),t?i(e,`brain.ingest.stage.${t.stage}.hint`):i(e,`brain.flow.conversation.ready`)]}),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsxs)(`button`,{type:`button`,onClick:a,children:[(0,J.jsx)(V,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:n.slice(0,3).map(e=>e.label).join(` · `)||i(e,`brain.flow.graph.empty.short`)}),(0,J.jsx)(`small`,{children:i(e,`brain.flow.relationships`,{count:r})})]})]})}function on(e){return e===`delegate`?(0,J.jsx)(g,{className:`h-4 w-4`}):e===`review`?(0,J.jsx)(Qe,{className:`h-4 w-4`}):e===`route`?(0,J.jsx)(V,{className:`h-4 w-4`}):(0,J.jsx)(qe,{className:`h-4 w-4`})}function sn(e){return e===`delegate`?`brain.automation.intent.delegate`:e===`review`?`brain.automation.intent.review`:e===`route`?`brain.automation.intent.route`:`brain.automation.intent.ask`}function cn({memories:e,concepts:t,readiness:n,proof:r,onOpenDepth:a}){let o=s(e=>e.language),c=e.filter(e=>e.agentGenerated).slice(0,3),l=e.filter(e=>!e.agentGenerated),u=l.slice(0,3),d=l.slice(3,6),f=t.slice(0,4),p=r.proofs.hasDurableEvidence||r.modelContinuity.proven,m=r.recall.items.length>0,h=r.modelContinuity.proven&&r.claims.keepsContextAcrossModels?r.modelContinuity.activeModel||i(o,`brain.proof.noModel`):i(o,`brain.proof.modelPending`);return(0,J.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":i(o,`brain.aria.overview`),children:[(0,J.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(o,`brain.overview.kicker`)}),(0,J.jsx)(`strong`,{children:i(o,`brain.overview.title`)})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(5),children:i(o,`brain.overview.graph`)})]}),(0,J.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,J.jsx)(un,{title:i(o,`brain.overview.agent`),empty:i(o,`brain.overview.agentEmpty`),items:c.map(e=>e.title),featured:c.length>0,onOpen:()=>a(2)}),(0,J.jsx)(un,{title:i(o,`brain.overview.recent`),empty:i(o,`brain.overview.recentEmpty`),items:u.map(e=>e.title),onOpen:()=>a(2)}),(0,J.jsx)(un,{title:i(o,`brain.overview.older`),empty:i(o,`brain.overview.olderEmpty`),items:d.map(e=>e.title),onOpen:()=>a(2)}),(0,J.jsx)(un,{title:i(o,`brain.overview.topics`),empty:i(o,`brain.overview.topicsEmpty`),items:f.map(e=>e.label),onOpen:()=>a(3)})]}),(0,J.jsxs)(`div`,{className:`brain-readiness-strip`,"data-state":n.state,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(o,`brain.readiness.kicker`)}),(0,J.jsx)(`strong`,{children:i(o,n.titleKey)})]}),(0,J.jsx)(`div`,{className:`brain-readiness-meter`,"aria-label":i(o,`brain.readiness.aria`),children:(0,J.jsx)(`i`,{style:{width:`${n.score}%`}})}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(n.depth),children:i(o,n.actionKey)})]}),(0,J.jsxs)(`div`,{className:`brain-proof-strip`,"aria-label":i(o,`brain.proof.aria`),children:[(0,J.jsx)(ln,{icon:(0,J.jsx)(Ie,{className:`h-4 w-4`}),label:i(o,`brain.proof.context`),value:p?i(o,`brain.proof.contextValue`,{count:r.proofs.durableItems}):i(o,`brain.proof.contextEmpty`)}),(0,J.jsx)(ln,{icon:(0,J.jsx)(Xe,{className:`h-4 w-4`}),label:i(o,`brain.proof.model`),value:h}),(0,J.jsx)(ln,{icon:(0,J.jsx)(v,{className:`h-4 w-4`}),label:i(o,`brain.proof.store`),value:i(o,`brain.proof.storeValue`,{topics:r.proofs.graphConcepts,vectors:r.proofs.vectorItems})})]}),m?(0,J.jsxs)(`button`,{type:`button`,className:`brain-recall-proof`,onClick:()=>a(2),children:[(0,J.jsx)(`span`,{children:i(o,`brain.proof.recall`)}),(0,J.jsx)(`strong`,{children:r.recall.items[0].title}),(0,J.jsx)(`small`,{children:r.recall.items[0].snippet||r.recall.query})]}):(0,J.jsxs)(`div`,{className:`brain-recall-proof is-empty`,role:`status`,children:[(0,J.jsx)(`span`,{children:i(o,`brain.proof.recallEmpty.kicker`)}),(0,J.jsx)(`strong`,{children:i(o,p?`brain.proof.recallPending`:`brain.proof.recallEmpty.title`)}),(0,J.jsx)(`small`,{children:i(o,p?`brain.proof.recallPending.detail`:`brain.proof.recallEmpty.detail`)})]})]})}function ln({icon:e,label:t,value:n}){return(0,J.jsxs)(`div`,{className:`brain-proof-point`,children:[e,(0,J.jsx)(`span`,{children:t}),(0,J.jsx)(`strong`,{children:n})]})}function un({title:e,empty:t,items:n,featured:r=!1,onOpen:i}){return(0,J.jsxs)(`button`,{type:`button`,className:`brain-overview-column${r?` is-featured`:``}`,onClick:i,children:[(0,J.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,J.jsx)(`strong`,{children:e},e)):(0,J.jsx)(`em`,{children:t})]})}var dn={chat:`brain.ingest.type.chat`,file:`brain.ingest.type.file`,folder:`brain.ingest.type.folder`,note:`brain.ingest.type.note`,web:`brain.ingest.type.web`};function fn({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:a,onConnectFolder:o,onIngestNote:s,onIngestWeb:c}){let[l,u]=q.useState(``),[d,f]=q.useState(``),[p,m]=q.useState(``);return(0,J.jsxs)(`section`,{className:`brain-ingestion-panel`,"aria-label":i(e,`brain.ingest.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-ingestion-head`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.ingest.kicker`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.ingest.title`)})]}),(0,J.jsxs)(`div`,{className:`brain-ingestion-grid`,children:[(0,J.jsxs)(`label`,{className:`brain-ingest-tile is-primary ${$(n.file)} ${t?`is-disabled`:``}`,children:[(0,J.jsx)(Be,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:t?i(e,`brain.upload.uploading`):i(e,`brain.ingest.file`)}),(0,J.jsx)(`small`,{children:i(e,`brain.ingest.file.detail`)}),(0,J.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:t,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&r(t)}}),(0,J.jsx)(hn,{language:e,state:n.file,ctaKey:`brain.ingest.cta.file`})]}),(0,J.jsxs)(`form`,{className:`brain-ingest-tile ${$(n.folder)}`,onSubmit:e=>{e.preventDefault(),o(l),u(``)},children:[(0,J.jsx)(ue,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.folder`)}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-ingest-folder-picker`,onClick:a,children:[(0,J.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`capture.local.choose`)]}),(0,J.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:i(e,`brain.ingest.folder.placeholder`)}),(0,J.jsx)(hn,{language:e,state:n.folder,ctaKey:`brain.ingest.cta.folder`})]}),(0,J.jsxs)(`form`,{className:`brain-ingest-tile ${$(n.note)}`,onSubmit:e=>{e.preventDefault(),s(d),f(``)},children:[(0,J.jsx)(ze,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.note`)}),(0,J.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:i(e,`brain.ingest.note.placeholder`)}),(0,J.jsx)(hn,{language:e,state:n.note,ctaKey:`brain.ingest.cta.note`})]}),(0,J.jsxs)(`form`,{className:`brain-ingest-tile ${$(n.web)}`,onSubmit:e=>{e.preventDefault(),c(p),m(``)},children:[(0,J.jsx)(de,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.web`)}),(0,J.jsx)(`input`,{value:p,onChange:e=>m(e.target.value),placeholder:i(e,`brain.ingest.web.placeholder`)}),(0,J.jsx)(hn,{language:e,state:n.web,ctaKey:`brain.ingest.cta.web`})]})]})]})}function pn({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:a,onConnectFolder:o,onIngestNote:s,onIngestWeb:c,variant:l=`panel`}){let[u,d]=q.useState(null),[f,p]=q.useState(``),[m,h]=q.useState(``),[g,_]=q.useState(``),v=q.useId(),y=e=>{d(t=>t===e?null:e)},b=e=>{if(e===`folder`){if(!f.trim())return;o(f),p(``)}else if(e===`note`){if(!m.trim())return;s(m),h(``)}else{if(!g.trim())return;c(g),_(``)}d(null)};return(0,J.jsxs)(`section`,{className:`brain-ingestion-dock${l===`inline`?` is-inline`:``}`,"data-testid":`brain-ingestion-dock`,"aria-label":i(e,`brain.ingest.aria`),onKeyDown:e=>{e.key===`Escape`&&d(null)},children:[l===`inline`?null:(0,J.jsxs)(`div`,{className:`brain-ingestion-dock-head`,children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.ingest.kicker`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.ingest.dock.title`)})]})]}),(0,J.jsxs)(`div`,{className:`brain-ingestion-dock-actions`,children:[(0,J.jsxs)(`label`,{className:`brain-ingestion-dock-action ${$(n.file)} ${t?`is-disabled`:``}`,children:[(0,J.jsx)(Be,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.type.file`)}),(0,J.jsx)(`i`,{"aria-hidden":`true`}),(0,J.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:t,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&r(t)}})]}),[[`folder`,B],[`note`,ze],[`web`,de]].map(([t,r])=>(0,J.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-action ${$(n[t])}`,"aria-expanded":u===t,"aria-controls":u===t?v:void 0,onClick:()=>y(t),children:[(0,J.jsx)(r,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.type.${t}`)}),(0,J.jsx)(`i`,{"aria-hidden":`true`})]},t))]}),u?(0,J.jsxs)(`div`,{id:v,className:`brain-ingestion-dock-popover`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.ingest.${u}`)}),(0,J.jsx)(`button`,{type:`button`,"aria-label":i(e,`brain.ingest.dock.close`),onClick:()=>d(null),children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),u===`folder`?(0,J.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-picker`,onClick:a,children:[(0,J.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`capture.local.choose`)]}):null,(0,J.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),b(u)},children:[(0,J.jsx)(`input`,{autoFocus:!0,value:u===`folder`?f:u===`note`?m:g,onChange:e=>{u===`folder`?p(e.target.value):u===`note`?h(e.target.value):_(e.target.value)},placeholder:i(e,`brain.ingest.${u}.placeholder`),"aria-label":i(e,`brain.ingest.${u}.placeholder`)}),(0,J.jsx)(`button`,{type:`submit`,"aria-label":i(e,`brain.action.add`),children:(0,J.jsx)(Me,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,J.jsx)(hn,{language:e,state:n[u],ctaKey:`brain.ingest.cta.${u}`})]}):null]})}function $(e){return e?e.stage===`error`?`is-failed`:e.stage===`complete`?`is-emerged`:`is-ingesting`:``}var mn={preparing:`brain.ingest.stage.preparing.hint`,parsing:`brain.ingest.stage.parsing.hint`,embedding:`brain.ingest.stage.embedding.hint`,indexing:`brain.ingest.stage.indexing.hint`,complete:`brain.ingest.stage.complete.hint`,error:`brain.ingest.stage.error`};function hn({language:e,state:t,ctaKey:n}){if(!t)return(0,J.jsx)(`small`,{className:`brain-ingest-cta`,children:i(e,n)});let r=t.stage===`error`,a=t.stage===`complete`,o=t.newMemories>0||t.newEntities>0;return(0,J.jsxs)(`div`,{className:`brain-ingest-progress`,role:`status`,"aria-live":`polite`,"aria-label":i(e,`brain.ingest.progress.aria`,{label:t.label}),children:[(0,J.jsx)(`div`,{className:`brain-ingest-stage-badges`,"aria-hidden":`true`,children:(0,J.jsxs)(`span`,{className:`brain-ingest-stage-badge ${r?`is-failed`:a?`is-done`:`is-active`}`,children:[!r&&!a?(0,J.jsx)(I,{className:`h-3 w-3 brain-ingest-spin`}):null,i(e,`brain.ingest.stage.${t.stage}`)]})}),(0,J.jsx)(`small`,{className:`brain-ingest-stage-hint ${r?`is-failed`:a?`is-emerged`:``}`,children:r?i(e,`brain.ingest.stage.error`):a?o?i(e,`brain.ingest.result`,{memories:t.newMemories,entities:t.newEntities}):i(e,`brain.ingest.result.empty`):i(e,mn[t.stage])}),a&&o?(0,J.jsxs)(`span`,{className:`lattice-inflow`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{})]}):null,a?(0,J.jsx)(gn,{language:e,state:t}):null]})}function gn({language:e,state:t}){let n=t.extraction;if(!n||n.level!==`low`)return null;let r=n.warnings.slice(0,3);return(0,J.jsxs)(`div`,{className:`brain-ingest-quality-note`,role:`note`,"data-testid":`extraction-quality-note`,children:[(0,J.jsx)(`p`,{children:i(e,`brain.ingest.quality.low`)}),r.length?(0,J.jsx)(`ul`,{children:r.map(e=>(0,J.jsx)(`li`,{children:e},e))}):null]})}function _n(e,t,n){let r=Math.floor((n-t)/6e4);return r<1?i(e,`brain.timeline.justNow`):i(e,`brain.timeline.minutesAgo`,{count:r})}function vn({language:e,emergenceEvents:t}){let n=Date.now();return(0,J.jsxs)(`section`,{className:`brain-emergence-timeline`,"aria-label":i(e,`brain.timeline.aria`),"aria-live":`polite`,children:[(0,J.jsxs)(`div`,{className:`brain-emergence-head`,children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`}),(0,J.jsx)(`strong`,{children:i(e,`brain.timeline.emergenceTitle`)}),(0,J.jsx)(`span`,{children:i(e,`brain.timeline.recent`)})]}),t.length===0?(0,J.jsx)(`p`,{className:`brain-emergence-empty`,children:i(e,`brain.timeline.empty`)}):(0,J.jsx)(`ol`,{className:`brain-emergence-list`,children:t.map(t=>(0,J.jsxs)(`li`,{className:`brain-emergence-item`,children:[(0,J.jsx)(`span`,{className:`brain-emergence-type`,children:i(e,dn[t.sourceType])}),(0,J.jsx)(`span`,{className:`brain-emergence-label`,children:t.label}),(0,J.jsxs)(`span`,{className:`brain-emergence-counts`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.timeline.newMemories`,{count:t.newMemories})}),(0,J.jsx)(`strong`,{children:i(e,`brain.timeline.newEntities`,{count:t.newEntities})})]}),(0,J.jsx)(`time`,{className:`brain-emergence-at`,children:_n(e,t.at,n)})]},t.id))})]})}function yn({language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:s,onExploreBrain:c,onOpenDepth:l}){let[u,d]=q.useState(null),f=q.useMemo(()=>{let e=a.filter(e=>e.kind===`Conversation`),t=a.filter(e=>e.kind!==`Conversation`).sort((e,t)=>Number(t.agentGenerated)-Number(e.agentGenerated));return[{id:`now`,depth:1,labelKey:`brain.rings.1`,emptyKey:`brain.rings.empty.now`,position:`top`,count:e.length,items:e.slice(0,3).map(e=>e.title)},{id:`memories`,depth:2,labelKey:`brain.rings.2`,emptyKey:`brain.rings.empty.memories`,position:`left`,count:t.length,items:t.slice(0,3).map(e=>e.title)},{id:`topics`,depth:3,labelKey:`brain.rings.3`,emptyKey:`brain.rings.empty.topics`,position:`bottom`,count:o.length,items:o.slice(0,3).map(e=>e.label)},{id:`graph`,depth:5,labelKey:`brain.rings.5`,emptyKey:`brain.rings.empty.graph`,position:`right`,count:s,items:[]}]},[a,o,s]);q.useEffect(()=>{if(u===null)return;let e=e=>{e.key===`Escape`&&d(null)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u]);let p=f.find(e=>e.id===u)??null;return(0,J.jsxs)(`div`,{className:`brain-rings`,"aria-label":i(e,`brain.rings.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-concentric-container`,children:[(0,J.jsx)(`div`,{className:`brain-orbit-field`,"aria-hidden":`true`,children:f.map((e,t)=>(0,J.jsx)(`div`,{className:`brain-concentric-ring ring-${t+1} ${e.count>0?`is-populated`:`is-dormant`}`},e.id))}),f.map(t=>(0,J.jsxs)(`button`,{type:`button`,className:`ring-label ring-label-${t.position} ${t.count>0?`is-populated`:``} ${u===t.id?`is-active`:``}`,"aria-expanded":u===t.id,"aria-controls":`brain-ring-peek`,"aria-label":i(e,`brain.rings.peek.aria`,{label:i(e,t.labelKey),count:t.count}),onClick:()=>d(e=>e===t.id?null:t.id),children:[i(e,t.labelKey),(0,J.jsx)(`em`,{children:t.count})]},t.id)),(0,J.jsx)(`div`,{className:`brain-center-orb`,children:(0,J.jsx)(h,{state:t,intensity:n,size:`large`,depth:r.depth||Math.max(1,Math.floor(r.score/20)),showLabel:!1,className:`brain-home-presence`,onInteract:c})})]}),p?(0,J.jsxs)(`section`,{id:`brain-ring-peek`,className:`brain-ring-peek`,"aria-label":i(e,`brain.rings.peek.title`,{label:i(e,p.labelKey)}),children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{children:i(e,p.labelKey)}),(0,J.jsx)(`span`,{children:i(e,`brain.rings.count`,{count:p.count})}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>d(null),"aria-label":i(e,`brain.rings.close`),children:`×`})]}),p.items.length?(0,J.jsx)(`ul`,{children:p.items.map(e=>(0,J.jsx)(`li`,{children:e},e))}):(0,J.jsx)(`p`,{children:i(e,p.count>0?`brain.rings.peek.summary`:p.emptyKey,{count:p.count})}),(0,J.jsx)(`button`,{type:`button`,className:`brain-ring-peek-deeper`,onClick:()=>l(p.depth),children:i(e,`brain.rings.deeper`)})]}):null]})}function bn({language:e}){let t=i(e,`brain.noModel.banner`);return(0,J.jsxs)(`div`,{className:`brain-model-missing`,role:`note`,"aria-label":t,title:t,children:[(0,J.jsx)(ce,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`brain-model-missing-text`,children:i(e,`brain.noModel.pill`)}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>U(`/models`),children:[i(e,`brain.noModel.cta`),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]})]})}function xn(e,t){if(!t)return``;let n=e===`ko`?`ko-KR`:`en-US`,r=new Date(t),i=new Date;return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?r.toLocaleTimeString(n,{hour:`2-digit`,minute:`2-digit`}):r.toLocaleDateString(n,{month:`short`,day:`numeric`})}var Sn=5,Cn=20;function wn({language:e,items:t,busyId:n,onResume:r,onDelete:a}){let[o,s]=q.useState(null),[c,l]=q.useState(!1),u=t.slice(0,c?Cn:Sn),d=Math.min(t.length,Cn)-Sn;return u.length?(0,J.jsxs)(`section`,{className:`brain-history-panel`,"aria-label":i(e,`brain.history.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-history-head`,children:[(0,J.jsx)(Te,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,`brain.history.title`)}),(0,J.jsx)(`span`,{children:i(e,`brain.history.hint`)})]}),(0,J.jsx)(`ul`,{className:`brain-history-list`,children:u.map(t=>{let c=n===t.id,l=o===t.id;return(0,J.jsxs)(`li`,{className:`brain-history-item${c?` is-busy`:``}`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`brain-history-resume`,disabled:c,"aria-label":i(e,`brain.history.resumeAria`,{title:t.title}),onClick:()=>r(t.id),children:[c?(0,J.jsx)(I,{className:`h-3.5 w-3.5 brain-ingest-spin`,"aria-hidden":`true`}):null,(0,J.jsx)(`span`,{className:`brain-history-title`,children:t.title}),(0,J.jsxs)(`small`,{children:[i(e,`brain.history.messages`,{count:t.messageCount}),t.updatedAt?` · ${xn(e,t.updatedAt)}`:``]})]}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-history-delete${l?` is-confirming`:``}`,disabled:c,"aria-label":l?i(e,`brain.history.deleteConfirm`):i(e,`brain.history.deleteAria`,{title:t.title}),onClick:()=>{l?(s(null),a(t.id)):s(t.id)},onBlur:()=>s(e=>e===t.id?null:e),children:[(0,J.jsx)(nt,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),l?(0,J.jsx)(`span`,{children:i(e,`brain.history.deleteConfirm`)}):null]})]},t.id)})}),d>0?(0,J.jsx)(`button`,{type:`button`,className:`brain-history-more`,"aria-expanded":c,onClick:()=>l(e=>!e),children:c?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Pe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.history.showLess`)]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(H,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.history.showMore`,{count:d})]})}):null]}):null}function Tn(e,t){if(e.id===`ask_brain`){De();return}if(e.id===`verify_model`){t();return}e.route&&U(e.route)}function En({language:e,brief:t,showEvidence:n=!0,onAction:r}){let a=t.focus.title||i(e,`brain.brief.focus.empty`),o=t.focus.detail||i(e,`brain.brief.focus.empty.detail`),s=t.nextActions.slice(0,3);return(0,J.jsxs)(`section`,{className:`brain-brief-panel`,"aria-label":i(e,`brain.brief.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-brief-copy`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.brief.kicker`)}),(0,J.jsx)(`strong`,{children:i(e,t.headlineKey)}),(0,J.jsx)(`p`,{children:i(e,t.bodyKey,{focus:a})})]}),(0,J.jsxs)(`div`,{className:`brain-brief-focus`,children:[(0,J.jsx)(L,{className:`h-4 w-4`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.brief.focus`)}),(0,J.jsx)(`strong`,{children:a}),(0,J.jsx)(`small`,{children:o})]})]}),n?(0,J.jsx)(`div`,{className:`brain-brief-evidence`,"aria-label":i(e,`brain.brief.evidence.aria`),children:t.evidence.slice(0,3).map(t=>(0,J.jsxs)(`span`,{title:i(e,t.detailKey),children:[(0,J.jsx)(`strong`,{children:t.value}),i(e,t.labelKey)]},t.id))}):null,s.length?(0,J.jsx)(`div`,{className:`brain-brief-actions`,"aria-label":i(e,`brain.brief.actions`),children:s.map(t=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>r(t),children:[Dn(t.id),(0,J.jsx)(`span`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,t.detailKey)})]},t.id))}):null]})}function Dn(e){return e===`add_source`?(0,J.jsx)(Be,{className:`h-4 w-4`}):e===`inspect_topics`?(0,J.jsx)(ve,{className:`h-4 w-4`}):e===`verify_model`?(0,J.jsx)(Xe,{className:`h-4 w-4`}):e===`backup_brain`?(0,J.jsx)(fe,{className:`h-4 w-4`}):(0,J.jsx)(f,{className:`h-4 w-4`})}function On({language:e,proof:t,modelName:n,onVerify:r}){return(0,J.jsxs)(`section`,{className:`brain-model-demo`,"aria-label":i(e,`brain.modelDemo.aria`),children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.modelDemo.kicker`)}),(0,J.jsx)(`strong`,{children:t.modelContinuity.proven?i(e,`brain.modelDemo.proven`):i(e,`brain.modelDemo.pending`)}),(0,J.jsx)(`small`,{children:i(e,`brain.modelDemo.detail`,{model:t.modelContinuity.activeModel||n})})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:r,children:[(0,J.jsx)(Xe,{className:`h-3.5 w-3.5`}),i(e,`brain.modelDemo.verify`)]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>U(`/models`),children:[(0,J.jsx)(ce,{className:`h-3.5 w-3.5`}),i(e,`brain.modelDemo.change`)]})]})}var kn={conversations:`brain.dock.tab.conversations`,stats:`brain.dock.tab.stats`,map:`brain.dock.tab.map`,features:`brain.dock.tab.features`},An={conversations:Te,stats:Ne,map:V,features:et};function jn({language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:c,emergenceEvents:l,proactiveActivities:u,pastConversations:d,historyBusyId:f,streaming:p,modelName:m,proof:h,brief:g,onOpenDepth:_,onExploreBrain:v,onVerifyModelContinuity:y,onProactiveAction:b,onResumeConversation:x,onDeleteConversation:C,onRequestDetails:w}){let T=s(e=>e.mode)===`basic`,[E,D]=q.useState(null),O=E!==null,k=xe(()=>{let e=document.getElementById(`brain-ring-peek`);if(e){e.querySelector(`header button`)?.click();return}D(null)},O),A=e=>{e!==`conversations`&&e!==`features`&&w(),D(t=>t===e&&O?null:e)},j=[`conversations`,`stats`,`map`,`features`];return(0,J.jsxs)(`div`,{className:`brain-home-dock`,"data-testid":`brain-home-dock`,children:[(0,J.jsx)(`div`,{className:`brain-home-dock-rail`,role:`group`,"aria-label":i(e,`brain.dock.aria`),children:j.map(t=>{let n=An[t];return(0,J.jsxs)(`button`,{type:`button`,"data-testid":`brain-dock-${t}`,"aria-expanded":O&&E===t,onClick:()=>A(t),children:[(0,J.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,kn[t])}),t===`conversations`&&d.length?(0,J.jsx)(`small`,{className:`brain-dock-count`,children:d.length}):null]},t)})}),O?(0,Jt.createPortal)((0,J.jsxs)(`div`,{className:`brain-home-dock-layer`,children:[(0,J.jsx)(`div`,{className:`brain-home-dock-scrim`,"aria-hidden":`true`,onClick:()=>D(null)}),(0,J.jsxs)(`aside`,{ref:k,className:`brain-home-drawer`,role:`dialog`,"aria-modal":`true`,"aria-label":i(e,`brain.dock.drawerAria`),"data-testid":`brain-home-drawer`,children:[(0,J.jsxs)(`header`,{className:`brain-home-drawer-head`,children:[(0,J.jsx)(`div`,{className:`brain-home-drawer-tabs`,role:`group`,"aria-label":i(e,`brain.dock.aria`),children:j.map(t=>(0,J.jsx)(`button`,{type:`button`,"aria-pressed":E===t,className:E===t?`is-active`:``,"data-testid":`brain-drawer-tab-${t}`,onClick:()=>A(t),children:i(e,kn[t])},t))}),(0,J.jsx)(`button`,{type:`button`,className:`brain-home-drawer-close`,"aria-label":i(e,`brain.home.shelf.close`),onClick:()=>D(null),children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,J.jsxs)(`div`,{className:`brain-home-drawer-body`,children:[E===`conversations`?(0,J.jsx)(wn,{language:e,items:d,busyId:f,onResume:x,onDelete:C}):null,E===`stats`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(rn,{language:e,brief:g,activities:u,streaming:p,onAction:b}),(0,J.jsx)(En,{language:e,brief:g,showEvidence:!T,onAction:e=>Tn(e,y)}),T?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(vn,{language:e,emergenceEvents:l}),(0,J.jsx)(On,{language:e,proof:h,modelName:m,onVerify:y}),(0,J.jsx)(cn,{memories:a,concepts:o,readiness:r,proof:h,onOpenDepth:_})]}),(0,J.jsx)(Wt,{language:e,variant:`home`}),(0,J.jsx)(S,{language:e}),(0,J.jsx)(ne,{language:e}),(0,J.jsx)(Gt,{language:e}),(0,J.jsx)(It,{language:e}),(0,J.jsx)(Et,{language:e})]}):null,E===`map`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(yn,{language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:c,onExploreBrain:v,onOpenDepth:_}),(0,J.jsx)(Vt,{language:e}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-home-drawer-map-cta`,onClick:v,children:[(0,J.jsx)(V,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.hero.stats.mapCta`)]})]}):null,E===`features`?(0,J.jsx)(Yt,{language:e}):null]})]})]}),document.body):null]})}var Mn=q.memo(function({language:e,brainState:t,intensity:n,readiness:r,memories:a,graph:o,relationshipCount:s,onExploreBrain:c,trailing:l}){let u=Math.max(r.signals.memoryCount,a.length),d=Math.max(r.signals.conceptCount,o.nodes.length),f=u===0&&d===0;return(0,J.jsxs)(`section`,{className:`brain-hero`,"data-testid":`brain-knowledge-flow`,"aria-labelledby":`brain-home-title`,children:[(0,J.jsx)(`div`,{className:`brain-hero-organism`,children:(0,J.jsx)(h,{state:t,intensity:n,size:`normal`,depth:r.depth,showLabel:!1,onInteract:c})}),(0,J.jsxs)(`div`,{className:`brain-hero-header-text`,children:[(0,J.jsx)(`h1`,{id:`brain-home-title`,children:i(e,`brain.firstScreen.title`)}),f?(0,J.jsx)(`p`,{className:`brain-hero-line`,children:i(e,`brain.hero.empty`)}):(0,J.jsxs)(`p`,{className:`brain-hero-line`,children:[i(e,`brain.hero.line`),(0,J.jsx)(Nn,{language:e,memories:u,concepts:d,relationships:s,onExploreBrain:c})]})]}),l?(0,J.jsx)(`div`,{className:`brain-hero-trailing`,children:l}):null]})});function Nn({language:e,memories:t,concepts:n,relationships:r,onExploreBrain:a}){let[o,s]=q.useState(!1),c=q.useRef(null),l=q.useRef(null),u=q.useId(),d=q.useRef(0),f=()=>{l.current!==null&&(window.clearTimeout(l.current),l.current=null)},p=()=>{f(),l.current=window.setTimeout(()=>s(!1),160)};q.useEffect(()=>{if(!o)return;let e=e=>{let t=e.target;t&&c.current?.contains(t)||s(!1)};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`focusin`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`focusin`,e,!0)}},[o]),q.useEffect(()=>f,[]);let m=[{key:`memories`,label:i(e,`brain.hero.stats.memories`),value:t,tone:`is-memory`},{key:`concepts`,label:i(e,`brain.hero.stats.concepts`),value:n,tone:`is-knowledge`},{key:`relationships`,label:i(e,`brain.hero.stats.relationships`),value:r,tone:`is-core`}],h=Math.max(1,...m.map(e=>e.value));return(0,J.jsxs)(`span`,{ref:c,className:`brain-hero-stats`,"data-testid":`brain-hero-stats`,onPointerEnter:e=>{e.pointerType===`mouse`&&(f(),s(e=>(e||(d.current=Date.now()),!0)))},onPointerLeave:e=>{e.pointerType===`mouse`&&p()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),s(!1))},children:[(0,J.jsxs)(`button`,{type:`button`,className:`brain-hero-stats-badge`,"aria-expanded":o,"aria-controls":o?u:void 0,"aria-label":i(e,`brain.hero.stats.aria`,{memories:t,concepts:n}),onClick:()=>{s(e=>e?Date.now()-d.current<350:(d.current=Date.now(),!0))},children:[(0,J.jsxs)(`span`,{className:`brain-hero-stat`,children:[i(e,`brain.hero.stats.memories`),` `,(0,J.jsx)(`strong`,{children:t})]}),(0,J.jsx)(`i`,{"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:`brain-hero-stat`,children:[i(e,`brain.hero.stats.concepts`),` `,(0,J.jsx)(`strong`,{children:n})]})]}),o?(0,J.jsxs)(`span`,{id:u,className:`brain-hero-stats-popover`,role:`group`,"aria-label":i(e,`brain.hero.stats.popoverAria`),"data-testid":`brain-hero-stats-popover`,children:[(0,J.jsx)(`strong`,{className:`brain-hero-stats-title`,children:i(e,`brain.hero.stats.title`)}),(0,J.jsx)(`span`,{className:`brain-hero-stats-graph`,"aria-hidden":`true`,children:m.map(e=>(0,J.jsxs)(`span`,{className:`brain-hero-stats-row`,children:[(0,J.jsx)(`span`,{className:`brain-hero-stats-label`,children:e.label}),(0,J.jsx)(`span`,{className:`brain-hero-stats-track`,children:(0,J.jsx)(`span`,{className:`brain-hero-stats-fill ${e.tone}`,style:{width:`${Math.max(6,Math.round(e.value/h*100))}%`}})}),(0,J.jsx)(`span`,{className:`brain-hero-stats-value`,children:e.value})]},e.key))}),(0,J.jsx)(`span`,{className:`brain-hero-stats-hint`,children:i(e,`brain.hero.hint`)}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-hero-stats-cta`,onClick:a,children:[(0,J.jsx)(Ge,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.hero.stats.mapCta`)]})]}):null]})}var Pn={low:`is-low`,medium:`is-medium`,high:`is-high`};function Fn({language:e}){let t=l(),[n,a]=q.useState(null),o=u({queryKey:[`permissionMode`],queryFn:r.permissionMode}),s=d({mutationFn:e=>r.setPermissionMode(e.mode,e.ack),onSuccess:e=>{e.ok&&(t.invalidateQueries({queryKey:[`permissionMode`]}),a(null))}}),c=o.data?.ok?o.data.data:void 0,f=c?.catalog??[],p=c?.mode??``,m=f.find(e=>e.id===n);function h(e){if(e.id!==p){if(e.requires_ack){a(e.id);return}a(null),s.mutate({mode:e.id,ack:!1})}}return(0,J.jsxs)(`div`,{className:`brain-quick-controls`,"data-testid":`brain-quick-controls`,children:[f.length?(0,J.jsxs)(`div`,{className:`brain-quick-dial`,role:`radiogroup`,"aria-label":i(e,`system.permission.title`),children:[(0,J.jsx)(`span`,{className:`brain-quick-label`,children:i(e,`system.permission.title`)}),(0,J.jsx)(`div`,{className:`brain-quick-segments`,children:f.map(t=>(0,J.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t.id===p,className:t.id===p?`is-active`:``,"data-testid":`quick-mode-${t.id}`,title:_e(t,e),disabled:s.isPending,onClick:()=>h(t),children:[(0,J.jsx)(`i`,{className:`brain-quick-dot ${Pn[t.risk]||`is-medium`}`,"aria-hidden":`true`}),ge(t,e)]},t.id))})]}):null,m?(0,J.jsxs)(`div`,{className:`brain-quick-confirm`,role:`alertdialog`,"data-testid":`quick-mode-confirm`,children:[(0,J.jsx)(ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`p`,{children:he(m,e)}),(0,J.jsx)(`button`,{type:`button`,className:`is-primary`,"data-testid":`quick-mode-confirm-apply`,disabled:s.isPending,onClick:()=>s.mutate({mode:m.id,ack:!0}),children:ge(m,e)}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(null),children:i(e,`ui.cancel`)})]}):null,s.data&&!s.data.ok?(0,J.jsx)(`p`,{className:`brain-quick-error`,role:`status`,children:s.data.error||i(e,`ui.requestUnavailable`)}):null]})}var In=new Set([`html`,`htm`,`md`,`markdown`,`txt`,`json`,`css`,`js`,`csv`,`py`,`yaml`,`yml`,`xml`,`sql`,`sh`]);function Ln(e){let t=e.lastIndexOf(`.`);return t>=0?e.slice(t+1).toLowerCase():``}function Rn(e){return typeof e.previewable==`boolean`?e.previewable:In.has(Ln(e.filename))}function zn(e){let t=Ln(e);return t===`html`||t===`htm`?`html`:t===`md`||t===`markdown`?`markdown`:t===`json`?`json`:`text`}var Bn=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:;">`;function Vn(e){return/<head[^>]*>/i.test(e)?e.replace(/<head[^>]*>/i,e=>`${e}${Bn}`):`${Bn}${e}`}function Hn(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function Un({language:e,file:t,onClose:n}){let a=xe(n),[o,s]=q.useState({status:`loading`}),[c,l]=q.useState(!1),u=zn(t.filename);q.useEffect(()=>{let e=!1;return r.readWorkspaceFile(t.path).then(t=>{e||(t.ok?s({status:`ready`,content:t.data.content}):s({status:`error`,reason:t.error||String(t.status||``)}))}),()=>{e=!0}},[t.path]);async function d(){c||(l(!0),await r.downloadWorkspaceFile(t.path,t.filename),l(!1))}return(0,J.jsx)(`div`,{className:`file-preview-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,J.jsxs)(`div`,{ref:a,className:`file-preview-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":i(e,`brain.preview.aria`,{name:t.filename}),"data-testid":`file-preview-modal`,children:[(0,J.jsxs)(`header`,{className:`file-preview-head`,children:[(0,J.jsx)(`strong`,{className:`file-preview-name`,children:t.filename}),(0,J.jsxs)(`div`,{className:`file-preview-actions`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>void d(),disabled:c,children:[(0,J.jsx)(le,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),c?i(e,`brain.files.downloading`):i(e,`brain.files.download`)]}),(0,J.jsx)(`button`,{type:`button`,className:`file-preview-close`,"aria-label":i(e,`brain.preview.close`),onClick:n,children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]}),(0,J.jsx)(`div`,{className:`file-preview-body`,children:o.status===`loading`?(0,J.jsx)(`p`,{className:`file-preview-note`,role:`status`,children:i(e,`brain.preview.loading`)}):o.status===`error`?(0,J.jsx)(`p`,{className:`file-preview-note is-error`,role:`alert`,children:i(e,`brain.preview.error`,{reason:o.reason})}):u===`html`?(0,J.jsx)(`iframe`,{className:`file-preview-frame`,sandbox:``,title:i(e,`brain.preview.aria`,{name:t.filename}),srcDoc:Vn(o.content)}):u===`markdown`?(0,J.jsx)(`div`,{className:`file-preview-markdown`,"data-testid":`file-preview-markdown`,children:(0,J.jsx)(Wn,{language:e,content:o.content})}):(0,J.jsx)(`pre`,{className:`file-preview-code`,"data-testid":`file-preview-code`,children:u===`json`?Hn(o.content):o.content})}),u===`html`?(0,J.jsxs)(`footer`,{className:`file-preview-foot`,role:`note`,children:[(0,J.jsx)(Oe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.preview.sandboxNote`)]}):null]})})}function Wn({language:e,content:t}){return(0,J.jsx)(J.Fragment,{children:q.useMemo(()=>Jn(t),[t]).map((t,n)=>t.kind===`code`?(0,J.jsx)(Zn,{language:e,code:t.value,lang:t.lang},n):t.value.trim()?(0,J.jsx)(qn,{value:t.value},n):null)})}function Gn(e){let t=[],n=[],r=()=>{n.length&&(t.push({kind:`paragraph`,lines:n}),n=[])};for(let i of e.split(`
|
|
1
|
+
import{C as e,_ as t,b as n,d as r,m as i,o as a,t as o,v as s,x as c}from"./utils-B-Aah1bO.js";import{r as l,t as u}from"./useQuery-DBzLKCOv.js";import{t as d}from"./useMutation-BcqfMLNq.js";import{i as f,n as p,r as m,t as h}from"./LivingBrain-Bsmzwy8_.js";import{t as g}from"./bot-C5-XIww2.js";import{C as _,E as v,S as y,T as b,_ as x,a as S,b as C,c as w,d as T,f as E,g as D,h as O,i as k,l as A,m as j,n as ee,o as te,p as M,r as N,s as P,t as ne,u as re,v as ie,w as F,x as ae,y as oe}from"./BrainSignals-CzeZ-vQ9.js";import{b as I,r as se,y as L}from"./primitives-2ANdAsu2.js";import{t as R}from"./circle-check-CY20XMCh.js";import{t as ce}from"./cpu-DW2_JVsv.js";import{t as le}from"./download-gbdKTBb8.js";import{n as ue,r as de,t as fe}from"./hard-drive-BxNMzBM3.js";import{o as pe,t as z}from"./ReviewCard-CfR6DLs7.js";import{t as B}from"./folder-open-C9ydyX33.js";import{t as me}from"./link-2-B4Y0gz1S.js";import{a as V,i as he,n as ge,r as _e}from"./permissionCopy-CxrV0fvU.js";import{t as ve}from"./search-DTxtjQ07.js";import{t as ye}from"./shield-alert-CgftuFFs.js";import{n as be,t as xe}from"./useFocusTrap-Dzq2j_OG.js";import{S as Se,_ as H,a as Ce,d as we,f as Te,i as U,m as Ee,n as W,r as De,s as G,u as Oe,v as ke}from"./index-q9XyDY7A.js";import"./brain-CFRJUvdX.js";import{t as K}from"./button-DI1KcQP-.js";import"./workspace-B6fFhoko.js";var Ae=t(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),je=t(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Me=t(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Ne=t(`chart-spline`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 16c.5-2 1.5-7 4-7 2 0 2 3 4 3 2.5 0 4.5-5 5-7`,key:`lw07rv`}]]),Pe=t(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Fe=t(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Ie=t(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Le=t(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Re=t(`file-check-corner`,[[`path`,{d:`M10.5 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v6`,key:`g5mvt7`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m14 20 2 2 4-4`,key:`15kota`}]]),ze=t(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Be=t(`file-up`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]),Ve=t(`git-pull-request-arrow`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M5 9v12`,key:`ih889a`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}]]),He=t(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),Ue=t(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),We=t(`list-todo`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`,key:`cif1o7`}]]),Ge=t(`map`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Ke=t(`message-circle-plus`,[[`path`,{d:`M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719`,key:`1sd12s`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),qe=t(`message-square-text`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7 11h10`,key:`1twpyw`}],[`path`,{d:`M7 15h6`,key:`d9of3u`}],[`path`,{d:`M7 7h8`,key:`af5zfr`}]]),Je=t(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),Ye=t(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Xe=t(`repeat-2`,[[`path`,{d:`m2 9 3-3 3 3`,key:`1ltn5i`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`,key:`1r6tfw`}],[`path`,{d:`m22 15-3 3-3-3`,key:`4rnwn2`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`,key:`2f72bc`}]]),Ze=t(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),Qe=t(`search-check`,[[`path`,{d:`m8 11 2 2 4-4`,key:`1sed1v`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`path`,{d:`m21 21-4.3-4.3`,key:`1qie3q`}]]),$e=t(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),et=t(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),tt=t(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),nt=t(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),q=e(c());function rt(e){if(e.status!==`awaiting_approval`)return null;let t=typeof e.run_id==`string`?e.run_id:``,n=typeof e.approval?.token==`string`?e.approval.token:``;return!t||!n?null:{runId:t,token:n,expiresAt:typeof e.approval?.expires_at==`string`?e.approval.expires_at:``,planSummary:typeof e.approval?.plan_summary==`string`?e.approval.plan_summary:``,plan:e.plan&&typeof e.plan==`object`?e.plan:null,status:`pending`}}function it(e){if(!e||typeof e!=`object`)return``;let t=e,n=(t.detail&&typeof t.detail==`object`&&!Array.isArray(t.detail)?t.detail:t).replan;if(!n||typeof n!=`object`||Array.isArray(n))return``;let r=n.message;return typeof r==`string`?r.trim():``}async function at(e,t){let n=await r.resumeAgentApproval({run_id:e.runId,approval_token:e.token,approve:t.approve,...t.editedPlan?{edited_plan:t.editedPlan}:{}});if(!n.ok){if(n.status===410||n.status===404){let e=it(n.data);return{kind:`expired`,...e?{replanMessage:e}:{}}}return{kind:`error`,reason:n.error||String(n.status||``)}}let i=n.data;return i.status===`cancelled`?{kind:`cancelled`}:{kind:`finished`,payload:i}}var J=n();function ot(e,t){if(!t)return``;let n=new Date(t);return Number.isNaN(n.getTime())?``:n.toLocaleTimeString(e===`ko`?`ko-KR`:`en-US`,{hour:`2-digit`,minute:`2-digit`})}function st(e){let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}var ct=12e4;function lt({language:e,approval:t,onResolved:n,onReplan:r}){let[a,o]=q.useState(!1),[s,c]=q.useState(!1),[l,u]=q.useState(``),[d,f]=q.useState(!1),p=q.useRef(null);q.useEffect(()=>{t.status===`pending`&&p.current?.focus()},[]);let m=t.status===`pending`,h=q.useMemo(()=>{if(!t.expiresAt)return null;let e=Date.parse(t.expiresAt);return Number.isFinite(e)?e:null},[t.expiresAt]),[g,_]=q.useState(()=>Date.now());q.useEffect(()=>{if(!m||h===null)return;_(Date.now());let e=window.setInterval(()=>_(Date.now()),1e3);return()=>window.clearInterval(e)},[m,h]);let v=h===null?null:h-g,y=m&&v!==null&&v>0&&v<ct,b=q.useRef(!1);q.useEffect(()=>{!m||v===null||v>0||b.current||(b.current=!0,n({kind:`expired`}))},[m,v,n]);async function x(e){if(!a){o(!0);try{n(await at(t,e))}finally{o(!1)}}}function S(){u(JSON.stringify(t.plan??{goal:t.planSummary,steps:[]},null,2)),f(!1),c(!0)}function C(){let e;try{e=JSON.parse(l)}catch{f(!0);return}if(!e||typeof e!=`object`||Array.isArray(e)){f(!0);return}f(!1),x({approve:!0,editedPlan:e})}if(t.status!==`pending`){let n=t.status===`approved`?`brain.approval.resolved`:t.status===`cancelled`?`brain.approval.cancelled`:t.status===`expired`?`brain.approval.expired`:`brain.approval.error`,a=t.status===`expired`&&t.replanMessage||``;return(0,J.jsxs)(`div`,{className:`brain-approval-note is-${t.status}`,role:t.status===`approved`?`status`:`alert`,"data-testid":`agent-approval-note`,children:[(0,J.jsx)(`span`,{children:i(e,n,{reason:t.errorReason||``})}),a&&r?(0,J.jsx)(`button`,{type:`button`,className:`brain-approval-replan`,"data-testid":`approval-replan`,onClick:()=>r(a),children:i(e,`brain.approval.expiredReplan`)}):null]})}let w=ot(e,t.expiresAt);return(0,J.jsxs)(`section`,{className:`brain-approval-card ${y?`is-urgent`:``}`,"aria-label":i(e,`brain.approval.aria`),"data-testid":`agent-approval-card`,children:[(0,J.jsxs)(`header`,{className:`brain-approval-head`,children:[(0,J.jsx)(ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,`brain.approval.title`)}),v===null?null:(0,J.jsx)(`span`,{className:`brain-approval-countdown ${y?`is-urgent`:``}`,"data-testid":`approval-countdown`,children:i(e,`brain.approval.countdown`,{time:st(v)})})]}),t.planSummary?(0,J.jsxs)(`div`,{className:`brain-approval-summary`,children:[(0,J.jsx)(`span`,{className:`brain-approval-summary-label`,children:i(e,`brain.approval.summaryLabel`)}),(0,J.jsx)(`pre`,{"data-testid":`approval-plan-summary`,children:t.planSummary})]}):null,w?(0,J.jsx)(`small`,{className:`brain-approval-expiry`,children:i(e,`brain.approval.expiry`,{time:w})}):null,y?(0,J.jsx)(`small`,{className:`brain-approval-urgency`,role:`alert`,"data-testid":`approval-urgency`,children:i(e,`brain.approval.countdown.warning`)}):null,s?(0,J.jsxs)(`div`,{className:`brain-approval-editor`,children:[(0,J.jsx)(`label`,{htmlFor:`brain-approval-plan-editor`,children:i(e,`brain.approval.edit.label`)}),(0,J.jsx)(`textarea`,{id:`brain-approval-plan-editor`,"data-testid":`approval-edit-textarea`,value:l,rows:8,spellCheck:!1,onChange:e=>u(e.target.value)}),d?(0,J.jsx)(`small`,{className:`brain-approval-edit-error`,role:`alert`,children:i(e,`brain.approval.edit.invalid`)}):null,(0,J.jsxs)(`div`,{className:`brain-approval-actions`,children:[(0,J.jsx)(`button`,{type:`button`,className:`brain-approval-primary`,"data-testid":`approval-edit-run`,disabled:a,onClick:C,children:a?i(e,`brain.approval.running`):i(e,`brain.approval.edit.run`)}),(0,J.jsx)(`button`,{type:`button`,disabled:a,onClick:()=>c(!1),children:i(e,`brain.approval.edit.close`)})]})]}):(0,J.jsxs)(`div`,{className:`brain-approval-actions`,children:[(0,J.jsx)(`button`,{ref:p,type:`button`,className:`brain-approval-primary`,"data-testid":`approval-approve`,disabled:a,onClick:()=>void x({approve:!0}),children:a?i(e,`brain.approval.running`):i(e,`brain.approval.approve`)}),(0,J.jsxs)(`button`,{type:`button`,"data-testid":`approval-edit`,disabled:a,onClick:S,children:[(0,J.jsx)(Je,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.approval.edit`)]}),(0,J.jsx)(`button`,{type:`button`,"data-testid":`approval-cancel`,disabled:a,onClick:()=>void x({approve:!1}),children:i(e,`brain.approval.cancel`)})]})]})}function ut(e){return e.event===`blocked`?`blocked`:e.event===`parse_error`||e.ok===!1?`error`:e.event===`proposed`?`proposed`:e.event===`tool`?`ok`:e.phase===`rollback`?`error`:`info`}function dt(e){if(e.phase===`rollback`)return`brain.steps.rollback`;switch(e.event){case`planned`:return`brain.steps.planned`;case`tool`:return e.ok===!1?`brain.steps.tool.failed`:`brain.steps.tool`;case`proposed`:return`brain.steps.proposed`;case`blocked`:return`brain.steps.blocked`;case`parse_error`:return`brain.steps.parseError`;case`verdict`:return`brain.steps.verdict`;case`final`:return`brain.steps.final`;case`state`:return`brain.steps.state`;default:return`brain.steps.step`}}function ft(e){return e.split(/[\\/]/).filter(Boolean).pop()||e}function pt(e){return[e.action,e.path?ft(e.path):``,e.decision,e.verdict,e.state].filter(Boolean).join(` · `)}function mt({language:e,steps:t,streaming:n}){if(!t.length)return null;let r=(0,J.jsx)(`ol`,{className:`brain-step-list`,children:t.slice(-30).map((t,n)=>{let r=ut(t),a=pt(t);return(0,J.jsxs)(`li`,{className:`brain-step-item is-${r}`,children:[(0,J.jsx)(`span`,{className:`brain-step-dot`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`brain-step-label`,children:i(e,dt(t))}),a?(0,J.jsx)(`span`,{className:`brain-step-meta`,children:a}):null,t.detail?(0,J.jsx)(`small`,{className:`brain-step-detail`,children:t.detail}):null]},n)})});return n?(0,J.jsxs)(`section`,{className:`brain-step-timeline is-live`,"aria-label":i(e,`brain.steps.aria`),"data-testid":`agent-step-timeline`,children:[(0,J.jsxs)(`p`,{className:`brain-step-live-head`,role:`status`,children:[(0,J.jsx)(`span`,{className:`brain-step-dot is-live`,"aria-hidden":`true`}),i(e,`brain.steps.live`,{count:t.length})]}),r]}):(0,J.jsxs)(`details`,{className:`brain-step-timeline`,"aria-label":i(e,`brain.steps.aria`),"data-testid":`agent-step-timeline`,children:[(0,J.jsx)(`summary`,{children:i(e,`brain.steps.summary`,{count:t.length})}),r]})}function ht({language:e,summary:t}){if(t.total<1)return null;let n=Object.entries(t.repairs).sort((e,t)=>t[1]-e[1]).slice(0,3).map(([e,t])=>`${e} ×${t}`);return t.parseRecovered>0&&n.push(`parse ×${t.parseRecovered}`),(0,J.jsx)(`p`,{className:`brain-loop-repairs`,role:`note`,"data-testid":`loop-repairs-note`,title:n.join(`, `)||void 0,children:i(e,`brain.agent.repairs`,{count:t.total})})}function gt({language:e,explanation:t}){return(0,J.jsxs)(`div`,{className:`brain-run-explanation is-${t.ok?`ok`:`caution`} strain-${t.strainLevel}`,role:`note`,"data-testid":`run-explanation`,"data-code":t.code,children:[t.headline?(0,J.jsx)(`strong`,{children:t.headline}):null,t.details.length?(0,J.jsx)(`ul`,{children:t.details.map(e=>(0,J.jsx)(`li`,{children:e},e))}):null,(0,J.jsx)(`small`,{children:i(e,`brain.agent.explanation.why`)})]})}function _t(e,t){return`${e}-cite-${t}`}function vt({language:e,proof:t,messageId:n}){let r=e=>{let t=document.getElementById(_t(n,e));t&&(t.scrollIntoView({behavior:`smooth`,block:`nearest`}),t.focus())};return(0,J.jsx)(`span`,{className:`brain-inline-citations`,"aria-label":i(e,`brain.answerProof.citationsLabel`,{count:t.citations.length}),children:t.citations.map((t,a)=>(0,J.jsx)(`button`,{type:`button`,className:`brain-inline-citation`,"aria-label":i(e,`brain.answerProof.marker`,{index:a+1}),"aria-controls":_t(n,t.id),title:t.title,onClick:()=>r(t.id),children:a+1},t.id))})}function yt({language:e,proof:t,messageId:n,onUseEvidence:r}){let[a,o]=q.useState(null);return(0,J.jsxs)(`section`,{className:`brain-answer-proof`,role:`group`,"aria-label":i(e,`brain.answerProof.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-answer-proof-head`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.answerProof.title`)}),(0,J.jsx)(`strong`,{children:t.provenAcrossModels?i(e,`brain.answerProof.modelProven`,{model:t.model}):i(e,`brain.answerProof.modelPending`,{model:t.model})}),t.citations.length?(0,J.jsx)(`small`,{className:`brain-answer-proof-count`,children:i(e,`brain.answerProof.citationsLabel`,{count:t.citations.length})}):null]}),t.citations.length?(0,J.jsx)(`ol`,{children:t.citations.map((r,a)=>(0,J.jsx)(`li`,{id:_t(n,r.id),tabIndex:-1,"aria-label":i(e,`brain.answerProof.citationItem`,{index:a+1,title:r.title}),children:(0,J.jsxs)(`button`,{type:`button`,className:`brain-citation-open`,"aria-haspopup":`dialog`,"aria-label":i(e,`brain.sourceModal.openAria`,{title:r.title}),"data-testid":`citation-open`,onClick:()=>o(r),children:[(0,J.jsx)(`span`,{className:`brain-answer-proof-index`,"aria-hidden":`true`,children:a+1}),(0,J.jsx)(`span`,{children:r.source}),(0,J.jsx)(`strong`,{children:r.title}),(0,J.jsx)(bt,{language:e,citation:r}),r.locator?(0,J.jsx)(`em`,{className:`brain-citation-locator`,"data-testid":`citation-locator`,children:r.locator}):null,(0,J.jsx)(`small`,{children:r.snippet||t.query}),(0,J.jsx)(St,{language:e,citation:r}),(0,J.jsx)(`span`,{className:`brain-citation-open-hint`,"aria-hidden":`true`,children:i(e,`brain.sourceModal.open`)})]})},r.id))}):(0,J.jsx)(`small`,{children:i(e,`brain.answerProof.empty`)}),r&&t.citations.length?(0,J.jsx)(xt,{language:e,query:t.query,sourceIds:t.citations.map(e=>e.id),onUseEvidence:r}):null,a?(0,J.jsx)(Tt,{language:e,citation:a,onClose:()=>o(null)}):null]})}function bt({language:e,citation:t}){return t.kind===`Image`||t.kind===`ImageText`?(0,J.jsxs)(`span`,{className:`brain-citation-visual`,"data-testid":`citation-visual`,children:[t.thumbnail?(0,J.jsx)(`img`,{className:`brain-citation-thumb`,src:t.thumbnail,alt:t.caption||i(e,`brain.answerProof.imageAlt`,{title:t.title}),width:48,height:48,loading:`lazy`}):(0,J.jsx)(`span`,{className:`brain-citation-thumb is-missing`,"aria-hidden":`true`,children:i(e,`brain.answerProof.imageBadge`)}),(0,J.jsx)(`span`,{className:`brain-citation-visual-text`,children:t.caption?(0,J.jsx)(`em`,{"data-testid":`citation-caption`,children:t.caption}):(0,J.jsx)(`em`,{className:`is-muted`,"data-testid":`citation-caption-absent`,children:i(e,`brain.answerProof.noCaption`)})})]}):null}function xt({language:e,query:t,sourceIds:n,onUseEvidence:a}){let[o,s]=q.useState({status:`idle`}),c=q.useCallback(()=>{s({status:`loading`}),r.evidenceActions(t,n,e).then(e=>{let t=e.data;s({status:`ready`,actions:e.ok?t.actions:[],reason:e.ok?t.reason:e.error||``})})},[e,t,n]);return o.status===`idle`?(0,J.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,J.jsx)(`button`,{type:`button`,className:`brain-evidence-action-trigger`,"data-testid":`evidence-actions-open`,onClick:c,children:i(e,`brain.evidenceActions.open`)})}):o.status===`loading`?(0,J.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,J.jsx)(`small`,{role:`status`,children:i(e,`brain.evidenceActions.loading`)})}):o.actions.length?(0,J.jsxs)(`div`,{className:`brain-evidence-actions`,"data-testid":`evidence-actions`,children:[(0,J.jsx)(`small`,{children:i(e,`brain.evidenceActions.title`)}),(0,J.jsx)(`div`,{className:`brain-evidence-action-list`,children:o.actions.map(t=>(0,J.jsx)(`button`,{type:`button`,className:`brain-evidence-action`,"data-testid":`evidence-action-${t.id}`,title:t.suggested_path||void 0,onClick:()=>a(t.prompt),children:t.label[e===`ko`?`ko`:`en`]},t.id))})]}):(0,J.jsx)(`div`,{className:`brain-evidence-actions`,children:(0,J.jsx)(`small`,{className:`is-error`,role:`status`,children:o.reason||i(e,`brain.evidenceActions.unavailable`)})})}function St({language:e,citation:t}){let n=t.matchedTerms.length>0;return(0,J.jsxs)(`span`,{className:`brain-citation-why`,"aria-label":i(e,`brain.answerProof.why.aria`),children:[(0,J.jsx)(`em`,{className:`brain-citation-confidence is-${t.confidence}`,children:i(e,`brain.answerProof.confidence.${t.confidence}`)}),n?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`brain-citation-why-label`,children:i(e,`brain.answerProof.matched`)}),t.matchedTerms.slice(0,4).map(e=>(0,J.jsx)(`mark`,{children:e},e))]}):(0,J.jsx)(`span`,{className:`brain-citation-why-label`,children:i(e,`brain.answerProof.matched.none`)})]})}var Ct=[`source`,`source_uri`,`origin`,`relative_path`,`path`,`filename`,`conversation_id`,`provenance_id`];function wt(e){let t=O(e)?e:{},n=O(t.node)?t.node:null;if(!n)return null;let r=O(n.metadata)?n.metadata:{},i=Ct.flatMap(e=>{let t=F(r,[e]);return t?[{key:e,value:t}]:[]});return{title:F(n,[`title`,`label`,`id`]),type:F(n,[`type`]),summary:F(n,[`summary`,`content`,`text`]),provenance:i}}function Tt({language:e,citation:t,onClose:n}){let a=xe(n),[o,s]=q.useState({status:`loading`});q.useEffect(()=>{let e=!1;return s({status:`loading`}),r.graphNode(t.id).then(t=>{if(e)return;let n=t.ok?wt(t.data):null;s(n?{status:`ready`,node:n}:{status:`error`,reason:t.error||String(t.status||``)})}),()=>{e=!0}},[t.id]);let c=o.status===`ready`&&o.node.title?o.node.title:t.title;return(0,J.jsx)(`div`,{className:`file-preview-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,J.jsxs)(`div`,{ref:a,className:`file-preview-modal source-chunk-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":i(e,`brain.sourceModal.aria`,{title:c}),"data-testid":`source-chunk-modal`,children:[(0,J.jsxs)(`header`,{className:`file-preview-head`,children:[(0,J.jsx)(`strong`,{className:`file-preview-name`,children:c}),(0,J.jsxs)(`div`,{className:`file-preview-actions`,children:[o.status===`ready`&&o.node.type?(0,J.jsx)(`span`,{className:`source-chunk-type`,children:o.node.type}):null,(0,J.jsx)(`button`,{type:`button`,className:`file-preview-close`,"aria-label":i(e,`brain.sourceModal.close`),onClick:n,children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]}),(0,J.jsx)(`div`,{className:`file-preview-body source-chunk-body`,children:o.status===`loading`?(0,J.jsx)(`p`,{className:`file-preview-note`,role:`status`,children:i(e,`brain.sourceModal.loading`)}):o.status===`error`?(0,J.jsx)(`p`,{className:`file-preview-note is-error`,role:`alert`,children:i(e,`brain.sourceModal.error`,{reason:o.reason})}):(0,J.jsxs)(J.Fragment,{children:[o.node.summary?(0,J.jsx)(`pre`,{className:`source-chunk-text`,"data-testid":`source-chunk-text`,children:o.node.summary}):(0,J.jsx)(`p`,{className:`file-preview-note`,children:i(e,`brain.sourceModal.empty`)}),o.node.provenance.length?(0,J.jsxs)(`div`,{className:`source-chunk-provenance`,"data-testid":`source-chunk-provenance`,children:[(0,J.jsx)(`small`,{children:i(e,`brain.sourceModal.provenance`)}),(0,J.jsx)(`ul`,{children:o.node.provenance.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{children:e.key}),(0,J.jsx)(`code`,{children:e.value})]},e.key))})]}):null]})})]})})}function Et({language:e}){let t=l(),[n,a]=q.useState(!1),[o,s]=q.useState(``),[c,d]=q.useState(``),[f,p]=q.useState(``),[m,h]=q.useState(null),g=u({queryKey:[`portability`],queryFn:r.graphPortability}),_=u({queryKey:[`backupHealth`],queryFn:r.backupHealth}),v=q.useCallback(e=>h(e),[]),y=o.trim()?Mt(o.trim(),e):``,x=c.trim()?Nt(c,e):``,S=!c||c===f,C=!!c.trim()&&S&&!x,w=!!o.trim()&&!y,T=Dt(()=>r.graphExport(),void 0,v),E=Dt(()=>r.graphBackup(),()=>{t.invalidateQueries({queryKey:[`backupHealth`]}),t.invalidateQueries({queryKey:[`portability`]})},v),D=Dt(()=>r.brainArchive({path:o.trim()||null,passphrase:c}),()=>void t.invalidateQueries({queryKey:[`backupHealth`]}),v),O=Dt(()=>r.brainArchiveInspect({path:o.trim(),passphrase:c||null}),void 0,v),k=Dt(()=>r.brainArchiveRestore({path:o.trim(),passphrase:c,dry_run:!0,confirm:!1}),void 0,v),A=kt(g.data?.data),j=At(_.data?.data,e);return(0,J.jsxs)(`section`,{className:`brain-care-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`care.title`),children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-care-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Oe,{className:`h-3.5 w-3.5`}),` `,i(e,`care.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`care.subtitle`)})]}),(0,J.jsxs)(`div`,{className:`brain-care-proof`,"aria-label":i(e,`care.ownershipModel`),children:[(0,J.jsx)(`span`,{children:i(e,`care.private`)}),(0,J.jsx)(`span`,{children:A}),(0,J.jsx)(`span`,{children:j})]}),(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsxs)(`div`,{id:`brain-care-details`,className:`brain-care-details`,children:[(0,J.jsxs)(`div`,{className:`brain-care-actions`,children:[(0,J.jsx)(Ot,{icon:(0,J.jsx)(le,{className:`h-3.5 w-3.5`}),label:i(e,`care.export`),detail:i(e,`care.export.detail`),pendingLabel:i(e,`care.working`),pending:T.isPending,onClick:()=>T.mutate()}),(0,J.jsx)(Ot,{icon:(0,J.jsx)(b,{className:`h-3.5 w-3.5`}),label:i(e,`care.backup`),detail:i(e,`care.backup.detail`),pendingLabel:i(e,`care.working`),pending:E.isPending,onClick:()=>E.mutate()}),(0,J.jsx)(Ot,{icon:(0,J.jsx)(je,{className:`h-3.5 w-3.5`}),label:i(e,`care.archive`),detail:i(e,`care.archive.detail`),pendingLabel:i(e,`care.working`),pending:D.isPending,disabled:!C,onClick:()=>D.mutate()})]}),(0,J.jsxs)(`div`,{className:`brain-care-archive`,children:[(0,J.jsx)(`input`,{value:o,onChange:e=>s(e.target.value),placeholder:i(e,`care.path.placeholder`),"aria-label":i(e,`care.path.label`)}),(0,J.jsx)(`input`,{type:`password`,value:c,onChange:e=>d(e.target.value),placeholder:i(e,`care.passphrase.placeholder`),"aria-label":i(e,`care.passphrase.label`)}),(0,J.jsx)(`input`,{type:`password`,value:f,onChange:e=>p(e.target.value),placeholder:i(e,`care.passphrase.confirmPlaceholder`),"aria-label":i(e,`care.passphrase.confirmLabel`)}),(0,J.jsxs)(`div`,{className:`brain-care-guidance`,role:`status`,children:[y?(0,J.jsx)(`span`,{className:`is-error`,children:y}):o.trim()?(0,J.jsx)(`span`,{children:i(e,`care.path.ready`)}):null,x?(0,J.jsx)(`span`,{className:`is-error`,children:x}):c?(0,J.jsx)(`span`,{children:i(e,`care.passphrase.strong`)}):null,S?null:(0,J.jsx)(`span`,{className:`is-error`,children:i(e,`care.passphrase.mismatch`)})]}),(0,J.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,J.jsxs)(K,{variant:`outline`,size:`sm`,disabled:!w||O.isPending,onClick:()=>O.mutate(),children:[(0,J.jsx)(Le,{className:`h-3.5 w-3.5`}),` `,i(e,`care.inspect`)]}),(0,J.jsxs)(K,{variant:`outline`,size:`sm`,disabled:!w||!c.trim()||!S||k.isPending,onClick:()=>k.mutate(),children:[(0,J.jsx)(we,{className:`h-3.5 w-3.5`}),` `,i(e,`care.restorePreview`)]})]})]}),m?(0,J.jsx)(`div`,{className:`brain-care-result ${m.ok?`is-ok`:`is-error`}`,role:`status`,children:(0,J.jsx)(jt,{result:m,language:e})}):(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`care.note`)})]}):null]})}function Dt(e,t,n){return d({mutationFn:e,onSuccess:e=>{n?.(e),t?.()}})}function Ot({icon:e,label:t,detail:n,pendingLabel:r,pending:i,disabled:a,onClick:o}){return(0,J.jsxs)(`button`,{className:`brain-care-button`,type:`button`,disabled:a||i,onClick:o,children:[e,(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i?r:t}),(0,J.jsx)(`small`,{children:n})]})]})}function kt(e){return F(O(e)?e:{},[`archive_format`,`format`,`graph_schema_version`,`schema_version`],`.latticebrain`)}function At(e,t){let n=O(e)?e:{},r=n.count||n.backups||n.available;return r!=null&&r!==``?i(t,`care.backup.count`,{count:String(r)}):i(t,`care.backup.ready`)}function jt({result:e,language:t}){if(!e.ok)return(0,J.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,J.jsx)(`strong`,{children:i(t,`care.result.error`)}),e.error&&e.error!==i(t,`care.result.error`)?(0,J.jsx)(`span`,{children:e.error}):null]});let n=O(e.data)?e.data:{},r=F(n,[`path`,`archive_path`,`backup_path`,`export_path`,`latest_backup`]),a=F(n,[`message`,`status`,`result`],i(t,`care.result.completed`)),o={memories:F(n,[`nodes`,`total_nodes`,`memories`,`memory_count`]),links:F(n,[`edges`,`total_edges`,`relationships`,`relationship_count`]),conversations:F(n,[`conversations`,`conversation_count`])};return(0,J.jsxs)(`div`,{className:`brain-care-result-summary`,children:[(0,J.jsx)(`strong`,{children:a}),r?(0,J.jsx)(`span`,{children:i(t,`care.result.path`,{path:r})}):null,o.memories||o.links||o.conversations?(0,J.jsx)(`span`,{children:i(t,`care.result.contents`,{memories:o.memories||`0`,links:o.links||`0`,conversations:o.conversations||`0`})}):null,n.dry_run===!0?(0,J.jsx)(`span`,{children:i(t,`care.result.dryRun`)}):null]})}function Mt(e,t){return/[<>:"|?*]/.test(e)?i(t,`care.path.invalidChars`):/\.(latticebrain|zip|json)$/i.test(e)?``:i(t,`care.path.extension`)}function Nt(e,t){return e.length<12?i(t,`care.passphrase.tooShort`):[/[a-z]/,/[A-Z]/,/\d/,/[^A-Za-z0-9]/].filter(t=>t.test(e)).length<3?i(t,`care.passphrase.tooSimple`):``}var Pt=[`freshness`,`connectivity`,`embedding_coverage`,`consistency`],Ft=new Set([`rebuild_vector_index`,`review_orphans`,`refresh_stale_knowledge`,`resolve_contradictions`]);function It({language:e}){let t=l(),[n,a]=q.useState(!1),o=u({queryKey:[`brainHealth`],queryFn:r.brainHealth,enabled:n}),s=u({queryKey:[`brainInsights`],queryFn:r.brainInsights,enabled:n}),c=u({queryKey:[`brainContradictions`],queryFn:r.brainContradictions,enabled:n}),[f,p]=q.useState(null),m=d({mutationFn:()=>r.brainConsolidate(!1),onSuccess:e=>{e.ok&&O(e.data)&&p(e.data)}}),h=d({mutationFn:()=>r.brainConsolidate(!0),onSuccess:e=>{e.ok&&O(e.data)&&p(e.data),t.invalidateQueries({queryKey:[`brainHealth`]})}}),g=o.data?.ok&&O(o.data.data)?o.data.data:null,_=n&&!o.isPending&&(o.isError||!o.data?.ok||o.data?.source===`unavailable`),v=()=>{o.refetch(),s.refetch(),c.refetch()},y=s.data?.ok&&O(s.data.data)?s.data.data:null,b=c.data?.ok&&O(c.data.data)?Number(c.data.data.count||0):0,x=g&&typeof g.overall_score==`number`?g.overall_score:null,S=g&&typeof g.grade==`string`?g.grade:null,C=g&&O(g.dimensions)?g.dimensions:{},w=g&&Array.isArray(g.recommended_actions)?g.recommended_actions:[],T=y&&O(y.activity)?y.activity:{},E=y&&O(y.attention)?y.attention:{};return(0,J.jsxs)(`section`,{className:`brain-care-panel brain-intelligence-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`intelligence.title`),children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`brain-intelligence-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`}),` `,i(e,`intelligence.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`intelligence.subtitle`)})]}),n&&x!==null?(0,J.jsxs)(`div`,{className:`brain-care-proof`,children:[(0,J.jsxs)(`span`,{children:[i(e,`intelligence.score`),`: `,x]}),(0,J.jsx)(`span`,{children:Lt(S,e)})]}):null,(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsx)(`div`,{id:`brain-intelligence-details`,className:`brain-care-details`,children:o.isPending?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`intelligence.loading`)}):_?(0,J.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`intelligence.loadError`)}),o.data?.error?(0,J.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:o.data.error}):null,(0,J.jsx)(`div`,{children:(0,J.jsx)(K,{variant:`outline`,size:`sm`,onClick:v,children:i(e,`common.retry`)})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`brain-intelligence-dimensions`,role:`list`,children:Pt.map(t=>{let n=O(C[t])?C[t]:{},r=typeof n.score==`number`?n.score:null;return(0,J.jsxs)(`div`,{className:`brain-intelligence-dimension`,role:`listitem`,children:[(0,J.jsx)(`small`,{children:i(e,`intelligence.dim.${t}`)}),(0,J.jsx)(`strong`,{children:r===null?`—`:r})]},t)})}),(0,J.jsxs)(`div`,{className:`brain-intelligence-insights`,role:`status`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Ae,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),` `,i(e,`intelligence.insights.recent`,{count:String(Y(T.recent_nodes))})]}),(0,J.jsx)(`span`,{children:i(e,`intelligence.insights.stale`,{count:String(Y(E.stale_nodes))})}),(0,J.jsx)(`span`,{children:i(e,`intelligence.insights.orphans`,{count:String(Y(E.orphan_nodes))})}),(0,J.jsx)(`span`,{children:i(e,`intelligence.contradictions`,{count:String(b)})})]}),w.length?(0,J.jsxs)(`div`,{className:`brain-intelligence-actions`,children:[(0,J.jsx)(`small`,{children:i(e,`intelligence.actions`)}),(0,J.jsx)(`ul`,{children:w.map((t,n)=>{let r=O(t)?t:{},a=String(r.id||``);return(0,J.jsx)(`li`,{children:Ft.has(a)?i(e,`intelligence.action.${a}`):String(r.reason||a)},`${a}-${n}`)})})]}):null,(0,J.jsxs)(`div`,{className:`brain-care-archive-actions`,children:[(0,J.jsx)(K,{variant:`outline`,size:`sm`,disabled:m.isPending,onClick:()=>m.mutate(),children:m.isPending?i(e,`intelligence.consolidate.working`):i(e,`intelligence.consolidate`)}),f&&Y(f.duplicate_memory_count)>0&&f.mode!==`applied`?(0,J.jsx)(K,{variant:`outline`,size:`sm`,disabled:h.isPending,onClick:()=>h.mutate(),children:i(e,`intelligence.consolidate.apply`)}):null]}),f?(0,J.jsx)(`p`,{className:`brain-care-note`,role:`status`,children:f.mode===`applied`?i(e,`intelligence.consolidate.applied`,{count:String(Y(f.pruned))}):Y(f.duplicate_memory_count)>0||Y(f.duplicate_edge_count)>0?i(e,`intelligence.consolidate.found`,{memories:String(Y(f.duplicate_memory_count)),edges:String(Y(f.duplicate_edge_count))}):i(e,`intelligence.consolidate.none`)}):null]})}):null]})}function Lt(e,t){return i(t,`intelligence.grade.${e&&new Set([`excellent`,`good`,`attention`,`critical`]).has(e)?e:`unknown`}`)}function Y(e){let t=Number(e);return Number.isFinite(t)?t:0}var Rt=[`recent`,`contradictions`,`stale`,`frequent`];function zt(e,t){for(let n of t){let t=e[n];if(typeof t==`string`&&t.trim())return t.trim();if(typeof t==`number`&&Number.isFinite(t))return String(t)}return``}function Bt(e){let t=a(e)?e:{},n=a(t.beds)?t.beds:{};return{available:t.available===!0,beds:Rt.map(e=>{let t=a(n[e])?n[e]:{},r=Number(t.count),i=o(t.items).flatMap(t=>{let n=a(t)?t:{},r=zt(n,[`id`]),i=zt(n,[`title`,`summary`,`label`]);return!r||!i?[]:[{id:r,title:i,type:zt(n,[`type`,`kind`]),detail:e===`frequent`?zt(n,[`degree`]):zt(n,[`updated_at`,`detail`])}]});return{id:e,count:Number.isFinite(r)&&r>0?Math.round(r):i.length,items:i}})}}function Vt({language:e}){let[t,n]=q.useState(!1),a=u({queryKey:[`knowledgeGarden`],queryFn:()=>r.brainGarden(),enabled:t,staleTime:6e4}),o=q.useMemo(()=>a.data?.ok?Bt(a.data.data):null,[a.data]);return(0,J.jsxs)(`details`,{className:`brain-garden`,"data-testid":`knowledge-garden`,open:t,onToggle:e=>n(e.currentTarget.open),children:[(0,J.jsx)(`summary`,{children:i(e,`brain.garden.title`)}),t?a.isLoading?(0,J.jsx)(`p`,{role:`status`,children:i(e,`brain.garden.loading`)}):!o||!o.available?(0,J.jsx)(`p`,{role:`status`,className:`is-muted`,children:i(e,`brain.garden.unavailable`)}):(0,J.jsx)(`div`,{className:`brain-garden-beds`,children:o.beds.map(t=>(0,J.jsxs)(`section`,{"data-testid":`garden-bed-${t.id}`,children:[(0,J.jsxs)(`h4`,{children:[i(e,`brain.garden.bed.${t.id}`),(0,J.jsx)(`span`,{className:`brain-garden-count`,children:t.count})]}),t.items.length?(0,J.jsx)(`ul`,{children:t.items.map(e=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`strong`,{children:e.title}),e.type?(0,J.jsx)(`em`,{children:e.type}):null,e.detail?(0,J.jsx)(`small`,{children:e.detail}):null]},e.id))}):(0,J.jsx)(`p`,{className:`is-muted`,children:i(e,`brain.garden.empty.${t.id}`)})]},t.id))}):null]})}var Ht={"review-pending":`briefing.action.reviewPending`,"enable-drafts":`briefing.action.enableDrafts`,"install-suggestion":`briefing.action.installSuggestion`,"connect-knowledge":`briefing.action.connectKnowledge`,"check-health":`briefing.action.checkHealth`,"ask-brain":`briefing.action.askBrain`};function X(e,t){let n=(e.sections||{})[t];return n&&typeof n==`object`?n:{}}function Ut(e){e&&(e.closest(`details`)?.setAttribute(`open`,``),window.setTimeout(()=>e.scrollIntoView?.({behavior:`smooth`,block:`center`}),0))}function Wt({language:e,variant:t=`drawer`}){let[n,a]=q.useState(t===`home`),s=q.useRef(null),c=u({queryKey:[`commandBriefing`],queryFn:r.commandBriefing,enabled:n});q.useEffect(()=>{let e=()=>{a(!0),Ut(s.current)};return window.addEventListener(`lattice:open-briefing`,e),()=>window.removeEventListener(`lattice:open-briefing`,e)},[]);let l=c.data?.data||{},d=!!c.data&&(!c.data?.ok||Object.keys(l.sections||{}).length===0),p=X(l,`knowledge`),m=X(l,`conversations`),h=X(l,`automations`),g=X(l,`review`),_=X(l,`health`),v=X(l,`suggestions`),y=o(l.quick_actions),b=o(p.recent);return(0,J.jsxs)(`section`,{ref:s,className:`brain-care-panel daily-briefing-panel ${n?`is-expanded`:`is-collapsed`} ${t===`home`?`is-home`:``}`,"aria-label":i(e,`briefing.title`),"data-testid":`daily-briefing`,children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`daily-briefing-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(be,{className:`h-3.5 w-3.5`}),` `,i(e,`briefing.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`briefing.subtitle`)})]}),(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsx)(`div`,{id:`daily-briefing-details`,className:`brain-care-details`,children:c.isPending?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`briefing.loading`)}):d?(0,J.jsx)(`p`,{className:`brain-care-note`,"data-testid":`daily-briefing-empty`,children:i(e,`briefing.empty`)}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`daily-briefing-stats`,role:`list`,children:[(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsx)(`strong`,{children:String(m.questions??0)}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.questions`)})]}),(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsxs)(`strong`,{children:[String(h.enabled??0),`/`,String(h.total??0)]}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.automations`)})]}),(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsx)(`strong`,{children:String(g.pending??0)}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.review`)})]}),(0,J.jsxs)(`div`,{role:`listitem`,className:`daily-briefing-stat`,children:[(0,J.jsx)(`strong`,{children:_.available&&_.grade?String(_.grade):`—`}),(0,J.jsx)(`span`,{children:i(e,`briefing.stat.health`)})]})]}),b.length>0?(0,J.jsxs)(`div`,{className:`daily-briefing-recent`,children:[(0,J.jsx)(`p`,{className:`command-palette-group`,children:i(e,`briefing.recent`)}),(0,J.jsx)(`ul`,{children:b.slice(0,3).map(e=>(0,J.jsx)(`li`,{title:String(e.title||``),children:String(e.title||e.id||``)},String(e.id)))})]}):null,Number(v.count??0)>0?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`briefing.suggestions`,{count:String(v.count)})}):null,y.length>0?(0,J.jsx)(`div`,{className:`daily-briefing-actions`,children:y.map(t=>{let n=Ht[t.id];return n?(0,J.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>U(t.target),children:[(0,J.jsx)(`span`,{children:i(e,n,{count:String(t.count||0)})}),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]},t.id):null})}):null]})}):null]})}function Gt({language:e}){let t=l(),[n,a]=q.useState(!1),s=u({queryKey:[`pendingProposals`],queryFn:r.proposals,enabled:n}),c=async()=>{await Promise.all([t.invalidateQueries({queryKey:[`pendingProposals`]}),t.invalidateQueries({queryKey:[`reviewItems`]})])},[f,p]=q.useState({}),m=d({mutationFn:e=>r.approveReviewItem(e),onSuccess:async(e,t)=>{if(!e.ok&&e.status===409){p(e=>({...e,[t]:!0}));return}e.ok&&(p(e=>{let n={...e};return delete n[t],n}),await c())}}),h=d({mutationFn:e=>r.rejectProposal(e),onSuccess:c}),g=o((s.data?.data||{}).items),_=m.isPending||h.isPending,v=s.isError||(s.data?!s.data.ok:!1);return(0,J.jsxs)(`section`,{className:`brain-care-panel pending-proposals-panel ${n?`is-expanded`:`is-collapsed`}`,"aria-label":i(e,`proposals.title`),"data-testid":`pending-proposals`,children:[(0,J.jsxs)(`button`,{className:`brain-care-summary`,type:`button`,"aria-expanded":n,"aria-controls":`pending-proposals-details`,onClick:()=>a(e=>!e),children:[(0,J.jsxs)(`span`,{className:`brain-care-summary-main`,children:[(0,J.jsxs)(`span`,{children:[(0,J.jsx)(Ve,{className:`h-3.5 w-3.5`}),` `,i(e,`proposals.title`)]}),(0,J.jsx)(`strong`,{children:i(e,`proposals.subtitle`)})]}),(0,J.jsx)(H,{className:`brain-care-toggle h-4 w-4`,"aria-hidden":`true`})]}),n?(0,J.jsxs)(`div`,{id:`pending-proposals-details`,className:`brain-care-details`,children:[s.isPending?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.loading`)}):v?(0,J.jsxs)(`div`,{className:`grid gap-2`,role:`alert`,children:[(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.error`)}),s.data?.error?(0,J.jsx)(`small`,{className:`text-xs text-muted-foreground opacity-75`,children:s.data.error}):null,(0,J.jsx)(`button`,{type:`button`,className:`daily-briefing-action`,onClick:()=>void s.refetch(),children:(0,J.jsx)(`span`,{children:i(e,`common.retry`)})})]}):g.length===0?(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.empty`)}):(0,J.jsx)(`div`,{className:`pending-proposals-list`,children:g.map(t=>{let n=t.payload||{},r=o(n.diff),a=String(n.tier||`small`);return(0,J.jsxs)(`article`,{className:`pending-proposal`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{title:String(n.path||t.title),children:String(n.path||t.title)}),(0,J.jsx)(`span`,{className:`pending-proposal-tier`,children:i(e,t.kind===`file_delete`?`proposals.kind.delete`:a===`large`?`proposals.tier.large`:`proposals.tier.small`)})]}),(0,J.jsx)(`p`,{className:`brain-care-note`,children:t.summary}),r.length>0?(0,J.jsx)(z,{language:e,diff:r}):null,f[t.id]?(0,J.jsx)(pe,{language:e,itemId:t.id}):null,(0,J.jsxs)(`div`,{className:`pending-proposal-actions`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`daily-briefing-action`,disabled:_,onClick:()=>m.mutate(t.id),children:[(0,J.jsx)(ke,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`proposals.approve`)})]}),(0,J.jsxs)(`button`,{type:`button`,className:`daily-briefing-action pending-proposal-reject`,disabled:_,onClick:()=>h.mutate(t.id),children:[(0,J.jsx)(G,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`proposals.reject`)})]})]})]},t.id)})}),(0,J.jsx)(`p`,{className:`brain-care-note`,children:i(e,`proposals.note`)})]}):null]})}function Kt({language:e,draft:t,streaming:n,imageData:r,uploadingDocument:a,onDraftChange:o,onImageDataChange:s,onUploadDocument:c,onSend:l,onStop:u,attachments:d}){let f=q.useRef(null),p=q.useRef(null),[m,h]=q.useState(!1),g=q.useId(),_=q.useRef(null),v=q.useRef(0);q.useEffect(()=>{let e=f.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,152)}px`)},[t]);let y=()=>{_.current!==null&&(window.clearTimeout(_.current),_.current=null)},b=()=>{y(),_.current=window.setTimeout(()=>{let e=p.current;e&&(e.contains(document.activeElement)||e.querySelector(`.brain-ingestion-dock-popover`)||a||h(!1))},240)};return q.useEffect(()=>y,[]),q.useEffect(()=>{if(!m)return;let e=e=>{let t=e.target;t&&p.current?.contains(t)||h(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[m]),(0,J.jsxs)(`div`,{className:`brain-composer`,"aria-busy":n,children:[(0,J.jsx)(`textarea`,{ref:f,rows:1,value:t,onChange:e=>o(e.target.value),onKeyDown:e=>{e.nativeEvent.isComposing||e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),l())},"aria-label":i(e,`brain.placeholder`),"aria-describedby":`brain-composer-hint`,"aria-keyshortcuts":`Control+K Meta+K`,placeholder:i(e,`brain.placeholder`)}),(0,J.jsxs)(`div`,{className:`brain-composer-actions`,children:[(0,J.jsxs)(`div`,{ref:p,className:`brain-attach ${m?`is-open`:``}`,onPointerEnter:e=>{e.pointerType===`mouse`&&(y(),h(e=>(e||(v.current=Date.now()),!0)))},onPointerLeave:e=>{e.pointerType===`mouse`&&b()},onKeyDown:e=>{e.key!==`Escape`||!m||p.current?.querySelector(`.brain-ingestion-dock-popover`)||(e.preventDefault(),e.stopPropagation(),h(!1))},children:[(0,J.jsxs)(`button`,{type:`button`,className:`brain-attach-toggle`,"aria-expanded":m,"aria-controls":m?g:void 0,"aria-label":i(e,`brain.composer.attach.aria`),"data-testid":`brain-attach-toggle`,onClick:()=>{h(e=>e?Date.now()-v.current<350:(v.current=Date.now(),!0))},children:[(0,J.jsx)(Ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.composer.attach`)})]}),m?(0,J.jsxs)(`div`,{id:g,className:`brain-composer-attachments`,"data-testid":`brain-attach-menu`,role:`group`,"aria-label":i(e,`brain.composer.attachments`),children:[(0,J.jsxs)(`label`,{className:`brain-document-input ${a?`is-disabled`:``}`,children:[(0,J.jsx)(Be,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:a?i(e,`brain.upload.uploading`):i(e,`brain.upload.ctaShort`)}),(0,J.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:a,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&c(t)}})]}),(0,J.jsxs)(`label`,{className:`brain-image-input`,children:[(0,J.jsx)(He,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.image`)}),(0,J.jsx)(`input`,{type:`file`,accept:`image/*`,className:`sr-only`,onChange:async e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&s(await qt(t))}})]}),d]}):null,r?(0,J.jsx)(`span`,{className:`brain-quiet-success`,children:i(e,`brain.imageAttached`)}):null]}),(0,J.jsx)(`span`,{id:`brain-composer-hint`,className:`brain-composer-hint`,children:i(e,`brain.composer.hint`)}),n&&u?(0,J.jsxs)(K,{onClick:u,variant:`outline`,className:`brain-composer-submit`,children:[(0,J.jsx)(tt,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,i(e,`brain.stop`)]}):(0,J.jsxs)(K,{onClick:l,disabled:!t.trim()||n,className:`brain-composer-submit`,children:[(0,J.jsx)($e,{className:`h-4 w-4`,"aria-hidden":`true`}),` `,i(e,`brain.send`)]})]})]})}function qt(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(String(r.result||``)),r.onerror=()=>n(r.error),r.readAsDataURL(e)})}var Jt=Se(),Z=[`features`];function Yt({language:e}){let t=l(),[n,a]=q.useState(``),o=u({queryKey:Z,queryFn:r.features}),s=d({mutationFn:e=>r.setFeature(e.id,e.value),onMutate:async e=>{await t.cancelQueries({queryKey:Z});let n=t.getQueryData(Z);return t.setQueryData(Z,t=>Qt(t,e.id,e.value)),a(``),{previous:n}},onSuccess:(n,r,o)=>{if(n.ok){a(i(e,`brain.features.saved`)),t.invalidateQueries({queryKey:Z});return}t.setQueryData(Z,o?.previous),a(n.error||i(e,`brain.features.failed`))},onError:(n,r,o)=>{t.setQueryData(Z,o?.previous),a(i(e,`brain.features.failed`))}}),c=o.data?.ok?o.data.data:void 0,f=c?.features??[],p=new Set(f.filter(e=>e.current===!0).map(e=>e.id));return(0,J.jsxs)(`section`,{className:`brain-features-panel`,"aria-label":i(e,`brain.features.aria`),"aria-busy":s.isPending,children:[(0,J.jsxs)(`header`,{className:`brain-features-head`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.features.title`)}),(0,J.jsx)(`p`,{children:c?.note||i(e,`brain.features.note`)})]}),o.isLoading?(0,J.jsx)(`p`,{className:`brain-features-loading`,children:i(e,`ui.loading`)}):null,!o.isLoading&&f.length===0?(0,J.jsx)(se,{title:i(e,`brain.features.empty`),detail:o.data?.error}):null,f.length?(0,J.jsx)(`ul`,{className:`brain-features-list`,children:f.map(t=>(0,J.jsx)(Xt,{feature:t,language:e,dormant:!!t.parent&&!p.has(String(t.parent)),busy:s.isPending,onChange:e=>s.mutate({id:t.id,value:e})},t.id))}):null,(0,J.jsx)(`p`,{className:`brain-features-notice`,role:`status`,"aria-live":`polite`,children:n})]})}function Xt({feature:e,language:t,dormant:n,busy:r,onChange:a}){let o=e.current===!0;return(0,J.jsxs)(`li`,{className:`brain-feature-row${e.parent?` is-child`:``}${o?` is-on`:``}`,"data-testid":`feature-row-${e.id}`,children:[(0,J.jsxs)(`div`,{className:`brain-feature-copy`,children:[(0,J.jsxs)(`span`,{className:`brain-feature-name`,children:[e.label,e.source===`env`?(0,J.jsx)(`em`,{className:`brain-feature-source`,title:i(t,`brain.features.source.env.detail`,{flag:e.env_var}),children:i(t,`brain.features.source.env`)}):null,n?(0,J.jsx)(`em`,{className:`brain-feature-source`,children:i(t,`brain.features.dormant`)}):null]}),(0,J.jsx)(`span`,{className:`brain-feature-summary`,children:e.summary}),e.caution?(0,J.jsxs)(`span`,{className:`brain-feature-caution`,children:[(0,J.jsx)(Ue,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}),e.caution]}):null]}),e.kind===`choice`?(0,J.jsx)(Zt,{feature:e,language:t,busy:r,onChange:a}):(0,J.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":o,"aria-label":e.label,className:`brain-feature-switch`,"data-testid":`feature-switch-${e.id}`,onClick:()=>{r||a(!o)},children:[(0,J.jsx)(`span`,{className:`brain-feature-switch-track`,"aria-hidden":`true`,children:(0,J.jsx)(`span`,{className:`brain-feature-switch-thumb`})}),(0,J.jsx)(`span`,{className:`brain-feature-state`,children:i(t,o?`brain.features.on`:`brain.features.off`)})]})]})}function Zt({feature:e,language:t,busy:n,onChange:r}){return(0,J.jsx)(`div`,{className:`brain-feature-choices`,role:`radiogroup`,"aria-label":e.label,"data-testid":`feature-choices-${e.id}`,children:e.choices.map(a=>(0,J.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":e.current===a.id,className:e.current===a.id?`is-active`:``,"data-testid":`feature-choice-${e.id}-${a.id}`,disabled:!a.available,title:a.detail||void 0,onClick:()=>{n||r(a.id)},children:[a.label,a.available?null:(0,J.jsx)(`em`,{children:i(t,`brain.features.installRequired`)})]},a.id))})}function Qt(e,t,n){let r=e;return!r?.ok||!r.data?e:{...r,data:{...r.data,features:r.data.features.map(e=>e.id===t?{...e,current:n,source:`user`}:e)}}}var $t=[{x:62,y:26},{x:78,y:26},{x:93,y:26},{x:62,y:45},{x:78,y:45},{x:93,y:45},{x:70,y:64},{x:86,y:64}];function Q(e){let t=String(e??``).trim();return!t||/^[A-Za-z][\w-]*[-_]?\d{6,}$/.test(t)||/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)||/^\d+$/.test(t)?``:t}var en=[`chat`,`file`,`folder`,`note`,`web`],tn={chat:qe,file:Be,folder:B,note:ze,web:de};function nn(e){return!!(e&&e.stage!==`complete`&&e.stage!==`error`)}q.memo(function({language:e,brainState:t,intensity:n,graph:r,readiness:a,brief:o,memories:s,ingestionStates:c,emergenceEvents:l,streaming:u,onExploreBrain:d}){let p=l[0],m=q.useMemo(()=>{let e=new Map;for(let t of r.edges)e.set(t.source,(e.get(t.source)??0)+1),e.set(t.target,(e.get(t.target)??0)+1);let t=new Set(p?.nodeIds??[]);return[...r.nodes].sort((n,r)=>Number(t.has(r.id))-Number(t.has(n.id))||(e.get(r.id)??0)-(e.get(n.id)??0)||r.importance-n.importance).slice(0,$t.length)},[r.edges,r.nodes,p?.nodeIds]),g=q.useMemo(()=>new Map(m.map((e,t)=>[e.id,$t[t]])),[m]),_=q.useMemo(()=>r.edges.filter(e=>g.has(e.source)&&g.has(e.target)).slice(0,16),[r.edges,g]),v=en.map(e=>c[e]).find(e=>nn(e)),y=q.useMemo(()=>new Set(p?.nodeIds??[]),[p]),b=u||!!v,x=u?`chat`:v?.sourceType,S=Q(v?.label)||Q(p?.label)||Q(o.focus.title)||Q(s[0]?.title)||i(e,`brain.flow.source.empty`),C=v?i(e,`brain.ingest.stage.${v.stage}.hint`):p?i(e,`brain.flow.status.emerged`,{memories:p.newMemories,entities:p.newEntities}):m.length?i(e,`brain.flow.status.ready`,{focus:Q(o.focus.title)||Q(m[0]?.label)||`Brain`}):i(e,`brain.flow.status.empty`),w=Math.max(a.signals.memoryCount,s.length),T=Math.max(a.signals.conceptCount,r.nodes.length),E=Math.max(a.signals.relationshipCount,r.edges.length);return(0,J.jsxs)(`section`,{className:`brain-knowledge-flow ${b?`is-absorbing`:``}`,"data-source":x||`idle`,"data-stage":v?.stage||(p?`connected`:`ready`),"data-brain-state":t,"aria-labelledby":`brain-home-title`,children:[(0,J.jsxs)(`header`,{className:`brain-flow-heading`,children:[(0,J.jsxs)(`div`,{className:`brain-flow-heading-copy`,children:[(0,J.jsx)(`span`,{className:`brain-home-kicker`,children:i(e,`brain.home.kicker`)}),(0,J.jsx)(`h1`,{id:`brain-home-title`,children:i(e,`brain.firstScreen.title`)}),(0,J.jsx)(`p`,{children:i(e,`brain.firstScreen.body`)})]}),(0,J.jsxs)(`div`,{className:`brain-flow-vital`,"data-state":t,children:[(0,J.jsxs)(`span`,{"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{})]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.flow.vital`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.living.state.${t}`)})]})]})]}),(0,J.jsxs)(`div`,{className:`brain-flow-canvas`,"data-testid":`brain-knowledge-flow`,children:[(0,J.jsxs)(`div`,{className:`brain-flow-sources`,"aria-label":i(e,`brain.flow.sources.aria`),children:[(0,J.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.sources`)}),en.map(t=>{let n=tn[t],r=c[t],a=t===x,o=r?.stage===`complete`;return(0,J.jsxs)(`span`,{className:`brain-flow-source ${a?`is-active`:``} ${o?`is-remembered`:``}`,"aria-current":a?`step`:void 0,children:[(0,J.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.ingest.type.${t}`)]},t)})]}),(0,J.jsxs)(`svg`,{className:`brain-flow-transfer`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,J.jsx)(`path`,{className:`brain-flow-transfer-path`,d:`M20 50 C28 50 31 50 38 50`}),(0,J.jsx)(`path`,{className:`brain-flow-transfer-path is-output`,d:`M54 50 C59 50 62 50 67 50`}),b?Array.from({length:4}).map((e,t)=>(0,J.jsx)(`circle`,{className:`brain-flow-particle`,r:`0.8`,style:{animationDelay:`${t*240}ms`},children:(0,J.jsx)(`animateMotion`,{dur:`1.7s`,repeatCount:`indefinite`,path:`M20 50 C28 50 31 50 43 50`})},t)):null,m.length?Array.from({length:3}).map((e,t)=>(0,J.jsx)(`circle`,{className:`brain-flow-particle is-output`,r:`0.66`,children:(0,J.jsx)(`animateMotion`,{begin:`${t*1.15}s`,dur:b?`2.1s`:`4.2s`,repeatCount:`indefinite`,path:`M51 50 C58 46 61 44 70 42`})},`output-${t}`)):null]}),(0,J.jsxs)(`div`,{className:`brain-flow-organism`,children:[(0,J.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.memory`)}),(0,J.jsx)(h,{state:t,intensity:b?Math.max(n,.9):n,size:`large`,depth:a.depth,showLabel:!1,onInteract:d}),(0,J.jsxs)(`span`,{className:`brain-flow-organism-vital`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),i(e,`brain.living.state.${t}`)]})]}),(0,J.jsxs)(`div`,{className:`brain-flow-graph`,"aria-label":i(e,`brain.flow.graph.aria`,{concepts:T,relationships:E}),children:[(0,J.jsx)(`span`,{className:`brain-flow-column-label`,children:i(e,`brain.flow.graph`)}),(0,J.jsx)(`svg`,{className:`brain-flow-edges`,viewBox:`0 0 100 100`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:_.map((e,t)=>{let n=g.get(e.source),r=g.get(e.target);return!n||!r?null:(0,J.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,vectorEffect:`non-scaling-stroke`,style:{animationDelay:`${t*-.72}s`}},e.id)})}),m.length?m.map((t,n)=>{let r=$t[n];return(0,J.jsxs)(`button`,{type:`button`,className:`brain-flow-node ${y.has(t.id)?`is-emerging`:``}`,style:{left:`${r.x}%`,top:`${r.y}%`},"aria-label":i(e,`brain.flow.node.aria`,{label:t.label,type:t.type}),title:t.summary||t.type,onClick:d,children:[(0,J.jsx)(`span`,{children:t.type}),(0,J.jsx)(`strong`,{children:t.label})]},t.id)}):(0,J.jsxs)(`div`,{className:`brain-flow-empty-graph`,children:[(0,J.jsx)(V,{className:`h-5 w-5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.flow.graph.empty`)})]}),(0,J.jsx)(`ul`,{className:`sr-only`,children:_.map(e=>{let t=m.find(t=>t.id===e.source),n=m.find(t=>t.id===e.target);return!t||!n?null:(0,J.jsxs)(`li`,{children:[t.label,` — `,e.label,` — `,n.label]},`accessible-${e.id}`)})})]}),(0,J.jsxs)(`div`,{className:`brain-flow-live-status`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,children:[(0,J.jsx)(`span`,{className:`brain-flow-status-icon`,"aria-hidden":`true`,children:b?(0,J.jsx)(L,{className:`h-4 w-4`}):(0,J.jsx)(R,{className:`h-4 w-4`})}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:S}),(0,J.jsx)(`small`,{children:C})]})]}),(0,J.jsxs)(`ol`,{className:`brain-flow-path`,"aria-label":i(e,`brain.flow.path.aria`),children:[(0,J.jsxs)(`li`,{"data-active":!!x,children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.input`)}),(0,J.jsx)(`strong`,{children:x?i(e,`brain.ingest.type.${x}`):i(e,`brain.flow.path.waiting`)})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`li`,{"data-active":b,children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.memory`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.flow.path.memoryCount`,{count:w})})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.connections`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.flow.path.graphCount`,{concepts:T,relationships:E})})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.flow.path.automation`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.flow.path.actionCount`,{count:o.proactiveActions.length})})]})]})]})]})});function rn({language:e,brief:t,activities:n,streaming:r,onAction:a,compact:o=!1}){let s=q.useRef(null),c=t.proactiveActions.slice(0,3),l=t.evidence.filter(e=>e.value>0).slice(0,3),u=t.focus.title||i(e,`brain.brief.focus.empty`),d=()=>{let e=s.current;e&&(e.removeAttribute(`open`),e.querySelector(`summary`)?.focus())};if(o){let t=c[0];return(0,J.jsxs)(`section`,{className:`brain-memory-automation is-compact ${c.length>1?`has-more-actions`:c.length===1?`has-single-action`:`has-no-actions`}`,"data-testid":`brain-automation-dock`,"aria-labelledby":`brain-memory-automation-compact-title`,children:[(0,J.jsxs)(`div`,{className:`brain-automation-compact-head`,children:[(0,J.jsx)(`span`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,J.jsx)(g,{className:`h-4 w-4`})}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.automation.kicker`)}),(0,J.jsx)(`strong`,{id:`brain-memory-automation-compact-title`,children:i(e,`brain.automation.title`)})]}),c.length>1?(0,J.jsxs)(`details`,{ref:s,className:`brain-automation-more`,"data-testid":`brain-automation-more`,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),d())},children:[(0,J.jsx)(`summary`,{"aria-label":i(e,`brain.automation.more`),children:(0,J.jsx)(Ee,{className:`h-4 w-4`,"aria-hidden":`true`})}),(0,J.jsxs)(`div`,{className:`brain-automation-more-popover`,children:[(0,J.jsxs)(`header`,{className:`brain-automation-more-head`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.automation.title`)}),(0,J.jsx)(`button`,{type:`button`,"aria-label":i(e,`brain.automation.close`),onClick:d,children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,J.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,J.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>a(t),children:[(0,J.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:on(t.intent)}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,t.detailKey)})]}),(0,J.jsx)(`em`,{children:i(e,sn(t.intent))}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}),(0,J.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,J.jsx)(Oe,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.automation.guard`)})]}),n.length?(0,J.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":i(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,J.jsxs)(`li`,{"data-status":t.status,children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`span`,{children:i(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})]}):null]}),(0,J.jsx)(`span`,{className:`brain-automation-compact-focus`,title:u,children:u}),t?(0,J.jsxs)(`button`,{type:`button`,className:`brain-automation-primary-action`,disabled:r,onClick:()=>a(t),children:[(0,J.jsx)(`span`,{"aria-hidden":`true`,children:on(t.intent)}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,sn(t.intent))})]}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]}):(0,J.jsx)(`p`,{className:`brain-automation-empty`,children:i(e,`brain.automation.empty`)})]})}return(0,J.jsxs)(`section`,{className:`brain-memory-automation`,"aria-labelledby":`brain-memory-automation-title`,children:[(0,J.jsxs)(`div`,{className:`brain-memory-automation-head`,children:[(0,J.jsx)(`div`,{className:`brain-memory-automation-mark`,"aria-hidden":`true`,children:(0,J.jsx)(g,{className:`h-5 w-5`})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.automation.kicker`)}),(0,J.jsx)(`h2`,{id:`brain-memory-automation-title`,children:i(e,`brain.automation.title`)}),(0,J.jsx)(`p`,{children:i(e,`brain.automation.body`)})]})]}),(0,J.jsxs)(`div`,{className:`brain-automation-grounding`,children:[(0,J.jsx)(me,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.automation.basedOn`)}),(0,J.jsx)(`strong`,{children:u}),t.focus.empty?null:(0,J.jsx)(`em`,{children:t.focus.source})]}),l.length?(0,J.jsx)(`div`,{className:`brain-automation-evidence`,"aria-label":i(e,`brain.brief.evidence.aria`),children:l.map(t=>(0,J.jsxs)(`span`,{title:i(e,t.detailKey),children:[(0,J.jsx)(`strong`,{children:t.value}),` `,i(e,t.labelKey)]},t.id))}):null]}),c.length?(0,J.jsx)(`div`,{className:`brain-automation-actions`,children:c.map(t=>(0,J.jsxs)(`button`,{type:`button`,disabled:r,onClick:()=>a(t),children:[(0,J.jsx)(`span`,{className:`brain-automation-action-icon`,"aria-hidden":`true`,children:on(t.intent)}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,t.detailKey)})]}),(0,J.jsx)(`em`,{children:i(e,sn(t.intent))}),(0,J.jsx)(f,{className:`h-4 w-4`,"aria-hidden":`true`})]},t.id))}):(0,J.jsx)(`p`,{className:`brain-automation-empty`,children:i(e,`brain.automation.empty`)}),(0,J.jsxs)(`div`,{className:`brain-automation-guard`,children:[(0,J.jsx)(Oe,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.automation.guard`)})]}),n.length?(0,J.jsx)(`ol`,{className:`brain-automation-activity`,"aria-label":i(e,`brain.proactive.trail.aria`),"aria-live":`polite`,children:n.slice(0,3).map(t=>(0,J.jsxs)(`li`,{"data-status":t.status,children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`span`,{children:i(e,`brain.proactive.status.${t.status}`)})]},t.id))}):null]})}function an({language:e,state:t,concepts:n,relationshipCount:r,onExploreBrain:a}){return(0,J.jsxs)(`div`,{className:`brain-conversation-trace ${nn(t)?`is-active`:``}`,role:`status`,"aria-live":`polite`,children:[(0,J.jsxs)(`span`,{className:`brain-conversation-trace-source`,children:[(0,J.jsx)(qe,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.flow.conversation`)]}),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:`brain-conversation-trace-memory`,children:[(0,J.jsx)(L,{className:`h-4 w-4`,"aria-hidden":`true`}),t?i(e,`brain.ingest.stage.${t.stage}.hint`):i(e,`brain.flow.conversation.ready`)]}),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsxs)(`button`,{type:`button`,onClick:a,children:[(0,J.jsx)(V,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:n.slice(0,3).map(e=>e.label).join(` · `)||i(e,`brain.flow.graph.empty.short`)}),(0,J.jsx)(`small`,{children:i(e,`brain.flow.relationships`,{count:r})})]})]})}function on(e){return e===`delegate`?(0,J.jsx)(g,{className:`h-4 w-4`}):e===`review`?(0,J.jsx)(Qe,{className:`h-4 w-4`}):e===`route`?(0,J.jsx)(V,{className:`h-4 w-4`}):(0,J.jsx)(qe,{className:`h-4 w-4`})}function sn(e){return e===`delegate`?`brain.automation.intent.delegate`:e===`review`?`brain.automation.intent.review`:e===`route`?`brain.automation.intent.route`:`brain.automation.intent.ask`}function cn({memories:e,concepts:t,readiness:n,proof:r,onOpenDepth:a}){let o=s(e=>e.language),c=e.filter(e=>e.agentGenerated).slice(0,3),l=e.filter(e=>!e.agentGenerated),u=l.slice(0,3),d=l.slice(3,6),f=t.slice(0,4),p=r.proofs.hasDurableEvidence||r.modelContinuity.proven,m=r.recall.items.length>0,h=r.modelContinuity.proven&&r.claims.keepsContextAcrossModels?r.modelContinuity.activeModel||i(o,`brain.proof.noModel`):i(o,`brain.proof.modelPending`);return(0,J.jsxs)(`section`,{className:`brain-overview-panel`,"aria-label":i(o,`brain.aria.overview`),children:[(0,J.jsxs)(`div`,{className:`brain-overview-head`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(o,`brain.overview.kicker`)}),(0,J.jsx)(`strong`,{children:i(o,`brain.overview.title`)})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(5),children:i(o,`brain.overview.graph`)})]}),(0,J.jsxs)(`div`,{className:`brain-overview-grid`,children:[(0,J.jsx)(un,{title:i(o,`brain.overview.agent`),empty:i(o,`brain.overview.agentEmpty`),items:c.map(e=>e.title),featured:c.length>0,onOpen:()=>a(2)}),(0,J.jsx)(un,{title:i(o,`brain.overview.recent`),empty:i(o,`brain.overview.recentEmpty`),items:u.map(e=>e.title),onOpen:()=>a(2)}),(0,J.jsx)(un,{title:i(o,`brain.overview.older`),empty:i(o,`brain.overview.olderEmpty`),items:d.map(e=>e.title),onOpen:()=>a(2)}),(0,J.jsx)(un,{title:i(o,`brain.overview.topics`),empty:i(o,`brain.overview.topicsEmpty`),items:f.map(e=>e.label),onOpen:()=>a(3)})]}),(0,J.jsxs)(`div`,{className:`brain-readiness-strip`,"data-state":n.state,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(o,`brain.readiness.kicker`)}),(0,J.jsx)(`strong`,{children:i(o,n.titleKey)})]}),(0,J.jsx)(`div`,{className:`brain-readiness-meter`,"aria-label":i(o,`brain.readiness.aria`),children:(0,J.jsx)(`i`,{style:{width:`${n.score}%`}})}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(n.depth),children:i(o,n.actionKey)})]}),(0,J.jsxs)(`div`,{className:`brain-proof-strip`,"aria-label":i(o,`brain.proof.aria`),children:[(0,J.jsx)(ln,{icon:(0,J.jsx)(Ie,{className:`h-4 w-4`}),label:i(o,`brain.proof.context`),value:p?i(o,`brain.proof.contextValue`,{count:r.proofs.durableItems}):i(o,`brain.proof.contextEmpty`)}),(0,J.jsx)(ln,{icon:(0,J.jsx)(Xe,{className:`h-4 w-4`}),label:i(o,`brain.proof.model`),value:h}),(0,J.jsx)(ln,{icon:(0,J.jsx)(v,{className:`h-4 w-4`}),label:i(o,`brain.proof.store`),value:i(o,`brain.proof.storeValue`,{topics:r.proofs.graphConcepts,vectors:r.proofs.vectorItems})})]}),m?(0,J.jsxs)(`button`,{type:`button`,className:`brain-recall-proof`,onClick:()=>a(2),children:[(0,J.jsx)(`span`,{children:i(o,`brain.proof.recall`)}),(0,J.jsx)(`strong`,{children:r.recall.items[0].title}),(0,J.jsx)(`small`,{children:r.recall.items[0].snippet||r.recall.query})]}):(0,J.jsxs)(`div`,{className:`brain-recall-proof is-empty`,role:`status`,children:[(0,J.jsx)(`span`,{children:i(o,`brain.proof.recallEmpty.kicker`)}),(0,J.jsx)(`strong`,{children:i(o,p?`brain.proof.recallPending`:`brain.proof.recallEmpty.title`)}),(0,J.jsx)(`small`,{children:i(o,p?`brain.proof.recallPending.detail`:`brain.proof.recallEmpty.detail`)})]})]})}function ln({icon:e,label:t,value:n}){return(0,J.jsxs)(`div`,{className:`brain-proof-point`,children:[e,(0,J.jsx)(`span`,{children:t}),(0,J.jsx)(`strong`,{children:n})]})}function un({title:e,empty:t,items:n,featured:r=!1,onOpen:i}){return(0,J.jsxs)(`button`,{type:`button`,className:`brain-overview-column${r?` is-featured`:``}`,onClick:i,children:[(0,J.jsx)(`span`,{children:e}),n.length?n.slice(0,3).map(e=>(0,J.jsx)(`strong`,{children:e},e)):(0,J.jsx)(`em`,{children:t})]})}var dn={chat:`brain.ingest.type.chat`,file:`brain.ingest.type.file`,folder:`brain.ingest.type.folder`,note:`brain.ingest.type.note`,web:`brain.ingest.type.web`};function fn({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:a,onConnectFolder:o,onIngestNote:s,onIngestWeb:c}){let[l,u]=q.useState(``),[d,f]=q.useState(``),[p,m]=q.useState(``);return(0,J.jsxs)(`section`,{className:`brain-ingestion-panel`,"aria-label":i(e,`brain.ingest.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-ingestion-head`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.ingest.kicker`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.ingest.title`)})]}),(0,J.jsxs)(`div`,{className:`brain-ingestion-grid`,children:[(0,J.jsxs)(`label`,{className:`brain-ingest-tile is-primary ${$(n.file)} ${t?`is-disabled`:``}`,children:[(0,J.jsx)(Be,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:t?i(e,`brain.upload.uploading`):i(e,`brain.ingest.file`)}),(0,J.jsx)(`small`,{children:i(e,`brain.ingest.file.detail`)}),(0,J.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:t,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&r(t)}}),(0,J.jsx)(hn,{language:e,state:n.file,ctaKey:`brain.ingest.cta.file`})]}),(0,J.jsxs)(`form`,{className:`brain-ingest-tile ${$(n.folder)}`,onSubmit:e=>{e.preventDefault(),o(l),u(``)},children:[(0,J.jsx)(ue,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.folder`)}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-ingest-folder-picker`,onClick:a,children:[(0,J.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`capture.local.choose`)]}),(0,J.jsx)(`input`,{value:l,onChange:e=>u(e.target.value),placeholder:i(e,`brain.ingest.folder.placeholder`)}),(0,J.jsx)(hn,{language:e,state:n.folder,ctaKey:`brain.ingest.cta.folder`})]}),(0,J.jsxs)(`form`,{className:`brain-ingest-tile ${$(n.note)}`,onSubmit:e=>{e.preventDefault(),s(d),f(``)},children:[(0,J.jsx)(ze,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.note`)}),(0,J.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:i(e,`brain.ingest.note.placeholder`)}),(0,J.jsx)(hn,{language:e,state:n.note,ctaKey:`brain.ingest.cta.note`})]}),(0,J.jsxs)(`form`,{className:`brain-ingest-tile ${$(n.web)}`,onSubmit:e=>{e.preventDefault(),c(p),m(``)},children:[(0,J.jsx)(de,{className:`h-4 w-4`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.web`)}),(0,J.jsx)(`input`,{value:p,onChange:e=>m(e.target.value),placeholder:i(e,`brain.ingest.web.placeholder`)}),(0,J.jsx)(hn,{language:e,state:n.web,ctaKey:`brain.ingest.cta.web`})]})]})]})}function pn({language:e,uploadingDocument:t,ingestionStates:n,onUploadDocument:r,onPickFolder:a,onConnectFolder:o,onIngestNote:s,onIngestWeb:c,variant:l=`panel`}){let[u,d]=q.useState(null),[f,p]=q.useState(``),[m,h]=q.useState(``),[g,_]=q.useState(``),v=q.useId(),y=e=>{d(t=>t===e?null:e)},b=e=>{if(e===`folder`){if(!f.trim())return;o(f),p(``)}else if(e===`note`){if(!m.trim())return;s(m),h(``)}else{if(!g.trim())return;c(g),_(``)}d(null)};return(0,J.jsxs)(`section`,{className:`brain-ingestion-dock${l===`inline`?` is-inline`:``}`,"data-testid":`brain-ingestion-dock`,"aria-label":i(e,`brain.ingest.aria`),onKeyDown:e=>{e.key===`Escape`&&d(null)},children:[l===`inline`?null:(0,J.jsxs)(`div`,{className:`brain-ingestion-dock-head`,children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`small`,{children:i(e,`brain.ingest.kicker`)}),(0,J.jsx)(`strong`,{children:i(e,`brain.ingest.dock.title`)})]})]}),(0,J.jsxs)(`div`,{className:`brain-ingestion-dock-actions`,children:[(0,J.jsxs)(`label`,{className:`brain-ingestion-dock-action ${$(n.file)} ${t?`is-disabled`:``}`,children:[(0,J.jsx)(Be,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.type.file`)}),(0,J.jsx)(`i`,{"aria-hidden":`true`}),(0,J.jsx)(`input`,{type:`file`,accept:`.pdf,.docx,.xlsx,.pptx,.txt,.md,.csv,application/pdf,text/plain,text/markdown,text/csv`,className:`sr-only`,disabled:t,onChange:e=>{let t=e.target.files?.[0];e.currentTarget.value=``,t&&r(t)}})]}),[[`folder`,B],[`note`,ze],[`web`,de]].map(([t,r])=>(0,J.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-action ${$(n[t])}`,"aria-expanded":u===t,"aria-controls":u===t?v:void 0,onClick:()=>y(t),children:[(0,J.jsx)(r,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.ingest.type.${t}`)}),(0,J.jsx)(`i`,{"aria-hidden":`true`})]},t))]}),u?(0,J.jsxs)(`div`,{id:v,className:`brain-ingestion-dock-popover`,children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.ingest.${u}`)}),(0,J.jsx)(`button`,{type:`button`,"aria-label":i(e,`brain.ingest.dock.close`),onClick:()=>d(null),children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),u===`folder`?(0,J.jsxs)(`button`,{type:`button`,className:`brain-ingestion-dock-picker`,onClick:a,children:[(0,J.jsx)(B,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`capture.local.choose`)]}):null,(0,J.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),b(u)},children:[(0,J.jsx)(`input`,{autoFocus:!0,value:u===`folder`?f:u===`note`?m:g,onChange:e=>{u===`folder`?p(e.target.value):u===`note`?h(e.target.value):_(e.target.value)},placeholder:i(e,`brain.ingest.${u}.placeholder`),"aria-label":i(e,`brain.ingest.${u}.placeholder`)}),(0,J.jsx)(`button`,{type:`submit`,"aria-label":i(e,`brain.action.add`),children:(0,J.jsx)(Me,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,J.jsx)(hn,{language:e,state:n[u],ctaKey:`brain.ingest.cta.${u}`})]}):null]})}function $(e){return e?e.stage===`error`?`is-failed`:e.stage===`complete`?`is-emerged`:`is-ingesting`:``}var mn={preparing:`brain.ingest.stage.preparing.hint`,parsing:`brain.ingest.stage.parsing.hint`,embedding:`brain.ingest.stage.embedding.hint`,indexing:`brain.ingest.stage.indexing.hint`,complete:`brain.ingest.stage.complete.hint`,error:`brain.ingest.stage.error`};function hn({language:e,state:t,ctaKey:n}){if(!t)return(0,J.jsx)(`small`,{className:`brain-ingest-cta`,children:i(e,n)});let r=t.stage===`error`,a=t.stage===`complete`,o=t.newMemories>0||t.newEntities>0;return(0,J.jsxs)(`div`,{className:`brain-ingest-progress`,role:`status`,"aria-live":`polite`,"aria-label":i(e,`brain.ingest.progress.aria`,{label:t.label}),children:[(0,J.jsx)(`div`,{className:`brain-ingest-stage-badges`,"aria-hidden":`true`,children:(0,J.jsxs)(`span`,{className:`brain-ingest-stage-badge ${r?`is-failed`:a?`is-done`:`is-active`}`,children:[!r&&!a?(0,J.jsx)(I,{className:`h-3 w-3 brain-ingest-spin`}):null,i(e,`brain.ingest.stage.${t.stage}`)]})}),(0,J.jsx)(`small`,{className:`brain-ingest-stage-hint ${r?`is-failed`:a?`is-emerged`:``}`,children:r?i(e,`brain.ingest.stage.error`):a?o?i(e,`brain.ingest.result`,{memories:t.newMemories,entities:t.newEntities}):i(e,`brain.ingest.result.empty`):i(e,mn[t.stage])}),a&&o?(0,J.jsxs)(`span`,{className:`lattice-inflow`,"aria-hidden":`true`,children:[(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{}),(0,J.jsx)(`i`,{})]}):null,a?(0,J.jsx)(gn,{language:e,state:t}):null]})}function gn({language:e,state:t}){let n=t.extraction;if(!n||n.level!==`low`)return null;let r=n.warnings.slice(0,3);return(0,J.jsxs)(`div`,{className:`brain-ingest-quality-note`,role:`note`,"data-testid":`extraction-quality-note`,children:[(0,J.jsx)(`p`,{children:i(e,`brain.ingest.quality.low`)}),r.length?(0,J.jsx)(`ul`,{children:r.map(e=>(0,J.jsx)(`li`,{children:e},e))}):null]})}function _n(e,t,n){let r=Math.floor((n-t)/6e4);return r<1?i(e,`brain.timeline.justNow`):i(e,`brain.timeline.minutesAgo`,{count:r})}function vn({language:e,emergenceEvents:t}){let n=Date.now();return(0,J.jsxs)(`section`,{className:`brain-emergence-timeline`,"aria-label":i(e,`brain.timeline.aria`),"aria-live":`polite`,children:[(0,J.jsxs)(`div`,{className:`brain-emergence-head`,children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`}),(0,J.jsx)(`strong`,{children:i(e,`brain.timeline.emergenceTitle`)}),(0,J.jsx)(`span`,{children:i(e,`brain.timeline.recent`)})]}),t.length===0?(0,J.jsx)(`p`,{className:`brain-emergence-empty`,children:i(e,`brain.timeline.empty`)}):(0,J.jsx)(`ol`,{className:`brain-emergence-list`,children:t.map(t=>(0,J.jsxs)(`li`,{className:`brain-emergence-item`,children:[(0,J.jsx)(`span`,{className:`brain-emergence-type`,children:i(e,dn[t.sourceType])}),(0,J.jsx)(`span`,{className:`brain-emergence-label`,children:t.label}),(0,J.jsxs)(`span`,{className:`brain-emergence-counts`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.timeline.newMemories`,{count:t.newMemories})}),(0,J.jsx)(`strong`,{children:i(e,`brain.timeline.newEntities`,{count:t.newEntities})})]}),(0,J.jsx)(`time`,{className:`brain-emergence-at`,children:_n(e,t.at,n)})]},t.id))})]})}function yn({language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:s,onExploreBrain:c,onOpenDepth:l}){let[u,d]=q.useState(null),f=q.useMemo(()=>{let e=a.filter(e=>e.kind===`Conversation`),t=a.filter(e=>e.kind!==`Conversation`).sort((e,t)=>Number(t.agentGenerated)-Number(e.agentGenerated));return[{id:`now`,depth:1,labelKey:`brain.rings.1`,emptyKey:`brain.rings.empty.now`,position:`top`,count:e.length,items:e.slice(0,3).map(e=>e.title)},{id:`memories`,depth:2,labelKey:`brain.rings.2`,emptyKey:`brain.rings.empty.memories`,position:`left`,count:t.length,items:t.slice(0,3).map(e=>e.title)},{id:`topics`,depth:3,labelKey:`brain.rings.3`,emptyKey:`brain.rings.empty.topics`,position:`bottom`,count:o.length,items:o.slice(0,3).map(e=>e.label)},{id:`graph`,depth:5,labelKey:`brain.rings.5`,emptyKey:`brain.rings.empty.graph`,position:`right`,count:s,items:[]}]},[a,o,s]);q.useEffect(()=>{if(u===null)return;let e=e=>{e.key===`Escape`&&d(null)};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[u]);let p=f.find(e=>e.id===u)??null;return(0,J.jsxs)(`div`,{className:`brain-rings`,"aria-label":i(e,`brain.rings.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-concentric-container`,children:[(0,J.jsx)(`div`,{className:`brain-orbit-field`,"aria-hidden":`true`,children:f.map((e,t)=>(0,J.jsx)(`div`,{className:`brain-concentric-ring ring-${t+1} ${e.count>0?`is-populated`:`is-dormant`}`},e.id))}),f.map(t=>(0,J.jsxs)(`button`,{type:`button`,className:`ring-label ring-label-${t.position} ${t.count>0?`is-populated`:``} ${u===t.id?`is-active`:``}`,"aria-expanded":u===t.id,"aria-controls":`brain-ring-peek`,"aria-label":i(e,`brain.rings.peek.aria`,{label:i(e,t.labelKey),count:t.count}),onClick:()=>d(e=>e===t.id?null:t.id),children:[i(e,t.labelKey),(0,J.jsx)(`em`,{children:t.count})]},t.id)),(0,J.jsx)(`div`,{className:`brain-center-orb`,children:(0,J.jsx)(h,{state:t,intensity:n,size:`large`,depth:r.depth||Math.max(1,Math.floor(r.score/20)),showLabel:!1,className:`brain-home-presence`,onInteract:c})})]}),p?(0,J.jsxs)(`section`,{id:`brain-ring-peek`,className:`brain-ring-peek`,"aria-label":i(e,`brain.rings.peek.title`,{label:i(e,p.labelKey)}),children:[(0,J.jsxs)(`header`,{children:[(0,J.jsx)(`strong`,{children:i(e,p.labelKey)}),(0,J.jsx)(`span`,{children:i(e,`brain.rings.count`,{count:p.count})}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>d(null),"aria-label":i(e,`brain.rings.close`),children:`×`})]}),p.items.length?(0,J.jsx)(`ul`,{children:p.items.map(e=>(0,J.jsx)(`li`,{children:e},e))}):(0,J.jsx)(`p`,{children:i(e,p.count>0?`brain.rings.peek.summary`:p.emptyKey,{count:p.count})}),(0,J.jsx)(`button`,{type:`button`,className:`brain-ring-peek-deeper`,onClick:()=>l(p.depth),children:i(e,`brain.rings.deeper`)})]}):null]})}function bn({language:e}){let t=i(e,`brain.noModel.banner`);return(0,J.jsxs)(`div`,{className:`brain-model-missing`,role:`note`,"aria-label":t,title:t,children:[(0,J.jsx)(ce,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:`brain-model-missing-text`,children:i(e,`brain.noModel.pill`)}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>U(`/models`),children:[i(e,`brain.noModel.cta`),(0,J.jsx)(f,{className:`h-3.5 w-3.5`,"aria-hidden":`true`})]})]})}function xn(e,t){if(!t)return``;let n=e===`ko`?`ko-KR`:`en-US`,r=new Date(t),i=new Date;return r.getFullYear()===i.getFullYear()&&r.getMonth()===i.getMonth()&&r.getDate()===i.getDate()?r.toLocaleTimeString(n,{hour:`2-digit`,minute:`2-digit`}):r.toLocaleDateString(n,{month:`short`,day:`numeric`})}var Sn=5,Cn=20;function wn({language:e,items:t,busyId:n,onResume:r,onDelete:a}){let[o,s]=q.useState(null),[c,l]=q.useState(!1),u=t.slice(0,c?Cn:Sn),d=Math.min(t.length,Cn)-Sn;return u.length?(0,J.jsxs)(`section`,{className:`brain-history-panel`,"aria-label":i(e,`brain.history.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-history-head`,children:[(0,J.jsx)(Te,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,`brain.history.title`)}),(0,J.jsx)(`span`,{children:i(e,`brain.history.hint`)})]}),(0,J.jsx)(`ul`,{className:`brain-history-list`,children:u.map(t=>{let c=n===t.id,l=o===t.id;return(0,J.jsxs)(`li`,{className:`brain-history-item${c?` is-busy`:``}`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`brain-history-resume`,disabled:c,"aria-label":i(e,`brain.history.resumeAria`,{title:t.title}),onClick:()=>r(t.id),children:[c?(0,J.jsx)(I,{className:`h-3.5 w-3.5 brain-ingest-spin`,"aria-hidden":`true`}):null,(0,J.jsx)(`span`,{className:`brain-history-title`,children:t.title}),(0,J.jsxs)(`small`,{children:[i(e,`brain.history.messages`,{count:t.messageCount}),t.updatedAt?` · ${xn(e,t.updatedAt)}`:``]})]}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-history-delete${l?` is-confirming`:``}`,disabled:c,"aria-label":l?i(e,`brain.history.deleteConfirm`):i(e,`brain.history.deleteAria`,{title:t.title}),onClick:()=>{l?(s(null),a(t.id)):s(t.id)},onBlur:()=>s(e=>e===t.id?null:e),children:[(0,J.jsx)(nt,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),l?(0,J.jsx)(`span`,{children:i(e,`brain.history.deleteConfirm`)}):null]})]},t.id)})}),d>0?(0,J.jsx)(`button`,{type:`button`,className:`brain-history-more`,"aria-expanded":c,onClick:()=>l(e=>!e),children:c?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Pe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.history.showLess`)]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(H,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.history.showMore`,{count:d})]})}):null]}):null}function Tn(e,t){if(e.id===`ask_brain`){De();return}if(e.id===`verify_model`){t();return}e.route&&U(e.route)}function En({language:e,brief:t,showEvidence:n=!0,onAction:r}){let a=t.focus.title||i(e,`brain.brief.focus.empty`),o=t.focus.detail||i(e,`brain.brief.focus.empty.detail`),s=t.nextActions.slice(0,3);return(0,J.jsxs)(`section`,{className:`brain-brief-panel`,"aria-label":i(e,`brain.brief.aria`),children:[(0,J.jsxs)(`div`,{className:`brain-brief-copy`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.brief.kicker`)}),(0,J.jsx)(`strong`,{children:i(e,t.headlineKey)}),(0,J.jsx)(`p`,{children:i(e,t.bodyKey,{focus:a})})]}),(0,J.jsxs)(`div`,{className:`brain-brief-focus`,children:[(0,J.jsx)(L,{className:`h-4 w-4`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.brief.focus`)}),(0,J.jsx)(`strong`,{children:a}),(0,J.jsx)(`small`,{children:o})]})]}),n?(0,J.jsx)(`div`,{className:`brain-brief-evidence`,"aria-label":i(e,`brain.brief.evidence.aria`),children:t.evidence.slice(0,3).map(t=>(0,J.jsxs)(`span`,{title:i(e,t.detailKey),children:[(0,J.jsx)(`strong`,{children:t.value}),i(e,t.labelKey)]},t.id))}):null,s.length?(0,J.jsx)(`div`,{className:`brain-brief-actions`,"aria-label":i(e,`brain.brief.actions`),children:s.map(t=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>r(t),children:[Dn(t.id),(0,J.jsx)(`span`,{children:i(e,t.labelKey)}),(0,J.jsx)(`small`,{children:i(e,t.detailKey)})]},t.id))}):null]})}function Dn(e){return e===`add_source`?(0,J.jsx)(Be,{className:`h-4 w-4`}):e===`inspect_topics`?(0,J.jsx)(ve,{className:`h-4 w-4`}):e===`verify_model`?(0,J.jsx)(Xe,{className:`h-4 w-4`}):e===`backup_brain`?(0,J.jsx)(fe,{className:`h-4 w-4`}):(0,J.jsx)(f,{className:`h-4 w-4`})}function On({language:e,proof:t,modelName:n,onVerify:r}){return(0,J.jsxs)(`section`,{className:`brain-model-demo`,"aria-label":i(e,`brain.modelDemo.aria`),children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`span`,{children:i(e,`brain.modelDemo.kicker`)}),(0,J.jsx)(`strong`,{children:t.modelContinuity.proven?i(e,`brain.modelDemo.proven`):i(e,`brain.modelDemo.pending`)}),(0,J.jsx)(`small`,{children:i(e,`brain.modelDemo.detail`,{model:t.modelContinuity.activeModel||n})})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:r,children:[(0,J.jsx)(Xe,{className:`h-3.5 w-3.5`}),i(e,`brain.modelDemo.verify`)]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>U(`/models`),children:[(0,J.jsx)(ce,{className:`h-3.5 w-3.5`}),i(e,`brain.modelDemo.change`)]})]})}var kn={conversations:`brain.dock.tab.conversations`,stats:`brain.dock.tab.stats`,map:`brain.dock.tab.map`,features:`brain.dock.tab.features`},An={conversations:Te,stats:Ne,map:V,features:et};function jn({language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:c,emergenceEvents:l,proactiveActivities:u,pastConversations:d,historyBusyId:f,streaming:p,modelName:m,proof:h,brief:g,onOpenDepth:_,onExploreBrain:v,onVerifyModelContinuity:y,onProactiveAction:b,onResumeConversation:x,onDeleteConversation:C,onRequestDetails:w}){let T=s(e=>e.mode)===`basic`,[E,D]=q.useState(null),O=E!==null,k=xe(()=>{let e=document.getElementById(`brain-ring-peek`);if(e){e.querySelector(`header button`)?.click();return}D(null)},O),A=e=>{e!==`conversations`&&e!==`features`&&w(),D(t=>t===e&&O?null:e)},j=[`conversations`,`stats`,`map`,`features`];return(0,J.jsxs)(`div`,{className:`brain-home-dock`,"data-testid":`brain-home-dock`,children:[(0,J.jsx)(`div`,{className:`brain-home-dock-rail`,role:`group`,"aria-label":i(e,`brain.dock.aria`),children:j.map(t=>{let n=An[t];return(0,J.jsxs)(`button`,{type:`button`,"data-testid":`brain-dock-${t}`,"aria-expanded":O&&E===t,onClick:()=>A(t),children:[(0,J.jsx)(n,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,kn[t])}),t===`conversations`&&d.length?(0,J.jsx)(`small`,{className:`brain-dock-count`,children:d.length}):null]},t)})}),O?(0,Jt.createPortal)((0,J.jsxs)(`div`,{className:`brain-home-dock-layer`,children:[(0,J.jsx)(`div`,{className:`brain-home-dock-scrim`,"aria-hidden":`true`,onClick:()=>D(null)}),(0,J.jsxs)(`aside`,{ref:k,className:`brain-home-drawer`,role:`dialog`,"aria-modal":`true`,"aria-label":i(e,`brain.dock.drawerAria`),"data-testid":`brain-home-drawer`,children:[(0,J.jsxs)(`header`,{className:`brain-home-drawer-head`,children:[(0,J.jsx)(`div`,{className:`brain-home-drawer-tabs`,role:`group`,"aria-label":i(e,`brain.dock.aria`),children:j.map(t=>(0,J.jsx)(`button`,{type:`button`,"aria-pressed":E===t,className:E===t?`is-active`:``,"data-testid":`brain-drawer-tab-${t}`,onClick:()=>A(t),children:i(e,kn[t])},t))}),(0,J.jsx)(`button`,{type:`button`,className:`brain-home-drawer-close`,"aria-label":i(e,`brain.home.shelf.close`),onClick:()=>D(null),children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]}),(0,J.jsxs)(`div`,{className:`brain-home-drawer-body`,children:[E===`conversations`?(0,J.jsx)(wn,{language:e,items:d,busyId:f,onResume:x,onDelete:C}):null,E===`stats`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(rn,{language:e,brief:g,activities:u,streaming:p,onAction:b}),(0,J.jsx)(En,{language:e,brief:g,showEvidence:!T,onAction:e=>Tn(e,y)}),T?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(vn,{language:e,emergenceEvents:l}),(0,J.jsx)(On,{language:e,proof:h,modelName:m,onVerify:y}),(0,J.jsx)(cn,{memories:a,concepts:o,readiness:r,proof:h,onOpenDepth:_})]}),(0,J.jsx)(Wt,{language:e,variant:`home`}),(0,J.jsx)(S,{language:e}),(0,J.jsx)(ne,{language:e}),(0,J.jsx)(Gt,{language:e}),(0,J.jsx)(It,{language:e}),(0,J.jsx)(Et,{language:e})]}):null,E===`map`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(yn,{language:e,brainState:t,intensity:n,readiness:r,memories:a,concepts:o,relationshipCount:c,onExploreBrain:v,onOpenDepth:_}),(0,J.jsx)(Vt,{language:e}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-home-drawer-map-cta`,onClick:v,children:[(0,J.jsx)(V,{className:`h-4 w-4`,"aria-hidden":`true`}),i(e,`brain.hero.stats.mapCta`)]})]}):null,E===`features`?(0,J.jsx)(Yt,{language:e}):null]})]})]}),document.body):null]})}var Mn=q.memo(function({language:e,brainState:t,intensity:n,readiness:r,memories:a,graph:o,relationshipCount:s,onExploreBrain:c,trailing:l}){let u=Math.max(r.signals.memoryCount,a.length),d=Math.max(r.signals.conceptCount,o.nodes.length),f=u===0&&d===0;return(0,J.jsxs)(`section`,{className:`brain-hero`,"data-testid":`brain-knowledge-flow`,"aria-labelledby":`brain-home-title`,children:[(0,J.jsx)(`div`,{className:`brain-hero-organism`,children:(0,J.jsx)(h,{state:t,intensity:n,size:`normal`,depth:r.depth,showLabel:!1,onInteract:c})}),(0,J.jsxs)(`div`,{className:`brain-hero-header-text`,children:[(0,J.jsx)(`h1`,{id:`brain-home-title`,children:i(e,`brain.firstScreen.title`)}),f?(0,J.jsx)(`p`,{className:`brain-hero-line`,children:i(e,`brain.hero.empty`)}):(0,J.jsxs)(`p`,{className:`brain-hero-line`,children:[i(e,`brain.hero.line`),(0,J.jsx)(Nn,{language:e,memories:u,concepts:d,relationships:s,onExploreBrain:c})]})]}),l?(0,J.jsx)(`div`,{className:`brain-hero-trailing`,children:l}):null]})});function Nn({language:e,memories:t,concepts:n,relationships:r,onExploreBrain:a}){let[o,s]=q.useState(!1),c=q.useRef(null),l=q.useRef(null),u=q.useId(),d=q.useRef(0),f=()=>{l.current!==null&&(window.clearTimeout(l.current),l.current=null)},p=()=>{f(),l.current=window.setTimeout(()=>s(!1),160)};q.useEffect(()=>{if(!o)return;let e=e=>{let t=e.target;t&&c.current?.contains(t)||s(!1)};return document.addEventListener(`pointerdown`,e,!0),document.addEventListener(`focusin`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0),document.removeEventListener(`focusin`,e,!0)}},[o]),q.useEffect(()=>f,[]);let m=[{key:`memories`,label:i(e,`brain.hero.stats.memories`),value:t,tone:`is-memory`},{key:`concepts`,label:i(e,`brain.hero.stats.concepts`),value:n,tone:`is-knowledge`},{key:`relationships`,label:i(e,`brain.hero.stats.relationships`),value:r,tone:`is-core`}],h=Math.max(1,...m.map(e=>e.value));return(0,J.jsxs)(`span`,{ref:c,className:`brain-hero-stats`,"data-testid":`brain-hero-stats`,onPointerEnter:e=>{e.pointerType===`mouse`&&(f(),s(e=>(e||(d.current=Date.now()),!0)))},onPointerLeave:e=>{e.pointerType===`mouse`&&p()},onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),s(!1))},children:[(0,J.jsxs)(`button`,{type:`button`,className:`brain-hero-stats-badge`,"aria-expanded":o,"aria-controls":o?u:void 0,"aria-label":i(e,`brain.hero.stats.aria`,{memories:t,concepts:n}),onClick:()=>{s(e=>e?Date.now()-d.current<350:(d.current=Date.now(),!0))},children:[(0,J.jsxs)(`span`,{className:`brain-hero-stat`,children:[i(e,`brain.hero.stats.memories`),` `,(0,J.jsx)(`strong`,{children:t})]}),(0,J.jsx)(`i`,{"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:`brain-hero-stat`,children:[i(e,`brain.hero.stats.concepts`),` `,(0,J.jsx)(`strong`,{children:n})]})]}),o?(0,J.jsxs)(`span`,{id:u,className:`brain-hero-stats-popover`,role:`group`,"aria-label":i(e,`brain.hero.stats.popoverAria`),"data-testid":`brain-hero-stats-popover`,children:[(0,J.jsx)(`strong`,{className:`brain-hero-stats-title`,children:i(e,`brain.hero.stats.title`)}),(0,J.jsx)(`span`,{className:`brain-hero-stats-graph`,"aria-hidden":`true`,children:m.map(e=>(0,J.jsxs)(`span`,{className:`brain-hero-stats-row`,children:[(0,J.jsx)(`span`,{className:`brain-hero-stats-label`,children:e.label}),(0,J.jsx)(`span`,{className:`brain-hero-stats-track`,children:(0,J.jsx)(`span`,{className:`brain-hero-stats-fill ${e.tone}`,style:{width:`${Math.max(6,Math.round(e.value/h*100))}%`}})}),(0,J.jsx)(`span`,{className:`brain-hero-stats-value`,children:e.value})]},e.key))}),(0,J.jsx)(`span`,{className:`brain-hero-stats-hint`,children:i(e,`brain.hero.hint`)}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-hero-stats-cta`,onClick:a,children:[(0,J.jsx)(Ge,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.hero.stats.mapCta`)]})]}):null]})}var Pn={low:`is-low`,medium:`is-medium`,high:`is-high`};function Fn({language:e}){let t=l(),[n,a]=q.useState(null),o=u({queryKey:[`permissionMode`],queryFn:r.permissionMode}),s=d({mutationFn:e=>r.setPermissionMode(e.mode,e.ack),onSuccess:e=>{e.ok&&(t.invalidateQueries({queryKey:[`permissionMode`]}),a(null))}}),c=o.data?.ok?o.data.data:void 0,f=c?.catalog??[],p=c?.mode??``,m=f.find(e=>e.id===n);function h(e){if(e.id!==p){if(e.requires_ack){a(e.id);return}a(null),s.mutate({mode:e.id,ack:!1})}}return(0,J.jsxs)(`div`,{className:`brain-quick-controls`,"data-testid":`brain-quick-controls`,children:[f.length?(0,J.jsxs)(`div`,{className:`brain-quick-dial`,role:`radiogroup`,"aria-label":i(e,`system.permission.title`),children:[(0,J.jsx)(`span`,{className:`brain-quick-label`,children:i(e,`system.permission.title`)}),(0,J.jsx)(`div`,{className:`brain-quick-segments`,children:f.map(t=>(0,J.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t.id===p,className:t.id===p?`is-active`:``,"data-testid":`quick-mode-${t.id}`,title:_e(t,e),disabled:s.isPending,onClick:()=>h(t),children:[(0,J.jsx)(`i`,{className:`brain-quick-dot ${Pn[t.risk]||`is-medium`}`,"aria-hidden":`true`}),ge(t,e)]},t.id))})]}):null,m?(0,J.jsxs)(`div`,{className:`brain-quick-confirm`,role:`alertdialog`,"data-testid":`quick-mode-confirm`,children:[(0,J.jsx)(ye,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`p`,{children:he(m,e)}),(0,J.jsx)(`button`,{type:`button`,className:`is-primary`,"data-testid":`quick-mode-confirm-apply`,disabled:s.isPending,onClick:()=>s.mutate({mode:m.id,ack:!0}),children:ge(m,e)}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>a(null),children:i(e,`ui.cancel`)})]}):null,s.data&&!s.data.ok?(0,J.jsx)(`p`,{className:`brain-quick-error`,role:`status`,children:s.data.error||i(e,`ui.requestUnavailable`)}):null]})}var In=new Set([`html`,`htm`,`md`,`markdown`,`txt`,`json`,`css`,`js`,`csv`,`py`,`yaml`,`yml`,`xml`,`sql`,`sh`]);function Ln(e){let t=e.lastIndexOf(`.`);return t>=0?e.slice(t+1).toLowerCase():``}function Rn(e){return typeof e.previewable==`boolean`?e.previewable:In.has(Ln(e.filename))}function zn(e){let t=Ln(e);return t===`html`||t===`htm`?`html`:t===`md`||t===`markdown`?`markdown`:t===`json`?`json`:`text`}var Bn=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:;">`;function Vn(e){return/<head[^>]*>/i.test(e)?e.replace(/<head[^>]*>/i,e=>`${e}${Bn}`):`${Bn}${e}`}function Hn(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function Un({language:e,file:t,onClose:n}){let a=xe(n),[o,s]=q.useState({status:`loading`}),[c,l]=q.useState(!1),u=zn(t.filename);q.useEffect(()=>{let e=!1;return r.readWorkspaceFile(t.path).then(t=>{e||(t.ok?s({status:`ready`,content:t.data.content}):s({status:`error`,reason:t.error||String(t.status||``)}))}),()=>{e=!0}},[t.path]);async function d(){c||(l(!0),await r.downloadWorkspaceFile(t.path,t.filename),l(!1))}return(0,J.jsx)(`div`,{className:`file-preview-backdrop`,role:`presentation`,onMouseDown:e=>{e.target===e.currentTarget&&n()},children:(0,J.jsxs)(`div`,{ref:a,className:`file-preview-modal`,role:`dialog`,"aria-modal":`true`,"aria-label":i(e,`brain.preview.aria`,{name:t.filename}),"data-testid":`file-preview-modal`,children:[(0,J.jsxs)(`header`,{className:`file-preview-head`,children:[(0,J.jsx)(`strong`,{className:`file-preview-name`,children:t.filename}),(0,J.jsxs)(`div`,{className:`file-preview-actions`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>void d(),disabled:c,children:[(0,J.jsx)(le,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),c?i(e,`brain.files.downloading`):i(e,`brain.files.download`)]}),(0,J.jsx)(`button`,{type:`button`,className:`file-preview-close`,"aria-label":i(e,`brain.preview.close`),onClick:n,children:(0,J.jsx)(G,{className:`h-4 w-4`,"aria-hidden":`true`})})]})]}),(0,J.jsx)(`div`,{className:`file-preview-body`,children:o.status===`loading`?(0,J.jsx)(`p`,{className:`file-preview-note`,role:`status`,children:i(e,`brain.preview.loading`)}):o.status===`error`?(0,J.jsx)(`p`,{className:`file-preview-note is-error`,role:`alert`,children:i(e,`brain.preview.error`,{reason:o.reason})}):u===`html`?(0,J.jsx)(`iframe`,{className:`file-preview-frame`,sandbox:``,title:i(e,`brain.preview.aria`,{name:t.filename}),srcDoc:Vn(o.content)}):u===`markdown`?(0,J.jsx)(`div`,{className:`file-preview-markdown`,"data-testid":`file-preview-markdown`,children:(0,J.jsx)(Wn,{language:e,content:o.content})}):(0,J.jsx)(`pre`,{className:`file-preview-code`,"data-testid":`file-preview-code`,children:u===`json`?Hn(o.content):o.content})}),u===`html`?(0,J.jsxs)(`footer`,{className:`file-preview-foot`,role:`note`,children:[(0,J.jsx)(Oe,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.preview.sandboxNote`)]}):null]})})}function Wn({language:e,content:t}){return(0,J.jsx)(J.Fragment,{children:q.useMemo(()=>Jn(t),[t]).map((t,n)=>t.kind===`code`?(0,J.jsx)(Zn,{language:e,code:t.value,lang:t.lang},n):t.value.trim()?(0,J.jsx)(qn,{value:t.value},n):null)})}function Gn(e){let t=[],n=[],r=()=>{n.length&&(t.push({kind:`paragraph`,lines:n}),n=[])};for(let i of e.split(`
|
|
2
2
|
`)){let e=i.trim();if(!e){r();continue}let a=/^(#{1,4})\s+(.+)$/.exec(e);if(a){r(),t.push({kind:`heading`,depth:a[1].length,text:a[2]});continue}let o=/^[-*•]\s+(.+)$/.exec(e);if(o){r();let e=t[t.length-1];e?.kind===`list`&&!e.ordered?e.items.push(o[1]):t.push({kind:`list`,ordered:!1,items:[o[1]]});continue}let s=/^\d+[.)]\s+(.+)$/.exec(e);if(s){r();let e=t[t.length-1];e?.kind===`list`&&e.ordered?e.items.push(s[1]):t.push({kind:`list`,ordered:!0,items:[s[1]]});continue}let c=/^>\s?(.*)$/.exec(e);if(c){r();let e=t[t.length-1];e?.kind===`quote`?e.lines.push(c[1]):t.push({kind:`quote`,lines:[c[1]]});continue}if(/^([-_*])\1{2,}$/.test(e)){r();continue}n.push(e)}return r(),t}function Kn(e){let t=/(\*\*[^*]+\*\*|`[^`]+`|\[[^\]]+\]\(https?:\/\/[^)\s]+\))/g,n=[],r=0,i=0;for(let a=t.exec(e);a;a=t.exec(e)){a.index>r&&n.push(e.slice(r,a.index));let t=a[0];if(t.startsWith(`**`))n.push((0,J.jsx)(`strong`,{children:t.slice(2,-2)},i++));else if(t.startsWith("`"))n.push((0,J.jsx)(`code`,{children:t.slice(1,-1)},i++));else{let e=/^\[([^\]]+)\]\((https?:\/\/[^)\s]+)\)$/.exec(t);e?n.push((0,J.jsx)(`a`,{href:e[2],target:`_blank`,rel:`noreferrer noopener`,children:e[1]},i++)):n.push(t)}r=a.index+t.length}return r<e.length&&n.push(e.slice(r)),n}function qn({value:e}){return(0,J.jsx)(`div`,{className:`brain-md`,children:q.useMemo(()=>Gn(e),[e]).map((e,t)=>{if(e.kind===`heading`)return(0,J.jsx)(`p`,{className:`brain-md-heading is-depth-${Math.min(e.depth,3)}`,children:Kn(e.text)},t);if(e.kind===`list`){let n=e.items.map((e,t)=>(0,J.jsx)(`li`,{children:Kn(e)},t));return e.ordered?(0,J.jsx)(`ol`,{children:n},t):(0,J.jsx)(`ul`,{children:n},t)}return e.kind===`quote`?(0,J.jsx)(`blockquote`,{children:Kn(e.lines.join(` `))},t):(0,J.jsx)(`p`,{children:e.lines.map((e,t)=>(0,J.jsxs)(q.Fragment,{children:[t>0?(0,J.jsx)(`br`,{}):null,Kn(e)]},t))},t)})})}function Jn(e){let t=[],n=/```([\w.+-]*)\n([\s\S]*?)(?:```|$)/g,r=0;for(let i=n.exec(e);i;i=n.exec(e))i.index>r&&t.push({kind:`text`,value:e.slice(r,i.index)}),t.push({kind:`code`,value:i[2].replace(/\n$/,``),lang:i[1]||void 0}),r=i.index+i[0].length;return r<e.length&&t.push({kind:`text`,value:e.slice(r)}),t.length?t:[{kind:`text`,value:e}]}var Yn={python:`py`,py:`py`,javascript:`js`,js:`js`,typescript:`ts`,ts:`ts`,tsx:`tsx`,jsx:`jsx`,html:`html`,css:`css`,json:`json`,markdown:`md`,md:`md`,bash:`sh`,sh:`sh`,shell:`sh`,zsh:`sh`,sql:`sql`,yaml:`yml`,yml:`yml`,toml:`toml`,csv:`csv`,xml:`xml`,text:`txt`,txt:`txt`};function Xn(e){let t=Yn[(e||``).toLowerCase()]||`txt`,n=new Date;return`chat-${[n.getFullYear(),String(n.getMonth()+1).padStart(2,`0`),String(n.getDate()).padStart(2,`0`)].join(``)+`-`+[String(n.getHours()).padStart(2,`0`),String(n.getMinutes()).padStart(2,`0`),String(n.getSeconds()).padStart(2,`0`)].join(``)}.${t}`}function Zn({language:e,code:t,lang:n}){let[a,o]=q.useState(!1),[s,c]=q.useState(`idle`),[l,u]=q.useState(null),[d,f]=q.useState(``);async function p(){try{await navigator.clipboard?.writeText(t),o(!0),window.setTimeout(()=>o(!1),2e3)}catch{}}async function m(){if(s===`saving`)return;c(`saving`),f(``);let a=Xn(n),o=await r.saveChatFile(a,t);if(!o.ok){c(`error`),f(o.error||i(e,`common.error.unknown`));return}let l=o.data,d=l.path||a;u({path:d,filename:d.split(`/`).pop()||a,bytes:l.bytes||0}),c(`saved`)}return(0,J.jsxs)(`div`,{className:`brain-code-block`,children:[(0,J.jsxs)(`div`,{className:`brain-code-head`,children:[(0,J.jsx)(`span`,{className:`brain-code-lang`,children:n||`text`}),(0,J.jsxs)(`div`,{className:`brain-code-actions`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>void p(),children:a?i(e,`brain.code.copied`):i(e,`brain.code.copy`)}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>void m(),disabled:s===`saving`,children:[(0,J.jsx)(Ze,{className:`h-3 w-3`,"aria-hidden":`true`}),s===`saving`?i(e,`brain.code.saving`):i(e,`brain.code.save`)]})]})]}),(0,J.jsx)(`pre`,{children:(0,J.jsx)(`code`,{children:t})}),s===`saved`&&l?(0,J.jsx)(er,{language:e,files:[l],compact:!0}):null,s===`error`?(0,J.jsx)(`small`,{className:`brain-code-save-error`,role:`alert`,children:i(e,`brain.code.saveError`,{reason:d})}):null]})}function Qn(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`:``}function $n({language:e,ingest:t}){let n=t.status===`ok`?`brain.files.brainOk`:t.status===`pending`?`brain.files.brainPending`:t.status===`failed`?`brain.files.brainFailed`:null;return n?(0,J.jsx)(`span`,{className:`brain-created-file-brain is-${t.status}`,role:`note`,"data-testid":`brain-ingest-chip`,title:t.status===`failed`&&t.detail?t.detail:void 0,children:i(e,n)}):null}function er({language:e,files:t,compact:n=!1}){let[a,o]=q.useState(null),[s,c]=q.useState(``),[l,u]=q.useState(null);async function d(t){if(a)return;o(t.path),c(``);let n=await r.downloadWorkspaceFile(t.path,t.filename);n.ok||c(n.error||i(e,`common.error.unknown`)),o(null)}return(0,J.jsxs)(`section`,{className:`brain-created-files lattice-success-pulse ${n?`is-compact`:``}`,"aria-label":i(e,`brain.files.title`),children:[(0,J.jsxs)(`div`,{className:`brain-created-files-head`,children:[(0,J.jsx)(Re,{className:`h-4 w-4`,"aria-hidden":`true`}),(0,J.jsx)(`strong`,{children:i(e,`brain.files.title`)})]}),(0,J.jsx)(`ul`,{children:t.map(t=>(0,J.jsxs)(`li`,{children:[(0,J.jsx)(`span`,{className:`brain-created-file-name`,children:t.filename}),t.bytes?(0,J.jsx)(`small`,{children:Qn(t.bytes)}):null,t.repaired?(0,J.jsx)(`span`,{className:`brain-created-file-repaired`,role:`note`,children:i(e,`brain.files.repaired`)}):null,t.brainIngest?(0,J.jsx)($n,{language:e,ingest:t.brainIngest}):null,Rn(t)?(0,J.jsxs)(`button`,{type:`button`,onClick:()=>u(t),children:[(0,J.jsx)(Le,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.preview.open`)]}):null,(0,J.jsxs)(`button`,{type:`button`,onClick:()=>void d(t),disabled:a===t.path,children:[(0,J.jsx)(le,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),a===t.path?i(e,`brain.files.downloading`):i(e,`brain.files.download`)]})]},t.path))}),l?(0,J.jsx)(Un,{language:e,file:l,onClose:()=>u(null)}):null,(0,J.jsx)(`small`,{className:`brain-created-files-hint`,children:i(e,`brain.files.hint`)}),s?(0,J.jsx)(`small`,{className:`brain-created-files-error`,role:`alert`,children:i(e,`brain.files.downloadError`,{reason:s})}):null]})}function tr({language:e,modelName:t,modelReady:n,messages:r,pastConversations:a,historyBusyId:o,starterPrompts:c,memoryFeedback:l,ingestionStates:u,emergenceEvents:d,proactiveActivities:f,draft:p,streaming:m,imageData:g,streamRef:_,memories:v,graph:y,concepts:b,relationshipCount:x,readiness:S,proof:C,brief:w,uploadingDocument:T,onOpenDepth:E,onDraftChange:D,onImageDataChange:O,onUploadDocument:A,onPickFolder:j,onConnectFolder:te,onIngestNote:M,onIngestWeb:P,onVerifyModelContinuity:re,onSend:ie,onSendText:F,onCreateActionItem:ae,onProactiveAction:oe,onApprovalResolved:I,onStop:se,onRegenerate:ce,onNewConversation:le,onResumeConversation:ue,onDeleteConversation:de,brainState:fe,intensity:pe,onExploreBrain:z,onRequestDetails:B}){let me=r.length>0,V=s(e=>e.mode)===`basic`,he=ar(r),ge=w.suggestedQuestions.slice(0,3),_e=q.useMemo(()=>r.flatMap(e=>e.approval?[e.approval.runId]:[]),[r]),ve=(0,J.jsx)(pn,{language:e,variant:`inline`,uploadingDocument:T,ingestionStates:u,onUploadDocument:A,onPickFolder:j,onConnectFolder:te,onIngestNote:M,onIngestWeb:P});return(0,J.jsx)(`section`,{className:`brain-conversation`,"aria-label":i(e,`brain.aria.conversation`),children:(0,J.jsx)(`div`,{className:`brain-chat-home-layout`,children:(0,J.jsxs)(`section`,{className:`brain-chat-home-card ${me?`has-messages`:`is-empty-home`}`,"aria-label":i(e,`brain.chatHome.aria`),children:[(0,J.jsx)(N,{language:e}),(0,J.jsx)(k,{language:e}),(0,J.jsx)(ee,{language:e,knownRunIds:_e}),me?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`header`,{className:`brain-chat-header`,children:[(0,J.jsxs)(`div`,{className:`brain-header-presence`,children:[(0,J.jsx)(h,{state:fe,intensity:pe,size:`trace`,showLabel:!1,onInteract:z}),(0,J.jsxs)(`div`,{className:`brain-header-title`,children:[(0,J.jsx)(`strong`,{children:i(e,`brain.title`)}),(0,J.jsxs)(`span`,{children:[i(e,`brain.firstScreen.state.${S.state}`),V?``:` (${S.score}%)`]})]})]}),(0,J.jsxs)(`div`,{className:`brain-header-actions`,children:[V?null:(0,J.jsx)(`div`,{className:`brain-model-pill`,children:t}),(0,J.jsxs)(`button`,{type:`button`,className:`brain-deeper-btn`,onClick:le,children:[(0,J.jsx)(Ke,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),i(e,`brain.newChat`)]}),(0,J.jsx)(`button`,{type:`button`,className:`brain-deeper-btn`,onClick:z,children:i(e,`brain.firstScreen.action.graph`)})]})]}),(0,J.jsx)(an,{language:e,state:u.chat,concepts:b,relationshipCount:x,onExploreBrain:z}),(0,J.jsx)(`div`,{ref:_,className:`brain-stream`,children:r.map((t,n)=>{let i=`brain-msg-${n}`,a=t.role===`assistant`?t.proof:void 0,o=t.role===`assistant`&&!!t.content.trim()&&!m,s=o&&n===he;return(0,J.jsxs)(`div`,{className:`brain-message ${t.role}`,children:[(0,J.jsxs)(`div`,{className:`brain-message-bubble`,children:[t.role===`assistant`?(0,J.jsx)(Wn,{language:e,content:t.content}):t.content,a&&a.citations.length?(0,J.jsx)(vt,{language:e,proof:a,messageId:i}):null,t.role===`assistant`&&t.contextQuality?.limited?(0,J.jsx)(ir,{language:e,reason:V?null:t.contextQuality.reason}):null,t.role===`assistant`&&t.content.trim()&&t.grounding?(0,J.jsx)(rr,{language:e,grounding:t.grounding}):null]}),t.role===`assistant`&&t.approval?(0,J.jsx)(lt,{language:e,approval:t.approval,onResolved:e=>I(n,e),onReplan:F}):null,t.role===`assistant`&&t.agentSteps?.length?(0,J.jsx)(mt,{language:e,steps:t.agentSteps,streaming:m&&n===r.length-1}):null,o?(0,J.jsx)(or,{language:e,content:t.content,canRegenerate:n===he,onRegenerate:ce,canFollowUp:s,onFollowUp:F,onCreateActionItem:ae}):null,t.files?.length?(0,J.jsx)(er,{language:e,files:t.files}):null,t.role===`assistant`&&t.agentState?(0,J.jsx)(nr,{language:e,state:t.agentState}):null,t.role===`assistant`&&t.loopSummary?(0,J.jsx)(ht,{language:e,summary:t.loopSummary}):null,t.role===`assistant`&&t.runExplanation?(0,J.jsx)(gt,{language:e,explanation:t.runExplanation}):null,a?(0,J.jsx)(yt,{language:e,proof:a,messageId:i,onUseEvidence:F}):null]},`${t.role}-${n}`)})}),(0,J.jsx)(rn,{language:e,brief:w,activities:f,streaming:m,onAction:oe}),n?null:(0,J.jsx)(bn,{language:e}),(0,J.jsx)(Kt,{language:e,draft:p,streaming:m,imageData:g,uploadingDocument:T,onDraftChange:D,onImageDataChange:O,onUploadDocument:A,onSend:ie,onStop:se,attachments:ve})]}):(0,J.jsxs)(`div`,{className:`brain-centered-home`,"data-testid":`brain-home-stage`,children:[(0,J.jsxs)(`section`,{className:`brain-home-station`,"data-testid":`brain-home-station`,children:[(0,J.jsx)(Mn,{language:e,brainState:fe,intensity:pe,readiness:S,memories:v,graph:y,relationshipCount:x,onExploreBrain:z,trailing:n?null:(0,J.jsx)(bn,{language:e})}),(0,J.jsx)(`div`,{className:`brain-composer-wrapper`,children:(0,J.jsx)(Kt,{language:e,draft:p,streaming:m,imageData:g,uploadingDocument:T,onDraftChange:D,onImageDataChange:O,onUploadDocument:A,onSend:ie,onStop:se,attachments:ve})}),(0,J.jsx)(`div`,{className:`brain-station-toolbar`,role:`group`,"aria-label":i(e,`brain.station.toolbar.aria`),children:(0,J.jsx)(Fn,{language:e})})]}),(0,J.jsx)(`section`,{className:`brain-secondary-deck`,"data-testid":`brain-secondary-deck`,"aria-label":i(e,`brain.suggestions.aria`),children:ge.length?(0,J.jsxs)(`div`,{className:`brain-home-prompt-strip`,children:[(0,J.jsxs)(`div`,{className:`brain-home-prompt-strip-label`,children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.suggestions.title`)})]}),(0,J.jsx)(`div`,{className:`brain-prompt-grid`,children:ge.map(t=>{let n=i(e,t.promptKey,t.params);return(0,J.jsxs)(`button`,{type:`button`,disabled:m,title:i(e,t.detailKey),onClick:()=>{D(``),F(n)},children:[(0,J.jsx)(`strong`,{children:i(e,t.labelKey)}),(0,J.jsx)(`span`,{children:i(e,t.detailKey)})]},t.id)})})]}):(0,J.jsxs)(`div`,{className:`brain-home-prompt-strip`,children:[(0,J.jsxs)(`div`,{className:`brain-home-prompt-strip-label`,children:[(0,J.jsx)(L,{className:`h-3.5 w-3.5`,"aria-hidden":`true`}),(0,J.jsx)(`span`,{children:i(e,`brain.suggestions.title`)})]}),(0,J.jsx)(`div`,{className:`brain-prompt-pills-row`,children:c.slice(0,3).map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>D(e),className:`brain-prompt-pill`,children:e},e))})]})}),(0,J.jsx)(`footer`,{className:`brain-home-quiet`,children:(0,J.jsx)(jn,{language:e,brainState:fe,intensity:pe,readiness:S,memories:v,concepts:b,relationshipCount:x,emergenceEvents:d,proactiveActivities:f,pastConversations:a,historyBusyId:o,streaming:m,modelName:t,proof:C,brief:w,onOpenDepth:E,onExploreBrain:z,onVerifyModelContinuity:re,onProactiveAction:oe,onResumeConversation:ue,onDeleteConversation:de,onRequestDetails:B})})]}),l?(0,J.jsxs)(`div`,{className:`brain-save-feedback`,role:`status`,children:[(0,J.jsx)(Ie,{className:`h-3.5 w-3.5`}),(0,J.jsx)(`span`,{children:l}),(0,J.jsx)(`small`,{children:i(e,`brain.saved.detail`)})]}):null,me?(0,J.jsxs)(`details`,{className:`brain-utility-drawer`,onToggle:e=>e.currentTarget.open&&B(),children:[(0,J.jsx)(`summary`,{children:i(e,V?`brain.chatHome.utility.basic`:`brain.chatHome.utility`)}),(0,J.jsxs)(`div`,{className:`brain-utility-tools`,"aria-label":i(e,`brain.chatHome.contextAria`),children:[(0,J.jsx)(Ce,{compact:!0}),V?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`brain-model-pill`,children:t}),(0,J.jsxs)(`button`,{className:`brain-admin-link`,type:`button`,onClick:()=>U(`/admin`),children:[(0,J.jsx)(Oe,{className:`h-3.5 w-3.5`}),i(e,`brain.admin`)]})]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`}),i(e,`brain.local`)]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`}),i(e,`brain.private`)]}),(0,J.jsxs)(`span`,{children:[(0,J.jsx)(R,{className:`h-3.5 w-3.5`}),i(e,`brain.portable`)]})]}),(0,J.jsxs)(`div`,{className:`brain-utility-grid`,children:[(0,J.jsx)(fn,{language:e,uploadingDocument:T,ingestionStates:u,onUploadDocument:A,onPickFolder:j,onConnectFolder:te,onIngestNote:M,onIngestWeb:P}),(0,J.jsx)(ne,{language:e}),V?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(vn,{language:e,emergenceEvents:d}),(0,J.jsx)(On,{language:e,proof:C,modelName:t,onVerify:re}),(0,J.jsx)(cn,{memories:v,concepts:b,readiness:S,proof:C,onOpenDepth:E})]}),(0,J.jsx)(Wt,{language:e}),(0,J.jsx)(Gt,{language:e}),(0,J.jsx)(It,{language:e}),(0,J.jsx)(Vt,{language:e}),(0,J.jsx)(Et,{language:e})]})]}):null]})})})}function nr({language:e,state:t}){return(0,J.jsx)(`p`,{className:`brain-agent-state-note ${t===`FAILED`?`is-failed`:`is-review`}`,role:`alert`,"data-testid":`agent-state-note`,children:i(e,t===`FAILED`?`brain.agent.failed`:`brain.agent.needsReview`)})}function rr({language:e,grounding:t}){let n=t.status===`supported`;return(0,J.jsx)(`span`,{className:`brain-grounding-badge ${n?`is-supported`:`is-none`}`,role:`note`,"data-testid":`grounding-badge`,title:t.reason||void 0,children:i(e,n?`brain.grounding.supported`:`brain.grounding.none`)})}function ir({language:e,reason:t}){return(0,J.jsxs)(`p`,{className:`brain-context-quality-note`,role:`note`,"data-testid":`context-quality-note`,children:[(0,J.jsx)(`span`,{children:i(e,`brain.contextQuality.limited`)}),t?(0,J.jsx)(`small`,{children:i(e,`brain.contextQuality.reason`,{reason:t})}):null]})}function ar(e){for(let t=e.length-1;t>=0;--t)if(e[t].role===`assistant`)return t;return-1}function or({language:e,content:t,canRegenerate:n,onRegenerate:r,canFollowUp:a,onFollowUp:o,onCreateActionItem:s}){let[c,l]=q.useState(!1),u=q.useMemo(()=>[{labelKey:`brain.message.followup.checklist`,promptKey:`brain.message.followup.checklist.prompt`},{labelKey:`brain.message.followup.evidence`,promptKey:`brain.message.followup.evidence.prompt`},{labelKey:`brain.message.followup.next`,promptKey:`brain.message.followup.next.prompt`}],[]);async function d(){try{await navigator.clipboard?.writeText(t),l(!0),window.setTimeout(()=>l(!1),2e3)}catch{}}return(0,J.jsxs)(`div`,{className:`brain-message-actions`,children:[(0,J.jsxs)(`button`,{type:`button`,"aria-label":i(e,`brain.message.copyAria`),onClick:()=>void d(),children:[(0,J.jsx)(Fe,{className:`h-3 w-3`,"aria-hidden":`true`}),c?i(e,`brain.message.copied`):i(e,`brain.message.copy`)]}),n?(0,J.jsxs)(`button`,{type:`button`,"aria-label":i(e,`brain.message.regenerateAria`),onClick:r,children:[(0,J.jsx)(m,{className:`h-3 w-3`,"aria-hidden":`true`}),i(e,`brain.message.regenerate`)]}):null,a?(0,J.jsxs)(`button`,{type:`button`,"aria-label":i(e,`brain.message.saveTaskAria`),onClick:()=>s(t),children:[(0,J.jsx)(We,{className:`h-3 w-3`,"aria-hidden":`true`}),i(e,`brain.message.saveTask`)]}):null,a?(0,J.jsx)(`div`,{className:`brain-message-followups`,"aria-label":i(e,`brain.message.followup.aria`),children:u.map(t=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(i(e,t.promptKey)),children:i(e,t.labelKey)},t.promptKey))}):null]})}var sr=64;function cr(e){if(e.scrollHeight-e.clientHeight<=1)return!1;let t=e.ownerDocument.defaultView?.getComputedStyle(e).overflowY;return t===`auto`||t===`scroll`||t===`overlay`}function lr(e){for(let t=e;t;t=t.parentElement)if(cr(t))return{element:t,isDocument:!1};let t=e?.ownerDocument,n=t?.scrollingElement??t?.documentElement??null;return n instanceof HTMLElement?{element:n,isDocument:!0}:null}function ur(e){return e.scrollHeight-e.clientHeight-e.scrollTop<=sr}function dr(e){let t=q.useRef(null),n=q.useRef(null),r=q.useRef(!0),i=q.useRef(0),a=q.useCallback(()=>{let e=n.current;return e&&e.element.isConnected?e:(n.current=lr(t.current),n.current)},[]);return q.useEffect(()=>{let e=e=>{let t=n.current;if(!t||!(t.isDocument&&e.target===t.element.ownerDocument||e.target===t.element))return;let a=t.element.scrollTop,o=a<i.current-1;i.current=a,o?r.current=ur(t.element):ur(t.element)&&(r.current=!0)};return document.addEventListener(`scroll`,e,{capture:!0,passive:!0}),()=>document.removeEventListener(`scroll`,e,{capture:!0})},[]),q.useEffect(()=>{let e=a();!e||!r.current||(e.element.scrollTop=e.element.scrollHeight,i.current=e.element.scrollTop)},[e,a]),t}function fr({language:e,modelReady:t,onBrainChange:n,setMemoryFeedback:a,beginIngestion:o,completeIngestion:s,failIngestion:c,setLastRecallQuery:u,attachAnswerProof:f}){let m=l(),h=W(e=>e.messages),g=W(e=>e.setMessages),v=W(e=>e.conversationId),b=W(e=>e.setConversationId),[S,w]=q.useState(``),[T,E]=q.useState(null),[O,k]=q.useState(!1),[A,j]=q.useState([]),ee=dr(h),M=q.useRef(null),N=q.useRef(null),P=d({mutationFn:async t=>{let n=await r.runAgent(t,[`planner`,`executor`,`reviewer`]);if(!n.ok)throw Error(n.error||i(e,`ui.status.unavailable`));return n},onSuccess:()=>{m.invalidateQueries({queryKey:[`memoryManager`]}),m.invalidateQueries({queryKey:[`memoryBrainBrief`]}),m.invalidateQueries({queryKey:[`graphPreview`]}),m.invalidateQueries({queryKey:[`graph`]}),m.invalidateQueries({queryKey:[`agentRuntime`]}),a(i(e,`brain.delegate.done`)),window.setTimeout(()=>a(null),4200)},onError:t=>a(i(e,`brain.delegate.failed`,{reason:String(t)}))});q.useEffect(()=>{O?n(`thinking`,.94):S.trim().length>4?n(`listening`,.76):n(`idle`,.58)},[S,n,O]),q.useEffect(()=>()=>{N.current!==null&&window.clearTimeout(N.current),M.current?.abort()},[]);async function ne(){let e=S.trim();!e||O||(w(``),await F(e))}async function re(){if(O)return;let e=[...h].reverse().find(e=>e.role===`user`);e&&(g(e=>{let t=[...e];return t[t.length-1]?.role===`assistant`&&t.pop(),t[t.length-1]?.role===`user`&&t.pop(),t}),await F(e.content))}async function F(l){if(!l||O)return;let d=v||`brain-${Date.now()}`;if(v||b(d),!t){g(t=>[...t,{role:`user`,content:l},{role:`assistant`,content:i(e,`brain.noModel.message`)}]),E(null),a(i(e,`brain.noModel.status`));return}g(e=>[...e,{role:`user`,content:l},{role:`assistant`,content:``}]),E(null),k(!0),a(null),o(`chat`,l.slice(0,120)),n(`thinking`,.96);let h=new AbortController;M.current=h;try{let t=await r.streamChat({message:l,conversation_id:d,image_data:T||void 0},{signal:h.signal,onChunk:(e,t)=>{g(e=>{let n=[...e];return n[n.length-1]={...n[n.length-1],role:`assistant`,content:t},n})},onAgentStep:e=>{let t=D(e);t&&g(e=>{let n=[...e],r=n[n.length-1];return n[n.length-1]={...r,role:`assistant`,agentSteps:[...r.agentSteps||[],t]},n})},onAgent:t=>{let n=rt(t);if(n){g(e=>{let t=[...e];return t[t.length-1]={...t[t.length-1],approval:n},t});return}let r=te(t),i=t.final_state===`NEEDS_REVIEW`||t.final_state===`FAILED`?t.final_state:void 0,a=y(t.loop),o=_(t.explanation,e),s=x(t.steps);!r.length&&!i&&!a&&!o&&!s.length||g(e=>{let t=[...e],n=t[t.length-1],c=n.agentSteps?.length?n.agentSteps:s;return t[t.length-1]={...n,...r.length?{files:r}:{},...i?{agentState:i}:{},...a?{loopSummary:a}:{},...o?{runExplanation:o}:{},...c.length?{agentSteps:c}:{}},t})},onTrace:e=>{e&&(n(`recalling`,.9),p(),N.current!==null&&window.clearTimeout(N.current),N.current=window.setTimeout(()=>n(`thinking`,.9),900))}});if(t.error)g(n=>pr(n,`${i(e,`brain.unavailable`)}: ${t.error}`)),c(`chat`,String(t.error));else{let n=ie(`contextQuality`in t?t.contextQuality:null)||ie(t.trace),r=C(`grounding`in t?t.grounding:null)||C(t.trace);(n||r)&&g(e=>{let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e].role===`assistant`){t[e]={...t[e],...n?{contextQuality:n}:{},...r?{grounding:r}:{}};break}return t}),u(l);let o=await s(`chat`);a(i(e,`brain.saved`,{topics:o.entities,memories:o.memories})),p(),f(l)}}catch(t){let n=t instanceof DOMException&&t.name===`AbortError`;g(r=>{let a=[...r],o=a[a.length-1];return o?.role===`assistant`&&!o.content.trim()&&(a[a.length-1]={...o,content:n?i(e,`brain.stopped.empty`):`${i(e,`brain.unavailable`)}: ${t instanceof Error?t.message:String(t)}`}),a}),a(n?i(e,`brain.stopped`):null),c(`chat`,n?`stopped`:t instanceof Error?t.message:String(t))}finally{N.current!==null&&(window.clearTimeout(N.current),N.current=null),M.current===h&&(M.current=null),k(!1);for(let e of[`chatHistory`,`memoryManager`,`graphPreview`,`graph`,`memoryBrainProof`,`memoryBrainBrief`])m.invalidateQueries({queryKey:[e]})}}function ae(t,n){if(g(r=>{let i=r[t];if(!i?.approval)return r;let a=[...r];if(n.kind===`finished`){let r=n.payload,o=te(r),s=r.final_state===`NEEDS_REVIEW`||r.final_state===`FAILED`?r.final_state:void 0,c=typeof r.response==`string`?r.response.trim():``,l=y(r.loop),u=_(r.explanation,e),d=x(r.steps),f=i.agentSteps?.length?i.agentSteps:d;a[t]={...i,content:c||i.content,...o.length?{files:o}:{},...s?{agentState:s}:{},...l?{loopSummary:l}:{},...u?{runExplanation:u}:{},...f.length?{agentSteps:f}:{},approval:{...i.approval,status:`approved`}}}else n.kind===`error`?a[t]={...i,approval:{...i.approval,status:`error`,errorReason:n.reason}}:a[t]={...i,approval:{...i.approval,status:n.kind,...n.kind===`expired`&&n.replanMessage?{replanMessage:n.replanMessage}:{}}};return a}),n.kind===`finished`){p();for(let e of[`chatHistory`,`memoryManager`,`graphPreview`,`graph`,`memoryBrainProof`,`memoryBrainBrief`,`agentRuntime`])m.invalidateQueries({queryKey:[e]})}}async function oe(t){let n=t.trim();if(!n)return!1;let o=([...h].reverse().find(e=>e.role===`user`)?.content||i(e,`brain.action.defaultTitle`)).trim().slice(0,96),s=await r.createReviewItem({title:o,summary:n.slice(0,420),source:`chat_followup`,kind:`task_draft`,payload:{answer_preview:n.slice(0,2e3),conversation_id:v||``},provenance:{conversation_id:v||``,source_detail:`brain_chat`}});return a(s.ok?i(e,`brain.action.saved`):i(e,`brain.action.saveFailed`,{reason:s.error||String(s.status||``)})),s.ok}function I(e,t,n,r=`${e.id}-${Date.now()}`){let i=Date.now();return j(a=>{let o=a.find(e=>e.id===r);return[{id:r,actionId:e.id,labelKey:e.labelKey,intent:e.intent,status:t,startedAt:o?.startedAt??i,completedAt:t===`running`?void 0:i,detail:n},...a.filter(e=>e.id!==r)].slice(0,6)}),r}async function se(e){let t=e.prompt.trim(),n=I(e,`running`);if(e.intent===`route`&&e.route){window.location.hash=e.route,I(e,`completed`,e.route,n);return}if(!t){I(e,`failed`,`empty prompt`,n);return}try{e.intent===`delegate`?(await P.mutateAsync(t),I(e,`completed`,`agent`,n)):e.intent===`review`?I(e,await oe(t)?`completed`:`failed`,`review`,n):(await F(t),I(e,`completed`,`chat`,n))}catch(t){I(e,`failed`,t instanceof Error?t.message:String(t),n)}}return{messages:h,conversationId:v,draft:S,setDraft:w,imageData:T,setImageData:E,streaming:O,streamRef:ee,proactiveActivities:A,send:ne,sendText:F,regenerate:re,createActionItem:oe,handleProactiveAction:se,handleApprovalResolved:ae,stopStreaming:()=>M.current?.abort()}}function pr(e,t){let n=[...e];return n[n.length-1]={role:`assistant`,content:t},n}function mr({language:e,setMemoryFeedback:t}){let n=l(),a=W(e=>e.conversationId),o=W(e=>e.setConversationId),s=W(e=>e.setMessages),c=W(e=>e.resetConversation),[d,f]=q.useState(null),p=u({queryKey:[`chatHistory`],queryFn:r.chatHistory});return{historyQ:p,pastConversations:q.useMemo(()=>re(p.data?.data),[p.data]),historyBusyId:d,resetConversation:c,resumeConversation:q.useCallback(async(n,a)=>{if(!(d||a)){f(n),t(i(e,`brain.history.loading`));try{let a=await r.conversation(n);if(!a.ok){t(i(e,`brain.history.loadFailed`,{reason:a.error||`unavailable`}));return}let c=oe(a.data);if(!c.length){t(i(e,`brain.history.loadFailed`,{reason:i(e,`brain.history.emptyConversation`)}));return}o(n),s(c),t(i(e,`brain.history.resumed`))}finally{f(null)}}},[d,e,o,t,s]),deleteConversation:q.useCallback(async o=>{if(!d){f(o);try{let s=await r.deleteConversation(o);if(!s.ok){t(i(e,`brain.history.deleteFailed`,{reason:s.error||`unavailable`}));return}a===o&&c(),t(i(e,`brain.history.deleted`)),n.invalidateQueries({queryKey:[`chatHistory`]}),n.invalidateQueries({queryKey:[`memoryManager`]})}finally{f(null)}}},[a,d,e,n,c,t])}}function hr(){let e=window;return!!(e.__TAURI__?.core?.invoke||e.latticeDesktop?.selectFolder||e.__TAURI_INTERNALS__&&window.location.protocol===`tauri:`)}function gr(e){return e instanceof DOMException&&e.name===`AbortError`}function _r(e){return(e[0]?.webkitRelativePath||``).split(`/`).filter(Boolean)[0]||``}async function vr(e){let t=[];if(typeof e.values==`function`){for await(let n of e.values())t.push(n);return t}if(typeof e.entries==`function`)for await(let[,n]of e.entries())t.push(n);return t}async function yr(e){let t=[];for(let n of await vr(e)){if(n.kind===`file`){t.push(await n.getFile());continue}t.push(...await yr(n))}return t}async function br(){try{if(hr()){let e=await r.selectFolder();if(e)return{kind:`path`,path:e}}let e=window.showDirectoryPicker;if(typeof e==`function`){let t=await e.call(window);return{kind:`files`,files:await yr(t),name:t.name}}return{kind:`unavailable`}}catch(e){return gr(e)?{kind:`cancelled`}:{kind:`unavailable`}}}var xr={chat:null,file:null,folder:null,note:null,web:null};function Sr({language:e,brainReadiness:t,memoryFragments:n,graphModel:a,memoriesFetched:o,graphFetched:s,requestDetails:c,setLastRecallQuery:u,setMemoryFeedback:d,onBrainChange:f}){let m=l(),[h,g]=q.useState(!1),[_,v]=q.useState(xr),[y,b]=q.useState([]),[x,S]=q.useState(!1),C=q.useRef({});q.useEffect(()=>{if(!y[0]?.id)return;S(!0);let e=window.setTimeout(()=>S(!1),1650);return()=>window.clearTimeout(e)},[y]);let w=q.useCallback((e,t)=>{v(n=>{let r=n[e];return r?{...n,[e]:{...r,stage:t}}:n})},[]),T=q.useCallback((e,r)=>{c(),C.current[e]={memories:Math.max(t.signals.memoryCount,n.length),entities:Math.max(t.signals.conceptCount,a.nodes.length),label:r,memoryKnown:o,graphKnown:s,nodeIds:new Set(a.nodes.map(e=>e.id))},v(t=>({...t,[e]:{sourceType:e,label:r,stage:`preparing`,startedAt:Date.now(),completedAt:null,newMemories:0,newEntities:0,nodeIds:[]}}))},[t.signals.conceptCount,t.signals.memoryCount,s,a.nodes,o,n.length,c]),E=q.useCallback((e,t,n,r,i)=>{let a=C.current[e],o=a?.label??``,s=a?.graphKnown?r.nodes.filter(e=>!a.nodeIds.has(e.id)).map(e=>e.id):[],c=i.nodeIds.filter(e=>!a?.graphKnown||!a.nodeIds.has(e)),l=Array.from(new Set([...s,...c])).slice(0,24),u=a?.memoryKnown?Math.max(0,t-a.memories):0,d=a?.graphKnown?Math.max(l.length,Math.max(0,n-a.entities)):l.length;delete C.current[e],v(t=>{let n=t[e];return n?{...t,[e]:{...n,stage:`complete`,completedAt:Date.now(),newMemories:u,newEntities:d,nodeIds:l,chunkCount:i.chunkCount,duplicate:i.duplicate,provenanceId:i.provenanceId,extraction:i.extraction}}:t}),b(t=>[{id:`${e}-${Date.now()}`,sourceType:e,label:o,newMemories:u,newEntities:d,nodeIds:l,at:Date.now()},...t].slice(0,10))},[]),D=q.useCallback(async(e,i=null)=>{w(e,`indexing`);let o=M(i),[s,c]=await Promise.all([r.memoryManager(),r.graphPreview(48)]),l=c.ok?ae(c.data):a,u=s.ok?A(s.data,n.length,l.nodes.length):t;return s.ok&&m.setQueryData([`memoryManager`],s),c.ok&&m.setQueryData([`graphPreview`],c),E(e,Math.max(u.signals.memoryCount,n.length),Math.max(u.signals.conceptCount,l.nodes.length),l,o),await Promise.all([m.invalidateQueries({queryKey:[`chatHistory`]}),m.invalidateQueries({queryKey:[`graph`]}),m.invalidateQueries({queryKey:[`memoryBrainProof`]}),m.invalidateQueries({queryKey:[`memoryBrainBrief`]}),m.invalidateQueries({queryKey:[`vectorFreshness`]}),m.invalidateQueries({queryKey:[`ingestionJobs`]})]),{memories:Math.max(u.signals.memoryCount,n.length),entities:Math.max(u.signals.conceptCount,l.nodes.length)}},[t,a,n.length,m,E,w]),O=q.useCallback((e,t)=>{delete C.current[e],v(n=>{let r=n[e];return r?{...n,[e]:{...r,stage:`error`,completedAt:Date.now(),error:t}}:n})},[]),k=q.useCallback(async t=>{if(!h){g(!0),d(i(e,`brain.upload.pending`,{name:t.name})),f(`recalling`,.86),T(`file`,t.name);try{let n=await r.uploadDocument(t);if(!n.ok){let t=n.error||`unavailable`;d(i(e,`brain.upload.failed`,{reason:t})),O(`file`,t);return}d(i(e,`brain.upload.saved`,{name:t.name})),u(t.name),await D(`file`,n.data),p()}finally{g(!1)}}},[T,D,O,e,f,u,d,h]),j=q.useCallback(async t=>{let n=t.trim();if(!n)return;d(i(e,`brain.ingest.folder.pending`,{path:n})),f(`recalling`,.84),T(`folder`,n);let a=await r.connectFolder(n);if(!a.ok){let t=a.error||`unavailable`;d(i(e,`brain.ingest.folder.failed`,{reason:t})),O(`folder`,t);return}d(i(e,`brain.ingest.folder.saved`,{path:n})),u(n),await D(`folder`,a.data),p()},[T,D,O,e,f,u,d]);return{ingestionStates:_,emergenceEvents:y,synthesisActive:x,uploadingDocument:h,beginIngestion:T,completeIngestion:D,failIngestion:O,uploadDocument:k,pickFolder:q.useCallback(async()=>{let t=await br();if(t.kind===`cancelled`)return;if(t.kind===`unavailable`){d(i(e,`brain.ingest.folder.unavailable`));return}if(t.kind===`path`){await j(t.path);return}let n=t.name||_r(t.files);if(!t.files.length){d(i(e,`brain.ingest.folder.empty`)),O(`folder`,`empty`);return}d(i(e,`brain.ingest.folder.reading`)),f(`recalling`,.84),T(`folder`,n);let a=0,o=null;for(let e of t.files){let t=await r.uploadDocument(e);t.ok&&(a+=1,o=t)}if(!a){d(i(e,`brain.ingest.folder.empty`)),O(`folder`,`empty`);return}d(i(e,`brain.ingest.folder.browserSaved`,{name:n,count:a})),u(n),await D(`folder`,o?.data),p()},[T,D,j,O,e,f,u,d]),connectFolder:j,ingestNote:q.useCallback(async t=>{let n=t.trim();if(!n)return;d(i(e,`brain.ingest.note.pending`)),f(`recalling`,.84),T(`note`,n.slice(0,80));let a=await r.ingestNote(n,n.slice(0,80));if(!a.ok){let t=a.error||`unavailable`;d(i(e,`brain.ingest.note.failed`,{reason:t})),O(`note`,t);return}d(i(e,`brain.ingest.note.saved`)),u(n.slice(0,120)),await D(`note`,a.data),p()},[T,D,O,e,f,u,d]),ingestWeb:q.useCallback(async t=>{let n=t.trim();if(!n)return;d(i(e,`brain.ingest.web.pending`,{url:n})),f(`recalling`,.84),T(`web`,n);let a=await r.browserReadUrl(n),o=a.data&&typeof a.data==`object`?a.data:{},s=typeof o.status==`string`?o.status:``;if(!a.ok||s!==`ok`){let t=a.error||(typeof o.detail==`string`?o.detail:s)||`unavailable`;d(i(e,`brain.ingest.web.failed`,{reason:t})),O(`web`,t);return}d(i(e,`brain.ingest.web.saved`,{url:n})),u(n),await D(`web`,a.data),p()},[T,D,O,e,f,u,d]),resetChatIngestion:()=>v(e=>({...e,chat:null}))}}function Cr({language:e,messages:t,modelName:n,setMemoryFeedback:a}){let o=W(e=>e.setMessages),[s,c]=q.useState(``),[l,d]=q.useState(!1),f=u({queryKey:[`memoryBrainProof`,s],queryFn:()=>r.memoryBrainProof(s,3),enabled:l||!!s||t.length>0}),p=u({queryKey:[`memoryBrainBrief`,s],queryFn:()=>r.memoryBrainBrief(s,3)}),m=q.useMemo(()=>w(f.data,n),[f.data,n]),h=q.useMemo(()=>P(p.data?.data),[p.data]),g=q.useCallback(async t=>{let s=await r.memoryBrainProof(t,4);if(!s.ok)return a(i(e,`brain.proof.unavailable`,{reason:s.error||i(e,`ui.status.unavailable`)})),!1;let c=wr(w(s,n),t,n);return o(e=>{let t=[...e];for(let e=t.length-1;e>=0;--e)if(t[e].role===`assistant`){t[e]={...t[e],proof:c};break}return t}),!0},[e,n,a,o]);return{brainProof:m,brainBrief:h,lastRecallQuery:s,setLastRecallQuery:c,requestDetails:()=>d(!0),attachAnswerProof:g,verifyModelContinuity:q.useCallback(async()=>{let r=[...t].reverse().find(e=>e.role===`user`),o=s||r?.content||``;if(!o.trim()){a(i(e,`brain.modelDemo.needQuestion`));return}a(i(e,`brain.modelDemo.checking`,{model:n})),await g(o)&&(c(o),a(i(e,`brain.modelDemo.done`,{model:n})))},[g,e,s,t,n,a])}}function wr(e,t,n){return{query:t,model:e.modelContinuity.activeModel||n,provenAcrossModels:e.modelContinuity.proven&&e.claims.keepsContextAcrossModels,citations:e.recall.items.slice(0,4).map(e=>({id:e.id,source:e.source,title:e.title,snippet:e.snippet,matchedTerms:e.matchedTerms,confidence:e.confidence,score:e.score,locator:e.locator,kind:e.kind,caption:e.caption,thumbnail:e.thumbnail}))}}function Tr(e){let t=e.dataTransfer?.types;return t?Array.from(t).includes(`Files`):!1}function Er(e){let[t,n]=q.useState(!1),r=q.useRef(0),i=q.useRef(e);return i.current=e,q.useEffect(()=>{let e=e=>{Tr(e)&&(e.preventDefault(),r.current+=1,n(!0))},t=e=>{Tr(e)&&(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`copy`))},a=e=>{Tr(e)&&(r.current=Math.max(0,r.current-1),r.current===0&&n(!1))},o=e=>{if(r.current=0,n(!1),!Tr(e))return;e.preventDefault();let t=Array.from(e.dataTransfer?.files||[]);t.length&&i.current(t)},s=()=>{r.current=0,n(!1)};return window.addEventListener(`dragenter`,e),window.addEventListener(`dragover`,t),window.addEventListener(`dragleave`,a),window.addEventListener(`drop`,o),window.addEventListener(`dragend`,s),()=>{window.removeEventListener(`dragenter`,e),window.removeEventListener(`dragover`,t),window.removeEventListener(`dragleave`,a),window.removeEventListener(`drop`,o),window.removeEventListener(`dragend`,s)}},[]),t}function Dr({brainState:e,intensity:t,onBrainChange:n}){let a=s(e=>e.language),o=W(e=>e.messages),[c,l]=q.useState(null),d=u({queryKey:[`memoryManager`],queryFn:r.memoryManager}),f=u({queryKey:[`graphPreview`],queryFn:()=>r.graphPreview(48)}),m=u({queryKey:[`models`],queryFn:r.models}),h=mr({language:a,setMemoryFeedback:l}),g=q.useMemo(()=>T(d.data?.data,h.historyQ.data?.data,a),[h.historyQ.data,d.data]),_=q.useMemo(()=>ae(f.data?.data),[f.data]),v=q.useMemo(()=>_.nodes.slice(0,10),[_.nodes]),y=q.useMemo(()=>A(d.data?.data,g.length,v.length),[v.length,d.data,g.length]),b=q.useMemo(()=>E(m.data?.data),[m.data]),x=q.useMemo(()=>j(m.data?.data),[m.data]),S=Cr({language:a,messages:o,modelName:b,setMemoryFeedback:l}),C=Sr({language:a,brainReadiness:y,memoryFragments:g,graphModel:_,memoriesFetched:d.isFetched,graphFetched:f.isFetched,requestDetails:S.requestDetails,setLastRecallQuery:S.setLastRecallQuery,setMemoryFeedback:l,onBrainChange:n}),w=fr({language:a,modelReady:x,onBrainChange:n,setMemoryFeedback:l,beginIngestion:C.beginIngestion,completeIngestion:C.completeIngestion,failIngestion:C.failIngestion,setLastRecallQuery:S.setLastRecallQuery,attachAnswerProof:S.attachAnswerProof}),D=q.useMemo(()=>[i(a,`brain.prompt.remember`),i(a,`brain.prompt.know`),i(a,`brain.prompt.plan`)],[a]),O=q.useCallback(e=>{p(),n(`recalling`,.82),window.location.hash=e<=2?`/memory`:`/knowledge-graph`},[n]),k=q.useRef(C.uploadDocument);k.current=C.uploadDocument;let ee=Er(q.useCallback(e=>{(async()=>{for(let t of e.slice(0,5))await k.current(t)})()},[])),te=q.useCallback(()=>{w.streaming&&w.stopStreaming(),h.resetConversation(),C.resetChatIngestion(),l(null),n(`idle`,.58)},[w,h,C,n]),M=w.proactiveActivities.some(e=>e.status===`running`),N=Object.values(C.ingestionStates).some(e=>e&&e.stage!==`complete`&&e.stage!==`error`),P=M?`acting`:w.streaming&&e===`recalling`?`recalling`:w.streaming?`thinking`:N?`recalling`:C.synthesisActive?`synthesizing`:w.draft.trim()?`listening`:`idle`,ne=P===`idle`?.62:P===`listening`?.76:Math.max(.92,t);return(0,J.jsxs)(`main`,{className:`brain-home`,"aria-label":i(a,`brain.aria.home`),children:[ee?(0,J.jsx)(`div`,{className:`brain-drop-overlay`,role:`status`,"data-testid":`brain-drop-overlay`,children:(0,J.jsxs)(`div`,{className:`brain-drop-overlay-card`,children:[(0,J.jsx)(`strong`,{children:i(a,`brain.dnd.title`)}),(0,J.jsx)(`span`,{children:i(a,`brain.dnd.detail`)})]})}):null,(0,J.jsx)(tr,{language:a,brainState:P,intensity:ne,modelName:b,modelReady:x,messages:w.messages,pastConversations:h.pastConversations,historyBusyId:h.historyBusyId,starterPrompts:D,memoryFeedback:c,ingestionStates:C.ingestionStates,emergenceEvents:C.emergenceEvents,proactiveActivities:w.proactiveActivities,draft:w.draft,streaming:w.streaming,imageData:w.imageData,streamRef:w.streamRef,memories:g,graph:_,concepts:v,relationshipCount:Math.max(y.signals.relationshipCount,_.edges.length),readiness:y,proof:S.brainProof,brief:S.brainBrief,uploadingDocument:C.uploadingDocument,onOpenDepth:O,onDraftChange:w.setDraft,onImageDataChange:w.setImageData,onUploadDocument:e=>void C.uploadDocument(e),onPickFolder:()=>void C.pickFolder(),onConnectFolder:e=>void C.connectFolder(e),onIngestNote:e=>void C.ingestNote(e),onIngestWeb:e=>void C.ingestWeb(e),onVerifyModelContinuity:()=>void S.verifyModelContinuity(),onSend:()=>void w.send(),onSendText:e=>void w.sendText(e),onCreateActionItem:e=>void w.createActionItem(e),onProactiveAction:e=>void w.handleProactiveAction(e),onApprovalResolved:w.handleApprovalResolved,onStop:w.stopStreaming,onRegenerate:()=>void w.regenerate(),onNewConversation:te,onResumeConversation:e=>void h.resumeConversation(e,w.streaming),onDeleteConversation:e=>void h.deleteConversation(e),onExploreBrain:()=>O(5),onRequestDetails:S.requestDetails})]})}export{Dr as BrainHome};
|