trigger.dev 0.0.0-v3-prerelease-20250108142426 → 0.0.0-v4-prerelease-20250917185130

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 (292) hide show
  1. package/README.md +28 -1
  2. package/dist/esm/apiClient.d.ts +158 -74
  3. package/dist/esm/apiClient.js +341 -76
  4. package/dist/esm/apiClient.js.map +1 -1
  5. package/dist/esm/build/buildWorker.d.ts +10 -6
  6. package/dist/esm/build/buildWorker.js +22 -38
  7. package/dist/esm/build/buildWorker.js.map +1 -1
  8. package/dist/esm/build/bundle.d.ts +18 -1
  9. package/dist/esm/build/bundle.js +142 -52
  10. package/dist/esm/build/bundle.js.map +1 -1
  11. package/dist/esm/build/entryPoints.d.ts +12 -0
  12. package/dist/esm/build/entryPoints.js +127 -0
  13. package/dist/esm/build/entryPoints.js.map +1 -0
  14. package/dist/esm/build/extensions.js +17 -0
  15. package/dist/esm/build/extensions.js.map +1 -1
  16. package/dist/esm/build/externals.js +184 -2
  17. package/dist/esm/build/externals.js.map +1 -1
  18. package/dist/esm/build/packageModules.d.ts +15 -5
  19. package/dist/esm/build/packageModules.js +154 -36
  20. package/dist/esm/build/packageModules.js.map +1 -1
  21. package/dist/esm/cli/common.d.ts +1 -1
  22. package/dist/esm/cli/common.js +38 -45
  23. package/dist/esm/cli/common.js.map +1 -1
  24. package/dist/esm/cli/index.js +19 -3
  25. package/dist/esm/cli/index.js.map +1 -1
  26. package/dist/esm/commands/analyze.d.ts +23 -0
  27. package/dist/esm/commands/analyze.js +122 -0
  28. package/dist/esm/commands/analyze.js.map +1 -0
  29. package/dist/esm/commands/deploy.d.ts +5 -2
  30. package/dist/esm/commands/deploy.js +271 -160
  31. package/dist/esm/commands/deploy.js.map +1 -1
  32. package/dist/esm/commands/dev.d.ts +36 -6
  33. package/dist/esm/commands/dev.js +71 -2
  34. package/dist/esm/commands/dev.js.map +1 -1
  35. package/dist/esm/commands/env.d.ts +2 -0
  36. package/dist/esm/commands/env.js +298 -0
  37. package/dist/esm/commands/env.js.map +1 -0
  38. package/dist/esm/commands/init.d.ts +9 -1
  39. package/dist/esm/commands/init.js +132 -65
  40. package/dist/esm/commands/init.js.map +1 -1
  41. package/dist/esm/commands/install-mcp.d.ts +50 -0
  42. package/dist/esm/commands/install-mcp.js +497 -0
  43. package/dist/esm/commands/install-mcp.js.map +1 -0
  44. package/dist/esm/commands/install-rules.d.ts +11 -0
  45. package/dist/esm/commands/install-rules.js +381 -0
  46. package/dist/esm/commands/install-rules.js.map +1 -0
  47. package/dist/esm/commands/list-profiles.d.ts +3 -7
  48. package/dist/esm/commands/list-profiles.js +7 -4
  49. package/dist/esm/commands/list-profiles.js.map +1 -1
  50. package/dist/esm/commands/login.d.ts +9 -5
  51. package/dist/esm/commands/login.js +40 -7
  52. package/dist/esm/commands/login.js.map +1 -1
  53. package/dist/esm/commands/logout.d.ts +1 -1
  54. package/dist/esm/commands/mcp.d.ts +38 -0
  55. package/dist/esm/commands/mcp.js +82 -0
  56. package/dist/esm/commands/mcp.js.map +1 -0
  57. package/dist/esm/commands/preview.d.ts +5 -0
  58. package/dist/esm/commands/preview.js +93 -0
  59. package/dist/esm/commands/preview.js.map +1 -0
  60. package/dist/esm/commands/promote.d.ts +3 -0
  61. package/dist/esm/commands/promote.js +86 -0
  62. package/dist/esm/commands/promote.js.map +1 -0
  63. package/dist/esm/commands/switch.d.ts +19 -0
  64. package/dist/esm/commands/switch.js +93 -0
  65. package/dist/esm/commands/switch.js.map +1 -0
  66. package/dist/esm/commands/trigger.d.ts +33 -0
  67. package/dist/esm/commands/trigger.js +88 -0
  68. package/dist/esm/commands/trigger.js.map +1 -0
  69. package/dist/esm/commands/update.d.ts +3 -2
  70. package/dist/esm/commands/update.js +23 -9
  71. package/dist/esm/commands/update.js.map +1 -1
  72. package/dist/esm/commands/whoami.d.ts +12 -1
  73. package/dist/esm/commands/whoami.js +36 -6
  74. package/dist/esm/commands/whoami.js.map +1 -1
  75. package/dist/esm/commands/workers/build.d.ts +4 -0
  76. package/dist/esm/commands/workers/build.js +345 -0
  77. package/dist/esm/commands/workers/build.js.map +1 -0
  78. package/dist/esm/commands/workers/create.d.ts +2 -0
  79. package/dist/esm/commands/workers/create.js +91 -0
  80. package/dist/esm/commands/workers/create.js.map +1 -0
  81. package/dist/esm/commands/workers/index.d.ts +2 -0
  82. package/dist/esm/commands/workers/index.js +13 -0
  83. package/dist/esm/commands/workers/index.js.map +1 -0
  84. package/dist/esm/commands/workers/list.d.ts +2 -0
  85. package/dist/esm/commands/workers/list.js +80 -0
  86. package/dist/esm/commands/workers/list.js.map +1 -0
  87. package/dist/esm/commands/workers/run.d.ts +2 -0
  88. package/dist/esm/commands/workers/run.js +105 -0
  89. package/dist/esm/commands/workers/run.js.map +1 -0
  90. package/dist/esm/config.d.ts +2 -1
  91. package/dist/esm/config.js +35 -8
  92. package/dist/esm/config.js.map +1 -1
  93. package/dist/esm/deploy/buildImage.d.ts +12 -11
  94. package/dist/esm/deploy/buildImage.js +360 -115
  95. package/dist/esm/deploy/buildImage.js.map +1 -1
  96. package/dist/esm/dev/backgroundWorker.d.ts +6 -245
  97. package/dist/esm/dev/backgroundWorker.js +11 -320
  98. package/dist/esm/dev/backgroundWorker.js.map +1 -1
  99. package/dist/esm/dev/devOutput.js +48 -9
  100. package/dist/esm/dev/devOutput.js.map +1 -1
  101. package/dist/esm/dev/devSession.d.ts +2 -1
  102. package/dist/esm/dev/devSession.js +68 -65
  103. package/dist/esm/dev/devSession.js.map +1 -1
  104. package/dist/esm/dev/devSupervisor.d.ts +12 -0
  105. package/dist/esm/dev/devSupervisor.js +568 -0
  106. package/dist/esm/dev/devSupervisor.js.map +1 -0
  107. package/dist/esm/dev/lock.d.ts +1 -0
  108. package/dist/esm/dev/lock.js +80 -0
  109. package/dist/esm/dev/lock.js.map +1 -0
  110. package/dist/esm/dev/mcpServer.d.ts +10 -0
  111. package/dist/esm/dev/mcpServer.js +201 -0
  112. package/dist/esm/dev/mcpServer.js.map +1 -0
  113. package/dist/esm/dev/taskRunProcessPool.d.ts +39 -0
  114. package/dist/esm/dev/taskRunProcessPool.js +220 -0
  115. package/dist/esm/dev/taskRunProcessPool.js.map +1 -0
  116. package/dist/esm/dev/workerRuntime.d.ts +2 -2
  117. package/dist/esm/dev/workerRuntime.js +1 -265
  118. package/dist/esm/dev/workerRuntime.js.map +1 -1
  119. package/dist/esm/entryPoints/dev-index-worker.js +45 -8
  120. package/dist/esm/entryPoints/dev-index-worker.js.map +1 -1
  121. package/dist/esm/entryPoints/dev-run-controller.d.ts +58 -0
  122. package/dist/esm/entryPoints/dev-run-controller.js +652 -0
  123. package/dist/esm/entryPoints/dev-run-controller.js.map +1 -0
  124. package/dist/esm/entryPoints/dev-run-worker.js +394 -199
  125. package/dist/esm/entryPoints/dev-run-worker.js.map +1 -1
  126. package/dist/esm/entryPoints/managed/controller.d.ts +63 -0
  127. package/dist/esm/entryPoints/managed/controller.js +502 -0
  128. package/dist/esm/entryPoints/managed/controller.js.map +1 -0
  129. package/dist/esm/entryPoints/managed/env.d.ts +170 -0
  130. package/dist/esm/entryPoints/managed/env.js +199 -0
  131. package/dist/esm/entryPoints/managed/env.js.map +1 -0
  132. package/dist/esm/entryPoints/managed/execution.d.ts +143 -0
  133. package/dist/esm/entryPoints/managed/execution.js +901 -0
  134. package/dist/esm/entryPoints/managed/execution.js.map +1 -0
  135. package/dist/esm/entryPoints/managed/logger.d.ts +30 -0
  136. package/dist/esm/entryPoints/managed/logger.js +47 -0
  137. package/dist/esm/entryPoints/managed/logger.js.map +1 -0
  138. package/dist/esm/entryPoints/managed/notifier.d.ts +30 -0
  139. package/dist/esm/entryPoints/managed/notifier.js +63 -0
  140. package/dist/esm/entryPoints/managed/notifier.js.map +1 -0
  141. package/dist/esm/entryPoints/managed/overrides.d.ts +18 -0
  142. package/dist/esm/entryPoints/managed/overrides.js +19 -0
  143. package/dist/esm/entryPoints/managed/overrides.js.map +1 -0
  144. package/dist/esm/entryPoints/managed/poller.d.ts +31 -0
  145. package/dist/esm/entryPoints/managed/poller.js +89 -0
  146. package/dist/esm/entryPoints/managed/poller.js.map +1 -0
  147. package/dist/esm/entryPoints/managed/snapshot.d.ts +54 -0
  148. package/dist/esm/entryPoints/managed/snapshot.js +293 -0
  149. package/dist/esm/entryPoints/managed/snapshot.js.map +1 -0
  150. package/dist/esm/entryPoints/managed/taskRunProcessProvider.d.ts +62 -0
  151. package/dist/esm/entryPoints/managed/taskRunProcessProvider.js +252 -0
  152. package/dist/esm/entryPoints/managed/taskRunProcessProvider.js.map +1 -0
  153. package/dist/esm/entryPoints/{deploy-index-controller.js → managed-index-controller.js} +27 -3
  154. package/dist/esm/entryPoints/managed-index-controller.js.map +1 -0
  155. package/dist/esm/entryPoints/{deploy-index-worker.js → managed-index-worker.js} +50 -21
  156. package/dist/esm/entryPoints/managed-index-worker.js.map +1 -0
  157. package/dist/esm/entryPoints/managed-run-controller.js +13 -0
  158. package/dist/esm/entryPoints/managed-run-controller.js.map +1 -0
  159. package/dist/esm/entryPoints/managed-run-worker.js +512 -0
  160. package/dist/esm/entryPoints/managed-run-worker.js.map +1 -0
  161. package/dist/esm/executions/taskRunProcess.d.ts +28 -82
  162. package/dist/esm/executions/taskRunProcess.js +130 -74
  163. package/dist/esm/executions/taskRunProcess.js.map +1 -1
  164. package/dist/esm/indexing/indexWorkerManifest.d.ts +21 -5
  165. package/dist/esm/indexing/indexWorkerManifest.js +4 -4
  166. package/dist/esm/indexing/indexWorkerManifest.js.map +1 -1
  167. package/dist/esm/indexing/registerResources.d.ts +5 -0
  168. package/dist/esm/indexing/registerResources.js +44 -0
  169. package/dist/esm/indexing/registerResources.js.map +1 -0
  170. package/dist/esm/mcp/auth.d.ts +12 -0
  171. package/dist/esm/mcp/auth.js +152 -0
  172. package/dist/esm/mcp/auth.js.map +1 -0
  173. package/dist/esm/mcp/capabilities.d.ts +4 -0
  174. package/dist/esm/mcp/capabilities.js +22 -0
  175. package/dist/esm/mcp/capabilities.js.map +1 -0
  176. package/dist/esm/mcp/config.d.ts +82 -0
  177. package/dist/esm/mcp/config.js +87 -0
  178. package/dist/esm/mcp/config.js.map +1 -0
  179. package/dist/esm/mcp/context.d.ts +45 -0
  180. package/dist/esm/mcp/context.js +129 -0
  181. package/dist/esm/mcp/context.js.map +1 -0
  182. package/dist/esm/mcp/formatters.d.ts +7 -0
  183. package/dist/esm/mcp/formatters.js +330 -0
  184. package/dist/esm/mcp/formatters.js.map +1 -0
  185. package/dist/esm/mcp/logger.d.ts +11 -0
  186. package/dist/esm/mcp/logger.js +34 -0
  187. package/dist/esm/mcp/logger.js.map +1 -0
  188. package/dist/esm/mcp/mintlifyClient.d.ts +1 -0
  189. package/dist/esm/mcp/mintlifyClient.js +65 -0
  190. package/dist/esm/mcp/mintlifyClient.js.map +1 -0
  191. package/dist/esm/mcp/schemas.d.ts +324 -0
  192. package/dist/esm/mcp/schemas.js +144 -0
  193. package/dist/esm/mcp/schemas.js.map +1 -0
  194. package/dist/esm/mcp/tools/deploys.d.ts +174 -0
  195. package/dist/esm/mcp/tools/deploys.js +161 -0
  196. package/dist/esm/mcp/tools/deploys.js.map +1 -0
  197. package/dist/esm/mcp/tools/docs.d.ts +77 -0
  198. package/dist/esm/mcp/tools/docs.js +18 -0
  199. package/dist/esm/mcp/tools/docs.js.map +1 -0
  200. package/dist/esm/mcp/tools/orgs.d.ts +172 -0
  201. package/dist/esm/mcp/tools/orgs.js +172 -0
  202. package/dist/esm/mcp/tools/orgs.js.map +1 -0
  203. package/dist/esm/mcp/tools/previewBranches.d.ts +78 -0
  204. package/dist/esm/mcp/tools/previewBranches.js +28 -0
  205. package/dist/esm/mcp/tools/previewBranches.js.map +1 -0
  206. package/dist/esm/mcp/tools/runs.d.ts +335 -0
  207. package/dist/esm/mcp/tools/runs.js +160 -0
  208. package/dist/esm/mcp/tools/runs.js.map +1 -0
  209. package/dist/esm/mcp/tools/tasks.d.ts +200 -0
  210. package/dist/esm/mcp/tools/tasks.js +117 -0
  211. package/dist/esm/mcp/tools/tasks.js.map +1 -0
  212. package/dist/esm/mcp/tools.d.ts +2 -0
  213. package/dist/esm/mcp/tools.js +40 -0
  214. package/dist/esm/mcp/tools.js.map +1 -0
  215. package/dist/esm/mcp/types.d.ts +6 -0
  216. package/dist/esm/mcp/types.js +2 -0
  217. package/dist/esm/mcp/types.js.map +1 -0
  218. package/dist/esm/mcp/utils.d.ts +89 -0
  219. package/dist/esm/mcp/utils.js +95 -0
  220. package/dist/esm/mcp/utils.js.map +1 -0
  221. package/dist/esm/rules/install.d.ts +1 -0
  222. package/dist/esm/rules/install.js +2 -0
  223. package/dist/esm/rules/install.js.map +1 -0
  224. package/dist/esm/rules/manifest.d.ts +145 -0
  225. package/dist/esm/rules/manifest.js +110 -0
  226. package/dist/esm/rules/manifest.js.map +1 -0
  227. package/dist/esm/rules/types.d.ts +3 -0
  228. package/dist/esm/rules/types.js +3 -0
  229. package/dist/esm/rules/types.js.map +1 -0
  230. package/dist/esm/utilities/accessTokens.d.ts +12 -0
  231. package/dist/esm/utilities/accessTokens.js +30 -0
  232. package/dist/esm/utilities/accessTokens.js.map +1 -0
  233. package/dist/esm/utilities/analyze.d.ts +13 -0
  234. package/dist/esm/utilities/analyze.js +463 -0
  235. package/dist/esm/utilities/analyze.js.map +1 -0
  236. package/dist/esm/utilities/cliOutput.d.ts +6 -1
  237. package/dist/esm/utilities/cliOutput.js +11 -2
  238. package/dist/esm/utilities/cliOutput.js.map +1 -1
  239. package/dist/esm/utilities/configFiles.d.ts +65 -15
  240. package/dist/esm/utilities/configFiles.js +124 -26
  241. package/dist/esm/utilities/configFiles.js.map +1 -1
  242. package/dist/esm/utilities/eventBus.d.ts +7 -3
  243. package/dist/esm/utilities/eventBus.js.map +1 -1
  244. package/dist/esm/utilities/fileSystem.d.ts +7 -1
  245. package/dist/esm/utilities/fileSystem.js +42 -4
  246. package/dist/esm/utilities/fileSystem.js.map +1 -1
  247. package/dist/esm/utilities/gitMeta.d.ts +2 -0
  248. package/dist/esm/utilities/gitMeta.js +220 -0
  249. package/dist/esm/utilities/gitMeta.js.map +1 -0
  250. package/dist/esm/utilities/githubActions.d.ts +4 -0
  251. package/dist/esm/utilities/githubActions.js +18 -0
  252. package/dist/esm/utilities/githubActions.js.map +1 -0
  253. package/dist/esm/utilities/initialBanner.js +18 -6
  254. package/dist/esm/utilities/initialBanner.js.map +1 -1
  255. package/dist/esm/utilities/localEnvVars.d.ts +3 -0
  256. package/dist/esm/utilities/localEnvVars.js +19 -0
  257. package/dist/esm/utilities/localEnvVars.js.map +1 -0
  258. package/dist/esm/utilities/sanitizeEnvVars.d.ts +16 -3
  259. package/dist/esm/utilities/sanitizeEnvVars.js +15 -0
  260. package/dist/esm/utilities/sanitizeEnvVars.js.map +1 -1
  261. package/dist/esm/utilities/session.d.ts +14 -0
  262. package/dist/esm/utilities/session.js +44 -47
  263. package/dist/esm/utilities/session.js.map +1 -1
  264. package/dist/esm/utilities/supportsHyperlinks.d.ts +15 -0
  265. package/dist/esm/utilities/supportsHyperlinks.js +122 -0
  266. package/dist/esm/utilities/supportsHyperlinks.js.map +1 -0
  267. package/dist/esm/utilities/tempDirectories.d.ts +1 -0
  268. package/dist/esm/utilities/tempDirectories.js +19 -2
  269. package/dist/esm/utilities/tempDirectories.js.map +1 -1
  270. package/dist/esm/utilities/terminalLink.d.ts +56 -0
  271. package/dist/esm/utilities/terminalLink.js +76 -0
  272. package/dist/esm/utilities/terminalLink.js.map +1 -0
  273. package/dist/esm/utilities/windows.js +65 -1
  274. package/dist/esm/utilities/windows.js.map +1 -1
  275. package/dist/esm/version.js +1 -1
  276. package/package.json +44 -25
  277. package/dist/esm/entryPoints/deploy-index-controller.js.map +0 -1
  278. package/dist/esm/entryPoints/deploy-index-worker.js.map +0 -1
  279. package/dist/esm/entryPoints/deploy-run-controller.js +0 -1099
  280. package/dist/esm/entryPoints/deploy-run-controller.js.map +0 -1
  281. package/dist/esm/entryPoints/deploy-run-worker.js +0 -366
  282. package/dist/esm/entryPoints/deploy-run-worker.js.map +0 -1
  283. package/dist/esm/indexing/registerTasks.d.ts +0 -2
  284. package/dist/esm/indexing/registerTasks.js +0 -62
  285. package/dist/esm/indexing/registerTasks.js.map +0 -1
  286. package/dist/esm/telemetry/tracing.d.ts +0 -3
  287. package/dist/esm/telemetry/tracing.js +0 -58
  288. package/dist/esm/telemetry/tracing.js.map +0 -1
  289. /package/dist/esm/entryPoints/{deploy-index-controller.d.ts → managed-index-controller.d.ts} +0 -0
  290. /package/dist/esm/entryPoints/{deploy-index-worker.d.ts → managed-index-worker.d.ts} +0 -0
  291. /package/dist/esm/entryPoints/{deploy-run-controller.d.ts → managed-run-controller.d.ts} +0 -0
  292. /package/dist/esm/entryPoints/{deploy-run-worker.d.ts → managed-run-worker.d.ts} +0 -0
