Skip to content

Commit ade1a41

Browse files
committed
chore: turn arg name into snake case in sanitization
1 parent 764b9cf commit ade1a41

4 files changed

Lines changed: 59 additions & 55 deletions

File tree

src/telemetry/ClearcutLogger.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,16 @@ export function getZodType(zodType: zod.ZodTypeAny): ZodType {
6060
type LoggedToolCallArgValue = string | number | boolean;
6161

6262
export function transformArgName(zodType: ZodType, name: string): string {
63+
const snakeCaseName = name.replace(
64+
/[A-Z]/g,
65+
letter => `_${letter.toLowerCase()}`,
66+
);
6367
if (zodType === 'ZodString') {
64-
return `${name}_length`;
68+
return `${snakeCaseName}_length`;
6569
} else if (zodType === 'ZodArray') {
66-
return `${name}_count`;
70+
return `${snakeCaseName}_count`;
6771
} else {
68-
return name;
72+
return snakeCaseName;
6973
}
7074
}
7175

src/telemetry/tool_call_metrics.json

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
"name": "click",
44
"args": [
55
{
6-
"name": "dblClick",
6+
"name": "dbl_click",
77
"argType": "boolean"
88
},
99
{
10-
"name": "includeSnapshot",
10+
"name": "include_snapshot",
1111
"argType": "boolean"
1212
}
1313
]
@@ -24,11 +24,11 @@
2424
"argType": "number"
2525
},
2626
{
27-
"name": "dblClick",
27+
"name": "dbl_click",
2828
"argType": "boolean"
2929
},
3030
{
31-
"name": "includeSnapshot",
31+
"name": "include_snapshot",
3232
"argType": "boolean"
3333
}
3434
]
@@ -37,7 +37,7 @@
3737
"name": "close_page",
3838
"args": [
3939
{
40-
"name": "pageId",
40+
"name": "page_id",
4141
"argType": "number"
4242
}
4343
]
@@ -54,7 +54,7 @@
5454
"argType": "number"
5555
},
5656
{
57-
"name": "includeSnapshot",
57+
"name": "include_snapshot",
5858
"argType": "boolean"
5959
}
6060
]
@@ -63,23 +63,23 @@
6363
"name": "emulate",
6464
"args": [
6565
{
66-
"name": "networkConditions",
66+
"name": "network_conditions",
6767
"argType": "string"
6868
},
6969
{
70-
"name": "cpuThrottlingRate",
70+
"name": "cpu_throttling_rate",
7171
"argType": "number"
7272
},
7373
{
7474
"name": "geolocation_length",
7575
"argType": "number"
7676
},
7777
{
78-
"name": "userAgent_length",
78+
"name": "user_agent_length",
7979
"argType": "number"
8080
},
8181
{
82-
"name": "colorScheme",
82+
"name": "color_scheme",
8383
"argType": "string"
8484
},
8585
{
@@ -114,7 +114,7 @@
114114
"name": "execute_in_page_tool",
115115
"args": [
116116
{
117-
"name": "toolName_length",
117+
"name": "tool_name_length",
118118
"argType": "number"
119119
},
120120
{
@@ -131,7 +131,7 @@
131131
"argType": "number"
132132
},
133133
{
134-
"name": "includeSnapshot",
134+
"name": "include_snapshot",
135135
"argType": "boolean"
136136
}
137137
]
@@ -144,7 +144,7 @@
144144
"argType": "number"
145145
},
146146
{
147-
"name": "includeSnapshot",
147+
"name": "include_snapshot",
148148
"argType": "boolean"
149149
}
150150
]
@@ -157,11 +157,11 @@
157157
"name": "get_network_request",
158158
"args": [
159159
{
160-
"name": "requestFilePath_length",
160+
"name": "request_file_path_length",
161161
"argType": "number"
162162
},
163163
{
164-
"name": "responseFilePath_length",
164+
"name": "response_file_path_length",
165165
"argType": "number"
166166
}
167167
]
@@ -170,7 +170,7 @@
170170
"name": "get_tab_id",
171171
"args": [
172172
{
173-
"name": "pageId",
173+
"name": "page_id",
174174
"argType": "number"
175175
}
176176
]
@@ -183,7 +183,7 @@
183183
"argType": "string"
184184
},
185185
{
186-
"name": "promptText_length",
186+
"name": "prompt_text_length",
187187
"argType": "number"
188188
}
189189
]
@@ -192,7 +192,7 @@
192192
"name": "hover",
193193
"args": [
194194
{
195-
"name": "includeSnapshot",
195+
"name": "include_snapshot",
196196
"argType": "boolean"
197197
}
198198
]
@@ -218,7 +218,7 @@
218218
"argType": "string"
219219
},
220220
{
221-
"name": "outputDirPath_length",
221+
"name": "output_dir_path_length",
222222
"argType": "number"
223223
}
224224
]
@@ -227,19 +227,19 @@
227227
"name": "list_console_messages",
228228
"args": [
229229
{
230-
"name": "pageSize",
230+
"name": "page_size",
231231
"argType": "number"
232232
},
233233
{
234-
"name": "pageIdx",
234+
"name": "page_idx",
235235
"argType": "number"
236236
},
237237
{
238238
"name": "types_count",
239239
"argType": "number"
240240
},
241241
{
242-
"name": "includePreservedMessages",
242+
"name": "include_preserved_messages",
243243
"argType": "boolean"
244244
}
245245
]
@@ -256,19 +256,19 @@
256256
"name": "list_network_requests",
257257
"args": [
258258
{
259-
"name": "pageSize",
259+
"name": "page_size",
260260
"argType": "number"
261261
},
262262
{
263-
"name": "pageIdx",
263+
"name": "page_idx",
264264
"argType": "number"
265265
},
266266
{
267-
"name": "resourceTypes_count",
267+
"name": "resource_types_count",
268268
"argType": "number"
269269
},
270270
{
271-
"name": "includePreservedRequests",
271+
"name": "include_preserved_requests",
272272
"argType": "boolean"
273273
}
274274
]
@@ -298,15 +298,15 @@
298298
"argType": "number"
299299
},
300300
{
301-
"name": "ignoreCache",
301+
"name": "ignore_cache",
302302
"argType": "boolean"
303303
},
304304
{
305-
"name": "handleBeforeUnload",
305+
"name": "handle_before_unload",
306306
"argType": "string"
307307
},
308308
{
309-
"name": "initScript_length",
309+
"name": "init_script_length",
310310
"argType": "number"
311311
},
312312
{
@@ -327,7 +327,7 @@
327327
"argType": "boolean"
328328
},
329329
{
330-
"name": "isolatedContext_length",
330+
"name": "isolated_context_length",
331331
"argType": "number"
332332
},
333333
{
@@ -340,11 +340,11 @@
340340
"name": "performance_analyze_insight",
341341
"args": [
342342
{
343-
"name": "insightSetId_length",
343+
"name": "insight_set_id_length",
344344
"argType": "number"
345345
},
346346
{
347-
"name": "insightName_length",
347+
"name": "insight_name_length",
348348
"argType": "number"
349349
}
350350
]
@@ -357,11 +357,11 @@
357357
"argType": "boolean"
358358
},
359359
{
360-
"name": "autoStop",
360+
"name": "auto_stop",
361361
"argType": "boolean"
362362
},
363363
{
364-
"name": "filePath_length",
364+
"name": "file_path_length",
365365
"argType": "number"
366366
}
367367
]
@@ -370,7 +370,7 @@
370370
"name": "performance_stop_trace",
371371
"args": [
372372
{
373-
"name": "filePath_length",
373+
"name": "file_path_length",
374374
"argType": "number"
375375
}
376376
]
@@ -383,7 +383,7 @@
383383
"argType": "number"
384384
},
385385
{
386-
"name": "includeSnapshot",
386+
"name": "include_snapshot",
387387
"argType": "boolean"
388388
}
389389
]
@@ -431,11 +431,11 @@
431431
"name": "select_page",
432432
"args": [
433433
{
434-
"name": "pageId",
434+
"name": "page_id",
435435
"argType": "number"
436436
},
437437
{
438-
"name": "bringToFront",
438+
"name": "bring_to_front",
439439
"argType": "boolean"
440440
}
441441
]
@@ -444,7 +444,7 @@
444444
"name": "take_memory_snapshot",
445445
"args": [
446446
{
447-
"name": "filePath_length",
447+
"name": "file_path_length",
448448
"argType": "number"
449449
}
450450
]
@@ -461,11 +461,11 @@
461461
"argType": "number"
462462
},
463463
{
464-
"name": "fullPage",
464+
"name": "full_page",
465465
"argType": "boolean"
466466
},
467467
{
468-
"name": "filePath_length",
468+
"name": "file_path_length",
469469
"argType": "number"
470470
}
471471
]
@@ -478,7 +478,7 @@
478478
"argType": "boolean"
479479
},
480480
{
481-
"name": "filePath_length",
481+
"name": "file_path_length",
482482
"argType": "number"
483483
}
484484
]
@@ -500,7 +500,7 @@
500500
"argType": "number"
501501
},
502502
{
503-
"name": "submitKey_length",
503+
"name": "submit_key_length",
504504
"argType": "number"
505505
}
506506
]
@@ -518,11 +518,11 @@
518518
"name": "upload_file",
519519
"args": [
520520
{
521-
"name": "filePath_length",
521+
"name": "file_path_length",
522522
"argType": "number"
523523
},
524524
{
525-
"name": "includeSnapshot",
525+
"name": "include_snapshot",
526526
"argType": "boolean"
527527
}
528528
]

