centy 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +25 -3
  2. package/dist/commands/add/asset.d.ts.map +1 -1
  3. package/dist/commands/add/asset.js +1 -2
  4. package/dist/commands/add/asset.js.map +1 -1
  5. package/dist/commands/close.d.ts +0 -2
  6. package/dist/commands/close.d.ts.map +1 -1
  7. package/dist/commands/close.js +3 -38
  8. package/dist/commands/close.js.map +1 -1
  9. package/dist/commands/get/pr.d.ts.map +1 -1
  10. package/dist/commands/get/pr.js +0 -3
  11. package/dist/commands/get/pr.js.map +1 -1
  12. package/dist/commands/update/pr.d.ts.map +1 -1
  13. package/dist/commands/update/pr.js +0 -4
  14. package/dist/commands/update/pr.js.map +1 -1
  15. package/dist/commands/workspace/close.js +2 -2
  16. package/dist/commands/workspace/close.js.map +1 -1
  17. package/dist/commands/workspace/open.js +6 -6
  18. package/dist/commands/workspace/open.js.map +1 -1
  19. package/dist/daemon/daemon-get-config.d.ts.map +1 -1
  20. package/dist/daemon/daemon-get-config.js +7 -2
  21. package/dist/daemon/daemon-get-config.js.map +1 -1
  22. package/dist/daemon/daemon-get-doc.d.ts.map +1 -1
  23. package/dist/daemon/daemon-get-doc.js +7 -2
  24. package/dist/daemon/daemon-get-doc.js.map +1 -1
  25. package/dist/daemon/daemon-get-issue-by-display-number.d.ts.map +1 -1
  26. package/dist/daemon/daemon-get-issue-by-display-number.js +7 -2
  27. package/dist/daemon/daemon-get-issue-by-display-number.js.map +1 -1
  28. package/dist/daemon/daemon-get-issue.d.ts.map +1 -1
  29. package/dist/daemon/daemon-get-issue.js +7 -2
  30. package/dist/daemon/daemon-get-issue.js.map +1 -1
  31. package/dist/daemon/daemon-get-manifest.d.ts.map +1 -1
  32. package/dist/daemon/daemon-get-manifest.js +7 -2
  33. package/dist/daemon/daemon-get-manifest.js.map +1 -1
  34. package/dist/daemon/daemon-get-pr-by-display-number.d.ts.map +1 -1
  35. package/dist/daemon/daemon-get-pr-by-display-number.js +7 -2
  36. package/dist/daemon/daemon-get-pr-by-display-number.js.map +1 -1
  37. package/dist/daemon/daemon-get-pr.d.ts.map +1 -1
  38. package/dist/daemon/daemon-get-pr.js +7 -2
  39. package/dist/daemon/daemon-get-pr.js.map +1 -1
  40. package/dist/daemon/daemon-get-user.d.ts.map +1 -1
  41. package/dist/daemon/daemon-get-user.js +7 -2
  42. package/dist/daemon/daemon-get-user.js.map +1 -1
  43. package/dist/daemon/daemon-open-in-temp-workspace.d.ts +6 -0
  44. package/dist/daemon/daemon-open-in-temp-workspace.d.ts.map +1 -0
  45. package/dist/daemon/daemon-open-in-temp-workspace.js +9 -0
  46. package/dist/daemon/daemon-open-in-temp-workspace.js.map +1 -0
  47. package/dist/daemon/daemon-response-error.d.ts +7 -0
  48. package/dist/daemon/daemon-response-error.d.ts.map +1 -0
  49. package/dist/daemon/daemon-response-error.js +10 -0
  50. package/dist/daemon/daemon-response-error.js.map +1 -0
  51. package/dist/daemon/load-proto.d.ts +31 -24
  52. package/dist/daemon/load-proto.d.ts.map +1 -1
  53. package/dist/daemon/load-proto.js +1 -1
  54. package/dist/daemon/load-proto.js.map +1 -1
  55. package/dist/daemon/types.d.ts +427 -202
  56. package/dist/daemon/types.d.ts.map +1 -1
  57. package/dist/daemon/types.js +1 -1
  58. package/dist/lib/create-pr/create-pr.d.ts.map +1 -1
  59. package/dist/lib/create-pr/create-pr.js +0 -1
  60. package/dist/lib/create-pr/create-pr.js.map +1 -1
  61. package/dist/lib/init/init.d.ts.map +1 -1
  62. package/dist/lib/init/init.js +2 -3
  63. package/dist/lib/init/init.js.map +1 -1
  64. package/dist/lib/install-binary/download.d.ts.map +1 -1
  65. package/dist/lib/install-binary/download.js +4 -3
  66. package/dist/lib/install-binary/download.js.map +1 -1
  67. package/dist/lib/install-script-url.js +1 -1
  68. package/dist/lib/install-script-url.js.map +1 -1
  69. package/oclif.manifest.json +334 -1008
  70. package/package.json +1 -1
  71. package/proto/centy.proto +47 -104
  72. package/dist/commands/add/plan.d.ts +0 -18
  73. package/dist/commands/add/plan.d.ts.map +0 -1
  74. package/dist/commands/add/plan.js +0 -87
  75. package/dist/commands/add/plan.js.map +0 -1
  76. package/dist/commands/assign/issue.d.ts +0 -19
  77. package/dist/commands/assign/issue.d.ts.map +0 -1
  78. package/dist/commands/assign/issue.js +0 -79
  79. package/dist/commands/assign/issue.js.map +0 -1
  80. package/dist/commands/close/org-issue.d.ts +0 -17
  81. package/dist/commands/close/org-issue.d.ts.map +0 -1
  82. package/dist/commands/close/org-issue.js +0 -69
  83. package/dist/commands/close/org-issue.js.map +0 -1
  84. package/dist/commands/create/org-issue.d.ts +0 -22
  85. package/dist/commands/create/org-issue.d.ts.map +0 -1
  86. package/dist/commands/create/org-issue.js +0 -99
  87. package/dist/commands/create/org-issue.js.map +0 -1
  88. package/dist/commands/delete/org-issue.d.ts +0 -18
  89. package/dist/commands/delete/org-issue.d.ts.map +0 -1
  90. package/dist/commands/delete/org-issue.js +0 -73
  91. package/dist/commands/delete/org-issue.js.map +0 -1
  92. package/dist/commands/delete/plan.d.ts +0 -17
  93. package/dist/commands/delete/plan.d.ts.map +0 -1
  94. package/dist/commands/delete/plan.js +0 -74
  95. package/dist/commands/delete/plan.js.map +0 -1
  96. package/dist/commands/get/org-issue.d.ts +0 -17
  97. package/dist/commands/get/org-issue.d.ts.map +0 -1
  98. package/dist/commands/get/org-issue.js +0 -84
  99. package/dist/commands/get/org-issue.js.map +0 -1
  100. package/dist/commands/get/plan.d.ts +0 -18
  101. package/dist/commands/get/plan.d.ts.map +0 -1
  102. package/dist/commands/get/plan.js +0 -68
  103. package/dist/commands/get/plan.js.map +0 -1
  104. package/dist/commands/list/org-issues.d.ts +0 -20
  105. package/dist/commands/list/org-issues.d.ts.map +0 -1
  106. package/dist/commands/list/org-issues.js +0 -83
  107. package/dist/commands/list/org-issues.js.map +0 -1
  108. package/dist/commands/unassign/issue.d.ts +0 -19
  109. package/dist/commands/unassign/issue.d.ts.map +0 -1
  110. package/dist/commands/unassign/issue.js +0 -79
  111. package/dist/commands/unassign/issue.js.map +0 -1
  112. package/dist/commands/update/org-issue.d.ts +0 -23
  113. package/dist/commands/update/org-issue.d.ts.map +0 -1
  114. package/dist/commands/update/org-issue.js +0 -129
  115. package/dist/commands/update/org-issue.js.map +0 -1
  116. package/dist/daemon/daemon-assign-issue.d.ts +0 -6
  117. package/dist/daemon/daemon-assign-issue.d.ts.map +0 -1
  118. package/dist/daemon/daemon-assign-issue.js +0 -9
  119. package/dist/daemon/daemon-assign-issue.js.map +0 -1
  120. package/dist/daemon/daemon-create-org-issue.d.ts +0 -6
  121. package/dist/daemon/daemon-create-org-issue.d.ts.map +0 -1
  122. package/dist/daemon/daemon-create-org-issue.js +0 -9
  123. package/dist/daemon/daemon-create-org-issue.js.map +0 -1
  124. package/dist/daemon/daemon-delete-org-issue.d.ts +0 -6
  125. package/dist/daemon/daemon-delete-org-issue.d.ts.map +0 -1
  126. package/dist/daemon/daemon-delete-org-issue.js +0 -9
  127. package/dist/daemon/daemon-delete-org-issue.js.map +0 -1
  128. package/dist/daemon/daemon-delete-plan.d.ts +0 -6
  129. package/dist/daemon/daemon-delete-plan.d.ts.map +0 -1
  130. package/dist/daemon/daemon-delete-plan.js +0 -9
  131. package/dist/daemon/daemon-delete-plan.js.map +0 -1
  132. package/dist/daemon/daemon-get-org-config.d.ts +0 -6
  133. package/dist/daemon/daemon-get-org-config.d.ts.map +0 -1
  134. package/dist/daemon/daemon-get-org-config.js +0 -9
  135. package/dist/daemon/daemon-get-org-config.js.map +0 -1
  136. package/dist/daemon/daemon-get-org-issue-by-display-number.d.ts +0 -6
  137. package/dist/daemon/daemon-get-org-issue-by-display-number.d.ts.map +0 -1
  138. package/dist/daemon/daemon-get-org-issue-by-display-number.js +0 -9
  139. package/dist/daemon/daemon-get-org-issue-by-display-number.js.map +0 -1
  140. package/dist/daemon/daemon-get-org-issue.d.ts +0 -6
  141. package/dist/daemon/daemon-get-org-issue.d.ts.map +0 -1
  142. package/dist/daemon/daemon-get-org-issue.js +0 -9
  143. package/dist/daemon/daemon-get-org-issue.js.map +0 -1
  144. package/dist/daemon/daemon-get-plan.d.ts +0 -6
  145. package/dist/daemon/daemon-get-plan.d.ts.map +0 -1
  146. package/dist/daemon/daemon-get-plan.js +0 -9
  147. package/dist/daemon/daemon-get-plan.js.map +0 -1
  148. package/dist/daemon/daemon-list-org-issues.d.ts +0 -6
  149. package/dist/daemon/daemon-list-org-issues.d.ts.map +0 -1
  150. package/dist/daemon/daemon-list-org-issues.js +0 -9
  151. package/dist/daemon/daemon-list-org-issues.js.map +0 -1
  152. package/dist/daemon/daemon-open-in-temp-vscode.d.ts +0 -6
  153. package/dist/daemon/daemon-open-in-temp-vscode.d.ts.map +0 -1
  154. package/dist/daemon/daemon-open-in-temp-vscode.js +0 -9
  155. package/dist/daemon/daemon-open-in-temp-vscode.js.map +0 -1
  156. package/dist/daemon/daemon-spawn-agent.d.ts +0 -6
  157. package/dist/daemon/daemon-spawn-agent.d.ts.map +0 -1
  158. package/dist/daemon/daemon-spawn-agent.js +0 -9
  159. package/dist/daemon/daemon-spawn-agent.js.map +0 -1
  160. package/dist/daemon/daemon-unassign-issue.d.ts +0 -6
  161. package/dist/daemon/daemon-unassign-issue.d.ts.map +0 -1
  162. package/dist/daemon/daemon-unassign-issue.js +0 -9
  163. package/dist/daemon/daemon-unassign-issue.js.map +0 -1
  164. package/dist/daemon/daemon-update-org-config.d.ts +0 -6
  165. package/dist/daemon/daemon-update-org-config.d.ts.map +0 -1
  166. package/dist/daemon/daemon-update-org-config.js +0 -9
  167. package/dist/daemon/daemon-update-org-config.js.map +0 -1
  168. package/dist/daemon/daemon-update-org-issue.d.ts +0 -6
  169. package/dist/daemon/daemon-update-org-issue.d.ts.map +0 -1
  170. package/dist/daemon/daemon-update-org-issue.js +0 -9
  171. package/dist/daemon/daemon-update-org-issue.js.map +0 -1
  172. package/dist/daemon/daemon-update-plan.d.ts +0 -6
  173. package/dist/daemon/daemon-update-plan.d.ts.map +0 -1
  174. package/dist/daemon/daemon-update-plan.js +0 -9
  175. package/dist/daemon/daemon-update-plan.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centy",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "description": "CLI for managing project issues and docs via code in the .centy folder",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/proto/centy.proto CHANGED
