@wrongstack/webui 1.0.3 → 1.0.4

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 (96) hide show
  1. package/dist/assets/AgentRosterView-CoD9SgNh.js +12 -0
  2. package/dist/assets/{AnalyticsDashboard-cR9JJBI8.js → AnalyticsDashboard-SAH8yxTa.js} +1 -1
  3. package/dist/assets/{AudienceMemoryPanel-DyP-vZA-.js → AudienceMemoryPanel-C_JHPr_q.js} +2 -2
  4. package/dist/assets/{ChangesView-DY2KWV9y.js → ChangesView-BRdNlV9e.js} +1 -1
  5. package/dist/assets/{ChimeraReviewsView-nLzoGYHL.js → ChimeraReviewsView-B8ecsRM9.js} +1 -1
  6. package/dist/assets/ChronicleDashboard-B2qq4Ax7.js +1 -0
  7. package/dist/assets/CodeEditor-B-zhjWYw.js +2 -0
  8. package/dist/assets/CodeMap-BgOJwRYK.js +1 -0
  9. package/dist/assets/{CronJobsPanel-xM7j0r4p.js → CronJobsPanel-CsbjBcuL.js} +1 -1
  10. package/dist/assets/{DeadCodeScanPanel-DWsSzjSp.js → DeadCodeScanPanel-CSr2alPo.js} +1 -1
  11. package/dist/assets/{DebugDashboard-D9DoHsUb.js → DebugDashboard-Ctw40UDW.js} +1 -1
  12. package/dist/assets/{DesignGalleryView-C2SBhANT.js → DesignGalleryView-DFMq7qzt.js} +1 -1
  13. package/dist/assets/{GoalView-u24_HH2B.js → GoalView-CHO3i5LQ.js} +1 -1
  14. package/dist/assets/KanbanView-DxCgCuzq.js +3 -0
  15. package/dist/assets/{MailboxDetailView-POq0LIQF.js → MailboxDetailView-CjOZymFt.js} +1 -1
  16. package/dist/assets/{MemoryDrawer-B4aW4mVs.js → MemoryDrawer-DlTa24j0.js} +1 -1
  17. package/dist/assets/MemoryManager-BvhuaBnp.js +1 -0
  18. package/dist/assets/{ProcessMonitor-9clcCd5a.js → ProcessMonitor-BB1j59e7.js} +1 -1
  19. package/dist/assets/{PromptJournalView-DiinN7LV.js → PromptJournalView-BxhsHl73.js} +1 -1
  20. package/dist/assets/{QueuePanel-DxHkfNun.js → QueuePanel-SirB3W9f.js} +1 -1
  21. package/dist/assets/{RefreshDebugView-DuRu5_AZ.js → RefreshDebugView-DVUmjUXS.js} +1 -1
  22. package/dist/assets/RepositoryHistoryView-Cr-UBUel.js +2 -0
  23. package/dist/assets/{RequirementIntakeView-BE1ZpNh1.js → RequirementIntakeView-BkztR0C2.js} +1 -1
  24. package/dist/assets/{SageTabs-DdwqvEQL.js → SageTabs-Bb04xdXQ.js} +2 -2
  25. package/dist/assets/{SddFlowGraph-DcUtqxxR.js → SddFlowGraph-dcuamshO.js} +1 -1
  26. package/dist/assets/SddHub-E6nNmKTl.js +2 -0
  27. package/dist/assets/{SessionInspectView-d9NH-E5d.js → SessionInspectView-M3HH5k-z.js} +1 -1
  28. package/dist/assets/SessionList-BkRdBhqJ.js +1 -0
  29. package/dist/assets/{SessionsDashboard-CvlpSVyY.js → SessionsDashboard-BW_sONY5.js} +1 -1
  30. package/dist/assets/SetupScreen-CoQOGYNC.js +1 -0
  31. package/dist/assets/SkillDetailView-3YHXo_2F.js +3 -0
  32. package/dist/assets/TechStackView-Bs8OpeDl.js +2 -0
  33. package/dist/assets/{TerminalPanel-BWr1bOrP.js → TerminalPanel-Mv04uw-A.js} +1 -1
  34. package/dist/assets/{activity-CwnkusGI.js → activity-B9cZQdVv.js} +1 -1
  35. package/dist/assets/{activity-C-Y-_UKp.js → activity-ByjzcTzj.js} +1 -1
  36. package/dist/assets/{activity-sgjix1RN.js → activity-ClXUH80G.js} +1 -1
  37. package/dist/assets/{activity-DSr_k7lf.js → activity-DBsqMkAC.js} +1 -1
  38. package/dist/assets/{activity-IxF62i-n.js → activity-DFMEXTAP.js} +1 -1
  39. package/dist/assets/{activity-D4XDbREq.js → activity-KXlU1-QD.js} +1 -1
  40. package/dist/assets/{activity-NKeG9bGy.js → activity-PRYzlsxa.js} +1 -1
  41. package/dist/assets/{button-BIFXNDDY.js → button-Bv5PYkY5.js} +1 -1
  42. package/dist/assets/{dialog-DT8I6gze.js → dialog-DyGu9hTX.js} +1 -1
  43. package/dist/assets/{empty-state-DtseAzny.js → empty-state-Dy__H8vX.js} +1 -1
  44. package/dist/assets/i18n-CEYnEdVi.js +2 -0
  45. package/dist/assets/index-VSjrOYGx.css +1 -0
  46. package/dist/assets/{index-CbwgQF8l.js → index-r9OdFrxf.js} +79 -79
  47. package/dist/assets/{input-DE1O73TJ.js → input-DdFYcw53.js} +1 -1
  48. package/dist/assets/{roster-ws--cUKX8Eo.js → roster-ws-BDcOlcE2.js} +1 -1
  49. package/dist/assets/settings-AxDNIcz1.js +1 -0
  50. package/dist/assets/settings-BcejxgTD.js +1 -0
  51. package/dist/assets/settings-CAfe70nd.js +1 -0
  52. package/dist/assets/settings-CxqeEzzD.js +1 -0
  53. package/dist/assets/settings-D90wMI-3.js +1 -0
  54. package/dist/assets/settings-DKSmPD2M.js +1 -0
  55. package/dist/assets/settings-DWXLaAFN.js +1 -0
  56. package/dist/assets/{shared-k2sZgl6A.js → shared-hOwESeA9.js} +1 -1
  57. package/dist/assets/ui-store-vtaLeTKu.js +1 -0
  58. package/dist/assets/{utils-CmY0Pw1m.js → utils-YeTxmVPQ.js} +1 -1
  59. package/dist/assets/{vector-memory-panel-UsWhpyqi.js → vector-memory-panel-BK3Q4TEg.js} +1 -1
  60. package/dist/assets/{vendor-DcnGbJ82.js → vendor-CkMYDhDf.js} +27 -27
  61. package/dist/assets/{ws-client-DitX7fid.js → ws-client-BG2ZSPmv.js} +4 -4
  62. package/dist/components/ContextBreakdownModal.d.ts +1 -1
  63. package/dist/components/FallbackModal.d.ts +1 -1
  64. package/dist/components/RepositoryHistoryView.d.ts +21 -0
  65. package/dist/components/SettingsPanel/YoloConfirmList.d.ts +21 -0
  66. package/dist/index.html +10 -10
  67. package/dist/index.js +12286 -11125
  68. package/dist/lib/view-navigation.d.ts +1 -1
  69. package/dist/lib/ws-client-domain-methods.d.ts +7 -0
  70. package/dist/stores/local-prefs.d.ts +9 -0
  71. package/dist/stores/ui-store-types.d.ts +1 -1
  72. package/dist/types/client-message.d.ts +20 -0
  73. package/dist/types/connections.d.ts +1 -1
  74. package/dist/types/server-message-files.d.ts +57 -0
  75. package/package.json +9 -9
  76. package/dist/assets/AgentRosterView-BVjk_vTm.js +0 -12
  77. package/dist/assets/ChronicleDashboard-D4O8L9vh.js +0 -1
  78. package/dist/assets/CodeEditor-BZCXLxnq.js +0 -2
  79. package/dist/assets/CodeMap-CBAbAWkc.js +0 -1
  80. package/dist/assets/KanbanView-BfrSarZw.js +0 -3
  81. package/dist/assets/MemoryManager-BAe2zkyG.js +0 -1
  82. package/dist/assets/SddHub-DYCzKYUr.js +0 -2
  83. package/dist/assets/SessionList-DP_TUCns.js +0 -1
  84. package/dist/assets/SetupScreen-3_DYzzKv.js +0 -1
  85. package/dist/assets/SkillDetailView-BTuq1wJm.js +0 -3
  86. package/dist/assets/TechStackView-CQHW3en0.js +0 -2
  87. package/dist/assets/i18n-Dq2jJcme.js +0 -2
  88. package/dist/assets/index-Cg_zbV9k.css +0 -1
  89. package/dist/assets/settings-B1vpPbTt.js +0 -1
  90. package/dist/assets/settings-BZnHCnGT.js +0 -1
  91. package/dist/assets/settings-BcB2BIE2.js +0 -1
  92. package/dist/assets/settings-D9AQ5wLT.js +0 -1
  93. package/dist/assets/settings-DiVpBZQ2.js +0 -1
  94. package/dist/assets/settings-DwbEJvxt.js +0 -1
  95. package/dist/assets/settings-WuyKla3E.js +0 -1
  96. package/dist/assets/ui-store-BPQ-dcnY.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{et as t}from"./ws-client-BG2ZSPmv.js";import{i as n,t as r}from"./react-core-D0Ec-185.js";import{$n as i,Ct as a,Da as o,Dr as s,Ei as c,Et as l,Gi as u,Ji as d,K as f,Kn as p,Kt as m,La as h,Nt as g,Ri as _,Sr as v,Vt as ee,Xr as y,_t as b,dn as x,ft as S,gn as te,hn as C,la as w,li as T,lt as E,mr as D,n as ne,na as O,ni as re,qi as ie,sn as k,ta as ae,tn as A,wn as oe,xa as se}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{a as j,h as M,n as ce,r as N,t as le,u as ue}from"./xyflow-BlkaZTzI.js";import{t as P}from"./utils-YeTxmVPQ.js";import{n as de}from"./ui-store-vtaLeTKu.js";import{a as F,i as fe,n as pe,o as I,r as L,t as R}from"./dialog-DyGu9hTX.js";import{t as z}from"./button-Bv5PYkY5.js";import{t as B}from"./input-DdFYcw53.js";import{P as me,v as he}from"./index-r9OdFrxf.js";import{t as V}from"./roster-ws-BDcOlcE2.js";import{_ as ge,a as _e,b as ve,c as ye,d as be,f as xe,g as H,h as Se,i as Ce,l as we,m as U,n as Te,o as Ee,p as De,r as Oe,s as ke,t as Ae,u as je,v as Me,y as W}from"./shared-hOwESeA9.js";import{t as Ne}from"./MemoryDrawer-DlTa24j0.js";var G=r();function Pe({busyAction:e,deletingId:t,memory:n,onCancel:r,onConfirm:i,onOpenChange:a}){let{t:o}=h();return(0,G.jsx)(R,{open:!!t,onOpenChange:a,children:(0,G.jsxs)(pe,{className:`max-w-md`,children:[(0,G.jsxs)(F,{children:[(0,G.jsx)(`span`,{className:`mb-2 flex size-10 items-center justify-center border border-destructive/35 bg-destructive/10 text-destructive`,children:(0,G.jsx)(S,{className:`size-4`})}),(0,G.jsx)(I,{children:o(`activity:memoryManager.deleteTitle`)}),(0,G.jsx)(L,{className:`leading-6`,children:o(`activity:deleteMemoryDialog.sageWillMarkTheRecordDeleted`)})]}),(0,G.jsx)(`div`,{className:`border border-border/70 bg-background/45 p-3 text-xs text-muted-foreground`,children:H(n?.text??``,180)}),(0,G.jsxs)(fe,{children:[(0,G.jsx)(z,{variant:`outline`,onClick:r,disabled:e===`delete`,children:o(`common:action.cancel`)}),(0,G.jsxs)(z,{variant:`destructive`,onClick:i,disabled:e===`delete`,children:[e===`delete`?(0,G.jsx)(p,{className:`size-4 animate-spin`}):(0,G.jsx)(S,{className:`size-4`}),o(e===`delete`?`activity:memoryManager.deletingLabel`:`activity:memoryManager.actionDeleteMemory`)]})]})]})})}var K=e(n(),1),Fe=212,Ie=188;function Le(e){return e.length>14?`${e.slice(0,11)}…`:e}function Re(e,t=58){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t-1)}…`:n}function ze(e){return e.type===`symbol`?[e.path,e.symbol?`#${e.symbol}`:``].filter(Boolean).join(``):e.path??e.command??e.symbol??e.role??e.type}function q(e){return e===`active`?`border-success/45 bg-success/10 text-success`:e===`stale`?`border-warning/45 bg-warning/10 text-warning`:e===`contradicted`?`border-destructive/45 bg-destructive/10 text-destructive`:e===`superseded`?`border-warning/35 bg-warning/5 text-warning`:`border-border bg-muted/55 text-muted-foreground`}function J({data:e}){let{entry:t,center:n}=e;return(0,G.jsxs)(`div`,{className:n?`border border-primary/70 bg-card px-3 py-2.5 text-card-foreground shadow-[0_0_0_1px_hsl(var(--primary)/0.2),0_0_24px_hsl(var(--primary)/0.12)]`:`border border-border/80 bg-card/95 px-3 py-2.5 text-card-foreground shadow-lg`,style:{width:Fe},title:t.text,children:[(0,G.jsx)(j,{type:`target`,position:M.Top,className:`!border-background !bg-muted-foreground`}),(0,G.jsx)(j,{type:`source`,position:M.Bottom,className:`!border-background !bg-primary`}),(0,G.jsx)(j,{type:`source`,position:M.Right,className:`!border-background !bg-primary`}),(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`border px-1.5 py-0.5 text-[9px] font-bold uppercase ${q(t.status)}`,children:t.status}),(0,G.jsx)(`span`,{className:`ml-auto truncate font-mono text-[9px] text-muted-foreground`,children:Le(t.id)})]}),(0,G.jsx)(`p`,{className:`mt-2 line-clamp-2 text-[11px] leading-4 text-foreground/90`,children:Re(t.text)}),(0,G.jsx)(`p`,{className:`mt-1 font-mono text-[9px] uppercase text-muted-foreground`,children:t.kind})]})}function Be({data:e}){return(0,G.jsxs)(`div`,{className:`border border-info/40 bg-info/8 px-2.5 py-2 text-card-foreground shadow-lg`,style:{width:Ie},title:e.label,children:[(0,G.jsx)(j,{type:`target`,position:M.Left,className:`!border-background !bg-info`}),(0,G.jsx)(`p`,{className:`font-mono text-[9px] font-bold uppercase text-info`,children:e.anchor.type}),(0,G.jsx)(`p`,{className:`mt-1 truncate font-mono text-[10px] text-foreground/85`,children:e.label})]})}var Y={memoryNode:J,anchorNode:Be};function Ve(e,t){return{id:e,revision:0,scope:`project`,kind:`fact`,status:`deleted`,text:t(`activity:memoryManager.memoryUnavailable`),importance:0,confidence:0,freshness:0,tags:[],anchors:[],createdAt:``,updatedAt:``}}function X({nodes:e,edges:t,className:n}){return(0,G.jsx)(`div`,{className:P(`w-full`,n),children:(0,G.jsxs)(ue,{nodes:e,edges:t,nodeTypes:Y,fitView:!0,fitViewOptions:{padding:.24,maxZoom:1.05},minZoom:.4,maxZoom:1.5,nodesConnectable:!1,elementsSelectable:!1,panOnScroll:!1,zoomOnScroll:!1,proOptions:{hideAttribution:!0},children:[(0,G.jsx)(le,{variant:ce.Dots,gap:18,size:1,color:`hsl(var(--muted-foreground) / 0.18)`}),(0,G.jsx)(N,{showInteractive:!1,className:`!border-border !bg-card !shadow-lg`})]})})}function He({centerMemory:e,allMemories:t,graphEdges:n,loading:r=!1,error:i=null}){let{t:a}=h(),[o,s]=(0,K.useState)(!1),c=`mem:${e.id}`,l=(0,K.useMemo)(()=>n.filter(e=>e.from===c&&e.to.startsWith(`mem:`)||e.to===c&&e.from.startsWith(`mem:`)).slice(0,24),[c,n]),{nodes:u,edges:d}=(0,K.useMemo)(()=>{let n=[],r=[],i=new Map(t.map(e=>[e.id,e]));n.push({id:e.id,type:`memoryNode`,position:{x:320-Fe/2,y:120},data:{entry:e,center:!0}});let o=[...e.supersededBy?[{id:e.supersededBy,relation:`superseded by`}]:[],...(e.supersedes??[]).map(e=>({id:e,relation:`supersedes`})),...(e.contradicts??[]).map(e=>({id:e,relation:`contradicts`}))];for(let e of l){let t=(e.from===c?e.to:e.from).slice(4);o.some(n=>n.id===t&&n.relation===e.relation)||o.push({id:t,relation:e.relation,weight:e.weight,evidence:e.evidence})}let s=320-(o.length-1)*220/2;return o.forEach((t,o)=>{let c=i.get(t.id)??Ve(t.id,a),l=t.relation===`superseded by`,u=l?0:280+Math.floor(o/3)*130,d=l?320-Fe/2:s+o*220-Fe/2;n.push({id:`memory:${t.id}:${o}`,type:`memoryNode`,position:{x:d,y:u},data:{entry:c,center:!1}});let f=t.relation===`contradicts`,p=l?`memory:${t.id}:${o}`:e.id,m=l?e.id:`memory:${t.id}:${o}`;r.push({id:`relation:${t.relation}:${t.id}:${o}`,source:p,target:m,type:`smoothstep`,animated:!f,label:t.weight===void 0?t.relation:`${t.relation} ${t.weight.toFixed(2)}`,data:{evidence:t.evidence??[]},style:{stroke:f?`hsl(var(--destructive))`:`hsl(var(--primary))`,strokeWidth:1.7,...f?{strokeDasharray:`5 4`}:{}},labelStyle:{fill:f?`hsl(var(--destructive))`:`hsl(var(--muted-foreground))`,fontSize:9,fontWeight:700},labelBgStyle:{fill:`hsl(var(--card))`,fillOpacity:.9}})}),e.anchors.forEach((t,i)=>{let a=`anchor:${i}`;n.push({id:a,type:`anchorNode`,position:{x:540,y:120+(i-(e.anchors.length-1)/2)*66},data:{anchor:t,label:ze(t)}}),r.push({id:`anchor-edge:${i}`,source:e.id,target:a,type:`smoothstep`,style:{stroke:`hsl(var(--info))`,strokeWidth:1.3}})}),{nodes:n,edges:r}},[t,e,c,l]);return u.length<=1&&!r&&!i?null:(0,G.jsxs)(`section`,{className:`overflow-hidden border border-border/75 bg-background/35`,"aria-label":a(`activity:memoryManager.graphAria`),children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/55 px-3 py-2`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-[0.16em] text-muted-foreground`,children:a(`activity:memoryManager.graphHeading`)}),u.length>1&&(0,G.jsxs)(z,{variant:`ghost`,size:`sm`,onClick:()=>s(!0),className:`h-6 gap-1 px-2 text-[9px] font-bold uppercase tracking-[0.12em]`,"aria-label":a(`activity:memoryManager.graphFullscreenAria`),children:[(0,G.jsx)(re,{className:`size-3`}),a(`activity:memoryManager.graphOpenFullscreen`)]})]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:r?a(`activity:memoryManager.loadingGraph`):a(`activity:memoryManager.graphStats`,{nodes:u.length,edges:d.length})})]}),i&&(0,G.jsx)(`p`,{className:`border-b border-destructive/25 bg-destructive/5 px-3 py-2 text-[10px] text-destructive`,children:i}),u.length>1&&(0,G.jsx)(X,{nodes:u,edges:d,className:`h-[320px]`}),l.some(e=>e.evidence?.length)&&(0,G.jsx)(`div`,{className:`grid gap-1 border-t border-border/70 bg-card/35 px-3 py-2`,children:l.filter(e=>e.evidence?.length).slice(0,12).map(e=>{let t=(e.from===c?e.to:e.from).slice(4);return(0,G.jsxs)(`p`,{className:`truncate font-mono text-[9px] text-muted-foreground`,children:[(0,G.jsx)(`span`,{className:`text-info`,children:e.relation}),` `,Le(t),` · why:`,` `,e.evidence?.join(`, `)]},e.id)})}),o&&(0,G.jsx)(R,{open:o,onOpenChange:s,children:(0,G.jsxs)(pe,{className:`flex max-h-[90dvh] max-w-[90vw] flex-col p-0`,showCloseButton:!1,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/55 px-4 py-3`,children:[(0,G.jsx)(`p`,{className:`text-[10px] font-bold uppercase tracking-[0.16em] text-muted-foreground`,children:a(`activity:memoryManager.graphHeadingFull`,{id:e.id})}),(0,G.jsx)(z,{variant:`ghost`,size:`sm`,onClick:()=>s(!1),className:`h-7 gap-1 px-2 text-[10px]`,children:a(`common:action.close`)})]}),(0,G.jsx)(`div`,{className:`min-h-0 flex-1 px-4 pb-4`,children:(0,G.jsx)(X,{nodes:u,edges:d,className:`h-[65vh]`})})]})})]})}function Ue({memory:e,allMemories:t,relatedMemories:n,graphEdges:r,graphLoading:i,graphError:a,onClose:o,onOpenMemory:s,onEdit:l,onDelete:u,onTagSelect:d,onNotice:f}){let{t:p}=h();return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 bg-card/65 px-4 py-3 backdrop-blur-xl`,children:[(0,G.jsx)(z,{variant:`ghost`,size:`icon`,className:`md:hidden`,onClick:o,"aria-label":p(`activity:memoryManager.backToList`),children:(0,G.jsx)(se,{className:`size-4`})}),(0,G.jsx)(`span`,{className:P(`text-[10px] font-bold uppercase tracking-[0.14em]`,Se(e.kind)),children:Oe[e.kind]??e.kind}),(0,G.jsx)(we,{status:e.status}),(0,G.jsx)(`span`,{className:`border border-border/70 px-2 py-0.5 font-mono text-[9px] uppercase text-muted-foreground`,children:e.scope}),e.audience&&(0,G.jsxs)(`span`,{className:`flex items-center gap-1 border border-primary/30 bg-primary/10 px-2 py-0.5 font-mono text-[9px] text-primary`,title:De(e.audience),children:[(0,G.jsx)(O,{className:`size-3`}),De(e.audience)]}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[(0,G.jsx)(z,{variant:`ghost`,size:`icon`,"aria-label":p(`activity:memoryManager.copyId`),title:p(`activity:memoryManager.copyId`),onClick:()=>{navigator.clipboard?.writeText(e.id),f(p(`activity:memoryManager.copiedNotice`))},children:(0,G.jsx)(c,{className:`size-4`})}),(0,G.jsxs)(z,{variant:`outline`,size:`sm`,onClick:()=>l(e.id),disabled:e.status===`deleted`,children:[(0,G.jsx)(x,{className:`size-3.5`}),` `,p(`common:action.edit`)]}),(0,G.jsxs)(z,{variant:`destructive`,size:`sm`,onClick:u,disabled:e.status===`deleted`,children:[(0,G.jsx)(S,{className:`size-3.5`}),` `,p(`common:action.delete`)]})]})]}),(0,G.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain p-4 md:p-5`,children:(0,G.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5`,children:[(0,G.jsx)(We,{memory:e}),(0,G.jsx)(Z,{memory:e}),e.tags.length>0&&(0,G.jsx)(Ge,{tags:e.tags,onTagSelect:d}),e.anchors.length>0&&(0,G.jsx)(Q,{anchors:e.anchors}),n.length>0&&(0,G.jsx)(Ke,{relatedMemories:n,allMemories:t,onOpenMemory:s}),(0,G.jsx)(He,{centerMemory:e,allMemories:t,graphEdges:r,loading:i,error:a}),(0,G.jsx)(qe,{memory:e}),e.status===`deleted`&&(0,G.jsx)($,{contextPolicy:e.contextPolicy})]})})]})}function We({memory:e}){let{t}=h();return(0,G.jsxs)(`div`,{className:`relative overflow-hidden border border-border/75 bg-card/55 p-5 shadow-[inset_0_1px_0_hsl(var(--foreground)/0.04)]`,children:[(0,G.jsx)(`div`,{className:`pointer-events-none absolute -right-10 -top-10 size-36 bg-[radial-gradient(circle,hsl(var(--info)/0.13),transparent_68%)]`}),(0,G.jsx)(`p`,{className:`relative whitespace-pre-wrap text-sm leading-7 text-foreground md:text-[15px]`,children:e.text}),e.summary&&(0,G.jsx)(`p`,{className:`relative mt-4 border-l-2 border-info/50 pl-3 text-xs italic leading-5 text-muted-foreground`,children:e.summary}),(0,G.jsxs)(`div`,{className:`relative mt-5 flex flex-wrap items-center gap-2 border-t border-border/60 pt-3`,children:[(0,G.jsx)(`code`,{className:`min-w-0 break-all font-mono text-[10px] text-muted-foreground`,children:e.id}),(0,G.jsx)(`span`,{className:`ml-auto font-mono text-[10px] text-muted-foreground`,children:t(`activity:memoryManager.revisionSuffix`,{n:e.revision})})]})]})}function Z({memory:e}){let{t}=h(),n=[[t(`activity:memoryManager.editorImportance`),e.importance,g],[t(`activity:memoryManager.editorConfidence`),e.confidence,_],[t(`activity:memoryManager.editorFreshness`),e.freshness,A]];return(0,G.jsx)(`div`,{className:`grid gap-px bg-border/60 sm:grid-cols-3`,children:n.map(([e,t,n])=>(0,G.jsxs)(`div`,{className:`bg-card/60 p-3`,children:[(0,G.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(n,{className:`size-3.5 text-info`}),(0,G.jsx)(`span`,{className:`text-[10px] font-bold uppercase tracking-[0.13em] text-muted-foreground`,children:e}),(0,G.jsxs)(`span`,{className:`ml-auto font-mono text-xs font-bold tabular-nums`,children:[Math.round(t*100),`%`]})]}),(0,G.jsx)(`div`,{className:`mt-2 h-1 bg-muted`,children:(0,G.jsx)(`div`,{className:`h-full bg-info shadow-[0_0_8px_hsl(var(--info)/0.45)]`,style:{width:`${Math.round(t*100)}%`}})})]},e))})}function Ge({tags:e,onTagSelect:t}){let{t:n}=h();return(0,G.jsxs)(`section`,{children:[(0,G.jsxs)(`h3`,{className:`mb-2 flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,G.jsx)(b,{className:`size-3.5 text-info`}),` `,n(`activity:memoryManager.tagsLabel`)]}),(0,G.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:e.map(e=>(0,G.jsxs)(`button`,{type:`button`,onClick:()=>t(e),className:`border border-info/25 bg-info/5 px-2 py-1 font-mono text-[10px] text-info hover:border-info/55 hover:bg-info/10`,children:[`#`,e]},e))})]})}function Q({anchors:e}){let{t}=h();return(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/40`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/65 px-3 py-2.5`,children:[(0,G.jsxs)(`h3`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,G.jsx)(y,{className:`size-3.5 text-info`}),` `,t(`activity:memoryManager.editorAnchors`)]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:e.length})]}),(0,G.jsx)(`ul`,{className:`divide-y divide-border/55`,children:e.map((e,t)=>(0,G.jsxs)(`li`,{className:`flex min-w-0 items-start gap-3 px-3 py-2.5`,children:[(0,G.jsx)(`span`,{className:`mt-0.5 flex size-7 shrink-0 items-center justify-center border border-info/25 bg-info/5 text-info`,children:e.type===`command`?(0,G.jsx)(a,{className:`size-3.5`}):(0,G.jsx)(y,{className:`size-3.5`})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:`text-[9px] font-bold uppercase text-muted-foreground`,children:e.type}),(0,G.jsxs)(`p`,{className:`mt-0.5 break-all font-mono text-[10px] leading-4 text-foreground/85`,children:[e.path??e.command??e.role??`—`,e.symbol?`#${e.symbol}`:``]})]}),(e.lineStart||e.lineEnd)&&(0,G.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono text-[9px] text-muted-foreground`,children:[`L`,e.lineStart??`?`,`–`,e.lineEnd??`?`]})]},`${e.type}:${e.path??e.command??e.symbol??e.role}:${t}`))})]})}function Ke({relatedMemories:e,allMemories:t,onOpenMemory:n}){let{t:r}=h();return(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/40`,children:[(0,G.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/65 px-3 py-2.5`,children:[(0,G.jsxs)(`h3`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:[(0,G.jsx)(v,{className:`size-3.5 text-info`}),` `,r(`activity:memoryManager.memoryRelationships`)]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:e.length})]}),(0,G.jsx)(`ul`,{className:`divide-y divide-border/55`,children:e.map(e=>{let i=t.find(t=>t.id===e.id);return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,disabled:!i,onClick:()=>i&&n(i.id),className:`group flex w-full min-w-0 items-center gap-3 px-3 py-2.5 text-left hover:bg-info/5 disabled:cursor-not-allowed disabled:opacity-55`,children:[(0,G.jsx)(`span`,{className:P(`w-24 shrink-0 text-[9px] font-bold uppercase`,e.relation===`Contradicts`?`text-destructive`:`text-info`),children:e.relation}),(0,G.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs`,children:i?H(i.text,95):r(`activity:memoryManager.referencedUnavailable`)}),(0,G.jsx)(`code`,{className:`hidden max-w-32 truncate font-mono text-[9px] text-muted-foreground sm:block`,children:e.id}),i&&(0,G.jsx)(u,{className:`size-3.5 shrink-0 text-muted-foreground group-hover:text-info`})]})},`${e.relation}:${e.id}`)})})]})}function qe({memory:e}){let{t}=h(),n=[[t(`activity:memoryManager.metaCreated`),U(e.createdAt),w],[t(`activity:memoryManager.metaUpdated`),U(e.updatedAt),A],[t(`activity:memoryManager.metaLastAccessed`),U(e.lastAccessedAt),oe],[t(`activity:memoryManager.metaLastVerified`),U(e.lastVerifiedAt),g]];return(0,G.jsx)(`section`,{className:`grid gap-px bg-border/60 sm:grid-cols-2 lg:grid-cols-4`,children:n.map(([e,t,n])=>(0,G.jsxs)(`div`,{className:`bg-card/50 p-3`,children:[(0,G.jsx)(n,{className:`size-3.5 text-muted-foreground`}),(0,G.jsx)(`p`,{className:`mt-2 text-[9px] font-bold uppercase tracking-[0.12em] text-muted-foreground`,children:e}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] leading-4 text-foreground/85`,children:t})]},e))})}function $({contextPolicy:e}){let{t}=h();return(0,G.jsxs)(`div`,{className:`flex items-start gap-3 border border-border bg-muted/50 p-4 text-xs text-muted-foreground`,children:[(0,G.jsx)(o,{className:`mt-0.5 size-4 shrink-0`}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`p`,{className:`font-bold text-foreground`,children:t(`activity:memoryManager.deletedMemory`)}),(0,G.jsx)(`p`,{className:`mt-1 leading-5`,children:t(e===`never`?`activity:memoryManager.deletedNeverPolicy`:`activity:memoryManager.deletedEligiblePolicy`)})]})]})}function Je({currentFilePath:e,knownFilePaths:t,drawerActive:n,onFilePathChange:r,onToggleDrawer:i}){let{t:a}=h();return(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border/60 bg-card/30 px-3 py-1.5`,children:[(0,G.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:a(`activity:memoryManager.fileDrawerLabel`)}),(0,G.jsx)(`input`,{type:`text`,list:`memory-drawer-file-list`,value:e??``,onChange:e=>{r(e.target.value.trim()||null)},placeholder:a(`activity:memoryManager.selectFilePlaceholder`),className:`min-w-0 max-w-[260px] flex-1 truncate rounded-sm border border-border/60 bg-background px-1.5 py-0.5 text-[10px] font-mono`,"aria-label":a(`activity:memoryManager.fileForDrawerAria`),"data-testid":`memory-drawer-file-select`}),(0,G.jsx)(`datalist`,{id:`memory-drawer-file-list`,children:[...t].sort().map(e=>(0,G.jsx)(`option`,{value:e},e))}),(0,G.jsxs)(z,{type:`button`,size:`sm`,variant:n?`default`:`outline`,onClick:i,disabled:!e,className:`h-7 shrink-0 gap-1 px-2 text-[11px]`,"aria-pressed":n,title:a(n?`activity:memoryManager.hideFileDrawer`:`activity:memoryManager.showFileDrawer`),children:[n?(0,G.jsx)(te,{className:`size-3`}):(0,G.jsx)(C,{className:`size-3`}),a(n?`activity:memoryManager.hideDrawer`:`activity:memoryManager.showDrawer`)]})]})}function Ye({mode:e,draft:t,busy:n,error:r,onChange:a,onCancel:o,onSubmit:s}){let{t:c}=h(),u=(0,K.useRef)(null),[d,g]=(0,K.useState)([]);(0,K.useEffect)(()=>{u.current?.focus();let e=new AbortController;return V(`agent-roster.list`,{},e.signal).then(e=>{let t=e.roles;Array.isArray(t)&&g(t.filter(e=>typeof e==`string`))}).catch(()=>void 0),()=>e.abort()},[]);let _=(e,n)=>{a({...t,[e]:n})},v=()=>{_(`anchors`,[...t.anchors,{type:`file`,path:``}])};return(0,G.jsxs)(`form`,{className:`flex min-h-0 flex-1 flex-col`,onSubmit:e=>{e.preventDefault(),s()},"aria-busy":n,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 bg-card/70 px-4 py-3 backdrop-blur-xl`,children:[(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:`flex size-8 items-center justify-center border border-info/35 bg-info/10 text-info`,children:e===`create`?(0,G.jsx)(l,{className:`size-4`}):(0,G.jsx)(x,{className:`size-4`})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`p`,{className:`truncate text-sm font-bold`,children:c(e===`create`?`activity:memoryManager.captureMemory`:`activity:memoryManager.editMemory`)}),(0,G.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:c(e===`create`?`activity:memoryManager.editorCreateHint`:`activity:memoryManager.editorEditHint`)})]})]}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,G.jsxs)(z,{type:`button`,variant:`ghost`,size:`sm`,onClick:o,disabled:n,children:[(0,G.jsx)(f,{className:`size-3.5`}),` `,c(`common:action.cancel`)]}),(0,G.jsxs)(z,{type:`submit`,size:`sm`,disabled:n||!t.text.trim(),children:[n?(0,G.jsx)(p,{className:`size-3.5 animate-spin`}):e===`create`?(0,G.jsx)(k,{className:`size-3.5`}):(0,G.jsx)(m,{className:`size-3.5`}),c(n?`common:action.saving`:e===`create`?`activity:memoryManager.createMemory`:`activity:memoryManager.saveChanges`)]})]})]}),(0,G.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain p-4 md:p-5`,children:(0,G.jsxs)(`div`,{className:`mx-auto max-w-4xl space-y-5`,children:[r&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-start gap-2 border border-destructive/40 bg-destructive/10 px-3 py-2.5 text-sm text-destructive`,children:[(0,G.jsx)(E,{className:`mt-0.5 size-4 shrink-0`}),(0,G.jsx)(`span`,{children:r})]}),(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/45 p-4`,children:[(0,G.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-[0.14em]`,children:c(`activity:memoryManager.editorKnowledge`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] text-muted-foreground`,children:c(`activity:memEditor.writeTheDurableFactOrDecision`)})]}),(0,G.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground tabular-nums`,children:c(`activity:memoryManager.editorCharCount`,{count:t.text.length})})]}),(0,G.jsx)(`label`,{htmlFor:`memory-text`,className:`sr-only`,children:c(`activity:memoryManager.editorContentLabel`)}),(0,G.jsx)(`textarea`,{ref:u,id:`memory-text`,value:t.text,onChange:e=>_(`text`,e.target.value),rows:7,required:!0,placeholder:c(`activity:memoryManager.editorContentPlaceholder`),className:`min-h-36 w-full resize-y border border-input bg-background/75 px-3 py-3 text-sm leading-6 text-foreground shadow-inner placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 sm:grid-cols-2 lg:grid-cols-3`,children:[(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`label`,{htmlFor:`memory-kind`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorKind`)}),(0,G.jsx)(`select`,{id:`memory-kind`,value:t.kind,onChange:e=>_(`kind`,e.target.value),className:`h-10 w-full border border-input bg-background px-3 text-sm`,children:Ce.map(e=>(0,G.jsx)(`option`,{value:e,children:Oe[e]},e))})]}),e===`create`?(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`label`,{htmlFor:`memory-scope`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorScope`)}),(0,G.jsx)(`select`,{id:`memory-scope`,value:t.scope,onChange:e=>_(`scope`,e.target.value),className:`h-10 w-full border border-input bg-background px-3 text-sm`,children:_e.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))})]}):(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsx)(`label`,{htmlFor:`memory-status`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorLifecycleStatus`)}),(0,G.jsx)(`select`,{id:`memory-status`,value:t.status,onChange:e=>_(`status`,e.target.value),className:`h-10 w-full border border-input bg-background px-3 text-sm`,children:Te.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))})]}),(0,G.jsxs)(`div`,{className:P(`min-w-0`,e===`create`?`sm:col-span-2 lg:col-span-1`:``),children:[(0,G.jsx)(`label`,{htmlFor:`memory-tags`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.tagsLabel`)}),(0,G.jsx)(B,{id:`memory-tags`,value:t.tags,onChange:e=>_(`tags`,e.target.value),placeholder:c(`activity:memEditor.architectureWebuiWorkflow`),className:`h-10 bg-background`})]})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,G.jsx)(ye,{id:`memory-importance`,label:c(`activity:memoryManager.editorImportance`),value:t.importance,onChange:e=>_(`importance`,e)}),(0,G.jsx)(ye,{id:`memory-confidence`,label:c(`activity:memoryManager.editorConfidence`),value:t.confidence,onChange:e=>_(`confidence`,e)}),(0,G.jsx)(ye,{id:`memory-freshness`,label:c(`activity:memoryManager.editorFreshness`),value:t.freshness,onChange:e=>_(`freshness`,e)})]}),(0,G.jsxs)(`section`,{className:`border border-border/75 bg-card/45 p-4`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-[0.14em]`,children:c(`activity:memoryManager.editorAnchors`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] text-muted-foreground`,children:c(`activity:memEditor.bindKnowledgeToFilesSymbolsPackages`)})]}),(0,G.jsxs)(z,{type:`button`,variant:`outline`,size:`sm`,onClick:v,children:[(0,G.jsx)(k,{className:`size-3.5`}),` `,c(`activity:memoryManager.addAnchor`)]})]}),t.anchors.length===0?(0,G.jsxs)(`button`,{type:`button`,onClick:v,className:`mt-4 flex w-full items-center justify-center gap-2 border border-dashed border-border px-4 py-7 text-xs text-muted-foreground transition-colors hover:border-info/50 hover:bg-info/5 hover:text-info`,children:[(0,G.jsx)(i,{className:`size-4`}),` `,c(`activity:memoryManager.noAnchors`)]}):(0,G.jsx)(`div`,{className:`mt-4 space-y-2`,children:t.anchors.map((e,n)=>(0,G.jsxs)(`div`,{className:`grid gap-2 border border-border/65 bg-background/40 p-2 sm:grid-cols-[9rem_minmax(0,1fr)_auto]`,children:[(0,G.jsxs)(`label`,{className:`sr-only`,htmlFor:`anchor-type-${n}`,children:[`Anchor `,n+1,` type`]}),(0,G.jsx)(`select`,{id:`anchor-type-${n}`,value:e.type,onChange:e=>{let r=e.target.value,i=r===`command`?{type:r,command:``}:r===`agent`?{type:r,role:``}:{type:r,path:``},a=t.anchors.map((e,t)=>t===n?i:e);_(`anchors`,a)},className:`h-10 border border-input bg-background px-2 text-xs`,children:Ae.map(e=>(0,G.jsx)(`option`,{value:e,children:e},e))}),(0,G.jsxs)(`div`,{className:P(`grid min-w-0 gap-2`,e.type===`symbol`&&`sm:grid-cols-[minmax(0,1fr)_11rem]`),children:[(0,G.jsxs)(`label`,{className:`sr-only`,htmlFor:`anchor-value-${n}`,children:[`Anchor `,n+1,` value`]}),(0,G.jsx)(B,{id:`anchor-value-${n}`,list:e.type===`agent`?`memory-agent-role-options`:void 0,value:je(e),onChange:e=>{let r=t.anchors.map((t,r)=>r===n?ve(t,e.target.value):t);_(`anchors`,r)},placeholder:e.type===`command`?`pnpm test --filter webui`:e.type===`agent`?`reviewer`:`packages/webui/src/App.tsx`,className:`h-10 min-w-0 bg-background font-mono text-xs`}),e.type===`symbol`&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`label`,{className:`sr-only`,htmlFor:`anchor-symbol-${n}`,children:[`Anchor `,n+1,` symbol`]}),(0,G.jsx)(B,{id:`anchor-symbol-${n}`,value:e.symbol??``,onChange:e=>{let r=t.anchors.map((t,r)=>r===n?{...t,symbol:e.target.value}:t);_(`anchors`,r)},placeholder:c(`activity:memoryManager.editorSymbolPlaceholder`),className:`h-10 bg-background font-mono text-xs`})]})]}),(0,G.jsx)(z,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Remove anchor ${n+1}`,onClick:()=>_(`anchors`,t.anchors.filter((e,t)=>t!==n)),children:(0,G.jsx)(S,{className:`size-4 text-destructive`})})]},`${e.type}:${n}`))}),(0,G.jsx)(`datalist`,{id:`memory-agent-role-options`,children:d.map(e=>(0,G.jsx)(`option`,{value:e},e))})]}),(0,G.jsxs)(`section`,{className:`grid gap-3 border border-border/75 bg-card/45 p-4 sm:grid-cols-2`,children:[(0,G.jsxs)(`div`,{className:`sm:col-span-2`,children:[(0,G.jsx)(`h3`,{className:`text-xs font-bold uppercase tracking-[0.14em]`,children:c(`activity:memoryManager.editorRelationships`)}),(0,G.jsx)(`p`,{className:`mt-1 text-[10px] text-muted-foreground`,children:c(`activity:memoryManager.editorRelationshipsHint`)})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-supersedes`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorSupersedes`)}),(0,G.jsx)(B,{id:`memory-supersedes`,value:t.supersedes,onChange:e=>_(`supersedes`,e.target.value),placeholder:c(`activity:memEditor.memIdMemId`),className:`h-10 bg-background font-mono text-xs`})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-contradicts`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorContradicts`)}),(0,G.jsx)(B,{id:`memory-contradicts`,value:t.contradicts,onChange:e=>_(`contradicts`,e.target.value),placeholder:c(`activity:memEditor.memIdMemId`),className:`h-10 bg-background font-mono text-xs`})]})]}),(0,G.jsxs)(`section`,{className:`space-y-2`,children:[(0,G.jsx)(`h3`,{className:`text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memEditor.audienceOptional`)}),(0,G.jsx)(`p`,{className:`text-[10px] text-muted-foreground/70`,children:c(`activity:memEditor.targetThisMemoryToSpecificAgent`)}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-audience-roles`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memEditor.roles`)}),(0,G.jsx)(B,{id:`memory-audience-roles`,value:t.audienceRoles,onChange:e=>_(`audienceRoles`,e.target.value),placeholder:c(`activity:memEditor.reviewerRefactorPlanner`),className:`h-9 bg-background font-mono text-xs`})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-audience-task-types`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memoryManager.editorTaskTypes`)}),(0,G.jsx)(B,{id:`memory-audience-task-types`,value:t.audienceTaskTypes,onChange:e=>_(`audienceTaskTypes`,e.target.value),placeholder:c(`activity:memEditor.reviewRefactorBugfix`),className:`h-9 bg-background font-mono text-xs`})]}),(0,G.jsxs)(`div`,{children:[(0,G.jsx)(`label`,{htmlFor:`memory-audience-modes`,className:`mb-1.5 block text-[10px] font-bold uppercase tracking-[0.14em] text-muted-foreground`,children:c(`activity:memEditor.modes`)}),(0,G.jsx)(B,{id:`memory-audience-modes`,value:t.audienceModes,onChange:e=>_(`audienceModes`,e.target.value),placeholder:c(`activity:memEditor.teachCodeReview`),className:`h-9 bg-background font-mono text-xs`})]})]})]})})]})}function Xe({searchQuery:e,statusFilter:t,kindFilter:n,audienceOnly:r,tagFilter:i,hasFilters:a,allTags:o,stats:c,onSearchChange:l,onStatusFilterChange:u,onKindFilterChange:d,onToggleAudienceOnly:p,onTagFilterChange:m,onClearFilters:g}){let{t:_}=h(),[v,y]=(0,K.useState)(!!i),x=v||!!i,S=o.length>0;return(0,G.jsxs)(`div`,{className:`shrink-0 space-y-2 overflow-hidden border-b border-border/70 bg-card/45 p-3`,children:[(0,G.jsxs)(`div`,{className:`flex gap-2`,children:[(0,G.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[(0,G.jsx)(ee,{className:`pointer-events-none absolute left-3 top-1/2 size-3.5 -translate-y-1/2 text-muted-foreground`}),(0,G.jsx)(B,{"aria-label":_(`activity:memoryManager.searchAria`),value:e,onChange:e=>l(e.target.value),placeholder:_(`activity:memoryManager.searchPlaceholder`),className:`h-10 min-w-0 bg-background pl-9 pr-8 text-xs`}),e&&(0,G.jsx)(`button`,{type:`button`,"aria-label":_(`activity:memoryManager.clearSearchAria`),onClick:()=>l(``),className:`absolute right-2 top-1/2 -translate-y-1/2 p-1 text-muted-foreground hover:text-foreground`,children:(0,G.jsx)(f,{className:`size-3.5`})})]}),(0,G.jsx)(z,{variant:r?`default`:`ghost`,size:`icon`,onClick:p,"aria-label":_(`activity:memoryManager.audienceFilterAria`),title:_(`activity:memoryManager.audienceFilterTitle`),className:`shrink-0`,children:(0,G.jsx)(O,{className:`size-4`})}),a&&(0,G.jsx)(z,{variant:`ghost`,size:`icon`,onClick:g,"aria-label":_(`activity:memoryManager.clearFiltersAria`),title:_(`activity:memoryManager.clearFiltersTitle`),children:(0,G.jsx)(s,{className:`size-4`})})]}),(0,G.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,G.jsx)(`label`,{className:`sr-only`,htmlFor:`memory-status-filter`,children:_(`activity:memoryManager.filterByStatus`)}),(0,G.jsxs)(`select`,{id:`memory-status-filter`,value:t,onChange:e=>u(e.target.value),className:`h-9 min-w-0 border border-input bg-background px-2 text-xs`,children:[(0,G.jsx)(`option`,{value:`all`,children:_(`activity:memoryManager.allStatuses`)}),Ee.map(e=>(0,G.jsxs)(`option`,{value:e,children:[e,` · `,c?.byStatus[e]??0]},e))]}),(0,G.jsx)(`label`,{className:`sr-only`,htmlFor:`memory-kind-filter`,children:_(`activity:memoryManager.filterByKind`)}),(0,G.jsxs)(`select`,{id:`memory-kind-filter`,value:n,onChange:e=>d(e.target.value),className:`h-9 min-w-0 border border-input bg-background px-2 text-xs`,children:[(0,G.jsx)(`option`,{value:`all`,children:_(`activity:memoryManager.allKinds`)}),Ce.map(e=>(0,G.jsxs)(`option`,{value:e,children:[Oe[e],` · `,c?.byKind[e]??0]},e))]})]}),S&&(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,G.jsxs)(`button`,{type:`button`,onClick:()=>{i||y(e=>!e)},"aria-expanded":x,"aria-controls":`memory-tags-panel`,disabled:!!i,className:P(`flex items-center gap-1.5 px-1 py-0.5 text-[10px] uppercase tracking-wide transition-colors`,x?`text-foreground`:`text-muted-foreground hover:text-foreground`,!!i&&`cursor-default`),title:i?`Active filter: ${i} (click the chip to clear)`:x?`Hide tag filters`:`Show tag filters (${o.length})`,children:[(0,G.jsx)(ie,{className:P(`size-3 transition-transform`,!x&&`-rotate-90`)}),(0,G.jsx)(b,{className:`size-3`}),(0,G.jsx)(`span`,{className:`font-semibold`,children:_(`activity:memoryManager.tagsLabel`)}),(0,G.jsx)(`span`,{className:`font-mono text-[9px] text-muted-foreground`,children:o.length})]}),i&&(0,G.jsx)(`span`,{role:`status`,"aria-label":`Active tag filter: ${i}`,className:`border border-info/55 bg-info/10 px-1 font-mono text-[9px] uppercase text-info`,children:i})]}),S&&x&&(0,G.jsxs)(`fieldset`,{id:`memory-tags-panel`,className:`min-w-0 border-0 p-0`,children:[(0,G.jsx)(`legend`,{className:`sr-only`,children:_(`activity:memoryManager.popularTags`)}),(0,G.jsx)(`div`,{className:`no-scrollbar flex gap-1.5 overflow-x-auto pb-0.5`,children:o.slice(0,18).map(([e,t])=>(0,G.jsxs)(`button`,{type:`button`,"aria-pressed":i===e,onClick:()=>m(i===e?null:e),className:P(`flex shrink-0 items-center gap-1 border px-2 py-1 text-[10px] transition-colors`,i===e?`border-info/55 bg-info/10 text-info`:`border-border/70 bg-background/45 text-muted-foreground hover:border-info/35 hover:text-foreground`),children:[(0,G.jsx)(b,{className:`size-2.5`}),` `,e,(0,G.jsx)(`span`,{className:`font-mono opacity-60`,children:t})]},e))})]})]})}var Ze=100;function Qe({memoryListRef:e,memories:t,filteredMemories:n,selectedId:r,onSelectMemory:i,onOpenCreate:a,onClearFilters:o}){let{t:s}=h(),c=n.length>Ze,l=ne({count:n.length,getScrollElement:()=>e.current,estimateSize:()=>100,overscan:8,enabled:c});return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between border-b border-border/60 px-3 py-2 text-[10px] text-muted-foreground`,children:[(0,G.jsx)(`span`,{children:s(`activity:memoryManager.memoryCountSummary`,{shown:n.length,total:t.length})}),(0,G.jsx)(`span`,{className:`font-mono uppercase`,children:s(`activity:memoryManager.updatedSortLabel`)})]}),(0,G.jsx)(`section`,{ref:e,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain`,"aria-label":s(`activity:memoryManager.listAria`),children:n.length===0?(0,G.jsx)($e,{hasMemories:t.length>0,onOpenCreate:a,onClearFilters:o}):c?(0,G.jsx)(`div`,{style:{height:`${l.getTotalSize()}px`,width:`100%`,position:`relative`},children:l.getVirtualItems().map(e=>{let t=n[e.index];return t?(0,G.jsx)(`div`,{"data-index":e.index,ref:l.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},children:(0,G.jsx)(et,{memory:t,isSelected:r===t.id,onClick:()=>i(t.id)})},t.id):null})}):n.map(e=>(0,G.jsx)(et,{memory:e,isSelected:r===e.id,onClick:()=>i(e.id)},e.id))})]})}function $e({hasMemories:e,onOpenCreate:t,onClearFilters:n}){let{t:r}=h();return(0,G.jsxs)(`div`,{className:`flex min-h-64 flex-col items-center justify-center px-6 text-center`,children:[(0,G.jsx)(`span`,{className:`flex size-12 items-center justify-center border border-dashed border-border text-muted-foreground`,children:(0,G.jsx)(T,{className:`size-5`})}),(0,G.jsx)(`h2`,{className:`mt-4 text-sm font-bold`,children:r(e?`activity:memoryManager.noMatching`:`activity:memoryManager.buildGraph`)}),(0,G.jsx)(`p`,{className:`mt-1 max-w-xs text-xs leading-5 text-muted-foreground`,children:r(e?`activity:memoryManager.emptyFiltered`:`activity:memoryManager.emptyCapture`)}),(0,G.jsxs)(z,{className:`mt-4`,variant:`outline`,size:`sm`,onClick:e?n:t,children:[e?(0,G.jsx)(s,{className:`size-3.5`}):(0,G.jsx)(k,{className:`size-3.5`}),r(e?`activity:memoryManager.clearFilters`:`activity:memoryManager.createFirst`)]})]})}function et({memory:e,isSelected:t,onClick:n}){return(0,G.jsxs)(`button`,{type:`button`,"aria-current":t?`true`:void 0,onClick:n,className:P(`group relative block w-full border-b border-border/55 px-3 py-3 text-left transition-[background-color,border-color] hover:bg-info/5`,t&&`bg-info/8`),children:[t&&(0,G.jsx)(`span`,{className:`absolute inset-y-0 left-0 w-0.5 bg-info shadow-[0_0_10px_hsl(var(--info)/0.7)]`}),(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,G.jsx)(`span`,{className:P(`truncate text-[10px] font-bold uppercase tracking-[0.1em]`,Se(e.kind)),children:Oe[e.kind]??e.kind}),(0,G.jsx)(we,{status:e.status}),(0,G.jsxs)(`span`,{className:`ml-auto shrink-0 font-mono text-[9px] text-muted-foreground`,children:[`r`,e.revision]})]}),(0,G.jsx)(`p`,{className:P(`mt-2 line-clamp-2 text-xs leading-5 text-foreground/90`,e.status===`deleted`&&`line-through opacity-60`),children:H(e.text)}),(0,G.jsxs)(`div`,{className:`mt-2 flex min-w-0 items-center gap-1.5`,children:[(0,G.jsx)(`span`,{className:`border border-border/60 bg-background/50 px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground`,children:e.scope}),e.audience&&(0,G.jsxs)(`span`,{className:`flex items-center gap-0.5 border border-primary/30 bg-primary/10 px-1.5 py-0.5 font-mono text-[9px] text-primary`,children:[(0,G.jsx)(O,{className:`size-2.5`}),(e.audience.roles??e.audience.taskTypes??e.audience.modes??[]).slice(0,1)[0]??`scoped`]}),e.tags.slice(0,2).map(e=>(0,G.jsxs)(`span`,{className:`max-w-24 truncate border border-border/60 px-1.5 py-0.5 font-mono text-[9px] text-muted-foreground`,children:[`#`,e]},e)),e.tags.length>2&&(0,G.jsxs)(`span`,{className:`font-mono text-[9px] text-muted-foreground`,children:[`+`,e.tags.length-2]}),(0,G.jsx)(`span`,{className:`ml-auto shrink-0 text-[9px] text-muted-foreground`,children:Me(e.updatedAt)}),(0,G.jsx)(u,{className:`size-3 shrink-0 text-muted-foreground transition-transform group-hover:translate-x-0.5 group-hover:text-info`})]})]})}function tt({onCapture:e}){let{t}=h();return(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center p-8 text-center`,children:[(0,G.jsxs)(`div`,{className:`relative flex size-20 items-center justify-center border border-info/25 bg-info/5 text-info`,children:[(0,G.jsx)(O,{className:`size-8`}),(0,G.jsx)(`span`,{className:`absolute inset-2 border border-info/10`})]}),(0,G.jsx)(`h2`,{className:`mt-5 text-lg font-bold`,children:t(`activity:memoryManager.emptyTitle`)}),(0,G.jsx)(`p`,{className:`mt-2 max-w-md text-sm leading-6 text-muted-foreground`,children:t(`activity:memoryManager.emptyBody`)}),(0,G.jsxs)(`div`,{className:`mt-6 grid w-full max-w-lg gap-2 sm:grid-cols-3`,children:[(0,G.jsxs)(`div`,{className:`border border-border/70 bg-card/45 p-3`,children:[(0,G.jsx)(d,{className:`mx-auto size-4 text-success`}),(0,G.jsx)(`p`,{className:`mt-2 text-[10px] font-bold uppercase`,children:t(`activity:memoryManager.emptyVerifiedAnchors`)})]}),(0,G.jsxs)(`div`,{className:`border border-border/70 bg-card/45 p-3`,children:[(0,G.jsx)(O,{className:`mx-auto size-4 text-info`}),(0,G.jsx)(`p`,{className:`mt-2 text-[10px] font-bold uppercase`,children:t(`activity:memoryManager.emptyTypedRelations`)})]}),(0,G.jsxs)(`div`,{className:`border border-border/70 bg-card/45 p-3`,children:[(0,G.jsx)(k,{className:`mx-auto size-4 text-warning`}),(0,G.jsx)(`p`,{className:`mt-2 text-[10px] font-bold uppercase`,children:t(`activity:memoryManager.emptyAgentRecall`)})]})]}),(0,G.jsxs)(z,{onClick:e,children:[(0,G.jsx)(k,{className:`size-4`}),` `,t(`activity:memoryManager.captureButton`)]})]})}function nt({wsConnected:e,refreshing:t,onRefresh:n,onCreate:r}){let{t:i}=h(),a=de(e=>e.setCurrentView);return(0,G.jsxs)(`header`,{className:`relative shrink-0 overflow-hidden border-b border-border/70 bg-card/72 px-4 py-3 backdrop-blur-xl sm:px-5`,children:[(0,G.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-0 w-1/2 bg-[radial-gradient(circle_at_right,hsl(var(--info)/0.11),transparent_68%)]`}),(0,G.jsxs)(`div`,{className:`relative flex flex-wrap items-center gap-3`,children:[(0,G.jsx)(z,{variant:`ghost`,size:`icon`,onClick:()=>a(`chat`),"aria-label":i(`activity:memoryManager.backToChat`),title:i(`activity:memoryManager.backToChat`),children:(0,G.jsx)(se,{className:`size-4`})}),(0,G.jsx)(`span`,{className:`flex size-10 items-center justify-center border border-info/40 bg-info/10 text-info shadow-[0_0_20px_hsl(var(--info)/0.12)]`,children:(0,G.jsx)(O,{className:`size-5`})}),(0,G.jsxs)(`div`,{className:`min-w-0`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,G.jsx)(`h1`,{className:`text-base font-bold sm:text-lg`,children:i(`activity:memoryManager.sageHeading`)}),(0,G.jsx)(`span`,{className:`border border-success/35 bg-success/10 px-2 py-0.5 font-mono text-[9px] font-bold uppercase text-success`,children:i(`activity:memoryManager.projectKnowledge`)})]}),(0,G.jsx)(`p`,{className:`mt-0.5 max-w-2xl text-[10px] text-muted-foreground sm:text-xs`,children:i(`activity:memoryManager.sageSubtitle`)})]}),(0,G.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,G.jsxs)(`span`,{className:P(`hidden items-center gap-1.5 border px-2 py-1 font-mono text-[9px] uppercase sm:flex`,e?`border-success/30 text-success`:`border-warning/30 text-warning`),children:[(0,G.jsx)(`span`,{className:`size-1.5 bg-current`}),` `,i(e?`activity:memoryManager.liveStore`:`activity:memoryManager.reconnecting`)]}),(0,G.jsxs)(z,{variant:`outline`,size:`sm`,onClick:n,disabled:t,"aria-label":i(`activity:memoryManager.refreshAria`),children:[(0,G.jsx)(A,{className:P(`size-3.5`,t&&`animate-spin`)}),(0,G.jsx)(`span`,{className:`hidden sm:inline`,children:i(`common:action.refresh`)})]}),(0,G.jsxs)(z,{size:`sm`,onClick:r,children:[(0,G.jsx)(k,{className:`size-3.5`}),` `,i(`activity:memoryManager.newMemory`)]})]})]})]})}function rt({stats:e,memories:t,filteredCount:n,allTagsCount:r}){let{t:i}=h(),a=t.filter(e=>e.audience).length,o=new Set;if(a>0){for(let e of t)if(e.audience){for(let t of e.audience.roles??[])o.add(t);for(let t of e.audience.taskTypes??[])o.add(t);for(let t of e.audience.modes??[])o.add(t)}}return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)(`div`,{className:`grid shrink-0 grid-cols-2 gap-px border-b border-border/70 bg-border/60 sm:grid-cols-4`,children:[(0,G.jsx)(ke,{label:i(`activity:memoryManager.tabMemories`),value:e?.total??t.length,hint:`${n} visible`}),(0,G.jsx)(ke,{label:i(`activity:memoryManager.tabActive`),value:e?.byStatus.active??t.filter(e=>e.status===`active`).length,hint:`retrievable`,tone:`success`}),(0,G.jsx)(ke,{label:i(`activity:memoryManager.tabNeedsReview`),value:(e?.byStatus.stale??0)+(e?.byStatus.contradicted??0),hint:i(`activity:memoryManager.staleConflicts`),tone:`warning`}),(0,G.jsx)(`div`,{className:`hidden sm:block`,children:(0,G.jsx)(ke,{label:i(`activity:memoryManager.tabGraphEdges`),value:e?.edges??0,hint:`${r} tags`,tone:`info`})})]}),a>0&&(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border/70 bg-primary/5 px-4 py-1.5`,children:[(0,G.jsx)(O,{className:`size-3.5 text-primary`}),(0,G.jsxs)(`span`,{className:`text-[11px] font-medium text-primary`,children:[a,` audience-scoped memory`,a===1?``:`ies`]}),o.size>0&&(0,G.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`(`,[...o].sort().join(`, `),`)`]})]})]})}function it({query:e,channel:t,hits:n,loading:r,error:i,onOpenMemory:a,onClear:o}){let{t:s}=h();return e?(0,G.jsxs)(`section`,{"aria-label":s(`activity:memoryManager.searchBreakdownAria`),className:`border-b border-border/60 bg-card/35`,children:[(0,G.jsxs)(`header`,{className:`flex shrink-0 items-center justify-between border-b border-border/55 px-3 py-2 text-[10px] text-muted-foreground`,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,G.jsx)(l,{className:`size-3 text-info`}),(0,G.jsx)(`span`,{className:`font-mono uppercase tracking-[0.1em]`,children:s(`activity:memoryManager.searchBreakdownTitle`,{query:e})}),t===`breakdown`&&(0,G.jsx)(`span`,{className:`border border-info/40 bg-info/8 px-1.5 py-0.5 font-mono text-[9px] uppercase text-info`,children:s(`activity:memoryManager.searchBreakdownDual`)}),t===`lexical`&&(0,G.jsx)(`span`,{className:`border border-border/60 px-1.5 py-0.5 font-mono text-[9px] uppercase text-muted-foreground`,children:s(`activity:memoryManager.searchBreakdownLexicalOnly`)})]}),(0,G.jsx)(`button`,{type:`button`,onClick:o,className:`font-mono text-[10px] uppercase text-muted-foreground hover:text-foreground`,children:s(`common:action.close`)})]}),r&&(0,G.jsx)(`p`,{className:`px-3 py-3 text-[10px] text-muted-foreground`,children:s(`activity:memoryManager.searchBreakdownLoading`)}),i&&(0,G.jsx)(`p`,{className:`border-t border-border/55 px-3 py-2 text-[10px] text-destructive`,role:`alert`,children:i}),!r&&!i&&n.length===0&&(0,G.jsx)(`p`,{className:`px-3 py-3 text-[10px] text-muted-foreground`,children:s(`activity:memoryManager.searchBreakdownEmpty`)}),(0,G.jsx)(`ul`,{className:`divide-y divide-border/55`,children:n.map(e=>(0,G.jsx)(at,{hit:e,onOpenMemory:a},e.memory.id))})]}):null}function at({hit:e,onOpenMemory:t}){let{t:n}=h(),r=ot(e.lexicalScore),i=ot(e.vectorScore),a=ot(e.finalScore),{accent:o,label:s}=st(e.source);return(0,G.jsx)(`li`,{children:(0,G.jsxs)(`button`,{type:`button`,onClick:()=>t(e.memory.id),className:`group flex w-full min-w-0 items-start gap-3 px-3 py-2.5 text-left hover:bg-info/5`,children:[(0,G.jsx)(`span`,{className:P(`flex size-7 shrink-0 items-center justify-center border font-mono text-[9px] uppercase`,o),title:n(`activity:memoryManager.searchBreakdownSourceLabel`,{source:s}),children:e.source===`vector`?(0,G.jsx)(l,{className:`size-3.5`}):e.source===`both`?(0,G.jsx)(ae,{className:`size-3.5`}):(0,G.jsx)(D,{className:`size-3.5`})}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsx)(`p`,{className:`line-clamp-2 text-[11px] leading-5 text-foreground/90`,children:e.memory.text}),(0,G.jsxs)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[9px] text-muted-foreground`,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,G.jsx)(`span`,{className:`uppercase text-[9px] text-muted-foreground/80`,children:`L`}),(0,G.jsx)(`span`,{className:`tabular-nums text-foreground/80`,children:r})]}),(0,G.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,G.jsx)(`span`,{className:`uppercase text-[9px] text-muted-foreground/80`,children:`V`}),(0,G.jsx)(`span`,{className:P(`tabular-nums`,e.vectorScore===null?`text-muted-foreground/50`:`text-foreground/80`),children:i})]}),(0,G.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,G.jsx)(`span`,{className:`uppercase text-[9px] text-muted-foreground/80`,children:`RRF`}),(0,G.jsx)(`span`,{className:`tabular-nums font-bold text-foreground`,children:a})]}),(0,G.jsx)(`span`,{className:`ml-auto uppercase text-[9px]`,children:s})]})]})]})})}function ot(e){return e===null?`—`:`${Math.round(e*100)}%`}function st(e){switch(e){case`vector`:return{accent:`border-accent/40 bg-accent/10 text-accent`,label:`vector`};case`both`:return{accent:`border-info/40 bg-info/10 text-info`,label:`both`};default:return{accent:`border-border/60 bg-background text-muted-foreground`,label:`lexical`}}}function ct({listCandidates:e,resolveCandidate:t,onOpenMemory:n,client:r,active:i}){let{t:a}=h(),[o,s]=(0,K.useState)([]),[c,l]=(0,K.useState)(!1),[u,m]=(0,K.useState)(null),[g,_]=(0,K.useState)(null),[v,ee]=(0,K.useState)(!1),[y,b]=(0,K.useState)(()=>new Set),x=(0,K.useRef)(0),S=(0,K.useCallback)(()=>{let t=++x.current;l(!0),m(null);let n=r.on(`memory.sage.listCandidates`,e=>{if(t===x.current){if(n(),e.payload.error)m(String(e.payload.error)),s([]);else{let t=(Array.isArray(e.payload.candidates)?e.payload.candidates:[]).filter(e=>e.status===`pending`);s(t),b(e=>{let n=new Set;for(let r of e)t.some(e=>e.id===r)&&n.add(r);return n})}l(!1)}}),i=setTimeout(()=>{t===x.current&&(n(),l(!1),m(a(`activity:memoryManager.reviewLoadTimeout`)))},15e3);return e({includeResolved:!1},{echoToChat:!1}),()=>{clearTimeout(i),n()}},[r,e,a]);(0,K.useEffect)(()=>{if(i)return S()},[i,S]);let te=(0,K.useCallback)((e,n)=>new Promise(i=>{let a=r.on(`memory.sage.candidateResolve`,e=>{a();let t=e.payload.error;i(!t)});t({candidateId:e,action:n,reason:n===`reject`?`Rejected via Memory Review tab`:void 0},{echoToChat:!1}),setTimeout(()=>{a(),i(!1)},15e3)}),[r,t]),C=(0,K.useCallback)(async(e,t)=>{_(e),await te(e,t),_(null),S()},[S,te]),w=(0,K.useCallback)(async e=>{let t=[...y];if(t.length!==0){ee(!0);for(let n of t)await te(n,e);ee(!1),b(new Set),S()}},[S,te,y]),T=e=>{b(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},D=()=>{b(new Set(o.map(e=>e.id)))},ne=()=>b(new Set);if(c&&o.length===0)return(0,G.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 p-6 text-sm text-muted-foreground`,children:[(0,G.jsx)(p,{className:`size-4 animate-spin`}),a(`activity:memoryManager.reviewLoading`)]});if(u&&o.length===0)return(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center`,children:[(0,G.jsx)(E,{className:`size-5 text-warning`}),(0,G.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:u}),(0,G.jsxs)(z,{size:`sm`,variant:`outline`,onClick:()=>S(),children:[(0,G.jsx)(A,{className:`size-3.5`}),` `,a(`common:action.retry`)]})]});if(o.length===0)return(0,G.jsxs)(`div`,{className:`flex flex-1 flex-col items-center justify-center gap-2 p-8 text-center`,children:[(0,G.jsx)(d,{className:`size-6 text-success`}),(0,G.jsx)(`p`,{className:`text-sm font-medium`,children:a(`activity:memoryManager.reviewEmptyTitle`)}),(0,G.jsx)(`p`,{className:`max-w-sm text-xs text-muted-foreground`,children:a(`activity:memoryManager.reviewEmptyHint`)}),(0,G.jsxs)(z,{size:`sm`,variant:`ghost`,onClick:()=>S(),children:[(0,G.jsx)(A,{className:`size-3.5`}),` `,a(`common:action.refresh`)]})]});let O=y.size,re=O===o.length&&o.length>0;return(0,G.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center justify-between gap-2 border-b border-border/60 px-3 py-2`,children:[(0,G.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:a(`activity:memoryManager.reviewPendingCount`,{count:o.length})}),(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,G.jsx)(z,{size:`sm`,variant:`ghost`,className:`h-7 text-[11px]`,onClick:re?ne:D,children:a(re?`activity:memoryManager.reviewClearSelection`:`activity:memoryManager.reviewSelectAll`)}),(0,G.jsxs)(z,{size:`sm`,className:`h-7`,disabled:O===0||v,onClick:()=>void w(`accept`),children:[v?(0,G.jsx)(p,{className:`size-3 animate-spin`}):(0,G.jsx)(d,{className:`size-3`}),a(`activity:memoryManager.reviewBulkAccept`),O>0?` (${O})`:``]}),(0,G.jsxs)(z,{size:`sm`,variant:`outline`,className:`h-7`,disabled:O===0||v,onClick:()=>void w(`reject`),children:[(0,G.jsx)(f,{className:`size-3`}),a(`activity:memoryManager.reviewBulkKeep`),O>0?` (${O})`:``]}),(0,G.jsx)(z,{size:`sm`,variant:`ghost`,className:`h-7`,onClick:()=>S(),disabled:c,children:(0,G.jsx)(A,{className:P(`size-3.5`,c&&`animate-spin`)})})]})]}),(0,G.jsx)(`ul`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto p-3`,children:o.map(e=>{let t=e.targetMemoryId??e.memoryId,r=e.reviewReason??e.reason??``,i=g===e.id||v,o=y.has(e.id);return(0,G.jsx)(`li`,{className:P(`rounded-md border bg-card/60 p-3 text-sm shadow-sm`,o?`border-primary/50 ring-1 ring-primary/20`:`border-border/70`),children:(0,G.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,G.jsx)(`input`,{type:`checkbox`,className:`mt-1 size-3.5 accent-primary`,checked:o,disabled:v,onChange:()=>T(e.id),"aria-label":a(`activity:memoryManager.reviewSelectOne`)}),(0,G.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5 text-[10px] uppercase tracking-wide text-muted-foreground`,children:[(0,G.jsx)(`span`,{className:`font-mono text-warning`,children:e.suggestedAction??`review`}),(0,G.jsx)(`span`,{children:`·`}),(0,G.jsx)(`span`,{children:Me(e.createdAt)}),e.tags?.includes(`triage`)&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{children:`·`}),(0,G.jsx)(`span`,{className:`text-info`,children:`triage`})]})]}),(0,G.jsx)(`p`,{className:`mt-1.5 text-[13px] leading-snug text-foreground`,children:H(e.text,220)}),r?(0,G.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:r}):null,t?(0,G.jsxs)(`button`,{type:`button`,className:`mt-1 font-mono text-[10px] text-primary hover:underline`,onClick:()=>n?.(t),children:[t.slice(0,16),`…`]}):null,(0,G.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:[(0,G.jsxs)(z,{size:`sm`,className:`h-7`,disabled:i,onClick:()=>void C(e.id,`accept`),children:[g===e.id?(0,G.jsx)(p,{className:`size-3 animate-spin`}):(0,G.jsx)(d,{className:`size-3`}),a(`activity:memoryManager.actionAcceptDeletion`)]}),(0,G.jsxs)(z,{size:`sm`,variant:`outline`,className:`h-7`,disabled:i,onClick:()=>void C(e.id,`reject`),children:[(0,G.jsx)(f,{className:`size-3`}),a(`activity:memoryManager.actionKeep`)]})]})]})]})},e.id)})})]})}function lt(e,t){let n=t.searchQuery.trim().toLowerCase();return e.filter(e=>{if(t.statusFilter!==`all`&&e.status!==t.statusFilter||t.kindFilter!==`all`&&e.kind!==t.kindFilter||t.tagFilter&&!e.tags.includes(t.tagFilter)||t.audienceOnly&&!e.audience)return!1;if(!n)return!0;let r=e.anchors.map(e=>[e.path,e.symbol,e.command,e.role].filter(Boolean).join(` `)).join(` `),i=e.audience?[e.audience.roles?.join(` `)??``,e.audience.taskTypes?.join(` `)??``,e.audience.modes?.join(` `)??``].join(` `):``;return[e.id,e.text,e.summary??``,e.kind,e.scope,e.tags.join(` `),r,i].join(` `).toLowerCase().includes(n)})}function ut(e){let t=new Map;for(let n of e)for(let e of n.tags)t.set(e,(t.get(e)??0)+1);return[...t.entries()].sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0]))}function dt(e){if(!e)return[];let t=[];e.supersededBy&&t.push({relation:`Superseded by`,id:e.supersededBy});for(let n of e.supersedes??[])t.push({relation:`Supersedes`,id:n});for(let n of e.contradicts??[])t.push({relation:`Contradicts`,id:n});return t}var ft=100;function pt(){let{t:e}=h(),{client:n,listSageMemoriesPage:r,listMemoryCandidates:i,rememberSage:a,updateSage:o,deleteSage:s,getSageGraph:c,recoverSage:l,resolveMemoryCandidate:u,searchSageBreakdown:d}=me(),f=t(e=>e.wsConnected),[p,m]=(0,K.useState)([]),[g,_]=(0,K.useState)(null),[v,ee]=(0,K.useState)(!0),[y,b]=(0,K.useState)(!1),[x,S]=(0,K.useState)(null),[te,C]=(0,K.useState)(null),[w,T]=(0,K.useState)(null),[E,D]=(0,K.useState)(null),[ne,O]=(0,K.useState)([]),[re,ie]=(0,K.useState)([]),[k,ae]=(0,K.useState)(null),[A,oe]=(0,K.useState)(!1),[se,j]=(0,K.useState)(!1),[M,ce]=(0,K.useState)(!1),[N,le]=(0,K.useState)(xe),[ue,P]=(0,K.useState)(xe),[de,F]=(0,K.useState)(null),[fe,pe]=(0,K.useState)(null),[I,L]=(0,K.useState)({hits:[],channel:void 0,loading:!1,error:null}),[R,z]=(0,K.useState)(``),[B,he]=(0,K.useState)(`all`),[V,_e]=(0,K.useState)(`all`),[ve,ye]=(0,K.useState)(!1),[H,Se]=(0,K.useState)(null),[Ce,we]=(0,K.useState)(`active`),U=Ce===`deleted`,Te=Ce===`review`,[Ee,De]=(0,K.useState)(null),[Oe,ke]=(0,K.useState)(!1),[Ae,je]=(0,K.useState)(!1),[Me,Ne]=(0,K.useState)({}),[G,Pe]=(0,K.useState)(!1),[Fe,Ie]=(0,K.useState)(null),Le=(0,K.useRef)(!1),Re=(0,K.useRef)([]),ze=(0,K.useRef)(0),q=(0,K.useRef)(null),J=(0,K.useRef)(!0),Be=(0,K.useRef)(0),Y=(0,K.useRef)(0),Ve=(0,K.useRef)(null),X=(0,K.useRef)(null),He=(0,K.useMemo)(()=>{let e=new Set;for(let t of p)for(let n of t.anchors??[])n.type===`file`&&n.path&&e.add(n.path);return e},[p]),Ue=(0,K.useMemo)(()=>JSON.stringify(N)!==JSON.stringify(ue),[ue,N]),We=(0,K.useCallback)(e=>p.find(t=>t.id===e)??I.hits.find(t=>t.memory.id===e)?.memory??re.find(t=>t.id===e)??null,[re,p,I.hits]),Z=(0,K.useMemo)(()=>E===null?null:We(E),[We,E]),Ge=(0,K.useCallback)(e=>{let t=e!==null,i=++Be.current;Ve.current?.(),S(null),t?je(!0):(b(!0),Le.current||ee(!0));let a=()=>{},o=null,s=!1,c=()=>{s||(s=!0,o!==null&&clearTimeout(o),a(),Ve.current===c&&(Ve.current=null))};a=n.on(`memory.sage.listPage`,e=>{if(i!==Be.current||!J.current){c();return}if(c(),e.payload.error)S(e.payload.error);else{let n=e.payload.memories??[];m(e=>t?[...e,...n]:n),De(e.payload.nextCursor??null),ke(!!e.payload.nextCursor);let r=e.payload.statusCounts??{};Ne(r);let i=Object.values(r).reduce((e,t)=>e+t,0);e.payload.stats?_(e.payload.stats):_(e=>({total:i,byStatus:r,byKind:e?.byKind??{},edges:e?.edges??0})),Le.current=!0,t||D(e=>e&&(n.some(t=>t.id===e)||Re.current.some(t=>t.memory.id===e))?e:null)}ee(!1),b(!1),je(!1)}),o=setTimeout(()=>{i===Be.current&&J.current&&(c(),S(`The memory store did not respond. Check the WebSocket connection and try again.`),ee(!1),b(!1),je(!1))},2e4),Ve.current=c,r({limit:ft,...U?{statuses:[`deleted`]}:{},...e?{cursor:e}:{},...R.trim()?{query:R.trim()}:{},...V===`all`?{}:{kind:V}},{echoToChat:!1})},[n,V,r,R,U]),Q=(0,K.useCallback)(()=>{De(null),ke(!1),Ge(null)},[Ge]),Ke=(0,K.useCallback)(()=>{!Ae&&Ee&&Ge(Ee)},[Ge,Ae,Ee]);(0,K.useEffect)(()=>(J.current=!0,Q(),()=>{J.current=!1,Be.current+=1,Y.current+=1,Ve.current?.(),X.current?.(),q.current?.()}),[Q]),(0,K.useEffect)(()=>{let e=R.trim();if(q.current?.(),e.length===0){L({hits:[],channel:void 0,loading:!1,error:null});return}let t=++ze.current;L(e=>({...e,loading:!0,error:null}));let r=()=>{},i=()=>{q.current===i&&(q.current=null),r()};q.current=i,r=n.on(`memory.sage.searchBreakdown`,e=>{if(t!==ze.current||!J.current){i();return}if(i(),e.payload.error){L({hits:[],channel:void 0,loading:!1,error:e.payload.error});return}L({hits:e.payload.hits??[],channel:e.payload.source,loading:!1,error:null})}),d({query:e,limit:20})},[R,n,d]),(0,K.useEffect)(()=>{Re.current=I.hits},[I.hits]),(0,K.useEffect)(()=>{if(O([]),ie([]),ae(null),!E){oe(!1);return}let e=E;oe(!0);let t=null,r=n.on(`memory.sage.graph`,n=>{n.payload.query===e&&(t!==null&&clearTimeout(t),O(n.payload.edges??[]),ie(n.payload.memories??[]),ae(n.payload.error??null),oe(!1))});return t=setTimeout(()=>{ae(`Relationship graph did not respond in time.`),oe(!1)},15e3),c(e,{maxDepth:1,limit:120},{echoToChat:!1}),()=>{t!==null&&clearTimeout(t),r()}},[n,c,E]);let qe=(0,K.useRef)(f);(0,K.useEffect)(()=>{f&&!qe.current&&Le.current&&Q(),qe.current=f},[Q,f]),(0,K.useEffect)(()=>{if(!w)return;let e=setTimeout(()=>T(null),4e3);return()=>clearTimeout(e)},[w]);let $=(0,K.useCallback)(()=>!Ue||!se&&!M||window.confirm(`Discard the unsaved memory changes?`),[M,Ue,se]),Je=(0,K.useCallback)(()=>{if(!$())return;let e=xe();le(e),P(e),ce(!0),j(!1),D(null),C(null)},[$]),Ye=(0,K.useCallback)(e=>{$()&&(D(e),ce(!1),j(!1),C(null))},[$]),Xe=(0,K.useCallback)(e=>{let t=e===void 0?Z:We(e);if(!t||t.status===`deleted`)return;e!==void 0&&D(e);let n=be(t);le(n),P(n),j(!0),ce(!1),C(null)},[We,Z]),Ze=(0,K.useCallback)(()=>{$()&&(j(!1),ce(!1),C(null))},[$]),Qe=(0,K.useCallback)((t,r,i)=>{if(!N.text.trim()){C(`Memory content is required.`);return}let a=++Y.current;X.current?.(),F(i),C(null),T(null);let o=()=>{},s=null,c=!1,l=()=>{c||(c=!0,s!==null&&clearTimeout(s),o(),X.current===l&&(X.current=null))},u=t=>{if(a!==Y.current||!J.current){l();return}if(l(),F(null),t.payload.error||!t.payload.memory){C(t.payload.error??`The server returned no memory record.`);return}let n=t.payload.memory;m(e=>{let t=e.filter(e=>e.id!==n.id);return[n,...t]}),D(n.id),ce(!1),j(!1),T(e(i===`create`?`activity:memoryManager.memoryCaptured`:`activity:memoryManager.memoryUpdated`)),Q()};o=t===`memory.sage.remember`?n.on(`memory.sage.remember`,u):n.on(`memory.sage.update`,u),s=setTimeout(()=>{a===Y.current&&J.current&&(l(),F(null),C(e(`activity:memoryManager.mutationTimeout`,{verb:e(i===`create`?`activity:memoryManager.createAction`:`common:action.save`)})))},2e4),X.current=l,r()},[n,N.text,Q,e]),$e=(0,K.useCallback)(()=>{Qe(`memory.sage.remember`,()=>a({text:N.text.trim(),kind:N.kind,scope:N.scope,tags:W(N.tags),importance:N.importance,confidence:N.confidence,freshness:N.freshness,anchors:ge(N.anchors),...W(N.audienceRoles).length||W(N.audienceTaskTypes).length||W(N.audienceModes).length?{audience:{roles:W(N.audienceRoles),taskTypes:W(N.audienceTaskTypes),modes:W(N.audienceModes)}}:{},supersedes:W(N.supersedes),contradicts:W(N.contradicts)},{echoToChat:!1}),`create`)},[N,a,Qe]),et=(0,K.useCallback)(()=>{Z&&Qe(`memory.sage.update`,()=>o(Z.id,{text:N.text.trim(),kind:N.kind,status:N.status,tags:W(N.tags),importance:N.importance,confidence:N.confidence,freshness:N.freshness,anchors:ge(N.anchors),...W(N.audienceRoles).length||W(N.audienceTaskTypes).length||W(N.audienceModes).length?{audience:{roles:W(N.audienceRoles),taskTypes:W(N.audienceTaskTypes),modes:W(N.audienceModes)}}:{},supersedes:W(N.supersedes),contradicts:W(N.contradicts)},{echoToChat:!1}),`update`)},[N,Qe,Z,o]),tt=(0,K.useCallback)(()=>{if(!fe)return;let e=++Y.current;X.current?.(),F(`delete`),C(null);let t=()=>{},r=null,i=!1,a=()=>{i||(i=!0,r!==null&&clearTimeout(r),t(),X.current===a&&(X.current=null))};t=n.on(`memory.sage.delete`,t=>{if(e!==Y.current||!J.current){a();return}if(a(),F(null),!t.payload.success){C(t.payload.message||`Delete failed.`);return}pe(null),D(null),j(!1),T(`Memory deleted and relationship edges cleaned up.`),Q()}),r=setTimeout(()=>{e===Y.current&&J.current&&(a(),F(null),C(`Delete timed out. The memory may still exist; refresh to confirm.`))},2e4),X.current=a,s(fe,`Deleted from the WebUI Memory Manager.`)},[n,s,fe,Q]),nt=(0,K.useCallback)((e,t,r)=>{let i=++Y.current;X.current?.(),C(null);let a=()=>{},o=null,s=!1,c=()=>{s||(s=!0,o!==null&&clearTimeout(o),a(),X.current===c&&(X.current=null))};a=n.on(e,e=>{if(i!==Y.current||!J.current){c();return}c(),r(e.payload)}),o=setTimeout(()=>{i===Y.current&&J.current&&(c(),C(`The memory store did not respond. Check the WebSocket connection and try again.`))},2e4),X.current=c,t()},[n]),rt=(0,K.useMemo)(()=>lt(p,{searchQuery:R,statusFilter:B,kindFilter:V,tagFilter:H,audienceOnly:ve}),[ve,V,p,R,B,H]),it=(0,K.useMemo)(()=>ut(p),[p]),at=(0,K.useMemo)(()=>dt(Z),[Z]),ot=(0,K.useCallback)(()=>{z(``),he(`all`),_e(`all`),ye(!1),Se(null)},[]);return{client:n,wsConnected:f,memories:p,stats:g,initialLoading:v,refreshing:y,loadError:x,mutationError:te,setMutationError:C,notice:w,setNotice:T,selectedId:E,setSelectedId:D,selectedMemory:Z,graphEdges:ne,graphMemories:re,graphError:k,graphLoading:A,editing:se,creating:M,draft:N,setDraft:le,busyAction:de,deletingId:fe,setDeletingId:pe,searchQuery:R,setSearchQuery:z,searchBreakdown:I,clearSearchBreakdown:()=>{ze.current+=1,q.current?.(),L({hits:[],channel:void 0,loading:!1,error:null})},statusFilter:B,setStatusFilter:he,kindFilter:V,setKindFilter:_e,audienceOnly:ve,setAudienceOnly:ye,tagFilter:H,setTagFilter:Se,libraryView:Ce,setLibraryView:we,showDeleted:U,showReview:Te,hasMore:Oe,loadingMore:Ae,statusCounts:Me,drawerOpen:G,setDrawerOpen:Pe,currentFilePath:Fe,setCurrentFilePath:Ie,knownFilePaths:He,filteredMemories:rt,allTags:it,relatedMemories:at,hasFilters:!!(R||B!==`all`||V!==`all`||H||ve),detailOpen:M||!!Z,drawerActive:G&&!!Fe,loadMemories:Q,loadMore:Ke,openCreate:Je,openMemory:Ye,openEdit:Xe,cancelEditor:Ze,submitCreate:$e,submitUpdate:et,confirmDelete:tt,sendWithAck:nt,clearFilters:ot,resolveMemoryCandidate:u,updateSage:o,recoverSage:l,listMemoryCandidates:i}}function mt(){let{t:e}=h(),t=de(e=>e.setCurrentView),n=he(`memory`),r=pt();return r.initialLoading&&r.memories.length===0?(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-busy":`true`,children:[(0,G.jsxs)(`div`,{className:`border-b border-border/70 bg-card/70 px-5 py-4`,children:[(0,G.jsx)(`div`,{className:`h-3 w-28 animate-pulse bg-muted`}),(0,G.jsx)(`div`,{className:`mt-3 h-7 w-56 animate-pulse bg-muted`})]}),(0,G.jsxs)(`div`,{className:`grid flex-1 gap-px bg-border/60 md:grid-cols-[minmax(300px,0.82fr)_minmax(0,1.35fr)]`,children:[(0,G.jsx)(`div`,{className:`space-y-px bg-background p-4`,children:Array.from({length:7},(e,t)=>(0,G.jsx)(`div`,{className:`h-24 animate-pulse border border-border/60 bg-card/45`},t))}),(0,G.jsx)(`div`,{className:`hidden bg-background p-6 md:block`,children:(0,G.jsx)(`div`,{className:`h-full animate-pulse border border-border/60 bg-card/35`})})]}),(0,G.jsx)(`span`,{className:`sr-only`,role:`status`,children:e(`activity:memoryManager.loadingSageContent`)})]}):r.loadError&&r.memories.length===0?(0,G.jsx)(`div`,{className:`flex h-full min-h-0 items-center justify-center bg-background p-6`,children:(0,G.jsxs)(`div`,{className:`max-w-md border border-destructive/35 bg-card p-6 shadow-2xl`,children:[(0,G.jsx)(`span`,{className:`flex size-11 items-center justify-center border border-destructive/35 bg-destructive/10 text-destructive`,children:(0,G.jsx)(E,{className:`size-5`})}),(0,G.jsx)(`h2`,{className:`mt-4 text-lg font-bold`,children:e(`activity:memoryManager.storeUnavailable`)}),(0,G.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:r.loadError}),(0,G.jsxs)(`div`,{className:`mt-5 flex gap-2`,children:[(0,G.jsxs)(z,{onClick:r.loadMemories,children:[(0,G.jsx)(A,{className:`size-4`}),` `,e(`common:action.retry`)]}),(0,G.jsxs)(z,{variant:`outline`,onClick:()=>t(`chat`),children:[(0,G.jsx)(se,{className:`size-4`}),` `,e(`activity:memoryManager.backToChat`)]})]})]})}):(0,G.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col overflow-hidden bg-background`,children:[(0,G.jsx)(nt,{wsConnected:r.wsConnected,refreshing:r.refreshing,onRefresh:r.loadMemories,onCreate:r.openCreate}),(0,G.jsx)(rt,{stats:r.stats,memories:r.memories,filteredCount:r.filteredMemories.length,allTagsCount:r.allTags.length}),(r.notice||r.loadError||r.mutationError)&&(0,G.jsxs)(`div`,{className:`shrink-0 border-b border-border/70 px-4 py-2`,"aria-live":`polite`,children:[r.notice&&(0,G.jsxs)(`div`,{role:`status`,className:`flex items-center gap-2 text-xs text-success`,children:[(0,G.jsx)(d,{className:`size-3.5`}),` `,r.notice]}),r.loadError&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-center gap-2 text-xs text-warning`,children:[(0,G.jsx)(E,{className:`size-3.5`}),` `,r.loadError,` Existing content remains available.`]}),r.mutationError&&!r.editing&&!r.creating&&(0,G.jsxs)(`div`,{role:`alert`,className:`flex items-center gap-2 text-xs text-destructive`,children:[(0,G.jsx)(E,{className:`size-3.5`}),` `,r.mutationError]})]}),(0,G.jsxs)(`div`,{className:`grid min-h-0 flex-1 md:grid-cols-[minmax(320px,0.82fr)_minmax(0,1.35fr)]`,children:[(0,G.jsxs)(`section`,{className:P(`min-h-0 border-r border-border/70 bg-card/25`,r.detailOpen?`hidden md:flex md:flex-col`:`flex flex-col`),"aria-label":e(`activity:memoryManager.libraryAria`),children:[(0,G.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1 border-b border-border/60 px-3 pt-1`,role:`tablist`,"aria-label":e(`activity:memoryManager.viewAria`),children:[(0,G.jsx)(z,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":r.libraryView===`active`,onClick:()=>r.setLibraryView(`active`),className:P(`h-7 rounded-b-none border-b-2 px-3 text-[11px]`,r.libraryView===`active`?`border-primary text-foreground`:`border-transparent text-muted-foreground`),children:e(`activity:memoryManager.tabActive`)}),(0,G.jsx)(z,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":r.showReview,onClick:()=>r.setLibraryView(`review`),className:P(`h-7 rounded-b-none border-b-2 px-3 text-[11px]`,r.showReview?`border-primary text-foreground`:`border-transparent text-muted-foreground`),children:e(`activity:memoryManager.tabReview`)}),(0,G.jsxs)(z,{type:`button`,variant:`ghost`,size:`sm`,role:`tab`,"aria-selected":r.showDeleted,onClick:()=>r.setLibraryView(`deleted`),className:P(`h-7 rounded-b-none border-b-2 px-3 text-[11px]`,r.showDeleted?`border-primary text-foreground`:`border-transparent text-muted-foreground`),children:[e(`activity:memoryManager.tabDeleted`),typeof r.statusCounts.deleted==`number`?` (${r.statusCounts.deleted})`:``]})]}),r.showReview?(0,G.jsx)(ct,{active:r.showReview,client:r.client,listCandidates:r.listMemoryCandidates,resolveCandidate:r.resolveMemoryCandidate,onOpenMemory:r.openMemory}):(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(Xe,{searchQuery:r.searchQuery,statusFilter:r.statusFilter,kindFilter:r.kindFilter,audienceOnly:r.audienceOnly,tagFilter:r.tagFilter,hasFilters:r.hasFilters,allTags:r.allTags,stats:r.stats,onSearchChange:r.setSearchQuery,onStatusFilterChange:r.setStatusFilter,onKindFilterChange:r.setKindFilter,onToggleAudienceOnly:()=>r.setAudienceOnly(e=>!e),onTagFilterChange:r.setTagFilter,onClearFilters:r.clearFilters}),(0,G.jsx)(Qe,{memoryListRef:n,memories:r.memories,filteredMemories:r.filteredMemories,selectedId:r.selectedId,onSelectMemory:r.openMemory,onOpenCreate:r.openCreate,onClearFilters:r.clearFilters}),r.searchQuery.trim().length>0&&(0,G.jsx)(it,{query:r.searchQuery.trim(),channel:r.searchBreakdown.channel,hits:r.searchBreakdown.hits,loading:r.searchBreakdown.loading,error:r.searchBreakdown.error,onOpenMemory:r.openMemory,onClear:r.clearSearchBreakdown}),r.hasMore?(0,G.jsx)(`div`,{className:`shrink-0 border-t border-border/60 p-2`,children:(0,G.jsx)(z,{type:`button`,variant:`outline`,size:`sm`,onClick:r.loadMore,disabled:r.loadingMore,className:`h-7 w-full text-[11px]`,children:r.loadingMore?e(`common:action.loading`):`Load more (${r.memories.length} loaded)`})}):null]})]}),(0,G.jsxs)(`section`,{className:P(`min-h-0 bg-background`,r.detailOpen?`flex flex-col`:`hidden md:flex md:flex-col`),"aria-label":e(`activity:memoryManager.detailAria`),children:[r.memories.some(e=>(e.anchors??[]).some(e=>e.type===`file`&&e.path))&&(0,G.jsx)(Je,{currentFilePath:r.currentFilePath,knownFilePaths:r.knownFilePaths,drawerActive:r.drawerActive,onFilePathChange:e=>{e&&r.knownFilePaths.has(e)?(r.setCurrentFilePath(e),r.setDrawerOpen(!0)):e?r.setCurrentFilePath(e):r.setCurrentFilePath(null)},onToggleDrawer:()=>{r.currentFilePath&&r.setDrawerOpen(e=>!e)}}),r.creating?(0,G.jsx)(Ye,{mode:`create`,draft:r.draft,busy:r.busyAction===`create`,error:r.mutationError,onChange:r.setDraft,onCancel:r.cancelEditor,onSubmit:r.submitCreate}):r.selectedMemory?r.editing?(0,G.jsx)(Ye,{mode:`edit`,draft:r.draft,busy:r.busyAction===`update`,error:r.mutationError,onChange:r.setDraft,onCancel:r.cancelEditor,onSubmit:r.submitUpdate}):r.drawerActive?(0,G.jsx)(Ne,{filePath:r.currentFilePath,open:r.drawerActive,onClose:()=>r.setDrawerOpen(!1),onShowMemory:e=>r.setSelectedId(e),onAcceptDeletion:(e,t)=>{r.sendWithAck(`memory.sage.candidateResolve`,()=>r.resolveMemoryCandidate({candidateId:e,action:`accept`}),n=>{if(n.error){r.setMutationError(n.error);return}r.setNotice(`Accepted hygiene review for ${t.slice(0,12)}… (candidate ${e.slice(0,12)}…).`),r.loadMemories()})},onKeep:(e,t)=>{r.sendWithAck(`memory.sage.candidateResolve`,()=>r.resolveMemoryCandidate({candidateId:e,action:`reject`}),n=>{if(n.error){r.setMutationError(n.error);return}r.setNotice(`Kept ${t.slice(0,12)}… (candidate ${e.slice(0,12)}… rejected).`),r.loadMemories()})},onUpdate:e=>{r.openEdit(e)},onMarkPermanent:e=>{r.sendWithAck(`memory.sage.update`,()=>r.updateSage(e,{persistence:`permanent`}),t=>{if(t.error||!t.memory){r.setMutationError(t.error??`The server returned no memory record.`);return}r.setNotice(`Memory ${e.slice(0,12)}… promoted to permanent.`),r.loadMemories()})},onRecover:e=>{r.sendWithAck(`memory.sage.recover`,()=>r.recoverSage({id:e,reason:`recovered via file drawer`}),t=>{if(t.error){r.setMutationError(t.error);return}r.setNotice(`Recovered ${e.slice(0,12)}…`),r.loadMemories()})}}):(0,G.jsx)(Ue,{memory:r.selectedMemory,allMemories:[...r.memories,...r.graphMemories],relatedMemories:r.relatedMemories,graphEdges:r.graphEdges,graphLoading:r.graphLoading,graphError:r.graphError,onClose:()=>r.setSelectedId(null),onOpenMemory:r.openMemory,onEdit:r.openEdit,onDelete:()=>r.setDeletingId(r.selectedMemory.id),onTagSelect:e=>{r.setTagFilter(e),r.setSelectedId(null)},onNotice:r.setNotice}):(0,G.jsx)(tt,{onCapture:r.openCreate})]})]}),(0,G.jsx)(Pe,{busyAction:r.busyAction,deletingId:r.deletingId,memory:r.selectedMemory,onCancel:()=>r.setDeletingId(null),onConfirm:r.confirmDelete,onOpenChange:e=>{!e&&r.busyAction!==`delete`&&r.setDeletingId(null)}})]})}export{mt as MemoryManager};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{V as t,et as n,vt as r}from"./ws-client-DitX7fid.js";import{i,t as a}from"./react-core-D0Ec-185.js";import{Fa as o,St as s,ht as c,kt as l}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{t as u}from"./utils-CmY0Pw1m.js";import{n as d,o as f,r as p,t as m}from"./dialog-DT8I6gze.js";import{P as h}from"./index-CbwgQF8l.js";var g=e(i(),1),_=a();function v({open:e,onClose:i,className:a}){let{t:v}=o(),[y,b]=(0,g.useState)([]),x=r(),S=h(),C=n(e=>e.wsConnected),w=(0,g.useRef)(null),T=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!e||!C||!S.client?.isConnected)return;b([]);let n=()=>{let e=S.client.withSession?.({})??(x?{sessionId:x}:{});S.client.send?.({type:`process.list`,payload:e})};return n(),w.current=S.client.on?.(`process.list`,e=>{let n=e?.payload;n?.processes&&t(n.sessionId,x)&&b(n.processes)})??null,T.current=setInterval(n,3e3),()=>{w.current?.(),T.current&&clearInterval(T.current)}},[e,C,S.client,x]);let E=y.filter(e=>e.status===`running`),D=(0,g.useCallback)(e=>{if(e.background&&!window.confirm(v(`activity:process.confirmKillBackground`,{pid:e.pid,defaultValue:`Terminate detached background process ${e.pid}?`})))return;let t=S.client.withSession?.({pid:e.pid})??{pid:e.pid};S.client.send?.({type:`process.kill`,payload:t})},[v,S.client]),O=(0,g.useCallback)(()=>{if(!window.confirm(v(`activity:process.confirmKillAll`,{count:E.length,defaultValue:`Terminate all ${E.length} running processes?`})))return;let e=S.client.withSession?.({})??(x?{sessionId:x}:{});S.client.send?.({type:`process.killAll`,payload:e})},[E.length,v,S.client,x]);return(0,_.jsx)(m,{open:e,onOpenChange:e=>{e||i()},children:(0,_.jsxs)(d,{className:u(`max-w-lg gap-0 p-0 overflow-hidden flex flex-col max-h-[75dvh] pt-[10dvh]`,a),showCloseButton:!1,children:[(0,_.jsx)(f,{className:`sr-only`,children:v(`activity:process.heading`)}),(0,_.jsx)(p,{className:`sr-only`,children:v(`activity:process.subtitle`,{active:E.length,total:y.length})}),(0,_.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b shrink-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,_.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-lg bg-warning/10 text-warning`,children:(0,_.jsx)(c,{className:`h-4 w-4`})}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`h2`,{className:`text-sm font-semibold`,children:v(`activity:process.heading`)}),(0,_.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:v(`activity:process.subtitle`,{active:E.length,total:y.length})})]})]}),(0,_.jsx)(`div`,{className:`flex items-center gap-1`,children:E.length>0&&(0,_.jsxs)(`button`,{type:`button`,onClick:O,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,children:[(0,_.jsx)(s,{className:`h-3 w-3 fill-current`}),v(`activity:process.killAll`)]})})]}),(0,_.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:y.length===0?(0,_.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,_.jsx)(c,{className:`h-10 w-10 opacity-15`}),(0,_.jsx)(`p`,{className:`text-sm font-medium`,children:v(`activity:process.emptyTitle`)}),(0,_.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:v(`activity:process.emptyBody`)})]}):(0,_.jsx)(`div`,{className:`divide-y`,children:y.map(e=>{let t=e.status===`running`?Math.floor((Date.now()-e.startedAt)/1e3):null,n=t?t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`:null,r=e.protected===!0,i=e.background===!0;return(0,_.jsxs)(`div`,{className:u(`flex items-center justify-between px-4 py-3 text-xs transition-colors`,e.status===`running`?`bg-background hover:bg-muted/30`:`bg-muted/20 text-muted-foreground`),children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 flex-1`,children:[(0,_.jsx)(`span`,{className:u(`led shrink-0`,e.status===`running`?r?`text-info`:`text-success led-pulse`:`text-muted-foreground`)}),(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground shrink-0`,children:v(`activity:process.pidLabel`,{pid:e.pid})}),(0,_.jsx)(`span`,{className:`font-medium truncate`,children:e.tool}),r&&(0,_.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-1 py-0.5 rounded text-[9px] bg-info/10 text-info font-medium shrink-0`,title:v(`activity:process.protectedTitle`),children:[(0,_.jsx)(l,{className:`h-2.5 w-2.5`}),v(`activity:process.protected`)]}),i&&(0,_.jsx)(`span`,{className:`inline-flex items-center px-1 py-0.5 rounded text-[9px] bg-success/10 text-success font-medium shrink-0`,title:v(`activity:process.backgroundTitle`),children:v(`activity:process.background`)})]}),(0,_.jsx)(`code`,{className:`text-[10px] text-muted-foreground/70 truncate block mt-0.5 font-mono`,children:e.command})]})]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0 ml-3`,children:[n&&(0,_.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:n}),e.status===`running`&&!r&&(0,_.jsx)(`button`,{type:`button`,onClick:()=>D(e),className:`p-1.5 rounded-md hover:bg-destructive/10 hover:text-destructive transition-colors`,title:v(`activity:process.killTitle`,{pid:e.pid}),children:(0,_.jsx)(s,{className:`h-3.5 w-3.5 fill-current`})})]})]},e.pid)})})})]})})}export{v as ProcessMonitor};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{V as t,et as n,vt as r}from"./ws-client-BG2ZSPmv.js";import{i,t as a}from"./react-core-D0Ec-185.js";import{La as o,St as s,ht as c,kt as l}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{t as u}from"./utils-YeTxmVPQ.js";import{n as d,o as f,r as p,t as m}from"./dialog-DyGu9hTX.js";import{P as h}from"./index-r9OdFrxf.js";var g=e(i(),1),_=a();function v({open:e,onClose:i,className:a}){let{t:v}=o(),[y,b]=(0,g.useState)([]),x=r(),S=h(),C=n(e=>e.wsConnected),w=(0,g.useRef)(null),T=(0,g.useRef)(null);(0,g.useEffect)(()=>{if(!e||!C||!S.client?.isConnected)return;b([]);let n=()=>{let e=S.client.withSession?.({})??(x?{sessionId:x}:{});S.client.send?.({type:`process.list`,payload:e})};return n(),w.current=S.client.on?.(`process.list`,e=>{let n=e?.payload;n?.processes&&t(n.sessionId,x)&&b(n.processes)})??null,T.current=setInterval(n,3e3),()=>{w.current?.(),T.current&&clearInterval(T.current)}},[e,C,S.client,x]);let E=y.filter(e=>e.status===`running`),D=(0,g.useCallback)(e=>{if(e.background&&!window.confirm(v(`activity:process.confirmKillBackground`,{pid:e.pid,defaultValue:`Terminate detached background process ${e.pid}?`})))return;let t=S.client.withSession?.({pid:e.pid})??{pid:e.pid};S.client.send?.({type:`process.kill`,payload:t})},[v,S.client]),O=(0,g.useCallback)(()=>{if(!window.confirm(v(`activity:process.confirmKillAll`,{count:E.length,defaultValue:`Terminate all ${E.length} running processes?`})))return;let e=S.client.withSession?.({})??(x?{sessionId:x}:{});S.client.send?.({type:`process.killAll`,payload:e})},[E.length,v,S.client,x]);return(0,_.jsx)(m,{open:e,onOpenChange:e=>{e||i()},children:(0,_.jsxs)(d,{className:u(`max-w-lg gap-0 p-0 overflow-hidden flex flex-col max-h-[75dvh] pt-[10dvh]`,a),showCloseButton:!1,children:[(0,_.jsx)(f,{className:`sr-only`,children:v(`activity:process.heading`)}),(0,_.jsx)(p,{className:`sr-only`,children:v(`activity:process.subtitle`,{active:E.length,total:y.length})}),(0,_.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b shrink-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,_.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-lg bg-warning/10 text-warning`,children:(0,_.jsx)(c,{className:`h-4 w-4`})}),(0,_.jsxs)(`div`,{children:[(0,_.jsx)(`h2`,{className:`text-sm font-semibold`,children:v(`activity:process.heading`)}),(0,_.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:v(`activity:process.subtitle`,{active:E.length,total:y.length})})]})]}),(0,_.jsx)(`div`,{className:`flex items-center gap-1`,children:E.length>0&&(0,_.jsxs)(`button`,{type:`button`,onClick:O,className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,children:[(0,_.jsx)(s,{className:`h-3 w-3 fill-current`}),v(`activity:process.killAll`)]})})]}),(0,_.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:y.length===0?(0,_.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,_.jsx)(c,{className:`h-10 w-10 opacity-15`}),(0,_.jsx)(`p`,{className:`text-sm font-medium`,children:v(`activity:process.emptyTitle`)}),(0,_.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:v(`activity:process.emptyBody`)})]}):(0,_.jsx)(`div`,{className:`divide-y`,children:y.map(e=>{let t=e.status===`running`?Math.floor((Date.now()-e.startedAt)/1e3):null,n=t?t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`:null,r=e.protected===!0,i=e.background===!0;return(0,_.jsxs)(`div`,{className:u(`flex items-center justify-between px-4 py-3 text-xs transition-colors`,e.status===`running`?`bg-background hover:bg-muted/30`:`bg-muted/20 text-muted-foreground`),children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 flex-1`,children:[(0,_.jsx)(`span`,{className:u(`led shrink-0`,e.status===`running`?r?`text-info`:`text-success led-pulse`:`text-muted-foreground`)}),(0,_.jsxs)(`div`,{className:`min-w-0`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground shrink-0`,children:v(`activity:process.pidLabel`,{pid:e.pid})}),(0,_.jsx)(`span`,{className:`font-medium truncate`,children:e.tool}),r&&(0,_.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-1 py-0.5 rounded text-[9px] bg-info/10 text-info font-medium shrink-0`,title:v(`activity:process.protectedTitle`),children:[(0,_.jsx)(l,{className:`h-2.5 w-2.5`}),v(`activity:process.protected`)]}),i&&(0,_.jsx)(`span`,{className:`inline-flex items-center px-1 py-0.5 rounded text-[9px] bg-success/10 text-success font-medium shrink-0`,title:v(`activity:process.backgroundTitle`),children:v(`activity:process.background`)})]}),(0,_.jsx)(`code`,{className:`text-[10px] text-muted-foreground/70 truncate block mt-0.5 font-mono`,children:e.command})]})]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0 ml-3`,children:[n&&(0,_.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:n}),e.status===`running`&&!r&&(0,_.jsx)(`button`,{type:`button`,onClick:()=>D(e),className:`p-1.5 rounded-md hover:bg-destructive/10 hover:text-destructive transition-colors`,title:v(`activity:process.killTitle`,{pid:e.pid}),children:(0,_.jsx)(s,{className:`h-3.5 w-3.5 fill-current`})})]})]},e.pid)})})})]})})}export{v as ProcessMonitor};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./ws-client-DitX7fid.js";import{i as n,t as r}from"./react-core-D0Ec-185.js";import{Fa as i,Ki as a,Rr as o,Ut as s,Wi as c,lt as l,tn as u}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{t as d}from"./utils-CmY0Pw1m.js";var f=e(n(),1),p=r(),m=200,h=new Set([`raw_user`,`refined_user`]),g=[`raw_user`,`refined_user`];function _(e,t){return e(`activity:promptJournal.cat.${t}`,t)}function v(){let{t:e}=i(),n=t(),[r,a]=(0,f.useState)([]),[c,v]=(0,f.useState)(!0),[b,x]=(0,f.useState)(null),[S,C]=(0,f.useState)(!0),[w,T]=(0,f.useState)({category:``,session:``,limit:m}),[E,D]=(0,f.useState)(new Set),O=(0,f.useCallback)(()=>{if(!n.isConnected){C(!1);return}C(!0),x(null),n.send({type:`prompts.journal`,payload:{filter:{...w.category?{category:w.category}:{},limit:w.limit}}})},[n,w.category,w.limit]);(0,f.useEffect)(()=>{let e=e=>{let t=e.payload;v(t.enabled);let n=(t.entries??[]).filter(e=>h.has(e.category));a(n),x(t.error??null),C(!1)};return n.on(`prompts.journal`,e),O(),()=>n.off(`prompts.journal`,e)},[n,O]);let k=(0,f.useMemo)(()=>{let e=w.session.trim().toLowerCase(),t=r.filter(t=>!e||t.sessionId.toLowerCase().includes(e)),n=new Map;for(let e of[...t].reverse()){let t=e.timestamp.slice(0,10),r=n.get(t)??[];r.push(e),n.set(t,r)}return[...n.entries()]},[r,w.session]),A=(0,f.useMemo)(()=>{let e=0;for(let t of r)e+=t.metadata.tokenEstimate??0;return{count:r.length,tokens:e}},[r]),j=e=>{D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},M=(0,f.useMemo)(()=>g.filter(e=>r.some(t=>t.category===e)),[r]);return(0,p.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-y-auto`,children:[(0,p.jsxs)(`div`,{className:`border-b border-border/70 px-4 py-3 sm:px-6`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(s,{className:`h-5 w-5 text-primary`}),(0,p.jsx)(`h1`,{className:`text-base font-semibold`,children:e(`activity:promptJournal.title`)})]}),(0,p.jsxs)(`button`,{type:`button`,onClick:O,disabled:S,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50`,children:[(0,p.jsx)(u,{className:d(`h-3.5 w-3.5`,S&&`animate-spin`)}),e(`activity:promptJournal.refresh`)]})]}),(0,p.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:promptJournal.subtitle`)}),c&&A.count>0&&(0,p.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.statEntries`,{count:A.count})}),(0,p.jsx)(`span`,{children:e(`activity:promptJournal.statTokens`,{count:A.tokens.toLocaleString()})})]})]}),(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 px-4 py-2 sm:px-6`,children:[(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterCategory`)}),(0,p.jsxs)(`select`,{value:w.category,onChange:e=>T(t=>({...t,category:e.target.value})),className:`rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`,children:[(0,p.jsx)(`option`,{value:``,children:e(`activity:promptJournal.filterAll`)}),M.map(t=>(0,p.jsx)(`option`,{value:t,children:_(e,t)},t))]})]}),(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterSession`)}),(0,p.jsx)(`input`,{type:`text`,value:w.session,onChange:e=>T(t=>({...t,session:e.target.value})),placeholder:`sess_…`,className:`w-40 rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`})]}),(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterLimit`)}),(0,p.jsxs)(`select`,{value:w.limit,onChange:e=>T(t=>({...t,limit:Number(e.target.value)})),className:`rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`,children:[(0,p.jsx)(`option`,{value:50,children:`50`}),(0,p.jsx)(`option`,{value:200,children:`200`}),(0,p.jsx)(`option`,{value:1e3,children:`1000`})]})]})]}),(0,p.jsxs)(`div`,{className:`min-h-0 flex-1 px-4 py-3 sm:px-6`,children:[S&&(0,p.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:e(`activity:promptJournal.loading`)}),!S&&b&&(0,p.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-10 text-sm text-destructive`,children:[(0,p.jsx)(l,{className:`h-4 w-4`}),b]}),!S&&!b&&!c&&(0,p.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:e(`activity:promptJournal.disabled`)}),!S&&!b&&c&&k.length===0&&(0,p.jsxs)(`div`,{className:`py-10 text-center`,children:[(0,p.jsx)(o,{className:`mx-auto h-8 w-8 text-muted-foreground/50`}),(0,p.jsx)(`div`,{className:`mt-2 text-sm font-medium text-foreground`,children:e(`activity:promptJournal.emptyTitle`)}),(0,p.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:promptJournal.emptyHint`)})]}),!S&&!b&&c&&k.length>0&&(0,p.jsx)(`div`,{className:`space-y-5`,children:k.map(([e,t])=>(0,p.jsxs)(`section`,{children:[(0,p.jsxs)(`h2`,{className:`sticky top-0 z-10 border-b border-border/60 bg-background/90 py-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground backdrop-blur`,children:[e,(0,p.jsx)(`span`,{className:`ml-2 font-normal normal-case text-muted-foreground/60`,children:t.length})]}),(0,p.jsx)(`ul`,{className:`mt-2 space-y-2`,children:t.map(e=>(0,p.jsx)(y,{entry:e,expanded:E.has(e.id),onToggle:()=>j(e.id)},e.id))})]},e))})]})]})}function y({entry:e,expanded:t,onToggle:n}){let{t:r}=i(),o=e.timestamp.slice(11,19),s=e.metadata,l=e.content.trim().slice(0,240),u=e.rawContent!==void 0&&e.rawContent!==e.content;return(0,p.jsxs)(`li`,{className:`rounded-lg border border-border/70 bg-card/60`,children:[(0,p.jsxs)(`button`,{type:`button`,onClick:n,className:`flex w-full items-start gap-2 rounded-lg px-3 py-2 text-left hover:bg-accent/40`,children:[t?(0,p.jsx)(a,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}):(0,p.jsx)(c,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-xs`,children:[(0,p.jsx)(`span`,{className:`tabular text-muted-foreground`,children:o}),(0,p.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 font-medium text-primary`,children:_(r,e.category)}),(0,p.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-muted-foreground`,children:e.role}),(0,p.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:e.sessionId})]}),!t&&l&&(0,p.jsx)(`div`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap break-words text-xs text-foreground/80`,children:l})]}),(0,p.jsxs)(`span`,{className:`shrink-0 text-[11px] tabular text-muted-foreground`,children:[`~`,s.tokenEstimate,` `,r(`activity:promptJournal.tokens`)]})]}),t&&(0,p.jsxs)(`div`,{className:`border-t border-border/60 px-3 py-2 pl-9`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:r(`activity:promptJournal.refinedBody`)}),(0,p.jsx)(`pre`,{className:`mt-1 max-h-72 overflow-auto whitespace-pre-wrap break-words rounded bg-muted/50 p-2 text-xs text-foreground`,children:e.content}),u&&(0,p.jsxs)(`div`,{className:`mt-2`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:r(`activity:promptJournal.rawInput`)}),(0,p.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-muted/30 p-2 text-xs text-muted-foreground`,children:e.rawContent})]})]})]})}export{v as PromptJournalView};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./ws-client-BG2ZSPmv.js";import{i as n,t as r}from"./react-core-D0Ec-185.js";import{Gi as i,La as a,Ut as o,lt as s,qi as c,tn as l,zr as u}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{t as d}from"./utils-YeTxmVPQ.js";var f=e(n(),1),p=r(),m=200,h=new Set([`raw_user`,`refined_user`]),g=[`raw_user`,`refined_user`];function _(e,t){return e(`activity:promptJournal.cat.${t}`,t)}function v(){let{t:e}=a(),n=t(),[r,i]=(0,f.useState)([]),[c,v]=(0,f.useState)(!0),[b,x]=(0,f.useState)(null),[S,C]=(0,f.useState)(!0),[w,T]=(0,f.useState)({category:``,session:``,limit:m}),[E,D]=(0,f.useState)(new Set),O=(0,f.useCallback)(()=>{if(!n.isConnected){C(!1);return}C(!0),x(null),n.send({type:`prompts.journal`,payload:{filter:{...w.category?{category:w.category}:{},limit:w.limit}}})},[n,w.category,w.limit]);(0,f.useEffect)(()=>{let e=e=>{let t=e.payload;v(t.enabled);let n=(t.entries??[]).filter(e=>h.has(e.category));i(n),x(t.error??null),C(!1)};return n.on(`prompts.journal`,e),O(),()=>n.off(`prompts.journal`,e)},[n,O]);let k=(0,f.useMemo)(()=>{let e=w.session.trim().toLowerCase(),t=r.filter(t=>!e||t.sessionId.toLowerCase().includes(e)),n=new Map;for(let e of[...t].reverse()){let t=e.timestamp.slice(0,10),r=n.get(t)??[];r.push(e),n.set(t,r)}return[...n.entries()]},[r,w.session]),A=(0,f.useMemo)(()=>{let e=0;for(let t of r)e+=t.metadata.tokenEstimate??0;return{count:r.length,tokens:e}},[r]),j=e=>{D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},M=(0,f.useMemo)(()=>g.filter(e=>r.some(t=>t.category===e)),[r]);return(0,p.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-y-auto`,children:[(0,p.jsxs)(`div`,{className:`border-b border-border/70 px-4 py-3 sm:px-6`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(o,{className:`h-5 w-5 text-primary`}),(0,p.jsx)(`h1`,{className:`text-base font-semibold`,children:e(`activity:promptJournal.title`)})]}),(0,p.jsxs)(`button`,{type:`button`,onClick:O,disabled:S,className:`inline-flex items-center gap-1.5 rounded-md border border-border px-2.5 py-1.5 text-xs text-muted-foreground transition-colors hover:bg-accent hover:text-foreground disabled:opacity-50`,children:[(0,p.jsx)(l,{className:d(`h-3.5 w-3.5`,S&&`animate-spin`)}),e(`activity:promptJournal.refresh`)]})]}),(0,p.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:promptJournal.subtitle`)}),c&&A.count>0&&(0,p.jsxs)(`div`,{className:`mt-2 flex flex-wrap gap-x-4 gap-y-1 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.statEntries`,{count:A.count})}),(0,p.jsx)(`span`,{children:e(`activity:promptJournal.statTokens`,{count:A.tokens.toLocaleString()})})]})]}),(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 border-b border-border/70 px-4 py-2 sm:px-6`,children:[(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterCategory`)}),(0,p.jsxs)(`select`,{value:w.category,onChange:e=>T(t=>({...t,category:e.target.value})),className:`rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`,children:[(0,p.jsx)(`option`,{value:``,children:e(`activity:promptJournal.filterAll`)}),M.map(t=>(0,p.jsx)(`option`,{value:t,children:_(e,t)},t))]})]}),(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterSession`)}),(0,p.jsx)(`input`,{type:`text`,value:w.session,onChange:e=>T(t=>({...t,session:e.target.value})),placeholder:`sess_…`,className:`w-40 rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`})]}),(0,p.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs text-muted-foreground`,children:[(0,p.jsx)(`span`,{children:e(`activity:promptJournal.filterLimit`)}),(0,p.jsxs)(`select`,{value:w.limit,onChange:e=>T(t=>({...t,limit:Number(e.target.value)})),className:`rounded border border-border bg-background px-2 py-1 text-xs outline-none focus:ring-1 focus:ring-primary`,children:[(0,p.jsx)(`option`,{value:50,children:`50`}),(0,p.jsx)(`option`,{value:200,children:`200`}),(0,p.jsx)(`option`,{value:1e3,children:`1000`})]})]})]}),(0,p.jsxs)(`div`,{className:`min-h-0 flex-1 px-4 py-3 sm:px-6`,children:[S&&(0,p.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:e(`activity:promptJournal.loading`)}),!S&&b&&(0,p.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-10 text-sm text-destructive`,children:[(0,p.jsx)(s,{className:`h-4 w-4`}),b]}),!S&&!b&&!c&&(0,p.jsx)(`div`,{className:`py-10 text-center text-sm text-muted-foreground`,children:e(`activity:promptJournal.disabled`)}),!S&&!b&&c&&k.length===0&&(0,p.jsxs)(`div`,{className:`py-10 text-center`,children:[(0,p.jsx)(u,{className:`mx-auto h-8 w-8 text-muted-foreground/50`}),(0,p.jsx)(`div`,{className:`mt-2 text-sm font-medium text-foreground`,children:e(`activity:promptJournal.emptyTitle`)}),(0,p.jsx)(`div`,{className:`mt-1 text-xs text-muted-foreground`,children:e(`activity:promptJournal.emptyHint`)})]}),!S&&!b&&c&&k.length>0&&(0,p.jsx)(`div`,{className:`space-y-5`,children:k.map(([e,t])=>(0,p.jsxs)(`section`,{children:[(0,p.jsxs)(`h2`,{className:`sticky top-0 z-10 border-b border-border/60 bg-background/90 py-1 text-xs font-semibold uppercase tracking-wide text-muted-foreground backdrop-blur`,children:[e,(0,p.jsx)(`span`,{className:`ml-2 font-normal normal-case text-muted-foreground/60`,children:t.length})]}),(0,p.jsx)(`ul`,{className:`mt-2 space-y-2`,children:t.map(e=>(0,p.jsx)(y,{entry:e,expanded:E.has(e.id),onToggle:()=>j(e.id)},e.id))})]},e))})]})]})}function y({entry:e,expanded:t,onToggle:n}){let{t:r}=a(),o=e.timestamp.slice(11,19),s=e.metadata,l=e.content.trim().slice(0,240),u=e.rawContent!==void 0&&e.rawContent!==e.content;return(0,p.jsxs)(`li`,{className:`rounded-lg border border-border/70 bg-card/60`,children:[(0,p.jsxs)(`button`,{type:`button`,onClick:n,className:`flex w-full items-start gap-2 rounded-lg px-3 py-2 text-left hover:bg-accent/40`,children:[t?(0,p.jsx)(c,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}):(0,p.jsx)(i,{className:`mt-0.5 h-4 w-4 shrink-0 text-muted-foreground`}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-xs`,children:[(0,p.jsx)(`span`,{className:`tabular text-muted-foreground`,children:o}),(0,p.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 font-medium text-primary`,children:_(r,e.category)}),(0,p.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-muted-foreground`,children:e.role}),(0,p.jsx)(`span`,{className:`font-mono text-[11px] text-muted-foreground`,children:e.sessionId})]}),!t&&l&&(0,p.jsx)(`div`,{className:`mt-1 line-clamp-2 whitespace-pre-wrap break-words text-xs text-foreground/80`,children:l})]}),(0,p.jsxs)(`span`,{className:`shrink-0 text-[11px] tabular text-muted-foreground`,children:[`~`,s.tokenEstimate,` `,r(`activity:promptJournal.tokens`)]})]}),t&&(0,p.jsxs)(`div`,{className:`border-t border-border/60 px-3 py-2 pl-9`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:r(`activity:promptJournal.refinedBody`)}),(0,p.jsx)(`pre`,{className:`mt-1 max-h-72 overflow-auto whitespace-pre-wrap break-words rounded bg-muted/50 p-2 text-xs text-foreground`,children:e.content}),u&&(0,p.jsxs)(`div`,{className:`mt-2`,children:[(0,p.jsx)(`div`,{className:`text-[11px] font-semibold uppercase tracking-wide text-muted-foreground`,children:r(`activity:promptJournal.rawInput`)}),(0,p.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words rounded bg-muted/30 p-2 text-xs text-muted-foreground`,children:e.rawContent})]})]})]})}export{v as PromptJournalView};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{kt as t,vt as n}from"./ws-client-DitX7fid.js";import{i as r,t as i}from"./react-core-D0Ec-185.js";import{Ca as a,Fa as o,K as s,Xn as c,ft as l,ga as u,qi as d}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{t as f}from"./utils-CmY0Pw1m.js";import{n as p,o as m,r as h,t as g}from"./dialog-DT8I6gze.js";import{lt as _}from"./index-CbwgQF8l.js";var v=e(r(),1),y=i(),b={btw:{label:`btw`,titleKey:`btwTitle`,tone:`bg-primary/10 text-primary border-primary/30`},steer:{label:`steer`,titleKey:`steerTitle`,tone:`bg-warning/10 text-warning border-warning/35`},queue:{label:`queue`,titleKey:`queueTitle`,tone:`bg-info/10 text-info border-info/30`}},x=`__no_session__`,S=new Map,C=new Set;t(e=>{S.delete(e),C.add(e)});function w({open:e,onClose:t,className:r}){let{t:i}=o(),w=_(e=>e.queue),T=_(e=>e.removeQueued),E=_(e=>e.clearQueue),[D,O]=(0,v.useState)(`oldest`),k=n(),A=(0,v.useRef)(k??x);(0,v.useLayoutEffect)(()=>{C.has(A.current)||S.set(A.current,D);let e=k??x;C.delete(e),O(S.get(e)??`oldest`),A.current=e},[k]);let j=(0,v.useCallback)(e=>{T(e)},[T]),M=(0,v.useMemo)(()=>{let e=w.map((e,t)=>({item:e,sourceIdx:t}));return e.sort((e,t)=>D===`newest`?t.item.addedAt-e.item.addedAt:e.item.addedAt-t.item.addedAt),e},[w,D]),N=w.length>0&&w.every(e=>e.alreadyDispatched);return(0,y.jsx)(g,{open:e,onOpenChange:e=>{e||t()},children:(0,y.jsxs)(p,{className:f(`max-w-lg gap-0 overflow-hidden border-border/80 bg-card p-0 pt-[10dvh] flex flex-col max-h-[70dvh]`,r),showCloseButton:!1,children:[(0,y.jsx)(m,{className:`sr-only`,children:i(`activity:queue.heading`)}),(0,y.jsx)(h,{className:`sr-only`,children:i(`activity:queue.subtitle`,{count:w.length})}),(0,y.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/95 px-4 py-3 shrink-0`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,y.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,y.jsx)(c,{className:`h-4 w-4`})}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`h2`,{className:`text-sm font-semibold`,children:i(`activity:queue.heading`)}),(0,y.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:i(`activity:queue.subtitle`,{count:w.length})})]})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,y.jsxs)(`button`,{type:`button`,onClick:()=>O(e=>e===`newest`?`oldest`:`newest`),className:f(`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs transition-colors font-medium`,`text-muted-foreground hover:bg-muted hover:text-foreground`),title:i(D===`newest`?`activity:queue.sortNewestTitle`:`activity:queue.sortOldestTitle`),"data-testid":`queue-sort-toggle`,children:[D===`newest`?(0,y.jsx)(a,{className:`h-3 w-3`}):(0,y.jsx)(u,{className:`h-3 w-3`}),i(D===`newest`?`activity:queue.newest`:`activity:queue.oldest`)]}),w.length>0&&!N&&(0,y.jsxs)(`button`,{type:`button`,onClick:()=>E(),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,title:i(`activity:queue.clearDispatchedTitle`),"data-testid":`queue-clear-all`,children:[(0,y.jsx)(l,{className:`h-3 w-3`}),i(`activity:queue.clear`)]})]})]}),(0,y.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:w.length===0?(0,y.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,y.jsx)(c,{className:`h-10 w-10 opacity-15`}),(0,y.jsx)(`p`,{className:`text-sm font-medium`,children:i(`activity:queue.emptyTitle`)}),(0,y.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:i(`activity:queue.emptyBody`)})]}):(0,y.jsx)(`ul`,{className:`divide-y divide-border/60`,"data-testid":`queue-list`,children:M.map(({item:e,sourceIdx:t},n)=>{let r=b[e.mode],a=e.alreadyDispatched===!0;return(0,y.jsxs)(`li`,{className:f(`flex items-start justify-between gap-3 px-4 py-3 text-xs transition-colors`,a?`bg-muted/30 text-muted-foreground hover:bg-muted/40`:`hover:bg-muted/35`),"data-testid":`queue-item`,"data-dispatched":a?`true`:void 0,children:[(0,y.jsxs)(`div`,{className:`flex items-start gap-3 min-w-0 flex-1`,children:[(0,y.jsxs)(`span`,{className:`mt-1 text-[10px] font-mono text-muted-foreground shrink-0 w-5 text-right tabular-nums`,children:[n+1,`.`]}),(0,y.jsx)(`span`,{className:f(`shrink-0 inline-flex items-center justify-center rounded border px-1.5 py-0.5 text-[10px] font-semibold uppercase`,r.tone,a&&`opacity-60`),title:i(`activity:queue.${r.titleKey}`),"data-testid":`queue-mode-${e.mode}`,children:r.label}),(0,y.jsx)(`p`,{className:`text-sm leading-relaxed min-w-0 break-words flex-1`,children:e.text.length>120?`${e.text.slice(0,117)}…`:e.text}),a&&(0,y.jsxs)(`span`,{className:`shrink-0 mt-0.5 inline-flex items-center gap-1 text-[10px] font-semibold uppercase text-success`,title:i(`activity:queue.dispatchedTitle`),"data-testid":`queue-dispatched-${t}`,children:[(0,y.jsx)(d,{className:`h-3 w-3`}),i(`activity:queue.dispatchedLabel`)]})]}),!a&&(0,y.jsx)(`button`,{type:`button`,onClick:()=>j(t),className:`ml-1 p-1.5 rounded-md shrink-0 hover:bg-destructive/10 hover:text-destructive transition-colors`,title:i(`activity:queue.removeTitle`),"data-testid":`queue-remove-${t}`,children:(0,y.jsx)(s,{className:`h-3.5 w-3.5`})})]},`${e.addedAt}-${t}`)})})}),w.length>0&&(0,y.jsx)(`div`,{className:`border-t border-border/70 bg-muted/20 px-4 py-2.5 shrink-0`,children:(0,y.jsx)(`p`,{className:`text-[10px] text-muted-foreground text-center`,children:i(`activity:queue.footer`)})})]})})}export{w as QueuePanel};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{kt as t,vt as n}from"./ws-client-BG2ZSPmv.js";import{i as r,t as i}from"./react-core-D0Ec-185.js";import{Ji as a,K as o,La as s,Ta as c,Xn as l,ft as u,va as d}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{t as f}from"./utils-YeTxmVPQ.js";import{n as p,o as m,r as h,t as g}from"./dialog-DyGu9hTX.js";import{lt as _}from"./index-r9OdFrxf.js";var v=e(r(),1),y=i(),b={btw:{label:`btw`,titleKey:`btwTitle`,tone:`bg-primary/10 text-primary border-primary/30`},steer:{label:`steer`,titleKey:`steerTitle`,tone:`bg-warning/10 text-warning border-warning/35`},queue:{label:`queue`,titleKey:`queueTitle`,tone:`bg-info/10 text-info border-info/30`}},x=`__no_session__`,S=new Map,C=new Set;t(e=>{S.delete(e),C.add(e)});function w({open:e,onClose:t,className:r}){let{t:i}=s(),w=_(e=>e.queue),T=_(e=>e.removeQueued),E=_(e=>e.clearQueue),[D,O]=(0,v.useState)(`oldest`),k=n(),A=(0,v.useRef)(k??x);(0,v.useLayoutEffect)(()=>{C.has(A.current)||S.set(A.current,D);let e=k??x;C.delete(e),O(S.get(e)??`oldest`),A.current=e},[k]);let j=(0,v.useCallback)(e=>{T(e)},[T]),M=(0,v.useMemo)(()=>{let e=w.map((e,t)=>({item:e,sourceIdx:t}));return e.sort((e,t)=>D===`newest`?t.item.addedAt-e.item.addedAt:e.item.addedAt-t.item.addedAt),e},[w,D]),N=w.length>0&&w.every(e=>e.alreadyDispatched);return(0,y.jsx)(g,{open:e,onOpenChange:e=>{e||t()},children:(0,y.jsxs)(p,{className:f(`max-w-lg gap-0 overflow-hidden border-border/80 bg-card p-0 pt-[10dvh] flex flex-col max-h-[70dvh]`,r),showCloseButton:!1,children:[(0,y.jsx)(m,{className:`sr-only`,children:i(`activity:queue.heading`)}),(0,y.jsx)(h,{className:`sr-only`,children:i(`activity:queue.subtitle`,{count:w.length})}),(0,y.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border/70 bg-card/95 px-4 py-3 shrink-0`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,y.jsx)(`span`,{className:`flex items-center justify-center w-8 h-8 rounded-md border border-primary/20 bg-primary/10 text-primary`,children:(0,y.jsx)(l,{className:`h-4 w-4`})}),(0,y.jsxs)(`div`,{children:[(0,y.jsx)(`h2`,{className:`text-sm font-semibold`,children:i(`activity:queue.heading`)}),(0,y.jsx)(`span`,{className:`text-[10px] text-muted-foreground tabular-nums`,children:i(`activity:queue.subtitle`,{count:w.length})})]})]}),(0,y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,y.jsxs)(`button`,{type:`button`,onClick:()=>O(e=>e===`newest`?`oldest`:`newest`),className:f(`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs transition-colors font-medium`,`text-muted-foreground hover:bg-muted hover:text-foreground`),title:i(D===`newest`?`activity:queue.sortNewestTitle`:`activity:queue.sortOldestTitle`),"data-testid":`queue-sort-toggle`,children:[D===`newest`?(0,y.jsx)(c,{className:`h-3 w-3`}):(0,y.jsx)(d,{className:`h-3 w-3`}),i(D===`newest`?`activity:queue.newest`:`activity:queue.oldest`)]}),w.length>0&&!N&&(0,y.jsxs)(`button`,{type:`button`,onClick:()=>E(),className:`flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-xs text-destructive hover:bg-destructive/10 transition-colors font-medium`,title:i(`activity:queue.clearDispatchedTitle`),"data-testid":`queue-clear-all`,children:[(0,y.jsx)(u,{className:`h-3 w-3`}),i(`activity:queue.clear`)]})]})]}),(0,y.jsx)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain`,children:w.length===0?(0,y.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-16 gap-3 text-muted-foreground`,children:[(0,y.jsx)(l,{className:`h-10 w-10 opacity-15`}),(0,y.jsx)(`p`,{className:`text-sm font-medium`,children:i(`activity:queue.emptyTitle`)}),(0,y.jsx)(`p`,{className:`text-xs text-center max-w-xs`,children:i(`activity:queue.emptyBody`)})]}):(0,y.jsx)(`ul`,{className:`divide-y divide-border/60`,"data-testid":`queue-list`,children:M.map(({item:e,sourceIdx:t},n)=>{let r=b[e.mode],s=e.alreadyDispatched===!0;return(0,y.jsxs)(`li`,{className:f(`flex items-start justify-between gap-3 px-4 py-3 text-xs transition-colors`,s?`bg-muted/30 text-muted-foreground hover:bg-muted/40`:`hover:bg-muted/35`),"data-testid":`queue-item`,"data-dispatched":s?`true`:void 0,children:[(0,y.jsxs)(`div`,{className:`flex items-start gap-3 min-w-0 flex-1`,children:[(0,y.jsxs)(`span`,{className:`mt-1 text-[10px] font-mono text-muted-foreground shrink-0 w-5 text-right tabular-nums`,children:[n+1,`.`]}),(0,y.jsx)(`span`,{className:f(`shrink-0 inline-flex items-center justify-center rounded border px-1.5 py-0.5 text-[10px] font-semibold uppercase`,r.tone,s&&`opacity-60`),title:i(`activity:queue.${r.titleKey}`),"data-testid":`queue-mode-${e.mode}`,children:r.label}),(0,y.jsx)(`p`,{className:`text-sm leading-relaxed min-w-0 break-words flex-1`,children:e.text.length>120?`${e.text.slice(0,117)}…`:e.text}),s&&(0,y.jsxs)(`span`,{className:`shrink-0 mt-0.5 inline-flex items-center gap-1 text-[10px] font-semibold uppercase text-success`,title:i(`activity:queue.dispatchedTitle`),"data-testid":`queue-dispatched-${t}`,children:[(0,y.jsx)(a,{className:`h-3 w-3`}),i(`activity:queue.dispatchedLabel`)]})]}),!s&&(0,y.jsx)(`button`,{type:`button`,onClick:()=>j(t),className:`ml-1 p-1.5 rounded-md shrink-0 hover:bg-destructive/10 hover:text-destructive transition-colors`,title:i(`activity:queue.removeTitle`),"data-testid":`queue-remove-${t}`,children:(0,y.jsx)(o,{className:`h-3.5 w-3.5`})})]},`${e.addedAt}-${t}`)})})}),w.length>0&&(0,y.jsx)(`div`,{className:`border-t border-border/70 bg-muted/20 px-4 py-2.5 shrink-0`,children:(0,y.jsx)(`p`,{className:`text-[10px] text-muted-foreground text-center`,children:i(`activity:queue.footer`)})})]})})}export{w as QueuePanel};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Z as t}from"./ws-client-DitX7fid.js";import{i as n,t as r}from"./react-core-D0Ec-185.js";import{Da as i,Fa as a,Ri as o,Yt as s,Zt as c,ci as l,lt as u,zt as d}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{n as f}from"./ui-store-BPQ-dcnY.js";import{lt as p}from"./index-CbwgQF8l.js";var m=e(n(),1),h=r();function g(){let e=t(e=>e.session),{t:n}=a(),r=t.getState().session?.id,g=t(e=>e.projectName),x=t(e=>e.cwd),S=t(e=>e.mode),C=t(e=>e.contextMode),w=t(e=>e.lastVisitedAt),T=p(e=>e.messages),E=p(e=>e.queue.length),D=p(e=>e.boundSessionId),O=f(e=>e.currentView),k=f(e=>e.dockSection),[A,j]=(0,m.useState)([]),M=(0,m.useMemo)(()=>{if(typeof window>`u`)return 0;let e=0;for(let t of[`wrongstack-session`,`wrongstack-chat`,`wrongstack-ui`,`wrongstack-config`]){let n=window.localStorage.getItem(t);typeof n==`string`&&(e+=n.length)}return e},[T.length]),N=typeof window<`u`&&!!window.__wrongstackSessionRehydrated,P=typeof window<`u`&&!!window.__wrongstackChatRehydrated;function F(e,t){j(n=>[{ts:Date.now(),note:e,ok:t},...n].slice(0,20))}function I(){F(n(`activity:refresh.simulatedF5`),!0)}let L=D!==null&&r!==void 0&&D!==r;return(0,h.jsx)(`div`,{className:`h-full min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain bg-[hsl(var(--surface-2)/0.45)] p-4 sm:p-6`,children:(0,h.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5 sm:space-y-6`,children:[(0,h.jsx)(`header`,{className:`rounded-xl border border-border/70 bg-card/75 p-4 shadow-sm`,children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(`h1`,{className:`flex min-w-0 items-center gap-2 text-xl font-bold sm:text-2xl`,children:[(0,h.jsx)(s,{className:`h-6 w-6 shrink-0 text-primary sm:h-7 sm:w-7`}),n(`activity:refresh.heading`)]}),(0,h.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:n(`activity:refresh.subtitle`)})]}),(0,h.jsx)(`button`,{type:`button`,onClick:I,className:`inline-flex h-9 w-full items-center justify-center rounded-md bg-primary px-3 text-sm font-medium text-primary-foreground shadow-sm shadow-primary/15 hover:bg-primary/90 sm:w-auto`,children:n(`activity:refresh.recordProbe`)})]})}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(i,{className:`w-5 h-5`}),n(`activity:refresh.latestSession`)]}),(0,h.jsx)(_,{label:n(`activity:refresh.restoredLocal`),ok:N,extra:r?n(`activity:refresh.sessionIdExtra`,{id:r}):n(`activity:refresh.noSessionYet`)}),(0,h.jsx)(_,{label:n(`activity:refresh.activePointer`),ok:!!e?.id,extra:e?y(e):`null`}),(0,h.jsx)(_,{label:n(`activity:refresh.lastVisited`),ok:w>0,extra:w>0?new Date(w).toISOString():n(`activity:refresh.never`)})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(l,{className:`w-5 h-5`}),n(`activity:refresh.persistedEnv`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`projectName`,value:g||`∅`}),(0,h.jsx)(v,{label:`cwd`,value:x||`∅`,mono:!0}),(0,h.jsx)(v,{label:`mode`,value:S,mono:!0}),(0,h.jsx)(v,{label:`contextMode`,value:C,mono:!0})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(c,{className:`w-5 h-5`}),n(`activity:refresh.transcriptRehydrate`)]}),(0,h.jsx)(_,{label:n(`activity:refresh.localTranscript`),ok:P&&(T.length>0||D===null),extra:T.length===0?n(`activity:refresh.noMessages`):n(`activity:refresh.messagesExtra`,{count:T.length,queued:E})}),(0,h.jsx)(_,{label:n(`activity:refresh.noBleed`),ok:!L,extra:L?n(`activity:refresh.bleedExtra`,{bound:D??`∅`,active:r??`∅`}):n(`activity:refresh.transcriptBinds`),warn:L}),T.length>0&&(0,h.jsxs)(`div`,{className:`space-y-1 rounded-lg border border-border/70 bg-card/65 p-3 text-xs font-mono`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`first:`}),` `,b(T[0])]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`last:`}),` `,b(T[T.length-1]??T[0])]})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(d,{className:`w-5 h-5`}),n(`activity:refresh.uiWorkspace`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`currentView`,value:O,mono:!0}),(0,h.jsx)(v,{label:`dockSection`,value:k??n(`activity:refresh.noneValue`),mono:!0})]}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`activity:refresh.payloadSize`,{count:M})})]}),(0,h.jsxs)(`section`,{className:`space-y-2`,children:[(0,h.jsx)(`h2`,{className:`text-lg font-semibold`,children:n(`activity:refresh.probeLog`)}),A.length===0?(0,h.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`activity:refresh.noProbes`)}):(0,h.jsx)(`ul`,{className:`space-y-1 text-xs font-mono`,children:A.map((e,t)=>(0,h.jsxs)(`li`,{className:`flex items-center gap-2`,children:[e.ok?(0,h.jsx)(o,{className:`w-4 h-4 text-success shrink-0`}):(0,h.jsx)(u,{className:`w-4 h-4 text-warning shrink-0`}),(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:new Date(e.ts).toLocaleTimeString()}),(0,h.jsx)(`span`,{children:e.note})]},`${e.ts}-${t}`))})]})]})})}function _({label:e,extra:t,ok:n,warn:r}){return(0,h.jsxs)(`div`,{className:`rounded-lg border px-3 py-2 ${r?`border-warning/40 bg-warning/10 text-warning`:n?`border-success/40 bg-success/10 text-success`:`border-border bg-muted/40 text-muted-foreground`}`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs font-medium`,children:[n&&!r?(0,h.jsx)(o,{className:`h-4 w-4 shrink-0`}):(0,h.jsx)(u,{className:`h-4 w-4 shrink-0`}),(0,h.jsx)(`span`,{className:`min-w-0 break-words`,children:e})]}),(0,h.jsx)(`div`,{className:`text-xs font-mono mt-1 break-all`,children:t})]})}function v({label:e,value:t,mono:n}){return(0,h.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border/70 bg-card/75 p-3 shadow-sm`,children:[(0,h.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:e}),(0,h.jsx)(`p`,{className:`mt-1 text-sm break-all `+(n?`font-mono`:`font-medium`),children:t})]})}function y(e){let t=e.title?.trim();return t?`${e.id} — "${t}" (${e.provider}/${e.model})`:`${e.id} (${e.provider}/${e.model})`}function b(e){let t=(e.content??``).trim().replace(/\s+/g,` `);return`[${e.role}] ${t.length>100?`${t.slice(0,99)}…`:t}`}export{g as RefreshDebugView};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Z as t}from"./ws-client-BG2ZSPmv.js";import{i as n,t as r}from"./react-core-D0Ec-185.js";import{La as i,Yt as a,Zt as o,ka as s,li as c,lt as l,zi as u,zt as d}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{n as f}from"./ui-store-vtaLeTKu.js";import{lt as p}from"./index-r9OdFrxf.js";var m=e(n(),1),h=r();function g(){let e=t(e=>e.session),{t:n}=i(),r=t.getState().session?.id,g=t(e=>e.projectName),x=t(e=>e.cwd),S=t(e=>e.mode),C=t(e=>e.contextMode),w=t(e=>e.lastVisitedAt),T=p(e=>e.messages),E=p(e=>e.queue.length),D=p(e=>e.boundSessionId),O=f(e=>e.currentView),k=f(e=>e.dockSection),[A,j]=(0,m.useState)([]),M=(0,m.useMemo)(()=>{if(typeof window>`u`)return 0;let e=0;for(let t of[`wrongstack-session`,`wrongstack-chat`,`wrongstack-ui`,`wrongstack-config`]){let n=window.localStorage.getItem(t);typeof n==`string`&&(e+=n.length)}return e},[T.length]),N=typeof window<`u`&&!!window.__wrongstackSessionRehydrated,P=typeof window<`u`&&!!window.__wrongstackChatRehydrated;function F(e,t){j(n=>[{ts:Date.now(),note:e,ok:t},...n].slice(0,20))}function I(){F(n(`activity:refresh.simulatedF5`),!0)}let L=D!==null&&r!==void 0&&D!==r;return(0,h.jsx)(`div`,{className:`h-full min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain bg-[hsl(var(--surface-2)/0.45)] p-4 sm:p-6`,children:(0,h.jsxs)(`div`,{className:`mx-auto max-w-5xl space-y-5 sm:space-y-6`,children:[(0,h.jsx)(`header`,{className:`rounded-xl border border-border/70 bg-card/75 p-4 shadow-sm`,children:(0,h.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[(0,h.jsxs)(`div`,{className:`min-w-0`,children:[(0,h.jsxs)(`h1`,{className:`flex min-w-0 items-center gap-2 text-xl font-bold sm:text-2xl`,children:[(0,h.jsx)(a,{className:`h-6 w-6 shrink-0 text-primary sm:h-7 sm:w-7`}),n(`activity:refresh.heading`)]}),(0,h.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:n(`activity:refresh.subtitle`)})]}),(0,h.jsx)(`button`,{type:`button`,onClick:I,className:`inline-flex h-9 w-full items-center justify-center rounded-md bg-primary px-3 text-sm font-medium text-primary-foreground shadow-sm shadow-primary/15 hover:bg-primary/90 sm:w-auto`,children:n(`activity:refresh.recordProbe`)})]})}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(s,{className:`w-5 h-5`}),n(`activity:refresh.latestSession`)]}),(0,h.jsx)(_,{label:n(`activity:refresh.restoredLocal`),ok:N,extra:r?n(`activity:refresh.sessionIdExtra`,{id:r}):n(`activity:refresh.noSessionYet`)}),(0,h.jsx)(_,{label:n(`activity:refresh.activePointer`),ok:!!e?.id,extra:e?y(e):`null`}),(0,h.jsx)(_,{label:n(`activity:refresh.lastVisited`),ok:w>0,extra:w>0?new Date(w).toISOString():n(`activity:refresh.never`)})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(c,{className:`w-5 h-5`}),n(`activity:refresh.persistedEnv`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`projectName`,value:g||`∅`}),(0,h.jsx)(v,{label:`cwd`,value:x||`∅`,mono:!0}),(0,h.jsx)(v,{label:`mode`,value:S,mono:!0}),(0,h.jsx)(v,{label:`contextMode`,value:C,mono:!0})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(o,{className:`w-5 h-5`}),n(`activity:refresh.transcriptRehydrate`)]}),(0,h.jsx)(_,{label:n(`activity:refresh.localTranscript`),ok:P&&(T.length>0||D===null),extra:T.length===0?n(`activity:refresh.noMessages`):n(`activity:refresh.messagesExtra`,{count:T.length,queued:E})}),(0,h.jsx)(_,{label:n(`activity:refresh.noBleed`),ok:!L,extra:L?n(`activity:refresh.bleedExtra`,{bound:D??`∅`,active:r??`∅`}):n(`activity:refresh.transcriptBinds`),warn:L}),T.length>0&&(0,h.jsxs)(`div`,{className:`space-y-1 rounded-lg border border-border/70 bg-card/65 p-3 text-xs font-mono`,children:[(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`first:`}),` `,b(T[0])]}),(0,h.jsxs)(`div`,{children:[(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`last:`}),` `,b(T[T.length-1]??T[0])]})]})]}),(0,h.jsxs)(`section`,{className:`space-y-3`,children:[(0,h.jsxs)(`h2`,{className:`text-lg font-semibold flex items-center gap-2`,children:[(0,h.jsx)(d,{className:`w-5 h-5`}),n(`activity:refresh.uiWorkspace`)]}),(0,h.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-3`,children:[(0,h.jsx)(v,{label:`currentView`,value:O,mono:!0}),(0,h.jsx)(v,{label:`dockSection`,value:k??n(`activity:refresh.noneValue`),mono:!0})]}),(0,h.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:n(`activity:refresh.payloadSize`,{count:M})})]}),(0,h.jsxs)(`section`,{className:`space-y-2`,children:[(0,h.jsx)(`h2`,{className:`text-lg font-semibold`,children:n(`activity:refresh.probeLog`)}),A.length===0?(0,h.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:n(`activity:refresh.noProbes`)}):(0,h.jsx)(`ul`,{className:`space-y-1 text-xs font-mono`,children:A.map((e,t)=>(0,h.jsxs)(`li`,{className:`flex items-center gap-2`,children:[e.ok?(0,h.jsx)(u,{className:`w-4 h-4 text-success shrink-0`}):(0,h.jsx)(l,{className:`w-4 h-4 text-warning shrink-0`}),(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:new Date(e.ts).toLocaleTimeString()}),(0,h.jsx)(`span`,{children:e.note})]},`${e.ts}-${t}`))})]})]})})}function _({label:e,extra:t,ok:n,warn:r}){return(0,h.jsxs)(`div`,{className:`rounded-lg border px-3 py-2 ${r?`border-warning/40 bg-warning/10 text-warning`:n?`border-success/40 bg-success/10 text-success`:`border-border bg-muted/40 text-muted-foreground`}`,children:[(0,h.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-xs font-medium`,children:[n&&!r?(0,h.jsx)(u,{className:`h-4 w-4 shrink-0`}):(0,h.jsx)(l,{className:`h-4 w-4 shrink-0`}),(0,h.jsx)(`span`,{className:`min-w-0 break-words`,children:e})]}),(0,h.jsx)(`div`,{className:`text-xs font-mono mt-1 break-all`,children:t})]})}function v({label:e,value:t,mono:n}){return(0,h.jsxs)(`div`,{className:`min-w-0 rounded-lg border border-border/70 bg-card/75 p-3 shadow-sm`,children:[(0,h.jsx)(`p`,{className:`text-xs uppercase tracking-wide text-muted-foreground`,children:e}),(0,h.jsx)(`p`,{className:`mt-1 text-sm break-all `+(n?`font-mono`:`font-medium`),children:t})]})}function y(e){let t=e.title?.trim();return t?`${e.id} — "${t}" (${e.provider}/${e.model})`:`${e.id} (${e.provider}/${e.model})`}function b(e){let t=(e.content??``).trim().replace(/\s+/g,` `);return`[${e.role}] ${t.length>100?`${t.slice(0,99)}…`:t}`}export{g as RefreshDebugView};
