@everywheredev/cli 0.0.5 → 0.0.7

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 (307) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +274 -59
  3. package/package.json +3 -2
  4. package/scripts/build.mjs +68 -0
  5. package/dist/agent/agent-loop.d.ts +0 -40
  6. package/dist/agent/agent-loop.d.ts.map +0 -1
  7. package/dist/agent/agent-loop.js +0 -162
  8. package/dist/agent/agent-loop.js.map +0 -1
  9. package/dist/agent/approval.d.ts +0 -38
  10. package/dist/agent/approval.d.ts.map +0 -1
  11. package/dist/agent/approval.js +0 -55
  12. package/dist/agent/approval.js.map +0 -1
  13. package/dist/agent/run-tracker.d.ts +0 -26
  14. package/dist/agent/run-tracker.d.ts.map +0 -1
  15. package/dist/agent/run-tracker.js +0 -43
  16. package/dist/agent/run-tracker.js.map +0 -1
  17. package/dist/auth/device-flow.d.ts +0 -61
  18. package/dist/auth/device-flow.d.ts.map +0 -1
  19. package/dist/auth/device-flow.js +0 -141
  20. package/dist/auth/device-flow.js.map +0 -1
  21. package/dist/auth/hydra-oauth-auth-provider.d.ts +0 -35
  22. package/dist/auth/hydra-oauth-auth-provider.d.ts.map +0 -1
  23. package/dist/auth/hydra-oauth-auth-provider.js +0 -153
  24. package/dist/auth/hydra-oauth-auth-provider.js.map +0 -1
  25. package/dist/auth/keychain.d.ts +0 -42
  26. package/dist/auth/keychain.d.ts.map +0 -1
  27. package/dist/auth/keychain.js +0 -138
  28. package/dist/auth/keychain.js.map +0 -1
  29. package/dist/auth/pkce.d.ts +0 -20
  30. package/dist/auth/pkce.d.ts.map +0 -1
  31. package/dist/auth/pkce.js +0 -44
  32. package/dist/auth/pkce.js.map +0 -1
  33. package/dist/auth/ports.d.ts +0 -25
  34. package/dist/auth/ports.d.ts.map +0 -1
  35. package/dist/auth/ports.js +0 -8
  36. package/dist/auth/ports.js.map +0 -1
  37. package/dist/commands/activity.d.ts +0 -17
  38. package/dist/commands/activity.d.ts.map +0 -1
  39. package/dist/commands/activity.js +0 -54
  40. package/dist/commands/activity.js.map +0 -1
  41. package/dist/commands/agent.d.ts +0 -25
  42. package/dist/commands/agent.d.ts.map +0 -1
  43. package/dist/commands/agent.js +0 -80
  44. package/dist/commands/agent.js.map +0 -1
  45. package/dist/commands/agents.d.ts +0 -9
  46. package/dist/commands/agents.d.ts.map +0 -1
  47. package/dist/commands/agents.js +0 -28
  48. package/dist/commands/agents.js.map +0 -1
  49. package/dist/commands/commits.d.ts +0 -16
  50. package/dist/commands/commits.d.ts.map +0 -1
  51. package/dist/commands/commits.js +0 -39
  52. package/dist/commands/commits.js.map +0 -1
  53. package/dist/commands/diff.d.ts +0 -15
  54. package/dist/commands/diff.d.ts.map +0 -1
  55. package/dist/commands/diff.js +0 -27
  56. package/dist/commands/diff.js.map +0 -1
  57. package/dist/commands/expose.d.ts +0 -15
  58. package/dist/commands/expose.d.ts.map +0 -1
  59. package/dist/commands/expose.js +0 -39
  60. package/dist/commands/expose.js.map +0 -1
  61. package/dist/commands/index.d.ts +0 -7
  62. package/dist/commands/index.d.ts.map +0 -1
  63. package/dist/commands/index.js +0 -12
  64. package/dist/commands/index.js.map +0 -1
  65. package/dist/commands/login.d.ts +0 -9
  66. package/dist/commands/login.d.ts.map +0 -1
  67. package/dist/commands/login.js +0 -27
  68. package/dist/commands/login.js.map +0 -1
  69. package/dist/commands/logout.d.ts +0 -9
  70. package/dist/commands/logout.d.ts.map +0 -1
  71. package/dist/commands/logout.js +0 -24
  72. package/dist/commands/logout.js.map +0 -1
  73. package/dist/commands/me.d.ts +0 -10
  74. package/dist/commands/me.d.ts.map +0 -1
  75. package/dist/commands/me.js +0 -25
  76. package/dist/commands/me.js.map +0 -1
  77. package/dist/commands/open.d.ts +0 -16
  78. package/dist/commands/open.d.ts.map +0 -1
  79. package/dist/commands/open.js +0 -34
  80. package/dist/commands/open.js.map +0 -1
  81. package/dist/commands/ports.d.ts +0 -75
  82. package/dist/commands/ports.d.ts.map +0 -1
  83. package/dist/commands/ports.js +0 -78
  84. package/dist/commands/ports.js.map +0 -1
  85. package/dist/commands/profile.d.ts +0 -21
  86. package/dist/commands/profile.d.ts.map +0 -1
  87. package/dist/commands/profile.js +0 -93
  88. package/dist/commands/profile.js.map +0 -1
  89. package/dist/commands/push.d.ts +0 -18
  90. package/dist/commands/push.d.ts.map +0 -1
  91. package/dist/commands/push.js +0 -116
  92. package/dist/commands/push.js.map +0 -1
  93. package/dist/commands/registry.d.ts +0 -15
  94. package/dist/commands/registry.d.ts.map +0 -1
  95. package/dist/commands/registry.js +0 -45
  96. package/dist/commands/registry.js.map +0 -1
  97. package/dist/commands/request.d.ts +0 -25
  98. package/dist/commands/request.d.ts.map +0 -1
  99. package/dist/commands/request.js +0 -58
  100. package/dist/commands/request.js.map +0 -1
  101. package/dist/commands/resume.d.ts +0 -22
  102. package/dist/commands/resume.d.ts.map +0 -1
  103. package/dist/commands/resume.js +0 -69
  104. package/dist/commands/resume.js.map +0 -1
  105. package/dist/commands/save.d.ts +0 -34
  106. package/dist/commands/save.d.ts.map +0 -1
  107. package/dist/commands/save.js +0 -141
  108. package/dist/commands/save.js.map +0 -1
  109. package/dist/commands/session.d.ts +0 -9
  110. package/dist/commands/session.d.ts.map +0 -1
  111. package/dist/commands/session.js +0 -282
  112. package/dist/commands/session.js.map +0 -1
  113. package/dist/commands/skills/markdown-loader.d.ts +0 -19
  114. package/dist/commands/skills/markdown-loader.d.ts.map +0 -1
  115. package/dist/commands/skills/markdown-loader.js +0 -108
  116. package/dist/commands/skills/markdown-loader.js.map +0 -1
  117. package/dist/commands/skills/registry.d.ts +0 -23
  118. package/dist/commands/skills/registry.d.ts.map +0 -1
  119. package/dist/commands/skills/registry.js +0 -45
  120. package/dist/commands/skills/registry.js.map +0 -1
  121. package/dist/commands/terminal.d.ts +0 -19
  122. package/dist/commands/terminal.d.ts.map +0 -1
  123. package/dist/commands/terminal.js +0 -39
  124. package/dist/commands/terminal.js.map +0 -1
  125. package/dist/commands/tree.d.ts +0 -16
  126. package/dist/commands/tree.d.ts.map +0 -1
  127. package/dist/commands/tree.js +0 -44
  128. package/dist/commands/tree.js.map +0 -1
  129. package/dist/commands/undo.d.ts +0 -18
  130. package/dist/commands/undo.d.ts.map +0 -1
  131. package/dist/commands/undo.js +0 -46
  132. package/dist/commands/undo.js.map +0 -1
  133. package/dist/config/config-store.d.ts +0 -19
  134. package/dist/config/config-store.d.ts.map +0 -1
  135. package/dist/config/config-store.js +0 -199
  136. package/dist/config/config-store.js.map +0 -1
  137. package/dist/config/defaults.d.ts +0 -22
  138. package/dist/config/defaults.d.ts.map +0 -1
  139. package/dist/config/defaults.js +0 -38
  140. package/dist/config/defaults.js.map +0 -1
  141. package/dist/config/ports.d.ts +0 -60
  142. package/dist/config/ports.d.ts.map +0 -1
  143. package/dist/config/ports.js +0 -8
  144. package/dist/config/ports.js.map +0 -1
  145. package/dist/config/profile-constants.d.ts +0 -4
  146. package/dist/config/profile-constants.d.ts.map +0 -1
  147. package/dist/config/profile-constants.js +0 -10
  148. package/dist/config/profile-constants.js.map +0 -1
  149. package/dist/config/profile.d.ts +0 -84
  150. package/dist/config/profile.d.ts.map +0 -1
  151. package/dist/config/profile.js +0 -66
  152. package/dist/config/profile.js.map +0 -1
  153. package/dist/contract/index.d.ts +0 -193
  154. package/dist/contract/index.d.ts.map +0 -1
  155. package/dist/contract/index.js +0 -14
  156. package/dist/contract/index.js.map +0 -1
  157. package/dist/core/app.d.ts +0 -35
  158. package/dist/core/app.d.ts.map +0 -1
  159. package/dist/core/app.js +0 -86
  160. package/dist/core/app.js.map +0 -1
  161. package/dist/core/command-router.d.ts +0 -29
  162. package/dist/core/command-router.d.ts.map +0 -1
  163. package/dist/core/command-router.js +0 -61
  164. package/dist/core/command-router.js.map +0 -1
  165. package/dist/core/errors.d.ts +0 -39
  166. package/dist/core/errors.d.ts.map +0 -1
  167. package/dist/core/errors.js +0 -106
  168. package/dist/core/errors.js.map +0 -1
  169. package/dist/core/preflight.d.ts +0 -16
  170. package/dist/core/preflight.d.ts.map +0 -1
  171. package/dist/core/preflight.js +0 -38
  172. package/dist/core/preflight.js.map +0 -1
  173. package/dist/core/repl.d.ts +0 -18
  174. package/dist/core/repl.d.ts.map +0 -1
  175. package/dist/core/repl.js +0 -128
  176. package/dist/core/repl.js.map +0 -1
  177. package/dist/di/container.d.ts +0 -13
  178. package/dist/di/container.d.ts.map +0 -1
  179. package/dist/di/container.js +0 -160
  180. package/dist/di/container.js.map +0 -1
  181. package/dist/di/tokens.d.ts +0 -20
  182. package/dist/di/tokens.d.ts.map +0 -1
  183. package/dist/di/tokens.js +0 -22
  184. package/dist/di/tokens.js.map +0 -1
  185. package/dist/index.d.ts +0 -9
  186. package/dist/index.d.ts.map +0 -1
  187. package/dist/index.js.map +0 -1
  188. package/dist/render/ink-renderer.d.ts +0 -28
  189. package/dist/render/ink-renderer.d.ts.map +0 -1
  190. package/dist/render/ink-renderer.js +0 -174
  191. package/dist/render/ink-renderer.js.map +0 -1
  192. package/dist/render/plain-renderer.d.ts +0 -16
  193. package/dist/render/plain-renderer.d.ts.map +0 -1
  194. package/dist/render/plain-renderer.js +0 -38
  195. package/dist/render/plain-renderer.js.map +0 -1
  196. package/dist/render/ports.d.ts +0 -12
  197. package/dist/render/ports.d.ts.map +0 -1
  198. package/dist/render/ports.js +0 -10
  199. package/dist/render/ports.js.map +0 -1
  200. package/dist/render/raw-renderer.d.ts +0 -11
  201. package/dist/render/raw-renderer.d.ts.map +0 -1
  202. package/dist/render/raw-renderer.js +0 -68
  203. package/dist/render/raw-renderer.js.map +0 -1
  204. package/dist/render/repl-input.d.ts +0 -15
  205. package/dist/render/repl-input.d.ts.map +0 -1
  206. package/dist/render/repl-input.js +0 -102
  207. package/dist/render/repl-input.js.map +0 -1
  208. package/dist/session/file-session-store.d.ts +0 -26
  209. package/dist/session/file-session-store.d.ts.map +0 -1
  210. package/dist/session/file-session-store.js +0 -174
  211. package/dist/session/file-session-store.js.map +0 -1
  212. package/dist/session/ports.d.ts +0 -50
  213. package/dist/session/ports.d.ts.map +0 -1
  214. package/dist/session/ports.js +0 -6
  215. package/dist/session/ports.js.map +0 -1
  216. package/dist/sync/git-sync.d.ts +0 -16
  217. package/dist/sync/git-sync.d.ts.map +0 -1
  218. package/dist/sync/git-sync.js +0 -28
  219. package/dist/sync/git-sync.js.map +0 -1
  220. package/dist/sync/git.d.ts +0 -12
  221. package/dist/sync/git.d.ts.map +0 -1
  222. package/dist/sync/git.js +0 -100
  223. package/dist/sync/git.js.map +0 -1
  224. package/dist/sync/reconciler.d.ts +0 -36
  225. package/dist/sync/reconciler.d.ts.map +0 -1
  226. package/dist/sync/reconciler.js +0 -143
  227. package/dist/sync/reconciler.js.map +0 -1
  228. package/dist/sync/walk.d.ts +0 -23
  229. package/dist/sync/walk.d.ts.map +0 -1
  230. package/dist/sync/walk.js +0 -81
  231. package/dist/sync/walk.js.map +0 -1
  232. package/dist/sync/watch.d.ts +0 -13
  233. package/dist/sync/watch.d.ts.map +0 -1
  234. package/dist/sync/watch.js +0 -75
  235. package/dist/sync/watch.js.map +0 -1
  236. package/dist/tools/git-diff.d.ts +0 -16
  237. package/dist/tools/git-diff.d.ts.map +0 -1
  238. package/dist/tools/git-diff.js +0 -25
  239. package/dist/tools/git-diff.js.map +0 -1
  240. package/dist/tools/http-request.d.ts +0 -25
  241. package/dist/tools/http-request.d.ts.map +0 -1
  242. package/dist/tools/http-request.js +0 -41
  243. package/dist/tools/http-request.js.map +0 -1
  244. package/dist/tools/index.d.ts +0 -7
  245. package/dist/tools/index.d.ts.map +0 -1
  246. package/dist/tools/index.js +0 -22
  247. package/dist/tools/index.js.map +0 -1
  248. package/dist/tools/ports.d.ts +0 -58
  249. package/dist/tools/ports.d.ts.map +0 -1
  250. package/dist/tools/ports.js +0 -17
  251. package/dist/tools/ports.js.map +0 -1
  252. package/dist/tools/read-file.d.ts +0 -16
  253. package/dist/tools/read-file.d.ts.map +0 -1
  254. package/dist/tools/read-file.js +0 -24
  255. package/dist/tools/read-file.js.map +0 -1
  256. package/dist/tools/registry.d.ts +0 -10
  257. package/dist/tools/registry.d.ts.map +0 -1
  258. package/dist/tools/registry.js +0 -28
  259. package/dist/tools/registry.js.map +0 -1
  260. package/dist/tools/run-command.d.ts +0 -20
  261. package/dist/tools/run-command.d.ts.map +0 -1
  262. package/dist/tools/run-command.js +0 -65
  263. package/dist/tools/run-command.js.map +0 -1
  264. package/dist/tools/write-file.d.ts +0 -24
  265. package/dist/tools/write-file.d.ts.map +0 -1
  266. package/dist/tools/write-file.js +0 -60
  267. package/dist/tools/write-file.js.map +0 -1
  268. package/dist/transport/composite-transport.d.ts +0 -30
  269. package/dist/transport/composite-transport.d.ts.map +0 -1
  270. package/dist/transport/composite-transport.js +0 -71
  271. package/dist/transport/composite-transport.js.map +0 -1
  272. package/dist/transport/device-browser.d.ts +0 -19
  273. package/dist/transport/device-browser.d.ts.map +0 -1
  274. package/dist/transport/device-browser.js +0 -243
  275. package/dist/transport/device-browser.js.map +0 -1
  276. package/dist/transport/device-git.d.ts +0 -14
  277. package/dist/transport/device-git.d.ts.map +0 -1
  278. package/dist/transport/device-git.js +0 -107
  279. package/dist/transport/device-git.js.map +0 -1
  280. package/dist/transport/device-http.d.ts +0 -10
  281. package/dist/transport/device-http.d.ts.map +0 -1
  282. package/dist/transport/device-http.js +0 -96
  283. package/dist/transport/device-http.js.map +0 -1
  284. package/dist/transport/device-terminal.d.ts +0 -44
  285. package/dist/transport/device-terminal.d.ts.map +0 -1
  286. package/dist/transport/device-terminal.js +0 -140
  287. package/dist/transport/device-terminal.js.map +0 -1
  288. package/dist/transport/http-transport.d.ts +0 -26
  289. package/dist/transport/http-transport.d.ts.map +0 -1
  290. package/dist/transport/http-transport.js +0 -125
  291. package/dist/transport/http-transport.js.map +0 -1
  292. package/dist/transport/ports.d.ts +0 -67
  293. package/dist/transport/ports.d.ts.map +0 -1
  294. package/dist/transport/ports.js +0 -11
  295. package/dist/transport/ports.js.map +0 -1
  296. package/dist/transport/reconnect.d.ts +0 -44
  297. package/dist/transport/reconnect.d.ts.map +0 -1
  298. package/dist/transport/reconnect.js +0 -69
  299. package/dist/transport/reconnect.js.map +0 -1
  300. package/dist/transport/terminal-transport.d.ts +0 -28
  301. package/dist/transport/terminal-transport.d.ts.map +0 -1
  302. package/dist/transport/terminal-transport.js +0 -63
  303. package/dist/transport/terminal-transport.js.map +0 -1
  304. package/dist/transport/ws-stream-transport.d.ts +0 -66
  305. package/dist/transport/ws-stream-transport.d.ts.map +0 -1
  306. package/dist/transport/ws-stream-transport.js +0 -246
  307. package/dist/transport/ws-stream-transport.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/commands/session.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,EAAE;AACF,sFAAsF;AACtF,8FAA8F;AAC9F,8FAA8F;AAC9F,kGAAkG;AAClG,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,SAAS,GAAG,gCAAgC,CAAC;AAEnD,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,SAAS,CAAC;IACjB,OAAO,GAAG,iFAAiF,CAAC;IAC5F,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAE/C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,EAAE,wCAAwC,CAAC,CAAC;YACrG,OAAO;QACT,CAAC;QAED,sGAAsG;QACtG,kGAAkG;QAClG,sDAAsD;QACtD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,cAAc;gBAAE,MAAM,GAAG,CAAC;YAClC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC;YAC3D,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;QAEzE,8FAA8F;QAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS;YAC9B,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI;iBACX,GAAG,CAAmB,eAAe,CAAC;iBACtC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC;iBAC7D,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,OAAqC,CAAC;QAC1C,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7C,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAyB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,yCAAyC;YACnG,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAiB,eAAe,EAAE,IAAI,CAAC,CAAC;YAC3E,OAAO,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACjD,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,6CAA6C;QAClG,CAAC;QAED,IAAI,MAAqC,CAAC;QAC1C,IAAI,eAAoD,CAAC;QACzD,IAAI,kBAAkD,CAAC;QACvD,IAAI,mBAAoD,CAAC;QACzD,IAAI,sBAA0D,CAAC;QAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,sGAAsG;QACtG,sGAAsG;QACtG,MAAM,QAAQ,GAAG,KAAK,EAAE,IAA2B,EAAiB,EAAE;YACpE,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBACH,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,mDAAmD;gBAC5E,kBAAkB,EAAE,IAAI,EAAE,CAAC;gBAC3B,mBAAmB,EAAE,IAAI,EAAE,CAAC;gBAC5B,sBAAsB,EAAE,IAAI,EAAE,CAAC;gBAC/B,IAAI,MAAM;oBAAE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM;gBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC;QACxH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,IAAI,SAAS,CAAC;YACpD,MAAM,aAAa,GAAG,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAE7C,gGAAgG;YAChG,wFAAwF;YACxF,MAAM,UAAU,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1H,2DAA2D;YAC3D,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClE,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;gBACxF,IAAI,GAAG;oBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,GAAG;gBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACzC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iDAAiD;YAEzE,kDAAkD;YAClD,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACnB,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,QAAQ,CAAC,CAAC,MAAM,IAAI,YAAY,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CACjH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;YAED,4FAA4F;YAC5F,kGAAkG;YAClG,MAAM,QAAQ,GAAG,CAAC,CAAiC,EAAE,EAAE;gBACrD,IAAI,CAAC,GAAG,CAAC,IAAI;oBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;YACzH,CAAC,CAAC;YACF,+FAA+F;YAC/F,iGAAiG;YACjG,6FAA6F;YAC7F,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;YAC5B,mGAAmG;YACnG,MAAM,GAAG,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE;gBACxE,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,QAAQ;aACT,CAAC,CAAC;YACH,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5D,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,CAAC,oCAAoC;YAE3E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,eAAe,GAAG,IAAI,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACvE,eAAe,CAAC,KAAK,EAAE,CAAC;gBACxB,2FAA2F;gBAC3F,8FAA8F;gBAC9F,8FAA8F;gBAC9F,gFAAgF;gBAChF,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE;oBAClE,IAAI,CAAC;wBACH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBACnD,MAAM,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBAC1C,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBACnE,CAAC;oBAAC,MAAM,CAAC;wBACP,wDAAwD;oBAC1D,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC3B,uFAAuF;gBACvF,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACtD,mBAAmB,CAAC,KAAK,EAAE,CAAC;gBAC5B,+FAA+F;gBAC/F,4FAA4F;gBAC5F,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;gBAC5B,IAAI,MAAM,EAAE,CAAC;oBACX,sBAAsB,GAAG,IAAI,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACpE,sBAAsB,CAAC,KAAK,EAAE,CAAC;gBACjC,CAAC;YACH,CAAC;YAED,qGAAqG;YACrG,sGAAsG;YACtG,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE;gBACnC,IAAI,CAAC,GAAG,CAAC,IAAI;oBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC;gBACxF,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,+FAA+F;YAC/F,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;gBAClC,MAAM,MAAM,GAAG,CAAyD,CAAC;gBACzE,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI;oBAAE,KAAK,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;gBACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CACjB,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,GAAG,IAAI,CACnI,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,aAAa,SAAS,aAAa,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,aAAa,OAAO,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC;gBAC1G,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,SAAS,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC5D,IAAI,eAAe,EAAE,CAAC;oBACpB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,8FAA8F,CAAC,CAAC;gBACtH,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,mFAAmF,CAAC,CAAC;oBACzG,IAAI,GAAG,CAAC,KAAK;wBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAA8B,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;gBAClF,CAAC;gBACD,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,6FAA6F,CAAC,CAAC;YACrH,CAAC;YAED,+FAA+F;YAC/F,IAAI,QAAmD,CAAC;YACxD,MAAM,UAAU,GAAG,GAAS,EAAE;gBAC5B,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;oBACzB,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBACzF,CAAC,EAAE,IAAI,CAAC,CAAC;YACX,CAAC,CAAC;YAEF,8FAA8F;YAC9F,iDAAiD;YACjD,MAAM,YAAY,CAChB,GAAG,EACH,QAAQ,EACR;gBACE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;oBAC/B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC;wBAAE,OAAO,CAAC,wCAAwC;oBAChG,IAAI,CAAC;wBACH,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;wBACvE,IAAI,CAAC,GAAG,CAAC,IAAI;4BAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBACrD,CAAC;oBAAC,MAAM,CAAC;wBACP,sDAAsD;oBACxD,CAAC;oBACD,UAAU,EAAE,CAAC;gBACf,CAAC;gBACD,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBACtB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC;wBAAE,OAAO,CAAC,2CAA2C;oBAC1F,IAAI,CAAC;wBACH,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;wBAC/E,IAAI,CAAC,GAAG,CAAC,IAAI;4BAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;oBACrD,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;oBACD,UAAU,EAAE,CAAC;gBACf,CAAC;aACF,EACD,UAAU,CAAC,MAAM,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChC,MAAM,QAAQ,EAAE,CAAC;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED;qGACqG;AACrG,KAAK,UAAU,gBAAgB,CAC7B,MAAyB,EACzB,MAAmB,EACnB,GAAmB,EACnB,GAAY;IAEZ,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC;gBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,GAAG;gBAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,oCAAoC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAClG,MAAM,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU,EAAE,MAAmB;IAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,OAAO,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { Skill } from "./registry.js";
