@probelabs/visor 0.1.90 → 0.1.92

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 (131) hide show
  1. package/README.md +68 -2
  2. package/action.yml +1 -1
  3. package/defaults/.visor.yaml +120 -154
  4. package/dist/13.index.js +82 -0
  5. package/dist/159.index.js +38 -0
  6. package/dist/168.index.js +82 -0
  7. package/dist/201.index.js +82 -0
  8. package/dist/262.index.js +48 -0
  9. package/dist/272.index.js +82 -0
  10. package/dist/273.index.js +48 -0
  11. package/dist/320.index.js +38 -0
  12. package/dist/34.index.js +81 -0
  13. package/dist/421.index.js +48 -0
  14. package/dist/437.index.js +82 -0
  15. package/dist/441.index.js +81 -0
  16. package/dist/450.index.js +82 -0
  17. package/dist/54.index.js +81 -0
  18. package/dist/544.index.js +38 -0
  19. package/dist/558.index.js +82 -0
  20. package/dist/715.index.js +38 -0
  21. package/dist/737.index.js +82 -0
  22. package/dist/834.index.js +48 -0
  23. package/dist/85.index.js +82 -0
  24. package/dist/861.index.js +48 -0
  25. package/dist/878.index.js +81 -0
  26. package/dist/940.index.js +38 -0
  27. package/dist/989.index.js +81 -0
  28. package/dist/996.index.js +82 -0
  29. package/dist/ai-review-service.d.ts +11 -1
  30. package/dist/ai-review-service.d.ts.map +1 -1
  31. package/dist/check-execution-engine.d.ts +9 -2
  32. package/dist/check-execution-engine.d.ts.map +1 -1
  33. package/dist/cli-main.d.ts.map +1 -1
  34. package/dist/cli.d.ts.map +1 -1
  35. package/dist/config.d.ts.map +1 -1
  36. package/dist/defaults/.visor.yaml +120 -154
  37. package/dist/failure-condition-evaluator.d.ts +3 -2
  38. package/dist/failure-condition-evaluator.d.ts.map +1 -1
  39. package/dist/generated/config-schema.d.ts +89 -2
  40. package/dist/generated/config-schema.d.ts.map +1 -1
  41. package/dist/generated/config-schema.json +109 -1
  42. package/dist/git-repository-analyzer.d.ts +17 -1
  43. package/dist/git-repository-analyzer.d.ts.map +1 -1
  44. package/dist/github-comments.d.ts.map +1 -1
  45. package/dist/github-reactions.d.ts +36 -0
  46. package/dist/github-reactions.d.ts.map +1 -0
  47. package/dist/index.d.ts +2 -0
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +172824 -45634
  50. package/dist/liquid-extensions.d.ts +3 -0
  51. package/dist/liquid-extensions.d.ts.map +1 -1
  52. package/dist/memory-store.d.ts +129 -0
  53. package/dist/memory-store.d.ts.map +1 -0
  54. package/dist/output/issue-assistant/schema.json +29 -0
  55. package/dist/output/issue-assistant/template.liquid +1 -0
  56. package/dist/output/overview/schema.json +33 -0
  57. package/dist/output/overview/template.liquid +16 -0
  58. package/dist/output-formatters.d.ts +1 -0
  59. package/dist/output-formatters.d.ts.map +1 -1
  60. package/dist/pr-analyzer.d.ts +2 -0
  61. package/dist/pr-analyzer.d.ts.map +1 -1
  62. package/dist/proto/channelz.proto +564 -0
  63. package/dist/providers/check-provider-registry.d.ts.map +1 -1
  64. package/dist/providers/command-check-provider.d.ts.map +1 -1
  65. package/dist/providers/github-ops-provider.d.ts +18 -0
  66. package/dist/providers/github-ops-provider.d.ts.map +1 -0
  67. package/dist/providers/memory-check-provider.d.ts +56 -0
  68. package/dist/providers/memory-check-provider.d.ts.map +1 -0
  69. package/dist/reviewer.d.ts +2 -0
  70. package/dist/reviewer.d.ts.map +1 -1
  71. package/dist/sdk/check-execution-engine-L73PFZQY.mjs +11 -0
  72. package/dist/sdk/chunk-2U6BIWSY.mjs +748 -0
  73. package/dist/sdk/chunk-2U6BIWSY.mjs.map +1 -0
  74. package/dist/sdk/chunk-KVHVCGY6.mjs +103 -0
  75. package/dist/sdk/chunk-KVHVCGY6.mjs.map +1 -0
  76. package/dist/sdk/{chunk-N2PPFOSF.mjs → chunk-LJHRU3WQ.mjs} +2577 -250
  77. package/dist/sdk/chunk-LJHRU3WQ.mjs.map +1 -0
  78. package/dist/sdk/chunk-TWJKAYT6.mjs +1124 -0
  79. package/dist/sdk/chunk-TWJKAYT6.mjs.map +1 -0
  80. package/dist/sdk/liquid-extensions-AFKRYROF.mjs +14 -0
  81. package/dist/sdk/mermaid-telemetry-LZGDD35I.mjs +61 -0
  82. package/dist/sdk/mermaid-telemetry-LZGDD35I.mjs.map +1 -0
  83. package/dist/sdk/sdk.d.mts +48 -2
  84. package/dist/sdk/sdk.d.ts +48 -2
  85. package/dist/sdk/sdk.js +5352 -767
  86. package/dist/sdk/sdk.js.map +1 -1
  87. package/dist/sdk/sdk.mjs +112 -7
  88. package/dist/sdk/sdk.mjs.map +1 -1
  89. package/dist/sdk/tracer-init-O7RLXMJ3.mjs +10 -0
  90. package/dist/sdk/tracer-init-O7RLXMJ3.mjs.map +1 -0
  91. package/dist/session-registry.d.ts +19 -5
  92. package/dist/session-registry.d.ts.map +1 -1
  93. package/dist/telemetry/fallback-ndjson.d.ts +7 -0
  94. package/dist/telemetry/fallback-ndjson.d.ts.map +1 -0
  95. package/dist/telemetry/file-span-exporter.d.ts +17 -0
  96. package/dist/telemetry/file-span-exporter.d.ts.map +1 -0
  97. package/dist/telemetry/metrics.d.ts +13 -0
  98. package/dist/telemetry/metrics.d.ts.map +1 -0
  99. package/dist/telemetry/opentelemetry.d.ts +26 -0
  100. package/dist/telemetry/opentelemetry.d.ts.map +1 -0
  101. package/dist/telemetry/trace-helpers.d.ts +9 -0
  102. package/dist/telemetry/trace-helpers.d.ts.map +1 -0
  103. package/dist/telemetry/trace-report-exporter.d.ts +17 -0
  104. package/dist/telemetry/trace-report-exporter.d.ts.map +1 -0
  105. package/dist/traces/run-2025-10-15T07-21-47-696Z.ndjson +17 -0
  106. package/dist/traces/run-2025-10-15T07-21-58-106Z.ndjson +17 -0
  107. package/dist/traces/run-2025-10-15T07-21-58-693Z.ndjson +17 -0
  108. package/dist/traces/run-2025-10-15T07-21-59-167Z.ndjson +17 -0
  109. package/dist/traces/run-2025-10-15T07-21-59-629Z.ndjson +8 -0
  110. package/dist/types/cli.d.ts +4 -0
  111. package/dist/types/cli.d.ts.map +1 -1
  112. package/dist/types/config.d.ts +56 -2
  113. package/dist/types/config.d.ts.map +1 -1
  114. package/dist/utils/author-permissions.d.ts +74 -0
  115. package/dist/utils/author-permissions.d.ts.map +1 -0
  116. package/dist/utils/head-sha.d.ts +8 -0
  117. package/dist/utils/head-sha.d.ts.map +1 -0
  118. package/dist/utils/mermaid-telemetry.d.ts +3 -0
  119. package/dist/utils/mermaid-telemetry.d.ts.map +1 -0
  120. package/dist/utils/tracer-init.d.ts +12 -0
  121. package/dist/utils/tracer-init.d.ts.map +1 -0
  122. package/dist/utils/ui-helpers.d.ts +3 -0
  123. package/dist/utils/ui-helpers.d.ts.map +1 -0
  124. package/package.json +2 -2
  125. package/dist/sdk/check-execution-engine-Z2USLMN5.mjs +0 -9
  126. package/dist/sdk/chunk-FIL2OGF6.mjs +0 -68
  127. package/dist/sdk/chunk-FIL2OGF6.mjs.map +0 -1
  128. package/dist/sdk/chunk-N2PPFOSF.mjs.map +0 -1
  129. package/dist/sdk/liquid-extensions-KDECAJTV.mjs +0 -12
  130. /package/dist/sdk/{check-execution-engine-Z2USLMN5.mjs.map → check-execution-engine-L73PFZQY.mjs.map} +0 -0
  131. /package/dist/sdk/{liquid-extensions-KDECAJTV.mjs.map → liquid-extensions-AFKRYROF.mjs.map} +0 -0
