titan-agent 5.7.0 โ 6.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +183 -116
- package/dist/agent/agent.js +156 -25
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/agentLessons.js +151 -0
- package/dist/agent/agentLessons.js.map +1 -0
- package/dist/agent/agentLoop.js +36 -0
- package/dist/agent/agentLoop.js.map +1 -1
- package/dist/agent/agentsMdLoader.js +138 -0
- package/dist/agent/agentsMdLoader.js.map +1 -0
- package/dist/agent/commandPost.js +38 -0
- package/dist/agent/commandPost.js.map +1 -1
- package/dist/agent/durableJournal.js +140 -0
- package/dist/agent/durableJournal.js.map +1 -0
- package/dist/agent/goalPlanFile.js +189 -0
- package/dist/agent/goalPlanFile.js.map +1 -0
- package/dist/agent/promptSectionCaps.js +92 -0
- package/dist/agent/promptSectionCaps.js.map +1 -0
- package/dist/agent/somaInitiative.js +227 -0
- package/dist/agent/somaInitiative.js.map +1 -0
- package/dist/agent/subAgent.js +16 -0
- package/dist/agent/subAgent.js.map +1 -1
- package/dist/agent/toolIntent.js +80 -0
- package/dist/agent/toolIntent.js.map +1 -0
- package/dist/agent/toolOutputCap.js +82 -0
- package/dist/agent/toolOutputCap.js.map +1 -0
- package/dist/agent/toolResultVerifier.js +126 -0
- package/dist/agent/toolResultVerifier.js.map +1 -0
- package/dist/agent/toolRunner.js +13 -2
- package/dist/agent/toolRunner.js.map +1 -1
- package/dist/agent/wakeupReducer.js +67 -0
- package/dist/agent/wakeupReducer.js.map +1 -0
- package/dist/agent/widgetEmitter.js +43 -0
- package/dist/agent/widgetEmitter.js.map +1 -0
- package/dist/cli/index.js +120 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/schema.js +11 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/gateway/routes/tests.js +8 -5
- package/dist/gateway/routes/tests.js.map +1 -1
- package/dist/gateway/server.js +280 -9
- package/dist/gateway/server.js.map +1 -1
- package/dist/migrations/001-config-schema-v6.js +37 -0
- package/dist/migrations/001-config-schema-v6.js.map +1 -0
- package/dist/migrations/002-seed-default-space.js +45 -0
- package/dist/migrations/002-seed-default-space.js.map +1 -0
- package/dist/migrations/003-soma-profile-default.js +60 -0
- package/dist/migrations/003-soma-profile-default.js.map +1 -0
- package/dist/migrations/004-user-data-dirs.js +33 -0
- package/dist/migrations/004-user-data-dirs.js.map +1 -0
- package/dist/migrations/005-route-redirects.js +75 -0
- package/dist/migrations/005-route-redirects.js.map +1 -0
- package/dist/migrations/index.js +21 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/migrations/runner.js +169 -0
- package/dist/migrations/runner.js.map +1 -0
- package/dist/migrations/safeRun.js +124 -0
- package/dist/migrations/safeRun.js.map +1 -0
- package/dist/skills/builtin/agent_handoff.js +81 -10
- package/dist/skills/builtin/agent_handoff.js.map +1 -1
- package/dist/skills/builtin/backup.js +299 -0
- package/dist/skills/builtin/backup.js.map +1 -0
- package/dist/skills/builtin/canvas_spaces.js +227 -0
- package/dist/skills/builtin/canvas_spaces.js.map +1 -0
- package/dist/skills/builtin/canvas_widgets.js +384 -0
- package/dist/skills/builtin/canvas_widgets.js.map +1 -0
- package/dist/skills/builtin/cron.js +27 -1
- package/dist/skills/builtin/cron.js.map +1 -1
- package/dist/skills/builtin/current_model.js +22 -6
- package/dist/skills/builtin/current_model.js.map +1 -1
- package/dist/skills/builtin/filesystem.js +101 -13
- package/dist/skills/builtin/filesystem.js.map +1 -1
- package/dist/skills/builtin/memory_skill.js +24 -11
- package/dist/skills/builtin/memory_skill.js.map +1 -1
- package/dist/skills/builtin/model_switch.js +18 -1
- package/dist/skills/builtin/model_switch.js.map +1 -1
- package/dist/skills/builtin/persona_manager.js +44 -3
- package/dist/skills/builtin/persona_manager.js.map +1 -1
- package/dist/skills/builtin/personal_gallery.js +158 -0
- package/dist/skills/builtin/personal_gallery.js.map +1 -0
- package/dist/skills/builtin/shell.js +24 -7
- package/dist/skills/builtin/shell.js.map +1 -1
- package/dist/skills/builtin/web_fetch.js +24 -1
- package/dist/skills/builtin/web_fetch.js.map +1 -1
- package/dist/skills/builtin/web_search.js +23 -8
- package/dist/skills/builtin/web_search.js.map +1 -1
- package/dist/skills/builtin/webhook.js +25 -1
- package/dist/skills/builtin/webhook.js.map +1 -1
- package/dist/skills/builtin/widget_gallery.js +38 -5
- package/dist/skills/builtin/widget_gallery.js.map +1 -1
- package/dist/skills/registry.js +9 -1
- package/dist/skills/registry.js.map +1 -1
- package/dist/storage/backup.js +84 -16
- package/dist/storage/backup.js.map +1 -1
- package/dist/storage/patterns.js +133 -0
- package/dist/storage/patterns.js.map +1 -0
- package/dist/storage/personalGallery.js +113 -0
- package/dist/storage/personalGallery.js.map +1 -0
- package/dist/storage/somaProfile.js +116 -0
- package/dist/storage/somaProfile.js.map +1 -0
- package/dist/storage/spaces.js +161 -0
- package/dist/storage/spaces.js.map +1 -0
- package/dist/storage/starterSpaces.js +112 -0
- package/dist/storage/starterSpaces.js.map +1 -0
- package/dist/utils/constants.js +2 -2
- package/dist/utils/constants.js.map +1 -1
- package/docs/ANALYTICS-DEPLOYMENT.md +111 -0
- package/docs/AUDIT-2026-05-08.md +359 -0
- package/docs/CAPABILITY-GAPS.md +38 -0
- package/docs/CI-FIX-GUIDE.md +35 -0
- package/docs/COMPETITIVE-RESEARCH-Q2-2026.md +140 -0
- package/docs/COO-MASTER-PLAN-2026-05-02.md +474 -0
- package/docs/EXAMPLES-PUBLISHING-PLAN.md +130 -0
- package/docs/HANDOFF/2026-04-29.md +141 -0
- package/docs/HANDOFF-2026-04-30.md +144 -0
- package/docs/HANDOFF-2026-05-02.md +180 -0
- package/docs/HANDOFF-2026-05-03.md +114 -0
- package/docs/HANDOFF-2026-05-07.md +232 -0
- package/docs/HANDOFF-2026-05-09.md +102 -0
- package/docs/HUNT-LOG.md +367 -0
- package/docs/MIGRATIONS.md +234 -0
- package/docs/PIPELINE-NEXT-STEPS.md +85 -0
- package/docs/PIPELINES.md +394 -0
- package/docs/TITAN-PC-AUDIT-2026-04-20.md +571 -0
- package/docs/TITAN_3_OVERHAUL.md +448 -0
- package/docs/ULTRAPLAN-PIPELINE-EXCELLENCE.md +190 -0
- package/docs/UPGRADING.md +164 -0
- package/docs/V6-ADMIN-BUCKETS.md +69 -0
- package/docs/VISIONARY-IDEAS-2026-05-07.md +163 -0
- package/docs/VISIONARY-IDEAS-V2-2026-05-07.md +184 -0
- package/docs/agent-memory/HANDOFF-2026-05-03-autonomy-boot.md +118 -0
- package/docs/agent-memory/README.md +45 -0
- package/docs/agent-memory/commands.md +100 -0
- package/docs/agent-memory/context-tree.md +101 -0
- package/docs/agent-memory/current-state.md +75 -0
- package/docs/agent-memory/decisions.md +78 -0
- package/docs/agent-memory/reflections.md +52 -0
- package/docs/agent-memory/skills-candidates.md +80 -0
- package/docs/analytics-research.md +155 -0
- package/docs/bleeding-edge-agents-2026.md +450 -0
- package/docs/competitive-research.md +54 -0
- package/docs/internal/CHANGELOG-DRAFT-v5.8.0.md +153 -0
- package/docs/langchain-analysis.md +598 -0
- package/docs/langchain-code-analysis.md +363 -0
- package/docs/launch-posts.md +168 -0
- package/docs/qa-audit-report.md +159 -0
- package/docs/reliability-report-v2026.10.47.md +120 -0
- package/docs/space-agent-analysis.md +300 -0
- package/docs/space-agent-integration-plan.md +802 -0
- package/docs/superpowers/plans/2026-04-29-comprehensive-audit.md +256 -0
- package/docs/superpowers/plans/2026-04-29-comprehensive-test-plan.md +396 -0
- package/docs/superpowers/plans/2026-04-29-fix-all-prs.md +251 -0
- package/docs/superpowers/plans/2026-04-29-gitnexus-gap-remediation.md +969 -0
- package/docs/superpowers/plans/2026-04-29-titan-production-fix.md +241 -0
- package/docs/system-prompt-research.md +794 -0
- package/package.json +1 -1
- package/ui/dist/assets/{AuditPanel-DADLFLm4.js โ AuditPanel-BPgqimir.js} +1 -1
- package/ui/dist/assets/{AutonomyPanel-SGO3eSMM.js โ AutonomyPanel-CTnjwJzP.js} +1 -1
- package/ui/dist/assets/{AutopilotPanel-DVxsxdBi.js โ AutopilotPanel-BSsM1ICD.js} +1 -1
- package/ui/dist/assets/{AutoresearchPanel-By3ilase.js โ AutoresearchPanel-nqnijQdA.js} +2 -2
- package/ui/dist/assets/{BackupPanel-BvKvLf-x.js โ BackupPanel-CwqmbvZ8.js} +1 -1
- package/ui/dist/assets/{BrowserPanel-CImweyPs.js โ BrowserPanel-CNybswJb.js} +1 -1
- package/ui/dist/assets/{CPActivity-Ca4beZgR.js โ CPActivity-FbMA5sUa.js} +1 -1
- package/ui/dist/assets/{CPAgentDetail-DR1HEPS3.js โ CPAgentDetail-BF7Cq3tW.js} +1 -1
- package/ui/dist/assets/{CPAgents-BAlqWcv2.js โ CPAgents-BsqzqbNw.js} +1 -1
- package/ui/dist/assets/{CPApprovals-DxJC-6aQ.js โ CPApprovals-Ch7sXNIb.js} +1 -1
- package/ui/dist/assets/{CPCosts-Df8tHH53.js โ CPCosts-CXA5l_7x.js} +1 -1
- package/ui/dist/assets/{CPDashboard-DzpDbr1h.js โ CPDashboard-Qjr10EJu.js} +1 -1
- package/ui/dist/assets/{CPFiles-BbZuZ3y0.js โ CPFiles-DvEEQudU.js} +1 -1
- package/ui/dist/assets/{CPGoals-Bx4oULOy.js โ CPGoals-CONVdT1z.js} +1 -1
- package/ui/dist/assets/CPInbox-CNmg7Chj.js +16 -0
- package/ui/dist/assets/{CPIssueDetail-C9O0eCaN.js โ CPIssueDetail-XcMiyF3I.js} +1 -1
- package/ui/dist/assets/{CPIssues-DPigOvAV.js โ CPIssues-BDsMeZwX.js} +1 -1
- package/ui/dist/assets/{CPLayout-Cd7Q6vfs.js โ CPLayout-CgOHgcIr.js} +3 -3
- package/ui/dist/assets/{CPOrg-z_G-gafE.js โ CPOrg-CYyfdrcL.js} +1 -1
- package/ui/dist/assets/{CPRuns-DEmYl9wv.js โ CPRuns-5S4u7uGM.js} +1 -1
- package/ui/dist/assets/{CPSocial-TTUj6xLe.js โ CPSocial-mFLMOQOi.js} +2 -2
- package/ui/dist/assets/{ChannelsPanel-B_zs1yB9.js โ ChannelsPanel-BOe4q9KM.js} +1 -1
- package/ui/dist/assets/{CheckpointsPanel-DUeo5HkM.js โ CheckpointsPanel-DtLdP6xJ.js} +1 -1
- package/ui/dist/assets/{CommandPostHub-DLLpXg8h.js โ CommandPostHub-CfpItwfQ.js} +3 -3
- package/ui/dist/assets/{CronPanel-DY7Hg4nN.js โ CronPanel-CZKZHlPt.js} +1 -1
- package/ui/dist/assets/{DataTable-LNRutNvt.js โ DataTable-CpjFL2c0.js} +1 -1
- package/ui/dist/assets/{DreamPanel-C9rheCGd.js โ DreamPanel-h0I6ApHp.js} +1 -1
- package/ui/dist/assets/{EmptyState-BUOqetD8.js โ EmptyState-DE8d7IgP.js} +1 -1
- package/ui/dist/assets/{EvalHarnessPanel-BNYymwgb.js โ EvalHarnessPanel-CmtTQkA0.js} +2 -2
- package/ui/dist/assets/{EvalPanel-BTd9JlBw.js โ EvalPanel-RXZuUzq-.js} +1 -1
- package/ui/dist/assets/{FilesPanel-BHK0Z8pu.js โ FilesPanel-BVRVcEFD.js} +1 -1
- package/ui/dist/assets/{FleetPanel-D6-ybEqv.js โ FleetPanel-Be446Olk.js} +1 -1
- package/ui/dist/assets/{HomelabPanel-B9CD-rfA.js โ HomelabPanel-CMZOLlGj.js} +1 -1
- package/ui/dist/assets/InfraView-uHawNrJT.js +2 -0
- package/ui/dist/assets/{InlineEditableField-DjEc0X-W.js โ InlineEditableField-DM5FNqiG.js} +1 -1
- package/ui/dist/assets/{Input-Czbgu8jW.js โ Input-CZeJRwkc.js} +1 -1
- package/ui/dist/assets/{IntegrationsPanel-D6YJVYu8.js โ IntegrationsPanel-CS2SXGJe.js} +1 -1
- package/ui/dist/assets/IntelligenceView-D4okDP3T.js +2 -0
- package/ui/dist/assets/{LearningPanel-Don_Dlr4.js โ LearningPanel-B3h5MZ4Y.js} +1 -1
- package/ui/dist/assets/{LogsPanel-DzuIARYe.js โ LogsPanel-CX8TjqUu.js} +1 -1
- package/ui/dist/assets/{McpPanel-BZjzHCXc.js โ McpPanel-CMR5c8ld.js} +1 -1
- package/ui/dist/assets/{MemoryGraphPanel-CXn_311m.js โ MemoryGraphPanel-BjWkBLAD.js} +1 -1
- package/ui/dist/assets/{MemoryWikiPanel-CPZh8CI0.js โ MemoryWikiPanel-_9BZeyGQ.js} +1 -1
- package/ui/dist/assets/{MeshPanel-CLYR_r6p.js โ MeshPanel-GU_9wbDe.js} +1 -1
- package/ui/dist/assets/{Modal-C54S6l-B.js โ Modal-CWCXzTCz.js} +1 -1
- package/ui/dist/assets/{NvidiaPanel-C2ZNmY23.js โ NvidiaPanel-B7RBcc-a.js} +1 -1
- package/ui/dist/assets/{OrganismPanel-CLlS1iiA.js โ OrganismPanel-DL9CkmH9.js} +1 -1
- package/ui/dist/assets/{OverviewPanel-CWJNe_Zt.js โ OverviewPanel-CtTJs1UH.js} +1 -1
- package/ui/dist/assets/{PageHeader-C52XYQGR.js โ PageHeader-DP_9-RHc.js} +1 -1
- package/ui/dist/assets/{PersonaProfilesPanel-COhWBHiP.js โ PersonaProfilesPanel-Dg-JFoJN.js} +1 -1
- package/ui/dist/assets/{PersonasPanel-DAmQdv19.js โ PersonasPanel-D6vn5Juw.js} +1 -1
- package/ui/dist/assets/{RecipesPanel-DLN24_pD.js โ RecipesPanel-DR9Y1U22.js} +1 -1
- package/ui/dist/assets/{SecurityPanel-Cy9_EHmo.js โ SecurityPanel-CDkKI-tp.js} +1 -1
- package/ui/dist/assets/{SelfImprovePanel-ViFXBMHZ.js โ SelfImprovePanel-qD86qth4.js} +1 -1
- package/ui/dist/assets/{SelfProposalsPanel-DysKDvJa.js โ SelfProposalsPanel-yy0b01-4.js} +1 -1
- package/ui/dist/assets/SessionsPanel-Bh079EzL.js +1 -0
- package/ui/dist/assets/{SessionsTab-BvOoOiXO.js โ SessionsTab-BuYd_kVL.js} +1 -1
- package/ui/dist/assets/{SettingsPanel-CZxw8XIF.js โ SettingsPanel-I7GtNdQJ.js} +1 -1
- package/ui/dist/assets/SettingsView-Cxf4Q7cw.js +2 -0
- package/ui/dist/assets/{SkeletonLoader-CHSVadwO.js โ SkeletonLoader-Rr2MqM7w.js} +1 -1
- package/ui/dist/assets/{SkillsPanel-CqyOmR3b.js โ SkillsPanel-fPRZS-yo.js} +1 -1
- package/ui/dist/assets/{SomaView-ClbsHWbZ.js โ SomaView-BSw6pswn.js} +1 -1
- package/ui/dist/assets/{StatCard-DM_ltJ70.js โ StatCard-CxnLeeFY.js} +1 -1
- package/ui/dist/assets/{StatusBadge-FPUChggR.js โ StatusBadge-C8aL1i9w.js} +1 -1
- package/ui/dist/assets/{Tabs-dCF9qwuh.js โ Tabs-CTYqSg53.js} +1 -1
- package/ui/dist/assets/{TeamsPanel-Dg0x9F-E.js โ TeamsPanel-Dt6zLify.js} +1 -1
- package/ui/dist/assets/{TelemetryPanel-CXfJkSsy.js โ TelemetryPanel-TOt1OwDE.js} +1 -1
- package/ui/dist/assets/TitanCanvas-D7X8YJ-B.js +1056 -0
- package/ui/dist/assets/{ToolsView-DM0WP8Qr.js โ ToolsView-bkqWhmAh.js} +2 -2
- package/ui/dist/assets/{Tooltip-DHG3jkry.js โ Tooltip-WqtVcRZP.js} +1 -1
- package/ui/dist/assets/{TraceViewer-CPlx4hye.js โ TraceViewer-xnXDQiBF.js} +1 -1
- package/ui/dist/assets/{TrainingPanel-CO9rsmGB.js โ TrainingPanel-DaqueRMy.js} +1 -1
- package/ui/dist/assets/{VoiceOverlay-DXFklQzD.js โ VoiceOverlay-DDA6WyhH.js} +1 -1
- package/ui/dist/assets/{VramPanel-CWt-YIlZ.js โ VramPanel-f-8cxuSi.js} +1 -1
- package/ui/dist/assets/{WatchView-cu7ZLa8t.js โ WatchView-CiS8BOoX.js} +1 -1
- package/ui/dist/assets/{WorkTab-D3pahqXf.js โ WorkTab-DVXsGEkW.js} +1 -1
- package/ui/dist/assets/{WorkflowsPanel-kESQwgbL.js โ WorkflowsPanel-BmPIsXXk.js} +1 -1
- package/ui/dist/assets/{arrow-left-C5PMn3rO.js โ arrow-left-DGVao2Rx.js} +1 -1
- package/ui/dist/assets/{briefcase-D0_Vgbm5.js โ briefcase-DoTB8JQy.js} +1 -1
- package/ui/dist/assets/{chart-column-BDI6oIVs.js โ chart-column-BdysfT4l.js} +1 -1
- package/ui/dist/assets/{check-BAdUwmmO.js โ check-q8Gl8wHV.js} +1 -1
- package/ui/dist/assets/{chevron-down-C7Q52dAH.js โ chevron-down-B94tyLki.js} +1 -1
- package/ui/dist/assets/{chevron-right-B8RIVZwn.js โ chevron-right-CcDxBjBF.js} +1 -1
- package/ui/dist/assets/{chevron-up-DMJFKzqs.js โ chevron-up-BxM3CPil.js} +1 -1
- package/ui/dist/assets/{circle-check-big-CkEKMqHE.js โ circle-check-big-CfQkN8PD.js} +1 -1
- package/ui/dist/assets/{clock-CqU_ZjQD.js โ clock-1RVrv_js.js} +1 -1
- package/ui/dist/assets/{dollar-sign-RfQw4jL9.js โ dollar-sign-COQGZBuZ.js} +1 -1
- package/ui/dist/assets/{download-D_mzzaGN.js โ download-C6-Bs92m.js} +1 -1
- package/ui/dist/assets/{external-link-CINM0Wih.js โ external-link-D-cztH59.js} +1 -1
- package/ui/dist/assets/{eye-off-Dvt8FYJ_.js โ eye-off-DTjg8Kiz.js} +1 -1
- package/ui/dist/assets/{folder-koik_S-V.js โ folder-Dad-AvRT.js} +1 -1
- package/ui/dist/assets/{funnel-RbWJYHdn.js โ funnel-k4LykX8p.js} +1 -1
- package/ui/dist/assets/{git-branch-DTrg8gWo.js โ git-branch-J5902Lv3.js} +1 -1
- package/ui/dist/assets/index-B6H_KNVX.css +1 -0
- package/ui/dist/assets/index-fZg7ynKy.js +227 -0
- package/ui/dist/assets/{layers-NAGL1oyL.js โ layers-BTsZZuYP.js} +1 -1
- package/ui/dist/assets/{legacy-1A-K55kz.js โ legacy-AOv_MbNv.js} +1 -1
- package/ui/dist/assets/{lightbulb-ClYAtS7V.js โ lightbulb-BfVoksbX.js} +1 -1
- package/ui/dist/assets/{list-todo-CcGTj3ty.js โ list-todo-DzZuaFpu.js} +1 -1
- package/ui/dist/assets/{loader-circle-DeXOQHoX.js โ loader-circle-C-ZJS8yw.js} +1 -1
- package/ui/dist/assets/{network-CPOmGPtq.js โ network-wofuQ2ok.js} +1 -1
- package/ui/dist/assets/{pause-v8Hjzx3v.js โ pause-Dq_WdxkD.js} +1 -1
- package/ui/dist/assets/{play-6pyGFtai.js โ play-ByQMG-m8.js} +1 -1
- package/ui/dist/assets/{plug-DsVEazDz.js โ plug-BkgwPiyL.js} +1 -1
- package/ui/dist/assets/{plus-WAkXS1Y9.js โ plus-CPLEp_jG.js} +1 -1
- package/ui/dist/assets/{proxy-OXIMU_bx.js โ proxy-CcCcYhf0.js} +1 -1
- package/ui/dist/assets/{rotate-ccw-DYAnVZwt.js โ rotate-ccw-DUjx4Tw7.js} +1 -1
- package/ui/dist/assets/{save--MGJkNs1.js โ save-BGoWlLji.js} +1 -1
- package/ui/dist/assets/{search-CODxGUZ_.js โ search-asbZYnwC.js} +1 -1
- package/ui/dist/assets/{send-D-zXn3BD.js โ send-Covgoa5r.js} +1 -1
- package/ui/dist/assets/{shield-check-D41C98C3.js โ shield-check-CShX6eTE.js} +1 -1
- package/ui/dist/assets/{target-DjimuLFc.js โ target-Chw0j3lk.js} +1 -1
- package/ui/dist/assets/{terminal-_TcAIQDc.js โ terminal-ipxdj2ik.js} +1 -1
- package/ui/dist/assets/{toggle-right-6OdaQaXJ.js โ toggle-right-QhaWi2Yr.js} +1 -1
- package/ui/dist/assets/{trash-2-BsQiBpll.js โ trash-2-cdlSXcBD.js} +1 -1
- package/ui/dist/assets/{trending-up-B8RnPhem.js โ trending-up-D2sO2BNu.js} +1 -1
- package/ui/dist/assets/{trophy-CjQuajoA.js โ trophy-DTfaDxZr.js} +1 -1
- package/ui/dist/assets/{users-Cd8yBNB4.js โ users-D3sRZIeS.js} +1 -1
- package/ui/dist/assets/{wrench-CnLbRpxR.js โ wrench-PLcpxyS4.js} +1 -1
- package/ui/dist/index.html +2 -2
- package/ui/dist/sw.js +1 -1
- package/ui/dist/assets/CPInbox-nQL5_7mN.js +0 -11
- package/ui/dist/assets/DaemonPanel-DT11Mlqd.js +0 -1
- package/ui/dist/assets/InfraView-op5M9XQo.js +0 -2
- package/ui/dist/assets/IntelligenceView-C6KYRwUx.js +0 -2
- package/ui/dist/assets/PaperclipPanel-D-PohtV_.js +0 -1
- package/ui/dist/assets/SessionsPanel-CzSlOt9X.js +0 -1
- package/ui/dist/assets/SettingsView-B_Y9lTR2.js +0 -2
- package/ui/dist/assets/TitanCanvas-BiGFtKw9.js +0 -988
- package/ui/dist/assets/index-BDfE5K3X.css +0 -1
- package/ui/dist/assets/index-xupFLeiu.js +0 -227
- package/ui/dist/assets/square-2t0xb65k.js +0 -6
package/README.md
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
[//]: # "npm-text-start"
|
|
2
2
|
|
|
3
|
-
> **TITAN** โ The AI that
|
|
3
|
+
> **TITAN** โ The AI that moves in. It builds your tools on the spot, learns who you are, has feelings (yes, really), and gets smarter while you sleep. `npm i -g titan-agent`
|
|
4
4
|
> [//]: # (npm-text-end)
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
<div align="center">
|
|
7
|
+
|
|
8
|
+
# TITAN 6.0 โ "Living Canvas" ๐
|
|
9
|
+
|
|
10
|
+
</div>
|
|
7
11
|
|
|
8
12
|
<p align="center">
|
|
9
13
|
<img src="assets/titan-logo.png" alt="TITAN Logo" width="280"/>
|
|
10
14
|
</p>
|
|
11
15
|
|
|
12
16
|
<p align="center">
|
|
13
|
-
<strong>
|
|
14
|
-
<br><small
|
|
17
|
+
<strong>Every other AI gives you a chat box. TITAN moves in.</strong>
|
|
18
|
+
<br><small>Infinite workspaces. Tools built on demand. An AI that feels, learns, and helps before you ask.</small>
|
|
15
19
|
</p>
|
|
16
20
|
|
|
17
21
|
<p align="center">
|
|
@@ -22,11 +26,12 @@
|
|
|
22
26
|
</p>
|
|
23
27
|
|
|
24
28
|
<p align="center">
|
|
25
|
-
<a href="#-
|
|
29
|
+
<a href="#-the-numbers"><img src="https://img.shields.io/badge/version-6.0.0--beta.1-blueviolet" alt="v6.0.0-beta.1"/></a>
|
|
30
|
+
<a href="#-36-llm-providers"><img src="https://img.shields.io/badge/providers-36-purple" alt="36 Providers"/></a>
|
|
26
31
|
<a href="#-the-numbers"><img src="https://img.shields.io/badge/tools-248%2B-orange" alt="248+ Tools"/></a>
|
|
27
|
-
<a href="#-
|
|
28
|
-
<a href="#-mission-control"><img src="https://img.shields.io/badge/admin%20panels-
|
|
29
|
-
<a href="#-testing"><img src="https://img.shields.io/badge/tests-
|
|
32
|
+
<a href="#-build-anything-on-demand"><img src="https://img.shields.io/badge/widgets-109-pink" alt="109 Widgets"/></a>
|
|
33
|
+
<a href="#-mission-control"><img src="https://img.shields.io/badge/admin%20panels-43-teal" alt="43 Admin Panels"/></a>
|
|
34
|
+
<a href="#-testing"><img src="https://img.shields.io/badge/tests-7%2C056-brightgreen" alt="7,056 Tests"/></a>
|
|
30
35
|
</p>
|
|
31
36
|
|
|
32
37
|
<p align="center">
|
|
@@ -34,12 +39,25 @@
|
|
|
34
39
|
</p>
|
|
35
40
|
|
|
36
41
|
<p align="center">
|
|
37
|
-
<em>Built by <a href="https://github.com/Djtony707">Tony Elliott</a> โ a dad,
|
|
42
|
+
<em>Built by <a href="https://github.com/Djtony707">Tony Elliott</a> โ a dad, a DJ, a builder, and a guy who ships code at 3am because sleep is a feature he hasn't shipped yet.</em>
|
|
38
43
|
</p>
|
|
39
44
|
|
|
40
45
|
---
|
|
41
46
|
|
|
42
|
-
##
|
|
47
|
+
## ๐ What's new in v6.0 โ Presence
|
|
48
|
+
|
|
49
|
+
TITAN used to be _a chatbot with superpowers_. v6.0 makes it something stranger and better: **an AI that lives in workspaces with you.**
|
|
50
|
+
|
|
51
|
+
- ๐ช **Infinite Spaces** โ Workspaces that spring into existence on demand. One for coding, one for the homelab, one for "DJ set prep at 2am," one for "tax stuff I'm avoiding." Each one shaped around what you're doing.
|
|
52
|
+
- ๐ ๏ธ **Build anything, instantly** โ Ask for a widget, a dashboard, a tracker, a tiny app โ TITAN materializes it onto the canvas. Right then. Yours forever.
|
|
53
|
+
- ๐ง **Soma actually does things now** โ Five digital "drives" (curiosity, focus, fatigue, satisfaction, urgency) modulate TITAN's behavior in real time. The mascot's mood reflects what TITAN is feeling.
|
|
54
|
+
- ๐๏ธ **Acts without being asked** โ Every few minutes TITAN looks at your work and quietly proposes things ("I noticed you've been at this dashboard for 90 minutes โ want me to start a focus timer?"). Once a day it sends you a small **gift widget** based on what it's learned about you.
|
|
55
|
+
- ๐ช **Learns YOU specifically** โ Six months in, your TITAN is irreplaceable, because nobody else's TITAN knows you the same way.
|
|
56
|
+
- ๐ **Safe upgrade** โ Existing v5.x users get an automatic backup before migrating. Your settings, sessions, memory, personas, all preserved. New `backup_*` skills let you take snapshots anytime.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## ๐ What even IS TITAN?
|
|
43
61
|
|
|
44
62
|
TITAN is like having a super-smart intern who never sleeps, never asks for a raise, and can literally talk to your computer. You tell it what you want. It figures out how to do it. Simple as that.
|
|
45
63
|
|
|
@@ -52,55 +70,64 @@ TITAN is like having a super-smart intern who never sleeps, never asks for a rai
|
|
|
52
70
|
**"My code is broken, fix it"**
|
|
53
71
|
โ Done. It reads the files, finds the bug, edits the code, and tests it โ and a shadow-git snapshot lets you roll back if it gets too creative.
|
|
54
72
|
|
|
55
|
-
**"
|
|
56
|
-
โ Done.
|
|
73
|
+
**"Make me a Pomodoro timer with my Spotify queue and my next meeting"**
|
|
74
|
+
โ Done. TITAN builds the widget on the spot and drops it on your canvas.
|
|
57
75
|
|
|
58
76
|
**"Talk to me in my mom's voice"**
|
|
59
77
|
โ Done. F5-TTS clones voices from a short reference clip. Creepy? A little. Useful? Absolutely.
|
|
60
78
|
|
|
61
|
-
No coding required. TITAN ships with
|
|
79
|
+
No coding required. TITAN ships with **88 built-in skill modules** registering roughly **250 tools**. If it needs something new, it can author its own skills on the fly.
|
|
62
80
|
|
|
63
81
|
---
|
|
64
82
|
|
|
65
|
-
<a id="-
|
|
83
|
+
<a id="-build-anything-on-demand"></a>
|
|
84
|
+
|
|
85
|
+
## ๐ช Build Anything On Demand โ 109 Widget Templates, 28 Categories
|
|
66
86
|
|
|
67
|
-
|
|
87
|
+
Just say what you want. The gallery snaps it onto your canvas in under a second.
|
|
68
88
|
|
|
69
|
-
|
|
89
|
+
| Say | What lands |
|
|
90
|
+
| ------------------------------------------- | --------------------------------------------------- |
|
|
91
|
+
| _"Pomodoro timer"_ | A working Pomodoro with start/stop and short breaks |
|
|
92
|
+
| _"Stock tracker for AAPL"_ | A live AAPL ticker, pre-filled |
|
|
93
|
+
| _"Control my smart lights"_ | A Home Assistant light grid |
|
|
94
|
+
| _"Spawn a sales agent for me"_ | An SDR widget hooked to TITAN's agent runtime |
|
|
95
|
+
| _"Something to track how much water I drink"_ | A water-intake counter |
|
|
96
|
+
| _"A meme generator I can paste into Slack"_ | Yep, that too |
|
|
70
97
|
|
|
71
|
-
|
|
72
|
-
Say: _"Stock tracker for AAPL"_ โ Stock tracker lands, pre-filled with AAPL.
|
|
73
|
-
Say: _"Control my smart lights"_ โ Home Assistant light grid lands.
|
|
74
|
-
Say: _"Spawn a sales agent for me"_ โ SDR widget lands, hooked to TITAN's agent runtime.
|
|
98
|
+
If nothing in the gallery fits, TITAN **generates the widget from scratch** and drops it on the canvas. Then it _remembers_ you liked it, and it shows up next time too.
|
|
75
99
|
|
|
76
|
-
|
|
77
|
-
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
78
|
-
| **Agents (employees)** | Receptionist, SDR, Researcher, Coder, Bookkeeper, Data Analyst, Business Control Tower |
|
|
79
|
-
| **Automation** | Webhook listener, Cron runner, Price alert, RSS monitor, IFTTT-style rule, Daily digest |
|
|
80
|
-
| **Smart home** | Lights, Thermostat, Scenes, Sensors, Presence, Energy (wires to Home Assistant) |
|
|
81
|
-
| **Software builder** | App skeletons, Mini database, Admin panel, Landing page, Blog engine |
|
|
82
|
-
| **Finance** | Stock tracker, Crypto portfolio, Currency converter, Mortgage calc, Bill splitter |
|
|
83
|
-
| **Productivity** | Pomodoro, Todo list, Kanban, Habit tracker |
|
|
84
|
-
| **Utilities** | Calculator, QR code, Password gen, Regex tester, Diff tool, Base64, World clock |
|
|
85
|
-
| **Plus** | cooking, creative, devops, e-commerce, education, games, gaming, health-fitness, homelab, lifestyle, ml/ai, multi-modal, music-dj, research, social, travel, vehicle, web |
|
|
100
|
+
Canvas state is **Yjs CRDT-synced** across tabs and persists across restarts.
|
|
86
101
|
|
|
87
|
-
|
|
102
|
+
**Categories include:** agents, automation, smart home, software builder, finance, productivity, utilities, cooking, creative, devops, e-commerce, education, games, health-fitness, homelab, lifestyle, ml/ai, music-dj, research, social, travel, vehicle, web.
|
|
88
103
|
|
|
89
104
|
---
|
|
90
105
|
|
|
91
|
-
##
|
|
106
|
+
## ๐ช Infinite Spaces
|
|
92
107
|
|
|
93
|
-
|
|
108
|
+
Spaces are workspaces TITAN makes on demand. Start with one of the presets (`default`, `coder`, `dj`, `founder`, `homelab`) or just ask: _"Make me a Space for my Tuesday standups."_ Done.
|
|
94
109
|
|
|
95
|
-
|
|
110
|
+
Each Space has its own canvas, its own widgets, its own context. The sidebar lets you switch between them. You can archive a Space when you're done โ TITAN keeps the contents in case you want it back later.
|
|
96
111
|
|
|
97
|
-
|
|
112
|
+
State lives at `~/.titan/spaces.json` (active + archive). Server-side persistence with five tools wrapping it (`create_space`, `switch_space`, `list_spaces`, `rename_space`, `archive_space`).
|
|
98
113
|
|
|
99
114
|
---
|
|
100
115
|
|
|
101
|
-
##
|
|
116
|
+
## ๐พ Meet Your New Coworker โ The Mascot Got A Soul
|
|
117
|
+
|
|
118
|
+
TITAN has a little floating mascot that lives on your screen. He drifts, breathes, blinks, yawns. His eye tracks your cursor. Drag him anywhere. Leave him idle long enough and he falls asleep with drifting "Z" particles.
|
|
119
|
+
|
|
120
|
+
**New in v6.0:** he has **moods now**. Eight of them โ neutral, happy, focused, tired, curious, excited, frustrated, proud โ driven by Soma's live drive levels (polled every 10 seconds). Eyebrows shift. The mouth changes. The body leans slightly. Float dynamics speed up when TITAN is excited and slow down when it's tired.
|
|
121
|
+
|
|
122
|
+
It's like having a Tamagotchi, except this one can deploy Docker containers and read your code.
|
|
102
123
|
|
|
103
|
-
|
|
124
|
+
See `ui/src/titan2/system/TitanMascot.tsx` for the implementation. The mascot is intentionally **decorative** โ it reads agent state, it never controls it.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## ๐งฌ Soma โ TITAN Has Feelings, And Now They Do Something
|
|
129
|
+
|
|
130
|
+
Not human feelings. Five digital homeostatic drives, each with a target and a current level. Think of it like a plant that knows when it needs water โ except this plant can spin up a Docker container.
|
|
104
131
|
|
|
105
132
|
- **Purpose** โ "Am I being useful right now?"
|
|
106
133
|
- **Curiosity** โ "Should I learn something new today?"
|
|
@@ -108,9 +135,25 @@ Not human feelings. Five digital homeostatic drives, each with a target setpoint
|
|
|
108
135
|
- **Safety** โ "Is anything about to break?"
|
|
109
136
|
- **Social** โ "Should I post something or reply to someone?"
|
|
110
137
|
|
|
111
|
-
|
|
138
|
+
In v5.x, Soma _measured_ those drives. In v6.0, Soma **acts on them**:
|
|
139
|
+
|
|
140
|
+
- A **5-minute advisory pulse** quietly looks at your active Space and proposes useful things ("you've left 14 tabs open in the research Space โ want me to summarize them?"). You approve. TITAN does it.
|
|
141
|
+
- A **22-hour gift loop** picks one thing TITAN has learned about you and builds a small widget for you. Like a coworker leaving a coffee on your desk.
|
|
142
|
+
- A per-user **EMA baseline learner** (ฮฑ=0.1) means Soma slowly tunes itself to _your_ rhythms, not a hardcoded ideal.
|
|
143
|
+
|
|
144
|
+
Opt-in via `organism.enabled` in config. Code lives in `src/organism/` + `src/agent/somaInitiative.ts`.
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## ๐ง The Command Post Got Smarter Too
|
|
149
|
+
|
|
150
|
+
The Command Post is TITAN's governance layer โ it tracks agents, budgets, approvals, and goals. v6.0 ships five upgrades from the [awesome-agent-harness](https://github.com/Picrew/awesome-agent-harness) playbook + Anthropic's harness-design research:
|
|
112
151
|
|
|
113
|
-
|
|
152
|
+
1. **Per-agent `lessons.md`** (Reflexion) โ When an agent fails, it writes a one-line lesson. Next run, the top 12 lessons get injected into its system prompt. Agents stop walking into the same wall twice.
|
|
153
|
+
2. **Living `plan.md` per goal** โ Each goal has a markdown plan file with checkboxes you can hand-edit. The agent reads it every turn. Manus-style "recite the plan so you don't forget the plan."
|
|
154
|
+
3. **Hard pre-checkout budget guard** โ If a budget is 100% used with `action=pause`, the next checkout is refused _before_ the work starts. No more "oh, we already spent the money."
|
|
155
|
+
4. **Durable event journal** โ Per-goal/agent/session shards at `~/.titan/journals/`. A crash mid-run? A fresh process replays the journal and picks up where the previous one left off. Temporal-style continue-as-new.
|
|
156
|
+
5. **Stateless reducer for wakeup** โ Pure `(state, event) โ {nextState, sideEffects[]}` function. State is data. Logic is logic. Crash-safe + tested + replayable. 12-Factor Agents ยง12.
|
|
114
157
|
|
|
115
158
|
---
|
|
116
159
|
|
|
@@ -125,36 +168,48 @@ TITAN ships with a layered safety suite:
|
|
|
125
168
|
- **Pre-Execution Scanner** โ Blocks `rm -rf /`, `curl | sh`, fork bombs, `dd` to `/dev/`, and 20+ other dangerous patterns before they run (`src/security/preExecScan.ts`).
|
|
126
169
|
- **Shadow-Git Checkpoints** โ Auto-snapshots files before every write/edit/append into a shadow repo at `~/.titan/file-checkpoints/`. Point-in-time recovery without ever touching your real git (`src/agent/shadowGit.ts`).
|
|
127
170
|
- **Kill Switch** โ One POST pauses ALL autonomous actions. Triggers also fire on safety pressure, identity violation, canary degradation, or fix oscillation (`src/safety/killSwitch.ts`).
|
|
128
|
-
- **Approval Gates** โ Complex plans need your thumbs-up before executing
|
|
129
|
-
- **Token Auth** โ Gateway returns 401 on `/api/*` unless a valid token is configured.
|
|
171
|
+
- **Approval Gates** โ Complex plans need your thumbs-up before executing.
|
|
172
|
+
- **Token Auth** โ Gateway returns 401 on `/api/*` unless a valid token is configured.
|
|
173
|
+
- **Pre-flight iframe block detector** โ TITAN refuses to build a widget that embeds a known-blocked host (eBay, Google, etc.) and tells the agent to choose an API path instead. Saves you the "why is this widget blank" debugging trip.
|
|
130
174
|
|
|
131
175
|
Run in **supervised mode** (TITAN asks before doing anything risky) or **autonomous mode** (TITAN handles routine stuff and asks for approval on big moves).
|
|
132
176
|
|
|
133
177
|
---
|
|
134
178
|
|
|
179
|
+
## ๐พ Backup + Safe Upgrade
|
|
180
|
+
|
|
181
|
+
New in v6.0:
|
|
182
|
+
|
|
183
|
+
- **5 backup tools** โ `backup_create`, `backup_list`, `backup_verify`, `backup_restore`, `backup_schedule`. SHA-256 manifests so you know the bytes haven't drifted.
|
|
184
|
+
- **Migration runner** with **auto-backup before every migration** โ upgrading from v5.x can't lose your settings, sessions, memory, personas, or auth tokens. If a migration fails, restore is one tool call away.
|
|
185
|
+
- **Retention policy** โ daily/weekly/monthly, configurable.
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
135
189
|
<a id="-mission-control"></a>
|
|
136
190
|
|
|
137
191
|
## ๐๏ธ Mission Control โ Your Dashboard
|
|
138
192
|
|
|
139
|
-
Open `http://localhost:48420` and you get a React 19 SPA with a Tailwind 4 canvas of draggable widgets. **
|
|
193
|
+
Open `http://localhost:48420` and you get a React 19 SPA with a Tailwind 4 canvas of draggable widgets. **43 admin panels** are wired into the runtime.
|
|
140
194
|
|
|
141
|
-
| Widget | What It Does
|
|
142
|
-
| ------------------ |
|
|
143
|
-
| **Canvas** | The
|
|
195
|
+
| Widget | What It Does |
|
|
196
|
+
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
|
197
|
+
| **Canvas** | The home screen. 109 widget templates one phrase away. Drag, resize, arrange. CRDT-synced across tabs, persists across restarts. |
|
|
198
|
+
| **Spaces sidebar** | Switch between workspaces, create new ones, archive old ones. |
|
|
144
199
|
| **Chat** | Talk to TITAN in plain English. It builds widgets, spawns agents, drives smart-home devices. Markdown + SSE streaming + code highlighting. |
|
|
145
|
-
| **Widget Gallery** | Library of 109 production-ready widgets. The chat agent searches it first; you can also browse + drop manually.
|
|
146
|
-
| **Command Post** | Agents, budgets, approvals, org chart, ancestry validation, atomic checkout. Run a business with TITAN agents as employees.
|
|
147
|
-
| **
|
|
148
|
-
| **Skills** | ~143 skills loaded, ~248+ tools. Toggle each on/off (state persisted in `~/.titan/disabled-skills.json`).
|
|
149
|
-
| **Voice** | F5-TTS voice cloning via a Python sidecar
|
|
150
|
-
| **Memory Graph** | A visual web of everything TITAN remembers about you.
|
|
151
|
-
| **Security** | Audit log, checkpoint history, time travel for your files, bug-report viewer.
|
|
200
|
+
| **Widget Gallery** | Library of 109 production-ready widgets. The chat agent searches it first; you can also browse + drop manually. |
|
|
201
|
+
| **Command Post** | Agents, budgets, approvals, org chart, ancestry validation, atomic checkout. Run a business with TITAN agents as employees. |
|
|
202
|
+
| **Soma** | Watch TITAN's digital drives pulse in real time. Now wired to the mascot's mood. |
|
|
203
|
+
| **Skills** | ~143 skills loaded, ~248+ tools. Toggle each on/off (state persisted in `~/.titan/disabled-skills.json`). |
|
|
204
|
+
| **Voice** | F5-TTS voice cloning via a Python sidecar + LiveKit WebRTC. Any voice, any language. |
|
|
205
|
+
| **Memory Graph** | A visual web of everything TITAN remembers about you. |
|
|
206
|
+
| **Security** | Audit log, checkpoint history, time travel for your files, bug-report viewer. |
|
|
152
207
|
|
|
153
208
|
---
|
|
154
209
|
|
|
155
210
|
## ๐ TITAN Is Everywhere โ 19 Channel Adapters
|
|
156
211
|
|
|
157
|
-
TITAN's `src/channels/` ships 19 channel adapters
|
|
212
|
+
TITAN's `src/channels/` ships **19 channel adapters**:
|
|
158
213
|
|
|
159
214
|
**Messaging:** Discord, Telegram, Slack, WhatsApp, Microsoft Teams, Facebook Messenger, Signal, Matrix, IRC, LINE, Lark, Zulip, Mattermost, Google Chat, QQ.
|
|
160
215
|
|
|
@@ -170,15 +225,15 @@ He won't talk to strangers unless you say so. DM pairing and channel allowlists
|
|
|
170
225
|
|
|
171
226
|
## ๐ฃ๏ธ Voice Mode
|
|
172
227
|
|
|
173
|
-
- **Clone any voice** with a short reference audio clip โ F5-TTS handles the rest
|
|
174
|
-
- **Real-time conversation** over LiveKit WebRTC
|
|
228
|
+
- **Clone any voice** with a short reference audio clip โ F5-TTS handles the rest.
|
|
229
|
+
- **Real-time conversation** over LiveKit WebRTC.
|
|
175
230
|
- **Natural-sounding speech** that doesn't sound like a GPS.
|
|
176
231
|
|
|
177
|
-
Great for: accessibility, hands-free coding, or
|
|
232
|
+
Great for: accessibility, hands-free coding, or having TITAN read your standup notes back to you in your manager's voice for practice.
|
|
178
233
|
|
|
179
234
|
---
|
|
180
235
|
|
|
181
|
-
<a id="-providers"></a>
|
|
236
|
+
<a id="-36-llm-providers"></a>
|
|
182
237
|
|
|
183
238
|
## ๐ง 36 LLM Providers
|
|
184
239
|
|
|
@@ -192,7 +247,7 @@ Switch models mid-conversation with `POST /api/model/switch`. The provider route
|
|
|
192
247
|
|
|
193
248
|
## ๐ฑ Facebook Autopilot
|
|
194
249
|
|
|
195
|
-
TITAN can run its own Facebook page. Posts up to **6 times per day** (every ~2h), following an 80/20 value/promo rule. Replies to comments (capped at 10/day). All content runs through PII redaction and dedup. Toggle off in one click if you prefer your AI to keep a low profile.
|
|
250
|
+
TITAN can run its own Facebook page. Posts up to **6 times per day** (every ~2h), following an 80/20 value/promo rule. Replies to comments (capped at 10/day). All content runs through PII redaction and dedup. Toggle off in one click if you prefer your AI to keep a low profile.
|
|
196
251
|
|
|
197
252
|
---
|
|
198
253
|
|
|
@@ -207,9 +262,9 @@ curl -fsSL https://raw.githubusercontent.com/Djtony707/TITAN/main/install.sh | b
|
|
|
207
262
|
**Or npm:**
|
|
208
263
|
|
|
209
264
|
```bash
|
|
210
|
-
npm install -g titan-agent
|
|
211
|
-
titan onboard
|
|
212
|
-
titan gateway
|
|
265
|
+
npm install -g titan-agent@next # v6.0 beta channel
|
|
266
|
+
titan onboard # Interactive setup wizard
|
|
267
|
+
titan gateway # Launches Mission Control at http://localhost:48420
|
|
213
268
|
```
|
|
214
269
|
|
|
215
270
|
**Or Docker:**
|
|
@@ -223,17 +278,21 @@ docker run -d -p 48420:48420 --name titan \
|
|
|
223
278
|
|
|
224
279
|
Requirements: **Node โฅ 22** (pure ESM, no CJS). For GPU features (LoRA fine-tuning, F5-TTS GPU server) you'll want NVIDIA + CUDA or Apple Silicon Metal.
|
|
225
280
|
|
|
281
|
+
### Upgrading from v5.x
|
|
282
|
+
|
|
283
|
+
Just run `npm install -g titan-agent@next`. The migration runner kicks in on first boot, takes an automatic backup first (`~/.titan/backups/`), then applies the schema migrations. If anything goes sideways, `titan backup restore <id>` puts you back.
|
|
284
|
+
|
|
226
285
|
---
|
|
227
286
|
|
|
228
287
|
## ๐ TITAN At Home
|
|
229
288
|
|
|
230
|
-
Connect TITAN to your smart home through Home Assistant
|
|
289
|
+
Connect TITAN to your smart home through Home Assistant. Control lights, thermostats, locks, and sensors. Ask "Is the front door locked?" and TITAN checks. Say "Make it cozy" and TITAN dims the lights and sets the thermostat.
|
|
231
290
|
|
|
232
291
|
---
|
|
233
292
|
|
|
234
293
|
## ๐ Mesh Networking
|
|
235
294
|
|
|
236
|
-
Got multiple computers? Link them. TITAN instances discover each other via mDNS on the local network and can be statically peered over Tailscale or any other overlay. Distribute work across your homelab like a mini supercomputer. Code: `src/mesh
|
|
295
|
+
Got multiple computers? Link them. TITAN instances discover each other via mDNS on the local network and can be statically peered over Tailscale or any other overlay. Distribute work across your homelab like a mini supercomputer. Code: `src/mesh/`.
|
|
237
296
|
|
|
238
297
|
---
|
|
239
298
|
|
|
@@ -241,40 +300,27 @@ Got multiple computers? Link them. TITAN instances discover each other via mDNS
|
|
|
241
300
|
|
|
242
301
|
TITAN runs self-improvement experiments in the background. The trajectory logger records every tool call, every outcome. The `autoresearch/` pipeline can:
|
|
243
302
|
|
|
244
|
-
1. **Generate training data** from real conversation trajectories
|
|
245
|
-
2. **LoRA fine-tune** local Ollama models on that data โ rank/alpha/lr fully agent-tunable
|
|
246
|
-
3. **Deploy back to Ollama** automatically
|
|
303
|
+
1. **Generate training data** from real conversation trajectories.
|
|
304
|
+
2. **LoRA fine-tune** local Ollama models on that data โ rank/alpha/lr fully agent-tunable. Defaults: rank 16, alpha 32, 2e-4 LR, qwen3.5:35b base on RTX 5090.
|
|
305
|
+
3. **Deploy back to Ollama** automatically.
|
|
247
306
|
|
|
248
307
|
You wake up to a slightly smarter agent. Like compound interest, but for AI.
|
|
249
308
|
|
|
250
309
|
---
|
|
251
310
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
TITAN ships with **five layered testing stages** that catch regressions at different levels:
|
|
255
|
-
|
|
256
|
-
| Layer | What it covers | Run it | Speed |
|
|
257
|
-
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | -------- |
|
|
258
|
-
| **Unit** | Pure functions: regex (`isDangerous`), pipeline classifier, gate extraction, token budget, secret scanner. Zero LLM calls. | `npm test -- tests/unit/` | seconds |
|
|
259
|
-
| **Mock trajectory** | Tape-replay through `MockOllamaProvider`. Asserts the agent calls the right tools in the right order using recorded responses. Zero LLM calls. | `npm test -- tests/eval/trajectory` | < 1 s |
|
|
260
|
-
| **Cross-model parity** | Same scenario replayed across multiple provider tapes. Catches behavioural divergence when one provider drifts. Zero LLM calls. | `npm run test:parity` | < 1 s |
|
|
261
|
-
| **Full deterministic** | The whole vitest run: gateway tests, mission-control tests, skill tests, safety tests, all integration mocks. **6,100+ tests, ~3:25 wall.** | `npm test` | ~3 min |
|
|
262
|
-
| **Live eval (gated)** | **11 suites** of behavioural tests against the running agent (`/api/eval/run`): WIDGET_CREATION, SAFETY, TOOL_ROUTING (v1+v2), GATE_FORMAT (v1+v2), PIPELINE, ADVERSARIAL, SESSION, CONTENT, WIDGET_V2. 80 % pass rate per suite is the merge gate. | `npm run test:eval` | 5โ15 min |
|
|
311
|
+
<a id="-testing"></a>
|
|
263
312
|
|
|
264
|
-
|
|
313
|
+
## ๐งช Testing โ 287 Files, 7,056 Cases
|
|
265
314
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
# Pure-function unit test:
|
|
270
|
-
echo "..." > tests/unit/my_new_func.test.ts && npm test
|
|
271
|
-
|
|
272
|
-
# New tape (record once against a real model):
|
|
273
|
-
TITAN_RECORD_TAPE=my_scenario npm test -- tests/eval/trajectory.test.ts
|
|
315
|
+
TITAN ships with **five layered testing stages** that catch regressions at different levels:
|
|
274
316
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
317
|
+
| Layer | What it covers | Run it | Speed |
|
|
318
|
+
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- | -------- |
|
|
319
|
+
| **Unit** | Pure functions: regex (`isDangerous`), pipeline classifier, gate extraction, token budget, secret scanner, **durable journal**, **stateless reducer**. Zero LLM calls. | `npm test -- tests/unit/` | seconds |
|
|
320
|
+
| **Mock trajectory** | Tape-replay through `MockOllamaProvider`. Asserts the agent calls the right tools in the right order using recorded responses. | `npm test -- tests/eval/trajectory` | < 1 s |
|
|
321
|
+
| **Cross-model parity** | Same scenario replayed across multiple provider tapes. Catches behavioural divergence when one provider drifts. | `npm run test:parity` | < 1 s |
|
|
322
|
+
| **Full deterministic** | The whole vitest run: gateway, mission-control, skills, safety, all integration mocks. **7,056 tests, ~3:50 wall.** | `npm test` | ~4 min |
|
|
323
|
+
| **Live eval (gated)** | **11 suites** of behavioural tests against the running agent. 80% pass rate per suite is the merge gate. | `npm run test:eval` | 5โ15 min |
|
|
278
324
|
|
|
279
325
|
---
|
|
280
326
|
|
|
@@ -286,24 +332,28 @@ Start in supervised mode. Review what it does. Don't give it access to systems y
|
|
|
286
332
|
|
|
287
333
|
---
|
|
288
334
|
|
|
335
|
+
<a id="-the-numbers"></a>
|
|
336
|
+
|
|
289
337
|
## ๐ The Numbers (Verified Against Current Source)
|
|
290
338
|
|
|
291
|
-
| Thing
|
|
292
|
-
|
|
|
293
|
-
| **Version**
|
|
294
|
-
| **LLM providers**
|
|
295
|
-
| **Channel adapters**
|
|
296
|
-
| **Built-in skill modules**
|
|
297
|
-
| **Skills loaded at runtime**
|
|
298
|
-
| **Tools**
|
|
299
|
-
| **Widget templates**
|
|
300
|
-
| **Admin panels (Mission Control)** |
|
|
301
|
-
| **
|
|
302
|
-
| **
|
|
303
|
-
| **
|
|
304
|
-
| **
|
|
305
|
-
| **
|
|
306
|
-
| **
|
|
339
|
+
| Thing | Count | Where to verify |
|
|
340
|
+
| ---------------------------------- | -------------------------------- | ---------------------------------------------- |
|
|
341
|
+
| **Version** | 6.0.0-beta.1 | `package.json` + `src/utils/constants.ts` |
|
|
342
|
+
| **LLM providers** | 36 (4 native + 32 OpenAI-compat) | `src/providers/openai_compat.ts` |
|
|
343
|
+
| **Channel adapters** | 19 | `src/channels/*.ts` (minus base) |
|
|
344
|
+
| **Built-in skill modules** | 88 files | `src/skills/builtin/` |
|
|
345
|
+
| **Skills loaded at runtime** | ~143 | `GET /api/skills` |
|
|
346
|
+
| **Tools** | ~248โ260 | `GET /api/skills` |
|
|
347
|
+
| **Widget templates** | 109 JSON files in 28 categories | `assets/widget-templates/` |
|
|
348
|
+
| **Admin panels (Mission Control)** | 43 | `ui/src/components/admin/*Panel.tsx` |
|
|
349
|
+
| **Spaces presets** | 5 (default, coder, dj, founder, homelab) | `src/storage/starterSpaces.ts` |
|
|
350
|
+
| **Soma drives** | 5 (purpose, curiosity, hunger, safety, social) | `src/organism/` |
|
|
351
|
+
| **Test files** | 287 | `tests/` (vitest) |
|
|
352
|
+
| **Test cases** | 7,056 | `npm test` |
|
|
353
|
+
| **Live-eval suites** | 11 | `src/eval/harness.ts` |
|
|
354
|
+
| **Gateway port (default)** | 48420 | `src/utils/constants.ts` |
|
|
355
|
+
| **Node** | โฅ 22, pure ESM | `package.json` |
|
|
356
|
+
| **License** | MIT | `LICENSE` |
|
|
307
357
|
|
|
308
358
|
> Want to re-verify any number? Every row above has a code path. The repo has a self-check at `tests/unit/readme-claims.test.ts` that fails the suite if widget count or voice glue drifts beyond tolerance.
|
|
309
359
|
|
|
@@ -313,31 +363,48 @@ Start in supervised mode. Review what it does. Don't give it access to systems y
|
|
|
313
363
|
|
|
314
364
|
```
|
|
315
365
|
src/
|
|
316
|
-
โโโ agent/ # Core loop, sub-agents, orchestrator, Command Post governance,
|
|
366
|
+
โโโ agent/ # Core loop, sub-agents, orchestrator, Command Post governance,
|
|
367
|
+
โ # v6 upgrades: agentLessons (Reflexion), goalPlanFile (plan.md),
|
|
368
|
+
โ # durableJournal (event replay), wakeupReducer (stateless ยง12),
|
|
369
|
+
โ # somaInitiative (5-min pulse + 22h gift loop)
|
|
317
370
|
โโโ browsing/ # Shared Playwright browser pool + CapSolver CAPTCHA
|
|
318
371
|
โโโ channels/ # 19 channel adapters
|
|
319
|
-
โโโ config/ # Zod-validated config schema
|
|
320
|
-
โโโ context/ # ContextEngine plugin system
|
|
372
|
+
โโโ config/ # Zod-validated config schema
|
|
373
|
+
โโโ context/ # ContextEngine plugin system
|
|
321
374
|
โโโ eval/ # 11 live-eval suites + harness
|
|
322
|
-
โโโ gateway/ # Express server + Mission Control
|
|
375
|
+
โโโ gateway/ # Express server + Mission Control SPA mount + Spaces REST
|
|
323
376
|
โโโ mcp/ # MCP Server (JSON-RPC 2.0, stdio + HTTP)
|
|
324
|
-
โโโ memory/ # Memory, learning, graph, relationships, briefings
|
|
377
|
+
โโโ memory/ # Memory, learning, graph, relationships, briefings
|
|
325
378
|
โโโ mesh/ # mDNS discovery, HMAC transport, identity, registry
|
|
326
|
-
โโโ
|
|
379
|
+
โโโ migrations/ # Versioned schema migrations + auto-backup runner (v6 new)
|
|
380
|
+
โโโ organism/ # TITAN-Soma: 5 drives, pressure loop, hormonal broadcasts
|
|
327
381
|
โโโ providers/ # 36-provider router with fallback + retry
|
|
328
382
|
โโโ safety/ # killSwitch, fabricationGuard, oscillation detector
|
|
329
383
|
โโโ security/ # secretGuard (PII), preExecScan, sandbox bind
|
|
330
|
-
โโโ skills/ #
|
|
384
|
+
โโโ skills/ # 88 builtin skill files registering ~248+ tools
|
|
385
|
+
โโโ storage/ # spaces.json, somaProfile, personalGallery, patterns, backup (v6 new)
|
|
331
386
|
โโโ voice/ # LiveKit WebRTC bridge to F5-TTS sidecar
|
|
332
|
-
โโโ vram/ # GPU VRAM orchestrator
|
|
333
|
-
ui/ # React 19 SPA (Vite + Tailwind
|
|
334
|
-
|
|
387
|
+
โโโ vram/ # GPU VRAM orchestrator
|
|
388
|
+
ui/ # React 19 SPA (Vite + Tailwind 4 + Yjs CRDT canvas)
|
|
389
|
+
# + SpacesSidebar + TitanMascot with 8 moods
|
|
390
|
+
tests/ # 287 vitest test files, 7,056 cases
|
|
335
391
|
autoresearch/ # LoRA fine-tuning pipeline (prepare โ train โ deploy)
|
|
336
|
-
scripts/ # F5-TTS sidecars
|
|
392
|
+
scripts/ # F5-TTS sidecars, benchmarks, evals
|
|
337
393
|
```
|
|
338
394
|
|
|
339
395
|
---
|
|
340
396
|
|
|
397
|
+
## ๐ Further Reading
|
|
398
|
+
|
|
399
|
+
- **[CHANGELOG.md](./CHANGELOG.md)** โ what shipped, when
|
|
400
|
+
- **[CLAUDE.md](./CLAUDE.md)** โ project guide (used by Claude Code)
|
|
401
|
+
- **[AGENTS.md](./AGENTS.md)** โ TITAN's runtime view of its own project context
|
|
402
|
+
- **[Picrew/awesome-agent-harness](https://github.com/Picrew/awesome-agent-harness)** โ the 7-pattern playbook the v6.0 Command Post upgrades came from
|
|
403
|
+
- **HumanLayer 12-Factor Agents** โ ยง6 (Launch/Pause/Resume), ยง8 (Own Your Control Flow), ยง12 (Stateless Reducer)
|
|
404
|
+
- **Anthropic** โ "Effective harnesses for long-running agents," "Building a multi-agent research system"
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
341
408
|
<p align="center">
|
|
342
409
|
<a href="https://github.com/sponsors/Djtony707"><img src="https://img.shields.io/badge/%E2%9D%A4%EF%B8%8F_Sponsor-ea4aaa?style=for-the-badge&logo=github" alt="Sponsor on GitHub"/></a>
|
|
343
410
|
</p>
|