centy 0.7.9 → 0.8.1
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/bin/run.js +0 -24
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +11 -13
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/create.d.ts +8 -7
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +8 -33
- package/dist/commands/create.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 +17 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/list/items.d.ts +21 -0
- package/dist/commands/list/items.d.ts.map +1 -0
- package/dist/commands/list/items.js +97 -0
- package/dist/commands/list/items.js.map +1 -0
- package/dist/commands/list.d.ts +1 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +22 -47
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/next.d.ts +18 -0
- package/dist/commands/next.d.ts.map +1 -0
- package/dist/commands/next.js +88 -0
- package/dist/commands/next.js.map +1 -0
- package/dist/commands/org/delete.d.ts.map +1 -1
- package/dist/commands/org/delete.js +1 -0
- package/dist/commands/org/delete.js.map +1 -1
- package/dist/commands/register/project.d.ts.map +1 -1
- package/dist/commands/register/project.js +1 -0
- package/dist/commands/register/project.js.map +1 -1
- package/dist/commands/update.d.ts +8 -7
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -27
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/workspace/list.d.ts.map +1 -1
- package/dist/commands/workspace/list.js +0 -1
- 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 +0 -1
- 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 +0 -3
- package/dist/commands/workspace/open.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-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-globally.d.ts +7 -0
- package/dist/daemon/daemon-list-items-globally.d.ts.map +1 -0
- package/dist/daemon/daemon-list-items-globally.js +54 -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 +244 -547
- package/dist/daemon/generated/centy/v1/centy.d.ts.map +1 -1
- package/dist/daemon/generated/centy/v1/centy.js +0 -19
- package/dist/daemon/generated/centy/v1/centy.js.map +1 -1
- package/dist/daemon/generated/centy/v1/generic_item.d.ts +25 -99
- 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 +2 -2
- package/dist/daemon/grpc-client-items.d.ts.map +1 -1
- package/dist/daemon/types/feature.d.ts +2 -2
- package/dist/daemon/types/feature.d.ts.map +1 -1
- package/dist/flags/create-flags.d.ts +11 -0
- package/dist/flags/create-flags.d.ts.map +1 -0
- package/dist/flags/create-flags.js +38 -0
- package/dist/flags/create-flags.js.map +1 -0
- package/dist/flags/update-flags.d.ts +11 -0
- package/dist/flags/update-flags.d.ts.map +1 -0
- package/dist/flags/update-flags.js +31 -0
- package/dist/flags/update-flags.js.map +1 -0
- package/dist/lib/close/close-issue.d.ts.map +1 -1
- package/dist/lib/close/close-issue.js +5 -4
- package/dist/lib/close/close-issue.js.map +1 -1
- package/dist/lib/close/find-entity.d.ts.map +1 -1
- package/dist/lib/close/find-entity.js +1 -1
- package/dist/lib/close/find-entity.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/create-item-type/features.d.ts.map +1 -1
- package/dist/lib/create-item-type/features.js +2 -0
- package/dist/lib/create-item-type/features.js.map +1 -1
- package/dist/lib/get-doc/cross-project-hint.js +2 -2
- package/dist/lib/get-doc/cross-project-hint.js.map +1 -1
- package/dist/lib/get-doc/format-doc-output.d.ts +2 -2
- package/dist/lib/get-doc/format-doc-output.d.ts.map +1 -1
- package/dist/lib/get-doc/format-doc-output.js +2 -2
- package/dist/lib/get-doc/format-doc-output.js.map +1 -1
- package/dist/lib/get-doc/handle-global-search.d.ts +2 -2
- package/dist/lib/get-doc/handle-global-search.d.ts.map +1 -1
- package/dist/lib/get-doc/handle-global-search.js +6 -6
- package/dist/lib/get-doc/handle-global-search.js.map +1 -1
- package/dist/lib/get-doc/handle-not-initialized.js +1 -1
- package/dist/lib/get-doc/handle-not-initialized.js.map +1 -1
- package/dist/lib/get-issue/cross-project-hint.js +2 -2
- package/dist/lib/get-issue/cross-project-hint.js.map +1 -1
- package/dist/lib/get-issue/format-issue-output.d.ts +2 -2
- package/dist/lib/get-issue/format-issue-output.d.ts.map +1 -1
- package/dist/lib/get-issue/format-issue-output.js +4 -4
- package/dist/lib/get-issue/format-issue-output.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/get-issue/handle-not-initialized.js +1 -1
- package/dist/lib/get-issue/handle-not-initialized.js.map +1 -1
- package/dist/lib/init/config-builder.d.ts.map +1 -1
- package/dist/lib/init/config-builder.js +1 -4
- package/dist/lib/init/config-builder.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/show/format-results.d.ts +2 -2
- package/dist/lib/show/format-results.d.ts.map +1 -1
- package/dist/lib/show/format-results.js +5 -5
- package/dist/lib/show/format-results.js.map +1 -1
- package/dist/lib/show/search-entities.d.ts +2 -2
- package/dist/lib/show/search-entities.d.ts.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 +37 -0
- package/dist/utils/apply-link-flags.js.map +1 -0
- package/oclif.manifest.json +323 -76
- package/package.json +1 -1
- package/proto/.husky/pre-commit +1 -0
- package/proto/README.md +19 -0
- package/proto/centy/v1/centy.proto +275 -562
- package/proto/centy/v1/generic_item.proto +26 -88
- 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
|
@@ -1,24 +1,9 @@
|
|
|
1
|
+
import type { GenericItem, Manifest } from "./generic_item";
|
|
1
2
|
export declare enum FileType {
|
|
2
3
|
FILE_TYPE_UNSPECIFIED = "FILE_TYPE_UNSPECIFIED",
|
|
3
4
|
FILE_TYPE_FILE = "FILE_TYPE_FILE",
|
|
4
5
|
FILE_TYPE_DIRECTORY = "FILE_TYPE_DIRECTORY"
|
|
5
6
|
}
|
|
6
|
-
/** Action types for workspace operations */
|
|
7
|
-
export declare enum LlmAction {
|
|
8
|
-
LLM_ACTION_UNSPECIFIED = "LLM_ACTION_UNSPECIFIED",
|
|
9
|
-
LLM_ACTION_PLAN = "LLM_ACTION_PLAN",
|
|
10
|
-
LLM_ACTION_IMPLEMENT = "LLM_ACTION_IMPLEMENT",
|
|
11
|
-
LLM_ACTION_DEEPDIVE = "LLM_ACTION_DEEPDIVE"
|
|
12
|
-
}
|
|
13
|
-
/** Workspace mode for agent operations */
|
|
14
|
-
export declare enum WorkspaceMode {
|
|
15
|
-
/** WORKSPACE_MODE_UNSPECIFIED - Use project default or prompt user */
|
|
16
|
-
WORKSPACE_MODE_UNSPECIFIED = "WORKSPACE_MODE_UNSPECIFIED",
|
|
17
|
-
/** WORKSPACE_MODE_TEMP - Create temporary worktree */
|
|
18
|
-
WORKSPACE_MODE_TEMP = "WORKSPACE_MODE_TEMP",
|
|
19
|
-
/** WORKSPACE_MODE_CURRENT - Use current project directory */
|
|
20
|
-
WORKSPACE_MODE_CURRENT = "WORKSPACE_MODE_CURRENT"
|
|
21
|
-
}
|
|
22
7
|
/** Editor type for opening workspaces */
|
|
23
8
|
export declare enum EditorType {
|
|
24
9
|
EDITOR_TYPE_UNSPECIFIED = "EDITOR_TYPE_UNSPECIFIED",
|
|
@@ -75,6 +60,17 @@ export interface InitRequest {
|
|
|
75
60
|
force: boolean;
|
|
76
61
|
/** Decisions for files that need user input (only used when force=false) */
|
|
77
62
|
decisions?: ReconciliationDecisions | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Optional configuration to apply during initialization.
|
|
65
|
+
* Fields set here will be written to .centy/config.json.
|
|
66
|
+
* Unset/zero-value fields fall back to project defaults.
|
|
67
|
+
*/
|
|
68
|
+
initConfig?: Config | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Optional project title to set during initialization (stored in .centy/project.json,
|
|
71
|
+
* visible to all team members). Empty string means no title is set.
|
|
72
|
+
*/
|
|
73
|
+
title: string;
|
|
78
74
|
}
|
|
79
75
|
export interface InitResponse {
|
|
80
76
|
success: boolean;
|
|
@@ -118,289 +114,6 @@ export interface ReconciliationDecisions {
|
|
|
118
114
|
/** Paths of files to reset (from to_reset list) */
|
|
119
115
|
reset: string[];
|
|
120
116
|
}
|
|
121
|
-
export interface CreateIssueRequest {
|
|
122
|
-
projectPath: string;
|
|
123
|
-
title: string;
|
|
124
|
-
description: string;
|
|
125
|
-
/** 1 = highest priority, 0 = use default */
|
|
126
|
-
priority: number;
|
|
127
|
-
/** default: "open" */
|
|
128
|
-
status: string;
|
|
129
|
-
customFields: {
|
|
130
|
-
[key: string]: string;
|
|
131
|
-
};
|
|
132
|
-
/** Optional template name (without .md extension) */
|
|
133
|
-
template: string;
|
|
134
|
-
/** Create as draft (default: false) */
|
|
135
|
-
draft: boolean;
|
|
136
|
-
/** Create as organization-wide issue (syncs to all org projects) */
|
|
137
|
-
isOrgIssue: boolean;
|
|
138
|
-
}
|
|
139
|
-
export interface CreateIssueRequest_CustomFieldsEntry {
|
|
140
|
-
key: string;
|
|
141
|
-
value: string;
|
|
142
|
-
}
|
|
143
|
-
export interface CreateIssueResponse {
|
|
144
|
-
success: boolean;
|
|
145
|
-
error: string;
|
|
146
|
-
/** The created issue ID (UUID) */
|
|
147
|
-
id: string;
|
|
148
|
-
/** Human-readable display number (1, 2, 3...) */
|
|
149
|
-
displayNumber: number;
|
|
150
|
-
/** Legacy: same as id (for backward compatibility) */
|
|
151
|
-
issueNumber: string;
|
|
152
|
-
/** Paths to created files */
|
|
153
|
-
createdFiles: string[];
|
|
154
|
-
/** The updated manifest */
|
|
155
|
-
manifest?: Manifest | undefined;
|
|
156
|
-
/** Org-level display number (only for org issues, 0 if not an org issue) */
|
|
157
|
-
orgDisplayNumber: number;
|
|
158
|
-
/** Results from syncing to other org projects (org issues only) */
|
|
159
|
-
syncResults: OrgDocSyncResult[];
|
|
160
|
-
}
|
|
161
|
-
export interface GetNextIssueNumberRequest {
|
|
162
|
-
projectPath: string;
|
|
163
|
-
}
|
|
164
|
-
export interface GetNextIssueNumberResponse {
|
|
165
|
-
issueNumber: string;
|
|
166
|
-
success: boolean;
|
|
167
|
-
error: string;
|
|
168
|
-
}
|
|
169
|
-
/** Issue represents a full issue with all its data */
|
|
170
|
-
export interface Issue {
|
|
171
|
-
/** UUID-based issue ID (folder name) */
|
|
172
|
-
id: string;
|
|
173
|
-
/** Human-readable display number (1, 2, 3...) */
|
|
174
|
-
displayNumber: number;
|
|
175
|
-
/** Legacy: same as id (for backward compatibility) */
|
|
176
|
-
issueNumber: string;
|
|
177
|
-
title: string;
|
|
178
|
-
description: string;
|
|
179
|
-
metadata?: IssueMetadata | undefined;
|
|
180
|
-
}
|
|
181
|
-
export interface IssueMetadata {
|
|
182
|
-
/** Human-readable display number (1, 2, 3...) */
|
|
183
|
-
displayNumber: number;
|
|
184
|
-
/** e.g., "open", "in-progress", "closed" */
|
|
185
|
-
status: string;
|
|
186
|
-
/** 1 = highest priority, N = lowest */
|
|
187
|
-
priority: number;
|
|
188
|
-
/** ISO timestamp */
|
|
189
|
-
createdAt: string;
|
|
190
|
-
/** ISO timestamp */
|
|
191
|
-
updatedAt: string;
|
|
192
|
-
customFields: {
|
|
193
|
-
[key: string]: string;
|
|
194
|
-
};
|
|
195
|
-
/** Human-readable label (e.g., "high", "P1") */
|
|
196
|
-
priorityLabel: string;
|
|
197
|
-
/** Whether this issue is a draft */
|
|
198
|
-
draft: boolean;
|
|
199
|
-
/** ISO timestamp when soft-deleted (empty if not deleted) */
|
|
200
|
-
deletedAt: string;
|
|
201
|
-
/** Whether this is an organization-level issue */
|
|
202
|
-
isOrgIssue: boolean;
|
|
203
|
-
/** Organization slug (empty if not org issue) */
|
|
204
|
-
orgSlug: string;
|
|
205
|
-
/** Org-scoped display number (0 if not org issue) */
|
|
206
|
-
orgDisplayNumber: number;
|
|
207
|
-
}
|
|
208
|
-
export interface IssueMetadata_CustomFieldsEntry {
|
|
209
|
-
key: string;
|
|
210
|
-
value: string;
|
|
211
|
-
}
|
|
212
|
-
export interface GetIssueRequest {
|
|
213
|
-
projectPath: string;
|
|
214
|
-
/** UUID or legacy issue number (e.g., "0001") */
|
|
215
|
-
issueId: string;
|
|
216
|
-
}
|
|
217
|
-
export interface GetIssueByDisplayNumberRequest {
|
|
218
|
-
projectPath: string;
|
|
219
|
-
/** Human-readable number (1, 2, 3...) */
|
|
220
|
-
displayNumber: number;
|
|
221
|
-
}
|
|
222
|
-
/** Wrapper response for GetIssue and GetIssueByDisplayNumber RPCs */
|
|
223
|
-
export interface GetIssueResponse {
|
|
224
|
-
success: boolean;
|
|
225
|
-
error: string;
|
|
226
|
-
issue?: Issue | undefined;
|
|
227
|
-
}
|
|
228
|
-
export interface GetIssuesByUuidRequest {
|
|
229
|
-
/** The UUID to search for (must be valid UUID format) */
|
|
230
|
-
uuid: string;
|
|
231
|
-
}
|
|
232
|
-
/** An issue with its source project path */
|
|
233
|
-
export interface IssueWithProject {
|
|
234
|
-
issue?: Issue | undefined;
|
|
235
|
-
/** Absolute path to the project where this issue was found */
|
|
236
|
-
projectPath: string;
|
|
237
|
-
/** Human-readable project name (directory name) */
|
|
238
|
-
projectName: string;
|
|
239
|
-
/** Human-readable path with ~/ for home dir (use for display only) */
|
|
240
|
-
displayPath: string;
|
|
241
|
-
}
|
|
242
|
-
export interface GetIssuesByUuidResponse {
|
|
243
|
-
issues: IssueWithProject[];
|
|
244
|
-
totalCount: number;
|
|
245
|
-
/** Non-fatal errors (e.g., projects that couldn't be accessed) */
|
|
246
|
-
errors: string[];
|
|
247
|
-
success: boolean;
|
|
248
|
-
error: string;
|
|
249
|
-
}
|
|
250
|
-
export interface ListIssuesRequest {
|
|
251
|
-
projectPath: string;
|
|
252
|
-
/** Optional filters */
|
|
253
|
-
status: string;
|
|
254
|
-
/** Filter by priority (0 = all) */
|
|
255
|
-
priority: number;
|
|
256
|
-
/** Filter by draft status (absent = all, true = drafts only, false = non-drafts only) */
|
|
257
|
-
draft?: boolean | undefined;
|
|
258
|
-
/** Include soft-deleted issues (default: false) */
|
|
259
|
-
includeDeleted: boolean;
|
|
260
|
-
}
|
|
261
|
-
export interface ListIssuesResponse {
|
|
262
|
-
issues: Issue[];
|
|
263
|
-
totalCount: number;
|
|
264
|
-
success: boolean;
|
|
265
|
-
error: string;
|
|
266
|
-
}
|
|
267
|
-
/** Advanced search request */
|
|
268
|
-
export interface AdvancedSearchRequest {
|
|
269
|
-
/** Query string (e.g., "status:open AND priority:1") */
|
|
270
|
-
query: string;
|
|
271
|
-
/** Field to sort by (e.g., "createdAt", "priority") */
|
|
272
|
-
sortBy: string;
|
|
273
|
-
/** Sort order (true = descending) */
|
|
274
|
-
sortDescending: boolean;
|
|
275
|
-
/** Search across all tracked projects */
|
|
276
|
-
multiProject: boolean;
|
|
277
|
-
/** Project path (required if multi_project is false) */
|
|
278
|
-
projectPath: string;
|
|
279
|
-
}
|
|
280
|
-
/** Search result containing issue and project info */
|
|
281
|
-
export interface SearchResultIssue {
|
|
282
|
-
issue?: Issue | undefined;
|
|
283
|
-
projectPath: string;
|
|
284
|
-
projectName: string;
|
|
285
|
-
displayPath: string;
|
|
286
|
-
}
|
|
287
|
-
/** Advanced search response */
|
|
288
|
-
export interface AdvancedSearchResponse {
|
|
289
|
-
success: boolean;
|
|
290
|
-
error: string;
|
|
291
|
-
results: SearchResultIssue[];
|
|
292
|
-
totalCount: number;
|
|
293
|
-
/** Debug: the parsed query representation */
|
|
294
|
-
parsedQuery: string;
|
|
295
|
-
}
|
|
296
|
-
export interface UpdateIssueRequest {
|
|
297
|
-
projectPath: string;
|
|
298
|
-
/** UUID or legacy issue number */
|
|
299
|
-
issueId: string;
|
|
300
|
-
/** Fields to update (empty string = don't update, 0 = don't update priority) */
|
|
301
|
-
title: string;
|
|
302
|
-
description: string;
|
|
303
|
-
status: string;
|
|
304
|
-
/** 0 = don't update, otherwise 1-N */
|
|
305
|
-
priority: number;
|
|
306
|
-
customFields: {
|
|
307
|
-
[key: string]: string;
|
|
308
|
-
};
|
|
309
|
-
/** Update draft status (absent = don't update) */
|
|
310
|
-
draft?: boolean | undefined;
|
|
311
|
-
}
|
|
312
|
-
export interface UpdateIssueRequest_CustomFieldsEntry {
|
|
313
|
-
key: string;
|
|
314
|
-
value: string;
|
|
315
|
-
}
|
|
316
|
-
export interface UpdateIssueResponse {
|
|
317
|
-
success: boolean;
|
|
318
|
-
error: string;
|
|
319
|
-
/** The updated issue */
|
|
320
|
-
issue?: Issue | undefined;
|
|
321
|
-
manifest?: Manifest | undefined;
|
|
322
|
-
/** Results from syncing to other org projects (org issues only) */
|
|
323
|
-
syncResults: OrgDocSyncResult[];
|
|
324
|
-
}
|
|
325
|
-
export interface DeleteIssueRequest {
|
|
326
|
-
projectPath: string;
|
|
327
|
-
/** UUID or legacy issue number */
|
|
328
|
-
issueId: string;
|
|
329
|
-
}
|
|
330
|
-
export interface DeleteIssueResponse {
|
|
331
|
-
success: boolean;
|
|
332
|
-
error: string;
|
|
333
|
-
/** Updated manifest after deletion */
|
|
334
|
-
manifest?: Manifest | undefined;
|
|
335
|
-
}
|
|
336
|
-
/** Soft-delete an issue (set deleted_at timestamp) */
|
|
337
|
-
export interface SoftDeleteIssueRequest {
|
|
338
|
-
projectPath: string;
|
|
339
|
-
/** UUID or legacy issue number */
|
|
340
|
-
issueId: string;
|
|
341
|
-
}
|
|
342
|
-
export interface SoftDeleteIssueResponse {
|
|
343
|
-
success: boolean;
|
|
344
|
-
error: string;
|
|
345
|
-
/** The soft-deleted issue (with deleted_at set) */
|
|
346
|
-
issue?: Issue | undefined;
|
|
347
|
-
/** Updated manifest */
|
|
348
|
-
manifest?: Manifest | undefined;
|
|
349
|
-
}
|
|
350
|
-
/** Restore a soft-deleted issue (clear deleted_at timestamp) */
|
|
351
|
-
export interface RestoreIssueRequest {
|
|
352
|
-
projectPath: string;
|
|
353
|
-
/** UUID or legacy issue number */
|
|
354
|
-
issueId: string;
|
|
355
|
-
}
|
|
356
|
-
export interface RestoreIssueResponse {
|
|
357
|
-
success: boolean;
|
|
358
|
-
error: string;
|
|
359
|
-
/** The restored issue (with deleted_at cleared) */
|
|
360
|
-
issue?: Issue | undefined;
|
|
361
|
-
/** Updated manifest */
|
|
362
|
-
manifest?: Manifest | undefined;
|
|
363
|
-
}
|
|
364
|
-
export interface MoveIssueRequest {
|
|
365
|
-
/** Project containing the issue */
|
|
366
|
-
sourceProjectPath: string;
|
|
367
|
-
/** UUID of the issue to move */
|
|
368
|
-
issueId: string;
|
|
369
|
-
/** Target project path */
|
|
370
|
-
targetProjectPath: string;
|
|
371
|
-
}
|
|
372
|
-
export interface MoveIssueResponse {
|
|
373
|
-
success: boolean;
|
|
374
|
-
error: string;
|
|
375
|
-
/** The moved issue (same UUID, new display_number) */
|
|
376
|
-
issue?: Issue | undefined;
|
|
377
|
-
/** Original display number for reference */
|
|
378
|
-
oldDisplayNumber: number;
|
|
379
|
-
/** Updated source project manifest */
|
|
380
|
-
sourceManifest?: Manifest | undefined;
|
|
381
|
-
/** Updated target project manifest */
|
|
382
|
-
targetManifest?: Manifest | undefined;
|
|
383
|
-
}
|
|
384
|
-
export interface DuplicateIssueRequest {
|
|
385
|
-
/** Project containing the original issue */
|
|
386
|
-
sourceProjectPath: string;
|
|
387
|
-
/** UUID of the issue to duplicate */
|
|
388
|
-
issueId: string;
|
|
389
|
-
/** Target project (can be same as source) */
|
|
390
|
-
targetProjectPath: string;
|
|
391
|
-
/** Optional: override title (default: "Copy of {original}") */
|
|
392
|
-
newTitle: string;
|
|
393
|
-
}
|
|
394
|
-
export interface DuplicateIssueResponse {
|
|
395
|
-
success: boolean;
|
|
396
|
-
error: string;
|
|
397
|
-
/** The new duplicate issue (new UUID, new display_number) */
|
|
398
|
-
issue?: Issue | undefined;
|
|
399
|
-
/** UUID of the original issue */
|
|
400
|
-
originalIssueId: string;
|
|
401
|
-
/** Updated target project manifest */
|
|
402
|
-
manifest?: Manifest | undefined;
|
|
403
|
-
}
|
|
404
117
|
export interface GetManifestRequest {
|
|
405
118
|
projectPath: string;
|
|
406
119
|
}
|
|
@@ -410,12 +123,6 @@ export interface GetManifestResponse {
|
|
|
410
123
|
error: string;
|
|
411
124
|
manifest?: Manifest | undefined;
|
|
412
125
|
}
|
|
413
|
-
export interface Manifest {
|
|
414
|
-
schemaVersion: number;
|
|
415
|
-
centyVersion: string;
|
|
416
|
-
createdAt: string;
|
|
417
|
-
updatedAt: string;
|
|
418
|
-
}
|
|
419
126
|
export interface FileInfo {
|
|
420
127
|
path: string;
|
|
421
128
|
fileType: FileType;
|
|
@@ -439,8 +146,6 @@ export interface Config {
|
|
|
439
146
|
};
|
|
440
147
|
/** Number of priority levels (default: 3) */
|
|
441
148
|
priorityLevels: number;
|
|
442
|
-
/** Allowed status values (default: ["open", "in-progress", "closed"]) */
|
|
443
|
-
allowedStates: string[];
|
|
444
149
|
/** Project version (semver, empty = daemon default) */
|
|
445
150
|
version: string;
|
|
446
151
|
/** State name → hex color (e.g., "open" → "#10b981") */
|
|
@@ -526,199 +231,6 @@ export interface IsInitializedResponse {
|
|
|
526
231
|
/** Full path to .centy folder if initialized */
|
|
527
232
|
centyPath: string;
|
|
528
233
|
}
|
|
529
|
-
export interface CreateDocRequest {
|
|
530
|
-
projectPath: string;
|
|
531
|
-
/** Doc title (used to generate slug) */
|
|
532
|
-
title: string;
|
|
533
|
-
/** Markdown content */
|
|
534
|
-
content: string;
|
|
535
|
-
/** Optional custom slug (auto-generated from title if empty) */
|
|
536
|
-
slug: string;
|
|
537
|
-
/** Optional template name (without .md extension) */
|
|
538
|
-
template: string;
|
|
539
|
-
/** Create as organization-wide doc (syncs to all org projects) */
|
|
540
|
-
isOrgDoc: boolean;
|
|
541
|
-
}
|
|
542
|
-
/** Result of syncing an org doc to a project */
|
|
543
|
-
export interface OrgDocSyncResult {
|
|
544
|
-
/** Path of target project */
|
|
545
|
-
projectPath: string;
|
|
546
|
-
/** Whether sync succeeded */
|
|
547
|
-
success: boolean;
|
|
548
|
-
/** Error message if failed */
|
|
549
|
-
error: string;
|
|
550
|
-
}
|
|
551
|
-
export interface CreateDocResponse {
|
|
552
|
-
success: boolean;
|
|
553
|
-
error: string;
|
|
554
|
-
/** The created doc slug */
|
|
555
|
-
slug: string;
|
|
556
|
-
/** Path to created file */
|
|
557
|
-
createdFile: string;
|
|
558
|
-
manifest?: Manifest | undefined;
|
|
559
|
-
/** Results from syncing to other org projects */
|
|
560
|
-
syncResults: OrgDocSyncResult[];
|
|
561
|
-
}
|
|
562
|
-
export interface GetDocRequest {
|
|
563
|
-
projectPath: string;
|
|
564
|
-
/** e.g., "getting-started" */
|
|
565
|
-
slug: string;
|
|
566
|
-
}
|
|
567
|
-
/** Wrapper response for GetDoc RPC */
|
|
568
|
-
export interface GetDocResponse {
|
|
569
|
-
success: boolean;
|
|
570
|
-
error: string;
|
|
571
|
-
doc?: Doc | undefined;
|
|
572
|
-
}
|
|
573
|
-
export interface GetDocsBySlugRequest {
|
|
574
|
-
/** The slug to search for (kebab-case) */
|
|
575
|
-
slug: string;
|
|
576
|
-
}
|
|
577
|
-
/** A doc with its source project path */
|
|
578
|
-
export interface DocWithProject {
|
|
579
|
-
doc?: Doc | undefined;
|
|
580
|
-
/** Absolute path to the project where this doc was found */
|
|
581
|
-
projectPath: string;
|
|
582
|
-
/** Human-readable project name (directory name) */
|
|
583
|
-
projectName: string;
|
|
584
|
-
/** Human-readable path with ~/ for home dir (use for display only) */
|
|
585
|
-
displayPath: string;
|
|
586
|
-
}
|
|
587
|
-
export interface GetDocsBySlugResponse {
|
|
588
|
-
docs: DocWithProject[];
|
|
589
|
-
totalCount: number;
|
|
590
|
-
/** Non-fatal errors (e.g., projects that couldn't be accessed) */
|
|
591
|
-
errors: string[];
|
|
592
|
-
success: boolean;
|
|
593
|
-
error: string;
|
|
594
|
-
}
|
|
595
|
-
export interface ListDocsRequest {
|
|
596
|
-
projectPath: string;
|
|
597
|
-
/** Include soft-deleted docs (default: false) */
|
|
598
|
-
includeDeleted: boolean;
|
|
599
|
-
}
|
|
600
|
-
export interface ListDocsResponse {
|
|
601
|
-
docs: Doc[];
|
|
602
|
-
totalCount: number;
|
|
603
|
-
success: boolean;
|
|
604
|
-
error: string;
|
|
605
|
-
}
|
|
606
|
-
/** Doc represents a documentation file */
|
|
607
|
-
export interface Doc {
|
|
608
|
-
/** e.g., "getting-started" */
|
|
609
|
-
slug: string;
|
|
610
|
-
title: string;
|
|
611
|
-
/** Full markdown content */
|
|
612
|
-
content: string;
|
|
613
|
-
metadata?: DocMetadata | undefined;
|
|
614
|
-
}
|
|
615
|
-
export interface DocMetadata {
|
|
616
|
-
/** ISO timestamp */
|
|
617
|
-
createdAt: string;
|
|
618
|
-
/** ISO timestamp */
|
|
619
|
-
updatedAt: string;
|
|
620
|
-
/** ISO timestamp when soft-deleted (empty if not deleted) */
|
|
621
|
-
deletedAt: string;
|
|
622
|
-
/** Whether this is an organization-level doc */
|
|
623
|
-
isOrgDoc: boolean;
|
|
624
|
-
/** Organization slug (for org docs) */
|
|
625
|
-
orgSlug: string;
|
|
626
|
-
}
|
|
627
|
-
export interface UpdateDocRequest {
|
|
628
|
-
projectPath: string;
|
|
629
|
-
slug: string;
|
|
630
|
-
/** Fields to update (empty string = don't update) */
|
|
631
|
-
title: string;
|
|
632
|
-
content: string;
|
|
633
|
-
/** Rename the doc (empty = keep current slug) */
|
|
634
|
-
newSlug: string;
|
|
635
|
-
}
|
|
636
|
-
export interface UpdateDocResponse {
|
|
637
|
-
success: boolean;
|
|
638
|
-
error: string;
|
|
639
|
-
/** The updated doc */
|
|
640
|
-
doc?: Doc | undefined;
|
|
641
|
-
manifest?: Manifest | undefined;
|
|
642
|
-
/** Results from syncing to other org projects (org docs only) */
|
|
643
|
-
syncResults: OrgDocSyncResult[];
|
|
644
|
-
}
|
|
645
|
-
export interface DeleteDocRequest {
|
|
646
|
-
projectPath: string;
|
|
647
|
-
slug: string;
|
|
648
|
-
}
|
|
649
|
-
export interface DeleteDocResponse {
|
|
650
|
-
success: boolean;
|
|
651
|
-
error: string;
|
|
652
|
-
manifest?: Manifest | undefined;
|
|
653
|
-
}
|
|
654
|
-
/** Soft-delete a doc (set deleted_at timestamp) */
|
|
655
|
-
export interface SoftDeleteDocRequest {
|
|
656
|
-
projectPath: string;
|
|
657
|
-
slug: string;
|
|
658
|
-
}
|
|
659
|
-
export interface SoftDeleteDocResponse {
|
|
660
|
-
success: boolean;
|
|
661
|
-
error: string;
|
|
662
|
-
/** The soft-deleted doc (with deleted_at set) */
|
|
663
|
-
doc?: Doc | undefined;
|
|
664
|
-
manifest?: Manifest | undefined;
|
|
665
|
-
}
|
|
666
|
-
/** Restore a soft-deleted doc (clear deleted_at timestamp) */
|
|
667
|
-
export interface RestoreDocRequest {
|
|
668
|
-
projectPath: string;
|
|
669
|
-
slug: string;
|
|
670
|
-
}
|
|
671
|
-
export interface RestoreDocResponse {
|
|
672
|
-
success: boolean;
|
|
673
|
-
error: string;
|
|
674
|
-
/** The restored doc (with deleted_at cleared) */
|
|
675
|
-
doc?: Doc | undefined;
|
|
676
|
-
manifest?: Manifest | undefined;
|
|
677
|
-
}
|
|
678
|
-
export interface MoveDocRequest {
|
|
679
|
-
/** Project containing the doc */
|
|
680
|
-
sourceProjectPath: string;
|
|
681
|
-
/** Slug of the doc to move */
|
|
682
|
-
slug: string;
|
|
683
|
-
/** Target project path */
|
|
684
|
-
targetProjectPath: string;
|
|
685
|
-
/** Optional: new slug if conflict exists */
|
|
686
|
-
newSlug: string;
|
|
687
|
-
}
|
|
688
|
-
export interface MoveDocResponse {
|
|
689
|
-
success: boolean;
|
|
690
|
-
error: string;
|
|
691
|
-
/** The moved doc */
|
|
692
|
-
doc?: Doc | undefined;
|
|
693
|
-
/** Original slug for reference */
|
|
694
|
-
oldSlug: string;
|
|
695
|
-
/** Updated source project manifest */
|
|
696
|
-
sourceManifest?: Manifest | undefined;
|
|
697
|
-
/** Updated target project manifest */
|
|
698
|
-
targetManifest?: Manifest | undefined;
|
|
699
|
-
}
|
|
700
|
-
export interface DuplicateDocRequest {
|
|
701
|
-
/** Project containing the original doc */
|
|
702
|
-
sourceProjectPath: string;
|
|
703
|
-
/** Slug of the doc to duplicate */
|
|
704
|
-
slug: string;
|
|
705
|
-
/** Target project (can be same as source) */
|
|
706
|
-
targetProjectPath: string;
|
|
707
|
-
/** Optional: override slug (default: "{slug}-copy") */
|
|
708
|
-
newSlug: string;
|
|
709
|
-
/** Optional: override title (default: "Copy of {original}") */
|
|
710
|
-
newTitle: string;
|
|
711
|
-
}
|
|
712
|
-
export interface DuplicateDocResponse {
|
|
713
|
-
success: boolean;
|
|
714
|
-
error: string;
|
|
715
|
-
/** The new duplicate doc */
|
|
716
|
-
doc?: Doc | undefined;
|
|
717
|
-
/** Slug of the original doc */
|
|
718
|
-
originalSlug: string;
|
|
719
|
-
/** Updated target project manifest */
|
|
720
|
-
manifest?: Manifest | undefined;
|
|
721
|
-
}
|
|
722
234
|
/** Asset represents file metadata */
|
|
723
235
|
export interface Asset {
|
|
724
236
|
/** Original filename */
|
|
@@ -835,6 +347,10 @@ export interface ProjectInfo {
|
|
|
835
347
|
userTitle: string;
|
|
836
348
|
/** Project-scope custom title (from .centy/project.json) */
|
|
837
349
|
projectTitle: string;
|
|
350
|
+
/** Centy version recorded in manifest (empty if not initialized) */
|
|
351
|
+
projectVersion: string;
|
|
352
|
+
/** True if project version is behind current daemon version */
|
|
353
|
+
projectBehind: boolean;
|
|
838
354
|
}
|
|
839
355
|
export interface ListProjectsRequest {
|
|
840
356
|
/** Include projects where path no longer exists */
|
|
@@ -1013,6 +529,7 @@ export interface UpdateOrganizationResponse {
|
|
|
1013
529
|
}
|
|
1014
530
|
export interface DeleteOrganizationRequest {
|
|
1015
531
|
slug: string;
|
|
532
|
+
cascade: boolean;
|
|
1016
533
|
}
|
|
1017
534
|
export interface DeleteOrganizationResponse {
|
|
1018
535
|
success: boolean;
|
|
@@ -1075,10 +592,6 @@ export interface OpenInTempWorkspaceWithEditorRequest {
|
|
|
1075
592
|
projectPath: string;
|
|
1076
593
|
/** Issue UUID or display number */
|
|
1077
594
|
issueId: string;
|
|
1078
|
-
/** Plan or Implement */
|
|
1079
|
-
action: LlmAction;
|
|
1080
|
-
/** Agent to use (empty = default) */
|
|
1081
|
-
agentName: string;
|
|
1082
595
|
/** Custom TTL in hours (0 = use default 12h) */
|
|
1083
596
|
ttlHours: number;
|
|
1084
597
|
/** Editor ID (e.g., "vscode", "terminal", "zed"). Empty = use project/user default. */
|
|
@@ -1094,8 +607,6 @@ export interface OpenStandaloneWorkspaceWithEditorRequest {
|
|
|
1094
607
|
description: string;
|
|
1095
608
|
/** Custom TTL in hours (0 = use default 12h) */
|
|
1096
609
|
ttlHours: number;
|
|
1097
|
-
/** Agent to use (empty = default) */
|
|
1098
|
-
agentName: string;
|
|
1099
610
|
/** Editor ID (e.g., "vscode", "terminal", "zed"). Empty = use project/user default. */
|
|
1100
611
|
editorId: string;
|
|
1101
612
|
}
|
|
@@ -1105,10 +616,6 @@ export interface OpenInTempWorkspaceRequest {
|
|
|
1105
616
|
projectPath: string;
|
|
1106
617
|
/** Issue UUID or display number */
|
|
1107
618
|
issueId: string;
|
|
1108
|
-
/** Plan or Implement */
|
|
1109
|
-
action: LlmAction;
|
|
1110
|
-
/** Agent to use (empty = default) */
|
|
1111
|
-
agentName: string;
|
|
1112
619
|
/** Custom TTL in hours (0 = use default 12h) */
|
|
1113
620
|
ttlHours: number;
|
|
1114
621
|
}
|
|
@@ -1133,37 +640,6 @@ export interface OpenInTempWorkspaceResponse {
|
|
|
1133
640
|
/** Original creation timestamp (only set if workspace_reused is true) */
|
|
1134
641
|
originalCreatedAt: string;
|
|
1135
642
|
}
|
|
1136
|
-
/** Request to open an agent in a terminal */
|
|
1137
|
-
export interface OpenAgentInTerminalRequest {
|
|
1138
|
-
/** Source project path */
|
|
1139
|
-
projectPath: string;
|
|
1140
|
-
/** Issue UUID or display number */
|
|
1141
|
-
issueId: string;
|
|
1142
|
-
/** Agent to use (empty = default) */
|
|
1143
|
-
agentName: string;
|
|
1144
|
-
/** Temp worktree or current project */
|
|
1145
|
-
workspaceMode: WorkspaceMode;
|
|
1146
|
-
/** Custom TTL in hours (0 = default, only for temp mode) */
|
|
1147
|
-
ttlHours: number;
|
|
1148
|
-
}
|
|
1149
|
-
export interface OpenAgentInTerminalResponse {
|
|
1150
|
-
success: boolean;
|
|
1151
|
-
error: string;
|
|
1152
|
-
/** Path where agent was launched */
|
|
1153
|
-
workingDirectory: string;
|
|
1154
|
-
/** Resolved issue UUID */
|
|
1155
|
-
issueId: string;
|
|
1156
|
-
/** Issue display number */
|
|
1157
|
-
displayNumber: number;
|
|
1158
|
-
/** The agent command that was executed */
|
|
1159
|
-
agentCommand: string;
|
|
1160
|
-
/** Whether terminal was successfully opened */
|
|
1161
|
-
terminalOpened: boolean;
|
|
1162
|
-
/** ISO timestamp (only for temp mode) */
|
|
1163
|
-
expiresAt: string;
|
|
1164
|
-
/** True if user must configure update_status_on_start setting */
|
|
1165
|
-
requiresStatusConfig: boolean;
|
|
1166
|
-
}
|
|
1167
643
|
/** Request to open a standalone workspace (not tied to an issue) */
|
|
1168
644
|
export interface OpenStandaloneWorkspaceRequest {
|
|
1169
645
|
/** Source project path */
|
|
@@ -1174,8 +650,6 @@ export interface OpenStandaloneWorkspaceRequest {
|
|
|
1174
650
|
description: string;
|
|
1175
651
|
/** Custom TTL in hours (0 = use default 12h) */
|
|
1176
652
|
ttlHours: number;
|
|
1177
|
-
/** Agent to use (empty = default) */
|
|
1178
|
-
agentName: string;
|
|
1179
653
|
}
|
|
1180
654
|
/** Response for opening a standalone workspace */
|
|
1181
655
|
export interface OpenStandaloneWorkspaceResponse {
|
|
@@ -1208,10 +682,6 @@ export interface TempWorkspace {
|
|
|
1208
682
|
issueDisplayNumber: number;
|
|
1209
683
|
/** Issue title (empty for standalone) */
|
|
1210
684
|
issueTitle: string;
|
|
1211
|
-
/** Agent being used */
|
|
1212
|
-
agentName: string;
|
|
1213
|
-
/** Plan or Implement */
|
|
1214
|
-
action: LlmAction;
|
|
1215
685
|
/** ISO timestamp */
|
|
1216
686
|
createdAt: string;
|
|
1217
687
|
/** ISO timestamp when workspace expires */
|
|
@@ -1621,4 +1091,231 @@ export interface SyncPushResponse {
|
|
|
1621
1091
|
/** Whether any changes were pushed */
|
|
1622
1092
|
hadChanges: boolean;
|
|
1623
1093
|
}
|
|
1094
|
+
/** Toggle-able features for an item type */
|
|
1095
|
+
export interface ItemTypeFeatures {
|
|
1096
|
+
/** Enable display numbers (1, 2, 3...) */
|
|
1097
|
+
displayNumber: boolean;
|
|
1098
|
+
/** Enable status tracking */
|
|
1099
|
+
status: boolean;
|
|
1100
|
+
/** Enable priority levels */
|
|
1101
|
+
priority: boolean;
|
|
1102
|
+
/** Enable file attachments */
|
|
1103
|
+
assets: boolean;
|
|
1104
|
+
/** Enable organization sync */
|
|
1105
|
+
orgSync: boolean;
|
|
1106
|
+
/** Enable moving between projects */
|
|
1107
|
+
move: boolean;
|
|
1108
|
+
/** Enable duplication */
|
|
1109
|
+
duplicate: boolean;
|
|
1110
|
+
/** Enable soft-deletion (restorable delete) */
|
|
1111
|
+
softDelete: boolean;
|
|
1112
|
+
}
|
|
1113
|
+
/** Request to create a new item type */
|
|
1114
|
+
export interface CreateItemTypeRequest {
|
|
1115
|
+
projectPath: string;
|
|
1116
|
+
/** Singular display name (e.g., "Bug", "Task", "Epic") */
|
|
1117
|
+
name: string;
|
|
1118
|
+
/** Folder/type key (e.g., "bugs", "tasks", "epics") */
|
|
1119
|
+
plural: string;
|
|
1120
|
+
/** "uuid" or "slug" */
|
|
1121
|
+
identifier: string;
|
|
1122
|
+
/** Toggle-able features */
|
|
1123
|
+
features?: ItemTypeFeatures | undefined;
|
|
1124
|
+
/** Allowed statuses (e.g., ["open", "in-progress", "closed"]) */
|
|
1125
|
+
statuses: string[];
|
|
1126
|
+
/** Default status for new items (must be in statuses list) */
|
|
1127
|
+
defaultStatus: string;
|
|
1128
|
+
/** Number of priority levels (0 = none) */
|
|
1129
|
+
priorityLevels: number;
|
|
1130
|
+
/** Custom field definitions */
|
|
1131
|
+
customFields: CustomFieldDefinition[];
|
|
1132
|
+
}
|
|
1133
|
+
/** Response after creating an item type */
|
|
1134
|
+
export interface CreateItemTypeResponse {
|
|
1135
|
+
success: boolean;
|
|
1136
|
+
error: string;
|
|
1137
|
+
/** The created item type config */
|
|
1138
|
+
config?: ItemTypeConfigProto | undefined;
|
|
1139
|
+
}
|
|
1140
|
+
/** Proto representation of an ItemTypeConfig */
|
|
1141
|
+
export interface ItemTypeConfigProto {
|
|
1142
|
+
name: string;
|
|
1143
|
+
plural: string;
|
|
1144
|
+
identifier: string;
|
|
1145
|
+
features?: ItemTypeFeatures | undefined;
|
|
1146
|
+
statuses: string[];
|
|
1147
|
+
defaultStatus: string;
|
|
1148
|
+
priorityLevels: number;
|
|
1149
|
+
customFields: CustomFieldDefinition[];
|
|
1150
|
+
/** Optional icon identifier (e.g. "clipboard") */
|
|
1151
|
+
icon: string;
|
|
1152
|
+
/** Optional template file path */
|
|
1153
|
+
template: string;
|
|
1154
|
+
}
|
|
1155
|
+
export interface ListItemTypesRequest {
|
|
1156
|
+
projectPath: string;
|
|
1157
|
+
}
|
|
1158
|
+
export interface ListItemTypesResponse {
|
|
1159
|
+
success: boolean;
|
|
1160
|
+
error: string;
|
|
1161
|
+
itemTypes: ItemTypeConfigProto[];
|
|
1162
|
+
totalCount: number;
|
|
1163
|
+
}
|
|
1164
|
+
export interface MoveItemRequest {
|
|
1165
|
+
sourceProjectPath: string;
|
|
1166
|
+
targetProjectPath: string;
|
|
1167
|
+
itemType: string;
|
|
1168
|
+
itemId: string;
|
|
1169
|
+
/** Optional: for slug renames */
|
|
1170
|
+
newId: string;
|
|
1171
|
+
}
|
|
1172
|
+
export interface MoveItemResponse {
|
|
1173
|
+
success: boolean;
|
|
1174
|
+
error: string;
|
|
1175
|
+
item?: GenericItem | undefined;
|
|
1176
|
+
oldId: string;
|
|
1177
|
+
sourceManifest?: Manifest | undefined;
|
|
1178
|
+
targetManifest?: Manifest | undefined;
|
|
1179
|
+
}
|
|
1180
|
+
export interface ArchiveItemRequest {
|
|
1181
|
+
projectPath: string;
|
|
1182
|
+
/** Source folder name (e.g., "issues", "docs") */
|
|
1183
|
+
itemType: string;
|
|
1184
|
+
/** UUID of the item to archive */
|
|
1185
|
+
itemId: string;
|
|
1186
|
+
}
|
|
1187
|
+
export interface ArchiveItemResponse {
|
|
1188
|
+
success: boolean;
|
|
1189
|
+
error: string;
|
|
1190
|
+
/** The archived item with original_item_type set */
|
|
1191
|
+
item?: GenericItem | undefined;
|
|
1192
|
+
}
|
|
1193
|
+
export interface UnarchiveItemRequest {
|
|
1194
|
+
projectPath: string;
|
|
1195
|
+
/** UUID of the archived item */
|
|
1196
|
+
itemId: string;
|
|
1197
|
+
/** Optional: override original_item_type from metadata */
|
|
1198
|
+
targetItemType: string;
|
|
1199
|
+
}
|
|
1200
|
+
export interface UnarchiveItemResponse {
|
|
1201
|
+
success: boolean;
|
|
1202
|
+
error: string;
|
|
1203
|
+
/** The restored item */
|
|
1204
|
+
item?: GenericItem | undefined;
|
|
1205
|
+
/** The folder the item was restored to */
|
|
1206
|
+
originalItemType: string;
|
|
1207
|
+
}
|
|
1208
|
+
export interface OrgIssueMetadata {
|
|
1209
|
+
displayNumber: number;
|
|
1210
|
+
status: string;
|
|
1211
|
+
priority: number;
|
|
1212
|
+
createdAt: string;
|
|
1213
|
+
updatedAt: string;
|
|
1214
|
+
customFields: {
|
|
1215
|
+
[key: string]: string;
|
|
1216
|
+
};
|
|
1217
|
+
priorityLabel: string;
|
|
1218
|
+
referencedProjects: string[];
|
|
1219
|
+
}
|
|
1220
|
+
export interface OrgIssueMetadata_CustomFieldsEntry {
|
|
1221
|
+
key: string;
|
|
1222
|
+
value: string;
|
|
1223
|
+
}
|
|
1224
|
+
export interface OrgIssue {
|
|
1225
|
+
id: string;
|
|
1226
|
+
displayNumber: number;
|
|
1227
|
+
title: string;
|
|
1228
|
+
description: string;
|
|
1229
|
+
metadata?: OrgIssueMetadata | undefined;
|
|
1230
|
+
}
|
|
1231
|
+
export interface CreateOrgIssueRequest {
|
|
1232
|
+
organizationSlug: string;
|
|
1233
|
+
title: string;
|
|
1234
|
+
description: string;
|
|
1235
|
+
priority: number;
|
|
1236
|
+
status: string;
|
|
1237
|
+
customFields: {
|
|
1238
|
+
[key: string]: string;
|
|
1239
|
+
};
|
|
1240
|
+
referencedProjects: string[];
|
|
1241
|
+
}
|
|
1242
|
+
export interface CreateOrgIssueRequest_CustomFieldsEntry {
|
|
1243
|
+
key: string;
|
|
1244
|
+
value: string;
|
|
1245
|
+
}
|
|
1246
|
+
export interface CreateOrgIssueResponse {
|
|
1247
|
+
success: boolean;
|
|
1248
|
+
error: string;
|
|
1249
|
+
id: string;
|
|
1250
|
+
displayNumber: number;
|
|
1251
|
+
createdFiles: string[];
|
|
1252
|
+
}
|
|
1253
|
+
export interface GetOrgIssueRequest {
|
|
1254
|
+
organizationSlug: string;
|
|
1255
|
+
issueId: string;
|
|
1256
|
+
}
|
|
1257
|
+
export interface GetOrgIssueByDisplayNumberRequest {
|
|
1258
|
+
organizationSlug: string;
|
|
1259
|
+
displayNumber: number;
|
|
1260
|
+
}
|
|
1261
|
+
export interface ListOrgIssuesRequest {
|
|
1262
|
+
organizationSlug: string;
|
|
1263
|
+
/** Filter by status (empty = all) */
|
|
1264
|
+
status: string;
|
|
1265
|
+
/** Filter by priority (0 = all) */
|
|
1266
|
+
priority: number;
|
|
1267
|
+
/** Filter by referenced project path (empty = all) */
|
|
1268
|
+
referencedProject: string;
|
|
1269
|
+
}
|
|
1270
|
+
export interface ListOrgIssuesResponse {
|
|
1271
|
+
issues: OrgIssue[];
|
|
1272
|
+
totalCount: number;
|
|
1273
|
+
}
|
|
1274
|
+
export interface UpdateOrgIssueRequest {
|
|
1275
|
+
organizationSlug: string;
|
|
1276
|
+
issueId: string;
|
|
1277
|
+
title: string;
|
|
1278
|
+
description: string;
|
|
1279
|
+
status: string;
|
|
1280
|
+
priority: number;
|
|
1281
|
+
customFields: {
|
|
1282
|
+
[key: string]: string;
|
|
1283
|
+
};
|
|
1284
|
+
addReferencedProjects: string[];
|
|
1285
|
+
removeReferencedProjects: string[];
|
|
1286
|
+
}
|
|
1287
|
+
export interface UpdateOrgIssueRequest_CustomFieldsEntry {
|
|
1288
|
+
key: string;
|
|
1289
|
+
value: string;
|
|
1290
|
+
}
|
|
1291
|
+
export interface UpdateOrgIssueResponse {
|
|
1292
|
+
success: boolean;
|
|
1293
|
+
error: string;
|
|
1294
|
+
issue?: OrgIssue | undefined;
|
|
1295
|
+
}
|
|
1296
|
+
export interface DeleteOrgIssueRequest {
|
|
1297
|
+
organizationSlug: string;
|
|
1298
|
+
issueId: string;
|
|
1299
|
+
}
|
|
1300
|
+
export interface DeleteOrgIssueResponse {
|
|
1301
|
+
success: boolean;
|
|
1302
|
+
error: string;
|
|
1303
|
+
}
|
|
1304
|
+
export interface OrgConfig {
|
|
1305
|
+
priorityLevels: number;
|
|
1306
|
+
customFields: CustomFieldDefinition[];
|
|
1307
|
+
}
|
|
1308
|
+
export interface GetOrgConfigRequest {
|
|
1309
|
+
organizationSlug: string;
|
|
1310
|
+
}
|
|
1311
|
+
export interface UpdateOrgConfigRequest {
|
|
1312
|
+
organizationSlug: string;
|
|
1313
|
+
priorityLevels: number;
|
|
1314
|
+
customFields: CustomFieldDefinition[];
|
|
1315
|
+
}
|
|
1316
|
+
export interface UpdateOrgConfigResponse {
|
|
1317
|
+
success: boolean;
|
|
1318
|
+
error: string;
|
|
1319
|
+
config?: OrgConfig | undefined;
|
|
1320
|
+
}
|
|
1624
1321
|
//# sourceMappingURL=centy.d.ts.map
|