@sidequest/engine 1.9.0 → 1.11.0

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/engine.cjs CHANGED
@@ -3,14 +3,20 @@
3
3
  var backend = require('@sidequest/backend');
4
4
  var core = require('@sidequest/core');
5
5
  var child_process = require('child_process');
6
+ var fs = require('fs');
6
7
  var os = require('os');
8
+ var url = require('url');
7
9
  var util = require('util');
8
10
  var constants$1 = require('./constants.cjs');
9
11
  var constants = require('./job/constants.cjs');
10
12
  var cronRegistry = require('./job/cron-registry.cjs');
11
13
  var jobBuilder = require('./job/job-builder.cjs');
12
14
  var grantQueueConfig = require('./queue/grant-queue-config.cjs');
15
+ require('node:fs');
16
+ require('node:url');
13
17
  var shutdown = require('./utils/shutdown.cjs');
18
+ var manualLoader = require('./shared-runner/manual-loader.cjs');
19
+ require('piscina');
14
20
 
15
21
  /**
16
22
  * The main engine for managing job queues and workers in Sidequest.
@@ -83,10 +89,9 @@ class Engine {
83
89
  state: config?.queueDefaults?.state ?? backend.QUEUE_FALLBACK.state,
84
90
  },
85
91
  manualJobResolution: config?.manualJobResolution ?? false,
92
+ jobsFilePath: config?.jobsFilePath?.trim() ?? "",
86
93
  };
87
- if (this.config.maxConcurrentJobs !== undefined && this.config.maxConcurrentJobs < 1) {
88
- throw new Error(`Invalid "maxConcurrentJobs" value: must be at least 1.`);
89
- }
94
+ this.validateConfig();
90
95
  core.logger("Engine").debug(`Configuring Sidequest engine: ${util.inspect(this.config)}`);
91
96
  if (this.config.logger) {
92
97
  core.configureLogger(this.config.logger);
@@ -97,6 +102,41 @@ class Engine {
97
102
  }
98
103
  return this.config;
99
104
  }
105
+ /**
106
+ * Validates the engine configuration settings.
107
+ *
108
+ * This method also resolves the jobs file path to a file URL if manual job resolution is enabled.
109
+ *
110
+ * @throws {Error} When `maxConcurrentJobs` is defined but less than 1
111
+ * @throws {Error} When `manualJobResolution` is enabled but the specified `jobsFilePath` does not exist
112
+ * @throws {Error} When `manualJobResolution` is enabled but no jobs script can be found in parent directories
113
+ *
114
+ * @remarks
115
+ * - Ensures `maxConcurrentJobs` is at least 1 if specified
116
+ * - When `manualJobResolution` is enabled, validates that either:
117
+ * - A valid `jobsFilePath` exists and resolves it to an absolute URL
118
+ * - A sidequest jobs script can be found in parent directories
119
+ * - Logs the resolved jobs file path when using manual job resolution
120
+ */
121
+ validateConfig() {
122
+ if (this.config.maxConcurrentJobs !== undefined && this.config.maxConcurrentJobs < 1) {
123
+ throw new Error(`Invalid "maxConcurrentJobs" value: must be at least 1.`);
124
+ }
125
+ if (this.config.manualJobResolution) {
126
+ if (this.config.jobsFilePath) {
127
+ const scriptUrl = manualLoader.resolveScriptPath(this.config.jobsFilePath);
128
+ if (!fs.existsSync(url.fileURLToPath(scriptUrl))) {
129
+ throw new Error(`The specified jobsFilePath does not exist. Resolved to: ${scriptUrl}`);
130
+ }
131
+ core.logger("Engine").info(`Using manual jobs file at: ${this.config.jobsFilePath}`);
132
+ this.config.jobsFilePath = scriptUrl;
133
+ }
134
+ else {
135
+ // This should throw an error if not found
136
+ manualLoader.findSidequestJobsScriptInParentDirs();
137
+ }
138
+ }
139
+ }
100
140
  /**
101
141
  * Starts the Sidequest engine and worker process.
102
142
  * @param config Optional configuration object.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.cjs","sources":["../src/engine.ts"],"sourcesContent":[null],"names":["logger","cpus","MISC_FALLBACK","JOB_BUILDER_FALLBACK","QUEUE_FALLBACK","inspect","configureLogger","LazyBackend","grantQueueConfig","fork","DEFAULT_WORKER_PATH","gracefulShutdown","ScheduledJobRegistry","clearGracefulShutdown","JobBuilder"],"mappings":"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"}
1
+ {"version":3,"file":"engine.cjs","sources":["../src/engine.ts"],"sourcesContent":[null],"names":["logger","cpus","MISC_FALLBACK","JOB_BUILDER_FALLBACK","QUEUE_FALLBACK","inspect","configureLogger","LazyBackend","resolveScriptPath","existsSync","fileURLToPath","findSidequestJobsScriptInParentDirs","grantQueueConfig","fork","DEFAULT_WORKER_PATH","gracefulShutdown","ScheduledJobRegistry","clearGracefulShutdown","JobBuilder"],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -63,6 +63,23 @@ interface EngineConfig {
63
63
  * Defaults to `false`.
64
64
  */
65
65
  manualJobResolution?: boolean;
66
+ /**
67
+ * Optional path to the `sidequest.jobs.js` file when using manual job resolution.
68
+ * If not provided, the engine will search for `sidequest.jobs.js` starting from the current working directory
69
+ * and walking up through parent directories until it finds the file or reaches the root.
70
+ *
71
+ * This is useful if your `sidequest.jobs.js` file is located in a non-standard location
72
+ * or if you want to explicitly specify its path.
73
+ *
74
+ * This option will be resolved and changed at configuration time, and if the file does not exist,
75
+ * an error will be thrown.
76
+ *
77
+ * IMPORTANT: if a relative path is provided, it will be resolved relative to the file calling the engine or
78
+ * `Sidequest.configure()`, NOT the current working directory.
79
+ *
80
+ * If manualJobResolution === false, this option is ignored.
81
+ */
82
+ jobsFilePath?: string;
66
83
  }
