@vxnus/siduri 2.0.11 → 2.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/builtin-manifests.js +3 -3
  2. package/dist/generator.js +17 -11
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/web-dist/404/index.html +1 -1
  6. package/dist/web-dist/404.html +1 -1
  7. package/dist/web-dist/__next.__PAGE__.txt +23 -23
  8. package/dist/web-dist/__next._full.txt +28 -26
  9. package/dist/web-dist/__next._tree.txt +2 -2
  10. package/dist/web-dist/_next/static/chunks/1pnv4y9qdxvph.js +1 -0
  11. package/dist/web-dist/_next/static/chunks/2hcgkjgsj4zgc.js +30 -0
  12. package/dist/web-dist/_next/static/chunks/3chy1yguuhwlh.css +1 -0
  13. package/dist/web-dist/_next/static/chunks/3s_3rro0dc9lc.js +1 -0
  14. package/dist/web-dist/_not-found/__next._full.txt +3 -3
  15. package/dist/web-dist/_not-found/__next._not-found.__PAGE__.txt +2 -2
  16. package/dist/web-dist/_not-found/__next._tree.txt +2 -2
  17. package/dist/web-dist/_not-found/index.html +1 -1
  18. package/dist/web-dist/_not-found/index.txt +3 -3
  19. package/dist/web-dist/chat/__next._full.txt +4 -4
  20. package/dist/web-dist/chat/__next._tree.txt +2 -2
  21. package/dist/web-dist/chat/__next.chat.__PAGE__.txt +3 -3
  22. package/dist/web-dist/chat/index.html +1 -1
  23. package/dist/web-dist/chat/index.txt +4 -4
  24. package/dist/web-dist/index.html +1 -1
  25. package/dist/web-dist/index.txt +28 -26
  26. package/dist/web-dist/operator/__next._full.txt +4 -4
  27. package/dist/web-dist/operator/__next._tree.txt +2 -2
  28. package/dist/web-dist/operator/__next.operator.__PAGE__.txt +3 -3
  29. package/dist/web-dist/operator/index.html +1 -1
  30. package/dist/web-dist/operator/index.txt +4 -4
  31. package/package.json +1 -1
  32. package/dist/web-dist/_next/static/chunks/0e0_fwxai4qpl.css +0 -1
  33. package/dist/web-dist/_next/static/chunks/1vumcan23qv3j.js +0 -30
  34. package/dist/web-dist/_next/static/chunks/24608ekqxlkf6.js +0 -1
  35. package/dist/web-dist/_next/static/chunks/360luxuz2x8y_.js +0 -1
  36. /package/dist/web-dist/_next/static/{8eKdJ1Ab_Aru_OUQvlD4o → EjYAMpKxmHkKLLiEb5QR9}/_buildManifest.js +0 -0
  37. /package/dist/web-dist/_next/static/{8eKdJ1Ab_Aru_OUQvlD4o → EjYAMpKxmHkKLLiEb5QR9}/_clientMiddlewareManifest.js +0 -0
  38. /package/dist/web-dist/_next/static/{8eKdJ1Ab_Aru_OUQvlD4o → EjYAMpKxmHkKLLiEb5QR9}/_ssgManifest.js +0 -0
@@ -2,31 +2,33 @@
2
2
  2:I[31790,["/_next/static/chunks/30a48dk5bjyhj.js"],"default"]
3
3
  3:I[65729,["/_next/static/chunks/30a48dk5bjyhj.js"],"default"]
4
4
  4:I[61842,["/_next/static/chunks/30a48dk5bjyhj.js","/_next/static/chunks/2dsfgoa225hpl.js"],""]
5
- f:I[58484,["/_next/static/chunks/30a48dk5bjyhj.js"],"default",1]
6
- :HL["/_next/static/chunks/0e0_fwxai4qpl.css","style"]
5
+ 11:I[58484,["/_next/static/chunks/30a48dk5bjyhj.js"],"default",1]
6
+ :HL["/_next/static/chunks/3chy1yguuhwlh.css","style"]
7
7
  :HL["https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap","style"]
8
8
  :HL["/logo-circle.svg","image"]
9
- 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0e0_fwxai4qpl.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/30a48dk5bjyhj.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"h-full antialiased dark","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full flex flex-col bg-[#0b0b0e] text-[#eee8df] selection:bg-[#d99a68]/30 selection:text-[#f4c28d]","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"home-page bg-[#09090c] min-h-screen text-[var(--siduri-text-primary)] font-sans","children":[["$","header",null,{"className":"home-nav","children":["$","div",null,{"className":"home-container home-nav-inner flex items-center justify-between py-4","children":[["$","$L4",null,{"href":"/","className":"brand-link flex items-center gap-2","aria-label":"Siduri Home","children":[["$","img",null,{"src":"/logo-circle.svg","alt":"Siduri-X Logo","className":"w-6 h-6 rounded-full shrink-0","width":24,"height":24}],["$","span",null,{"className":"font-bold tracking-widest text-sm","children":"SIDURI-X"}]]}],["$","nav",null,{"className":"nav-links flex gap-6 text-sm text-[var(--siduri-text-muted)]","aria-label":"Main Navigation","children":[["$","$L4",null,{"href":"/chat","className":"hover:text-[var(--siduri-text-primary)] transition-colors","children":"Chat"}],["$","$L4",null,{"href":"/operator","className":"hover:text-[var(--siduri-text-primary)] transition-colors","children":"Operator Console"}]]}],["$","div",null,{"children":["$","$L4",null,{"href":"/chat","className":"nav-cta inline-flex items-center gap-2 text-xs font-mono border border-[var(--siduri-border-subtle)] px-4 py-2 rounded-full hover:bg-[var(--siduri-surface)] transition-all","children":["Open Chat ",["$","span",null,{"children":"→"}]]}]}]]}]}],["$","main",null,{"children":[["$","section",null,{"className":"py-24 md:py-32 border-b border-[var(--siduri-border-subtle)] relative overflow-hidden","children":["$","div",null,{"className":"home-container relative z-10 text-center flex flex-col items-center","children":[["$","div",null,{"className":"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-[var(--siduri-border-ember)] bg-[var(--siduri-tint-low)] text-[var(--siduri-ember-light)] text-[10px] font-mono tracking-widest uppercase mb-8","children":[["$","span",null,{"className":"w-1.5 h-1.5 rounded-full bg-[var(--siduri-online)] shadow-[0_0_8px_rgba(127,199,154,0.6)]"}],"Standalone Companion Framework · Version 1.0"]}],"$L5","$L6","$L7"]}]}],"$L8","$L9","$La"]}],"$Lb"]}],["$Lc"],"$Ld"]}],{},null,false,null]},null,false,null],"$Le",false]],"m":"$undefined","G":["$f",["$L10"]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"8eKdJ1Ab_Aru_OUQvlD4o"}
10
- 15:I[34860,["/_next/static/chunks/30a48dk5bjyhj.js"],"OutletBoundary"]
11
- 16:"$Sreact.suspense"
12
- 18:I[34860,["/_next/static/chunks/30a48dk5bjyhj.js"],"ViewportBoundary"]
13
- 1a:I[34860,["/_next/static/chunks/30a48dk5bjyhj.js"],"MetadataBoundary"]
14
- 5:["$","h1",null,{"className":"text-4xl sm:text-5xl md:text-6xl font-normal font-serif text-[var(--siduri-text-primary)] tracking-tight leading-[1.15] mb-6 max-w-4xl","children":"A companion grown from memory, powered by modular cognition."}]
15
- 6:["$","p",null,{"className":"text-base sm:text-lg text-[var(--siduri-text-secondary)] font-sans leading-relaxed mb-10 max-w-2xl font-light","children":"Siduri-X is an intelligent companion designed with authoritative memory, atomic behavioral gating, and a strict 10-organ architecture. She starts as a blank slate and forms her identity entirely through your interactions."}]
16
- 7:["$","div",null,{"className":"flex flex-wrap justify-center items-center gap-4","children":[["$","$L4",null,{"href":"/chat","className":"inline-flex items-center gap-3 px-6 py-3.5 rounded-xl bg-[var(--siduri-ember)] text-[#1b1619] font-sans font-semibold text-sm tracking-wide transition-all hover:brightness-110 shadow-[0_4px_20px_rgba(217,154,104,0.2)]","children":["Launch Companion",["$","span",null,{"className":"font-mono text-base","children":"→"}]]}],["$","$L4",null,{"href":"/operator","className":"inline-flex items-center gap-2.5 px-6 py-3.5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] text-[var(--siduri-text-primary)] font-sans font-medium text-sm transition-all hover:border-[var(--siduri-border-ember)] hover:bg-[var(--siduri-tint-low)]","children":[["$","span",null,{"children":"⌘"}],"Operator Console"]}]]}]
17
- 8:["$","section",null,{"className":"py-20 md:py-28 border-b border-[var(--siduri-border-subtle)] bg-[#0e0e12]","children":["$","div",null,{"className":"home-container","children":[["$","div",null,{"className":"mb-14 text-center max-w-3xl mx-auto","children":[["$","p",null,{"className":"text-[10px] font-mono uppercase tracking-widest text-[var(--siduri-ember)] mb-2","children":"Decoupled Philosophy"}],["$","h2",null,{"className":"text-2xl sm:text-3xl font-serif font-normal text-[var(--siduri-text-primary)] mb-4","children":"The 10-Organ Architecture"}],["$","p",null,{"className":"text-sm text-[var(--siduri-text-secondary)] leading-relaxed","children":"Siduri is not a chatbot. She is a cognition runtime composed of independent organs. Every decision originates from the Brain, while other organs perceive, remember, act, and embody."}]]}],["$","div",null,{"className":"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-4","children":[["$","div","Brain",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Brain"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Cognition, planning, and authoritative decision making."}]]}],["$","div","Memory",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Memory"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"SQLite FTS5 authoritative storage of verified claims and episodic memory."}]]}],["$","div","Behavior",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Behavior"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Atomic directive state machine and personality projection."}]]}],["$","div","Knowledge",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Knowledge"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"External factual context and verifiable E-compatible packs."}]]}],["$","div","Hands",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Hands"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Tool execution and strict cryptographic action policy capabilities."}]]}],["$","div","Ear",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Ear"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Audio transcription, perception, and sensory input ingestion."}]]}],"$L11","$L12","$L13","$L14"]}]]}]}]
18
- 9:["$","section",null,{"className":"py-20 md:py-28 border-b border-[var(--siduri-border-subtle)]","children":["$","div",null,{"className":"home-container grid grid-cols-1 lg:grid-cols-2 gap-16 items-center","children":[["$","div",null,{"children":[["$","p",null,{"className":"text-[10px] font-mono uppercase tracking-widest text-[var(--siduri-ember)] mb-2","children":"Authoritative State"}],["$","h2",null,{"className":"text-3xl font-serif font-normal text-[var(--siduri-text-primary)] mb-5","children":"Blank Slate Identity"}],["$","p",null,{"className":"text-sm text-[var(--siduri-text-secondary)] leading-relaxed mb-6","children":"Unlike standard conversational agents, Siduri starts with no pre-baked persona. She learns, remembers, and adapts over time. When you share preferences, they are staged as structured candidates. You decide what enters her long-term memory with explicit single-click approval."}],["$","ul",null,{"className":"space-y-3 text-xs text-[var(--siduri-text-muted)] font-mono","children":[["$","li",null,{"className":"flex items-center gap-2.5","children":[["$","span",null,{"className":"text-[var(--siduri-online)]","children":""}],"No hidden relationship assumptions"]}],["$","li",null,{"className":"flex items-center gap-2.5","children":[["$","span",null,{"className":"text-[var(--siduri-online)]","children":"✓"}],"Structured episodic and semantic memory"]}],["$","li",null,{"className":"flex items-center gap-2.5","children":[["$","span",null,{"className":"text-[var(--siduri-online)]","children":"✓"}],"Full revocation and override controls"]}]]}]]}],["$","div",null,{"className":"p-8 rounded-2xl border border-[var(--siduri-border-ember)] bg-[var(--siduri-surface)] shadow-[0_10px_35px_rgba(0,0,0,0.4)] relative","children":[["$","div",null,{"className":"absolute top-0 right-8 -translate-y-1/2 bg-[var(--siduri-bg)] px-3 text-[10px] font-mono text-[var(--siduri-ember)] tracking-widest uppercase","children":"Operator View"}],["$","div",null,{"className":"space-y-4 font-mono text-xs","children":["$","div",null,{"className":"p-3 border border-[var(--siduri-border-subtle)] rounded bg-[#13131a]","children":[["$","div",null,{"className":"text-[var(--siduri-text-muted)] mb-1","children":"Incoming Claim"}],["$","div",null,{"className":"text-[var(--siduri-online)] font-bold","children":"\"User prefers concise, technical explanations.\""}],["$","div",null,{"className":"flex gap-2 mt-3","children":[["$","span",null,{"className":"bg-[var(--siduri-online)] text-black px-2 py-0.5 rounded font-bold cursor-pointer","children":"APPROVE"}],["$","span",null,{"className":"border border-[var(--siduri-border-subtle)] text-[var(--siduri-text-muted)] px-2 py-0.5 rounded cursor-pointer","children":"REJECT"}]]}]]}]}]]}]]}]}]
19
- a:["$","section",null,{"className":"py-20 md:py-28 bg-[#09090c]","children":["$","div",null,{"className":"home-container text-center max-w-2xl mx-auto","children":[["$","h2",null,{"className":"text-3xl sm:text-4xl font-serif font-normal text-[var(--siduri-text-primary)] mb-5","children":"Private, local, and yours."}],["$","p",null,{"className":"text-sm text-[var(--siduri-text-secondary)] leading-relaxed mb-8","children":"Siduri is designed for local-first operations and explicit consent. The CLI dynamically generates a standalone companion instance leveraging only the organ packages you need. Run it completely on your own machine."}],["$","div",null,{"className":"bg-[#13131a] p-4 rounded-xl border border-[var(--siduri-border-subtle)] inline-block text-left text-sm font-mono text-[var(--siduri-text-primary)] shadow-lg mx-auto","children":[["$","span",null,{"className":"text-emerald-400","children":"$$"}]," npx @vxnus/siduri create my-companion"]}]]}]}]
20
- b:["$","footer",null,{"className":"py-14 border-t border-[var(--siduri-border-subtle)] bg-[#0e0e12]","children":["$","div",null,{"className":"home-container flex flex-col sm:flex-row items-center justify-between gap-6","children":[["$","div",null,{"className":"flex items-center gap-3","children":[["$","img",null,{"src":"/logo-circle.svg","alt":"Siduri-X Logo","className":"w-5 h-5 rounded-full shrink-0","width":20,"height":20}],["$","span",null,{"className":"font-bold tracking-widest text-xs text-[var(--siduri-text-primary)]","children":"SIDURI-X"}]]}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-dim)] font-sans text-center sm:text-left","children":"Local-first AI companion framework."}],["$","div",null,{"className":"flex items-center gap-5 text-xs text-[var(--siduri-text-muted)]","children":[["$","$L4",null,{"href":"/chat","className":"hover:text-[var(--siduri-text-primary)]","children":"Chat"}],["$","$L4",null,{"href":"/operator","className":"hover:text-[var(--siduri-text-primary)]","children":"Operator"}]]}]]}]}]
21
- c:["$","script","script-0",{"src":"/_next/static/chunks/2dsfgoa225hpl.js","async":true,"nonce":"$undefined"}]
22
- d:["$","$L15",null,{"children":["$","$16",null,{"name":"Next.MetadataOutlet","children":"$@17"}]}]
23
- e:["$","$1","h",{"children":[null,["$","$L18",null,{"children":"$L19"}],["$","div",null,{"hidden":true,"children":["$","$L1a",null,{"children":["$","$16",null,{"name":"Next.Metadata","children":"$L1b"}]}]}],null]}]
24
- 10:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/0e0_fwxai4qpl.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
25
- 11:["$","div","Vision",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Vision"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Visual observation, cropping, and OCR interpretation."}]]}]
26
- 12:["$","div","Voice",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Voice"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Queued speech synthesis (Edge-TTS, Kokoro, Piper, VOICEVOX) and auditory expression."}]]}]
27
- 13:["$","div","Body",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Body"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Renderer-agnostic avatar expression (Live2D) and embodiment."}]]}]
28
- 14:["$","div","Observation",{"className":"p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Observation"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Event frame deduplication and real-time evidence extraction."}]]}]
29
- 19:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
30
- 1c:I[71375,["/_next/static/chunks/30a48dk5bjyhj.js"],"IconMark"]
31
- 17:null
32
- 1b:[["$","title","0",{"children":"Siduri — Local-First Companion"}],["$","meta","1",{"name":"description","content":"Siduri — a local-first companion with explicit memory, grounded knowledge, and optional presence."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.3rlors1ui1gw9.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","3",{"rel":"icon","href":"/favicon.ico"}],["$","link","4",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","5",{"rel":"apple-touch-icon","href":"/apple-touch-icon.png"}],["$","$L1c","6",{}]]
9
+ 0:{"P":null,"c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3chy1yguuhwlh.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/30a48dk5bjyhj.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"h-full antialiased dark","children":[["$","head",null,{"children":[["$","link",null,{"rel":"preconnect","href":"https://fonts.googleapis.com"}],["$","link",null,{"rel":"preconnect","href":"https://fonts.gstatic.com","crossOrigin":"anonymous"}],["$","link",null,{"href":"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap","rel":"stylesheet"}]]}],["$","body",null,{"className":"min-h-full flex flex-col bg-[#0b0b0e] text-[#eee8df] selection:bg-[#d99a68]/30 selection:text-[#f4c28d]","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","div",null,{"className":"home-page bg-[#09090c] min-h-screen text-[var(--siduri-text-primary)] font-sans","children":[["$","header",null,{"className":"home-nav","children":["$","div",null,{"className":"home-container home-nav-inner flex items-center justify-between py-3 sm:py-4","children":[["$","$L4",null,{"href":"/","className":"brand-link flex items-center gap-2","aria-label":"Siduri Home","children":[["$","img",null,{"src":"/logo-circle.svg","alt":"Siduri-X Logo","className":"w-6 h-6 rounded-full shrink-0","width":24,"height":24}],["$","span",null,{"className":"font-bold tracking-widest text-sm","children":"SIDURI-X"}]]}],["$","nav",null,{"className":"nav-links hidden sm:flex gap-6 text-sm text-[var(--siduri-text-muted)]","aria-label":"Main Navigation","children":[["$","$L4",null,{"href":"/chat","className":"hover:text-[var(--siduri-text-primary)] transition-colors","children":"Chat"}],["$","$L4",null,{"href":"/operator","className":"hover:text-[var(--siduri-text-primary)] transition-colors","children":"Operator Console"}]]}],["$","div",null,{"className":"flex items-center gap-3","children":["$","$L4",null,{"href":"/chat","className":"nav-cta inline-flex items-center gap-2 text-xs font-mono border border-[var(--siduri-border-subtle)] px-3 sm:px-4 py-2 rounded-full hover:bg-[var(--siduri-surface)] transition-all","children":[["$","span",null,{"children":"Chat"}]," ",["$","span",null,{"aria-hidden":"true","children":"→"}]]}]}]]}]}],["$","main",null,{"children":[["$","section",null,{"className":"py-16 sm:py-24 md:py-32 border-b border-[var(--siduri-border-subtle)] relative overflow-hidden","children":["$","div",null,{"className":"home-container relative z-10 text-center flex flex-col items-center","children":[["$","div",null,{"className":"inline-flex items-center gap-2 px-3 py-1 rounded-full border border-[var(--siduri-border-ember)] bg-[var(--siduri-tint-low)] text-[var(--siduri-ember-light)] text-[10px] font-mono tracking-widest uppercase mb-6 sm:mb-8 text-center max-w-full","children":["$L5","$L6"]}],"$L7","$L8","$L9"]}]}],"$La","$Lb","$Lc"]}],"$Ld"]}],["$Le"],"$Lf"]}],{},null,false,null]},null,false,null],"$L10",false]],"m":"$undefined","G":["$11",["$L12"]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"EjYAMpKxmHkKLLiEb5QR9"}
10
+ 17:I[34860,["/_next/static/chunks/30a48dk5bjyhj.js"],"OutletBoundary"]
11
+ 18:"$Sreact.suspense"
12
+ 1a:I[34860,["/_next/static/chunks/30a48dk5bjyhj.js"],"ViewportBoundary"]
13
+ 1c:I[34860,["/_next/static/chunks/30a48dk5bjyhj.js"],"MetadataBoundary"]
14
+ 5:["$","span",null,{"className":"w-1.5 h-1.5 rounded-full bg-[var(--siduri-online)] shadow-[0_0_8px_rgba(127,199,154,0.6)] shrink-0"}]
15
+ 6:["$","span",null,{"className":"truncate","children":"Standalone Companion · Version 1.0"}]
16
+ 7:["$","h1",null,{"className":"text-3xl sm:text-5xl md:text-6xl font-normal font-serif text-[var(--siduri-text-primary)] tracking-tight leading-[1.2] sm:leading-[1.15] mb-6 max-w-4xl px-2","children":"A companion grown from memory, powered by modular cognition."}]
17
+ 8:["$","p",null,{"className":"text-sm sm:text-lg text-[var(--siduri-text-secondary)] font-sans leading-relaxed mb-8 sm:mb-10 max-w-2xl font-light px-2","children":"Siduri-X is an intelligent companion designed with authoritative memory, atomic behavioral gating, and a strict 10-organ architecture. She starts as a blank slate and forms her identity entirely through your interactions."}]
18
+ 9:["$","div",null,{"className":"flex flex-col sm:flex-row justify-center items-stretch sm:items-center gap-3 sm:gap-4 w-full max-w-md sm:max-w-none px-4","children":[["$","$L4",null,{"href":"/chat","className":"inline-flex justify-center items-center gap-3 px-6 py-3.5 rounded-xl bg-[var(--siduri-ember)] text-[#1b1619] font-sans font-semibold text-sm tracking-wide transition-all hover:brightness-110 shadow-[0_4px_20px_rgba(217,154,104,0.2)]","children":["Launch Companion",["$","span",null,{"className":"font-mono text-base","children":""}]]}],["$","$L4",null,{"href":"/operator","className":"inline-flex justify-center items-center gap-2.5 px-6 py-3.5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] text-[var(--siduri-text-primary)] font-sans font-medium text-sm transition-all hover:border-[var(--siduri-border-ember)] hover:bg-[var(--siduri-tint-low)]","children":[["$","span",null,{"children":""}],"Operator Console"]}]]}]
19
+ a:["$","section",null,{"className":"py-20 md:py-28 border-b border-[var(--siduri-border-subtle)] bg-[#0e0e12]","children":["$","div",null,{"className":"home-container","children":[["$","div",null,{"className":"mb-14 text-center max-w-3xl mx-auto","children":[["$","p",null,{"className":"text-[10px] font-mono uppercase tracking-widest text-[var(--siduri-ember)] mb-2","children":"Decoupled Philosophy"}],["$","h2",null,{"className":"text-2xl sm:text-3xl font-serif font-normal text-[var(--siduri-text-primary)] mb-4","children":"The 10-Organ Architecture"}],["$","p",null,{"className":"text-sm text-[var(--siduri-text-secondary)] leading-relaxed","children":"Siduri is not a chatbot. She is a cognition runtime composed of independent organs. Every decision originates from the Brain, while other organs perceive, remember, act, and embody."}]]}],["$","div",null,{"className":"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-3 sm:gap-4","children":[["$","div","Brain",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Brain"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Cognition, planning, and authoritative decision making."}]]}],["$","div","Memory",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Memory"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"SQLite FTS5 authoritative storage of verified claims and episodic memory."}]]}],["$","div","Behavior",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Behavior"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Atomic directive state machine and personality projection."}]]}],["$","div","Knowledge",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Knowledge"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"External factual context and verifiable E-compatible packs."}]]}],["$","div","Hands",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Hands"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Tool execution and strict cryptographic action policy capabilities."}]]}],["$","div","Ear",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Ear"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Audio transcription, perception, and sensory input ingestion."}]]}],"$L13","$L14","$L15","$L16"]}]]}]}]
20
+ b:["$","section",null,{"className":"py-16 sm:py-20 md:py-28 border-b border-[var(--siduri-border-subtle)]","children":["$","div",null,{"className":"home-container grid grid-cols-1 lg:grid-cols-2 gap-10 sm:gap-16 items-center","children":[["$","div",null,{"children":[["$","p",null,{"className":"text-[10px] font-mono uppercase tracking-widest text-[var(--siduri-ember)] mb-2","children":"Authoritative State"}],["$","h2",null,{"className":"text-2xl sm:text-3xl font-serif font-normal text-[var(--siduri-text-primary)] mb-5","children":"Blank Slate Identity"}],["$","p",null,{"className":"text-sm text-[var(--siduri-text-secondary)] leading-relaxed mb-6","children":"Unlike standard conversational agents, Siduri starts with no pre-baked persona. She learns, remembers, and adapts over time. When you share preferences, they are staged as structured candidates. You decide what enters her long-term memory with explicit single-click approval."}],["$","ul",null,{"className":"space-y-3 text-xs text-[var(--siduri-text-muted)] font-mono","children":[["$","li",null,{"className":"flex items-center gap-2.5","children":[["$","span",null,{"className":"text-[var(--siduri-online)]","children":"✓"}],"No hidden relationship assumptions"]}],["$","li",null,{"className":"flex items-center gap-2.5","children":[["$","span",null,{"className":"text-[var(--siduri-online)]","children":"✓"}],"Structured episodic and semantic memory"]}],["$","li",null,{"className":"flex items-center gap-2.5","children":[["$","span",null,{"className":"text-[var(--siduri-online)]","children":"✓"}],"Full revocation and override controls"]}]]}]]}],["$","div",null,{"className":"p-5 sm:p-8 rounded-2xl border border-[var(--siduri-border-ember)] bg-[var(--siduri-surface)] shadow-[0_10px_35px_rgba(0,0,0,0.4)] relative","children":[["$","div",null,{"className":"absolute top-0 right-6 sm:right-8 -translate-y-1/2 bg-[var(--siduri-bg)] px-3 text-[10px] font-mono text-[var(--siduri-ember)] tracking-widest uppercase","children":"Operator View"}],["$","div",null,{"className":"space-y-4 font-mono text-xs","children":["$","div",null,{"className":"p-3 border border-[var(--siduri-border-subtle)] rounded bg-[#13131a]","children":[["$","div",null,{"className":"text-[var(--siduri-text-muted)] mb-1","children":"Incoming Claim"}],["$","div",null,{"className":"text-[var(--siduri-online)] font-bold break-words","children":"“User prefers concise, technical explanations.”"}],["$","div",null,{"className":"flex flex-wrap gap-2 mt-3","children":[["$","span",null,{"className":"bg-[var(--siduri-online)] text-black px-2.5 py-1 rounded font-bold cursor-pointer text-xs","children":"APPROVE"}],["$","span",null,{"className":"border border-[var(--siduri-border-subtle)] text-[var(--siduri-text-muted)] px-2.5 py-1 rounded cursor-pointer text-xs","children":"REJECT"}]]}]]}]}]]}]]}]}]
21
+ c:["$","section",null,{"className":"py-16 sm:py-20 md:py-28 bg-[#09090c]","children":["$","div",null,{"className":"home-container text-center max-w-2xl mx-auto px-4","children":[["$","h2",null,{"className":"text-2xl sm:text-4xl font-serif font-normal text-[var(--siduri-text-primary)] mb-5","children":"Private, local, and yours."}],["$","p",null,{"className":"text-sm text-[var(--siduri-text-secondary)] leading-relaxed mb-8","children":"Siduri is designed for local-first operations and explicit consent. The CLI dynamically generates a standalone companion instance leveraging only the organ packages you need. Run it completely on your own machine."}],["$","div",null,{"className":"bg-[#13131a] p-3.5 sm:p-4 rounded-xl border border-[var(--siduri-border-subtle)] inline-block text-left text-xs sm:text-sm font-mono text-[var(--siduri-text-primary)] shadow-lg mx-auto max-w-full overflow-x-auto","children":[["$","span",null,{"className":"text-emerald-400","children":"$$"}]," npx @vxnus/siduri create my-companion"]}]]}]}]
22
+ d:["$","footer",null,{"className":"py-14 border-t border-[var(--siduri-border-subtle)] bg-[#0e0e12]","children":["$","div",null,{"className":"home-container flex flex-col sm:flex-row items-center justify-between gap-6","children":[["$","div",null,{"className":"flex items-center gap-3","children":[["$","img",null,{"src":"/logo-circle.svg","alt":"Siduri-X Logo","className":"w-5 h-5 rounded-full shrink-0","width":20,"height":20}],["$","span",null,{"className":"font-bold tracking-widest text-xs text-[var(--siduri-text-primary)]","children":"SIDURI-X"}]]}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-dim)] font-sans text-center sm:text-left","children":"Local-first AI companion framework."}],["$","div",null,{"className":"flex items-center gap-5 text-xs text-[var(--siduri-text-muted)]","children":[["$","$L4",null,{"href":"/chat","className":"hover:text-[var(--siduri-text-primary)]","children":"Chat"}],["$","$L4",null,{"href":"/operator","className":"hover:text-[var(--siduri-text-primary)]","children":"Operator"}]]}]]}]}]
23
+ e:["$","script","script-0",{"src":"/_next/static/chunks/2dsfgoa225hpl.js","async":true,"nonce":"$undefined"}]
24
+ f:["$","$L17",null,{"children":["$","$18",null,{"name":"Next.MetadataOutlet","children":"$@19"}]}]
25
+ 10:["$","$1","h",{"children":[null,["$","$L1a",null,{"children":"$L1b"}],["$","div",null,{"hidden":true,"children":["$","$L1c",null,{"children":["$","$18",null,{"name":"Next.Metadata","children":"$L1d"}]}]}],null]}]
26
+ 12:["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/3chy1yguuhwlh.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]
27
+ 13:["$","div","Vision",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Vision"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Visual observation, cropping, and OCR interpretation."}]]}]
28
+ 14:["$","div","Voice",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Voice"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Queued speech synthesis (Edge-TTS, Kokoro, Piper, VOICEVOX) and auditory expression."}]]}]
29
+ 15:["$","div","Body",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Body"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Renderer-agnostic avatar expression (Live2D) and embodiment."}]]}]
30
+ 16:["$","div","Observation",{"className":"p-4 sm:p-5 rounded-xl border border-[var(--siduri-border-subtle)] bg-[var(--siduri-surface)] transition-all hover:border-[var(--siduri-border-ember)]","children":[["$","h3",null,{"className":"text-sm font-bold font-mono text-[var(--siduri-ember-light)] mb-2","children":"Observation"}],["$","p",null,{"className":"text-xs text-[var(--siduri-text-secondary)] leading-relaxed","children":"Event frame deduplication and real-time evidence extraction."}]]}]
31
+ 1b:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover, interactive-widget=resizes-content"}],["$","meta","2",{"name":"theme-color","content":"#0b0b0e"}]]
32
+ 1e:I[71375,["/_next/static/chunks/30a48dk5bjyhj.js"],"IconMark"]
33
+ 19:null
34
+ 1d:[["$","title","0",{"children":"Siduri — Local-First Companion"}],["$","meta","1",{"name":"description","content":"Siduri — a local-first companion with explicit memory, grounded knowledge, and optional presence."}],["$","link","2",{"rel":"icon","href":"/favicon.ico?favicon.3rlors1ui1gw9.ico","sizes":"256x256","type":"image/x-icon"}],["$","link","3",{"rel":"icon","href":"/favicon.ico"}],["$","link","4",{"rel":"icon","href":"/favicon.svg","type":"image/svg+xml"}],["$","link","5",{"rel":"apple-touch-icon","href":"/apple-touch-icon.png"}],["$","$L1e","6",{}]]
@@ -1,4 +1,4 @@
1
- :HL["/_next/static/chunks/0e0_fwxai4qpl.css","style"]
1
+ :HL["/_next/static/chunks/3chy1yguuhwlh.css","style"]
2
2
  :HL["https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap","style"]