@@ -0,0 +1,12 @@
1
+ import { TelemetryConfig, AppTracer } from '@probelabs/probe';
2
+ /**
3
+ * Safely initialize a tracer for ProbeAgent with proper path sanitization
4
+ * Uses full OpenTelemetry integration for hierarchical span relationships
5
+ * This prevents path traversal vulnerabilities by sanitizing the checkName
6
+ */
7
+ export declare function initializeTracer(sessionId: string, checkName?: string): Promise<{
8
+ tracer: AppTracer;
9
+ telemetryConfig: TelemetryConfig;
10
+ filePath: string;
11
+ } | null>;
12
+ //# sourceMappingURL=tracer-init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer-init.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/utils/tracer-init.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAoC,MAAM,kBAAkB,CAAC;AAEhG;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkI3F"}
@@ -0,0 +1,3 @@
1
+ import { GroupedCheckResults } from '../reviewer';
2
+ export declare function deriveExecutedCheckNames(groupedResults: GroupedCheckResults): string[];
3
+ //# sourceMappingURL=ui-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-helpers.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/utils/ui-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAQtF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@probelabs/visor",
3
- "version": "0.1.90",
3
+ "version": "0.1.92",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "visor": "./dist/index.js"
@@ -90,7 +90,7 @@
90
90
  "@octokit/auth-app": "^8.1.0",