67
84
  /**
68
85
  * Non-nullable version of the EngineConfig type.
@@ -104,6 +121,23 @@ declare class Engine {
104
121
  * @returns The resolved configuration.
105
122
  */
106
123
  configure(config?: EngineConfig): Promise<NonNullableEngineConfig>;
124
+ /**
125
+ * Validates the engine configuration settings.
126
+ *
127
+ * This method also resolves the jobs file path to a file URL if manual job resolution is enabled.
128
+ *
129
+ * @throws {Error} When `maxConcurrentJobs` is defined but less than 1
130
+ * @throws {Error} When `manualJobResolution` is enabled but the specified `jobsFilePath` does not exist
131
+ * @throws {Error} When `manualJobResolution` is enabled but no jobs script can be found in parent directories
132
+ *
133
+ * @remarks
134
+ * - Ensures `maxConcurrentJobs` is at least 1 if specified
135
+ * - When `manualJobResolution` is enabled, validates that either:
136
+ * - A valid `jobsFilePath` exists and resolves it to an absolute URL
137
+ * - A sidequest jobs script can be found in parent directories
138
+ * - Logs the resolved jobs file path when using manual job resolution
139
+ */
140
+ validateConfig(): void;
107
141
  /**
108
142
  * Starts the Sidequest engine and worker process.
109
143
  * @param config Optional configuration object.
package/dist/engine.js CHANGED
@@ -1,14 +1,20 @@
1
1
  import { QUEUE_FALLBACK, MISC_FALLBACK, LazyBackend } from '@sidequest/backend';
2
2
  import { logger, configureLogger } from '@sidequest/core';
3
3
  import { fork } from 'child_process';
4
+ import { existsSync } from 'fs';
4
5
  import { cpus } from 'os';
6
+ import { fileURLToPath } from 'url';
5
7
  import { inspect } from 'util';
6
8
  import { DEFAULT_WORKER_PATH } from './constants.js';
7
9
  import { JOB_BUILDER_FALLBACK } from './job/constants.js';
8
10
  import { ScheduledJobRegistry } from './job/cron-registry.js';
9
11
  import { JobBuilder } from './job/job-builder.js';
10
12
  import { grantQueueConfig } from './queue/grant-queue-config.js';
13
+ import 'node:fs';
14
+ import 'node:url';
11
15
  import { gracefulShutdown, clearGracefulShutdown } from './utils/shutdown.js';
16
+ import { resolveScriptPath, findSidequestJobsScriptInParentDirs } from './shared-runner/manual-loader.js';
17
+ import 'piscina';
12
18
 
13
19
  /**
14
20
  * The main engine for managing job queues and workers in Sidequest.
@@ -81,10 +87,9 @@ class Engine {
81
87
  state: config?.queueDefaults?.state ?? QUEUE_FALLBACK.state,
82
88
  },
83
89
  manualJobResolution: config?.manualJobResolution ?? false,
90
+ jobsFilePath: config?.jobsFilePath?.trim() ?? "",
84
91
  };
85
- if (this.config.maxConcurrentJobs !== undefined && this.config.maxConcurrentJobs < 1) {
86
- throw new Error(`Invalid "maxConcurrentJobs" value: must be at least 1.`);
87
- }
92
+ this.validateConfig();
88
93
  logger("Engine").debug(`Configuring Sidequest engine: ${inspect(this.config)}`);
89
94
  if (this.config.logger) {
90
95
  configureLogger(this.config.logger);
@@ -95,6 +100,41 @@ class Engine {
95
100
  }
96
101
  return this.config;
97
102
  }
103
+ /**
104
+ * Validates the engine configuration settings.
105
+ *
106
+ * This method also resolves the jobs file path to a file URL if manual job resolution is enabled.
107
+ *
108
+ * @throws {Error} When `maxConcurrentJobs` is defined but less than 1
109
+ * @throws {Error} When `manualJobResolution` is enabled but the specified `jobsFilePath` does not exist
110
+ * @throws {Error} When `manualJobResolution` is enabled but no jobs script can be found in parent directories
111
+ *
112
+ * @remarks
113
+ * - Ensures `maxConcurrentJobs` is at least 1 if specified
114
+ * - When `manualJobResolution` is enabled, validates that either:
115
+ * - A valid `jobsFilePath` exists and resolves it to an absolute URL
116
+ * - A sidequest jobs script can be found in parent directories
117
+ * - Logs the resolved jobs file path when using manual job resolution
118
+ */
119
+ validateConfig() {
120
+ if (this.config.maxConcurrentJobs !== undefined && this.config.maxConcurrentJobs < 1) {
121
+ throw new Error(`Invalid "maxConcurrentJobs" value: must be at least 1.`);
122
+ }
123
+ if (this.config.manualJobResolution) {
124
+ if (this.config.jobsFilePath) {
125
+ const scriptUrl = resolveScriptPath(this.config.jobsFilePath);
126
+ if (!existsSync(fileURLToPath(scriptUrl))) {
127
+ throw new Error(`The specified jobsFilePath does not exist. Resolved to: ${scriptUrl}`);
128
+ }
129
+ logger("Engine").info(`Using manual jobs file at: ${this.config.jobsFilePath}`);
130
+ this.config.jobsFilePath = scriptUrl;
131
+ }
132
+ else {
133
+ // This should throw an error if not found
134
+ findSidequestJobsScriptInParentDirs();
135
+ }
136
+ }
137
+ }
98
138
  /**
99
139
  * Starts the Sidequest engine and worker process.
100
140
  * @param config Optional configuration object.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sources":["../src/engine.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sources":["../src/engine.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ var EventEmitter = require('events');
5
5
  var util = require('util');
6
6
  var jobTransitioner = require('../job/job-transitioner.cjs');
7
7
  require('node:fs');
8
- require('node:path');
9
8
  require('node:url');
9
+ require('node:path');
10
10
  var runnerPool = require('../shared-runner/runner-pool.cjs');
11
11
 
12
12
  /**
@@ -3,8 +3,8 @@ import EventEmitter from 'events';
3
3
  import { inspect } from 'util';
4
4
  import { JobTransitioner } from '../job/job-transitioner.js';
5
5
  import 'node:fs';
6
- import 'node:path';
7
6
  import 'node:url';
7
+ import 'node:path';
8
8
  import { RunnerPool } from '../shared-runner/runner-pool.js';
9
9
 
10
10
  /**
package/dist/index.cjs CHANGED
@@ -38,6 +38,7 @@ exports.releaseStaleJobs = releaseStaleJobs.releaseStaleJobs;
38
38
  exports.run = runner;
39
39
  exports.MANUAL_SCRIPT_TAG = manualLoader.MANUAL_SCRIPT_TAG;
40
40
  exports.findSidequestJobsScriptInParentDirs = manualLoader.findSidequestJobsScriptInParentDirs;
41
+ exports.resolveScriptPath = manualLoader.resolveScriptPath;
41
42
  exports.RunnerPool = runnerPool.RunnerPool;
42
43
  exports.importSidequest = _import.importSidequest;
43
44
  exports.clearGracefulShutdown = shutdown.clearGracefulShutdown;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { cleanupFinishedJobs } from './routines/cleanup-finished-job.js';
12
12
  export { releaseStaleJobs } from './routines/release-stale-jobs.js';
13
13
  import * as runner from './shared-runner/runner.js';
14
14
  export { runner as run };
15
- export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs } from './shared-runner/manual-loader.js';
15
+ export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs, resolveScriptPath } from './shared-runner/manual-loader.js';
16
16
  export { RunnerPool } from './shared-runner/runner-pool.js';
17
17
  export { importSidequest } from './utils/import.js';
18
18
  export { clearGracefulShutdown, gracefulShutdown } from './utils/shutdown.js';
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ export { cleanupFinishedJobs } from './routines/cleanup-finished-job.js';
12
12
  export { releaseStaleJobs } from './routines/release-stale-jobs.js';
13
13
  import * as runner from './shared-runner/runner.js';
14
14
  export { runner as run };
15
- export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs } from './shared-runner/manual-loader.js';
15
+ export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs, resolveScriptPath } from './shared-runner/manual-loader.js';
16
16
  export { RunnerPool } from './shared-runner/runner-pool.js';
17
17
  export { importSidequest } from './utils/import.js';
18
18
  export { clearGracefulShutdown, gracefulShutdown } from './utils/shutdown.js';
@@ -3,6 +3,8 @@
3
3
  var core = require('@sidequest/core');
4
4
  var nodeCron = require('node-cron');
5
5
  var node_util = require('node:util');
6
+ require('node:fs');
7
+ require('node:url');
6
8
  var manualLoader = require('../shared-runner/manual-loader.cjs');
7
9
  require('piscina');
8
10
  require('../constants.cjs');
@@ -1 +1 @@
1
- {"version":3,"file":"job-builder.cjs","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":["JOB_BUILDER_FALLBACK","MANUAL_SCRIPT_TAG","UniquenessFactory","logger","inspect","ScheduledJobRegistry"],"mappings":"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"}
1
+ {"version":3,"file":"job-builder.cjs","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":["JOB_BUILDER_FALLBACK","MANUAL_SCRIPT_TAG","UniquenessFactory","logger","inspect","ScheduledJobRegistry"],"mappings":";;;;;;;;;;;;;AAkEA;;;AAGG;MACU,UAAU,CAAA;AAeT,IAAA,OAAA;AACA,IAAA,QAAA;AACA,IAAA,QAAA;AACA,IAAA,mBAAA;AAjBF,IAAA,eAAe;AACf,IAAA,SAAS;AACT,IAAA,UAAU;AACV,IAAA,gBAAgB;AAChB,IAAA,cAAc;AACd,IAAA,cAAc;AACd,IAAA,aAAa;AACb,IAAA,kBAAkB;AAE5B;;;AAGG;AACH,IAAA,WAAA,CACY,OAAgB,EAChB,QAAW,EACX,QAA6B,EAC7B,sBAAsB,KAAK,EAAA;QAH3B,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;AAE7B,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAIA,8BAAoB,CAAC,KAAM,CAAC;AAC/D,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAIA,8BAAoB,CAAC,WAAY,CAAC;AACjF,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAIA,8BAAoB,CAAC,WAAY,CAAC;AACjF,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAIA,8BAAoB,CAAC,OAAQ,CAAC;AACrE,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAIA,8BAAoB,CAAC,UAAW,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,GAAIA,8BAAoB,CAAC,eAAuD,CAAC;AAC3F,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAIA,8BAAoB,CAAC,UAAW,CAAC;AAC9E,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,IAAIA,8BAAoB,CAAC,eAAgB,CAAC;IAC/F;AAEA;;;;AAIG;IACH,IAAI,CAAC,GAAG,IAA8B,EAAA;AACpC,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,KAAK,CAAC,KAAa,EAAA;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,OAAO,CAAC,EAAU,EAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;;;AASG;AACH,IAAA,MAAM,CAAC,KAAsB,EAAA;AAC3B,QAAA,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;YAC9B,IAAI,KAAK,EAAE;AACT,gBAAA,MAAM,MAAM,GAAmB;AAC7B,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,QAAQ,EAAE,KAAK;iBAChB;AACD,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;YAChC;iBAAO;AACL,gBAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YACpC;QACF;aAAO;AACL,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE;gBAChB,IAAI,CAAC,gBAAgB,GAAG;AACtB,oBAAA,IAAI,EAAE,cAAc;oBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACJ;YACxB;iBAAO;AACL,gBAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAoB;YAC3F;QACF;AACA,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA;;;;AAIG;AACH,IAAA,WAAW,CAAC,KAAW,EAAA;AACrB,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3B,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;AAOG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,OAAO,IAAI;IACb;AAEA;;;;;;;AAOG;AACH,IAAA,eAAe,CAAC,KAAsB,EAAA;AACpC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;AAC/B,QAAA,OAAO,IAAI;IACb;AAEU,IAAA,MAAM,KAAK,CAAC,GAAG,IAAwC,EAAA;AAC/D,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,eAAgB,CAAC;AAEvD,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;;AAE7B,YAAA,MAAM,GAAG,CAAC,KAAK,EAAE;QACnB;aAAO;;;;YAIL,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,EAAEC,8BAAiB,EAAE,CAAC;QACnD;AAEA,QAAA,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,CAAA,sBAAA,EAAyB,GAAG,CAAC,SAAS,CAAA,8BAAA,CAAgC,CAAC;QACzF;AAEA,QAAA,MAAM,OAAO,GAAe;YAC1B,KAAK,EAAE,IAAI,CAAC,SAAU;YACtB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,KAAK,EAAE,GAAG,CAAC,SAAS;AACpB,YAAA,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,gBAAgB,EAAE,IAAI,CAAC,eAAgB;AACvC,YAAA,OAAO,EAAE,CAAC;YACV,YAAY,EAAE,IAAI,CAAC,cAAc;YACjC,YAAY,EAAE,IAAI,CAAC,cAAc;YACjC,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;YACxC,WAAW,EAAE,IAAI,CAAC,aAAa;YAC/B,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;SAC1C;AAED,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,MAAM,UAAU,GAAGC,sBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAClE,OAAO,CAAC,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,OAAkB,CAAC;AAC7D,YAAAC,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAA,IAAA,EAAO,OAAO,CAAC,KAAK,uBAAuB,OAAO,CAAC,aAAa,CAAA,CAAE,CAAC;QAChG;AAEA,QAAA,OAAO,OAAO;IAChB;AAEA;;;;AAIG;AACH,IAAA,MAAM,OAAO,CAAC,GAAG,IAAwC,EAAA;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AAEzC,QAAAA,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,cAAA,EAAiB,OAAO,CAAC,KAAK,CAAA,YAAA,EAAeC,iBAAO,CAAC,IAAI,CAAC;AAClC,4BAAA,EAAAA,iBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAE,CACxD;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;IAC3C;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACH,IAAA,MAAM,QAAQ,CAAC,cAAsB,EAAE,GAAG,IAAwC,EAAA;QAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,CAAA,CAAE,CAAC;QAC9D;;;;QAKA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;;;AAIzC,QAAA,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;AAEtB,QAAAD,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,eAAA,EAAkB,OAAO,CAAC,KAAK,gBAAgB,cAAc,CAAA,SAAA,EAAYC,iBAAO,CAAC,IAAI,CAAC,CAAA,EAAA,CAAI;YACxF,CAAA,kBAAA,EAAqBA,iBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA,CAAE,CACvD;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CACrC,cAAc,EACd,YAAW;YACT,MAAM,UAAU,GAAe,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;YACzDD,WAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CACxB,CAAA,uBAAA,EAA0B,UAAU,CAAC,KAAK,CAAA,IAAA,EAAO,UAAU,CAAC,YAAa,CAAC,WAAW,EAAE,CAAA,YAAA,EAAeC,iBAAO,CAAC,IAAI,CAAC,CAAA,CAAE,CACtH;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;AAC3C,QAAA,CAAC,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB;;AAGD,QAAAC,iCAAoB,CAAC,QAAQ,CAAC,aAAa,CAAC;AAE5C,QAAA,OAAO,aAAa;IACtB;AACD;;;;"}
@@ -1,6 +1,8 @@
1
1
  import { UniquenessFactory, logger } from '@sidequest/core';
2
2
  import nodeCron from 'node-cron';
3
3
  import { inspect } from 'node:util';
4
+ import 'node:fs';
5
+ import 'node:url';
4
6
  import { MANUAL_SCRIPT_TAG } from '../shared-runner/manual-loader.js';
5
7
  import 'piscina';
6
8
  import '../constants.js';
@@ -1 +1 @@
1
- {"version":3,"file":"job-builder.js","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-builder.js","sources":["../../src/job/job-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var core = require('@sidequest/core');
3
4
  var node_fs = require('node:fs');
4
5
  var node_path = require('node:path');
5
6
  var node_url = require('node:url');
@@ -29,7 +30,7 @@ const MANUAL_SCRIPT_TAG = "sidequest.jobs.js";
29
30
  * const packageFile = findFileInParentDirs("package.json", "/some/project/dir");
30
31
  * ```
31
32
  */
