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
package/dist/types.d.ts DELETED
@@ -1,349 +0,0 @@
1
- export interface RunworkConfig {
2
- workspaceId: string;
3
- workspaceName?: string;
4
- appId: string;
5
- appName: string;
6
- }
7
- export interface Credentials {
8
- apiKey: string;
9
- email: string;
10
- baseUrl: string;
11
- defaultWorkspaceId?: string;
12
- defaultWorkspaceName?: string;
13
- }
14
- export interface DevSession {
15
- sessionId: string;
16
- previewUrl: string;
17
- appId: string;
18
- }
19
- export interface AppInfo {
20
- id: string;
21
- name: string;
22
- slug: string;
23
- workspaceId: string;
24
- workspaceName: string;
25
- gitRemoteUrl: string;
26
- /** Production deployment state. Present on getApp responses. */
27
- production?: {
28
- url: string | null;
29
- deployed: boolean;
30
- };
31
- }
32
- export interface WorkspaceInfo {
33
- id: string;
34
- name: string;
35
- slug?: string;
36
- }
37
- export interface RegistryEntity {
38
- entityName: string;
39
- appId: string;
40
- appName: string;
41
- schema?: Record<string, unknown>;
42
- deploymentMode?: 'preview' | 'production';
43
- }
44
- export interface RegistrySchedule {
45
- name: string;
46
- appId: string;
47
- appName: string;
48
- schedule?: string;
49
- description?: string;
50
- deploymentMode?: 'preview' | 'production';
51
- }
52
- export interface RegistryWorkflow {
53
- name: string;
54
- appId: string;
55
- appName: string;
56
- description?: string;
57
- deploymentMode?: 'preview' | 'production';
58
- }
59
- export interface RegistryAgent {
60
- name: string;
61
- appId: string;
62
- appName: string;
63
- type?: string;
64
- description?: string;
65
- deploymentMode?: 'preview' | 'production';
66
- }
67
- export interface RegistryEndpoint {
68
- appId: string;
69
- appName: string;
70
- path: string;
71
- method: string;
72
- description?: string;
73
- deploymentMode?: 'preview' | 'production';
74
- }
75
- export interface RegistryComponent {
76
- componentName: string;
77
- appId: string;
78
- appName: string;
79
- deploymentMode?: 'preview' | 'production';
80
- }
81
- export interface RegistryFileStorage {
82
- appId: string;
83
- appName: string;
84
- deploymentMode?: 'preview' | 'production';
85
- }
86
- export interface WorkspaceAllData {
87
- entities: RegistryEntity[];
88
- schedules: RegistrySchedule[];
89
- workflows: RegistryWorkflow[];
90
- agents: RegistryAgent[];
91
- endpoints: RegistryEndpoint[];
92
- components: RegistryComponent[];
93
- fileStorages: RegistryFileStorage[];
94
- }
95
- export interface WorkspaceSkill {
96
- id: string;
97
- name: string;
98
- description?: string;
99
- type: 'app' | 'external' | 'mcp';
100
- appId?: string;
101
- mcpServerId?: string;
102
- content?: string;
103
- }
104
- export interface ExternalSkillRegistration {
105
- id: string;
106
- name: string;
107
- description: string;
108
- content: string;
109
- apiEndpoints?: Array<{
110
- url: string;
111
- method: string;
112
- description: string;
113
- }>;
114
- importedFrom: string;
115
- importedAt: number;
116
- importedBy: string;
117
- }
118
- export type McpAuthType = 'none' | 'oauth' | 'header';
119
- export interface McpServerConfig {
120
- id: string;
121
- name: string;
122
- url: string;
123
- transport: 'sse' | 'streamable-http';
124
- enabled: boolean;
125
- addedAt: number;
126
- addedBy: string;
127
- lastConnectedAt?: number;
128
- toolCount?: number;
129
- authType?: McpAuthType;
130
- headerNames?: string[];
131
- }
132
- /**
133
- * Per-agent state tracking baked-in default permission rules that the CLI
134
- * injects automatically during sync, with sticky opt-out semantics.
135
- *
136
- * lastInjected: what we wrote on the previous sync (used to detect when the
137
- * user removed an entry from the agent's config file).
138
- * userOptOuts: ever-accumulating set of entries the user has removed at least
139
- * once. Never re-injected until the tool is removed entirely.
140
- */
141
- export interface AgentDefaultsState {
142
- lastInjected: {
143
- allow?: string[];
144
- deny?: string[];
145
- };
146
- userOptOuts: {
147
- allow?: string[];
148
- deny?: string[];
149
- };
150
- }
151
- export interface SetupState {
152
- workspaceId: string;
153
- workspaceName: string;
154
- workspaceSlug?: string;
155
- configuredAgents: string[];
156
- scope: 'project' | 'user' | 'both';
157
- lastSyncAt: string;
158
- mcpServers: string[];
159
- skills: string[];
160
- /** Kebab-case filenames of synced skills (used for safe cleanup) */
161
- skillFilenames?: string[];
162
- skillHashes?: Record<string, {
163
- localHash: string;
164
- remoteHash: string;
165
- source: 'external' | 'app';
166
- remoteId?: string;
167
- appId?: string;
168
- }>;
169
- reportedAgentSlugs?: string[];
170
- lastHealthReportAt?: string;
171
- /**
172
- * ISO timestamp of the last agent-installation detection pass. Sync uses
173
- * this with a TTL to skip the (Windows-expensive) PowerShell probe waterfall
174
- * on every cycle while still catching newly-installed agents within a day.
175
- */
176
- lastDetectedAt?: string;
177
- /** Schema version for agentDefaults; absence means bootstrap on next sync. */
178
- agentDefaultsVersion?: number;
179
- /** Per-agent slug => default rule state. Absence of an entry means bootstrap. */
180
- agentDefaults?: Record<string, AgentDefaultsState>;
181
- /**
182
- * Technical-level classification from desktop onboarding. Used to inject
183
- * persona-specific default instructions into integrated agents.
184
- */
185
- persona?: {
186
- level: 1 | 2 | 3;
187
- label: 'everyday' | 'curious' | 'engineer';
188
- };
189
- }
190
- export interface WorkflowInfo {
191
- name: string;
192
- appId: string;
193
- appName: string;
194
- description?: string;
195
- enabled?: boolean;
196
- deploymentMode?: 'preview' | 'production';
197
- }
198
- export interface TriggerWorkflowResponse {
199
- instanceId: string;
200
- status: string;
201
- }
202
- export interface WorkflowInstance {
203
- id: string;
204
- workflowName: string;
205
- status: string;
206
- appId: string;
207
- createdAt?: string;
208
- completedAt?: string;
209
- }
210
- export interface WorkflowInstancesData {
211
- instances: WorkflowInstance[];
212
- }
213
- export interface WorkflowInstanceDetailData {
214
- instance: WorkflowInstance & {
215
- steps?: Array<{
216
- name: string;
217
- status: string;
218
- output?: unknown;
219
- }>;
220
- params?: Record<string, unknown>;
221
- };
222
- }
223
- export interface ScheduleInfo {
224
- name: string;
225
- appId: string;
226
- appName: string;
227
- schedule?: string;
228
- description?: string;
229
- deploymentMode?: 'preview' | 'production';
230
- status?: string;
231
- nextRun?: string;
232
- lastRun?: string;
233
- }
234
- export interface TriggerScheduleResponse {
235
- success: boolean;
236
- message?: string;
237
- }
238
- export interface ScheduleHistoryEntry {
239
- scheduleName: string;
240
- executedAt: string;
241
- status: string;
242
- durationMs?: number;
243
- error?: string;
244
- }
245
- export interface ScheduleHistoryData {
246
- history: ScheduleHistoryEntry[];
247
- }
248
- export interface FileStorageInfo {
249
- id: string;
250
- appId: string;
251
- appName: string;
252
- workspaceId: string;
253
- bucketName: string;
254
- bucketStatus: string;
255
- objectCount?: number;
256
- totalSizeBytes?: number;
257
- connectedApps?: string[];
258
- deploymentMode?: 'preview' | 'production';
259
- }
260
- export interface BucketFile {
261
- key: string;
262
- size?: number;
263
- lastModified?: string;
264
- etag?: string;
265
- }
266
- export interface BucketFolder {
267
- prefix: string;
268
- }
269
- export interface ListBucketFilesData {
270
- files: BucketFile[];
271
- folders: BucketFolder[];
272
- truncated?: boolean;
273
- cursor?: string;
274
- }
275
- export interface WorkspaceEndpoint {
276
- appId: string;
277
- appName?: string;
278
- endpointPath: string;
279
- method: string;
280
- auth?: string;
281
- description?: string;
282
- tags?: string[];
283
- schema?: Record<string, unknown>;
284
- deploymentMode?: 'preview' | 'production';
285
- }
286
- export interface ComponentInfo {
287
- componentName: string;
288
- appId: string;
289
- appName: string;
290
- deploymentMode?: 'preview' | 'production';
291
- metadata?: {
292
- tag?: string;
293
- description?: string;
294
- attributes?: Record<string, unknown>;
295
- };
296
- }
297
- export interface ApiKeyInfo {
298
- id: string;
299
- name: string;
300
- keyPrefix: string;
301
- appId?: string;
302
- allowedEndpoints?: string[];
303
- scopes?: string[];
304
- isActive: boolean;
305
- requestCount?: number;
306
- lastUsedAt?: string;
307
- expiresAt?: string;
308
- createdAt: string;
309
- }
310
- export interface ApiKeyCreateResponse {
311
- id: string;
312
- name: string;
313
- key: string;
314
- keyPrefix: string;
315
- }
316
- export interface AgentInfo {
317
- agentName: string;
318
- description: string;
319
- type: 'conversational' | 'task';
320
- integrations: string[];
321
- entities: string[];
322
- appId: string;
323
- appName: string;
324
- deploymentMode?: 'preview' | 'production';
325
- }
326
- export interface AgentStatusResponse {
327
- agentName: string;
328
- status: string;
329
- [key: string]: unknown;
330
- }
331
- export interface AgentExecutionRecord {
332
- executionId: string;
333
- sessionId: string;
334
- appId: string;
335
- agentName: string;
336
- prompt: string;
337
- status: 'running' | 'completed' | 'partial' | 'error' | 'timeout';
338
- responseSummary?: string;
339
- outputFileCount?: number;
340
- usage?: {
341
- inputTokens: number;
342
- outputTokens: number;
343
- cost: number;
344
- };
345
- exitCode?: number;
346
- startedAt: string;
347
- completedAt?: string;
348
- durationMs?: number;
349
- }
package/dist/types.js DELETED
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,98 +0,0 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { getAgentCommand, SUPPORTED_AGENTS, getDevBanner, getKeyboardHints, getWelcomeBanner, getInfoPanel } from '../banner.js';
3
- import { stripAnsi } from '../colors.js';
4
- describe('getAgentCommand', () => {
5
- it('returns claude command for a directory', () => {
6
- const cmd = getAgentCommand('claude-code', '/path/to/app');
7
- expect(cmd).toContain('claude');
8
- expect(cmd).toContain('/path/to/app');
9
- });
10
- it('returns cursor command', () => {
11
- expect(getAgentCommand('cursor', '/path')).toContain('cursor');
12
- });
13
- it('returns codex command', () => {
14
- expect(getAgentCommand('codex', '/path')).toContain('codex');
15
- });
16
- it('returns null for unknown agent', () => {
17
- expect(getAgentCommand('unknown-agent', '/path')).toBe(null);
18
- });
19
- });
20
- describe('SUPPORTED_AGENTS', () => {
21
- it('includes common agents', () => {
22
- const ids = SUPPORTED_AGENTS.map(a => a.id);
23
- expect(ids).toContain('claude-code');
24
- expect(ids).toContain('cursor');
25
- expect(ids).toContain('codex');
26
- });
27
- });
28
- describe('getDevBanner', () => {
29
- it('includes preview URL and app name', () => {
30
- const banner = getDevBanner({ appName: 'test-app', previewUrl: 'https://test.runwork.dev' });
31
- const plain = stripAnsi(banner);
32
- expect(plain).toContain('https://test.runwork.dev');
33
- expect(plain).toContain('test-app');
34
- });
35
- });
36
- describe('getKeyboardHints', () => {
37
- it('includes shortcut keys', () => {
38
- const hints = stripAnsi(getKeyboardHints());
39
- expect(hints).toContain('o');
40
- expect(hints).toContain('q');
41
- });
42
- });
43
- describe('getInfoPanel', () => {
44
- it('includes app info and agent commands', () => {
45
- const panel = getInfoPanel({
46
- appName: 'my-app',
47
- previewUrl: 'https://test.dev',
48
- workspaceName: 'my-ws',
49
- directory: '/path/to/app',
50
- });
51
- const plain = stripAnsi(panel);
52
- expect(plain).toContain('my-app');
53
- expect(plain).toContain('https://test.dev');
54
- expect(plain).toContain('my-ws');
55
- expect(plain).toContain('/path/to/app');
56
- expect(plain).toContain('Claude Code');
57
- expect(plain).toContain('Cursor');
58
- });
59
- it('omits workspace when not provided', () => {
60
- const panel = getInfoPanel({
61
- appName: 'my-app',
62
- previewUrl: 'https://test.dev',
63
- directory: '/path',
64
- });
65
- const plain = stripAnsi(panel);
66
- expect(plain).not.toContain('Workspace');
67
- });
68
- });
69
- describe('getDevBanner', () => {
70
- it('includes workspace name when provided', () => {
71
- const banner = getDevBanner({ appName: 'app', previewUrl: 'https://x', workspaceName: 'ws' });
72
- const plain = stripAnsi(banner);
73
- expect(plain).toContain('ws');
74
- });
75
- });
76
- describe('getWelcomeBanner', () => {
77
- it('includes Runwork name and mentions AI agents', () => {
78
- const text = stripAnsi(getWelcomeBanner());
79
- expect(text).toContain('Runwork');
80
- expect(text).toContain('Claude');
81
- });
82
- });
83
- describe('runAgentWizard', () => {
84
- it('prints guidance text without prompting in non-TTY', async () => {
85
- const { runAgentWizard } = await import('../banner.js');
86
- const originalIsTTY = process.stdout.isTTY;
87
- Object.defineProperty(process.stdout, 'isTTY', { value: false, writable: true });
88
- const consoleSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
89
- await runAgentWizard('/test/dir');
90
- const output = consoleSpy.mock.calls.map(c => c[0]).join('\n');
91
- const plain = stripAnsi(output);
92
- expect(plain).toContain('Claude Code');
93
- expect(plain).toContain('Cursor');
94
- expect(plain).toContain('/test/dir');
95
- consoleSpy.mockRestore();
96
- Object.defineProperty(process.stdout, 'isTTY', { value: originalIsTTY, writable: true });
97
- });
98
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,22 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { bold, red, green, yellow, cyan, dim, gray, stripAnsi, pc } from '../colors.js';
3
- describe('colors', () => {
4
- it('re-exports picocolors functions that produce strings', () => {
5
- // Verify they're callable and return strings (not just that they exist)
6
- expect(bold('test')).toEqual(expect.any(String));
7
- expect(red('test')).toEqual(expect.any(String));
8
- expect(green('test')).toEqual(expect.any(String));
9
- expect(yellow('test')).toEqual(expect.any(String));
10
- expect(cyan('test')).toEqual(expect.any(String));
11
- expect(dim('test')).toEqual(expect.any(String));
12
- expect(gray('test')).toEqual(expect.any(String));
13
- });
14
- it('exports the full picocolors object', () => {
15
- expect(typeof pc.bold).toBe('function');
16
- });
17
- it('strips ANSI codes', () => {
18
- expect(stripAnsi('\x1b[1mhello\x1b[22m')).toBe('hello');
19
- expect(stripAnsi('no codes')).toBe('no codes');
20
- expect(stripAnsi('\x1b[31m\x1b[1mfail\x1b[22m\x1b[39m')).toBe('fail');
21
- });
22
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,34 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { parseKeypress } from '../keyboard.js';
3
- describe('parseKeypress', () => {
4
- it('detects "o" key', () => {
5
- expect(parseKeypress(Buffer.from('o'))).toBe('o');
6
- });
7
- it('detects uppercase "O" as lowercase', () => {
8
- expect(parseKeypress(Buffer.from('O'))).toBe('o');
9
- });
10
- it('detects "p" key', () => {
11
- expect(parseKeypress(Buffer.from('p'))).toBe('p');
12
- });
13
- it('detects Ctrl+C as quit', () => {
14
- expect(parseKeypress(Buffer.from([0x03]))).toBe('quit');
15
- });
16
- it('detects "q" as quit', () => {
17
- expect(parseKeypress(Buffer.from('q'))).toBe('quit');
18
- });
19
- it('returns null for unknown keys', () => {
20
- expect(parseKeypress(Buffer.from('x'))).toBe(null);
21
- });
22
- it('detects log filter keys (a, e, r)', () => {
23
- expect(parseKeypress(Buffer.from('a'))).toBe('a');
24
- expect(parseKeypress(Buffer.from('e'))).toBe('e');
25
- expect(parseKeypress(Buffer.from('r'))).toBe('r');
26
- });
27
- it('detects "i" for info', () => {
28
- expect(parseKeypress(Buffer.from('i'))).toBe('i');
29
- });
30
- it('detects "s" for stop (used by `runwork dev attach`)', () => {
31
- expect(parseKeypress(Buffer.from('s'))).toBe('s');
32
- expect(parseKeypress(Buffer.from('S'))).toBe('s');
33
- });
34
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,54 +0,0 @@
1
- import { describe, it, expect, vi } from 'vitest';
2
- import { createStatusLine } from '../status-line.js';
3
- function createMockStream() {
4
- const mockWrite = vi.fn().mockReturnValue(true);
5
- return {
6
- write: mockWrite,
7
- isTTY: true,
8
- rows: 24,
9
- columns: 80,
10
- on: vi.fn(),
11
- removeListener: vi.fn(),
12
- };
13
- }
14
- describe('createStatusLine', () => {
15
- it('returns a no-op status line when not a TTY', () => {
16
- const stream = createMockStream();
17
- stream.isTTY = false;
18
- const status = createStatusLine(stream);
19
- status.update('test');
20
- expect(stream.write).not.toHaveBeenCalled();
21
- });
22
- it('sets up scroll region on creation for TTY', () => {
23
- const stream = createMockStream();
24
- createStatusLine(stream);
25
- // Should have written scroll region escape sequence
26
- const output = stream.write.mock.calls.map((c) => c[0]).join('');
27
- // Scroll region: \x1b[1;23r (rows-1 = 23)
28
- expect(output).toContain('\x1b[1;23r');
29
- });
30
- it('writes status text with inverse styling', () => {
31
- const stream = createMockStream();
32
- const status = createStatusLine(stream);
33
- status.update('Watching | 3 files synced');
34
- const output = stream.write.mock.calls.map((c) => c[0]).join('');
35
- expect(output).toContain('Watching');
36
- });
37
- it('listens for resize events', () => {
38
- const stream = createMockStream();
39
- createStatusLine(stream);
40
- expect(stream.on).toHaveBeenCalledWith('resize', expect.any(Function));
41
- });
42
- it('cleans up on destroy', () => {
43
- const stream = createMockStream();
44
- const status = createStatusLine(stream);
45
- status.update('test');
46
- stream.write.mockClear();
47
- status.destroy();
48
- expect(stream.write).toHaveBeenCalled();
49
- expect(stream.removeListener).toHaveBeenCalledWith('resize', expect.any(Function));
50
- // Should reset scroll region to full terminal
51
- const output = stream.write.mock.calls.map((c) => c[0]).join('');
52
- expect(output).toContain('\x1b[1;24r');
53
- });
54
- });
@@ -1,29 +0,0 @@
1
- export interface AgentInfo {
2
- id: string;
3
- name: string;
4
- /** Shell command to open the agent in a directory. {dir} is replaced with the path. */
5
- command: string;
6
- }
7
- export declare const SUPPORTED_AGENTS: AgentInfo[];
8
- export declare function getAgentCommand(agentId: string, directory: string): string | null;
9
- export declare function getAgentGuidance(directory: string): string;
10
- export interface DevBannerOptions {
11
- appName: string;
12
- previewUrl: string;
13
- workspaceName?: string;
14
- }
15
- export declare function getDevBanner(options: DevBannerOptions): string;
16
- export declare function getKeyboardHints(): string;
17
- /**
18
- * Interactive wizard that asks which AI agent the user wants to use,
19
- * then shows specific instructions for opening this app in that agent.
20
- */
21
- export declare function runAgentWizard(directory: string, configuredAgents?: string[]): Promise<void>;
22
- /**
23
- * Returns full info panel (for 'i' key in dev mode) showing
24
- * workspace, app, preview URL, and agent guidance.
25
- */
26
- export declare function getInfoPanel(options: DevBannerOptions & {
27
- directory: string;
28
- }): string;
29
- export declare function getWelcomeBanner(): string;