hanoman 0.9.33 → 0.9.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-info.json +3 -3
- package/dist/cli.js +4 -0
- package/dist/server.js +29 -6
- package/package.json +1 -1
- package/web/assets/{DalangHanomanScreen-DAXIQxrw.js → DalangHanomanScreen-BwBpu2_P.js} +1 -1
- package/web/assets/{DocPreviewModal-Cu0UFzPH.js → DocPreviewModal-z4u5bA7e.js} +1 -1
- package/web/assets/{DocsWorkspace-DElNcoar.js → DocsWorkspace-CtD3uuCo.js} +1 -1
- package/web/assets/{IdeScreen-BBr567gf.js → IdeScreen-D-jOfQ5p.js} +1 -1
- package/web/assets/{LeadScreen-CYn8RS3H.js → LeadScreen-BzauaH1t.js} +1 -1
- package/web/assets/{ReviewScreen-zAvwSL50.js → ReviewScreen-CMhrSnaH.js} +1 -1
- package/web/assets/{SchedulerScreen-BptlSAOx.js → SchedulerScreen-h9C8CMSA.js} +1 -1
- package/web/assets/{SettingsScreen-a0Cx4M4j.js → SettingsScreen-DrV1eN2q.js} +1 -1
- package/web/assets/{TeamScreen-Cm_phItS.js → TeamScreen-DQ7DBfil.js} +1 -1
- package/web/assets/{TerminalScreen-CFuNRq6d.js → TerminalScreen-BecrzSkO.js} +1 -1
- package/web/assets/{TriageScreen-ChTidhCT.js → TriageScreen-jtTZsaK5.js} +1 -1
- package/web/assets/{VpsScreen-8vz0QHO-.js → VpsScreen-v5UmXGHF.js} +1 -1
- package/web/assets/{fields-Bhl01LnE.js → fields-B0XXQmkb.js} +1 -1
- package/web/assets/{index-R2HBkTbR.js → index-kLq09yz-.js} +25 -25
- package/web/assets/{live-V9nWiHoE.js → live-wjfa6DIz.js} +1 -1
- package/web/assets/{sched-lead-shared-Dr48bY7n.js → sched-lead-shared-BfF2ZYfo.js} +1 -1
- package/web/assets/{settings-rebase-DOqNAynI.js → settings-rebase-BMeQSp64.js} +1 -1
- package/web/index.html +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ci as F,cj as I,ck as O,cl as R,cm as M,cn as U,b$ as $,bY as P,bZ as B,b_ as G,co as z,a6 as H,a7 as K,cp as V,bc as Y,cq as q,bT as Z,cr as W,cs as X,j as a,B as J,h as Q,aI as ee,b2 as te,ae as w,g as A,a9 as ae,aa as se,ab as ne,ac as re,ad as ie,f as le}from"./index-R2HBkTbR.js";import{R as f}from"./react-DfGhg7ZW.js";import"./markdown-CWEY34jk.js";const xe=F,S=[{key:"sesi",label:"Sesi harian",icon:"bell",sections:[{key:"sesi",label:"Sesi harian",icon:"bell",keywords:"notifikasi suara selesai keputusan gagal full-auto scaffold agen model default effort goal kondisi verifikasi scope metode workflow"}]},{key:"model",label:"Agen & model",icon:"cpu",sections:[{key:"model",label:"Agen & model",icon:"cpu",keywords:"override konflik rebase merge lead operator obrolan portal jatah orkestrasi fase effort model runtime"}]},{key:"integrasi",label:"Integrasi & akses",icon:"webhook",sections:[{key:"agent",label:"Akses AI Agent",icon:"bot",keywords:"token agent capability mcp master switch"},{key:"telegram",label:"Telegram",icon:"send",keywords:"bot token chat allowlist gateway operator agen progress uji koneksi"},{key:"webhook",label:"Webhook",icon:"webhook",keywords:"endpoint secret peristiwa pengiriman dokumentasi"},{key:"akses-klien",label:"Akses klien",icon:"user-check",keywords:"portal klien grant lihat tulis mulai sesi"},{key:"perangkat",label:"Perangkat",icon:"key-round",keywords:"token perangkat sinkron server pusat"},{key:"kendali-jarak-jauh",label:"Kendali jarak jauh",icon:"shield",keywords:"izin server pusat perangkat kendali"}]},{key:"lanjutan",label:"Lanjutan",icon:"sliders-horizontal",collapsible:!0,sections:[{key:"akun",label:"Akun",icon:"user-round",keywords:"password email logout ganti masuk"},{key:"users",label:"Pengguna",icon:"users",keywords:"undang hapus pengguna email password"},{key:"setup",label:"Setup awal",icon:"shield",keywords:"peruntukan hardening setup ulang"},{key:"konfigurasi",label:"Konfigurasi",icon:"sliders-horizontal",keywords:"env rahasia bootstrap sinkron runtime variabel"},{key:"aktivitas",label:"Log aktivitas",icon:"activity",keywords:"log sesi project hasil commit pr hapus"},{key:"custom-agent",label:"Custom agent",icon:"bot",keywords:"persona agen mention katalog"},{key:"zona-bahaya",label:"Zona bahaya",icon:"alert-triangle",keywords:"reset default kembalikan semua setelan"}]}],L="sesi",oe=S.flatMap(e=>e.sections.map(t=>t.key)),D=e=>oe.includes(e),ue=new Map([["umum","sesi"],["orkestrasi","model"]]);function je(e){if(typeof e!="string")return L;const t=ue.get(e)??e;return D(t)?t:L}function ce(e){return S.find(t=>t.sections.some(n=>n.key===e))??S[0]}function de(e){return S.flatMap(n=>n.sections).find(n=>n.key===e)??S[0].sections[0]}function Ne(e){const t=ce(e);return t.sections.length>1?`${t.label} · ${de(e).label}`:t.label}function Ae(e){const t=new URLSearchParams(e.replace(/^#/,"")).get("bagian");return t&&D(t)?t:null}const Te=e=>X(e).map(t=>({value:t,label:t==="xhigh"?"x-high":t})),we=e=>Z(W,e),fe=(e,t)=>{const n=q(e,t);return n===t?{}:{effort:n}},Le=[{value:"blip",label:"Blip · 0.1s"},{value:"pop",label:"Pop · 0.1s"},{value:"short",label:"Short · 0.15s"},{value:"ping",label:"Ping · 0.2s"},{value:"coin",label:"Coin · 0.3s"},{value:"alert",label:"Alert · 0.3s"},{value:"medium",label:"Medium · 0.4s"},{value:"chime",label:"Chime · 0.4s"},{value:"success",label:"Success · 0.4s"},{value:"bell",label:"Bell · 0.5s"},{value:"marimba",label:"Marimba · 0.6s"},{value:"long",label:"Long · 0.8s"},{value:"fanfare",label:"Fanfare · 0.9s"},{value:"off",label:"Senyap"}],De={model:"sonnet",effort:"medium",autoDefault:!0,autoScaffold:!0,notifyFail:!0,notifyDone:!0,notifySound:"short",notifyDecision:!0,notifyDecisionSound:"alert",notifyDecisionTelegram:!0,agentAccessEnabled:!1,scheduler:Y,goal:V,agent:"claude",codex:K,antigravity:H,verifyScope:"changed",method:z,conflict:G,lead:B,telegram:P,portalChat:$,orchestration:U,remoteControl:M,logShipping:R,logRetention:O,builtinAgents:{},builtinAgentPolicies:{},builtinRuntimeDefaults:I};function ge({save:e}){if(e.status==="idle")return null;if(e.status==="error")return a.jsxs("span",{className:"hn-set-save hn-set-save--err",role:"status","data-testid":"save-status",children:["Gagal — coba lagi",a.jsx(J,{size:"sm",variant:"ghost",leftIcon:"refresh-cw",onClick:e.retry,children:"Coba lagi"})]});const t=e.status==="saved"?"Tersimpan":"Menyimpan…",n=e.status==="saved"?"hn-set-save--ok":"hn-set-save--pending";return a.jsx("span",{className:`hn-set-save ${n}`,role:"status","data-testid":"save-status",children:t})}function he({text:e}){return a.jsx(a.Fragment,{children:e.split(/`([^`]+)`/).map((t,n)=>n%2===1?a.jsx("code",{className:"hn-set-mono hn-set-codeinline",children:t},n):t)})}function x({title:e,desc:t,children:n,last:r,save:c,search:o}){return a.jsxs("div",{className:`hn-setting-row hn-set-row${r?" hn-set-row--last":""}`,"data-setting-row":!0,"data-search":`${e} ${t??""} ${o??""}`,children:[a.jsxs("div",{className:"hn-set-row-text",children:[a.jsx("div",{className:"hn-set-row-title",children:e}),t&&a.jsx("div",{className:"hn-set-row-desc",children:a.jsx(he,{text:t})}),c&&a.jsx(ge,{save:c})]}),a.jsx("div",{className:"hn-setting-control hn-set-row-control",children:n})]})}function Ce({id:e,text:t}){return t?a.jsx("div",{id:e,className:"hn-set-hint",children:t}):null}function _e({children:e}){return a.jsx("div",{className:"hn-set-note",children:e})}function me({children:e}){return a.jsx("div",{className:"hn-set-prose",children:e})}const ke=400,ve=1800;function y(e){const t=f.useRef(e);t.current=e;const[n,r]=f.useState(null),c=f.useRef(e.value),[o,l]=f.useState("idle"),u=f.useRef(0),g=f.useRef(null),s=f.useRef(null),h=f.useRef(null),m=f.useRef(null),d=f.useRef(!1),k=f.useRef(0),v=()=>{s.current&&(clearTimeout(s.current),s.current=null)},j=()=>{h.current&&(clearTimeout(h.current),h.current=null)},N=(i,p)=>{if(v(),k.current===0&&Object.is(i,t.current.value)){p===u.current&&(g.current=null,r(null),l("idle"));return}k.current++,l("saving"),Promise.resolve(t.current.save(i)).then(E=>{k.current--,!(!d.current||p!==u.current)&&(g.current=null,E?(m.current=null,r({v:i,settled:!0}),l("saved"),j(),h.current=setTimeout(()=>{h.current=null,d.current&&l(b=>b==="saved"?"idle":b)},ve)):(m.current={v:i},r(null),l("error")))})},T=i=>{const p=++u.current;g.current={v:i,id:p},m.current=null,j(),r({v:i,settled:!1}),v();const E=t.current.delayMs??ke;if(E<=0){N(i,p);return}l("pending"),s.current=setTimeout(()=>{s.current=null;const b=g.current;b&&N(b.v,b.id)},E)};f.useEffect(()=>{Object.is(c.current,e.value)||(c.current=e.value,r(i=>i&&i.settled?null:i))},[e.value]);const C=()=>{const i=g.current;!s.current||!i||N(i.v,i.id)},_=()=>{const i=m.current;i&&T(i.v)};return f.useEffect(()=>(d.current=!0,()=>{d.current=!1;const i=g.current;s.current&&i&&(v(),Promise.resolve(t.current.save(i.v))),j()}),[]),{value:n?n.v:e.value,set:T,flush:C,status:o,retry:_}}function be({model:e,codexVer:t}){var r;const n=(t==null?void 0:t.version)??null;return re(e,n)?a.jsxs("div",{"data-testid":"codex-version-note",className:"hn-set-codex-note",children:["Codex CLI terpasang ",a.jsx("b",{children:n}),", sedangkan ",a.jsx("b",{children:e})," butuh ",a.jsx("b",{children:(r=ie(e))==null?void 0:r.minClient}),". Sesi tetap boleh dijalankan, tapi modelnya belum tentu dikenali CLI ini. Perbarui dengan ",a.jsx("code",{children:"npm i -g @openai/codex@latest"}),"."]}):null}function Fe({id:e,label:t,active:n}){return a.jsxs("div",{className:"hn-set-agent-head",children:[a.jsx("div",{className:"hn-set-agent-name",children:t}),a.jsx("span",{"data-testid":`agent-badge-${e}`,className:`hn-set-agent-badge${n?" hn-set-agent-badge--on":""}`,children:n?"dipakai sesi baru":"tidak dipakai sekarang"})]})}function Ie({engine:e,labels:t,defaults:n,codexVer:r,save:c}){const o=y({value:e.agent,delayMs:0,save:s=>{const h=n[s];return c({agent:s,model:h.model,effort:s==="claude"?h.effort:w(s,h.model,h.effort)},`${t.msg.agent} → ${s}`)}}),l=y({value:e.model,delayMs:0,save:s=>c({model:s,...e.agent==="claude"?fe(s,e.effort):{effort:w(e.agent,s,e.effort)}},`${t.msg.model} → ${s}`)}),u=y({value:e.effort,delayMs:0,save:s=>c({effort:s},`${t.msg.effort} → ${s}`)}),g=o.value==="codex";return a.jsxs(a.Fragment,{children:[a.jsx(x,{title:t.agentTitle,desc:t.agentDesc,save:o,children:a.jsx(A,{size:"sm","aria-label":t.aria.agent,value:o.value,className:"hn-set-w-sm",options:ae,onChange:s=>o.set(s.target.value)})}),g&&a.jsx(be,{model:l.value,codexVer:r}),o.value==="antigravity"&&a.jsx(pe,{}),a.jsx(x,{title:"Model",save:l,children:a.jsx(A,{size:"sm","aria-label":t.aria.model,value:l.value,className:"hn-set-w-sm",options:se(o.value,l.value),onChange:s=>l.set(s.target.value)})}),a.jsx(x,{title:"Effort",desc:t.effortDesc,last:!0,save:u,children:a.jsx(A,{size:"sm","aria-label":t.aria.effort,value:u.value,className:"hn-set-w-xs",options:ne(o.value,l.value).map(s=>({value:s,label:s==="xhigh"?"x-high":s})),onChange:s=>u.set(s.target.value)})})]})}function Oe({eyebrow:e,title:t,desc:n,toggleTitle:r="Pakai setelan sendiri",toggleDesc:c,toggleAria:o,enabled:l,onToggle:u,inherited:g,inheritedTestId:s,children:h}){const m=y({value:l,delayMs:0,save:d=>u(d)});return a.jsxs(ee,{eyebrow:e,title:t,"data-setting-card":!0,"data-search":`${t} ${e}`,children:[a.jsx(me,{children:n}),a.jsx(x,{title:r,desc:c,save:m,last:!m.value,children:a.jsx(te,{"aria-label":o,checked:m.value,onChange:d=>m.set(d)})}),m.value?h:g?a.jsx("div",{"data-testid":s,className:"hn-set-inherited",children:g}):null]})}function Re({label:e,value:t,min:n,max:r,placeholder:c,width:o,onCommit:l,onToast:u}){const[g,s]=f.useState(String(t));f.useEffect(()=>s(String(t)),[t]);const h=y({value:t,delayMs:0,save:d=>l(d)}),m=()=>{const d=g.trim(),k=d===""?NaN:Math.floor(Number(d));if(!Number.isFinite(k)||k<n){u==null||u(`${e}: isi angka ${n} atau lebih. Nilai sebelumnya dipertahankan.`,"warn","alert-triangle"),s(String(t));return}const v=Math.min(k,r);v!==k&&(u==null||u(`${e} dibatasi ke ${r}.`,"warn","alert-triangle"),s(String(v))),v!==t&&h.set(v)};return a.jsx(le,{"aria-label":e,type:"number",min:n,max:r,placeholder:c,className:o??"hn-set-w-xs",value:g,onChange:d=>s(d.target.value),onBlur:m,onKeyDown:d=>{d.key==="Enter"&&m()}})}function pe({info:e}){const[t,n]=f.useState(null);f.useEffect(()=>{var o,l;if(e!==void 0)return;let c=!0;return(l=(o=Q).getAntigravityVersion)==null||l.call(o).then(u=>{c&&n(u)}).catch(()=>{c&&n({version:null,error:"Versi Antigravity tidak dapat diperiksa."})}),()=>{c=!1}},[e]);const r=e===void 0?t:e;return a.jsxs("div",{role:"status","data-testid":"antigravity-version-note",className:"hn-set-codex-note",children:["Antigravity CLI · versi ",(r==null?void 0:r.version)??"tak terdeteksi",". ",r==null?void 0:r.error,a.jsx("p",{children:"Host/lab saja; sandbox belum didukung. Mode goal native belum didukung. Telemetri native tidak diketahui."}),a.jsx("a",{href:"https://antigravity.google/docs/cli",target:"_blank",rel:"noreferrer",children:"Panduan pemasangan dan login resmi"})]})}export{pe as A,Ce as B,be as C,L as D,Ie as E,Oe as F,Re as N,me as P,S,x as a,Le as b,fe as c,Fe as d,xe as e,we as f,Te as g,_e as h,De as i,ce as j,je as n,Ae as r,Ne as s,y as u};
|
|
1
|
+
import{ci as F,cj as I,ck as O,cl as R,cm as M,cn as U,b$ as $,bY as P,bZ as B,b_ as G,co as z,a6 as H,a7 as K,cp as V,bc as Y,cq as q,bT as Z,cr as W,cs as X,j as a,B as J,h as Q,aI as ee,b2 as te,ae as w,g as A,a9 as ae,aa as se,ab as ne,ac as re,ad as ie,f as le}from"./index-kLq09yz-.js";import{R as f}from"./react-DfGhg7ZW.js";import"./markdown-CWEY34jk.js";const xe=F,S=[{key:"sesi",label:"Sesi harian",icon:"bell",sections:[{key:"sesi",label:"Sesi harian",icon:"bell",keywords:"notifikasi suara selesai keputusan gagal full-auto scaffold agen model default effort goal kondisi verifikasi scope metode workflow"}]},{key:"model",label:"Agen & model",icon:"cpu",sections:[{key:"model",label:"Agen & model",icon:"cpu",keywords:"override konflik rebase merge lead operator obrolan portal jatah orkestrasi fase effort model runtime"}]},{key:"integrasi",label:"Integrasi & akses",icon:"webhook",sections:[{key:"agent",label:"Akses AI Agent",icon:"bot",keywords:"token agent capability mcp master switch"},{key:"telegram",label:"Telegram",icon:"send",keywords:"bot token chat allowlist gateway operator agen progress uji koneksi"},{key:"webhook",label:"Webhook",icon:"webhook",keywords:"endpoint secret peristiwa pengiriman dokumentasi"},{key:"akses-klien",label:"Akses klien",icon:"user-check",keywords:"portal klien grant lihat tulis mulai sesi"},{key:"perangkat",label:"Perangkat",icon:"key-round",keywords:"token perangkat sinkron server pusat"},{key:"kendali-jarak-jauh",label:"Kendali jarak jauh",icon:"shield",keywords:"izin server pusat perangkat kendali"}]},{key:"lanjutan",label:"Lanjutan",icon:"sliders-horizontal",collapsible:!0,sections:[{key:"akun",label:"Akun",icon:"user-round",keywords:"password email logout ganti masuk"},{key:"users",label:"Pengguna",icon:"users",keywords:"undang hapus pengguna email password"},{key:"setup",label:"Setup awal",icon:"shield",keywords:"peruntukan hardening setup ulang"},{key:"konfigurasi",label:"Konfigurasi",icon:"sliders-horizontal",keywords:"env rahasia bootstrap sinkron runtime variabel"},{key:"aktivitas",label:"Log aktivitas",icon:"activity",keywords:"log sesi project hasil commit pr hapus"},{key:"custom-agent",label:"Custom agent",icon:"bot",keywords:"persona agen mention katalog"},{key:"zona-bahaya",label:"Zona bahaya",icon:"alert-triangle",keywords:"reset default kembalikan semua setelan"}]}],L="sesi",oe=S.flatMap(e=>e.sections.map(t=>t.key)),D=e=>oe.includes(e),ue=new Map([["umum","sesi"],["orkestrasi","model"]]);function je(e){if(typeof e!="string")return L;const t=ue.get(e)??e;return D(t)?t:L}function ce(e){return S.find(t=>t.sections.some(n=>n.key===e))??S[0]}function de(e){return S.flatMap(n=>n.sections).find(n=>n.key===e)??S[0].sections[0]}function Ne(e){const t=ce(e);return t.sections.length>1?`${t.label} · ${de(e).label}`:t.label}function Ae(e){const t=new URLSearchParams(e.replace(/^#/,"")).get("bagian");return t&&D(t)?t:null}const Te=e=>X(e).map(t=>({value:t,label:t==="xhigh"?"x-high":t})),we=e=>Z(W,e),fe=(e,t)=>{const n=q(e,t);return n===t?{}:{effort:n}},Le=[{value:"blip",label:"Blip · 0.1s"},{value:"pop",label:"Pop · 0.1s"},{value:"short",label:"Short · 0.15s"},{value:"ping",label:"Ping · 0.2s"},{value:"coin",label:"Coin · 0.3s"},{value:"alert",label:"Alert · 0.3s"},{value:"medium",label:"Medium · 0.4s"},{value:"chime",label:"Chime · 0.4s"},{value:"success",label:"Success · 0.4s"},{value:"bell",label:"Bell · 0.5s"},{value:"marimba",label:"Marimba · 0.6s"},{value:"long",label:"Long · 0.8s"},{value:"fanfare",label:"Fanfare · 0.9s"},{value:"off",label:"Senyap"}],De={model:"sonnet",effort:"medium",autoDefault:!0,autoScaffold:!0,notifyFail:!0,notifyDone:!0,notifySound:"short",notifyDecision:!0,notifyDecisionSound:"alert",notifyDecisionTelegram:!0,agentAccessEnabled:!1,scheduler:Y,goal:V,agent:"claude",codex:K,antigravity:H,verifyScope:"changed",method:z,conflict:G,lead:B,telegram:P,portalChat:$,orchestration:U,remoteControl:M,logShipping:R,logRetention:O,builtinAgents:{},builtinAgentPolicies:{},builtinRuntimeDefaults:I};function ge({save:e}){if(e.status==="idle")return null;if(e.status==="error")return a.jsxs("span",{className:"hn-set-save hn-set-save--err",role:"status","data-testid":"save-status",children:["Gagal — coba lagi",a.jsx(J,{size:"sm",variant:"ghost",leftIcon:"refresh-cw",onClick:e.retry,children:"Coba lagi"})]});const t=e.status==="saved"?"Tersimpan":"Menyimpan…",n=e.status==="saved"?"hn-set-save--ok":"hn-set-save--pending";return a.jsx("span",{className:`hn-set-save ${n}`,role:"status","data-testid":"save-status",children:t})}function he({text:e}){return a.jsx(a.Fragment,{children:e.split(/`([^`]+)`/).map((t,n)=>n%2===1?a.jsx("code",{className:"hn-set-mono hn-set-codeinline",children:t},n):t)})}function x({title:e,desc:t,children:n,last:r,save:c,search:o}){return a.jsxs("div",{className:`hn-setting-row hn-set-row${r?" hn-set-row--last":""}`,"data-setting-row":!0,"data-search":`${e} ${t??""} ${o??""}`,children:[a.jsxs("div",{className:"hn-set-row-text",children:[a.jsx("div",{className:"hn-set-row-title",children:e}),t&&a.jsx("div",{className:"hn-set-row-desc",children:a.jsx(he,{text:t})}),c&&a.jsx(ge,{save:c})]}),a.jsx("div",{className:"hn-setting-control hn-set-row-control",children:n})]})}function Ce({id:e,text:t}){return t?a.jsx("div",{id:e,className:"hn-set-hint",children:t}):null}function _e({children:e}){return a.jsx("div",{className:"hn-set-note",children:e})}function me({children:e}){return a.jsx("div",{className:"hn-set-prose",children:e})}const ke=400,ve=1800;function y(e){const t=f.useRef(e);t.current=e;const[n,r]=f.useState(null),c=f.useRef(e.value),[o,l]=f.useState("idle"),u=f.useRef(0),g=f.useRef(null),s=f.useRef(null),h=f.useRef(null),m=f.useRef(null),d=f.useRef(!1),k=f.useRef(0),v=()=>{s.current&&(clearTimeout(s.current),s.current=null)},j=()=>{h.current&&(clearTimeout(h.current),h.current=null)},N=(i,p)=>{if(v(),k.current===0&&Object.is(i,t.current.value)){p===u.current&&(g.current=null,r(null),l("idle"));return}k.current++,l("saving"),Promise.resolve(t.current.save(i)).then(E=>{k.current--,!(!d.current||p!==u.current)&&(g.current=null,E?(m.current=null,r({v:i,settled:!0}),l("saved"),j(),h.current=setTimeout(()=>{h.current=null,d.current&&l(b=>b==="saved"?"idle":b)},ve)):(m.current={v:i},r(null),l("error")))})},T=i=>{const p=++u.current;g.current={v:i,id:p},m.current=null,j(),r({v:i,settled:!1}),v();const E=t.current.delayMs??ke;if(E<=0){N(i,p);return}l("pending"),s.current=setTimeout(()=>{s.current=null;const b=g.current;b&&N(b.v,b.id)},E)};f.useEffect(()=>{Object.is(c.current,e.value)||(c.current=e.value,r(i=>i&&i.settled?null:i))},[e.value]);const C=()=>{const i=g.current;!s.current||!i||N(i.v,i.id)},_=()=>{const i=m.current;i&&T(i.v)};return f.useEffect(()=>(d.current=!0,()=>{d.current=!1;const i=g.current;s.current&&i&&(v(),Promise.resolve(t.current.save(i.v))),j()}),[]),{value:n?n.v:e.value,set:T,flush:C,status:o,retry:_}}function be({model:e,codexVer:t}){var r;const n=(t==null?void 0:t.version)??null;return re(e,n)?a.jsxs("div",{"data-testid":"codex-version-note",className:"hn-set-codex-note",children:["Codex CLI terpasang ",a.jsx("b",{children:n}),", sedangkan ",a.jsx("b",{children:e})," butuh ",a.jsx("b",{children:(r=ie(e))==null?void 0:r.minClient}),". Sesi tetap boleh dijalankan, tapi modelnya belum tentu dikenali CLI ini. Perbarui dengan ",a.jsx("code",{children:"npm i -g @openai/codex@latest"}),"."]}):null}function Fe({id:e,label:t,active:n}){return a.jsxs("div",{className:"hn-set-agent-head",children:[a.jsx("div",{className:"hn-set-agent-name",children:t}),a.jsx("span",{"data-testid":`agent-badge-${e}`,className:`hn-set-agent-badge${n?" hn-set-agent-badge--on":""}`,children:n?"dipakai sesi baru":"tidak dipakai sekarang"})]})}function Ie({engine:e,labels:t,defaults:n,codexVer:r,save:c}){const o=y({value:e.agent,delayMs:0,save:s=>{const h=n[s];return c({agent:s,model:h.model,effort:s==="claude"?h.effort:w(s,h.model,h.effort)},`${t.msg.agent} → ${s}`)}}),l=y({value:e.model,delayMs:0,save:s=>c({model:s,...e.agent==="claude"?fe(s,e.effort):{effort:w(e.agent,s,e.effort)}},`${t.msg.model} → ${s}`)}),u=y({value:e.effort,delayMs:0,save:s=>c({effort:s},`${t.msg.effort} → ${s}`)}),g=o.value==="codex";return a.jsxs(a.Fragment,{children:[a.jsx(x,{title:t.agentTitle,desc:t.agentDesc,save:o,children:a.jsx(A,{size:"sm","aria-label":t.aria.agent,value:o.value,className:"hn-set-w-sm",options:ae,onChange:s=>o.set(s.target.value)})}),g&&a.jsx(be,{model:l.value,codexVer:r}),o.value==="antigravity"&&a.jsx(pe,{}),a.jsx(x,{title:"Model",save:l,children:a.jsx(A,{size:"sm","aria-label":t.aria.model,value:l.value,className:"hn-set-w-sm",options:se(o.value,l.value),onChange:s=>l.set(s.target.value)})}),a.jsx(x,{title:"Effort",desc:t.effortDesc,last:!0,save:u,children:a.jsx(A,{size:"sm","aria-label":t.aria.effort,value:u.value,className:"hn-set-w-xs",options:ne(o.value,l.value).map(s=>({value:s,label:s==="xhigh"?"x-high":s})),onChange:s=>u.set(s.target.value)})})]})}function Oe({eyebrow:e,title:t,desc:n,toggleTitle:r="Pakai setelan sendiri",toggleDesc:c,toggleAria:o,enabled:l,onToggle:u,inherited:g,inheritedTestId:s,children:h}){const m=y({value:l,delayMs:0,save:d=>u(d)});return a.jsxs(ee,{eyebrow:e,title:t,"data-setting-card":!0,"data-search":`${t} ${e}`,children:[a.jsx(me,{children:n}),a.jsx(x,{title:r,desc:c,save:m,last:!m.value,children:a.jsx(te,{"aria-label":o,checked:m.value,onChange:d=>m.set(d)})}),m.value?h:g?a.jsx("div",{"data-testid":s,className:"hn-set-inherited",children:g}):null]})}function Re({label:e,value:t,min:n,max:r,placeholder:c,width:o,onCommit:l,onToast:u}){const[g,s]=f.useState(String(t));f.useEffect(()=>s(String(t)),[t]);const h=y({value:t,delayMs:0,save:d=>l(d)}),m=()=>{const d=g.trim(),k=d===""?NaN:Math.floor(Number(d));if(!Number.isFinite(k)||k<n){u==null||u(`${e}: isi angka ${n} atau lebih. Nilai sebelumnya dipertahankan.`,"warn","alert-triangle"),s(String(t));return}const v=Math.min(k,r);v!==k&&(u==null||u(`${e} dibatasi ke ${r}.`,"warn","alert-triangle"),s(String(v))),v!==t&&h.set(v)};return a.jsx(le,{"aria-label":e,type:"number",min:n,max:r,placeholder:c,className:o??"hn-set-w-xs",value:g,onChange:d=>s(d.target.value),onBlur:m,onKeyDown:d=>{d.key==="Enter"&&m()}})}function pe({info:e}){const[t,n]=f.useState(null);f.useEffect(()=>{var o,l;if(e!==void 0)return;let c=!0;return(l=(o=Q).getAntigravityVersion)==null||l.call(o).then(u=>{c&&n(u)}).catch(()=>{c&&n({version:null,error:"Versi Antigravity tidak dapat diperiksa."})}),()=>{c=!1}},[e]);const r=e===void 0?t:e;return a.jsxs("div",{role:"status","data-testid":"antigravity-version-note",className:"hn-set-codex-note",children:["Antigravity CLI · versi ",(r==null?void 0:r.version)??"tak terdeteksi",". ",r==null?void 0:r.error,a.jsx("p",{children:"Host/lab saja; sandbox belum didukung. Mode goal native belum didukung. Telemetri native tidak diketahui."}),a.jsx("a",{href:"https://antigravity.google/docs/cli",target:"_blank",rel:"noreferrer",children:"Panduan pemasangan dan login resmi"})]})}export{pe as A,Ce as B,be as C,L as D,Ie as E,Oe as F,Re as N,me as P,S,x as a,Le as b,fe as c,Fe as d,xe as e,we as f,Te as g,_e as h,De as i,ce as j,je as n,Ae as r,Ne as s,y as u};
|