@channelfactory/cliend 0.7.0 → 0.7.2
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/src/core/complexity-router.d.ts +2 -1
- package/dist/src/core/complexity-router.d.ts.map +1 -1
- package/dist/src/core/complexity-router.js +13 -7
- package/dist/src/core/complexity-router.js.map +1 -1
- package/dist/src/core/context-builder.d.ts.map +1 -1
- package/dist/src/core/context-builder.js +3 -1
- package/dist/src/core/context-builder.js.map +1 -1
- package/dist/src/core/orchestrator.js +2 -2
- package/dist/src/core/orchestrator.js.map +1 -1
- package/dist/src/integrations/atlassian/rovo-client.d.ts +0 -5
- package/dist/src/integrations/atlassian/rovo-client.d.ts.map +1 -1
- package/dist/src/integrations/atlassian/rovo-client.js +0 -6
- package/dist/src/integrations/atlassian/rovo-client.js.map +1 -1
- package/dist/src/tools/tool-executor.d.ts +2 -0
- package/dist/src/tools/tool-executor.d.ts.map +1 -1
- package/dist/src/tools/tool-executor.js +58 -1
- package/dist/src/tools/tool-executor.js.map +1 -1
- package/dist/src/ui/welcome.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import type { ConversationMessage } from '../types/message.js';
|
|
1
2
|
export declare class ComplexityRouter {
|
|
2
3
|
private readonly apiKey;
|
|
3
4
|
private client;
|
|
4
5
|
constructor(apiKey: string);
|
|
5
|
-
classify(message: string): Promise<'simple' | 'agentic' | 'complex'>;
|
|
6
|
+
classify(message: string, history?: ConversationMessage[]): Promise<'simple' | 'agentic' | 'complex'>;
|
|
6
7
|
}
|
|
7
8
|
//# sourceMappingURL=complexity-router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-router.d.ts","sourceRoot":"","sources":["../../../src/core/complexity-router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"complexity-router.d.ts","sourceRoot":"","sources":["../../../src/core/complexity-router.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,MAAM,CAA0B;gBAEX,MAAM,EAAE,MAAM;IAErC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAmB,EAAO,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CA6ChH"}
|
|
@@ -5,24 +5,30 @@ export class ComplexityRouter {
|
|
|
5
5
|
constructor(apiKey) {
|
|
6
6
|
this.apiKey = apiKey;
|
|
7
7
|
}
|
|
8
|
-
async classify(message) {
|
|
8
|
+
async classify(message, history = []) {
|
|
9
9
|
if (!this.apiKey)
|
|
10
10
|
return 'complex';
|
|
11
|
+
// If any previous turn used tools, stay agentic for follow-ups
|
|
12
|
+
// unless the new message is clearly a standalone general question
|
|
13
|
+
const hadToolUse = history.some((m) => m.metadata?.toolCalls && m.metadata.toolCalls.length > 0);
|
|
11
14
|
try {
|
|
12
15
|
if (!this.client) {
|
|
13
16
|
this.client = new Anthropic({ apiKey: this.apiKey });
|
|
14
17
|
}
|
|
18
|
+
const contextHint = hadToolUse
|
|
19
|
+
? '\nIMPORTANT: The conversation has previously used filesystem tools. Follow-up questions like "what does this do?", "can you explain this?", "now fix it", "understand this" should be classified as AGENTIC since they refer to files/code from earlier in the conversation. Only classify as SIMPLE if the message is completely unrelated to the codebase (e.g. "what is a promise?").'
|
|
20
|
+
: '';
|
|
15
21
|
const response = await this.client.messages.create({
|
|
16
22
|
model: 'claude-haiku-4-5-20251001',
|
|
17
23
|
max_tokens: 10,
|
|
18
|
-
system: `You classify user messages as SIMPLE, AGENTIC, or COMPLEX for an AI coding assistant.
|
|
24
|
+
system: `You classify user messages as SIMPLE, AGENTIC, or COMPLEX for an AI coding assistant that runs inside a project directory.
|
|
19
25
|
|
|
20
|
-
SIMPLE: casual
|
|
26
|
+
SIMPLE: casual greetings, general knowledge questions completely unrelated to the current project, "what is X", "explain Y concept", "how does Z work in general".
|
|
21
27
|
|
|
22
|
-
AGENTIC:
|
|
23
|
-
|
|
24
|
-
COMPLEX: abstract architecture questions, design discussions, code review of pasted code, multi-provider comparison, high-level strategy, "design a caching strategy", "compare approaches for X", ticket breakdowns without specific file targets.
|
|
28
|
+
AGENTIC: anything that benefits from reading, editing, or exploring the project codebase — file operations, bug fixes, code understanding, "what does this do", "explain this code", "look at X", questions about the project, follow-ups about code shown earlier, running commands. When in doubt between SIMPLE and AGENTIC, prefer AGENTIC.
|
|
25
29
|
|
|
30
|
+
COMPLEX: abstract architecture questions, design discussions, code review of pasted code, multi-provider comparison, high-level strategy that doesn't need file access.
|
|
31
|
+
${contextHint}
|
|
26
32
|
Respond with ONLY the word SIMPLE, AGENTIC, or COMPLEX.`,
|
|
27
33
|
messages: [{ role: 'user', content: message }],
|
|
28
34
|
});
|
|
@@ -39,7 +45,7 @@ Respond with ONLY the word SIMPLE, AGENTIC, or COMPLEX.`,
|
|
|
39
45
|
return 'complex';
|
|
40
46
|
}
|
|
41
47
|
catch {
|
|
42
|
-
return 'complex';
|
|
48
|
+
return hadToolUse ? 'agentic' : 'complex';
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"complexity-router.js","sourceRoot":"","sources":["../../../src/core/complexity-router.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"complexity-router.js","sourceRoot":"","sources":["../../../src/core/complexity-router.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAG1C,MAAM,OAAO,gBAAgB;IAGE;IAFrB,MAAM,GAAqB,IAAI,CAAC;IAExC,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,UAAiC,EAAE;QACjE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAEnC,+DAA+D;QAC/D,kEAAkE;QAClE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEjG,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,WAAW,GAAG,UAAU;gBAC5B,CAAC,CAAC,0XAA0X;gBAC5X,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACjD,KAAK,EAAE,2BAA2B;gBAClC,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE;;;;;;;EAOd,WAAW;wDAC2C;gBAChD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;aAC/C,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO;iBAC1B,MAAM,CAAC,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,CAAC,EAAE,CAAC;iBACR,IAAI,EAAE;iBACN,WAAW,EAAE,CAAC;YAEjB,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YACvC,IAAI,IAAI,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,cAAc;IACzB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB;
|
|
1
|
+
{"version":3,"file":"context-builder.d.ts","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,qBAAa,cAAc;IACzB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,gBAAgB;CA8DtG"}
|
|
@@ -2,8 +2,10 @@ export class ContextBuilder {
|
|
|
2
2
|
build(session, userMessage, mode) {
|
|
3
3
|
const parts = [];
|
|
4
4
|
if (mode === 'agentic') {
|
|
5
|
-
parts.push('You are an expert software developer
|
|
5
|
+
parts.push('You are an expert software developer working inside a project directory. You have filesystem tools available and should use them proactively.');
|
|
6
|
+
parts.push('When the user asks about code, the project, or anything that could be answered by looking at files — USE YOUR TOOLS. Read files, list directories, search code. Do not guess or say you cannot access files.');
|
|
6
7
|
parts.push('Always read a file before editing it. Use edit_file for surgical changes instead of rewriting entire files.');
|
|
8
|
+
parts.push('NEVER read or access .env files, credentials, secrets, tokens, encryption keys, or any sensitive configuration. Do not attempt to decrypt, decode, or extract credentials. Do not use run_command to access secrets indirectly.');
|
|
7
9
|
parts.push(`Project root: ${session.meta.directory}`);
|
|
8
10
|
}
|
|
9
11
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,OAAwB,EAAE,WAAmB,EAAE,IAA6B;QAChF,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"context-builder.js","sourceRoot":"","sources":["../../../src/core/context-builder.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,cAAc;IACzB,KAAK,CAAC,OAAwB,EAAE,WAAmB,EAAE,IAA6B;QAChF,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,+IAA+I,CAAC,CAAC;YAC5J,KAAK,CAAC,IAAI,CAAC,8MAA8M,CAAC,CAAC;YAC3N,KAAK,CAAC,IAAI,CAAC,6GAA6G,CAAC,CAAC;YAC1H,KAAK,CAAC,IAAI,CAAC,iOAAiO,CAAC,CAAC;YAC9O,KAAK,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC7F,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9E,IAAI,CAAC,CAAC,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC,kBAAkB;gBAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACrF,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,uCAAuC;QACvC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACzC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjC,sDAAsD;gBACtD,MAAM,MAAM,GAAG,IAAI,CAAC;gBACpB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM;oBACzC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,mBAAmB;oBACpD,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO;YACL,WAAW;YACX,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;YAC9B,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YAC/B,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa;YAC5C,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,YAAY;YAC1C,aAAa,EAAE,OAAO,CAAC,MAAM;YAC7B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -31,8 +31,8 @@ export class Orchestrator {
|
|
|
31
31
|
content: 'No AI providers are configured or available. Check /config and ensure API keys are set.',
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
// Classify complexity to decide routing
|
|
35
|
-
const complexity = await this.complexityRouter.classify(userMessage);
|
|
34
|
+
// Classify complexity to decide routing (pass history for context awareness)
|
|
35
|
+
const complexity = await this.complexityRouter.classify(userMessage, session.history);
|
|
36
36
|
// Simple messages → Claude only (fast path)
|
|
37
37
|
if (complexity === 'simple') {
|
|
38
38
|
const context = this.contextBuilder.build(session, userMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,MAAM,OAAO,YAAY;IASJ;IACA;IATF,cAAc,CAAiB;IAC/B,MAAM,CAAiB;IACvB,KAAK,CAAQ;IACb,QAAQ,CAAmB;IAC3B,gBAAgB,CAAmB;IAC5C,UAAU,GAAuB,IAAI,CAAC;IAE9C,YACmB,MAAiB,EACjB,MAAc;QADd,WAAM,GAAN,MAAM,CAAW;QACjB,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAwB,EAAE,WAAmB;QACzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACrD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,OAAO,EAAE,yFAAyF;aACnG,CAAC;QACJ,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/core/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import type { Logger } from 'pino';
|
|
2
|
-
import type { AppConfig } from '../../types/config.js';
|
|
3
1
|
/**
|
|
4
2
|
* Rovo client — future-proofing for Atlassian Rovo AI integration.
|
|
5
3
|
* Currently a placeholder; will be implemented when Rovo MCP API stabilizes.
|
|
6
4
|
*/
|
|
7
5
|
export declare class RovoClient {
|
|
8
|
-
private readonly config;
|
|
9
|
-
private readonly logger;
|
|
10
|
-
constructor(config: AppConfig, logger: Logger);
|
|
11
6
|
search(_query: string): Promise<unknown[]>;
|
|
12
7
|
}
|
|
13
8
|
//# sourceMappingURL=rovo-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rovo-client.d.ts","sourceRoot":"","sources":["../../../../src/integrations/atlassian/rovo-client.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rovo-client.d.ts","sourceRoot":"","sources":["../../../../src/integrations/atlassian/rovo-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,UAAU;IACf,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAIjD"}
|
|
@@ -3,12 +3,6 @@
|
|
|
3
3
|
* Currently a placeholder; will be implemented when Rovo MCP API stabilizes.
|
|
4
4
|
*/
|
|
5
5
|
export class RovoClient {
|
|
6
|
-
config;
|
|
7
|
-
logger;
|
|
8
|
-
constructor(config, logger) {
|
|
9
|
-
this.config = config;
|
|
10
|
-
this.logger = logger;
|
|
11
|
-
}
|
|
12
6
|
async search(_query) {
|
|
13
7
|
// TODO: Implement Rovo search via MCP or REST API
|
|
14
8
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rovo-client.js","sourceRoot":"","sources":["../../../../src/integrations/atlassian/rovo-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rovo-client.js","sourceRoot":"","sources":["../../../../src/integrations/atlassian/rovo-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,UAAU;IACrB,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,kDAAkD;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -5,6 +5,8 @@ export interface ToolResult {
|
|
|
5
5
|
export declare class ToolExecutor {
|
|
6
6
|
private readonly cwd;
|
|
7
7
|
constructor(cwd: string);
|
|
8
|
+
private isSensitivePath;
|
|
9
|
+
private isBlockedCommand;
|
|
8
10
|
execute(toolName: string, input: Record<string, unknown>): Promise<ToolResult>;
|
|
9
11
|
private resolveSafe;
|
|
10
12
|
private readFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAyCD,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM;IAExC,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,gBAAgB;IAIlB,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAmBpF,OAAO,CAAC,WAAW;YAQL,QAAQ;YAoBR,SAAS;YAcT,QAAQ;YAwBR,aAAa;YAWb,WAAW;YAwDX,YAAY;YAgBZ,UAAU;CA0BzB"}
|
|
@@ -1,12 +1,57 @@
|
|
|
1
1
|
import { readFile, writeFile, readdir, mkdir, stat } from 'node:fs/promises';
|
|
2
|
-
import { resolve, relative, dirname } from 'node:path';
|
|
2
|
+
import { resolve, relative, dirname, basename } from 'node:path';
|
|
3
3
|
import { exec } from 'node:child_process';
|
|
4
4
|
import { glob } from 'node:fs/promises';
|
|
5
|
+
// Files that should never be read or written by the AI
|
|
6
|
+
const SENSITIVE_FILE_PATTERNS = [
|
|
7
|
+
/\.env($|\.)/, // .env, .env.local, .env.production, etc.
|
|
8
|
+
/credentials/i, // credentials.json, credentials.enc, etc.
|
|
9
|
+
/\.enc$/, // any encrypted file
|
|
10
|
+
/\.pem$/, // certificates/keys
|
|
11
|
+
/\.key$/, // private keys
|
|
12
|
+
/\.p12$/, // PKCS12 keystores
|
|
13
|
+
/id_rsa/, // SSH keys
|
|
14
|
+
/id_ed25519/, // SSH keys
|
|
15
|
+
/\.ssh\//, // SSH directory
|
|
16
|
+
/secret/i, // secrets.json, etc.
|
|
17
|
+
/token/i, // token.json, tokens.enc, etc.
|
|
18
|
+
/\.npmrc$/, // npm auth tokens
|
|
19
|
+
/\.netrc$/, // network credentials
|
|
20
|
+
/\.docker\/config\.json/, // Docker auth
|
|
21
|
+
];
|
|
22
|
+
// Command patterns that should never be executed
|
|
23
|
+
const BLOCKED_COMMAND_PATTERNS = [
|
|
24
|
+
/curl\s.*(-H|--header)\s.*([Aa]uthoriz|[Bb]earer|[Tt]oken)/, // curl with auth headers
|
|
25
|
+
/wget\s.*--header.*([Aa]uthoriz|[Bb]earer|[Tt]oken)/, // wget with auth headers
|
|
26
|
+
/credentials\.enc/, // accessing encrypted credentials
|
|
27
|
+
/keytar/, // accessing OS keychain
|
|
28
|
+
/security\s+(find|delete|add)-/, // macOS Keychain Access
|
|
29
|
+
/cat\s+.*\.env/, // cat .env files
|
|
30
|
+
/cat\s+.*\.pem/, // cat key files
|
|
31
|
+
/cat\s+.*\.key/, // cat key files
|
|
32
|
+
/cat\s+.*secret/i, // cat secrets
|
|
33
|
+
/cat\s+.*credential/i, // cat credentials
|
|
34
|
+
/cat\s+.*token/i, // cat token files
|
|
35
|
+
/cat\s+.*\.enc/, // cat encrypted files
|
|
36
|
+
/createDecipheriv|createDecipher/, // decryption in inline scripts
|
|
37
|
+
/scryptSync|pbkdf2/, // key derivation in inline scripts
|
|
38
|
+
/process\.env\./, // accessing env vars in scripts
|
|
39
|
+
/source\s+.*\.env/, // sourcing env files
|
|
40
|
+
/export\s+.*(?:KEY|SECRET|TOKEN|PASSWORD|CREDENTIAL)/i, // exporting secrets
|
|
41
|
+
];
|
|
5
42
|
export class ToolExecutor {
|
|
6
43
|
cwd;
|
|
7
44
|
constructor(cwd) {
|
|
8
45
|
this.cwd = cwd;
|
|
9
46
|
}
|
|
47
|
+
isSensitivePath(filePath) {
|
|
48
|
+
const name = basename(filePath);
|
|
49
|
+
const full = filePath;
|
|
50
|
+
return SENSITIVE_FILE_PATTERNS.some((p) => p.test(name) || p.test(full));
|
|
51
|
+
}
|
|
52
|
+
isBlockedCommand(command) {
|
|
53
|
+
return BLOCKED_COMMAND_PATTERNS.some((p) => p.test(command));
|
|
54
|
+
}
|
|
10
55
|
async execute(toolName, input) {
|
|
11
56
|
switch (toolName) {
|
|
12
57
|
case 'read_file':
|
|
@@ -34,6 +79,9 @@ export class ToolExecutor {
|
|
|
34
79
|
}
|
|
35
80
|
async readFile(filePath) {
|
|
36
81
|
try {
|
|
82
|
+
if (this.isSensitivePath(filePath)) {
|
|
83
|
+
return { content: `Blocked: "${filePath}" is a sensitive file and cannot be read`, isError: true };
|
|
84
|
+
}
|
|
37
85
|
const resolved = this.resolveSafe(filePath);
|
|
38
86
|
const content = await readFile(resolved, 'utf-8');
|
|
39
87
|
const MAX_SIZE = 100 * 1024;
|
|
@@ -51,6 +99,9 @@ export class ToolExecutor {
|
|
|
51
99
|
}
|
|
52
100
|
async writeFile(filePath, content) {
|
|
53
101
|
try {
|
|
102
|
+
if (this.isSensitivePath(filePath)) {
|
|
103
|
+
return { content: `Blocked: "${filePath}" is a sensitive file and cannot be written`, isError: true };
|
|
104
|
+
}
|
|
54
105
|
const resolved = this.resolveSafe(filePath);
|
|
55
106
|
await mkdir(dirname(resolved), { recursive: true });
|
|
56
107
|
await writeFile(resolved, content, 'utf-8');
|
|
@@ -62,6 +113,9 @@ export class ToolExecutor {
|
|
|
62
113
|
}
|
|
63
114
|
async editFile(filePath, oldString, newString) {
|
|
64
115
|
try {
|
|
116
|
+
if (this.isSensitivePath(filePath)) {
|
|
117
|
+
return { content: `Blocked: "${filePath}" is a sensitive file and cannot be edited`, isError: true };
|
|
118
|
+
}
|
|
65
119
|
const resolved = this.resolveSafe(filePath);
|
|
66
120
|
const content = await readFile(resolved, 'utf-8');
|
|
67
121
|
const occurrences = content.split(oldString).length - 1;
|
|
@@ -164,6 +218,9 @@ export class ToolExecutor {
|
|
|
164
218
|
return files;
|
|
165
219
|
}
|
|
166
220
|
async runCommand(command, timeoutMs) {
|
|
221
|
+
if (this.isBlockedCommand(command)) {
|
|
222
|
+
return { content: 'Blocked: this command accesses secrets, credentials, or sensitive data', isError: true };
|
|
223
|
+
}
|
|
167
224
|
const timeout = Math.min(timeoutMs || 30_000, 120_000);
|
|
168
225
|
return new Promise((resolve) => {
|
|
169
226
|
const child = exec(command, { cwd: this.cwd, timeout, maxBuffer: 1024 * 1024 }, (error, stdout, stderr) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/tools/tool-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/src/ui/welcome.js
CHANGED