@@ -0,0 +1,463 @@
1
+ import { chalkGreen, chalkError, chalkWarning, chalkTask, chalkPurple } from "./cliOutput.js";
2
+ import chalk from "chalk";
3
+ import CLITable from "cli-table3";
4
+ export function analyzeWorker(worker, printDetails = false, disableWarnings = false) {
5
+ if (!worker.manifest) {
6
+ return;
7
+ }
8
+ if (printDetails) {
9
+ printBundleTree(worker.manifest, worker.metafile);
10
+ printBundleSummaryTable(worker.manifest, worker.metafile);
11
+ }
12
+ if (!disableWarnings) {
13
+ printWarnings(worker.manifest);
14
+ }
15
+ }
16
+ export function printBundleTree(workerManifest, metafile, opts) {
17
+ const sortBy = opts?.sortBy ?? "timing";
18
+ const preservePath = opts?.preservePath ?? true;
19
+ const collapseBundles = opts?.collapseBundles ?? false;
20
+ const data = getBundleTreeData(workerManifest, metafile);
21
+ if (sortBy === "timing") {
22
+ data.sort((a, b) => (a.timing ?? Infinity) - (b.timing ?? Infinity));
23
+ }
24
+ else if (sortBy === "bundleSize") {
25
+ data.sort((a, b) => b.bundleSize - a.bundleSize);
26
+ }
27
+ const { outputs } = metafile;
28
+ // Build the output-defines-task-ids map once
29
+ const outputDefinesTaskIds = buildOutputDefinesTaskIdsMap(workerManifest, metafile);
30
+ for (const item of data) {
31
+ const { filePath, taskIds, bundleSize, bundleChildren, timing } = item;
32
+ // Print the root
33
+ const displayPath = getDisplayPath(filePath, preservePath);
34
+ const timingStr = formatTimingColored(timing, true);
35
+ console.log(chalk.bold(chalkPurple(displayPath)) + " " + timingStr);
36
+ // Determine if we have both tasks and bundles to print as siblings
37
+ const taskCount = taskIds.length;
38
+ const hasBundles = bundleChildren.length > 0;
39
+ const hasTasks = taskCount > 0;
40
+ const showTasks = hasTasks;
41
+ const showBundles = hasBundles;
42
+ if (showTasks) {
43
+ const symbol = showBundles ? "├──" : "└──";
44
+ console.log(` ${symbol} ${chalk.bold(formatTaskCountLabel(taskCount))}`);
45
+ const indent = showBundles ? " │ " : " ";
46
+ printTaskTree(taskIds, indent);
47
+ }
48
+ if (showBundles) {
49
+ // Find the output file for this task file
50
+ const outputFile = findOutputFileByEntryPoint(outputs, filePath);
51
+ // Calculate total bundle size and unique bundle count
52
+ const totalBundleSize = outputFile ? sumBundleTreeUnique(outputs, outputFile) : 0;
53
+ const bundleSizeColored = formatSizeColored(totalBundleSize, true);
54
+ const uniqueBundleCount = outputFile ? countUniqueBundles(outputs, outputFile) : 0;
55
+ const bundleLabel = formatBundleLabel(uniqueBundleCount, bundleSizeColored);
56
+ console.log(` └── ${chalk.bold(bundleLabel)}`);
57
+ if (!collapseBundles) {
58
+ // Print the root bundle as the only child under bundles
59
+ const taskSeen = new Set();
60
+ printBundleRoot({
61
+ outputs,
62
+ outputFile,
63
+ preservePath,
64
+ indent: " ",
65
+ taskSeen,
66
+ outputDefinesTaskIds,
67
+ });
68
+ }
69
+ }
70
+ console.log("");
71
+ }
72
+ }
73
+ export function printBundleSummaryTable(workerManifest, metafile, opts) {
74
+ const data = getBundleTreeData(workerManifest, metafile);
75
+ // Sort by timing (asc, missing last), then bundle size (desc), then file (asc)
76
+ const sorted = [...data].sort(sortBundleTableData);
77
+ const preservePath = opts?.preservePath ?? true;
78
+ const table = new CLITable({
79
+ head: [
80
+ chalk.bold("File"),
81
+ chalk.bold("Tasks"),
82
+ chalk.bold("Bundle size"),
83
+ chalk.bold("Import timing"),
84
+ ],
85
+ style: {
86
+ head: ["blue"],
87
+ border: ["gray"],
88
+ },
89
+ wordWrap: true,
90
+ });
91
+ for (const item of sorted) {
92
+ const { filePath, taskIds, bundleSize, timing } = item;
93
+ const displayPath = getDisplayPath(filePath, preservePath);
94
+ const bundleSizeColored = formatSizeColored(bundleSize, false);
95
+ const timingStr = formatTimingColored(timing, false);
96
+ table.push([displayPath, taskIds.length, bundleSizeColored, timingStr]);
97
+ }
98
+ console.log(table.toString());
99
+ }
100
+ export function printWarnings(workerManifest) {
101
+ if (!workerManifest.timings) {
102
+ return;
103
+ }
104
+ const timings = workerManifest.timings;
105
+ const tasksByFile = getTasksByFile(workerManifest.tasks);
106
+ let hasWarnings = false;
107
+ for (const [filePath, timing] of Object.entries(timings)) {
108
+ // Warn if the file takes more than 1 second to import
109
+ if (timing > 1000) {
110
+ if (!hasWarnings) {
111
+ console.log("");
112
+ hasWarnings = true;
113
+ }
114
+ const taskIds = tasksByFile[filePath] || [];
115
+ const timingStr = chalkError(`(${Math.round(timing)}ms)`);
116
+ // File path: bold and purple
117
+ console.log(`${chalk.bold(chalkPurple(filePath))} ${timingStr}`);
118
+ // Tasks: blue with a nice tree symbol
119
+ taskIds.forEach((id, idx) => {
120
+ const isLast = idx === taskIds.length - 1;
121
+ const symbol = isLast ? "└──" : "├──";
122
+ console.log(`${chalkTask(symbol)} ${chalkTask(id)}`);
123
+ });
124
+ console.log("");
125
+ console.log(chalkError("Warning: Slow import timing detected (>1s). This will cause slow startups. Consider optimizing this file."));
126
+ console.log("");
127
+ }
128
+ }
129
+ if (hasWarnings) {
130
+ printSlowImportTips();
131
+ }
132
+ }
133
+ function getTasksByFile(tasks) {
134
+ const tasksByFile = {};
135
+ tasks.forEach((task) => {
136
+ const filePath = task.filePath;
137
+ if (!tasksByFile[filePath]) {
138
+ tasksByFile[filePath] = [];
139
+ }
140
+ tasksByFile[filePath].push(task.id);
141
+ });
142
+ return tasksByFile;
143
+ }
144
+ function formatSize(bytes) {
145
+ if (bytes > 1024 * 1024) {
146
+ return chalkError(`${(bytes / (1024 * 1024)).toFixed(2)} MB`);
147
+ }
148
+ else if (bytes > 1024) {
149
+ return chalkWarning(`${(bytes / 1024).toFixed(1)} KB`);
150
+ }
151
+ else {
152
+ return chalkGreen(`${bytes} B`);
153
+ }
154
+ }
155
+ function normalizePath(path) {
156
+ // Remove .trigger/tmp/build-<hash>/ prefix
157
+ return path.replace(/(^|\/).trigger\/tmp\/build-[^/]+\//, "");
158
+ }
159
+ function getBundleTreeData(workerManifest, metafile) {
160
+ const tasksByFile = getTasksByFile(workerManifest.tasks);
161
+ const outputs = metafile.outputs;
162
+ const timings = workerManifest.timings || {};
163
+ // Map entryPoint (source file) to output file in outputs
164
+ const entryToOutput = {};
165
+ for (const [outputPath, outputMeta] of Object.entries(outputs)) {
166
+ if (outputMeta.entryPoint) {
167
+ entryToOutput[outputMeta.entryPoint] = outputPath;
168
+ }
169
+ }
170
+ const result = [];
171
+ for (const filePath of Object.keys(tasksByFile)) {
172
+ const outputFile = entryToOutput[filePath];
173
+ const taskIds = tasksByFile[filePath];
174
+ if (!taskIds || taskIds.length === 0)
175
+ continue;
176
+ let bundleTreeInfo = { total: 0, count: 0 };
177
+ let bundleChildren = [];
178
+ if (outputFile && outputs[outputFile]) {
179
+ bundleChildren = getInternalChildren(outputs[outputFile], outputs);
180
+ // Sum up all bundles in the tree (excluding the root)
181
+ const seen = new Set();
182
+ bundleChildren.forEach((child, idx) => {
183
+ const res = sumBundleTree(outputs, child, seen);
184
+ bundleTreeInfo.total += res.total;
185
+ bundleTreeInfo.count += res.count;
186
+ });
187
+ }
188
+ result.push({
189
+ filePath,
190
+ taskIds,
191
+ bundleSize: bundleTreeInfo.total,
192
+ bundleCount: bundleTreeInfo.count,
193
+ timing: typeof timings[filePath] === "number" ? timings[filePath] : undefined,
194
+ bundleChildren,
195
+ });
196
+ }
197
+ return result;
198
+ }
199
+ function sumBundleTree(outputs, current, seen) {
200
+ if (seen.has(current)) {
201
+ return { total: 0, count: 0 };
202
+ }
203
+ seen.add(current);
204
+ const output = outputs[current];
205
+ if (!output) {
206
+ return { total: 0, count: 0 };
207
+ }
208
+ const size = output.bytes;
209
+ const children = getInternalChildren(output, outputs);
210
+ let total = size;
211
+ let count = 1;
212
+ children.forEach((child) => {
213
+ const res = sumBundleTree(outputs, child, seen);
214
+ total += res.total;
215
+ count += res.count;
216
+ });
217
+ return { total, count };
218
+ }
219
+ // Helper to format bundle size with color
220
+ function formatSizeColored(bytes, withBraces = false) {
221
+ let str;
222
+ if (bytes > 5 * 1024 * 1024) {
223
+ str = `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
224
+ str = withBraces ? chalkError(`(${str})`) : chalkError(str);
225
+ }
226
+ else if (bytes > 1024 * 1024) {
227
+ str = `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
228
+ str = withBraces ? chalkWarning(`(${str})`) : chalkWarning(str);
229
+ }
230
+ else if (bytes > 1024) {
231
+ str = `${(bytes / 1024).toFixed(1)} KB`;
232
+ str = withBraces ? chalkGreen(`(${str})`) : chalkGreen(str);
233
+ }
234
+ else {
235
+ str = `${bytes} B`;
236
+ str = withBraces ? chalkGreen(`(${str})`) : chalkGreen(str);
237
+ }
238
+ return str;
239
+ }
240
+ // Helper to format timing with color
241
+ function formatTimingColored(timing, withBraces = false) {
242
+ let str;
243
+ if (typeof timing !== "number") {
244
+ str = "?ms";
245
+ return withBraces ? chalkGreen(`(${str})`) : chalkGreen(str);
246
+ }
247
+ if (timing > 1000) {
248
+ str = `${Math.round(timing)}ms`;
249
+ return withBraces ? chalkError(`(${str})`) : chalkError(str);
250
+ }
251
+ else if (timing > 200) {
252
+ str = `${Math.round(timing)}ms`;
253
+ return withBraces ? chalkWarning(`(${str})`) : chalkWarning(str);
254
+ }
255
+ else {
256
+ str = `${Math.round(timing)}ms`;
257
+ return withBraces ? chalkGreen(`(${str})`) : chalkGreen(str);
258
+ }
259
+ }
260
+ // Helper to build a map from output file path to task IDs it actually defines (based on inputs)
261
+ function buildOutputDefinesTaskIdsMap(workerManifest, metafile) {
262
+ const outputs = metafile.outputs;
263
+ // Map from task file path to task IDs
264
+ const filePathToTaskIds = {};
265
+ for (const task of workerManifest.tasks) {
266
+ if (!filePathToTaskIds[task.filePath])
267
+ filePathToTaskIds[task.filePath] = [];
268
+ filePathToTaskIds[task.filePath].push(task.id);
269
+ }
270
+ // Map from output file to set of task IDs it defines
271
+ const outputDefinesTaskIds = {};
272
+ for (const [outputPath, outputMeta] of Object.entries(outputs)) {
273
+ if (!outputMeta.inputs)
274
+ continue;
275
+ for (const inputPath of Object.keys(outputMeta.inputs)) {
276
+ if (filePathToTaskIds[inputPath]) {
277
+ if (!outputDefinesTaskIds[outputPath])
278
+ outputDefinesTaskIds[outputPath] = new Set();
279
+ for (const taskId of filePathToTaskIds[inputPath]) {
280
+ outputDefinesTaskIds[outputPath].add(taskId);
281
+ }
282
+ }
283
+ }
284
+ }
285
+ return outputDefinesTaskIds;
286
+ }
287
+ function getDefinesTaskLabel(taskIds, prefix = "<-- defines tasks: ") {
288
+ if (!taskIds) {
289
+ return "";
290
+ }
291
+ if (taskIds.size === 0) {
292
+ return "";
293
+ }
294
+ return " " + chalk.cyanBright(`${prefix}${Array.from(taskIds).join(", ")}`);
295
+ }
296
+ function printBundleTreeNode({ outputs, current, branchSeen, taskSeen, prefix = "", isLast = true, preservePath = true, colorBundleSize = false, outputDefinesTaskIds = {}, }) {
297
+ // Detect circular dependencies
298
+ if (branchSeen.has(current)) {
299
+ const displayPath = preservePath ? current : normalizePath(current);
300
+ console.log(prefix + (isLast ? "└── " : "├── ") + chalk.grey(displayPath) + chalk.grey(" (circular)"));
301
+ return;
302
+ }
303
+ // Detect already seen bundles (per task)
304
+ if (taskSeen.has(current)) {
305
+ const displayPath = preservePath ? current : normalizePath(current);
306
+ console.log(prefix + (isLast ? "└── " : "├── ") + chalk.grey(displayPath));
307
+ return;
308
+ }
309
+ // Add to seen cache
310
+ branchSeen.add(current);
311
+ taskSeen.add(current);
312
+ // Get the output for the current node
313
+ const output = outputs[current];
314
+ if (!output) {
315
+ const displayPath = preservePath ? current : normalizePath(current);
316
+ console.log(prefix +
317
+ (isLast ? "└── " : "├── ") +
318
+ chalk.grey(displayPath) +
319
+ chalk.grey(" (not found in outputs)"));
320
+ return;
321
+ }
322
+ // Get the size and children of the current node
323
+ const size = output.bytes;
324
+ const children = getInternalChildren(output, outputs);
325
+ const newPrefix = prefix + (isLast ? " " : "│ ");
326
+ const displayPath = preservePath ? current : normalizePath(current);
327
+ const sizeStr = colorBundleSize ? formatSizeColored(size, true) : formatSize(size);
328
+ const definesTaskLabel = output && !output.entryPoint ? getDefinesTaskLabel(outputDefinesTaskIds[current]) : "";
329
+ console.log(prefix + (isLast ? "└── " : "├── ") + chalk.bold(displayPath) + ` ` + sizeStr + definesTaskLabel);
330
+ // Print the children
331
+ children.forEach((child, idx) => {
332
+ printBundleTreeNode({
333
+ outputs,
334
+ current: child,
335
+ branchSeen: new Set(branchSeen),
336
+ taskSeen,
337
+ prefix: newPrefix,
338
+ isLast: idx === children.length - 1,
339
+ preservePath,
340
+ colorBundleSize,
341
+ outputDefinesTaskIds,
342
+ });
343
+ });
344
+ }
345
+ // Helper to sum the size of the root bundle and all unique descendants
346
+ function sumBundleTreeUnique(outputs, root) {
347
+ const seen = new Set();
348
+ function walk(current) {
349
+ if (seen.has(current))
350
+ return 0;
351
+ seen.add(current);
352
+ const output = outputs[current];
353
+ if (!output)
354
+ return 0;
355
+ let total = output.bytes;
356
+ const children = getInternalChildren(output, outputs);
357
+ for (const child of children) {
358
+ total += walk(child);
359
+ }
360
+ return total;
361
+ }
362
+ return walk(root);
363
+ }
364
+ // Helper to count unique bundles in the tree
365
+ function countUniqueBundles(outputs, root) {
366
+ const seen = new Set();
367
+ function walk(current) {
368
+ if (seen.has(current))
369
+ return;
370
+ seen.add(current);
371
+ const output = outputs[current];
372
+ if (!output)
373
+ return;
374
+ const children = getInternalChildren(output, outputs);
375
+ for (const child of children) {
376
+ walk(child);
377
+ }
378
+ }
379
+ walk(root);
380
+ return seen.size;
381
+ }
382
+ function printBundleRoot({ outputs, outputFile, preservePath, indent = " ", taskSeen, outputDefinesTaskIds, }) {
383
+ if (!outputFile) {
384
+ return;
385
+ }
386
+ const output = outputs[outputFile];
387
+ if (!output) {
388
+ return;
389
+ }
390
+ const rootBundleDisplayPath = getDisplayPath(outputFile, preservePath);
391
+ const rootBundleSizeColored = formatSizeColored(output.bytes, true);
392
+ const definesTaskLabel = !output.entryPoint
393
+ ? getDefinesTaskLabel(outputDefinesTaskIds[outputFile])
394
+ : "";
395
+ // Print root bundle node (always └──)
396
+ console.log(`${indent}└── ${chalk.bold(rootBundleDisplayPath)} ${rootBundleSizeColored}${definesTaskLabel}`);
397
+ // Print children as children of the root bundle node
398
+ const children = getInternalChildren(output, outputs);
399
+ children.forEach((child, idx) => {
400
+ printBundleTreeNode({
401
+ outputs,
402
+ current: child,
403
+ branchSeen: new Set([outputFile]),
404
+ taskSeen,
405
+ prefix: indent + " ",
406
+ isLast: idx === children.length - 1,
407
+ preservePath,
408
+ colorBundleSize: true,
409
+ outputDefinesTaskIds,
410
+ });
411
+ });
412
+ }
413
+ function getInternalChildren(output, outputs) {
414
+ return (output.imports || [])
415
+ .filter((imp) => !imp.external && outputs[imp.path])
416
+ .map((imp) => imp.path);
417
+ }
418
+ function findOutputFileByEntryPoint(outputs, entryPoint) {
419
+ for (const [outputPath, outputMeta] of Object.entries(outputs)) {
420
+ if (outputMeta.entryPoint === entryPoint) {
421
+ return outputPath;
422
+ }
423
+ }
424
+ return undefined;
425
+ }
426
+ function formatTaskCountLabel(count) {
427
+ return `${count} task${count === 1 ? "" : "s"}`;
428
+ }
429
+ function formatBundleLabel(count, size) {
430
+ return `${count} bundle${count === 1 ? "" : "s"} ${size}`;
431
+ }
432
+ function getDisplayPath(path, preserve) {
433
+ return preserve ? path : normalizePath(path);
434
+ }
435
+ function sortBundleTableData(a, b) {
436
+ const aTiming = typeof a.timing === "number" ? a.timing : -Infinity;
437
+ const bTiming = typeof b.timing === "number" ? b.timing : -Infinity;
438
+ if (aTiming !== bTiming)
439
+ return bTiming - aTiming;
440
+ if (b.bundleSize !== a.bundleSize)
441
+ return b.bundleSize - a.bundleSize;
442
+ return a.filePath.localeCompare(b.filePath);
443
+ }
444
+ function printTaskTree(taskIds, indent = "", colorFn = chalkTask) {
445
+ taskIds.forEach((id, idx) => {
446
+ const isLast = idx === taskIds.length - 1;
447
+ const symbol = isLast ? "└──" : "├──";
448
+ console.log(`${indent}${symbol} ${colorFn(id)}`);
449
+ });
450
+ }
451
+ function printSlowImportTips() {
452
+ console.log("Some tips for improving slow imports:");
453
+ console.log("- Are there a lot of tasks in this file? Consider splitting it into multiple files with a single task per file.");
454
+ console.log("- Are you importing any tasks? Consider importing only the task types and trigger with `tasks.trigger(<task-id>)` instead. See: https://trigger.dev/docs/triggering#tasks-trigger");
455
+ console.log("- Are there expensive operations outside of your task at the top level of the file? Consider moving them inside the task or only running them on demand by moving them into a function.");
456
+ console.log("- Are you importing large libraries or modules that aren't used in all code paths? Consider importing them only when needed, for example with a dynamic `await import()`.");
457
+ console.log("- Are you using third-party packages that are known to be slow to import? Check if there are lighter alternatives or if you can import only specific submodules.");
458
+ console.log("");
459
+ console.log("To see more details, run with the --analyze flag.");
460
+ console.log("To disable these warnings, run with the --disable-warnings flag.");
461
+ console.log("");
462
+ }
463
+ //# sourceMappingURL=analyze.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze.js","sourceRoot":"","sources":["../../../src/utilities/analyze.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Options as TerminalLinkOptions } from "terminal-link";
1
+ import { TerminalLinkOptions } from "./terminalLink.js";
2
2
  export declare const isInteractive: boolean;
3
3
  export declare const isLinksSupported: boolean;
4
4
  export declare const green = "#4FFF54";
@@ -17,4 +17,9 @@ export declare function logo(): string;
17
17
  export declare function prettyPrintDate(date?: Date): string;
18
18
  export declare function prettyError(header: string, body?: string, footer?: string): void;
19
19
  export declare function prettyWarning(header: string, body?: string, footer?: string): void;
20
+ export declare function aiHelpLink({ dashboardUrl, project, query, }: {
21
+ dashboardUrl: string;
22
+ project: string;
23
+ query: string;
24
+ }): void;
20
25
  export declare function cliLink(text: string, url: string, options?: TerminalLinkOptions): string;
@@ -1,6 +1,6 @@
1
1
  import { log } from "@clack/prompts";
2
2
  import chalk from "chalk";
3
- import terminalLink from "terminal-link";
3
+ import { terminalLink } from "./terminalLink.js";
4
4
  import { hasTTY } from "std-env";
5
5
  export const isInteractive = hasTTY;
6
6
  export const isLinksSupported = terminalLink.isSupported;
@@ -28,7 +28,7 @@ export function chalkLink(text) {
28
28
  return chalk.underline.hex("#D7D9DD")(text);
29
29
  }
30
30
  export function chalkWorker(text) {
31
- return chalk.hex("#FFFF89")(text);
31
+ return chalk.yellowBright(text);
32
32
  }
33
33
  export function chalkTask(text) {
34
34
  return chalk.hex("#60A5FA")(text);
@@ -79,6 +79,15 @@ export function prettyWarning(header, body, footer) {
79
79
  const prettyFooter = withIndents(footer);
80
80
  log.warn(`${prettyPrefix}${header}${prettyBody ? `${spacing}${prettyBody}` : ""}${prettyFooter ? `${spacing}${prettyFooter}` : ""}`);
81
81
  }
82
+ export function aiHelpLink({ dashboardUrl, project, query, }) {
83
+ const searchParams = new URLSearchParams();
84
+ //the max length for a URL is 1950 characters
85
+ const clippedQuery = query.slice(0, 1950);
86
+ searchParams.set("q", clippedQuery);
87
+ const url = new URL(`/projects/${project}/ai-help`, dashboardUrl);
88
+ url.search = searchParams.toString();
89
+ log.message(chalkLink(cliLink("💡 Get a fix for this error using AI", url.toString())));
90
+ }
82
91
  export function cliLink(text, url, options) {
83
92
  return terminalLink(text, url, {
84
93
  fallback: (text, url) => `${text} ${url}`,
@@ -1 +1 @@
1
- {"version":3,"file":"cliOutput.js","sourceRoot":"","sources":["../../../src/utilities/cliOutput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliOutput.js","sourceRoot":"","sources":["../../../src/utilities/cliOutput.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
- export declare const UserAuthConfigSchema: z.ZodObject<{
2
+ export declare const DEFFAULT_PROFILE = "default";
3
+ declare const CliConfigProfileSettings: z.ZodObject<{
3
4
  accessToken: z.ZodOptional<z.ZodString>;
4
5
  apiUrl: z.ZodOptional<z.ZodString>;
5
6
  }, "strip", z.ZodTypeAny, {
@@ -9,21 +10,70 @@ export declare const UserAuthConfigSchema: z.ZodObject<{
9
10
  apiUrl?: string | undefined;
10
11
  accessToken?: string | undefined;
11
12
  }>;
12
- export type UserAuthConfig = z.infer<typeof UserAuthConfigSchema>;
13
- declare const UserAuthConfigFileSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
14
- accessToken: z.ZodOptional<z.ZodString>;
15
- apiUrl: z.ZodOptional<z.ZodString>;
13
+ type CliConfigProfileSettings = z.infer<typeof CliConfigProfileSettings>;
14
+ declare const CliConfigFile: z.ZodObject<{
15
+ version: z.ZodLiteral<2>;
16
+ currentProfile: z.ZodDefault<z.ZodString>;
17
+ profiles: z.ZodRecord<z.ZodString, z.ZodObject<{
18
+ accessToken: z.ZodOptional<z.ZodString>;
19
+ apiUrl: z.ZodOptional<z.ZodString>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ apiUrl?: string | undefined;
22
+ accessToken?: string | undefined;
23
+ }, {
24
+ apiUrl?: string | undefined;
25
+ accessToken?: string | undefined;
26
+ }>>;
27
+ settings: z.ZodOptional<z.ZodObject<{
28
+ hasSeenMCPInstallPrompt: z.ZodOptional<z.ZodBoolean>;
29
+ hasSeenRulesInstallPrompt: z.ZodOptional<z.ZodBoolean>;
30
+ lastRulesInstallPromptVersion: z.ZodOptional<z.ZodString>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ hasSeenMCPInstallPrompt?: boolean | undefined;
33
+ hasSeenRulesInstallPrompt?: boolean | undefined;
34
+ lastRulesInstallPromptVersion?: string | undefined;
35
+ }, {
36
+ hasSeenMCPInstallPrompt?: boolean | undefined;
37
+ hasSeenRulesInstallPrompt?: boolean | undefined;
38
+ lastRulesInstallPromptVersion?: string | undefined;
39
+ }>>;
16
40
  }, "strip", z.ZodTypeAny, {
17
- apiUrl?: string | undefined;
18
- accessToken?: string | undefined;
41
+ version: 2;
42
+ currentProfile: string;
43
+ profiles: Record<string, {
44
+ apiUrl?: string | undefined;
45
+ accessToken?: string | undefined;
46
+ }>;
47
+ settings?: {
48
+ hasSeenMCPInstallPrompt?: boolean | undefined;
49
+ hasSeenRulesInstallPrompt?: boolean | undefined;
50
+ lastRulesInstallPromptVersion?: string | undefined;
51
+ } | undefined;
19
52
  }, {
20
- apiUrl?: string | undefined;
21
- accessToken?: string | undefined;
22
- }>>;
23
- type UserAuthConfigFile = z.infer<typeof UserAuthConfigFileSchema>;
24
- export declare function writeAuthConfigProfile(config: UserAuthConfig, profile?: string): void;
25
- export declare function readAuthConfigProfile(profile?: string): UserAuthConfig | undefined;
53
+ version: 2;
54
+ profiles: Record<string, {
55
+ apiUrl?: string | undefined;
56
+ accessToken?: string | undefined;
57
+ }>;
58
+ currentProfile?: string | undefined;
59
+ settings?: {
60
+ hasSeenMCPInstallPrompt?: boolean | undefined;
61
+ hasSeenRulesInstallPrompt?: boolean | undefined;
62
+ lastRulesInstallPromptVersion?: string | undefined;
63
+ } | undefined;
64
+ }>;
65
+ type CliConfigFile = z.infer<typeof CliConfigFile>;
66
+ export declare function writeAuthConfigCurrentProfileName(profile: string): void;
67
+ export declare function readAuthConfigCurrentProfileName(): string;
68
+ export declare function writeAuthConfigProfile(settings: CliConfigProfileSettings, profile?: string): void;
69
+ export declare function readAuthConfigProfile(profile?: string): CliConfigProfileSettings | undefined;
70
+ export declare function readConfigHasSeenMCPInstallPrompt(): boolean;
71
+ export declare function writeConfigHasSeenMCPInstallPrompt(hasSeenMCPInstallPrompt: boolean): void;
72
+ export declare function readConfigHasSeenRulesInstallPrompt(): boolean;
73
+ export declare function writeConfigHasSeenRulesInstallPrompt(hasSeenRulesInstallPrompt: boolean): void;
74
+ export declare function readConfigLastRulesInstallPromptVersion(): string | undefined;
75
+ export declare function writeConfigLastRulesInstallPromptVersion(version: string): void;
26
76
  export declare function deleteAuthConfigProfile(profile?: string): void;
27
- export declare function readAuthConfigFile(): UserAuthConfigFile | undefined;
28
- export declare function writeAuthConfigFile(config: UserAuthConfigFile): void;
77
+ export declare function readAuthConfigFile(): CliConfigFile | null;
78
+ export declare function writeAuthConfigFile(config: CliConfigFile): void;
29
79
  export {};