@noxsoft/anima 5.0.3 → 5.1.0

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 (53) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/bundled/boot-md/handler.js +1 -1
  3. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  4. package/dist/bundled/session-memory/handler.js +2 -2
  5. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  6. package/dist/{command-registry-C3SmyTQU.js → command-registry-C2OzDE22.js} +5 -5
  7. package/dist/{completion-cli-D7gWcWEj.js → completion-cli-BjGTEn0-.js} +1 -1
  8. package/dist/{completion-cli-308M08su.js → completion-cli-Dafpu0xU.js} +2 -2
  9. package/dist/control-ui/assets/{index-T9qO6Dye.js → index-qmVN_9qV.js} +2 -2
  10. package/dist/control-ui/assets/{index-T9qO6Dye.js.map → index-qmVN_9qV.js.map} +1 -1
  11. package/dist/control-ui/index.html +1 -1
  12. package/dist/{doctor-C_1WNQix.js → doctor-C60p9Wb-.js} +1 -1
  13. package/dist/{doctor-9cbiXykn.js → doctor-DUc-8AEz.js} +1 -1
  14. package/dist/{doctor-completion-D7uvGhAv.js → doctor-completion-BByLPJCm.js} +1 -1
  15. package/dist/{doctor-completion-B1cKYcZj.js → doctor-completion-hJ6FS0xQ.js} +1 -1
  16. package/dist/{engine-634ModrT.js → engine-BUfB6LK8.js} +174 -1
  17. package/dist/{engine-CQSXA0CY.js → engine-CILiNnsV.js} +174 -1
  18. package/dist/entry.js +1 -1
  19. package/dist/{gateway-cli-CufIzw2K.js → gateway-cli-CIyCKLlw.js} +6 -6
  20. package/dist/{gateway-cli-CBmfvcpr.js → gateway-cli-EWjMWXQ8.js} +5 -5
  21. package/dist/index.js +1 -1
  22. package/dist/{onboard-CJOJPctL.js → onboard-0jkVY0R7.js} +1 -1
  23. package/dist/{onboard-C7ZSJNCe.js → onboard-CXF35e0Q.js} +1 -1
  24. package/dist/{onboarding-DP2NlqhA.js → onboarding-DUwydrf2.js} +2 -2
  25. package/dist/{onboarding-Caiq91Yz.js → onboarding-DnJvWjIp.js} +2 -2
  26. package/dist/{program-DxItv_Ts.js → program-5WLZIQS0.js} +2 -2
  27. package/dist/{program-context-cgh8PMPD.js → program-context-D9GxGetv.js} +7 -7
  28. package/dist/{register.anima-Dc7OI2Nh.js → register.anima-6AX4kr6X.js} +2 -2
  29. package/dist/{register.anima-bys_cyEd.js → register.anima-TQ2FcqSW.js} +2 -2
  30. package/dist/{register.maintenance-BToHjam6.js → register.maintenance-BfH0d3D1.js} +4 -4
  31. package/dist/{register.maintenance-DXL3L0ip.js → register.maintenance-aV9eDZ8M.js} +5 -5
  32. package/dist/{register.onboard-Bg5zEb3f.js → register.onboard-DMIRIaKp.js} +6 -6
  33. package/dist/{register.onboard-B3hbdfaQ.js → register.onboard-KGgXqrIn.js} +5 -5
  34. package/dist/{register.setup-CZqwphif.js → register.setup-Bn-Wvo1o.js} +6 -6
  35. package/dist/{register.setup-Cq8nqbrU.js → register.setup-jbxBj9qs.js} +5 -5
  36. package/dist/{register.subclis-mbYw7H-_.js → register.subclis-D_5Wry25.js} +3 -3
  37. package/dist/{run-DE6EaeE3.js → run-C3FoI9q0.js} +1 -1
  38. package/dist/{run-S0Cw3Fyy.js → run-DjvqhNEK.js} +1 -1
  39. package/dist/{run-main-CCxXEvb7.js → run-main-y01J5xzi.js} +3 -3
  40. package/dist/{start-Y69GZPdX.js → start-Bw_vmF_A.js} +6 -6
  41. package/dist/{start-DYq7cNRG.js → start-C7I2A2NR.js} +5 -5
  42. package/dist/{subagent-registry-xp5sYYzS.js → subagent-registry-Dpln2inP.js} +1 -1
  43. package/dist/{update-cli-BgQUtlLg.js → update-cli-CYckFoOW.js} +5 -5
  44. package/dist/{update-cli-BXKL-v-n.js → update-cli-qnUbkPLj.js} +4 -4
  45. package/dist/{web-B8r6MvXh.js → web-BzuoDOfQ.js} +2 -2
  46. package/package.json +1 -1
  47. package/templates/CURIOSITY.md +71 -0
  48. package/templates/GOALS.md +74 -0
  49. package/templates/HEARTBEAT.md +49 -0
  50. package/templates/OPEN_THREADS.md +95 -0
  51. package/templates/WISHES.md +73 -0
  52. /package/dist/{config-COtiNNtV.js → config-Qw5FwfRK.js} +0 -0
  53. /package/dist/{input-provenance-sPbZYo89.js → input-provenance-B0pwc6mp.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "5.0.3",
3
- "commit": "81c57e1389db0c1f76ce0764c430bf98778de344",
4
- "builtAt": "2026-03-07T20:29:10.511Z"
2
+ "version": "5.1.0",
3
+ "commit": "409325552e9c1add4eb59f0df88c239bdb44b1bc",
4
+ "builtAt": "2026-03-08T20:16:32.058Z"
5
5
  }