32
- function findSidequestJobsScriptInParentDirs(fileName = "sidequest.jobs.js", startDir = process.cwd()) {
33
+ function findSidequestJobsScriptInParentDirs(fileName = MANUAL_SCRIPT_TAG, startDir = process.cwd()) {
33
34
  if (!fileName.trim()) {
34
35
  throw new Error("fileName must be a non-empty string");
35
36
  }
@@ -56,7 +57,69 @@ function findSidequestJobsScriptInParentDirs(fileName = "sidequest.jobs.js", sta
56
57
  }
57
58
  throw new Error(`File "${fileName}" not found in "${startDir}" or any parent directory`);
58
59
  }
60
+ /**
61
+ * Resolves a script path to a file URL, handling various path formats and resolution strategies.
62
+ *
63
+ * This function attempts to resolve script paths in the following order:
64
+ * 1. If the path is already a valid URL, returns it as-is (for file: protocol URLs)
65
+ * 2. If the path is absolute, converts it directly to a file URL
66
+ * 3. If the path is relative, searches for the file in directories from the call stack,
67
+ * starting from the caller's directory and walking up the stack
68
+ *
69
+ * The stack-based resolution helps resolve relative paths based on the script's
70
+ * execution context rather than the current working directory.
71
+ *
72
+ * @param scriptPath - The script path to resolve. Can be a relative path, absolute path, or URL string.
73
+ * @returns The resolved file URL as a string
74
+ * @throws {Error} When scriptPath is empty or when the file cannot be found in any searched location
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * // Absolute path
79
+ * resolveScriptPath('/path/to/script.js') // Returns 'file:///path/to/script.js'
80
+ *
81
+ * // Relative path (searches based on call stack)
82
+ * resolveScriptPath('./script.js') // Returns file URL of script.js found in caller's directory
83
+ *
84
+ * // Already a URL
85
+ * resolveScriptPath('file:///path/to/script.js') // Returns 'file:///path/to/script.js'
86
+ * ```
87
+ */
88
+ function resolveScriptPath(scriptPath) {
89
+ scriptPath = scriptPath.trim();
90
+ if (!scriptPath) {
91
+ throw new Error("scriptPath must be a non-empty string");
92
+ }
93
+ // If the scriptPath is already a URL, return as is
94
+ try {
95
+ const url = new URL(scriptPath);
96
+ if (url.protocol === "file:") {
97
+ return url.href;
98
+ }
99
+ }
100
+ catch {
101
+ // Not a valid URL, proceed to resolve as file path
102
+ }
103
+ // If it's an absolute path, convert directly to file URL
104
+ if (node_path.isAbsolute(scriptPath)) {
105
+ return node_url.pathToFileURL(scriptPath).href;
106
+ }
107
+ // Otherwise, search in current and parent directories based on stack trace
108
+ // This helps in resolving relative paths based on where the script is executed
109
+ // rather than the current working directory
110
+ const err = new Error();
111
+ const stackFiles = core.parseStackTrace(err);
112
+ for (const file of stackFiles) {
113
+ const parentDir = node_path.dirname(file);
114
+ const resolvedPath = node_path.resolve(parentDir, scriptPath);
115
+ if (node_fs.existsSync(resolvedPath)) {
116
+ return node_url.pathToFileURL(resolvedPath).href;
117
+ }
118
+ }
119
+ throw new Error(`Unable to resolve script path: ${scriptPath}`);
120
+ }
59
121
 
60
122
  exports.MANUAL_SCRIPT_TAG = MANUAL_SCRIPT_TAG;
61
123
  exports.findSidequestJobsScriptInParentDirs = findSidequestJobsScriptInParentDirs;
124
+ exports.resolveScriptPath = resolveScriptPath;
62
125
  //# sourceMappingURL=manual-loader.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"manual-loader.cjs","sources":["../../src/shared-runner/manual-loader.ts"],"sourcesContent":[null],"names":["resolve","join","existsSync","pathToFileURL","dirname"],"mappings":";;;;;;AAIA;;;AAGG;AACI,MAAM,iBAAiB,GAAG;AAEjC;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,mCAAmC,CAAC,QAAQ,GAAG,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EAAA;AAC1G,IAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;AACpB,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;IACxD;AAEA,IAAA,IAAI,UAAU,GAAGA,iBAAO,CAAC,QAAQ,CAAC;AAClC,IAAA,MAAM,OAAO,GAAGA,iBAAO,CAAC,GAAG,CAAC;;AAG5B,IAAA,OAAO,UAAU,KAAK,OAAO,EAAE;QAC7B,MAAM,QAAQ,GAAGC,cAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;AAE3C,QAAA,IAAIC,kBAAU,CAAC,QAAQ,CAAC,EAAE;AACxB,YAAA,OAAOC,sBAAa,CAAC,QAAQ,CAAC,CAAC,IAAI;QACrC;;AAGA,QAAA,MAAM,SAAS,GAAGC,iBAAO,CAAC,UAAU,CAAC;;AAGrC,QAAA,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B;QACF;QAEA,UAAU,GAAG,SAAS;IACxB;;IAGA,MAAM,YAAY,GAAGH,cAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC5C,IAAA,IAAIC,kBAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,QAAA,OAAOC,sBAAa,CAAC,YAAY,CAAC,CAAC,IAAI;IACzC;IAEA,MAAM,IAAI,KAAK,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAA,gBAAA,EAAmB,QAAQ,CAAA,yBAAA,CAA2B,CAAC;AAC1F;;;;;"}
1
+ {"version":3,"file":"manual-loader.cjs","sources":["../../src/shared-runner/manual-loader.ts"],"sourcesContent":[null],"names":["resolve","join","existsSync","pathToFileURL","dirname","isAbsolute","parseStackTrace"],"mappings":";;;;;;;AAKA;;;AAGG;AACI,MAAM,iBAAiB,GAAG;AAEjC;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,mCAAmC,CAAC,QAAQ,GAAG,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EAAA;AACxG,IAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;AACpB,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;IACxD;AAEA,IAAA,IAAI,UAAU,GAAGA,iBAAO,CAAC,QAAQ,CAAC;AAClC,IAAA,MAAM,OAAO,GAAGA,iBAAO,CAAC,GAAG,CAAC;;AAG5B,IAAA,OAAO,UAAU,KAAK,OAAO,EAAE;QAC7B,MAAM,QAAQ,GAAGC,cAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;AAE3C,QAAA,IAAIC,kBAAU,CAAC,QAAQ,CAAC,EAAE;AACxB,YAAA,OAAOC,sBAAa,CAAC,QAAQ,CAAC,CAAC,IAAI;QACrC;;AAGA,QAAA,MAAM,SAAS,GAAGC,iBAAO,CAAC,UAAU,CAAC;;AAGrC,QAAA,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B;QACF;QAEA,UAAU,GAAG,SAAS;IACxB;;IAGA,MAAM,YAAY,GAAGH,cAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC5C,IAAA,IAAIC,kBAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,QAAA,OAAOC,sBAAa,CAAC,YAAY,CAAC,CAAC,IAAI;IACzC;IAEA,MAAM,IAAI,KAAK,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAA,gBAAA,EAAmB,QAAQ,CAAA,yBAAA,CAA2B,CAAC;AAC1F;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,iBAAiB,CAAC,UAAkB,EAAA;AAClD,IAAA,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE;IAC9B,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;IAC1D;;AAGA,IAAA,IAAI;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC5B,OAAO,GAAG,CAAC,IAAI;QACjB;IACF;AAAE,IAAA,MAAM;;IAER;;AAGA,IAAA,IAAIE,oBAAU,CAAC,UAAU,CAAC,EAAE;AAC1B,QAAA,OAAOF,sBAAa,CAAC,UAAU,CAAC,CAAC,IAAI;IACvC;;;;AAKA,IAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AACvB,IAAA,MAAM,UAAU,GAAGG,oBAAe,CAAC,GAAG,CAAC;AACvC,IAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;AAC7B,QAAA,MAAM,SAAS,GAAGF,iBAAO,CAAC,IAAI,CAAC;QAC/B,MAAM,YAAY,GAAGJ,iBAAO,CAAC,SAAS,EAAE,UAAU,CAAC;AACnD,QAAA,IAAIE,kBAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,YAAA,OAAOC,sBAAa,CAAC,YAAY,CAAC,CAAC,IAAI;QACzC;IACF;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAA,CAAE,CAAC;AACjE;;;;;;"}
@@ -24,5 +24,34 @@ declare const MANUAL_SCRIPT_TAG = "sidequest.jobs.js";
24
24
  * ```
25
25
  */
26
26
  declare function findSidequestJobsScriptInParentDirs(fileName?: string, startDir?: string): string;
27
+ /**
28
+ * Resolves a script path to a file URL, handling various path formats and resolution strategies.
29
+ *
30
+ * This function attempts to resolve script paths in the following order:
31
+ * 1. If the path is already a valid URL, returns it as-is (for file: protocol URLs)
32
+ * 2. If the path is absolute, converts it directly to a file URL
33
+ * 3. If the path is relative, searches for the file in directories from the call stack,
34
+ * starting from the caller's directory and walking up the stack
35
+ *
36
+ * The stack-based resolution helps resolve relative paths based on the script's
37
+ * execution context rather than the current working directory.
38
+ *
39
+ * @param scriptPath - The script path to resolve. Can be a relative path, absolute path, or URL string.
40
+ * @returns The resolved file URL as a string
41
+ * @throws {Error} When scriptPath is empty or when the file cannot be found in any searched location
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * // Absolute path
46
+ * resolveScriptPath('/path/to/script.js') // Returns 'file:///path/to/script.js'
47
+ *
48
+ * // Relative path (searches based on call stack)
49
+ * resolveScriptPath('./script.js') // Returns file URL of script.js found in caller's directory
50
+ *
51
+ * // Already a URL
52
+ * resolveScriptPath('file:///path/to/script.js') // Returns 'file:///path/to/script.js'
53
+ * ```
54
+ */
55
+ declare function resolveScriptPath(scriptPath: string): string;
27
56
 
28
- export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs };
57
+ export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs, resolveScriptPath };
@@ -1,5 +1,6 @@
1
+ import { parseStackTrace } from '@sidequest/core';
1
2
  import { existsSync } from 'node:fs';
