@probelabs/visor 0.1.159-ee → 0.1.160-ee
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/defaults/assistant.yaml +143 -0
- package/defaults/skills/code-explorer.yaml +41 -0
- package/dist/defaults/assistant.yaml +143 -0
- package/dist/defaults/skills/code-explorer.yaml +41 -0
- package/dist/index.js +174 -24
- package/dist/providers/workflow-check-provider.d.ts.map +1 -1
- package/dist/sdk/{check-provider-registry-A32RRIIF.mjs → check-provider-registry-EFBU3XPX.mjs} +5 -5
- package/dist/sdk/chunk-2LL6GIEU.mjs +1502 -0
- package/dist/sdk/chunk-2LL6GIEU.mjs.map +1 -0
- package/dist/sdk/chunk-CYIKOFJZ.mjs +443 -0
- package/dist/sdk/chunk-CYIKOFJZ.mjs.map +1 -0
- package/dist/sdk/{chunk-RHAKGIBI.mjs → chunk-FHWFG5AS.mjs} +111 -22
- package/dist/sdk/{chunk-RHAKGIBI.mjs.map → chunk-FHWFG5AS.mjs.map} +1 -1
- package/dist/sdk/chunk-HT3EFZ75.mjs +739 -0
- package/dist/sdk/chunk-HT3EFZ75.mjs.map +1 -0
- package/dist/sdk/failure-condition-evaluator-3Q45T5EW.mjs +17 -0
- package/dist/sdk/github-frontend-SZBGCH43.mjs +1368 -0
- package/dist/sdk/github-frontend-SZBGCH43.mjs.map +1 -0
- package/dist/sdk/{host-KO3WVPVP.mjs → host-Z6OFA24O.mjs} +2 -2
- package/dist/sdk/routing-GGZBWOLZ.mjs +25 -0
- package/dist/sdk/{schedule-tool-RF3GRKMG.mjs → schedule-tool-DWHKTTEY.mjs} +5 -5
- package/dist/sdk/{schedule-tool-handler-JRSULLPY.mjs → schedule-tool-handler-IZPIN2GK.mjs} +5 -5
- package/dist/sdk/schedule-tool-handler-IZPIN2GK.mjs.map +1 -0
- package/dist/sdk/sdk.js +97 -8
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +4 -4
- package/dist/sdk/trace-helpers-AXJZLLWE.mjs +25 -0
- package/dist/sdk/trace-helpers-AXJZLLWE.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-LWJTZ5AI.mjs → workflow-check-provider-XGW3WVPS.mjs} +5 -5
- package/dist/sdk/workflow-check-provider-XGW3WVPS.mjs.map +1 -0
- package/package.json +2 -2
- /package/dist/sdk/{check-provider-registry-A32RRIIF.mjs.map → check-provider-registry-EFBU3XPX.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-RF3GRKMG.mjs.map → failure-condition-evaluator-3Q45T5EW.mjs.map} +0 -0
- /package/dist/sdk/{host-KO3WVPVP.mjs.map → host-Z6OFA24O.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-JRSULLPY.mjs.map → routing-GGZBWOLZ.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-LWJTZ5AI.mjs.map → schedule-tool-DWHKTTEY.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
process.env.VISOR_VERSION = '0.1.
|
|
3
|
-
process.env.PROBE_VERSION = '0.6.0-
|
|
4
|
-
process.env.VISOR_COMMIT_SHA = '
|
|
5
|
-
process.env.VISOR_COMMIT_SHORT = '
|
|
2
|
+
process.env.VISOR_VERSION = '0.1.160';
|
|
3
|
+
process.env.PROBE_VERSION = '0.6.0-rc275';
|
|
4
|
+
process.env.VISOR_COMMIT_SHA = '9e7322acd7e3cc1f894977a15731383084320de7';
|
|
5
|
+
process.env.VISOR_COMMIT_SHORT = '9e7322a';
|
|
6
6
|
/******/ (() => { // webpackBootstrap
|
|
7
7
|
/******/ var __webpack_modules__ = ({
|
|
8
8
|
|
|
@@ -191288,27 +191288,141 @@ class WorkflowCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
191288
191288
|
process.cwd();
|
|
191289
191289
|
// Create a Liquid engine for loadConfig that supports {% readfile %} with basePath
|
|
191290
191290
|
const loadConfigLiquid = (0, liquid_extensions_1.createExtendedLiquid)();
|
|
191291
|
+
// Deep merge utility for extends support: objects merge recursively, arrays/primitives override
|
|
191292
|
+
const deepMerge = (base, override) => {
|
|
191293
|
+
if (!base ||
|
|
191294
|
+
!override ||
|
|
191295
|
+
typeof base !== 'object' ||
|
|
191296
|
+
typeof override !== 'object' ||
|
|
191297
|
+
Array.isArray(base) ||
|
|
191298
|
+
Array.isArray(override)) {
|
|
191299
|
+
return override;
|
|
191300
|
+
}
|
|
191301
|
+
const result = { ...base };
|
|
191302
|
+
for (const key of Object.keys(override)) {
|
|
191303
|
+
if (key in result &&
|
|
191304
|
+
typeof result[key] === 'object' &&
|
|
191305
|
+
result[key] !== null &&
|
|
191306
|
+
!Array.isArray(result[key]) &&
|
|
191307
|
+
typeof override[key] === 'object' &&
|
|
191308
|
+
override[key] !== null &&
|
|
191309
|
+
!Array.isArray(override[key])) {
|
|
191310
|
+
result[key] = deepMerge(result[key], override[key]);
|
|
191311
|
+
}
|
|
191312
|
+
else {
|
|
191313
|
+
result[key] = override[key];
|
|
191314
|
+
}
|
|
191315
|
+
}
|
|
191316
|
+
return result;
|
|
191317
|
+
};
|
|
191318
|
+
// Resolve visor:// and visor-ee:// paths to the defaults/ directory shipped with the package
|
|
191319
|
+
// In ncc bundle: __dirname is dist/, defaults/ is sibling → resolve(__dirname, '..', 'defaults')
|
|
191320
|
+
// In source/test: __dirname is src/providers/, defaults/ is two levels up → resolve(__dirname, '..', '..', 'defaults')
|
|
191321
|
+
const resolveVisorPath = (filePath) => {
|
|
191322
|
+
if (!filePath.startsWith('visor://') && !filePath.startsWith('visor-ee://')) {
|
|
191323
|
+
return null;
|
|
191324
|
+
}
|
|
191325
|
+
const relativePath = filePath.replace(/^visor(?:-ee)?:\/\//, '');
|
|
191326
|
+
// Try bundle path first (most common in production), then source path
|
|
191327
|
+
const candidates = [
|
|
191328
|
+
path.resolve(__dirname, '..', 'defaults'),
|
|
191329
|
+
path.resolve(__dirname, '..', '..', 'defaults'),
|
|
191330
|
+
];
|
|
191331
|
+
let defaultsDir;
|
|
191332
|
+
for (const candidate of candidates) {
|
|
191333
|
+
if ((__nccwpck_require__(79896).existsSync)(candidate)) {
|
|
191334
|
+
defaultsDir = candidate;
|
|
191335
|
+
break;
|
|
191336
|
+
}
|
|
191337
|
+
}
|
|
191338
|
+
if (!defaultsDir) {
|
|
191339
|
+
throw new Error(`loadConfig: cannot find defaults directory for visor:// paths`);
|
|
191340
|
+
}
|
|
191341
|
+
const resolved = path.resolve(defaultsDir, relativePath);
|
|
191342
|
+
if (!resolved.startsWith(defaultsDir + path.sep) && resolved !== defaultsDir) {
|
|
191343
|
+
throw new Error(`loadConfig: visor:// path escapes defaults directory`);
|
|
191344
|
+
}
|
|
191345
|
+
return { resolvedPath: resolved, configDir: path.dirname(resolved) };
|
|
191346
|
+
};
|
|
191347
|
+
// Shared depth counter for loadConfig calls (tracks total nesting across expression + extends)
|
|
191348
|
+
let loadConfigCallDepth = 0;
|
|
191349
|
+
// Recursively resolve { expression: "..." } nodes and extends in parsed config
|
|
191350
|
+
const resolveExpressions = (value, depth) => {
|
|
191351
|
+
if (depth > 10) {
|
|
191352
|
+
throw new Error('loadConfig: maximum expression nesting depth (10) exceeded');
|
|
191353
|
+
}
|
|
191354
|
+
if (Array.isArray(value)) {
|
|
191355
|
+
return value.map(item => resolveExpressions(item, depth + 1));
|
|
191356
|
+
}
|
|
191357
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
191358
|
+
const obj = value;
|
|
191359
|
+
// Handle { expression: "..." } single-key objects
|
|
191360
|
+
const keys = Object.keys(obj);
|
|
191361
|
+
if (keys.length === 1 && keys[0] === 'expression' && typeof obj.expression === 'string') {
|
|
191362
|
+
const sandbox = (0, sandbox_1.createSecureSandbox)();
|
|
191363
|
+
const result = (0, sandbox_1.compileAndRun)(sandbox, obj.expression, templateContext, {
|
|
191364
|
+
injectLog: true,
|
|
191365
|
+
logPrefix: 'loadConfig.expression',
|
|
191366
|
+
});
|
|
191367
|
+
return resolveExpressions(result, depth + 1);
|
|
191368
|
+
}
|
|
191369
|
+
// Handle extends: load base config and deep merge
|
|
191370
|
+
if ('extends' in obj && typeof obj.extends === 'string') {
|
|
191371
|
+
const extendsPath = obj.extends;
|
|
191372
|
+
const overrideObj = { ...obj };
|
|
191373
|
+
delete overrideObj.extends;
|
|
191374
|
+
// Recursively resolve the override object first
|
|
191375
|
+
const resolvedOverride = resolveExpressions(overrideObj, depth + 1);
|
|
191376
|
+
// Load the base config (loadConfig itself handles visor:// and expressions)
|
|
191377
|
+
const baseConfig = loadConfig(extendsPath);
|
|
191378
|
+
return deepMerge(baseConfig, resolvedOverride);
|
|
191379
|
+
}
|
|
191380
|
+
// Recursively walk all values
|
|
191381
|
+
const result = {};
|
|
191382
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
191383
|
+
result[k] = resolveExpressions(v, depth + 1);
|
|
191384
|
+
}
|
|
191385
|
+
return result;
|
|
191386
|
+
}
|
|
191387
|
+
return value;
|
|
191388
|
+
};
|
|
191291
191389
|
// loadConfig helper - synchronously reads, renders Liquid templates, and parses YAML/JSON
|
|
191292
191390
|
// Usage in expressions: loadConfig('config/intents.yaml')
|
|
191293
191391
|
// Supports {% readfile "path" %} directives that resolve relative to the config file's directory
|
|
191392
|
+
// Supports visor:// paths for loading framework defaults
|
|
191393
|
+
// Recursively resolves { expression: "..." } nodes and extends fields
|
|
191294
191394
|
const loadConfig = (filePath) => {
|
|
191295
191395
|
try {
|
|
191296
|
-
|
|
191297
|
-
|
|
191298
|
-
|
|
191299
|
-
|
|
191300
|
-
|
|
191301
|
-
|
|
191302
|
-
//
|
|
191303
|
-
|
|
191304
|
-
|
|
191305
|
-
|
|
191306
|
-
|
|
191307
|
-
|
|
191308
|
-
|
|
191309
|
-
|
|
191310
|
-
|
|
191311
|
-
|
|
191396
|
+
loadConfigCallDepth++;
|
|
191397
|
+
if (loadConfigCallDepth > 10) {
|
|
191398
|
+
throw new Error('maximum loadConfig nesting depth (10) exceeded');
|
|
191399
|
+
}
|
|
191400
|
+
let resolvedPath;
|
|
191401
|
+
let configDir;
|
|
191402
|
+
// Check for visor:// or visor-ee:// paths
|
|
191403
|
+
const visorResolved = resolveVisorPath(filePath);
|
|
191404
|
+
if (visorResolved) {
|
|
191405
|
+
resolvedPath = visorResolved.resolvedPath;
|
|
191406
|
+
configDir = visorResolved.configDir;
|
|
191407
|
+
}
|
|
191408
|
+
else {
|
|
191409
|
+
// Normalize basePath for security validation
|
|
191410
|
+
const normalizedBasePath = path.normalize(basePath);
|
|
191411
|
+
// Resolve path relative to basePath (or use absolute path)
|
|
191412
|
+
resolvedPath = path.isAbsolute(filePath)
|
|
191413
|
+
? path.normalize(filePath)
|
|
191414
|
+
: path.normalize(path.resolve(basePath, filePath));
|
|
191415
|
+
// Security: Validate that resolved path stays within basePath
|
|
191416
|
+
// This prevents path traversal attacks (e.g., ../../../etc/passwd)
|
|
191417
|
+
const basePathWithSep = normalizedBasePath.endsWith(path.sep)
|
|
191418
|
+
? normalizedBasePath
|
|
191419
|
+
: normalizedBasePath + path.sep;
|
|
191420
|
+
if (!resolvedPath.startsWith(basePathWithSep) && resolvedPath !== normalizedBasePath) {
|
|
191421
|
+
throw new Error(`Path '${filePath}' escapes base directory`);
|
|
191422
|
+
}
|
|
191423
|
+
// Get the directory of the config file for resolving relative paths in {% readfile %}
|
|
191424
|
+
configDir = path.dirname(resolvedPath);
|
|
191425
|
+
}
|
|
191312
191426
|
// Use sync read for sandbox expression context (expressions can't be async)
|
|
191313
191427
|
const rawContent = (__nccwpck_require__(79896).readFileSync)(resolvedPath, 'utf-8');
|
|
191314
191428
|
// Render Liquid templates (e.g., {% readfile "docs/file.md" %}) with basePath context
|
|
@@ -191318,13 +191432,18 @@ class WorkflowCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
191318
191432
|
});
|
|
191319
191433
|
// Parse as YAML with JSON_SCHEMA for security (prevents custom type execution)
|
|
191320
191434
|
// JSON_SCHEMA is safer than DEFAULT but still parses basic types (numbers, booleans, null)
|
|
191321
|
-
|
|
191435
|
+
const parsed = yaml.load(renderedContent, { schema: yaml.JSON_SCHEMA });
|
|
191436
|
+
// Recursively resolve expressions and extends in the parsed result
|
|
191437
|
+
return resolveExpressions(parsed, 0);
|
|
191322
191438
|
}
|
|
191323
191439
|
catch (error) {
|
|
191324
191440
|
const msg = error instanceof Error ? error.message : String(error);
|
|
191325
191441
|
logger_1.logger.error(`[WorkflowProvider] loadConfig failed for '${filePath}': ${msg}`);
|
|
191326
191442
|
throw new Error(`loadConfig('${filePath}') failed: ${msg}`);
|
|
191327
191443
|
}
|
|
191444
|
+
finally {
|
|
191445
|
+
loadConfigCallDepth--;
|
|
191446
|
+
}
|
|
191328
191447
|
};
|
|
191329
191448
|
const templateContext = {
|
|
191330
191449
|
pr: prInfo,
|
|
@@ -280487,13 +280606,44 @@ var init_TaskManager = __esm({
|
|
|
280487
280606
|
this.tasks = newTasks;
|
|
280488
280607
|
}
|
|
280489
280608
|
/**
|
|
280490
|
-
* Create multiple tasks in batch
|
|
280609
|
+
* Create multiple tasks in batch, resolving user-provided IDs to auto-generated IDs.
|
|
280610
|
+
* If any task fails validation, no tasks are created (atomic operation).
|
|
280491
280611
|
* @param {Object[]} tasksData - Array of task data objects
|
|
280492
280612
|
* @returns {Task[]} Created tasks
|
|
280493
280613
|
*/
|
|
280494
280614
|
createTasks(tasksData) {
|
|
280495
|
-
const
|
|
280615
|
+
const idMap = /* @__PURE__ */ new Map();
|
|
280616
|
+
const batchAutoIds = /* @__PURE__ */ new Set();
|
|
280617
|
+
let nextCounter = this.taskCounter;
|
|
280496
280618
|
for (const taskData of tasksData) {
|
|
280619
|
+
nextCounter++;
|
|
280620
|
+
const autoId = `task-${nextCounter}`;
|
|
280621
|
+
batchAutoIds.add(autoId);
|
|
280622
|
+
if (taskData.id) {
|
|
280623
|
+
idMap.set(taskData.id, autoId);
|
|
280624
|
+
}
|
|
280625
|
+
}
|
|
280626
|
+
const resolvedTasksData = tasksData.map((taskData) => {
|
|
280627
|
+
const resolved = { ...taskData };
|
|
280628
|
+
delete resolved.id;
|
|
280629
|
+
if (resolved.dependencies) {
|
|
280630
|
+
resolved.dependencies = resolved.dependencies.map((depId) => {
|
|
280631
|
+
if (idMap.has(depId)) return idMap.get(depId);
|
|
280632
|
+
if (this.tasks.has(depId) || batchAutoIds.has(depId)) return depId;
|
|
280633
|
+
throw new Error(`Dependency "${depId}" does not exist. Available tasks: ${this._getAvailableTaskIds()}${idMap.size > 0 ? `, batch IDs: ${Array.from(idMap.keys()).join(", ")}` : ""}`);
|
|
280634
|
+
});
|
|
280635
|
+
}
|
|
280636
|
+
if (resolved.after) {
|
|
280637
|
+
if (idMap.has(resolved.after)) {
|
|
280638
|
+
resolved.after = idMap.get(resolved.after);
|
|
280639
|
+
} else if (!this.tasks.has(resolved.after) && !batchAutoIds.has(resolved.after)) {
|
|
280640
|
+
throw new Error(`Task "${resolved.after}" does not exist. Cannot insert after non-existent task. Available tasks: ${this._getAvailableTaskIds()}${idMap.size > 0 ? `, batch IDs: ${Array.from(idMap.keys()).join(", ")}` : ""}`);
|
|
280641
|
+
}
|
|
280642
|
+
}
|
|
280643
|
+
return resolved;
|
|
280644
|
+
});
|
|
280645
|
+
const createdTasks = [];
|
|
280646
|
+
for (const taskData of resolvedTasksData) {
|
|
280497
280647
|
const task = this.createTask(taskData);
|
|
280498
280648
|
createdTasks.push(task);
|
|
280499
280649
|
}
|
|
@@ -397332,7 +397482,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"100":"Continue","101":"Switching Pro
|
|
|
397332
397482
|
/***/ ((module) => {
|
|
397333
397483
|
|
|
397334
397484
|
"use strict";
|
|
397335
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@probelabs/visor","version":"0.1.42","main":"dist/index.js","bin":{"visor":"./dist/index.js"},"exports":{".":{"require":"./dist/index.js","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/sdk.d.ts","import":"./dist/sdk/sdk.mjs","require":"./dist/sdk/sdk.js"},"./cli":{"require":"./dist/index.js"}},"files":["dist/","defaults/","action.yml","README.md","LICENSE"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build:cli":"ncc build src/index.ts -o dist && cp -r defaults dist/ && cp -r output dist/ && cp -r docs dist/ && cp -r examples dist/ && cp -r src/debug-visualizer/ui dist/debug-visualizer/ && node scripts/inject-version.js && echo \'#!/usr/bin/env node\' | cat - dist/index.js > temp && mv temp dist/index.js && chmod +x dist/index.js","build:sdk":"tsup src/sdk.ts --dts --sourcemap --format esm,cjs --out-dir dist/sdk","build":"./scripts/build-oss.sh","build:ee":"npm run build:cli && npm run build:sdk","test":"jest && npm run test:yaml","test:unit":"jest","prepublishOnly":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","test:ee":"jest --testPathPatterns=\'tests/ee\' --testPathIgnorePatterns=\'/node_modules/\' --no-coverage","test:manual:bash":"RUN_MANUAL_TESTS=true jest tests/manual/bash-config-manual.test.ts","lint":"eslint src tests --ext .ts","lint:fix":"eslint src tests --ext .ts --fix","format":"prettier --write src tests","format:check":"prettier --check src tests","clean":"","clean:traces":"node scripts/clean-traces.js","prebuild":"npm run clean && node scripts/generate-config-schema.js","pretest":"npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli","pretest:unit":"npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli","test:with-build":"npm run build:cli && jest","test:yaml":"node dist/index.js test --progress compact","test:yaml:parallel":"node dist/index.js test --progress compact --max-parallel 4","prepare":"husky","pre-commit":"lint-staged","deploy:site":"cd site && npx wrangler pages deploy . --project-name=visor-site --commit-dirty=true","deploy:worker":"npx wrangler deploy","deploy":"npm run deploy:site && npm run deploy:worker","publish:ee":"./scripts/publish-ee.sh","release":"./scripts/release.sh","release:patch":"./scripts/release.sh patch","release:minor":"./scripts/release.sh minor","release:major":"./scripts/release.sh major","release:prerelease":"./scripts/release.sh prerelease","docs:validate":"node scripts/validate-readme-links.js","workshop:setup":"npm install -D reveal-md@6.1.2","workshop:serve":"cd workshop && reveal-md slides.md -w","workshop:export":"reveal-md workshop/slides.md --static workshop/build","workshop:pdf":"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter","workshop:pdf:ci":"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter --puppeteer-launch-args=\\"--no-sandbox --disable-dev-shm-usage\\"","workshop:pdf:a4":"reveal-md workshop/slides.md --print workshop/Visor-Workshop-A4.pdf --print-size A4","workshop:build":"npm run workshop:export && npm run workshop:pdf","simulate:issue":"TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issues --action opened --debug","simulate:comment":"TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issue_comment --action created --debug"},"keywords":["code-review","ai","github-action","cli","pr-review","visor"],"author":"Probe Labs","license":"MIT","description":"AI workflow engine for code review, assistants, and automation — orchestrate checks, MCP tools, and AI providers with YAML-driven pipelines","repository":{"type":"git","url":"git+https://github.com/probelabs/visor.git"},"bugs":{"url":"https://github.com/probelabs/visor/issues"},"homepage":"https://github.com/probelabs/visor#readme","dependencies":{"@actions/core":"^1.11.1","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/sdk":"^1.25.3","@nyariv/sandboxjs":"github:probelabs/SandboxJS#f1c13b8eee98734a8ea024061eada4aa9a9ff2e9","@octokit/action":"^8.0.2","@octokit/auth-app":"^8.1.0","@octokit/core":"^7.0.3","@octokit/rest":"^22.0.0","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"^0.203.0","@opentelemetry/exporter-trace-otlp-http":"^0.203.0","@opentelemetry/instrumentation":"^0.203.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-node":"^0.203.0","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/semantic-conventions":"^1.30.1","@probelabs/probe":"^0.6.0-
|
|
397485
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@probelabs/visor","version":"0.1.42","main":"dist/index.js","bin":{"visor":"./dist/index.js"},"exports":{".":{"require":"./dist/index.js","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/sdk.d.ts","import":"./dist/sdk/sdk.mjs","require":"./dist/sdk/sdk.js"},"./cli":{"require":"./dist/index.js"}},"files":["dist/","defaults/","action.yml","README.md","LICENSE"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build:cli":"ncc build src/index.ts -o dist && cp -r defaults dist/ && cp -r output dist/ && cp -r docs dist/ && cp -r examples dist/ && cp -r src/debug-visualizer/ui dist/debug-visualizer/ && node scripts/inject-version.js && echo \'#!/usr/bin/env node\' | cat - dist/index.js > temp && mv temp dist/index.js && chmod +x dist/index.js","build:sdk":"tsup src/sdk.ts --dts --sourcemap --format esm,cjs --out-dir dist/sdk","build":"./scripts/build-oss.sh","build:ee":"npm run build:cli && npm run build:sdk","test":"jest && npm run test:yaml","test:unit":"jest","prepublishOnly":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","test:ee":"jest --testPathPatterns=\'tests/ee\' --testPathIgnorePatterns=\'/node_modules/\' --no-coverage","test:manual:bash":"RUN_MANUAL_TESTS=true jest tests/manual/bash-config-manual.test.ts","lint":"eslint src tests --ext .ts","lint:fix":"eslint src tests --ext .ts --fix","format":"prettier --write src tests","format:check":"prettier --check src tests","clean":"","clean:traces":"node scripts/clean-traces.js","prebuild":"npm run clean && node scripts/generate-config-schema.js","pretest":"npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli","pretest:unit":"npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli","test:with-build":"npm run build:cli && jest","test:yaml":"node dist/index.js test --progress compact","test:yaml:parallel":"node dist/index.js test --progress compact --max-parallel 4","prepare":"husky","pre-commit":"lint-staged","deploy:site":"cd site && npx wrangler pages deploy . --project-name=visor-site --commit-dirty=true","deploy:worker":"npx wrangler deploy","deploy":"npm run deploy:site && npm run deploy:worker","publish:ee":"./scripts/publish-ee.sh","release":"./scripts/release.sh","release:patch":"./scripts/release.sh patch","release:minor":"./scripts/release.sh minor","release:major":"./scripts/release.sh major","release:prerelease":"./scripts/release.sh prerelease","docs:validate":"node scripts/validate-readme-links.js","workshop:setup":"npm install -D reveal-md@6.1.2","workshop:serve":"cd workshop && reveal-md slides.md -w","workshop:export":"reveal-md workshop/slides.md --static workshop/build","workshop:pdf":"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter","workshop:pdf:ci":"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter --puppeteer-launch-args=\\"--no-sandbox --disable-dev-shm-usage\\"","workshop:pdf:a4":"reveal-md workshop/slides.md --print workshop/Visor-Workshop-A4.pdf --print-size A4","workshop:build":"npm run workshop:export && npm run workshop:pdf","simulate:issue":"TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issues --action opened --debug","simulate:comment":"TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issue_comment --action created --debug"},"keywords":["code-review","ai","github-action","cli","pr-review","visor"],"author":"Probe Labs","license":"MIT","description":"AI workflow engine for code review, assistants, and automation — orchestrate checks, MCP tools, and AI providers with YAML-driven pipelines","repository":{"type":"git","url":"git+https://github.com/probelabs/visor.git"},"bugs":{"url":"https://github.com/probelabs/visor/issues"},"homepage":"https://github.com/probelabs/visor#readme","dependencies":{"@actions/core":"^1.11.1","@apidevtools/swagger-parser":"^12.1.0","@modelcontextprotocol/sdk":"^1.25.3","@nyariv/sandboxjs":"github:probelabs/SandboxJS#f1c13b8eee98734a8ea024061eada4aa9a9ff2e9","@octokit/action":"^8.0.2","@octokit/auth-app":"^8.1.0","@octokit/core":"^7.0.3","@octokit/rest":"^22.0.0","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"^0.203.0","@opentelemetry/exporter-trace-otlp-http":"^0.203.0","@opentelemetry/instrumentation":"^0.203.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-node":"^0.203.0","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/semantic-conventions":"^1.30.1","@probelabs/probe":"^0.6.0-rc275","@types/commander":"^2.12.0","@types/uuid":"^10.0.0","acorn":"^8.16.0","acorn-walk":"^8.3.5","ajv":"^8.17.1","ajv-formats":"^3.0.1","better-sqlite3":"^11.0.0","blessed":"^0.1.81","cli-table3":"^0.6.5","commander":"^14.0.0","deepmerge":"^4.3.1","dotenv":"^17.2.3","ignore":"^7.0.5","js-yaml":"^4.1.0","jsonpath-plus":"^10.4.0","liquidjs":"^10.21.1","minimatch":"^10.2.2","node-cron":"^3.0.3","open":"^9.1.0","simple-git":"^3.28.0","uuid":"^11.1.0","ws":"^8.18.3"},"optionalDependencies":{"@anthropic/claude-code-sdk":"npm:null@*","@open-policy-agent/opa-wasm":"^1.10.0","knex":"^3.1.0","mysql2":"^3.11.0","pg":"^8.13.0","tedious":"^19.0.0"},"devDependencies":{"@eslint/js":"^9.34.0","@kie/act-js":"^2.6.2","@kie/mock-github":"^2.0.1","@swc/core":"^1.13.2","@swc/jest":"^0.2.37","@types/better-sqlite3":"^7.6.0","@types/blessed":"^0.1.27","@types/jest":"^30.0.0","@types/js-yaml":"^4.0.9","@types/node":"^24.3.0","@types/node-cron":"^3.0.11","@types/ws":"^8.18.1","@typescript-eslint/eslint-plugin":"^8.42.0","@typescript-eslint/parser":"^8.42.0","@vercel/ncc":"^0.38.4","eslint":"^9.34.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","husky":"^9.1.7","jest":"^30.1.3","lint-staged":"^16.1.6","prettier":"^3.6.2","reveal-md":"^6.1.2","ts-json-schema-generator":"^1.5.1","ts-node":"^10.9.2","tsup":"^8.5.0","typescript":"^5.9.2","wrangler":"^3.0.0"},"peerDependenciesMeta":{"@anthropic/claude-code-sdk":{"optional":true}},"directories":{"test":"tests"},"lint-staged":{"src/**/*.{ts,js}":["eslint --fix","prettier --write"],"tests/**/*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md,yml,yaml}":["prettier --write"]}}');
|
|
397336
397486
|
|
|
397337
397487
|
/***/ })
|
|
397338
397488
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/workflow-check-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAa5C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAS;;IASvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,aAAa,CAAC;IAiIzB,sBAAsB,IAAI,MAAM,EAAE;IAa5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;YACW,aAAa;
|
|
1
|
+
{"version":3,"file":"workflow-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/workflow-check-provider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAClG,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAa5C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,MAAM,CAAS;;IASvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,aAAa,CAAC;IAiIzB,sBAAsB,IAAI,MAAM,EAAE;IAa5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAIrC,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;YACW,aAAa;IAuV3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,OAAO,CAAC,UAAU;IA0BlB;;OAEG;IACH;;OAEG;YACW,sBAAsB;IAsOpC;;OAEG;YACW,+BAA+B;IA2J7C;;OAEG;IACH,OAAO,CAAC,oCAAoC;IA8B5C,OAAO,CAAC,oBAAoB;IA6C5B;;;OAGG;YACW,0BAA0B;CAwEzC"}
|
package/dist/sdk/{check-provider-registry-A32RRIIF.mjs → check-provider-registry-EFBU3XPX.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckProviderRegistry,
|
|
3
3
|
init_check_provider_registry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FHWFG5AS.mjs";
|
|
5
5
|
import "./chunk-KFKHU6CM.mjs";
|
|
6
6
|
import "./chunk-AVMMKGLQ.mjs";
|
|
7
7
|
import "./chunk-LG4AUKHB.mjs";
|
|
@@ -11,9 +11,9 @@ import "./chunk-GEW6LS32.mjs";
|
|
|
11
11
|
import "./chunk-NZADFXHE.mjs";
|
|
12
12
|
import "./chunk-AS6LIEO4.mjs";
|
|
13
13
|
import "./chunk-NCWIZVOT.mjs";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-2LL6GIEU.mjs";
|
|
15
|
+
import "./chunk-HT3EFZ75.mjs";
|
|
16
|
+
import "./chunk-CYIKOFJZ.mjs";
|
|
17
17
|
import "./chunk-JL7JXCET.mjs";
|
|
18
18
|
import "./chunk-ZUEQNCKB.mjs";
|
|
19
19
|
import "./chunk-25IC7KXZ.mjs";
|
|
@@ -26,4 +26,4 @@ init_check_provider_registry();
|
|
|
26
26
|
export {
|
|
27
27
|
CheckProviderRegistry
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=check-provider-registry-
|
|
29
|
+
//# sourceMappingURL=check-provider-registry-EFBU3XPX.mjs.map
|