observability-toolkit 1.3.0 → 1.4.0
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/README.md +52 -3
- package/dist/backends/index.d.ts +15 -0
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/local-jsonl.d.ts +27 -0
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +202 -30
- package/dist/backends/local-jsonl.js.map +1 -1
- package/dist/backends/local-jsonl.test.js +1081 -1
- package/dist/backends/local-jsonl.test.js.map +1 -1
- package/dist/backends/signoz-api.d.ts.map +1 -1
- package/dist/backends/signoz-api.integration.test.d.ts +8 -0
- package/dist/backends/signoz-api.integration.test.d.ts.map +1 -0
- package/dist/backends/signoz-api.integration.test.js +137 -0
- package/dist/backends/signoz-api.integration.test.js.map +1 -0
- package/dist/backends/signoz-api.js +58 -42
- package/dist/backends/signoz-api.js.map +1 -1
- package/dist/backends/signoz-api.test.js +504 -328
- package/dist/backends/signoz-api.test.js.map +1 -1
- package/dist/lib/constants.d.ts +27 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +70 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/constants.test.js +183 -1
- package/dist/lib/constants.test.js.map +1 -1
- package/dist/lib/file-utils.d.ts +53 -1
- package/dist/lib/file-utils.d.ts.map +1 -1
- package/dist/lib/file-utils.js +142 -3
- package/dist/lib/file-utils.js.map +1 -1
- package/dist/lib/file-utils.test.js +228 -1
- package/dist/lib/file-utils.test.js.map +1 -1
- package/dist/server.js +48 -65
- package/dist/server.js.map +1 -1
- package/dist/server.test.d.ts +5 -0
- package/dist/server.test.d.ts.map +1 -0
- package/dist/server.test.js +547 -0
- package/dist/server.test.js.map +1 -0
- package/dist/tools/context-stats.test.js +126 -0
- package/dist/tools/context-stats.test.js.map +1 -1
- package/dist/tools/get-trace-url.d.ts.map +1 -1
- package/dist/tools/get-trace-url.js +5 -1
- package/dist/tools/get-trace-url.js.map +1 -1
- package/dist/tools/get-trace-url.test.js +12 -6
- package/dist/tools/get-trace-url.test.js.map +1 -1
- package/dist/tools/health-check.d.ts +9 -2
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +66 -27
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/health-check.test.js +89 -96
- package/dist/tools/health-check.test.js.map +1 -1
- package/dist/tools/query-llm-events.d.ts +2 -2
- package/dist/tools/query-llm-events.js +3 -3
- package/dist/tools/query-llm-events.js.map +1 -1
- package/dist/tools/query-logs.d.ts +8 -6
- package/dist/tools/query-logs.d.ts.map +1 -1
- package/dist/tools/query-logs.js +5 -5
- package/dist/tools/query-logs.js.map +1 -1
- package/dist/tools/query-logs.test.js +22 -2
- package/dist/tools/query-logs.test.js.map +1 -1
- package/dist/tools/query-metrics.d.ts +12 -14
- package/dist/tools/query-metrics.d.ts.map +1 -1
- package/dist/tools/query-metrics.js +11 -13
- package/dist/tools/query-metrics.js.map +1 -1
- package/dist/tools/query-metrics.test.js +134 -96
- package/dist/tools/query-metrics.test.js.map +1 -1
- package/dist/tools/query-traces.d.ts +16 -17
- package/dist/tools/query-traces.d.ts.map +1 -1
- package/dist/tools/query-traces.js +11 -14
- package/dist/tools/query-traces.js.map +1 -1
- package/dist/tools/query-traces.test.js +144 -48
- package/dist/tools/query-traces.test.js.map +1 -1
- package/dist/tools/setup-claudeignore.d.ts +36 -10
- package/dist/tools/setup-claudeignore.d.ts.map +1 -1
- package/dist/tools/setup-claudeignore.js +193 -33
- package/dist/tools/setup-claudeignore.js.map +1 -1
- package/dist/tools/setup-claudeignore.test.js +286 -41
- package/dist/tools/setup-claudeignore.test.js.map +1 -1
- package/dist/tools/signoz.integration.test.d.ts +8 -0
- package/dist/tools/signoz.integration.test.d.ts.map +1 -0
- package/dist/tools/signoz.integration.test.js +141 -0
- package/dist/tools/signoz.integration.test.js.map +1 -0
- package/package.json +6 -3
|
@@ -1,42 +1,68 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Setup .claudeignore to exclude telemetry directory
|
|
2
|
+
* Setup .claudeignore to exclude telemetry directory and test files
|
|
3
|
+
* Supports both global (~/.claude/.claudeignore) and local project .claudeignore
|
|
3
4
|
*/
|
|
4
5
|
import { z } from 'zod';
|
|
5
6
|
export declare const setupClaudeignoreSchema: z.ZodObject<{
|
|
6
7
|
path: z.ZodOptional<z.ZodString>;
|
|
7
|
-
entry: z.
|
|
8
|
+
entry: z.ZodOptional<z.ZodString>;
|
|
9
|
+
entries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
10
|
+
includeDefaults: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
includeLocal: z.ZodDefault<z.ZodBoolean>;
|
|
8
12
|
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
9
13
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
|
|
14
|
+
includeDefaults: boolean;
|
|
15
|
+
includeLocal: boolean;
|
|
11
16
|
dryRun: boolean;
|
|
17
|
+
entries?: string[] | undefined;
|
|
12
18
|
path?: string | undefined;
|
|
19
|
+
entry?: string | undefined;
|
|
13
20
|
}, {
|
|
21
|
+
entries?: string[] | undefined;
|
|
14
22
|
path?: string | undefined;
|
|
15
23
|
entry?: string | undefined;
|
|
24
|
+
includeDefaults?: boolean | undefined;
|
|
25
|
+
includeLocal?: boolean | undefined;
|
|
16
26
|
dryRun?: boolean | undefined;
|
|
17
27
|
}>;
|
|
18
|
-
export type SetupClaudeignoreInput = z.
|
|
19
|
-
interface
|
|
20
|
-
action: 'created' | 'updated' | 'unchanged' | 'dry_run';
|
|
28
|
+
export type SetupClaudeignoreInput = z.input<typeof setupClaudeignoreSchema>;
|
|
29
|
+
interface FileResult {
|
|
30
|
+
action: 'created' | 'updated' | 'unchanged' | 'dry_run' | 'skipped';
|
|
21
31
|
path: string;
|
|
22
|
-
|
|
32
|
+
entries: string[];
|
|
33
|
+
added: string[];
|
|
34
|
+
skipped: string[];
|
|
23
35
|
message: string;
|
|
24
36
|
}
|
|
25
|
-
|
|
37
|
+
interface SetupResult {
|
|
38
|
+
global: FileResult;
|
|
39
|
+
local?: FileResult;
|
|
40
|
+
summary: string;
|
|
41
|
+
}
|
|
42
|
+
export declare function setupClaudeignore(rawInput: SetupClaudeignoreInput): Promise<SetupResult>;
|
|
26
43
|
export declare const setupClaudeignoreTool: {
|
|
27
44
|
name: string;
|
|
28
45
|
description: string;
|
|
29
46
|
inputSchema: z.ZodObject<{
|
|
30
47
|
path: z.ZodOptional<z.ZodString>;
|
|
31
|
-
entry: z.
|
|
48
|
+
entry: z.ZodOptional<z.ZodString>;
|
|
49
|
+
entries: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
50
|
+
includeDefaults: z.ZodDefault<z.ZodBoolean>;
|
|
51
|
+
includeLocal: z.ZodDefault<z.ZodBoolean>;
|
|
32
52
|
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
33
53
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
|
|
54
|
+
includeDefaults: boolean;
|
|
55
|
+
includeLocal: boolean;
|
|
35
56
|
dryRun: boolean;
|
|
57
|
+
entries?: string[] | undefined;
|
|
36
58
|
path?: string | undefined;
|
|
59
|
+
entry?: string | undefined;
|
|
37
60
|
}, {
|
|
61
|
+
entries?: string[] | undefined;
|
|
38
62
|
path?: string | undefined;
|
|
39
63
|
entry?: string | undefined;
|
|
64
|
+
includeDefaults?: boolean | undefined;
|
|
65
|
+
includeLocal?: boolean | undefined;
|
|
40
66
|
dryRun?: boolean | undefined;
|
|
41
67
|
}>;
|
|
42
68
|
handler: typeof setupClaudeignore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-claudeignore.d.ts","sourceRoot":"","sources":["../../src/tools/setup-claudeignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"setup-claudeignore.d.ts","sourceRoot":"","sources":["../../src/tools/setup-claudeignore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqBxB,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,UAAU,UAAU;IAClB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAwGD,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAwH9F;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;CAKjC,CAAC"}
|
|
@@ -1,71 +1,231 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Setup .claudeignore to exclude telemetry directory
|
|
2
|
+
* Setup .claudeignore to exclude telemetry directory and test files
|
|
3
|
+
* Supports both global (~/.claude/.claudeignore) and local project .claudeignore
|
|
3
4
|
*/
|
|
4
5
|
import { z } from 'zod';
|
|
5
6
|
import { existsSync, readFileSync, writeFileSync, appendFileSync } from 'fs';
|
|
6
|
-
import { join } from 'path';
|
|
7
|
+
import { join, basename, resolve, normalize } from 'path';
|
|
8
|
+
import { homedir, tmpdir } from 'os';
|
|
7
9
|
import { CLAUDE_HOME } from '../lib/constants.js';
|
|
10
|
+
// Default entries to add to .claudeignore
|
|
11
|
+
const DEFAULT_ENTRIES = [
|
|
12
|
+
'telemetry/',
|
|
13
|
+
'*.test.ts',
|
|
14
|
+
'*.test.js',
|
|
15
|
+
'coverage/',
|
|
16
|
+
];
|
|
17
|
+
// Local telemetry directories to check for
|
|
18
|
+
const LOCAL_TELEMETRY_PATHS = [
|
|
19
|
+
'.claude/telemetry/',
|
|
20
|
+
'telemetry/',
|
|
21
|
+
'.telemetry/',
|
|
22
|
+
];
|
|
8
23
|
export const setupClaudeignoreSchema = z.object({
|
|
9
|
-
path: z.string().optional().describe('Custom path to .claudeignore (default:
|
|
10
|
-
entry: z.string().
|
|
24
|
+
path: z.string().optional().describe('Custom path to .claudeignore (default: auto-detect global and local)'),
|
|
25
|
+
entry: z.string().optional().describe('Single entry to add (for backwards compatibility)'),
|
|
26
|
+
entries: z.array(z.string()).optional().describe('Multiple entries to add to .claudeignore'),
|
|
27
|
+
includeDefaults: z.boolean().default(true).describe('Include default entries (telemetry/, test files, coverage/)'),
|
|
28
|
+
includeLocal: z.boolean().default(true).describe('Also update local project .claudeignore if local telemetry exists'),
|
|
11
29
|
dryRun: z.boolean().default(false).describe('Preview changes without modifying files'),
|
|
12
30
|
});
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Update or create a single .claudeignore file
|
|
33
|
+
*/
|
|
34
|
+
function updateClaudeignoreFile(filePath, entriesToAdd, dryRun) {
|
|
35
|
+
const added = [];
|
|
36
|
+
const skipped = [];
|
|
37
|
+
if (existsSync(filePath)) {
|
|
38
|
+
const content = readFileSync(filePath, 'utf-8');
|
|
20
39
|
const lines = content.split('\n').map(line => line.trim());
|
|
21
|
-
// Check
|
|
22
|
-
|
|
40
|
+
// Check each entry
|
|
41
|
+
for (const entry of entriesToAdd) {
|
|
42
|
+
if (lines.includes(entry) || lines.includes(entry.replace(/\/$/, ''))) {
|
|
43
|
+
skipped.push(entry);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
added.push(entry);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (added.length === 0) {
|
|
23
50
|
return {
|
|
24
51
|
action: 'unchanged',
|
|
25
|
-
path:
|
|
26
|
-
|
|
27
|
-
|
|
52
|
+
path: filePath,
|
|
53
|
+
entries: entriesToAdd,
|
|
54
|
+
added: [],
|
|
55
|
+
skipped,
|
|
56
|
+
message: `All entries already exist`,
|
|
28
57
|
};
|
|
29
58
|
}
|
|
30
|
-
// Add entry to existing file
|
|
31
59
|
if (dryRun) {
|
|
32
60
|
return {
|
|
33
61
|
action: 'dry_run',
|
|
34
|
-
path:
|
|
35
|
-
|
|
36
|
-
|
|
62
|
+
path: filePath,
|
|
63
|
+
entries: entriesToAdd,
|
|
64
|
+
added,
|
|
65
|
+
skipped,
|
|
66
|
+
message: `Would add ${added.length} entries: ${added.join(', ')}`,
|
|
37
67
|
};
|
|
38
68
|
}
|
|
39
69
|
// Ensure file ends with newline before appending
|
|
40
70
|
const needsNewline = content.length > 0 && !content.endsWith('\n');
|
|
41
|
-
|
|
71
|
+
const newContent = (needsNewline ? '\n' : '') + added.join('\n') + '\n';
|
|
72
|
+
appendFileSync(filePath, newContent);
|
|
42
73
|
return {
|
|
43
74
|
action: 'updated',
|
|
44
|
-
path:
|
|
45
|
-
|
|
46
|
-
|
|
75
|
+
path: filePath,
|
|
76
|
+
entries: entriesToAdd,
|
|
77
|
+
added,
|
|
78
|
+
skipped,
|
|
79
|
+
message: `Added ${added.length} entries: ${added.join(', ')}`,
|
|
47
80
|
};
|
|
48
81
|
}
|
|
49
|
-
// Create new file with
|
|
82
|
+
// Create new file with all entries
|
|
83
|
+
added.push(...entriesToAdd);
|
|
50
84
|
if (dryRun) {
|
|
51
85
|
return {
|
|
52
86
|
action: 'dry_run',
|
|
53
|
-
path:
|
|
54
|
-
|
|
55
|
-
|
|
87
|
+
path: filePath,
|
|
88
|
+
entries: entriesToAdd,
|
|
89
|
+
added,
|
|
90
|
+
skipped: [],
|
|
91
|
+
message: `Would create with ${entriesToAdd.length} entries`,
|
|
56
92
|
};
|
|
57
93
|
}
|
|
58
|
-
|
|
94
|
+
const fileContent = `# Ignore telemetry and test files from Claude Code context\n${entriesToAdd.join('\n')}\n`;
|
|
95
|
+
writeFileSync(filePath, fileContent);
|
|
59
96
|
return {
|
|
60
97
|
action: 'created',
|
|
61
|
-
path:
|
|
62
|
-
|
|
63
|
-
|
|
98
|
+
path: filePath,
|
|
99
|
+
entries: entriesToAdd,
|
|
100
|
+
added,
|
|
101
|
+
skipped: [],
|
|
102
|
+
message: `Created with ${entriesToAdd.length} entries`,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Detect local telemetry directories in current working directory
|
|
107
|
+
*/
|
|
108
|
+
function detectLocalTelemetryDirs(cwd) {
|
|
109
|
+
const found = [];
|
|
110
|
+
for (const localPath of LOCAL_TELEMETRY_PATHS) {
|
|
111
|
+
const fullPath = join(cwd, localPath);
|
|
112
|
+
if (existsSync(fullPath)) {
|
|
113
|
+
found.push(localPath);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return found;
|
|
117
|
+
}
|
|
118
|
+
export async function setupClaudeignore(rawInput) {
|
|
119
|
+
const input = setupClaudeignoreSchema.parse(rawInput);
|
|
120
|
+
const dryRun = input.dryRun;
|
|
121
|
+
const includeDefaults = input.includeDefaults;
|
|
122
|
+
const includeLocal = input.includeLocal;
|
|
123
|
+
const cwd = process.cwd();
|
|
124
|
+
// Build list of entries to add
|
|
125
|
+
let entriesToAdd = [];
|
|
126
|
+
if (includeDefaults) {
|
|
127
|
+
entriesToAdd.push(...DEFAULT_ENTRIES);
|
|
128
|
+
}
|
|
129
|
+
if (input.entries) {
|
|
130
|
+
entriesToAdd.push(...input.entries);
|
|
131
|
+
}
|
|
132
|
+
if (input.entry) {
|
|
133
|
+
entriesToAdd.push(input.entry);
|
|
134
|
+
}
|
|
135
|
+
// Fallback if nothing specified
|
|
136
|
+
if (entriesToAdd.length === 0) {
|
|
137
|
+
entriesToAdd = [...DEFAULT_ENTRIES];
|
|
138
|
+
}
|
|
139
|
+
// Deduplicate
|
|
140
|
+
entriesToAdd = [...new Set(entriesToAdd)];
|
|
141
|
+
// If custom path provided, validate and update that file
|
|
142
|
+
if (input.path) {
|
|
143
|
+
// Security: validate filename starts with .claudeignore
|
|
144
|
+
// Allows .claudeignore and .claudeignore-* variants for testing
|
|
145
|
+
const filename = basename(input.path);
|
|
146
|
+
if (!filename.startsWith('.claudeignore')) {
|
|
147
|
+
return {
|
|
148
|
+
global: {
|
|
149
|
+
action: 'skipped',
|
|
150
|
+
path: input.path,
|
|
151
|
+
entries: entriesToAdd,
|
|
152
|
+
added: [],
|
|
153
|
+
skipped: [],
|
|
154
|
+
message: 'Invalid path: filename must start with .claudeignore',
|
|
155
|
+
},
|
|
156
|
+
summary: 'Error: Filename must start with .claudeignore for security',
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
// Security: validate path is within user's home, cwd, or OS temp directory
|
|
160
|
+
const normalizedPath = normalize(resolve(input.path));
|
|
161
|
+
const homeDir = homedir();
|
|
162
|
+
const cwdDir = cwd;
|
|
163
|
+
const tempDir = tmpdir();
|
|
164
|
+
const isPathWithin = (target, base) => {
|
|
165
|
+
const normBase = normalize(base);
|
|
166
|
+
return target === normBase || target.startsWith(normBase + '/');
|
|
167
|
+
};
|
|
168
|
+
const isWithinAllowed = isPathWithin(normalizedPath, homeDir) ||
|
|
169
|
+
isPathWithin(normalizedPath, cwdDir) ||
|
|
170
|
+
isPathWithin(normalizedPath, tempDir) ||
|
|
171
|
+
isPathWithin(normalizedPath, '/tmp'); // Also allow /tmp directly on macOS
|
|
172
|
+
if (!isWithinAllowed) {
|
|
173
|
+
return {
|
|
174
|
+
global: {
|
|
175
|
+
action: 'skipped',
|
|
176
|
+
path: input.path,
|
|
177
|
+
entries: entriesToAdd,
|
|
178
|
+
added: [],
|
|
179
|
+
skipped: [],
|
|
180
|
+
message: 'Invalid path: must be within home directory or current working directory',
|
|
181
|
+
},
|
|
182
|
+
summary: 'Error: Path must be within home or project directory',
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
const result = updateClaudeignoreFile(input.path, entriesToAdd, dryRun);
|
|
186
|
+
return {
|
|
187
|
+
global: result,
|
|
188
|
+
summary: `${result.path}: ${result.message}`,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
// Update global .claudeignore
|
|
192
|
+
const globalPath = join(CLAUDE_HOME, '.claudeignore');
|
|
193
|
+
const globalResult = updateClaudeignoreFile(globalPath, entriesToAdd, dryRun);
|
|
194
|
+
// Check for local telemetry directories
|
|
195
|
+
const localTelemetryDirs = detectLocalTelemetryDirs(cwd);
|
|
196
|
+
let localResult;
|
|
197
|
+
if (includeLocal && localTelemetryDirs.length > 0) {
|
|
198
|
+
// Build local entries - include detected telemetry dirs + test files
|
|
199
|
+
const localEntries = [
|
|
200
|
+
...localTelemetryDirs,
|
|
201
|
+
'*.test.ts',
|
|
202
|
+
'*.test.js',
|
|
203
|
+
'coverage/',
|
|
204
|
+
];
|
|
205
|
+
// Deduplicate
|
|
206
|
+
const uniqueLocalEntries = [...new Set(localEntries)];
|
|
207
|
+
const localPath = join(cwd, '.claudeignore');
|
|
208
|
+
localResult = updateClaudeignoreFile(localPath, uniqueLocalEntries, dryRun);
|
|
209
|
+
}
|
|
210
|
+
// Build summary
|
|
211
|
+
const summaryParts = [];
|
|
212
|
+
summaryParts.push(`Global (${globalResult.action}): ${globalResult.added.length} added, ${globalResult.skipped.length} skipped`);
|
|
213
|
+
if (localResult) {
|
|
214
|
+
summaryParts.push(`Local (${localResult.action}): ${localResult.added.length} added, ${localResult.skipped.length} skipped`);
|
|
215
|
+
summaryParts.push(`Detected local telemetry: ${localTelemetryDirs.join(', ')}`);
|
|
216
|
+
}
|
|
217
|
+
else if (includeLocal) {
|
|
218
|
+
summaryParts.push('No local telemetry directories detected');
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
global: globalResult,
|
|
222
|
+
local: localResult,
|
|
223
|
+
summary: summaryParts.join(' | '),
|
|
64
224
|
};
|
|
65
225
|
}
|
|
66
226
|
export const setupClaudeignoreTool = {
|
|
67
227
|
name: 'obs_setup_claudeignore',
|
|
68
|
-
description: 'Add
|
|
228
|
+
description: 'Add entries to .claudeignore to exclude files from Claude Code context. Updates both global (~/.claude/.claudeignore) and local project .claudeignore if local telemetry directories exist. By default adds telemetry/, test files, and coverage/.',
|
|
69
229
|
inputSchema: setupClaudeignoreSchema,
|
|
70
230
|
handler: setupClaudeignore,
|
|
71
231
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-claudeignore.js","sourceRoot":"","sources":["../../src/tools/setup-claudeignore.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"setup-claudeignore.js","sourceRoot":"","sources":["../../src/tools/setup-claudeignore.ts"],"names":[],"mappings":"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"}
|