runwork 0.15.1 → 0.16.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 (404) hide show
  1. package/bundled-types/task-delegation/task-delegation/types.d.ts +6 -0
  2. package/dist/index.js +20237 -116
  3. package/package.json +4 -4
  4. package/dist/__tests__/curl-parser.test.d.ts +0 -1
  5. package/dist/__tests__/curl-parser.test.js +0 -250
  6. package/dist/__tests__/install-scripts.test.d.ts +0 -1
  7. package/dist/__tests__/install-scripts.test.js +0 -280
  8. package/dist/__tests__/types-manager.test.d.ts +0 -1
  9. package/dist/__tests__/types-manager.test.js +0 -89
  10. package/dist/agents/__tests__/chatgpt-registry.test.d.ts +0 -1
  11. package/dist/agents/__tests__/chatgpt-registry.test.js +0 -61
  12. package/dist/agents/__tests__/claude-code-managed-block.test.d.ts +0 -1
  13. package/dist/agents/__tests__/claude-code-managed-block.test.js +0 -105
  14. package/dist/agents/__tests__/claude-code-plugin.test.d.ts +0 -1
  15. package/dist/agents/__tests__/claude-code-plugin.test.js +0 -47
  16. package/dist/agents/__tests__/claude-code-stats.test.d.ts +0 -1
  17. package/dist/agents/__tests__/claude-code-stats.test.js +0 -390
  18. package/dist/agents/__tests__/claude-desktop-memory.test.d.ts +0 -1
  19. package/dist/agents/__tests__/claude-desktop-memory.test.js +0 -154
  20. package/dist/agents/__tests__/claude-desktop-plugin-tree.test.d.ts +0 -1
  21. package/dist/agents/__tests__/claude-desktop-plugin-tree.test.js +0 -161
  22. package/dist/agents/__tests__/claude-desktop-plugin.test.d.ts +0 -1
  23. package/dist/agents/__tests__/claude-desktop-plugin.test.js +0 -117
  24. package/dist/agents/__tests__/claude-desktop-rpm.test.d.ts +0 -1
  25. package/dist/agents/__tests__/claude-desktop-rpm.test.js +0 -126
  26. package/dist/agents/__tests__/claude-desktop-stats.test.d.ts +0 -1
  27. package/dist/agents/__tests__/claude-desktop-stats.test.js +0 -280
  28. package/dist/agents/__tests__/codex-instructions.test.d.ts +0 -1
  29. package/dist/agents/__tests__/codex-instructions.test.js +0 -57
  30. package/dist/agents/__tests__/codex-minimum-permissions.test.d.ts +0 -1
  31. package/dist/agents/__tests__/codex-minimum-permissions.test.js +0 -82
  32. package/dist/agents/__tests__/codex-stats.test.d.ts +0 -1
  33. package/dist/agents/__tests__/codex-stats.test.js +0 -370
  34. package/dist/agents/__tests__/cursor-merge.test.d.ts +0 -1
  35. package/dist/agents/__tests__/cursor-merge.test.js +0 -66
  36. package/dist/agents/__tests__/cursor-stats.test.d.ts +0 -1
  37. package/dist/agents/__tests__/cursor-stats.test.js +0 -183
  38. package/dist/agents/__tests__/defaults-merge.test.d.ts +0 -1
  39. package/dist/agents/__tests__/defaults-merge.test.js +0 -268
  40. package/dist/agents/__tests__/detection.test.d.ts +0 -1
  41. package/dist/agents/__tests__/detection.test.js +0 -89
  42. package/dist/agents/__tests__/graceful-degradation.test.d.ts +0 -1
  43. package/dist/agents/__tests__/graceful-degradation.test.js +0 -129
  44. package/dist/agents/__tests__/instruction-hint.test.d.ts +0 -1
  45. package/dist/agents/__tests__/instruction-hint.test.js +0 -69
  46. package/dist/agents/__tests__/intro-skill.test.d.ts +0 -1
  47. package/dist/agents/__tests__/intro-skill.test.js +0 -193
  48. package/dist/agents/__tests__/schema-validation.test.d.ts +0 -1
  49. package/dist/agents/__tests__/schema-validation.test.js +0 -212
  50. package/dist/agents/__tests__/skill-slug.test.d.ts +0 -1
  51. package/dist/agents/__tests__/skill-slug.test.js +0 -77
  52. package/dist/agents/claude-code.d.ts +0 -59
  53. package/dist/agents/claude-code.js +0 -753
  54. package/dist/agents/claude-desktop-plugin-tree.d.ts +0 -59
  55. package/dist/agents/claude-desktop-plugin-tree.js +0 -143
  56. package/dist/agents/claude-desktop.d.ts +0 -47
  57. package/dist/agents/claude-desktop.js +0 -684
  58. package/dist/agents/cline.d.ts +0 -15
  59. package/dist/agents/cline.js +0 -130
  60. package/dist/agents/codex.d.ts +0 -44
  61. package/dist/agents/codex.js +0 -453
  62. package/dist/agents/conversation-skills.d.ts +0 -18
  63. package/dist/agents/conversation-skills.js +0 -229
  64. package/dist/agents/cursor.d.ts +0 -35
  65. package/dist/agents/cursor.js +0 -294
  66. package/dist/agents/default-config.d.ts +0 -30
  67. package/dist/agents/default-config.js +0 -67
  68. package/dist/agents/defaults-merge.d.ts +0 -87
  69. package/dist/agents/defaults-merge.js +0 -150
  70. package/dist/agents/detect.d.ts +0 -4
  71. package/dist/agents/detect.js +0 -67
  72. package/dist/agents/detection.d.ts +0 -18
  73. package/dist/agents/detection.js +0 -94
  74. package/dist/agents/gemini.d.ts +0 -15
  75. package/dist/agents/gemini.js +0 -122
  76. package/dist/agents/generic-adapter.d.ts +0 -25
  77. package/dist/agents/generic-adapter.js +0 -151
  78. package/dist/agents/intro-skill.d.ts +0 -45
  79. package/dist/agents/intro-skill.js +0 -447
  80. package/dist/agents/registry-data.d.ts +0 -192
  81. package/dist/agents/registry-data.js +0 -669
  82. package/dist/agents/registry.d.ts +0 -13
  83. package/dist/agents/registry.js +0 -36
  84. package/dist/agents/runtime-detection.d.ts +0 -82
  85. package/dist/agents/runtime-detection.js +0 -271
  86. package/dist/agents/session-start-hook.d.ts +0 -37
  87. package/dist/agents/session-start-hook.js +0 -159
  88. package/dist/agents/types.d.ts +0 -171
  89. package/dist/agents/types.js +0 -75
  90. package/dist/agents/utils/instruction-hint.d.ts +0 -21
  91. package/dist/agents/utils/instruction-hint.js +0 -108
  92. package/dist/agents/utils/json-config.d.ts +0 -19
  93. package/dist/agents/utils/json-config.js +0 -69
  94. package/dist/agents/utils/toml-config.d.ts +0 -8
  95. package/dist/agents/utils/toml-config.js +0 -27
  96. package/dist/agents/windsurf.d.ts +0 -14
  97. package/dist/agents/windsurf.js +0 -102
  98. package/dist/api/__tests__/client.test.d.ts +0 -1
  99. package/dist/api/__tests__/client.test.js +0 -272
  100. package/dist/api/client.d.ts +0 -326
  101. package/dist/api/client.js +0 -427
  102. package/dist/auth/__tests__/login-flow.test.d.ts +0 -1
  103. package/dist/auth/__tests__/login-flow.test.js +0 -101
  104. package/dist/auth/__tests__/store.test.d.ts +0 -1
  105. package/dist/auth/__tests__/store.test.js +0 -132
  106. package/dist/auth/login-flow.d.ts +0 -26
  107. package/dist/auth/login-flow.js +0 -137
  108. package/dist/auth/store.d.ts +0 -5
  109. package/dist/auth/store.js +0 -62
  110. package/dist/commands/__tests__/clone-args.test.d.ts +0 -1
  111. package/dist/commands/__tests__/clone-args.test.js +0 -51
  112. package/dist/commands/__tests__/clone-source-result.test.d.ts +0 -1
  113. package/dist/commands/__tests__/clone-source-result.test.js +0 -45
  114. package/dist/commands/__tests__/info-merge.test.d.ts +0 -1
  115. package/dist/commands/__tests__/info-merge.test.js +0 -55
  116. package/dist/commands/__tests__/mcp-entries.test.d.ts +0 -1
  117. package/dist/commands/__tests__/mcp-entries.test.js +0 -48
  118. package/dist/commands/__tests__/setup-persona.test.d.ts +0 -1
  119. package/dist/commands/__tests__/setup-persona.test.js +0 -31
  120. package/dist/commands/__tests__/setup.test.d.ts +0 -1
  121. package/dist/commands/__tests__/setup.test.js +0 -81
  122. package/dist/commands/__tests__/sync-redetect.test.d.ts +0 -1
  123. package/dist/commands/__tests__/sync-redetect.test.js +0 -96
  124. package/dist/commands/__tests__/sync-telemetry.test.d.ts +0 -1
  125. package/dist/commands/__tests__/sync-telemetry.test.js +0 -281
  126. package/dist/commands/__tests__/upgrade.test.d.ts +0 -1
  127. package/dist/commands/__tests__/upgrade.test.js +0 -157
  128. package/dist/commands/agents.d.ts +0 -2
  129. package/dist/commands/agents.js +0 -160
  130. package/dist/commands/api-keys.d.ts +0 -2
  131. package/dist/commands/api-keys.js +0 -95
  132. package/dist/commands/apps.d.ts +0 -2
  133. package/dist/commands/apps.js +0 -82
  134. package/dist/commands/build-plugin.d.ts +0 -2
  135. package/dist/commands/build-plugin.js +0 -135
  136. package/dist/commands/clone.d.ts +0 -60
  137. package/dist/commands/clone.js +0 -271
  138. package/dist/commands/components.d.ts +0 -2
  139. package/dist/commands/components.js +0 -43
  140. package/dist/commands/deploy.d.ts +0 -2
  141. package/dist/commands/deploy.js +0 -279
  142. package/dist/commands/dev.d.ts +0 -11
  143. package/dist/commands/dev.js +0 -1011
  144. package/dist/commands/doctor.d.ts +0 -2
  145. package/dist/commands/doctor.js +0 -230
  146. package/dist/commands/endpoints.d.ts +0 -2
  147. package/dist/commands/endpoints.js +0 -189
  148. package/dist/commands/entities.d.ts +0 -2
  149. package/dist/commands/entities.js +0 -198
  150. package/dist/commands/files.d.ts +0 -2
  151. package/dist/commands/files.js +0 -193
  152. package/dist/commands/inbox.d.ts +0 -11
  153. package/dist/commands/inbox.js +0 -60
  154. package/dist/commands/info.d.ts +0 -178
  155. package/dist/commands/info.js +0 -455
  156. package/dist/commands/init.d.ts +0 -21
  157. package/dist/commands/init.js +0 -185
  158. package/dist/commands/integrations.d.ts +0 -2
  159. package/dist/commands/integrations.js +0 -233
  160. package/dist/commands/login.d.ts +0 -2
  161. package/dist/commands/login.js +0 -44
  162. package/dist/commands/logout.d.ts +0 -2
  163. package/dist/commands/logout.js +0 -13
  164. package/dist/commands/logs.d.ts +0 -2
  165. package/dist/commands/logs.js +0 -232
  166. package/dist/commands/mcp-entries.d.ts +0 -13
  167. package/dist/commands/mcp-entries.js +0 -26
  168. package/dist/commands/mcp.d.ts +0 -2
  169. package/dist/commands/mcp.js +0 -245
  170. package/dist/commands/open.d.ts +0 -2
  171. package/dist/commands/open.js +0 -53
  172. package/dist/commands/resume.d.ts +0 -2
  173. package/dist/commands/resume.js +0 -289
  174. package/dist/commands/save-convo.d.ts +0 -8
  175. package/dist/commands/save-convo.js +0 -20
  176. package/dist/commands/schedules.d.ts +0 -2
  177. package/dist/commands/schedules.js +0 -221
  178. package/dist/commands/setup.d.ts +0 -27
  179. package/dist/commands/setup.js +0 -177
  180. package/dist/commands/share-convo.d.ts +0 -24
  181. package/dist/commands/share-convo.js +0 -167
  182. package/dist/commands/skills.d.ts +0 -2
  183. package/dist/commands/skills.js +0 -352
  184. package/dist/commands/sync-telemetry.d.ts +0 -33
  185. package/dist/commands/sync-telemetry.js +0 -186
  186. package/dist/commands/sync.d.ts +0 -37
  187. package/dist/commands/sync.js +0 -702
  188. package/dist/commands/uninstall.d.ts +0 -2
  189. package/dist/commands/uninstall.js +0 -145
  190. package/dist/commands/upgrade.d.ts +0 -14
  191. package/dist/commands/upgrade.js +0 -217
  192. package/dist/commands/validate.d.ts +0 -2
  193. package/dist/commands/validate.js +0 -89
  194. package/dist/commands/welcome.d.ts +0 -1
  195. package/dist/commands/welcome.js +0 -86
  196. package/dist/commands/workflows.d.ts +0 -2
  197. package/dist/commands/workflows.js +0 -187
  198. package/dist/deploy/__tests__/deploy-state.test.d.ts +0 -1
  199. package/dist/deploy/__tests__/deploy-state.test.js +0 -80
  200. package/dist/deploy/__tests__/deploy-status.test.d.ts +0 -1
  201. package/dist/deploy/__tests__/deploy-status.test.js +0 -41
  202. package/dist/deploy/__tests__/detach-args.test.d.ts +0 -1
  203. package/dist/deploy/__tests__/detach-args.test.js +0 -30
  204. package/dist/deploy/deploy-state.d.ts +0 -36
  205. package/dist/deploy/deploy-state.js +0 -63
  206. package/dist/deploy/deploy-status.d.ts +0 -21
  207. package/dist/deploy/deploy-status.js +0 -36
  208. package/dist/deploy/detach.d.ts +0 -32
  209. package/dist/deploy/detach.js +0 -71
  210. package/dist/dev/__tests__/attach.test.d.ts +0 -1
  211. package/dist/dev/__tests__/attach.test.js +0 -296
  212. package/dist/dev/__tests__/detach.test.d.ts +0 -1
  213. package/dist/dev/__tests__/detach.test.js +0 -404
  214. package/dist/dev/__tests__/preview-url-poller.test.d.ts +0 -1
  215. package/dist/dev/__tests__/preview-url-poller.test.js +0 -149
  216. package/dist/dev/__tests__/session.test.d.ts +0 -1
  217. package/dist/dev/__tests__/session.test.js +0 -446
  218. package/dist/dev/__tests__/startup-sync.test.d.ts +0 -1
  219. package/dist/dev/__tests__/startup-sync.test.js +0 -32
  220. package/dist/dev/__tests__/stop.test.d.ts +0 -1
  221. package/dist/dev/__tests__/stop.test.js +0 -172
  222. package/dist/dev/attach.d.ts +0 -120
  223. package/dist/dev/attach.js +0 -269
  224. package/dist/dev/detach.d.ts +0 -187
  225. package/dist/dev/detach.js +0 -292
  226. package/dist/dev/preview-url-poller.d.ts +0 -35
  227. package/dist/dev/preview-url-poller.js +0 -50
  228. package/dist/dev/session.d.ts +0 -175
  229. package/dist/dev/session.js +0 -258
  230. package/dist/dev/startup-sync.d.ts +0 -23
  231. package/dist/dev/startup-sync.js +0 -14
  232. package/dist/dev/stop.d.ts +0 -52
  233. package/dist/dev/stop.js +0 -101
  234. package/dist/devtools/registry-data.d.ts +0 -46
  235. package/dist/devtools/registry-data.js +0 -40
  236. package/dist/generated/bundled-types.d.ts +0 -1
  237. package/dist/generated/bundled-types.js +0 -46
  238. package/dist/generated/version.d.ts +0 -1
  239. package/dist/generated/version.js +0 -2
  240. package/dist/git/__tests__/auto-commit.test.d.ts +0 -1
  241. package/dist/git/__tests__/auto-commit.test.js +0 -431
  242. package/dist/git/__tests__/classify-sync-error.test.d.ts +0 -1
  243. package/dist/git/__tests__/classify-sync-error.test.js +0 -57
  244. package/dist/git/__tests__/credential-helper-e2e.test.d.ts +0 -21
  245. package/dist/git/__tests__/credential-helper-e2e.test.js +0 -195
  246. package/dist/git/__tests__/credentials.test.d.ts +0 -1
  247. package/dist/git/__tests__/credentials.test.js +0 -141
  248. package/dist/git/__tests__/deploy-guard.test.d.ts +0 -1
  249. package/dist/git/__tests__/deploy-guard.test.js +0 -61
  250. package/dist/git/__tests__/ensure-git-credential-helper.test.d.ts +0 -1
  251. package/dist/git/__tests__/ensure-git-credential-helper.test.js +0 -133
  252. package/dist/git/__tests__/ensure-runwork-remote.test.d.ts +0 -1
  253. package/dist/git/__tests__/ensure-runwork-remote.test.js +0 -109
  254. package/dist/git/__tests__/identity.test.d.ts +0 -1
  255. package/dist/git/__tests__/identity.test.js +0 -146
  256. package/dist/git/__tests__/manifest.test.d.ts +0 -1
  257. package/dist/git/__tests__/manifest.test.js +0 -446
  258. package/dist/git/__tests__/preflight-resolution.test.d.ts +0 -1
  259. package/dist/git/__tests__/preflight-resolution.test.js +0 -366
  260. package/dist/git/__tests__/preflight.test.d.ts +0 -1
  261. package/dist/git/__tests__/preflight.test.js +0 -36
  262. package/dist/git/__tests__/repo-config.test.d.ts +0 -1
  263. package/dist/git/__tests__/repo-config.test.js +0 -26
  264. package/dist/git/__tests__/sync.test.d.ts +0 -1
  265. package/dist/git/__tests__/sync.test.js +0 -405
  266. package/dist/git/auto-commit.d.ts +0 -35
  267. package/dist/git/auto-commit.js +0 -293
  268. package/dist/git/classify-sync-error.d.ts +0 -21
  269. package/dist/git/classify-sync-error.js +0 -111
  270. package/dist/git/credentials.d.ts +0 -75
  271. package/dist/git/credentials.js +0 -164
  272. package/dist/git/critical-files.d.ts +0 -20
  273. package/dist/git/critical-files.js +0 -68
  274. package/dist/git/deploy-guard.d.ts +0 -53
  275. package/dist/git/deploy-guard.js +0 -78
  276. package/dist/git/identity.d.ts +0 -44
  277. package/dist/git/identity.js +0 -133
  278. package/dist/git/preflight.d.ts +0 -57
  279. package/dist/git/preflight.js +0 -276
  280. package/dist/git/remote.d.ts +0 -37
  281. package/dist/git/remote.js +0 -75
  282. package/dist/git/repo-config.d.ts +0 -8
  283. package/dist/git/repo-config.js +0 -29
  284. package/dist/git/sync.d.ts +0 -15
  285. package/dist/git/sync.js +0 -159
  286. package/dist/health/__tests__/checks.test.d.ts +0 -1
  287. package/dist/health/__tests__/checks.test.js +0 -357
  288. package/dist/health/__tests__/cli-distribution-checks.test.d.ts +0 -1
  289. package/dist/health/__tests__/cli-distribution-checks.test.js +0 -196
  290. package/dist/health/__tests__/fix.test.d.ts +0 -1
  291. package/dist/health/__tests__/fix.test.js +0 -72
  292. package/dist/health/__tests__/runner-filter.test.d.ts +0 -1
  293. package/dist/health/__tests__/runner-filter.test.js +0 -61
  294. package/dist/health/checks.d.ts +0 -42
  295. package/dist/health/checks.js +0 -636
  296. package/dist/health/fix.d.ts +0 -22
  297. package/dist/health/fix.js +0 -62
  298. package/dist/health/runner.d.ts +0 -8
  299. package/dist/health/runner.js +0 -47
  300. package/dist/health/types.d.ts +0 -12
  301. package/dist/health/types.js +0 -1
  302. package/dist/index.d.ts +0 -1
  303. package/dist/logs/__tests__/tailer-format.test.d.ts +0 -1
  304. package/dist/logs/__tests__/tailer-format.test.js +0 -43
  305. package/dist/logs/tailer.d.ts +0 -17
  306. package/dist/logs/tailer.js +0 -217
  307. package/dist/sync/__tests__/change-detect.test.d.ts +0 -1
  308. package/dist/sync/__tests__/change-detect.test.js +0 -123
  309. package/dist/sync/__tests__/hash.test.d.ts +0 -1
  310. package/dist/sync/__tests__/hash.test.js +0 -18
  311. package/dist/sync/change-detect.d.ts +0 -19
  312. package/dist/sync/change-detect.js +0 -136
  313. package/dist/sync/conflict-ui.d.ts +0 -5
  314. package/dist/sync/conflict-ui.js +0 -78
  315. package/dist/sync/executor.d.ts +0 -23
  316. package/dist/sync/executor.js +0 -102
  317. package/dist/sync/hash.d.ts +0 -1
  318. package/dist/sync/hash.js +0 -4
  319. package/dist/sync/types.d.ts +0 -24
  320. package/dist/sync/types.js +0 -1
  321. package/dist/template/manifest.d.ts +0 -17
  322. package/dist/template/manifest.js +0 -145
  323. package/dist/tools/types.d.ts +0 -52
  324. package/dist/tools/types.js +0 -8
  325. package/dist/types-manager.d.ts +0 -1
  326. package/dist/types-manager.js +0 -35
  327. package/dist/types.d.ts +0 -349
  328. package/dist/types.js +0 -1
  329. package/dist/ui/__tests__/banner.test.d.ts +0 -1
  330. package/dist/ui/__tests__/banner.test.js +0 -98
  331. package/dist/ui/__tests__/colors.test.d.ts +0 -1
  332. package/dist/ui/__tests__/colors.test.js +0 -22
  333. package/dist/ui/__tests__/keyboard.test.d.ts +0 -1
  334. package/dist/ui/__tests__/keyboard.test.js +0 -34
  335. package/dist/ui/__tests__/status-line.test.d.ts +0 -1
  336. package/dist/ui/__tests__/status-line.test.js +0 -54
  337. package/dist/ui/banner.d.ts +0 -29
  338. package/dist/ui/banner.js +0 -153
  339. package/dist/ui/colors.d.ts +0 -4
  340. package/dist/ui/colors.js +0 -7
  341. package/dist/ui/keyboard.d.ts +0 -12
  342. package/dist/ui/keyboard.js +0 -61
  343. package/dist/ui/status-line.d.ts +0 -6
  344. package/dist/ui/status-line.js +0 -53
  345. package/dist/utils/__tests__/format-error.test.d.ts +0 -1
  346. package/dist/utils/__tests__/format-error.test.js +0 -43
  347. package/dist/utils/__tests__/help-json.test.d.ts +0 -1
  348. package/dist/utils/__tests__/help-json.test.js +0 -39
  349. package/dist/utils/__tests__/http.test.d.ts +0 -1
  350. package/dist/utils/__tests__/http.test.js +0 -381
  351. package/dist/utils/__tests__/ignore-matcher.test.d.ts +0 -1
  352. package/dist/utils/__tests__/ignore-matcher.test.js +0 -205
  353. package/dist/utils/__tests__/output.test.d.ts +0 -1
  354. package/dist/utils/__tests__/output.test.js +0 -38
  355. package/dist/utils/__tests__/prompt.test.d.ts +0 -1
  356. package/dist/utils/__tests__/prompt.test.js +0 -27
  357. package/dist/utils/__tests__/resolve.test.d.ts +0 -1
  358. package/dist/utils/__tests__/resolve.test.js +0 -95
  359. package/dist/utils/__tests__/sqlite.test.d.ts +0 -1
  360. package/dist/utils/__tests__/sqlite.test.js +0 -89
  361. package/dist/utils/agent-guidance.d.ts +0 -47
  362. package/dist/utils/agent-guidance.js +0 -128
  363. package/dist/utils/app-info.d.ts +0 -70
  364. package/dist/utils/app-info.js +0 -167
  365. package/dist/utils/curl-parser.d.ts +0 -12
  366. package/dist/utils/curl-parser.js +0 -162
  367. package/dist/utils/data-input.d.ts +0 -1
  368. package/dist/utils/data-input.js +0 -38
  369. package/dist/utils/format-error.d.ts +0 -10
  370. package/dist/utils/format-error.js +0 -38
  371. package/dist/utils/fs.d.ts +0 -5
  372. package/dist/utils/fs.js +0 -23
  373. package/dist/utils/help-json.d.ts +0 -70
  374. package/dist/utils/help-json.js +0 -88
  375. package/dist/utils/http.d.ts +0 -46
  376. package/dist/utils/http.js +0 -421
  377. package/dist/utils/ignore-matcher.d.ts +0 -47
  378. package/dist/utils/ignore-matcher.js +0 -132
  379. package/dist/utils/output.d.ts +0 -17
  380. package/dist/utils/output.js +0 -27
  381. package/dist/utils/prompt.d.ts +0 -5
  382. package/dist/utils/prompt.js +0 -42
  383. package/dist/utils/resolve.d.ts +0 -12
  384. package/dist/utils/resolve.js +0 -52
  385. package/dist/utils/setup-state.d.ts +0 -3
  386. package/dist/utils/setup-state.js +0 -19
  387. package/dist/utils/sqlite-adapter.d.ts +0 -48
  388. package/dist/utils/sqlite-adapter.js +0 -147
  389. package/dist/utils/sqlite.d.ts +0 -14
  390. package/dist/utils/sqlite.js +0 -14
  391. package/dist/utils/subprocess.d.ts +0 -19
  392. package/dist/utils/subprocess.js +0 -27
  393. package/dist/utils/which.d.ts +0 -14
  394. package/dist/utils/which.js +0 -47
  395. package/dist/utils/zip.d.ts +0 -7
  396. package/dist/utils/zip.js +0 -42
  397. package/dist/validate/__tests__/validate.test.d.ts +0 -1
  398. package/dist/validate/__tests__/validate.test.js +0 -42
  399. package/dist/validate/freshness.d.ts +0 -28
  400. package/dist/validate/freshness.js +0 -48
  401. package/dist/validate/preview.d.ts +0 -21
  402. package/dist/validate/preview.js +0 -39
  403. package/dist/workspace/resolve.d.ts +0 -19
  404. package/dist/workspace/resolve.js +0 -100
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const uninstallCommand: Command;
@@ -1,145 +0,0 @@
1
- import { Command } from 'commander';
2
- import { existsSync, readFileSync, rmSync, unlinkSync } from 'fs';
3
- import { join } from 'path';
4
- import { homedir } from 'os';
5
- import { getAdapterBySlug } from '../agents/detect.js';
6
- import { promptConfirm } from '../utils/prompt.js';
7
- function loadSetupState(filePath) {
8
- if (!existsSync(filePath))
9
- return null;
10
- try {
11
- return JSON.parse(readFileSync(filePath, 'utf-8'));
12
- }
13
- catch {
14
- return null;
15
- }
16
- }
17
- export const uninstallCommand = new Command('uninstall')
18
- .description('Remove all Runwork configuration from local agents (MCP servers, skills, instructions)')
19
- .option('-y, --yes', 'Skip confirmation prompt')
20
- .option('--keep-auth', 'Keep authentication credentials (only remove agent configs)')
21
- .action(async (opts) => {
22
- const projectStatePath = join(process.cwd(), '.runwork', 'setup.json');
23
- const userStatePath = join(homedir(), '.runwork', 'setup.json');
24
- const projectState = loadSetupState(projectStatePath);
25
- const userState = loadSetupState(userStatePath);
26
- if (!projectState && !userState) {
27
- console.error('No setup state found. Nothing to uninstall.');
28
- process.exit(0);
29
- }
30
- // Collect all configured agents across both scopes
31
- const agentSlugs = new Set();
32
- if (projectState) {
33
- for (const slug of projectState.configuredAgents)
34
- agentSlugs.add(slug);
35
- }
36
- if (userState) {
37
- for (const slug of userState.configuredAgents)
38
- agentSlugs.add(slug);
39
- }
40
- console.log('\nThis will remove all Runwork configuration from your local agents:\n');
41
- if (agentSlugs.size > 0) {
42
- console.log(' Agents to clean:');
43
- for (const slug of agentSlugs) {
44
- const adapter = getAdapterBySlug(slug);
45
- console.log(` - ${adapter?.name ?? slug}`);
46
- }
47
- }
48
- console.log('\n What will be removed:');
49
- console.log(' - MCP server registrations');
50
- console.log(' - Synced skills and instruction hints');
51
- console.log(' - Team instructions');
52
- console.log(' - Agent config overrides (model, permissions)');
53
- console.log(' - Plugin registrations (Claude Code, Claude Desktop)');
54
- if (opts.keepAuth) {
55
- console.log(' - Setup state (keeping auth credentials)');
56
- }
57
- else {
58
- console.log(' - Setup state and auth credentials (~/.runwork/)');
59
- }
60
- console.log('');
61
- if (!opts.yes) {
62
- const confirmed = await promptConfirm('Proceed with uninstall?');
63
- if (!confirmed) {
64
- console.log('Cancelled.');
65
- return;
66
- }
67
- }
68
- let cleanedAgents = 0;
69
- let errors = 0;
70
- // Process each setup state (project and/or user)
71
- const entries = [];
72
- if (projectState)
73
- entries.push({ state: projectState, statePath: projectStatePath, label: 'project' });
74
- if (userState)
75
- entries.push({ state: userState, statePath: userStatePath, label: 'user' });
76
- for (const { state, label } of entries) {
77
- const scopes = state.scope === 'both'
78
- ? ['project', 'user']
79
- : [state.scope];
80
- // Build manifest from sync state so adapters only remove what we synced
81
- const manifest = {
82
- skillFilenames: state.skillFilenames ?? state.skills.map(s => s.toLowerCase().replace(/[^a-z0-9]+/g, '-')),
83
- mcpServerNames: state.mcpServers ?? [],
84
- };
85
- for (const slug of state.configuredAgents) {
86
- const adapter = getAdapterBySlug(slug);
87
- if (!adapter) {
88
- console.warn(` [${slug}] Adapter not found, skipping.`);
89
- continue;
90
- }
91
- for (const scope of scopes) {
92
- try {
93
- if (adapter.cleanup) {
94
- await adapter.cleanup(scope, manifest);
95
- console.log(` [${adapter.name}] Cleaned up (${scope})`);
96
- cleanedAgents++;
97
- }
98
- else {
99
- console.log(` [${adapter.name}] No cleanup handler, skipping (${scope})`);
100
- }
101
- }
102
- catch (err) {
103
- console.warn(` [${adapter.name}] Cleanup failed (${scope}): ${err instanceof Error ? err.message : err}`);
104
- errors++;
105
- }
106
- }
107
- }
108
- // Remove setup state
109
- const stateDir = label === 'project'
110
- ? join(process.cwd(), '.runwork')
111
- : join(homedir(), '.runwork');
112
- if (opts.keepAuth && label === 'user') {
113
- // Only remove setup.json, keep credentials and other files
114
- const setupFile = join(stateDir, 'setup.json');
115
- if (existsSync(setupFile)) {
116
- try {
117
- unlinkSync(setupFile);
118
- console.log(` Removed ${setupFile} (kept credentials)`);
119
- }
120
- catch (err) {
121
- console.warn(` Failed to remove ${setupFile}: ${err instanceof Error ? err.message : err}`);
122
- errors++;
123
- }
124
- }
125
- }
126
- else if (existsSync(stateDir)) {
127
- try {
128
- rmSync(stateDir, { recursive: true, force: true });
129
- console.log(` Removed ${stateDir}`);
130
- }
131
- catch (err) {
132
- console.warn(` Failed to remove ${stateDir}: ${err instanceof Error ? err.message : err}`);
133
- errors++;
134
- }
135
- }
136
- }
137
- console.log('');
138
- if (errors > 0) {
139
- console.log(`Uninstall completed with ${errors} warning${errors > 1 ? 's' : ''}. ${cleanedAgents} agent${cleanedAgents > 1 ? 's' : ''} cleaned.`);
140
- }
141
- else {
142
- console.log(`Uninstall complete. ${cleanedAgents} agent${cleanedAgents > 1 ? 's' : ''} cleaned.`);
143
- }
144
- console.log('Run `runwork setup` to reconfigure at any time.');
145
- });
@@ -1,14 +0,0 @@
1
- import { Command } from 'commander';
2
- declare function fetchLatestVersion(): Promise<string | null>;
3
- type InstallMethod = 'brew' | 'npm' | 'bun' | 'pnpm' | 'yarn' | 'volta' | 'binary';
4
- declare function detectInstallMethod(): InstallMethod;
5
- export declare const upgradeCommand: Command;
6
- export declare const __internal: {
7
- BASE_URL: string;
8
- LATEST_JSON_URL: string;
9
- INSTALL_SH_URL: string;
10
- INSTALL_PS1_URL: string;
11
- fetchLatestVersion: typeof fetchLatestVersion;
12
- detectInstallMethod: typeof detectInstallMethod;
13
- };
14
- export {};
@@ -1,217 +0,0 @@
1
- import { Command } from 'commander';
2
- import { execFileSync } from 'child_process';
3
- import { platform as osPlatform, tmpdir } from 'os';
4
- import { mkdtempSync, writeFileSync, rmSync } from 'fs';
5
- import { join } from 'path';
6
- import { VERSION } from '../generated/version.js';
7
- import { httpFetch } from '../utils/http.js';
8
- const BASE_URL = 'https://runwork.ai';
9
- const LATEST_JSON_URL = `${BASE_URL}/cli/latest.json`;
10
- const INSTALL_SH_URL = `${BASE_URL}/install.sh`;
11
- const INSTALL_PS1_URL = `${BASE_URL}/install.ps1`;
12
- async function fetchLatestVersion() {
13
- try {
14
- const response = await httpFetch(LATEST_JSON_URL, { cache: 'no-store' });
15
- if (!response.ok)
16
- return null;
17
- const data = await response.json();
18
- return data.version?.replace(/^v/, '') || null;
19
- }
20
- catch {
21
- return null;
22
- }
23
- }
24
- function detectInstallMethod() {
25
- try {
26
- const binaryPath = process.argv[1] || '';
27
- // Homebrew: /opt/homebrew/Cellar/runwork/... or /usr/local/Cellar/runwork/...
28
- if (binaryPath.includes('/Cellar/runwork/') || binaryPath.includes('/homebrew/')) {
29
- return 'brew';
30
- }
31
- // Volta: ~/.volta/tools/image/packages/runwork/...
32
- if (binaryPath.includes('/.volta/')) {
33
- return 'volta';
34
- }
35
- // Bun global: ~/.bun/install/global/... or ~/.bun/bin/...
36
- if (binaryPath.includes('/.bun/')) {
37
- return 'bun';
38
- }
39
- // pnpm global: ~/.local/share/pnpm/... or pnpm/global/...
40
- if (binaryPath.includes('/pnpm/') || binaryPath.includes('/.pnpm/')) {
41
- return 'pnpm';
42
- }
43
- // Yarn global: ~/.yarn/bin/... or ~/.config/yarn/global/...
44
- if (binaryPath.includes('/.yarn/') || binaryPath.includes('/yarn/global/')) {
45
- return 'yarn';
46
- }
47
- // npm global: node_modules or /lib/node/ in path
48
- if (binaryPath.includes('node_modules') || binaryPath.includes('/lib/node/')) {
49
- return 'npm';
50
- }
51
- }
52
- catch {
53
- // Fall through to binary
54
- }
55
- return 'binary';
56
- }
57
- async function upgradeBinary() {
58
- const isWindows = osPlatform() === 'win32';
59
- if (isWindows) {
60
- console.log('\nUpgrading via PowerShell installer...\n');
61
- const response = await httpFetch(INSTALL_PS1_URL, { cache: 'no-store' });
62
- if (!response.ok) {
63
- throw new Error(`Failed to download install.ps1: HTTP ${response.status}`);
64
- }
65
- const script = await response.text();
66
- // Write the script to a temp file and invoke it with `-File`. This is more
67
- // robust than `-Command` because it avoids PowerShell's quoting rules for
68
- // multi-line strings with embedded single or double quotes.
69
- const tmpDir = mkdtempSync(join(tmpdir(), 'runwork-upgrade-'));
70
- const scriptPath = join(tmpDir, 'install.ps1');
71
- try {
72
- writeFileSync(scriptPath, script);
73
- execFileSync('powershell', ['-NoProfile', '-ExecutionPolicy', 'Bypass', '-File', scriptPath], { stdio: 'inherit' });
74
- }
75
- finally {
76
- try {
77
- rmSync(tmpDir, { recursive: true, force: true });
78
- }
79
- catch {
80
- /* best-effort cleanup */
81
- }
82
- }
83
- console.log('\nUpgraded successfully.');
84
- return;
85
- }
86
- console.log('\nUpgrading via install.sh...\n');
87
- const response = await httpFetch(INSTALL_SH_URL, { cache: 'no-store' });
88
- if (!response.ok) {
89
- throw new Error(`Failed to download install.sh: HTTP ${response.status}`);
90
- }
91
- const script = await response.text();
92
- execFileSync('sh', ['-s'], { input: script, stdio: ['pipe', 'inherit', 'inherit'] });
93
- console.log('\nUpgraded successfully.');
94
- }
95
- export const upgradeCommand = new Command('upgrade')
96
- .description('Upgrade Runwork CLI to the latest version')
97
- .option('--check', 'Check for updates without installing')
98
- .action(async (options) => {
99
- console.log(`Current version: ${VERSION}`);
100
- const latest = await fetchLatestVersion();
101
- if (!latest) {
102
- console.error(`Could not fetch latest version from ${LATEST_JSON_URL}.`);
103
- console.error('Check your network and that runwork.ai is reachable.');
104
- process.exit(1);
105
- }
106
- if (latest === VERSION) {
107
- console.log(`Already on the latest version (${VERSION}).`);
108
- return;
109
- }
110
- console.log(`Latest version: ${latest}`);
111
- if (options.check) {
112
- console.log(`\nRun \`runwork upgrade\` to install the update.`);
113
- return;
114
- }
115
- const method = detectInstallMethod();
116
- if (method === 'brew') {
117
- console.log('\nDetected installation method: brew');
118
- console.log('Upgrading via Homebrew...\n');
119
- try {
120
- execFileSync('brew', ['update', '--quiet'], { stdio: 'inherit' });
121
- execFileSync('brew', ['upgrade', 'runwork'], { stdio: 'inherit' });
122
- console.log('\nUpgraded successfully via Homebrew.');
123
- }
124
- catch {
125
- console.error('\nHomebrew upgrade failed. Try manually: brew update && brew upgrade runwork');
126
- process.exit(1);
127
- }
128
- return;
129
- }
130
- if (method === 'bun') {
131
- console.log('\nDetected installation method: bun');
132
- console.log('Upgrading via bun...\n');
133
- try {
134
- execFileSync('bun', ['install', '-g', 'runwork@latest'], { stdio: 'inherit' });
135
- console.log('\nUpgraded successfully via bun.');
136
- }
137
- catch {
138
- console.error('\nbun upgrade failed. Try manually: bun install -g runwork@latest');
139
- process.exit(1);
140
- }
141
- return;
142
- }
143
- if (method === 'pnpm') {
144
- console.log('\nDetected installation method: pnpm');
145
- console.log('Upgrading via pnpm...\n');
146
- try {
147
- execFileSync('pnpm', ['update', '-g', 'runwork'], { stdio: 'inherit' });
148
- console.log('\nUpgraded successfully via pnpm.');
149
- }
150
- catch {
151
- console.error('\npnpm upgrade failed. Try manually: pnpm update -g runwork');
152
- process.exit(1);
153
- }
154
- return;
155
- }
156
- if (method === 'yarn') {
157
- console.log('\nDetected installation method: yarn');
158
- console.log('Upgrading via yarn...\n');
159
- try {
160
- execFileSync('yarn', ['global', 'upgrade', 'runwork'], { stdio: 'inherit' });
161
- console.log('\nUpgraded successfully via yarn.');
162
- }
163
- catch {
164
- console.error('\nyarn upgrade failed. Try manually: yarn global upgrade runwork');
165
- process.exit(1);
166
- }
167
- return;
168
- }
169
- if (method === 'volta') {
170
- console.log('\nDetected installation method: volta');
171
- console.log('Upgrading via Volta...\n');
172
- try {
173
- execFileSync('volta', ['install', 'runwork@latest'], { stdio: 'inherit' });
174
- console.log('\nUpgraded successfully via Volta.');
175
- }
176
- catch {
177
- console.error('\nVolta upgrade failed. Try manually: volta install runwork@latest');
178
- process.exit(1);
179
- }
180
- return;
181
- }
182
- if (method === 'npm') {
183
- console.log('\nDetected installation method: npm');
184
- console.log('Upgrading via npm...\n');
185
- try {
186
- execFileSync('npm', ['update', '-g', 'runwork'], { stdio: 'inherit' });
187
- console.log('\nUpgraded successfully via npm.');
188
- }
189
- catch {
190
- console.error('\nnpm upgrade failed. Try manually: npm update -g runwork');
191
- process.exit(1);
192
- }
193
- return;
194
- }
195
- // Binary install: first-party runwork.ai installer.
196
- try {
197
- await upgradeBinary();
198
- }
199
- catch (err) {
200
- const message = err instanceof Error ? err.message : String(err);
201
- console.error(`\nUpgrade failed: ${message}`);
202
- const manualCmd = osPlatform() === 'win32'
203
- ? `irm ${INSTALL_PS1_URL} | iex`
204
- : `curl -fsSL ${INSTALL_SH_URL} | sh`;
205
- console.error(`Try manually: ${manualCmd}`);
206
- process.exit(1);
207
- }
208
- });
209
- // Exported for tests
210
- export const __internal = {
211
- BASE_URL,
212
- LATEST_JSON_URL,
213
- INSTALL_SH_URL,
214
- INSTALL_PS1_URL,
215
- fetchLatestVersion,
216
- detectInstallMethod,
217
- };
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const validateCommand: Command;
@@ -1,89 +0,0 @@
1
- import { Command } from 'commander';
2
- import { readFileSync, existsSync } from 'fs';
3
- import { requireAuth } from '../auth/store.js';
4
- import { ApiClient } from '../api/client.js';
5
- import { shouldOutputJson, jsonOut } from '../utils/output.js';
6
- import { bold, dim, green, yellow, red } from '../ui/colors.js';
7
- import { requireGit } from '../git/preflight.js';
8
- import { getGitFreshness } from '../validate/freshness.js';
9
- import { checkPreview } from '../validate/preview.js';
10
- const BUILD_FOLLOWUP = 'In-sandbox typecheck/lint requires a worker exec endpoint (not yet available). The preview error-overlay check is used as a build proxy.';
11
- export const validateCommand = new Command('validate')
12
- .description('Validate the app before deploy: git sync state + preview liveness (no local deps needed)')
13
- .action(async (_opts, command) => {
14
- const useJson = shouldOutputJson(command.optsWithGlobals().json);
15
- const cwd = process.cwd();
16
- if (!existsSync('.runwork.json')) {
17
- if (useJson) {
18
- jsonOut({ success: false, command: 'validate', error: 'No .runwork.json found. Run inside a Runwork app.' });
19
- process.exit(1);
20
- }
21
- console.error('No .runwork.json found. Run `runwork validate` inside a Runwork app.');
22
- process.exit(1);
23
- }
24
- requireGit('validate');
25
- const config = JSON.parse(readFileSync('.runwork.json', 'utf-8'));
26
- const creds = requireAuth();
27
- const client = new ApiClient(creds);
28
- const sync = getGitFreshness(cwd);
29
- // Best-effort: ask the server for the current preview URL. No running
30
- // preview is not a failure -- the preview check is simply skipped.
31
- let previewUrl = null;
32
- try {
33
- const status = await client.getDevStatus(config.appId);
34
- previewUrl = status.previewUrl || null;
35
- }
36
- catch {
37
- /* no active session -- preview check skipped */
38
- }
39
- const preview = await checkPreview(previewUrl);
40
- // Overall: fail only on a concrete problem -- the preview is down or
41
- // serving a broken build. Local commits not yet deployed are informational.
42
- const ok = preview.url === null ? true : preview.responds && !preview.errorDetected;
43
- const result = { sync, preview, build: { checked: false, reason: BUILD_FOLLOWUP }, ok };
44
- if (useJson) {
45
- jsonOut({ success: ok, command: 'validate', result });
46
- if (!ok)
47
- process.exit(1);
48
- return;
49
- }
50
- console.log('');
51
- console.log(bold('runwork validate'));
52
- console.log('');
53
- // Sync
54
- if (sync.inSync) {
55
- console.log(` ${green('[ok]')} Sync ${dim('local matches the deploy remote, working tree clean')}`);
56
- }
57
- else {
58
- const bits = [];
59
- if (sync.uncommitted)
60
- bits.push('uncommitted changes');
61
- if (sync.ahead > 0)
62
- bits.push(`${sync.ahead} commit(s) not yet pushed/deployed`);
63
- if (sync.behind > 0)
64
- bits.push(`${sync.behind} commit(s) behind the remote`);
65
- if (!sync.remoteSha)
66
- bits.push('no runwork/main ref (push or run dev first)');
67
- console.log(` ${yellow('[info]')} Sync ${dim(bits.join('; ') || 'not in sync')}`);
68
- }
69
- // Preview
70
- if (!preview.url) {
71
- console.log(` ${dim('[skip]')} Preview ${dim('no preview running (start `runwork dev`)')}`);
72
- }
73
- else if (!preview.responds) {
74
- console.log(` ${red('[FAIL]')} Preview ${dim(`not responding${preview.error ? `: ${preview.error}` : ` (status ${preview.status})`}`)}`);
75
- }
76
- else if (preview.errorDetected) {
77
- console.log(` ${red('[FAIL]')} Preview ${dim('serving a build error overlay -- the app does not compile')}`);
78
- }
79
- else {
80
- console.log(` ${green('[ok]')} Preview ${dim(`live and serving a working build (status ${preview.status})`)}`);
81
- }
82
- // Build (proxy)
83
- console.log(` ${dim('[note]')} Build ${dim(BUILD_FOLLOWUP)}`);
84
- console.log('');
85
- console.log(ok ? green(' validate: ok') : red(' validate: FAILED'));
86
- console.log('');
87
- if (!ok)
88
- process.exit(1);
89
- });
@@ -1 +0,0 @@
1
- export declare function runWelcomeWizard(): Promise<void>;
@@ -1,86 +0,0 @@
1
- import { basename } from 'path';
2
- import { getCredentials } from '../auth/store.js';
3
- import { performLogin } from '../auth/login-flow.js';
4
- import { ApiClient } from '../api/client.js';
5
- import { promptSelect, promptInput, promptConfirm } from '../utils/prompt.js';
6
- import { getWelcomeBanner, runAgentWizard } from '../ui/banner.js';
7
- import { cyan, dim, green } from '../ui/colors.js';
8
- export async function runWelcomeWizard() {
9
- // Step 1: Welcome
10
- console.log(getWelcomeBanner());
11
- // Step 2: Login
12
- let creds = getCredentials();
13
- if (creds) {
14
- console.log(green(` Already logged in as ${creds.email}.`));
15
- }
16
- else {
17
- console.log('Opening your browser to log in...');
18
- console.log('');
19
- creds = await performLogin();
20
- }
21
- // Step 3: Init or Clone
22
- console.log('');
23
- const action = await promptSelect('What would you like to do?', [
24
- { label: 'Create a new app', value: 'init' },
25
- { label: 'Clone an existing app', value: 'clone' },
26
- ]);
27
- const client = new ApiClient(creds);
28
- let appDir;
29
- if (action.value === 'init') {
30
- const appName = await promptInput('App name');
31
- if (!appName) {
32
- console.error('App name is required.');
33
- process.exit(1);
34
- }
35
- const workspaces = await client.listWorkspaces();
36
- if (workspaces.length === 0) {
37
- console.error('No workspaces found. Create one at runwork.ai first.');
38
- process.exit(1);
39
- }
40
- let workspace;
41
- if (workspaces.length === 1) {
42
- workspace = workspaces[0];
43
- console.log(dim(` Using workspace: ${workspace.name}`));
44
- }
45
- else {
46
- console.log('');
47
- console.log('A workspace is where your apps live. Pick one:');
48
- const choice = await promptSelect('Select workspace:', workspaces.map(w => ({ label: w.name, value: w })));
49
- workspace = choice.value;
50
- }
51
- console.log('');
52
- console.log(`Creating ${cyan(appName)} in workspace ${cyan(workspace.name)}...`);
53
- const { execInit } = await import('./init.js');
54
- const initResult = await execInit(client, appName, workspace, {}, creds);
55
- appDir = initResult.directory;
56
- }
57
- else {
58
- const apps = await client.listApps();
59
- if (apps.length === 0) {
60
- console.error('No apps found. Choose "Create a new app" instead.');
61
- process.exit(1);
62
- }
63
- const choice = await promptSelect('Select app to clone:', apps.map(a => ({ label: `${a.name} (${a.workspaceName})`, value: a })));
64
- const { execClone } = await import('./clone.js');
65
- const cloneResult = await execClone(client, choice.value, undefined, creds);
66
- appDir = cloneResult.directory;
67
- }
68
- // Step 4: Agent guidance
69
- await runAgentWizard(appDir);
70
- // Step 5: Offer to start dev
71
- console.log('');
72
- const startDev = await promptConfirm('Start developing now?');
73
- if (startDev) {
74
- console.log('');
75
- console.log(dim(` Tip: Open another terminal and launch your AI agent in ${cyan(appDir)}`));
76
- console.log('');
77
- process.chdir(appDir);
78
- const { execDev } = await import('./dev.js');
79
- await execDev();
80
- }
81
- else {
82
- const slug = basename(appDir) || appDir;
83
- console.log('');
84
- console.log(`Next: ${cyan(`cd ${slug} && runwork dev`)}`);
85
- }
86
- }
@@ -1,2 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare const workflowsCommand: Command;