helixmind 0.6.2 → 0.6.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/cli/agent/loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EAIZ,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AA4BlE,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,GAAE,MAAwB;CAI9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,kFAAkF;IAClF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,oGAAoG;IACpG,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6EAA6E;IAC7E,cAAc,EAAE,WAAW,EAAE,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,WAAW,EAAE,EAClC,OAAO,EAAE,gBAAgB,EACzB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,eAAe,CAAC,CA4Z1B;AA+CD;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,YAAY,CAA6B;IAEjD,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,iEAAiE;IACjE,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IASd;;;;;OAKG;IACH,KAAK,IAAI,IAAI;IAUP,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcjC,kEAAkE;IAClE,KAAK,IAAI,IAAI;CAMd"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/cli/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,27 @@ import { renderAssistantEnd } from '../ui/chat-view.js';
7
7
  import { captureFileSnapshots, fillSnapshotAfter } from '../checkpoints/revert.js';
8
8
  import { isRateLimitError, handleRateLimitError, detectCreditsExhausted } from '../providers/rate-limiter.js';
9
9
  import { trimConversation, estimateTokens } from '../context/trimmer.js';
10
+ function toToolDefinition(def) {
11
+ const properties = {};
12
+ const required = [];
13
+ for (const [name, value] of Object.entries(def.parameters ?? {})) {
14
+ properties[name] = {
15
+ type: value.type,
16
+ description: value.description,
17
+ };
18
+ if (value.required)
19
+ required.push(name);
20
+ }
21
+ return {
22
+ name: def.name,
23
+ description: def.description,
24
+ input_schema: {
25
+ type: 'object',
26
+ properties,
27
+ required: required.length > 0 ? required : undefined,
28
+ },
29
+ };
30
+ }
10
31
  /** Produce a targeted recovery hint based on the error content. */
11
32
  function getErrorHint(errorResult) {
12
33
  const lower = errorResult.toLowerCase();
@@ -48,9 +69,14 @@ export async function runAgentLoop(userMessage, conversationHistory, options, co
48
69
  const { planMode, agentIdentity } = options;
49
70
  // In plan mode, filter to read-only tools only
50
71
  const allTools = getAllToolDefinitions();
72
+ const skillTools = !planMode && toolContext.skillManager
73
+ ? Array.from(toolContext.skillManager.getAllSkillTools().values())
74
+ .map((entry) => toToolDefinition(entry.def))
75
+ .filter((entry) => !allTools.some((tool) => tool.name === entry.name))
76
+ : [];
51
77
  const tools = planMode
52
78
  ? allTools.filter(t => PLAN_MODE_TOOLS.has(t.name))
53
- : allTools;
79
+ : allTools.concat(skillTools);
54
80
  resetToolCounter();
55
81
  const messages = [...conversationHistory];
56
82
  // Add user message
@@ -234,6 +260,7 @@ export async function runAgentLoop(userMessage, conversationHistory, options, co
234
260
  }
235
261
  }
236
262
  const tool = getTool(block.name);
263
+ const skillTool = !tool ? toolContext.skillManager?.getSkillTool(block.name) : undefined;
237
264
  let result;
238
265
  let stepStatus = 'done';
239
266
  let stepError;
@@ -247,9 +274,16 @@ export async function runAgentLoop(userMessage, conversationHistory, options, co
247
274
  .map(e => e.id);
248
275
  }
249
276
  }
