claude-code-workflow 7.0.0 → 7.0.2

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.
Files changed (62) hide show
  1. package/.codex/skills/csv-wave-pipeline/SKILL.md +834 -0
  2. package/ccw/dist/core/server.d.ts.map +1 -1
  3. package/ccw/dist/core/server.js +65 -1
  4. package/ccw/dist/core/server.js.map +1 -1
  5. package/ccw/dist/utils/react-frontend.d.ts +4 -0
  6. package/ccw/dist/utils/react-frontend.d.ts.map +1 -1
  7. package/ccw/dist/utils/react-frontend.js +45 -3
  8. package/ccw/dist/utils/react-frontend.js.map +1 -1
  9. package/ccw/frontend/dist/assets/index-B0X7v-kT.js +1604 -0
  10. package/ccw/frontend/dist/assets/index-B0X7v-kT.js.map +1 -0
  11. package/ccw/frontend/dist/assets/index-C-5AfpJE.css +48 -0
  12. package/ccw/frontend/dist/assets/index-D73mpSPr.js +16 -0
  13. package/ccw/frontend/dist/assets/index-D73mpSPr.js.map +1 -0
  14. package/ccw/frontend/dist/assets/index-Dxu1sw9t.js +16 -0
  15. package/ccw/frontend/dist/assets/index-Dxu1sw9t.js.map +1 -0
  16. package/ccw/frontend/dist/assets/monitor.worker-CVRNUIeJ.js +2 -0
  17. package/ccw/frontend/dist/assets/monitor.worker-CVRNUIeJ.js.map +1 -0
  18. package/ccw/frontend/dist/index.html +17 -0
  19. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-312.pyc +0 -0
  20. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-312.pyc +0 -0
  21. package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
  22. package/codex-lens/src/codexlens/__pycache__/entities.cpython-312.pyc +0 -0
  23. package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
  24. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  25. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-312.pyc +0 -0
  26. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-312.pyc +0 -0
  27. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-312.pyc +0 -0
  28. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-312.pyc +0 -0
  29. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  30. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-312.pyc +0 -0
  31. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-312.pyc +0 -0
  32. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-312.pyc +0 -0
  33. package/codex-lens/src/codexlens/parsers/__pycache__/astgrep_binding.cpython-312.pyc +0 -0
  34. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-312.pyc +0 -0
  35. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-312.pyc +0 -0
  36. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-312.pyc +0 -0
  37. package/codex-lens/src/codexlens/parsers/patterns/__pycache__/__init__.cpython-312.pyc +0 -0
  38. package/codex-lens/src/codexlens/parsers/patterns/python/__pycache__/__init__.cpython-312.pyc +0 -0
  39. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
  40. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
  41. package/codex-lens/src/codexlens/search/__pycache__/global_graph_expander.cpython-312.pyc +0 -0
  42. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  43. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
  44. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-312.pyc +0 -0
  45. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-312.pyc +0 -0
  46. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-312.pyc +0 -0
  47. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-312.pyc +0 -0
  48. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-312.pyc +0 -0
  49. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-312.pyc +0 -0
  50. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
  51. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
  52. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-312.pyc +0 -0
  53. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-312.pyc +0 -0
  54. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-312.pyc +0 -0
  55. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-312.pyc +0 -0
  56. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-312.pyc +0 -0
  57. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-312.pyc +0 -0
  58. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-312.pyc +0 -0
  59. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-312.pyc +0 -0
  60. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-312.pyc +0 -0
  61. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-312.pyc +0 -0
  62. package/package.json +3 -2
