helixmind 0.6.2 → 0.6.4
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/cli/agent/loop.d.ts.map +1 -1
- package/dist/cli/agent/loop.js +40 -3
- package/dist/cli/agent/loop.js.map +1 -1
- package/dist/cli/agent/tools/registry.d.ts +2 -0
- package/dist/cli/agent/tools/registry.d.ts.map +1 -1
- package/dist/cli/agent/tools/registry.js.map +1 -1
- package/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +134 -23
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/config/store.d.ts +11 -0
- package/dist/cli/config/store.d.ts.map +1 -1
- package/dist/cli/config/store.js +51 -0
- package/dist/cli/config/store.js.map +1 -1
- package/dist/cli/jarvis/daemon.d.ts +4 -0
- package/dist/cli/jarvis/daemon.d.ts.map +1 -1
- package/dist/cli/jarvis/daemon.js +22 -0
- package/dist/cli/jarvis/daemon.js.map +1 -1
- package/dist/cli/jarvis/skill-builder.d.ts +26 -0
- package/dist/cli/jarvis/skill-builder.d.ts.map +1 -0
- package/dist/cli/jarvis/skill-builder.js +127 -0
- package/dist/cli/jarvis/skill-builder.js.map +1 -0
- package/dist/cli/providers/model-limits.d.ts +5 -1
- package/dist/cli/providers/model-limits.d.ts.map +1 -1
- package/dist/cli/providers/model-limits.js +16 -2
- package/dist/cli/providers/model-limits.js.map +1 -1
- package/dist/cli/providers/registry.d.ts +4 -0
- package/dist/cli/providers/registry.d.ts.map +1 -1
- package/dist/cli/providers/registry.js +8 -0
- package/dist/cli/providers/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../../src/cli/agent/loop.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/agent/loop.js
CHANGED
|
@@ -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
|
-
|
|
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":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAoB,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEtJ,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEzE,mEAAmE;AACnE,SAAS,YAAY,CAAC,WAAmB;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClI,OAAO,sGAAsG,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtG,OAAO,2EAA2E,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5F,OAAO,gFAAgF,CAAC;IAC1F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3F,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1G,OAAO,yFAAyF,CAAC;IACnG,CAAC;IACD,OAAO,gIAAgI,CAAC;AAC1I,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,UAAkB,eAAe;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAyCD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,mBAAkC,EAClC,OAAyB,EACzB,UAA4B;IAE5B,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,GAAG,GAAG,GACpB,GAAG,OAAO,CAAC;IACZ,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAE5C,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,QAAQ,CAAC;IACb,gBAAgB,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAkB,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAEzD,mBAAmB;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,sFAAsF;IACtF,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;IAEpF,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;QAClC,UAAU,EAAE,CAAC;QAEb,kCAAkC;QAClC,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QAED,yDAAyD;QACzD,UAAU,EAAE,EAAE,CAAC;QAEf,iFAAiF;QACjF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,oEAAoE;QACpE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;YAClC,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,gCAAgC;YAChC,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,4CAA4C;YAC5C,IAAI,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC5D,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEzE,2EAA2E;YAC3E,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,EAAE,YAAY,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,KAAK,KAAK;oBACtC,CAAC,CAAC,kEAAkE;oBACpE,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,UAAU,aAAa,IAAI,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,sFAAsF;YACtF,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,UAAU,GAAG,aAAa,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACpF,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC5C,iBAAiB,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,aAAa,EAAE,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAElD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,iCAAiC;YACjC,IAAI,UAAU,GAAG,aAAa,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACxD,iBAAiB,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;gBAC/C,aAAa,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAEhD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,SAAS;YACX,CAAC;YACD,MAAM,MAAM,CAAC;QACf,CAAC;QAED,iBAAiB,GAAG,CAAC,CAAC;QAEtB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YAChD,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;YAClD,YAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5E,CAAC;QAED,kCAAkC;QAClC,wEAAwE;QACxE,kEAAkE;QAClE,gDAAgD;QAChD,MAAM,gBAAgB,GAAmB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,UAAU,GAAG,IAAI,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,gGAAgG;QAChG,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,UAAU,EAAE,CAAC;gBACf,mEAAmE;gBACnE,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,SAAS,IAAI,IAAI,CAAC;YACpB,CAAC;YACD,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,6CAA6C;QAC7C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,kDAAkD;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACpC,gBAAgB,GAAG,IAAI,CAAC;gBACxB,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC;YACD,MAAM,WAAW,GAKZ,EAAE,CAAC;YAER,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,4BAA4B;gBAC5B,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,eAAe,EAAE,CAAC;gBAC9B,CAAC;gBAED,cAAc,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,cAAc,CAAC;gBAC/B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEhE,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,gBAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9C,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEpD,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAEvD,mBAAmB;gBACnB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CACrC,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CACnC,CAAC;gBAEF,IAAI,OAAO,EAAE,CAAC;oBACZ,wDAAwD;oBACxD,MAAM,SAAS,GAAI,KAAK,CAAC,KAAK,CAAC,IAA2B,CAAC;oBAC3D,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChD,IAAI,CAAC;4BACH,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;4BAC1E,IAAI,QAAQ,EAAE,CAAC;gCACb,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gCAC9D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,mBAAmB,CACtD,KAAK,CAAC,IAAI,EACV,OAAO,EACP,KAAK,CAAC,KAAK,EACX,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CACnC,CAAC;gCACF,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oCAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;oCACnH,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,gCAAgC,CAAC,CAAC;oCAC5E,WAAW,CAAC,IAAI,CAAC;wCACf,IAAI,EAAE,aAAa;wCACnB,WAAW,EAAE,KAAK,CAAC,EAAE;wCACrB,OAAO,EAAE,6DAA6D;wCACtE,QAAQ,EAAE,IAAI;qCACf,CAAC,CAAC;oCACH,SAAS;gCACX,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,yFAAyF;wBAC3F,CAAC;oBACH,CAAC;oBAED,MAAM,SAAS,GAAG,eAAe;wBAC/B,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC;wBAC1E,CAAC,CAAC,SAAS,CAAC;oBAEd,wCAAwC;oBACxC,IAAI,WAAW,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;wBACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAA0B,CAAC;wBACxD,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAChD,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,6DAA6D,CAAC,CAAC;4BAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;4BACxG,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;4BACzD,WAAW,CAAC,IAAI,CAAC;gCACf,IAAI,EAAE,aAAa;gCACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gCACrB,OAAO,EAAE,6DAA6D;gCACtE,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,MAAc,CAAC;oBACnB,IAAI,UAAU,GAAqB,MAAM,CAAC;oBAC1C,IAAI,SAA6B,CAAC;oBAElC,mCAAmC;oBACnC,IAAI,eAAe,GAAa,EAAE,CAAC;oBACnC,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBAChC,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpF,IAAI,KAAK,EAAE,CAAC;4BACV,eAAe,GAAG,WAAW,CAAC,eAAe;iCAC1C,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;iCACtC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;oBAED,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,CAAC;4BACH,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;4BAEtD,oDAAoD;4BACpD,IAAI,WAAW,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC9D,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;oCACrC,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gCACvD,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAChE,MAAM,GAAG,UAAU,MAAM,EAAE,CAAC;4BAC5B,UAAU,GAAG,OAAO,CAAC;4BACrB,SAAS,GAAG,MAAM,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;4BACxC,iBAAiB,EAAE,CAAC;4BACpB,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BAEhD,+DAA+D;4BAC/D,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;gCAC/B,WAAmB,CAAC,eAAe,GAAG;oCACrC,QAAQ,EAAE,KAAK,CAAC,IAAI;oCACpB,KAAK,EAAE,MAAM;oCACb,KAAK,EAAE,KAAK,CAAC,KAAK;iCACnB,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC;wBAC/C,UAAU,GAAG,OAAO,CAAC;wBACrB,SAAS,GAAG,iBAAiB,KAAK,CAAC,IAAI,GAAG,CAAC;oBAC7C,CAAC;oBAED,6FAA6F;oBAC7F,IAAI,UAAU,KAAK,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBACzD,MAAM,OAAO,GAAI,WAAmB,CAAC,eAAe,CAAC;wBACrD,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC/C,WAAW,CAAC,eAAe,CAAC,cAAc,CACxC,OAAO,CAAC,KAAK,EACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EACpE,YAAY,EACZ,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EACnF,CAAC,KAAK,CAAC,IAAI,CAAC,CACb,CAAC;4BACF,OAAQ,WAAmB,CAAC,eAAe,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBAED,0CAA0C;oBAC1C,IAAI,WAAW,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;wBAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAA0B,CAAC;wBACxD,IAAI,QAAQ;4BAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACjD,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACvG,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;oBAExD,IAAI,SAAS;wBAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAE5C,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBAC7F,CAAC;oBAED,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAErC,0BAA0B;oBAC1B,IAAI,UAAU,KAAK,OAAO,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;wBACpD,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,KAAK,CAAC,EAAE;4BACrB,OAAO,EAAE,GAAG,MAAM,4BAA4B,YAAY,CAAC,MAAM,CAAC,GAAG;4BACrE,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,KAAK,CAAC,EAAE;4BACrB,OAAO,EAAE,MAAM;4BACf,QAAQ,EAAE,UAAU,KAAK,OAAO;yBACjC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,UAAU,KAAK,MAAM;wBAAE,iBAAiB,GAAG,CAAC,CAAC;oBAEjD,sFAAsF;oBACtF,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACvF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,cAAc;oBACd,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnG,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAE5D,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;wBACrB,OAAO,EAAE,0BAA0B;wBACnC,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,8CAA8C;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YACvD,wDAAwD;YACxD,cAAc,EAAE,EAAE,CAAC;YACnB,2BAA2B;YAC3B,IAAI,gBAAgB,EAAE,CAAC;gBACrB,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC;gBACpE,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;YACD,gCAAgC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,IAAI,WAAW,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,mBAAmB,YAAY,CAAC,MAAM,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE;YACnD,IAAI,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;SACpC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,aAAa,yCAAyC,CAAC,CAAC;IACzH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE;QAClE,OAAO,EAAE,KAAK;QACd,KAAK;QACL,MAAM;QACN,cAAc,EAAE,QAAQ;KACzB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB;IAC3D,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc;IACnD,UAAU,EAAE,oBAAoB;CACjC,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY;CACvF,CAAC,CAAC;AAEH,iDAAiD;AACjD,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAA8B;IACxE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1E,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,gBAAgB,CAAC,CAAC,OAAO,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,KAAK,CAAC,OAAO,GAAG,CAAC;QAC3D,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;QACvD,KAAK,aAAa,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAC7C,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QACnC,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;QACjC,KAAK,cAAc,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAC9C,KAAK,cAAc,CAAC,CAAC,OAAO,mBAAmB,CAAC;QAChD,KAAK,YAAY,CAAC,CAAC,OAAO,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC5D,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,CAAC;QACvC,KAAK,cAAc,CAAC,CAAC,OAAO,kBAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACvG,KAAK,kBAAkB,CAAC,CAAC,OAAO,iBAAiB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACxF,KAAK,oBAAoB,CAAC,CAAC,OAAO,mBAAmB,CAAC;QACtD,KAAK,eAAe,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1D,KAAK,cAAc,CAAC,CAAC,OAAO,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1D,KAAK,eAAe,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAC/C,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IACjB,gBAAgB,GAAoB,IAAI,eAAe,EAAE,CAAC;IAC1D,YAAY,GAAwB,IAAI,CAAC;IAEjD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../../src/cli/agent/loop.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAoB,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEtJ,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGnF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGzE,SAAS,gBAAgB,CAAC,GAAiB;IACzC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,UAAU,CAAC,IAAI,CAAC,GAAG;YACjB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC;QACF,IAAI,KAAK,CAAC,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACrD;KACF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAS,YAAY,CAAC,WAAmB;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAClI,OAAO,sGAAsG,CAAC;IAChH,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACtG,OAAO,2EAA2E,CAAC;IACrF,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5F,OAAO,gFAAgF,CAAC;IAC1F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3F,OAAO,oFAAoF,CAAC;IAC9F,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,OAAO,+CAA+C,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC1G,OAAO,yFAAyF,CAAC;IACnG,CAAC;IACD,OAAO,gIAAgI,CAAC;AAC1I,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxC,YAAY,UAAkB,eAAe;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAyCD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,mBAAkC,EAClC,OAAyB,EACzB,UAA4B;IAE5B,MAAM,EACJ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,WAAW,EACX,eAAe,EACf,aAAa,EACb,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,aAAa,GAAG,GAAG,GACpB,GAAG,OAAO,CAAC;IACZ,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAE5C,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,YAAY;QACtD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,CAAC;aAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,QAAQ;QACpB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAChC,gBAAgB,EAAE,CAAC;IACnB,MAAM,QAAQ,GAAkB,CAAC,GAAG,mBAAmB,CAAC,CAAC;IAEzD,mBAAmB;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAEtD,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,sFAAsF;IACtF,MAAM,YAAY,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,YAAY,CAAC;IAEpF,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;QAClC,UAAU,EAAE,CAAC;QAEb,kCAAkC;QAClC,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QAED,yDAAyD;QACzD,UAAU,EAAE,EAAE,CAAC;QAEf,iFAAiF;QACjF,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,oEAAoE;QACpE,IAAI,QAAQ,CAAC;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC;YAClC,QAAQ,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,gCAAgC;YAChC,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,4CAA4C;YAC5C,IAAI,MAAM,YAAY,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC5D,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEzE,2EAA2E;YAC3E,MAAM,aAAa,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,aAAa,EAAE,CAAC;gBAClB,aAAa,EAAE,YAAY,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,KAAK,KAAK;oBACtC,CAAC,CAAC,kEAAkE;oBACpE,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,UAAU,aAAa,IAAI,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,sFAAsF;YACtF,IAAI,gBAAgB,CAAC,MAAM,CAAC,IAAI,UAAU,GAAG,aAAa,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACpF,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC5C,iBAAiB,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnE,aAAa,EAAE,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAElD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,iCAAiC;YACjC,IAAI,UAAU,GAAG,aAAa,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACxD,iBAAiB,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,MAAM,EAAE,CAAC,CAAC;gBAC/C,aAAa,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAEhD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,SAAS;YACX,CAAC;YACD,MAAM,MAAM,CAAC;QACf,CAAC;QAED,iBAAiB,GAAG,CAAC,CAAC;QAEtB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,gBAAgB,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;YAChD,iBAAiB,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;YAClD,YAAY,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5E,CAAC;QAED,kCAAkC;QAClC,wEAAwE;QACxE,kEAAkE;QAClE,gDAAgD;QAChD,MAAM,gBAAgB,GAAmB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,gDAAgD;QAChD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,UAAU,GAAG,IAAI,CAAC;gBAClB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,gGAAgG;QAChG,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,UAAU,EAAE,CAAC;gBACf,mEAAmE;gBACnE,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,6DAA6D;gBAC7D,SAAS,IAAI,IAAI,CAAC;YACpB,CAAC;YACD,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,6CAA6C;QAC7C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,kDAAkD;YAClD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACpC,gBAAgB,GAAG,IAAI,CAAC;gBACxB,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAClC,CAAC;YACD,MAAM,WAAW,GAKZ,EAAE,CAAC;YAER,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,4BAA4B;gBAC5B,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;oBAC1B,MAAM,IAAI,eAAe,EAAE,CAAC;gBAC9B,CAAC;gBAED,cAAc,EAAE,CAAC;gBACjB,MAAM,OAAO,GAAG,cAAc,CAAC;gBAC/B,MAAM,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEhE,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,gBAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,WAAW,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9C,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEpD,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAEvD,mBAAmB;gBACnB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CACrC,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,EACX,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CACnC,CAAC;gBAEF,IAAI,OAAO,EAAE,CAAC;oBACZ,wDAAwD;oBACxD,MAAM,SAAS,GAAI,KAAK,CAAC,KAAK,CAAC,IAA2B,CAAC;oBAC3D,IAAI,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChD,IAAI,CAAC;4BACH,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;4BAC1E,IAAI,QAAQ,EAAE,CAAC;gCACb,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gCAC9D,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,mBAAmB,CACtD,KAAK,CAAC,IAAI,EACV,OAAO,EACP,KAAK,CAAC,KAAK,EACX,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CACnC,CAAC;gCACF,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oCAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;oCACnH,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,gCAAgC,CAAC,CAAC;oCAC5E,WAAW,CAAC,IAAI,CAAC;wCACf,IAAI,EAAE,aAAa;wCACnB,WAAW,EAAE,KAAK,CAAC,EAAE;wCACrB,OAAO,EAAE,6DAA6D;wCACtE,QAAQ,EAAE,IAAI;qCACf,CAAC,CAAC;oCACH,SAAS;gCACX,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,yFAAyF;wBAC3F,CAAC;oBACH,CAAC;oBAED,MAAM,SAAS,GAAG,eAAe;wBAC/B,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC;wBAC1E,CAAC,CAAC,SAAS,CAAC;oBAEd,wCAAwC;oBACxC,IAAI,WAAW,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;wBACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAA0B,CAAC;wBACxD,IAAI,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAChD,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,6DAA6D,CAAC,CAAC;4BAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;4BACxG,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;4BACzD,WAAW,CAAC,IAAI,CAAC;gCACf,IAAI,EAAE,aAAa;gCACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gCACrB,OAAO,EAAE,6DAA6D;gCACtE,QAAQ,EAAE,IAAI;6BACf,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;oBACH,CAAC;oBAED,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACzF,IAAI,MAAc,CAAC;oBACnB,IAAI,UAAU,GAAqB,MAAM,CAAC;oBAC1C,IAAI,SAA6B,CAAC;oBAElC,mCAAmC;oBACnC,IAAI,eAAe,GAAa,EAAE,CAAC;oBACnC,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBAChC,MAAM,KAAK,GAAG,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpF,IAAI,KAAK,EAAE,CAAC;4BACV,eAAe,GAAG,WAAW,CAAC,eAAe;iCAC1C,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;iCACtC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACpB,CAAC;oBACH,CAAC;oBAED,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;wBACtB,IAAI,CAAC;4BACH,IAAI,IAAI,EAAE,CAAC;gCACT,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;4BACxD,CAAC;iCAAM,CAAC;gCACN,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,SAAU,CAAC,SAAS,CAAC,CAAC;gCAC5D,MAAM,GAAG,MAAM,SAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gCAC/C,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,SAAU,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;4BACzE,CAAC;4BAED,oDAAoD;4BACpD,IAAI,WAAW,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC9D,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;oCACrC,WAAW,CAAC,eAAe,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gCACvD,CAAC;4BACH,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;4BAChE,MAAM,GAAG,UAAU,MAAM,EAAE,CAAC;4BAC5B,UAAU,GAAG,OAAO,CAAC;4BACrB,SAAS,GAAG,MAAM,CAAC;4BACnB,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;4BACxC,iBAAiB,EAAE,CAAC;4BACpB,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BAChD,IAAI,SAAS,EAAE,CAAC;gCACd,WAAW,CAAC,YAAY,EAAE,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;4BACzE,CAAC;4BAED,+DAA+D;4BAC/D,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;gCAC/B,WAAmB,CAAC,eAAe,GAAG;oCACrC,QAAQ,EAAE,KAAK,CAAC,IAAI;oCACpB,KAAK,EAAE,MAAM;oCACb,KAAK,EAAE,KAAK,CAAC,KAAK;iCACnB,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,wBAAwB,KAAK,CAAC,IAAI,GAAG,CAAC;wBAC/C,UAAU,GAAG,OAAO,CAAC;wBACrB,SAAS,GAAG,iBAAiB,KAAK,CAAC,IAAI,GAAG,CAAC;oBAC7C,CAAC;oBAED,6FAA6F;oBAC7F,IAAI,UAAU,KAAK,MAAM,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBACzD,MAAM,OAAO,GAAI,WAAmB,CAAC,eAAe,CAAC;wBACrD,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;4BAC/C,WAAW,CAAC,eAAe,CAAC,cAAc,CACxC,OAAO,CAAC,KAAK,EACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EACpE,YAAY,EACZ,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAc,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EACnF,CAAC,KAAK,CAAC,IAAI,CAAC,CACb,CAAC;4BACF,OAAQ,WAAmB,CAAC,eAAe,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBAED,0CAA0C;oBAC1C,IAAI,WAAW,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;wBAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAA0B,CAAC;wBACxD,IAAI,QAAQ;4BAAE,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACjD,CAAC;oBAED,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACvG,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;oBAExD,IAAI,SAAS;wBAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAE5C,IAAI,eAAe,EAAE,CAAC;wBACpB,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBAC7F,CAAC;oBAED,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBAErC,0BAA0B;oBAC1B,IAAI,UAAU,KAAK,OAAO,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;wBACpD,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,KAAK,CAAC,EAAE;4BACrB,OAAO,EAAE,GAAG,MAAM,4BAA4B,YAAY,CAAC,MAAM,CAAC,GAAG;4BACrE,QAAQ,EAAE,IAAI;yBACf,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,IAAI,CAAC;4BACf,IAAI,EAAE,aAAa;4BACnB,WAAW,EAAE,KAAK,CAAC,EAAE;4BACrB,OAAO,EAAE,MAAM;4BACf,QAAQ,EAAE,UAAU,KAAK,OAAO;yBACjC,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,UAAU,KAAK,MAAM;wBAAE,iBAAiB,GAAG,CAAC,CAAC;oBAEjD,sFAAsF;oBACtF,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACjE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACvF,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,cAAc;oBACd,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;oBACnG,SAAS,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;oBAE5D,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;wBACrB,OAAO,EAAE,0BAA0B;wBACnC,QAAQ,EAAE,IAAI;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,8CAA8C;YAC9C,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;YACvD,wDAAwD;YACxD,cAAc,EAAE,EAAE,CAAC;YACnB,2BAA2B;YAC3B,IAAI,gBAAgB,EAAE,CAAC;gBACrB,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,CAAC;gBACpE,gBAAgB,GAAG,KAAK,CAAC;YAC3B,CAAC;YACD,gCAAgC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,IAAI,WAAW,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,YAAY,GAAG,mBAAmB,YAAY,CAAC,MAAM,iBAAiB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE;YACnD,IAAI,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC;SACpC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,aAAa,yCAAyC,CAAC,CAAC;IACzH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE;QAClE,OAAO,EAAE,KAAK;QACd,KAAK;QACL,MAAM;QACN,cAAc,EAAE,QAAQ;KACzB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB;IAC3D,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc;IACnD,UAAU,EAAE,oBAAoB;CACjC,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY;CACvF,CAAC,CAAC;AAEH,iDAAiD;AACjD,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAA8B;IACxE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1E,KAAK,WAAW,CAAC,CAAC,OAAO,WAAW,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QACzE,KAAK,gBAAgB,CAAC,CAAC,OAAO,WAAW,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC7D,KAAK,cAAc,CAAC,CAAC,OAAO,cAAc,KAAK,CAAC,OAAO,GAAG,CAAC;QAC3D,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,OAAO,GAAG,CAAC;QACvD,KAAK,aAAa,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAC7C,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC;QACnC,KAAK,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC;QACvC,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;QACjC,KAAK,cAAc,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAC9C,KAAK,cAAc,CAAC,CAAC,OAAO,mBAAmB,CAAC;QAChD,KAAK,YAAY,CAAC,CAAC,OAAO,OAAO,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC5D,KAAK,UAAU,CAAC,CAAC,OAAO,cAAc,CAAC;QACvC,KAAK,cAAc,CAAC,CAAC,OAAO,kBAAkB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACvG,KAAK,kBAAkB,CAAC,CAAC,OAAO,iBAAiB,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACxF,KAAK,oBAAoB,CAAC,CAAC,OAAO,mBAAmB,CAAC;QACtD,KAAK,eAAe,CAAC,CAAC,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1D,KAAK,cAAc,CAAC,CAAC,OAAO,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1D,KAAK,eAAe,CAAC,CAAC,OAAO,iBAAiB,CAAC;QAC/C,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,KAAK,CAAC;IAChB,QAAQ,GAAG,KAAK,CAAC;IACjB,gBAAgB,GAAoB,IAAI,eAAe,EAAE,CAAC;IAC1D,YAAY,GAAwB,IAAI,CAAC;IAEjD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,eAAe,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,eAAe,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -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":"
|
|
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":"
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"AA6FA,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"}
|
|
@@ -4,7 +4,8 @@ import { homedir } from 'node:os';
|
|
|
4
4
|
import { join, basename } from 'node:path';
|
|
5
5
|
import { writeFileSync } from 'node:fs';
|
|
6
6
|
import { ConfigStore } from '../config/store.js';
|
|
7
|
-
import { createProvider } from '../providers/registry.js';
|
|
7
|
+
import { createProvider, registerFreeModel } from '../providers/registry.js';
|
|
8
|
+
import { registerModelContextLength } from '../providers/model-limits.js';
|
|
8
9
|
import { analyzeProject } from '../context/project.js';
|
|
9
10
|
import { assembleSystemPrompt } from '../context/assembler.js';
|
|
10
11
|
import { renderLogo, renderVersion } from '../ui/logo.js';
|
|
@@ -49,11 +50,13 @@ import { WorldModelManager } from '../jarvis/world-model.js';
|
|
|
49
50
|
import { AutonomyManager } from '../jarvis/autonomy.js';
|
|
50
51
|
import { NotificationManager } from '../jarvis/notifications.js';
|
|
51
52
|
import { SkillManager } from '../jarvis/skills.js';
|
|
53
|
+
import { SkillScorer } from '../jarvis/skill-scoring.js';
|
|
52
54
|
import { JarvisTelegramBot, parseTelegramCommand } from '../jarvis/telegram-bot.js';
|
|
53
55
|
import { LearningJournal } from '../jarvis/learning.js';
|
|
54
56
|
import { SentimentAnalyzer } from '../jarvis/sentiment.js';
|
|
55
57
|
import { acquireJarvisSlot, releaseJarvisSlot } from '../jarvis/instance-lock.js';
|
|
56
58
|
import { buildRuntimeContext } from '../jarvis/runtime-context.js';
|
|
59
|
+
import { buildSkillBuildSpecFromProposal, buildSkillBuildTask, detectSkillBuildFromFailure } from '../jarvis/skill-builder.js';
|
|
57
60
|
import { BrainInstanceManager } from '../brain/instance-manager.js';
|
|
58
61
|
import { BrowserController } from '../browser/controller.js';
|
|
59
62
|
import { VisionProcessor } from '../browser/vision.js';
|
|
@@ -229,12 +232,12 @@ const HELP_TEXT = `
|
|
|
229
232
|
${chalk.hex('#00d4ff').bold(' Chat & Interaction')}
|
|
230
233
|
${theme.primary('/help'.padEnd(22))} ${theme.dim('Show this help')}
|
|
231
234
|
${theme.primary('/clear'.padEnd(22))} ${theme.dim('Clear conversation history')}
|
|
232
|
-
${theme.primary('/model [name]'.padEnd(22))} ${theme.dim('Switch model (interactive or direct: /model gpt-4o)')}
|
|
233
|
-
${theme.primary('/keys'.padEnd(22))} ${theme.dim('Add/remove/update API keys')}
|
|
234
|
-
${theme.primary('/fast [prompt]'.padEnd(22))} ${theme.dim('One fast turn: skip validation and auto-swarm')}
|
|
235
|
-
${theme.primary('/swarm [prompt]'.padEnd(22))} ${theme.dim('Force multi-agent swarm for one request')}
|
|
236
|
-
${theme.primary('/yolo [on|off]'.padEnd(22))} ${theme.dim('Toggle YOLO mode — auto-approve ALL operations')}
|
|
237
|
-
${theme.primary('/skip-permissions'.padEnd(22))} ${theme.dim('Toggle skip-permissions (auto-approve safe ops)')}
|
|
235
|
+
${theme.primary('/model [name]'.padEnd(22))} ${theme.dim('Switch model (interactive or direct: /model gpt-4o)')}
|
|
236
|
+
${theme.primary('/keys'.padEnd(22))} ${theme.dim('Add/remove/update API keys')}
|
|
237
|
+
${theme.primary('/fast [prompt]'.padEnd(22))} ${theme.dim('One fast turn: skip validation and auto-swarm')}
|
|
238
|
+
${theme.primary('/swarm [prompt]'.padEnd(22))} ${theme.dim('Force multi-agent swarm for one request')}
|
|
239
|
+
${theme.primary('/yolo [on|off]'.padEnd(22))} ${theme.dim('Toggle YOLO mode — auto-approve ALL operations')}
|
|
240
|
+
${theme.primary('/skip-permissions'.padEnd(22))} ${theme.dim('Toggle skip-permissions (auto-approve safe ops)')}
|
|
238
241
|
|
|
239
242
|
${chalk.hex('#00ff88').bold(' Spiral Memory')}
|
|
240
243
|
${theme.primary('/spiral'.padEnd(22))} ${theme.dim('Show spiral status (nodes per level)')}
|
|
@@ -267,14 +270,14 @@ ${chalk.hex('#00cc66').bold(' Validation Matrix')}
|
|
|
267
270
|
${theme.primary('/validation strict'.padEnd(22))} ${theme.dim('Treat warnings as errors')}
|
|
268
271
|
${theme.primary('/validation stats'.padEnd(22))} ${theme.dim('Show validation statistics')}
|
|
269
272
|
|
|
270
|
-
${chalk.hex('#8a2be2').bold(' Code & Git')}
|
|
271
|
-
${theme.primary('/undo [n|list]'.padEnd(22))} ${theme.dim('Undo last n file changes (or list history)')}
|
|
272
|
-
${theme.primary('/diff'.padEnd(22))} ${theme.dim('Show all uncommitted git changes')}
|
|
273
|
-
${theme.primary('/git'.padEnd(22))} ${theme.dim('Show git branch & status')}
|
|
274
|
-
${theme.primary('/worktree'.padEnd(22))} ${theme.dim('Show isolated worktree status')}
|
|
275
|
-
${theme.primary('/worktree auto'.padEnd(22))} ${theme.dim('Enable worktrees for risky agent runs')}
|
|
276
|
-
${theme.primary('/project'.padEnd(22))} ${theme.dim('Show detected project info')}
|
|
277
|
-
${theme.primary('/export [dir]'.padEnd(22))} ${theme.dim('Export spiral as ZIP archive')}
|
|
273
|
+
${chalk.hex('#8a2be2').bold(' Code & Git')}
|
|
274
|
+
${theme.primary('/undo [n|list]'.padEnd(22))} ${theme.dim('Undo last n file changes (or list history)')}
|
|
275
|
+
${theme.primary('/diff'.padEnd(22))} ${theme.dim('Show all uncommitted git changes')}
|
|
276
|
+
${theme.primary('/git'.padEnd(22))} ${theme.dim('Show git branch & status')}
|
|
277
|
+
${theme.primary('/worktree'.padEnd(22))} ${theme.dim('Show isolated worktree status')}
|
|
278
|
+
${theme.primary('/worktree auto'.padEnd(22))} ${theme.dim('Enable worktrees for risky agent runs')}
|
|
279
|
+
${theme.primary('/project'.padEnd(22))} ${theme.dim('Show detected project info')}
|
|
280
|
+
${theme.primary('/export [dir]'.padEnd(22))} ${theme.dim('Export spiral as ZIP archive')}
|
|
278
281
|
|
|
279
282
|
${chalk.hex('#6c757d').bold(' Navigation')}
|
|
280
283
|
${theme.primary('/exit /quit'.padEnd(22))} ${theme.dim('Exit HelixMind')}
|
|
@@ -413,6 +416,7 @@ export async function chatCommand(options) {
|
|
|
413
416
|
let jarvisAutonomy;
|
|
414
417
|
let jarvisNotifications;
|
|
415
418
|
let jarvisSkills;
|
|
419
|
+
let jarvisSkillScorer;
|
|
416
420
|
let jarvisSentiment;
|
|
417
421
|
let jarvisTelegramBot = null;
|
|
418
422
|
let jarvisLearning;
|
|
@@ -587,6 +591,7 @@ export async function chatCommand(options) {
|
|
|
587
591
|
jarvisAutonomy = new AutonomyManager(jarvisIdentity.getIdentity().autonomyLevel);
|
|
588
592
|
jarvisNotifications = new NotificationManager(root);
|
|
589
593
|
jarvisSkills = new SkillManager(root);
|
|
594
|
+
jarvisSkillScorer = new SkillScorer(root);
|
|
590
595
|
jarvisSkills.syncRegistry();
|
|
591
596
|
jarvisLearning = new LearningJournal(root);
|
|
592
597
|
jarvisSentiment = new SentimentAnalyzer(root, {
|
|
@@ -751,6 +756,61 @@ export async function chatCommand(options) {
|
|
|
751
756
|
log: (msg) => { renderInfo(chalk.dim(`[skill] ${msg}`)); },
|
|
752
757
|
};
|
|
753
758
|
}
|
|
759
|
+
function findOpenSkillBuildTask(skillName) {
|
|
760
|
+
ensureJarvisRuntime();
|
|
761
|
+
return jarvisQueue.getAllTasks().find((task) => task.status !== 'completed' &&
|
|
762
|
+
task.status !== 'failed' &&
|
|
763
|
+
task.tags?.includes('skill_build') &&
|
|
764
|
+
task.tags?.includes(`skill:${skillName}`));
|
|
765
|
+
}
|
|
766
|
+
function enqueueProposalTask(proposal) {
|
|
767
|
+
ensureJarvisRuntime();
|
|
768
|
+
if (proposal.category === 'skill_creation' || proposal.category === 'skill_update') {
|
|
769
|
+
const spec = buildSkillBuildSpecFromProposal(proposal);
|
|
770
|
+
const existing = findOpenSkillBuildTask(spec.skillName);
|
|
771
|
+
if (existing)
|
|
772
|
+
return existing;
|
|
773
|
+
const buildTask = buildSkillBuildTask(spec);
|
|
774
|
+
return jarvisQueue.addTask(buildTask.title, buildTask.description, {
|
|
775
|
+
priority: buildTask.priority,
|
|
776
|
+
tags: buildTask.tags,
|
|
777
|
+
});
|
|
778
|
+
}
|
|
779
|
+
return jarvisQueue.addTask(proposal.title, proposal.description, {
|
|
780
|
+
priority: proposal.impact === 'high' ? 'high' : 'medium',
|
|
781
|
+
});
|
|
782
|
+
}
|
|
783
|
+
function queueSkillBuildFromFailure(task, failure) {
|
|
784
|
+
ensureJarvisRuntime();
|
|
785
|
+
const spec = detectSkillBuildFromFailure({
|
|
786
|
+
taskTitle: task.title,
|
|
787
|
+
taskDescription: task.description,
|
|
788
|
+
failure,
|
|
789
|
+
existingScores: jarvisSkillScorer.scoreSkills(task.description || task.title, 'skill_gap', jarvisSkills.listSkills()),
|
|
790
|
+
existingSkillNames: jarvisSkills.listSkills().map((skill) => skill.manifest.name),
|
|
791
|
+
});
|
|
792
|
+
if (!spec)
|
|
793
|
+
return null;
|
|
794
|
+
const existing = findOpenSkillBuildTask(spec.skillName);
|
|
795
|
+
if (existing)
|
|
796
|
+
return existing;
|
|
797
|
+
const buildTask = buildSkillBuildTask(spec);
|
|
798
|
+
return jarvisQueue.addTask(buildTask.title, buildTask.description, {
|
|
799
|
+
priority: buildTask.priority,
|
|
800
|
+
tags: buildTask.tags.concat('self_improvement'),
|
|
801
|
+
});
|
|
802
|
+
}
|
|
803
|
+
async function activateBuiltSkill(task, skillName) {
|
|
804
|
+
ensureJarvisRuntime();
|
|
805
|
+
jarvisSkills.syncRegistry();
|
|
806
|
+
const result = await jarvisSkills.activateSkill(skillName, buildSkillContext());
|
|
807
|
+
if (result.success) {
|
|
808
|
+
renderInfo(chalk.green(`Activated skill "${skillName}" after task #${task.id}.`));
|
|
809
|
+
}
|
|
810
|
+
else {
|
|
811
|
+
renderInfo(chalk.yellow(`Built skill "${skillName}" but activation failed: ${result.error || 'unknown error'}`));
|
|
812
|
+
}
|
|
813
|
+
}
|
|
754
814
|
// Start Telegram bot if configured (called when daemon starts)
|
|
755
815
|
function startTelegramBot() {
|
|
756
816
|
ensureJarvisRuntime();
|
|
@@ -796,9 +856,7 @@ export async function chatCommand(options) {
|
|
|
796
856
|
const proposal = jarvisProposals.approve(id);
|
|
797
857
|
if (proposal) {
|
|
798
858
|
jarvisIdentity.recordEvent({ type: 'proposal_approved', proposalId: id });
|
|
799
|
-
const task =
|
|
800
|
-
priority: proposal.impact === 'high' ? 'high' : 'medium',
|
|
801
|
-
});
|
|
859
|
+
const task = enqueueProposalTask(proposal);
|
|
802
860
|
proposal.convertedTaskId = task.id;
|
|
803
861
|
reply(`\u{1F7E2} Proposal #${id} approved \u2192 Task #${task.id} queued`);
|
|
804
862
|
}
|
|
@@ -857,7 +915,7 @@ export async function chatCommand(options) {
|
|
|
857
915
|
const proposal = jarvisProposals.approve(id);
|
|
858
916
|
if (proposal) {
|
|
859
917
|
jarvisIdentity.recordEvent({ type: 'proposal_approved', proposalId: id });
|
|
860
|
-
const task =
|
|
918
|
+
const task = enqueueProposalTask(proposal);
|
|
861
919
|
proposal.convertedTaskId = task.id;
|
|
862
920
|
jarvisTelegramBot?.send(`\u2705 Approved #${id} \u2192 Task #${task.id}`, { chatId });
|
|
863
921
|
}
|
|
@@ -911,7 +969,20 @@ export async function chatCommand(options) {
|
|
|
911
969
|
catch { }
|
|
912
970
|
},
|
|
913
971
|
createProposal: (title, desc, rationale, opts) => {
|
|
914
|
-
|
|
972
|
+
const proposal = jarvisProposals.create(title, desc, rationale, opts);
|
|
973
|
+
if (proposal.category === 'skill_creation' &&
|
|
974
|
+
proposal.source.startsWith('thinking') &&
|
|
975
|
+
jarvisAutonomy.getLevel() >= 4) {
|
|
976
|
+
const approved = jarvisProposals.approve(proposal.id);
|
|
977
|
+
if (approved) {
|
|
978
|
+
jarvisIdentity.recordEvent({ type: 'proposal_approved', proposalId: approved.id });
|
|
979
|
+
const task = enqueueProposalTask(approved);
|
|
980
|
+
approved.convertedTaskId = task.id;
|
|
981
|
+
renderInfo(chalk.dim(`Auto-approved skill proposal #${approved.id} -> Task #${task.id}`));
|
|
982
|
+
return approved;
|
|
983
|
+
}
|
|
984
|
+
}
|
|
985
|
+
return proposal;
|
|
915
986
|
},
|
|
916
987
|
wouldLikelyBeDenied: (cat, files) => {
|
|
917
988
|
return jarvisProposals.wouldLikelyBeDenied(cat, files);
|
|
@@ -952,6 +1023,10 @@ export async function chatCommand(options) {
|
|
|
952
1023
|
topCategories,
|
|
953
1024
|
};
|
|
954
1025
|
},
|
|
1026
|
+
getSkillScores: (taskDesc) => {
|
|
1027
|
+
return jarvisSkillScorer.scoreSkills(taskDesc, 'skill_gap', jarvisSkills.listSkills())
|
|
1028
|
+
.map((score) => ({ skillName: score.skillName, totalScore: score.totalScore }));
|
|
1029
|
+
},
|
|
955
1030
|
};
|
|
956
1031
|
}
|
|
957
1032
|
// Create session start checkpoint
|
|
@@ -1311,7 +1386,7 @@ export async function chatCommand(options) {
|
|
|
1311
1386
|
const rth = { text: '' };
|
|
1312
1387
|
bgSession.buffer.onSummary = (t) => { rth.text = t; };
|
|
1313
1388
|
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 });
|
|
1389
|
+
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
1390
|
bgSession.buffer.onSummary = undefined;
|
|
1316
1391
|
return rth.text;
|
|
1317
1392
|
},
|
|
@@ -1480,6 +1555,8 @@ export async function chatCommand(options) {
|
|
|
1480
1555
|
jarvisLearning.recordLearning(error, solution, category, context, ['jarvis_daemon']);
|
|
1481
1556
|
},
|
|
1482
1557
|
thinkingCallbacks: buildThinkingCallbacks(bgSession),
|
|
1558
|
+
queueSkillBuildTask: queueSkillBuildFromFailure,
|
|
1559
|
+
onSkillBuildComplete: activateBuiltSkill,
|
|
1483
1560
|
});
|
|
1484
1561
|
}
|
|
1485
1562
|
catch (err) {
|
|
@@ -3306,7 +3383,7 @@ export async function chatCommand(options) {
|
|
|
3306
3383
|
const rth = { text: '' };
|
|
3307
3384
|
bgSession.buffer.onSummary = (t) => { rth.text = t; };
|
|
3308
3385
|
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 });
|
|
3386
|
+
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
3387
|
bgSession.buffer.onSummary = undefined;
|
|
3311
3388
|
return rth.text;
|
|
3312
3389
|
},
|
|
@@ -3357,6 +3434,8 @@ export async function chatCommand(options) {
|
|
|
3357
3434
|
jarvisLearning.recordLearning(error, solution, category, context, ['jarvis_daemon']);
|
|
3358
3435
|
},
|
|
3359
3436
|
thinkingCallbacks: buildThinkingCallbacks(bgSession),
|
|
3437
|
+
queueSkillBuildTask: queueSkillBuildFromFailure,
|
|
3438
|
+
onSkillBuildComplete: activateBuiltSkill,
|
|
3360
3439
|
});
|
|
3361
3440
|
}
|
|
3362
3441
|
catch (err) {
|
|
@@ -3866,7 +3945,7 @@ async function runBackgroundSession(session, prompt, provider, project, spiralEn
|
|
|
3866
3945
|
durationMs: session.elapsed,
|
|
3867
3946
|
};
|
|
3868
3947
|
}
|
|
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) {
|
|
3948
|
+
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
3949
|
// User message was rendered by renderUserMessage() in the caller before entering here.
|
|
3871
3950
|
const executionRoot = runtime?.executionRoot ?? process.cwd();
|
|
3872
3951
|
// Intent Detection: Check if user wants to feed the codebase
|
|
@@ -3965,6 +4044,7 @@ async function sendAgentMessage(input, agentHistory, provider, project, spiralEn
|
|
|
3965
4044
|
visionProcessor,
|
|
3966
4045
|
onBrowserScreenshot: onBrowserScreenshot ?? undefined,
|
|
3967
4046
|
learningJournal,
|
|
4047
|
+
skillManager,
|
|
3968
4048
|
worktree: runtime?.worktree,
|
|
3969
4049
|
},
|
|
3970
4050
|
checkpointStore,
|
|
@@ -4283,6 +4363,37 @@ async function handleSlashCommand(input, messages, agentHistory, config, spiralE
|
|
|
4283
4363
|
break;
|
|
4284
4364
|
case '/model': {
|
|
4285
4365
|
const directModel = parts[1];
|
|
4366
|
+
// /model add <provider> <model> [contextLength] [--free]
|
|
4367
|
+
if (directModel === 'add') {
|
|
4368
|
+
const prov = parts[2];
|
|
4369
|
+
const modelName = parts[3];
|
|
4370
|
+
if (!prov || !modelName) {
|
|
4371
|
+
renderError('Usage: /model add <provider> <model> [contextLength] [--free]');
|
|
4372
|
+
break;
|
|
4373
|
+
}
|
|
4374
|
+
const ctxArg = parts[4] && !parts[4].startsWith('-') ? parseInt(parts[4], 10) : undefined;
|
|
4375
|
+
const isFree = parts.includes('--free');
|
|
4376
|
+
const meta = (ctxArg || isFree) ? { contextLength: ctxArg, free: isFree || undefined } : undefined;
|
|
4377
|
+
store.addModel(prov, modelName, meta);
|
|
4378
|
+
if (ctxArg)
|
|
4379
|
+
registerModelContextLength(modelName, ctxArg);
|
|
4380
|
+
if (isFree)
|
|
4381
|
+
registerFreeModel(modelName);
|
|
4382
|
+
renderInfo(`Model added: ${prov} / ${modelName}${ctxArg ? ` (${(ctxArg / 1000).toFixed(0)}K ctx)` : ''}${isFree ? ' [FREE]' : ''}`);
|
|
4383
|
+
break;
|
|
4384
|
+
}
|
|
4385
|
+
// /model remove <provider> <model>
|
|
4386
|
+
if (directModel === 'remove') {
|
|
4387
|
+
const prov = parts[2];
|
|
4388
|
+
const modelName = parts[3];
|
|
4389
|
+
if (!prov || !modelName) {
|
|
4390
|
+
renderError('Usage: /model remove <provider> <model>');
|
|
4391
|
+
break;
|
|
4392
|
+
}
|
|
4393
|
+
store.removeModel(prov, modelName);
|
|
4394
|
+
renderInfo(`Model removed: ${prov} / ${modelName}`);
|
|
4395
|
+
break;
|
|
4396
|
+
}
|
|
4286
4397
|
if (directModel) {
|
|
4287
4398
|
// Check if it looks like an Ollama model (contains ':' or is a known local model pattern)
|
|
4288
4399
|
const isOllamaModel = directModel.includes(':') || directModel.match(/^(qwen|llama|deepseek|codellama|mistral|phi|gemma|starcoder)/i);
|