centy 0.8.1 → 0.8.3

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 +3 -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 +72 -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 +5 -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 +49 -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 +35 -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 +473 -191
  357. package/package.json +3 -3
  358. package/proto/buf.yaml +1 -0
  359. package/proto/centy/v1/centy.proto +46 -239
  360. package/proto/centy/v1/generic_item.proto +27 -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.3",
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
 
@@ -175,6 +131,9 @@ service CentyDaemon {
175
131
  // Get all available link types (builtin + custom)
176
132
  rpc GetAvailableLinkTypes(GetAvailableLinkTypesRequest) returns (GetAvailableLinkTypesResponse);
177
133
 
134
+ // Update an existing link (e.g. change link type)
135
+ rpc UpdateLink(UpdateLinkRequest) returns (UpdateLinkResponse);
136
+
178
137
  // ============ User RPCs ============
179
138
 
180
139
  // Create a new user
@@ -271,6 +230,9 @@ service CentyDaemon {
271
230
 
272
231
  // Search for an item by ID across all tracked projects
273
232
  rpc SearchItems(SearchItemsRequest) returns (SearchItemsResponse);
233
+
234
+ // List items of a given type across all tracked projects, sorted by created_at descending
235
+ rpc ListItemsAcrossProjects(ListItemsAcrossProjectsRequest) returns (ListItemsAcrossProjectsResponse);
274
236
  }
275
237
 
276
238
  // ============ Init Messages ============
@@ -312,38 +274,6 @@ message InitResponse {
312
274
  OrgInferenceResult org_inference = 8;
313
275
  }
314
276
 
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
277
  message ReconciliationDecisions {
348
278
  // Paths of files to restore (from to_restore list)
349
279
  repeated string restore = 1;
@@ -405,8 +335,9 @@ message Config {
405
335
  reserved 9; // Previously: LlmConfig llm (removed)
406
336
  repeated LinkTypeDefinition custom_link_types = 10; // Custom link types (in addition to built-in)
407
337
  string default_editor = 11; // Default editor ID for this project (e.g., "vscode", "terminal", "zed")
408
- repeated HookDefinition hooks = 12; // Lifecycle hooks
338
+ reserved 12; // Previously: repeated HookDefinition hooks (moved to hooks.yaml)
409
339
  WorkspaceConfig workspace = 13; // Workspace settings
340
+ map<string, string> user_values = 14; // User-defined free-form key-value pairs
410
341
  }
411
342
 
412
343
  // Workspace configuration section
@@ -422,19 +353,10 @@ message CustomFieldDefinition {
422
353
  repeated string enum_values = 5; // For enum type
423
354
  }
424
355
 
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
356
  // Custom link type definition (for custom relationship types)
435
357
  message LinkTypeDefinition {
436
358
  string name = 1; // Link type name (e.g., "depends-on")
437
- string inverse = 2; // Inverse link type (e.g., "dependency-of")
359
+ reserved 2; // Removed: inverse (no longer needed — direction field on Link replaces it)
438
360
  string description = 3; // Optional description
439
361
  }
440
362
 
@@ -743,7 +665,7 @@ message DaemonInfo {
743
665
  string version = 1; // Current daemon version (e.g., "0.1.0")
744
666
  reserved 2; // was: repeated string available_versions (removed)
745
667
  string binary_path = 3; // Absolute path to the running daemon binary
746
- bool vscode_available = 4; // Whether VS Code is installed and accessible
668
+ reserved 4; // was: vscode_available (removed)
747
669
  }
748
670
 
749
671
  // ============ Daemon Control Messages ============
@@ -770,19 +692,11 @@ message RestartResponse {
770
692
 
771
693
  // ============ Temp Workspace Messages ============
772
694
 
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
695
  // Request to get supported editors (empty request)
781
696
  message GetSupportedEditorsRequest {}
782
697
 
783
698
  // Information about a supported editor
784
699
  message EditorInfo {
785
- EditorType editor_type = 1; // Editor type enum value (deprecated: use editor_id)
786
700
  string name = 2; // Display name (e.g., "VS Code", "Terminal")
787
701
  string description = 3; // Brief description
788
702
  bool available = 4; // Whether this editor is available on the current system
@@ -911,47 +825,40 @@ message CleanupExpiredWorkspacesResponse {
911
825
 
912
826
  // ============ Link Messages ============
913
827
 
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
828
  // A link between two entities
923
829
  message Link {
924
830
  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")
831
+ reserved 2; // Removed: LinkTargetType target_type (legacy enum)
832
+ string link_type = 3; // Relationship type (e.g., "blocks", "parent-of"); always from source's perspective
927
833
  string created_at = 4; // ISO timestamp when link was created
834
+ string target_item_type = 5; // Singular item type as a string (e.g., "issue", "plan")
835
+ string id = 6; // UUID of the link file (use for deletion)
836
+ string direction = 7; // "source" or "target" — which side the queried entity is on
928
837
  }
929
838
 
930
- // Create a link between two entities (bidirectional - also creates inverse)
839
+ // Create a link between two entities (one file, two response views)
931
840
  message CreateLinkRequest {
932
841
  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
842
+ string source_id = 2; // Source entity ID (UUID or display number)
843
+ reserved 3; // Removed: LinkTargetType source_type (legacy enum)
844
+ string target_id = 4; // Target entity ID (UUID or display number)
845
+ reserved 5; // Removed: LinkTargetType target_type (legacy enum)
937
846
  string link_type = 6; // Link type (e.g., "blocks")
847
+ string source_item_type = 7; // Singular item type as a string (e.g., "issue", "plan")
848
+ string target_item_type = 8; // Singular item type as a string (e.g., "issue", "plan")
938
849
  }
939
850
 
940
851
  message CreateLinkResponse {
941
852
  bool success = 1;
942
853
  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
854
+ Link created_link = 3; // Source's view (direction="source")
855
+ Link inverse_link = 4; // Target's view (direction="target")
945
856
  }
946
857
 
947
- // Delete a link between two entities (also deletes inverse)
858
+ // Delete a link by its UUID
948
859
  message DeleteLinkRequest {
949
860
  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)
861
+ string link_id = 2; // UUID of the link file to delete (from Link.id)
955
862
  }
956
863
 
957
864
  message DeleteLinkResponse {
@@ -964,7 +871,8 @@ message DeleteLinkResponse {
964
871
  message ListLinksRequest {
965
872
  string project_path = 1;
966
873
  string entity_id = 2; // Entity ID to list links for
967
- LinkTargetType entity_type = 3; // Entity type
874
+ reserved 3; // Removed: LinkTargetType entity_type (legacy enum)
875
+ string entity_item_type = 4; // Singular item type as a string (e.g., "issue", "plan")
968
876
  }
969
877
 
970
878
  message ListLinksResponse {
@@ -982,7 +890,7 @@ message GetAvailableLinkTypesRequest {
982
890
  // Information about a link type
983
891
  message LinkTypeInfo {
984
892
  string name = 1; // Link type name (e.g., "blocks")
985
- string inverse = 2; // Inverse link type (e.g., "blocked-by")
893
+ reserved 2; // Removed: inverse (no longer needed — use direction on Link instead)
986
894
  string description = 3; // Optional description
987
895
  bool is_builtin = 4; // Whether this is a built-in type
988
896
  }
@@ -991,6 +899,20 @@ message GetAvailableLinkTypesResponse {
991
899
  repeated LinkTypeInfo link_types = 1;
992
900
  }
993
901
 
902
+ // Update an existing link
903
+ message UpdateLinkRequest {
904
+ string project_path = 1;
905
+ string link_id = 2; // UUID of the link file to update (from Link.id)
906
+ string link_type = 3; // New link type (e.g. "blocks")
907
+ }
908
+
909
+ message UpdateLinkResponse {
910
+ bool success = 1;
911
+ string error = 2;
912
+ Link updated_link = 3; // Source's view after update (direction="source")
913
+ Link inverse_link = 4; // Target's view after update (direction="target")
914
+ }
915
+
994
916
  // ============ User Messages ============
995
917
 
996
918
  // A project user/team member
@@ -1120,14 +1042,6 @@ message SyncUsersResponse {
1120
1042
 
1121
1043
  // ============ Entity Actions Messages ============
1122
1044
 
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
1045
  // Action category for grouping in UI
1132
1046
  enum ActionCategory {
1133
1047
  ACTION_CATEGORY_UNSPECIFIED = 0;
@@ -1151,8 +1065,9 @@ message EntityAction {
1151
1065
  // Request to get available actions for an entity
1152
1066
  message GetEntityActionsRequest {
1153
1067
  string project_path = 1; // Project path for config/state lookup
1154
- EntityType entity_type = 2; // Type of entity (issue, doc)
1068
+ reserved 2; // Removed: EntityType entity_type (legacy enum)
1155
1069
  string entity_id = 3; // Optional: entity ID for contextual actions (empty = general actions like "create")
1070
+ string item_type = 4; // Type of item (e.g., "issues", "docs")
1156
1071
  }
1157
1072
 
1158
1073
  // Response with available actions
@@ -1320,6 +1235,7 @@ message ItemTypeConfigProto {
1320
1235
  repeated CustomFieldDefinition custom_fields = 8;
1321
1236
  string icon = 9; // Optional icon identifier (e.g. "clipboard")
1322
1237
  string template = 10; // Optional template file path
1238
+ bool listed = 11; // Whether this type appears in ListItemTypes responses
1323
1239
  }
1324
1240
 
1325
1241
  message ListItemTypesRequest {
@@ -1379,113 +1295,4 @@ message UnarchiveItemResponse {
1379
1295
  string original_item_type = 4; // The folder the item was restored to
1380
1296
  }
1381
1297
 
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
1298
 
@@ -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,9 @@ 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)
95
+ repeated string projects = 11; // Non-empty = replace projects; empty = don't change
87
96
  }
88
97
 
89
98
  message UpdateItemResponse {
@@ -167,3 +176,20 @@ message SearchItemsResponse {
167
176
  bool success = 4;
168
177
  string error = 5;
169
178
  }
179
+
180
+ // ============ Cross-Project List Messages ============
181
+
182
+ message ListItemsAcrossProjectsRequest {
183
+ string item_type = 1; // Plural type name (e.g., "issues", "docs")
184
+ uint32 limit = 2; // Limit results (0 = no limit)
185
+ uint32 offset = 3; // Offset for pagination (0 = no offset)
186
+ string filter = 4; // JSON-encoded MQL query (same as ListItemsRequest)
187
+ }
188
+
189
+ message ListItemsAcrossProjectsResponse {
190
+ repeated ItemWithProject items = 1;
191
+ int32 total_count = 2; // Total count across all projects (before limit/offset)
192
+ repeated string errors = 3; // Non-fatal errors (e.g., projects that couldn't be accessed)
193
+ bool success = 4;
194
+ string error = 5;
195
+ }
@@ -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"}