mstro-app 0.3.7 → 0.3.8

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.
Files changed (51) hide show
  1. package/README.md +4 -8
  2. package/bin/mstro.js +54 -15
  3. package/dist/server/cli/headless/stall-assessor.d.ts.map +1 -1
  4. package/dist/server/cli/headless/stall-assessor.js +4 -1
  5. package/dist/server/cli/headless/stall-assessor.js.map +1 -1
  6. package/dist/server/cli/headless/tool-watchdog.d.ts.map +1 -1
  7. package/dist/server/cli/headless/tool-watchdog.js +8 -0
  8. package/dist/server/cli/headless/tool-watchdog.js.map +1 -1
  9. package/dist/server/index.js +0 -4
  10. package/dist/server/index.js.map +1 -1
  11. package/dist/server/mcp/bouncer-integration.d.ts +2 -0
  12. package/dist/server/mcp/bouncer-integration.d.ts.map +1 -1
  13. package/dist/server/mcp/bouncer-integration.js +55 -39
  14. package/dist/server/mcp/bouncer-integration.js.map +1 -1
  15. package/dist/server/mcp/bouncer-sandbox.d.ts +60 -0
  16. package/dist/server/mcp/bouncer-sandbox.d.ts.map +1 -0
  17. package/dist/server/mcp/bouncer-sandbox.js +182 -0
  18. package/dist/server/mcp/bouncer-sandbox.js.map +1 -0
  19. package/dist/server/mcp/security-patterns.d.ts +6 -12
  20. package/dist/server/mcp/security-patterns.d.ts.map +1 -1
  21. package/dist/server/mcp/security-patterns.js +197 -10
  22. package/dist/server/mcp/security-patterns.js.map +1 -1
  23. package/dist/server/services/websocket/handler.d.ts +0 -1
  24. package/dist/server/services/websocket/handler.d.ts.map +1 -1
  25. package/dist/server/services/websocket/handler.js +7 -2
  26. package/dist/server/services/websocket/handler.js.map +1 -1
  27. package/dist/server/services/websocket/quality-handlers.d.ts +4 -0
  28. package/dist/server/services/websocket/quality-handlers.d.ts.map +1 -0
  29. package/dist/server/services/websocket/quality-handlers.js +106 -0
  30. package/dist/server/services/websocket/quality-handlers.js.map +1 -0
  31. package/dist/server/services/websocket/quality-service.d.ts +54 -0
  32. package/dist/server/services/websocket/quality-service.d.ts.map +1 -0
  33. package/dist/server/services/websocket/quality-service.js +766 -0
  34. package/dist/server/services/websocket/quality-service.js.map +1 -0
  35. package/dist/server/services/websocket/session-handlers.d.ts.map +1 -1
  36. package/dist/server/services/websocket/session-handlers.js +23 -0
  37. package/dist/server/services/websocket/session-handlers.js.map +1 -1
  38. package/dist/server/services/websocket/types.d.ts +2 -2
  39. package/dist/server/services/websocket/types.d.ts.map +1 -1
  40. package/package.json +2 -1
  41. package/server/cli/headless/stall-assessor.ts +4 -1
  42. package/server/cli/headless/tool-watchdog.ts +8 -0
  43. package/server/index.ts +0 -4
  44. package/server/mcp/bouncer-integration.ts +66 -44
  45. package/server/mcp/bouncer-sandbox.ts +214 -0
  46. package/server/mcp/security-patterns.ts +206 -10
  47. package/server/services/websocket/handler.ts +7 -2
  48. package/server/services/websocket/quality-handlers.ts +140 -0
  49. package/server/services/websocket/quality-service.ts +922 -0
  50. package/server/services/websocket/session-handlers.ts +26 -0
  51. package/server/services/websocket/types.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../server/services/websocket/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../../server/services/websocket/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { HandlerContext } from './handler-context.js';
