@probelabs/visor 0.1.186-ee → 0.1.187-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.
- package/defaults/assistant.yaml +31 -0
- package/defaults/code-talk.yaml +32 -0
- package/defaults/skills/code-explorer.yaml +6 -0
- package/dist/agent-protocol/task-live-update-slack.d.ts +10 -0
- package/dist/agent-protocol/task-live-update-slack.d.ts.map +1 -1
- package/dist/agent-protocol/task-live-updates.d.ts +10 -0
- package/dist/agent-protocol/task-live-updates.d.ts.map +1 -1
- package/dist/agent-protocol/tasks-cli-handler.d.ts.map +1 -1
- package/dist/agent-protocol/trace-serializer.d.ts +43 -1
- package/dist/agent-protocol/trace-serializer.d.ts.map +1 -1
- package/dist/agent-protocol/track-execution.d.ts.map +1 -1
- package/dist/ai-review-service.d.ts +22 -1
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/cli-main.d.ts +1 -0
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/defaults/assistant.yaml +31 -0
- package/dist/defaults/code-talk.yaml +32 -0
- package/dist/defaults/skills/code-explorer.yaml +6 -0
- package/dist/docs/telemetry-setup.md +18 -2
- package/dist/email/polling-runner.d.ts +1 -0
- package/dist/email/polling-runner.d.ts.map +1 -1
- package/dist/frontends/email-frontend.d.ts.map +1 -1
- package/dist/frontends/slack-frontend.d.ts.map +1 -1
- package/dist/frontends/teams-frontend.d.ts.map +1 -1
- package/dist/frontends/telegram-frontend.d.ts.map +1 -1
- package/dist/frontends/whatsapp-frontend.d.ts.map +1 -1
- package/dist/generated/config-schema.d.ts +16 -8
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7658 -1460
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/mcp-check-provider.d.ts.map +1 -1
- package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
- package/dist/providers/script-check-provider.d.ts.map +1 -1
- package/dist/providers/workflow-check-provider.d.ts.map +1 -1
- package/dist/runners/mcp-server-runner.d.ts.map +1 -1
- package/dist/scheduler/scheduler.d.ts.map +1 -1
- package/dist/sdk/a2a-frontend-7EGXSULE.mjs +1751 -0
- package/dist/sdk/a2a-frontend-7EGXSULE.mjs.map +1 -0
- package/dist/sdk/{a2a-frontend-OI4OVSKC.mjs → a2a-frontend-QVKJ7MVW.mjs} +3 -3
- package/dist/sdk/{check-provider-registry-TQR32QBD.mjs → check-provider-registry-IGNTM4MW.mjs} +5 -5
- package/dist/sdk/{check-provider-registry-7T2AEWLU.mjs → check-provider-registry-QUUL6JI2.mjs} +14 -11
- package/dist/sdk/chunk-2LLKENYD.mjs +33 -0
- package/dist/sdk/chunk-2LLKENYD.mjs.map +1 -0
- package/dist/sdk/{chunk-XX6WT332.mjs → chunk-6DDNEBZ7.mjs} +2 -1
- package/dist/sdk/{chunk-XX6WT332.mjs.map → chunk-6DDNEBZ7.mjs.map} +1 -1
- package/dist/sdk/chunk-6LQEODDA.mjs +391 -0
- package/dist/sdk/chunk-6LQEODDA.mjs.map +1 -0
- package/dist/sdk/chunk-77AKSSW2.mjs +175 -0
- package/dist/sdk/chunk-77AKSSW2.mjs.map +1 -0
- package/dist/sdk/chunk-7QI6F66G.mjs +145 -0
- package/dist/sdk/chunk-7QI6F66G.mjs.map +1 -0
- package/dist/sdk/{chunk-UM7LGO2P.mjs → chunk-BBLBZVWC.mjs} +3 -3
- package/dist/sdk/chunk-BVEATT5V.mjs +2495 -0
- package/dist/sdk/chunk-BVEATT5V.mjs.map +1 -0
- package/dist/sdk/{chunk-SRU5TFNY.mjs → chunk-D6O5SCPC.mjs} +2 -1
- package/dist/sdk/{chunk-SRU5TFNY.mjs.map → chunk-D6O5SCPC.mjs.map} +1 -1
- package/dist/sdk/chunk-H2ZWNJJO.mjs +204 -0
- package/dist/sdk/chunk-H2ZWNJJO.mjs.map +1 -0
- package/dist/sdk/{chunk-TAOGXCWT.mjs → chunk-HMVD3AEC.mjs} +16 -16
- package/dist/sdk/{chunk-LWH6CVLZ.mjs → chunk-HQCCT6WP.mjs} +570 -259
- package/dist/sdk/chunk-HQCCT6WP.mjs.map +1 -0
- package/dist/sdk/chunk-HW4MPCOW.mjs +691 -0
- package/dist/sdk/chunk-HW4MPCOW.mjs.map +1 -0
- package/dist/sdk/chunk-PGBV3VZB.mjs +122 -0
- package/dist/sdk/chunk-PGBV3VZB.mjs.map +1 -0
- package/dist/sdk/chunk-PZADRRLX.mjs +739 -0
- package/dist/sdk/chunk-PZADRRLX.mjs.map +1 -0
- package/dist/sdk/chunk-QT766ZLD.mjs +217 -0
- package/dist/sdk/chunk-QT766ZLD.mjs.map +1 -0
- package/dist/sdk/chunk-RQDLVMER.mjs +1507 -0
- package/dist/sdk/chunk-RQDLVMER.mjs.map +1 -0
- package/dist/sdk/chunk-TL3ZTYFY.mjs +141 -0
- package/dist/sdk/chunk-TL3ZTYFY.mjs.map +1 -0
- package/dist/sdk/{chunk-YBXNG75V.mjs → chunk-YTG5DN72.mjs} +103 -28
- package/dist/sdk/chunk-YTG5DN72.mjs.map +1 -0
- package/dist/sdk/chunk-YU3VR5SZ.mjs +749 -0
- package/dist/sdk/chunk-YU3VR5SZ.mjs.map +1 -0
- package/dist/sdk/chunk-ZCBVXBKG.mjs +1150 -0
- package/dist/sdk/chunk-ZCBVXBKG.mjs.map +1 -0
- package/dist/sdk/{config-BCYAVJ5S.mjs → config-BI5ZXG6D.mjs} +2 -2
- package/dist/sdk/{config-TVU5RWR5.mjs → config-H5IOLBFA.mjs} +2 -2
- package/dist/sdk/{dist-PN5UHL6A.mjs → dist-YLO6HUFD.mjs} +238 -65
- package/dist/sdk/dist-YLO6HUFD.mjs.map +1 -0
- package/dist/sdk/{email-frontend-6JU4L33L.mjs → email-frontend-6O454VL5.mjs} +18 -3
- package/dist/sdk/{email-frontend-ECHQCFTR.mjs.map → email-frontend-6O454VL5.mjs.map} +1 -1
- package/dist/sdk/{email-frontend-ECHQCFTR.mjs → email-frontend-JE7H3LBC.mjs} +2 -2
- package/dist/sdk/failure-condition-evaluator-7WHZUYDC.mjs +18 -0
- package/dist/sdk/github-frontend-RGK4DPRI.mjs +1394 -0
- package/dist/sdk/github-frontend-RGK4DPRI.mjs.map +1 -0
- package/dist/sdk/{host-RM6UJEPP.mjs → host-UZESVA6Z.mjs} +8 -8
- package/dist/sdk/{host-OJSMCLKK.mjs → host-YWXWROIE.mjs} +6 -6
- package/dist/sdk/oauth2-token-cache-OS7WHLDI.mjs +13 -0
- package/dist/sdk/{routing-NNQQSLWA.mjs → routing-PHHRW2C7.mjs} +2 -2
- package/dist/sdk/routing-TYXT3STD.mjs +26 -0
- package/dist/sdk/{schedule-tool-7IQI6MID.mjs → schedule-tool-ITD445EO.mjs} +5 -5
- package/dist/sdk/{schedule-tool-25C5NMDG.mjs → schedule-tool-ODMIDBMT.mjs} +14 -11
- package/dist/sdk/{schedule-tool-handler-IYBNJLTV.mjs → schedule-tool-handler-5WPHFBOG.mjs} +5 -5
- package/dist/sdk/{schedule-tool-handler-VWGTVSB6.mjs → schedule-tool-handler-IQSKBFLS.mjs} +14 -11
- package/dist/sdk/schedule-tool-handler-IQSKBFLS.mjs.map +1 -0
- package/dist/sdk/sdk.d.mts +14 -2
- package/dist/sdk/sdk.d.ts +14 -2
- package/dist/sdk/sdk.js +1926 -642
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +13 -10
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/sdk/session-registry-CENXWIFR.mjs +12 -0
- package/dist/sdk/session-registry-CENXWIFR.mjs.map +1 -0
- package/dist/sdk/{slack-frontend-K3TPGERM.mjs → slack-frontend-H7PX5GE7.mjs} +2 -2
- package/dist/sdk/slack-frontend-JMX5MUVZ.mjs +1015 -0
- package/dist/sdk/slack-frontend-JMX5MUVZ.mjs.map +1 -0
- package/dist/sdk/task-evaluator-4QG4CYQA.mjs +264 -0
- package/dist/sdk/task-evaluator-4QG4CYQA.mjs.map +1 -0
- package/dist/sdk/teams-frontend-6MDAN7OR.mjs +355 -0
- package/dist/sdk/teams-frontend-6MDAN7OR.mjs.map +1 -0
- package/dist/sdk/{teams-frontend-6RRW533K.mjs → teams-frontend-HCT4MTY4.mjs} +2 -2
- package/dist/sdk/telegram-frontend-NLX2ZHS4.mjs +599 -0
- package/dist/sdk/telegram-frontend-NLX2ZHS4.mjs.map +1 -0
- package/dist/sdk/{telegram-frontend-5UA77YAT.mjs → telegram-frontend-YQRYDKPN.mjs} +2 -2
- package/dist/sdk/trace-helpers-AM2QE5UZ.mjs +31 -0
- package/dist/sdk/trace-helpers-AM2QE5UZ.mjs.map +1 -0
- package/dist/sdk/trace-serializer-4TOIAVQL.mjs +32 -0
- package/dist/sdk/trace-serializer-4TOIAVQL.mjs.map +1 -0
- package/dist/sdk/{track-execution-3CHMGEPH.mjs → track-execution-BULXL2XD.mjs} +2 -2
- package/dist/sdk/track-execution-VJJVJH6K.mjs +320 -0
- package/dist/sdk/track-execution-VJJVJH6K.mjs.map +1 -0
- package/dist/sdk/utcp-check-provider-WDTSQ7DZ.mjs +17 -0
- package/dist/sdk/utcp-check-provider-WDTSQ7DZ.mjs.map +1 -0
- package/dist/sdk/whatsapp-frontend-3EMMNC7R.mjs +451 -0
- package/dist/sdk/whatsapp-frontend-3EMMNC7R.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-FOWDJUO3.mjs → workflow-check-provider-OVZDCL4E.mjs} +5 -5
- package/dist/sdk/workflow-check-provider-OVZDCL4E.mjs.map +1 -0
- package/dist/sdk/{workflow-check-provider-MRP3C2NC.mjs → workflow-check-provider-XOWQYWTC.mjs} +14 -11
- package/dist/sdk/workflow-check-provider-XOWQYWTC.mjs.map +1 -0
- package/dist/session-registry.d.ts +2 -7
- package/dist/session-registry.d.ts.map +1 -1
- package/dist/slack/client.d.ts +8 -0
- package/dist/slack/client.d.ts.map +1 -1
- package/dist/slack/markdown.d.ts.map +1 -1
- package/dist/slack/slack-output-adapter.d.ts.map +1 -1
- package/dist/slack/socket-runner.d.ts +1 -0
- package/dist/slack/socket-runner.d.ts.map +1 -1
- package/dist/state-machine/dispatch/debounce-manager.d.ts +44 -0
- package/dist/state-machine/dispatch/debounce-manager.d.ts.map +1 -0
- package/dist/state-machine/states/level-dispatch.d.ts.map +1 -1
- package/dist/state-machine-execution-engine.d.ts +1 -0
- package/dist/state-machine-execution-engine.d.ts.map +1 -1
- package/dist/teams/webhook-runner.d.ts +1 -0
- package/dist/teams/webhook-runner.d.ts.map +1 -1
- package/dist/telegram/polling-runner.d.ts +1 -0
- package/dist/telegram/polling-runner.d.ts.map +1 -1
- package/dist/types/config.d.ts +14 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/child-process-error-handler.d.ts +19 -0
- package/dist/utils/child-process-error-handler.d.ts.map +1 -0
- package/dist/utils/user-facing-error.d.ts +4 -0
- package/dist/utils/user-facing-error.d.ts.map +1 -0
- package/dist/utils/workspace-manager.d.ts +5 -0
- package/dist/utils/workspace-manager.d.ts.map +1 -1
- package/dist/utils/worktree-cleanup.d.ts +28 -0
- package/dist/utils/worktree-cleanup.d.ts.map +1 -1
- package/dist/utils/worktree-manager.d.ts +6 -0
- package/dist/utils/worktree-manager.d.ts.map +1 -1
- package/dist/whatsapp/webhook-runner.d.ts +1 -0
- package/dist/whatsapp/webhook-runner.d.ts.map +1 -1
- package/dist/workflow-executor.d.ts +7 -0
- package/dist/workflow-executor.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/sdk/chunk-LWH6CVLZ.mjs.map +0 -1
- package/dist/sdk/chunk-YBXNG75V.mjs.map +0 -1
- package/dist/sdk/dist-PN5UHL6A.mjs.map +0 -1
- /package/dist/sdk/{a2a-frontend-OI4OVSKC.mjs.map → a2a-frontend-QVKJ7MVW.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-7T2AEWLU.mjs.map → check-provider-registry-IGNTM4MW.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-TQR32QBD.mjs.map → check-provider-registry-QUUL6JI2.mjs.map} +0 -0
- /package/dist/sdk/{chunk-UM7LGO2P.mjs.map → chunk-BBLBZVWC.mjs.map} +0 -0
- /package/dist/sdk/{chunk-TAOGXCWT.mjs.map → chunk-HMVD3AEC.mjs.map} +0 -0
- /package/dist/sdk/{config-BCYAVJ5S.mjs.map → config-BI5ZXG6D.mjs.map} +0 -0
- /package/dist/sdk/{config-TVU5RWR5.mjs.map → config-H5IOLBFA.mjs.map} +0 -0
- /package/dist/sdk/{email-frontend-6JU4L33L.mjs.map → email-frontend-JE7H3LBC.mjs.map} +0 -0
- /package/dist/sdk/{routing-NNQQSLWA.mjs.map → failure-condition-evaluator-7WHZUYDC.mjs.map} +0 -0
- /package/dist/sdk/{host-OJSMCLKK.mjs.map → host-UZESVA6Z.mjs.map} +0 -0
- /package/dist/sdk/{host-RM6UJEPP.mjs.map → host-YWXWROIE.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-25C5NMDG.mjs.map → oauth2-token-cache-OS7WHLDI.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-7IQI6MID.mjs.map → routing-PHHRW2C7.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-IYBNJLTV.mjs.map → routing-TYXT3STD.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-VWGTVSB6.mjs.map → schedule-tool-ITD445EO.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-FOWDJUO3.mjs.map → schedule-tool-ODMIDBMT.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-MRP3C2NC.mjs.map → schedule-tool-handler-5WPHFBOG.mjs.map} +0 -0
- /package/dist/sdk/{slack-frontend-K3TPGERM.mjs.map → slack-frontend-H7PX5GE7.mjs.map} +0 -0
- /package/dist/sdk/{teams-frontend-6RRW533K.mjs.map → teams-frontend-HCT4MTY4.mjs.map} +0 -0
- /package/dist/sdk/{telegram-frontend-5UA77YAT.mjs.map → telegram-frontend-YQRYDKPN.mjs.map} +0 -0
- /package/dist/sdk/{track-execution-3CHMGEPH.mjs.map → track-execution-BULXL2XD.mjs.map} +0 -0
package/dist/sdk/sdk.mjs
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
StateMachineExecutionEngine,
|
|
3
3
|
init_state_machine_execution_engine
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-HQCCT6WP.mjs";
|
|
5
5
|
import "./chunk-YSOIR46P.mjs";
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-QT766ZLD.mjs";
|
|
7
|
+
import "./chunk-2LLKENYD.mjs";
|
|
8
|
+
import "./chunk-TL3ZTYFY.mjs";
|
|
9
|
+
import "./chunk-PGBV3VZB.mjs";
|
|
10
|
+
import "./chunk-HW4MPCOW.mjs";
|
|
11
|
+
import "./chunk-7QI6F66G.mjs";
|
|
9
12
|
import "./chunk-VPPBOKBQ.mjs";
|
|
10
13
|
import "./chunk-B7BVQM5K.mjs";
|
|
11
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-77AKSSW2.mjs";
|
|
12
15
|
import "./chunk-ZNKL6ESZ.mjs";
|
|
13
16
|
import "./chunk-4ZLYHSN4.mjs";
|
|
14
17
|
import {
|
|
15
18
|
ConfigManager,
|
|
16
19
|
init_config
|
|
17
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-YTG5DN72.mjs";
|
|
18
21
|
import "./chunk-KWTCTEFT.mjs";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-BBLBZVWC.mjs";
|
|
23
|
+
import "./chunk-PZADRRLX.mjs";
|
|
24
|
+
import "./chunk-ZCBVXBKG.mjs";
|
|
25
|
+
import "./chunk-6LQEODDA.mjs";
|
|
23
26
|
import "./chunk-FWWLD555.mjs";
|
|
24
27
|
import "./chunk-4HIWZA6M.mjs";
|
|
25
28
|
import "./chunk-25IC7KXZ.mjs";
|
package/dist/sdk/sdk.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/sdk.ts"],"sourcesContent":["/*\n Thin SDK façade for programmatic use of Visor.\n - No new execution logic; delegates to existing engine and config manager.\n - Dual ESM/CJS bundle via tsup.\n*/\n\nimport { StateMachineExecutionEngine } from './state-machine-execution-engine';\nimport { ConfigManager } from './config';\nimport type { AnalysisResult } from './output-formatters';\nimport type { VisorConfig, TagFilter, HumanInputRequest } from './types/config';\nimport type { ExecutionContext } from './providers/check-provider.interface';\n\nexport type { VisorConfig, TagFilter, HumanInputRequest, ExecutionContext };\n\nexport interface VisorOptions {\n cwd?: string;\n debug?: boolean;\n maxParallelism?: number;\n failFast?: boolean;\n tagFilter?: TagFilter;\n}\n\nexport interface RunOptions extends VisorOptions {\n config?: VisorConfig;\n configPath?: string;\n checks?: string[]; // default: all checks from config\n timeoutMs?: number;\n output?: { format?: 'table' | 'json' | 'markdown' | 'sarif' };\n /** Strict mode: treat config warnings (like unknown keys) as errors (default: false) */\n strictValidation?: boolean;\n /** Execution context for providers (CLI message, hooks, etc.) */\n executionContext?: ExecutionContext;\n}\n\n/**\n * Load and validate a Visor config.\n * @param configOrPath - Config object, file path, or omit to discover defaults\n * @param options - Validation options\n * @returns Validated config with defaults applied\n */\nexport async function loadConfig(\n configOrPath?: string | Partial<VisorConfig>,\n options?: { strict?: boolean }\n): Promise<VisorConfig> {\n const cm = new ConfigManager();\n\n // If it's an object, validate and return with defaults\n if (typeof configOrPath === 'object' && configOrPath !== null) {\n cm.validateConfig(configOrPath, options?.strict ?? false);\n\n // Apply lightweight defaults without expensive file system operations\n const defaultConfig: Partial<VisorConfig> = {\n version: '1.0',\n checks: {},\n max_parallelism: 3,\n fail_fast: false,\n };\n\n return {\n ...defaultConfig,\n ...configOrPath,\n checks: configOrPath.checks || {},\n } as VisorConfig;\n }\n\n // If it's a string, load from file\n if (typeof configOrPath === 'string') {\n return cm.loadConfig(configOrPath);\n }\n\n // Otherwise discover default config file\n return cm.findAndLoadConfig();\n}\n\n/** Expand check IDs by including their dependencies (shallow->deep). */\nexport function resolveChecks(checkIds: string[], config: VisorConfig | undefined): string[] {\n if (!config?.checks) return Array.from(new Set(checkIds));\n const resolved = new Set<string>();\n const visiting = new Set<string>();\n const result: string[] = [];\n\n const dfs = (id: string, stack: string[] = []) => {\n if (resolved.has(id)) return;\n if (visiting.has(id)) {\n const cycle = [...stack, id].join(' -> ');\n throw new Error(`Circular dependency detected involving check: ${id} (path: ${cycle})`);\n }\n visiting.add(id);\n const deps = config.checks![id]?.depends_on || [];\n for (const d of deps) dfs(d, [...stack, id]);\n if (!result.includes(id)) result.push(id);\n visiting.delete(id);\n resolved.add(id);\n };\n\n for (const id of checkIds) dfs(id);\n return result;\n}\n\n/**\n * Run Visor checks programmatically. Returns the same AnalysisResult shape used by the CLI.\n * Thin wrapper around CheckExecutionEngine.executeChecks.\n */\nexport async function runChecks(opts: RunOptions = {}): Promise<AnalysisResult> {\n const cm = new ConfigManager();\n let config: VisorConfig;\n\n if (opts.config) {\n // Validate manually constructed config\n // In strict mode, unknown keys are treated as errors\n cm.validateConfig(opts.config, opts.strictValidation ?? false);\n config = opts.config;\n } else if (opts.configPath) {\n config = await cm.loadConfig(opts.configPath);\n } else {\n config = await cm.findAndLoadConfig();\n }\n\n const checks =\n opts.checks && opts.checks.length > 0\n ? resolveChecks(opts.checks, config)\n : Object.keys(config.checks || {});\n\n // Always use StateMachineExecutionEngine\n const engine = new StateMachineExecutionEngine(opts.cwd);\n\n // Set execution context if provided\n if (opts.executionContext) {\n engine.setExecutionContext(opts.executionContext);\n }\n\n const result = await engine.executeChecks({\n checks,\n workingDirectory: opts.cwd,\n timeout: opts.timeoutMs,\n maxParallelism: opts.maxParallelism,\n failFast: opts.failFast,\n outputFormat: opts.output?.format,\n config,\n debug: opts.debug,\n tagFilter: opts.tagFilter,\n });\n\n return result;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/sdk.ts"],"sourcesContent":["/*\n Thin SDK façade for programmatic use of Visor.\n - No new execution logic; delegates to existing engine and config manager.\n - Dual ESM/CJS bundle via tsup.\n*/\n\nimport { StateMachineExecutionEngine } from './state-machine-execution-engine';\nimport { ConfigManager } from './config';\nimport type { AnalysisResult } from './output-formatters';\nimport type { VisorConfig, TagFilter, HumanInputRequest } from './types/config';\nimport type { ExecutionContext } from './providers/check-provider.interface';\n\nexport type { VisorConfig, TagFilter, HumanInputRequest, ExecutionContext };\n\nexport interface VisorOptions {\n cwd?: string;\n debug?: boolean;\n maxParallelism?: number;\n failFast?: boolean;\n tagFilter?: TagFilter;\n}\n\nexport interface RunOptions extends VisorOptions {\n config?: VisorConfig;\n configPath?: string;\n checks?: string[]; // default: all checks from config\n timeoutMs?: number;\n output?: { format?: 'table' | 'json' | 'markdown' | 'sarif' };\n /** Strict mode: treat config warnings (like unknown keys) as errors (default: false) */\n strictValidation?: boolean;\n /** Execution context for providers (CLI message, hooks, etc.) */\n executionContext?: ExecutionContext;\n}\n\n/**\n * Load and validate a Visor config.\n * @param configOrPath - Config object, file path, or omit to discover defaults\n * @param options - Validation options\n * @returns Validated config with defaults applied\n */\nexport async function loadConfig(\n configOrPath?: string | Partial<VisorConfig>,\n options?: { strict?: boolean }\n): Promise<VisorConfig> {\n const cm = new ConfigManager();\n\n // If it's an object, validate and return with defaults\n if (typeof configOrPath === 'object' && configOrPath !== null) {\n cm.validateConfig(configOrPath, options?.strict ?? false);\n\n // Apply lightweight defaults without expensive file system operations\n const defaultConfig: Partial<VisorConfig> = {\n version: '1.0',\n checks: {},\n max_parallelism: 3,\n fail_fast: false,\n };\n\n return {\n ...defaultConfig,\n ...configOrPath,\n checks: configOrPath.checks || {},\n } as VisorConfig;\n }\n\n // If it's a string, load from file\n if (typeof configOrPath === 'string') {\n return cm.loadConfig(configOrPath);\n }\n\n // Otherwise discover default config file\n return cm.findAndLoadConfig();\n}\n\n/** Expand check IDs by including their dependencies (shallow->deep). */\nexport function resolveChecks(checkIds: string[], config: VisorConfig | undefined): string[] {\n if (!config?.checks) return Array.from(new Set(checkIds));\n const resolved = new Set<string>();\n const visiting = new Set<string>();\n const result: string[] = [];\n\n const dfs = (id: string, stack: string[] = []) => {\n if (resolved.has(id)) return;\n if (visiting.has(id)) {\n const cycle = [...stack, id].join(' -> ');\n throw new Error(`Circular dependency detected involving check: ${id} (path: ${cycle})`);\n }\n visiting.add(id);\n const deps = config.checks![id]?.depends_on || [];\n for (const d of deps) dfs(d, [...stack, id]);\n if (!result.includes(id)) result.push(id);\n visiting.delete(id);\n resolved.add(id);\n };\n\n for (const id of checkIds) dfs(id);\n return result;\n}\n\n/**\n * Run Visor checks programmatically. Returns the same AnalysisResult shape used by the CLI.\n * Thin wrapper around CheckExecutionEngine.executeChecks.\n */\nexport async function runChecks(opts: RunOptions = {}): Promise<AnalysisResult> {\n const cm = new ConfigManager();\n let config: VisorConfig;\n\n if (opts.config) {\n // Validate manually constructed config\n // In strict mode, unknown keys are treated as errors\n cm.validateConfig(opts.config, opts.strictValidation ?? false);\n config = opts.config;\n } else if (opts.configPath) {\n config = await cm.loadConfig(opts.configPath);\n } else {\n config = await cm.findAndLoadConfig();\n }\n\n const checks =\n opts.checks && opts.checks.length > 0\n ? resolveChecks(opts.checks, config)\n : Object.keys(config.checks || {});\n\n // Always use StateMachineExecutionEngine\n const engine = new StateMachineExecutionEngine(opts.cwd);\n\n // Set execution context if provided\n if (opts.executionContext) {\n engine.setExecutionContext(opts.executionContext);\n }\n\n const result = await engine.executeChecks({\n checks,\n workingDirectory: opts.cwd,\n timeout: opts.timeoutMs,\n maxParallelism: opts.maxParallelism,\n failFast: opts.failFast,\n outputFormat: opts.output?.format,\n config,\n debug: opts.debug,\n tagFilter: opts.tagFilter,\n });\n\n return result;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;AACA;AAiCA,eAAsB,WACpB,cACA,SACsB;AACtB,QAAM,KAAK,IAAI,cAAc;AAG7B,MAAI,OAAO,iBAAiB,YAAY,iBAAiB,MAAM;AAC7D,OAAG,eAAe,cAAc,SAAS,UAAU,KAAK;AAGxD,UAAM,gBAAsC;AAAA,MAC1C,SAAS;AAAA,MACT,QAAQ,CAAC;AAAA,MACT,iBAAiB;AAAA,MACjB,WAAW;AAAA,IACb;AAEA,WAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,QAAQ,aAAa,UAAU,CAAC;AAAA,IAClC;AAAA,EACF;AAGA,MAAI,OAAO,iBAAiB,UAAU;AACpC,WAAO,GAAG,WAAW,YAAY;AAAA,EACnC;AAGA,SAAO,GAAG,kBAAkB;AAC9B;AAGO,SAAS,cAAc,UAAoB,QAA2C;AAC3F,MAAI,CAAC,QAAQ,OAAQ,QAAO,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC;AACxD,QAAM,WAAW,oBAAI,IAAY;AACjC,QAAM,WAAW,oBAAI,IAAY;AACjC,QAAM,SAAmB,CAAC;AAE1B,QAAM,MAAM,CAAC,IAAY,QAAkB,CAAC,MAAM;AAChD,QAAI,SAAS,IAAI,EAAE,EAAG;AACtB,QAAI,SAAS,IAAI,EAAE,GAAG;AACpB,YAAM,QAAQ,CAAC,GAAG,OAAO,EAAE,EAAE,KAAK,MAAM;AACxC,YAAM,IAAI,MAAM,iDAAiD,EAAE,WAAW,KAAK,GAAG;AAAA,IACxF;AACA,aAAS,IAAI,EAAE;AACf,UAAM,OAAO,OAAO,OAAQ,EAAE,GAAG,cAAc,CAAC;AAChD,eAAW,KAAK,KAAM,KAAI,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC;AAC3C,QAAI,CAAC,OAAO,SAAS,EAAE,EAAG,QAAO,KAAK,EAAE;AACxC,aAAS,OAAO,EAAE;AAClB,aAAS,IAAI,EAAE;AAAA,EACjB;AAEA,aAAW,MAAM,SAAU,KAAI,EAAE;AACjC,SAAO;AACT;AAMA,eAAsB,UAAU,OAAmB,CAAC,GAA4B;AAC9E,QAAM,KAAK,IAAI,cAAc;AAC7B,MAAI;AAEJ,MAAI,KAAK,QAAQ;AAGf,OAAG,eAAe,KAAK,QAAQ,KAAK,oBAAoB,KAAK;AAC7D,aAAS,KAAK;AAAA,EAChB,WAAW,KAAK,YAAY;AAC1B,aAAS,MAAM,GAAG,WAAW,KAAK,UAAU;AAAA,EAC9C,OAAO;AACL,aAAS,MAAM,GAAG,kBAAkB;AAAA,EACtC;AAEA,QAAM,SACJ,KAAK,UAAU,KAAK,OAAO,SAAS,IAChC,cAAc,KAAK,QAAQ,MAAM,IACjC,OAAO,KAAK,OAAO,UAAU,CAAC,CAAC;AAGrC,QAAM,SAAS,IAAI,4BAA4B,KAAK,GAAG;AAGvD,MAAI,KAAK,kBAAkB;AACzB,WAAO,oBAAoB,KAAK,gBAAgB;AAAA,EAClD;AAEA,QAAM,SAAS,MAAM,OAAO,cAAc;AAAA,IACxC;AAAA,IACA,kBAAkB,KAAK;AAAA,IACvB,SAAS,KAAK;AAAA,IACd,gBAAgB,KAAK;AAAA,IACrB,UAAU,KAAK;AAAA,IACf,cAAc,KAAK,QAAQ;AAAA,IAC3B;AAAA,IACA,OAAO,KAAK;AAAA,IACZ,WAAW,KAAK;AAAA,EAClB,CAAC;AAED,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
SessionRegistry,
|
|
3
|
+
init_session_registry
|
|
4
|
+
} from "./chunk-77AKSSW2.mjs";
|
|
5
|
+
import "./chunk-6E625R3C.mjs";
|
|
6
|
+
import "./chunk-B2OUZAWY.mjs";
|
|
7
|
+
import "./chunk-J7LXIPZS.mjs";
|
|
8
|
+
init_session_registry();
|
|
9
|
+
export {
|
|
10
|
+
SessionRegistry
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=session-registry-CENXWIFR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
init_task_live_updates,
|
|
3
3
|
isFrontendLiveUpdatesEnabled
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-D6O5SCPC.mjs";
|
|
5
5
|
import "./chunk-IY5PQ5EN.mjs";
|
|
6
6
|
import {
|
|
7
7
|
extractFileSections,
|
|
@@ -982,4 +982,4 @@ init_slack_frontend();
|
|
|
982
982
|
export {
|
|
983
983
|
SlackFrontend
|
|
984
984
|
};
|
|
985
|
-
//# sourceMappingURL=slack-frontend-
|
|
985
|
+
//# sourceMappingURL=slack-frontend-H7PX5GE7.mjs.map
|