@probelabs/visor 0.1.176 → 0.1.177-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/dist/frontends/slack-frontend.d.ts.map +1 -1
- package/dist/index.js +1964 -44
- package/dist/sdk/{a2a-frontend-W54ZZ32L.mjs → a2a-frontend-BPWLYLCG.mjs} +2 -2
- package/dist/sdk/{check-provider-registry-MJYNLB37.mjs → check-provider-registry-G64PWDCZ.mjs} +5 -5
- package/dist/sdk/{check-provider-registry-7HSDAKHQ.mjs → check-provider-registry-HW4QPPSA.mjs} +2 -2
- package/dist/sdk/{chunk-Y2DYDGGY.mjs → chunk-GVTWESYN.mjs} +3 -3
- package/dist/sdk/chunk-GVTWESYN.mjs.map +1 -0
- package/dist/sdk/{chunk-4E34HRCW.mjs → chunk-IYXOLUDJ.mjs} +74 -29
- package/dist/sdk/chunk-IYXOLUDJ.mjs.map +1 -0
- package/dist/sdk/{chunk-66PTDQAO.mjs → chunk-OHOBWVPP.mjs} +3 -3
- package/dist/sdk/{chunk-SEA2FWEC.mjs → chunk-OPI632LK.mjs} +2 -2
- package/dist/sdk/{chunk-OK4MLC3R.mjs → chunk-Y6PVSFCS.mjs} +49 -9
- package/dist/sdk/chunk-Y6PVSFCS.mjs.map +1 -0
- package/dist/sdk/{failure-condition-evaluator-RTT5SLVL.mjs → failure-condition-evaluator-HL33X7MH.mjs} +3 -3
- package/dist/sdk/{github-frontend-C4GG62PI.mjs → github-frontend-U2U42CKV.mjs} +3 -3
- package/dist/sdk/{host-6GGO2BQE.mjs → host-HFOJQIOF.mjs} +4 -4
- package/dist/sdk/knex-store-QCEW4I4R.mjs +527 -0
- package/dist/sdk/knex-store-QCEW4I4R.mjs.map +1 -0
- package/dist/sdk/loader-Q7K76ZIY.mjs +89 -0
- package/dist/sdk/loader-Q7K76ZIY.mjs.map +1 -0
- package/dist/sdk/opa-policy-engine-QCSSIMUF.mjs +655 -0
- package/dist/sdk/opa-policy-engine-QCSSIMUF.mjs.map +1 -0
- package/dist/sdk/{routing-DXVYOXAS.mjs → routing-SFP4D6O3.mjs} +4 -4
- package/dist/sdk/{schedule-tool-R7NSHTPJ.mjs → schedule-tool-45NAALKS.mjs} +2 -2
- package/dist/sdk/{schedule-tool-LL7XDILD.mjs → schedule-tool-7O7SWSJ4.mjs} +5 -5
- package/dist/sdk/{schedule-tool-handler-5GTQ6SFI.mjs → schedule-tool-handler-6MPP5DXK.mjs} +2 -2
- package/dist/sdk/{schedule-tool-handler-O3L2R5OJ.mjs → schedule-tool-handler-KYDXJ2ZL.mjs} +5 -5
- package/dist/sdk/sdk.js +1729 -295
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +4 -4
- package/dist/sdk/slack-frontend-XKSIOUXB.mjs +910 -0
- package/dist/sdk/slack-frontend-XKSIOUXB.mjs.map +1 -0
- package/dist/sdk/{trace-helpers-CECHXDLI.mjs → trace-helpers-L3EOYW5P.mjs} +2 -2
- package/dist/sdk/validator-XTZJZZJH.mjs +134 -0
- package/dist/sdk/validator-XTZJZZJH.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-EY6VSMNG.mjs → workflow-check-provider-JIXZJNV5.mjs} +5 -5
- package/dist/sdk/{workflow-check-provider-AX7IRQEZ.mjs → workflow-check-provider-OA33MESM.mjs} +2 -2
- package/dist/utils/workspace-manager.d.ts +5 -1
- package/dist/utils/workspace-manager.d.ts.map +1 -1
- package/dist/utils/worktree-manager.d.ts +5 -1
- package/dist/utils/worktree-manager.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/output/traces/run-2026-03-10T15-37-04-236Z.ndjson +0 -138
- package/dist/output/traces/run-2026-03-10T15-37-44-748Z.ndjson +0 -2296
- package/dist/sdk/check-provider-registry-VE6LQPLY.mjs +0 -30
- package/dist/sdk/chunk-4E34HRCW.mjs.map +0 -1
- package/dist/sdk/chunk-OK4MLC3R.mjs.map +0 -1
- package/dist/sdk/chunk-R3FNZRE4.mjs +0 -45194
- package/dist/sdk/chunk-R3FNZRE4.mjs.map +0 -1
- package/dist/sdk/chunk-Y2DYDGGY.mjs.map +0 -1
- package/dist/sdk/schedule-tool-GKKVOQB7.mjs +0 -36
- package/dist/sdk/schedule-tool-handler-ZZGJ3UFR.mjs +0 -40
- package/dist/sdk/trace-helpers-CECHXDLI.mjs.map +0 -1
- package/dist/sdk/workflow-check-provider-AX7IRQEZ.mjs.map +0 -1
- package/dist/sdk/workflow-check-provider-EY6VSMNG.mjs.map +0 -1
- package/dist/sdk/workflow-check-provider-HZQGJFOU.mjs +0 -30
- package/dist/sdk/workflow-check-provider-HZQGJFOU.mjs.map +0 -1
- package/dist/traces/run-2026-03-10T15-37-04-236Z.ndjson +0 -138
- package/dist/traces/run-2026-03-10T15-37-44-748Z.ndjson +0 -2296
- /package/dist/sdk/{a2a-frontend-W54ZZ32L.mjs.map → a2a-frontend-BPWLYLCG.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-7HSDAKHQ.mjs.map → check-provider-registry-G64PWDCZ.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-MJYNLB37.mjs.map → check-provider-registry-HW4QPPSA.mjs.map} +0 -0
- /package/dist/sdk/{chunk-66PTDQAO.mjs.map → chunk-OHOBWVPP.mjs.map} +0 -0
- /package/dist/sdk/{chunk-SEA2FWEC.mjs.map → chunk-OPI632LK.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-VE6LQPLY.mjs.map → failure-condition-evaluator-HL33X7MH.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-C4GG62PI.mjs.map → github-frontend-U2U42CKV.mjs.map} +0 -0
- /package/dist/sdk/{host-6GGO2BQE.mjs.map → host-HFOJQIOF.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-RTT5SLVL.mjs.map → routing-SFP4D6O3.mjs.map} +0 -0
- /package/dist/sdk/{routing-DXVYOXAS.mjs.map → schedule-tool-45NAALKS.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-GKKVOQB7.mjs.map → schedule-tool-7O7SWSJ4.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-LL7XDILD.mjs.map → schedule-tool-handler-6MPP5DXK.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-R7NSHTPJ.mjs.map → schedule-tool-handler-KYDXJ2ZL.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-5GTQ6SFI.mjs.map → trace-helpers-L3EOYW5P.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-O3L2R5OJ.mjs.map → workflow-check-provider-JIXZJNV5.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-ZZGJ3UFR.mjs.map → workflow-check-provider-OA33MESM.mjs.map} +0 -0
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
init_trace_helpers,
|
|
14
14
|
withActiveSpan
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GVTWESYN.mjs";
|
|
16
16
|
import "./chunk-6VVXKXTI.mjs";
|
|
17
17
|
import "./chunk-34QX63WK.mjs";
|
|
18
18
|
import {
|
|
@@ -1655,4 +1655,4 @@ export {
|
|
|
1655
1655
|
messageToWorkflowInput,
|
|
1656
1656
|
resultToArtifacts
|
|
1657
1657
|
};
|
|
1658
|
-
//# sourceMappingURL=a2a-frontend-
|
|
1658
|
+
//# sourceMappingURL=a2a-frontend-BPWLYLCG.mjs.map
|
package/dist/sdk/{check-provider-registry-MJYNLB37.mjs → check-provider-registry-G64PWDCZ.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckProviderRegistry,
|
|
3
3
|
init_check_provider_registry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-IYXOLUDJ.mjs";
|
|
5
5
|
import "./chunk-YSOIR46P.mjs";
|
|
6
6
|
import "./chunk-PDQTEBOJ.mjs";
|
|
7
7
|
import "./chunk-7VTZDC2X.mjs";
|
|
@@ -11,9 +11,9 @@ import "./chunk-RHKPFJLG.mjs";
|
|
|
11
11
|
import "./chunk-UBTZE3FO.mjs";
|
|
12
12
|
import "./chunk-MM3TGVQ4.mjs";
|
|
13
13
|
import "./chunk-KWTCTEFT.mjs";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-OHOBWVPP.mjs";
|
|
15
|
+
import "./chunk-OPI632LK.mjs";
|
|
16
|
+
import "./chunk-GVTWESYN.mjs";
|
|
17
17
|
import "./chunk-6VVXKXTI.mjs";
|
|
18
18
|
import "./chunk-34QX63WK.mjs";
|
|
19
19
|
import "./chunk-PQWZ6NFL.mjs";
|
|
@@ -27,4 +27,4 @@ init_check_provider_registry();
|
|
|
27
27
|
export {
|
|
28
28
|
CheckProviderRegistry
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=check-provider-registry-
|
|
30
|
+
//# sourceMappingURL=check-provider-registry-G64PWDCZ.mjs.map
|
package/dist/sdk/{check-provider-registry-7HSDAKHQ.mjs → check-provider-registry-HW4QPPSA.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckProviderRegistry,
|
|
3
3
|
init_check_provider_registry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Y6PVSFCS.mjs";
|
|
5
5
|
import "./chunk-YSOIR46P.mjs";
|
|
6
6
|
import "./chunk-PDQTEBOJ.mjs";
|
|
7
7
|
import "./chunk-7VTZDC2X.mjs";
|
|
@@ -27,4 +27,4 @@ init_check_provider_registry();
|
|
|
27
27
|
export {
|
|
28
28
|
CheckProviderRegistry
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=check-provider-registry-
|
|
30
|
+
//# sourceMappingURL=check-provider-registry-HW4QPPSA.mjs.map
|
|
@@ -96,7 +96,7 @@ var require_package = __commonJS({
|
|
|
96
96
|
"package.json"(exports, module) {
|
|
97
97
|
module.exports = {
|
|
98
98
|
name: "@probelabs/visor",
|
|
99
|
-
version: "0.1.
|
|
99
|
+
version: "0.1.42",
|
|
100
100
|
main: "dist/index.js",
|
|
101
101
|
bin: {
|
|
102
102
|
visor: "./dist/index.js"
|
|
@@ -215,7 +215,7 @@ var require_package = __commonJS({
|
|
|
215
215
|
"@opentelemetry/sdk-node": "^0.203.0",
|
|
216
216
|
"@opentelemetry/sdk-trace-base": "^1.30.1",
|
|
217
217
|
"@opentelemetry/semantic-conventions": "^1.30.1",
|
|
218
|
-
"@probelabs/probe": "^0.6.0-
|
|
218
|
+
"@probelabs/probe": "^0.6.0-rc292",
|
|
219
219
|
"@types/commander": "^2.12.0",
|
|
220
220
|
"@types/uuid": "^10.0.0",
|
|
221
221
|
acorn: "^8.16.0",
|
|
@@ -513,4 +513,4 @@ export {
|
|
|
513
513
|
trace_helpers_exports,
|
|
514
514
|
init_trace_helpers
|
|
515
515
|
};
|
|
516
|
-
//# sourceMappingURL=chunk-
|
|
516
|
+
//# sourceMappingURL=chunk-GVTWESYN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/telemetry/fallback-ndjson.ts","../../package.json","../../src/telemetry/trace-helpers.ts"],"sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\n\nlet CURRENT_FILE: string | null = null;\nlet dirReady = false;\nlet writeChain: Promise<void> = Promise.resolve();\nfunction resolveTargetPath(outDir: string): string {\n if (process.env.VISOR_FALLBACK_TRACE_FILE) {\n CURRENT_FILE = process.env.VISOR_FALLBACK_TRACE_FILE;\n return CURRENT_FILE;\n }\n if (CURRENT_FILE) return CURRENT_FILE;\n const ts = new Date().toISOString().replace(/[:.]/g, '-');\n CURRENT_FILE = path.join(outDir, `${ts}.ndjson`);\n return CURRENT_FILE;\n}\n\nfunction isEnabled(): boolean {\n // Enable when CLI set a fallback file (serverless mode), or when explicit file sink is enabled\n if (process.env.VISOR_FALLBACK_TRACE_FILE) return true;\n return (\n process.env.VISOR_TELEMETRY_ENABLED === 'true' &&\n (process.env.VISOR_TELEMETRY_SINK || 'file') === 'file'\n );\n}\n\nfunction appendAsync(outDir: string, line: string): void {\n writeChain = writeChain\n .then(async () => {\n if (!dirReady) {\n try {\n await fs.promises.mkdir(outDir, { recursive: true });\n } catch {}\n dirReady = true;\n }\n const target = resolveTargetPath(outDir);\n await fs.promises.appendFile(target, line, 'utf8');\n })\n .catch(() => {});\n}\n\nexport async function flushNdjson(): Promise<void> {\n try {\n await writeChain;\n } catch {}\n}\n\nexport function emitNdjsonFallback(name: string, attrs: Record<string, unknown>): void {\n try {\n if (!isEnabled()) return;\n const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), 'output', 'traces');\n const line = JSON.stringify({ name, attributes: attrs }) + '\\n';\n appendAsync(outDir, line);\n } catch {\n // ignore\n }\n}\n\nexport function emitNdjsonSpanWithEvents(\n name: string,\n attrs: Record<string, unknown>,\n events: Array<{ name: string; attrs?: Record<string, unknown> }>\n): void {\n try {\n if (!isEnabled()) return;\n const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), 'output', 'traces');\n const line = JSON.stringify({ name, attributes: attrs, events }) + '\\n';\n appendAsync(outDir, line);\n } catch {\n // ignore\n }\n}\n","{\n \"name\": \"@probelabs/visor\",\n \"version\": \"0.1.42\",\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-rc292\",\n \"@types/commander\": \"^2.12.0\",\n \"@types/uuid\": \"^10.0.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","import { context as otContext, Span, SpanStatusCode, trace, Attributes } from './lazy-otel';\nimport { getInstanceId } from '../utils/instance-id';\n\nexport function getTracer() {\n return trace.getTracer('visor');\n}\n\nexport async function withActiveSpan<T>(\n name: string,\n attrs: Record<string, unknown> | undefined,\n fn: (span: Span) => Promise<T>\n): Promise<T> {\n const tracer = getTracer();\n // Preserve parent context via tracer API; avoid logging parent IDs to stdout\n // Avoid noisy stdout logs that break JSON consumers\n return await new Promise<T>((resolve, reject) => {\n const callback = async (span: Span) => {\n // console.debug(`[trace] Span callback invoked for: [trace_id=${ctx.traceId} span_id=${ctx.spanId}] ${name} span: true`);\n try {\n const res = await fn(span);\n // console.debug('[trace] Span execution completed for:', name);\n resolve(res);\n } catch (err) {\n // console.debug('[trace] Span execution errored for:', name, err);\n try {\n if (err instanceof Error) span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR });\n } catch {}\n reject(err);\n } finally {\n try {\n // console.debug('[trace] Ending span:', name);\n span.end();\n } catch {}\n }\n };\n // startActiveSpan should use the current active context to set parent automatically\n const options = attrs ? { attributes: attrs as Attributes } : {};\n tracer.startActiveSpan(name, options, callback);\n });\n}\n\nexport function addEvent(name: string, attrs?: Record<string, unknown>): void {\n const span = trace.getSpan(otContext.active());\n if (span) {\n try {\n span.addEvent(name, attrs as Attributes);\n } catch {\n // ignore\n }\n }\n // Fallback NDJSON emission for serverless/file sink when SDK may be inactive\n try {\n const { emitNdjsonSpanWithEvents } = require('./fallback-ndjson');\n emitNdjsonSpanWithEvents('visor.event', {}, [{ name, attrs }]);\n if (name === 'fail_if.triggered') {\n emitNdjsonSpanWithEvents('visor.event', {}, [\n { name: 'fail_if.evaluated', attrs },\n { name: 'fail_if.triggered', attrs },\n ]);\n }\n } catch {}\n}\n\nexport function setSpanAttributes(attrs: Record<string, unknown>): void {\n const span = trace.getSpan(otContext.active());\n if (!span) return;\n try {\n for (const [k, v] of Object.entries(attrs)) span.setAttribute(k, v as never);\n } catch {\n // ignore\n }\n}\n\nexport function setSpanError(err: unknown): void {\n const span = trace.getSpan(otContext.active());\n if (!span) return;\n try {\n if (err instanceof Error) span.recordException(err);\n span.setStatus({ code: SpanStatusCode.ERROR });\n } catch {\n // ignore\n }\n}\n\n/**\n * Return standard visor.* resource attributes for the root `visor.run` span.\n * Reads version from package.json / env and git commit short SHA from env.\n */\nexport function getVisorRunAttributes(): Record<string, string> {\n const attrs: Record<string, string> = {};\n try {\n attrs['visor.version'] =\n process.env.VISOR_VERSION || (require('../../package.json')?.version ?? 'dev');\n } catch {\n attrs['visor.version'] = 'dev';\n }\n const commitShort = process.env.VISOR_COMMIT_SHORT || '';\n const commitFull = process.env.VISOR_COMMIT_SHA || process.env.VISOR_COMMIT || '';\n if (commitShort) {\n attrs['visor.commit'] = commitShort;\n }\n if (commitFull) {\n attrs['visor.commit.sha'] = commitFull;\n }\n attrs['visor.instance_id'] = getInstanceId();\n return attrs;\n}\n\n/**\n * Wraps a visor.run span with automatic run metrics (counter + duration histogram).\n * Use this instead of raw `withActiveSpan('visor.run', ...)` to get metrics for free.\n */\nexport async function withVisorRun<T>(\n attrs: Record<string, unknown>,\n runMeta: {\n source?: string;\n userId?: string;\n userName?: string;\n workflowId?: string;\n },\n fn: (span: Span) => Promise<T>\n): Promise<T> {\n const {\n recordRunStart,\n recordRunDuration,\n resetRunAiCalls,\n recordRunAiCalls,\n getRunAiCalls,\n } = require('./metrics');\n const instanceId = getInstanceId();\n recordRunStart({\n source: runMeta.source,\n userId: runMeta.userId,\n userName: runMeta.userName,\n workflowId: runMeta.workflowId,\n instanceId,\n });\n resetRunAiCalls();\n const startMs = Date.now();\n let success = true;\n try {\n return await withActiveSpan('visor.run', attrs, async span => {\n try {\n return await fn(span);\n } finally {\n // Record AI call count as span attribute for trace visibility\n try {\n span.setAttribute('visor.run.ai_calls', getRunAiCalls());\n span.setAttribute('visor.run.duration_ms', Date.now() - startMs);\n } catch {}\n }\n });\n } catch (err) {\n success = false;\n throw err;\n } finally {\n recordRunAiCalls({\n source: runMeta.source,\n workflowId: runMeta.workflowId,\n });\n recordRunDuration(Date.now() - startMs, {\n source: runMeta.source,\n userId: runMeta.userId,\n workflowId: runMeta.workflowId,\n success,\n });\n }\n}\n\n// Internal helper for tests: write a minimal run marker to NDJSON when using file sink\nlet __ndjsonPath: string | null = null;\nexport function __getOrCreateNdjsonPath(): string | null {\n try {\n // If sink is explicitly set to non-file, skip. If unset, still allow when a trace dir/file is configured.\n if (process.env.VISOR_TELEMETRY_SINK && process.env.VISOR_TELEMETRY_SINK !== 'file')\n return null;\n const path = require('path');\n const fs = require('fs');\n // Prefer explicit fallback file path if set by the CLI\n if (process.env.VISOR_FALLBACK_TRACE_FILE) {\n __ndjsonPath = process.env.VISOR_FALLBACK_TRACE_FILE;\n const dir = path.dirname(__ndjsonPath);\n if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });\n return __ndjsonPath;\n }\n const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), 'output', 'traces');\n if (!fs.existsSync(outDir)) fs.mkdirSync(outDir, { recursive: true });\n if (!__ndjsonPath) {\n const ts = new Date().toISOString().replace(/[:.]/g, '-');\n __ndjsonPath = path.join(outDir, `${ts}.ndjson`);\n }\n return __ndjsonPath;\n } catch {\n return null;\n }\n}\nexport function _appendRunMarker(): void {\n try {\n const fs = require('fs');\n const p = __getOrCreateNdjsonPath();\n if (!p) return;\n const line = { name: 'visor.run', attributes: { started: true } };\n fs.appendFileSync(p, JSON.stringify(line) + '\\n', 'utf8');\n } catch {}\n}\n"],"mappings":"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","names":["emitNdjsonSpanWithEvents","path","fs"]}
|
|
@@ -52,11 +52,11 @@ import {
|
|
|
52
52
|
init_routing,
|
|
53
53
|
init_snapshot_store,
|
|
54
54
|
snapshot_store_exports
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-OHOBWVPP.mjs";
|
|
56
56
|
import {
|
|
57
57
|
FailureConditionEvaluator,
|
|
58
58
|
init_failure_condition_evaluator
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-OPI632LK.mjs";
|
|
60
60
|
import {
|
|
61
61
|
addEvent,
|
|
62
62
|
emitNdjsonFallback,
|
|
@@ -67,7 +67,7 @@ import {
|
|
|
67
67
|
setSpanAttributes,
|
|
68
68
|
trace_helpers_exports,
|
|
69
69
|
withActiveSpan
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-GVTWESYN.mjs";
|
|
71
71
|
import {
|
|
72
72
|
generateHumanId,
|
|
73
73
|
init_human_id
|
|
@@ -4042,7 +4042,7 @@ async function executeWorkflowAsTool(workflowId, args, context2, argsOverrides)
|
|
|
4042
4042
|
...args,
|
|
4043
4043
|
...argsOverrides
|
|
4044
4044
|
};
|
|
4045
|
-
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-
|
|
4045
|
+
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-JIXZJNV5.mjs");
|
|
4046
4046
|
const provider = new WorkflowCheckProvider2();
|
|
4047
4047
|
const checkConfig = {
|
|
4048
4048
|
type: "workflow",
|
|
@@ -6919,7 +6919,7 @@ async function executeCheckWithForEachItems(checkId, forEachParent, forEachItems
|
|
|
6919
6919
|
workflowInputs,
|
|
6920
6920
|
ai: {
|
|
6921
6921
|
...checkConfig.ai || {},
|
|
6922
|
-
timeout: checkConfig.ai?.timeout || 18e5,
|
|
6922
|
+
timeout: checkConfig.timeout || checkConfig.ai?.timeout || 18e5,
|
|
6923
6923
|
debug: !!context2.debug
|
|
6924
6924
|
}
|
|
6925
6925
|
};
|
|
@@ -7006,7 +7006,7 @@ async function executeCheckWithForEachItems(checkId, forEachParent, forEachItems
|
|
|
7006
7006
|
context2,
|
|
7007
7007
|
prInfo,
|
|
7008
7008
|
dependencyResults,
|
|
7009
|
-
checkConfig.ai?.timeout || 18e5,
|
|
7009
|
+
checkConfig.timeout || checkConfig.ai?.timeout || 18e5,
|
|
7010
7010
|
() => provider.execute(prInfo, providerConfig, dependencyResults, executionContext)
|
|
7011
7011
|
);
|
|
7012
7012
|
try {
|
|
@@ -7422,7 +7422,7 @@ async function executeInvocation(item, context2, scope, prInfo, dependencyResult
|
|
|
7422
7422
|
__outputHistory: outputHistory,
|
|
7423
7423
|
ai: {
|
|
7424
7424
|
...stepConfig.ai || {},
|
|
7425
|
-
timeout: stepConfig.ai?.timeout || 18e5,
|
|
7425
|
+
timeout: stepConfig.timeout || stepConfig.ai?.timeout || 18e5,
|
|
7426
7426
|
debug: !!context2.debug
|
|
7427
7427
|
}
|
|
7428
7428
|
};
|
|
@@ -7946,7 +7946,7 @@ async function executeSingleCheck(checkId, context2, state, emitEvent, transitio
|
|
|
7946
7946
|
workflowInputs,
|
|
7947
7947
|
ai: {
|
|
7948
7948
|
...checkConfig.ai || {},
|
|
7949
|
-
timeout: checkConfig.ai?.timeout || 18e5,
|
|
7949
|
+
timeout: checkConfig.timeout || checkConfig.ai?.timeout || 18e5,
|
|
7950
7950
|
debug: !!context2.debug
|
|
7951
7951
|
}
|
|
7952
7952
|
};
|
|
@@ -8047,7 +8047,7 @@ async function executeSingleCheck(checkId, context2, state, emitEvent, transitio
|
|
|
8047
8047
|
context2,
|
|
8048
8048
|
prInfo,
|
|
8049
8049
|
dependencyResults,
|
|
8050
|
-
checkConfig.ai?.timeout || 18e5,
|
|
8050
|
+
checkConfig.timeout || checkConfig.ai?.timeout || 18e5,
|
|
8051
8051
|
() => provider.execute(prInfo, providerConfig, dependencyResults, executionContext)
|
|
8052
8052
|
);
|
|
8053
8053
|
try {
|
|
@@ -8776,7 +8776,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
8776
8776
|
workflowInputs,
|
|
8777
8777
|
ai: {
|
|
8778
8778
|
...checkConfig.ai || {},
|
|
8779
|
-
timeout: checkConfig.ai?.timeout || 18e5,
|
|
8779
|
+
timeout: checkConfig.timeout || checkConfig.ai?.timeout || 18e5,
|
|
8780
8780
|
debug: !!context2.debug
|
|
8781
8781
|
}
|
|
8782
8782
|
};
|
|
@@ -8811,7 +8811,10 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
8811
8811
|
`[LevelDispatch] Conversation extracted (${conv?.transport || "unknown"}): ${messageCount} messages`
|
|
8812
8812
|
);
|
|
8813
8813
|
}
|
|
8814
|
-
const transportCtx = slackConv ? { slack: { event: event || {}, conversation: slackConv } } : {
|
|
8814
|
+
const transportCtx = slackConv ? { slack: { event: event || {}, conversation: slackConv } } : {
|
|
8815
|
+
telegram: { event: event || {}, conversation: telegramConv },
|
|
8816
|
+
webhook: payload
|
|
8817
|
+
};
|
|
8815
8818
|
providerConfig.eventContext = {
|
|
8816
8819
|
...providerConfig.eventContext,
|
|
8817
8820
|
...transportCtx,
|
|
@@ -8975,7 +8978,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
8975
8978
|
context2,
|
|
8976
8979
|
prInfo,
|
|
8977
8980
|
dependencyResults,
|
|
8978
|
-
checkConfig.ai?.timeout || 18e5,
|
|
8981
|
+
checkConfig.timeout || checkConfig.ai?.timeout || 18e5,
|
|
8979
8982
|
() => provider.execute(prInfo, providerConfig, dependencyResults, executionContext)
|
|
8980
8983
|
);
|
|
8981
8984
|
try {
|
|
@@ -9363,7 +9366,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
9363
9366
|
}
|
|
9364
9367
|
}
|
|
9365
9368
|
try {
|
|
9366
|
-
const { evaluateTransitions } = await import("./routing-
|
|
9369
|
+
const { evaluateTransitions } = await import("./routing-SFP4D6O3.mjs");
|
|
9367
9370
|
const transTarget = await evaluateTransitions(
|
|
9368
9371
|
onFinish.transitions,
|
|
9369
9372
|
forEachParent,
|
|
@@ -9423,7 +9426,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
9423
9426
|
`[LevelDispatch] Error evaluating on_finish transitions for ${forEachParent}: ${e instanceof Error ? e.message : String(e)}`
|
|
9424
9427
|
);
|
|
9425
9428
|
}
|
|
9426
|
-
const { evaluateGoto: evaluateGoto2 } = await import("./routing-
|
|
9429
|
+
const { evaluateGoto: evaluateGoto2 } = await import("./routing-SFP4D6O3.mjs");
|
|
9427
9430
|
if (context2.debug) {
|
|
9428
9431
|
logger.info(
|
|
9429
9432
|
`[LevelDispatch] Evaluating on_finish.goto_js for forEach parent: ${forEachParent}`
|
|
@@ -9904,7 +9907,7 @@ async function executeSingleCheck2(checkId, context2, state, emitEvent, transiti
|
|
|
9904
9907
|
workflowInputs,
|
|
9905
9908
|
ai: {
|
|
9906
9909
|
...checkConfig2.ai || {},
|
|
9907
|
-
timeout: checkConfig2.ai?.timeout || 18e5,
|
|
9910
|
+
timeout: checkConfig2.timeout || checkConfig2.ai?.timeout || 18e5,
|
|
9908
9911
|
debug: !!context2.debug
|
|
9909
9912
|
}
|
|
9910
9913
|
};
|
|
@@ -9935,7 +9938,9 @@ async function executeSingleCheck2(checkId, context2, state, emitEvent, transiti
|
|
|
9935
9938
|
const event = payload?.event;
|
|
9936
9939
|
const messageCount = Array.isArray(conv?.messages) ? conv.messages.length : 0;
|
|
9937
9940
|
if (context2.debug) {
|
|
9938
|
-
logger.info(
|
|
9941
|
+
logger.info(
|
|
9942
|
+
`[LevelDispatch] Conversation extracted (${conv?.transport || "unknown"}): ${messageCount} messages`
|
|
9943
|
+
);
|
|
9939
9944
|
}
|
|
9940
9945
|
const transportCtx = slackConv ? { slack: { event: event || {}, conversation: slackConv } } : { telegram: { event: event || {}, conversation: telegramConv }, webhook: payload };
|
|
9941
9946
|
providerConfig.eventContext = {
|
|
@@ -10073,7 +10078,7 @@ async function executeSingleCheck2(checkId, context2, state, emitEvent, transiti
|
|
|
10073
10078
|
context2,
|
|
10074
10079
|
prInfo,
|
|
10075
10080
|
dependencyResults,
|
|
10076
|
-
checkConfig2.ai?.timeout || 18e5,
|
|
10081
|
+
checkConfig2.timeout || checkConfig2.ai?.timeout || 18e5,
|
|
10077
10082
|
() => provider.execute(prInfo, providerConfig, dependencyResults, executionContext)
|
|
10078
10083
|
);
|
|
10079
10084
|
try {
|
|
@@ -12733,10 +12738,27 @@ var init_workspace_manager = __esm({
|
|
|
12733
12738
|
await this.deleteLocalBranches(worktreePath);
|
|
12734
12739
|
}
|
|
12735
12740
|
/**
|
|
12736
|
-
* Delete
|
|
12741
|
+
* Delete local branches in a worktree that are safe to remove.
|
|
12742
|
+
* IMPORTANT: Git worktrees share the branch namespace with the main repo
|
|
12743
|
+
* and all other worktrees. We must NOT delete branches that are checked out
|
|
12744
|
+
* in the main working tree or any other worktree — doing so would destroy
|
|
12745
|
+
* the user's work.
|
|
12737
12746
|
*/
|
|
12738
12747
|
async deleteLocalBranches(worktreePath) {
|
|
12739
12748
|
const escapedPath = shellEscape(worktreePath);
|
|
12749
|
+
const worktreeListResult = await commandExecutor.execute(
|
|
12750
|
+
`git -C ${escapedPath} worktree list --porcelain`,
|
|
12751
|
+
{ timeout: 1e4 }
|
|
12752
|
+
);
|
|
12753
|
+
const protectedBranches = /* @__PURE__ */ new Set();
|
|
12754
|
+
if (worktreeListResult.exitCode === 0) {
|
|
12755
|
+
for (const line of worktreeListResult.stdout.split("\n")) {
|
|
12756
|
+
const match = line.match(/^branch refs\/heads\/(.+)$/);
|
|
12757
|
+
if (match) {
|
|
12758
|
+
protectedBranches.add(match[1]);
|
|
12759
|
+
}
|
|
12760
|
+
}
|
|
12761
|
+
}
|
|
12740
12762
|
const listResult = await commandExecutor.execute(
|
|
12741
12763
|
`git -C ${escapedPath} branch --list --format='%(refname:short)'`,
|
|
12742
12764
|
{ timeout: 1e4 }
|
|
@@ -12746,6 +12768,10 @@ var init_workspace_manager = __esm({
|
|
|
12746
12768
|
}
|
|
12747
12769
|
const branches = listResult.stdout.trim().split("\n").map((b) => b.trim()).filter((b) => b.length > 0);
|
|
12748
12770
|
for (const branch of branches) {
|
|
12771
|
+
if (protectedBranches.has(branch)) {
|
|
12772
|
+
logger.debug(`[Workspace] Skipping branch '${branch}' \u2014 checked out in another worktree`);
|
|
12773
|
+
continue;
|
|
12774
|
+
}
|
|
12749
12775
|
const deleteResult = await commandExecutor.execute(
|
|
12750
12776
|
`git -C ${escapedPath} branch -D ${shellEscape(branch)}`,
|
|
12751
12777
|
{ timeout: 1e4 }
|
|
@@ -13384,7 +13410,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13384
13410
|
try {
|
|
13385
13411
|
const map = options?.webhookContext?.webhookData;
|
|
13386
13412
|
if (map) {
|
|
13387
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
13413
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-G64PWDCZ.mjs");
|
|
13388
13414
|
const reg = CheckProviderRegistry2.getInstance();
|
|
13389
13415
|
const p = reg.getProvider("http_input");
|
|
13390
13416
|
if (p && typeof p.setWebhookContext === "function") p.setWebhookContext(map);
|
|
@@ -13507,7 +13533,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13507
13533
|
tag_filter: tagFilter
|
|
13508
13534
|
} : config;
|
|
13509
13535
|
try {
|
|
13510
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
13536
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-G64PWDCZ.mjs");
|
|
13511
13537
|
const registry = CheckProviderRegistry2.getInstance();
|
|
13512
13538
|
registry.setCustomTools(configWithTagFilter.tools || {});
|
|
13513
13539
|
} catch (error) {
|
|
@@ -13548,7 +13574,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13548
13574
|
logger.debug(
|
|
13549
13575
|
`[PolicyEngine] Loading enterprise policy engine (engine=${configWithTagFilter.policy.engine})`
|
|
13550
13576
|
);
|
|
13551
|
-
const { loadEnterprisePolicyEngine } = await import("./
|
|
13577
|
+
const { loadEnterprisePolicyEngine } = await import("./loader-Q7K76ZIY.mjs");
|
|
13552
13578
|
context2.policyEngine = await loadEnterprisePolicyEngine(configWithTagFilter.policy);
|
|
13553
13579
|
logger.debug(
|
|
13554
13580
|
`[PolicyEngine] Initialized: ${context2.policyEngine?.constructor?.name || "unknown"}`
|
|
@@ -13571,7 +13597,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13571
13597
|
try {
|
|
13572
13598
|
const webhookData = this.executionContext?.webhookContext?.webhookData;
|
|
13573
13599
|
if (webhookData instanceof Map) {
|
|
13574
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
13600
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-KYDXJ2ZL.mjs");
|
|
13575
13601
|
const slackCtx = extractSlackContext2(webhookData);
|
|
13576
13602
|
if (slackCtx) {
|
|
13577
13603
|
const payload = Array.from(webhookData.values())[0];
|
|
@@ -13600,7 +13626,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13600
13626
|
if (Array.isArray(configWithTagFilter.frontends) && configWithTagFilter.frontends.length > 0) {
|
|
13601
13627
|
try {
|
|
13602
13628
|
const { EventBus } = await import("./event-bus-5K3Y2FCS.mjs");
|
|
13603
|
-
const { FrontendsHost } = await import("./host-
|
|
13629
|
+
const { FrontendsHost } = await import("./host-HFOJQIOF.mjs");
|
|
13604
13630
|
const bus = new EventBus();
|
|
13605
13631
|
context2.eventBus = bus;
|
|
13606
13632
|
frontendsHost = new FrontendsHost(bus, logger);
|
|
@@ -13952,9 +13978,9 @@ var init_state_machine_execution_engine = __esm({
|
|
|
13952
13978
|
* @returns Array of failure condition evaluation results
|
|
13953
13979
|
*/
|
|
13954
13980
|
async evaluateFailureConditions(checkName, reviewSummary, config, previousOutputs, authorAssociation) {
|
|
13955
|
-
const { FailureConditionEvaluator: FailureConditionEvaluator2 } = await import("./failure-condition-evaluator-
|
|
13981
|
+
const { FailureConditionEvaluator: FailureConditionEvaluator2 } = await import("./failure-condition-evaluator-HL33X7MH.mjs");
|
|
13956
13982
|
const evaluator = new FailureConditionEvaluator2();
|
|
13957
|
-
const { addEvent: addEvent3 } = await import("./trace-helpers-
|
|
13983
|
+
const { addEvent: addEvent3 } = await import("./trace-helpers-L3EOYW5P.mjs");
|
|
13958
13984
|
const { addFailIfTriggered } = await import("./metrics-JTOG2HNO.mjs");
|
|
13959
13985
|
const checkConfig = config.checks?.[checkName];
|
|
13960
13986
|
if (!checkConfig) {
|
|
@@ -41593,8 +41619,8 @@ function buildBuiltinGlobals(opts) {
|
|
|
41593
41619
|
const asyncFunctionNames = /* @__PURE__ */ new Set();
|
|
41594
41620
|
const scheduleFn = async (args = {}) => {
|
|
41595
41621
|
try {
|
|
41596
|
-
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-
|
|
41597
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
41622
|
+
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-7O7SWSJ4.mjs");
|
|
41623
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-KYDXJ2ZL.mjs");
|
|
41598
41624
|
const parentCtx = opts.sessionInfo?._parentContext;
|
|
41599
41625
|
const webhookData = parentCtx?.prInfo?.eventContext?.webhookData;
|
|
41600
41626
|
const visorCfg = parentCtx?.config;
|
|
@@ -42641,11 +42667,26 @@ var init_worktree_manager = __esm({
|
|
|
42641
42667
|
await this.deleteLocalBranches(worktreePath);
|
|
42642
42668
|
}
|
|
42643
42669
|
/**
|
|
42644
|
-
* Delete
|
|
42670
|
+
* Delete local branches in a worktree that are safe to remove.
|
|
42645
42671
|
* Worktrees are always used in detached HEAD state, so any local branches
|
|
42646
42672
|
* were unintentionally created and should be cleaned up.
|
|
42673
|
+
* IMPORTANT: Git worktrees share the branch namespace with the main repo
|
|
42674
|
+
* and all other worktrees. We must NOT delete branches that are checked out
|
|
42675
|
+
* in the main working tree or any other worktree — doing so would destroy
|
|
42676
|
+
* the user's work.
|
|
42647
42677
|
*/
|
|
42648
42678
|
async deleteLocalBranches(worktreePath) {
|
|
42679
|
+
const worktreeListCmd = `git -C ${this.escapeShellArg(worktreePath)} worktree list --porcelain`;
|
|
42680
|
+
const worktreeListResult = await this.executeGitCommand(worktreeListCmd, { timeout: 1e4 });
|
|
42681
|
+
const protectedBranches = /* @__PURE__ */ new Set();
|
|
42682
|
+
if (worktreeListResult.exitCode === 0) {
|
|
42683
|
+
for (const line of worktreeListResult.stdout.split("\n")) {
|
|
42684
|
+
const match = line.match(/^branch refs\/heads\/(.+)$/);
|
|
42685
|
+
if (match) {
|
|
42686
|
+
protectedBranches.add(match[1]);
|
|
42687
|
+
}
|
|
42688
|
+
}
|
|
42689
|
+
}
|
|
42649
42690
|
const listCmd = `git -C ${this.escapeShellArg(worktreePath)} branch --list --format='%(refname:short)'`;
|
|
42650
42691
|
const listResult = await this.executeGitCommand(listCmd, { timeout: 1e4 });
|
|
42651
42692
|
if (listResult.exitCode !== 0 || !listResult.stdout.trim()) {
|
|
@@ -42653,6 +42694,10 @@ var init_worktree_manager = __esm({
|
|
|
42653
42694
|
}
|
|
42654
42695
|
const branches = listResult.stdout.trim().split("\n").map((b) => b.trim()).filter((b) => b.length > 0);
|
|
42655
42696
|
for (const branch of branches) {
|
|
42697
|
+
if (protectedBranches.has(branch)) {
|
|
42698
|
+
logger.debug(`Skipping branch '${branch}' \u2014 checked out in another worktree`);
|
|
42699
|
+
continue;
|
|
42700
|
+
}
|
|
42656
42701
|
const deleteCmd = `git -C ${this.escapeShellArg(worktreePath)} branch -D ${this.escapeShellArg(branch)}`;
|
|
42657
42702
|
const deleteResult = await this.executeGitCommand(deleteCmd, { timeout: 1e4 });
|
|
42658
42703
|
if (deleteResult.exitCode === 0) {
|
|
@@ -45191,4 +45236,4 @@ undici/lib/fetch/body.js:
|
|
|
45191
45236
|
undici/lib/websocket/frame.js:
|
|
45192
45237
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
45193
45238
|
*/
|
|
45194
|
-
//# sourceMappingURL=chunk-
|
|
45239
|
+
//# sourceMappingURL=chunk-IYXOLUDJ.mjs.map
|