centy 0.8.1 → 0.8.2

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 (428) hide show
  1. package/dist/commands/add/asset.d.ts.map +1 -1
  2. package/dist/commands/add/asset.js +0 -8
  3. package/dist/commands/add/asset.js.map +1 -1
  4. package/dist/commands/close.d.ts.map +1 -1
  5. package/dist/commands/close.js +2 -6
  6. package/dist/commands/close.js.map +1 -1
  7. package/dist/commands/cockpit.d.ts.map +1 -1
  8. package/dist/commands/cockpit.js +0 -3
  9. package/dist/commands/cockpit.js.map +1 -1
  10. package/dist/commands/comment/add.d.ts +19 -0
  11. package/dist/commands/comment/add.d.ts.map +1 -0
  12. package/dist/commands/comment/add.js +84 -0
  13. package/dist/commands/comment/add.js.map +1 -0
  14. package/dist/commands/comment/delete.d.ts +18 -0
  15. package/dist/commands/comment/delete.d.ts.map +1 -0
  16. package/dist/commands/comment/delete.js +80 -0
  17. package/dist/commands/comment/delete.js.map +1 -0
  18. package/dist/commands/comment/list.d.ts +17 -0
  19. package/dist/commands/comment/list.d.ts.map +1 -0
  20. package/dist/commands/comment/list.js +71 -0
  21. package/dist/commands/comment/list.js.map +1 -0
  22. package/dist/commands/comment/update.d.ts +18 -0
  23. package/dist/commands/comment/update.d.ts.map +1 -0
  24. package/dist/commands/comment/update.js +71 -0
  25. package/dist/commands/comment/update.js.map +1 -0
  26. package/dist/commands/compact.d.ts.map +1 -1
  27. package/dist/commands/compact.js +0 -7
  28. package/dist/commands/compact.js.map +1 -1
  29. package/dist/commands/config.d.ts.map +1 -1
  30. package/dist/commands/config.js +0 -5
  31. package/dist/commands/config.js.map +1 -1
  32. package/dist/commands/create.d.ts +1 -0
  33. package/dist/commands/create.d.ts.map +1 -1
  34. package/dist/commands/create.js +2 -6
  35. package/dist/commands/create.js.map +1 -1
  36. package/dist/commands/daemon/autostart.d.ts.map +1 -1
  37. package/dist/commands/daemon/autostart.js +0 -7
  38. package/dist/commands/daemon/autostart.js.map +1 -1
  39. package/dist/commands/daemon/status.d.ts.map +1 -1
  40. package/dist/commands/daemon/status.js +0 -6
  41. package/dist/commands/daemon/status.js.map +1 -1
  42. package/dist/commands/delete/asset.d.ts.map +1 -1
  43. package/dist/commands/delete/asset.js +0 -6
  44. package/dist/commands/delete/asset.js.map +1 -1
  45. package/dist/commands/delete.d.ts.map +1 -1
  46. package/dist/commands/delete.js +0 -6
  47. package/dist/commands/delete.js.map +1 -1
  48. package/dist/commands/duplicate.d.ts.map +1 -1
  49. package/dist/commands/duplicate.js +0 -6
  50. package/dist/commands/duplicate.js.map +1 -1
  51. package/dist/commands/edit.d.ts.map +1 -1
  52. package/dist/commands/edit.js +0 -3
  53. package/dist/commands/edit.js.map +1 -1
  54. package/dist/commands/get/asset.d.ts.map +1 -1
  55. package/dist/commands/get/asset.js +0 -9
  56. package/dist/commands/get/asset.js.map +1 -1
  57. package/dist/commands/get/project.d.ts.map +1 -1
  58. package/dist/commands/get/project.js +0 -8
  59. package/dist/commands/get/project.js.map +1 -1
  60. package/dist/commands/get.d.ts.map +1 -1
  61. package/dist/commands/get.js +0 -6
  62. package/dist/commands/get.js.map +1 -1
  63. package/dist/commands/info.d.ts.map +1 -1
  64. package/dist/commands/info.js +0 -5
  65. package/dist/commands/info.js.map +1 -1
  66. package/dist/commands/init.d.ts.map +1 -1
  67. package/dist/commands/init.js +0 -6
  68. package/dist/commands/init.js.map +1 -1
  69. package/dist/commands/item-type/create.d.ts.map +1 -1
  70. package/dist/commands/item-type/create.js +0 -6
  71. package/dist/commands/item-type/create.js.map +1 -1
  72. package/dist/commands/item-type/list.d.ts.map +1 -1
  73. package/dist/commands/item-type/list.js +0 -5
  74. package/dist/commands/item-type/list.js.map +1 -1
  75. package/dist/commands/link.d.ts.map +1 -1
  76. package/dist/commands/link.js +2 -10
  77. package/dist/commands/link.js.map +1 -1
  78. package/dist/commands/links.d.ts.map +1 -1
  79. package/dist/commands/links.js +2 -9
  80. package/dist/commands/links.js.map +1 -1
  81. package/dist/commands/list/assets.d.ts.map +1 -1
  82. package/dist/commands/list/assets.js +0 -6
  83. package/dist/commands/list/assets.js.map +1 -1
  84. package/dist/commands/list/items.d.ts +1 -0
  85. package/dist/commands/list/items.d.ts.map +1 -1
  86. package/dist/commands/list/items.js +18 -29
  87. package/dist/commands/list/items.js.map +1 -1
  88. package/dist/commands/list/link-types.d.ts.map +1 -1
  89. package/dist/commands/list/link-types.js +1 -6
  90. package/dist/commands/list/link-types.js.map +1 -1
  91. package/dist/commands/list/projects.d.ts.map +1 -1
  92. package/dist/commands/list/projects.js +0 -6
  93. package/dist/commands/list/projects.js.map +1 -1
  94. package/dist/commands/list.d.ts.map +1 -1
  95. package/dist/commands/list.js +6 -9
  96. package/dist/commands/list.js.map +1 -1
  97. package/dist/commands/llm.d.ts.map +1 -1
  98. package/dist/commands/llm.js +1 -8
  99. package/dist/commands/llm.js.map +1 -1
  100. package/dist/commands/manifest.d.ts.map +1 -1
  101. package/dist/commands/manifest.js +0 -6
  102. package/dist/commands/manifest.js.map +1 -1
  103. package/dist/commands/move.d.ts.map +1 -1
  104. package/dist/commands/move.js +0 -6
  105. package/dist/commands/move.js.map +1 -1
  106. package/dist/commands/next.d.ts +1 -0
  107. package/dist/commands/next.d.ts.map +1 -1
  108. package/dist/commands/next.js +17 -47
  109. package/dist/commands/next.js.map +1 -1
  110. package/dist/commands/org/create.d.ts.map +1 -1
  111. package/dist/commands/org/create.js +0 -6
  112. package/dist/commands/org/create.js.map +1 -1
  113. package/dist/commands/org/delete.d.ts.map +1 -1
  114. package/dist/commands/org/delete.js +0 -7
  115. package/dist/commands/org/delete.js.map +1 -1
  116. package/dist/commands/org/get.d.ts.map +1 -1
  117. package/dist/commands/org/get.js +0 -7
  118. package/dist/commands/org/get.js.map +1 -1
  119. package/dist/commands/org/list.d.ts.map +1 -1
  120. package/dist/commands/org/list.js +0 -6
  121. package/dist/commands/org/list.js.map +1 -1
  122. package/dist/commands/org/update.d.ts.map +1 -1
  123. package/dist/commands/org/update.js +0 -7
  124. package/dist/commands/org/update.js.map +1 -1
  125. package/dist/commands/project/archive.d.ts.map +1 -1
  126. package/dist/commands/project/archive.js +0 -7
  127. package/dist/commands/project/archive.js.map +1 -1
  128. package/dist/commands/project/favorite.d.ts.map +1 -1
  129. package/dist/commands/project/favorite.js +0 -7
  130. package/dist/commands/project/favorite.js.map +1 -1
  131. package/dist/commands/project/org.d.ts.map +1 -1
  132. package/dist/commands/project/org.js +0 -9
  133. package/dist/commands/project/org.js.map +1 -1
  134. package/dist/commands/project/title.d.ts.map +1 -1
  135. package/dist/commands/project/title.js +0 -8
  136. package/dist/commands/project/title.js.map +1 -1
  137. package/dist/commands/register/project.d.ts.map +1 -1
  138. package/dist/commands/register/project.js +0 -7
  139. package/dist/commands/register/project.js.map +1 -1
  140. package/dist/commands/restart.d.ts.map +1 -1
  141. package/dist/commands/restart.js +0 -6
  142. package/dist/commands/restart.js.map +1 -1
  143. package/dist/commands/restore.d.ts.map +1 -1
  144. package/dist/commands/restore.js +0 -6
  145. package/dist/commands/restore.js.map +1 -1
  146. package/dist/commands/show.d.ts.map +1 -1
  147. package/dist/commands/show.js +0 -3
  148. package/dist/commands/show.js.map +1 -1
  149. package/dist/commands/shutdown.d.ts.map +1 -1
  150. package/dist/commands/shutdown.js +0 -6
  151. package/dist/commands/shutdown.js.map +1 -1
  152. package/dist/commands/start.d.ts.map +1 -1
  153. package/dist/commands/start.js +1 -6
  154. package/dist/commands/start.js.map +1 -1
  155. package/dist/commands/sync/users.d.ts.map +1 -1
  156. package/dist/commands/sync/users.js +0 -5
  157. package/dist/commands/sync/users.js.map +1 -1
  158. package/dist/commands/unlink.d.ts +2 -5
  159. package/dist/commands/unlink.d.ts.map +1 -1
  160. package/dist/commands/unlink.js +9 -38
  161. package/dist/commands/unlink.js.map +1 -1
  162. package/dist/commands/untrack/org.d.ts +17 -0
  163. package/dist/commands/untrack/org.d.ts.map +1 -0
  164. package/dist/commands/untrack/org.js +77 -0
  165. package/dist/commands/untrack/org.js.map +1 -0
  166. package/dist/commands/untrack/project.d.ts.map +1 -1
  167. package/dist/commands/untrack/project.js +0 -7
  168. package/dist/commands/untrack/project.js.map +1 -1
  169. package/dist/commands/update.d.ts +2 -0
  170. package/dist/commands/update.d.ts.map +1 -1
  171. package/dist/commands/update.js +4 -6
  172. package/dist/commands/update.js.map +1 -1
  173. package/dist/commands/user/create.d.ts.map +1 -1
  174. package/dist/commands/user/create.js +0 -5
  175. package/dist/commands/user/create.js.map +1 -1
  176. package/dist/commands/user/delete.d.ts.map +1 -1
  177. package/dist/commands/user/delete.js +0 -7
  178. package/dist/commands/user/delete.js.map +1 -1
  179. package/dist/commands/user/list.d.ts.map +1 -1
  180. package/dist/commands/user/list.js +0 -6
  181. package/dist/commands/user/list.js.map +1 -1
  182. package/dist/commands/user/update.d.ts.map +1 -1
  183. package/dist/commands/user/update.js +0 -7
  184. package/dist/commands/user/update.js.map +1 -1
  185. package/dist/commands/version.d.ts.map +1 -1
  186. package/dist/commands/version.js +0 -5
  187. package/dist/commands/version.js.map +1 -1
  188. package/dist/commands/workspace/cleanup.d.ts.map +1 -1
  189. package/dist/commands/workspace/cleanup.js +0 -4
  190. package/dist/commands/workspace/cleanup.js.map +1 -1
  191. package/dist/commands/workspace/close.d.ts.map +1 -1
  192. package/dist/commands/workspace/close.js +0 -6
  193. package/dist/commands/workspace/close.js.map +1 -1
  194. package/dist/commands/workspace/list.d.ts.map +1 -1
  195. package/dist/commands/workspace/list.js +0 -5
  196. package/dist/commands/workspace/list.js.map +1 -1
  197. package/dist/commands/workspace/new.d.ts.map +1 -1
  198. package/dist/commands/workspace/new.js +12 -9
  199. package/dist/commands/workspace/new.js.map +1 -1
  200. package/dist/commands/workspace/open.d.ts.map +1 -1
  201. package/dist/commands/workspace/open.js +13 -10
  202. package/dist/commands/workspace/open.js.map +1 -1
  203. package/dist/daemon/check-daemon-connection.d.ts.map +1 -1
  204. package/dist/daemon/check-daemon-connection.js +18 -13
  205. package/dist/daemon/check-daemon-connection.js.map +1 -1
  206. package/dist/daemon/daemon-control-service.d.ts.map +1 -1
  207. package/dist/daemon/daemon-control-service.js +2 -5
  208. package/dist/daemon/daemon-control-service.js.map +1 -1
  209. package/dist/daemon/daemon-get-project-version.d.ts.map +1 -1
  210. package/dist/daemon/daemon-get-project-version.js +0 -1
  211. package/dist/daemon/daemon-get-project-version.js.map +1 -1
  212. package/dist/daemon/daemon-list-items-across-projects.d.ts +6 -0
  213. package/dist/daemon/daemon-list-items-across-projects.d.ts.map +1 -0
  214. package/dist/daemon/daemon-list-items-across-projects.js +9 -0
  215. package/dist/daemon/daemon-list-items-across-projects.js.map +1 -0
  216. package/dist/daemon/daemon-list-items-globally.d.ts +1 -2
  217. package/dist/daemon/daemon-list-items-globally.d.ts.map +1 -1
  218. package/dist/daemon/daemon-list-items-globally.js +16 -48
  219. package/dist/daemon/daemon-list-items-globally.js.map +1 -1
  220. package/dist/daemon/generated/centy/v1/centy.d.ts +33 -206
  221. package/dist/daemon/generated/centy/v1/centy.d.ts.map +1 -1
  222. package/dist/daemon/generated/centy/v1/centy.js +0 -23
  223. package/dist/daemon/generated/centy/v1/centy.js.map +1 -1
  224. package/dist/daemon/generated/centy/v1/generic_item.d.ts +33 -1
  225. package/dist/daemon/generated/centy/v1/generic_item.d.ts.map +1 -1
  226. package/dist/daemon/grpc-client-items.d.ts +2 -1
  227. package/dist/daemon/grpc-client-items.d.ts.map +1 -1
  228. package/dist/daemon/grpc-config.d.ts.map +1 -1
  229. package/dist/daemon/grpc-config.js.map +1 -1
  230. package/dist/daemon/grpc-utils.d.ts.map +1 -1
  231. package/dist/daemon/grpc-utils.js +0 -1
  232. package/dist/daemon/grpc-utils.js.map +1 -1
  233. package/dist/daemon/load-proto.d.ts.map +1 -1
  234. package/dist/daemon/load-proto.js +11 -7
  235. package/dist/daemon/load-proto.js.map +1 -1
  236. package/dist/daemon/parse-error-response.d.ts.map +1 -1
  237. package/dist/daemon/parse-error-response.js +4 -3
  238. package/dist/daemon/parse-error-response.js.map +1 -1
  239. package/dist/daemon/types/feature.d.ts.map +1 -1
  240. package/dist/daemon/types/feature.js +0 -1
  241. package/dist/daemon/types/feature.js.map +1 -1
  242. package/dist/daemon/types/global-search.d.ts.map +1 -1
  243. package/dist/daemon/types/global-search.js +0 -1
  244. package/dist/daemon/types/global-search.js.map +1 -1
  245. package/dist/daemon/types/reconciliation.d.ts +19 -0
  246. package/dist/daemon/types/reconciliation.d.ts.map +1 -0
  247. package/dist/daemon/types/reconciliation.js +2 -0
  248. package/dist/daemon/types/reconciliation.js.map +1 -0
  249. package/dist/daemon/types.d.ts +1 -0
  250. package/dist/daemon/types.d.ts.map +1 -1
  251. package/dist/daemon/types.js +1 -0
  252. package/dist/daemon/types.js.map +1 -1
  253. package/dist/flags/create-flags.d.ts +1 -0
  254. package/dist/flags/create-flags.d.ts.map +1 -1
  255. package/dist/flags/create-flags.js +4 -0
  256. package/dist/flags/create-flags.js.map +1 -1
  257. package/dist/flags/update-flags.d.ts +2 -0
  258. package/dist/flags/update-flags.d.ts.map +1 -1
  259. package/dist/flags/update-flags.js +8 -0
  260. package/dist/flags/update-flags.js.map +1 -1
  261. package/dist/help.d.ts +6 -1
  262. package/dist/help.d.ts.map +1 -1
  263. package/dist/help.js +20 -1
  264. package/dist/help.js.map +1 -1
  265. package/dist/hooks/postrun.d.ts.map +1 -1
  266. package/dist/hooks/postrun.js +1 -4
  267. package/dist/hooks/postrun.js.map +1 -1
  268. package/dist/hooks/prerun.d.ts.map +1 -1
  269. package/dist/hooks/prerun.js +0 -1
  270. package/dist/hooks/prerun.js.map +1 -1
  271. package/dist/lib/assert/assert-initialized.d.ts.map +1 -1
  272. package/dist/lib/assert/assert-initialized.js +0 -1
  273. package/dist/lib/assert/assert-initialized.js.map +1 -1
  274. package/dist/lib/autostart/launchd.d.ts.map +1 -1
  275. package/dist/lib/autostart/launchd.js +0 -10
  276. package/dist/lib/autostart/launchd.js.map +1 -1
  277. package/dist/lib/compact/apply-llm-response.d.ts.map +1 -1
  278. package/dist/lib/compact/apply-llm-response.js +0 -2
  279. package/dist/lib/compact/apply-llm-response.js.map +1 -1
  280. package/dist/lib/compact/mark-issues.d.ts.map +1 -1
  281. package/dist/lib/compact/mark-issues.js +0 -1
  282. package/dist/lib/compact/mark-issues.js.map +1 -1
  283. package/dist/lib/compact/parse-llm-response.d.ts.map +1 -1
  284. package/dist/lib/compact/parse-llm-response.js +0 -1
  285. package/dist/lib/compact/parse-llm-response.js.map +1 -1
  286. package/dist/lib/compact/save-results.d.ts.map +1 -1
  287. package/dist/lib/compact/save-results.js +0 -1
  288. package/dist/lib/compact/save-results.js.map +1 -1
  289. package/dist/lib/create-item-type/features.d.ts.map +1 -1
  290. package/dist/lib/create-item-type/features.js +0 -1
  291. package/dist/lib/create-item-type/features.js.map +1 -1
  292. package/dist/lib/find-binary/find-binary.d.ts.map +1 -1
  293. package/dist/lib/find-binary/find-binary.js +1 -6
  294. package/dist/lib/find-binary/find-binary.js.map +1 -1
  295. package/dist/lib/find-binary/get-search-paths.d.ts.map +1 -1
  296. package/dist/lib/find-binary/get-search-paths.js +1 -2
  297. package/dist/lib/find-binary/get-search-paths.js.map +1 -1
  298. package/dist/lib/init/gather-decisions.d.ts.map +1 -1
  299. package/dist/lib/init/gather-decisions.js +0 -1
  300. package/dist/lib/init/gather-decisions.js.map +1 -1
  301. package/dist/lib/init/init.d.ts +0 -1
  302. package/dist/lib/init/init.d.ts.map +1 -1
  303. package/dist/lib/init/init.js +4 -8
  304. package/dist/lib/init/init.js.map +1 -1
  305. package/dist/lib/init/type-converters.d.ts.map +1 -1
  306. package/dist/lib/init/type-converters.js +0 -1
  307. package/dist/lib/init/type-converters.js.map +1 -1
  308. package/dist/lib/install-daemon/extract.d.ts +3 -0
  309. package/dist/lib/install-daemon/extract.d.ts.map +1 -1
  310. package/dist/lib/install-daemon/extract.js +7 -4
  311. package/dist/lib/install-daemon/extract.js.map +1 -1
  312. package/dist/lib/install-daemon/make-executable.d.ts.map +1 -1
  313. package/dist/lib/install-daemon/make-executable.js +0 -1
  314. package/dist/lib/install-daemon/make-executable.js.map +1 -1
  315. package/dist/lib/install-daemon/platform.d.ts.map +1 -1
  316. package/dist/lib/install-daemon/platform.js +0 -1
  317. package/dist/lib/install-daemon/platform.js.map +1 -1
  318. package/dist/lib/install-script-url.d.ts.map +1 -1
  319. package/dist/lib/install-script-url.js +4 -6
  320. package/dist/lib/install-script-url.js.map +1 -1
  321. package/dist/lib/launch-tui/tui-binary-exists.js +0 -1
  322. package/dist/lib/launch-tui/tui-binary-exists.js.map +1 -1
  323. package/dist/lib/launch-tui-manager/tui-manager-binary-exists.js +0 -1
  324. package/dist/lib/launch-tui-manager/tui-manager-binary-exists.js.map +1 -1
  325. package/dist/lib/list-items/run-global-list.d.ts +4 -0
  326. package/dist/lib/list-items/run-global-list.d.ts.map +1 -0
  327. package/dist/lib/list-items/run-global-list.js +36 -0
  328. package/dist/lib/list-items/run-global-list.js.map +1 -0
  329. package/dist/lib/next-item/handle-global-next.d.ts +2 -0
  330. package/dist/lib/next-item/handle-global-next.d.ts.map +1 -0
  331. package/dist/lib/next-item/handle-global-next.js +24 -0
  332. package/dist/lib/next-item/handle-global-next.js.map +1 -0
  333. package/dist/lib/next-item/handle-project-next.d.ts +2 -0
  334. package/dist/lib/next-item/handle-project-next.d.ts.map +1 -0
  335. package/dist/lib/next-item/handle-project-next.js +43 -0
  336. package/dist/lib/next-item/handle-project-next.js.map +1 -0
  337. package/dist/lib/start/daemon-binary-exists.js +0 -1
  338. package/dist/lib/start/daemon-binary-exists.js.map +1 -1
  339. package/dist/utils/apply-link-flags.d.ts.map +1 -1
  340. package/dist/utils/apply-link-flags.js +2 -4
  341. package/dist/utils/apply-link-flags.js.map +1 -1
  342. package/dist/utils/cross-project-search.d.ts +0 -4
  343. package/dist/utils/cross-project-search.d.ts.map +1 -1
  344. package/dist/utils/cross-project-search.js +0 -4
  345. package/dist/utils/cross-project-search.js.map +1 -1
  346. package/dist/utils/parse-custom-fields.d.ts.map +1 -1
  347. package/dist/utils/parse-custom-fields.js +1 -2
  348. package/dist/utils/parse-custom-fields.js.map +1 -1
  349. package/dist/utils/process-timeout-config.d.ts +0 -4
  350. package/dist/utils/process-timeout-config.d.ts.map +1 -1
  351. package/dist/utils/process-timeout-config.js +0 -5
  352. package/dist/utils/process-timeout-config.js.map +1 -1
  353. package/dist/utils/resolve-project-path.d.ts.map +1 -1
  354. package/dist/utils/resolve-project-path.js +6 -3
  355. package/dist/utils/resolve-project-path.js.map +1 -1
  356. package/oclif.manifest.json +381 -99
  357. package/package.json +3 -3
  358. package/proto/buf.yaml +1 -0
  359. package/proto/centy/v1/centy.proto +29 -239
  360. package/proto/centy/v1/generic_item.proto +26 -1
  361. package/dist/lib/close/close-entity-error.d.ts +0 -4
  362. package/dist/lib/close/close-entity-error.d.ts.map +0 -1
  363. package/dist/lib/close/close-entity-error.js +0 -7
  364. package/dist/lib/close/close-entity-error.js.map +0 -1
  365. package/dist/lib/close/close-issue.d.ts +0 -2
  366. package/dist/lib/close/close-issue.d.ts.map +0 -1
  367. package/dist/lib/close/close-issue.js +0 -28
  368. package/dist/lib/close/close-issue.js.map +0 -1
  369. package/dist/lib/close/find-entity.d.ts +0 -8
  370. package/dist/lib/close/find-entity.d.ts.map +0 -1
  371. package/dist/lib/close/find-entity.js +0 -21
  372. package/dist/lib/close/find-entity.js.map +0 -1
  373. package/dist/lib/get-doc/cross-project-hint.d.ts +0 -6
  374. package/dist/lib/get-doc/cross-project-hint.d.ts.map +0 -1
  375. package/dist/lib/get-doc/cross-project-hint.js +0 -27
  376. package/dist/lib/get-doc/cross-project-hint.js.map +0 -1
  377. package/dist/lib/get-doc/format-doc-output.d.ts +0 -3
  378. package/dist/lib/get-doc/format-doc-output.d.ts.map +0 -1
  379. package/dist/lib/get-doc/format-doc-output.js +0 -8
  380. package/dist/lib/get-doc/format-doc-output.js.map +0 -1
  381. package/dist/lib/get-doc/handle-global-search.d.ts +0 -3
  382. package/dist/lib/get-doc/handle-global-search.d.ts.map +0 -1
  383. package/dist/lib/get-doc/handle-global-search.js +0 -33
  384. package/dist/lib/get-doc/handle-global-search.js.map +0 -1
  385. package/dist/lib/get-doc/handle-not-initialized.d.ts +0 -6
  386. package/dist/lib/get-doc/handle-not-initialized.d.ts.map +0 -1
  387. package/dist/lib/get-doc/handle-not-initialized.js +0 -21
  388. package/dist/lib/get-doc/handle-not-initialized.js.map +0 -1
  389. package/dist/lib/get-issue/cross-project-hint.d.ts +0 -6
  390. package/dist/lib/get-issue/cross-project-hint.d.ts.map +0 -1
  391. package/dist/lib/get-issue/cross-project-hint.js +0 -27
  392. package/dist/lib/get-issue/cross-project-hint.js.map +0 -1
  393. package/dist/lib/get-issue/format-issue-output.d.ts +0 -3
  394. package/dist/lib/get-issue/format-issue-output.d.ts.map +0 -1
  395. package/dist/lib/get-issue/format-issue-output.js +0 -14
  396. package/dist/lib/get-issue/format-issue-output.js.map +0 -1
  397. package/dist/lib/get-issue/handle-not-initialized.d.ts +0 -6
  398. package/dist/lib/get-issue/handle-not-initialized.d.ts.map +0 -1
  399. package/dist/lib/get-issue/handle-not-initialized.js +0 -22
  400. package/dist/lib/get-issue/handle-not-initialized.js.map +0 -1
  401. package/dist/lib/init/config-builder.d.ts +0 -9
  402. package/dist/lib/init/config-builder.d.ts.map +0 -1
  403. package/dist/lib/init/config-builder.js +0 -24
  404. package/dist/lib/init/config-builder.js.map +0 -1
  405. package/dist/lib/show/format-results.d.ts +0 -3
  406. package/dist/lib/show/format-results.d.ts.map +0 -1
  407. package/dist/lib/show/format-results.js +0 -19
  408. package/dist/lib/show/format-results.js.map +0 -1
  409. package/dist/lib/show/search-entities.d.ts +0 -6
  410. package/dist/lib/show/search-entities.d.ts.map +0 -1
  411. package/dist/lib/show/search-entities.js +0 -7
  412. package/dist/lib/show/search-entities.js.map +0 -1
  413. package/dist/utils/format-cross-project-hint.d.ts +0 -9
  414. package/dist/utils/format-cross-project-hint.d.ts.map +0 -1
  415. package/dist/utils/format-cross-project-hint.js +0 -17
  416. package/dist/utils/format-cross-project-hint.js.map +0 -1
  417. package/dist/utils/format-cross-project-json.d.ts +0 -9
  418. package/dist/utils/format-cross-project-json.d.ts.map +0 -1
  419. package/dist/utils/format-cross-project-json.js +0 -16
  420. package/dist/utils/format-cross-project-json.js.map +0 -1
  421. package/dist/utils/handle-not-initialized-with-search.d.ts +0 -31
  422. package/dist/utils/handle-not-initialized-with-search.d.ts.map +0 -1
  423. package/dist/utils/handle-not-initialized-with-search.js +0 -39
  424. package/dist/utils/handle-not-initialized-with-search.js.map +0 -1
  425. package/dist/utils/is-not-found-error.d.ts +0 -5
  426. package/dist/utils/is-not-found-error.d.ts.map +0 -1
  427. package/dist/utils/is-not-found-error.js +0 -16
  428. package/dist/utils/is-not-found-error.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centy",
