@probelabs/visor 0.1.92 → 0.1.93

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 (26) hide show
  1. package/defaults/.visor.yaml +15 -16
  2. package/dist/check-execution-engine.d.ts +6 -0
  3. package/dist/check-execution-engine.d.ts.map +1 -1
  4. package/dist/defaults/.visor.yaml +15 -16
  5. package/dist/index.js +413 -624
  6. package/dist/liquid-extensions.d.ts +12 -0
  7. package/dist/liquid-extensions.d.ts.map +1 -1
  8. package/dist/output/issue-assistant/schema.json +14 -1
  9. package/dist/sdk/{check-execution-engine-L73PFZQY.mjs → check-execution-engine-RORGGGGP.mjs} +3 -3
  10. package/dist/sdk/{chunk-2U6BIWSY.mjs → chunk-I3GQJIR7.mjs} +14 -10
  11. package/dist/sdk/chunk-I3GQJIR7.mjs.map +1 -0
  12. package/dist/sdk/{chunk-LJHRU3WQ.mjs → chunk-Z47UECAT.mjs} +26 -24
  13. package/dist/sdk/{chunk-LJHRU3WQ.mjs.map → chunk-Z47UECAT.mjs.map} +1 -1
  14. package/dist/sdk/{liquid-extensions-AFKRYROF.mjs → liquid-extensions-GMEGEGC3.mjs} +6 -2
  15. package/dist/sdk/sdk.js +34 -28
  16. package/dist/sdk/sdk.js.map +1 -1
  17. package/dist/sdk/sdk.mjs +2 -2
  18. package/dist/traces/{run-2025-10-15T07-21-47-696Z.ndjson → run-2025-10-15T11-54-04-087Z.ndjson} +19 -3
  19. package/dist/traces/{run-2025-10-15T07-21-58-106Z.ndjson → run-2025-10-15T11-54-14-046Z.ndjson} +19 -3
  20. package/dist/traces/{run-2025-10-15T07-21-58-693Z.ndjson → run-2025-10-15T11-54-14-575Z.ndjson} +19 -3
  21. package/dist/traces/{run-2025-10-15T07-21-59-167Z.ndjson → run-2025-10-15T11-54-15-082Z.ndjson} +19 -3
  22. package/dist/traces/{run-2025-10-15T07-21-59-629Z.ndjson → run-2025-10-15T11-54-15-561Z.ndjson} +4 -0
  23. package/package.json +2 -2
  24. package/dist/sdk/chunk-2U6BIWSY.mjs.map +0 -1
  25. /package/dist/sdk/{check-execution-engine-L73PFZQY.mjs.map → check-execution-engine-RORGGGGP.mjs.map} +0 -0
  26. /package/dist/sdk/{liquid-extensions-AFKRYROF.mjs.map → liquid-extensions-GMEGEGC3.mjs.map} +0 -0
@@ -2,13 +2,17 @@ import {
2
2
  ReadFileTag,
3
3
  configureLiquidWithExtensions,
4
4
  createExtendedLiquid,
5
+ sanitizeLabel,
6
+ sanitizeLabelList,
5
7
  withPermissionsContext
6
- } from "./chunk-2U6BIWSY.mjs";
8
+ } from "./chunk-I3GQJIR7.mjs";
7
9
  import "./chunk-WMJKH4XE.mjs";
8
10
  export {
9
11
  ReadFileTag,
10
12
  configureLiquidWithExtensions,
11
13
  createExtendedLiquid,
14
+ sanitizeLabel,
15
+ sanitizeLabelList,
12
16
  withPermissionsContext
13
17
  };
14
- //# sourceMappingURL=liquid-extensions-AFKRYROF.mjs.map
18
+ //# sourceMappingURL=liquid-extensions-GMEGEGC3.mjs.map
package/dist/sdk/sdk.js CHANGED
@@ -3923,8 +3923,19 @@ __export(liquid_extensions_exports, {
3923
3923
  ReadFileTag: () => ReadFileTag,
3924
3924
  configureLiquidWithExtensions: () => configureLiquidWithExtensions,
3925
3925
  createExtendedLiquid: () => createExtendedLiquid,
3926
+ sanitizeLabel: () => sanitizeLabel,
3927
+ sanitizeLabelList: () => sanitizeLabelList,
3926
3928
  withPermissionsContext: () => withPermissionsContext
3927
3929
  });
