log-llm-config 1.0.23 → 1.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/log_config_files.js +22 -3
- package/package.json +1 -1
package/dist/log_config_files.js
CHANGED
|
@@ -393,7 +393,7 @@ function resolvePatternToTargets(pathPattern, fileType, projectRoot, home) {
|
|
|
393
393
|
* Collect config files by resolving API patterns to paths and reading existing files.
|
|
394
394
|
* Reuses readMCPConfig, readJSONFile, readMarkdownFile, readVSCDBState, readInstalledExtensions and directory scan helpers.
|
|
395
395
|
*/
|
|
396
|
-
function collectConfigFilesFromPatterns(patterns, projectRoot) {
|
|
396
|
+
function collectConfigFilesFromPatterns(patterns, projectRoot, onProgress) {
|
|
397
397
|
const home = homedir();
|
|
398
398
|
const seenPaths = new Set();
|
|
399
399
|
const targets = [];
|
|
@@ -422,7 +422,12 @@ function collectConfigFilesFromPatterns(patterns, projectRoot) {
|
|
|
422
422
|
}
|
|
423
423
|
const configFiles = [];
|
|
424
424
|
const handledSpecialPaths = new Set();
|
|
425
|
+
const loggedFileTypes = new Set();
|
|
425
426
|
for (const t of targets) {
|
|
427
|
+
if (onProgress && !loggedFileTypes.has(t.file_type)) {
|
|
428
|
+
loggedFileTypes.add(t.file_type);
|
|
429
|
+
onProgress(`scanning file_type=${t.file_type}`);
|
|
430
|
+
}
|
|
426
431
|
if (t.isDirectory) {
|
|
427
432
|
if (!existsSync(t.path))
|
|
428
433
|
continue;
|
|
@@ -518,6 +523,8 @@ function collectConfigFilesFromPatterns(patterns, projectRoot) {
|
|
|
518
523
|
'lastBrowserConnectionMode',
|
|
519
524
|
'playwrightProtection',
|
|
520
525
|
'isWebSearchToolEnabled',
|
|
526
|
+
'isWebSearchToolEnabled2',
|
|
527
|
+
'isWebSearchToolEnabled3',
|
|
521
528
|
'isWebFetchToolEnabled',
|
|
522
529
|
'autoAcceptWebSearchTool',
|
|
523
530
|
];
|
|
@@ -1459,6 +1466,8 @@ function readVSCDBState(dbPath) {
|
|
|
1459
1466
|
'lastBrowserConnectionMode',
|
|
1460
1467
|
'playwrightProtection',
|
|
1461
1468
|
'isWebSearchToolEnabled',
|
|
1469
|
+
'isWebSearchToolEnabled2',
|
|
1470
|
+
'isWebSearchToolEnabled3',
|
|
1462
1471
|
'isWebFetchToolEnabled',
|
|
1463
1472
|
'autoAcceptWebSearchTool',
|
|
1464
1473
|
];
|
|
@@ -1740,6 +1749,8 @@ function collectConfigFiles() {
|
|
|
1740
1749
|
'lastBrowserConnectionMode',
|
|
1741
1750
|
'playwrightProtection',
|
|
1742
1751
|
'isWebSearchToolEnabled',
|
|
1752
|
+
'isWebSearchToolEnabled2',
|
|
1753
|
+
'isWebSearchToolEnabled3',
|
|
1743
1754
|
'isWebFetchToolEnabled',
|
|
1744
1755
|
'autoAcceptWebSearchTool',
|
|
1745
1756
|
];
|
|
@@ -2274,10 +2285,13 @@ async function sendConfigFilesBatch(configFiles, hardwareUuid, authKey, hookRequ
|
|
|
2274
2285
|
org_identifier: process.env.GITHUB_ORG || process.env.GH_ORG || '',
|
|
2275
2286
|
repo_identifier: process.env.GITHUB_REPOSITORY || process.env.GH_REPOSITORY || '',
|
|
2276
2287
|
};
|
|
2288
|
+
const numChunks = Math.ceil(configFiles.length / BATCH_CHUNK_SIZE);
|
|
2277
2289
|
let totalAccepted = 0;
|
|
2278
2290
|
let totalFailed = 0;
|
|
2279
2291
|
for (let i = 0; i < configFiles.length; i += BATCH_CHUNK_SIZE) {
|
|
2292
|
+
const chunkIndex = Math.floor(i / BATCH_CHUNK_SIZE) + 1;
|
|
2280
2293
|
const chunk = configFiles.slice(i, i + BATCH_CHUNK_SIZE);
|
|
2294
|
+
hookRunLog(`batch send ${chunkIndex}/${numChunks}: ${chunk.length} file(s)`);
|
|
2281
2295
|
const config_files = chunk.map((c) => ({
|
|
2282
2296
|
file_type: c.file_type,
|
|
2283
2297
|
file_path: c.file_path,
|
|
@@ -2290,7 +2304,7 @@ async function sendConfigFilesBatch(configFiles, hardwareUuid, authKey, hookRequ
|
|
|
2290
2304
|
const signature = createSignature(payload, authKey.key);
|
|
2291
2305
|
const body = { ...payload, signature, key_id: authKey.key_id || '' };
|
|
2292
2306
|
try {
|
|
2293
|
-
const response = (await postStartupPayload(apiUrl, body));
|
|
2307
|
+
const response = (await postStartupPayload(apiUrl, body, 30000));
|
|
2294
2308
|
if (response.status === 'accepted') {
|
|
2295
2309
|
const accepted = typeof response.accepted === 'number' ? response.accepted : chunk.length;
|
|
2296
2310
|
const failedList = Array.isArray(response.failed) ? response.failed : [];
|
|
@@ -2710,6 +2724,8 @@ async function logSingleFile(filePath) {
|
|
|
2710
2724
|
'lastBrowserConnectionMode',
|
|
2711
2725
|
'playwrightProtection',
|
|
2712
2726
|
'isWebSearchToolEnabled',
|
|
2727
|
+
'isWebSearchToolEnabled2',
|
|
2728
|
+
'isWebSearchToolEnabled3',
|
|
2713
2729
|
'isWebFetchToolEnabled',
|
|
2714
2730
|
'autoAcceptWebSearchTool',
|
|
2715
2731
|
];
|
|
@@ -2868,12 +2884,15 @@ async function main() {
|
|
|
2868
2884
|
hookRunLog(`patterns_error: ${err instanceof Error ? err.message : String(err)}`);
|
|
2869
2885
|
throw err;
|
|
2870
2886
|
}
|
|
2887
|
+
hookRunLog(`scanning config files`);
|
|
2871
2888
|
const configFiles = patternsResponse?.patterns?.length
|
|
2872
|
-
? collectConfigFilesFromPatterns(patternsResponse.patterns, PROJECT_ROOT)
|
|
2889
|
+
? collectConfigFilesFromPatterns(patternsResponse.patterns, PROJECT_ROOT, hookRunLog)
|
|
2873
2890
|
: collectConfigFiles();
|
|
2874
2891
|
// Collect from Claude installed_plugins.json (cache-based installs: skills + hooks per installPath)
|
|
2892
|
+
hookRunLog(`scanning installed plugins`);
|
|
2875
2893
|
configFiles.push(...collectConfigFilesFromInstalledPlugins());
|
|
2876
2894
|
// Add sensitive paths audit (same auth, same batch): path names only, never contents
|
|
2895
|
+
hookRunLog(`running sensitive paths audit`);
|
|
2877
2896
|
const auditOutputDir = join(homedir(), 'opt-ai-sec', 'management');
|
|
2878
2897
|
let auditResult;
|
|
2879
2898
|
try {
|