titan-agent 5.3.0 → 5.3.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/dist/agent/agent.js +33 -4
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/subAgent.js +1 -1
- package/dist/agent/subAgent.js.map +1 -1
- package/dist/config/schema.js +10 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/eval/record.js +21 -2
- package/dist/eval/record.js.map +1 -1
- package/dist/gateway/metrics.js +26 -3
- package/dist/gateway/metrics.js.map +1 -1
- package/dist/gateway/server.js +58 -6
- package/dist/gateway/server.js.map +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/package.json +1 -1
- package/ui/dist/assets/{AuditPanel-C31LRHZX.js → AuditPanel-CM6Wg9hO.js} +1 -1
- package/ui/dist/assets/{AutonomyPanel-CxQU72ZY.js → AutonomyPanel-CESx3ANg.js} +1 -1
- package/ui/dist/assets/{AutopilotPanel-D4FnBwJm.js → AutopilotPanel-DtEet1hJ.js} +1 -1
- package/ui/dist/assets/{AutoresearchPanel-BYHXZ9AO.js → AutoresearchPanel-DR47NqT5.js} +1 -1
- package/ui/dist/assets/{BackupPanel-C4CQKf2P.js → BackupPanel-BGP8p3l3.js} +1 -1
- package/ui/dist/assets/{BrowserPanel-C-OFYyLm.js → BrowserPanel-C15x9bLn.js} +1 -1
- package/ui/dist/assets/{CPAgents-CvkZDm_3.js → CPAgents-DYUtPzSq.js} +1 -1
- package/ui/dist/assets/{CPDashboard-JmBLBbj7.js → CPDashboard-Bf0-SyCh.js} +1 -1
- package/ui/dist/assets/{CPFiles-BDToRw0a.js → CPFiles-CxgxjQcO.js} +1 -1
- package/ui/dist/assets/{CPGoals-Dh9qJNWa.js → CPGoals-BsmCMTvT.js} +1 -1
- package/ui/dist/assets/{CPInbox-B6iaIbNG.js → CPInbox-tMSbmQ9H.js} +1 -1
- package/ui/dist/assets/{CPSocial-CsFrwZRC.js → CPSocial-nb-j7sOE.js} +1 -1
- package/ui/dist/assets/{ChannelsPanel-D-S4ktFn.js → ChannelsPanel-DP5C2OKd.js} +1 -1
- package/ui/dist/assets/{CheckpointsPanel-D-sP9ZuS.js → CheckpointsPanel-DlranVLZ.js} +1 -1
- package/ui/dist/assets/{CommandPostHub-BhlNyeDH.js → CommandPostHub-BgxIa4Ev.js} +3 -3
- package/ui/dist/assets/{CronPanel-Bf3rV7N2.js → CronPanel-LoT5yKwJ.js} +1 -1
- package/ui/dist/assets/{DaemonPanel-GGBWjTG2.js → DaemonPanel-DBGMqaE_.js} +1 -1
- package/ui/dist/assets/{DataTable-D2Px4o6f.js → DataTable-B2Ma8hfi.js} +1 -1
- package/ui/dist/assets/{EmptyState-DH6-Jy6A.js → EmptyState-CcKyk5Yn.js} +1 -1
- package/ui/dist/assets/EvalHarnessPanel-BqtMc1ZM.js +2 -0
- package/ui/dist/assets/{EvalPanel-CdjxzHlJ.js → EvalPanel-Bc33j0pN.js} +1 -1
- package/ui/dist/assets/{FilesPanel-Dz8TFydL.js → FilesPanel-3QKvrWPo.js} +1 -1
- package/ui/dist/assets/{FleetPanel-CWwWWTD4.js → FleetPanel-CSsXuQYj.js} +1 -1
- package/ui/dist/assets/{HomelabPanel-C7VBV7AC.js → HomelabPanel-DhrjTX9m.js} +1 -1
- package/ui/dist/assets/{InfraView-B1TgXARJ.js → InfraView-CR6HyrL6.js} +2 -2
- package/ui/dist/assets/{InlineEditableField-DOJNOL8m.js → InlineEditableField-CnvF-yFR.js} +1 -1
- package/ui/dist/assets/{Input-BgyHgQ3D.js → Input-GTHp2Rkr.js} +1 -1
- package/ui/dist/assets/{IntegrationsPanel-O26b4nhv.js → IntegrationsPanel-CymCRE3T.js} +1 -1
- package/ui/dist/assets/{IntelligenceView-DUhTQ8f_.js → IntelligenceView-C1IHxJRC.js} +2 -2
- package/ui/dist/assets/{LearningPanel-DX5S9ovg.js → LearningPanel-DOCES3lH.js} +1 -1
- package/ui/dist/assets/{LogsPanel-DdeTnATQ.js → LogsPanel-BLnAqEaZ.js} +1 -1
- package/ui/dist/assets/{McpPanel-BpXWrP1a.js → McpPanel-ChUzmr3z.js} +1 -1
- package/ui/dist/assets/{MemoryGraphPanel-CNkZmTUy.js → MemoryGraphPanel-Bzvjmzvk.js} +1 -1
- package/ui/dist/assets/{MemoryWikiPanel-o4L8Df-n.js → MemoryWikiPanel-Dwk3Aqwd.js} +1 -1
- package/ui/dist/assets/{MeshPanel-DMBQJFCC.js → MeshPanel-C3LJSlht.js} +1 -1
- package/ui/dist/assets/{NvidiaPanel-C8P-tJFG.js → NvidiaPanel-CeZK_-CV.js} +1 -1
- package/ui/dist/assets/{OrganismPanel-CcfHDWDk.js → OrganismPanel-BB6YOiQV.js} +1 -1
- package/ui/dist/assets/{OverviewPanel-BSotI1Zv.js → OverviewPanel-BmtBhQnv.js} +1 -1
- package/ui/dist/assets/{PageHeader-DPJuAgJk.js → PageHeader-BimceqQo.js} +1 -1
- package/ui/dist/assets/{PaperclipPanel-aXoXUjo6.js → PaperclipPanel-C-brgwA3.js} +1 -1
- package/ui/dist/assets/{PersonasPanel-DdPZxz2C.js → PersonasPanel-L1j78p6H.js} +1 -1
- package/ui/dist/assets/{RecipesPanel-D7qffXQN.js → RecipesPanel-34lCfynJ.js} +1 -1
- package/ui/dist/assets/{SecurityPanel-BDRK5el7.js → SecurityPanel-CBTPWLj6.js} +1 -1
- package/ui/dist/assets/{SelfImprovePanel-oYiMwFnA.js → SelfImprovePanel-BrPbFHhG.js} +1 -1
- package/ui/dist/assets/{SelfProposalsPanel-DOpNU_rr.js → SelfProposalsPanel-lNmiDThB.js} +1 -1
- package/ui/dist/assets/{SessionsPanel-eRbM3D9P.js → SessionsPanel-DAEYIn83.js} +1 -1
- package/ui/dist/assets/{SessionsTab-Jq3UKQCI.js → SessionsTab-JQbltWww.js} +1 -1
- package/ui/dist/assets/{SettingsPanel-DBIvKUYY.js → SettingsPanel-CzRROAYQ.js} +1 -1
- package/ui/dist/assets/{SettingsView-yfSY4OLt.js → SettingsView-CN7ii2uw.js} +2 -2
- package/ui/dist/assets/{SkeletonLoader-D1d-Gyyg.js → SkeletonLoader-atQtpcF5.js} +1 -1
- package/ui/dist/assets/{SkillsPanel-bubl9nag.js → SkillsPanel-DlFs2ih7.js} +1 -1
- package/ui/dist/assets/{SomaView-D3aFL8Tw.js → SomaView-Ba642Oqb.js} +1 -1
- package/ui/dist/assets/{StatCard-CEVFsz7t.js → StatCard-DciE_Iqc.js} +1 -1
- package/ui/dist/assets/{StatusBadge-DxeA9LNd.js → StatusBadge-BtfSPoW2.js} +1 -1
- package/ui/dist/assets/{TeamsPanel-D6IJJIR_.js → TeamsPanel-DKQ5z2Qe.js} +1 -1
- package/ui/dist/assets/{TelemetryPanel-SMPebdjQ.js → TelemetryPanel-B6KAc55Q.js} +1 -1
- package/ui/dist/assets/{TitanCanvas-BQU1yxqf.js → TitanCanvas-C-s0A-lv.js} +3 -3
- package/ui/dist/assets/{ToolsView-DgP4uRPr.js → ToolsView-Dei0KMP0.js} +2 -2
- package/ui/dist/assets/{Tooltip-CNPQr7IO.js → Tooltip-70UK0E2I.js} +1 -1
- package/ui/dist/assets/{TraceViewer-BbISy_ET.js → TraceViewer-BniolyBx.js} +1 -1
- package/ui/dist/assets/{TrainingPanel-BdCHcv6t.js → TrainingPanel-Bz4CTPGW.js} +1 -1
- package/ui/dist/assets/{VoiceOverlay-l6yoasVz.js → VoiceOverlay-CmNCrLcd.js} +1 -1
- package/ui/dist/assets/{VramPanel-XLhmen92.js → VramPanel-Xh_OtRDR.js} +1 -1
- package/ui/dist/assets/{WatchView-Bt-lNNWJ.js → WatchView-C-sGFpVy.js} +1 -1
- package/ui/dist/assets/{WorkTab-IG-F6Qll.js → WorkTab-BjLNmgIK.js} +1 -1
- package/ui/dist/assets/{WorkflowsPanel-DsMpnwLK.js → WorkflowsPanel-CvgQU1xI.js} +1 -1
- package/ui/dist/assets/{arrow-left-C_H9Z2Tm.js → arrow-left-DwqHtJiU.js} +1 -1
- package/ui/dist/assets/{chart-column-rR6tb72l.js → chart-column-BtNO6sRy.js} +1 -1
- package/ui/dist/assets/{circle-check-big-B1hMwau0.js → circle-check-big-DZRE_MbN.js} +1 -1
- package/ui/dist/assets/{dollar-sign-DhYwsTnR.js → dollar-sign-aVG3a5eL.js} +1 -1
- package/ui/dist/assets/{download-UDDcAlZC.js → download-BxiWJU4G.js} +1 -1
- package/ui/dist/assets/{eye-off-Cx0M_VQb.js → eye-off-CkgfFYhm.js} +1 -1
- package/ui/dist/assets/{funnel-B7YvM1ei.js → funnel-PkLdxKyC.js} +1 -1
- package/ui/dist/assets/{git-branch-BhTBN3J6.js → git-branch-BM-Gw95X.js} +1 -1
- package/ui/dist/assets/{index-D7Clon2u.js → index-CahJbWSR.js} +2 -2
- package/ui/dist/assets/{layers-B6jDzitD.js → layers-BuGf4FIJ.js} +1 -1
- package/ui/dist/assets/{legacy-av079XKu.js → legacy-CR6o4t-y.js} +1 -1
- package/ui/dist/assets/{lightbulb-DRuQ3Chf.js → lightbulb-n8gc_XAL.js} +1 -1
- package/ui/dist/assets/{pause-DqkRWPB_.js → pause-DCV52koX.js} +1 -1
- package/ui/dist/assets/{play-hUyR3CVS.js → play-CcJ9BnCh.js} +1 -1
- package/ui/dist/assets/{plug-CvpyjJt_.js → plug-CfWBXfCl.js} +1 -1
- package/ui/dist/assets/{proxy-Cc5bR828.js → proxy-CzZDfLmm.js} +1 -1
- package/ui/dist/assets/{square-CdiC0J8Z.js → square-DJpUhlxi.js} +1 -1
- package/ui/dist/assets/{target-DemL8_0v.js → target-DWcmM_9m.js} +1 -1
- package/ui/dist/assets/{toggle-right-Dsk892k5.js → toggle-right-YusFQ69L.js} +1 -1
- package/ui/dist/assets/{trash-2-Byj4OvKB.js → trash-2-CK7yQ55V.js} +1 -1
- package/ui/dist/assets/{trending-up-Dh_CffGX.js → trending-up-DGjFyubC.js} +1 -1
- package/ui/dist/assets/{trophy-DDr2AePx.js → trophy-uQv_NgDB.js} +1 -1
- package/ui/dist/index.html +1 -1
- package/ui/dist/assets/EvalHarnessPanel-Cz9dRg61.js +0 -2
package/dist/agent/agent.js
CHANGED
|
@@ -132,7 +132,7 @@ function ensureSpawnAgentRegistered() {
|
|
|
132
132
|
const templateName = args.template || "";
|
|
133
133
|
let configAgent = null;
|
|
134
134
|
try {
|
|
135
|
-
const { resolveAgentConfig } = await import("./agentScope.js");
|
|
135
|
+
const { resolveAgentConfig, agentAllowsSkill } = await import("./agentScope.js");
|
|
136
136
|
configAgent = resolveAgentConfig(templateName);
|
|
137
137
|
} catch {
|
|
138
138
|
}
|
|
@@ -140,6 +140,18 @@ function ensureSpawnAgentRegistered() {
|
|
|
140
140
|
const template = SUB_AGENT_TEMPLATES[baseTemplateName] || {};
|
|
141
141
|
const agentName = args.name || configAgent?.name || template.name || "SubAgent";
|
|
142
142
|
const task = args.task;
|
|
143
|
+
let appliedFields = [];
|
|
144
|
+
if (configAgent) {
|
|
145
|
+
if (configAgent.maxRounds !== 15) appliedFields.push(`maxRounds=${configAgent.maxRounds}`);
|
|
146
|
+
if (configAgent.maxTokens !== 4e3) appliedFields.push(`maxTokens=${configAgent.maxTokens}`);
|
|
147
|
+
if (configAgent.persona && configAgent.persona !== "default") appliedFields.push(`persona=${configAgent.persona}`);
|
|
148
|
+
if (configAgent.skillsFilter) appliedFields.push(`skillsFilter=[${configAgent.skillsFilter.join(",")}]`);
|
|
149
|
+
if (configAgent.modelFallbacks.length > 0) logger.info("Agent", `Agent "${agentName}" has modelFallbacks \u2014 not yet implemented in spawn path`);
|
|
150
|
+
if (configAgent.workspaceDir) appliedFields.push(`workspaceDir=${configAgent.workspaceDir}`);
|
|
151
|
+
if (configAgent.tags.length > 0) appliedFields.push(`tags=[${configAgent.tags.join(",")}]`);
|
|
152
|
+
if (configAgent.systemPromptOverride) appliedFields.push("systemPromptOverride=set");
|
|
153
|
+
if (appliedFields.length > 0) logger.info("Agent", `Applied config agent fields for "${agentName}": ${appliedFields.join(", ")}`);
|
|
154
|
+
}
|
|
143
155
|
try {
|
|
144
156
|
const { isKilled } = await import("../safety/killSwitch.js");
|
|
145
157
|
if (isKilled()) {
|
|
@@ -207,13 +219,30 @@ function ensureSpawnAgentRegistered() {
|
|
|
207
219
|
const { updateAgentStatus } = await import("./commandPost.js");
|
|
208
220
|
updateAgentStatus(specialistId, "active");
|
|
209
221
|
}
|
|
222
|
+
let allowedTools = template.tools;
|
|
223
|
+
if (configAgent?.skillsFilter) {
|
|
224
|
+
try {
|
|
225
|
+
const { agentAllowsSkill } = await import("./agentScope.js");
|
|
226
|
+
allowedTools = template.tools?.filter((t) => agentAllowsSkill(configAgent, t));
|
|
227
|
+
if (allowedTools && allowedTools.length === 0) {
|
|
228
|
+
logger.warn("Agent", `Agent "${agentName}" skillsFilter blocks all template tools \u2014 falling back to template default`);
|
|
229
|
+
allowedTools = template.tools;
|
|
230
|
+
}
|
|
231
|
+
} catch {
|
|
232
|
+
}
|
|
233
|
+
}
|
|
210
234
|
const result = await spawnSubAgent({
|
|
211
235
|
name: agentName,
|
|
212
236
|
task,
|
|
213
|
-
tools:
|
|
214
|
-
systemPrompt: specialistPrompt || template.systemPrompt,
|
|
215
|
-
model: args.model || specialistModel,
|
|
237
|
+
tools: allowedTools,
|
|
238
|
+
systemPrompt: configAgent?.systemPromptOverride || specialistPrompt || template.systemPrompt,
|
|
239
|
+
model: args.model || configAgent?.model || specialistModel,
|
|
216
240
|
tier: template.tier,
|
|
241
|
+
persona: configAgent?.persona,
|
|
242
|
+
maxRounds: configAgent?.maxRounds,
|
|
243
|
+
maxTokens: configAgent?.maxTokens,
|
|
244
|
+
workspaceDir: configAgent?.workspaceDir ?? void 0,
|
|
245
|
+
tags: configAgent?.tags,
|
|
217
246
|
depth: 1
|
|
218
247
|
// v4.7.0: this IS a child (was incorrectly 0)
|
|
219
248
|
});
|