@@ -0,0 +1,2 @@
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Q as t,et as n}from"./ws-client-BG2ZSPmv.js";import{i as r,t as i}from"./react-core-D0Ec-185.js";import{Gi as a,Ji as o,Kn as s,Or as c,Ri as l,Sa as u,Sr as d,Ti as f,Vt as p,Xr as m,_t as h,mi as g,ra as _,tn as v,vr as y,xr as ee,yr as b}from"./vendor-CkMYDhDf.js";import{t as x}from"./utils-YeTxmVPQ.js";import{a as S,n as te,o as ne,r as re,t as ie}from"./dialog-DyGu9hTX.js";import{H as ae,M as C,P as w}from"./index-r9OdFrxf.js";var T=e(r(),1),E=i(),D=[`#9b87f5`,`#37c9a2`,`#f2b95f`,`#67a7ff`,`#e879b8`,`#f07178`],O=48,k=15,A=`flex h-[44%] min-h-[230px] max-h-[460px] shrink-0 flex-col overflow-hidden border-t border-border/70 bg-card/35 shadow-[0_-16px_40px_-34px_hsl(var(--primary)/0.8)] sm:h-[36%] sm:max-h-[390px] sm:flex-row`;function oe(e){let t=[],n=[],r=new Map(e.map((e,t)=>[e.hash,t]));for(let r of e){let e=t.indexOf(r.hash);e<0&&(e=t.indexOf(void 0),e<0&&(e=t.length)),n.push(e),t[e]=r.parents[0];for(let e of r.parents.slice(1)){if(t.includes(e))continue;let n=t.indexOf(void 0);n<0&&(n=t.length),t[n]=e}}let i=new Map(e.map((e,t)=>[e.hash,n[t]??0])),a=e.flatMap((e,t)=>e.parents.flatMap(e=>{let a=r.get(e);return a===void 0?[]:[{fromRow:t,fromLane:n[t]??0,toRow:a,toLane:i.get(e)??0}]}));return{lanes:n,laneCount:Math.max(1,...n.map(e=>e+1)),edges:a}}function j(e){return e.slice(0,7)}function se(e){let t=Date.now()-new Date(e).getTime();if(!Number.isFinite(t))return e;let n=Math.max(0,Math.round(t/6e4));if(n<60)return`${n}m`;let r=Math.round(n/60);if(r<48)return`${r}h`;let i=Math.round(r/24);return i<60?`${i}d`:new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`}).format(new Date(e))}function M(e){return e.split(/\s+/).slice(0,2).map(e=>e[0]?.toUpperCase()).join(``)}function N(e){return e.startsWith(`tag: `)?`border-amber-400/35 bg-amber-400/10 text-amber-500`:e.includes(`/`)?`border-emerald-400/30 bg-emerald-400/10 text-emerald-500`:`border-violet-400/35 bg-violet-400/12 text-violet-400`}function ce({commits:e,layout:t}){let n=22+t.laneCount*k;return(0,E.jsxs)(`svg`,{"aria-label":`Commit topology`,className:`pointer-events-none absolute inset-y-0 left-0`,width:n,height:e.length*O,viewBox:`0 0 ${n} ${e.length*O}`,children:[t.edges.map((e,t)=>{let n=14+e.fromLane*k,r=14+e.toLane*k,i=e.fromRow*O+O/2,a=e.toRow*O+O/2,o=Math.min(18,Math.max(8,(a-i)*.35));return(0,E.jsx)(`path`,{d:`M ${n} ${i} C ${n} ${i+o}, ${r} ${a-o}, ${r} ${a}`,fill:`none`,stroke:D[e.fromLane%D.length],strokeWidth:`2`,strokeLinecap:`round`,opacity:`0.9`},`${e.fromRow}-${e.toRow}-${t}`)}),e.map((e,n)=>{let r=t.lanes[n]??0,i=e.parents.length>1;return(0,E.jsxs)(`g`,{children:[(0,E.jsx)(`circle`,{cx:14+r*k,cy:n*O+O/2,r:i?5:4,fill:`hsl(var(--background))`,stroke:D[r%D.length],strokeWidth:i?2.5:2}),!i&&(0,E.jsx)(`circle`,{cx:14+r*k,cy:n*O+O/2,r:`1.5`,fill:D[r%D.length]})]},e.hash)})]})}function le({refs:e,activeRef:t,onSelect:n}){let r=[{kind:`local`,label:`Local branches`,icon:d},{kind:`remote`,label:`Remotes`,icon:b},{kind:`tag`,label:`Tags`,icon:h}];return(0,E.jsxs)(`aside`,{className:`hidden min-h-0 w-[218px] shrink-0 flex-col border-r border-border/70 bg-card/35 xl:flex`,children:[(0,E.jsxs)(`div`,{className:`border-b border-border/60 px-4 py-3`,children:[(0,E.jsx)(`div`,{className:`text-[10px] font-bold uppercase tracking-[0.18em] text-muted-foreground`,children:`Repository`}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>n(``),className:x(`mt-2 flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left text-xs transition-colors`,t===``?`bg-primary/12 text-primary`:`text-muted-foreground hover:bg-muted/60 hover:text-foreground`),children:[(0,E.jsx)(_,{className:`h-3.5 w-3.5`}),` All branches`]})]}),(0,E.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-2 py-3`,children:r.map(({kind:r,label:i,icon:a})=>{let s=e.filter(e=>e.kind===r);return s.length===0?null:(0,E.jsxs)(`section`,{className:`mb-5`,children:[(0,E.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 px-2 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground/75`,children:[(0,E.jsx)(a,{className:`h-3 w-3`}),` `,i,(0,E.jsx)(`span`,{className:`ml-auto font-mono`,children:s.length})]}),s.map(e=>(0,E.jsxs)(`button`,{type:`button`,onClick:()=>n(e.name),title:e.name,className:x(`group flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left text-[11px] transition-colors`,t===e.name?`bg-primary/12 text-primary`:`text-muted-foreground hover:bg-muted/55 hover:text-foreground`),children:[(0,E.jsx)(`span`,{className:x(`h-1.5 w-1.5 shrink-0 rounded-full`,e.current?`bg-primary shadow-[0_0_8px_hsl(var(--primary))]`:`bg-muted-foreground/45`)}),(0,E.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.shortName}),e.current&&(0,E.jsx)(o,{className:`h-3 w-3`})]},e.name))]},r)})})]})}function P({commit:e,detail:t,loading:n,onOpenFile:r}){let[i,c]=(0,T.useState)(!1);if(!e)return(0,E.jsx)(`section`,{className:`flex h-[34%] min-h-[210px] shrink-0 items-center justify-center border-t border-border/70 bg-card/30 p-6 text-center text-xs text-muted-foreground`,children:`Select a commit to inspect its files and metadata.`});let u=t?.files??[],d=u.reduce((e,t)=>e+t.added,0),p=u.reduce((e,t)=>e+t.deleted,0),h=t?.body?.split(/\r?\n/).slice(1).join(`
2
+ `).trim();return(0,E.jsxs)(`section`,{className:A,children:[(0,E.jsxs)(`div`,{className:`w-full max-w-none shrink-0 overflow-y-auto border-b border-border/70 px-5 py-4 sm:w-[34%] sm:min-w-[250px] sm:max-w-[440px] sm:border-b-0 sm:border-r`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.17em] text-muted-foreground`,children:[(0,E.jsx)(l,{className:`h-3.5 w-3.5 text-primary`}),` Commit details`]}),(0,E.jsx)(`h2`,{className:`mt-3 text-sm font-semibold leading-5 text-foreground`,children:e.subject}),(0,E.jsxs)(`div`,{className:`mt-3 flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`flex h-7 w-7 items-center justify-center rounded-full border border-primary/25 bg-primary/10 text-[10px] font-bold text-primary`,children:M(e.author)}),(0,E.jsxs)(`div`,{className:`min-w-0`,children:[(0,E.jsx)(`div`,{className:`truncate text-xs font-medium`,children:e.author}),(0,E.jsx)(`div`,{className:`truncate text-[10px] text-muted-foreground`,children:e.email})]})]}),(0,E.jsxs)(`button`,{type:`button`,onClick:async()=>{await navigator.clipboard?.writeText(e.hash),c(!0),window.setTimeout(()=>c(!1),1200)},className:`mt-4 flex w-full items-center justify-between rounded-lg border border-border/70 bg-background/55 px-3 py-2 font-mono text-[11px] text-muted-foreground hover:border-primary/35 hover:text-foreground`,children:[(0,E.jsx)(`span`,{children:j(e.hash)}),i?(0,E.jsx)(o,{className:`h-3.5 w-3.5 text-success`}):(0,E.jsx)(g,{className:`h-3.5 w-3.5`})]}),(0,E.jsxs)(`div`,{className:`mt-3 grid grid-cols-2 overflow-hidden rounded-lg border border-border/70`,children:[(0,E.jsxs)(`div`,{className:`border-r border-border/70 p-3`,children:[(0,E.jsx)(`div`,{className:`text-lg font-semibold tabular-nums`,children:u.length}),(0,E.jsx)(`div`,{className:`text-[10px] uppercase tracking-wider text-muted-foreground`,children:`Files`})]}),(0,E.jsxs)(`div`,{className:`p-3`,children:[(0,E.jsxs)(`div`,{className:`font-mono text-xs`,children:[(0,E.jsxs)(`span`,{className:`text-success`,children:[`+`,d]}),` `,(0,E.jsxs)(`span`,{className:`text-destructive`,children:[`-`,p]})]}),(0,E.jsx)(`div`,{className:`mt-1 text-[10px] uppercase tracking-wider text-muted-foreground`,children:`Lines`})]})]}),(0,E.jsxs)(`div`,{className:`mt-4 flex items-center gap-2 text-[11px] text-muted-foreground`,children:[(0,E.jsx)(f,{className:`h-3.5 w-3.5`}),new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e.authoredAt))]}),e.parents.length>1&&(0,E.jsxs)(`div`,{className:`mt-2 flex items-center gap-2 text-[11px] text-violet-400`,children:[(0,E.jsx)(y,{className:`h-3.5 w-3.5`}),`Merge of `,e.parents.length,` parents`]}),h&&(0,E.jsx)(`p`,{className:`mt-4 whitespace-pre-wrap rounded-lg border border-border/60 bg-background/45 px-3 py-2.5 text-[11px] leading-5 text-muted-foreground`,children:h}),e.refs.length>0&&(0,E.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-1.5`,children:e.refs.map(e=>(0,E.jsx)(`span`,{className:x(`rounded-md border px-1.5 py-0.5 text-[9px]`,N(e)),children:e.replace(/^tag: /,``)},e))})]}),(0,E.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-y-auto p-4 sm:p-5`,children:[(0,E.jsx)(`div`,{className:`mt-5 text-[10px] font-bold uppercase tracking-[0.15em] text-muted-foreground`,children:`Changed files`}),n?(0,E.jsxs)(`div`,{className:`flex items-center gap-2 py-6 text-xs text-muted-foreground`,children:[(0,E.jsx)(s,{className:`h-3.5 w-3.5 animate-spin`}),`Loading changes…`]}):t?.error?(0,E.jsx)(`div`,{className:`py-5 text-xs text-destructive`,children:t.error}):(0,E.jsxs)(`div`,{className:`mt-2 space-y-1`,children:[u.map(e=>(0,E.jsxs)(`button`,{type:`button`,onClick:()=>r(e),className:`group w-full rounded-lg border border-transparent px-2 py-2 text-left transition-colors hover:border-primary/30 hover:bg-primary/[0.055]`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(m,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,E.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[11px]`,title:e.path,children:e.path}),(0,E.jsx)(a,{className:`h-3 w-3 shrink-0 text-muted-foreground opacity-0 transition-all group-hover:translate-x-0.5 group-hover:opacity-100`})]}),(0,E.jsxs)(`div`,{className:`mt-1 pl-5 font-mono text-[10px]`,children:[(0,E.jsxs)(`span`,{className:`text-success`,children:[`+`,e.added]}),(0,E.jsxs)(`span`,{className:`ml-2 text-destructive`,children:[`-`,e.deleted]})]})]},e.path)),u.length===0&&(0,E.jsx)(`div`,{className:`py-5 text-xs text-muted-foreground`,children:`No file changes reported.`})]})]})]})}function F(){let{client:e}=w(),r=n(e=>e.wsConnected),i=t(e=>e.files),[o,l]=(0,T.useState)(null),[f,h]=(0,T.useState)(null),[g,_]=(0,T.useState)(null),[D,A]=(0,T.useState)(``),[F,ue]=(0,T.useState)(``),[I,L]=(0,T.useState)(!0),[R,z]=(0,T.useState)(!1),[B,V]=(0,T.useState)(null),[H,U]=(0,T.useState)(!1),[de,W]=(0,T.useState)(!1),G=(0,T.useRef)(null),K=(0,T.useRef)(null);G.current=g;let q=(0,T.useCallback)((t,n=0)=>{e&&r&&(L(!0),e.getGitHistory({...t?{ref:t}:{},limit:160,skip:n}),e.getGitChanges())},[e,r]);(0,T.useEffect)(()=>{if(!e)return;let t=e.on(`git.history`,e=>{l(t=>e.payload.skip>0&&t?{...e.payload,commits:[...t.commits,...e.payload.commits],refs:t.refs}:e.payload),L(!1);let t=e.payload.commits[0]?.hash??null;_(n=>e.payload.skip>0||n&&e.payload.commits.some(e=>e.hash===n)?n:t)}),n=e.on(`git.commit_detail`,e=>{e.payload.hash===G.current&&(h(e.payload),z(!1))}),r=e.on(`git.commit_file_diff`,e=>{`${e.payload.hash}:${e.payload.path}`===K.current&&(V(e.payload),W(!1))});return q(``),()=>{t(),n(),r()}},[e,q]),(0,T.useEffect)(()=>{g&&e&&(h(null),z(!0),e.getGitCommitDetail(g))},[e,g]);let J=(0,T.useMemo)(()=>{let e=F.trim().toLowerCase();return e?(o?.commits??[]).filter(t=>`${t.subject} ${t.author} ${t.email} ${t.hash} ${t.refs.join(` `)}`.toLowerCase().includes(e)):o?.commits??[]},[o?.commits,F]),Y=(0,T.useMemo)(()=>oe(J),[J]),X=22+Y.laneCount*k,fe=o?.commits.find(e=>e.hash===g)??null,Z=(0,T.useMemo)(()=>{let e=o?.commits??[];return{commits:e.length,contributors:new Set(e.map(e=>e.email||e.author)).size,merges:e.filter(e=>e.parents.length>1).length,branches:(o?.refs??[]).filter(e=>e.kind!==`tag`).length}},[o]),Q=e=>{A(e),_(null),h(null),q(e)},$=e=>{if(J.length===0)return;let t=Math.max(0,J.findIndex(e=>e.hash===g));_(J[Math.max(0,Math.min(J.length-1,t+e))]?.hash??null)};return(0,E.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-[radial-gradient(circle_at_48%_-20%,hsl(var(--primary)/0.10),transparent_42%),hsl(var(--background))]`,"data-testid":`repository-history-view`,children:[(0,E.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-1 overflow-hidden`,children:[(0,E.jsx)(le,{refs:o?.refs??[],activeRef:D,onSelect:Q}),(0,E.jsxs)(`section`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,children:[(0,E.jsxs)(`header`,{className:`shrink-0 border-b border-border/70 bg-card/30 px-4 py-3 backdrop-blur-xl sm:px-5`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,E.jsx)(`div`,{children:(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`flex h-8 w-8 items-center justify-center rounded-xl border border-primary/25 bg-primary/10 text-primary shadow-[0_0_22px_hsl(var(--primary)/0.12)]`,children:(0,E.jsx)(b,{className:`h-4 w-4`})}),(0,E.jsxs)(`div`,{children:[(0,E.jsx)(`h1`,{className:`text-base font-semibold tracking-tight`,children:`Repository history`}),(0,E.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Every branch. One clear picture.`})]})]})}),(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsxs)(`span`,{className:`hidden rounded-full border border-border/70 bg-background/55 px-2.5 py-1 font-mono text-[10px] text-muted-foreground sm:inline-flex`,children:[(0,E.jsx)(d,{className:`mr-1.5 h-3 w-3 text-primary`}),o?.currentBranch||`—`]}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>q(D),className:`inline-flex h-8 items-center gap-1.5 rounded-lg border border-border/70 bg-background/55 px-2.5 text-xs text-muted-foreground transition-colors hover:border-primary/35 hover:text-foreground`,children:[(0,E.jsx)(v,{className:x(`h-3.5 w-3.5`,I&&`animate-spin`)}),`Refresh`]})]})]}),(0,E.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:[(0,E.jsxs)(`label`,{className:`relative min-w-[220px] flex-1`,children:[(0,E.jsx)(p,{className:`pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground`}),(0,E.jsx)(`input`,{value:F,onChange:e=>ue(e.target.value),placeholder:`Search commits, authors, hashes…`,className:`h-9 w-full rounded-lg border border-border/70 bg-background/60 pl-9 pr-3 text-xs outline-none transition focus:border-primary/50 focus:ring-2 focus:ring-primary/10`})]}),(0,E.jsxs)(`label`,{className:`relative xl:hidden`,children:[(0,E.jsx)(c,{className:`pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground`}),(0,E.jsxs)(`select`,{value:D,onChange:e=>Q(e.target.value),className:`h-9 max-w-[190px] appearance-none rounded-lg border border-border/70 bg-background/60 pl-8 pr-7 text-xs outline-none`,children:[(0,E.jsx)(`option`,{value:``,children:`All branches`}),o?.refs.map(e=>(0,E.jsx)(`option`,{value:e.name,children:e.shortName},e.name))]})]})]})]}),(0,E.jsx)(`div`,{className:`grid h-10 shrink-0 grid-cols-4 divide-x divide-border/60 border-b border-border/70 bg-card/20`,children:[[`Commits`,Z.commits],[`Branches`,Z.branches],[`Contributors`,Z.contributors],[`Merges`,Z.merges]].map(([e,t])=>(0,E.jsxs)(`div`,{className:`flex items-center justify-center gap-2 px-2`,children:[(0,E.jsx)(`span`,{className:`font-mono text-xs font-semibold tabular-nums text-foreground`,children:t}),(0,E.jsx)(`span`,{className:`hidden text-[9px] font-semibold uppercase tracking-wider text-muted-foreground sm:inline`,children:e})]},e))}),i.length>0&&(0,E.jsxs)(`button`,{type:`button`,onClick:()=>ae(`changes`),className:`group flex h-10 shrink-0 items-center gap-3 border-b border-border/70 bg-primary/[0.055] px-4 text-left text-xs hover:bg-primary/[0.09]`,children:[(0,E.jsx)(`span`,{className:`h-2 w-2 animate-pulse rounded-full border border-primary bg-background`}),(0,E.jsx)(`span`,{className:`font-medium`,children:`Working changes`}),(0,E.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground`,children:i.length}),(0,E.jsx)(`span`,{className:`text-muted-foreground`,children:`Your next chapter starts here`}),(0,E.jsx)(a,{className:`ml-auto h-3.5 w-3.5 text-muted-foreground transition-transform group-hover:translate-x-0.5`})]}),(0,E.jsxs)(`div`,{className:`grid h-7 shrink-0 grid-cols-[minmax(0,1fr)_120px_82px_48px] items-center border-b border-border/70 bg-muted/20 px-3 text-[9px] font-bold uppercase tracking-[0.14em] text-muted-foreground sm:grid-cols-[minmax(0,1fr)_160px_92px_58px]`,children:[(0,E.jsx)(`span`,{style:{paddingLeft:X+10},children:`Graph / commit message`}),(0,E.jsx)(`span`,{children:`Author`}),(0,E.jsx)(`span`,{children:`Commit`}),(0,E.jsx)(`span`,{children:`When`})]}),(0,E.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto`,children:I&&!o?(0,E.jsxs)(`div`,{className:`flex h-full items-center justify-center gap-2 text-xs text-muted-foreground`,children:[(0,E.jsx)(s,{className:`h-4 w-4 animate-spin text-primary`}),`Mapping repository history…`]}):o?.error?(0,E.jsx)(`div`,{className:`flex h-full items-center justify-center p-8 text-sm text-destructive`,children:o.error}):J.length===0?(0,E.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,E.jsx)(ee,{className:`h-7 w-7 opacity-45`}),`No commits match this view.`]}):(0,E.jsxs)(`div`,{className:`relative min-w-[700px]`,style:{height:J.length*O},children:[(0,E.jsx)(ce,{commits:J,layout:Y}),J.map((e,t)=>{let n=e.hash===g;return(0,E.jsxs)(`button`,{type:`button`,onClick:()=>_(e.hash),onKeyDown:e=>{(e.key===`ArrowDown`||e.key===`j`)&&(e.preventDefault(),$(1)),(e.key===`ArrowUp`||e.key===`k`)&&(e.preventDefault(),$(-1))},className:x(`absolute left-0 grid w-full grid-cols-[minmax(0,1fr)_120px_82px_48px] items-center border-b border-border/45 pr-3 text-left transition-colors sm:grid-cols-[minmax(0,1fr)_160px_92px_58px]`,n?`bg-primary/[0.075] shadow-[inset_2px_0_hsl(var(--primary))]`:`hover:bg-muted/35`),style:{top:t*O,height:O},children:[(0,E.jsx)(`div`,{className:`flex min-w-0 items-center gap-2`,style:{paddingLeft:X+10},children:(0,E.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5`,children:[e.refs.slice(0,2).map(e=>(0,E.jsx)(`span`,{className:x(`hidden max-w-[170px] shrink-0 truncate rounded-md border px-1.5 py-0.5 text-[9px] font-medium md:inline`,N(e)),children:e.replace(/^tag: /,``)},e)),(0,E.jsx)(`span`,{className:x(`truncate text-xs`,n?`font-semibold text-foreground`:`text-foreground/90`),children:e.subject}),e.parents.length>1&&(0,E.jsx)(y,{className:`h-3.5 w-3.5 shrink-0 text-violet-400`})]})}),(0,E.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,E.jsx)(`span`,{className:`flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-muted text-[8px] font-bold text-muted-foreground`,children:M(e.author)}),(0,E.jsx)(`span`,{className:`truncate text-[10px] text-muted-foreground`,children:e.author})]}),(0,E.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:j(e.hash)}),(0,E.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:se(e.authoredAt)})]},e.hash)})]})}),(0,E.jsxs)(`footer`,{className:`flex h-7 shrink-0 items-center border-t border-border/70 bg-card/25 px-4 text-[9px] text-muted-foreground`,children:[(0,E.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,E.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full bg-violet-400`}),`Commit`]}),(0,E.jsxs)(`span`,{className:`ml-4 flex items-center gap-1.5`,children:[(0,E.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full border border-emerald-400`}),`Merge`]}),(0,E.jsxs)(`span`,{className:`ml-auto font-mono`,children:[J.length,` commits · topological order`]}),o?.hasMore&&!F&&(0,E.jsx)(`button`,{type:`button`,onClick:()=>q(D,o.commits.length),disabled:I,className:`ml-3 rounded border border-border/70 px-1.5 py-0.5 font-sans text-[9px] font-semibold uppercase tracking-wider hover:border-primary/40 hover:text-primary disabled:opacity-50`,children:`Load more`}),(0,E.jsx)(u,{className:`ml-2 h-3 w-3`})]})]})]}),(0,E.jsx)(P,{commit:fe,detail:f,loading:R,onOpenFile:t=>{e&&g&&(K.current=`${g}:${t.path}`,V(null),W(!0),U(!0),e.getGitCommitFileDiff(g,t.path,t.previousPath))}}),(0,E.jsx)(ie,{open:H,onOpenChange:U,children:(0,E.jsxs)(te,{className:`h-[min(86dvh,860px)] max-w-[min(94vw,1180px)] grid-rows-[auto_minmax(0,1fr)] gap-0 overflow-hidden p-0 sm:p-0`,children:[(0,E.jsx)(S,{className:`border-b border-border/70 bg-card/80 px-5 py-4 pr-12`,children:(0,E.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[(0,E.jsx)(`span`,{className:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg border border-primary/25 bg-primary/10 text-primary`,children:(0,E.jsx)(m,{className:`h-4 w-4`})}),(0,E.jsxs)(`div`,{className:`min-w-0`,children:[(0,E.jsx)(ne,{className:`truncate font-mono text-sm`,children:B?.path??`Commit file diff`}),(0,E.jsxs)(re,{className:`mt-1 flex items-center gap-2 text-[11px]`,children:[(0,E.jsx)(`span`,{className:`font-mono`,children:B?j(B.hash):`—`}),B?.previousPath&&B.previousPath!==B.path&&(0,E.jsxs)(`span`,{className:`truncate`,children:[`renamed from `,B.previousPath]})]})]})]})}),(0,E.jsx)(`div`,{className:`min-h-0 overflow-hidden bg-[hsl(var(--surface-2)/0.45)] p-3`,children:(0,E.jsx)(`div`,{className:`flex h-full min-h-0 overflow-hidden rounded-lg border border-border/70 bg-background/70`,children:de||!B?(0,E.jsxs)(`div`,{className:`flex flex-1 items-center justify-center gap-2 text-sm text-muted-foreground`,children:[(0,E.jsx)(s,{className:`h-4 w-4 animate-spin text-primary`}),` Loading revision diff…`]}):B.error?(0,E.jsx)(`div`,{className:`flex flex-1 items-center justify-center p-8 text-sm text-destructive`,children:B.error}):B.binary?(0,E.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:`Binary files cannot be displayed as text.`}):B.tooLarge?(0,E.jsx)(`div`,{className:`flex flex-1 items-center justify-center text-sm text-muted-foreground`,children:`This revision is too large for the inline diff viewer.`}):(0,E.jsx)(C,{oldText:B.oldText??``,newText:B.newText??``,caption:B.path,fill:!0})})})]})})]})}export{F as RepositoryHistoryView};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{Fa as r}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{t as i}from"./utils-CmY0Pw1m.js";import{t as a}from"./button-BIFXNDDY.js";import{t as o}from"./input-DE1O73TJ.js";import{g as s}from"./index-CbwgQF8l.js";var c=e(t(),1),l=n(),u=[`feature`,`bug_fix`,`refactor`,`performance`,`security`,`ui_change`,`api_change`,`infrastructure`,`migration`,`testing`,`documentation`,`maintenance`,`other`,`unspecified`],d=[`unspecified`,`low`,`medium`,`high`,`critical`],f={draft:`bg-muted text-muted-foreground`,collecting_information:`bg-warning/15 text-warning`,submitted:`bg-success/15 text-success`,cancelled:`bg-destructive/15 text-destructive`,archived:`bg-muted text-muted-foreground`};function p(e){let t=Date.now()-e;if(t<6e4)return`just now`;let n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function m(){let{t:e}=r(),[t,n]=(0,c.useState)(null),[m,h]=(0,c.useState)([]),[g,_]=(0,c.useState)(!0),[v,y]=(0,c.useState)(null),[b,x]=(0,c.useState)(``),[S,C]=(0,c.useState)(``),[w,T]=(0,c.useState)(`unspecified`),[E,D]=(0,c.useState)(`unspecified`),[O,k]=(0,c.useState)(!1),[A,j]=(0,c.useState)(null),[M,N]=(0,c.useState)(null),P=(0,c.useCallback)(async()=>{_(!0),y(null);try{let e=await fetch(`/api/requirement-intakes`);if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error?.message??`List failed (HTTP ${e.status})`)}let t=await e.json();n(t.projectId),h(t.intakes)}catch(e){y(e instanceof Error?e.message:String(e))}finally{_(!1)}},[]);(0,c.useEffect)(()=>{P()},[P]);let F=(0,c.useCallback)(async()=>{let e=b.trim();if(!e){j(`Describe the request first — it is preserved verbatim.`);return}if(!t){j(`No project identity available yet.`);return}k(!0),j(null),N(null);try{let n=await fetch(`/api/projects/${encodeURIComponent(t)}/requirement-intakes`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({projectId:t,requestedBy:`webui`,originalRequest:e,...S.trim()?{title:S.trim()}:{},...w===`unspecified`?{}:{requestType:w},...E===`unspecified`?{}:{priority:E}})}),r=await n.json().catch(()=>null);if(!n.ok||!r?.record)throw Error(r?.error?.message??`Create failed (HTTP ${n.status})`);let i=await fetch(`/api/requirement-intakes/${r.record.id}/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!i.ok){let e=await i.json().catch(()=>null);throw Error(e?.error?.message??`Submit failed (HTTP ${i.status})`)}N(`Intake recorded and submitted (${r.record.id}).`),x(``),C(``),T(`unspecified`),D(`unspecified`),await P()}catch(e){j(e instanceof Error?e.message:String(e))}finally{k(!1)}},[b,S,w,E,t,P]);return(0,l.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,l.jsxs)(`header`,{className:`border-b border-border/70 px-5 py-3`,children:[(0,l.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:e(`activity:reqIntake.requirementsIntake`)}),(0,l.jsx)(`div`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:e(`activity:reqIntake.collectAndPreserveSoftwareDevelopmentRequests`)})]}),(0,l.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain p-5`,children:[v?(0,l.jsxs)(`div`,{role:`alert`,className:`mb-4 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:[v,(0,l.jsx)(`button`,{type:`button`,className:`ml-2 underline underline-offset-2`,onClick:()=>void P(),children:e(`activity:reqIntake.retry`)})]}):null,(0,l.jsxs)(`section`,{"aria-label":e(`activity:reqIntake.fileANewIntake`),className:`mb-6 rounded-lg border border-border/70 bg-card/60 p-4`,children:[(0,l.jsx)(`div`,{className:`mb-3 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:e(`activity:reqIntake.fileANewRequest`)}),(0,l.jsxs)(`div`,{className:`space-y-3`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsxs)(`label`,{htmlFor:`intake-request`,className:`mb-1 block text-xs text-foreground`,children:[e(`activity:reqIntake.requestText`),` `,(0,l.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,l.jsx)(`textarea`,{id:`intake-request`,value:b,onChange:e=>x(e.target.value),placeholder:e(`activity:reqIntake.describeTheFeatureBugFixRefactorOrChange`),rows:4,className:i(`w-full resize-y rounded-md border border-border/70 bg-background px-3 py-2`,`text-sm text-foreground placeholder:text-muted-foreground/70`,`focus:outline-none focus:ring-2 focus:ring-ring`)}),/\[VIBE\]/i.test(b)?(0,l.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 rounded bg-primary/10 px-2 py-1 text-[11px] font-medium text-primary`,children:[(0,l.jsx)(`span`,{children:`🌊`}),(0,l.jsxs)(`span`,{children:[(0,l.jsx)(`strong`,{children:`VIBE Protocol Detected:`}),` Three-Stage Verification (Spec-Synthesizer → Coder → Auditor) is active.`]})]}):null,(0,l.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:e(`activity:reqIntake.storedVerbatimAsTheRecordApos`)})]}),(0,l.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{htmlFor:`intake-title`,className:`mb-1 block text-xs text-foreground`,children:e(`activity:reqIntake.titleOptional`)}),(0,l.jsx)(o,{id:`intake-title`,value:S,onChange:e=>C(e.target.value),placeholder:e(`activity:reqIntake.shortDisplayTitle`)})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{htmlFor:`intake-type`,className:`mb-1 block text-xs text-foreground`,children:e(`activity:reqIntake.type`)}),(0,l.jsx)(`select`,{id:`intake-type`,value:w,onChange:e=>T(e.target.value),className:i(`w-full rounded-md border border-border/70 bg-background px-2 py-2`,`text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring`),children:u.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{htmlFor:`intake-priority`,className:`mb-1 block text-xs text-foreground`,children:e(`activity:reqIntake.priority`)}),(0,l.jsx)(`select`,{id:`intake-priority`,value:E,onChange:e=>D(e.target.value),className:i(`w-full rounded-md border border-border/70 bg-background px-2 py-2`,`text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring`),children:d.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]})]}),A?(0,l.jsx)(`div`,{role:`alert`,className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:A}):null,M?(0,l.jsx)(`div`,{role:`status`,className:`rounded-md border border-success/30 bg-success/10 px-3 py-2 text-xs text-success`,children:M}):null,(0,l.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,l.jsx)(a,{variant:`secondary`,size:`sm`,disabled:O,onClick:()=>{x(``),j(null),N(null)},children:e(`activity:reqIntake.clear`)}),(0,l.jsx)(a,{size:`sm`,disabled:O||!b.trim(),onClick:()=>void F(),children:O?`Filing…`:`File + submit`})]})]})]}),(0,l.jsxs)(`section`,{"aria-label":e(`activity:reqIntake.intakeRecords`),className:`space-y-2`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:e(`activity:reqIntake.records`)}),(0,l.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[m.length,` total`]})]}),g?(0,l.jsx)(`div`,{className:`py-8 text-center text-xs text-muted-foreground`,children:e(`activity:reqIntake.loading`)}):m.length===0?(0,l.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 py-10 text-center text-xs text-muted-foreground`,children:e(`activity:reqIntake.noIntakeRecordsYetFileThe`)}):(0,l.jsx)(`ul`,{className:`space-y-2`,children:m.map(e=>(0,l.jsxs)(`li`,{className:`rounded-md border border-border/70 bg-card/60 p-3`,children:[(0,l.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,l.jsxs)(`div`,{className:`min-w-0`,children:[(0,l.jsx)(`div`,{className:`truncate text-sm font-medium text-foreground`,title:e.title,children:e.title}),(0,l.jsx)(`div`,{className:`mt-0.5 font-mono text-[10px] text-muted-foreground`,children:e.id})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-1.5`,children:[e.isVibeMode?(0,l.jsx)(s,{variant:`outline`,className:`border-primary/40 bg-primary/10 text-[10px] text-primary`,children:`🌊 VIBE`}):null,(0,l.jsx)(s,{variant:`secondary`,className:`text-[10px]`,children:e.requestType}),(0,l.jsx)(s,{className:i(`text-[10px]`,f[e.status]??`bg-muted text-muted-foreground`),children:e.status})]})]}),(0,l.jsxs)(`div`,{className:`mt-1.5 text-[11px] text-muted-foreground`,children:[e.priority,` · updated `,p(e.updatedAt)]})]},e.id))})]})]})]})}export{m as RequirementIntakeView};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{La as r}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{t as i}from"./utils-YeTxmVPQ.js";import{t as a}from"./button-Bv5PYkY5.js";import{t as o}from"./input-DdFYcw53.js";import{g as s}from"./index-r9OdFrxf.js";var c=e(t(),1),l=n(),u=[`feature`,`bug_fix`,`refactor`,`performance`,`security`,`ui_change`,`api_change`,`infrastructure`,`migration`,`testing`,`documentation`,`maintenance`,`other`,`unspecified`],d=[`unspecified`,`low`,`medium`,`high`,`critical`],f={draft:`bg-muted text-muted-foreground`,collecting_information:`bg-warning/15 text-warning`,submitted:`bg-success/15 text-success`,cancelled:`bg-destructive/15 text-destructive`,archived:`bg-muted text-muted-foreground`};function p(e){let t=Date.now()-e;if(t<6e4)return`just now`;let n=Math.floor(t/6e4);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function m(){let{t:e}=r(),[t,n]=(0,c.useState)(null),[m,h]=(0,c.useState)([]),[g,_]=(0,c.useState)(!0),[v,y]=(0,c.useState)(null),[b,x]=(0,c.useState)(``),[S,C]=(0,c.useState)(``),[w,T]=(0,c.useState)(`unspecified`),[E,D]=(0,c.useState)(`unspecified`),[O,k]=(0,c.useState)(!1),[A,j]=(0,c.useState)(null),[M,N]=(0,c.useState)(null),P=(0,c.useCallback)(async()=>{_(!0),y(null);try{let e=await fetch(`/api/requirement-intakes`);if(!e.ok){let t=await e.json().catch(()=>null);throw Error(t?.error?.message??`List failed (HTTP ${e.status})`)}let t=await e.json();n(t.projectId),h(t.intakes)}catch(e){y(e instanceof Error?e.message:String(e))}finally{_(!1)}},[]);(0,c.useEffect)(()=>{P()},[P]);let F=(0,c.useCallback)(async()=>{let e=b.trim();if(!e){j(`Describe the request first — it is preserved verbatim.`);return}if(!t){j(`No project identity available yet.`);return}k(!0),j(null),N(null);try{let n=await fetch(`/api/projects/${encodeURIComponent(t)}/requirement-intakes`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({projectId:t,requestedBy:`webui`,originalRequest:e,...S.trim()?{title:S.trim()}:{},...w===`unspecified`?{}:{requestType:w},...E===`unspecified`?{}:{priority:E}})}),r=await n.json().catch(()=>null);if(!n.ok||!r?.record)throw Error(r?.error?.message??`Create failed (HTTP ${n.status})`);let i=await fetch(`/api/requirement-intakes/${r.record.id}/submit`,{method:`POST`,headers:{"Content-Type":`application/json`},body:`{}`});if(!i.ok){let e=await i.json().catch(()=>null);throw Error(e?.error?.message??`Submit failed (HTTP ${i.status})`)}N(`Intake recorded and submitted (${r.record.id}).`),x(``),C(``),T(`unspecified`),D(`unspecified`),await P()}catch(e){j(e instanceof Error?e.message:String(e))}finally{k(!1)}},[b,S,w,E,t,P]);return(0,l.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,l.jsxs)(`header`,{className:`border-b border-border/70 px-5 py-3`,children:[(0,l.jsx)(`div`,{className:`text-sm font-semibold text-foreground`,children:e(`activity:reqIntake.requirementsIntake`)}),(0,l.jsx)(`div`,{className:`mt-0.5 text-[11px] text-muted-foreground`,children:e(`activity:reqIntake.collectAndPreserveSoftwareDevelopmentRequests`)})]}),(0,l.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain p-5`,children:[v?(0,l.jsxs)(`div`,{role:`alert`,className:`mb-4 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:[v,(0,l.jsx)(`button`,{type:`button`,className:`ml-2 underline underline-offset-2`,onClick:()=>void P(),children:e(`activity:reqIntake.retry`)})]}):null,(0,l.jsxs)(`section`,{"aria-label":e(`activity:reqIntake.fileANewIntake`),className:`mb-6 rounded-lg border border-border/70 bg-card/60 p-4`,children:[(0,l.jsx)(`div`,{className:`mb-3 text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:e(`activity:reqIntake.fileANewRequest`)}),(0,l.jsxs)(`div`,{className:`space-y-3`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsxs)(`label`,{htmlFor:`intake-request`,className:`mb-1 block text-xs text-foreground`,children:[e(`activity:reqIntake.requestText`),` `,(0,l.jsx)(`span`,{className:`text-destructive`,children:`*`})]}),(0,l.jsx)(`textarea`,{id:`intake-request`,value:b,onChange:e=>x(e.target.value),placeholder:e(`activity:reqIntake.describeTheFeatureBugFixRefactorOrChange`),rows:4,className:i(`w-full resize-y rounded-md border border-border/70 bg-background px-3 py-2`,`text-sm text-foreground placeholder:text-muted-foreground/70`,`focus:outline-none focus:ring-2 focus:ring-ring`)}),/\[VIBE\]/i.test(b)?(0,l.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5 rounded bg-primary/10 px-2 py-1 text-[11px] font-medium text-primary`,children:[(0,l.jsx)(`span`,{children:`🌊`}),(0,l.jsxs)(`span`,{children:[(0,l.jsx)(`strong`,{children:`VIBE Protocol Detected:`}),` Three-Stage Verification (Spec-Synthesizer → Coder → Auditor) is active.`]})]}):null,(0,l.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:e(`activity:reqIntake.storedVerbatimAsTheRecordApos`)})]}),(0,l.jsxs)(`div`,{className:`grid grid-cols-1 gap-3 sm:grid-cols-3`,children:[(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{htmlFor:`intake-title`,className:`mb-1 block text-xs text-foreground`,children:e(`activity:reqIntake.titleOptional`)}),(0,l.jsx)(o,{id:`intake-title`,value:S,onChange:e=>C(e.target.value),placeholder:e(`activity:reqIntake.shortDisplayTitle`)})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{htmlFor:`intake-type`,className:`mb-1 block text-xs text-foreground`,children:e(`activity:reqIntake.type`)}),(0,l.jsx)(`select`,{id:`intake-type`,value:w,onChange:e=>T(e.target.value),className:i(`w-full rounded-md border border-border/70 bg-background px-2 py-2`,`text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring`),children:u.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]}),(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{htmlFor:`intake-priority`,className:`mb-1 block text-xs text-foreground`,children:e(`activity:reqIntake.priority`)}),(0,l.jsx)(`select`,{id:`intake-priority`,value:E,onChange:e=>D(e.target.value),className:i(`w-full rounded-md border border-border/70 bg-background px-2 py-2`,`text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring`),children:d.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]})]}),A?(0,l.jsx)(`div`,{role:`alert`,className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-xs text-destructive`,children:A}):null,M?(0,l.jsx)(`div`,{role:`status`,className:`rounded-md border border-success/30 bg-success/10 px-3 py-2 text-xs text-success`,children:M}):null,(0,l.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,l.jsx)(a,{variant:`secondary`,size:`sm`,disabled:O,onClick:()=>{x(``),j(null),N(null)},children:e(`activity:reqIntake.clear`)}),(0,l.jsx)(a,{size:`sm`,disabled:O||!b.trim(),onClick:()=>void F(),children:O?`Filing…`:`File + submit`})]})]})]}),(0,l.jsxs)(`section`,{"aria-label":e(`activity:reqIntake.intakeRecords`),className:`space-y-2`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(`div`,{className:`text-xs font-semibold uppercase tracking-wider text-muted-foreground`,children:e(`activity:reqIntake.records`)}),(0,l.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[m.length,` total`]})]}),g?(0,l.jsx)(`div`,{className:`py-8 text-center text-xs text-muted-foreground`,children:e(`activity:reqIntake.loading`)}):m.length===0?(0,l.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 py-10 text-center text-xs text-muted-foreground`,children:e(`activity:reqIntake.noIntakeRecordsYetFileThe`)}):(0,l.jsx)(`ul`,{className:`space-y-2`,children:m.map(e=>(0,l.jsxs)(`li`,{className:`rounded-md border border-border/70 bg-card/60 p-3`,children:[(0,l.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,l.jsxs)(`div`,{className:`min-w-0`,children:[(0,l.jsx)(`div`,{className:`truncate text-sm font-medium text-foreground`,title:e.title,children:e.title}),(0,l.jsx)(`div`,{className:`mt-0.5 font-mono text-[10px] text-muted-foreground`,children:e.id})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-1.5`,children:[e.isVibeMode?(0,l.jsx)(s,{variant:`outline`,className:`border-primary/40 bg-primary/10 text-[10px] text-primary`,children:`🌊 VIBE`}):null,(0,l.jsx)(s,{variant:`secondary`,className:`text-[10px]`,children:e.requestType}),(0,l.jsx)(s,{className:i(`text-[10px]`,f[e.status]??`bg-muted text-muted-foreground`),children:e.status})]})]}),(0,l.jsxs)(`div`,{className:`mt-1.5 text-[11px] text-muted-foreground`,children:[e.priority,` · updated `,p(e.updatedAt)]})]},e.id))})]})]})]})}export{m as RequirementIntakeView};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MemoryManager-BAe2zkyG.js","assets/rolldown-runtime-hePW80VL.js","assets/ws-client-DitX7fid.js","assets/react-core-D0Ec-185.js","assets/vendor-DcnGbJ82.js","assets/xyflow-BlkaZTzI.js","assets/xyflow-DLioOiRN.css","assets/markdown-BzXmcdZg.js","assets/vendor-BShi5_Dg.css","assets/i18n-Dq2jJcme.js","assets/chat-BITJe8-v.js","assets/commandPalette-BovBiPec.js","assets/common-BBHmIHQW.js","assets/setup-qooXjj4V.js","assets/toasts-DZ6HdKgG.js","assets/vite-preload-Czpn1I53.js","assets/utils-CmY0Pw1m.js","assets/ui-store-BPQ-dcnY.js","assets/dialog-DT8I6gze.js","assets/button-BIFXNDDY.js","assets/input-DE1O73TJ.js","assets/index-CbwgQF8l.js","assets/index-Cg_zbV9k.css","assets/roster-ws--cUKX8Eo.js","assets/shared-k2sZgl6A.js","assets/MemoryDrawer-B4aW4mVs.js","assets/AudienceMemoryPanel-DyP-vZA-.js","assets/vector-memory-panel-UsWhpyqi.js"])))=>i.map(i=>d[i]);
2
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{Fa as r,Zn as i,tt as a,wn as o}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{t as s}from"./vite-preload-Czpn1I53.js";import{t as c}from"./utils-CmY0Pw1m.js";import{D as l,E as u,O as d,T as f}from"./index-CbwgQF8l.js";var p=e(t(),1),m=n(),h=(0,p.lazy)(()=>s(()=>import(`./MemoryManager-BAe2zkyG.js`).then(e=>({default:e.MemoryManager})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]))),g=(0,p.lazy)(()=>s(()=>import(`./AudienceMemoryPanel-DyP-vZA-.js`).then(e=>({default:e.AudienceMemoryPanel})),__vite__mapDeps([26,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,2,17,22,24]))),_=(0,p.lazy)(()=>s(()=>import(`./vector-memory-panel-UsWhpyqi.js`).then(e=>({default:e.VectorMemoryPanel})),__vite__mapDeps([27,1,3,4,5,6,7,8,18,16,19])));function v({label:e}){return(0,m.jsx)(`div`,{className:`flex h-full min-h-0 items-center justify-center bg-background text-xs text-muted-foreground`,"aria-busy":`true`,children:(0,m.jsxs)(`span`,{className:`font-mono uppercase tracking-wide`,children:[e,`…`]})})}var y=[{value:`all`,label:`activity:memoryManager.tabAllMemories`,hint:`activity:memoryManager.tabAllMemoriesHint`,Icon:i},{value:`audience`,label:`activity:memoryManager.tabAudience`,hint:`activity:memoryManager.tabAudienceHint`,Icon:a},{value:`vector`,label:`activity:memoryManager.tabVectorMemory`,hint:`activity:memoryManager.tabVectorMemoryHint`,Icon:o}];function b({defaultValue:e=`all`}={}){let{t}=r();return(0,m.jsxs)(f,{defaultValue:e,className:`flex h-full min-h-0 min-w-0 flex-1 flex-col`,children:[(0,m.jsx)(`div`,{className:`flex shrink-0 items-center justify-between gap-3 border-b border-border/70 bg-card/55 px-4 py-2 sm:px-5`,role:`presentation`,children:(0,m.jsx)(l,{"aria-label":t(`activity:memoryManager.lensesAria`),className:`h-9 bg-muted/40 p-1 shadow-none`,children:y.map(({value:e,label:n,hint:r,Icon:i})=>(0,m.jsxs)(d,{value:e,className:c(`h-7 gap-2 px-3 text-[11px] font-semibold uppercase tracking-wide`,`data-[state=active]:bg-background data-[state=active]:text-foreground`,`data-[state=active]:shadow-[0_0_0_1px_hsl(var(--border)/0.7)]`),children:[(0,m.jsx)(i,{className:`size-3.5`}),(0,m.jsx)(`span`,{children:t(n)}),(0,m.jsx)(`span`,{className:`hidden font-mono text-[9px] font-normal normal-case text-muted-foreground sm:inline`,children:t(r)})]},e))})}),(0,m.jsx)(u,{value:`all`,className:`mt-0 flex-1 overflow-hidden ring-offset-0 focus-visible:ring-0`,children:(0,m.jsx)(p.Suspense,{fallback:(0,m.jsx)(v,{label:t(`activity:memoryManager.loadingSage`)}),children:(0,m.jsx)(h,{})})}),(0,m.jsx)(u,{value:`audience`,className:`mt-0 flex-1 overflow-hidden ring-offset-0 focus-visible:ring-0`,children:(0,m.jsx)(p.Suspense,{fallback:(0,m.jsx)(v,{label:t(`activity:memoryManager.loadingAudience`)}),children:(0,m.jsx)(g,{})})}),(0,m.jsx)(u,{value:`vector`,className:`mt-0 flex-1 overflow-y-auto px-4 pb-6 pt-4 ring-offset-0 focus-visible:ring-0 sm:px-5`,children:(0,m.jsx)(p.Suspense,{fallback:(0,m.jsx)(v,{label:t(`activity:memoryManager.loadingVectorMemory`)}),children:(0,m.jsx)(_,{})})})]})}export{b as SageTabs};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MemoryManager-BvhuaBnp.js","assets/rolldown-runtime-hePW80VL.js","assets/ws-client-BG2ZSPmv.js","assets/react-core-D0Ec-185.js","assets/vendor-CkMYDhDf.js","assets/xyflow-BlkaZTzI.js","assets/xyflow-DLioOiRN.css","assets/markdown-BzXmcdZg.js","assets/vendor-BShi5_Dg.css","assets/i18n-CEYnEdVi.js","assets/chat-BITJe8-v.js","assets/commandPalette-BovBiPec.js","assets/common-BBHmIHQW.js","assets/setup-qooXjj4V.js","assets/toasts-DZ6HdKgG.js","assets/vite-preload-Czpn1I53.js","assets/utils-YeTxmVPQ.js","assets/ui-store-vtaLeTKu.js","assets/dialog-DyGu9hTX.js","assets/button-Bv5PYkY5.js","assets/input-DdFYcw53.js","assets/index-r9OdFrxf.js","assets/index-VSjrOYGx.css","assets/roster-ws-BDcOlcE2.js","assets/shared-hOwESeA9.js","assets/MemoryDrawer-DlTa24j0.js","assets/AudienceMemoryPanel-C_JHPr_q.js","assets/vector-memory-panel-BK3Q4TEg.js"])))=>i.map(i=>d[i]);
2
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{La as r,Zn as i,tt as a,wn as o}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{t as s}from"./vite-preload-Czpn1I53.js";import{t as c}from"./utils-YeTxmVPQ.js";import{D as l,E as u,O as d,T as f}from"./index-r9OdFrxf.js";var p=e(t(),1),m=n(),h=(0,p.lazy)(()=>s(()=>import(`./MemoryManager-BvhuaBnp.js`).then(e=>({default:e.MemoryManager})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]))),g=(0,p.lazy)(()=>s(()=>import(`./AudienceMemoryPanel-C_JHPr_q.js`).then(e=>({default:e.AudienceMemoryPanel})),__vite__mapDeps([26,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20,21,2,17,22,24]))),_=(0,p.lazy)(()=>s(()=>import(`./vector-memory-panel-BK3Q4TEg.js`).then(e=>({default:e.VectorMemoryPanel})),__vite__mapDeps([27,1,3,4,5,6,7,8,18,16,19])));function v({label:e}){return(0,m.jsx)(`div`,{className:`flex h-full min-h-0 items-center justify-center bg-background text-xs text-muted-foreground`,"aria-busy":`true`,children:(0,m.jsxs)(`span`,{className:`font-mono uppercase tracking-wide`,children:[e,`…`]})})}var y=[{value:`all`,label:`activity:memoryManager.tabAllMemories`,hint:`activity:memoryManager.tabAllMemoriesHint`,Icon:i},{value:`audience`,label:`activity:memoryManager.tabAudience`,hint:`activity:memoryManager.tabAudienceHint`,Icon:a},{value:`vector`,label:`activity:memoryManager.tabVectorMemory`,hint:`activity:memoryManager.tabVectorMemoryHint`,Icon:o}];function b({defaultValue:e=`all`}={}){let{t}=r();return(0,m.jsxs)(f,{defaultValue:e,className:`flex h-full min-h-0 min-w-0 flex-1 flex-col`,children:[(0,m.jsx)(`div`,{className:`flex shrink-0 items-center justify-between gap-3 border-b border-border/70 bg-card/55 px-4 py-2 sm:px-5`,role:`presentation`,children:(0,m.jsx)(l,{"aria-label":t(`activity:memoryManager.lensesAria`),className:`h-9 bg-muted/40 p-1 shadow-none`,children:y.map(({value:e,label:n,hint:r,Icon:i})=>(0,m.jsxs)(d,{value:e,className:c(`h-7 gap-2 px-3 text-[11px] font-semibold uppercase tracking-wide`,`data-[state=active]:bg-background data-[state=active]:text-foreground`,`data-[state=active]:shadow-[0_0_0_1px_hsl(var(--border)/0.7)]`),children:[(0,m.jsx)(i,{className:`size-3.5`}),(0,m.jsx)(`span`,{children:t(n)}),(0,m.jsx)(`span`,{className:`hidden font-mono text-[9px] font-normal normal-case text-muted-foreground sm:inline`,children:t(r)})]},e))})}),(0,m.jsx)(u,{value:`all`,className:`mt-0 flex-1 overflow-hidden ring-offset-0 focus-visible:ring-0`,children:(0,m.jsx)(p.Suspense,{fallback:(0,m.jsx)(v,{label:t(`activity:memoryManager.loadingSage`)}),children:(0,m.jsx)(h,{})})}),(0,m.jsx)(u,{value:`audience`,className:`mt-0 flex-1 overflow-hidden ring-offset-0 focus-visible:ring-0`,children:(0,m.jsx)(p.Suspense,{fallback:(0,m.jsx)(v,{label:t(`activity:memoryManager.loadingAudience`)}),children:(0,m.jsx)(g,{})})}),(0,m.jsx)(u,{value:`vector`,className:`mt-0 flex-1 overflow-y-auto px-4 pb-6 pt-4 ring-offset-0 focus-visible:ring-0 sm:px-5`,children:(0,m.jsx)(p.Suspense,{fallback:(0,m.jsx)(v,{label:t(`activity:memoryManager.loadingVectorMemory`)}),children:(0,m.jsx)(_,{})})})]})}export{b as SageTabs};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{Fa as r,K as i,Kn as a,Li as o,Pt as s,Tt as c,Xt as l,cn as u,da as d,ea as f,ir as p,lt as m,qi as h,vr as g,xr as _}from"./vendor-DcnGbJ82.js";import"./i18n-Dq2jJcme.js";import{a as v,c as y,h as b,n as x,o as S,p as C,r as w,t as T,u as E}from"./xyflow-BlkaZTzI.js";import{t as D}from"./utils-CmY0Pw1m.js";var O=e(t(),1),k=n();function A({pct:e}){let{t}=r(),n=(0,O.useId)(),i=2*Math.PI*26,a=i-Math.max(0,Math.min(100,e))/100*i;return(0,k.jsxs)(`div`,{className:`relative h-16 w-16 shrink-0`,children:[(0,k.jsxs)(`svg`,{viewBox:`0 0 64 64`,className:`h-16 w-16 -rotate-90`,role:`img`,"aria-label":t(`activity:progressring.progress`),children:[(0,k.jsx)(`circle`,{cx:`32`,cy:`32`,r:26,fill:`none`,stroke:`hsl(var(--muted))`,strokeWidth:`6`}),(0,k.jsx)(`circle`,{cx:`32`,cy:`32`,r:26,fill:`none`,stroke:`url(#${n})`,strokeWidth:`6`,strokeLinecap:`round`,strokeDasharray:i,strokeDashoffset:a,style:{transition:`stroke-dashoffset 0.6s cubic-bezier(0.16,1,0.3,1)`}}),(0,k.jsx)(`defs`,{children:(0,k.jsxs)(`linearGradient`,{id:n,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,k.jsx)(`stop`,{offset:`0%`,stopColor:`hsl(var(--primary))`}),(0,k.jsx)(`stop`,{offset:`100%`,stopColor:`hsl(var(--info))`})]})})]}),(0,k.jsxs)(`div`,{className:`absolute inset-0 flex items-center justify-center text-sm font-bold text-foreground`,children:[Math.round(e),`%`]})]})}var j={pending:{label:`Pending`,icon:o,text:`text-muted-foreground`,ring:`border-border/70 bg-muted/45`,dot:`bg-muted-foreground`,hex:`hsl(var(--muted-foreground))`},queued:{label:`Ready`,icon:o,text:`text-primary`,ring:`border-primary/35 bg-primary/10`,dot:`bg-primary`,hex:`hsl(var(--primary))`},in_progress:{label:`Running`,icon:a,spin:!0,text:`text-warning`,ring:`border-warning/45 bg-warning/10`,dot:`bg-warning`,hex:`hsl(var(--warning))`},blocked:{label:`Blocked`,icon:o,text:`text-destructive`,ring:`border-destructive/30 bg-destructive/10`,dot:`bg-destructive`,hex:`hsl(var(--destructive))`},review:{label:`Review`,icon:o,text:`text-primary`,ring:`border-primary/35 bg-primary/10`,dot:`bg-primary`,hex:`hsl(var(--info))`},failed:{label:`Failed`,icon:i,text:`text-destructive`,ring:`border-destructive/45 bg-destructive/10`,dot:`bg-destructive`,hex:`hsl(var(--destructive))`},completed:{label:`Done`,icon:h,text:`text-success`,ring:`border-success/35 bg-success/10`,dot:`bg-success`,hex:`hsl(var(--success))`},cancelled:{label:`Cancelled`,icon:d,text:`text-muted-foreground`,ring:`border-border/70 bg-muted/45`,dot:`bg-muted-foreground`,hex:`hsl(var(--muted-foreground))`}};function M(e){return j[e]??j.pending}var N={critical:{text:`text-destructive`,chip:`bg-destructive/10 text-destructive`},high:{text:`text-warning`,chip:`bg-warning/12 text-warning`},medium:{text:`text-primary`,chip:`bg-primary/10 text-primary`},low:{text:`text-muted-foreground`,chip:`bg-muted text-muted-foreground`}};function P(e){return N[e]??N.medium}var F={running:`border-primary/35 bg-primary/10 text-primary`,paused:`border-warning/35 bg-warning/10 text-warning`,stopped:`border-border/70 bg-muted text-muted-foreground`,completed:`border-success/35 bg-success/10 text-success`,failed:`border-destructive/35 bg-destructive/10 text-destructive`,deadlocked:`border-destructive/35 bg-destructive/10 text-destructive`,idle:`border-border bg-muted text-muted-foreground`},I=[`bg-warning`,`bg-primary`,`bg-success`,`bg-destructive`,`bg-secondary`,`bg-muted-foreground`,`bg-accent`],L={started:{icon:u,color:`text-warning`},completed:{icon:h,color:`text-success`},failed:{icon:i,color:`text-destructive`},retrying:{icon:l,color:`text-warning`},wave:{icon:p,color:`text-primary`},deadlock:{icon:m,color:`text-destructive`},verification_failed:{icon:s,color:`text-destructive`},conflict:{icon:g,color:`text-warning`},split:{icon:c,color:`text-primary`},supervisor:{icon:f,color:`text-primary`}};function R(e){let t=e.trim().split(/\s+/);return((t[0]?.[0]??``)+(t[1]?.[0]??``)).toUpperCase()||`·`}function z(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?t%60?`${n}m ${t%60}s`:`${n}m`:`${Math.floor(n/60)}h ${n%60}m`}function B(e,t){let n=Math.max(0,Math.floor((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m`:`${Math.floor(r/60)}h`}var V=300,H=128,U=240,W={pending:{ring:`border-border/70`,chip:`bg-muted text-muted-foreground`,dot:`bg-muted-foreground`},queued:{ring:`border-primary/35`,chip:`bg-primary/10 text-primary`,dot:`bg-primary`},in_progress:{ring:`border-warning/45`,chip:`bg-warning/12 text-warning`,dot:`bg-warning`},blocked:{ring:`border-destructive/30`,chip:`bg-destructive/10 text-destructive`,dot:`bg-destructive`},review:{ring:`border-primary/35`,chip:`bg-primary/10 text-primary`,dot:`bg-primary`},failed:{ring:`border-destructive/45`,chip:`bg-destructive/10 text-destructive`,dot:`bg-destructive`},completed:{ring:`border-success/35`,chip:`bg-success/12 text-success`,dot:`bg-success`},cancelled:{ring:`border-border/70`,chip:`bg-muted text-muted-foreground`,dot:`bg-muted-foreground`}};function G({data:e}){let t=e.task,{t:n}=r(),s=W[t.displayStatus],c=t.displayStatus===`in_progress`,u=t.displayStatus===`completed`?h:t.displayStatus===`failed`?i:c?a:o;return(0,k.jsxs)(`div`,{className:D(`sdd-node-enter group relative rounded-lg border bg-card/95 px-2.5 py-2 text-left shadow-lg backdrop-blur`,s.ring,c&&`sdd-node-running`,t.displayStatus===`completed`&&`sdd-node-complete`,t.displayStatus===`failed`&&`sdd-node-failed`,e.onTaskClick&&`hover:brightness-125`),style:{width:U,animationDelay:`${Math.min(e.index*45,600)}ms`},children:[e.onTaskClick&&(0,k.jsx)(`button`,{type:`button`,"aria-label":n(`activity:sdd.openTask`,{title:t.title,defaultValue:`Open task: ${t.title}`}),className:`absolute inset-0 z-10 cursor-pointer rounded-lg`,onClick:()=>e.onTaskClick?.(t.id)}),(0,k.jsx)(v,{type:`target`,position:b.Left,isConnectable:!1,className:`!h-1.5 !w-1.5 !border-0 !bg-border`}),(0,k.jsx)(v,{type:`source`,position:b.Right,isConnectable:!1,className:`!h-1.5 !w-1.5 !border-0 !bg-border`}),(0,k.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,k.jsx)(u,{className:D(`h-3.5 w-3.5`,c&&`animate-spin`,s.chip.split(` `).find(e=>e.startsWith(`text`)))}),(0,k.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:t.shortId}),(0,k.jsx)(`span`,{className:D(`font-mono text-[10px] font-bold uppercase`,P(t.priority).text),children:t.priority[0]}),(0,k.jsx)(`span`,{className:D(`ml-auto rounded px-1.5 py-px text-[9px] font-medium`,s.chip),children:n(`activity:sdd.status.${t.displayStatus}`)})]}),(0,k.jsx)(`p`,{className:`mt-1 line-clamp-2 text-[11px] leading-snug text-foreground`,children:t.title}),(t.agentName||t.worktreeBranch)&&(0,k.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5`,children:[t.agentName&&(0,k.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,k.jsx)(`span`,{className:D(`flex h-4 w-4 items-center justify-center rounded-full text-[8px] font-bold text-white`,c?`bg-warning sdd-agent-live`:`bg-muted-foreground`),children:R(t.agentName)}),(0,k.jsx)(`span`,{className:`max-w-[88px] truncate text-[10px] text-muted-foreground`,children:t.agentName})]}),t.retries?(0,k.jsxs)(`span`,{className:`flex items-center gap-0.5 text-[9px] text-destructive`,children:[(0,k.jsx)(l,{className:`h-2.5 w-2.5`}),t.retries]}):null,t.worktreeBranch&&(0,k.jsxs)(`span`,{className:`ml-auto flex items-center gap-0.5 text-[9px] text-muted-foreground`,title:t.worktreeBranch,children:[(0,k.jsx)(_,{className:`h-2.5 w-2.5`}),(0,k.jsx)(`span`,{className:`max-w-[70px] truncate`,children:t.worktreeBranch.replace(/^.*\//,``)})]})]})]})}function K({data:e}){return(0,k.jsx)(`div`,{className:`whitespace-nowrap text-[11px] font-bold uppercase text-muted-foreground`,children:e.label})}var q={task:G,colLabel:K};function J(e,t,n){let r=new Map(e.map(e=>[e.shortId,e])),i=[],a=0;t.forEach((e,t)=>{i.push({id:`__col_${t}`,position:{x:t*V,y:-52},data:{label:e.label},draggable:!1,selectable:!1,type:`colLabel`,style:{pointerEvents:`none`}}),e.taskIds.forEach((e,o)=>{let s=r.get(e);s&&i.push({id:s.id,position:{x:t*V,y:o*H},data:{task:s,index:a++,onTaskClick:n},type:`task`,draggable:!0})})});let o=[];for(let t of e)for(let e of t.deps){let n=r.get(e);if(!n)continue;let i=n.displayStatus===`completed`&&(t.displayStatus===`in_progress`||t.displayStatus===`queued`);o.push({id:`${n.id}->${t.id}`,source:n.id,target:t.id,animated:i,className:i?`sdd-edge-flow`:void 0,style:{stroke:M(t.displayStatus).hex,strokeWidth:i?2.2:1.4,opacity:t.displayStatus===`pending`?.4:.85}})}return{nodes:i,edges:o}}function Y({tasks:e,columns:t,onTaskClick:n}){let{fitView:r}=C(),{nodes:i,edges:a}=(0,O.useMemo)(()=>J(e,t,n),[e,t,n]),o=e.length;return(0,O.useEffect)(()=>{let e=setTimeout(()=>r({padding:.18,duration:400}),60);return()=>clearTimeout(e)},[o,r]),(0,k.jsxs)(E,{nodes:i,edges:a,nodeTypes:q,fitView:!0,fitViewOptions:{padding:.18},minZoom:.2,maxZoom:1.6,proOptions:{hideAttribution:!0},nodesConnectable:!1,elementsSelectable:!!n,children:[(0,k.jsx)(T,{variant:x.Dots,gap:22,size:1,color:`hsl(var(--border))`}),(0,k.jsx)(w,{showInteractive:!1,className:`!bottom-2 !left-2`}),(0,k.jsx)(S,{pannable:!0,zoomable:!0,nodeStrokeWidth:2,maskColor:`hsl(var(--background) / 0.65)`,nodeColor:e=>{let t=e.data?.task?.displayStatus;return t?M(t).hex:`hsl(var(--muted-foreground))`},className:`!bottom-2 !right-2 !h-24 !w-40 overflow-hidden rounded-md border border-border/70 bg-card`})]})}function X({tasks:e,columns:t,onTaskClick:n}){return(0,k.jsx)(y,{children:(0,k.jsx)(Y,{tasks:e,columns:t,onTaskClick:n})})}export{R as a,P as c,F as i,M as l,I as n,B as o,L as r,z as s,X as t,A as u};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{Ji as r,K as i,Kn as a,La as o,Pt as s,Ri as c,Sr as l,Tt as u,Xt as d,cn as f,ir as p,lt as m,pa as h,ta as g,vr as _}from"./vendor-CkMYDhDf.js";import"./i18n-CEYnEdVi.js";import{a as v,c as y,h as b,n as x,o as S,p as C,r as w,t as T,u as E}from"./xyflow-BlkaZTzI.js";import{t as D}from"./utils-YeTxmVPQ.js";var O=e(t(),1),k=n();function A({pct:e}){let{t}=o(),n=(0,O.useId)(),r=2*Math.PI*26,i=r-Math.max(0,Math.min(100,e))/100*r;return(0,k.jsxs)(`div`,{className:`relative h-16 w-16 shrink-0`,children:[(0,k.jsxs)(`svg`,{viewBox:`0 0 64 64`,className:`h-16 w-16 -rotate-90`,role:`img`,"aria-label":t(`activity:progressring.progress`),children:[(0,k.jsx)(`circle`,{cx:`32`,cy:`32`,r:26,fill:`none`,stroke:`hsl(var(--muted))`,strokeWidth:`6`}),(0,k.jsx)(`circle`,{cx:`32`,cy:`32`,r:26,fill:`none`,stroke:`url(#${n})`,strokeWidth:`6`,strokeLinecap:`round`,strokeDasharray:r,strokeDashoffset:i,style:{transition:`stroke-dashoffset 0.6s cubic-bezier(0.16,1,0.3,1)`}}),(0,k.jsx)(`defs`,{children:(0,k.jsxs)(`linearGradient`,{id:n,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,k.jsx)(`stop`,{offset:`0%`,stopColor:`hsl(var(--primary))`}),(0,k.jsx)(`stop`,{offset:`100%`,stopColor:`hsl(var(--info))`})]})})]}),(0,k.jsxs)(`div`,{className:`absolute inset-0 flex items-center justify-center text-sm font-bold text-foreground`,children:[Math.round(e),`%`]})]})}var j={pending:{label:`Pending`,icon:c,text:`text-muted-foreground`,ring:`border-border/70 bg-muted/45`,dot:`bg-muted-foreground`,hex:`hsl(var(--muted-foreground))`},queued:{label:`Ready`,icon:c,text:`text-primary`,ring:`border-primary/35 bg-primary/10`,dot:`bg-primary`,hex:`hsl(var(--primary))`},in_progress:{label:`Running`,icon:a,spin:!0,text:`text-warning`,ring:`border-warning/45 bg-warning/10`,dot:`bg-warning`,hex:`hsl(var(--warning))`},blocked:{label:`Blocked`,icon:c,text:`text-destructive`,ring:`border-destructive/30 bg-destructive/10`,dot:`bg-destructive`,hex:`hsl(var(--destructive))`},review:{label:`Review`,icon:c,text:`text-primary`,ring:`border-primary/35 bg-primary/10`,dot:`bg-primary`,hex:`hsl(var(--info))`},failed:{label:`Failed`,icon:i,text:`text-destructive`,ring:`border-destructive/45 bg-destructive/10`,dot:`bg-destructive`,hex:`hsl(var(--destructive))`},completed:{label:`Done`,icon:r,text:`text-success`,ring:`border-success/35 bg-success/10`,dot:`bg-success`,hex:`hsl(var(--success))`},cancelled:{label:`Cancelled`,icon:h,text:`text-muted-foreground`,ring:`border-border/70 bg-muted/45`,dot:`bg-muted-foreground`,hex:`hsl(var(--muted-foreground))`}};function M(e){return j[e]??j.pending}var N={critical:{text:`text-destructive`,chip:`bg-destructive/10 text-destructive`},high:{text:`text-warning`,chip:`bg-warning/12 text-warning`},medium:{text:`text-primary`,chip:`bg-primary/10 text-primary`},low:{text:`text-muted-foreground`,chip:`bg-muted text-muted-foreground`}};function P(e){return N[e]??N.medium}var F={running:`border-primary/35 bg-primary/10 text-primary`,paused:`border-warning/35 bg-warning/10 text-warning`,stopped:`border-border/70 bg-muted text-muted-foreground`,completed:`border-success/35 bg-success/10 text-success`,failed:`border-destructive/35 bg-destructive/10 text-destructive`,deadlocked:`border-destructive/35 bg-destructive/10 text-destructive`,idle:`border-border bg-muted text-muted-foreground`},I=[`bg-warning`,`bg-primary`,`bg-success`,`bg-destructive`,`bg-secondary`,`bg-muted-foreground`,`bg-accent`],L={started:{icon:f,color:`text-warning`},completed:{icon:r,color:`text-success`},failed:{icon:i,color:`text-destructive`},retrying:{icon:d,color:`text-warning`},wave:{icon:p,color:`text-primary`},deadlock:{icon:m,color:`text-destructive`},verification_failed:{icon:s,color:`text-destructive`},conflict:{icon:_,color:`text-warning`},split:{icon:u,color:`text-primary`},supervisor:{icon:g,color:`text-primary`}};function R(e){let t=e.trim().split(/\s+/);return((t[0]?.[0]??``)+(t[1]?.[0]??``)).toUpperCase()||`·`}function z(e){let t=Math.max(0,Math.floor(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?t%60?`${n}m ${t%60}s`:`${n}m`:`${Math.floor(n/60)}h ${n%60}m`}function B(e,t){let n=Math.max(0,Math.floor((t-e)/1e3));if(n<60)return`${n}s`;let r=Math.floor(n/60);return r<60?`${r}m`:`${Math.floor(r/60)}h`}var V=300,H=128,U=240,W={pending:{ring:`border-border/70`,chip:`bg-muted text-muted-foreground`,dot:`bg-muted-foreground`},queued:{ring:`border-primary/35`,chip:`bg-primary/10 text-primary`,dot:`bg-primary`},in_progress:{ring:`border-warning/45`,chip:`bg-warning/12 text-warning`,dot:`bg-warning`},blocked:{ring:`border-destructive/30`,chip:`bg-destructive/10 text-destructive`,dot:`bg-destructive`},review:{ring:`border-primary/35`,chip:`bg-primary/10 text-primary`,dot:`bg-primary`},failed:{ring:`border-destructive/45`,chip:`bg-destructive/10 text-destructive`,dot:`bg-destructive`},completed:{ring:`border-success/35`,chip:`bg-success/12 text-success`,dot:`bg-success`},cancelled:{ring:`border-border/70`,chip:`bg-muted text-muted-foreground`,dot:`bg-muted-foreground`}};function G({data:e}){let t=e.task,{t:n}=o(),s=W[t.displayStatus],u=t.displayStatus===`in_progress`,f=t.displayStatus===`completed`?r:t.displayStatus===`failed`?i:u?a:c;return(0,k.jsxs)(`div`,{className:D(`sdd-node-enter group relative rounded-lg border bg-card/95 px-2.5 py-2 text-left shadow-lg backdrop-blur`,s.ring,u&&`sdd-node-running`,t.displayStatus===`completed`&&`sdd-node-complete`,t.displayStatus===`failed`&&`sdd-node-failed`,e.onTaskClick&&`hover:brightness-125`),style:{width:U,animationDelay:`${Math.min(e.index*45,600)}ms`},children:[e.onTaskClick&&(0,k.jsx)(`button`,{type:`button`,"aria-label":n(`activity:sdd.openTask`,{title:t.title,defaultValue:`Open task: ${t.title}`}),className:`absolute inset-0 z-10 cursor-pointer rounded-lg`,onClick:()=>e.onTaskClick?.(t.id)}),(0,k.jsx)(v,{type:`target`,position:b.Left,isConnectable:!1,className:`!h-1.5 !w-1.5 !border-0 !bg-border`}),(0,k.jsx)(v,{type:`source`,position:b.Right,isConnectable:!1,className:`!h-1.5 !w-1.5 !border-0 !bg-border`}),(0,k.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,k.jsx)(f,{className:D(`h-3.5 w-3.5`,u&&`animate-spin`,s.chip.split(` `).find(e=>e.startsWith(`text`)))}),(0,k.jsx)(`span`,{className:`font-mono text-[10px] text-muted-foreground`,children:t.shortId}),(0,k.jsx)(`span`,{className:D(`font-mono text-[10px] font-bold uppercase`,P(t.priority).text),children:t.priority[0]}),(0,k.jsx)(`span`,{className:D(`ml-auto rounded px-1.5 py-px text-[9px] font-medium`,s.chip),children:n(`activity:sdd.status.${t.displayStatus}`)})]}),(0,k.jsx)(`p`,{className:`mt-1 line-clamp-2 text-[11px] leading-snug text-foreground`,children:t.title}),(t.agentName||t.worktreeBranch)&&(0,k.jsxs)(`div`,{className:`mt-1.5 flex items-center gap-1.5`,children:[t.agentName&&(0,k.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,k.jsx)(`span`,{className:D(`flex h-4 w-4 items-center justify-center rounded-full text-[8px] font-bold text-white`,u?`bg-warning sdd-agent-live`:`bg-muted-foreground`),children:R(t.agentName)}),(0,k.jsx)(`span`,{className:`max-w-[88px] truncate text-[10px] text-muted-foreground`,children:t.agentName})]}),t.retries?(0,k.jsxs)(`span`,{className:`flex items-center gap-0.5 text-[9px] text-destructive`,children:[(0,k.jsx)(d,{className:`h-2.5 w-2.5`}),t.retries]}):null,t.worktreeBranch&&(0,k.jsxs)(`span`,{className:`ml-auto flex items-center gap-0.5 text-[9px] text-muted-foreground`,title:t.worktreeBranch,children:[(0,k.jsx)(l,{className:`h-2.5 w-2.5`}),(0,k.jsx)(`span`,{className:`max-w-[70px] truncate`,children:t.worktreeBranch.replace(/^.*\//,``)})]})]})]})}function K({data:e}){return(0,k.jsx)(`div`,{className:`whitespace-nowrap text-[11px] font-bold uppercase text-muted-foreground`,children:e.label})}var q={task:G,colLabel:K};function J(e,t,n){let r=new Map(e.map(e=>[e.shortId,e])),i=[],a=0;t.forEach((e,t)=>{i.push({id:`__col_${t}`,position:{x:t*V,y:-52},data:{label:e.label},draggable:!1,selectable:!1,type:`colLabel`,style:{pointerEvents:`none`}}),e.taskIds.forEach((e,o)=>{let s=r.get(e);s&&i.push({id:s.id,position:{x:t*V,y:o*H},data:{task:s,index:a++,onTaskClick:n},type:`task`,draggable:!0})})});let o=[];for(let t of e)for(let e of t.deps){let n=r.get(e);if(!n)continue;let i=n.displayStatus===`completed`&&(t.displayStatus===`in_progress`||t.displayStatus===`queued`);o.push({id:`${n.id}->${t.id}`,source:n.id,target:t.id,animated:i,className:i?`sdd-edge-flow`:void 0,style:{stroke:M(t.displayStatus).hex,strokeWidth:i?2.2:1.4,opacity:t.displayStatus===`pending`?.4:.85}})}return{nodes:i,edges:o}}function Y({tasks:e,columns:t,onTaskClick:n}){let{fitView:r}=C(),{nodes:i,edges:a}=(0,O.useMemo)(()=>J(e,t,n),[e,t,n]),o=e.length;return(0,O.useEffect)(()=>{let e=setTimeout(()=>r({padding:.18,duration:400}),60);return()=>clearTimeout(e)},[o,r]),(0,k.jsxs)(E,{nodes:i,edges:a,nodeTypes:q,fitView:!0,fitViewOptions:{padding:.18},minZoom:.2,maxZoom:1.6,proOptions:{hideAttribution:!0},nodesConnectable:!1,elementsSelectable:!!n,children:[(0,k.jsx)(T,{variant:x.Dots,gap:22,size:1,color:`hsl(var(--border))`}),(0,k.jsx)(w,{showInteractive:!1,className:`!bottom-2 !left-2`}),(0,k.jsx)(S,{pannable:!0,zoomable:!0,nodeStrokeWidth:2,maskColor:`hsl(var(--background) / 0.65)`,nodeColor:e=>{let t=e.data?.task?.displayStatus;return t?M(t).hex:`hsl(var(--muted-foreground))`},className:`!bottom-2 !right-2 !h-24 !w-40 overflow-hidden rounded-md border border-border/70 bg-card`})]})}function X({tasks:e,columns:t,onTaskClick:n}){return(0,k.jsx)(y,{children:(0,k.jsx)(Y,{tasks:e,columns:t,onTaskClick:n})})}export{R as a,P as c,F as i,M as l,I as n,B as o,L as r,z as s,X as t,A as u};