proofscan 0.10.10 → 0.10.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.
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuZpC,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAwQzE"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4dpC,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CA6QzE"}
@@ -13,9 +13,11 @@
13
13
  */
14
14
  import { Command } from 'commander';
15
15
  import ora from 'ora';
16
- import { RegistryClient, RegistryError, SUPPORTED_FIELDS, isSupportedField, getFieldValue, formatFieldValue, CATALOG_SOURCES, DEFAULT_CATALOG_SOURCE, getSource, isValidSource, getSourceNames, isSourceReady, getAuthErrorMessage, formatSourceLine, } from '../registry/index.js';
16
+ import { RegistryClient, RegistryError, SUPPORTED_FIELDS, isSupportedField, getFieldValue, formatFieldValue, CATALOG_SOURCES, DEFAULT_CATALOG_SOURCE, getSource, isValidSource, getSourceNames, isSourceReady, getAuthErrorMessage, formatSourceLine, setSecretResolver, getSourceApiKey, } from '../registry/index.js';
17
17
  import { ConfigManager } from '../config/index.js';
18
+ import { SqliteSecretStore } from '../secrets/store.js';
18
19
  import { output, getOutputOptions, outputSuccess, outputError } from '../utils/output.js';
20
+ import { dirname } from 'path';
19
21
  /** Braille spinner frames */
20
22
  const BRAILLE_FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
21
23
  /** Terminal width for formatting (fallback to 80) */
@@ -80,6 +82,43 @@ async function getEffectiveSource(getConfigPath) {
80
82
  return DEFAULT_CATALOG_SOURCE;
81
83
  }
82
84
  }
