@probelabs/visor 0.1.175 → 0.1.176-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.
Files changed (80) hide show
  1. package/defaults/assistant.yaml +16 -0
  2. package/defaults/code-talk.yaml +5 -6
  3. package/dist/ai-review-service.d.ts.map +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/defaults/assistant.yaml +16 -0
  6. package/dist/defaults/code-talk.yaml +5 -6
  7. package/dist/index.js +1955 -53
  8. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  9. package/dist/sdk/{check-provider-registry-7JPPJHVM.mjs → check-provider-registry-VE6LQPLY.mjs} +3 -3
  10. package/dist/sdk/{check-provider-registry-O36CQEGD.mjs → check-provider-registry-X7WH3PXQ.mjs} +3 -3
  11. package/dist/sdk/{chunk-TAK5HLAR.mjs → chunk-KQAT6H3S.mjs} +71 -32
  12. package/dist/sdk/chunk-KQAT6H3S.mjs.map +1 -0
  13. package/dist/sdk/{chunk-MLXGCLZJ.mjs → chunk-MM3TGVQ4.mjs} +6 -2
  14. package/dist/sdk/chunk-MM3TGVQ4.mjs.map +1 -0
  15. package/dist/sdk/{chunk-FZPCP444.mjs → chunk-OK4MLC3R.mjs} +69 -30
  16. package/dist/sdk/chunk-OK4MLC3R.mjs.map +1 -0
  17. package/dist/sdk/{config-4JMBJKWS.mjs → config-OOUMTCEA.mjs} +2 -2
  18. package/dist/sdk/{host-WTJBWO4T.mjs → host-LRWIKURZ.mjs} +3 -3
  19. package/dist/sdk/knex-store-QCEW4I4R.mjs +527 -0
  20. package/dist/sdk/knex-store-QCEW4I4R.mjs.map +1 -0
  21. package/dist/sdk/loader-Q7K76ZIY.mjs +89 -0
  22. package/dist/sdk/loader-Q7K76ZIY.mjs.map +1 -0
  23. package/dist/sdk/opa-policy-engine-QCSSIMUF.mjs +655 -0
  24. package/dist/sdk/opa-policy-engine-QCSSIMUF.mjs.map +1 -0
  25. package/dist/sdk/{schedule-tool-XVSYLH4Z.mjs → schedule-tool-INVLVX3G.mjs} +3 -3
  26. package/dist/sdk/{schedule-tool-DF5WUVYV.mjs → schedule-tool-R7NSHTPJ.mjs} +3 -3
  27. package/dist/sdk/{schedule-tool-handler-CFMFHDUL.mjs → schedule-tool-handler-4SSRQXFJ.mjs} +3 -3
  28. package/dist/sdk/{schedule-tool-handler-JGWA4N3C.mjs → schedule-tool-handler-5GTQ6SFI.mjs} +3 -3
  29. package/dist/sdk/sdk.js +1720 -303
  30. package/dist/sdk/sdk.js.map +1 -1
  31. package/dist/sdk/sdk.mjs +5 -5
  32. package/dist/sdk/validator-XTZJZZJH.mjs +134 -0
  33. package/dist/sdk/validator-XTZJZZJH.mjs.map +1 -0
  34. package/dist/sdk/{workflow-check-provider-Z6U7FZAF.mjs → workflow-check-provider-EY6VSMNG.mjs} +3 -3
  35. package/dist/sdk/{workflow-check-provider-ETM452BO.mjs → workflow-check-provider-IWZSZQ7N.mjs} +3 -3
  36. package/dist/test-runner/index.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/output/traces/run-2026-03-09T18-49-07-663Z.ndjson +0 -138
  39. package/dist/output/traces/run-2026-03-09T18-49-46-345Z.ndjson +0 -2296
  40. package/dist/sdk/a2a-frontend-ORLAU5GK.mjs +0 -1658
  41. package/dist/sdk/a2a-frontend-ORLAU5GK.mjs.map +0 -1
  42. package/dist/sdk/check-provider-registry-QCDV3SI6.mjs +0 -30
  43. package/dist/sdk/chunk-4FGX4SA6.mjs +0 -516
  44. package/dist/sdk/chunk-4FGX4SA6.mjs.map +0 -1
  45. package/dist/sdk/chunk-FZPCP444.mjs.map +0 -1
  46. package/dist/sdk/chunk-HNK5ZJ2L.mjs +0 -739
  47. package/dist/sdk/chunk-HNK5ZJ2L.mjs.map +0 -1
  48. package/dist/sdk/chunk-MLXGCLZJ.mjs.map +0 -1
  49. package/dist/sdk/chunk-QAO73GUX.mjs +0 -1502
  50. package/dist/sdk/chunk-QAO73GUX.mjs.map +0 -1
  51. package/dist/sdk/chunk-TAK5HLAR.mjs.map +0 -1
  52. package/dist/sdk/chunk-YVVOG7RP.mjs +0 -45155
  53. package/dist/sdk/chunk-YVVOG7RP.mjs.map +0 -1
  54. package/dist/sdk/failure-condition-evaluator-RM5JJS4Q.mjs +0 -18
  55. package/dist/sdk/github-frontend-O5IAWXL5.mjs +0 -1386
  56. package/dist/sdk/github-frontend-O5IAWXL5.mjs.map +0 -1
  57. package/dist/sdk/routing-AWOHU2WP.mjs +0 -26
  58. package/dist/sdk/schedule-tool-L5G2BRIG.mjs +0 -36
  59. package/dist/sdk/schedule-tool-handler-CFMFHDUL.mjs.map +0 -1
  60. package/dist/sdk/schedule-tool-handler-JGWA4N3C.mjs.map +0 -1
  61. package/dist/sdk/schedule-tool-handler-UJ4RFTW2.mjs +0 -40
  62. package/dist/sdk/schedule-tool-handler-UJ4RFTW2.mjs.map +0 -1
  63. package/dist/sdk/trace-helpers-4ERTVCZG.mjs +0 -29
  64. package/dist/sdk/trace-helpers-4ERTVCZG.mjs.map +0 -1
  65. package/dist/sdk/workflow-check-provider-ETM452BO.mjs.map +0 -1
  66. package/dist/sdk/workflow-check-provider-I3XLJP6V.mjs +0 -30
  67. package/dist/sdk/workflow-check-provider-I3XLJP6V.mjs.map +0 -1
  68. package/dist/sdk/workflow-check-provider-Z6U7FZAF.mjs.map +0 -1
  69. package/dist/traces/run-2026-03-09T18-49-07-663Z.ndjson +0 -138
  70. package/dist/traces/run-2026-03-09T18-49-46-345Z.ndjson +0 -2296
  71. /package/dist/sdk/{check-provider-registry-7JPPJHVM.mjs.map → check-provider-registry-VE6LQPLY.mjs.map} +0 -0
  72. /package/dist/sdk/{check-provider-registry-O36CQEGD.mjs.map → check-provider-registry-X7WH3PXQ.mjs.map} +0 -0
  73. /package/dist/sdk/{check-provider-registry-QCDV3SI6.mjs.map → config-OOUMTCEA.mjs.map} +0 -0
  74. /package/dist/sdk/{host-WTJBWO4T.mjs.map → host-LRWIKURZ.mjs.map} +0 -0
  75. /package/dist/sdk/{config-4JMBJKWS.mjs.map → schedule-tool-INVLVX3G.mjs.map} +0 -0
  76. /package/dist/sdk/{failure-condition-evaluator-RM5JJS4Q.mjs.map → schedule-tool-R7NSHTPJ.mjs.map} +0 -0
  77. /package/dist/sdk/{routing-AWOHU2WP.mjs.map → schedule-tool-handler-4SSRQXFJ.mjs.map} +0 -0
  78. /package/dist/sdk/{schedule-tool-DF5WUVYV.mjs.map → schedule-tool-handler-5GTQ6SFI.mjs.map} +0 -0
  79. /package/dist/sdk/{schedule-tool-L5G2BRIG.mjs.map → workflow-check-provider-EY6VSMNG.mjs.map} +0 -0
  80. /package/dist/sdk/{schedule-tool-XVSYLH4Z.mjs.map → workflow-check-provider-IWZSZQ7N.mjs.map} +0 -0