tests/telemetry/ClearcutLogger.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -191,11 +191,11 @@ describe('ClearcutLogger', () => {
191191
const sanitized = sanitizeParams(params, schema);
192192

193193
assert.deepStrictEqual(sanitized, {
194-
myString_length: 5,
195-
myArray_count: 2,
196-
myNumber: 42,
197-
myBool: true,
198-
myEnum: 'a',
194+
my_string_length: 5,
195+
my_array_count: 2,
196+
my_number: 42,
197+
my_bool: true,
198+
my_enum: 'a',
199199
});
200200
});
201201

tests/telemetry/toolMetricsUtils.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ describe('toolMetricsUtils', () => {
5555
assert.strictEqual(metrics.length, 1);
5656
assert.strictEqual(metrics[0].name, 'test_tool');
5757
assert.strictEqual(metrics[0].args.length, 1); // uid is blocked
58-
assert.strictEqual(metrics[0].args[0].name, 'argStr_length');
58+
assert.strictEqual(metrics[0].args[0].name, 'arg_str_length');
5959
assert.strictEqual(metrics[0].args[0].argType, 'number');
6060
});
6161

@@ -77,7 +77,7 @@ describe('toolMetricsUtils', () => {
7777

7878
const metrics = generateToolMetrics([mockTool]);
7979
assert.strictEqual(metrics.length, 1);
80-
assert.strictEqual(metrics[0].args[0].name, 'argEnum');
80+
assert.strictEqual(metrics[0].args[0].name, 'arg_enum');
8181
assert.strictEqual(metrics[0].args[0].argType, 'string');
8282
});
8383
});

0 commit comments

Comments
 (0)