@proletariat/cli 0.3.94 → 0.3.96

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 (390) hide show
  1. package/dist/commands/agent/cleanup.d.ts +3 -4
  2. package/dist/commands/agent/cleanup.js +5 -4
  3. package/dist/commands/agent/cleanup.js.map +1 -1
  4. package/dist/commands/agent/gc.d.ts +3 -4
  5. package/dist/commands/agent/gc.js +5 -4
  6. package/dist/commands/agent/gc.js.map +1 -1
  7. package/dist/commands/agent/index.d.ts +3 -4
  8. package/dist/commands/agent/index.js +5 -4
  9. package/dist/commands/agent/index.js.map +1 -1
  10. package/dist/commands/agent/list.d.ts +3 -4
  11. package/dist/commands/agent/list.js +5 -4
  12. package/dist/commands/agent/list.js.map +1 -1
  13. package/dist/commands/agent/remove.d.ts +3 -4
  14. package/dist/commands/agent/remove.js +5 -4
  15. package/dist/commands/agent/remove.js.map +1 -1
  16. package/dist/commands/agent/staff/index.d.ts +3 -4
  17. package/dist/commands/agent/staff/index.js +5 -4
  18. package/dist/commands/agent/staff/index.js.map +1 -1
  19. package/dist/commands/agent/staff/remove.d.ts +3 -4
  20. package/dist/commands/agent/staff/remove.js +5 -4
  21. package/dist/commands/agent/staff/remove.js.map +1 -1
  22. package/dist/commands/agent/status.d.ts +3 -4
  23. package/dist/commands/agent/status.js +5 -4
  24. package/dist/commands/agent/status.js.map +1 -1
  25. package/dist/commands/agent/visit.d.ts +3 -4
  26. package/dist/commands/agent/visit.js +5 -4
  27. package/dist/commands/agent/visit.js.map +1 -1
  28. package/dist/commands/branch/create.js +1 -12
  29. package/dist/commands/branch/create.js.map +1 -1
  30. package/dist/commands/branch/list.d.ts +3 -4
  31. package/dist/commands/branch/list.js +5 -4
  32. package/dist/commands/branch/list.js.map +1 -1
  33. package/dist/commands/branch/validate.d.ts +3 -4
  34. package/dist/commands/branch/validate.js +6 -5
  35. package/dist/commands/branch/validate.js.map +1 -1
  36. package/dist/commands/branch/where.d.ts +3 -4
  37. package/dist/commands/branch/where.js +5 -4
  38. package/dist/commands/branch/where.js.map +1 -1
  39. package/dist/commands/commit.js +1 -1
  40. package/dist/commands/commit.js.map +1 -1
  41. package/dist/commands/config/index.js +1 -1
  42. package/dist/commands/config/index.js.map +1 -1
  43. package/dist/commands/db/backup.d.ts +16 -0
  44. package/dist/commands/db/backup.js +125 -0
  45. package/dist/commands/db/backup.js.map +1 -0
  46. package/dist/commands/db/repair.js +167 -45
  47. package/dist/commands/db/repair.js.map +1 -1
  48. package/dist/commands/execution/config.d.ts +3 -4
  49. package/dist/commands/execution/config.js +5 -4
  50. package/dist/commands/execution/config.js.map +1 -1
  51. package/dist/commands/execution/index.d.ts +3 -4
  52. package/dist/commands/execution/index.js +5 -4
  53. package/dist/commands/execution/index.js.map +1 -1
  54. package/dist/commands/execution/list.d.ts +3 -4
  55. package/dist/commands/execution/list.js +5 -4
  56. package/dist/commands/execution/list.js.map +1 -1
  57. package/dist/commands/execution/logs.d.ts +3 -4
  58. package/dist/commands/execution/logs.js +5 -4
  59. package/dist/commands/execution/logs.js.map +1 -1
  60. package/dist/commands/execution/stop.d.ts +3 -4
  61. package/dist/commands/execution/stop.js +5 -4
  62. package/dist/commands/execution/stop.js.map +1 -1
  63. package/dist/commands/execution/view.d.ts +3 -4
  64. package/dist/commands/execution/view.js +5 -4
  65. package/dist/commands/execution/view.js.map +1 -1
  66. package/dist/commands/gc.d.ts +13 -0
  67. package/dist/commands/gc.js +178 -0
  68. package/dist/commands/gc.js.map +1 -0
  69. package/dist/commands/hook/export.d.ts +3 -4
  70. package/dist/commands/hook/export.js +5 -4
  71. package/dist/commands/hook/export.js.map +1 -1
  72. package/dist/commands/hook/fire.d.ts +3 -4
  73. package/dist/commands/hook/fire.js +5 -4
  74. package/dist/commands/hook/fire.js.map +1 -1
  75. package/dist/commands/hook/list.d.ts +3 -4
  76. package/dist/commands/hook/list.js +5 -4
  77. package/dist/commands/hook/list.js.map +1 -1
  78. package/dist/commands/hook/preset.d.ts +3 -4
  79. package/dist/commands/hook/preset.js +5 -4
  80. package/dist/commands/hook/preset.js.map +1 -1
  81. package/dist/commands/orchestrate/index.d.ts +3 -4
  82. package/dist/commands/orchestrate/index.js +5 -4
  83. package/dist/commands/orchestrate/index.js.map +1 -1
  84. package/dist/commands/orchestrator/index.d.ts +3 -4
  85. package/dist/commands/orchestrator/index.js +5 -4
  86. package/dist/commands/orchestrator/index.js.map +1 -1
  87. package/dist/commands/pr/checks.d.ts +3 -4
  88. package/dist/commands/pr/checks.js +5 -4
  89. package/dist/commands/pr/checks.js.map +1 -1
  90. package/dist/commands/pr/merge.js +1 -1
  91. package/dist/commands/pr/merge.js.map +1 -1
  92. package/dist/commands/repo/add.d.ts +3 -4
  93. package/dist/commands/repo/add.js +5 -4
  94. package/dist/commands/repo/add.js.map +1 -1
  95. package/dist/commands/repo/create.d.ts +3 -4
  96. package/dist/commands/repo/create.js +5 -4
  97. package/dist/commands/repo/create.js.map +1 -1
  98. package/dist/commands/repo/fix-remotes.d.ts +3 -4
  99. package/dist/commands/repo/fix-remotes.js +5 -4
  100. package/dist/commands/repo/fix-remotes.js.map +1 -1
  101. package/dist/commands/repo/index.d.ts +3 -4
  102. package/dist/commands/repo/index.js +5 -4
  103. package/dist/commands/repo/index.js.map +1 -1
  104. package/dist/commands/repo/list.d.ts +3 -4
  105. package/dist/commands/repo/list.js +5 -4
  106. package/dist/commands/repo/list.js.map +1 -1
  107. package/dist/commands/session/attach.d.ts +3 -3
  108. package/dist/commands/session/attach.js +37 -79
  109. package/dist/commands/session/attach.js.map +1 -1
  110. package/dist/commands/session/cleanup.d.ts +3 -4
  111. package/dist/commands/session/cleanup.js +5 -4
  112. package/dist/commands/session/cleanup.js.map +1 -1
  113. package/dist/commands/session/create.d.ts +3 -4
  114. package/dist/commands/session/create.js +5 -4
  115. package/dist/commands/session/create.js.map +1 -1
  116. package/dist/commands/session/exec.d.ts +3 -4
  117. package/dist/commands/session/exec.js +6 -5
  118. package/dist/commands/session/exec.js.map +1 -1
  119. package/dist/commands/session/health.js +19 -1
  120. package/dist/commands/session/health.js.map +1 -1
  121. package/dist/commands/session/index.d.ts +3 -4
  122. package/dist/commands/session/index.js +9 -4
  123. package/dist/commands/session/index.js.map +1 -1
  124. package/dist/commands/session/inspect.d.ts +3 -4
  125. package/dist/commands/session/inspect.js +6 -5
  126. package/dist/commands/session/inspect.js.map +1 -1
  127. package/dist/commands/session/list.d.ts +4 -4
  128. package/dist/commands/session/list.js +129 -82
  129. package/dist/commands/session/list.js.map +1 -1
  130. package/dist/commands/session/peek.js +1 -1
  131. package/dist/commands/session/peek.js.map +1 -1
  132. package/dist/commands/session/poke.js +1 -1
  133. package/dist/commands/session/poke.js.map +1 -1
  134. package/dist/commands/session/prune.d.ts +3 -4
  135. package/dist/commands/session/prune.js +55 -15
  136. package/dist/commands/session/prune.js.map +1 -1
  137. package/dist/commands/session/report.d.ts +25 -5
  138. package/dist/commands/session/report.js +201 -5
  139. package/dist/commands/session/report.js.map +1 -1
  140. package/dist/commands/session/restart.d.ts +3 -4
  141. package/dist/commands/session/restart.js +6 -5
  142. package/dist/commands/session/restart.js.map +1 -1
  143. package/dist/commands/session/watch.d.ts +17 -0
  144. package/dist/commands/session/watch.js +139 -0
  145. package/dist/commands/session/watch.js.map +1 -0
  146. package/dist/commands/{action → sync}/index.d.ts +2 -6
  147. package/dist/commands/sync/index.js +68 -0
  148. package/dist/commands/sync/index.js.map +1 -0
  149. package/dist/commands/sync/pause.d.ts +10 -0
  150. package/dist/commands/sync/pause.js +35 -0
  151. package/dist/commands/sync/pause.js.map +1 -0
  152. package/dist/commands/sync/queue.d.ts +10 -0
  153. package/dist/commands/sync/queue.js +106 -0
  154. package/dist/commands/sync/queue.js.map +1 -0
  155. package/dist/commands/sync/resume.d.ts +10 -0
  156. package/dist/commands/sync/resume.js +34 -0
  157. package/dist/commands/sync/resume.js.map +1 -0
  158. package/dist/commands/sync/start.d.ts +11 -0
  159. package/dist/commands/sync/start.js +73 -0
  160. package/dist/commands/sync/start.js.map +1 -0
  161. package/dist/commands/sync/status.d.ts +10 -0
  162. package/dist/commands/sync/status.js +40 -0
  163. package/dist/commands/sync/status.js.map +1 -0
  164. package/dist/commands/sync/stop.d.ts +10 -0
  165. package/dist/commands/sync/stop.js +39 -0
  166. package/dist/commands/sync/stop.js.map +1 -0
  167. package/dist/commands/ticket/create.js +1 -1
  168. package/dist/commands/ticket/create.js.map +1 -1
  169. package/dist/commands/ticket/edit.js +1 -1
  170. package/dist/commands/ticket/edit.js.map +1 -1
  171. package/dist/commands/ticket/index.d.ts +3 -4
  172. package/dist/commands/ticket/index.js +5 -4
  173. package/dist/commands/ticket/index.js.map +1 -1
  174. package/dist/commands/ticket/list.js +1 -1
  175. package/dist/commands/ticket/list.js.map +1 -1
  176. package/dist/commands/ticket/update.js +1 -1
  177. package/dist/commands/ticket/update.js.map +1 -1
  178. package/dist/commands/web.d.ts +20 -0
  179. package/dist/commands/web.js +82 -0
  180. package/dist/commands/web.js.map +1 -0
  181. package/dist/commands/work/complete.js +1 -1
  182. package/dist/commands/work/complete.js.map +1 -1
  183. package/dist/commands/work/hooks/add.d.ts +3 -4
  184. package/dist/commands/work/hooks/add.js +5 -4
  185. package/dist/commands/work/hooks/add.js.map +1 -1
  186. package/dist/commands/work/hooks/list.d.ts +3 -4
  187. package/dist/commands/work/hooks/list.js +5 -4
  188. package/dist/commands/work/hooks/list.js.map +1 -1
  189. package/dist/commands/work/hooks/toggle.d.ts +3 -4
  190. package/dist/commands/work/hooks/toggle.js +5 -4
  191. package/dist/commands/work/hooks/toggle.js.map +1 -1
  192. package/dist/commands/work/peek.d.ts +3 -4
  193. package/dist/commands/work/peek.js +5 -4
  194. package/dist/commands/work/peek.js.map +1 -1
  195. package/dist/commands/work/propose.d.ts +23 -0
  196. package/dist/commands/work/propose.js +57 -0
  197. package/dist/commands/work/propose.js.map +1 -0
  198. package/dist/commands/work/ready.js +3 -3
  199. package/dist/commands/work/ready.js.map +1 -1
  200. package/dist/commands/work/rebase.d.ts +1 -1
  201. package/dist/commands/work/rebase.js +52 -49
  202. package/dist/commands/work/rebase.js.map +1 -1
  203. package/dist/commands/work/resolve.js +1 -1
  204. package/dist/commands/work/resolve.js.map +1 -1
  205. package/dist/commands/work/ship.d.ts +6 -0
  206. package/dist/commands/work/ship.js +218 -49
  207. package/dist/commands/work/ship.js.map +1 -1
  208. package/dist/commands/work/start.js +16 -90
  209. package/dist/commands/work/start.js.map +1 -1
  210. package/dist/commands/work/stop.d.ts +3 -4
  211. package/dist/commands/work/stop.js +5 -4
  212. package/dist/commands/work/stop.js.map +1 -1
  213. package/dist/hooks/init.js +11 -1
  214. package/dist/hooks/init.js.map +1 -1
  215. package/dist/lib/branch/index.d.ts +6 -5
  216. package/dist/lib/branch/index.js +8 -13
  217. package/dist/lib/branch/index.js.map +1 -1
  218. package/dist/lib/dashboard/data.js +1 -1
  219. package/dist/lib/dashboard/data.js.map +1 -1
  220. package/dist/lib/dashboard/html.d.ts +2 -1
  221. package/dist/lib/dashboard/html.js +150 -522
  222. package/dist/lib/dashboard/html.js.map +1 -1
  223. package/dist/lib/database/db-safety.d.ts +70 -9
  224. package/dist/lib/database/db-safety.js +395 -43
  225. package/dist/lib/database/db-safety.js.map +1 -1
  226. package/dist/lib/database/index.d.ts +1 -1
  227. package/dist/lib/database/index.js +1 -1
  228. package/dist/lib/database/index.js.map +1 -1
  229. package/dist/lib/database/migrations/0017_drop_agent_work_fk.d.ts +13 -0
  230. package/dist/lib/database/migrations/0017_drop_agent_work_fk.js +85 -0
  231. package/dist/lib/database/migrations/0017_drop_agent_work_fk.js.map +1 -0
  232. package/dist/lib/database/migrations/0018_create_ticket_refs.d.ts +11 -0
  233. package/dist/lib/database/migrations/0018_create_ticket_refs.js +40 -0
  234. package/dist/lib/database/migrations/0018_create_ticket_refs.js.map +1 -0
  235. package/dist/lib/database/migrations/index.js +4 -0
  236. package/dist/lib/database/migrations/index.js.map +1 -1
  237. package/dist/lib/database/workspace.js +3 -1
  238. package/dist/lib/database/workspace.js.map +1 -1
  239. package/dist/lib/execution/devcontainer.js +1 -1
  240. package/dist/lib/execution/devcontainer.js.map +1 -1
  241. package/dist/lib/execution/runners/docker-management.d.ts +9 -0
  242. package/dist/lib/execution/runners/docker-management.js +14 -3
  243. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  244. package/dist/lib/execution/runners/docker.js +8 -0
  245. package/dist/lib/execution/runners/docker.js.map +1 -1
  246. package/dist/lib/execution/runners/prompt-builder.js +24 -9
  247. package/dist/lib/execution/runners/prompt-builder.js.map +1 -1
  248. package/dist/lib/execution/runners/shared.d.ts +1 -1
  249. package/dist/lib/execution/runners/shared.js +1 -1
  250. package/dist/lib/execution/runners/shared.js.map +1 -1
  251. package/dist/lib/execution/session-utils.d.ts +16 -0
  252. package/dist/lib/execution/session-utils.js +42 -0
  253. package/dist/lib/execution/session-utils.js.map +1 -1
  254. package/dist/lib/execution/spawner.js +4 -5
  255. package/dist/lib/execution/spawner.js.map +1 -1
  256. package/dist/lib/execution/storage.d.ts +29 -1
  257. package/dist/lib/execution/storage.js +79 -1
  258. package/dist/lib/execution/storage.js.map +1 -1
  259. package/dist/lib/execution/types.d.ts +17 -6
  260. package/dist/lib/execution/types.js +10 -7
  261. package/dist/lib/execution/types.js.map +1 -1
  262. package/dist/lib/external-issues/utils.d.ts +25 -0
  263. package/dist/lib/external-issues/utils.js +32 -0
  264. package/dist/lib/external-issues/utils.js.map +1 -0
  265. package/dist/lib/gc/index.d.ts +126 -0
  266. package/dist/lib/gc/index.js +410 -0
  267. package/dist/lib/gc/index.js.map +1 -0
  268. package/dist/lib/machine-config.d.ts +8 -0
  269. package/dist/lib/machine-config.js +37 -0
  270. package/dist/lib/machine-config.js.map +1 -1
  271. package/dist/lib/mcp/tools/action.js +1 -1
  272. package/dist/lib/mcp/tools/action.js.map +1 -1
  273. package/dist/lib/mcp/tools/ticket.js +1 -1
  274. package/dist/lib/mcp/tools/ticket.js.map +1 -1
  275. package/dist/lib/orchestrate/actions.js +30 -0
  276. package/dist/lib/orchestrate/actions.js.map +1 -1
  277. package/dist/lib/orchestrate/poller.d.ts +1 -1
  278. package/dist/lib/orchestrate/poller.js +4 -4
  279. package/dist/lib/orchestrate/poller.js.map +1 -1
  280. package/dist/lib/orchestrate/presets.js +2 -1
  281. package/dist/lib/orchestrate/presets.js.map +1 -1
  282. package/dist/lib/orchestrate/types.d.ts +1 -1
  283. package/dist/lib/orchestrate/types.js +1 -0
  284. package/dist/lib/orchestrate/types.js.map +1 -1
  285. package/dist/lib/pmo/index.js +1 -1
  286. package/dist/lib/pmo/index.js.map +1 -1
  287. package/dist/lib/pmo/markdown.js +1 -1
  288. package/dist/lib/pmo/markdown.js.map +1 -1
  289. package/dist/lib/pmo/schema.d.ts +3 -1
  290. package/dist/lib/pmo/schema.js +26 -2
  291. package/dist/lib/pmo/schema.js.map +1 -1
  292. package/dist/lib/pmo/storage/actions.js +1 -1
  293. package/dist/lib/pmo/storage/actions.js.map +1 -1
  294. package/dist/lib/pmo/storage/base.js +42 -18
  295. package/dist/lib/pmo/storage/base.js.map +1 -1
  296. package/dist/lib/pmo/storage/projects.js +2 -1
  297. package/dist/lib/pmo/storage/projects.js.map +1 -1
  298. package/dist/lib/pmo/storage/statuses.js +1 -1
  299. package/dist/lib/pmo/storage/statuses.js.map +1 -1
  300. package/dist/lib/pmo/storage/subtasks.js +1 -1
  301. package/dist/lib/pmo/storage/subtasks.js.map +1 -1
  302. package/dist/lib/pmo/storage/templates.js +1 -1
  303. package/dist/lib/pmo/storage/templates.js.map +1 -1
  304. package/dist/lib/pmo/storage/tickets.js +2 -1
  305. package/dist/lib/pmo/storage/tickets.js.map +1 -1
  306. package/dist/lib/pmo/storage/workflow-rules.js +1 -1
  307. package/dist/lib/pmo/storage/workflow-rules.js.map +1 -1
  308. package/dist/lib/pmo/utils.d.ts +6 -189
  309. package/dist/lib/pmo/utils.js +6 -306
  310. package/dist/lib/pmo/utils.js.map +1 -1
  311. package/dist/lib/providers/index.d.ts +1 -0
  312. package/dist/lib/providers/index.js +1 -0
  313. package/dist/lib/providers/index.js.map +1 -1
  314. package/dist/lib/providers/resolver.js +16 -0
  315. package/dist/lib/providers/resolver.js.map +1 -1
  316. package/dist/lib/providers/trello-provider.d.ts +28 -0
  317. package/dist/lib/providers/trello-provider.js +381 -0
  318. package/dist/lib/providers/trello-provider.js.map +1 -0
  319. package/dist/lib/session/heartbeat.d.ts +45 -0
  320. package/dist/lib/session/heartbeat.js +150 -0
  321. package/dist/lib/session/heartbeat.js.map +1 -0
  322. package/dist/lib/session/index.d.ts +7 -0
  323. package/dist/lib/session/index.js +8 -0
  324. package/dist/lib/session/index.js.map +1 -0
  325. package/dist/lib/session/watcher.d.ts +79 -0
  326. package/dist/lib/session/watcher.js +142 -0
  327. package/dist/lib/session/watcher.js.map +1 -0
  328. package/dist/lib/shipping/auto-merge.d.ts +57 -0
  329. package/dist/lib/shipping/auto-merge.js +311 -0
  330. package/dist/lib/shipping/auto-merge.js.map +1 -0
  331. package/dist/lib/shipping/github.d.ts +68 -0
  332. package/dist/lib/shipping/github.js +217 -0
  333. package/dist/lib/shipping/github.js.map +1 -0
  334. package/dist/lib/shipping/index.d.ts +13 -0
  335. package/dist/lib/shipping/index.js +11 -0
  336. package/dist/lib/shipping/index.js.map +1 -0
  337. package/dist/lib/shipping/rebase.d.ts +35 -0
  338. package/dist/lib/shipping/rebase.js +107 -0
  339. package/dist/lib/shipping/rebase.js.map +1 -0
  340. package/dist/lib/shipping/types.d.ts +181 -0
  341. package/dist/lib/shipping/types.js +9 -0
  342. package/dist/lib/shipping/types.js.map +1 -0
  343. package/dist/lib/sync/daemon-process.d.ts +9 -0
  344. package/dist/lib/sync/daemon-process.js +184 -0
  345. package/dist/lib/sync/daemon-process.js.map +1 -0
  346. package/dist/lib/sync/daemon.d.ts +39 -0
  347. package/dist/lib/sync/daemon.js +91 -0
  348. package/dist/lib/sync/daemon.js.map +1 -0
  349. package/dist/lib/sync/engine.d.ts +38 -0
  350. package/dist/lib/sync/engine.js +145 -0
  351. package/dist/lib/sync/engine.js.map +1 -0
  352. package/dist/lib/sync/merge-queue.d.ts +116 -0
  353. package/dist/lib/sync/merge-queue.js +321 -0
  354. package/dist/lib/sync/merge-queue.js.map +1 -0
  355. package/dist/lib/sync/reconciler.d.ts +44 -0
  356. package/dist/lib/sync/reconciler.js +88 -0
  357. package/dist/lib/sync/reconciler.js.map +1 -0
  358. package/dist/lib/trello/client.d.ts +1 -0
  359. package/dist/lib/trello/client.js +6 -0
  360. package/dist/lib/trello/client.js.map +1 -1
  361. package/dist/lib/utils/text.d.ts +44 -0
  362. package/dist/lib/utils/text.js +72 -0
  363. package/dist/lib/utils/text.js.map +1 -0
  364. package/dist/lib/work-lifecycle/post-execution.js +1 -1
  365. package/dist/lib/work-lifecycle/post-execution.js.map +1 -1
  366. package/dist/lib/work-lifecycle/settings.d.ts +138 -0
  367. package/dist/lib/work-lifecycle/settings.js +213 -0
  368. package/dist/lib/work-lifecycle/settings.js.map +1 -0
  369. package/oclif.manifest.json +2549 -2901
  370. package/package.json +8 -8
  371. package/dist/commands/action/create.d.ts +0 -26
  372. package/dist/commands/action/create.js +0 -245
  373. package/dist/commands/action/create.js.map +0 -1
  374. package/dist/commands/action/delete.d.ts +0 -18
  375. package/dist/commands/action/delete.js +0 -78
  376. package/dist/commands/action/delete.js.map +0 -1
  377. package/dist/commands/action/index.js +0 -103
  378. package/dist/commands/action/index.js.map +0 -1
  379. package/dist/commands/action/list.d.ts +0 -15
  380. package/dist/commands/action/list.js +0 -90
  381. package/dist/commands/action/list.js.map +0 -1
  382. package/dist/commands/action/run.d.ts +0 -20
  383. package/dist/commands/action/run.js +0 -188
  384. package/dist/commands/action/run.js.map +0 -1
  385. package/dist/commands/action/show.d.ts +0 -17
  386. package/dist/commands/action/show.js +0 -78
  387. package/dist/commands/action/show.js.map +0 -1
  388. package/dist/commands/action/update.d.ts +0 -27
  389. package/dist/commands/action/update.js +0 -288
  390. package/dist/commands/action/update.js.map +0 -1
