@probelabs/visor 0.1.182-ee → 0.1.182

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/generated/config-schema.json +43 -6
  2. package/dist/index.js +23 -1840
  3. package/dist/output/traces/run-2026-03-18T19-02-50-465Z.ndjson +157 -0
  4. package/dist/output/traces/run-2026-03-18T19-03-30-428Z.ndjson +2333 -0
  5. package/dist/sdk/a2a-frontend-5J3UNFY4.mjs +1718 -0
  6. package/dist/sdk/a2a-frontend-5J3UNFY4.mjs.map +1 -0
  7. package/dist/sdk/check-provider-registry-MHXQGUNN.mjs +31 -0
  8. package/dist/sdk/{check-provider-registry-I4BCWKRU.mjs → check-provider-registry-Y33CRFVD.mjs} +2 -2
  9. package/dist/sdk/chunk-4AXAVXG5.mjs +390 -0
  10. package/dist/sdk/chunk-4AXAVXG5.mjs.map +1 -0
  11. package/dist/sdk/chunk-5J3DNRF7.mjs +1502 -0
  12. package/dist/sdk/chunk-5J3DNRF7.mjs.map +1 -0
  13. package/dist/sdk/chunk-7Z2WHX2J.mjs +46194 -0
  14. package/dist/sdk/{chunk-TQQNSHQV.mjs.map → chunk-7Z2WHX2J.mjs.map} +1 -1
  15. package/dist/sdk/{chunk-TQQNSHQV.mjs → chunk-JCOSKBMP.mjs} +9 -9
  16. package/dist/sdk/chunk-JCOSKBMP.mjs.map +1 -0
  17. package/dist/sdk/chunk-MK7ONH47.mjs +739 -0
  18. package/dist/sdk/chunk-MK7ONH47.mjs.map +1 -0
  19. package/dist/sdk/chunk-V75NEIXL.mjs +296 -0
  20. package/dist/sdk/chunk-V75NEIXL.mjs.map +1 -0
  21. package/dist/sdk/failure-condition-evaluator-R6DCDJAV.mjs +18 -0
  22. package/dist/sdk/github-frontend-3PSCKPAJ.mjs +1394 -0
  23. package/dist/sdk/github-frontend-3PSCKPAJ.mjs.map +1 -0
  24. package/dist/sdk/host-54CHV2LW.mjs +87 -0
  25. package/dist/sdk/{host-QBJ7TOWG.mjs → host-WAU6CT42.mjs} +1 -1
  26. package/dist/sdk/host-WAU6CT42.mjs.map +1 -0
  27. package/dist/sdk/routing-EBAE5SSO.mjs +26 -0
  28. package/dist/sdk/{schedule-tool-AECLFHSY.mjs → schedule-tool-POY3CDZL.mjs} +2 -2
  29. package/dist/sdk/schedule-tool-POY3CDZL.mjs.map +1 -0
  30. package/dist/sdk/schedule-tool-R2OAATUS.mjs +37 -0
  31. package/dist/sdk/schedule-tool-R2OAATUS.mjs.map +1 -0
  32. package/dist/sdk/{schedule-tool-handler-6QLZRTQA.mjs → schedule-tool-handler-JMAKHPI7.mjs} +2 -2
  33. package/dist/sdk/schedule-tool-handler-JMAKHPI7.mjs.map +1 -0
  34. package/dist/sdk/schedule-tool-handler-MWFUIQKR.mjs +41 -0
  35. package/dist/sdk/schedule-tool-handler-MWFUIQKR.mjs.map +1 -0
  36. package/dist/sdk/sdk.js +294 -1668
  37. package/dist/sdk/sdk.js.map +1 -1
  38. package/dist/sdk/sdk.mjs +5 -5
  39. package/dist/sdk/trace-helpers-HL5FBX65.mjs +29 -0
  40. package/dist/sdk/trace-helpers-HL5FBX65.mjs.map +1 -0
  41. package/dist/sdk/track-execution-YUXQ6WQH.mjs +136 -0
  42. package/dist/sdk/track-execution-YUXQ6WQH.mjs.map +1 -0
  43. package/dist/sdk/{workflow-check-provider-EXMC6JIS.mjs → workflow-check-provider-SE5I7EMA.mjs} +2 -2
  44. package/dist/sdk/workflow-check-provider-SE5I7EMA.mjs.map +1 -0
  45. package/dist/sdk/workflow-check-provider-YDGZRI3Z.mjs +31 -0
  46. package/dist/sdk/workflow-check-provider-YDGZRI3Z.mjs.map +1 -0
  47. package/dist/traces/run-2026-03-18T19-02-50-465Z.ndjson +157 -0
  48. package/dist/traces/run-2026-03-18T19-03-30-428Z.ndjson +2333 -0
  49. package/package.json +1 -1
  50. package/dist/sdk/knex-store-QCEW4I4R.mjs +0 -527
  51. package/dist/sdk/knex-store-QCEW4I4R.mjs.map +0 -1
  52. package/dist/sdk/loader-ZNKKJEZ3.mjs +0 -89
  53. package/dist/sdk/loader-ZNKKJEZ3.mjs.map +0 -1
  54. package/dist/sdk/opa-policy-engine-QCSSIMUF.mjs +0 -655
  55. package/dist/sdk/opa-policy-engine-QCSSIMUF.mjs.map +0 -1
  56. package/dist/sdk/validator-XTZJZZJH.mjs +0 -134
  57. package/dist/sdk/validator-XTZJZZJH.mjs.map +0 -1
  58. /package/dist/sdk/{check-provider-registry-I4BCWKRU.mjs.map → check-provider-registry-MHXQGUNN.mjs.map} +0 -0
  59. /package/dist/sdk/{schedule-tool-AECLFHSY.mjs.map → check-provider-registry-Y33CRFVD.mjs.map} +0 -0
  60. /package/dist/sdk/{schedule-tool-handler-6QLZRTQA.mjs.map → failure-condition-evaluator-R6DCDJAV.mjs.map} +0 -0
  61. /package/dist/sdk/{host-QBJ7TOWG.mjs.map → host-54CHV2LW.mjs.map} +0 -0
  62. /package/dist/sdk/{workflow-check-provider-EXMC6JIS.mjs.map → routing-EBAE5SSO.mjs.map} +0 -0
