titan-agent 6.1.1 → 6.2.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.
Files changed (166) hide show
  1. package/README.md +25 -5
  2. package/dist/agent/commandPost.js +3 -2
  3. package/dist/agent/commandPost.js.map +1 -1
  4. package/dist/config/schema.js +23 -0
  5. package/dist/config/schema.js.map +1 -1
  6. package/dist/gateway/routes/telephony.js +553 -0
  7. package/dist/gateway/routes/telephony.js.map +1 -0
  8. package/dist/gateway/server.js +6 -0
  9. package/dist/gateway/server.js.map +1 -1
  10. package/dist/skills/builtin/phone_call.js +88 -0
  11. package/dist/skills/builtin/phone_call.js.map +1 -0
  12. package/dist/skills/registry.js +2 -0
  13. package/dist/skills/registry.js.map +1 -1
  14. package/dist/telephony/dograhClient.js +175 -0
  15. package/dist/telephony/dograhClient.js.map +1 -0
  16. package/dist/telephony/optOutStore.js +71 -0
  17. package/dist/telephony/optOutStore.js.map +1 -0
  18. package/dist/telephony/phonePolicy.js +136 -0
  19. package/dist/telephony/phonePolicy.js.map +1 -0
  20. package/dist/utils/constants.js +1 -1
  21. package/dist/utils/constants.js.map +1 -1
  22. package/package.json +1 -1
  23. package/ui/dist/assets/AuditPanel-DuxwAH5U.js +1 -0
  24. package/ui/dist/assets/{AutonomyPanel-zsQ6kIP7.js → AutonomyPanel-VWBgurnv.js} +1 -1
  25. package/ui/dist/assets/{AutopilotPanel-NlxdRleV.js → AutopilotPanel-Dw8MYOtj.js} +1 -1
  26. package/ui/dist/assets/{AutoresearchPanel-CHeEcUmN.js → AutoresearchPanel-CpEX0Zub.js} +1 -1
  27. package/ui/dist/assets/{BackupPanel-C7RHr9Gu.js → BackupPanel-n41_6i6x.js} +1 -1
  28. package/ui/dist/assets/{BrowserPanel-Cxu9bCLW.js → BrowserPanel-DEBTIt6h.js} +1 -1
  29. package/ui/dist/assets/{CPActivity-B0QSTuSq.js → CPActivity-em82PTiQ.js} +1 -1
  30. package/ui/dist/assets/{CPAgentDetail-BUqGIkaM.js → CPAgentDetail-Bd8lKqcL.js} +1 -1
  31. package/ui/dist/assets/{CPAgents-DO0RVLLA.js → CPAgents-GRBrDd6c.js} +1 -1
  32. package/ui/dist/assets/{CPApprovals-DRceMgME.js → CPApprovals-DdLaCgJZ.js} +1 -1
  33. package/ui/dist/assets/{CPCosts-D9l4mkiW.js → CPCosts-Cm8Hv9fv.js} +1 -1
  34. package/ui/dist/assets/{CPDashboard-DaCCdMjs.js → CPDashboard-Dm9vUKLu.js} +1 -1
  35. package/ui/dist/assets/{CPFiles-DTphWHsR.js → CPFiles-DxMn1x2m.js} +1 -1
  36. package/ui/dist/assets/{CPGoals-DeJBRV3M.js → CPGoals-Wr1tCn6y.js} +1 -1
  37. package/ui/dist/assets/{CPInbox-DsT5O636.js → CPInbox-CGYpK1rG.js} +2 -2
  38. package/ui/dist/assets/{CPIssueDetail-D8pG5Tnq.js → CPIssueDetail-dTU59sgQ.js} +1 -1
  39. package/ui/dist/assets/{CPIssues-oeffaZSb.js → CPIssues-wgjI2eqS.js} +1 -1
  40. package/ui/dist/assets/CPLayout-CBtGEYSs.js +2 -0
  41. package/ui/dist/assets/{CPOrg-CesGXL8r.js → CPOrg-eT6LNmyy.js} +1 -1
  42. package/ui/dist/assets/{CPRuns-CfYgZUGv.js → CPRuns-B3sdo5g2.js} +1 -1
  43. package/ui/dist/assets/{CPSocial-CK0qGSa0.js → CPSocial-B99Mfee_.js} +3 -3
  44. package/ui/dist/assets/{CPVoice-iIkC-KnQ.js → CPVoice-D4J6yFWu.js} +1 -1
  45. package/ui/dist/assets/{ChannelsPanel-DTS5SXlC.js → ChannelsPanel--lhZqYLD.js} +1 -1
  46. package/ui/dist/assets/{CheckpointsPanel-c5dwo2eW.js → CheckpointsPanel-DaOIUcEi.js} +1 -1
  47. package/ui/dist/assets/{CommandPostHub-BsdfjoBN.js → CommandPostHub-Pq9lQMW5.js} +3 -3
  48. package/ui/dist/assets/{CronPanel-BkeP_mIS.js → CronPanel-CywjWM7O.js} +1 -1
  49. package/ui/dist/assets/{DataTable-Gajb24Ni.js → DataTable-Bt0cxehB.js} +1 -1
  50. package/ui/dist/assets/{DreamPanel-CGrozxjo.js → DreamPanel-Ct7MuLzD.js} +1 -1
  51. package/ui/dist/assets/{EmptyState-B3lWjJU-.js → EmptyState-iLOrbdU7.js} +1 -1
  52. package/ui/dist/assets/{EvalHarnessPanel-DQ4O9caO.js → EvalHarnessPanel-7KKDzeXw.js} +2 -2
  53. package/ui/dist/assets/{EvalPanel-BOUHXllR.js → EvalPanel-70LzkLDO.js} +1 -1
  54. package/ui/dist/assets/{FileViewer-00_4kM0_.js → FileViewer-h6A7YYTm.js} +1 -1
  55. package/ui/dist/assets/{FilesPanel-DISpHxEJ.js → FilesPanel-l8qC6eLD.js} +1 -1
  56. package/ui/dist/assets/{FleetPanel-Vz7_88zK.js → FleetPanel-Z3ResHIb.js} +1 -1
  57. package/ui/dist/assets/{HomelabPanel-CCqGyERB.js → HomelabPanel-9QhrXzo1.js} +1 -1
  58. package/ui/dist/assets/InfraView-G1q6vF0Q.js +2 -0
  59. package/ui/dist/assets/{InlineEditableField-BGjdtpGQ.js → InlineEditableField-DsVfGRH2.js} +1 -1
  60. package/ui/dist/assets/{Input-CzDjGc5Y.js → Input-Bzh0-cXU.js} +1 -1
  61. package/ui/dist/assets/{IntegrationsPanel-BOe9ybbQ.js → IntegrationsPanel-DBOdLYJ8.js} +1 -1
  62. package/ui/dist/assets/IntelligenceView-J8Nbh4zs.js +2 -0
  63. package/ui/dist/assets/{LearningPanel-5zb6yYZW.js → LearningPanel-CiSLVxUX.js} +1 -1
  64. package/ui/dist/assets/{LogsPanel-C_1bqy9b.js → LogsPanel-CPAAItsq.js} +1 -1
  65. package/ui/dist/assets/{McpPanel-CY7_7erZ.js → McpPanel-MYWE2Zqs.js} +1 -1
  66. package/ui/dist/assets/{MemoryGraphPanel-DsF8er1w.js → MemoryGraphPanel-BFr51D_1.js} +1 -1
  67. package/ui/dist/assets/{MemoryWikiPanel-D4KPpOX7.js → MemoryWikiPanel-BA7GUxhg.js} +1 -1
  68. package/ui/dist/assets/{MeshPanel-C_cNMUcI.js → MeshPanel-5BDbwBVR.js} +1 -1
  69. package/ui/dist/assets/{MissionCanvas-BMw5bJcw.js → MissionCanvas-CrDZIQX6.js} +1 -1
  70. package/ui/dist/assets/{MissionChat-CrgPUYhU.js → MissionChat-BDTWMQjj.js} +1 -1
  71. package/ui/dist/assets/{MissionLibrary-ASkOLTWA.js → MissionLibrary-DEPH2eEu.js} +1 -1
  72. package/ui/dist/assets/{MissionStart-DDoZMkie.js → MissionStart-COLFZLHB.js} +1 -1
  73. package/ui/dist/assets/{Modal-DTzLKnUQ.js → Modal-nvni-LGR.js} +1 -1
  74. package/ui/dist/assets/{NvidiaPanel-dtkQr6gS.js → NvidiaPanel-BCgVrdWt.js} +1 -1
  75. package/ui/dist/assets/{OrganismPanel-DLfHCoYh.js → OrganismPanel-Cab4MV9i.js} +1 -1
  76. package/ui/dist/assets/{OverviewPanel-COcMqu-y.js → OverviewPanel-isNUxBki.js} +1 -1
  77. package/ui/dist/assets/{PageHeader-BXEGoqDX.js → PageHeader-BJ1jHtOy.js} +1 -1
  78. package/ui/dist/assets/{PersonaProfilesPanel-BKWsHE1j.js → PersonaProfilesPanel-BGiDuDPj.js} +1 -1
  79. package/ui/dist/assets/{PersonasPanel-tsXvN_8B.js → PersonasPanel-4-USk8fm.js} +1 -1
  80. package/ui/dist/assets/PhoneDeskPanel-CUz5YVUY.js +11 -0
  81. package/ui/dist/assets/{RecipesPanel-B8GOxD4_.js → RecipesPanel-DJd6Otdy.js} +1 -1
  82. package/ui/dist/assets/{SecurityPanel-CqhRhXZ8.js → SecurityPanel-CKqTnhNY.js} +1 -1
  83. package/ui/dist/assets/{SelfImprovePanel-Di0XhdJJ.js → SelfImprovePanel-BiCjKpTM.js} +1 -1
  84. package/ui/dist/assets/{SelfProposalsPanel-CbgdHeQY.js → SelfProposalsPanel-BQCwEHdF.js} +1 -1
  85. package/ui/dist/assets/{SessionsPanel-DBdDx51G.js → SessionsPanel-MTMSODP7.js} +1 -1
  86. package/ui/dist/assets/{SessionsTab-C8cEt83E.js → SessionsTab-CEFFZWMK.js} +1 -1
  87. package/ui/dist/assets/{SettingsPanel-BAenxGtq.js → SettingsPanel-CniESkQQ.js} +1 -1
  88. package/ui/dist/assets/SettingsView-2AwXqlvc.js +2 -0
  89. package/ui/dist/assets/{SkeletonLoader-DGQ0Q7vy.js → SkeletonLoader-IpWkLmoy.js} +1 -1
  90. package/ui/dist/assets/{SkillsPanel-r91e0ype.js → SkillsPanel-CCP-gCR4.js} +1 -1
  91. package/ui/dist/assets/{SomaView-CGoJDjEX.js → SomaView-BK_thK9H.js} +1 -1
  92. package/ui/dist/assets/{StatCard-D0Q7T1EQ.js → StatCard-I0fVw2CH.js} +1 -1
  93. package/ui/dist/assets/{StatusBadge-Do8GEljT.js → StatusBadge-e3tFf05B.js} +1 -1
  94. package/ui/dist/assets/{Tabs-B-g5Ghos.js → Tabs-vGpPiBzr.js} +1 -1
  95. package/ui/dist/assets/{TeamsPanel-BrT1eigj.js → TeamsPanel-AFIQBzRK.js} +1 -1
  96. package/ui/dist/assets/{TelemetryPanel-C9vV_ydx.js → TelemetryPanel-DKZGVmcp.js} +1 -1
  97. package/ui/dist/assets/{TitanCanvas-BPVdmdYo.js → TitanCanvas-CqvuuIjd.js} +4 -4
  98. package/ui/dist/assets/{ToolsView-COEuSnLh.js → ToolsView-DnIkrUvP.js} +2 -2
  99. package/ui/dist/assets/{Tooltip-Ip86jr39.js → Tooltip-DNc5AWi0.js} +1 -1
  100. package/ui/dist/assets/{TraceViewer-BcK-DNNV.js → TraceViewer-MD9YRFVc.js} +1 -1
  101. package/ui/dist/assets/{TrainingPanel-s5yKr9vs.js → TrainingPanel-BfXoR7_N.js} +1 -1
  102. package/ui/dist/assets/{VoiceOverlay-BKtgGRK8.js → VoiceOverlay-Bl81c4yf.js} +1 -1
  103. package/ui/dist/assets/{VramPanel-C2vulpkc.js → VramPanel-Ba8H8Qs2.js} +1 -1
  104. package/ui/dist/assets/{WatchView-GXZc0v1H.js → WatchView-CoLHPGd7.js} +1 -1
  105. package/ui/dist/assets/{WorkTab-CCQpoRi6.js → WorkTab-UppfR_AF.js} +1 -1
  106. package/ui/dist/assets/{WorkflowsPanel-CjU5wOPV.js → WorkflowsPanel-CdN7Epxr.js} +1 -1
  107. package/ui/dist/assets/{archive-Cty0CkR8.js → archive-DWgNklp0.js} +1 -1
  108. package/ui/dist/assets/{arrow-left-pfqo1Fw_.js → arrow-left-CW5NV7E0.js} +1 -1
  109. package/ui/dist/assets/{book-open-B6YYAKPS.js → book-open-DRI_Y6cW.js} +1 -1
  110. package/ui/dist/assets/{bot-CF5xQRRg.js → bot-DSGZRM5O.js} +1 -1
  111. package/ui/dist/assets/{chart-column-DmdEaxIF.js → chart-column-D6yK9tts.js} +1 -1
  112. package/ui/dist/assets/{check-B06kj6lQ.js → check-Cxp-6q4k.js} +1 -1
  113. package/ui/dist/assets/{chevron-right-BANsqvxz.js → chevron-right-DkIMxdwH.js} +1 -1
  114. package/ui/dist/assets/{chevron-up-DZTojCej.js → chevron-up-BbDu8x1d.js} +1 -1
  115. package/ui/dist/assets/{circle-check-big-2NAZFdp9.js → circle-check-big-DnJPBAGU.js} +1 -1
  116. package/ui/dist/assets/{circle-stop-AU_Yx5I3.js → circle-stop-DOe0OacY.js} +1 -1
  117. package/ui/dist/assets/clipboard-list-Dj5RQbT8.js +6 -0
  118. package/ui/dist/assets/{clock-DXDS0v3F.js → clock-BS8fh7Rt.js} +1 -1
  119. package/ui/dist/assets/{dollar-sign-DLLEescF.js → dollar-sign-DMXBeaTj.js} +1 -1
  120. package/ui/dist/assets/{download-CsU2Repn.js → download-BykARpbG.js} +1 -1
  121. package/ui/dist/assets/{external-link-Chx9uvWw.js → external-link-BfXhMi9L.js} +1 -1
  122. package/ui/dist/assets/{file-text-RZVxniN-.js → file-text-CUkSytWL.js} +1 -1
  123. package/ui/dist/assets/{flask-conical-BMH8pJKb.js → flask-conical-BS4cuENu.js} +1 -1
  124. package/ui/dist/assets/{folder-DgwmNgPQ.js → folder-BDwoUobN.js} +1 -1
  125. package/ui/dist/assets/{funnel-BR7hTVZW.js → funnel-xr6Dd1ub.js} +1 -1
  126. package/ui/dist/assets/{git-branch-B5R0dCYG.js → git-branch-C0Qk52W8.js} +1 -1
  127. package/ui/dist/assets/{index-BUCi9exS.js → index-CmaGnHzR.js} +30 -30
  128. package/ui/dist/assets/index-OZm1iJy9.css +1 -0
  129. package/ui/dist/assets/{layers-DGEsxpYY.js → layers-DPHYdeRk.js} +1 -1
  130. package/ui/dist/assets/{legacy-DgcX067d.js → legacy-DzagVk5C.js} +1 -1
  131. package/ui/dist/assets/{lightbulb-BvNv5S2z.js → lightbulb-Bj6cj6Xl.js} +1 -1
  132. package/ui/dist/assets/{list-todo-BYS3IIni.js → list-todo-Cm4jNFHV.js} +1 -1
  133. package/ui/dist/assets/{message-square-I2Wa53bg.js → message-square-BrWLAovN.js} +1 -1
  134. package/ui/dist/assets/{mic-CLF69wwf.js → mic-BXNK4d7X.js} +1 -1
  135. package/ui/dist/assets/{missions-a23pAr7Z.js → missions-DEjMYSre.js} +1 -1
  136. package/ui/dist/assets/{network-DPPIz6Io.js → network-CrQn1GKv.js} +1 -1
  137. package/ui/dist/assets/{pause-4M6u54u8.js → pause-DS5xgDMT.js} +1 -1
  138. package/ui/dist/assets/{pencil-CmthDu_c.js → pencil-DAI6FtFQ.js} +1 -1
  139. package/ui/dist/assets/{play-C5er2jT3.js → play-DxBy837b.js} +1 -1
  140. package/ui/dist/assets/{plug-Cj409xHk.js → plug-D0Bstfm0.js} +1 -1
  141. package/ui/dist/assets/{plus-C63FIH_4.js → plus-DxgNIt8h.js} +1 -1
  142. package/ui/dist/assets/{proxy-CV0RFkNZ.js → proxy-KYomRnLW.js} +1 -1
  143. package/ui/dist/assets/{radio-DJcw-8Fl.js → radio-2vniRFTO.js} +1 -1
  144. package/ui/dist/assets/{refresh-cw-D7RrQJQl.js → refresh-cw-BFBnnWj8.js} +1 -1
  145. package/ui/dist/assets/{rotate-ccw-wDOKy6Sz.js → rotate-ccw-B9wWlKRc.js} +1 -1
  146. package/ui/dist/assets/{save-Cy8s5sjb.js → save--wCYre_u.js} +1 -1
  147. package/ui/dist/assets/{search-BXNHN7Ra.js → search-DOD1aOm8.js} +1 -1
  148. package/ui/dist/assets/{send-DU7Jy0ph.js → send-Bb57UxT7.js} +1 -1
  149. package/ui/dist/assets/{server-Cg6QHqG3.js → server-CBsCfofY.js} +1 -1
  150. package/ui/dist/assets/{shield-check-nn5B33Zk.js → shield-check-B24N03VU.js} +1 -1
  151. package/ui/dist/assets/{terminal-D3qHXhYo.js → terminal-CZ77Swtc.js} +1 -1
  152. package/ui/dist/assets/{test-tube-qD4BUs0u.js → test-tube-CkkvIu5j.js} +1 -1
  153. package/ui/dist/assets/{toggle-right-B8VL5BEg.js → toggle-right-DgphAedS.js} +1 -1
  154. package/ui/dist/assets/{trash-2-BscnSMjc.js → trash-2-C5KNXS-O.js} +1 -1
  155. package/ui/dist/assets/{trending-up-CusGuaj_.js → trending-up-B3H8xrGD.js} +1 -1
  156. package/ui/dist/assets/{trophy-SEdQm3z6.js → trophy-C-xSgHD2.js} +1 -1
  157. package/ui/dist/assets/{volume-2-lPPI8coL.js → volume-2-BXwRjeve.js} +1 -1
  158. package/ui/dist/assets/{wifi-off-Deo-Hgei.js → wifi-off-DOm__Zn6.js} +1 -1
  159. package/ui/dist/index.html +2 -2
  160. package/ui/dist/sw.js +1 -1
  161. package/ui/dist/assets/AuditPanel-Dln-nzxR.js +0 -6
  162. package/ui/dist/assets/CPLayout-DVvrBIqI.js +0 -2
  163. package/ui/dist/assets/InfraView-KVwWRhIp.js +0 -2
  164. package/ui/dist/assets/IntelligenceView-CGUmFDYY.js +0 -2
  165. package/ui/dist/assets/SettingsView-DqklKAud.js +0 -2
  166. package/ui/dist/assets/index-CUxC9gxc.css +0 -1