250
- if (tool) {
277
+ if (tool || skillTool) {
251
278
  try {
252
- result = await tool.execute(block.input, toolContext);
279
+ if (tool) {
280
+ result = await tool.execute(block.input, toolContext);
281
+ }
282
+ else {
283
+ toolContext.skillManager?.recordUsage(skillTool.skillName);
284
+ result = await skillTool.handler(block.input);
285
+ toolContext.skillManager?.recordOutcome(skillTool.skillName, true, 0);
286
+ }
253
287
  // Reinforce successful learnings that were relevant
254
288
  if (toolContext.learningJournal && learningHintIds.length > 0) {
255
289
  for (const hintId of learningHintIds) {
@@ -265,6 +299,9 @@ export async function runAgentLoop(userMessage, conversationHistory, options, co
265
299
  errors.push(`${block.name}: ${errMsg}`);
266
300
  consecutiveErrors++;
267
301
  sessionBuffer?.addToolError(block.name, errMsg);
302
+ if (skillTool) {
303
+ toolContext.skillManager?.recordOutcome(skillTool.skillName, false, 0);
304
+ }
268
305
  // Track error for potential learning (error→success detection)
269
306
  if (toolContext.learningJournal) {
270
307
  toolContext.__lastToolError = {
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/cli/agent/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/cli/agent/loop.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { BugJournal } from '../../bugs/journal.js';
4
4
  import type { BrowserController } from '../../browser/controller.js';
5
5
  import type { VisionProcessor } from '../../browser/vision.js';
6
6
  import type { LearningJournal } from '../../jarvis/learning.js';
7
+ import type { SkillManager } from '../../jarvis/skills.js';
7
8
  import type { WorktreeHandle } from '../../worktree/types.js';
8
9
  export interface ToolContext {
9
10
  projectRoot: string;
@@ -20,6 +21,7 @@ export interface ToolContext {
20
21
  analysis?: string;
21
22
  }) => void;
22
23
  learningJournal?: LearningJournal;
24
+ skillManager?: SkillManager;
23
25
  lockFile?: (path: string) => boolean;
24
26
  unlockFile?: (path: string) => void;
25
27
  worktree?: WorktreeHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/cli/agent/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChF;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE7D;AAED,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAExD;AAED,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED,2EAA2E;AAC3E,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCrD"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/cli/agent/tools/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/G,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChF;AAID,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE7D;AAED,wBAAgB,qBAAqB,IAAI,cAAc,EAAE,CAExD;AAED,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C;AAED,2EAA2E;AAC3E,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/cli/agent/tools/registry.ts"],"names":[],"mappings":"AA4BA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,qEAAqE;IACrE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC;QACxB,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,gBAAgB,CAAC;QACxB,MAAM,CAAC,eAAe,CAAC;QACvB,MAAM,CAAC,aAAa,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC;QACnB,MAAM,CAAC,kBAAkB,CAAC;QAC1B,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,eAAe,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC;QACtB,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,eAAe,CAAC;KACxB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,mBAAmB,CAAC;YAC3B,MAAM,CAAC,uBAAuB,CAAC;YAC/B,MAAM,CAAC,yBAAyB,CAAC;YACjC,MAAM,CAAC,oBAAoB,CAAC;YAC5B,MAAM,CAAC,mBAAmB,CAAC;YAC3B,MAAM,CAAC,oBAAoB,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/cli/agent/tools/registry.ts"],"names":[],"mappings":"AA8BA,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE7C,MAAM,UAAU,YAAY,CAAC,OAAoB;IAC/C,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,qEAAqE;IACrE,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC;QACxB,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,gBAAgB,CAAC;QACxB,MAAM,CAAC,eAAe,CAAC;QACvB,MAAM,CAAC,aAAa,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC;QACnB,MAAM,CAAC,kBAAkB,CAAC;QAC1B,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,eAAe,CAAC;QACvB,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC;QACtB,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,iBAAiB,CAAC;QACzB,MAAM,CAAC,eAAe,CAAC;KACxB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,MAAM,CAAC,mBAAmB,CAAC;YAC3B,MAAM,CAAC,uBAAuB,CAAC;YAC/B,MAAM,CAAC,yBAAyB,CAAC;YACjC,MAAM,CAAC,oBAAoB,CAAC;YAC5B,MAAM,CAAC,mBAAmB,CAAC;YAC3B,MAAM,CAAC,oBAAoB,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AA0FA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA6ND,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA02HrE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AA4FA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AA6ND,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA47HrE"}
@@ -49,11 +49,13 @@ import { WorldModelManager } from '../jarvis/world-model.js';
49
49
  import { AutonomyManager } from '../jarvis/autonomy.js';
50
50
  import { NotificationManager } from '../jarvis/notifications.js';
51
51
  import { SkillManager } from '../jarvis/skills.js';
52
+ import { SkillScorer } from '../jarvis/skill-scoring.js';
52
53
  import { JarvisTelegramBot, parseTelegramCommand } from '../jarvis/telegram-bot.js';
53
54
  import { LearningJournal } from '../jarvis/learning.js';
54
55
  import { SentimentAnalyzer } from '../jarvis/sentiment.js';
55
56
  import { acquireJarvisSlot, releaseJarvisSlot } from '../jarvis/instance-lock.js';
56
57
  import { buildRuntimeContext } from '../jarvis/runtime-context.js';
58
+ import { buildSkillBuildSpecFromProposal, buildSkillBuildTask, detectSkillBuildFromFailure } from '../jarvis/skill-builder.js';
57
59
  import { BrainInstanceManager } from '../brain/instance-manager.js';
58
60
  import { BrowserController } from '../browser/controller.js';
59
61
  import { VisionProcessor } from '../browser/vision.js';
@@ -413,6 +415,7 @@ export async function chatCommand(options) {
413
415
  let jarvisAutonomy;
414
416
  let jarvisNotifications;
415
417
  let jarvisSkills;
418
+ let jarvisSkillScorer;
416
419
  let jarvisSentiment;
417
420
  let jarvisTelegramBot = null;
418
421
  let jarvisLearning;
@@ -587,6 +590,7 @@ export async function chatCommand(options) {
587
590
  jarvisAutonomy = new AutonomyManager(jarvisIdentity.getIdentity().autonomyLevel);
588
591
  jarvisNotifications = new NotificationManager(root);
589
592
  jarvisSkills = new SkillManager(root);
593
+ jarvisSkillScorer = new SkillScorer(root);
590
594
  jarvisSkills.syncRegistry();
591
595
  jarvisLearning = new LearningJournal(root);
592
596
  jarvisSentiment = new SentimentAnalyzer(root, {
@@ -751,6 +755,61 @@ export async function chatCommand(options) {
751
755
  log: (msg) => { renderInfo(chalk.dim(`[skill] ${msg}`)); },
752
756
  };
753
757
  }
758
+ function findOpenSkillBuildTask(skillName) {
759
+ ensureJarvisRuntime();
760
+ return jarvisQueue.getAllTasks().find((task) => task.status !== 'completed' &&
761
+ task.status !== 'failed' &&
762
+ task.tags?.includes('skill_build') &&
763
+ task.tags?.includes(`skill:${skillName}`));
764
+ }
765
+ function enqueueProposalTask(proposal) {
766
+ ensureJarvisRuntime();
767
+ if (proposal.category === 'skill_creation' || proposal.category === 'skill_update') {
768
+ const spec = buildSkillBuildSpecFromProposal(proposal);
769
+ const existing = findOpenSkillBuildTask(spec.skillName);
770
+ if (existing)
771
+ return existing;
772
+ const buildTask = buildSkillBuildTask(spec);
773
+ return jarvisQueue.addTask(buildTask.title, buildTask.description, {
774
+ priority: buildTask.priority,
775
+ tags: buildTask.tags,
776
+ });
777
+ }
778
+ return jarvisQueue.addTask(proposal.title, proposal.description, {
779
+ priority: proposal.impact === 'high' ? 'high' : 'medium',
780
+ });
781
+ }
782
+ function queueSkillBuildFromFailure(task, failure) {
783
+ ensureJarvisRuntime();
784
+ const spec = detectSkillBuildFromFailure({
785
+ taskTitle: task.title,
786
+ taskDescription: task.description,
787
+ failure,
788
+ existingScores: jarvisSkillScorer.scoreSkills(task.description || task.title, 'skill_gap', jarvisSkills.listSkills()),
789
+ existingSkillNames: jarvisSkills.listSkills().map((skill) => skill.manifest.name),
790
+ });
791
+ if (!spec)
792
+ return null;
793
+ const existing = findOpenSkillBuildTask(spec.skillName);
794
+ if (existing)
795
+ return existing;
796
+ const buildTask = buildSkillBuildTask(spec);
797
+ return jarvisQueue.addTask(buildTask.title, buildTask.description, {
798
+ priority: buildTask.priority,
799
+ tags: buildTask.tags.concat('self_improvement'),
800
+ });
801
+ }
802
+ async function activateBuiltSkill(task, skillName) {
803
+ ensureJarvisRuntime();
804
+ jarvisSkills.syncRegistry();
805
+ const result = await jarvisSkills.activateSkill(skillName, buildSkillContext());
806
+ if (result.success) {
807
+ renderInfo(chalk.green(`Activated skill "${skillName}" after task #${task.id}.`));
808
+ }
809
+ else {
810
+ renderInfo(chalk.yellow(`Built skill "${skillName}" but activation failed: ${result.error || 'unknown error'}`));
811
+ }
812
+ }
754
813
  // Start Telegram bot if configured (called when daemon starts)
755
814
  function startTelegramBot() {
756
815
  ensureJarvisRuntime();
@@ -796,9 +855,7 @@ export async function chatCommand(options) {
796
855
  const proposal = jarvisProposals.approve(id);
797
856
  if (proposal) {
798
857
  jarvisIdentity.recordEvent({ type: 'proposal_approved', proposalId: id });
799
- const task = jarvisQueue.addTask(proposal.title, proposal.description, {
800
- priority: proposal.impact === 'high' ? 'high' : 'medium',
801
- });
858
+ const task = enqueueProposalTask(proposal);
802
859
  proposal.convertedTaskId = task.id;
803
860
  reply(`\u{1F7E2} Proposal #${id} approved \u2192 Task #${task.id} queued`);
804
861
  }
@@ -857,7 +914,7 @@ export async function chatCommand(options) {
857
914
  const proposal = jarvisProposals.approve(id);
858
915
  if (proposal) {
859
916
  jarvisIdentity.recordEvent({ type: 'proposal_approved', proposalId: id });
860
- const task = jarvisQueue.addTask(proposal.title, proposal.description, { priority: 'medium' });
917
+ const task = enqueueProposalTask(proposal);
861
918
  proposal.convertedTaskId = task.id;
862
919
  jarvisTelegramBot?.send(`\u2705 Approved #${id} \u2192 Task #${task.id}`, { chatId });
863
920
  }
@@ -911,7 +968,20 @@ export async function chatCommand(options) {
911
968
  catch { }
912
969
  },
913
970
  createProposal: (title, desc, rationale, opts) => {
914
- return jarvisProposals.create(title, desc, rationale, opts);
971
+ const proposal = jarvisProposals.create(title, desc, rationale, opts);
972
+ if (proposal.category === 'skill_creation' &&
973
+ proposal.source.startsWith('thinking') &&
974
+ jarvisAutonomy.getLevel() >= 4) {
975
+ const approved = jarvisProposals.approve(proposal.id);
976
+ if (approved) {
977
+ jarvisIdentity.recordEvent({ type: 'proposal_approved', proposalId: approved.id });
978
+ const task = enqueueProposalTask(approved);
979
+ approved.convertedTaskId = task.id;
980
+ renderInfo(chalk.dim(`Auto-approved skill proposal #${approved.id} -> Task #${task.id}`));
981
+ return approved;
982
+ }
983
+ }
984
+ return proposal;
915
985
  },
916
986
  wouldLikelyBeDenied: (cat, files) => {
917
987
  return jarvisProposals.wouldLikelyBeDenied(cat, files);
@@ -952,6 +1022,10 @@ export async function chatCommand(options) {
952
1022
  topCategories,
953
1023
  };
954
1024
  },
1025
+ getSkillScores: (taskDesc) => {
1026
+ return jarvisSkillScorer.scoreSkills(taskDesc, 'skill_gap', jarvisSkills.listSkills())
1027
+ .map((score) => ({ skillName: score.skillName, totalScore: score.totalScore }));
1028
+ },
955
1029
  };
956
1030
  }
957
1031
  // Create session start checkpoint
@@ -1311,7 +1385,7 @@ export async function chatCommand(options) {
1311
1385
  const rth = { text: '' };
1312
1386
  bgSession.buffer.onSummary = (t) => { rth.text = t; };
1313
1387
  const activeSpiral = await getSpiralEngine(brainScope);
1314
- await sendAgentMessage(prompt, bgSession.history, provider, project, activeSpiral, config, permissions, bgSession.undoStack, checkpointStore, bgSession.controller, new ActivityIndicator(), bgSession.buffer, (inp, out) => { sessionTokensInput += inp; sessionTokensOutput += out; }, () => { sessionToolCalls++; }, undefined, { enabled: false, verbose: false, strict: false });
1388
+ await sendAgentMessage(prompt, bgSession.history, provider, project, activeSpiral, config, permissions, bgSession.undoStack, checkpointStore, bgSession.controller, new ActivityIndicator(), bgSession.buffer, (inp, out) => { sessionTokensInput += inp; sessionTokensOutput += out; }, () => { sessionToolCalls++; }, undefined, { enabled: false, verbose: false, strict: false }, undefined, undefined, undefined, undefined, null, undefined, jarvisLearning, undefined, jarvisSkills);
1315
1389
  bgSession.buffer.onSummary = undefined;
1316
1390
  return rth.text;
1317
1391
  },
@@ -1480,6 +1554,8 @@ export async function chatCommand(options) {
1480
1554
  jarvisLearning.recordLearning(error, solution, category, context, ['jarvis_daemon']);
1481
1555
  },
1482
1556
  thinkingCallbacks: buildThinkingCallbacks(bgSession),
1557
+ queueSkillBuildTask: queueSkillBuildFromFailure,
1558
+ onSkillBuildComplete: activateBuiltSkill,
1483
1559
  });
1484
1560
  }
1485
1561
  catch (err) {
@@ -3306,7 +3382,7 @@ export async function chatCommand(options) {
3306
3382
  const rth = { text: '' };
3307
3383
  bgSession.buffer.onSummary = (t) => { rth.text = t; };
3308
3384
  const activeSpiral = await getSpiralEngine(brainScope);
3309
- await sendAgentMessage(prompt, bgSession.history, provider, project, activeSpiral, config, daemonPermissions, bgSession.undoStack, checkpointStore, bgSession.controller, new ActivityIndicator(), bgSession.buffer, (inp, out) => { sessionTokensInput += inp; sessionTokensOutput += out; }, () => { sessionToolCalls++; }, undefined, { enabled: false, verbose: false, strict: false });
3385
+ await sendAgentMessage(prompt, bgSession.history, provider, project, activeSpiral, config, daemonPermissions, bgSession.undoStack, checkpointStore, bgSession.controller, new ActivityIndicator(), bgSession.buffer, (inp, out) => { sessionTokensInput += inp; sessionTokensOutput += out; }, () => { sessionToolCalls++; }, undefined, { enabled: false, verbose: false, strict: false }, undefined, undefined, undefined, undefined, null, undefined, jarvisLearning, undefined, jarvisSkills);
3310
3386
  bgSession.buffer.onSummary = undefined;
3311
3387
  return rth.text;
3312
3388
  },
@@ -3357,6 +3433,8 @@ export async function chatCommand(options) {
3357
3433
  jarvisLearning.recordLearning(error, solution, category, context, ['jarvis_daemon']);
3358
3434
  },
3359
3435
  thinkingCallbacks: buildThinkingCallbacks(bgSession),
3436
+ queueSkillBuildTask: queueSkillBuildFromFailure,
3437
+ onSkillBuildComplete: activateBuiltSkill,
3360
3438
  });
3361
3439
  }
3362
3440
  catch (err) {
@@ -3866,7 +3944,7 @@ async function runBackgroundSession(session, prompt, provider, project, spiralEn
3866
3944
  durationMs: session.elapsed,
3867
3945
  };
3868
3946
  }
3869
- async function sendAgentMessage(input, agentHistory, provider, project, spiralEngine, config, permissions, undoStack, checkpointStore, controller, activity, sessionBuffer, onTokens, onToolCall, onAgentStart, validationOpts, bugJournal, browserController, visionProcessor, onBrowserScreenshot, jarvisContext, onStepInfo, learningJournal, runtime) {
3947
+ async function sendAgentMessage(input, agentHistory, provider, project, spiralEngine, config, permissions, undoStack, checkpointStore, controller, activity, sessionBuffer, onTokens, onToolCall, onAgentStart, validationOpts, bugJournal, browserController, visionProcessor, onBrowserScreenshot, jarvisContext, onStepInfo, learningJournal, runtime, skillManager) {
3870
3948
  // User message was rendered by renderUserMessage() in the caller before entering here.
3871
3949
  const executionRoot = runtime?.executionRoot ?? process.cwd();
3872
3950
  // Intent Detection: Check if user wants to feed the codebase
@@ -3965,6 +4043,7 @@ async function sendAgentMessage(input, agentHistory, provider, project, spiralEn
3965
4043
  visionProcessor,
3966
4044
  onBrowserScreenshot: onBrowserScreenshot ?? undefined,
3967
4045
  learningJournal,
4046
+ skillManager,
3968
4047
  worktree: runtime?.worktree,
3969
4048
  },
3970
4049
  checkpointStore,