@waymakeros/cli 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/README.md +158 -0
  2. package/dist/cli/cli.d.ts +7 -0
  3. package/dist/cli/cli.d.ts.map +1 -0
  4. package/dist/cli/cli.js +703 -0
  5. package/dist/cli/cli.js.map +1 -0
  6. package/dist/cli/commands/auth.d.ts +14 -0
  7. package/dist/cli/commands/auth.d.ts.map +1 -0
  8. package/dist/cli/commands/auth.js +507 -0
  9. package/dist/cli/commands/auth.js.map +1 -0
  10. package/dist/cli/commands/init.d.ts +13 -0
  11. package/dist/cli/commands/init.d.ts.map +1 -0
  12. package/dist/cli/commands/init.js +297 -0
  13. package/dist/cli/commands/init.js.map +1 -0
  14. package/dist/cli/commands/kanban.d.ts +12 -0
  15. package/dist/cli/commands/kanban.d.ts.map +1 -0
  16. package/dist/cli/commands/kanban.js +71 -0
  17. package/dist/cli/commands/kanban.js.map +1 -0
  18. package/dist/cli/commands/serve.d.ts +12 -0
  19. package/dist/cli/commands/serve.d.ts.map +1 -0
  20. package/dist/cli/commands/serve.js +170 -0
  21. package/dist/cli/commands/serve.js.map +1 -0
  22. package/dist/cli/commands/sync.d.ts +12 -0
  23. package/dist/cli/commands/sync.d.ts.map +1 -0
  24. package/dist/cli/commands/sync.js +222 -0
  25. package/dist/cli/commands/sync.js.map +1 -0
  26. package/dist/cli/daemon.d.ts +106 -0
  27. package/dist/cli/daemon.d.ts.map +1 -0
  28. package/dist/cli/daemon.js +393 -0
  29. package/dist/cli/daemon.js.map +1 -0
  30. package/dist/cli/index.d.ts +13 -0
  31. package/dist/cli/index.d.ts.map +1 -0
  32. package/dist/cli/index.js +90 -0
  33. package/dist/cli/index.js.map +1 -0
  34. package/dist/index.d.ts +10 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +238 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/simple-server.d.ts +7 -0
  39. package/dist/simple-server.d.ts.map +1 -0
  40. package/dist/simple-server.js +157 -0
  41. package/dist/simple-server.js.map +1 -0
  42. package/dist/sync/commander-client.d.ts +161 -0
  43. package/dist/sync/commander-client.d.ts.map +1 -0
  44. package/dist/sync/commander-client.js +405 -0
  45. package/dist/sync/commander-client.js.map +1 -0
  46. package/dist/sync/config-manager.d.ts +48 -0
  47. package/dist/sync/config-manager.d.ts.map +1 -0
  48. package/dist/sync/config-manager.js +169 -0
  49. package/dist/sync/config-manager.js.map +1 -0
  50. package/dist/sync/file-watcher.d.ts +53 -0
  51. package/dist/sync/file-watcher.d.ts.map +1 -0
  52. package/dist/sync/file-watcher.js +228 -0
  53. package/dist/sync/file-watcher.js.map +1 -0
  54. package/dist/sync/folder-service.d.ts +110 -0
  55. package/dist/sync/folder-service.d.ts.map +1 -0
  56. package/dist/sync/folder-service.js +298 -0
  57. package/dist/sync/folder-service.js.map +1 -0
  58. package/dist/sync/folder-status-mapper.d.ts +106 -0
  59. package/dist/sync/folder-status-mapper.d.ts.map +1 -0
  60. package/dist/sync/folder-status-mapper.js +235 -0
  61. package/dist/sync/folder-status-mapper.js.map +1 -0
  62. package/dist/sync/layer-resolver.d.ts +54 -0
  63. package/dist/sync/layer-resolver.d.ts.map +1 -0
  64. package/dist/sync/layer-resolver.js +206 -0
  65. package/dist/sync/layer-resolver.js.map +1 -0
  66. package/dist/sync/markdown-parser.d.ts +49 -0
  67. package/dist/sync/markdown-parser.d.ts.map +1 -0
  68. package/dist/sync/markdown-parser.js +202 -0
  69. package/dist/sync/markdown-parser.js.map +1 -0
  70. package/dist/sync/reverse-sync.d.ts +139 -0
  71. package/dist/sync/reverse-sync.d.ts.map +1 -0
  72. package/dist/sync/reverse-sync.js +773 -0
  73. package/dist/sync/reverse-sync.js.map +1 -0
  74. package/dist/sync/sync-engine.d.ts +157 -0
  75. package/dist/sync/sync-engine.d.ts.map +1 -0
  76. package/dist/sync/sync-engine.js +875 -0
  77. package/dist/sync/sync-engine.js.map +1 -0
  78. package/dist/sync/sync-index.d.ts +150 -0
  79. package/dist/sync/sync-index.d.ts.map +1 -0
  80. package/dist/sync/sync-index.js +287 -0
  81. package/dist/sync/sync-index.js.map +1 -0
  82. package/dist/sync/trinity-mapper.d.ts +62 -0
  83. package/dist/sync/trinity-mapper.d.ts.map +1 -0
  84. package/dist/sync/trinity-mapper.js +548 -0
  85. package/dist/sync/trinity-mapper.js.map +1 -0
  86. package/dist/sync/types.d.ts +176 -0
  87. package/dist/sync/types.d.ts.map +1 -0
  88. package/dist/sync/types.js +6 -0
  89. package/dist/sync/types.js.map +1 -0
  90. package/dist/tools/apply-framework.d.ts +7 -0
  91. package/dist/tools/apply-framework.d.ts.map +1 -0
  92. package/dist/tools/apply-framework.js +30 -0
  93. package/dist/tools/apply-framework.js.map +1 -0
  94. package/dist/tools/commander-comment-create.d.ts +7 -0
  95. package/dist/tools/commander-comment-create.d.ts.map +1 -0
  96. package/dist/tools/commander-comment-create.js +100 -0
  97. package/dist/tools/commander-comment-create.js.map +1 -0
  98. package/dist/tools/commander-comment-list.d.ts +7 -0
  99. package/dist/tools/commander-comment-list.d.ts.map +1 -0
  100. package/dist/tools/commander-comment-list.js +110 -0
  101. package/dist/tools/commander-comment-list.js.map +1 -0
  102. package/dist/tools/commander-document-create.d.ts +7 -0
  103. package/dist/tools/commander-document-create.d.ts.map +1 -0
  104. package/dist/tools/commander-document-create.js +168 -0
  105. package/dist/tools/commander-document-create.js.map +1 -0
  106. package/dist/tools/commander-document-get.d.ts +7 -0
  107. package/dist/tools/commander-document-get.d.ts.map +1 -0
  108. package/dist/tools/commander-document-get.js +104 -0
  109. package/dist/tools/commander-document-get.js.map +1 -0
  110. package/dist/tools/commander-document-list.d.ts +7 -0
  111. package/dist/tools/commander-document-list.d.ts.map +1 -0
  112. package/dist/tools/commander-document-list.js +117 -0
  113. package/dist/tools/commander-document-list.js.map +1 -0
  114. package/dist/tools/commander-document-update.d.ts +7 -0
  115. package/dist/tools/commander-document-update.d.ts.map +1 -0
  116. package/dist/tools/commander-document-update.js +133 -0
  117. package/dist/tools/commander-document-update.js.map +1 -0
  118. package/dist/tools/commander-folder-create.d.ts +7 -0
  119. package/dist/tools/commander-folder-create.d.ts.map +1 -0
  120. package/dist/tools/commander-folder-create.js +157 -0
  121. package/dist/tools/commander-folder-create.js.map +1 -0
  122. package/dist/tools/commander-folder-delete.d.ts +7 -0
  123. package/dist/tools/commander-folder-delete.d.ts.map +1 -0
  124. package/dist/tools/commander-folder-delete.js +85 -0
  125. package/dist/tools/commander-folder-delete.js.map +1 -0
  126. package/dist/tools/commander-folder-get.d.ts +7 -0
  127. package/dist/tools/commander-folder-get.d.ts.map +1 -0
  128. package/dist/tools/commander-folder-get.js +94 -0
  129. package/dist/tools/commander-folder-get.js.map +1 -0
  130. package/dist/tools/commander-folder-list.d.ts +7 -0
  131. package/dist/tools/commander-folder-list.d.ts.map +1 -0
  132. package/dist/tools/commander-folder-list.js +96 -0
  133. package/dist/tools/commander-folder-list.js.map +1 -0
  134. package/dist/tools/commander-folder-update.d.ts +7 -0
  135. package/dist/tools/commander-folder-update.d.ts.map +1 -0
  136. package/dist/tools/commander-folder-update.js +120 -0
  137. package/dist/tools/commander-folder-update.js.map +1 -0
  138. package/dist/tools/commander-framework-apply.d.ts +7 -0
  139. package/dist/tools/commander-framework-apply.d.ts.map +1 -0
  140. package/dist/tools/commander-framework-apply.js +110 -0
  141. package/dist/tools/commander-framework-apply.js.map +1 -0
  142. package/dist/tools/commander-framework-categories.d.ts +7 -0
  143. package/dist/tools/commander-framework-categories.d.ts.map +1 -0
  144. package/dist/tools/commander-framework-categories.js +90 -0
  145. package/dist/tools/commander-framework-categories.js.map +1 -0
  146. package/dist/tools/commander-framework-get.d.ts +7 -0
  147. package/dist/tools/commander-framework-get.d.ts.map +1 -0
  148. package/dist/tools/commander-framework-get.js +124 -0
  149. package/dist/tools/commander-framework-get.js.map +1 -0
  150. package/dist/tools/commander-framework-list.d.ts +7 -0
  151. package/dist/tools/commander-framework-list.d.ts.map +1 -0
  152. package/dist/tools/commander-framework-list.js +103 -0
  153. package/dist/tools/commander-framework-list.js.map +1 -0
  154. package/dist/tools/commander-goal-create.d.ts +7 -0
  155. package/dist/tools/commander-goal-create.d.ts.map +1 -0
  156. package/dist/tools/commander-goal-create.js +130 -0
  157. package/dist/tools/commander-goal-create.js.map +1 -0
  158. package/dist/tools/commander-goal-get.d.ts +7 -0
  159. package/dist/tools/commander-goal-get.d.ts.map +1 -0
  160. package/dist/tools/commander-goal-get.js +83 -0
  161. package/dist/tools/commander-goal-get.js.map +1 -0
  162. package/dist/tools/commander-goal-list.d.ts +7 -0
  163. package/dist/tools/commander-goal-list.d.ts.map +1 -0
  164. package/dist/tools/commander-goal-list.js +111 -0
  165. package/dist/tools/commander-goal-list.js.map +1 -0
  166. package/dist/tools/commander-goal-update.d.ts +7 -0
  167. package/dist/tools/commander-goal-update.d.ts.map +1 -0
  168. package/dist/tools/commander-goal-update.js +110 -0
  169. package/dist/tools/commander-goal-update.js.map +1 -0
  170. package/dist/tools/commander-key-result-create.d.ts +7 -0
  171. package/dist/tools/commander-key-result-create.d.ts.map +1 -0
  172. package/dist/tools/commander-key-result-create.js +134 -0
  173. package/dist/tools/commander-key-result-create.js.map +1 -0
  174. package/dist/tools/commander-key-result-update.d.ts +7 -0
  175. package/dist/tools/commander-key-result-update.d.ts.map +1 -0
  176. package/dist/tools/commander-key-result-update.js +119 -0
  177. package/dist/tools/commander-key-result-update.js.map +1 -0
  178. package/dist/tools/commander-layer-create.d.ts +7 -0
  179. package/dist/tools/commander-layer-create.d.ts.map +1 -0
  180. package/dist/tools/commander-layer-create.js +167 -0
  181. package/dist/tools/commander-layer-create.js.map +1 -0
  182. package/dist/tools/commander-layer-delete.d.ts +7 -0
  183. package/dist/tools/commander-layer-delete.d.ts.map +1 -0
  184. package/dist/tools/commander-layer-delete.js +141 -0
  185. package/dist/tools/commander-layer-delete.js.map +1 -0
  186. package/dist/tools/commander-layer-list.d.ts +7 -0
  187. package/dist/tools/commander-layer-list.d.ts.map +1 -0
  188. package/dist/tools/commander-layer-list.js +102 -0
  189. package/dist/tools/commander-layer-list.js.map +1 -0
  190. package/dist/tools/commander-presentation.d.ts +7 -0
  191. package/dist/tools/commander-presentation.d.ts.map +1 -0
  192. package/dist/tools/commander-presentation.js +185 -0
  193. package/dist/tools/commander-presentation.js.map +1 -0
  194. package/dist/tools/commander-project-create.d.ts +7 -0
  195. package/dist/tools/commander-project-create.d.ts.map +1 -0
  196. package/dist/tools/commander-project-create.js +130 -0
  197. package/dist/tools/commander-project-create.js.map +1 -0
  198. package/dist/tools/commander-project-get.d.ts +7 -0
  199. package/dist/tools/commander-project-get.d.ts.map +1 -0
  200. package/dist/tools/commander-project-get.js +107 -0
  201. package/dist/tools/commander-project-get.js.map +1 -0
  202. package/dist/tools/commander-project-list.d.ts +7 -0
  203. package/dist/tools/commander-project-list.d.ts.map +1 -0
  204. package/dist/tools/commander-project-list.js +104 -0
  205. package/dist/tools/commander-project-list.js.map +1 -0
  206. package/dist/tools/commander-project-update.d.ts +7 -0
  207. package/dist/tools/commander-project-update.d.ts.map +1 -0
  208. package/dist/tools/commander-project-update.js +126 -0
  209. package/dist/tools/commander-project-update.js.map +1 -0
  210. package/dist/tools/commander-project.d.ts +7 -0
  211. package/dist/tools/commander-project.d.ts.map +1 -0
  212. package/dist/tools/commander-project.js +144 -0
  213. package/dist/tools/commander-project.js.map +1 -0
  214. package/dist/tools/commander-role-assign.d.ts +7 -0
  215. package/dist/tools/commander-role-assign.d.ts.map +1 -0
  216. package/dist/tools/commander-role-assign.js +115 -0
  217. package/dist/tools/commander-role-assign.js.map +1 -0
  218. package/dist/tools/commander-role-create.d.ts +7 -0
  219. package/dist/tools/commander-role-create.d.ts.map +1 -0
  220. package/dist/tools/commander-role-create.js +130 -0
  221. package/dist/tools/commander-role-create.js.map +1 -0
  222. package/dist/tools/commander-role-get.d.ts +7 -0
  223. package/dist/tools/commander-role-get.d.ts.map +1 -0
  224. package/dist/tools/commander-role-get.js +108 -0
  225. package/dist/tools/commander-role-get.js.map +1 -0
  226. package/dist/tools/commander-role-list.d.ts +7 -0
  227. package/dist/tools/commander-role-list.d.ts.map +1 -0
  228. package/dist/tools/commander-role-list.js +106 -0
  229. package/dist/tools/commander-role-list.js.map +1 -0
  230. package/dist/tools/commander-role-update.d.ts +7 -0
  231. package/dist/tools/commander-role-update.d.ts.map +1 -0
  232. package/dist/tools/commander-role-update.js +126 -0
  233. package/dist/tools/commander-role-update.js.map +1 -0
  234. package/dist/tools/commander-search.d.ts +7 -0
  235. package/dist/tools/commander-search.d.ts.map +1 -0
  236. package/dist/tools/commander-search.js +146 -0
  237. package/dist/tools/commander-search.js.map +1 -0
  238. package/dist/tools/commander-sheet-create.d.ts +7 -0
  239. package/dist/tools/commander-sheet-create.d.ts.map +1 -0
  240. package/dist/tools/commander-sheet-create.js +160 -0
  241. package/dist/tools/commander-sheet-create.js.map +1 -0
  242. package/dist/tools/commander-sheet-get.d.ts +7 -0
  243. package/dist/tools/commander-sheet-get.d.ts.map +1 -0
  244. package/dist/tools/commander-sheet-get.js +128 -0
  245. package/dist/tools/commander-sheet-get.js.map +1 -0
  246. package/dist/tools/commander-sheet-list.d.ts +7 -0
  247. package/dist/tools/commander-sheet-list.d.ts.map +1 -0
  248. package/dist/tools/commander-sheet-list.js +108 -0
  249. package/dist/tools/commander-sheet-list.js.map +1 -0
  250. package/dist/tools/commander-sheet-update.d.ts +7 -0
  251. package/dist/tools/commander-sheet-update.d.ts.map +1 -0
  252. package/dist/tools/commander-sheet-update.js +163 -0
  253. package/dist/tools/commander-sheet-update.js.map +1 -0
  254. package/dist/tools/commander-status-list.d.ts +7 -0
  255. package/dist/tools/commander-status-list.d.ts.map +1 -0
  256. package/dist/tools/commander-status-list.js +103 -0
  257. package/dist/tools/commander-status-list.js.map +1 -0
  258. package/dist/tools/commander-task-assign.d.ts +7 -0
  259. package/dist/tools/commander-task-assign.d.ts.map +1 -0
  260. package/dist/tools/commander-task-assign.js +91 -0
  261. package/dist/tools/commander-task-assign.js.map +1 -0
  262. package/dist/tools/commander-task-create.d.ts +7 -0
  263. package/dist/tools/commander-task-create.d.ts.map +1 -0
  264. package/dist/tools/commander-task-create.js +142 -0
  265. package/dist/tools/commander-task-create.js.map +1 -0
  266. package/dist/tools/commander-task-delete.d.ts +7 -0
  267. package/dist/tools/commander-task-delete.d.ts.map +1 -0
  268. package/dist/tools/commander-task-delete.js +88 -0
  269. package/dist/tools/commander-task-delete.js.map +1 -0
  270. package/dist/tools/commander-task-list-mine.d.ts +7 -0
  271. package/dist/tools/commander-task-list-mine.d.ts.map +1 -0
  272. package/dist/tools/commander-task-list-mine.js +109 -0
  273. package/dist/tools/commander-task-list-mine.js.map +1 -0
  274. package/dist/tools/commander-task-read.d.ts +10 -0
  275. package/dist/tools/commander-task-read.d.ts.map +1 -0
  276. package/dist/tools/commander-task-read.js +96 -0
  277. package/dist/tools/commander-task-read.js.map +1 -0
  278. package/dist/tools/commander-task-update.d.ts +7 -0
  279. package/dist/tools/commander-task-update.d.ts.map +1 -0
  280. package/dist/tools/commander-task-update.js +159 -0
  281. package/dist/tools/commander-task-update.js.map +1 -0
  282. package/dist/tools/commander-taskboard-tasks.d.ts +7 -0
  283. package/dist/tools/commander-taskboard-tasks.d.ts.map +1 -0
  284. package/dist/tools/commander-taskboard-tasks.js +97 -0
  285. package/dist/tools/commander-taskboard-tasks.js.map +1 -0
  286. package/dist/tools/commander-team-add-member.d.ts +7 -0
  287. package/dist/tools/commander-team-add-member.d.ts.map +1 -0
  288. package/dist/tools/commander-team-add-member.js +104 -0
  289. package/dist/tools/commander-team-add-member.js.map +1 -0
  290. package/dist/tools/commander-team-create.d.ts +7 -0
  291. package/dist/tools/commander-team-create.d.ts.map +1 -0
  292. package/dist/tools/commander-team-create.js +117 -0
  293. package/dist/tools/commander-team-create.js.map +1 -0
  294. package/dist/tools/commander-team-list.d.ts +7 -0
  295. package/dist/tools/commander-team-list.d.ts.map +1 -0
  296. package/dist/tools/commander-team-list.js +94 -0
  297. package/dist/tools/commander-team-list.js.map +1 -0
  298. package/dist/tools/commander-team-remove-member.d.ts +7 -0
  299. package/dist/tools/commander-team-remove-member.d.ts.map +1 -0
  300. package/dist/tools/commander-team-remove-member.js +98 -0
  301. package/dist/tools/commander-team-remove-member.js.map +1 -0
  302. package/dist/tools/commander-user-get.d.ts +7 -0
  303. package/dist/tools/commander-user-get.d.ts.map +1 -0
  304. package/dist/tools/commander-user-get.js +101 -0
  305. package/dist/tools/commander-user-get.js.map +1 -0
  306. package/dist/tools/commander-user-invite.d.ts +7 -0
  307. package/dist/tools/commander-user-invite.d.ts.map +1 -0
  308. package/dist/tools/commander-user-invite.js +119 -0
  309. package/dist/tools/commander-user-invite.js.map +1 -0
  310. package/dist/tools/commander-user-list.d.ts +7 -0
  311. package/dist/tools/commander-user-list.d.ts.map +1 -0
  312. package/dist/tools/commander-user-list.js +108 -0
  313. package/dist/tools/commander-user-list.js.map +1 -0
  314. package/dist/tools/commander-workspace-create.d.ts +7 -0
  315. package/dist/tools/commander-workspace-create.d.ts.map +1 -0
  316. package/dist/tools/commander-workspace-create.js +124 -0
  317. package/dist/tools/commander-workspace-create.js.map +1 -0
  318. package/dist/tools/commander-workspace-list.d.ts +7 -0
  319. package/dist/tools/commander-workspace-list.d.ts.map +1 -0
  320. package/dist/tools/commander-workspace-list.js +95 -0
  321. package/dist/tools/commander-workspace-list.js.map +1 -0
  322. package/dist/tools/commander-workspace-update.d.ts +7 -0
  323. package/dist/tools/commander-workspace-update.d.ts.map +1 -0
  324. package/dist/tools/commander-workspace-update.js +118 -0
  325. package/dist/tools/commander-workspace-update.js.map +1 -0
  326. package/dist/tools/commander-workspace.d.ts +7 -0
  327. package/dist/tools/commander-workspace.d.ts.map +1 -0
  328. package/dist/tools/commander-workspace.js +131 -0
  329. package/dist/tools/commander-workspace.js.map +1 -0
  330. package/dist/tools/create-kanban.d.ts +7 -0
  331. package/dist/tools/create-kanban.d.ts.map +1 -0
  332. package/dist/tools/create-kanban.js +32 -0
  333. package/dist/tools/create-kanban.js.map +1 -0
  334. package/dist/tools/create-table.d.ts +7 -0
  335. package/dist/tools/create-table.d.ts.map +1 -0
  336. package/dist/tools/create-table.js +188 -0
  337. package/dist/tools/create-table.js.map +1 -0
  338. package/dist/tools/search-knowledge.d.ts +7 -0
  339. package/dist/tools/search-knowledge.d.ts.map +1 -0
  340. package/dist/tools/search-knowledge.js +33 -0
  341. package/dist/tools/search-knowledge.js.map +1 -0
  342. package/dist/tools/waymaker-kanban-view.d.ts +7 -0
  343. package/dist/tools/waymaker-kanban-view.d.ts.map +1 -0
  344. package/dist/tools/waymaker-kanban-view.js +255 -0
  345. package/dist/tools/waymaker-kanban-view.js.map +1 -0
  346. package/dist/tools/waymaker-sync-configure.d.ts +13 -0
  347. package/dist/tools/waymaker-sync-configure.d.ts.map +1 -0
  348. package/dist/tools/waymaker-sync-configure.js +291 -0
  349. package/dist/tools/waymaker-sync-configure.js.map +1 -0
  350. package/dist/tools/waymaker-sync-file.d.ts +7 -0
  351. package/dist/tools/waymaker-sync-file.d.ts.map +1 -0
  352. package/dist/tools/waymaker-sync-file.js +79 -0
  353. package/dist/tools/waymaker-sync-file.js.map +1 -0
  354. package/dist/tools/waymaker-sync-poll.d.ts +8 -0
  355. package/dist/tools/waymaker-sync-poll.d.ts.map +1 -0
  356. package/dist/tools/waymaker-sync-poll.js +398 -0
  357. package/dist/tools/waymaker-sync-poll.js.map +1 -0
  358. package/dist/tools/waymaker-sync-start.d.ts +7 -0
  359. package/dist/tools/waymaker-sync-start.d.ts.map +1 -0
  360. package/dist/tools/waymaker-sync-start.js +56 -0
  361. package/dist/tools/waymaker-sync-start.js.map +1 -0
  362. package/dist/tools/waymaker-sync-status.d.ts +7 -0
  363. package/dist/tools/waymaker-sync-status.d.ts.map +1 -0
  364. package/dist/tools/waymaker-sync-status.js +45 -0
  365. package/dist/tools/waymaker-sync-status.js.map +1 -0
  366. package/dist/tools/waymaker-sync-stop.d.ts +7 -0
  367. package/dist/tools/waymaker-sync-stop.d.ts.map +1 -0
  368. package/dist/tools/waymaker-sync-stop.js +56 -0
  369. package/dist/tools/waymaker-sync-stop.js.map +1 -0
  370. package/dist/tools/waymaker-sync-workspace.d.ts +26 -0
  371. package/dist/tools/waymaker-sync-workspace.d.ts.map +1 -0
  372. package/dist/tools/waymaker-sync-workspace.js +148 -0
  373. package/dist/tools/waymaker-sync-workspace.js.map +1 -0
  374. package/dist/tools/waymaker-sync-workspace.tool.d.ts +9 -0
  375. package/dist/tools/waymaker-sync-workspace.tool.d.ts.map +1 -0
  376. package/dist/tools/waymaker-sync-workspace.tool.js +68 -0
  377. package/dist/tools/waymaker-sync-workspace.tool.js.map +1 -0
  378. package/dist/types/tool.d.ts +13 -0
  379. package/dist/types/tool.d.ts.map +1 -0
  380. package/dist/types/tool.js +2 -0
  381. package/dist/types/tool.js.map +1 -0
  382. package/dist/utils/daemon-health.d.ts +21 -0
  383. package/dist/utils/daemon-health.d.ts.map +1 -0
  384. package/dist/utils/daemon-health.js +40 -0
  385. package/dist/utils/daemon-health.js.map +1 -0
  386. package/dist/utils/fetch-ipv4.d.ts +36 -0
  387. package/dist/utils/fetch-ipv4.d.ts.map +1 -0
  388. package/dist/utils/fetch-ipv4.js +91 -0
  389. package/dist/utils/fetch-ipv4.js.map +1 -0
  390. package/package.json +62 -0
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Waymaker Sync - File Watcher
3
+ * Monitors markdown files for changes and emits events
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ export interface FileWatcherOptions {
7
+ watchPatterns: string[];
8
+ ignorePatterns: string[];
9
+ projectPath: string;
10
+ debounceMs?: number;
11
+ }
12
+ export declare class FileWatcher extends EventEmitter {
13
+ private watcher;
14
+ private options;
15
+ private debounceTimers;
16
+ private recentUnlinks;
17
+ private readonly MOVE_DETECTION_WINDOW_MS;
18
+ constructor(options: FileWatcherOptions);
19
+ /**
20
+ * Start watching files
21
+ */
22
+ start(): void;
23
+ /**
24
+ * Stop watching files
25
+ */
26
+ stop(): Promise<void>;
27
+ /**
28
+ * Handle file system events with debouncing and move detection
29
+ */
30
+ private handleFileEvent;
31
+ /**
32
+ * Detect if a newly added file is actually a moved file
33
+ */
34
+ private detectMoveSource;
35
+ /**
36
+ * Clean up old unlink entries that have expired
37
+ */
38
+ private cleanupOldUnlinks;
39
+ /**
40
+ * Get current watch statistics
41
+ */
42
+ getStats(): {
43
+ watching: boolean;
44
+ filesWatched: number;
45
+ watchedPaths: string[];
46
+ ignoredPatterns: string[];
47
+ };
48
+ /**
49
+ * Check if a file is being watched
50
+ */
51
+ isWatching(filePath: string): boolean;
52
+ }
53
+ //# sourceMappingURL=file-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watcher.d.ts","sourceRoot":"","sources":["../../src/sync/file-watcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAA0C;IAGhE,OAAO,CAAC,aAAa,CAAyF;IAC9G,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAQ;gBAErC,OAAO,EAAE,kBAAkB;IAQvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAuCb;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAkFvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,QAAQ,IAAI;QACV,QAAQ,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B;IAmCD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAmBtC"}
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Waymaker Sync - File Watcher
3
+ * Monitors markdown files for changes and emits events
4
+ */
5
+ import chokidar from 'chokidar';
6
+ import * as path from 'path';
7
+ import { EventEmitter } from 'events';
8
+ export class FileWatcher extends EventEmitter {
9
+ watcher = null;
10
+ options;
11
+ debounceTimers = new Map();
12
+ // Move detection: track recently unlinked files
13
+ recentUnlinks = new Map();
14
+ MOVE_DETECTION_WINDOW_MS = 2000; // 2 second window to detect moves
15
+ constructor(options) {
16
+ super();
17
+ this.options = {
18
+ debounceMs: 1000, // Default 1 second debounce
19
+ ...options,
20
+ };
21
+ }
22
+ /**
23
+ * Start watching files
24
+ */
25
+ start() {
26
+ if (this.watcher) {
27
+ throw new Error('File watcher is already running');
28
+ }
29
+ // Convert watch patterns to absolute paths
30
+ const watchPaths = this.options.watchPatterns.map(pattern => {
31
+ return path.join(this.options.projectPath, pattern);
32
+ });
33
+ console.error('[FileWatcher] Starting watcher for patterns:', watchPaths);
34
+ console.error('[FileWatcher] Ignoring patterns:', this.options.ignorePatterns);
35
+ // Create watcher
36
+ this.watcher = chokidar.watch(watchPaths, {
37
+ ignored: this.options.ignorePatterns,
38
+ persistent: true,
39
+ ignoreInitial: false, // Emit events for existing files on startup
40
+ awaitWriteFinish: {
41
+ stabilityThreshold: 300,
42
+ pollInterval: 100,
43
+ },
44
+ });
45
+ // Set up event handlers
46
+ this.watcher
47
+ .on('add', (filePath) => this.handleFileEvent('add', filePath))
48
+ .on('change', (filePath) => this.handleFileEvent('change', filePath))
49
+ .on('unlink', (filePath) => this.handleFileEvent('unlink', filePath))
50
+ .on('error', (error) => {
51
+ console.error('[FileWatcher] Error:', error);
52
+ this.emit('error', error);
53
+ })
54
+ .on('ready', () => {
55
+ console.error('[FileWatcher] Initial scan complete, watching for changes...');
56
+ this.emit('ready');
57
+ });
58
+ }
59
+ /**
60
+ * Stop watching files
61
+ */
62
+ async stop() {
63
+ if (!this.watcher) {
64
+ return;
65
+ }
66
+ // Clear all debounce timers
67
+ this.debounceTimers.forEach(timer => clearTimeout(timer));
68
+ this.debounceTimers.clear();
69
+ // Close watcher
70
+ await this.watcher.close();
71
+ this.watcher = null;
72
+ console.error('[FileWatcher] Stopped watching files');
73
+ }
74
+ /**
75
+ * Handle file system events with debouncing and move detection
76
+ */
77
+ handleFileEvent(type, filePath) {
78
+ // Only watch .md files
79
+ if (!filePath.endsWith('.md')) {
80
+ return;
81
+ }
82
+ // Convert to relative path
83
+ const relativePath = path.relative(this.options.projectPath, filePath);
84
+ const fileName = path.basename(filePath);
85
+ // Clean up old unlink entries
86
+ this.cleanupOldUnlinks();
87
+ // Debounce events (prevent multiple rapid fire events)
88
+ const existingTimer = this.debounceTimers.get(filePath);
89
+ if (existingTimer) {
90
+ clearTimeout(existingTimer);
91
+ }
92
+ const timer = setTimeout(() => {
93
+ this.debounceTimers.delete(filePath);
94
+ // Handle unlink: store for move detection
95
+ if (type === 'unlink') {
96
+ this.recentUnlinks.set(fileName, {
97
+ checksum: '', // Can't calculate - file is gone
98
+ timestamp: Date.now(),
99
+ absolutePath: filePath,
100
+ });
101
+ const event = {
102
+ type,
103
+ path: relativePath,
104
+ timestamp: new Date(),
105
+ };
106
+ console.error(`[FileWatcher] ${type.toUpperCase()}: ${relativePath}`);
107
+ this.emit('change', event);
108
+ return;
109
+ }
110
+ // Handle add: check if this might be a move
111
+ if (type === 'add') {
112
+ const movedFrom = this.detectMoveSource(fileName, filePath);
113
+ if (movedFrom) {
114
+ const oldRelativePath = path.relative(this.options.projectPath, movedFrom.absolutePath);
115
+ // This is a move! Emit move event instead of add
116
+ const event = {
117
+ type: 'move',
118
+ path: relativePath,
119
+ oldPath: oldRelativePath,
120
+ timestamp: new Date(),
121
+ };
122
+ console.error(`[FileWatcher] MOVE: ${oldRelativePath} → ${relativePath}`);
123
+ this.emit('change', event);
124
+ // Remove from recent unlinks
125
+ this.recentUnlinks.delete(fileName);
126
+ return;
127
+ }
128
+ }
129
+ // Default: emit the event as-is
130
+ const event = {
131
+ type,
132
+ path: relativePath,
133
+ timestamp: new Date(),
134
+ };
135
+ console.error(`[FileWatcher] ${type.toUpperCase()}: ${relativePath}`);
136
+ this.emit('change', event);
137
+ }, this.options.debounceMs);
138
+ this.debounceTimers.set(filePath, timer);
139
+ }
140
+ /**
141
+ * Detect if a newly added file is actually a moved file
142
+ */
143
+ detectMoveSource(fileName, newFilePath) {
144
+ const unlinked = this.recentUnlinks.get(fileName);
145
+ if (!unlinked) {
146
+ return null;
147
+ }
148
+ // Check if within move detection window
149
+ const elapsed = Date.now() - unlinked.timestamp;
150
+ if (elapsed > this.MOVE_DETECTION_WINDOW_MS) {
151
+ return null;
152
+ }
153
+ // Make sure it's not the same path (not a move)
154
+ if (unlinked.absolutePath === newFilePath) {
155
+ return null;
156
+ }
157
+ return unlinked;
158
+ }
159
+ /**
160
+ * Clean up old unlink entries that have expired
161
+ */
162
+ cleanupOldUnlinks() {
163
+ const now = Date.now();
164
+ const expiredKeys = [];
165
+ for (const [fileName, entry] of this.recentUnlinks) {
166
+ if (now - entry.timestamp > this.MOVE_DETECTION_WINDOW_MS * 2) {
167
+ expiredKeys.push(fileName);
168
+ }
169
+ }
170
+ for (const key of expiredKeys) {
171
+ this.recentUnlinks.delete(key);
172
+ }
173
+ }
174
+ /**
175
+ * Get current watch statistics
176
+ */
177
+ getStats() {
178
+ if (!this.watcher) {
179
+ return {
180
+ watching: false,
181
+ filesWatched: 0,
182
+ watchedPaths: [],
183
+ ignoredPatterns: this.options.ignorePatterns,
184
+ };
185
+ }
186
+ // Get actual watched files from chokidar
187
+ const watched = this.watcher.getWatched();
188
+ let filesWatched = 0;
189
+ const watchedPaths = [];
190
+ for (const [dir, files] of Object.entries(watched)) {
191
+ if (Array.isArray(files)) {
192
+ for (const file of files) {
193
+ // Only count .md files
194
+ if (file.endsWith('.md')) {
195
+ watchedPaths.push(path.join(dir, file));
196
+ filesWatched++;
197
+ }
198
+ }
199
+ }
200
+ }
201
+ return {
202
+ watching: true,
203
+ filesWatched,
204
+ watchedPaths,
205
+ ignoredPatterns: this.options.ignorePatterns,
206
+ };
207
+ }
208
+ /**
209
+ * Check if a file is being watched
210
+ */
211
+ isWatching(filePath) {
212
+ if (!this.watcher) {
213
+ return false;
214
+ }
215
+ const absolutePath = path.resolve(this.options.projectPath, filePath);
216
+ const watchedPaths = this.watcher.getWatched();
217
+ // Check if file's directory is in watched paths
218
+ const dir = path.dirname(absolutePath);
219
+ const fileName = path.basename(absolutePath);
220
+ return Object.keys(watchedPaths).some(watchedDir => {
221
+ if (dir === watchedDir) {
222
+ return watchedPaths[watchedDir].includes(fileName);
223
+ }
224
+ return false;
225
+ });
226
+ }
227
+ }
228
+ //# sourceMappingURL=file-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-watcher.js","sourceRoot":"","sources":["../../src/sync/file-watcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Waymaker Sync - Folder Service
3
+ * Auto-creates folder hierarchy to mirror IDE structure in Commander
4
+ */
5
+ import { CommanderClient } from './commander-client.js';
6
+ export interface CommanderFolder {
7
+ id: string;
8
+ name: string;
9
+ project_id: string;
10
+ workspace_id: string;
11
+ parent_folder_id: string | null;
12
+ created_by: string;
13
+ created_at: string;
14
+ updated_at: string;
15
+ sort_order: number;
16
+ deleted_at: string | null;
17
+ }
18
+ export interface FolderServiceConfig {
19
+ projectId: string;
20
+ workspaceId: string;
21
+ organizationId: string;
22
+ userId: string;
23
+ projectRoot: string;
24
+ }
25
+ /**
26
+ * FolderService - Manages folder hierarchy syncing from IDE to Commander
27
+ *
28
+ * Responsibilities:
29
+ * 1. Parse file paths into folder hierarchy
30
+ * 2. Create missing folders in Commander
31
+ * 3. Cache folder lookups to avoid duplicates
32
+ * 4. Return folder_id for document assignment
33
+ *
34
+ * Example:
35
+ * File path: /Users/name/Projects/waymaker/docs/01-planning/features/api-keys.md
36
+ * Project root: /Users/name/Projects/waymaker
37
+ * Relative path: docs/01-planning/features/api-keys.md
38
+ * Folder hierarchy: docs → 01-planning → features
39
+ */
40
+ export declare class FolderService {
41
+ private client;
42
+ private config;
43
+ private folderCache;
44
+ private initialized;
45
+ private initializationPromise;
46
+ constructor(config: FolderServiceConfig, client?: CommanderClient);
47
+ /**
48
+ * Initialize folder cache by loading all existing folders from Commander
49
+ * Call this once before starting sync operations
50
+ * Uses promise lock to prevent concurrent initialization
51
+ */
52
+ initialize(): Promise<void>;
53
+ /**
54
+ * Ensure folder hierarchy exists for a file path
55
+ * Returns folder_id for the deepest folder (to assign to document)
56
+ *
57
+ * Example:
58
+ * Input: /Users/name/Projects/waymaker/docs/01-planning/features/api-keys.md
59
+ * Output: folder_id for "features" folder
60
+ * Side effect: Creates "docs", "01-planning", "features" if they don't exist
61
+ */
62
+ ensureFolderHierarchy(absoluteFilePath: string): Promise<string | null>;
63
+ /**
64
+ * Create a single folder in Commander with retry logic for race conditions
65
+ * If folder creation fails due to unique constraint, fetch the existing folder
66
+ */
67
+ private createFolderWithRetry;
68
+ /**
69
+ * List all folders for the project
70
+ */
71
+ private listAllFolders;
72
+ /**
73
+ * Build full folder path from folder ID by traversing parent hierarchy
74
+ */
75
+ private buildFolderPath;
76
+ /**
77
+ * Get relative path from project root
78
+ * Example:
79
+ * Absolute: /Users/name/Projects/waymaker/docs/file.md
80
+ * Root: /Users/name/Projects/waymaker
81
+ * Relative: docs/file.md
82
+ */
83
+ private getRelativePath;
84
+ /**
85
+ * Ensure a folder path exists (for empty folder sync)
86
+ * Unlike ensureFolderHierarchy which takes a file path, this takes a folder path directly
87
+ *
88
+ * Example:
89
+ * Input: "docs/05-reference/api" (relative to project root)
90
+ * Output: folder_id for "api" folder
91
+ * Side effect: Creates "docs", "05-reference", "api" if they don't exist
92
+ */
93
+ ensureFolderPath(relativeFolderPath: string): Promise<string | null>;
94
+ /**
95
+ * Clear cache (useful for testing or when folders are modified externally)
96
+ */
97
+ clearCache(): void;
98
+ /**
99
+ * Get folder by path (for testing/debugging)
100
+ */
101
+ getFolderByPath(folderPath: string): CommanderFolder | undefined;
102
+ /**
103
+ * Get cache statistics (for debugging)
104
+ */
105
+ getCacheStats(): {
106
+ size: number;
107
+ paths: string[];
108
+ };
109
+ }
110
+ //# sourceMappingURL=folder-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-service.d.ts","sourceRoot":"","sources":["../../src/sync/folder-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,qBAAqB,CAA8B;gBAE/C,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,eAAe;IAMjE;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2CjC;;;;;;;;OAQG;IACG,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0D7E;;;OAGG;YACW,qBAAqB;IA0DnC;;OAEG;YACW,cAAc;IAW5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;;;;OAQG;IACG,gBAAgB,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkD1E;;OAEG;IACH,UAAU,IAAI,IAAI;IAOlB;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIhE;;OAEG;IACH,aAAa,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;CAMnD"}