trigger.dev 3.0.0-beta.9 → 3.0.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.
Files changed (231) hide show
  1. package/dist/esm/apiClient.d.ts +190 -0
  2. package/dist/esm/apiClient.js +239 -0
  3. package/dist/esm/apiClient.js.map +1 -0
  4. package/dist/esm/build/buildWorker.d.ts +68 -0
  5. package/dist/esm/build/buildWorker.js +159 -0
  6. package/dist/esm/build/buildWorker.js.map +1 -0
  7. package/dist/esm/build/bundle.d.ts +36 -0
  8. package/dist/esm/build/bundle.js +197 -0
  9. package/dist/esm/build/bundle.js.map +1 -0
  10. package/dist/esm/build/extensions.d.ts +15 -0
  11. package/dist/esm/build/extensions.js +158 -0
  12. package/dist/esm/build/extensions.js.map +1 -0
  13. package/dist/esm/build/externals.d.ts +15 -0
  14. package/dist/esm/build/externals.js +285 -0
  15. package/dist/esm/build/externals.js.map +1 -0
  16. package/dist/esm/build/manifests.d.ts +2 -0
  17. package/dist/esm/build/manifests.js +22 -0
  18. package/dist/esm/build/manifests.js.map +1 -0
  19. package/dist/esm/build/packageModules.d.ts +18 -0
  20. package/dist/esm/build/packageModules.js +84 -0
  21. package/dist/esm/build/packageModules.js.map +1 -0
  22. package/dist/esm/build/plugins.d.ts +6 -0
  23. package/dist/esm/build/plugins.js +67 -0
  24. package/dist/esm/build/plugins.js.map +1 -0
  25. package/dist/esm/build/resolveModule.d.ts +1 -0
  26. package/dist/esm/build/resolveModule.js +9 -0
  27. package/dist/esm/build/resolveModule.js.map +1 -0
  28. package/dist/esm/cli/common.d.ts +30 -0
  29. package/dist/esm/cli/common.js +85 -0
  30. package/dist/esm/cli/common.js.map +1 -0
  31. package/dist/esm/cli/index.d.ts +2 -0
  32. package/dist/esm/cli/index.js +27 -0
  33. package/dist/esm/cli/index.js.map +1 -0
  34. package/dist/esm/commands/deploy.d.ts +5 -0
  35. package/dist/esm/commands/deploy.js +402 -0
  36. package/dist/esm/commands/deploy.js.map +1 -0
  37. package/dist/esm/commands/dev.d.ts +37 -0
  38. package/dist/esm/commands/dev.js +128 -0
  39. package/dist/esm/commands/dev.js.map +1 -0
  40. package/dist/esm/commands/init.d.ts +3 -0
  41. package/dist/esm/commands/init.js +427 -0
  42. package/dist/esm/commands/init.js.map +1 -0
  43. package/dist/esm/commands/list-profiles.d.ts +23 -0
  44. package/dist/esm/commands/list-profiles.js +40 -0
  45. package/dist/esm/commands/list-profiles.js.map +1 -0
  46. package/dist/esm/commands/login.d.ts +28 -0
  47. package/dist/esm/commands/login.js +275 -0
  48. package/dist/esm/commands/login.js.map +1 -0
  49. package/dist/esm/commands/logout.d.ts +23 -0
  50. package/dist/esm/commands/logout.js +28 -0
  51. package/dist/esm/commands/logout.js.map +1 -0
  52. package/dist/esm/commands/update.d.ts +24 -0
  53. package/dist/esm/commands/update.js +221 -0
  54. package/dist/esm/commands/update.js.map +1 -0
  55. package/dist/esm/commands/whoami.d.ts +34 -0
  56. package/dist/esm/commands/whoami.js +70 -0
  57. package/dist/esm/commands/whoami.js.map +1 -0
  58. package/dist/esm/config.d.ts +22 -0
  59. package/dist/esm/config.js +204 -0
  60. package/dist/esm/config.js.map +1 -0
  61. package/dist/esm/consts.d.ts +4 -0
  62. package/dist/esm/consts.js +5 -0
  63. package/dist/esm/consts.js.map +1 -0
  64. package/dist/esm/deploy/buildImage.d.ts +69 -0
  65. package/dist/esm/deploy/buildImage.js +472 -0
  66. package/dist/esm/deploy/buildImage.js.map +1 -0
  67. package/dist/esm/deploy/logs.d.ts +19 -0
  68. package/dist/esm/deploy/logs.js +96 -0
  69. package/dist/esm/deploy/logs.js.map +1 -0
  70. package/dist/esm/dev/backgroundWorker.d.ts +114 -0
  71. package/dist/esm/dev/backgroundWorker.js +412 -0
  72. package/dist/esm/dev/backgroundWorker.js.map +1 -0
  73. package/dist/esm/dev/devOutput.d.ts +9 -0
  74. package/dist/esm/dev/devOutput.js +137 -0
  75. package/dist/esm/dev/devOutput.js.map +1 -0
  76. package/dist/esm/dev/devSession.d.ts +17 -0
  77. package/dist/esm/dev/devSession.js +156 -0
  78. package/dist/esm/dev/devSession.js.map +1 -0
  79. package/dist/esm/dev/workerRuntime.d.ts +16 -0
  80. package/dist/esm/dev/workerRuntime.js +258 -0
  81. package/dist/esm/dev/workerRuntime.js.map +1 -0
  82. package/dist/esm/entryPoints/deploy-index-controller.d.ts +1 -0
  83. package/dist/esm/entryPoints/deploy-index-controller.js +85 -0
  84. package/dist/esm/entryPoints/deploy-index-controller.js.map +1 -0
  85. package/dist/esm/entryPoints/deploy-index-worker.d.ts +1 -0
  86. package/dist/esm/entryPoints/deploy-index-worker.js +104 -0
  87. package/dist/esm/entryPoints/deploy-index-worker.js.map +1 -0
  88. package/dist/esm/entryPoints/deploy-run-controller.d.ts +1 -0
  89. package/dist/esm/entryPoints/deploy-run-controller.js +996 -0
  90. package/dist/esm/entryPoints/deploy-run-controller.js.map +1 -0
  91. package/dist/esm/entryPoints/deploy-run-worker.d.ts +1 -0
  92. package/dist/esm/entryPoints/deploy-run-worker.js +297 -0
  93. package/dist/esm/entryPoints/deploy-run-worker.js.map +1 -0
  94. package/dist/esm/entryPoints/dev-index-worker.d.ts +1 -0
  95. package/dist/esm/entryPoints/dev-index-worker.js +104 -0
  96. package/dist/esm/entryPoints/dev-index-worker.js.map +1 -0
  97. package/dist/esm/entryPoints/dev-run-worker.d.ts +1 -0
  98. package/dist/esm/entryPoints/dev-run-worker.js +254 -0
  99. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -0
  100. package/dist/esm/entryPoints/loader.d.ts +1 -0
  101. package/dist/esm/entryPoints/loader.js +16 -0
  102. package/dist/esm/entryPoints/loader.js.map +1 -0
  103. package/dist/esm/executions/taskRunProcess.d.ts +115 -0
  104. package/dist/esm/executions/taskRunProcess.js +254 -0
  105. package/dist/esm/executions/taskRunProcess.js.map +1 -0
  106. package/dist/esm/imports/magicast.d.ts +2 -0
  107. package/dist/esm/imports/magicast.js +5 -0
  108. package/dist/esm/imports/magicast.js.map +1 -0
  109. package/dist/esm/imports/xdg-app-paths.d.ts +2 -0
  110. package/dist/esm/imports/xdg-app-paths.js +3 -0
  111. package/dist/esm/imports/xdg-app-paths.js.map +1 -0
  112. package/dist/{index.d.ts → esm/index.d.ts} +1 -0
  113. package/dist/esm/index.js +17 -0
  114. package/dist/esm/index.js.map +1 -0
  115. package/dist/esm/indexing/indexWorkerManifest.d.ts +85 -0
  116. package/dist/esm/indexing/indexWorkerManifest.js +76 -0
  117. package/dist/esm/indexing/indexWorkerManifest.js.map +1 -0
  118. package/dist/esm/indexing/registerTasks.d.ts +2 -0
  119. package/dist/esm/indexing/registerTasks.js +62 -0
  120. package/dist/esm/indexing/registerTasks.js.map +1 -0
  121. package/dist/esm/package.json +3 -0
  122. package/dist/esm/runtimes/bun.d.ts +2 -0
  123. package/dist/esm/runtimes/bun.js +11 -0
  124. package/dist/esm/runtimes/bun.js.map +1 -0
  125. package/dist/esm/shims/esm.d.ts +1 -0
  126. package/dist/esm/shims/esm.js +9 -0
  127. package/dist/esm/shims/esm.js.map +1 -0
  128. package/dist/esm/sourceDir.d.ts +1 -0
  129. package/dist/esm/sourceDir.js +4 -0
  130. package/dist/esm/sourceDir.js.map +1 -0
  131. package/dist/esm/telemetry/tracing.d.ts +3 -0
  132. package/dist/esm/telemetry/tracing.js +58 -0
  133. package/dist/esm/telemetry/tracing.js.map +1 -0
  134. package/dist/esm/types.d.ts +6 -0
  135. package/dist/esm/types.js +2 -0
  136. package/dist/esm/types.js.map +1 -0
  137. package/dist/esm/utilities/assertExhaustive.d.ts +1 -0
  138. package/dist/esm/utilities/assertExhaustive.js +4 -0
  139. package/dist/esm/utilities/assertExhaustive.js.map +1 -0
  140. package/dist/esm/utilities/buildManifest.d.ts +2 -0
  141. package/dist/esm/utilities/buildManifest.js +9 -0
  142. package/dist/esm/utilities/buildManifest.js.map +1 -0
  143. package/dist/esm/utilities/cliOutput.d.ts +20 -0
  144. package/dist/esm/utilities/cliOutput.js +88 -0
  145. package/dist/esm/utilities/cliOutput.js.map +1 -0
  146. package/dist/esm/utilities/configFiles.d.ts +29 -0
  147. package/dist/esm/utilities/configFiles.js +65 -0
  148. package/dist/esm/utilities/configFiles.js.map +1 -0
  149. package/dist/esm/utilities/createFileFromTemplate.d.ts +16 -0
  150. package/dist/esm/utilities/createFileFromTemplate.js +50 -0
  151. package/dist/esm/utilities/createFileFromTemplate.js.map +1 -0
  152. package/dist/esm/utilities/deployErrors.d.ts +19 -0
  153. package/dist/esm/utilities/deployErrors.js +117 -0
  154. package/dist/esm/utilities/deployErrors.js.map +1 -0
  155. package/dist/esm/utilities/dotEnv.d.ts +4 -0
  156. package/dist/esm/utilities/dotEnv.js +28 -0
  157. package/dist/esm/utilities/dotEnv.js.map +1 -0
  158. package/dist/esm/utilities/eventBus.d.ts +14 -0
  159. package/dist/esm/utilities/eventBus.js +3 -0
  160. package/dist/esm/utilities/eventBus.js.map +1 -0
  161. package/dist/esm/utilities/fileSystem.d.ts +12 -0
  162. package/dist/esm/utilities/fileSystem.js +81 -0
  163. package/dist/esm/utilities/fileSystem.js.map +1 -0
  164. package/dist/esm/utilities/getApiKeyType.d.ts +13 -0
  165. package/dist/esm/utilities/getApiKeyType.js +44 -0
  166. package/dist/esm/utilities/getApiKeyType.js.map +1 -0
  167. package/dist/esm/utilities/initialBanner.d.ts +4 -0
  168. package/dist/esm/utilities/initialBanner.js +82 -0
  169. package/dist/esm/utilities/initialBanner.js.map +1 -0
  170. package/dist/esm/utilities/keyValueBy.d.ts +8 -0
  171. package/dist/esm/utilities/keyValueBy.js +19 -0
  172. package/dist/esm/utilities/keyValueBy.js.map +1 -0
  173. package/dist/esm/utilities/links.d.ts +9 -0
  174. package/dist/esm/utilities/links.js +10 -0
  175. package/dist/esm/utilities/links.js.map +1 -0
  176. package/dist/esm/utilities/linux.d.ts +1 -0
  177. package/dist/esm/utilities/linux.js +24 -0
  178. package/dist/esm/utilities/linux.js.map +1 -0
  179. package/dist/esm/utilities/logger.d.ts +40 -0
  180. package/dist/esm/utilities/logger.js +109 -0
  181. package/dist/esm/utilities/logger.js.map +1 -0
  182. package/dist/esm/utilities/normalizeImportPath.d.ts +1 -0
  183. package/dist/esm/utilities/normalizeImportPath.js +5 -0
  184. package/dist/esm/utilities/normalizeImportPath.js.map +1 -0
  185. package/dist/esm/utilities/obfuscateApiKey.d.ts +1 -0
  186. package/dist/esm/utilities/obfuscateApiKey.js +5 -0
  187. package/dist/esm/utilities/obfuscateApiKey.js.map +1 -0
  188. package/dist/esm/utilities/parseNameAndPath.d.ts +2 -0
  189. package/dist/esm/utilities/parseNameAndPath.js +10 -0
  190. package/dist/esm/utilities/parseNameAndPath.js.map +1 -0
  191. package/dist/esm/utilities/resolveInternalFilePath.d.ts +1 -0
  192. package/dist/esm/utilities/resolveInternalFilePath.js +8 -0
  193. package/dist/esm/utilities/resolveInternalFilePath.js.map +1 -0
  194. package/dist/esm/utilities/runtimeCheck.d.ts +8 -0
  195. package/dist/esm/utilities/runtimeCheck.js +52 -0
  196. package/dist/esm/utilities/runtimeCheck.js.map +1 -0
  197. package/dist/esm/utilities/safeJsonParse.d.ts +1 -0
  198. package/dist/esm/utilities/safeJsonParse.js +12 -0
  199. package/dist/esm/utilities/safeJsonParse.js.map +1 -0
  200. package/dist/esm/utilities/sanitizeEnvVars.d.ts +3 -0
  201. package/dist/esm/utilities/sanitizeEnvVars.js +4 -0
  202. package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -0
  203. package/dist/esm/utilities/session.d.ts +33 -0
  204. package/dist/esm/utilities/session.js +82 -0
  205. package/dist/esm/utilities/session.js.map +1 -0
  206. package/dist/esm/utilities/sourceFiles.d.ts +12 -0
  207. package/dist/esm/utilities/sourceFiles.js +76 -0
  208. package/dist/esm/utilities/sourceFiles.js.map +1 -0
  209. package/dist/esm/utilities/taskFiles.d.ts +6 -0
  210. package/dist/esm/utilities/taskFiles.js +69 -0
  211. package/dist/esm/utilities/taskFiles.js.map +1 -0
  212. package/dist/esm/utilities/tempDirectories.d.ts +16 -0
  213. package/dist/esm/utilities/tempDirectories.js +27 -0
  214. package/dist/esm/utilities/tempDirectories.js.map +1 -0
  215. package/dist/esm/utilities/windows.d.ts +7 -0
  216. package/dist/esm/utilities/windows.js +21 -0
  217. package/dist/esm/utilities/windows.js.map +1 -0
  218. package/dist/esm/version.d.ts +1 -0
  219. package/dist/esm/version.js +2 -0
  220. package/dist/esm/version.js.map +1 -0
  221. package/package.json +85 -82
  222. package/dist/Containerfile.prod +0 -39
  223. package/dist/index.js +0 -6115
  224. package/dist/index.js.map +0 -1
  225. package/dist/templates/examples/simple.ts.template +0 -14
  226. package/dist/templates/trigger.config.ts.template +0 -16
  227. package/dist/workers/dev/worker-facade.js +0 -187
  228. package/dist/workers/dev/worker-setup.js +0 -40
  229. package/dist/workers/prod/entry-point.js +0 -1146
  230. package/dist/workers/prod/worker-facade.js +0 -193
  231. package/dist/workers/prod/worker-setup.js +0 -35
