@probelabs/visor 0.1.50 → 0.1.51
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/index.js +214 -22
- package/dist/liquid-extensions.d.ts +19 -0
- package/dist/liquid-extensions.d.ts.map +1 -0
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/claude-code-check-provider.d.ts.map +1 -1
- package/dist/providers/command-check-provider.d.ts +11 -0
- package/dist/providers/command-check-provider.d.ts.map +1 -1
- package/dist/providers/http-check-provider.d.ts.map +1 -1
- package/dist/providers/http-client-provider.d.ts.map +1 -1
- package/dist/providers/http-input-provider.d.ts.map +1 -1
- package/dist/providers/log-check-provider.d.ts.map +1 -1
- package/dist/webhook-server.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
process.env.VISOR_VERSION = '0.1.
|
|
2
|
+
process.env.VISOR_VERSION = '0.1.51';
|
|
3
3
|
/******/ (() => { // webpackBootstrap
|
|
4
4
|
/******/ var __webpack_modules__ = ({
|
|
5
5
|
|
|
@@ -95606,10 +95606,10 @@ class CheckExecutionEngine {
|
|
|
95606
95606
|
return directContent.trim();
|
|
95607
95607
|
}
|
|
95608
95608
|
// Import the liquid template system
|
|
95609
|
-
const {
|
|
95609
|
+
const { createExtendedLiquid } = await Promise.resolve().then(() => __importStar(__nccwpck_require__(33042)));
|
|
95610
95610
|
const fs = await Promise.resolve().then(() => __importStar(__nccwpck_require__(91943)));
|
|
95611
95611
|
const path = await Promise.resolve().then(() => __importStar(__nccwpck_require__(16928)));
|
|
95612
|
-
const liquid =
|
|
95612
|
+
const liquid = createExtendedLiquid({
|
|
95613
95613
|
trimTagLeft: false,
|
|
95614
95614
|
trimTagRight: false,
|
|
95615
95615
|
trimOutputLeft: false,
|
|
@@ -101507,6 +101507,108 @@ class IssueFilter {
|
|
|
101507
101507
|
exports.IssueFilter = IssueFilter;
|
|
101508
101508
|
|
|
101509
101509
|
|
|
101510
|
+
/***/ }),
|
|
101511
|
+
|
|
101512
|
+
/***/ 33042:
|
|
101513
|
+
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
101514
|
+
|
|
101515
|
+
"use strict";
|
|
101516
|
+
|
|
101517
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
101518
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
101519
|
+
};
|
|
101520
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
101521
|
+
exports.ReadFileTag = void 0;
|
|
101522
|
+
exports.configureLiquidWithExtensions = configureLiquidWithExtensions;
|
|
101523
|
+
exports.createExtendedLiquid = createExtendedLiquid;
|
|
101524
|
+
const liquidjs_1 = __nccwpck_require__(48694);
|
|
101525
|
+
const promises_1 = __importDefault(__nccwpck_require__(91943));
|
|
101526
|
+
const path_1 = __importDefault(__nccwpck_require__(16928));
|
|
101527
|
+
/**
|
|
101528
|
+
* Custom ReadFile tag for Liquid templates
|
|
101529
|
+
* Usage: {% readfile "path/to/file.txt" %}
|
|
101530
|
+
* or with variable: {% readfile filename %}
|
|
101531
|
+
*/
|
|
101532
|
+
class ReadFileTag extends liquidjs_1.Tag {
|
|
101533
|
+
filepath;
|
|
101534
|
+
constructor(token, remainTokens, liquid) {
|
|
101535
|
+
super(token, remainTokens, liquid);
|
|
101536
|
+
this.filepath = new liquidjs_1.Value(token.args, liquid);
|
|
101537
|
+
}
|
|
101538
|
+
*render(ctx, emitter) {
|
|
101539
|
+
const filePath = yield this.filepath.value(ctx, false);
|
|
101540
|
+
// Validate the path
|
|
101541
|
+
if (!filePath || typeof filePath !== 'string') {
|
|
101542
|
+
emitter.write('[Error: Invalid file path]');
|
|
101543
|
+
return;
|
|
101544
|
+
}
|
|
101545
|
+
// Security: Resolve path relative to project root to prevent directory traversal
|
|
101546
|
+
const projectRoot = process.cwd();
|
|
101547
|
+
const resolvedPath = path_1.default.resolve(projectRoot, filePath.toString());
|
|
101548
|
+
// Ensure the resolved path is within the project directory
|
|
101549
|
+
if (!resolvedPath.startsWith(projectRoot)) {
|
|
101550
|
+
emitter.write('[Error: File path escapes project directory]');
|
|
101551
|
+
return;
|
|
101552
|
+
}
|
|
101553
|
+
// Read the file content
|
|
101554
|
+
try {
|
|
101555
|
+
const content = yield promises_1.default.readFile(resolvedPath, 'utf-8');
|
|
101556
|
+
emitter.write(content);
|
|
101557
|
+
}
|
|
101558
|
+
catch (error) {
|
|
101559
|
+
// Handle file read errors gracefully
|
|
101560
|
+
const errorMessage = error instanceof Error
|
|
101561
|
+
? error.message
|
|
101562
|
+
: error?.code || 'Unknown error';
|
|
101563
|
+
emitter.write(`[Error reading file: ${errorMessage}]`);
|
|
101564
|
+
}
|
|
101565
|
+
}
|
|
101566
|
+
}
|
|
101567
|
+
exports.ReadFileTag = ReadFileTag;
|
|
101568
|
+
/**
|
|
101569
|
+
* Configure a Liquid instance with custom extensions
|
|
101570
|
+
*/
|
|
101571
|
+
function configureLiquidWithExtensions(liquid) {
|
|
101572
|
+
// Register the readfile tag
|
|
101573
|
+
liquid.registerTag('readfile', ReadFileTag);
|
|
101574
|
+
// Register parse_json filter to parse JSON strings into objects
|
|
101575
|
+
liquid.registerFilter('parse_json', (value) => {
|
|
101576
|
+
if (typeof value !== 'string') {
|
|
101577
|
+
return value;
|
|
101578
|
+
}
|
|
101579
|
+
try {
|
|
101580
|
+
return JSON.parse(value);
|
|
101581
|
+
}
|
|
101582
|
+
catch {
|
|
101583
|
+
// Return original value if parsing fails
|
|
101584
|
+
return value;
|
|
101585
|
+
}
|
|
101586
|
+
});
|
|
101587
|
+
// Register to_json filter as alias for json (for consistency)
|
|
101588
|
+
liquid.registerFilter('to_json', (value) => {
|
|
101589
|
+
try {
|
|
101590
|
+
return JSON.stringify(value);
|
|
101591
|
+
}
|
|
101592
|
+
catch {
|
|
101593
|
+
return '[Error: Unable to serialize to JSON]';
|
|
101594
|
+
}
|
|
101595
|
+
});
|
|
101596
|
+
}
|
|
101597
|
+
/**
|
|
101598
|
+
* Create a new Liquid instance with custom extensions
|
|
101599
|
+
*/
|
|
101600
|
+
function createExtendedLiquid(options = {}) {
|
|
101601
|
+
const liquid = new liquidjs_1.Liquid({
|
|
101602
|
+
cache: false,
|
|
101603
|
+
strictFilters: false,
|
|
101604
|
+
strictVariables: false,
|
|
101605
|
+
...options,
|
|
101606
|
+
});
|
|
101607
|
+
configureLiquidWithExtensions(liquid);
|
|
101608
|
+
return liquid;
|
|
101609
|
+
}
|
|
101610
|
+
|
|
101611
|
+
|
|
101510
101612
|
/***/ }),
|
|
101511
101613
|
|
|
101512
101614
|
/***/ 25508:
|
|
@@ -102342,7 +102444,7 @@ const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
|
102342
102444
|
const ai_review_service_1 = __nccwpck_require__(51796);
|
|
102343
102445
|
const env_resolver_1 = __nccwpck_require__(58749);
|
|
102344
102446
|
const issue_filter_1 = __nccwpck_require__(36879);
|
|
102345
|
-
const
|
|
102447
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
102346
102448
|
const promises_1 = __importDefault(__nccwpck_require__(91943));
|
|
102347
102449
|
const path_1 = __importDefault(__nccwpck_require__(16928));
|
|
102348
102450
|
const claude_code_types_1 = __nccwpck_require__(21710);
|
|
@@ -102355,7 +102457,7 @@ class AICheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
102355
102457
|
constructor() {
|
|
102356
102458
|
super();
|
|
102357
102459
|
this.aiReviewService = new ai_review_service_1.AIReviewService();
|
|
102358
|
-
this.liquidEngine =
|
|
102460
|
+
this.liquidEngine = (0, liquid_extensions_1.createExtendedLiquid)();
|
|
102359
102461
|
}
|
|
102360
102462
|
getName() {
|
|
102361
102463
|
return 'ai';
|
|
@@ -103083,7 +103185,7 @@ exports.ClaudeCodeCheckProvider = exports.ClaudeCodeAPIKeyMissingError = exports
|
|
|
103083
103185
|
const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
103084
103186
|
const env_resolver_1 = __nccwpck_require__(58749);
|
|
103085
103187
|
const issue_filter_1 = __nccwpck_require__(36879);
|
|
103086
|
-
const
|
|
103188
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
103087
103189
|
const promises_1 = __importDefault(__nccwpck_require__(91943));
|
|
103088
103190
|
const path_1 = __importDefault(__nccwpck_require__(16928));
|
|
103089
103191
|
const claude_code_types_1 = __nccwpck_require__(21710);
|
|
@@ -103119,7 +103221,7 @@ class ClaudeCodeCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
103119
103221
|
claudeCodeClient = null;
|
|
103120
103222
|
constructor() {
|
|
103121
103223
|
super();
|
|
103122
|
-
this.liquidEngine =
|
|
103224
|
+
this.liquidEngine = (0, liquid_extensions_1.createExtendedLiquid)();
|
|
103123
103225
|
}
|
|
103124
103226
|
getName() {
|
|
103125
103227
|
return 'claude-code';
|
|
@@ -103750,8 +103852,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
103750
103852
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
103751
103853
|
exports.CommandCheckProvider = void 0;
|
|
103752
103854
|
const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
103753
|
-
const liquidjs_1 = __nccwpck_require__(48694);
|
|
103754
103855
|
const sandboxjs_1 = __importDefault(__nccwpck_require__(29083));
|
|
103856
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
103755
103857
|
/**
|
|
103756
103858
|
* Check provider that executes shell commands and captures their output
|
|
103757
103859
|
* Supports JSON parsing and integration with forEach functionality
|
|
@@ -103761,7 +103863,7 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
103761
103863
|
sandbox;
|
|
103762
103864
|
constructor() {
|
|
103763
103865
|
super();
|
|
103764
|
-
this.liquid =
|
|
103866
|
+
this.liquid = (0, liquid_extensions_1.createExtendedLiquid)({
|
|
103765
103867
|
cache: false,
|
|
103766
103868
|
strictFilters: false,
|
|
103767
103869
|
strictVariables: false,
|
|
@@ -103902,12 +104004,14 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
103902
104004
|
// Then apply JavaScript transform if present
|
|
103903
104005
|
if (transformJs) {
|
|
103904
104006
|
try {
|
|
103905
|
-
// For transform_js,
|
|
104007
|
+
// For transform_js, provide a JSON-smart wrapper that:
|
|
104008
|
+
// - behaves like a string when coerced (so JSON.parse(output) still works)
|
|
104009
|
+
// - exposes parsed JSON properties if stdout is valid JSON (so output.key works)
|
|
103906
104010
|
const jsContext = {
|
|
103907
|
-
output: rawOutput,
|
|
104011
|
+
output: this.makeJsonSmart(rawOutput),
|
|
103908
104012
|
pr: templateContext.pr,
|
|
103909
104013
|
files: templateContext.files,
|
|
103910
|
-
outputs: templateContext.outputs,
|
|
104014
|
+
outputs: this.makeOutputsJsonSmart(templateContext.outputs),
|
|
103911
104015
|
env: templateContext.env,
|
|
103912
104016
|
};
|
|
103913
104017
|
// Compile and execute the JavaScript expression
|
|
@@ -103949,7 +104053,14 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
103949
104053
|
const exec = this.sandbox.compile(code);
|
|
103950
104054
|
finalOutput = exec({ scope: jsContext }).run();
|
|
103951
104055
|
if (process.env.DEBUG) {
|
|
103952
|
-
|
|
104056
|
+
try {
|
|
104057
|
+
const preview = JSON.stringify(finalOutput);
|
|
104058
|
+
console.log('🔧 Debug: transform_js result:', typeof preview === 'string' ? preview.slice(0, 200) : String(preview).slice(0, 200));
|
|
104059
|
+
}
|
|
104060
|
+
catch {
|
|
104061
|
+
const preview = String(finalOutput);
|
|
104062
|
+
console.log('🔧 Debug: transform_js result:', preview.slice(0, 200));
|
|
104063
|
+
}
|
|
103953
104064
|
}
|
|
103954
104065
|
}
|
|
103955
104066
|
catch (error) {
|
|
@@ -104044,10 +104155,91 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
104044
104155
|
// If the result has a direct output field, use it directly
|
|
104045
104156
|
// Otherwise, expose the entire result as-is
|
|
104046
104157
|
const summary = result;
|
|
104047
|
-
|
|
104158
|
+
const value = summary.output !== undefined ? summary.output : summary;
|
|
104159
|
+
outputs[checkName] = this.makeJsonSmart(value);
|
|
104048
104160
|
}
|
|
104049
104161
|
return outputs;
|
|
104050
104162
|
}
|
|
104163
|
+
/**
|
|
104164
|
+
* Wrap a value with JSON-smart behavior:
|
|
104165
|
+
* - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
|
|
104166
|
+
* - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
|
|
104167
|
+
* - If parsing fails or value is not a string, return the value unchanged
|
|
104168
|
+
*/
|
|
104169
|
+
makeJsonSmart(value) {
|
|
104170
|
+
if (typeof value !== 'string') {
|
|
104171
|
+
return value;
|
|
104172
|
+
}
|
|
104173
|
+
const raw = value;
|
|
104174
|
+
let parsed;
|
|
104175
|
+
try {
|
|
104176
|
+
parsed = JSON.parse(raw);
|
|
104177
|
+
}
|
|
104178
|
+
catch {
|
|
104179
|
+
// Not JSON, return original string
|
|
104180
|
+
return raw;
|
|
104181
|
+
}
|
|
104182
|
+
// Use a boxed string so string methods still work via Proxy fallback
|
|
104183
|
+
const boxed = new String(raw);
|
|
104184
|
+
const handler = {
|
|
104185
|
+
get(target, prop, receiver) {
|
|
104186
|
+
if (prop === 'toString' || prop === 'valueOf') {
|
|
104187
|
+
return () => raw;
|
|
104188
|
+
}
|
|
104189
|
+
if (prop === Symbol.toPrimitive) {
|
|
104190
|
+
return () => raw;
|
|
104191
|
+
}
|
|
104192
|
+
if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
|
|
104193
|
+
if (prop in parsed) {
|
|
104194
|
+
return parsed[prop];
|
|
104195
|
+
}
|
|
104196
|
+
}
|
|
104197
|
+
return Reflect.get(target, prop, receiver);
|
|
104198
|
+
},
|
|
104199
|
+
has(_target, prop) {
|
|
104200
|
+
if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
|
|
104201
|
+
if (prop in parsed)
|
|
104202
|
+
return true;
|
|
104203
|
+
}
|
|
104204
|
+
return false;
|
|
104205
|
+
},
|
|
104206
|
+
ownKeys(_target) {
|
|
104207
|
+
if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
|
|
104208
|
+
try {
|
|
104209
|
+
return Reflect.ownKeys(parsed);
|
|
104210
|
+
}
|
|
104211
|
+
catch {
|
|
104212
|
+
return [];
|
|
104213
|
+
}
|
|
104214
|
+
}
|
|
104215
|
+
return [];
|
|
104216
|
+
},
|
|
104217
|
+
getOwnPropertyDescriptor(_target, prop) {
|
|
104218
|
+
if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
|
|
104219
|
+
const descriptor = Object.getOwnPropertyDescriptor(parsed, prop);
|
|
104220
|
+
if (descriptor)
|
|
104221
|
+
return descriptor;
|
|
104222
|
+
}
|
|
104223
|
+
return {
|
|
104224
|
+
configurable: true,
|
|
104225
|
+
enumerable: true,
|
|
104226
|
+
writable: false,
|
|
104227
|
+
value: undefined,
|
|
104228
|
+
};
|
|
104229
|
+
},
|
|
104230
|
+
};
|
|
104231
|
+
return new Proxy(boxed, handler);
|
|
104232
|
+
}
|
|
104233
|
+
/**
|
|
104234
|
+
* Recursively apply JSON-smart wrapper to outputs object values
|
|
104235
|
+
*/
|
|
104236
|
+
makeOutputsJsonSmart(outputs) {
|
|
104237
|
+
const wrapped = {};
|
|
104238
|
+
for (const [k, v] of Object.entries(outputs || {})) {
|
|
104239
|
+
wrapped[k] = this.makeJsonSmart(v);
|
|
104240
|
+
}
|
|
104241
|
+
return wrapped;
|
|
104242
|
+
}
|
|
104051
104243
|
getSafeEnvironmentVariables() {
|
|
104052
104244
|
const safeVars = {};
|
|
104053
104245
|
const allowedPrefixes = ['CI_', 'GITHUB_', 'RUNNER_', 'NODE_', 'npm_', 'PATH', 'HOME', 'USER'];
|
|
@@ -104285,7 +104477,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
104285
104477
|
exports.HttpCheckProvider = void 0;
|
|
104286
104478
|
const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
104287
104479
|
const issue_filter_1 = __nccwpck_require__(36879);
|
|
104288
|
-
const
|
|
104480
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
104289
104481
|
/**
|
|
104290
104482
|
* Check provider that sends data to an HTTP endpoint, typically used as an output/notification provider
|
|
104291
104483
|
*/
|
|
@@ -104293,7 +104485,7 @@ class HttpCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
104293
104485
|
liquid;
|
|
104294
104486
|
constructor() {
|
|
104295
104487
|
super();
|
|
104296
|
-
this.liquid =
|
|
104488
|
+
this.liquid = (0, liquid_extensions_1.createExtendedLiquid)();
|
|
104297
104489
|
}
|
|
104298
104490
|
getName() {
|
|
104299
104491
|
return 'http';
|
|
@@ -104514,7 +104706,7 @@ exports.HttpCheckProvider = HttpCheckProvider;
|
|
|
104514
104706
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
104515
104707
|
exports.HttpClientProvider = void 0;
|
|
104516
104708
|
const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
104517
|
-
const
|
|
104709
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
104518
104710
|
/**
|
|
104519
104711
|
* Check provider that fetches data from HTTP endpoints
|
|
104520
104712
|
*/
|
|
@@ -104522,7 +104714,7 @@ class HttpClientProvider extends check_provider_interface_1.CheckProvider {
|
|
|
104522
104714
|
liquid;
|
|
104523
104715
|
constructor() {
|
|
104524
104716
|
super();
|
|
104525
|
-
this.liquid =
|
|
104717
|
+
this.liquid = (0, liquid_extensions_1.createExtendedLiquid)();
|
|
104526
104718
|
}
|
|
104527
104719
|
getName() {
|
|
104528
104720
|
return 'http_client';
|
|
@@ -104743,7 +104935,7 @@ exports.HttpClientProvider = HttpClientProvider;
|
|
|
104743
104935
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
104744
104936
|
exports.HttpInputProvider = void 0;
|
|
104745
104937
|
const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
104746
|
-
const
|
|
104938
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
104747
104939
|
/**
|
|
104748
104940
|
* Check provider that receives input from HTTP webhooks and makes it available to dependent checks
|
|
104749
104941
|
*/
|
|
@@ -104752,7 +104944,7 @@ class HttpInputProvider extends check_provider_interface_1.CheckProvider {
|
|
|
104752
104944
|
webhookContext;
|
|
104753
104945
|
constructor() {
|
|
104754
104946
|
super();
|
|
104755
|
-
this.liquid =
|
|
104947
|
+
this.liquid = (0, liquid_extensions_1.createExtendedLiquid)();
|
|
104756
104948
|
}
|
|
104757
104949
|
/**
|
|
104758
104950
|
* Set webhook context for accessing webhook data
|
|
@@ -104878,7 +105070,7 @@ exports.HttpInputProvider = HttpInputProvider;
|
|
|
104878
105070
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
104879
105071
|
exports.LogCheckProvider = void 0;
|
|
104880
105072
|
const check_provider_interface_1 = __nccwpck_require__(14131);
|
|
104881
|
-
const
|
|
105073
|
+
const liquid_extensions_1 = __nccwpck_require__(33042);
|
|
104882
105074
|
/**
|
|
104883
105075
|
* Check provider that outputs debugging and logging information.
|
|
104884
105076
|
* Useful for troubleshooting check workflows and understanding execution flow.
|
|
@@ -104887,7 +105079,7 @@ class LogCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
104887
105079
|
liquid;
|
|
104888
105080
|
constructor() {
|
|
104889
105081
|
super();
|
|
104890
|
-
this.liquid =
|
|
105082
|
+
this.liquid = (0, liquid_extensions_1.createExtendedLiquid)({
|
|
104891
105083
|
strictVariables: false,
|
|
104892
105084
|
strictFilters: false,
|
|
104893
105085
|
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Liquid, TagToken, Context, TopLevelToken, Tag, Emitter } from 'liquidjs';
|
|
2
|
+
/**
|
|
3
|
+
* Custom ReadFile tag for Liquid templates
|
|
4
|
+
* Usage: {% readfile "path/to/file.txt" %}
|
|
5
|
+
* or with variable: {% readfile filename %}
|
|
6
|
+
*/
|
|
7
|
+
export declare class ReadFileTag extends Tag {
|
|
8
|
+
private filepath;
|
|
9
|
+
constructor(token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid);
|
|
10
|
+
render(ctx: Context, emitter: Emitter): Generator<unknown, void, unknown>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Configure a Liquid instance with custom extensions
|
|
14
|
+
*/
|
|
15
|
+
export declare function configureLiquidWithExtensions(liquid: Liquid): void;
|
|
16
|
+
/**
|
|
17
|
+
* Create a new Liquid instance with custom extensions
|
|
18
|
+
*/
|
|
19
|
+
export declare function createExtendedLiquid(options?: Record<string, unknown>): Liquid;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/liquid-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAS,OAAO,EAAE,MAAM,UAAU,CAAC;AAIzF;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,GAAG;IAClC,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM;IAKzE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;CAgC3E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAyBlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,MAAM,CAUlF"}
|
|
@@ -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;AAW5C;;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;IAoDvD;;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;IA0IlC;;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;IAuL/B,sBAAsB,IAAI,MAAM,EAAE;IAmB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAYrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
|
|
@@ -1 +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;
|
|
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;AAqB5C;;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;IA4GlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiBzB,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;IAoI/B,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
|
|
@@ -15,6 +15,17 @@ export declare class CommandCheckProvider extends CheckProvider {
|
|
|
15
15
|
validateConfig(config: unknown): Promise<boolean>;
|
|
16
16
|
execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>): Promise<ReviewSummary>;
|
|
17
17
|
private buildOutputContext;
|
|
18
|
+
/**
|
|
19
|
+
* Wrap a value with JSON-smart behavior:
|
|
20
|
+
* - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
|
|
21
|
+
* - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
|
|
22
|
+
* - If parsing fails or value is not a string, return the value unchanged
|
|
23
|
+
*/
|
|
24
|
+
private makeJsonSmart;
|
|
25
|
+
/**
|
|
26
|
+
* Recursively apply JSON-smart wrapper to outputs object values
|
|
27
|
+
*/
|
|
28
|
+
private makeOutputsJsonSmart;
|
|
18
29
|
private getSafeEnvironmentVariables;
|
|
19
30
|
getSupportedConfigKeys(): string[];
|
|
20
31
|
isAvailable(): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/command-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":"command-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/command-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;AAKzD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;;IAYzB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAejD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC7C,OAAO,CAAC,aAAa,CAAC;IAoRzB,OAAO,CAAC,kBAAkB;IAkB1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA+DrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,2BAA2B;IAgBnC,sBAAsB,IAAI,MAAM,EAAE;IAgB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;IAQ3B,OAAO,CAAC,uBAAuB;IAkD/B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAmEtB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,QAAQ;YAWF,qBAAqB;IAmBnC,OAAO,CAAC,uBAAuB;CA4ChC"}
|
|
@@ -1 +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;
|
|
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;AAKzD;;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;IAyB5B,OAAO,CAAC,iBAAiB;IAoBzB,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"}
|
|
@@ -1 +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;
|
|
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;AAI5C;;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;YA+FX,SAAS;IA2EvB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
|
|
@@ -1 +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;
|
|
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;AAI5C;;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;IAuDzB,OAAO,CAAC,cAAc;IAqBtB,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
|
|
@@ -1 +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;
|
|
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;AAI5C;;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;IAyCzB,OAAO,CAAC,oBAAoB;IAmE5B,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/webhook-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/webhook-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,eAAe,CAAC,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,WAAW;IAS/D;;OAEG;IACI,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI7D;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDnC;;OAEG;YACW,cAAc;IAwE5B;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC;;OAEG;YACW,aAAa;IAwD3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;YACW,gBAAgB;IA4C9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,oBAAoB;IAuClC;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACI,SAAS,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB;CAQF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,oBAAoB,GACrC,aAAa,CAQf"}
|