@probelabs/visor 0.1.181 → 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.
- package/defaults/code-talk.yaml +80 -14
- package/defaults/engineer.yaml +33 -15
- package/defaults/skills/code-explorer.yaml +5 -0
- package/dist/agent-protocol/a2a-frontend.d.ts +10 -0
- package/dist/agent-protocol/a2a-frontend.d.ts.map +1 -1
- package/dist/agent-protocol/task-evaluator.d.ts +52 -0
- package/dist/agent-protocol/task-evaluator.d.ts.map +1 -0
- package/dist/agent-protocol/task-store.d.ts +5 -3
- package/dist/agent-protocol/task-store.d.ts.map +1 -1
- package/dist/agent-protocol/tasks-cli-handler.d.ts.map +1 -1
- package/dist/agent-protocol/tasks-tui.d.ts +34 -0
- package/dist/agent-protocol/tasks-tui.d.ts.map +1 -0
- package/dist/agent-protocol/trace-serializer.d.ts +90 -0
- package/dist/agent-protocol/trace-serializer.d.ts.map +1 -0
- package/dist/agent-protocol/track-execution.d.ts +2 -0
- package/dist/agent-protocol/track-execution.d.ts.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/defaults/code-talk.yaml +80 -14
- package/dist/defaults/engineer.yaml +33 -15
- package/dist/defaults/skills/code-explorer.yaml +5 -0
- package/dist/docs/commands.md +57 -14
- package/dist/docs/configuration.md +2 -0
- package/dist/docs/guides/graceful-restart.md +178 -0
- package/dist/docs/observability.md +69 -0
- package/dist/docs/production-deployment.md +17 -0
- package/dist/email/polling-runner.d.ts +4 -0
- package/dist/email/polling-runner.d.ts.map +1 -1
- package/dist/generated/config-schema.d.ts +70 -6
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +73 -6
- package/dist/index.js +5006 -886
- package/dist/output/traces/{run-2026-03-17T13-58-29-402Z.ndjson → run-2026-03-18T19-02-50-465Z.ndjson} +84 -84
- package/dist/{traces/run-2026-03-17T13-59-10-403Z.ndjson → output/traces/run-2026-03-18T19-03-30-428Z.ndjson} +2037 -2037
- package/dist/providers/mcp-custom-sse-server.d.ts +4 -0
- package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
- package/dist/runners/graceful-restart.d.ts +46 -0
- package/dist/runners/graceful-restart.d.ts.map +1 -0
- package/dist/runners/mcp-server-runner.d.ts +12 -0
- package/dist/runners/mcp-server-runner.d.ts.map +1 -1
- package/dist/runners/runner-factory.d.ts.map +1 -1
- package/dist/runners/runner-host.d.ts +12 -0
- package/dist/runners/runner-host.d.ts.map +1 -1
- package/dist/runners/runner.d.ts +12 -0
- package/dist/runners/runner.d.ts.map +1 -1
- package/dist/sdk/{a2a-frontend-IWOUJOIZ.mjs → a2a-frontend-4LP3MLTS.mjs} +47 -5
- package/dist/sdk/a2a-frontend-4LP3MLTS.mjs.map +1 -0
- package/dist/sdk/a2a-frontend-5J3UNFY4.mjs +1718 -0
- package/dist/sdk/a2a-frontend-5J3UNFY4.mjs.map +1 -0
- package/dist/sdk/{a2a-frontend-BDACLGMA.mjs → a2a-frontend-MU5EO2HZ.mjs} +35 -1
- package/dist/sdk/a2a-frontend-MU5EO2HZ.mjs.map +1 -0
- package/dist/sdk/{check-provider-registry-4YKTEDKF.mjs → check-provider-registry-MHXQGUNN.mjs} +7 -7
- package/dist/sdk/{check-provider-registry-4YFVBGYU.mjs → check-provider-registry-RRWCXSTG.mjs} +3 -3
- package/dist/sdk/{check-provider-registry-67ZLGDDQ.mjs → check-provider-registry-Y33CRFVD.mjs} +7 -7
- package/dist/sdk/{chunk-DGIH6EX3.mjs → chunk-4AXAVXG5.mjs} +151 -281
- package/dist/sdk/chunk-4AXAVXG5.mjs.map +1 -0
- package/dist/sdk/{chunk-VMVIM4JB.mjs → chunk-4I3TJ7UJ.mjs} +37 -7
- package/dist/sdk/chunk-4I3TJ7UJ.mjs.map +1 -0
- package/dist/sdk/{chunk-VXC2XNQJ.mjs → chunk-5J3DNRF7.mjs} +3 -3
- package/dist/sdk/{chunk-7YZSSO4X.mjs → chunk-6DPPP7LD.mjs} +10 -10
- package/dist/sdk/chunk-7ERVRLDV.mjs +296 -0
- package/dist/sdk/chunk-7ERVRLDV.mjs.map +1 -0
- package/dist/sdk/{chunk-4DVP6KVC.mjs → chunk-7Z2WHX2J.mjs} +71 -30
- package/dist/sdk/chunk-7Z2WHX2J.mjs.map +1 -0
- package/dist/sdk/chunk-ANUT54HW.mjs +1502 -0
- package/dist/sdk/chunk-ANUT54HW.mjs.map +1 -0
- package/dist/sdk/{chunk-J73GEFPT.mjs → chunk-DHETLQIX.mjs} +2 -2
- package/dist/sdk/{chunk-QGBASDYP.mjs → chunk-JCOSKBMP.mjs} +71 -30
- package/dist/sdk/chunk-JCOSKBMP.mjs.map +1 -0
- package/dist/sdk/chunk-MK7ONH47.mjs +739 -0
- package/dist/sdk/chunk-MK7ONH47.mjs.map +1 -0
- package/dist/sdk/chunk-QXT47ZHR.mjs +390 -0
- package/dist/sdk/chunk-QXT47ZHR.mjs.map +1 -0
- package/dist/sdk/chunk-V75NEIXL.mjs +296 -0
- package/dist/sdk/chunk-V75NEIXL.mjs.map +1 -0
- package/dist/sdk/chunk-ZOF5QT6U.mjs +5943 -0
- package/dist/sdk/chunk-ZOF5QT6U.mjs.map +1 -0
- package/dist/sdk/{config-TSA5FUOM.mjs → config-2STD74CJ.mjs} +2 -2
- package/dist/sdk/config-JE4HKTWW.mjs +16 -0
- package/dist/sdk/{failure-condition-evaluator-HTPB5FYW.mjs → failure-condition-evaluator-5DZYMCGW.mjs} +4 -4
- package/dist/sdk/failure-condition-evaluator-R6DCDJAV.mjs +18 -0
- package/dist/sdk/{github-frontend-3SDFCCKI.mjs → github-frontend-3PSCKPAJ.mjs} +4 -4
- package/dist/sdk/github-frontend-L3F5JXPJ.mjs +1394 -0
- package/dist/sdk/github-frontend-L3F5JXPJ.mjs.map +1 -0
- package/dist/sdk/{host-QE4L7UXE.mjs → host-54CHV2LW.mjs} +3 -3
- package/dist/sdk/{host-VBBSLUWG.mjs → host-WAU6CT42.mjs} +3 -3
- package/dist/sdk/{host-CVH2CSHM.mjs → host-X5ZZCEWN.mjs} +2 -2
- package/dist/sdk/{routing-YVMTKFDZ.mjs → routing-CVQT4KHX.mjs} +5 -5
- package/dist/sdk/routing-EBAE5SSO.mjs +26 -0
- package/dist/sdk/{schedule-tool-Z5VG67JK.mjs → schedule-tool-POY3CDZL.mjs} +7 -7
- package/dist/sdk/{schedule-tool-ADUXTCY7.mjs → schedule-tool-R2OAATUS.mjs} +7 -7
- package/dist/sdk/{schedule-tool-ZMX3Y7LF.mjs → schedule-tool-Z6QYL2B3.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-N7UNABOA.mjs → schedule-tool-handler-J4NUETJ6.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-PCERK6ZZ.mjs → schedule-tool-handler-JMAKHPI7.mjs} +7 -7
- package/dist/sdk/{schedule-tool-handler-QOJVFRB4.mjs → schedule-tool-handler-MWFUIQKR.mjs} +7 -7
- package/dist/sdk/sdk.d.mts +33 -0
- package/dist/sdk/sdk.d.ts +33 -0
- package/dist/sdk/sdk.js +2058 -342
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +6 -6
- package/dist/sdk/task-evaluator-HLNXKKVV.mjs +1278 -0
- package/dist/sdk/task-evaluator-HLNXKKVV.mjs.map +1 -0
- package/dist/sdk/{trace-helpers-KXDOJWBL.mjs → trace-helpers-HL5FBX65.mjs} +3 -3
- package/dist/sdk/trace-helpers-WJXYVV4S.mjs +29 -0
- package/dist/sdk/trace-helpers-WJXYVV4S.mjs.map +1 -0
- package/dist/sdk/trace-reader-ZY77OFNM.mjs +266 -0
- package/dist/sdk/trace-reader-ZY77OFNM.mjs.map +1 -0
- package/dist/sdk/track-execution-MKIQXP2C.mjs +136 -0
- package/dist/sdk/track-execution-MKIQXP2C.mjs.map +1 -0
- package/dist/sdk/track-execution-YUXQ6WQH.mjs +136 -0
- package/dist/sdk/track-execution-YUXQ6WQH.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-NTHC5ZBF.mjs → workflow-check-provider-SE5I7EMA.mjs} +7 -7
- package/dist/sdk/workflow-check-provider-SE5I7EMA.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-SRIMWKLQ.mjs → workflow-check-provider-VKYGI5GK.mjs} +3 -3
- package/dist/sdk/workflow-check-provider-VKYGI5GK.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-CJXW2Z4F.mjs → workflow-check-provider-YDGZRI3Z.mjs} +7 -7
- package/dist/sdk/workflow-check-provider-YDGZRI3Z.mjs.map +1 -0
- package/dist/slack/socket-runner.d.ts +12 -0
- package/dist/slack/socket-runner.d.ts.map +1 -1
- package/dist/teams/webhook-runner.d.ts +4 -0
- package/dist/teams/webhook-runner.d.ts.map +1 -1
- package/dist/telegram/polling-runner.d.ts +2 -0
- package/dist/telegram/polling-runner.d.ts.map +1 -1
- package/dist/traces/{run-2026-03-17T13-58-29-402Z.ndjson → run-2026-03-18T19-02-50-465Z.ndjson} +84 -84
- package/dist/{output/traces/run-2026-03-17T13-59-10-403Z.ndjson → traces/run-2026-03-18T19-03-30-428Z.ndjson} +2037 -2037
- package/dist/types/config.d.ts +33 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/whatsapp/webhook-runner.d.ts +4 -0
- package/dist/whatsapp/webhook-runner.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/sdk/a2a-frontend-BDACLGMA.mjs.map +0 -1
- package/dist/sdk/a2a-frontend-IWOUJOIZ.mjs.map +0 -1
- package/dist/sdk/chunk-4DVP6KVC.mjs.map +0 -1
- package/dist/sdk/chunk-DGIH6EX3.mjs.map +0 -1
- package/dist/sdk/chunk-QGBASDYP.mjs.map +0 -1
- package/dist/sdk/chunk-VMVIM4JB.mjs.map +0 -1
- /package/dist/sdk/{check-provider-registry-4YFVBGYU.mjs.map → check-provider-registry-MHXQGUNN.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-4YKTEDKF.mjs.map → check-provider-registry-RRWCXSTG.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-67ZLGDDQ.mjs.map → check-provider-registry-Y33CRFVD.mjs.map} +0 -0
- /package/dist/sdk/{chunk-VXC2XNQJ.mjs.map → chunk-5J3DNRF7.mjs.map} +0 -0
- /package/dist/sdk/{chunk-7YZSSO4X.mjs.map → chunk-6DPPP7LD.mjs.map} +0 -0
- /package/dist/sdk/{chunk-J73GEFPT.mjs.map → chunk-DHETLQIX.mjs.map} +0 -0
- /package/dist/sdk/{config-TSA5FUOM.mjs.map → config-2STD74CJ.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-HTPB5FYW.mjs.map → config-JE4HKTWW.mjs.map} +0 -0
- /package/dist/sdk/{routing-YVMTKFDZ.mjs.map → failure-condition-evaluator-5DZYMCGW.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-ADUXTCY7.mjs.map → failure-condition-evaluator-R6DCDJAV.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-3SDFCCKI.mjs.map → github-frontend-3PSCKPAJ.mjs.map} +0 -0
- /package/dist/sdk/{host-CVH2CSHM.mjs.map → host-54CHV2LW.mjs.map} +0 -0
- /package/dist/sdk/{host-QE4L7UXE.mjs.map → host-WAU6CT42.mjs.map} +0 -0
- /package/dist/sdk/{host-VBBSLUWG.mjs.map → host-X5ZZCEWN.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-Z5VG67JK.mjs.map → routing-CVQT4KHX.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-ZMX3Y7LF.mjs.map → routing-EBAE5SSO.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-N7UNABOA.mjs.map → schedule-tool-POY3CDZL.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-PCERK6ZZ.mjs.map → schedule-tool-R2OAATUS.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-QOJVFRB4.mjs.map → schedule-tool-Z6QYL2B3.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-KXDOJWBL.mjs.map → schedule-tool-handler-J4NUETJ6.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-CJXW2Z4F.mjs.map → schedule-tool-handler-JMAKHPI7.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-NTHC5ZBF.mjs.map → schedule-tool-handler-MWFUIQKR.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-SRIMWKLQ.mjs.map → trace-helpers-HL5FBX65.mjs.map} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FailureConditionEvaluator,
|
|
3
3
|
init_failure_condition_evaluator
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MK7ONH47.mjs";
|
|
5
5
|
import {
|
|
6
6
|
addEvent,
|
|
7
7
|
init_trace_helpers
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-V75NEIXL.mjs";
|
|
9
9
|
import {
|
|
10
10
|
createExtendedLiquid,
|
|
11
11
|
init_liquid_extensions
|
|
@@ -1499,4 +1499,4 @@ export {
|
|
|
1499
1499
|
evaluateTransitions,
|
|
1500
1500
|
init_routing
|
|
1501
1501
|
};
|
|
1502
|
-
//# sourceMappingURL=chunk-
|
|
1502
|
+
//# sourceMappingURL=chunk-5J3DNRF7.mjs.map
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
import {
|
|
59
59
|
config_exports,
|
|
60
60
|
init_config
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-4I3TJ7UJ.mjs";
|
|
62
62
|
import {
|
|
63
63
|
ExecutionJournal,
|
|
64
64
|
checkLoopBudget,
|
|
@@ -4295,7 +4295,7 @@ async function executeWorkflowAsTool(workflowId, args, context2, argsOverrides)
|
|
|
4295
4295
|
...args,
|
|
4296
4296
|
...argsOverrides
|
|
4297
4297
|
};
|
|
4298
|
-
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-
|
|
4298
|
+
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-VKYGI5GK.mjs");
|
|
4299
4299
|
const provider = new WorkflowCheckProvider2();
|
|
4300
4300
|
const checkConfig = {
|
|
4301
4301
|
type: "workflow",
|
|
@@ -14041,7 +14041,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14041
14041
|
try {
|
|
14042
14042
|
const map = options?.webhookContext?.webhookData;
|
|
14043
14043
|
if (map) {
|
|
14044
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
14044
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-RRWCXSTG.mjs");
|
|
14045
14045
|
const reg = CheckProviderRegistry2.getInstance();
|
|
14046
14046
|
const p = reg.getProvider("http_input");
|
|
14047
14047
|
if (p && typeof p.setWebhookContext === "function") p.setWebhookContext(map);
|
|
@@ -14154,7 +14154,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14154
14154
|
logger.info("[StateMachine] Using state machine engine");
|
|
14155
14155
|
}
|
|
14156
14156
|
if (!config) {
|
|
14157
|
-
const { ConfigManager } = await import("./config-
|
|
14157
|
+
const { ConfigManager } = await import("./config-2STD74CJ.mjs");
|
|
14158
14158
|
const configManager = new ConfigManager();
|
|
14159
14159
|
config = await configManager.getDefaultConfig();
|
|
14160
14160
|
logger.debug("[StateMachine] Using default configuration (no config provided)");
|
|
@@ -14164,7 +14164,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14164
14164
|
tag_filter: tagFilter
|
|
14165
14165
|
} : config;
|
|
14166
14166
|
try {
|
|
14167
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
14167
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-RRWCXSTG.mjs");
|
|
14168
14168
|
const registry = CheckProviderRegistry2.getInstance();
|
|
14169
14169
|
registry.setCustomTools(configWithTagFilter.tools || {});
|
|
14170
14170
|
} catch (error) {
|
|
@@ -14228,7 +14228,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14228
14228
|
try {
|
|
14229
14229
|
const webhookData = this.executionContext?.webhookContext?.webhookData;
|
|
14230
14230
|
if (webhookData instanceof Map) {
|
|
14231
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
14231
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-J4NUETJ6.mjs");
|
|
14232
14232
|
const slackCtx = extractSlackContext2(webhookData);
|
|
14233
14233
|
if (slackCtx) {
|
|
14234
14234
|
const payload = Array.from(webhookData.values())[0];
|
|
@@ -14257,7 +14257,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14257
14257
|
if (Array.isArray(configWithTagFilter.frontends) && configWithTagFilter.frontends.length > 0) {
|
|
14258
14258
|
try {
|
|
14259
14259
|
const { EventBus } = await import("./event-bus-5K3Y2FCS.mjs");
|
|
14260
|
-
const { FrontendsHost } = await import("./host-
|
|
14260
|
+
const { FrontendsHost } = await import("./host-X5ZZCEWN.mjs");
|
|
14261
14261
|
const bus = new EventBus();
|
|
14262
14262
|
context2.eventBus = bus;
|
|
14263
14263
|
frontendsHost = new FrontendsHost(bus, logger);
|
|
@@ -42425,8 +42425,8 @@ function buildBuiltinGlobals(opts) {
|
|
|
42425
42425
|
const asyncFunctionNames = /* @__PURE__ */ new Set();
|
|
42426
42426
|
const scheduleFn = async (args = {}) => {
|
|
42427
42427
|
try {
|
|
42428
|
-
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-
|
|
42429
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
42428
|
+
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-Z6QYL2B3.mjs");
|
|
42429
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-J4NUETJ6.mjs");
|
|
42430
42430
|
const parentCtx = opts.sessionInfo?._parentContext;
|
|
42431
42431
|
const webhookData = parentCtx?.prInfo?.eventContext?.webhookData;
|
|
42432
42432
|
const visorCfg = parentCtx?.config;
|
|
@@ -46150,4 +46150,4 @@ undici/lib/fetch/body.js:
|
|
|
46150
46150
|
undici/lib/websocket/frame.js:
|
|
46151
46151
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
46152
46152
|
*/
|
|
46153
|
-
//# sourceMappingURL=chunk-
|
|
46153
|
+
//# sourceMappingURL=chunk-6DPPP7LD.mjs.map
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getInstanceId,
|
|
3
|
+
init_instance_id,
|
|
4
|
+
require_package
|
|
5
|
+
} from "./chunk-QXT47ZHR.mjs";
|
|
6
|
+
import {
|
|
7
|
+
init_metrics,
|
|
8
|
+
metrics_exports
|
|
9
|
+
} from "./chunk-34QX63WK.mjs";
|
|
10
|
+
import {
|
|
11
|
+
SpanStatusCode,
|
|
12
|
+
context,
|
|
13
|
+
init_lazy_otel,
|
|
14
|
+
trace
|
|
15
|
+
} from "./chunk-UCMJJ3IM.mjs";
|
|
16
|
+
import {
|
|
17
|
+
__esm,
|
|
18
|
+
__export,
|
|
19
|
+
__require,
|
|
20
|
+
__toCommonJS
|
|
21
|
+
} from "./chunk-J7LXIPZS.mjs";
|
|
22
|
+
|
|
23
|
+
// src/telemetry/fallback-ndjson.ts
|
|
24
|
+
var fallback_ndjson_exports = {};
|
|
25
|
+
__export(fallback_ndjson_exports, {
|
|
26
|
+
emitNdjsonFallback: () => emitNdjsonFallback,
|
|
27
|
+
emitNdjsonSpanWithEvents: () => emitNdjsonSpanWithEvents,
|
|
28
|
+
flushNdjson: () => flushNdjson
|
|
29
|
+
});
|
|
30
|
+
import * as fs from "fs";
|
|
31
|
+
import * as path from "path";
|
|
32
|
+
function resolveTargetPath(outDir) {
|
|
33
|
+
if (process.env.VISOR_FALLBACK_TRACE_FILE) {
|
|
34
|
+
CURRENT_FILE = process.env.VISOR_FALLBACK_TRACE_FILE;
|
|
35
|
+
return CURRENT_FILE;
|
|
36
|
+
}
|
|
37
|
+
if (CURRENT_FILE) return CURRENT_FILE;
|
|
38
|
+
const ts = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
39
|
+
CURRENT_FILE = path.join(outDir, `${ts}.ndjson`);
|
|
40
|
+
return CURRENT_FILE;
|
|
41
|
+
}
|
|
42
|
+
function isEnabled() {
|
|
43
|
+
if (process.env.VISOR_FALLBACK_TRACE_FILE) return true;
|
|
44
|
+
return process.env.VISOR_TELEMETRY_ENABLED === "true" && (process.env.VISOR_TELEMETRY_SINK || "file") === "file";
|
|
45
|
+
}
|
|
46
|
+
function appendAsync(outDir, line) {
|
|
47
|
+
writeChain = writeChain.then(async () => {
|
|
48
|
+
if (!dirReady) {
|
|
49
|
+
try {
|
|
50
|
+
await fs.promises.mkdir(outDir, { recursive: true });
|
|
51
|
+
} catch {
|
|
52
|
+
}
|
|
53
|
+
dirReady = true;
|
|
54
|
+
}
|
|
55
|
+
const target = resolveTargetPath(outDir);
|
|
56
|
+
await fs.promises.appendFile(target, line, "utf8");
|
|
57
|
+
}).catch(() => {
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
async function flushNdjson() {
|
|
61
|
+
try {
|
|
62
|
+
await writeChain;
|
|
63
|
+
} catch {
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function emitNdjsonFallback(name, attrs) {
|
|
67
|
+
try {
|
|
68
|
+
if (!isEnabled()) return;
|
|
69
|
+
const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), "output", "traces");
|
|
70
|
+
const line = JSON.stringify({ name, attributes: attrs }) + "\n";
|
|
71
|
+
appendAsync(outDir, line);
|
|
72
|
+
} catch {
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function emitNdjsonSpanWithEvents(name, attrs, events) {
|
|
76
|
+
try {
|
|
77
|
+
if (!isEnabled()) return;
|
|
78
|
+
const outDir = process.env.VISOR_TRACE_DIR || path.join(process.cwd(), "output", "traces");
|
|
79
|
+
const line = JSON.stringify({ name, attributes: attrs, events }) + "\n";
|
|
80
|
+
appendAsync(outDir, line);
|
|
81
|
+
} catch {
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
var CURRENT_FILE, dirReady, writeChain;
|
|
85
|
+
var init_fallback_ndjson = __esm({
|
|
86
|
+
"src/telemetry/fallback-ndjson.ts"() {
|
|
87
|
+
"use strict";
|
|
88
|
+
CURRENT_FILE = null;
|
|
89
|
+
dirReady = false;
|
|
90
|
+
writeChain = Promise.resolve();
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
// src/telemetry/trace-helpers.ts
|
|
95
|
+
var trace_helpers_exports = {};
|
|
96
|
+
__export(trace_helpers_exports, {
|
|
97
|
+
__getOrCreateNdjsonPath: () => __getOrCreateNdjsonPath,
|
|
98
|
+
_appendRunMarker: () => _appendRunMarker,
|
|
99
|
+
addEvent: () => addEvent,
|
|
100
|
+
getTracer: () => getTracer,
|
|
101
|
+
getVisorRunAttributes: () => getVisorRunAttributes,
|
|
102
|
+
setSpanAttributes: () => setSpanAttributes,
|
|
103
|
+
setSpanError: () => setSpanError,
|
|
104
|
+
withActiveSpan: () => withActiveSpan,
|
|
105
|
+
withVisorRun: () => withVisorRun
|
|
106
|
+
});
|
|
107
|
+
function getTracer() {
|
|
108
|
+
return trace.getTracer("visor");
|
|
109
|
+
}
|
|
110
|
+
async function withActiveSpan(name, attrs, fn) {
|
|
111
|
+
const tracer = getTracer();
|
|
112
|
+
return await new Promise((resolve, reject) => {
|
|
113
|
+
const callback = async (span) => {
|
|
114
|
+
try {
|
|
115
|
+
const res = await fn(span);
|
|
116
|
+
resolve(res);
|
|
117
|
+
} catch (err) {
|
|
118
|
+
try {
|
|
119
|
+
if (err instanceof Error) span.recordException(err);
|
|
120
|
+
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
121
|
+
} catch {
|
|
122
|
+
}
|
|
123
|
+
reject(err);
|
|
124
|
+
} finally {
|
|
125
|
+
try {
|
|
126
|
+
span.end();
|
|
127
|
+
} catch {
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
const options = attrs ? { attributes: attrs } : {};
|
|
132
|
+
tracer.startActiveSpan(name, options, callback);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
function addEvent(name, attrs) {
|
|
136
|
+
const span = trace.getSpan(context.active());
|
|
137
|
+
if (span) {
|
|
138
|
+
try {
|
|
139
|
+
span.addEvent(name, attrs);
|
|
140
|
+
} catch {
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
try {
|
|
144
|
+
const { emitNdjsonSpanWithEvents: emitNdjsonSpanWithEvents2 } = (init_fallback_ndjson(), __toCommonJS(fallback_ndjson_exports));
|
|
145
|
+
emitNdjsonSpanWithEvents2("visor.event", {}, [{ name, attrs }]);
|
|
146
|
+
if (name === "fail_if.triggered") {
|
|
147
|
+
emitNdjsonSpanWithEvents2("visor.event", {}, [
|
|
148
|
+
{ name: "fail_if.evaluated", attrs },
|
|
149
|
+
{ name: "fail_if.triggered", attrs }
|
|
150
|
+
]);
|
|
151
|
+
}
|
|
152
|
+
} catch {
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function setSpanAttributes(attrs) {
|
|
156
|
+
const span = trace.getSpan(context.active());
|
|
157
|
+
if (!span) return;
|
|
158
|
+
try {
|
|
159
|
+
for (const [k, v] of Object.entries(attrs)) span.setAttribute(k, v);
|
|
160
|
+
} catch {
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
function setSpanError(err) {
|
|
164
|
+
const span = trace.getSpan(context.active());
|
|
165
|
+
if (!span) return;
|
|
166
|
+
try {
|
|
167
|
+
if (err instanceof Error) span.recordException(err);
|
|
168
|
+
span.setStatus({ code: SpanStatusCode.ERROR });
|
|
169
|
+
} catch {
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function getVisorRunAttributes() {
|
|
173
|
+
const attrs = {};
|
|
174
|
+
try {
|
|
175
|
+
attrs["visor.version"] = process.env.VISOR_VERSION || (require_package()?.version ?? "dev");
|
|
176
|
+
} catch {
|
|
177
|
+
attrs["visor.version"] = "dev";
|
|
178
|
+
}
|
|
179
|
+
const commitShort = process.env.VISOR_COMMIT_SHORT || "";
|
|
180
|
+
const commitFull = process.env.VISOR_COMMIT_SHA || process.env.VISOR_COMMIT || "";
|
|
181
|
+
if (commitShort) {
|
|
182
|
+
attrs["visor.commit"] = commitShort;
|
|
183
|
+
}
|
|
184
|
+
if (commitFull) {
|
|
185
|
+
attrs["visor.commit.sha"] = commitFull;
|
|
186
|
+
}
|
|
187
|
+
attrs["visor.instance_id"] = getInstanceId();
|
|
188
|
+
return attrs;
|
|
189
|
+
}
|
|
190
|
+
async function withVisorRun(attrs, runMeta, fn) {
|
|
191
|
+
const {
|
|
192
|
+
recordRunStart,
|
|
193
|
+
recordRunDuration,
|
|
194
|
+
resetRunAiCalls,
|
|
195
|
+
recordRunAiCalls,
|
|
196
|
+
getRunAiCalls
|
|
197
|
+
} = (init_metrics(), __toCommonJS(metrics_exports));
|
|
198
|
+
const instanceId = getInstanceId();
|
|
199
|
+
recordRunStart({
|
|
200
|
+
source: runMeta.source,
|
|
201
|
+
userId: runMeta.userId,
|
|
202
|
+
userName: runMeta.userName,
|
|
203
|
+
workflowId: runMeta.workflowId,
|
|
204
|
+
instanceId
|
|
205
|
+
});
|
|
206
|
+
resetRunAiCalls();
|
|
207
|
+
const startMs = Date.now();
|
|
208
|
+
let success = true;
|
|
209
|
+
try {
|
|
210
|
+
return await withActiveSpan("visor.run", attrs, async (span) => {
|
|
211
|
+
try {
|
|
212
|
+
return await fn(span);
|
|
213
|
+
} finally {
|
|
214
|
+
try {
|
|
215
|
+
span.setAttribute("visor.run.ai_calls", getRunAiCalls());
|
|
216
|
+
span.setAttribute("visor.run.duration_ms", Date.now() - startMs);
|
|
217
|
+
} catch {
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
} catch (err) {
|
|
222
|
+
success = false;
|
|
223
|
+
throw err;
|
|
224
|
+
} finally {
|
|
225
|
+
recordRunAiCalls({
|
|
226
|
+
source: runMeta.source,
|
|
227
|
+
workflowId: runMeta.workflowId
|
|
228
|
+
});
|
|
229
|
+
recordRunDuration(Date.now() - startMs, {
|
|
230
|
+
source: runMeta.source,
|
|
231
|
+
userId: runMeta.userId,
|
|
232
|
+
workflowId: runMeta.workflowId,
|
|
233
|
+
success
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
function __getOrCreateNdjsonPath() {
|
|
238
|
+
try {
|
|
239
|
+
if (process.env.VISOR_TELEMETRY_SINK && process.env.VISOR_TELEMETRY_SINK !== "file")
|
|
240
|
+
return null;
|
|
241
|
+
const path2 = __require("path");
|
|
242
|
+
const fs2 = __require("fs");
|
|
243
|
+
if (process.env.VISOR_FALLBACK_TRACE_FILE) {
|
|
244
|
+
__ndjsonPath = process.env.VISOR_FALLBACK_TRACE_FILE;
|
|
245
|
+
const dir = path2.dirname(__ndjsonPath);
|
|
246
|
+
if (!fs2.existsSync(dir)) fs2.mkdirSync(dir, { recursive: true });
|
|
247
|
+
return __ndjsonPath;
|
|
248
|
+
}
|
|
249
|
+
const outDir = process.env.VISOR_TRACE_DIR || path2.join(process.cwd(), "output", "traces");
|
|
250
|
+
if (!fs2.existsSync(outDir)) fs2.mkdirSync(outDir, { recursive: true });
|
|
251
|
+
if (!__ndjsonPath) {
|
|
252
|
+
const ts = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
253
|
+
__ndjsonPath = path2.join(outDir, `${ts}.ndjson`);
|
|
254
|
+
}
|
|
255
|
+
return __ndjsonPath;
|
|
256
|
+
} catch {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
function _appendRunMarker() {
|
|
261
|
+
try {
|
|
262
|
+
const fs2 = __require("fs");
|
|
263
|
+
const p = __getOrCreateNdjsonPath();
|
|
264
|
+
if (!p) return;
|
|
265
|
+
const line = { name: "visor.run", attributes: { started: true } };
|
|
266
|
+
fs2.appendFileSync(p, JSON.stringify(line) + "\n", "utf8");
|
|
267
|
+
} catch {
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
var __ndjsonPath;
|
|
271
|
+
var init_trace_helpers = __esm({
|
|
272
|
+
"src/telemetry/trace-helpers.ts"() {
|
|
273
|
+
init_lazy_otel();
|
|
274
|
+
init_instance_id();
|
|
275
|
+
__ndjsonPath = null;
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
export {
|
|
280
|
+
emitNdjsonFallback,
|
|
281
|
+
emitNdjsonSpanWithEvents,
|
|
282
|
+
fallback_ndjson_exports,
|
|
283
|
+
init_fallback_ndjson,
|
|
284
|
+
getTracer,
|
|
285
|
+
withActiveSpan,
|
|
286
|
+
addEvent,
|
|
287
|
+
setSpanAttributes,
|
|
288
|
+
setSpanError,
|
|
289
|
+
getVisorRunAttributes,
|
|
290
|
+
withVisorRun,
|
|
291
|
+
__getOrCreateNdjsonPath,
|
|
292
|
+
_appendRunMarker,
|
|
293
|
+
trace_helpers_exports,
|
|
294
|
+
init_trace_helpers
|
|
295
|
+
};
|
|
296
|
+
//# sourceMappingURL=chunk-7ERVRLDV.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/telemetry/fallback-ndjson.ts","../../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","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"]}
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
import {
|
|
59
59
|
config_exports,
|
|
60
60
|
init_config
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-ZOF5QT6U.mjs";
|
|
62
62
|
import {
|
|
63
63
|
ExecutionJournal,
|
|
64
64
|
checkLoopBudget,
|
|
@@ -67,11 +67,11 @@ import {
|
|
|
67
67
|
init_routing,
|
|
68
68
|
init_snapshot_store,
|
|
69
69
|
snapshot_store_exports
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-5J3DNRF7.mjs";
|
|
71
71
|
import {
|
|
72
72
|
FailureConditionEvaluator,
|
|
73
73
|
init_failure_condition_evaluator
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-MK7ONH47.mjs";
|
|
75
75
|
import {
|
|
76
76
|
addEvent,
|
|
77
77
|
emitNdjsonFallback,
|
|
@@ -82,11 +82,11 @@ import {
|
|
|
82
82
|
setSpanAttributes,
|
|
83
83
|
trace_helpers_exports,
|
|
84
84
|
withActiveSpan
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-V75NEIXL.mjs";
|
|
86
86
|
import {
|
|
87
87
|
generateHumanId,
|
|
88
88
|
init_human_id
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-4AXAVXG5.mjs";
|
|
90
90
|
import {
|
|
91
91
|
addDiagramBlock,
|
|
92
92
|
init_metrics,
|
|
@@ -4295,7 +4295,7 @@ async function executeWorkflowAsTool(workflowId, args, context2, argsOverrides)
|
|
|
4295
4295
|
...args,
|
|
4296
4296
|
...argsOverrides
|
|
4297
4297
|
};
|
|
4298
|
-
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-
|
|
4298
|
+
const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-YDGZRI3Z.mjs");
|
|
4299
4299
|
const provider = new WorkflowCheckProvider2();
|
|
4300
4300
|
const checkConfig = {
|
|
4301
4301
|
type: "workflow",
|
|
@@ -10890,7 +10890,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
10890
10890
|
}
|
|
10891
10891
|
}
|
|
10892
10892
|
try {
|
|
10893
|
-
const { evaluateTransitions } = await import("./routing-
|
|
10893
|
+
const { evaluateTransitions } = await import("./routing-EBAE5SSO.mjs");
|
|
10894
10894
|
const transTarget = await evaluateTransitions(
|
|
10895
10895
|
onFinish.transitions,
|
|
10896
10896
|
forEachParent,
|
|
@@ -10950,7 +10950,7 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
|
|
|
10950
10950
|
`[LevelDispatch] Error evaluating on_finish transitions for ${forEachParent}: ${e instanceof Error ? e.message : String(e)}`
|
|
10951
10951
|
);
|
|
10952
10952
|
}
|
|
10953
|
-
const { evaluateGoto: evaluateGoto2 } = await import("./routing-
|
|
10953
|
+
const { evaluateGoto: evaluateGoto2 } = await import("./routing-EBAE5SSO.mjs");
|
|
10954
10954
|
if (context2.debug) {
|
|
10955
10955
|
logger.info(
|
|
10956
10956
|
`[LevelDispatch] Evaluating on_finish.goto_js for forEach parent: ${forEachParent}`
|
|
@@ -14041,7 +14041,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14041
14041
|
try {
|
|
14042
14042
|
const map = options?.webhookContext?.webhookData;
|
|
14043
14043
|
if (map) {
|
|
14044
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
14044
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-MHXQGUNN.mjs");
|
|
14045
14045
|
const reg = CheckProviderRegistry2.getInstance();
|
|
14046
14046
|
const p = reg.getProvider("http_input");
|
|
14047
14047
|
if (p && typeof p.setWebhookContext === "function") p.setWebhookContext(map);
|
|
@@ -14154,7 +14154,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14154
14154
|
logger.info("[StateMachine] Using state machine engine");
|
|
14155
14155
|
}
|
|
14156
14156
|
if (!config) {
|
|
14157
|
-
const { ConfigManager } = await import("./config-
|
|
14157
|
+
const { ConfigManager } = await import("./config-JE4HKTWW.mjs");
|
|
14158
14158
|
const configManager = new ConfigManager();
|
|
14159
14159
|
config = await configManager.getDefaultConfig();
|
|
14160
14160
|
logger.debug("[StateMachine] Using default configuration (no config provided)");
|
|
@@ -14164,7 +14164,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14164
14164
|
tag_filter: tagFilter
|
|
14165
14165
|
} : config;
|
|
14166
14166
|
try {
|
|
14167
|
-
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-
|
|
14167
|
+
const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-MHXQGUNN.mjs");
|
|
14168
14168
|
const registry = CheckProviderRegistry2.getInstance();
|
|
14169
14169
|
registry.setCustomTools(configWithTagFilter.tools || {});
|
|
14170
14170
|
} catch (error) {
|
|
@@ -14228,7 +14228,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14228
14228
|
try {
|
|
14229
14229
|
const webhookData = this.executionContext?.webhookContext?.webhookData;
|
|
14230
14230
|
if (webhookData instanceof Map) {
|
|
14231
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
14231
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-MWFUIQKR.mjs");
|
|
14232
14232
|
const slackCtx = extractSlackContext2(webhookData);
|
|
14233
14233
|
if (slackCtx) {
|
|
14234
14234
|
const payload = Array.from(webhookData.values())[0];
|
|
@@ -14257,7 +14257,7 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14257
14257
|
if (Array.isArray(configWithTagFilter.frontends) && configWithTagFilter.frontends.length > 0) {
|
|
14258
14258
|
try {
|
|
14259
14259
|
const { EventBus } = await import("./event-bus-5K3Y2FCS.mjs");
|
|
14260
|
-
const { FrontendsHost } = await import("./host-
|
|
14260
|
+
const { FrontendsHost } = await import("./host-54CHV2LW.mjs");
|
|
14261
14261
|
const bus = new EventBus();
|
|
14262
14262
|
context2.eventBus = bus;
|
|
14263
14263
|
frontendsHost = new FrontendsHost(bus, logger);
|
|
@@ -14609,9 +14609,9 @@ var init_state_machine_execution_engine = __esm({
|
|
|
14609
14609
|
* @returns Array of failure condition evaluation results
|
|
14610
14610
|
*/
|
|
14611
14611
|
async evaluateFailureConditions(checkName, reviewSummary, config, previousOutputs, authorAssociation) {
|
|
14612
|
-
const { FailureConditionEvaluator: FailureConditionEvaluator2 } = await import("./failure-condition-evaluator-
|
|
14612
|
+
const { FailureConditionEvaluator: FailureConditionEvaluator2 } = await import("./failure-condition-evaluator-R6DCDJAV.mjs");
|
|
14613
14613
|
const evaluator = new FailureConditionEvaluator2();
|
|
14614
|
-
const { addEvent: addEvent3 } = await import("./trace-helpers-
|
|
14614
|
+
const { addEvent: addEvent3 } = await import("./trace-helpers-HL5FBX65.mjs");
|
|
14615
14615
|
const { addFailIfTriggered } = await import("./metrics-JTOG2HNO.mjs");
|
|
14616
14616
|
const checkConfig = config.checks?.[checkName];
|
|
14617
14617
|
if (!checkConfig) {
|
|
@@ -15447,7 +15447,7 @@ var init_scheduler = __esm({
|
|
|
15447
15447
|
inputs: schedule.workflowInputs
|
|
15448
15448
|
});
|
|
15449
15449
|
if (this.taskStore) {
|
|
15450
|
-
const { trackExecution } = await import("./track-execution-
|
|
15450
|
+
const { trackExecution } = await import("./track-execution-YUXQ6WQH.mjs");
|
|
15451
15451
|
await trackExecution(
|
|
15452
15452
|
{
|
|
15453
15453
|
taskStore: this.taskStore,
|
|
@@ -15576,7 +15576,7 @@ Please provide an updated response based on the reminder above. You may referenc
|
|
|
15576
15576
|
debug: process.env.VISOR_DEBUG === "true"
|
|
15577
15577
|
});
|
|
15578
15578
|
if (this.taskStore) {
|
|
15579
|
-
const { trackExecution } = await import("./track-execution-
|
|
15579
|
+
const { trackExecution } = await import("./track-execution-YUXQ6WQH.mjs");
|
|
15580
15580
|
await trackExecution(
|
|
15581
15581
|
{
|
|
15582
15582
|
taskStore: this.taskStore,
|
|
@@ -16795,6 +16795,7 @@ var init_mcp_custom_sse_server = __esm({
|
|
|
16795
16795
|
workflowContext;
|
|
16796
16796
|
keepaliveInterval = null;
|
|
16797
16797
|
activeToolCalls = 0;
|
|
16798
|
+
inFlightToolCalls = /* @__PURE__ */ new Set();
|
|
16798
16799
|
lastActivityAt = Date.now();
|
|
16799
16800
|
gracefulStopRequested = false;
|
|
16800
16801
|
static KEEPALIVE_INTERVAL_MS = 3e4;
|
|
@@ -16925,6 +16926,53 @@ var init_mcp_custom_sse_server = __esm({
|
|
|
16925
16926
|
this.keepaliveInterval = null;
|
|
16926
16927
|
}
|
|
16927
16928
|
}
|
|
16929
|
+
beginToolCall(toolName, workspace) {
|
|
16930
|
+
if (workspace) {
|
|
16931
|
+
workspace.acquire();
|
|
16932
|
+
}
|
|
16933
|
+
const toolCall = {
|
|
16934
|
+
toolName,
|
|
16935
|
+
startedAt: Date.now(),
|
|
16936
|
+
workspace,
|
|
16937
|
+
counted: true,
|
|
16938
|
+
released: false
|
|
16939
|
+
};
|
|
16940
|
+
this.inFlightToolCalls.add(toolCall);
|
|
16941
|
+
this.activeToolCalls++;
|
|
16942
|
+
this.lastActivityAt = Date.now();
|
|
16943
|
+
return toolCall;
|
|
16944
|
+
}
|
|
16945
|
+
finalizeToolCall(toolCall, reason) {
|
|
16946
|
+
if (toolCall.counted) {
|
|
16947
|
+
this.activeToolCalls = Math.max(0, this.activeToolCalls - 1);
|
|
16948
|
+
toolCall.counted = false;
|
|
16949
|
+
}
|
|
16950
|
+
if (toolCall.workspace && !toolCall.released) {
|
|
16951
|
+
toolCall.workspace.release();
|
|
16952
|
+
toolCall.released = true;
|
|
16953
|
+
}
|
|
16954
|
+
this.inFlightToolCalls.delete(toolCall);
|
|
16955
|
+
this.lastActivityAt = Date.now();
|
|
16956
|
+
if (reason === "forced-stop") {
|
|
16957
|
+
logger.warn(
|
|
16958
|
+
`[CustomToolsSSEServer:${this.sessionId}] Force-released stranded tool call '${toolCall.toolName}' after ${Date.now() - toolCall.startedAt}ms`
|
|
16959
|
+
);
|
|
16960
|
+
}
|
|
16961
|
+
}
|
|
16962
|
+
forceDrainToolCalls() {
|
|
16963
|
+
if (this.inFlightToolCalls.size === 0) {
|
|
16964
|
+
if (this.activeToolCalls > 0) {
|
|
16965
|
+
logger.warn(
|
|
16966
|
+
`[CustomToolsSSEServer:${this.sessionId}] Resetting active tool counter with no in-flight records (${this.activeToolCalls})`
|
|
16967
|
+
);
|
|
16968
|
+
this.activeToolCalls = 0;
|
|
16969
|
+
}
|
|
16970
|
+
return;
|
|
16971
|
+
}
|
|
16972
|
+
for (const toolCall of Array.from(this.inFlightToolCalls)) {
|
|
16973
|
+
this.finalizeToolCall(toolCall, "forced-stop");
|
|
16974
|
+
}
|
|
16975
|
+
}
|
|
16928
16976
|
/**
|
|
16929
16977
|
* Stop the server and cleanup resources
|
|
16930
16978
|
*/
|
|
@@ -16955,6 +17003,7 @@ var init_mcp_custom_sse_server = __esm({
|
|
|
16955
17003
|
logger.warn(
|
|
16956
17004
|
`[CustomToolsSSEServer:${this.sessionId}] Drain timeout reached; stopping with ${this.activeToolCalls} active tool call(s)`
|
|
16957
17005
|
);
|
|
17006
|
+
this.forceDrainToolCalls();
|
|
16958
17007
|
}
|
|
16959
17008
|
}
|
|
16960
17009
|
if (this.debug) {
|
|
@@ -17339,11 +17388,7 @@ var init_mcp_custom_sse_server = __esm({
|
|
|
17339
17388
|
*/
|
|
17340
17389
|
async handleToolCall(id, toolName, args) {
|
|
17341
17390
|
const workspace = this.workflowContext?.workspace;
|
|
17342
|
-
|
|
17343
|
-
workspace.acquire();
|
|
17344
|
-
}
|
|
17345
|
-
this.activeToolCalls++;
|
|
17346
|
-
this.lastActivityAt = Date.now();
|
|
17391
|
+
const toolCall = this.beginToolCall(toolName, workspace);
|
|
17347
17392
|
try {
|
|
17348
17393
|
if (this.debug) {
|
|
17349
17394
|
logger.debug(
|
|
@@ -17630,11 +17675,7 @@ var init_mcp_custom_sse_server = __esm({
|
|
|
17630
17675
|
}
|
|
17631
17676
|
};
|
|
17632
17677
|
} finally {
|
|
17633
|
-
this.
|
|
17634
|
-
this.lastActivityAt = Date.now();
|
|
17635
|
-
if (workspace) {
|
|
17636
|
-
workspace.release();
|
|
17637
|
-
}
|
|
17678
|
+
this.finalizeToolCall(toolCall, "completed");
|
|
17638
17679
|
}
|
|
17639
17680
|
}
|
|
17640
17681
|
/**
|
|
@@ -42425,8 +42466,8 @@ function buildBuiltinGlobals(opts) {
|
|
|
42425
42466
|
const asyncFunctionNames = /* @__PURE__ */ new Set();
|
|
42426
42467
|
const scheduleFn = async (args = {}) => {
|
|
42427
42468
|
try {
|
|
42428
|
-
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-
|
|
42429
|
-
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-
|
|
42469
|
+
const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-R2OAATUS.mjs");
|
|
42470
|
+
const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-MWFUIQKR.mjs");
|
|
42430
42471
|
const parentCtx = opts.sessionInfo?._parentContext;
|
|
42431
42472
|
const webhookData = parentCtx?.prInfo?.eventContext?.webhookData;
|
|
42432
42473
|
const visorCfg = parentCtx?.config;
|
|
@@ -46150,4 +46191,4 @@ undici/lib/fetch/body.js:
|
|
|
46150
46191
|
undici/lib/websocket/frame.js:
|
|
46151
46192
|
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
|
|
46152
46193
|
*/
|
|
46153
|
-
//# sourceMappingURL=chunk-
|
|
46194
|
+
//# sourceMappingURL=chunk-7Z2WHX2J.mjs.map
|