2
- /** A discovered skill plus the source layer it came from (for precedence). */
3
- export interface DiscoveredSkill {
4
- skill: Skill;
5
- source: "user" | "project";
6
- }
7
- export declare class MarkdownSkillLoader {
8
- private readonly home;
9
- private readonly cwd;
10
- constructor(home?: string, cwd?: string);
11
- /** User skills dir: ~/.pocketdev/skills. */
12
- private userDir;
13
- /** Project skills dir: ./.pocketdev/skills. */
14
- private projectDir;
15
- /** Discover all skills from both layers (project entries override user entries by name). */
16
- discover(): DiscoveredSkill[];
17
- private scan;
18
- }
19
- //# sourceMappingURL=markdown-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-loader.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/markdown-loader.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI3C,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBADH,IAAI,GAAE,MAAkB,EACxB,GAAG,GAAE,MAAsB;IAG9C,4CAA4C;IAC5C,OAAO,CAAC,OAAO;IAIf,+CAA+C;IAC/C,OAAO,CAAC,UAAU;IAIlB,4FAA4F;IAC5F,QAAQ,IAAI,eAAe,EAAE;IAO7B,OAAO,CAAC,IAAI;CAUb"}
@@ -1,108 +0,0 @@
1
- // src/commands/skills/markdown-loader.ts — discover markdown skills.
2
- //
3
- // Like Claude Code, skills are markdown files. We discover them from:
4
- // user ~/.pocketdev/skills/*.md
5
- // project ./.pocketdev/skills/*.md (overrides a user skill of the same name)
6
- //
7
- // Each file becomes a lazily-loaded `Skill` whose body is the preset prompt. An optional
8
- // YAML-ish front-matter block (--- ... ---) may set `name` / `description`; otherwise the
9
- // filename is the name and the first non-empty line is the description.
10
- //
11
- // SRP: this module only does discovery + parsing. The SkillRegistry owns precedence + lookup.
12
- import { existsSync, readFileSync, readdirSync } from "node:fs";
13
- import { homedir } from "node:os";
14
- import { basename, join } from "node:path";
15
- import { PROJECT_DIR_NAME, USER_DIR_NAME } from "../../config/defaults.js";
16
- const SKILLS_SUBDIR = "skills";
17
- export class MarkdownSkillLoader {
18
- home;
19
- cwd;
20
- constructor(home = homedir(), cwd = process.cwd()) {
21
- this.home = home;
22
- this.cwd = cwd;
23
- }
24
- /** User skills dir: ~/.pocketdev/skills. */
25
- userDir() {
26
- return join(this.home, USER_DIR_NAME, SKILLS_SUBDIR);
27
- }
28
- /** Project skills dir: ./.pocketdev/skills. */
29
- projectDir() {
30
- return join(this.cwd, PROJECT_DIR_NAME, SKILLS_SUBDIR);
31
- }
32
- /** Discover all skills from both layers (project entries override user entries by name). */
33
- discover() {
34
- return [
35
- ...this.scan(this.userDir(), "user"),
36
- ...this.scan(this.projectDir(), "project"),
37
- ];
38
- }
39
- scan(dir, source) {
40
- if (!existsSync(dir))
41
- return [];
42
- const out = [];
43
- for (const file of readdirSync(dir)) {
44
- if (!file.toLowerCase().endsWith(".md"))
45
- continue;
46
- const path = join(dir, file);
47
- out.push({ source, skill: makeSkill(path) });
48
- }
49
- return out;
50
- }
51
- }
52
- /** Build a lazy Skill from a markdown file path (body read only on `load()`). */
53
- function makeSkill(path) {
54
- const fallbackName = basename(path, ".md");
55
- // Peek the header eagerly so the registry can list name/description without reading bodies
56
- // repeatedly; the full body is still read lazily in `load()`.
57
- const header = readHeader(path);
58
- return {
59
- name: header.name ?? fallbackName,
60
- description: header.description ?? "",
61
- async load() {
62
- const raw = readFileSync(path, "utf8");
63
- return { prompt: stripFrontMatter(raw).trim() };
64
- },
65
- };
66
- }
67
- /** Read just enough to extract name/description without loading the whole body twice. */
68
- function readHeader(path) {
69
- let raw;
70
- try {
71
- raw = readFileSync(path, "utf8");
72
- }
73
- catch {
74
- return {};
75
- }
76
- const fm = parseFrontMatter(raw);
77
- if (fm.name || fm.description)
78
- return fm;
79
- // No front-matter: first markdown heading or first non-empty line is the description.
80
- const body = stripFrontMatter(raw);
81
- const firstLine = body.split("\n").map((l) => l.trim()).find((l) => l.length > 0);
82
- const description = firstLine?.replace(/^#+\s*/, "");
83
- return { description };
84
- }
85
- /** Parse a leading `--- key: value --- ` block into a header (very small, dependency-free). */
86
- function parseFrontMatter(raw) {
87
- const match = /^---\s*\n([\s\S]*?)\n---\s*(\n|$)/.exec(raw);
88
- if (!match)
89
- return {};
90
- const header = {};
91
- for (const line of match[1].split("\n")) {
92
- const idx = line.indexOf(":");
93
- if (idx < 0)
94
- continue;
95
- const key = line.slice(0, idx).trim().toLowerCase();
96
- const value = line.slice(idx + 1).trim().replace(/^["']|["']$/g, "");
97
- if (key === "name")
98
- header.name = value;
99
- else if (key === "description")
100
- header.description = value;
101
- }
102
- return header;
103
- }
104
- /** Remove a leading front-matter block, returning the prompt body. */
105
- function stripFrontMatter(raw) {
106
- return raw.replace(/^---\s*\n[\s\S]*?\n---\s*(\n|$)/, "");
107
- }
108
- //# sourceMappingURL=markdown-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown-loader.js","sourceRoot":"","sources":["../../../src/commands/skills/markdown-loader.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- import type { MarkdownSkillLoader } from "./markdown-loader.js";
2
- /** A skill = a named markdown prompt loaded lazily. (Mirrors the `Skill` port in cli.md §4.) */
3
- export interface Skill {
4
- readonly name: string;
5
- readonly description: string;
6
- /** The markdown body becomes a preset/system prompt the agent runs. */
7
- load(): Promise<{
8
- prompt: string;
9
- }>;
10
- }
11
- export declare class SkillRegistry {
12
- private readonly loader;
13
- private readonly byName;
14
- private loaded;
15
- constructor(loader: MarkdownSkillLoader);
16
- /** Discover skills from disk once (project overrides user). Idempotent. */
17
- refresh(): this;
18
- private ensureLoaded;
19
- get(name: string): Skill | undefined;
20
- has(name: string): boolean;
21
- list(): Skill[];
22
- }
23
- //# sourceMappingURL=registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/registry.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,gGAAgG;AAChG,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,uEAAuE;IACvE,IAAI,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrC;AAED,qBAAa,aAAa;IAIZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,MAAM,CAAS;gBAEM,MAAM,EAAE,mBAAmB;IAExD,2EAA2E;IAC3E,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,YAAY;IAIpB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS;IAKpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,KAAK,EAAE;CAIhB"}
@@ -1,45 +0,0 @@
1
- // src/commands/skills/registry.ts — SkillRegistry (OCP) + the Skill interface.
2
- //
3
- // Skills are markdown prompts surfaced as `/<skill-name>` in the REPL. The registry loads
4
- // them via the MarkdownSkillLoader and applies precedence: a PROJECT skill overrides a USER
5
- // skill of the same name (consistent with config precedence, cli.md §6).
6
- //
7
- // SRP: lookup + precedence only. Discovery/parsing lives in the loader (DIP: injected).
8
- export class SkillRegistry {
9
- loader;
10
- byName = new Map();
11
- loaded = false;
12
- constructor(loader) {
13
- this.loader = loader;
14
- }
15
- /** Discover skills from disk once (project overrides user). Idempotent. */
16
- refresh() {
17
- this.byName.clear();
18
- // User first, then project, so project entries win on `set`.
19
- for (const { skill, source } of this.loader.discover()) {
20
- // Project overrides user; user never overrides an already-set project skill.
21
- const existing = this.byName.get(skill.name);
22
- if (existing && source === "user")
23
- continue;
24
- this.byName.set(skill.name, skill);
25
- }
26
- this.loaded = true;
27
- return this;
28
- }
29
- ensureLoaded() {
30
- if (!this.loaded)
31
- this.refresh();
32
- }
33
- get(name) {
34
- this.ensureLoaded();
35
- return this.byName.get(name.startsWith("/") ? name.slice(1) : name);
36
- }
37
- has(name) {
38
- return this.get(name) !== undefined;
39
- }
40
- list() {
41
- this.ensureLoaded();
42
- return [...this.byName.values()].sort((a, b) => a.name.localeCompare(b.name));
43
- }
44
- }
45
- //# sourceMappingURL=registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/skills/registry.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,0FAA0F;AAC1F,4FAA4F;AAC5F,yEAAyE;AACzE,EAAE;AACF,wFAAwF;AAYxF,MAAM,OAAO,aAAa;IAIK;IAHZ,MAAM,GAAG,IAAI,GAAG,EAAiB,CAAC;IAC3C,MAAM,GAAG,KAAK,CAAC;IAEvB,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,2EAA2E;IAC3E,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,6DAA6D;QAC7D,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACvD,6EAA6E;YAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAAQ,IAAI,MAAM,KAAK,MAAM;gBAAE,SAAS;YAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACtC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,CAAC;CACF"}
@@ -1,19 +0,0 @@
1
- import { z } from "zod";
2
- import type { Command, CommandContext } from "./ports.js";
3
- export declare class TerminalCommand implements Command {
4
- readonly name = "terminal";
5
- readonly summary = "Open an interactive PTY on the host (raw passthrough)";
6
- readonly aliases: string[];
7
- readonly schema: z.ZodObject<{
8
- cols: z.ZodOptional<z.ZodNumber>;
9
- rows: z.ZodOptional<z.ZodNumber>;
10
- }, "strip", z.ZodTypeAny, {
11
- cols?: number | undefined;
12
- rows?: number | undefined;
13
- }, {
14
- cols?: number | undefined;
15
- rows?: number | undefined;
16
- }>;
17
- run(ctx: CommandContext): Promise<void>;
18
- }
19
- //# sourceMappingURL=terminal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/commands/terminal.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQ1D,qBAAa,eAAgB,YAAW,OAAO;IAC7C,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,OAAO,2DAA2D;IAC3E,QAAQ,CAAC,OAAO,WAAqB;IACrC,QAAQ,CAAC,MAAM;;;;;;;;;OAAU;IAEnB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB9C"}
@@ -1,39 +0,0 @@
1
- // src/commands/terminal.ts — `/terminal` / `pocketdev terminal`
2
- // WS terminal:create / terminal:input / terminal:resize / terminal:data / terminal:exit
3
- //
4
- // SRP: open a host PTY and bridge it to the local terminal. The actual raw-mode plumbing
5
- // lives in RawRenderer (cli.md §13: the raw PTY stream must NEVER flow through Ink). This
6
- // command just creates the PTY via TerminalPort and hands the bridge to RawRenderer.
7
- import { z } from "zod";
8
- import { RawRenderer } from "../render/raw-renderer.js";
9
- import { bindArgs, parseArgs } from "./ports.js";
10
- const schema = z.object({
11
- cols: z.coerce.number().int().positive().optional(),
12
- rows: z.coerce.number().int().positive().optional(),
13
- });
14
- export class TerminalCommand {
15
- name = "terminal";
16
- summary = "Open an interactive PTY on the host (raw passthrough)";
17
- aliases = ["term", "shell"];
18
- schema = schema;
19
- async run(ctx) {
20
- const args = parseArgs(this.schema, bindArgs(ctx.argv, []));
21
- if (ctx.nonInteractive) {
22
- ctx.renderer.error("`terminal` needs an interactive TTY.", "Run it without piping stdin/stdout.");
23
- return;
24
- }
25
- await ctx.stream.connect();
26
- const initial = {
27
- cols: args.cols ?? (process.stdout.columns || 80),
28
- rows: args.rows ?? (process.stdout.rows || 24),
29
- };
30
- await ctx.terminal.create(initial);
31
- // RawRenderer owns: raw mode, stdin→terminal:input, terminal:data→stdout,
32
- // SIGWINCH→terminal:resize, and cooked-mode restore on terminal:exit. It is kept
33
- // strictly separate from the Ink render tree so vim/htop/xterm sequences survive.
34
- const raw = new RawRenderer();
35
- const exitCode = await raw.attach(ctx.terminal, ctx.signal);
36
- ctx.renderer.stream(`\n[terminal exited: ${exitCode}]\n`);
37
- }
38
- }
39
- //# sourceMappingURL=terminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/commands/terminal.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,0FAA0F;AAC1F,EAAE;AACF,yFAAyF;AACzF,0FAA0F;AAC1F,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH,MAAM,OAAO,eAAe;IACjB,IAAI,GAAG,UAAU,CAAC;IAClB,OAAO,GAAG,uDAAuD,CAAC;IAClE,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5D,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;YACvB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,EAAE,qCAAqC,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;SAC/C,CAAC;QACF,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,0EAA0E;QAC1E,iFAAiF;QACjF,kFAAkF;QAClF,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5D,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,uBAAuB,QAAQ,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -1,16 +0,0 @@
1
- import { z } from "zod";
2
- import type { Command, CommandContext } from "./ports.js";
3
- export declare class TreeCommand implements Command {
4
- readonly name = "tree";
5
- readonly summary = "List a directory in the project (GET /api/tree)";
6
- readonly aliases: string[];
7
- readonly schema: z.ZodObject<{
8
- path: z.ZodDefault<z.ZodString>;
9
- }, "strip", z.ZodTypeAny, {
10
- path: string;
11
- }, {
12
- path?: string | undefined;
13
- }>;
14
- run(ctx: CommandContext): Promise<void>;
15
- }
16
- //# sourceMappingURL=tree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY1D,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,OAAO,qDAAqD;IACrE,QAAQ,CAAC,OAAO,WAAU;IAC1B,QAAQ,CAAC,MAAM;;;;;;OAAU;IAEnB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB9C"}
@@ -1,44 +0,0 @@
1
- // src/commands/tree.ts — `/tree [path]` / `pocketdev tree [path]` → GET /api/tree?path
2
- //
3
- // SRP: list a directory via the host. Depends on HttpPort only (ISP).
4
- import { z } from "zod";
5
- import { bindArgs, parseArgs } from "./ports.js";
6
- const schema = z.object({
7
- path: z.string().default("."),
8
- });
9
- export class TreeCommand {
10
- name = "tree";
11
- summary = "List a directory in the project (GET /api/tree)";
12
- aliases = ["ls"];
13
- schema = schema;
14
- async run(ctx) {
15
- const args = parseArgs(this.schema, bindArgs(ctx.argv, ["path"]));
16
- const res = await ctx.http.get("/api/tree", { path: args.path });
17
- if (ctx.json) {
18
- ctx.renderer.stream(JSON.stringify(res) + "\n");
19
- return;
20
- }
21
- // Dirs first, then files, both alphabetical — deterministic for humans and snapshots.
22
- const entries = [...res.entries].sort((a, b) => {
23
- if (a.type !== b.type)
24
- return a.type === "dir" ? -1 : 1;
25
- return a.name.localeCompare(b.name);
26
- });
27
- ctx.renderer.stream(`${res.path}\n`);
28
- for (const e of entries) {
29
- const suffix = e.type === "dir" ? "/" : "";
30
- const size = e.type === "file" && typeof e.size === "number" ? ` ${formatBytes(e.size)}` : "";
31
- ctx.renderer.stream(` ${e.name}${suffix}${size}\n`);
32
- }
33
- if (entries.length === 0)
34
- ctx.renderer.stream(" (empty)\n");
35
- }
36
- }
37
- function formatBytes(n) {
38
- if (n < 1024)
39
- return `${n}B`;
40
- if (n < 1024 * 1024)
41
- return `${(n / 1024).toFixed(1)}K`;
42
- return `${(n / (1024 * 1024)).toFixed(1)}M`;
43
- }
44
- //# sourceMappingURL=tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,EAAE;AACF,sEAAsE;AAEtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;CAC9B,CAAC,CAAC;AAOH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IACd,OAAO,GAAG,iDAAiD,CAAC;IAC5D,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAElE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,CAAe,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE/E,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,sFAAsF;QACtF,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;gBAAE,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/F,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC;IAC7B,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACxD,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC"}
@@ -1,18 +0,0 @@
1
- import { z } from "zod";
2
- import type { Command, CommandContext } from "./ports.js";
3
- export declare class UndoCommand implements Command {
4
- readonly name = "undo";
5
- readonly summary = "Undo an agent's change to a file (POST /api/agent/undo)";
6
- readonly schema: z.ZodObject<{
7
- runId: z.ZodOptional<z.ZodString>;
8
- path: z.ZodOptional<z.ZodString>;
9
- }, "strip", z.ZodTypeAny, {
10
- runId?: string | undefined;
11
- path?: string | undefined;
12
- }, {
13
- runId?: string | undefined;
14
- path?: string | undefined;
15
- }>;
16
- run(ctx: CommandContext): Promise<void>;
17
- }
18
- //# sourceMappingURL=undo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAY1D,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,OAAO,6DAA6D;IAC7E,QAAQ,CAAC,MAAM;;;;;;;;;OAAU;IAEnB,GAAG,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CA8B9C"}
@@ -1,46 +0,0 @@
1
- // src/commands/undo.ts — `/undo <runId> <path>` / `pocketdev undo <runId> <path>`
2
- // POST /api/agent/undo → { action: "restored" | "deleted" }
3
- //
4
- // SRP: revert one file an agent run changed. If `runId` is omitted it defaults to the most
5
- // recent tracked run; if `path` is omitted and the run touched exactly one file, that file is
6
- // used. The host performs the restore/delete and emits files:changed.
7
- import { z } from "zod";
8
- import { CliError } from "../core/errors.js";
9
- import { bindArgs, parseArgs } from "./ports.js";
10
- const schema = z.object({
11
- runId: z.string().optional(),
12
- path: z.string().optional(),
13
- });
14
- export class UndoCommand {
15
- name = "undo";
16
- summary = "Undo an agent's change to a file (POST /api/agent/undo)";
17
- schema = schema;
18
- async run(ctx) {
19
- const args = parseArgs(this.schema, bindArgs(ctx.argv, ["runId", "path"]));
20
- const runId = args.runId ?? ctx.runTracker.latest()?.runId;
21
- if (!runId)
22
- throw CliError.config("No runId given and no recent agent run to undo.");
23
- const run = ctx.runTracker.get(runId);
24
- let path = args.path;
25
- if (!path) {
26
- if (run && run.touchedPaths.length === 1) {
27
- path = run.touchedPaths[0];
28
- }
29
- else if (run && run.touchedPaths.length > 1) {
30
- throw CliError.config(`Run ${runId} touched ${run.touchedPaths.length} files; specify which.`, `Touched: ${run.touchedPaths.join(", ")}`);
31
- }
32
- else {
33
- throw CliError.config("A path is required to undo.", "Usage: pocketdev undo <runId> <path>");
34
- }
35
- }
36
- const res = await ctx.http.post("/api/agent/undo", { runId, path });
37
- if (ctx.json) {
38
- ctx.renderer.stream(JSON.stringify({ runId, path, action: res.action }) + "\n");
39
- }
40
- else {
41
- const verb = res.action === "restored" ? "Restored" : "Deleted";
42
- ctx.renderer.stream(`${verb} ${path} (run ${runId.slice(0, 8)}).\n`);
43
- }
44
- }
45
- }
46
- //# sourceMappingURL=undo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/commands/undo.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,8DAA8D;AAC9D,EAAE;AACF,2FAA2F;AAC3F,8FAA8F;AAC9F,sEAAsE;AAEtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAMH,MAAM,OAAO,WAAW;IACb,IAAI,GAAG,MAAM,CAAC;IACd,OAAO,GAAG,yDAAyD,CAAC;IACpE,MAAM,GAAG,MAAM,CAAC;IAEzB,KAAK,CAAC,GAAG,CAAC,GAAmB;QAC3B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC;QAC3D,IAAI,CAAC,KAAK;YAAE,MAAM,QAAQ,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC;QAErF,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,QAAQ,CAAC,MAAM,CACnB,OAAO,KAAK,YAAY,GAAG,CAAC,YAAY,CAAC,MAAM,wBAAwB,EACvE,YAAY,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,CAAC,MAAM,CAAC,6BAA6B,EAAE,sCAAsC,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAe,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAElF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAChE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF"}
@@ -1,19 +0,0 @@
1
- import type { ConfigStore, Profile, ResolvedConfig } from "./ports.js";
2
- export declare class ConfigStoreImpl implements ConfigStore {
3
- private readonly flags;
4
- private readonly env;
5
- private cached?;
6
- constructor(argv: readonly string[], env: NodeJS.ProcessEnv);
7
- resolve(): ResolvedConfig;
8
- profile(name?: string): Profile;
9
- /** Apply `--host`/POCKETDEV_HOST(+PORT) on top of a base profile. FULL-REMOTE only. */
10
- private overlayProfile;
11
- /**
12
- * Resolve the base URL honoring precedence:
13
- * --host > POCKETDEV_HOST(+POCKETDEV_PORT) > profile.hostUrl.
14
- * POCKETDEV_HOST may be a bare host or a full URL; POCKETDEV_PORT supplies the port (default 4317).
15
- */
16
- private resolveHostUrl;
17
- private loadConfigFile;
18
- }
19
- //# sourceMappingURL=config-store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../src/config/config-store.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,WAAW,EAAQ,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa7E,qBAAa,eAAgB,YAAW,WAAW;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,MAAM,CAAC,CAAiB;gBAEpB,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU;IAK3D,OAAO,IAAI,cAAc;IAsEzB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO;IAc/B,uFAAuF;IACvF,OAAO,CAAC,cAAc;IAatB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,cAAc;CAuBvB"}