@@ -0,0 +1,390 @@
1
+ import {
2
+ __commonJS,
3
+ __esm
4
+ } from "./chunk-J7LXIPZS.mjs";
5
+
6
+ // src/utils/human-id.ts
7
+ function randomSuffix() {
8
+ const chars = "abcdefghjkmnpqrstuvwxyz23456789";
9
+ let result = "";
10
+ for (let i = 0; i < 4; i++) {
11
+ result += chars[Math.floor(Math.random() * chars.length)];
12
+ }
13
+ return result;
14
+ }
15
+ function generateHumanId() {
16
+ const adj = adjectives[Math.floor(Math.random() * adjectives.length)];
17
+ const noun = nouns[Math.floor(Math.random() * nouns.length)];
18
+ const suffix = randomSuffix();
19
+ return `${adj}-${noun}-${suffix}`;
20
+ }
21
+ function generateShortHumanId() {
22
+ const adj = adjectives[Math.floor(Math.random() * adjectives.length)];
23
+ const noun = nouns[Math.floor(Math.random() * nouns.length)];
24
+ return `${adj}-${noun}`;
25
+ }
26
+ var adjectives, nouns;
27
+ var init_human_id = __esm({
28
+ "src/utils/human-id.ts"() {
29
+ "use strict";
30
+ adjectives = [
31
+ "bold",
32
+ "calm",
33
+ "cool",
34
+ "dark",
35
+ "fast",
36
+ "gold",
37
+ "green",
38
+ "happy",
39
+ "kind",
40
+ "loud",
41
+ "mild",
42
+ "neat",
43
+ "nice",
44
+ "pink",
45
+ "pure",
46
+ "quick",
47
+ "rare",
48
+ "rich",
49
+ "safe",
50
+ "slim",
51
+ "soft",
52
+ "tall",
53
+ "tidy",
54
+ "tiny",
55
+ "warm",
56
+ "wise",
57
+ "young",
58
+ "able",
59
+ "blue",
60
+ "brave",
61
+ "busy",
62
+ "clean",
63
+ "crisp",
64
+ "eager",
65
+ "fair",
66
+ "fresh",
67
+ "glad",
68
+ "grand",
69
+ "keen",
70
+ "lush",
71
+ "prime",
72
+ "proud",
73
+ "sharp",
74
+ "sleek",
75
+ "smart",
76
+ "solid",
77
+ "swift",
78
+ "vivid",
79
+ "wild",
80
+ "witty",
81
+ "zesty"
82
+ ];
83
+ nouns = [
84
+ "ant",
85
+ "bat",
86
+ "bear",
87
+ "bee",
88
+ "bird",
89
+ "bull",
90
+ "cat",
91
+ "cow",
92
+ "crab",
93
+ "crow",
94
+ "deer",
95
+ "dog",
96
+ "dove",
97
+ "duck",
98
+ "eagle",
99
+ "elk",
100
+ "fish",
101
+ "fox",
102
+ "frog",
103
+ "goat",
104
+ "hawk",
105
+ "hare",
106
+ "horse",
107
+ "jay",
108
+ "lark",
109
+ "lion",
110
+ "lynx",
111
+ "mole",
112
+ "moth",
113
+ "mouse",
114
+ "newt",
115
+ "owl",
116
+ "panda",
117
+ "pig",
118
+ "puma",
119
+ "rat",
120
+ "raven",
121
+ "seal",
122
+ "shark",
123
+ "sheep",
124
+ "sloth",
125
+ "snail",
126
+ "snake",
127
+ "spider",
128
+ "swan",
129
+ "tiger",
130
+ "toad",
131
+ "trout",
132
+ "viper",
133
+ "wasp",
134
+ "whale",
135
+ "wolf",
136
+ "wren",
137
+ "yak",
138
+ "zebra"
139
+ ];
140
+ }
141
+ });
142
+
143
+ // src/utils/instance-id.ts
144
+ function getInstanceId() {
145
+ if (!_instanceId) {
146
+ _instanceId = generateHumanId();
147
+ }
148
+ return _instanceId;
149
+ }
150
+ var _instanceId;
151
+ var init_instance_id = __esm({
152
+ "src/utils/instance-id.ts"() {
153
+ "use strict";
154
+ init_human_id();
155
+ }
156
+ });
157
+
158
+ // package.json
159
+ var require_package = __commonJS({
160
+ "package.json"(exports, module) {
161
+ module.exports = {
162
+ name: "@probelabs/visor",
163
+ version: "0.1.182",
164
+ main: "dist/index.js",
165
+ bin: {
166
+ visor: "./dist/index.js"
167
+ },
168
+ exports: {
169
+ ".": {
170
+ require: "./dist/index.js",
171
+ import: "./dist/index.js"
172
+ },
173
+ "./sdk": {
174
+ types: "./dist/sdk/sdk.d.ts",
175
+ import: "./dist/sdk/sdk.mjs",
176
+ require: "./dist/sdk/sdk.js"
177
+ },
178
+ "./cli": {
179
+ require: "./dist/index.js"
180
+ }
181
+ },
182
+ files: [
183
+ "dist/",
184
+ "defaults/",
185
+ "action.yml",
186
+ "README.md",
187
+ "LICENSE"
188
+ ],
189
+ publishConfig: {
190
+ access: "public",
191
+ registry: "https://registry.npmjs.org/"
192
+ },
193
+ scripts: {
194
+ "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",
195
+ "build:sdk": "tsup src/sdk.ts --dts --sourcemap --format esm,cjs --out-dir dist/sdk",
196
+ build: "./scripts/build-oss.sh",
197
+ "build:ee": "npm run build:cli && npm run build:sdk",
198
+ test: "jest && npm run test:yaml",
199
+ "test:unit": "jest",
200
+ prepublishOnly: "npm run build",
201
+ "test:watch": "jest --watch",
202
+ "test:coverage": "jest --coverage",
203
+ "test:ee": "jest --testPathPatterns='tests/ee' --testPathIgnorePatterns='/node_modules/' --no-coverage",
204
+ "test:manual:bash": "RUN_MANUAL_TESTS=true jest tests/manual/bash-config-manual.test.ts",
205
+ lint: "eslint src tests --ext .ts",
206
+ "lint:fix": "eslint src tests --ext .ts --fix",
207
+ format: "prettier --write src tests",
208
+ "format:check": "prettier --check src tests",
209
+ clean: "",
210
+ "clean:traces": "node scripts/clean-traces.js",
211
+ prebuild: "npm run clean && node scripts/generate-config-schema.js",
212
+ pretest: "npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli",
213
+ "pretest:unit": "npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli",
214
+ "test:with-build": "npm run build:cli && jest",
215
+ "test:yaml": "node dist/index.js test --progress compact",
216
+ "test:yaml:parallel": "node dist/index.js test --progress compact --max-parallel 4",
217
+ prepare: "husky",
218
+ "pre-commit": "lint-staged",
219
+ "deploy:site": "cd site && npx wrangler pages deploy . --project-name=visor-site --commit-dirty=true",
220
+ "deploy:worker": "npx wrangler deploy",
221
+ deploy: "npm run deploy:site && npm run deploy:worker",
222
+ "publish:ee": "./scripts/publish-ee.sh",
223
+ release: "./scripts/release.sh",
224
+ "release:patch": "./scripts/release.sh patch",
225
+ "release:minor": "./scripts/release.sh minor",
226
+ "release:major": "./scripts/release.sh major",
227
+ "release:prerelease": "./scripts/release.sh prerelease",
228
+ "docs:validate": "node scripts/validate-readme-links.js",
229
+ "workshop:setup": "npm install -D reveal-md@6.1.2",
230
+ "workshop:serve": "cd workshop && reveal-md slides.md -w",
231
+ "workshop:export": "reveal-md workshop/slides.md --static workshop/build",
232
+ "workshop:pdf": "reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter",
233
+ "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"',
234
+ "workshop:pdf:a4": "reveal-md workshop/slides.md --print workshop/Visor-Workshop-A4.pdf --print-size A4",
235
+ "workshop:build": "npm run workshop:export && npm run workshop:pdf",
236
+ "simulate:issue": "TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issues --action opened --debug",
237
+ "simulate:comment": "TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issue_comment --action created --debug"
238
+ },
239
+ keywords: [
240
+ "code-review",
241
+ "ai",
242
+ "github-action",
243
+ "cli",
244
+ "pr-review",
245
+ "visor"
246
+ ],
247
+ author: "Probe Labs",
248
+ license: "MIT",
249
+ description: "AI workflow engine for code review, assistants, and automation \u2014 orchestrate checks, MCP tools, and AI providers with YAML-driven pipelines",
250
+ repository: {
251
+ type: "git",
252
+ url: "git+https://github.com/probelabs/visor.git"
253
+ },
254
+ bugs: {
255
+ url: "https://github.com/probelabs/visor/issues"
256
+ },
257
+ homepage: "https://github.com/probelabs/visor#readme",
258
+ dependencies: {
259
+ "@actions/core": "^1.11.1",
260
+ "@apidevtools/swagger-parser": "^12.1.0",
261
+ "@grammyjs/runner": "^2.0.3",
262
+ "@modelcontextprotocol/sdk": "^1.25.3",
263
+ "@nyariv/sandboxjs": "github:probelabs/SandboxJS#23c4bb611f7d05f3cb8c523917b5f57103e48108",
264
+ "@octokit/action": "^8.0.2",
265
+ "@octokit/auth-app": "^8.1.0",
266
+ "@octokit/core": "^7.0.3",
267
+ "@octokit/rest": "^22.0.0",
268
+ "@opentelemetry/api": "^1.9.0",
269
+ "@opentelemetry/api-logs": "^0.203.0",
270
+ "@opentelemetry/core": "^1.30.1",
271
+ "@opentelemetry/exporter-logs-otlp-http": "^0.203.0",
272
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.203.0",
273
+ "@opentelemetry/exporter-trace-otlp-grpc": "^0.203.0",
274
+ "@opentelemetry/exporter-trace-otlp-http": "^0.203.0",
275
+ "@opentelemetry/instrumentation": "^0.203.0",
276
+ "@opentelemetry/resources": "^1.30.1",
277
+ "@opentelemetry/sdk-logs": "^0.203.0",
278
+ "@opentelemetry/sdk-metrics": "^1.30.1",
279
+ "@opentelemetry/sdk-node": "^0.203.0",
280
+ "@opentelemetry/sdk-trace-base": "^1.30.1",
281
+ "@opentelemetry/semantic-conventions": "^1.30.1",
282
+ "@probelabs/probe": "^0.6.0-rc300",
283
+ "@types/commander": "^2.12.0",
284
+ "@types/uuid": "^10.0.0",
285
+ "@utcp/file": "^1.1.0",
286
+ "@utcp/http": "^1.1.0",
287
+ "@utcp/sdk": "^1.1.0",
288
+ "@utcp/text": "^1.1.0",
289
+ acorn: "^8.16.0",
290
+ "acorn-walk": "^8.3.5",
291
+ ajv: "^8.17.1",
292
+ "ajv-formats": "^3.0.1",
293
+ "better-sqlite3": "^11.0.0",
294
+ blessed: "^0.1.81",
295
+ botbuilder: "^4.23.3",
296
+ "botframework-connector": "^4.23.3",
297
+ "cli-table3": "^0.6.5",
298
+ commander: "^14.0.0",
299
+ deepmerge: "^4.3.1",
300
+ dotenv: "^17.2.3",
301
+ grammy: "^1.41.1",
302
+ ignore: "^7.0.5",
303
+ imapflow: "^1.2.12",
304
+ "js-yaml": "^4.1.0",
305
+ "jsonpath-plus": "^10.4.0",
306
+ liquidjs: "^10.21.1",
307
+ mailparser: "^3.9.3",
308
+ minimatch: "^10.2.2",
309
+ "node-cron": "^3.0.3",
310
+ nodemailer: "^8.0.1",
311
+ open: "^9.1.0",
312
+ resend: "^6.9.3",
313
+ "simple-git": "^3.28.0",
314
+ uuid: "^11.1.0",
315
+ ws: "^8.18.3"
316
+ },
317
+ optionalDependencies: {
318
+ "@anthropic/claude-code-sdk": "npm:null@*",
319
+ "@open-policy-agent/opa-wasm": "^1.10.0",
320
+ knex: "^3.1.0",
321
+ mysql2: "^3.11.0",
322
+ pg: "^8.13.0",
323
+ tedious: "^19.0.0"
324
+ },
325
+ devDependencies: {
326
+ "@eslint/js": "^9.34.0",
327
+ "@kie/act-js": "^2.6.2",
328
+ "@kie/mock-github": "^2.0.1",
329
+ "@swc/core": "^1.13.2",
330
+ "@swc/jest": "^0.2.37",
331
+ "@types/better-sqlite3": "^7.6.0",
332
+ "@types/blessed": "^0.1.27",
333
+ "@types/jest": "^30.0.0",
334
+ "@types/js-yaml": "^4.0.9",
335
+ "@types/mailparser": "^3.4.6",
336
+ "@types/node": "^24.3.0",
337
+ "@types/node-cron": "^3.0.11",
338
+ "@types/nodemailer": "^7.0.11",
339
+ "@types/ws": "^8.18.1",
340
+ "@typescript-eslint/eslint-plugin": "^8.42.0",
341
+ "@typescript-eslint/parser": "^8.42.0",
342
+ "@vercel/ncc": "^0.38.4",
343
+ eslint: "^9.34.0",
344
+ "eslint-config-prettier": "^10.1.8",
345
+ "eslint-plugin-prettier": "^5.5.4",
346
+ husky: "^9.1.7",
347
+ jest: "^30.1.3",
348
+ "lint-staged": "^16.1.6",
349
+ prettier: "^3.6.2",
350
+ "reveal-md": "^6.1.2",
351
+ "ts-json-schema-generator": "^1.5.1",
352
+ "ts-node": "^10.9.2",
353
+ tsup: "^8.5.0",
354
+ typescript: "^5.9.2",
355
+ wrangler: "^3.0.0"
356
+ },
357
+ peerDependenciesMeta: {
358
+ "@anthropic/claude-code-sdk": {
359
+ optional: true
360
+ }
361
+ },
362
+ directories: {
363
+ test: "tests"
364
+ },
365
+ "lint-staged": {
366
+ "src/**/*.{ts,js}": [
367
+ "eslint --fix",
368
+ "prettier --write"
369
+ ],
370
+ "tests/**/*.{ts,js}": [
371
+ "eslint --fix",
372
+ "prettier --write"
373
+ ],
374
+ "*.{json,md,yml,yaml}": [
375
+ "prettier --write"
376
+ ]
377
+ }
378
+ };
379
+ }
380
+ });
381
+
382
+ export {
383
+ generateHumanId,
384
+ generateShortHumanId,
385
+ init_human_id,
386
+ getInstanceId,
387
+ init_instance_id,
388
+ require_package
389
+ };
390
+ //# sourceMappingURL=chunk-4AXAVXG5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/human-id.ts","../../src/utils/instance-id.ts","../../package.json"],"sourcesContent":["/**\n * Generate human-readable IDs like Kubernetes (e.g., \"happy-panda-7x3k\")\n */\n\nconst adjectives = [\n 'bold',\n 'calm',\n 'cool',\n 'dark',\n 'fast',\n 'gold',\n 'green',\n 'happy',\n 'kind',\n 'loud',\n 'mild',\n 'neat',\n 'nice',\n 'pink',\n 'pure',\n 'quick',\n 'rare',\n 'rich',\n 'safe',\n 'slim',\n 'soft',\n 'tall',\n 'tidy',\n 'tiny',\n 'warm',\n 'wise',\n 'young',\n 'able',\n 'blue',\n 'brave',\n 'busy',\n 'clean',\n 'crisp',\n 'eager',\n 'fair',\n 'fresh',\n 'glad',\n 'grand',\n 'keen',\n 'lush',\n 'prime',\n 'proud',\n 'sharp',\n 'sleek',\n 'smart',\n 'solid',\n 'swift',\n 'vivid',\n 'wild',\n 'witty',\n 'zesty',\n];\n\nconst nouns = [\n 'ant',\n 'bat',\n 'bear',\n 'bee',\n 'bird',\n 'bull',\n 'cat',\n 'cow',\n 'crab',\n 'crow',\n 'deer',\n 'dog',\n 'dove',\n 'duck',\n 'eagle',\n 'elk',\n 'fish',\n 'fox',\n 'frog',\n 'goat',\n 'hawk',\n 'hare',\n 'horse',\n 'jay',\n 'lark',\n 'lion',\n 'lynx',\n 'mole',\n 'moth',\n 'mouse',\n 'newt',\n 'owl',\n 'panda',\n 'pig',\n 'puma',\n 'rat',\n 'raven',\n 'seal',\n 'shark',\n 'sheep',\n 'sloth',\n 'snail',\n 'snake',\n 'spider',\n 'swan',\n 'tiger',\n 'toad',\n 'trout',\n 'viper',\n 'wasp',\n 'whale',\n 'wolf',\n 'wren',\n 'yak',\n 'zebra',\n];\n\n/**\n * Generate a random alphanumeric suffix (4 chars)\n */\nfunction randomSuffix(): string {\n const chars = 'abcdefghjkmnpqrstuvwxyz23456789'; // no i,l,o,0,1 to avoid confusion\n let result = '';\n for (let i = 0; i < 4; i++) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n}\n\n/**\n * Generate a human-readable ID like \"happy-panda-7x3k\"\n */\nexport function generateHumanId(): string {\n const adj = adjectives[Math.floor(Math.random() * adjectives.length)];\n const noun = nouns[Math.floor(Math.random() * nouns.length)];\n const suffix = randomSuffix();\n return `${adj}-${noun}-${suffix}`;\n}\n\n/**\n * Generate a short human-readable ID like \"happy-panda\" (no suffix)\n */\nexport function generateShortHumanId(): string {\n const adj = adjectives[Math.floor(Math.random() * adjectives.length)];\n const noun = nouns[Math.floor(Math.random() * nouns.length)];\n return `${adj}-${noun}`;\n}\n","/**\n * Visor instance ID — unique per process lifetime.\n *\n * Used to identify which visor instance created/owns a task,\n * especially in multi-node environments.\n */\n\nimport { generateHumanId } from './human-id';\n\nlet _instanceId: string | undefined;\n\n/** Get or generate the visor instance ID for this process. */\nexport function getInstanceId(): string {\n if (!_instanceId) {\n _instanceId = generateHumanId();\n }\n return _instanceId;\n}\n","{\n \"name\": \"@probelabs/visor\",\n \"version\": \"0.1.182\",\n \"main\": \"dist/index.js\",\n \"bin\": {\n \"visor\": \"./dist/index.js\"\n },\n \"exports\": {\n \".\": {\n \"require\": \"./dist/index.js\",\n \"import\": \"./dist/index.js\"\n },\n \"./sdk\": {\n \"types\": \"./dist/sdk/sdk.d.ts\",\n \"import\": \"./dist/sdk/sdk.mjs\",\n \"require\": \"./dist/sdk/sdk.js\"\n },\n \"./cli\": {\n \"require\": \"./dist/index.js\"\n }\n },\n \"files\": [\n \"dist/\",\n \"defaults/\",\n \"action.yml\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"publishConfig\": {\n \"access\": \"public\",\n \"registry\": \"https://registry.npmjs.org/\"\n },\n \"scripts\": {\n \"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\",\n \"build:sdk\": \"tsup src/sdk.ts --dts --sourcemap --format esm,cjs --out-dir dist/sdk\",\n \"build\": \"./scripts/build-oss.sh\",\n \"build:ee\": \"npm run build:cli && npm run build:sdk\",\n \"test\": \"jest && npm run test:yaml\",\n \"test:unit\": \"jest\",\n \"prepublishOnly\": \"npm run build\",\n \"test:watch\": \"jest --watch\",\n \"test:coverage\": \"jest --coverage\",\n \"test:ee\": \"jest --testPathPatterns='tests/ee' --testPathIgnorePatterns='/node_modules/' --no-coverage\",\n \"test:manual:bash\": \"RUN_MANUAL_TESTS=true jest tests/manual/bash-config-manual.test.ts\",\n \"lint\": \"eslint src tests --ext .ts\",\n \"lint:fix\": \"eslint src tests --ext .ts --fix\",\n \"format\": \"prettier --write src tests\",\n \"format:check\": \"prettier --check src tests\",\n \"clean\": \"\",\n \"clean:traces\": \"node scripts/clean-traces.js\",\n \"prebuild\": \"npm run clean && node scripts/generate-config-schema.js\",\n \"pretest\": \"npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli\",\n \"pretest:unit\": \"npm run clean:traces && node scripts/generate-config-schema.js && npm run build:cli\",\n \"test:with-build\": \"npm run build:cli && jest\",\n \"test:yaml\": \"node dist/index.js test --progress compact\",\n \"test:yaml:parallel\": \"node dist/index.js test --progress compact --max-parallel 4\",\n \"prepare\": \"husky\",\n \"pre-commit\": \"lint-staged\",\n \"deploy:site\": \"cd site && npx wrangler pages deploy . --project-name=visor-site --commit-dirty=true\",\n \"deploy:worker\": \"npx wrangler deploy\",\n \"deploy\": \"npm run deploy:site && npm run deploy:worker\",\n \"publish:ee\": \"./scripts/publish-ee.sh\",\n \"release\": \"./scripts/release.sh\",\n \"release:patch\": \"./scripts/release.sh patch\",\n \"release:minor\": \"./scripts/release.sh minor\",\n \"release:major\": \"./scripts/release.sh major\",\n \"release:prerelease\": \"./scripts/release.sh prerelease\",\n \"docs:validate\": \"node scripts/validate-readme-links.js\",\n \"workshop:setup\": \"npm install -D reveal-md@6.1.2\",\n \"workshop:serve\": \"cd workshop && reveal-md slides.md -w\",\n \"workshop:export\": \"reveal-md workshop/slides.md --static workshop/build\",\n \"workshop:pdf\": \"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter\",\n \"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\\\"\",\n \"workshop:pdf:a4\": \"reveal-md workshop/slides.md --print workshop/Visor-Workshop-A4.pdf --print-size A4\",\n \"workshop:build\": \"npm run workshop:export && npm run workshop:pdf\",\n \"simulate:issue\": \"TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issues --action opened --debug\",\n \"simulate:comment\": \"TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issue_comment --action created --debug\"\n },\n \"keywords\": [\n \"code-review\",\n \"ai\",\n \"github-action\",\n \"cli\",\n \"pr-review\",\n \"visor\"\n ],\n \"author\": \"Probe Labs\",\n \"license\": \"MIT\",\n \"description\": \"AI workflow engine for code review, assistants, and automation — orchestrate checks, MCP tools, and AI providers with YAML-driven pipelines\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/probelabs/visor.git\"\n },\n \"bugs\": {\n \"url\": \"https://github.com/probelabs/visor/issues\"\n },\n \"homepage\": \"https://github.com/probelabs/visor#readme\",\n \"dependencies\": {\n \"@actions/core\": \"^1.11.1\",\n \"@apidevtools/swagger-parser\": \"^12.1.0\",\n \"@grammyjs/runner\": \"^2.0.3\",\n \"@modelcontextprotocol/sdk\": \"^1.25.3\",\n \"@nyariv/sandboxjs\": \"github:probelabs/SandboxJS#23c4bb611f7d05f3cb8c523917b5f57103e48108\",\n \"@octokit/action\": \"^8.0.2\",\n \"@octokit/auth-app\": \"^8.1.0\",\n \"@octokit/core\": \"^7.0.3\",\n \"@octokit/rest\": \"^22.0.0\",\n \"@opentelemetry/api\": \"^1.9.0\",\n \"@opentelemetry/api-logs\": \"^0.203.0\",\n \"@opentelemetry/core\": \"^1.30.1\",\n \"@opentelemetry/exporter-logs-otlp-http\": \"^0.203.0\",\n \"@opentelemetry/exporter-metrics-otlp-http\": \"^0.203.0\",\n \"@opentelemetry/exporter-trace-otlp-grpc\": \"^0.203.0\",\n \"@opentelemetry/exporter-trace-otlp-http\": \"^0.203.0\",\n \"@opentelemetry/instrumentation\": \"^0.203.0\",\n \"@opentelemetry/resources\": \"^1.30.1\",\n \"@opentelemetry/sdk-logs\": \"^0.203.0\",\n \"@opentelemetry/sdk-metrics\": \"^1.30.1\",\n \"@opentelemetry/sdk-node\": \"^0.203.0\",\n \"@opentelemetry/sdk-trace-base\": \"^1.30.1\",\n \"@opentelemetry/semantic-conventions\": \"^1.30.1\",\n \"@probelabs/probe\": \"^0.6.0-rc300\",\n \"@types/commander\": \"^2.12.0\",\n \"@types/uuid\": \"^10.0.0\",\n \"@utcp/file\": \"^1.1.0\",\n \"@utcp/http\": \"^1.1.0\",\n \"@utcp/sdk\": \"^1.1.0\",\n \"@utcp/text\": \"^1.1.0\",\n \"acorn\": \"^8.16.0\",\n \"acorn-walk\": \"^8.3.5\",\n \"ajv\": \"^8.17.1\",\n \"ajv-formats\": \"^3.0.1\",\n \"better-sqlite3\": \"^11.0.0\",\n \"blessed\": \"^0.1.81\",\n \"botbuilder\": \"^4.23.3\",\n \"botframework-connector\": \"^4.23.3\",\n \"cli-table3\": \"^0.6.5\",\n \"commander\": \"^14.0.0\",\n \"deepmerge\": \"^4.3.1\",\n \"dotenv\": \"^17.2.3\",\n \"grammy\": \"^1.41.1\",\n \"ignore\": \"^7.0.5\",\n \"imapflow\": \"^1.2.12\",\n \"js-yaml\": \"^4.1.0\",\n \"jsonpath-plus\": \"^10.4.0\",\n \"liquidjs\": \"^10.21.1\",\n \"mailparser\": \"^3.9.3\",\n \"minimatch\": \"^10.2.2\",\n \"node-cron\": \"^3.0.3\",\n \"nodemailer\": \"^8.0.1\",\n \"open\": \"^9.1.0\",\n \"resend\": \"^6.9.3\",\n \"simple-git\": \"^3.28.0\",\n \"uuid\": \"^11.1.0\",\n \"ws\": \"^8.18.3\"\n },\n \"optionalDependencies\": {\n \"@anthropic/claude-code-sdk\": \"npm:null@*\",\n \"@open-policy-agent/opa-wasm\": \"^1.10.0\",\n \"knex\": \"^3.1.0\",\n \"mysql2\": \"^3.11.0\",\n \"pg\": \"^8.13.0\",\n \"tedious\": \"^19.0.0\"\n },\n \"devDependencies\": {\n \"@eslint/js\": \"^9.34.0\",\n \"@kie/act-js\": \"^2.6.2\",\n \"@kie/mock-github\": \"^2.0.1\",\n \"@swc/core\": \"^1.13.2\",\n \"@swc/jest\": \"^0.2.37\",\n \"@types/better-sqlite3\": \"^7.6.0\",\n \"@types/blessed\": \"^0.1.27\",\n \"@types/jest\": \"^30.0.0\",\n \"@types/js-yaml\": \"^4.0.9\",\n \"@types/mailparser\": \"^3.4.6\",\n \"@types/node\": \"^24.3.0\",\n \"@types/node-cron\": \"^3.0.11\",\n \"@types/nodemailer\": \"^7.0.11\",\n \"@types/ws\": \"^8.18.1\",\n \"@typescript-eslint/eslint-plugin\": \"^8.42.0\",\n \"@typescript-eslint/parser\": \"^8.42.0\",\n \"@vercel/ncc\": \"^0.38.4\",\n \"eslint\": \"^9.34.0\",\n \"eslint-config-prettier\": \"^10.1.8\",\n \"eslint-plugin-prettier\": \"^5.5.4\",\n \"husky\": \"^9.1.7\",\n \"jest\": \"^30.1.3\",\n \"lint-staged\": \"^16.1.6\",\n \"prettier\": \"^3.6.2\",\n \"reveal-md\": \"^6.1.2\",\n \"ts-json-schema-generator\": \"^1.5.1\",\n \"ts-node\": \"^10.9.2\",\n \"tsup\": \"^8.5.0\",\n \"typescript\": \"^5.9.2\",\n \"wrangler\": \"^3.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@anthropic/claude-code-sdk\": {\n \"optional\": true\n }\n },\n \"directories\": {\n \"test\": \"tests\"\n },\n \"lint-staged\": {\n \"src/**/*.{ts,js}\": [\n \"eslint --fix\",\n \"prettier --write\"\n ],\n \"tests/**/*.{ts,js}\": [\n \"eslint --fix\",\n \"prettier --write\"\n ],\n \"*.{json,md,yml,yaml}\": [\n \"prettier --write\"\n ]\n }\n}\n"],"mappings":"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","names":[]}