2
+ import type { WebSocketMessage, WSContext } from './types.js';
3
+ export declare function handleQualityMessage(ctx: HandlerContext, ws: WSContext, msg: WebSocketMessage, _tabId: string, workingDir: string): void;
4
+ //# sourceMappingURL=quality-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-handlers.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-handlers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9D,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,SAAS,EACb,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,IAAI,CAoBN"}
@@ -0,0 +1,106 @@
1
+ // Copyright (c) 2025-present Mstro, Inc. All rights reserved.
2
+ // Licensed under the MIT License. See LICENSE file for details.
3
+ import { join } from 'node:path';
4
+ import { detectTools, installTools, runQualityScan } from './quality-service.js';
5
+ export function handleQualityMessage(ctx, ws, msg, _tabId, workingDir) {
6
+ const handlers = {
7
+ qualityDetectTools: () => handleDetectTools(ctx, ws, msg, workingDir),
8
+ qualityScan: () => handleScan(ctx, ws, msg, workingDir),
9
+ qualityInstallTools: () => handleInstallTools(ctx, ws, msg, workingDir),
10
+ qualityCodeReview: () => handleCodeReview(ctx, ws, msg, workingDir),
11
+ };
12
+ const handler = handlers[msg.type];
13
+ if (!handler)
14
+ return;
15
+ try {
16
+ handler();
17
+ }
18
+ catch (error) {
19
+ const errMsg = error instanceof Error ? error.message : String(error);
20
+ ctx.send(ws, {
21
+ type: 'qualityError',
22
+ data: { path: msg.data?.path || workingDir, error: errMsg },
23
+ });
24
+ }
25
+ }
26
+ function resolvePath(workingDir, dirPath) {
27
+ if (!dirPath || dirPath === '.' || dirPath === './')
28
+ return workingDir;
29
+ if (dirPath.startsWith('/'))
30
+ return dirPath;
31
+ return join(workingDir, dirPath);
32
+ }
33
+ async function handleDetectTools(ctx, ws, msg, workingDir) {
34
+ const dirPath = resolvePath(workingDir, msg.data?.path);
35
+ try {
36
+ const { tools, ecosystem } = await detectTools(dirPath);
37
+ ctx.send(ws, {
38
+ type: 'qualityToolsDetected',
39
+ data: { path: msg.data?.path || '.', tools, ecosystem },
40
+ });
41
+ }
42
+ catch (error) {
43
+ ctx.send(ws, {
44
+ type: 'qualityError',
45
+ data: { path: msg.data?.path || '.', error: error instanceof Error ? error.message : String(error) },
46
+ });
47
+ }
48
+ }
49
+ async function handleScan(ctx, ws, msg, workingDir) {
50
+ const dirPath = resolvePath(workingDir, msg.data?.path);
51
+ const reportPath = msg.data?.path || '.';
52
+ try {
53
+ const results = await runQualityScan(dirPath, (progress) => {
54
+ ctx.send(ws, {
55
+ type: 'qualityScanProgress',
56
+ data: { path: reportPath, progress },
57
+ });
58
+ });
59
+ ctx.send(ws, {
60
+ type: 'qualityScanResults',
61
+ data: { path: reportPath, results },
62
+ });
63
+ }
64
+ catch (error) {
65
+ ctx.send(ws, {
66
+ type: 'qualityError',
67
+ data: { path: reportPath, error: error instanceof Error ? error.message : String(error) },
68
+ });
69
+ }
70
+ }
71
+ async function handleInstallTools(ctx, ws, msg, workingDir) {
72
+ const dirPath = resolvePath(workingDir, msg.data?.path);
73
+ const reportPath = msg.data?.path || '.';
74
+ const toolNames = msg.data?.tools;
75
+ try {
76
+ ctx.send(ws, {
77
+ type: 'qualityInstallProgress',
78
+ data: { path: reportPath, installing: true },
79
+ });
80
+ const { tools, ecosystem } = await installTools(dirPath, toolNames);
81
+ ctx.send(ws, {
82
+ type: 'qualityInstallComplete',
83
+ data: { path: reportPath, tools, ecosystem },
84
+ });
85
+ }
86
+ catch (error) {
87
+ ctx.send(ws, {
88
+ type: 'qualityError',
89
+ data: { path: reportPath, error: error instanceof Error ? error.message : String(error) },
90
+ });
91
+ }
92
+ }
93
+ async function handleCodeReview(ctx, ws, msg, _workingDir) {
94
+ const reportPath = msg.data?.path || '.';
95
+ // Code review via headless Claude will be implemented in a follow-up.
96
+ // For now, send an empty result to unblock the UI.
97
+ ctx.send(ws, {
98
+ type: 'qualityCodeReview',
99
+ data: {
100
+ path: reportPath,
101
+ findings: [],
102
+ summary: 'Code review requires a Claude Code session. Run from the Chat view for a detailed code review.',
103
+ },
104
+ });
105
+ }
106
+ //# sourceMappingURL=quality-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-handlers.js","sourceRoot":"","sources":["../../../../server/services/websocket/quality-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ export interface QualityTool {
2
+ name: string;
3
+ installed: boolean;
4
+ installCommand: string;
5
+ category: 'linter' | 'formatter' | 'complexity' | 'general';
6
+ }
7
+ export interface CategoryScore {
8
+ name: string;
9
+ score: number;
10
+ weight: number;
11
+ effectiveWeight: number;
12
+ available: boolean;
13
+ issueCount?: number;
14
+ details?: Record<string, unknown>;
15
+ }
16
+ export interface QualityFinding {
17
+ severity: 'critical' | 'high' | 'medium' | 'low';
18
+ category: string;
19
+ file: string;
20
+ line: number | null;
21
+ title: string;
22
+ description: string;
23
+ suggestion?: string;
24
+ }
25
+ export interface QualityResults {
26
+ overall: number;
27
+ grade: string;
28
+ categories: CategoryScore[];
29
+ findings: QualityFinding[];
30
+ codeReview: QualityFinding[];
31
+ analyzedFiles: number;
32
+ totalLines: number;
33
+ timestamp: string;
34
+ ecosystem: string[];
35
+ }
36
+ export interface ScanProgress {
37
+ step: string;
38
+ current: number;
39
+ total: number;
40
+ }
41
+ type Ecosystem = 'node' | 'python' | 'rust' | 'go' | 'unknown';
42
+ export declare function detectEcosystem(dirPath: string): Ecosystem[];
43
+ export declare function detectTools(dirPath: string): Promise<{
44
+ tools: QualityTool[];
45
+ ecosystem: string[];
46
+ }>;
47
+ export declare function installTools(dirPath: string, toolNames?: string[]): Promise<{
48
+ tools: QualityTool[];
49
+ ecosystem: string[];
50
+ }>;
51
+ export type ProgressCallback = (progress: ScanProgress) => void;
52
+ export declare function runQualityScan(dirPath: string, onProgress?: ProgressCallback): Promise<QualityResults>;
53
+ export {};
54
+ //# sourceMappingURL=quality-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quality-service.d.ts","sourceRoot":"","sources":["../../../../server/services/websocket/quality-service.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,KAAK,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AA+D/D,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAa5D;AAkBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAkBzG;AAMD,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAYxD;AAunBD,MAAM,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;AAEhE,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,gBAAgB,GAC5B,OAAO,CAAC,cAAc,CAAC,CAgGzB"}