@@ -0,0 +1,8 @@
1
+ type Index<T = any> = {
2
+ [key: string]: T;
3
+ };
4
+ type KeyValueGenerator<K, V, R> = (key: K, value: V, accum: Index<R>) => Index<R> | null;
5
+ export declare function keyValueBy<T>(arr: T[]): Index<true>;
6
+ export declare function keyValueBy<T, R>(arr: T[], keyValue: KeyValueGenerator<T, number, R>, initialValue?: Index<R>): Index<R>;
7
+ export declare function keyValueBy<T, R>(obj: Index<T>, keyValue: KeyValueGenerator<string, T, R>, initialValue?: Index<R>): Index<R>;
8
+ export {};
@@ -0,0 +1,19 @@
1
+ /** Generates an object from an array or object. Simpler than reduce or _.transform. The KeyValueGenerator passes (key, value) if the input is an object, and (value, i) if it is an array. The return object from each iteration is merged into the accumulated object. Return null to skip an item. */
2
+ export function keyValueBy(input,
3
+ // if no keyValue is given, sets all values to true
4
+ keyValue, accum = {}) {
5
+ const isArray = Array.isArray(input);
6
+ keyValue =
7
+ keyValue || ((key) => ({ [key]: true }));
8
+ // considerably faster than Array.prototype.reduce
9
+ Object.entries(input || {}).forEach(([key, value], i) => {
10
+ const o = isArray
11
+ ? keyValue(value, i, accum)
12
+ : keyValue(key, value, accum);
13
+ Object.entries(o || {}).forEach((entry) => {
14
+ accum[entry[0]] = entry[1];
15
+ });
16
+ });
17
+ return accum;
18
+ }
19
+ //# sourceMappingURL=keyValueBy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyValueBy.js","sourceRoot":"","sources":["../../../src/utilities/keyValueBy.ts"],"names":[],"mappings":"AAiBA,wSAAwS;AACxS,MAAM,UAAU,UAAU,CACxB,KAAqB;AACrB,mDAAmD;AACnD,QAAuE,EACvE,QAAkB,EAAE;IAEpB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,QAAQ;QACN,QAAQ,IAAI,CAAC,CAAC,GAAM,EAAY,EAAE,CAAC,CAAC,EAAE,CAAC,GAAwB,CAAC,EAAE,IAAoB,EAAE,CAAC,CAAC,CAAC;IAC7F,kDAAkD;IAClD,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,CAAC,GAAG,OAAO;YACf,CAAC,CAAE,QAAyC,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC;YAC7D,CAAC,CAAE,QAA0C,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACxC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const docs: {
2
+ config: {
3
+ home: string;
4
+ esm: string;
5
+ prisma: string;
6
+ additionalPackages: string;
7
+ };
8
+ };
9
+ export declare const getInTouch = "https://trigger.dev/contact";
@@ -0,0 +1,10 @@
1
+ export const docs = {
2
+ config: {
3
+ home: "https://trigger.dev/docs/v3/trigger-config",
4
+ esm: "https://trigger.dev/docs/v3/trigger-config#esm-only-packages",
5
+ prisma: "https://trigger.dev/docs/v3/trigger-config#prisma-and-other-generators",
6
+ additionalPackages: "https://trigger.dev/docs/v3/trigger-config#prisma-and-other-generators",
7
+ },
8
+ };
9
+ export const getInTouch = "https://trigger.dev/contact";
10
+ //# sourceMappingURL=links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../../src/utilities/links.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM,EAAE;QACN,IAAI,EAAE,4CAA4C;QAClD,GAAG,EAAE,8DAA8D;QACnE,MAAM,EAAE,wEAAwE;QAChF,kBAAkB,EAAE,wEAAwE;KAC7F;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const isLinuxServer: () => Promise<boolean>;
@@ -0,0 +1,24 @@
1
+ import { spawn } from "child_process";
2
+ import { logger } from "./logger.js";
3
+ export const isLinuxServer = async () => {
4
+ if (process.platform !== "linux") {
5
+ return false;
6
+ }
7
+ const xdgAvailable = await new Promise((res) => {
8
+ const xdg = spawn("xdg-open");
9
+ xdg.on("error", (error) => {
10
+ logger.debug("Error while checking for xdg-open", error);
11
+ res(false);
12
+ });
13
+ xdg.on("spawn", () => {
14
+ res(true);
15
+ });
16
+ xdg.on("exit", (code) => {
17
+ res(code === 0);
18
+ });
19
+ xdg.unref();
20
+ });
21
+ logger.debug("xdg-open available:", xdgAvailable);
22
+ return !xdgAvailable;
23
+ };
24
+ //# sourceMappingURL=linux.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../src/utilities/linux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAU,CAAC,GAAG,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QAE9B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,GAAG,CAAC,KAAK,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,GAAG,CAAC,IAAI,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;IAElD,OAAO,CAAC,YAAY,CAAC;AACvB,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { Message } from "esbuild";
2
+ export declare const LOGGER_LEVELS: {
3
+ readonly none: -1;
4
+ readonly error: 0;
5
+ readonly warn: 1;
6
+ readonly info: 2;
7
+ readonly log: 3;
8
+ readonly debug: 4;
9
+ };
10
+ export type LoggerLevel = keyof typeof LOGGER_LEVELS;
11
+ export type TableRow<Keys extends string> = Record<Keys, string>;
12
+ export declare class Logger {
13
+ constructor();
14
+ loggerLevel: "error" | "debug" | "info" | "warn" | "none" | "log";
15
+ columns: number;
16
+ debug: (...args: unknown[]) => void;
17
+ ignore: (...args: unknown[]) => void;
18
+ debugWithSanitization: (label: string, ...args: unknown[]) => void;
19
+ info: (...args: unknown[]) => void;
20
+ log: (...args: unknown[]) => void;
21
+ warn: (...args: unknown[]) => void;
22
+ error: (...args: unknown[]) => void;
23
+ table<Keys extends string>(data: TableRow<Keys>[], level?: Exclude<LoggerLevel, "none">): void;
24
+ private doLog;
25
+ private formatMessage;
26
+ }
27
+ /**
28
+ * A drop-in replacement for `console` for outputting logging messages.
29
+ *
30
+ * Errors and Warnings will get additional formatting to highlight them to the user.
31
+ * You can also set a `logger.loggerLevel` value to one of "debug", "log", "warn" or "error",
32
+ * to filter out logging messages.
33
+ */
34
+ export declare const logger: Logger;
35
+ export declare function logBuildWarnings(warnings: Message[]): void;
36
+ /**
37
+ * Logs all errors/warnings associated with an esbuild BuildFailure in the same
38
+ * style esbuild would.
39
+ */
40
+ export declare function logBuildFailure(errors: Message[], warnings: Message[]): void;
@@ -0,0 +1,109 @@
1
+ // This is a copy of the logger utility from the wrangler repo: https://github.com/cloudflare/workers-sdk/blob/main/packages/wrangler/src/logger.ts
2
+ import { format } from "node:util";
3
+ import chalk from "chalk";
4
+ import CLITable from "cli-table3";
5
+ import { formatMessagesSync } from "esbuild";
6
+ import { env } from "std-env";
7
+ export const LOGGER_LEVELS = {
8
+ none: -1,
9
+ error: 0,
10
+ warn: 1,
11
+ info: 2,
12
+ log: 3,
13
+ debug: 4,
14
+ };
15
+ /** A map from LOGGER_LEVEL to the error `kind` needed by `formatMessagesSync()`. */
16
+ const LOGGER_LEVEL_FORMAT_TYPE_MAP = {
17
+ error: "error",
18
+ warn: "warning",
19
+ info: undefined,
20
+ log: undefined,
21
+ debug: undefined,
22
+ };
23
+ function getLoggerLevel() {
24
+ const fromEnv = env.TRIGGER_LOG_LEVEL?.toLowerCase();
25
+ if (fromEnv !== undefined) {
26
+ if (fromEnv in LOGGER_LEVELS)
27
+ return fromEnv;
28
+ const expected = Object.keys(LOGGER_LEVELS)
29
+ .map((level) => `"${level}"`)
30
+ .join(" | ");
31
+ console.warn(`Unrecognised TRIGGER_LOG_LEVEL value ${JSON.stringify(fromEnv)}, expected ${expected}, defaulting to "log"...`);
32
+ }
33
+ return "log";
34
+ }
35
+ export class Logger {
36
+ constructor() { }
37
+ loggerLevel = getLoggerLevel();
38
+ columns = process.stdout.columns;
39
+ debug = (...args) => this.doLog("debug", args);
40
+ ignore = (...args) => { };
41
+ debugWithSanitization = (label, ...args) => {
42
+ this.doLog("debug", [label, ...args]);
43
+ };
44
+ info = (...args) => this.doLog("info", args);
45
+ log = (...args) => this.doLog("log", args);
46
+ warn = (...args) => this.doLog("warn", args);
47
+ error = (...args) => this.doLog("error", args);
48
+ table(data, level) {
49
+ const keys = data.length === 0 ? [] : Object.keys(data[0]);
50
+ const t = new CLITable({
51
+ head: keys,
52
+ style: {
53
+ head: chalk.level ? ["blue"] : [],
54
+ border: chalk.level ? ["gray"] : [],
55
+ },
56
+ });
57
+ t.push(...data.map((row) => keys.map((k) => row[k])));
58
+ return this.doLog(level ?? "log", [t.toString()]);
59
+ }
60
+ doLog(messageLevel, args) {
61
+ const message = this.formatMessage(messageLevel, format(...args));
62
+ // only send logs to the terminal if their level is at least the configured log-level
63
+ if (LOGGER_LEVELS[this.loggerLevel] >= LOGGER_LEVELS[messageLevel]) {
64
+ console[messageLevel](message);
65
+ }
66
+ }
67
+ formatMessage(level, message) {
68
+ const kind = LOGGER_LEVEL_FORMAT_TYPE_MAP[level];
69
+ if (kind) {
70
+ // Format the message using the esbuild formatter.
71
+ // The first line of the message is the main `text`,
72
+ // subsequent lines are put into the `notes`.
73
+ const [firstLine, ...otherLines] = message.split("\n");
74
+ const notes = otherLines.length > 0 ? otherLines.map((text) => ({ text })) : undefined;
75
+ return formatMessagesSync([{ text: firstLine, notes }], {
76
+ color: true,
77
+ kind,
78
+ terminalWidth: this.columns,
79
+ })[0];
80
+ }
81
+ else {
82
+ return message;
83
+ }
84
+ }
85
+ }
86
+ /**
87
+ * A drop-in replacement for `console` for outputting logging messages.
88
+ *
89
+ * Errors and Warnings will get additional formatting to highlight them to the user.
90
+ * You can also set a `logger.loggerLevel` value to one of "debug", "log", "warn" or "error",
91
+ * to filter out logging messages.
92
+ */
93
+ export const logger = new Logger();
94
+ export function logBuildWarnings(warnings) {
95
+ const logs = formatMessagesSync(warnings, { kind: "warning", color: true });
96
+ for (const log of logs)
97
+ console.warn(log);
98
+ }
99
+ /**
100
+ * Logs all errors/warnings associated with an esbuild BuildFailure in the same
101
+ * style esbuild would.
102
+ */
103
+ export function logBuildFailure(errors, warnings) {
104
+ const logs = formatMessagesSync(errors, { kind: "error", color: true });
105
+ for (const log of logs)
106
+ console.error(log);
107
+ logBuildWarnings(warnings);
108
+ }
109
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utilities/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function normalizeImportPath(importPath: string): string;
@@ -0,0 +1,5 @@
1
+ import { pathToFileURL } from "url";
2
+ export function normalizeImportPath(importPath) {
3
+ return pathToFileURL(importPath).href;
4
+ }
5
+ //# sourceMappingURL=normalizeImportPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeImportPath.js","sourceRoot":"","sources":["../../../src/utilities/normalizeImportPath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;AACxC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const obfuscateApiKey: (apiKey: string) => string;
@@ -0,0 +1,5 @@
1
+ export const obfuscateApiKey = (apiKey) => {
2
+ const [prefix, slug, secretPart] = apiKey.split("_");
3
+ return `${prefix}_${slug}_${"*".repeat(secretPart.length)}`;
4
+ };
5
+ //# sourceMappingURL=obfuscateApiKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"obfuscateApiKey.js","sourceRoot":"","sources":["../../../src/utilities/obfuscateApiKey.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE;IAChD,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAA6B,CAAC;IACjF,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;AAC9D,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const resolvePath: (input: string) => string;
2
+ export declare const relativePath: (input: string) => string;
@@ -0,0 +1,10 @@
1
+ import pathModule from "node:path";
2
+ // Takes a relative path (like .) and resolves it to a full path (like /Users/username/Projects/my-triggers)
3
+ export const resolvePath = (input) => {
4
+ return pathModule.resolve(process.cwd(), input);
5
+ };
6
+ // Takes an absolute path and derives the relative path from the current working directory
7
+ export const relativePath = (input) => {
8
+ return pathModule.relative(process.cwd(), input);
9
+ };
10
+ //# sourceMappingURL=parseNameAndPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNameAndPath.js","sourceRoot":"","sources":["../../../src/utilities/parseNameAndPath.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,WAAW,CAAC;AAEnC,4GAA4G;AAC5G,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;IAC3C,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,0FAA0F;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;IAC5C,OAAO,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function cliRootPath(): string;
@@ -0,0 +1,8 @@
1
+ import path from "path";
2
+ import { fileURLToPath } from "url";
3
+ export function cliRootPath() {
4
+ const __filename = fileURLToPath(import.meta.url);
5
+ const __dirname = path.dirname(__filename);
6
+ return __dirname;
7
+ }
8
+ //# sourceMappingURL=resolveInternalFilePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveInternalFilePath.js","sourceRoot":"","sources":["../../../src/utilities/resolveInternalFilePath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,WAAW;IACzB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type RuntimeMinimumVersion = {
2
+ major: number;
3
+ minor: number;
4
+ };
5
+ /**
6
+ * This function is used by the dev CLI to make sure that the runtime is compatible
7
+ */
8
+ export declare function runtimeChecks(): void;
@@ -0,0 +1,52 @@
1
+ import { chalkError } from "./cliOutput.js";
2
+ import { logger } from "./logger.js";
3
+ const REQUIRED_MINIMUM_VERSIONS = [
4
+ { major: 18, minor: 20 },
5
+ { major: 20, minor: 5 },
6
+ ];
7
+ /**
8
+ * This function is used by the dev CLI to make sure that the runtime is compatible
9
+ */
10
+ export function runtimeChecks() {
11
+ const checks = REQUIRED_MINIMUM_VERSIONS.map((version) => runtimeCheck(version));
12
+ // If any of the checks passed, we are good to go
13
+ if (checks.some((check) => check.ok)) {
14
+ return;
15
+ }
16
+ // Get the first failed check
17
+ const failedCheck = checks.find((check) => !check.ok);
18
+ if (!failedCheck) {
19
+ return;
20
+ }
21
+ logger.log(`${chalkError("X Error:")} ${failedCheck.message}`);
22
+ process.exit(1);
23
+ }
24
+ function runtimeCheck(version) {
25
+ // Check if the runtime is Node.js
26
+ if (typeof process === "undefined") {
27
+ return {
28
+ ok: false,
29
+ message: "The dev CLI can only be run in a Node.js compatible environment",
30
+ };
31
+ }
32
+ // Check if the runtime version is compatible
33
+ const [major = 0, minor = 0] = process.versions.node.split(".").map(Number);
34
+ const isBun = typeof process.versions.bun === "string";
35
+ if (major < version.major || (major === version.major && minor < version.minor)) {
36
+ if (isBun) {
37
+ return {
38
+ ok: false,
39
+ message: `The dev CLI requires at least Node.js ${version.major}.${version.minor}. You are running Bun ${process.versions.bun}, which is compatible with Node.js ${process.versions.node}`,
40
+ };
41
+ }
42
+ else {
43
+ return {
44
+ ok: false,
45
+ message: `The dev CLI requires at least Node.js ${version.major}.${version.minor}. You are running Node.js ${process.versions.node}`,
46
+ };
47
+ }
48
+ }
49
+ logger.debug(`Node.js version: ${process.versions.node}${isBun ? ` (Bun ${process.versions.bun})` : ""}`);
50
+ return { ok: true };
51
+ }
52
+ //# sourceMappingURL=runtimeCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeCheck.js","sourceRoot":"","sources":["../../../src/utilities/runtimeCheck.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOrC,MAAM,yBAAyB,GAA4B;IACzD,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACxB,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;CACxB,CAAC;AACF;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEjF,iDAAiD;IACjD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,6BAA6B;IAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEtD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAWD,SAAS,YAAY,CAAC,OAA8B;IAClD,kCAAkC;IAClC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,iEAAiE;SAC3E,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC;IAEvD,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,yCAAyC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,yBAAyB,OAAO,CAAC,QAAQ,CAAC,GAAG,sCAAsC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;aAC3L,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,yCAAyC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,6BAA6B,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;aACrI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CACV,oBAAoB,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC;IAEF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function safeJsonParse(json?: string): unknown;
@@ -0,0 +1,12 @@
1
+ export function safeJsonParse(json) {
2
+ if (!json) {
3
+ return undefined;
4
+ }
5
+ try {
6
+ return JSON.parse(json);
7
+ }
8
+ catch {
9
+ return undefined;
10
+ }
11
+ }
12
+ //# sourceMappingURL=safeJsonParse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeJsonParse.js","sourceRoot":"","sources":["../../../src/utilities/safeJsonParse.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const sanitizeEnvVars: (obj: Record<string, string | undefined>) => {
2
+ [k: string]: string | undefined;
3
+ };
@@ -0,0 +1,4 @@
1
+ export const sanitizeEnvVars = (obj) => {
2
+ return Object.fromEntries(Object.entries(obj).filter(([, value]) => typeof value === "string" ? !!value.trim() : !!value));
3
+ };
4
+ //# sourceMappingURL=sanitizeEnvVars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeEnvVars.js","sourceRoot":"","sources":["../../../src/utilities/sanitizeEnvVars.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAuC,EAAE,EAAE;IACzE,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CACvC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CACrD,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { CliApiClient } from "../apiClient.js";
2
+ export type LoginResultOk = {
3
+ ok: true;
4
+ profile: string;
5
+ userId: string;
6
+ email: string;
7
+ dashboardUrl: string;
8
+ auth: {
9
+ apiUrl: string;
10
+ accessToken: string;
11
+ };
12
+ };
13
+ export type LoginResult = LoginResultOk | {
14
+ ok: false;
15
+ error: string;
16
+ auth?: {
17
+ apiUrl: string;
18
+ accessToken: string;
19
+ };
20
+ };
21
+ export declare function isLoggedIn(profile?: string): Promise<LoginResult>;
22
+ export type GetEnvOptions = {
23
+ accessToken: string;
24
+ apiUrl: string;
25
+ projectRef: string;
26
+ env: string;
27
+ profile: string;
28
+ };
29
+ export declare function getProjectClient(options: GetEnvOptions): Promise<{
30
+ id: string;
31
+ name: string;
32
+ client: CliApiClient;
33
+ } | undefined>;
@@ -0,0 +1,82 @@
1
+ import { recordSpanException } from "@trigger.dev/core/v3/workers";
2
+ import { CliApiClient } from "../apiClient.js";
3
+ import { readAuthConfigProfile } from "./configFiles.js";
4
+ import { getTracer } from "../telemetry/tracing.js";
5
+ import { logger } from "./logger.js";
6
+ const tracer = getTracer();
7
+ export async function isLoggedIn(profile = "default") {
8
+ return await tracer.startActiveSpan("isLoggedIn", async (span) => {
9
+ try {
10
+ const config = readAuthConfigProfile(profile);
11
+ if (!config?.accessToken || !config?.apiUrl) {
12
+ span.recordException(new Error("You must login first"));
13
+ span.end();
14
+ return { ok: false, error: "You must login first" };
15
+ }
16
+ const apiClient = new CliApiClient(config.apiUrl, config.accessToken);
17
+ const userData = await apiClient.whoAmI();
18
+ if (!userData.success) {
19
+ recordSpanException(span, userData.error);
20
+ span.end();
21
+ return {
22
+ ok: false,
23
+ error: userData.error,
24
+ auth: {
25
+ apiUrl: config.apiUrl,
26
+ accessToken: config.accessToken,
27
+ },
28
+ };
29
+ }
30
+ span.setAttributes({
31
+ "login.userId": userData.data.userId,
32
+ "login.email": userData.data.email,
33
+ "login.dashboardUrl": userData.data.dashboardUrl,
34
+ "login.profile": profile,
35
+ });
36
+ span.end();
37
+ return {
38
+ ok: true,
39
+ profile,
40
+ userId: userData.data.userId,
41
+ email: userData.data.email,
42
+ dashboardUrl: userData.data.dashboardUrl,
43
+ auth: {
44
+ apiUrl: config.apiUrl,
45
+ accessToken: config.accessToken,
46
+ },
47
+ };
48
+ }
49
+ catch (e) {
50
+ recordSpanException(span, e);
51
+ span.end();
52
+ return {
53
+ ok: false,
54
+ error: e instanceof Error ? e.message : "Unknown error",
55
+ };
56
+ }
57
+ });
58
+ }
59
+ export async function getProjectClient(options) {
60
+ logger.debug(`Initializing ${options.env} environment for project ${options.projectRef}`, options.apiUrl);
61
+ const apiClient = new CliApiClient(options.apiUrl, options.accessToken);
62
+ const projectEnv = await apiClient.getProjectEnv({
63
+ projectRef: options.projectRef,
64
+ env: options.env,
65
+ });
66
+ if (!projectEnv.success) {
67
+ if (projectEnv.error === "Project not found") {
68
+ logger.error(`Project not found: ${options.projectRef}. Ensure you are using the correct project ref and CLI profile (use --profile). Currently using the "${options.profile}" profile, which points to ${options.apiUrl}`);
69
+ }
70
+ else {
71
+ logger.error(`Failed to initialize ${options.env} environment: ${projectEnv.error}. Using project ref ${options.projectRef}`);
72
+ }
73
+ return;
74
+ }
75
+ const client = new CliApiClient(projectEnv.data.apiUrl, projectEnv.data.apiKey);
76
+ return {
77
+ id: projectEnv.data.projectId,
78
+ name: projectEnv.data.name,
79
+ client,
80
+ };
81
+ }
82
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/utilities/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { ResolvedConfig } from "@trigger.dev/core/v3/build";
2
+ import type { BackgroundWorkerSourceFileMetadata, TaskFile, TaskManifest } from "@trigger.dev/core/v3/schemas";
3
+ export type FileSource = {
4
+ contents: string;
5
+ contentHash: string;
6
+ };
7
+ export type FileSources = Record<string, FileSource>;
8
+ export declare function resolveFileSources(files: TaskFile[], resolvedConfig: ResolvedConfig): Promise<FileSources>;
9
+ export declare function resolveSourceFiles(sources: Record<string, {
10
+ contents: string;
11
+ contentHash: string;
12
+ }>, tasks: TaskManifest[]): Array<BackgroundWorkerSourceFileMetadata>;
@@ -0,0 +1,76 @@
1
+ import { createHash } from "node:crypto";
2
+ import { readFile } from "node:fs/promises";
3
+ import { join, relative } from "node:path";
4
+ import * as zlib from "node:zlib";
5
+ import { logger } from "./logger.js";
6
+ export async function resolveFileSources(files, resolvedConfig) {
7
+ const sources = {};
8
+ for (const file of files) {
9
+ const fullPath = join(resolvedConfig.workingDir, file.entry);
10
+ const fileSource = await resolveFileSource(fullPath);
11
+ if (!fileSource) {
12
+ continue;
13
+ }
14
+ sources[file.entry] = fileSource;
15
+ }
16
+ await resolveConfigSource(sources, resolvedConfig.workingDir, resolvedConfig.configFile);
17
+ await resolveConfigSource(sources, resolvedConfig.workingDir, resolvedConfig.tsconfig);
18
+ await resolveConfigSource(sources, resolvedConfig.workingDir, resolvedConfig.packageJsonPath);
19
+ return sources;
20
+ }
21
+ async function resolveConfigSource(sources, workingDir, filePath) {
22
+ if (!filePath) {
23
+ return;
24
+ }
25
+ const configSource = await resolveFileSource(filePath);
26
+ if (configSource) {
27
+ sources[relative(workingDir, filePath)] = configSource;
28
+ }
29
+ }
30
+ async function resolveFileSource(filePath) {
31
+ try {
32
+ const content = await readFile(filePath, "utf-8");
33
+ const hasher = createHash("md5");
34
+ hasher.update(content);
35
+ return {
36
+ contents: compressContent(content),
37
+ contentHash: hasher.digest("hex"),
38
+ };
39
+ }
40
+ catch (e) {
41
+ logger.debug("Failed to read file", {
42
+ filePath,
43
+ error: e,
44
+ });
45
+ return;
46
+ }
47
+ }
48
+ export function resolveSourceFiles(sources, tasks) {
49
+ const tasksGroupedByFile = {};
50
+ for (const task of tasks) {
51
+ if (!tasksGroupedByFile[task.filePath]) {
52
+ tasksGroupedByFile[task.filePath] = [];
53
+ }
54
+ tasksGroupedByFile[task.filePath].push(task);
55
+ }
56
+ const taskFiles = [];
57
+ for (const [filePath, source] of Object.entries(sources)) {
58
+ const tasks = tasksGroupedByFile[filePath] ?? [];
59
+ const taskIds = tasks.map((task) => task.id);
60
+ taskFiles.push({
61
+ ...source,
62
+ taskIds,
63
+ filePath,
64
+ });
65
+ }
66
+ return taskFiles;
67
+ }
68
+ function compressContent(data) {
69
+ // Convert data to string if it's not already
70
+ // Compress the data
71
+ const compressedData = zlib.deflateSync(data);
72
+ // Encode the compressed data to base64
73
+ const base64Encoded = compressedData.toString("base64");
74
+ return base64Encoded;
75
+ }
76
+ //# sourceMappingURL=sourceFiles.js.map