@probelabs/visor 0.1.152-ee → 0.1.153-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/dist/config.d.ts.map +1 -1
- package/dist/docs/ai-configuration.md +4 -4
- package/dist/docs/sandbox-engines.md +53 -5
- package/dist/examples/ai-with-bash.yaml +2 -2
- package/dist/examples/sandbox-bind-paths.yaml +31 -0
- package/dist/examples/sandbox-host-workdir.yaml +27 -0
- package/dist/examples/workflow-sandbox.yaml +43 -0
- package/dist/generated/config-schema.d.ts +38 -8
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +40 -8
- package/dist/index.js +148 -36
- package/dist/sandbox/bubblewrap-sandbox.d.ts.map +1 -1
- package/dist/sandbox/check-runner.d.ts.map +1 -1
- package/dist/sandbox/docker-image-sandbox.d.ts.map +1 -1
- package/dist/sandbox/seatbelt-sandbox.d.ts.map +1 -1
- package/dist/sandbox/types.d.ts +13 -0
- package/dist/sandbox/types.d.ts.map +1 -1
- package/dist/scheduler/schedule-tool.d.ts +2 -0
- package/dist/scheduler/schedule-tool.d.ts.map +1 -1
- package/dist/sdk/{check-provider-registry-HR6YM5MI.mjs → check-provider-registry-XZE5PRSE.mjs} +3 -3
- package/dist/sdk/{check-provider-registry-QBURXJ6B.mjs → check-provider-registry-ZOGNKTC3.mjs} +3 -3
- package/dist/sdk/{chunk-FYK2DJK6.mjs → chunk-CPYQDJ27.mjs} +86 -26
- package/dist/sdk/chunk-CPYQDJ27.mjs.map +1 -0
- package/dist/sdk/{chunk-JRDGCUEG.mjs → chunk-DXNWUIAN.mjs} +130 -91
- package/dist/sdk/chunk-DXNWUIAN.mjs.map +1 -0
- package/dist/sdk/{chunk-QRR6OJQN.mjs → chunk-EYQWEVZF.mjs} +130 -91
- package/dist/sdk/chunk-EYQWEVZF.mjs.map +1 -0
- package/dist/sdk/{config-MTEIGCOQ.mjs → config-SW3VO4DQ.mjs} +2 -2
- package/dist/sdk/{schedule-tool-62XTFB6K.mjs → schedule-tool-74VMD77T.mjs} +3 -3
- package/dist/sdk/{schedule-tool-6NALFGQR.mjs → schedule-tool-WSZKJUNQ.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-5K275UT6.mjs → schedule-tool-handler-EOQBRZSD.mjs} +3 -3
- package/dist/sdk/{schedule-tool-handler-RLAKPPPX.mjs → schedule-tool-handler-Q7E5NBHS.mjs} +3 -3
- package/dist/sdk/sdk.d.mts +15 -2
- package/dist/sdk/sdk.d.ts +15 -2
- package/dist/sdk/sdk.js +209 -110
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +2 -2
- package/dist/sdk/{workflow-check-provider-6TEZHBZJ.mjs → workflow-check-provider-GIW4WECT.mjs} +3 -3
- package/dist/sdk/{workflow-check-provider-KG6IFH6W.mjs → workflow-check-provider-JHHACJHF.mjs} +3 -3
- package/dist/state-machine/workflow-projection.d.ts.map +1 -1
- package/dist/types/config.d.ts +2 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/workflow.d.ts +8 -0
- package/dist/types/workflow.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/sdk/chunk-FYK2DJK6.mjs.map +0 -1
- package/dist/sdk/chunk-JRDGCUEG.mjs.map +0 -1
- package/dist/sdk/chunk-QRR6OJQN.mjs.map +0 -1
- /package/dist/sdk/{check-provider-registry-HR6YM5MI.mjs.map → check-provider-registry-XZE5PRSE.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-QBURXJ6B.mjs.map → check-provider-registry-ZOGNKTC3.mjs.map} +0 -0
- /package/dist/sdk/{config-MTEIGCOQ.mjs.map → config-SW3VO4DQ.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-62XTFB6K.mjs.map → schedule-tool-74VMD77T.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-6NALFGQR.mjs.map → schedule-tool-WSZKJUNQ.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-5K275UT6.mjs.map → schedule-tool-handler-EOQBRZSD.mjs.map} +0 -0
- /package/dist/sdk/{schedule-tool-handler-RLAKPPPX.mjs.map → schedule-tool-handler-Q7E5NBHS.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-6TEZHBZJ.mjs.map → workflow-check-provider-GIW4WECT.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-KG6IFH6W.mjs.map → workflow-check-provider-JHHACJHF.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
process.env.VISOR_VERSION = '0.1.
|
|
2
|
+
process.env.VISOR_VERSION = '0.1.153';
|
|
3
3
|
process.env.PROBE_VERSION = '0.6.0-rc269';
|
|
4
|
-
process.env.VISOR_COMMIT_SHA = '
|
|
5
|
-
process.env.VISOR_COMMIT_SHORT = '
|
|
4
|
+
process.env.VISOR_COMMIT_SHA = '812209528637eae4c9bc2358354377275099850f';
|
|
5
|
+
process.env.VISOR_COMMIT_SHORT = '8122095';
|
|
6
6
|
/******/ (() => { // webpackBootstrap
|
|
7
7
|
/******/ var __webpack_modules__ = ({
|
|
8
8
|
|
|
@@ -164503,7 +164503,6 @@ class ConfigManager {
|
|
|
164503
164503
|
['compose', config.compose],
|
|
164504
164504
|
['service', config.service],
|
|
164505
164505
|
['cache', config.cache],
|
|
164506
|
-
['visor_path', config.visor_path],
|
|
164507
164506
|
['resources', config.resources],
|
|
164508
164507
|
];
|
|
164509
164508
|
for (const [field, value] of dockerOnlyFields) {
|
|
@@ -164554,21 +164553,6 @@ class ConfigManager {
|
|
|
164554
164553
|
message: `Compose file path '${config.compose}' in sandbox '${name}' must not contain '..' path traversal`,
|
|
164555
164554
|
});
|
|
164556
164555
|
}
|
|
164557
|
-
// Validate visor_path
|
|
164558
|
-
if (config.visor_path) {
|
|
164559
|
-
if (!config.visor_path.startsWith('/')) {
|
|
164560
|
-
errors.push({
|
|
164561
|
-
field: `sandboxes.${name}.visor_path`,
|
|
164562
|
-
message: `visor_path '${config.visor_path}' in sandbox '${name}' must be an absolute path (start with /)`,
|
|
164563
|
-
});
|
|
164564
|
-
}
|
|
164565
|
-
if (/\.\./.test(config.visor_path)) {
|
|
164566
|
-
errors.push({
|
|
164567
|
-
field: `sandboxes.${name}.visor_path`,
|
|
164568
|
-
message: `visor_path '${config.visor_path}' in sandbox '${name}' must not contain '..' path traversal`,
|
|
164569
|
-
});
|
|
164570
|
-
}
|
|
164571
|
-
}
|
|
164572
164556
|
// Validate cache paths are absolute and safe
|
|
164573
164557
|
if (config.cache?.paths) {
|
|
164574
164558
|
for (const p of config.cache.paths) {
|
|
@@ -164600,11 +164584,26 @@ class ConfigManager {
|
|
|
164600
164584
|
}
|
|
164601
164585
|
}
|
|
164602
164586
|
// Common validations for all engines
|
|
164603
|
-
|
|
164587
|
+
// Validate visor_path
|
|
164588
|
+
if (config.visor_path) {
|
|
164589
|
+
if (!config.visor_path.startsWith('/')) {
|
|
164590
|
+
errors.push({
|
|
164591
|
+
field: `sandboxes.${name}.visor_path`,
|
|
164592
|
+
message: `visor_path '${config.visor_path}' in sandbox '${name}' must be an absolute path (start with /)`,
|
|
164593
|
+
});
|
|
164594
|
+
}
|
|
164595
|
+
if (/\.\./.test(config.visor_path)) {
|
|
164596
|
+
errors.push({
|
|
164597
|
+
field: `sandboxes.${name}.visor_path`,
|
|
164598
|
+
message: `visor_path '${config.visor_path}' in sandbox '${name}' must not contain '..' path traversal`,
|
|
164599
|
+
});
|
|
164600
|
+
}
|
|
164601
|
+
}
|
|
164602
|
+
if (config.workdir && config.workdir !== 'host') {
|
|
164604
164603
|
if (!config.workdir.startsWith('/')) {
|
|
164605
164604
|
errors.push({
|
|
164606
164605
|
field: `sandboxes.${name}.workdir`,
|
|
164607
|
-
message: `Workdir '${config.workdir}' in sandbox '${name}' must be an absolute path (start with /)`,
|
|
164606
|
+
message: `Workdir '${config.workdir}' in sandbox '${name}' must be an absolute path (start with /) or the literal "host"`,
|
|
164608
164607
|
});
|
|
164609
164608
|
}
|
|
164610
164609
|
if (/\.\./.test(config.workdir)) {
|
|
@@ -164614,6 +164613,38 @@ class ConfigManager {
|
|
|
164614
164613
|
});
|
|
164615
164614
|
}
|
|
164616
164615
|
}
|
|
164616
|
+
// Validate bind_paths
|
|
164617
|
+
if (config.bind_paths) {
|
|
164618
|
+
for (let i = 0; i < config.bind_paths.length; i++) {
|
|
164619
|
+
const bp = config.bind_paths[i];
|
|
164620
|
+
if (!bp.host) {
|
|
164621
|
+
errors.push({
|
|
164622
|
+
field: `sandboxes.${name}.bind_paths[${i}].host`,
|
|
164623
|
+
message: `bind_paths[${i}] in sandbox '${name}' is missing required 'host' field`,
|
|
164624
|
+
});
|
|
164625
|
+
}
|
|
164626
|
+
if (bp.host && /\.\./.test(bp.host)) {
|
|
164627
|
+
errors.push({
|
|
164628
|
+
field: `sandboxes.${name}.bind_paths[${i}].host`,
|
|
164629
|
+
message: `bind_paths[${i}].host '${bp.host}' in sandbox '${name}' must not contain '..' path traversal`,
|
|
164630
|
+
});
|
|
164631
|
+
}
|
|
164632
|
+
if (bp.container) {
|
|
164633
|
+
if (!bp.container.startsWith('/')) {
|
|
164634
|
+
errors.push({
|
|
164635
|
+
field: `sandboxes.${name}.bind_paths[${i}].container`,
|
|
164636
|
+
message: `bind_paths[${i}].container '${bp.container}' in sandbox '${name}' must be an absolute path (start with /)`,
|
|
164637
|
+
});
|
|
164638
|
+
}
|
|
164639
|
+
if (/\.\./.test(bp.container)) {
|
|
164640
|
+
errors.push({
|
|
164641
|
+
field: `sandboxes.${name}.bind_paths[${i}].container`,
|
|
164642
|
+
message: `bind_paths[${i}].container '${bp.container}' in sandbox '${name}' must not contain '..' path traversal`,
|
|
164643
|
+
});
|
|
164644
|
+
}
|
|
164645
|
+
}
|
|
164646
|
+
}
|
|
164647
|
+
}
|
|
164617
164648
|
}
|
|
164618
164649
|
/**
|
|
164619
164650
|
* Validate individual check configuration
|
|
@@ -171965,7 +171996,7 @@ exports.configSchema = {
|
|
|
171965
171996
|
description: 'Arguments/inputs for the workflow',
|
|
171966
171997
|
},
|
|
171967
171998
|
overrides: {
|
|
171968
|
-
$ref: '#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-
|
|
171999
|
+
$ref: '#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13519-28113-src_types_config.ts-0-55265%3E%3E',
|
|
171969
172000
|
description: 'Override specific step configurations in the workflow',
|
|
171970
172001
|
},
|
|
171971
172002
|
output_mapping: {
|
|
@@ -171981,7 +172012,7 @@ exports.configSchema = {
|
|
|
171981
172012
|
description: 'Config file path - alternative to workflow ID (loads a Visor config file as workflow)',
|
|
171982
172013
|
},
|
|
171983
172014
|
workflow_overrides: {
|
|
171984
|
-
$ref: '#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-
|
|
172015
|
+
$ref: '#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13519-28113-src_types_config.ts-0-55265%3E%3E',
|
|
171985
172016
|
description: 'Alias for overrides - workflow step overrides (backward compatibility)',
|
|
171986
172017
|
},
|
|
171987
172018
|
ref: {
|
|
@@ -172402,11 +172433,11 @@ exports.configSchema = {
|
|
|
172402
172433
|
},
|
|
172403
172434
|
description: "Array of blocked command patterns (e.g., ['rm -rf', 'sudo'])",
|
|
172404
172435
|
},
|
|
172405
|
-
|
|
172436
|
+
disableDefaultAllow: {
|
|
172406
172437
|
type: 'boolean',
|
|
172407
172438
|
description: 'Disable default safe command list (use with caution)',
|
|
172408
172439
|
},
|
|
172409
|
-
|
|
172440
|
+
disableDefaultDeny: {
|
|
172410
172441
|
type: 'boolean',
|
|
172411
172442
|
description: 'Disable default dangerous command blocklist (use with extreme caution)',
|
|
172412
172443
|
},
|
|
@@ -172670,7 +172701,7 @@ exports.configSchema = {
|
|
|
172670
172701
|
description: 'Custom output name (defaults to workflow name)',
|
|
172671
172702
|
},
|
|
172672
172703
|
overrides: {
|
|
172673
|
-
$ref: '#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-
|
|
172704
|
+
$ref: '#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-13519-28113-src_types_config.ts-0-55265%3E%3E',
|
|
172674
172705
|
description: 'Step overrides',
|
|
172675
172706
|
},
|
|
172676
172707
|
output_mapping: {
|
|
@@ -172685,13 +172716,13 @@ exports.configSchema = {
|
|
|
172685
172716
|
'^x-': {},
|
|
172686
172717
|
},
|
|
172687
172718
|
},
|
|
172688
|
-
'Record<string,Partial<interface-src_types_config.ts-
|
|
172719
|
+
'Record<string,Partial<interface-src_types_config.ts-13519-28113-src_types_config.ts-0-55265>>': {
|
|
172689
172720
|
type: 'object',
|
|
172690
172721
|
additionalProperties: {
|
|
172691
|
-
$ref: '#/definitions/Partial%3Cinterface-src_types_config.ts-
|
|
172722
|
+
$ref: '#/definitions/Partial%3Cinterface-src_types_config.ts-13519-28113-src_types_config.ts-0-55265%3E',
|
|
172692
172723
|
},
|
|
172693
172724
|
},
|
|
172694
|
-
'Partial<interface-src_types_config.ts-
|
|
172725
|
+
'Partial<interface-src_types_config.ts-13519-28113-src_types_config.ts-0-55265>': {
|
|
172695
172726
|
type: 'object',
|
|
172696
172727
|
additionalProperties: false,
|
|
172697
172728
|
},
|
|
@@ -173398,6 +173429,13 @@ exports.configSchema = {
|
|
|
173398
173429
|
$ref: '#/definitions/SandboxCacheConfig',
|
|
173399
173430
|
description: 'Cache volume configuration',
|
|
173400
173431
|
},
|
|
173432
|
+
bind_paths: {
|
|
173433
|
+
type: 'array',
|
|
173434
|
+
items: {
|
|
173435
|
+
$ref: '#/definitions/SandboxBindPath',
|
|
173436
|
+
},
|
|
173437
|
+
description: 'Additional host paths to bind-mount into the sandbox',
|
|
173438
|
+
},
|
|
173401
173439
|
},
|
|
173402
173440
|
additionalProperties: false,
|
|
173403
173441
|
description: 'Configuration for a single sandbox environment',
|
|
@@ -173457,6 +173495,29 @@ exports.configSchema = {
|
|
|
173457
173495
|
'^x-': {},
|
|
173458
173496
|
},
|
|
173459
173497
|
},
|
|
173498
|
+
SandboxBindPath: {
|
|
173499
|
+
type: 'object',
|
|
173500
|
+
properties: {
|
|
173501
|
+
host: {
|
|
173502
|
+
type: 'string',
|
|
173503
|
+
description: 'Host path (supports ~ prefix for home directory)',
|
|
173504
|
+
},
|
|
173505
|
+
container: {
|
|
173506
|
+
type: 'string',
|
|
173507
|
+
description: 'Container path (defaults to resolved host path)',
|
|
173508
|
+
},
|
|
173509
|
+
read_only: {
|
|
173510
|
+
type: 'boolean',
|
|
173511
|
+
description: 'Mount as read-only (default: true)',
|
|
173512
|
+
},
|
|
173513
|
+
},
|
|
173514
|
+
required: ['host'],
|
|
173515
|
+
additionalProperties: false,
|
|
173516
|
+
description: 'Additional host path to bind-mount into the sandbox',
|
|
173517
|
+
patternProperties: {
|
|
173518
|
+
'^x-': {},
|
|
173519
|
+
},
|
|
173520
|
+
},
|
|
173460
173521
|
SandboxDefaults: {
|
|
173461
173522
|
type: 'object',
|
|
173462
173523
|
properties: {
|
|
@@ -192534,7 +192595,7 @@ class BubblewrapSandbox {
|
|
|
192534
192595
|
* Build the bwrap command-line arguments.
|
|
192535
192596
|
*/
|
|
192536
192597
|
buildArgs(options) {
|
|
192537
|
-
const workdir = this.config.workdir || '/workspace';
|
|
192598
|
+
const workdir = this.config.workdir === 'host' ? this.repoPath : this.config.workdir || '/workspace';
|
|
192538
192599
|
const args = [];
|
|
192539
192600
|
// Read-only system directories
|
|
192540
192601
|
args.push('--ro-bind', '/usr', '/usr');
|
|
@@ -192568,6 +192629,17 @@ class BubblewrapSandbox {
|
|
|
192568
192629
|
// Visor dist mount (read-only) — required for child visor process
|
|
192569
192630
|
const visorPath = this.config.visor_path || '/opt/visor';
|
|
192570
192631
|
args.push('--ro-bind', this.visorDistPath, visorPath);
|
|
192632
|
+
// Additional bind mounts
|
|
192633
|
+
if (this.config.bind_paths) {
|
|
192634
|
+
for (const bp of this.config.bind_paths) {
|
|
192635
|
+
const hostPath = bp.host.startsWith('~')
|
|
192636
|
+
? (0, path_1.resolve)((process.env.HOME || '/root') + bp.host.slice(1))
|
|
192637
|
+
: (0, path_1.resolve)(bp.host);
|
|
192638
|
+
const containerPath = bp.container || hostPath;
|
|
192639
|
+
const readOnly = bp.read_only !== false; // default true
|
|
192640
|
+
args.push(readOnly ? '--ro-bind' : '--bind', hostPath, containerPath);
|
|
192641
|
+
}
|
|
192642
|
+
}
|
|
192571
192643
|
// Working directory inside sandbox
|
|
192572
192644
|
args.push('--chdir', workdir);
|
|
192573
192645
|
// Namespace isolation
|
|
@@ -192902,7 +192974,9 @@ class CheckRunner {
|
|
|
192902
192974
|
// Filter environment variables
|
|
192903
192975
|
const env = (0, env_filter_1.filterEnvForSandbox)(checkConfig.env, process.env, sandboxConfig.env_passthrough, workspaceDefaults?.env_passthrough);
|
|
192904
192976
|
// Set up child trace file relay (skip for read-only sandboxes)
|
|
192905
|
-
const workdir = sandboxConfig.workdir
|
|
192977
|
+
const workdir = sandboxConfig.workdir === 'host'
|
|
192978
|
+
? sandboxManager.getRepoPath()
|
|
192979
|
+
: sandboxConfig.workdir || '/workspace';
|
|
192906
192980
|
let hostTracePath;
|
|
192907
192981
|
if (!sandboxConfig.read_only) {
|
|
192908
192982
|
const traceFileName = `.visor-trace-${(0, crypto_1.randomUUID)().slice(0, 8)}.ndjson`;
|
|
@@ -193247,7 +193321,7 @@ class DockerImageSandbox {
|
|
|
193247
193321
|
*/
|
|
193248
193322
|
async start() {
|
|
193249
193323
|
const image = await this.buildImageIfNeeded();
|
|
193250
|
-
const workdir = this.config.workdir || '/workspace';
|
|
193324
|
+
const workdir = this.config.workdir === 'host' ? this.repoPath : this.config.workdir || '/workspace';
|
|
193251
193325
|
const visorPath = this.config.visor_path || '/opt/visor';
|
|
193252
193326
|
const readOnlySuffix = this.config.read_only ? ':ro' : '';
|
|
193253
193327
|
const args = [
|
|
@@ -193278,6 +193352,17 @@ class DockerImageSandbox {
|
|
|
193278
193352
|
for (const mount of this.cacheVolumeMounts) {
|
|
193279
193353
|
args.push('-v', mount);
|
|
193280
193354
|
}
|
|
193355
|
+
// Additional bind mounts
|
|
193356
|
+
if (this.config.bind_paths) {
|
|
193357
|
+
for (const bp of this.config.bind_paths) {
|
|
193358
|
+
const hostPath = bp.host.startsWith('~')
|
|
193359
|
+
? (0, path_1.resolve)((process.env.HOME || '/root') + bp.host.slice(1))
|
|
193360
|
+
: (0, path_1.resolve)(bp.host);
|
|
193361
|
+
const containerPath = bp.container || hostPath;
|
|
193362
|
+
const readOnly = bp.read_only !== false; // default true
|
|
193363
|
+
args.push('-v', `${hostPath}:${containerPath}${readOnly ? ':ro' : ''}`);
|
|
193364
|
+
}
|
|
193365
|
+
}
|
|
193281
193366
|
// Image and keep-alive command
|
|
193282
193367
|
args.push(image, 'sleep', 'infinity');
|
|
193283
193368
|
logger_1.logger.info(`Starting sandbox container '${this.containerName}'`);
|
|
@@ -193778,6 +193863,20 @@ class SeatbeltSandbox {
|
|
|
193778
193863
|
// Visor dist read access — required for child visor process
|
|
193779
193864
|
const visorDistPath = this.escapePath(this.visorDistPath);
|
|
193780
193865
|
lines.push(`(allow file-read* (subpath "${visorDistPath}"))`);
|
|
193866
|
+
// Additional bind paths
|
|
193867
|
+
if (this.config.bind_paths) {
|
|
193868
|
+
for (const bp of this.config.bind_paths) {
|
|
193869
|
+
const hostPath = bp.host.startsWith('~')
|
|
193870
|
+
? (0, path_1.resolve)((process.env.HOME || '/root') + bp.host.slice(1))
|
|
193871
|
+
: (0, path_1.resolve)(bp.host);
|
|
193872
|
+
// Seatbelt operates on real host paths — container field is ignored
|
|
193873
|
+
const escapedPath = this.escapePath(hostPath);
|
|
193874
|
+
lines.push(`(allow file-read* (subpath "${escapedPath}"))`);
|
|
193875
|
+
if (bp.read_only === false) {
|
|
193876
|
+
lines.push(`(allow file-write* (subpath "${escapedPath}"))`);
|
|
193877
|
+
}
|
|
193878
|
+
}
|
|
193879
|
+
}
|
|
193781
193880
|
// Network access (unless explicitly disabled)
|
|
193782
193881
|
if (this.config.network !== false) {
|
|
193783
193882
|
lines.push('(allow network*)');
|
|
@@ -195910,14 +196009,15 @@ async function handleCreateTrigger(args, context, store) {
|
|
|
195910
196009
|
error: `Available workflows: ${context.availableWorkflows.slice(0, 5).join(', ')}${context.availableWorkflows.length > 5 ? '...' : ''}`,
|
|
195911
196010
|
};
|
|
195912
196011
|
}
|
|
195913
|
-
// Need at least one filter (channels, contains, or match)
|
|
196012
|
+
// Need at least one filter (channels, from, contains, or match)
|
|
195914
196013
|
if ((!args.trigger_channels || args.trigger_channels.length === 0) &&
|
|
196014
|
+
(!args.trigger_from || args.trigger_from.length === 0) &&
|
|
195915
196015
|
(!args.trigger_contains || args.trigger_contains.length === 0) &&
|
|
195916
196016
|
!args.trigger_match) {
|
|
195917
196017
|
return {
|
|
195918
196018
|
success: false,
|
|
195919
196019
|
message: 'Missing trigger filters',
|
|
195920
|
-
error: 'Please specify at least one filter: trigger_channels, trigger_contains, or trigger_match.',
|
|
196020
|
+
error: 'Please specify at least one filter: trigger_channels, trigger_from, trigger_contains, or trigger_match.',
|
|
195921
196021
|
};
|
|
195922
196022
|
}
|
|
195923
196023
|
// Check permissions for the workflow
|
|
@@ -195936,6 +196036,7 @@ async function handleCreateTrigger(args, context, store) {
|
|
|
195936
196036
|
creatorName: context.userName,
|
|
195937
196037
|
description: args.trigger_description,
|
|
195938
196038
|
channels: args.trigger_channels,
|
|
196039
|
+
fromUsers: args.trigger_from,
|
|
195939
196040
|
fromBots: args.trigger_from_bots ?? false,
|
|
195940
196041
|
contains: args.trigger_contains,
|
|
195941
196042
|
matchPattern: args.trigger_match,
|
|
@@ -195952,7 +196053,7 @@ async function handleCreateTrigger(args, context, store) {
|
|
|
195952
196053
|
|
|
195953
196054
|
**Workflow**: ${trigger.workflow}
|
|
195954
196055
|
**Channels**: ${trigger.channels?.join(', ') || 'all'}
|
|
195955
|
-
${trigger.contains?.length ? `**Contains**: ${trigger.contains.join(', ')}\n` : ''}${trigger.matchPattern ? `**Pattern**: /${trigger.matchPattern}/\n` : ''}${trigger.description ? `**Description**: ${trigger.description}\n` : ''}
|
|
196056
|
+
${trigger.fromUsers?.length ? `**From users**: ${trigger.fromUsers.join(', ')}\n` : ''}${trigger.contains?.length ? `**Contains**: ${trigger.contains.join(', ')}\n` : ''}${trigger.matchPattern ? `**Pattern**: /${trigger.matchPattern}/\n` : ''}${trigger.description ? `**Description**: ${trigger.description}\n` : ''}
|
|
195956
196057
|
ID: \`${trigger.id.substring(0, 8)}\``,
|
|
195957
196058
|
};
|
|
195958
196059
|
}
|
|
@@ -196096,7 +196197,7 @@ Slack messages in specific channels. Use the create_trigger, list_triggers, dele
|
|
|
196096
196197
|
actions for this. Message triggers fire workflows based on message content, channel, sender, and thread scope.
|
|
196097
196198
|
|
|
196098
196199
|
TRIGGER ACTIONS:
|
|
196099
|
-
- create_trigger: Create a new message trigger (requires workflow + at least one filter)
|
|
196200
|
+
- create_trigger: Create a new message trigger (requires workflow + at least one filter). Supports filtering by user IDs (trigger_from), channels, keywords, regex, and thread scope.
|
|
196100
196201
|
- list_triggers: Show user's message triggers
|
|
196101
196202
|
- delete_trigger: Remove a trigger by ID
|
|
196102
196203
|
- update_trigger: Enable/disable a trigger by ID
|
|
@@ -196193,6 +196294,9 @@ User: "cancel schedule abc123"
|
|
|
196193
196294
|
User: "watch #cicd for messages containing 'failed' and run %handle-cicd"
|
|
196194
196295
|
→ { "action": "create_trigger", "trigger_channels": ["C0CICD"], "trigger_contains": ["failed"], "workflow": "handle-cicd" }
|
|
196195
196296
|
|
|
196297
|
+
User: "trigger on each of my messages in this channel and run %auto-reply" (user ID is U3P2L4XNE)
|
|
196298
|
+
→ { "action": "create_trigger", "trigger_channels": ["C09V810NY6R"], "trigger_from": ["U3P2L4XNE"], "workflow": "auto-reply" }
|
|
196299
|
+
|
|
196196
196300
|
User: "list my message triggers"
|
|
196197
196301
|
→ { "action": "list_triggers" }
|
|
196198
196302
|
|
|
@@ -196274,6 +196378,11 @@ User: "disable trigger abc123"
|
|
|
196274
196378
|
items: { type: 'string' },
|
|
196275
196379
|
description: 'For create_trigger: Slack channel IDs to monitor (e.g., ["C0CICD"]). Supports wildcard suffix (e.g., "CENG*").',
|
|
196276
196380
|
},
|
|
196381
|
+
trigger_from: {
|
|
196382
|
+
type: 'array',
|
|
196383
|
+
items: { type: 'string' },
|
|
196384
|
+
description: 'For create_trigger: Slack user IDs to filter by. Only messages from these users will trigger the workflow. E.g., ["U3P2L4XNE"]. If omitted, messages from any user will trigger.',
|
|
196385
|
+
},
|
|
196277
196386
|
trigger_from_bots: {
|
|
196278
196387
|
type: 'boolean',
|
|
196279
196388
|
description: 'For create_trigger: allow bot messages to trigger (default: false)',
|
|
@@ -211006,6 +211115,9 @@ function projectWorkflowToGraph(workflow, workflowInputs, _parentCheckId) {
|
|
|
211006
211115
|
collapse: false,
|
|
211007
211116
|
},
|
|
211008
211117
|
},
|
|
211118
|
+
...(workflow.sandboxes && { sandboxes: workflow.sandboxes }),
|
|
211119
|
+
...(workflow.sandbox && { sandbox: workflow.sandbox }),
|
|
211120
|
+
...(workflow.sandbox_defaults && { sandbox_defaults: workflow.sandbox_defaults }),
|
|
211009
211121
|
};
|
|
211010
211122
|
if (logger_1.logger.isDebugEnabled?.()) {
|
|
211011
211123
|
logger_1.logger.debug(`[WorkflowProjection] Projected workflow '${workflow.id}' with ${Object.keys(checks).length} steps`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bubblewrap-sandbox.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/bubblewrap-sandbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhG,qBAAa,iBAAkB,YAAW,eAAe;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAOxF;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiCnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;OAEG;IACH,OAAO,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"bubblewrap-sandbox.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/bubblewrap-sandbox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhG,qBAAa,iBAAkB,YAAW,eAAe;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAOxF;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAiCnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;OAEG;IACH,OAAO,CAAC,SAAS;CAiFlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-runner.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/check-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAmCxC,qBAAa,WAAW;IACtB;;;;;;;;OAQG;WACU,QAAQ,CACnB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACjD,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"check-runner.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/check-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAmCxC,qBAAa,WAAW;IACtB;;;;;;;;OAQG;WACU,QAAQ,CACnB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACjD,OAAO,CAAC,aAAa,CAAC;CAsL1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker-image-sandbox.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/docker-image-sandbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhG,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAW;gBAGlC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,iBAAiB,GAAE,MAAM,EAAO;IAUlC;;OAEG;YACW,kBAAkB;IAgEhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"docker-image-sandbox.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/docker-image-sandbox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhG,qBAAa,kBAAmB,YAAW,eAAe;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAW;gBAGlC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,iBAAiB,GAAE,MAAM,EAAO;IAUlC;;OAEG;YACW,kBAAkB;IAgEhC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmE5B;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmCnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAgB5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seatbelt-sandbox.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/seatbelt-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhG,qBAAa,eAAgB,YAAW,eAAe;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IASxF;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,YAAY;
|
|
1
|
+
{"version":3,"file":"seatbelt-sandbox.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/seatbelt-sandbox.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhG,qBAAa,eAAgB,YAAW,eAAe;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;gBAElB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IASxF;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS5C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDnE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,YAAY;CA2ErB"}
|
package/dist/sandbox/types.d.ts
CHANGED
|
@@ -27,6 +27,17 @@ export interface SandboxResourceConfig {
|
|
|
27
27
|
/** CPU limit (e.g., 1.0, 0.5) */
|
|
28
28
|
cpu?: number;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Additional host path to bind-mount into the sandbox
|
|
32
|
+
*/
|
|
33
|
+
export interface SandboxBindPath {
|
|
34
|
+
/** Host path (supports ~ prefix for home directory) */
|
|
35
|
+
host: string;
|
|
36
|
+
/** Container path (defaults to resolved host path) */
|
|
37
|
+
container?: string;
|
|
38
|
+
/** Mount as read-only (default: true) */
|
|
39
|
+
read_only?: boolean;
|
|
40
|
+
}
|
|
30
41
|
/**
|
|
31
42
|
* Configuration for a single sandbox environment
|
|
32
43
|
*/
|
|
@@ -57,6 +68,8 @@ export interface SandboxConfig {
|
|
|
57
68
|
visor_path?: string;
|
|
58
69
|
/** Cache volume configuration */
|
|
59
70
|
cache?: SandboxCacheConfig;
|
|
71
|
+
/** Additional host paths to bind-mount into the sandbox */
|
|
72
|
+
bind_paths?: SandboxBindPath[];
|
|
60
73
|
}
|
|
61
74
|
/**
|
|
62
75
|
* Options for executing a command inside a sandbox
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mHAAmH;IACnH,MAAM,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;IAG9C,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,iCAAiC;IACjC,KAAK,CAAC,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/sandbox/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,8 @@ export interface ScheduleToolArgs {
|
|
|
40
40
|
schedule_id?: string;
|
|
41
41
|
/** For create_trigger: channel IDs to monitor */
|
|
42
42
|
trigger_channels?: string[];
|
|
43
|
+
/** For create_trigger: Slack user IDs to filter by (only trigger for these users) */
|
|
44
|
+
trigger_from?: string[];
|
|
43
45
|
/** For create_trigger: allow bot messages (default: false) */
|
|
44
46
|
trigger_from_bots?: boolean;
|
|
45
47
|
/** For create_trigger: keyword patterns (case-insensitive OR) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-tool.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/scheduler/schedule-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAiB,QAAQ,EAAyB,MAAM,kBAAkB,CAAC;AAiIlF;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,CAAC;AAErB;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;IAGvB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kFAAkF;IAClF,WAAW,CAAC,EAAE,UAAU,CAAC;IACzB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG1C,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,KAAK,CAAC;IACtD,qDAAqD;IACrD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,4DAA4D;IAC5D,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gDAAgD;IAChD,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0FD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CA2C7B;
|
|
1
|
+
{"version":3,"file":"schedule-tool.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/scheduler/schedule-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/{check-provider-registry-HR6YM5MI.mjs → check-provider-registry-XZE5PRSE.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckProviderRegistry,
|
|
3
3
|
init_check_provider_registry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DXNWUIAN.mjs";
|
|
5
5
|
import "./chunk-KFKHU6CM.mjs";
|
|
6
6
|
import "./chunk-M3BYMES6.mjs";
|
|
7
7
|
import "./chunk-LG4AUKHB.mjs";
|
|
@@ -9,7 +9,7 @@ import "./chunk-B7BVQM5K.mjs";
|
|
|
9
9
|
import "./chunk-XXAEN5KU.mjs";
|
|
10
10
|
import "./chunk-GEW6LS32.mjs";
|
|
11
11
|
import "./chunk-DNDS7R3N.mjs";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-CPYQDJ27.mjs";
|
|
13
13
|
import "./chunk-NCWIZVOT.mjs";
|
|
14
14
|
import "./chunk-ZCUGMT7X.mjs";
|
|
15
15
|
import "./chunk-WG7P66MJ.mjs";
|
|
@@ -26,4 +26,4 @@ init_check_provider_registry();
|
|
|
26
26
|
export {
|
|
27
27
|
CheckProviderRegistry
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=check-provider-registry-
|
|
29
|
+
//# sourceMappingURL=check-provider-registry-XZE5PRSE.mjs.map
|
package/dist/sdk/{check-provider-registry-QBURXJ6B.mjs → check-provider-registry-ZOGNKTC3.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckProviderRegistry,
|
|
3
3
|
init_check_provider_registry
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EYQWEVZF.mjs";
|
|
5
5
|
import "./chunk-KFKHU6CM.mjs";
|
|
6
6
|
import "./chunk-M3BYMES6.mjs";
|
|
7
7
|
import "./chunk-LG4AUKHB.mjs";
|
|
@@ -9,7 +9,7 @@ import "./chunk-B7BVQM5K.mjs";
|
|
|
9
9
|
import "./chunk-XXAEN5KU.mjs";
|
|
10
10
|
import "./chunk-GEW6LS32.mjs";
|
|
11
11
|
import "./chunk-DNDS7R3N.mjs";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-CPYQDJ27.mjs";
|
|
13
13
|
import "./chunk-NCWIZVOT.mjs";
|
|
14
14
|
import "./chunk-ZCUGMT7X.mjs";
|
|
15
15
|
import "./chunk-WG7P66MJ.mjs";
|
|
@@ -26,4 +26,4 @@ init_check_provider_registry();
|
|
|
26
26
|
export {
|
|
27
27
|
CheckProviderRegistry
|
|
28
28
|
};
|
|
29
|
-
//# sourceMappingURL=check-provider-registry-
|
|
29
|
+
//# sourceMappingURL=check-provider-registry-ZOGNKTC3.mjs.map
|