@@ -524,6 +524,27 @@ const SelfModConfigSchema = z.object({
524
524
  maxPRsPerDrivePer48h: z.number().min(1).max(20).default(1).describe("Rate limit \u2014 how many self-proposal PRs a single drive can generate in a rolling 48h window."),
525
525
  pollIntervalMs: z.number().min(6e4).max(36e5).default(3e5).describe("How often to poll GitHub for merge/close status on open PRs. 5 min default.")
526
526
  });
527
+ const TelephonyConfigSchema = z.object({
528
+ /** Optional production telephony sidecar. Dograh owns Twilio/Telnyx credentials; TITAN stores only Dograh connection policy. */
529
+ enabled: z.boolean().default(false),
530
+ provider: z.enum(["dograh"]).default("dograh"),
531
+ dograh: z.object({
532
+ baseUrl: z.string().default("http://localhost:8000"),
533
+ apiKey: z.string().optional(),
534
+ defaultOutboundWorkflowId: z.string().optional(),
535
+ defaultInboundWorkflowId: z.string().optional()
536
+ }).default({}),
537
+ /** E.164 numbers allowed to control TITAN over the admin line. */
538
+ adminNumbers: z.array(z.string()).default([]),
539
+ /** Public/receptionist numbers mapped in Dograh. These never receive admin privileges. */
540
+ publicNumbers: z.array(z.string()).default([]),
541
+ /** Outbound calls are approval-gated by default; campaign/cold-call mode is separately disabled. */
542
+ requireApprovalForOutbound: z.boolean().default(true),
543
+ allowCampaigns: z.boolean().default(false),
544
+ maxCallsPerHour: z.number().int().min(0).max(1e4).default(10),
545
+ recordingDisclosure: z.string().default(""),
546
+ optOutKeywords: z.array(z.string()).default(["STOP", "UNSUBSCRIBE", "REMOVE"])
547
+ }).default({});
527
548
  const TitanConfigSchema = z.object({
528
549
  /** Whether the user has completed the web onboarding wizard */
529
550
  onboarded: z.boolean().default(false),
@@ -543,6 +564,7 @@ const TitanConfigSchema = z.object({
543
564
  organism: OrganismConfigSchema.default({}),
544
565
  selfMod: SelfModConfigSchema.default({}),
545
566
  homelab: HomelabConfigSchema.default({}),
567
+ telephony: TelephonyConfigSchema,
546
568
  providers: z.object({
547
569
  /** v5.4.1: Per-model output-token caps override. Keys are provider/model IDs.
548
570
  * Values override the built-in static table + family heuristics. */
@@ -1521,6 +1543,7 @@ export {
1521
1543
  SelfModConfigSchema,
1522
1544
  TeachingConfigSchema,
1523
1545
  TeamConfigSchema,
1546
+ TelephonyConfigSchema,
1524
1547
  TitanConfigSchema,
1525
1548
  ToolSearchConfigSchema,
1526
1549
  TunnelConfigSchema,