3
3
  :HL["/logo-circle.svg","image"]
4
- 0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}},"staleTime":300,"buildId":"8eKdJ1Ab_Aru_OUQvlD4o"}
4
+ 0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}},"staleTime":300,"buildId":"EjYAMpKxmHkKLLiEb5QR9"}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,94108,t=>{"use strict";var e=t.i(28152);let r=e.default.env.NEXT_PUBLIC_API_URL??"";async function a(t,e){return fetch(`${r}${t}`,e)}async function i(t,e){let r=await a(t,e);if(!r.ok)throw Error(`${t} returned ${r.status}`);return r.json()}async function o(t,e){let r=await a(t,{method:"POST",headers:e?{"Content-Type":"application/json"}:void 0,body:e?"string"==typeof e?e:JSON.stringify(e):void 0});if(!r.ok)throw Error(await r.text().catch(()=>r.statusText));return r.json().catch(()=>({}))}async function s(t,e){let r=await a(t,{method:"POST",headers:e?{"Content-Type":"application/json"}:void 0,body:e?"string"==typeof e?e:JSON.stringify(e):void 0});if(!r.ok)throw Error(await r.text().catch(()=>r.statusText))}async function n(t,e,r,i){let o=await a(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e),signal:i});if(!o.ok)throw Error(await o.text().catch(()=>o.statusText)||`HTTP ${o.status}`);if(!o.body)throw Error("ReadableStream not supported in response");let s=o.body.getReader(),n=new TextDecoder,c="";try{for(;;){let{done:t,value:e}=await s.read();if(t)break;let a=(c+=n.decode(e,{stream:!0})).split("\n");c=a.pop()||"";let i="message";for(let t of a){let e=t.trim();if(e){if(e.startsWith("event:"))i=e.slice(6).trim();else if(e.startsWith("data:")){let t=e.slice(5).trim();try{let e=JSON.parse(t);switch(i){case"staged":r.onStaged?.(e);break;case"chunk":r.onChunk?.(e);break;case"avatar":r.onAvatar?.(e);break;case"done":r.onDone?.(e);break;case"interrupted":r.onInterrupted?.(e);break;case"error":r.onError?.(Error(e.error||"Stream error"))}}catch{}}}}}}catch(t){if(i?.aborted)r.onInterrupted?.({reason:i.reason});else throw r.onError?.(t),t}finally{s.releaseLock()}}async function c(t="default",e="user_barge_in"){await o("/chat/interrupt",{companionId:t,reason:e}).catch(()=>{})}e.default.env.NEXT_PUBLIC_WS_URL||(window.location.protocol,window.location.host),t.s(["fetchApi",0,a,"getJson",0,i,"interruptChat",0,c,"postAction",0,s,"postJson",0,o,"postStream",0,n])},51523,t=>{"use strict";let e=new Set(["siduri","self","companion"]),r=new Set(["user","actor","owner","primary_user"]);function a(t){return t.replace(/[._]+/g," ").replace(/\s+/g," ").trim()}function i(t){let e=t.trim();return e&&!/[.!?]$/.test(e)?`${e}.`:e}function o(t){let o=t.subject?.trim()??"",s=o.toLowerCase(),n=t.predicate?.trim()??"",c=n.toLowerCase(),u=t.value?.trim()??"";if(!o||!n||!u)return i(t.content??u);if(e.has(s)||s.startsWith("companion:")||s.startsWith("companion.")||s.startsWith("self."))return"name"===c?i(`Companion name is ${u}`):i(`Companion ${a(n)} is ${u}`);if(r.has(s)||s.startsWith("actor:")||s.startsWith("user:"))return"name"===c?i(`User name is ${u}`):"preferred_address"===c?i(`User preferred address is ${u}`):"relationship_to_siduri"===c||"relationship"===c?i(`User relationship configured as ${u}`):i(`User ${a(n)} is ${u}`);if(s.startsWith("primary_user.")||s.startsWith("user.")){let t=s.startsWith("primary_user.")?"primary_user.":"user.",e=a(o.slice(t.length)),r="uid"===c||"id"===c?"ID":a(n);return i(`User ${e} ${r} is ${u}`)}let l=a(o);return i(`${/s$/i.test(l)?`${l}'`:`${l}'s`} ${a(n)} is ${u}`)}t.s(["formatClaimReceipt",0,o,"formatRuntimeEffect",0,function(t){let s=t.subject?.trim().toLowerCase()??"",n=t.predicate?.trim().toLowerCase()??"",c=t.value?.trim()??"",u=t.behavior?.instruction?.trim()??"";return"behavioral"===t.memory_class&&u?i(u):e.has(s)&&"name"===n?i(`Set companion identity/name to ${c}`):e.has(s)?i(`Set companion ${a(n)} to ${c}`):r.has(s)&&("relationship_to_siduri"===n||"relationship"===n)?i(`Set user relationship to ${c}`):r.has(s)&&"name"===n?i(`Set user name to ${c}`):o(t)}])}]);
@@ -0,0 +1,30 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,12650,e=>{"use strict";var t=e.i(30696),a=e.i(64249),r=e.i(51523);function i({onSelectPrompt:e,className:a=""}){return(0,t.jsxs)("div",{className:`chat-empty-state ${a}`,"data-testid":"preferences-starter",children:[(0,t.jsx)("div",{className:"siduri-orb",children:"✦"}),(0,t.jsx)("h2",{children:"Teach Siduri your preferences."}),(0,t.jsx)("p",{children:"Choose a starting point, replace the blanks, and send it. Nothing becomes memory until you approve the receipt."}),(0,t.jsxs)("div",{className:"starter-prompts onboarding-prompts",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>e("Call me [preferred name]."),children:[(0,t.jsx)("span",{children:"Identity"}),"Preferred name or title"]}),(0,t.jsxs)("button",{type:"button",onClick:()=>e("My timezone is [timezone] and my preferred language is [language]."),children:[(0,t.jsx)("span",{children:"Localization"}),"Timezone and language"]}),(0,t.jsxs)("button",{type:"button",onClick:()=>e("My preferred response style is [concise / detailed / technical]."),children:[(0,t.jsx)("span",{children:"Response style"}),"Tone and verbosity"]}),(0,t.jsxs)("button",{type:"button",onClick:()=>e("I am interested in [topics or domains of interest]."),children:[(0,t.jsx)("span",{children:"Knowledge"}),"Topics of interest"]})]}),(0,t.jsx)("p",{className:"onboarding-privacy",children:"Teach Siduri preferences explicitly. Information is stored in private memory only after you approve the receipt."})]})}function s(e){return"number"!=typeof e||isNaN(e)||e<0?0:e>1?1:e}class n{expression="neutral";action="idle";state="idle";speechId;lipSyncValue=0;reducedMotion=!1;actionStartTime=0;stateStartTime=0;lastUpdateTime=Date.now();constructor(e){e&&this.updateConfig(e)}updateConfig(e){e.expression&&e.expression!==this.expression&&(this.expression=e.expression),e.action&&e.action!==this.action&&(this.action=e.action,this.actionStartTime=Date.now()),e.state&&e.state!==this.state&&(this.state=e.state,this.stateStartTime=Date.now()),void 0!==e.speechId&&(this.speechId=e.speechId),void 0!==e.lipSyncValue&&(this.lipSyncValue=s(e.lipSyncValue)),void 0!==e.reducedMotion&&(this.reducedMotion=e.reducedMotion)}setReducedMotion(e){this.reducedMotion=e}setExpression(e){this.expression=e}setAction(e){this.action=e,this.actionStartTime=Date.now()}setState(e){this.state=e,this.stateStartTime=Date.now()}setLipSync(e){this.lipSyncValue=s(e)}calculateFrameParameters(e=Date.now()){this.lastUpdateTime,this.lastUpdateTime=e;let t=this.reducedMotion?.2:(Math.sin(e/1800)+1)*.5,a=this.reducedMotion?0:2.5*Math.sin(e/2400),r=this.reducedMotion?0:1.8*Math.cos(e/3200),i=this.reducedMotion?0:1.2*Math.sin(e/4e3),n=function(e){if(!e)return{angleX:0,angleY:0,angleZ:0,bodyAngleX:0,eyeBallX:0,eyeBallY:0,speed:1};switch(e.toLowerCase().trim()){case"nod":return{angleX:0,angleY:-12,angleZ:2,bodyAngleX:0,eyeBallX:0,eyeBallY:-.2,speed:2.5};case"wave":return{angleX:8,angleY:4,angleZ:-5,bodyAngleX:5,eyeBallX:.2,eyeBallY:.1,speed:1.8};case"listen":return{angleX:-5,angleY:2,angleZ:4,bodyAngleX:-2,eyeBallX:.1,eyeBallY:.1,speed:1};case"talk":return{angleX:2,angleY:-2,angleZ:0,bodyAngleX:0,eyeBallX:0,eyeBallY:0,speed:1.5};default:return{angleX:0,angleY:0,angleZ:0,bodyAngleX:0,eyeBallX:0,eyeBallY:0,speed:1}}}(this.action),o=(e-this.actionStartTime)/1e3,l=0,c=0,d=0,u=0;this.reducedMotion?"nod"===this.action?c=.5*n.angleY:"wave"===this.action?(l=.5*n.angleX,u=.5*n.bodyAngleX):"listen"===this.action&&(d=.5*n.angleZ,l=.5*n.angleX):"nod"===this.action?c=Math.sin(o*Math.PI*3)*n.angleY:"wave"===this.action?(d=Math.sin(o*Math.PI*2.4)*n.angleZ,l=n.angleX,u=n.bodyAngleX):"listen"===this.action?(d=n.angleZ,l=n.angleX):"talk"===this.action&&(c=2*Math.sin(4*o));let m=0;if("speaking"===this.state){let t=function(e,t){if("number"==typeof t&&!isNaN(t)&&t>0)return s(t);let a=e/1e3;return s(Math.max(0,.45*Math.sin(14*a)+.25*Math.sin(22*a)+.2*Math.sin(8*a)+.1))}(e,this.lipSyncValue);m=this.reducedMotion?.6*t:t}let h=e%4e3/4e3,p=1;return h>.95&&(p=Math.abs(Math.sin((h-.95)/.05*Math.PI-Math.PI/2))),{mouthOpenY:m,angleX:a+l,angleY:r+c,angleZ:i+d,bodyAngleX:u,breath:t,eyeOpenL:p,eyeOpenR:p}}reset(){this.expression="neutral",this.action="idle",this.state="idle",this.lipSyncValue=0,this.speechId=void 0}}async function o(e="/live2d/live2dcubismcore.min.js"){return window.Live2DCubismCore?window.Live2DCubismCore:new Promise((t,a)=>{let r=document.querySelector(`script[src="${e}"]`);if(r)return window.Live2DCubismCore?t(window.Live2DCubismCore):(r.addEventListener("load",()=>t(window.Live2DCubismCore)),void r.addEventListener("error",t=>a(Error(`Failed to load Cubism Core from ${e}: ${t}`))));let i=document.createElement("script");i.src=e,i.async=!0,i.onload=()=>{window.Live2DCubismCore?t(window.Live2DCubismCore):a(Error("Live2DCubismCore global not found after script load"))},i.onerror=()=>{let e="https://cubism.live2d.com/sdk-web/cubismcore/live2dcubismcore.min.js";console.warn(`[Live2D] Failed to load local Cubism Core, attempting fallback: ${e}`);let r=document.createElement("script");r.src=e,r.async=!0,r.onload=()=>{window.Live2DCubismCore?t(window.Live2DCubismCore):a(Error("Live2DCubismCore global not found after fallback load"))},r.onerror=e=>a(Error(`Failed to load Cubism Core from both local and remote sources: ${e}`)),document.head.appendChild(r)},document.head.appendChild(i)})}async function l(e){let t=e.lastIndexOf("/"),a=-1!==t?e.slice(0,t+1):"",r=await fetch(e);if(!r.ok)throw Error(`Failed to fetch model manifest from ${e} (${r.status})`);let i=await r.json();if(!i.FileReferences||!i.FileReferences.Moc)throw Error(`Invalid model3.json: missing Moc file reference in ${e}`);let s=a+i.FileReferences.Moc,n=await fetch(s);if(!n.ok)throw Error(`Failed to fetch .moc3 file from ${s} (${n.status})`);let o=await n.arrayBuffer(),l=(i.FileReferences.Textures||[]).map(e=>a+e),c=await Promise.all(l.map(e=>new Promise((t,a)=>{let r=new Image;r.crossOrigin="anonymous",r.onload=()=>t(r),r.onerror=t=>a(Error(`Failed to load texture from ${e}`)),r.src=e}))),d=new Map;return i.FileReferences.Expressions&&i.FileReferences.Expressions.length>0&&await Promise.all(i.FileReferences.Expressions.map(async e=>{try{let t=a+e.File,r=await fetch(t);if(r.ok){let t=await r.json();d.set(e.File,t),e.Name&&d.set(e.Name,t)}}catch{}})),{model3:i,mocBuffer:o,textures:c,expressions:d,basePath:a}}let c=`
2
+ attribute vec2 a_position;
3
+ attribute vec2 a_texCoord;
4
+ uniform mat4 u_matrix;
5
+ varying vec2 v_texCoord;
6
+ void main() {
7
+ gl_Position = u_matrix * vec4(a_position.x, a_position.y, 0.0, 1.0);
8
+ v_texCoord = vec2(a_texCoord.x, 1.0 - a_texCoord.y);
9
+ }
10
+ `,d=`
11
+ precision mediump float;
12
+ uniform sampler2D u_texture;
13
+ uniform float u_opacity;
14
+ varying vec2 v_texCoord;
15
+ void main() {
16
+ vec4 color = texture2D(u_texture, v_texCoord);
17
+ gl_FragColor = color * u_opacity;
18
+ }
19
+ `,u=`
20
+ precision mediump float;
21
+ uniform sampler2D u_texture;
22
+ varying vec2 v_texCoord;
23
+ void main() {
24
+ vec4 color = texture2D(u_texture, v_texCoord);
25
+ if (color.a < 0.1) {
26
+ discard;
27
+ }
28
+ gl_FragColor = vec4(1.0);
29
+ }
30
+ `;function m(e,t,a){let r=e.createShader(t);if(!r)throw Error("Failed to create shader");if(e.shaderSource(r,a),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(r);throw e.deleteShader(r),Error(`Shader compilation error: ${t}`)}return r}class h{canvas;gl=null;program=null;maskProgram=null;vertexBuffer=null;uvBuffer=null;indexBuffer=null;aPositionLocation=-1;aTexCoordLocation=-1;uMatrixLocation=null;uTextureLocation=null;uOpacityLocation=null;maskAPositionLocation=-1;maskATexCoordLocation=-1;maskUMatrixLocation=null;maskUTextureLocation=null;textures=[];moc=null;model=null;core=null;paramIndices=new Map;isDisposed=!1;constructor(e){this.canvas=e}modelBounds={minX:-.39,maxX:.4,minY:-.98,maxY:.18,width:.79,height:1.16,centerX:.006,centerY:-.4};initialize(e,t){this.core=e;let a={alpha:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,antialias:!0,stencil:!0},r=this.canvas.getContext("webgl",a)||this.canvas.getContext("experimental-webgl",a)||this.canvas.getContext("webgl2",a);if(!r)throw Error("WebGL is not supported in this browser environment");this.gl=r;let i=m(r,r.VERTEX_SHADER,c),s=m(r,r.FRAGMENT_SHADER,d),n=r.createProgram();if(!n)throw Error("Failed to create WebGL program");if(r.attachShader(n,i),r.attachShader(n,s),r.linkProgram(n),!r.getProgramParameter(n,r.LINK_STATUS))throw Error(`Program link error: ${r.getProgramInfoLog(n)}`);this.program=n,this.aPositionLocation=r.getAttribLocation(n,"a_position"),this.aTexCoordLocation=r.getAttribLocation(n,"a_texCoord"),this.uMatrixLocation=r.getUniformLocation(n,"u_matrix"),this.uTextureLocation=r.getUniformLocation(n,"u_texture"),this.uOpacityLocation=r.getUniformLocation(n,"u_opacity");let o=m(r,r.FRAGMENT_SHADER,u),l=r.createProgram();if(!l)throw Error("Failed to create Mask WebGL program");if(r.attachShader(l,i),r.attachShader(l,o),r.linkProgram(l),!r.getProgramParameter(l,r.LINK_STATUS))throw Error(`Mask Program link error: ${r.getProgramInfoLog(l)}`);if(this.maskProgram=l,this.maskAPositionLocation=r.getAttribLocation(l,"a_position"),this.maskATexCoordLocation=r.getAttribLocation(l,"a_texCoord"),this.maskUMatrixLocation=r.getUniformLocation(l,"u_matrix"),this.maskUTextureLocation=r.getUniformLocation(l,"u_texture"),this.vertexBuffer=r.createBuffer(),this.uvBuffer=r.createBuffer(),this.indexBuffer=r.createBuffer(),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1),this.textures=t.textures.map(e=>{let t=r.createTexture();if(!t)throw Error("Failed to create WebGL texture");return r.bindTexture(r.TEXTURE_2D,t),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR_MIPMAP_NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.generateMipmap(r.TEXTURE_2D),t}),this.moc=e.Moc.fromArrayBuffer(t.mocBuffer),!this.moc)throw Error("Failed to create Live2D Moc from ArrayBuffer");if(this.model=e.Model.fromMoc(this.moc),!this.model)throw Error("Failed to create Live2D Model from Moc");let h=this.model.parameters.ids;for(let e=0;e<h.length;e++)this.paramIndices.set(h[e],e);this.initializeNeutralMouth(),this.model.update(),this.calculateModelBounds()}initializeNeutralMouth(){this.model&&(this.setParamDirect("ParamMouthOpenY",0),this.setParamDirect("ParamMouthForm",0))}setParamDirect(e,t){let a=this.paramIndices.get(e);if(void 0!==a&&this.model){let e=this.model.parameters.minimumValues[a],r=this.model.parameters.maximumValues[a];this.model.parameters.values[a]=Math.max(e,Math.min(r,t))}}calculateModelBounds(){if(!this.model)return;let e=this.model.drawables,t=e.count,a=1/0,r=-1/0,i=1/0,s=-1/0;for(let n=0;n<t;n++){let t=e.vertexPositions[n];if(t&&0!==t.length)for(let e=0;e<t.length;e+=2){let n=t[e],o=t[e+1];n<a&&(a=n),n>r&&(r=n),o<i&&(i=o),o>s&&(s=o)}}a!==1/0&&r!==-1/0&&i!==1/0&&s!==-1/0&&(this.modelBounds={minX:a,maxX:r,minY:i,maxY:s,width:r-a,height:s-i,centerX:(a+r)/2,centerY:(i+s)/2})}getModelBounds(){return{...this.modelBounds}}setParam(e,t,a=1){let r=this.paramIndices.get(e);if(void 0!==r&&this.model){let e=this.model.parameters.values[r],i=Math.max(this.model.parameters.minimumValues[r],Math.min(this.model.parameters.maximumValues[r],t));this.model.parameters.values[r]=e+(i-e)*a}}render(e,t=Date.now()){let a;if(this.isDisposed||!this.gl||!this.model||!this.program)return;let r=this.gl,i=this.canvas.width,s=this.canvas.height;if(0===i||0===s)return;let n=e.calculateFrameParameters(t);this.setParam("ParamAngleX",n.angleX,.2),this.setParam("ParamAngleY",n.angleY,.2),this.setParam("ParamAngleZ",n.angleZ,.2),this.setParam("ParamBodyAngleX",n.bodyAngleX,.15),this.setParam("ParamBreath",n.breath,.3),this.setParam("ParamEyeLOpen",n.eyeOpenL,.4),this.setParam("ParamEyeROpen",n.eyeOpenR,.4),this.setParam("ParamMouthOpenY",n.mouthOpenY,.35);let o=function(e){if(!e)return"neutral";switch(e.toLowerCase().trim()){case"surprised":return"face_aozame.exp3.json";case"concerned":case"thinking":return"eyes_zetubou.exp3.json";case"happy":return"hair_open.exp3.json";default:return"neutral"}}(e.expression);"face_aozame.exp3.json"===o?(this.setParam("Param10",1,.2),this.setParam("Param9",0,.15),this.setParam("Param11",0,.15),this.setParam("Param12",0,.15)):"eyes_zetubou.exp3.json"===o?(this.setParam("Param9",1,.2),this.setParam("Param10",0,.15),this.setParam("Param11",0,.15),this.setParam("Param12",0,.15)):"hair_open.exp3.json"===o?(this.setParam("Param11",1,.2),this.setParam("Param10",0,.15),this.setParam("Param9",0,.15),this.setParam("Param12",0,.15)):"eye_color.exp3.json"===o?(this.setParam("Param12",1,.2),this.setParam("Param10",0,.15),this.setParam("Param9",0,.15),this.setParam("Param11",0,.15)):(this.setParam("Param10",0,.15),this.setParam("Param9",0,.15),this.setParam("Param11",0,.15),this.setParam("Param12",0,.15)),this.model.update(),r.viewport(0,0,i,s),r.clearColor(0,0,0,0),r.clear(r.COLOR_BUFFER_BIT|r.STENCIL_BUFFER_BIT),r.enable(r.BLEND),r.blendFunc(r.ONE,r.ONE_MINUS_SRC_ALPHA),r.useProgram(this.program);let l=i/s,c=this.modelBounds.width,d=this.modelBounds.height,u=this.modelBounds.centerX,m=this.modelBounds.centerY,h=(a=l>=c/d?1.84/d:1.84/c*l)/l,p=new Float32Array([h,0,0,0,0,a,0,0,0,0,1,0,-u*h,-m*a,0,1]);r.uniformMatrix4fv(this.uMatrixLocation,!1,p),r.uniform1i(this.uTextureLocation,0);let x=this.model.drawables,f=x.count,g=x.renderOrders,b=[];for(let e=0;e<f;e++)b.push(e);b.sort((e,t)=>g[e]-g[t]),r.enableVertexAttribArray(this.aPositionLocation),r.enableVertexAttribArray(this.aTexCoordLocation);let v=(e,t)=>{let a=void 0!==t?t:x.opacities[e];if(a<=.001)return;let i=x.textureIndices[e],s=this.textures[i];if(!s)return;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,s),r.uniform1f(this.uOpacityLocation,a);let n=x.vertexPositions[e];r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.bufferData(r.ARRAY_BUFFER,n,r.DYNAMIC_DRAW),r.vertexAttribPointer(this.aPositionLocation,2,r.FLOAT,!1,0,0);let o=x.vertexUvs[e];r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.bufferData(r.ARRAY_BUFFER,o,r.DYNAMIC_DRAW),r.vertexAttribPointer(this.aTexCoordLocation,2,r.FLOAT,!1,0,0);let l=x.indices[e];r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,l,r.DYNAMIC_DRAW),r.drawElements(r.TRIANGLES,l.length,r.UNSIGNED_SHORT,0)},y=e=>{if(!this.maskProgram)return;r.useProgram(this.maskProgram),r.uniformMatrix4fv(this.maskUMatrixLocation,!1,p),r.uniform1i(this.maskUTextureLocation,0),r.enableVertexAttribArray(this.maskAPositionLocation),r.enableVertexAttribArray(this.maskATexCoordLocation);let t=x.textureIndices[e],a=this.textures[t];if(!a)return;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,a);let i=x.vertexPositions[e];r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.bufferData(r.ARRAY_BUFFER,i,r.DYNAMIC_DRAW),r.vertexAttribPointer(this.maskAPositionLocation,2,r.FLOAT,!1,0,0);let s=x.vertexUvs[e];r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.bufferData(r.ARRAY_BUFFER,s,r.DYNAMIC_DRAW),r.vertexAttribPointer(this.maskATexCoordLocation,2,r.FLOAT,!1,0,0);let n=x.indices[e];r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.bufferData(r.ELEMENT_ARRAY_BUFFER,n,r.DYNAMIC_DRAW),r.drawElements(r.TRIANGLES,n.length,r.UNSIGNED_SHORT,0),r.useProgram(this.program),r.enableVertexAttribArray(this.aPositionLocation),r.enableVertexAttribArray(this.aTexCoordLocation)},w=-1;for(let e of b)if(!(x.opacities[e]<=.001))if(x.maskCounts[e]>0){let t=x.masks[e][0];t!==w&&(w=t,r.enable(r.STENCIL_TEST),r.stencilMask(255),r.clear(r.STENCIL_BUFFER_BIT),r.stencilFunc(r.ALWAYS,1,255),r.stencilOp(r.KEEP,r.KEEP,r.REPLACE),r.colorMask(!1,!1,!1,!1),y(t),r.colorMask(!0,!0,!0,!0)),r.stencilFunc(r.EQUAL,1,255),r.stencilOp(r.KEEP,r.KEEP,r.KEEP),v(e)}else -1!==w&&(r.disable(r.STENCIL_TEST),w=-1),v(e);-1!==w&&r.disable(r.STENCIL_TEST)}dispose(){if(this.isDisposed=!0,this.gl){for(let e of this.textures)this.gl.deleteTexture(e);this.textures=[],this.vertexBuffer&&this.gl.deleteBuffer(this.vertexBuffer),this.uvBuffer&&this.gl.deleteBuffer(this.uvBuffer),this.indexBuffer&&this.gl.deleteBuffer(this.indexBuffer),this.program&&this.gl.deleteProgram(this.program)}this.model&&"function"==typeof this.model.release&&this.model.release(),this.moc&&"function"==typeof this.moc.release&&this.moc.release(),this.model=null,this.moc=null,this.gl=null}}function p({modelUrl:e,expression:r="neutral",action:i="idle",state:s="idle",speechId:c,lipSyncValue:d,durationMs:u,className:m="",onStatusChange:x}){let f=(0,a.useRef)(null),g=(0,a.useRef)(null),b=(0,a.useRef)(new n({expression:r,action:i,state:s,speechId:c,lipSyncValue:d,durationMs:u})),v=(0,a.useRef)(null),y=(0,a.useRef)(null),[w,j]=(0,a.useState)("loading"),[E,P]=(0,a.useState)(null),[A,N]=(0,a.useState)(0);return(0,a.useEffect)(()=>{if(!window.matchMedia)return;let e=window.matchMedia("(prefers-reduced-motion: reduce)"),t=()=>{b.current.setReducedMotion(e.matches)};return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,a.useEffect)(()=>{b.current.updateConfig({expression:r,action:i,state:s,speechId:c,lipSyncValue:d,durationMs:u})},[r,i,s,c,d,u]),(0,a.useEffect)(()=>{let t=!1,a=null;async function r(){if(g.current&&f.current){if(!e){j("error"),P("No Live2D model configured. Place model in assets/body/<name>/"),x?.("error","No Live2D model URL specified");return}j("loading"),x?.("loading"),P(null);try{let r=await o();if(t)return;let i=await l(e);if(t)return;let s=g.current;if(!s)return;let n=new h(s);n.initialize(r,i),v.current=n;let c=()=>{if(!f.current||!g.current)return;let e=f.current.getBoundingClientRect();if(e.width<=0||e.height<=0)return;let t=Math.min(window.devicePixelRatio||1,2),a=Math.max(1,Math.floor(e.width*t)),r=Math.max(1,Math.floor(e.height*t));(g.current.width!==a||g.current.height!==r)&&(g.current.width=a,g.current.height=r)};c(),(a=new ResizeObserver(c)).observe(f.current);let d=()=>{t||(v.current&&v.current.render(b.current,performance.now()),y.current=requestAnimationFrame(d))};y.current=requestAnimationFrame(d),j("ready"),x?.("ready")}catch(a){if(t)return;let e=a?.message||"Failed to initialize Live2D avatar";console.warn("[AvatarCanvas] Initialization error:",a),j("error"),P("Avatar model unavailable or failed to load."),x?.("error",e)}}}r();let i=g.current,s=e=>{e.preventDefault(),console.warn("[AvatarCanvas] WebGL context lost"),y.current&&cancelAnimationFrame(y.current),j("error"),P("WebGL context lost.")},n=()=>{console.log("[AvatarCanvas] WebGL context restored, re-initializing..."),r()};return i&&(i.addEventListener("webglcontextlost",s,!1),i.addEventListener("webglcontextrestored",n,!1)),()=>{t=!0,y.current&&(cancelAnimationFrame(y.current),y.current=null),a&&a.disconnect(),i&&(i.removeEventListener("webglcontextlost",s),i.removeEventListener("webglcontextrestored",n)),v.current&&(v.current.dispose(),v.current=null)}},[e,A,x]),(0,t.jsxs)("div",{ref:f,"data-testid":"avatar-canvas-container",className:`relative w-full h-full min-h-0 flex items-center justify-center overflow-hidden bg-transparent ${m}`,"aria-label":"Live2D Companion Presence",children:[(0,t.jsx)("canvas",{ref:g,role:"img","data-testid":"avatar-webgl-canvas","aria-label":"Live2D companion presence",style:{width:"100%",height:"100%",display:"block"},className:`absolute inset-0 w-full h-full block transition-opacity duration-500 ${"ready"===w?"opacity-100":"opacity-0"}`}),"loading"===w&&(0,t.jsxs)("div",{role:"status","aria-live":"polite",className:"absolute inset-0 flex flex-col items-center justify-center gap-3 bg-[#0b0b0e]/90 text-[var(--siduri-text-muted)]",children:[(0,t.jsx)("div",{className:"siduri-glyph w-10 h-10 text-base animate-pulse motion-reduce:animate-none",children:"✦"}),(0,t.jsx)("span",{className:"text-[11px] font-mono tracking-widest uppercase text-[var(--siduri-ember-light)]",children:"Initializing Presence..."})]}),"error"===w&&(0,t.jsxs)("div",{role:"alert","aria-live":"polite",className:"absolute inset-0 flex flex-col items-center justify-center p-6 text-center bg-[#0b0b0e]/95 text-[var(--siduri-text-muted)]",children:[(0,t.jsx)("div",{className:"w-8 h-8 rounded-full border border-[var(--siduri-border-subtle)] grid place-items-center text-xs text-[var(--siduri-text-dim)] mb-2 font-mono",children:"!"}),(0,t.jsx)("p",{className:"text-xs font-sans text-[var(--siduri-text-secondary)] mb-1",children:E||"Avatar unavailable in this browser."}),(0,t.jsx)("span",{className:"text-[10px] font-mono text-[var(--siduri-text-dim)] mb-3",children:"Conversational text mode remains active"}),(0,t.jsx)("button",{type:"button",onClick:()=>N(e=>e+1),className:"px-3 py-1 text-[11px] font-mono tracking-wider uppercase rounded border border-[var(--siduri-border-subtle)] hover:border-[var(--siduri-border-ember)] text-[var(--siduri-text-secondary)] hover:text-[var(--siduri-text-primary)] transition-colors focus-visible:ring-1 focus-visible:ring-[var(--siduri-border-ember)] outline-none","aria-label":"Retry avatar initialization",children:"Retry"})]})]})}var x=e.i(94108);let f="siduri.chat.conversations.v1";function g(){return"u">typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now()}-${Math.random()}`}function b(e){return new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(e)}e.s(["default",0,function(){let[e,s]=(0,a.useState)([]),[n,o]=(0,a.useState)(null),[l,c]=(0,a.useState)(""),[d,u]=(0,a.useState)("connecting"),[m,h]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),[w,j]=(0,a.useState)(!1),[E,P]=(0,a.useState)(!1),[A,N]=(0,a.useState)(!1),[_,L]=(0,a.useState)(null),[C,T]=(0,a.useState)(void 0),[R,S]=(0,a.useState)("auto"),[M,D]=(0,a.useState)("hybrid"),[k,B]=(0,a.useState)("off"),I=(0,a.useRef)(null),F=(0,a.useRef)(null),U=(0,a.useRef)(null),X=(0,a.useMemo)(()=>e.find(e=>e.id===n)??null,[n,e]);function Y(){return{id:g(),title:"New conversation",messages:[],updatedAt:Date.now()}}function $(e,t){s(a=>a.map(a=>a.id===e?t(a):a))}async function O(e){e.preventDefault();let t=l.trim();if(!t)return;if(/\[[^\]]+\]/.test(t))return void u("replace the blanks first");m&&U.current&&(U.current.abort("user_barge_in"),U.current=null,(0,x.interruptChat)("default","user_barge_in"));let a=X;a||(a=Y(),s(e=>[a,...e]),o(a.id));let r={id:g(),role:"user",content:t,createdAt:Date.now()},i=g(),n={id:i,role:"assistant",content:"",createdAt:Date.now()},d=[...a.messages,r,n],p=0===a.messages.length?t.slice(0,42):a.title;$(a.id,e=>({...e,title:p,messages:d,updatedAt:Date.now()})),c(""),h(!0),u("streaming");let f=new AbortController;U.current=f;try{await (0,x.postStream)("/chat/stream",{id:"default",message:t,medium:"web",mode:"auto"!==R?R:void 0,subtitleLanguage:"off"!==k?k:void 0,history:a.messages.slice(-20).map(e=>({role:e.role,content:e.content}))},{onStaged:e=>{e?.mode&&("casual"===e.mode||"teach"===e.mode||"hybrid"===e.mode)&&D(e.mode)},onAvatar:e=>{let t=e.speech_id;F.current&&clearTimeout(F.current),L({eventId:e.event_id,expression:e.expression||"neutral",action:e.action||"talk",state:"speaking",speechId:t,durationMs:e.durationMs});let a=e.durationMs||4500;F.current=setTimeout(()=>{L(e=>e?{...e,state:"idle",action:"idle"}:null)},a)},onChunk:e=>{e.deltaText&&$(a.id,t=>({...t,messages:t.messages.map(t=>t.id===i?{...t,content:t.content+e.deltaText}:t)})),(e.expression||e.action)&&L(t=>t?{...t,expression:e.expression||t.expression,action:e.action||t.action}:null)},onDone:e=>{e?.metadata?.mode&&("casual"===e.metadata.mode||"teach"===e.metadata.mode||"hybrid"===e.metadata.mode)&&D(e.metadata.mode);let t=e.response||{},r=e.metadata?.memory_proposals,s=e.metadata?.behavioral_proposals;$(a.id,e=>({...e,messages:e.messages.map(e=>e.id===i?{...e,content:e.content||t.subtitle_en||t.subtitle_ja||"",subtitle:t.subtitle,subtitleLanguage:t.subtitle_language||("off"!==k?k:void 0),subtitles:t.subtitles,spokenJa:t.spoken_ja,evidenceIds:t.evidence_ids,memoryProposals:r,behavioralProposals:s}:e),updatedAt:Date.now()})),u("online")},onInterrupted:()=>{$(a.id,e=>({...e,messages:e.messages.map(e=>e.id===i?{...e,content:e.content?`${e.content} [interrupted]`:"[interrupted]"}:e),updatedAt:Date.now()})),u("online")},onError:e=>{$(a.id,t=>({...t,messages:t.messages.map(t=>t.id===i?{...t,content:`I couldn’t reach the orchestrator. ${String(e)}`}:t),updatedAt:Date.now()})),u("offline")}},f.signal)}catch(e){f.signal.aborted||($(a.id,t=>({...t,messages:t.messages.map(t=>t.id===i?{...t,content:`I couldn’t reach the orchestrator. ${String(e)}`}:t),updatedAt:Date.now()})),u("offline"))}finally{U.current=null,h(!1)}}(0,a.useEffect)(()=>()=>{F.current&&clearTimeout(F.current),U.current&&U.current.abort("unmounted")},[]),(0,a.useEffect)(()=>{let e=function(){try{let e=JSON.parse(window.localStorage.getItem(f)??"[]");return Array.isArray(e)?e:[]}catch{return[]}}();s(e),o(e[0]?.id??null);try{let e=localStorage.getItem("siduri.chat.subtitleLanguage");e&&B(e)}catch{}y(!0),(0,x.fetchApi)("/health").then(async e=>{if(e.ok){let t=await e.json().catch(()=>({}));u("online"),t.organs?.body?.modelUrl?T(t.organs.body.modelUrl):(0,x.fetchApi)("/api/models/body").then(async e=>{if(e.ok){let t=(await e.json().catch(()=>({}))).models||[],a=t.find(e=>"default"!==e);a?T(`/assets/body/${a}/model.model3.json`):t.length>0&&"default"!==t[0]&&T(`/assets/body/${t[0]}/model.model3.json`)}}).catch(()=>{})}else u("online")}).catch(()=>u("offline"))},[]),(0,a.useEffect)(()=>{v&&window.localStorage.setItem(f,JSON.stringify(e))},[e,v]),(0,a.useEffect)(()=>{I.current?.scrollTo({top:I.current.scrollHeight,behavior:"smooth"})},[n,X?.messages.length,m]);let z=X?.messages??[],G=z.at(-1)?.evidenceIds?.length??0;async function V(e,t,a){if(X)try{await (0,x.postJson)(`/memory/proposals/${a}`,{id:t,companionId:"default"});let r="approve"===a?"approved":"rejected";$(X.id,a=>({...a,messages:a.messages.map(a=>a.id===e&&a.memoryProposals?{...a,memoryProposals:a.memoryProposals.map(e=>e.proposal_id===t?{...e,status:r}:e)}:a)}))}catch(e){console.error(e)}}async function W(e,t,a){if(X)try{await (0,x.postJson)(`/memory/behavioral/${a}`,{id:t,companionId:"default"});let r="approve"===a?"active":"rejected";$(X.id,a=>({...a,messages:a.messages.map(a=>a.id===e&&a.behavioralProposals?{...a,behavioralProposals:a.behavioralProposals.map(e=>e.directive_id===t?{...e,status:r}:e)}:a)}))}catch(e){console.error(e)}}return(0,t.jsxs)("div",{className:`chat-app ${w?"sidebar-collapsed":""} ${E?"mobile-drawer-open":""}`,children:[E&&(0,t.jsx)("div",{className:"chat-backdrop",onClick:()=>P(!1),"aria-hidden":"true"}),(0,t.jsxs)("aside",{className:"chat-sidebar","aria-label":"Conversation history",children:[(0,t.jsxs)("div",{className:"chat-sidebar-top",children:[(0,t.jsxs)("a",{className:"chat-brand",href:"/chat",children:[(0,t.jsx)("span",{className:"chat-brand-mark",children:"S"}),(0,t.jsx)("span",{children:"SIDURI"})]}),(0,t.jsx)("button",{className:"sidebar-collapse",type:"button",onClick:()=>j(e=>!e),"aria-label":w?"Expand sidebar":"Collapse sidebar",children:w?"→":"←"}),(0,t.jsx)("button",{className:"mobile-drawer-close",type:"button",onClick:()=>P(!1),"aria-label":"Close conversation drawer",children:"✕"})]}),(0,t.jsxs)("button",{className:"new-chat-button",type:"button",onClick:()=>{let e;e=Y(),s(t=>[e,...t]),o(e.id),c(""),u("online"),P(!1)},children:[(0,t.jsx)("span",{children:"+"})," New conversation"]}),(0,t.jsxs)("div",{className:"history-heading",children:[(0,t.jsx)("span",{children:"Recent conversations"}),(0,t.jsx)("span",{children:e.length})]}),(0,t.jsx)("div",{className:"conversation-list",children:v?0===e.length?(0,t.jsx)("p",{className:"history-empty",children:"Your private conversations will appear here."}):e.slice().sort((e,t)=>t.updatedAt-e.updatedAt).map(a=>(0,t.jsxs)("div",{className:`conversation-row ${a.id===n?"selected":""}`,children:[(0,t.jsxs)("button",{type:"button",className:"conversation-select",onClick:()=>{o(a.id),P(!1)},children:[(0,t.jsx)("span",{className:"conversation-title",children:a.title}),(0,t.jsx)("span",{className:"conversation-date",children:b(a.updatedAt)})]}),(0,t.jsx)("button",{type:"button",className:"conversation-delete",onClick:t=>{t.stopPropagation();var r=a.id;if(s(e=>e.filter(e=>e.id!==r)),n===r){let t=e.find(e=>e.id!==r);o(t?.id??null)}},"aria-label":`Delete ${a.title}`,children:"×"})]},a.id)):(0,t.jsx)("p",{className:"history-empty",children:"Loading history…"})}),(0,t.jsx)("div",{className:"sidebar-footer",children:(0,t.jsxs)("a",{className:"sidebar-console",href:"/operator",children:[(0,t.jsx)("span",{children:"⌘"}),(0,t.jsx)("span",{children:"Operator console"}),(0,t.jsx)("b",{children:"↗"})]})})]}),(0,t.jsxs)("main",{className:"chat-workspace",children:[(0,t.jsxs)("header",{className:"chat-header",children:[(0,t.jsxs)("div",{className:"chat-header-brand-group",children:[(0,t.jsx)("button",{type:"button",className:"mobile-menu-toggle",onClick:()=>P(!0),"aria-label":"Open conversation menu",children:(0,t.jsx)("span",{className:"hamburger-icon",children:"☰"})}),(0,t.jsxs)("a",{href:"/chat",className:"chat-header-title",children:[(0,t.jsx)("span",{className:"chat-brand-mark",children:"S"}),(0,t.jsx)("span",{className:"font-bold tracking-widest text-xs hidden xs:inline",children:"SIDURI"})]})]}),(0,t.jsxs)("div",{className:"chat-header-actions flex items-center gap-1.5 sm:gap-2.5",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>N(e=>!e),className:`connection-pill cursor-pointer transition-all focus-visible:ring-1 focus-visible:ring-[var(--siduri-border-ember)] outline-none ${A?"border-[var(--siduri-border-ember)] bg-[var(--siduri-tint-med)] text-[var(--siduri-ember-highlight)]":"hover:border-[var(--siduri-border-ember)] text-[var(--siduri-text-secondary)]"}`,"aria-label":"Toggle avatar presence","aria-expanded":A,title:A?"Disable Avatar Presence":"Enable Avatar Presence",children:[(0,t.jsx)("span",{className:`status-light ${A?"online":""}`}),(0,t.jsx)("span",{className:"text-xs",children:"Presence"})]}),(0,t.jsxs)("div",{className:`connection-pill flex items-center gap-1 sm:gap-1.5 transition-all focus-within:ring-1 focus-within:ring-[var(--siduri-border-ember)] ${"off"!==k?"border-[var(--siduri-border-ember)] bg-[var(--siduri-tint-med)] text-[var(--siduri-ember-highlight)]":"hover:border-[var(--siduri-border-ember)] text-[var(--siduri-text-secondary)]"}`,title:"Subtitle translation language",children:[(0,t.jsx)("span",{className:`status-light ${"off"!==k?"online":""}`}),(0,t.jsx)("span",{className:"text-[10px] uppercase font-mono tracking-wider opacity-60 hidden md:inline",children:"Subtitles:"}),(0,t.jsxs)("select",{value:["off","en","ja","id","es","zh","ko","fr","de"].includes(k)?k:"custom-selected",onChange:e=>{let t=e.target.value;if("custom"===t){let e=prompt("Enter subtitle language code or name (e.g. it, ru, de, pt, vi):");if(e&&e.trim()){let t=e.trim().toLowerCase();B(t);try{localStorage.setItem("siduri.chat.subtitleLanguage",t)}catch{}}}else if("custom-selected"!==t){B(t);try{localStorage.setItem("siduri.chat.subtitleLanguage",t)}catch{}}},className:"bg-transparent text-xs text-[var(--siduri-text-primary)] font-medium outline-none cursor-pointer border-none p-0 max-w-[84px] xs:max-w-[100px] sm:max-w-none","aria-label":"Select subtitle language",children:[(0,t.jsx)("option",{value:"off",className:"bg-[#121214] text-white",children:"Subtitles: Off"}),(0,t.jsx)("option",{value:"en",className:"bg-[#121214] text-white",children:"English (EN)"}),(0,t.jsx)("option",{value:"ja",className:"bg-[#121214] text-white",children:"Japanese (JA)"}),(0,t.jsx)("option",{value:"id",className:"bg-[#121214] text-white",children:"Indonesian (ID)"}),(0,t.jsx)("option",{value:"es",className:"bg-[#121214] text-white",children:"Spanish (ES)"}),(0,t.jsx)("option",{value:"zh",className:"bg-[#121214] text-white",children:"Chinese (ZH)"}),(0,t.jsx)("option",{value:"ko",className:"bg-[#121214] text-white",children:"Korean (KO)"}),(0,t.jsx)("option",{value:"fr",className:"bg-[#121214] text-white",children:"French (FR)"}),(0,t.jsx)("option",{value:"de",className:"bg-[#121214] text-white",children:"German (DE)"}),!["off","en","ja","id","es","zh","ko","fr","de"].includes(k)&&(0,t.jsx)("option",{value:"custom-selected",className:"bg-[#121214] text-white",children:k.toUpperCase()}),(0,t.jsx)("option",{value:"custom",className:"bg-[#121214] text-white",children:"Other..."})]})]}),(0,t.jsxs)("span",{className:"connection-pill hidden sm:inline-flex",title:`Status: ${d}`,children:[(0,t.jsx)("span",{className:`status-light ${"online"===d?"online":""}`}),(0,t.jsx)("span",{className:"text-xs",children:d})]}),(0,t.jsxs)("div",{className:"connection-pill flex items-center gap-1 sm:gap-1.5",title:"Operating interaction mode",children:[(0,t.jsx)("span",{className:"text-[10px] uppercase font-mono tracking-wider opacity-60 hidden md:inline",children:"Mode:"}),(0,t.jsxs)("select",{value:R,onChange:e=>S(e.target.value),className:"bg-transparent text-xs text-[var(--siduri-text-primary)] font-medium outline-none cursor-pointer border-none p-0 max-w-[84px] xs:max-w-[100px] sm:max-w-none","aria-label":"Select interaction mode",children:[(0,t.jsx)("option",{value:"auto",className:"bg-[#121214] text-white",children:"Auto"}),(0,t.jsx)("option",{value:"casual",className:"bg-[#121214] text-white",children:"Casual"}),(0,t.jsx)("option",{value:"teach",className:"bg-[#121214] text-white",children:"Teach"}),(0,t.jsx)("option",{value:"hybrid",className:"bg-[#121214] text-white",children:"Hybrid"})]})]})]})]}),(0,t.jsx)("div",{className:"flex flex-col flex-1 min-h-0 w-full overflow-hidden relative",children:(0,t.jsxs)("section",{className:"conversation-surface","aria-label":"Private chat",children:[(0,t.jsxs)("div",{ref:I,className:`conversation-scroll ${A?"presence-active":""}`,"aria-live":"polite",children:[A?(0,t.jsx)("div",{className:"avatar-presence-area","data-testid":"avatar-presence-area",children:(0,t.jsx)(p,{modelUrl:C,expression:_?.expression||"neutral",action:_?.action||"idle",state:_?.state||"idle",speechId:_?.speechId,lipSyncValue:_?.lipSyncValue,durationMs:_?.durationMs,className:"w-full h-full"})}):0===z.length?(0,t.jsx)(i,{onSelectPrompt:e=>c(e)}):z.map(e=>{let a;return(0,t.jsxs)("article",{className:`platform-message ${e.role}`,children:[(0,t.jsx)("div",{className:"message-avatar",children:"user"===e.role?"U":"S"}),(0,t.jsxs)("div",{className:"message-body",children:[(0,t.jsxs)("div",{className:"message-meta",children:[(0,t.jsx)("span",{children:"user"===e.role?"You":"Siduri"}),(0,t.jsx)("time",{children:b(e.createdAt)})]}),(0,t.jsx)("p",{className:"message-primary",children:e.content}),"off"!==k&&"assistant"===e.role&&((a=e.subtitles?.[k]||(e.subtitleLanguage===k?e.subtitle:void 0)||("ja"===k&&e.spokenJa&&e.spokenJa!==e.content?e.spokenJa:void 0)||(e.subtitle&&e.subtitle!==e.content?e.subtitle:void 0))&&a.trim()!==e.content.trim()?(0,t.jsxs)("p",{className:"message-translation",title:`Subtitle: ${k.toUpperCase()}`,children:[(0,t.jsxs)("span",{className:"text-[10px] font-mono uppercase tracking-wider opacity-60 mr-1.5 not-italic",children:["[",k,"]:"]}),a]}):null),e.evidenceIds&&e.evidenceIds.length>0&&(0,t.jsxs)("span",{className:"evidence-chip",children:[e.evidenceIds.length," evidence link",1===e.evidenceIds.length?"":"s"]}),e.memoryProposals&&e.memoryProposals.length>0&&(0,t.jsx)("div",{className:"memory-receipts",children:e.memoryProposals.map(a=>{let i=(a.status||"pending").toLowerCase().replace(/_/g,"-"),s="pending"===i;return(0,t.jsxs)("div",{className:`memory-receipt status-${i}`,children:[(0,t.jsxs)("strong",{children:["Remember",a.claim_type?` (${a.claim_type.toLowerCase()})`:"",":"]})," ",(0,r.formatClaimReceipt)(a),(0,t.jsx)("div",{className:"receipt-actions",children:s?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:()=>V(e.id,a.proposal_id,"approve"),children:"Approve"}),(0,t.jsx)("button",{type:"button",onClick:()=>V(e.id,a.proposal_id,"reject"),children:"Reject"})]}):(0,t.jsx)("span",{children:i.toUpperCase()})})]},a.proposal_id)})}),e.behavioralProposals&&e.behavioralProposals.length>0&&(0,t.jsx)("div",{className:"memory-receipts",children:e.behavioralProposals.map(a=>{let i=(a.status||"pending").toLowerCase().replace(/_/g,"-"),s="pending"===i;return(0,t.jsxs)("div",{className:`memory-receipt status-${i}`,children:[(0,t.jsxs)("strong",{children:["Runtime effect [",((a.knowledge_domain??a.domain)||"").toLowerCase()," ","→ ",((a.runtime_effect??a.memory_class)||"").toLowerCase(),"]:"]})," ",(0,r.formatRuntimeEffect)(a),(0,t.jsx)("div",{className:"receipt-actions",children:s?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:()=>W(e.id,a.directive_id,"approve"),children:"Approve"}),(0,t.jsx)("button",{type:"button",onClick:()=>W(e.id,a.directive_id,"reject"),children:"Reject"})]}):(0,t.jsx)("span",{children:i.toUpperCase()})})]},a.directive_id)})})]})]},e.id)}),m&&!A&&(0,t.jsxs)("div",{className:"platform-message assistant thinking-message",children:[(0,t.jsx)("div",{className:"message-avatar",children:"S"}),(0,t.jsxs)("div",{className:"message-body",children:[(0,t.jsxs)("div",{className:"message-meta",children:[(0,t.jsx)("span",{children:"Siduri"}),(0,t.jsx)("span",{className:"thinking-label",children:"thinking"})]}),(0,t.jsxs)("div",{className:"thinking-dots",children:[(0,t.jsx)("i",{}),(0,t.jsx)("i",{}),(0,t.jsx)("i",{})]})]})]})]}),(0,t.jsxs)("form",{className:"platform-composer",onSubmit:O,children:[(0,t.jsx)("textarea",{value:l,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),e.currentTarget.form?.requestSubmit())},placeholder:"Message Siduri…",rows:1,maxLength:4e3,"aria-label":"Message Siduri"}),(0,t.jsxs)("div",{className:"composer-bottom",children:[(0,t.jsxs)("span",{children:["Private local session ·"," ",G?`${G} evidence link${1===G?"":"s"}`:"No evidence attached"]}),m&&!l.trim()?(0,t.jsx)("button",{type:"button",onClick:function(){U.current&&(U.current.abort("user_stop"),U.current=null),(0,x.interruptChat)("default","user_stop"),h(!1),u("online")},"aria-label":"Stop generation",title:"Stop generation",children:"■"}):(0,t.jsx)("button",{type:"submit",disabled:!l.trim(),"aria-label":"Send message",children:"↑"})]})]})]})}),(0,t.jsx)("p",{className:"chat-disclaimer",children:"Siduri can be uncertain. Verify important details against the evidence."})]})]})}],12650)}]);
@@ -0,0 +1 @@
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-900:#82181a;--color-emerald-400:#00d294;--color-gray-400:#99a1af;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-900:lab(28.5139% 44.5539 29.0463);--color-emerald-400:lab(75.0771% -60.7313 19.4147);--color-gray-400:lab(65.9269% -.832707 -8.17473)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-0{top:0}.right-6{right:calc(var(--spacing) * 6)}.z-10{z-index:10}.mx-auto{margin-inline:auto}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-1{margin-bottom:var(--spacing)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-14{margin-bottom:calc(var(--spacing) * 14)}.ml-1{margin-left:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-auto{height:auto}.h-full{height:100%}.min-h-0{min-height:0}.min-h-\[200px\]{min-height:200px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[84px\]{max-width:84px}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--siduri-border-ember\)\]{border-color:var(--siduri-border-ember)}.border-\[var\(--siduri-border-subtle\)\]{border-color:var(--siduri-border-subtle)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\/20{border-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab, red, red)){.border-red-500\/50{border-color:color-mix(in oklab, var(--color-red-500) 50%, transparent)}}.bg-\[\#0b0b0e\]{background-color:#0b0b0e}.bg-\[\#0b0b0e\]\/90{background-color:#0b0b0ee6;background-color:lab(3.08016% .357017 -1.30976/.9)}.bg-\[\#0b0b0e\]\/95{background-color:#0b0b0ef2;background-color:lab(3.08016% .357017 -1.30976/.95)}.bg-\[\#0e0e12\]{background-color:#0e0e12}.bg-\[\#09090c\]{background-color:#09090c}.bg-\[\#13131a\]{background-color:#13131a}.bg-\[\#121214\]{background-color:#121214}.bg-\[var\(--siduri-bg\)\]{background-color:var(--siduri-bg)}.bg-\[var\(--siduri-ember\)\]{background-color:var(--siduri-ember)}.bg-\[var\(--siduri-ember-highlight\)\]{background-color:var(--siduri-ember-highlight)}.bg-\[var\(--siduri-online\)\]{background-color:var(--siduri-online)}.bg-\[var\(--siduri-sidebar\)\]{background-color:var(--siduri-sidebar)}.bg-\[var\(--siduri-surface\)\],.bg-\[var\(--siduri-surface\)\]\/40{background-color:var(--siduri-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--siduri-surface\)\]\/40{background-color:color-mix(in oklab, var(--siduri-surface) 40%, transparent)}}.bg-\[var\(--siduri-surface\)\]\/50{background-color:var(--siduri-surface)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--siduri-surface\)\]\/50{background-color:color-mix(in oklab, var(--siduri-surface) 50%, transparent)}}.bg-\[var\(--siduri-tint-low\)\]{background-color:var(--siduri-tint-low)}.bg-\[var\(--siduri-tint-med\)\]{background-color:var(--siduri-tint-med)}.bg-\[var\(--siduri-warning\)\]{background-color:var(--siduri-warning)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/20{background-color:color-mix(in oklab, var(--color-red-900) 20%, transparent)}}.bg-transparent{background-color:#0000}.p-0{padding:0}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-serif{font-family:var(--font-serif)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-\[1\.2\]{--tw-leading:1.2;line-height:1.2}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.text-\[\#1b1619\]{color:#1b1619}.text-\[\#eee8df\]{color:#eee8df}.text-\[var\(--siduri-ember\)\]{color:var(--siduri-ember)}.text-\[var\(--siduri-ember-highlight\)\]{color:var(--siduri-ember-highlight)}.text-\[var\(--siduri-ember-light\)\]{color:var(--siduri-ember-light)}.text-\[var\(--siduri-online\)\]{color:var(--siduri-online)}.text-\[var\(--siduri-text-dim\)\]{color:var(--siduri-text-dim)}.text-\[var\(--siduri-text-muted\)\]{color:var(--siduri-text-muted)}.text-\[var\(--siduri-text-primary\)\]{color:var(--siduri-text-primary)}.text-\[var\(--siduri-text-secondary\)\]{color:var(--siduri-text-secondary)}.text-black{color:var(--color-black)}.text-emerald-400{color:var(--color-emerald-400)}.text-gray-400{color:var(--color-gray-400)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.not-italic{font-style:normal}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-\[0_0_6px_rgba\(127\,199\,154\,0\.6\)\]{--tw-shadow:0 0 6px var(--tw-shadow-color,#7fc79a99);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_6px_rgba\(244\,194\,141\,0\.8\)\]{--tw-shadow:0 0 6px var(--tw-shadow-color,#f4c28dcc);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(127\,199\,154\,0\.6\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,#7fc79a99);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_4px_20px_rgba\(217\,154\,104\,0\.2\)\]{--tw-shadow:0 4px 20px var(--tw-shadow-color,#d99a6833);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_35px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 10px 35px var(--tw-shadow-color,#0006);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.selection\:bg-\[\#d99a68\]\/30 ::selection,.selection\:bg-\[\#d99a68\]\/30::selection{background-color:#d99a684d;background-color:lab(69.071% 20.2311 35.9814/.3)}.selection\:text-\[\#f4c28d\] ::selection,.selection\:text-\[\#f4c28d\]::selection{color:#f4c28d}.focus-within\:ring-1:focus-within{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-within\:ring-\[var\(--siduri-border-ember\)\]:focus-within{--tw-ring-color:var(--siduri-border-ember)}@media (hover:hover){.hover\:border-\[var\(--siduri-border-ember\)\]:hover{border-color:var(--siduri-border-ember)}.hover\:bg-\[var\(--siduri-elevated\)\]:hover{background-color:var(--siduri-elevated)}.hover\:bg-\[var\(--siduri-surface\)\]:hover{background-color:var(--siduri-surface)}.hover\:bg-\[var\(--siduri-tint-low\)\]:hover{background-color:var(--siduri-tint-low)}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.hover\:text-\[var\(--siduri-text-primary\)\]:hover{color:var(--siduri-text-primary)}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[var\(--siduri-border-ember\)\]:focus-visible{--tw-ring-color:var(--siduri-border-ember)}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}}@media not all and (min-width:40rem){.max-sm\:max-h-\[320px\]{max-height:320px}}@media (min-width:40rem){.sm\:right-8{right:calc(var(--spacing) * 8)}.sm\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.sm\:mb-10{margin-bottom:calc(var(--spacing) * 10)}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:h-full{height:100%}.sm\:min-h-\[260px\]{min-height:260px}.sm\:w-\[300px\]{width:300px}.sm\:max-w-none{max-width:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-16{gap:calc(var(--spacing) * 16)}.sm\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.sm\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:py-24{padding-block:calc(var(--spacing) * 24)}.sm\:text-left{text-align:left}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}}@media (min-width:48rem){.md\:inline{display:inline}.md\:w-\[320px\]{width:320px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:py-28{padding-block:calc(var(--spacing) * 28)}.md\:py-32{padding-block:calc(var(--spacing) * 32)}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (min-width:64rem){.lg\:w-\[340px\]{width:340px}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}:root{--siduri-bg:#0b0b0e;--siduri-sidebar:#0f0f12;--siduri-surface:#121216;--siduri-elevated:#17171c;--siduri-ember:#d99a68;--siduri-ember-light:#e1a16f;--siduri-ember-highlight:#f4c28d;--siduri-border-subtle:#ffffff16;--siduri-border-ember:#e1a16f59;--siduri-tint-low:#e1a16f14;--siduri-tint-med:#e1a16f26;--siduri-online:#7fc79a;--siduri-warning:#e2b36e;--siduri-danger:#c97979;--siduri-text-primary:#eee8df;--siduri-text-secondary:#b8b4bb;--siduri-text-muted:#77747c;--siduri-text-dim:#55525a;--font-ui:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, ui-sans-serif, system-ui, sans-serif;--font-serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", Georgia, serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--siduri-bg);color:var(--siduri-text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;overflow:hidden auto}::selection{color:var(--siduri-ember-highlight);background:#d99a6840}:focus-visible{outline:1px solid var(--siduri-ember-light);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#e1a16f59}.siduri-glyph{border:1px solid var(--siduri-border-ember);color:var(--siduri-ember);background:var(--siduri-tint-low);font-family:var(--font-serif);letter-spacing:0;border-radius:8px;place-items:center;font-weight:500;line-height:1;display:inline-grid}a{color:inherit;text-decoration:none}.home-page{background-color:var(--siduri-bg);background-image:radial-gradient(60% 40% at 50% -10%,#d99a6812,#0000),radial-gradient(800px at 90% 90%,#d99a6808,#0000);flex-direction:column;min-height:100dvh;display:flex}.home-container{width:min(1120px,100% - 48px);margin:0 auto}.home-nav{z-index:20;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--siduri-border-subtle);background:#0b0b0ed9;position:sticky;top:0}.home-nav-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.brand-link{color:var(--siduri-ember);letter-spacing:.22em;align-items:center;gap:10px;font-size:12px;font-weight:700;display:inline-flex}.brand-link .siduri-glyph{width:26px;height:26px;font-size:14px}.nav-links{letter-spacing:.1em;text-transform:uppercase;color:var(--siduri-text-muted);align-items:center;gap:24px;font-size:11px;display:flex}.nav-links a{transition:color .15s}.nav-links a:hover{color:var(--siduri-text-primary)}.nav-cta{border:1px solid var(--siduri-border-ember);background:var(--siduri-tint-low);color:var(--siduri-text-primary);letter-spacing:.08em;text-transform:uppercase;border-radius:8px;align-items:center;gap:8px;padding:7px 14px;font-size:11px;font-weight:600;transition:all .2s;display:inline-flex}.nav-cta:hover{background:var(--siduri-tint-med);border-color:var(--siduri-ember-light);color:var(--siduri-ember-highlight)}.chat-app{--chat-bg:#0b0b0e;--chat-panel:#121216;--chat-line:#ffffff16;--chat-soft:#8d8a92;--chat-text:#eeeaf0;width:100%;height:100dvh;min-height:0;color:var(--chat-text);background:var(--chat-bg);font-family:var(--font-ui);display:flex;overflow:hidden}.chat-sidebar{border-right:1px solid var(--chat-line);background:var(--siduri-sidebar);flex-direction:column;flex:0 0 272px;min-height:100dvh;padding:18px 13px 14px;display:flex}.sidebar-collapsed .chat-sidebar{flex-basis:58px;padding-inline:9px}.sidebar-collapsed .chat-sidebar-top{justify-content:center;padding-inline:0}.sidebar-collapsed .chat-brand span:last-child,.sidebar-collapsed .new-chat-button,.sidebar-collapsed .history-heading,.sidebar-collapsed .conversation-list,.sidebar-collapsed .sidebar-footer span:nth-child(2),.sidebar-collapsed .sidebar-footer b{display:none}.sidebar-collapsed .sidebar-collapse{display:block}.sidebar-collapsed .sidebar-footer{border-top:0;justify-content:center;padding-inline:0}.chat-sidebar-top{justify-content:space-between;align-items:center;padding:1px 8px 25px;display:flex}.chat-brand{color:var(--siduri-ember-light);letter-spacing:.22em;align-items:center;gap:9px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.chat-brand-mark{border:1px solid var(--siduri-border-ember);width:24px;height:24px;color:var(--siduri-ember-light);font-family:var(--font-serif);letter-spacing:0;border-radius:8px;place-items:center;font-size:14px;display:grid}.sidebar-collapse{border:1px solid var(--chat-line);width:28px;min-height:28px;color:var(--chat-soft);cursor:pointer;background:0 0;border-radius:8px;padding:0;font-size:14px}.new-chat-button{border:1px solid var(--siduri-border-ember);color:#e6d7cd;background:var(--siduri-tint-low);cursor:pointer;border-radius:10px;justify-content:flex-start;align-items:center;width:100%;min-height:42px;padding:0 13px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.new-chat-button:hover{background:var(--siduri-tint-med);color:#fff}.new-chat-button span{color:var(--siduri-ember-light);margin-right:8px;font-size:18px}.history-heading{color:var(--siduri-text-muted);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding:30px 9px 10px;font-size:10px;display:flex}.history-heading span:last-child{color:var(--siduri-text-dim)}.conversation-list{flex:1;overflow-y:auto}.history-empty{color:#65626a;padding:10px;font-size:12px;line-height:1.55}.conversation-row{border-radius:9px;align-items:center;margin:2px 0;display:flex}.conversation-row.selected{background:#fff1}.conversation-select{color:#b8b4bb;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;flex-direction:column;flex:1;align-items:flex-start;gap:5px;min-width:0;padding:11px 10px;font-size:12px;display:flex}.conversation-row.selected .conversation-select{color:#f1edf1}.conversation-title{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.conversation-date{color:#65616b;font-size:10px}.conversation-delete{color:#8b858e;cursor:pointer;background:0 0;border:0;border-radius:6px;width:25px;min-height:25px;margin-right:5px;padding:0;display:none}.conversation-row:hover .conversation-delete,.conversation-row:focus-within .conversation-delete{display:block}.conversation-delete:hover{color:var(--siduri-ember-light);background:#ffffff14}.sidebar-footer{border-top:1px solid var(--chat-line);color:var(--siduri-text-muted);align-items:center;padding:14px 9px 0;font-size:11px;display:flex}.sidebar-console{color:#85808a;border-radius:8px;align-items:center;gap:9px;width:100%;padding:8px 9px;text-decoration:none;transition:all .15s;display:flex}.sidebar-console:hover{color:var(--siduri-ember-light);background:#ffffff0d}.sidebar-console span:first-child{color:#a79faa;font-size:15px}.sidebar-console b{color:#625e67;margin-left:auto;font-size:12px;font-weight:400}.status-light{background:#6b5961;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 3px #6b59611a}.status-light.online{background:var(--siduri-online);box-shadow:0 0 0 3px #7fc79a1a}.chat-workspace{flex-direction:column;flex:1;min-width:0;max-width:none;height:100svh;min-height:0;margin:0;padding:0;display:flex;position:relative;overflow:hidden}@supports (height:100dvh){.chat-workspace{height:100dvh}}.chat-header{border-bottom:1px solid var(--chat-line);-webkit-backdrop-filter:blur(12px);z-index:10;background:#0b0b0ed9;justify-content:space-between;align-items:center;height:56px;min-height:56px;padding:0 clamp(16px,3vw,48px);display:flex}.chat-header-brand-group{align-items:center;gap:12px;display:flex}.mobile-menu-toggle{border:1px solid var(--chat-line);width:40px;height:40px;min-height:40px;color:var(--siduri-text-primary);cursor:pointer;background:#ffffff08;border-radius:8px;place-items:center;padding:0;font-size:18px;transition:all .15s;display:none}.mobile-menu-toggle:active{border-color:var(--siduri-border-ember);background:#ffffff14}.chat-header-title{color:var(--siduri-ember-light);align-items:center;gap:8px;text-decoration:none;display:none}.mobile-drawer-close{border:1px solid var(--chat-line);width:32px;height:32px;min-height:32px;color:var(--siduri-text-muted);cursor:pointer;background:0 0;border-radius:8px;place-items:center;padding:0;font-size:15px;display:none}.mobile-drawer-close:hover,.mobile-drawer-close:active{color:var(--siduri-text-primary);border-color:var(--siduri-border-ember)}.chat-backdrop{display:none}.chat-header-actions{align-items:center;gap:8px;display:flex}.connection-pill{border:1px solid var(--chat-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0b0eb3;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.conversation-surface{flex-direction:column;flex:1;width:calc(100% - 48px);max-width:1200px;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden}.conversation-scroll{min-height:0;padding:38px 0 max(150px, calc(env(safe-area-inset-bottom) + 142px));scrollbar-color:#39363e transparent;scrollbar-width:thin;flex:1;overflow-y:auto}.conversation-scroll.presence-active{height:100%;min-height:0;padding-top:20px;padding-bottom:max(150px, calc(env(safe-area-inset-bottom) + 142px));flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-presence-area{flex:1;justify-content:center;align-items:center;width:100%;max-width:720px;height:100%;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}.platform-message{gap:16px;max-width:760px;margin:0 auto 30px;display:flex}.message-avatar{color:#19151a;background:var(--siduri-ember);border-radius:10px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:11px;font-weight:700;display:grid}.platform-message.user .message-avatar{color:#eee8ef;background:#7568a7}.message-body{flex:1;min-width:0;padding-top:2px}.message-meta{color:#e7e1e8;align-items:baseline;gap:10px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.message-meta time,.thinking-label{color:#68646d;font-size:10px;font-weight:400}.message-primary{color:#ded9e0;font-family:var(--font-serif);white-space:pre-wrap;margin:0;font-size:17px;line-height:1.65}.message-translation{color:#96919c;margin:7px 0 0;font-size:13px;font-style:italic;line-height:1.55}.evidence-chip{color:#8bb99b;background:#7fc79a12;border:1px solid #7fc79a38;border-radius:6px;margin-top:12px;padding:5px 8px;font-size:10px;display:inline-block}.memory-receipts{flex-direction:column;gap:8px;margin-top:12px;display:flex}.memory-receipt{background:#e1a16f0d;border:1px solid #e1a16f40;border-radius:9px;padding:10px 14px;font-size:12px;line-height:1.5}.memory-receipt strong{color:var(--siduri-ember-light)}.memory-receipt.status-approved{background:#7fc79a0f;border-color:#7fc79a59}.memory-receipt.status-rejected{opacity:.75;background:#c979790d;border-color:#c979794d}.receipt-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.receipt-actions button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:11px;font-weight:600;transition:all .15s;display:inline-flex}.receipt-actions button:first-child{background:var(--siduri-online);color:#111}.receipt-actions button:first-child:hover,.receipt-actions button:first-child:active{filter:brightness(1.1)}.receipt-actions button:last-child{border-color:var(--siduri-border-subtle);color:var(--siduri-text-secondary);background:0 0}.receipt-actions button:last-child:hover,.receipt-actions button:last-child:active{color:var(--siduri-danger);border-color:#c979794d}.receipt-actions span{font-size:10px;font-family:var(--font-mono);letter-spacing:.05em;opacity:.8;font-weight:600}.chat-empty-state{text-align:center;max-width:520px;margin:auto;padding:70px 0}.siduri-orb{width:54px;height:54px;color:var(--siduri-ember-highlight);background:var(--siduri-tint-low);font-family:var(--font-serif);border:1px solid #e1a16f99;border-radius:18px;place-items:center;margin:0 auto 22px;font-size:26px;display:grid;box-shadow:0 0 35px #d99a681f}.chat-empty-state h2{color:#ebe5ec;font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:clamp(24px,4vw,33px);font-weight:400}.chat-empty-state p{color:#85808a;margin:13px auto 25px;font-size:13px;line-height:1.6}.starter-prompts{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.starter-prompts button{border:1px solid var(--chat-line);color:#a7a0aa;cursor:pointer;background:#ffffff09;border-radius:8px;min-height:34px;padding:0 11px;font-size:11px;transition:all .15s}.starter-prompts button:hover{color:#e5d8ce;border-color:var(--siduri-border-ember);background:var(--siduri-tint-low)}.onboarding-prompts{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,460px);margin:0 auto;display:grid}.onboarding-prompts button{height:auto;min-height:62px;padding:11px 13px;line-height:1.35}.onboarding-prompts button span{color:var(--siduri-ember-light);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:9px;font-weight:700;display:block}.chat-empty-state .onboarding-privacy{color:#6f6a73;max-width:430px;margin:15px auto 0;font-size:10px}.platform-composer{z-index:5;right:0;bottom:max(30px, calc(env(safe-area-inset-bottom) + 22px));background:var(--siduri-elevated);border:1px solid #ffffff21;border-radius:15px;width:100%;margin:0;padding:14px 15px 11px;position:absolute;left:0;box-shadow:0 10px 35px #00000038}.platform-composer textarea{resize:none;color:#ebe6ed;width:100%;min-height:42px;max-height:140px;font:16px var(--font-ui);background:0 0;border:0;outline:0;margin:0;padding:4px 2px 10px;line-height:1.5;display:block}.platform-composer textarea::placeholder{color:#77737d}.composer-bottom{color:#69656e;justify-content:space-between;align-items:center;gap:16px;font-size:10px;display:flex}.composer-bottom button{color:#1b1619;background:var(--siduri-ember);cursor:pointer;border:0;border-radius:9px;place-items:center;width:29px;height:29px;min-height:29px;padding:0;font-size:19px;line-height:1;transition:opacity .15s;display:grid}.composer-bottom button:disabled{cursor:default;opacity:.35}.thinking-dots{gap:4px;padding:8px 0;display:flex}.thinking-dots i{background:var(--siduri-ember);border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite chat-blink}.thinking-dots i:nth-child(2){animation-delay:.15s}.thinking-dots i:nth-child(3){animation-delay:.3s}.chat-disclaimer{right:0;bottom:max(7px, env(safe-area-inset-bottom));color:#5f5b64;text-align:center;pointer-events:none;width:100%;margin:0;padding:0 24px;font-size:10px;position:absolute;left:0}@keyframes chat-blink{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}.console-app{--console-bg:#111014;--console-sidebar:#16141a;--console-panel:#1a181f;--console-line:#ffffff17;--console-text:#eee8df;--console-muted:#938d98;--console-accent:#e2a16e;--console-green:#8fc5a0;--console-warn:#e2b36e;width:100%;max-width:none;min-height:100dvh;color:var(--console-text);background:var(--console-bg);font-family:var(--font-ui);margin:0;padding:0;display:flex}.console-sidebar{border-right:1px solid var(--console-line);background:var(--console-sidebar);flex-direction:column;flex:0 0 238px;min-height:100dvh;padding:24px 14px 18px;display:flex}.console-brand{color:var(--console-accent);letter-spacing:.24em;align-items:center;gap:10px;padding:0 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.console-brand-mark{width:26px;height:26px;font-family:var(--font-serif);letter-spacing:0;border:1px solid #e2a16e8c;border-radius:8px;place-items:center;font-size:15px;display:grid}.console-context{color:#77727c;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;margin:42px 9px 13px;font-size:10px;display:flex}.console-context-dot{background:var(--console-accent);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #e2a16e17}.console-nav{gap:3px;display:grid}.console-nav button{color:#8c8790;text-align:left;width:100%;min-height:39px;font:12px var(--font-ui);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:0 11px;font-weight:500;transition:all .15s;display:flex}.console-nav button:hover{color:var(--console-text);background:#ffffff0b}.console-nav button.active{color:var(--console-text);background:#e2a16e21}.nav-glyph{opacity:.7;border:1px solid;border-radius:2px;width:7px;height:7px}.nav-memory{border-radius:50%}.nav-evidence{transform:rotate(45deg)}.nav-settings{border-radius:50%}.console-sidebar-bottom{border-top:1px solid var(--console-line);gap:10px;margin-top:auto;padding:18px 10px 0;display:grid}.console-sidebar-bottom a{color:#aaa3ae;font-size:12px;text-decoration:none}.console-sidebar-bottom a:hover{color:var(--console-accent)}.console-sidebar-bottom span{color:#625e67;font-size:10px}.console-main{flex:1;min-width:0;padding:0 clamp(24px,5vw,72px) 60px;overflow:hidden}.console-topbar{border-bottom:1px solid var(--console-line);justify-content:space-between;align-items:center;min-height:116px;display:flex}.console-eyebrow{color:var(--console-accent);letter-spacing:.22em;margin:0 0 10px;font-size:9px}.console-topbar h1{color:var(--console-text);font-family:var(--font-ui);letter-spacing:-.04em;margin:0;font-size:clamp(25px,3vw,38px);font-weight:500}.console-top-actions{align-items:center;gap:11px;display:flex}.console-back-link{border:1px solid var(--console-line);color:var(--console-accent);font:11px var(--font-mono);border-radius:6px;align-items:center;padding:5px 11px;text-decoration:none;transition:all .15s;display:inline-flex}.console-back-link:hover,.console-back-link:active{background:#e2a16e14;border-color:#e2a16e73}.console-mobile-back{border:1px solid var(--console-line);color:var(--console-accent);font:11px var(--font-mono);border-radius:6px;align-items:center;padding:4px 9px;text-decoration:none;display:none}.console-version{color:#77727c;font:10px var(--font-mono)}.console-refresh{border:1px solid var(--console-line);color:#aaa3ae;cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:32px;height:32px;min-height:32px;padding:0;font-size:18px;transition:all .15s;display:grid}.console-refresh:hover{color:var(--console-accent);border-color:#e2a16e73}.console-notice{color:#d9b58e;background:#e2a16e14;border:1px solid #e2a16e4d;border-radius:8px;margin-top:18px;padding:11px 14px;font-size:12px}.console-view{padding-top:30px}.status-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.status-card{border:1px solid var(--console-line);background:var(--console-panel);border-radius:12px;min-width:0;padding:17px 18px}.status-card-top{color:var(--console-muted);justify-content:space-between;align-items:center;margin-bottom:20px;font-size:11px;display:flex}.status-card strong{color:#eee8df;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:500;display:block;overflow:hidden}.status-card small{color:#6e6972;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:10px;display:block;overflow:hidden}.status-dot{background:#756b75;border-radius:50%;width:7px;height:7px;display:block}.status-dot.good{background:var(--console-green);box-shadow:0 0 0 4px #8fc5a01a}.status-dot.warn{background:var(--console-warn);box-shadow:0 0 0 4px #e2b36e17}.status-dot.bad{background:var(--siduri-danger);box-shadow:0 0 0 4px #c979791a}.console-columns{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:12px;margin-top:12px;display:grid}.console-panel{border:1px solid var(--console-line);background:var(--console-panel);border-radius:12px}.approval-panel,.queue-panel,.quick-panel{padding:20px}.panel-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.panel-header h2{color:#e7e0e7;margin:0;font-size:14px;font-weight:600}.panel-header button{color:var(--console-accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:500}.gate-row{align-items:center;gap:13px;min-height:58px;display:flex}.gate-icon{color:#1b171c;background:var(--console-green);border-radius:10px;flex:0 0 33px;place-items:center;width:33px;height:33px;font-weight:700;display:grid}.gate-icon.pending{color:#2a1e13;background:var(--console-warn)}.gate-row strong{color:#e7e0e7;font-size:12px;font-weight:500;display:block}.gate-row p{color:var(--console-muted);margin:6px 0 0;font-size:11px}.button-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.console-app button{cursor:pointer;font-family:var(--font-ui);border:0;border-radius:8px;font-size:11px;font-weight:600}.button-row button,.quick-actions button{color:#21181a;background:var(--console-accent);min-height:35px;font-family:var(--font-ui);cursor:pointer;border:0;border-radius:8px;padding:0 12px;font-size:11px;font-weight:600;transition:filter .15s}.button-row button:hover,.quick-actions button:hover{filter:brightness(1.08)}.button-row button:disabled{cursor:wait;opacity:.5}.button-row .soft-button{color:#d5cbd5;background:#332c38}.button-row .approve-button,.approve-button{color:#16251a;background:var(--console-green)}.technical-details,.row-details{color:#817a86;font:10px var(--font-mono);margin-top:15px}.technical-details summary,.row-details summary{cursor:pointer;color:#9d8f9f;font-family:var(--font-ui);font-size:10px}.technical-details pre,.row-details pre{color:#c0b6c2;white-space:pre-wrap;background:#111015;border-radius:7px;max-height:230px;margin:10px 0 0;padding:12px;overflow:auto}.queue-row{border-top:1px solid var(--console-line);color:#b2abb5;justify-content:space-between;align-items:center;padding:15px 0;font-size:12px;display:flex}.queue-count{color:#9b929e;background:#ffffff12;border-radius:7px;place-items:center;min-width:24px;height:24px;font-size:11px;display:grid}.queue-count.warn{color:#dcb477;background:#e2b36e1f}.quick-panel{margin-top:12px}.quick-actions{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.quick-actions button{color:#bdb2bf;background:#27222c;justify-content:space-between;align-items:center;font-weight:500;display:flex}.quick-actions button span{color:var(--console-accent);font-size:16px}.view-intro{justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px;display:flex}.view-intro h2{color:#ebe5ec;letter-spacing:-.03em;margin:0;font-size:clamp(20px,3vw,28px);font-weight:500}.view-intro p:not(.console-eyebrow){max-width:560px;color:var(--console-muted);margin:9px 0 0;font-size:12px;line-height:1.5}.count-badge{color:#d3aa83;white-space:nowrap;background:#e2a16e14;border:1px solid #e2a16e47;border-radius:999px;padding:8px 10px;font-size:10px}.table-panel{margin-bottom:12px;overflow:hidden}.table-toolbar{border-bottom:1px solid var(--console-line);justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;display:flex}.table-toolbar strong{color:#e7e0e7;font-size:13px;font-weight:600}.table-toolbar span{color:#77717c;font-size:10px}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th{color:#77717c;border-bottom:1px solid var(--console-line);letter-spacing:.1em;text-transform:uppercase;padding:11px 16px;font-size:9px;font-weight:500}.data-table td{color:#b9b1bb;vertical-align:top;border-bottom:1px solid #ffffff0e;padding:14px 16px;font-size:11px}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#e5dfe6;font-size:12px;font-weight:500;display:block}.data-table td small{color:#706a75;margin-top:5px;font-size:10px;display:block}.table-editor{resize:vertical;color:#ded7e0;width:min(330px,28vw);min-height:54px;font:11px var(--font-ui);background:#00000024;border:1px solid #0000;border-radius:6px;outline:0;margin:0 0 7px;padding:8px;line-height:1.4;display:block}.table-editor:focus{border-color:#e2a16e66}.table-actions{flex-wrap:wrap;gap:5px;display:flex}.tiny-button{color:#d9cfdc;cursor:pointer;background:#342c39;border:0;border-radius:6px;min-height:27px;padding:0 8px;font-size:10px!important}.tiny-button:hover{background:#493b4c}.tiny-button.danger-button{color:#d79595;background:#c979791a}.tag{color:#aaa0ad;font:10px var(--font-mono);background:#ffffff12;border-radius:5px;padding:5px 7px;display:inline-block}.status-approved{color:#9bcaa9;background:#8fc5a01a}.status-rejected{color:#d79595;background:#c979791a}.table-link{color:var(--console-accent);text-decoration:none}.event-text{color:#e2dce3;text-overflow:ellipsis;white-space:nowrap;max-width:330px;display:block;overflow:hidden}.profile-panel{max-width:920px;padding-bottom:19px}.empty-state{text-align:center;place-items:center;padding:60px 20px;display:grid}.empty-state>span{color:#746b76;margin-bottom:12px;font-size:25px}.empty-state strong{color:#d6ced9;font-size:13px;font-weight:500}.empty-state p{color:#77717c;margin:8px 0 0;font-size:11px}:is(html:has(#overlay),body:has(#overlay)){overflow:hidden}body:has(#overlay){font-family:var(--font-serif);background:0 0}#overlay{pointer-events:none;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:60px;display:flex;position:fixed;inset:0}.venus{place-items:center;width:72px;height:72px;margin-bottom:24px;display:grid;position:relative}.venus .core{color:var(--siduri-ember-highlight);text-shadow:0 0 20px #d99a6899;font-size:28px;animation:4s ease-in-out infinite float}.venus .halo{border:1px solid #e1a16f66;border-radius:50%;animation:3s ease-in-out infinite pulse-halo;position:absolute;inset:0;box-shadow:0 0 25px #d99a6833}.venus.speaking .core{transform:scale(calc(1 + var(--amplitude,0) * .3))}#captions{border:1px solid var(--siduri-border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#0b0b0ed9;border-radius:12px;max-width:720px;padding:12px 24px}#captions p{margin:4px 0}#captions #ja{color:var(--siduri-text-primary);font-size:18px;font-family:var(--font-serif)}#captions #en,#captions #id{color:var(--siduri-text-secondary);font-size:13px;font-style:italic}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse-halo{0%,to{opacity:.3;transform:scale(.95)}50%{opacity:.7;transform:scale(1.08)}}@media (max-width:900px){.console-sidebar{flex-basis:190px}.status-grid{grid-template-columns:repeat(2,1fr)}.console-columns{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.table-editor{width:min(280px,40vw)}}@media (max-width:768px){.mobile-menu-toggle{display:grid}.chat-header-title{display:flex}.mobile-drawer-close{display:grid}.sidebar-collapse{display:none!important}.chat-sidebar{z-index:50;width:min(300px,85vw);height:100dvh;padding-top:max(18px, env(safe-area-inset-top));padding-bottom:max(18px, env(safe-area-inset-bottom));border-right:1px solid var(--siduri-border-subtle);background:var(--siduri-sidebar);transition:transform .28s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:8px 0 32px #000000b3}.mobile-drawer-open .chat-sidebar{transform:translate(0)}.mobile-drawer-open .chat-backdrop{-webkit-backdrop-filter:blur(4px);z-index:45;background:#000000b3;display:block;position:fixed;inset:0}.chat-brand span:last-child,.new-chat-button,.history-heading,.conversation-list,.sidebar-footer span:nth-child(2),.sidebar-footer b{display:block!important}.new-chat-button{width:100%;margin:0;padding:0 13px}.new-chat-button span{margin-right:8px}.sidebar-footer{border-top:1px solid var(--chat-line);justify-content:flex-start;padding-inline:9px}.sidebar-console{justify-content:flex-start;padding-inline:9px}.sidebar-console span:first-child{font-size:15px}.conversation-row{align-items:center;display:flex}.conversation-select{flex:1;display:flex}.conversation-delete{opacity:.7;color:#aaa3ae;place-items:center;width:36px;height:36px;min-height:36px;margin-right:4px;font-size:18px;display:grid!important}.conversation-delete:active{opacity:1;color:var(--siduri-danger)}.chat-header{padding-inline:max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right));height:52px;min-height:52px}.conversation-surface{width:100%;padding-inline:12px}.conversation-scroll{padding-top:16px;padding-bottom:max(130px, calc(env(safe-area-inset-bottom) + 110px))}.conversation-scroll.presence-active{padding-top:10px;padding-bottom:max(130px, calc(env(safe-area-inset-bottom) + 110px))}.avatar-presence-area{max-width:100%;min-height:0}.platform-composer{width:auto;left:10px;right:10px;bottom:max(14px, calc(env(safe-area-inset-bottom) + 8px));border-radius:14px;padding:10px 12px}.platform-composer textarea{min-height:38px;padding:2px 2px 6px;font-size:16px}.composer-bottom{gap:8px;font-size:10px}.composer-bottom button{border-radius:10px;width:38px;height:38px;min-height:38px;font-size:20px}.composer-bottom span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-message{gap:10px;margin-bottom:20px}.message-primary{font-size:15px;line-height:1.55}.message-translation{font-size:12px}.chat-empty-state{padding:30px 10px}.onboarding-prompts{grid-template-columns:1fr}.chat-disclaimer{display:none}}@media (max-width:640px){.console-app{display:block}.console-sidebar{border-right:0;border-bottom:1px solid var(--console-line);min-height:auto;padding:12px 14px}.console-mobile-back{display:inline-flex}.console-context,.console-sidebar-bottom{display:none}.console-brand{padding-left:0}.console-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;margin-top:12px;padding-bottom:2px;display:flex;overflow-x:auto}.console-nav::-webkit-scrollbar{display:none}.console-nav button{border-radius:8px;flex:none;width:auto;min-height:36px;padding-inline:12px;font-size:11px}.console-main{padding:0 max(12px, env(safe-area-inset-left)) max(40px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-right))}.console-topbar{flex-wrap:wrap;gap:10px;min-height:72px;padding-block:14px}.console-topbar h1{font-size:22px}.status-grid{grid-template-columns:1fr 1fr;gap:8px}.status-card{padding:12px 14px}.status-card strong{font-size:15px}.view-intro{display:block}.view-intro .button-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.view-intro .button-row button{min-height:38px;padding:0 14px}.quick-actions{grid-template-columns:1fr}.data-table-wrap{-webkit-overflow-scrolling:touch}.data-table th,.data-table td{padding:10px 8px}.tiny-button{min-height:34px;padding:0 10px;font-size:11px!important}.table-actions{gap:6px}.table-editor{width:100%;max-width:240px}.data-table{min-width:600px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,80951,e=>{"use strict";var s=e.i(30696),t=e.i(64249);function a({title:e,detail:t}){return(0,s.jsxs)("div",{className:"empty-state",children:[(0,s.jsx)("span",{children:"◌"}),(0,s.jsx)("strong",{children:e}),(0,s.jsx)("p",{children:t})]})}var n=e.i(94108),i=e.i(51523);function r(e){return e.length>19?`${e.slice(0,9)}…${e.slice(-7)}`:e}function l(e){if(!e)return"—";let s=new Date(e);return Number.isNaN(s.valueOf())?e:new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(s)}function o({status:e}){return(0,s.jsxs)("article",{className:"status-card",children:[(0,s.jsxs)("div",{className:"status-card-top",children:[(0,s.jsx)("span",{children:e.label}),(0,s.jsx)("i",{className:`status-dot ${e.tone??"warn"}`})]}),(0,s.jsx)("strong",{children:e.value}),(0,s.jsx)("small",{children:e.detail??"—"})]})}function c({title:e,action:t,onClick:a}){return(0,s.jsxs)("div",{className:"panel-header",children:[(0,s.jsx)("h2",{children:e}),t&&(0,s.jsxs)("button",{onClick:a,children:[t," →"]})]})}function d({label:e,count:t,tone:a}){return(0,s.jsxs)("div",{className:"queue-row",children:[(0,s.jsx)("span",{children:e}),(0,s.jsx)("b",{className:`queue-count ${a}`,children:t})]})}function h({proposals:e,claims:t,items:o,directives:c,onAction:d,onRefresh:p}){async function u(e,s){await (0,n.postJson)(e,{id:s,companionId:"default"}),await p()}return(0,s.jsxs)("div",{className:"console-view",children:[(0,s.jsxs)("div",{className:"view-intro",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"console-eyebrow",children:"COMPANION MEMORY"}),(0,s.jsx)("h2",{children:"Review candidates before they become facts."}),(0,s.jsx)("p",{children:"Every candidate stays isolated until you explicitly approve it."})]}),(0,s.jsxs)("span",{className:"count-badge",children:[e.length," pending"]})]}),(0,s.jsxs)("section",{className:"console-panel table-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Pending memory"}),(0,s.jsx)("span",{children:"Local approval queue"})]}),e.length?(0,s.jsx)("div",{className:"data-table-wrap",children:(0,s.jsxs)("table",{className:"data-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Candidate"}),(0,s.jsx)("th",{children:"Provenance"}),(0,s.jsx)("th",{children:"Sensitivity"}),(0,s.jsx)("th",{children:"Action"})]})}),(0,s.jsx)("tbody",{children:e.map(e=>(0,s.jsx)(m,{item:e,onAction:d},e.proposal_id))})]})}):(0,s.jsx)(a,{title:"No pending candidates",detail:"Siduri memory suggestions will appear here for review."})]}),(0,s.jsxs)("section",{className:"console-panel table-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Behavioral Directives"}),(0,s.jsx)("span",{children:"Active behaviors and learned relationships"})]}),c.length?(0,s.jsx)("div",{className:"data-table-wrap",children:(0,s.jsxs)("table",{className:"data-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Directive"}),(0,s.jsx)("th",{children:"Scope & Activation"}),(0,s.jsx)("th",{children:"Class"}),(0,s.jsx)("th",{children:"Status"}),(0,s.jsx)("th",{children:"Actions"})]})}),(0,s.jsx)("tbody",{children:c.map(e=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("strong",{children:(0,i.formatRuntimeEffect)(e)}),(0,s.jsxs)("details",{className:"row-details",children:[(0,s.jsx)("summary",{children:r(e.directive_id)}),(0,s.jsx)("pre",{children:JSON.stringify(e,null,2)})]})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"tag",children:e.activation})}),(0,s.jsx)("td",{children:(0,s.jsxs)("span",{className:"tag",children:[e.domain," / ",e.memory_class]})}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:`tag status-${(e.status||"").toLowerCase().replace(/_/g,"-")}`,children:e.status})}),(0,s.jsx)("td",{children:(0,s.jsxs)("div",{className:"table-actions",children:["pending"===(e.status||"").toLowerCase()&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{className:"tiny-button approve-button",onClick:()=>void u("/memory/behavioral/approve",e.directive_id),children:"Approve"}),(0,s.jsx)("button",{className:"tiny-button danger-button",onClick:()=>void u("/memory/behavioral/reject",e.directive_id),children:"Reject"})]}),("active"===(e.status||"").toLowerCase()||"confirmed"===(e.status||"").toLowerCase())&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("button",{className:"tiny-button danger-button",onClick:()=>void u("/memory/behavioral/revoke",e.directive_id),children:"Revoke"}),"disabled"!==e.activation&&(0,s.jsx)("button",{className:"tiny-button",onClick:()=>void u("/memory/behavioral/disable",e.directive_id),children:"Disable"})]})]})})]},e.directive_id))})]})}):(0,s.jsx)(a,{title:"No behavioral directives",detail:"Behavioral rules taught in private chat will appear here."})]}),(0,s.jsxs)("section",{className:"console-panel table-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Structured Claims"}),(0,s.jsx)("span",{children:"Queryable personal and game knowledge"})]}),t.length?(0,s.jsx)("div",{className:"data-table-wrap",children:(0,s.jsxs)("table",{className:"data-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Subject"}),(0,s.jsx)("th",{children:"Predicate"}),(0,s.jsx)("th",{children:"Value"}),(0,s.jsx)("th",{children:"Status"})]})}),(0,s.jsx)("tbody",{children:t.slice().reverse().map(e=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("strong",{children:e.subject}),(0,s.jsxs)("details",{className:"row-details",children:[(0,s.jsx)("summary",{children:r(e.claim_id)}),(0,s.jsx)("pre",{children:JSON.stringify(e,null,2)})]})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"tag",children:e.predicate})}),(0,s.jsx)("td",{children:e.value}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:`tag status-${e.status}`,children:e.status})})]},e.claim_id))})]})}):(0,s.jsx)(a,{title:"No structured claims",detail:"Approved teachings will become queryable claims here."})]}),(0,s.jsxs)("section",{className:"console-panel table-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Compatibility Memory Items"}),(0,s.jsx)("span",{children:"Legacy text projection"})]}),o.length?(0,s.jsx)("div",{className:"data-table-wrap",children:(0,s.jsxs)("table",{className:"data-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Fact"}),(0,s.jsx)("th",{children:"Provenance"}),(0,s.jsx)("th",{children:"Sensitivity"}),(0,s.jsx)("th",{children:"Created"})]})}),(0,s.jsx)("tbody",{children:o.slice().reverse().map(e=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("strong",{children:e.content}),(0,s.jsxs)("details",{className:"row-details",children:[(0,s.jsx)("summary",{children:r(e.memory_id)}),(0,s.jsx)("pre",{children:JSON.stringify(e,null,2)})]})]}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"tag",children:e.provenance})}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"tag",children:e.sensitivity})}),(0,s.jsx)("td",{children:l(e.created_at)})]},e.memory_id))})]})}):(0,s.jsx)(a,{title:"No compatibility items",detail:"Legacy approved memory text will appear here."})]})]})}function m({item:e,onAction:a}){let[n,l]=(0,t.useState)(e.content);return(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("strong",{children:(0,i.formatClaimReceipt)(e)}),(0,s.jsxs)("details",{className:"row-details",children:[(0,s.jsxs)("summary",{children:["Edit raw record · ",r(e.proposal_id)]}),(0,s.jsx)("textarea",{className:"table-editor",value:n,onChange:e=>l(e.target.value),"aria-label":`Memory candidate ${e.proposal_id}`}),(0,s.jsx)("pre",{children:JSON.stringify(e,null,2)})]})]}),(0,s.jsx)("td",{children:e.provenance}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"tag",children:e.sensitivity})}),(0,s.jsx)("td",{children:(0,s.jsxs)("div",{className:"table-actions",children:[(0,s.jsx)("button",{className:"tiny-button",onClick:()=>void a("/memory/proposals/update",e,n),children:"Save"}),(0,s.jsx)("button",{className:"tiny-button approve-button",onClick:()=>void a("/memory/proposals/approve",e),children:"Approve"}),(0,s.jsx)("button",{className:"tiny-button danger-button",onClick:()=>void a("/memory/proposals/reject",e),children:"Reject"})]})})]})}function p({results:e,observations:t,onCreate:n,onRefresh:i}){return(0,s.jsxs)("div",{className:"console-view",children:[(0,s.jsxs)("div",{className:"view-intro",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"console-eyebrow",children:"GROUNDING"}),(0,s.jsx)("h2",{children:"Evidence, with uncertainty intact."}),(0,s.jsx)("p",{children:"Inspect bounded citations and short-lived observations without exposing raw captures."})]}),(0,s.jsxs)("div",{className:"button-row",children:[(0,s.jsx)("button",{onClick:()=>void n(),children:"Create fixture"}),(0,s.jsx)("button",{className:"soft-button",onClick:()=>void i(),children:"Refresh"})]})]}),(0,s.jsxs)("section",{className:"console-panel table-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Knowledge Base Citations"}),(0,s.jsxs)("span",{children:[e.length," results"]})]}),e.length?(0,s.jsx)("div",{className:"data-table-wrap",children:(0,s.jsxs)("table",{className:"data-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Source"}),(0,s.jsx)("th",{children:"Revision"}),(0,s.jsx)("th",{children:"Preview"}),(0,s.jsx)("th",{children:"Link"})]})}),(0,s.jsx)("tbody",{children:e.map(e=>(0,s.jsxs)("tr",{children:[(0,s.jsxs)("td",{children:[(0,s.jsx)("strong",{children:e.title}),(0,s.jsx)("small",{children:e.endpoint})]}),(0,s.jsx)("td",{children:e.revision||"—"}),(0,s.jsx)("td",{children:(0,s.jsx)("span",{className:"tag",children:e.preview?"Preview":"Published"})}),(0,s.jsx)("td",{children:(0,s.jsx)("a",{className:"table-link",href:e.url,target:"_blank",rel:"noreferrer",children:"Open ↗"})})]},e.url))})]})}):(0,s.jsx)(a,{title:"No evidence loaded",detail:"Create a fixture observation or refresh the source."})]}),(0,s.jsxs)("section",{className:"console-panel table-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Current observations"}),(0,s.jsx)("span",{children:"Raw frames are never shown here"})]}),t.length?(0,s.jsx)("div",{className:"data-table-wrap",children:(0,s.jsxs)("table",{className:"data-table",children:[(0,s.jsx)("thead",{children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{children:"Observation"}),(0,s.jsx)("th",{children:"Captured"}),(0,s.jsx)("th",{children:"Expires"}),(0,s.jsx)("th",{children:"Readings"})]})}),(0,s.jsx)("tbody",{children:t.map((e,t)=>(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{children:r(e.observation_id??"observation")}),(0,s.jsx)("td",{children:l(e.observed_at)}),(0,s.jsx)("td",{children:l(e.expires_at)}),(0,s.jsx)("td",{children:Array.isArray(e.readings)?e.readings.length:0})]},e.observation_id??t))})]})}):(0,s.jsx)(a,{title:"No active observations",detail:"Observations are bounded and expire automatically."})]})]})}function u({health:e,voice:t,obs:a,proposals:n,responseJson:i,pendingCorrelationId:r,busy:l,onTrigger:h,onObserve:m,onApprove:p,onNavigate:x}){return(0,s.jsxs)("div",{className:"console-view",children:[(0,s.jsxs)("div",{className:"status-grid",children:[(0,s.jsx)(o,{status:e}),(0,s.jsx)(o,{status:t}),(0,s.jsx)(o,{status:a})]}),(0,s.jsxs)("div",{className:"console-columns",children:[(0,s.jsxs)("section",{className:"console-panel approval-panel",children:[(0,s.jsx)(c,{title:"Response gate",action:"Review policy",onClick:()=>x("settings")}),(0,s.jsxs)("div",{className:"gate-row",children:[(0,s.jsx)("span",{className:`gate-icon ${r?"pending":"ready"}`,children:r?"!":"✓"}),(0,s.jsxs)("div",{children:[(0,s.jsx)("strong",{children:r?"Grounded response awaiting approval":"No response awaiting approval"}),(0,s.jsx)("p",{children:r?"Public output is held until you approve it.":"Local mock responses remain private."})]})]}),(0,s.jsxs)("div",{className:"button-row",children:[(0,s.jsx)("button",{onClick:()=>void h(),disabled:l,children:"Trigger mock response"}),(0,s.jsx)("button",{className:"soft-button",onClick:()=>void m(),disabled:l,children:"Observe and respond"}),r&&(0,s.jsx)("button",{className:"approve-button",onClick:()=>void p(),children:"Approve response"})]}),null!==i&&(0,s.jsxs)("details",{className:"technical-details",children:[(0,s.jsx)("summary",{children:"Technical details"}),(0,s.jsx)("pre",{children:JSON.stringify(i,null,2)})]})]}),(0,s.jsxs)("section",{className:"console-panel queue-panel",children:[(0,s.jsx)(c,{title:"Needs attention",action:"View memory",onClick:()=>x("memory")}),(0,s.jsx)(d,{label:"Memory proposals",count:n.length,tone:n.length?"warn":"quiet"})]})]}),(0,s.jsxs)("section",{className:"console-panel quick-panel",children:[(0,s.jsx)(c,{title:"Quick actions"}),(0,s.jsxs)("div",{className:"quick-actions",children:[(0,s.jsxs)("button",{onClick:()=>x("memory"),children:["Review memory ",(0,s.jsx)("span",{children:"→"})]}),(0,s.jsxs)("button",{onClick:()=>x("evidence"),children:["Inspect evidence ",(0,s.jsx)("span",{children:"→"})]}),(0,s.jsxs)("button",{onClick:()=>x("settings"),children:["Identity & Directives ",(0,s.jsx)("span",{children:"→"})]})]})]})]})}function x({onResetMemory:e,disabled:t}){return(0,s.jsxs)("div",{className:"console-view",children:[(0,s.jsx)("div",{className:"view-intro",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"console-eyebrow",children:"RUNTIME IDENTITY"}),(0,s.jsx)("h2",{children:"Companion Identity & Directives"}),(0,s.jsx)("p",{children:"Identity and behavioral preferences are governed dynamically through conversational teaching and reviewed in the Memory tab."})]})}),(0,s.jsxs)("section",{className:"console-panel profile-panel",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Identity Directives"}),(0,s.jsx)("span",{children:"Governed Memory Model"})]}),(0,s.jsx)(a,{title:"Dynamic identity active",detail:"Siduri establishes preferences and boundaries dynamically through conversation. Use the Private Chat to teach preferences, and the Memory tab to approve or revoke directives."})]}),(0,s.jsxs)("section",{className:"console-panel profile-panel mt-6",children:[(0,s.jsxs)("div",{className:"table-toolbar",children:[(0,s.jsx)("strong",{children:"Danger Zone"}),(0,s.jsx)("span",{children:"Irreversible actions"})]}),(0,s.jsxs)("div",{className:"p-6 bg-red-900/20 border border-red-500/20 rounded-lg",children:[(0,s.jsx)("h3",{className:"text-red-400 font-medium mb-2",children:"Reset All Memory"}),(0,s.jsx)("p",{className:"text-sm text-gray-400 mb-4",children:"This will permanently delete all memory items, proposals, revisions, and claims from the database. The companion will forget all approved claims, directives, and proposals."}),(0,s.jsx)("button",{className:"bg-red-500/10 text-red-400 border border-red-500/50 hover:bg-red-500/20 px-4 py-2 rounded-md font-medium transition-colors",onClick:()=>void e(),disabled:t,children:"Reset Memory"})]})]})]})}e.s(["default",0,function(){let[e,a]=(0,t.useState)("overview"),[i,r]=(0,t.useState)({label:"Orchestrator",value:"Checking",tone:"warn"}),[l,o]=(0,t.useState)({label:"Voice",value:"Checking",tone:"warn"}),[c,d]=(0,t.useState)({label:"OBS capture",value:"Checking",tone:"warn"}),[m,j]=(0,t.useState)(""),[v,b]=(0,t.useState)([]),[y,g]=(0,t.useState)([]),[N,f]=(0,t.useState)([]),[w,C]=(0,t.useState)([]),[S,k]=(0,t.useState)([]),[_,$]=(0,t.useState)([]),[O,R]=(0,t.useState)("{}"),[J,T]=(0,t.useState)(""),[I,P]=(0,t.useState)(null),[A,E]=(0,t.useState)(null),[U,L]=(0,t.useState)(!1);async function D(){try{let[e,s,t]=await Promise.all([(0,n.getJson)("/health"),(0,n.getJson)("/version"),(0,n.getJson)("/ready")]);r({label:"Orchestrator",value:"ok"===e.status?"Online":e.status,detail:`v${s.version}`,tone:"ok"===e.status?"good":"warn"}),j(s.version),t.dependencies?.model_provider?.ready===!1&&r(e=>({...e,detail:"Model provider degraded",tone:"warn"}))}catch{r({label:"Orchestrator",value:"Offline",detail:"Start the Python API",tone:"bad"})}try{let e=await (0,n.getJson)("/voice/health");o({label:"Voice",value:e.healthy?"Ready":"Fallback",detail:e.provider,tone:e.healthy?"good":"warn"})}catch{o({label:"Voice",value:"Unavailable",detail:"Subtitle fallback",tone:"warn"})}try{let e=await (0,n.getJson)("/obs/health");d({label:"OBS capture",value:e.connected?"Connected":e.configured?"Disconnected":"Disabled",detail:e.source_name?`Source: ${e.source_name}`:"No source configured",tone:e.connected?"good":"warn"})}catch{d({label:"OBS capture",value:"Unavailable",tone:"bad"})}}async function M(){try{let[e,s,t,a]=await Promise.all([(0,n.getJson)("/memory/proposals"),(0,n.getJson)("/memory"),(0,n.getJson)("/memory/claims"),(0,n.getJson)("/memory/behavioral")]);b((e.proposals??[]).filter(e=>"pending"===(e.status||"").toLowerCase().replace(/_/g,"-"))),f(s.items??[]),g(t.claims??[]),C(a.directives??[])}catch{b([]),f([]),g([]),C([])}}async function B(){try{let[e,s]=await Promise.all([(0,n.getJson)("/evidence"),(0,n.getJson)("/observations")]);k(e.results??[]),$(s.observations??[])}catch{k([]),$([])}}async function W(){try{R(JSON.stringify(await (0,n.getJson)("/me"),null,2))}catch{R("Unable to load profile.")}}async function q(){L(!0);try{P(await (0,n.postJson)("/dev/mock-response"))}finally{L(!1)}}async function F(){L(!0);try{let e=await (0,n.postJson)("/dev/observe-and-respond");P(e);let s="string"==typeof e?.metadata?.correlation_id?e.metadata.correlation_id:null;E(s)}finally{L(!1)}}async function V(){if(A){L(!0);try{P(await (0,n.postJson)("/dev/approve-response",{correlation_id:A})),E(null)}finally{L(!1)}}}async function G(e,s,t){await (0,n.postAction)(e,{id:s.proposal_id,companionId:"default",...void 0===t?{}:{content:t}}),await M()}async function K(){await (0,n.postAction)("/dev/mock-observation"),await B()}async function Q(){if(window.confirm("Are you sure you want to completely reset all memory? This action cannot be undone.")){L(!0);try{await (0,n.postJson)("/dev/memory/reset"),await M(),T("Memory has been completely reset.")}catch(e){T(String(e))}finally{L(!1)}}}return(0,t.useEffect)(()=>{D(),M(),B(),W()},[]),(0,s.jsxs)("main",{className:"console-app",children:[(0,s.jsxs)("aside",{className:"console-sidebar",children:[(0,s.jsxs)("div",{className:"console-sidebar-header flex items-center justify-between w-full",children:[(0,s.jsxs)("a",{className:"console-brand",href:"/chat",children:[(0,s.jsx)("span",{className:"console-brand-mark",children:"S"}),(0,s.jsx)("span",{children:"SIDURI"})]}),(0,s.jsx)("a",{href:"/chat",className:"console-mobile-back","aria-label":"Back to chat",children:"← Chat"})]}),(0,s.jsxs)("div",{className:"console-context",children:[(0,s.jsx)("span",{className:"console-context-dot"}),"Operator workspace"]}),(0,s.jsx)("nav",{className:"console-nav","aria-label":"Console sections",children:["overview","memory","evidence","settings"].map(t=>(0,s.jsxs)("button",{className:e===t?"active":"",onClick:()=>a(t),children:[(0,s.jsx)("span",{className:`nav-glyph nav-${t}`}),t[0].toUpperCase()+t.slice(1)]},t))}),(0,s.jsxs)("div",{className:"console-sidebar-bottom",children:[(0,s.jsx)("a",{href:"/chat",children:"← Private chat"}),(0,s.jsx)("span",{children:"Local operator surface"})]})]}),(0,s.jsxs)("section",{className:"console-main",children:[(0,s.jsxs)("header",{className:"console-topbar",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"console-eyebrow",children:"SIDURI / OPERATOR"}),(0,s.jsx)("h1",{children:"overview"===e?"Control room":e[0].toUpperCase()+e.slice(1)})]}),(0,s.jsxs)("div",{className:"console-top-actions",children:[(0,s.jsx)("a",{href:"/chat",className:"console-back-link",title:"Return to Private Chat",children:"← Chat"}),(0,s.jsxs)("span",{className:"console-version",children:["v",m||"—"]}),(0,s.jsx)("button",{className:"console-refresh",onClick:()=>{D(),M(),B()},"aria-label":"Refresh dashboard",children:"↻"})]})]}),J&&(0,s.jsx)("div",{className:"console-notice",children:J}),"overview"===e&&(0,s.jsx)(u,{health:i,voice:l,obs:c,proposals:v,responseJson:I,pendingCorrelationId:A,busy:U,onTrigger:q,onObserve:F,onApprove:V,onNavigate:a}),"memory"===e&&(0,s.jsx)(h,{proposals:v,claims:y,items:N,directives:w,onAction:G,onRefresh:M}),"evidence"===e&&(0,s.jsx)(p,{results:S,observations:_,onCreate:K,onRefresh:B}),"settings"===e&&(0,s.jsx)(x,{onResetMemory:Q,disabled:U})]})]})}],80951)},94108,e=>{"use strict";var s=e.i(28152);let t=s.default.env.NEXT_PUBLIC_API_URL??"";async function a(e,s){return fetch(`${t}${e}`,s)}async function n(e,s){let t=await a(e,s);if(!t.ok)throw Error(`${e} returned ${t.status}`);return t.json()}async function i(e,s){let t=await a(e,{method:"POST",headers:s?{"Content-Type":"application/json"}:void 0,body:s?"string"==typeof s?s:JSON.stringify(s):void 0});if(!t.ok)throw Error(await t.text().catch(()=>t.statusText));return t.json().catch(()=>({}))}async function r(e,s){let t=await a(e,{method:"POST",headers:s?{"Content-Type":"application/json"}:void 0,body:s?"string"==typeof s?s:JSON.stringify(s):void 0});if(!t.ok)throw Error(await t.text().catch(()=>t.statusText))}async function l(e,s,t,n){let i=await a(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:n});if(!i.ok)throw Error(await i.text().catch(()=>i.statusText)||`HTTP ${i.status}`);if(!i.body)throw Error("ReadableStream not supported in response");let r=i.body.getReader(),l=new TextDecoder,o="";try{for(;;){let{done:e,value:s}=await r.read();if(e)break;let a=(o+=l.decode(s,{stream:!0})).split("\n");o=a.pop()||"";let n="message";for(let e of a){let s=e.trim();if(s){if(s.startsWith("event:"))n=s.slice(6).trim();else if(s.startsWith("data:")){let e=s.slice(5).trim();try{let s=JSON.parse(e);switch(n){case"staged":t.onStaged?.(s);break;case"chunk":t.onChunk?.(s);break;case"avatar":t.onAvatar?.(s);break;case"done":t.onDone?.(s);break;case"interrupted":t.onInterrupted?.(s);break;case"error":t.onError?.(Error(s.error||"Stream error"))}}catch{}}}}}}catch(e){if(n?.aborted)t.onInterrupted?.({reason:n.reason});else throw t.onError?.(e),e}finally{r.releaseLock()}}async function o(e="default",s="user_barge_in"){await i("/chat/interrupt",{companionId:e,reason:s}).catch(()=>{})}s.default.env.NEXT_PUBLIC_WS_URL||(window.location.protocol,window.location.host),e.s(["fetchApi",0,a,"getJson",0,n,"interruptChat",0,o,"postAction",0,r,"postJson",0,i,"postStream",0,l])},51523,e=>{"use strict";let s=new Set(["siduri","self","companion"]),t=new Set(["user","actor","owner","primary_user"]);function a(e){return e.replace(/[._]+/g," ").replace(/\s+/g," ").trim()}function n(e){let s=e.trim();return s&&!/[.!?]$/.test(s)?`${s}.`:s}function i(e){let i=e.subject?.trim()??"",r=i.toLowerCase(),l=e.predicate?.trim()??"",o=l.toLowerCase(),c=e.value?.trim()??"";if(!i||!l||!c)return n(e.content??c);if(s.has(r)||r.startsWith("companion:")||r.startsWith("companion.")||r.startsWith("self."))return"name"===o?n(`Companion name is ${c}`):n(`Companion ${a(l)} is ${c}`);if(t.has(r)||r.startsWith("actor:")||r.startsWith("user:"))return"name"===o?n(`User name is ${c}`):"preferred_address"===o?n(`User preferred address is ${c}`):"relationship_to_siduri"===o||"relationship"===o?n(`User relationship configured as ${c}`):n(`User ${a(l)} is ${c}`);if(r.startsWith("primary_user.")||r.startsWith("user.")){let e=r.startsWith("primary_user.")?"primary_user.":"user.",s=a(i.slice(e.length)),t="uid"===o||"id"===o?"ID":a(l);return n(`User ${s} ${t} is ${c}`)}let d=a(i);return n(`${/s$/i.test(d)?`${d}'`:`${d}'s`} ${a(l)} is ${c}`)}e.s(["formatClaimReceipt",0,i,"formatRuntimeEffect",0,function(e){let r=e.subject?.trim().toLowerCase()??"",l=e.predicate?.trim().toLowerCase()??"",o=e.value?.trim()??"",c=e.behavior?.instruction?.trim()??"";return"behavioral"===e.memory_class&&c?n(c):s.has(r)&&"name"===l?n(`Set companion identity/name to ${o}`):s.has(r)?n(`Set companion ${a(l)} to ${o}`):t.has(r)&&("relationship_to_siduri"===l||"relationship"===l)?n(`Set user relationship to ${o}`):t.has(r)&&"name"===l?n(`Set user name to ${o}`):i(e)}])}]);