@@ -1,6 +1,6 @@
1
1
  syntax = "proto3";
2
2
 
3
- package centy;
3
+ package centy.v1;
4
4
 
5
5
  // CentyDaemon service - manages .centy folder operations
6
6
  service CentyDaemon {
@@ -204,47 +204,30 @@ service CentyDaemon {
204
204
  // Restart the daemon
205
205
  rpc Restart(RestartRequest) returns (RestartResponse);
206
206
 
207
- // ============ Features RPCs ============
208
-
209
- // Get the status of the features system
210
- rpc GetFeatureStatus(GetFeatureStatusRequest) returns (GetFeatureStatusResponse);
211
-
212
- // List all uncompacted issues
213
- rpc ListUncompactedIssues(ListUncompactedIssuesRequest) returns (ListUncompactedIssuesResponse);
214
-
215
- // Get the instruction.md content
216
- rpc GetInstruction(GetInstructionRequest) returns (GetInstructionResponse);
217
-
218
- // Get the current compact.md content
219
- rpc GetCompact(GetCompactRequest) returns (GetCompactResponse);
220
-
221
- // Update the compact.md content
222
- rpc UpdateCompact(UpdateCompactRequest) returns (UpdateCompactResponse);
223
-
224
- // Save a new migration file
225
- rpc SaveMigration(SaveMigrationRequest) returns (SaveMigrationResponse);
226
-
227
- // Mark multiple issues as compacted
228
- rpc MarkIssuesCompacted(MarkIssuesCompactedRequest) returns (MarkIssuesCompactedResponse);
229
-
230
207
  // ============ Temp Workspace RPCs ============
231
208
 
232
209
  // Get list of supported workspace editors
233
210
  rpc GetSupportedEditors(GetSupportedEditorsRequest) returns (GetSupportedEditorsResponse);
234
211
 
235
- // Open a project in a temporary VS Code workspace
212
+ // Open a project in a temporary workspace with a configurable editor
213
+ rpc OpenInTempWorkspace(OpenInTempWorkspaceWithEditorRequest) returns (OpenInTempWorkspaceResponse);
214
+
215
+ // Open a standalone workspace with a configurable editor (not tied to an issue)
216
+ rpc OpenStandaloneWorkspace(OpenStandaloneWorkspaceWithEditorRequest) returns (OpenStandaloneWorkspaceResponse);
217
+
218
+ // Open a project in a temporary VS Code workspace (deprecated: use OpenInTempWorkspace)
236
219
  rpc OpenInTempVscode(OpenInTempWorkspaceRequest) returns (OpenInTempWorkspaceResponse);
237
220
 
238
- // Open a project in a temporary terminal workspace
221
+ // Open a project in a temporary terminal workspace (deprecated: use OpenInTempWorkspace)
239
222
  rpc OpenInTempTerminal(OpenInTempWorkspaceRequest) returns (OpenInTempWorkspaceResponse);
240
223
 
241
224
  // Open an agent in a terminal for working on an issue
242
225
  rpc OpenAgentInTerminal(OpenAgentInTerminalRequest) returns (OpenAgentInTerminalResponse);
243
226
 
244
- // Open a standalone workspace in VS Code (not tied to an issue)
227
+ // Open a standalone workspace in VS Code (deprecated: use OpenStandaloneWorkspace)
245
228
  rpc OpenStandaloneWorkspaceVscode(OpenStandaloneWorkspaceRequest) returns (OpenStandaloneWorkspaceResponse);
246
229
 
247
- // Open a standalone workspace in terminal (not tied to an issue)
230
+ // Open a standalone workspace in terminal (deprecated: use OpenStandaloneWorkspace)
248
231
  rpc OpenStandaloneWorkspaceTerminal(OpenStandaloneWorkspaceRequest) returns (OpenStandaloneWorkspaceResponse);
249
232
 
250
233
  // List all temp workspaces
@@ -462,8 +445,7 @@ message IssueMetadata {
462
445
  string updated_at = 5; // ISO timestamp
463
446
  map<string, string> custom_fields = 6;
464
447
  string priority_label = 7; // Human-readable label (e.g., "high", "P1")
465
- bool compacted = 8; // Whether issue has been compacted into features
466
- string compacted_at = 9; // ISO timestamp when compacted (empty if not)
448
+ reserved 8, 9; // Removed: compacted, compacted_at (moved to CLI)
467
449
  bool draft = 10; // Whether this issue is a draft
468
450
  string deleted_at = 11; // ISO timestamp when soft-deleted (empty if not deleted)
469
451
  bool is_org_issue = 12; // Whether this is an organization-level issue
@@ -696,6 +678,8 @@ message Config {
696
678
  map<string, string> priority_colors = 8; // Priority level → hex color (e.g., "1" → "#ef4444")
697
679
  LlmConfig llm = 9; // LLM-related settings
698
680
  repeated LinkTypeDefinition custom_link_types = 10; // Custom link types (in addition to built-in)
681
+ string default_editor = 11; // Default editor ID for this project (e.g., "vscode", "terminal", "zed")
682
+ repeated HookDefinition hooks = 12; // Lifecycle hooks
699
683
  }
700
684
 
701
685
  message CustomFieldDefinition {
@@ -713,6 +697,15 @@ message LlmConfig {
713
697
  WorkspaceMode default_workspace_mode = 4; // Default workspace mode for agent operations
714
698
  }
715
699
 
700
+ // Lifecycle hook definition (bash scripts to run before/after operations)
701
+ message HookDefinition {
702
+ string pattern = 1; // Pattern like "pre:issue:create" or "*:*:delete"
703
+ string command = 2; // Bash command to execute
704
+ bool run_async = 3; // If true, run in background (post-hooks only)
705
+ uint64 timeout = 4; // Timeout in seconds (default: 30)
706
+ bool enabled = 5; // Whether hook is enabled (default: true)
707
+ }
708
+
716
709
  // Custom link type definition (for custom relationship types)
717
710
  message LinkTypeDefinition {
718
711
  string name = 1; // Link type name (e.g., "depends-on")
@@ -1398,78 +1391,6 @@ message RestorePrResponse {
1398
1391
  Manifest manifest = 4;
1399
1392
  }
1400
1393
 
1401
- // ============ Features Messages ============
1402
-
1403
- message GetFeatureStatusRequest {
1404
- string project_path = 1;
1405
- }
1406
-
1407
- message GetFeatureStatusResponse {
1408
- bool initialized = 1; // features/ folder exists
1409
- bool has_compact = 2; // compact.md exists
1410
- bool has_instruction = 3; // instruction.md exists
1411
- uint32 uncompacted_count = 5; // Number of uncompacted issues
1412
- }
1413
-
1414
- message ListUncompactedIssuesRequest {
1415
- string project_path = 1;
1416
- }
1417
-
1418
- message ListUncompactedIssuesResponse {
1419
- repeated Issue issues = 1;
1420
- int32 total_count = 2;
1421
- }
1422
-
1423
- message GetInstructionRequest {
1424
- string project_path = 1;
1425
- }
1426
-
1427
- message GetInstructionResponse {
1428
- string content = 1; // instruction.md content
1429
- }
1430
-
1431
- message GetCompactRequest {
1432
- string project_path = 1;
1433
- }
1434
-
1435
- message GetCompactResponse {
1436
- bool exists = 1; // Whether compact.md exists
1437
- string content = 2; // compact.md content (empty if not exists)
1438
- }
1439
-
1440
- message UpdateCompactRequest {
1441
- string project_path = 1;
1442
- string content = 2; // New compact.md content
1443
- }
1444
-
1445
- message UpdateCompactResponse {
1446
- bool success = 1;
1447
- string error = 2;
1448
- }
1449
-
1450
- message SaveMigrationRequest {
1451
- string project_path = 1;
1452
- string content = 2; // Migration file content (markdown with YAML frontmatter)
1453
- }
1454
-
1455
- message SaveMigrationResponse {
1456
- bool success = 1;
1457
- string error = 2;
1458
- string filename = 3; // Created migration filename (e.g., "2025-12-06T19-30-00.md")
1459
- string path = 4; // Full relative path to migration file
1460
- }
1461
-
1462
- message MarkIssuesCompactedRequest {
1463
- string project_path = 1;
1464
- repeated string issue_ids = 2; // UUIDs of issues to mark as compacted
1465
- }
1466
-
1467
- message MarkIssuesCompactedResponse {
1468
- bool success = 1;
1469
- string error = 2;
1470
- uint32 marked_count = 3; // Number of issues successfully marked
1471
- }
1472
-
1473
1394
  // ============ Temp Workspace Messages ============
1474
1395
 
1475
1396
  // Action types for workspace operations
@@ -1499,10 +1420,12 @@ message GetSupportedEditorsRequest {}
1499
1420
 
1500
1421
  // Information about a supported editor
1501
1422
  message EditorInfo {
1502
- EditorType editor_type = 1; // Editor type enum value
1423
+ EditorType editor_type = 1; // Editor type enum value (deprecated: use editor_id)
1503
1424
  string name = 2; // Display name (e.g., "VS Code", "Terminal")
1504
1425
  string description = 3; // Brief description
1505
1426
  bool available = 4; // Whether this editor is available on the current system
1427
+ string editor_id = 5; // String-based editor identifier (e.g., "vscode", "terminal", "zed")
1428
+ bool terminal_wrapper = 6; // Whether this editor runs inside a terminal
1506
1429
  }
1507
1430
 
1508
1431
  // Response with list of supported editors
@@ -1510,7 +1433,27 @@ message GetSupportedEditorsResponse {
1510
1433
  repeated EditorInfo editors = 1; // List of supported editors
1511
1434
  }
1512
1435
 
1513
- // Shared request for OpenInTempVscode and OpenInTempTerminal
1436
+ // Request for unified OpenInTempWorkspace (new, configurable editor)
1437
+ message OpenInTempWorkspaceWithEditorRequest {
1438
+ string project_path = 1; // Source project path
1439
+ string issue_id = 2; // Issue UUID or display number
1440
+ LlmAction action = 3; // Plan or Implement
1441
+ string agent_name = 4; // Agent to use (empty = default)
1442
+ uint32 ttl_hours = 5; // Custom TTL in hours (0 = use default 12h)
1443
+ string editor_id = 6; // Editor ID (e.g., "vscode", "terminal", "zed"). Empty = use project/user default.
1444
+ }
1445
+
1446
+ // Request for unified OpenStandaloneWorkspace (new, configurable editor)
1447
+ message OpenStandaloneWorkspaceWithEditorRequest {
1448
+ string project_path = 1; // Source project path
1449
+ string name = 2; // Optional custom name for the workspace
1450
+ string description = 3; // Optional description/goals for this workspace
1451
+ uint32 ttl_hours = 4; // Custom TTL in hours (0 = use default 12h)
1452
+ string agent_name = 5; // Agent to use (empty = default)
1453
+ string editor_id = 6; // Editor ID (e.g., "vscode", "terminal", "zed"). Empty = use project/user default.
1454
+ }
1455
+
1456
+ // Shared request for OpenInTempVscode and OpenInTempTerminal (deprecated: use OpenInTempWorkspaceWithEditorRequest)
1514
1457
  message OpenInTempWorkspaceRequest {
1515
1458
  string project_path = 1; // Source project path
1516
1459
  string issue_id = 2; // Issue UUID or display number
@@ -1,18 +0,0 @@
1
- import { Command } from '@oclif/core';
2
- /**
3
- * Add or update an issue's plan
4
- */
5
- export default class AddPlan extends Command {
6
- static aliases: string[];
7
- static args: {
8
- issueId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
9
- };
10
- static description: string;
11
- static examples: string[];
12
- static flags: {
13
- file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- };
16
- run(): Promise<void>;
17
- }
18
- //# sourceMappingURL=plan.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/commands/add/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAUlD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAE1C,OAAgB,OAAO,WAA8B;IAGrD,OAAgB,IAAI;;MAKnB;IAGD,OAAgB,WAAW,SAAkC;IAG7D,OAAgB,QAAQ,WAKvB;IAGD,OAAgB,KAAK;;;MAMpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAiDlC"}
@@ -1,87 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- // eslint-disable-next-line import/order
3
- import { Args, Command, Flags } from '@oclif/core';
4
- import { daemonUpdatePlan } from '../../daemon/daemon-update-plan.js';
5
- import { projectFlag } from '../../flags/project-flag.js';
6
- import { ensureInitialized, NotInitializedError, } from '../../utils/ensure-initialized.js';
7
- import { resolveProjectPath } from '../../utils/resolve-project-path.js';
8
- /**
9
- * Add or update an issue's plan
10
- */
11
- // eslint-disable-next-line custom/no-default-class-export, class-export/class-export
12
- export default class AddPlan extends Command {
13
- // eslint-disable-next-line no-restricted-syntax
14
- static aliases = ['update:plan', 'set:plan'];
15
- // eslint-disable-next-line no-restricted-syntax
16
- static args = {
17
- issueId: Args.string({
18
- description: 'Issue ID or display number',
19
- required: true,
20
- }),
21
- };
22
- // eslint-disable-next-line no-restricted-syntax
23
- static description = "Add or update an issue's plan";
24
- // eslint-disable-next-line no-restricted-syntax
25
- static examples = [
26
- '<%= config.bin %> add plan 1 --file ./plan.md',
27
- '<%= config.bin %> add plan abc123 --file ./plan.md',
28
- 'echo "# Plan" | <%= config.bin %> add plan 1',
29
- '<%= config.bin %> add plan 1 --project centy-daemon --file ./plan.md',
30
- ];
31
- // eslint-disable-next-line no-restricted-syntax
32
- static flags = {
33
- file: Flags.string({
34
- char: 'f',
35
- description: 'Path to the plan file (reads from stdin if not provided)',
36
- }),
37
- project: projectFlag,
38
- };
39
- async run() {
40
- const { args, flags } = await this.parse(AddPlan);
41
- const cwd = await resolveProjectPath(flags.project);
42
- try {
43
- await ensureInitialized(cwd);
44
- }
45
- catch (error) {
46
- if (error instanceof NotInitializedError) {
47
- this.error(error.message);
48
- }
49
- throw error instanceof Error ? error : new Error(String(error));
50
- }
51
- let content;
52
- if (flags.file) {
53
- try {
54
- // eslint-disable-next-line security/detect-non-literal-fs-filename
55
- content = await readFile(flags.file, 'utf-8');
56
- }
57
- catch (error) {
58
- const msg = error instanceof Error ? error.message : String(error);
59
- if (msg.includes('ENOENT')) {
60
- this.error(`File not found: ${flags.file}`);
61
- }
62
- throw error instanceof Error ? error : new Error(String(error));
63
- }
64
- }
65
- else if (!process.stdin.isTTY) {
66
- // Read from stdin
67
- const chunks = [];
68
- for await (const chunk of process.stdin) {
69
- chunks.push(Buffer.from(chunk));
70
- }
71
- content = Buffer.concat(chunks).toString('utf-8');
72
- }
73
- else {
74
- this.error('No input provided. Use --file or pipe content via stdin.');
75
- }
76
- const response = await daemonUpdatePlan({
77
- projectPath: cwd,
78
- issueId: args.issueId,
79
- content,
80
- });
81
- if (!response.success) {
82
- this.error(response.error);
83
- }
84
- this.log(`Plan updated for issue ${args.issueId}`);
85
- }
86
- }
87
- //# sourceMappingURL=plan.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/add/plan.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import { Command } from '@oclif/core';
2
- /**
3
- * Assign users to an issue
4
- */
5
- export default class AssignIssue extends Command {
6
- static args: {
7
- issueId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
- userIds: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
9
- };
10
- static description: string;
11
- static examples: string[];
12
- static flags: {
13
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- };
16
- static strict: boolean;
17
- run(): Promise<void>;
18
- }
19
- //# sourceMappingURL=issue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../../src/commands/assign/issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAUlD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAE9C,OAAgB,IAAI;;;MASnB;IAGD,OAAgB,WAAW,SAA6B;IAGxD,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,KAAK;;;MAMpB;IAGD,OAAgB,MAAM,UAAQ;IAEjB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8ClC"}
@@ -1,79 +0,0 @@
1
- // eslint-disable-next-line import/order
2
- import { Args, Command, Flags } from '@oclif/core';
3
- import { daemonAssignIssue } from '../../daemon/daemon-assign-issue.js';
4
- import { projectFlag } from '../../flags/project-flag.js';
5
- import { ensureInitialized, NotInitializedError, } from '../../utils/ensure-initialized.js';
6
- import { resolveProjectPath } from '../../utils/resolve-project-path.js';
7
- /**
8
- * Assign users to an issue
9
- */
10
- // eslint-disable-next-line custom/no-default-class-export, class-export/class-export
11
- export default class AssignIssue extends Command {
12
- // eslint-disable-next-line no-restricted-syntax
13
- static args = {
14
- issueId: Args.string({
15
- description: 'Issue ID (UUID) or display number',
16
- required: true,
17
- }),
18
- userIds: Args.string({
19
- description: 'User IDs to assign (space-separated)',
20
- required: true,
21
- }),
22
- };
23
- // eslint-disable-next-line no-restricted-syntax
24
- static description = 'Assign users to an issue';
25
- // eslint-disable-next-line no-restricted-syntax
26
- static examples = [
27
- '<%= config.bin %> assign issue 1 john-doe',
28
- '<%= config.bin %> assign issue abc123-uuid alice bob',
29
- '<%= config.bin %> assign issue 1 john-doe --project centy-daemon',
30
- ];
31
- // eslint-disable-next-line no-restricted-syntax
32
- static flags = {
33
- json: Flags.boolean({
34
- description: 'Output as JSON',
35
- default: false,
36
- }),
37
- project: projectFlag,
38
- };
39
- // eslint-disable-next-line no-restricted-syntax
40
- static strict = false;
41
- async run() {
42
- const { args, argv, flags } = await this.parse(AssignIssue);
43
- const cwd = await resolveProjectPath(flags.project);
44
- try {
45
- await ensureInitialized(cwd);
46
- }
47
- catch (error) {
48
- if (error instanceof NotInitializedError) {
49
- this.error(error.message);
50
- }
51
- throw error instanceof Error ? error : new Error(String(error));
52
- }
53
- // Get all user IDs from argv (everything after the issue ID)
54
- // eslint-disable-next-line no-restricted-syntax
55
- const userIds = argv.slice(1);
56
- if (userIds.length === 0) {
57
- this.error('At least one user ID is required');
58
- }
59
- const response = await daemonAssignIssue({
60
- projectPath: cwd,
61
- issueId: args.issueId,
62
- userIds,
63
- });
64
- if (!response.success) {
65
- this.error(response.error);
66
- }
67
- if (flags.json) {
68
- this.log(JSON.stringify(response.issue, null, 2));
69
- return;
70
- }
71
- const issue = response.issue;
72
- if (issue !== undefined) {
73
- this.log(`Assigned ${userIds.join(', ')} to issue #${issue.displayNumber}`);
74
- const assignees = issue.metadata.assignees;
75
- this.log(`Current assignees: ${assignees.length > 0 ? assignees.join(', ') : 'none'}`);
76
- }
77
- }
78
- }
79
- //# sourceMappingURL=issue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../src/commands/assign/issue.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { Command } from '@oclif/core';
2
- /**
3
- * Close an organization-level issue by setting its status to closed
4
- */
5
- export default class CloseOrgIssue extends Command {
6
- static description: string;
7
- static examples: string[];
8
- static args: {
9
- identifier: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
10
- };
11
- static flags: {
12
- org: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
- };
15
- run(): Promise<void>;
16
- }
17
- //# sourceMappingURL=org-issue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"org-issue.d.ts","sourceRoot":"","sources":["../../../src/commands/close/org-issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAKlD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAEhD,OAAgB,WAAW,SAAsC;IAGjE,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,IAAI;;MAKnB;IAGD,OAAgB,KAAK;;;MAUpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoClC"}
@@ -1,69 +0,0 @@
1
- // eslint-disable-next-line import/order
2
- import { Args, Command, Flags } from '@oclif/core';
3
- import { daemonGetOrgIssueByDisplayNumber } from '../../daemon/daemon-get-org-issue-by-display-number.js';
4
- import { daemonUpdateOrgIssue } from '../../daemon/daemon-update-org-issue.js';
5
- /**
6
- * Close an organization-level issue by setting its status to closed
7
- */
8
- // eslint-disable-next-line custom/no-default-class-export, class-export/class-export
9
- export default class CloseOrgIssue extends Command {
10
- // eslint-disable-next-line no-restricted-syntax
11
- static description = 'Close an organization-level issue';
12
- // eslint-disable-next-line no-restricted-syntax
13
- static examples = [
14
- '<%= config.bin %> close org-issue --org my-org 1',
15
- '<%= config.bin %> close org-issue --org my-org #1',
16
- '<%= config.bin %> close org-issue -o centy-io abc123',
17
- ];
18
- // eslint-disable-next-line no-restricted-syntax
19
- static args = {
20
- identifier: Args.string({
21
- description: 'Issue ID or display number (#N or just N)',
22
- required: true,
23
- }),
24
- };
25
- // eslint-disable-next-line no-restricted-syntax
26
- static flags = {
27
- org: Flags.string({
28
- char: 'o',
29
- description: 'Organization slug',
30
- required: true,
31
- }),
32
- json: Flags.boolean({
33
- description: 'Output as JSON',
34
- default: false,
35
- }),
36
- };
37
- async run() {
38
- const { args, flags } = await this.parse(CloseOrgIssue);
39
- // Resolve issue ID from display number if needed
40
- let issueId;
41
- const identifier = args.identifier;
42
- const displayNumberMatch = identifier.match(/^#?(\d+)$/);
43
- if (displayNumberMatch) {
44
- const displayNumber = Number.parseInt(displayNumberMatch[1], 10);
45
- const issue = await daemonGetOrgIssueByDisplayNumber({
46
- orgSlug: flags.org,
47
- displayNumber,
48
- });
49
- issueId = issue.id;
50
- }
51
- else {
52
- issueId = identifier;
53
- }
54
- const response = await daemonUpdateOrgIssue({
55
- orgSlug: flags.org,
56
- issueId,
57
- status: 'closed',
58
- });
59
- if (!response.success) {
60
- this.error(response.error);
61
- }
62
- if (flags.json) {
63
- this.log(JSON.stringify(response.issue, null, 2));
64
- return;
65
- }
66
- this.log(`Closed organization issue #${response.issue.displayNumber}`);
67
- }
68
- }
69
- //# sourceMappingURL=org-issue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"org-issue.js","sourceRoot":"","sources":["../../../src/commands/close/org-issue.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAA;AAE9E;;GAEG;AACH,qFAAqF;AACrF,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAChD,gDAAgD;IAChD,MAAM,CAAU,WAAW,GAAG,mCAAmC,CAAA;IAEjE,gDAAgD;IAChD,MAAM,CAAU,QAAQ,GAAG;QACzB,kDAAkD;QAClD,mDAAmD;QACnD,sDAAsD;KACvD,CAAA;IAED,gDAAgD;IAChD,MAAM,CAAU,IAAI,GAAG;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,gDAAgD;IAChD,MAAM,CAAU,KAAK,GAAG;QACtB,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;YAChB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mBAAmB;YAChC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,WAAW,EAAE,gBAAgB;YAC7B,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAEvD,iDAAiD;QACjD,IAAI,OAAe,CAAA;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QAClC,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAExD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAChE,MAAM,KAAK,GAAG,MAAM,gCAAgC,CAAC;gBACnD,OAAO,EAAE,KAAK,CAAC,GAAG;gBAClB,aAAa;aACd,CAAC,CAAA;YACF,OAAO,GAAG,KAAK,CAAC,EAAE,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,UAAU,CAAA;QACtB,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC;YAC1C,OAAO,EAAE,KAAK,CAAC,GAAG;YAClB,OAAO;YACP,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACjD,OAAM;QACR,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,8BAA8B,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;IACxE,CAAC"}
@@ -1,22 +0,0 @@
1
- import { Command } from '@oclif/core';
2
- /**
3
- * Create a new organization-level issue
4
- */
5
- export default class CreateOrgIssue extends Command {
6
- static description: string;
7
- static examples: string[];
8
- static args: {
9
- org: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
- };
11
- static flags: {
12
- org: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
- title: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
- description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
- priority: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
- status: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
17
- projects: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
- json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
- };
20
- run(): Promise<void>;
21
- }
22
- //# sourceMappingURL=org-issue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"org-issue.d.ts","sourceRoot":"","sources":["../../../src/commands/create/org-issue.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAIlD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAEjD,OAAgB,WAAW,SAA0C;IAGrE,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,IAAI;;MAKnB;IAGD,OAAgB,KAAK;;;;;;;;MAgCpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA0DlC"}