3
- "version": "0.8.1",
3
+ "version": "0.8.2",
4
4
  "description": "CLI for managing project issues and docs via code in the .centy folder",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,7 +25,7 @@
25
25
  "proto:gen": "buf generate",
26
26
  "build:tsc": "tsc",
27
27
  "dev": "tsc --watch",
28
- "manifest": "oclif manifest",
28
+ "manifest": "oclif manifest .",
29
29
  "test": "vitest",
30
30
  "test:watch": "vitest --watch",
31
31
  "test:coverage": "vitest --coverage",
@@ -102,7 +102,7 @@
102
102
  "husky": "^9.1.7",
103
103
  "knip": "^5.71.0",
104
104
  "lint-staged": "^16.2.7",
105
- "oclif": "^4.22.52",
105
+ "oclif": "^4.22.96",
106
106
  "prettier": "^3.7.3",
107
107
  "release-it": "^19.0.6",
108
108
  "ts-proto": "^2.11.2",
package/proto/buf.yaml ADDED
@@ -0,0 +1 @@
1
+ version: v2
@@ -9,12 +9,6 @@ service CentyDaemon {
9
9
  // Initialize a .centy folder in the specified directory
10
10
  rpc Init(InitRequest) returns (InitResponse);
11
11
 
12
- // Get reconciliation plan without executing it
13
- rpc GetReconciliationPlan(GetReconciliationPlanRequest) returns (ReconciliationPlan);
14
-
15
- // Execute reconciliation with user decisions
16
- rpc ExecuteReconciliation(ExecuteReconciliationRequest) returns (InitResponse);
17
-
18
12
  // Read the manifest
19
13
  rpc GetManifest(GetManifestRequest) returns (GetManifestResponse);
20
14
 
@@ -90,32 +84,6 @@ service CentyDaemon {
90
84
  // Delete an organization
91
85
  rpc DeleteOrganization(DeleteOrganizationRequest) returns (DeleteOrganizationResponse);
92
86
 
93
- // ============ Organization Issue RPCs ============
94
-
95
- // Create an organization-level issue
96
- rpc CreateOrgIssue(CreateOrgIssueRequest) returns (CreateOrgIssueResponse);
97
-
98
- // Get an org issue by UUID
99
- rpc GetOrgIssue(GetOrgIssueRequest) returns (OrgIssue);
100
-
101
- // Get an org issue by display number
102
- rpc GetOrgIssueByDisplayNumber(GetOrgIssueByDisplayNumberRequest) returns (OrgIssue);
103
-
104
- // List org issues with optional filters
105
- rpc ListOrgIssues(ListOrgIssuesRequest) returns (ListOrgIssuesResponse);
106
-
107
- // Update an org issue
108
- rpc UpdateOrgIssue(UpdateOrgIssueRequest) returns (UpdateOrgIssueResponse);
109
-
110
- // Delete an org issue
111
- rpc DeleteOrgIssue(DeleteOrgIssueRequest) returns (DeleteOrgIssueResponse);
112
-
113
- // Get org-level config
114
- rpc GetOrgConfig(GetOrgConfigRequest) returns (OrgConfig);
115
-
116
- // Update org-level config
117
- rpc UpdateOrgConfig(UpdateOrgConfigRequest) returns (UpdateOrgConfigResponse);
118
-
119
87
  // ============ Version RPCs ============
120
88
 
121
89
  // Get daemon version info
@@ -140,18 +108,6 @@ service CentyDaemon {
140
108
  // Open a standalone workspace with a configurable editor (not tied to an issue)
141
109
  rpc OpenStandaloneWorkspace(OpenStandaloneWorkspaceWithEditorRequest) returns (OpenStandaloneWorkspaceResponse);
142
110
 
143
- // Open a project in a temporary VS Code workspace (deprecated: use OpenInTempWorkspace)
144
- rpc OpenInTempVscode(OpenInTempWorkspaceRequest) returns (OpenInTempWorkspaceResponse);
145
-
146
- // Open a project in a temporary terminal workspace (deprecated: use OpenInTempWorkspace)
147
- rpc OpenInTempTerminal(OpenInTempWorkspaceRequest) returns (OpenInTempWorkspaceResponse);
148
-
149
- // Open a standalone workspace in VS Code (deprecated: use OpenStandaloneWorkspace)
150
- rpc OpenStandaloneWorkspaceVscode(OpenStandaloneWorkspaceRequest) returns (OpenStandaloneWorkspaceResponse);
151
-
152
- // Open a standalone workspace in terminal (deprecated: use OpenStandaloneWorkspace)
153
- rpc OpenStandaloneWorkspaceTerminal(OpenStandaloneWorkspaceRequest) returns (OpenStandaloneWorkspaceResponse);
154
-
155
111
  // List all temp workspaces
156
112
  rpc ListTempWorkspaces(ListTempWorkspacesRequest) returns (ListTempWorkspacesResponse);
157
113
 
@@ -271,6 +227,9 @@ service CentyDaemon {
271
227
 
272
228
  // Search for an item by ID across all tracked projects
273
229
  rpc SearchItems(SearchItemsRequest) returns (SearchItemsResponse);
230
+
231
+ // List items of a given type across all tracked projects, sorted by created_at descending
232
+ rpc ListItemsAcrossProjects(ListItemsAcrossProjectsRequest) returns (ListItemsAcrossProjectsResponse);
274
233
  }
275
234
 
276
235
  // ============ Init Messages ============
@@ -312,38 +271,6 @@ message InitResponse {
312
271
  OrgInferenceResult org_inference = 8;
313
272
  }
314
273
 
315
- message GetReconciliationPlanRequest {
316
- string project_path = 1;
317
- }
318
-
319
- message ReconciliationPlan {
320
- // Files that need to be created (not on disk, not in manifest)
321
- repeated FileInfo to_create = 1;
322
-
323
- // Files that were deleted but exist in manifest (can be restored)
324
- repeated FileInfo to_restore = 2;
325
-
326
- // Files that were modified from original (hash mismatch)
327
- repeated FileInfo to_reset = 3;
328
-
329
- // Files that are up to date
330
- repeated FileInfo up_to_date = 4;
331
-
332
- // User-created files (not managed by centy)
333
- repeated FileInfo user_files = 5;
334
-
335
- // Whether user decisions are needed
336
- bool needs_decisions = 6;
337
-
338
- bool success = 7;
339
- string error = 8;
340
- }
341
-
342
- message ExecuteReconciliationRequest {
343
- string project_path = 1;
344
- ReconciliationDecisions decisions = 2;
345
- }
346
-
347
274
  message ReconciliationDecisions {
348
275
  // Paths of files to restore (from to_restore list)
349
276
  repeated string restore = 1;
@@ -405,8 +332,9 @@ message Config {
405
332
  reserved 9; // Previously: LlmConfig llm (removed)
406
333
  repeated LinkTypeDefinition custom_link_types = 10; // Custom link types (in addition to built-in)
407
334
  string default_editor = 11; // Default editor ID for this project (e.g., "vscode", "terminal", "zed")
408
- repeated HookDefinition hooks = 12; // Lifecycle hooks
335
+ reserved 12; // Previously: repeated HookDefinition hooks (moved to hooks.yaml)
409
336
  WorkspaceConfig workspace = 13; // Workspace settings
337
+ map<string, string> user_values = 14; // User-defined free-form key-value pairs
410
338
  }
411
339
 
412
340
  // Workspace configuration section
@@ -422,19 +350,10 @@ message CustomFieldDefinition {
422
350
  repeated string enum_values = 5; // For enum type
423
351
  }
424
352
 
425
- // Lifecycle hook definition (bash scripts to run before/after operations)
426
- message HookDefinition {
427
- string pattern = 1; // Pattern like "pre:issue:create" or "*:*:delete"
428
- string command = 2; // Bash command to execute
429
- bool run_async = 3; // If true, run in background (post-hooks only)
430
- uint64 timeout = 4; // Timeout in seconds (default: 30)
431
- bool enabled = 5; // Whether hook is enabled (default: true)
432
- }
433
-
434
353
  // Custom link type definition (for custom relationship types)
435
354
  message LinkTypeDefinition {
436
355
  string name = 1; // Link type name (e.g., "depends-on")
437
- string inverse = 2; // Inverse link type (e.g., "dependency-of")
356
+ reserved 2; // Removed: inverse (no longer needed — direction field on Link replaces it)
438
357
  string description = 3; // Optional description
439
358
  }
440
359
 
@@ -743,7 +662,7 @@ message DaemonInfo {
743
662
  string version = 1; // Current daemon version (e.g., "0.1.0")
744
663
  reserved 2; // was: repeated string available_versions (removed)
745
664
  string binary_path = 3; // Absolute path to the running daemon binary
746
- bool vscode_available = 4; // Whether VS Code is installed and accessible
665
+ reserved 4; // was: vscode_available (removed)
747
666
  }
748
667
 
749
668
  // ============ Daemon Control Messages ============
@@ -770,19 +689,11 @@ message RestartResponse {
770
689
 
771
690
  // ============ Temp Workspace Messages ============
772
691
 
773
- // Editor type for opening workspaces
774
- enum EditorType {
775
- EDITOR_TYPE_UNSPECIFIED = 0;
776
- EDITOR_TYPE_VSCODE = 1; // VS Code editor
777
- EDITOR_TYPE_TERMINAL = 2; // OS terminal
778
- }
779
-
780
692
  // Request to get supported editors (empty request)
781
693
  message GetSupportedEditorsRequest {}
782
694
 
783
695
  // Information about a supported editor
784
696
  message EditorInfo {
785
- EditorType editor_type = 1; // Editor type enum value (deprecated: use editor_id)
786
697
  string name = 2; // Display name (e.g., "VS Code", "Terminal")
787
698
  string description = 3; // Brief description
788
699
  bool available = 4; // Whether this editor is available on the current system
@@ -911,47 +822,40 @@ message CleanupExpiredWorkspacesResponse {
911
822
 
912
823
  // ============ Link Messages ============
913
824
 
914
- // Target entity type for links
915
- enum LinkTargetType {
916
- LINK_TARGET_TYPE_UNSPECIFIED = 0;
917
- LINK_TARGET_TYPE_ISSUE = 1;
918
- LINK_TARGET_TYPE_DOC = 2;
919
- reserved 3; // Removed: LINK_TARGET_TYPE_PR
920
- }
921
-
922
825
  // A link between two entities
923
826
  message Link {
924
827
  string target_id = 1; // Target entity ID (UUID for issues, slug for docs)
925
- LinkTargetType target_type = 2; // Type of the target entity
926
- string link_type = 3; // Relationship type (e.g., "blocks", "parent-of")
828
+ reserved 2; // Removed: LinkTargetType target_type (legacy enum)
829
+ string link_type = 3; // Relationship type (e.g., "blocks", "parent-of"); always from source's perspective
927
830
  string created_at = 4; // ISO timestamp when link was created
831
+ string target_item_type = 5; // Singular item type as a string (e.g., "issue", "plan")
832
+ string id = 6; // UUID of the link file (use for deletion)
833
+ string direction = 7; // "source" or "target" — which side the queried entity is on
928
834
  }
929
835
 
930
- // Create a link between two entities (bidirectional - also creates inverse)
836
+ // Create a link between two entities (one file, two response views)
931
837
  message CreateLinkRequest {
932
838
  string project_path = 1;
933
- string source_id = 2; // Source entity ID
934
- LinkTargetType source_type = 3; // Source entity type
935
- string target_id = 4; // Target entity ID
936
- LinkTargetType target_type = 5; // Target entity type
839
+ string source_id = 2; // Source entity ID (UUID or display number)
840
+ reserved 3; // Removed: LinkTargetType source_type (legacy enum)
841
+ string target_id = 4; // Target entity ID (UUID or display number)
842
+ reserved 5; // Removed: LinkTargetType target_type (legacy enum)
937
843
  string link_type = 6; // Link type (e.g., "blocks")
844
+ string source_item_type = 7; // Singular item type as a string (e.g., "issue", "plan")
845
+ string target_item_type = 8; // Singular item type as a string (e.g., "issue", "plan")
938
846
  }
939
847
 
940
848
  message CreateLinkResponse {
941
849
  bool success = 1;
942
850
  string error = 2;
943
- Link created_link = 3; // The forward link that was created
944
- Link inverse_link = 4; // The inverse link that was created
851
+ Link created_link = 3; // Source's view (direction="source")
852
+ Link inverse_link = 4; // Target's view (direction="target")
945
853
  }
946
854
 
947
- // Delete a link between two entities (also deletes inverse)
855
+ // Delete a link by its UUID
948
856
  message DeleteLinkRequest {
949
857
  string project_path = 1;
950
- string source_id = 2; // Source entity ID
951
- LinkTargetType source_type = 3; // Source entity type
952
- string target_id = 4; // Target entity ID
953
- LinkTargetType target_type = 5; // Target entity type
954
- string link_type = 6; // Optional: specific link type to delete (empty = all links between entities)
858
+ string link_id = 2; // UUID of the link file to delete (from Link.id)
955
859
  }
956
860
 
957
861
  message DeleteLinkResponse {
@@ -964,7 +868,8 @@ message DeleteLinkResponse {
964
868
  message ListLinksRequest {
965
869
  string project_path = 1;
966
870
  string entity_id = 2; // Entity ID to list links for
967
- LinkTargetType entity_type = 3; // Entity type
871
+ reserved 3; // Removed: LinkTargetType entity_type (legacy enum)
872
+ string entity_item_type = 4; // Singular item type as a string (e.g., "issue", "plan")
968
873
  }
969
874
 
970
875
  message ListLinksResponse {
@@ -982,7 +887,7 @@ message GetAvailableLinkTypesRequest {
982
887
  // Information about a link type
983
888
  message LinkTypeInfo {
984
889
  string name = 1; // Link type name (e.g., "blocks")
985
- string inverse = 2; // Inverse link type (e.g., "blocked-by")
890
+ reserved 2; // Removed: inverse (no longer needed — use direction on Link instead)
986
891
  string description = 3; // Optional description
987
892
  bool is_builtin = 4; // Whether this is a built-in type
988
893
  }
@@ -1120,14 +1025,6 @@ message SyncUsersResponse {
1120
1025
 
1121
1026
  // ============ Entity Actions Messages ============
1122
1027
 
1123
- // Entity type for actions
1124
- enum EntityType {
1125
- ENTITY_TYPE_UNSPECIFIED = 0;
1126
- ENTITY_TYPE_ISSUE = 1;
1127
- reserved 2; // Removed: ENTITY_TYPE_PR
1128
- ENTITY_TYPE_DOC = 3;
1129
- }
1130
-
1131
1028
  // Action category for grouping in UI
1132
1029
  enum ActionCategory {
1133
1030
  ACTION_CATEGORY_UNSPECIFIED = 0;
@@ -1151,8 +1048,9 @@ message EntityAction {
1151
1048
  // Request to get available actions for an entity
1152
1049
  message GetEntityActionsRequest {
1153
1050
  string project_path = 1; // Project path for config/state lookup
1154
- EntityType entity_type = 2; // Type of entity (issue, doc)
1051
+ reserved 2; // Removed: EntityType entity_type (legacy enum)
1155
1052
  string entity_id = 3; // Optional: entity ID for contextual actions (empty = general actions like "create")
1053
+ string item_type = 4; // Type of item (e.g., "issues", "docs")
1156
1054
  }
1157
1055
 
1158
1056
  // Response with available actions
@@ -1320,6 +1218,7 @@ message ItemTypeConfigProto {
1320
1218
  repeated CustomFieldDefinition custom_fields = 8;
1321
1219
  string icon = 9; // Optional icon identifier (e.g. "clipboard")
1322
1220
  string template = 10; // Optional template file path
1221
+ bool listed = 11; // Whether this type appears in ListItemTypes responses
1323
1222
  }
1324
1223
 
1325
1224
  message ListItemTypesRequest {
@@ -1379,113 +1278,4 @@ message UnarchiveItemResponse {
1379
1278
  string original_item_type = 4; // The folder the item was restored to
1380
1279
  }
1381
1280
 
1382
- // ============ Organization Issue Messages ============
1383
-
1384
- message OrgIssueMetadata {
1385
- uint32 display_number = 1;
1386
- string status = 2;
1387
- int32 priority = 3;
1388
- string created_at = 4;
1389
- string updated_at = 5;
1390
- map<string, string> custom_fields = 6;
1391
- string priority_label = 7;
1392
- repeated string referenced_projects = 8;
1393
- }
1394
-
1395
- message OrgIssue {
1396
- string id = 1;
1397
- uint32 display_number = 2;
1398
- string title = 3;
1399
- string description = 4;
1400
- OrgIssueMetadata metadata = 5;
1401
- }
1402
-
1403
- message CreateOrgIssueRequest {
1404
- string organization_slug = 1;
1405
- string title = 2;
1406
- string description = 3;
1407
- int32 priority = 4;
1408
- string status = 5;
1409
- map<string, string> custom_fields = 6;
1410
- repeated string referenced_projects = 7;
1411
- }
1412
-
1413
- message CreateOrgIssueResponse {
1414
- bool success = 1;
1415
- string error = 2;
1416
- string id = 3;
1417
- uint32 display_number = 4;
1418
- repeated string created_files = 5;
1419
- }
1420
-
1421
- message GetOrgIssueRequest {
1422
- string organization_slug = 1;
1423
- string issue_id = 2;
1424
- }
1425
-
1426
- message GetOrgIssueByDisplayNumberRequest {
1427
- string organization_slug = 1;
1428
- uint32 display_number = 2;
1429
- }
1430
-
1431
- message ListOrgIssuesRequest {
1432
- string organization_slug = 1;
1433
- string status = 2; // Filter by status (empty = all)
1434
- int32 priority = 3; // Filter by priority (0 = all)
1435
- string referenced_project = 4; // Filter by referenced project path (empty = all)
1436
- }
1437
-
1438
- message ListOrgIssuesResponse {
1439
- repeated OrgIssue issues = 1;
1440
- int32 total_count = 2;
1441
- }
1442
-
1443
- message UpdateOrgIssueRequest {
1444
- string organization_slug = 1;
1445
- string issue_id = 2;
1446
- string title = 3;
1447
- string description = 4;
1448
- string status = 5;
1449
- int32 priority = 6;
1450
- map<string, string> custom_fields = 7;
1451
- repeated string add_referenced_projects = 8;
1452
- repeated string remove_referenced_projects = 9;
1453
- }
1454
-
1455
- message UpdateOrgIssueResponse {
1456
- bool success = 1;
1457
- string error = 2;
1458
- OrgIssue issue = 3;
1459
- }
1460
-
1461
- message DeleteOrgIssueRequest {
1462
- string organization_slug = 1;
1463
- string issue_id = 2;
1464
- }
1465
-
1466
- message DeleteOrgIssueResponse {
1467
- bool success = 1;
1468
- string error = 2;
1469
- }
1470
-
1471
- message OrgConfig {
1472
- uint32 priority_levels = 1;
1473
- repeated CustomFieldDefinition custom_fields = 2;
1474
- }
1475
-
1476
- message GetOrgConfigRequest {
1477
- string organization_slug = 1;
1478
- }
1479
-
1480
- message UpdateOrgConfigRequest {
1481
- string organization_slug = 1;
1482
- uint32 priority_levels = 2;
1483
- repeated CustomFieldDefinition custom_fields = 3;
1484
- }
1485
-
1486
- message UpdateOrgConfigResponse {
1487
- bool success = 1;
1488
- string error = 2;
1489
- OrgConfig config = 3;
1490
- }
1491
1281
 
@@ -7,7 +7,8 @@ message Manifest {
7
7
  int32 schema_version = 1;
8
8
  string centy_version = 2;
9
9
  string created_at = 3;
10
- string updated_at = 4;
10
+ reserved 4;
11
+ reserved "updated_at";
11
12
  }
12
13
 
13
14
  // ============ Generic Item Messages ============
@@ -29,6 +30,8 @@ message GenericItemMetadata {
29
30
  string updated_at = 5; // ISO timestamp
30
31
  string deleted_at = 6; // ISO timestamp when soft-deleted (empty if not deleted)
31
32
  map<string, string> custom_fields = 7; // Custom fields (values are JSON strings)
33
+ repeated string tags = 8; // Free-form tags (e.g. ["bug", "frontend"])
34
+ repeated string projects = 9; // Project slugs this item is associated with (org-wide items only)
32
35
  }
33
36
 
34
37
  message CreateItemRequest {
@@ -39,6 +42,8 @@ message CreateItemRequest {
39
42
  string status = 5; // Initial status (empty = use default)
40
43
  int32 priority = 6; // 0 = use default
41
44
  map<string, string> custom_fields = 7; // Custom fields (values are JSON strings)
45
+ repeated string tags = 8; // Tags to set on create (empty = no tags)
46
+ repeated string projects = 9; // Associated project slugs; len > 1 → written to the org repo
42
47
  }
43
48
 
44
49
  message CreateItemResponse {
@@ -66,6 +71,7 @@ message ListItemsRequest {
66
71
  uint32 limit = 6; // Limit results (0 = no limit)
67
72
  uint32 offset = 7; // Offset for pagination (0 = no offset)
68
73
  string filter = 8; // JSON-encoded MQL query (e.g. {"status":{"$in":["open","in-progress"]}})
74
+ optional bool include_organization_items = 9; // Include organization-wide items for this project (default: true)
69
75
  }
70
76
 
71
77
  message ListItemsResponse {
@@ -84,6 +90,8 @@ message UpdateItemRequest {
84
90
  string status = 6; // Empty = don't update
85
91
  int32 priority = 7; // 0 = don't update
86
92
  map<string, string> custom_fields = 8; // Custom fields to merge (values are JSON strings)
93
+ repeated string tags = 9; // Non-empty = replace tags; empty = don't change
94
+ bool clear_tags = 10; // If true, clear all tags (takes precedence over tags field)
87
95
  }
88
96
 
89
97
  message UpdateItemResponse {
@@ -167,3 +175,20 @@ message SearchItemsResponse {
167
175
  bool success = 4;
168
176
  string error = 5;
169
177
  }
178
+
179
+ // ============ Cross-Project List Messages ============
180
+
181
+ message ListItemsAcrossProjectsRequest {
182
+ string item_type = 1; // Plural type name (e.g., "issues", "docs")
183
+ uint32 limit = 2; // Limit results (0 = no limit)
184
+ uint32 offset = 3; // Offset for pagination (0 = no offset)
185
+ string filter = 4; // JSON-encoded MQL query (same as ListItemsRequest)
186
+ }
187
+
188
+ message ListItemsAcrossProjectsResponse {
189
+ repeated ItemWithProject items = 1;
190
+ int32 total_count = 2; // Total count across all projects (before limit/offset)
191
+ repeated string errors = 3; // Non-fatal errors (e.g., projects that couldn't be accessed)
192
+ bool success = 4;
193
+ string error = 5;
194
+ }
@@ -1,4 +0,0 @@
1
- export declare class CloseEntityError extends Error {
2
- constructor(message: string);
3
- }
4
- //# sourceMappingURL=close-entity-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"close-entity-error.d.ts","sourceRoot":"","sources":["../../../src/lib/close/close-entity-error.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B"}
@@ -1,7 +0,0 @@
1
- export class CloseEntityError extends Error {
2
- constructor(message) {
3
- super(message);
4
- this.name = 'CloseEntityError';
5
- }
6
- }
7
- //# sourceMappingURL=close-entity-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"close-entity-error.js","sourceRoot":"","sources":["../../../src/lib/close/close-entity-error.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF"}
@@ -1,2 +0,0 @@
1
- export declare function closeIssue(projectPath: string, displayNumber: number, jsonOutput: boolean, log: (msg: string) => void): Promise<void>;
2
- //# sourceMappingURL=close-issue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"close-issue.d.ts","sourceRoot":"","sources":["../../../src/lib/close/close-issue.ts"],"names":[],"mappings":"AAIA,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CA2Bf"}
@@ -1,28 +0,0 @@
1
- import { daemonGetIssueByDisplayNumber } from '../../daemon/daemon-get-issue-by-display-number.js';
2
- import { daemonUpdateIssue } from '../../daemon/daemon-update-issue.js';
3
- import { CloseEntityError } from './close-entity-error.js';
4
- export async function closeIssue(projectPath, displayNumber, jsonOutput, log) {
5
- const issue = await daemonGetIssueByDisplayNumber({
6
- projectPath,
7
- displayNumber,
8
- });
9
- const response = await daemonUpdateIssue({
10
- projectPath,
11
- itemId: issue.id,
12
- title: '',
13
- body: '',
14
- status: 'closed',
15
- priority: 0,
16
- customFields: {},
17
- });
18
- if (!response.success) {
19
- throw new CloseEntityError(response.error);
20
- }
21
- if (jsonOutput) {
22
- log(JSON.stringify({ type: 'issue', ...response.item }, null, 2));
23
- return;
24
- }
25
- const meta = response.item !== undefined ? response.item.metadata : undefined;
26
- log(`Closed issue #${meta !== undefined ? meta.displayNumber : 0}`);
27
- }
28
- //# sourceMappingURL=close-issue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"close-issue.js","sourceRoot":"","sources":["../../../src/lib/close/close-issue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,WAAmB,EACnB,aAAqB,EACrB,UAAmB,EACnB,GAA0B;IAE1B,MAAM,KAAK,GAAG,MAAM,6BAA6B,CAAC;QAChD,WAAW;QACX,aAAa;KACd,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,WAAW;QACX,MAAM,EAAE,KAAK,CAAC,EAAE;QAChB,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,CAAC;QACX,YAAY,EAAE,EAAE;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAClE,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IAC7E,GAAG,CAAC,iBAAiB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AACrE,CAAC"}
@@ -1,8 +0,0 @@
1
- export type EntityType = 'issue';
2
- export interface FoundEntity {
3
- type: EntityType;
4
- id: string;
5
- displayNumber: number;
6
- }
7
- export declare function findEntityByDisplayNumber(projectPath: string, displayNumber: number): Promise<FoundEntity[]>;
8
- //# sourceMappingURL=find-entity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-entity.d.ts","sourceRoot":"","sources":["../../../src/lib/close/find-entity.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,OAAO,CAAA;AAEhC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,wBAAsB,yBAAyB,CAC7C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC,CAmBxB"}
@@ -1,21 +0,0 @@
1
- /* eslint-disable single-export/single-export */
2
- import { daemonGetIssueByDisplayNumber } from '../../daemon/daemon-get-issue-by-display-number.js';
3
- export async function findEntityByDisplayNumber(projectPath, displayNumber) {
4
- const foundEntities = [];
5
- try {
6
- const issue = await daemonGetIssueByDisplayNumber({
7
- projectPath,
8
- displayNumber,
9
- });
10
- foundEntities.push({
11
- type: 'issue',
12
- id: issue.id,
13
- displayNumber: issue.metadata !== undefined ? issue.metadata.displayNumber : 0,
14
- });
15
- }
16
- catch {
17
- // Issue not found, continue
18
- }
19
- return foundEntities;
20
- }
21
- //# sourceMappingURL=find-entity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"find-entity.js","sourceRoot":"","sources":["../../../src/lib/close/find-entity.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAUlG,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,WAAmB,EACnB,aAAqB;IAErB,MAAM,aAAa,GAAkB,EAAE,CAAA;IAEvC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,6BAA6B,CAAC;YAChD,WAAW;YACX,aAAa;SACd,CAAC,CAAA;QACF,aAAa,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,aAAa,EACX,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAClE,CAAC,CAAA;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;IAED,OAAO,aAAa,CAAA;AACtB,CAAC"}
@@ -1,6 +0,0 @@
1
- export interface CrossProjectResult {
2
- hint: string | null;
3
- jsonOutput: object | null;
4
- }
5
- export declare function checkCrossProjectDoc(error: unknown, slug: string, jsonMode: boolean): Promise<CrossProjectResult>;
6
- //# sourceMappingURL=cross-project-hint.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-project-hint.d.ts","sourceRoot":"","sources":["../../../src/lib/get-doc/cross-project-hint.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC,CA0B7B"}
@@ -1,27 +0,0 @@
1
- /* eslint-disable single-export/single-export */
2
- import { daemonGetDocsBySlug } from '../../daemon/daemon-get-docs-by-slug.js';
3
- import { formatCrossProjectHint, formatCrossProjectJson, isNotFoundError, } from '../../utils/cross-project-search.js';
4
- export async function checkCrossProjectDoc(error, slug, jsonMode) {
5
- if (!isNotFoundError(error)) {
6
- return { hint: null, jsonOutput: null };
7
- }
8
- const result = await daemonGetDocsBySlug({ slug });
9
- if (result.items.length === 0) {
10
- return { hint: null, jsonOutput: null };
11
- }
12
- const matches = result.items.map(dwp => ({
13
- projectName: dwp.projectName,
14
- projectPath: dwp.projectPath,
15
- }));
16
- if (jsonMode) {
17
- return {
18
- hint: null,
19
- jsonOutput: formatCrossProjectJson('doc', slug, matches),
20
- };
21
- }
22
- return {
23
- hint: formatCrossProjectHint('doc', slug, matches),
24
- jsonOutput: null,
25
- };
26
- }
27
- //# sourceMappingURL=cross-project-hint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cross-project-hint.js","sourceRoot":"","sources":["../../../src/lib/get-doc/cross-project-hint.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAC7E,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,GAChB,MAAM,qCAAqC,CAAA;AAO5C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAc,EACd,IAAY,EACZ,QAAiB;IAEjB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAClD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;IACzC,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAC,CAAC,CAAA;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;SACzD,CAAA;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC;QAClD,UAAU,EAAE,IAAI;KACjB,CAAA;AACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { GenericItem } from '../../daemon/types.js';
2
- export declare function formatDocPlain(doc: GenericItem, log: (msg: string) => void): void;
3
- //# sourceMappingURL=format-doc-output.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"format-doc-output.d.ts","sourceRoot":"","sources":["../../../src/lib/get-doc/format-doc-output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GACzB,IAAI,CAUN"}
@@ -1,8 +0,0 @@
1
- export function formatDocPlain(doc, log) {
2
- log(`Title: ${doc.title}`);
3
- log(`Slug: ${doc.id}`);
4
- log(`Created: ${doc.metadata !== undefined ? doc.metadata.createdAt : 'unknown'}`);
5
- log(`Updated: ${doc.metadata !== undefined ? doc.metadata.updatedAt : 'unknown'}`);
6
- log(`\nContent:\n${doc.body}`);
7
- }
8
- //# sourceMappingURL=format-doc-output.js.map