@@ -0,0 +1,16 @@
1
+ const l={toggleNavigation:"Toggle navigation menu",refreshWorkspace:"Refresh workspace",switchToLightMode:"Switch to light mode",switchToDarkMode:"Switch to dark mode",userMenu:"User menu",actions:"Actions",notifications:"Notifications"},r={save:"Save",cancel:"Cancel",delete:"Delete",edit:"Edit",create:"Create",refresh:"Refresh",loading:"Loading...",retry:"Retry",search:"Search...",searchIssues:"Search issues...",searchLoops:"Search loops...",clear:"Clear",close:"Close",copy:"Copy",view:"View",viewAll:"View All",update:"Update",add:"Add",new:"New",remove:"Remove",confirm:"Confirm",back:"Back",next:"Next",previous:"Previous",submit:"Submit",reset:"Reset",resetDesc:"Reset all user preferences to their default values. This cannot be undone.",saving:"Saving...",deleting:"Deleting...",merging:"Merging...",splitting:"Splitting...",resetConfirm:"Reset all settings to defaults?",resetToDefaults:"Reset to Defaults",enable:"Enable",disable:"Disable",expand:"Expand All",expandAll:"Expand All",collapse:"Collapse All",collapseAll:"Collapse All",filter:"Filter",filters:"Filters",clearFilters:"Clear filters",clearAll:"Clear all",select:"Select",selectAll:"Select All",deselectAll:"Deselect All",openMenu:"Open menu",resetLayout:"Reset Layout"},c={active:"Active",inactive:"Inactive",pending:"Pending",inProgress:"In Progress",running:"Running",initializing:"Initializing",initialized:"Initialized",planning:"Planning",completed:"Completed",failed:"Failed",blocked:"Blocked",cancelled:"Cancelled",paused:"Paused",archived:"Archived",idle:"Idle",unknown:"Unknown",draft:"Draft",published:"Published",creating:"Creating...",deleting:"Deleting...",label:"Status",openIssues:"Open Issues",enabled:"Enabled",disabled:"Disabled"},d={low:"Low",medium:"Medium",high:"High",critical:"Critical",label:"Priority"},u={seconds:"seconds",minutes:"minutes",hours:"hours",days:"days",weeks:"weeks",months:"months",years:"years",ago:"ago",justNow:"just now",minutesAgo:"{count}m ago",hoursAgo:"{count}h ago",daysAgo:"{count}d ago"},m={new:"New",create:"Create",edit:"Edit",delete:"Delete",save:"Save",cancel:"Cancel",confirm:"Confirm",retry:"Retry",refresh:"Refresh",close:"Close",back:"Back",next:"Next",submit:"Submit"},p={required:"Required",optional:"optional",placeholder:"Enter...",search:"Search...",select:"Select...",noResults:"No results found",loading:"Loading...",sessionId:"Session ID",title:"Title",description:"Description",sessionIdPlaceholder:"e.g., WFS-feature-auth",titlePlaceholder:"e.g., Authentication System",descriptionPlaceholder:"Brief description of the session"},g={noData:"No data found",noResults:"No results found",noItems:"No items",createFirst:"Create your first item to get started",searchEmpty:"Try adjusting your search or filters",filterEmpty:"No items match your current filters"},h={generic:"An error occurred",network:"Network error. Please check your connection.",timeout:"Request timed out. Please try again.",notFound:"Resource not found",unauthorized:"Unauthorized access",forbidden:"Access forbidden",validation:"Validation error",server:"Server error. Please try again later.",loadingFailed:"Failed to load data",loadFailed:"Failed to load data",saveFailed:"Failed to save",deleteFailed:"Failed to delete",updateFailed:"Failed to update",unknownError:"An unexpected error occurred"},f={saved:"Saved successfully",created:"Created successfully",updated:"Updated successfully",deleted:"Deleted successfully",copied:"Copied to clipboard"},y={confirmDelete:"Are you sure you want to delete this item?",confirmArchive:"Are you sure you want to archive this item?",unsavedChanges:"You have unsaved changes. Are you sure you want to leave?",noPermission:"You don't have permission to perform this action"},v={todayActivity:"Today's Activity",totalCommands:"Total Commands",totalSkills:"Total Skills",categories:"Categories",total:"Total"},S={progress:"Progress"},C="Fullscreen",b="Exit Fullscreen",w={createSession:"Create New Session",createSessionDesc:"Create a new workflow session to track your development tasks.",deleteSession:"Delete Session",deleteConfirm:"Are you sure you want to delete this session? This action cannot be undone."},k={title:"Help & Documentation",description:"Learn how to use CCW Dashboard and get the most out of your workflows",fullDocs:"Full Documentation",viewAll:"View All",getStarted:"Get Started",support:{title:"Need more help?",description:"Check the project documentation or reach out for support.",documentation:"Documentation",tutorials:"Tutorials"},searchDocs:{title:"Search Documentation",description:"Find answers fast with our comprehensive documentation search",button:"Search Docs"}},P={session_created:"Session {name} created",task_completed:"Task {name} completed successfully",session_failed:"Session {name} failed",workflow_started:"Workflow {name} started",status_changed:"{name} status changed to {status}",waiting:"Waiting for activity...",disconnected:"Ticker disconnected",aria_label:"Real-time activity ticker"},x={config:{title:"Widgets",widgets:"Dashboard Widgets",hideAll:"Hide All",showAll:"Show All",resetLayout:"Reset Layout"}},T="All",I="Yes",D="No",A="Loading...",E="Error",F={header:{brand:"CCW Dashboard"},main:{home:"Home",project:"Project",sessions:"Sessions",liteTasks:"Lite Tasks",orchestrator:"Orchestrator",coordinator:"Coordinator",executions:"Executions",loops:"Loops",history:"CLI History",memory:"Memory",prompts:"Prompts",skills:"Skills",commands:"Commands",issues:"Issues",hooks:"Hooks",settings:"Settings",rules:"Rules",codexlens:"CodexLens",apiSettings:"API Settings",help:"Help"},groups:{overview:"Overview",workflow:"Workflow",knowledge:"Knowledge",issues:"Issues",tools:"Tools",configuration:"Configuration"},sidebar:{collapse:"Collapse",collapseAria:"Collapse sidebar",expand:"Expand",expandAria:"Expand sidebar"}},N={defaultTitle:"Questions",description:"Please answer the following questions",textPlaceholder:"Enter your answer...",yes:"Yes",no:"No",required:"This question is required"},L={error:{network:"Network error. Please check your connection and try again.",timeout:"Request timed out. Please try again.",auth:"Authentication failed. Please check your permissions.",validation:"Please check your input and try again.",server:"Server error. Please try again later.",notFound:"The requested resource was not found.",unknown:"An unexpected error occurred. Please try again."},skillToggle:{success:"Skill status updated successfully",error:"Failed to update skill status"},skillEnable:{success:"Skill enabled successfully",error:"Failed to enable skill"},skillDisable:{success:"Skill disabled successfully",error:"Failed to disable skill"},commandExecute:{success:"Command executed successfully",error:"Failed to execute command"},commandToggle:{success:"Command status updated",error:"Failed to update command status"},sessionCreate:{success:"Session created successfully",error:"Failed to create session"},sessionDelete:{success:"Session deleted successfully",error:"Failed to delete session"},sessionUpdate:{success:"Session updated successfully",error:"Failed to update session"},settingsSave:{success:"Settings saved successfully",error:"Failed to save settings"},settingsReset:{success:"Settings reset to defaults",error:"Failed to reset settings"},memoryImport:{success:"Memory imported successfully",error:"Failed to import memory"},memoryExport:{success:"Memory exported successfully",error:"Failed to export memory"},memoryDelete:{success:"Memory deleted successfully",error:"Failed to delete memory"},coordinatorStart:{success:"Coordinator started successfully",error:"Failed to start coordinator"},coordinatorStop:{success:"Coordinator stopped",error:"Failed to stop coordinator"},hookToggle:{success:"Hook status updated",error:"Failed to update hook status"},indexRebuild:{success:"Index rebuild started",error:"Failed to rebuild index"},ruleCreate:{success:"Rule created successfully",error:"Failed to create rule"},ruleUpdate:{success:"Rule updated successfully",error:"Failed to update rule"},ruleDelete:{success:"Rule deleted successfully",error:"Failed to delete rule"},promptCreate:{success:"Prompt created successfully",error:"Failed to create prompt"},promptUpdate:{success:"Prompt updated successfully",error:"Failed to update prompt"},promptDelete:{success:"Prompt deleted successfully",error:"Failed to delete prompt"},providerCreate:{success:"Provider created successfully",error:"Failed to create provider"},providerUpdate:{success:"Provider updated successfully",error:"Failed to update provider"},providerDelete:{success:"Provider deleted successfully",error:"Failed to delete provider"},cliToolInstall:{success:"Tool installed successfully",error:"Failed to install tool"},cliToolUninstall:{success:"Tool uninstalled successfully",error:"Failed to uninstall tool"},cliToolUpgrade:{success:"Tool upgraded successfully",error:"Failed to upgrade tool"},codexLensConfigUpdate:{success:"Configuration updated successfully",error:"Failed to update configuration"},codexLensBootstrap:{success:"CodexLens bootstrapped successfully",error:"Failed to bootstrap CodexLens"},codexLensInstallSemantic:{success:"Semantic dependencies installed",error:"Failed to install semantic dependencies"},codexLensUninstall:{success:"CodexLens uninstalled",error:"Failed to uninstall CodexLens"},codexLensDownloadModel:{success:"Model downloaded successfully",error:"Failed to download model"},codexLensDeleteModel:{success:"Model deleted successfully",error:"Failed to delete model"},codexLensUpdateEnv:{success:"Environment variables updated",error:"Failed to update environment variables"},codexLensSelectGpu:{success:"GPU selected successfully",error:"Failed to select GPU"},codexLensResetGpu:{success:"GPU reset successfully",error:"Failed to reset GPU"},codexLensUpdatePatterns:{success:"Ignore patterns updated",error:"Failed to update ignore patterns"},codexLensRebuildIndex:{success:"Index rebuild started",error:"Failed to rebuild index"},codexLensUpdateIndex:{success:"Index update started",error:"Failed to update index"},codexLensCancelIndexing:{success:"Indexing cancelled",error:"Failed to cancel indexing"}},M={aria:l,actions:r,status:c,priority:d,time:u,buttons:m,form:p,emptyState:g,errors:h,success:f,messages:y,stats:v,labels:S,fullscreen:C,exitFullscreen:b,dialog:w,help:k,ticker:P,dashboard:x,all:T,yes:I,no:D,loading:A,error:E,navigation:F,askQuestion:N,feedback:L},R={overview:"Overview",workflow:"Workflow & Execution",knowledge:"Knowledge & Memory",issues:"Issue Management",tools:"Tools & Hooks",configuration:"Configuration & Support"},$={home:"Home",sessions:"Sessions",liteTasks:"Lite Tasks",project:"Project",history:"CLI History",orchestrator:"Orchestrator",coordinator:"Coordinator",loops:"Loop Monitor",cliViewer:"CLI Viewer",issues:"Issues",issueQueue:"Issue Queue",issueDiscovery:"Issue Discovery",skills:"Skills",commands:"Commands",memory:"Memory",prompts:"Prompt History",settings:"Settings",mcp:"MCP Servers",codexlens:"CodexLens",apiSettings:"API Settings",endpoints:"CLI Endpoints",installations:"Installations",help:"Help",hooks:"Hooks",rules:"Rules",explorer:"File Explorer",graph:"Graph Explorer",teams:"Team Execution",terminalDashboard:"Terminal Dashboard",skillHub:"Skill Hub",analysis:"Analysis Viewer",specs:"Spec Settings"},U={collapse:"Collapse",expand:"Expand sidebar",collapseAria:"Collapse sidebar"},H={brand:"Claude Code Workflow",brandShort:"CCW",noProject:"No project selected",settings:"Settings",logout:"Logout"},j={home:"Home",sessions:"Sessions",detail:"Details",settings:"Settings"},O={title:"CLI Stream Monitor",live:"Live",executions:"executions",active:"active",errors:"errors",lines:"lines",refresh:"Refresh",refreshing:"Refreshing...",searchPlaceholder:"Search logs...",clear:"Clear",filterAll:"All",filterErrors:"Errors",filterContent:"Content",filterSystem:"System",viewPreview:"Preview",viewJson:"JSON",viewRaw:"Raw",settings:"Settings",noExecutions:"No active CLI executions",noExecutionsHint:"Start a CLI command to see streaming output",noMessages:"Waiting for messages...",noMatch:"No matching messages found",openInViewer:"Open in CLI Viewer",popOutToPage:"Pop out to full page",statusBar:"{total} executions | {active} active | {errors} error | {lines} lines",copy:"Copy",copied:"Copied!",rawJson:"Raw JSON",expand:"Expand",collapse:"Collapse",retry:"Retry",dismiss:"Dismiss",thinking:"Thinking...",completed:"Completed",tokens:"Tokens",duration:"Duration",model:"Model"},q={a2ui:{button:"A2UI",quickAction:"A2UI Quick Action"}},V={groups:R,main:$,sidebar:U,header:H,breadcrumbs:j,cliMonitor:O,toolbar:q},B="Sessions",G="Manage your workflow sessions and track progress",W={planning:"Planning",inProgress:"In Progress",completed:"Completed",archived:"Archived",paused:"Paused"},z={workflow:"Workflow",review:"Review",tdd:"TDD",test:"Test",docs:"Docs","lite-plan":"Lite Plan","lite-fix":"Lite Fix"},K={viewDetails:"View Details",archive:"Archive",delete:"Delete",restore:"Restore",pause:"Pause",resume:"Resume"},Q={all:"All",active:"Active",planning:"Planning",completed:"Completed",archived:"Archived",paused:"Paused"},_="Search sessions...",J={title:"No Sessions Found",message:"No workflow sessions match your current filter.",createFirst:"Create your first session to get started"},Y={tasks:"tasks",findings:"findings",dimensions:"dimensions",progress:"Progress",createdAt:"Created",updatedAt:"Updated",completed:"completed",updated:"Updated"},X={pending:"Pending",inProgress:"In Progress",completed:"Completed",failed:"Failed"},Z={overview:"Overview",tasks:"Tasks",summary:"Summary",metadata:"Metadata",timeline:"Timeline"},ee={title:B,description:G,status:W,type:z,actions:K,filters:Q,searchPlaceholder:_,emptyState:J,card:Y,taskStatus:X,detail:Z},te="Issues",oe="Track and manage issues",se={open:"Open",inProgress:"In Progress",resolved:"Resolved",closed:"Closed",completed:"Completed"},ne={low:"Low",medium:"Medium",high:"High",critical:"Critical"},ie={create:"New Issue",edit:"Edit",delete:"Delete",viewDetails:"View Details",changeStatus:"Change Status",changePriority:"Change Priority",startProgress:"Start Progress",markResolved:"Mark Resolved",github:"Pull from GitHub"},ae={githubSyncSuccess:"GitHub sync complete: {imported} imported, {updated} updated, {skipped} skipped.",githubSyncError:"GitHub sync failed"},le={all:"All",open:"Open",inProgress:"In Progress",resolved:"Resolved",closed:"Closed",byPriority:"By Priority"},re={title:"No Issues Found",message:"No issues match your current filter.",createFirst:"Create your first issue to get started"},ce={title:"Create New Issue",labels:{title:"Title",context:"Context",priority:"Priority"},placeholders:{title:"Enter issue title...",context:"Describe the issue context..."},buttons:{create:"Create",cancel:"Cancel",creating:"Creating..."}},de={title:"Edit Issue",labels:{title:"Title",context:"Context",priority:"Priority",status:"Status"},placeholders:{title:"Enter issue title...",context:"Describe the issue context..."},buttons:{cancel:"Cancel",save:"Save",saving:"Saving..."}},ue={id:"ID",createdAt:"Created",updatedAt:"Updated",solutions:"{count, plural, one {solution} other {solutions}}"},me={title:"Issue Details",tabs:{overview:"Overview",solutions:"Solutions",history:"History",terminal:"Terminal",json:"JSON"},overview:{title:"Title",status:"Status",priority:"Priority",createdAt:"Created At",updatedAt:"Updated At",context:"Context",labels:"Labels",assignee:"Assignee"},solutions:{title:"Solutions",empty:"No solutions yet",addSolution:"Add Solution",boundSolution:"Bound Solution"},history:{title:"History",empty:"No history yet"}},pe={launch:"Launch Session",session:{select:"Select session",none:"No sessions",refresh:"Refresh",new:"New Session",close:"Close",share:"Share (Read-only)",revokeShare:"Revoke",expiresAt:"Expires at",activeShares:"Active shares"},share:{pageTitle:"Shared CLI Session",missingParams:"Missing sessionKey or shareToken in URL",connecting:"Connecting",connected:"Live",error:"Error",linkLabel:"Share link"},exec:{tool:"Tool",mode:"Mode",resumeKey:"resumeKey",resumeStrategy:"resumeStrategy",prompt:{label:"Prompt",placeholder:"Type a prompt to execute in this session..."},run:"Execute"}},ge={title:"Queue",pageTitle:"Issue Queue",description:"Manage issue execution queue with execution groups",history:{title:"Queue History",active:"Active",select:"Select queue",activate:"Activate",empty:"No queues"},exec:{title:"Execute",sessionTab:"Session",orchestratorTab:"Orchestrator"},orchestrator:{title:"Send to Orchestrator",targetSession:"Target session",tool:"Tool",mode:"Mode",resumeStrategy:"resumeStrategy",send:"Send",sending:"Sending...",sentTitle:"Sent to Orchestrator",sentDesc:"Flow created: {flowId}",sendFailed:"Failed to send"},status:{pending:"Pending",ready:"Ready",executing:"Executing",completed:"Completed",failed:"Failed",blocked:"Blocked",active:"Active",inactive:"Inactive"},stats:{totalItems:"Total Items",groups:"Groups",tasks:"Tasks",solutions:"Solutions",items:"Items",executionGroups:"Execution Groups"},actions:{activate:"Activate",deactivate:"Deactivate",delete:"Delete",merge:"Merge",split:"Split",confirmDelete:"Are you sure you want to delete this queue?"},executionGroup:"Execution Group",executionGroups:"Execution Groups",parallelGroup:"Parallel Group",sequentialGroup:"Sequential Group",items:"items",itemCount:"{count} items",groups:"groups",parallel:"Parallel",sequential:"Sequential",emptyState:{title:"No Queue Data",description:"No queue data available"},empty:"No data",conflicts:{title:"Queue Conflicts",description:"conflicts"},noQueueData:"No queue data",error:{title:"Load Failed",message:"Unable to load queue data, please try again later"},deleteDialog:{title:"Delete Queue",description:"Are you sure you want to delete this queue? This action cannot be undone."},mergeDialog:{title:"Merge Queues",targetQueueLabel:"Target Queue ID",targetQueuePlaceholder:"Enter the queue ID to merge into"},splitDialog:{title:"Split Queue",selected:"{count}/{total} selected",selectAll:"Select All",clearAll:"Clear All",noSelection:"Please select items to split",cannotSplitAll:"Cannot split all items, source queue must retain at least one item"}},he={issue:"Issue",solution:"Solution",shortIssue:"Issue",shortSolution:"Sol",tabs:{overview:"Overview",tasks:"Tasks",terminal:"Terminal",json:"JSON"},overview:{executionInfo:"Execution Info",executionOrder:"Execution Order",semanticPriority:"Semantic Priority",group:"Execution Group",taskCount:"Task Count",dependencies:"Dependencies",filesTouched:"Files Touched"},tasks:{comingSoon:"Task list coming soon",empty:"No tasks found for this solution"}},fe={title:"Discovery",pageTitle:"Issue Discovery",description:"View and manage issue discovery sessions",totalSessions:"Total Sessions",completedSessions:"Completed",runningSessions:"Running",totalFindings:"Findings",sessionList:"Session List",noSessions:"No sessions found",noSessionsDescription:"Start a new discovery session to begin",findingsDetail:"Findings Detail",selectSession:"Select a session to view findings",sessionId:"Session ID",name:"Name",status:"Status",createdAt:"Created At",completedAt:"Completed At",progress:"Progress",findingsCount:"Findings Count",export:"Export JSON",exportSelected:"Export Selected ({count})",exporting:"Exporting...",exportAsIssues:"Export as Issues",severityBreakdown:"Severity Breakdown",typeBreakdown:"Type Breakdown",tabFindings:"Findings",tabProgress:"Progress",tabInfo:"Session Info",stats:{totalSessions:"Total Sessions",completed:"Completed",running:"Running",findings:"Findings"},session:{status:{running:"Running",completed:"Completed",failed:"Failed"},findings:"{count} findings",startedAt:"Started"},findings:{title:"Findings",filters:{severity:"Severity",type:"Type",search:"Search findings..."},severity:{all:"All Severities",critical:"Critical",high:"High",medium:"Medium",low:"Low",unknown:"Unknown"},type:{all:"All Types"},exportedStatus:{all:"All Export Status",exported:"Exported",notExported:"Not Exported"},issueStatus:{all:"All Issue Status",hasIssue:"Has Issue",noIssue:"No Issue"},noFindings:"No findings found",noFindingsDescription:"No matching findings found",searchPlaceholder:"Search findings...",filterBySeverity:"Filter by severity",filterByType:"Filter by type",filterByExported:"Filter by export status",filterByIssue:"Filter by issue link",allSeverities:"All severities",allTypes:"All types",showingCount:"Showing {count} findings",exported:"Exported",hasIssue:"Linked",export:"Export",selectAll:"Select All",deselectAll:"Deselect All"},tabs:{findings:"Findings",progress:"Progress",info:"Session Info"},emptyState:"No discovery sessions found",noSessionSelected:"Select a session to view findings",actions:{export:"Export Findings",refresh:"Refresh"}},ye={title:"Issue Hub",description:"Unified management for issues, queues, and discoveries",tabs:{issues:"Issues",board:"Board",queue:"Queue",discovery:"Discovery",observability:"Observability",executions:"Executions"}},ve={pageTitle:"Executions",description:"Monitor and manage queue execution sessions",stats:{running:"Running",completed:"Completed",failed:"Failed",total:"Total"},list:{title:"Execution List",clearCompleted:"Clear Completed"},detail:{selectExecution:"Select an execution to view details",openInTerminal:"Open in Terminal",id:"Execution ID",queueItemId:"Queue Item",issueId:"Issue",solutionId:"Solution",type:"Type",tool:"Tool",mode:"Mode",status:"Status",startedAt:"Started At",completedAt:"Completed At",sessionKey:"Session Key",flowId:"Flow ID",execId:"Execution ID (Orchestrator)"},emptyState:{title:"No Executions",description:"No queue executions have been started yet"}},Se={pageTitle:"Observability",description:"Audit and inspect automated deliveries and CLI session activity",audit:{title:"CLI Session Audit"},filters:{search:"Search",searchPlaceholder:"Search type/sessionKey/resumeKey/details...",sessionKey:"Session Key",sessionKeyPlaceholder:"e.g. cli-xxxx",type:"Type",typeAll:"All types",limit:"Limit"},table:{timestamp:"Timestamp",type:"Type",sessionKey:"Session",tool:"Tool",resumeKey:"Resume Key",workingDir:"Working Dir",ip:"IP",userAgent:"User Agent"},empty:"No audit events",error:"Failed to load audit events"},Ce={pageTitle:"Issue Board",description:"Visualize and manage issues in a kanban board",autoStart:{label:"Auto-run when moved to In Progress"}},be={titleLabel:"Title",titlePlaceholder:"Enter issue title...",descriptionLabel:"Description",descriptionPlaceholder:"Describe the issue or requirement in detail...",typeLabel:"Select Type",typeBug:"Bug",typeBugDesc:"Feature not working or error",typeFeature:"Feature",typeFeatureDesc:"New feature request",typeImprovement:"Improvement",typeImprovementDesc:"Enhancement to existing feature",typeOther:"Other",typeOtherDesc:"Other type of issue",priorityLabel:"Select Priority",priorityLow:"Low",priorityMedium:"Medium",priorityHigh:"High",priorityUrgent:"Urgent",summaryTitle:"Title",summaryDescription:"Description",summaryType:"Type",summaryPriority:"Priority",cancel:"Cancel",previous:"Previous",next:"Next",submit:"Submit",submitting:"Submitting..."},we={title:te,description:oe,status:se,priority:ne,actions:ie,messages:ae,filters:le,emptyState:re,createDialog:ce,editDialog:de,card:ue,detail:me,terminal:pe,queue:ge,solution:he,discovery:fe,hub:ye,executions:ve,observability:Se,board:Ce,issueDialog:be},ke="Home",Pe="Dashboard overview and statistics",xe={title:"Dashboard",description:"Overview of your workflow sessions and task statistics",refreshTooltip:"Refresh dashboard data"},Te={activeSessions:"Active Sessions",totalTasks:"Total Tasks",completedTasks:"Completed",pendingTasks:"Pending",runningLoops:"Running Loops",openIssues:"Open Issues"},Ie={label:"Indexed"},De={statistics:"Statistics",recentSessions:"Recent Sessions",recentTasks:"Recent Tasks",activeLoops:"Active Loops",openIssues:"Open Issues",quickActions:"Quick Actions",taskDetails:"Task Details"},Ae={allSessions:"All",allTasks:"All",workflow:"Workflow",liteTasks:"Lite Tasks",orchestrator:"Orchestrator",inProgress:"In Progress",planning:"Planning",completed:"Completed",paused:"Paused"},Ee={workflowStatus:"Workflow Status",activity:"Activity Heatmap",taskTypes:"Task Types"},Fe={noSessions:{title:"No Active Sessions",message:"Start your first workflow session to begin tracking tasks and progress.",hint:"Create a planning session to get started"},noTasks:{title:"No Tasks",message:"No tasks available in this session."},noLoops:{title:"No Active Loops",message:"Start a new development loop to begin monitoring progress."},noIssues:{title:"No Open Issues",message:"Create an issue to track bugs or feature requests."}},Ne={gettingStarted:{title:"Getting Started",description:"Learn the basics of CCW Dashboard and workflow management",heading:"Getting Started with CCW"},orchestratorGuide:{title:"Orchestrator Guide",description:"Master the visual workflow editor with drag-drop flows"},sessionsManagement:{title:"Sessions Management",description:"Understanding workflow sessions and task tracking"},cliIntegration:{title:"CLI Integration",description:"Using CCW commands and CLI tool integration",heading:"CLI Integration"},commands:{title:"Commands Reference",description:"Browse 40+ commands across workflow, issue, CLI, and memory categories"},commandsOverview:{title:"Commands Documentation",description:"Explore all available CCW commands with detailed documentation and examples"},workflowsOverview:{title:"Workflow Guides",description:"Interactive guides for all 15 workflow levels from ultra-lightweight to intelligent"},quickStart:{title:"Quick Start",description:"Get up and running with CCW in minutes",guide:"Getting Started Guide",faq:"Frequently Asked Questions"}},Le={loadFailed:"Failed to load dashboard data",retry:"Retry"},Me={features:"features"},Re={title:"Terminal Monitor",executionQueue:"Execution Queue",executionQueueDesc:"Execution Queue Management",executionQueuePhase2:"Coming in Phase 2",noTerminalSelected:"No terminal selected",selectTerminalHint:"Select a terminal from the sidebar, or click + to create one",commandPlaceholder:"Enter command... (Ctrl+Enter to execute)",execute:"Execute",openInPanel:"Open in Terminal Panel",newSession:"New Terminal",status:{running:"Running",completed:"Completed",failed:"Failed",idle:"Idle"},queueView:{session:"Session",orchestrator:"Orchestrator",emptyTitle:"No executions yet",emptyDesc:"Executions started from the issue queue will appear here"}},$e={title:ke,description:Pe,dashboard:xe,stats:Te,indexStatus:Ie,sections:De,tabs:Ae,widgets:Ee,emptyState:Fe,help:Ne,errors:Le,project:Me,terminalPanel:Re},Ue="Workflow Template Editor",He="Create and edit workflow templates",je={title:"Flow",flows:"Flows",create:"New Flow",edit:"Edit Flow",delete:"Delete Flow",duplicate:"Duplicate Flow",export:"Export Flow",import:"Import Flow"},Oe={title:"Execution",status:"Status",start:"Start",pause:"Pause",resume:"Resume",stop:"Stop",restart:"Restart",viewLogs:"View Logs",inProgress:"Execution in progress"},qe={pending:"Pending",running:"Running",paused:"Paused",completed:"Completed",failed:"Failed"},Ve={progress:"{completed}/{total} steps",noPlan:"No orchestration plan found",completedMessage:"Orchestration completed successfully",failedMessage:"Orchestration stopped",cancelled:"Cancelled",retry:"Retry",skip:"Skip"},Be={title:"Node",nodes:"Nodes",add:"Add Node",edit:"Edit Node",delete:"Delete Node",status:"Node Status",statusCount:"Node Status ({completed}/{total})",result:"Result"},Ge={execute:"Execute",validate:"Validate",save:"Save",cancel:"Cancel"},We={noFlows:{title:"No Flows Found",message:"Create your first workflow flow to get started."},noExecution:{title:"No Execution History",message:"Execute a flow to see the execution history."}},ze={title:"Monitor",logs:"Logs",timeline:"Timeline",variables:"Variables",realtime:"Real-time Updates",waitingForLogs:"Waiting for logs...",clickExecuteToStart:"Click Execute to start",toggleMonitor:"Toggle execution monitor"},Ke={flowCreated:"Flow Created",flowSaved:"Flow Saved",saveFailed:"Save Failed",flowLoaded:"Flow Loaded",loadFailed:"Load Failed",flowDeleted:"Flow Deleted",deleteFailed:"Delete Failed",flowDuplicated:"Flow Duplicated",duplicateFailed:"Duplicate Failed",noFlow:"No Flow",createFlowFirst:"Create a flow first before saving",savedSuccessfully:'"{name}" saved successfully',couldNotSave:"Could not save the flow",saveError:"An error occurred while saving",loadedSuccessfully:'"{name}" loaded successfully',couldNotLoad:"Could not load the flow",confirmDelete:'Delete "{name}"? This cannot be undone.',deletedSuccessfully:'"{name}" deleted successfully',couldNotDelete:"Could not delete the flow",duplicatedSuccessfully:'"{name}" created',couldNotDuplicate:"Could not duplicate the flow",flowExported:"Flow exported as JSON file",noFlowToExport:"Create or load a flow first",saveBeforeExecute:"Please save the flow first",flowSent:"Flow Sent",sentToTerminal:'"{name}" sent to terminal for execution',executionFailed:"Execution Failed",couldNotExecute:"Could not start flow execution"},Qe={title:"Template Library",description:"Browse and import workflow templates, or export your current flow as a template.",searchPlaceholder:"Search templates...",allCategories:"All",exportCurrent:"Export Current",close:"Close",errors:{loadFailed:"Failed to load templates"},emptyState:{title:"No templates found",searchSuggestion:"Try a different search query"},footer:{templateCount:"{count} template",templateCount_plural:"{count} templates"},card:{nodes:"nodes",import:"Import",delete:"Delete"},exportDialog:{title:"Export as Template",description:"Save this flow as a reusable template in your library.",fields:{name:"Name",namePlaceholder:"Template name",description:"Description",descriptionPlaceholder:"Brief description of this template",category:"Category",categoryPlaceholder:"e.g., Development, Testing, Deployment",tags:"Tags (comma-separated)",tagsPlaceholder:"e.g., react, testing, ci/cd"},actions:{cancel:"Cancel",export:"Export"}}},_e={placeholder:"Flow name",unsavedChanges:"Unsaved changes",new:"New",save:"Save",load:"Load",export:"Export Flow",templates:"Templates",importTemplate:"Import Template",sendToTerminal:"Send to Terminal",savedFlows:"Saved Flows ({count})",loading:"Loading...",noSavedFlows:"No saved flows",duplicate:"Duplicate",delete:"Delete"},Je={title:"Node Palette",open:"Open node palette",collapse:"Collapse palette",instructions:"Drag nodes onto the canvas to add them to your workflow",nodeTypes:"Node Types",tipLabel:"Tip:",tip:"Connect nodes by dragging from output to input handles"},Ye={workbench:"Workbench",expand:"Expand panel",collapse:"Collapse panel",tabTemplates:"Templates",tabNodes:"Nodes",tipLabel:"Tip:",dragOrDoubleClick:"Drag to canvas or double-click to add"},Xe={builtIn:"Built-in",custom:"Custom ({count})",newCustomNode:"New Custom Node",nodeName:"Node name",descriptionOptional:"Description (optional)",defaultInstructionOptional:"Default instruction (optional)",color:"Color",save:"Save",noCustomNodes:"No custom nodes yet. Click + to create.",deleteTemplate:"Delete template",createCustomNode:"Create custom node",promptTemplateLabel:"Prompt Template",promptTemplateDesc:"Natural language instruction for workflow step",slashCommandLabel:"Slash Command",slashCommandDesc:"Execute /workflow commands (main thread)",slashCommandAsyncLabel:"Slash Command (Async)",slashCommandAsyncDesc:"Execute /workflow commands (background)",newStepLabel:"New Step"},Ze={searchPlaceholder:"Search templates...",loadFailed:"Could not load template library. Please check API service.",noMatches:"No matching templates found",noTemplates:"No templates available",nodes:"nodes"},et={empty:"No variables available"},tt={empty:"No nodes available",clear:"Clear all"},ot={title:"Context Template",helpTitle:"Context Assembly Syntax",helpSyntax1:"Reference node output: {{node:node-id}}",helpSyntax2:"Reference variable: {{var:variableName}}",helpSyntax3:"Combine multiple sources in custom format",addNode:"Add Node Reference",selectNode:"Select a node...",addVariable:"Add Variable Reference",selectVariable:"Select a variable...",manualEdit:"Custom Template (use {{node:id}} or {{var:name}})"},st={title:"Properties",open:"Open properties panel",close:"Close panel",selectNode:"Select a node to edit its properties",deleteNode:"Delete Node",nodeType:"prompt template",saveToLibrary:"Save to Node Library",templateName:"Template name",descriptionOptional:"Description (optional)",cancel:"Cancel",save:"Save",slashCommandsGroup:"Slash Commands",cliToolsGroup:"CLI Tools",classificationSection:"Classification",description:"Description",descriptionPlaceholder:"Node description...",tags:"Tags",addTag:"Add tag...",executionSection:"Execution Config",condition:"Condition",conditionPlaceholder:"e.g., {{prev.success}} === true",artifacts:"Artifacts",delivery:"Delivery",targetSessionKey:"Target Session",targetSessionKeyPlaceholder:"e.g., cli-session-... (from Issue Terminal tab)",resumeKey:"resumeKey",resumeKeyPlaceholder:"e.g., issue-123 or any stable key",resumeStrategy:"resumeStrategy",available:"Available:",variables:"Variables:",artifactsLabel:"Artifacts:",templateLabel:"Templates:",newTemplate:"New",createCustomTemplate:"Create Custom Template",templateNameLabel:"Template Name",templateContent:"Template Content",templateContentHint:"(Use $INPUT as input placeholder)",tagColor:"Tag Color",requiresInput:"Requires user input parameter",inputPrompt:"Input prompt",defaultValue:"Default value",saveTemplate:"Save Template",confirmDeleteTemplate:'Delete template "{name}"?',placeholders:{nodeLabel:"Node label",instruction:`e.g., Execute /workflow:plan for login feature
2
+ or: Analyze code architecture
3
+ or: Save {{analysis}} to ./output/result.json`,outputName:"e.g., analysis, plan, result",slashCommand:"Select a command...",slashArgs:"Enter arguments...",additionalInstruction:"Additional instructions or context for the command..."},labels:{label:"Label",instruction:"Instruction",outputName:"Output Name",tool:"CLI Tool",mode:"Execution Mode",contextRefs:"Context References",slashCommand:"Slash Command",slashArgs:"Arguments",additionalInstruction:"Additional Context (optional)"},options:{toolNone:"None (auto-select)",toolGemini:"Gemini",toolQwen:"Qwen",toolCodex:"Codex",toolClaude:"Claude",modeAnalysis:"Analysis (read-only)",modeWrite:"Write (modify files)",modeMainprocess:"Main Process (blocking)",modeAsync:"Async (non-blocking)",deliveryNewExecution:"New execution",deliverySendToSession:"Send to session",resumeStrategyNative:"nativeResume",resumeStrategyPromptConcat:"promptConcat"}},nt={title:Ue,description:He,flow:je,execution:Oe,status:qe,controlPanel:Ve,node:Be,actions:Ge,emptyState:We,monitor:ze,notifications:Ke,templateLibrary:Qe,toolbar:_e,palette:Je,leftSidebar:Ye,nodeLibrary:Xe,inlineTemplates:Ze,variablePicker:et,multiNodeSelector:tt,contextAssembler:ot,propertyPanel:st},it="Loop Monitor",at="Monitor and control running development loops",lt={created:"Pending",running:"Running",paused:"Paused",completed:"Completed",failed:"Failed"},rt={create:"New Loop",pause:"Pause",resume:"Resume",stop:"Stop",restart:"Restart",viewDetails:"View Details"},ct={title:"No Active Loops",message:"Start a new development loop to begin monitoring progress.",createFirst:"Start New Loop"},dt={step:"Step",of:"of",progress:"Progress",prompt:"Prompt",tool:"Tool",iteration:"Iteration",error:"Error"},ut={title:"Start New Loop",labels:{prompt:"Prompt",tool:"CLI Tool (optional)"},placeholders:{prompt:"Enter your development loop prompt...",tool:"e.g., gemini, qwen, codex"},buttons:{create:"Start",cancel:"Cancel"}},mt={title:"Loop Monitor",loops:"Loops",tasks:"Tasks",iterations:"Iterations",timeline:"Timeline"},pt={pending:"Pending",inProgress:"In Progress",blocked:"Blocked",done:"Done"},gt={pending:"Pending",running:"Running",paused:"Paused",completed:"Completed",failed:"Failed"},ht={title:it,description:at,status:lt,actions:rt,emptyState:ct,card:dt,createDialog:ut,monitor:mt,taskStatus:pt,columns:gt},ft="Commands Manager",yt="Enable/disable CCW commands",vt={create:"New Command",edit:"Edit Command",delete:"Delete Command",refresh:"Refresh",expandAll:"Expand All",collapseAll:"Collapse All",copy:"Copy",showDisabled:"Show Disabled",hideDisabled:"Hide Disabled",cancel:"Cancel"},St={builtin:"Built-in",custom:"Custom"},Ct={project:"Project",user:"Global"},bt={allCategories:"All Categories",allSources:"All Sources",category:"Category",source:"Source",searchPlaceholder:"Search commands by name or description..."},wt={name:"Name",description:"Description",usage:"Usage",examples:"Examples",aliases:"Aliases",triggers:"Triggers",noDescription:"No description"},kt={title:"No Commands Found",message:"Try adjusting your search or filters."},Pt={name:"Name",description:"Description",scope:"Scope",status:"Status"},xt={total:"Total Commands",enabled:"Enabled",disabled:"Disabled"},Tt={enabled:"enabled",clickToEnableAll:"Click to enable all",clickToDisableAll:"Click to disable all",noCommands:"No commands in this group",noEnabledCommands:"No enabled commands in this group"},It={title:"Create Command",location:"Location",locationProject:"Project Commands",locationProjectHint:".claude/commands/",locationUser:"Global Commands",locationUserHint:"~/.claude/commands/",mode:"Creation Mode",modeImport:"Import File",modeImportHint:"Import command from existing file",modeGenerate:"AI Generate",modeGenerateHint:"Generate command using AI",sourcePath:"Source File Path",sourcePathPlaceholder:"Enter absolute path to command file",sourcePathHint:"File must be a valid command markdown file",browseFile:"Browse files",customName:"Custom Name",customNamePlaceholder:"Leave empty to use original name",customNameHint:"Optional, overrides default command name",commandName:"Command Name",commandNamePlaceholder:"Enter command name",commandNameHint:"Used as the command file name",descriptionLabel:"Command Description",descriptionPlaceholder:"Describe what this command should do...",descriptionHint:"AI will generate command content based on this description",generateInfo:"AI will use CLI tools to generate the command",generateTimeHint:"Generation may take some time",validate:"Validate",import:"Import",generate:"Generate",validating:"Validating...",validCommand:"Validation passed",invalidCommand:"Validation failed",creating:"Creating...",created:'Command "{name}" created successfully',createError:"Failed to create command",sourcePathRequired:"Please enter source file path",commandNameRequired:"Please enter command name",descriptionRequired:"Please enter command description",validateFirst:"Please validate the command file first"},Dt={title:ft,description:yt,actions:vt,source:St,location:Ct,filters:bt,card:wt,emptyState:kt,table:Pt,stats:xt,group:Tt,create:It},At="Memory",Et="Manage core memory, context, and knowledge base",Ft={add:"Add Memory",edit:"Edit",delete:"Delete",copy:"Copy",copySuccess:"Copied to clipboard",copyError:"Failed to copy",refresh:"Refresh",expand:"Expand",collapse:"Collapse",favoriteAdded:"Added to favorites",favoriteRemoved:"Removed from favorites",favoriteError:"Failed to update favorite status",archiveSuccess:"Memory archived",archiveError:"Failed to archive memory",unarchiveSuccess:"Memory restored",unarchiveError:"Failed to restore memory"},Nt={memories:"Memories",favorites:"Favorites",archived:"Archived",unifiedSearch:"Unified Search"},Lt={totalSize:"Total Size",count:"Count",claudeMdCount:"CLAUDE.md Files",totalEntries:"Total Entries",vectorChunks:"Vector Chunks",hnswStatus:"HNSW Index",entities:"Entities",prompts:"Prompts"},Mt={search:"Search memories...",searchUnified:"Semantic search across all memory types...",tags:"Tags",clear:"Clear",all:"All",categoryAll:"All Categories",categoryCoreMemory:"Core Memory",categoryCliHistory:"CLI History",categoryWorkflow:"Workflow",categoryEntity:"Entity",categoryPattern:"Pattern"},Rt={id:"ID",content:"Content",summary:"Summary",tags:"Tags",createdAt:"Created",updatedAt:"Updated",size:"Size",favorite:"Favorite",archived:"Archived"},$t={title:"No Memories Stored",message:"Add context and knowledge to help Claude understand your project better.",createFirst:"Add First Memory"},Ut={title:"Add Memory",editTitle:"Edit Memory",labels:{content:"Content",tags:"Tags",favorite:"Favorite",priority:"Priority"},placeholders:{content:"Enter memory content...",tags:"e.g., project, config, api"},buttons:{create:"Add Memory",update:"Update Memory",cancel:"Cancel",creating:"Creating...",updating:"Updating..."}},Ht={low:"Low",medium:"Medium",high:"High"},jt={coreMemory:"Core Memory",workflow:"Workflow",cliHistory:"CLI History"},Ot={score:"Score",noResults:"No results found. Try a different search query.",searching:"Searching...",resultCount:"{count} results",recommendations:"Related",noRecommendations:"No recommendations available",reindex:"Rebuild Index",reindexing:"Rebuilding...",reindexSuccess:"Index rebuilt successfully",reindexError:"Failed to rebuild index",vectorRank:"Vector #{rank}",ftsRank:"FTS #{rank}",heatScore:"Heat: {score}"},qt={title:"Memory V2 Pipeline",extraction:{selectiveTriggered:"Selective extraction triggered"},consolidation:{title:"Consolidation",description:"Consolidate extraction results into MEMORY.md",trigger:"Trigger Consolidation",consolidating:"Consolidating...",preview:"Preview",memoryMd:"MEMORY.md",exists:"Exists",notExists:"Not Exists",inputs:"Inputs",lastRun:"Last run",triggered:"Consolidation triggered",triggerError:"Failed to trigger consolidation",copySuccess:"Copied",noContent:"No content available"},jobs:{title:"Jobs",kind:"Kind",key:"Key",status:"Status",error:"Error",noJobs:"No jobs found",allKinds:"All Kinds",extraction:"Extraction",consolidation:"Consolidation",statusFilter:{all:"All Status",pending:"Pending",running:"Running",done:"Done",error:"Error"},detail:{title:"Job Details",kind:"Kind",jobKey:"Job ID",status:"Status",startedAt:"Started At",finishedAt:"Finished At",workerId:"Worker ID",retryRemaining:"Retry Remaining",error:"Error",noError:"No error"}},status:{idle:"Idle",running:"Running",completed:"Completed",done:"Done",error:"Error",pending:"Pending"},statusBanner:{running:"Pipeline Running - {count} job(s) in progress",hasErrors:"Pipeline Idle - {count} job(s) failed"},preview:{title:"Extraction Queue Preview",selectSessions:"Search sessions...",sourceCcw:"CCW",sourceNative:"Native",selectAll:"Select All",selectNone:"Select None",extractSelected:"Extract Selected ({count})",noSessions:"No sessions found",total:"Total",eligible:"Eligible",extracted:"Already Extracted",ready:"Ready",previewQueue:"Preview Queue",includeNative:"Include Native Sessions",selected:"{count} sessions selected",selectHint:"Select sessions to extract",ineligible:"Ineligible"}},Vt={title:At,description:Et,actions:Ft,tabs:Nt,stats:Lt,filters:Mt,card:Rt,emptyState:$t,createDialog:Ut,priority:Ht,types:jt,unified:Ot,v2:qt},Bt="Settings",Gt="Configure your dashboard preferences and CLI tools",Wt={appearance:"Appearance",cliTools:"CLI Tools",display:"Display Settings",language:"Language",responseLanguage:"Response Language",systemStatus:"System Status",hooks:"Git Hooks",rules:"Rules",about:"About",a2ui:"A2UI Preferences"},zt={title:"Appearance",theme:"Theme",themeOptions:{light:"Light",dark:"Dark",system:"System"},description:"Choose your preferred color theme",systemFollow:"System",systemFollowDesc:"Use system's dark/light mode setting"},Kt={title:"CLI Tools",description:"Configure CLI tool settings. Current default: ",enabled:"Enabled",disabled:"Disabled",default:"Default",setDefault:"Set as Default",primaryModel:"Primary Model",secondaryModel:"Secondary Model",expand:"Expand for details",envFile:"Environment File (.env)",envFilePlaceholder:"e.g., ~/.gemini/.env",envFileHint:"Path to .env file loaded before CLI execution for API keys and environment variables",saveToConfig:"Save to Config",saving:"Saving...",configSaved:"Configuration saved to ~/.claude/cli-tools.json",configSaveError:"Failed to save configuration",effort:"Effort Level",effortHint:"Controls thinking effort for Claude sessions. Default: high.",effortLow:"Low",effortMedium:"Medium",effortHigh:"High"},Qt={title:"Display Settings",showCompletedTasks:"Show Completed Tasks",showCompletedTasksDesc:"Display completed tasks in task lists",show:"Show",hide:"Hide"},_t={title:"Language",description:"Select your preferred language",english:"English",chinese:"中文",displayLanguage:"Display Language",chooseLanguage:"Choose your preferred language for the interface"},Jt={title:"Response Language Settings",chineseClaude:"Chinese Response",chineseClaudeDesc:"Enable Chinese response guidelines in ~/.claude/CLAUDE.md",chineseCodex:"Chinese Response",chineseCodexDesc:"Enable Chinese response guidelines in ~/.codex/AGENTS.md",windowsPlatform:"Windows Platform",windowsPlatformDesc:"Enable Windows path format conventions in global CLAUDE.md",cliEnhancement:"CLI Enhancement",cliEnhancementDesc:"Enable multi-CLI tool invocation for Codex",cliEnhancementHint:"After config changes, click refresh to update content",refreshConfig:"Refresh Config",migrationWarning:"Old format detected, please disable and re-enable to migrate",enabled:"Enabled",disabled:"Disabled",export:"Export",import:"Import",exporting:"Exporting...",importing:"Importing...",exportImportHint:"Export or import CLI settings configuration",exportSuccess:"Settings exported successfully",exportError:"Failed to export settings",importSuccess:"Settings imported successfully ({imported} imported, {skipped} skipped)",importError:"Failed to import settings",importInvalidFile:"Please select a valid JSON file",importInvalidJson:"Invalid JSON format in file",importInvalidStructure:"Invalid settings file structure"},Yt={title:"CCW Installation",installations:"installation(s)",noInstallations:"No installations detected",installPrompt:"Run ccw install to set up",global:"Global",path:"Path",version:"Version",files:"files",upgrade:"Upgrade",upgrading:"Upgrading...",refresh:"Refresh",ccwInstall:"CCW Installation",installed:"Installed",incomplete:"Incomplete",notInstalled:"Not Installed",missingFiles:"Missing Files",runToFix:"Run to fix",toolStatus:"Tool Availability",available:"Available",unavailable:"Unavailable",checking:"Checking..."},Xt={title:"Data Refresh",autoRefresh:"Auto Refresh",autoRefreshDesc:"Automatically refresh data periodically",refreshInterval:"Refresh Interval",refreshIntervalDesc:"How often to refresh data",enabled:"Enabled",disabled:"Disabled"},Zt={title:"Notifications",enableNotifications:"Enable Notifications",enableNotificationsDesc:"Show notifications for workflow events",soundEffects:"Sound Effects",soundEffectsDesc:"Play sound for notifications",on:"On",off:"Off"},eo={title:"Remote Notifications",description:"Send notifications to external platforms like Discord, Telegram, or custom webhooks when events occur.",enabled:"Enabled",disabled:"Disabled",platforms:"Platform Configuration",events:"Event Triggers",selectPlatforms:"Select which platforms to notify for this event:",noPlatforms:"No platforms",configured:"Configured",save:"Save",saving:"Saving...",saved:"Configuration saved",saveError:"Failed to save configuration",reset:"Reset to Defaults",resetConfirm:"Reset all remote notification settings to defaults?",resetSuccess:"Settings reset to defaults",resetError:"Failed to reset settings",testConnection:"Test Connection",testSuccess:"Test notification sent successfully",testFailed:"Test notification failed",testError:"Failed to send test notification",discord:{webhookUrl:"Webhook URL",webhookUrlHint:"Create a webhook in your Discord channel settings",username:"Custom Username (optional)"},telegram:{botToken:"Bot Token",botTokenHint:"Get from @BotFather on Telegram",chatId:"Chat ID",chatIdHint:"User or group chat ID (use @userinfobot to find it)"},webhook:{url:"Webhook URL",method:"HTTP Method",headers:"Custom Headers (JSON)",headersHint:"Optional JSON object with custom headers"},feishu:{webhookUrl:"Webhook URL",webhookUrlHint:"Get from Feishu robot settings",useCard:"Use Card Format",useCardHint:"Send as rich interactive card",title:"Card Title (optional)"},dingtalk:{webhookUrl:"Webhook URL",webhookUrlHint:"Get from DingTalk robot settings",keywords:"Security Keywords",keywordsHint:"Comma-separated keywords for security check"},wecom:{webhookUrl:"Webhook URL",webhookUrlHint:"Get from WeCom robot settings",mentionedList:"Mention Users",mentionedListHint:"User IDs to mention, use '@all' for everyone"},email:{host:"SMTP Host",hostHint:"e.g., smtp.gmail.com",port:"Port",secure:"Use TLS",username:"Username",password:"Password",from:"Sender Email",to:"Recipients",toHint:"Comma-separated email addresses"}},to={title:"Version Update",currentVersion:"Current Version",latestVersion:"Latest Version",checkNow:"Check Now",checking:"Checking...",autoCheck:"Auto-check for updates",autoCheckDesc:"Automatically check for new versions every hour",upToDate:"Up to date",updateAvailable:"Update available",updateCommand:"Update command",viewRelease:"View Release",lastChecked:"Last checked",checkFailed:"Check failed",never:"Never"},oo={title:"About",version:"Version",description:"Claude Code Workflow Dashboard"},so={title:"Reset",description:"Reset all user preferences to their default values. This cannot be undone.",confirm:"Reset all settings to defaults?",button:"Reset to Defaults"},no={title:"A2UI Preferences",dialogStyle:"Dialog Style",dialogStyleDesc:"Choose how A2UI dialogs are displayed",styleModal:"Modal",styleModalDesc:"Centered",styleDrawer:"Drawer",styleDrawerDesc:"Side panel",styleSheet:"Sheet",styleSheetDesc:"Bottom",styleFullscreen:"Fullscreen",styleFullscreenDesc:"Full screen",smartMode:"Smart Mode",smartModeDesc:"Auto-select style based on question type",autoSelectionDuration:"Auto-Selection Duration",autoSelectionDurationDesc:"Countdown before auto-selecting default option",pauseOnInteraction:"Pause on Interaction",pauseOnInteractionDesc:"Pause countdown when you interact with the dialog",soundNotification:"Sound Notification",soundNotificationDesc:"Play sound before auto-submit (3 seconds before)",showToolbarButton:"Show Toolbar Button",showToolbarButtonDesc:"Show A2UI quick action button in the toolbar"},io={title:Bt,description:Gt,sections:Wt,appearance:zt,cliTools:Kt,display:Qt,language:_t,responseLanguage:Jt,systemStatus:Yt,dataRefresh:Xt,notifications:Zt,remoteNotifications:eo,versionCheck:to,about:oo,reset:so,a2ui:no},ao={title:"Fix Progress"},lo={title:"Fix Tasks"},ro={total:"Total",fixed:"Fixed",failed:"Failed",pending:"Pending"},co={fixed:"Fixed",failed:"Failed",inProgress:"In Progress",pending:"Pending"},uo={all:"All",pending:"Pending",inProgress:"In Progress",fixed:"Fixed",failed:"Failed"},mo={untitled:"Untitled Task",attempts:"{count} attempts"},po={created:"Created",updated:"Updated",description:"Description"},go={title:"Session Not Found",message:"The fix session you're looking for doesn't exist or has been deleted."},ho={title:"No Tasks Found",message:"No fix tasks match the current filter."},fo={execution:"Execution"},yo={progress:ao,tasks:lo,stats:ro,status:co,filter:uo,task:mo,info:po,notFound:go,empty:ho,phase:fo},vo="CLI Execution History",So="View and manage your CLI execution history",Co={executions:"Executions",observability:"Session Audit",nativeSessions:"Native Sessions"},bo="Search executions...",wo="All Tools",ko="Delete Options",Po="Delete By Tool",xo="Delete All {tool}",To="Delete All History",Io={view:"View Details",viewNative:"View Native Session",delete:"Delete",copyId:"Copy ID",copied:"Copied!"},Do={native:"native"},Ao={deleteTitle:"Confirm Delete",deleteAllTitle:"Delete All History",deleteMessage:"Are you sure you want to delete this execution? This action cannot be undone.",deleteToolMessage:"Are you sure you want to delete all {tool} executions? This action cannot be undone.",deleteAllMessage:"Are you sure you want to delete all execution history? This action cannot be undone."},Eo={title:"No Executions Found",message:"CLI execution history will appear here when you run CLI commands.",filtered:"No Matching Results",filteredMessage:"No executions match your current filter. Try adjusting your search or filter."},Fo={count:"{count} native sessions",sessions:"sessions",loading:"Loading...",loadMore:"Load More",empty:{title:"No Native Sessions",message:"Native CLI sessions from Gemini, Codex, Qwen, etc. will appear here."}},No={title:vo,description:So,tabs:Co,searchPlaceholder:bo,filterAllTools:wo,deleteOptions:ko,deleteBy:Po,deleteAllTool:xo,deleteAll:To,actions:Io,badge:Do,dialog:Ao,empty:Eo,nativeSessions:Fo},Lo="Lite Tasks",Mo="{count} session(s)",Ro={plan:"Lite Plan",fix:"Lite Fix",multiCli:"Multi-CLI Plan"},$o={tasks:"Tasks",context:"Context"},Uo={discussion:"Discussion",discussionRounds:"Discussion Rounds",discussionDescription:"Multi-CLI collaborative planning with iterative analysis and cross-verification",summary:"Summary",goal:"Goal",solution:"Solution",implementation:"Implementation",feasibility:"Feasibility",risk:"Risk",planSummary:"Plan Summary",round:"Round",converged:"Converged",continuing:"Continuing",needsInput:"Needs Input",userFeedback:"User Feedback Incorporated",cliExecutions:"CLI Executions",solutions:"Solutions",feasible:"Feasible",pros:"Pros",cons:"Cons",convergence:"Convergence Analysis",crossVerification:"Cross Verification",agreements:"Agreements",disagreements:"Disagreements",resolution:"Resolution",clarificationQuestions:"Clarification Questions",context:{solution:"Selected Solution",implementationPlan:"Implementation Plan",approach:"Approach",tasks:"Tasks",milestones:"Milestones",dependencies:"Dependencies",internal:"Internal",external:"External",consensus:"CLI Consensus",resolvedConflicts:"Resolved Conflicts",technicalConcerns:"Technical Concerns",constraints:"Constraints",sessionInfo:"Session Info"}},Ho="Created",jo="rounds",Oo="tasks",qo="Untitled Task",Vo="Discussion Topic",Bo={title:"No {type} sessions",message:"Create a new session to get started."},Go={title:"No results found",message:"Try adjusting your search query."},Wo="Search sessions or tasks...",zo="Sort by",Ko={date:"Date",name:"Name",tasks:"Tasks"},Qo="Flowchart",_o="Implementation Flow",Jo="Focus Paths",Yo="Acceptance Criteria",Xo="Depends On",Zo={title:"No tasks in this session",message:"This session does not contain any tasks yet."},es={title:"Lite Task Not Found",message:"The requested lite task session could not be found."},ts={tasks:"Tasks",context:"Context"},os={loading:"Loading context data...",error:"Failed to load context",empty:"No context data available",explorations:"Explorations",explorationsCount:"{count} explorations",diagnoses:"Diagnoses",diagnosesCount:"{count} diagnoses",contextPackage:"Context Package",focusPaths:"Focus Paths",summary:"Summary",taskDescription:"Task Description",complexity:"Complexity",constraints:"Constraints",relevantFiles:"Relevant Files",dependencies:"Dependencies",sessionId:"Session ID",metadata:"Metadata",conflictRisks:"Conflict Risks",rawJson:"Raw JSON"},ss={completed:"Completed",inProgress:"In Progress",blocked:"Blocked",pending:"Pending"},ns={title:Lo,subtitle:Mo,type:Ro,quickCards:$o,multiCli:Uo,createdAt:Ho,rounds:jo,tasksCount:Oo,untitled:qo,discussionTopic:Vo,empty:Bo,noResults:Go,searchPlaceholder:Wo,sortBy:zo,sort:Ko,flowchart:Qo,implementationFlow:_o,focusPaths:Jo,acceptanceCriteria:Yo,dependsOn:Xo,emptyDetail:Zo,notFound:es,expandedTabs:ts,contextPanel:os,status:ss},is="No description available",as={initialized:"Initialized"},ls={title:"Technology Stack",languages:"Languages",frameworks:"Frameworks",buildTools:"Build Tools",testFrameworks:"Test Frameworks",primary:"Primary",noLanguages:"No languages detected",noFrameworks:"No frameworks detected"},rs={title:"Architecture",style:"Style",layers:"Layers",patterns:"Patterns",principles:"Principles"},cs={title:"Key Components",importance:{high:"High",medium:"Medium",low:"Low"}},ds={title:"Development History",categories:"Categories",timeline:"Timeline",category:{features:"Features",enhancements:"Enhancements",bugfixes:"Bug Fixes",refactorings:"Refactorings",documentation:"Documentation"}},us={title:"Project Guidelines",conventions:"Conventions",constraints:"Constraints",qualityRules:"Quality Rules",learnings:"Session Learnings",scope:"Scope",noQualityRules:"No quality rules defined yet. Switch to edit mode to add rules.",noLearnings:"No learning summaries yet. Switch to edit mode to add learnings.",edit:"Edit",save:"Save",cancel:"Cancel",saving:"Saving...",saveSuccess:"Guidelines saved successfully",saveError:"Failed to save guidelines",conventionCategories:{codingStyle:"Coding Style",namingPatterns:"Naming Patterns",fileStructure:"File Structure",documentation:"Documentation"},constraintCategories:{architecture:"Architecture",techStack:"Tech Stack",performance:"Performance",security:"Security"},qualityRuleFields:{rule:"Rule",scope:"Scope",enforcedBy:"Enforced By",addRule:"Add Quality Rule",removeRule:"Remove"},learningFields:{insight:"Insight",category:"Category",sessionId:"Session ID",context:"Context",date:"Date",addLearning:"Add Learning",removeLearning:"Remove"},placeholders:{addItem:"Press Enter to add item",rule:"Enter quality rule",scope:"Enter scope",enforcedBy:"Enter enforcement method",insight:"Enter insight",category:"Enter category",sessionId:"Enter session ID",context:"Enter context",selectDate:"Select date"}},ms={title:"Statistics",totalFeatures:"Total Features",lastUpdated:"Last Updated"},ps={title:"No Project Overview",message:"Run /workflow:init to initialize project analysis"},gs={noDescription:is,header:as,techStack:ls,architecture:rs,components:cs,devIndex:ds,guidelines:us,stats:ms,empty:ps},hs="Review Session",fs="Review",ys={critical:"Critical",high:"High",medium:"Medium",low:"Low",short:{critical:"Crit",high:"High",medium:"Med",low:"Low"}},vs={total:"Total",dimensions:"Dimensions"},Ss={title:"Review Progress",totalFindings:"Total Findings",critical:"Critical",high:"High"},Cs={all:"All"},bs={severity:"Severity",dimension:"Dimension",sort:"Sort",reset:"Reset"},ws={placeholder:"Search findings..."},ks={severity:"By Severity",dimension:"By Dimension",file:"By File"},Ps={count:"{count} selected",countSelected:"{count} selected",total:"{count} total",selectAll:"Select All",clearAll:"Clear All",clear:"Clear",selectVisible:"Visible",selectCritical:"Critical"},xs="Code Context",Ts="Root Cause",Is="Impact",Ds="Recommendations",As={count:"{count} findings"},Es={empty:"Click on a finding to preview details",emptyTitle:"Select a Finding",emptyTipSeverity:"Filter by severity",emptyTipFile:"Group by file",location:"Location",description:"Description",codeContext:"Code Context",recommendations:"Recommendations",rootCause:"Root Cause",impact:"Impact",selected:"Selected",selectForFix:"Select"},Fs={title:"Fix Progress",phase:{planning:"PLANNING",execution:"EXECUTION",completion:"COMPLETION"},stats:{total:"Total",fixed:"Fixed",failed:"Failed",pending:"Pending"},activeAgents:"Active Agent",activeAgentsPlural:"Active Agents",stage:"Stage",complete:"{percent}% Complete",working:"Working..."},Ns={title:"No findings found",message:"Try adjusting your filters or search query.",noFixProgress:"No fix progress data available"},Ls={title:"Review Session Not Found",message:"The requested review session could not be found."},Ms={title:hs,type:fs,severity:ys,stats:vs,progress:Ss,dimensionTabs:Cs,filters:bs,search:ws,sort:ks,selection:Ps,export:"Export Fix JSON",codeContext:xs,rootCause:Ts,impact:Is,recommendations:Ds,findingsList:As,preview:Es,fixProgress:Fs,empty:Ns,notFound:Ls},Rs={title:"Session Not Found",message:"The session you're looking for doesn't exist or has been deleted."},$s={tasks:"Tasks",context:"Context",summary:"Summary",implPlan:"IMPL Plan",conflict:"Conflict",review:"Review"},Us={completed:"completed",inProgress:"in progress",pending:"pending",blocked:"blocked",quickActions:{markAllPending:"All Pending",markAllInProgress:"All In Progress",markAllCompleted:"All Completed"},statusUpdate:{success:"Task status updated successfully",error:"Failed to update task status"},status:{pending:"Pending",inProgress:"In Progress",completed:"Completed",blocked:"Blocked",skipped:"Skipped"},untitled:"Untitled Task",deps:"deps",steps:"steps",files:"files",tab:{task:"Task",context:"Context"},quickCards:{explorations:"Explorations",context:"Context Package",dependencies:"Dependencies",testContext:"Test Context",available:"Available"},implementationFlow:"Implementation Flow",targetFiles:"Target Files",dependsOn:"Depends on",focusPaths:"Focus Paths",acceptance:"Acceptance Criteria",noContext:"No context information available for this task.",priority:{critical:"Critical",high:"High",medium:"Medium",low:"Low"},empty:{title:"No Tasks Found",message:"This session has no tasks yet."}},Hs={requirements:"Requirements",focusPaths:"Focus Paths",artifacts:"Artifacts",sharedContext:"Shared Context",techStack:"Tech Stack",conventions:"Conventions",empty:{title:"No Context Available",message:"This session has no context information."},explorations:{title:"Explorations",angles:"angles",projectStructure:"Project Structure",relevantFiles:"Relevant Files",patterns:"Patterns",dependencies:"Dependencies",integrationPoints:"Integration Points",testing:"Testing"},categories:{documentation:"Documentation",sourceCode:"Source Code",tests:"Tests"},assets:{title:"Assets",noData:"No assets found",scope:"Scope",contains:"Contains"},dependencies:{title:"Dependencies",internal:"Internal",external:"External",from:"From",to:"To",type:"Type"},testContext:{title:"Test Context",tests:"tests",existingTests:"existing tests",markers:"markers",coverage:"Coverage Configuration",backend:"Backend",frontend:"Frontend",framework:"Framework"},conflictDetection:{title:"Conflict Detection",riskLevel:{low:"Low Risk",medium:"Medium Risk",high:"High Risk",critical:"Critical Risk"},mitigation:"Mitigation Strategy",riskFactors:"Risk Factors",testGaps:"Test Gaps",existingImplementations:"Existing Implementations",affectedModules:"Affected Modules"}},js={default:"Summary",title:"Session Summary",lines:"lines",viewFull:"View Full Summary ({count} lines)",empty:{title:"No Summary Available",message:"This session has no summary yet."}},Os={title:"Implementation Plan",empty:{title:"No IMPL Plan Available",message:"This session has no implementation plan yet."},viewFull:"View Full Plan ({count} lines)"},qs={title:"Conflict Resolution",comingSoon:"Conflict Resolution (Coming Soon)",comingSoonMessage:"This tab will display conflict resolution decisions and user choices.",empty:{title:"No Conflict Resolution Data",message:"This session has no conflict resolution information."},resolvedAt:"Resolved",userDecisions:"User Decisions",description:"Description",implications:"Implications",resolvedConflicts:"Resolved Conflicts",strategy:"Strategy"},Vs={title:"Code Review",comingSoon:"Code Review (Coming Soon)",comingSoonMessage:"This tab will display review findings and recommendations.",empty:{title:"No Review Data",message:"This session has no review information."},noFindings:{title:"No Findings Found",message:"No findings match the current severity filter."},filterBySeverity:"Filter by Severity",severity:{all:"All Severities",critical:"Critical",high:"High",medium:"Medium",low:"Low"}},Bs={created:"Created",updated:"Updated",tasks:"Tasks",description:"Description"},Gs={status:{pending:"Pending",inProgress:"In Progress",completed:"Completed",blocked:"Blocked",skipped:"Skipped",failed:"Failed"},tabs:{overview:"Overview",flowchart:"Flowchart",files:"Files"},overview:{description:"Description",preAnalysis:"Pre-Analysis Steps",implementationSteps:"Implementation Steps",modificationPoints:"Modification Points",dependsOn:"Depends on",empty:"No overview information available for this task."},flowchart:{empty:"No flowchart available for this task."},files:{empty:"No files specified for this task."}},Ws={notFound:Rs,tabs:$s,tasks:Us,context:Hs,summary:js,implPlan:Os,conflict:qs,review:Vs,info:Bs,taskDrawer:Gs},zs="Skills",Ks="Manage and configure skills",Qs={title:"Disabled Skills"},_s={title:"Disable Skill?",message:'Are you sure you want to disable "{name}"?'},Js={title:"Delete Skill?",message:'Are you sure you want to delete "{name}"? This action cannot be undone.'},Ys={project:"Project",user:"Global",hub:"Hub"},Xs={builtin:"Built-in",custom:"Custom",community:"Community"},Zs={viewDetails:"View Details",configure:"Configure",enable:"Enable",disable:"Disable",toggle:"Toggle",install:"Install Skill",delete:"Delete",cancel:"Cancel",confirmDisable:"Disable",confirmDelete:"Delete"},en={enabled:"Enabled",disabled:"Disabled",on:"On",off:"Off"},tn={triggers:"Triggers",category:"Category",source:"Source",author:"Author",version:"Version",description:"Description"},on="Allowed Tools",sn="Files",nn="Path",an="Metadata",ln="No description available",rn="Project Skills",cn="User Skills",dn={all:"All",enabled:"Enabled",disabled:"Disabled",searchPlaceholder:"Search skills...",allSources:"All Sources"},un={totalSkills:"Total Skills"},mn={grid:"Grid View",compact:"Compact View"},pn={title:"No Skills Found",message:"No skills match your current filter."},gn={title:"Create Skill",location:"Location",locationProject:"Project Skills",locationProjectHint:".claude/skills/",locationUser:"Global Skills",locationUserHint:"~/.claude/skills/",mode:"Creation Mode",modeImport:"Import Folder",modeImportHint:"Import skill from existing folder",modeGenerate:"AI Generate",modeGenerateHint:"Generate skill using AI",sourcePath:"Source Folder Path",sourcePathPlaceholder:"Enter absolute path to skill folder",sourcePathHint:"Folder must contain a SKILL.md file",customName:"Custom Name",customNamePlaceholder:"Leave empty to use original name",customNameHint:"Optional, overrides default skill name",skillName:"Skill Name",skillNamePlaceholder:"Enter skill name",skillNameHint:"Used as the skill folder name",descriptionLabel:"Skill Description",descriptionPlaceholder:"Describe what this skill should do...",descriptionHint:"AI will generate skill content based on this description",generateInfo:"AI will use CLI tools to generate the skill",generateTimeHint:"Generation may take some time",validate:"Validate",import:"Import",generate:"Generate",validating:"Validating...",validSkill:"Validation passed",invalidSkill:"Validation failed",creating:"Creating...",created:'Skill "{name}" created successfully',createError:"Failed to create skill",sourcePathRequired:"Please enter source folder path",skillNameRequired:"Please enter skill name",descriptionRequired:"Please enter skill description",validateFirst:"Please validate the skill folder first"},hn={title:zs,description:Ks,disabledSkills:Qs,disableConfirm:_s,deleteConfirm:Js,delete:{success:'Skill "{name}" has been deleted',error:"Failed to delete skill: {error}"},location:Ys,source:Xs,actions:Zs,state:en,card:tn,allowedTools:on,files:sn,path:nn,metadata:an,noDescription:ln,projectSkills:rn,userSkills:cn,filters:dn,stats:un,view:mn,emptyState:pn,create:gn},fn={title:"CLI Endpoints",description:"Manage LiteLLM endpoints, custom CLI endpoints, and CLI wrapper configurations",type:{litellm:"LiteLLM",custom:"Custom",wrapper:"Wrapper"},status:{enabled:"Enabled",disabled:"Disabled"},stats:{total:"Total Endpoints",enabled:"Enabled"},id:"ID",config:"Configuration",filters:{type:"Type",allTypes:"All Types",searchPlaceholder:"Search endpoints by name or ID..."},actions:{add:"Add Endpoint",edit:"Edit Endpoint",delete:"Delete Endpoint",toggle:"Toggle Endpoint"},dialog:{createTitle:"Add Endpoint",editTitle:"Edit Endpoint ({id})"},form:{name:"Name",namePlaceholder:"My endpoint",type:"Type",enabled:"Enabled",enabledHint:"Enable or disable this endpoint",configJson:"Configuration (JSON)",configJsonPlaceholder:`{
4
+
5
+ }`},validation:{nameRequired:"Name is required",typeRequired:"Type is required",invalidJson:"Invalid JSON",configMustBeObject:"Configuration must be a JSON object"},messages:{created:"Endpoint created",updated:"Endpoint updated",deleted:"Endpoint deleted",saveFailed:"Failed to save endpoint",deleteFailed:"Failed to delete endpoint"},deleteConfirm:'Are you sure you want to delete the endpoint "{id}"?',emptyState:{title:"No CLI Endpoints Found",message:"Add a CLI endpoint to configure custom API endpoints and wrappers."}},yn={title:"CLI Installations",description:"Manage CCW CLI tool installations, upgrades, and removals",status:{active:"Active",inactive:"Inactive",error:"Error"},stats:{total:"Total Tools",installed:"Installed",available:"Available"},installed:"Installed",lastChecked:"Last Checked",filters:{status:"Status",all:"All",installed:"Installed",notInstalled:"Not Installed",searchPlaceholder:"Search tools by name or version..."},actions:{install:"Install",uninstall:"Uninstall",upgrade:"Upgrade"},uninstallConfirm:'Are you sure you want to uninstall "{name}"?',emptyState:{title:"No CLI Tools Found",message:"No CLI tools are available for installation at this time."}},vn={title:"Hook Manager",description:"Manage automated CLI hooks",trigger:{SessionStart:"Session Start",UserPromptSubmit:"User Prompt Submit",PreToolUse:"Pre Tool Use",PostToolUse:"Post Tool Use",Stop:"Stop","pre-commit":"Pre-commit","post-commit":"Post-commit","pre-push":"Pre-push",custom:"Custom"},stats:{total:"{count, plural, =0 {No hooks} one {# hook} other {# hooks}}",enabled:"{count, plural, =0 {No active} one {# active} other {# active}}",count:"{enabled}/{total} enabled"},filters:{trigger:"Trigger",allTriggers:"All Triggers",searchPlaceholder:"Search by name, description, command or trigger..."},actions:{add:"Add Hook",addFirst:"Add Your First Hook",edit:"Edit Hook",delete:"Delete Hook",deleteConfirm:'Are you sure you want to delete hook "{hookName}"?',enable:"Enable",disable:"Disable",toggle:"Toggle Hook",expand:"Expand",collapse:"Collapse",expandAll:"Expand All",collapseAll:"Collapse All"},form:{name:"Hook Name",description:"Description",trigger:"Trigger Event",matcher:"Matcher Pattern",command:"Command"},quickTemplates:{title:"Quick Install Templates",description:"Install popular hooks with one click"},templates:{title:"Quick Install Templates",description:"Install popular hooks with one click",categories:{notification:"Notification",indexing:"Indexing",automation:"Automation"},templates:{"session-start-notify":{name:"Session Start Notify",description:"Notify dashboard when a new workflow session is created"},"session-state-watch":{name:"Session State Watch",description:"Watch for session metadata file changes (workflow-session.json)"},"stop-notify":{name:"Stop Notify",description:"Notify dashboard when Claude finishes responding"},"auto-format-on-write":{name:"Auto Format on Write",description:"Auto-format files after Claude writes or edits them"},"auto-lint-on-write":{name:"Auto Lint on Write",description:"Auto-lint files after Claude writes or edits them"},"block-sensitive-files":{name:"Block Sensitive Files",description:"Block modifications to sensitive files (.env, secrets, credentials)"},"git-auto-stage":{name:"Git Auto Stage",description:"Auto stage all modified files when Claude finishes responding"},"post-edit-index":{name:"Post Edit Index",description:"Notify indexing service when files are modified"},"session-end-summary":{name:"Session End Summary",description:"Send session summary to dashboard on session end"},"project-state-inject":{name:"Project State Inject",description:"Inject project guidelines and recent dev history at session start"},"memory-v2-extract":{name:"Memory V2 Extract",description:"Trigger Phase 1 extraction when session ends (after idle period)"},"memory-v2-auto-consolidate":{name:"Memory V2 Auto Consolidate",description:"Trigger Phase 2 consolidation after extraction jobs complete"},"memory-sync-dashboard":{name:"Memory Sync Dashboard",description:"Sync memory V2 status to dashboard on changes"}},actions:{install:"Install",installed:"Installed"}},wizards:{sectionTitle:"Hook Wizards",sectionDescription:"Step-by-step guides to create common hooks",launch:"Launch Wizard",memoryUpdate:{title:"Memory Update Hook",shortDescription:"Automatically update CLAUDE.md"},dangerProtection:{title:"Danger Protection",shortDescription:"Protect dangerous operations"},skillContext:{title:"SKILL Context Hook",shortDescription:"Auto-inject SKILL context"}},allTools:"All Tools",empty:{title:"No Hooks Yet",description:"Get started by adding your first hook or use a quick template",noHooksInEvent:"No hooks configured for this event"}},Sn={title:"Rules",description:"Manage code quality rules and linting configurations",severity:{error:"Error",warning:"Warning",info:"Info"},stats:{total:"Total Rules",enabled:"Enabled"},filters:{severity:"Severity",allSeverities:"All Severities",searchPlaceholder:"Search rules by name..."},actions:{add:"Add Rule",edit:"Edit Rule",delete:"Delete Rule",toggle:"Toggle Rule"},emptyState:{title:"No Rules Found",message:"Add a rule to enforce code quality standards."}},Cn="Execution Details",bn={prompt:"Prompt",output:"Output",details:"Details"},wn={turns:"turns",perTurnView:"Per-Turn View",concatenatedView:"Concatenated View",nativeView:"Native View",userPrompt:"User Prompt",assistantResponse:"Assistant Response",errors:"Errors",truncatedNotice:"Output was truncated due to size limits.",latest:"Latest",copyId:"Copy ID",copyPrompt:"Copy Prompt",concatenatedPrompt:"Concatenated Prompt",newRequest:"NEW REQUEST",noOutput:"[No output]",yourNextPrompt:"[Your next prompt here]",conversationHistory:"CONVERSATION HISTORY",loading:"Loading...",noDetails:"No execution details available"},kn={turn:"Turn",tool:"Tool",mode:"Mode",duration:"Duration",created:"Created",id:"ID",timestamp:"Timestamp",status:"Status"},Pn={cliEndpoints:fn,cliInstallations:yn,cliHooks:vn,cliRules:Sn,executionDetails:Cn,tabs:bn,streamPanel:wn,details:kn},xn="CLI Stream Monitor",Tn="Search logs...",In="No active CLI executions",Dn="Start a CLI command to see streaming output",An="Select an execution to view output",En={running:"Running",completed:"Completed",error:"Error"},Fn="Recovered",Nn="lines",Ln="Auto-scroll",Mn="Scroll to bottom",Rn="Close",$n="Refresh",Un="Refreshing...",Hn="Live",jn="{count} execution{count, plural, =1 {} other {s}}",On="{count} active",qn={all:"All",errors:"Errors",content:"Content",system:"System"},Vn={preview:"Preview",json:"JSON",raw:"Raw"},Bn="View Mode",Gn="Settings",Wn="Waiting for messages...",zn="No matching messages found",Kn="{total} executions | {active} active | {error} error | {lines} lines",Qn="Copy",_n="Copied",Jn="Raw JSON",Yn="Retry",Xn="Dismiss",Zn="Thinking...",ei="Streaming...",ti="Tokens: {count}",oi="Duration: {value}",si="Model: {name}",ni="User",ii="Open in Full Page",ai="Open in CLI Viewer",li={title:xn,searchPlaceholder:Tn,noExecutions:In,noExecutionsHint:Dn,selectExecution:An,status:En,recovered:Fn,lines:Nn,autoScroll:Ln,scrollToBottom:Mn,close:Rn,refresh:$n,refreshing:Un,live:Hn,executions:jn,active:On,filter:qn,view:Vn,viewMode:Bn,settings:Gn,noMessages:Wn,noMatch:zn,statusBar:Kn,copy:Qn,copied:_n,rawJson:Jn,retry:Yn,dismiss:Xn,thinking:Zn,streaming:ei,tokens:ti,duration:oi,model:si,user:ni,popOutToPage:ii,openInViewer:ai},ri="MCP Servers",ci="Manage Model Context Protocol (MCP) servers for cross-CLI integration",di={templates:"Templates",servers:"Servers",crossCli:"Cross-CLI"},ui={claude:"Claude",codex:"Codex"},mi={global:"Global",project:"Project"},pi={enabled:"Enabled",disabled:"Disabled"},gi={total:"Total Servers",enabled:"Enabled",global:"Global",project:"Project"},hi="Command",fi="Arguments",yi="Environment Variables",vi={configPath:"Config Path",readOnly:"Read-only",readOnlyNotice:"Codex MCP servers are managed via config.toml and cannot be edited here.",editable:"Editable",editableNotice:"This server can be edited. Changes will be saved to config.toml.",deleteConfirm:{title:'Remove Server "{name}"?',description:'This will remove "{name}" from your Codex config.toml file. This action cannot be undone.',confirm:"Remove Server",cancel:"Cancel",deleting:"Removing..."}},Si={title:"Windows Compatibility",description:"Some MCP server commands require Windows-specific configuration for proper execution.",missingCount:"{count} missing command(s)",checking:"Checking Windows compatibility...",fixing:"Applying Windows compatibility fix...",autoFix:"Auto-Fix Commands",autoFixHint:"This will wrap commands with 'cmd /c' prefix for Windows compatibility.",install:"Download"},Ci={all:"All",searchPlaceholder:"Search servers by name or command..."},bi={add:"Add Server",edit:"Edit Server",delete:"Delete Server",toggle:"Toggle Server",expand:"View Details"},wi='Are you sure you want to delete the MCP server "{name}"?',ki={title:"No MCP Servers Found",message:"Add an MCP server to enable cross-CLI integration with tools like Claude, Codex, and Qwen."},Pi={addTitle:"Add MCP Server",editTitle:'Edit MCP Server "{name}"',form:{template:"Template",templatePlaceholder:"Select a template to pre-fill the form",name:"Server Name",namePlaceholder:"e.g., my-mcp-server",command:"Command",commandPlaceholder:"e.g., npx, python, node",args:"Arguments",argsPlaceholder:"Comma-separated arguments, e.g., -v, --option=value",argsHint:"Separate multiple arguments with commas",env:"Environment Variables",envPlaceholder:`Key=value pairs (one per line), e.g.,
6
+ API_KEY=your_key
7
+ DEBUG=true`,envHint:"Enter one key=value pair per line",scope:"Scope",enabled:"Enable this server"},templates:{"npx-stdio":"NPX STDIO","python-stdio":"Python STDIO","sse-server":"SSE Server"},validation:{nameRequired:"Server name is required",nameExists:"A server with this name already exists",commandRequired:"Command is required"},actions:{save:"Save",saving:"Saving...",cancel:"Cancel"}},xi={title:"CCW MCP Server",description:"Special built-in MCP server for CCW file operations and memory management",status:{installed:"Installed",notInstalled:"Not Installed",special:"Built-in"},tools:{label:"Available Tools",hint:"Install CCW MCP first to select tools",core:"Core",write_file:{name:"write_file",desc:"Write or create new files"},edit_file:{name:"edit_file",desc:"Edit or replace file contents"},read_file:{name:"read_file",desc:"Read a single file with optional line pagination"},read_many_files:{name:"read_many_files",desc:"Read multiple files or directories with glob filtering and content search"},core_memory:{name:"core_memory",desc:"Manage core memory entries"},ask_question:{name:"ask_question",desc:"Ask interactive questions through A2UI interface"},smart_search:{name:"smart_search",desc:"Intelligent code search with fuzzy and semantic modes"},team_msg:{name:"team_msg",desc:"Persistent JSONL message bus for Agent Team communication"}},paths:{label:"Path Configuration",projectRoot:"Project Root",projectRootPlaceholder:"e.g., D:\\Projects\\MyProject",allowedDirs:"Allowed Directories",allowedDirsPlaceholder:"dir1,dir2,dir3",allowedDirsHint:"Comma-separated list of allowed directories",enableSandbox:"Enable Sandbox (restrict to workspace files only)"},actions:{enableAll:"Enable All",disableAll:"Disable All",install:"Install CCW MCP",installCodex:"Install to Codex",installing:"Installing...",uninstall:"Uninstall",uninstalling:"Uninstalling...",uninstallConfirm:"Are you sure you want to uninstall CCW MCP?",uninstallScopeConfirm:"Are you sure you want to remove CCW MCP from {scope}?",saveConfig:"Save Configuration",saving:"Saving..."},feedback:{saveSuccess:"Configuration saved",saveError:"Failed to save configuration"},scope:{global:"Global",project:"Project",addScope:"Install to other scope",installToProject:"Also install to project",installToGlobal:"Also install to global",uninstallFrom:"Uninstall by scope",uninstallGlobal:"Remove from global",uninstallProject:"Remove from project"},codexNote:"Requires: npm install -g claude-code-workflow"},Ti={badge:"Conflict",title:"Scope Conflict",description:"This server exists in both project and global scopes. The {scope} version is used at runtime.",resolution:"Consider removing this server from one of the scopes."},Ii={title:"Recommended Servers",description:"Quickly install popular MCP servers with one click",servers:{ace:{name:"ACE Tool",description:"Advanced code search and context engine for intelligent code discovery",command:"mcp__ace-tool__search_context",install:"Install ACE",installing:"Installing..."},chrome:{name:"Chrome DevTools",description:"Browser automation and debugging tools for web development",command:"mcp__chrome-devtools",install:"Install Chrome",installing:"Installing..."},exa:{name:"Exa Search",description:"AI-powered web search with real-time crawling capabilities",command:"mcp__exa__search",install:"Install Exa",installing:"Installing..."}},actions:{install:"Install",installing:"Installing...",installed:"Installed",viewAll:"View All Servers"}},Di={label:"Config Format",format:"Config Format",mcpJson:".mcp.json",claudeJson:".claude.json",switchWarning:"Switching config format will not migrate existing servers. You'll need to reconfigure servers in the new format.",switchConfirm:"Switch Config Format",switchCancel:"Keep Current"},Ai={title:"Templates",description:"Reusable MCP server configuration templates",searchPlaceholder:"Search templates by name or description...",filter:{allCategories:"All Categories"},actions:{install:"Install Template",delete:"Delete Template",saveAsTemplate:"Save as Template"},loading:"Loading templates...",empty:{title:"No Templates Found",message:"Create your first template or install templates from the community",createFirst:"Create Your First Template"},saveDialog:{title:"Save as Template",name:"Template Name",namePlaceholder:"e.g., My Python MCP Server",category:"Category",categoryPlaceholder:"Select a category",description:"Description",descriptionPlaceholder:"Brief description of what this template does...",validation:{nameRequired:"Template name is required"},save:"Save Template",cancel:"Cancel"},deleteDialog:{title:"Delete Template",message:'Are you sure you want to delete the template "{name}"? This action cannot be undone.',delete:"Delete",deleting:"Deleting...",cancel:"Cancel"},categories:{stdio:"STDIO",sse:"SSE",language:"Language",official:"Official",custom:"Custom"},feedback:{installSuccess:"Template installed successfully",installError:"Failed to install template",deleteSuccess:"Template deleted successfully",deleteError:"Failed to delete template",saveSuccess:"Template saved successfully",saveError:"Failed to save template"}},Ei={button:"Cross-CLI Copy",title:"Copy MCP Servers Between CLIs",selectServers:"Select servers to copy from {source}",selectServersHint:"Choose servers to copy. Configuration will be transformed for the target CLI format.",noServers:"No servers available in current configuration",selectedCount:"{count} server(s) selected",copying:"Copying...",copyButton:"Copy to {target}"},Fi={title:"MCP Server Sync",description:"Synchronize MCP server configurations between Claude and Codex",claudeColumn:"Claude Servers",codexColumn:"Codex Servers",selectedCount:"Selected: {count} / Total: {total}",selectAll:"Select All",clearAll:"Clear All",copyToCodex:"→ Copy to Codex ({count})",copyFromCodex:"← Copy from Codex ({count})",noServers:"No servers available",codexLoadError:"Failed to load Codex servers",copySuccess:"Successfully copied {count} server(s)",copyPartial:"{copied} succeeded, {failed} failed",syncInProgress:"Syncing..."},Ni={title:"Projects Overview",description:"View MCP server configurations for all projects"},Li={title:"Cross-Project Import",description:"Import MCP server configurations from other projects"},Mi={title:"All Projects",name:"Project Name",servers:"Servers",lastModified:"Last Modified",actions:"Actions",current:"Current",openNewWindow:"Open in new window",empty:"No projects found",summary:"Showing {count} project(s)"},Ri={title:"Other Projects",description:"Discover and import MCP servers from your other projects",selectProject:"Select a project",selectProjectPlaceholder:"Choose a project...",noProjects:"No other projects available",noServers:"No MCP servers found in {project}",import:"Import",hint:"Imported servers will be added to your current project configuration"},$i={title:"Installation Command",cliCommand:"CLI Command",cliCommandHint:"Run this command in your terminal to install the server",jsonConfig:"JSON Configuration",jsonConfigHint:"Add this to your {filename} file",envVars:"Environment Variables",steps:"Installation Steps",step1:"Run the CLI command above in your terminal",step2:"Or manually add the JSON config to your configuration file",step3:"Restart your CLI to load the new server"},Ui="config required",Hi="No configuration needed",ji="Reconfigure",Oi={install:"Install",installing:"Installing...",installSuccess:"Server installed successfully",installError:"Failed to install server",validation:"Validation error",requiredFields:"Please fill in all required fields",scope:"Installation Scope","scope.global":"Global (All projects)","scope.project":"Project (Current project only)"},qi={name:"Exa Search",desc:"AI-powered web search with real-time crawling capabilities",field:{apiKey:"API Key","apiKey.desc":"Your Exa API key (optional, some features may require it)"}},Vi={label:"Enterprise",tooltip:"Enterprise MCP server"},Bi={settings:{personalSpecDefaults:"Personal Spec Defaults",personalSpecDefaultsDesc:"These settings will be applied when creating new personal specs",defaultReadMode:"Default Read Mode",selectReadMode:"Select read mode",defaultReadModeHelp:"The default read mode for newly created personal specs",autoEnable:"Auto Enable New Specs",autoEnableDescription:"Automatically enable newly created personal specs",specStatistics:"Spec Statistics",totalSpecs:"Total: {count} spec files",required:"required",readMode:{required:"Required",optional:"Optional"},dimension:{specs:"Project Specs",personal:"Personal Specs"},devProgressInjection:"Development Progress Injection",devProgressInjectionDesc:"Control how development progress from project-tech.json is injected into AI context",enableDevProgress:"Enable Injection",enableDevProgressDesc:"Include development history in AI context",maxEntries:"Max Entries per Category",maxEntriesDesc:"Maximum number of entries to include per category (1-50)",includeCategories:"Include Categories",categoriesDesc:"Click to toggle category inclusion",devProgressStats:"{total} entries from {sessions} sessions, last updated: {date}",devProgressStatsNoDate:"{total} entries from {sessions} sessions"},injection:{saveSuccess:"Settings saved successfully",saveError:"Failed to save settings: {error}",loadError:"Failed to load statistics"}},Gi={title:ri,description:ci,tabs:di,mode:ui,scope:mi,status:pi,stats:gi,command:hi,args:fi,env:yi,codex:vi,windows:Si,filters:Ci,actions:bi,deleteConfirm:wi,emptyState:ki,dialog:Pi,ccw:xi,conflict:Ti,recommended:Ii,configType:Di,templates:Ai,crossCli:Ei,sync:Fi,projects:Ni,crossProject:Li,allProjects:Mi,otherProjects:Ri,installCmd:$i,configRequired:Ui,noConfigNeeded:Hi,reconfigure:ji,wizard:Oi,"ace-tool":{name:"ACE Tool",desc:"Advanced code search and context engine for intelligent code discovery",field:{baseUrl:"Base URL","baseUrl.desc":"ACE MCP relay server endpoint",token:"API Token","token.desc":"Your ACE API token for authentication"}},"chrome-devtools":{name:"Chrome DevTools",desc:"Browser automation and debugging tools for web development"},exa:qi,enterprise:Vi,specs:Bi},Wi="CodexLens",zi="Semantic code search engine",Ki="Bootstrap",Qi="Bootstrapping...",_i="Uninstall",Ji="Uninstalling...",Yi="Are you sure you want to uninstall CodexLens? This action cannot be undone.",Xi="Confirm Uninstall",Zi="CodexLens is not installed",ea="Coming Soon",ta={overview:"Overview",settings:"Settings",models:"Models",search:"Search",advanced:"Advanced"},oa={status:{installation:"Installation Status",ready:"Ready",notReady:"Not Ready",version:"Version",indexPath:"Index Path",indexCount:"Index Count"},notInstalled:{title:"CodexLens Not Installed",message:"Please install CodexLens to use semantic code search features."},actions:{title:"Quick Actions",ftsFull:"FTS Full",ftsFullDesc:"Rebuild full-text index",ftsIncremental:"FTS Incremental",ftsIncrementalDesc:"Incremental update full-text index",vectorFull:"Vector Full",vectorFullDesc:"Rebuild vector index",vectorIncremental:"Vector Incremental",vectorIncrementalDesc:"Incremental update vector index"},venv:{title:"Python Virtual Environment Details",pythonVersion:"Python Version",venvPath:"Virtual Environment Path",lastCheck:"Last Check Time"}},sa={operationComplete:"Index Operation Complete",operationFailed:"Index Operation Failed",noProject:"No Project Selected",noProjectDesc:"Please open a project to perform index operations.",starting:"Starting index operation...",cancelFailed:"Failed to cancel operation",unknownError:"An unknown error occurred",complete:"Complete",failed:"Failed",cancelled:"Cancelled",inProgress:"In Progress"},na={installTitle:"Install Semantic Search",installDescription:"Install FastEmbed and semantic search dependencies with GPU acceleration support.",installInfo:"GPU acceleration requires compatible hardware. CPU mode works on all systems but is slower.",gpu:{cpu:"CPU Mode",cpuDesc:"Universal compatibility, slower processing. Works on all systems.",directml:"DirectML (Windows GPU)",directmlDesc:"Best for Windows with AMD/Intel GPUs. Recommended for most users.",cuda:"CUDA (NVIDIA GPU)",cudaDesc:"Best performance with NVIDIA GPUs. Requires CUDA toolkit."},recommended:"Recommended",install:"Install",installing:"Installing...",installSuccess:"Installation Complete",installSuccessDesc:"Semantic search installed successfully with {mode} mode",installFailed:"Installation Failed",unknownError:"An unknown error occurred"},ia={currentCount:"Current Index Count",currentWorkers:"Current Workers",currentBatchSize:"Current Batch Size",configTitle:"Basic Configuration",indexDir:{label:"Index Directory",placeholder:"~/.codexlens/indexes",hint:"Directory path for storing code indexes"},maxWorkers:{label:"Max Workers",hint:"API concurrent processing threads (1-32)"},batchSize:{label:"Batch Size",hint:"Number of files processed per batch (1-64)"},validation:{indexDirRequired:"Index directory is required",maxWorkersRange:"Workers must be between 1 and 32",batchSizeRange:"Batch size must be between 1 and 64"},save:"Save",saving:"Saving...",reset:"Reset",saveSuccess:"Configuration saved",saveFailed:"Save failed",configUpdated:"Configuration updated successfully",saveError:"Error saving configuration",unknownError:"An unknown error occurred"},aa={title:"GPU Settings",status:"GPU Status",enabled:"Enabled",available:"Available",unavailable:"Unavailable",supported:"Your system supports GPU acceleration",notSupported:"Your system does not support GPU acceleration",detect:"Detect",detectSuccess:"GPU detection completed",detectFailed:"GPU detection failed",detectComplete:"Detected {count} GPU devices",detectError:"Error detecting GPU",select:"Select",selected:"Selected",active:"Current",selectSuccess:"GPU selected",selectFailed:"GPU selection failed",gpuSelected:"GPU device enabled",selectError:"Error selecting GPU",reset:"Reset",resetSuccess:"GPU reset",resetFailed:"GPU reset failed",gpuReset:"GPU disabled, will use CPU",resetError:"Error resetting GPU",unknownError:"An unknown error occurred",noDevices:"No GPU devices detected",notAvailable:"GPU functionality not available",unknownDevice:"Unknown device",type:"Type",discrete:"Discrete GPU",integrated:"Integrated GPU",driver:"Driver Version",memory:"Memory"},la={warningTitle:"Sensitive Operations Warning",warningMessage:"Modifying environment variables may affect CodexLens operation. Ensure you understand each variable's purpose.",loadError:"Failed to load environment variables",loadErrorDesc:"Unable to fetch environment configuration. Please check if CodexLens is properly installed.",currentVars:"Current Environment Variables",settingsVars:"Settings Variables",customVars:"Custom Variables",envEditor:"Environment Variable Editor",envFile:"File",envContent:"Environment Variable Content",envPlaceholder:`# Comment lines start with #
8
+ KEY=value
9
+ ANOTHER_KEY="another value"`,envHint:"One variable per line, format: KEY=value. Comment lines start with #",save:"Save",saving:"Saving...",reset:"Reset",saveSuccess:"Environment variables saved",saveFailed:"Save failed",envUpdated:"Environment variables updated, restart service to take effect",saveError:"Error saving environment variables",unknownError:"An unknown error occurred",validation:{invalidKeys:"Invalid variable names: {keys}"},helpTitle:"Format Help",helpComment:"Comment lines start with #",helpFormat:"Variable format: KEY=value",helpQuotes:"Values with spaces should use quotes",helpRestart:"Restart service after changes to take effect"},ra="Downloaded Models",ca="No models configured",da="No models downloaded",ua={title:"Model Management",searchPlaceholder:"Search models...",downloading:"Downloading...",status:{downloaded:"Downloaded",available:"Available"},types:{embedding:"Embedding Models",reranker:"Reranker Models"},filters:{label:"Filter",all:"All"},actions:{download:"Download",delete:"Delete",cancel:"Cancel"},custom:{title:"Custom Model",placeholder:"HuggingFace model name (e.g., BAAI/bge-small-zh-v1.5)",description:"Download custom models from HuggingFace. Ensure the model name is correct."},deleteConfirm:"Are you sure you want to delete model {modelName}?",notInstalled:{title:"CodexLens Not Installed",description:"Please install CodexLens to use model management features."},error:{title:"Failed to load models",description:"Unable to fetch model list. Please check if CodexLens is properly installed."},empty:{title:"No models found",description:"No models are available. Try downloading models from the list.",filtered:"No models match your filter",filteredDesc:"Try adjusting your search or filter criteria"}},ma={type:"Search Type",content:"Content Search",files:"File Search",symbol:"Symbol Search",semantic:"Semantic Search (LSP)",mode:"Mode","mode.semantic":"Semantic (default)","mode.exact":"Exact (FTS)","mode.fuzzy":"Fuzzy",semanticMode:"Search Mode","semanticMode.fusion":"Fusion Search","semanticMode.vector":"Vector Search","semanticMode.structural":"Structural Search",fusionStrategy:"Fusion Strategy","fusionStrategy.rrf":"RRF (default)","fusionStrategy.dense_rerank":"Dense Rerank","fusionStrategy.binary":"Binary","fusionStrategy.hybrid":"Hybrid","fusionStrategy.staged":"Staged",stagedStage2Mode:"Staged Stage 2","stagedStage2Mode.precomputed":"Precomputed (graph_neighbors)","stagedStage2Mode.realtime":"Realtime (LSP)","stagedStage2Mode.static_global_graph":"Static Global Graph",lspStatus:"LSP Status",lspAvailable:"Semantic search available",lspUnavailable:"Semantic search unavailable",lspNoVector:"Vector index required",lspNoSemantic:"Semantic dependencies required",query:"Query",queryPlaceholder:"Enter search query...",button:"Search",searching:"Searching...",results:"Results",resultsCount:"results",notInstalled:{title:"CodexLens Not Installed",description:"Please install CodexLens to use semantic code search features."}},pa={title:"Reranker Configuration",description:"Configure the reranker backend, model, and provider for search result ranking.",backend:"Backend",backendHint:"Inference backend for reranking",model:"Model",modelHint:"Reranker model name or LiteLLM endpoint",provider:"API Provider",providerHint:"API provider for reranker service",apiKeyStatus:"API Key",apiKeySet:"Configured",apiKeyNotSet:"Not configured",configSource:"Config Source",save:"Save Reranker Config",saving:"Saving...",saveSuccess:"Reranker configuration saved",saveFailed:"Failed to save reranker configuration",noBackends:"No backends available",noModels:"No models available",noProviders:"No providers available",litellmModels:"LiteLLM Models",selectBackend:"Select backend...",selectModel:"Select model...",selectProvider:"Select provider..."},ga={embedding:"Embedding",reranker:"Reranker",concurrency:"Concurrency",cascade:"Cascade Search",indexing:"Indexing",chunking:"Chunking"},ha={backend:"Backend",model:"Model",useGpu:"Use GPU",highAvailability:"High Availability",loadBalanceStrategy:"Load Balance Strategy",rateLimitCooldown:"Rate Limit Cooldown",enabled:"Enabled",topKResults:"Top K Results",maxWorkers:"Max Workers",batchSize:"Batch Size",dynamicBatchSize:"Dynamic Batch Size",batchSizeUtilization:"Utilization Factor",batchSizeMax:"Max Batch Size",charsPerToken:"Chars Per Token",searchStrategy:"Search Strategy",coarseK:"Coarse K",fineK:"Fine K",stagedStage2Mode:"Stage-2 Mode",stagedClusteringStrategy:"Clustering Strategy",stagedClusteringMinSize:"Cluster Min Size",enableStagedRerank:"Enable Rerank",useAstGrep:"Use ast-grep",staticGraphEnabled:"Static Graph",staticGraphRelationshipTypes:"Relationship Types",stripComments:"Strip Comments",stripDocstrings:"Strip Docstrings",testFilePenalty:"Test File Penalty",docstringWeight:"Docstring Weight"},fa={title:"Install CodexLens",description:"Set up Python virtual environment and install CodexLens package.",checklist:"What will be installed",pythonVenv:"Python Virtual Environment",pythonVenvDesc:"Isolated Python environment for CodexLens",codexlensPackage:"CodexLens Package",codexlensPackageDesc:"Core semantic code search engine",sqliteFts:"SQLite FTS5",sqliteFtsDesc:"Full-text search extension for fast code lookup",location:"Install Location",locationPath:"~/.codexlens/venv",timeEstimate:"Installation may take 1-3 minutes depending on network speed.",stage:{creatingVenv:"Creating Python virtual environment...",installingPip:"Installing pip dependencies...",installingPackage:"Installing CodexLens package...",settingUpDeps:"Setting up dependencies...",finalizing:"Finalizing installation...",complete:"Installation complete!"},installNow:"Install Now",installing:"Installing..."},ya={title:"CCW Tools Registry",loading:"Loading tools...",error:"Failed to load tools",errorDesc:"Unable to fetch CCW tools list. Please check if the server is running.",emptyDesc:"No tools are currently registered.",totalCount:"{count} tools",codexLensSection:"CodexLens Tools",otherSection:"Other Tools"},va={title:"File Watcher",status:{running:"Running",stopped:"Stopped"},eventsProcessed:"Events Processed",uptime:"Uptime",start:"Start Watcher",starting:"Starting...",stop:"Stop Watcher",stopping:"Stopping...",started:"File watcher started",stopped:"File watcher stopped"},Sa={title:"LSP Server",status:{running:"Running",stopped:"Stopped"},projects:"Projects",embeddings:"Embeddings",modes:"Modes",semanticAvailable:"Semantic",available:"Available",unavailable:"Unavailable",start:"Start Server",starting:"Starting...",stop:"Stop Server",stopping:"Stopping...",restart:"Restart",restarting:"Restarting...",started:"LSP server started",stopped:"LSP server stopped",restarted:"LSP server restarted"},Ca={title:Wi,description:zi,bootstrap:Ki,bootstrapping:Qi,uninstall:_i,uninstalling:Ji,confirmUninstall:Yi,confirmUninstallTitle:Xi,notInstalled:Zi,comingSoon:ea,tabs:ta,overview:oa,index:sa,semantic:na,settings:ia,gpu:aa,advanced:la,downloadedModels:ra,noConfiguredModels:ca,noLocalModels:da,models:ua,search:ma,reranker:pa,envGroup:ga,envField:ha,install:fa,mcp:ya,watcher:va,lsp:Sa},ba="API Settings",wa="Manage LiteLLM providers, endpoints, cache settings, and model pools",ka={providers:"Providers",endpoints:"Endpoints",cache:"Cache",modelPools:"Model Pools",cliSettings:"CLI Settings"},Pa={title:"Providers",description:"Description",stats:{total:"Total Providers",enabled:"Enabled"},actions:{add:"Add Provider",edit:"Edit Provider",delete:"Delete Provider",test:"Test Connection",multiKeySettings:"Multi-Key Settings",syncToCodexLens:"Sync to CodexLens",manageModels:"Manage Models",addModel:"Add Model",showDisabled:"Show Disabled",hideDisabled:"Hide Disabled"},deleteConfirm:'Are you sure you want to delete the provider "{name}"?',emptyState:{title:"No Providers Found",message:"Add a provider to configure API credentials and models."},apiFormat:"API Format",openaiCompatible:"OpenAI Compatible",customFormat:"Custom Format",apiFormatHint:"Most providers use OpenAI-compatible format",displayName:"Display Name",apiKey:"API Key",useEnvVar:"Use environment variable (e.g., ${OPENAI_API_KEY})",apiBaseUrl:"API Base URL",preview:"Preview",enableProvider:"Enable this provider",advancedSettings:"Advanced Settings",timeout:"Timeout",timeoutHint:"Request timeout in seconds (default: 300)",maxRetries:"Max Retries",organization:"Organization",organizationHint:"OpenAI-specific organization ID",apiVersion:"API Version",apiVersionHint:"Azure-specific API version (e.g., 2024-02-01)",rpm:"RPM",tpm:"TPM",unlimited:"Unlimited",proxy:"Proxy URL",customHeaders:"Custom Headers",customHeadersHint:'JSON format, e.g., {"X-Custom": "value"}',testConnection:"Test Connection",connectionSuccess:"Connection successful",connectionFailed:"Connection failed",addProviderFirst:"Please add a provider first",saveProviderFirst:"Please save the provider first",llmModels:"LLM Models",embeddingModels:"Embedding Models",rerankerModels:"Reranker Models",noModels:"No models configured for this provider",selectProvider:"Select Provider",selectProviderHint:"Choose a provider to view and manage their models",modelSettings:"Model Settings",deleteModel:"Delete Model",multiKeySettings:"Multi-Key Settings",keyLabel:"Key Label",keyValue:"Key Value",keyWeight:"Weight",routingStrategy:"Routing Strategy",healthCheck:"Health Check",healthStatus:"Health Status",lastCheck:"Last check",lastError:"Last error",lastLatency:"Latency",cooldown:"Cooldown",consecutiveFailures:"Failures",inCooldown:"In cooldown",healthy:"Healthy",unhealthy:"Unhealthy",unknown:"Unknown",justNow:"just now",minutesAgo:"m ago",hoursAgo:"h ago",daysAgo:"d ago",seconds:"seconds",testKey:"Test Key",addKey:"Add Key",enableKey:"Enable",disableKey:"Disable",deleteKey:"Delete Key",simpleShuffle:"Simple Shuffle",weighted:"Weighted",latencyBased:"Latency Based",costBased:"Cost Based",leastBusy:"Least Busy",enableHealthCheck:"Enable health checks",checkInterval:"Check interval (seconds)",cooldownPeriod:"Cooldown period (seconds)",failureThreshold:"Failure threshold",addLlmModel:"Add LLM Model",addEmbeddingModel:"Add Embedding Model",addRerankerModel:"Add Reranker Model",selectFromPresets:"Select from presets",customModel:"Custom model...",modelId:"Model ID",modelName:"Model Name",modelSeries:"Model Series",contextWindow:"Context Window",capabilities:"Capabilities",streaming:"Streaming",functionCalling:"Function Calling",vision:"Vision",embeddingMaxTokens:"Max Tokens",rerankerTopK:"Top K",rerankerTopKHint:"Number of results to return",embeddingDimensions:"Dimensions",optional:"Optional",modelIdExists:"Model ID already exists",useModelTreeToManage:"Use provider card to manage models",endpointPreview:"Endpoint Preview",modelBaseUrlOverride:"Base URL Override",modelBaseUrlHint:"Override base URL for this model",basicInfo:"Basic Information",endpointSettings:"Endpoint Settings",apiBaseUpdated:"Base URL updated",showAll:"Show All",saveError:"Failed to save provider",deleteError:"Failed to delete provider",toggleError:"Failed to toggle provider",testError:"Failed to test provider"},xa={title:"Endpoints",description:"Configure custom API endpoints with caching strategies",stats:{totalEndpoints:"Total Endpoints",cachedEndpoints:"Cached Endpoints"},actions:{add:"Add Endpoint",edit:"Edit Endpoint",delete:"Delete Endpoint",enable:"Enable",disable:"Disable"},deleteConfirm:'Are you sure you want to delete the endpoint "{id}"?',emptyState:{title:"No Endpoints Found",message:"Add an endpoint to configure custom API mappings."},endpointId:"Endpoint ID",endpointIdHint:"Unique CLI identifier (e.g., my-gpt4o)",name:"Name",provider:"Provider",model:"Model",noModelsConfigured:"No models configured for this provider",selectModel:"Select a model...",cacheStrategy:"Cache Strategy",enableContextCaching:"Enable context caching",cacheTTL:"Cache TTL (minutes)",cacheMaxSize:"Max Size (KB)",filePatterns:"Patterns",autoCachePatterns:"Auto-cache patterns",filePatternsHint:"Comma-separated glob patterns (e.g., *.md,*.ts)",enabled:"Enabled",disabled:"Disabled",noEndpoints:"No Endpoints Configured",noEndpointsHint:"Add an endpoint to create custom API mappings with caching.",providerBased:"Provider-based",direct:"Direct",off:"Off",showDisabled:"Show Disabled",showAll:"Show All",basicInfo:"Basic Information",saveError:"Failed to save endpoint",deleteError:"Failed to delete endpoint",toggleError:"Failed to toggle endpoint"},Ta={title:"Cache",description:"Manage global cache settings and view cache statistics",settings:{title:"Cache Settings",globalCache:"Global Cache",enableGlobalCaching:"Enable global caching",cacheDirectory:"Cache directory",maxSize:"Max total size (MB)",cacheUsage:"Cache usage",cacheEntries:"Cache entries",cacheSize:"Cache size",used:"used",total:"total",actions:{clearCache:"Clear Cache"},confirmClearCache:"Are you sure you want to clear the cache? This will remove all cached entries."},statistics:{title:"Cache Statistics",cachedEntries:"Cached Entries",storageUsed:"Storage Used",totalSize:"Total Size"},actions:{clear:"Clear Cache",confirmClear:"Are you sure you want to clear the cache?"},messages:{cacheCleared:"Cache cleared",cacheSettingsUpdated:"Cache settings updated"}},Ia={title:"Model Pools",description:"Configure model pools for high availability and load balancing",stats:{total:"Total Pools",enabled:"Enabled"},actions:{add:"Add Model Pool",edit:"Edit Model Pool",delete:"Delete Model Pool",autoDiscover:"Auto-Discover"},deleteConfirm:'Are you sure you want to delete the model pool "{name}"?',emptyState:{title:"No Model Pools Found",message:"Add a model pool to enable high availability and load balancing."},modelType:"Model Type",embedding:"Embedding",llm:"LLM",reranker:"Reranker",targetModel:"Target Model",selectTargetModel:"Select target model...",strategy:"Strategy",roundRobin:"Round Robin",latencyAware:"Latency Aware",weightedRandom:"Weighted Random",poolEnabled:"Pool Enabled",autoDiscover:"Auto-discover providers",excludedProviders:"Excluded Providers",defaultCooldown:"Default Cooldown (s)",defaultConcurrent:"Default Concurrent",discoveredProviders:"Discovered Providers",excludeProvider:"Exclude",includeProvider:"Include",noProvidersFound:"No providers found offering this model",poolSaved:"Model pool saved",embeddingPoolDesc:"Configure model pools for high availability and load balancing across multiple providers",embeddingPool:"Embedding Pool",discovered:"Discovered",providers:"providers"},Da={title:"CLI Settings",description:"Configure CLI tool settings and modes",modalDescription:"Configure Claude CLI wrapper settings for different endpoints",stats:{total:"Total Settings",enabled:"Enabled"},actions:{add:"Add CLI Settings",edit:"Edit CLI Settings",delete:"Delete CLI Settings"},deleteConfirm:'Are you sure you want to delete the CLI settings "{name}"?',emptyState:{title:"No CLI Settings Found",message:"Add CLI settings to configure tool-specific options."},searchPlaceholder:"Search by name or description...",mode:"Mode",providerBased:"Provider-based",direct:"Direct",authToken:"Auth Token",baseUrl:"Base URL",model:"Model",namePlaceholder:"e.g., production-claude",descriptionPlaceholder:"Optional description for this configuration",selectProvider:"Select a provider",includeCoAuthoredBy:"Include co-authored-by in commits",coAuthoredBy:"Co-authored",availableModels:"Available Models",availableModelsPlaceholder:"Enter model name and press Enter",availableModelsHint:"Models shown in CLI dropdown menus. Click × to remove.",nameFormatHint:"Letters, numbers, hyphens, underscores only. Used as: ccw cli --tool [name]",nameTooLong:"Name must be {max} characters or less",configJson:"Configuration (JSON)",configJsonPlaceholder:`{
10
+ "env": {
11
+ "CUSTOM_VAR": "value"
12
+ }
13
+ }`,configJsonHint:"Additional configuration in JSON format. This will be merged with the form fields above.",invalidJson:"Invalid JSON",configMustBeObject:"Configuration must be a JSON object",settingsFile:"Settings File",settingsFilePlaceholder:"e.g., /path/to/settings.json",settingsFileHint:"Path to external Claude CLI settings file (passed via --settings parameter)",tags:"Tags",tagsDescription:"Tags for CLI tool routing and auto-selection (e.g., analysis, Debug)",addTag:"Add tag",tagInputPlaceholder:"Enter a tag...",predefinedTags:"Common tags",removeTag:"Remove tag",noTags:"No tags added",validation:{providerRequired:"Please select a provider",authOrBaseUrlRequired:"Please enter auth token or base URL"},saveError:"Failed to save CLI settings",deleteError:"Failed to delete CLI settings",toggleError:"Failed to toggle CLI settings"},Aa={title:"CCW-LiteLLM Package",description:"Manage ccw-litellm Python package installation",systemPythonMismatch:"Detected ccw-litellm installed in system Python, but not in the CodexLens venv (~/.codexlens/venv). Click Install to install it into the venv.",status:{installed:"Installed",notInstalled:"Not Installed",version:"Version"},actions:{install:"Install",uninstall:"Uninstall",refreshStatus:"Refresh Status"},messages:{installSuccess:"ccw-litellm installed successfully",installFailed:"Failed to install ccw-litellm",uninstallSuccess:"ccw-litellm uninstalled successfully",uninstallFailed:"Failed to uninstall ccw-litellm"},install:{title:"Install CCW-LiteLLM",description:"Install ccw-litellm into the CodexLens Python virtual environment for embedding support.",checklist:"What will be installed",codexlensVenv:"CodexLens Venv",codexlensVenvDesc:"Ensures CodexLens Python virtual environment is ready",litellmPackage:"ccw-litellm Package",litellmPackageDesc:"LiteLLM-based embedding client for multi-provider support",embeddingSupport:"Embedding Support",embeddingSupportDesc:"Enables LiteLLM embedding backend for semantic search",location:"Install Location",locationPath:"~/.codexlens/venv",timeEstimate:"Installation may take 1-3 minutes depending on network speed.",installNow:"Install Now",installing:"Installing...",stage:{checkingVenv:"Checking CodexLens virtual environment...",detectingPackage:"Detecting ccw-litellm package source...",installingDeps:"Installing dependencies...",installingPackage:"Installing ccw-litellm package...",verifying:"Verifying installation...",complete:"Installation complete!"}}},Ea={save:"Save",cancel:"Cancel",confirm:"Confirm",delete:"Delete",edit:"Edit",add:"Add",close:"Close",loading:"Loading...",saving:"Saving...",error:"Error",success:"Success",warning:"Warning",optional:"Optional",enabled:"Enabled",disabled:"Disabled",searchPlaceholder:"Search...",noResults:"No results found",actions:"Actions",name:"Name",description:"Description",type:"Type",status:"Status",provider:"Provider",enableThis:"Enable this",showAll:"Show All",validation:{nameRequired:"Name is required"}},Fa={settingsSaved:"Settings saved successfully",settingsDeleted:"Settings deleted successfully",providerSaved:"Provider saved successfully",providerDeleted:"Provider deleted successfully",providerUpdated:"Provider updated successfully",endpointSaved:"Endpoint saved successfully",endpointDeleted:"Endpoint deleted successfully",confirmDeleteProvider:"Are you sure you want to delete this provider?",confirmDeleteEndpoint:"Are you sure you want to delete this endpoint?",confirmClearCache:"Are you sure you want to clear the cache?",invalidJsonHeaders:"Invalid JSON format for custom headers",failedToLoad:"Failed to load data",noProviders:"No Providers",noProvidersHint:"Add a provider to get started with API configuration.",noEndpoints:"No Endpoints",noEndpointsHint:"Add an endpoint to create custom API mappings.",configSynced:"Configuration synced to YAML file"},Na={title:ba,description:wa,tabs:ka,providers:Pa,endpoints:xa,cache:Ta,modelPools:Ia,cliSettings:Da,ccwLitellm:Aa,common:Ea,messages:Fa},La={colorScheme:"Color Scheme",themeMode:"Theme Mode",customHue:"Custom Hue"},Ma={blue:"Classic Blue",green:"Deep Green",orange:"Vibrant Orange",purple:"Elegant Purple",custom:"Custom"},Ra={light:"Light",dark:"Dark"},$a={colorScheme:"Select {name} theme",themeMode:"Select {name} mode"},Ua="Current theme: {name}",Ha="Hue: {value}°",ja="Preview",Oa="Save Custom Theme",qa="Reset to Preset",Va={title:"Gradient Effects",off:"Off",standard:"Standard",enhanced:"Enhanced",hoverGlow:"Enable hover glow effects",bgAnimation:"Enable background gradient animation"},Ba={contrastWarning:"Some color combinations may not meet WCAG AA contrast requirements:",fixSuggestion:"Suggested fix: adjust {target} from {original} to {suggested} (ratio: {ratio}:1)",applyFix:"Apply Fix",dismiss:"Dismiss"},Ga={label:"Motion Preference",system:"System",reduce:"Reduce",enable:"Enable"},Wa={title:"Theme Slots",default:"Default",custom1:"Custom 1",custom2:"Custom 2",copy:"Copy Slot",rename:"Rename",delete:"Delete",undoDelete:"Slot deleted. Undo?",undo:"Undo",limitReached:"Maximum of {limit} theme slots reached",deleteConfirm:"Delete this theme slot?",cannotDeleteDefault:"Cannot delete the default slot",renameEmpty:"Slot name cannot be empty",copyOf:"Copy of {name}",active:"Active"},za={label:"Style Tier",soft:"Soft",standard:"Standard",highContrast:"High Contrast",softDesc:"Reduced saturation, gentle colors",standardDesc:"Default balanced appearance",highContrastDesc:"Enhanced readability, sharper colors"},Ka={title:"Background Image",mode:{gradientOnly:"Gradient",imageOnly:"Image",imageGradient:"Image+Gradient"},searchPlaceholder:"Search Unsplash photos...",customUrlPlaceholder:"Custom image URL...",apply:"Apply",removeImage:"Remove",effects:"Visual Effects",blur:"Blur",darken:"Darken",saturation:"Saturation",frostedGlass:"Frosted glass effect on content",grain:"Noise texture overlay",vignette:"Vignette (dark edges)",searchError:"Failed to search photos. Check if Unsplash API is configured.",noResults:"No photos found",prev:"Prev",next:"Next",loadFailed:"Image failed to load, fallback to gradient",upload:"Upload local image",uploading:"Uploading...",uploadError:"Upload failed",fileTooLarge:"File too large (max 10MB)",invalidType:"Only JPG, PNG, WebP, GIF supported"},Qa={label:"Theme Sharing",copyCode:"Copy Theme Code",copied:"Theme code copied to clipboard",import:"Import Theme",paste:"Paste theme code here...",preview:"Import Preview",apply:"Apply Theme",cancel:"Cancel",invalidCode:"Invalid theme code. Please check and try again.",incompatibleVersion:"This theme code is from an incompatible version and cannot be imported.",versionWarning:"This theme code is from a different version. Some settings may not be accurate.",importSuccess:"Theme imported successfully",noSlotAvailable:"No available theme slot. Delete a custom slot first."},_a={title:La,colorScheme:Ma,themeMode:Ra,select:$a,current:Ua,hueValue:Ha,preview:ja,"preview.background":"Background","preview.surface":"Card","preview.accent":"Accent",save:Oa,reset:qa,gradient:Va,accessibility:Ba,motion:Ga,slot:Wa,styleTier:za,background:Ka,share:Qa},Ja={title:"Execution Monitor",subtitle:"View real-time execution status and history"},Ya={openCliViewer:"CLI Monitor"},Xa={title:"Current Execution",noExecution:"No workflow is currently executing",expand:"Expand",collapse:"Collapse"},Za={title:"Statistics",totalExecutions:"Total Executions",successRate:"Success Rate",avgDuration:"Avg Duration",nodeSuccessRate:"Node Success Rate"},el={title:"Execution History",empty:"No execution history",tabs:{byWorkflow:"By Workflow",timeline:"Timeline",list:"List View"}},tl={workflow:"Workflow",status:"Status",dateRange:"Date Range",all:"All Workflows",allStatus:"All Status"},ol={status:{pending:"Pending",running:"Running",paused:"Paused",completed:"Completed",failed:"Failed"},duration:"Duration",startedAt:"Started",completedAt:"Completed",nodes:"Nodes",progress:"Progress",logs:"Logs",viewDetails:"View Details"},sl={page:Ja,actions:Ya,currentExecution:Xa,stats:Za,history:el,filters:tl,execution:ol},nl="Hook Manager",il="Manage CLI hooks for automated workflows",al="All tools",ll={SessionStart:"Session Start",UserPromptSubmit:"User Prompt Submit",PreToolUse:"Pre Tool Use",PostToolUse:"Post Tool Use",Stop:"Stop",Notification:"Notification",SubagentStart:"Subagent Start",SubagentStop:"Subagent Stop",PreCompact:"Pre Compact",SessionEnd:"Session End",PostToolUseFailure:"Post Tool Use Failure",PermissionRequest:"Permission Request"},rl={name:"Hook Name",namePlaceholder:"my-hook",description:"Description",descriptionPlaceholder:"What does this hook do?",trigger:"Trigger Event",matcher:"Tool Matcher",matcherPlaceholder:"e.g., Write|Edit (optional)",matcherHelp:"Regex pattern to match tool names. Leave empty to match all tools.",command:"Command",commandPlaceholder:"echo 'Hello World'",commandHelp:"Shell command to execute. Use environment variables like $CLAUDE_TOOL_NAME."},cl={nameRequired:"Hook name is required",nameInvalid:"Hook name can only contain letters, numbers, hyphens, and underscores",triggerRequired:"Trigger event is required",commandRequired:"Command is required"},dl={add:"Add Hook",addFirst:"Create Your First Hook",edit:"Edit",delete:"Delete",deleteConfirm:'Are you sure you want to delete hook "{hookName}"?',enable:"Enable",disable:"Disable",expand:"Expand details",collapse:"Collapse details",expandAll:"Expand All",collapseAll:"Collapse All"},ul={createTitle:"Create Hook",editTitle:'Edit Hook "{hookName}"'},ml={total:"{count} total",enabled:"{count} enabled",count:"{enabled}/{total} hooks"},pl={searchPlaceholder:"Search hooks by name, description, or trigger..."},gl={title:"No hooks found",description:"Create your first hook to automate your CLI workflow",noHooksInEvent:"No hooks configured for this event"},hl={title:"Quick Install Templates"},fl={title:"Quick Install Templates",description:"One-click installation for common hook patterns",categories:{notification:"Notification",indexing:"Indexing",automation:"Automation",utility:"Utility"},templates:{"session-start-notify":{name:"Session Start Notify",description:"Notify dashboard when a new workflow session is created"},"session-state-watch":{name:"Session State Watch",description:"Watch for session metadata file changes (workflow-session.json)"},"stop-notify":{name:"Stop Notify",description:"Notify dashboard when Claude finishes responding"},"auto-format-on-write":{name:"Auto Format on Write",description:"Auto-format files after Claude writes or edits them"},"auto-lint-on-write":{name:"Auto Lint on Write",description:"Auto-lint files after Claude writes or edits them"},"block-sensitive-files":{name:"Block Sensitive Files",description:"Block modifications to sensitive files (.env, secrets, credentials)"},"git-auto-stage":{name:"Git Auto Stage",description:"Auto stage all modified files when Claude finishes responding"},"post-edit-index":{name:"Post Edit Index",description:"Notify indexing service when files are modified"},"session-end-summary":{name:"Session End Summary",description:"Send session summary to dashboard on session end"},"project-state-inject":{name:"Project State Inject",description:"Inject project guidelines and recent dev history at session start"},"memory-v2-extract":{name:"Memory V2 Extract",description:"Trigger Phase 1 extraction when session ends (after idle period)"},"memory-v2-auto-consolidate":{name:"Memory V2 Auto Consolidate",description:"Trigger Phase 2 consolidation after extraction jobs complete"},"memory-sync-dashboard":{name:"Memory Sync Dashboard",description:"Sync memory V2 status to dashboard on changes"},"memory-auto-compress":{name:"Auto Memory Compress",description:"Automatically compress memory when entries exceed threshold"},"memory-preview-extract":{name:"Memory Preview & Extract",description:"Preview extraction queue and extract eligible sessions"},"memory-status-check":{name:"Memory Status Check",description:"Check memory extraction and consolidation status"}},actions:{install:"Install",installed:"Installed"}},yl={title:"Hook Wizard",launch:"Wizard",sectionTitle:"Hook Wizards",sectionDescription:"Create hooks with guided step-by-step wizards",platform:{detected:"Detected Platform",compatible:"Compatible",incompatible:"Incompatible",compatibilityError:"This hook is not compatible with your platform",compatibilityWarning:"Some features may not work on your platform"},steps:{triggerEvent:"This hook will trigger on",review:{title:"Review Configuration",description:"Review your hook configuration before creating",hookType:"Hook Type",trigger:"Trigger Event",platform:"Platform",commandPreview:"Command Preview",installTo:"Install To",scopeProject:"Project",scopeGlobal:"Global"}},navigation:{previous:"Previous",next:"Next",create:"Create Hook",creating:"Creating..."},memoryUpdate:{title:"Memory Update Wizard",description:"Configure hook to update CLAUDE.md on session end",shortDescription:"Update CLAUDE.md automatically",cliTool:"CLI Tool",cliToolHelp:"CLI tool for CLAUDE.md generation",threshold:"Threshold (paths)",thresholdHelp:"Number of paths to trigger batch update (1-20)",timeout:"Timeout (seconds)",timeoutHelp:"Auto-flush queue after this time (60-1800)"},dangerProtection:{title:"Danger Protection Wizard",description:"Configure confirmation hook for dangerous operations",shortDescription:"Confirm dangerous operations",selectProtections:"Select the protections you want to enable",selectedProtections:"Selected Protections",options:{bashConfirm:"Dangerous Commands",bashConfirmDesc:"Confirm before rm -rf, shutdown, kill, format, etc.",fileProtection:"Sensitive Files",fileProtectionDesc:"Block modifications to .env, .git/, secrets, keys",gitDestructive:"Git Operations",gitDestructiveDesc:"Confirm force push, hard reset, branch delete",networkConfirm:"Network Access",networkConfirmDesc:"Confirm curl, wget, ssh, WebFetch requests",systemPaths:"System Paths",systemPathsDesc:"Block/confirm operations on /etc, /usr, C:\\Windows",permissionChange:"Permission Changes",permissionChangeDesc:"Confirm chmod, chown, icacls operations"}},skillContext:{title:"SKILL Context Wizard",description:"Configure hook to load SKILL based on prompt keywords",shortDescription:"Auto-load SKILL based on keywords",loadingSkills:"Loading available skills...",selectSkill:"Select skill",addPair:"Add Skill Configuration",keywordMappings:"Keyword Mappings",keywordsPlaceholder:"react,workflow,api",mode:"Detection Mode",modeKeyword:"Keyword Matching",modeKeywordDesc:"Load specific SKILLs when keywords are detected",modeAuto:"Auto Detection",modeAutoDesc:"Automatically detect and load SKILLs by name",autoDescription:"Auto detection mode will scan user prompts for SKILL names and automatically load matching context. All available skills are shown below."}},vl={title:nl,description:il,allTools:al,trigger:ll,form:rl,validation:cl,actions:dl,dialog:ul,stats:ml,filters:pl,empty:gl,quickTemplates:hl,templates:fl,wizards:yl},Sl="Code Index",Cl="Manage the code search index for faster navigation and code discovery",bl={status:"Status",actions:"Actions",settings:"Settings"},wl={idle:"Idle",building:"Building",completed:"Ready",failed:"Failed"},kl={rebuild:"Rebuild Index",rebuildFull:"Full Rebuild",cancel:"Cancel"},Pl={totalFiles:"Total Files",totalFilesDesc:"Files in the index",lastUpdated:"Last Updated",lastUpdatedDesc:"When the index was last built",buildTime:"Build Time",buildTimeDesc:"Time taken for last build",never:"Never indexed"},xl={justNow:"Just now",minutesAgo:"{value}m ago",hoursAgo:"{value}h ago",daysAgo:"{value}d ago"},Tl={rebuildFailed:"Index rebuild failed",loadFailed:"Failed to load index status"},Il={autoRebuild:"Auto Rebuild",autoRebuildDesc:"Automatically rebuild index when code changes",rebuildInterval:"Rebuild Interval",rebuildIntervalDesc:"How often to check for code changes"},Dl={title:Sl,description:Cl,sections:bl,status:wl,actions:kl,stats:Pl,time:xl,errors:Tl,settings:Il},Al="Rules Manager",El="Manage Claude Code memory rules and configurations",Fl={error:"Error",warning:"Warning",info:"Info"},Nl={project:"Project",user:"User"},Ll={edit:"Edit",delete:"Delete",create:"Create Rule",update:"Update Rule",toggle:"Toggle Enabled",enable:"Enable Rule",disable:"Disable Rule"},Ml={all:"All",enabled:"Enabled",disabled:"Disabled",location:"Location",category:"Category"},Rl="Search rules...",$l={title:"No Rules Found",message:"No rules match your current filter.",createFirst:"Create your first rule to get started"},Ul={pattern:"Pattern",subdirectory:"Directory"},Hl={addTitle:"Create New Rule",editTitle:"Edit Rule: {name}",deleteTitle:"Delete Rule",deleteConfirm:"Are you sure you want to delete this rule? This action cannot be undone.",description:"Configure Claude Code memory rules to guide AI behavior",form:{name:"Rule Name",namePlaceholder:"e.g., Code Style Guide",description:"Description",descriptionPlaceholder:"Brief description of what this rule enforces",category:"Category",severity:"Severity",fileName:"File Name",fileNamePlaceholder:"rule-name.md",location:"Location",subdirectory:"Subdirectory (optional)",subdirectoryPlaceholder:"e.g., coding/security",pattern:"File Pattern (optional)",patternPlaceholder:"e.g., src/**/*.ts",content:"Rule Content",contentPlaceholder:"Enter the rule content in markdown format...",enabled:"Enabled"},validation:{nameRequired:"Rule name is required",fileNameRequired:"File name is required",fileNameMd:"File name must end with .md",locationRequired:"Location is required",contentRequired:"Rule content is required"},actions:{saving:"Saving..."}},jl={creating:"Creating...",updating:"Updating...",deleting:"Deleting..."},Ol={title:Al,description:El,severity:Fl,location:Nl,actions:Ll,filters:Ml,searchPlaceholder:Rl,emptyState:$l,card:Ul,dialog:Hl,status:jl},ql="Prompt History",Vl="View and analyze your prompt history with AI insights",Bl="Search prompts...",Gl="Filter by intent",Wl="Filter by project",zl={all:"All Intents",intent:"Intent","bug-fix":"Bug Fix",feature:"Feature",refactor:"Refactor",document:"Document",analyze:"Analyze"},Kl={all:"All Projects",project:"Project"},Ql={totalCount:"Total Prompts",totalCountDesc:"All stored prompts",avgLength:"Avg Length",avgLengthDesc:"Mean character count",topIntent:"Top Intent",topIntentDesc:"Most used category",noIntent:"N/A",avgQuality:"Avg Quality",avgQualityDesc:"Quality score distribution"},_l={high:"High",medium:"Medium",low:"Low",none:"N/A"},Jl={untitled:"Untitled Prompt",used:"Used {count} times"},Yl={ungrouped:"Ungrouped",session:"Session: {session}"},Xl={copy:"Copy prompt",copied:"Copied!",delete:"Delete",expand:"Expand",collapse:"Collapse"},Zl={title:"AI Insights",analyze:"Analyze",analyzing:"Analyzing prompts...",selectTool:"Select tool",confidence:"confidence",empty:{title:"No insights yet",message:"Run an analysis to get AI-powered insights about your prompt patterns and suggestions for improvement."},sections:{insights:"Insights",patterns:"Detected Patterns",suggestions:"Suggestions"}},er={loading:"Loading insights history...",patterns:"Patterns",suggestions:"Suggestions",prompts:"Prompts",empty:{title:"No analysis history",message:"Run an analysis to see historical insights and patterns."}},tr={title:"Insight Detail",patterns:"Patterns Found",suggestions:"Suggestions",promptsAnalyzed:"prompts analyzed",noContent:"No patterns or suggestions available for this insight.",deleting:"Deleting..."},or={types:{refactor:"Refactor",optimize:"Optimize",fix:"Fix",document:"Document"},effort:"Effort"},sr={deleteTitle:"Delete Prompt",deleteConfirm:"Are you sure you want to delete this prompt? This action cannot be undone.",batchDeleteTitle:"Delete Prompts",batchDeleteConfirm:"Are you sure you want to delete {count} selected prompt(s)? This action cannot be undone."},nr={selected:"{count} selected",selectAll:"Select All",clearSelection:"Clear Selection",deleteSelected:"Delete Selected"},ir={title:"No prompts found",message:"No prompts match your current filter.",noPrompts:"No prompts yet",createFirst:"Create your first prompt to start building history"},ar={title:ql,description:Vl,searchPlaceholder:Bl,filterByIntent:Gl,filterByProject:Wl,intents:zl,projects:Kl,stats:Ql,quality:_l,card:Jl,timeline:Yl,actions:Xl,insights:Zl,insightsHistory:er,insightDetail:tr,suggestions:or,dialog:sr,batch:nr,emptyState:ir},lr="File Explorer",rr="Browse and search files in your project",cr={tree:"Tree",list:"List",compact:"Compact"},dr={name:"Name",size:"Size",modified:"Modified",type:"Type"},ur={loading:"Loading file tree...",stats:"{files} items",empty:"No files found",error:"Failed to load file tree"},mr={loading:"Loading file content...",errorTitle:"Error loading file",emptyTitle:"No file selected",emptyMessage:"Select a file from the tree view to preview its content",binaryTitle:"Binary file",binaryMessage:"This file type cannot be previewed",tooLargeTitle:"File too large",tooLargeMessage:"File exceeds preview limit of {size}",copy:"Copy to clipboard",lastModified:"Last modified: {time}"},pr={searchPlaceholder:"Search files...",selectRoot:"Select directory",rootDirectory:"Root Directory",noRoots:"No directories available",viewMode:"View Mode",sortBy:"Sort By",moreOptions:"More Options",options:"Options",showHidden:"Show hidden files",expandAll:"Expand all",collapseAll:"Collapse all"},gr={loadFailed:"Failed to load file tree",loadFileFailed:"Failed to load file content",searchFailed:"Search failed",networkError:"Network error occurred"},hr={hasClaudeMd:"Contains CLAUDE.md context",gitRoot:"Git repository root",workspace:"Workspace directory"},fr={title:lr,description:rr,viewMode:cr,sortOrder:dr,tree:ur,preview:mr,toolbar:pr,errors:gr,context:hr},yr="Graph Explorer",vr="Visualize code dependencies and relationships",Sr={title:"Filters",nodeTypes:"Node Types",edgeTypes:"Edge Types",selectNodeTypes:"Select Node Types",selectEdgeTypes:"Select Edge Types",searchPlaceholder:"Search nodes...",showOnlyIssues:"Show Only Issues",showIsolatedNodes:"Show Isolated Nodes",minComplexity:"Min Complexity",maxDepth:"Max Depth",reset:"Reset"},Cr={component:"Component",module:"Module",function:"Function",class:"Class",interface:"Interface",variable:"Variable",file:"File",folder:"Folder",dependency:"Dependency",api:"API",database:"Database",service:"Service",hook:"Hook",utility:"Utility",unknown:"Unknown"},br={imports:"Imports",exports:"Exports",extends:"Extends",implements:"Implements",uses:"Uses",dependsOn:"Depends On",calls:"Calls",instantiates:"Instantiates",contains:"Contains",relatedTo:"Related To",dataFlow:"Data Flow",event:"Event",unknown:"Unknown"},wr={fitView:"Fit to Screen",refresh:"Refresh",resetFilters:"Reset Filters",export:"Export",settings:"Settings",zoomIn:"Zoom In",zoomOut:"Zoom Out"},kr={title:"Legend",nodeTypes:"Node Types",edgeTypes:"Edge Types",component:"Component",module:"Module",class:"Class",function:"Function",variable:"Variable",imports:"Imports (solid line)",calls:"Calls (green line)",extends:"Extends (dashed line)"},Pr={title:"Graph Explorer",nodeDetails:"Node Details",hasIssues:"Has Issues",filePath:"File Path",lineNumber:"Line Number",category:"Category",lineCount:"Lines of Code",documentation:"Documentation",tags:"Tags",issues:"Issues",instructions:"Click on a node to view details. Use the toolbar to filter nodes and edges."},xr={nodes:"Nodes",edges:"Edges",loading:"Loading graph...",updating:"Updating...",filtered:"Showing {count} of {total} nodes"},Tr={loading:"Failed to load graph: {message}",empty:"No graph data available",unknown:"An unknown error occurred"},Ir="No graph data available. Try adjusting filters or refresh the page.",Dr={title:yr,description:vr,filters:Sr,nodeTypes:Cr,edgeTypes:br,actions:wr,legend:kr,sidebar:Pr,status:xr,error:Tr,empty:Ir},Ar="Notifications",Er="Mark Read",Fr="Clear All",Nr="Show more",Lr="Show less",Mr="No notifications",Rr="Notifications will appear here",$r={title:Ar,markAllRead:Er,clearAll:Fr,showMore:Nr,showLess:Lr,empty:Mr,emptyHint:Rr},Ur="Notifications",Hr="Close notifications",jr="No notifications",Or="Notifications will appear here",qr="Mark Read",Vr="Clear All",Br="Show more",Gr="Show less",Wr="System Notifications",zr="Show browser native notifications for important events",Kr="just now",Qr="{0}m ago",_r="{0}h ago",Jr="{0}d ago",Yr="1m ago",Xr="1h ago",Zr="1d ago",ec={system:"System",websocket:"WebSocket",cli:"CLI",workflow:"Workflow",user:"User",external:"External"},tc={low:"Low",medium:"Medium",high:"High",critical:"Critical"},oc={image:"Image",code:"Code",file:"File",data:"Data",download:"Download"},sc={loading:"Loading...",success:"Done",retry:"Retry"},nc={today:"Today",yesterday:"Yesterday",atTime:"at {0}"},ic="Mark as read",ac="Mark as unread",lc="Read",rc="Unread",cc={title:Ur,close:Hr,empty:jr,emptyHint:Or,markAllRead:qr,clearAll:Vr,showMore:Br,showLess:Gr,systemNotifications:Wr,systemNotificationsDesc:zr,justNow:Kr,minutesAgo:Qr,hoursAgo:_r,daysAgo:Jr,oneMinuteAgo:Yr,oneHourAgo:Xr,oneDayAgo:Zr,sources:ec,priorities:tc,attachments:oc,actions:sc,timestamps:nc,markAsRead:ic,markAsUnread:ac,read:lc,unread:rc},dc={noWorkspace:"No workspace selected",recentPaths:"Recent Projects",noRecentPaths:"No recent projects",current:"Current",browse:"Browse Folder...",browseHint:"Select a folder from your computer",manualPath:"Enter Manually...",removePath:"Remove from recent",ariaLabel:"Workspace selector",dialog:{title:"Select Project Folder",placeholder:"Enter project path...",help:"The path to your project directory",selectCurrent:"Select This Folder",parentDir:"Parent Directory",loading:"Loading...",emptyDir:"Empty directory",accessDenied:"Cannot access this directory"}},uc={switch:"Switch Workspace",switchFailed:"Failed to switch workspace",switchSuccess:"Successfully switched to {path}"},mc={pathRequired:"Project path is required",invalidPath:"Invalid project path: {path}"},pc={switching:"Switching workspace...",refreshing:"Refreshing recent paths..."},gc={selector:dc,actions:uc,validation:mc,notifications:pc},hc="Help Center",fc="Get complete documentation, guides, and support resources for CCW platform",yc="Full Docs",vc={title:"Commands Overview",description:"Master the visual workflow editor with drag-and-drop flows"},Sc={title:"Workflows Overview",description:"Browse 40+ commands across workflow, issue, CLI, and memory categories"},Cc={title:"Quick Start",description:"Get up and running with CCW in minutes",guide:"Getting Started Guide",faq:"Frequently Asked Questions"},bc="Get Started",wc="View All",kc={title:"Search Documentation",description:"Find detailed documentation and examples for specific topics or commands",button:"Search Docs"},Pc={title:"Need Help?",description:"Access our documentation, tutorials, and community support resources",documentation:"Documentation",tutorials:"Tutorials"},xc={title:hc,description:fc,fullDocs:yc,commandsOverview:vc,workflowsOverview:Sc,quickStart:Cc,getStarted:bc,viewAll:wc,searchDocs:kc,support:Pc},Tc={title:"CLI Viewer",subtitle:"{count, plural, =0 {No active sessions} one {# active session} other {# active sessions}}"},Ic={title:"Layout",single:"Single",splitH:"Split Horizontal",splitV:"Split Vertical",grid:"Grid 2x2"},Dc={empty:"No execution selected",selectExecution:"Select Execution",loading:"Loading output for {executionId}...",close:"Close",maximize:"Maximize",minimize:"Minimize"},Ac={refresh:"Refresh",clearAll:"Clear All",settings:"Settings",back:"Back",addExecution:"Add",running:"running",executions:"executions",executionsList:"Recent Executions",fullscreen:"Fullscreen",exitFullscreen:"Exit Fullscreen"},Ec={title:"No CLI Executions",description:"Select an execution from the sidebar or start a new CLI session to view output here.",action:"View Executions"},Fc={noTabs:"No tabs open",addTab:"Add tab",closeTab:"Close tab",pinTab:"Pin tab",unpinTab:"Unpin tab"},Nc={selectExecution:"Select Execution",searchExecutions:"Search executions...",noExecutions:"No executions available",noMatchingExecutions:"No matching executions",alreadyOpen:"Already open",executionCount:"{available} of {total} executions available"},Lc={splitHorizontal:"Split Horizontal",splitVertical:"Split Vertical",closePane:"Close Pane"},Mc="No active tab",Rc="Select a tab or start a new CLI execution",$c="Execution not found",Uc="Waiting for output...",Hc="No output",jc={page:Tc,layout:Ic,pane:Dc,toolbar:Ac,emptyState:Ec,tabs:Fc,picker:Nc,paneActions:Lc,noActiveTab:Mc,selectOrCreate:Rc,executionNotFound:$c,waitingForOutput:Uc,noOutput:Hc},Oc="Team Execution",qc="Visualize agent team execution status and message flow",Vc="Select Team",Bc="Select a team to view",Gc="Members",Wc="Messages",zc="Elapsed",Kc="Auto-refresh",Qc="Filter by type",_c="All Types",Jc="Stage",Yc={active:"Active",completed:"Completed",archived:"Archived"},Xc={active:"Active",archived:"Archived",all:"All"},Zc="Search teams...",ed={members:"Members",messages:"Messages",lastActivity:"Last Activity",created:"Created"},td={viewDetails:"View Details",archive:"Archive",unarchive:"Unarchive",delete:"Delete Team"},od={deleteTeam:"Delete Team",deleteConfirm:"This action cannot be undone. This will permanently delete the team and all its messages.",cancel:"Cancel",deleting:"Deleting..."},sd={backToList:"Back to Teams"},nd={artifacts:"Artifacts",messages:"Messages"},id={title:"Team Artifacts",plan:"Plan",impl:"Implementation",test:"Test",review:"Review",noArtifacts:"No artifacts found",viewFile:"View File",noRef:"Inline data"},ad={noTeams:"No Teams",noTeamsDescription:"Use /team:coordinate to create a team and start collaborating",noMatching:"No Matching Teams",noMatchingDescription:"Try adjusting your search or filter criteria"},ld={title:"No Active Teams",description:"Use /team:coordinate to create a team and start collaborating",noMessages:"No Messages Yet",noMessagesHint:"Team was just created, waiting for the first message"},rd={title:"Pipeline Progress",plan:"Plan",impl:"Implement",test:"Test",review:"Review",completed:"Completed",inProgress:"In Progress",pending:"Pending",blocked:"Blocked"},cd={title:"Team Members",active:"Active",idle:"Idle",lastAction:"Last Action",messageCount:"Messages",lastSeen:"Last Seen",ago:"ago"},dd={title:"Message Timeline",loadMore:"Load More",showing:"Showing {showing} / {total} messages",filterFrom:"From",filterTo:"To",filterType:"Type",clearFilters:"Clear Filters",expandData:"Expand Data",collapseData:"Collapse Data",noRef:"No reference"},ud={plan_ready:"Plan Ready",plan_approved:"Plan Approved",plan_revision:"Plan Revision",task_unblocked:"Task Unblocked",impl_complete:"Impl Complete",impl_progress:"Impl Progress",test_result:"Test Result",review_result:"Review Result",fix_required:"Fix Required",error:"Error",shutdown:"Shutdown",message:"Message"},md={title:Oc,description:qc,selectTeam:Vc,noTeamSelected:Bc,members:Gc,messages:Wc,elapsed:zc,autoRefresh:Kc,filterByType:Qc,filterAll:_c,stage:Jc,status:Yc,filters:Xc,searchPlaceholder:Zc,card:ed,actions:td,dialog:od,detail:sd,tabs:nd,artifacts:id,emptyState:ad,empty:ld,pipeline:rd,membersPanel:cd,timeline:dd,messageType:ud},pd={title:"Terminal Dashboard"},gd={sessions:"Sessions",workflow:"Workflow",terminal:"Terminal Workbench"},hd={title:"Dashboard KPI",activeSessions:"Active Sessions",queueSize:"Queue Size",alertCount:"Alerts",errorCount:"Errors",idleCount:"Idle"},fd={title:"Inspector",noSelection:"Select an item to view details",associationChain:"Association Chain"},yd={queueTab:"Queue",inspectorTab:"Inspector",collapse:"Collapse panel",expand:"Expand panel"},vd={createGroup:"New Group",groupNamePrompt:"Enter group name",defaultGroupName:"Untitled Group",emptyGroup:"No sessions in this group",noGroups:"No session groups yet",sessionCount:"{count} sessions",dragHint:"Drag sessions between groups"},Sd={title:"Agents",noAgents:"No active agents",stepLabel:"Step {current}/{total}",statusRunning:"Running",statusCompleted:"Completed",statusFailed:"Failed",statusPaused:"Paused",statusPending:"Pending"},Cd={title:"Issues",sendToQueue:"Send to Queue",addToQueue:"Queue",addToQueueHint:"Add selected issues to the execution queue",addedToQueue:"Queued!",addToQueueFailed:"Failed to add to queue",queueModeHint:"Execution mode for queued items",noIssues:"No issues found",noIssuesDesc:"Issues will appear here when discovered",error:"Failed to load issues"},bd={title:"Queue",noItems:"Queue is empty",noItemsDesc:"Send issues to queue to start workflow",error:"Failed to load queue",order:"#{order}",dependsOn:"Depends on: {deps}",blockedBy:"Blocked by: {deps}",status:{pending:"Pending",queued:"Queued",ready:"Ready",blocked:"Blocked",executing:"Executing",completed:"Completed",failed:"Failed",cancelled:"Cancelled",skipped:"Skipped"},scheduler:{start:"Start",pause:"Pause",stop:"Stop",status:{idle:"Idle",running:"Running",paused:"Paused",stopping:"Stopping",completed:"Completed",failed:"Failed"},progress:"{percent}%",concurrency:"Concurrency",concurrencyLabel:"Max",stopConfirmTitle:"Stop Queue?",stopConfirmMessage:"Executing tasks will finish, but no new tasks will be started. Pending items will remain in the queue."}},wd={sessions:"Sessions",issues:"Issues",queue:"Queue",inspector:"Inspector",files:"Files",layoutSingle:"Single",layoutSplitH:"Split Horizontal",layoutSplitV:"Split Vertical",layoutGrid:"Grid 2x2",launchCli:"New Session",launchCliHint:"Click to configure and create a new CLI session",fullscreen:"Fullscreen",orchestrator:"Orchestrator",scheduler:"Scheduler",executionMonitor:"Execution Monitor"},kd={sessionPool:"Session Pool",noSessions:"No active sessions"},Pd={noPlans:"No active orchestrations",noPlansHint:"Run a flow from the Orchestrator to see progress here"},xd={title:"Create CLI Session",description:"Configure tool, model, mode, shell, and working directory.",tag:"Session Name",tagPlaceholder:"e.g., gemini-143052",tagHint:"Auto-generated as {tool}-{time}. Used for grouping sessions.",regenerateTag:"Regenerate name",tool:"Tool",model:"Model",modelAuto:"Auto",mode:"Mode",modeDefault:"Default",modeYolo:"Yolo",shell:"Shell",workingDir:"Working Directory",workingDirPlaceholder:"e.g. /path/to/project",browse:"Browse",errors:{workingDirRequired:"Working directory is required.",createFailed:"Failed to create session."}},Td={title:"File Browser",open:"Open file browser",selected:"Selected file",noSelection:"No file selected",copyPath:"Copy path",copied:"Copied",insertPath:"Insert into terminal",loading:"Loading...",loadFailed:"Failed to load file tree",showHidden:"Toggle filtered files"},Id={title:"Files",refresh:"Refresh",collapse:"Collapse",noProject:"No project open",openProjectHint:"Open a project to browse files"},Dd={types:{workflowSession:"Workflow",liteSession:"Lite",claudeMd:"CLAUDE.md",ccwConfig:"CCW Config",issue:"Issue"}},Ad={selectSession:"Select a session",selectSessionHint:"Choose a terminal session from the dropdown",sessionNotFound:"Session no longer exists",sessionNotFoundHint:"The session may have been closed or the server restarted. Please select another session.",splitHorizontal:"Split Right",splitVertical:"Split Down",clearTerminal:"Clear Terminal",closePane:"Close Pane",closeSession:"Close Session",linkedIssue:"Linked Issue",restart:"Restart Session",pause:"Pause Session",resume:"Resume Session",backToTerminal:"Back to terminal",closeConfirmTitle:"Close Pane?",closeConfirmMessage:"The session will still exist and can be restored from the session tree.",closeConfirmAction:"Close Pane"},Ed={noTabs:"No terminal sessions"},Fd={noTerminal:"No terminal selected",noTerminalHint:"Select a session from the tab bar or create a new one",issuePreview:"Issue Preview",issuePreviewHint:"Select a terminal session or send this issue to the queue to begin work"},Nd={sessionTree:"Session groups will appear here",agentList:"Agent list will appear here",issuePanel:"Issue panel will appear here",queuePanel:"Queue panel will appear here",terminalWorkbench:"Terminal workbench will appear here",kpiBar:"KPI metrics will appear here",inspector:"Inspector details will appear here"},Ld={page:pd,columns:gd,kpi:hd,inspector:fd,bottomPanel:yd,sessionTree:vd,agentList:Sd,issuePanel:Cd,queuePanel:bd,toolbar:wd,schedulerPanel:kd,orchestratorPanel:Pd,cliConfig:xd,fileBrowser:Td,fileSidebar:Id,artifacts:Dd,pane:Ad,tabBar:Ed,workbench:Fd,placeholder:Nd},Md="Skill Hub",Rd="Discover and install shared skills from the community",$d="Links",Ud="Homepage",Hd="License",jd={remote:"Remote",local:"Local"},Od={installed:"Installed",updateAvailable:"Update Available"},qd={remote:"Remote",local:"Local",installed:"Installed"},Vd={remote:"Remote Skills",remoteDesc:"Available from community",local:"Local Skills",localDesc:"Shared locally",installed:"Installed",installedDesc:"Skills in use",updates:"Updates",updatesDesc:"New versions available"},Bd={placeholder:"Search skills..."},Gd={allCategories:"All Categories"},Wd={refresh:"Refresh",install:"Install",installing:"Installing...",update:"Update",uninstall:"Uninstall",viewDetails:"View Details"},zd={tags:"Tags",updated:"Updated: {date}"},Kd={success:"Skill '{name}' installed successfully",error:"Failed to install skill: {error}"},Qd={success:"Skill '{name}' uninstalled",error:"Failed to uninstall skill: {error}"},_d={success:"Skill list refreshed"},Jd={comingSoon:"Details view coming soon"},Yd={loadFailed:"Failed to load skills. Check network connection."},Xd={remote:{title:"No Remote Skills",description:"Remote skill repository is empty or unreachable."},local:{title:"No Local Skills",description:"Add skills to ~/.ccw/skill-hub/local/ to share them."},installed:{title:"No Installed Skills",description:"Install skills from Remote or Local tabs to use them."}},Zd="Installation Info",eu="Installed To",tu="Installed At",ou="Latest Version",su={title:Md,description:Rd,links:$d,homepage:Ud,license:Hd,source:jd,status:Od,tabs:qd,stats:Vd,search:Bd,filter:Gd,actions:Wd,card:zd,install:Kd,uninstall:Qd,refresh:_d,details:Jd,error:Yd,empty:Xd,installationInfo:Zd,installedTo:eu,installedAt:tu,latestVersion:ou},nu="Native Session",iu={total:"Total tokens",input:"Input tokens",output:"Output tokens",cached:"Cached tokens"},au={turnNumber:"Turn #{number}",tokens:{input:"Input: {count}",output:"Output: {count}",cached:"Cached: {count}"},toolCall:{completed:"completed",running:"running",error:"error",noData:"No data available"}},lu={latest:"Latest",thoughts:"Thoughts",toolCalls:"Tool Calls"},ru={input:"Input",output:"Output"},cu={startTime:"Start time",workingDir:"Working directory",projectHash:"Project hash",turns:"turns"},du="Total Tokens",uu="Loading session...",mu="Failed to load session",pu="No session data available",gu={copied:"Copied!",copySessionId:"Copy Session ID",exportJson:"Export JSON"},hu={title:nu,tokens:iu,timeline:au,turn:lu,toolCall:ru,meta:cu,tokenSummary:du,loading:uu,error:mu,empty:pu,footer:gu},fu="Spec Settings",yu="Manage specification injection, hooks, and system settings",vu="Project Specs",Su="Personal",Cu="Hooks",bu="Injection",wu="Settings",ku="Search specs...",Pu="Rebuild Index",xu="Loading...",Tu="No specs found. Create specs in .ccw/ directory.",Iu="required",Du={specs:"Project Specs",personal:"Personal",roadmap:"Roadmap",changelog:"Changelog"},Au={all:"All",global:"Global",project:"Project"},Eu="Filter by scope:",Fu="Workflow stage:",Nu={all:"All",general:"General",exploration:"Exploration",planning:"Planning",execution:"Execution"},Lu="Recommended Hooks",Mu="One-click install system-preset spec injection hooks",Ru="Install All Recommended Hooks",$u="Install All Hooks",Uu="All Hooks Installed",Hu="installed",ju="Manage Hooks",Ou="Event",qu="Scope",Vu="Install",Bu="Installed",Gu="Installing...",Wu="Installed Hooks",zu="Manage your installed hooks configuration",Ku="Search hooks...",Qu="No hooks installed. Install recommended hooks above.",_u={view:"View Content",edit:"Edit",delete:"Delete",reset:"Reset",save:"Save",saving:"Saving..."},Ju={enabled:"Enabled",disabled:"Disabled"},Yu={required:"Required",optional:"Optional"},Xu={critical:"Critical",high:"High",medium:"Medium",low:"Low"},Zu={edit:"Edit Spec",toggle:"Toggle Status",delete:"Delete Spec",deleteConfirm:"Are you sure you want to delete this spec?",title:"Spec Title",keywords:"Keywords",keywordsPlaceholder:"Enter keywords, separated by commas",readMode:"Read Mode",priority:"Priority",file:"File Path"},em={install:"Install",uninstall:"Uninstall",edit:"Edit Hook",toggle:"Toggle Status",delete:"Delete Hook",enabled:"Enabled",disabled:"Disabled",installed:"Installed",notInstalled:"Not Installed",scope:{global:"Global",project:"Project"},event:{SessionStart:"Session Start",UserPromptSubmit:"Prompt Submit",SessionEnd:"Session End"},name:"Hook Name",eventLabel:"Trigger Event",command:"Command",scopeLabel:"Scope",timeout:"Timeout (ms)",failMode:"Fail Mode",failModeContinue:"Continue",failModeBlock:"Block",failModeWarn:"Warn"},tm={dialog:{createTitle:"Create Hook",editTitle:"Edit Hook",description:"Configure hook trigger event, command, and other settings."},fields:{name:"Hook Name",event:"Trigger Event",scope:"Scope",command:"Command",description:"Description",timeout:"Timeout",timeoutUnit:"ms",failMode:"Failure Mode"},placeholders:{name:"Enter hook name",event:"Select event",command:"Enter command to execute",description:"Enter description (optional)"},events:{sessionStart:"Session Start",userPromptSubmit:"Prompt Submit",sessionEnd:"Session End"},scope:{global:"Global",project:"Project"},failModes:{continue:"Continue execution",warn:"Show warning",block:"Block operation"},validation:{nameRequired:"Name is required",commandRequired:"Command is required",timeoutMin:"Minimum timeout is 1000ms",timeoutMax:"Maximum timeout is 300000ms"}},om={hookEvents:"Select when this hook should be triggered",hookScope:"Global hooks apply to all projects, project hooks only to current project",hookCommand:"Command to execute, can use environment variables",hookTimeout:"Timeout for command execution",hookFailMode:"How to handle command execution failure"},sm={cancel:"Cancel",save:"Save",delete:"Delete",edit:"Edit",reset:"Reset",confirm:"Confirm",close:"Close"},nm={edit:"Edit",view:"View",metadata:"Metadata",markdownContent:"Markdown Content",noContent:"No content available",editHint:"Edit the full markdown content including frontmatter. Changes to frontmatter will be reflected in spec metadata.",placeholder:`# Spec Title
14
+
15
+ Content here...`},im={title:"Injection Control",statusTitle:"Current Injection Status",settingsTitle:"Injection Control Settings",settingsDescription:"Configure how spec content is injected into AI context.",currentLength:"Current Length",maxLength:"Max Injection Length (characters)",maxLengthHelp:"Recommended: 4000-10000. Too large may consume too much context; too small may truncate important specs.",warnThreshold:"Warn Threshold",warnThresholdLabel:"Warning Threshold (characters)",warnThresholdHelp:"A warning will be displayed when injection length exceeds this value.",percentage:"Usage",truncateOnExceed:"Truncate on Exceed",truncateHelp:"Automatically truncate content when it exceeds the maximum length.",overLimit:"Over Limit",overLimitDescription:"Current injection content exceeds maximum length of {max} characters. Excess content will be truncated.",warning:"Approaching Limit",normal:"Normal",characters:"characters",lines:"lines",maxLimit:"Max",quickPresets:"Quick presets:",statsInfo:"Statistics",requiredLength:"Required specs length:",matchedLength:"Keyword-matched length:",remaining:"Remaining space:",loadError:"Failed to load stats",saveSuccess:"Settings saved successfully",saveError:"Failed to save settings",filesList:"Injection Files",files:"files",noFiles:"No files match this command",loadingPreview:"Loading preview...",commandPreview:"Command Injection Preview",commandPreviewDesc:"Preview the content that would be injected by different CLI commands",previewTitle:"Injection Preview"},am={default:{label:"All Categories",description:"Load all required specs without category filter"},exploration:{label:"Exploration",description:"Specs for code exploration, analysis, debugging"},planning:{label:"Planning",description:"Specs for task planning, requirements"},execution:{label:"Execution",description:"Specs for implementation, testing, deployment"},general:{label:"General",description:"Specs that apply to all stages"}},lm={title:"Global Settings",description:"Configure personal spec defaults and system settings",personalSpecDefaults:"Personal Spec Defaults",personalSpecDefaultsDesc:"These settings will be applied when creating new personal specs",defaultReadMode:"Default Read Mode",defaultReadModeHelp:"The default read mode for newly created personal specs",selectReadMode:"Select read mode",autoEnable:"Auto Enable New Specs",autoEnableDescription:"New personal specs are set to required (readMode=required) by default and automatically included in context injection",specStatistics:"Spec Statistics",totalSpecs:"Total: {count} spec files",devProgressInjection:"Development Progress Injection",devProgressInjectionDesc:"Control how development progress from project-tech.json is injected into AI context",enableDevProgress:"Enable Injection",enableDevProgressDesc:"Include development history in AI context",maxEntries:"Max Entries per Category",maxEntriesDesc:"Maximum number of entries to include per category (1-50)",includeCategories:"Include Categories",categoriesDesc:"Click to toggle category inclusion",devProgressStats:"{total} entries from {sessions} sessions, last updated: {date}",devProgressStatsNoDate:"{total} entries from {sessions} sessions"},rm={feature:"Feature",enhancement:"Enhancement",bugfix:"Bug Fix",refactor:"Refactor",docs:"Docs"},cm={cancel:"Cancel",save:"Save",close:"Close",editSpec:"Edit Spec",editHook:"Edit Hook",confirmDelete:"Confirm Delete",specTitle:"Spec Title",keywords:"Keywords",readMode:"Read Mode",priority:"Priority",hookName:"Hook Name",hookEvent:"Trigger Event",hookCommand:"Command",hookScope:"Scope",hookTimeout:"Timeout (ms)",hookFailMode:"Fail Mode"},dm={readMode:"Read Mode",priority:"Priority",keywords:"Keywords"},um={pageTitle:fu,pageDescription:yu,tabProjectSpecs:vu,tabPersonalSpecs:Su,tabHooks:Cu,tabInjection:bu,tabSettings:wu,searchPlaceholder:ku,rebuildIndex:Pu,loading:xu,noSpecs:Tu,required:Iu,dimension:Du,scope:Au,filterByScope:Eu,filterByCategory:Fu,category:Nu,recommendedHooks:Lu,recommendedHooksDesc:Mu,installAll:Ru,installAllHooks:$u,allHooksInstalled:Uu,hooksInstalled:Hu,manageHooks:ju,hookEvent:Ou,hookScope:qu,install:Vu,installed:Bu,installing:Gu,installedHooks:Wu,installedHooksDesc:zu,searchHooks:Ku,noHooks:Qu,actions:_u,status:Ju,readMode:Yu,priority:Xu,spec:Zu,hook:em,hooks:tm,hints:om,common:sm,content:nm,injection:im,commandPreview:am,settings:lm,devCategory:rm,dialog:cm,form:dm};function e(n,i=""){const o={};for(const s in n){const a=i?`${i}.${s}`:s,t=n[s];typeof t=="object"&&t!==null&&!Array.isArray(t)?Object.assign(o,e(t,a)):typeof t=="string"&&(o[a]=t)}return o}const mm={...e(M,"common"),...e(V,"navigation"),...e(ee,"sessions"),...e(we,"issues"),...e($e,"home"),...e(nt,"orchestrator"),...e(ht,"loops"),...e(Dt,"commands"),...e(Vt,"memory"),...e(io,"settings"),...e(yo,"fixSession"),...e(No,"history"),...e(ns,"liteTasks"),...e(gs,"projectOverview"),...e(Ms,"reviewSession"),...e(Ws,"sessionDetail"),...e(hn,"skills"),...e(Pn,"cli-manager"),...e(li,"cliMonitor"),...e(Gi,"mcp"),...e(Ca,"codexlens"),...e(Na,"apiSettings"),...e(_a,"theme"),...e(vl,"cliHooks"),...e(sl,"executionMonitor"),...e(Dl,"index"),...e(Ol,"rules"),...e(ar,"prompts"),...e(fr,"explorer"),...e(Dr,"graph"),...e($r,"notificationPanel"),...e(cc,"notifications"),...e(gc,"workspace"),...e(xc,"help"),...e(jc,"cliViewer"),...e(md,"team"),...e(Ld,"terminalDashboard"),...e(su,"skillHub"),...e(hu,"nativeSession"),...e(um,"specs")};export{mm as default};
16
+ //# sourceMappingURL=index-Dxu1sw9t.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Dxu1sw9t.js","sources":["../../src/locales/en/index.ts"],"sourcesContent":["/**\r\n * English translations\r\n * Consolidated exports for all English translation files\r\n */\r\n\r\nimport common from './common.json';\r\nimport navigation from './navigation.json';\r\nimport sessions from './sessions.json';\r\nimport issues from './issues.json';\r\nimport home from './home.json';\r\nimport orchestrator from './orchestrator.json';\r\nimport loops from './loops.json';\r\nimport commands from './commands.json';\r\nimport memory from './memory.json';\r\nimport settings from './settings.json';\r\nimport fixSession from './fix-session.json';\r\nimport history from './history.json';\r\nimport liteTasks from './lite-tasks.json';\r\nimport projectOverview from './project-overview.json';\r\nimport reviewSession from './review-session.json';\r\nimport sessionDetail from './session-detail.json';\r\nimport skills from './skills.json';\r\nimport cliManager from './cli-manager.json';\r\nimport cliMonitor from './cli-monitor.json';\r\nimport mcpManager from './mcp-manager.json';\r\nimport codexlens from './codexlens.json';\r\nimport apiSettings from './api-settings.json';\r\nimport theme from './theme.json';\r\nimport executionMonitor from './execution-monitor.json';\r\nimport cliHooks from './cli-hooks.json';\r\nimport index from './index.json';\r\nimport rules from './rules.json';\r\nimport prompts from './prompts.json';\r\nimport explorer from './explorer.json';\r\nimport graph from './graph.json';\r\nimport notification from './notification.json';\r\nimport notifications from './notifications.json';\r\nimport workspace from './workspace.json';\r\nimport help from './help.json';\r\nimport cliViewer from './cli-viewer.json';\r\nimport team from './team.json';\r\nimport terminalDashboard from './terminal-dashboard.json';\r\nimport skillHub from './skill-hub.json';\r\nimport nativeSession from './native-session.json';\r\nimport specs from './specs.json';\r\n\r\n/**\r\n * Flattens nested JSON object to dot-separated keys\r\n * e.g., { actions: { save: 'Save' } } => { 'actions.save': 'Save' }\r\n */\r\nfunction flattenMessages(obj: Record<string, unknown>, prefix = ''): Record<string, string> {\r\n const result: Record<string, string> = {};\r\n\r\n for (const key in obj) {\r\n const fullKey = prefix ? `${prefix}.${key}` : key;\r\n const value = obj[key];\r\n\r\n if (typeof value === 'object' && value !== null && !Array.isArray(value)) {\r\n Object.assign(result, flattenMessages(value as Record<string, unknown>, fullKey));\r\n } else if (typeof value === 'string') {\r\n result[fullKey] = value;\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Consolidated and flattened English messages\r\n */\r\nexport default {\r\n ...flattenMessages(common, 'common'),\r\n ...flattenMessages(navigation, 'navigation'),\r\n ...flattenMessages(sessions, 'sessions'),\r\n ...flattenMessages(issues, 'issues'),\r\n ...flattenMessages(home, 'home'),\r\n ...flattenMessages(orchestrator, 'orchestrator'),\r\n ...flattenMessages(loops, 'loops'),\r\n ...flattenMessages(commands, 'commands'),\r\n ...flattenMessages(memory, 'memory'),\r\n ...flattenMessages(settings, 'settings'),\r\n ...flattenMessages(fixSession, 'fixSession'),\r\n ...flattenMessages(history, 'history'),\r\n ...flattenMessages(liteTasks, 'liteTasks'),\r\n ...flattenMessages(projectOverview, 'projectOverview'),\r\n ...flattenMessages(reviewSession, 'reviewSession'),\r\n ...flattenMessages(sessionDetail, 'sessionDetail'),\r\n ...flattenMessages(skills, 'skills'),\r\n ...flattenMessages(cliManager, 'cli-manager'),\r\n ...flattenMessages(cliMonitor, 'cliMonitor'),\r\n ...flattenMessages(mcpManager, 'mcp'),\r\n ...flattenMessages(codexlens, 'codexlens'),\r\n ...flattenMessages(apiSettings, 'apiSettings'),\r\n ...flattenMessages(theme, 'theme'),\r\n ...flattenMessages(cliHooks, 'cliHooks'),\r\n ...flattenMessages(executionMonitor, 'executionMonitor'),\r\n ...flattenMessages(index, 'index'),\r\n ...flattenMessages(rules, 'rules'),\r\n ...flattenMessages(prompts, 'prompts'),\r\n ...flattenMessages(explorer, 'explorer'),\r\n ...flattenMessages(graph, 'graph'),\r\n ...flattenMessages(notification, 'notificationPanel'),\r\n ...flattenMessages(notifications, 'notifications'),\r\n ...flattenMessages(workspace, 'workspace'),\r\n ...flattenMessages(help, 'help'),\r\n ...flattenMessages(cliViewer, 'cliViewer'),\r\n ...flattenMessages(team, 'team'),\r\n ...flattenMessages(terminalDashboard, 'terminalDashboard'),\r\n ...flattenMessages(skillHub, 'skillHub'),\r\n ...flattenMessages(nativeSession, 'nativeSession'),\r\n ...flattenMessages(specs, 'specs'),\r\n} as Record<string, string>;\r\n"],"names":["flattenMessages","obj","prefix","result","key","fullKey","value","index","common","navigation","sessions","issues","home","orchestrator","loops","commands","memory","settings","fixSession","history","liteTasks","projectOverview","reviewSession","sessionDetail","skills","cliManager","cliMonitor","mcpManager","codexlens","apiSettings","theme","cliHooks","executionMonitor","rules","prompts","explorer","graph","notification","notifications","workspace","help","cliViewer","team","terminalDashboard","skillHub","nativeSession","specs"],"mappings":";;;;;;;;;;;;;;2zIAkDA,SAASA,EAAgBC,EAA8BC,EAAS,GAA4B,CAC1F,MAAMC,EAAiC,CAAA,EAEvC,UAAWC,KAAOH,EAAK,CACrB,MAAMI,EAAUH,EAAS,GAAGA,CAAM,IAAIE,CAAG,GAAKA,EACxCE,EAAQL,EAAIG,CAAG,EAEjB,OAAOE,GAAU,UAAYA,IAAU,MAAQ,CAAC,MAAM,QAAQA,CAAK,EACrE,OAAO,OAAOH,EAAQH,EAAgBM,EAAkCD,CAAO,CAAC,EACvE,OAAOC,GAAU,WAC1BH,EAAOE,CAAO,EAAIC,EAEtB,CAEA,OAAOH,CACT,CAKA,MAAAI,GAAe,CACb,GAAGP,EAAgBQ,EAAQ,QAAQ,EACnC,GAAGR,EAAgBS,EAAY,YAAY,EAC3C,GAAGT,EAAgBU,GAAU,UAAU,EACvC,GAAGV,EAAgBW,GAAQ,QAAQ,EACnC,GAAGX,EAAgBY,GAAM,MAAM,EAC/B,GAAGZ,EAAgBa,GAAc,cAAc,EAC/C,GAAGb,EAAgBc,GAAO,OAAO,EACjC,GAAGd,EAAgBe,GAAU,UAAU,EACvC,GAAGf,EAAgBgB,GAAQ,QAAQ,EACnC,GAAGhB,EAAgBiB,GAAU,UAAU,EACvC,GAAGjB,EAAgBkB,GAAY,YAAY,EAC3C,GAAGlB,EAAgBmB,GAAS,SAAS,EACrC,GAAGnB,EAAgBoB,GAAW,WAAW,EACzC,GAAGpB,EAAgBqB,GAAiB,iBAAiB,EACrD,GAAGrB,EAAgBsB,GAAe,eAAe,EACjD,GAAGtB,EAAgBuB,GAAe,eAAe,EACjD,GAAGvB,EAAgBwB,GAAQ,QAAQ,EACnC,GAAGxB,EAAgByB,GAAY,aAAa,EAC5C,GAAGzB,EAAgB0B,GAAY,YAAY,EAC3C,GAAG1B,EAAgB2B,GAAY,KAAK,EACpC,GAAG3B,EAAgB4B,GAAW,WAAW,EACzC,GAAG5B,EAAgB6B,GAAa,aAAa,EAC7C,GAAG7B,EAAgB8B,GAAO,OAAO,EACjC,GAAG9B,EAAgB+B,GAAU,UAAU,EACvC,GAAG/B,EAAgBgC,GAAkB,kBAAkB,EACvD,GAAGhC,EAAgBO,GAAO,OAAO,EACjC,GAAGP,EAAgBiC,GAAO,OAAO,EACjC,GAAGjC,EAAgBkC,GAAS,SAAS,EACrC,GAAGlC,EAAgBmC,GAAU,UAAU,EACvC,GAAGnC,EAAgBoC,GAAO,OAAO,EACjC,GAAGpC,EAAgBqC,GAAc,mBAAmB,EACpD,GAAGrC,EAAgBsC,GAAe,eAAe,EACjD,GAAGtC,EAAgBuC,GAAW,WAAW,EACzC,GAAGvC,EAAgBwC,GAAM,MAAM,EAC/B,GAAGxC,EAAgByC,GAAW,WAAW,EACzC,GAAGzC,EAAgB0C,GAAM,MAAM,EAC/B,GAAG1C,EAAgB2C,GAAmB,mBAAmB,EACzD,GAAG3C,EAAgB4C,GAAU,UAAU,EACvC,GAAG5C,EAAgB6C,GAAe,eAAe,EACjD,GAAG7C,EAAgB8C,GAAO,OAAO,CACnC"}
@@ -0,0 +1,2 @@
1
+ (function(){"use strict";const a=[{pattern:/error|failed|exception/i,severity:"critical",label:"error keyword"}],o=6e4,c=15e3,n=new Map;function i(t){let e=n.get(t);return e||(e={lastActivity:Date.now(),alertCount:0,stallAlerted:!1},n.set(t,e)),e}function r(t){self.postMessage(t)}function u(t,e){const l=i(t);l.lastActivity=Date.now(),l.stallAlerted=!1;for(const s of a)if(s.pattern.test(e)){l.alertCount++,r({type:"alert",sessionId:t,severity:s.severity,message:`Detected ${s.label} in output`});break}}function f(){const t=Date.now();n.forEach((e,l)=>{if(e.stallAlerted)return;const s=t-e.lastActivity;if(s>o){e.stallAlerted=!0,e.alertCount++;const d=Math.floor(s/1e3);r({type:"alert",sessionId:l,severity:"warning",message:`Session stalled: no output for ${d}s`})}})}self.onmessage=t=>{const e=t.data;switch(e.type){case"output":u(e.sessionId,e.text);break;case"reset":n.delete(e.sessionId);break}};const p=setInterval(f,c);self.addEventListener("close",()=>{clearInterval(p)})})();
2
+ //# sourceMappingURL=monitor.worker-CVRNUIeJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitor.worker-CVRNUIeJ.js","sources":["../src/workers/monitor.worker.ts"],"sourcesContent":["// ========================================\n// Monitor Web Worker\n// ========================================\n// Off-main-thread rule-based output analysis for terminal sessions.\n// MVP rules:\n// 1. Keyword matching: /error|failed|exception/i -> critical alert\n// 2. Stall detection: no output for > 60s -> warning alert\n//\n// Message protocol:\n// IN: { type: 'output', sessionId: string, text: string }\n// IN: { type: 'reset', sessionId: string } -- reset session tracking\n// OUT: { type: 'alert', sessionId: string, severity: string, message: string }\n\n// ========== Types ==========\n\ninterface OutputMessage {\n type: 'output';\n sessionId: string;\n text: string;\n}\n\ninterface ResetMessage {\n type: 'reset';\n sessionId: string;\n}\n\ntype IncomingMessage = OutputMessage | ResetMessage;\n\ninterface AlertMessage {\n type: 'alert';\n sessionId: string;\n severity: 'critical' | 'warning';\n message: string;\n}\n\ninterface KeywordRule {\n pattern: RegExp;\n severity: 'critical' | 'warning';\n label: string;\n}\n\ninterface SessionState {\n lastActivity: number;\n alertCount: number;\n /** Track stall alert to avoid repeated notifications per stall period */\n stallAlerted: boolean;\n}\n\n// ========== Rules ==========\n\nconst KEYWORD_RULES: KeywordRule[] = [\n {\n pattern: /error|failed|exception/i,\n severity: 'critical',\n label: 'error keyword',\n },\n];\n\n/** Stall threshold in milliseconds (60 seconds) */\nconst STALL_THRESHOLD_MS = 60_000;\n\n/** Stall check interval in milliseconds (15 seconds) */\nconst STALL_CHECK_INTERVAL_MS = 15_000;\n\n// ========== State ==========\n\nconst sessions = new Map<string, SessionState>();\n\n// ========== Helpers ==========\n\nfunction getOrCreateSession(sessionId: string): SessionState {\n let state = sessions.get(sessionId);\n if (!state) {\n state = {\n lastActivity: Date.now(),\n alertCount: 0,\n stallAlerted: false,\n };\n sessions.set(sessionId, state);\n }\n return state;\n}\n\nfunction postAlert(alert: AlertMessage): void {\n self.postMessage(alert);\n}\n\n// ========== Output Processing ==========\n\nfunction processOutput(sessionId: string, text: string): void {\n const state = getOrCreateSession(sessionId);\n state.lastActivity = Date.now();\n // Reset stall alert flag on new output\n state.stallAlerted = false;\n\n // Run keyword rules against text\n for (const rule of KEYWORD_RULES) {\n if (rule.pattern.test(text)) {\n state.alertCount++;\n postAlert({\n type: 'alert',\n sessionId,\n severity: rule.severity,\n message: `Detected ${rule.label} in output`,\n });\n // Only report first matching rule per chunk to avoid alert flood\n break;\n }\n }\n}\n\n// ========== Stall Detection ==========\n\nfunction checkStalls(): void {\n const now = Date.now();\n sessions.forEach((state, sessionId) => {\n if (state.stallAlerted) return;\n const elapsed = now - state.lastActivity;\n if (elapsed > STALL_THRESHOLD_MS) {\n state.stallAlerted = true;\n state.alertCount++;\n const seconds = Math.floor(elapsed / 1000);\n postAlert({\n type: 'alert',\n sessionId,\n severity: 'warning',\n message: `Session stalled: no output for ${seconds}s`,\n });\n }\n });\n}\n\n// ========== Message Handler ==========\n\nself.onmessage = (event: MessageEvent<IncomingMessage>) => {\n const msg = event.data;\n switch (msg.type) {\n case 'output':\n processOutput(msg.sessionId, msg.text);\n break;\n case 'reset':\n sessions.delete(msg.sessionId);\n break;\n }\n};\n\n// ========== Periodic Stall Check ==========\n\nconst _stallInterval = setInterval(checkStalls, STALL_CHECK_INTERVAL_MS);\n\n// Cleanup on worker termination (best-effort)\nself.addEventListener('close', () => {\n clearInterval(_stallInterval);\n});\n"],"names":["KEYWORD_RULES","STALL_THRESHOLD_MS","STALL_CHECK_INTERVAL_MS","sessions","getOrCreateSession","sessionId","state","postAlert","alert","processOutput","text","rule","checkStalls","now","elapsed","seconds","event","msg","_stallInterval"],"mappings":"yBAkDA,MAAMA,EAA+B,CACnC,CACE,QAAS,0BACT,SAAU,WACV,MAAO,eAAA,CAEX,EAGMC,EAAqB,IAGrBC,EAA0B,KAI1BC,MAAe,IAIrB,SAASC,EAAmBC,EAAiC,CAC3D,IAAIC,EAAQH,EAAS,IAAIE,CAAS,EAClC,OAAKC,IACHA,EAAQ,CACN,aAAc,KAAK,IAAA,EACnB,WAAY,EACZ,aAAc,EAAA,EAEhBH,EAAS,IAAIE,EAAWC,CAAK,GAExBA,CACT,CAEA,SAASC,EAAUC,EAA2B,CAC5C,KAAK,YAAYA,CAAK,CACxB,CAIA,SAASC,EAAcJ,EAAmBK,EAAoB,CAC5D,MAAMJ,EAAQF,EAAmBC,CAAS,EAC1CC,EAAM,aAAe,KAAK,IAAA,EAE1BA,EAAM,aAAe,GAGrB,UAAWK,KAAQX,EACjB,GAAIW,EAAK,QAAQ,KAAKD,CAAI,EAAG,CAC3BJ,EAAM,aACNC,EAAU,CACR,KAAM,QACN,UAAAF,EACA,SAAUM,EAAK,SACf,QAAS,YAAYA,EAAK,KAAK,YAAA,CAChC,EAED,KACF,CAEJ,CAIA,SAASC,GAAoB,CAC3B,MAAMC,EAAM,KAAK,IAAA,EACjBV,EAAS,QAAQ,CAACG,EAAOD,IAAc,CACrC,GAAIC,EAAM,aAAc,OACxB,MAAMQ,EAAUD,EAAMP,EAAM,aAC5B,GAAIQ,EAAUb,EAAoB,CAChCK,EAAM,aAAe,GACrBA,EAAM,aACN,MAAMS,EAAU,KAAK,MAAMD,EAAU,GAAI,EACzCP,EAAU,CACR,KAAM,QACN,UAAAF,EACA,SAAU,UACV,QAAS,kCAAkCU,CAAO,GAAA,CACnD,CACH,CACF,CAAC,CACH,CAIA,KAAK,UAAaC,GAAyC,CACzD,MAAMC,EAAMD,EAAM,KAClB,OAAQC,EAAI,KAAA,CACV,IAAK,SACHR,EAAcQ,EAAI,UAAWA,EAAI,IAAI,EACrC,MACF,IAAK,QACHd,EAAS,OAAOc,EAAI,SAAS,EAC7B,KAAA,CAEN,EAIA,MAAMC,EAAiB,YAAYN,EAAaV,CAAuB,EAGvE,KAAK,iBAAiB,QAAS,IAAM,CACnC,cAAcgB,CAAc,CAC9B,CAAC"}
@@ -0,0 +1,17 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en" data-theme="light">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <!-- Preconnect to Google Fonts for faster font loading -->
8
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
+ <title>CCW Dashboard</title>
11
+ <script type="module" crossorigin src="/assets/index-B0X7v-kT.js"></script>
12
+ <link rel="stylesheet" crossorigin href="/assets/index-C-5AfpJE.css">
13
+ </head>
14
+ <body class="font-sans bg-background text-foreground antialiased">
15
+ <div id="root"></div>
16
+ </body>
17
+ </html>