proofscan 0.5.2 → 0.5.4

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/cli.js CHANGED
@@ -25,7 +25,7 @@ import { setOutputOptions } from './utils/output.js';
25
25
  const require = createRequire(import.meta.url);
26
26
  const packageJson = require('../package.json');
27
27
  const VERSION = packageJson.version;
28
- import { createConfigCommand, createConnectorsCommand, createScanCommand, createMonitorCommand, createSessionsCommand, createArchiveCommand, createViewCommand, createTreeCommand, createExploreCommand, createStatusCommand, createEventsCommand, createRpcCommand, createSummaryCommand, } from './commands/index.js';
28
+ import { createConfigCommand, createConnectorsCommand, createScanCommand, createMonitorCommand, createSessionsCommand, createArchiveCommand, createViewCommand, createTreeCommand, createExploreCommand, createStatusCommand, createEventsCommand, createRpcCommand, createSummaryCommand, createPermissionsCommand, } from './commands/index.js';
29
29
  const program = new Command();
30
30
  // Global state for config path
31
31
  let globalConfigPath;
@@ -45,6 +45,7 @@ Common Commands:
45
45
  status, st Show system status
46
46
  rpc View RPC call details (list, show)
47
47
  summary Show session summary (Phase 3)
48
+ permissions Show permission stats per category (Phase 3)
48
49
 
49
50
  Management:
50
51
  archive, a Archive and prune old data
@@ -146,6 +147,8 @@ program.addCommand(createEventsCommand(getConfigPath));
146
147
  program.addCommand(createRpcCommand(getConfigPath));
147
148
  // summary (Phase 3: capabilities, tool calls, concerns)
148
149
  program.addCommand(createSummaryCommand(getConfigPath));
150
+ // permissions (Phase 3: detailed permission stats)
151
+ program.addCommand(createPermissionsCommand(getConfigPath));
149
152
  // ============================================================
150
153
  // Default action: pfscan → pfscan view
151
154
  // ============================================================
