@probelabs/visor 0.1.98 → 0.1.100

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 (107) hide show
  1. package/README.md +2 -1
  2. package/action.yml +7 -2
  3. package/defaults/.visor.yaml +4 -4
  4. package/dist/action-cli-bridge.d.ts +1 -0
  5. package/dist/action-cli-bridge.d.ts.map +1 -1
  6. package/dist/ai-review-service.d.ts.map +1 -1
  7. package/dist/check-execution-engine.d.ts +8 -2
  8. package/dist/check-execution-engine.d.ts.map +1 -1
  9. package/dist/cli-main.d.ts.map +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/debug-visualizer/debug-span-exporter.d.ts +47 -0
  13. package/dist/debug-visualizer/debug-span-exporter.d.ts.map +1 -0
  14. package/dist/debug-visualizer/trace-reader.d.ts +117 -0
  15. package/dist/debug-visualizer/trace-reader.d.ts.map +1 -0
  16. package/dist/debug-visualizer/ui/index.html +2568 -0
  17. package/dist/debug-visualizer/ws-server.d.ts +99 -0
  18. package/dist/debug-visualizer/ws-server.d.ts.map +1 -0
  19. package/dist/defaults/.visor.yaml +4 -4
  20. package/dist/failure-condition-evaluator.d.ts.map +1 -1
  21. package/dist/generated/config-schema.d.ts +1 -1
  22. package/dist/generated/config-schema.d.ts.map +1 -1
  23. package/dist/generated/config-schema.json +2 -1
  24. package/dist/git-repository-analyzer.d.ts +1 -7
  25. package/dist/git-repository-analyzer.d.ts.map +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +17601 -1749
  28. package/dist/liquid-extensions.d.ts +1 -1
  29. package/dist/liquid-extensions.d.ts.map +1 -1
  30. package/dist/output/code-review/schema.json +2 -2
  31. package/dist/output/traces/run-2025-10-22T10-40-34-055Z.ndjson +218 -0
  32. package/dist/pr-analyzer.d.ts +2 -1
  33. package/dist/pr-analyzer.d.ts.map +1 -1
  34. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  35. package/dist/providers/check-provider-registry.d.ts.map +1 -1
  36. package/dist/providers/check-provider.interface.d.ts +17 -6
  37. package/dist/providers/check-provider.interface.d.ts.map +1 -1
  38. package/dist/providers/command-check-provider.d.ts.map +1 -1
  39. package/dist/providers/github-ops-provider.d.ts.map +1 -1
  40. package/dist/providers/http-check-provider.d.ts.map +1 -1
  41. package/dist/providers/human-input-check-provider.d.ts +78 -0
  42. package/dist/providers/human-input-check-provider.d.ts.map +1 -0
  43. package/dist/providers/index.d.ts +2 -1
  44. package/dist/providers/index.d.ts.map +1 -1
  45. package/dist/providers/mcp-check-provider.d.ts.map +1 -1
  46. package/dist/providers/memory-check-provider.d.ts.map +1 -1
  47. package/dist/sdk/check-execution-engine-F3662LY7.mjs +11 -0
  48. package/dist/sdk/{chunk-I3GQJIR7.mjs → chunk-B5QBV2QJ.mjs} +2 -2
  49. package/dist/sdk/chunk-B5QBV2QJ.mjs.map +1 -0
  50. package/dist/sdk/{chunk-IG3BFIIN.mjs → chunk-FVS5CJ5S.mjs} +30 -1
  51. package/dist/sdk/chunk-FVS5CJ5S.mjs.map +1 -0
  52. package/dist/sdk/{chunk-YXOWIDEF.mjs → chunk-TUTOLSFV.mjs} +15 -3
  53. package/dist/sdk/chunk-TUTOLSFV.mjs.map +1 -0
  54. package/dist/sdk/{chunk-POYXI3MQ.mjs → chunk-X2JKUOE5.mjs} +1375 -570
  55. package/dist/sdk/chunk-X2JKUOE5.mjs.map +1 -0
  56. package/dist/sdk/{liquid-extensions-GMEGEGC3.mjs → liquid-extensions-KVL4MKRH.mjs} +2 -2
  57. package/dist/sdk/{mermaid-telemetry-4DUEYCLE.mjs → mermaid-telemetry-FBF6D35S.mjs} +2 -2
  58. package/dist/sdk/sdk.d.mts +58 -2
  59. package/dist/sdk/sdk.d.ts +58 -2
  60. package/dist/sdk/sdk.js +1629 -733
  61. package/dist/sdk/sdk.js.map +1 -1
  62. package/dist/sdk/sdk.mjs +12 -6
  63. package/dist/sdk/sdk.mjs.map +1 -1
  64. package/dist/sdk/{tracer-init-RJGAIOBP.mjs → tracer-init-WC75N5NW.mjs} +2 -2
  65. package/dist/sdk.d.ts +5 -2
  66. package/dist/sdk.d.ts.map +1 -1
  67. package/dist/telemetry/file-span-exporter.d.ts.map +1 -1
  68. package/dist/telemetry/opentelemetry.d.ts +2 -0
  69. package/dist/telemetry/opentelemetry.d.ts.map +1 -1
  70. package/dist/telemetry/state-capture.d.ts +53 -0
  71. package/dist/telemetry/state-capture.d.ts.map +1 -0
  72. package/dist/telemetry/trace-helpers.d.ts.map +1 -1
  73. package/dist/traces/run-2025-10-22T10-40-34-055Z.ndjson +218 -0
  74. package/dist/types/cli.d.ts +6 -0
  75. package/dist/types/cli.d.ts.map +1 -1
  76. package/dist/types/config.d.ts +40 -1
  77. package/dist/types/config.d.ts.map +1 -1
  78. package/dist/utils/file-exclusion.d.ts +50 -0
  79. package/dist/utils/file-exclusion.d.ts.map +1 -0
  80. package/dist/utils/interactive-prompt.d.ts +26 -0
  81. package/dist/utils/interactive-prompt.d.ts.map +1 -0
  82. package/dist/utils/sandbox.d.ts +26 -0
  83. package/dist/utils/sandbox.d.ts.map +1 -0
  84. package/dist/utils/stdin-reader.d.ts +22 -0
  85. package/dist/utils/stdin-reader.d.ts.map +1 -0
  86. package/dist/utils/tracer-init.d.ts +0 -5
  87. package/dist/utils/tracer-init.d.ts.map +1 -1
  88. package/package.json +8 -4
  89. package/dist/output/traces/run-2025-10-19T19-05-29-328Z.ndjson +0 -40
  90. package/dist/output/traces/run-2025-10-19T19-05-42-253Z.ndjson +0 -40
  91. package/dist/output/traces/run-2025-10-19T19-05-42-805Z.ndjson +0 -40
  92. package/dist/output/traces/run-2025-10-19T19-05-43-323Z.ndjson +0 -40
  93. package/dist/output/traces/run-2025-10-19T19-05-43-841Z.ndjson +0 -12
  94. package/dist/sdk/check-execution-engine-W5FLIWZL.mjs +0 -11
  95. package/dist/sdk/chunk-I3GQJIR7.mjs.map +0 -1
  96. package/dist/sdk/chunk-IG3BFIIN.mjs.map +0 -1
  97. package/dist/sdk/chunk-POYXI3MQ.mjs.map +0 -1
  98. package/dist/sdk/chunk-YXOWIDEF.mjs.map +0 -1
  99. package/dist/traces/run-2025-10-19T19-05-29-328Z.ndjson +0 -40
  100. package/dist/traces/run-2025-10-19T19-05-42-253Z.ndjson +0 -40
  101. package/dist/traces/run-2025-10-19T19-05-42-805Z.ndjson +0 -40
  102. package/dist/traces/run-2025-10-19T19-05-43-323Z.ndjson +0 -40
  103. package/dist/traces/run-2025-10-19T19-05-43-841Z.ndjson +0 -12
  104. /package/dist/sdk/{check-execution-engine-W5FLIWZL.mjs.map → check-execution-engine-F3662LY7.mjs.map} +0 -0
  105. /package/dist/sdk/{liquid-extensions-GMEGEGC3.mjs.map → liquid-extensions-KVL4MKRH.mjs.map} +0 -0
  106. /package/dist/sdk/{mermaid-telemetry-4DUEYCLE.mjs.map → mermaid-telemetry-FBF6D35S.mjs.map} +0 -0
  107. /package/dist/sdk/{tracer-init-RJGAIOBP.mjs.map → tracer-init-WC75N5NW.mjs.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  sanitizeLabel,
6
6
  sanitizeLabelList,
7
7
  withPermissionsContext
8
- } from "./chunk-I3GQJIR7.mjs";
8
+ } from "./chunk-B5QBV2QJ.mjs";
9
9
  import "./chunk-WMJKH4XE.mjs";
