@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,405 @@
1
+ /**
2
+ * Waymaker Sync - Commander Client
3
+ * Wrapper around Commander edge functions for sync operations
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ import { execSync } from 'child_process';
8
+ import { fetchIPv4PostJson } from '../utils/fetch-ipv4.js';
9
+ // Environment configuration
10
+ const WAYMAKER_APPS_URL = process.env.WAYMAKER_APPS_URL || 'https://apps.waymakerone.com';
11
+ const WAYMAKER_API_KEY = process.env.WAYMAKER_API_KEY;
12
+ /**
13
+ * Get auth token from ~/.waymaker/auth.json (OAuth flow)
14
+ * Auto-refreshes if token expires within 5 minutes
15
+ */
16
+ function getOAuthToken() {
17
+ const authPath = path.join(process.env.HOME || '', '.waymaker', 'auth.json');
18
+ if (!fs.existsSync(authPath)) {
19
+ return null;
20
+ }
21
+ try {
22
+ const authData = JSON.parse(fs.readFileSync(authPath, 'utf-8'));
23
+ const expiresAt = new Date(authData.expiresAt);
24
+ const now = new Date();
25
+ const fiveMinutesFromNow = new Date(now.getTime() + 5 * 60 * 1000);
26
+ // Token still valid and not expiring soon
27
+ if (expiresAt > fiveMinutesFromNow) {
28
+ return authData.accessToken;
29
+ }
30
+ // Token expired or expiring soon - try to refresh
31
+ if (authData.refreshToken) {
32
+ console.error('[CommanderClient] Token expiring soon, attempting refresh...');
33
+ const refreshed = refreshOAuthToken(authData.refreshToken, authPath);
34
+ if (refreshed) {
35
+ // Re-read the updated auth file
36
+ const newAuthData = JSON.parse(fs.readFileSync(authPath, 'utf-8'));
37
+ console.error('[CommanderClient] ✅ Token refreshed successfully');
38
+ return newAuthData.accessToken;
39
+ }
40
+ console.error('[CommanderClient] ⚠️ Token refresh failed, using existing token');
41
+ }
42
+ // Return existing token if still valid (even if expiring soon)
43
+ if (expiresAt > now) {
44
+ return authData.accessToken;
45
+ }
46
+ console.error('[CommanderClient] ❌ Token expired. Run: waymaker auth login');
47
+ return null;
48
+ }
49
+ catch {
50
+ // Ignore auth file read errors
51
+ return null;
52
+ }
53
+ }
54
+ /**
55
+ * Refresh OAuth token using refresh token (synchronous for simplicity)
56
+ */
57
+ function refreshOAuthToken(refreshToken, authPath) {
58
+ try {
59
+ // Use synchronous HTTP request for token refresh
60
+ // This is a workaround since getOAuthToken is sync
61
+ const url = new URL('https://apps.waymakerone.com/functions/v1/mcp-oauth-token');
62
+ const postData = JSON.stringify({
63
+ grant_type: 'refresh_token',
64
+ refresh_token: refreshToken,
65
+ });
66
+ // Synchronous request using execSync to call curl
67
+ const result = execSync(`curl -s -X POST "${url.toString()}" -H "Content-Type: application/json" -d '${postData}'`, { encoding: 'utf-8', timeout: 10000 });
68
+ const tokens = JSON.parse(result);
69
+ if (tokens.access_token) {
70
+ // Calculate new expiry (1 hour from now)
71
+ const expiresAt = new Date(Date.now() + (tokens.expires_in || 3600) * 1000);
72
+ // Update auth file
73
+ const authData = {
74
+ accessToken: tokens.access_token,
75
+ refreshToken: tokens.refresh_token || refreshToken,
76
+ expiresAt: expiresAt.toISOString(),
77
+ tokenType: tokens.token_type || 'Bearer',
78
+ };
79
+ fs.writeFileSync(authPath, JSON.stringify(authData, null, 2));
80
+ return true;
81
+ }
82
+ return false;
83
+ }
84
+ catch (error) {
85
+ console.error('[CommanderClient] Token refresh error:', error);
86
+ return false;
87
+ }
88
+ }
89
+ export class CommanderClient {
90
+ apiKey;
91
+ baseUrl;
92
+ constructor(apiKey) {
93
+ // Priority: explicit apiKey > env var > OAuth token
94
+ this.apiKey = apiKey || WAYMAKER_API_KEY || getOAuthToken() || '';
95
+ this.baseUrl = WAYMAKER_APPS_URL;
96
+ if (!this.apiKey) {
97
+ throw new Error('Authentication required. Either:\n' +
98
+ ' 1. Run: waymaker auth login (recommended)\n' +
99
+ ' 2. Set WAYMAKER_API_KEY environment variable');
100
+ }
101
+ }
102
+ /**
103
+ * Create a new task in Commander
104
+ */
105
+ async createTask(params) {
106
+ const response = await this.callEdgeFunction('commander-task-operations', {
107
+ action: 'create-task',
108
+ boardId: params.taskboard_id, // Edge function expects boardId
109
+ name: params.title, // Edge function expects name (maps to title in DB)
110
+ description: params.content, // Edge function expects description
111
+ statusSectionId: params.section_id, // Edge function expects statusSectionId
112
+ priority: params.priority,
113
+ assigneeId: params.assignee, // Edge function expects assigneeId
114
+ layerId: params.layer_id, // Edge function expects layerId
115
+ });
116
+ return response.task; // Edge function returns { success: true, task: enrichedTask }
117
+ }
118
+ /**
119
+ * Update an existing task
120
+ */
121
+ async updateTask(params) {
122
+ // Build updates object with database column names
123
+ const updates = {
124
+ id: params.task_id, // Edge function expects 'id' not 'taskId'
125
+ };
126
+ if (params.title !== undefined)
127
+ updates.title = params.title;
128
+ if (params.content !== undefined)
129
+ updates.description = params.content;
130
+ if (params.priority !== undefined)
131
+ updates.priority = params.priority;
132
+ if (params.assignee !== undefined)
133
+ updates.assignee_id = params.assignee;
134
+ if (params.status !== undefined)
135
+ updates.status = params.status;
136
+ if (params.layer_id !== undefined)
137
+ updates.layer_id = params.layer_id;
138
+ const response = await this.callEdgeFunction('commander-task-operations', {
139
+ action: 'update-task',
140
+ ...updates,
141
+ });
142
+ return response.task; // Edge function returns { success: true, task: enrichedTask }
143
+ }
144
+ /**
145
+ * Get a task by ID
146
+ */
147
+ async getTask(taskId) {
148
+ const response = await this.callEdgeFunction('commander-task-operations', {
149
+ action: 'get-task',
150
+ taskId,
151
+ });
152
+ return response.data.task;
153
+ }
154
+ /**
155
+ * Delete a task
156
+ */
157
+ async deleteTask(taskId) {
158
+ await this.callEdgeFunction('commander-task-operations', {
159
+ action: 'delete-task',
160
+ taskId,
161
+ });
162
+ }
163
+ /**
164
+ * List all tasks in a taskboard
165
+ */
166
+ async listTasks(taskboardId) {
167
+ const response = await this.callEdgeFunction('commander-task-operations', {
168
+ action: 'list-tasks',
169
+ taskboardId,
170
+ });
171
+ return response.data.tasks || [];
172
+ }
173
+ /**
174
+ * Create a new document in Commander (legacy - uses documents table)
175
+ * @deprecated Use createMarkdownDocument for .md files
176
+ */
177
+ async createDocument(params) {
178
+ const response = await this.callEdgeFunction('commander-document-operations', {
179
+ action: 'create',
180
+ data: {
181
+ title: params.title,
182
+ text_content: params.content, // Send as text_content for markdown
183
+ document_type: 'markdown', // Set document type for synced documents
184
+ file_extension: params.file_extension, // Store original file extension
185
+ source_app: 'waymaker-sync', // Mark as synced from IDE
186
+ project_id: params.project_id,
187
+ workspace_id: params.workspace_id,
188
+ organization_id: params.organization_id,
189
+ folder_id: params.folder_id,
190
+ sync_metadata: params.metadata || {}, // Use sync_metadata column name
191
+ },
192
+ });
193
+ return response.data;
194
+ }
195
+ /**
196
+ * Create a markdown document in Commander (uses markdown_documents table)
197
+ * This ensures documents open with MarkdownView.tsx with proper toolbar icons
198
+ * Uses upsert to handle re-syncs after clearing the sync index
199
+ */
200
+ async createMarkdownDocument(params) {
201
+ const response = await this.callMarkdownEdgeFunction('markdown-operations', {
202
+ action: 'upsert', // Use upsert to handle duplicates on re-sync
203
+ data: {
204
+ title: params.title,
205
+ content: params.content,
206
+ workspace_id: params.workspace_id,
207
+ organization_id: params.organization_id,
208
+ project_id: params.project_id,
209
+ folder_id: params.folder_id,
210
+ description: params.description,
211
+ source_app: 'waymaker-sync',
212
+ sync_enabled: true,
213
+ sync_source: params.metadata,
214
+ status: 'private',
215
+ },
216
+ });
217
+ return response;
218
+ }
219
+ /**
220
+ * Update a markdown document in Commander (uses markdown_documents table)
221
+ */
222
+ async updateMarkdownDocument(params) {
223
+ const response = await this.callMarkdownEdgeFunction('markdown-operations', {
224
+ action: 'update',
225
+ data: {
226
+ id: params.document_id,
227
+ title: params.title,
228
+ content: params.content,
229
+ folder_id: params.folder_id,
230
+ description: params.description,
231
+ },
232
+ });
233
+ return response;
234
+ }
235
+ /**
236
+ * Update an existing document
237
+ */
238
+ async updateDocument(params) {
239
+ const response = await this.callEdgeFunction('commander-document-operations', {
240
+ action: 'update',
241
+ data: {
242
+ id: params.document_id,
243
+ title: params.title,
244
+ text_content: params.content, // Send as text_content for markdown updates
245
+ document_type: 'markdown', // Ensure document type stays markdown
246
+ file_extension: params.file_extension, // Update file extension if provided
247
+ workspace_id: params.workspace_id, // Allow updating workspace_id
248
+ organization_id: params.organization_id, // Allow updating organization_id
249
+ folder_id: params.folder_id,
250
+ sync_metadata: params.metadata, // Use sync_metadata column name
251
+ },
252
+ });
253
+ return response.data;
254
+ }
255
+ /**
256
+ * Get a document by ID
257
+ */
258
+ async getDocument(documentId) {
259
+ const response = await this.callEdgeFunction('commander-document-operations', {
260
+ action: 'get-document',
261
+ documentId,
262
+ });
263
+ return response.data.document;
264
+ }
265
+ /**
266
+ * Delete a document
267
+ */
268
+ async deleteDocument(documentId) {
269
+ await this.callEdgeFunction('commander-document-operations', {
270
+ action: 'delete-document',
271
+ documentId,
272
+ });
273
+ }
274
+ /**
275
+ * Create a new layer (epic) in Commander
276
+ */
277
+ async createLayer(params) {
278
+ const response = await this.callEdgeFunction('commander-layer-operations', {
279
+ action: 'create-layer',
280
+ name: params.name,
281
+ taskboardId: params.taskboard_id,
282
+ description: params.description,
283
+ metadata: params.metadata || {},
284
+ });
285
+ return response.data.layer;
286
+ }
287
+ /**
288
+ * Update an existing layer
289
+ */
290
+ async updateLayer(params) {
291
+ const response = await this.callEdgeFunction('commander-layer-operations', {
292
+ action: 'update-layer',
293
+ layerId: params.layer_id,
294
+ name: params.name,
295
+ description: params.description,
296
+ metadata: params.metadata,
297
+ });
298
+ return response.data.layer;
299
+ }
300
+ /**
301
+ * Get a layer by ID
302
+ */
303
+ async getLayer(layerId) {
304
+ const response = await this.callEdgeFunction('commander-layer-operations', {
305
+ action: 'get-layer',
306
+ layerId,
307
+ });
308
+ return response.data.layer;
309
+ }
310
+ /**
311
+ * Delete a layer
312
+ */
313
+ async deleteLayer(layerId) {
314
+ await this.callEdgeFunction('commander-layer-operations', {
315
+ action: 'delete-layer',
316
+ layerId,
317
+ });
318
+ }
319
+ /**
320
+ * Generic edge function caller
321
+ */
322
+ async callEdgeFunction(functionName, body) {
323
+ const url = `${this.baseUrl}/functions/v1/${functionName}`;
324
+ console.error(`[CommanderClient] POST ${url}`);
325
+ console.error(`[CommanderClient] Action: ${body.action || 'unknown'}`);
326
+ try {
327
+ const response = await fetchIPv4PostJson(url, body, { 'Authorization': `Bearer ${this.apiKey}` });
328
+ console.error(`[CommanderClient] Response: ${response.status} ${response.statusText}`);
329
+ if (!response.ok) {
330
+ console.error(`[CommanderClient] Error body: ${response.body.substring(0, 500)}`);
331
+ throw new Error(`Edge function ${functionName} failed: ${response.status} ${response.statusText}\n${response.body}`);
332
+ }
333
+ const result = response.json();
334
+ if (!result.success) {
335
+ console.error(`[CommanderClient] API error: ${result.message || 'Unknown error'}`);
336
+ throw new Error(`Edge function ${functionName} returned error: ${result.message || 'Unknown error'}`);
337
+ }
338
+ console.error(`[CommanderClient] Success: ${functionName}`);
339
+ return result;
340
+ }
341
+ catch (error) {
342
+ console.error(`[CommanderClient] Exception: ${error instanceof Error ? error.message : String(error)}`);
343
+ if (error instanceof Error) {
344
+ throw error;
345
+ }
346
+ throw new Error(`Unknown error calling ${functionName}: ${String(error)}`);
347
+ }
348
+ }
349
+ /**
350
+ * Edge function caller for markdown-operations (different response format)
351
+ * Returns { data: {...} } instead of { success: true, data: {...} }
352
+ */
353
+ async callMarkdownEdgeFunction(functionName, body) {
354
+ const url = `${this.baseUrl}/functions/v1/${functionName}`;
355
+ console.error(`[CommanderClient] POST ${url} (markdown)`);
356
+ console.error(`[CommanderClient] Action: ${body.action || 'unknown'}`);
357
+ try {
358
+ const response = await fetchIPv4PostJson(url, body, { 'Authorization': `Bearer ${this.apiKey}` });
359
+ console.error(`[CommanderClient] Response: ${response.status} ${response.statusText}`);
360
+ if (!response.ok) {
361
+ console.error(`[CommanderClient] Error body: ${response.body.substring(0, 500)}`);
362
+ throw new Error(`Edge function ${functionName} failed: ${response.status} ${response.statusText}\n${response.body}`);
363
+ }
364
+ const result = response.json();
365
+ // markdown-operations returns { data: {...} } or { error: '...' }
366
+ if (result.error) {
367
+ console.error(`[CommanderClient] API error: ${result.error}`);
368
+ throw new Error(`Edge function ${functionName} returned error: ${result.error}`);
369
+ }
370
+ console.error(`[CommanderClient] Success: ${functionName}`);
371
+ return result.data;
372
+ }
373
+ catch (error) {
374
+ console.error(`[CommanderClient] Exception: ${error instanceof Error ? error.message : String(error)}`);
375
+ if (error instanceof Error) {
376
+ throw error;
377
+ }
378
+ throw new Error(`Unknown error calling ${functionName}: ${String(error)}`);
379
+ }
380
+ }
381
+ /**
382
+ * Search for tasks by metadata
383
+ */
384
+ async searchTasksByMetadata(params) {
385
+ const tasks = await this.listTasks(params.taskboard_id);
386
+ // Filter tasks by metadata
387
+ return tasks.filter(task => {
388
+ if (!task.metadata)
389
+ return false;
390
+ return task.metadata[params.metadata_key] === params.metadata_value;
391
+ });
392
+ }
393
+ /**
394
+ * Find task by file path (stored in metadata)
395
+ */
396
+ async findTaskByFilePath(params) {
397
+ const tasks = await this.searchTasksByMetadata({
398
+ taskboard_id: params.taskboard_id,
399
+ metadata_key: 'file_path',
400
+ metadata_value: params.file_path,
401
+ });
402
+ return tasks.length > 0 ? tasks[0] : null;
403
+ }
404
+ }
405
+ //# sourceMappingURL=commander-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commander-client.js","sourceRoot":"","sources":["../../src/sync/commander-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Waymaker Sync - Configuration Manager
3
+ * Handles reading, validating, and managing .commander/config.json
4
+ */
5
+ import { WaymakerSyncConfig } from './types.js';
6
+ export declare class ConfigManager {
7
+ private configPath;
8
+ private config;
9
+ constructor(projectPath: string);
10
+ /**
11
+ * Load configuration from .commander/config.json
12
+ */
13
+ load(): Promise<WaymakerSyncConfig>;
14
+ /**
15
+ * Save configuration to .commander/config.json
16
+ */
17
+ save(config: WaymakerSyncConfig): Promise<void>;
18
+ /**
19
+ * Create initial configuration
20
+ */
21
+ createInitialConfig(params: {
22
+ workspace_id: string;
23
+ project_id: string;
24
+ organization_id: string;
25
+ taskboard_id?: string;
26
+ }): Promise<WaymakerSyncConfig>;
27
+ /**
28
+ * Validate configuration structure and required fields
29
+ */
30
+ private validateConfig;
31
+ /**
32
+ * Get current configuration (throws if not loaded)
33
+ */
34
+ getConfig(): WaymakerSyncConfig;
35
+ /**
36
+ * Update specific configuration fields
37
+ */
38
+ updateConfig(updates: Partial<WaymakerSyncConfig>): Promise<WaymakerSyncConfig>;
39
+ /**
40
+ * Check if configuration file exists
41
+ */
42
+ exists(): boolean;
43
+ /**
44
+ * Get configuration file path
45
+ */
46
+ getConfigPath(): string;
47
+ }
48
+ //# sourceMappingURL=config-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/sync/config-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAmC;gBAErC,WAAW,EAAE,MAAM;IAI/B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAyBzC;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrD;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAChC,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyC/B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6CtB;;OAEG;IACH,SAAS,IAAI,kBAAkB;IAO/B;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAOrF;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Waymaker Sync - Configuration Manager
3
+ * Handles reading, validating, and managing .commander/config.json
4
+ */
5
+ import * as fs from 'fs';
6
+ import * as path from 'path';
7
+ export class ConfigManager {
8
+ configPath;
9
+ config = null;
10
+ constructor(projectPath) {
11
+ this.configPath = path.join(projectPath, '.commander', 'config.json');
12
+ }
13
+ /**
14
+ * Load configuration from .commander/config.json
15
+ */
16
+ async load() {
17
+ try {
18
+ if (!fs.existsSync(this.configPath)) {
19
+ throw new Error(`Configuration file not found: ${this.configPath}\n` +
20
+ 'Run "waymaker sync init" to create configuration.');
21
+ }
22
+ const configData = fs.readFileSync(this.configPath, 'utf-8');
23
+ const config = JSON.parse(configData);
24
+ // Validate configuration
25
+ this.validateConfig(config);
26
+ this.config = config;
27
+ return config;
28
+ }
29
+ catch (error) {
30
+ if (error instanceof Error) {
31
+ throw new Error(`Failed to load configuration: ${error.message}`);
32
+ }
33
+ throw error;
34
+ }
35
+ }
36
+ /**
37
+ * Save configuration to .commander/config.json
38
+ */
39
+ async save(config) {
40
+ try {
41
+ // Ensure directory exists
42
+ const configDir = path.dirname(this.configPath);
43
+ if (!fs.existsSync(configDir)) {
44
+ fs.mkdirSync(configDir, { recursive: true });
45
+ }
46
+ // Update timestamp
47
+ config.updated_at = new Date().toISOString();
48
+ // Write configuration
49
+ fs.writeFileSync(this.configPath, JSON.stringify(config, null, 2), 'utf-8');
50
+ this.config = config;
51
+ }
52
+ catch (error) {
53
+ if (error instanceof Error) {
54
+ throw new Error(`Failed to save configuration: ${error.message}`);
55
+ }
56
+ throw error;
57
+ }
58
+ }
59
+ /**
60
+ * Create initial configuration
61
+ */
62
+ async createInitialConfig(params) {
63
+ const config = {
64
+ workspace_id: params.workspace_id,
65
+ project_id: params.project_id,
66
+ organization_id: params.organization_id,
67
+ sync: {
68
+ enabled: true,
69
+ mode: 'bidirectional',
70
+ watch_patterns: [
71
+ '/docs/02-working/tasks/**/*.md',
72
+ '/docs/02-working/prompts/active/**/*.md',
73
+ '/docs/01-planning/epics/**/*.md',
74
+ '/docs/02-working/sessions/completed/**/*.md',
75
+ ],
76
+ ignore_patterns: [
77
+ '**/node_modules/**',
78
+ '**/.git/**',
79
+ '**/dist/**',
80
+ '**/build/**',
81
+ '**/.env',
82
+ ],
83
+ taskboard_id: params.taskboard_id || null,
84
+ sync_interval_ms: 5000,
85
+ },
86
+ app: {
87
+ app_id: null,
88
+ framework: null,
89
+ build_command: null,
90
+ output_dir: null,
91
+ },
92
+ created_at: new Date().toISOString(),
93
+ updated_at: new Date().toISOString(),
94
+ };
95
+ await this.save(config);
96
+ return config;
97
+ }
98
+ /**
99
+ * Validate configuration structure and required fields
100
+ */
101
+ validateConfig(config) {
102
+ const errors = [];
103
+ // Required fields
104
+ if (!config.workspace_id) {
105
+ errors.push('workspace_id is required');
106
+ }
107
+ if (!config.project_id) {
108
+ errors.push('project_id is required');
109
+ }
110
+ if (!config.organization_id) {
111
+ errors.push('organization_id is required');
112
+ }
113
+ // Sync configuration
114
+ if (!config.sync) {
115
+ errors.push('sync configuration is required');
116
+ }
117
+ else {
118
+ if (config.sync.mode !== 'bidirectional' &&
119
+ config.sync.mode !== 'ide-to-commander' &&
120
+ config.sync.mode !== 'commander-to-ide') {
121
+ errors.push('sync.mode must be one of: bidirectional, ide-to-commander, commander-to-ide');
122
+ }
123
+ if (!Array.isArray(config.sync.watch_patterns)) {
124
+ errors.push('sync.watch_patterns must be an array');
125
+ }
126
+ if (!Array.isArray(config.sync.ignore_patterns)) {
127
+ errors.push('sync.ignore_patterns must be an array');
128
+ }
129
+ if (typeof config.sync.sync_interval_ms !== 'number' || config.sync.sync_interval_ms < 1000) {
130
+ errors.push('sync.sync_interval_ms must be a number >= 1000');
131
+ }
132
+ }
133
+ if (errors.length > 0) {
134
+ throw new Error('Configuration validation failed:\n' +
135
+ errors.map(e => ` - ${e}`).join('\n'));
136
+ }
137
+ }
138
+ /**
139
+ * Get current configuration (throws if not loaded)
140
+ */
141
+ getConfig() {
142
+ if (!this.config) {
143
+ throw new Error('Configuration not loaded. Call load() first.');
144
+ }
145
+ return this.config;
146
+ }
147
+ /**
148
+ * Update specific configuration fields
149
+ */
150
+ async updateConfig(updates) {
151
+ const current = this.getConfig();
152
+ const updated = { ...current, ...updates };
153
+ await this.save(updated);
154
+ return updated;
155
+ }
156
+ /**
157
+ * Check if configuration file exists
158
+ */
159
+ exists() {
160
+ return fs.existsSync(this.configPath);
161
+ }
162
+ /**
163
+ * Get configuration file path
164
+ */
165
+ getConfigPath() {
166
+ return this.configPath;
167
+ }
168
+ }
169
+ //# sourceMappingURL=config-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-manager.js","sourceRoot":"","sources":["../../src/sync/config-manager.ts"],"names":[],"mappings":"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"}