@@ -1,13 +1,15 @@
1
1
  import { Flags } from '@oclif/core';
2
+ import { execSync } from 'node:child_process';
2
3
  import { styles } from '../../lib/styles.js';
3
4
  import { getWorkspaceInfo, cleanupAgent, getCleanableAgents, killTmuxSession, } from '../../lib/agents/commands.js';
4
5
  import { openWorkspaceDatabase } from '../../lib/database/index.js';
5
6
  import { ExecutionStorage } from '../../lib/execution/index.js';
6
- import { parseSessionName, getHostTmuxSessionNames, getContainerTmuxSessionMap, flattenContainerSessions, findContainerSessionsByPrefix, findSessionForExecution, } from '../../lib/execution/session-utils.js';
7
- import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
7
+ import { parseSessionName, getHostTmuxSessionNames, getContainerTmuxSessionMap, flattenContainerSessions, findContainerSessionsByPrefix, findSessionForExecution, isContainerEnvironment, checkContainerLiveness, } from '../../lib/execution/session-utils.js';
8
+ import { PromptCommand } from '../../lib/prompt-command.js';
9
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
8
10
  import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
9
- export default class SessionPrune extends PMOCommand {
10
- static description = 'Clean up stale sessions, orphan tmux sessions, and idle ephemeral agents';
11
+ export default class SessionPrune extends PromptCommand {
12
+ static description = 'Clean up stale sessions, orphan tmux sessions, dead Docker containers, and idle ephemeral agents';
11
13
  static examples = [
12
14
  '<%= config.bin %> session prune',
13
15
  '<%= config.bin %> session prune --dry-run',
@@ -15,7 +17,7 @@ export default class SessionPrune extends PMOCommand {
15
17
  '<%= config.bin %> session prune --age 24',
16
18
  ];
17
19
  static flags = {
18
- ...pmoBaseFlags,
20
+ ...machineOutputFlags,
19
21
  'dry-run': Flags.boolean({
20
22
  char: 'd',
21
23
  description: 'Show what would be pruned without actually doing it',
@@ -39,7 +41,7 @@ export default class SessionPrune extends PMOCommand {
39
41
  getPMOOptions() {
40
42
  return { promptIfMultiple: false };
41
43
  }
42
- async execute() {
44
+ async run() {
43
45
  const { flags } = await this.parse(SessionPrune);
44
46
  const jsonMode = shouldOutputJson(flags);
45
47
  const dryRun = flags['dry-run'];
@@ -66,6 +68,7 @@ export default class SessionPrune extends PMOCommand {
66
68
  const result = {
67
69
  staleExecutionsCleaned: 0,
68
70
  orphanSessionsKilled: [],
71
+ deadContainersKilled: [],
69
72
  ephemeralAgentsCleaned: [],
70
73
  errors: [],
71
74
  };
@@ -75,7 +78,34 @@ export default class SessionPrune extends PMOCommand {
75
78
  const staleCount = executionStorage.cleanupStaleExecutions();
76
79
  result.staleExecutionsCleaned = staleCount;
77
80
  // =====================================================================
78
- // Step 2: Find and kill orphan tmux sessions
81
+ // Step 2: Kill Docker containers for completed/failed executions
82
+ // =====================================================================
83
+ const completedExecutions = [
84
+ ...executionStorage.listExecutions({ status: 'completed' }),
85
+ ...executionStorage.listExecutions({ status: 'failed' }),
86
+ ...executionStorage.listExecutions({ status: 'stopped' }),
87
+ ];
88
+ for (const exec of completedExecutions) {
89
+ if (!isContainerEnvironment(exec.environment) || !exec.containerId)
90
+ continue;
91
+ const containerStatus = checkContainerLiveness(exec.containerId);
92
+ if (containerStatus === 'running' || containerStatus === 'paused') {
93
+ if (dryRun) {
94
+ result.deadContainersKilled.push(exec.containerId);
95
+ }
96
+ else {
97
+ try {
98
+ execSync(`docker rm -f ${exec.containerId}`, { stdio: 'pipe', timeout: 30000 });
99
+ result.deadContainersKilled.push(exec.containerId);
100
+ }
101
+ catch {
102
+ result.errors.push(`Failed to kill container: ${exec.containerId}`);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ // =====================================================================
108
+ // Step 3: Find and kill orphan tmux sessions (not tracked in DB)
79
109
  // =====================================================================
80
110
  const hostTmuxSessions = getHostTmuxSessionNames();
81
111
  const containerTmuxSessions = getContainerTmuxSessionMap();
@@ -87,7 +117,7 @@ export default class SessionPrune extends PMOCommand {
87
117
  const matchedHostSessions = new Set();
88
118
  const matchedContainerSessions = new Set();
89
119
  for (const exec of activeExecutions) {
90
- const isContainer = exec.environment === 'devcontainer';
120
+ const isContainer = isContainerEnvironment(exec.environment);
91
121
  let actualSessionId = exec.sessionId;
92
122
  if (!exec.sessionId) {
93
123
  if (isContainer && exec.containerId) {
@@ -151,7 +181,6 @@ export default class SessionPrune extends PMOCommand {
151
181
  }
152
182
  else {
153
183
  try {
154
- const { execSync } = await import('node:child_process');
155
184
  execSync(`docker exec ${containerId} tmux kill-session -t "${sessionName}"`, { stdio: 'pipe', timeout: 10000 });
156
185
  result.orphanSessionsKilled.push(`${containerId}:${sessionName}`);
157
186
  }
@@ -161,7 +190,7 @@ export default class SessionPrune extends PMOCommand {
161
190
  }
162
191
  }
163
192
  // =====================================================================
164
- // Step 3: Clean up idle ephemeral agents
193
+ // Step 4: Clean up idle ephemeral agents
165
194
  // =====================================================================
166
195
  // Refresh workspace info after stale cleanup
167
196
  const freshWorkspaceInfo = getWorkspaceInfo();
@@ -176,7 +205,7 @@ export default class SessionPrune extends PMOCommand {
176
205
  }
177
206
  // Determine total work to be done
178
207
  const totalOrphans = orphanHostSessions.length + orphanContainerSessions.length;
179
- const totalWork = staleCount + totalOrphans + cleanableAgents.length;
208
+ const totalWork = staleCount + totalOrphans + cleanableAgents.length + result.deadContainersKilled.length;
180
209
  if (totalWork === 0) {
181
210
  if (jsonMode) {
182
211
  outputSuccessAsJson({
@@ -194,10 +223,16 @@ export default class SessionPrune extends PMOCommand {
194
223
  if (!jsonMode) {
195
224
  this.log('');
196
225
  this.log(styles.header(`${dryRun ? '[DRY RUN] ' : ''}Session Prune`));
197
- this.log(''.repeat(60));
226
+ this.log('='.repeat(60));
198
227
  if (staleCount > 0) {
199
228
  this.log(styles.info(` ${staleCount} stale execution record(s) ${dryRun ? 'would be ' : ''}cleaned`));
200
229
  }
230
+ if (result.deadContainersKilled.length > 0) {
231
+ this.log(styles.info(` ${result.deadContainersKilled.length} dead Docker container(s) ${dryRun ? 'would be ' : ''}removed:`));
232
+ for (const cid of result.deadContainersKilled) {
233
+ this.log(styles.muted(` - ${cid.substring(0, 12)}`));
234
+ }
235
+ }
201
236
  if (totalOrphans > 0) {
202
237
  this.log(styles.info(` ${totalOrphans} orphan tmux session(s) ${dryRun ? 'would be ' : ''}killed:`));
203
238
  for (const s of orphanHostSessions) {
@@ -216,13 +251,14 @@ export default class SessionPrune extends PMOCommand {
216
251
  this.log('');
217
252
  }
218
253
  // Confirm unless --yes or --dry-run
219
- if (!skipConfirm && !dryRun && cleanableAgents.length > 0) {
254
+ if (!skipConfirm && !dryRun && (cleanableAgents.length > 0 || result.deadContainersKilled.length > 0)) {
220
255
  if (jsonMode) {
221
256
  outputSuccessAsJson({
222
257
  message: 'Confirmation required',
223
258
  preview: {
224
259
  staleExecutions: staleCount,
225
260
  orphanSessions: totalOrphans,
261
+ deadContainers: result.deadContainersKilled.length,
226
262
  ephemeralAgents: cleanableAgents.map(a => a.name),
227
263
  },
228
264
  }, createMetadata('session prune', flags));
@@ -232,7 +268,7 @@ export default class SessionPrune extends PMOCommand {
232
268
  {
233
269
  type: 'list',
234
270
  name: 'confirm',
235
- message: `Prune ${cleanableAgents.length} ephemeral agent(s) and ${totalOrphans} orphan session(s)?`,
271
+ message: `Prune ${totalWork} item(s)?`,
236
272
  choices: [
237
273
  { name: 'No, cancel', value: false },
238
274
  { name: 'Yes, prune', value: true },
@@ -286,6 +322,7 @@ export default class SessionPrune extends PMOCommand {
286
322
  summary: {
287
323
  staleExecutionsCleaned: result.staleExecutionsCleaned,
288
324
  orphanSessionsKilled: result.orphanSessionsKilled.length,
325
+ deadContainersKilled: result.deadContainersKilled.length,
289
326
  ephemeralAgentsCleaned: result.ephemeralAgentsCleaned.filter(r => r.success).length,
290
327
  ephemeralAgentsFailed: result.ephemeralAgentsCleaned.filter(r => !r.success).length,
291
328
  },
@@ -295,10 +332,13 @@ export default class SessionPrune extends PMOCommand {
295
332
  // Summary
296
333
  this.log('');
297
334
  this.log(styles.header(`${dryRun ? '[DRY RUN] ' : ''}Prune Summary`));
298
- this.log(''.repeat(40));
335
+ this.log('-'.repeat(40));
299
336
  if (result.staleExecutionsCleaned > 0) {
300
337
  this.log(styles.success(` ${result.staleExecutionsCleaned} stale execution(s) ${dryRun ? 'would be ' : ''}cleaned`));
301
338
  }
339
+ if (result.deadContainersKilled.length > 0) {
340
+ this.log(styles.success(` ${result.deadContainersKilled.length} dead container(s) ${dryRun ? 'would be ' : ''}removed`));
341
+ }
302
342
  if (result.orphanSessionsKilled.length > 0) {
303
343
  this.log(styles.success(` ${result.orphanSessionsKilled.length} orphan session(s) ${dryRun ? 'would be ' : ''}killed`));
304
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../src/commands/session/prune.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune.js","sourceRoot":"","sources":["../../../src/commands/session/prune.ts"],"names":[],"mappings":"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"}
@@ -1,27 +1,47 @@
1
1
  /**
2
- * Session Report Command (PRLT-1061)
2
+ * Session Report Command (PRLT-1061, PRLT-1129)
3
3
  *
4
4
  * Called by Claude Code stop hook when an agent session ends.
5
5
  * Reads the execution record and cleanup policy to determine
6
6
  * whether to remove the container, update ticket status, and
7
7
  * log telemetry events.
8
8
  *
9
+ * PRLT-1129: Safety net — when an agent exits without proposing,
10
+ * checks for uncommitted changes (warns) and commits without a PR
11
+ * (auto-proposes via `prlt work propose`).
12
+ *
9
13
  * Usage (from stop hook):
10
14
  * prlt session report --agent bold-turing --status exited
11
15
  */
12
- import { PMOCommand } from '../../lib/pmo/index.js';
13
- export default class SessionReport extends PMOCommand {
16
+ import { PromptCommand } from '../../lib/prompt-command.js';
17
+ export default class SessionReport extends PromptCommand {
14
18
  static description: string;
15
19
  static examples: string[];
16
20
  static flags: {
17
21
  agent: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
18
22
  status: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
19
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
23
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
24
  machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
25
  };
23
26
  protected getPMOOptions(): {
24
27
  promptIfMultiple: boolean;
25
28
  };
26
- execute(): Promise<void>;
29
+ run(): Promise<void>;
30
+ /**
31
+ * Safety net: detect abandoned work and auto-propose (PRLT-1129).
32
+ *
33
+ * When an agent exits without having explicitly called `prlt work propose`
34
+ * or `prlt work ready`, this method checks:
35
+ * 1. Uncommitted changes in workspace repos → warn
36
+ * 2. Commits on feature branch with no PR → auto-propose
37
+ *
38
+ * This is best-effort — failures are logged but never block cleanup.
39
+ */
40
+ private runSafetyNet;
41
+ /**
42
+ * Find git repository directories in the workspace.
43
+ * In devcontainers, repos live under /workspace/.
44
+ * On host, uses the execution's worktree path.
45
+ */
46
+ private findWorkspaceRepoDirs;
27
47
  }
@@ -1,25 +1,32 @@
1
1
  /**
2
- * Session Report Command (PRLT-1061)
2
+ * Session Report Command (PRLT-1061, PRLT-1129)
3
3
  *
4
4
  * Called by Claude Code stop hook when an agent session ends.
5
5
  * Reads the execution record and cleanup policy to determine
6
6
  * whether to remove the container, update ticket status, and
7
7
  * log telemetry events.
8
8
  *
9
+ * PRLT-1129: Safety net — when an agent exits without proposing,
10
+ * checks for uncommitted changes (warns) and commits without a PR
11
+ * (auto-proposes via `prlt work propose`).
12
+ *
9
13
  * Usage (from stop hook):
10
14
  * prlt session report --agent bold-turing --status exited
11
15
  */
12
16
  import { Flags } from '@oclif/core';
13
17
  import { execSync } from 'node:child_process';
18
+ import * as fs from 'node:fs';
19
+ import * as path from 'node:path';
14
20
  import { getWorkspaceInfo } from '../../lib/agents/commands.js';
15
21
  import { openWorkspaceDatabase } from '../../lib/database/index.js';
16
22
  import { ExecutionStorage } from '../../lib/execution/index.js';
17
23
  import { cleanupAgentContainer } from '../../lib/execution/container-cleanup.js';
18
24
  import { trackEvent } from '../../lib/telemetry/analytics.js';
19
- import { PMOCommand, pmoBaseFlags } from '../../lib/pmo/index.js';
25
+ import { PromptCommand } from '../../lib/prompt-command.js';
26
+ import { machineOutputFlags } from '../../lib/pmo/index.js';
20
27
  import { shouldOutputJson, outputSuccessAsJson, outputErrorAsJson, createMetadata, } from '../../lib/prompt-json.js';
21
28
  const VALID_STATUSES = new Set(['started', 'completed', 'errored', 'exited']);
22
- export default class SessionReport extends PMOCommand {
29
+ export default class SessionReport extends PromptCommand {
23
30
  static description = 'Report agent session lifecycle events and trigger cleanup';
24
31
  static examples = [
25
32
  '<%= config.bin %> session report --agent bold-turing --status exited',
@@ -27,7 +34,7 @@ export default class SessionReport extends PMOCommand {
27
34
  '<%= config.bin %> session report --agent bold-turing --status errored',
28
35
  ];
29
36
  static flags = {
30
- ...pmoBaseFlags,
37
+ ...machineOutputFlags,
31
38
  agent: Flags.string({
32
39
  description: 'Agent name',
33
40
  required: true,
@@ -41,7 +48,7 @@ export default class SessionReport extends PMOCommand {
41
48
  getPMOOptions() {
42
49
  return { promptIfMultiple: false };
43
50
  }
44
- async execute() {
51
+ async run() {
45
52
  const { flags } = await this.parse(SessionReport);
46
53
  const jsonMode = shouldOutputJson(flags);
47
54
  const agentName = flags.agent;
@@ -110,6 +117,26 @@ export default class SessionReport extends PMOCommand {
110
117
  executionStatus = 'stopped';
111
118
  break;
112
119
  }
120
+ // PRLT-1129: Safety net — catch agents that exit without proposing work.
121
+ // Runs before status update so we can upgrade 'stopped' → 'completed' if auto-propose succeeds.
122
+ let safetyNetResult;
123
+ if (status === 'exited' && execution.ticketId) {
124
+ safetyNetResult = this.runSafetyNet(execution);
125
+ // If auto-propose succeeded, upgrade execution status
126
+ if (safetyNetResult.autoProposed) {
127
+ executionStatus = 'completed';
128
+ }
129
+ // Track safety net telemetry
130
+ trackEvent('agent_safety_net', null, {
131
+ agent_name: agentName,
132
+ ticket_id: execution.ticketId,
133
+ has_uncommitted_changes: String(safetyNetResult.hasUncommittedChanges),
134
+ has_commits_without_pr: String(safetyNetResult.hasCommitsWithoutPR),
135
+ auto_proposed: String(safetyNetResult.autoProposed),
136
+ auto_propose_failed: String(safetyNetResult.autoProposeFailed),
137
+ error: safetyNetResult.error || '',
138
+ });
139
+ }
113
140
  // Update execution status
114
141
  executionStorage.updateStatus(execution.id, executionStatus);
115
142
  // Determine cleanup action based on policy
@@ -175,6 +202,7 @@ export default class SessionReport extends PMOCommand {
175
202
  cleanupReason,
176
203
  cleanupSuccess: cleanupResult.success,
177
204
  cleanupError: cleanupResult.error,
205
+ safetyNet: safetyNetResult,
178
206
  };
179
207
  if (jsonMode) {
180
208
  outputSuccessAsJson(result, createMetadata('session report', flags));
@@ -195,6 +223,17 @@ export default class SessionReport extends PMOCommand {
195
223
  else {
196
224
  this.log(` Container: kept (${cleanupReason})`);
197
225
  }
226
+ if (safetyNetResult) {
227
+ if (safetyNetResult.hasUncommittedChanges) {
228
+ this.log(` ⚠ Safety net: uncommitted changes detected`);
229
+ }
230
+ if (safetyNetResult.autoProposed) {
231
+ this.log(` ✓ Safety net: auto-proposed work (PR created)`);
232
+ }
233
+ else if (safetyNetResult.autoProposeFailed) {
234
+ this.log(` ⚠ Safety net: auto-propose failed — ${safetyNetResult.error}`);
235
+ }
236
+ }
198
237
  }
199
238
  finally {
200
239
  db.close();
@@ -211,5 +250,162 @@ export default class SessionReport extends PMOCommand {
211
250
  }
212
251
  }
213
252
  }
253
+ /**
254
+ * Safety net: detect abandoned work and auto-propose (PRLT-1129).
255
+ *
256
+ * When an agent exits without having explicitly called `prlt work propose`
257
+ * or `prlt work ready`, this method checks:
258
+ * 1. Uncommitted changes in workspace repos → warn
259
+ * 2. Commits on feature branch with no PR → auto-propose
260
+ *
261
+ * This is best-effort — failures are logged but never block cleanup.
262
+ */
263
+ runSafetyNet(execution) {
264
+ const result = {
265
+ hasUncommittedChanges: false,
266
+ hasCommitsWithoutPR: false,
267
+ autoProposed: false,
268
+ autoProposeFailed: false,
269
+ };
270
+ try {
271
+ // Find repo directories in workspace (same pattern as work/ready.ts)
272
+ const repoDirs = this.findWorkspaceRepoDirs();
273
+ if (repoDirs.length === 0)
274
+ return result;
275
+ for (const repoDir of repoDirs) {
276
+ // Check for uncommitted changes
277
+ try {
278
+ const status = execSync('git status --porcelain', {
279
+ cwd: repoDir,
280
+ stdio: ['pipe', 'pipe', 'pipe'],
281
+ encoding: 'utf-8',
282
+ }).trim();
283
+ if (status) {
284
+ result.hasUncommittedChanges = true;
285
+ }
286
+ }
287
+ catch {
288
+ // git not available or not a repo — skip
289
+ continue;
290
+ }
291
+ // Check if we're on a feature branch with commits but no PR
292
+ try {
293
+ const branch = execSync('git rev-parse --abbrev-ref HEAD', {
294
+ cwd: repoDir,
295
+ stdio: ['pipe', 'pipe', 'pipe'],
296
+ encoding: 'utf-8',
297
+ }).trim();
298
+ // Skip if on main/master or detached HEAD
299
+ if (!branch || branch === 'HEAD' || branch === 'main' || branch === 'master') {
300
+ continue;
301
+ }
302
+ // Check for commits ahead of the default branch
303
+ let baseBranch = 'main';
304
+ try {
305
+ execSync('git rev-parse --verify origin/main', {
306
+ cwd: repoDir,
307
+ stdio: ['pipe', 'pipe', 'pipe'],
308
+ });
309
+ }
310
+ catch {
311
+ baseBranch = 'master';
312
+ }
313
+ const commitCount = execSync(`git rev-list --count origin/${baseBranch}..HEAD`, {
314
+ cwd: repoDir,
315
+ stdio: ['pipe', 'pipe', 'pipe'],
316
+ encoding: 'utf-8',
317
+ }).trim();
318
+ if (parseInt(commitCount, 10) === 0) {
319
+ // No commits ahead — nothing to propose
320
+ continue;
321
+ }
322
+ // Check if a PR already exists for this branch
323
+ try {
324
+ const prState = execSync(`gh pr view "${branch}" --json state --jq '.state'`, {
325
+ cwd: repoDir,
326
+ stdio: ['pipe', 'pipe', 'pipe'],
327
+ encoding: 'utf-8',
328
+ }).trim();
329
+ if (prState === 'OPEN' || prState === 'MERGED') {
330
+ // PR already exists — agent likely proposed normally
331
+ continue;
332
+ }
333
+ }
334
+ catch {
335
+ // No PR found — this is the case we want to catch
336
+ }
337
+ // Agent has commits but no PR — auto-propose
338
+ result.hasCommitsWithoutPR = true;
339
+ // Push any unpushed commits first
340
+ try {
341
+ execSync(`git push origin HEAD`, {
342
+ cwd: repoDir,
343
+ stdio: ['pipe', 'pipe', 'pipe'],
344
+ });
345
+ }
346
+ catch {
347
+ // Push may fail if already pushed or no remote — continue with propose
348
+ }
349
+ // Auto-propose via prlt work propose
350
+ const ticketId = execution.ticketId;
351
+ try {
352
+ execSync(`prlt work propose ${ticketId}`, {
353
+ cwd: repoDir,
354
+ stdio: ['pipe', 'pipe', 'pipe'],
355
+ timeout: 30000, // 30s timeout for safety
356
+ });
357
+ result.autoProposed = true;
358
+ }
359
+ catch (err) {
360
+ result.autoProposeFailed = true;
361
+ result.error = err instanceof Error ? err.message : String(err);
362
+ }
363
+ }
364
+ catch {
365
+ // Git operations failed — skip this repo
366
+ continue;
367
+ }
368
+ }
369
+ }
370
+ catch (err) {
371
+ // Top-level safety net failure — never block the report
372
+ result.error = err instanceof Error ? err.message : String(err);
373
+ }
374
+ return result;
375
+ }
376
+ /**
377
+ * Find git repository directories in the workspace.
378
+ * In devcontainers, repos live under /workspace/.
379
+ * On host, uses the execution's worktree path.
380
+ */
381
+ findWorkspaceRepoDirs() {
382
+ const dirs = [];
383
+ if (process.env.DEVCONTAINER === 'true') {
384
+ // Devcontainer: repos are under /workspace/
385
+ try {
386
+ const entries = fs.readdirSync('/workspace', { withFileTypes: true });
387
+ for (const entry of entries) {
388
+ if (entry.isDirectory() && !entry.name.startsWith('.') && entry.name !== 'node_modules') {
389
+ const candidate = path.join('/workspace', entry.name);
390
+ // Verify it's a git repo
391
+ if (fs.existsSync(path.join(candidate, '.git'))) {
392
+ dirs.push(candidate);
393
+ }
394
+ }
395
+ }
396
+ }
397
+ catch {
398
+ // /workspace not readable — skip
399
+ }
400
+ }
401
+ else {
402
+ // Host mode: try current working directory
403
+ const cwd = process.cwd();
404
+ if (fs.existsSync(path.join(cwd, '.git'))) {
405
+ dirs.push(cwd);
406
+ }
407
+ }
408
+ return dirs;
409
+ }
214
410
  }
215
411
  //# sourceMappingURL=report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/commands/session/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/commands/session/report.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { PMOCommand } from '../../lib/pmo/index.js';
2
- export default class SessionRestart extends PMOCommand {
1
+ import { PromptCommand } from '../../lib/prompt-command.js';
2
+ export default class SessionRestart extends PromptCommand {
3
3
  static description: string;
4
4
  static examples: string[];
5
5
  static args: {
@@ -9,12 +9,11 @@ export default class SessionRestart extends PMOCommand {
9
9
  fresh: import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
10
  resume: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
12
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
12
  json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
13
  machine: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
14
  };
16
15
  protected getPMOOptions(): {
17
16
  promptIfMultiple: boolean;
18
17
  };
19
- execute(): Promise<void>;
18
+ run(): Promise<void>;
20
19
  }