repoburg 1.3.10 → 1.3.11
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/backend/dist/src/llm-orchestration/action-handlers/action-handler.interface.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.js +35 -0
- package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js +48 -0
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js +21 -0
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/dto/howto.args.dto.d.ts +2 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/howto.args.dto.js +7 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/howto.args.dto.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.js +55 -0
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/final.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/final.handler.js +20 -0
- package/backend/dist/src/llm-orchestration/action-handlers/final.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.d.ts +9 -0
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.js +85 -0
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.js +21 -0
- package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js +105 -0
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js +53 -0
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js +30 -0
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js +45 -0
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.js +29 -0
- package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/llm-orchestration.module.js +4 -2
- package/backend/dist/src/llm-orchestration/llm-orchestration.module.js.map +1 -1
- package/backend/dist/src/seeding/data/custom-snippets/eta-for.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-for.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-for.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-if.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-if.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-if.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-ifelse.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-ifelse.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-ifelse.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-mcp.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-mcp.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-mcp.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-tools.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-tools.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-tools.js.map +1 -0
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.d.ts +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js +1 -1
- package/backend/dist/src/seeding/data/system-prompts/experimental_eta_master-agent.d.ts +2 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_eta_master-agent.js +62 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_eta_master-agent.js.map +1 -0
- package/backend/dist/src/system-prompts/dto/system-prompt.dto.d.ts +6 -0
- package/backend/dist/src/system-prompts/dto/system-prompt.dto.js +12 -1
- package/backend/dist/src/system-prompts/dto/system-prompt.dto.js.map +1 -1
- package/backend/dist/src/system-prompts/system-prompts.controller.d.ts +3 -1
- package/backend/dist/src/system-prompts/system-prompts.controller.js +20 -0
- package/backend/dist/src/system-prompts/system-prompts.controller.js.map +1 -1
- package/backend/dist/src/system-prompts/system-prompts.module.js +11 -1
- package/backend/dist/src/system-prompts/system-prompts.module.js.map +1 -1
- package/backend/dist/src/system-prompts/system-prompts.service.d.ts +11 -3
- package/backend/dist/src/system-prompts/system-prompts.service.js +39 -12
- package/backend/dist/src/system-prompts/system-prompts.service.js.map +1 -1
- package/backend/dist/src/utils/ai-format-generator.d.ts +1 -0
- package/backend/dist/src/utils/ai-format-generator.js +23 -0
- package/backend/dist/src/utils/ai-format-generator.js.map +1 -0
- package/backend/dist/src/utils/index.d.ts +1 -0
- package/backend/dist/src/utils/index.js +1 -0
- package/backend/dist/src/utils/index.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
|
|
2
2
|
export interface ActionHandler {
|
|
3
3
|
readonly toolName: string;
|
|
4
|
+
getDefinition(): string;
|
|
4
5
|
execute(args: {
|
|
5
6
|
[key: string]: any;
|
|
6
7
|
}, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
@@ -15,12 +15,47 @@ const class_transformer_1 = require("class-transformer");
|
|
|
15
15
|
const class_validator_1 = require("class-validator");
|
|
16
16
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
17
17
|
const apply_diff_args_dto_1 = require("./dto/apply-diff.args.dto");
|
|
18
|
+
const utils_1 = require("../../utils");
|
|
18
19
|
let ApplyDiffHandler = ApplyDiffHandler_1 = class ApplyDiffHandler {
|
|
19
20
|
constructor() {
|
|
20
21
|
this.toolName = 'apply_diff';
|
|
21
22
|
this.logger = new common_1.Logger(ApplyDiffHandler_1.name);
|
|
22
23
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
23
24
|
}
|
|
25
|
+
getDefinition() {
|
|
26
|
+
const examplePatch = `
|
|
27
|
+
@2,2c|ANCHOR=console.log('Hello, world!');
|
|
28
|
+
console.log('Hello, Repoburg!');
|
|
29
|
+
@5,7d|ANCHOR=function farewell() {
|
|
30
|
+
`.trim();
|
|
31
|
+
const example = (0, utils_1.generateToolCall)({
|
|
32
|
+
tool_name: this.toolName,
|
|
33
|
+
file_path: 'src/example.js',
|
|
34
|
+
patch: examplePatch,
|
|
35
|
+
});
|
|
36
|
+
const definition = `
|
|
37
|
+
<${this.toolName}>
|
|
38
|
+
Applies a patch to a file using a line-based diff format with anchor validation.
|
|
39
|
+
NOTE: This is a legacy tool. Prefer using the more robust 'patch' tool for all modifications.
|
|
40
|
+
|
|
41
|
+
The patch format uses commands starting with '@' to specify changes.
|
|
42
|
+
Command syntax: \`@<start_line>,<end_line><operation>|ANCHOR=<substring>\`
|
|
43
|
+
- <start_line>,<end_line>: 1-based line numbers.
|
|
44
|
+
- <operation>: 'a' (add after), 'c' (change), 'd' (delete).
|
|
45
|
+
- |ANCHOR=<substring>: A mandatory substring that must be present on the <start_line> to validate the change.
|
|
46
|
+
|
|
47
|
+
Parameters:
|
|
48
|
+
- "file_path": (string) The relative path to the file to be modified.
|
|
49
|
+
- "patch": (string) A string containing one or more diff commands with anchors.
|
|
50
|
+
|
|
51
|
+
<example>
|
|
52
|
+
Explanation: This patch changes line 2 and deletes lines 5-7 from 'src/example.js'.
|
|
53
|
+
${example}
|
|
54
|
+
</example>
|
|
55
|
+
</${this.toolName}>
|
|
56
|
+
`;
|
|
57
|
+
return definition.trim();
|
|
58
|
+
}
|
|
24
59
|
resolveAndValidatePath(unsafePath) {
|
|
25
60
|
const normalizedPath = path.normalize(unsafePath);
|
|
26
61
|
if (path.isAbsolute(normalizedPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-diff.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/apply-diff.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAM3C,iFAA4E;AAC5E,mEAA6D;
|
|
1
|
+
{"version":3,"file":"apply-diff.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/apply-diff.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,60 @@ const class_transformer_1 = require("class-transformer");
|
|
|
15
15
|
const class_validator_1 = require("class-validator");
|
|
16
16
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
17
17
|
const create_file_args_dto_1 = require("./dto/create-file.args.dto");
|
|
18
|
+
const utils_1 = require("../../utils");
|
|
18
19
|
let CreateFileHandler = CreateFileHandler_1 = class CreateFileHandler {
|
|
19
20
|
constructor() {
|
|
20
21
|
this.toolName = 'create_file';
|
|
21
22
|
this.logger = new common_1.Logger(CreateFileHandler_1.name);
|
|
22
23
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
23
24
|
}
|
|
25
|
+
getDefinition() {
|
|
26
|
+
const exampleContent = `\`\`\`typescript
|
|
27
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
28
|
+
|
|
29
|
+
export interface UserProfile {
|
|
30
|
+
id: string;
|
|
31
|
+
username: string;
|
|
32
|
+
email: string;
|
|
33
|
+
createdAt: Date;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Creates a new user profile with a unique ID and creation date.
|
|
38
|
+
* @param username The user's chosen username.
|
|
39
|
+
* @param email The user's email address.
|
|
40
|
+
* @returns A new UserProfile object.
|
|
41
|
+
*/
|
|
42
|
+
export function createProfile(username: string, email: string): UserProfile {
|
|
43
|
+
return {
|
|
44
|
+
id: uuidv4(),
|
|
45
|
+
username,
|
|
46
|
+
email,
|
|
47
|
+
createdAt: new Date(),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
\`\`\``.trim();
|
|
51
|
+
const example = (0, utils_1.generateToolCall)({
|
|
52
|
+
tool_name: this.toolName,
|
|
53
|
+
file_path: 'src/modules/users/profiles.util.ts',
|
|
54
|
+
content: exampleContent,
|
|
55
|
+
});
|
|
56
|
+
const definition = `
|
|
57
|
+
<${this.toolName}>
|
|
58
|
+
Creates a new file with the specified content. It will create any necessary parent directories.
|
|
59
|
+
|
|
60
|
+
Parameters:
|
|
61
|
+
- "file_path": (string) The relative path for the new file.
|
|
62
|
+
- "content": (string) The full content of the new file.
|
|
63
|
+
|
|
64
|
+
<example>
|
|
65
|
+
Explanation: Create a new utility file for creating user profiles.
|
|
66
|
+
${example}
|
|
67
|
+
</example>
|
|
68
|
+
</${this.toolName}>
|
|
69
|
+
`;
|
|
70
|
+
return definition.trim();
|
|
71
|
+
}
|
|
24
72
|
resolveAndValidatePath(unsafePath) {
|
|
25
73
|
const normalizedPath = path.normalize(unsafePath);
|
|
26
74
|
if (path.isAbsolute(normalizedPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-file.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/create-file.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAM3C,iFAA4E;AAC5E,qEAA+D;
|
|
1
|
+
{"version":3,"file":"create-file.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/create-file.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,12 +15,33 @@ const class_transformer_1 = require("class-transformer");
|
|
|
15
15
|
const class_validator_1 = require("class-validator");
|
|
16
16
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
17
17
|
const delete_file_args_dto_1 = require("./dto/delete-file.args.dto");
|
|
18
|
+
const utils_1 = require("../../utils");
|
|
18
19
|
let DeleteFileHandler = DeleteFileHandler_1 = class DeleteFileHandler {
|
|
19
20
|
constructor() {
|
|
20
21
|
this.toolName = 'delete_file';
|
|
21
22
|
this.logger = new common_1.Logger(DeleteFileHandler_1.name);
|
|
22
23
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
23
24
|
}
|
|
25
|
+
getDefinition() {
|
|
26
|
+
const example = (0, utils_1.generateToolCall)({
|
|
27
|
+
tool_name: this.toolName,
|
|
28
|
+
file_path: 'src/legacy/old-api-client.js',
|
|
29
|
+
});
|
|
30
|
+
const definition = `
|
|
31
|
+
<${this.toolName}>
|
|
32
|
+
Deletes a file from the filesystem.
|
|
33
|
+
|
|
34
|
+
Parameters:
|
|
35
|
+
- "file_path": (string) The relative path of the file to delete.
|
|
36
|
+
|
|
37
|
+
<example>
|
|
38
|
+
Explanation: Remove the old, unused 'legacy.js' file.
|
|
39
|
+
${example}
|
|
40
|
+
</example>
|
|
41
|
+
</${this.toolName}>
|
|
42
|
+
`;
|
|
43
|
+
return definition.trim();
|
|
44
|
+
}
|
|
24
45
|
resolveAndValidatePath(unsafePath) {
|
|
25
46
|
const normalizedPath = path.normalize(unsafePath);
|
|
26
47
|
if (path.isAbsolute(normalizedPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-file.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/delete-file.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAM3C,iFAA4E;AAC5E,qEAA+D;
|
|
1
|
+
{"version":3,"file":"delete-file.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/delete-file.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"howto.args.dto.js","sourceRoot":"","sources":["../../../../../src/llm-orchestration/action-handlers/dto/howto.args.dto.ts"],"names":[],"mappings":";;;AACA,MAAa,YAAY;CAAG;AAA5B,oCAA4B"}
|
|
@@ -15,12 +15,67 @@ const class_transformer_1 = require("class-transformer");
|
|
|
15
15
|
const class_validator_1 = require("class-validator");
|
|
16
16
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
17
17
|
const edit_file_args_dto_1 = require("./dto/edit-file.args.dto");
|
|
18
|
+
const utils_1 = require("../../utils");
|
|
18
19
|
let EditFileHandler = EditFileHandler_1 = class EditFileHandler {
|
|
19
20
|
constructor() {
|
|
20
21
|
this.toolName = 'edit_file';
|
|
21
22
|
this.logger = new common_1.Logger(EditFileHandler_1.name);
|
|
22
23
|
this.projectRoot = process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
23
24
|
}
|
|
25
|
+
getDefinition() {
|
|
26
|
+
const exampleContent = `\`\`\`typescript
|
|
27
|
+
/**
|
|
28
|
+
* Global application configuration.
|
|
29
|
+
*/
|
|
30
|
+
export const AppConfig = Object.freeze({
|
|
31
|
+
// Feature flags
|
|
32
|
+
ENABLE_ANALYTICS: process.env.NODE_ENV === 'production',
|
|
33
|
+
ENABLE_FEATURE_X: true,
|
|
34
|
+
|
|
35
|
+
// API endpoints
|
|
36
|
+
API_BASE_URL: process.env.API_URL || 'https://api.example.com',
|
|
37
|
+
API_TIMEOUT: parseInt(process.env.API_TIMEOUT || '5000', 10),
|
|
38
|
+
|
|
39
|
+
// Third-party service keys
|
|
40
|
+
SENTRY_DSN: process.env.SENTRY_DSN,
|
|
41
|
+
});
|
|
42
|
+
\`\`\``.trim();
|
|
43
|
+
const example = (0, utils_1.generateToolCall)({
|
|
44
|
+
tool_name: this.toolName,
|
|
45
|
+
file_path: 'src/config/app.config.ts',
|
|
46
|
+
content: exampleContent,
|
|
47
|
+
});
|
|
48
|
+
const badExampleContent = `\`\`\`typescript
|
|
49
|
+
// This is wrong! Only a partial snippet is provided.
|
|
50
|
+
NEW_API_KEY: 'ABC-123',
|
|
51
|
+
\`\`\``.trim();
|
|
52
|
+
const badExample = (0, utils_1.generateToolCall)({
|
|
53
|
+
tool_name: this.toolName,
|
|
54
|
+
file_path: 'src/config/app.config.ts',
|
|
55
|
+
content: badExampleContent,
|
|
56
|
+
});
|
|
57
|
+
const definition = `
|
|
58
|
+
<${this.toolName}>
|
|
59
|
+
Overwrites an existing file with new content. This is a destructive operation that replaces the **entire file**.
|
|
60
|
+
You MUST provide the full, final content of the file.
|
|
61
|
+
|
|
62
|
+
Parameters:
|
|
63
|
+
- "file_path": (string) The relative path to the file to be overwritten.
|
|
64
|
+
- "content": (string) The new, complete content for the file.
|
|
65
|
+
|
|
66
|
+
<example>
|
|
67
|
+
Explanation: Refactor the entire 'app.config.ts' to a new, more structured format.
|
|
68
|
+
${example}
|
|
69
|
+
</example>
|
|
70
|
+
|
|
71
|
+
<bad_example>
|
|
72
|
+
Explanation: This is an incorrect use case. The 'content' field only contains a small snippet, not the entire file. This tool would wipe the original file and replace it with only the new lines, which is not the intended outcome.
|
|
73
|
+
${badExample}
|
|
74
|
+
</bad_example>
|
|
75
|
+
</${this.toolName}>
|
|
76
|
+
`;
|
|
77
|
+
return definition.trim();
|
|
78
|
+
}
|
|
24
79
|
resolveAndValidatePath(unsafePath) {
|
|
25
80
|
const normalizedPath = path.normalize(unsafePath);
|
|
26
81
|
if (path.isAbsolute(normalizedPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-file.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/edit-file.handler.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAKwB;AACxB,kCAAkC;AAClC,6BAA6B;AAC7B,yDAAiD;AACjD,qDAA2C;AAM3C,iFAA4E;AAC5E,iEAA2D;
|
|
1
|
+
{"version":3,"file":"edit-file.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/edit-file.handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { ActionHandler } from './action-handler.interface';
|
|
|
2
2
|
import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
|
|
3
3
|
export declare class FinalHandler implements ActionHandler {
|
|
4
4
|
readonly toolName = "final";
|
|
5
|
+
getDefinition(): string;
|
|
5
6
|
execute(args: {
|
|
6
7
|
[key: string]: any;
|
|
7
8
|
}, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
@@ -12,10 +12,30 @@ const final_args_dto_1 = require("./dto/final.args.dto");
|
|
|
12
12
|
const class_transformer_1 = require("class-transformer");
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
15
|
+
const utils_1 = require("../../utils");
|
|
15
16
|
let FinalHandler = class FinalHandler {
|
|
16
17
|
constructor() {
|
|
17
18
|
this.toolName = 'final';
|
|
18
19
|
}
|
|
20
|
+
getDefinition() {
|
|
21
|
+
const example = (0, utils_1.generateToolCall)({
|
|
22
|
+
tool_name: this.toolName,
|
|
23
|
+
plain: 'The task is complete. I have refactored the component and added the new feature.',
|
|
24
|
+
});
|
|
25
|
+
const definition = `
|
|
26
|
+
<${this.toolName}>
|
|
27
|
+
Marks the end of a plan. This should be the last action in a sequence when the task is complete.
|
|
28
|
+
|
|
29
|
+
Parameters:
|
|
30
|
+
- "plain": (string, optional) A final concluding message or summary for the user.
|
|
31
|
+
|
|
32
|
+
<example>
|
|
33
|
+
${example}
|
|
34
|
+
</example>
|
|
35
|
+
</${this.toolName}>
|
|
36
|
+
`;
|
|
37
|
+
return definition.trim();
|
|
38
|
+
}
|
|
19
39
|
async execute(args, context) {
|
|
20
40
|
const validatedArgs = (0, class_transformer_1.plainToClass)(final_args_dto_1.FinalArgsDto, args);
|
|
21
41
|
const errors = await (0, class_validator_1.validate)(validatedArgs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/final.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAM5C,yDAAoD;AACpD,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;
|
|
1
|
+
{"version":3,"file":"final.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/final.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAM5C,yDAAoD;AACpD,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;AAGxC,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACI,aAAQ,GAAG,OAAO,CAAC;IA6C9B,CAAC;IA3CC,aAAa;QACX,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,KAAK,EACH,kFAAkF;SACrF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;GACpB,IAAI,CAAC,QAAQ;;;;;;;EAOd,OAAO;;IAEL,IAAI,CAAC,QAAQ;CAChB,CAAC;QACE,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAC5B,OAA6B;QAE7B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,6BAAY,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM;iBACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,iDAAsB,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QAE9B,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,uBAAuB;YAChC,cAAc,EAAE,aAAa;SAC9B,CAAC;IACJ,CAAC;CACF,CAAA;AA9CY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CA8CxB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ActionHandler } from './action-handler.interface';
|
|
2
|
+
import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
|
|
3
|
+
export declare class HowtoHandler implements ActionHandler {
|
|
4
|
+
readonly toolName = "howto";
|
|
5
|
+
getDefinition(): string;
|
|
6
|
+
execute(args: {
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}, _context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.HowtoHandler = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const utils_1 = require("../../utils");
|
|
12
|
+
const howto_args_dto_1 = require("./dto/howto.args.dto");
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const parsing_constants_1 = require("../parser/parsing.constants");
|
|
16
|
+
let HowtoHandler = class HowtoHandler {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.toolName = 'howto';
|
|
19
|
+
}
|
|
20
|
+
getDefinition() {
|
|
21
|
+
const singleToolExample = (0, utils_1.generateToolCall)({
|
|
22
|
+
tool_name: 'do_something',
|
|
23
|
+
target_file: 'src/components/Component.tsx',
|
|
24
|
+
reason: 'Refactoring the component to use the new API.',
|
|
25
|
+
});
|
|
26
|
+
const batchExample = [
|
|
27
|
+
(0, utils_1.generateToolCall)({
|
|
28
|
+
tool_name: 'tool1',
|
|
29
|
+
argA: 'value for tool 1',
|
|
30
|
+
argB: 'another value',
|
|
31
|
+
}),
|
|
32
|
+
(0, utils_1.generateToolCall)({
|
|
33
|
+
tool_name: 'tool2',
|
|
34
|
+
target_path: 'src/modules/some-feature/file.ts',
|
|
35
|
+
mode: 'read-only',
|
|
36
|
+
}),
|
|
37
|
+
(0, utils_1.generateToolCall)({
|
|
38
|
+
tool_name: 'tool3',
|
|
39
|
+
config_option: 'enable_feature_x',
|
|
40
|
+
value: true,
|
|
41
|
+
}),
|
|
42
|
+
(0, utils_1.generateToolCall)({
|
|
43
|
+
tool_name: 'tool1',
|
|
44
|
+
argA: 'a different value for tool 1',
|
|
45
|
+
argB: 'yet another value',
|
|
46
|
+
}),
|
|
47
|
+
].join('\n---\n');
|
|
48
|
+
const definition = `
|
|
49
|
+
<${this.toolName}>
|
|
50
|
+
This is a guide on how to structure tool calls. It is not an executable tool itself.
|
|
51
|
+
|
|
52
|
+
Each action must be wrapped in \`${parsing_constants_1.ACTION_ITEM_START_TAG}\` and \`${parsing_constants_1.ACTION_ITEM_END_TAG}\` tags.
|
|
53
|
+
Fields are defined using the \`${parsing_constants_1.SPECIAL_FIELD_TOKEN}\` delimiter (e.g., \`${parsing_constants_1.SPECIAL_FIELD_TOKEN}field_name${parsing_constants_1.SPECIAL_FIELD_TOKEN} value\`).
|
|
54
|
+
The \`${parsing_constants_1.SPECIAL_FIELD_TOKEN}${parsing_constants_1.FIELD_TOOL_NAME}${parsing_constants_1.SPECIAL_FIELD_TOKEN}\` field is mandatory for all tools. Other arguments are tool-specific.
|
|
55
|
+
|
|
56
|
+
## Single Tool Call
|
|
57
|
+
|
|
58
|
+
Each tool call must be enclosed in its own action item block. The tool name is mandatory, followed by its arguments.
|
|
59
|
+
|
|
60
|
+
<example>
|
|
61
|
+
${singleToolExample}
|
|
62
|
+
</example>
|
|
63
|
+
|
|
64
|
+
## Parallel (Batch) Tool Calls
|
|
65
|
+
|
|
66
|
+
To execute multiple tools in parallel, define multiple action items back-to-back, separated by '---'. The system will execute compatible, non-conflicting actions concurrently.
|
|
67
|
+
|
|
68
|
+
<example>
|
|
69
|
+
${batchExample}
|
|
70
|
+
</example>
|
|
71
|
+
</${this.toolName}>
|
|
72
|
+
`;
|
|
73
|
+
return definition.trim();
|
|
74
|
+
}
|
|
75
|
+
async execute(args, _context) {
|
|
76
|
+
const validatedArgs = (0, class_transformer_1.plainToClass)(howto_args_dto_1.HowtoArgsDto, args);
|
|
77
|
+
await (0, class_validator_1.validate)(validatedArgs);
|
|
78
|
+
throw new common_1.BadRequestException(`'${this.toolName}' is a documentation placeholder and not an executable tool.`);
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
exports.HowtoHandler = HowtoHandler;
|
|
82
|
+
exports.HowtoHandler = HowtoHandler = __decorate([
|
|
83
|
+
(0, common_1.Injectable)()
|
|
84
|
+
], HowtoHandler);
|
|
85
|
+
//# sourceMappingURL=howto.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"howto.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/howto.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAiE;AAMjE,uCAA+C;AAC/C,yDAAoD;AACpD,yDAAiD;AACjD,qDAA2C;AAC3C,mEAKqC;AAG9B,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACI,aAAQ,GAAG,OAAO,CAAC;IA0E9B,CAAC;IAxEC,aAAa;QACX,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC;YACzC,SAAS,EAAE,cAAc;YACzB,WAAW,EAAE,8BAA8B;YAC3C,MAAM,EAAE,+CAA+C;SACxD,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG;YACnB,IAAA,wBAAgB,EAAC;gBACf,SAAS,EAAE,OAAO;gBAClB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,eAAe;aACtB,CAAC;YACF,IAAA,wBAAgB,EAAC;gBACf,SAAS,EAAE,OAAO;gBAClB,WAAW,EAAE,kCAAkC;gBAC/C,IAAI,EAAE,WAAW;aAClB,CAAC;YACF,IAAA,wBAAgB,EAAC;gBACf,SAAS,EAAE,OAAO;gBAClB,aAAa,EAAE,kBAAkB;gBACjC,KAAK,EAAE,IAAI;aACZ,CAAC;YACF,IAAA,wBAAgB,EAAC;gBACf,SAAS,EAAE,OAAO;gBAClB,IAAI,EAAE,8BAA8B;gBACpC,IAAI,EAAE,mBAAmB;aAC1B,CAAC;SACH,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAElB,MAAM,UAAU,GAAG;GACpB,IAAI,CAAC,QAAQ;;;qCAGqB,yCAAqB,YAAY,uCAAmB;mCACtD,uCAAmB,yBAAyB,uCAAmB,aAAa,uCAAmB;UACxH,uCAAmB,GAAG,mCAAe,GAAG,uCAAmB;;;;;;;EAOnE,iBAAiB;;;;;;;;EAQjB,YAAY;;IAEV,IAAI,CAAC,QAAQ;CAChB,CAAC;QACE,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAE5B,QAA8B;QAG9B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,6BAAY,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,IAAA,0BAAQ,EAAC,aAAa,CAAC,CAAC;QAG9B,MAAM,IAAI,4BAAmB,CAC3B,IAAI,IAAI,CAAC,QAAQ,8DAA8D,CAChF,CAAC;IACJ,CAAC;CACF,CAAA;AA3EY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CA2ExB"}
|
|
@@ -2,6 +2,7 @@ import { ActionHandler } from './action-handler.interface';
|
|
|
2
2
|
import { ActionExecutionResult, PlanExecutionContext } from '../llm-orchestration.interfaces';
|
|
3
3
|
export declare class NewSessionHandler implements ActionHandler {
|
|
4
4
|
readonly toolName = "new_session";
|
|
5
|
+
getDefinition(): string;
|
|
5
6
|
execute(args: {
|
|
6
7
|
[key: string]: any;
|
|
7
8
|
}, context: PlanExecutionContext): Promise<ActionExecutionResult>;
|
|
@@ -12,10 +12,31 @@ const new_session_args_dto_1 = require("./dto/new-session.args.dto");
|
|
|
12
12
|
const class_transformer_1 = require("class-transformer");
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const handler_validation_error_1 = require("../errors/handler-validation.error");
|
|
15
|
+
const utils_1 = require("../../utils");
|
|
15
16
|
let NewSessionHandler = class NewSessionHandler {
|
|
16
17
|
constructor() {
|
|
17
18
|
this.toolName = 'new_session';
|
|
18
19
|
}
|
|
20
|
+
getDefinition() {
|
|
21
|
+
const example = (0, utils_1.generateToolCall)({
|
|
22
|
+
tool_name: this.toolName,
|
|
23
|
+
handover_string: 'The component has been created. Now, create a new set of unit tests for the component located at `src/components/NewComponent.tsx`. Ensure all props are tested.',
|
|
24
|
+
});
|
|
25
|
+
const definition = `
|
|
26
|
+
<${this.toolName}>
|
|
27
|
+
Used to break down a complex task into a smaller, separate task. It halts the current plan and creates a new session with the provided instructions.
|
|
28
|
+
|
|
29
|
+
Parameters:
|
|
30
|
+
- "handover_string": (string) A clear instruction or prompt for the new session to execute.
|
|
31
|
+
|
|
32
|
+
<example>
|
|
33
|
+
Explanation: After completing a large refactor, this creates a follow-up task to add documentation.
|
|
34
|
+
${example}
|
|
35
|
+
</example>
|
|
36
|
+
</${this.toolName}>
|
|
37
|
+
`;
|
|
38
|
+
return definition.trim();
|
|
39
|
+
}
|
|
19
40
|
async execute(args, context) {
|
|
20
41
|
const validatedArgs = (0, class_transformer_1.plainToClass)(new_session_args_dto_1.NewSessionArgsDto, args);
|
|
21
42
|
const errors = await (0, class_validator_1.validate)(validatedArgs);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"new-session.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/new-session.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAM5C,qEAA+D;AAC/D,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;
|
|
1
|
+
{"version":3,"file":"new-session.handler.js","sourceRoot":"","sources":["../../../../src/llm-orchestration/action-handlers/new-session.handler.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAM5C,qEAA+D;AAC/D,yDAAiD;AACjD,qDAA2C;AAC3C,iFAA4E;AAC5E,uCAA+C;AAGxC,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QACI,aAAQ,GAAG,aAAa,CAAC;IAmDpC,CAAC;IAjDC,aAAa;QACX,MAAM,OAAO,GAAG,IAAA,wBAAgB,EAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,eAAe,EACb,kKAAkK;SACrK,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG;GACpB,IAAI,CAAC,QAAQ;;;;;;;;EAQd,OAAO;;IAEL,IAAI,CAAC,QAAQ;CAChB,CAAC;QACE,OAAO,UAAU,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CACX,IAA4B,EAC5B,OAA6B;QAE7B,MAAM,aAAa,GAAG,IAAA,gCAAY,EAAC,wCAAiB,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAQ,EAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,MAAM;iBACzB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,iDAAsB,CAAC,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;QAC1C,OAAO,CAAC,cAAc,GAAG;YACvB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE;SACzD,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,mCAAmC;YAC5C,cAAc,EAAE,aAAa;SAC9B,CAAC;IACJ,CAAC;CACF,CAAA;AApDY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAoD7B"}
|