10
10
  export {
11
11
  ReadFileTag,
@@ -15,4 +15,4 @@ export {
15
15
  sanitizeLabelList,
16
16
  withPermissionsContext
17
17
  };
18
- //# sourceMappingURL=liquid-extensions-GMEGEGC3.mjs.map
18
+ //# sourceMappingURL=liquid-extensions-KVL4MKRH.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  addDiagramBlock,
3
3
  addEvent
4
- } from "./chunk-IG3BFIIN.mjs";
4
+ } from "./chunk-FVS5CJ5S.mjs";
5
5
  import "./chunk-WMJKH4XE.mjs";
6
6
 
7
7
  // src/utils/mermaid-telemetry.ts
@@ -58,4 +58,4 @@ function emitMermaidFromMarkdown(checkName, markdown, origin) {
58
58
  export {
59
59
  emitMermaidFromMarkdown
60
60
  };
61
- //# sourceMappingURL=mermaid-telemetry-4DUEYCLE.mjs.map
61
+ //# sourceMappingURL=mermaid-telemetry-FBF6D35S.mjs.map
@@ -120,7 +120,7 @@ interface FailureConditionResult {
120
120
  /**
121
121
  * Valid check types in configuration
122
122
  */
123
- type ConfigCheckType = 'ai' | 'command' | 'http' | 'http_input' | 'http_client' | 'noop' | 'log' | 'memory' | 'github' | 'claude-code' | 'mcp';
123
+ type ConfigCheckType = 'ai' | 'command' | 'http' | 'http_input' | 'http_client' | 'noop' | 'log' | 'memory' | 'github' | 'claude-code' | 'mcp' | 'human-input';
124
124
  /**
125
125
  * Valid event triggers for checks
126
126
  */
@@ -325,6 +325,17 @@ interface CheckConfig {
325
325
  argsTransform?: string;
326
326
  /** Session ID for HTTP transport (optional, server may generate one) */
327
327
  sessionId?: string;
328
+ /**
329
+ * Human input provider specific options (optional, only used when type === 'human-input').
330
+ */
331
+ /** Placeholder text to show in input field */
332
+ placeholder?: string;
333
+ /** Allow empty input (default: false) */
334
+ allow_empty?: boolean;
335
+ /** Support multiline input (default: false) */
336
+ multiline?: boolean;
337
+ /** Default value if timeout occurs or empty input when allow_empty is true */
338
+ default?: string;
328
339
  }
329
340
  /**
330
341
  * Backoff policy for retries
@@ -530,6 +541,32 @@ interface MemoryConfig {
530
541
  /** Auto-save after operations (default: true if storage: file) */
531
542
  auto_save?: boolean;
532
543
  }
544
+ /**
545
+ * Human input request passed to hooks
546
+ */
547
+ interface HumanInputRequest {
548
+ /** Check ID requesting input */
549
+ checkId: string;
550
+ /** Prompt to display to user */
551
+ prompt: string;
552
+ /** Placeholder text (optional) */
553
+ placeholder?: string;
554
+ /** Whether empty input is allowed */
555
+ allowEmpty: boolean;
556
+ /** Whether multiline input is supported */
557
+ multiline: boolean;
558
+ /** Timeout in milliseconds (optional) */
559
+ timeout?: number;
560
+ /** Default value if timeout or empty (optional) */
561
+ default?: string;
562
+ }
563
+ /**
564
+ * Hooks for runtime integration (SDK mode)
565
+ */
566
+ interface VisorHooks {
567
+ /** Called when human input is required */
568
+ onHumanInput?: (request: HumanInputRequest) => Promise<string>;
569
+ }
533
570
  /**
534
571
  * Main Visor configuration
535
572
  */
@@ -548,6 +585,8 @@ interface VisorConfig {
548
585
  http_server?: HttpServerConfig;
549
586
  /** Memory storage configuration */
550
587
  memory?: MemoryConfig;
588
+ /** Runtime hooks for SDK integration */
589
+ hooks?: VisorHooks;
551
590
  /** Global environment variables */
552
591
  env?: EnvConfig;
553
592
  /** Global AI model setting */
@@ -570,6 +609,21 @@ interface VisorConfig {
570
609
  routing?: RoutingDefaults;
571
610
  }
572
611
 
612
+ /**
613
+ * Execution context passed to check providers
614
+ */
615
+ interface ExecutionContext {
616
+ /** Session information for AI session reuse */
617
+ parentSessionId?: string;
618
+ reuseSession?: boolean;
619
+ /** CLI message value (from --message argument) */
620
+ cliMessage?: string;
621
+ /** SDK hooks for human input */
622
+ hooks?: {
623
+ onHumanInput?: (request: HumanInputRequest) => Promise<string>;
624
+ };
625
+ }
626
+
573
627
  /**
574
628
  * Statistics for a single check execution
575
629
  */
@@ -674,6 +728,8 @@ interface RunOptions extends VisorOptions {
674
728
  };
675
729
  /** Strict mode: treat config warnings (like unknown keys) as errors (default: false) */
676
730
  strictValidation?: boolean;
731
+ /** Execution context for providers (CLI message, hooks, etc.) */
732
+ executionContext?: ExecutionContext;
677
733
  }
678
734
  /**
679
735
  * Load and validate a Visor config.
@@ -692,4 +748,4 @@ declare function resolveChecks(checkIds: string[], config: VisorConfig | undefin
692
748
  */
693
749
  declare function runChecks(opts?: RunOptions): Promise<AnalysisResult>;
694
750
 
695
- export { type RunOptions, type TagFilter, type VisorConfig, type VisorOptions, loadConfig, resolveChecks, runChecks };
751
+ export { type ExecutionContext, type HumanInputRequest, type RunOptions, type TagFilter, type VisorConfig, type VisorOptions, loadConfig, resolveChecks, runChecks };
package/dist/sdk/sdk.d.ts CHANGED
@@ -120,7 +120,7 @@ interface FailureConditionResult {
120
120
  /**
121
121
  * Valid check types in configuration
122
122
  */
123
- type ConfigCheckType = 'ai' | 'command' | 'http' | 'http_input' | 'http_client' | 'noop' | 'log' | 'memory' | 'github' | 'claude-code' | 'mcp';
123
+ type ConfigCheckType = 'ai' | 'command' | 'http' | 'http_input' | 'http_client' | 'noop' | 'log' | 'memory' | 'github' | 'claude-code' | 'mcp' | 'human-input';
124
124
  /**
125
125
  * Valid event triggers for checks
126
126
  */
@@ -325,6 +325,17 @@ interface CheckConfig {
325
325
  argsTransform?: string;
326
326
  /** Session ID for HTTP transport (optional, server may generate one) */
327
327
  sessionId?: string;
328
+ /**
329
+ * Human input provider specific options (optional, only used when type === 'human-input').
330
+ */
331
+ /** Placeholder text to show in input field */
332
+ placeholder?: string;
333
+ /** Allow empty input (default: false) */
334
+ allow_empty?: boolean;
335
+ /** Support multiline input (default: false) */
336
+ multiline?: boolean;
337
+ /** Default value if timeout occurs or empty input when allow_empty is true */
338
+ default?: string;
328
339
  }
329
340
  /**
330
341
  * Backoff policy for retries
@@ -530,6 +541,32 @@ interface MemoryConfig {
530
541
  /** Auto-save after operations (default: true if storage: file) */
531
542
  auto_save?: boolean;
532
543
  }
544
+ /**
545
+ * Human input request passed to hooks
546
+ */
547
+ interface HumanInputRequest {
548
+ /** Check ID requesting input */
549
+ checkId: string;
550
+ /** Prompt to display to user */
551
+ prompt: string;
552
+ /** Placeholder text (optional) */
553
+ placeholder?: string;
554
+ /** Whether empty input is allowed */
555
+ allowEmpty: boolean;
556
+ /** Whether multiline input is supported */
557
+ multiline: boolean;
558
+ /** Timeout in milliseconds (optional) */
559
+ timeout?: number;
560
+ /** Default value if timeout or empty (optional) */
561
+ default?: string;
562
+ }
563
+ /**
564
+ * Hooks for runtime integration (SDK mode)
565
+ */
566
+ interface VisorHooks {
567
+ /** Called when human input is required */
568
+ onHumanInput?: (request: HumanInputRequest) => Promise<string>;
569
+ }
533
570
  /**
534
571
  * Main Visor configuration
535
572
  */
@@ -548,6 +585,8 @@ interface VisorConfig {
548
585
  http_server?: HttpServerConfig;
549
586
  /** Memory storage configuration */
550
587
  memory?: MemoryConfig;
588
+ /** Runtime hooks for SDK integration */
589
+ hooks?: VisorHooks;
551
590
  /** Global environment variables */
552
591
  env?: EnvConfig;
553
592
  /** Global AI model setting */
@@ -570,6 +609,21 @@ interface VisorConfig {
570
609
  routing?: RoutingDefaults;
571
610
  }
572
611
 
612
+ /**
613
+ * Execution context passed to check providers
614
+ */
615
+ interface ExecutionContext {
616
+ /** Session information for AI session reuse */
617
+ parentSessionId?: string;
618
+ reuseSession?: boolean;
619
+ /** CLI message value (from --message argument) */
620
+ cliMessage?: string;
621
+ /** SDK hooks for human input */
622
+ hooks?: {
623
+ onHumanInput?: (request: HumanInputRequest) => Promise<string>;
624
+ };
625
+ }
626
+
573
627
  /**
574
628
  * Statistics for a single check execution
575
629
  */
@@ -674,6 +728,8 @@ interface RunOptions extends VisorOptions {
674
728
  };
675
729
  /** Strict mode: treat config warnings (like unknown keys) as errors (default: false) */
676
730
  strictValidation?: boolean;
731
+ /** Execution context for providers (CLI message, hooks, etc.) */
732
+ executionContext?: ExecutionContext;
677
733
  }
678
734
  /**
679
735
  * Load and validate a Visor config.
@@ -692,4 +748,4 @@ declare function resolveChecks(checkIds: string[], config: VisorConfig | undefin
692
748
  */
693
749
  declare function runChecks(opts?: RunOptions): Promise<AnalysisResult>;
694
750
 
695
- export { type RunOptions, type TagFilter, type VisorConfig, type VisorOptions, loadConfig, resolveChecks, runChecks };
751
+ export { type ExecutionContext, type HumanInputRequest, type RunOptions, type TagFilter, type VisorConfig, type VisorOptions, loadConfig, resolveChecks, runChecks };