3930
+ function sanitizeLabel(value) {
3931
+ if (value == null) return "";
3932
+ const s = String(value);
3933
+ return s.replace(/[^A-Za-z0-9:\/]/g, "").replace(/\/{2,}/g, "/");
3934
+ }
3935
+ function sanitizeLabelList(labels) {
3936
+ if (!Array.isArray(labels)) return [];
3937
+ return labels.map((v) => sanitizeLabel(v)).filter((s) => s.length > 0);
3938
+ }
3928
3939
  async function withPermissionsContext(ctx, fn) {
3929
3940
  return await permissionsALS.run(ctx, fn);
3930
3941
  }
@@ -3947,15 +3958,8 @@ function configureLiquidWithExtensions(liquid) {
3947
3958
  return "[Error: Unable to serialize to JSON]";
3948
3959
  }
3949
3960
  });
3950
- liquid.registerFilter("safe_label", (value) => {
3951
- if (value == null) return "";
3952
- const s = String(value);
3953
- return s.replace(/[^A-Za-z0-9:\/]/g, "").replace(/\/{2,}/g, "/");
3954
- });
3955
- liquid.registerFilter("safe_label_list", (value) => {
3956
- if (!Array.isArray(value)) return [];
3957
- return value.map((v) => v == null ? "" : String(v)).map((s) => s.replace(/[^A-Za-z0-9:\/]/g, "").replace(/\/{2,}/g, "/")).filter((s) => s.length > 0);
3958
- });
3961
+ liquid.registerFilter("safe_label", (value) => sanitizeLabel(value));
3962
+ liquid.registerFilter("safe_label_list", (value) => sanitizeLabelList(value));
3959
3963
  liquid.registerFilter("unescape_newlines", (value) => {
3960
3964
  if (value == null) return "";
3961
3965
  const s = String(value);
@@ -10696,6 +10700,18 @@ var init_check_execution_engine = __esm({
10696
10700
  this.mockOctokit = this.createMockOctokit();
10697
10701
  this.reviewer = new PRReviewer(this.mockOctokit);
10698
10702
  }
10703
+ /**
10704
+ * Enrich event context with authenticated octokit instance
10705
+ * @param eventContext - The event context to enrich
10706
+ * @returns Enriched event context with octokit if available
10707
+ */
10708
+ enrichEventContext(eventContext) {
10709
+ const baseContext = eventContext || {};
10710
+ if (this.actionContext?.octokit) {
10711
+ return { ...baseContext, octokit: this.actionContext.octokit };
10712
+ }
10713
+ return baseContext;
10714
+ }
10699
10715
  /**
10700
10716
  * Lazily create a secure sandbox for routing JS (goto_js, run_js)
10701
10717
  */
@@ -10895,10 +10911,6 @@ ${expr}
10895
10911
  const providerType = targetCfg.type || "ai";
10896
10912
  const prov = this.providerRegistry.getProviderOrThrow(providerType);
10897
10913
  this.setProviderWebhookContext(prov);
10898
- const enrichedEventContext = {
10899
- ...prInfo.eventContext,
10900
- ...this.actionContext?.octokit ? { octokit: this.actionContext.octokit } : {}
10901
- };
10902
10914
  const provCfg = {
10903
10915
  type: providerType,
10904
10916
  prompt: targetCfg.prompt,
@@ -10907,7 +10919,7 @@ ${expr}
10907
10919
  schema: targetCfg.schema,
10908
10920
  group: targetCfg.group,
10909
10921
  checkName: target,
10910
- eventContext: enrichedEventContext,
10922
+ eventContext: this.enrichEventContext(prInfo.eventContext),
10911
10923
  transform: targetCfg.transform,
10912
10924
  transform_js: targetCfg.transform_js,
10913
10925
  env: targetCfg.env,
@@ -11548,8 +11560,7 @@ ${expr}
11548
11560
  const providerConfig = {
11549
11561
  type: checks[0],
11550
11562
  prompt: "all",
11551
- eventContext: prInfo.eventContext,
11552
- // Pass event context for templates
11563
+ eventContext: this.enrichEventContext(prInfo.eventContext),
11553
11564
  ai: timeout ? { timeout } : void 0
11554
11565
  };
11555
11566
  const result = await provider.execute(prInfo, providerConfig);
@@ -11583,8 +11594,7 @@ ${expr}
11583
11594
  type: "ai",
11584
11595
  prompt: focus2,
11585
11596
  focus: focus2,
11586
- eventContext: prInfo.eventContext,
11587
- // Pass event context for templates
11597
+ eventContext: this.enrichEventContext(prInfo.eventContext),
11588
11598
  ai: timeout ? { timeout } : void 0,
11589
11599
  // Inherit global AI provider and model settings if config is available
11590
11600
  ai_provider: config?.ai_provider,
@@ -11739,8 +11749,7 @@ ${expr}
11739
11749
  focus: checkConfig.focus || this.mapCheckNameToFocus(checkName),
11740
11750
  schema: checkConfig.schema,
11741
11751
  group: checkConfig.group,
11742
- eventContext: prInfo.eventContext,
11743
- // Pass event context for templates
11752
+ eventContext: this.enrichEventContext(prInfo.eventContext),
11744
11753
  ai: {
11745
11754
  timeout: timeout || 6e5,
11746
11755
  debug,
@@ -12344,8 +12353,7 @@ ${expr}
12344
12353
  group: checkConfig.group,
12345
12354
  checkName,
12346
12355
  // Add checkName for sessionID
12347
- eventContext: prInfo.eventContext,
12348
- // Pass event context for templates
12356
+ eventContext: this.enrichEventContext(prInfo.eventContext),
12349
12357
  transform: checkConfig.transform,
12350
12358
  transform_js: checkConfig.transform_js,
12351
12359
  // Important: pass through provider-level timeout from check config
@@ -12532,7 +12540,7 @@ ${expr}
12532
12540
  schema: childCfg.schema,
12533
12541
  group: childCfg.group,
12534
12542
  checkName: childName,
12535
- eventContext: prInfo.eventContext,
12543
+ eventContext: this.enrichEventContext(prInfo.eventContext),
12536
12544
  transform: childCfg.transform,
12537
12545
  transform_js: childCfg.transform_js,
12538
12546
  env: childCfg.env,
@@ -12926,7 +12934,7 @@ ${expr}
12926
12934
  schema: nodeCfg.schema,
12927
12935
  group: nodeCfg.group,
12928
12936
  checkName: node,
12929
- eventContext: prInfo.eventContext,
12937
+ eventContext: this.enrichEventContext(prInfo.eventContext),
12930
12938
  transform: nodeCfg.transform,
12931
12939
  transform_js: nodeCfg.transform_js,
12932
12940
  env: nodeCfg.env,
@@ -13622,8 +13630,7 @@ ${error.stack || ""}` : String(error);
13622
13630
  focus: checkConfig.focus || this.mapCheckNameToFocus(checkName),
13623
13631
  schema: checkConfig.schema,
13624
13632
  group: checkConfig.group,
13625
- eventContext: prInfo.eventContext,
13626
- // Pass event context for templates
13633
+ eventContext: this.enrichEventContext(prInfo.eventContext),
13627
13634
  ai: {
13628
13635
  timeout: timeout || 6e5,
13629
13636
  debug,
@@ -13699,8 +13706,7 @@ ${error.stack || ""}` : String(error);
13699
13706
  focus: checkConfig.focus || this.mapCheckNameToFocus(checkName),
13700
13707
  schema: checkConfig.schema,
13701
13708
  group: checkConfig.group,
13702
- eventContext: prInfo.eventContext,
13703
- // Pass event context for templates
13709
+ eventContext: this.enrichEventContext(prInfo.eventContext),
13704
13710
  ai: {
13705
13711
  timeout: timeout || 6e5,
13706
13712
  ...checkConfig.ai || {}