@diff-review-system/drs 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.opencode/tools/drs_skill.ts +67 -0
- package/dist/ci/runner.d.ts.map +1 -1
- package/dist/ci/runner.js +1 -0
- package/dist/ci/runner.js.map +1 -1
- package/dist/cli/index.js +26 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/review-mr.d.ts +1 -0
- package/dist/cli/review-mr.d.ts.map +1 -1
- package/dist/cli/review-mr.js +1 -0
- package/dist/cli/review-mr.js.map +1 -1
- package/dist/cli/review-pr.d.ts +1 -0
- package/dist/cli/review-pr.d.ts.map +1 -1
- package/dist/cli/review-pr.js +1 -0
- package/dist/cli/review-pr.js.map +1 -1
- package/dist/github/client.d.ts +4 -0
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +10 -0
- package/dist/github/client.js.map +1 -1
- package/dist/github/platform-adapter.d.ts +1 -0
- package/dist/github/platform-adapter.d.ts.map +1 -1
- package/dist/github/platform-adapter.js +4 -0
- package/dist/github/platform-adapter.js.map +1 -1
- package/dist/gitlab/client.d.ts +4 -0
- package/dist/gitlab/client.d.ts.map +1 -1
- package/dist/gitlab/client.js +6 -0
- package/dist/gitlab/client.js.map +1 -1
- package/dist/gitlab/platform-adapter.d.ts +1 -0
- package/dist/gitlab/platform-adapter.d.ts.map +1 -1
- package/dist/gitlab/platform-adapter.js +3 -0
- package/dist/gitlab/platform-adapter.js.map +1 -1
- package/dist/lib/comment-formatter.d.ts +7 -0
- package/dist/lib/comment-formatter.d.ts.map +1 -1
- package/dist/lib/comment-formatter.js +19 -0
- package/dist/lib/comment-formatter.js.map +1 -1
- package/dist/lib/comment-formatter.test.js +27 -1
- package/dist/lib/comment-formatter.test.js.map +1 -1
- package/dist/lib/comment-manager.d.ts +5 -0
- package/dist/lib/comment-manager.d.ts.map +1 -1
- package/dist/lib/comment-manager.js +8 -0
- package/dist/lib/comment-manager.js.map +1 -1
- package/dist/lib/comment-manager.test.js +63 -1
- package/dist/lib/comment-manager.test.js.map +1 -1
- package/dist/lib/config.d.ts +2 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +4 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/context-loader.d.ts +1 -1
- package/dist/lib/context-loader.d.ts.map +1 -1
- package/dist/lib/context-loader.js +7 -1
- package/dist/lib/context-loader.js.map +1 -1
- package/dist/lib/error-comment-poster.d.ts +19 -0
- package/dist/lib/error-comment-poster.d.ts.map +1 -0
- package/dist/lib/error-comment-poster.js +57 -0
- package/dist/lib/error-comment-poster.js.map +1 -0
- package/dist/lib/error-comment-poster.test.d.ts +2 -0
- package/dist/lib/error-comment-poster.test.d.ts.map +1 -0
- package/dist/lib/error-comment-poster.test.js +128 -0
- package/dist/lib/error-comment-poster.test.js.map +1 -0
- package/dist/lib/logger.d.ts +122 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +215 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/platform-client.d.ts +4 -0
- package/dist/lib/platform-client.d.ts.map +1 -1
- package/dist/lib/review-core.d.ts.map +1 -1
- package/dist/lib/review-core.js +89 -2
- package/dist/lib/review-core.js.map +1 -1
- package/dist/lib/review-core.test.js +2 -0
- package/dist/lib/review-core.test.js.map +1 -1
- package/dist/lib/skills-prompt.d.ts +3 -0
- package/dist/lib/skills-prompt.d.ts.map +1 -0
- package/dist/lib/skills-prompt.js +70 -0
- package/dist/lib/skills-prompt.js.map +1 -0
- package/dist/lib/unified-review-executor.d.ts +2 -0
- package/dist/lib/unified-review-executor.d.ts.map +1 -1
- package/dist/lib/unified-review-executor.js +71 -52
- package/dist/lib/unified-review-executor.js.map +1 -1
- package/dist/opencode/client.d.ts +1 -2
- package/dist/opencode/client.d.ts.map +1 -1
- package/dist/opencode/client.js +4 -11
- package/dist/opencode/client.js.map +1 -1
- package/dist/opencode/skill-loader.d.ts +11 -2
- package/dist/opencode/skill-loader.d.ts.map +1 -1
- package/dist/opencode/skill-loader.js +58 -6
- package/dist/opencode/skill-loader.js.map +1 -1
- package/package.json +3 -3
- package/dist/opencode/agent-skill-overlay.d.ts +0 -11
- package/dist/opencode/agent-skill-overlay.d.ts.map +0 -1
- package/dist/opencode/agent-skill-overlay.js +0 -164
- package/dist/opencode/agent-skill-overlay.js.map +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error comment posting utilities for PR/MR reviews
|
|
3
|
+
*
|
|
4
|
+
* This module handles posting and removing error comments when DRS
|
|
5
|
+
* encounters failures during review execution.
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
import { formatErrorComment } from './comment-formatter.js';
|
|
9
|
+
import { ERROR_COMMENT_ID, findExistingErrorComment, } from './comment-manager.js';
|
|
10
|
+
/**
|
|
11
|
+
* Post or update an error comment on a PR/MR
|
|
12
|
+
* Note: Error details are intentionally not included in the comment
|
|
13
|
+
* to avoid exposing sensitive information. Users should check CI/CD logs.
|
|
14
|
+
*/
|
|
15
|
+
export async function postErrorComment(platformClient, projectId, prNumber) {
|
|
16
|
+
console.log(chalk.gray('Posting error comment...\n'));
|
|
17
|
+
// Fetch existing comments to check for existing error comment
|
|
18
|
+
const existingComments = await platformClient.getComments(projectId, prNumber);
|
|
19
|
+
const mappedComments = existingComments.map((c) => ({
|
|
20
|
+
id: c.id,
|
|
21
|
+
body: c.body,
|
|
22
|
+
}));
|
|
23
|
+
const existingError = findExistingErrorComment(mappedComments);
|
|
24
|
+
const errorComment = formatErrorComment(ERROR_COMMENT_ID);
|
|
25
|
+
if (existingError) {
|
|
26
|
+
await platformClient.updateComment(projectId, prNumber, existingError.id, errorComment);
|
|
27
|
+
console.log(chalk.yellow('Updated existing error comment'));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
await platformClient.createComment(projectId, prNumber, errorComment);
|
|
31
|
+
console.log(chalk.yellow('Posted new error comment'));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Remove any existing error comment from a PR/MR
|
|
36
|
+
* Called when a review succeeds after a previous failure
|
|
37
|
+
*/
|
|
38
|
+
export async function removeErrorComment(platformClient, projectId, prNumber) {
|
|
39
|
+
try {
|
|
40
|
+
const existingComments = await platformClient.getComments(projectId, prNumber);
|
|
41
|
+
const mappedComments = existingComments.map((c) => ({
|
|
42
|
+
id: c.id,
|
|
43
|
+
body: c.body,
|
|
44
|
+
}));
|
|
45
|
+
const existingError = findExistingErrorComment(mappedComments);
|
|
46
|
+
if (existingError) {
|
|
47
|
+
await platformClient.deleteComment(projectId, prNumber, existingError.id);
|
|
48
|
+
console.log(chalk.green('Removed previous error comment'));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
// Non-fatal: just log a warning if we can't remove the error comment
|
|
53
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
54
|
+
console.warn(chalk.yellow(`Could not remove previous error comment: ${errorMessage}`));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=error-comment-poster.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-comment-poster.js","sourceRoot":"","sources":["../../src/lib/error-comment-poster.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAG9B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,cAA8B,EAC9B,SAAiB,EACjB,QAAgB;IAEhB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEtD,8DAA8D;IAC9D,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAsB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,CAAC,CAAC,CAAC;IAEJ,MAAM,aAAa,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAE1D,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,cAA8B,EAC9B,SAAiB,EACjB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/E,MAAM,cAAc,GAAsB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACrE,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;SACb,CAAC,CAAC,CAAC;QAEJ,MAAM,aAAa,GAAG,wBAAwB,CAAC,cAAc,CAAC,CAAC;QAE/D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qEAAqE;QACrE,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,YAAY,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-comment-poster.test.d.ts","sourceRoot":"","sources":["../../src/lib/error-comment-poster.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
+
import { postErrorComment, removeErrorComment } from './error-comment-poster.js';
|
|
3
|
+
import { ERROR_COMMENT_ID } from './comment-manager.js';
|
|
4
|
+
// Mock chalk to avoid color output in tests
|
|
5
|
+
vi.mock('chalk', () => ({
|
|
6
|
+
default: {
|
|
7
|
+
gray: (s) => s,
|
|
8
|
+
yellow: (s) => s,
|
|
9
|
+
green: (s) => s,
|
|
10
|
+
},
|
|
11
|
+
}));
|
|
12
|
+
describe('error-comment-poster', () => {
|
|
13
|
+
// Mock platform client
|
|
14
|
+
const createMockPlatformClient = (overrides) => ({
|
|
15
|
+
getPullRequest: vi.fn(),
|
|
16
|
+
getChangedFiles: vi.fn(),
|
|
17
|
+
getComments: vi.fn().mockResolvedValue([]),
|
|
18
|
+
getInlineComments: vi.fn().mockResolvedValue([]),
|
|
19
|
+
createComment: vi.fn().mockResolvedValue(undefined),
|
|
20
|
+
updateComment: vi.fn().mockResolvedValue(undefined),
|
|
21
|
+
deleteComment: vi.fn().mockResolvedValue(undefined),
|
|
22
|
+
createInlineComment: vi.fn(),
|
|
23
|
+
createBulkInlineComments: vi.fn(),
|
|
24
|
+
addLabels: vi.fn(),
|
|
25
|
+
hasLabel: vi.fn(),
|
|
26
|
+
...overrides,
|
|
27
|
+
});
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
vi.clearAllMocks();
|
|
30
|
+
});
|
|
31
|
+
describe('postErrorComment', () => {
|
|
32
|
+
it('should create new error comment when none exists', async () => {
|
|
33
|
+
const mockClient = createMockPlatformClient({
|
|
34
|
+
getComments: vi.fn().mockResolvedValue([]),
|
|
35
|
+
});
|
|
36
|
+
await postErrorComment(mockClient, 'owner/repo', 123);
|
|
37
|
+
expect(mockClient.getComments).toHaveBeenCalledWith('owner/repo', 123);
|
|
38
|
+
expect(mockClient.createComment).toHaveBeenCalledWith('owner/repo', 123, expect.stringContaining(`<!-- drs-comment-id: ${ERROR_COMMENT_ID} -->`));
|
|
39
|
+
expect(mockClient.updateComment).not.toHaveBeenCalled();
|
|
40
|
+
});
|
|
41
|
+
it('should update existing error comment when one exists', async () => {
|
|
42
|
+
const existingErrorComment = {
|
|
43
|
+
id: 42,
|
|
44
|
+
body: `Old error\n<!-- drs-comment-id: ${ERROR_COMMENT_ID} -->`,
|
|
45
|
+
};
|
|
46
|
+
const mockClient = createMockPlatformClient({
|
|
47
|
+
getComments: vi.fn().mockResolvedValue([existingErrorComment]),
|
|
48
|
+
});
|
|
49
|
+
await postErrorComment(mockClient, 'owner/repo', 123);
|
|
50
|
+
expect(mockClient.getComments).toHaveBeenCalledWith('owner/repo', 123);
|
|
51
|
+
expect(mockClient.updateComment).toHaveBeenCalledWith('owner/repo', 123, 42, expect.stringContaining('DRS Review Failed'));
|
|
52
|
+
expect(mockClient.createComment).not.toHaveBeenCalled();
|
|
53
|
+
});
|
|
54
|
+
it('should not update unrelated comments', async () => {
|
|
55
|
+
const otherComments = [
|
|
56
|
+
{ id: 1, body: 'Regular comment' },
|
|
57
|
+
{ id: 2, body: '<!-- drs-comment-id: drs-review-summary -->' },
|
|
58
|
+
];
|
|
59
|
+
const mockClient = createMockPlatformClient({
|
|
60
|
+
getComments: vi.fn().mockResolvedValue(otherComments),
|
|
61
|
+
});
|
|
62
|
+
await postErrorComment(mockClient, 'owner/repo', 123);
|
|
63
|
+
expect(mockClient.createComment).toHaveBeenCalled();
|
|
64
|
+
expect(mockClient.updateComment).not.toHaveBeenCalled();
|
|
65
|
+
});
|
|
66
|
+
it('should include error marker and check logs message in posted comment', async () => {
|
|
67
|
+
const mockClient = createMockPlatformClient();
|
|
68
|
+
await postErrorComment(mockClient, 'project-id', 456);
|
|
69
|
+
const calledBody = mockClient.createComment.mock.calls[0][2];
|
|
70
|
+
expect(calledBody).toContain(`<!-- drs-comment-id: ${ERROR_COMMENT_ID} -->`);
|
|
71
|
+
expect(calledBody).toContain('DRS Review Failed');
|
|
72
|
+
expect(calledBody).toContain('check the CI/CD logs');
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('removeErrorComment', () => {
|
|
76
|
+
it('should delete existing error comment', async () => {
|
|
77
|
+
const existingErrorComment = {
|
|
78
|
+
id: 99,
|
|
79
|
+
body: `Error!\n<!-- drs-comment-id: ${ERROR_COMMENT_ID} -->`,
|
|
80
|
+
};
|
|
81
|
+
const mockClient = createMockPlatformClient({
|
|
82
|
+
getComments: vi.fn().mockResolvedValue([existingErrorComment]),
|
|
83
|
+
});
|
|
84
|
+
await removeErrorComment(mockClient, 'owner/repo', 123);
|
|
85
|
+
expect(mockClient.getComments).toHaveBeenCalledWith('owner/repo', 123);
|
|
86
|
+
expect(mockClient.deleteComment).toHaveBeenCalledWith('owner/repo', 123, 99);
|
|
87
|
+
});
|
|
88
|
+
it('should not delete anything when no error comment exists', async () => {
|
|
89
|
+
const otherComments = [
|
|
90
|
+
{ id: 1, body: 'Regular comment' },
|
|
91
|
+
{ id: 2, body: '<!-- drs-comment-id: drs-review-summary -->' },
|
|
92
|
+
];
|
|
93
|
+
const mockClient = createMockPlatformClient({
|
|
94
|
+
getComments: vi.fn().mockResolvedValue(otherComments),
|
|
95
|
+
});
|
|
96
|
+
await removeErrorComment(mockClient, 'owner/repo', 123);
|
|
97
|
+
expect(mockClient.getComments).toHaveBeenCalledWith('owner/repo', 123);
|
|
98
|
+
expect(mockClient.deleteComment).not.toHaveBeenCalled();
|
|
99
|
+
});
|
|
100
|
+
it('should handle empty comments array', async () => {
|
|
101
|
+
const mockClient = createMockPlatformClient({
|
|
102
|
+
getComments: vi.fn().mockResolvedValue([]),
|
|
103
|
+
});
|
|
104
|
+
await removeErrorComment(mockClient, 'owner/repo', 123);
|
|
105
|
+
expect(mockClient.deleteComment).not.toHaveBeenCalled();
|
|
106
|
+
});
|
|
107
|
+
it('should handle delete failure gracefully', async () => {
|
|
108
|
+
const existingErrorComment = {
|
|
109
|
+
id: 99,
|
|
110
|
+
body: `Error!\n<!-- drs-comment-id: ${ERROR_COMMENT_ID} -->`,
|
|
111
|
+
};
|
|
112
|
+
const mockClient = createMockPlatformClient({
|
|
113
|
+
getComments: vi.fn().mockResolvedValue([existingErrorComment]),
|
|
114
|
+
deleteComment: vi.fn().mockRejectedValue(new Error('Delete failed')),
|
|
115
|
+
});
|
|
116
|
+
// Should not throw
|
|
117
|
+
await expect(removeErrorComment(mockClient, 'owner/repo', 123)).resolves.not.toThrow();
|
|
118
|
+
});
|
|
119
|
+
it('should handle getComments failure gracefully', async () => {
|
|
120
|
+
const mockClient = createMockPlatformClient({
|
|
121
|
+
getComments: vi.fn().mockRejectedValue(new Error('Network error')),
|
|
122
|
+
});
|
|
123
|
+
// Should not throw
|
|
124
|
+
await expect(removeErrorComment(mockClient, 'owner/repo', 123)).resolves.not.toThrow();
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=error-comment-poster.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-comment-poster.test.js","sourceRoot":"","sources":["../../src/lib/error-comment-poster.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD,4CAA4C;AAC5C,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,OAAO,EAAE;QACP,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACtB,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;QACxB,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;KACxB;CACF,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,uBAAuB;IACvB,MAAM,wBAAwB,GAAG,CAAC,SAAmC,EAAkB,EAAE,CAAC,CAAC;QACzF,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE;QACvB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;QACxB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC1C,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACnD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACnD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACnD,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC5B,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;QACjC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;QAClB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACjB,GAAG,SAAS;KACb,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;aAC3C,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAEtD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACnD,YAAY,EACZ,GAAG,EACH,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,gBAAgB,MAAM,CAAC,CACxE,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,oBAAoB,GAAG;gBAC3B,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,mCAAmC,gBAAgB,MAAM;aAChE,CAAC;YAEF,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC;aAC/D,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAEtD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,oBAAoB,CACnD,YAAY,EACZ,GAAG,EACH,EAAE,EACF,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAC7C,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,aAAa,GAAG;gBACpB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAClC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6CAA6C,EAAE;aAC/D,CAAC;YAEF,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC;aACtD,CAAC,CAAC;YAEH,MAAM,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAEtD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACpD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,UAAU,GAAG,wBAAwB,EAAE,CAAC;YAE9C,MAAM,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAI,UAAU,CAAC,aAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,wBAAwB,gBAAgB,MAAM,CAAC,CAAC;YAC7E,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,oBAAoB,GAAG;gBAC3B,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,gCAAgC,gBAAgB,MAAM;aAC7D,CAAC;YAEF,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC;aAC/D,CAAC,CAAC;YAEH,MAAM,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAExD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,aAAa,GAAG;gBACpB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE;gBAClC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,6CAA6C,EAAE;aAC/D,CAAC;YAEF,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC;aACtD,CAAC,CAAC;YAEH,MAAM,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAExD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;aAC3C,CAAC,CAAC;YAEH,MAAM,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YAExD,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,oBAAoB,GAAG;gBAC3B,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,gCAAgC,gBAAgB,MAAM;aAC7D,CAAC;YAEF,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,CAAC;gBAC9D,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;aACrE,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,UAAU,GAAG,wBAAwB,CAAC;gBAC1C,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;aACnE,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured logging utility for DRS
|
|
3
|
+
*
|
|
4
|
+
* Supports both human-readable (colored CLI) and JSON structured output.
|
|
5
|
+
* Provides log levels, context tracking, and consistent formatting.
|
|
6
|
+
*/
|
|
7
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
8
|
+
export type LogFormat = 'human' | 'json';
|
|
9
|
+
export interface LogContext {
|
|
10
|
+
/** Agent type (e.g., 'security', 'unified-reviewer') */
|
|
11
|
+
agent?: string;
|
|
12
|
+
/** Tool name (e.g., 'drs_skill', 'write_json_output') */
|
|
13
|
+
tool?: string;
|
|
14
|
+
/** Skill name if applicable */
|
|
15
|
+
skill?: string;
|
|
16
|
+
/** Session ID */
|
|
17
|
+
sessionId?: string;
|
|
18
|
+
/** Additional metadata */
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
export interface LogEntry {
|
|
22
|
+
timestamp: string;
|
|
23
|
+
level: LogLevel;
|
|
24
|
+
message: string;
|
|
25
|
+
context?: LogContext;
|
|
26
|
+
data?: unknown;
|
|
27
|
+
}
|
|
28
|
+
interface LoggerOptions {
|
|
29
|
+
/** Minimum log level to output */
|
|
30
|
+
level: LogLevel;
|
|
31
|
+
/** Output format */
|
|
32
|
+
format: LogFormat;
|
|
33
|
+
/** Include timestamps in output */
|
|
34
|
+
timestamps: boolean;
|
|
35
|
+
/** Enable colored output (human format only) */
|
|
36
|
+
colors: boolean;
|
|
37
|
+
}
|
|
38
|
+
declare class Logger {
|
|
39
|
+
private options;
|
|
40
|
+
private defaultContext;
|
|
41
|
+
constructor(options?: Partial<LoggerOptions>);
|
|
42
|
+
/**
|
|
43
|
+
* Set the minimum log level
|
|
44
|
+
*/
|
|
45
|
+
setLevel(level: LogLevel): void;
|
|
46
|
+
/**
|
|
47
|
+
* Set the output format
|
|
48
|
+
*/
|
|
49
|
+
setFormat(format: LogFormat): void;
|
|
50
|
+
/**
|
|
51
|
+
* Enable or disable timestamps
|
|
52
|
+
*/
|
|
53
|
+
setTimestamps(enabled: boolean): void;
|
|
54
|
+
/**
|
|
55
|
+
* Set default context that will be included in all log entries
|
|
56
|
+
*/
|
|
57
|
+
setDefaultContext(context: LogContext): void;
|
|
58
|
+
/**
|
|
59
|
+
* Create a child logger with additional default context
|
|
60
|
+
*/
|
|
61
|
+
child(context: LogContext): Logger;
|
|
62
|
+
/**
|
|
63
|
+
* Check if a log level should be output
|
|
64
|
+
*/
|
|
65
|
+
private shouldLog;
|
|
66
|
+
/**
|
|
67
|
+
* Format and output a log entry
|
|
68
|
+
*/
|
|
69
|
+
private log;
|
|
70
|
+
/**
|
|
71
|
+
* Output as JSON (structured logging)
|
|
72
|
+
*/
|
|
73
|
+
private outputJson;
|
|
74
|
+
/**
|
|
75
|
+
* Output as human-readable (colored CLI)
|
|
76
|
+
*/
|
|
77
|
+
private outputHuman;
|
|
78
|
+
debug(message: string, context?: LogContext, data?: unknown): void;
|
|
79
|
+
info(message: string, context?: LogContext, data?: unknown): void;
|
|
80
|
+
warn(message: string, context?: LogContext, data?: unknown): void;
|
|
81
|
+
error(message: string, context?: LogContext, data?: unknown): void;
|
|
82
|
+
/**
|
|
83
|
+
* Log a skill tool call
|
|
84
|
+
*/
|
|
85
|
+
skillLoaded(skillName: string, agent: string, metadata?: Record<string, unknown>): void;
|
|
86
|
+
/**
|
|
87
|
+
* Log a tool output
|
|
88
|
+
*/
|
|
89
|
+
toolOutput(toolName: string, agent: string, output: string): void;
|
|
90
|
+
/**
|
|
91
|
+
* Log agent message
|
|
92
|
+
*/
|
|
93
|
+
agentMessage(agent: string, content: string): void;
|
|
94
|
+
/**
|
|
95
|
+
* Log start of agent review
|
|
96
|
+
*/
|
|
97
|
+
agentStart(agent: string): void;
|
|
98
|
+
/**
|
|
99
|
+
* Log end of agent review
|
|
100
|
+
*/
|
|
101
|
+
agentComplete(agent: string, issueCount: number): void;
|
|
102
|
+
/**
|
|
103
|
+
* Log missing skill call warning
|
|
104
|
+
*/
|
|
105
|
+
noSkillCalls(agent: string): void;
|
|
106
|
+
}
|
|
107
|
+
declare let defaultLogger: Logger;
|
|
108
|
+
/**
|
|
109
|
+
* Configure the default logger
|
|
110
|
+
*/
|
|
111
|
+
export declare function configureLogger(options: Partial<LoggerOptions>): void;
|
|
112
|
+
/**
|
|
113
|
+
* Get the default logger instance
|
|
114
|
+
*/
|
|
115
|
+
export declare function getLogger(): Logger;
|
|
116
|
+
/**
|
|
117
|
+
* Create a new logger with specific options
|
|
118
|
+
*/
|
|
119
|
+
export declare function createLogger(options?: Partial<LoggerOptions>): Logger;
|
|
120
|
+
export { Logger };
|
|
121
|
+
export default defaultLogger;
|
|
122
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured logging utility for DRS
|
|
3
|
+
*
|
|
4
|
+
* Supports both human-readable (colored CLI) and JSON structured output.
|
|
5
|
+
* Provides log levels, context tracking, and consistent formatting.
|
|
6
|
+
*/
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
const LOG_LEVEL_ORDER = {
|
|
9
|
+
debug: 0,
|
|
10
|
+
info: 1,
|
|
11
|
+
warn: 2,
|
|
12
|
+
error: 3,
|
|
13
|
+
};
|
|
14
|
+
const LOG_LEVEL_COLORS = {
|
|
15
|
+
debug: chalk.gray,
|
|
16
|
+
info: chalk.cyan,
|
|
17
|
+
warn: chalk.yellow,
|
|
18
|
+
error: chalk.red,
|
|
19
|
+
};
|
|
20
|
+
const LOG_LEVEL_ICONS = {
|
|
21
|
+
debug: '🔍',
|
|
22
|
+
info: 'ℹ️',
|
|
23
|
+
warn: '⚠️',
|
|
24
|
+
error: '❌',
|
|
25
|
+
};
|
|
26
|
+
class Logger {
|
|
27
|
+
options;
|
|
28
|
+
defaultContext = {};
|
|
29
|
+
constructor(options = {}) {
|
|
30
|
+
this.options = {
|
|
31
|
+
level: options.level ?? 'info',
|
|
32
|
+
format: options.format ?? 'human',
|
|
33
|
+
timestamps: options.timestamps ?? false,
|
|
34
|
+
colors: options.colors ?? true,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Set the minimum log level
|
|
39
|
+
*/
|
|
40
|
+
setLevel(level) {
|
|
41
|
+
this.options.level = level;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Set the output format
|
|
45
|
+
*/
|
|
46
|
+
setFormat(format) {
|
|
47
|
+
this.options.format = format;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Enable or disable timestamps
|
|
51
|
+
*/
|
|
52
|
+
setTimestamps(enabled) {
|
|
53
|
+
this.options.timestamps = enabled;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Set default context that will be included in all log entries
|
|
57
|
+
*/
|
|
58
|
+
setDefaultContext(context) {
|
|
59
|
+
this.defaultContext = context;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Create a child logger with additional default context
|
|
63
|
+
*/
|
|
64
|
+
child(context) {
|
|
65
|
+
const child = new Logger(this.options);
|
|
66
|
+
child.defaultContext = { ...this.defaultContext, ...context };
|
|
67
|
+
return child;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if a log level should be output
|
|
71
|
+
*/
|
|
72
|
+
shouldLog(level) {
|
|
73
|
+
return LOG_LEVEL_ORDER[level] >= LOG_LEVEL_ORDER[this.options.level];
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Format and output a log entry
|
|
77
|
+
*/
|
|
78
|
+
log(level, message, context, data) {
|
|
79
|
+
if (!this.shouldLog(level)) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const entry = {
|
|
83
|
+
timestamp: new Date().toISOString(),
|
|
84
|
+
level,
|
|
85
|
+
message,
|
|
86
|
+
context: { ...this.defaultContext, ...context },
|
|
87
|
+
data,
|
|
88
|
+
};
|
|
89
|
+
// Remove empty context
|
|
90
|
+
if (entry.context && Object.keys(entry.context).length === 0) {
|
|
91
|
+
delete entry.context;
|
|
92
|
+
}
|
|
93
|
+
if (this.options.format === 'json') {
|
|
94
|
+
this.outputJson(entry);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
this.outputHuman(entry);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Output as JSON (structured logging)
|
|
102
|
+
*/
|
|
103
|
+
outputJson(entry) {
|
|
104
|
+
const output = entry.level === 'error' ? console.error : console.log;
|
|
105
|
+
output(JSON.stringify(entry));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Output as human-readable (colored CLI)
|
|
109
|
+
*/
|
|
110
|
+
outputHuman(entry) {
|
|
111
|
+
const output = entry.level === 'error' ? console.error : console.log;
|
|
112
|
+
const colorFn = this.options.colors ? LOG_LEVEL_COLORS[entry.level] : (s) => s;
|
|
113
|
+
const icon = LOG_LEVEL_ICONS[entry.level];
|
|
114
|
+
let prefix = '';
|
|
115
|
+
// Add timestamp if enabled
|
|
116
|
+
if (this.options.timestamps) {
|
|
117
|
+
prefix += chalk.gray(`[${entry.timestamp}] `);
|
|
118
|
+
}
|
|
119
|
+
// Add context prefix (agent/tool/skill)
|
|
120
|
+
if (entry.context?.agent) {
|
|
121
|
+
prefix += chalk.cyan(`[${entry.context.agent}] `);
|
|
122
|
+
}
|
|
123
|
+
if (entry.context?.tool) {
|
|
124
|
+
prefix += chalk.magenta(`[${entry.context.tool}] `);
|
|
125
|
+
}
|
|
126
|
+
if (entry.context?.skill) {
|
|
127
|
+
prefix += chalk.green(`[skill:${entry.context.skill}] `);
|
|
128
|
+
}
|
|
129
|
+
// Format the message
|
|
130
|
+
const formattedMessage = `${prefix}${icon} ${colorFn(entry.message)}`;
|
|
131
|
+
output(formattedMessage);
|
|
132
|
+
// Output data if present (indented)
|
|
133
|
+
if (entry.data !== undefined) {
|
|
134
|
+
const dataStr = typeof entry.data === 'string' ? entry.data : JSON.stringify(entry.data, null, 2);
|
|
135
|
+
const indentedData = dataStr
|
|
136
|
+
.split('\n')
|
|
137
|
+
.map((line) => ` ${line}`)
|
|
138
|
+
.join('\n');
|
|
139
|
+
output(chalk.gray(indentedData));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Log level methods
|
|
143
|
+
debug(message, context, data) {
|
|
144
|
+
this.log('debug', message, context, data);
|
|
145
|
+
}
|
|
146
|
+
info(message, context, data) {
|
|
147
|
+
this.log('info', message, context, data);
|
|
148
|
+
}
|
|
149
|
+
warn(message, context, data) {
|
|
150
|
+
this.log('warn', message, context, data);
|
|
151
|
+
}
|
|
152
|
+
error(message, context, data) {
|
|
153
|
+
this.log('error', message, context, data);
|
|
154
|
+
}
|
|
155
|
+
// Convenience methods for common patterns
|
|
156
|
+
/**
|
|
157
|
+
* Log a skill tool call
|
|
158
|
+
*/
|
|
159
|
+
skillLoaded(skillName, agent, metadata) {
|
|
160
|
+
this.info(`Loaded skill: ${skillName}`, { agent, tool: 'drs_skill', skill: skillName }, metadata);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Log a tool output
|
|
164
|
+
*/
|
|
165
|
+
toolOutput(toolName, agent, output) {
|
|
166
|
+
this.debug(`Tool output`, { agent, tool: toolName }, output || '[no output]');
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Log agent message
|
|
170
|
+
*/
|
|
171
|
+
agentMessage(agent, content) {
|
|
172
|
+
this.debug(`Agent response`, { agent }, content);
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Log start of agent review
|
|
176
|
+
*/
|
|
177
|
+
agentStart(agent) {
|
|
178
|
+
this.info(`Starting review`, { agent });
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Log end of agent review
|
|
182
|
+
*/
|
|
183
|
+
agentComplete(agent, issueCount) {
|
|
184
|
+
this.info(`Completed review - found ${issueCount} issue(s)`, { agent });
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Log missing skill call warning
|
|
188
|
+
*/
|
|
189
|
+
noSkillCalls(agent) {
|
|
190
|
+
this.warn(`No skill tool calls detected during review`, { agent });
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Default logger instance
|
|
194
|
+
let defaultLogger = new Logger();
|
|
195
|
+
/**
|
|
196
|
+
* Configure the default logger
|
|
197
|
+
*/
|
|
198
|
+
export function configureLogger(options) {
|
|
199
|
+
defaultLogger = new Logger(options);
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Get the default logger instance
|
|
203
|
+
*/
|
|
204
|
+
export function getLogger() {
|
|
205
|
+
return defaultLogger;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Create a new logger with specific options
|
|
209
|
+
*/
|
|
210
|
+
export function createLogger(options = {}) {
|
|
211
|
+
return new Logger(options);
|
|
212
|
+
}
|
|
213
|
+
export { Logger };
|
|
214
|
+
export default defaultLogger;
|
|
215
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,6 +93,10 @@ export interface PlatformClient {
|
|
|
93
93
|
* Update an existing comment
|
|
94
94
|
*/
|
|
95
95
|
updateComment(projectId: string, prNumber: number, commentId: number | string, body: string): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Delete an existing comment
|
|
98
|
+
*/
|
|
99
|
+
deleteComment(projectId: string, prNumber: number, commentId: number | string): Promise<void>;
|
|
96
100
|
/**
|
|
97
101
|
* Create an inline comment at a specific line
|
|
98
102
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-client.d.ts","sourceRoot":"","sources":["../../src/lib/platform-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform-client.d.ts","sourceRoot":"","sources":["../../src/lib/platform-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-core.d.ts","sourceRoot":"","sources":["../../src/lib/review-core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"review-core.d.ts","sourceRoot":"","sources":["../../src/lib/review-core.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAA8B,MAAM,aAAa,CAAC;AAMzE,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,oCAAoC;IACpC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC7C,+CAA+C;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAqDD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EAAE,EACrB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,GAC1B,MAAM,CAoIR;AA+DD,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAC3C,UAAU,GAAE,MAAsB,EAClC,KAAK,UAAQ,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAsH5B;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAC3C,UAAU,GAAE,MAAsB,EAClC,KAAK,UAAQ,GACZ,OAAO,CAAC,iBAAiB,CAAC,CAsJ5B;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAC3C,UAAU,GAAE,MAAsB,EAClC,KAAK,UAAQ,GACZ,OAAO,CAAC,iBAAiB,CAAC,CA+E5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;IAC7C,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,IAAI,CAmCP;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;CAC9C,GAAG,OAAO,CAEV"}
|