@aiquants/enrichment-react 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ import{jsx as Le,jsxs as ze}from"react/jsx-runtime";var yt={remote_tiers_unavailable:"\u691C\u7D22\u88DC\u52A9\u30B5\u30FC\u30D3\u30B9\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002","circuit_breaker_open:vector":"\u30D9\u30AF\u30C8\u30EB\u691C\u7D22\u304C\u4E00\u6642\u7684\u306B\u906E\u65AD\u3055\u308C\u3066\u3044\u307E\u3059\u3002","circuit_breaker_open:graph":"\u30B0\u30E9\u30D5\u691C\u7D22\u304C\u4E00\u6642\u7684\u306B\u906E\u65AD\u3055\u308C\u3066\u3044\u307E\u3059\u3002",vector_search_disabled:"\u30D9\u30AF\u30C8\u30EB\u691C\u7D22\u304C\u7BA1\u7406\u8005\u306B\u3088\u308A\u7121\u52B9\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002",graph_search_disabled:"\u30B0\u30E9\u30D5\u691C\u7D22\u304C\u7BA1\u7406\u8005\u306B\u3088\u308A\u7121\u52B9\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002"};function We({metadata:t,onDismiss:r}){if(!t.is_degraded)return null;let o=(t.degradation_reason??"").split(",").map(l=>l.trim()).filter(l=>l.length>0);return Le("div",{role:"status","data-testid":"degraded-search-banner","data-quality-tier":t.quality_tier,"data-search-mode":t.search_mode,"data-degraded":"true",style:{padding:"12px 16px",borderRadius:"6px",border:"1px solid #f59e0b",backgroundColor:"#fffbeb",color:"#92400e",marginBottom:"12px"},children:ze("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:[ze("div",{children:[ze("p",{"data-testid":"degraded-mode-message",style:{margin:0,fontWeight:600},children:["\u691C\u7D22\u7D50\u679C\u306F\u7E2E\u9000\u30E2\u30FC\u30C9 (",t.search_mode,") \u3067\u53D6\u5F97\u3055\u308C\u3066\u3044\u307E\u3059\u3002"]}),o.length>0&&Le("ul",{"data-testid":"degraded-reason-list",style:{margin:"6px 0 0 0",paddingLeft:"20px"},children:o.map(l=>Le("li",{"data-testid":`degraded-reason-${l}`,children:yt[l]??l},l))})]}),r&&Le("button",{type:"button","data-testid":"degraded-banner-dismiss",onClick:r,"aria-label":"\u9589\u3058\u308B",style:{background:"none",border:"none",cursor:"pointer",color:"#92400e",fontWeight:"bold",fontSize:"14px",padding:"2px 6px"},children:"\u2715"})]})})}import{ConfidentialityLevelSchema as ht,EnrichmentSyncStatusSchema as Xe,QUARANTINED_CONFIDENTIALITY_LEVEL as Ve}from"@aiquants/enrichment-core";import{useId as ie,useMemo as Qe,useState as j}from"react";import{Fragment as wt,jsx as s,jsxs as d}from"react/jsx-runtime";var Nt=new Set(Xe.options.filter(t=>t.startsWith("FAILED"))),St=new Set(Xe.options);function Et(t){return t.isCurrent===!1?{kind:"blocked",reason:"\u65E7\u7248\u306E\u305F\u3081\u518D\u5B9F\u884C\u4E0D\u53EF"}:t.syncStatus==="SYNCED"?{kind:"resync"}:Nt.has(t.syncStatus)?{kind:"retry"}:St.has(t.syncStatus)?{kind:"blocked",reason:"\u51E6\u7406\u4E2D"}:{kind:"blocked",reason:"\u4E0D\u660E\u306A\u72B6\u614B"}}function Je(t,r,c){let o=t?.find(l=>l.confidentialityLevel===r&&l.capability===c);return o?o.isEnabled:null}var kt={PUBLIC:"\u5168\u516C\u958B",INTERNAL:"\u793E\u5185\u5171\u6709",DEPARTMENT:"\u90E8\u9580\u9650\u5B9A",CONFIDENTIAL:"\u6A5F\u5BC6 - \u65E2\u5B9A",RESTRICTED:"\u691C\u7D22\u5B8C\u5168\u9664\u5916\u30FB\u4FDD\u8B77"},_t=[{key:"GENERAL_DOCUMENT",label:"\u4E00\u822C\u6587\u66F8 (GENERAL_DOCUMENT)"},{key:"CONTRACT_LEGAL",label:"\u5951\u7D04\u66F8\u30FB\u6CD5\u52D9 (CONTRACT_LEGAL)"},{key:"FINANCIAL_REPORT",label:"\u8CA1\u52D9\u8AF8\u8868\u30FB\u6C7A\u7B97\u77ED\u4FE1 (FINANCIAL_REPORT)"},{key:"TECHNICAL_SPEC",label:"\u6280\u8853\u4ED5\u69D8\u66F8\u30FB\u8A2D\u8A08\u66F8 (TECHNICAL_SPEC)"},{key:"DAILY_REPORT",label:"\u696D\u52D9\u65E5\u5831 (DAILY_REPORT)"},{key:"EMAIL_THREAD",label:"\u30E1\u30FC\u30EB\u30B9\u30EC\u30C3\u30C9 (EMAIL_THREAD)"},{key:"MASTER_DATA",label:"\u30DE\u30B9\u30BF\u30C7\u30FC\u30BF (MASTER_DATA)"},{key:"MEDIA_ASSET",label:"\u753B\u50CF\u30FB\u97F3\u58F0\u30E1\u30C7\u30A3\u30A2 (MEDIA_ASSET)"}],It=["\u5951\u7D04\u66F8","\u6C7A\u7B97\u77ED\u4FE1","\u6280\u8853\u4ED5\u69D8\u66F8","\u793E\u5185\u898F\u7A0B","\u8B70\u4E8B\u9332","\u4EBA\u4E8B\u65B9\u91DD"];function Ct(t){if(t<=0)return"0 B";let r=1024,c=["B","KB","MB","GB"],o=Math.floor(Math.log(t)/Math.log(r));return`${(t/r**o).toFixed(1)} ${c[o]}`}function Vt({policies:t,tenantId:r,recentItems:c=[],inspectionResult:o=null,isSubmitting:l=!1,isInspecting:p=!1,onInspectUri:x,onIngestDocument:b,onRetryItem:I}){let E=ie(),k=ie(),g=ie(),u=ie(),y=ie(),P=ie(),H=ie(),B=ie(),[O,z]=j("gdrive://"),[pe,W]=j(""),[Q,K]=j(""),[V,ee]=j("CONFIDENTIAL"),[me,xe]=j("GENERAL_DOCUMENT"),[ue,be]=j(""),[ge,ve]=j(""),[se,re]=j([]),[ke,ye]=j(""),[_e,Ie]=j("user"),[oe,de]=j(1),[le,Pe]=j(!1),q=Qe(()=>({vectorEnabled:Je(t,V,"vector_indexing"),graphEnabled:Je(t,V,"graph_indexing")}),[t,V]),G=Qe(()=>{let a=Q.trim();if(!a)return{valid:!1,error:null};if(!(a.startsWith("file://")||a.startsWith("gdrive://")||a.startsWith("gcs://")))return{valid:!1,error:"\u8A31\u53EF\u3055\u308C\u305F\u30B9\u30AD\u30FC\u30E0 (file://, gdrive://, gcs://) \u3067\u59CB\u307E\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002"};let A=a.replace(/^(file|gdrive|gcs):\/\//,"");return!A.trim()||A.trim()==="<id>"||A.trim()==="<bucket>/<key>"?{valid:!1,error:"URI \u306E\u30D1\u30B9\u90E8\u5206\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002"}:a.includes("..")?{valid:!1,error:"\u76F8\u5BFE\u30D1\u30B9\u8A18\u53F7 (..) \u306B\u3088\u308B\u30D1\u30B9\u30C8\u30E9\u30D0\u30FC\u30B5\u30EB\u306F\u7981\u6B62\u3055\u308C\u3066\u3044\u307E\u3059\u3002"}:{valid:!0,error:null}},[Q]),ne=a=>{let m=a.trim(),A=m.match(/\/file\/d\/([a-zA-Z0-9_-]+)/);if(A)return A[1];let J=m.match(/[?&]id=([a-zA-Z0-9_-]+)/);return J?J[1]:null},he=a=>{if(z(a),pe.trim()){let m=pe.trim().replace(/^(file|gdrive|gcs):\/\//,"");K(`${a}${m}`)}else K("")},Me=a=>{let m=a.trim();if(!m){W(""),K("");return}let A=ne(m);if(A){z("gdrive://"),W(A),K(`gdrive://${A}`);return}if(m.startsWith("gdrive://")){z("gdrive://");let J=m.replace(/^gdrive:\/\//,"");W(J),K(m);return}if(m.startsWith("file://")){z("file://");let J=m.replace(/^file:\/\//,"");W(J),K(m);return}if(m.startsWith("gcs://")){z("gcs://");let J=m.replace(/^gcs:\/\//,"");W(J),K(m);return}if(m.includes("://")){W(a),K(m);return}W(a),K(`${O}${m}`)},Ce=a=>{switch(a){case"gdrive://":return"1EXAMPLEFILEID0000000000000000000 (\u30D5\u30A1\u30A4\u30EB ID \u307E\u305F\u306F\u5171\u6709\u30EA\u30F3\u30AF)";case"file://":return"/srv/documents/specification.md (\u7D76\u5BFE\u30D1\u30B9)";case"gcs://":return"my-bucket/documents/report.pdf (\u30D0\u30B1\u30C3\u30C8\u540D/\u30D1\u30B9)"}},we=()=>{let a=ke.trim();a&&(se.some(m=>m.labelKey===a)||(re(m=>[...m,{labelKey:a,category:_e,confidenceScore:Number(oe.toFixed(2))}]),ye("")))},Fe=a=>{se.some(m=>m.labelKey===a)||re(m=>[...m,{labelKey:a,category:"domain",confidenceScore:1}])},Oe=a=>{re(m=>m.filter(A=>A.labelKey!==a))},Re=a=>{if(a.preventDefault(),!G.valid)return;let m={fileUri:Q.trim(),confidentialityLevel:V,targetDomainKey:me,departmentId:ue.trim()?Number(ue):null,titleOverride:ge.trim()?ge.trim():null,labels:se};b?.(m)},C=a=>{let m=Et(a);if(m.kind==="blocked")return s("span",{className:"font-sans text-[11px] text-slate-400","data-testid":`ingest-action-blocked-${a.id}`,"data-reason":m.reason,children:m.reason});let A=m.kind==="retry";return s("button",{type:"button",onClick:()=>I?.(a.id),"aria-label":`${a.fileName} \u3092${A?"\u518D\u8A66\u884C":"\u518D\u540C\u671F"}`,className:A?"rounded-sm border border-red-200 bg-red-50 px-2 py-1 font-semibold text-red-700 text-xs hover:bg-red-100":"rounded-sm border border-emerald-200 bg-emerald-50 px-2 py-1 font-semibold text-emerald-700 text-xs hover:bg-emerald-100","data-testid":`ingest-${m.kind}-button-${a.id}`,children:A?"\u518D\u8A66\u884C":"\u518D\u540C\u671F"})},Be=a=>{switch(a){case"SYNCED":return s("span",{className:"inline-flex items-center rounded-full bg-emerald-100 px-2.5 py-0.5 font-semibold text-emerald-800 text-xs",children:"\u540C\u671F\u5B8C\u4E86"});case"PENDING":return s("span",{className:"inline-flex items-center rounded-full bg-slate-100 px-2.5 py-0.5 font-medium text-slate-800 text-xs",children:"\u5F85\u6A5F\u4E2D"});case"EXTRACTING":return s("span",{className:"inline-flex items-center rounded-full bg-blue-100 px-2.5 py-0.5 font-medium text-blue-800 text-xs",children:"\u672C\u6587\u62BD\u51FA\u4E2D"});case"ENRICHING":return s("span",{className:"inline-flex items-center rounded-full bg-purple-100 px-2.5 py-0.5 font-medium text-purple-800 text-xs",children:"AI \u8981\u7D04\u30FB\u69CB\u9020\u5316\u4E2D"});case"PROJECTING":return s("span",{className:"inline-flex items-center rounded-full bg-indigo-100 px-2.5 py-0.5 font-medium text-indigo-800 text-xs",children:"\u30D9\u30AF\u30C8\u30EB/\u30B0\u30E9\u30D5\u6295\u5F71\u4E2D"});default:return a.startsWith("FAILED")?d("span",{className:"inline-flex items-center rounded-full bg-red-100 px-2.5 py-0.5 font-semibold text-red-800 text-xs",children:["\u5931\u6557: ",a]}):s("span",{className:"inline-flex items-center rounded-full bg-slate-100 px-2.5 py-0.5 font-medium text-slate-800 text-xs",children:a})}};return d("div",{className:"space-y-6","data-testid":"document-ingest-console",children:[d("div",{className:"rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[d("div",{className:"flex flex-col justify-between gap-2 md:flex-row md:items-center",children:[d("div",{children:[s("h2",{className:"font-bold text-lg text-slate-900",children:"\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u53D6\u308A\u8FBC\u307F & \u30E1\u30BF\u30C7\u30FC\u30BF\u751F\u6210"}),s("p",{className:"mt-1 text-slate-500 text-sm",children:"\u5BFE\u8C61 URI \u3092\u6307\u5B9A\u3057\u3066\u672C\u6587\u62BD\u51FA\u30FBAI \u8981\u7D04\u30FB\u69CB\u9020\u5316\u30E1\u30BF\u30C7\u30FC\u30BF\u4ED8\u4E0E\u30FBQdrant \u30D9\u30AF\u30C8\u30EB\u304A\u3088\u3073 Neo4j \u30B0\u30E9\u30D5\u3078\u306E\u6295\u5F71\u3092\u5B9F\u884C\u3057\u307E\u3059\u3002"})]}),d("div",{className:"inline-flex items-center rounded-lg border border-slate-200 bg-slate-50 px-3 py-1.5 font-medium text-slate-600 text-xs",children:["\u30C6\u30CA\u30F3\u30C8: ",s("span",{className:"ml-1.5 font-bold text-slate-800",children:r})]})]}),d("form",{onSubmit:Re,className:"mt-6 space-y-6",children:[d("div",{className:"space-y-3","data-testid":"document-uri-input-group",children:[d("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[d("label",{htmlFor:E,className:"block font-semibold text-slate-800 text-sm",children:["\u30D5\u30A1\u30A4\u30EB URI / \u30EA\u30BD\u30FC\u30B9\u8B58\u5225\u5B50 ",s("span",{className:"text-red-500",children:"*"})]}),d("span",{className:"font-mono text-slate-500 text-xs",children:["\u9078\u629E\u30B9\u30AD\u30FC\u30E0: ",s("strong",{className:"font-semibold text-indigo-600",children:O})]})]}),d("div",{className:"flex flex-wrap items-center gap-2",children:[s("span",{className:"font-medium text-slate-500 text-xs",children:"\u30B9\u30AD\u30FC\u30E0\u6307\u5B9A:"}),s("button",{type:"button",onClick:()=>he("gdrive://"),className:`rounded-sm border px-2.5 py-1 font-mono text-xs transition-colors ${O==="gdrive://"?"border-indigo-600 bg-indigo-50 font-semibold text-indigo-700 shadow-sm":"border-slate-200 bg-slate-100 text-slate-700 hover:bg-slate-200"}`,"data-testid":"scheme-select-gdrive",children:"gdrive:// (Google Drive)"}),s("button",{type:"button",onClick:()=>he("file://"),className:`rounded-sm border px-2.5 py-1 font-mono text-xs transition-colors ${O==="file://"?"border-indigo-600 bg-indigo-50 font-semibold text-indigo-700 shadow-sm":"border-slate-200 bg-slate-100 text-slate-700 hover:bg-slate-200"}`,"data-testid":"scheme-select-file",children:"file:// (\u30ED\u30FC\u30AB\u30EB)"}),s("button",{type:"button",onClick:()=>he("gcs://"),className:`rounded-sm border px-2.5 py-1 font-mono text-xs transition-colors ${O==="gcs://"?"border-indigo-600 bg-indigo-50 font-semibold text-indigo-700 shadow-sm":"border-slate-200 bg-slate-100 text-slate-700 hover:bg-slate-200"}`,"data-testid":"scheme-select-gcs",children:"gcs:// (GCS)"})]}),d("div",{className:"space-y-1.5",children:[d("div",{className:"flex gap-2",children:[d("div",{className:`flex flex-1 rounded-lg border shadow-sm transition-colors focus-within:ring-2 ${G.error?"border-red-300 focus-within:border-red-500 focus-within:ring-red-200":"border-slate-300 focus-within:border-indigo-500 focus-within:ring-indigo-100"}`,children:[s("span",{className:"inline-flex select-none items-center rounded-l-lg border-slate-200 border-r bg-slate-50 px-3.5 font-mono font-semibold text-slate-700 text-sm","data-testid":"scheme-prefix-badge",children:O}),s("input",{id:E,type:"text",value:pe,onChange:a=>Me(a.target.value),placeholder:Ce(O),"aria-invalid":!!G.error,"aria-describedby":G.error?"ingest-uri-error":void 0,className:"flex-1 rounded-r-lg px-3.5 py-2 font-mono text-sm focus:outline-none","data-testid":"ingest-file-uri-input",required:!0})]}),s("button",{type:"button",onClick:()=>x?.(Q.trim()),disabled:!G.valid||p,className:"inline-flex items-center justify-center rounded-lg border border-slate-300 bg-white px-4 py-2 font-medium text-slate-700 text-sm shadow-sm hover:bg-slate-50 disabled:opacity-50","data-testid":"ingest-inspect-uri-button",children:p?"\u691C\u8A3C\u4E2D...":"URI \u4E8B\u524D\u691C\u8A3C"})]}),d("div",{className:"flex flex-wrap items-center justify-between gap-1 text-xs",children:[d("p",{className:"text-slate-500",children:[O==="gdrive://"&&"Google Drive \u306E\u30D5\u30A1\u30A4\u30EB ID (\u4F8B: 1EXAMPLEFILEID0000000000000000000) \u307E\u305F\u306F URL \u3092\u8CBC\u308A\u4ED8\u3051\u308B\u3068\u81EA\u52D5\u62BD\u51FA\u3055\u308C\u307E\u3059\u3002",O==="file://"&&"\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u5185\u306E\u7D76\u5BFE\u30D1\u30B9 (\u4F8B: /srv/documents/sample.md) \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002",O==="gcs://"&&"GCS \u306E\u30D0\u30B1\u30C3\u30C8\u540D/\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u30D1\u30B9 (\u4F8B: my-bucket/documents/report.pdf) \u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044\u3002"]}),Q&&d("div",{className:"flex items-center gap-1 font-mono text-slate-500",children:[s("span",{children:"\u89E3\u6C7A URI:"}),s("code",{className:"rounded-sm bg-slate-100 px-1.5 py-0.5 font-bold text-indigo-700","data-testid":"resolved-uri-code",children:Q})]})]})]}),G.error&&s("p",{id:"ingest-uri-error",className:"text-red-600 text-xs",role:"alert","data-testid":"ingest-uri-error",children:G.error})]}),o&&o.fileUri===Q.trim()&&d("section",{"aria-live":"polite","aria-label":"\u30EA\u30BD\u30FC\u30B9\u691C\u8A3C\u7D50\u679C",className:`rounded-lg border p-4 text-sm transition-all ${o.exists?"border-emerald-200 bg-emerald-50/60 text-emerald-950":"border-red-200 bg-red-50/60 text-red-950"}`,"data-testid":"inspection-result-card",children:[d("div",{className:"flex items-center justify-between",children:[s("span",{className:"font-semibold",children:o.exists?"\u2713 \u30EA\u30BD\u30FC\u30B9\u78BA\u8A8D\u5B8C\u4E86 (\u30A2\u30AF\u30BB\u30B9\u53EF\u80FD)":"\u26A0 \u30EA\u30BD\u30FC\u30B9\u4E0D\u9054 (\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093)"}),s("span",{className:"font-mono text-slate-500 text-xs",children:o.fileUri})]}),o.exists&&d("div",{className:"mt-2 grid grid-cols-2 gap-4 font-mono text-xs md:grid-cols-4",children:[d("div",{children:[s("span",{className:"block text-slate-500",children:"\u30D5\u30A1\u30A4\u30EB\u540D:"}),s("span",{className:"font-semibold text-slate-800",children:o.fileName})]}),d("div",{children:[s("span",{className:"block text-slate-500",children:"\u30B5\u30A4\u30BA:"}),s("span",{className:"font-semibold text-slate-800",children:Ct(o.fileSize)})]}),d("div",{children:[s("span",{className:"block text-slate-500",children:"MIME:"}),s("span",{className:"font-semibold text-slate-800",children:o.mimeType})]}),d("div",{children:[s("span",{className:"block text-slate-500",children:"\u30EA\u30D3\u30B8\u30E7\u30F3:"}),s("span",{className:"font-semibold text-slate-800",children:o.revisionId?.slice(0,8)??"N/A"})]})]})]}),d("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-3",children:[d("div",{className:"space-y-1",children:[d("label",{htmlFor:k,className:"block font-semibold text-slate-700 text-xs",children:["\u6A5F\u5BC6\u533A\u5206 (Confidentiality Level) ",s("span",{className:"text-red-500",children:"*"})]}),s("select",{id:k,value:V,onChange:a=>ee(a.target.value),className:"w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-slate-800 text-sm focus:border-indigo-500 focus:outline-none focus:ring-1 focus:ring-indigo-500","data-testid":"ingest-confidentiality-select",children:ht.options.map(a=>d("option",{value:a,children:[a," (",kt[a],")"]},a))})]}),d("div",{className:"space-y-1",children:[d("label",{htmlFor:g,className:"block font-semibold text-slate-700 text-xs",children:["\u5BFE\u8C61\u30C9\u30E1\u30A4\u30F3 (Target Domain) ",s("span",{className:"text-red-500",children:"*"})]}),s("select",{id:g,value:me,onChange:a=>xe(a.target.value),className:"w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-slate-800 text-sm focus:border-indigo-500 focus:outline-none focus:ring-1 focus:ring-indigo-500","data-testid":"ingest-domain-select",children:_t.map(a=>s("option",{value:a.key,children:a.label},a.key))})]})]}),V===Ve&&d("div",{className:"rounded-lg border border-amber-300 bg-amber-50 p-3 text-amber-900 text-xs",role:"alert","data-testid":"restricted-warning-banner",children:[s("span",{className:"font-bold",children:"\u3010\u9694\u96E2\u6CE8\u610F\u3011"})," ",Ve," \u306B\u8A2D\u5B9A\u3055\u308C\u305F\u6587\u66F8\u306F\u3001\u6CD5\u4EE4\u9075\u5B88\u30FB\u4FC2\u4E89\u4FDD\u5168\u306E\u305F\u3081\u691C\u7D22\u7D50\u679C\u306B\u4E00\u5207\u51FA\u73FE\u3057\u307E\u305B\u3093\u3002\u3053\u308C\u306F\u8A2D\u5B9A\u3067\u306F\u306A\u304F\u4FDD\u8A3C\u3067\u3042\u308A\u3001\u30DD\u30EA\u30B7\u30FC\u306E\u5024\u306B\u4F9D\u3089\u305A\u5E38\u306B\u6210\u7ACB\u3057\u307E\u3059\u3002",s("span",{className:"mt-1 block text-amber-800",children:"\u7D22\u5F15\u305D\u306E\u3082\u306E\u3092\u884C\u3046\u304B\u3069\u3046\u304B\u306F\u5225\u306E\u8A2D\u5B9A\u3067\u3059 (\u4E0B\u306E\u6295\u5F71\u5148\u3092\u53C2\u7167)\u3002\u7D22\u5F15\u3055\u308C\u305F\u6587\u66F8\u3082\u691C\u7D22\u7D50\u679C\u306B\u306F\u73FE\u308C\u307E\u305B\u3093\u3002"})]}),d("div",{className:"space-y-2 rounded-lg border border-indigo-100 bg-indigo-50/30 p-4","data-testid":"projection-capability-card",children:[s("span",{className:"block font-semibold text-indigo-950 text-xs",children:"\u3053\u306E\u6A5F\u5BC6\u533A\u5206\u306B\u5BFE\u3059\u308B\u6295\u5F71\u306E\u53EF\u5426 (Projection)"}),d("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[d("div",{className:"rounded-sm border border-indigo-200/80 bg-white p-2.5",children:[s("span",{className:"block font-semibold text-slate-600 text-xs",children:"\u30D9\u30AF\u30C8\u30EB\u7D22\u5F15 (Qdrant)"}),s("span",{className:"mt-1 block font-bold text-xs","data-testid":"projection-vector-state","data-state":String(q.vectorEnabled),children:q.vectorEnabled===void 0?"\u8A2D\u5B9A\u304C\u6E21\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u4E0D\u660E":q.vectorEnabled?"\u6709\u52B9":`\u7121\u52B9 (${V} \u306E\u8A2D\u5B9A)`})]}),d("div",{className:"rounded-sm border border-indigo-200/80 bg-white p-2.5",children:[s("span",{className:"block font-semibold text-slate-600 text-xs",children:"\u30B0\u30E9\u30D5\u7D22\u5F15 (Neo4j)"}),s("span",{className:"mt-1 block font-bold text-xs","data-testid":"projection-graph-state","data-state":String(q.graphEnabled),children:q.graphEnabled===void 0?"\u8A2D\u5B9A\u304C\u6E21\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u4E0D\u660E":q.graphEnabled?"\u6709\u52B9":`\u7121\u52B9 (${V} \u306E\u8A2D\u5B9A)`})]})]}),d("p",{className:"text-[11px] text-slate-600","data-testid":"projection-destination-note",children:["\u6295\u5F71\u5148\u306E\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u540D\u30FB\u30B0\u30E9\u30D5\u30E9\u30D9\u30EB\u30FB\u30C1\u30E3\u30F3\u30AF\u5206\u5272\u65B9\u5F0F\u306F\u3001\u9078\u629E\u3057\u305F\u30C9\u30E1\u30A4\u30F3\u306B\u5BFE\u3059\u308B\u914D\u5099\u306E\u53D6\u308A\u8FBC\u307F\u6226\u7565 (",s("code",{className:"font-mono",children:"tm_enrichment_strategy"}),") \u304C\u6C7A\u3081\u307E\u3059\u3002\u3053\u306E\u753B\u9762\u3067\u306F\u63A8\u5B9A\u3057\u307E\u305B\u3093\u3002"]})]}),d("div",{className:"space-y-3 rounded-lg border border-slate-200 bg-slate-50/50 p-4",children:[d("div",{className:"flex items-center justify-between",children:[s("span",{className:"font-semibold text-slate-800 text-xs",children:"\u4ED8\u52A0\u60C5\u5831 / \u30E9\u30D9\u30EB\u30BF\u30B0 (Labels & Tags)"}),d("span",{className:"text-slate-500 text-xs",children:[se.length," \u4EF6\u8A2D\u5B9A\u4E2D"]})]}),d("div",{className:"flex flex-wrap items-center gap-1.5",children:[s("span",{className:"text-slate-500 text-xs",children:"\u30AF\u30A4\u30C3\u30AF\u5019\u88DC:"}),It.map(a=>d("button",{type:"button",onClick:()=>Fe(a),className:"rounded-full border border-slate-200 bg-white px-2.5 py-0.5 text-slate-700 text-xs transition-colors hover:border-indigo-300 hover:text-indigo-600","data-testid":`preset-tag-${a}`,children:["+ ",a]},a))]}),d("div",{className:"grid grid-cols-1 items-end gap-2 sm:grid-cols-5",children:[d("div",{className:"space-y-1 sm:col-span-2",children:[s("label",{htmlFor:P,className:"block text-slate-600 text-xs",children:"\u30E9\u30D9\u30EB\u540D / \u30AD\u30FC"}),s("input",{id:P,type:"text",value:ke,onChange:a=>ye(a.target.value),onKeyDown:a=>{a.key==="Enter"&&(a.preventDefault(),we())},placeholder:"\u4F8B: \u91CD\u8981\u9867\u5BA2\u5951\u7D04, 2026\u5E74\u5EA6",className:"w-full rounded-sm border border-slate-300 bg-white px-2.5 py-1.5 text-slate-800 text-xs focus:outline-none focus:ring-1 focus:ring-indigo-500","data-testid":"ingest-label-key-input"})]}),d("div",{className:"space-y-1",children:[s("label",{htmlFor:H,className:"block text-slate-600 text-xs",children:"\u7A2E\u5225"}),d("select",{id:H,value:_e,onChange:a=>Ie(a.target.value),className:"w-full rounded-sm border border-slate-300 bg-white px-2 py-1.5 text-slate-800 text-xs focus:outline-none focus:ring-1 focus:ring-indigo-500","data-testid":"ingest-label-category-select",children:[s("option",{value:"user",children:"\u30E6\u30FC\u30B6\u30FC (user)"}),s("option",{value:"domain",children:"\u30C9\u30E1\u30A4\u30F3 (domain)"}),s("option",{value:"system",children:"\u30B7\u30B9\u30C6\u30E0 (system)"})]})]}),d("div",{className:"space-y-1",children:[d("label",{htmlFor:B,className:"block text-slate-600 text-xs",children:["\u78BA\u4FE1\u5EA6 (",oe.toFixed(2),": 0.00\u301C1.00 AI/\u81EA\u52D5\u5224\u5B9A\u306E\u4FE1\u983C\u5EA6\u30B9\u30B3\u30A2\u30020.80 \u4EE5\u4E0A\u3067\u81EA\u52D5\u9069\u7528\u63A8\u5968)"]}),s("input",{id:B,type:"range",min:"0.0",max:"1.0",step:"0.05",value:oe,"aria-valuenow":oe,"aria-valuemin":0,"aria-valuemax":1,"aria-valuetext":`${Math.round(oe*100)}%`,onChange:a=>de(Number.parseFloat(a.target.value)),className:"h-2 w-full cursor-pointer appearance-none rounded-lg bg-slate-200","data-testid":"ingest-label-confidence-slider"})]}),s("div",{children:s("button",{type:"button",onClick:we,className:"w-full rounded-sm bg-slate-800 px-3 py-1.5 font-semibold text-white text-xs hover:bg-slate-700","data-testid":"ingest-add-label-button",children:"\u30BF\u30B0\u8FFD\u52A0"})})]}),se.length>0&&s("div",{className:"flex flex-wrap gap-2 pt-2","data-testid":"active-labels-container",children:se.map(a=>d("span",{className:"inline-flex items-center gap-1.5 rounded-md border border-indigo-200 bg-indigo-50 px-2.5 py-1 font-medium text-indigo-800 text-xs","data-testid":`active-label-${a.labelKey}`,children:[s("span",{className:"font-semibold",children:a.labelKey}),d("span",{className:"text-indigo-400",children:["(",a.category,")"]}),s("button",{type:"button",onClick:()=>Oe(a.labelKey),"aria-label":`\u30E9\u30D9\u30EB ${a.labelKey} \u3092\u524A\u9664`,className:"ml-1 font-bold text-indigo-400 hover:text-indigo-900","data-testid":`remove-label-${a.labelKey}`,children:"\xD7"})]},a.labelKey))})]}),d("div",{className:"space-y-3",children:[s("button",{id:"advanced-settings-toggle",type:"button","aria-expanded":le,"aria-controls":"advanced-settings-panel",onClick:()=>Pe(a=>!a),className:"inline-flex items-center gap-1.5 font-semibold text-indigo-600 text-xs hover:text-indigo-800","data-testid":"ingest-toggle-advanced-button",children:d("span",{children:[le?"\u25BC":"\u25B6"," \u30E1\u30BF\u30C7\u30FC\u30BF\u8A73\u7D30\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9 (\u9AD8\u5EA6\u306A\u8A2D\u5B9A)"]})}),le&&d("section",{id:"advanced-settings-panel","aria-labelledby":"advanced-settings-toggle",className:"space-y-4 rounded-lg border border-slate-200 bg-slate-50/40 p-4","data-testid":"advanced-settings-panel",children:[s("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:d("div",{className:"space-y-1",children:[s("label",{htmlFor:y,className:"block font-medium text-slate-700 text-xs",children:"\u6587\u66F8\u30BF\u30A4\u30C8\u30EB (\u4E0A\u66F8\u304D\u6307\u5B9A)"}),s("input",{id:y,type:"text",value:ge,onChange:a=>ve(a.target.value),placeholder:"\u6307\u5B9A\u3057\u306A\u3044\u5834\u5408\u306F\u30D5\u30A1\u30A4\u30EB\u540D\u307E\u305F\u306F AI \u62BD\u51FA\u30BF\u30A4\u30C8\u30EB\u304C\u4F7F\u7528\u3055\u308C\u307E\u3059",className:"w-full rounded-sm border border-slate-300 bg-white px-3 py-1.5 text-slate-800 text-xs","data-testid":"ingest-title-override-input"})]})}),s("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2",children:d("div",{className:"space-y-1",children:[s("label",{htmlFor:u,className:"block font-medium text-slate-700 text-xs",children:"\u6240\u7BA1\u90E8\u9580 ID (\u4EFB\u610F)"}),s("input",{id:u,type:"number",value:ue,onChange:a=>be(a.target.value),placeholder:"\u4F8B: 101",className:"w-full rounded-sm border border-slate-300 bg-white px-3 py-1.5 text-slate-800 text-xs","data-testid":"ingest-department-input"})]})})]})]}),s("div",{className:"flex justify-end pt-2",children:s("button",{type:"submit",disabled:!G.valid||l||p,"aria-busy":l,className:"inline-flex items-center gap-2 rounded-lg bg-indigo-600 px-6 py-2.5 font-semibold text-sm text-white shadow-sm transition-colors hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-indigo-500 disabled:opacity-50","data-testid":"ingest-submit-button",children:l?d(wt,{children:[s("span",{className:"h-4 w-4 animate-spin rounded-full border-2 border-white border-t-transparent"}),s("span",{children:"\u53D6\u308A\u8FBC\u307F\u6295\u5165\u4E2D..."})]}):s("span",{children:"\u30E1\u30BF\u30C7\u30FC\u30BF\u751F\u6210 & \u53D6\u308A\u8FBC\u307F\u5B9F\u884C"})})})]})]}),d("div",{className:"space-y-4 rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[s("div",{className:"flex items-center justify-between",children:d("div",{children:[s("h3",{className:"font-bold text-base text-slate-900",children:"\u6700\u8FD1\u306E\u53D6\u308A\u8FBC\u307F\u30AD\u30E5\u30FC & \u5B9F\u884C\u72B6\u614B"}),s("p",{className:"text-slate-500 text-xs",children:"\u76F4\u8FD1\u306B\u6295\u5165\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u540C\u671F\u9032\u6357\u3068\u7D50\u679C"})]})}),c.length===0?s("div",{className:"py-8 text-center text-slate-500 text-xs","data-testid":"recent-items-empty",children:"\u53D6\u308A\u8FBC\u307F\u5C65\u6B74\u306F\u3042\u308A\u307E\u305B\u3093\u3002"}):s("div",{className:"overflow-x-auto",children:d("table",{className:"min-w-full divide-y divide-slate-200 text-left text-xs","aria-label":"\u6700\u8FD1\u306E\u53D6\u308A\u8FBC\u307F\u5C65\u6B74","data-testid":"recent-items-table",children:[s("thead",{className:"bg-slate-50 font-semibold text-slate-700",children:d("tr",{children:[s("th",{scope:"col",className:"px-3 py-2.5",children:"ID"}),s("th",{scope:"col",className:"px-3 py-2.5",children:"\u30D5\u30A1\u30A4\u30EB\u540D / URI"}),s("th",{scope:"col",className:"px-3 py-2.5",children:"\u6A5F\u5BC6\u533A\u5206"}),s("th",{scope:"col",className:"px-3 py-2.5",children:"\u30EA\u30D3\u30B8\u30E7\u30F3"}),s("th",{scope:"col",className:"px-3 py-2.5",children:"\u540C\u671F\u30B9\u30C6\u30FC\u30BF\u30B9"}),s("th",{scope:"col",className:"px-3 py-2.5",children:"\u767B\u9332\u65E5\u6642"}),s("th",{scope:"col",className:"px-3 py-2.5 text-right",children:"\u30A2\u30AF\u30B7\u30E7\u30F3"})]})}),s("tbody",{className:"divide-y divide-slate-100 font-mono text-slate-800",children:c.map(a=>d("tr",{className:"transition-colors hover:bg-slate-50/80","data-testid":`recent-item-row-${a.id}`,children:[s("td",{className:"px-3 py-2 font-bold",children:a.id}),d("td",{className:"max-w-xs truncate px-3 py-2",title:a.fileUri,children:[s("div",{className:"font-sans font-semibold text-slate-900",children:a.fileName}),s("div",{className:"truncate text-[11px] text-slate-600",children:a.fileUri})]}),s("td",{className:"px-3 py-2",children:s("span",{className:"inline-flex rounded-sm bg-slate-100 px-2 py-0.5 font-medium font-sans text-[11px] text-slate-700",children:a.confidentialityLevel})}),d("td",{className:"px-3 py-2 text-slate-600",children:["rev.",a.revision,a.isCurrent===!1&&s("span",{className:"ml-1.5 inline-flex items-center rounded-sm bg-slate-100 px-1.5 py-0.5 font-medium font-sans text-[10px] text-slate-500","data-testid":`ingest-item-superseded-${a.id}`,children:"\u65E7\u7248"})]}),d("td",{className:"px-3 py-2 font-sans",children:[Be(a.syncStatus),a.errorMessage!==null&&a.errorMessage!==void 0&&a.errorMessage!==""&&s("div",{className:"mt-1 max-w-xs break-words text-[11px] text-red-700","data-testid":`ingest-item-error-${a.id}`,title:a.errorMessage,children:a.errorMessage})]}),s("td",{className:"px-3 py-2 font-sans text-[11px] text-slate-500",children:new Date(a.createdAt).toLocaleString("ja-JP")}),s("td",{className:"px-3 py-2 text-right font-sans",children:C(a)})]},a.id))})]})})]})]})}import{ENRICHMENT_STAGES as qe}from"@aiquants/enrichment-core";import{jsx as $,jsxs as Y}from"react/jsx-runtime";var Ye={open:{label:"\u30D5\u30E9\u30B0\u6709\u52B9",color:"#047857"},closed:{label:"\u30D5\u30E9\u30B0\u7121\u52B9",color:"#b45309"},unmeasured:{label:"\u30D5\u30E9\u30B0\u672A\u6E2C\u5B9A",color:"#64748b"},absent:{label:"\u30C6\u30CA\u30F3\u30C8\u306E\u9580\u306A\u3057",color:"#64748b"}};function Ze(t,r){return t===null?"absent":t in r?r[t]?"open":"closed":"unmeasured"}function Yt({strategies:t,featureFlags:r,onToggleStage:c,isUpdating:o=!1}){let l=c===void 0;return Y("div",{"data-testid":"enrichment-strategy-board",className:"space-y-4 rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[Y("div",{children:[$("h2",{className:"font-bold text-lg text-slate-900",children:"\u30C9\u30E1\u30A4\u30F3\u5225 \u53D6\u308A\u8FBC\u307F\u6226\u7565"}),Y("p",{className:"text-slate-500 text-xs",children:["\u6BB5\u304C\u8D70\u308B\u306E\u306F\u3001\u30C6\u30CA\u30F3\u30C8\u306E\u6A5F\u80FD\u30D5\u30E9\u30B0\u3068\u3001\u3053\u306E\u30C9\u30E1\u30A4\u30F3\u306E\u6226\u7565\u306E",$("strong",{children:"\u53CC\u65B9"}),"\u304C\u958B\u3044\u3066\u3044\u308B\u3068\u304D\u3060\u3051\u3067\u3059\u3002\u8868\u306F ",t.length," \u30C9\u30E1\u30A4\u30F3 \xD7 ",qe.length," \u6BB5\u3002"]}),l&&$("p",{"data-testid":"strategy-read-only-note",className:"mt-1 text-slate-500 text-xs",children:"\u3053\u306E\u914D\u5099\u3067\u306F\u66F8\u304D\u8FBC\u307F\u7D4C\u8DEF\u304C\u7D50\u7DDA\u3055\u308C\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u95B2\u89A7\u306E\u307F\u3067\u3059\u3002"})]}),t.length===0?$("p",{"data-testid":"strategy-empty-note",className:"text-slate-500 text-sm",children:"\u767B\u9332\u3055\u308C\u305F\u30C9\u30E1\u30A4\u30F3\u304C\u3042\u308A\u307E\u305B\u3093\u3002"}):$("div",{className:"overflow-x-auto",children:Y("table",{"data-testid":"strategy-grid","aria-label":"\u30C9\u30E1\u30A4\u30F3\u5225 \u53D6\u308A\u8FBC\u307F\u6226\u7565",className:"w-full border-collapse text-xs",children:[$("thead",{children:Y("tr",{children:[$("th",{scope:"col",className:"border-slate-200 border-b p-2 text-left font-semibold text-slate-600",children:"\u30C9\u30E1\u30A4\u30F3"}),qe.map(p=>{let x=Ze(p.featureFlagKey,r);return Y("th",{scope:"col",className:"border-slate-200 border-b p-2 text-center font-semibold text-slate-600",children:[$("div",{children:p.label}),$("div",{"data-testid":`strategy-gate-${p.key}`,"data-gate":x,className:"mt-0.5 font-normal text-[10px]",style:{color:Ye[x].color},children:Ye[x].label})]},p.key)})]})}),$("tbody",{children:t.map(p=>Y("tr",{"data-testid":`strategy-row-${p.domainKey}`,"data-provenance":p.provenance,"data-active":String(p.isActive),children:[Y("th",{scope:"row",className:"border-slate-100 border-b p-2 text-left font-normal",children:[$("div",{className:"font-semibold text-slate-900",children:p.domainLabel}),Y("div",{className:"text-[10px] text-slate-500",children:[$("code",{children:p.domainKey})," / ",p.strategyName]}),$("div",{"data-testid":`strategy-provenance-${p.domainKey}`,className:"text-[10px] text-slate-500",children:p.provenance==="system"?"\u914D\u5099\u306E\u65E2\u5B9A (SYSTEM) \u3092\u89E3\u6C7A\u4E2D \u2014 \u5909\u66F4\u3059\u308B\u3068\u3053\u306E\u30C6\u30CA\u30F3\u30C8\u5C02\u7528\u306E\u884C\u304C\u4F5C\u3089\u308C\u307E\u3059":"\u3053\u306E\u30C6\u30CA\u30F3\u30C8\u56FA\u6709\u306E\u884C"}),!p.isActive&&$("div",{"data-testid":`strategy-inactive-${p.domainKey}`,className:"text-[10px] text-amber-700",children:"\u6226\u7565\u304C\u7121\u52B9\u306E\u305F\u3081\u3001\u6BB5\u3092\u958B\u3044\u3066\u3082\u89E3\u6C7A\u3055\u308C\u307E\u305B\u3093"})]}),qe.map(x=>{let b=p.stages[x.key],I=Ze(x.featureFlagKey,r);return Y("td",{className:"border-slate-100 border-b p-2 text-center",children:[$("button",{type:"button",role:"switch","aria-checked":b,"aria-label":`${p.domainLabel} \u306E ${x.label}`,"data-testid":`strategy-stage-${p.domainKey}-${x.key}`,"data-enabled":String(b),"data-effective":String(b&&(I==="open"||I==="absent")),disabled:l||o,onClick:()=>c?.(p,x.key,!b),className:`rounded-full px-2.5 py-1 font-medium text-[11px] ${b?"bg-emerald-50 text-emerald-700":"bg-slate-100 text-slate-500"} ${l||o?"cursor-not-allowed opacity-60":"cursor-pointer"}`,children:b?"\u958B":"\u9589"}),b&&I==="unmeasured"&&$("div",{"data-testid":`strategy-unmeasured-${p.domainKey}-${x.key}`,className:"mt-0.5 text-[10px] text-slate-500",children:"\u30D5\u30E9\u30B0\u3092\u8AAD\u3081\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u8D70\u308B\u304B\u3069\u3046\u304B\u5224\u308A\u307E\u305B\u3093"}),b&&I==="closed"&&$("div",{"data-testid":`strategy-blocked-${p.domainKey}-${x.key}`,className:"mt-0.5 text-[10px] text-amber-700",children:"\u30D5\u30E9\u30B0\u304C\u9589\u3058\u3066\u3044\u308B\u305F\u3081\u8D70\u308A\u307E\u305B\u3093"})]},x.key)})]},`${p.domainKey}:${p.strategyName}`))})]})})]})}import{Fragment as tt,jsx as S,jsxs as w}from"react/jsx-runtime";var Rt={engine:"\u30A8\u30F3\u30B8\u30F3",edition:"\u30A8\u30C7\u30A3\u30B7\u30E7\u30F3",fullVersion:"\u5B8C\u5168\u30D0\u30FC\u30B8\u30E7\u30F3",title:"\u540D\u79F0",collectionsCount:"\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3",nodeCount:"\u30CE\u30FC\u30C9\u6570 (\u30C6\u30CA\u30F3\u30C8)",totalKeys:"\u30AD\u30FC\u7DCF\u6570",database:"DB",endpointsCount:"\u30A8\u30F3\u30C9\u30DD\u30A4\u30F3\u30C8",port:"\u30DD\u30FC\u30C8",restPort:"REST \u30DD\u30FC\u30C8",boltUri:"Bolt URI",tls:"TLS"},et=["engine","edition","fullVersion","title","collectionsCount","nodeCount","totalKeys","database","endpointsCount","port","restPort","boltUri","tls"],At=new Set(["collectionsCount","nodeCount","totalKeys","endpointsCount"]);function Lt(t,r){return r===null?"\u672A\u6E2C\u5B9A":typeof r=="boolean"?r?"\u6709\u52B9":"\u7121\u52B9":typeof r=="number"&&At.has(t)?`${r.toLocaleString()} \u4EF6`:String(r)}function Tt(t){let r=et.filter(o=>o in t),c=Object.keys(t).filter(o=>!et.includes(o)).sort();return[...r,...c].map(o=>({key:o,label:Rt[o]??o,text:Lt(o,t[o])}))}function ta({health:t,isRefreshing:r=!1,onRefresh:c,className:o=""}){let{services:l,allHealthy:p,checkedAt:x}=t,b=[{key:"qdrant",data:l.qdrant,title:"Qdrant",subtitle:"\u30D9\u30AF\u30C8\u30EB\u691C\u7D22\u30A8\u30F3\u30B8\u30F3 (Vector DB)"},{key:"neo4j",data:l.neo4j,title:"Neo4j",subtitle:"\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5 (Graph DB)"},{key:"redis",data:l.redis,title:"Redis",subtitle:"\u30AD\u30E3\u30C3\u30B7\u30E5 & Pub/Sub (Cache)"},{key:"sqlServer",data:l.sqlServer,title:"SQL Server",subtitle:"\u6B63\u6E96\u30C7\u30FC\u30BF\u30B9\u30C8\u30A2 (Single Source of Truth)"},{key:"quantsApi",data:l.quantsApi,title:"AI Quant API",subtitle:"Python \u30D0\u30C3\u30AF\u30A8\u30F3\u30C9\u63A8\u8AD6\u30A8\u30F3\u30B8\u30F3"}];return w("section",{className:`rounded-lg border bg-card p-5 text-card-foreground shadow-sm ${o}`,"data-testid":"infrastructure-health-monitor","data-healthy":String(p),children:[w("div",{className:"flex flex-wrap items-center justify-between gap-4 border-b pb-4",children:[w("div",{className:"flex items-center gap-3",children:[S("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-primary/10 text-primary",children:w("svg",{className:"h-5 w-5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[S("rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}),S("rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}),S("line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}),S("line",{x1:"6",x2:"6.01",y1:"18",y2:"18"})]})}),w("div",{children:[S("h2",{className:"font-semibold text-lg",children:"\u5468\u8FBA\u6A5F\u80FD\u63A5\u7D9A\u72B6\u614B & \u30D0\u30FC\u30B8\u30E7\u30F3"}),w("p",{className:"text-muted-foreground text-xs",children:["\u6700\u7D42\u78BA\u8A8D: ",new Date(x).toLocaleTimeString("ja-JP")," | \u5168 5 \u7CFB\u7D71\u306E\u57FA\u76E4\u30B5\u30FC\u30D3\u30B9\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u6B7B\u6D3B\u76E3\u8996"]})]})]}),w("div",{className:"flex items-center gap-3",children:[S("span",{className:`inline-flex items-center gap-1.5 rounded-full px-3 py-1 font-medium text-xs ${p?"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400":"bg-destructive/15 text-destructive"}`,"data-testid":"health-overall-status-badge",children:p?w(tt,{children:[w("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[S("path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14"}),S("polyline",{points:"22 4 12 14.01 9 11.01"})]}),S("span",{children:"\u5168\u30B5\u30FC\u30D3\u30B9\u6B63\u5E38\u63A5\u7D9A"})]}):w(tt,{children:[w("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[S("circle",{cx:"12",cy:"12",r:"10"}),S("line",{x1:"12",x2:"12",y1:"8",y2:"12"}),S("line",{x1:"12",x2:"12.01",y1:"16",y2:"16"})]}),S("span",{children:"\u4E00\u90E8\u30B5\u30FC\u30D3\u30B9\u63A5\u7D9A\u30A8\u30E9\u30FC"})]})}),c&&w("button",{type:"button",onClick:c,disabled:r,"data-testid":"health-refresh-button",className:"inline-flex items-center gap-1.5 rounded-md border bg-background px-3 py-1.5 font-medium text-xs shadow-sm hover:bg-muted focus:outline-none focus:ring-2 focus:ring-ring disabled:opacity-50",children:[w("svg",{className:`h-3.5 w-3.5 ${r?"animate-spin":""}`,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[S("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),S("path",{d:"M3 3v5h5"}),S("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),S("path",{d:"M16 21h5v-5"})]}),S("span",{children:"\u518D\u78BA\u8A8D"})]})]})]}),S("div",{className:"mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-5",children:b.map(({key:I,data:E,title:k,subtitle:g})=>{let u=E.status==="connected";return w("div",{"data-testid":`service-card-${I}`,className:`flex flex-col justify-between rounded-md border p-3.5 transition-colors ${u?"border-border bg-card/60 hover:bg-muted/40":"border-destructive/40 bg-destructive/5"}`,children:[w("div",{children:[w("div",{className:"flex items-center justify-between",children:[S("span",{className:"font-semibold text-sm",children:k}),w("span",{className:`inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 font-medium text-[11px] ${u?"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400":"bg-destructive/15 text-destructive"}`,"data-testid":`service-status-${I}`,children:[S("span",{className:`h-1.5 w-1.5 rounded-full ${u?"animate-pulse bg-emerald-500":"bg-destructive"}`}),u?"Connected":"Error"]})]}),S("p",{className:"mt-1 text-[11px] text-muted-foreground",children:g}),w("div",{className:"mt-3 space-y-1.5 border-t pt-2 text-xs",children:[w("div",{className:"flex items-center justify-between",children:[S("span",{className:"text-muted-foreground",children:"\u30D0\u30FC\u30B8\u30E7\u30F3:"}),S("code",{className:"font-mono font-semibold text-[11px]","data-testid":`service-version-${I}`,children:E.version??"N/A"})]}),w("div",{className:"flex items-center justify-between",children:[S("span",{className:"text-muted-foreground",children:"\u5FDC\u7B54\u6642\u9593:"}),w("span",{className:"font-mono text-[11px] text-muted-foreground",children:[E.latencyMs," ms"]})]}),Tt(E.details).map(y=>w("div",{className:"flex items-center justify-between",children:[w("span",{className:"text-muted-foreground",children:[y.label,":"]}),S("span",{className:"font-medium text-[11px]","data-testid":`health-detail-${I}-${y.key}`,children:y.text})]},y.key))]})]}),w("div",{className:"mt-3 truncate border-t pt-1.5 text-[10px] text-muted-foreground",children:[S("span",{className:"font-mono",children:E.endpoint}),E.errorMessage&&S("p",{className:"mt-0.5 line-clamp-2 text-destructive",children:E.errorMessage})]})]},I)})})]})}import{MODE_TIERS as Dt,SEARCH_MODES as $t,SEARCH_PARAM_LIMITS as at}from"@aiquants/enrichment-core";import{useEffect as st,useId as Z,useRef as nt,useState as L}from"react";import{Fragment as ot,jsx as n,jsxs as i}from"react/jsx-runtime";var it={KEYWORD:{label:"SQL",description:"SQL Server \u306E\u8A9E\u53E5\u4E00\u81F4\u306E\u307F\u3067\u691C\u7D22\u3057\u307E\u3059\u3002\u30D9\u30AF\u30C8\u30EB\u3082\u30B0\u30E9\u30D5\u3082\u547C\u3070\u306A\u3044\u30D5\u30A9\u30FC\u30EB\u30D0\u30C3\u30AF\u7D4C\u8DEF\u3067\u3059\u3002"},SPARSE:{label:"\u758E\u30D9\u30AF\u30C8\u30EB",description:"BM25 \u306E\u8A9E\u5F59\u30D9\u30AF\u30C8\u30EB\u3067\u691C\u7D22\u3057\u307E\u3059\u3002\u56FA\u6709\u540D\u8A5E\u3084\u578B\u756A\u306A\u3069\u306E\u5B8C\u5168\u4E00\u81F4\u306B\u5F37\u3044\u7D4C\u8DEF\u3067\u3059\u3002"},DENSE:{label:"\u5BC6\u30D9\u30AF\u30C8\u30EB",description:"\u57CB\u3081\u8FBC\u307F\u30E2\u30C7\u30EB\u306E\u610F\u5473\u30D9\u30AF\u30C8\u30EB\u3067\u691C\u7D22\u3057\u307E\u3059\u3002\u8A00\u3044\u63DB\u3048\u3084\u6587\u610F\u306E\u8FD1\u3055\u3092\u62FE\u3046\u7D4C\u8DEF\u3067\u3059\u3002"},HYBRID:{label:"\u30CF\u30A4\u30D6\u30EA\u30C3\u30C9",description:"\u758E\u30FB\u5BC6\u30FB\u30B0\u30E9\u30D5\u30FB\u8A9E\u53E5\u4E00\u81F4\u3092\u9806\u4F4D\u878D\u5408\u3057\u307E\u3059\u3002\u65E2\u5B9A\u306E\u691C\u7D22\u7D4C\u8DEF\u3067\u3059\u3002"},GRAPH_TRAVERSE:{label:"\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5",description:"\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u306E\u95A2\u4FC2\u3092\u305F\u3069\u3063\u3066\u691C\u7D22\u3057\u307E\u3059\u3002\u6587\u66F8\u9593\u306E\u3064\u306A\u304C\u308A\u3092\u4E3B\u8EF8\u306B\u3059\u308B\u7D4C\u8DEF\u3067\u3059\u3002"}},Te="\u672A\u5B9F\u884C",Pt=2e3;function Mt(t){return t.fusion?t.fusion==="rrf"?`RRF (k=${t.rrf_k??"\u65E2\u5B9A"})`:`LINEAR (alpha=${t.alpha??"\u65E2\u5B9A"})`:"\u878D\u5408\u306A\u3057 (\u5358\u4E00\u9806\u4F4D\u30E2\u30FC\u30C9)"}var Ge={cosine:{label:"\u5BC6\u30D9\u30AF\u30C8\u30EB",format:t=>`${(t*100).toFixed(1)}%`,title:"\u30B3\u30B5\u30A4\u30F3\u985E\u4F3C\u5EA6 (0\u301C1)"},bm25:{label:"\u758E\u30D9\u30AF\u30C8\u30EB",format:t=>t.toFixed(3),title:"BM25 \u30B9\u30B3\u30A2 (\u4E0A\u9650\u306A\u3057\u3002\u5272\u5408\u3067\u306F\u306A\u3044)"},mixed:{label:"\u30D9\u30AF\u30C8\u30EB",format:t=>t.toFixed(3),title:"\u5BC6\u3068\u758E\u306E\u53CC\u65B9\u304C\u8D70\u3063\u305F\u305F\u3081\u3001\u3053\u306E\u5024\u304C\u3069\u3061\u3089\u306E\u91CF\u304B\u5B9A\u307E\u3089\u306A\u3044"}},Ft=[{id:"balanced-hybrid",title:"\u63A8\u5968\u30CF\u30A4\u30D6\u30EA\u30C3\u30C9 (Balanced Hybrid)",description:"RRF \u878D\u5408 (k=60) \u306B\u3088\u308B\u8A9E\u5F59\u3068\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u306E\u8ABF\u548C\u30D0\u30E9\u30F3\u30B9\u63A2\u7D22",params:{mode:"HYBRID",limit:20,fusion:"rrf",rrf_k:60}},{id:"high-precision-vector",title:"\u9AD8\u7CBE\u5EA6\u30D9\u30AF\u30C8\u30EB (Dense Dominant)",description:"\u30B3\u30B5\u30A4\u30F3\u985E\u4F3C\u5EA6 0.75 \u4EE5\u4E0A\u306E\u5BC6\u30D9\u30AF\u30C8\u30EB\u63A2\u7D22\u306B\u3088\u308B\u9AD8\u9069\u5408\u7387\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u691C\u7D22",params:{mode:"DENSE",limit:10,threshold:.75}},{id:"strict-lexical",title:"\u53B3\u683C\u30AD\u30FC\u30EF\u30FC\u30C9 (Strict Lexical)",description:"\u30CF\u30EB\u30B7\u30CD\u30FC\u30B7\u30E7\u30F3\u3092\u6392\u9664\u3059\u308B SQL SoT / \u8A9E\u5F59\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u76F4\u63A5\u691C\u7D22",params:{mode:"KEYWORD",limit:20}},{id:"lexical-sparse",title:"\u8A9E\u5F59\u30D9\u30AF\u30C8\u30EB (Sparse BM25)",description:"BM25 \u306E\u8A9E\u5F59\u30D9\u30AF\u30C8\u30EB\u3067\u56FA\u6709\u540D\u8A5E\u3084\u578B\u756A\u306E\u5B8C\u5168\u4E00\u81F4\u3092\u72D9\u3046\u691C\u7D22",params:{mode:"SPARSE",limit:20}},{id:"graph-reasoning",title:"\u30B0\u30E9\u30D5\u6DF1\u6398\u308A\u63A8\u8AD6 (Graph Deep Reasoning)",description:"\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u306E\u95A2\u4FC2\u9806\u4F4D\u3092\u4E3B\u8EF8\u306B\u636E\u3048\u305F\u63A8\u8AD6\u691C\u7D22",params:{mode:"GRAPH_TRAVERSE",limit:30}}];function rt(t){return t===void 0||Number.isNaN(t)?"N/A":`${(t*100).toFixed(1)}%`}function Ot(t,r){let c=r.trim();if(!(c&&t))return t;let o=c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),l=new RegExp(`(${o})`,"gi");return t.split(l).map((b,I)=>({id:`chunk-${I}-${b.slice(0,8)}`,part:b,isMatch:b.toLowerCase()===c.toLowerCase()})).map(b=>b.isMatch?n("mark",{"data-testid":"highlighted-keyword",className:"rounded-sm bg-amber-200 px-1 py-0.5 font-semibold text-amber-950",children:b.part},b.id):b.part)}function je(t){return t==="OPEN"?"bg-red-100 font-bold text-red-800":t==="HALF_OPEN"?"bg-amber-100 font-bold text-amber-800":"bg-slate-200 text-slate-500"}function He(t){return t==="OPEN"?"OPEN":t==="HALF_OPEN"?"HALF":"-"}function oa({tenantId:t,onSearch:r,initialParams:c,initialResult:o=null,circuitBreakerStatus:l={},isLoading:p=!1}){let x=Z(),b=Z(),I=Z(),E=Z(),k=Z(),g=Z(),u=Z(),y=Z(),P=Z(),H=Z(),[B,O]=L(c?.q??""),[z,pe]=L(c?.mode??"HYBRID"),[W,Q]=L(c?.limit??20),[K,V]=L(c?.threshold??.5),[ee,me]=L(c?.fusion??"rrf"),[xe,ue]=L(c?.rrf_k??60),[be,ge]=L(c?.alpha??.7),[ve,se]=L(c?.confidentiality_level??"ALL"),[re,ke]=L(c?.department_id?String(c.department_id):""),[ye,_e]=L(c?.mime_type??""),[Ie,oe]=L(c?.tag??""),de=nt(0),[le,Pe]=L(!1),[q,G]=L(!1),[ne,he]=L("request"),[Me,Ce]=L(null),[we,Fe]=L(new Set),[Oe,Re]=L(!1),[C,Be]=L(o),[a,m]=L(null),[A,J]=L(null),Ae=p||Oe,fe=Dt[z],ce=[fe.dense,fe.sparse,fe.graph,fe.lexical].filter(Boolean).length>1,Ke=fe.dense&&!fe.sparse,te=C?.search_metadata.circuit_breaker_status??l,M=C?.search_metadata.executed_tiers??{sql:!1,dense:!1,sparse:!1,graph:!1},Ue=A??{};st(()=>{if(!q)return;let e=f=>{f.key==="Escape"&&G(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[q]);let ut=e=>{e.params.mode!==void 0&&pe(e.params.mode),e.params.limit!==void 0&&Q(e.params.limit),e.params.threshold!==void 0&&V(e.params.threshold),e.params.fusion!==void 0&&me(e.params.fusion),e.params.rrf_k!==void 0&&ue(e.params.rrf_k),e.params.alpha!==void 0&&ge(e.params.alpha)},gt=async e=>{let f=new URL("/api/storage/search",window.location.origin);f.searchParams.set("q",e.q),f.searchParams.set("limit",String(e.limit)),f.searchParams.set("mode",e.mode),e.threshold!==void 0&&f.searchParams.set("threshold",String(e.threshold)),e.fusion!==void 0&&f.searchParams.set("fusion",e.fusion),e.rrf_k!==void 0&&f.searchParams.set("rrf_k",String(e.rrf_k)),e.alpha!==void 0&&f.searchParams.set("alpha",String(e.alpha)),e.department_id!==void 0&&f.searchParams.set("department_id",String(e.department_id)),e.confidentiality_level!==void 0&&f.searchParams.set("confidentiality_level",e.confidentiality_level),e.mime_type!==void 0&&f.searchParams.set("mime_type",e.mime_type),e.tag!==void 0&&f.searchParams.set("tag",e.tag);let R=await fetch(f.toString(),{method:"GET",headers:{Accept:"application/json"}});if(!(R.headers.get("content-type")??"").includes("application/json"))throw new Error("\u30BB\u30C3\u30B7\u30E7\u30F3\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\u518D\u5EA6\u30B5\u30A4\u30F3\u30A4\u30F3\u3057\u3066\u304F\u3060\u3055\u3044\u3002");if(!R.ok){let X=await R.json().catch(()=>({}));throw new Error(X.error??`\u691C\u7D22\u30A8\u30E9\u30FC: HTTP ${R.status}`)}return await R.json()},ft=async()=>{if(Ae)return;let e=re.trim()?Number.parseInt(re.trim(),10):void 0,f={q:B.trim(),mode:z,limit:W,threshold:Ke?K:void 0,fusion:ce?ee:void 0,rrf_k:ce&&ee==="rrf"?xe:void 0,alpha:ce&&ee==="linear"?be:void 0,department_id:Number.isNaN(e)?void 0:e,confidentiality_level:ve==="ALL"?void 0:ve,mime_type:ye.trim()||void 0,tag:Ie.trim()||void 0},R=de.current+1;de.current=R,m(null),Re(!0);try{let ae=r?await r(f):await gt(f);if(R!==de.current)return;Be(ae),J(f)}catch(ae){if(R!==de.current)return;m(ae instanceof Error?ae.message:"\u691C\u7D22\u51E6\u7406\u4E2D\u306B\u4E88\u671F\u305B\u306C\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002")}finally{R===de.current&&Re(!1)}},Ne=nt(void 0);st(()=>()=>{Ne.current!==void 0&&clearTimeout(Ne.current)},[]);let xt=async(e,f)=>{try{await navigator.clipboard.writeText(e),Ce(f),Ne.current!==void 0&&clearTimeout(Ne.current),Ne.current=setTimeout(()=>Ce(null),Pt)}catch{}},bt=e=>{Fe(f=>{let R=new Set(f);return R.has(e)?R.delete(e):R.add(e),R})};return i("div",{"data-testid":"metadata-search-workbench","data-mode":z,"data-loading":String(Ae),className:"space-y-6",children:[i("div",{className:"rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[i("div",{className:"flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between",children:[i("div",{children:[i("div",{className:"flex items-center gap-2",children:[n("h2",{className:"font-bold text-slate-900 text-xl tracking-tight",children:"\u30E1\u30BF\u30C7\u30FC\u30BF\u691C\u7D22\u30EF\u30FC\u30AF\u30D9\u30F3\u30C1"}),i("span",{"data-testid":"workbench-tenant-badge",className:"rounded-full bg-indigo-50 px-2.5 py-0.5 font-semibold text-indigo-700 text-xs",children:["\u30C6\u30CA\u30F3\u30C8: ",t]})]}),n("p",{className:"mt-1 text-slate-500 text-sm",children:"\u30AD\u30FC\u30EF\u30FC\u30C9\u30FB\u5BC6\u30D9\u30AF\u30C8\u30EB\u30FB\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u306E\u30DE\u30EB\u30C1\u30EC\u30A4\u30E4\u30FC\u691C\u7D22\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5FAE\u8ABF\u6574\u3057\u3001\u30EA\u30A2\u30EB\u30BF\u30A4\u30E0\u306B\u53D6\u5F97\u7CBE\u5EA6\u3068\u63A8\u8AD6\u7D50\u679C\u3092\u691C\u8A3C\u3057\u307E\u3059\u3002"})]}),n("div",{className:"flex items-center gap-2",children:i("button",{type:"button","data-testid":"toggle-inspector-button","aria-expanded":q,"aria-controls":H,onClick:()=>G(e=>!e),className:"inline-flex items-center gap-2 rounded-lg border border-slate-300 bg-slate-50 px-3.5 py-2 font-medium text-slate-700 text-sm shadow-sm transition-colors hover:bg-slate-100",children:[n("span",{className:"font-mono text-xs",children:"{ }"}),n("span",{children:q?"\u30A4\u30F3\u30B9\u30DA\u30AF\u30BF\u3092\u9589\u3058\u308B":"\u958B\u767A\u8005\u30A4\u30F3\u30B9\u30DA\u30AF\u30BF"})]})})]}),i("div",{className:"mt-5 border-slate-100 border-t pt-4",children:[n("span",{className:"font-medium text-slate-600 text-xs",children:"\u958B\u767A\u8005\u30D7\u30EA\u30BB\u30C3\u30C8:"}),n("div",{className:"mt-2 flex flex-wrap gap-2",children:Ft.map(e=>n("button",{type:"button","data-testid":`preset-button-${e.id}`,onClick:()=>ut(e),className:"inline-flex items-center rounded-lg border border-slate-200 bg-slate-50 px-3 py-1.5 text-left text-xs transition-colors hover:border-indigo-300 hover:bg-indigo-50/50",children:i("div",{children:[n("span",{className:"font-semibold text-slate-800",children:e.title}),i("span",{className:"ml-1.5 hidden text-slate-500 xl:inline",children:["(",e.description,")"]})]})},e.id))})]})]}),n("div",{className:"rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:i("form",{onSubmit:e=>{e.preventDefault(),ft()},className:"space-y-5",children:[i("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center",children:[i("div",{className:"relative flex-1",children:[n("label",{htmlFor:x,className:"sr-only",children:"\u691C\u7D22\u30AF\u30A8\u30EA"}),n("input",{id:x,type:"text","data-testid":"search-query-input",value:B,onChange:e=>O(e.target.value),placeholder:"\u691C\u7D22\u30AF\u30A8\u30EA\u3092\u5165\u529B (\u4F8B: \u300C\u56DB\u534A\u671F \u6C7A\u7B97\u5831\u544A\u66F8\u300D\u300C\u696D\u52D9\u65E5\u5831 \u539F\u4FA1\u6309\u5206\u300D)...",className:"w-full rounded-lg border border-slate-300 bg-white px-4 py-2.5 text-slate-900 text-sm shadow-sm transition-colors placeholder:text-slate-400 focus:border-indigo-500 focus:outline-none focus:ring-2 focus:ring-indigo-500/20"}),B&&n("button",{type:"button","data-testid":"clear-query-button",onClick:()=>O(""),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-slate-400 hover:text-slate-600",children:"\u2715"})]}),n("div",{className:"flex items-center gap-1 rounded-lg border border-slate-200 bg-slate-100 p-1",children:$t.map(e=>{let f=z===e;return n("button",{type:"button","aria-pressed":f,title:it[e].description,"data-testid":`search-mode-${e}`,"data-active":String(f),onClick:()=>pe(e),className:`rounded-md px-3 py-1.5 font-medium text-xs transition-all ${f?"bg-white text-indigo-700 shadow-sm":"text-slate-600 hover:text-slate-900"}`,children:it[e].label},e)})}),n("button",{type:"submit","data-testid":"execute-search-button",disabled:Ae,className:"inline-flex items-center justify-center rounded-lg bg-indigo-600 px-5 py-2.5 font-semibold text-sm text-white shadow-sm transition-colors hover:bg-indigo-700 disabled:opacity-50",children:Ae?"\u691C\u7D22\u4E2D...":"\u691C\u7D22\u5B9F\u884C"})]}),i("div",{className:"grid grid-cols-1 gap-4 rounded-lg bg-slate-50 p-4 sm:grid-cols-2 lg:grid-cols-4",children:[i("div",{className:"space-y-1.5",children:[i("div",{className:"flex items-center justify-between",children:[n("label",{htmlFor:b,className:"font-medium text-slate-700 text-xs",children:"\u53D6\u5F97\u4EF6\u6570 (Top-K):"}),n("span",{"data-testid":"limit-display",className:"font-mono font-semibold text-indigo-600 text-xs",children:W})]}),n("input",{id:b,type:"range","data-testid":"limit-slider",min:at.limit.min,max:at.limit.max,step:1,value:W,onChange:e=>Q(Number(e.target.value)),className:"h-1.5 w-full cursor-pointer appearance-none rounded-lg bg-slate-200 accent-indigo-600"})]}),i("div",{className:"space-y-1.5",children:[i("div",{className:"flex items-center justify-between",children:[n("label",{htmlFor:I,className:"font-medium text-slate-700 text-xs",title:Ke?"\u30B3\u30B5\u30A4\u30F3\u985E\u4F3C\u5EA6\u306E\u4E0B\u9650\u3067\u3059\u3002":"\u3053\u306E\u6226\u7565\u306E\u30B9\u30B3\u30A2\u306F\u30B3\u30B5\u30A4\u30F3\u985E\u4F3C\u5EA6\u3067\u306F\u306A\u3044\u305F\u3081\u9069\u7528\u3057\u307E\u305B\u3093\u3002",children:"\u985E\u4F3C\u5EA6\u95BE\u5024 (Threshold):"}),n("span",{"data-testid":"threshold-display",className:"font-mono font-semibold text-indigo-600 text-xs",children:K.toFixed(2)})]}),n("input",{id:I,type:"range","data-testid":"threshold-slider",min:0,max:1,step:.01,value:K,disabled:!Ke,onChange:e=>V(Number(e.target.value)),className:"h-1.5 w-full cursor-pointer appearance-none rounded-lg bg-slate-200 accent-indigo-600 disabled:opacity-40"})]}),i("div",{className:"space-y-1.5",children:[i("div",{className:"flex items-center justify-between",children:[n("span",{className:"font-medium text-slate-700 text-xs",children:"\u878D\u5408\u30A2\u30EB\u30B4\u30EA\u30BA\u30E0:"}),n("span",{className:"font-mono font-semibold text-indigo-600 text-xs",children:ee.toUpperCase()})]}),i("div",{className:"flex items-center gap-1",children:[n("button",{type:"button","data-testid":"fusion-strategy-rrf",onClick:()=>me("rrf"),disabled:!ce,className:`flex-1 rounded-sm border py-1 font-medium text-xs ${ee==="rrf"?"border-indigo-300 bg-indigo-50 font-bold text-indigo-700":"border-slate-200 bg-white text-slate-600 hover:bg-slate-50"} disabled:opacity-40`,children:"RRF"}),n("button",{type:"button","data-testid":"fusion-strategy-linear",onClick:()=>me("linear"),disabled:!ce,className:`flex-1 rounded-sm border py-1 font-medium text-xs ${ee==="linear"?"border-indigo-300 bg-indigo-50 font-bold text-indigo-700":"border-slate-200 bg-white text-slate-600 hover:bg-slate-50"} disabled:opacity-40`,children:"\u7DDA\u5F62\u7D50\u5408 (Alpha)"})]})]}),n("div",{className:"space-y-1.5",children:ee==="rrf"?i(ot,{children:[i("div",{className:"flex items-center justify-between",children:[n("label",{htmlFor:E,className:"font-medium text-slate-700 text-xs",children:"RRF \u5B9A\u6570 (k):"}),n("span",{"data-testid":"rrf-k-display",className:"font-mono font-semibold text-indigo-600 text-xs",children:xe})]}),n("input",{id:E,type:"range","data-testid":"rrf-k-slider",min:10,max:120,step:5,value:xe,disabled:!ce,onChange:e=>ue(Number(e.target.value)),className:"h-1.5 w-full cursor-pointer appearance-none rounded-lg bg-slate-200 accent-indigo-600 disabled:opacity-40"})]}):i(ot,{children:[i("div",{className:"flex items-center justify-between",children:[n("label",{htmlFor:k,className:"font-medium text-slate-700 text-xs",children:"\u30D9\u30AF\u30C8\u30EB\u91CD\u307F (Alpha):"}),n("span",{"data-testid":"alpha-display",className:"font-mono font-semibold text-indigo-600 text-xs",children:be.toFixed(2)})]}),n("input",{id:k,type:"range","data-testid":"alpha-slider",min:0,max:1,step:.05,value:be,disabled:!ce,onChange:e=>ge(Number(e.target.value)),className:"h-1.5 w-full cursor-pointer appearance-none rounded-lg bg-slate-200 accent-indigo-600 disabled:opacity-40"})]})})]}),i("div",{children:[i("button",{type:"button","data-testid":"toggle-advanced-filters",onClick:()=>Pe(e=>!e),className:"inline-flex items-center gap-1.5 font-medium text-indigo-600 text-xs hover:text-indigo-800",children:[n("span",{children:le?"\u25BC":"\u25B6"}),i("span",{children:["\u8A73\u7D30\u30E1\u30BF\u30C7\u30FC\u30BF & \u30B0\u30E9\u30D5\u30D5\u30A3\u30EB\u30BF ",le?"\u3092\u9589\u3058\u308B":"\u3092\u5C55\u958B"]})]}),le&&i("div",{"data-testid":"advanced-filters-panel",className:"mt-3 grid grid-cols-1 gap-4 rounded-lg border border-slate-200 bg-white p-4 sm:grid-cols-2 lg:grid-cols-4",children:[i("div",{className:"space-y-1",children:[n("label",{htmlFor:u,className:"font-medium text-slate-700 text-xs",children:"\u6A5F\u5BC6\u533A\u5206 (Confidentiality):"}),i("select",{id:u,"data-testid":"filter-confidentiality",value:ve,onChange:e=>se(e.target.value),className:"w-full rounded-sm border border-slate-300 bg-white px-2.5 py-1.5 text-slate-800 text-xs focus:border-indigo-500",children:[n("option",{value:"ALL",children:"\u5168\u6A5F\u5BC6\u533A\u5206 (ALL)"}),n("option",{value:"PUBLIC",children:"\u516C\u958B (PUBLIC)"}),n("option",{value:"INTERNAL",children:"\u793E\u5185\u9650\u5B9A (INTERNAL)"}),n("option",{value:"DEPARTMENT",children:"\u90E8\u9580\u9650\u5B9A (DEPARTMENT)"}),n("option",{value:"CONFIDENTIAL",children:"\u6A5F\u5BC6 (CONFIDENTIAL)"})]})]}),i("div",{className:"space-y-1",children:[n("label",{htmlFor:g,className:"font-medium text-slate-700 text-xs",children:"\u90E8\u9580 ID (Department ID):"}),n("input",{id:g,type:"number","data-testid":"filter-department-id",value:re,onChange:e=>ke(e.target.value),placeholder:"\u4F8B: 101",className:"w-full rounded-sm border border-slate-300 bg-white px-2.5 py-1.5 text-slate-800 text-xs focus:border-indigo-500"})]}),i("div",{className:"space-y-1",children:[n("label",{htmlFor:y,className:"font-medium text-slate-700 text-xs",children:"MIME \u30BF\u30A4\u30D7 (MIME Type):"}),n("input",{id:y,type:"text","data-testid":"filter-mime-type",value:ye,onChange:e=>_e(e.target.value),placeholder:"application/pdf, image/...",className:"w-full rounded-sm border border-slate-300 bg-white px-2.5 py-1.5 text-slate-800 text-xs focus:border-indigo-500"})]}),i("div",{className:"space-y-1",children:[n("label",{htmlFor:P,className:"font-medium text-slate-700 text-xs",children:"\u30BF\u30B0 (Tag):"}),n("input",{id:P,type:"text","data-testid":"filter-tag",value:Ie,onChange:e=>oe(e.target.value),placeholder:"\u4F8B: \u6C7A\u7B97, \u5951\u7D04\u66F8...",className:"w-full rounded-sm border border-slate-300 bg-white px-2.5 py-1.5 text-slate-800 text-xs focus:border-indigo-500"})]})]})]})]})}),a&&n("div",{role:"alert","data-testid":"search-error-alert",className:"rounded-xl border border-red-200 bg-red-50 p-4 font-medium text-red-700 text-sm shadow-sm",children:a}),C?.search_metadata&&n(We,{metadata:C.search_metadata}),C&&i("div",{"data-testid":"search-summary-bar",className:"flex flex-wrap items-center justify-between gap-3 rounded-lg border border-slate-200 bg-slate-50 px-4 py-3 text-xs",children:[i("div",{className:"flex items-center gap-4",children:[i("span",{"data-testid":"result-count",className:"font-semibold text-slate-800",children:["\u30D2\u30C3\u30C8\u4EF6\u6570: ",n("span",{className:"font-bold text-indigo-600",children:C.count})," \u4EF6"]}),C.search_metadata.execution_time_ms!==void 0&&i("span",{"data-testid":"latency-metric",className:"text-slate-500",children:["\u5B9F\u884C\u30EC\u30A4\u30C6\u30F3\u30B7: ",i("span",{className:"font-mono font-semibold text-slate-700",children:[C.search_metadata.execution_time_ms," ms"]})]}),i("span",{"data-testid":"quality-tier-badge",className:"rounded-full bg-slate-200 px-2 py-0.5 font-medium font-mono text-slate-800",children:["Tier: ",C.search_metadata.quality_tier]})]}),i("div",{className:"flex items-center gap-2",children:[n("span",{className:"text-slate-500",children:"\u30EC\u30A4\u30E4\u30FC\u72B6\u614B:"}),i("span",{"data-testid":"tier-badge-sql","data-active":String(M.sql),className:`rounded-sm px-1.5 py-0.5 font-mono text-[11px] ${M.sql?"bg-emerald-100 font-semibold text-emerald-800":"bg-slate-200 text-slate-500"}`,children:["SQL ",M.sql?"\u2713":"-"]}),i("span",{"data-testid":"tier-badge-sparse","data-active":String(M.sparse),"data-breaker":te.vector??"CLOSED",className:`rounded-sm px-1.5 py-0.5 font-mono text-[11px] ${M.sparse?"bg-emerald-100 font-semibold text-emerald-800":je(te.vector)}`,children:["\u758E\u30D9\u30AF\u30C8\u30EB ",M.sparse?"\u2713":He(te.vector)]}),i("span",{"data-testid":"tier-badge-dense","data-active":String(M.dense),"data-breaker":te.vector??"CLOSED",className:`rounded-sm px-1.5 py-0.5 font-mono text-[11px] ${M.dense?"bg-emerald-100 font-semibold text-emerald-800":je(te.vector)}`,children:["\u5BC6\u30D9\u30AF\u30C8\u30EB ",M.dense?"\u2713":He(te.vector)]}),i("span",{"data-testid":"tier-badge-graph","data-active":String(M.graph),"data-breaker":te.graph??"CLOSED",className:`rounded-sm px-1.5 py-0.5 font-mono text-[11px] ${M.graph?"bg-emerald-100 font-semibold text-emerald-800":je(te.graph)}`,children:["\u30B0\u30E9\u30D5 ",M.graph?"\u2713":He(te.graph)]})]})]}),i("div",{"data-testid":"search-results-container",className:"space-y-4",children:[C&&C.hits.length===0&&i("div",{"data-testid":"empty-search-state",className:"rounded-xl border border-slate-200 bg-white p-12 text-center",children:[n("p",{className:"font-semibold text-base text-slate-700",children:"\u691C\u7D22\u6761\u4EF6\u306B\u4E00\u81F4\u3059\u308B\u30E1\u30BF\u30C7\u30FC\u30BF\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F"}),n("p",{className:"mt-1 text-slate-500 text-sm",children:"\u691C\u7D22\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u7C21\u6F54\u306B\u3059\u308B\u304B\u3001\u985E\u4F3C\u5EA6\u95BE\u5024\u3092\u4E0B\u3052\u308B\uFF08\u4F8B: 0.30\uFF09\u3001\u307E\u305F\u306F\u300C\u63A8\u5968\u30CF\u30A4\u30D6\u30EA\u30C3\u30C9\u300D\u30D7\u30EA\u30BB\u30C3\u30C8\u3092\u304A\u8A66\u3057\u304F\u3060\u3055\u3044\u3002"})]}),C?.hits.map((e,f)=>{let R=we.has(e.id),ae=e.scores?.fused;return i("div",{"data-testid":`search-hit-card-${e.id}`,"data-hit-id":e.id,"data-rank":f+1,className:"rounded-xl border border-slate-200 bg-white p-5 shadow-sm transition-all hover:border-slate-300 hover:shadow-md",children:[i("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between",children:[i("div",{className:"space-y-1",children:[i("div",{className:"flex flex-wrap items-center gap-2",children:[i("span",{"data-testid":`hit-rank-${e.id}`,className:"rounded-sm bg-slate-100 px-2 py-0.5 font-bold font-mono text-slate-600 text-xs",children:["#",f+1]}),n("h3",{"data-testid":`hit-filename-${e.id}`,className:"font-bold text-base text-slate-900 tracking-tight",children:e.file_name}),n("span",{"data-testid":`hit-confidentiality-${e.id}`,className:`rounded-full px-2 py-0.5 font-semibold text-[11px] ${e.confidentiality_level==="PUBLIC"?"bg-emerald-50 text-emerald-700":e.confidentiality_level==="INTERNAL"?"bg-blue-50 text-blue-700":e.confidentiality_level==="CONFIDENTIAL"?"bg-amber-50 text-amber-700":"bg-red-50 text-red-700"}`,children:e.confidentiality_level}),e.department_id!==null&&i("span",{"data-testid":`hit-department-${e.id}`,className:"rounded-sm bg-slate-100 px-2 py-0.5 text-[11px] text-slate-600",children:["Dept: ",e.department_id]}),n("span",{"data-testid":`hit-mimetype-${e.id}`,className:"rounded-sm bg-slate-50 px-2 py-0.5 font-mono text-[11px] text-slate-500",children:e.mime_type})]}),n("p",{className:"max-w-xl truncate font-mono text-slate-400 text-xs",children:e.file_uri})]}),ae!==void 0&&i("div",{className:"flex items-center gap-3 sm:text-right",children:[i("div",{children:[n("div",{className:"font-medium text-slate-500 text-xs",children:"\u878D\u5408\u9806\u4F4D\u30B9\u30B3\u30A2"}),n("div",{"data-testid":`hit-fused-score-${e.id}`,className:"font-bold font-mono text-indigo-600 text-sm",title:"\u5404\u5C64\u3067\u306E\u9806\u4F4D\u304B\u3089\u7D44\u307F\u7ACB\u3066\u305F\u5024 (0\u301C1)\u3002\u985E\u4F3C\u5EA6\u3067\u3082\u78BA\u4FE1\u5EA6\u3067\u3082\u306A\u304F\u3001\u3069\u306E\u5C64\u3067\u3082 1 \u4F4D\u306A\u3089 1.000 \u306B\u306A\u308B",children:ae.toFixed(3)})]}),n("div",{className:"h-2 w-16 overflow-hidden rounded-full bg-slate-200",children:n("div",{className:"h-full bg-indigo-600",style:{width:`${Math.min(100,Math.max(0,ae*100))}%`}})})]})]}),e.ai_summary&&n("div",{"data-testid":`hit-summary-${e.id}`,className:"mt-3 rounded-lg bg-slate-50 p-3 text-slate-700 text-sm leading-relaxed",children:Ot(e.ai_summary,A?.q??B)}),e.scores&&i("div",{"data-testid":`hit-score-breakdown-${e.id}`,className:"mt-3 flex flex-wrap items-center gap-2 text-xs",children:[n("span",{className:"text-[11px] text-slate-400",children:"\u30B9\u30B3\u30A2\u5185\u8A33:"}),e.scores.vector!==void 0&&i("span",{"data-testid":`score-vector-${e.id}`,"data-score-kind":e.scores.vector.kind,title:Ge[e.scores.vector.kind].title,className:"rounded-sm bg-blue-50 px-2 py-0.5 font-mono text-blue-700",children:[Ge[e.scores.vector.kind].label,": ",Ge[e.scores.vector.kind].format(e.scores.vector.value)]}),e.scores.lexicalRank!==void 0&&i("span",{"data-testid":`score-lexical-${e.id}`,title:"\u5B57\u53E5\u5C64\u3067\u306E\u9806\u4F4D\u3092 0\u301C1 \u3078\u5199\u3057\u305F\u5024 (\u30B9\u30B3\u30A2\u3067\u306F\u306A\u3044)",className:"rounded-sm bg-amber-50 px-2 py-0.5 font-mono text-amber-700",children:["\u5B57\u53E5\u9806\u4F4D: ",rt(e.scores.lexicalRank)]}),e.scores.graphRank!==void 0&&i("span",{"data-testid":`score-graph-${e.id}`,title:"\u30B0\u30E9\u30D5\u5C64\u3067\u306E\u9806\u4F4D\u3092 0\u301C1 \u3078\u5199\u3057\u305F\u5024 (\u30B9\u30B3\u30A2\u3067\u306F\u306A\u3044)",className:"rounded-sm bg-purple-50 px-2 py-0.5 font-mono text-purple-700",children:["\u30B0\u30E9\u30D5\u9806\u4F4D: ",rt(e.scores.graphRank)]})]}),e.tags&&e.tags.length>0&&n("div",{"data-testid":`hit-tags-${e.id}`,className:"mt-3 flex flex-wrap items-center gap-1.5",children:e.tags.map(X=>i("span",{"data-testid":`hit-tag-${e.id}-${X}`,className:"rounded-full bg-slate-100 px-2.5 py-0.5 font-medium text-slate-600 text-xs",children:["#",X]},`tag-${e.id}-${X}`))}),e.graph_relations&&e.graph_relations.length>0&&i("div",{"data-testid":`hit-graph-relations-${e.id}`,className:"mt-3 flex flex-wrap items-center gap-1.5",children:[n("span",{className:"text-slate-400 text-xs",children:"\u30B0\u30E9\u30D5\u63A5\u7D9A:"}),e.graph_relations.map((X,vt)=>i("span",{"data-testid":`hit-relation-${e.id}-${vt}`,className:"rounded-sm border border-purple-200 bg-purple-50 px-2 py-0.5 font-mono text-[11px] text-purple-800",children:["-[:",X.relation,"]-> ",X.target_name]},`rel-${e.id}-${X.relation}-${X.target_name}`))]}),e.structured_data!==null&&e.structured_data!==void 0&&i("div",{className:"mt-3 border-slate-100 border-t pt-2",children:[i("button",{type:"button","data-testid":`toggle-structured-data-${e.id}`,onClick:()=>bt(e.id),className:"inline-flex items-center gap-1 font-medium text-indigo-600 text-xs hover:text-indigo-800",children:[n("span",{children:R?"\u25BC":"\u25B6"}),i("span",{children:["\u62BD\u51FA\u69CB\u9020\u5316\u30C7\u30FC\u30BF ",R?"\u3092\u9589\u3058\u308B":"\u3092\u8868\u793A"]})]}),R&&n("pre",{"data-testid":`structured-data-json-${e.id}`,tabIndex:0,className:"mt-2 max-h-48 overflow-auto rounded-sm bg-slate-900 p-3 font-mono text-slate-200 text-xs",children:JSON.stringify(e.structured_data,null,2)})]})]},e.id)})]}),q&&i("section",{id:H,"aria-label":"\u958B\u767A\u8005\u30A4\u30F3\u30B9\u30DA\u30AF\u30BF","data-testid":"developer-inspector-drawer",className:"rounded-xl border border-slate-300 bg-slate-900 p-5 text-slate-200 shadow-xl",children:[i("div",{className:"flex items-center justify-between border-slate-800 border-b pb-3",children:[i("div",{className:"flex items-center gap-3",children:[n("span",{className:"font-bold text-base text-white",children:"\u958B\u767A\u8005\u30A4\u30F3\u30B9\u30DA\u30AF\u30BF"}),n("span",{className:"rounded-sm bg-slate-800 px-2 py-0.5 font-mono text-slate-400 text-xs",children:"Live Pipeline Inspector"})]}),i("div",{className:"flex items-center gap-2",children:[n("button",{type:"button","data-testid":"copy-inspector-payload-button",onClick:()=>{let e=JSON.stringify(ne==="request"?A??{}:C??{},null,2);xt(e,"inspector")},className:"rounded-sm bg-slate-800 px-2.5 py-1 font-medium text-slate-300 text-xs transition-colors hover:bg-slate-700",children:Me==="inspector"?"\u30B3\u30D4\u30FC\u5B8C\u4E86 \u2713":"JSON \u3092\u30B3\u30D4\u30FC"}),n("button",{type:"button","data-testid":"close-inspector-button",onClick:()=>G(!1),className:"text-slate-400 hover:text-white",children:"\u2715"})]})]}),n("div",{className:"mt-3 flex gap-2 border-slate-800 border-b pb-2",children:["request","response","pipeline","graph-trace"].map(e=>{let f={request:"Request Payload",response:"Response Payload",pipeline:"Pipeline Trace","graph-trace":"Graph Path Trace"},R=ne===e;return n("button",{type:"button","data-testid":`inspector-tab-${e}`,"data-active":String(R),onClick:()=>he(e),className:`rounded-sm px-3 py-1 font-medium text-xs ${R?"bg-indigo-600 font-semibold text-white":"text-slate-400 hover:text-white"}`,children:f[e]},e)})}),i("div",{className:"mt-4",children:[ne==="request"&&n("pre",{"data-testid":"inspector-request-json",tabIndex:0,className:"max-h-80 overflow-auto rounded-sm bg-slate-950 p-4 font-mono text-emerald-400 text-xs",children:JSON.stringify(A??{},null,2)}),ne==="response"&&n("pre",{"data-testid":"inspector-response-json",tabIndex:0,className:"max-h-80 overflow-auto rounded-sm bg-slate-950 p-4 font-mono text-sky-400 text-xs",children:JSON.stringify(C??{},null,2)}),ne==="pipeline"&&i("div",{"data-testid":"inspector-pipeline-trace",className:"space-y-3 p-2 text-xs",children:[i("div",{className:"flex items-center gap-2",children:[n("span",{className:"rounded-full bg-emerald-500/20 px-2 py-0.5 font-bold text-emerald-400",children:"Step 1"}),n("span",{className:"font-semibold text-slate-300",children:"\u30AF\u30A8\u30EA\u89E3\u6790 & \u57CB\u3081\u8FBC\u307F (Query Analysis & Tokenization)"})]}),i("div",{className:"ml-6 border-slate-700 border-l pl-4 font-mono text-slate-400",children:["mode: ",Ue.mode,' | q: "',Ue.q,'"']}),i("div",{className:"flex items-center gap-2",children:[n("span",{className:"rounded-full bg-emerald-500/20 px-2 py-0.5 font-bold text-emerald-400",children:"Step 2"}),n("span",{className:"font-semibold text-slate-300",children:"\u30DE\u30EB\u30C1\u30EC\u30A4\u30E4\u30FC\u4E26\u884C\u53D6\u5F97 (Multi-Tier Retrieval)"})]}),i("div",{className:"ml-6 border-slate-700 border-l pl-4 font-mono text-slate-400",children:["SQL SoT: ",M.sql?"ACTIVE":"SKIPPED"," | Sparse: ",M.sparse?"ACTIVE":"OFFLINE"," | Dense: ",M.dense?"ACTIVE":"OFFLINE"," | Graph: ",M.graph?"ACTIVE":"OFFLINE"]}),i("div",{className:"flex items-center gap-2",children:[n("span",{className:"rounded-full bg-indigo-500/20 px-2 py-0.5 font-bold text-indigo-400",children:"Step 3"}),n("span",{className:"font-semibold text-slate-300",children:"\u30B9\u30B3\u30A2\u878D\u5408 & \u9806\u4F4D\u4ED8\u3051 (Fusion & Ranking)"})]}),i("div",{className:"ml-6 border-slate-700 border-l pl-4 font-mono text-slate-400",children:[i("span",{"data-testid":"inspector-fusion-strategy",children:["strategy: ",C?Mt(Ue):Te]})," | ",i("span",{"data-testid":"inspector-output-count",children:["Output count: ",C?C.count:Te]})]}),i("div",{className:"flex items-center gap-2",children:[n("span",{className:"rounded-full bg-purple-500/20 px-2 py-0.5 font-bold text-purple-400",children:"Step 4"}),n("span",{className:"font-semibold text-slate-300",children:"ABAC \u884C\u30FB\u5217\u8A8D\u53EF\u30DE\u30B9\u30AD\u30F3\u30B0 (Security Enforcement)"})]}),i("div",{className:"ml-6 border-slate-700 border-l pl-4 font-mono text-slate-400",children:[i("span",{"data-testid":"inspector-authz-row",children:["\u884C\u30B9\u30B3\u30FC\u30D7: ",C?C.authzScopes.rowScopeApplied?"\u9069\u7528 (\u4E00\u89A7\u304B\u3089\u6587\u66F8\u304C\u9664\u304B\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027)":"\u672A\u9069\u7528":Te]})," | ",i("span",{"data-testid":"inspector-authz-column",children:["\u5217\u30B9\u30B3\u30FC\u30D7: ",C?C.authzScopes.columnScopeApplied?"\u9069\u7528 (\u9805\u76EE\u304C\u4F0F\u305B\u3089\u308C\u3066\u3044\u308B)":"\u672A\u9069\u7528":Te]})," | ","tenant: ",t]})]}),ne==="graph-trace"&&i("div",{"data-testid":"inspector-graph-trace",className:"p-2 text-xs",children:[n("div",{className:"font-semibold text-purple-300",children:"\u77E5\u8B58\u30B0\u30E9\u30D5 \u30C8\u30E9\u30D0\u30FC\u30B5\u30EB \u30D1\u30B9:"}),C?.hits.some(e=>e.graph_relations&&e.graph_relations.length>0)?n("ul",{className:"mt-2 space-y-2 font-mono text-slate-300",children:C.hits.map(e=>e.graph_relations?.map(f=>i("li",{className:"rounded-sm bg-slate-950 p-2",children:["(:Document {id: ",e.id,', file: "',e.file_name,'"}) -[:',f.relation,']-> (:Entity {name: "',f.target_name,'"})']},`gtrace-${e.id}-${f.relation}-${f.target_name}`)))}):n("p",{className:"mt-2 text-slate-500",children:"\u95A2\u9023\u3059\u308B\u30B0\u30E9\u30D5\u30D1\u30B9\u306F\u691C\u51FA\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002"})]})]})]})]})}import{jsx as h,jsxs as v}from"react/jsx-runtime";function dt(t){return t===null?Ee:`${t.length} \u7A2E`}var Ee="\u672A\u8A2D\u5B9A";function Se(t,r=""){return t===null?Ee:`${t}${r}`}function De(t){return t===null?Ee:`${t} \u4EF6`}function Bt(t){if(t.currentVersion===null&&t.lifecyclePhase===null)return`${t.schemaName} (\u79FB\u884C\u53F0\u5E33\u306F\u672A\u8A18\u9332)`;let r=t.currentVersion===null?Ee:`v${t.currentVersion}`;return`${t.schemaName} ${r} (${t.lifecyclePhase??Ee})`}function ca({tenantId:t,ontologyStatus:r}){let c=r.classes,o=r.predicates;return v("div",{className:"space-y-6","data-testid":"ontology-status-card",children:[v("div",{className:"rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[v("div",{className:"flex flex-col justify-between gap-3 md:flex-row md:items-center",children:[v("div",{children:[v("div",{className:"flex items-center gap-2",children:[h("h2",{className:"font-bold text-base text-slate-900",children:"\u30AA\u30F3\u30C8\u30ED\u30B8\u30FC & \u30B9\u30AD\u30FC\u30DE\u30AC\u30D0\u30CA\u30F3\u30B9\u72B6\u614B"}),h("span",{className:`inline-flex items-center rounded-full px-2.5 py-0.5 font-bold text-xs ${r.autonomousEvolutionEnabled?"bg-emerald-100 text-emerald-800":"bg-slate-100 text-slate-700"}`,"data-testid":"ontology-evolution-badge",children:r.autonomousEvolutionEnabled?"\u81EA\u5F8B\u7684\u30AA\u30F3\u30C8\u30ED\u30B8\u30FC\u9032\u5316: \u6709\u52B9":"\u81EA\u5F8B\u9032\u5316: \u505C\u6B62\u4E2D"}),h("span",{className:"inline-flex items-center rounded-sm bg-indigo-100 px-2 py-0.5 font-mono font-semibold text-indigo-800 text-xs","data-testid":"ontology-schema-version",children:Bt(r)})]}),h("p",{className:"mt-1 text-slate-500 text-xs",children:"Neo4j \u7269\u7406\u30B0\u30E9\u30D5\u30B9\u30AD\u30FC\u30DE\u5236\u7D04\u3001\u8AD6\u7406\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30AF\u30E9\u30B9\u4F53\u7CFB\u3001\u304A\u3088\u3073\u4EBA\u9593\u53C2\u52A0\u578B (HITL) \u30AA\u30F3\u30C8\u30ED\u30B8\u30FC\u6607\u683C\u30D1\u30A4\u30D7\u30E9\u30A4\u30F3\u306E\u7A3C\u50CD\u72B6\u6CC1"})]}),v("div",{className:"inline-flex items-center rounded-lg border border-slate-200 bg-slate-50 px-3 py-1.5 font-medium text-slate-600 text-xs",children:["\u30C6\u30CA\u30F3\u30C8\u540D\u524D\u7A7A\u9593:"," ",h("span",{className:"ml-1.5 font-bold text-slate-800","data-testid":"ontology-tenant-id",children:t})]})]}),v("div",{className:"mt-4 grid grid-cols-2 gap-3 sm:grid-cols-4",children:[v("div",{className:"rounded-lg border border-slate-200 bg-slate-50/70 p-3",children:[h("span",{className:"block text-slate-500 text-xs",children:"\u7269\u7406\u4E00\u610F\u5236\u7D04 (Unique)"}),h("span",{className:"mt-1 block font-bold font-mono text-base text-slate-900","data-testid":"ontology-constraints-count",children:De(r.totalConstraints)})]}),v("div",{className:"rounded-lg border border-slate-200 bg-slate-50/70 p-3",children:[h("span",{className:"block text-slate-500 text-xs",children:"\u691C\u7D22\u7D22\u5F15 (DDL \u304C\u4F5C\u308B\u5206)"}),h("span",{className:"mt-1 block font-bold font-mono text-base text-slate-900","data-testid":"ontology-indexes-count",children:De(r.searchIndexes)}),v("span",{className:"block text-slate-500 text-xs","data-testid":"ontology-indexes-total",children:["\u5168\u7D22\u5F15: ",De(r.totalIndexes)]})]}),v("div",{className:"rounded-lg border border-slate-200 bg-slate-50/70 p-3",children:[h("span",{className:"block text-slate-500 text-xs",children:"\u6607\u683C\u5224\u5B9A\u3057\u304D\u3044\u5024 (\u78BA\u4FE1\u5EA6/\u5171\u8D77)"}),v("span",{className:"mt-1 block font-bold font-mono text-base text-indigo-700","data-testid":"ontology-thresholds-info",children:[Se(r.promotionThresholds.confidence)," / ",Se(r.promotionThresholds.cooccurrence," \u56DE")]})]}),v("div",{className:"rounded-lg border border-slate-200 bg-slate-50/70 p-3",children:[h("span",{className:"block text-slate-500 text-xs",children:"HITL \u6607\u683C\u627F\u8A8D\u5F85\u3061\u5019\u88DC"}),h("span",{className:"mt-1 block font-bold font-mono text-amber-600 text-base","data-testid":"ontology-unresolved-count",children:De(r.unresolvedCandidatesCount)})]})]})]}),v("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[v("div",{className:"rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[v("div",{className:"flex items-center justify-between pb-3",children:[v("div",{children:[h("h3",{className:"font-bold text-slate-900 text-sm",children:"\u30AA\u30F3\u30C8\u30ED\u30B8\u30FC\u4E3B\u8981\u30AF\u30E9\u30B9\u4F53\u7CFB (Node Labels)"}),h("p",{className:"text-slate-500 text-xs",children:"\u30B0\u30E9\u30D5\u5185\u3067\u30E2\u30C7\u30EB\u5316\u3055\u308C\u3066\u3044\u308B\u6B63\u6E96\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u30CE\u30FC\u30C9\u7A2E\u5225"})]}),h("span",{className:"rounded-sm bg-indigo-50 px-2 py-0.5 font-semibold text-indigo-700 text-xs","data-testid":"ontology-classes-count",children:dt(c)})]}),v("div",{className:"divide-y divide-slate-100",children:[c===null&&h("p",{className:"py-3 text-slate-500 text-xs","data-testid":"ontology-classes-unsupplied",children:"\u3053\u306E\u914D\u5099\u306E\u30AF\u30E9\u30B9\u8A9E\u5F59\u304C\u4F9B\u7D66\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5B9F\u88C5\u304C\u8A31\u3059\u8A9E\u5F59\u3092\u8FD4\u3059\u7D4C\u8DEF\u304C\u7D50\u7DDA\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"}),c?.map(l=>v("div",{className:"flex items-start justify-between py-2.5","data-testid":`ontology-class-${l.name}`,children:[v("div",{children:[h("span",{className:"inline-block font-bold font-mono text-indigo-700 text-xs",children:l.name}),h("p",{className:"mt-0.5 text-slate-600 text-xs",children:l.description})]}),typeof l.count=="number"&&h("span",{className:"rounded-sm bg-slate-100 px-2 py-0.5 font-mono text-slate-600 text-xs",children:l.count.toLocaleString()})]},l.name))]})]}),v("div",{className:"rounded-xl border border-slate-200 bg-white p-6 shadow-sm",children:[v("div",{className:"flex items-center justify-between pb-3",children:[v("div",{children:[h("h3",{className:"font-bold text-slate-900 text-sm",children:"\u30EA\u30EC\u30FC\u30B7\u30E7\u30F3\u30B7\u30C3\u30D7\u8FF0\u8A9E\u4F53\u7CFB (Predicates)"}),h("p",{className:"text-slate-500 text-xs",children:"\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u9593\u306E\u30BB\u30DE\u30F3\u30C6\u30A3\u30C3\u30AF\u95A2\u4FC2\u3068\u6709\u5411\u6027"})]}),h("span",{className:"rounded-sm bg-amber-50 px-2 py-0.5 font-semibold text-amber-700 text-xs","data-testid":"ontology-predicates-count",children:dt(o)})]}),v("div",{className:"divide-y divide-slate-100",children:[o===null&&h("p",{className:"py-3 text-slate-500 text-xs","data-testid":"ontology-predicates-unsupplied",children:"\u3053\u306E\u914D\u5099\u306E\u8FF0\u8A9E\u8A9E\u5F59\u304C\u4F9B\u7D66\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u5B9F\u88C5\u304C\u8A31\u3059\u8A9E\u5F59\u3092\u8FD4\u3059\u7D4C\u8DEF\u304C\u7D50\u7DDA\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002"}),o?.map(l=>v("div",{className:"flex items-start justify-between py-2.5","data-testid":`ontology-predicate-${l.name}`,children:[v("div",{children:[h("span",{className:"inline-block font-bold font-mono text-amber-800 text-xs",children:l.name}),h("p",{className:"mt-0.5 text-slate-600 text-xs",children:l.description})]}),h("span",{className:"rounded-sm border border-slate-200 bg-slate-50 px-2 py-0.5 font-mono text-[11px] text-slate-600",children:l.direction})]},l.name))]})]})]}),v("div",{className:"rounded-xl border border-indigo-100 bg-indigo-50/40 p-5 shadow-sm","data-testid":"ontology-evolution-policy-card",children:[h("h3",{className:"font-bold text-indigo-950 text-sm",children:"\u81EA\u5F8B\u7684\u30AA\u30F3\u30C8\u30ED\u30B8\u30FC\u9032\u5316 (Autonomous Ontology Evolution) \u30DD\u30EA\u30B7\u30FC"}),v("div",{className:"mt-2 grid grid-cols-1 gap-3 text-indigo-900 text-xs md:grid-cols-3",children:[v("div",{className:"rounded-lg border border-indigo-200/60 bg-white p-3",children:[h("span",{className:"font-semibold text-slate-700",children:"3 \u6761\u4EF6 AND \u30B2\u30FC\u30C8:"}),v("p",{className:"mt-1 text-slate-600",children:["\u672A\u89E3\u6C7A\u30E1\u30F3\u30B7\u30E7\u30F3\u51FA\u73FE\u6642\u306B\u985E\u4F3C\u5EA6 \u2267 ",Se(r.promotionThresholds.confidence),"\u3001\u5171\u8D77\u56DE\u6570 \u2267 ",Se(r.promotionThresholds.cooccurrence),"\u3001\u8B58\u5225\u30E6\u30FC\u30B6\u30FC\u6570 \u2267"," ",Se(r.promotionThresholds.minDistinctUsers)," \u306E\u5168\u5145\u8DB3\u3092\u8981\u6C42\u3002"]})]}),v("div",{className:"rounded-lg border border-indigo-200/60 bg-white p-3",children:[h("span",{className:"font-semibold text-slate-700",children:"2x \u5171\u8D77\u983B\u5EA6\u518D\u63D0\u6848\u30D0\u30C3\u30AF\u30AA\u30D5:"}),h("p",{className:"mt-1 text-slate-600",children:"\u904B\u7528\u8005\u306B\u3088\u308A\u6607\u683C\u3092\u5374\u4E0B\u3055\u308C\u305F\u5019\u88DC\u306F\u3001\u524D\u56DE\u306E\u5171\u8D77\u6570\u306E 2 \u500D\u4EE5\u4E0A\u306E\u983B\u5EA6\u3067\u518D\u8A00\u53CA\u3055\u308C\u308B\u307E\u3067\u6607\u683C\u30AD\u30E5\u30FC\u3078\u306E\u518D\u6D6E\u4E0A\u3092\u81EA\u52D5\u6291\u5236\u3002"})]}),v("div",{className:"rounded-lg border border-indigo-200/60 bg-white p-3",children:[h("span",{className:"font-semibold text-slate-700",children:"Cypher AST ABAC \u8A8D\u53EF\u6CE8\u5165:"}),v("p",{className:"mt-1 text-slate-600",children:["Neo4j \u30AF\u30A8\u30EA\u5B9F\u884C\u6642\u306B ",h("code",{className:"font-mono text-indigo-800",children:"tenantId = $tenant_id"})," \u3068\u6A5F\u5BC6\u533A\u5206\u8FF0\u8A9E\u3092\u4E0D\u53EF\u5206\u306B\u5408\u6210\u3057\u3001\u30C6\u30CA\u30F3\u30C8\u5B8C\u5168\u9694\u96E2\u3092\u62C5\u4FDD\u3002"]})]})]})]})]})}import{jsx as _,jsxs as D}from"react/jsx-runtime";function lt(t){return t==null||t<0?"\u672A\u6E2C\u5B9A":t<1024*1024?`${(t/1024).toFixed(1)} KB`:t<1024*1024*1024?`${(t/(1024*1024)).toFixed(1)} MB`:`${(t/(1024*1024*1024)).toFixed(2)} GB`}function ua({collections:t,probeFailure:r=null,health:c,resources:o,onRefresh:l,isRefreshing:p=!1,onSelectCollection:x,selectedCollectionName:b}){let I=r===null,E=I?t.reduce((g,u)=>g+u.points_count,0):null,k=I?t.reduce((g,u)=>g+u.vectors_count,0):null;return D("div",{"data-testid":"qdrant-storage-card",style:{border:"1px solid #e2e8f0",borderRadius:"8px",padding:"16px",backgroundColor:"#ffffff"},children:[D("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"},children:[D("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[_("h2",{style:{margin:0,fontSize:"16px",color:"#1e293b"},children:"Qdrant \u30D9\u30AF\u30C8\u30EB\u30B9\u30C8\u30EC\u30FC\u30B8\u76E3\u8996"}),c&&_("span",{"data-testid":"qdrant-health-badge","data-healthy":String(c.healthy),style:{fontSize:"12px",padding:"2px 8px",borderRadius:"12px",backgroundColor:c.healthy?"#d1fae5":"#fee2e2",color:c.healthy?"#065f46":"#991b1b",fontWeight:600},children:c.healthy?"\u6B63\u5E38\u7A3C\u50CD":"\u969C\u5BB3\u767A\u751F"}),c?.latency_ms!==void 0&&D("span",{"data-testid":"qdrant-latency",style:{fontSize:"12px",color:"#64748b"},children:["\u5FDC\u7B54\u901F\u5EA6: ",c.latency_ms," ms"]})]}),l&&_("button",{type:"button","data-testid":"qdrant-refresh-button",disabled:p,onClick:l,style:{padding:"6px 12px",borderRadius:"4px",border:"1px solid #cbd5e1",backgroundColor:"#ffffff",cursor:p?"not-allowed":"pointer",fontSize:"13px"},children:p?"\u66F4\u65B0\u4E2D...":"\u66F4\u65B0"})]}),D("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:"10px",marginBottom:"16px",padding:"10px",backgroundColor:"#f8fafc",borderRadius:"6px"},children:[D("div",{children:[_("div",{style:{fontSize:"12px",color:"#64748b"},children:"\u7DCF\u30DD\u30A4\u30F3\u30C8\u6570"}),_("div",{"data-testid":"qdrant-total-points",style:{fontSize:"18px",fontWeight:700,color:"#0f172a"},children:E===null?"\u672A\u6E2C\u5B9A":E.toLocaleString()})]}),D("div",{children:[_("div",{style:{fontSize:"12px",color:"#64748b"},children:"\u7DCF\u30D9\u30AF\u30C8\u30EB\u6570"}),_("div",{"data-testid":"qdrant-total-vectors",style:{fontSize:"18px",fontWeight:700,color:"#0f172a"},children:k===null?"\u672A\u6E2C\u5B9A":k.toLocaleString()})]}),D("div",{children:[_("div",{style:{fontSize:"12px",color:"#64748b"},children:"\u30E1\u30E2\u30EA\u6D88\u8CBB (RAM)"}),_("div",{"data-testid":"qdrant-ram-usage",style:{fontSize:"18px",fontWeight:700,color:"#0f172a"},children:lt(o?.ram_bytes)})]}),D("div",{children:[_("div",{style:{fontSize:"12px",color:"#64748b"},children:"\u30C7\u30A3\u30B9\u30AF\u6D88\u8CBB"}),_("div",{"data-testid":"qdrant-disk-usage",style:{fontSize:"18px",fontWeight:700,color:"#0f172a"},children:lt(o?.disk_bytes)})]}),D("div",{children:[_("div",{style:{fontSize:"12px",color:"#64748b"},children:"\u30BB\u30B0\u30E1\u30F3\u30C8\u7DCF\u6570"}),_("div",{"data-testid":"qdrant-segment-count",style:{fontSize:"18px",fontWeight:700,color:"#0f172a"},children:o?.segment_count??"\u672A\u6E2C\u5B9A"})]})]}),D("div",{children:[D("h3",{style:{margin:"0 0 8px 0",fontSize:"14px",color:"#334155"},children:["\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u4E00\u89A7 (",I?`${t.length} \u4EF6`:"\u672A\u6E2C\u5B9A",")"]}),r!==null?_("p",{"data-testid":"qdrant-probe-failure",style:{margin:0,fontSize:"13px",color:"#92400e",backgroundColor:"#fffbeb",border:"1px solid #f59e0b",borderRadius:"6px",padding:"8px"},children:r}):t.length===0?_("p",{"data-testid":"no-collections-message",style:{margin:0,fontSize:"13px",color:"#64748b"},children:"\u767B\u9332\u3055\u308C\u3066\u3044\u308B\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u306F\u3042\u308A\u307E\u305B\u3093\u3002"}):_("div",{style:{overflowX:"auto"},children:D("table",{"data-testid":"qdrant-collections-list",style:{width:"100%",borderCollapse:"collapse",fontSize:"13px"},children:[_("thead",{children:D("tr",{style:{borderBottom:"1px solid #e2e8f0",textAlign:"left",color:"#64748b"},children:[_("th",{style:{padding:"6px 8px"},children:"\u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u540D"}),_("th",{style:{padding:"6px 8px"},children:"\u30C9\u30E1\u30A4\u30F3"}),_("th",{style:{padding:"6px 8px"},children:"\u30DD\u30A4\u30F3\u30C8\u6570"}),_("th",{style:{padding:"6px 8px"},children:"\u30D9\u30AF\u30C8\u30EB\u69CB\u6210"})]})}),_("tbody",{children:t.map(g=>{let u=g.collection_name===b,y=g.vectors_config.dense!==void 0,P=g.vectors_config.sparse!==void 0,H=g.vectors_config.image!==void 0;return D("tr",{"data-testid":`collection-row-${g.collection_name}`,"data-collection-name":g.collection_name,"data-selected":String(u),role:x?"button":void 0,tabIndex:x?0:void 0,"aria-selected":u,onClick:()=>x?.(g.collection_name),onKeyDown:B=>{x&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),x(g.collection_name))},style:{borderBottom:"1px solid #f1f5f9",backgroundColor:u?"#eff6ff":"transparent",cursor:x?"pointer":"default",outline:"none"},children:[_("td",{style:{padding:"8px",fontWeight:500,color:"#1e293b"},children:g.collection_name}),_("td",{style:{padding:"8px",color:"#475569"},children:g.domain_key}),_("td",{"data-testid":`collection-points-${g.collection_name}`,style:{padding:"8px",color:"#0f172a"},children:g.points_count.toLocaleString()}),_("td",{style:{padding:"8px"},children:D("div",{style:{display:"flex",gap:"6px",flexWrap:"wrap"},children:[y&&D("span",{"data-testid":`vector-tag-dense-${g.collection_name}`,style:{fontSize:"11px",padding:"2px 6px",borderRadius:"4px",backgroundColor:"#e0e7ff",color:"#3730a3"},children:["Dense: ",g.vectors_config.dense?.size," dim"]}),P&&_("span",{"data-testid":`vector-tag-sparse-${g.collection_name}`,style:{fontSize:"11px",padding:"2px 6px",borderRadius:"4px",backgroundColor:"#fef3c7",color:"#92400e"},children:g.vectors_config.sparse?.modifier?`Sparse (${g.vectors_config.sparse.modifier.toUpperCase()})`:"Sparse"}),H&&D("span",{"data-testid":`vector-tag-image-${g.collection_name}`,style:{fontSize:"11px",padding:"2px 6px",borderRadius:"4px",backgroundColor:"#f3e8ff",color:"#6b21a8"},children:["Image: ",g.vectors_config.image?.size," dim"]})]})})]},g.collection_name)})})]})})]})]})}import{useState as Kt}from"react";import{jsx as T,jsxs as U}from"react/jsx-runtime";var ct=[{id:"ingestion",title:"\u6587\u66F8\u53D6\u308A\u8FBC\u307F",description:"\u751F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u62BD\u51FA\u3068\u6B63\u898F\u5316\u51E6\u7406\u3092\u5B9F\u884C\u3002"},{id:"chunking",title:"\u968E\u5C64\u30C1\u30E3\u30F3\u30AF\u5206\u5272",description:"\u89AA\u5B50\u30C1\u30E3\u30F3\u30AF\u69CB\u9020\u304A\u3088\u3073\u30C8\u30FC\u30AF\u30F3\u5883\u754C\u5206\u5272\u3002"},{id:"embedding",title:"\u30DE\u30EB\u30C1\u30E2\u30FC\u30C0\u30EB\u57CB\u3081\u8FBC\u307F",description:"Dense \u30D9\u30AF\u30C8\u30EB\u304A\u3088\u3073 Sparse \u30D9\u30AF\u30C8\u30EB\u751F\u6210\u3002"},{id:"vector_indexing",title:"\u30D9\u30AF\u30C8\u30EB\u683C\u7D0D",description:"Qdrant \u30B3\u30EC\u30AF\u30B7\u30E7\u30F3\u3078\u306E\u30D9\u30AF\u30C8\u30EB\u767B\u9332\u3002",circuitBreakerKey:"vector",configKey:"enable_vector_indexing"},{id:"graph_indexing",title:"\u30CA\u30EC\u30C3\u30B8\u30B0\u30E9\u30D5\u683C\u7D0D",description:"Neo4j \u3078\u306E\u30A8\u30F3\u30C6\u30A3\u30C6\u30A3\u304A\u3088\u3073\u95A2\u4FC2\u6027\u6295\u5F71\u3002",circuitBreakerKey:"graph",configKey:"enable_graph_indexing"},{id:"asset_extraction",title:"\u30A2\u30BB\u30C3\u30C8\u62BD\u51FA",description:"\u753B\u50CF\u30FB\u8868\u30FB\u30E1\u30C7\u30A3\u30A2\u30A2\u30BB\u30C3\u30C8\u306E\u5207\u308A\u51FA\u3057\u3068 OCR \u51E6\u7406\u3002",configKey:"enable_asset_extraction"},{id:"synthesis",title:"\u8981\u7D04\u30FB\u63A8\u8AD6\u751F\u6210",description:"LLM \u306B\u3088\u308B\u69CB\u9020\u5316\u62BD\u51FA\u304A\u3088\u3073\u8981\u7D04\u5408\u6210\u3002",circuitBreakerKey:"llm",configKey:"enable_summary_generation"}],$e="\u672A\u6E2C\u5B9A (\u53CE\u96C6\u7D4C\u8DEF\u304C\u672A\u7D50\u7DDA)",Ut={active:"\u7A3C\u50CD\u4E2D",partial:"\u4E00\u90E8\u30C9\u30E1\u30A4\u30F3\u306E\u307F",degraded:"\u7E2E\u9000",disabled:"\u7121\u52B9",unmeasured:"\u672A\u6E2C\u5B9A"},pt={active:{background:"#d1fae5",text:"#065f46"},partial:{background:"#dbeafe",text:"#1e40af"},degraded:{background:"#fef3c7",text:"#92400e"},disabled:{background:"#e2e8f0",text:"#475569"},unmeasured:{background:"#f1f5f9",text:"#64748b"}};function zt(t){if(!t)return"";let r=[];return t.featureFlagKey===null?r.push("\u30C6\u30CA\u30F3\u30C8\u306E\u9580\u306A\u3057"):t.featureFlag===!1?r.push("\u30C6\u30CA\u30F3\u30C8\u306E\u6A5F\u80FD\u30D5\u30E9\u30B0\u304C\u7121\u52B9"):t.featureFlag===null&&r.push("\u30C6\u30CA\u30F3\u30C8\u306E\u6A5F\u80FD\u30D5\u30E9\u30B0\u672A\u6E2C\u5B9A"),t.domainsEnabled!==null&&t.domainsTotal!==null?r.push(`\u6709\u52B9\u30C9\u30E1\u30A4\u30F3 ${t.domainsEnabled}/${t.domainsTotal}`):r.push("\u30C9\u30E1\u30A4\u30F3\u6226\u7565\u672A\u6E2C\u5B9A"),r.join(" \uFF5C ")}function mt(t,r,c){let o=t.configKey===void 0?void 0:r[t.configKey];if(o){if(o.featureFlag===!1||o.domainsEnabled===0)return"disabled";if((o.featureFlag===!0||o.featureFlagKey===null)&&o.domainsEnabled!==null&&o.domainsTotal!==null&&o.domainsEnabled<o.domainsTotal)return"partial";if(o.featureFlagKey!==null&&o.featureFlag===null||o.domainsEnabled===null)return"unmeasured"}if(t.circuitBreakerKey&&c){let l=c[t.circuitBreakerKey];if(l==="OPEN"||l==="HALF_OPEN")return"degraded"}return t.configKey===void 0&&t.circuitBreakerKey===void 0?"unmeasured":"active"}function ba({pipelineConfig:t,circuitBreakerStatus:r,stageMetrics:c,selectedNodeId:o,onNodeSelect:l}){let[p,x]=Kt(null),b=o!==void 0?o:p,I=y=>{x(y),l&&l(y)},E=ct.find(y=>y.id===b),k=E&&c?c[E.id]:void 0,g=E?mt(E,t,r):null,u=E?.circuitBreakerKey&&r?r[E.circuitBreakerKey]:void 0;return U("div",{"data-testid":"rag-pipeline-graph-viewer",style:{border:"1px solid #e2e8f0",borderRadius:"8px",padding:"16px",backgroundColor:"#f8fafc"},children:[T("h2",{"data-testid":"rag-graph-title",style:{margin:"0 0 12px 0",fontSize:"16px",color:"#1e293b"},children:"RAG \u5B9F\u884C\u30D1\u30A4\u30D7\u30E9\u30A4\u30F3\u69CB\u6210"}),T("div",{"data-testid":"rag-nodes-container",style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:"12px",marginBottom:"16px"},children:ct.map(y=>{let P=mt(y,t,r),H=y.id===b,B=y.circuitBreakerKey&&r?r[y.circuitBreakerKey]:void 0,O=H?"#2563eb":P==="active"?"#10b981":P==="degraded"?"#f59e0b":"#94a3b8",z=P==="active"?"#ecfdf5":P==="degraded"?"#fffbeb":"#f1f5f9";return U("button",{type:"button","data-testid":`rag-node-${y.id}`,"data-node-id":y.id,"data-node-status":P,"data-selected":String(H),"aria-pressed":H,...B?{"data-circuit-breaker":B}:{},onClick:()=>I(y.id),style:{border:`2px solid ${O}`,backgroundColor:z,borderRadius:"6px",padding:"10px",cursor:"pointer",transition:"all 0.15s ease",textAlign:"left",width:"100%"},children:[U("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"4px"},children:[T("span",{style:{fontWeight:600,fontSize:"14px",color:"#0f172a"},children:y.title}),T("span",{"data-testid":`badge-${y.id}`,style:{fontSize:"11px",padding:"2px 6px",borderRadius:"4px",backgroundColor:pt[P].background,color:pt[P].text,fontWeight:500},children:Ut[P]})]}),T("p",{style:{margin:0,fontSize:"12px",color:"#64748b",lineHeight:1.4},children:y.description}),y.configKey!==void 0&&T("p",{"data-testid":`gates-${y.id}`,style:{margin:"4px 0 0 0",fontSize:"11px",color:"#475569",lineHeight:1.4},children:zt(t[y.configKey])})]},y.id)})}),E&&U("div",{"data-testid":"rag-node-detail-panel",style:{border:"1px solid #cbd5e1",borderRadius:"6px",padding:"14px",backgroundColor:"#ffffff"},children:[U("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"8px"},children:[U("h3",{"data-testid":"detail-stage-title",style:{margin:0,fontSize:"15px",color:"#0f172a"},children:[E.title," \u8A73\u7D30"]}),T("button",{type:"button","data-testid":"close-detail-panel","aria-label":"\u8A73\u7D30\u30D1\u30CD\u30EB\u3092\u9589\u3058\u308B",onClick:()=>{x(null),l&&l(null)},style:{background:"none",border:"none",cursor:"pointer",fontSize:"14px",color:"#64748b"},children:"\u2715"})]}),U("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(140px, 1fr))",gap:"8px",fontSize:"13px"},children:[U("div",{children:[T("strong",{children:"\u7A3C\u50CD\u30B9\u30C6\u30FC\u30BF\u30B9: "}),T("span",{"data-testid":"node-detail-status",children:g})]}),u&&U("div",{children:[T("strong",{children:"\u56DE\u8DEF\u906E\u65AD\u5668: "}),T("span",{"data-testid":"node-detail-circuit-breaker",children:u})]}),U("div",{children:[T("strong",{children:"\u30EC\u30A4\u30C6\u30F3\u30B7 (p50): "}),T("span",{"data-testid":"node-metric-latency-p50",children:k?`${k.latency_p50_ms} ms`:$e})]}),U("div",{children:[T("strong",{children:"\u30EC\u30A4\u30C6\u30F3\u30B7 (p95): "}),T("span",{"data-testid":"node-metric-latency-p95",children:k?`${k.latency_p95_ms} ms`:$e})]}),U("div",{children:[T("strong",{children:"\u30B9\u30EB\u30FC\u30D7\u30C3\u30C8: "}),T("span",{"data-testid":"node-metric-throughput",children:k?`${k.throughput_rps} rps`:$e})]}),U("div",{children:[T("strong",{children:"\u6210\u529F\u7387: "}),T("span",{"data-testid":"node-metric-success-rate",children:k?`${(k.success_rate*100).toFixed(1)}%`:$e})]})]})]})]})}import{jsx as N,jsxs as F}from"react/jsx-runtime";var qt="\u5BFE\u8C61\u306A\u3057";function ha({counts:t,totalFiles:r,failedItems:c=[],onRetryAll:o,onRetryItem:l,isRetrying:p=!1,onRefresh:x}){let b=t.SYNCED??0,I=t.PENDING??0,E=(t.EXTRACTING??0)+(t.ENRICHING??0)+(t.PROJECTING??0),k=(t.FAILED_EXTRACT??0)+(t.FAILED_ENRICH??0)+(t.FAILED_VECTOR??0)+(t.FAILED_GRAPH??0),g=r>0?`${(b/r*100).toFixed(1)}%`:qt;return F("div",{"data-testid":"sync-status-monitor",style:{border:"1px solid #e2e8f0",borderRadius:"8px",padding:"16px",backgroundColor:"#ffffff"},children:[F("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"16px"},children:[F("div",{children:[N("h2",{style:{margin:0,fontSize:"16px",color:"#1e293b"},children:"\u30A8\u30F3\u30EA\u30C3\u30C1\u30E1\u30F3\u30C8\u540C\u671F\u30B9\u30C6\u30FC\u30BF\u30B9"}),F("p",{style:{margin:"4px 0 0 0",fontSize:"13px",color:"#64748b"},children:["\u7DCF\u30D5\u30A1\u30A4\u30EB\u6570:"," ",N("span",{"data-testid":"total-files-count",style:{fontWeight:600},children:r})," ","\u4EF6 (\u540C\u671F\u5B8C\u4E86\u7387: ",N("span",{"data-testid":"success-rate-value",children:g}),")"]})]}),F("div",{style:{display:"flex",gap:"8px"},children:[x&&N("button",{type:"button","data-testid":"sync-refresh-button",onClick:x,style:{padding:"6px 12px",borderRadius:"4px",border:"1px solid #cbd5e1",backgroundColor:"#ffffff",cursor:"pointer",fontSize:"13px"},children:"\u66F4\u65B0"}),o&&N("button",{type:"button","data-testid":"retry-all-button",disabled:p||k===0,onClick:o,style:{padding:"6px 14px",borderRadius:"4px",border:"none",backgroundColor:p||k===0?"#94a3b8":"#dc2626",color:"#ffffff",cursor:p||k===0?"not-allowed":"pointer",fontSize:"13px",fontWeight:500},children:p?"\u518D\u8A66\u884C\u4E2D...":"\u5931\u6557\u30B8\u30E7\u30D6\u4E00\u62EC\u518D\u8A66\u884C"})]})]}),F("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(130px, 1fr))",gap:"10px",marginBottom:"20px"},children:[F("div",{"data-testid":"status-card-synced","data-count":b,style:{border:"1px solid #10b981",borderRadius:"6px",padding:"10px",backgroundColor:"#ecfdf5"},children:[N("div",{style:{fontSize:"12px",color:"#065f46"},children:"\u5B8C\u5168\u540C\u671F (SYNCED)"}),N("div",{"data-testid":"synced-count",style:{fontSize:"20px",fontWeight:700,color:"#047857"},children:b})]}),F("div",{"data-testid":"status-card-processing","data-count":E,style:{border:"1px solid #3b82f6",borderRadius:"6px",padding:"10px",backgroundColor:"#eff6ff"},children:[N("div",{style:{fontSize:"12px",color:"#1e40af"},children:"\u51E6\u7406\u4E2D (PROCESSING)"}),N("div",{"data-testid":"processing-count",style:{fontSize:"20px",fontWeight:700,color:"#1d4ed8"},children:E})]}),F("div",{"data-testid":"status-card-pending","data-count":I,style:{border:"1px solid #64748b",borderRadius:"6px",padding:"10px",backgroundColor:"#f8fafc"},children:[N("div",{style:{fontSize:"12px",color:"#334155"},children:"\u5F85\u6A5F\u4E2D (PENDING)"}),N("div",{"data-testid":"pending-count",style:{fontSize:"20px",fontWeight:700,color:"#475569"},children:I})]}),F("div",{"data-testid":"status-card-failed","data-count":k,style:{border:"1px solid #ef4444",borderRadius:"6px",padding:"10px",backgroundColor:"#fef2f2"},children:[N("div",{style:{fontSize:"12px",color:"#991b1b"},children:"\u5931\u6557 (FAILED)"}),N("div",{"data-testid":"failed-count",style:{fontSize:"20px",fontWeight:700,color:"#b91c1c"},children:k})]})]}),F("div",{"data-testid":"failed-items-section",children:[F("h3",{style:{margin:"0 0 8px 0",fontSize:"14px",color:"#334155"},"data-testid":"failed-items-heading",children:["\u540C\u671F\u5931\u6557\u30A2\u30A4\u30C6\u30E0\u4E00\u89A7 (",c.length<k?`\u4E0A\u4F4D ${c.length} \u4EF6 / \u5168 ${k} \u4EF6`:`${c.length} \u4EF6`,")"]}),c.length===0?N("p",{"data-testid":"no-failed-items-message",style:{margin:0,fontSize:"13px",color:"#64748b"},children:"\u73FE\u5728\u3001\u540C\u671F\u5931\u6557\u30A2\u30A4\u30C6\u30E0\u306F\u3042\u308A\u307E\u305B\u3093\u3002"}):N("div",{style:{overflowX:"auto"},children:F("table",{"data-testid":"failed-items-table",style:{width:"100%",borderCollapse:"collapse",fontSize:"13px"},children:[N("thead",{children:F("tr",{style:{borderBottom:"1px solid #e2e8f0",textAlign:"left",color:"#64748b"},children:[N("th",{style:{padding:"6px 8px"},children:"\u30D5\u30A1\u30A4\u30EB URI"}),N("th",{style:{padding:"6px 8px"},children:"\u72B6\u614B"}),N("th",{style:{padding:"6px 8px"},children:"\u30A8\u30E9\u30FC\u5185\u5BB9"}),N("th",{style:{padding:"6px 8px"},children:"\u5931\u6557\u65E5\u6642"}),N("th",{style:{padding:"6px 8px",textAlign:"right"},children:"\u64CD\u4F5C"})]})}),N("tbody",{children:c.map(u=>F("tr",{"data-testid":`failed-item-row-${u.id}`,"data-file-uri":u.file_uri,style:{borderBottom:"1px solid #f1f5f9"},children:[F("td",{"data-testid":`failed-item-uri-${u.id}`,style:{padding:"8px",wordBreak:"break-all"},children:[N("div",{style:{fontWeight:600,color:"#0f172a"},children:u.file_name}),N("div",{style:{fontSize:"11px",color:"#64748b"},children:u.file_uri})]}),N("td",{style:{padding:"8px"},children:N("span",{"data-testid":`failed-item-status-${u.id}`,style:{fontSize:"11px",padding:"2px 6px",borderRadius:"4px",backgroundColor:"#fee2e2",color:"#991b1b",fontWeight:500},children:u.sync_status})}),N("td",{"data-testid":`failed-item-error-${u.id}`,style:{padding:"8px",color:"#dc2626",maxWidth:"260px",wordBreak:"break-word"},title:u.error_message??"",children:u.error_message??"\u4E0D\u660E\u306A\u30A8\u30E9\u30FC"}),N("td",{"data-testid":`failed-item-time-${u.id}`,style:{padding:"8px",color:"#64748b",whiteSpace:"nowrap"},children:u.failed_at??"\u8A18\u9332\u306A\u3057"}),N("td",{style:{padding:"8px",textAlign:"right"},children:l&&N("button",{type:"button","data-testid":`retry-item-button-${u.id}`,"aria-label":`${u.file_name} (${u.file_uri}) \u3092\u518D\u8A66\u884C`,disabled:p,onClick:()=>l(u.id,u.file_uri),style:{padding:"4px 8px",borderRadius:"4px",border:"1px solid #dc2626",backgroundColor:"#ffffff",color:"#dc2626",cursor:p?"not-allowed":"pointer",fontSize:"12px"},children:"\u518D\u8A66\u884C"})})]},u.id))})]})})]})]})}export{We as DegradedSearchBanner,Vt as DocumentIngestConsole,Yt as EnrichmentStrategyBoard,ta as InfrastructureHealthMonitor,oa as MetadataSearchWorkbench,ca as OntologyStatusCard,ua as QdrantStorageCard,ba as RAGPipelineGraphViewer,yt as REASON_LABELS,it as SEARCH_MODE_LABELS,Ft as SEARCH_PRESETS,ha as SyncStatusMonitor,Ze as gateStateOf,Et as ingestRowAction};
package/package.json ADDED
@@ -0,0 +1,82 @@
1
+ {
2
+ "name": "@aiquants/enrichment-react",
3
+ "version": "0.1.1",
4
+ "description": "React UI components for storage metadata AI enrichment: DegradedSearchBanner, RAGPipelineGraphViewer, SyncStatusMonitor, and QdrantStorageCard.",
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "main": "./dist/index.cjs",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "import": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ },
16
+ "require": {
17
+ "types": "./dist/index.d.cts",
18
+ "default": "./dist/index.cjs"
19
+ }
20
+ }
21
+ },
22
+ "files": [
23
+ "dist",
24
+ "README.md",
25
+ "LICENSE"
26
+ ],
27
+ "keywords": [
28
+ "react",
29
+ "enrichment",
30
+ "rag",
31
+ "degraded-search",
32
+ "pipeline-graph",
33
+ "sync-status",
34
+ "qdrant",
35
+ "typescript"
36
+ ],
37
+ "author": "AI Quants",
38
+ "license": "MIT",
39
+ "peerDependencies": {
40
+ "@aiquants/enrichment-core": "^0.1.1",
41
+ "react": ">=18",
42
+ "react-dom": ">=18"
43
+ },
44
+ "devDependencies": {
45
+ "@aiquants/enrichment-core": "0.1.1",
46
+ "@testing-library/jest-dom": "^6.9.1",
47
+ "@testing-library/react": "^16.3.2",
48
+ "@testing-library/user-event": "^14.6.1",
49
+ "@types/react": "^19.2.7",
50
+ "@types/react-dom": "^19.2.3",
51
+ "@vitest/coverage-v8": "^4.1.8",
52
+ "jsdom": "^27.4.0",
53
+ "react": "^19.2.7",
54
+ "react-dom": "^19.2.7",
55
+ "rimraf": "^6.1.2",
56
+ "tsup": "^8.5.1",
57
+ "typescript": "^5.9.3",
58
+ "vitest": "^4.1.10"
59
+ },
60
+ "engines": {
61
+ "node": ">=18.0.0",
62
+ "pnpm": ">=8.0.0"
63
+ },
64
+ "publishConfig": {
65
+ "access": "public"
66
+ },
67
+ "scripts": {
68
+ "build": "tsup && node ../../.config/scripts/strip-dts-comments.mjs dist",
69
+ "build:watch": "tsup --watch",
70
+ "dev": "tsup --watch",
71
+ "publish:patch": "pnpm run typecheck && pnpm run --if-present test && pnpm version patch --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks",
72
+ "publish:minor": "pnpm run typecheck && pnpm run --if-present test && pnpm version minor --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks",
73
+ "publish:major": "pnpm run typecheck && pnpm run --if-present test && pnpm version major --no-git-tag-version --no-git-checks && pnpm publish --no-git-checks",
74
+ "typecheck": "tsc --noEmit",
75
+ "clean": "rimraf dist",
76
+ "lint": "biome lint src/",
77
+ "check": "biome check src/ tests/",
78
+ "check:fix": "biome check --write src/ tests/",
79
+ "test": "vitest run",
80
+ "test:coverage": "vitest run --coverage"
81
+ }
82
+ }