centy 0.8.0 → 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.
- package/dist/commands/add/asset.d.ts.map +1 -1
- package/dist/commands/add/asset.js +0 -8
- package/dist/commands/add/asset.js.map +1 -1
- package/dist/commands/close.d.ts.map +1 -1
- package/dist/commands/close.js +2 -6
- package/dist/commands/close.js.map +1 -1
- package/dist/commands/cockpit.d.ts.map +1 -1
- package/dist/commands/cockpit.js +0 -3
- package/dist/commands/cockpit.js.map +1 -1
- package/dist/commands/comment/add.d.ts +19 -0
- package/dist/commands/comment/add.d.ts.map +1 -0
- package/dist/commands/comment/add.js +84 -0
- package/dist/commands/comment/add.js.map +1 -0
- package/dist/commands/comment/delete.d.ts +18 -0
- package/dist/commands/comment/delete.d.ts.map +1 -0
- package/dist/commands/comment/delete.js +80 -0
- package/dist/commands/comment/delete.js.map +1 -0
- package/dist/commands/comment/list.d.ts +17 -0
- package/dist/commands/comment/list.d.ts.map +1 -0
- package/dist/commands/comment/list.js +71 -0
- package/dist/commands/comment/list.js.map +1 -0
- package/dist/commands/comment/update.d.ts +18 -0
- package/dist/commands/comment/update.d.ts.map +1 -0
- package/dist/commands/comment/update.js +71 -0
- package/dist/commands/comment/update.js.map +1 -0
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +11 -20
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +0 -5
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create.d.ts +9 -7
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +10 -39
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/daemon/autostart.d.ts.map +1 -1
- package/dist/commands/daemon/autostart.js +0 -7
- package/dist/commands/daemon/autostart.js.map +1 -1
- package/dist/commands/daemon/status.d.ts.map +1 -1
- package/dist/commands/daemon/status.js +0 -6
- package/dist/commands/daemon/status.js.map +1 -1
- package/dist/commands/delete/asset.d.ts.map +1 -1
- package/dist/commands/delete/asset.js +0 -6
- package/dist/commands/delete/asset.js.map +1 -1
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +0 -6
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/duplicate.d.ts.map +1 -1
- package/dist/commands/duplicate.js +0 -6
- package/dist/commands/duplicate.js.map +1 -1
- package/dist/commands/edit.d.ts +9 -0
- package/dist/commands/edit.d.ts.map +1 -0
- package/dist/commands/edit.js +14 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/get/asset.d.ts.map +1 -1
- package/dist/commands/get/asset.js +0 -9
- package/dist/commands/get/asset.js.map +1 -1
- package/dist/commands/get/project.d.ts.map +1 -1
- package/dist/commands/get/project.js +0 -8
- package/dist/commands/get/project.js.map +1 -1
- package/dist/commands/get.d.ts.map +1 -1
- package/dist/commands/get.js +0 -6
- package/dist/commands/get.js.map +1 -1
- package/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +0 -5
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +0 -6
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/item-type/create.d.ts.map +1 -1
- package/dist/commands/item-type/create.js +0 -6
- package/dist/commands/item-type/create.js.map +1 -1
- package/dist/commands/item-type/list.d.ts.map +1 -1
- package/dist/commands/item-type/list.js +0 -5
- package/dist/commands/item-type/list.js.map +1 -1
- package/dist/commands/link.d.ts.map +1 -1
- package/dist/commands/link.js +2 -10
- package/dist/commands/link.js.map +1 -1
- package/dist/commands/links.d.ts.map +1 -1
- package/dist/commands/links.js +2 -9
- package/dist/commands/links.js.map +1 -1
- package/dist/commands/list/assets.d.ts.map +1 -1
- package/dist/commands/list/assets.js +0 -6
- package/dist/commands/list/assets.js.map +1 -1
- package/dist/commands/list/items.d.ts +22 -0
- package/dist/commands/list/items.d.ts.map +1 -0
- package/dist/commands/list/items.js +86 -0
- package/dist/commands/list/items.js.map +1 -0
- package/dist/commands/list/link-types.d.ts.map +1 -1
- package/dist/commands/list/link-types.js +1 -6
- package/dist/commands/list/link-types.js.map +1 -1
- package/dist/commands/list/projects.d.ts.map +1 -1
- package/dist/commands/list/projects.js +0 -6
- package/dist/commands/list/projects.js.map +1 -1
- package/dist/commands/list.d.ts +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +25 -53
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/llm.d.ts.map +1 -1
- package/dist/commands/llm.js +1 -8
- package/dist/commands/llm.js.map +1 -1
- package/dist/commands/manifest.d.ts.map +1 -1
- package/dist/commands/manifest.js +0 -6
- package/dist/commands/manifest.js.map +1 -1
- package/dist/commands/move.d.ts.map +1 -1
- package/dist/commands/move.js +0 -6
- package/dist/commands/move.js.map +1 -1
- package/dist/commands/next.d.ts +19 -0
- package/dist/commands/next.d.ts.map +1 -0
- package/dist/commands/next.js +58 -0
- package/dist/commands/next.js.map +1 -0
- package/dist/commands/org/create.d.ts.map +1 -1
- package/dist/commands/org/create.js +0 -6
- package/dist/commands/org/create.js.map +1 -1
- package/dist/commands/org/delete.d.ts.map +1 -1
- package/dist/commands/org/delete.js +1 -7
- package/dist/commands/org/delete.js.map +1 -1
- package/dist/commands/org/get.d.ts.map +1 -1
- package/dist/commands/org/get.js +0 -7
- package/dist/commands/org/get.js.map +1 -1
- package/dist/commands/org/list.d.ts.map +1 -1
- package/dist/commands/org/list.js +0 -6
- package/dist/commands/org/list.js.map +1 -1
- package/dist/commands/org/update.d.ts.map +1 -1
- package/dist/commands/org/update.js +0 -7
- package/dist/commands/org/update.js.map +1 -1
- package/dist/commands/project/archive.d.ts.map +1 -1
- package/dist/commands/project/archive.js +0 -7
- package/dist/commands/project/archive.js.map +1 -1
- package/dist/commands/project/favorite.d.ts.map +1 -1
- package/dist/commands/project/favorite.js +0 -7
- package/dist/commands/project/favorite.js.map +1 -1
- package/dist/commands/project/org.d.ts.map +1 -1
- package/dist/commands/project/org.js +0 -9
- package/dist/commands/project/org.js.map +1 -1
- package/dist/commands/project/title.d.ts.map +1 -1
- package/dist/commands/project/title.js +0 -8
- package/dist/commands/project/title.js.map +1 -1
- package/dist/commands/register/project.d.ts.map +1 -1
- package/dist/commands/register/project.js +1 -7
- package/dist/commands/register/project.js.map +1 -1
- package/dist/commands/restart.d.ts.map +1 -1
- package/dist/commands/restart.js +0 -6
- package/dist/commands/restart.js.map +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +0 -6
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +0 -3
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/shutdown.d.ts.map +1 -1
- package/dist/commands/shutdown.js +0 -6
- package/dist/commands/shutdown.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +1 -6
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/sync/users.d.ts.map +1 -1
- package/dist/commands/sync/users.js +0 -5
- package/dist/commands/sync/users.js.map +1 -1
- package/dist/commands/unlink.d.ts +2 -5
- package/dist/commands/unlink.d.ts.map +1 -1
- package/dist/commands/unlink.js +9 -38
- package/dist/commands/unlink.js.map +1 -1
- package/dist/commands/untrack/org.d.ts +17 -0
- package/dist/commands/untrack/org.d.ts.map +1 -0
- package/dist/commands/untrack/org.js +77 -0
- package/dist/commands/untrack/org.js.map +1 -0
- package/dist/commands/untrack/project.d.ts.map +1 -1
- package/dist/commands/untrack/project.js +0 -7
- package/dist/commands/untrack/project.js.map +1 -1
- package/dist/commands/update.d.ts +10 -7
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +13 -33
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/user/create.d.ts.map +1 -1
- package/dist/commands/user/create.js +0 -5
- package/dist/commands/user/create.js.map +1 -1
- package/dist/commands/user/delete.d.ts.map +1 -1
- package/dist/commands/user/delete.js +0 -7
- package/dist/commands/user/delete.js.map +1 -1
- package/dist/commands/user/list.d.ts.map +1 -1
- package/dist/commands/user/list.js +0 -6
- package/dist/commands/user/list.js.map +1 -1
- package/dist/commands/user/update.d.ts.map +1 -1
- package/dist/commands/user/update.js +0 -7
- package/dist/commands/user/update.js.map +1 -1
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +0 -5
- package/dist/commands/version.js.map +1 -1
- package/dist/commands/workspace/cleanup.d.ts.map +1 -1
- package/dist/commands/workspace/cleanup.js +0 -4
- package/dist/commands/workspace/cleanup.js.map +1 -1
- package/dist/commands/workspace/close.d.ts.map +1 -1
- package/dist/commands/workspace/close.js +0 -6
- package/dist/commands/workspace/close.js.map +1 -1
- package/dist/commands/workspace/list.d.ts.map +1 -1
- package/dist/commands/workspace/list.js +0 -6
- package/dist/commands/workspace/list.js.map +1 -1
- package/dist/commands/workspace/new.d.ts.map +1 -1
- package/dist/commands/workspace/new.js +12 -10
- package/dist/commands/workspace/new.js.map +1 -1
- package/dist/commands/workspace/open.d.ts.map +1 -1
- package/dist/commands/workspace/open.js +13 -13
- package/dist/commands/workspace/open.js.map +1 -1
- package/dist/daemon/check-daemon-connection.d.ts.map +1 -1
- package/dist/daemon/check-daemon-connection.js +18 -13
- package/dist/daemon/check-daemon-connection.js.map +1 -1
- package/dist/daemon/daemon-control-service.d.ts.map +1 -1
- package/dist/daemon/daemon-control-service.js +2 -5
- package/dist/daemon/daemon-control-service.js.map +1 -1
- package/dist/daemon/daemon-duplicate-doc.d.ts +2 -2
- package/dist/daemon/daemon-duplicate-doc.d.ts.map +1 -1
- package/dist/daemon/daemon-duplicate-doc.js +4 -1
- package/dist/daemon/daemon-duplicate-doc.js.map +1 -1
- package/dist/daemon/daemon-duplicate-issue.d.ts +2 -2
- package/dist/daemon/daemon-duplicate-issue.d.ts.map +1 -1
- package/dist/daemon/daemon-duplicate-issue.js +4 -1
- package/dist/daemon/daemon-duplicate-issue.js.map +1 -1
- package/dist/daemon/daemon-get-doc.d.ts +2 -2
- package/dist/daemon/daemon-get-doc.d.ts.map +1 -1
- package/dist/daemon/daemon-get-doc.js +6 -3
- package/dist/daemon/daemon-get-doc.js.map +1 -1
- package/dist/daemon/daemon-get-docs-by-slug.d.ts +4 -2
- package/dist/daemon/daemon-get-docs-by-slug.d.ts.map +1 -1
- package/dist/daemon/daemon-get-docs-by-slug.js +4 -1
- package/dist/daemon/daemon-get-docs-by-slug.js.map +1 -1
- package/dist/daemon/daemon-get-issue-by-display-number.d.ts +5 -2
- package/dist/daemon/daemon-get-issue-by-display-number.d.ts.map +1 -1
- package/dist/daemon/daemon-get-issue-by-display-number.js +8 -3
- package/dist/daemon/daemon-get-issue-by-display-number.js.map +1 -1
- package/dist/daemon/daemon-get-issue.d.ts +2 -2
- package/dist/daemon/daemon-get-issue.d.ts.map +1 -1
- package/dist/daemon/daemon-get-issue.js +6 -3
- package/dist/daemon/daemon-get-issue.js.map +1 -1
- package/dist/daemon/daemon-get-issues-by-uuid.d.ts +4 -2
- package/dist/daemon/daemon-get-issues-by-uuid.d.ts.map +1 -1
- package/dist/daemon/daemon-get-issues-by-uuid.js +4 -1
- package/dist/daemon/daemon-get-issues-by-uuid.js.map +1 -1
- package/dist/daemon/daemon-get-project-version.d.ts.map +1 -1
- package/dist/daemon/daemon-get-project-version.js +0 -1
- package/dist/daemon/daemon-get-project-version.js.map +1 -1
- package/dist/daemon/daemon-list-docs.d.ts +2 -2
- package/dist/daemon/daemon-list-docs.d.ts.map +1 -1
- package/dist/daemon/daemon-list-docs.js +4 -1
- package/dist/daemon/daemon-list-docs.js.map +1 -1
- package/dist/daemon/daemon-list-issues.d.ts +2 -2
- package/dist/daemon/daemon-list-issues.d.ts.map +1 -1
- package/dist/daemon/daemon-list-issues.js +4 -1
- package/dist/daemon/daemon-list-issues.js.map +1 -1
- package/dist/daemon/daemon-list-items-across-projects.d.ts +6 -0
- package/dist/daemon/daemon-list-items-across-projects.d.ts.map +1 -0
- package/dist/daemon/daemon-list-items-across-projects.js +9 -0
- package/dist/daemon/daemon-list-items-across-projects.js.map +1 -0
- package/dist/daemon/daemon-list-items-globally.d.ts +6 -0
- package/dist/daemon/daemon-list-items-globally.d.ts.map +1 -0
- package/dist/daemon/daemon-list-items-globally.js +22 -0
- package/dist/daemon/daemon-list-items-globally.js.map +1 -0
- package/dist/daemon/daemon-move-doc.d.ts +2 -2
- package/dist/daemon/daemon-move-doc.d.ts.map +1 -1
- package/dist/daemon/daemon-move-doc.js +4 -1
- package/dist/daemon/daemon-move-doc.js.map +1 -1
- package/dist/daemon/daemon-move-issue.d.ts +2 -2
- package/dist/daemon/daemon-move-issue.d.ts.map +1 -1
- package/dist/daemon/daemon-move-issue.js +4 -1
- package/dist/daemon/daemon-move-issue.js.map +1 -1
- package/dist/daemon/daemon-update-doc.d.ts +2 -2
- package/dist/daemon/daemon-update-doc.d.ts.map +1 -1
- package/dist/daemon/daemon-update-doc.js +4 -1
- package/dist/daemon/daemon-update-doc.js.map +1 -1
- package/dist/daemon/daemon-update-issue.d.ts +2 -2
- package/dist/daemon/daemon-update-issue.d.ts.map +1 -1
- package/dist/daemon/daemon-update-issue.js +4 -1
- package/dist/daemon/daemon-update-issue.js.map +1 -1
- package/dist/daemon/generated/centy/v1/centy.d.ts +164 -640
- package/dist/daemon/generated/centy/v1/centy.d.ts.map +1 -1
- package/dist/daemon/generated/centy/v1/centy.js +0 -42
- package/dist/daemon/generated/centy/v1/centy.js.map +1 -1
- package/dist/daemon/generated/centy/v1/generic_item.d.ts +56 -98
- package/dist/daemon/generated/centy/v1/generic_item.d.ts.map +1 -1
- package/dist/daemon/generated/centy/v1/generic_item.js +1 -13
- package/dist/daemon/generated/centy/v1/generic_item.js.map +1 -1
- package/dist/daemon/grpc-client-data.d.ts +2 -11
- package/dist/daemon/grpc-client-data.d.ts.map +1 -1
- package/dist/daemon/grpc-client-extended.d.ts +1 -3
- package/dist/daemon/grpc-client-extended.d.ts.map +1 -1
- package/dist/daemon/grpc-client-init.d.ts +2 -12
- package/dist/daemon/grpc-client-init.d.ts.map +1 -1
- package/dist/daemon/grpc-client-items.d.ts +3 -2
- package/dist/daemon/grpc-client-items.d.ts.map +1 -1
- package/dist/daemon/grpc-config.d.ts.map +1 -1
- package/dist/daemon/grpc-config.js.map +1 -1
- package/dist/daemon/grpc-utils.d.ts.map +1 -1
- package/dist/daemon/grpc-utils.js +0 -1
- package/dist/daemon/grpc-utils.js.map +1 -1
- package/dist/daemon/load-proto.d.ts.map +1 -1
- package/dist/daemon/load-proto.js +11 -7
- package/dist/daemon/load-proto.js.map +1 -1
- package/dist/daemon/parse-error-response.d.ts.map +1 -1
- package/dist/daemon/parse-error-response.js +4 -3
- package/dist/daemon/parse-error-response.js.map +1 -1
- package/dist/daemon/types/feature.d.ts +2 -2
- package/dist/daemon/types/feature.d.ts.map +1 -1
- package/dist/daemon/types/feature.js +0 -1
- package/dist/daemon/types/feature.js.map +1 -1
- package/dist/daemon/types/global-search.d.ts.map +1 -1
- package/dist/daemon/types/global-search.js +0 -1
- package/dist/daemon/types/global-search.js.map +1 -1
- package/dist/daemon/types/reconciliation.d.ts +19 -0
- package/dist/daemon/types/reconciliation.d.ts.map +1 -0
- package/dist/daemon/types/reconciliation.js +2 -0
- package/dist/daemon/types/reconciliation.js.map +1 -0
- package/dist/daemon/types.d.ts +1 -0
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/daemon/types.js +1 -0
- package/dist/daemon/types.js.map +1 -1
- package/dist/flags/create-flags.d.ts +12 -0
- package/dist/flags/create-flags.d.ts.map +1 -0
- package/dist/flags/create-flags.js +42 -0
- package/dist/flags/create-flags.js.map +1 -0
- package/dist/flags/update-flags.d.ts +13 -0
- package/dist/flags/update-flags.d.ts.map +1 -0
- package/dist/flags/update-flags.js +39 -0
- package/dist/flags/update-flags.js.map +1 -0
- package/dist/help.d.ts +6 -1
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +20 -1
- package/dist/help.js.map +1 -1
- package/dist/hooks/postrun.d.ts.map +1 -1
- package/dist/hooks/postrun.js +1 -4
- package/dist/hooks/postrun.js.map +1 -1
- package/dist/hooks/prerun.d.ts.map +1 -1
- package/dist/hooks/prerun.js +0 -1
- package/dist/hooks/prerun.js.map +1 -1
- package/dist/lib/assert/assert-initialized.d.ts.map +1 -1
- package/dist/lib/assert/assert-initialized.js +0 -1
- package/dist/lib/assert/assert-initialized.js.map +1 -1
- package/dist/lib/autostart/launchd.d.ts.map +1 -1
- package/dist/lib/autostart/launchd.js +0 -10
- package/dist/lib/autostart/launchd.js.map +1 -1
- package/dist/lib/compact/apply-llm-response.d.ts.map +1 -1
- package/dist/lib/compact/apply-llm-response.js +0 -2
- package/dist/lib/compact/apply-llm-response.js.map +1 -1
- package/dist/lib/compact/format-dry-run.d.ts +2 -2
- package/dist/lib/compact/format-dry-run.d.ts.map +1 -1
- package/dist/lib/compact/format-dry-run.js +2 -1
- package/dist/lib/compact/format-dry-run.js.map +1 -1
- package/dist/lib/compact/mark-issues.d.ts.map +1 -1
- package/dist/lib/compact/mark-issues.js +0 -1
- package/dist/lib/compact/mark-issues.js.map +1 -1
- package/dist/lib/compact/parse-llm-response.d.ts.map +1 -1
- package/dist/lib/compact/parse-llm-response.js +0 -1
- package/dist/lib/compact/parse-llm-response.js.map +1 -1
- package/dist/lib/compact/save-results.d.ts.map +1 -1
- package/dist/lib/compact/save-results.js +0 -1
- package/dist/lib/compact/save-results.js.map +1 -1
- package/dist/lib/create-item-type/features.d.ts.map +1 -1
- package/dist/lib/create-item-type/features.js +2 -1
- package/dist/lib/create-item-type/features.js.map +1 -1
- package/dist/lib/find-binary/find-binary.d.ts.map +1 -1
- package/dist/lib/find-binary/find-binary.js +1 -6
- package/dist/lib/find-binary/find-binary.js.map +1 -1
- package/dist/lib/find-binary/get-search-paths.d.ts.map +1 -1
- package/dist/lib/find-binary/get-search-paths.js +1 -2
- package/dist/lib/find-binary/get-search-paths.js.map +1 -1
- package/dist/lib/get-issue/handle-global-search.d.ts +2 -2
- package/dist/lib/get-issue/handle-global-search.d.ts.map +1 -1
- package/dist/lib/get-issue/handle-global-search.js +7 -7
- package/dist/lib/get-issue/handle-global-search.js.map +1 -1
- package/dist/lib/init/gather-decisions.d.ts.map +1 -1
- package/dist/lib/init/gather-decisions.js +0 -1
- package/dist/lib/init/gather-decisions.js.map +1 -1
- package/dist/lib/init/init.d.ts +0 -1
- package/dist/lib/init/init.d.ts.map +1 -1
- package/dist/lib/init/init.js +4 -8
- package/dist/lib/init/init.js.map +1 -1
- package/dist/lib/init/type-converters.d.ts.map +1 -1
- package/dist/lib/init/type-converters.js +0 -1
- package/dist/lib/init/type-converters.js.map +1 -1
- package/dist/lib/install-daemon/extract.d.ts +3 -0
- package/dist/lib/install-daemon/extract.d.ts.map +1 -1
- package/dist/lib/install-daemon/extract.js +7 -4
- package/dist/lib/install-daemon/extract.js.map +1 -1
- package/dist/lib/install-daemon/make-executable.d.ts.map +1 -1
- package/dist/lib/install-daemon/make-executable.js +0 -1
- package/dist/lib/install-daemon/make-executable.js.map +1 -1
- package/dist/lib/install-daemon/platform.d.ts.map +1 -1
- package/dist/lib/install-daemon/platform.js +0 -1
- package/dist/lib/install-daemon/platform.js.map +1 -1
- package/dist/lib/install-script-url.d.ts.map +1 -1
- package/dist/lib/install-script-url.js +4 -6
- package/dist/lib/install-script-url.js.map +1 -1
- package/dist/lib/launch-tui/tui-binary-exists.js +0 -1
- package/dist/lib/launch-tui/tui-binary-exists.js.map +1 -1
- package/dist/lib/launch-tui-manager/tui-manager-binary-exists.js +0 -1
- package/dist/lib/launch-tui-manager/tui-manager-binary-exists.js.map +1 -1
- package/dist/lib/list-items/format-item-line.d.ts +6 -0
- package/dist/lib/list-items/format-item-line.d.ts.map +1 -0
- package/dist/lib/list-items/format-item-line.js +13 -0
- package/dist/lib/list-items/format-item-line.js.map +1 -0
- package/dist/lib/list-items/handle-global-list.d.ts +2 -0
- package/dist/lib/list-items/handle-global-list.d.ts.map +1 -0
- package/dist/lib/list-items/handle-global-list.js +44 -0
- package/dist/lib/list-items/handle-global-list.js.map +1 -0
- package/dist/lib/list-items/handle-project-list.d.ts +2 -0
- package/dist/lib/list-items/handle-project-list.d.ts.map +1 -0
- package/dist/lib/list-items/handle-project-list.js +44 -0
- package/dist/lib/list-items/handle-project-list.js.map +1 -0
- package/dist/lib/list-items/run-global-list.d.ts +4 -0
- package/dist/lib/list-items/run-global-list.d.ts.map +1 -0
- package/dist/lib/list-items/run-global-list.js +36 -0
- package/dist/lib/list-items/run-global-list.js.map +1 -0
- package/dist/lib/next-item/handle-global-next.d.ts +2 -0
- package/dist/lib/next-item/handle-global-next.d.ts.map +1 -0
- package/dist/lib/next-item/handle-global-next.js +24 -0
- package/dist/lib/next-item/handle-global-next.js.map +1 -0
- package/dist/lib/next-item/handle-project-next.d.ts +2 -0
- package/dist/lib/next-item/handle-project-next.d.ts.map +1 -0
- package/dist/lib/next-item/handle-project-next.js +43 -0
- package/dist/lib/next-item/handle-project-next.js.map +1 -0
- package/dist/lib/start/daemon-binary-exists.js +0 -1
- package/dist/lib/start/daemon-binary-exists.js.map +1 -1
- package/dist/utils/apply-link-flags.d.ts +10 -0
- package/dist/utils/apply-link-flags.d.ts.map +1 -0
- package/dist/utils/apply-link-flags.js +35 -0
- package/dist/utils/apply-link-flags.js.map +1 -0
- package/dist/utils/cross-project-search.d.ts +0 -4
- package/dist/utils/cross-project-search.d.ts.map +1 -1
- package/dist/utils/cross-project-search.js +0 -4
- package/dist/utils/cross-project-search.js.map +1 -1
- package/dist/utils/parse-custom-fields.d.ts.map +1 -1
- package/dist/utils/parse-custom-fields.js +1 -2
- package/dist/utils/parse-custom-fields.js.map +1 -1
- package/dist/utils/process-timeout-config.d.ts +0 -4
- package/dist/utils/process-timeout-config.d.ts.map +1 -1
- package/dist/utils/process-timeout-config.js +0 -5
- package/dist/utils/process-timeout-config.js.map +1 -1
- package/dist/utils/resolve-project-path.d.ts.map +1 -1
- package/dist/utils/resolve-project-path.js +6 -3
- package/dist/utils/resolve-project-path.js.map +1 -1
- package/oclif.manifest.json +655 -126
- package/package.json +3 -3
- package/proto/.husky/pre-commit +1 -0
- package/proto/README.md +19 -0
- package/proto/buf.yaml +1 -0
- package/proto/centy/v1/centy.proto +169 -666
- package/proto/centy/v1/generic_item.proto +47 -84
- package/proto/cspell.json +5 -0
- package/proto/package.json +11 -0
- package/proto/pnpm-lock.yaml +833 -0
- package/dist/daemon/daemon-get-next-issue-number.d.ts +0 -6
- package/dist/daemon/daemon-get-next-issue-number.d.ts.map +0 -1
- package/dist/daemon/daemon-get-next-issue-number.js +0 -9
- package/dist/daemon/daemon-get-next-issue-number.js.map +0 -1
- package/dist/lib/close/close-entity-error.d.ts +0 -4
- package/dist/lib/close/close-entity-error.d.ts.map +0 -1
- package/dist/lib/close/close-entity-error.js +0 -7
- package/dist/lib/close/close-entity-error.js.map +0 -1
- package/dist/lib/close/close-issue.d.ts +0 -2
- package/dist/lib/close/close-issue.d.ts.map +0 -1
- package/dist/lib/close/close-issue.js +0 -27
- package/dist/lib/close/close-issue.js.map +0 -1
- package/dist/lib/close/find-entity.d.ts +0 -8
- package/dist/lib/close/find-entity.d.ts.map +0 -1
- package/dist/lib/close/find-entity.js +0 -21
- package/dist/lib/close/find-entity.js.map +0 -1
- package/dist/lib/get-doc/cross-project-hint.d.ts +0 -6
- package/dist/lib/get-doc/cross-project-hint.d.ts.map +0 -1
- package/dist/lib/get-doc/cross-project-hint.js +0 -27
- package/dist/lib/get-doc/cross-project-hint.js.map +0 -1
- package/dist/lib/get-doc/format-doc-output.d.ts +0 -3
- package/dist/lib/get-doc/format-doc-output.d.ts.map +0 -1
- package/dist/lib/get-doc/format-doc-output.js +0 -8
- package/dist/lib/get-doc/format-doc-output.js.map +0 -1
- package/dist/lib/get-doc/handle-global-search.d.ts +0 -3
- package/dist/lib/get-doc/handle-global-search.d.ts.map +0 -1
- package/dist/lib/get-doc/handle-global-search.js +0 -33
- package/dist/lib/get-doc/handle-global-search.js.map +0 -1
- package/dist/lib/get-doc/handle-not-initialized.d.ts +0 -6
- package/dist/lib/get-doc/handle-not-initialized.d.ts.map +0 -1
- package/dist/lib/get-doc/handle-not-initialized.js +0 -21
- package/dist/lib/get-doc/handle-not-initialized.js.map +0 -1
- package/dist/lib/get-issue/cross-project-hint.d.ts +0 -6
- package/dist/lib/get-issue/cross-project-hint.d.ts.map +0 -1
- package/dist/lib/get-issue/cross-project-hint.js +0 -27
- package/dist/lib/get-issue/cross-project-hint.js.map +0 -1
- package/dist/lib/get-issue/format-issue-output.d.ts +0 -3
- package/dist/lib/get-issue/format-issue-output.d.ts.map +0 -1
- package/dist/lib/get-issue/format-issue-output.js +0 -14
- package/dist/lib/get-issue/format-issue-output.js.map +0 -1
- package/dist/lib/get-issue/handle-not-initialized.d.ts +0 -6
- package/dist/lib/get-issue/handle-not-initialized.d.ts.map +0 -1
- package/dist/lib/get-issue/handle-not-initialized.js +0 -22
- package/dist/lib/get-issue/handle-not-initialized.js.map +0 -1
- package/dist/lib/init/config-builder.d.ts +0 -9
- package/dist/lib/init/config-builder.d.ts.map +0 -1
- package/dist/lib/init/config-builder.js +0 -27
- package/dist/lib/init/config-builder.js.map +0 -1
- package/dist/lib/show/format-results.d.ts +0 -3
- package/dist/lib/show/format-results.d.ts.map +0 -1
- package/dist/lib/show/format-results.js +0 -19
- package/dist/lib/show/format-results.js.map +0 -1
- package/dist/lib/show/search-entities.d.ts +0 -6
- package/dist/lib/show/search-entities.d.ts.map +0 -1
- package/dist/lib/show/search-entities.js +0 -7
- package/dist/lib/show/search-entities.js.map +0 -1
- package/dist/utils/format-cross-project-hint.d.ts +0 -9
- package/dist/utils/format-cross-project-hint.d.ts.map +0 -1
- package/dist/utils/format-cross-project-hint.js +0 -17
- package/dist/utils/format-cross-project-hint.js.map +0 -1
- package/dist/utils/format-cross-project-json.d.ts +0 -9
- package/dist/utils/format-cross-project-json.d.ts.map +0 -1
- package/dist/utils/format-cross-project-json.js +0 -16
- package/dist/utils/format-cross-project-json.js.map +0 -1
- package/dist/utils/handle-not-initialized-with-search.d.ts +0 -31
- package/dist/utils/handle-not-initialized-with-search.d.ts.map +0 -1
- package/dist/utils/handle-not-initialized-with-search.js +0 -39
- package/dist/utils/handle-not-initialized-with-search.js.map +0 -1
- package/dist/utils/is-not-found-error.d.ts +0 -5
- package/dist/utils/is-not-found-error.d.ts.map +0 -1
- package/dist/utils/is-not-found-error.js +0 -16
- package/dist/utils/is-not-found-error.js.map +0 -1
|
@@ -9,51 +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
|
-
// Deprecated: Use CreateItem with item_type="issues" instead.
|
|
19
|
-
rpc CreateIssue(CreateIssueRequest) returns (CreateIssueResponse);
|
|
20
|
-
|
|
21
|
-
// Deprecated: Use GetItem with item_type="issues" instead.
|
|
22
|
-
rpc GetIssue(GetIssueRequest) returns (GetIssueResponse);
|
|
23
|
-
|
|
24
|
-
// Get a single issue by display number (human-readable number like 1, 2, 3)
|
|
25
|
-
rpc GetIssueByDisplayNumber(GetIssueByDisplayNumberRequest) returns (GetIssueResponse);
|
|
26
|
-
|
|
27
|
-
// Get issues by UUID across all tracked projects (global search)
|
|
28
|
-
rpc GetIssuesByUuid(GetIssuesByUuidRequest) returns (GetIssuesByUuidResponse);
|
|
29
|
-
|
|
30
|
-
// Deprecated: Use ListItems with item_type="issues" instead.
|
|
31
|
-
rpc ListIssues(ListIssuesRequest) returns (ListIssuesResponse);
|
|
32
|
-
|
|
33
|
-
// Advanced issue search with query language
|
|
34
|
-
rpc AdvancedSearch(AdvancedSearchRequest) returns (AdvancedSearchResponse);
|
|
35
|
-
|
|
36
|
-
// Deprecated: Use UpdateItem with item_type="issues" instead.
|
|
37
|
-
rpc UpdateIssue(UpdateIssueRequest) returns (UpdateIssueResponse);
|
|
38
|
-
|
|
39
|
-
// Deprecated: Use DeleteItem with item_type="issues" instead.
|
|
40
|
-
rpc DeleteIssue(DeleteIssueRequest) returns (DeleteIssueResponse);
|
|
41
|
-
|
|
42
|
-
// Deprecated: Use SoftDeleteItem with item_type="issues" instead.
|
|
43
|
-
rpc SoftDeleteIssue(SoftDeleteIssueRequest) returns (SoftDeleteIssueResponse);
|
|
44
|
-
|
|
45
|
-
// Deprecated: Use RestoreItem with item_type="issues" instead.
|
|
46
|
-
rpc RestoreIssue(RestoreIssueRequest) returns (RestoreIssueResponse);
|
|
47
|
-
|
|
48
|
-
// Move an issue to another project
|
|
49
|
-
rpc MoveIssue(MoveIssueRequest) returns (MoveIssueResponse);
|
|
50
|
-
|
|
51
|
-
// Duplicate an issue (same project or different project)
|
|
52
|
-
rpc DuplicateIssue(DuplicateIssueRequest) returns (DuplicateIssueResponse);
|
|
53
|
-
|
|
54
|
-
// Get the next issue number
|
|
55
|
-
rpc GetNextIssueNumber(GetNextIssueNumberRequest) returns (GetNextIssueNumberResponse);
|
|
56
|
-
|
|
57
12
|
// Read the manifest
|
|
58
13
|
rpc GetManifest(GetManifestRequest) returns (GetManifestResponse);
|
|
59
14
|
|
|
@@ -66,38 +21,6 @@ service CentyDaemon {
|
|
|
66
21
|
// Check if centy is initialized in a directory
|
|
67
22
|
rpc IsInitialized(IsInitializedRequest) returns (IsInitializedResponse);
|
|
68
23
|
|
|
69
|
-
// ============ Doc RPCs ============
|
|
70
|
-
|
|
71
|
-
// Deprecated: Use CreateItem with item_type="docs" instead.
|
|
72
|
-
rpc CreateDoc(CreateDocRequest) returns (CreateDocResponse);
|
|
73
|
-
|
|
74
|
-
// Deprecated: Use GetItem with item_type="docs" instead.
|
|
75
|
-
rpc GetDoc(GetDocRequest) returns (GetDocResponse);
|
|
76
|
-
|
|
77
|
-
// Get docs by slug across all tracked projects (global search)
|
|
78
|
-
rpc GetDocsBySlug(GetDocsBySlugRequest) returns (GetDocsBySlugResponse);
|
|
79
|
-
|
|
80
|
-
// Deprecated: Use ListItems with item_type="docs" instead.
|
|
81
|
-
rpc ListDocs(ListDocsRequest) returns (ListDocsResponse);
|
|
82
|
-
|
|
83
|
-
// Deprecated: Use UpdateItem with item_type="docs" instead.
|
|
84
|
-
rpc UpdateDoc(UpdateDocRequest) returns (UpdateDocResponse);
|
|
85
|
-
|
|
86
|
-
// Deprecated: Use DeleteItem with item_type="docs" instead.
|
|
87
|
-
rpc DeleteDoc(DeleteDocRequest) returns (DeleteDocResponse);
|
|
88
|
-
|
|
89
|
-
// Deprecated: Use SoftDeleteItem with item_type="docs" instead.
|
|
90
|
-
rpc SoftDeleteDoc(SoftDeleteDocRequest) returns (SoftDeleteDocResponse);
|
|
91
|
-
|
|
92
|
-
// Deprecated: Use RestoreItem with item_type="docs" instead.
|
|
93
|
-
rpc RestoreDoc(RestoreDocRequest) returns (RestoreDocResponse);
|
|
94
|
-
|
|
95
|
-
// Move a doc to another project
|
|
96
|
-
rpc MoveDoc(MoveDocRequest) returns (MoveDocResponse);
|
|
97
|
-
|
|
98
|
-
// Duplicate a doc (same project or different project)
|
|
99
|
-
rpc DuplicateDoc(DuplicateDocRequest) returns (DuplicateDocResponse);
|
|
100
|
-
|
|
101
24
|
// ============ Asset RPCs ============
|
|
102
25
|
|
|
103
26
|
// Add an asset to an issue or as a shared asset
|
|
@@ -185,21 +108,6 @@ service CentyDaemon {
|
|
|
185
108
|
// Open a standalone workspace with a configurable editor (not tied to an issue)
|
|
186
109
|
rpc OpenStandaloneWorkspace(OpenStandaloneWorkspaceWithEditorRequest) returns (OpenStandaloneWorkspaceResponse);
|
|
187
110
|
|
|
188
|
-
// Open a project in a temporary VS Code workspace (deprecated: use OpenInTempWorkspace)
|
|
189
|
-
rpc OpenInTempVscode(OpenInTempWorkspaceRequest) returns (OpenInTempWorkspaceResponse);
|
|
190
|
-
|
|
191
|
-
// Open a project in a temporary terminal workspace (deprecated: use OpenInTempWorkspace)
|
|
192
|
-
rpc OpenInTempTerminal(OpenInTempWorkspaceRequest) returns (OpenInTempWorkspaceResponse);
|
|
193
|
-
|
|
194
|
-
// Open an agent in a terminal for working on an issue
|
|
195
|
-
rpc OpenAgentInTerminal(OpenAgentInTerminalRequest) returns (OpenAgentInTerminalResponse);
|
|
196
|
-
|
|
197
|
-
// Open a standalone workspace in VS Code (deprecated: use OpenStandaloneWorkspace)
|
|
198
|
-
rpc OpenStandaloneWorkspaceVscode(OpenStandaloneWorkspaceRequest) returns (OpenStandaloneWorkspaceResponse);
|
|
199
|
-
|
|
200
|
-
// Open a standalone workspace in terminal (deprecated: use OpenStandaloneWorkspace)
|
|
201
|
-
rpc OpenStandaloneWorkspaceTerminal(OpenStandaloneWorkspaceRequest) returns (OpenStandaloneWorkspaceResponse);
|
|
202
|
-
|
|
203
111
|
// List all temp workspaces
|
|
204
112
|
rpc ListTempWorkspaces(ListTempWorkspacesRequest) returns (ListTempWorkspacesResponse);
|
|
205
113
|
|
|
@@ -274,6 +182,14 @@ service CentyDaemon {
|
|
|
274
182
|
// Manually trigger a sync push
|
|
275
183
|
rpc SyncPush(SyncPushRequest) returns (SyncPushResponse);
|
|
276
184
|
|
|
185
|
+
// ============ Item Type RPCs ============
|
|
186
|
+
|
|
187
|
+
// Create a new item type dynamically
|
|
188
|
+
rpc CreateItemType(CreateItemTypeRequest) returns (CreateItemTypeResponse);
|
|
189
|
+
|
|
190
|
+
// List all item types for a project
|
|
191
|
+
rpc ListItemTypes(ListItemTypesRequest) returns (ListItemTypesResponse);
|
|
192
|
+
|
|
277
193
|
// ============ Generic Item RPCs ============
|
|
278
194
|
|
|
279
195
|
// Create a new item of any type
|
|
@@ -303,11 +219,17 @@ service CentyDaemon {
|
|
|
303
219
|
// Move an item to another project
|
|
304
220
|
rpc MoveItem(MoveItemRequest) returns (MoveItemResponse);
|
|
305
221
|
|
|
306
|
-
//
|
|
307
|
-
rpc
|
|
222
|
+
// Archive an item by moving it to the archived folder and recording its original type
|
|
223
|
+
rpc ArchiveItem(ArchiveItemRequest) returns (ArchiveItemResponse);
|
|
308
224
|
|
|
309
|
-
//
|
|
310
|
-
rpc
|
|
225
|
+
// Unarchive an item by moving it back to its original folder
|
|
226
|
+
rpc UnarchiveItem(UnarchiveItemRequest) returns (UnarchiveItemResponse);
|
|
227
|
+
|
|
228
|
+
// Search for an item by ID across all tracked projects
|
|
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);
|
|
311
233
|
}
|
|
312
234
|
|
|
313
235
|
// ============ Init Messages ============
|
|
@@ -321,6 +243,15 @@ message InitRequest {
|
|
|
321
243
|
|
|
322
244
|
// Decisions for files that need user input (only used when force=false)
|
|
323
245
|
ReconciliationDecisions decisions = 3;
|
|
246
|
+
|
|
247
|
+
// Optional configuration to apply during initialization.
|
|
248
|
+
// Fields set here will be written to .centy/config.json.
|
|
249
|
+
// Unset/zero-value fields fall back to project defaults.
|
|
250
|
+
Config init_config = 4;
|
|
251
|
+
|
|
252
|
+
// Optional project title to set during initialization (stored in .centy/project.json,
|
|
253
|
+
// visible to all team members). Empty string means no title is set.
|
|
254
|
+
string title = 5;
|
|
324
255
|
}
|
|
325
256
|
|
|
326
257
|
message InitResponse {
|
|
@@ -340,38 +271,6 @@ message InitResponse {
|
|
|
340
271
|
OrgInferenceResult org_inference = 8;
|
|
341
272
|
}
|
|
342
273
|
|
|
343
|
-
message GetReconciliationPlanRequest {
|
|
344
|
-
string project_path = 1;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
message ReconciliationPlan {
|
|
348
|
-
// Files that need to be created (not on disk, not in manifest)
|
|
349
|
-
repeated FileInfo to_create = 1;
|
|
350
|
-
|
|
351
|
-
// Files that were deleted but exist in manifest (can be restored)
|
|
352
|
-
repeated FileInfo to_restore = 2;
|
|
353
|
-
|
|
354
|
-
// Files that were modified from original (hash mismatch)
|
|
355
|
-
repeated FileInfo to_reset = 3;
|
|
356
|
-
|
|
357
|
-
// Files that are up to date
|
|
358
|
-
repeated FileInfo up_to_date = 4;
|
|
359
|
-
|
|
360
|
-
// User-created files (not managed by centy)
|
|
361
|
-
repeated FileInfo user_files = 5;
|
|
362
|
-
|
|
363
|
-
// Whether user decisions are needed
|
|
364
|
-
bool needs_decisions = 6;
|
|
365
|
-
|
|
366
|
-
bool success = 7;
|
|
367
|
-
string error = 8;
|
|
368
|
-
}
|
|
369
|
-
|
|
370
|
-
message ExecuteReconciliationRequest {
|
|
371
|
-
string project_path = 1;
|
|
372
|
-
ReconciliationDecisions decisions = 2;
|
|
373
|
-
}
|
|
374
|
-
|
|
375
274
|
message ReconciliationDecisions {
|
|
376
275
|
// Paths of files to restore (from to_restore list)
|
|
377
276
|
repeated string restore = 1;
|
|
@@ -380,261 +279,6 @@ message ReconciliationDecisions {
|
|
|
380
279
|
repeated string reset = 2;
|
|
381
280
|
}
|
|
382
281
|
|
|
383
|
-
// ============ Issue Messages ============
|
|
384
|
-
|
|
385
|
-
message CreateIssueRequest {
|
|
386
|
-
string project_path = 1;
|
|
387
|
-
string title = 2;
|
|
388
|
-
string description = 3;
|
|
389
|
-
int32 priority = 4; // 1 = highest priority, 0 = use default
|
|
390
|
-
string status = 5; // default: "open"
|
|
391
|
-
map<string, string> custom_fields = 6;
|
|
392
|
-
string template = 7; // Optional template name (without .md extension)
|
|
393
|
-
bool draft = 8; // Create as draft (default: false)
|
|
394
|
-
bool is_org_issue = 9; // Create as organization-wide issue (syncs to all org projects)
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
message CreateIssueResponse {
|
|
398
|
-
bool success = 1;
|
|
399
|
-
string error = 2;
|
|
400
|
-
|
|
401
|
-
// The created issue ID (UUID)
|
|
402
|
-
string id = 3;
|
|
403
|
-
|
|
404
|
-
// Human-readable display number (1, 2, 3...)
|
|
405
|
-
uint32 display_number = 4;
|
|
406
|
-
|
|
407
|
-
// Legacy: same as id (for backward compatibility)
|
|
408
|
-
string issue_number = 5;
|
|
409
|
-
|
|
410
|
-
// Paths to created files
|
|
411
|
-
repeated string created_files = 6;
|
|
412
|
-
|
|
413
|
-
// The updated manifest
|
|
414
|
-
Manifest manifest = 7;
|
|
415
|
-
|
|
416
|
-
// Org-level display number (only for org issues, 0 if not an org issue)
|
|
417
|
-
uint32 org_display_number = 8;
|
|
418
|
-
|
|
419
|
-
// Results from syncing to other org projects (org issues only)
|
|
420
|
-
repeated OrgDocSyncResult sync_results = 9;
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
message GetNextIssueNumberRequest {
|
|
424
|
-
string project_path = 1;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
message GetNextIssueNumberResponse {
|
|
428
|
-
string issue_number = 1;
|
|
429
|
-
bool success = 2;
|
|
430
|
-
string error = 3;
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
// Issue represents a full issue with all its data
|
|
434
|
-
message Issue {
|
|
435
|
-
// UUID-based issue ID (folder name)
|
|
436
|
-
string id = 1;
|
|
437
|
-
|
|
438
|
-
// Human-readable display number (1, 2, 3...)
|
|
439
|
-
uint32 display_number = 2;
|
|
440
|
-
|
|
441
|
-
// Legacy: same as id (for backward compatibility)
|
|
442
|
-
string issue_number = 3;
|
|
443
|
-
|
|
444
|
-
string title = 4;
|
|
445
|
-
string description = 5;
|
|
446
|
-
IssueMetadata metadata = 6;
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
message IssueMetadata {
|
|
450
|
-
// Human-readable display number (1, 2, 3...)
|
|
451
|
-
uint32 display_number = 1;
|
|
452
|
-
string status = 2; // e.g., "open", "in-progress", "closed"
|
|
453
|
-
int32 priority = 3; // 1 = highest priority, N = lowest
|
|
454
|
-
string created_at = 4; // ISO timestamp
|
|
455
|
-
string updated_at = 5; // ISO timestamp
|
|
456
|
-
map<string, string> custom_fields = 6;
|
|
457
|
-
string priority_label = 7; // Human-readable label (e.g., "high", "P1")
|
|
458
|
-
reserved 8, 9; // Removed: compacted, compacted_at (moved to CLI)
|
|
459
|
-
bool draft = 10; // Whether this issue is a draft
|
|
460
|
-
string deleted_at = 11; // ISO timestamp when soft-deleted (empty if not deleted)
|
|
461
|
-
bool is_org_issue = 12; // Whether this is an organization-level issue
|
|
462
|
-
string org_slug = 13; // Organization slug (empty if not org issue)
|
|
463
|
-
uint32 org_display_number = 14; // Org-scoped display number (0 if not org issue)
|
|
464
|
-
}
|
|
465
|
-
|
|
466
|
-
message GetIssueRequest {
|
|
467
|
-
string project_path = 1;
|
|
468
|
-
string issue_id = 2; // UUID or legacy issue number (e.g., "0001")
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
message GetIssueByDisplayNumberRequest {
|
|
472
|
-
string project_path = 1;
|
|
473
|
-
uint32 display_number = 2; // Human-readable number (1, 2, 3...)
|
|
474
|
-
}
|
|
475
|
-
|
|
476
|
-
// Wrapper response for GetIssue and GetIssueByDisplayNumber RPCs
|
|
477
|
-
message GetIssueResponse {
|
|
478
|
-
bool success = 1;
|
|
479
|
-
string error = 2;
|
|
480
|
-
Issue issue = 3;
|
|
481
|
-
}
|
|
482
|
-
|
|
483
|
-
// ============ Global Issue Search Messages ============
|
|
484
|
-
|
|
485
|
-
message GetIssuesByUuidRequest {
|
|
486
|
-
string uuid = 1; // The UUID to search for (must be valid UUID format)
|
|
487
|
-
}
|
|
488
|
-
|
|
489
|
-
// An issue with its source project path
|
|
490
|
-
message IssueWithProject {
|
|
491
|
-
Issue issue = 1;
|
|
492
|
-
string project_path = 2; // Absolute path to the project where this issue was found
|
|
493
|
-
string project_name = 3; // Human-readable project name (directory name)
|
|
494
|
-
string display_path = 4; // Human-readable path with ~/ for home dir (use for display only)
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
message GetIssuesByUuidResponse {
|
|
498
|
-
repeated IssueWithProject issues = 1;
|
|
499
|
-
int32 total_count = 2;
|
|
500
|
-
repeated string errors = 3; // Non-fatal errors (e.g., projects that couldn't be accessed)
|
|
501
|
-
bool success = 4;
|
|
502
|
-
string error = 5;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
message ListIssuesRequest {
|
|
506
|
-
string project_path = 1;
|
|
507
|
-
|
|
508
|
-
// Optional filters
|
|
509
|
-
string status = 2; // Filter by status (empty = all)
|
|
510
|
-
int32 priority = 3; // Filter by priority (0 = all)
|
|
511
|
-
optional bool draft = 4; // Filter by draft status (absent = all, true = drafts only, false = non-drafts only)
|
|
512
|
-
bool include_deleted = 5; // Include soft-deleted issues (default: false)
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
message ListIssuesResponse {
|
|
516
|
-
repeated Issue issues = 1;
|
|
517
|
-
int32 total_count = 2;
|
|
518
|
-
bool success = 3;
|
|
519
|
-
string error = 4;
|
|
520
|
-
}
|
|
521
|
-
|
|
522
|
-
// Advanced search request
|
|
523
|
-
message AdvancedSearchRequest {
|
|
524
|
-
string query = 1; // Query string (e.g., "status:open AND priority:1")
|
|
525
|
-
string sort_by = 2; // Field to sort by (e.g., "createdAt", "priority")
|
|
526
|
-
bool sort_descending = 3; // Sort order (true = descending)
|
|
527
|
-
bool multi_project = 4; // Search across all tracked projects
|
|
528
|
-
string project_path = 5; // Project path (required if multi_project is false)
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
// Search result containing issue and project info
|
|
532
|
-
message SearchResultIssue {
|
|
533
|
-
Issue issue = 1;
|
|
534
|
-
string project_path = 2;
|
|
535
|
-
string project_name = 3;
|
|
536
|
-
string display_path = 4;
|
|
537
|
-
}
|
|
538
|
-
|
|
539
|
-
// Advanced search response
|
|
540
|
-
message AdvancedSearchResponse {
|
|
541
|
-
bool success = 1;
|
|
542
|
-
string error = 2;
|
|
543
|
-
repeated SearchResultIssue results = 3;
|
|
544
|
-
int32 total_count = 4;
|
|
545
|
-
string parsed_query = 5; // Debug: the parsed query representation
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
message UpdateIssueRequest {
|
|
549
|
-
string project_path = 1;
|
|
550
|
-
string issue_id = 2; // UUID or legacy issue number
|
|
551
|
-
|
|
552
|
-
// Fields to update (empty string = don't update, 0 = don't update priority)
|
|
553
|
-
string title = 3;
|
|
554
|
-
string description = 4;
|
|
555
|
-
string status = 5;
|
|
556
|
-
int32 priority = 6; // 0 = don't update, otherwise 1-N
|
|
557
|
-
map<string, string> custom_fields = 7;
|
|
558
|
-
optional bool draft = 8; // Update draft status (absent = don't update)
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
message UpdateIssueResponse {
|
|
562
|
-
bool success = 1;
|
|
563
|
-
string error = 2;
|
|
564
|
-
Issue issue = 3; // The updated issue
|
|
565
|
-
Manifest manifest = 4;
|
|
566
|
-
repeated OrgDocSyncResult sync_results = 5; // Results from syncing to other org projects (org issues only)
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
message DeleteIssueRequest {
|
|
570
|
-
string project_path = 1;
|
|
571
|
-
string issue_id = 2; // UUID or legacy issue number
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
message DeleteIssueResponse {
|
|
575
|
-
bool success = 1;
|
|
576
|
-
string error = 2;
|
|
577
|
-
Manifest manifest = 3; // Updated manifest after deletion
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
// Soft-delete an issue (set deleted_at timestamp)
|
|
581
|
-
message SoftDeleteIssueRequest {
|
|
582
|
-
string project_path = 1;
|
|
583
|
-
string issue_id = 2; // UUID or legacy issue number
|
|
584
|
-
}
|
|
585
|
-
|
|
586
|
-
message SoftDeleteIssueResponse {
|
|
587
|
-
bool success = 1;
|
|
588
|
-
string error = 2;
|
|
589
|
-
Issue issue = 3; // The soft-deleted issue (with deleted_at set)
|
|
590
|
-
Manifest manifest = 4; // Updated manifest
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
// Restore a soft-deleted issue (clear deleted_at timestamp)
|
|
594
|
-
message RestoreIssueRequest {
|
|
595
|
-
string project_path = 1;
|
|
596
|
-
string issue_id = 2; // UUID or legacy issue number
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
message RestoreIssueResponse {
|
|
600
|
-
bool success = 1;
|
|
601
|
-
string error = 2;
|
|
602
|
-
Issue issue = 3; // The restored issue (with deleted_at cleared)
|
|
603
|
-
Manifest manifest = 4; // Updated manifest
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
// ============ Issue Move/Duplicate Messages ============
|
|
607
|
-
|
|
608
|
-
message MoveIssueRequest {
|
|
609
|
-
string source_project_path = 1; // Project containing the issue
|
|
610
|
-
string issue_id = 2; // UUID of the issue to move
|
|
611
|
-
string target_project_path = 3; // Target project path
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
message MoveIssueResponse {
|
|
615
|
-
bool success = 1;
|
|
616
|
-
string error = 2;
|
|
617
|
-
Issue issue = 3; // The moved issue (same UUID, new display_number)
|
|
618
|
-
uint32 old_display_number = 4; // Original display number for reference
|
|
619
|
-
Manifest source_manifest = 5; // Updated source project manifest
|
|
620
|
-
Manifest target_manifest = 6; // Updated target project manifest
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
message DuplicateIssueRequest {
|
|
624
|
-
string source_project_path = 1; // Project containing the original issue
|
|
625
|
-
string issue_id = 2; // UUID of the issue to duplicate
|
|
626
|
-
string target_project_path = 3; // Target project (can be same as source)
|
|
627
|
-
string new_title = 4; // Optional: override title (default: "Copy of {original}")
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
message DuplicateIssueResponse {
|
|
631
|
-
bool success = 1;
|
|
632
|
-
string error = 2;
|
|
633
|
-
Issue issue = 3; // The new duplicate issue (new UUID, new display_number)
|
|
634
|
-
string original_issue_id = 4; // UUID of the original issue
|
|
635
|
-
Manifest manifest = 5; // Updated target project manifest
|
|
636
|
-
}
|
|
637
|
-
|
|
638
282
|
// ============ Manifest Messages ============
|
|
639
283
|
|
|
640
284
|
message GetManifestRequest {
|
|
@@ -648,12 +292,7 @@ message GetManifestResponse {
|
|
|
648
292
|
Manifest manifest = 3;
|
|
649
293
|
}
|
|
650
294
|
|
|
651
|
-
|
|
652
|
-
int32 schema_version = 1;
|
|
653
|
-
string centy_version = 2;
|
|
654
|
-
string created_at = 3;
|
|
655
|
-
string updated_at = 4;
|
|
656
|
-
}
|
|
295
|
+
// Manifest is defined in generic_item.proto (shared across both files)
|
|
657
296
|
|
|
658
297
|
enum FileType {
|
|
659
298
|
FILE_TYPE_UNSPECIFIED = 0;
|
|
@@ -685,7 +324,7 @@ message Config {
|
|
|
685
324
|
repeated CustomFieldDefinition custom_fields = 1;
|
|
686
325
|
map<string, string> defaults = 2;
|
|
687
326
|
int32 priority_levels = 3; // Number of priority levels (default: 3)
|
|
688
|
-
|
|
327
|
+
reserved 4; // Previously: repeated string allowed_states (moved to per-item-type config.yaml)
|
|
689
328
|
reserved 5; // Previously: string default_state (moved to per-item-type config.yaml)
|
|
690
329
|
string version = 6; // Project version (semver, empty = daemon default)
|
|
691
330
|
map<string, string> state_colors = 7; // State name → hex color (e.g., "open" → "#10b981")
|
|
@@ -693,8 +332,9 @@ message Config {
|
|
|
693
332
|
reserved 9; // Previously: LlmConfig llm (removed)
|
|
694
333
|
repeated LinkTypeDefinition custom_link_types = 10; // Custom link types (in addition to built-in)
|
|
695
334
|
string default_editor = 11; // Default editor ID for this project (e.g., "vscode", "terminal", "zed")
|
|
696
|
-
repeated HookDefinition hooks
|
|
335
|
+
reserved 12; // Previously: repeated HookDefinition hooks (moved to hooks.yaml)
|
|
697
336
|
WorkspaceConfig workspace = 13; // Workspace settings
|
|
337
|
+
map<string, string> user_values = 14; // User-defined free-form key-value pairs
|
|
698
338
|
}
|
|
699
339
|
|
|
700
340
|
// Workspace configuration section
|
|
@@ -710,19 +350,10 @@ message CustomFieldDefinition {
|
|
|
710
350
|
repeated string enum_values = 5; // For enum type
|
|
711
351
|
}
|
|
712
352
|
|
|
713
|
-
// Lifecycle hook definition (bash scripts to run before/after operations)
|
|
714
|
-
message HookDefinition {
|
|
715
|
-
string pattern = 1; // Pattern like "pre:issue:create" or "*:*:delete"
|
|
716
|
-
string command = 2; // Bash command to execute
|
|
717
|
-
bool run_async = 3; // If true, run in background (post-hooks only)
|
|
718
|
-
uint64 timeout = 4; // Timeout in seconds (default: 30)
|
|
719
|
-
bool enabled = 5; // Whether hook is enabled (default: true)
|
|
720
|
-
}
|
|
721
|
-
|
|
722
353
|
// Custom link type definition (for custom relationship types)
|
|
723
354
|
message LinkTypeDefinition {
|
|
724
355
|
string name = 1; // Link type name (e.g., "depends-on")
|
|
725
|
-
|
|
356
|
+
reserved 2; // Removed: inverse (no longer needed — direction field on Link replaces it)
|
|
726
357
|
string description = 3; // Optional description
|
|
727
358
|
}
|
|
728
359
|
|
|
@@ -748,184 +379,6 @@ message IsInitializedResponse {
|
|
|
748
379
|
string centy_path = 2; // Full path to .centy folder if initialized
|
|
749
380
|
}
|
|
750
381
|
|
|
751
|
-
// ============ Doc Messages ============
|
|
752
|
-
|
|
753
|
-
message CreateDocRequest {
|
|
754
|
-
string project_path = 1;
|
|
755
|
-
string title = 2; // Doc title (used to generate slug)
|
|
756
|
-
string content = 3; // Markdown content
|
|
757
|
-
string slug = 4; // Optional custom slug (auto-generated from title if empty)
|
|
758
|
-
string template = 5; // Optional template name (without .md extension)
|
|
759
|
-
bool is_org_doc = 6; // Create as organization-wide doc (syncs to all org projects)
|
|
760
|
-
}
|
|
761
|
-
|
|
762
|
-
// Result of syncing an org doc to a project
|
|
763
|
-
message OrgDocSyncResult {
|
|
764
|
-
string project_path = 1; // Path of target project
|
|
765
|
-
bool success = 2; // Whether sync succeeded
|
|
766
|
-
string error = 3; // Error message if failed
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
message CreateDocResponse {
|
|
770
|
-
bool success = 1;
|
|
771
|
-
string error = 2;
|
|
772
|
-
string slug = 3; // The created doc slug
|
|
773
|
-
string created_file = 4; // Path to created file
|
|
774
|
-
Manifest manifest = 5;
|
|
775
|
-
repeated OrgDocSyncResult sync_results = 6; // Results from syncing to other org projects
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
message GetDocRequest {
|
|
779
|
-
string project_path = 1;
|
|
780
|
-
string slug = 2; // e.g., "getting-started"
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
// Wrapper response for GetDoc RPC
|
|
784
|
-
message GetDocResponse {
|
|
785
|
-
bool success = 1;
|
|
786
|
-
string error = 2;
|
|
787
|
-
Doc doc = 3;
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
// ============ Global Doc Search Messages ============
|
|
791
|
-
|
|
792
|
-
message GetDocsBySlugRequest {
|
|
793
|
-
string slug = 1; // The slug to search for (kebab-case)
|
|
794
|
-
}
|
|
795
|
-
|
|
796
|
-
// A doc with its source project path
|
|
797
|
-
message DocWithProject {
|
|
798
|
-
Doc doc = 1;
|
|
799
|
-
string project_path = 2; // Absolute path to the project where this doc was found
|
|
800
|
-
string project_name = 3; // Human-readable project name (directory name)
|
|
801
|
-
string display_path = 4; // Human-readable path with ~/ for home dir (use for display only)
|
|
802
|
-
}
|
|
803
|
-
|
|
804
|
-
message GetDocsBySlugResponse {
|
|
805
|
-
repeated DocWithProject docs = 1;
|
|
806
|
-
int32 total_count = 2;
|
|
807
|
-
repeated string errors = 3; // Non-fatal errors (e.g., projects that couldn't be accessed)
|
|
808
|
-
bool success = 4;
|
|
809
|
-
string error = 5;
|
|
810
|
-
}
|
|
811
|
-
|
|
812
|
-
message ListDocsRequest {
|
|
813
|
-
string project_path = 1;
|
|
814
|
-
bool include_deleted = 2; // Include soft-deleted docs (default: false)
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
message ListDocsResponse {
|
|
818
|
-
repeated Doc docs = 1;
|
|
819
|
-
int32 total_count = 2;
|
|
820
|
-
bool success = 3;
|
|
821
|
-
string error = 4;
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
// Doc represents a documentation file
|
|
825
|
-
message Doc {
|
|
826
|
-
string slug = 1; // e.g., "getting-started"
|
|
827
|
-
string title = 2;
|
|
828
|
-
string content = 3; // Full markdown content
|
|
829
|
-
DocMetadata metadata = 4;
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
message DocMetadata {
|
|
833
|
-
string created_at = 1; // ISO timestamp
|
|
834
|
-
string updated_at = 2; // ISO timestamp
|
|
835
|
-
string deleted_at = 3; // ISO timestamp when soft-deleted (empty if not deleted)
|
|
836
|
-
bool is_org_doc = 4; // Whether this is an organization-level doc
|
|
837
|
-
string org_slug = 5; // Organization slug (for org docs)
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
message UpdateDocRequest {
|
|
841
|
-
string project_path = 1;
|
|
842
|
-
string slug = 2;
|
|
843
|
-
|
|
844
|
-
// Fields to update (empty string = don't update)
|
|
845
|
-
string title = 3;
|
|
846
|
-
string content = 4;
|
|
847
|
-
string new_slug = 5; // Rename the doc (empty = keep current slug)
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
message UpdateDocResponse {
|
|
851
|
-
bool success = 1;
|
|
852
|
-
string error = 2;
|
|
853
|
-
Doc doc = 3; // The updated doc
|
|
854
|
-
Manifest manifest = 4;
|
|
855
|
-
repeated OrgDocSyncResult sync_results = 5; // Results from syncing to other org projects (org docs only)
|
|
856
|
-
}
|
|
857
|
-
|
|
858
|
-
message DeleteDocRequest {
|
|
859
|
-
string project_path = 1;
|
|
860
|
-
string slug = 2;
|
|
861
|
-
}
|
|
862
|
-
|
|
863
|
-
message DeleteDocResponse {
|
|
864
|
-
bool success = 1;
|
|
865
|
-
string error = 2;
|
|
866
|
-
Manifest manifest = 3;
|
|
867
|
-
}
|
|
868
|
-
|
|
869
|
-
// Soft-delete a doc (set deleted_at timestamp)
|
|
870
|
-
message SoftDeleteDocRequest {
|
|
871
|
-
string project_path = 1;
|
|
872
|
-
string slug = 2;
|
|
873
|
-
}
|
|
874
|
-
|
|
875
|
-
message SoftDeleteDocResponse {
|
|
876
|
-
bool success = 1;
|
|
877
|
-
string error = 2;
|
|
878
|
-
Doc doc = 3; // The soft-deleted doc (with deleted_at set)
|
|
879
|
-
Manifest manifest = 4;
|
|
880
|
-
}
|
|
881
|
-
|
|
882
|
-
// Restore a soft-deleted doc (clear deleted_at timestamp)
|
|
883
|
-
message RestoreDocRequest {
|
|
884
|
-
string project_path = 1;
|
|
885
|
-
string slug = 2;
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
message RestoreDocResponse {
|
|
889
|
-
bool success = 1;
|
|
890
|
-
string error = 2;
|
|
891
|
-
Doc doc = 3; // The restored doc (with deleted_at cleared)
|
|
892
|
-
Manifest manifest = 4;
|
|
893
|
-
}
|
|
894
|
-
|
|
895
|
-
// ============ Doc Move/Duplicate Messages ============
|
|
896
|
-
|
|
897
|
-
message MoveDocRequest {
|
|
898
|
-
string source_project_path = 1; // Project containing the doc
|
|
899
|
-
string slug = 2; // Slug of the doc to move
|
|
900
|
-
string target_project_path = 3; // Target project path
|
|
901
|
-
string new_slug = 4; // Optional: new slug if conflict exists
|
|
902
|
-
}
|
|
903
|
-
|
|
904
|
-
message MoveDocResponse {
|
|
905
|
-
bool success = 1;
|
|
906
|
-
string error = 2;
|
|
907
|
-
Doc doc = 3; // The moved doc
|
|
908
|
-
string old_slug = 4; // Original slug for reference
|
|
909
|
-
Manifest source_manifest = 5; // Updated source project manifest
|
|
910
|
-
Manifest target_manifest = 6; // Updated target project manifest
|
|
911
|
-
}
|
|
912
|
-
|
|
913
|
-
message DuplicateDocRequest {
|
|
914
|
-
string source_project_path = 1; // Project containing the original doc
|
|
915
|
-
string slug = 2; // Slug of the doc to duplicate
|
|
916
|
-
string target_project_path = 3; // Target project (can be same as source)
|
|
917
|
-
string new_slug = 4; // Optional: override slug (default: "{slug}-copy")
|
|
918
|
-
string new_title = 5; // Optional: override title (default: "Copy of {original}")
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
message DuplicateDocResponse {
|
|
922
|
-
bool success = 1;
|
|
923
|
-
string error = 2;
|
|
924
|
-
Doc doc = 3; // The new duplicate doc
|
|
925
|
-
string original_slug = 4; // Slug of the original doc
|
|
926
|
-
Manifest manifest = 5; // Updated target project manifest
|
|
927
|
-
}
|
|
928
|
-
|
|
929
382
|
// ============ Asset Messages ============
|
|
930
383
|
|
|
931
384
|
// Asset represents file metadata
|
|
@@ -1018,6 +471,8 @@ message ProjectInfo {
|
|
|
1018
471
|
string organization_name = 12; // Organization display name (for convenience)
|
|
1019
472
|
string user_title = 13; // User-scope custom title (from ~/.centy/projects.json)
|
|
1020
473
|
string project_title = 14; // Project-scope custom title (from .centy/project.json)
|
|
474
|
+
string project_version = 15; // Centy version recorded in manifest (empty if not initialized)
|
|
475
|
+
bool project_behind = 16; // True if project version is behind current daemon version
|
|
1021
476
|
}
|
|
1022
477
|
|
|
1023
478
|
message ListProjectsRequest {
|
|
@@ -1190,6 +645,7 @@ message UpdateOrganizationResponse {
|
|
|
1190
645
|
|
|
1191
646
|
message DeleteOrganizationRequest {
|
|
1192
647
|
string slug = 1;
|
|
648
|
+
bool cascade = 2;
|
|
1193
649
|
}
|
|
1194
650
|
|
|
1195
651
|
message DeleteOrganizationResponse {
|
|
@@ -1206,7 +662,7 @@ message DaemonInfo {
|
|
|
1206
662
|
string version = 1; // Current daemon version (e.g., "0.1.0")
|
|
1207
663
|
reserved 2; // was: repeated string available_versions (removed)
|
|
1208
664
|
string binary_path = 3; // Absolute path to the running daemon binary
|
|
1209
|
-
|
|
665
|
+
reserved 4; // was: vscode_available (removed)
|
|
1210
666
|
}
|
|
1211
667
|
|
|
1212
668
|
// ============ Daemon Control Messages ============
|
|
@@ -1233,34 +689,11 @@ message RestartResponse {
|
|
|
1233
689
|
|
|
1234
690
|
// ============ Temp Workspace Messages ============
|
|
1235
691
|
|
|
1236
|
-
// Action types for workspace operations
|
|
1237
|
-
enum LlmAction {
|
|
1238
|
-
LLM_ACTION_UNSPECIFIED = 0;
|
|
1239
|
-
LLM_ACTION_PLAN = 1;
|
|
1240
|
-
LLM_ACTION_IMPLEMENT = 2;
|
|
1241
|
-
LLM_ACTION_DEEPDIVE = 3;
|
|
1242
|
-
}
|
|
1243
|
-
|
|
1244
|
-
// Workspace mode for agent operations
|
|
1245
|
-
enum WorkspaceMode {
|
|
1246
|
-
WORKSPACE_MODE_UNSPECIFIED = 0; // Use project default or prompt user
|
|
1247
|
-
WORKSPACE_MODE_TEMP = 1; // Create temporary worktree
|
|
1248
|
-
WORKSPACE_MODE_CURRENT = 2; // Use current project directory
|
|
1249
|
-
}
|
|
1250
|
-
|
|
1251
|
-
// Editor type for opening workspaces
|
|
1252
|
-
enum EditorType {
|
|
1253
|
-
EDITOR_TYPE_UNSPECIFIED = 0;
|
|
1254
|
-
EDITOR_TYPE_VSCODE = 1; // VS Code editor
|
|
1255
|
-
EDITOR_TYPE_TERMINAL = 2; // OS terminal
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
692
|
// Request to get supported editors (empty request)
|
|
1259
693
|
message GetSupportedEditorsRequest {}
|
|
1260
694
|
|
|
1261
695
|
// Information about a supported editor
|
|
1262
696
|
message EditorInfo {
|
|
1263
|
-
EditorType editor_type = 1; // Editor type enum value (deprecated: use editor_id)
|
|
1264
697
|
string name = 2; // Display name (e.g., "VS Code", "Terminal")
|
|
1265
698
|
string description = 3; // Brief description
|
|
1266
699
|
bool available = 4; // Whether this editor is available on the current system
|
|
@@ -1277,8 +710,7 @@ message GetSupportedEditorsResponse {
|
|
|
1277
710
|
message OpenInTempWorkspaceWithEditorRequest {
|
|
1278
711
|
string project_path = 1; // Source project path
|
|
1279
712
|
string issue_id = 2; // Issue UUID or display number
|
|
1280
|
-
|
|
1281
|
-
string agent_name = 4; // Agent to use (empty = default)
|
|
713
|
+
reserved 3, 4; // Removed: action (LlmAction), agent_name
|
|
1282
714
|
uint32 ttl_hours = 5; // Custom TTL in hours (0 = use default 12h)
|
|
1283
715
|
string editor_id = 6; // Editor ID (e.g., "vscode", "terminal", "zed"). Empty = use project/user default.
|
|
1284
716
|
}
|
|
@@ -1289,7 +721,7 @@ message OpenStandaloneWorkspaceWithEditorRequest {
|
|
|
1289
721
|
string name = 2; // Optional custom name for the workspace
|
|
1290
722
|
string description = 3; // Optional description/goals for this workspace
|
|
1291
723
|
uint32 ttl_hours = 4; // Custom TTL in hours (0 = use default 12h)
|
|
1292
|
-
|
|
724
|
+
reserved 5; // Removed: agent_name
|
|
1293
725
|
string editor_id = 6; // Editor ID (e.g., "vscode", "terminal", "zed"). Empty = use project/user default.
|
|
1294
726
|
}
|
|
1295
727
|
|
|
@@ -1297,8 +729,7 @@ message OpenStandaloneWorkspaceWithEditorRequest {
|
|
|
1297
729
|
message OpenInTempWorkspaceRequest {
|
|
1298
730
|
string project_path = 1; // Source project path
|
|
1299
731
|
string issue_id = 2; // Issue UUID or display number
|
|
1300
|
-
|
|
1301
|
-
string agent_name = 4; // Agent to use (empty = default)
|
|
732
|
+
reserved 3, 4; // Removed: action (LlmAction), agent_name
|
|
1302
733
|
uint32 ttl_hours = 5; // Custom TTL in hours (0 = use default 12h)
|
|
1303
734
|
}
|
|
1304
735
|
|
|
@@ -1316,34 +747,13 @@ message OpenInTempWorkspaceResponse {
|
|
|
1316
747
|
string original_created_at = 10; // Original creation timestamp (only set if workspace_reused is true)
|
|
1317
748
|
}
|
|
1318
749
|
|
|
1319
|
-
// Request to open an agent in a terminal
|
|
1320
|
-
message OpenAgentInTerminalRequest {
|
|
1321
|
-
string project_path = 1; // Source project path
|
|
1322
|
-
string issue_id = 2; // Issue UUID or display number
|
|
1323
|
-
string agent_name = 3; // Agent to use (empty = default)
|
|
1324
|
-
WorkspaceMode workspace_mode = 4; // Temp worktree or current project
|
|
1325
|
-
uint32 ttl_hours = 5; // Custom TTL in hours (0 = default, only for temp mode)
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1328
|
-
message OpenAgentInTerminalResponse {
|
|
1329
|
-
bool success = 1;
|
|
1330
|
-
string error = 2;
|
|
1331
|
-
string working_directory = 3; // Path where agent was launched
|
|
1332
|
-
string issue_id = 4; // Resolved issue UUID
|
|
1333
|
-
uint32 display_number = 5; // Issue display number
|
|
1334
|
-
string agent_command = 6; // The agent command that was executed
|
|
1335
|
-
bool terminal_opened = 7; // Whether terminal was successfully opened
|
|
1336
|
-
string expires_at = 8; // ISO timestamp (only for temp mode)
|
|
1337
|
-
bool requires_status_config = 9; // True if user must configure update_status_on_start setting
|
|
1338
|
-
}
|
|
1339
|
-
|
|
1340
750
|
// Request to open a standalone workspace (not tied to an issue)
|
|
1341
751
|
message OpenStandaloneWorkspaceRequest {
|
|
1342
752
|
string project_path = 1; // Source project path
|
|
1343
753
|
string name = 2; // Optional custom name for the workspace
|
|
1344
754
|
string description = 3; // Optional description/goals for this workspace
|
|
1345
755
|
uint32 ttl_hours = 4; // Custom TTL in hours (0 = use default 12h)
|
|
1346
|
-
|
|
756
|
+
reserved 5; // Removed: agent_name
|
|
1347
757
|
}
|
|
1348
758
|
|
|
1349
759
|
// Response for opening a standalone workspace
|
|
@@ -1366,8 +776,7 @@ message TempWorkspace {
|
|
|
1366
776
|
string issue_id = 3; // Issue UUID (empty for standalone workspaces)
|
|
1367
777
|
uint32 issue_display_number = 4; // Issue display number (0 for standalone)
|
|
1368
778
|
string issue_title = 5; // Issue title (empty for standalone)
|
|
1369
|
-
|
|
1370
|
-
LlmAction action = 7; // Plan or Implement
|
|
779
|
+
reserved 6, 7; // Removed: agent_name, action (LlmAction)
|
|
1371
780
|
string created_at = 8; // ISO timestamp
|
|
1372
781
|
string expires_at = 9; // ISO timestamp when workspace expires
|
|
1373
782
|
bool is_standalone = 10; // True if this is a standalone workspace (not tied to an issue)
|
|
@@ -1413,47 +822,40 @@ message CleanupExpiredWorkspacesResponse {
|
|
|
1413
822
|
|
|
1414
823
|
// ============ Link Messages ============
|
|
1415
824
|
|
|
1416
|
-
// Target entity type for links
|
|
1417
|
-
enum LinkTargetType {
|
|
1418
|
-
LINK_TARGET_TYPE_UNSPECIFIED = 0;
|
|
1419
|
-
LINK_TARGET_TYPE_ISSUE = 1;
|
|
1420
|
-
LINK_TARGET_TYPE_DOC = 2;
|
|
1421
|
-
reserved 3; // Removed: LINK_TARGET_TYPE_PR
|
|
1422
|
-
}
|
|
1423
|
-
|
|
1424
825
|
// A link between two entities
|
|
1425
826
|
message Link {
|
|
1426
827
|
string target_id = 1; // Target entity ID (UUID for issues, slug for docs)
|
|
1427
|
-
|
|
1428
|
-
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
|
|
1429
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
|
|
1430
834
|
}
|
|
1431
835
|
|
|
1432
|
-
// Create a link between two entities (
|
|
836
|
+
// Create a link between two entities (one file, two response views)
|
|
1433
837
|
message CreateLinkRequest {
|
|
1434
838
|
string project_path = 1;
|
|
1435
|
-
string source_id = 2; // Source entity ID
|
|
1436
|
-
|
|
1437
|
-
string target_id = 4; // Target entity ID
|
|
1438
|
-
|
|
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)
|
|
1439
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")
|
|
1440
846
|
}
|
|
1441
847
|
|
|
1442
848
|
message CreateLinkResponse {
|
|
1443
849
|
bool success = 1;
|
|
1444
850
|
string error = 2;
|
|
1445
|
-
Link created_link = 3; //
|
|
1446
|
-
Link inverse_link = 4; //
|
|
851
|
+
Link created_link = 3; // Source's view (direction="source")
|
|
852
|
+
Link inverse_link = 4; // Target's view (direction="target")
|
|
1447
853
|
}
|
|
1448
854
|
|
|
1449
|
-
// Delete a link
|
|
855
|
+
// Delete a link by its UUID
|
|
1450
856
|
message DeleteLinkRequest {
|
|
1451
857
|
string project_path = 1;
|
|
1452
|
-
string
|
|
1453
|
-
LinkTargetType source_type = 3; // Source entity type
|
|
1454
|
-
string target_id = 4; // Target entity ID
|
|
1455
|
-
LinkTargetType target_type = 5; // Target entity type
|
|
1456
|
-
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)
|
|
1457
859
|
}
|
|
1458
860
|
|
|
1459
861
|
message DeleteLinkResponse {
|
|
@@ -1466,7 +868,8 @@ message DeleteLinkResponse {
|
|
|
1466
868
|
message ListLinksRequest {
|
|
1467
869
|
string project_path = 1;
|
|
1468
870
|
string entity_id = 2; // Entity ID to list links for
|
|
1469
|
-
|
|
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")
|
|
1470
873
|
}
|
|
1471
874
|
|
|
1472
875
|
message ListLinksResponse {
|
|
@@ -1484,7 +887,7 @@ message GetAvailableLinkTypesRequest {
|
|
|
1484
887
|
// Information about a link type
|
|
1485
888
|
message LinkTypeInfo {
|
|
1486
889
|
string name = 1; // Link type name (e.g., "blocks")
|
|
1487
|
-
|
|
890
|
+
reserved 2; // Removed: inverse (no longer needed — use direction on Link instead)
|
|
1488
891
|
string description = 3; // Optional description
|
|
1489
892
|
bool is_builtin = 4; // Whether this is a built-in type
|
|
1490
893
|
}
|
|
@@ -1622,14 +1025,6 @@ message SyncUsersResponse {
|
|
|
1622
1025
|
|
|
1623
1026
|
// ============ Entity Actions Messages ============
|
|
1624
1027
|
|
|
1625
|
-
// Entity type for actions
|
|
1626
|
-
enum EntityType {
|
|
1627
|
-
ENTITY_TYPE_UNSPECIFIED = 0;
|
|
1628
|
-
ENTITY_TYPE_ISSUE = 1;
|
|
1629
|
-
reserved 2; // Removed: ENTITY_TYPE_PR
|
|
1630
|
-
ENTITY_TYPE_DOC = 3;
|
|
1631
|
-
}
|
|
1632
|
-
|
|
1633
1028
|
// Action category for grouping in UI
|
|
1634
1029
|
enum ActionCategory {
|
|
1635
1030
|
ACTION_CATEGORY_UNSPECIFIED = 0;
|
|
@@ -1653,8 +1048,9 @@ message EntityAction {
|
|
|
1653
1048
|
// Request to get available actions for an entity
|
|
1654
1049
|
message GetEntityActionsRequest {
|
|
1655
1050
|
string project_path = 1; // Project path for config/state lookup
|
|
1656
|
-
|
|
1051
|
+
reserved 2; // Removed: EntityType entity_type (legacy enum)
|
|
1657
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")
|
|
1658
1054
|
}
|
|
1659
1055
|
|
|
1660
1056
|
// Response with available actions
|
|
@@ -1776,3 +1172,110 @@ message SyncPushResponse {
|
|
|
1776
1172
|
bool had_changes = 3; // Whether any changes were pushed
|
|
1777
1173
|
}
|
|
1778
1174
|
|
|
1175
|
+
// ============ Item Type Messages ============
|
|
1176
|
+
|
|
1177
|
+
// Toggle-able features for an item type
|
|
1178
|
+
message ItemTypeFeatures {
|
|
1179
|
+
bool display_number = 1; // Enable display numbers (1, 2, 3...)
|
|
1180
|
+
bool status = 2; // Enable status tracking
|
|
1181
|
+
bool priority = 3; // Enable priority levels
|
|
1182
|
+
bool assets = 4; // Enable file attachments
|
|
1183
|
+
bool org_sync = 5; // Enable organization sync
|
|
1184
|
+
bool move = 6; // Enable moving between projects
|
|
1185
|
+
bool duplicate = 7; // Enable duplication
|
|
1186
|
+
bool soft_delete = 8; // Enable soft-deletion (restorable delete)
|
|
1187
|
+
}
|
|
1188
|
+
|
|
1189
|
+
// Request to create a new item type
|
|
1190
|
+
message CreateItemTypeRequest {
|
|
1191
|
+
string project_path = 1;
|
|
1192
|
+
string name = 2; // Singular display name (e.g., "Bug", "Task", "Epic")
|
|
1193
|
+
string plural = 3; // Folder/type key (e.g., "bugs", "tasks", "epics")
|
|
1194
|
+
string identifier = 4; // "uuid" or "slug"
|
|
1195
|
+
ItemTypeFeatures features = 5; // Toggle-able features
|
|
1196
|
+
repeated string statuses = 6; // Allowed statuses (e.g., ["open", "in-progress", "closed"])
|
|
1197
|
+
string default_status = 7; // Default status for new items (must be in statuses list)
|
|
1198
|
+
uint32 priority_levels = 8; // Number of priority levels (0 = none)
|
|
1199
|
+
repeated CustomFieldDefinition custom_fields = 9; // Custom field definitions
|
|
1200
|
+
}
|
|
1201
|
+
|
|
1202
|
+
// Response after creating an item type
|
|
1203
|
+
message CreateItemTypeResponse {
|
|
1204
|
+
bool success = 1;
|
|
1205
|
+
string error = 2;
|
|
1206
|
+
ItemTypeConfigProto config = 3; // The created item type config
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
// Proto representation of an ItemTypeConfig
|
|
1210
|
+
message ItemTypeConfigProto {
|
|
1211
|
+
string name = 1;
|
|
1212
|
+
string plural = 2;
|
|
1213
|
+
string identifier = 3;
|
|
1214
|
+
ItemTypeFeatures features = 4;
|
|
1215
|
+
repeated string statuses = 5;
|
|
1216
|
+
string default_status = 6;
|
|
1217
|
+
uint32 priority_levels = 7;
|
|
1218
|
+
repeated CustomFieldDefinition custom_fields = 8;
|
|
1219
|
+
string icon = 9; // Optional icon identifier (e.g. "clipboard")
|
|
1220
|
+
string template = 10; // Optional template file path
|
|
1221
|
+
bool listed = 11; // Whether this type appears in ListItemTypes responses
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
message ListItemTypesRequest {
|
|
1225
|
+
string project_path = 1;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
message ListItemTypesResponse {
|
|
1229
|
+
bool success = 1;
|
|
1230
|
+
string error = 2;
|
|
1231
|
+
repeated ItemTypeConfigProto item_types = 3;
|
|
1232
|
+
int32 total_count = 4;
|
|
1233
|
+
}
|
|
1234
|
+
|
|
1235
|
+
// ============ Generic Item Move Messages ============
|
|
1236
|
+
|
|
1237
|
+
message MoveItemRequest {
|
|
1238
|
+
string source_project_path = 1;
|
|
1239
|
+
string target_project_path = 2;
|
|
1240
|
+
string item_type = 3;
|
|
1241
|
+
string item_id = 4;
|
|
1242
|
+
string new_id = 5; // Optional: for slug renames
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1245
|
+
message MoveItemResponse {
|
|
1246
|
+
bool success = 1;
|
|
1247
|
+
string error = 2;
|
|
1248
|
+
GenericItem item = 3;
|
|
1249
|
+
string old_id = 4;
|
|
1250
|
+
Manifest source_manifest = 5;
|
|
1251
|
+
Manifest target_manifest = 6;
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1254
|
+
// ============ Archive Messages ============
|
|
1255
|
+
|
|
1256
|
+
message ArchiveItemRequest {
|
|
1257
|
+
string project_path = 1;
|
|
1258
|
+
string item_type = 2; // Source folder name (e.g., "issues", "docs")
|
|
1259
|
+
string item_id = 3; // UUID of the item to archive
|
|
1260
|
+
}
|
|
1261
|
+
|
|
1262
|
+
message ArchiveItemResponse {
|
|
1263
|
+
bool success = 1;
|
|
1264
|
+
string error = 2;
|
|
1265
|
+
GenericItem item = 3; // The archived item with original_item_type set
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
message UnarchiveItemRequest {
|
|
1269
|
+
string project_path = 1;
|
|
1270
|
+
string item_id = 2; // UUID of the archived item
|
|
1271
|
+
string target_item_type = 3; // Optional: override original_item_type from metadata
|
|
1272
|
+
}
|
|
1273
|
+
|
|
1274
|
+
message UnarchiveItemResponse {
|
|
1275
|
+
bool success = 1;
|
|
1276
|
+
string error = 2;
|
|
1277
|
+
GenericItem item = 3; // The restored item
|
|
1278
|
+
string original_item_type = 4; // The folder the item was restored to
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
|