titan-agent 5.3.1 → 5.4.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 (38) hide show
  1. package/README.md +5 -5
  2. package/dist/agent/agent.js +11 -1
  3. package/dist/agent/agent.js.map +1 -1
  4. package/dist/agent/session.js +106 -5
  5. package/dist/agent/session.js.map +1 -1
  6. package/dist/agent/subAgent.js +77 -1
  7. package/dist/agent/subAgent.js.map +1 -1
  8. package/dist/agent/toolRunner.js +17 -0
  9. package/dist/agent/toolRunner.js.map +1 -1
  10. package/dist/config/schema.js +18 -2
  11. package/dist/config/schema.js.map +1 -1
  12. package/dist/gateway/server.js +17 -1
  13. package/dist/gateway/server.js.map +1 -1
  14. package/dist/memory/graph.js +49 -15
  15. package/dist/memory/graph.js.map +1 -1
  16. package/dist/memory/index.js +192 -0
  17. package/dist/memory/index.js.map +1 -0
  18. package/dist/memory/memory.js +1 -0
  19. package/dist/memory/memory.js.map +1 -1
  20. package/dist/organism/drives.js +47 -11
  21. package/dist/organism/drives.js.map +1 -1
  22. package/dist/organism/pressure.js +16 -0
  23. package/dist/organism/pressure.js.map +1 -1
  24. package/dist/safety/fabricationGuard.js +140 -0
  25. package/dist/safety/fabricationGuard.js.map +1 -0
  26. package/dist/skills/builtin/fb_autopilot.js +16 -1
  27. package/dist/skills/builtin/fb_autopilot.js.map +1 -1
  28. package/dist/skills/builtin/gepa.js +23 -1
  29. package/dist/skills/builtin/gepa.js.map +1 -1
  30. package/dist/skills/builtin/model_trainer.js +31 -4
  31. package/dist/skills/builtin/model_trainer.js.map +1 -1
  32. package/dist/skills/builtin/self_improve.js +50 -2
  33. package/dist/skills/builtin/self_improve.js.map +1 -1
  34. package/dist/telemetry/activityLog.js +158 -0
  35. package/dist/telemetry/activityLog.js.map +1 -0
  36. package/dist/utils/constants.js +3 -1
  37. package/dist/utils/constants.js.map +1 -1
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -23,7 +23,7 @@
23
23
  <a href="https://www.npmjs.com/package/titan-agent"><img src="https://img.shields.io/npm/v/titan-agent?color=blue&label=npm" alt="npm version"/></a>
24
24
  <a href="https://github.com/Djtony707/TITAN/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-green" alt="License"/></a>
25
25
  <a href="#providers"><img src="https://img.shields.io/badge/providers-37-purple" alt="37 Providers"/></a>
26
- <a href="#built-in-tools"><img src="https://img.shields.io/badge/tools-248-orange" alt="248 Tools"/></a>
26
+ <a href="#built-in-tools"><img src="https://img.shields.io/badge/tools-253-orange" alt="253 Tools"/></a>
27
27
  <a href="#widget-gallery"><img src="https://img.shields.io/badge/widgets-110-pink" alt="110 Widgets"/></a>
28
28
  </p>
29
29
 
@@ -56,7 +56,7 @@ TITAN is like having a super-smart intern who never sleeps, never asks for a rai
56
56
  **"Talk to me in Andrew's voice"**
57
57
  → Done. It clones voices with 10 seconds of audio. Creepy? A little. Useful? Absolutely.
58
58
 
59
- No coding required. TITAN comes with **248 tools** out of the box. If it needs something new, it builds it on the fly.
59
+ No coding required. TITAN comes with **253 tools** out of the box. If it needs something new, it builds it on the fly.
60
60
 
61
61
  ---
62
62
 
@@ -137,7 +137,7 @@ Open `http://localhost:48420` and you get a beautiful canvas of draggable widget
137
137
  | **Command Post** | Agents, budgets, approvals, org chart, ancestry validation, atomic checkout. Run a business with TITAN agents as employees. |
138
138
  | **SOMA** | Watch TITAN's digital hormones pulse in real time. Weirdly mesmerizing. |
139
139
  | **Skills** | 143 skills loaded, 248 tools. Toggle each on/off. |
140
- | **Voice** | F5-TTS voice cloning + WebRTC streaming. Any voice, any language. |
140
+ | **Voice** | F5-TTS voice cloning via a Python sidecar (mlx-audio on Mac, container on Linux) + WebRTC streaming. Any voice, any language. |
141
141
  | **Memory Graph** | A visual web of everything TITAN remembers about you. |
142
142
  | **Security** | Audit log, checkpoint history, time travel for your files, bug-report viewer. |
143
143
 
@@ -260,9 +260,9 @@ Start in supervised mode. Review what it does. Don't give it access to systems y
260
260
 
261
261
  - **Version:** 5.3.0 "Spacewalk: CI Gate + Parity"
262
262
  - **Tests:** 500+ deterministic tests (unit + mock trajectory + parity), pass in under 5 s — plus 11 live-eval suites and a CI merge gate at 80 % per suite
263
- - **Widget templates:** 110 across 25 categories
263
+ - **Widget templates:** 109 production templates + 19 system widgets = 128 runtime entries across 26 categories
264
264
  - **Skills:** 143 loaded
265
- - **Tools:** 248 across all skills
265
+ - **Tools:** 253 across all skills (verified at runtime by `tests/unit/readme-claims.test.ts`)
266
266
  - **AI Providers:** 37 (Anthropic, OpenAI, Google, Ollama, Groq, Mistral, and 31 more)
267
267
  - **Chat Channels:** 16
268
268
  - **Node:** ≥ 22, pure ESM
@@ -1028,7 +1028,17 @@ Do NOT just describe it \u2014 actually create the widget on the canvas.`;
1028
1028
  taskEnforcementActive = true;
1029
1029
  }
1030
1030
  if (/\b(?:create|add|make|build|spawn|generate|get|fetch|find|search|show|display|give me|want|need)\b.{0,60}\b(?:widget|panel|canvas|gallery|clock|timer|chart|graph|map|calendar|todo|list|counter|dashboard)\b/i.test(message) && !taskEnforcementActive) {
1031
- systemPrompt += "\n\nWhen the user asks for a widget or panel on the canvas, you MUST call gallery_search FIRST to find a matching template. If a template matches, call gallery_get to fetch its source, then emit it through the _____react gate. Do NOT describe or summarize the widget \u2014 actually call the tools and emit the code.";
1031
+ systemPrompt += `
1032
+
1033
+ The user wants a widget on the canvas. You CAN create it yourself \u2014 you do NOT need the user to share files or an existing project. Your job is to BUILD the widget, not ask for files.
1034
+
1035
+ MANDATORY steps:
1036
+ 1. Call gallery_search with the user's intent (e.g. "weather widget").
1037
+ 2. If a template matches (score >= 6), call gallery_get with its id and fill placeholders.
1038
+ 3. Emit the returned source through the _____react gate.
1039
+ 4. If no template matches, write the React component yourself and emit it through _____react.
1040
+
1041
+ Do NOT describe the widget, do NOT ask the user for files, do NOT say "I don't see an existing canvas" \u2014 just CREATE it.`;
1032
1042
  taskEnforcementActive = true;
1033
1043
  }
1034
1044
  if (channel === "deliberation" && !taskEnforcementActive) {