@realtimex/realtimex-alchemy 1.0.63 → 1.0.65

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.
@@ -131,37 +131,37 @@ ${e.content}`:""}`,f=new Blob([u],{type:"text/markdown"}),p=URL.createObjectURL(
131
131
  `,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:y,table:a,tableCell:u,tableRow:c}};function a(v,b,w,k){return f(p(v,w,k),v.align)}function c(v,b,w,k){const j=g(v,w,k),C=f([j]);return C.slice(0,C.indexOf(`
132
132
  `))}function u(v,b,w,k){const j=w.enter("tableCell"),C=w.enter("phrasing"),S=w.containerPhrasing(v,{...k,before:o,after:o});return C(),j(),S}function f(v,b){return BM(v,{align:b,alignDelimiters:r,padding:n,stringLength:s})}function p(v,b,w){const k=v.children;let j=-1;const C=[],S=b.enter("table");for(;++j<k.length;)C[j]=g(k[j],b,w);return S(),C}function g(v,b,w){const k=v.children;let j=-1;const C=[],S=b.enter("tableRow");for(;++j<k.length;)C[j]=u(k[j],v,b,w);return S(),C}function y(v,b,w){let k=Vk.inlineCode(v,b,w);return w.stack.includes("tableCell")&&(k=k.replace(/\|/g,"\\$&")),k}}function N3(){return{exit:{taskListCheckValueChecked:r_,taskListCheckValueUnchecked:r_,paragraph:R3}}}function A3(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:P3}}}function r_(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function R3(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const s=t.children;let o=-1,a;for(;++o<s.length;){const c=s[o];if(c.type==="paragraph"){a=c;break}}a===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function P3(e,t,n,r){const s=e.children[0],o=typeof e.checked=="boolean"&&s&&s.type==="paragraph",a="["+(e.checked?"x":" ")+"] ",c=n.createTracker(r);o&&c.move(a);let u=Vk.listItem(e,t,n,{...r,...c.current()});return o&&(u=u.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,f)),u;function f(p){return p+a}}function O3(){return[dM(),PM(),DM(),w3(),N3()]}function L3(e){return{extensions:[hM(),OM(e),MM(),T3(e),A3()]}}const I3={tokenize:U3,partial:!0},qk={tokenize:B3,partial:!0},Hk={tokenize:V3,partial:!0},Kk={tokenize:q3,partial:!0},D3={tokenize:H3,partial:!0},Wk={name:"wwwAutolink",tokenize:F3,previous:Jk},Gk={name:"protocolAutolink",tokenize:$3,previous:Xk},Cr={name:"emailAutolink",tokenize:z3,previous:Yk},ur={};function M3(){return{text:ur}}let vs=48;for(;vs<123;)ur[vs]=Cr,vs++,vs===58?vs=65:vs===91&&(vs=97);ur[43]=Cr;ur[45]=Cr;ur[46]=Cr;ur[95]=Cr;ur[72]=[Cr,Gk];ur[104]=[Cr,Gk];ur[87]=[Cr,Wk];ur[119]=[Cr,Wk];function z3(e,t,n){const r=this;let s,o;return a;function a(g){return!If(g)||!Yk.call(r,r.previous)||Yp(r.events)?n(g):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(g))}function c(g){return If(g)?(e.consume(g),c):g===64?(e.consume(g),u):n(g)}function u(g){return g===46?e.check(D3,p,f)(g):g===45||g===95||Jt(g)?(o=!0,e.consume(g),u):p(g)}function f(g){return e.consume(g),s=!0,u}function p(g){return o&&s&&tn(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(g)):n(g)}}function F3(e,t,n){const r=this;return s;function s(a){return a!==87&&a!==119||!Jk.call(r,r.previous)||Yp(r.events)?n(a):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(I3,e.attempt(qk,e.attempt(Hk,o),n),n)(a))}function o(a){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(a)}}function $3(e,t,n){const r=this;let s="",o=!1;return a;function a(g){return(g===72||g===104)&&Xk.call(r,r.previous)&&!Yp(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),s+=String.fromCodePoint(g),e.consume(g),c):n(g)}function c(g){if(tn(g)&&s.length<5)return s+=String.fromCodePoint(g),e.consume(g),c;if(g===58){const y=s.toLowerCase();if(y==="http"||y==="https")return e.consume(g),u}return n(g)}function u(g){return g===47?(e.consume(g),o?f:(o=!0,u)):n(g)}function f(g){return g===null||kc(g)||st(g)||Ds(g)||Gc(g)?n(g):e.attempt(qk,e.attempt(Hk,p),n)(g)}function p(g){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(g)}}function U3(e,t,n){let r=0;return s;function s(a){return(a===87||a===119)&&r<3?(r++,e.consume(a),s):a===46&&r===3?(e.consume(a),o):n(a)}function o(a){return a===null?n(a):t(a)}}function B3(e,t,n){let r,s,o;return a;function a(f){return f===46||f===95?e.check(Kk,u,c)(f):f===null||st(f)||Ds(f)||f!==45&&Gc(f)?u(f):(o=!0,e.consume(f),a)}function c(f){return f===95?r=!0:(s=r,r=void 0),e.consume(f),a}function u(f){return s||r||!o?n(f):t(f)}}function V3(e,t){let n=0,r=0;return s;function s(a){return a===40?(n++,e.consume(a),s):a===41&&r<n?o(a):a===33||a===34||a===38||a===39||a===41||a===42||a===44||a===46||a===58||a===59||a===60||a===63||a===93||a===95||a===126?e.check(Kk,t,o)(a):a===null||st(a)||Ds(a)?t(a):(e.consume(a),s)}function o(a){return a===41&&r++,e.consume(a),s}}function q3(e,t,n){return r;function r(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),r):c===38?(e.consume(c),o):c===93?(e.consume(c),s):c===60||c===null||st(c)||Ds(c)?t(c):n(c)}function s(c){return c===null||c===40||c===91||st(c)||Ds(c)?t(c):r(c)}function o(c){return tn(c)?a(c):n(c)}function a(c){return c===59?(e.consume(c),r):tn(c)?(e.consume(c),a):n(c)}}function H3(e,t,n){return r;function r(o){return e.consume(o),s}function s(o){return Jt(o)?n(o):t(o)}}function Jk(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||st(e)}function Xk(e){return!tn(e)}function Yk(e){return!(e===47||If(e))}function If(e){return e===43||e===45||e===46||e===95||Jt(e)}function Yp(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const K3={tokenize:ez,partial:!0};function W3(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Y3,continuation:{tokenize:Q3},exit:Z3}},text:{91:{name:"gfmFootnoteCall",tokenize:X3},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:G3,resolveTo:J3}}}}function G3(e,t,n){const r=this;let s=r.events.length;const o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a;for(;s--;){const u=r.events[s][1];if(u.type==="labelImage"){a=u;break}if(u.type==="gfmFootnoteCall"||u.type==="labelLink"||u.type==="label"||u.type==="image"||u.type==="link")break}return c;function c(u){if(!a||!a._balanced)return n(u);const f=Jn(r.sliceSerialize({start:a.end,end:r.now()}));return f.codePointAt(0)!==94||!o.includes(f.slice(1))?n(u):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(u),e.exit("gfmFootnoteCallLabelMarker"),t(u))}}function J3(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const o={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},a={type:"chunkString",contentType:"string",start:Object.assign({},o.start),end:Object.assign({},o.end)},c=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",s,t],["exit",s,t],["enter",o,t],["enter",a,t],["exit",a,t],["exit",o,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...c),e}function X3(e,t,n){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o=0,a;return c;function c(g){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),u}function u(g){return g!==94?n(g):(e.enter("gfmFootnoteCallMarker"),e.consume(g),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(g){if(o>999||g===93&&!a||g===null||g===91||st(g))return n(g);if(g===93){e.exit("chunkString");const y=e.exit("gfmFootnoteCallString");return s.includes(Jn(r.sliceSerialize(y)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(g),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(g)}return st(g)||(a=!0),o++,e.consume(g),g===92?p:f}function p(g){return g===91||g===92||g===93?(e.consume(g),o++,f):f(g)}}function Y3(e,t,n){const r=this,s=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let o,a=0,c;return u;function u(b){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(b){return b===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(b)}function p(b){if(a>999||b===93&&!c||b===null||b===91||st(b))return n(b);if(b===93){e.exit("chunkString");const w=e.exit("gfmFootnoteDefinitionLabelString");return o=Jn(r.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(b),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),y}return st(b)||(c=!0),a++,e.consume(b),b===92?g:p}function g(b){return b===91||b===92||b===93?(e.consume(b),a++,p):p(b)}function y(b){return b===58?(e.enter("definitionMarker"),e.consume(b),e.exit("definitionMarker"),s.includes(o)||s.push(o),Ge(e,v,"gfmFootnoteDefinitionWhitespace")):n(b)}function v(b){return t(b)}}function Q3(e,t,n){return e.check(Ca,t,e.attempt(K3,t,n))}function Z3(e){e.exit("gfmFootnoteDefinition")}function ez(e,t,n){const r=this;return Ge(e,s,"gfmFootnoteDefinitionIndent",5);function s(o){const a=r.events[r.events.length-1];return a&&a[1].type==="gfmFootnoteDefinitionIndent"&&a[2].sliceSerialize(a[1],!0).length===4?t(o):n(o)}}function tz(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:o,resolveAll:s};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function s(a,c){let u=-1;for(;++u<a.length;)if(a[u][0]==="enter"&&a[u][1].type==="strikethroughSequenceTemporary"&&a[u][1]._close){let f=u;for(;f--;)if(a[f][0]==="exit"&&a[f][1].type==="strikethroughSequenceTemporary"&&a[f][1]._open&&a[u][1].end.offset-a[u][1].start.offset===a[f][1].end.offset-a[f][1].start.offset){a[u][1].type="strikethroughSequence",a[f][1].type="strikethroughSequence";const p={type:"strikethrough",start:Object.assign({},a[f][1].start),end:Object.assign({},a[u][1].end)},g={type:"strikethroughText",start:Object.assign({},a[f][1].end),end:Object.assign({},a[u][1].start)},y=[["enter",p,c],["enter",a[f][1],c],["exit",a[f][1],c],["enter",g,c]],v=c.parser.constructs.insideSpan.null;v&&En(y,y.length,0,Jc(v,a.slice(f+1,u),c)),En(y,y.length,0,[["exit",g,c],["enter",a[u][1],c],["exit",a[u][1],c],["exit",p,c]]),En(a,f-1,u-f+3,y),u=f+y.length-2;break}}for(u=-1;++u<a.length;)a[u][1].type==="strikethroughSequenceTemporary"&&(a[u][1].type="data");return a}function o(a,c,u){const f=this.previous,p=this.events;let g=0;return y;function y(b){return f===126&&p[p.length-1][1].type!=="characterEscape"?u(b):(a.enter("strikethroughSequenceTemporary"),v(b))}function v(b){const w=$i(f);if(b===126)return g>1?u(b):(a.consume(b),g++,v);if(g<2&&!n)return u(b);const k=a.exit("strikethroughSequenceTemporary"),j=$i(b);return k._open=!j||j===2&&!!w,k._close=!w||w===2&&!!j,c(b)}}}class nz{constructor(){this.map=[]}add(t,n,r){rz(this,t,n,r)}consume(t){if(this.map.sort(function(o,a){return o[0]-a[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let s=r.pop();for(;s;){for(const o of s)t.push(o);s=r.pop()}this.map.length=0}}function rz(e,t,n,r){let s=0;if(!(n===0&&r.length===0)){for(;s<e.map.length;){if(e.map[s][0]===t){e.map[s][1]+=n,e.map[s][2].push(...r);return}s+=1}e.map.push([t,n,r])}}function sz(e,t){let n=!1;const r=[];for(;t<e.length;){const s=e[t];if(n){if(s[0]==="enter")s[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(s[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const o=r.length-1;r[o]=r[o]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function iz(){return{flow:{null:{name:"table",tokenize:oz,resolveAll:az}}}}function oz(e,t,n){const r=this;let s=0,o=0,a;return c;function c(L){let Y=r.events.length-1;for(;Y>-1;){const H=r.events[Y][1].type;if(H==="lineEnding"||H==="linePrefix")Y--;else break}const X=Y>-1?r.events[Y][1].type:null,de=X==="tableHead"||X==="tableRow"?A:u;return de===A&&r.parser.lazy[r.now().line]?n(L):de(L)}function u(L){return e.enter("tableHead"),e.enter("tableRow"),f(L)}function f(L){return L===124||(a=!0,o+=1),p(L)}function p(L){return L===null?n(L):Re(L)?o>1?(o=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(L),e.exit("lineEnding"),v):n(L):We(L)?Ge(e,p,"whitespace")(L):(o+=1,a&&(a=!1,s+=1),L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),a=!0,p):(e.enter("data"),g(L)))}function g(L){return L===null||L===124||st(L)?(e.exit("data"),p(L)):(e.consume(L),L===92?y:g)}function y(L){return L===92||L===124?(e.consume(L),g):g(L)}function v(L){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(L):(e.enter("tableDelimiterRow"),a=!1,We(L)?Ge(e,b,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):b(L))}function b(L){return L===45||L===58?k(L):L===124?(a=!0,e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),w):N(L)}function w(L){return We(L)?Ge(e,k,"whitespace")(L):k(L)}function k(L){return L===58?(o+=1,a=!0,e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),j):L===45?(o+=1,j(L)):L===null||Re(L)?P(L):N(L)}function j(L){return L===45?(e.enter("tableDelimiterFiller"),C(L)):N(L)}function C(L){return L===45?(e.consume(L),C):L===58?(a=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(L),e.exit("tableDelimiterMarker"),S):(e.exit("tableDelimiterFiller"),S(L))}function S(L){return We(L)?Ge(e,P,"whitespace")(L):P(L)}function P(L){return L===124?b(L):L===null||Re(L)?!a||s!==o?N(L):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(L)):N(L)}function N(L){return n(L)}function A(L){return e.enter("tableRow"),$(L)}function $(L){return L===124?(e.enter("tableCellDivider"),e.consume(L),e.exit("tableCellDivider"),$):L===null||Re(L)?(e.exit("tableRow"),t(L)):We(L)?Ge(e,$,"whitespace")(L):(e.enter("data"),G(L))}function G(L){return L===null||L===124||st(L)?(e.exit("data"),$(L)):(e.consume(L),L===92?B:G)}function B(L){return L===92||L===124?(e.consume(L),G):G(L)}}function az(e,t){let n=-1,r=!0,s=0,o=[0,0,0,0],a=[0,0,0,0],c=!1,u=0,f,p,g;const y=new nz;for(;++n<e.length;){const v=e[n],b=v[1];v[0]==="enter"?b.type==="tableHead"?(c=!1,u!==0&&(s_(y,t,u,f,p),p=void 0,u=0),f={type:"table",start:Object.assign({},b.start),end:Object.assign({},b.end)},y.add(n,0,[["enter",f,t]])):b.type==="tableRow"||b.type==="tableDelimiterRow"?(r=!0,g=void 0,o=[0,0,0,0],a=[0,n+1,0,0],c&&(c=!1,p={type:"tableBody",start:Object.assign({},b.start),end:Object.assign({},b.end)},y.add(n,0,[["enter",p,t]])),s=b.type==="tableDelimiterRow"?2:p?3:1):s&&(b.type==="data"||b.type==="tableDelimiterMarker"||b.type==="tableDelimiterFiller")?(r=!1,a[2]===0&&(o[1]!==0&&(a[0]=a[1],g=Xl(y,t,o,s,void 0,g),o=[0,0,0,0]),a[2]=n)):b.type==="tableCellDivider"&&(r?r=!1:(o[1]!==0&&(a[0]=a[1],g=Xl(y,t,o,s,void 0,g)),o=a,a=[o[1],n,0,0])):b.type==="tableHead"?(c=!0,u=n):b.type==="tableRow"||b.type==="tableDelimiterRow"?(u=n,o[1]!==0?(a[0]=a[1],g=Xl(y,t,o,s,n,g)):a[1]!==0&&(g=Xl(y,t,a,s,n,g)),s=0):s&&(b.type==="data"||b.type==="tableDelimiterMarker"||b.type==="tableDelimiterFiller")&&(a[3]=n)}for(u!==0&&s_(y,t,u,f,p),y.consume(t.events),n=-1;++n<t.events.length;){const v=t.events[n];v[0]==="enter"&&v[1].type==="table"&&(v[1]._align=sz(t.events,n))}return e}function Xl(e,t,n,r,s,o){const a=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",c="tableContent";n[0]!==0&&(o.end=Object.assign({},Si(t.events,n[0])),e.add(n[0],0,[["exit",o,t]]));const u=Si(t.events,n[1]);if(o={type:a,start:Object.assign({},u),end:Object.assign({},u)},e.add(n[1],0,[["enter",o,t]]),n[2]!==0){const f=Si(t.events,n[2]),p=Si(t.events,n[3]),g={type:c,start:Object.assign({},f),end:Object.assign({},p)};if(e.add(n[2],0,[["enter",g,t]]),r!==2){const y=t.events[n[2]],v=t.events[n[3]];if(y[1].end=Object.assign({},v[1].end),y[1].type="chunkText",y[1].contentType="text",n[3]>n[2]+1){const b=n[2]+1,w=n[3]-n[2]-1;e.add(b,w,[])}}e.add(n[3]+1,0,[["exit",g,t]])}return s!==void 0&&(o.end=Object.assign({},Si(t.events,s)),e.add(s,0,[["exit",o,t]]),o=void 0),o}function s_(e,t,n,r,s){const o=[],a=Si(t.events,n);s&&(s.end=Object.assign({},a),o.push(["exit",s,t])),r.end=Object.assign({},a),o.push(["exit",r,t]),e.add(n+1,0,o)}function Si(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const lz={name:"tasklistCheck",tokenize:uz};function cz(){return{text:{91:lz}}}function uz(e,t,n){const r=this;return s;function s(u){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(u):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(u),e.exit("taskListCheckMarker"),o)}function o(u){return st(u)?(e.enter("taskListCheckValueUnchecked"),e.consume(u),e.exit("taskListCheckValueUnchecked"),a):u===88||u===120?(e.enter("taskListCheckValueChecked"),e.consume(u),e.exit("taskListCheckValueChecked"),a):n(u)}function a(u){return u===93?(e.enter("taskListCheckMarker"),e.consume(u),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(u)}function c(u){return Re(u)?t(u):We(u)?e.check({tokenize:dz},t,n)(u):n(u)}}function dz(e,t,n){return Ge(e,r,"whitespace");function r(s){return s===null?n(s):t(s)}}function hz(e){return lk([M3(),W3(),tz(e),iz(),cz()])}const fz={};function pz(e){const t=this,n=e||fz,r=t.data(),s=r.micromarkExtensions||(r.micromarkExtensions=[]),o=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),a=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);s.push(hz(n)),o.push(O3()),a.push(L3(n))}function mz({message:e}){const{t}=Ze(),n=e.role==="user",r={p:({node:s,...o})=>h.jsx("p",{className:"mb-2 last:mb-0",...o}),a:({node:s,...o})=>h.jsx("a",{className:"text-primary hover:underline",...o}),ul:({node:s,...o})=>h.jsx("ul",{className:"list-disc ml-4 mb-2",...o}),ol:({node:s,...o})=>h.jsx("ol",{className:"list-decimal ml-4 mb-2",...o}),blockquote:({node:s,...o})=>h.jsx("blockquote",{className:"border-l-2 border-border/50 pl-3 text-fg/70 italic mb-2",...o}),table:({node:s,...o})=>h.jsx("table",{className:"w-full text-xs border-collapse my-2",...o}),th:({node:s,...o})=>h.jsx("th",{className:"border border-border/20 bg-surface/50 px-2 py-1 text-left font-semibold",...o}),td:({node:s,...o})=>h.jsx("td",{className:"border border-border/20 px-2 py-1 align-top",...o}),code:({node:s,inline:o,className:a,...c})=>h.jsx("code",{className:o?"bg-black/20 rounded px-1 py-0.5 font-mono text-xs":"block bg-black/30 rounded-lg p-3 font-mono text-xs leading-relaxed overflow-x-auto",...c}),pre:({node:s,...o})=>h.jsx("pre",{className:"my-2",...o})};return h.jsx("div",{className:`flex w-full ${n?"justify-end":"justify-start"}`,children:h.jsxs("div",{className:`flex gap-3 max-w-[85%] ${n?"flex-row-reverse":"flex-row"}`,children:[h.jsx("div",{className:`w-8 h-8 rounded-full flex items-center justify-center shrink-0 ${n?"bg-primary text-white":"bg-gradient-to-br from-indigo-500 to-purple-600 text-white shadow-lg glow-primary"}`,children:n?h.jsx(Ac,{size:16}):h.jsx(uj,{size:16})}),h.jsxs("div",{className:`flex flex-col ${n?"items-end":"items-start"}`,children:[h.jsx("div",{className:`px-5 py-3.5 rounded-2xl text-sm leading-relaxed shadow-sm ${n?"bg-primary/15 text-fg rounded-tr-none":"bg-surface/70 backdrop-blur-md text-fg rounded-tl-none"}`,children:h.jsx("div",{className:"markdown-body",children:h.jsx(Gp,{remarkPlugins:[pz],components:r,children:e.content})})}),h.jsx("span",{className:"text-[10px] text-fg/30 mt-1 px-1",children:new Date(e.created_at).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})})]})]})})}function gz({sessionId:e,onContextUpdate:t,onNewSession:n,onSessionCreated:r}){const{t:s}=Ze(),[o,a]=R.useState([]),[c,u]=R.useState(""),[f,p]=R.useState(!1),[g,y]=R.useState(!1),v=R.useRef(null),b=R.useRef(null),w=R.useRef(!0),k=R.useRef(null);R.useEffect(()=>{e?C(e):(a([]),t([]))},[e,t]),R.useEffect(()=>{w.current&&v.current&&v.current.scrollIntoView({behavior:"smooth"})},[o,g]);const j=()=>{const N=b.current;if(!N)return;const A=N.scrollHeight-N.scrollTop-N.clientHeight;w.current=A<64},C=async N=>{try{const{data:{session:A}}=await oe.auth.getSession();if(!A)return;const $=await Qe.get(`/api/chat/sessions/${N}/messages`,{headers:{"x-user-id":A.user.id}});if($.data.success){a($.data.messages);const G=$.data.messages[$.data.messages.length-1];G&&G.role==="assistant"&&G.context_sources&&t(G.context_sources)}}catch(A){console.error("Failed to fetch messages",A)}},S=async N=>{if(N?.preventDefault(),!c.trim()||f)return;const A=c.trim();u(""),k.current&&(k.current.style.height="auto");const{data:{session:$}}=await oe.auth.getSession();if(!$)return;const G=$.user.id;p(!0),y(!0);try{let B=e;if(!B){const X=await Qe.post("/api/chat/sessions",{},{headers:{"x-user-id":G}});if(X.data.success)B=X.data.session.id,r(B);else throw new Error("Failed to create session")}const L={id:"temp-"+Date.now(),role:"user",content:A,created_at:new Date().toISOString()};a(X=>[...X,L]);const Y=await Qe.post("/api/chat/message",{sessionId:B,content:A},{headers:{"x-user-id":G}});if(Y.data.success){const X=Y.data.message;a(de=>[...de,X]),X.context_sources&&t(X.context_sources)}}catch(B){console.error("Message failed",B),a(L=>[...L,{id:"err-"+Date.now(),role:"assistant",content:s("chat.error_message"),created_at:new Date().toISOString()}])}finally{p(!1),y(!1)}},P=N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),S())};return h.jsxs(h.Fragment,{children:[h.jsxs("div",{ref:b,onScroll:j,className:"flex-1 overflow-y-auto p-5 space-y-6 scrollbar-on-hover",children:[o.length===0?h.jsxs("div",{className:"h-full flex flex-col items-center justify-center p-8 text-center opacity-70",children:[h.jsx("div",{className:"w-16 h-16 bg-primary/10 rounded-2xl flex items-center justify-center mb-4 text-primary animate-pulse",children:h.jsx(zj,{size:32})}),h.jsx("h3",{className:"text-xl font-bold mb-2",children:s("chat.title")}),h.jsx("p",{className:"text-sm max-w-md mx-auto mb-8",children:s("chat.desc")}),h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 max-w-lg w-full",children:[s("chat.suggestions.react"),s("chat.suggestions.ai"),s("chat.suggestions.finance"),s("chat.suggestions.performance")].map((N,A)=>h.jsx("button",{onClick:()=>u(N),className:"text-left p-3 text-xs bg-surface/30 hover:bg-surface/50 border border-border/20 rounded-xl transition-all hover:scale-[1.02]",children:N},A))})]}):h.jsxs(h.Fragment,{children:[o.map((N,A)=>h.jsx(mz,{message:N},N.id||A)),g&&h.jsx(Fe.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:"flex justify-start w-full",children:h.jsxs("div",{className:"bg-surface/30 border border-border/10 rounded-2xl px-4 py-3 flex items-center gap-3",children:[h.jsxs("div",{className:"flex gap-1",children:[h.jsx("span",{className:"w-1.5 h-1.5 bg-primary/60 rounded-full animate-bounce",style:{animationDelay:"0s"}}),h.jsx("span",{className:"w-1.5 h-1.5 bg-primary/60 rounded-full animate-bounce",style:{animationDelay:"0.1s"}}),h.jsx("span",{className:"w-1.5 h-1.5 bg-primary/60 rounded-full animate-bounce",style:{animationDelay:"0.2s"}})]}),h.jsx("span",{className:"text-xs text-fg/50 font-mono",children:s("chat.thinking")})]})})]}),h.jsx("div",{ref:v})]}),h.jsx("div",{className:"p-4 bg-surface/20 border-t border-border/10 backdrop-blur-md",children:h.jsx("form",{onSubmit:S,className:"relative max-w-4xl mx-auto",children:h.jsxs("div",{className:"relative flex items-end gap-2 bg-surface/55 border border-border/10 rounded-2xl px-2 py-2 shadow-sm focus-within:ring-2 focus-within:ring-primary/30 focus-within:border-primary/30 transition-all",children:[h.jsx("textarea",{ref:k,value:c,onChange:N=>{u(N.target.value),N.target.style.height="auto",N.target.style.height=N.target.scrollHeight+"px"},onKeyDown:P,placeholder:s("chat.placeholder"),rows:1,className:"w-full bg-transparent border-none focus:ring-0 focus:outline-none py-2 pl-2 text-fg resize-none min-h-[24px] max-h-[200px] placeholder:text-fg/40",disabled:f}),h.jsx("button",{type:"submit",disabled:!c.trim()||f,className:"p-2 mb-0.5 bg-primary text-white rounded-xl shadow-lg hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-all shrink-0",children:f?h.jsx(Nc,{size:18,className:"animate-spin"}):h.jsx(Dj,{size:18})})]})})})]})}function yz({sources:e,onClose:t}){const{t:n}=Ze();return!e||e.length===0?null:h.jsxs(Fe.div,{initial:{opacity:0,x:20,width:0},animate:{opacity:1,x:0,width:300},exit:{opacity:0,x:20,width:0},className:"bg-surface/25 backdrop-blur-xl rounded-2xl border border-border/10 overflow-hidden flex flex-col shadow-[0_8px_24px_rgba(0,0,0,0.16)]",children:[h.jsxs("div",{className:"p-4 border-b border-border/10 flex items-center justify-between bg-surface/15",children:[h.jsxs("div",{className:"flex items-center gap-2 text-sm font-semibold text-fg/80",children:[h.jsx(d_,{size:16,className:"text-secondary"}),h.jsx("span",{children:n("chat.relevant_context")})]}),h.jsx("button",{onClick:t,className:"p-1 hover:bg-surface rounded-md text-fg/40 hover:text-fg transition-colors",children:h.jsx(Cn,{size:14})})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-3 space-y-3",children:e.map((r,s)=>h.jsxs("div",{className:"p-3 bg-surface/20 hover:bg-surface/35 border border-border/5 rounded-xl transition-all group",children:[h.jsxs("div",{className:"flex justify-between items-start mb-2",children:[h.jsxs("div",{className:"flex items-center gap-1.5",children:[h.jsx("span",{className:"flex items-center justify-center w-4 h-4 bg-primary/10 text-primary text-[10px] font-bold rounded",children:s+1}),h.jsx("span",{className:`text-[10px] font-bold px-1.5 py-0.5 rounded border ${r.score>=80?"bg-yellow-500/10 text-yellow-500 border-yellow-500/20":"bg-blue-500/10 text-blue-400 border-blue-500/20"}`,children:n("chat.match_score",{score:r.score})})]}),h.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer",className:"opacity-0 group-hover:opacity-100 focus-visible:opacity-100 text-fg/40 hover:text-primary transition-opacity focus-visible:ring-2 focus-visible:ring-primary/40 rounded",children:h.jsx(Ui,{size:12})})]}),h.jsx("a",{href:r.url,target:"_blank",rel:"noopener noreferrer",className:"text-xs font-bold text-fg/90 block mb-1 hover:text-primary transition-colors line-clamp-2",children:r.title}),h.jsx("p",{className:"text-[10px] text-fg/50 line-clamp-3 leading-relaxed",children:r.summary})]},s))}),h.jsx("div",{className:"p-3 border-t border-border/10 bg-surface/20 text-[10px] text-center text-fg/30",children:n("chat.rag_attribution",{count:e.length})})]})}function xz(){const[e,t]=R.useState(null),[n,r]=R.useState([]),[s,o]=R.useState(!0);return h.jsxs("div",{className:"flex h-full gap-4 overflow-hidden",children:[h.jsx(HL,{activeSessionId:e,onSelectSession:t}),h.jsx("div",{className:"flex-1 flex flex-col min-w-0 bg-surface/60 rounded-2xl overflow-hidden border border-border/15 shadow-[0_12px_30px_rgba(0,0,0,0.22)] relative",children:h.jsx(gz,{sessionId:e,onContextUpdate:a=>{r(a),a.length>0&&o(!0)},onNewSession:()=>t(null),onSessionCreated:a=>t(a)})}),s&&h.jsx(yz,{sources:n,onClose:()=>o(!1)})]})}function vz({isOpen:e,onClose:t}){const{t:n}=Ze(),[r,s]=R.useState(""),[o,a]=R.useState(!0);R.useEffect(()=>{e&&c()},[e]);const c=async()=>{a(!0);try{const f=await(await fetch("/CHANGELOG.md")).text();s(f)}catch(u){console.error("Failed to load changelog:",u),s(`# ${n("common.error")}
133
133
 
134
- ${n("shell.changelog_error")}`)}finally{a(!1)}};return h.jsx(Pt,{children:e&&h.jsxs(h.Fragment,{children:[h.jsx(Fe.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-black/60 backdrop-blur-sm z-50"}),h.jsx(Fe.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:20},transition:{type:"spring",damping:25,stiffness:300},className:"fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none",children:h.jsxs("div",{className:"glass w-full max-w-3xl max-h-[80vh] overflow-hidden pointer-events-auto shadow-2xl",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(d_,{size:24,className:"text-primary"}),h.jsx("h2",{className:"text-xl font-bold",children:n("shell.release_notes")})]}),h.jsx("button",{onClick:t,className:"p-2 hover:bg-surface rounded-lg transition-colors",children:h.jsx(Cn,{size:20,className:"text-fg/60"})})]}),h.jsx("div",{className:"p-6 overflow-y-auto custom-scrollbar max-h-[calc(80vh-88px)]",children:o?h.jsx("div",{className:"flex items-center justify-center py-12",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-primary border-t-transparent"})}):h.jsx(Gp,{components:{h1:({children:u})=>h.jsx("h1",{className:"text-2xl font-bold text-fg mb-6 mt-0",children:u}),h2:({children:u})=>h.jsx("h2",{className:"text-xl font-bold text-fg mt-8 mb-3 pb-2 border-b border-border first:mt-0",children:u}),h3:({children:u})=>h.jsx("h3",{className:"text-lg font-bold text-primary mt-6 mb-2",children:u}),p:({children:u})=>h.jsx("p",{className:"text-sm text-fg/70 mb-3 leading-relaxed",children:u}),ul:({children:u})=>h.jsx("ul",{className:"list-none space-y-1 mb-4 ml-0",children:u}),li:({children:u})=>h.jsx("li",{className:"text-sm text-fg/80 ml-4 mb-1 before:content-['•'] before:mr-2 before:text-primary",children:u}),a:({href:u,children:f})=>h.jsx("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:text-primary/80 underline transition-colors",children:f}),code:({children:u})=>h.jsx("code",{className:"bg-surface/50 text-accent px-1.5 py-0.5 rounded text-xs font-mono border border-border",children:u}),strong:({children:u})=>h.jsx("strong",{className:"font-bold text-fg",children:u})},children:r})})]})})]})})}function _z({asset:e,onClose:t}){const{t:n}=Ze(),r=()=>{e.content&&navigator.clipboard.writeText(e.content)},s=()=>{if(!e.content)return;const o=new Blob([e.content],{type:"text/markdown"}),a=URL.createObjectURL(o),c=document.createElement("a");c.href=a,c.download=`${e.title.replace(/[^a-z0-9]/gi,"_").toLowerCase()}.md`,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(a)};return h.jsx(Pt,{children:e&&h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60 backdrop-blur-md",children:h.jsxs(Fe.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"bg-bg rounded-3xl shadow-2xl w-full max-w-4xl max-h-[85vh] flex flex-col overflow-hidden border border-border",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border bg-surface/50",children:[h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("div",{className:"p-3 rounded-2xl bg-primary/10 text-primary shadow-inner",children:e.type==="audio"?h.jsx(Uh,{className:"w-6 h-6"}):h.jsx(Li,{className:"w-6 h-6"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-black italic tracking-tighter uppercase text-xl text-fg",children:e.title}),h.jsxs("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest mt-0.5",children:[new Date(e.created_at).toLocaleString([],{dateStyle:"medium",timeStyle:"short"})," • ",n("discovery.sources_count",{count:e.metadata?.source_signal_count||0})]})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:r,className:"p-2.5 text-fg/40 hover:text-primary hover:bg-primary/10 rounded-xl transition-all",title:"Copy Content",children:h.jsx(Df,{className:"w-5 h-5"})}),h.jsx("button",{onClick:s,className:"p-2.5 text-fg/40 hover:text-primary hover:bg-primary/10 rounded-xl transition-all",title:"Download File",children:h.jsx(Fh,{className:"w-5 h-5"})}),h.jsx("div",{className:"w-px h-8 bg-border mx-2"}),h.jsx("button",{onClick:t,className:"p-2.5 text-fg/40 hover:text-error hover:bg-error/10 rounded-xl transition-all",children:h.jsx(Cn,{className:"w-6 h-6"})})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-8 bg-bg custom-scrollbar",children:e.status&&e.status!=="completed"?h.jsxs("div",{className:"flex flex-col items-center justify-center h-80 gap-6",children:[h.jsxs("div",{className:"relative",children:[h.jsx("div",{className:"absolute inset-0 bg-primary/20 rounded-full blur-xl animate-pulse"}),h.jsx(Rt,{className:"w-16 h-16 animate-spin text-primary relative z-10"})]}),h.jsxs("div",{className:"text-center space-y-2",children:[h.jsx("h4",{className:"text-xl font-black italic tracking-tighter uppercase text-fg",children:e.status==="processing"?n("transmute.generating_asset"):n("transmute.queued_desktop")}),h.jsx("p",{className:"text-xs text-fg/40 font-mono uppercase tracking-widest max-w-xs mx-auto",children:n("transmute.desktop_processing")})]})]}):e.type==="markdown"?h.jsx("div",{className:"prose prose-invert prose-headings:font-black prose-headings:italic prose-headings:tracking-tighter prose-headings:uppercase prose-p:text-fg/80 prose-li:text-fg/80 prose-strong:text-primary max-w-none",children:h.jsx(Gp,{children:e.content||""})}):e.type==="audio"?h.jsxs("div",{className:"flex flex-col items-center justify-center h-80 gap-8",children:[h.jsx("div",{className:"w-24 h-24 rounded-3xl bg-primary/10 flex items-center justify-center animate-pulse shadow-xl border border-primary/20",children:h.jsx(Uh,{className:"w-10 h-10 text-primary"})}),h.jsxs("div",{className:"text-center",children:[h.jsx("p",{className:"text-xs text-fg/40 font-mono uppercase tracking-widest mb-6",children:n("transmute.unsupported_type")}),h.jsxs("audio",{controls:!0,className:"w-80 h-12 rounded-xl bg-surface border border-border",children:[h.jsx("source",{src:e.content||"",type:"audio/mpeg"}),"Your browser does not support the audio element."]})]})]}):h.jsx("div",{className:"text-fg/20 text-center py-20 font-mono italic",children:"Unsupported asset type"})})]})})})}function i_({engine:e,onClose:t,onSave:n,onDelete:r}){const{t:s}=Ze(),{showToast:o}=Wc(),[a,c]=R.useState({title:"",type:"newsletter",status:"active",config:{schedule:"",min_score:70,categories:[],custom_prompt:"",max_signals:10,execution_mode:"local"}}),[u,f]=R.useState(!1);R.useEffect(()=>{e&&c({title:e.title,type:e.type,status:e.status,config:{schedule:e.config.schedule||"",min_score:e.config.filters?.min_score||70,categories:Array.isArray(e.config.category)?e.config.category:e.config.category?[e.config.category]:[],custom_prompt:e.config.custom_prompt||"",max_signals:e.config.max_signals||10,execution_mode:e.config.execution_mode||"local"}})},[e]);const p=async()=>{try{const v={title:a.title,type:a.type,status:a.status,config:{schedule:a.config.schedule,filters:{min_score:a.config.min_score,category:a.config.category},custom_prompt:a.config.custom_prompt,max_signals:a.config.max_signals,execution_mode:a.config.execution_mode}};if(e){const{data:b,error:w}=await oe.from("engines").update(v).eq("id",e.id).select().single();if(w)throw w;n(b),o("Engine updated successfully","success")}else{const{data:{user:b}}=await oe.auth.getUser();if(!b)throw new Error("Not authenticated");const{data:w,error:k}=await oe.from("engines").insert({...v,user_id:b.id}).select().single();if(k)throw k;n(w),o("Engine created successfully","success")}t()}catch(v){console.error("Save error:",v),o(v.message||"Failed to save engine","error")}},g=async()=>{if(!(!e||!r))try{const{error:v}=await oe.from("engines").delete().eq("id",e.id);if(v)throw v;r(e.id),o("Engine deleted","success"),t()}catch(v){o(v.message||"Failed to delete engine","error")}},y=()=>{f(!1),t()};return!e&&!t?null:h.jsx(Pt,{children:h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",children:h.jsxs(Fe.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"bg-bg rounded-3xl shadow-2xl w-full max-w-2xl max-h-[85vh] flex flex-col overflow-hidden border border-border",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border bg-surface/50",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-xl font-black italic tracking-tighter uppercase text-fg",children:s(e?"transmute.edit_engine":"transmute.create_engine")}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-[0.2em]",children:s("transmute.configure_pipeline")})]}),h.jsx("button",{onClick:y,className:"p-2 text-fg/40 hover:text-error hover:bg-error/10 rounded-xl transition-all",children:h.jsx(Cn,{className:"w-6 h-6"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-8 space-y-8 custom-scrollbar",children:[h.jsxs("div",{className:"space-y-6",children:[h.jsx(vr,{label:s("transmute.engine_name"),children:h.jsx("input",{type:"text",value:a.title,onChange:v=>c({...a,title:v.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg placeholder:text-fg/20 focus:border-primary/50 outline-none transition-all text-sm",placeholder:"e.g., Daily Tech Brief"})}),h.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[h.jsx(vr,{label:s("transmute.type"),children:h.jsxs("select",{value:a.type,onChange:v=>c({...a,type:v.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm appearance-none cursor-pointer",children:[h.jsx("option",{value:"newsletter",children:s("transmute.newsletter")}),h.jsx("option",{value:"thread",children:s("transmute.thread")}),h.jsx("option",{value:"audio",children:"Audio Brief"}),h.jsx("option",{value:"report",children:"Report"})]})}),h.jsx(vr,{label:s("transmute.status"),children:h.jsxs("select",{value:a.status,onChange:v=>c({...a,status:v.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm appearance-none cursor-pointer",children:[h.jsx("option",{value:"active",children:s("common.status_active")}),h.jsx("option",{value:"paused",children:s("common.status_paused")}),h.jsx("option",{value:"draft",children:"Draft"})]})})]}),h.jsxs(vr,{label:s("transmute.execution_env"),children:[h.jsxs("select",{value:a.config.execution_mode,onChange:v=>c({...a,config:{...a.config,execution_mode:v.target.value}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm appearance-none cursor-pointer",children:[h.jsx("option",{value:"local",children:s("transmute.local_llm")}),h.jsx("option",{value:"desktop",children:s("transmute.desktop_swarm")})]}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono uppercase mt-2 leading-relaxed",children:a.config.execution_mode==="desktop"?s("transmute.env_desc_desktop"):s("transmute.env_desc_local")})]})]}),h.jsxs("div",{className:"space-y-6 pt-6 border-t border-border/10",children:[h.jsx("h4",{className:"text-xs font-bold uppercase tracking-[0.2em] text-primary/60",children:"Signal Filters"}),h.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[h.jsx(vr,{label:s("transmute.min_score"),children:h.jsx("input",{type:"number",min:"0",max:"100",value:a.config.min_score,onChange:v=>c({...a,config:{...a.config,min_score:parseInt(v.target.value)||0}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm"})}),h.jsx(vr,{label:s("transmute.max_signals"),children:h.jsx("input",{type:"number",min:"1",max:"50",value:a.config.max_signals,onChange:v=>c({...a,config:{...a.config,max_signals:parseInt(v.target.value)||10}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm"})})]}),h.jsxs(vr,{label:s("transmute.category_filter"),children:[h.jsxs("select",{multiple:!0,value:a.config.categories,onChange:v=>{const b=Array.from(v.target.selectedOptions,w=>w.value);c({...a,config:{...a.config,categories:b}})},className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm min-h-[120px] custom-scrollbar",children:[h.jsx("option",{value:"AI & ML",children:"AI & ML"}),h.jsx("option",{value:"Technology",children:"Technology"}),h.jsx("option",{value:"Business",children:"Business"}),h.jsx("option",{value:"Finance",children:"Finance"}),h.jsx("option",{value:"Science",children:"Science"}),h.jsx("option",{value:"Politics",children:"Politics"})]}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono mt-2",children:s("transmute.multi_select_hint")})]})]}),h.jsx("div",{className:"pt-6 border-t border-border/10",children:h.jsxs(vr,{label:`${s("transmute.schedule")} (${s("common.optional")})`,children:[h.jsx("input",{type:"text",value:a.config.schedule,onChange:v=>c({...a,config:{...a.config,schedule:v.target.value}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg placeholder:text-fg/20 focus:border-primary/50 outline-none transition-all text-sm",placeholder:"e.g., Daily @ 9am, Manual"}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono mt-2",children:s("transmute.schedule_hint")})]})}),h.jsx("div",{className:"pt-6 border-t border-border/10",children:h.jsx(vr,{label:s("transmute.prompt_override"),children:h.jsx("textarea",{value:a.config.custom_prompt,onChange:v=>c({...a,config:{...a.config,custom_prompt:v.target.value}}),rows:5,className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg placeholder:text-fg/20 focus:border-primary/50 outline-none transition-all text-sm resize-none custom-scrollbar",placeholder:s("transmute.prompt_placeholder")})})})]}),h.jsxs("div",{className:"flex items-center justify-between p-6 border-t border-border bg-surface/50",children:[e&&r?u?h.jsxs("div",{className:"flex items-center gap-4 bg-error/5 border border-error/20 px-4 py-2 rounded-2xl animate-in fade-in slide-in-from-left-2 transition-all",children:[h.jsx("span",{className:"text-xs text-error font-bold uppercase tracking-widest",children:s("transmute.delete_confirm")}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:g,className:"px-4 py-2 bg-error text-white text-[10px] font-bold uppercase tracking-widest rounded-xl hover:bg-error/80 transition-all shadow-lg shadow-error/20",children:s("transmute.confirm")}),h.jsx("button",{onClick:()=>f(!1),className:"px-4 py-2 bg-surface border border-border text-fg/40 text-[10px] font-bold uppercase tracking-widest rounded-xl hover:bg-bg transition-all",children:s("common.cancel")})]})]}):h.jsxs("button",{onClick:()=>f(!0),className:"flex items-center gap-2 px-6 py-3 text-error/60 hover:text-error hover:bg-error/10 rounded-2xl transition-all font-bold text-xs uppercase tracking-widest",children:[h.jsx(Ff,{className:"w-5 h-5"}),s("common.delete")]}):h.jsx("div",{}),h.jsxs("div",{className:"flex gap-4",children:[h.jsx("button",{onClick:y,className:"px-6 py-3 text-fg/40 font-bold text-xs uppercase tracking-widest hover:text-fg hover:bg-surface rounded-2xl transition-all",children:s("common.cancel")}),h.jsxs("button",{onClick:p,className:"flex items-center gap-2 px-8 py-3 bg-gradient-to-r from-primary to-accent text-white rounded-2xl font-bold text-xs uppercase tracking-widest hover:scale-105 active:scale-95 transition-all shadow-lg glow-primary",children:[h.jsx(br,{className:"w-5 h-5"}),s("common.save")]})]})]})]})})})}function vr({label:e,children:t}){return h.jsxs("div",{className:"space-y-2",children:[h.jsx("label",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-fg/30 ml-1",children:e}),t]})}const bz=({engine:e,onRun:t,onEdit:n,onToggle:r,onViewBrief:s,isLoading:o})=>{const{t:a}=Ze(),c=!!e.config.tag,u={newsletter:c?h.jsx(Mf,{className:"w-5 h-5 text-blue-500"}):h.jsx(Li,{className:"w-5 h-5 text-emerald-500"}),thread:h.jsx(nn,{className:"w-5 h-5 text-blue-500"}),audio:h.jsx(Uh,{className:"w-5 h-5 text-purple-500"}),report:h.jsx(oc,{className:"w-5 h-5 text-orange-500"})};return h.jsxs(Fe.div,{layout:!0,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:`p-5 rounded-2xl border transition-all hover:shadow-lg group ${e.status==="active"?"bg-surface border-border shadow-sm":"bg-surface/30 border-dashed border-border opacity-70"}`,children:[h.jsxs("div",{className:"flex justify-between items-start mb-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"p-2 rounded-xl bg-bg border border-border/10",children:u[e.type]||h.jsx(Li,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-bold text-fg tracking-tight",children:e.title}),h.jsxs("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest",children:[c?a("transmute.topic"):a(`transmute.${e.type}`,e.type)," ",a("transmute.pipeline")]})]})]}),h.jsxs("div",{className:"flex gap-1",children:[h.jsx("button",{onClick:()=>r(e.id,e.status),className:"p-1.5 rounded-lg hover:bg-bg text-fg/40 hover:text-fg transition-colors",children:e.status==="active"?h.jsx(Oj,{className:"w-4 h-4"}):h.jsx(Gy,{className:"w-4 h-4"})}),h.jsx("button",{onClick:()=>s(e.id),title:a("transmute.view_json"),className:"p-1.5 rounded-lg hover:bg-bg text-fg/40 hover:text-fg transition-colors",children:h.jsx(p_,{className:"w-4 h-4"})}),h.jsx("button",{onClick:()=>n(e.id),className:"p-1.5 rounded-lg hover:bg-bg text-fg/40 hover:text-fg transition-colors",children:h.jsx(oc,{className:"w-4 h-4"})})]})]}),h.jsxs("div",{className:"space-y-2 mb-4",children:[h.jsxs("div",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest flex justify-between",children:[h.jsx("span",{children:a("transmute.last_run")}),h.jsx("span",{className:"text-fg/60",children:e.last_run_at?new Date(e.last_run_at).toLocaleDateString(a("common.locale_code")):a("transmute.never")})]}),h.jsxs("div",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest flex justify-between",children:[h.jsx("span",{children:a("transmute.schedule")}),h.jsx("span",{className:"text-fg/60",children:e.config.schedule||a("transmute.manual")})]})]}),h.jsxs("button",{onClick:()=>t(e.id),disabled:o||e.status!=="active",className:"w-full flex items-center justify-center gap-2 py-2.5 rounded-xl bg-gradient-to-r from-primary to-primary/80 text-white font-bold shadow-lg glow-primary hover:scale-[1.02] active:scale-95 disabled:opacity-50 disabled:hover:scale-100 transition-all text-sm uppercase tracking-widest",children:[o?h.jsx(Rt,{className:"w-4 h-4 animate-spin"}):h.jsx(Gy,{className:"w-4 h-4"}),a(o?"transmute.running":"transmute.run_engine")]})]})};function wz(){const{t:e}=Ze(),[t,n]=R.useState([]),[r,s]=R.useState(!0),[o,a]=R.useState(new Set),[c,u]=R.useState(null),[f,p]=R.useState(null),[g,y]=R.useState(!1),[v,b]=R.useState(null),[w,k]=R.useState(!1),[j,C]=R.useState(!1),{showToast:S}=Wc();R.useEffect(()=>{(async()=>N())();const K=oe.channel("asset-updates").on("postgres_changes",{event:"UPDATE",schema:"public",table:"assets"},te=>{const ne=te.new;u(J=>J?.id===ne.id?ne:J),ne.status==="completed"&&te.old.status!=="completed"&&S(e("transmute.asset_ready",{title:ne.title}),"success")}).subscribe();return()=>{oe.removeChannel(K)}},[]);const P=async()=>{if(!j)try{C(!0),S(e("transmute.scanning"),"info");const{data:{session:H}}=await oe.auth.getSession(),K=Ps(),te={"Content-Type":"application/json","x-user-id":H?.user?.id||""};if(H?.access_token&&(te.Authorization=`Bearer ${H.access_token}`),K&&(te["x-supabase-url"]=K.url,te["x-supabase-key"]=K.anonKey),!(await fetch("/api/engines/ensure-defaults",{method:"POST",headers:te})).ok)throw new Error("Failed to generate engines");S(e("transmute.discovery_complete"),"success"),await N()}catch(H){console.error("Failed to generate engines:",H),S(e("transmute.discovery_failed"),"error")}finally{C(!1)}},N=async()=>{try{s(!0);const{data:{user:H}}=await oe.auth.getUser();if(!H)return;const{data:K,error:te}=await oe.from("engines").select("*").eq("user_id",H.id).order("created_at",{ascending:!1});if(te)throw te;n(K)}catch(H){console.error("Error fetching engines:",H),S(e("transmute.load_failed"),"error")}finally{s(!1)}},A=async H=>{if(!o.has(H))try{a(D=>new Set(D).add(H)),S(e("transmute.starting_run"),"info");const{data:{session:K}}=await oe.auth.getSession(),te=K?.access_token,ne=Ps(),J={"Content-Type":"application/json","x-user-id":K?.user?.id||""};te&&(J.Authorization=`Bearer ${te}`),ne&&(J["x-supabase-url"]=ne.url,J["x-supabase-key"]=ne.anonKey);const le=await fetch(`/api/engines/${H}/run`,{method:"POST",headers:J});if(!le.ok){const D=await le.json();throw new Error(D.error||"Run failed")}const T=await le.json();T.status==="completed"?S(e("transmute.run_complete",{title:T.title}),"success"):S(e("transmute.run_started_desktop",{id:T.id}),"info"),u(T),n(D=>D.map(W=>W.id===H?{...W,last_run_at:new Date().toISOString()}:W))}catch(K){console.error("Engine run error:",K),S(K.message||e("transmute.run_failed"),"error")}finally{a(K=>{const te=new Set(K);return te.delete(H),te})}},$=async H=>{try{y(!0);const{data:{session:K}}=await oe.auth.getSession(),te=Ps(),ne={"Content-Type":"application/json","x-user-id":K?.user?.id||""};K?.access_token&&(ne.Authorization=`Bearer ${K.access_token}`),te&&(ne["x-supabase-url"]=te.url,ne["x-supabase-key"]=te.anonKey);const J=await fetch(`/api/engines/${H}/brief`,{headers:ne});if(!J.ok)throw new Error("Failed to fetch brief");const le=await J.json();p(le)}catch{S(e("transmute.brief_failed"),"error")}finally{y(!1)}},G=async(H,K)=>{const te=K==="active"?"paused":"active";n(ne=>ne.map(J=>J.id===H?{...J,status:te}:J));try{const{error:ne}=await oe.from("engines").update({status:te}).eq("id",H);if(ne)throw ne;S(e("transmute.status_updated",{status:te}),"success")}catch{n(J=>J.map(le=>le.id===H?{...le,status:K}:le)),S(e("common.error"),"error")}},B=()=>{k(!0)},L=H=>{const K=t.find(te=>te.id===H);K&&b(K)},Y=H=>{n(K=>K.find(ne=>ne.id===H.id)?K.map(ne=>ne.id===H.id?H:ne):[H,...K])},X=H=>{n(K=>K.filter(te=>te.id!==H))},de=()=>{b(null),k(!1)};return h.jsxs("div",{className:"h-full flex flex-col bg-bg",children:[h.jsx("div",{className:"flex-none p-6 border-b border-border bg-bg/50 backdrop-blur-sm z-10 sticky top-0",children:h.jsxs("div",{className:"flex justify-between items-center max-w-7xl mx-auto w-full",children:[h.jsxs("div",{children:[h.jsx("h2",{className:"text-2xl font-black italic tracking-tighter bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent",children:e("transmute.title")}),h.jsx("p",{className:"text-xs text-fg/40 font-mono uppercase tracking-widest mt-1",children:e("transmute.desc")})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsxs("button",{onClick:P,disabled:j,className:"flex items-center gap-2 px-4 py-2.5 bg-primary/10 text-primary border border-primary/20 rounded-xl font-bold text-xs uppercase tracking-widest hover:bg-primary/20 transition-all disabled:opacity-50",children:[j?h.jsx(Rt,{className:"w-4 h-4 animate-spin"}):h.jsx(nn,{className:"w-4 h-4"}),e("transmute.generate_engines")]}),h.jsxs("button",{onClick:B,className:"flex items-center gap-2 px-4 py-2.5 bg-gradient-to-r from-primary to-accent text-white rounded-xl font-bold text-xs uppercase tracking-widest hover:scale-105 transition-all shadow-lg glow-primary",children:[h.jsx(zf,{className:"w-4 h-4"}),e("transmute.new_engine")]})]})]})}),h.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:h.jsx("div",{className:"max-w-7xl mx-auto w-full",children:r?h.jsx("div",{className:"flex items-center justify-center h-64",children:h.jsx(Rt,{className:"w-8 h-8 animate-spin text-purple-500"})}):t.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-96 text-center",children:[h.jsx("div",{className:"w-16 h-16 rounded-3xl bg-surface border border-border flex items-center justify-center mb-6 shadow-xl",children:h.jsx(nn,{className:"w-8 h-8 text-fg/20"})}),h.jsx("h3",{className:"text-xl font-black italic tracking-tighter uppercase text-fg",children:e("transmute.no_engines")}),h.jsx("p",{className:"text-xs text-fg/40 font-mono tracking-widest uppercase max-w-sm mt-2 mb-8",children:e("transmute.no_engines_desc")}),h.jsx("button",{onClick:B,className:"px-8 py-3 rounded-xl border border-border bg-surface hover:bg-bg text-xs font-bold uppercase tracking-widest transition-all shadow-sm",children:e("transmute.create_engine")})]}):h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:h.jsx(Pt,{children:t.map(H=>h.jsx(bz,{engine:H,onRun:A,onEdit:L,onToggle:G,onViewBrief:$,isLoading:o.has(H.id)},H.id))})})})}),h.jsx(Pt,{children:f&&h.jsx("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4 bg-black/60 backdrop-blur-md",children:h.jsxs(Fe.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"bg-bg rounded-3xl shadow-2xl w-full max-w-4xl max-h-[85vh] flex flex-col overflow-hidden border border-border",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border bg-surface/50",children:[h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("div",{className:"p-3 rounded-2xl bg-primary/10 text-primary",children:h.jsx(p_,{className:"w-6 h-6"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-black italic tracking-tighter uppercase text-lg text-fg",children:e("transmute.view_json")}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest",children:e("transmute.json_contract")})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:()=>{navigator.clipboard.writeText(JSON.stringify(f,null,2)),S(e("transmute.copied_json"),"info")},className:"p-2 text-gray-500 hover:text-gray-700 dark:hover:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 rounded-lg transition-colors",children:h.jsx(Df,{className:"w-4 h-4"})}),h.jsx("button",{onClick:()=>p(null),className:"p-2 text-fg/40 hover:text-error hover:bg-error/10 rounded-xl transition-all",children:h.jsx(Cn,{className:"w-5 h-5"})})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-6 bg-black font-mono text-sm custom-scrollbar",children:h.jsx("pre",{className:"text-primary/80",children:JSON.stringify(f,null,2)})}),h.jsx("div",{className:"p-4 border-t border-border bg-surface/50 text-[9px] text-fg/30 font-mono uppercase tracking-[0.2em] text-center",children:e("transmute.json_footer")})]})})}),g&&h.jsx("div",{className:"fixed inset-0 z-[70] flex items-center justify-center bg-black/20 backdrop-blur-sm",children:h.jsx(Rt,{className:"w-10 h-10 animate-spin text-white"})}),h.jsx(_z,{asset:c,onClose:()=>u(null)}),v&&h.jsx(i_,{engine:v,onClose:de,onSave:Y,onDelete:X}),w&&h.jsx(i_,{engine:null,onClose:de,onSave:Y})]})}class kz{audioContext=null;enabled=!0;constructor(){}getAudioContext(){return this.audioContext||(this.audioContext=new(window.AudioContext||window.webkitAudioContext)),this.audioContext}setEnabled(t){this.enabled=t}isEnabled(){return this.enabled}playTone(t,n,r=.3){if(this.enabled)try{const s=this.getAudioContext(),o=s.createOscillator(),a=s.createGain();o.connect(a),a.connect(s.destination),o.frequency.value=t,o.type="sine",a.gain.setValueAtTime(r,s.currentTime),a.gain.exponentialRampToValueAtTime(.01,s.currentTime+n),o.start(s.currentTime),o.stop(s.currentTime+n)}catch(s){console.warn("[Sound] Failed to play tone:",s)}}playSequence(t,n=.3){if(!this.enabled)return;let r=0;t.forEach(s=>{setTimeout(()=>{this.playTone(s.freq,s.duration,n)},r),r+=s.delay})}syncStart(){this.playSequence([{freq:261.63,duration:.15,delay:0},{freq:329.63,duration:.15,delay:100},{freq:392,duration:.2,delay:100}],.2)}signalFound(){this.playSequence([{freq:392,duration:.1,delay:0},{freq:523.25,duration:.15,delay:80}],.25)}syncComplete(){this.playSequence([{freq:261.63,duration:.12,delay:0},{freq:329.63,duration:.12,delay:80},{freq:392,duration:.12,delay:80},{freq:523.25,duration:.2,delay:80}],.2)}error(){this.playSequence([{freq:329.63,duration:.15,delay:0},{freq:261.63,duration:.2,delay:100}],.3)}click(){this.playTone(440,.05,.15)}}const Fo=new kz;function Sz(){const{t:e}=Ze(),[t,n]=R.useState([]),[r,s]=R.useState([]),[o,a]=R.useState("discovery"),[c,u]=R.useState(!1),[f,p]=R.useState(null),[g,y]=R.useState(!0),[v,b]=R.useState(!m0),[w,k]=R.useState(!0),[j,C]=R.useState(!1),[S,P]=R.useState(!1),[N,A]=R.useState(null),[$,G]=R.useState(!1),[B,L]=R.useState(!1),[Y,X]=R.useState(!1),[de,H]=R.useState(!0),[K,te]=R.useState(()=>localStorage.getItem("theme")||"dark"),[ne,J]=R.useState(null),le=R.useRef(null);R.useMemo(()=>{const pe=r.length;let ge=0,Te=0,fe=null;for(const _t of r){ge+=_t.score,_t.score>Te&&(Te=_t.score);const Yn=new Date(_t.date);(!fe||Yn>new Date(fe.date))&&(fe=_t)}const $e=pe?Math.round(ge/pe):0,rt=fe?new Date(fe.date):null;return{total:pe,average:$e,top:Te,latestTimestamp:rt,latestTitle:fe?.title??fe?.category??null}},[r]),R.useEffect(()=>{(async()=>{if(!m0){b(!0),y(!1);return}try{const{data:Te,error:fe}=await oe.from("init_state").select("is_initialized").single();fe?(console.warn("[App] Init check error (might be fresh DB):",fe),fe.code==="42P01"&&k(!1)):k(Te.is_initialized>0);const{data:{session:$e}}=await oe.auth.getSession();p($e?.user??null)}catch(Te){console.error("[App] Status check failed:",Te)}finally{y(!1)}})();const{data:{subscription:ge}}=oe.auth.onAuthStateChange((Te,fe)=>{p(fe?.user??null)});return()=>ge.unsubscribe()},[]),R.useEffect(()=>{document.documentElement.setAttribute("data-theme",K),localStorage.setItem("theme",K)},[K]);const[T,D]=R.useState({});R.useEffect(()=>{(async()=>{if(!f)return;const{data:ge}=await oe.from("alchemy_settings").select("sync_start_date, last_sync_checkpoint").eq("user_id",f.id).maybeSingle();ge&&D(ge)})()},[f,$]),R.useEffect(()=>{if(!f)return;(async()=>{const{data:Te}=await oe.from("alchemy_settings").select("sound_enabled").eq("user_id",f.id).maybeSingle();if(Te){const fe=Te.sound_enabled??!0;H(fe),Fo.setEnabled(fe)}})();const ge=oe.channel("processing_events").on("postgres_changes",{event:"INSERT",schema:"public",table:"processing_events",filter:`user_id=eq.${f.id}`},Te=>{const fe=Te.new;fe.agent_state==="Mining"&&!B&&(L(!0),X(!0),de&&Fo.syncStart()),fe.agent_state==="Signal"&&de&&Fo.signalFound(),fe.agent_state==="Completed"&&(L(!1),de&&(fe.metadata?.errors>0?Fo.error():Fo.syncComplete()),setTimeout(()=>{X(!1)},5e3),W())}).subscribe();return()=>{oe.removeChannel(ge)}},[f,B,de]),R.useEffect(()=>{const pe=new EventSource("/events");return pe.onmessage=ge=>{const Te=JSON.parse(ge.data);Te.type==="history"?n(fe=>[...Te.data,...fe].slice(0,100)):n(fe=>[Te,...fe].slice(0,100))},W(),()=>pe.close()},[f]),R.useEffect(()=>{le.current&&le.current.scrollIntoView({behavior:"smooth"})},[t]);const W=async()=>{try{if(f){const{data:ge,error:Te}=await oe.from("signals").select("*").order("created_at",{ascending:!1});if(!Te&&ge){s(ge.map(fe=>({id:fe.id,title:fe.title,score:fe.score,summary:fe.summary,date:fe.created_at,category:fe.category,entities:fe.entities})));return}}const pe=await Qe.get("/api/signals");s(pe.data)}catch(pe){console.error("Failed to fetch signals",pe)}},O=async()=>{u(!0);try{await Qe.post("/api/mine"),W()}catch(pe){console.error("Mining failed:",pe)}finally{u(!1)}},ve=(pe,ge)=>{pe==="logs"?(J(ge),a("logs")):a(pe)};return g?h.jsx("div",{className:"flex items-center justify-center h-screen bg-bg",children:h.jsx("div",{className:"w-12 h-12 border-4 border-primary/20 border-t-primary rounded-full animate-spin"})}):v?h.jsx(Uw,{onComplete:()=>b(!1)}):f?h.jsx(gL,{children:h.jsx(_L,{children:h.jsxs("div",{className:"flex h-screen w-screen overflow-hidden bg-bg text-fg",children:[h.jsxs(Fe.aside,{animate:{width:j?72:240},className:"glass m-4 mr-0 flex flex-col relative",children:[h.jsxs("div",{className:`px-4 py-3 pb-4 flex items-center gap-3 ${j?"justify-center":""}`,children:[h.jsx("div",{className:"w-10 h-10 min-w-[40px] bg-gradient-to-br from-primary to-accent rounded-xl flex items-center justify-center shadow-lg glow-primary",children:h.jsx(nn,{className:"text-white fill-current",size:24})}),!j&&h.jsx(Fe.h1,{initial:{opacity:0},animate:{opacity:1},className:"text-xl font-bold tracking-tight",children:"Alchemist"})]}),h.jsxs("nav",{className:"flex-1 flex flex-col gap-1 px-3",children:[h.jsx(xi,{active:o==="discovery",onClick:()=>a("discovery"),icon:h.jsx(Cj,{size:20}),label:e("tabs.discovery"),collapsed:j}),h.jsx(xi,{active:o==="chat",onClick:()=>a("chat"),icon:h.jsx($h,{size:20}),label:e("tabs.chat"),collapsed:j}),h.jsx(xi,{active:o==="transmute",onClick:()=>a("transmute"),icon:h.jsx(nn,{size:20}),label:e("tabs.transmute"),collapsed:j}),h.jsx(xi,{active:o==="engine",onClick:()=>a("engine"),icon:h.jsx(oc,{size:20}),label:e("common.settings"),collapsed:j}),h.jsx(xi,{active:o==="logs",onClick:()=>a("logs"),icon:h.jsx(ac,{size:20}),label:e("tabs.logs"),collapsed:j}),h.jsx(xi,{active:o==="account",onClick:()=>a("account"),icon:h.jsx(Ac,{size:20}),label:e("common.account"),collapsed:j})]}),h.jsx("div",{className:"px-3 pb-2 border-t border-white/5 pt-4 mt-2 relative z-[100]",children:h.jsx("div",{className:j?"flex justify-center":"px-1",children:h.jsx(Ap,{collapsed:j,position:"top"})})}),h.jsx("div",{className:"px-3 pb-2",children:h.jsxs("button",{onClick:()=>te(K==="dark"?"light":"dark"),className:`w-full flex items-center ${j?"justify-center":"gap-3"} px-4 py-2.5 rounded-lg text-fg/40 hover:text-fg hover:bg-surface/50 transition-all text-xs font-medium`,title:j?e(K==="dark"?"shell.switch_light":"shell.switch_dark"):"",children:[h.jsx("div",{className:"min-w-[20px] flex justify-center",children:K==="dark"?h.jsx($j,{size:18}):h.jsx(Pj,{size:18})}),!j&&h.jsx(Fe.span,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},className:"whitespace-nowrap",children:e(K==="dark"?"common.light_mode":"common.dark_mode")})]})}),h.jsxs("div",{className:"px-3 pb-3",children:[h.jsx("button",{onClick:()=>C(!j),className:`w-full flex items-center px-4 py-2.5 rounded-lg text-fg/40 hover:text-fg hover:bg-surface/50 transition-all text-xs font-medium ${j?"justify-center":"gap-3"}`,children:j?h.jsx(yj,{size:20}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"min-w-[20px] flex justify-center",children:h.jsx(gj,{size:20})}),h.jsx("span",{children:e("common.collapse")})]})}),h.jsxs("button",{onClick:()=>P(!0),className:"w-full flex items-center justify-center gap-2 px-3 py-2 mt-2 text-[10px] font-mono text-fg/30 hover:text-primary hover:bg-surface/30 rounded-lg transition-all group",title:e("shell.view_changelog"),children:[!j&&h.jsxs(h.Fragment,{children:[h.jsx(Bh,{size:12,className:"group-hover:text-primary transition-colors"}),h.jsxs("span",{children:["v","1.0.63"]})]}),j&&h.jsx(Bh,{size:14,className:"group-hover:text-primary transition-colors"})]})]})]}),h.jsxs("main",{className:"flex-1 flex flex-col p-4 gap-4 overflow-hidden relative",children:[o==="discovery"&&h.jsxs(h.Fragment,{children:[h.jsxs("header",{className:"flex justify-between items-center px-4 py-2",children:[h.jsxs("div",{children:[h.jsx("h2",{className:"text-2xl font-bold",children:e("tabs.discovery")}),h.jsx("p",{className:"text-sm text-fg/50",children:e("setup.welcome_desc")})]}),h.jsxs("div",{className:"flex gap-2",children:[h.jsxs("button",{onClick:()=>G(!0),className:"px-6 py-3 glass hover:bg-surface transition-colors flex items-center gap-2 text-sm font-medium",children:[h.jsx(oc,{size:16}),h.jsxs("div",{className:"flex flex-col items-start",children:[h.jsx("span",{children:e("discovery.sync_settings")}),h.jsx("span",{className:"text-[10px] text-fg/40 font-mono",children:T.sync_start_date?`${e("discovery.from")}: ${new Date(T.sync_start_date).toLocaleString([],{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}`:T.last_sync_checkpoint?`${e("discovery.checkpoint")}: ${new Date(T.last_sync_checkpoint).toLocaleString([],{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}`:e("discovery.all_time")})]})]}),h.jsxs("button",{onClick:O,disabled:B,className:"px-6 py-3 bg-gradient-to-r from-primary to-accent text-white font-bold rounded-xl shadow-lg glow-primary hover:scale-105 active:scale-95 transition-all flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100",children:[h.jsx(Nc,{size:18,className:B?"animate-spin":""}),e(B?"discovery.syncing":"discovery.sync_history")]})]})]}),h.jsx(qL,{onOpenUrl:pe=>window.open(pe,"_blank","noopener,noreferrer"),onCopyText:pe=>{navigator.clipboard.writeText(pe)}})]}),o==="chat"&&h.jsx(xz,{}),o==="transmute"&&h.jsx(wz,{}),o==="engine"&&h.jsx(vL,{}),o==="account"&&h.jsx(EL,{}),o==="logs"&&h.jsx(DL,{initialState:ne}),h.jsx(wL,{isExpanded:Y,onToggle:()=>X(!Y),onNavigate:ve,liftUp:o==="chat"})]}),h.jsx(AL,{signal:N,onClose:()=>A(null)}),h.jsx(RL,{isOpen:$,onClose:()=>G(!1)}),h.jsx(vz,{isOpen:S,onClose:()=>P(!1)})]})})}):h.jsx(hL,{onAuthSuccess:()=>W(),isInitialized:w})}function xi({active:e,icon:t,label:n,onClick:r,collapsed:s}){return h.jsx("button",{onClick:r,title:s?n:"",className:`w-full flex items-center ${s?"justify-center":"gap-3"} px-4 py-3 rounded-xl transition-all ${e?"bg-primary/10 text-primary shadow-sm":"text-fg/60 hover:bg-surface hover:text-fg"}`,children:s?ta.cloneElement(t,{className:e?"text-primary":""}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"min-w-[20px] flex justify-center",children:ta.cloneElement(t,{className:e?"text-primary":""})}),h.jsx(Fe.span,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},className:"font-semibold text-sm whitespace-nowrap",children:n})]})})}function jz(){Qe.interceptors.request.use(async e=>{try{const{data:{session:t}}=await oe.auth.getSession();t?.access_token&&(e.headers.Authorization=`Bearer ${t.access_token}`);const n=Ps();n&&(e.headers["x-supabase-url"]=n.url,e.headers["x-supabase-key"]=n.anonKey)}catch(t){console.error("[Axios] Error injecting headers:",t)}return e})}const{slice:Ez,forEach:Cz}=[];function Tz(e){return Cz.call(Ez.call(arguments,1),t=>{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Nz(e){return typeof e!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(n=>n.test(e))}const o_=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Az=function(e,t){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},s=encodeURIComponent(t);let o=`${e}=${s}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");o+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!o_.test(r.domain))throw new TypeError("option domain is invalid");o+=`; Domain=${r.domain}`}if(r.path){if(!o_.test(r.path))throw new TypeError("option path is invalid");o+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");o+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(o+="; HttpOnly"),r.secure&&(o+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(o+="; Partitioned"),o},a_={create(e,t,n,r){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(s.expires=new Date,s.expires.setTime(s.expires.getTime()+n*60*1e3)),r&&(s.domain=r),document.cookie=Az(e,t,s)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r<n.length;r++){let s=n[r];for(;s.charAt(0)===" ";)s=s.substring(1,s.length);if(s.indexOf(t)===0)return s.substring(t.length,s.length)}return null},remove(e,t){this.create(e,"",-1,t)}};var Rz={name:"cookie",lookup(e){let{lookupCookie:t}=e;if(t&&typeof document<"u")return a_.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:n,cookieMinutes:r,cookieDomain:s,cookieOptions:o}=t;n&&typeof document<"u"&&a_.create(n,e,r,s,o)}},Pz={name:"querystring",lookup(e){let{lookupQuerystring:t}=e,n;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const o=r.substring(1).split("&");for(let a=0;a<o.length;a++){const c=o[a].indexOf("=");c>0&&o[a].substring(0,c)===t&&(n=o[a].substring(c+1))}}return n}},Oz={name:"hash",lookup(e){let{lookupHash:t,lookupFromHashIndex:n}=e,r;if(typeof window<"u"){const{hash:s}=window.location;if(s&&s.length>2){const o=s.substring(1);if(t){const a=o.split("&");for(let c=0;c<a.length;c++){const u=a[c].indexOf("=");u>0&&a[c].substring(0,u)===t&&(r=a[c].substring(u+1))}}if(r)return r;if(!r&&n>-1){const a=s.match(/\/([a-zA-Z-]*)/g);return Array.isArray(a)?a[typeof n=="number"?n:0]?.replace("/",""):void 0}}}return r}};let vi=null;const l_=()=>{if(vi!==null)return vi;try{if(vi=typeof window<"u"&&window.localStorage!==null,!vi)return!1;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{vi=!1}return vi};var Lz={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&l_())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&l_()&&window.localStorage.setItem(n,e)}};let _i=null;const c_=()=>{if(_i!==null)return _i;try{if(_i=typeof window<"u"&&window.sessionStorage!==null,!_i)return!1;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{_i=!1}return _i};var Iz={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&c_())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&c_()&&window.sessionStorage.setItem(n,e)}},Dz={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:s}=navigator;if(n)for(let o=0;o<n.length;o++)t.push(n[o]);r&&t.push(r),s&&t.push(s)}return t.length>0?t:void 0}},Mz={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},zz={name:"path",lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?n[typeof t=="number"?t:0]?.replace("/",""):void 0}},Fz={name:"subdomain",lookup(e){let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};let Qk=!1;try{document.cookie,Qk=!0}catch{}const Zk=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];Qk||Zk.splice(1,1);const $z=()=>({order:Zk,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e});class e1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t,this.options=Tz(n,this.options||{},$z()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=s=>s.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(Rz),this.addDetector(Pz),this.addDetector(Lz),this.addDetector(Iz),this.addDetector(Dz),this.addDetector(Mz),this.addDetector(zz),this.addDetector(Fz),this.addDetector(Oz)}addDetector(t){return this.detectors[t.name]=t,this}detect(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,n=[];return t.forEach(r=>{if(this.detectors[r]){let s=this.detectors[r].lookup(this.options);s&&typeof s=="string"&&(s=[s]),s&&(n=n.concat(s))}}),n=n.filter(r=>r!=null&&!Nz(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}e1.type="languageDetector";const Uz={save:"Save",cancel:"Cancel",loading:"Loading...",error:"Error",success:"Success",settings:"Settings",search:"Search",back:"Back",all:"All",delete:"Delete",update:"Update",edit:"Edit",close:"Close",complete:"Complete",skip:"Skip",begin:"Begin",connection:"Connection",setup:"Setup",project:"Project",account:"Account",logout:"Logout",welcome:"Welcome",dark_mode:"Dark Mode",light_mode:"Light Mode",collapse:"Collapse",just_now:"Just now",enabled:"Enabled",disabled:"Disabled",quick:"Quick (5)",balanced:"Balanced (50)",thorough:"Thorough (200)",resetting:"Resetting...",saving:"Saving...",locale_code:"en-US",categories:{ai_ml:"AI & ML",business:"Business",politics:"Politics",technology:"Technology",finance:"Finance",crypto:"Crypto",science:"Science",other:"Other"}},Bz={discovery:"Discovery",chat:"Chat",transmute:"Transmute",logs:"System Logs",history:"History"},Vz={welcome_title:"Assemble Your Engine",welcome_desc:"Alchemy requires a Supabase essence to store signal fragments and intelligence patterns.",requirements:"Requirements:",project_url:"Supabase Project URL",anon_key:"Anon Public API Key",db_password:"Database Password",project_url_placeholder:"https://xxx.supabase.co or project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"BEGIN INITIALIZATION",connect_essence:"CONNECT ESSENCE",credentials_title:"Essence Coordinates",credentials_desc:"Link the alchemist engine to your cloud database",validating:"Validating Link",resonance:"Synchronizing Resonance...",init_schema:"Initialize Schema",schema_desc:"Run database migrations to set up required tables and functions.",project_id:"Project ID",access_token:"Access Token",run_migrations:"RUN MIGRATIONS",running_migrations:"Running Migrations",take_minute:"This may take a minute...",engine_aligned:"Engine Aligned",restarting:"Restarting Alchemist Subsystems...",forge_project:"Forge Project at Supabase",project_id_help:"Found in Supabase Dashboard → Project Settings → General",access_token_help:"Generate at",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"Project ID is required",access_token_required:"Access token is required",migration_failed_logs:"Migration failed. Check logs for details.",stream_error:"Failed to read migration stream",back:"BACK",retry:"RETRY"},qz={title_init:"INITIALIZE MASTER",title_join:"JOIN THE CIRCLE",title_mystic:"MYSTIC ACCESS",title_login:"ALCHEMIST LOGIN",desc_init:"Forge the prime alchemist account",desc_mystic_email:"Enter your essence email",desc_mystic_code:"Transmute the sacred code",desc_login:"Transmute your data into intelligence",first_name:"First Name",last_name:"Last Name",first_name_placeholder:"Zosimos",last_name_placeholder:"Panopolis",email_address:"Email Address",email_placeholder:"alchemist@example.com",complexity_key:"Complexity Key",password_placeholder:"••••••••",init_account:"INITIALIZE ACCOUNT",send_code:"SEND CODE",unseal_engine:"UNSEAL ENGINE",verify_code:"VERIFY CODE",change_email:"Change email address",sign_in_code:"Sign in with Code",sign_in_password:"Sign in with Password",already_alchemist:"Already an Alchemist?",new_to_alchemy:"New to Alchemy?",login_instead:"Login instead",create_account:"Create an account",session_failed:"Failed to create session",invalid_code:"Invalid code"},Hz={filters:"Filters",category:"Category",intelligence_score:"Intelligence Score",no_signals_in_category:"No signals in {{category}} yet.",no_categories:"No categories yet.",discovery_hint:"Signals will be organized here once discovered.",loading_signals:"Loading signals...",dismiss_hint:"Dismiss (Not Interested)",signal_count_one:"{{count}} signal",signal_count_other:"{{count}} signals",time_min_ago:"{{count}}m ago",time_hour_ago:"{{count}}h ago",time_day_ago:"{{count}}d ago",add_note_title:"Add Note",target:"Target",note_placeholder:"Enter your thoughts, ideas, or action items regarding this signal...",save_note:"Save Note",view_all_sources:"View all sources",source_count_one:"{{count}} source",source_count_other:"{{count}} sources",source_found_in:"Found in {{count}} different sources",high_confidence:"High confidence - found in {{count}} sources",new_signals:"New Signals",smart_summary:"Smart Summary",entities:"Entities",sources:"Sources",last_sync:"Last Sync",syncnow:"Sync Now",all_time:"All time",checkpoint:"Checkpoint",from:"From",score_high:"HIGH",score_medium:"MEDIUM",score_low:"LOW",sources_count:"{{count}} sources",open_source:"Open",add_note:"Note",boost_topic:"Boost Topic",boosted:"Boosted",dismissed:"Dismissed",remove_favourite:"Remove from favourites",add_favourite:"Add to favourites",sync_history:"Sync History",syncing:"Syncing...",sync_settings:"Sync Settings",discovered:"Discovered",original_source:"Original Source",ai_summary:"AI Summary",full_content:"Full Content",copied:"Copied!",open_link:"Open",detail_title:"Signal Details",sync_from:"Sync From (Optional)",urls_per_sync:"URLs per Sync",sync_from_hint:"Leave empty to sync only new URLs since last sync (incremental). Set a date to process URLs from that point forward.",reset_checkpoint:"Reset Checkpoint",reset_checkpoint_hint:'Clear the sync checkpoint to force a full re-sync from your "Sync From" date',sync_info:'The Alchemist tracks your progress automatically. Use "Sync From" to backfill history or "Reset Checkpoint" to start fresh.',save_settings:"Save Settings",sync_saved:"Sync settings saved successfully",checkpoint_reset:"Checkpoint reset successfully",login_to_save:"Please log in to save settings",login_to_reset:"Please log in to reset checkpoint",status_updated:"Engine status updated to {{status}}",asset_ready:'Asset "{{title}}" is ready!',scanning:"Scanning for new categories and topics...",discovery_complete:"Engine discovery complete!",discovery_failed:"Discovery failed. Check settings.",load_failed:"Failed to load engines",starting_run:"Starting engine run...",run_complete:"Engine run complete! Created: {{title}}",run_started_desktop:"Engine run started on Desktop. Tracking as: {{id}}",run_failed:"Failed to run engine",brief_failed:"Failed to generate production brief",copied_json:"JSON copied to clipboard",json_footer:"This JSON contains the full context (Signals + User Persona) required for the Desktop Studio.",topic:"Topic",pipeline:"Pipeline"},Kz={history:"History",ask_anything:"Ask anything about your browsing history...",sources:"Sources",processing:"Processing your query...",new_chat:"New Chat",no_messages:"No messages yet. Start a conversation!",no_history:"No chat history yet.",title:"Ask Alchemist",desc:"I can help you recall information, summarize topics, and find insights from your browsing history.",thinking:"Exploring memory...",placeholder:"Ask about your history...",error_message:"Sorry, I encountered an error processing your request.",relevant_context:"Relevant Context",match_score:"{{score}}% Match",rag_attribution:"Alchemist used these {{count}} signals to answer",suggestions:{react:"What have I read about React recently?",ai:"Summarize the latest AI news I visited.",finance:"Do I have any notes on Finance?",performance:"Find articles about 'Performance'"}},Wz={engines:"Alchemist Engines",assets:"Generated Assets",newsletter:"Newsletter",thread:"Thread",audio:"Audio",report:"Report",title:"Transmute Engine",desc:"Active Generation Pipelines & Assets",generate:"Generate",processing_desktop:"Processing on Desktop...",ensure_defaults:"Ensure Default Engines",create_engine:"Create Engine",no_assets:"No assets generated yet.",generate_engines:"Generate Engines",new_engine:"New Engine",no_engines:"No Engines Configured",no_engines_desc:"Create your first pipeline to automatically turn signals into newsletters, threads, or audio briefs.",run_engine:"Run Engine",running:"Running...",last_run:"Last Run",never:"Never",schedule:"Schedule",manual:"Manual",topic:"Topic",pipeline:"Pipeline",pause:"Pause",resume:"Resume",view_json:"View Production Brief JSON",json_contract:"Stateless & Self-Contained Contract",json_desc:"This JSON contains the full context (Signals + User Persona) required for the Desktop Studio.",generating_asset:"Generating Asset...",queued_desktop:"Queued for Desktop...",desktop_processing:"The RealTimeX Desktop app is processing this request. This modal will update automatically once finished.",unsupported_type:"Unsupported asset type",edit_engine:"Edit Engine",engine_name:"Engine Name",type:"Type",status:"Status",execution_env:"Execution Environment",local_llm:"Local (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Delegates heavy tasks like Audio/Video to the desktop app.",env_desc_local:"Runs simple Markdown tasks directly in Alchemy.",min_score:"Min Score",max_signals:"Max Signals",category_filter:"Category Filter (multi-select)",multi_select_hint:"Hold Cmd/Ctrl to select multiple categories",schedule_hint:"Note: Scheduling is not yet automated",prompt_override:"Custom Prompt Override (optional)",prompt_placeholder:"Override the default prompt for this engine type...",delete_confirm:"Really delete?",confirm:"Confirm"},Gz={title:"Account Configuration",desc:"Manage your Alchemist profile and essence links.",profile:"Profile",security:"Security",supabase:"Supabase",first_name:"First Name",last_name:"Last Name",email_locked:"Email Address (Locked)",sound_effects:"Sound Effects",sound_desc:"Enable audio feedback for sync events and signal discoveries.",sign_out:"Sign Out",logout_desc:"End your current session and return to the login screen.",preserve_profile:"Preserve Profile",security_title:"Update Entropy Key",new_password:"New Password",confirm_password:"Confirm Password",password_mismatch:"Complexity keys do not match.",password_too_short:"Entropy too low. Minimum 8 characters.",password_rotate_success:"Key rotation successful.",rotate_key:"Rotate Key",essence_resonance:"Essence Resonance",byok_desc:"Bring Your Own Keys (BYOK) for intelligence persistence.",established_link:"Established Link",env_notice:"Active from environment variables. UI override enabled.",realign_link:"Realign Link",sever_link:"Sever Link",sever_confirm:"Sever connection to this essence? This will reset local resonance.",anon_secret_fragment:"Anon Secret Fragment",no_resonance:"No Essence Resonance",no_resonance_desc:"The Alchemist requires a cloud core to store intelligence fragments.",initiate_link:"Initiate Link",test_connection:"Test Connection"},Jz={title:"System Logs",desc:"Detailed history of sync runs, sources, and URL processing",blacklist_suggestion:"Potential Blacklist",blacklist_desc:"Candidates for blocking",recent_errors:"Recent Errors",errors_desc:"Failed URL processes",total_signals:"Total Signals",signals_desc:"Successfully mined",blacklist_modal_title:"Blacklist Suggestions",blacklist_modal_desc:"Review domains suggested for blacklisting based on low scores.",no_suggestions:"No suggestions right now",quality_good:"Your signal quality looks good!",signals_count:"{{count}} signals",avg_score:"Avg Score: {{score}}",low_quality:"Consistently Low Quality",repetitive:"Repetitive Pattern",blacklist_domain:"Blacklist Domain",errors_modal_title:"Recent Errors",errors_modal_desc:"Log of recent failures and issues.",no_recent_errors:"No recent errors found.",signals_modal_title:"Found Signals",signals_modal_desc:"Browse and manage your mined signals history.",search_placeholder:"Search signals...",any_score:"Any Score",high_score:"High (80%+)",medium_score:"Medium (50-79%)",low_score:"Low (<50%)",all_categories:"All Categories",page_x:"Page {{page}}"},Xz={title:"Alchemist Engine",live:"LIVE",clear:"Clear",idle:"Idle. Awaiting signal mining events...",run_completed:"Mining Run Completed",signals:"Signals",urls:"URLs",skipped:"Skipped",failed_to_process:"{{count}} URLs failed to process",view_logs:"View Logs",hide_details:"Hide Details",view_details:"View Details",engine_log:"Live Engine Log",state_reading:"Reading",state_thinking:"Thinking",state_signal:"Signal",state_skipped:"Skipped",state_error:"Error",state_completed:"Completed",msg_reading:"Reading content from: {{url}}",msg_thinking:"Analyzing relevance of: {{title}}",msg_found_signal:"Found signal: {{summary}} ({{score}}%)",msg_low_signal:"Low signal stored for review ({{score}}%): {{title}}",msg_failed:"Analysis failed for {{title}}: {{error}}",msg_sync_completed:"Sync completed: {{signals}} signals found, {{skipped}} skipped, {{errors}} errors"},Yz={switch_light:"Switch to Light Mode",switch_dark:"Switch to Dark Mode",view_changelog:"View Changelog",release_notes:"Release Notes",changelog_error:"Failed to load changelog."},Qz={title:"Signal Pulse",mining:"Mining",standing_by:"Standing by",idle:"Idle",tracked:"Signals tracked",avg_score:"Average score",top_signal:"Top signal",latest:"Latest",awaiting:"Awaiting mining",no_signals:"No signals yet"},Zz={title:"Intelligence Engine",subtitle:"Fine-tune the Alchemist's cognitive parameters and provider links.",configuration:"AI Configuration",test_connection:"Test Connection",save_config:"Save Configuration",llm_provider:"LLM Provider",embedding_provider:"Embedding Provider",sdk_connected:"SDK Connected",sdk_not_available:"SDK Not Available",provider:"Provider",intelligence_model:"Intelligence Model",embedding_model:"Embedding Model",loading_providers:"Loading providers...",sdk_info_success:"✓ Using RealTimeX configured provider",sdk_info_fail:"⚠️ RealTimeX SDK not detected. Configure in RealTimeX Desktop.",embedding_info_success:"✓ Embeddings are generated using your RealTimeX configured provider",embedding_info_fail:"⚠️ RealTimeX SDK not detected. Configure providers in RealTimeX Desktop.",persona_title:"Persona Memory",save_memory:"Save Memory",interests_title:"Active Interests",interests_priority:"High Priority",interests_desc:"The Alchemist prioritizes content matching these topics. Updated automatically based on Favorites & Boosts.",interests_placeholder:"e.g. User focuses on React performance, Rust backend systems, and AI Agent architecture...",antipatterns_title:"Anti-Patterns",antipatterns_priority:"Avoid",antipatterns_desc:"The Alchemist filters out or scores down content matching these patterns. Updated via Dismissals.",antipatterns_placeholder:"e.g. Dislikes marketing fluff, generic listicles, and crypto hype...",browser_sources:"Browser History Sources",save_browser:"Save Browser Sources",blacklist_title:"Blacklist Domains",blacklist_desc:"URLs containing these patterns will be skipped during mining. Enter one pattern per line.",blacklist_label:"Domain Patterns (one per line)",blacklist_placeholder:`google.com/search
134
+ ${n("shell.changelog_error")}`)}finally{a(!1)}};return h.jsx(Pt,{children:e&&h.jsxs(h.Fragment,{children:[h.jsx(Fe.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:t,className:"fixed inset-0 bg-black/60 backdrop-blur-sm z-50"}),h.jsx(Fe.div,{initial:{opacity:0,scale:.95,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.95,y:20},transition:{type:"spring",damping:25,stiffness:300},className:"fixed inset-0 z-50 flex items-center justify-center p-4 pointer-events-none",children:h.jsxs("div",{className:"glass w-full max-w-3xl max-h-[80vh] overflow-hidden pointer-events-auto shadow-2xl",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx(d_,{size:24,className:"text-primary"}),h.jsx("h2",{className:"text-xl font-bold",children:n("shell.release_notes")})]}),h.jsx("button",{onClick:t,className:"p-2 hover:bg-surface rounded-lg transition-colors",children:h.jsx(Cn,{size:20,className:"text-fg/60"})})]}),h.jsx("div",{className:"p-6 overflow-y-auto custom-scrollbar max-h-[calc(80vh-88px)]",children:o?h.jsx("div",{className:"flex items-center justify-center py-12",children:h.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-2 border-primary border-t-transparent"})}):h.jsx(Gp,{components:{h1:({children:u})=>h.jsx("h1",{className:"text-2xl font-bold text-fg mb-6 mt-0",children:u}),h2:({children:u})=>h.jsx("h2",{className:"text-xl font-bold text-fg mt-8 mb-3 pb-2 border-b border-border first:mt-0",children:u}),h3:({children:u})=>h.jsx("h3",{className:"text-lg font-bold text-primary mt-6 mb-2",children:u}),p:({children:u})=>h.jsx("p",{className:"text-sm text-fg/70 mb-3 leading-relaxed",children:u}),ul:({children:u})=>h.jsx("ul",{className:"list-none space-y-1 mb-4 ml-0",children:u}),li:({children:u})=>h.jsx("li",{className:"text-sm text-fg/80 ml-4 mb-1 before:content-['•'] before:mr-2 before:text-primary",children:u}),a:({href:u,children:f})=>h.jsx("a",{href:u,target:"_blank",rel:"noopener noreferrer",className:"text-primary hover:text-primary/80 underline transition-colors",children:f}),code:({children:u})=>h.jsx("code",{className:"bg-surface/50 text-accent px-1.5 py-0.5 rounded text-xs font-mono border border-border",children:u}),strong:({children:u})=>h.jsx("strong",{className:"font-bold text-fg",children:u})},children:r})})]})})]})})}function _z({asset:e,onClose:t}){const{t:n}=Ze(),r=()=>{e.content&&navigator.clipboard.writeText(e.content)},s=()=>{if(!e.content)return;const o=new Blob([e.content],{type:"text/markdown"}),a=URL.createObjectURL(o),c=document.createElement("a");c.href=a,c.download=`${e.title.replace(/[^a-z0-9]/gi,"_").toLowerCase()}.md`,document.body.appendChild(c),c.click(),document.body.removeChild(c),URL.revokeObjectURL(a)};return h.jsx(Pt,{children:e&&h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60 backdrop-blur-md",children:h.jsxs(Fe.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"bg-bg rounded-3xl shadow-2xl w-full max-w-4xl max-h-[85vh] flex flex-col overflow-hidden border border-border",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border bg-surface/50",children:[h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("div",{className:"p-3 rounded-2xl bg-primary/10 text-primary shadow-inner",children:e.type==="audio"?h.jsx(Uh,{className:"w-6 h-6"}):h.jsx(Li,{className:"w-6 h-6"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-black italic tracking-tighter uppercase text-xl text-fg",children:e.title}),h.jsxs("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest mt-0.5",children:[new Date(e.created_at).toLocaleString([],{dateStyle:"medium",timeStyle:"short"})," • ",n("discovery.sources_count",{count:e.metadata?.source_signal_count||0})]})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:r,className:"p-2.5 text-fg/40 hover:text-primary hover:bg-primary/10 rounded-xl transition-all",title:"Copy Content",children:h.jsx(Df,{className:"w-5 h-5"})}),h.jsx("button",{onClick:s,className:"p-2.5 text-fg/40 hover:text-primary hover:bg-primary/10 rounded-xl transition-all",title:"Download File",children:h.jsx(Fh,{className:"w-5 h-5"})}),h.jsx("div",{className:"w-px h-8 bg-border mx-2"}),h.jsx("button",{onClick:t,className:"p-2.5 text-fg/40 hover:text-error hover:bg-error/10 rounded-xl transition-all",children:h.jsx(Cn,{className:"w-6 h-6"})})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-8 bg-bg custom-scrollbar",children:e.status&&e.status!=="completed"?h.jsxs("div",{className:"flex flex-col items-center justify-center h-80 gap-6",children:[h.jsxs("div",{className:"relative",children:[h.jsx("div",{className:"absolute inset-0 bg-primary/20 rounded-full blur-xl animate-pulse"}),h.jsx(Rt,{className:"w-16 h-16 animate-spin text-primary relative z-10"})]}),h.jsxs("div",{className:"text-center space-y-2",children:[h.jsx("h4",{className:"text-xl font-black italic tracking-tighter uppercase text-fg",children:e.status==="processing"?n("transmute.generating_asset"):n("transmute.queued_desktop")}),h.jsx("p",{className:"text-xs text-fg/40 font-mono uppercase tracking-widest max-w-xs mx-auto",children:n("transmute.desktop_processing")})]})]}):e.type==="markdown"?h.jsx("div",{className:"prose prose-invert prose-headings:font-black prose-headings:italic prose-headings:tracking-tighter prose-headings:uppercase prose-p:text-fg/80 prose-li:text-fg/80 prose-strong:text-primary max-w-none",children:h.jsx(Gp,{children:e.content||""})}):e.type==="audio"?h.jsxs("div",{className:"flex flex-col items-center justify-center h-80 gap-8",children:[h.jsx("div",{className:"w-24 h-24 rounded-3xl bg-primary/10 flex items-center justify-center animate-pulse shadow-xl border border-primary/20",children:h.jsx(Uh,{className:"w-10 h-10 text-primary"})}),h.jsxs("div",{className:"text-center",children:[h.jsx("p",{className:"text-xs text-fg/40 font-mono uppercase tracking-widest mb-6",children:n("transmute.unsupported_type")}),h.jsxs("audio",{controls:!0,className:"w-80 h-12 rounded-xl bg-surface border border-border",children:[h.jsx("source",{src:e.content||"",type:"audio/mpeg"}),"Your browser does not support the audio element."]})]})]}):h.jsx("div",{className:"text-fg/20 text-center py-20 font-mono italic",children:"Unsupported asset type"})})]})})})}function i_({engine:e,onClose:t,onSave:n,onDelete:r}){const{t:s}=Ze(),{showToast:o}=Wc(),[a,c]=R.useState({title:"",type:"newsletter",status:"active",config:{schedule:"",min_score:70,categories:[],custom_prompt:"",max_signals:10,execution_mode:"local"}}),[u,f]=R.useState(!1);R.useEffect(()=>{e&&c({title:e.title,type:e.type,status:e.status,config:{schedule:e.config.schedule||"",min_score:e.config.filters?.min_score||70,categories:Array.isArray(e.config.category)?e.config.category:e.config.category?[e.config.category]:[],custom_prompt:e.config.custom_prompt||"",max_signals:e.config.max_signals||10,execution_mode:e.config.execution_mode||"local"}})},[e]);const p=async()=>{try{const v={title:a.title,type:a.type,status:a.status,config:{schedule:a.config.schedule,filters:{min_score:a.config.min_score,category:a.config.category},custom_prompt:a.config.custom_prompt,max_signals:a.config.max_signals,execution_mode:a.config.execution_mode}};if(e){const{data:b,error:w}=await oe.from("engines").update(v).eq("id",e.id).select().single();if(w)throw w;n(b),o("Engine updated successfully","success")}else{const{data:{user:b}}=await oe.auth.getUser();if(!b)throw new Error("Not authenticated");const{data:w,error:k}=await oe.from("engines").insert({...v,user_id:b.id}).select().single();if(k)throw k;n(w),o("Engine created successfully","success")}t()}catch(v){console.error("Save error:",v),o(v.message||"Failed to save engine","error")}},g=async()=>{if(!(!e||!r))try{const{error:v}=await oe.from("engines").delete().eq("id",e.id);if(v)throw v;r(e.id),o("Engine deleted","success"),t()}catch(v){o(v.message||"Failed to delete engine","error")}},y=()=>{f(!1),t()};return!e&&!t?null:h.jsx(Pt,{children:h.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/50 backdrop-blur-sm",children:h.jsxs(Fe.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"bg-bg rounded-3xl shadow-2xl w-full max-w-2xl max-h-[85vh] flex flex-col overflow-hidden border border-border",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border bg-surface/50",children:[h.jsxs("div",{children:[h.jsx("h3",{className:"text-xl font-black italic tracking-tighter uppercase text-fg",children:s(e?"transmute.edit_engine":"transmute.create_engine")}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-[0.2em]",children:s("transmute.configure_pipeline")})]}),h.jsx("button",{onClick:y,className:"p-2 text-fg/40 hover:text-error hover:bg-error/10 rounded-xl transition-all",children:h.jsx(Cn,{className:"w-6 h-6"})})]}),h.jsxs("div",{className:"flex-1 overflow-y-auto p-8 space-y-8 custom-scrollbar",children:[h.jsxs("div",{className:"space-y-6",children:[h.jsx(vr,{label:s("transmute.engine_name"),children:h.jsx("input",{type:"text",value:a.title,onChange:v=>c({...a,title:v.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg placeholder:text-fg/20 focus:border-primary/50 outline-none transition-all text-sm",placeholder:"e.g., Daily Tech Brief"})}),h.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[h.jsx(vr,{label:s("transmute.type"),children:h.jsxs("select",{value:a.type,onChange:v=>c({...a,type:v.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm appearance-none cursor-pointer",children:[h.jsx("option",{value:"newsletter",children:s("transmute.newsletter")}),h.jsx("option",{value:"thread",children:s("transmute.thread")}),h.jsx("option",{value:"audio",children:"Audio Brief"}),h.jsx("option",{value:"report",children:"Report"})]})}),h.jsx(vr,{label:s("transmute.status"),children:h.jsxs("select",{value:a.status,onChange:v=>c({...a,status:v.target.value}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm appearance-none cursor-pointer",children:[h.jsx("option",{value:"active",children:s("common.status_active")}),h.jsx("option",{value:"paused",children:s("common.status_paused")}),h.jsx("option",{value:"draft",children:"Draft"})]})})]}),h.jsxs(vr,{label:s("transmute.execution_env"),children:[h.jsxs("select",{value:a.config.execution_mode,onChange:v=>c({...a,config:{...a.config,execution_mode:v.target.value}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm appearance-none cursor-pointer",children:[h.jsx("option",{value:"local",children:s("transmute.local_llm")}),h.jsx("option",{value:"desktop",children:s("transmute.desktop_swarm")})]}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono uppercase mt-2 leading-relaxed",children:a.config.execution_mode==="desktop"?s("transmute.env_desc_desktop"):s("transmute.env_desc_local")})]})]}),h.jsxs("div",{className:"space-y-6 pt-6 border-t border-border/10",children:[h.jsx("h4",{className:"text-xs font-bold uppercase tracking-[0.2em] text-primary/60",children:"Signal Filters"}),h.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[h.jsx(vr,{label:s("transmute.min_score"),children:h.jsx("input",{type:"number",min:"0",max:"100",value:a.config.min_score,onChange:v=>c({...a,config:{...a.config,min_score:parseInt(v.target.value)||0}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm"})}),h.jsx(vr,{label:s("transmute.max_signals"),children:h.jsx("input",{type:"number",min:"1",max:"50",value:a.config.max_signals,onChange:v=>c({...a,config:{...a.config,max_signals:parseInt(v.target.value)||10}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm"})})]}),h.jsxs(vr,{label:s("transmute.category_filter"),children:[h.jsxs("select",{multiple:!0,value:a.config.categories,onChange:v=>{const b=Array.from(v.target.selectedOptions,w=>w.value);c({...a,config:{...a.config,categories:b}})},className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg focus:border-primary/50 outline-none transition-all text-sm min-h-[120px] custom-scrollbar",children:[h.jsx("option",{value:"AI & ML",children:"AI & ML"}),h.jsx("option",{value:"Technology",children:"Technology"}),h.jsx("option",{value:"Business",children:"Business"}),h.jsx("option",{value:"Finance",children:"Finance"}),h.jsx("option",{value:"Science",children:"Science"}),h.jsx("option",{value:"Politics",children:"Politics"})]}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono mt-2",children:s("transmute.multi_select_hint")})]})]}),h.jsx("div",{className:"pt-6 border-t border-border/10",children:h.jsxs(vr,{label:`${s("transmute.schedule")} (${s("common.optional")})`,children:[h.jsx("input",{type:"text",value:a.config.schedule,onChange:v=>c({...a,config:{...a.config,schedule:v.target.value}}),className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg placeholder:text-fg/20 focus:border-primary/50 outline-none transition-all text-sm",placeholder:"e.g., Daily @ 9am, Manual"}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono mt-2",children:s("transmute.schedule_hint")})]})}),h.jsx("div",{className:"pt-6 border-t border-border/10",children:h.jsx(vr,{label:s("transmute.prompt_override"),children:h.jsx("textarea",{value:a.config.custom_prompt,onChange:v=>c({...a,config:{...a.config,custom_prompt:v.target.value}}),rows:5,className:"w-full px-4 py-3 rounded-xl border border-border bg-surface text-fg placeholder:text-fg/20 focus:border-primary/50 outline-none transition-all text-sm resize-none custom-scrollbar",placeholder:s("transmute.prompt_placeholder")})})})]}),h.jsxs("div",{className:"flex items-center justify-between p-6 border-t border-border bg-surface/50",children:[e&&r?u?h.jsxs("div",{className:"flex items-center gap-4 bg-error/5 border border-error/20 px-4 py-2 rounded-2xl animate-in fade-in slide-in-from-left-2 transition-all",children:[h.jsx("span",{className:"text-xs text-error font-bold uppercase tracking-widest",children:s("transmute.delete_confirm")}),h.jsxs("div",{className:"flex gap-2",children:[h.jsx("button",{onClick:g,className:"px-4 py-2 bg-error text-white text-[10px] font-bold uppercase tracking-widest rounded-xl hover:bg-error/80 transition-all shadow-lg shadow-error/20",children:s("transmute.confirm")}),h.jsx("button",{onClick:()=>f(!1),className:"px-4 py-2 bg-surface border border-border text-fg/40 text-[10px] font-bold uppercase tracking-widest rounded-xl hover:bg-bg transition-all",children:s("common.cancel")})]})]}):h.jsxs("button",{onClick:()=>f(!0),className:"flex items-center gap-2 px-6 py-3 text-error/60 hover:text-error hover:bg-error/10 rounded-2xl transition-all font-bold text-xs uppercase tracking-widest",children:[h.jsx(Ff,{className:"w-5 h-5"}),s("common.delete")]}):h.jsx("div",{}),h.jsxs("div",{className:"flex gap-4",children:[h.jsx("button",{onClick:y,className:"px-6 py-3 text-fg/40 font-bold text-xs uppercase tracking-widest hover:text-fg hover:bg-surface rounded-2xl transition-all",children:s("common.cancel")}),h.jsxs("button",{onClick:p,className:"flex items-center gap-2 px-8 py-3 bg-gradient-to-r from-primary to-accent text-white rounded-2xl font-bold text-xs uppercase tracking-widest hover:scale-105 active:scale-95 transition-all shadow-lg glow-primary",children:[h.jsx(br,{className:"w-5 h-5"}),s("common.save")]})]})]})]})})})}function vr({label:e,children:t}){return h.jsxs("div",{className:"space-y-2",children:[h.jsx("label",{className:"text-[10px] font-bold uppercase tracking-[0.2em] text-fg/30 ml-1",children:e}),t]})}const bz=({engine:e,onRun:t,onEdit:n,onToggle:r,onViewBrief:s,isLoading:o})=>{const{t:a}=Ze(),c=!!e.config.tag,u={newsletter:c?h.jsx(Mf,{className:"w-5 h-5 text-blue-500"}):h.jsx(Li,{className:"w-5 h-5 text-emerald-500"}),thread:h.jsx(nn,{className:"w-5 h-5 text-blue-500"}),audio:h.jsx(Uh,{className:"w-5 h-5 text-purple-500"}),report:h.jsx(oc,{className:"w-5 h-5 text-orange-500"})};return h.jsxs(Fe.div,{layout:!0,initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},className:`p-5 rounded-2xl border transition-all hover:shadow-lg group ${e.status==="active"?"bg-surface border-border shadow-sm":"bg-surface/30 border-dashed border-border opacity-70"}`,children:[h.jsxs("div",{className:"flex justify-between items-start mb-4",children:[h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsx("div",{className:"p-2 rounded-xl bg-bg border border-border/10",children:u[e.type]||h.jsx(Li,{className:"w-5 h-5"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-bold text-fg tracking-tight",children:e.title}),h.jsxs("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest",children:[c?a("transmute.topic"):a(`transmute.${e.type}`,e.type)," ",a("transmute.pipeline")]})]})]}),h.jsxs("div",{className:"flex gap-1",children:[h.jsx("button",{onClick:()=>r(e.id,e.status),className:"p-1.5 rounded-lg hover:bg-bg text-fg/40 hover:text-fg transition-colors",children:e.status==="active"?h.jsx(Oj,{className:"w-4 h-4"}):h.jsx(Gy,{className:"w-4 h-4"})}),h.jsx("button",{onClick:()=>s(e.id),title:a("transmute.view_json"),className:"p-1.5 rounded-lg hover:bg-bg text-fg/40 hover:text-fg transition-colors",children:h.jsx(p_,{className:"w-4 h-4"})}),h.jsx("button",{onClick:()=>n(e.id),className:"p-1.5 rounded-lg hover:bg-bg text-fg/40 hover:text-fg transition-colors",children:h.jsx(oc,{className:"w-4 h-4"})})]})]}),h.jsxs("div",{className:"space-y-2 mb-4",children:[h.jsxs("div",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest flex justify-between",children:[h.jsx("span",{children:a("transmute.last_run")}),h.jsx("span",{className:"text-fg/60",children:e.last_run_at?new Date(e.last_run_at).toLocaleDateString(a("common.locale_code")):a("transmute.never")})]}),h.jsxs("div",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest flex justify-between",children:[h.jsx("span",{children:a("transmute.schedule")}),h.jsx("span",{className:"text-fg/60",children:e.config.schedule||a("transmute.manual")})]})]}),h.jsxs("button",{onClick:()=>t(e.id),disabled:o||e.status!=="active",className:"w-full flex items-center justify-center gap-2 py-2.5 rounded-xl bg-gradient-to-r from-primary to-primary/80 text-white font-bold shadow-lg glow-primary hover:scale-[1.02] active:scale-95 disabled:opacity-50 disabled:hover:scale-100 transition-all text-sm uppercase tracking-widest",children:[o?h.jsx(Rt,{className:"w-4 h-4 animate-spin"}):h.jsx(Gy,{className:"w-4 h-4"}),a(o?"transmute.running":"transmute.run_engine")]})]})};function wz(){const{t:e}=Ze(),[t,n]=R.useState([]),[r,s]=R.useState(!0),[o,a]=R.useState(new Set),[c,u]=R.useState(null),[f,p]=R.useState(null),[g,y]=R.useState(!1),[v,b]=R.useState(null),[w,k]=R.useState(!1),[j,C]=R.useState(!1),{showToast:S}=Wc();R.useEffect(()=>{(async()=>N())();const K=oe.channel("asset-updates").on("postgres_changes",{event:"UPDATE",schema:"public",table:"assets"},te=>{const ne=te.new;u(J=>J?.id===ne.id?ne:J),ne.status==="completed"&&te.old.status!=="completed"&&S(e("transmute.asset_ready",{title:ne.title}),"success")}).subscribe();return()=>{oe.removeChannel(K)}},[]);const P=async()=>{if(!j)try{C(!0),S(e("transmute.scanning"),"info");const{data:{session:H}}=await oe.auth.getSession(),K=Ps(),te={"Content-Type":"application/json","x-user-id":H?.user?.id||""};if(H?.access_token&&(te.Authorization=`Bearer ${H.access_token}`),K&&(te["x-supabase-url"]=K.url,te["x-supabase-key"]=K.anonKey),!(await fetch("/api/engines/ensure-defaults",{method:"POST",headers:te})).ok)throw new Error("Failed to generate engines");S(e("transmute.discovery_complete"),"success"),await N()}catch(H){console.error("Failed to generate engines:",H),S(e("transmute.discovery_failed"),"error")}finally{C(!1)}},N=async()=>{try{s(!0);const{data:{user:H}}=await oe.auth.getUser();if(!H)return;const{data:K,error:te}=await oe.from("engines").select("*").eq("user_id",H.id).order("created_at",{ascending:!1});if(te)throw te;n(K)}catch(H){console.error("Error fetching engines:",H),S(e("transmute.load_failed"),"error")}finally{s(!1)}},A=async H=>{if(!o.has(H))try{a(D=>new Set(D).add(H)),S(e("transmute.starting_run"),"info");const{data:{session:K}}=await oe.auth.getSession(),te=K?.access_token,ne=Ps(),J={"Content-Type":"application/json","x-user-id":K?.user?.id||""};te&&(J.Authorization=`Bearer ${te}`),ne&&(J["x-supabase-url"]=ne.url,J["x-supabase-key"]=ne.anonKey);const le=await fetch(`/api/engines/${H}/run`,{method:"POST",headers:J});if(!le.ok){const D=await le.json();throw new Error(D.error||"Run failed")}const T=await le.json();T.status==="completed"?S(e("transmute.run_complete",{title:T.title}),"success"):S(e("transmute.run_started_desktop",{id:T.id}),"info"),u(T),n(D=>D.map(W=>W.id===H?{...W,last_run_at:new Date().toISOString()}:W))}catch(K){console.error("Engine run error:",K),S(K.message||e("transmute.run_failed"),"error")}finally{a(K=>{const te=new Set(K);return te.delete(H),te})}},$=async H=>{try{y(!0);const{data:{session:K}}=await oe.auth.getSession(),te=Ps(),ne={"Content-Type":"application/json","x-user-id":K?.user?.id||""};K?.access_token&&(ne.Authorization=`Bearer ${K.access_token}`),te&&(ne["x-supabase-url"]=te.url,ne["x-supabase-key"]=te.anonKey);const J=await fetch(`/api/engines/${H}/brief`,{headers:ne});if(!J.ok)throw new Error("Failed to fetch brief");const le=await J.json();p(le)}catch{S(e("transmute.brief_failed"),"error")}finally{y(!1)}},G=async(H,K)=>{const te=K==="active"?"paused":"active";n(ne=>ne.map(J=>J.id===H?{...J,status:te}:J));try{const{error:ne}=await oe.from("engines").update({status:te}).eq("id",H);if(ne)throw ne;S(e("transmute.status_updated",{status:te}),"success")}catch{n(J=>J.map(le=>le.id===H?{...le,status:K}:le)),S(e("common.error"),"error")}},B=()=>{k(!0)},L=H=>{const K=t.find(te=>te.id===H);K&&b(K)},Y=H=>{n(K=>K.find(ne=>ne.id===H.id)?K.map(ne=>ne.id===H.id?H:ne):[H,...K])},X=H=>{n(K=>K.filter(te=>te.id!==H))},de=()=>{b(null),k(!1)};return h.jsxs("div",{className:"h-full flex flex-col bg-bg",children:[h.jsx("div",{className:"flex-none p-6 border-b border-border bg-bg/50 backdrop-blur-sm z-10 sticky top-0",children:h.jsxs("div",{className:"flex justify-between items-center max-w-7xl mx-auto w-full",children:[h.jsxs("div",{children:[h.jsx("h2",{className:"text-2xl font-black italic tracking-tighter bg-clip-text text-transparent bg-gradient-to-r from-primary to-accent",children:e("transmute.title")}),h.jsx("p",{className:"text-xs text-fg/40 font-mono uppercase tracking-widest mt-1",children:e("transmute.desc")})]}),h.jsxs("div",{className:"flex items-center gap-3",children:[h.jsxs("button",{onClick:P,disabled:j,className:"flex items-center gap-2 px-4 py-2.5 bg-primary/10 text-primary border border-primary/20 rounded-xl font-bold text-xs uppercase tracking-widest hover:bg-primary/20 transition-all disabled:opacity-50",children:[j?h.jsx(Rt,{className:"w-4 h-4 animate-spin"}):h.jsx(nn,{className:"w-4 h-4"}),e("transmute.generate_engines")]}),h.jsxs("button",{onClick:B,className:"flex items-center gap-2 px-4 py-2.5 bg-gradient-to-r from-primary to-accent text-white rounded-xl font-bold text-xs uppercase tracking-widest hover:scale-105 transition-all shadow-lg glow-primary",children:[h.jsx(zf,{className:"w-4 h-4"}),e("transmute.new_engine")]})]})]})}),h.jsx("div",{className:"flex-1 overflow-y-auto p-6",children:h.jsx("div",{className:"max-w-7xl mx-auto w-full",children:r?h.jsx("div",{className:"flex items-center justify-center h-64",children:h.jsx(Rt,{className:"w-8 h-8 animate-spin text-purple-500"})}):t.length===0?h.jsxs("div",{className:"flex flex-col items-center justify-center h-96 text-center",children:[h.jsx("div",{className:"w-16 h-16 rounded-3xl bg-surface border border-border flex items-center justify-center mb-6 shadow-xl",children:h.jsx(nn,{className:"w-8 h-8 text-fg/20"})}),h.jsx("h3",{className:"text-xl font-black italic tracking-tighter uppercase text-fg",children:e("transmute.no_engines")}),h.jsx("p",{className:"text-xs text-fg/40 font-mono tracking-widest uppercase max-w-sm mt-2 mb-8",children:e("transmute.no_engines_desc")}),h.jsx("button",{onClick:B,className:"px-8 py-3 rounded-xl border border-border bg-surface hover:bg-bg text-xs font-bold uppercase tracking-widest transition-all shadow-sm",children:e("transmute.create_engine")})]}):h.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6",children:h.jsx(Pt,{children:t.map(H=>h.jsx(bz,{engine:H,onRun:A,onEdit:L,onToggle:G,onViewBrief:$,isLoading:o.has(H.id)},H.id))})})})}),h.jsx(Pt,{children:f&&h.jsx("div",{className:"fixed inset-0 z-[60] flex items-center justify-center p-4 bg-black/60 backdrop-blur-md",children:h.jsxs(Fe.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.95},className:"bg-bg rounded-3xl shadow-2xl w-full max-w-4xl max-h-[85vh] flex flex-col overflow-hidden border border-border",children:[h.jsxs("div",{className:"flex items-center justify-between p-6 border-b border-border bg-surface/50",children:[h.jsxs("div",{className:"flex items-center gap-4",children:[h.jsx("div",{className:"p-3 rounded-2xl bg-primary/10 text-primary",children:h.jsx(p_,{className:"w-6 h-6"})}),h.jsxs("div",{children:[h.jsx("h3",{className:"font-black italic tracking-tighter uppercase text-lg text-fg",children:e("transmute.view_json")}),h.jsx("p",{className:"text-[10px] text-fg/40 font-mono uppercase tracking-widest",children:e("transmute.json_contract")})]})]}),h.jsxs("div",{className:"flex items-center gap-2",children:[h.jsx("button",{onClick:()=>{navigator.clipboard.writeText(JSON.stringify(f,null,2)),S(e("transmute.copied_json"),"info")},className:"p-2 text-fg/40 hover:text-primary hover:bg-primary/10 rounded-xl transition-all",children:h.jsx(Df,{className:"w-4 h-4"})}),h.jsx("button",{onClick:()=>p(null),className:"p-2 text-fg/40 hover:text-error hover:bg-error/10 rounded-xl transition-all",children:h.jsx(Cn,{className:"w-5 h-5"})})]})]}),h.jsx("div",{className:"flex-1 overflow-y-auto p-6 bg-surface/30 font-mono text-sm custom-scrollbar",children:h.jsx("pre",{className:"text-primary leading-relaxed",children:JSON.stringify(f,null,2)})}),h.jsx("div",{className:"p-4 border-t border-border bg-surface/50 text-[9px] text-fg/30 font-mono uppercase tracking-[0.2em] text-center",children:e("transmute.json_footer")})]})})}),g&&h.jsx("div",{className:"fixed inset-0 z-[70] flex items-center justify-center bg-black/20 backdrop-blur-sm",children:h.jsx(Rt,{className:"w-10 h-10 animate-spin text-white"})}),h.jsx(_z,{asset:c,onClose:()=>u(null)}),v&&h.jsx(i_,{engine:v,onClose:de,onSave:Y,onDelete:X}),w&&h.jsx(i_,{engine:null,onClose:de,onSave:Y})]})}class kz{audioContext=null;enabled=!0;constructor(){}getAudioContext(){return this.audioContext||(this.audioContext=new(window.AudioContext||window.webkitAudioContext)),this.audioContext}setEnabled(t){this.enabled=t}isEnabled(){return this.enabled}playTone(t,n,r=.3){if(this.enabled)try{const s=this.getAudioContext(),o=s.createOscillator(),a=s.createGain();o.connect(a),a.connect(s.destination),o.frequency.value=t,o.type="sine",a.gain.setValueAtTime(r,s.currentTime),a.gain.exponentialRampToValueAtTime(.01,s.currentTime+n),o.start(s.currentTime),o.stop(s.currentTime+n)}catch(s){console.warn("[Sound] Failed to play tone:",s)}}playSequence(t,n=.3){if(!this.enabled)return;let r=0;t.forEach(s=>{setTimeout(()=>{this.playTone(s.freq,s.duration,n)},r),r+=s.delay})}syncStart(){this.playSequence([{freq:261.63,duration:.15,delay:0},{freq:329.63,duration:.15,delay:100},{freq:392,duration:.2,delay:100}],.2)}signalFound(){this.playSequence([{freq:392,duration:.1,delay:0},{freq:523.25,duration:.15,delay:80}],.25)}syncComplete(){this.playSequence([{freq:261.63,duration:.12,delay:0},{freq:329.63,duration:.12,delay:80},{freq:392,duration:.12,delay:80},{freq:523.25,duration:.2,delay:80}],.2)}error(){this.playSequence([{freq:329.63,duration:.15,delay:0},{freq:261.63,duration:.2,delay:100}],.3)}click(){this.playTone(440,.05,.15)}}const Fo=new kz;function Sz(){const{t:e}=Ze(),[t,n]=R.useState([]),[r,s]=R.useState([]),[o,a]=R.useState("discovery"),[c,u]=R.useState(!1),[f,p]=R.useState(null),[g,y]=R.useState(!0),[v,b]=R.useState(!m0),[w,k]=R.useState(!0),[j,C]=R.useState(!1),[S,P]=R.useState(!1),[N,A]=R.useState(null),[$,G]=R.useState(!1),[B,L]=R.useState(!1),[Y,X]=R.useState(!1),[de,H]=R.useState(!0),[K,te]=R.useState(()=>localStorage.getItem("theme")||"dark"),[ne,J]=R.useState(null),le=R.useRef(null);R.useMemo(()=>{const pe=r.length;let ge=0,Te=0,fe=null;for(const _t of r){ge+=_t.score,_t.score>Te&&(Te=_t.score);const Yn=new Date(_t.date);(!fe||Yn>new Date(fe.date))&&(fe=_t)}const $e=pe?Math.round(ge/pe):0,rt=fe?new Date(fe.date):null;return{total:pe,average:$e,top:Te,latestTimestamp:rt,latestTitle:fe?.title??fe?.category??null}},[r]),R.useEffect(()=>{(async()=>{if(!m0){b(!0),y(!1);return}try{const{data:Te,error:fe}=await oe.from("init_state").select("is_initialized").single();fe?(console.warn("[App] Init check error (might be fresh DB):",fe),fe.code==="42P01"&&k(!1)):k(Te.is_initialized>0);const{data:{session:$e}}=await oe.auth.getSession();p($e?.user??null)}catch(Te){console.error("[App] Status check failed:",Te)}finally{y(!1)}})();const{data:{subscription:ge}}=oe.auth.onAuthStateChange((Te,fe)=>{p(fe?.user??null)});return()=>ge.unsubscribe()},[]),R.useEffect(()=>{document.documentElement.setAttribute("data-theme",K),localStorage.setItem("theme",K)},[K]);const[T,D]=R.useState({});R.useEffect(()=>{(async()=>{if(!f)return;const{data:ge}=await oe.from("alchemy_settings").select("sync_start_date, last_sync_checkpoint").eq("user_id",f.id).maybeSingle();ge&&D(ge)})()},[f,$]),R.useEffect(()=>{if(!f)return;(async()=>{const{data:Te}=await oe.from("alchemy_settings").select("sound_enabled").eq("user_id",f.id).maybeSingle();if(Te){const fe=Te.sound_enabled??!0;H(fe),Fo.setEnabled(fe)}})();const ge=oe.channel("processing_events").on("postgres_changes",{event:"INSERT",schema:"public",table:"processing_events",filter:`user_id=eq.${f.id}`},Te=>{const fe=Te.new;fe.agent_state==="Mining"&&!B&&(L(!0),X(!0),de&&Fo.syncStart()),fe.agent_state==="Signal"&&de&&Fo.signalFound(),fe.agent_state==="Completed"&&(L(!1),de&&(fe.metadata?.errors>0?Fo.error():Fo.syncComplete()),setTimeout(()=>{X(!1)},5e3),W())}).subscribe();return()=>{oe.removeChannel(ge)}},[f,B,de]),R.useEffect(()=>{const pe=new EventSource("/events");return pe.onmessage=ge=>{const Te=JSON.parse(ge.data);Te.type==="history"?n(fe=>[...Te.data,...fe].slice(0,100)):n(fe=>[Te,...fe].slice(0,100))},W(),()=>pe.close()},[f]),R.useEffect(()=>{le.current&&le.current.scrollIntoView({behavior:"smooth"})},[t]);const W=async()=>{try{if(f){const{data:ge,error:Te}=await oe.from("signals").select("*").order("created_at",{ascending:!1});if(!Te&&ge){s(ge.map(fe=>({id:fe.id,title:fe.title,score:fe.score,summary:fe.summary,date:fe.created_at,category:fe.category,entities:fe.entities})));return}}const pe=await Qe.get("/api/signals");s(pe.data)}catch(pe){console.error("Failed to fetch signals",pe)}},O=async()=>{u(!0);try{await Qe.post("/api/mine"),W()}catch(pe){console.error("Mining failed:",pe)}finally{u(!1)}},ve=(pe,ge)=>{pe==="logs"?(J(ge),a("logs")):a(pe)};return g?h.jsx("div",{className:"flex items-center justify-center h-screen bg-bg",children:h.jsx("div",{className:"w-12 h-12 border-4 border-primary/20 border-t-primary rounded-full animate-spin"})}):v?h.jsx(Uw,{onComplete:()=>b(!1)}):f?h.jsx(gL,{children:h.jsx(_L,{children:h.jsxs("div",{className:"flex h-screen w-screen overflow-hidden bg-bg text-fg",children:[h.jsxs(Fe.aside,{animate:{width:j?72:240},className:"glass m-4 mr-0 flex flex-col relative",children:[h.jsxs("div",{className:`px-4 py-3 pb-4 flex items-center gap-3 ${j?"justify-center":""}`,children:[h.jsx("div",{className:"w-10 h-10 min-w-[40px] bg-gradient-to-br from-primary to-accent rounded-xl flex items-center justify-center shadow-lg glow-primary",children:h.jsx(nn,{className:"text-white fill-current",size:24})}),!j&&h.jsx(Fe.h1,{initial:{opacity:0},animate:{opacity:1},className:"text-xl font-bold tracking-tight",children:"Alchemist"})]}),h.jsxs("nav",{className:"flex-1 flex flex-col gap-1 px-3",children:[h.jsx(xi,{active:o==="discovery",onClick:()=>a("discovery"),icon:h.jsx(Cj,{size:20}),label:e("tabs.discovery"),collapsed:j}),h.jsx(xi,{active:o==="chat",onClick:()=>a("chat"),icon:h.jsx($h,{size:20}),label:e("tabs.chat"),collapsed:j}),h.jsx(xi,{active:o==="transmute",onClick:()=>a("transmute"),icon:h.jsx(nn,{size:20}),label:e("tabs.transmute"),collapsed:j}),h.jsx(xi,{active:o==="engine",onClick:()=>a("engine"),icon:h.jsx(oc,{size:20}),label:e("common.settings"),collapsed:j}),h.jsx(xi,{active:o==="logs",onClick:()=>a("logs"),icon:h.jsx(ac,{size:20}),label:e("tabs.logs"),collapsed:j}),h.jsx(xi,{active:o==="account",onClick:()=>a("account"),icon:h.jsx(Ac,{size:20}),label:e("common.account"),collapsed:j})]}),h.jsx("div",{className:"px-3 pb-2 border-t border-white/5 pt-4 mt-2 relative z-[100]",children:h.jsx("div",{className:j?"flex justify-center":"px-1",children:h.jsx(Ap,{collapsed:j,position:"top"})})}),h.jsx("div",{className:"px-3 pb-2",children:h.jsxs("button",{onClick:()=>te(K==="dark"?"light":"dark"),className:`w-full flex items-center ${j?"justify-center":"gap-3"} px-4 py-2.5 rounded-lg text-fg/40 hover:text-fg hover:bg-surface/50 transition-all text-xs font-medium`,title:j?e(K==="dark"?"shell.switch_light":"shell.switch_dark"):"",children:[h.jsx("div",{className:"min-w-[20px] flex justify-center",children:K==="dark"?h.jsx($j,{size:18}):h.jsx(Pj,{size:18})}),!j&&h.jsx(Fe.span,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},className:"whitespace-nowrap",children:e(K==="dark"?"common.light_mode":"common.dark_mode")})]})}),h.jsxs("div",{className:"px-3 pb-3",children:[h.jsx("button",{onClick:()=>C(!j),className:`w-full flex items-center px-4 py-2.5 rounded-lg text-fg/40 hover:text-fg hover:bg-surface/50 transition-all text-xs font-medium ${j?"justify-center":"gap-3"}`,children:j?h.jsx(yj,{size:20}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"min-w-[20px] flex justify-center",children:h.jsx(gj,{size:20})}),h.jsx("span",{children:e("common.collapse")})]})}),h.jsxs("button",{onClick:()=>P(!0),className:"w-full flex items-center justify-center gap-2 px-3 py-2 mt-2 text-[10px] font-mono text-fg/30 hover:text-primary hover:bg-surface/30 rounded-lg transition-all group",title:e("shell.view_changelog"),children:[!j&&h.jsxs(h.Fragment,{children:[h.jsx(Bh,{size:12,className:"group-hover:text-primary transition-colors"}),h.jsxs("span",{children:["v","1.0.65"]})]}),j&&h.jsx(Bh,{size:14,className:"group-hover:text-primary transition-colors"})]})]})]}),h.jsxs("main",{className:"flex-1 flex flex-col p-4 gap-4 overflow-hidden relative",children:[o==="discovery"&&h.jsxs(h.Fragment,{children:[h.jsxs("header",{className:"flex justify-between items-center px-4 py-2",children:[h.jsxs("div",{children:[h.jsx("h2",{className:"text-2xl font-bold",children:e("tabs.discovery")}),h.jsx("p",{className:"text-sm text-fg/50",children:e("setup.welcome_desc")})]}),h.jsxs("div",{className:"flex gap-2",children:[h.jsxs("button",{onClick:()=>G(!0),className:"px-6 py-3 glass hover:bg-surface transition-colors flex items-center gap-2 text-sm font-medium",children:[h.jsx(oc,{size:16}),h.jsxs("div",{className:"flex flex-col items-start",children:[h.jsx("span",{children:e("discovery.sync_settings")}),h.jsx("span",{className:"text-[10px] text-fg/40 font-mono",children:T.sync_start_date?`${e("discovery.from")}: ${new Date(T.sync_start_date).toLocaleString([],{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}`:T.last_sync_checkpoint?`${e("discovery.checkpoint")}: ${new Date(T.last_sync_checkpoint).toLocaleString([],{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}`:e("discovery.all_time")})]})]}),h.jsxs("button",{onClick:O,disabled:B,className:"px-6 py-3 bg-gradient-to-r from-primary to-accent text-white font-bold rounded-xl shadow-lg glow-primary hover:scale-105 active:scale-95 transition-all flex items-center gap-2 disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100",children:[h.jsx(Nc,{size:18,className:B?"animate-spin":""}),e(B?"discovery.syncing":"discovery.sync_history")]})]})]}),h.jsx(qL,{onOpenUrl:pe=>window.open(pe,"_blank","noopener,noreferrer"),onCopyText:pe=>{navigator.clipboard.writeText(pe)}})]}),o==="chat"&&h.jsx(xz,{}),o==="transmute"&&h.jsx(wz,{}),o==="engine"&&h.jsx(vL,{}),o==="account"&&h.jsx(EL,{}),o==="logs"&&h.jsx(DL,{initialState:ne}),h.jsx(wL,{isExpanded:Y,onToggle:()=>X(!Y),onNavigate:ve,liftUp:o==="chat"})]}),h.jsx(AL,{signal:N,onClose:()=>A(null)}),h.jsx(RL,{isOpen:$,onClose:()=>G(!1)}),h.jsx(vz,{isOpen:S,onClose:()=>P(!1)})]})})}):h.jsx(hL,{onAuthSuccess:()=>W(),isInitialized:w})}function xi({active:e,icon:t,label:n,onClick:r,collapsed:s}){return h.jsx("button",{onClick:r,title:s?n:"",className:`w-full flex items-center ${s?"justify-center":"gap-3"} px-4 py-3 rounded-xl transition-all ${e?"bg-primary/10 text-primary shadow-sm":"text-fg/60 hover:bg-surface hover:text-fg"}`,children:s?ta.cloneElement(t,{className:e?"text-primary":""}):h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"min-w-[20px] flex justify-center",children:ta.cloneElement(t,{className:e?"text-primary":""})}),h.jsx(Fe.span,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},className:"font-semibold text-sm whitespace-nowrap",children:n})]})})}function jz(){Qe.interceptors.request.use(async e=>{try{const{data:{session:t}}=await oe.auth.getSession();t?.access_token&&(e.headers.Authorization=`Bearer ${t.access_token}`);const n=Ps();n&&(e.headers["x-supabase-url"]=n.url,e.headers["x-supabase-key"]=n.anonKey)}catch(t){console.error("[Axios] Error injecting headers:",t)}return e})}const{slice:Ez,forEach:Cz}=[];function Tz(e){return Cz.call(Ez.call(arguments,1),t=>{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}function Nz(e){return typeof e!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(n=>n.test(e))}const o_=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Az=function(e,t){const r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},s=encodeURIComponent(t);let o=`${e}=${s}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");o+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!o_.test(r.domain))throw new TypeError("option domain is invalid");o+=`; Domain=${r.domain}`}if(r.path){if(!o_.test(r.path))throw new TypeError("option path is invalid");o+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");o+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(o+="; HttpOnly"),r.secure&&(o+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return r.partitioned&&(o+="; Partitioned"),o},a_={create(e,t,n,r){let s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(s.expires=new Date,s.expires.setTime(s.expires.getTime()+n*60*1e3)),r&&(s.domain=r),document.cookie=Az(e,t,s)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r<n.length;r++){let s=n[r];for(;s.charAt(0)===" ";)s=s.substring(1,s.length);if(s.indexOf(t)===0)return s.substring(t.length,s.length)}return null},remove(e,t){this.create(e,"",-1,t)}};var Rz={name:"cookie",lookup(e){let{lookupCookie:t}=e;if(t&&typeof document<"u")return a_.read(t)||void 0},cacheUserLanguage(e,t){let{lookupCookie:n,cookieMinutes:r,cookieDomain:s,cookieOptions:o}=t;n&&typeof document<"u"&&a_.create(n,e,r,s,o)}},Pz={name:"querystring",lookup(e){let{lookupQuerystring:t}=e,n;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const o=r.substring(1).split("&");for(let a=0;a<o.length;a++){const c=o[a].indexOf("=");c>0&&o[a].substring(0,c)===t&&(n=o[a].substring(c+1))}}return n}},Oz={name:"hash",lookup(e){let{lookupHash:t,lookupFromHashIndex:n}=e,r;if(typeof window<"u"){const{hash:s}=window.location;if(s&&s.length>2){const o=s.substring(1);if(t){const a=o.split("&");for(let c=0;c<a.length;c++){const u=a[c].indexOf("=");u>0&&a[c].substring(0,u)===t&&(r=a[c].substring(u+1))}}if(r)return r;if(!r&&n>-1){const a=s.match(/\/([a-zA-Z-]*)/g);return Array.isArray(a)?a[typeof n=="number"?n:0]?.replace("/",""):void 0}}}return r}};let vi=null;const l_=()=>{if(vi!==null)return vi;try{if(vi=typeof window<"u"&&window.localStorage!==null,!vi)return!1;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{vi=!1}return vi};var Lz={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&l_())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&l_()&&window.localStorage.setItem(n,e)}};let _i=null;const c_=()=>{if(_i!==null)return _i;try{if(_i=typeof window<"u"&&window.sessionStorage!==null,!_i)return!1;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{_i=!1}return _i};var Iz={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&c_())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&c_()&&window.sessionStorage.setItem(n,e)}},Dz={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:s}=navigator;if(n)for(let o=0;o<n.length;o++)t.push(n[o]);r&&t.push(r),s&&t.push(s)}return t.length>0?t:void 0}},Mz={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},zz={name:"path",lookup(e){let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?n[typeof t=="number"?t:0]?.replace("/",""):void 0}},Fz={name:"subdomain",lookup(e){let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(r)return r[n]}};let Qk=!1;try{document.cookie,Qk=!0}catch{}const Zk=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];Qk||Zk.splice(1,1);const $z=()=>({order:Zk,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e});class e1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t,this.options=Tz(n,this.options||{},$z()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=s=>s.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(Rz),this.addDetector(Pz),this.addDetector(Lz),this.addDetector(Iz),this.addDetector(Dz),this.addDetector(Mz),this.addDetector(zz),this.addDetector(Fz),this.addDetector(Oz)}addDetector(t){return this.detectors[t.name]=t,this}detect(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,n=[];return t.forEach(r=>{if(this.detectors[r]){let s=this.detectors[r].lookup(this.options);s&&typeof s=="string"&&(s=[s]),s&&(n=n.concat(s))}}),n=n.filter(r=>r!=null&&!Nz(r)).map(r=>this.options.convertDetectedLanguage(r)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}e1.type="languageDetector";const Uz={save:"Save",cancel:"Cancel",loading:"Loading...",error:"Error",success:"Success",settings:"Settings",search:"Search",back:"Back",all:"All",delete:"Delete",update:"Update",edit:"Edit",close:"Close",complete:"Complete",skip:"Skip",begin:"Begin",connection:"Connection",setup:"Setup",project:"Project",account:"Account",logout:"Logout",welcome:"Welcome",dark_mode:"Dark Mode",light_mode:"Light Mode",collapse:"Collapse",just_now:"Just now",enabled:"Enabled",disabled:"Disabled",quick:"Quick (5)",balanced:"Balanced (50)",thorough:"Thorough (200)",resetting:"Resetting...",saving:"Saving...",locale_code:"en-US",categories:{ai_ml:"AI & ML",business:"Business",politics:"Politics",technology:"Technology",finance:"Finance",crypto:"Crypto",science:"Science",other:"Other"}},Bz={discovery:"Discovery",chat:"Chat",transmute:"Transmute",logs:"System Logs",history:"History"},Vz={welcome_title:"Assemble Your Engine",welcome_desc:"Alchemy requires a Supabase essence to store signal fragments and intelligence patterns.",requirements:"Requirements:",project_url:"Supabase Project URL",anon_key:"Anon Public API Key",db_password:"Database Password",project_url_placeholder:"https://xxx.supabase.co or project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"BEGIN INITIALIZATION",connect_essence:"CONNECT ESSENCE",credentials_title:"Essence Coordinates",credentials_desc:"Link the alchemist engine to your cloud database",validating:"Validating Link",resonance:"Synchronizing Resonance...",init_schema:"Initialize Schema",schema_desc:"Run database migrations to set up required tables and functions.",project_id:"Project ID",access_token:"Access Token",run_migrations:"RUN MIGRATIONS",running_migrations:"Running Migrations",take_minute:"This may take a minute...",engine_aligned:"Engine Aligned",restarting:"Restarting Alchemist Subsystems...",forge_project:"Forge Project at Supabase",project_id_help:"Found in Supabase Dashboard → Project Settings → General",access_token_help:"Generate at",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"Project ID is required",access_token_required:"Access token is required",migration_failed_logs:"Migration failed. Check logs for details.",stream_error:"Failed to read migration stream",back:"BACK",retry:"RETRY"},qz={title_init:"INITIALIZE MASTER",title_join:"JOIN THE CIRCLE",title_mystic:"MYSTIC ACCESS",title_login:"ALCHEMIST LOGIN",desc_init:"Forge the prime alchemist account",desc_mystic_email:"Enter your essence email",desc_mystic_code:"Transmute the sacred code",desc_login:"Transmute your data into intelligence",first_name:"First Name",last_name:"Last Name",first_name_placeholder:"Zosimos",last_name_placeholder:"Panopolis",email_address:"Email Address",email_placeholder:"alchemist@example.com",complexity_key:"Complexity Key",password_placeholder:"••••••••",init_account:"INITIALIZE ACCOUNT",send_code:"SEND CODE",unseal_engine:"UNSEAL ENGINE",verify_code:"VERIFY CODE",change_email:"Change email address",sign_in_code:"Sign in with Code",sign_in_password:"Sign in with Password",already_alchemist:"Already an Alchemist?",new_to_alchemy:"New to Alchemy?",login_instead:"Login instead",create_account:"Create an account",session_failed:"Failed to create session",invalid_code:"Invalid code"},Hz={filters:"Filters",category:"Category",intelligence_score:"Intelligence Score",no_signals_in_category:"No signals in {{category}} yet.",no_categories:"No categories yet.",discovery_hint:"Signals will be organized here once discovered.",loading_signals:"Loading signals...",dismiss_hint:"Dismiss (Not Interested)",signal_count_one:"{{count}} signal",signal_count_other:"{{count}} signals",time_min_ago:"{{count}}m ago",time_hour_ago:"{{count}}h ago",time_day_ago:"{{count}}d ago",add_note_title:"Add Note",target:"Target",note_placeholder:"Enter your thoughts, ideas, or action items regarding this signal...",save_note:"Save Note",view_all_sources:"View all sources",source_count_one:"{{count}} source",source_count_other:"{{count}} sources",source_found_in:"Found in {{count}} different sources",high_confidence:"High confidence - found in {{count}} sources",new_signals:"New Signals",smart_summary:"Smart Summary",entities:"Entities",sources:"Sources",last_sync:"Last Sync",syncnow:"Sync Now",all_time:"All time",checkpoint:"Checkpoint",from:"From",score_high:"HIGH",score_medium:"MEDIUM",score_low:"LOW",sources_count:"{{count}} sources",open_source:"Open",add_note:"Note",boost_topic:"Boost Topic",boosted:"Boosted",dismissed:"Dismissed",remove_favourite:"Remove from favourites",add_favourite:"Add to favourites",sync_history:"Sync History",syncing:"Syncing...",sync_settings:"Sync Settings",discovered:"Discovered",original_source:"Original Source",ai_summary:"AI Summary",full_content:"Full Content",copied:"Copied!",open_link:"Open",detail_title:"Signal Details",sync_from:"Sync From (Optional)",urls_per_sync:"URLs per Sync",sync_from_hint:"Leave empty to sync only new URLs since last sync (incremental). Set a date to process URLs from that point forward.",reset_checkpoint:"Reset Checkpoint",reset_checkpoint_hint:'Clear the sync checkpoint to force a full re-sync from your "Sync From" date',sync_info:'The Alchemist tracks your progress automatically. Use "Sync From" to backfill history or "Reset Checkpoint" to start fresh.',save_settings:"Save Settings",sync_saved:"Sync settings saved successfully",checkpoint_reset:"Checkpoint reset successfully",login_to_save:"Please log in to save settings",login_to_reset:"Please log in to reset checkpoint",status_updated:"Engine status updated to {{status}}",asset_ready:'Asset "{{title}}" is ready!',scanning:"Scanning for new categories and topics...",discovery_complete:"Engine discovery complete!",discovery_failed:"Discovery failed. Check settings.",load_failed:"Failed to load engines",starting_run:"Starting engine run...",run_complete:"Engine run complete! Created: {{title}}",run_started_desktop:"Engine run started on Desktop. Tracking as: {{id}}",run_failed:"Failed to run engine",brief_failed:"Failed to generate production brief",topic:"Topic",pipeline:"Pipeline"},Kz={history:"History",ask_anything:"Ask anything about your browsing history...",sources:"Sources",processing:"Processing your query...",new_chat:"New Chat",no_messages:"No messages yet. Start a conversation!",no_history:"No chat history yet.",title:"Ask Alchemist",desc:"I can help you recall information, summarize topics, and find insights from your browsing history.",thinking:"Exploring memory...",placeholder:"Ask about your history...",error_message:"Sorry, I encountered an error processing your request.",relevant_context:"Relevant Context",match_score:"{{score}}% Match",rag_attribution:"Alchemist used these {{count}} signals to answer",suggestions:{react:"What have I read about React recently?",ai:"Summarize the latest AI news I visited.",finance:"Do I have any notes on Finance?",performance:"Find articles about 'Performance'"}},Wz={engines:"Alchemist Engines",assets:"Generated Assets",newsletter:"Newsletter",thread:"Thread",audio:"Audio",report:"Report",title:"Transmute Engine",desc:"Active Generation Pipelines & Assets",generate:"Generate",processing_desktop:"Processing on Desktop...",ensure_defaults:"Ensure Default Engines",create_engine:"Create Engine",no_assets:"No assets generated yet.",generate_engines:"Generate Engines",new_engine:"New Engine",no_engines:"No Engines Configured",no_engines_desc:"Create your first pipeline to automatically turn signals into newsletters, threads, or audio briefs.",run_engine:"Run Engine",running:"Running...",last_run:"Last Run",never:"Never",schedule:"Schedule",manual:"Manual",topic:"Topic",pipeline:"Pipeline",pause:"Pause",resume:"Resume",view_json:"View Production Brief JSON",json_contract:"Stateless & Self-Contained Contract",json_desc:"This JSON contains the full context (Signals + User Persona) required for the Desktop Studio.",generating_asset:"Generating Asset...",queued_desktop:"Queued for Desktop...",desktop_processing:"The RealTimeX Desktop app is processing this request. This modal will update automatically once finished.",unsupported_type:"Unsupported asset type",edit_engine:"Edit Engine",engine_name:"Engine Name",type:"Type",status:"Status",execution_env:"Execution Environment",local_llm:"Local (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Delegates heavy tasks like Audio/Video to the desktop app.",env_desc_local:"Runs simple Markdown tasks directly in Alchemy.",min_score:"Min Score",max_signals:"Max Signals",category_filter:"Category Filter (multi-select)",multi_select_hint:"Hold Cmd/Ctrl to select multiple categories",schedule_hint:"Note: Scheduling is not yet automated",prompt_override:"Custom Prompt Override (optional)",prompt_placeholder:"Override the default prompt for this engine type...",delete_confirm:"Really delete?",confirm:"Confirm",copied_json:"JSON copied to clipboard",json_footer:"This JSON contains the full context (Signals + User Persona) required for the Desktop Studio."},Gz={title:"Account Configuration",desc:"Manage your Alchemist profile and essence links.",profile:"Profile",security:"Security",supabase:"Supabase",first_name:"First Name",last_name:"Last Name",email_locked:"Email Address (Locked)",sound_effects:"Sound Effects",sound_desc:"Enable audio feedback for sync events and signal discoveries.",sign_out:"Sign Out",logout_desc:"End your current session and return to the login screen.",preserve_profile:"Preserve Profile",security_title:"Update Entropy Key",new_password:"New Password",confirm_password:"Confirm Password",password_mismatch:"Complexity keys do not match.",password_too_short:"Entropy too low. Minimum 8 characters.",password_rotate_success:"Key rotation successful.",rotate_key:"Rotate Key",essence_resonance:"Essence Resonance",byok_desc:"Bring Your Own Keys (BYOK) for intelligence persistence.",established_link:"Established Link",env_notice:"Active from environment variables. UI override enabled.",realign_link:"Realign Link",sever_link:"Sever Link",sever_confirm:"Sever connection to this essence? This will reset local resonance.",anon_secret_fragment:"Anon Secret Fragment",no_resonance:"No Essence Resonance",no_resonance_desc:"The Alchemist requires a cloud core to store intelligence fragments.",initiate_link:"Initiate Link",test_connection:"Test Connection"},Jz={title:"System Logs",desc:"Detailed history of sync runs, sources, and URL processing",blacklist_suggestion:"Potential Blacklist",blacklist_desc:"Candidates for blocking",recent_errors:"Recent Errors",errors_desc:"Failed URL processes",total_signals:"Total Signals",signals_desc:"Successfully mined",blacklist_modal_title:"Blacklist Suggestions",blacklist_modal_desc:"Review domains suggested for blacklisting based on low scores.",no_suggestions:"No suggestions right now",quality_good:"Your signal quality looks good!",signals_count:"{{count}} signals",avg_score:"Avg Score: {{score}}",low_quality:"Consistently Low Quality",repetitive:"Repetitive Pattern",blacklist_domain:"Blacklist Domain",errors_modal_title:"Recent Errors",errors_modal_desc:"Log of recent failures and issues.",no_recent_errors:"No recent errors found.",signals_modal_title:"Found Signals",signals_modal_desc:"Browse and manage your mined signals history.",search_placeholder:"Search signals...",any_score:"Any Score",high_score:"High (80%+)",medium_score:"Medium (50-79%)",low_score:"Low (<50%)",all_categories:"All Categories",page_x:"Page {{page}}"},Xz={title:"Alchemist Engine",live:"LIVE",clear:"Clear",idle:"Idle. Awaiting signal mining events...",run_completed:"Mining Run Completed",signals:"Signals",urls:"URLs",skipped:"Skipped",failed_to_process:"{{count}} URLs failed to process",view_logs:"View Logs",hide_details:"Hide Details",view_details:"View Details",engine_log:"Live Engine Log",state_reading:"Reading",state_thinking:"Thinking",state_signal:"Signal",state_skipped:"Skipped",state_error:"Error",state_completed:"Completed",msg_reading:"Reading content from: {{url}}",msg_thinking:"Analyzing relevance of: {{title}}",msg_found_signal:"Found signal: {{summary}} ({{score}}%)",msg_low_signal:"Low signal stored for review ({{score}}%): {{title}}",msg_failed:"Analysis failed for {{title}}: {{error}}",msg_sync_completed:"Sync completed: {{signals}} signals found, {{skipped}} skipped, {{errors}} errors"},Yz={switch_light:"Switch to Light Mode",switch_dark:"Switch to Dark Mode",view_changelog:"View Changelog",release_notes:"Release Notes",changelog_error:"Failed to load changelog."},Qz={title:"Signal Pulse",mining:"Mining",standing_by:"Standing by",idle:"Idle",tracked:"Signals tracked",avg_score:"Average score",top_signal:"Top signal",latest:"Latest",awaiting:"Awaiting mining",no_signals:"No signals yet"},Zz={title:"Intelligence Engine",subtitle:"Fine-tune the Alchemist's cognitive parameters and provider links.",configuration:"AI Configuration",test_connection:"Test Connection",save_config:"Save Configuration",llm_provider:"LLM Provider",embedding_provider:"Embedding Provider",sdk_connected:"SDK Connected",sdk_not_available:"SDK Not Available",provider:"Provider",intelligence_model:"Intelligence Model",embedding_model:"Embedding Model",loading_providers:"Loading providers...",sdk_info_success:"✓ Using RealTimeX configured provider",sdk_info_fail:"⚠️ RealTimeX SDK not detected. Configure in RealTimeX Desktop.",embedding_info_success:"✓ Embeddings are generated using your RealTimeX configured provider",embedding_info_fail:"⚠️ RealTimeX SDK not detected. Configure providers in RealTimeX Desktop.",persona_title:"Persona Memory",save_memory:"Save Memory",interests_title:"Active Interests",interests_priority:"High Priority",interests_desc:"The Alchemist prioritizes content matching these topics. Updated automatically based on Favorites & Boosts.",interests_placeholder:"e.g. User focuses on React performance, Rust backend systems, and AI Agent architecture...",antipatterns_title:"Anti-Patterns",antipatterns_priority:"Avoid",antipatterns_desc:"The Alchemist filters out or scores down content matching these patterns. Updated via Dismissals.",antipatterns_placeholder:"e.g. Dislikes marketing fluff, generic listicles, and crypto hype...",browser_sources:"Browser History Sources",save_browser:"Save Browser Sources",blacklist_title:"Blacklist Domains",blacklist_desc:"URLs containing these patterns will be skipped during mining. Enter one pattern per line.",blacklist_label:"Domain Patterns (one per line)",blacklist_placeholder:`google.com/search
135
135
  localhost:
136
136
  127.0.0.1
137
137
  facebook.com
138
138
  twitter.com
139
139
  instagram.com
140
- linkedin.com/feed`,blacklist_examples:"Examples: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"Save Blacklist",blocked_tags_title:"Blocked Tags",blocked_tags_desc:"Signals with these tags will be excluded from dynamic category generation and newsletters. Enter one tag per line.",blocked_tags_label:"Tags (separated by semicolon)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"You have full control. These tags will completely replace the system defaults.",save_blocked_tags:"Save Blocked Tags",save_error_login:"Please log in to save settings",save_error_persona:"Please log in to save persona",save_success_llm:"LLM settings saved successfully",save_success_browser:"Browser sources saved successfully",save_success_blacklist:"Blacklist updated successfully",save_success_tags:"Blocked tags updated successfully",save_success_persona:"Persona updated successfully",test_success:"Connection successful! {{model}}",test_fail:"Connection failed: {{message}}",auto_detect_title:"Auto-Detect Browsers",scan_system:"Scan System",scanning:"Scanning...",auto_detected:"Auto-detected",custom:"Custom",add_source:"Add Source",already_added:"Already Added",not_found:"Not found on this system",add_custom_path:"Add Custom Path",custom_path_placeholder:"/path/to/browser/History",add_custom_source:"Add Custom Source",validating:"Validating...",configured_sources:"Configured Sources ({{count}})",enabled:"Enabled",disabled:"Disabled",invalid_path:"Invalid path: {{error}}",validation_failed:"Failed to validate path"},eF={common:Uz,tabs:Bz,setup:Vz,auth:qz,discovery:Hz,chat:Kz,transmute:Wz,account:Gz,logs:Jz,terminal:Xz,shell:Yz,stats:Qz,engine:Zz},tF={save:"Enregistrer",cancel:"Annuler",loading:"Chargement...",error:"Erreur",success:"Succès",settings:"Paramètres",search:"Rechercher",back:"Retour",all:"Tout",delete:"Supprimer",update:"Mettre à jour",edit:"Modifier",close:"Fermer",complete:"Terminer",skip:"Passer",begin:"Commencer",connection:"Connexion",setup:"Configuration",project:"Projet",account:"Compte",logout:"Déconnexion",welcome:"Bienvenue",dark_mode:"Mode Sombre",light_mode:"Mode Clair",collapse:"Réduire",just_now:"À l'instant",enabled:"Activé",disabled:"Désactivé",quick:"Rapide (5)",balanced:"Équilibré (50)",thorough:"Complet (200)",resetting:"Réinitialisation...",saving:"Enregistrement...",locale_code:"fr-FR",categories:{ai_ml:"IA & ML",business:"Affaires",politics:"Politique",technology:"Technologie",finance:"Finance",crypto:"Crypto",science:"Science",other:"Autre"}},nF={discovery:"Découverte",chat:"Chat",transmute:"Transmuter",logs:"Journaux système",history:"Historique"},rF={welcome_title:"Assemblez votre moteur",welcome_desc:"Alchemy nécessite une essence Supabase pour stocker les fragments de signaux et les modèles d'intelligence.",requirements:"Prérequis :",project_url:"URL du projet Supabase",anon_key:"Clé API publique anonyme",db_password:"Mot de passe de la base de données",project_url_placeholder:"https://xxx.supabase.co ou project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"COMMENCER L'INITIALISATION",connect_essence:"CONNECTER L'ESSENCE",credentials_title:"Coordonnées de l'Essence",credentials_desc:"Reliez le moteur alchimique à votre base de données cloud",validating:"Validation du lien",resonance:"Synchronisation de la résonance...",init_schema:"Initialiser le schéma",schema_desc:"Exécutez les migrations de base de données pour configurer les tables et fonctions requises.",project_id:"ID du projet",access_token:"Jeton d'accès",run_migrations:"EXÉCUTER LES MIGRATIONS",running_migrations:"Exécution des migrations",take_minute:"Cela peut prendre une minute...",engine_aligned:"Moteur aligné",restarting:"Redémarrage des sous-systèmes Alchemist...",forge_project:"Forger un projet sur Supabase",project_id_help:"Trouvé dans le tableau de bord Supabase → Paramètres du projet → Général",access_token_help:"Générer sur",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"L'ID du projet est requis",access_token_required:"Le jeton d'accès est requis",migration_failed_logs:"Échec de la migration. Consultez les journaux pour plus de détails.",stream_error:"Échec de la lecture du flux de migration",back:"RETOUR",retry:"RÉESSAYER"},sF={title_init:"INITIALISER LE MAÎTRE",title_join:"REJOINDRE LE CERCLE",title_mystic:"ACCÈS MYSTIQUE",title_login:"CONNEXION ALCHIMISTE",desc_init:"Forger le compte principal d'alchimiste",desc_mystic_email:"Entrez votre e-mail d'essence",desc_mystic_code:"Transmuter le code sacré",desc_login:"Transmuter vos données en intelligence",first_name:"Prénom",last_name:"Nom",first_name_placeholder:"Zosime",last_name_placeholder:"Panopolis",email_address:"Adresse e-mail",email_placeholder:"alchimiste@exemple.com",complexity_key:"Clé de complexité",password_placeholder:"••••••••",init_account:"INITIALISER LE COMPTE",send_code:"ENVOYER LE CODE",unseal_engine:"DÉSCELLER LE MOTEUR",verify_code:"VÉRIFIER LE CODE",change_email:"Modifier l'adresse e-mail",sign_in_code:"Se connecter avec un code",sign_in_password:"Se connecter avec un mot de passe",already_alchemist:"Déjà alchimiste ?",new_to_alchemy:"Nouveau sur Alchemy ?",login_instead:"Se connecter plutôt",create_account:"Créer un compte",session_failed:"Échec de la création de la session",invalid_code:"Code invalide"},iF={filters:"Filtres",category:"Catégorie",intelligence_score:"Score d'intelligence",no_signals_in_category:"Pas encore de signaux dans {{category}}.",no_categories:"Aucune catégorie pour le moment.",discovery_hint:"Les signaux seront organisés ici une fois découverts.",loading_signals:"Chargement des signaux...",dismiss_hint:"Ignorer (Pas intéressé)",signal_count_one:"{{count}} signal",signal_count_other:"{{count}} signaux",time_min_ago:"Il y a {{count}}m",time_hour_ago:"Il y a {{count}}h",time_day_ago:"Il y a {{count}}j",add_note_title:"Ajouter une note",target:"Cible",note_placeholder:"Entrez vos pensées, idées ou points d'action concernant ce signal...",save_note:"Enregistrer la note",view_all_sources:"Voir toutes les sources",source_count_one:"{{count}} source",source_count_other:"{{count}} sources",source_found_in:"Trouvé dans {{count}} sources différentes",high_confidence:"Haute confiance - trouvé dans {{count}} sources",new_signals:"Nouveaux signaux",smart_summary:"Résumé intelligent",entities:"Entités",sources:"Sources",last_sync:"Dernière synchro",syncnow:"Synchro maintenant",all_time:"Tout le temps",checkpoint:"Point de contrôle",from:"De",score_high:"ÉLEVÉ",score_medium:"MOYEN",score_low:"FAIBLE",sources_count:"{{count}} sources",open_source:"Ouvrir",add_note:"Note",boost_topic:"Booster",boosted:"Boosté",dismissed:"Ignoré",remove_favourite:"Retirer des favoris",add_favourite:"Ajouter aux favoris",sync_history:"Sync Historique",syncing:"Synchronisation...",sync_settings:"Paramètres de Sync",discovered:"Découvert",original_source:"Source originale",ai_summary:"Résumé IA",full_content:"Contenu complet",copied:"Copié !",open_link:"Ouvrir",detail_title:"Détails du Signal",sync_from:"Synchroniser depuis (Optionnel)",urls_per_sync:"URLs par synchronisation",sync_from_hint:"Laissez vide pour synchroniser uniquement les nouveaux URLs depuis la dernière synchronisation. Définissez une date pour traiter les URLs à partir de ce moment.",reset_checkpoint:"Réinitialiser le point de contrôle",reset_checkpoint_hint:"Effacer le point de contrôle de synchronisation pour forcer une resynchronisation complète à partir de votre date de début.",sync_info:`L'Alchimiste suit automatiquement votre progression. Utilisez "Synchroniser depuis" pour remplir l'historique ou "Réinitialiser le point de contrôle" pour recommencer à zéro.`,save_settings:"Enregistrer les paramètres",sync_saved:"Paramètres de synchronisation enregistrés",checkpoint_reset:"Point de contrôle réinitialisé",login_to_save:"Veuillez vous connecter pour enregistrer les paramètres",login_to_reset:"Veuillez vous connecter pour réinitialiser le point de contrôle",status_updated:"Statut de l'engin mis à jour en {{status}}",asset_ready:`L'atout "{{title}}" est prêt !`,scanning:"Recherche de nouvelles catégories et sujets...",discovery_complete:"Découverte de l'engin terminée !",discovery_failed:"Échec de la découverte. Vérifiez les paramètres.",load_failed:"Échec du chargement des engins",starting_run:"Lancement de l'exécution de l'engin...",run_complete:"Exécution de l'engin terminée ! Créé : {{title}}",run_started_desktop:"Exécution de l'engin démarrée sur le bureau. Suivi sous : {{id}}",run_failed:"Échec de l'exécution de l'engin",brief_failed:"Échec de la génération du brief de production",copied_json:"JSON copié dans le presse-papiers",json_footer:"Ce JSON contient le contexte complet (Signaux + Persona Utilisateur) requis pour Desktop Studio.",topic:"Sujet",pipeline:"Pipeline"},oF={history:"Historique",ask_anything:"Demandez n'importe quoi sur votre historique de navigation...",sources:"Sources",processing:"Traitement de votre demande...",new_chat:"Nouveau Chat",no_messages:"Aucun message pour l'instant. Commencez une conversation !",no_history:"Aucun historique de chat pour l'instant.",title:"Demander à l'Alchimiste",desc:"Je peux vous aider à vous souvenir d'informations, à résumer des sujets và trouver des idées dans votre historique de navigation.",thinking:"Exploration de la mémoire...",placeholder:"Posez une question sur votre historique...",error_message:"Désolé, j'ai rencontré une erreur lors du traitement de votre demande.",relevant_context:"Contexte pertinent",match_score:"{{score}}% de correspondance",rag_attribution:"L'Alchimiste a utilisé ces {{count}} signaux pour répondre",suggestions:{react:"Qu'ai-je lu sur React récemment ?",ai:"Résume les dernières nouvelles sur l'IA que j'ai consultées.",finance:"Ai-je des notes sur la finance ?",performance:"Trouve des articles sur la 'Performance'"}},aF={engines:"Moteurs Alchemist",assets:"Actifs générés",newsletter:"Bulletin",thread:"Fil de discussion",generate:"Générer",processing_desktop:"Traitement sur le bureau...",ensure_defaults:"Assurer les moteurs par défaut",create_engine:"Créer le moteur",no_assets:"Aucun actif n'a été généré.",title:"Moteur de Transmutation",desc:"Pipelines de génération active et actifs",generate_engines:"Générer les moteurs",new_engine:"Nouveau moteur",no_engines:"Aucun moteur configuré",no_engines_desc:"Créez votre premier pipeline pour transformer automatiquement les signaux en newsletters, fils de discussion ou briefings audio.",run_engine:"Lancer le moteur",running:"En cours...",last_run:"Dernière exécution",never:"Jamais",schedule:"Calendrier",manual:"Manuel",topic:"Sujet",pipeline:"Pipeline",pause:"Pause",resume:"Reprendre",view_json:"Voir le brief de production JSON",json_contract:"Contrat sans état et autonome",json_desc:"Ce JSON contient le contexte complet (Signaux + Persona utilisateur) requis pour le Desktop Studio.",generating_asset:"Génération de l'actif...",queued_desktop:"En file d'attente pour le bureau...",desktop_processing:"L'application RealTimeX Desktop traite cette demande. Cette fenêtre se mettra à jour automatiquement une fois terminée.",unsupported_type:"Type d'actif non pris en charge",edit_engine:"Modifier le moteur",engine_name:"Nom du moteur",type:"Type",status:"Statut",execution_env:"Environnement d'exécution",local_llm:"Local (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Délègue des tâches lourdes comme l'audio/vidéo à l'application de bureau.",env_desc_local:"Exécute des tâches Markdown simples directement dans Alchemy.",min_score:"Score min",max_signals:"Signaux max",category_filter:"Filtre de catégorie (sélection multiple)",multi_select_hint:"Maintenez Cmd/Ctrl pour sélectionner plusieurs catégories",schedule_hint:"Note : La planification n'est pas encore automatisée",prompt_override:"Remplacement du prompt personnalisé (optionnel)",prompt_placeholder:"Remplacez le prompt par défaut pour ce type de moteur...",delete_confirm:"Vraiment supprimer ?",confirm:"Confirmer"},lF={title:"Configuration du compte",desc:"Gérez votre profil Alchemist et vos liens d'essence.",profile:"Profil",security:"Sécurité",supabase:"Supabase",first_name:"Prénom",last_name:"Nom",email_locked:"Adresse e-mail (verrouillée)",sound_effects:"Effets sonores",sound_desc:"Activer le retour sonore pour les événements de synchronisation et les découvertes de signaux.",sign_out:"Déconnexion",logout_desc:"Mettre fin à votre session actuelle et revenir à l'écran de connexion.",preserve_profile:"Préserver le profil",security_title:"Mettre à jour la clé d'entropie",new_password:"Nouveau mot de passe",confirm_password:"Confirmer le mot de passe",password_mismatch:"Les clés de complexité ne correspondent pas.",password_too_short:"Entropie trop faible. Minimum 8 caractères.",password_rotate_success:"Rotation de la clé réussie.",rotate_key:"Faire pivoter la clé",essence_resonance:"Résonance d'essence",byok_desc:"Apportez vos propres clés (BYOK) pour la persistance de l'intelligence.",established_link:"Lien établi",env_notice:"Actif à partir des variables d'environnement. Remplacement de l'UI activé.",realign_link:"Réaligner le lien",sever_link:"Rompre le lien",sever_confirm:"Rompre la connexion à cette essence ? Cela réinitialisera la résonance locale.",anon_secret_fragment:"Fragment secret Anon",no_resonance:"Pas de résonance d'essence",no_resonance_desc:"L'Alchimiste nécessite un cœur cloud pour stocker les fragments d'intelligence.",initiate_link:"Initier le lien",test_connection:"Tester la connexion"},cF={title:"Journaux système",desc:"Historique détaillé des exécutions de synchronisation, des sources et du traitement des URL",blacklist_suggestion:"Liste noire potentielle",blacklist_desc:"Candidats au blocage",recent_errors:"Erreurs récentes",errors_desc:"Échecs du traitement des URL",total_signals:"Total des signaux",signals_desc:"Extraits avec succès",blacklist_modal_title:"Suggestions de liste noire",blacklist_modal_desc:"Examinez les domaines suggérés pour la liste noire en fonction des scores faibles.",no_suggestions:"Pas de suggestions pour le moment",quality_good:"La qualité de vos signaux semble bonne !",signals_count:"{{count}} signaux",avg_score:"Score moyen : {{score}}",low_quality:"Qualité constamment faible",repetitive:"Motif répétitif",blacklist_domain:"Mettre le domaine sur liste noire",errors_modal_title:"Erreurs récentes",errors_modal_desc:"Journal des récents échecs et problèmes.",no_recent_errors:"Aucune erreur récente trouvée.",signals_modal_title:"Signaux trouvés",signals_modal_desc:"Parcourez et gérez l'historique de vos signaux extraits.",search_placeholder:"Rechercher des signaux...",any_score:"N'importe quel score",high_score:"Élevé (80%+)",medium_score:"Moyen (50-79%)",low_score:"Faible (<50%)",all_categories:"Toutes les catégories",page_x:"Page {{page}}"},uF={title:"Moteur Alchemist",live:"EN DIRECT",clear:"Effacer",idle:"Inactif. En attente d'événements de minage...",run_completed:"Cycle de minage terminé",signals:"Signaux",urls:"URLs",skipped:"Ignorés",failed_to_process:"{{count}} URLs n'ont pas pu être traitées",view_logs:"Voir les journaux",hide_details:"Masquer les détails",view_details:"Voir les détails",engine_log:"Journal du moteur en direct",state_reading:"Lecture",state_thinking:"Réflexion",state_signal:"Signal",state_skipped:"Ignoré",state_error:"Erreur",state_completed:"Terminé",msg_reading:"Lecture du contenu de : {{url}}",msg_thinking:"Analyse de la pertinence de : {{title}}",msg_found_signal:"Signal trouvé : {{summary}} ({{score}}%)",msg_low_signal:"Signal faible stocké pour examen ({{score}}%) : {{title}}",msg_failed:"L'analyse a échoué pour {{title}} : {{error}}",msg_sync_completed:"Synchronisation terminée : {{signals}} signaux trouvés, {{skipped}} ignorés, {{errors}} erreurs"},dF={switch_light:"Passer au mode clair",switch_dark:"Passer au mode sombre",view_changelog:"Voir les changements",release_notes:"Notes de version",changelog_error:"Échec du chargement du journal des modifications."},hF={title:"Pouls des signaux",mining:"Minage",standing_by:"En attente",idle:"Inactif",tracked:"Signaux suivis",avg_score:"Score moyen",top_signal:"Meilleur signal",latest:"Dernier",awaiting:"En attente de minage",no_signals:"Aucun signal pour l'instant"},fF={title:"Moteur d'Intelligence",subtitle:"Affinez les paramètres cognitifs de l'Alchimiste et les liens des fournisseurs.",configuration:"Configuration IA",test_connection:"Tester la Connexion",save_config:"Enregistrer la Configuration",llm_provider:"Fournisseur LLM",embedding_provider:"Fournisseur d'Incrustation",sdk_connected:"SDK Connecté",sdk_not_available:"SDK non disponible",provider:"Fournisseur",intelligence_model:"Modèle d'Intelligence",embedding_model:"Modèle d'Incrustation",loading_providers:"Chargement des fournisseurs...",sdk_info_success:"✓ Utilisation du fournisseur configuré par RealTimeX",sdk_info_fail:"⚠️ SDK RealTimeX non détecté. Configurez dans RealTimeX Desktop.",embedding_info_success:"✓ Les incrustations sont générées en utilisant votre fournisseur configuré par RealTimeX",embedding_info_fail:"⚠️ SDK RealTimeX non détecté. Configurez les fournisseurs dans RealTimeX Desktop.",persona_title:"Mémoire de Persona",save_memory:"Enregistrer la Mémoire",interests_title:"Intérêts Actifs",interests_priority:"Haute Priorité",interests_desc:"L'Alchimiste donne la priorité au contenu correspondant à ces sujets. Mis à jour automatiquement en fonction des Favoris et des Boosts.",interests_placeholder:"ex: L'utilisateur se concentre sur les performances de React, les systèmes backend Rust et l'architecture des agents IA...",antipatterns_title:"Anti-Modèles",antipatterns_priority:"Éviter",antipatterns_desc:"L'Alchimiste filtre ou dévalorise le contenu correspondant à ces modèles. Mis à jour via les Rejets.",antipatterns_placeholder:"ex: N'aime pas le marketing superficiel, les listes génériques et le battage médiatique crypto...",browser_sources:"Sources de l'Historique du Navigateur",save_browser:"Enregistrer les Sources",blacklist_title:"Liste Noire de Domaines",blacklist_desc:"Les URLs contenant ces modèles seront ignorées lors du minage. Entrez un modèle par ligne.",blacklist_label:"Modèles de Domaine (un par ligne)",blacklist_placeholder:`google.com/search
140
+ linkedin.com/feed`,blacklist_examples:"Examples: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"Save Blacklist",blocked_tags_title:"Blocked Tags",blocked_tags_desc:"Signals with these tags will be excluded from dynamic category generation and newsletters. Enter one tag per line.",blocked_tags_label:"Tags (separated by semicolon)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"You have full control. These tags will completely replace the system defaults.",save_blocked_tags:"Save Blocked Tags",save_error_login:"Please log in to save settings",save_error_persona:"Please log in to save persona",save_success_llm:"LLM settings saved successfully",save_success_browser:"Browser sources saved successfully",save_success_blacklist:"Blacklist updated successfully",save_success_tags:"Blocked tags updated successfully",save_success_persona:"Persona updated successfully",test_success:"Connection successful! {{model}}",test_fail:"Connection failed: {{message}}",auto_detect_title:"Auto-Detect Browsers",scan_system:"Scan System",scanning:"Scanning...",auto_detected:"Auto-detected",custom:"Custom",add_source:"Add Source",already_added:"Already Added",not_found:"Not found on this system",add_custom_path:"Add Custom Path",custom_path_placeholder:"/path/to/browser/History",add_custom_source:"Add Custom Source",validating:"Validating...",configured_sources:"Configured Sources ({{count}})",enabled:"Enabled",disabled:"Disabled",invalid_path:"Invalid path: {{error}}",validation_failed:"Failed to validate path"},eF={common:Uz,tabs:Bz,setup:Vz,auth:qz,discovery:Hz,chat:Kz,transmute:Wz,account:Gz,logs:Jz,terminal:Xz,shell:Yz,stats:Qz,engine:Zz},tF={save:"Enregistrer",cancel:"Annuler",loading:"Chargement...",error:"Erreur",success:"Succès",settings:"Paramètres",search:"Rechercher",back:"Retour",all:"Tout",delete:"Supprimer",update:"Mettre à jour",edit:"Modifier",close:"Fermer",complete:"Terminer",skip:"Passer",begin:"Commencer",connection:"Connexion",setup:"Configuration",project:"Projet",account:"Compte",logout:"Déconnexion",welcome:"Bienvenue",dark_mode:"Mode Sombre",light_mode:"Mode Clair",collapse:"Réduire",just_now:"À l'instant",enabled:"Activé",disabled:"Désactivé",quick:"Rapide (5)",balanced:"Équilibré (50)",thorough:"Complet (200)",resetting:"Réinitialisation...",saving:"Enregistrement...",locale_code:"fr-FR",categories:{ai_ml:"IA & ML",business:"Affaires",politics:"Politique",technology:"Technologie",finance:"Finance",crypto:"Crypto",science:"Science",other:"Autre"}},nF={discovery:"Découverte",chat:"Chat",transmute:"Transmuter",logs:"Journaux système",history:"Historique"},rF={welcome_title:"Assemblez votre moteur",welcome_desc:"Alchemy nécessite une essence Supabase pour stocker les fragments de signaux et les modèles d'intelligence.",requirements:"Prérequis :",project_url:"URL du projet Supabase",anon_key:"Clé API publique anonyme",db_password:"Mot de passe de la base de données",project_url_placeholder:"https://xxx.supabase.co ou project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"COMMENCER L'INITIALISATION",connect_essence:"CONNECTER L'ESSENCE",credentials_title:"Coordonnées de l'Essence",credentials_desc:"Reliez le moteur alchimique à votre base de données cloud",validating:"Validation du lien",resonance:"Synchronisation de la résonance...",init_schema:"Initialiser le schéma",schema_desc:"Exécutez les migrations de base de données pour configurer les tables et fonctions requises.",project_id:"ID du projet",access_token:"Jeton d'accès",run_migrations:"EXÉCUTER LES MIGRATIONS",running_migrations:"Exécution des migrations",take_minute:"Cela peut prendre une minute...",engine_aligned:"Moteur aligné",restarting:"Redémarrage des sous-systèmes Alchemist...",forge_project:"Forger un projet sur Supabase",project_id_help:"Trouvé dans le tableau de bord Supabase → Paramètres du projet → Général",access_token_help:"Générer sur",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"L'ID du projet est requis",access_token_required:"Le jeton d'accès est requis",migration_failed_logs:"Échec de la migration. Consultez les journaux pour plus de détails.",stream_error:"Échec de la lecture du flux de migration",back:"RETOUR",retry:"RÉESSAYER"},sF={title_init:"INITIALISER LE MAÎTRE",title_join:"REJOINDRE LE CERCLE",title_mystic:"ACCÈS MYSTIQUE",title_login:"CONNEXION ALCHIMISTE",desc_init:"Forger le compte principal d'alchimiste",desc_mystic_email:"Entrez votre e-mail d'essence",desc_mystic_code:"Transmuter le code sacré",desc_login:"Transmuter vos données en intelligence",first_name:"Prénom",last_name:"Nom",first_name_placeholder:"Zosime",last_name_placeholder:"Panopolis",email_address:"Adresse e-mail",email_placeholder:"alchimiste@exemple.com",complexity_key:"Clé de complexité",password_placeholder:"••••••••",init_account:"INITIALISER LE COMPTE",send_code:"ENVOYER LE CODE",unseal_engine:"DÉSCELLER LE MOTEUR",verify_code:"VÉRIFIER LE CODE",change_email:"Modifier l'adresse e-mail",sign_in_code:"Se connecter avec un code",sign_in_password:"Se connecter avec un mot de passe",already_alchemist:"Déjà alchimiste ?",new_to_alchemy:"Nouveau sur Alchemy ?",login_instead:"Se connecter plutôt",create_account:"Créer un compte",session_failed:"Échec de la création de la session",invalid_code:"Code invalide"},iF={filters:"Filtres",category:"Catégorie",intelligence_score:"Score d'intelligence",no_signals_in_category:"Pas encore de signaux dans {{category}}.",no_categories:"Aucune catégorie pour le moment.",discovery_hint:"Les signaux seront organisés ici une fois découverts.",loading_signals:"Chargement des signaux...",dismiss_hint:"Ignorer (Pas intéressé)",signal_count_one:"{{count}} signal",signal_count_other:"{{count}} signaux",time_min_ago:"Il y a {{count}}m",time_hour_ago:"Il y a {{count}}h",time_day_ago:"Il y a {{count}}j",add_note_title:"Ajouter une note",target:"Cible",note_placeholder:"Entrez vos pensées, idées ou points d'action concernant ce signal...",save_note:"Enregistrer la note",view_all_sources:"Voir toutes les sources",source_count_one:"{{count}} source",source_count_other:"{{count}} sources",source_found_in:"Trouvé dans {{count}} sources différentes",high_confidence:"Haute confiance - trouvé dans {{count}} sources",new_signals:"Nouveaux signaux",smart_summary:"Résumé intelligent",entities:"Entités",sources:"Sources",last_sync:"Dernière synchro",syncnow:"Synchro maintenant",all_time:"Tout le temps",checkpoint:"Point de contrôle",from:"De",score_high:"ÉLEVÉ",score_medium:"MOYEN",score_low:"FAIBLE",sources_count:"{{count}} sources",open_source:"Ouvrir",add_note:"Note",boost_topic:"Booster",boosted:"Boosté",dismissed:"Ignoré",remove_favourite:"Retirer des favoris",add_favourite:"Ajouter aux favoris",sync_history:"Sync Historique",syncing:"Synchronisation...",sync_settings:"Paramètres de Sync",discovered:"Découvert",original_source:"Source originale",ai_summary:"Résumé IA",full_content:"Contenu complet",copied:"Copié !",open_link:"Ouvrir",detail_title:"Détails du Signal",sync_from:"Synchroniser depuis (Optionnel)",urls_per_sync:"URLs par synchronisation",sync_from_hint:"Laissez vide pour synchroniser uniquement les nouveaux URLs depuis la dernière synchronisation. Définissez une date pour traiter les URLs à partir de ce moment.",reset_checkpoint:"Réinitialiser le point de contrôle",reset_checkpoint_hint:"Effacer le point de contrôle de synchronisation pour forcer une resynchronisation complète à partir de votre date de début.",sync_info:`L'Alchimiste suit automatiquement votre progression. Utilisez "Synchroniser depuis" pour remplir l'historique ou "Réinitialiser le point de contrôle" pour recommencer à zéro.`,save_settings:"Enregistrer les paramètres",sync_saved:"Paramètres de synchronisation enregistrés",checkpoint_reset:"Point de contrôle réinitialisé",login_to_save:"Veuillez vous connecter pour enregistrer les paramètres",login_to_reset:"Veuillez vous connecter pour réinitialiser le point de contrôle",status_updated:"Statut de l'engin mis à jour en {{status}}",asset_ready:`L'atout "{{title}}" est prêt !`,scanning:"Recherche de nouvelles catégories et sujets...",discovery_complete:"Découverte de l'engin terminée !",discovery_failed:"Échec de la découverte. Vérifiez les paramètres.",load_failed:"Échec du chargement des engins",starting_run:"Lancement de l'exécution de l'engin...",run_complete:"Exécution de l'engin terminée ! Créé : {{title}}",run_started_desktop:"Exécution de l'engin démarrée sur le bureau. Suivi sous : {{id}}",run_failed:"Échec de l'exécution de l'engin",brief_failed:"Échec de la génération du brief de production",topic:"Sujet",pipeline:"Pipeline"},oF={history:"Historique",ask_anything:"Demandez n'importe quoi sur votre historique de navigation...",sources:"Sources",processing:"Traitement de votre demande...",new_chat:"Nouveau Chat",no_messages:"Aucun message pour l'instant. Commencez une conversation !",no_history:"Aucun historique de chat pour l'instant.",title:"Demander à l'Alchimiste",desc:"Je peux vous aider à vous souvenir d'informations, à résumer des sujets và trouver des idées dans votre historique de navigation.",thinking:"Exploration de la mémoire...",placeholder:"Posez une question sur votre historique...",error_message:"Désolé, j'ai rencontré une erreur lors du traitement de votre demande.",relevant_context:"Contexte pertinent",match_score:"{{score}}% de correspondance",rag_attribution:"L'Alchimiste a utilisé ces {{count}} signaux pour répondre",suggestions:{react:"Qu'ai-je lu sur React récemment ?",ai:"Résume les dernières nouvelles sur l'IA que j'ai consultées.",finance:"Ai-je des notes sur la finance ?",performance:"Trouve des articles sur la 'Performance'"}},aF={engines:"Moteurs Alchemist",assets:"Actifs générés",newsletter:"Bulletin",thread:"Fil de discussion",generate:"Générer",processing_desktop:"Traitement sur le bureau...",ensure_defaults:"Assurer les moteurs par défaut",create_engine:"Créer le moteur",no_assets:"Aucun actif n'a été généré.",title:"Moteur de Transmutation",desc:"Pipelines de génération active et actifs",generate_engines:"Générer les moteurs",new_engine:"Nouveau moteur",no_engines:"Aucun moteur configuré",no_engines_desc:"Créez votre premier pipeline pour transformer automatiquement les signaux en newsletters, fils de discussion ou briefings audio.",run_engine:"Lancer le moteur",running:"En cours...",last_run:"Dernière exécution",never:"Jamais",schedule:"Calendrier",manual:"Manuel",topic:"Sujet",pipeline:"Pipeline",pause:"Pause",resume:"Reprendre",view_json:"Voir le brief de production JSON",json_contract:"Contrat sans état et autonome",json_desc:"Ce JSON contient le contexte complet (Signaux + Persona utilisateur) requis pour le Desktop Studio.",generating_asset:"Génération de l'actif...",queued_desktop:"En file d'attente pour le bureau...",desktop_processing:"L'application RealTimeX Desktop traite cette demande. Cette fenêtre se mettra à jour automatiquement une fois terminée.",unsupported_type:"Type d'actif non pris en charge",edit_engine:"Modifier le moteur",engine_name:"Nom du moteur",type:"Type",status:"Statut",execution_env:"Environnement d'exécution",local_llm:"Local (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Délègue des tâches lourdes comme l'audio/vidéo à l'application de bureau.",env_desc_local:"Exécute des tâches Markdown simples directement dans Alchemy.",min_score:"Score min",max_signals:"Signaux max",category_filter:"Filtre de catégorie (sélection multiple)",multi_select_hint:"Maintenez Cmd/Ctrl pour sélectionner plusieurs catégories",schedule_hint:"Note : La planification n'est pas encore automatisée",prompt_override:"Remplacement du prompt personnalisé (optionnel)",prompt_placeholder:"Remplacez le prompt par défaut pour ce type de moteur...",delete_confirm:"Vraiment supprimer ?",confirm:"Confirmer",copied_json:"JSON copié dans le presse-papiers",json_footer:"Ce JSON contient le contexte complet (Signaux + Persona Utilisateur) requis pour Desktop Studio."},lF={title:"Configuration du compte",desc:"Gérez votre profil Alchemist et vos liens d'essence.",profile:"Profil",security:"Sécurité",supabase:"Supabase",first_name:"Prénom",last_name:"Nom",email_locked:"Adresse e-mail (verrouillée)",sound_effects:"Effets sonores",sound_desc:"Activer le retour sonore pour les événements de synchronisation et les découvertes de signaux.",sign_out:"Déconnexion",logout_desc:"Mettre fin à votre session actuelle et revenir à l'écran de connexion.",preserve_profile:"Préserver le profil",security_title:"Mettre à jour la clé d'entropie",new_password:"Nouveau mot de passe",confirm_password:"Confirmer le mot de passe",password_mismatch:"Les clés de complexité ne correspondent pas.",password_too_short:"Entropie trop faible. Minimum 8 caractères.",password_rotate_success:"Rotation de la clé réussie.",rotate_key:"Faire pivoter la clé",essence_resonance:"Résonance d'essence",byok_desc:"Apportez vos propres clés (BYOK) pour la persistance de l'intelligence.",established_link:"Lien établi",env_notice:"Actif à partir des variables d'environnement. Remplacement de l'UI activé.",realign_link:"Réaligner le lien",sever_link:"Rompre le lien",sever_confirm:"Rompre la connexion à cette essence ? Cela réinitialisera la résonance locale.",anon_secret_fragment:"Fragment secret Anon",no_resonance:"Pas de résonance d'essence",no_resonance_desc:"L'Alchimiste nécessite un cœur cloud pour stocker les fragments d'intelligence.",initiate_link:"Initier le lien",test_connection:"Tester la connexion"},cF={title:"Journaux système",desc:"Historique détaillé des exécutions de synchronisation, des sources et du traitement des URL",blacklist_suggestion:"Liste noire potentielle",blacklist_desc:"Candidats au blocage",recent_errors:"Erreurs récentes",errors_desc:"Échecs du traitement des URL",total_signals:"Total des signaux",signals_desc:"Extraits avec succès",blacklist_modal_title:"Suggestions de liste noire",blacklist_modal_desc:"Examinez les domaines suggérés pour la liste noire en fonction des scores faibles.",no_suggestions:"Pas de suggestions pour le moment",quality_good:"La qualité de vos signaux semble bonne !",signals_count:"{{count}} signaux",avg_score:"Score moyen : {{score}}",low_quality:"Qualité constamment faible",repetitive:"Motif répétitif",blacklist_domain:"Mettre le domaine sur liste noire",errors_modal_title:"Erreurs récentes",errors_modal_desc:"Journal des récents échecs et problèmes.",no_recent_errors:"Aucune erreur récente trouvée.",signals_modal_title:"Signaux trouvés",signals_modal_desc:"Parcourez et gérez l'historique de vos signaux extraits.",search_placeholder:"Rechercher des signaux...",any_score:"N'importe quel score",high_score:"Élevé (80%+)",medium_score:"Moyen (50-79%)",low_score:"Faible (<50%)",all_categories:"Toutes les catégories",page_x:"Page {{page}}"},uF={title:"Moteur Alchemist",live:"EN DIRECT",clear:"Effacer",idle:"Inactif. En attente d'événements de minage...",run_completed:"Cycle de minage terminé",signals:"Signaux",urls:"URLs",skipped:"Ignorés",failed_to_process:"{{count}} URLs n'ont pas pu être traitées",view_logs:"Voir les journaux",hide_details:"Masquer les détails",view_details:"Voir les détails",engine_log:"Journal du moteur en direct",state_reading:"Lecture",state_thinking:"Réflexion",state_signal:"Signal",state_skipped:"Ignoré",state_error:"Erreur",state_completed:"Terminé",msg_reading:"Lecture du contenu de : {{url}}",msg_thinking:"Analyse de la pertinence de : {{title}}",msg_found_signal:"Signal trouvé : {{summary}} ({{score}}%)",msg_low_signal:"Signal faible stocké pour examen ({{score}}%) : {{title}}",msg_failed:"L'analyse a échoué pour {{title}} : {{error}}",msg_sync_completed:"Synchronisation terminée : {{signals}} signaux trouvés, {{skipped}} ignorés, {{errors}} erreurs"},dF={switch_light:"Passer au mode clair",switch_dark:"Passer au mode sombre",view_changelog:"Voir les changements",release_notes:"Notes de version",changelog_error:"Échec du chargement du journal des modifications."},hF={title:"Pouls des signaux",mining:"Minage",standing_by:"En attente",idle:"Inactif",tracked:"Signaux suivis",avg_score:"Score moyen",top_signal:"Meilleur signal",latest:"Dernier",awaiting:"En attente de minage",no_signals:"Aucun signal pour l'instant"},fF={title:"Moteur d'Intelligence",subtitle:"Affinez les paramètres cognitifs de l'Alchimiste et les liens des fournisseurs.",configuration:"Configuration IA",test_connection:"Tester la Connexion",save_config:"Enregistrer la Configuration",llm_provider:"Fournisseur LLM",embedding_provider:"Fournisseur d'Incrustation",sdk_connected:"SDK Connecté",sdk_not_available:"SDK non disponible",provider:"Fournisseur",intelligence_model:"Modèle d'Intelligence",embedding_model:"Modèle d'Incrustation",loading_providers:"Chargement des fournisseurs...",sdk_info_success:"✓ Utilisation du fournisseur configuré par RealTimeX",sdk_info_fail:"⚠️ SDK RealTimeX non détecté. Configurez dans RealTimeX Desktop.",embedding_info_success:"✓ Les incrustations sont générées en utilisant votre fournisseur configuré par RealTimeX",embedding_info_fail:"⚠️ SDK RealTimeX non détecté. Configurez les fournisseurs dans RealTimeX Desktop.",persona_title:"Mémoire de Persona",save_memory:"Enregistrer la Mémoire",interests_title:"Intérêts Actifs",interests_priority:"Haute Priorité",interests_desc:"L'Alchimiste donne la priorité au contenu correspondant à ces sujets. Mis à jour automatiquement en fonction des Favoris et des Boosts.",interests_placeholder:"ex: L'utilisateur se concentre sur les performances de React, les systèmes backend Rust et l'architecture des agents IA...",antipatterns_title:"Anti-Modèles",antipatterns_priority:"Éviter",antipatterns_desc:"L'Alchimiste filtre ou dévalorise le contenu correspondant à ces modèles. Mis à jour via les Rejets.",antipatterns_placeholder:"ex: N'aime pas le marketing superficiel, les listes génériques et le battage médiatique crypto...",browser_sources:"Sources de l'Historique du Navigateur",save_browser:"Enregistrer les Sources",blacklist_title:"Liste Noire de Domaines",blacklist_desc:"Les URLs contenant ces modèles seront ignorées lors du minage. Entrez un modèle par ligne.",blacklist_label:"Modèles de Domaine (un par ligne)",blacklist_placeholder:`google.com/search
141
141
  localhost:
142
142
  127.0.0.1
143
143
  facebook.com
144
144
  twitter.com
145
145
  instagram.com
146
- linkedin.com/feed`,blacklist_examples:"Exemples: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"Enregistrer la Liste Noire",blocked_tags_title:"Tags Bloqués",blocked_tags_desc:"Les signaux avec ces tags seront exclus de la génération dynamique de catégories et des newsletters. Entrez un tag par ligne.",blocked_tags_label:"Tags (séparés par un point-virgule)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"Vous avez un contrôle total. Ces tags remplaceront complètement les valeurs par défaut du système.",save_blocked_tags:"Enregistrer les Tags Bloqués",save_error_login:"Veuillez vous connecter pour enregistrer les paramètres",save_error_persona:"Veuillez vous connecter pour enregistrer la persona",save_success_llm:"Paramètres LLM enregistrés avec succès",save_success_browser:"Sources du navigateur enregistrées avec succès",save_success_blacklist:"Liste noire mise à jour avec succès",save_success_tags:"Tags bloqués mis à jour avec succès",save_success_persona:"Persona mise à jour avec succès",test_success:"Connexion réussie ! {{model}}",test_fail:"Échec de la connexion : {{message}}",auto_detect_title:"Auto-détection des Navigateurs",scan_system:"Scanner le Système",scanning:"Numérisation...",auto_detected:"Auto-détecté",custom:"Personnalisé",add_source:"Ajouter la Source",already_added:"Déjà ajouté",not_found:"Non trouvé sur ce système",add_custom_path:"Ajouter un Chemin Personnalisé",custom_path_placeholder:"/chemin/vers/le/navigateur/History",add_custom_source:"Ajouter une Source Personnalisée",validating:"Validation en cours...",configured_sources:"Sources Configurées ({{count}})",enabled:"Activé",disabled:"Désactivé",invalid_path:"Chemin invalide : {{error}}",validation_failed:"Échec de la validation du chemin"},pF={common:tF,tabs:nF,setup:rF,auth:sF,discovery:iF,chat:oF,transmute:aF,account:lF,logs:cF,terminal:uF,shell:dF,stats:hF,engine:fF},mF={save:"Guardar",cancel:"Cancelar",loading:"Cargando...",error:"Error",success:"Éxito",settings:"Ajustes",search:"Buscar",back:"Atrás",all:"Todo",delete:"Eliminar",update:"Actualizar",edit:"Editar",close:"Cerrar",complete:"Completar",skip:"Omitir",begin:"Empezar",connection:"Conexión",setup:"Configuración",project:"Proyecto",account:"Cuenta",logout:"Cerrar sesión",welcome:"Bienvenido",dark_mode:"Modo Oscuro",light_mode:"Modo Claro",collapse:"Contraer",just_now:"Ahora mismo",enabled:"Habilitado",disabled:"Deshabilitado",saving:"Guardando...",locale_code:"es-ES",categories:{ai_ml:"IA y ML",business:"Negocios",politics:"Política",technology:"Tecnología",finance:"Finanzas",crypto:"Cripto",science:"Ciencia",other:"Otro"}},gF={discovery:"Descubrimiento",chat:"Chat",transmute:"Transmutar",logs:"Registros del sistema",history:"Historial"},yF={welcome_title:"Ensambla tu motor",welcome_desc:"Alchemy requiere una esencia de Supabase para almacenar fragmentos de señales y patrones de inteligencia.",requirements:"Requisitos:",project_url:"URL del proyecto Supabase",anon_key:"Clave API anónima pública",db_password:"Contraseña de la base de datos",project_url_placeholder:"https://xxx.supabase.co o project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"INICIAR INICIALIZACIÓN",connect_essence:"CONECTAR ESENCIA",credentials_title:"Coordenadas de la Esencia",credentials_desc:"Vincule el motor de alquimia a su base de datos en la nube",validating:"Validando enlace",resonance:"Sincronizando resonancia...",init_schema:"Inicializar esquema",schema_desc:"Ejecuta las migraciones de la base de datos para configurar las tablas y funciones necesarias.",project_id:"ID del proyecto",access_token:"Token de acceso",run_migrations:"EJECUTAR MIGRACIONES",running_migrations:"Ejecutando migraciones",take_minute:"Esto puede tardar un minuto...",engine_aligned:"Motor alineado",restarting:"Reiniciando subsistemas Alchemist...",forge_project:"Forjar proyecto en Supabase",project_id_help:"Se encuentra en el Panel de Supabase → Configuración del proyecto → General",access_token_help:"Generar en",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"Se requiere el ID del proyecto",access_token_required:"Se requiere el token de acceso",migration_failed_logs:"La migración falló. Verifique los registros para más detalles.",stream_error:"Error al leer el flujo de migración",back:"ATRÁS",retry:"REINTENTAR"},xF={title_init:"INICIALIZAR MAESTRO",title_join:"UNIRSE AL CÍRCULO",title_mystic:"ACCESO MÍSTICO",title_login:"INICIO DE SESIÓN ALQUIMISTA",desc_init:"Forjar la cuenta principal de alquimista",desc_mystic_email:"Ingrese su correo electrónico de esencia",desc_mystic_code:"Transmutar el código sagrado",desc_login:"Transmutar sus datos en intelligence",first_name:"Nombre",last_name:"Apellido",first_name_placeholder:"Zosimos",last_name_placeholder:"Panopolis",email_address:"Dirección de correo electrónico",email_placeholder:"alquimista@ejemplo.com",complexity_key:"Clave de complejidad",password_placeholder:"••••••••",init_account:"INICIALIZAR CUENTA",send_code:"ENVIAR CÓDIGO",unseal_engine:"DESSELLAR MOTOR",verify_code:"VERIFICAR CÓDIGO",change_email:"Cambiar dirección de correo electrónico",sign_in_code:"Iniciar sesión con código",sign_in_password:"Iniciar sesión con contraseña",already_alchemist:"¿Ya eres alquimista?",new_to_alchemy:"¿Nuevo en Alchemy?",login_instead:"Iniciar sesión",create_account:"Crear una cuenta",session_failed:"Error al crear la sesión",invalid_code:"Código inválido"},vF={filters:"Filtros",category:"Categoría",intelligence_score:"Puntuación de inteligencia",no_signals_in_category:"Aún no hay señales en {{category}}.",no_categories:"No hay categorías todavía.",discovery_hint:"Las señales se organizarán aquí una vez descubiertas.",loading_signals:"Cargando señales...",dismiss_hint:"Descartar (No me interesa)",signal_count_one:"{{count}} señal",signal_count_other:"{{count}} señales",time_min_ago:"Hace {{count}}m",time_hour_ago:"Hace {{count}}h",time_day_ago:"Hace {{count}}d",add_note_title:"Añadir nota",target:"Objetivo",note_placeholder:"Ingrese sus pensamientos, ideas o puntos de acción con respecto a esta señal...",save_note:"Guardar nota",view_all_sources:"Ver todas las fuentes",source_count_one:"{{count}} fuente",source_count_other:"{{count}} fuentes",source_found_in:"Encontrado en {{count}} fuentes diferentes",high_confidence:"Alta confianza - encontrado en {{count}} fuentes",new_signals:"Nuevas señales",smart_summary:"Resumen inteligente",entities:"Entidades",sources:"Fuentes",last_sync:"Última sincronización",syncnow:"Sincronizar ahora",all_time:"Todo el tiempo",checkpoint:"Punto de control",from:"Desde",score_high:"ALTO",score_medium:"MEDIO",score_low:"BAJO",sources_count:"{{count}} fuentes",open_source:"Abrir",add_note:"Nota",boost_topic:"Impulsar",boosted:"Impulsado",dismissed:"Descartado",remove_favourite:"Quitar de favoritos",add_favourite:"Agregar a favoritos",sync_history:"Historial de Sync",syncing:"Sincronizando...",sync_settings:"Ajustes de Sync",discovered:"Descubierto",original_source:"Fuente original",ai_summary:"Resumen IA",full_content:"Contenido completo",copied:"¡Copiado!",open_link:"Abrir",detail_title:"Detalles de la Señal",sync_from:"Sincronizar desde (Opcional)",urls_per_sync:"URLs por sincronización",sync_from_hint:"Deje vacío para sincronizar solo los nuevos URLs desde la última sincronización. Establezca una fecha para procesar URLs a partir de ese momento.",reset_checkpoint:"Reiniciar punto de control",reset_checkpoint_hint:"Borrar el punto de control de sincronización para forzar una resincronización completa a partir de su fecha de inicio.",sync_info:'El Alquimista rastrea su progreso automáticamente. Use "Sincronizar desde" para completar el historial o "Reiniciar punto de control" para empezar de cero.',save_settings:"Guardar ajustes",sync_saved:"Ajustes de sincronización guardados",checkpoint_reset:"Punto de control reiniciado",login_to_save:"Inicie sesión para guardar los ajustes",login_to_reset:"Inicie sesión para reiniciar el punto de control",status_updated:"Estado del motor actualizado a {{status}}",asset_ready:'¡El activo "{{title}}" está listo!',scanning:"Escaneando nuevas categorías y temas...",discovery_complete:"¡Descubrimiento de motores completado!",discovery_failed:"Fallo en el descubrimiento. Verifique los ajustes.",load_failed:"Error al cargar los motores",starting_run:"Iniciando ejecución del motor...",run_complete:"¡Ejecución del motor completa! Creado: {{title}}",run_started_desktop:"Ejecución del motor iniciada en el escritorio. Seguimiento como: {{id}}",run_failed:"Error al ejecutar el motor",brief_failed:"Error al generar el informe de producción",copied_json:"JSON copiado al portapapeles",json_footer:"Este JSON contiene el contexto completo (Señales + Persona de Usuario) requerido para Desktop Studio.",topic:"Tema",pipeline:"Pipeline"},_F={history:"Historial",ask_anything:"Pregunta cualquier cosa sobre tu historial de navegación...",sources:"Fuentes",processing:"Procesando tu consulta...",new_chat:"Nuevo Chat",no_messages:"Aún no hay mensajes. ¡Empieza una conversación!",no_history:"Aún no hay historial de chat.",title:"Preguntar al Alquimista",desc:"Puedo ayudarte a recordar información, resumir temas y encontrar ideas en tu historial de navegación.",thinking:"Explorando la memoria...",placeholder:"Pregunta sobre tu historial...",error_message:"Lo siento, encontré un error al procesar tu solicitud.",relevant_context:"Contexto relevante",match_score:"{{score}}% de coincidencia",rag_attribution:"El Alquimista usó estas {{count}} señales para responder",suggestions:{react:"¿Qué he leído sobre React recientemente?",ai:"Resume las últimas noticias de IA que visité.",finance:"¿Tengo algunas notas sobre Finanzas?",performance:"Encuentra artículos sobre 'Rendimiento'"}},bF={engines:"Motores Alchemist",assets:"Activos generados",newsletter:"Boletín",thread:"Hilo",generate:"Generar",processing_desktop:"Procesando en escritorio...",ensure_defaults:"Asegurar motores predeterminados",create_engine:"Crear motor",no_assets:"Aún no se han generado activos.",title:"Motor de Transmutación",desc:"Pipelines de generación activa y activos",generate_engines:"Generar motores",new_engine:"Nuevo motor",no_engines:"No hay motores configurados",no_engines_desc:"Crea tu primer pipeline para convertir señales automáticamente en boletines, hilos o informes de audio.",run_engine:"Iniciar motor",running:"Ejecutando...",last_run:"Última ejecución",never:"Nunca",schedule:"Programación",manual:"Manual",topic:"Tema",pipeline:"Pipeline",pause:"Pausa",resume:"Reanudar",view_json:"Ver JSON de informe de producción",json_contract:"Contrato sin estado y autónomo",json_desc:"Este JSON contiene el contexto completo (Señales + Persona de usuario) requerido para el Desktop Studio.",generating_asset:"Generando activo...",queued_desktop:"En cola para el escritorio...",desktop_processing:"La aplicación RealTimeX Desktop está procesando esta solicitud. Esta ventana se actualizará automáticamente una vez terminada.",unsupported_type:"Tipo de activo no compatible",edit_engine:"Editar motor",engine_name:"Nombre del motor",type:"Tipo",status:"Estado",execution_env:"Entorno de ejecución",local_llm:"Local (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Delega tareas pesadas como audio/video a la aplicación de escritorio.",env_desc_local:"Ejecuta tareas de Markdown simples directamente en Alchemy.",min_score:"Puntuación mínima",max_signals:"Señales máximas",category_filter:"Filtro de categoría (selección múltiple)",multi_select_hint:"Mantén presionado Cmd/Ctrl para seleccionar varias categorías",schedule_hint:"Nota: La programación aún no está automatizada",prompt_override:"Sobrescribir prompt personalizado (opcional)",prompt_placeholder:"Sobrescribe el prompt predeterminado para este tipo de motor...",delete_confirm:"¿Realmente quieres eliminarlo?",confirm:"Confirmar"},wF={title:"Configuración de la cuenta",desc:"Administra tu perfil de Alchemist y los enlaces de esencia.",profile:"Perfil",security:"Seguridad",supabase:"Supabase",first_name:"Nombre",last_name:"Apellido",email_locked:"Dirección de correo electrónico (Bloqueada)",sound_effects:"Efectos de sonido",sound_desc:"Activa la respuesta sonora para eventos de sincronización y descubrimientos de señales.",sign_out:"Cerrar sesión",logout_desc:"Finaliza tu sesión actual y vuelve a la pantalla de inicio de sesión.",preserve_profile:"Preservar perfil",security_title:"Actualizar clave de entropía",new_password:"Nueva contraseña",confirm_password:"Confirmar contraseña",password_mismatch:"Las claves de complejidad no coinciden.",password_too_short:"Entropía demasiado baja. Mínimo 8 caracteres.",password_rotate_success:"Rotación de clave exitosa.",rotate_key:"Rotar clave",essence_resonance:"Resonancia de esencia",byok_desc:"Trae tus propias claves (BYOK) para la persistencia de la inteligencia.",established_link:"Enlace establecido",env_notice:"Activo desde variables de entorno. Sobrescritura de UI habilitada.",realign_link:"Realinear enlace",sever_link:"Cortar enlace",sever_confirm:"¿Cortar la conexión con esta esencia? Esto restablecerá la resonancia local.",anon_secret_fragment:"Fragmento secreto anónimo",no_resonance:"Sin resonancia de esencia",no_resonance_desc:"El Alchemist requiere un núcleo en la nube para almacenar fragmentos de inteligencia.",initiate_link:"Iniciar enlace",test_connection:"Probar conexión"},kF={title:"Registros del sistema",desc:"Historial detallado de ejecuciones de sincronización, fuentes y procesamiento de URL",blacklist_suggestion:"Lista negra potencial",blacklist_desc:"Candidatos para bloqueo",recent_errors:"Errores recientes",errors_desc:"Procesos de URL fallidos",total_signals:"Total de señales",signals_desc:"Extraídas con éxito",blacklist_modal_title:"Sugerencias de lista negra",blacklist_modal_desc:"Revisa los dominios sugeridos para la lista negra basados en puntuaciones bajas.",no_suggestions:"No hay sugerencias por ahora",quality_good:"¡La calidad de tus señales se ve bien!",signals_count:"{{count}} señales",avg_score:"Puntuación media: {{score}}",low_quality:"Qualidad consistentemente baja",repetitive:"Patrón repetitivo",blacklist_domain:"Lista negra de dominio",errors_modal_title:"Errores recientes",errors_modal_desc:"Registro de fallos y problemas recientes.",no_recent_errors:"No se encontraron errores recientes.",signals_modal_title:"Señales encontradas",signals_modal_desc:"Navega y administra tu historial de señales extraídas.",search_placeholder:"Buscar señales...",any_score:"Cualquier puntuación",high_score:"Alta (80%+)",medium_score:"Media (50-79%)",low_score:"Baja (<50%)",all_categories:"Todas las categorías",page_x:"Página {{page}}"},SF={title:"Motor Alchemist",live:"EN VIVO",clear:"Limpiar",idle:"Inactivo. Esperando eventos de minería de señales...",run_completed:"Ciclo de minería completado",signals:"Señales",urls:"URLs",skipped:"Omitidos",failed_to_process:"{{count}} URLs no pudieron procesarse",view_logs:"Ver registros",hide_details:"Ocultar detalles",view_details:"Ver detalles",engine_log:"Registro del motor en vivo",state_reading:"Lectura",state_thinking:"Pensando",state_signal:"Señal",state_skipped:"Omitido",state_error:"Error",state_completed:"Completado",msg_reading:"Leyendo contenido de: {{url}}",msg_thinking:"Analizando relevancia de: {{title}}",msg_found_signal:"Señal encontrada: {{summary}} ({{score}}%)",msg_low_signal:"Baja señal almacenada para revisión ({{score}}%): {{title}}",msg_failed:"Análisis fallido para {{title}}: {{error}}",msg_sync_completed:"Sincronización completada: {{signals}} señales encontradas, {{skipped}} omitidas, {{errors}} errores"},jF={switch_light:"Cambiar a modo claro",switch_dark:"Cambiar a modo oscuro",view_changelog:"Ver historial de cambios",release_notes:"Notas de la versión",changelog_error:"Error al cargar el historial de cambios."},EF={title:"Pulso de señales",mining:"Minería",standing_by:"En espera",idle:"Inactivo",tracked:"Señales rastreadas",avg_score:"Puntuación media",top_signal:"Mejor señal",latest:"Último",awaiting:"Esperando minería",no_signals:"Sin señales aún"},CF={title:"Motor de Inteligencia",subtitle:"Ajuste los parámetros cognitivos del Alquimista y los enlaces de proveedores.",configuration:"Configuración de IA",test_connection:"Probar Conexión",save_config:"Guardar Configuración",llm_provider:"Proveedor LLM",embedding_provider:"Proveedor de Incrustación",sdk_connected:"SDK Conectado",sdk_not_available:"SDK No Disponible",provider:"Proveedor",intelligence_model:"Modelo de Inteligencia",embedding_model:"Modelo de Incrustación",loading_providers:"Cargando proveedores...",sdk_info_success:"✓ Usando el proveedor configurado de RealTimeX",sdk_info_fail:"⚠️ SDK de RealTimeX no detectado. Configure en RealTimeX Desktop.",embedding_info_success:"✓ Las incrustaciones se generan usando su proveedor configurado de RealTimeX",embedding_info_fail:"⚠️ SDK de RealTimeX no detectado. Configure proveedores en RealTimeX Desktop.",persona_title:"Memoria de Persona",save_memory:"Guardar Memoria",interests_title:"Intereses Activos",interests_priority:"Prioridad Alta",interests_desc:"El Alquimista prioriza el contenido que coincide con estos temas. Se actualiza automáticamente según Favoritos y Boosts.",interests_placeholder:"ej. El usuario se centra en el rendimiento de React, sistemas backend de Rust y arquitectura de agentes de IA...",antipatterns_title:"Anti-Patrones",antipatterns_priority:"Evitar",antipatterns_desc:"El Alquimista filtra o reduce la puntuación del contenido que coincide con estos patrones. Actualizado a través de Descartes.",antipatterns_placeholder:"ej. No le gusta el marketing vacío, las listas genéricas y el hype de las criptomonedas...",browser_sources:"Fuentes del Historial del Navegador",save_browser:"Guardar Fuentes",blacklist_title:"Lista Negra de Dominios",blacklist_desc:"Las URLs que contienen estos patrones se omitirán durante la minería. Ingrese un patrón por línea.",blacklist_label:"Patrones de Dominio (uno por línea)",blacklist_placeholder:`google.com/search
146
+ linkedin.com/feed`,blacklist_examples:"Exemples: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"Enregistrer la Liste Noire",blocked_tags_title:"Tags Bloqués",blocked_tags_desc:"Les signaux avec ces tags seront exclus de la génération dynamique de catégories et des newsletters. Entrez un tag par ligne.",blocked_tags_label:"Tags (séparés par un point-virgule)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"Vous avez un contrôle total. Ces tags remplaceront complètement les valeurs par défaut du système.",save_blocked_tags:"Enregistrer les Tags Bloqués",save_error_login:"Veuillez vous connecter pour enregistrer les paramètres",save_error_persona:"Veuillez vous connecter pour enregistrer la persona",save_success_llm:"Paramètres LLM enregistrés avec succès",save_success_browser:"Sources du navigateur enregistrées avec succès",save_success_blacklist:"Liste noire mise à jour avec succès",save_success_tags:"Tags bloqués mis à jour avec succès",save_success_persona:"Persona mise à jour avec succès",test_success:"Connexion réussie ! {{model}}",test_fail:"Échec de la connexion : {{message}}",auto_detect_title:"Auto-détection des Navigateurs",scan_system:"Scanner le Système",scanning:"Numérisation...",auto_detected:"Auto-détecté",custom:"Personnalisé",add_source:"Ajouter la Source",already_added:"Déjà ajouté",not_found:"Non trouvé sur ce système",add_custom_path:"Ajouter un Chemin Personnalisé",custom_path_placeholder:"/chemin/vers/le/navigateur/History",add_custom_source:"Ajouter une Source Personnalisée",validating:"Validation en cours...",configured_sources:"Sources Configurées ({{count}})",enabled:"Activé",disabled:"Désactivé",invalid_path:"Chemin invalide : {{error}}",validation_failed:"Échec de la validation du chemin"},pF={common:tF,tabs:nF,setup:rF,auth:sF,discovery:iF,chat:oF,transmute:aF,account:lF,logs:cF,terminal:uF,shell:dF,stats:hF,engine:fF},mF={save:"Guardar",cancel:"Cancelar",loading:"Cargando...",error:"Error",success:"Éxito",settings:"Ajustes",search:"Buscar",back:"Atrás",all:"Todo",delete:"Eliminar",update:"Actualizar",edit:"Editar",close:"Cerrar",complete:"Completar",skip:"Omitir",begin:"Empezar",connection:"Conexión",setup:"Configuración",project:"Proyecto",account:"Cuenta",logout:"Cerrar sesión",welcome:"Bienvenido",dark_mode:"Modo Oscuro",light_mode:"Modo Claro",collapse:"Contraer",just_now:"Ahora mismo",enabled:"Habilitado",disabled:"Deshabilitado",saving:"Guardando...",locale_code:"es-ES",categories:{ai_ml:"IA y ML",business:"Negocios",politics:"Política",technology:"Tecnología",finance:"Finanzas",crypto:"Cripto",science:"Ciencia",other:"Otro"}},gF={discovery:"Descubrimiento",chat:"Chat",transmute:"Transmutar",logs:"Registros del sistema",history:"Historial"},yF={welcome_title:"Ensambla tu motor",welcome_desc:"Alchemy requiere una esencia de Supabase para almacenar fragmentos de señales y patrones de inteligencia.",requirements:"Requisitos:",project_url:"URL del proyecto Supabase",anon_key:"Clave API anónima pública",db_password:"Contraseña de la base de datos",project_url_placeholder:"https://xxx.supabase.co o project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"INICIAR INICIALIZACIÓN",connect_essence:"CONECTAR ESENCIA",credentials_title:"Coordenadas de la Esencia",credentials_desc:"Vincule el motor de alquimia a su base de datos en la nube",validating:"Validando enlace",resonance:"Sincronizando resonancia...",init_schema:"Inicializar esquema",schema_desc:"Ejecuta las migraciones de la base de datos para configurar las tablas y funciones necesarias.",project_id:"ID del proyecto",access_token:"Token de acceso",run_migrations:"EJECUTAR MIGRACIONES",running_migrations:"Ejecutando migraciones",take_minute:"Esto puede tardar un minuto...",engine_aligned:"Motor alineado",restarting:"Reiniciando subsistemas Alchemist...",forge_project:"Forjar proyecto en Supabase",project_id_help:"Se encuentra en el Panel de Supabase → Configuración del proyecto → General",access_token_help:"Generar en",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"Se requiere el ID del proyecto",access_token_required:"Se requiere el token de acceso",migration_failed_logs:"La migración falló. Verifique los registros para más detalles.",stream_error:"Error al leer el flujo de migración",back:"ATRÁS",retry:"REINTENTAR"},xF={title_init:"INICIALIZAR MAESTRO",title_join:"UNIRSE AL CÍRCULO",title_mystic:"ACCESO MÍSTICO",title_login:"INICIO DE SESIÓN ALQUIMISTA",desc_init:"Forjar la cuenta principal de alquimista",desc_mystic_email:"Ingrese su correo electrónico de esencia",desc_mystic_code:"Transmutar el código sagrado",desc_login:"Transmutar sus datos en intelligence",first_name:"Nombre",last_name:"Apellido",first_name_placeholder:"Zosimos",last_name_placeholder:"Panopolis",email_address:"Dirección de correo electrónico",email_placeholder:"alquimista@ejemplo.com",complexity_key:"Clave de complejidad",password_placeholder:"••••••••",init_account:"INICIALIZAR CUENTA",send_code:"ENVIAR CÓDIGO",unseal_engine:"DESSELLAR MOTOR",verify_code:"VERIFICAR CÓDIGO",change_email:"Cambiar dirección de correo electrónico",sign_in_code:"Iniciar sesión con código",sign_in_password:"Iniciar sesión con contraseña",already_alchemist:"¿Ya eres alquimista?",new_to_alchemy:"¿Nuevo en Alchemy?",login_instead:"Iniciar sesión",create_account:"Crear una cuenta",session_failed:"Error al crear la sesión",invalid_code:"Código inválido"},vF={filters:"Filtros",category:"Categoría",intelligence_score:"Puntuación de inteligencia",no_signals_in_category:"Aún no hay señales en {{category}}.",no_categories:"No hay categorías todavía.",discovery_hint:"Las señales se organizarán aquí una vez descubiertas.",loading_signals:"Cargando señales...",dismiss_hint:"Descartar (No me interesa)",signal_count_one:"{{count}} señal",signal_count_other:"{{count}} señales",time_min_ago:"Hace {{count}}m",time_hour_ago:"Hace {{count}}h",time_day_ago:"Hace {{count}}d",add_note_title:"Añadir nota",target:"Objetivo",note_placeholder:"Ingrese sus pensamientos, ideas o puntos de acción con respecto a esta señal...",save_note:"Guardar nota",view_all_sources:"Ver todas las fuentes",source_count_one:"{{count}} fuente",source_count_other:"{{count}} fuentes",source_found_in:"Encontrado en {{count}} fuentes diferentes",high_confidence:"Alta confianza - encontrado en {{count}} fuentes",new_signals:"Nuevas señales",smart_summary:"Resumen inteligente",entities:"Entidades",sources:"Fuentes",last_sync:"Última sincronización",syncnow:"Sincronizar ahora",all_time:"Todo el tiempo",checkpoint:"Punto de control",from:"Desde",score_high:"ALTO",score_medium:"MEDIO",score_low:"BAJO",sources_count:"{{count}} fuentes",open_source:"Abrir",add_note:"Nota",boost_topic:"Impulsar",boosted:"Impulsado",dismissed:"Descartado",remove_favourite:"Quitar de favoritos",add_favourite:"Agregar a favoritos",sync_history:"Historial de Sync",syncing:"Sincronizando...",sync_settings:"Ajustes de Sync",discovered:"Descubierto",original_source:"Fuente original",ai_summary:"Resumen IA",full_content:"Contenido completo",copied:"¡Copiado!",open_link:"Abrir",detail_title:"Detalles de la Señal",sync_from:"Sincronizar desde (Opcional)",urls_per_sync:"URLs por sincronización",sync_from_hint:"Deje vacío para sincronizar solo los nuevos URLs desde la última sincronización. Establezca una fecha para procesar URLs a partir de ese momento.",reset_checkpoint:"Reiniciar punto de control",reset_checkpoint_hint:"Borrar el punto de control de sincronización para forzar una resincronización completa a partir de su fecha de inicio.",sync_info:'El Alquimista rastrea su progreso automáticamente. Use "Sincronizar desde" para completar el historial o "Reiniciar punto de control" para empezar de cero.',save_settings:"Guardar ajustes",sync_saved:"Ajustes de sincronización guardados",checkpoint_reset:"Punto de control reiniciado",login_to_save:"Inicie sesión para guardar los ajustes",login_to_reset:"Inicie sesión para reiniciar el punto de control",status_updated:"Estado del motor actualizado a {{status}}",asset_ready:'¡El activo "{{title}}" está listo!',scanning:"Escaneando nuevas categorías y temas...",discovery_complete:"¡Descubrimiento de motores completado!",discovery_failed:"Fallo en el descubrimiento. Verifique los ajustes.",load_failed:"Error al cargar los motores",starting_run:"Iniciando ejecución del motor...",run_complete:"¡Ejecución del motor completa! Creado: {{title}}",run_started_desktop:"Ejecución del motor iniciada en el escritorio. Seguimiento como: {{id}}",run_failed:"Error al ejecutar el motor",brief_failed:"Error al generar el informe de producción",topic:"Tema",pipeline:"Pipeline"},_F={history:"Historial",ask_anything:"Pregunta cualquier cosa sobre tu historial de navegación...",sources:"Fuentes",processing:"Procesando tu consulta...",new_chat:"Nuevo Chat",no_messages:"Aún no hay mensajes. ¡Empieza una conversación!",no_history:"Aún no hay historial de chat.",title:"Preguntar al Alquimista",desc:"Puedo ayudarte a recordar información, resumir temas y encontrar ideas en tu historial de navegación.",thinking:"Explorando la memoria...",placeholder:"Pregunta sobre tu historial...",error_message:"Lo siento, encontré un error al procesar tu solicitud.",relevant_context:"Contexto relevante",match_score:"{{score}}% de coincidencia",rag_attribution:"El Alquimista usó estas {{count}} señales para responder",suggestions:{react:"¿Qué he leído sobre React recientemente?",ai:"Resume las últimas noticias de IA que visité.",finance:"¿Tengo algunas notas sobre Finanzas?",performance:"Encuentra artículos sobre 'Rendimiento'"}},bF={engines:"Motores Alchemist",assets:"Activos generados",newsletter:"Boletín",thread:"Hilo",generate:"Generar",processing_desktop:"Procesando en escritorio...",ensure_defaults:"Asegurar motores predeterminados",create_engine:"Crear motor",no_assets:"Aún no se han generado activos.",title:"Motor de Transmutación",desc:"Pipelines de generación activa y activos",generate_engines:"Generar motores",new_engine:"Nuevo motor",no_engines:"No hay motores configurados",no_engines_desc:"Crea tu primer pipeline para convertir señales automáticamente en boletines, hilos o informes de audio.",run_engine:"Iniciar motor",running:"Ejecutando...",last_run:"Última ejecución",never:"Nunca",schedule:"Programación",manual:"Manual",topic:"Tema",pipeline:"Pipeline",pause:"Pausa",resume:"Reanudar",view_json:"Ver JSON de informe de producción",json_contract:"Contrato sin estado y autónomo",json_desc:"Este JSON contiene el contexto completo (Señales + Persona de usuario) requerido para el Desktop Studio.",generating_asset:"Generando activo...",queued_desktop:"En cola para el escritorio...",desktop_processing:"La aplicación RealTimeX Desktop está procesando esta solicitud. Esta ventana se actualizará automáticamente una vez terminada.",unsupported_type:"Tipo de activo no compatible",edit_engine:"Editar motor",engine_name:"Nombre del motor",type:"Tipo",status:"Estado",execution_env:"Entorno de ejecución",local_llm:"Local (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Delega tareas pesadas como audio/video a la aplicación de escritorio.",env_desc_local:"Ejecuta tareas de Markdown simples directamente en Alchemy.",min_score:"Puntuación mínima",max_signals:"Señales máximas",category_filter:"Filtro de categoría (selección múltiple)",multi_select_hint:"Mantén presionado Cmd/Ctrl para seleccionar varias categorías",schedule_hint:"Nota: La programación aún no está automatizada",prompt_override:"Sobrescribir prompt personalizado (opcional)",prompt_placeholder:"Sobrescribe el prompt predeterminado para este tipo de motor...",delete_confirm:"¿Realmente quieres eliminarlo?",confirm:"Confirmar",copied_json:"JSON copiado al portapapeles",json_footer:"Este JSON contiene el contexto completo (Señales + Persona de Usuario) requerido para Desktop Studio."},wF={title:"Configuración de la cuenta",desc:"Administra tu perfil de Alchemist y los enlaces de esencia.",profile:"Perfil",security:"Seguridad",supabase:"Supabase",first_name:"Nombre",last_name:"Apellido",email_locked:"Dirección de correo electrónico (Bloqueada)",sound_effects:"Efectos de sonido",sound_desc:"Activa la respuesta sonora para eventos de sincronización y descubrimientos de señales.",sign_out:"Cerrar sesión",logout_desc:"Finaliza tu sesión actual y vuelve a la pantalla de inicio de sesión.",preserve_profile:"Preservar perfil",security_title:"Actualizar clave de entropía",new_password:"Nueva contraseña",confirm_password:"Confirmar contraseña",password_mismatch:"Las claves de complejidad no coinciden.",password_too_short:"Entropía demasiado baja. Mínimo 8 caracteres.",password_rotate_success:"Rotación de clave exitosa.",rotate_key:"Rotar clave",essence_resonance:"Resonancia de esencia",byok_desc:"Trae tus propias claves (BYOK) para la persistencia de la inteligencia.",established_link:"Enlace establecido",env_notice:"Activo desde variables de entorno. Sobrescritura de UI habilitada.",realign_link:"Realinear enlace",sever_link:"Cortar enlace",sever_confirm:"¿Cortar la conexión con esta esencia? Esto restablecerá la resonancia local.",anon_secret_fragment:"Fragmento secreto anónimo",no_resonance:"Sin resonancia de esencia",no_resonance_desc:"El Alchemist requiere un núcleo en la nube para almacenar fragmentos de inteligencia.",initiate_link:"Iniciar enlace",test_connection:"Probar conexión"},kF={title:"Registros del sistema",desc:"Historial detallado de ejecuciones de sincronización, fuentes y procesamiento de URL",blacklist_suggestion:"Lista negra potencial",blacklist_desc:"Candidatos para bloqueo",recent_errors:"Errores recientes",errors_desc:"Procesos de URL fallidos",total_signals:"Total de señales",signals_desc:"Extraídas con éxito",blacklist_modal_title:"Sugerencias de lista negra",blacklist_modal_desc:"Revisa los dominios sugeridos para la lista negra basados en puntuaciones bajas.",no_suggestions:"No hay sugerencias por ahora",quality_good:"¡La calidad de tus señales se ve bien!",signals_count:"{{count}} señales",avg_score:"Puntuación media: {{score}}",low_quality:"Qualidad consistentemente baja",repetitive:"Patrón repetitivo",blacklist_domain:"Lista negra de dominio",errors_modal_title:"Errores recientes",errors_modal_desc:"Registro de fallos y problemas recientes.",no_recent_errors:"No se encontraron errores recientes.",signals_modal_title:"Señales encontradas",signals_modal_desc:"Navega y administra tu historial de señales extraídas.",search_placeholder:"Buscar señales...",any_score:"Cualquier puntuación",high_score:"Alta (80%+)",medium_score:"Media (50-79%)",low_score:"Baja (<50%)",all_categories:"Todas las categorías",page_x:"Página {{page}}"},SF={title:"Motor Alchemist",live:"EN VIVO",clear:"Limpiar",idle:"Inactivo. Esperando eventos de minería de señales...",run_completed:"Ciclo de minería completado",signals:"Señales",urls:"URLs",skipped:"Omitidos",failed_to_process:"{{count}} URLs no pudieron procesarse",view_logs:"Ver registros",hide_details:"Ocultar detalles",view_details:"Ver detalles",engine_log:"Registro del motor en vivo",state_reading:"Lectura",state_thinking:"Pensando",state_signal:"Señal",state_skipped:"Omitido",state_error:"Error",state_completed:"Completado",msg_reading:"Leyendo contenido de: {{url}}",msg_thinking:"Analizando relevancia de: {{title}}",msg_found_signal:"Señal encontrada: {{summary}} ({{score}}%)",msg_low_signal:"Baja señal almacenada para revisión ({{score}}%): {{title}}",msg_failed:"Análisis fallido para {{title}}: {{error}}",msg_sync_completed:"Sincronización completada: {{signals}} señales encontradas, {{skipped}} omitidas, {{errors}} errores"},jF={switch_light:"Cambiar a modo claro",switch_dark:"Cambiar a modo oscuro",view_changelog:"Ver historial de cambios",release_notes:"Notas de la versión",changelog_error:"Error al cargar el historial de cambios."},EF={title:"Pulso de señales",mining:"Minería",standing_by:"En espera",idle:"Inactivo",tracked:"Señales rastreadas",avg_score:"Puntuación media",top_signal:"Mejor señal",latest:"Último",awaiting:"Esperando minería",no_signals:"Sin señales aún"},CF={title:"Motor de Inteligencia",subtitle:"Ajuste los parámetros cognitivos del Alquimista y los enlaces de proveedores.",configuration:"Configuración de IA",test_connection:"Probar Conexión",save_config:"Guardar Configuración",llm_provider:"Proveedor LLM",embedding_provider:"Proveedor de Incrustación",sdk_connected:"SDK Conectado",sdk_not_available:"SDK No Disponible",provider:"Proveedor",intelligence_model:"Modelo de Inteligencia",embedding_model:"Modelo de Incrustación",loading_providers:"Cargando proveedores...",sdk_info_success:"✓ Usando el proveedor configurado de RealTimeX",sdk_info_fail:"⚠️ SDK de RealTimeX no detectado. Configure en RealTimeX Desktop.",embedding_info_success:"✓ Las incrustaciones se generan usando su proveedor configurado de RealTimeX",embedding_info_fail:"⚠️ SDK de RealTimeX no detectado. Configure proveedores en RealTimeX Desktop.",persona_title:"Memoria de Persona",save_memory:"Guardar Memoria",interests_title:"Intereses Activos",interests_priority:"Prioridad Alta",interests_desc:"El Alquimista prioriza el contenido que coincide con estos temas. Se actualiza automáticamente según Favoritos y Boosts.",interests_placeholder:"ej. El usuario se centra en el rendimiento de React, sistemas backend de Rust y arquitectura de agentes de IA...",antipatterns_title:"Anti-Patrones",antipatterns_priority:"Evitar",antipatterns_desc:"El Alquimista filtra o reduce la puntuación del contenido que coincide con estos patrones. Actualizado a través de Descartes.",antipatterns_placeholder:"ej. No le gusta el marketing vacío, las listas genéricas y el hype de las criptomonedas...",browser_sources:"Fuentes del Historial del Navegador",save_browser:"Guardar Fuentes",blacklist_title:"Lista Negra de Dominios",blacklist_desc:"Las URLs que contienen estos patrones se omitirán durante la minería. Ingrese un patrón por línea.",blacklist_label:"Patrones de Dominio (uno por línea)",blacklist_placeholder:`google.com/search
147
147
  localhost:
148
148
  127.0.0.1
149
149
  facebook.com
150
150
  twitter.com
151
151
  instagram.com
152
- linkedin.com/feed`,blacklist_examples:"Ejemplos: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"Guardar Lista Negra",blocked_tags_title:"Etiquetas Bloqueadas",blocked_tags_desc:"Las señales con estas etiquetas se excluirán de la generación dinámica de categorías y boletines. Ingrese una etiqueta por línea.",blocked_tags_label:"Etiquetas (separadas por punto y coma)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"Tienes control total. Estas etiquetas reemplazarán completamente los valores predeterminados del sistema.",save_blocked_tags:"Guardar Etiquetas Bloqueadas",save_error_login:"Por favor, inicie sesión para guardar los ajustes",save_error_persona:"Por favor, inicie sesión para guardar la persona",save_success_llm:"Ajustes de LLM guardados con éxito",save_success_browser:"Fuentes del navegador guardadas con éxito",save_success_blacklist:"Lista negra actualizada con éxito",save_success_tags:"Etiquetas bloqueadas actualizadas con éxito",save_success_persona:"Persona actualizada con éxito",test_success:"¡Conexión exitosa! {{model}}",test_fail:"Conexión fallida: {{message}}",auto_detect_title:"Auto-Detectar Navegadores",scan_system:"Escanear Sistema",scanning:"Escaneando...",auto_detected:"Auto-detectado",custom:"Personalizado",add_source:"Añadir Fuente",already_added:"Ya Añadido",not_found:"No encontrado en este sistema",add_custom_path:"Añadir Ruta Personalizada",custom_path_placeholder:"/ruta/al/navegador/Historial",add_custom_source:"Añadir Fuente Personalizada",validating:"Validando...",configured_sources:"Fuentes Configuradas ({{count}})",enabled:"Habilitado",disabled:"Deshabilitado",invalid_path:"Ruta inválida: {{error}}",validation_failed:"Error al validar la ruta"},TF={common:mF,tabs:gF,setup:yF,auth:xF,discovery:vF,chat:_F,transmute:bF,account:wF,logs:kF,terminal:SF,shell:jF,stats:EF,engine:CF},NF={save:"저장",cancel:"취소",loading:"로딩 중...",error:"오류",success:"성공",settings:"설정",search:"검색",back:"뒤로",all:"전체",delete:"삭제",update:"업데이트",edit:"편집",close:"닫기",complete:"완료",skip:"건너뛰기",begin:"시작",connection:"연결",setup:"설정",project:"프로젝트",account:"계정",logout:"로그아웃",welcome:"환영합니다",dark_mode:"다크 모드",light_mode:"라이트 모드",collapse:"접기",just_now:"방금 전",enabled:"활성화됨",disabled:"비활성화됨",quick:"빠름 (5)",balanced:"균형 (50)",thorough:"철저함 (200)",resetting:"초기화 중...",saving:"저장 중...",locale_code:"ko-KR",categories:{ai_ml:"AI 및 ML",business:"비즈니스",politics:"정치",technology:"기술",finance:"금융",crypto:"크립토",science:"과학",other:"기타"}},AF={discovery:"검색",chat:"채팅",transmute:"변환",logs:"시스템 로그",history:"기록"},RF={welcome_title:"엔진 조립",welcome_desc:"Alchemy는 신호 파편과 지능 패턴을 저장하기 위해 Supabase 에센스가 필요합니다.",requirements:"요구 사항:",project_url:"Supabase 프로젝트 URL",anon_key:"익명 공용 API 키",db_password:"데이터베이스 비밀번호",project_url_placeholder:"https://xxx.supabase.co 또는 project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"초기화 시작",connect_essence:"에센스 연결",credentials_title:"에센스 좌표",credentials_desc:"연금술사 엔진을 클라우드 데이터베이스와 연결",validating:"링크 확인 중",resonance:"공명 동기화 중...",init_schema:"스키마 초기화",schema_desc:"필요한 테이블과 기능을 설정하기 위해 데이터베이스 마이그레이션을 실행합니다.",project_id:"프로젝트 ID",access_token:"액세스 토큰",run_migrations:"마이그레이션 실행",running_migrations:"마이그레이션 실행 중",take_minute:"잠시만 기다려 주세요...",engine_aligned:"엔진 정렬 완료",restarting:"Alchemist 하위 시스템 재시작 중...",forge_project:"Supabase에서 프로젝트 만들기",project_id_help:"Supabase 대시보드 → 프로젝트 설정 → 일반에서 확인 가능",access_token_help:"여기에서 생성:",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"프로젝트 ID가 필요합니다",access_token_required:"액세스 토큰이 필요합니다",migration_failed_logs:"마이그레이션 실패. 자세한 내용은 로그를 확인하세요.",stream_error:"마이그레이션 스트림을 읽지 못했습니다",back:"뒤로",retry:"재시도"},PF={title_init:"마스터 초기화",title_join:"서클 가입",title_mystic:"신비로운 접속",title_login:"연금술사 로그인",desc_init:"최초의 연금술사 계정 생성",desc_mystic_email:"에센스 이메일 입력",desc_mystic_code:"신성한 코드 변환",desc_login:"데이터를 지능으로 변환",first_name:"이름",last_name:"성",first_name_placeholder:"조시모스",last_name_placeholder:"파노폴리스",email_address:"이메일 주소",email_placeholder:"alchemist@example.com",complexity_key:"복잡성 키",password_placeholder:"••••••••",init_account:"계정 초기화",send_code:"코드 전송",unseal_engine:"엔진 봉인 해제",verify_code:"코드 확인",change_email:"이메일 주소 변경",sign_in_code:"코드로 로그인",sign_in_password:"비밀번호로 로그인",already_alchemist:"이미 멤버이신가요?",new_to_alchemy:"Alchemy가 처음이신가요?",login_instead:"로그인하기",create_account:"계정 만들기",session_failed:"세션 생성 실패",invalid_code:"유효하지 않은 코드"},OF={filters:"필터",category:"카테고리",intelligence_score:"지능 점수",no_signals_in_category:"{{category}}에 아직 신호가 없습니다.",no_categories:"아직 카테고리가 없습니다.",discovery_hint:"신호가 발견되면 여기에 정리됩니다.",loading_signals:"신호를 불러오는 중...",dismiss_hint:"무시하기 (관심 없음)",signal_count_one:"{{count}}개의 신호",signal_count_other:"{{count}}개의 신호",time_min_ago:"{{count}}분 전",time_hour_ago:"{{count}}시간 전",time_day_ago:"{{count}}일 전",add_note_title:"노트 추가",target:"대상",note_placeholder:"이 신호에 대한 생각, 아이디어 또는 실행 항목을 입력하세요...",save_note:"노트 저장",view_all_sources:"모든 소스 보기",source_count_one:"{{count}}개의 소스",source_count_other:"{{count}}개의 소스",source_found_in:"{{count}}개의 다른 소스에서 발견됨",high_confidence:"높은 신뢰도 - {{count}}개의 소스에서 발견됨",new_signals:"새로운 신호",smart_summary:"스마트 요약",entities:"엔티티",sources:"소스",last_sync:"최근 동기화",syncnow:"지금 동기화",all_time:"전체 기간",checkpoint:"체크포인트",from:"시작일",score_high:"높음",score_medium:"중간",score_low:"낮음",sources_count:"{{count}}개 출처",open_source:"열기",add_note:"노트",boost_topic:"토픽 부스트",boosted:"부스트됨",dismissed:"숨김",remove_favourite:"즐겨찾기 삭제",add_favourite:"즐겨찾기 추가",sync_history:"동기화 기록",syncing:"동기화 중...",sync_settings:"동기화 설정",discovered:"발견됨",original_source:"원본 소스",ai_summary:"AI 요약",full_content:"전체 내용",copied:"복사됨!",open_link:"열기",detail_title:"신호 상세 정보",sync_from:"동기화 시작 날짜 (선택 사항)",urls_per_sync:"동기화당 URL 수",sync_from_hint:"마지막 동기화 이후의 새 URL만 동기화하려면 비워 두세요. 특정 날짜부터 URL을 처리하려면 날짜를 설정하세요.",reset_checkpoint:"체크포인트 초기화",reset_checkpoint_hint:"동기화 체크포인트를 지워 설정한 날짜부터 전체 재동기화를 강제합니다.",sync_info:"알케미스트는 자동으로 진행 상황을 추적합니다. '동기화 시작 날짜'를 사용하여 이전 내역을 채우거나 '체크포인트 초기화'를 사용하여 새로 시작하세요.",save_settings:"설정 저장",sync_saved:"동기화 설정이 저장되었습니다",checkpoint_reset:"체크포인트가 초기화되었습니다",login_to_save:"설정을 저장하려면 로그인하세요",login_to_reset:"체크포인트를 초기화하려면 로그인하세요",status_updated:"엔진 상태가 {{status}}(으)로 업데이트되었습니다",asset_ready:'에셋 "{{title}}"이(가) 준비되었습니다!',scanning:"새로운 카테고리 및 주제 스캔 중...",discovery_complete:"엔진 검색 완료!",discovery_failed:"검색 실패. 설정을 확인하세요.",load_failed:"엔진을 불러오지 못했습니다",starting_run:"엔진 실행 시작 중...",run_complete:"엔진 실행 완료! 생성됨: {{title}}",run_started_desktop:"데스크톱에서 엔진 실행이 시작되었습니다. 추적 ID: {{id}}",run_failed:"엔진 실행 실패",brief_failed:"프로덕션 브리프 생성 실패",copied_json:"JSON이 클립보드에 복사되었습니다",json_footer:"이 JSON에는 데스크톱 스튜디오에 필요한 전체 컨텍스트(신호 + 사용자 페르ソ나)가 포함되어 있습니다.",topic:"주제",pipeline:"파이프라인"},LF={history:"기록",ask_anything:"브라우징 기록에 대해 무엇이든 물어보세요...",sources:"소스",processing:"쿼리 처리 중...",new_chat:"새 채팅",no_messages:"아직 메시지가 없습니다. 대화를 시작해 보세요!",no_history:"아직 채팅 기록이 없습니다.",title:"알케미스트에게 물어보세요",desc:"방문 기록에서 정보를 기억하거나 주제를 요약하고 통찰력을 찾는 데 도움을 드릴 수 있습니다.",thinking:"메모리 탐색 중...",placeholder:"검색 기록에 대해 물어보세요...",error_message:"죄송합니다. 요청을 처리하는 동안 오류가 발생했습니다.",relevant_context:"관련 컨텍스트",match_score:"{{score}}% 일치",rag_attribution:"알케미스트는 이 답변을 위해 {{count}}개의 신호를 사용했습니다.",suggestions:{react:"최근에 React에 대해 무엇을 읽었나요?",ai:"최근 방문한 AI 뉴스 요약해줘.",finance:"금융에 관한 메모가 있나요?",performance:"'성능'에 관한 기사 찾아줘."}},IF={engines:"Alchemist 엔진",assets:"생성된 자산",newsletter:"뉴스레터",thread:"스레드",generate:"생성",processing_desktop:"데스크톱에서 처리 중...",ensure_defaults:"기본 엔진 확인",create_engine:"엔진 생성",no_assets:"아직 생성된 자산이 없습니다.",title:"변환 엔진",desc:"활성 생성 파이프라인 및 자산",generate_engines:"엔진 생성",new_engine:"새 엔진",no_engines:"구성된 엔진이 없습니다.",no_engines_desc:"신호를 자동으로 뉴스레터, 스레드 또는 오디오 브리핑으로 변환하는 첫 번째 파이프라인을 만드세요.",run_engine:"엔진 실행",running:"실행 중...",last_run:"최근 실행",never:"한 번도 없음",schedule:"일정",manual:"수동",topic:"주제",pipeline:"파이프라인",pause:"일시 중지",resume:"재개",view_json:"프로덕션 브리프 JSON 보기",json_contract:"상태 비저장 및 자체 포함 계약",json_desc:"이 JSON에는 Desktop Studio에 필요한 전체 컨텍스트(신호 + 사용자 페르소나)가 포함되어 있습니다.",generating_asset:"자산 생성 중...",queued_desktop:"데스크톱 대기열에 추가됨...",desktop_processing:"RealTimeX 데스크톱 앱에서 이 요청을 처리하고 있습니다. 완료되면 이 모달이 자동으로 업데이트됩니다.",unsupported_type:"지원되지 않는 자산 유형",edit_engine:"엔진 편집",engine_name:"엔진 이름",type:"유형",status:"상태",execution_env:"실행 환경",local_llm:"로컬 (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (에이전트 스웜)",env_desc_desktop:"오디오/비디오와 같은 무거운 작업을 데스크톱 앱에 위임합니다.",env_desc_local:"단순한 Markdown 작업을 Alchemy에서 직접 실행합니다.",min_score:"최소 점수",max_signals:"최대 신호 수",category_filter:"카테고리 필터 (다중 선택)",multi_select_hint:"여러 카테고리를 선택하려면 Cmd/Ctrl를 누르세요.",schedule_hint:"참고: 예약은 아직 자동화되지 않았습니다.",prompt_override:"사용자 정의 프롬프트 재정의 (선택 사항)",prompt_placeholder:"이 엔진 유형에 대한 기본 프롬프트를 재정의합니다...",delete_confirm:"정말 삭제하시겠습니까?",confirm:"확인"},DF={title:"계정 설정",desc:"Alchemist 프로필 및 에센스 링크를 관리합니다.",profile:"프로필",security:"보안",supabase:"Supabase",first_name:"이름",last_name:"성",email_locked:"이메일 주소 (잠금됨)",sound_effects:"사운드 효과",sound_desc:"동기화 이벤트 및 신호 검색에 대한 오디오 피드백을 활성화합니다.",sign_out:"로그아웃",logout_desc:"현재 세션을 종료하고 로그인 화면으로 돌아갑니다.",preserve_profile:"프로필 저장",security_title:"엔트로피 키 업데이트",new_password:"새 비밀번호",confirm_password:"비밀번호 확인",password_mismatch:"비밀번호가 일치하지 않습니다.",password_too_short:"엔트로피가 너무 낮습니다. 최소 8자 이상이어야 합니다.",password_rotate_success:"키 교체 성공.",rotate_key:"키 교체",essence_resonance:"에센스 공명",byok_desc:"지능 보존을 위해 자신의 키(BYOK)를 사용합니다.",established_link:"연결됨",env_notice:"환경 변수에서 활성화되었습니다. UI 재정의가 가능합니다.",realign_link:"링크 재정렬",sever_link:"링크 끊기",sever_confirm:"이 에센스와의 연결을 끊으시겠습니까? 로컬 공명이 초기화됩니다.",anon_secret_fragment:"익명 비밀 프래그먼트",no_resonance:"에센스 공명 없음",no_resonance_desc:"Alchemist는 지능 프래그먼트를 저장하기 위해 클라우드 코어가 필요합니다.",initiate_link:"링크 시작",test_connection:"연결 테스트"},MF={title:"시스템 로그",desc:"동기화 실행, 소스 및 URL 처리의 상세 내역",blacklist_suggestion:"블랙리스트 제안",blacklist_desc:"차단 후보",recent_errors:"최근 오류",errors_desc:"실패한 URL 처리",total_signals:"총 신호",signals_desc:"성공적으로 추출됨",blacklist_modal_title:"블랙리스트 제안",blacklist_modal_desc:"낮은 점수를 바탕으로 블랙리스트에 제안된 도메인을 검토합니다.",no_suggestions:"현재 제안 없음",quality_good:"신호 품질이 좋습니다!",signals_count:"{{count}}개 신호",avg_score:"평균 점수: {{score}}",low_quality:"지속적으로 낮은 품질",repetitive:"반복적인 패턴",blacklist_domain:"도메인 블랙리스트 추가",errors_modal_title:"최근 오류",errors_modal_desc:"최근 실패 및 문제 로그.",no_recent_errors:"최근 오류가 없습니다.",signals_modal_title:"찾은 신호",signals_modal_desc:"추출된 신호 내역을 검색하고 관리합니다.",search_placeholder:"신호 검색...",any_score:"모든 점수",high_score:"높음 (80%+)",medium_score:"중간 (50-79%)",low_score:"낮음 (<50%)",all_categories:"모든 카테고리",page_x:"페이지 {{page}}"},zF={title:"Alchemist 엔진",live:"라이브",clear:"지우기",idle:"대기 중. 신호 마이닝 이벤트를 기다리는 중...",run_completed:"마이닝 실행 완료",signals:"신호",urls:"URL",skipped:"건너뜀",failed_to_process:"{{count}}개의 URL 처리에 실패했습니다",view_logs:"로그 보기",hide_details:"상세 숨기기",view_details:"상세 보기",engine_log:"라이브 엔진 로그",state_reading:"읽기 중",state_thinking:"생각 중",state_signal:"신호 발견",state_skipped:"건너뜀",state_error:"오류",state_completed:"완료",msg_reading:"콘텐츠 읽는 중: {{url}}",msg_thinking:"{{title}}의 관련성 분석 중",msg_found_signal:"신호 발견: {{summary}} ({{score}}%)",msg_low_signal:"검토를 위해 저장된 낮은 신호 ({{score}}%): {{title}}",msg_failed:"{{title}} 분석 실패: {{error}}",msg_sync_completed:"동기화 완료: 신호 {{signals}}개 발견, {{skipped}}개 건너뜀, {{errors}}개 오류"},FF={switch_light:"라이트 모드로 전환",switch_dark:"다크 모드로 전환",view_changelog:"변경 이력 보기",release_notes:"릴리스 노트",changelog_error:"변경 이력을 불러오지 못했습니다."},$F={title:"신호 펄스",mining:"마이닝 중",standing_by:"대기 중",idle:"유휴 상태",tracked:"추적된 신호",avg_score:"평균 점수",top_signal:"최고 신호",latest:"최근",awaiting:"마이닝 대기 중",no_signals:"아직 신호 없음"},UF={title:"인텔리전스 엔진",subtitle:"알케미스트의 인지 파라미터와 제공자 링크를 미세 조정하세요.",configuration:"AI 구성",test_connection:"연결 테스트",save_config:"구성 저장",llm_provider:"LLM 제공자",embedding_provider:"임베딩 제공자",sdk_connected:"SDK 연결됨",sdk_not_available:"SDK 사용 불가",provider:"제공자",intelligence_model:"인텔리전스 모델",embedding_model:"임베딩 모델",loading_providers:"제공자 로딩 중...",sdk_info_success:"✓ RealTimeX 설정된 제공자 사용 중",sdk_info_fail:"⚠️ RealTimeX SDK가 감지되지 않았습니다. RealTimeX Desktop에서 구성하세요.",embedding_info_success:"✓ RealTimeX 설정된 제공자를 사용하여 임베딩이 생성됩니다",embedding_info_fail:"⚠️ RealTimeX SDK가 감지되지 않았습니다. RealTimeX Desktop에서 제공자를 구성하세요.",persona_title:"페르소나 메모리",save_memory:"메모리 저장",interests_title:"활발한 관심사",interests_priority:"높은 우선순위",interests_desc:"알케미스트는 이 주제와 일치하는 콘텐츠를 우선시합니다. 즐겨찾기 및 부스트를 기반으로 자동 업데이트됩니다.",interests_placeholder:"예: 사용자는 React 성능, Rust 백엔드 시스템 및 AI 에이전트 아키텍처에 집중함...",antipatterns_title:"안티 패턴",antipatterns_priority:"회피",antipatterns_desc:"알케미스트는 이 패턴과 일치하는 콘텐츠를 필터링하거나 점수를 낮춥니다. 거부를 통해 업데이트됩니다.",antipatterns_placeholder:"예: 마케팅 수식어, 일반적인 목록형 기사, 크립토 하이프를 싫어함...",browser_sources:"브라우저 히스토리 소스",save_browser:"브라우저 소스 저장",blacklist_title:"블랙리스트 도메인",blacklist_desc:"이 패턴을 포함하는 URL은 마이닝 중에 건너뜁니다. 한 줄에 하나의 패턴을 입력하세요.",blacklist_label:"도메인 패턴 (한 줄에 하나)",blacklist_placeholder:`google.com/search
152
+ linkedin.com/feed`,blacklist_examples:"Ejemplos: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"Guardar Lista Negra",blocked_tags_title:"Etiquetas Bloqueadas",blocked_tags_desc:"Las señales con estas etiquetas se excluirán de la generación dinámica de categorías y boletines. Ingrese una etiqueta por línea.",blocked_tags_label:"Etiquetas (separadas por punto y coma)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"Tienes control total. Estas etiquetas reemplazarán completamente los valores predeterminados del sistema.",save_blocked_tags:"Guardar Etiquetas Bloqueadas",save_error_login:"Por favor, inicie sesión para guardar los ajustes",save_error_persona:"Por favor, inicie sesión para guardar la persona",save_success_llm:"Ajustes de LLM guardados con éxito",save_success_browser:"Fuentes del navegador guardadas con éxito",save_success_blacklist:"Lista negra actualizada con éxito",save_success_tags:"Etiquetas bloqueadas actualizadas con éxito",save_success_persona:"Persona actualizada con éxito",test_success:"¡Conexión exitosa! {{model}}",test_fail:"Conexión fallida: {{message}}",auto_detect_title:"Auto-Detectar Navegadores",scan_system:"Escanear Sistema",scanning:"Escaneando...",auto_detected:"Auto-detectado",custom:"Personalizado",add_source:"Añadir Fuente",already_added:"Ya Añadido",not_found:"No encontrado en este sistema",add_custom_path:"Añadir Ruta Personalizada",custom_path_placeholder:"/ruta/al/navegador/Historial",add_custom_source:"Añadir Fuente Personalizada",validating:"Validando...",configured_sources:"Fuentes Configuradas ({{count}})",enabled:"Habilitado",disabled:"Deshabilitado",invalid_path:"Ruta inválida: {{error}}",validation_failed:"Error al validar la ruta"},TF={common:mF,tabs:gF,setup:yF,auth:xF,discovery:vF,chat:_F,transmute:bF,account:wF,logs:kF,terminal:SF,shell:jF,stats:EF,engine:CF},NF={save:"저장",cancel:"취소",loading:"로딩 중...",error:"오류",success:"성공",settings:"설정",search:"검색",back:"뒤로",all:"전체",delete:"삭제",update:"업데이트",edit:"편집",close:"닫기",complete:"완료",skip:"건너뛰기",begin:"시작",connection:"연결",setup:"설정",project:"프로젝트",account:"계정",logout:"로그아웃",welcome:"환영합니다",dark_mode:"다크 모드",light_mode:"라이트 모드",collapse:"접기",just_now:"방금 전",enabled:"활성화됨",disabled:"비활성화됨",quick:"빠름 (5)",balanced:"균형 (50)",thorough:"철저함 (200)",resetting:"초기화 중...",saving:"저장 중...",locale_code:"ko-KR",categories:{ai_ml:"AI 및 ML",business:"비즈니스",politics:"정치",technology:"기술",finance:"금융",crypto:"크립토",science:"과학",other:"기타"}},AF={discovery:"검색",chat:"채팅",transmute:"변환",logs:"시스템 로그",history:"기록"},RF={welcome_title:"엔진 조립",welcome_desc:"Alchemy는 신호 파편과 지능 패턴을 저장하기 위해 Supabase 에센스가 필요합니다.",requirements:"요구 사항:",project_url:"Supabase 프로젝트 URL",anon_key:"익명 공용 API 키",db_password:"데이터베이스 비밀번호",project_url_placeholder:"https://xxx.supabase.co 또는 project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"초기화 시작",connect_essence:"에센스 연결",credentials_title:"에센스 좌표",credentials_desc:"연금술사 엔진을 클라우드 데이터베이스와 연결",validating:"링크 확인 중",resonance:"공명 동기화 중...",init_schema:"스키마 초기화",schema_desc:"필요한 테이블과 기능을 설정하기 위해 데이터베이스 마이그레이션을 실행합니다.",project_id:"프로젝트 ID",access_token:"액세스 토큰",run_migrations:"마이그레이션 실행",running_migrations:"마이그레이션 실행 중",take_minute:"잠시만 기다려 주세요...",engine_aligned:"엔진 정렬 완료",restarting:"Alchemist 하위 시스템 재시작 중...",forge_project:"Supabase에서 프로젝트 만들기",project_id_help:"Supabase 대시보드 → 프로젝트 설정 → 일반에서 확인 가능",access_token_help:"여기에서 생성:",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"프로젝트 ID가 필요합니다",access_token_required:"액세스 토큰이 필요합니다",migration_failed_logs:"마이그레이션 실패. 자세한 내용은 로그를 확인하세요.",stream_error:"마이그레이션 스트림을 읽지 못했습니다",back:"뒤로",retry:"재시도"},PF={title_init:"마스터 초기화",title_join:"서클 가입",title_mystic:"신비로운 접속",title_login:"연금술사 로그인",desc_init:"최초의 연금술사 계정 생성",desc_mystic_email:"에센스 이메일 입력",desc_mystic_code:"신성한 코드 변환",desc_login:"데이터를 지능으로 변환",first_name:"이름",last_name:"성",first_name_placeholder:"조시모스",last_name_placeholder:"파노폴리스",email_address:"이메일 주소",email_placeholder:"alchemist@example.com",complexity_key:"복잡성 키",password_placeholder:"••••••••",init_account:"계정 초기화",send_code:"코드 전송",unseal_engine:"엔진 봉인 해제",verify_code:"코드 확인",change_email:"이메일 주소 변경",sign_in_code:"코드로 로그인",sign_in_password:"비밀번호로 로그인",already_alchemist:"이미 멤버이신가요?",new_to_alchemy:"Alchemy가 처음이신가요?",login_instead:"로그인하기",create_account:"계정 만들기",session_failed:"세션 생성 실패",invalid_code:"유효하지 않은 코드"},OF={filters:"필터",category:"카테고리",intelligence_score:"지능 점수",no_signals_in_category:"{{category}}에 아직 신호가 없습니다.",no_categories:"아직 카테고리가 없습니다.",discovery_hint:"신호가 발견되면 여기에 정리됩니다.",loading_signals:"신호를 불러오는 중...",dismiss_hint:"무시하기 (관심 없음)",signal_count_one:"{{count}}개의 신호",signal_count_other:"{{count}}개의 신호",time_min_ago:"{{count}}분 전",time_hour_ago:"{{count}}시간 전",time_day_ago:"{{count}}일 전",add_note_title:"노트 추가",target:"대상",note_placeholder:"이 신호에 대한 생각, 아이디어 또는 실행 항목을 입력하세요...",save_note:"노트 저장",view_all_sources:"모든 소스 보기",source_count_one:"{{count}}개의 소스",source_count_other:"{{count}}개의 소스",source_found_in:"{{count}}개의 다른 소스에서 발견됨",high_confidence:"높은 신뢰도 - {{count}}개의 소스에서 발견됨",new_signals:"새로운 신호",smart_summary:"스마트 요약",entities:"엔티티",sources:"소스",last_sync:"최근 동기화",syncnow:"지금 동기화",all_time:"전체 기간",checkpoint:"체크포인트",from:"시작일",score_high:"높음",score_medium:"중간",score_low:"낮음",sources_count:"{{count}}개 출처",open_source:"열기",add_note:"노트",boost_topic:"토픽 부스트",boosted:"부스트됨",dismissed:"숨김",remove_favourite:"즐겨찾기 삭제",add_favourite:"즐겨찾기 추가",sync_history:"동기화 기록",syncing:"동기화 중...",sync_settings:"동기화 설정",discovered:"발견됨",original_source:"원본 소스",ai_summary:"AI 요약",full_content:"전체 내용",copied:"복사됨!",open_link:"열기",detail_title:"신호 상세 정보",sync_from:"동기화 시작 날짜 (선택 사항)",urls_per_sync:"동기화당 URL 수",sync_from_hint:"마지막 동기화 이후의 새 URL만 동기화하려면 비워 두세요. 특정 날짜부터 URL을 처리하려면 날짜를 설정하세요.",reset_checkpoint:"체크포인트 초기화",reset_checkpoint_hint:"동기화 체크포인트를 지워 설정한 날짜부터 전체 재동기화를 강제합니다.",sync_info:"알케미스트는 자동으로 진행 상황을 추적합니다. '동기화 시작 날짜'를 사용하여 이전 내역을 채우거나 '체크포인트 초기화'를 사용하여 새로 시작하세요.",save_settings:"설정 저장",sync_saved:"동기화 설정이 저장되었습니다",checkpoint_reset:"체크포인트가 초기화되었습니다",login_to_save:"설정을 저장하려면 로그인하세요",login_to_reset:"체크포인트를 초기화하려면 로그인하세요",status_updated:"엔진 상태가 {{status}}(으)로 업데이트되었습니다",asset_ready:'에셋 "{{title}}"이(가) 준비되었습니다!',scanning:"새로운 카테고리 및 주제 스캔 중...",discovery_complete:"엔진 검색 완료!",discovery_failed:"검색 실패. 설정을 확인하세요.",load_failed:"엔진을 불러오지 못했습니다",starting_run:"엔진 실행 시작 중...",run_complete:"엔진 실행 완료! 생성됨: {{title}}",run_started_desktop:"데스크톱에서 엔진 실행이 시작되었습니다. 추적 ID: {{id}}",run_failed:"엔진 실행 실패",brief_failed:"프로덕션 브리프 생성 실패",topic:"주제",pipeline:"파이프라인"},LF={history:"기록",ask_anything:"브라우징 기록에 대해 무엇이든 물어보세요...",sources:"소스",processing:"쿼리 처리 중...",new_chat:"새 채팅",no_messages:"아직 메시지가 없습니다. 대화를 시작해 보세요!",no_history:"아직 채팅 기록이 없습니다.",title:"알케미스트에게 물어보세요",desc:"방문 기록에서 정보를 기억하거나 주제를 요약하고 통찰력을 찾는 데 도움을 드릴 수 있습니다.",thinking:"메모리 탐색 중...",placeholder:"검색 기록에 대해 물어보세요...",error_message:"죄송합니다. 요청을 처리하는 동안 오류가 발생했습니다.",relevant_context:"관련 컨텍스트",match_score:"{{score}}% 일치",rag_attribution:"알케미스트는 이 답변을 위해 {{count}}개의 신호를 사용했습니다.",suggestions:{react:"최근에 React에 대해 무엇을 읽었나요?",ai:"최근 방문한 AI 뉴스 요약해줘.",finance:"금융에 관한 메모가 있나요?",performance:"'성능'에 관한 기사 찾아줘."}},IF={engines:"Alchemist 엔진",assets:"생성된 자산",newsletter:"뉴스레터",thread:"스레드",generate:"생성",processing_desktop:"데스크톱에서 처리 중...",ensure_defaults:"기본 엔진 확인",create_engine:"엔진 생성",no_assets:"아직 생성된 자산이 없습니다.",title:"변환 엔진",desc:"활성 생성 파이프라인 및 자산",generate_engines:"엔진 생성",new_engine:"새 엔진",no_engines:"구성된 엔진이 없습니다.",no_engines_desc:"신호를 자동으로 뉴스레터, 스레드 또는 오디오 브리핑으로 변환하는 첫 번째 파이프라인을 만드세요.",run_engine:"엔진 실행",running:"실행 중...",last_run:"최근 실행",never:"한 번도 없음",schedule:"일정",manual:"수동",topic:"주제",pipeline:"파이프라인",pause:"일시 중지",resume:"재개",view_json:"프로덕션 브리프 JSON 보기",json_contract:"상태 비저장 및 자체 포함 계약",json_desc:"이 JSON에는 Desktop Studio에 필요한 전체 컨텍스트(신호 + 사용자 페르소나)가 포함되어 있습니다.",generating_asset:"자산 생성 중...",queued_desktop:"데스크톱 대기열에 추가됨...",desktop_processing:"RealTimeX 데스크톱 앱에서 이 요청을 처리하고 있습니다. 완료되면 이 모달이 자동으로 업데이트됩니다.",unsupported_type:"지원되지 않는 자산 유형",edit_engine:"엔진 편집",engine_name:"엔진 이름",type:"유형",status:"상태",execution_env:"실행 환경",local_llm:"로컬 (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (에이전트 스웜)",env_desc_desktop:"오디오/비디오와 같은 무거운 작업을 데스크톱 앱에 위임합니다.",env_desc_local:"단순한 Markdown 작업을 Alchemy에서 직접 실행합니다.",min_score:"최소 점수",max_signals:"최대 신호 수",category_filter:"카테고리 필터 (다중 선택)",multi_select_hint:"여러 카테고리를 선택하려면 Cmd/Ctrl를 누르세요.",schedule_hint:"참고: 예약은 아직 자동화되지 않았습니다.",prompt_override:"사용자 정의 프롬프트 재정의 (선택 사항)",prompt_placeholder:"이 엔진 유형에 대한 기본 프롬프트를 재정의합니다...",delete_confirm:"정말 삭제하시겠습니까?",confirm:"확인",copied_json:"JSON이 클립보드에 복사되었습니다",json_footer:"이 JSON에는 데스크톱 스튜디오에 필요한 전체 컨텍스트(신호 + 사용자 페르소나)가 포함되어 있습니다."},DF={title:"계정 설정",desc:"Alchemist 프로필 및 에센스 링크를 관리합니다.",profile:"프로필",security:"보안",supabase:"Supabase",first_name:"이름",last_name:"성",email_locked:"이메일 주소 (잠금됨)",sound_effects:"사운드 효과",sound_desc:"동기화 이벤트 및 신호 검색에 대한 오디오 피드백을 활성화합니다.",sign_out:"로그아웃",logout_desc:"현재 세션을 종료하고 로그인 화면으로 돌아갑니다.",preserve_profile:"프로필 저장",security_title:"엔트로피 키 업데이트",new_password:"새 비밀번호",confirm_password:"비밀번호 확인",password_mismatch:"비밀번호가 일치하지 않습니다.",password_too_short:"엔트로피가 너무 낮습니다. 최소 8자 이상이어야 합니다.",password_rotate_success:"키 교체 성공.",rotate_key:"키 교체",essence_resonance:"에센스 공명",byok_desc:"지능 보존을 위해 자신의 키(BYOK)를 사용합니다.",established_link:"연결됨",env_notice:"환경 변수에서 활성화되었습니다. UI 재정의가 가능합니다.",realign_link:"링크 재정렬",sever_link:"링크 끊기",sever_confirm:"이 에센스와의 연결을 끊으시겠습니까? 로컬 공명이 초기화됩니다.",anon_secret_fragment:"익명 비밀 프래그먼트",no_resonance:"에센스 공명 없음",no_resonance_desc:"Alchemist는 지능 프래그먼트를 저장하기 위해 클라우드 코어가 필요합니다.",initiate_link:"링크 시작",test_connection:"연결 테스트"},MF={title:"시스템 로그",desc:"동기화 실행, 소스 및 URL 처리의 상세 내역",blacklist_suggestion:"블랙리스트 제안",blacklist_desc:"차단 후보",recent_errors:"최근 오류",errors_desc:"실패한 URL 처리",total_signals:"총 신호",signals_desc:"성공적으로 추출됨",blacklist_modal_title:"블랙리스트 제안",blacklist_modal_desc:"낮은 점수를 바탕으로 블랙리스트에 제안된 도메인을 검토합니다.",no_suggestions:"현재 제안 없음",quality_good:"신호 품질이 좋습니다!",signals_count:"{{count}}개 신호",avg_score:"평균 점수: {{score}}",low_quality:"지속적으로 낮은 품질",repetitive:"반복적인 패턴",blacklist_domain:"도메인 블랙리스트 추가",errors_modal_title:"최근 오류",errors_modal_desc:"최근 실패 및 문제 로그.",no_recent_errors:"최근 오류가 없습니다.",signals_modal_title:"찾은 신호",signals_modal_desc:"추출된 신호 내역을 검색하고 관리합니다.",search_placeholder:"신호 검색...",any_score:"모든 점수",high_score:"높음 (80%+)",medium_score:"중간 (50-79%)",low_score:"낮음 (<50%)",all_categories:"모든 카테고리",page_x:"페이지 {{page}}"},zF={title:"Alchemist 엔진",live:"라이브",clear:"지우기",idle:"대기 중. 신호 마이닝 이벤트를 기다리는 중...",run_completed:"마이닝 실행 완료",signals:"신호",urls:"URL",skipped:"건너뜀",failed_to_process:"{{count}}개의 URL 처리에 실패했습니다",view_logs:"로그 보기",hide_details:"상세 숨기기",view_details:"상세 보기",engine_log:"라이브 엔진 로그",state_reading:"읽기 중",state_thinking:"생각 중",state_signal:"신호 발견",state_skipped:"건너뜀",state_error:"오류",state_completed:"완료",msg_reading:"콘텐츠 읽는 중: {{url}}",msg_thinking:"{{title}}의 관련성 분석 중",msg_found_signal:"신호 발견: {{summary}} ({{score}}%)",msg_low_signal:"검토를 위해 저장된 낮은 신호 ({{score}}%): {{title}}",msg_failed:"{{title}} 분석 실패: {{error}}",msg_sync_completed:"동기화 완료: 신호 {{signals}}개 발견, {{skipped}}개 건너뜀, {{errors}}개 오류"},FF={switch_light:"라이트 모드로 전환",switch_dark:"다크 모드로 전환",view_changelog:"변경 이력 보기",release_notes:"릴리스 노트",changelog_error:"변경 이력을 불러오지 못했습니다."},$F={title:"신호 펄스",mining:"마이닝 중",standing_by:"대기 중",idle:"유휴 상태",tracked:"추적된 신호",avg_score:"평균 점수",top_signal:"최고 신호",latest:"최근",awaiting:"마이닝 대기 중",no_signals:"아직 신호 없음"},UF={title:"인텔리전스 엔진",subtitle:"알케미스트의 인지 파라미터와 제공자 링크를 미세 조정하세요.",configuration:"AI 구성",test_connection:"연결 테스트",save_config:"구성 저장",llm_provider:"LLM 제공자",embedding_provider:"임베딩 제공자",sdk_connected:"SDK 연결됨",sdk_not_available:"SDK 사용 불가",provider:"제공자",intelligence_model:"인텔리전스 모델",embedding_model:"임베딩 모델",loading_providers:"제공자 로딩 중...",sdk_info_success:"✓ RealTimeX 설정된 제공자 사용 중",sdk_info_fail:"⚠️ RealTimeX SDK가 감지되지 않았습니다. RealTimeX Desktop에서 구성하세요.",embedding_info_success:"✓ RealTimeX 설정된 제공자를 사용하여 임베딩이 생성됩니다",embedding_info_fail:"⚠️ RealTimeX SDK가 감지되지 않았습니다. RealTimeX Desktop에서 제공자를 구성하세요.",persona_title:"페르소나 메모리",save_memory:"메모리 저장",interests_title:"활발한 관심사",interests_priority:"높은 우선순위",interests_desc:"알케미스트는 이 주제와 일치하는 콘텐츠를 우선시합니다. 즐겨찾기 및 부스트를 기반으로 자동 업데이트됩니다.",interests_placeholder:"예: 사용자는 React 성능, Rust 백엔드 시스템 및 AI 에이전트 아키텍처에 집중함...",antipatterns_title:"안티 패턴",antipatterns_priority:"회피",antipatterns_desc:"알케미스트는 이 패턴과 일치하는 콘텐츠를 필터링하거나 점수를 낮춥니다. 거부를 통해 업데이트됩니다.",antipatterns_placeholder:"예: 마케팅 수식어, 일반적인 목록형 기사, 크립토 하이프를 싫어함...",browser_sources:"브라우저 히스토리 소스",save_browser:"브라우저 소스 저장",blacklist_title:"블랙리스트 도메인",blacklist_desc:"이 패턴을 포함하는 URL은 마이닝 중에 건너뜁니다. 한 줄에 하나의 패턴을 입력하세요.",blacklist_label:"도메인 패턴 (한 줄에 하나)",blacklist_placeholder:`google.com/search
153
153
  localhost:
154
154
  127.0.0.1
155
155
  facebook.com
156
156
  twitter.com
157
157
  instagram.com
158
- linkedin.com/feed`,blacklist_examples:"예: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"블랙리스트 저장",blocked_tags_title:"차단된 태그",blocked_tags_desc:"이 태그가 있는 신호는 동적 카테고리 생성 및 뉴스레터에서 제외됩니다. 한 줄에 하나의 태그를 입력하세요.",blocked_tags_label:"태그 (세미콜론으로 구분)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"완전한 제어권이 있습니다. 이 태그들은 시스템 기본값을 완전히 대체합니다.",save_blocked_tags:"차단된 태그 저장",save_error_login:"설정을 저장하려면 로그인하세요",save_error_persona:"페르소나를 저장하려면 로그인하세요",save_success_llm:"LLM 설정이 성공적으로 저장되었습니다",save_success_browser:"브라우저 소스가 성공적으로 저장되었습니다",save_success_blacklist:"블랙리스트가 성공적으로 업데이트되었습니다",save_success_tags:"차단된 태그가 성공적으로 업데이트되었습니다",save_success_persona:"페르소나가 성공적으로 업데이트되었습니다",test_success:"연결 성공! {{model}}",test_fail:"연결 실패: {{message}}",auto_detect_title:"브라우저 자동 감지",scan_system:"시스템 스캔",scanning:"스캔 중...",auto_detected:"자동 감지됨",custom:"사용자 정의",add_source:"소스 추가",already_added:"이미 추가됨",not_found:"이 시스템에서 찾을 수 없음",add_custom_path:"사용자 정의 경로 추가",custom_path_placeholder:"/경로/대상/브라우저/History",add_custom_source:"사용자 정의 소스 추가",validating:"확인 중...",configured_sources:"구성된 소스 ({{count}})",enabled:"활성화됨",disabled:"비활성화됨",invalid_path:"잘못된 경로: {{error}}",validation_failed:"경로 확인 실패"},BF={common:NF,tabs:AF,setup:RF,auth:PF,discovery:OF,chat:LF,transmute:IF,account:DF,logs:MF,terminal:zF,shell:FF,stats:$F,engine:UF},VF={save:"保存",cancel:"キャンセル",loading:"読み込み中...",error:"エラー",success:"成功",settings:"設定",search:"検索",back:"戻る",all:"すべて",delete:"削除",update:"更新",edit:"編集",close:"閉じる",complete:"完了",skip:"スキップ",begin:"開始",connection:"接続",setup:"セットアップ",project:"プロジェクト",account:"アカウント",logout:"ログアウト",welcome:"ようこそ",dark_mode:"ダークモード",light_mode:"ライトモード",collapse:"折り畳む",just_now:"たった今",enabled:"有効",disabled:"無効",quick:"高速 (5)",balanced:"標準 (50)",thorough:"詳細 (200)",resetting:"リセット中...",saving:"保存中...",locale_code:"ja-JP",categories:{ai_ml:"AI & ML",business:"ビジネス",politics:"政治",technology:"テクノロジー",finance:"金融",crypto:"クリプト",science:"科学",other:"その他"}},qF={discovery:"ディスカバリー",chat:"チャット",transmute:"トランスミュート",logs:"システムログ",history:"履歴"},HF={welcome_title:"エンジンの組み立て",welcome_desc:"Alchemyは、シグナルの断片とインテリジェンスパターンを保存するためにSupabaseのエッセンスを必要とします。",requirements:"要件:",project_url:"SupabaseプロジェクトURL",anon_key:"Anon公開APIキー",db_password:"データベースパスワード",project_url_placeholder:"https://xxx.supabase.co または project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"初期化を開始",connect_essence:"エッセンスを接続",credentials_title:"エッセンスの座標",credentials_desc:"錬金術エンジンのクラウドデータベースへのリンク",validating:"リンクを検証中",resonance:"レゾナンスを同期中...",init_schema:"スキーマを初期化",schema_desc:"データベースマイグレーションを実行して、必要なテーブルと関数をセットアップします。",project_id:"プロジェクトID",access_token:"アクセストークン",run_migrations:"マイグレーションを実行",running_migrations:"マイグレーションを実行中",take_minute:"1分ほどかかる場合があります...",engine_aligned:"エンジンの調整完了",restarting:"Alchemistサブシステムを再起動中...",forge_project:"Supabaseでプロジェクトを作成",project_id_help:"Supabaseダッシュボード → プロジェクト設定 → 一般で確認できます",access_token_help:"ここで生成:",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"プロジェクトIDが必要です",access_token_required:"アクセストークンが必要です",migration_failed_logs:"マイグレーションに失敗しました。詳細はログを確認してください。",stream_error:"マイグレーションストリームの読み取りに失敗しました",back:"戻る",retry:"再試行"},KF={title_init:"マスター初期化",title_join:"サークルに参加",title_mystic:"神秘的なアクセス",title_login:"錬金術師ログイン",desc_init:"最高の錬金術師アカウントを作成",desc_mystic_email:"エッセンスメールを入力",desc_mystic_code:"聖なるコードを変換",desc_login:"データをインテリジェンスに変換",first_name:"名前",last_name:"苗字",first_name_placeholder:"ゾシモス",last_name_placeholder:"パノポリス",email_address:"メールアドレス",email_placeholder:"alchemist@example.com",complexity_key:"複雑性キー",password_placeholder:"••••••••",init_account:"アカウントを初期化",send_code:"コードを送信",unseal_engine:"エンジンの封印を解除",verify_code:"コードを確認",change_email:"メールアドレスを変更",sign_in_code:"コードでログイン",sign_in_password:"パスワードでログイン",already_alchemist:"すでに錬金術師ですか?",new_to_alchemy:"Alchemyは初めてですか?",login_instead:"代わりにログイン",create_account:"アカウントを作成",session_failed:"セッションの作成に失敗しました",invalid_code:"無効なコード"},WF={filters:"フィルター",category:"カテゴリ",intelligence_score:"インテリジェンススコア",no_signals_in_category:"{{category}}にはまだシグナルがありません。",no_categories:"まだカテゴリはありません。",discovery_hint:"シグナルが発見されると、ここに整理されます。",loading_signals:"シグナルを読み込み中...",dismiss_hint:"非表示にする(興味がない)",signal_count_one:"{{count}} 個のシグナル",signal_count_other:"{{count}} 個のシグナル",time_min_ago:"{{count}}分前",time_hour_ago:"{{count}}時間前",time_day_ago:"{{count}}日前",high_confidence:"高い信頼性 - {{count}}個の情報源で見つかりました",new_signals:"新しいシグナル",smart_summary:"スマート要約",entities:"エンティティ",sources:"ソース",last_sync:"最終同期",syncnow:"今すぐ同期",all_time:"全期間",checkpoint:"チェックポイント",from:"開始",score_high:"高",score_medium:"中",score_low:"低",sources_count:"{{count}}個の情報源",open_source:"開く",add_note:"ノート",boost_topic:"トピックを強化",boosted:"強化済み",dismissed:"非表示",remove_favourite:"お気に入りから削除",add_favourite:"お気に入りに追加",sync_history:"同期履歴",syncing:"同期中...",sync_settings:"同期設定",discovered:"発見日",original_source:"元のソース",ai_summary:"AI要約",full_content:"全文表示",copied:"コピーしました!",open_link:"開く",detail_title:"シグナルの詳細",sync_from:"同期開始日(任意)",urls_per_sync:"同期ごとのURL数",sync_from_hint:"最後の同期以降の新しいURLのみを同期する場合は空にしてください。特定の時点からURLを処理する場合は日付を設定します。",reset_checkpoint:"チェックポイントをリセット",reset_checkpoint_hint:"同期チェックポイントをクリアして、開始日からフル再同期を強制します。",sync_info:"アルケミストは進捗を自動的に追跡します。「同期開始日」を使用して履歴を補完するか、「チェックポイントをリセット」して最初からやり直してください。",save_settings:"設定を保存",sync_saved:"同期設定を保存しました",checkpoint_reset:"チェックポイントをリセットしました",login_to_save:"設定を保存するにはログインしてください",login_to_reset:"チェックポイントをリセットするにはログインしてください"},GF={history:"履歴",ask_anything:"閲覧履歴について何でも聞いてください...",sources:"ソース",processing:"クエリを処理中...",new_chat:"新しいチャット",no_messages:"まだメッセージはありません。会話を始めましょう!",no_history:"チャット履歴はまだありません。",title:"アルケミストに聞く",desc:"閲覧履歴から情報を思い出したり、トピックを要約したり、洞察を見つけるお手伝いをします。",thinking:"メモリを探索中...",placeholder:"履歴について質問する...",error_message:"申し訳ありません。リクエストの処理中にエラーが発生しました。",relevant_context:"関連するコンテキスト",match_score:"{{score}}% 一致",rag_attribution:"アルケミストは回答のために {{count}} 個のシグナルを使用しました",suggestions:{react:"最近Reactについて何を読みましたか?",ai:"最近見たAIニュースを要約して。",finance:"金融に関するメモはありますか?",performance:"「パフォーマンス」に関する記事を見つけて。"}},JF={engines:"Alchemistエンジン",assets:"生成されたアセット",newsletter:"ニュースレター",thread:"スレッド",audio:"オーディオ",report:"レポート",title:"トランスミュートエンジン",desc:"アクティブな生成パイプラインとアセット",generate:"生成",processing_desktop:"デスクトップで処理中...",ensure_defaults:"デフォルトエンジンの確認",create_engine:"エンジン作成",no_assets:"生成されたアセットはまだありません。",generate_engines:"エンジン生成",new_engine:"新規エンジン",no_engines:"エンジンが設定されていません",no_engines_desc:"シグナルをニュースレター、スレッド、またはオーディオブリーフィングに自動的に変換하는最初のパイプラインを作成しましょう。",run_engine:"エンジン実行",running:"実行中...",last_run:"最終実行",never:"未実行",schedule:"スケジュール",manual:"手動",topic:"トピック",pipeline:"パイプライン",pause:"停止",resume:"再開",view_json:"制作要約JSONを表示",json_contract:"ステートレスで自己完結型の契約",json_desc:"このJSONには、Desktop Studioに必要な完全なコンテキスト(シグナル + ユーザーペルソナ)が含まれています。",generating_asset:"アセット生成中...",queued_desktop:"デスクトップで待機中...",desktop_processing:"RealTimeXデスクトップアプリがこのリクエストを処理しています。完了すると、このモーダルは自動的に更新されます。",unsupported_type:"サポートされていないアセットタイプ",edit_engine:"エンジン編集",engine_name:"エンジン名",type:"タイプ",status:"ステータス",execution_env:"実行環境",local_llm:"ローカル (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (エージェントスウォーム)",env_desc_desktop:"オーディオ/ビデオなどの重いタスクをデスクトップアプリに委任します。",env_desc_local:"単純なMarkdownタスクをAlchemyで直接実行します。",min_score:"最小スコア",max_signals:"最大シグナル数",category_filter:"カテゴリフィルター (複数選択)",multi_select_hint:"Cmd/Ctrlを押しながら複数のカテゴリを選択できます",schedule_hint:"注意:スケジューリングはまだ自動化されていません",prompt_override:"カスタムプロンプトの上書き (オプション)",prompt_placeholder:"このエンジンタイプのデフォルトプロンプトを上書きする...",delete_confirm:"本当に削除しますか?",confirm:"確認"},XF={title:"アカウント構成",desc:"Alchemistのプロフィールとエッセンスリンクを管理します。",profile:"プロフィール",security:"セキュリティ",supabase:"Supabase",first_name:"名",last_name:"姓",email_locked:"メールアドレス (ロック済み)",sound_effects:"サウンドエフェクト",sound_desc:"同期イベントやシグナル発見時のサウンドフィードバックを有効にします。",sign_out:"サインアウト",logout_desc:"現在のセッションを終了し、ログイン画面に戻ります。",preserve_profile:"プロフィールを保存",security_title:"エントロピーキーの更新",new_password:"新しいパスワード",confirm_password:"パスワードの確認",password_mismatch:"複雑性キーが一致しません。",password_too_short:"エントロピーが低すぎます。最低8文字必要です。",password_rotate_success:"キーのローテーションに成功しました。",rotate_key:"キーをローテーション",essence_resonance:"エッセンス共鳴",byok_desc:"インテリジェンスの永続性のために独自のキー(BYOK)を持ち込みます。",established_link:"リンク確立済み",env_notice:"環境変数からアクティブです。UI上書きが有効です。",realign_link:"リンクを再調整",sever_link:"リンクを切断",sever_confirm:"このエッセンスとの接続を切断しますか?ローカルの共鳴がリセットされます。",anon_secret_fragment:"匿名シークレットフラグメント",no_resonance:"エッセンス共鳴なし",no_resonance_desc:"Alchemistはインテリジェンスフラグメントを保存するためにクラウドコアを必要とします。",initiate_link:"リンクを開始",test_connection:"接続テスト"},YF={title:"システムログ",desc:"同期実行、ソース、URL処理の詳細な履歴",blacklist_suggestion:"潜在的なブラックリスト",blacklist_desc:"ブロック対象の候補",recent_errors:"最近のエラー",errors_desc:"失敗したURLプロセス",total_signals:"総シグナル数",signals_desc:"正常にマイニングされました",blacklist_modal_title:"ブラックリストの提案",blacklist_modal_desc:"低スコアに基づいてブラックリストに提案されたドメインを確認します。",no_suggestions:"現在、提案はありません",quality_good:"シグナルの品質は良好です!",signals_count:"{{count}} 個のシグナル",avg_score:"平均スコア: {{score}}",low_quality:"一貫して低い品質",repetitive:"反復的なパターン",blacklist_domain:"ドメインをブラックリストに登録",errors_modal_title:"最近のエラー",errors_modal_desc:"最近の失敗と問題のログです。",no_recent_errors:"最近のエラーは見つかりませんでした。",signals_modal_title:"見つかったシグナル",signals_modal_desc:"マイニングされたシグナルの履歴を閲覧・管理します。",search_placeholder:"シグナルを検索...",any_score:"すべてのスコア",high_score:"高 (80%+)",medium_score:"中 (50-79%)",low_score:"低 (<50%)",all_categories:"すべてのカテゴリ",page_x:"{{page}} ページ"},QF={title:"Alchemistエンジン",live:"ライブ",clear:"クリア",idle:"待機中。シグナルマイニングイベントを待っています...",run_completed:"マイニング実行完了",signals:"シグナル",urls:"URL",skipped:"スキップ済み",failed_to_process:"{{count}}個のURLの処理に失敗しました",view_logs:"ログを表示",hide_details:"詳細を隠す",view_details:"詳細を表示",engine_log:"ライブエンジンログ",state_reading:"読み取り中",state_thinking:"思考中",state_signal:"シグナル",state_skipped:"スキップ",state_error:"エラー",state_completed:"完了",msg_reading:"コンテンツを読み取り中: {{url}}",msg_thinking:"{{title}} の関連性を分析中",msg_found_signal:"シグナルを発見: {{summary}} ({{score}}%)",msg_low_signal:"レビュー用に保存された低スコアのシグナル ({{score}}%): {{title}}",msg_failed:"{{title}} の分析に失敗しました: {{error}}",msg_sync_completed:"同期完了: {{signals}} 個のシグナルを発見、{{skipped}} 個スキップ、{{errors}} 個のエラー"},ZF={switch_light:"ライトモードに切り替え",switch_dark:"ダークモードに切り替え",view_changelog:"変更履歴を表示",release_notes:"リリースノート",changelog_error:"変更履歴の読み込みに失敗しました。"},e$={title:"シグナルパルス",mining:"マイニング中",standing_by:"待機中",idle:"アイドル",tracked:"追跡されたシグナル",avg_score:"平均スコア",top_signal:"トップシグナル",latest:"最新",awaiting:"マイニング待機中",no_signals:"まだシグナルはありません"},t$={title:"インテリジェンスエンジン",subtitle:"アルケミストの認知パラメータとプロバイダーのリンクを微調整します。",configuration:"AI構成",test_connection:"接続テスト",save_config:"構成を保存",llm_provider:"LLMプロバイダー",embedding_provider:"埋め込みプロバイダー",sdk_connected:"SDK接続済み",sdk_not_available:"SDK利用不可",provider:"プロバイダー",intelligence_model:"インテリジェンスモデル",embedding_model:"埋め込みモデル",loading_providers:"プロバイダーを読み込み中...",sdk_info_success:"✓ RealTimeXで設定されたプロバイダーを使用中",sdk_info_fail:"⚠️ RealTimeX SDKが検出されませんでした。RealTimeX Desktopで構成してください。",embedding_info_success:"✓ 埋め込みはRealTimeXで設定されたプロバイダーを使用して生成されます",embedding_info_fail:"⚠️ RealTimeX SDKが検出されませんでした。RealTimeX Desktopでプロバイダーを構成してください。",persona_title:"ペルソナメモリ",save_memory:"メモリを保存",interests_title:"アクティブな関心事",interests_priority:"高優先度",interests_desc:"アルケミストは、これらのトピックに一致するコンテンツを優先します。お気に入りやブーストに基づいて自動的に更新されます。",interests_placeholder:"例:ユーザーはReactのパフォーマンス、Rustのバックエンドシステム、AIエージェントアーキテクチャに焦点を当てています...",antipatterns_title:"アンチパターン",antipatterns_priority:"回避",antipatterns_desc:"アルケミストは、これらのパターンに一致するコンテンツをフィルタリングしたりスコアを下げたりします。非表示(Dismissals)を介して更新されます。",antipatterns_placeholder:"例:マーケティングの虚飾、一般的なリスト記事、クリプトの誇大広告を嫌います...",browser_sources:"ブラウザ履歴ソース",save_browser:"ブラウザソースを保存",blacklist_title:"ドメインブラックリスト",blacklist_desc:"これらのパターンを含むURLはマイニング中にスキップされます。1行に1つのパターンを入力してください。",blacklist_label:"ドメインパターン(1行1つ)",blacklist_placeholder:`google.com/search
158
+ linkedin.com/feed`,blacklist_examples:"예: google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"블랙리스트 저장",blocked_tags_title:"차단된 태그",blocked_tags_desc:"이 태그가 있는 신호는 동적 카테고리 생성 및 뉴스레터에서 제외됩니다. 한 줄에 하나의 태그를 입력하세요.",blocked_tags_label:"태그 (세미콜론으로 구분)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"완전한 제어권이 있습니다. 이 태그들은 시스템 기본값을 완전히 대체합니다.",save_blocked_tags:"차단된 태그 저장",save_error_login:"설정을 저장하려면 로그인하세요",save_error_persona:"페르소나를 저장하려면 로그인하세요",save_success_llm:"LLM 설정이 성공적으로 저장되었습니다",save_success_browser:"브라우저 소스가 성공적으로 저장되었습니다",save_success_blacklist:"블랙리스트가 성공적으로 업데이트되었습니다",save_success_tags:"차단된 태그가 성공적으로 업데이트되었습니다",save_success_persona:"페르소나가 성공적으로 업데이트되었습니다",test_success:"연결 성공! {{model}}",test_fail:"연결 실패: {{message}}",auto_detect_title:"브라우저 자동 감지",scan_system:"시스템 스캔",scanning:"스캔 중...",auto_detected:"자동 감지됨",custom:"사용자 정의",add_source:"소스 추가",already_added:"이미 추가됨",not_found:"이 시스템에서 찾을 수 없음",add_custom_path:"사용자 정의 경로 추가",custom_path_placeholder:"/경로/대상/브라우저/History",add_custom_source:"사용자 정의 소스 추가",validating:"확인 중...",configured_sources:"구성된 소스 ({{count}})",enabled:"활성화됨",disabled:"비활성화됨",invalid_path:"잘못된 경로: {{error}}",validation_failed:"경로 확인 실패"},BF={common:NF,tabs:AF,setup:RF,auth:PF,discovery:OF,chat:LF,transmute:IF,account:DF,logs:MF,terminal:zF,shell:FF,stats:$F,engine:UF},VF={save:"保存",cancel:"キャンセル",loading:"読み込み中...",error:"エラー",success:"成功",settings:"設定",search:"検索",back:"戻る",all:"すべて",delete:"削除",update:"更新",edit:"編集",close:"閉じる",complete:"完了",skip:"スキップ",begin:"開始",connection:"接続",setup:"セットアップ",project:"プロジェクト",account:"アカウント",logout:"ログアウト",welcome:"ようこそ",dark_mode:"ダークモード",light_mode:"ライトモード",collapse:"折り畳む",just_now:"たった今",enabled:"有効",disabled:"無効",quick:"高速 (5)",balanced:"標準 (50)",thorough:"詳細 (200)",resetting:"リセット中...",saving:"保存中...",locale_code:"ja-JP",categories:{ai_ml:"AI & ML",business:"ビジネス",politics:"政治",technology:"テクノロジー",finance:"金融",crypto:"クリプト",science:"科学",other:"その他"}},qF={discovery:"ディスカバリー",chat:"チャット",transmute:"トランスミュート",logs:"システムログ",history:"履歴"},HF={welcome_title:"エンジンの組み立て",welcome_desc:"Alchemyは、シグナルの断片とインテリジェンスパターンを保存するためにSupabaseのエッセンスを必要とします。",requirements:"要件:",project_url:"SupabaseプロジェクトURL",anon_key:"Anon公開APIキー",db_password:"データベースパスワード",project_url_placeholder:"https://xxx.supabase.co または project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"初期化を開始",connect_essence:"エッセンスを接続",credentials_title:"エッセンスの座標",credentials_desc:"錬金術エンジンのクラウドデータベースへのリンク",validating:"リンクを検証中",resonance:"レゾナンスを同期中...",init_schema:"スキーマを初期化",schema_desc:"データベースマイグレーションを実行して、必要なテーブルと関数をセットアップします。",project_id:"プロジェクトID",access_token:"アクセストークン",run_migrations:"マイグレーションを実行",running_migrations:"マイグレーションを実行中",take_minute:"1分ほどかかる場合があります...",engine_aligned:"エンジンの調整完了",restarting:"Alchemistサブシステムを再起動中...",forge_project:"Supabaseでプロジェクトを作成",project_id_help:"Supabaseダッシュボード → プロジェクト設定 → 一般で確認できます",access_token_help:"ここで生成:",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"プロジェクトIDが必要です",access_token_required:"アクセストークンが必要です",migration_failed_logs:"マイグレーションに失敗しました。詳細はログを確認してください。",stream_error:"マイグレーションストリームの読み取りに失敗しました",back:"戻る",retry:"再試行"},KF={title_init:"マスター初期化",title_join:"サークルに参加",title_mystic:"神秘的なアクセス",title_login:"錬金術師ログイン",desc_init:"最高の錬金術師アカウントを作成",desc_mystic_email:"エッセンスメールを入力",desc_mystic_code:"聖なるコードを変換",desc_login:"データをインテリジェンスに変換",first_name:"名前",last_name:"苗字",first_name_placeholder:"ゾシモス",last_name_placeholder:"パノポリス",email_address:"メールアドレス",email_placeholder:"alchemist@example.com",complexity_key:"複雑性キー",password_placeholder:"••••••••",init_account:"アカウントを初期化",send_code:"コードを送信",unseal_engine:"エンジンの封印を解除",verify_code:"コードを確認",change_email:"メールアドレスを変更",sign_in_code:"コードでログイン",sign_in_password:"パスワードでログイン",already_alchemist:"すでに錬金術師ですか?",new_to_alchemy:"Alchemyは初めてですか?",login_instead:"代わりにログイン",create_account:"アカウントを作成",session_failed:"セッションの作成に失敗しました",invalid_code:"無効なコード"},WF={filters:"フィルター",category:"カテゴリ",intelligence_score:"インテリジェンススコア",no_signals_in_category:"{{category}}にはまだシグナルがありません。",no_categories:"まだカテゴリはありません。",discovery_hint:"シグナルが発見されると、ここに整理されます。",loading_signals:"シグナルを読み込み中...",dismiss_hint:"非表示にする(興味がない)",signal_count_one:"{{count}} 個のシグナル",signal_count_other:"{{count}} 個のシグナル",time_min_ago:"{{count}}分前",time_hour_ago:"{{count}}時間前",time_day_ago:"{{count}}日前",high_confidence:"高い信頼性 - {{count}}個の情報源で見つかりました",new_signals:"新しいシグナル",smart_summary:"スマート要約",entities:"エンティティ",sources:"ソース",last_sync:"最終同期",syncnow:"今すぐ同期",all_time:"全期間",checkpoint:"チェックポイント",from:"開始",score_high:"高",score_medium:"中",score_low:"低",sources_count:"{{count}}個の情報源",open_source:"開く",add_note:"ノート",boost_topic:"トピックを強化",boosted:"強化済み",dismissed:"非表示",remove_favourite:"お気に入りから削除",add_favourite:"お気に入りに追加",sync_history:"同期履歴",syncing:"同期中...",sync_settings:"同期設定",discovered:"発見日",original_source:"元のソース",ai_summary:"AI要約",full_content:"全文表示",copied:"コピーしました!",open_link:"開く",detail_title:"シグナルの詳細",sync_from:"同期開始日(任意)",urls_per_sync:"同期ごとのURL数",sync_from_hint:"最後の同期以降の新しいURLのみを同期する場合は空にしてください。特定の時点からURLを処理する場合は日付を設定します。",reset_checkpoint:"チェックポイントをリセット",reset_checkpoint_hint:"同期チェックポイントをクリアして、開始日からフル再同期を強制します。",sync_info:"アルケミストは進捗を自動的に追跡します。「同期開始日」を使用して履歴を補完するか、「チェックポイントをリセット」して最初からやり直してください。",save_settings:"設定を保存",sync_saved:"同期設定を保存しました",checkpoint_reset:"チェックポイントをリセットしました",login_to_save:"設定を保存するにはログインしてください",login_to_reset:"チェックポイントをリセットするにはログインしてください"},GF={history:"履歴",ask_anything:"閲覧履歴について何でも聞いてください...",sources:"ソース",processing:"クエリを処理中...",new_chat:"新しいチャット",no_messages:"まだメッセージはありません。会話を始めましょう!",no_history:"チャット履歴はまだありません。",title:"アルケミストに聞く",desc:"閲覧履歴から情報を思い出したり、トピックを要約したり、洞察を見つけるお手伝いをします。",thinking:"メモリを探索中...",placeholder:"履歴について質問する...",error_message:"申し訳ありません。リクエストの処理中にエラーが発生しました。",relevant_context:"関連するコンテキスト",match_score:"{{score}}% 一致",rag_attribution:"アルケミストは回答のために {{count}} 個のシグナルを使用しました",suggestions:{react:"最近Reactについて何を読みましたか?",ai:"最近見たAIニュースを要約して。",finance:"金融に関するメモはありますか?",performance:"「パフォーマンス」に関する記事を見つけて。"}},JF={engines:"Alchemistエンジン",assets:"生成されたアセット",newsletter:"ニュースレター",thread:"スレッド",audio:"オーディオ",report:"レポート",title:"トランスミュートエンジン",desc:"アクティブな生成パイプラインとアセット",generate:"生成",processing_desktop:"デスクトップで処理中...",ensure_defaults:"デフォルトエンジンの確認",create_engine:"エンジン作成",no_assets:"生成されたアセットはまだありません。",generate_engines:"エンジン生成",new_engine:"新規エンジン",no_engines:"エンジンが設定されていません",no_engines_desc:"シグナルをニュースレター、スレッド、またはオーディオブリーフィングに自動的に変換하는最初のパイプラインを作成しましょう。",run_engine:"エンジン実行",running:"実行中...",last_run:"最終実行",never:"未実行",schedule:"スケジュール",manual:"手動",topic:"トピック",pipeline:"パイプライン",pause:"停止",resume:"再開",view_json:"制作要約JSONを表示",json_contract:"ステートレスで自己完結型の契約",json_desc:"このJSONには、Desktop Studioに必要な完全なコンテキスト(シグナル + ユーザーペルソナ)が含まれています。",generating_asset:"アセット生成中...",queued_desktop:"デスクトップで待機中...",desktop_processing:"RealTimeXデスクトップアプリがこのリクエストを処理しています。完了すると、このモーダルは自動的に更新されます。",unsupported_type:"サポートされていないアセットタイプ",edit_engine:"エンジン編集",engine_name:"エンジン名",type:"タイプ",status:"ステータス",execution_env:"実行環境",local_llm:"ローカル (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (エージェントスウォーム)",env_desc_desktop:"オーディオ/ビデオなどの重いタスクをデスクトップアプリに委任します。",env_desc_local:"単純なMarkdownタスクをAlchemyで直接実行します。",min_score:"最小スコア",max_signals:"最大シグナル数",category_filter:"カテゴリフィルター (複数選択)",multi_select_hint:"Cmd/Ctrlを押しながら複数のカテゴリを選択できます",schedule_hint:"注意:スケジューリングはまだ自動化されていません",prompt_override:"カスタムプロンプトの上書き (オプション)",prompt_placeholder:"このエンジンタイプのデフォルトプロンプトを上書きする...",delete_confirm:"本当に削除しますか?",confirm:"確認",copied_json:"JSONをクリップボードにコピーしました",json_footer:"このJSONには、Desktop Studioに必要な完全なコンテキスト(シグナル + ユーザーペルソナ)が含まれています。"},XF={title:"アカウント構成",desc:"Alchemistのプロフィールとエッセンスリンクを管理します。",profile:"プロフィール",security:"セキュリティ",supabase:"Supabase",first_name:"名",last_name:"姓",email_locked:"メールアドレス (ロック済み)",sound_effects:"サウンドエフェクト",sound_desc:"同期イベントやシグナル発見時のサウンドフィードバックを有効にします。",sign_out:"サインアウト",logout_desc:"現在のセッションを終了し、ログイン画面に戻ります。",preserve_profile:"プロフィールを保存",security_title:"エントロピーキーの更新",new_password:"新しいパスワード",confirm_password:"パスワードの確認",password_mismatch:"複雑性キーが一致しません。",password_too_short:"エントロピーが低すぎます。最低8文字必要です。",password_rotate_success:"キーのローテーションに成功しました。",rotate_key:"キーをローテーション",essence_resonance:"エッセンス共鳴",byok_desc:"インテリジェンスの永続性のために独自のキー(BYOK)を持ち込みます。",established_link:"リンク確立済み",env_notice:"環境変数からアクティブです。UI上書きが有効です。",realign_link:"リンクを再調整",sever_link:"リンクを切断",sever_confirm:"このエッセンスとの接続を切断しますか?ローカルの共鳴がリセットされます。",anon_secret_fragment:"匿名シークレットフラグメント",no_resonance:"エッセンス共鳴なし",no_resonance_desc:"Alchemistはインテリジェンスフラグメントを保存するためにクラウドコアを必要とします。",initiate_link:"リンクを開始",test_connection:"接続テスト"},YF={title:"システムログ",desc:"同期実行、ソース、URL処理の詳細な履歴",blacklist_suggestion:"潜在的なブラックリスト",blacklist_desc:"ブロック対象の候補",recent_errors:"最近のエラー",errors_desc:"失敗したURLプロセス",total_signals:"総シグナル数",signals_desc:"正常にマイニングされました",blacklist_modal_title:"ブラックリストの提案",blacklist_modal_desc:"低スコアに基づいてブラックリストに提案されたドメインを確認します。",no_suggestions:"現在、提案はありません",quality_good:"シグナルの品質は良好です!",signals_count:"{{count}} 個のシグナル",avg_score:"平均スコア: {{score}}",low_quality:"一貫して低い品質",repetitive:"反復的なパターン",blacklist_domain:"ドメインをブラックリストに登録",errors_modal_title:"最近のエラー",errors_modal_desc:"最近の失敗と問題のログです。",no_recent_errors:"最近のエラーは見つかりませんでした。",signals_modal_title:"見つかったシグナル",signals_modal_desc:"マイニングされたシグナルの履歴を閲覧・管理します。",search_placeholder:"シグナルを検索...",any_score:"すべてのスコア",high_score:"高 (80%+)",medium_score:"中 (50-79%)",low_score:"低 (<50%)",all_categories:"すべてのカテゴリ",page_x:"{{page}} ページ"},QF={title:"Alchemistエンジン",live:"ライブ",clear:"クリア",idle:"待機中。シグナルマイニングイベントを待っています...",run_completed:"マイニング実行完了",signals:"シグナル",urls:"URL",skipped:"スキップ済み",failed_to_process:"{{count}}個のURLの処理に失敗しました",view_logs:"ログを表示",hide_details:"詳細を隠す",view_details:"詳細を表示",engine_log:"ライブエンジンログ",state_reading:"読み取り中",state_thinking:"思考中",state_signal:"シグナル",state_skipped:"スキップ",state_error:"エラー",state_completed:"完了",msg_reading:"コンテンツを読み取り中: {{url}}",msg_thinking:"{{title}} の関連性を分析中",msg_found_signal:"シグナルを発見: {{summary}} ({{score}}%)",msg_low_signal:"レビュー用に保存された低スコアのシグナル ({{score}}%): {{title}}",msg_failed:"{{title}} の分析に失敗しました: {{error}}",msg_sync_completed:"同期完了: {{signals}} 個のシグナルを発見、{{skipped}} 個スキップ、{{errors}} 個のエラー"},ZF={switch_light:"ライトモードに切り替え",switch_dark:"ダークモードに切り替え",view_changelog:"変更履歴を表示",release_notes:"リリースノート",changelog_error:"変更履歴の読み込みに失敗しました。"},e$={title:"シグナルパルス",mining:"マイニング中",standing_by:"待機中",idle:"アイドル",tracked:"追跡されたシグナル",avg_score:"平均スコア",top_signal:"トップシグナル",latest:"最新",awaiting:"マイニング待機中",no_signals:"まだシグナルはありません"},t$={title:"インテリジェンスエンジン",subtitle:"アルケミストの認知パラメータとプロバイダーのリンクを微調整します。",configuration:"AI構成",test_connection:"接続テスト",save_config:"構成を保存",llm_provider:"LLMプロバイダー",embedding_provider:"埋め込みプロバイダー",sdk_connected:"SDK接続済み",sdk_not_available:"SDK利用不可",provider:"プロバイダー",intelligence_model:"インテリジェンスモデル",embedding_model:"埋め込みモデル",loading_providers:"プロバイダーを読み込み中...",sdk_info_success:"✓ RealTimeXで設定されたプロバイダーを使用中",sdk_info_fail:"⚠️ RealTimeX SDKが検出されませんでした。RealTimeX Desktopで構成してください。",embedding_info_success:"✓ 埋め込みはRealTimeXで設定されたプロバイダーを使用して生成されます",embedding_info_fail:"⚠️ RealTimeX SDKが検出されませんでした。RealTimeX Desktopでプロバイダーを構成してください。",persona_title:"ペルソナメモリ",save_memory:"メモリを保存",interests_title:"アクティブな関心事",interests_priority:"高優先度",interests_desc:"アルケミストは、これらのトピックに一致するコンテンツを優先します。お気に入りやブーストに基づいて自動的に更新されます。",interests_placeholder:"例:ユーザーはReactのパフォーマンス、Rustのバックエンドシステム、AIエージェントアーキテクチャに焦点を当てています...",antipatterns_title:"アンチパターン",antipatterns_priority:"回避",antipatterns_desc:"アルケミストは、これらのパターンに一致するコンテンツをフィルタリングしたりスコアを下げたりします。非表示(Dismissals)を介して更新されます。",antipatterns_placeholder:"例:マーケティングの虚飾、一般的なリスト記事、クリプトの誇大広告を嫌います...",browser_sources:"ブラウザ履歴ソース",save_browser:"ブラウザソースを保存",blacklist_title:"ドメインブラックリスト",blacklist_desc:"これらのパターンを含むURLはマイニング中にスキップされます。1行に1つのパターンを入力してください。",blacklist_label:"ドメインパターン(1行1つ)",blacklist_placeholder:`google.com/search
159
159
  localhost:
160
160
  127.0.0.1
161
161
  facebook.com
162
162
  twitter.com
163
163
  instagram.com
164
- linkedin.com/feed`,blacklist_examples:"例:google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"ブラックリストを保存",blocked_tags_title:"ブロックされたタグ",blocked_tags_desc:"これらのタグを持つシグナルは、動的なカテゴリ生成やニュースレターから除外されます。1行に1つのタグを入力してください。",blocked_tags_label:"タグ(セミコロン区切り)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"完全な制御が可能です。これらのタグはシステムのデフォルトを完全に置き換えます。",save_blocked_tags:"ブロックされたタグを保存",save_error_login:"設定を保存するにはログインしてください",save_error_persona:"ペルソナを保存するにはログインしてください",save_success_llm:"LLM設定が正常に保存されました",save_success_browser:"ブラウザソースが正常に保存されました",save_success_blacklist:"ブラックリストが正常に更新されました",save_success_tags:"ブロックされたタグが正常に更新されました",save_success_persona:"ペルソナが正常に更新されました",test_success:"接続成功! {{model}}",test_fail:"接続失敗: {{message}}",auto_detect_title:"ブラウザの自動検出",scan_system:"システムをスキャン",scanning:"スキャン中...",auto_detected:"自動検出済み",custom:"カスタム",add_source:"ソースを追加",already_added:"追加済み",not_found:"このシステムでは見つかりません",add_custom_path:"カスタムパスを追加",custom_path_placeholder:"/path/to/browser/History",add_custom_source:"カスタムソースを追加",validating:"検証中...",configured_sources:"構成済みソース ({{count}})",enabled:"有効",disabled:"無効",invalid_path:"無効なパス: {{error}}",validation_failed:"パスの検証に失敗しました"},n$={common:VF,tabs:qF,setup:HF,auth:KF,discovery:WF,chat:GF,transmute:JF,account:XF,logs:YF,terminal:QF,shell:ZF,stats:e$,engine:t$},r$={save:"Lưu",cancel:"Hủy",loading:"Đang tải...",error:"Lỗi",success:"Thành công",settings:"Cài đặt",search:"Tìm kiếm",back:"Quay lại",all:"Tất cả",delete:"Xóa",update:"Cập nhật",edit:"Chỉnh sửa",close:"Đóng",complete:"Hoàn tất",skip:"Bỏ qua",begin:"Bắt đầu",connection:"Kết nối",setup:"Thiết lập",project:"Dự án",account:"Tài khoản",logout:"Đăng xuất",welcome:"Chào mừng",dark_mode:"Chế độ tối",light_mode:"Chế độ sáng",collapse:"Thu gọn",just_now:"Vừa xong",enabled:"Đã bật",disabled:"Đã tắt",quick:"Nhanh (5)",balanced:"Cân bằng (50)",thorough:"Kỹ lưỡng (200)",resetting:"Đang đặt lại...",saving:"Đang lưu...",locale_code:"vi-VN",categories:{ai_ml:"AI & ML",business:"Kinh doanh",politics:"Chính trị",technology:"Công nghệ",finance:"Tài chính",crypto:"Crypto",science:"Khoa học",other:"Khác"}},s$={discovery:"Khám phá",chat:"Chat",transmute:"Chuyển hóa",logs:"Nhật ký hệ thống",history:"Lịch sử"},i$={welcome_title:"Lắp ráp động cơ của bạn",welcome_desc:"Alchemy yêu cầu một tinh chất Supabase để lưu trữ các mảnh tín hiệu và mô hình thông minh.",requirements:"Yêu cầu:",project_url:"URL dự án Supabase",anon_key:"Khóa API công khai Anon",db_password:"Mật khẩu cơ sở dữ liệu",project_url_placeholder:"https://xxx.supabase.co hoặc project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"BẮT ĐẦU KHỞI TẠO",connect_essence:"KẾT NỐI TINH CHẤT",credentials_title:"Tọa độ Tinh chất",credentials_desc:"Liên kết động cơ giả kim với cơ sở dữ liệu đám mây của bạn",validating:"Đang xác thực liên kết",resonance:"Đang đồng bộ hóa cộng hưởng...",init_schema:"Khởi tạo lược đồ",schema_desc:"Chạy di chuyển cơ sở dữ liệu để thiết lập các bảng và hàm bắt buộc.",project_id:"ID dự án",access_token:"Mã thông báo truy cập",run_migrations:"CHẠY DI CHUYỂN",running_migrations:"Đang chạy di chuyển",take_minute:"Việc này có thể mất một phút...",engine_aligned:"Động cơ đã căn chỉnh",restarting:"Đang khởi động lại các hệ thống con Alchemist...",forge_project:"Tạo Dự án tại Supabase",project_id_help:"Tìm thấy trong Bảng điều khiển Supabase → Cài đặt Dự án → Chung",access_token_help:"Tạo tại",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"ID dự án là bắt buộc",access_token_required:"Mã thông báo truy cập là bắt buộc",migration_failed_logs:"Di chuyển thất bại. Kiểm tra nhật ký để biết chi tiết.",stream_error:"Không thể đọc luồng di chuyển",back:"QUAY LẠI",retry:"THỬ LẠI"},o$={title_init:"KHỞI TẠO BẬC THẦY",title_join:"GIA NHẬP VÒNG TRÒN",title_mystic:"TRUY CẬP HUYỀN BÍ",title_login:"ĐĂNG NHẬP NHÀ GIẢ KIM",desc_init:"Rèn luyện tài khoản nhà giả kim tối cao",desc_mystic_email:"Nhập email tinh chất của bạn",desc_mystic_code:"Chuyển hóa mã số thiêng liêng",desc_login:"Chuyển hóa dữ liệu của bạn thành trí thông minh",first_name:"Tên",last_name:"Họ",first_name_placeholder:"Zosimos",last_name_placeholder:"Panopolis",email_address:"Địa chỉ Email",email_placeholder:"alchemist@example.com",complexity_key:"Khóa phức tạp",password_placeholder:"••••••••",init_account:"KHỞI TẠO TÀI KHOẢN",send_code:"GỬI MÃ",unseal_engine:"MỞ KHÓA ĐỘNG CƠ",verify_code:"XÁC MINH MÃ",change_email:"Thay đổi địa chỉ email",sign_in_code:"Đăng nhập bằng mã",sign_in_password:"Đăng nhập bằng mật khẩu",already_alchemist:"Đã là một Nhà Giả Kim?",new_to_alchemy:"Mới làm quen với Alchemy?",login_instead:"Đăng nhập ngay",create_account:"Tạo tài khoản",session_failed:"Tạo phiên làm việc thất bại",invalid_code:"Mã không hợp lệ"},a$={filters:"Bộ lọc",category:"Danh mục",intelligence_score:"Điểm thông minh",no_signals_in_category:"Chưa có tín hiệu nào trong {{category}}.",no_categories:"Chưa có danh mục nào.",discovery_hint:"Các tín hiệu sẽ được sắp xếp ở đây sau khi được khám phá.",loading_signals:"Đang tải các tín hiệu...",dismiss_hint:"Bỏ qua (Không quan tâm)",signal_count_one:"{{count}} tín hiệu",signal_count_other:"{{count}} tín hiệu",time_min_ago:"{{count}}m trước",time_hour_ago:"{{count}}h trước",time_day_ago:"{{count}}d trước",add_note_title:"Thêm ghi chú",target:"Mục tiêu",note_placeholder:"Nhập suy nghĩ, ý tưởng hoặc các hạng mục hành động liên quan đến tín hiệu này...",save_note:"Lưu ghi chú",view_all_sources:"Xem tất cả nguồn",source_count_one:"{{count}} nguồn",source_count_other:"{{count}} nguồn",source_found_in:"Tìm thấy trong {{count}} nguồn khác nhau",high_confidence:"Độ tin cậy cao - được tìm thấy trong {{count}} nguồn",new_signals:"Tín hiệu mới",smart_summary:"Tóm tắt thông minh",entities:"Thực thể",sources:"Nguồn",last_sync:"Đồng bộ cuối",syncnow:"Đồng bộ ngay",all_time:"Tất cả thời gian",checkpoint:"Điểm kiểm tra",from:"Từ ngày",score_high:"CAO",score_medium:"TRUNG BÌNH",score_low:"THẤP",sources_count:"{{count}} nguồn",open_source:"Mở",add_note:"Ghi chú",boost_topic:"Đẩy chủ đề",boosted:"Đã đẩy",dismissed:"Đã bỏ qua",remove_favourite:"Xóa khỏi yêu thích",add_favourite:"Thêm vào yêu thích",sync_history:"Lịch sử đồng bộ",syncing:"Đang đồng bộ...",sync_settings:"Cài đặt đồng bộ",discovered:"Đã khám phá",original_source:"Nguồn gốc",ai_summary:"Tóm tắt AI",full_content:"Nội dung đầy đủ",copied:"Đã sao chép!",open_link:"Mở",detail_title:"Chi tiết tín hiệu",sync_from:"Đồng bộ từ (Tùy chọn)",urls_per_sync:"URL mỗi lần đồng bộ",sync_from_hint:"Để trống để chỉ đồng bộ các URL mới kể từ lần đồng bộ cuối cùng. Đặt ngày để xử lý các URL từ thời điểm đó trở đi.",reset_checkpoint:"Đặt lại điểm kiểm tra",reset_checkpoint_hint:"Xóa điểm kiểm tra đồng bộ để buộc đồng bộ lại toàn bộ từ ngày đã chọn.",sync_info:'Nhà Giả Kim tự động theo dõi tiến trình của bạn. Sử dụng "Đồng bộ từ" để điền lịch sử hoặc "Đặt lại điểm kiểm tra" để bắt đầu mới.',save_settings:"Lưu cài đặt",sync_saved:"Đã lưu cài đặt đồng bộ",checkpoint_reset:"Đã đặt lại điểm kiểm tra",login_to_save:"Vui lòng đăng nhập để lưu cài đặt",login_to_reset:"Vui lòng đăng nhập để đặt lại điểm kiểm tra",status_updated:"Đã cập nhật trạng thái động cơ thành {{status}}",asset_ready:'Tài sản "{{title}}" đã sẵn sàng!',scanning:"Đang quét các danh mục và chủ đề mới...",discovery_complete:"Đã hoàn tất khám phá động cơ!",discovery_failed:"Khám phá thất bại. Kiểm tra cài đặt.",load_failed:"Không thể tải động cơ",starting_run:"Đang bắt đầu chạy động cơ...",run_complete:"Đã chạy động cơ hoàn tất! Đã tạo: {{title}}",run_started_desktop:"Đã bắt đầu chạy động cơ trên Máy tính. Theo dõi là: {{id}}",run_failed:"Chạy động cơ thất bại",brief_failed:"Không thể tạo tóm tắt sản xuất",copied_json:"Đã sao chép JSON vào bộ nhớ tạm",json_footer:"JSON này chứa ngữ cảnh đầy đủ (Tín hiệu + Nhân vật người dùng) cần thiết cho Desktop Studio.",topic:"Chủ đề",pipeline:"Quy trình"},l$={history:"Lịch sử",ask_anything:"Hỏi bất cứ điều gì về lịch sử duyệt web của bạn...",sources:"Nguồn",processing:"Đang xử lý truy vấn của bạn...",new_chat:"Chat mới",no_messages:"Chưa có tin nhắn nào. Hãy bắt đầu một cuộc trò chuyện!",no_history:"Chưa có lịch sử chat.",title:"Hỏi Alchemist",desc:"Tôi có thể giúp bạn nhớ lại thông tin, tóm tắt các chủ đề và tìm thông tin chuyên sâu từ lịch sử duyệt web của bạn.",thinking:"Đang khám phá bộ nhớ...",placeholder:"Hỏi về lịch sử của bạn...",error_message:"Xin lỗi, tôi đã gặp lỗi khi xử lý yêu cầu của bạn.",relevant_context:"Ngữ cảnh liên quan",match_score:"Khớp {{score}}%",rag_attribution:"Alchemist đã sử dụng {{count}} tín hiệu này để trả lời",suggestions:{react:"Gần đây tôi đã đọc gì về React?",ai:"Tóm tắt tin tức AI mới nhất tôi đã xem.",finance:"Tôi có ghi chú nào về Tài chính không?",performance:"Tìm các bài báo về 'Hiệu suất'"}},c$={engines:"Động cơ Alchemist",assets:"Tín hiệu đã tạo",newsletter:"Bản tin",thread:"Luồng",generate:"Tạo",processing_desktop:"Đang xử lý trên máy tính...",ensure_defaults:"Đảm bảo các động cơ mặc định",create_engine:"Tạo động cơ",no_assets:"Chưa có tín hiệu nào được tạo.",title:"Động cơ Chuyển hóa",desc:"Các đường ống tạo & Tài sản đang hoạt động",generate_engines:"Tạo các động cơ",new_engine:"Động cơ mới",no_engines:"Chưa định cấu hình động cơ",no_engines_desc:"Tạo quy trình đầu tiên của bạn để tự động biến các tín hiệu thành bản tin, chuỗi bài viết hoặc bản tin âm thanh.",run_engine:"Chạy động cơ",running:"Đang chạy...",last_run:"Lần chạy cuối",never:"Chưa bao giờ",schedule:"Lịch trình",manual:"Thủ công",topic:"Chủ đề",pipeline:"Quy trình",pause:"Tạm dừng",resume:"Tiếp tục",view_json:"Xem tóm tắt sản xuất JSON",json_contract:"Hợp đồng phi trạng thái & tự chứa",json_desc:"JSON này chứa đầy đủ ngữ cảnh (Tín hiệu + Hồ sơ người dùng) cần thiết cho Desktop Studio.",generating_asset:"Đang tạo tài sản...",queued_desktop:"Đã xếp hàng cho máy tính...",desktop_processing:"Ứng dụng RealTimeX Desktop đang xử lý yêu cầu này. Cửa sổ này sẽ tự động cập nhật sau khi hoàn thành.",unsupported_type:"Loại tài sản không được hỗ trợ",edit_engine:"Sửa động cơ",engine_name:"Tên động cơ",type:"Loại",status:"Trạng thái",execution_env:"Môi trường thực thi",local_llm:"Cục bộ (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Ủy thác các tác vụ nặng như Âm thanh/Video cho ứng dụng máy tính.",env_desc_local:"Chạy các tác vụ Markdown đơn giản trực tiếp trong Alchemy.",min_score:"Điểm tối thiểu",max_signals:"Số tín hiệu tối đa",category_filter:"Lọc danh mục (chọn nhiều)",multi_select_hint:"Giữ Cmd/Ctrl để chọn nhiều danh mục",schedule_hint:"Lưu ý: Việc lập lịch chưa được tự động hóa",prompt_override:"Ghi đè lệnh tùy chỉnh (tùy chọn)",prompt_placeholder:"Ghi đè lệnh mặc định cho loại động cơ này...",delete_confirm:"Thực sự xóa?",confirm:"Xác nhận"},u$={title:"Cấu hình tài khoản",desc:"Quản lý hồ sơ Alchemist và các liên kết essence của bạn.",profile:"Hồ sơ",security:"Bảo mật",supabase:"Supabase",first_name:"Tên",last_name:"Họ",email_locked:"Địa chỉ email (Đã khóa)",sound_effects:"Hiệu ứng âm thanh",sound_desc:"Bật phản hồi âm thanh cho các sự kiện đồng bộ và khám phá tín hiệu.",sign_out:"Đăng xuất",logout_desc:"Kết thúc phiên hiện tại và quay lại màn hình đăng nhập.",preserve_profile:"Lưu hồ sơ",security_title:"Cập nhật khóa Entropy",new_password:"Mật khẩu mới",confirm_password:"Xác nhận mật khẩu",password_mismatch:"Các khóa phức tạp không khớp.",password_too_short:"Độ an toàn quá thấp. Tối thiểu 8 ký tự.",password_rotate_success:"Xoay vòng khóa thành công.",rotate_key:"Xoay vòng khóa",essence_resonance:"Sự cộng hưởng Essence",byok_desc:"Sử dụng khóa riêng của bạn (BYOK) để duy trì trí thông minh.",established_link:"Liên kết đã được thiết lập",env_notice:"Đang hoạt động từ các biến môi trường. Ghi đè UI đã được bật.",realign_link:"Căn chỉnh lại liên kết",sever_link:"Ngắt kết nối",sever_confirm:"Ngắt kết nối với essence này? Điều này sẽ đặt lại sự cộng hưởng cục bộ.",anon_secret_fragment:"Mảnh bí mật ẩn danh",no_resonance:"Không có sự cộng hưởng Essence",no_resonance_desc:"Alchemist yêu cầu một lõi đám mây để lưu trữ các mảnh trí thông minh.",initiate_link:"Bắt đầu liên kết",test_connection:"Kiểm tra kết nối"},d$={title:"Nhật ký hệ thống",desc:"Lịch sử chi tiết các lần đồng bộ, nguồn và xử lý URL",blacklist_suggestion:"Danh sách đen tiềm năng",blacklist_desc:"Các ứng viên để chặn",recent_errors:"Lỗi gần đây",errors_desc:"Quy trình xử lý URL bị lỗi",total_signals:"Tổng số tín hiệu",signals_desc:"Đã khai thác thành công",blacklist_modal_title:"Gợi ý danh sách đen",blacklist_modal_desc:"Xem xét các tên miền được gợi ý đưa vào danh sách đen dựa trên điểm số thấp.",no_suggestions:"Không có gợi ý nào vào lúc này",quality_good:"Chất lượng tín hiệu của bạn có vẻ tốt!",signals_count:"{{count}} tín hiệu",avg_score:"Điểm trung bình: {{score}}",low_quality:"Chất lượng thấp liên tục",repetitive:"Mẫu lặp đi lặp lại",blacklist_domain:"Tên miền danh sách đen",errors_modal_title:"Lỗi gần đây",errors_modal_desc:"Nhật ký các lỗi và sự cố gần đây.",no_recent_errors:"Không tìm thấy lỗi gần đây.",signals_modal_title:"Tín hiệu đã tìm thấy",signals_modal_desc:"Duyệt và quản lý lịch sử tín hiệu đã khai thác của bạn.",search_placeholder:"Tìm kiếm tín hiệu...",any_score:"Bất kỳ điểm số nào",high_score:"Cao (80%+)",medium_score:"Trung bình (50-79%)",low_score:"Thấp (<50%)",all_categories:"Tất cả danh mục",page_x:"Trang {{page}}"},h$={title:"Động cơ Alchemist",live:"TRỰC TIẾP",clear:"Xóa",idle:"Đang chờ. Đang đợi các sự kiện khai thác tín hiệu...",run_completed:"Đã hoàn thành lượt khai thác",signals:"Tín hiệu",urls:"URLs",skipped:"Đã bỏ qua",failed_to_process:"{{count}} URLs xử lý thất bại",view_logs:"Xem nhật ký",hide_details:"Ẩn chi tiết",view_details:"Xem chi tiết",engine_log:"Nhật ký động cơ trực tiếp",state_reading:"Đang đọc",state_thinking:"Đang suy nghĩ",state_signal:"Tín hiệu",state_skipped:"Bỏ qua",state_error:"Lỗi",state_completed:"Hoàn thành",msg_reading:"Đang đọc nội dung từ: {{url}}",msg_thinking:"Đang phân tích độ liên quan của: {{title}}",msg_found_signal:"Tìm thấy tín hiệu: {{summary}} ({{score}}%)",msg_low_signal:"Tín hiệu thấp được lưu để xem xét ({{score}}%): {{title}}",msg_failed:"Phân tích thất bại cho {{title}}: {{error}}",msg_sync_completed:"Đồng bộ hoàn tất: tìm thấy {{signals}} tín hiệu, đã bỏ qua {{skipped}}, {{errors}} lỗi"},f$={switch_light:"Chuyển sang Chế độ sáng",switch_dark:"Chuyển sang Chế độ tối",view_changelog:"Xem Nhật ký thay đổi",release_notes:"Ghi chú phát hành",changelog_error:"Không thể tải nhật ký thay đổi."},p$={title:"Nhịp đập tín hiệu",mining:"Đang khai thác",standing_by:"Đang chờ",idle:"Nhàn rỗi",tracked:"Tín hiệu đã theo dõi",avg_score:"Điểm trung bình",top_signal:"Tín hiệu cao nhất",latest:"Mới nhất",awaiting:"Đang đợi khai thác",no_signals:"Chưa có tín hiệu nào"},m$={title:"Động cơ Trí tuệ",subtitle:"Tinh chỉnh các thông số nhận thức của Alchemist và các liên kết nhà cung cấp.",configuration:"Cấu hình AI",test_connection:"Kiểm tra Kết nối",save_config:"Lưu Cấu hình",llm_provider:"Nhà cung cấp LLM",embedding_provider:"Nhà cung cấp Nhúng",sdk_connected:"Đã kết nối SDK",sdk_not_available:"SDK Không khả dụng",provider:"Nhà cung cấp",intelligence_model:"Mô hình Trí tuệ",embedding_model:"Mô hình Nhúng",loading_providers:"Đang tải nhà cung cấp...",sdk_info_success:"✓ Sử dụng nhà cung cấp đã cấu hình của RealTimeX",sdk_info_fail:"⚠️ Không phát hiện thấy RealTimeX SDK. Cấu hình trong RealTimeX Desktop.",embedding_info_success:"✓ Các bản nhúng được tạo bằng nhà cung cấp đã cấu hình của RealTimeX",embedding_info_fail:"⚠️ Không phát hiện thấy RealTimeX SDK. Cấu hình nhà cung cấp trong RealTimeX Desktop.",persona_title:"Bộ nhớ Cá nhân",save_memory:"Lưu Bộ nhớ",interests_title:"Mối quan tâm Hoạt động",interests_priority:"Ưu tiên Cao",interests_desc:"Alchemist ưu tiên nội dung khớp với các chủ đề này. Được cập nhật tự động dựa trên Yêu thích & Thúc đẩy.",interests_placeholder:"vd: Người dùng tập trung vào hiệu suất React, hệ thống backend Rust và kiến trúc AI Agent...",antipatterns_title:"Mẫu Chống lại",antipatterns_priority:"Tránh",antipatterns_desc:"Alchemist lọc bỏ hoặc giảm điểm nội dung khớp với các mẫu này. Được cập nhật qua việc Bỏ qua.",antipatterns_placeholder:"vd: Không thích tiếp thị sáo rỗng, danh sách chung chung và cường điệu tiền điện tử...",browser_sources:"Nguồn Lịch sử Trình duyệt",save_browser:"Lưu Nguồn Trình duyệt",blacklist_title:"Danh sách đen Tên miền",blacklist_desc:"Các URL chứa các mẫu này sẽ bị bỏ qua trong quá trình khai thác. Nhập một mẫu mỗi dòng.",blacklist_label:"Mẫu tên miền (một mẫu mỗi dòng)",blacklist_placeholder:`google.com/search
164
+ linkedin.com/feed`,blacklist_examples:"例:google.com/search, localhost:, facebook.com, twitter.com",save_blacklist:"ブラックリストを保存",blocked_tags_title:"ブロックされたタグ",blocked_tags_desc:"これらのタグを持つシグナルは、動的なカテゴリ生成やニュースレターから除外されます。1行に1つのタグを入力してください。",blocked_tags_label:"タグ(セミコロン区切り)",blocked_tags_placeholder:"login; signup; footer; navigation",blocked_tags_info:"完全な制御が可能です。これらのタグはシステムのデフォルトを完全に置き換えます。",save_blocked_tags:"ブロックされたタグを保存",save_error_login:"設定を保存するにはログインしてください",save_error_persona:"ペルソナを保存するにはログインしてください",save_success_llm:"LLM設定が正常に保存されました",save_success_browser:"ブラウザソースが正常に保存されました",save_success_blacklist:"ブラックリストが正常に更新されました",save_success_tags:"ブロックされたタグが正常に更新されました",save_success_persona:"ペルソナが正常に更新されました",test_success:"接続成功! {{model}}",test_fail:"接続失敗: {{message}}",auto_detect_title:"ブラウザの自動検出",scan_system:"システムをスキャン",scanning:"スキャン中...",auto_detected:"自動検出済み",custom:"カスタム",add_source:"ソースを追加",already_added:"追加済み",not_found:"このシステムでは見つかりません",add_custom_path:"カスタムパスを追加",custom_path_placeholder:"/path/to/browser/History",add_custom_source:"カスタムソースを追加",validating:"検証中...",configured_sources:"構成済みソース ({{count}})",enabled:"有効",disabled:"無効",invalid_path:"無効なパス: {{error}}",validation_failed:"パスの検証に失敗しました"},n$={common:VF,tabs:qF,setup:HF,auth:KF,discovery:WF,chat:GF,transmute:JF,account:XF,logs:YF,terminal:QF,shell:ZF,stats:e$,engine:t$},r$={save:"Lưu",cancel:"Hủy",loading:"Đang tải...",error:"Lỗi",success:"Thành công",settings:"Cài đặt",search:"Tìm kiếm",back:"Quay lại",all:"Tất cả",delete:"Xóa",update:"Cập nhật",edit:"Chỉnh sửa",close:"Đóng",complete:"Hoàn tất",skip:"Bỏ qua",begin:"Bắt đầu",connection:"Kết nối",setup:"Thiết lập",project:"Dự án",account:"Tài khoản",logout:"Đăng xuất",welcome:"Chào mừng",dark_mode:"Chế độ tối",light_mode:"Chế độ sáng",collapse:"Thu gọn",just_now:"Vừa xong",enabled:"Đã bật",disabled:"Đã tắt",quick:"Nhanh (5)",balanced:"Cân bằng (50)",thorough:"Kỹ lưỡng (200)",resetting:"Đang đặt lại...",saving:"Đang lưu...",locale_code:"vi-VN",categories:{ai_ml:"AI & ML",business:"Kinh doanh",politics:"Chính trị",technology:"Công nghệ",finance:"Tài chính",crypto:"Crypto",science:"Khoa học",other:"Khác"}},s$={discovery:"Khám phá",chat:"Chat",transmute:"Chuyển hóa",logs:"Nhật ký hệ thống",history:"Lịch sử"},i$={welcome_title:"Lắp ráp động cơ của bạn",welcome_desc:"Alchemy yêu cầu một tinh chất Supabase để lưu trữ các mảnh tín hiệu và mô hình thông minh.",requirements:"Yêu cầu:",project_url:"URL dự án Supabase",anon_key:"Khóa API công khai Anon",db_password:"Mật khẩu cơ sở dữ liệu",project_url_placeholder:"https://xxx.supabase.co hoặc project-id",anon_key_placeholder:"eyJ...",project_id_placeholder:"abcdefghijklm",access_token_placeholder:"sbp_...",begin_init:"BẮT ĐẦU KHỞI TẠO",connect_essence:"KẾT NỐI TINH CHẤT",credentials_title:"Tọa độ Tinh chất",credentials_desc:"Liên kết động cơ giả kim với cơ sở dữ liệu đám mây của bạn",validating:"Đang xác thực liên kết",resonance:"Đang đồng bộ hóa cộng hưởng...",init_schema:"Khởi tạo lược đồ",schema_desc:"Chạy di chuyển cơ sở dữ liệu để thiết lập các bảng và hàm bắt buộc.",project_id:"ID dự án",access_token:"Mã thông báo truy cập",run_migrations:"CHẠY DI CHUYỂN",running_migrations:"Đang chạy di chuyển",take_minute:"Việc này có thể mất một phút...",engine_aligned:"Động cơ đã căn chỉnh",restarting:"Đang khởi động lại các hệ thống con Alchemist...",forge_project:"Tạo Dự án tại Supabase",project_id_help:"Tìm thấy trong Bảng điều khiển Supabase → Cài đặt Dự án → Chung",access_token_help:"Tạo tại",access_token_link:"supabase.com/dashboard/account/tokens",project_id_required:"ID dự án là bắt buộc",access_token_required:"Mã thông báo truy cập là bắt buộc",migration_failed_logs:"Di chuyển thất bại. Kiểm tra nhật ký để biết chi tiết.",stream_error:"Không thể đọc luồng di chuyển",back:"QUAY LẠI",retry:"THỬ LẠI"},o$={title_init:"KHỞI TẠO BẬC THẦY",title_join:"GIA NHẬP VÒNG TRÒN",title_mystic:"TRUY CẬP HUYỀN BÍ",title_login:"ĐĂNG NHẬP NHÀ GIẢ KIM",desc_init:"Rèn luyện tài khoản nhà giả kim tối cao",desc_mystic_email:"Nhập email tinh chất của bạn",desc_mystic_code:"Chuyển hóa mã số thiêng liêng",desc_login:"Chuyển hóa dữ liệu của bạn thành trí thông minh",first_name:"Tên",last_name:"Họ",first_name_placeholder:"Zosimos",last_name_placeholder:"Panopolis",email_address:"Địa chỉ Email",email_placeholder:"alchemist@example.com",complexity_key:"Khóa phức tạp",password_placeholder:"••••••••",init_account:"KHỞI TẠO TÀI KHOẢN",send_code:"GỬI MÃ",unseal_engine:"MỞ KHÓA ĐỘNG CƠ",verify_code:"XÁC MINH MÃ",change_email:"Thay đổi địa chỉ email",sign_in_code:"Đăng nhập bằng mã",sign_in_password:"Đăng nhập bằng mật khẩu",already_alchemist:"Đã là một Nhà Giả Kim?",new_to_alchemy:"Mới làm quen với Alchemy?",login_instead:"Đăng nhập ngay",create_account:"Tạo tài khoản",session_failed:"Tạo phiên làm việc thất bại",invalid_code:"Mã không hợp lệ"},a$={filters:"Bộ lọc",category:"Danh mục",intelligence_score:"Điểm thông minh",no_signals_in_category:"Chưa có tín hiệu nào trong {{category}}.",no_categories:"Chưa có danh mục nào.",discovery_hint:"Các tín hiệu sẽ được sắp xếp ở đây sau khi được khám phá.",loading_signals:"Đang tải các tín hiệu...",dismiss_hint:"Bỏ qua (Không quan tâm)",signal_count_one:"{{count}} tín hiệu",signal_count_other:"{{count}} tín hiệu",time_min_ago:"{{count}}m trước",time_hour_ago:"{{count}}h trước",time_day_ago:"{{count}}d trước",add_note_title:"Thêm ghi chú",target:"Mục tiêu",note_placeholder:"Nhập suy nghĩ, ý tưởng hoặc các hạng mục hành động liên quan đến tín hiệu này...",save_note:"Lưu ghi chú",view_all_sources:"Xem tất cả nguồn",source_count_one:"{{count}} nguồn",source_count_other:"{{count}} nguồn",source_found_in:"Tìm thấy trong {{count}} nguồn khác nhau",high_confidence:"Độ tin cậy cao - được tìm thấy trong {{count}} nguồn",new_signals:"Tín hiệu mới",smart_summary:"Tóm tắt thông minh",entities:"Thực thể",sources:"Nguồn",last_sync:"Đồng bộ cuối",syncnow:"Đồng bộ ngay",all_time:"Tất cả thời gian",checkpoint:"Điểm kiểm tra",from:"Từ ngày",score_high:"CAO",score_medium:"TRUNG BÌNH",score_low:"THẤP",sources_count:"{{count}} nguồn",open_source:"Mở",add_note:"Ghi chú",boost_topic:"Đẩy chủ đề",boosted:"Đã đẩy",dismissed:"Đã bỏ qua",remove_favourite:"Xóa khỏi yêu thích",add_favourite:"Thêm vào yêu thích",sync_history:"Lịch sử đồng bộ",syncing:"Đang đồng bộ...",sync_settings:"Cài đặt đồng bộ",discovered:"Đã khám phá",original_source:"Nguồn gốc",ai_summary:"Tóm tắt AI",full_content:"Nội dung đầy đủ",copied:"Đã sao chép!",open_link:"Mở",detail_title:"Chi tiết tín hiệu",sync_from:"Đồng bộ từ (Tùy chọn)",urls_per_sync:"URL mỗi lần đồng bộ",sync_from_hint:"Để trống để chỉ đồng bộ các URL mới kể từ lần đồng bộ cuối cùng. Đặt ngày để xử lý các URL từ thời điểm đó trở đi.",reset_checkpoint:"Đặt lại điểm kiểm tra",reset_checkpoint_hint:"Xóa điểm kiểm tra đồng bộ để buộc đồng bộ lại toàn bộ từ ngày đã chọn.",sync_info:'Nhà Giả Kim tự động theo dõi tiến trình của bạn. Sử dụng "Đồng bộ từ" để điền lịch sử hoặc "Đặt lại điểm kiểm tra" để bắt đầu mới.',save_settings:"Lưu cài đặt",sync_saved:"Đã lưu cài đặt đồng bộ",checkpoint_reset:"Đã đặt lại điểm kiểm tra",login_to_save:"Vui lòng đăng nhập để lưu cài đặt",login_to_reset:"Vui lòng đăng nhập để đặt lại điểm kiểm tra",status_updated:"Đã cập nhật trạng thái động cơ thành {{status}}",asset_ready:'Tài sản "{{title}}" đã sẵn sàng!',scanning:"Đang quét các danh mục và chủ đề mới...",discovery_complete:"Đã hoàn tất khám phá động cơ!",discovery_failed:"Khám phá thất bại. Kiểm tra cài đặt.",load_failed:"Không thể tải động cơ",starting_run:"Đang bắt đầu chạy động cơ...",run_complete:"Đã chạy động cơ hoàn tất! Đã tạo: {{title}}",run_started_desktop:"Đã bắt đầu chạy động cơ trên Máy tính. Theo dõi là: {{id}}",run_failed:"Chạy động cơ thất bại",brief_failed:"Không thể tạo tóm tắt sản xuất",topic:"Chủ đề",pipeline:"Quy trình"},l$={history:"Lịch sử",ask_anything:"Hỏi bất cứ điều gì về lịch sử duyệt web của bạn...",sources:"Nguồn",processing:"Đang xử lý truy vấn của bạn...",new_chat:"Chat mới",no_messages:"Chưa có tin nhắn nào. Hãy bắt đầu một cuộc trò chuyện!",no_history:"Chưa có lịch sử chat.",title:"Hỏi Alchemist",desc:"Tôi có thể giúp bạn nhớ lại thông tin, tóm tắt các chủ đề và tìm thông tin chuyên sâu từ lịch sử duyệt web của bạn.",thinking:"Đang khám phá bộ nhớ...",placeholder:"Hỏi về lịch sử của bạn...",error_message:"Xin lỗi, tôi đã gặp lỗi khi xử lý yêu cầu của bạn.",relevant_context:"Ngữ cảnh liên quan",match_score:"Khớp {{score}}%",rag_attribution:"Alchemist đã sử dụng {{count}} tín hiệu này để trả lời",suggestions:{react:"Gần đây tôi đã đọc gì về React?",ai:"Tóm tắt tin tức AI mới nhất tôi đã xem.",finance:"Tôi có ghi chú nào về Tài chính không?",performance:"Tìm các bài báo về 'Hiệu suất'"}},c$={engines:"Động cơ Alchemist",assets:"Tín hiệu đã tạo",newsletter:"Bản tin",thread:"Luồng",generate:"Tạo",processing_desktop:"Đang xử lý trên máy tính...",ensure_defaults:"Đảm bảo các động cơ mặc định",create_engine:"Tạo động cơ",no_assets:"Chưa có tín hiệu nào được tạo.",title:"Động cơ Chuyển hóa",desc:"Các đường ống tạo & Tài sản đang hoạt động",generate_engines:"Tạo các động cơ",new_engine:"Động cơ mới",no_engines:"Chưa định cấu hình động cơ",no_engines_desc:"Tạo quy trình đầu tiên của bạn để tự động biến các tín hiệu thành bản tin, chuỗi bài viết hoặc bản tin âm thanh.",run_engine:"Chạy động cơ",running:"Đang chạy...",last_run:"Lần chạy cuối",never:"Chưa bao giờ",schedule:"Lịch trình",manual:"Thủ công",topic:"Chủ đề",pipeline:"Quy trình",pause:"Tạm dừng",resume:"Tiếp tục",view_json:"Xem tóm tắt sản xuất JSON",json_contract:"Hợp đồng phi trạng thái & tự chứa",json_desc:"JSON này chứa đầy đủ ngữ cảnh (Tín hiệu + Hồ sơ người dùng) cần thiết cho Desktop Studio.",generating_asset:"Đang tạo tài sản...",queued_desktop:"Đã xếp hàng cho máy tính...",desktop_processing:"Ứng dụng RealTimeX Desktop đang xử lý yêu cầu này. Cửa sổ này sẽ tự động cập nhật sau khi hoàn thành.",unsupported_type:"Loại tài sản không được hỗ trợ",edit_engine:"Sửa động cơ",engine_name:"Tên động cơ",type:"Loại",status:"Trạng thái",execution_env:"Môi trường thực thi",local_llm:"Cục bộ (Alchemy LLM)",desktop_swarm:"RealTimeX Desktop (Agent Swarm)",env_desc_desktop:"Ủy thác các tác vụ nặng như Âm thanh/Video cho ứng dụng máy tính.",env_desc_local:"Chạy các tác vụ Markdown đơn giản trực tiếp trong Alchemy.",min_score:"Điểm tối thiểu",max_signals:"Số tín hiệu tối đa",category_filter:"Lọc danh mục (chọn nhiều)",multi_select_hint:"Giữ Cmd/Ctrl để chọn nhiều danh mục",schedule_hint:"Lưu ý: Việc lập lịch chưa được tự động hóa",prompt_override:"Ghi đè lệnh tùy chỉnh (tùy chọn)",prompt_placeholder:"Ghi đè lệnh mặc định cho loại động cơ này...",delete_confirm:"Thực sự xóa?",confirm:"Xác nhận",copied_json:"Đã sao chép JSON vào bộ nhớ tạm",json_footer:"JSON này chứa ngữ cảnh đầy đủ (Tín hiệu + Nhân vật người dùng) cần thiết cho Desktop Studio."},u$={title:"Cấu hình tài khoản",desc:"Quản lý hồ sơ Alchemist và các liên kết essence của bạn.",profile:"Hồ sơ",security:"Bảo mật",supabase:"Supabase",first_name:"Tên",last_name:"Họ",email_locked:"Địa chỉ email (Đã khóa)",sound_effects:"Hiệu ứng âm thanh",sound_desc:"Bật phản hồi âm thanh cho các sự kiện đồng bộ và khám phá tín hiệu.",sign_out:"Đăng xuất",logout_desc:"Kết thúc phiên hiện tại và quay lại màn hình đăng nhập.",preserve_profile:"Lưu hồ sơ",security_title:"Cập nhật khóa Entropy",new_password:"Mật khẩu mới",confirm_password:"Xác nhận mật khẩu",password_mismatch:"Các khóa phức tạp không khớp.",password_too_short:"Độ an toàn quá thấp. Tối thiểu 8 ký tự.",password_rotate_success:"Xoay vòng khóa thành công.",rotate_key:"Xoay vòng khóa",essence_resonance:"Sự cộng hưởng Essence",byok_desc:"Sử dụng khóa riêng của bạn (BYOK) để duy trì trí thông minh.",established_link:"Liên kết đã được thiết lập",env_notice:"Đang hoạt động từ các biến môi trường. Ghi đè UI đã được bật.",realign_link:"Căn chỉnh lại liên kết",sever_link:"Ngắt kết nối",sever_confirm:"Ngắt kết nối với essence này? Điều này sẽ đặt lại sự cộng hưởng cục bộ.",anon_secret_fragment:"Mảnh bí mật ẩn danh",no_resonance:"Không có sự cộng hưởng Essence",no_resonance_desc:"Alchemist yêu cầu một lõi đám mây để lưu trữ các mảnh trí thông minh.",initiate_link:"Bắt đầu liên kết",test_connection:"Kiểm tra kết nối"},d$={title:"Nhật ký hệ thống",desc:"Lịch sử chi tiết các lần đồng bộ, nguồn và xử lý URL",blacklist_suggestion:"Danh sách đen tiềm năng",blacklist_desc:"Các ứng viên để chặn",recent_errors:"Lỗi gần đây",errors_desc:"Quy trình xử lý URL bị lỗi",total_signals:"Tổng số tín hiệu",signals_desc:"Đã khai thác thành công",blacklist_modal_title:"Gợi ý danh sách đen",blacklist_modal_desc:"Xem xét các tên miền được gợi ý đưa vào danh sách đen dựa trên điểm số thấp.",no_suggestions:"Không có gợi ý nào vào lúc này",quality_good:"Chất lượng tín hiệu của bạn có vẻ tốt!",signals_count:"{{count}} tín hiệu",avg_score:"Điểm trung bình: {{score}}",low_quality:"Chất lượng thấp liên tục",repetitive:"Mẫu lặp đi lặp lại",blacklist_domain:"Tên miền danh sách đen",errors_modal_title:"Lỗi gần đây",errors_modal_desc:"Nhật ký các lỗi và sự cố gần đây.",no_recent_errors:"Không tìm thấy lỗi gần đây.",signals_modal_title:"Tín hiệu đã tìm thấy",signals_modal_desc:"Duyệt và quản lý lịch sử tín hiệu đã khai thác của bạn.",search_placeholder:"Tìm kiếm tín hiệu...",any_score:"Bất kỳ điểm số nào",high_score:"Cao (80%+)",medium_score:"Trung bình (50-79%)",low_score:"Thấp (<50%)",all_categories:"Tất cả danh mục",page_x:"Trang {{page}}"},h$={title:"Động cơ Alchemist",live:"TRỰC TIẾP",clear:"Xóa",idle:"Đang chờ. Đang đợi các sự kiện khai thác tín hiệu...",run_completed:"Đã hoàn thành lượt khai thác",signals:"Tín hiệu",urls:"URLs",skipped:"Đã bỏ qua",failed_to_process:"{{count}} URLs xử lý thất bại",view_logs:"Xem nhật ký",hide_details:"Ẩn chi tiết",view_details:"Xem chi tiết",engine_log:"Nhật ký động cơ trực tiếp",state_reading:"Đang đọc",state_thinking:"Đang suy nghĩ",state_signal:"Tín hiệu",state_skipped:"Bỏ qua",state_error:"Lỗi",state_completed:"Hoàn thành",msg_reading:"Đang đọc nội dung từ: {{url}}",msg_thinking:"Đang phân tích độ liên quan của: {{title}}",msg_found_signal:"Tìm thấy tín hiệu: {{summary}} ({{score}}%)",msg_low_signal:"Tín hiệu thấp được lưu để xem xét ({{score}}%): {{title}}",msg_failed:"Phân tích thất bại cho {{title}}: {{error}}",msg_sync_completed:"Đồng bộ hoàn tất: tìm thấy {{signals}} tín hiệu, đã bỏ qua {{skipped}}, {{errors}} lỗi"},f$={switch_light:"Chuyển sang Chế độ sáng",switch_dark:"Chuyển sang Chế độ tối",view_changelog:"Xem Nhật ký thay đổi",release_notes:"Ghi chú phát hành",changelog_error:"Không thể tải nhật ký thay đổi."},p$={title:"Nhịp đập tín hiệu",mining:"Đang khai thác",standing_by:"Đang chờ",idle:"Nhàn rỗi",tracked:"Tín hiệu đã theo dõi",avg_score:"Điểm trung bình",top_signal:"Tín hiệu cao nhất",latest:"Mới nhất",awaiting:"Đang đợi khai thác",no_signals:"Chưa có tín hiệu nào"},m$={title:"Động cơ Trí tuệ",subtitle:"Tinh chỉnh các thông số nhận thức của Alchemist và các liên kết nhà cung cấp.",configuration:"Cấu hình AI",test_connection:"Kiểm tra Kết nối",save_config:"Lưu Cấu hình",llm_provider:"Nhà cung cấp LLM",embedding_provider:"Nhà cung cấp Nhúng",sdk_connected:"Đã kết nối SDK",sdk_not_available:"SDK Không khả dụng",provider:"Nhà cung cấp",intelligence_model:"Mô hình Trí tuệ",embedding_model:"Mô hình Nhúng",loading_providers:"Đang tải nhà cung cấp...",sdk_info_success:"✓ Sử dụng nhà cung cấp đã cấu hình của RealTimeX",sdk_info_fail:"⚠️ Không phát hiện thấy RealTimeX SDK. Cấu hình trong RealTimeX Desktop.",embedding_info_success:"✓ Các bản nhúng được tạo bằng nhà cung cấp đã cấu hình của RealTimeX",embedding_info_fail:"⚠️ Không phát hiện thấy RealTimeX SDK. Cấu hình nhà cung cấp trong RealTimeX Desktop.",persona_title:"Bộ nhớ Cá nhân",save_memory:"Lưu Bộ nhớ",interests_title:"Mối quan tâm Hoạt động",interests_priority:"Ưu tiên Cao",interests_desc:"Alchemist ưu tiên nội dung khớp với các chủ đề này. Được cập nhật tự động dựa trên Yêu thích & Thúc đẩy.",interests_placeholder:"vd: Người dùng tập trung vào hiệu suất React, hệ thống backend Rust và kiến trúc AI Agent...",antipatterns_title:"Mẫu Chống lại",antipatterns_priority:"Tránh",antipatterns_desc:"Alchemist lọc bỏ hoặc giảm điểm nội dung khớp với các mẫu này. Được cập nhật qua việc Bỏ qua.",antipatterns_placeholder:"vd: Không thích tiếp thị sáo rỗng, danh sách chung chung và cường điệu tiền điện tử...",browser_sources:"Nguồn Lịch sử Trình duyệt",save_browser:"Lưu Nguồn Trình duyệt",blacklist_title:"Danh sách đen Tên miền",blacklist_desc:"Các URL chứa các mẫu này sẽ bị bỏ qua trong quá trình khai thác. Nhập một mẫu mỗi dòng.",blacklist_label:"Mẫu tên miền (một mẫu mỗi dòng)",blacklist_placeholder:`google.com/search
165
165
  localhost:
166
166
  127.0.0.1
167
167
  facebook.com