91
91
  "@octokit/core": "^7.0.3",
92
92
  "@octokit/rest": "^22.0.0",
93
- "@probelabs/probe": "^0.6.0-rc125",
93
+ "@probelabs/probe": "^0.6.0-rc136",
94
94
  "@types/commander": "^2.12.0",
95
95
  "@types/uuid": "^10.0.0",
96
96
  "ajv": "^8.17.1",
@@ -1,9 +0,0 @@
1
- import {
2
- CheckExecutionEngine
3
- } from "./chunk-N2PPFOSF.mjs";
4
- import "./chunk-FIL2OGF6.mjs";
5
- import "./chunk-WMJKH4XE.mjs";
6
- export {
7
- CheckExecutionEngine
8
- };
9
- //# sourceMappingURL=check-execution-engine-Z2USLMN5.mjs.map
@@ -1,68 +0,0 @@
1
- // src/liquid-extensions.ts
2
- import { Liquid, Tag, Value } from "liquidjs";
3
- import fs from "fs/promises";
4
- import path from "path";
5
- var ReadFileTag = class extends Tag {
6
- filepath;
7
- constructor(token, remainTokens, liquid) {
8
- super(token, remainTokens, liquid);
9
- this.filepath = new Value(token.args, liquid);
10
- }
11
- *render(ctx, emitter) {
12
- const filePath = yield this.filepath.value(ctx, false);
13
- if (!filePath || typeof filePath !== "string") {
14
- emitter.write("[Error: Invalid file path]");
15
- return;
16
- }
17
- const projectRoot = process.cwd();
18
- const resolvedPath = path.resolve(projectRoot, filePath.toString());
19
- if (!resolvedPath.startsWith(projectRoot)) {
20
- emitter.write("[Error: File path escapes project directory]");
21
- return;
22
- }
23
- try {
24
- const content = yield fs.readFile(resolvedPath, "utf-8");
25
- emitter.write(content);
26
- } catch (error) {
27
- const errorMessage = error instanceof Error ? error.message : error?.code || "Unknown error";
28
- emitter.write(`[Error reading file: ${errorMessage}]`);
29
- }
30
- }
31
- };
32
- function configureLiquidWithExtensions(liquid) {
33
- liquid.registerTag("readfile", ReadFileTag);
34
- liquid.registerFilter("parse_json", (value) => {
35
- if (typeof value !== "string") {
36
- return value;
37
- }
38
- try {
39
- return JSON.parse(value);
40
- } catch {
41
- return value;
42
- }
43
- });
44
- liquid.registerFilter("to_json", (value) => {
45
- try {
46
- return JSON.stringify(value);
47
- } catch {
48
- return "[Error: Unable to serialize to JSON]";
49
- }
50
- });
51
- }
52
- function createExtendedLiquid(options = {}) {
53
- const liquid = new Liquid({
54
- cache: false,
55
- strictFilters: false,
56
- strictVariables: false,
57
- ...options
58
- });
59
- configureLiquidWithExtensions(liquid);
60
- return liquid;
61
- }
62
-
63
- export {
64
- ReadFileTag,
65
- configureLiquidWithExtensions,
66
- createExtendedLiquid
67
- };
68
- //# sourceMappingURL=chunk-FIL2OGF6.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/liquid-extensions.ts"],"sourcesContent":["import { Liquid, TagToken, Context, TopLevelToken, Tag, Value, Emitter } from 'liquidjs';\nimport fs from 'fs/promises';\nimport path from 'path';\n\n/**\n * Custom ReadFile tag for Liquid templates\n * Usage: {% readfile \"path/to/file.txt\" %}\n * or with variable: {% readfile filename %}\n */\nexport class ReadFileTag extends Tag {\n private filepath: Value;\n\n constructor(token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid) {\n super(token, remainTokens, liquid);\n this.filepath = new Value(token.args, liquid);\n }\n\n *render(ctx: Context, emitter: Emitter): Generator<unknown, void, unknown> {\n const filePath = yield this.filepath.value(ctx, false);\n\n // Validate the path\n if (!filePath || typeof filePath !== 'string') {\n emitter.write('[Error: Invalid file path]');\n return;\n }\n\n // Security: Resolve path relative to project root to prevent directory traversal\n const projectRoot = process.cwd();\n const resolvedPath = path.resolve(projectRoot, filePath.toString());\n\n // Ensure the resolved path is within the project directory\n if (!resolvedPath.startsWith(projectRoot)) {\n emitter.write('[Error: File path escapes project directory]');\n return;\n }\n\n // Read the file content\n try {\n const content = yield fs.readFile(resolvedPath, 'utf-8');\n emitter.write(content);\n } catch (error) {\n // Handle file read errors gracefully\n const errorMessage =\n error instanceof Error\n ? error.message\n : (error as NodeJS.ErrnoException)?.code || 'Unknown error';\n emitter.write(`[Error reading file: ${errorMessage}]`);\n }\n }\n}\n\n/**\n * Configure a Liquid instance with custom extensions\n */\nexport function configureLiquidWithExtensions(liquid: Liquid): void {\n // Register the readfile tag\n liquid.registerTag('readfile', ReadFileTag);\n\n // Register parse_json filter to parse JSON strings into objects\n liquid.registerFilter('parse_json', (value: string) => {\n if (typeof value !== 'string') {\n return value;\n }\n try {\n return JSON.parse(value);\n } catch {\n // Return original value if parsing fails\n return value;\n }\n });\n\n // Register to_json filter as alias for json (for consistency)\n liquid.registerFilter('to_json', (value: unknown) => {\n try {\n return JSON.stringify(value);\n } catch {\n return '[Error: Unable to serialize to JSON]';\n }\n });\n}\n\n/**\n * Create a new Liquid instance with custom extensions\n */\nexport function createExtendedLiquid(options: Record<string, unknown> = {}): Liquid {\n const liquid = new Liquid({\n cache: false,\n strictFilters: false,\n strictVariables: false,\n ...options,\n });\n\n configureLiquidWithExtensions(liquid);\n return liquid;\n}\n"],"mappings":";AAAA,SAAS,QAA0C,KAAK,aAAsB;AAC9E,OAAO,QAAQ;AACf,OAAO,UAAU;AAOV,IAAM,cAAN,cAA0B,IAAI;AAAA,EAC3B;AAAA,EAER,YAAY,OAAiB,cAA+B,QAAgB;AAC1E,UAAM,OAAO,cAAc,MAAM;AACjC,SAAK,WAAW,IAAI,MAAM,MAAM,MAAM,MAAM;AAAA,EAC9C;AAAA,EAEA,CAAC,OAAO,KAAc,SAAqD;AACzE,UAAM,WAAW,MAAM,KAAK,SAAS,MAAM,KAAK,KAAK;AAGrD,QAAI,CAAC,YAAY,OAAO,aAAa,UAAU;AAC7C,cAAQ,MAAM,4BAA4B;AAC1C;AAAA,IACF;AAGA,UAAM,cAAc,QAAQ,IAAI;AAChC,UAAM,eAAe,KAAK,QAAQ,aAAa,SAAS,SAAS,CAAC;AAGlE,QAAI,CAAC,aAAa,WAAW,WAAW,GAAG;AACzC,cAAQ,MAAM,8CAA8C;AAC5D;AAAA,IACF;AAGA,QAAI;AACF,YAAM,UAAU,MAAM,GAAG,SAAS,cAAc,OAAO;AACvD,cAAQ,MAAM,OAAO;AAAA,IACvB,SAAS,OAAO;AAEd,YAAM,eACJ,iBAAiB,QACb,MAAM,UACL,OAAiC,QAAQ;AAChD,cAAQ,MAAM,wBAAwB,YAAY,GAAG;AAAA,IACvD;AAAA,EACF;AACF;AAKO,SAAS,8BAA8B,QAAsB;AAElE,SAAO,YAAY,YAAY,WAAW;AAG1C,SAAO,eAAe,cAAc,CAAC,UAAkB;AACrD,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO;AAAA,IACT;AACA,QAAI;AACF,aAAO,KAAK,MAAM,KAAK;AAAA,IACzB,QAAQ;AAEN,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AAGD,SAAO,eAAe,WAAW,CAAC,UAAmB;AACnD,QAAI;AACF,aAAO,KAAK,UAAU,KAAK;AAAA,IAC7B,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAKO,SAAS,qBAAqB,UAAmC,CAAC,GAAW;AAClF,QAAM,SAAS,IAAI,OAAO;AAAA,IACxB,OAAO;AAAA,IACP,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,GAAG;AAAA,EACL,CAAC;AAED,gCAA8B,MAAM;AACpC,SAAO;AACT;","names":[]}