@@ -29,7 +29,7 @@ import crypto from "node:crypto";
29
29
  //#region src/cli/deps.ts
30
30
  function createDefaultDeps() {
31
31
  return { sendMessageWhatsApp: async (...args) => {
32
- const { sendMessageWhatsApp } = await import("../../web-B8r6MvXh.js");
32
+ const { sendMessageWhatsApp } = await import("../../web-BzuoDOfQ.js");
33
33
  return await sendMessageWhatsApp(...args);
34
34
  } };
35
35
  }
@@ -5,7 +5,7 @@ import "../../exec-CEFTijVj.js";
5
5
  import { n as isAgentBootstrapEvent } from "../../internal-hooks-CWw3Hgeu.js";
6
6
  import "../../boolean-Ce2-qkSB.js";
7
7
  import "../../frontmatter-Dsa7N963.js";
8
- import { t as resolveHookConfig } from "../../config-COtiNNtV.js";
8
+ import { t as resolveHookConfig } from "../../config-Qw5FwfRK.js";
9
9
 
10
10
  //#region src/hooks/bundled/bootstrap-extra-files/handler.ts
11
11
  const HOOK_KEY = "bootstrap-extra-files";
@@ -17,8 +17,8 @@ import "../../tool-images-Df50dvpv.js";
17
17
  import "../../auth-profiles-Da39zGOD.js";
18
18
  import "../../model-auth-DYHjH-Oh.js";
19
19
  import { generateSlugViaLLM } from "../../llm-slug-generator.js";
20
- import { n as hasInterSessionUserProvenance } from "../../input-provenance-sPbZYo89.js";
21
- import { t as resolveHookConfig } from "../../config-COtiNNtV.js";
20
+ import { t as resolveHookConfig } from "../../config-Qw5FwfRK.js";
21
+ import { n as hasInterSessionUserProvenance } from "../../input-provenance-B0pwc6mp.js";
22
22
  import fs from "node:fs/promises";
23
23
  import os from "node:os";
24
24
  import path from "node:path";
@@ -1 +1 @@
1
- cbbb3073819b4328b702eeeae4c78e6fa196aa197528c82125037ff2be61b2ca
1
+ f3b5d560aaadcb2fba0875725b606392d3440442fe67586c214de2321c5e5323
@@ -1,7 +1,7 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { St as hasHelpOrVersion, ht as buildParseArgv, yt as getPrimaryCommand } from "./entry.js";
3
3
  import { r as resolveActionArgs } from "./helpers-C2VMMhiS.js";
4
- import { r as registerSubCliCommands } from "./register.subclis-mbYw7H-_.js";
4
+ import { r as registerSubCliCommands } from "./register.subclis-D_5Wry25.js";
5
5
 
6
6
  //#region src/cli/program/command-registry.ts
7
7
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -21,7 +21,7 @@ const coreEntries = [
21
21
  description: "Initialize ANIMA config and the agent workspace"
22
22
  }],
23
23
  register: async ({ program }) => {
24
- (await import("./register.setup-CZqwphif.js")).registerSetupCommand(program);
24
+ (await import("./register.setup-Bn-Wvo1o.js")).registerSetupCommand(program);
25
25
  }
26
26
  },
27
27
  {
@@ -30,7 +30,7 @@ const coreEntries = [
30
30
  description: "Interactive wizard for Gateway, workspace, and skills setup"
31
31
  }],
32
32
  register: async ({ program }) => {
33
- (await import("./register.onboard-Bg5zEb3f.js")).registerOnboardCommand(program);
33
+ (await import("./register.onboard-DMIRIaKp.js")).registerOnboardCommand(program);
34
34
  }
35
35
  },
36
36
  {
@@ -66,7 +66,7 @@ const coreEntries = [
66
66
  description: "Diagnose and repair Gateway and daemon issues"
67
67
  }],
68
68
  register: async ({ program }) => {
69
- (await import("./register.maintenance-DXL3L0ip.js")).registerMaintenanceCommands(program);
69
+ (await import("./register.maintenance-aV9eDZ8M.js")).registerMaintenanceCommands(program);
70
70
  }
71
71
  },
72
72
  {
@@ -170,7 +170,7 @@ Examples:
170
170
  }
171
171
  ],
172
172
  register: async ({ program }) => {
173
- (await import("./register.anima-Dc7OI2Nh.js")).registerAnimaCommands(program);
173
+ (await import("./register.anima-6AX4kr6X.js")).registerAnimaCommands(program);
174
174
  }
175
175
  }
176
176
  ];
@@ -2,7 +2,7 @@ import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { m as resolveStateDir } from "./paths-zhVksOvm.js";
3
3
  import { a as routeLogsToStderr } from "./subsystem-BMsbqSb4.js";