@@ -158,7 +161,7 @@ function hasSubcommand() {
158
161
  const knownCommands = new Set([
159
162
  'view', 'v', 'tree', 't', 'explore', 'e', 'status', 'st',
160
163
  'scan', 's', 'archive', 'a', 'config', 'c',
161
- 'connectors', 'sessions', 'monitor', 'events', 'rpc', 'summary', 'help'
164
+ 'connectors', 'sessions', 'monitor', 'events', 'rpc', 'summary', 'permissions', 'help'
162
165
  ]);
163
166
  for (let i = 2; i < process.argv.length; i++) {
164
167
  const arg = process.argv[i];
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,5 @@ export * from './status.js';
11
11
  export * from './events.js';
12
12
  export * from './rpc.js';
13
13
  export * from './summary.js';
14
+ export * from './permissions.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAG7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAG5B,cAAc,UAAU,CAAC;AAGzB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAG7B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAG5B,cAAc,UAAU,CAAC;AAGzB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -15,4 +15,5 @@ export * from './events.js';
15
15
  export * from './rpc.js';
16
16
  // Phase 3 new commands
17
17
  export * from './summary.js';
18
+ export * from './permissions.js';
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,yBAAyB;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,yBAAyB;AACzB,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,yBAAyB;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,yBAAyB;AACzB,cAAc,UAAU,CAAC;AAEzB,uBAAuB;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Permissions command - Phase 3
3
+ *
4
+ * pfscan permissions [--session <sid>] [--latest] [--connector <id>]
5
+ *
6
+ * Shows detailed allowed/used stats per category and per tool.
7
+ *
8
+ * Categories (in display order):
9
+ * - 読み取り(Read)
10
+ * - 書き込み(Write)
11
+ * - ネット接続(Network)
12
+ * - コマンド実行(Exec)
13
+ * - その他操作(Other)
14
+ */
15
+ import { Command } from 'commander';
16
+ import { OperationCategory } from './summary.js';
17
+ /** Tool permission info */
18
+ export interface ToolPermission {
19
+ name: string;
20
+ allowed: boolean;
21
+ called: number;
22
+ }
23
+ /** Category stats */
24
+ export interface CategoryStats {
25
+ allowed_tool_count: number;
26
+ called_count: number;
27
+ tools: ToolPermission[];
28
+ }
29
+ /** Permissions data structure */
30
+ export interface PermissionsData {
31
+ schema_version: string;
32
+ session_id: string;
33
+ connector_id: string;
34
+ resolved_by: 'option' | 'latest' | 'current';
35
+ /** Stats per category */
36
+ categories: Record<OperationCategory, CategoryStats>;
37
+ /** Totals across all categories */
38
+ totals: {
39
+ allowed_tool_count: number;
40
+ called_count: number;
41
+ };
42
+ }
43
+ export declare function createPermissionsCommand(getConfigPath: () => string): Command;
44
+ //# sourceMappingURL=permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/commands/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAAgB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAkB/D,2BAA2B;AAC3B,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAqB;AACrB,MAAM,WAAW,aAAa;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE7C,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAErD,mCAAmC;IACnC,MAAM,EAAE;QACN,kBAAkB,EAAE,MAAM,CAAC;QAC3B,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAoOD,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAkD7E"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Permissions command - Phase 3
3
+ *
4
+ * pfscan permissions [--session <sid>] [--latest] [--connector <id>]
5
+ *
6
+ * Shows detailed allowed/used stats per category and per tool.
7
+ *
8
+ * Categories (in display order):
9
+ * - 読み取り(Read)
10
+ * - 書き込み(Write)
11
+ * - ネット接続(Network)
12
+ * - コマンド実行(Exec)
13
+ * - その他操作(Other)
14
+ */
15
+ import { Command } from 'commander';
16
+ import { ConfigManager } from '../config/index.js';
17
+ import { getEventsDb } from '../db/connection.js';
18
+ import { output, getOutputOptions } from '../utils/output.js';
19
+ import { resolveSession, isSessionError, formatSessionError, } from '../utils/session-resolver.js';
20
+ import { shortenId } from '../eventline/types.js';
21
+ import { classifyTool } from './summary.js';
22
+ // ============================================================
23
+ // Types
24
+ // ============================================================
25
+ /** Japanese labels for categories (Phase 3 UX format) */
26
+ const CATEGORY_LABELS = {
27
+ read: '読み取り(Read)',
28
+ write: '書き込み(Write)',
29
+ network: 'ネット接続(Network)',
30
+ exec: 'コマンド実行(Exec)',
31
+ other: 'その他操作(Other)',
32
+ };
33
+ /** Display order for categories */
34
+ const CATEGORY_ORDER = ['read', 'write', 'network', 'exec', 'other'];
35
+ /**
36
+ * Extract tools from tools/list response
37
+ */
38
+ function extractToolsFromSession(configDir, sessionId) {
39
+ const db = getEventsDb(configDir);
40
+ // Find tools/list response
41
+ const toolsListRpc = db.prepare(`
42
+ SELECT rpc_id FROM rpc_calls
43
+ WHERE session_id = ? AND method = 'tools/list'
44
+ ORDER BY request_ts ASC
45
+ LIMIT 1
46
+ `).get(sessionId);
47
+ if (!toolsListRpc) {
48
+ return [];
49
+ }
50
+ // Get the response event
51
+ const responseEvent = db.prepare(`
52
+ SELECT raw_json FROM events
53
+ WHERE session_id = ? AND rpc_id = ? AND kind = 'response'
54
+ LIMIT 1
55
+ `).get(sessionId, toolsListRpc.rpc_id);
56
+ if (!responseEvent?.raw_json) {
57
+ return [];
58
+ }
59
+ try {
60
+ const response = JSON.parse(responseEvent.raw_json);
61
+ const result = response.result;
62
+ if (!result?.tools || !Array.isArray(result.tools)) {
63
+ return [];
64
+ }
65
+ return result.tools.map(tool => ({
66
+ name: tool.name,
67
+ description: tool.description,
68
+ category: classifyTool(tool.name, tool.description),
69
+ }));
70
+ }
71
+ catch {
72
+ return [];
73
+ }
74
+ }
75
+ /**
76
+ * Extract tool call counts from tools/call requests
77
+ */
78
+ function extractToolCallCounts(configDir, sessionId) {
79
+ const db = getEventsDb(configDir);
80
+ // Find all tools/call requests
81
+ const toolCalls = db.prepare(`
82
+ SELECT rc.rpc_id, e.raw_json
83
+ FROM rpc_calls rc
84
+ JOIN events e ON rc.session_id = e.session_id AND rc.rpc_id = e.rpc_id
85
+ WHERE rc.session_id = ? AND rc.method = 'tools/call' AND e.kind = 'request'
86
+ `).all(sessionId);
87
+ // Count by tool name
88
+ const counts = new Map();
89
+ for (const call of toolCalls) {
90
+ if (!call.raw_json)
91
+ continue;
92
+ try {
93
+ const request = JSON.parse(call.raw_json);
94
+ const params = request.params;
95
+ const toolName = params?.name || 'unknown';
96
+ counts.set(toolName, (counts.get(toolName) || 0) + 1);
97
+ }
98
+ catch {
99
+ // Ignore parse errors
100
+ }
101
+ }
102
+ return counts;
103
+ }
104
+ // ============================================================
105
+ // Permissions Generation
106
+ // ============================================================
107
+ /**
108
+ * Generate permissions data for a session
109
+ */
110
+ function generatePermissions(configDir, sessionId, connectorId, resolvedBy) {
111
+ const allowedTools = extractToolsFromSession(configDir, sessionId);
112
+ const callCounts = extractToolCallCounts(configDir, sessionId);
113
+ // Initialize categories
114
+ const categories = {
115
+ read: { allowed_tool_count: 0, called_count: 0, tools: [] },
116
+ write: { allowed_tool_count: 0, called_count: 0, tools: [] },
117
+ network: { allowed_tool_count: 0, called_count: 0, tools: [] },
118
+ exec: { allowed_tool_count: 0, called_count: 0, tools: [] },
119
+ other: { allowed_tool_count: 0, called_count: 0, tools: [] },
120
+ };
121
+ // Track which tools are allowed
122
+ const allowedToolNames = new Set(allowedTools.map(t => t.name));
123
+ // Add allowed tools to their categories
124
+ for (const tool of allowedTools) {
125
+ const called = callCounts.get(tool.name) || 0;
126
+ categories[tool.category].tools.push({
127
+ name: tool.name,
128
+ allowed: true,
129
+ called,
130
+ });
131
+ categories[tool.category].allowed_tool_count++;
132
+ categories[tool.category].called_count += called;
133
+ }
134
+ // Add tools that were called but not in allowed list (shouldn't happen normally)
135
+ for (const [toolName, count] of callCounts) {
136
+ if (!allowedToolNames.has(toolName)) {
137
+ const category = classifyTool(toolName);
138
+ categories[category].tools.push({
139
+ name: toolName,
140
+ allowed: false,
141
+ called: count,
142
+ });
143
+ categories[category].called_count += count;
144
+ }
145
+ }
146
+ // Sort tools: called desc, then name asc
147
+ for (const cat of CATEGORY_ORDER) {
148
+ categories[cat].tools.sort((a, b) => {
149
+ if (b.called !== a.called) {
150
+ return b.called - a.called;
151
+ }
152
+ return a.name.localeCompare(b.name);
153
+ });
154
+ }
155
+ // Calculate totals
156
+ const totals = {
157
+ allowed_tool_count: allowedTools.length,
158
+ called_count: Array.from(callCounts.values()).reduce((sum, c) => sum + c, 0),
159
+ };
160
+ return {
161
+ schema_version: 'phase3.permissions.v1',
162
+ session_id: sessionId,
163
+ connector_id: connectorId,
164
+ resolved_by: resolvedBy,
165
+ categories,
166
+ totals,
167
+ };
168
+ }
169
+ // ============================================================
170
+ // Rendering
171
+ // ============================================================
172
+ /**
173
+ * Render permissions to terminal
174
+ */
175
+ function renderPermissions(data) {
176
+ console.log(`${data.connector_id} (session: ${shortenId(data.session_id, 8)}...)`);
177
+ console.log();
178
+ for (const cat of CATEGORY_ORDER) {
179
+ const stats = data.categories[cat];
180
+ const label = CATEGORY_LABELS[cat];
181
+ // Category header
182
+ console.log(`【${label}】`);
183
+ // 許可/使用
184
+ const hasPermission = stats.allowed_tool_count > 0;
185
+ console.log(` 許可: ${hasPermission ? 'あり' : 'なし'}`);
186
+ console.log(` 使用: ${stats.called_count} 回`);
187
+ // Tool list
188
+ if (stats.tools.length > 0) {
189
+ console.log();
190
+ for (const tool of stats.tools) {
191
+ const allowedMark = tool.allowed ? '' : ' (未許可)';
192
+ console.log(` ${tool.name}: ${tool.called} 回${allowedMark}`);
193
+ }
194
+ }
195
+ console.log();
196
+ }
197
+ // Totals
198
+ console.log('─'.repeat(40));
199
+ console.log(`合計: ${data.totals.allowed_tool_count} ツール許可, ${data.totals.called_count} 回使用`);
200
+ }
201
+ // ============================================================
202
+ // Command
203
+ // ============================================================
204
+ export function createPermissionsCommand(getConfigPath) {
205
+ const cmd = new Command('permissions')
206
+ .description('Show detailed permission stats per category and tool')
207
+ .option('--session <id>', 'Session ID (partial match supported)')
208
+ .option('--latest', 'Use the latest session')
209
+ .option('--connector <id>', 'Filter by connector (with --latest)')
210
+ .action(async (options) => {
211
+ try {
212
+ const manager = new ConfigManager(getConfigPath());
213
+ const configDir = manager.getConfigDir();
214
+ // Resolve session
215
+ const result = resolveSession({
216
+ sessionId: options.session,
217
+ latest: options.latest,
218
+ connectorId: options.connector,
219
+ configDir,
220
+ });
221
+ if (isSessionError(result)) {
222
+ console.error(formatSessionError(result));
223
+ process.exit(1);
224
+ }
225
+ // Generate permissions
226
+ const permissions = generatePermissions(configDir, result.sessionId, result.connectorId, result.resolvedBy);
227
+ if (getOutputOptions().json) {
228
+ output(permissions);
229
+ return;
230
+ }
231
+ renderPermissions(permissions);
232
+ }
233
+ catch (error) {
234
+ if (error instanceof Error && error.message.includes('no such table')) {
235
+ console.log('No data yet. Run a scan first:');
236
+ console.log(' pfscan scan start --id <connector>');
237
+ return;
238
+ }
239
+ throw error;
240
+ }
241
+ });
242
+ return cmd;
243
+ }
244
+ //# sourceMappingURL=permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/commands/permissions.ts"],"names":[],"mappings":"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"}
@@ -6,14 +6,14 @@
6
6
  * Shows:
7
7
  * - できること(capability): tools from tools/list
8
8
  * - やったこと(tool call): tools/call invocations
9
- * - 注意点: security concerns (max 3 lines)
9
+ * - 注意点: security notes (max 3 lines)
10
10
  *
11
11
  * Categories:
12
- * - 読み取り (read)
13
- * - 書き込み (write)
14
- * - ネット接続 (network)
15
- * - コマンド実行 (exec)
16
- * - その他操作 (other)
12
+ * - 読み取り(Read)
13
+ * - 書き込み(Write)
14
+ * - ネット接続(Network)
15
+ * - コマンド実行(Exec)
16
+ * - その他操作(Other)
17
17
  */
18
18
  import { Command } from 'commander';
19
19
  /** Operation category */
@@ -30,6 +30,16 @@ export interface ToolCallRecord {
30
30
  count: number;
31
31
  category: OperationCategory;
32
32
  }
33
+ /** Note severity levels */
34
+ export type NoteSeverity = 'info' | 'warn' | 'critical';
35
+ /** Note structure for JSON output */
36
+ export interface SummaryNote {
37
+ code: string;
38
+ severity: NoteSeverity;
39
+ category?: OperationCategory;
40
+ tool?: string;
41
+ called?: boolean;
42
+ }
33
43
  /** Summary data structure */
34
44
  export interface SummaryData {
35
45
  schema_version: string;
@@ -40,6 +50,7 @@ export interface SummaryData {
40
50
  capabilities: {
41
51
  tools: ToolInfo[];
42
52
  by_category: Record<OperationCategory, string[]>;
53
+ total_count: number;
43
54
  };
44
55
  /** Tool calls from tools/call */
45
56
  tool_calls: {
@@ -50,12 +61,9 @@ export interface SummaryData {
50
61
  }[]>;
51
62
  total_count: number;
52
63
  };
53
- /** Security concerns (max 3) */
54
- concerns: string[];
64
+ /** Security notes (English codes for JSON) */
65
+ notes: SummaryNote[];
55
66
  }
56
- /**
57
- * Classify a tool into a category based on name and description
58
- */
59
67
  export declare function classifyTool(name: string, description?: string): OperationCategory;
60
68
  export declare function createSummaryCommand(getConfigPath: () => string): Command;
61
69
  //# sourceMappingURL=summary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/commands/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,yBAAyB;AACzB,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAWhF,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,uBAAuB;AACvB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE7C,mCAAmC;IACnC,YAAY,EAAE;QACZ,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;KAClD,CAAC;IAEF,iCAAiC;IACjC,UAAU,EAAE;QACV,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC,CAAC;QAC1E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,gCAAgC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAyED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAwBlF;AAwRD,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAkDzE"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/commands/summary.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAepC,yBAAyB;AACzB,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAWhF,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,uBAAuB;AACvB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,2BAA2B;AAC3B,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAExD,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAE7C,mCAAmC;IACnC,YAAY,EAAE;QACZ,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,iCAAiC;IACjC,UAAU,EAAE;QACV,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC,iBAAiB,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC,CAAC;QAC1E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAEF,8CAA8C;IAC9C,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAkKD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAiDlF;AA2VD,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,MAAM,GAAG,OAAO,CAkDzE"}
@@ -6,14 +6,14 @@
6
6
  * Shows:
7
7
  * - できること(capability): tools from tools/list
8
8
  * - やったこと(tool call): tools/call invocations
9
- * - 注意点: security concerns (max 3 lines)
9
+ * - 注意点: security notes (max 3 lines)
10
10
  *
11
11
  * Categories:
12
- * - 読み取り (read)
13
- * - 書き込み (write)
14
- * - ネット接続 (network)
15
- * - コマンド実行 (exec)
16
- * - その他操作 (other)
12
+ * - 読み取り(Read)
13
+ * - 書き込み(Write)
14
+ * - ネット接続(Network)
15
+ * - コマンド実行(Exec)
16
+ * - その他操作(Other)
17
17
  */
18
18
  import { Command } from 'commander';
19
19
  import { ConfigManager } from '../config/index.js';
@@ -21,108 +21,201 @@ import { getEventsDb } from '../db/connection.js';
21
21
  import { output, getOutputOptions } from '../utils/output.js';
22
22
  import { resolveSession, isSessionError, formatSessionError, } from '../utils/session-resolver.js';
23
23
  import { shortenId } from '../eventline/types.js';
24
- /** Japanese labels for categories */
24
+ /** Japanese labels for categories (Phase 3 UX format) */
25
25
  const CATEGORY_LABELS = {
26
- read: '読み取り (read)',
27
- write: '書き込み (write)',
28
- network: 'ネット接続 (network)',
29
- exec: 'コマンド実行 (exec)',
30
- other: 'その他操作 (other)',
26
+ read: '読み取り(Read)',
27
+ write: '書き込み(Write)',
28
+ network: 'ネット接続(Network)',
29
+ exec: 'コマンド実行(Exec)',
30
+ other: 'その他操作(Other)',
31
31
  };
32
32
  // ============================================================
33
- // Category Classification
33
+ // Category Classification (v1 rules)
34
34
  // ============================================================
35
- /** Keywords for category classification */
36
- const CATEGORY_KEYWORDS = {
37
- read: [
38
- /read/i,
39
- /get/i,
40
- /list/i,
41
- /search/i,
42
- /query/i,
43
- /fetch/i,
44
- /find/i,
45
- /show/i,
46
- /view/i,
47
- /cat/i,
48
- /head/i,
49
- /tail/i,
50
- /ls/i,
51
- /dir/i,
52
- ],
53
- write: [
54
- /write/i,
55
- /create/i,
56
- /update/i,
57
- /delete/i,
58
- /remove/i,
59
- /edit/i,
60
- /modify/i,
61
- /set/i,
62
- /put/i,
63
- /post/i,
64
- /save/i,
65
- /mkdir/i,
66
- /touch/i,
67
- /mv/i,
68
- /cp/i,
69
- /rm/i,
70
- ],
71
- network: [
72
- /http/i,
73
- /https/i,
74
- /fetch/i,
75
- /request/i,
76
- /api/i,
77
- /url/i,
78
- /web/i,
79
- /net/i,
80
- /socket/i,
81
- /connect/i,
82
- /download/i,
83
- /upload/i,
84
- /curl/i,
85
- /wget/i,
86
- ],
87
- exec: [
88
- /exec/i,
89
- /run/i,
90
- /shell/i,
91
- /bash/i,
92
- /cmd/i,
93
- /command/i,
94
- /spawn/i,
95
- /process/i,
96
- /script/i,
97
- /terminal/i,
98
- ],
99
- other: [],
100
- };
35
+ /**
36
+ * Word boundary pattern for underscore-separated identifiers
37
+ * Matches: start of string, underscore, or space
38
+ */
39
+ const WB = '(?:^|_|\\s)';
40
+ const WBE = '(?:$|_|\\s)';
41
+ /**
42
+ * Create regex that matches word in underscore-separated or space-separated text
43
+ */
44
+ function wordPattern(word) {
45
+ return new RegExp(`${WB}${word}${WBE}`, 'i');
46
+ }
47
+ /**
48
+ * Keywords that force "other" category (time/misc tools)
49
+ * These take priority over weak matches like "get"
50
+ */
51
+ const MISC_KEYWORDS = [
52
+ wordPattern('time'),
53
+ wordPattern('timezone'),
54
+ wordPattern('datetime'),
55
+ wordPattern('clock'),
56
+ wordPattern('date'),
57
+ wordPattern('calendar'),
58
+ ];
59
+ /**
60
+ * Strong exec keywords (highest priority)
61
+ * Note: "run" alone is ambiguous; only exec when combined with command/shell/etc.
62
+ */
63
+ const EXEC_KEYWORDS = [
64
+ wordPattern('exec'),
65
+ wordPattern('execute'),
66
+ wordPattern('shell'),
67
+ wordPattern('bash'),
68
+ wordPattern('powershell'),
69
+ wordPattern('cmd'),
70
+ wordPattern('command'),
71
+ wordPattern('spawn'),
72
+ wordPattern('terminal'),
73
+ // "run" is checked separately with context
74
+ ];
75
+ /**
76
+ * Strong network keywords
77
+ */
78
+ const NETWORK_KEYWORDS = [
79
+ wordPattern('http'),
80
+ wordPattern('https'),
81
+ wordPattern('request'),
82
+ wordPattern('url'),
83
+ wordPattern('browser'),
84
+ wordPattern('socket'),
85
+ wordPattern('websocket'),
86
+ wordPattern('download'),
87
+ wordPattern('upload'),
88
+ wordPattern('curl'),
89
+ wordPattern('wget'),
90
+ wordPattern('fetch'),
91
+ ];
92
+ /**
93
+ * Strong write keywords
94
+ */
95
+ const WRITE_KEYWORDS = [
96
+ wordPattern('write'),
97
+ wordPattern('create'),
98
+ wordPattern('update'),
99
+ wordPattern('delete'),
100
+ wordPattern('remove'),
101
+ wordPattern('edit'),
102
+ wordPattern('modify'),
103
+ wordPattern('save'),
104
+ wordPattern('mkdir'),
105
+ wordPattern('touch'),
106
+ wordPattern('mv'),
107
+ wordPattern('cp'),
108
+ wordPattern('rm'),
109
+ wordPattern('put'),
110
+ wordPattern('post'),
111
+ wordPattern('patch'),
112
+ wordPattern('insert'),
113
+ wordPattern('append'),
114
+ ];
115
+ /**
116
+ * Strong read keywords (NOT including "get" alone)
117
+ * "get" is too ambiguous - get_current_time is not a read operation
118
+ * "search/query/find" are checked separately with file context
119
+ */
120
+ const READ_KEYWORDS = [
121
+ wordPattern('read'),
122
+ wordPattern('list'),
123
+ wordPattern('load'),
124
+ wordPattern('cat'),
125
+ wordPattern('head'),
126
+ wordPattern('tail'),
127
+ wordPattern('ls'),
128
+ wordPattern('dir'),
129
+ wordPattern('view'),
130
+ wordPattern('show'),
131
+ // "search/query/find" are checked separately with file context
132
+ ];
133
+ /**
134
+ * File/path related keywords that strengthen "read" classification
135
+ * If tool has "get" + file-related term, classify as read
136
+ */
137
+ const FILE_RELATED_KEYWORDS = [
138
+ wordPattern('file'),
139
+ wordPattern('files'),
140
+ wordPattern('path'),
141
+ wordPattern('directory'),
142
+ wordPattern('folder'),
143
+ wordPattern('content'),
144
+ wordPattern('document'),
145
+ wordPattern('documents'),
146
+ ];
147
+ /**
148
+ * Check if text matches any pattern in the list
149
+ */
150
+ function matchesAny(text, patterns) {
151
+ return patterns.some(pattern => pattern.test(text));
152
+ }
101
153
  /**
102
154
  * Classify a tool into a category based on name and description
155
+ *
156
+ * Priority: exec > network > write > read > other
157
+ * Special handling for time/misc tools to avoid false "read" classification
103
158
  */
159
+ /**
160
+ * Keywords that indicate exec context for "run"
161
+ */
162
+ const RUN_EXEC_CONTEXT = [
163
+ wordPattern('command'),
164
+ wordPattern('shell'),
165
+ wordPattern('terminal'),
166
+ wordPattern('cmd'),
167
+ wordPattern('script'),
168
+ wordPattern('bash'),
169
+ wordPattern('powershell'),
170
+ ];
171
+ /**
172
+ * Ambiguous keywords that need file context to be "read"
173
+ * search, query, find → only read if file/path/directory context exists
174
+ */
175
+ const AMBIGUOUS_READ_KEYWORDS = [
176
+ wordPattern('search'),
177
+ wordPattern('query'),
178
+ wordPattern('find'),
179
+ ];
104
180
  export function classifyTool(name, description) {
105
- const text = `${name} ${description || ''}`.toLowerCase();
106
- // Check exec first (highest risk)
107
- for (const pattern of CATEGORY_KEYWORDS.exec) {
108
- if (pattern.test(text))
109
- return 'exec';
181
+ const text = `${name} ${description || ''}`;
182
+ // Priority 1: Check exec (highest risk)
183
+ if (matchesAny(text, EXEC_KEYWORDS)) {
184
+ return 'exec';
185
+ }
186
+ // Priority 1b: Check "run" + exec context
187
+ const runPattern = wordPattern('run');
188
+ if (runPattern.test(text) && matchesAny(text, RUN_EXEC_CONTEXT)) {
189
+ return 'exec';
190
+ }
191
+ // Priority 2: Check network
192
+ if (matchesAny(text, NETWORK_KEYWORDS)) {
193
+ return 'network';
110
194
  }
111
- // Check network
112
- for (const pattern of CATEGORY_KEYWORDS.network) {
113
- if (pattern.test(text))
114
- return 'network';
195
+ // Priority 3: Check write
196
+ if (matchesAny(text, WRITE_KEYWORDS)) {
197
+ return 'write';
115
198
  }
116
- // Check write
117
- for (const pattern of CATEGORY_KEYWORDS.write) {
118
- if (pattern.test(text))
119
- return 'write';
199
+ // Priority 4: Check if it's a time/misc tool (before read check)
200
+ // This prevents "get_current_time" from being classified as "read"
201
+ if (matchesAny(text, MISC_KEYWORDS)) {
202
+ return 'other';
120
203
  }
121
- // Check read
122
- for (const pattern of CATEGORY_KEYWORDS.read) {
123
- if (pattern.test(text))
124
- return 'read';
204
+ // Priority 5: Check read with strong keywords
205
+ if (matchesAny(text, READ_KEYWORDS)) {
206
+ return 'read';
125
207
  }
208
+ // Priority 6: Check ambiguous read keywords (search/query/find) + file context
209
+ if (matchesAny(text, AMBIGUOUS_READ_KEYWORDS) && matchesAny(text, FILE_RELATED_KEYWORDS)) {
210
+ return 'read';
211
+ }
212
+ // Priority 7: Check "get" + file-related (weak read signal)
213
+ // Only classify as read if "get" is combined with file-related terms
214
+ const getPattern = wordPattern('get');
215
+ if (getPattern.test(name) && matchesAny(text, FILE_RELATED_KEYWORDS)) {
216
+ return 'read';
217
+ }
218
+ // Default: other
126
219
  return 'other';
127
220
  }
128
221
  /**
@@ -200,31 +293,66 @@ function extractToolCalls(configDir, sessionId) {
200
293
  }));
201
294
  }
202
295
  /**
203
- * Generate concerns based on capabilities and tool calls
296
+ * Generate notes based on capabilities and tool calls
204
297
  */
205
- function generateConcerns(capabilities, toolCalls) {
206
- const concerns = [];
207
- // Check for exec capability
298
+ function generateNotes(capabilities, toolCalls) {
299
+ const notes = [];
300
+ // Check for exec
208
301
  const hasExecCapability = capabilities.some(t => t.category === 'exec');
209
302
  const hasExecCall = toolCalls.some(t => t.category === 'exec');
303
+ const execTool = toolCalls.find(t => t.category === 'exec')?.name
304
+ || capabilities.find(t => t.category === 'exec')?.name;
210
305
  if (hasExecCall) {
211
- concerns.push('コマンド実行が行われました');
306
+ notes.push({
307
+ code: 'exec_called',
308
+ severity: 'critical',
309
+ category: 'exec',
310
+ tool: execTool,
311
+ called: true,
312
+ });
212
313
  }
213
314
  else if (hasExecCapability) {
214
- concerns.push('コマンド実行可能');
315
+ notes.push({
316
+ code: 'exec_capable',
317
+ severity: 'warn',
318
+ category: 'exec',
319
+ tool: execTool,
320
+ called: false,
321
+ });
215
322
  }
216
323
  // Check for write
217
324
  const hasWriteCall = toolCalls.some(t => t.category === 'write');
325
+ const writeTool = toolCalls.find(t => t.category === 'write')?.name;
218
326
  if (hasWriteCall) {
219
- concerns.push('書き込み操作あり');
327
+ notes.push({
328
+ code: 'write_called',
329
+ severity: 'warn',
330
+ category: 'write',
331
+ tool: writeTool,
332
+ called: true,
333
+ });
220
334
  }
221
335
  // Check for network
222
336
  const hasNetworkCall = toolCalls.some(t => t.category === 'network');
337
+ const networkTool = toolCalls.find(t => t.category === 'network')?.name;
223
338
  if (hasNetworkCall) {
224
- concerns.push('外部ネットワーク接続あり');
339
+ notes.push({
340
+ code: 'network_called',
341
+ severity: 'warn',
342
+ category: 'network',
343
+ tool: networkTool,
344
+ called: true,
345
+ });
346
+ }
347
+ // If no sensitive operations were called, add info note
348
+ if (!hasExecCall && !hasWriteCall && !hasNetworkCall) {
349
+ notes.push({
350
+ code: 'no_sensitive_calls',
351
+ severity: 'info',
352
+ });
225
353
  }
226
- // Limit to 3 concerns
227
- return concerns.slice(0, 3);
354
+ // Limit to 3 notes
355
+ return notes.slice(0, 3);
228
356
  }
229
357
  /**
230
358
  * Group items by category
@@ -251,7 +379,7 @@ function groupByCategory(items) {
251
379
  function generateSummary(configDir, sessionId, connectorId, resolvedBy) {
252
380
  const capabilities = extractToolsFromSession(configDir, sessionId);
253
381
  const toolCalls = extractToolCalls(configDir, sessionId);
254
- const concerns = generateConcerns(capabilities, toolCalls);
382
+ const notes = generateNotes(capabilities, toolCalls);
255
383
  // Group capabilities by category
256
384
  const capabilitiesByCategory = groupByCategory(capabilities);
257
385
  const capabilitiesSimple = {
@@ -278,69 +406,87 @@ function generateSummary(configDir, sessionId, connectorId, resolvedBy) {
278
406
  capabilities: {
279
407
  tools: capabilities,
280
408
  by_category: capabilitiesSimple,
409
+ total_count: capabilities.length,
281
410
  },
282
411
  tool_calls: {
283
412
  records: toolCalls,
284
413
  by_category: toolCallsSimple,
285
414
  total_count: toolCalls.reduce((sum, t) => sum + t.count, 0),
286
415
  },
287
- concerns,
416
+ notes,
288
417
  };
289
418
  }
290
419
  // ============================================================
291
- // Rendering
420
+ // Rendering (Phase 3 UX)
292
421
  // ============================================================
293
422
  /**
294
- * Render summary to terminal
423
+ * Note code to Japanese message mapping
424
+ */
425
+ const NOTE_MESSAGES = {
426
+ exec_called: 'コマンド実行が行われました',
427
+ exec_capable: 'コマンド実行可能なツールがあります',
428
+ write_called: '書き込み操作が行われました',
429
+ network_called: '外部ネットワーク接続が行われました',
430
+ no_sensitive_calls: '重要な操作(書き込み・ネット接続・コマンド実行)は実行されていません',
431
+ };
432
+ /**
433
+ * Render summary to terminal (Phase 3 UX format)
295
434
  */
296
435
  function renderSummary(data) {
297
436
  console.log(`${data.connector_id} (session: ${shortenId(data.session_id, 8)}...)`);
298
437
  console.log();
299
- // できること (capabilities)
300
- console.log('├── できること(capability):');
301
- const capabilityNames = data.capabilities.tools.map(t => t.name);
302
- if (capabilityNames.length > 0) {
303
- // Show up to 5 tools, then "..." if more
304
- const shown = capabilityNames.slice(0, 5);
305
- const extra = capabilityNames.length - shown.length;
306
- const suffix = extra > 0 ? ` (+${extra} more)` : '';
307
- console.log(`│ ${shown.join(', ')}${suffix}`);
438
+ // ============================================================
439
+ // 【できること(capability)】
440
+ // ============================================================
441
+ console.log(`【できること(capability)】 ${data.capabilities.total_count} 種類`);
442
+ console.log();
443
+ // Show tools by category
444
+ const categoryOrder = ['exec', 'network', 'write', 'read', 'other'];
445
+ let hasAnyCapability = false;
446
+ for (const cat of categoryOrder) {
447
+ const tools = data.capabilities.by_category[cat];
448
+ if (tools.length > 0) {
449
+ hasAnyCapability = true;
450
+ console.log(` ${CATEGORY_LABELS[cat]}: ${tools.join(', ')}`);
451
+ }
308
452
  }
309
- else {
310
- console.log('(なし)');
453
+ if (!hasAnyCapability) {
454
+ console.log(' (なし)');
311
455
  }
312
- // Show by category if verbose or many tools
313
- if (data.capabilities.tools.length > 3) {
314
- for (const [cat, label] of Object.entries(CATEGORY_LABELS)) {
315
- const tools = data.capabilities.by_category[cat];
316
- if (tools.length > 0) {
317
- console.log(`│ - ${label}: ${tools.join(', ')}`);
318
- }
456
+ console.log();
457
+ // ============================================================
458
+ // 【やったこと(tool call)】
459
+ // ============================================================
460
+ console.log(`【やったこと(tool call)】 ${data.tool_calls.total_count} 回`);
461
+ console.log();
462
+ let hasAnyCall = false;
463
+ for (const cat of categoryOrder) {
464
+ const calls = data.tool_calls.by_category[cat];
465
+ if (calls.length > 0) {
466
+ hasAnyCall = true;
467
+ const callStrings = calls.map(c => c.count > 1 ? `${c.name} (${c.count}回)` : c.name);
468
+ console.log(` ${CATEGORY_LABELS[cat]}: ${callStrings.join(', ')}`);
319
469
  }
320
470
  }
321
- // やったこと (tool calls)
322
- console.log('├── やったこと(tool call):');
323
- if (data.tool_calls.total_count > 0) {
324
- const callStrings = data.tool_calls.records.map(t => t.count > 1 ? `${t.name} (${t.count}回)` : t.name);
325
- // Show up to 5 calls, then "..." if more
326
- const shown = callStrings.slice(0, 5);
327
- const extra = callStrings.length - shown.length;
328
- const suffix = extra > 0 ? ` (+${extra} more)` : '';
329
- console.log(`│ ${shown.join(', ')}${suffix}`);
330
- }
331
- else {
332
- console.log('│ (なし)');
471
+ if (!hasAnyCall) {
472
+ console.log(' (なし)');
333
473
  }
334
- // 注意点 (concerns)
335
- if (data.concerns.length > 0) {
336
- console.log('└── 注意点:');
337
- for (let i = 0; i < data.concerns.length; i++) {
338
- const prefix = i === data.concerns.length - 1 ? ' ' : '│ ';
339
- console.log(`${prefix}⚠ ${data.concerns[i]}`);
474
+ console.log();
475
+ // ============================================================
476
+ // 【注意点】
477
+ // ============================================================
478
+ console.log('【注意点】');
479
+ console.log();
480
+ if (data.notes.length > 0) {
481
+ for (const note of data.notes) {
482
+ const message = NOTE_MESSAGES[note.code] || note.code;
483
+ const icon = note.severity === 'critical' ? '🔴' :
484
+ note.severity === 'warn' ? '⚠️' : 'ℹ️';
485
+ console.log(` ${icon} ${message}`);
340
486
  }
341
487
  }
342
488
  else {
343
- console.log('└── 注意点: (なし)');
489
+ console.log(' (なし)');
344
490
  }
345
491
  }
346
492
  // ============================================================
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/commands/summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/commands/summary.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proofscan",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "MCP Server scanner - eliminate black boxes by capturing JSON-RPC from connection to tools/list",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",