@@ -43,7 +43,7 @@ import {
43
43
  import {
44
44
  config_exports,
45
45
  init_config
46
- } from "./chunk-MLXGCLZJ.mjs";
46
+ } from "./chunk-MM3TGVQ4.mjs";
47
47
  import {
48
48
  ExecutionJournal,
49
49
  checkLoopBudget,
@@ -233,11 +233,32 @@ function getCurrentDateXml() {
233
233
  }
234
234
  function createProbeTracerAdapter(fallbackTracer) {
235
235
  const fallback = fallbackTracer && typeof fallbackTracer === "object" ? fallbackTracer : null;
236
+ const flattenAttrs = (attrs) => {
237
+ if (!attrs) return attrs;
238
+ const out = {};
239
+ for (const [k, v] of Object.entries(attrs)) {
240
+ if (v === null || v === void 0) continue;
241
+ if (typeof v === "string" || typeof v === "number" || typeof v === "boolean") {
242
+ out[k] = v;
243
+ } else if (Array.isArray(v)) {
244
+ if (v.length > 0 && typeof v[0] === "object") {
245
+ out[k] = JSON.stringify(v);
246
+ } else {
247
+ out[k] = v;
248
+ }
249
+ } else if (typeof v === "object") {
250
+ out[k] = JSON.stringify(v);
251
+ } else {
252
+ out[k] = v;
253
+ }
254
+ }
255
+ return out;
256
+ };
236
257
  const emitEvent = (name, attrs) => {
237
258
  try {
238
259
  const span = trace.getActiveSpan();
239
260
  if (span && typeof span.addEvent === "function") {
240
- span.addEvent(name, attrs);
261
+ span.addEvent(name, flattenAttrs(attrs));
241
262
  }
242
263
  } catch {
243
264
  }
@@ -289,6 +310,21 @@ function createProbeTracerAdapter(fallbackTracer) {
289
310
  }
290
311
  }
291
312
  },
313
+ recordToolDecision: (toolName, params, metadata) => {
314
+ const paramsStr = typeof params === "string" ? params : JSON.stringify(params || {});
315
+ emitEvent("tool.decision", {
316
+ "tool.name": toolName,
317
+ "tool.params": paramsStr.substring(0, 5e3),
318
+ "tool.params.length": paramsStr.length,
319
+ ...metadata || {}
320
+ });
321
+ if (fallback && typeof fallback.recordToolDecision === "function") {
322
+ try {
323
+ fallback.recordToolDecision(toolName, params, metadata);
324
+ } catch {
325
+ }
326
+ }
327
+ },
292
328
  recordDelegationEvent: (phase, attrs) => {
293
329
  emitEvent(`delegation.${phase}`, attrs);
294
330
  if (fallback && typeof fallback.recordDelegationEvent === "function") {
@@ -4006,7 +4042,7 @@ async function executeWorkflowAsTool(workflowId, args, context2, argsOverrides)
4006
4042
  ...args,
4007
4043
  ...argsOverrides
4008
4044
  };
4009
- const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-ETM452BO.mjs");
4045
+ const { WorkflowCheckProvider: WorkflowCheckProvider2 } = await import("./workflow-check-provider-EY6VSMNG.mjs");
4010
4046
  const provider = new WorkflowCheckProvider2();
4011
4047
  const checkConfig = {
4012
4048
  type: "workflow",
@@ -8765,22 +8801,22 @@ async function executeCheckWithForEachItems2(checkId, forEachParent, forEachItem
8765
8801
  if (webhookData && webhookData.size > 0) {
8766
8802
  for (const payload of webhookData.values()) {
8767
8803
  const slackConv = payload?.slack_conversation;
8768
- if (slackConv) {
8804
+ const telegramConv = payload?.telegram_conversation;
8805
+ const conv = slackConv || telegramConv;
8806
+ if (conv) {
8769
8807
  const event = payload?.event;
8770
- const messageCount = Array.isArray(slackConv?.messages) ? slackConv.messages.length : 0;
8808
+ const messageCount = Array.isArray(conv?.messages) ? conv.messages.length : 0;
8771
8809
  if (context2.debug) {
8772
8810
  logger.info(
8773
- `[LevelDispatch] Slack conversation extracted: ${messageCount} messages`
8811
+ `[LevelDispatch] Conversation extracted (${conv?.transport || "unknown"}): ${messageCount} messages`
8774
8812
  );
8775
8813
  }
8814
+ const transportCtx = slackConv ? { slack: { event: event || {}, conversation: slackConv } } : { telegram: { event: event || {}, conversation: telegramConv }, webhook: payload };
8776
8815
  providerConfig.eventContext = {
8777
8816
  ...providerConfig.eventContext,
8778
- slack: {
8779
- event: event || {},
8780
- conversation: slackConv
8781
- },
8782
- conversation: slackConv
8783
- // Also expose at top level for convenience
8817
+ ...transportCtx,
8818
+ conversation: conv
8819
+ // Expose at top level for all transports
8784
8820
  };
8785
8821
  break;
8786
8822
  }
@@ -9893,20 +9929,20 @@ async function executeSingleCheck2(checkId, context2, state, emitEvent, transiti
9893
9929
  if (webhookData && webhookData.size > 0) {
9894
9930
  for (const payload of webhookData.values()) {
9895
9931
  const slackConv = payload?.slack_conversation;
9896
- if (slackConv) {
9932
+ const telegramConv = payload?.telegram_conversation;
9933
+ const conv = slackConv || telegramConv;
9934
+ if (conv) {
9897
9935
  const event = payload?.event;
9898
- const messageCount = Array.isArray(slackConv?.messages) ? slackConv.messages.length : 0;
9936
+ const messageCount = Array.isArray(conv?.messages) ? conv.messages.length : 0;
9899
9937
  if (context2.debug) {
9900
- logger.info(`[LevelDispatch] Slack conversation extracted: ${messageCount} messages`);
9938
+ logger.info(`[LevelDispatch] Conversation extracted (${conv?.transport || "unknown"}): ${messageCount} messages`);
9901
9939
  }
9940
+ const transportCtx = slackConv ? { slack: { event: event || {}, conversation: slackConv } } : { telegram: { event: event || {}, conversation: telegramConv }, webhook: payload };
9902
9941
  providerConfig.eventContext = {
9903
9942
  ...providerConfig.eventContext,
9904
- slack: {
9905
- event: event || {},
9906
- conversation: slackConv
9907
- },
9908
- conversation: slackConv
9909
- // Also expose at top level for convenience
9943
+ ...transportCtx,
9944
+ conversation: conv
9945
+ // Expose at top level for all transports
9910
9946
  };
9911
9947
  break;
9912
9948
  }
@@ -13348,7 +13384,7 @@ var init_state_machine_execution_engine = __esm({
13348
13384
  try {
13349
13385
  const map = options?.webhookContext?.webhookData;
13350
13386
  if (map) {
13351
- const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-O36CQEGD.mjs");
13387
+ const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-VE6LQPLY.mjs");
13352
13388
  const reg = CheckProviderRegistry2.getInstance();
13353
13389
  const p = reg.getProvider("http_input");
13354
13390
  if (p && typeof p.setWebhookContext === "function") p.setWebhookContext(map);
@@ -13461,7 +13497,7 @@ var init_state_machine_execution_engine = __esm({
13461
13497
  logger.info("[StateMachine] Using state machine engine");
13462
13498
  }
13463
13499
  if (!config) {
13464
- const { ConfigManager } = await import("./config-4JMBJKWS.mjs");
13500
+ const { ConfigManager } = await import("./config-OOUMTCEA.mjs");
13465
13501
  const configManager = new ConfigManager();
13466
13502
  config = await configManager.getDefaultConfig();
13467
13503
  logger.debug("[StateMachine] Using default configuration (no config provided)");
@@ -13471,7 +13507,7 @@ var init_state_machine_execution_engine = __esm({
13471
13507
  tag_filter: tagFilter
13472
13508
  } : config;
13473
13509
  try {
13474
- const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-O36CQEGD.mjs");
13510
+ const { CheckProviderRegistry: CheckProviderRegistry2 } = await import("./check-provider-registry-VE6LQPLY.mjs");
13475
13511
  const registry = CheckProviderRegistry2.getInstance();
13476
13512
  registry.setCustomTools(configWithTagFilter.tools || {});
13477
13513
  } catch (error) {
@@ -13535,7 +13571,7 @@ var init_state_machine_execution_engine = __esm({
13535
13571
  try {
13536
13572
  const webhookData = this.executionContext?.webhookContext?.webhookData;
13537
13573
  if (webhookData instanceof Map) {
13538
- const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-CFMFHDUL.mjs");
13574
+ const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-5GTQ6SFI.mjs");
13539
13575
  const slackCtx = extractSlackContext2(webhookData);
13540
13576
  if (slackCtx) {
13541
13577
  const payload = Array.from(webhookData.values())[0];
@@ -17080,7 +17116,9 @@ var init_ai_check_provider = __esm({
17080
17116
  const first = Array.from(map.values())[0];
17081
17117
  if (!first || typeof first !== "object") return {};
17082
17118
  const ev = first.event;
17083
- const conv = first.slack_conversation;
17119
+ const slackConv = first.slack_conversation;
17120
+ const telegramConv = first.telegram_conversation;
17121
+ const conv = slackConv || telegramConv;
17084
17122
  if (!ev && !conv) return {};
17085
17123
  if (conv && prInfo) {
17086
17124
  try {
@@ -17088,7 +17126,8 @@ var init_ai_check_provider = __esm({
17088
17126
  } catch {
17089
17127
  }
17090
17128
  }
17091
- return { slack: { event: ev, conversation: conv } };
17129
+ const transportCtx = slackConv ? { slack: { event: ev, conversation: slackConv } } : { telegram: { event: ev, conversation: telegramConv } };
17130
+ return { ...transportCtx, conversation: conv };
17092
17131
  } catch {
17093
17132
  return {};
17094
17133
  }
@@ -41554,8 +41593,8 @@ function buildBuiltinGlobals(opts) {
41554
41593
  const asyncFunctionNames = /* @__PURE__ */ new Set();
41555
41594
  const scheduleFn = async (args = {}) => {
41556
41595
  try {
41557
- const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-XVSYLH4Z.mjs");
41558
- const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-CFMFHDUL.mjs");
41596
+ const { handleScheduleAction: handleScheduleAction2, buildScheduleToolContext: buildScheduleToolContext2 } = await import("./schedule-tool-R7NSHTPJ.mjs");
41597
+ const { extractSlackContext: extractSlackContext2 } = await import("./schedule-tool-handler-5GTQ6SFI.mjs");
41559
41598
  const parentCtx = opts.sessionInfo?._parentContext;
41560
41599
  const webhookData = parentCtx?.prInfo?.eventContext?.webhookData;
41561
41600
  const visorCfg = parentCtx?.config;
@@ -45152,4 +45191,4 @@ undici/lib/fetch/body.js:
45152
45191
  undici/lib/websocket/frame.js:
45153
45192
  (*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
45154
45193
  */
45155
- //# sourceMappingURL=chunk-FZPCP444.mjs.map
45194
+ //# sourceMappingURL=chunk-OK4MLC3R.mjs.map