melete-ai 0.89.1 → 0.89.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS;;;;GAKrB,CAAC;AA4TF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtG;AAED,wBAAgB,WAAW,CAAC,OAAO,SAAU,GAAG,MAAM,CA6+BrD;AAED,wBAAgB,SAAS,CAAC,OAAO,SAAU,GAAG,MAAM,CA0DnD;AAGD,wBAAgB,cAAc,IAAI;IAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAkBnH;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,UAAixZ"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS;;;;GAKrB,CAAC;AA4TF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAGtG;AAED,wBAAgB,WAAW,CAAC,OAAO,SAAU,GAAG,MAAM,CA2/BrD;AAED,wBAAgB,SAAS,CAAC,OAAO,SAAU,GAAG,MAAM,CA0DnD;AAGD,wBAAgB,cAAc,IAAI;IAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAkBnH;AAGD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,UAAixZ"}
package/dist/server.js CHANGED
@@ -416,6 +416,19 @@ export function landingPage(version = "0.4.0") {
416
416
  <p class="muted" style="font-size:11.5px;margin-top:12px" data-i18n="gal_note">⚠ Simulated environments (real engine, real signed verdict). No live link to any satellite/grid — connect your own telemetry as the oracle in production.</p>
417
417
  </section>
418
418
 
419
+ <section id="nullspot" style="margin-top:34px">
420
+ <div style="background:radial-gradient(130% 120% at 50% -10%,#0d1322,#05060d 72%);border:1px solid #1d2740;border-radius:22px;padding:30px 30px 26px;position:relative;overflow:hidden;box-shadow:0 30px 70px -40px rgba(20,20,60,.8)">
421
+ <div style="position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:radial-gradient(120% 100% at 50% 0%,#000 30%,transparent 80%);mask-image:radial-gradient(120% 100% at 50% 0%,#000 30%,transparent 80%)"></div>
422
+ <div style="position:relative">
423
+ <div style="display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#9aa6c8"><span style="font-size:16px">⬛</span><span data-i18n="nullSpotEye">THE NULL ENGINE · MELETE SIGNATURE</span></div>
424
+ <h2 style="font-size:27px;line-height:1.25;margin:12px 0 10px;color:#eaf0ff;max-width:880px;letter-spacing:-.4px" data-i18n="nullSpotH">Every optimizer hands you a “best recipe.” Even when there is nothing there.</h2>
425
+ <p style="font-size:15.5px;line-height:1.7;color:#aeb9d6;max-width:840px;margin:0 0 18px" data-i18n="nullSpotP">Feed any optimizer pure noise and it still returns a confident answer — the luckiest random draw dressed up as a discovery. The NULL ENGINE is the only one that puts its OWN answer on trial and tells you the truth: a REAL signal, or just noise. Proven: false-positive ≤ 2.5% over 200 independent trials.</p>
426
+ <button onclick="gNullSpot()" style="background:linear-gradient(135deg,#22d3ee,#6d5cf0);color:#06121f;font-weight:800;font-size:14.5px;border:0;border-radius:12px;padding:12px 22px;cursor:pointer;box-shadow:0 14px 34px -14px #22d3ee88" data-i18n="nullSpotBtn">▶ Prove it live — a real problem vs pure noise</button>
427
+ <div id="nullout" style="margin-top:18px"></div>
428
+ </div>
429
+ </div>
430
+ </section>
431
+
419
432
  <section id="flab" style="margin-top:30px">
420
433
  <div class="eyebrow" data-i18n="flabEye">FRONTIER LAB · DEEP-TECH, PROVEN</div>
421
434
  <h2 data-i18n="flabH">The 3 ways optimizers die in the real world — engineered out, every one proven</h2>
@@ -460,8 +473,8 @@ if(which==='noise'){url='/noise-robust';body={space:[{name:'x',type:'real',min:0
460
473
  else if(which==='mixed'){url='/mixed';body={space:[{name:'engine',type:'categorical',choices:['A','B','C']},{name:'x',type:'real',min:0,max:1},{name:'n',type:'int',min:3,max:7},{name:'tune',type:'real',min:0,max:1,activeWhen:{dim:'engine',equals:'B'}}],objective:'(engine===\\'B\\'?1.0:(engine===\\'C\\'?0.71:0.62))*Math.exp(-(((x-0.7)**2)/0.04))*Math.exp(-(((n-5)**2)/6))*(engine===\\'B\\'?Math.exp(-(((tune-0.3)**2)/0.05)):1)*100',budget:500,seed:1};}
461
474
  else if(which==='null'){url='/null-engine';body={budget:90,seed:1};}
462
475
  else{url='/provenance';body={count:20000,windowSize:50};}
463
- fetch(url,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(body)}).then(function(r){return r.json();}).then(function(j){if(j.error){if(out)out.innerHTML='<div style="color:#c33;font-size:13px">⚠ '+j.error+'</div>';return;}if(which==='noise')flabNoise(j);else if(which==='mixed')flabMixed(j);else if(which==='null')flabNull(j);else flabProv(j);}).catch(function(e){if(out)out.innerHTML='<div style="color:#c33;font-size:13px">⚠ '+e.message+'</div>';});}
464
- function flabNull(j){var th=(LANG==='th');var col='#9aa6c8';
476
+ fetch(url,{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(body)}).then(function(r){return r.json();}).then(function(j){if(j.error){if(out)out.innerHTML='<div style="color:#c33;font-size:13px">⚠ '+j.error+'</div>';return;}if(which==='noise')flabNoise(j);else if(which==='mixed')flabMixed(j);else if(which==='null')flabNull(j,'flabout');else flabProv(j);}).catch(function(e){if(out)out.innerHTML='<div style="color:#c33;font-size:13px">⚠ '+e.message+'</div>';});}
477
+ function flabNull(j,outId){var th=(LANG==='th');var col='#9aa6c8';
465
478
  var vCol=function(v){return v==='REAL'?'#34d399':(v==='WEAK'?'#fbbf24':'#94a3b8');};
466
479
  var vLab=function(v){return th?(v==='REAL'?'✓ จริง (REAL)':(v==='WEAK'?'⚠ ก้ำกึ่ง (WEAK)':'⬛ ไม่มีสัญญาณ (NULL)')):(v==='REAL'?'✓ REAL':(v==='WEAK'?'⚠ WEAK':'⬛ NULL'));};
467
480
  var panel=function(title,r,note){var c=vCol(r.verdict);var rec=Object.keys(r.best.experiment).map(function(k){return k+'='+(+r.best.experiment[k]).toFixed(2);}).join(' · ');return '<div style="flex:1;min-width:220px;background:rgba(255,255,255,.04);border:1px solid '+c+'55;border-radius:14px;padding:14px 16px"><div style="font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:#9fb0d0;margin-bottom:6px">'+title+'</div><div style="font-size:22px;font-weight:800;color:'+c+';text-shadow:0 0 14px '+c+'66">'+vLab(r.verdict)+'</div><div style="font-size:12px;color:#8a98b8;margin-top:4px">p = '+r.pValue+' · '+(th?'สัญญาณ ':'signal ')+Math.round((+r.signalStrength)*100)+'%</div><div style="font-size:12px;color:#cdd6ee;margin-top:7px">'+(th?'สูตรที่เจอ: ':'found: ')+'<b>'+rec+'</b> → '+(Number.isFinite(+r.best.value)?(+r.best.value).toFixed(1):'—')+'</div><div style="font-size:11.5px;color:#8a98b8;margin-top:7px">'+note+'</div></div>';};
@@ -470,7 +483,8 @@ var body='<div style="font-size:13px;color:#cdd6ee;margin:2px 2px 12px">'+(th?'e
470
483
  +panel((th?'โจทย์จริง (มี optimum)':'A REAL problem (a true optimum)'),j.real,(th?'ปุ่มมีผลจริง → เชื่อผลนี้ได้':'the knobs genuinely matter → trust this'))
471
484
  +panel((th?'ข้อมูลมั่ว (noise ล้วน)':'PURE NOISE (knobs do nothing)'),j.noise,(th?'optimizer อื่นจะยัดสูตรปลอมให้ตรงนี้ — Null Engine ปฏิเสธ':'every other optimizer would hand you a FAKE recipe here — the Null Engine refuses'))
472
485
  +'</div>';
473
- document.getElementById('flabout').innerHTML=flabShell(col,(th?'NULL ENGINE · กล้าบอกว่าไม่มีอะไรให้หา':'NULL ENGINE · brave enough to say nothing is there'),(th?'ทดสอบ null-hypothesis ของผลตัวเอง':'puts its own answer on trial'),body,(th?'permutation test (300 รอบ) บนข้อมูลของรันเอง · false-positive ≤2.5% พิสูจน์แล้ว · ของจริงจาก /null-engine':'permutation test (300×) on the run\\'s own data · false-positive ≤2.5% proven · live from /null-engine'));}
486
+ document.getElementById(outId||'flabout').innerHTML=flabShell(col,(th?'NULL ENGINE · กล้าบอกว่าไม่มีอะไรให้หา':'NULL ENGINE · brave enough to say nothing is there'),(th?'ทดสอบ null-hypothesis ของผลตัวเอง':'puts its own answer on trial'),body,(th?'permutation test (300 รอบ) บนข้อมูลของรันเอง · false-positive ≤2.5% พิสูจน์แล้ว · ของจริงจาก /null-engine':'permutation test (300×) on the run\\'s own data · false-positive ≤2.5% proven · live from /null-engine'));}
487
+ function gNullSpot(){var out=document.getElementById('nullout');var th=(LANG==='th');if(out)out.innerHTML='<div class="muted" style="font-size:13px">▶ '+(th?'กำลังพิสูจน์สดๆ…':'proving it live…')+'</div>';fetch('/null-engine',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({budget:90,seed:1})}).then(function(r){return r.json();}).then(function(j){if(j.error){if(out)out.innerHTML='<div style="color:#c33;font-size:13px">⚠ '+j.error+'</div>';return;}flabNull(j,'nullout');}).catch(function(e){if(out)out.innerHTML='<div style="color:#c33;font-size:13px">⚠ '+e.message+'</div>';});}
474
488
  function flabNoise(j){var th=(LANG==='th');var col='#22d3ee';var rec=Object.keys(j.best.experiment).map(function(k){return k+'='+(+j.best.experiment[k]).toFixed(2);}).join(' · ');
475
489
  var pts=(j.points||[]).slice(0,5);var mx=1;pts.forEach(function(p){if(Math.abs(p.mean)>mx)mx=Math.abs(p.mean);});
476
490
  var bars=pts.map(function(p){var rc=Object.keys(p.experiment).map(function(k){return (+p.experiment[k]).toFixed(2);}).join(',');return flabBar('('+rc+')',Math.abs(p.mean)/mx,col,'μ '+p.mean+' ± '+p.std+' · n'+p.n);}).join('');
@@ -816,8 +830,8 @@ function gRecord(){var v=parseFloat((document.getElementById('gScore')||{}).valu
816
830
  <script>
817
831
  var LANG='en';try{var _sl=localStorage.getItem('mlang');if(_sl)LANG=_sl;}catch(e){}
818
832
  var T={
819
- en:{flabEye:'FRONTIER LAB · DEEP-TECH, PROVEN',flabH:'The 3 ways optimizers die in the real world — engineered out, every one proven',flabP:'Each button runs the REAL Melete engine via the on-box API. Numbers are live, not canned. Press one.',flabNoiseT:'📡 Noise-Robust',flabNoiseD:'A noisy signal that reads 99% then 40% — find the value you can TRUST, not a lucky spike.',flabMixedT:'🧩 Mixed-Space',flabMixedD:'Categorical + integer + conditional knobs (storage engine, thread count) — not just dials.',flabProvT:'📜 Provenance Seal',flabProvD:'A 24/7 run history sealed into a constant-size, signed, tamper-evident proof.',flabNullT:'⬛ Null Engine',flabNullD:'The only optimizer brave enough to say “there is nothing to find” — it refuses to hand you a fake recipe when the data is just noise.',flabRun:'▶ run live',flabUseEye:'USE IT ON YOUR OWN SYSTEM',flabUseH:'These demos used a formula. On your machine, the “oracle” is YOUR real measurement.',flabUse1:'① Define your knobs (the settings you can change) + your score (what you measure — a yield %, a latency, a benchmark, an assay readout).',flabUse2:'② Point the oracle at YOUR system — a function that runs your real process / calls your API / reads your instrument and returns that score. The same proven engine searches it.',flabUse3:'③ Runs fully on your machine (sovereign — your data never leaves); every result is Ed25519-signed for your audit / patent trail.',flabUseCap:'Self-host the same engine (npm) and plug in your real measurement:',flabUseApi:'…or POST a JS-expression objective to the hosted API for a quick formula test: /discover · /mixed · /noise-robust',watch:'▶ Watch Melete discover',replay:'▶ Replay',team:"Meli's team — who did the work",teamhint:"Expert detail: the helpers Meli used. You don't need this to use the result.",climb:'How the score climbed (higher = better)',cinema:'Discovery cinema — watch Meli search',scenarioL:'Scenario',knobs:'You adjust',score:'You score',budget:'Tries',ph:'Pick a scenario, then press Watch.',plainHdr:'Summary',tried:'Melete tried',settings:'settings and zeroed in on the best one',eyebrow:'The Sovereign Verifiable AI Analyst & Optimizer',ctaTry:'See it discover (live) →',ctaPitch:'The 60-second pitch',h_what:'What it does — one example',h_meli:'Meet Meli — a tiny story',h_how:'How it works — 3 steps',h_who:"Who it's for & what they get",h_see:'See it discover — just watch',see_lead:'👇 Just press the purple button and watch. Melete tests settings one by one and zeroes in on the best — like the coffee story above, but live.',see_sub:'This is a demo, so the "score" is calculated instantly by a formula. In real life, the score is whatever YOU measure (a taste rating, a yield %, a benchmark) — and you type it in. <a href="#use">How to use it for your own work →</a>',h_ind:'Click an industry — see Melete work on it',h_proven:'Proven, not claimed',h_use:'Use it for your work — answer 3 questions',heroTag:'Tell Melete what you can change and what <b>"good"</b> means. It finds the <b>best recipe in the fewest real-world experiments</b> — then tells you exactly what to do with it.',heroSub:'Analyze · optimize · certify — on your machine (sovereign), data never leaves, every verdict cryptographically signed & verifiable offline.',ctaApi:'🔌 Connect via API',pill1:'🎯 best answer, fewest tries',pill2:'🚀 no data needed — starts from scratch',pill3:'🔒 runs on your machine',pill4:'🔏 every answer signed',hs1:'verified engines',hs2:'of the true optimum, every benchmark',hs3:'on your machine · signed',hs4:'one brain, smart about everything',m60_eye:'Understand the whole thing in 60 seconds',m60_h:'What Melete is — in one minute',m60_p:'You have a system you can <b>measure</b> — an ML pipeline, a server/DB/network config, a recipe, a simulation. Melete finds the best <b>and most robust</b> setting in the fewest experiments, explains why in plain language, and hands you a <b>signed verdict you (or an auditor) can re-verify offline</b>. It runs on your machine — your data never leaves.',m60_s1:'<b>Tell it</b> what you can change + what "good" means',m60_s2:'<b>It proposes</b> a setting → you measure it (or give a formula) → repeat',m60_s3:'<b>You get</b> the best robust recipe + a signed, replayable verdict',m60_inside:'Inside: 43 engines, organized as 4 layers',lay1:'find the best setting in the fewest tries',lay2:'the Φ brain — a safety-first call + 🛡 the robust one',lay3:'plain-language why: which knobs, cliffs, shape, ceiling',lay4:'signed, offline-verifiable, step-by-step replayable',gal_eye:'Live demo — pick your world, press one button',gal_h:'See Melete run on YOUR industry',gal_p:'Each card runs the <b>real Melete engine</b> on a simulated, industry-shaped problem — then sums up the result in plain language (every number is from the real run). In production you connect your own system as the oracle.',gal_note:'⚠ Simulated environments (real engine, real signed verdict). No live link to any satellite/grid — connect your own telemetry as the oracle in production.',g_auto:'▶ Watch Melete solve it (auto)',mo_eyebrow:'MULTI-OBJECTIVE',mo_h:'Optimize several goals at once — see the trade-offs',mo_sub:'Real problems have competing goals — more yield AND less cost. There is no single best, so Melete finds the Pareto front: the set of best-possible trade-offs. Define your goals + variables, run the propose-measure-repeat loop scoring each objective, and watch the front fill in.',g_howreal:'<b>Using Melete in your real project — 2 ways:</b><br><b>1) Through this website (no code)</b> — for slow / expensive hand-measured experiments: Melete proposes, you run it in your lab/system, you type the score. Best for physical experiments you measure by hand anyway.<br><b>2) Connected & automated</b> — <code>melete tune</code>, <code>POST /next</code>, or the npm library, on YOUR own servers (air-gapped): your code runs each test and feeds the score back in a loop. Best for benchmarks, simulations, pipelines.',g_pickopt:'Choose your field…',gs_h:'How it works — 4 steps',gs1:'Tell Melete what you can change — or pick your field above',gs2:'Melete proposes the exact next setting to try',gs3:'You run it for real and type the score you measured',gs4:'Repeat ~20–40× → the best config + a signed proof',g_ex:'<b>Example — AI security engineer:</b> adjust <b>[filter threshold · temperature · rate limit]</b>, then measure <b>[% of red-team attacks your system blocks]</b> as the score. Melete proposes the next config → you run your attack suite → type the % → repeat → it finds the safest config in the fewest tests.',vf_eyebrow:'VERIFY · NO TRUST NEEDED',vf_h:'Verify any Proof of Optimization — offline',vf_sub:'Optional — for auditors & reviewers; you do NOT need this to use Melete. After you run a discovery and download its certificate, anyone can drop it here to check it — it recomputes the efficiency claim and verifies the Ed25519 signature with the public key embedded in the certificate. New here? Press “Load a sample”.',vf_sample:'▶ Load a sample',vf_btn:'Verify certificate',sim_note:'<b>You do NOT write these formulas.</b> This box is a browser simulation so you can watch the algorithm work. A pharma researcher (or anyone) uses the no-formula guided mode — enter your variables (pH, temperature…), make the recipe, measure the real result, type the score.',sim_btn:'👉 No-formula mode',nf_h:'Use it on your real process — no formula, no code.',nf_sub:'The demo below needs a formula (for developers). To use Melete on your real process with no formula — it proposes, you measure, you type the score — use the guided mode.',nf_btn:'👉 Use the no-formula mode',g_pick:'Start from your industry — or edit the variables yourself:',g_addvar:'add variable',pr_eyebrow:'PRICING',pr_h:'Start free. Pay when it saves you money.',pr_sub:'The value is fewer expensive experiments, certified — so you only pay once Melete is already saving you more than it costs.',pr_pop:'POPULAR',pr_free_name:'Free',pr_free_price:'$0',pr_free_tag:'Open web + CLI, forever',pr_free_f:'✓ Run discoveries<br>✓ Signed, replicable trace<br>✓ Optimality certificate<br>✓ No signup',pr_free_btn:'▶ Try it now',pr_pro_name:'Pro',pr_pro_price:'Early access',pr_pro_tag:'For teams on a real process',pr_pro_f:'✓ Connect your process via API<br>✓ Reliable mode + batch runs<br>✓ Priority support<br>✓ Private workspace',pr_pro_btn:'Talk to us',pr_ent_name:'Enterprise',pr_ent_price:'Air-gapped',pr_ent_tag:'Regulated + on-prem',pr_ent_f:'✓ Runs fully offline — data never leaves<br>✓ Signed proof for audits and patents<br>✓ SLA + onboarding<br>✓ Self-hosted',pr_ent_btn:'Talk to us',pf_eyebrow:'PROVEN · MEASURED · CERTIFIED',pf_h:'≥99% of the true optimum — on every landscape',pf_sub:'Most optimizers win on easy surfaces and quietly fail on the hard ones. Melete is benchmarked on 7 deliberately adversarial landscapes, each normalised so the score is literally the % of the true optimum reached — and it clears ≥99% on every one, every seed.',pf_engine:'How: a 3-paradigm engine — portfolio global-explore → certificate-guided Lipschitz infill → Nelder–Mead polish. Every result also carries an optimality certificate: a provable bound on how much better the true best could be.',pf_avg:'average of the true optimum reached',pf_avg2:'across 7 adversarial landscapes · every seed · ≥99% on every single one — including the brutal ones (Rosenbrock\\'s banana valley, a 5-D haystack, a lone needle).',pf_note:'Reproducible: this is the open reliability gauntlet — re-run it and check every number yourself.',rel_lbl:'⚡ Reliable mode — add a Nelder–Mead polish (slower; nails hard curved valleys to the true optimum)',btn_contact:'Contact',use_lead:'No dataset, no formula. Just answer these about <b>your</b> process:',q1d:'List the knobs + their real limits (the range of your machine). <span class="muted">→ this is the SPACE.</span>',q2d:'You <b>measure</b> it — taste a score, read accuracy, read revenue. You do not calculate it. <span class="muted">→ this is the SCORE.</span>',q3d:'Brews, training runs, assays you pay for. <span class="muted">→ this is the BUDGET.</span>',ex_cof:'<b>Knobs:</b> temp 85–96° · grind 1–10 · dose 14–22g<br><b>Score:</b> a barista tastes each shot, 0–10<br><b>Budget:</b> 30 shots → Melete finds the recipe in ~20.',ex_ml:'<b>Knobs:</b> learning-rate 0–0.1 · depth 1–12<br><b>Score:</b> the training script prints accuracy<br><b>Budget:</b> 40 runs → fewer GPU-hours to the best model.',ex_cof_l:'A coffee shop',ex_ml_l:'An ML team',tw_a_b:'Connect your process',tw_a_d:' — Melete runs it for you and reads the number (this is the real product, like installing a tool):',tw_b_b:'From an agent or pipeline',tw_b_d:' — call the HTTP API or the library; your code returns the score each step:',sandbox:'<b>This website = a sandbox to try it.</b> Real work = connect your real process (A or B). 🔒 Air-gapped: zero dependencies + local signing ⇒ runs fully offline, result still verifiable.',prov_intro:'No single optimiser wins on every landscape. A bandit spends each experiment on whichever strategy is winning <i>on your problem</i> — one engine, no per-problem tuning.',btn_pitch:'Read the pitch',cta_body:'Built by one developer who genuinely loves this stuff. Got a question, an idea, or a process you want to try it on? Just reach out — happy to chat.',tl_land:'landscape',tl_bay:'single Bayesian',tl_rand:'random',tl_smooth:'smooth',tl_rug:'rugged (many traps)',tl_hd:'high-dimensional',tl_best:'best 🏆 beats every single algorithm',tl_far:'far behind',u_q1:'What can you adjust?',u_q2:'After one try, what number tells you how good it was?',u_q3:'How many tries can you afford?',u_two:'Then run it one of two ways:',cta_h:'Like Melete? Talk to the maker.',foot_honest:'Honest: the engine is a context-adaptive ensemble — its guarantee is robustness + verifiable provenance, measured &amp; reproducible (not a single "magic" algorithm).',g_h:'Use it on your real process — you measure',g_intro:'No code, no formula. Melete proposes the next experiment; you go run it for real and type the score back; it proposes the next — converging to the best in as few real tries as possible. (Demo space below: espresso temp · grind · dose. Connect your own process through the API.)',g_start:'▶ Start guiding',g_target:'🎯 Target (optional)',g_targethint:'the score you need — Melete tells you if it is reachable with these variables',ind_intro:'The browser score is a simulated model</b> of the process — the <b>optimisation is real &amp; reproducible</b>; connect your real assay / benchmark / process for real numbers.',t_pharma:'Drug formulation',t_gpu:'GPU kernel tuning',t_etch:'Plasma-etch process',t_llm:'LLM serving config',t_esp:'Best espresso recipe',d_pharma:'Variables: pH · temperature · excipient %. Goal: stability / potency. Melete finds the most stable formulation in ~60 assays — instead of hundreds.',d_gpu:'Variables: tile size · unroll · occupancy. Goal: throughput (GFLOP/s). Find the fastest config in ~50 benchmark runs.',d_etch:'Variables: power · pressure · time. Goal: wafer yield %. Tune the recipe to maximum yield — air-gapped, on-prem.',d_llm:'Variables: batch size · KV-cache · quantization. Goal: tokens/sec at a quality bar. Melete optimises AI infrastructure too — and can tune prompts, agents &amp; routing the same way.',d_esp:'Variables: temp · grind · dose. Goal: taste. The friendliest way to watch the idea click.',runnow:'▶ Run it now',sb1:'Once upon a time, a little coffee shop wished for the <b>most delicious espresso in the world</b>.',sb2:'But there were <b>thousands of ways</b> to make it — and every single test meant brewing, and tasting, a whole cup. Trying them all? <b>Impossible.</b>',sb3:'Then came <b>Meli</b> — who never tries everything. Meli looks, thinks, and the little light glows: <i>“brew <b>this</b> one next.”</i>',sb4:'You brew it, you taste it — <b>7 out of 10</b>. Meli smiles, <b>learns</b>, and picks an even smarter cup. 8.5… 9.2…',sb5:'In about <b>twenty cups</b>, Meli found the <b>perfect recipe</b> — and sealed a magical <b>proof</b> of how, so the whole world could trust it. <b>The end ✨</b>',st1h:'Set the dials',st1p:'List what you can change and its range — temperature 85–96°, learning-rate 0–0.1, price $1–100.',st2h:'Score one try',st2p:'Your real process returns one number: brew → taste, train → accuracy, price → revenue. No dataset needed.',st3h:'Discover &amp; prove',st3p:'Melete proposes the next experiment, learns, converges to the best — and signs a verifiable trace of how.',wh1:'Tune learning rates, architectures, RAG/serving configs, compiler flags — fewer GPU-hours to the best model, with a provable tuning record.',wh2:'Find the reagent mix / conditions that maximise yield or potency in far fewer assays — and a tamper-proof discovery trail for patents &amp; audits.',wh3:'Tune deposition / etch / print parameters against real KPIs on-prem — air-gapped, data never leaves the fab, result still verifiable.',wh4:'Search price points, configurations, and policies where each test is costly — converge faster than grid or manual search.',story:'<p style="font-size:19px;font-weight:600;color:#1a1b30;margin-bottom:14px">You run a coffee shop and want the <b>best espresso</b>. You can change three things — water temperature, grind, and how many grams of coffee. Thousands of combinations, and each test means <b>brewing a cup and tasting it</b>. You can’t try them all.</p><p style="color:#33344e;margin-bottom:6px">Melete is like a brilliant assistant who tells you the next cup to brew:</p><div class="chat">☕ Melete: “Try <b>92°, grind 6, 18g</b>.” → you brew it, taste it: <b>7/10</b>.</div><div class="chat">☕ Melete: “Now try <b>93°, grind 5, 19g</b>.” → you taste: <b>8.5/10</b>.</div><div class="chat" style="opacity:.6">… a few more …</div><div class="chat">🎯 After ~<b>20 cups</b> it found your best recipe — instead of randomly trying 200.</div><p style="color:#33344e;margin-top:14px">Swap “coffee” for a <b>training run</b>, a <b>chemical reaction</b>, or a <b>price</b> — same idea: Melete finds the best settings in the <b>fewest expensive tries</b> and signs a <b>proof</b> of how.</p>',winning:'The winning setup',signed:'Every step is cryptographically signed — the result is independently verifiable. No faking, no guessing.'},
820
- th:{flabEye:'ห้องแล็บแนวหน้า · DEEP-TECH พิสูจน์แล้ว',flabH:'3 จุดตายของ optimizer ในโลกจริง — เราออกแบบให้รอดทุกข้อ และพิสูจน์ทุกตัว',flabP:'แต่ละปุ่มรัน engine จริงของ Melete ผ่าน API บนเครื่อง ตัวเลขสดจริง ไม่ใช่ของปลอม กดเลย',flabNoiseT:'📡 ทนสัญญาณรบกวน',flabNoiseD:'สัญญาณที่อ่านได้ 99% แล้ว 40% — หาค่าที่ “เชื่อถือได้” ไม่ใช่ค่าฟลุค',flabMixedT:'🧩 ตัวแปรผสม',flabMixedD:'categorical + integer + conditional (storage engine, thread count) ไม่ใช่แค่ลูกบิด',flabProvT:'📜 ตราผนึกประวัติ',flabProvD:'ประวัติการรัน 24/7 ผนึกเป็นหลักฐานขนาดคงที่ เซ็นแล้ว แก้ไม่ได้',flabNullT:'⬛ Null Engine',flabNullD:'optimizer ตัวเดียวที่กล้าบอกว่า “ไม่มีอะไรให้หา” — ไม่ยอมยัดสูตรปลอมให้คุณตอนข้อมูลเป็นแค่ noise',flabRun:'▶ รันสด',flabUseEye:'ใช้กับระบบจริงของคุณ',flabUseH:'เดโมพวกนี้ใช้สูตรจำลอง แต่บนเครื่องคุณ “oracle” คือการวัดผลจริงของคุณเอง',flabUse1:'① กำหนดปุ่มที่คุณปรับได้ + คะแนนที่คุณวัด (yield %, latency, ผลเบนช์มาร์ก, ค่าจาก assay)',flabUse2:'② ชี้ oracle ไปที่ระบบของคุณ — ฟังก์ชันที่รันกระบวนการจริง / เรียก API / อ่านค่าจากเครื่องมือ แล้วคืนคะแนนนั้น engine ตัวเดิมที่พิสูจน์แล้วจะค้นหาให้',flabUse3:'③ รันบนเครื่องคุณทั้งหมด (sovereign — ข้อมูลไม่ออกไปไหน) ทุกผลลัพธ์เซ็น Ed25519 ไว้ใช้ยื่นตรวจ/จดสิทธิบัตร',flabUseCap:'รัน engine ตัวเดียวกันเอง(npm) แล้วเสียบการวัดผลจริงของคุณเข้าไป:',flabUseApi:'…หรือ POST objective แบบสูตร JS ไปที่ API ที่โฮสต์ไว้ เพื่อทดสอบเร็วๆ: /discover · /mixed · /noise-robust',watch:'▶ ดู Melete ค้นพบ',replay:'▶ เล่นใหม่',team:'ทีมของ Meli — ใครลงมือบ้าง',teamhint:'รายละเอียดผู้เชี่ยวชาญ: ผู้ช่วยที่ Meli ใช้ ไม่จำเป็นต้องรู้ก็ใช้ผลได้',climb:'คะแนนไต่ขึ้นยังไง (สูง = ดี)',cinema:'โรงหนังการค้นพบ — ดู Meli ค้นหา',scenarioL:'เลือกสถานการณ์',knobs:'สิ่งที่ปรับได้',score:'วัดเป็นคะแนน',budget:'จำนวนครั้ง',ph:'เลือกสถานการณ์ แล้วกดดู',plainHdr:'สรุป',tried:'Melete ลอง',settings:'แบบ แล้วล็อกแบบที่ดีที่สุด',eyebrow:'AI วิเคราะห์ · ตรวจสอบ · ปรับแต่ง ที่รันในตึกคุณเอง',ctaTry:'ลองใช้งาน →',ctaPitch:'พิตช์ 60 วินาที',h_what:'Melete ทำอะไร — ตัวอย่างเดียวจบ',h_meli:'รู้จัก Meli — นิทานสั้น ๆ',h_how:'ทำงานยังไง — 3 ขั้น',h_who:'ใครใช้ได้ & ได้อะไร',h_see:'ดู Melete ค้นพบ — แค่กดดู',see_lead:'👇 แค่กดปุ่มสีม่วงแล้วดู Melete จะลองค่าทีละชุดแล้วค่อยๆ เจาะหาค่าที่ดีที่สุด — เหมือนเรื่องกาแฟด้านบน แต่ดูสดๆ',see_sub:'นี่คือตัวอย่างสาธิต "คะแนน" เลยคำนวณจากสูตรให้ทันที ในชีวิตจริงคะแนนคือสิ่งที่<b>คุณวัดเอง</b> (คะแนนรสชาติ · % ที่ได้ · ผลเบนช์มาร์ก) แล้วพิมพ์ใส่ <a href="#use">วิธีเอาไปใช้กับงานคุณ →</a>',h_ind:'เลือกอุตสาหกรรม — ดู Melete ทำงานจริง',h_proven:'พิสูจน์ได้ ไม่ใช่แค่พูด',h_use:'ใช้กับงานของคุณ — ตอบ 3 คำถาม',heroTag:'บอก Melete ว่าคุณปรับอะไรได้ และคำว่า <b>"ดี"</b> คืออะไร — มันจะหา<b>สูตรที่ดีที่สุดด้วยการทดลองจริงน้อยครั้งที่สุด</b> แล้วบอกชัดๆ ว่าให้ลงมือทำอะไรต่อ',heroSub:'วิเคราะห์ · ปรับแต่ง · รับรอง — รันในตึกคุณ (sovereign) ข้อมูลไม่ออกไปไหน ทุกคำตัดสินเซ็นด้วยคริปโต ตรวจ offline ได้',ctaApi:'🔌 เชื่อมต่อผ่าน API',pill1:'🎯 คำตอบที่ดีที่สุด ลองน้อยครั้งสุด',pill2:'🚀 ไม่ต้องมีข้อมูลก่อน — เริ่มจากศูนย์ได้',pill3:'🔒 รันบนเครื่องคุณเอง',pill4:'🔏 ทุกคำตอบมีลายเซ็น',hs1:'เครื่องยนต์ที่พิสูจน์แล้ว',hs2:'ของจุดที่ดีที่สุดจริง ทุกเบนช์มาร์ก',hs3:'รันบนเครื่องคุณ · เซ็นยืนยัน',hs4:'สมองเดียว ฉลาดทุกเรื่อง',m60_eye:'เข้าใจทั้งระบบใน 60 วินาที',m60_h:'Melete คืออะไร — ใน 1 นาที',m60_p:'คุณมีระบบที่ <b>วัดผลได้</b> — ML pipeline, config ของ server/DB/network, สูตร, หรือ simulation. Melete หาค่าที่<b>ดีที่สุดและทนทานที่สุด</b>ด้วยการทดลองน้อยครั้งสุด อธิบายเหตุผลเป็นภาษาคน และให้ <b>คำตัดสินที่เซ็น ตรวจซ้ำได้เองแบบ offline</b> — รันบนเครื่องคุณ ข้อมูลไม่ออกไปไหน',m60_s1:'<b>บอกมัน</b>ว่าปรับอะไรได้ + คำว่า "ดี" คืออะไร',m60_s2:'<b>มันเสนอ</b>ค่าหนึ่ง → คุณวัดผล (หรือใส่สูตร) → วนซ้ำ',m60_s3:'<b>คุณได้</b>สูตรที่ดี+ทน + คำตัดสินที่เซ็น เล่นซ้ำได้',m60_inside:'ภายใน: 43 เครื่องยนต์ จัดเป็น 4 ชั้น',lay1:'หาค่าที่ดีที่สุด ในจำนวนครั้งน้อยสุด',lay2:'คำตัดสินของสมอง Φ ที่ปลอดภัยมาก่อน + 🛡 ตัวที่ทนทาน',lay3:'บอกเหตุผลภาษาคน: ปุ่มไหนสำคัญ หน้าผา รูปทรง เพดาน',lay4:'เซ็นแล้ว ตรวจ offline ได้ เล่นซ้ำทีละขั้น',gal_eye:'ลองสด — เลือกวงการคุณ กดปุ่มเดียว',gal_h:'ดู Melete ทำงานบนวงการของคุณ',gal_p:'แต่ละการ์ดรัน <b>engine จริงของ Melete</b> บนโจทย์จำลองทรงอุตสาหกรรมนั้น — แล้วสรุปผลให้คุณเข้าใจง่ายเป็นภาษาคน (ทุกตัวเลขมาจากผลรันจริง). ใน production คุณต่อระบบของคุณเองเป็น oracle',gal_note:'⚠ สภาพแวดล้อมจำลอง (engine จริง ใบรับรองเซ็นจริง) ไม่มีการต่อดาวเทียม/กริดจริง — ต่อ telemetry ของคุณเองเป็น oracle ใน production',g_auto:'▶ ดู Melete ทำงานเอง (อัตโนมัติ)',mo_eyebrow:'หลายเป้าหมาย',mo_h:'optimize หลายเป้าพร้อมกัน — เห็น trade-off',mo_sub:'ปัญหาจริงมีเป้าที่ขัดกัน — ผลผลิตมากขึ้นแต่ต้นทุนต้องน้อยลง ไม่มีดีที่สุดตัวเดียว Melete จึงหา Pareto front: เซตของจุดแลกเปลี่ยนที่ดีที่สุด ตั้งเป้าหมาย + ตัวแปร แล้วรันลูปเสนอ-วัด-ใส่คะแนนแต่ละเป้า ดู front ค่อยๆ เต็มขึ้น',g_howreal:'<b>เอาไปใช้จริงในโปรเจค — 2 ทาง:</b><br><b>1) ผ่านเว็บนี้ (ไม่ต้องเขียนโค้ด)</b> — สำหรับการทดลองที่ช้า/แพง วัดด้วยมือ: Melete เสนอ คุณไปทำจริงในแล็บ/ระบบ แล้วพิมพ์คะแนน เหมาะกับการทดลองจริงที่ยังไงก็ต้องวัดเองอยู่แล้ว<br><b>2) เชื่อมระบบอัตโนมัติ</b> — <code>melete tune</code>, <code>POST /next</code> หรือ npm library รันบนเซิร์ฟเวอร์ของคุณเอง (air-gapped): โค้ดของคุณรันการทดสอบเองแล้วป้อนคะแนนกลับวนลูป เหมาะกับ benchmark, simulation, pipeline <a href="/docs" style="font-weight:700;color:#b45309">&rarr; คู่มือ API</a>',g_pickopt:'เลือกสายงานของคุณ…',gs_h:'ใช้งานยังไง — 4 ขั้น',gs1:'บอก Melete ว่าปรับอะไรได้ — หรือเลือกสายงานด้านบน',gs2:'Melete บอกค่าถัดไปที่ควรลอง แบบเป๊ะๆ',gs3:'คุณไปทำจริง แล้วพิมพ์คะแนนที่วัดได้',gs4:'วนซ้ำ ~20–40 ครั้ง → ได้ config ดีสุด + ใบรับรองที่เซ็นแล้ว',g_ex:'<b>ตัวอย่าง — วิศวกรความปลอดภัย AI:</b> ปรับ <b>[ความเข้มฟิลเตอร์ · temperature · rate limit]</b> แล้ววัด <b>[% การโจมตีจาก red-team ที่ระบบบล็อกได้]</b> เป็นคะแนน Melete เสนอ config ถัดไป → คุณรันชุดโจมตี → ใส่ % → วนซ้ำ → เจอ config ที่ปลอดภัยสุดในจำนวนเทสน้อยสุด',vf_eyebrow:'ตรวจสอบ · ไม่ต้องเชื่อเรา',vf_h:'ตรวจสอบใบรับรอง Proof of Optimization — แบบ offline',vf_sub:'เป็นของ optional — สำหรับผู้ตรวจสอบ ไม่จำเป็นต่อการใช้งาน Melete หลังจากคุณรัน discovery แล้วกดดาวน์โหลดใบรับรอง ใครก็ลากไฟล์มาวางตรงนี้เพื่อตรวจได้ — ระบบคำนวณตัวเลขซ้ำ + ตรวจลายเซ็น Ed25519 ด้วย public key ที่ฝังในใบเอง · ยังไม่มีไฟล์? กด “ดูตัวอย่าง”',vf_sample:'▶ ดูตัวอย่าง',vf_btn:'ตรวจสอบใบรับรอง',sim_note:'<b>คุณไม่ต้องเขียนสูตรพวกนี้</b> กล่องนี้คือการจำลองในเบราว์เซอร์ไว้ดูอัลกอริทึมทำงาน นักวิจัยยา (หรือใครก็ตาม) ใช้โหมดไม่ต้องมีสูตร — ใส่ตัวแปรของคุณ (pH, อุณหภูมิ…) ผสมสูตร วัดผลจริง แล้วใส่คะแนน',sim_btn:'👉 โหมดไม่ต้องมีสูตร',nf_h:'ใช้กับงานจริงของคุณได้เลย — ไม่ต้องมีสูตร ไม่ต้องเขียนโค้ด',nf_sub:'เดโมด้านล่างต้องใส่สูตร (สำหรับนักพัฒนา) ถ้าจะใช้ Melete กับงานจริงโดยไม่ต้องมีสูตร — มันเสนอ คุณวัด คุณใส่คะแนน — ใช้โหมด guided',nf_btn:'👉 ใช้โหมดไม่ต้องมีสูตร',g_pick:'เริ่มจากอุตสาหกรรมของคุณ — หรือแก้ตัวแปรเองก็ได้:',g_addvar:'เพิ่มตัวแปร',pr_eyebrow:'ราคา',pr_h:'เริ่มฟรี จ่ายเมื่อมันช่วยคุณประหยัดเงิน',pr_sub:'คุณค่าคือลดจำนวนการทดลองที่แพง พร้อมใบรับรอง — จ่ายก็ต่อเมื่อ Melete ช่วยประหยัดได้มากกว่าค่าใช้จ่ายแล้ว',pr_pop:'ยอดนิยม',pr_free_name:'ฟรี',pr_free_price:'$0',pr_free_tag:'เว็บ + CLI แบบเปิด ตลอดไป',pr_free_f:'✓ รัน discovery ได้เต็ม<br>✓ ใบบันทึกที่เซ็น+ตรวจซ้ำได้<br>✓ ใบรับรองความเหมาะที่สุด<br>✓ ไม่ต้องสมัคร',pr_free_btn:'▶ ลองเลย',pr_pro_name:'Pro',pr_pro_price:'Early access',pr_pro_tag:'สำหรับทีมที่มีกระบวนการจริง',pr_pro_f:'✓ เชื่อมกระบวนการของคุณผ่าน API<br>✓ Reliable mode + รันเป็นชุด<br>✓ ซัพพอร์ตลำดับแรก<br>✓ พื้นที่ทำงานส่วนตัว',pr_pro_btn:'คุยกับเรา',pr_ent_name:'Enterprise',pr_ent_price:'Air-gapped',pr_ent_tag:'องค์กรคุมเข้ม + รันในองค์กร',pr_ent_f:'✓ รันออฟไลน์เต็มที่ — ข้อมูลไม่ออกจากองค์กร<br>✓ ใบพิสูจน์ที่เซ็น สำหรับ audit และสิทธิบัตร<br>✓ SLA + ช่วยตั้งระบบ<br>✓ ติดตั้งเองในเซิร์ฟเวอร์คุณ',pr_ent_btn:'คุยกับเรา',pf_eyebrow:'พิสูจน์แล้ว · วัดได้ · มีใบรับรอง',pf_h:'≥99% ของจุดที่ดีที่สุดจริง — บนทุกภูมิทัศน์',pf_sub:'optimizer ส่วนใหญ่ชนะบนสนามง่าย แล้วแอบแพ้บนสนามยาก Melete ถูกทดสอบบน 7 ภูมิทัศน์ที่ออกแบบให้โหด แต่ละสนามปรับให้คะแนน = %ของจุดที่ดีที่สุดจริง — และผ่าน ≥99% ทุกสนาม ทุก seed',pf_engine:'ทำได้ยังไง: เครื่องยนต์ 3 พาราไดม์ — portfolio สำรวจทั่ว → infill นำทางด้วยใบรับรอง (Lipschitz) → ขัดเงา Nelder–Mead และทุกผลลัพธ์มีใบรับรองความเหมาะที่สุด: ขอบเขตที่พิสูจน์ได้ว่าของจริงดีกว่านี้ได้ไม่เกินเท่าไร',pf_avg:'ของจุดที่ดีที่สุดจริง (เฉลี่ย)',pf_avg2:'บน 7 ภูมิทัศน์สุดโหด · ทุก seed · ผ่าน ≥99% ทุกสนาม — รวมสนามโคตรโหด (หุบเขากล้วย Rosenbrock, เข็มในมหาสมุทร 5 มิติ, เข็มโดดเดี่ยว)',pf_note:'ตรวจซ้ำได้: นี่คือ reliability gauntlet แบบเปิด — รันเองแล้วเช็คทุกตัวเลขได้',rel_lbl:'⚡ โหมด Reliable — เพิ่มการขัดเงาแบบ Nelder–Mead (ช้าลง แต่พิชิตหุบเขายากให้ถึงจุดที่ดีที่สุดจริง)',btn_contact:'ติดต่อ',use_lead:'ไม่ต้องมีชุดข้อมูล ไม่ต้องมีสูตร แค่ตอบ 3 ข้อนี้เกี่ยวกับ<b>งานของคุณ</b>:',q1d:'ระบุปุ่มที่ปรับได้ + ขีดจำกัดจริง (ช่วงของเครื่องคุณ) <span class="muted">→ นี่คือ SPACE</span>',q2d:'คุณ<b>วัด</b>มัน — ชิมให้คะแนน อ่านความแม่น อ่านยอดขาย ไม่ต้องคำนวณเอง <span class="muted">→ นี่คือ SCORE</span>',q3d:'จำนวนการชง การเทรน การทดลองที่คุณต้องจ่าย <span class="muted">→ นี่คือ BUDGET</span>',ex_cof:'<b>ปุ่ม:</b> อุณหภูมิ 85–96° · บด 1–10 · ปริมาณ 14–22g<br><b>คะแนน:</b> บาริสต้าชิมแต่ละช็อต ให้ 0–10<br><b>งบ:</b> 30 ช็อต → Melete เจอสูตรใน ~20 ช็อต',ex_ml:'<b>ปุ่ม:</b> learning-rate 0–0.1 · depth 1–12<br><b>คะแนน:</b> สคริปต์เทรนพิมพ์ค่าความแม่น<br><b>งบ:</b> 40 รอบ → ใช้ GPU น้อยลงกว่าจะได้โมเดลที่ดีที่สุด',ex_cof_l:'ร้านกาแฟ',ex_ml_l:'ทีม ML',tw_a_b:'เชื่อมต่อกระบวนการของคุณ',tw_a_d:' — Melete รันให้คุณแล้วอ่านค่าตัวเลขเอง (นี่คือตัวโปรดักต์จริง เหมือนติดตั้งเครื่องมือ):',tw_b_b:'จาก agent หรือ pipeline',tw_b_d:' — เรียก HTTP API หรือไลบรารี; โค้ดของคุณคืนคะแนนกลับมาในแต่ละขั้น:',sandbox:'<b>เว็บนี้ = สนามทดลอง</b> งานจริง = เชื่อมต่อกระบวนการจริงของคุณ (ทาง A หรือ B) 🔒 Air-gapped: ไม่มี dependency + เซ็นในเครื่อง ⇒ รันออฟไลน์ได้เต็มที่ ผลยังตรวจสอบได้',prov_intro:'ไม่มีอัลกอริทึมเดียวที่ชนะทุกภูมิทัศน์ปัญหา bandit จะทุ่มแต่ละการทดลองให้กลยุทธ์ที่กำลังชนะ<i>บนปัญหาของคุณ</i> — เอนจินเดียว ไม่ต้องจูนรายปัญหา',btn_pitch:'อ่านพิตช์เด็ค',cta_body:'สร้างโดยนักพัฒนาคนเดียวที่หลงใหลเรื่องนี้จริง ๆ มีคำถาม มีไอเดีย หรืออยากลองใช้กับงานของคุณ — ทักมาได้เลย ยินดีคุยครับ',tl_land:'ภูมิทัศน์ปัญหา',tl_bay:'Bayesian เดี่ยว',tl_rand:'สุ่ม',tl_smooth:'เรียบ',tl_rug:'ขรุขระ (กับดักเยอะ)',tl_hd:'มิติสูง',tl_best:'ดีที่สุด 🏆 ชนะทุกอัลกอริทึม',tl_far:'ตามหลังห่าง',u_q1:'คุณปรับอะไรได้บ้าง?',u_q2:'ลอง 1 ครั้งแล้ว ตัวเลขไหนบอกว่าดีแค่ไหน?',u_q3:'คุณลองได้กี่ครั้ง?',u_two:'จากนั้นใช้งานได้ 2 ทาง:',cta_h:'ชอบ Melete ไหม? ทักหาคนทำได้เลย',foot_honest:'ตามตรง: เอนจินเป็นชุดอัลกอริทึมที่ปรับตามบริบท — สิ่งที่รับประกันคือความทนทาน + ที่มาที่ตรวจสอบได้ วัดผลและทำซ้ำได้จริง (ไม่ใช่อัลกอริทึม "วิเศษ" ตัวเดียว)',g_h:'ใช้กับงานจริงของคุณ — คุณเป็นคนวัด',g_intro:'ไม่ต้องเขียนโค้ด ไม่ต้องมีสูตร Melete เสนอการทดลองถัดไป คุณไปลองจริงแล้วพิมพ์คะแนนกลับมา แล้วมันเสนออันต่อไป — ลู่เข้าหาค่าที่ดีที่สุดในจำนวนครั้งจริงที่น้อยที่สุด แก้ตัวแปรของคุณเองด้านล่างได้เลย — เช่น นักวิทยาศาสตร์ยาใส่ pH, อุณหภูมิ, สัดส่วนสารช่วย %; แล้ว Melete จะบอกว่าควรผสมสูตรไหนต่อ เชื่อมต่อกระบวนการจริงผ่าน API สำหรับใช้งานจริง',g_start:'▶ เริ่มแนะนำ',g_target:'🎯 เป้าหมาย (ถ้ามี)',g_targethint:'คะแนนที่คุณต้องการ — Melete จะบอกว่าเป็นไปได้ไหมกับตัวแปรชุดนี้',ind_intro:'ทุกการ์ดรันเดโมจริงบนสถานการณ์ที่ออกแบบให้เหมือนงานจริงในแต่ละวงการ <b>คะแนนในเบราว์เซอร์เป็นแบบจำลอง</b>ของกระบวนการ — แต่<b>การค้นหาค่าที่ดีที่สุดเป็นของจริงและทำซ้ำได้</b>; เชื่อมต่อการทดลอง/เบนช์มาร์ก/กระบวนการจริงของคุณ เพื่อได้ตัวเลขจริง</p>',t_pharma:'สูตรตำรับยา',t_gpu:'จูน GPU kernel',t_etch:'กระบวนการพลาสมาเอตช์',t_llm:'คอนฟิกการเสิร์ฟ LLM',t_esp:'สูตรเอสเพรสโซที่ดีที่สุด',d_pharma:'ตัวแปร: pH · อุณหภูมิ · สัดส่วนสารช่วย %. เป้าหมาย: ความคงตัว/ฤทธิ์ยา Melete หาสูตรที่คงตัวที่สุดใน ~60 การทดลอง — แทนที่จะเป็นหลายร้อย',d_gpu:'ตัวแปร: tile size · unroll · occupancy. เป้าหมาย: throughput (GFLOP/s) หาคอนฟิกที่เร็วที่สุดใน ~50 รอบเบนช์มาร์ก',d_etch:'ตัวแปร: กำลัง · ความดัน · เวลา เป้าหมาย: % wafer yield จูนสูตรให้ได้ yield สูงสุด — air-gapped รันในองค์กร',d_llm:'ตัวแปร: batch size · KV-cache · quantization. เป้าหมาย: tokens/sec ที่คุณภาพกำหนด Melete จูนโครงสร้างพื้นฐาน AI ได้ด้วย — และจูน prompt, agent & routing แบบเดียวกัน',d_esp:'ตัวแปร: อุณหภูมิ · การบด · ปริมาณ เป้าหมาย: รสชาติ วิธีที่เข้าใจง่ายที่สุดในการเห็นไอเดียนี้ทำงาน',runnow:'▶ ลองเลย',sb1:'กาลครั้งหนึ่ง ร้านกาแฟเล็ก ๆ ใฝ่ฝันถึง <b>เอสเพรสโซที่อร่อยที่สุดในโลก</b>',sb2:'แต่มันทำได้ <b>เป็นพันวิธี</b> — และการลองแต่ละครั้ง ต้องชงและชิมจริงทั้งแก้ว จะลองให้ครบ? <b>เป็นไปไม่ได้</b>',sb3:'แล้ว <b>Meli</b> ก็มา — ผู้ที่ไม่เคยลองทุกอย่าง Meli มอง คิด แล้วไฟดวงน้อยก็สว่าง: <i>“ชง<b>แก้วนี้</b>ต่อสิ”</i>',sb4:'คุณชง คุณชิม — <b>7 เต็ม 10</b> Meli ยิ้ม <b>เรียนรู้</b> แล้วเลือกแก้วที่ฉลาดกว่าเดิม 8.5… 9.2…',sb5:'ราว ๆ <b>ยี่สิบแก้ว</b> Meli ก็เจอ <b>สูตรที่สมบูรณ์แบบ</b> — แล้วผนึก <b>ใบรับรอง</b>วิเศษว่าได้มายังไง ให้ทั้งโลกเชื่อถือได้ <b>จบบริบูรณ์ ✨</b>',st1h:'ตั้งค่าที่ปรับได้',st1p:'ระบุสิ่งที่ปรับได้และช่วงของมัน — อุณหภูมิ 85–96° · learning-rate 0–0.1 · ราคา $1–100',st2h:'ให้คะแนน 1 ครั้ง',st2p:'กระบวนการจริงของคุณคืนตัวเลขมา 1 ค่า: ชง→ชิม, เทรน→ความแม่น, ตั้งราคา→ยอดขาย — ไม่ต้องมีชุดข้อมูล',st3h:'ค้นพบ & พิสูจน์',st3p:'Melete เสนอการทดลองถัดไป เรียนรู้ ลู่เข้าหาค่าที่ดีที่สุด — แล้วเซ็นใบบันทึกที่ตรวจสอบได้ว่าทำมายังไง',wh1:'จูน learning rate, สถาปัตยกรรมโมเดล, RAG/serving, compiler flags — ใช้ GPU น้อยลงกว่าจะได้โมเดลที่ดีที่สุด พร้อมบันทึกการจูนที่พิสูจน์ได้',wh2:'หาสูตรผสมสาร/สภาวะที่ให้ yield หรือฤทธิ์สูงสุด ในจำนวนการทดลองที่น้อยลงมาก — พร้อมบันทึกการค้นพบที่แก้ไขไม่ได้ สำหรับสิทธิบัตรและการตรวจสอบ',wh3:'จูนพารามิเตอร์ deposition/etch/print ตาม KPI จริงในองค์กร — air-gapped ข้อมูลไม่ออกจากโรงงาน แต่ผลยังตรวจสอบได้',wh4:'ค้นหาจุดราคา การตั้งค่า และนโยบาย ที่การทดสอบแต่ละครั้งมีต้นทุน — ลู่เข้าเร็วกว่าการไล่กริดหรือลองเอง',story:'<p style="font-size:19px;font-weight:600;color:#1a1b30;margin-bottom:14px">คุณเปิดร้านกาแฟ และอยากได้ <b>เอสเพรสโซที่อร่อยที่สุด</b> สิ่งที่ปรับได้มี 3 อย่าง — อุณหภูมิน้ำ ความละเอียดการบด และปริมาณกาแฟเป็นกรัม ผสมกันได้เป็นพันแบบ และการลองแต่ละแบบ คือ<b>ต้องชงจริงแล้วชิม</b> จะลองทุกแบบ—เป็นไปไม่ได้</p><p style="color:#33344e;margin-bottom:6px">Melete เปรียบเหมือนผู้ช่วยอัจฉริยะ ที่บอกว่าควรชงแก้วถัดไปยังไง:</p><div class="chat">☕ Melete: “ลอง <b>92° บด 6 ใส่ 18g</b>” → คุณชงแล้วชิม: <b>7/10</b></div><div class="chat">☕ Melete: “งั้นลอง <b>93° บด 5 ใส่ 19g</b>” → คุณชิม: <b>8.5/10</b></div><div class="chat" style="opacity:.6">… อีกไม่กี่แก้ว …</div><div class="chat">🎯 ครบ ~<b>20 แก้ว</b> ก็เจอสูตรที่ดีที่สุด — แทนที่จะสุ่มชง 200 แก้ว</div><p style="color:#33344e;margin-top:14px">เปลี่ยน “กาแฟ” เป็น <b>การเทรนโมเดล</b> <b>ปฏิกิริยาเคมี</b> หรือ <b>ราคา</b> — หลักการเดียวกัน: Melete หาค่าที่ดีที่สุดใน<b>จำนวนครั้งที่น้อยที่สุด</b> แล้วเซ็น<b>ใบรับรอง</b>ว่าได้มายังไง</p>',winning:'สูตรที่ชนะ',signed:'ทุกขั้นเซ็นด้วยคริปโต — ผลตรวจสอบได้จริง ไม่มีโม้ ไม่มีเดา'}
833
+ en:{flabEye:'FRONTIER LAB · DEEP-TECH, PROVEN',flabH:'The 3 ways optimizers die in the real world — engineered out, every one proven',flabP:'Each button runs the REAL Melete engine via the on-box API. Numbers are live, not canned. Press one.',flabNoiseT:'📡 Noise-Robust',flabNoiseD:'A noisy signal that reads 99% then 40% — find the value you can TRUST, not a lucky spike.',flabMixedT:'🧩 Mixed-Space',flabMixedD:'Categorical + integer + conditional knobs (storage engine, thread count) — not just dials.',flabProvT:'📜 Provenance Seal',flabProvD:'A 24/7 run history sealed into a constant-size, signed, tamper-evident proof.',flabNullT:'⬛ Null Engine',flabNullD:'The only optimizer brave enough to say “there is nothing to find” — it refuses to hand you a fake recipe when the data is just noise.',flabRun:'▶ run live',nullSpotEye:'THE NULL ENGINE · MELETE SIGNATURE',nullSpotH:'Every optimizer hands you a “best recipe.” Even when there is nothing there.',nullSpotP:'Feed any optimizer pure noise and it still returns a confident answer — the luckiest random draw dressed up as a discovery. The NULL ENGINE is the only one that puts its OWN answer on trial and tells you the truth: a REAL signal, or just noise. Proven: false-positive ≤ 2.5% over 200 independent trials.',nullSpotBtn:'▶ Prove it live — a real problem vs pure noise',flabUseEye:'USE IT ON YOUR OWN SYSTEM',flabUseH:'These demos used a formula. On your machine, the “oracle” is YOUR real measurement.',flabUse1:'① Define your knobs (the settings you can change) + your score (what you measure — a yield %, a latency, a benchmark, an assay readout).',flabUse2:'② Point the oracle at YOUR system — a function that runs your real process / calls your API / reads your instrument and returns that score. The same proven engine searches it.',flabUse3:'③ Runs fully on your machine (sovereign — your data never leaves); every result is Ed25519-signed for your audit / patent trail.',flabUseCap:'Self-host the same engine (npm) and plug in your real measurement:',flabUseApi:'…or POST a JS-expression objective to the hosted API for a quick formula test: /discover · /mixed · /noise-robust',watch:'▶ Watch Melete discover',replay:'▶ Replay',team:"Meli's team — who did the work",teamhint:"Expert detail: the helpers Meli used. You don't need this to use the result.",climb:'How the score climbed (higher = better)',cinema:'Discovery cinema — watch Meli search',scenarioL:'Scenario',knobs:'You adjust',score:'You score',budget:'Tries',ph:'Pick a scenario, then press Watch.',plainHdr:'Summary',tried:'Melete tried',settings:'settings and zeroed in on the best one',eyebrow:'The Sovereign Verifiable AI Analyst & Optimizer',ctaTry:'See it discover (live) →',ctaPitch:'The 60-second pitch',h_what:'What it does — one example',h_meli:'Meet Meli — a tiny story',h_how:'How it works — 3 steps',h_who:"Who it's for & what they get",h_see:'See it discover — just watch',see_lead:'👇 Just press the purple button and watch. Melete tests settings one by one and zeroes in on the best — like the coffee story above, but live.',see_sub:'This is a demo, so the "score" is calculated instantly by a formula. In real life, the score is whatever YOU measure (a taste rating, a yield %, a benchmark) — and you type it in. <a href="#use">How to use it for your own work →</a>',h_ind:'Click an industry — see Melete work on it',h_proven:'Proven, not claimed',h_use:'Use it for your work — answer 3 questions',heroTag:'Tell Melete what you can change and what <b>"good"</b> means. It finds the <b>best recipe in the fewest real-world experiments</b> — then tells you exactly what to do with it.',heroSub:'Analyze · optimize · certify — on your machine (sovereign), data never leaves, every verdict cryptographically signed & verifiable offline.',ctaApi:'🔌 Connect via API',pill1:'🎯 best answer, fewest tries',pill2:'🚀 no data needed — starts from scratch',pill3:'🔒 runs on your machine',pill4:'🔏 every answer signed',hs1:'verified engines',hs2:'of the true optimum, every benchmark',hs3:'on your machine · signed',hs4:'one brain, smart about everything',m60_eye:'Understand the whole thing in 60 seconds',m60_h:'What Melete is — in one minute',m60_p:'You have a system you can <b>measure</b> — an ML pipeline, a server/DB/network config, a recipe, a simulation. Melete finds the best <b>and most robust</b> setting in the fewest experiments, explains why in plain language, and hands you a <b>signed verdict you (or an auditor) can re-verify offline</b>. It runs on your machine — your data never leaves.',m60_s1:'<b>Tell it</b> what you can change + what "good" means',m60_s2:'<b>It proposes</b> a setting → you measure it (or give a formula) → repeat',m60_s3:'<b>You get</b> the best robust recipe + a signed, replayable verdict',m60_inside:'Inside: 43 engines, organized as 4 layers',lay1:'find the best setting in the fewest tries',lay2:'the Φ brain — a safety-first call + 🛡 the robust one',lay3:'plain-language why: which knobs, cliffs, shape, ceiling',lay4:'signed, offline-verifiable, step-by-step replayable',gal_eye:'Live demo — pick your world, press one button',gal_h:'See Melete run on YOUR industry',gal_p:'Each card runs the <b>real Melete engine</b> on a simulated, industry-shaped problem — then sums up the result in plain language (every number is from the real run). In production you connect your own system as the oracle.',gal_note:'⚠ Simulated environments (real engine, real signed verdict). No live link to any satellite/grid — connect your own telemetry as the oracle in production.',g_auto:'▶ Watch Melete solve it (auto)',mo_eyebrow:'MULTI-OBJECTIVE',mo_h:'Optimize several goals at once — see the trade-offs',mo_sub:'Real problems have competing goals — more yield AND less cost. There is no single best, so Melete finds the Pareto front: the set of best-possible trade-offs. Define your goals + variables, run the propose-measure-repeat loop scoring each objective, and watch the front fill in.',g_howreal:'<b>Using Melete in your real project — 2 ways:</b><br><b>1) Through this website (no code)</b> — for slow / expensive hand-measured experiments: Melete proposes, you run it in your lab/system, you type the score. Best for physical experiments you measure by hand anyway.<br><b>2) Connected & automated</b> — <code>melete tune</code>, <code>POST /next</code>, or the npm library, on YOUR own servers (air-gapped): your code runs each test and feeds the score back in a loop. Best for benchmarks, simulations, pipelines.',g_pickopt:'Choose your field…',gs_h:'How it works — 4 steps',gs1:'Tell Melete what you can change — or pick your field above',gs2:'Melete proposes the exact next setting to try',gs3:'You run it for real and type the score you measured',gs4:'Repeat ~20–40× → the best config + a signed proof',g_ex:'<b>Example — AI security engineer:</b> adjust <b>[filter threshold · temperature · rate limit]</b>, then measure <b>[% of red-team attacks your system blocks]</b> as the score. Melete proposes the next config → you run your attack suite → type the % → repeat → it finds the safest config in the fewest tests.',vf_eyebrow:'VERIFY · NO TRUST NEEDED',vf_h:'Verify any Proof of Optimization — offline',vf_sub:'Optional — for auditors & reviewers; you do NOT need this to use Melete. After you run a discovery and download its certificate, anyone can drop it here to check it — it recomputes the efficiency claim and verifies the Ed25519 signature with the public key embedded in the certificate. New here? Press “Load a sample”.',vf_sample:'▶ Load a sample',vf_btn:'Verify certificate',sim_note:'<b>You do NOT write these formulas.</b> This box is a browser simulation so you can watch the algorithm work. A pharma researcher (or anyone) uses the no-formula guided mode — enter your variables (pH, temperature…), make the recipe, measure the real result, type the score.',sim_btn:'👉 No-formula mode',nf_h:'Use it on your real process — no formula, no code.',nf_sub:'The demo below needs a formula (for developers). To use Melete on your real process with no formula — it proposes, you measure, you type the score — use the guided mode.',nf_btn:'👉 Use the no-formula mode',g_pick:'Start from your industry — or edit the variables yourself:',g_addvar:'add variable',pr_eyebrow:'PRICING',pr_h:'Start free. Pay when it saves you money.',pr_sub:'The value is fewer expensive experiments, certified — so you only pay once Melete is already saving you more than it costs.',pr_pop:'POPULAR',pr_free_name:'Free',pr_free_price:'$0',pr_free_tag:'Open web + CLI, forever',pr_free_f:'✓ Run discoveries<br>✓ Signed, replicable trace<br>✓ Optimality certificate<br>✓ No signup',pr_free_btn:'▶ Try it now',pr_pro_name:'Pro',pr_pro_price:'Early access',pr_pro_tag:'For teams on a real process',pr_pro_f:'✓ Connect your process via API<br>✓ Reliable mode + batch runs<br>✓ Priority support<br>✓ Private workspace',pr_pro_btn:'Talk to us',pr_ent_name:'Enterprise',pr_ent_price:'Air-gapped',pr_ent_tag:'Regulated + on-prem',pr_ent_f:'✓ Runs fully offline — data never leaves<br>✓ Signed proof for audits and patents<br>✓ SLA + onboarding<br>✓ Self-hosted',pr_ent_btn:'Talk to us',pf_eyebrow:'PROVEN · MEASURED · CERTIFIED',pf_h:'≥99% of the true optimum — on every landscape',pf_sub:'Most optimizers win on easy surfaces and quietly fail on the hard ones. Melete is benchmarked on 7 deliberately adversarial landscapes, each normalised so the score is literally the % of the true optimum reached — and it clears ≥99% on every one, every seed.',pf_engine:'How: a 3-paradigm engine — portfolio global-explore → certificate-guided Lipschitz infill → Nelder–Mead polish. Every result also carries an optimality certificate: a provable bound on how much better the true best could be.',pf_avg:'average of the true optimum reached',pf_avg2:'across 7 adversarial landscapes · every seed · ≥99% on every single one — including the brutal ones (Rosenbrock\\'s banana valley, a 5-D haystack, a lone needle).',pf_note:'Reproducible: this is the open reliability gauntlet — re-run it and check every number yourself.',rel_lbl:'⚡ Reliable mode — add a Nelder–Mead polish (slower; nails hard curved valleys to the true optimum)',btn_contact:'Contact',use_lead:'No dataset, no formula. Just answer these about <b>your</b> process:',q1d:'List the knobs + their real limits (the range of your machine). <span class="muted">→ this is the SPACE.</span>',q2d:'You <b>measure</b> it — taste a score, read accuracy, read revenue. You do not calculate it. <span class="muted">→ this is the SCORE.</span>',q3d:'Brews, training runs, assays you pay for. <span class="muted">→ this is the BUDGET.</span>',ex_cof:'<b>Knobs:</b> temp 85–96° · grind 1–10 · dose 14–22g<br><b>Score:</b> a barista tastes each shot, 0–10<br><b>Budget:</b> 30 shots → Melete finds the recipe in ~20.',ex_ml:'<b>Knobs:</b> learning-rate 0–0.1 · depth 1–12<br><b>Score:</b> the training script prints accuracy<br><b>Budget:</b> 40 runs → fewer GPU-hours to the best model.',ex_cof_l:'A coffee shop',ex_ml_l:'An ML team',tw_a_b:'Connect your process',tw_a_d:' — Melete runs it for you and reads the number (this is the real product, like installing a tool):',tw_b_b:'From an agent or pipeline',tw_b_d:' — call the HTTP API or the library; your code returns the score each step:',sandbox:'<b>This website = a sandbox to try it.</b> Real work = connect your real process (A or B). 🔒 Air-gapped: zero dependencies + local signing ⇒ runs fully offline, result still verifiable.',prov_intro:'No single optimiser wins on every landscape. A bandit spends each experiment on whichever strategy is winning <i>on your problem</i> — one engine, no per-problem tuning.',btn_pitch:'Read the pitch',cta_body:'Built by one developer who genuinely loves this stuff. Got a question, an idea, or a process you want to try it on? Just reach out — happy to chat.',tl_land:'landscape',tl_bay:'single Bayesian',tl_rand:'random',tl_smooth:'smooth',tl_rug:'rugged (many traps)',tl_hd:'high-dimensional',tl_best:'best 🏆 beats every single algorithm',tl_far:'far behind',u_q1:'What can you adjust?',u_q2:'After one try, what number tells you how good it was?',u_q3:'How many tries can you afford?',u_two:'Then run it one of two ways:',cta_h:'Like Melete? Talk to the maker.',foot_honest:'Honest: the engine is a context-adaptive ensemble — its guarantee is robustness + verifiable provenance, measured &amp; reproducible (not a single "magic" algorithm).',g_h:'Use it on your real process — you measure',g_intro:'No code, no formula. Melete proposes the next experiment; you go run it for real and type the score back; it proposes the next — converging to the best in as few real tries as possible. (Demo space below: espresso temp · grind · dose. Connect your own process through the API.)',g_start:'▶ Start guiding',g_target:'🎯 Target (optional)',g_targethint:'the score you need — Melete tells you if it is reachable with these variables',ind_intro:'The browser score is a simulated model</b> of the process — the <b>optimisation is real &amp; reproducible</b>; connect your real assay / benchmark / process for real numbers.',t_pharma:'Drug formulation',t_gpu:'GPU kernel tuning',t_etch:'Plasma-etch process',t_llm:'LLM serving config',t_esp:'Best espresso recipe',d_pharma:'Variables: pH · temperature · excipient %. Goal: stability / potency. Melete finds the most stable formulation in ~60 assays — instead of hundreds.',d_gpu:'Variables: tile size · unroll · occupancy. Goal: throughput (GFLOP/s). Find the fastest config in ~50 benchmark runs.',d_etch:'Variables: power · pressure · time. Goal: wafer yield %. Tune the recipe to maximum yield — air-gapped, on-prem.',d_llm:'Variables: batch size · KV-cache · quantization. Goal: tokens/sec at a quality bar. Melete optimises AI infrastructure too — and can tune prompts, agents &amp; routing the same way.',d_esp:'Variables: temp · grind · dose. Goal: taste. The friendliest way to watch the idea click.',runnow:'▶ Run it now',sb1:'Once upon a time, a little coffee shop wished for the <b>most delicious espresso in the world</b>.',sb2:'But there were <b>thousands of ways</b> to make it — and every single test meant brewing, and tasting, a whole cup. Trying them all? <b>Impossible.</b>',sb3:'Then came <b>Meli</b> — who never tries everything. Meli looks, thinks, and the little light glows: <i>“brew <b>this</b> one next.”</i>',sb4:'You brew it, you taste it — <b>7 out of 10</b>. Meli smiles, <b>learns</b>, and picks an even smarter cup. 8.5… 9.2…',sb5:'In about <b>twenty cups</b>, Meli found the <b>perfect recipe</b> — and sealed a magical <b>proof</b> of how, so the whole world could trust it. <b>The end ✨</b>',st1h:'Set the dials',st1p:'List what you can change and its range — temperature 85–96°, learning-rate 0–0.1, price $1–100.',st2h:'Score one try',st2p:'Your real process returns one number: brew → taste, train → accuracy, price → revenue. No dataset needed.',st3h:'Discover &amp; prove',st3p:'Melete proposes the next experiment, learns, converges to the best — and signs a verifiable trace of how.',wh1:'Tune learning rates, architectures, RAG/serving configs, compiler flags — fewer GPU-hours to the best model, with a provable tuning record.',wh2:'Find the reagent mix / conditions that maximise yield or potency in far fewer assays — and a tamper-proof discovery trail for patents &amp; audits.',wh3:'Tune deposition / etch / print parameters against real KPIs on-prem — air-gapped, data never leaves the fab, result still verifiable.',wh4:'Search price points, configurations, and policies where each test is costly — converge faster than grid or manual search.',story:'<p style="font-size:19px;font-weight:600;color:#1a1b30;margin-bottom:14px">You run a coffee shop and want the <b>best espresso</b>. You can change three things — water temperature, grind, and how many grams of coffee. Thousands of combinations, and each test means <b>brewing a cup and tasting it</b>. You can’t try them all.</p><p style="color:#33344e;margin-bottom:6px">Melete is like a brilliant assistant who tells you the next cup to brew:</p><div class="chat">☕ Melete: “Try <b>92°, grind 6, 18g</b>.” → you brew it, taste it: <b>7/10</b>.</div><div class="chat">☕ Melete: “Now try <b>93°, grind 5, 19g</b>.” → you taste: <b>8.5/10</b>.</div><div class="chat" style="opacity:.6">… a few more …</div><div class="chat">🎯 After ~<b>20 cups</b> it found your best recipe — instead of randomly trying 200.</div><p style="color:#33344e;margin-top:14px">Swap “coffee” for a <b>training run</b>, a <b>chemical reaction</b>, or a <b>price</b> — same idea: Melete finds the best settings in the <b>fewest expensive tries</b> and signs a <b>proof</b> of how.</p>',winning:'The winning setup',signed:'Every step is cryptographically signed — the result is independently verifiable. No faking, no guessing.'},
834
+ th:{flabEye:'ห้องแล็บแนวหน้า · DEEP-TECH พิสูจน์แล้ว',flabH:'3 จุดตายของ optimizer ในโลกจริง — เราออกแบบให้รอดทุกข้อ และพิสูจน์ทุกตัว',flabP:'แต่ละปุ่มรัน engine จริงของ Melete ผ่าน API บนเครื่อง ตัวเลขสดจริง ไม่ใช่ของปลอม กดเลย',flabNoiseT:'📡 ทนสัญญาณรบกวน',flabNoiseD:'สัญญาณที่อ่านได้ 99% แล้ว 40% — หาค่าที่ “เชื่อถือได้” ไม่ใช่ค่าฟลุค',flabMixedT:'🧩 ตัวแปรผสม',flabMixedD:'categorical + integer + conditional (storage engine, thread count) ไม่ใช่แค่ลูกบิด',flabProvT:'📜 ตราผนึกประวัติ',flabProvD:'ประวัติการรัน 24/7 ผนึกเป็นหลักฐานขนาดคงที่ เซ็นแล้ว แก้ไม่ได้',flabNullT:'⬛ Null Engine',flabNullD:'optimizer ตัวเดียวที่กล้าบอกว่า “ไม่มีอะไรให้หา” — ไม่ยอมยัดสูตรปลอมให้คุณตอนข้อมูลเป็นแค่ noise',flabRun:'▶ รันสด',nullSpotEye:'NULL ENGINE · ลายเซ็นของ MELETE',nullSpotH:'ทุก optimizer ยื่น “สูตรที่ดีที่สุด” ให้คุณ — แม้ตอนที่ไม่มีอะไรเลย',nullSpotP:'ป้อน noise ล้วนให้ optimizer ตัวไหนก็ยังคืนคำตอบมั่นใจ — จุดที่ฟลุคที่สุดแต่งตัวเป็นการค้นพบ. NULL ENGINE เป็นตัวเดียวที่เอาคำตอบ “ของตัวเอง” ขึ้นศาล แล้วบอกความจริง: สัญญาณจริง หรือแค่ noise. พิสูจน์แล้ว: false-positive ≤ 2.5% จาก 200 รอบอิสระ',nullSpotBtn:'▶ พิสูจน์สดๆ — โจทย์จริง vs noise ล้วน',flabUseEye:'ใช้กับระบบจริงของคุณ',flabUseH:'เดโมพวกนี้ใช้สูตรจำลอง แต่บนเครื่องคุณ “oracle” คือการวัดผลจริงของคุณเอง',flabUse1:'① กำหนดปุ่มที่คุณปรับได้ + คะแนนที่คุณวัด (yield %, latency, ผลเบนช์มาร์ก, ค่าจาก assay)',flabUse2:'② ชี้ oracle ไปที่ระบบของคุณ — ฟังก์ชันที่รันกระบวนการจริง / เรียก API / อ่านค่าจากเครื่องมือ แล้วคืนคะแนนนั้น engine ตัวเดิมที่พิสูจน์แล้วจะค้นหาให้',flabUse3:'③ รันบนเครื่องคุณทั้งหมด (sovereign — ข้อมูลไม่ออกไปไหน) ทุกผลลัพธ์เซ็น Ed25519 ไว้ใช้ยื่นตรวจ/จดสิทธิบัตร',flabUseCap:'รัน engine ตัวเดียวกันเอง(npm) แล้วเสียบการวัดผลจริงของคุณเข้าไป:',flabUseApi:'…หรือ POST objective แบบสูตร JS ไปที่ API ที่โฮสต์ไว้ เพื่อทดสอบเร็วๆ: /discover · /mixed · /noise-robust',watch:'▶ ดู Melete ค้นพบ',replay:'▶ เล่นใหม่',team:'ทีมของ Meli — ใครลงมือบ้าง',teamhint:'รายละเอียดผู้เชี่ยวชาญ: ผู้ช่วยที่ Meli ใช้ ไม่จำเป็นต้องรู้ก็ใช้ผลได้',climb:'คะแนนไต่ขึ้นยังไง (สูง = ดี)',cinema:'โรงหนังการค้นพบ — ดู Meli ค้นหา',scenarioL:'เลือกสถานการณ์',knobs:'สิ่งที่ปรับได้',score:'วัดเป็นคะแนน',budget:'จำนวนครั้ง',ph:'เลือกสถานการณ์ แล้วกดดู',plainHdr:'สรุป',tried:'Melete ลอง',settings:'แบบ แล้วล็อกแบบที่ดีที่สุด',eyebrow:'AI วิเคราะห์ · ตรวจสอบ · ปรับแต่ง ที่รันในตึกคุณเอง',ctaTry:'ลองใช้งาน →',ctaPitch:'พิตช์ 60 วินาที',h_what:'Melete ทำอะไร — ตัวอย่างเดียวจบ',h_meli:'รู้จัก Meli — นิทานสั้น ๆ',h_how:'ทำงานยังไง — 3 ขั้น',h_who:'ใครใช้ได้ & ได้อะไร',h_see:'ดู Melete ค้นพบ — แค่กดดู',see_lead:'👇 แค่กดปุ่มสีม่วงแล้วดู Melete จะลองค่าทีละชุดแล้วค่อยๆ เจาะหาค่าที่ดีที่สุด — เหมือนเรื่องกาแฟด้านบน แต่ดูสดๆ',see_sub:'นี่คือตัวอย่างสาธิต "คะแนน" เลยคำนวณจากสูตรให้ทันที ในชีวิตจริงคะแนนคือสิ่งที่<b>คุณวัดเอง</b> (คะแนนรสชาติ · % ที่ได้ · ผลเบนช์มาร์ก) แล้วพิมพ์ใส่ <a href="#use">วิธีเอาไปใช้กับงานคุณ →</a>',h_ind:'เลือกอุตสาหกรรม — ดู Melete ทำงานจริง',h_proven:'พิสูจน์ได้ ไม่ใช่แค่พูด',h_use:'ใช้กับงานของคุณ — ตอบ 3 คำถาม',heroTag:'บอก Melete ว่าคุณปรับอะไรได้ และคำว่า <b>"ดี"</b> คืออะไร — มันจะหา<b>สูตรที่ดีที่สุดด้วยการทดลองจริงน้อยครั้งที่สุด</b> แล้วบอกชัดๆ ว่าให้ลงมือทำอะไรต่อ',heroSub:'วิเคราะห์ · ปรับแต่ง · รับรอง — รันในตึกคุณ (sovereign) ข้อมูลไม่ออกไปไหน ทุกคำตัดสินเซ็นด้วยคริปโต ตรวจ offline ได้',ctaApi:'🔌 เชื่อมต่อผ่าน API',pill1:'🎯 คำตอบที่ดีที่สุด ลองน้อยครั้งสุด',pill2:'🚀 ไม่ต้องมีข้อมูลก่อน — เริ่มจากศูนย์ได้',pill3:'🔒 รันบนเครื่องคุณเอง',pill4:'🔏 ทุกคำตอบมีลายเซ็น',hs1:'เครื่องยนต์ที่พิสูจน์แล้ว',hs2:'ของจุดที่ดีที่สุดจริง ทุกเบนช์มาร์ก',hs3:'รันบนเครื่องคุณ · เซ็นยืนยัน',hs4:'สมองเดียว ฉลาดทุกเรื่อง',m60_eye:'เข้าใจทั้งระบบใน 60 วินาที',m60_h:'Melete คืออะไร — ใน 1 นาที',m60_p:'คุณมีระบบที่ <b>วัดผลได้</b> — ML pipeline, config ของ server/DB/network, สูตร, หรือ simulation. Melete หาค่าที่<b>ดีที่สุดและทนทานที่สุด</b>ด้วยการทดลองน้อยครั้งสุด อธิบายเหตุผลเป็นภาษาคน และให้ <b>คำตัดสินที่เซ็น ตรวจซ้ำได้เองแบบ offline</b> — รันบนเครื่องคุณ ข้อมูลไม่ออกไปไหน',m60_s1:'<b>บอกมัน</b>ว่าปรับอะไรได้ + คำว่า "ดี" คืออะไร',m60_s2:'<b>มันเสนอ</b>ค่าหนึ่ง → คุณวัดผล (หรือใส่สูตร) → วนซ้ำ',m60_s3:'<b>คุณได้</b>สูตรที่ดี+ทน + คำตัดสินที่เซ็น เล่นซ้ำได้',m60_inside:'ภายใน: 43 เครื่องยนต์ จัดเป็น 4 ชั้น',lay1:'หาค่าที่ดีที่สุด ในจำนวนครั้งน้อยสุด',lay2:'คำตัดสินของสมอง Φ ที่ปลอดภัยมาก่อน + 🛡 ตัวที่ทนทาน',lay3:'บอกเหตุผลภาษาคน: ปุ่มไหนสำคัญ หน้าผา รูปทรง เพดาน',lay4:'เซ็นแล้ว ตรวจ offline ได้ เล่นซ้ำทีละขั้น',gal_eye:'ลองสด — เลือกวงการคุณ กดปุ่มเดียว',gal_h:'ดู Melete ทำงานบนวงการของคุณ',gal_p:'แต่ละการ์ดรัน <b>engine จริงของ Melete</b> บนโจทย์จำลองทรงอุตสาหกรรมนั้น — แล้วสรุปผลให้คุณเข้าใจง่ายเป็นภาษาคน (ทุกตัวเลขมาจากผลรันจริง). ใน production คุณต่อระบบของคุณเองเป็น oracle',gal_note:'⚠ สภาพแวดล้อมจำลอง (engine จริง ใบรับรองเซ็นจริง) ไม่มีการต่อดาวเทียม/กริดจริง — ต่อ telemetry ของคุณเองเป็น oracle ใน production',g_auto:'▶ ดู Melete ทำงานเอง (อัตโนมัติ)',mo_eyebrow:'หลายเป้าหมาย',mo_h:'optimize หลายเป้าพร้อมกัน — เห็น trade-off',mo_sub:'ปัญหาจริงมีเป้าที่ขัดกัน — ผลผลิตมากขึ้นแต่ต้นทุนต้องน้อยลง ไม่มีดีที่สุดตัวเดียว Melete จึงหา Pareto front: เซตของจุดแลกเปลี่ยนที่ดีที่สุด ตั้งเป้าหมาย + ตัวแปร แล้วรันลูปเสนอ-วัด-ใส่คะแนนแต่ละเป้า ดู front ค่อยๆ เต็มขึ้น',g_howreal:'<b>เอาไปใช้จริงในโปรเจค — 2 ทาง:</b><br><b>1) ผ่านเว็บนี้ (ไม่ต้องเขียนโค้ด)</b> — สำหรับการทดลองที่ช้า/แพง วัดด้วยมือ: Melete เสนอ คุณไปทำจริงในแล็บ/ระบบ แล้วพิมพ์คะแนน เหมาะกับการทดลองจริงที่ยังไงก็ต้องวัดเองอยู่แล้ว<br><b>2) เชื่อมระบบอัตโนมัติ</b> — <code>melete tune</code>, <code>POST /next</code> หรือ npm library รันบนเซิร์ฟเวอร์ของคุณเอง (air-gapped): โค้ดของคุณรันการทดสอบเองแล้วป้อนคะแนนกลับวนลูป เหมาะกับ benchmark, simulation, pipeline <a href="/docs" style="font-weight:700;color:#b45309">&rarr; คู่มือ API</a>',g_pickopt:'เลือกสายงานของคุณ…',gs_h:'ใช้งานยังไง — 4 ขั้น',gs1:'บอก Melete ว่าปรับอะไรได้ — หรือเลือกสายงานด้านบน',gs2:'Melete บอกค่าถัดไปที่ควรลอง แบบเป๊ะๆ',gs3:'คุณไปทำจริง แล้วพิมพ์คะแนนที่วัดได้',gs4:'วนซ้ำ ~20–40 ครั้ง → ได้ config ดีสุด + ใบรับรองที่เซ็นแล้ว',g_ex:'<b>ตัวอย่าง — วิศวกรความปลอดภัย AI:</b> ปรับ <b>[ความเข้มฟิลเตอร์ · temperature · rate limit]</b> แล้ววัด <b>[% การโจมตีจาก red-team ที่ระบบบล็อกได้]</b> เป็นคะแนน Melete เสนอ config ถัดไป → คุณรันชุดโจมตี → ใส่ % → วนซ้ำ → เจอ config ที่ปลอดภัยสุดในจำนวนเทสน้อยสุด',vf_eyebrow:'ตรวจสอบ · ไม่ต้องเชื่อเรา',vf_h:'ตรวจสอบใบรับรอง Proof of Optimization — แบบ offline',vf_sub:'เป็นของ optional — สำหรับผู้ตรวจสอบ ไม่จำเป็นต่อการใช้งาน Melete หลังจากคุณรัน discovery แล้วกดดาวน์โหลดใบรับรอง ใครก็ลากไฟล์มาวางตรงนี้เพื่อตรวจได้ — ระบบคำนวณตัวเลขซ้ำ + ตรวจลายเซ็น Ed25519 ด้วย public key ที่ฝังในใบเอง · ยังไม่มีไฟล์? กด “ดูตัวอย่าง”',vf_sample:'▶ ดูตัวอย่าง',vf_btn:'ตรวจสอบใบรับรอง',sim_note:'<b>คุณไม่ต้องเขียนสูตรพวกนี้</b> กล่องนี้คือการจำลองในเบราว์เซอร์ไว้ดูอัลกอริทึมทำงาน นักวิจัยยา (หรือใครก็ตาม) ใช้โหมดไม่ต้องมีสูตร — ใส่ตัวแปรของคุณ (pH, อุณหภูมิ…) ผสมสูตร วัดผลจริง แล้วใส่คะแนน',sim_btn:'👉 โหมดไม่ต้องมีสูตร',nf_h:'ใช้กับงานจริงของคุณได้เลย — ไม่ต้องมีสูตร ไม่ต้องเขียนโค้ด',nf_sub:'เดโมด้านล่างต้องใส่สูตร (สำหรับนักพัฒนา) ถ้าจะใช้ Melete กับงานจริงโดยไม่ต้องมีสูตร — มันเสนอ คุณวัด คุณใส่คะแนน — ใช้โหมด guided',nf_btn:'👉 ใช้โหมดไม่ต้องมีสูตร',g_pick:'เริ่มจากอุตสาหกรรมของคุณ — หรือแก้ตัวแปรเองก็ได้:',g_addvar:'เพิ่มตัวแปร',pr_eyebrow:'ราคา',pr_h:'เริ่มฟรี จ่ายเมื่อมันช่วยคุณประหยัดเงิน',pr_sub:'คุณค่าคือลดจำนวนการทดลองที่แพง พร้อมใบรับรอง — จ่ายก็ต่อเมื่อ Melete ช่วยประหยัดได้มากกว่าค่าใช้จ่ายแล้ว',pr_pop:'ยอดนิยม',pr_free_name:'ฟรี',pr_free_price:'$0',pr_free_tag:'เว็บ + CLI แบบเปิด ตลอดไป',pr_free_f:'✓ รัน discovery ได้เต็ม<br>✓ ใบบันทึกที่เซ็น+ตรวจซ้ำได้<br>✓ ใบรับรองความเหมาะที่สุด<br>✓ ไม่ต้องสมัคร',pr_free_btn:'▶ ลองเลย',pr_pro_name:'Pro',pr_pro_price:'Early access',pr_pro_tag:'สำหรับทีมที่มีกระบวนการจริง',pr_pro_f:'✓ เชื่อมกระบวนการของคุณผ่าน API<br>✓ Reliable mode + รันเป็นชุด<br>✓ ซัพพอร์ตลำดับแรก<br>✓ พื้นที่ทำงานส่วนตัว',pr_pro_btn:'คุยกับเรา',pr_ent_name:'Enterprise',pr_ent_price:'Air-gapped',pr_ent_tag:'องค์กรคุมเข้ม + รันในองค์กร',pr_ent_f:'✓ รันออฟไลน์เต็มที่ — ข้อมูลไม่ออกจากองค์กร<br>✓ ใบพิสูจน์ที่เซ็น สำหรับ audit และสิทธิบัตร<br>✓ SLA + ช่วยตั้งระบบ<br>✓ ติดตั้งเองในเซิร์ฟเวอร์คุณ',pr_ent_btn:'คุยกับเรา',pf_eyebrow:'พิสูจน์แล้ว · วัดได้ · มีใบรับรอง',pf_h:'≥99% ของจุดที่ดีที่สุดจริง — บนทุกภูมิทัศน์',pf_sub:'optimizer ส่วนใหญ่ชนะบนสนามง่าย แล้วแอบแพ้บนสนามยาก Melete ถูกทดสอบบน 7 ภูมิทัศน์ที่ออกแบบให้โหด แต่ละสนามปรับให้คะแนน = %ของจุดที่ดีที่สุดจริง — และผ่าน ≥99% ทุกสนาม ทุก seed',pf_engine:'ทำได้ยังไง: เครื่องยนต์ 3 พาราไดม์ — portfolio สำรวจทั่ว → infill นำทางด้วยใบรับรอง (Lipschitz) → ขัดเงา Nelder–Mead และทุกผลลัพธ์มีใบรับรองความเหมาะที่สุด: ขอบเขตที่พิสูจน์ได้ว่าของจริงดีกว่านี้ได้ไม่เกินเท่าไร',pf_avg:'ของจุดที่ดีที่สุดจริง (เฉลี่ย)',pf_avg2:'บน 7 ภูมิทัศน์สุดโหด · ทุก seed · ผ่าน ≥99% ทุกสนาม — รวมสนามโคตรโหด (หุบเขากล้วย Rosenbrock, เข็มในมหาสมุทร 5 มิติ, เข็มโดดเดี่ยว)',pf_note:'ตรวจซ้ำได้: นี่คือ reliability gauntlet แบบเปิด — รันเองแล้วเช็คทุกตัวเลขได้',rel_lbl:'⚡ โหมด Reliable — เพิ่มการขัดเงาแบบ Nelder–Mead (ช้าลง แต่พิชิตหุบเขายากให้ถึงจุดที่ดีที่สุดจริง)',btn_contact:'ติดต่อ',use_lead:'ไม่ต้องมีชุดข้อมูล ไม่ต้องมีสูตร แค่ตอบ 3 ข้อนี้เกี่ยวกับ<b>งานของคุณ</b>:',q1d:'ระบุปุ่มที่ปรับได้ + ขีดจำกัดจริง (ช่วงของเครื่องคุณ) <span class="muted">→ นี่คือ SPACE</span>',q2d:'คุณ<b>วัด</b>มัน — ชิมให้คะแนน อ่านความแม่น อ่านยอดขาย ไม่ต้องคำนวณเอง <span class="muted">→ นี่คือ SCORE</span>',q3d:'จำนวนการชง การเทรน การทดลองที่คุณต้องจ่าย <span class="muted">→ นี่คือ BUDGET</span>',ex_cof:'<b>ปุ่ม:</b> อุณหภูมิ 85–96° · บด 1–10 · ปริมาณ 14–22g<br><b>คะแนน:</b> บาริสต้าชิมแต่ละช็อต ให้ 0–10<br><b>งบ:</b> 30 ช็อต → Melete เจอสูตรใน ~20 ช็อต',ex_ml:'<b>ปุ่ม:</b> learning-rate 0–0.1 · depth 1–12<br><b>คะแนน:</b> สคริปต์เทรนพิมพ์ค่าความแม่น<br><b>งบ:</b> 40 รอบ → ใช้ GPU น้อยลงกว่าจะได้โมเดลที่ดีที่สุด',ex_cof_l:'ร้านกาแฟ',ex_ml_l:'ทีม ML',tw_a_b:'เชื่อมต่อกระบวนการของคุณ',tw_a_d:' — Melete รันให้คุณแล้วอ่านค่าตัวเลขเอง (นี่คือตัวโปรดักต์จริง เหมือนติดตั้งเครื่องมือ):',tw_b_b:'จาก agent หรือ pipeline',tw_b_d:' — เรียก HTTP API หรือไลบรารี; โค้ดของคุณคืนคะแนนกลับมาในแต่ละขั้น:',sandbox:'<b>เว็บนี้ = สนามทดลอง</b> งานจริง = เชื่อมต่อกระบวนการจริงของคุณ (ทาง A หรือ B) 🔒 Air-gapped: ไม่มี dependency + เซ็นในเครื่อง ⇒ รันออฟไลน์ได้เต็มที่ ผลยังตรวจสอบได้',prov_intro:'ไม่มีอัลกอริทึมเดียวที่ชนะทุกภูมิทัศน์ปัญหา bandit จะทุ่มแต่ละการทดลองให้กลยุทธ์ที่กำลังชนะ<i>บนปัญหาของคุณ</i> — เอนจินเดียว ไม่ต้องจูนรายปัญหา',btn_pitch:'อ่านพิตช์เด็ค',cta_body:'สร้างโดยนักพัฒนาคนเดียวที่หลงใหลเรื่องนี้จริง ๆ มีคำถาม มีไอเดีย หรืออยากลองใช้กับงานของคุณ — ทักมาได้เลย ยินดีคุยครับ',tl_land:'ภูมิทัศน์ปัญหา',tl_bay:'Bayesian เดี่ยว',tl_rand:'สุ่ม',tl_smooth:'เรียบ',tl_rug:'ขรุขระ (กับดักเยอะ)',tl_hd:'มิติสูง',tl_best:'ดีที่สุด 🏆 ชนะทุกอัลกอริทึม',tl_far:'ตามหลังห่าง',u_q1:'คุณปรับอะไรได้บ้าง?',u_q2:'ลอง 1 ครั้งแล้ว ตัวเลขไหนบอกว่าดีแค่ไหน?',u_q3:'คุณลองได้กี่ครั้ง?',u_two:'จากนั้นใช้งานได้ 2 ทาง:',cta_h:'ชอบ Melete ไหม? ทักหาคนทำได้เลย',foot_honest:'ตามตรง: เอนจินเป็นชุดอัลกอริทึมที่ปรับตามบริบท — สิ่งที่รับประกันคือความทนทาน + ที่มาที่ตรวจสอบได้ วัดผลและทำซ้ำได้จริง (ไม่ใช่อัลกอริทึม "วิเศษ" ตัวเดียว)',g_h:'ใช้กับงานจริงของคุณ — คุณเป็นคนวัด',g_intro:'ไม่ต้องเขียนโค้ด ไม่ต้องมีสูตร Melete เสนอการทดลองถัดไป คุณไปลองจริงแล้วพิมพ์คะแนนกลับมา แล้วมันเสนออันต่อไป — ลู่เข้าหาค่าที่ดีที่สุดในจำนวนครั้งจริงที่น้อยที่สุด แก้ตัวแปรของคุณเองด้านล่างได้เลย — เช่น นักวิทยาศาสตร์ยาใส่ pH, อุณหภูมิ, สัดส่วนสารช่วย %; แล้ว Melete จะบอกว่าควรผสมสูตรไหนต่อ เชื่อมต่อกระบวนการจริงผ่าน API สำหรับใช้งานจริง',g_start:'▶ เริ่มแนะนำ',g_target:'🎯 เป้าหมาย (ถ้ามี)',g_targethint:'คะแนนที่คุณต้องการ — Melete จะบอกว่าเป็นไปได้ไหมกับตัวแปรชุดนี้',ind_intro:'ทุกการ์ดรันเดโมจริงบนสถานการณ์ที่ออกแบบให้เหมือนงานจริงในแต่ละวงการ <b>คะแนนในเบราว์เซอร์เป็นแบบจำลอง</b>ของกระบวนการ — แต่<b>การค้นหาค่าที่ดีที่สุดเป็นของจริงและทำซ้ำได้</b>; เชื่อมต่อการทดลอง/เบนช์มาร์ก/กระบวนการจริงของคุณ เพื่อได้ตัวเลขจริง</p>',t_pharma:'สูตรตำรับยา',t_gpu:'จูน GPU kernel',t_etch:'กระบวนการพลาสมาเอตช์',t_llm:'คอนฟิกการเสิร์ฟ LLM',t_esp:'สูตรเอสเพรสโซที่ดีที่สุด',d_pharma:'ตัวแปร: pH · อุณหภูมิ · สัดส่วนสารช่วย %. เป้าหมาย: ความคงตัว/ฤทธิ์ยา Melete หาสูตรที่คงตัวที่สุดใน ~60 การทดลอง — แทนที่จะเป็นหลายร้อย',d_gpu:'ตัวแปร: tile size · unroll · occupancy. เป้าหมาย: throughput (GFLOP/s) หาคอนฟิกที่เร็วที่สุดใน ~50 รอบเบนช์มาร์ก',d_etch:'ตัวแปร: กำลัง · ความดัน · เวลา เป้าหมาย: % wafer yield จูนสูตรให้ได้ yield สูงสุด — air-gapped รันในองค์กร',d_llm:'ตัวแปร: batch size · KV-cache · quantization. เป้าหมาย: tokens/sec ที่คุณภาพกำหนด Melete จูนโครงสร้างพื้นฐาน AI ได้ด้วย — และจูน prompt, agent & routing แบบเดียวกัน',d_esp:'ตัวแปร: อุณหภูมิ · การบด · ปริมาณ เป้าหมาย: รสชาติ วิธีที่เข้าใจง่ายที่สุดในการเห็นไอเดียนี้ทำงาน',runnow:'▶ ลองเลย',sb1:'กาลครั้งหนึ่ง ร้านกาแฟเล็ก ๆ ใฝ่ฝันถึง <b>เอสเพรสโซที่อร่อยที่สุดในโลก</b>',sb2:'แต่มันทำได้ <b>เป็นพันวิธี</b> — และการลองแต่ละครั้ง ต้องชงและชิมจริงทั้งแก้ว จะลองให้ครบ? <b>เป็นไปไม่ได้</b>',sb3:'แล้ว <b>Meli</b> ก็มา — ผู้ที่ไม่เคยลองทุกอย่าง Meli มอง คิด แล้วไฟดวงน้อยก็สว่าง: <i>“ชง<b>แก้วนี้</b>ต่อสิ”</i>',sb4:'คุณชง คุณชิม — <b>7 เต็ม 10</b> Meli ยิ้ม <b>เรียนรู้</b> แล้วเลือกแก้วที่ฉลาดกว่าเดิม 8.5… 9.2…',sb5:'ราว ๆ <b>ยี่สิบแก้ว</b> Meli ก็เจอ <b>สูตรที่สมบูรณ์แบบ</b> — แล้วผนึก <b>ใบรับรอง</b>วิเศษว่าได้มายังไง ให้ทั้งโลกเชื่อถือได้ <b>จบบริบูรณ์ ✨</b>',st1h:'ตั้งค่าที่ปรับได้',st1p:'ระบุสิ่งที่ปรับได้และช่วงของมัน — อุณหภูมิ 85–96° · learning-rate 0–0.1 · ราคา $1–100',st2h:'ให้คะแนน 1 ครั้ง',st2p:'กระบวนการจริงของคุณคืนตัวเลขมา 1 ค่า: ชง→ชิม, เทรน→ความแม่น, ตั้งราคา→ยอดขาย — ไม่ต้องมีชุดข้อมูล',st3h:'ค้นพบ & พิสูจน์',st3p:'Melete เสนอการทดลองถัดไป เรียนรู้ ลู่เข้าหาค่าที่ดีที่สุด — แล้วเซ็นใบบันทึกที่ตรวจสอบได้ว่าทำมายังไง',wh1:'จูน learning rate, สถาปัตยกรรมโมเดล, RAG/serving, compiler flags — ใช้ GPU น้อยลงกว่าจะได้โมเดลที่ดีที่สุด พร้อมบันทึกการจูนที่พิสูจน์ได้',wh2:'หาสูตรผสมสาร/สภาวะที่ให้ yield หรือฤทธิ์สูงสุด ในจำนวนการทดลองที่น้อยลงมาก — พร้อมบันทึกการค้นพบที่แก้ไขไม่ได้ สำหรับสิทธิบัตรและการตรวจสอบ',wh3:'จูนพารามิเตอร์ deposition/etch/print ตาม KPI จริงในองค์กร — air-gapped ข้อมูลไม่ออกจากโรงงาน แต่ผลยังตรวจสอบได้',wh4:'ค้นหาจุดราคา การตั้งค่า และนโยบาย ที่การทดสอบแต่ละครั้งมีต้นทุน — ลู่เข้าเร็วกว่าการไล่กริดหรือลองเอง',story:'<p style="font-size:19px;font-weight:600;color:#1a1b30;margin-bottom:14px">คุณเปิดร้านกาแฟ และอยากได้ <b>เอสเพรสโซที่อร่อยที่สุด</b> สิ่งที่ปรับได้มี 3 อย่าง — อุณหภูมิน้ำ ความละเอียดการบด และปริมาณกาแฟเป็นกรัม ผสมกันได้เป็นพันแบบ และการลองแต่ละแบบ คือ<b>ต้องชงจริงแล้วชิม</b> จะลองทุกแบบ—เป็นไปไม่ได้</p><p style="color:#33344e;margin-bottom:6px">Melete เปรียบเหมือนผู้ช่วยอัจฉริยะ ที่บอกว่าควรชงแก้วถัดไปยังไง:</p><div class="chat">☕ Melete: “ลอง <b>92° บด 6 ใส่ 18g</b>” → คุณชงแล้วชิม: <b>7/10</b></div><div class="chat">☕ Melete: “งั้นลอง <b>93° บด 5 ใส่ 19g</b>” → คุณชิม: <b>8.5/10</b></div><div class="chat" style="opacity:.6">… อีกไม่กี่แก้ว …</div><div class="chat">🎯 ครบ ~<b>20 แก้ว</b> ก็เจอสูตรที่ดีที่สุด — แทนที่จะสุ่มชง 200 แก้ว</div><p style="color:#33344e;margin-top:14px">เปลี่ยน “กาแฟ” เป็น <b>การเทรนโมเดล</b> <b>ปฏิกิริยาเคมี</b> หรือ <b>ราคา</b> — หลักการเดียวกัน: Melete หาค่าที่ดีที่สุดใน<b>จำนวนครั้งที่น้อยที่สุด</b> แล้วเซ็น<b>ใบรับรอง</b>ว่าได้มายังไง</p>',winning:'สูตรที่ชนะ',signed:'ทุกขั้นเซ็นด้วยคริปโต — ผลตรวจสอบได้จริง ไม่มีโม้ ไม่มีเดา'}
821
835
  };
822
836
  function tr(k){var o=T[LANG]||T.en;return o[k]!=null?o[k]:T.en[k];}
823
837
  function showContact(){document.getElementById('contactModal').style.display='flex';}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE;IAC7E,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sFAAsF,EAAE;IACnI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,8DAA8D,EAAE;CAC1G,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkRjB,CAAC;AAEF;;wDAEwD;AACxD,SAAS,IAAI,CAAC,GAAG,GAAG,EAAE;IACpB,OAAO,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BzB,CAAC;AACR,CAAC;AAED;2GAC2G;AAC3G,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AAC3E,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,EAAU,EAAE,CAAS,EAAE,EAAU,EAAE,EAAU;IAClF,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO,GAAG,OAAO;IAC3C,OAAO;+EACsE,SAAS;;;;;;;;;;gDAUxC,IAAI,EAAE;;;;;;;;;;;;;;;0BAe5B,IAAI,CAAC,MAAM,CAAC;;;;mOAI6L,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA+J7M,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA8HW,IAAI,EAAE;;;;;;;;;;;EAWlD,CAAC,GAAG,EAAE;QACN,MAAM,CAAC,GAAG;YACR,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7G,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE;SAClK,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,EAAE,GAAqC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5I,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE,CAAC,uCAAuC,IAAI,aAAa,IAAI,0DAA0D,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uNAAuN,EAAE,qBAAqB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,GAAG,GAAG,iBAAiB,EAAE,GAAG,IAAI,0BAA0B,CAAC;QACriB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gSAAgS,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,mFAAmF,CAAC,CAAC,CAAC,wGAAwG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClnB,OAAO;MACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;yHACiG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;;gHAEvB,KAAK;0XACqQ,CAAC;IAC3X,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoHwE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0gBpE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,OAAO;IACzC,MAAM,MAAM,GAAG;QACb,2RAA2R,OAAO,qEAAqE;QACvW,oeAAoe;QACpe,8sBAA8sB;QAC9sB,mgBAAmgB;QACngB,8iBAA8iB;QAC9iB,mpBAAmpB;QACnpB,6kBAA6kB;QAC7kB,uZAAuZ;QACvZ,wsBAAwsB;KACzsB,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3H,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCP,SAAS;;;;;;;;;;;wBAWa,CAAC;AACzB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG;QACb,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,uDAAuD,EAAE;QACvL,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,iDAAiD,EAAE;QAC/J,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,+CAA+C,EAAE;QAC5M,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,0IAA0I,EAAE;QAClX,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAoC,EAAE,CAAC;gBAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;oBAAE,GAAG,GAAG,KAAK,CAAC;YAAC,CAAC,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,MAAM,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,iIAAiI,EAAE;QAC15B,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,wEAAwE,EAAE;QACpR,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,+KAA+K,EAAE;QAC7c,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,0IAA0I,EAAE;QAC9c,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oEAAoE,EAAE;QACvK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,6CAA6C,EAAE;QACrK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,8FAA8F,EAAE;QACtQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,EAAE,wEAAwE,EAAE;QACnN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,oEAAoE,EAAE;KAC/L,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAGD,MAAM,UAAU,QAAQ,CAAC,OAAwB,IAAI,OAAO,4tZAA4tZ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE;IAC9D,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE;IAC7E,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sFAAsF,EAAE;IACnI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,8DAA8D,EAAE;CAC1G,CAAC;AAEF,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkRjB,CAAC;AAEF;;wDAEwD;AACxD,SAAS,IAAI,CAAC,GAAG,GAAG,EAAE;IACpB,OAAO,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BzB,CAAC;AACR,CAAC;AAED;2GAC2G;AAC3G,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;AAC3E,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,EAAU,EAAE,CAAS,EAAE,EAAU,EAAE,EAAU;IAClF,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAO,GAAG,OAAO;IAC3C,OAAO;+EACsE,SAAS;;;;;;;;;;gDAUxC,IAAI,EAAE;;;;;;;;;;;;;;;0BAe5B,IAAI,CAAC,MAAM,CAAC;;;;mOAI6L,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA6K7M,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;6BAMN,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CA8HW,IAAI,EAAE;;;;;;;;;;;EAWlD,CAAC,GAAG,EAAE;QACN,MAAM,CAAC,GAAG;YACR,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE;YAC7G,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE;SAClK,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,EAAE,GAAqC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5I,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,IAAY,EAAE,EAAU,EAAE,EAAE,CAAC,uCAAuC,IAAI,aAAa,IAAI,0DAA0D,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uNAAuN,EAAE,qBAAqB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,EAAE,GAAG,GAAG,iBAAiB,EAAE,GAAG,IAAI,0BAA0B,CAAC;QACriB,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gSAAgS,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,mFAAmF,CAAC,CAAC,CAAC,wGAAwG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClnB,OAAO;MACH,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;yHACiG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;;gHAEvB,KAAK;0XACqQ,CAAC;IAC3X,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoHwE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0gBpE,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAO,GAAG,OAAO;IACzC,MAAM,MAAM,GAAG;QACb,2RAA2R,OAAO,qEAAqE;QACvW,oeAAoe;QACpe,8sBAA8sB;QAC9sB,mgBAAmgB;QACngB,8iBAA8iB;QAC9iB,mpBAAmpB;QACnpB,6kBAA6kB;QAC7kB,uZAAuZ;QACvZ,wsBAAwsB;KACzsB,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3H,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCP,SAAS;;;;;;;;;;;wBAWa,CAAC;AACzB,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAAC,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG;QACb,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,uDAAuD,EAAE;QACvL,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,iDAAiD,EAAE;QAC/J,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,+CAA+C,EAAE;QAC5M,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,0IAA0I,EAAE;QAClX,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAoC,EAAE,CAAC;gBAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;oBAAE,GAAG,GAAG,KAAK,CAAC;YAAC,CAAC,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,MAAM,IAAI,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,iIAAiI,EAAE;QAC15B,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,wEAAwE,EAAE;QACpR,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,+KAA+K,EAAE;QAC7c,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,0IAA0I,EAAE;QAC9c,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,oEAAoE,EAAE;QACvK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,6CAA6C,EAAE;QACrK,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,8FAA8F,EAAE;QACtQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,EAAE,wEAAwE,EAAE;QACnN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,oEAAoE,EAAE;KAC/L,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;AAClE,CAAC;AAGD,MAAM,UAAU,QAAQ,CAAC,OAAwB,IAAI,OAAO,4tZAA4tZ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "melete-ai",
3
- "version": "0.89.1",
3
+ "version": "0.89.2",
4
4
  "description": "Melete — the Self-Driving Discovery Brain. A closed-loop active-experiment engine with a pluggable oracle and a signed, offline-verifiable discovery trace. Mneme remembers; Melete discovers.",
5
5
  "type": "module",
6
6
  "bin": {