@probelabs/visor 0.1.36 → 0.1.38
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/README.md +859 -59
- package/action.yml +10 -0
- package/defaults/.visor.yaml +69 -13
- package/dist/action-cli-bridge.d.ts +2 -0
- package/dist/action-cli-bridge.d.ts.map +1 -1
- package/dist/ai-review-service.d.ts +5 -1
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/check-execution-engine.d.ts +14 -1
- package/dist/check-execution-engine.d.ts.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/cron-scheduler.d.ts +66 -0
- package/dist/cron-scheduler.d.ts.map +1 -0
- package/dist/defaults/.visor.yaml +69 -13
- package/dist/event-mapper.d.ts.map +1 -1
- package/dist/failure-condition-evaluator.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +107335 -75687
- package/dist/output/code-review/schema.json +1 -1
- package/dist/pr-analyzer.d.ts +8 -0
- package/dist/pr-analyzer.d.ts.map +1 -1
- package/dist/providers/ai-check-provider.d.ts +8 -0
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/check-provider-registry.d.ts.map +1 -1
- package/dist/providers/check-provider.interface.d.ts +7 -7
- package/dist/providers/check-provider.interface.d.ts.map +1 -1
- package/dist/providers/claude-code-check-provider.d.ts +68 -0
- package/dist/providers/claude-code-check-provider.d.ts.map +1 -0
- package/dist/providers/claude-code-types.d.ts +68 -0
- package/dist/providers/claude-code-types.d.ts.map +1 -0
- package/dist/providers/{webhook-check-provider.d.ts → http-check-provider.d.ts} +6 -4
- package/dist/providers/http-check-provider.d.ts.map +1 -0
- package/dist/providers/http-client-provider.d.ts +22 -0
- package/dist/providers/http-client-provider.d.ts.map +1 -0
- package/dist/providers/http-input-provider.d.ts +27 -0
- package/dist/providers/http-input-provider.d.ts.map +1 -0
- package/dist/providers/index.d.ts +6 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/log-check-provider.d.ts +29 -0
- package/dist/providers/log-check-provider.d.ts.map +1 -0
- package/dist/providers/mcp-tools.d.ts +106 -0
- package/dist/providers/mcp-tools.d.ts.map +1 -0
- package/dist/providers/tool-check-provider.d.ts.map +1 -1
- package/dist/types/cli.d.ts +4 -0
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts +136 -8
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-merger.d.ts.map +1 -1
- package/dist/webhook-server.d.ts +93 -0
- package/dist/webhook-server.d.ts.map +1 -0
- package/package.json +16 -2
- package/dist/providers/webhook-check-provider.d.ts.map +0 -1
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"severity": {
|
|
40
40
|
"type": "string",
|
|
41
41
|
"enum": ["info", "warning", "error", "critical"],
|
|
42
|
-
"description": "Issue severity level"
|
|
42
|
+
"description": "Issue severity level: info (suggestions/improvements), warning (should fix), error (must fix), critical (blocks deployment)"
|
|
43
43
|
},
|
|
44
44
|
"category": {
|
|
45
45
|
"type": "string",
|
package/dist/pr-analyzer.d.ts
CHANGED
|
@@ -15,6 +15,13 @@ export interface PRDiff {
|
|
|
15
15
|
patch?: string;
|
|
16
16
|
status: 'added' | 'removed' | 'modified' | 'renamed';
|
|
17
17
|
}
|
|
18
|
+
export interface PRComment {
|
|
19
|
+
id: number;
|
|
20
|
+
author: string;
|
|
21
|
+
body: string;
|
|
22
|
+
createdAt: string;
|
|
23
|
+
updatedAt: string;
|
|
24
|
+
}
|
|
18
25
|
export interface PRInfo {
|
|
19
26
|
number: number;
|
|
20
27
|
title: string;
|
|
@@ -31,6 +38,7 @@ export interface PRInfo {
|
|
|
31
38
|
isIncremental?: boolean;
|
|
32
39
|
isIssue?: boolean;
|
|
33
40
|
eventContext?: Record<string, unknown>;
|
|
41
|
+
comments?: PRComment[];
|
|
34
42
|
}
|
|
35
43
|
export declare class PRAnalyzer {
|
|
36
44
|
private octokit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/pr-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/pr-analyzer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,YAAY,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAQD,qBAAa,UAAU;IAEnB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,UAAU;gBADV,OAAO,EAAE,OAAO,EAChB,UAAU,GAAE,MAAU;IAGhC;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBtF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOlB,WAAW,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,YAAY,GAChD,OAAO,CAAC,MAAM,CAAC;IAkHZ,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;YAkBrD,SAAS;IAwCvB,OAAO,CAAC,gBAAgB;CAkBzB"}
|
|
@@ -11,6 +11,10 @@ export declare class AICheckProvider extends CheckProvider {
|
|
|
11
11
|
getName(): string;
|
|
12
12
|
getDescription(): string;
|
|
13
13
|
validateConfig(config: unknown): Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Validate MCP servers configuration
|
|
16
|
+
*/
|
|
17
|
+
private validateMcpServers;
|
|
14
18
|
/**
|
|
15
19
|
* Group files by their file extension for template context
|
|
16
20
|
*/
|
|
@@ -31,6 +35,10 @@ export declare class AICheckProvider extends CheckProvider {
|
|
|
31
35
|
* Render Liquid template in prompt with comprehensive event context
|
|
32
36
|
*/
|
|
33
37
|
private renderPromptTemplate;
|
|
38
|
+
/**
|
|
39
|
+
* Setup MCP tools based on AI configuration
|
|
40
|
+
*/
|
|
41
|
+
private setupMcpTools;
|
|
34
42
|
execute(prInfo: PRInfo, config: CheckProviderConfig, _dependencyResults?: Map<string, ReviewSummary>, sessionInfo?: {
|
|
35
43
|
parentSessionId?: string;
|
|
36
44
|
reuseSession?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/ai-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/ai-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAU5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAS;;IAQ7B,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAkDvD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;YACW,UAAU;IAsExB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,oBAAoB;IA+JlC;;OAEG;YACW,aAAa;IA8DrB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;YAiBX,iBAAiB;IA2K/B,sBAAsB,IAAI,MAAM,EAAE;IAmB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-provider-registry.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/check-provider-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"check-provider-registry.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/check-provider-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D;;GAEG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAE/C,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,qBAAqB;IAO3C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAYvC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAS9B;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIpD;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAU/C;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,eAAe,IAAI,aAAa,EAAE;IAIlC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAapD;;OAEG;IACG,aAAa,IAAI,OAAO,CAC5B,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CACH;IAgBD;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;CAG7B"}
|
|
@@ -22,13 +22,7 @@ export interface CheckProviderConfig {
|
|
|
22
22
|
metadata?: Record<string, unknown>;
|
|
23
23
|
workingDirectory?: string;
|
|
24
24
|
env?: EnvConfig;
|
|
25
|
-
ai?:
|
|
26
|
-
provider?: string;
|
|
27
|
-
model?: string;
|
|
28
|
-
apiKey?: string;
|
|
29
|
-
timeout?: number;
|
|
30
|
-
debug?: boolean;
|
|
31
|
-
};
|
|
25
|
+
ai?: import('../types/config').AIProviderConfig;
|
|
32
26
|
/** AI model to use for this check - overrides global setting */
|
|
33
27
|
ai_model?: string;
|
|
34
28
|
/** AI provider to use for this check - overrides global setting */
|
|
@@ -84,5 +78,11 @@ export declare abstract class CheckProvider {
|
|
|
84
78
|
* Get provider requirements (e.g., environment variables needed)
|
|
85
79
|
*/
|
|
86
80
|
abstract getRequirements(): string[];
|
|
81
|
+
/**
|
|
82
|
+
* Set webhook context for providers that need access to webhook data
|
|
83
|
+
* This is optional and only used by http_input providers
|
|
84
|
+
* @param webhookContext Map of endpoint paths to webhook data
|
|
85
|
+
*/
|
|
86
|
+
setWebhookContext?(webhookContext: Map<string, unknown>): void;
|
|
87
87
|
}
|
|
88
88
|
//# sourceMappingURL=check-provider.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-provider.interface.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/check-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,EAAE,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"check-provider.interface.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/check-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,iBAAiB,EAAE,gBAAgB,CAAC;IAChD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzD,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,8BAAsB,aAAa;IACjC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,MAAM;IAE1B;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1D;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAE3C;;;OAGG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,MAAM,EAAE;IAEpC;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAC/D"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
|
|
2
|
+
import { PRInfo } from '../pr-analyzer';
|
|
3
|
+
import { ReviewSummary } from '../reviewer';
|
|
4
|
+
/**
|
|
5
|
+
* Error thrown when Claude Code SDK is not installed
|
|
6
|
+
*/
|
|
7
|
+
export declare class ClaudeCodeSDKNotInstalledError extends Error {
|
|
8
|
+
constructor();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Error thrown when Claude Code API key is not configured
|
|
12
|
+
*/
|
|
13
|
+
export declare class ClaudeCodeAPIKeyMissingError extends Error {
|
|
14
|
+
constructor();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Claude Code check provider using the Claude Code TypeScript SDK
|
|
18
|
+
* Supports MCP tools and streaming responses
|
|
19
|
+
*/
|
|
20
|
+
export declare class ClaudeCodeCheckProvider extends CheckProvider {
|
|
21
|
+
private liquidEngine;
|
|
22
|
+
private claudeCodeClient;
|
|
23
|
+
constructor();
|
|
24
|
+
getName(): string;
|
|
25
|
+
getDescription(): string;
|
|
26
|
+
validateConfig(config: unknown): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Initialize Claude Code SDK client
|
|
29
|
+
*/
|
|
30
|
+
private initializeClaudeCodeClient;
|
|
31
|
+
/**
|
|
32
|
+
* Setup MCP tools based on configuration
|
|
33
|
+
*/
|
|
34
|
+
private setupMcpTools;
|
|
35
|
+
/**
|
|
36
|
+
* Group files by their file extension for template context
|
|
37
|
+
*/
|
|
38
|
+
private groupFilesByExtension;
|
|
39
|
+
/**
|
|
40
|
+
* Process prompt configuration to resolve final prompt string
|
|
41
|
+
*/
|
|
42
|
+
private processPrompt;
|
|
43
|
+
/**
|
|
44
|
+
* Detect if a string is likely a file path and if the file exists
|
|
45
|
+
*/
|
|
46
|
+
private isFilePath;
|
|
47
|
+
/**
|
|
48
|
+
* Load prompt content from file with security validation
|
|
49
|
+
*/
|
|
50
|
+
private loadPromptFromFile;
|
|
51
|
+
/**
|
|
52
|
+
* Render Liquid template in prompt with comprehensive context
|
|
53
|
+
*/
|
|
54
|
+
private renderPromptTemplate;
|
|
55
|
+
/**
|
|
56
|
+
* Parse structured response from Claude Code
|
|
57
|
+
*/
|
|
58
|
+
private parseStructuredResponse;
|
|
59
|
+
execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>, sessionInfo?: {
|
|
60
|
+
parentSessionId?: string;
|
|
61
|
+
reuseSession?: boolean;
|
|
62
|
+
}): Promise<ReviewSummary>;
|
|
63
|
+
private executeWithConfig;
|
|
64
|
+
getSupportedConfigKeys(): string[];
|
|
65
|
+
isAvailable(): Promise<boolean>;
|
|
66
|
+
getRequirements(): string[];
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=claude-code-check-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/claude-code-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAc5C;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;;CAOxD;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;;CAOtD;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAiC;;IAOzD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDvD;;OAEG;YACW,0BAA0B;IAyCxC;;OAEG;YACW,aAAa;IAqE3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;YACW,UAAU;IAkExB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,oBAAoB;IA+HlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmBzB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;YAgBX,iBAAiB;IA8H/B,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for Claude Code SDK and MCP SDK
|
|
3
|
+
* These are placeholder types for when the packages aren't installed
|
|
4
|
+
*/
|
|
5
|
+
export interface ClaudeCodeQuery {
|
|
6
|
+
query: string;
|
|
7
|
+
tools?: Array<{
|
|
8
|
+
name: string;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}>;
|
|
11
|
+
subagent?: string;
|
|
12
|
+
maxTurns?: number;
|
|
13
|
+
systemPrompt?: string;
|
|
14
|
+
sessionId?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface ClaudeCodeResponse {
|
|
17
|
+
content: string;
|
|
18
|
+
usage?: {
|
|
19
|
+
input_tokens: number;
|
|
20
|
+
output_tokens: number;
|
|
21
|
+
};
|
|
22
|
+
turn_count?: number;
|
|
23
|
+
session_id?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ClaudeCodeClient {
|
|
26
|
+
query(options: ClaudeCodeQuery): Promise<ClaudeCodeResponse>;
|
|
27
|
+
}
|
|
28
|
+
export interface McpServerConfig {
|
|
29
|
+
command: string;
|
|
30
|
+
args?: string[];
|
|
31
|
+
env?: Record<string, string>;
|
|
32
|
+
}
|
|
33
|
+
export interface McpTool {
|
|
34
|
+
name: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
inputSchema?: Record<string, unknown>;
|
|
37
|
+
handler?: (args: Record<string, unknown>) => Promise<unknown>;
|
|
38
|
+
}
|
|
39
|
+
export interface McpServer {
|
|
40
|
+
name: string;
|
|
41
|
+
command?: string;
|
|
42
|
+
args?: string[];
|
|
43
|
+
env?: Record<string, string>;
|
|
44
|
+
tools?: McpTool[];
|
|
45
|
+
}
|
|
46
|
+
export interface McpServerInstance {
|
|
47
|
+
name: string;
|
|
48
|
+
listTools(): Promise<McpTool[]>;
|
|
49
|
+
callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
|
|
50
|
+
close(): Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
export interface ClaudeCodeConfig {
|
|
53
|
+
allowedTools?: string[];
|
|
54
|
+
maxTurns?: number;
|
|
55
|
+
systemPrompt?: string;
|
|
56
|
+
mcpServers?: Record<string, McpServerConfig>;
|
|
57
|
+
subagent?: string;
|
|
58
|
+
hooks?: {
|
|
59
|
+
onStart?: string;
|
|
60
|
+
onEnd?: string;
|
|
61
|
+
onError?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Utility function to safely import optional dependencies
|
|
66
|
+
*/
|
|
67
|
+
export declare function safeImport<T>(moduleName: string): Promise<T | null>;
|
|
68
|
+
//# sourceMappingURL=claude-code-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-types.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/claude-code-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC9D;AAGD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAGD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D;AAGD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAGD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAGD,MAAM,WAAW,gBAAgB;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAMzE"}
|
|
@@ -2,13 +2,15 @@ import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
|
|
|
2
2
|
import { PRInfo } from '../pr-analyzer';
|
|
3
3
|
import { ReviewSummary } from '../reviewer';
|
|
4
4
|
/**
|
|
5
|
-
* Check provider that sends
|
|
5
|
+
* Check provider that sends data to an HTTP endpoint, typically used as an output/notification provider
|
|
6
6
|
*/
|
|
7
|
-
export declare class
|
|
7
|
+
export declare class HttpCheckProvider extends CheckProvider {
|
|
8
|
+
private liquid;
|
|
9
|
+
constructor();
|
|
8
10
|
getName(): string;
|
|
9
11
|
getDescription(): string;
|
|
10
12
|
validateConfig(config: unknown): Promise<boolean>;
|
|
11
|
-
execute(prInfo: PRInfo, config: CheckProviderConfig,
|
|
13
|
+
execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>, _sessionInfo?: {
|
|
12
14
|
parentSessionId?: string;
|
|
13
15
|
reuseSession?: boolean;
|
|
14
16
|
}): Promise<ReviewSummary>;
|
|
@@ -21,4 +23,4 @@ export declare class WebhookCheckProvider extends CheckProvider {
|
|
|
21
23
|
isAvailable(): Promise<boolean>;
|
|
22
24
|
getRequirements(): string[];
|
|
23
25
|
}
|
|
24
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=http-check-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAIzD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YAuEX,kBAAkB;IA4ChC,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IASxB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
|
|
2
|
+
import { PRInfo } from '../pr-analyzer';
|
|
3
|
+
import { ReviewSummary } from '../reviewer';
|
|
4
|
+
/**
|
|
5
|
+
* Check provider that fetches data from HTTP endpoints
|
|
6
|
+
*/
|
|
7
|
+
export declare class HttpClientProvider extends CheckProvider {
|
|
8
|
+
private liquid;
|
|
9
|
+
constructor();
|
|
10
|
+
getName(): string;
|
|
11
|
+
getDescription(): string;
|
|
12
|
+
validateConfig(config: unknown): Promise<boolean>;
|
|
13
|
+
execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>, _sessionInfo?: {
|
|
14
|
+
parentSessionId?: string;
|
|
15
|
+
reuseSession?: boolean;
|
|
16
|
+
}): Promise<ReviewSummary>;
|
|
17
|
+
private fetchData;
|
|
18
|
+
getSupportedConfigKeys(): string[];
|
|
19
|
+
isAvailable(): Promise<boolean>;
|
|
20
|
+
getRequirements(): string[];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=http-client-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-client-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,MAAM,CAAS;;IAOvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YAkGX,SAAS;IA2EvB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
|
|
2
|
+
import { PRInfo } from '../pr-analyzer';
|
|
3
|
+
import { ReviewSummary } from '../reviewer';
|
|
4
|
+
/**
|
|
5
|
+
* Check provider that receives input from HTTP webhooks and makes it available to dependent checks
|
|
6
|
+
*/
|
|
7
|
+
export declare class HttpInputProvider extends CheckProvider {
|
|
8
|
+
private liquid;
|
|
9
|
+
private webhookContext?;
|
|
10
|
+
constructor();
|
|
11
|
+
/**
|
|
12
|
+
* Set webhook context for accessing webhook data
|
|
13
|
+
*/
|
|
14
|
+
setWebhookContext(webhookContext: Map<string, unknown>): void;
|
|
15
|
+
getName(): string;
|
|
16
|
+
getDescription(): string;
|
|
17
|
+
validateConfig(config: unknown): Promise<boolean>;
|
|
18
|
+
execute(prInfo: PRInfo, config: CheckProviderConfig, _dependencyResults?: Map<string, ReviewSummary>, _sessionInfo?: {
|
|
19
|
+
parentSessionId?: string;
|
|
20
|
+
reuseSession?: boolean;
|
|
21
|
+
}): Promise<ReviewSummary>;
|
|
22
|
+
private getWebhookData;
|
|
23
|
+
getSupportedConfigKeys(): string[];
|
|
24
|
+
isAvailable(): Promise<boolean>;
|
|
25
|
+
getRequirements(): string[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=http-input-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-input-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-input-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAC,CAAuB;;IAO9C;;OAEG;IACH,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7D,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAwDzB,OAAO,CAAC,cAAc;IAqBtB,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
|
|
@@ -5,6 +5,11 @@ export { CheckProvider, CheckProviderConfig } from './check-provider.interface';
|
|
|
5
5
|
export { CheckProviderRegistry } from './check-provider-registry';
|
|
6
6
|
export { AICheckProvider } from './ai-check-provider';
|
|
7
7
|
export { ToolCheckProvider } from './tool-check-provider';
|
|
8
|
-
export {
|
|
8
|
+
export { HttpCheckProvider } from './http-check-provider';
|
|
9
|
+
export { HttpInputProvider } from './http-input-provider';
|
|
10
|
+
export { HttpClientProvider } from './http-client-provider';
|
|
9
11
|
export { NoopCheckProvider } from './noop-check-provider';
|
|
12
|
+
export { LogCheckProvider } from './log-check-provider';
|
|
13
|
+
export { ClaudeCodeCheckProvider } from './claude-code-check-provider';
|
|
14
|
+
export { VisorMcpTools, McpServerManager, DEFAULT_MCP_TOOLS_CONFIG } from './mcp-tools';
|
|
10
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
|
|
2
|
+
import { PRInfo } from '../pr-analyzer';
|
|
3
|
+
import { ReviewSummary } from '../reviewer';
|
|
4
|
+
/**
|
|
5
|
+
* Log levels supported by the log provider
|
|
6
|
+
*/
|
|
7
|
+
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
8
|
+
/**
|
|
9
|
+
* Check provider that outputs debugging and logging information.
|
|
10
|
+
* Useful for troubleshooting check workflows and understanding execution flow.
|
|
11
|
+
*/
|
|
12
|
+
export declare class LogCheckProvider extends CheckProvider {
|
|
13
|
+
private liquid;
|
|
14
|
+
constructor();
|
|
15
|
+
getName(): string;
|
|
16
|
+
getDescription(): string;
|
|
17
|
+
validateConfig(config: unknown): Promise<boolean>;
|
|
18
|
+
execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>, _sessionInfo?: {
|
|
19
|
+
parentSessionId?: string;
|
|
20
|
+
reuseSession?: boolean;
|
|
21
|
+
}): Promise<ReviewSummary>;
|
|
22
|
+
private buildTemplateContext;
|
|
23
|
+
private formatLogOutput;
|
|
24
|
+
private getLevelEmoji;
|
|
25
|
+
getSupportedConfigKeys(): string[];
|
|
26
|
+
isAvailable(): Promise<boolean>;
|
|
27
|
+
getRequirements(): string[];
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=log-check-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/log-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,MAAM,CAAS;;IAUvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAmCzB,OAAO,CAAC,oBAAoB;IA8D5B,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,aAAa;IAerB,sBAAsB,IAAI,MAAM,EAAE;IAgB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAM5B"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tools Support for Visor
|
|
3
|
+
*
|
|
4
|
+
* This module provides MCP (Model Context Protocol) tools integration
|
|
5
|
+
* for the Claude Code check provider, enabling custom tools and
|
|
6
|
+
* in-process MCP server creation.
|
|
7
|
+
*/
|
|
8
|
+
interface McpTool {
|
|
9
|
+
name: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
inputSchema?: Record<string, unknown>;
|
|
12
|
+
handler?: (args: Record<string, unknown>) => Promise<unknown>;
|
|
13
|
+
}
|
|
14
|
+
interface McpServer {
|
|
15
|
+
name: string;
|
|
16
|
+
command?: string;
|
|
17
|
+
args?: string[];
|
|
18
|
+
env?: Record<string, string>;
|
|
19
|
+
tools?: McpTool[];
|
|
20
|
+
}
|
|
21
|
+
interface McpServerInstance {
|
|
22
|
+
name: string;
|
|
23
|
+
listTools(): Promise<McpTool[]>;
|
|
24
|
+
callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
|
|
25
|
+
close(): Promise<void>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Built-in MCP tools for Visor code analysis
|
|
29
|
+
*/
|
|
30
|
+
export declare class VisorMcpTools {
|
|
31
|
+
/**
|
|
32
|
+
* Get built-in MCP tools for code analysis
|
|
33
|
+
*/
|
|
34
|
+
static getBuiltInTools(): McpTool[];
|
|
35
|
+
/**
|
|
36
|
+
* Analyze file structure and organization
|
|
37
|
+
*/
|
|
38
|
+
private static analyzeFileStructure;
|
|
39
|
+
/**
|
|
40
|
+
* Detect common code patterns and anti-patterns
|
|
41
|
+
*/
|
|
42
|
+
private static detectPatterns;
|
|
43
|
+
/**
|
|
44
|
+
* Calculate code complexity metrics
|
|
45
|
+
*/
|
|
46
|
+
private static calculateComplexity;
|
|
47
|
+
/**
|
|
48
|
+
* Suggest code improvements based on best practices
|
|
49
|
+
*/
|
|
50
|
+
private static suggestImprovements;
|
|
51
|
+
/**
|
|
52
|
+
* Generate structure recommendations
|
|
53
|
+
*/
|
|
54
|
+
private static generateStructureRecommendations;
|
|
55
|
+
/**
|
|
56
|
+
* Calculate cyclomatic complexity (simplified)
|
|
57
|
+
*/
|
|
58
|
+
private static calculateCyclomaticComplexity;
|
|
59
|
+
/**
|
|
60
|
+
* Calculate nesting depth
|
|
61
|
+
*/
|
|
62
|
+
private static calculateNestingDepth;
|
|
63
|
+
/**
|
|
64
|
+
* Generate complexity recommendations
|
|
65
|
+
*/
|
|
66
|
+
private static generateComplexityRecommendations;
|
|
67
|
+
/**
|
|
68
|
+
* Calculate priority based on suggestions
|
|
69
|
+
*/
|
|
70
|
+
private static calculatePriority;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* MCP Server Manager for handling external MCP servers
|
|
74
|
+
*/
|
|
75
|
+
export declare class McpServerManager {
|
|
76
|
+
private servers;
|
|
77
|
+
/**
|
|
78
|
+
* Create and register an MCP server
|
|
79
|
+
*/
|
|
80
|
+
createServer(config: McpServer): Promise<McpServerInstance>;
|
|
81
|
+
/**
|
|
82
|
+
* Get a registered server by name
|
|
83
|
+
*/
|
|
84
|
+
getServer(name: string): McpServerInstance | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* List all available tools from all servers
|
|
87
|
+
*/
|
|
88
|
+
listAllTools(): Promise<Array<{
|
|
89
|
+
serverName: string;
|
|
90
|
+
tool: McpTool;
|
|
91
|
+
}>>;
|
|
92
|
+
/**
|
|
93
|
+
* Close all servers
|
|
94
|
+
*/
|
|
95
|
+
closeAll(): Promise<void>;
|
|
96
|
+
/**
|
|
97
|
+
* Create external MCP server instance
|
|
98
|
+
*/
|
|
99
|
+
private createExternalServer;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Default MCP tools configuration for Visor
|
|
103
|
+
*/
|
|
104
|
+
export declare const DEFAULT_MCP_TOOLS_CONFIG: McpServer[];
|
|
105
|
+
export {};
|
|
106
|
+
//# sourceMappingURL=mcp-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-tools.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/mcp-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,OAAO,EAAE;IAmFnC;;OAEG;mBACkB,oBAAoB;IA8DzC;;OAEG;mBACkB,cAAc;IAqDnC;;OAEG;mBACkB,mBAAmB;IA6BxC;;OAEG;mBACkB,mBAAmB;IAwExC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,gCAAgC;IA0B/C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAuB5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAgBpC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iCAAiC;IAuBhD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAcjC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAA6C;IAE5D;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuBjE;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAItD;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAiB3E;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B;;OAEG;YACW,oBAAoB;CAKnC;AA4DD;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,EAK/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/tool-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAA8B,MAAM,aAAa,CAAC;AAKxE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;;IASvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YAmEX,cAAc;IAwC5B,OAAO,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"tool-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/tool-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAA8B,MAAM,aAAa,CAAC;AAKxE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;;IASvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YAmEX,cAAc;IAwC5B,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,mBAAmB;IAe3B,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
|
package/dist/types/cli.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ export interface CliOptions {
|
|
|
24
24
|
debug?: boolean;
|
|
25
25
|
/** Stop execution on first failure condition */
|
|
26
26
|
failFast?: boolean;
|
|
27
|
+
/** Tags to include - checks must have at least one of these tags */
|
|
28
|
+
tags?: string[];
|
|
29
|
+
/** Tags to exclude - checks with any of these tags will be skipped */
|
|
30
|
+
excludeTags?: string[];
|
|
27
31
|
/** Allowed URL patterns for remote config extends */
|
|
28
32
|
allowedRemotePatterns?: string[];
|
|
29
33
|
/** Show help text */
|
package/dist/types/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/types/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,gCAAgC;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/types/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,gCAAgC;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,qDAAqD;IACrD,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,qBAAqB;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mBAAmB;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,UAAU,CAAC;CACrB"}
|