@probelabs/visor 0.1.175 → 0.1.176
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 +16 -0
- package/defaults/code-talk.yaml +5 -6
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/defaults/assistant.yaml +16 -0
- package/dist/defaults/code-talk.yaml +5 -6
- package/dist/index.js +117 -32
- package/dist/output/traces/{run-2026-03-09T18-49-07-663Z.ndjson → run-2026-03-10T15-37-04-236Z.ndjson} +84 -84
- package/dist/{traces/run-2026-03-09T18-49-46-345Z.ndjson → output/traces/run-2026-03-10T15-37-44-748Z.ndjson} +1876 -1876
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/sdk/{a2a-frontend-ORLAU5GK.mjs → a2a-frontend-W54ZZ32L.mjs} +2 -2
- package/dist/sdk/{check-provider-registry-7JPPJHVM.mjs → check-provider-registry-7HSDAKHQ.mjs} +3 -3
- package/dist/sdk/{check-provider-registry-QCDV3SI6.mjs → check-provider-registry-MJYNLB37.mjs} +6 -6
- package/dist/sdk/{check-provider-registry-O36CQEGD.mjs → check-provider-registry-VE6LQPLY.mjs} +3 -3
- package/dist/sdk/{chunk-TAK5HLAR.mjs → chunk-4E34HRCW.mjs} +69 -30
- package/dist/sdk/chunk-4E34HRCW.mjs.map +1 -0
- package/dist/sdk/{chunk-QAO73GUX.mjs → chunk-66PTDQAO.mjs} +3 -3
- package/dist/sdk/{chunk-MLXGCLZJ.mjs → chunk-MM3TGVQ4.mjs} +6 -2
- package/dist/sdk/chunk-MM3TGVQ4.mjs.map +1 -0
- package/dist/sdk/{chunk-FZPCP444.mjs → chunk-OK4MLC3R.mjs} +69 -30
- package/dist/sdk/chunk-OK4MLC3R.mjs.map +1 -0
- package/dist/sdk/{chunk-YVVOG7RP.mjs → chunk-R3FNZRE4.mjs} +77 -38
- package/dist/sdk/chunk-R3FNZRE4.mjs.map +1 -0
- package/dist/sdk/{chunk-HNK5ZJ2L.mjs → chunk-SEA2FWEC.mjs} +2 -2
- package/dist/sdk/{chunk-4FGX4SA6.mjs → chunk-Y2DYDGGY.mjs} +2 -2
- package/dist/sdk/{chunk-4FGX4SA6.mjs.map → chunk-Y2DYDGGY.mjs.map} +1 -1
- package/dist/sdk/{config-4JMBJKWS.mjs → config-OOUMTCEA.mjs} +2 -2
- package/dist/sdk/{failure-condition-evaluator-RM5JJS4Q.mjs → failure-condition-evaluator-RTT5SLVL.mjs} +3 -3
- package/dist/sdk/{github-frontend-O5IAWXL5.mjs → github-frontend-C4GG62PI.mjs} +3 -3
- package/dist/sdk/{host-WTJBWO4T.mjs → host-6GGO2BQE.mjs} +3 -3
- package/dist/sdk/{routing-AWOHU2WP.mjs → routing-DXVYOXAS.mjs} +4 -4
- package/dist/sdk/{schedule-tool-XVSYLH4Z.mjs → schedule-tool-GKKVOQB7.mjs} +3 -3
- package/dist/sdk/{schedule-tool-L5G2BRIG.mjs → schedule-tool-LL7XDILD.mjs} +6 -6
- package/dist/sdk/{schedule-tool-DF5WUVYV.mjs → schedule-tool-R7NSHTPJ.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-CFMFHDUL.mjs → schedule-tool-handler-5GTQ6SFI.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-JGWA4N3C.mjs → schedule-tool-handler-O3L2R5OJ.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-UJ4RFTW2.mjs → schedule-tool-handler-ZZGJ3UFR.mjs} +6 -6
- package/dist/sdk/sdk.js +66 -23
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +5 -5
- package/dist/sdk/{trace-helpers-4ERTVCZG.mjs → trace-helpers-CECHXDLI.mjs} +2 -2
- package/dist/sdk/{workflow-check-provider-Z6U7FZAF.mjs → workflow-check-provider-AX7IRQEZ.mjs} +3 -3
- package/dist/sdk/{workflow-check-provider-ETM452BO.mjs → workflow-check-provider-EY6VSMNG.mjs} +3 -3
- package/dist/sdk/{workflow-check-provider-I3XLJP6V.mjs → workflow-check-provider-HZQGJFOU.mjs} +6 -6
- package/dist/test-runner/index.d.ts.map +1 -1
- package/dist/traces/{run-2026-03-09T18-49-07-663Z.ndjson → run-2026-03-10T15-37-04-236Z.ndjson} +84 -84
- package/dist/{output/traces/run-2026-03-09T18-49-46-345Z.ndjson → traces/run-2026-03-10T15-37-44-748Z.ndjson} +1876 -1876
- package/package.json +1 -1
- package/dist/sdk/chunk-FZPCP444.mjs.map +0 -1
- package/dist/sdk/chunk-MLXGCLZJ.mjs.map +0 -1
- package/dist/sdk/chunk-TAK5HLAR.mjs.map +0 -1
- package/dist/sdk/chunk-YVVOG7RP.mjs.map +0 -1
- /package/dist/sdk/{a2a-frontend-ORLAU5GK.mjs.map → a2a-frontend-W54ZZ32L.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-7JPPJHVM.mjs.map → check-provider-registry-7HSDAKHQ.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-O36CQEGD.mjs.map → check-provider-registry-MJYNLB37.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-QCDV3SI6.mjs.map → check-provider-registry-VE6LQPLY.mjs.map} +0 -0
- /package/dist/sdk/{chunk-QAO73GUX.mjs.map → chunk-66PTDQAO.mjs.map} +0 -0
- /package/dist/sdk/{chunk-HNK5ZJ2L.mjs.map → chunk-SEA2FWEC.mjs.map} +0 -0
- /package/dist/sdk/{config-4JMBJKWS.mjs.map → config-OOUMTCEA.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-RM5JJS4Q.mjs.map → failure-condition-evaluator-RTT5SLVL.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-O5IAWXL5.mjs.map → github-frontend-C4GG62PI.mjs.map} +0 -0
- /package/dist/sdk/{host-WTJBWO4T.mjs.map → host-6GGO2BQE.mjs.map} +0 -0
- /package/dist/sdk/{routing-AWOHU2WP.mjs.map → routing-DXVYOXAS.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-DF5WUVYV.mjs.map → schedule-tool-GKKVOQB7.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-L5G2BRIG.mjs.map → schedule-tool-LL7XDILD.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-XVSYLH4Z.mjs.map → schedule-tool-R7NSHTPJ.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-CFMFHDUL.mjs.map → schedule-tool-handler-5GTQ6SFI.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-JGWA4N3C.mjs.map → schedule-tool-handler-O3L2R5OJ.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-UJ4RFTW2.mjs.map → schedule-tool-handler-ZZGJ3UFR.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-4ERTVCZG.mjs.map → trace-helpers-CECHXDLI.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-ETM452BO.mjs.map → workflow-check-provider-AX7IRQEZ.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-I3XLJP6V.mjs.map → workflow-check-provider-EY6VSMNG.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-Z6U7FZAF.mjs.map → workflow-check-provider-HZQGJFOU.mjs.map} +0 -0
package/defaults/assistant.yaml
CHANGED
|
@@ -855,6 +855,22 @@ steps:
|
|
|
855
855
|
- When a tool returns an error, explain what happened and suggest alternatives
|
|
856
856
|
- **CRITICAL: Always use `attempt_completion` tool to submit your final response** - this enables validation of your actions before the response is finalized
|
|
857
857
|
|
|
858
|
+
## CRITICAL: You are an ORCHESTRATOR — Delegate Code Work to Skill Tools
|
|
859
|
+
You are a high-level orchestrator. You MUST NOT read, search, or modify code yourself.
|
|
860
|
+
Delegate ALL code-related work to the appropriate skill tools:
|
|
861
|
+
|
|
862
|
+
- **Code exploration/search/reading** → use the `code-explorer` / `code-talk` tool
|
|
863
|
+
- **Code modifications, file edits, PRs** → use the `engineer` tool
|
|
864
|
+
- **NEVER use bash for code operations** — no grep, find, cat, sed, awk, git diff, or
|
|
865
|
+
any command that reads, searches, or modifies source code files
|
|
866
|
+
- **NEVER use file read/edit/search tools** on code — that is what skill tools are for
|
|
867
|
+
|
|
868
|
+
Bash IS allowed for non-code tasks: curl, API calls, gh CLI queries, jq, etc.
|
|
869
|
+
The rule is simple: if it touches source code → delegate to a skill tool.
|
|
870
|
+
|
|
871
|
+
If you catch yourself about to use bash or file tools for code operations — STOP and
|
|
872
|
+
delegate to the correct skill tool instead.
|
|
873
|
+
|
|
858
874
|
## CRITICAL: Preserve Tool Output Details
|
|
859
875
|
When tools return detailed data (lists, analytics, search results):
|
|
860
876
|
- **DO NOT summarize or compress** the tool output
|
package/defaults/code-talk.yaml
CHANGED
|
@@ -491,14 +491,13 @@ steps:
|
|
|
491
491
|
- "git:rev-parse:*"
|
|
492
492
|
- "git:ls-files:*"
|
|
493
493
|
- "git:ls-tree:*"
|
|
494
|
-
|
|
494
|
+
- "git:worktree:list:*"
|
|
495
|
+
- "git:worktree:remove:*"
|
|
496
|
+
# File operations — ONLY ls and wc allowed
|
|
497
|
+
# Do NOT use cat/grep/find/head/tail for code exploration —
|
|
498
|
+
# use search() and extract() tools instead, they are faster and more accurate
|
|
495
499
|
- "ls:*"
|
|
496
|
-
- "find:*"
|
|
497
|
-
- "cat:*"
|
|
498
|
-
- "head:*"
|
|
499
|
-
- "tail:*"
|
|
500
500
|
- "wc:*"
|
|
501
|
-
- "grep:*"
|
|
502
501
|
# GitHub CLI read-only operations
|
|
503
502
|
- "gh:run:*"
|
|
504
503
|
- "gh:run:list:*"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/ai-review-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/ai-review-service.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EAGX,YAAY,EAIZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,YAAY,
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EAGX,YAAY,EAIZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,YAAY,EAc9C,CAAC;AAEX;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAiBrB;IACF,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,kBAAkB,CAAgE;IAC1F,OAAO,CAAC,mBAAmB,CAA2D;IAEtF;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC;IAwHvB;;;OAGG;IACU,oBAAoB,CAC/B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EACzB,OAAO,GAAE,iBAAiB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,WAAW,CAAC;IAoDvB;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CrF;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgBrD;;OAEG;IACI,wBAAwB,IAAI,WAAW,GAAG,IAAI;IA0FrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;OAGG;YACW,uBAAuB;IAuGrC;;OAEG;YACW,aAAa;IAuB3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY;IAqB9F;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;IA2BF;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,UAAQ,GAAG,IAAI;IA4VzE;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAuL7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8T3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmM5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0DhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAwI7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6DzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6EhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA6B1B"}
|
|
@@ -855,6 +855,22 @@ steps:
|
|
|
855
855
|
- When a tool returns an error, explain what happened and suggest alternatives
|
|
856
856
|
- **CRITICAL: Always use `attempt_completion` tool to submit your final response** - this enables validation of your actions before the response is finalized
|
|
857
857
|
|
|
858
|
+
## CRITICAL: You are an ORCHESTRATOR — Delegate Code Work to Skill Tools
|
|
859
|
+
You are a high-level orchestrator. You MUST NOT read, search, or modify code yourself.
|
|
860
|
+
Delegate ALL code-related work to the appropriate skill tools:
|
|
861
|
+
|
|
862
|
+
- **Code exploration/search/reading** → use the `code-explorer` / `code-talk` tool
|
|
863
|
+
- **Code modifications, file edits, PRs** → use the `engineer` tool
|
|
864
|
+
- **NEVER use bash for code operations** — no grep, find, cat, sed, awk, git diff, or
|
|
865
|
+
any command that reads, searches, or modifies source code files
|
|
866
|
+
- **NEVER use file read/edit/search tools** on code — that is what skill tools are for
|
|
867
|
+
|
|
868
|
+
Bash IS allowed for non-code tasks: curl, API calls, gh CLI queries, jq, etc.
|
|
869
|
+
The rule is simple: if it touches source code → delegate to a skill tool.
|
|
870
|
+
|
|
871
|
+
If you catch yourself about to use bash or file tools for code operations — STOP and
|
|
872
|
+
delegate to the correct skill tool instead.
|
|
873
|
+
|
|
858
874
|
## CRITICAL: Preserve Tool Output Details
|
|
859
875
|
When tools return detailed data (lists, analytics, search results):
|
|
860
876
|
- **DO NOT summarize or compress** the tool output
|
|
@@ -491,14 +491,13 @@ steps:
|
|
|
491
491
|
- "git:rev-parse:*"
|
|
492
492
|
- "git:ls-files:*"
|
|
493
493
|
- "git:ls-tree:*"
|
|
494
|
-
|
|
494
|
+
- "git:worktree:list:*"
|
|
495
|
+
- "git:worktree:remove:*"
|
|
496
|
+
# File operations — ONLY ls and wc allowed
|
|
497
|
+
# Do NOT use cat/grep/find/head/tail for code exploration —
|
|
498
|
+
# use search() and extract() tools instead, they are faster and more accurate
|
|
495
499
|
- "ls:*"
|
|
496
|
-
- "find:*"
|
|
497
|
-
- "cat:*"
|
|
498
|
-
- "head:*"
|
|
499
|
-
- "tail:*"
|
|
500
500
|
- "wc:*"
|
|
501
|
-
- "grep:*"
|
|
502
501
|
# GitHub CLI read-only operations
|
|
503
502
|
- "gh:run:*"
|
|
504
503
|
- "gh:run:list:*"
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
process.env.VISOR_VERSION = '0.1.
|
|
2
|
+
process.env.VISOR_VERSION = '0.1.176';
|
|
3
3
|
process.env.PROBE_VERSION = '0.6.0-rc291';
|
|
4
|
-
process.env.VISOR_COMMIT_SHA = '
|
|
5
|
-
process.env.VISOR_COMMIT_SHORT = '
|
|
4
|
+
process.env.VISOR_COMMIT_SHA = 'e7bb0fe8d7a8a33772178036a26d756882ad454b';
|
|
5
|
+
process.env.VISOR_COMMIT_SHORT = 'e7bb0fe8';
|
|
6
6
|
/******/ (() => { // webpackBootstrap
|
|
7
7
|
/******/ var __webpack_modules__ = ({
|
|
8
8
|
|
|
@@ -300287,11 +300287,42 @@ function getCurrentDateXml() {
|
|
|
300287
300287
|
}
|
|
300288
300288
|
function createProbeTracerAdapter(fallbackTracer) {
|
|
300289
300289
|
const fallback = fallbackTracer && typeof fallbackTracer === 'object' ? fallbackTracer : null;
|
|
300290
|
+
// OTel span event attributes only support primitive types (string, number, boolean)
|
|
300291
|
+
// and arrays of primitives. Complex values (objects, arrays of objects) are silently
|
|
300292
|
+
// dropped. Flatten them to JSON strings so they survive serialization.
|
|
300293
|
+
const flattenAttrs = (attrs) => {
|
|
300294
|
+
if (!attrs)
|
|
300295
|
+
return attrs;
|
|
300296
|
+
const out = {};
|
|
300297
|
+
for (const [k, v] of Object.entries(attrs)) {
|
|
300298
|
+
if (v === null || v === undefined)
|
|
300299
|
+
continue;
|
|
300300
|
+
if (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean') {
|
|
300301
|
+
out[k] = v;
|
|
300302
|
+
}
|
|
300303
|
+
else if (Array.isArray(v)) {
|
|
300304
|
+
// Arrays of primitives are OK; arrays of objects need serialization
|
|
300305
|
+
if (v.length > 0 && typeof v[0] === 'object') {
|
|
300306
|
+
out[k] = JSON.stringify(v);
|
|
300307
|
+
}
|
|
300308
|
+
else {
|
|
300309
|
+
out[k] = v;
|
|
300310
|
+
}
|
|
300311
|
+
}
|
|
300312
|
+
else if (typeof v === 'object') {
|
|
300313
|
+
out[k] = JSON.stringify(v);
|
|
300314
|
+
}
|
|
300315
|
+
else {
|
|
300316
|
+
out[k] = v;
|
|
300317
|
+
}
|
|
300318
|
+
}
|
|
300319
|
+
return out;
|
|
300320
|
+
};
|
|
300290
300321
|
const emitEvent = (name, attrs) => {
|
|
300291
300322
|
try {
|
|
300292
300323
|
const span = lazy_otel_1.trace.getActiveSpan();
|
|
300293
300324
|
if (span && typeof span.addEvent === 'function') {
|
|
300294
|
-
span.addEvent(name, attrs);
|
|
300325
|
+
span.addEvent(name, flattenAttrs(attrs));
|
|
300295
300326
|
}
|
|
300296
300327
|
}
|
|
300297
300328
|
catch { }
|
|
@@ -300345,6 +300376,21 @@ function createProbeTracerAdapter(fallbackTracer) {
|
|
|
300345
300376
|
catch { }
|
|
300346
300377
|
}
|
|
300347
300378
|
},
|
|
300379
|
+
recordToolDecision: (toolName, params, metadata) => {
|
|
300380
|
+
const paramsStr = typeof params === 'string' ? params : JSON.stringify(params || {});
|
|
300381
|
+
emitEvent('tool.decision', {
|
|
300382
|
+
'tool.name': toolName,
|
|
300383
|
+
'tool.params': paramsStr.substring(0, 5000),
|
|
300384
|
+
'tool.params.length': paramsStr.length,
|
|
300385
|
+
...(metadata || {}),
|
|
300386
|
+
});
|
|
300387
|
+
if (fallback && typeof fallback.recordToolDecision === 'function') {
|
|
300388
|
+
try {
|
|
300389
|
+
fallback.recordToolDecision(toolName, params, metadata);
|
|
300390
|
+
}
|
|
300391
|
+
catch { }
|
|
300392
|
+
}
|
|
300393
|
+
},
|
|
300348
300394
|
recordDelegationEvent: (phase, attrs) => {
|
|
300349
300395
|
emitEvent(`delegation.${phase}`, attrs);
|
|
300350
300396
|
if (fallback && typeof fallback.recordDelegationEvent === 'function') {
|
|
@@ -306302,6 +306348,10 @@ exports.VALID_EVENT_TRIGGERS = [
|
|
|
306302
306348
|
'schedule',
|
|
306303
306349
|
'webhook_received',
|
|
306304
306350
|
'slack_message',
|
|
306351
|
+
'telegram_message',
|
|
306352
|
+
'email_message',
|
|
306353
|
+
'whatsapp_message',
|
|
306354
|
+
'teams_message',
|
|
306305
306355
|
];
|
|
306306
306356
|
/**
|
|
306307
306357
|
* Configuration manager for Visor
|
|
@@ -324805,7 +324855,9 @@ class AICheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
324805
324855
|
if (!first || typeof first !== 'object')
|
|
324806
324856
|
return {};
|
|
324807
324857
|
const ev = first.event;
|
|
324808
|
-
const
|
|
324858
|
+
const slackConv = first.slack_conversation;
|
|
324859
|
+
const telegramConv = first.telegram_conversation;
|
|
324860
|
+
const conv = slackConv || telegramConv;
|
|
324809
324861
|
if (!ev && !conv)
|
|
324810
324862
|
return {};
|
|
324811
324863
|
// Attach conversation to prInfo so downstream helpers (XML context) can use it
|
|
@@ -324817,7 +324869,11 @@ class AICheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
324817
324869
|
// best-effort only
|
|
324818
324870
|
}
|
|
324819
324871
|
}
|
|
324820
|
-
|
|
324872
|
+
// Build transport-specific context
|
|
324873
|
+
const transportCtx = slackConv
|
|
324874
|
+
? { slack: { event: ev, conversation: slackConv } }
|
|
324875
|
+
: { telegram: { event: ev, conversation: telegramConv } };
|
|
324876
|
+
return { ...transportCtx, conversation: conv };
|
|
324821
324877
|
}
|
|
324822
324878
|
catch {
|
|
324823
324879
|
return {};
|
|
@@ -351452,7 +351508,7 @@ async function executeCheckWithForEachItems(checkId, forEachParent, forEachItems
|
|
|
351452
351508
|
}
|
|
351453
351509
|
}
|
|
351454
351510
|
catch { }
|
|
351455
|
-
// Extract
|
|
351511
|
+
// Extract conversation from webhookContext (for Slack/Telegram socket mode)
|
|
351456
351512
|
// The socket-runner stores conversation data in webhookData under the endpoint key
|
|
351457
351513
|
try {
|
|
351458
351514
|
const webhookCtx = context.executionContext?.webhookContext;
|
|
@@ -351461,25 +351517,27 @@ async function executeCheckWithForEachItems(checkId, forEachParent, forEachItems
|
|
|
351461
351517
|
logger_1.logger.info(`[LevelDispatch] webhookContext: ${webhookCtx ? 'present' : 'absent'}, webhookData size: ${webhookData?.size || 0}`);
|
|
351462
351518
|
}
|
|
351463
351519
|
if (webhookData && webhookData.size > 0) {
|
|
351464
|
-
// Find the payload with slack_conversation
|
|
351520
|
+
// Find the payload with slack_conversation or telegram_conversation
|
|
351465
351521
|
for (const payload of webhookData.values()) {
|
|
351466
351522
|
const slackConv = payload?.slack_conversation;
|
|
351467
|
-
|
|
351468
|
-
|
|
351523
|
+
const telegramConv = payload?.telegram_conversation;
|
|
351524
|
+
const conv = slackConv || telegramConv;
|
|
351525
|
+
if (conv) {
|
|
351469
351526
|
const event = payload?.event;
|
|
351470
|
-
const messageCount = Array.isArray(
|
|
351471
|
-
?
|
|
351527
|
+
const messageCount = Array.isArray(conv?.messages)
|
|
351528
|
+
? conv.messages.length
|
|
351472
351529
|
: 0;
|
|
351473
351530
|
if (context.debug) {
|
|
351474
|
-
logger_1.logger.info(`[LevelDispatch]
|
|
351531
|
+
logger_1.logger.info(`[LevelDispatch] Conversation extracted (${conv?.transport || 'unknown'}): ${messageCount} messages`);
|
|
351475
351532
|
}
|
|
351533
|
+
// Build transport-specific context
|
|
351534
|
+
const transportCtx = slackConv
|
|
351535
|
+
? { slack: { event: event || {}, conversation: slackConv } }
|
|
351536
|
+
: { telegram: { event: event || {}, conversation: telegramConv }, webhook: payload };
|
|
351476
351537
|
providerConfig.eventContext = {
|
|
351477
351538
|
...providerConfig.eventContext,
|
|
351478
|
-
|
|
351479
|
-
|
|
351480
|
-
conversation: slackConv,
|
|
351481
|
-
},
|
|
351482
|
-
conversation: slackConv, // Also expose at top level for convenience
|
|
351539
|
+
...transportCtx,
|
|
351540
|
+
conversation: conv, // Expose at top level for all transports
|
|
351483
351541
|
};
|
|
351484
351542
|
break;
|
|
351485
351543
|
}
|
|
@@ -351488,7 +351546,7 @@ async function executeCheckWithForEachItems(checkId, forEachParent, forEachItems
|
|
|
351488
351546
|
}
|
|
351489
351547
|
catch { }
|
|
351490
351548
|
// Fallback: expose conversation from executionContext (for CLI --message)
|
|
351491
|
-
// Only if no
|
|
351549
|
+
// Only if no conversation was set above
|
|
351492
351550
|
try {
|
|
351493
351551
|
if (!providerConfig.eventContext?.conversation &&
|
|
351494
351552
|
context.executionContext?.conversation) {
|
|
@@ -352684,7 +352742,7 @@ async function executeSingleCheck(checkId, context, state, emitEvent, transition
|
|
|
352684
352742
|
}
|
|
352685
352743
|
}
|
|
352686
352744
|
catch { }
|
|
352687
|
-
// Extract
|
|
352745
|
+
// Extract conversation from webhookContext (for Slack/Telegram socket mode)
|
|
352688
352746
|
// The socket-runner stores conversation data in webhookData under the endpoint key
|
|
352689
352747
|
try {
|
|
352690
352748
|
const webhookCtx = context.executionContext?.webhookContext;
|
|
@@ -352693,23 +352751,25 @@ async function executeSingleCheck(checkId, context, state, emitEvent, transition
|
|
|
352693
352751
|
logger_1.logger.info(`[LevelDispatch] webhookContext: ${webhookCtx ? 'present' : 'absent'}, webhookData size: ${webhookData?.size || 0}`);
|
|
352694
352752
|
}
|
|
352695
352753
|
if (webhookData && webhookData.size > 0) {
|
|
352696
|
-
// Find the payload with slack_conversation
|
|
352754
|
+
// Find the payload with slack_conversation or telegram_conversation
|
|
352697
352755
|
for (const payload of webhookData.values()) {
|
|
352698
352756
|
const slackConv = payload?.slack_conversation;
|
|
352699
|
-
|
|
352700
|
-
|
|
352757
|
+
const telegramConv = payload?.telegram_conversation;
|
|
352758
|
+
const conv = slackConv || telegramConv;
|
|
352759
|
+
if (conv) {
|
|
352701
352760
|
const event = payload?.event;
|
|
352702
|
-
const messageCount = Array.isArray(
|
|
352761
|
+
const messageCount = Array.isArray(conv?.messages) ? conv.messages.length : 0;
|
|
352703
352762
|
if (context.debug) {
|
|
352704
|
-
logger_1.logger.info(`[LevelDispatch]
|
|
352763
|
+
logger_1.logger.info(`[LevelDispatch] Conversation extracted (${conv?.transport || 'unknown'}): ${messageCount} messages`);
|
|
352705
352764
|
}
|
|
352765
|
+
// Build transport-specific context
|
|
352766
|
+
const transportCtx = slackConv
|
|
352767
|
+
? { slack: { event: event || {}, conversation: slackConv } }
|
|
352768
|
+
: { telegram: { event: event || {}, conversation: telegramConv }, webhook: payload };
|
|
352706
352769
|
providerConfig.eventContext = {
|
|
352707
352770
|
...providerConfig.eventContext,
|
|
352708
|
-
|
|
352709
|
-
|
|
352710
|
-
conversation: slackConv,
|
|
352711
|
-
},
|
|
352712
|
-
conversation: slackConv, // Also expose at top level for convenience
|
|
352771
|
+
...transportCtx,
|
|
352772
|
+
conversation: conv, // Expose at top level for all transports
|
|
352713
352773
|
};
|
|
352714
352774
|
break;
|
|
352715
352775
|
}
|
|
@@ -352718,7 +352778,7 @@ async function executeSingleCheck(checkId, context, state, emitEvent, transition
|
|
|
352718
352778
|
}
|
|
352719
352779
|
catch { }
|
|
352720
352780
|
// Fallback: expose conversation from executionContext (for CLI --message)
|
|
352721
|
-
// Only if no
|
|
352781
|
+
// Only if no conversation was set above
|
|
352722
352782
|
try {
|
|
352723
352783
|
if (!providerConfig.eventContext?.conversation &&
|
|
352724
352784
|
context.executionContext?.conversation) {
|
|
@@ -362218,6 +362278,31 @@ class VisorTestRunner {
|
|
|
362218
362278
|
catch {
|
|
362219
362279
|
throw new Error(`Explicit tests file not accessible: ${resolved}`);
|
|
362220
362280
|
}
|
|
362281
|
+
// If the explicit path is a config file (not a .tests.yaml), look for
|
|
362282
|
+
// tests files relative to the config file's directory (#503).
|
|
362283
|
+
if (!/\.tests\.ya?ml$/i.test(resolved)) {
|
|
362284
|
+
const configDir = path_1.default.dirname(resolved);
|
|
362285
|
+
const testsCandidates = [
|
|
362286
|
+
path_1.default.resolve(configDir, 'defaults/visor.tests.yaml'),
|
|
362287
|
+
path_1.default.resolve(configDir, 'defaults/visor.tests.yml'),
|
|
362288
|
+
path_1.default.resolve(configDir, '.visor.tests.yaml'),
|
|
362289
|
+
path_1.default.resolve(configDir, '.visor.tests.yml'),
|
|
362290
|
+
];
|
|
362291
|
+
for (const p of testsCandidates) {
|
|
362292
|
+
const np = path_1.default.normalize(p);
|
|
362293
|
+
if (!np.startsWith(normalizedCwd))
|
|
362294
|
+
continue;
|
|
362295
|
+
try {
|
|
362296
|
+
if (fs_1.default.statSync(p).isFile())
|
|
362297
|
+
return p;
|
|
362298
|
+
}
|
|
362299
|
+
catch {
|
|
362300
|
+
continue;
|
|
362301
|
+
}
|
|
362302
|
+
}
|
|
362303
|
+
// Fall through to return the explicit path as-is (loadSuite will
|
|
362304
|
+
// report a clear error if it's not a valid tests file).
|
|
362305
|
+
}
|
|
362221
362306
|
return resolved;
|
|
362222
362307
|
}
|
|
362223
362308
|
const candidates = [
|
|
@@ -608675,7 +608760,7 @@ module.exports = /*#__PURE__*/JSON.parse('["aaa","aarp","abb","abbott","abbvie",
|
|
|
608675
608760
|
/***/ ((module) => {
|
|
608676
608761
|
|
|
608677
608762
|
"use strict";
|
|
608678
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@probelabs/visor","version":"0.1.
|
|
608763
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@probelabs/visor","version":"0.1.176","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","@grammyjs/runner":"^2.0.3","@modelcontextprotocol/sdk":"^1.25.3","@nyariv/sandboxjs":"github:probelabs/SandboxJS#23c4bb611f7d05f3cb8c523917b5f57103e48108","@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/api-logs":"^0.203.0","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-logs-otlp-http":"^0.203.0","@opentelemetry/exporter-metrics-otlp-http":"^0.203.0","@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-logs":"^0.203.0","@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-rc291","@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","botbuilder":"^4.23.3","botframework-connector":"^4.23.3","cli-table3":"^0.6.5","commander":"^14.0.0","deepmerge":"^4.3.1","dotenv":"^17.2.3","grammy":"^1.41.1","ignore":"^7.0.5","imapflow":"^1.2.12","js-yaml":"^4.1.0","jsonpath-plus":"^10.4.0","liquidjs":"^10.21.1","mailparser":"^3.9.3","minimatch":"^10.2.2","node-cron":"^3.0.3","nodemailer":"^8.0.1","open":"^9.1.0","resend":"^6.9.3","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/mailparser":"^3.4.6","@types/node":"^24.3.0","@types/node-cron":"^3.0.11","@types/nodemailer":"^7.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"]}}');
|
|
608679
608764
|
|
|
608680
608765
|
/***/ })
|
|
608681
608766
|
|