85
+ /**
86
+ * Initialize the secret resolver for catalog sources
87
+ * This connects the registry module to the pfscan secrets system
88
+ */
89
+ async function initSecretResolver(getConfigPath) {
90
+ const configPath = getConfigPath();
91
+ const configDir = dirname(configPath);
92
+ setSecretResolver(async (secretKey) => {
93
+ try {
94
+ // Load config to get the secret reference
95
+ const manager = new ConfigManager(configPath);
96
+ const config = await manager.loadOrDefault();
97
+ // Look up the secret reference in config.catalog.secrets
98
+ const secretRef = config.catalog?.secrets?.[secretKey];
99
+ if (!secretRef) {
100
+ return undefined;
101
+ }
102
+ // Parse secretRef (e.g., "dpapi:uuid" or "plain:uuid")
103
+ const match = secretRef.match(/^[^:]+:(.+)$/);
104
+ if (!match) {
105
+ return undefined;
106
+ }
107
+ const secretId = match[1];
108
+ // Retrieve from secret store
109
+ const store = new SqliteSecretStore(configDir);
110
+ try {
111
+ return await store.retrieve(secretId) ?? undefined;
112
+ }
113
+ finally {
114
+ store.close();
115
+ }
116
+ }
117
+ catch {
118
+ return undefined;
119
+ }
120
+ });
121
+ }
83
122
  /**
84
123
  * Create a RegistryClient for the effective source
85
124
  * Validates source and checks authentication
@@ -93,7 +132,13 @@ async function createClientForSource(getConfigPath, sourceOverride) {
93
132
  if (!isSourceReady(source)) {
94
133
  throw new Error(getAuthErrorMessage(source));
95
134
  }
96
- return new RegistryClient({ baseUrl: source.baseUrl });
135
+ // Get API key if source requires auth
136
+ const apiKey = await getSourceApiKey(source);
137
+ // For auth-required sources, check if we actually have the API key
138
+ if (source.authRequired && !apiKey) {
139
+ throw new Error(getAuthErrorMessage(source));
140
+ }
141
+ return new RegistryClient({ baseUrl: source.baseUrl, apiKey });
97
142
  }
98
143
  /**
99
144
  * Cross-source search: search all available sources in parallel and merge results
@@ -103,23 +148,38 @@ async function searchAllSources(query, spinner) {
103
148
  const skipped = [];
104
149
  const warnings = [];
105
150
  const seenNames = new Set();
106
- // Separate ready and not-ready sources
107
- const readySources = CATALOG_SOURCES.filter((source) => {
151
+ // Check each source and get API keys for auth-required sources
152
+ const sourcePromises = CATALOG_SOURCES.map(async (source) => {
108
153
  if (!isSourceReady(source)) {
109
- skipped.push(source.name);
110
- warnings.push(`(${source.name} skipped: ${source.authEnvVar} not set)`);
111
- return false;
154
+ return { source, ready: false, apiKey: undefined };
155
+ }
156
+ // Get API key for auth-required sources
157
+ const apiKey = await getSourceApiKey(source);
158
+ if (source.authRequired && !apiKey) {
159
+ return { source, ready: false, apiKey: undefined };
112
160
  }
113
- return true;
161
+ return { source, ready: true, apiKey };
114
162
  });
163
+ const sourceResults = await Promise.all(sourcePromises);
164
+ // Separate ready and not-ready sources
165
+ const readySources = [];
166
+ for (const result of sourceResults) {
167
+ if (!result.ready) {
168
+ skipped.push(result.source.name);
169
+ warnings.push(`(${result.source.name} skipped: API key not set)`);
170
+ }
171
+ else {
172
+ readySources.push({ source: result.source, apiKey: result.apiKey });
173
+ }
174
+ }
115
175
  // Update spinner text for parallel search
116
176
  if (spinner) {
117
177
  spinner.text = `Searching ${readySources.length} source(s)...`;
118
178
  }
119
179
  // Search all ready sources in parallel
120
- const searchPromises = readySources.map(async (source) => {
180
+ const searchPromises = readySources.map(async ({ source, apiKey }) => {
121
181
  try {
122
- const client = new RegistryClient({ baseUrl: source.baseUrl });
182
+ const client = new RegistryClient({ baseUrl: source.baseUrl, apiKey });
123
183
  const servers = await client.searchServers(query);
124
184
  return { source: source.name, servers, error: null };
125
185
  }
@@ -315,7 +375,7 @@ async function showSourcesList(getConfigPath) {
315
375
  name: s.name,
316
376
  baseUrl: s.baseUrl,
317
377
  authRequired: s.authRequired,
318
- authEnvVar: s.authEnvVar,
378
+ secretKey: s.secretKey,
319
379
  ready: isSourceReady(s),
320
380
  })),
321
381
  });
@@ -333,6 +393,10 @@ async function showSourcesList(getConfigPath) {
333
393
  }
334
394
  export function createCatalogCommand(getConfigPath) {
335
395
  const cmd = new Command('catalog').description('Search and view MCP servers from registry');
396
+ // Initialize secret resolver before any command action
397
+ cmd.hook('preAction', async () => {
398
+ await initSecretResolver(getConfigPath);
399
+ });
336
400
  // catalog search <query>
337
401
  cmd
338
402
  .command('search')
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/commands/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CA2YzE"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/commands/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CA0nBzE"}
@@ -15,7 +15,7 @@ import { Command } from 'commander';
15
15
  import { output, outputError, getOutputOptions } from '../utils/output.js';
16
16
  import { existsSync, readFileSync } from 'fs';
17
17
  import { dirname } from 'path';
18
- import { listSecretBindings, setSecret, pruneOrphanSecrets, exportSecrets, importSecrets, } from '../secrets/index.js';
18
+ import { SqliteSecretStore, listSecretBindings, setSecret, pruneOrphanSecrets, exportSecrets, importSecrets, } from '../secrets/index.js';
19
19
  import { detectSecret } from '../secrets/detection.js';
20
20
  import { readSecretHidden, readSecretFromClipboard } from '../utils/secret-input.js';
21
21
  /**
@@ -63,18 +63,30 @@ export function createSecretsCommand(getConfigPath) {
63
63
  output('No secrets stored.');
64
64
  output('\nTo add secrets, use:');
65
65
  output(' pfscan secrets set <connector> <ENV_KEY>');
66
+ output(' pfscan secrets set <namespace> (e.g., catalog.smithery)');
66
67
  return;
67
68
  }
68
69
  output(`Found ${bindings.length} secret(s):\n`);
69
- output(' CONNECTOR ENV_KEY STATUS PROVIDER CREATED');
70
- output(' ───────────────── ───────────────────────── ──────── ──────── ───────────────────');
70
+ output(' KIND CONNECTOR/NAMESPACE KEY STATUS PROVIDER CREATED');
71
+ output(' ───────── ──────────────────── ───────────────────────── ──────── ──────── ───────────────────');
71
72
  for (const b of bindings) {
72
- const connector = (b.connector_id || '-').padEnd(17);
73
- const key = (b.env_key || '-').padEnd(25);
73
+ const kind = b.kind.padEnd(9);
74
+ let identifier;
75
+ let key;
76
+ if (b.kind === 'namespace') {
77
+ // For namespace, show the namespace key in identifier column, key is '-'
78
+ identifier = (b.env_key || '-').padEnd(20);
79
+ key = '-'.padEnd(25);
80
+ }
81
+ else {
82
+ // For connector, show connector_id and env_key
83
+ identifier = (b.connector_id || '-').padEnd(20);
84
+ key = (b.env_key || '-').padEnd(25);
85
+ }
74
86
  const status = b.status.padEnd(8);
75
87
  const provider = b.provider.padEnd(8);
76
88
  const created = b.created_at.slice(0, 19);
77
- output(` ${connector} ${key} ${status} ${provider} ${created}`);
89
+ output(` ${kind} ${identifier} ${key} ${status} ${provider} ${created}`);
78
90
  }
79
91
  }
80
92
  }
@@ -87,59 +99,276 @@ export function createSecretsCommand(getConfigPath) {
87
99
  // ============================================================
88
100
  // secrets set
89
101
  // ============================================================
102
+ // Supports two modes:
103
+ // 1. Connector mode: pfscan secrets set <connector> <envKey>
104
+ // 2. Namespace mode: pfscan secrets set <namespace>
105
+ // e.g., pfscan secrets set catalog.smithery
90
106
  secrets
91
- .command('set <connector> <envKey>')
92
- .description('Set a secret value for a connector environment variable')
107
+ .command('set <namespaceOrConnector> [key]')
108
+ .description('Set a secret value (connector env or namespace)\n\nExamples:\n pfscan secrets set my-connector OPENAI_API_KEY\n pfscan secrets set catalog.smithery')
93
109
  .option('--clip', 'Read secret from clipboard instead of prompting')
94
- .action(async (connectorId, envKey, options) => {
110
+ .action(async (namespaceOrConnector, key, options) => {
95
111
  try {
96
112
  const configPath = getConfigPath();
97
- // Validate connector exists
98
- if (!existsSync(configPath)) {
99
- outputError(`Config file not found: ${configPath}`);
113
+ const configDir = dirname(configPath);
114
+ // Determine mode: namespace (contains dot) vs connector
115
+ const isNamespaceMode = namespaceOrConnector.includes('.');
116
+ if (isNamespaceMode) {
117
+ // Namespace mode: e.g., "catalog.smithery"
118
+ // key is ignored in namespace mode - the full namespace IS the key
119
+ const fullKey = namespaceOrConnector;
120
+ // Read secret value
121
+ let secretValue;
122
+ if (options.clip) {
123
+ output(`Reading secret for ${fullKey} from clipboard...`);
124
+ secretValue = await readSecretFromClipboard();
125
+ }
126
+ else {
127
+ process.stdout.write(`Enter secret for ${fullKey}: `);
128
+ secretValue = await readSecretHidden();
129
+ }
130
+ if (!secretValue || secretValue.trim().length === 0) {
131
+ outputError('Secret value cannot be empty');
132
+ process.exit(1);
133
+ }
134
+ // Store the secret
135
+ const store = new SqliteSecretStore(configDir);
136
+ let secretRef;
137
+ try {
138
+ const result = await store.store(secretValue.trim(), {
139
+ keyName: fullKey,
140
+ source: fullKey,
141
+ });
142
+ secretRef = result.reference;
143
+ }
144
+ finally {
145
+ store.close();
146
+ }
147
+ // Update config with secret reference
148
+ const { ConfigManager } = await import('../config/index.js');
149
+ const manager = new ConfigManager(configPath);
150
+ const config = await manager.loadOrDefault();
151
+ // Parse namespace path (e.g., "catalog.smithery" -> config.catalog.secrets["catalog.smithery"])
152
+ const parts = fullKey.split('.');
153
+ if (parts[0] === 'catalog') {
154
+ config.catalog = config.catalog || {};
155
+ config.catalog.secrets = config.catalog.secrets || {};
156
+ config.catalog.secrets[fullKey] = secretRef;
157
+ }
158
+ else {
159
+ // Generic namespace support for future use
160
+ // Store in config under the namespace path
161
+ outputError(`Unknown namespace: ${parts[0]}. Supported: catalog`);
162
+ process.exit(1);
163
+ }
164
+ await manager.save(config);
165
+ output(`\n Secret stored: ${secretRef}`);
166
+ output(` Config updated: ${fullKey}`);
167
+ }
168
+ else {
169
+ // Connector mode (existing behavior)
170
+ const connectorId = namespaceOrConnector;
171
+ const envKey = key;
172
+ // key is required in connector mode
173
+ if (!envKey) {
174
+ outputError('Usage: pfscan secrets set <connector> <envKey>');
175
+ outputError(' pfscan secrets set <namespace> (e.g., catalog.smithery)');
176
+ process.exit(1);
177
+ }
178
+ // Validate connector exists
179
+ if (!existsSync(configPath)) {
180
+ outputError(`Config file not found: ${configPath}`);
181
+ process.exit(1);
182
+ }
183
+ let config;
184
+ try {
185
+ config = JSON.parse(readFileSync(configPath, 'utf-8'));
186
+ }
187
+ catch (parseErr) {
188
+ outputError(`Invalid config file format: ${parseErr instanceof SyntaxError ? 'JSON parse error' : 'Read error'}`);
189
+ process.exit(1);
190
+ }
191
+ const connector = config.connectors?.find(c => c.id === connectorId);
192
+ if (!connector) {
193
+ outputError(`Connector not found: ${connectorId}`);
194
+ outputError(`Available connectors: ${config.connectors?.map(c => c.id).join(', ') || 'none'}`);
195
+ process.exit(1);
196
+ }
197
+ // Read secret value
198
+ let secretValue;
199
+ if (options.clip) {
200
+ output(`Reading secret for ${connectorId}.${envKey} from clipboard...`);
201
+ secretValue = await readSecretFromClipboard();
202
+ }
203
+ else {
204
+ output(`Enter secret for ${connectorId}.${envKey}:`);
205
+ secretValue = await readSecretHidden();
206
+ }
207
+ if (!secretValue || secretValue.trim().length === 0) {
208
+ outputError('Secret value cannot be empty');
209
+ process.exit(1);
210
+ }
211
+ // Store secret and update config
212
+ const result = await setSecret({
213
+ configPath,
214
+ connectorId,
215
+ envKey,
216
+ secretValue: secretValue.trim(),
217
+ });
218
+ output(`\n Secret stored: ${result.secretRef}`);
219
+ output(` Config updated: ${connectorId}.transport.env.${envKey}`);
220
+ }
221
+ }
222
+ catch (err) {
223
+ const msg = err instanceof Error ? err.message : String(err);
224
+ outputError(`Failed to set secret: ${msg}`);
225
+ process.exit(1);
226
+ }
227
+ });
228
+ // ============================================================
229
+ // secrets get (new command for namespace secrets)
230
+ // ============================================================
231
+ secrets
232
+ .command('get <namespace>')
233
+ .description('Check if a namespace secret exists (does not show value)\n\nExamples:\n pfscan secrets get catalog.smithery')
234
+ .action(async (namespace) => {
235
+ try {
236
+ const configPath = getConfigPath();
237
+ const configDir = dirname(configPath);
238
+ if (!namespace.includes('.')) {
239
+ outputError('Argument must be a namespace (e.g., catalog.smithery)');
240
+ outputError('For connector secrets, use: pfscan secrets list');
100
241
  process.exit(1);
101
242
  }
102
- let config;
103
- try {
104
- config = JSON.parse(readFileSync(configPath, 'utf-8'));
243
+ const fullKey = namespace;
244
+ const parts = namespace.split('.');
245
+ // Read config
246
+ const { ConfigManager } = await import('../config/index.js');
247
+ const manager = new ConfigManager(configPath);
248
+ const config = await manager.loadOrDefault();
249
+ let secretRef;
250
+ if (parts[0] === 'catalog') {
251
+ secretRef = config.catalog?.secrets?.[fullKey];
105
252
  }
106
- catch (parseErr) {
107
- outputError(`Invalid config file format: ${parseErr instanceof SyntaxError ? 'JSON parse error' : 'Read error'}`);
253
+ else {
254
+ outputError(`Unknown namespace: ${parts[0]}. Supported: catalog`);
108
255
  process.exit(1);
109
256
  }
110
- const connector = config.connectors?.find(c => c.id === connectorId);
111
- if (!connector) {
112
- outputError(`Connector not found: ${connectorId}`);
113
- outputError(`Available connectors: ${config.connectors?.map(c => c.id).join(', ') || 'none'}`);
257
+ if (!secretRef) {
258
+ if (getOutputOptions().json) {
259
+ output({ exists: false, key: fullKey });
260
+ }
261
+ else {
262
+ output(`Secret not found: ${fullKey}`);
263
+ output(`\nTo set it: pfscan secrets set ${fullKey}`);
264
+ }
114
265
  process.exit(1);
115
266
  }
116
- // Read secret value
117
- let secretValue;
118
- if (options.clip) {
119
- output(`Reading secret for ${connectorId}.${envKey} from clipboard...`);
120
- secretValue = await readSecretFromClipboard();
267
+ // Verify secret exists in store
268
+ const store = new SqliteSecretStore(configDir);
269
+ try {
270
+ const match = secretRef.match(/^[^:]+:(.+)$/);
271
+ if (!match) {
272
+ if (getOutputOptions().json) {
273
+ output({ exists: false, key: fullKey, error: 'Invalid reference' });
274
+ }
275
+ else {
276
+ outputError(`Invalid secret reference: ${secretRef}`);
277
+ }
278
+ process.exit(1);
279
+ }
280
+ const secretId = match[1];
281
+ const exists = await store.exists(secretId);
282
+ if (getOutputOptions().json) {
283
+ output({ exists, key: fullKey, reference: secretRef });
284
+ }
285
+ else {
286
+ if (exists) {
287
+ output(`Secret exists: ${fullKey}`);
288
+ output(` Reference: ${secretRef}`);
289
+ }
290
+ else {
291
+ output(`Secret reference found but value missing: ${fullKey}`);
292
+ output(` Stored reference: ${secretRef}`);
293
+ output(`\nRe-set it: pfscan secrets set ${fullKey}`);
294
+ }
295
+ }
121
296
  }
122
- else {
123
- output(`Enter secret for ${connectorId}.${envKey}:`);
124
- secretValue = await readSecretHidden();
297
+ finally {
298
+ store.close();
299
+ }
300
+ }
301
+ catch (err) {
302
+ const msg = err instanceof Error ? err.message : String(err);
303
+ outputError(`Failed to get secret: ${msg}`);
304
+ process.exit(1);
305
+ }
306
+ });
307
+ // ============================================================
308
+ // secrets unset (new command for namespace secrets)
309
+ // ============================================================
310
+ secrets
311
+ .command('unset <namespace>')
312
+ .description('Remove a namespace secret\n\nExamples:\n pfscan secrets unset catalog.smithery')
313
+ .action(async (namespace) => {
314
+ try {
315
+ const configPath = getConfigPath();
316
+ const configDir = dirname(configPath);
317
+ if (!namespace.includes('.')) {
318
+ outputError('Argument must be a namespace (e.g., catalog.smithery)');
319
+ outputError('For connector secrets, use: pfscan secrets prune');
320
+ process.exit(1);
321
+ }
322
+ const fullKey = namespace;
323
+ const parts = namespace.split('.');
324
+ // Read config
325
+ const { ConfigManager } = await import('../config/index.js');
326
+ const manager = new ConfigManager(configPath);
327
+ const config = await manager.loadOrDefault();
328
+ let secretRef;
329
+ if (parts[0] === 'catalog') {
330
+ secretRef = config.catalog?.secrets?.[fullKey];
331
+ if (secretRef && config.catalog?.secrets) {
332
+ delete config.catalog.secrets[fullKey];
333
+ }
125
334
  }
126
- if (!secretValue || secretValue.trim().length === 0) {
127
- outputError('Secret value cannot be empty');
335
+ else {
336
+ outputError(`Unknown namespace: ${parts[0]}. Supported: catalog`);
128
337
  process.exit(1);
129
338
  }
130
- // Store secret and update config
131
- const result = await setSecret({
132
- configPath,
133
- connectorId,
134
- envKey,
135
- secretValue: secretValue.trim(),
136
- });
137
- output(`\n Secret stored: ${result.secretRef}`);
138
- output(` Config updated: ${connectorId}.transport.env.${envKey}`);
339
+ if (!secretRef) {
340
+ if (getOutputOptions().json) {
341
+ output({ removed: false, key: fullKey, reason: 'not found' });
342
+ }
343
+ else {
344
+ output(`Secret not found: ${fullKey}`);
345
+ }
346
+ return;
347
+ }
348
+ // Remove from store
349
+ const store = new SqliteSecretStore(configDir);
350
+ try {
351
+ const match = secretRef.match(/^[^:]+:(.+)$/);
352
+ if (match) {
353
+ const secretId = match[1];
354
+ await store.delete(secretId);
355
+ }
356
+ }
357
+ finally {
358
+ store.close();
359
+ }
360
+ // Save updated config
361
+ await manager.save(config);
362
+ if (getOutputOptions().json) {
363
+ output({ removed: true, key: fullKey });
364
+ }
365
+ else {
366
+ output(`Secret removed: ${fullKey}`);
367
+ }
139
368
  }
140
369
  catch (err) {
141
370
  const msg = err instanceof Error ? err.message : String(err);
142
- outputError(`Failed to set secret: ${msg}`);
371
+ outputError(`Failed to unset secret: ${msg}`);
143
372
  process.exit(1);
144
373
  }
145
374
  });