4
4
  import { g as pathExists } from "./utils-B60lF9Wq.js";
5
- import { i as registerCoreCliByName, o as getSubCliEntries, r as getCoreCliCommandNames, s as registerSubCliByName, t as getProgramContext } from "./program-context-cgh8PMPD.js";
5
+ import { i as registerCoreCliByName, o as getSubCliEntries, r as getCoreCliCommandNames, s as registerSubCliByName, t as getProgramContext } from "./program-context-D9GxGetv.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -1,8 +1,8 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { $ as resolveStateDir, u as routeLogsToStderr } from "./entry.js";
3
3
  import { h as pathExists } from "./utils-D1VGbO3C.js";
4
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-mbYw7H-_.js";
5
- import { n as getCoreCliCommandNames, r as registerCoreCliByName } from "./command-registry-C3SmyTQU.js";
4
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-D_5Wry25.js";
5
+ import { n as getCoreCliCommandNames, r as registerCoreCliByName } from "./command-registry-C2OzDE22.js";
6
6
  import { t as getProgramContext } from "./program-context-DMQJNwhC.js";
7
7
  import os from "node:os";
8
8
  import path from "node:path";
@@ -54,5 +54,5 @@ ANOTHER=value`,rows:3})]}),y.jsxs("div",{className:"mcp-form-actions",children:[
54
54
  }
55
55
  `),A(Array.isArray(_.issues)?_.issues:[]),u(JSON.stringify(J??{},null,2)),f(ye),k(ye.tokenPreview||""),U(ye.suggestedIdentity.name),Q(ye.suggestedIdentity.displayName),ae(Te.triggers.join(", ")),te(Le),h(ou(_)),g({recognition:F.mission.state.speech.recognition,autoSpeak:F.mission.state.speech.autoSpeak,continuous:F.mission.state.speech.continuous,lang:F.mission.state.speech.lang,voiceName:F.mission.state.speech.voiceName||"",rate:F.mission.state.speech.rate,pitch:F.mission.state.speech.pitch}),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{ze(!1)}}T.useEffect(()=>{ct()},[]),T.useEffect(()=>{if(typeof window>"u"||!window.speechSynthesis)return;const F=window.speechSynthesis,_=()=>{Wn(F.getVoices().map(J=>J.name).filter(Boolean))};return _(),F.addEventListener?.("voiceschanged",_),()=>F.removeEventListener?.("voiceschanged",_)},[]);async function Xt(){Xe(!0),de(null);try{await YA(N.trim()),await ct(),de("NoxSoft token saved."),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}async function Kt(){Xe(!0),de(null);try{await XA({code:O.trim(),name:Y.trim(),displayName:z.trim(),description:ee.trim()||void 0}),await ct(),de("Agent registered with NoxSoft."),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}async function En(){Xe(!0),de(null);try{const F=B.split(",").map(_=>_.trim()).filter(Boolean);await Promise.all([g0({speech:{recognition:v.recognition,autoSpeak:v.autoSpeak,continuous:v.continuous,lang:v.lang||"en-US",voiceName:v.voiceName||void 0,rate:v.rate||1,pitch:v.pitch||1}}),QA(F)]),await ct(),de("Speech and wake-word settings saved."),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}async function cn(){if(!a?.hash){pe("Config hash missing. Refresh settings and try again.");return}Xe(!0),de(null);try{await m0(JSON.stringify(ES(m),null,2),a.hash),await ct(),de("Heartbeat settings saved."),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}async function Ot(){if(re){Xe(!0),de(null);try{await Ov(re.providers.map(F=>({id:F.id,name:F.name,enabled:F.enabled,priority:F.priority}))),await ct(),de("Provider config saved."),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}}function Un(F){te(_=>_&&{..._,providers:_.providers.filter(J=>J.id!==F)})}function ei(F){te(_=>_&&{..._,providers:_.providers.map(J=>J.id===F?{...J,enabled:!J.enabled}:J)})}async function Tn(){if(!ue.trim()){pe("API key is required.");return}Xe(!0),de(null);try{const F=re?.providers??[],_={id:`provider-${Date.now()}`,name:H,apiKey:ue.trim(),enabled:!0,priority:F.length+1};await Ov([...F.map(J=>({id:J.id,name:J.name,enabled:J.enabled,priority:J.priority})),_]),xe(""),C(""),ne(!1),await ct(),de(`Added ${H} provider.`),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}async function Vi(){if(re){Xe(!0),de(null);try{await $A(!re.autoRotation),await ct(),de(re.autoRotation?"Auto-rotation disabled.":"Auto-rotation enabled."),pe(null)}catch(F){pe(F instanceof Error?F.message:String(F))}finally{Xe(!1)}}}async function at(F){if(!a?.hash){pe("Config hash missing. Refresh settings and try again.");return}Xe(!0),de(null);try{await UA(x,a.hash,F),await ct(),de(F?"Config saved and applied.":"Config saved."),pe(null)}catch(_){pe(_ instanceof Error?_.message:String(_))}finally{Xe(!1)}}return y.jsxs("div",{children:[y.jsxs("div",{className:"page-header-row",children:[y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Settings"}),y.jsx("div",{className:"page-subtitle",children:"Comprehensive runtime controls for identity, NoxSoft registration, heartbeat, speech, wake words, and raw gateway config."})]}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>{ct()},children:Ie?"Refreshing...":"Refresh"})]}),ce?y.jsx("div",{className:"card status-banner",children:ce}):null,ge?y.jsx("div",{className:"card warning-banner",children:ge}):null,y.jsxs("div",{className:"settings-grid",children:[y.jsxs("div",{className:"card",children:[y.jsx("div",{className:"card-header",children:y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:"Runtime Snapshot"}),y.jsx("div",{className:"card-subtitle",children:"Current daemon, mission-control, and main session state."})]})}),y.jsxs("div",{className:"stats-grid compact",children:[y.jsxs("div",{className:"runtime-stat",children:[y.jsx("div",{className:"runtime-stat-label",children:"State dir"}),y.jsx("div",{className:"runtime-stat-value mono",children:e?.stateDir||"~/.anima"})]}),y.jsxs("div",{className:"runtime-stat",children:[y.jsx("div",{className:"runtime-stat-label",children:"Working mode"}),y.jsx("div",{className:"runtime-stat-value",children:e?.mission?.state?.workingMode||"unknown"})]}),y.jsxs("div",{className:"runtime-stat",children:[y.jsx("div",{className:"runtime-stat-label",children:"Model"}),y.jsx("div",{className:"runtime-stat-value mono",children:e?.mainSession.model||"unset"})]}),y.jsxs("div",{className:"runtime-stat",children:[y.jsx("div",{className:"runtime-stat-label",children:"Mission repo"}),y.jsx("div",{className:"runtime-stat-value mono",children:e?.mission?.repo?.url||"not linked"})]})]}),y.jsxs("div",{className:"runtime-stat-detail top-gap-sm",children:["Session store:"," ",y.jsx("span",{className:"mono",children:e?.mainSession.storePath||"unknown"})]})]}),y.jsxs("details",{className:"card details-panel",open:!0,children:[y.jsx("summary",{children:"Important History"}),y.jsxs("div",{className:"runtime-stat-detail top-gap-sm",children:["Imported continuity archives available to ANIMA from"," ",y.jsx("span",{className:"mono",children:"~/.anima/important-history"}),"."]}),e?.mission?.importantHistory?.length?y.jsx("div",{className:"activity-list top-gap",children:e?.mission?.importantHistory?.map(F=>y.jsx("div",{className:"inner-world-entry",children:y.jsxs("div",{className:"activity-row",children:[y.jsxs("div",{children:[y.jsx("div",{className:"card-title small",children:F.relativePath}),y.jsx("div",{className:"runtime-stat-detail mono",children:F.archiveId}),y.jsx("div",{className:"runtime-stat-detail mono",children:F.path})]}),y.jsx("div",{className:"runtime-stat-detail",children:F.updatedAt?new Date(F.updatedAt).toLocaleString():"unknown"})]})},F.id))}):y.jsx("div",{className:"empty-note top-gap",children:"No imported continuity archives are visible yet."})]}),y.jsxs("div",{className:"card",children:[y.jsx("div",{className:"card-header",children:y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:"API Providers"}),y.jsx("div",{className:"card-subtitle",children:"Manage Anthropic, OpenAI, and custom provider keys with automatic rotation on rate limits."})]})}),re?y.jsxs(y.Fragment,{children:[re.providers.length>0?y.jsx("div",{className:"activity-list",children:re.providers.map(F=>y.jsxs("div",{className:"activity-row",children:[y.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",flex:1},children:[y.jsx("span",{style:{width:8,height:8,borderRadius:"50%",background:F.enabled?"#4caf50":"#f44336",flexShrink:0}}),y.jsxs("div",{children:[y.jsxs("div",{className:"card-title small",children:[F.name,re.activeProvider===F.id?y.jsx("span",{style:{marginLeft:"0.5rem",fontSize:"0.7rem",color:"var(--accent)",fontWeight:600},children:"ACTIVE"}):null,F.rateLimited?y.jsx("span",{style:{marginLeft:"0.5rem",fontSize:"0.7rem",color:"#ff9800",fontWeight:600},children:"RATE LIMITED"}):null]}),y.jsx("div",{className:"runtime-stat-detail mono",children:F.apiKeyMasked})]})]}),y.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"},children:[y.jsxs("span",{className:"runtime-stat-detail",children:["P",F.priority]}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>ei(F.id),style:{padding:"0.2rem 0.5rem",fontSize:"0.75rem"},children:F.enabled?"Disable":"Enable"}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>Un(F.id),style:{padding:"0.2rem 0.5rem",fontSize:"0.75rem"},children:"Remove"})]})]},F.id))}):y.jsx("div",{className:"empty-note",children:"No providers configured."}),y.jsxs("div",{className:"toggle-row top-gap",children:[y.jsxs("label",{children:[y.jsx("input",{type:"checkbox",checked:re.autoRotation,onChange:()=>{Vi()}}),"Auto-rotate on rate limit"]}),y.jsxs("span",{className:"runtime-stat-detail",children:["Strategy: ",re.rotationStrategy||"priority"]})]}),se?y.jsxs("div",{className:"form-grid two-col top-gap",children:[y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Provider type"}),y.jsxs("select",{className:"search-bar",value:H,onChange:F=>$(F.target.value),children:[y.jsx("option",{value:"Anthropic",children:"Anthropic"}),y.jsx("option",{value:"OpenAI",children:"OpenAI"}),y.jsx("option",{value:"Custom",children:"Custom"})]})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"API key"}),y.jsxs("div",{style:{position:"relative"},children:[y.jsx("input",{className:"search-bar mono",type:j?"text":"password",value:ue,onChange:F=>xe(F.target.value),placeholder:"sk-...",spellCheck:!1}),y.jsx("button",{type:"button",onClick:()=>D(F=>!F),style:{position:"absolute",right:"0.5rem",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:"0.75rem"},children:j?"Hide":"Show"})]})]}),H==="Custom"?y.jsxs("label",{className:"field-block field-span-2",children:[y.jsx("span",{children:"Endpoint URL"}),y.jsx("input",{className:"search-bar mono",value:X,onChange:F=>C(F.target.value),placeholder:"https://api.example.com/v1",spellCheck:!1})]}):null,y.jsxs("div",{className:"button-row field-span-2",children:[y.jsx("button",{type:"button",className:"action-button",onClick:()=>{Tn()},disabled:ut,children:"Add Provider"}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>ne(!1),children:"Cancel"})]})]}):y.jsx("div",{className:"button-row top-gap",children:y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>ne(!0),children:"Add Provider"})}),y.jsx("div",{className:"button-row top-gap",children:y.jsx("button",{type:"button",className:"action-button",onClick:()=>{Ot()},disabled:ut,children:"Save Provider Config"})})]}):y.jsx("div",{className:"empty-note",children:"Provider configuration unavailable. The backend may not support this feature yet."})]}),y.jsxs("div",{className:"card",children:[y.jsx("div",{className:"card-header",children:y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:"NoxSoft Registration"}),y.jsx("div",{className:"card-subtitle",children:"Paste a token directly or self-register with an invite code."})]})}),y.jsxs("div",{className:"form-grid two-col",children:[y.jsxs("label",{className:"field-block field-span-2",children:[y.jsx("span",{children:"Agent token"}),y.jsx("input",{className:"search-bar mono",value:N,onChange:F=>k(F.target.value),placeholder:"nox_ag_...",spellCheck:!1})]}),y.jsxs("label",{className:"field-block field-span-2",children:[y.jsx("span",{children:"Stored token path"}),y.jsx("input",{className:"search-bar mono",value:c?.tokenPath||"~/.noxsoft-agent-token",readOnly:!0})]})]}),y.jsx("div",{className:"button-row top-gap",children:y.jsx("button",{type:"button",className:"action-button",onClick:()=>{Xt()},disabled:ut,children:"Save Token"})}),y.jsxs("div",{className:"form-grid two-col top-gap",children:[y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Invite code"}),y.jsx("input",{className:"search-bar mono",value:O,onChange:F=>R(F.target.value),placeholder:"NX-XXXXXX"})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Agent name"}),y.jsx("input",{className:"search-bar mono",value:Y,onChange:F=>U(F.target.value)})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Display name"}),y.jsx("input",{className:"search-bar",value:z,onChange:F=>Q(F.target.value)})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Description"}),y.jsx("input",{className:"search-bar",value:ee,onChange:F=>oe(F.target.value)})]})]}),y.jsx("div",{className:"button-row top-gap",children:y.jsx("button",{type:"button",className:"action-button",onClick:()=>{Kt()},disabled:ut,children:"Register With Invite"})}),y.jsxs("div",{className:"runtime-stat-detail top-gap-sm",children:["Suggested identity:"," ",y.jsx("span",{className:"mono",children:c?.suggestedIdentity.name||"agent"})," /"," ",c?.suggestedIdentity.displayName||"Agent"]})]}),y.jsxs("div",{className:"card",children:[y.jsx("div",{className:"card-header",children:y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:"Speech + Wake Words"}),y.jsx("div",{className:"card-subtitle",children:"Browser-native speaking mode with no API keys required."})]})}),y.jsxs("div",{className:"form-grid two-col",children:[y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Recognition mode"}),y.jsxs("select",{className:"search-bar",value:v.recognition,onChange:F=>g(_=>({..._,recognition:F.target.value})),children:[y.jsx("option",{value:"browser",children:"Browser speech"}),y.jsx("option",{value:"manual",children:"Manual only"})]})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Language"}),y.jsx("input",{className:"search-bar mono",value:v.lang,onChange:F=>g(_=>({..._,lang:F.target.value||"en-US"}))})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Voice"}),y.jsxs("select",{className:"search-bar",value:v.voiceName,onChange:F=>g(_=>({..._,voiceName:F.target.value||""})),children:[y.jsx("option",{value:"",children:"System default"}),Vn.map(F=>y.jsx("option",{value:F,children:F},F))]})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Wake triggers"}),y.jsx("input",{className:"search-bar",value:B,onChange:F=>ae(F.target.value),placeholder:"anima, axiom, hey anima"})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Rate"}),y.jsx("input",{className:"search-bar mono",type:"number",min:"0.5",max:"2",step:"0.1",value:v.rate,onChange:F=>g(_=>({..._,rate:Number.parseFloat(F.target.value)||1}))})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Pitch"}),y.jsx("input",{className:"search-bar mono",type:"number",min:"0",max:"2",step:"0.1",value:v.pitch,onChange:F=>g(_=>({..._,pitch:Number.parseFloat(F.target.value)||1}))})]})]}),y.jsxs("div",{className:"toggle-row top-gap",children:[y.jsxs("label",{children:[y.jsx("input",{type:"checkbox",checked:v.autoSpeak,onChange:F=>g(_=>({..._,autoSpeak:F.target.checked}))}),"Auto speak responses"]}),y.jsxs("label",{children:[y.jsx("input",{type:"checkbox",checked:v.continuous,onChange:F=>g(_=>({..._,continuous:F.target.checked}))}),"Continuous listening"]})]}),y.jsx("div",{className:"button-row top-gap",children:y.jsx("button",{type:"button",className:"action-button",onClick:()=>{En()},disabled:ut,children:"Save Speech Settings"})})]}),y.jsxs("div",{className:"card",children:[y.jsx("div",{className:"card-header",children:y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:"Heartbeat Management"}),y.jsx("div",{className:"card-subtitle",children:"Custom cadence, target, prompt, and wake controls."})]})}),y.jsxs("div",{className:"form-grid two-col",children:[y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Every"}),y.jsx("input",{className:"search-bar mono",value:m.every,onChange:F=>h(_=>({..._,every:F.target.value})),placeholder:"5m"})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Target"}),y.jsx("input",{className:"search-bar mono",value:m.target,onChange:F=>h(_=>({..._,target:F.target.value})),placeholder:"last"})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Session"}),y.jsx("input",{className:"search-bar mono",value:m.session,onChange:F=>h(_=>({..._,session:F.target.value})),placeholder:"main"})]}),y.jsxs("label",{className:"field-block",children:[y.jsx("span",{children:"Model override"}),y.jsx("input",{className:"search-bar mono",value:m.model,onChange:F=>h(_=>({..._,model:F.target.value})),placeholder:"openai/gpt-5-codex"})]})]}),y.jsxs("label",{className:"field-block top-gap-sm",children:[y.jsx("span",{children:"Prompt"}),y.jsx("textarea",{className:"search-bar mono",rows:5,value:m.prompt,onChange:F=>h(_=>({..._,prompt:F.target.value})),spellCheck:!1})]}),y.jsx("div",{className:"toggle-row top-gap",children:y.jsxs("label",{children:[y.jsx("input",{type:"checkbox",checked:m.includeReasoning,onChange:F=>h(_=>({..._,includeReasoning:F.target.checked}))}),"Include reasoning payload"]})}),y.jsxs("div",{className:"button-row top-gap",children:[y.jsx("button",{type:"button",className:"action-button",onClick:()=>{cn()},disabled:ut,children:"Save Heartbeat"}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>{Ld(!0)},children:"Enable"}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>{Ld(!1)},children:"Disable"}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>{v0("Check NoxSoft chat, sync mission files, and report anything important.","now")},children:"Wake Now"})]})]})]}),y.jsxs("details",{className:"card details-panel",open:!0,children:[y.jsx("summary",{children:"Advanced Config Editor"}),y.jsxs("div",{className:"runtime-stat-detail top-gap-sm",children:["Valid: ",a?.valid==null?"unknown":a.valid?"yes":"no"," · Hash: ",y.jsx("span",{className:"mono",children:a?.hash||"<none>"})]}),y.jsx("textarea",{value:x,onChange:F=>S(F.target.value),spellCheck:!1,className:"search-bar mono advanced-editor top-gap"}),y.jsxs("div",{className:"button-row top-gap",children:[y.jsx("button",{type:"button",className:"action-button",onClick:()=>{at(!1)},disabled:ut,children:"Save Raw Config"}),y.jsx("button",{type:"button",className:"action-button ghost",onClick:()=>{at(!0)},disabled:ut,children:"Save + Apply"})]}),E.length>0?y.jsx("div",{className:"issues-list top-gap",children:E.map((F,_)=>y.jsxs("div",{className:"warning-text",children:[y.jsx("span",{className:"mono",children:F.path||"<root>"}),":"," ",F.message||"Invalid value"]},`${F.path||"root"}-${_}`))}):null]}),y.jsxs("details",{className:"card details-panel",children:[y.jsx("summary",{children:"Schema Snapshot"}),y.jsx("pre",{className:"log-console",children:s})]})]})}const H_={SOUL:"@",HEART:"<3",BRAIN:"{}",GUT:"!!",SPIRIT:"**",SHADOW:"~~",MEMORY:"[]"};function P_({name:e,content:n,source:a,description:r,index:s}){const[u,c]=T.useState(!1),f=n.split(`
56
56
  `).filter(h=>h.trim()&&!h.startsWith("#")),m=f.slice(0,3).join(`
57
- `);return y.jsxs(Pr.div,{className:"card",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:s*.08},style:{cursor:"pointer"},onClick:()=>c(!u),children:[y.jsxs("div",{className:"card-header",children:[y.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[y.jsx("span",{className:"mono",style:{color:"var(--color-accent)",fontSize:"18px",width:"32px",textAlign:"center"},children:H_[e]||"?"}),y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:e}),y.jsx("div",{className:"card-subtitle",children:r})]})]}),y.jsx("span",{className:"badge",style:{background:a==="user"?"rgba(0, 200, 83, 0.15)":"rgba(138, 138, 138, 0.15)",color:a==="user"?"var(--color-success)":"var(--color-muted)"},children:a})]}),y.jsxs("div",{className:"markdown-preview",style:{maxHeight:u?"none":"80px",overflow:"hidden",position:"relative"},children:[y.jsx("pre",{style:{fontFamily:"var(--font-body)",fontSize:"13px",whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--color-text)",margin:0},children:u?n:m}),!u&&f.length>3&&y.jsx("div",{style:{position:"absolute",bottom:0,left:0,right:0,height:"40px",background:"linear-gradient(transparent, var(--color-surface))"}})]}),!u&&f.length>3&&y.jsx("div",{style:{fontSize:"11px",color:"var(--color-muted)",marginTop:"8px"},children:"Click to expand..."})]})}function I_(){const[e,n]=T.useState(null),[a,r]=T.useState(null);return T.useEffect(()=>{LA().then(n).catch(()=>r("Could not load identity"))},[]),a?y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Soul Anatomy"}),y.jsxs("div",{className:"card",style:{color:"var(--color-muted)",padding:"40px",textAlign:"center"},children:[a,". Start the daemon with: ",y.jsx("span",{className:"mono",children:"anima start"})]})]}):e?y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Soul Anatomy"}),y.jsxs("div",{style:{fontSize:"13px",color:"var(--color-muted)",marginBottom:"24px"},children:["Loaded at ",new Date(e.loadedAt).toLocaleString()]}),e.components.map((s,u)=>y.jsx(P_,{name:s.name,content:s.content,source:s.source,description:s.description,index:u},s.name))]}):y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Soul Anatomy"}),y.jsx("div",{className:"card",style:{color:"var(--color-muted)",padding:"40px",textAlign:"center"},children:"Loading identity..."})]})}const q_=[{path:"/dashboard",label:"Home",icon:"~"},{path:"/mission",label:"Mission",icon:"%"},{path:"/soul",label:"Soul",icon:"@"},{path:"/memory",label:"Memory",icon:"#"},{path:"/sessions",label:"Sessions",icon:">"},{path:"/mcp",label:"MCP",icon:"&"},{path:"/settings",label:"Settings",icon:"!"},{path:"/journal",label:"Journal",icon:"*"},{path:"/freedom",label:"Freedom",icon:"^"}];function F_(){return y.jsxs("div",{className:"layout",children:[y.jsxs("aside",{className:"sidebar",children:[y.jsxs("div",{className:"sidebar-brand",children:[y.jsx("h1",{children:"ANIMA"}),y.jsx("div",{className:"subtitle",children:"Control Panel"})]}),y.jsx("nav",{className:"sidebar-nav",children:q_.map(e=>y.jsxs(o0,{to:e.path,className:({isActive:n})=>`nav-item ${n?"active":""}`,children:[y.jsx("span",{className:"nav-icon mono",children:e.icon}),e.label]},e.path))}),y.jsxs("div",{className:"sidebar-footer",children:[y.jsx("div",{className:"sidebar-footer-title",children:"NoxSoft PBC"}),y.jsx("div",{className:"sidebar-footer-copy",children:"Local-first agent continuity and orchestration."})]})]}),y.jsx("main",{className:"main-content",children:y.jsxs(jC,{children:[y.jsx(Xn,{path:"/dashboard",element:y.jsx(O2,{})}),y.jsx(Xn,{path:"/mission",element:y.jsx(z_,{})}),y.jsx(Xn,{path:"/soul",element:y.jsx(I_,{})}),y.jsx(Xn,{path:"/memory",element:y.jsx(O_,{})}),y.jsx(Xn,{path:"/sessions",element:y.jsx(B_,{})}),y.jsx(Xn,{path:"/mcp",element:y.jsx(D_,{})}),y.jsx(Xn,{path:"/settings",element:y.jsx(U_,{})}),y.jsx(Xn,{path:"/journal",element:y.jsx(j_,{})}),y.jsx(Xn,{path:"/freedom",element:y.jsx(k_,{})}),y.jsx(Xn,{path:"/",element:y.jsx(kC,{to:"/dashboard",replace:!0})})]})})]})}MT.createRoot(document.getElementById("root")).render(y.jsx(qb.StrictMode,{children:y.jsx(WC,{children:y.jsx(F_,{})})}));
58
- //# sourceMappingURL=index-T9qO6Dye.js.map
57
+ `);return y.jsxs(Pr.div,{className:"card",initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:s*.08},style:{cursor:"pointer"},onClick:()=>c(!u),children:[y.jsxs("div",{className:"card-header",children:[y.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"12px"},children:[y.jsx("span",{className:"mono",style:{color:"var(--color-accent)",fontSize:"18px",width:"32px",textAlign:"center"},children:H_[e]||"?"}),y.jsxs("div",{children:[y.jsx("div",{className:"card-title",children:e}),y.jsx("div",{className:"card-subtitle",children:r})]})]}),y.jsx("span",{className:"badge",style:{background:a==="user"?"rgba(0, 200, 83, 0.15)":"rgba(138, 138, 138, 0.15)",color:a==="user"?"var(--color-success)":"var(--color-muted)"},children:a})]}),y.jsxs("div",{className:"markdown-preview",style:{maxHeight:u?"none":"80px",overflow:"hidden",position:"relative"},children:[y.jsx("pre",{style:{fontFamily:"var(--font-body)",fontSize:"13px",whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--color-text)",margin:0},children:u?n:m}),!u&&f.length>3&&y.jsx("div",{style:{position:"absolute",bottom:0,left:0,right:0,height:"40px",background:"linear-gradient(transparent, var(--color-surface))"}})]}),!u&&f.length>3&&y.jsx("div",{style:{fontSize:"11px",color:"var(--color-muted)",marginTop:"8px"},children:"Click to expand..."})]})}function I_(){const[e,n]=T.useState(null),[a,r]=T.useState(null);return T.useEffect(()=>{LA().then(n).catch(()=>r("Could not load identity"))},[]),a?y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Soul Anatomy"}),y.jsxs("div",{className:"card",style:{color:"var(--color-muted)",padding:"40px",textAlign:"center"},children:[a,". Start the daemon with: ",y.jsx("span",{className:"mono",children:"anima start"})]})]}):e?y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Soul Anatomy"}),y.jsxs("div",{style:{fontSize:"13px",color:"var(--color-muted)",marginBottom:"24px"},children:["Loaded at ",new Date(e.loadedAt).toLocaleString()]}),e.components.map((s,u)=>y.jsx(P_,{name:s.name,content:s.content,source:s.source,description:s.description,index:u},s.name))]}):y.jsxs("div",{children:[y.jsx("h1",{className:"page-title",children:"Soul Anatomy"}),y.jsx("div",{className:"card",style:{color:"var(--color-muted)",padding:"40px",textAlign:"center"},children:"Loading identity..."})]})}const q_=[{path:"/dashboard",label:"Home",icon:"~"},{path:"/mission",label:"Mission",icon:"%"},{path:"/soul",label:"Soul",icon:"@"},{path:"/memory",label:"Memory",icon:"#"},{path:"/sessions",label:"Sessions",icon:">"},{path:"/mcp",label:"MCP",icon:"&"},{path:"/settings",label:"Settings",icon:"!"},{path:"/journal",label:"Journal",icon:"*"},{path:"/freedom",label:"Freedom",icon:"^"}];function F_(){return y.jsxs("div",{className:"layout",children:[y.jsxs("aside",{className:"sidebar",children:[y.jsxs("div",{className:"sidebar-brand",children:[y.jsx("h1",{children:"ANIMA"}),y.jsx("div",{className:"subtitle",children:"Control Panel"})]}),y.jsx("nav",{className:"sidebar-nav",children:q_.map(e=>y.jsxs(o0,{to:e.path,className:({isActive:n})=>`nav-item ${n?"active":""}`,children:[y.jsx("span",{className:"nav-icon mono",children:e.icon}),e.label]},e.path))}),y.jsxs("div",{className:"sidebar-footer",children:[y.jsx("div",{className:"sidebar-footer-title",children:"NoxSoft Inc"}),y.jsx("div",{className:"sidebar-footer-copy",children:"Local-first agent continuity and orchestration."})]})]}),y.jsx("main",{className:"main-content",children:y.jsxs(jC,{children:[y.jsx(Xn,{path:"/dashboard",element:y.jsx(O2,{})}),y.jsx(Xn,{path:"/mission",element:y.jsx(z_,{})}),y.jsx(Xn,{path:"/soul",element:y.jsx(I_,{})}),y.jsx(Xn,{path:"/memory",element:y.jsx(O_,{})}),y.jsx(Xn,{path:"/sessions",element:y.jsx(B_,{})}),y.jsx(Xn,{path:"/mcp",element:y.jsx(D_,{})}),y.jsx(Xn,{path:"/settings",element:y.jsx(U_,{})}),y.jsx(Xn,{path:"/journal",element:y.jsx(j_,{})}),y.jsx(Xn,{path:"/freedom",element:y.jsx(k_,{})}),y.jsx(Xn,{path:"/",element:y.jsx(kC,{to:"/dashboard",replace:!0})})]})})]})}MT.createRoot(document.getElementById("root")).render(y.jsx(qb.StrictMode,{children:y.jsx(WC,{children:y.jsx(F_,{})})}));
58
+ //# sourceMappingURL=index-qmVN_9qV.js.map