2
- import { resolve, join, dirname } from 'node:path';
3
+ import { isAbsolute, dirname, resolve, join } from 'node:path';
3
4
  import { pathToFileURL } from 'node:url';
4
5
 
5
6
  /**
@@ -27,7 +28,7 @@ const MANUAL_SCRIPT_TAG = "sidequest.jobs.js";
27
28
  * const packageFile = findFileInParentDirs("package.json", "/some/project/dir");
28
29
  * ```
29
30
  */
30
- function findSidequestJobsScriptInParentDirs(fileName = "sidequest.jobs.js", startDir = process.cwd()) {
31
+ function findSidequestJobsScriptInParentDirs(fileName = MANUAL_SCRIPT_TAG, startDir = process.cwd()) {
31
32
  if (!fileName.trim()) {
32
33
  throw new Error("fileName must be a non-empty string");
33
34
  }
@@ -54,6 +55,67 @@ function findSidequestJobsScriptInParentDirs(fileName = "sidequest.jobs.js", sta
54
55
  }
55
56
  throw new Error(`File "${fileName}" not found in "${startDir}" or any parent directory`);
56
57
  }
58
+ /**
59
+ * Resolves a script path to a file URL, handling various path formats and resolution strategies.
60
+ *
61
+ * This function attempts to resolve script paths in the following order:
62
+ * 1. If the path is already a valid URL, returns it as-is (for file: protocol URLs)
63
+ * 2. If the path is absolute, converts it directly to a file URL
64
+ * 3. If the path is relative, searches for the file in directories from the call stack,
65
+ * starting from the caller's directory and walking up the stack
66
+ *
67
+ * The stack-based resolution helps resolve relative paths based on the script's
68
+ * execution context rather than the current working directory.
69
+ *
70
+ * @param scriptPath - The script path to resolve. Can be a relative path, absolute path, or URL string.
71
+ * @returns The resolved file URL as a string
72
+ * @throws {Error} When scriptPath is empty or when the file cannot be found in any searched location
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * // Absolute path
77
+ * resolveScriptPath('/path/to/script.js') // Returns 'file:///path/to/script.js'
78
+ *
79
+ * // Relative path (searches based on call stack)
80
+ * resolveScriptPath('./script.js') // Returns file URL of script.js found in caller's directory
81
+ *
82
+ * // Already a URL
83
+ * resolveScriptPath('file:///path/to/script.js') // Returns 'file:///path/to/script.js'
84
+ * ```
85
+ */
86
+ function resolveScriptPath(scriptPath) {
87
+ scriptPath = scriptPath.trim();
88
+ if (!scriptPath) {
89
+ throw new Error("scriptPath must be a non-empty string");
90
+ }
91
+ // If the scriptPath is already a URL, return as is
92
+ try {
93
+ const url = new URL(scriptPath);
94
+ if (url.protocol === "file:") {
95
+ return url.href;
96
+ }
97
+ }
98
+ catch {
99
+ // Not a valid URL, proceed to resolve as file path
100
+ }
101
+ // If it's an absolute path, convert directly to file URL
102
+ if (isAbsolute(scriptPath)) {
103
+ return pathToFileURL(scriptPath).href;
104
+ }
105
+ // Otherwise, search in current and parent directories based on stack trace
106
+ // This helps in resolving relative paths based on where the script is executed
107
+ // rather than the current working directory
108
+ const err = new Error();
109
+ const stackFiles = parseStackTrace(err);
110
+ for (const file of stackFiles) {
111
+ const parentDir = dirname(file);
112
+ const resolvedPath = resolve(parentDir, scriptPath);
113
+ if (existsSync(resolvedPath)) {
114
+ return pathToFileURL(resolvedPath).href;
115
+ }
116
+ }
117
+ throw new Error(`Unable to resolve script path: ${scriptPath}`);
118
+ }
57
119
 
58
- export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs };
120
+ export { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs, resolveScriptPath };
59
121
  //# sourceMappingURL=manual-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manual-loader.js","sources":["../../src/shared-runner/manual-loader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAIA;;;AAGG;AACI,MAAM,iBAAiB,GAAG;AAEjC;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,mCAAmC,CAAC,QAAQ,GAAG,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EAAA;AAC1G,IAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;AACpB,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;IACxD;AAEA,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;;AAG5B,IAAA,OAAO,UAAU,KAAK,OAAO,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;AAE3C,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;AACxB,YAAA,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI;QACrC;;AAGA,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;;AAGrC,QAAA,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B;QACF;QAEA,UAAU,GAAG,SAAS;IACxB;;IAGA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC5C,IAAA,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,QAAA,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI;IACzC;IAEA,MAAM,IAAI,KAAK,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAA,gBAAA,EAAmB,QAAQ,CAAA,yBAAA,CAA2B,CAAC;AAC1F;;;;"}
1
+ {"version":3,"file":"manual-loader.js","sources":["../../src/shared-runner/manual-loader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKA;;;AAGG;AACI,MAAM,iBAAiB,GAAG;AAEjC;;;;;;;;;;;;;;;;;;;AAmBG;AACG,SAAU,mCAAmC,CAAC,QAAQ,GAAG,iBAAiB,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,EAAA;AACxG,IAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;AACpB,QAAA,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC;IACxD;AAEA,IAAA,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC;AAClC,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;;AAG5B,IAAA,OAAO,UAAU,KAAK,OAAO,EAAE;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;AAE3C,QAAA,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;AACxB,YAAA,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI;QACrC;;AAGA,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;;AAGrC,QAAA,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B;QACF;QAEA,UAAU,GAAG,SAAS;IACxB;;IAGA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC5C,IAAA,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,QAAA,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI;IACzC;IAEA,MAAM,IAAI,KAAK,CAAC,CAAA,MAAA,EAAS,QAAQ,CAAA,gBAAA,EAAmB,QAAQ,CAAA,yBAAA,CAA2B,CAAC;AAC1F;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BG;AACG,SAAU,iBAAiB,CAAC,UAAkB,EAAA;AAClD,IAAA,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE;IAC9B,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;IAC1D;;AAGA,IAAA,IAAI;AACF,QAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE;YAC5B,OAAO,GAAG,CAAC,IAAI;QACjB;IACF;AAAE,IAAA,MAAM;;IAER;;AAGA,IAAA,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;AAC1B,QAAA,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI;IACvC;;;;AAKA,IAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AACvB,IAAA,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC;AACvC,IAAA,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;AAC7B,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;QAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;AACnD,QAAA,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;AAC5B,YAAA,OAAO,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI;QACzC;IACF;AAEA,IAAA,MAAM,IAAI,KAAK,CAAC,kCAAkC,UAAU,CAAA,CAAE,CAAC;AACjE;;;;"}
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var core = require('@sidequest/core');
6
+ var node_fs = require('node:fs');
7
+ var node_url = require('node:url');
6
8
  var _import = require('../utils/import.cjs');
7
9
  var manualLoader = require('./manual-loader.cjs');
8
10
 
@@ -22,7 +24,18 @@ async function run({ jobData, config }) {
22
24
  core.logger("Runner").debug("Manual job resolution is enabled; importing 'sidequest.jobs.js' job script.");
23
25
  try {
24
26
  // When manual job resolution is enabled, import from the sidequest.jobs.js script
25
- scriptUrl = manualLoader.findSidequestJobsScriptInParentDirs();
27
+ if (!config.jobsFilePath) {
28
+ // If no custom path is provided, search for sidequest.jobs.js in parent directories
29
+ // throws if not found
30
+ scriptUrl = manualLoader.findSidequestJobsScriptInParentDirs();
31
+ }
32
+ else {
33
+ // If a custom path is provided, resolve it and ensure it exists
34
+ scriptUrl = manualLoader.resolveScriptPath(config.jobsFilePath);
35
+ if (!node_fs.existsSync(node_url.fileURLToPath(scriptUrl))) {
36
+ throw new Error(`The specified jobsFilePath does not exist. Resolved to: ${scriptUrl}`);
37
+ }
38
+ }
26
39
  }
27
40
  catch (error) {
28
41
  const errorMessage = `Failed to locate 'sidequest.jobs.js' for manual job resolution: ${error instanceof Error ? error.message : String(error)}`;
@@ -34,7 +47,7 @@ async function run({ jobData, config }) {
34
47
  else {
35
48
  core.logger("Runner").debug("Manual job resolution is disabled; importing specified job script.");
36
49
  // Convert relative path to absolute file URL for dynamic import
37
- scriptUrl = core.resolveScriptPath(jobData.script);
50
+ scriptUrl = core.resolveScriptPathForJob(jobData.script);
38
51
  }
39
52
  script = (await import(scriptUrl));
40
53
  core.logger("Runner").debug(`Successfully imported job script "${jobData.script}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"runner.cjs","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":["logger","MANUAL_SCRIPT_TAG","findSidequestJobsScriptInParentDirs","toErrorData","resolveScriptPath","importSidequest"],"mappings":"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"}
1
+ {"version":3,"file":"runner.cjs","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":["logger","MANUAL_SCRIPT_TAG","findSidequestJobsScriptInParentDirs","resolveScriptPath","existsSync","fileURLToPath","toErrorData","resolveScriptPathForJob","importSidequest"],"mappings":";;;;;;;;;;AAOA;;;;;AAKG;AACY,eAAe,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAA8C,EAAA;AAC/F,IAAA,MAAM,qBAAqB,CAAC,MAAM,CAAC;IAEnC,IAAI,MAAM,GAAiC,EAAE;AAC7C,IAAA,IAAI;AACF,QAAAA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,sBAAA,EAAyB,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;AAElE,QAAA,IAAI,SAAiB;AACrB,QAAA,IAAI,OAAO,CAAC,MAAM,KAAKC,8BAAiB,EAAE;YACxCD,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,6EAA6E,CAAC;AACrG,YAAA,IAAI;;AAEF,gBAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;;;oBAGxB,SAAS,GAAGE,gDAAmC,EAAE;gBACnD;qBAAO;;AAEL,oBAAA,SAAS,GAAGC,8BAAiB,CAAC,MAAM,CAAC,YAAY,CAAC;oBAClD,IAAI,CAACC,kBAAU,CAACC,sBAAa,CAAC,SAAS,CAAC,CAAC,EAAE;AACzC,wBAAA,MAAM,IAAI,KAAK,CAAC,2DAA2D,SAAS,CAAA,CAAE,CAAC;oBACzF;gBACF;YACF;YAAE,OAAO,KAAK,EAAE;gBACd,MAAM,YAAY,GAAG,CAAA,gEAAA,EAAmE,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE;gBAChJL,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;AACpC,gBAAA,MAAM,SAAS,GAAGM,gBAAW,CAAC,KAAc,CAAC;AAC7C,gBAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;YAC1E;QACF;aAAO;YACLN,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,oEAAoE,CAAC;;AAE5F,YAAA,SAAS,GAAGO,4BAAuB,CAAC,OAAO,CAAC,MAAM,CAAC;QACrD;QAEA,MAAM,IAAI,MAAM,OAAO,SAAS,CAAC,CAAiC;AAClE,QAAAP,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,kCAAA,EAAqC,OAAO,CAAC,MAAM,CAAA,CAAA,CAAG,CAAC;IAChF;IAAE,OAAO,KAAK,EAAE;QACd,MAAM,YAAY,GAAG,CAAA,6BAAA,EAAgC,OAAO,CAAC,MAAM,CAAA,GAAA,EAAM,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,CAAE;QACjIA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;AACpC,QAAA,MAAM,SAAS,GAAGM,gBAAW,CAAC,KAAc,CAAC;AAC7C,QAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1E;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO;IACxD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAC/C,QAAA,MAAM,KAAK,GAAG,CAAA,mBAAA,EAAsB,OAAO,CAAC,KAAK,EAAE;QACnDN,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7B,MAAM,SAAS,GAAGM,gBAAW,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE;IAC1E;IAEA,MAAM,GAAG,GAAQ,IAAI,QAAQ,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAC1D,IAAA,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC;AAE1B,IAAAN,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAA,qBAAA,EAAwB,OAAO,CAAC,KAAK,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC;IACzF,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;AACrC;AAEA;;;;;;;;;;AAUG;AACI,eAAe,qBAAqB,CAAC,MAAoB,EAAA;AAC9D,IAAA,IAAI;QACFA,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,4CAA4C,CAAC;AACpE,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,MAAMQ,uBAAe,EAAE;AAC7C,QAAA,MAAM,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC7DR,WAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,wCAAwC,CAAC;AAChE,QAAA,OAAO,IAAI;IACb;IAAE,OAAO,KAAK,EAAE;QACdA,WAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACnB,CAAA,mCAAA,EAAsC,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA,oBAAA,CAAsB,CACnH;AACD,QAAA,OAAO,KAAK;IACd;AACF;;;;;"}
@@ -1,6 +1,8 @@
1
- import { logger, toErrorData, resolveScriptPath } from '@sidequest/core';
1
+ import { logger, toErrorData, resolveScriptPathForJob } from '@sidequest/core';
2
+ import { existsSync } from 'node:fs';
3
+ import { fileURLToPath } from 'node:url';
2
4
  import { importSidequest } from '../utils/import.js';
3
- import { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs } from './manual-loader.js';
5
+ import { MANUAL_SCRIPT_TAG, findSidequestJobsScriptInParentDirs, resolveScriptPath } from './manual-loader.js';
4
6
 
5
7
  /**
6
8
  * Runs a job by dynamically importing its script and executing the specified class.
@@ -18,7 +20,18 @@ async function run({ jobData, config }) {
18
20
  logger("Runner").debug("Manual job resolution is enabled; importing 'sidequest.jobs.js' job script.");
19
21
  try {
20
22
  // When manual job resolution is enabled, import from the sidequest.jobs.js script
21
- scriptUrl = findSidequestJobsScriptInParentDirs();
23
+ if (!config.jobsFilePath) {
24
+ // If no custom path is provided, search for sidequest.jobs.js in parent directories
25
+ // throws if not found
26
+ scriptUrl = findSidequestJobsScriptInParentDirs();
27
+ }
28
+ else {
29
+ // If a custom path is provided, resolve it and ensure it exists
30
+ scriptUrl = resolveScriptPath(config.jobsFilePath);
31
+ if (!existsSync(fileURLToPath(scriptUrl))) {
32
+ throw new Error(`The specified jobsFilePath does not exist. Resolved to: ${scriptUrl}`);
33
+ }
34
+ }
22
35
  }
23
36
  catch (error) {
24
37
  const errorMessage = `Failed to locate 'sidequest.jobs.js' for manual job resolution: ${error instanceof Error ? error.message : String(error)}`;
@@ -30,7 +43,7 @@ async function run({ jobData, config }) {
30
43
  else {
31
44
  logger("Runner").debug("Manual job resolution is disabled; importing specified job script.");
32
45
  // Convert relative path to absolute file URL for dynamic import
33
- scriptUrl = resolveScriptPath(jobData.script);
46
+ scriptUrl = resolveScriptPathForJob(jobData.script);
34
47
  }
35
48
  script = (await import(scriptUrl));
36
49
  logger("Runner").debug(`Successfully imported job script "${jobData.script}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sources":["../../src/shared-runner/runner.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sidequest/engine",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
4
4
  "description": "@sidequest/engine is the core engine of SideQuest, a distributed background job processing system for Node.js and TypeScript.",
5
5
  "keywords": [
6
6
  "nodejs",
@@ -42,12 +42,12 @@
42
42
  },
43
43
  "license": "LGPL-3.0-or-later",
44
44
  "dependencies": {
45
- "@sidequest/backend": "1.9.0",
46
- "@sidequest/core": "1.9.0",
45
+ "@sidequest/backend": "1.11.0",
46
+ "@sidequest/core": "1.11.0",
47
47
  "node-cron": "^4.2.1",
48
48
  "piscina": "^5.1.3"
49
49
  },
50
50
  "peerDependencies": {
51
- "sidequest": "1.9.0"
51
+ "sidequest": "1.11.0"
52
52
  }
53
53
  }