centy 0.0.13 → 0.0.15
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 -1
- package/dist/commands/add/asset.js.map +1 -1
- package/dist/commands/compact.d.ts +21 -0
- package/dist/commands/compact.d.ts.map +1 -0
- package/dist/commands/compact.js +194 -0
- package/dist/commands/compact.js.map +1 -0
- package/dist/commands/create/pr.d.ts +20 -0
- package/dist/commands/create/pr.d.ts.map +1 -0
- package/dist/commands/create/pr.js +96 -0
- package/dist/commands/create/pr.js.map +1 -0
- package/dist/commands/delete/pr.d.ts +16 -0
- package/dist/commands/delete/pr.d.ts.map +1 -0
- package/dist/commands/delete/pr.js +59 -0
- package/dist/commands/delete/pr.js.map +1 -0
- package/dist/commands/get/asset.d.ts.map +1 -1
- package/dist/commands/get/asset.js +0 -1
- package/dist/commands/get/asset.js.map +1 -1
- package/dist/commands/get/pr.d.ts +16 -0
- package/dist/commands/get/pr.d.ts.map +1 -0
- package/dist/commands/get/pr.js +76 -0
- package/dist/commands/get/pr.js.map +1 -0
- package/dist/commands/list/projects.d.ts +1 -0
- package/dist/commands/list/projects.d.ts.map +1 -1
- package/dist/commands/list/projects.js +6 -0
- package/dist/commands/list/projects.js.map +1 -1
- package/dist/commands/list/prs.d.ts +17 -0
- package/dist/commands/list/prs.d.ts.map +1 -0
- package/dist/commands/list/prs.js +74 -0
- package/dist/commands/list/prs.js.map +1 -0
- package/dist/commands/project/archive.d.ts +16 -0
- package/dist/commands/project/archive.d.ts.map +1 -0
- package/dist/commands/project/archive.js +39 -0
- package/dist/commands/project/archive.js.map +1 -0
- package/dist/commands/register/project.d.ts +3 -0
- package/dist/commands/register/project.d.ts.map +1 -1
- package/dist/commands/register/project.js +29 -3
- package/dist/commands/register/project.js.map +1 -1
- package/dist/commands/update/pr.d.ts +20 -0
- package/dist/commands/update/pr.d.ts.map +1 -0
- package/dist/commands/update/pr.js +96 -0
- package/dist/commands/update/pr.js.map +1 -0
- package/dist/daemon/daemon-create-pr.d.ts +6 -0
- package/dist/daemon/daemon-create-pr.d.ts.map +1 -0
- package/dist/daemon/daemon-create-pr.js +17 -0
- package/dist/daemon/daemon-create-pr.js.map +1 -0
- package/dist/daemon/daemon-delete-pr.d.ts +6 -0
- package/dist/daemon/daemon-delete-pr.d.ts.map +1 -0
- package/dist/daemon/daemon-delete-pr.js +17 -0
- package/dist/daemon/daemon-delete-pr.js.map +1 -0
- package/dist/daemon/daemon-get-compact.d.ts +6 -0
- package/dist/daemon/daemon-get-compact.d.ts.map +1 -0
- package/dist/daemon/daemon-get-compact.js +17 -0
- package/dist/daemon/daemon-get-compact.js.map +1 -0
- package/dist/daemon/daemon-get-feature-status.d.ts +6 -0
- package/dist/daemon/daemon-get-feature-status.d.ts.map +1 -0
- package/dist/daemon/daemon-get-feature-status.js +17 -0
- package/dist/daemon/daemon-get-feature-status.js.map +1 -0
- package/dist/daemon/daemon-get-instruction.d.ts +6 -0
- package/dist/daemon/daemon-get-instruction.d.ts.map +1 -0
- package/dist/daemon/daemon-get-instruction.js +17 -0
- package/dist/daemon/daemon-get-instruction.js.map +1 -0
- package/dist/daemon/daemon-get-pr-by-display-number.d.ts +6 -0
- package/dist/daemon/daemon-get-pr-by-display-number.d.ts.map +1 -0
- package/dist/daemon/daemon-get-pr-by-display-number.js +17 -0
- package/dist/daemon/daemon-get-pr-by-display-number.js.map +1 -0
- package/dist/daemon/daemon-get-pr.d.ts +6 -0
- package/dist/daemon/daemon-get-pr.d.ts.map +1 -0
- package/dist/daemon/daemon-get-pr.js +17 -0
- package/dist/daemon/daemon-get-pr.js.map +1 -0
- package/dist/daemon/daemon-list-prs.d.ts +6 -0
- package/dist/daemon/daemon-list-prs.d.ts.map +1 -0
- package/dist/daemon/daemon-list-prs.js +17 -0
- package/dist/daemon/daemon-list-prs.js.map +1 -0
- package/dist/daemon/daemon-list-uncompacted-issues.d.ts +6 -0
- package/dist/daemon/daemon-list-uncompacted-issues.d.ts.map +1 -0
- package/dist/daemon/daemon-list-uncompacted-issues.js +17 -0
- package/dist/daemon/daemon-list-uncompacted-issues.js.map +1 -0
- package/dist/daemon/daemon-mark-issues-compacted.d.ts +6 -0
- package/dist/daemon/daemon-mark-issues-compacted.d.ts.map +1 -0
- package/dist/daemon/daemon-mark-issues-compacted.js +17 -0
- package/dist/daemon/daemon-mark-issues-compacted.js.map +1 -0
- package/dist/daemon/daemon-save-migration.d.ts +6 -0
- package/dist/daemon/daemon-save-migration.d.ts.map +1 -0
- package/dist/daemon/daemon-save-migration.js +17 -0
- package/dist/daemon/daemon-save-migration.js.map +1 -0
- package/dist/daemon/daemon-set-project-archived.d.ts +6 -0
- package/dist/daemon/daemon-set-project-archived.d.ts.map +1 -0
- package/dist/daemon/daemon-set-project-archived.js +17 -0
- package/dist/daemon/daemon-set-project-archived.js.map +1 -0
- package/dist/daemon/daemon-update-compact.d.ts +6 -0
- package/dist/daemon/daemon-update-compact.d.ts.map +1 -0
- package/dist/daemon/daemon-update-compact.js +17 -0
- package/dist/daemon/daemon-update-compact.js.map +1 -0
- package/dist/daemon/daemon-update-pr.d.ts +6 -0
- package/dist/daemon/daemon-update-pr.d.ts.map +1 -0
- package/dist/daemon/daemon-update-pr.js +17 -0
- package/dist/daemon/daemon-update-pr.js.map +1 -0
- package/dist/daemon/load-proto.d.ts +16 -1
- package/dist/daemon/load-proto.d.ts.map +1 -1
- package/dist/daemon/load-proto.js.map +1 -1
- package/dist/daemon/types.d.ts +168 -0
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +64 -18
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/domain/ConfigPanel.js +1 -1
- package/dist/tui/components/domain/ConfigPanel.js.map +1 -1
- package/dist/tui/components/domain/DocCreate.d.ts +2 -0
- package/dist/tui/components/domain/DocCreate.d.ts.map +1 -0
- package/dist/tui/components/domain/DocCreate.js +118 -0
- package/dist/tui/components/domain/DocCreate.js.map +1 -0
- package/dist/tui/components/domain/IssueCreate.d.ts +2 -0
- package/dist/tui/components/domain/IssueCreate.d.ts.map +1 -0
- package/dist/tui/components/domain/IssueCreate.js +167 -0
- package/dist/tui/components/domain/IssueCreate.js.map +1 -0
- package/dist/tui/components/domain/IssueDetail.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueDetail.js +1 -1
- package/dist/tui/components/domain/IssueDetail.js.map +1 -1
- package/dist/tui/components/domain/IssueList.d.ts.map +1 -1
- package/dist/tui/components/domain/IssueList.js +29 -10
- package/dist/tui/components/domain/IssueList.js.map +1 -1
- package/dist/tui/components/domain/ProjectCreate.d.ts +2 -0
- package/dist/tui/components/domain/ProjectCreate.d.ts.map +1 -0
- package/dist/tui/components/domain/ProjectCreate.js +61 -0
- package/dist/tui/components/domain/ProjectCreate.js.map +1 -0
- package/dist/tui/components/domain/ProjectList.d.ts.map +1 -1
- package/dist/tui/components/domain/ProjectList.js +48 -7
- package/dist/tui/components/domain/ProjectList.js.map +1 -1
- package/dist/tui/components/layout/Sidebar.d.ts +2 -1
- package/dist/tui/components/layout/Sidebar.d.ts.map +1 -1
- package/dist/tui/components/layout/Sidebar.js +3 -3
- package/dist/tui/components/layout/Sidebar.js.map +1 -1
- package/dist/tui/hooks/useProjects.d.ts +2 -0
- package/dist/tui/hooks/useProjects.d.ts.map +1 -1
- package/dist/tui/hooks/useProjects.js +27 -1
- package/dist/tui/hooks/useProjects.js.map +1 -1
- package/dist/tui/services/daemon-service.d.ts +22 -2
- package/dist/tui/services/daemon-service.d.ts.map +1 -1
- package/dist/tui/services/daemon-service.js +121 -2
- package/dist/tui/services/daemon-service.js.map +1 -1
- package/dist/tui/state/app-state.d.ts +3 -0
- package/dist/tui/state/app-state.d.ts.map +1 -1
- package/dist/tui/state/app-state.js +5 -0
- package/dist/tui/state/app-state.js.map +1 -1
- package/dist/tui/types/views.d.ts +5 -1
- package/dist/tui/types/views.d.ts.map +1 -1
- package/dist/tui/types/views.js +15 -0
- package/dist/tui/types/views.js.map +1 -1
- package/oclif.manifest.json +604 -144
- package/package.json +1 -1
- package/proto/centy.proto +271 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/commands/add/asset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAKlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,IAAI;;MAKnB;IAED,OAAgB,WAAW,SAAkD;IAE7E,OAAgB,QAAQ,WAIvB;IAED,OAAgB,KAAK;;;;MAcpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/commands/add/asset.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAKlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,IAAI;;MAKnB;IAED,OAAgB,WAAW,SAAkD;IAE7E,OAAgB,QAAQ,WAIvB;IAED,OAAgB,KAAK;;;;MAcpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2ClC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/commands/add/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAE3E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YAChB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAU,WAAW,GAAG,+CAA+C,CAAA;IAE7E,MAAM,CAAU,QAAQ,GAAG;QACzB,sDAAsD;QACtD,kDAAkD;QAClD,qEAAqE;KACtE,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mDAAmD;SACjE,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,kDAAkD;YAC/D,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,iDAAiD;SAC/D,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAErD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,QAAgB,CAAA;QACpB,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/commands/add/asset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Compact uncompacted issues into features
|
|
4
|
+
*/
|
|
5
|
+
export default class Compact extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
input: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
private generateLlmContext;
|
|
16
|
+
private applyLlmResponse;
|
|
17
|
+
private saveMigrationContent;
|
|
18
|
+
private saveCompactContent;
|
|
19
|
+
private markIssuesFromMigration;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=compact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/commands/compact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAU5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,OAAO;IAC1C,OAAgB,WAAW,SAC0B;IAErD,OAAgB,QAAQ,WAKvB;IAED,OAAgB,KAAK;;;;;MAkBpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAwDnB,kBAAkB;YA4ClB,gBAAgB;YAsDhB,oBAAoB;YAgBpB,kBAAkB;YAgBlB,uBAAuB;CAqCtC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { writeFile, readFile } from 'node:fs/promises';
|
|
2
|
+
import { Command, Flags } from '@oclif/core';
|
|
3
|
+
import { daemonGetCompact } from '../daemon/daemon-get-compact.js';
|
|
4
|
+
import { daemonGetInstruction } from '../daemon/daemon-get-instruction.js';
|
|
5
|
+
import { daemonIsInitialized } from '../daemon/daemon-is-initialized.js';
|
|
6
|
+
import { daemonListUncompactedIssues } from '../daemon/daemon-list-uncompacted-issues.js';
|
|
7
|
+
import { daemonMarkIssuesCompacted } from '../daemon/daemon-mark-issues-compacted.js';
|
|
8
|
+
import { daemonSaveMigration } from '../daemon/daemon-save-migration.js';
|
|
9
|
+
import { daemonUpdateCompact } from '../daemon/daemon-update-compact.js';
|
|
10
|
+
/**
|
|
11
|
+
* Compact uncompacted issues into features
|
|
12
|
+
*/
|
|
13
|
+
export default class Compact extends Command {
|
|
14
|
+
static description = 'Compact uncompacted issues into feature summaries';
|
|
15
|
+
static examples = [
|
|
16
|
+
'<%= config.bin %> <%= command.id %>',
|
|
17
|
+
'<%= config.bin %> <%= command.id %> --dry-run',
|
|
18
|
+
'<%= config.bin %> <%= command.id %> --output context.md',
|
|
19
|
+
'<%= config.bin %> <%= command.id %> --input response.md',
|
|
20
|
+
];
|
|
21
|
+
static flags = {
|
|
22
|
+
'dry-run': Flags.boolean({
|
|
23
|
+
char: 'd',
|
|
24
|
+
description: 'List uncompacted issues without modifying',
|
|
25
|
+
default: false,
|
|
26
|
+
}),
|
|
27
|
+
output: Flags.string({
|
|
28
|
+
char: 'o',
|
|
29
|
+
description: 'Write LLM context to file (for external LLM processing)',
|
|
30
|
+
}),
|
|
31
|
+
input: Flags.string({
|
|
32
|
+
char: 'i',
|
|
33
|
+
description: 'Read LLM response from file and apply changes',
|
|
34
|
+
}),
|
|
35
|
+
json: Flags.boolean({
|
|
36
|
+
description: 'Output as JSON (for --dry-run)',
|
|
37
|
+
default: false,
|
|
38
|
+
}),
|
|
39
|
+
};
|
|
40
|
+
async run() {
|
|
41
|
+
const { flags } = await this.parse(Compact);
|
|
42
|
+
const cwd = process.env['CENTY_CWD'] ?? process.cwd();
|
|
43
|
+
// Check if initialized
|
|
44
|
+
const initStatus = await daemonIsInitialized({ projectPath: cwd });
|
|
45
|
+
if (!initStatus.initialized) {
|
|
46
|
+
this.error('.centy folder not initialized. Run "centy init" first.');
|
|
47
|
+
}
|
|
48
|
+
// If input file provided, apply LLM response
|
|
49
|
+
if (flags.input !== undefined) {
|
|
50
|
+
await this.applyLlmResponse(cwd, flags.input);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
// Get uncompacted issues
|
|
54
|
+
const response = await daemonListUncompactedIssues({ projectPath: cwd });
|
|
55
|
+
if (response.issues.length === 0) {
|
|
56
|
+
this.log('No new issues to compact.');
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// Dry run - just show issues
|
|
60
|
+
if (flags['dry-run']) {
|
|
61
|
+
if (flags.json) {
|
|
62
|
+
this.log(JSON.stringify(response.issues, null, 2));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.log(`Found ${response.totalCount} uncompacted issue(s):\n`);
|
|
66
|
+
for (const issue of response.issues) {
|
|
67
|
+
const meta = issue.metadata;
|
|
68
|
+
const status = meta !== undefined ? meta.status : 'unknown';
|
|
69
|
+
this.log(`#${issue.displayNumber} [${status}] ${issue.title}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Generate LLM context
|
|
75
|
+
const context = await this.generateLlmContext(cwd, response.issues);
|
|
76
|
+
// If output file provided, write context
|
|
77
|
+
if (flags.output !== undefined) {
|
|
78
|
+
await writeFile(flags.output, context, 'utf-8');
|
|
79
|
+
this.log(`LLM context written to: ${flags.output}`);
|
|
80
|
+
this.log(`\nNext steps:\n1. Process the file with your LLM\n2. Run: centy compact --input <response-file>`);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
// Output context to stdout for piping
|
|
84
|
+
this.log(context);
|
|
85
|
+
}
|
|
86
|
+
async generateLlmContext(projectPath, issues) {
|
|
87
|
+
// Get instruction.md
|
|
88
|
+
const instructionResponse = await daemonGetInstruction({ projectPath });
|
|
89
|
+
const instruction = instructionResponse.content;
|
|
90
|
+
// Get current compact.md
|
|
91
|
+
const compactResponse = await daemonGetCompact({ projectPath });
|
|
92
|
+
const currentCompact = compactResponse.exists
|
|
93
|
+
? compactResponse.content
|
|
94
|
+
: '(No features documented yet)';
|
|
95
|
+
// Build context
|
|
96
|
+
const parts = [];
|
|
97
|
+
parts.push('# LLM Compaction Context\n');
|
|
98
|
+
parts.push('## Instructions\n');
|
|
99
|
+
parts.push(instruction);
|
|
100
|
+
parts.push('\n---\n');
|
|
101
|
+
parts.push('## Current Features Summary (compact.md)\n');
|
|
102
|
+
parts.push('```markdown');
|
|
103
|
+
parts.push(currentCompact);
|
|
104
|
+
parts.push('```');
|
|
105
|
+
parts.push('\n---\n');
|
|
106
|
+
parts.push('## Uncompacted Issues\n');
|
|
107
|
+
for (const issue of issues) {
|
|
108
|
+
parts.push(`### Issue #${issue.displayNumber}: ${issue.title}`);
|
|
109
|
+
parts.push(`**ID:** ${issue.id}`);
|
|
110
|
+
parts.push('');
|
|
111
|
+
parts.push(issue.description || '(No description)');
|
|
112
|
+
parts.push('');
|
|
113
|
+
}
|
|
114
|
+
return parts.join('\n');
|
|
115
|
+
}
|
|
116
|
+
async applyLlmResponse(projectPath, inputFile) {
|
|
117
|
+
// Read LLM response
|
|
118
|
+
const content = await readFile(inputFile, 'utf-8');
|
|
119
|
+
// Parse response - look for MIGRATION_CONTENT and COMPACT_CONTENT sections
|
|
120
|
+
const migrationMatch = content.match(/### MIGRATION_CONTENT\s*\n```(?:markdown|yaml)?\s*\n([\s\S]*?)```/i);
|
|
121
|
+
const compactMatch = content.match(/### COMPACT_CONTENT\s*\n```(?:markdown)?\s*\n([\s\S]*?)```/i);
|
|
122
|
+
if (migrationMatch === null && compactMatch === null) {
|
|
123
|
+
// Try alternative formats - look for sections without code blocks
|
|
124
|
+
const altMigrationMatch = content.match(/### MIGRATION_CONTENT\s*\n([\s\S]*?)(?=### COMPACT_CONTENT|$)/i);
|
|
125
|
+
const altCompactMatch = content.match(/### COMPACT_CONTENT\s*\n([\s\S]*?)$/i);
|
|
126
|
+
if (altMigrationMatch === null && altCompactMatch === null) {
|
|
127
|
+
this.error('Could not parse LLM response. Expected MIGRATION_CONTENT and COMPACT_CONTENT sections.');
|
|
128
|
+
}
|
|
129
|
+
if (altMigrationMatch !== null) {
|
|
130
|
+
await this.saveMigrationContent(projectPath, altMigrationMatch[1].trim());
|
|
131
|
+
}
|
|
132
|
+
if (altCompactMatch !== null) {
|
|
133
|
+
await this.saveCompactContent(projectPath, altCompactMatch[1].trim());
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
if (migrationMatch !== null) {
|
|
138
|
+
await this.saveMigrationContent(projectPath, migrationMatch[1]);
|
|
139
|
+
}
|
|
140
|
+
if (compactMatch !== null) {
|
|
141
|
+
await this.saveCompactContent(projectPath, compactMatch[1]);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Mark issues as compacted - extract issue IDs from migration content
|
|
145
|
+
await this.markIssuesFromMigration(projectPath, content);
|
|
146
|
+
this.log('Compaction applied successfully!');
|
|
147
|
+
}
|
|
148
|
+
async saveMigrationContent(projectPath, content) {
|
|
149
|
+
const response = await daemonSaveMigration({
|
|
150
|
+
projectPath,
|
|
151
|
+
content,
|
|
152
|
+
});
|
|
153
|
+
if (!response.success) {
|
|
154
|
+
this.error(`Failed to save migration: ${response.error}`);
|
|
155
|
+
}
|
|
156
|
+
this.log(`Migration saved: ${response.filename}`);
|
|
157
|
+
}
|
|
158
|
+
async saveCompactContent(projectPath, content) {
|
|
159
|
+
const response = await daemonUpdateCompact({
|
|
160
|
+
projectPath,
|
|
161
|
+
content,
|
|
162
|
+
});
|
|
163
|
+
if (!response.success) {
|
|
164
|
+
this.error(`Failed to update compact.md: ${response.error}`);
|
|
165
|
+
}
|
|
166
|
+
this.log('compact.md updated');
|
|
167
|
+
}
|
|
168
|
+
async markIssuesFromMigration(projectPath, content) {
|
|
169
|
+
// Extract issue IDs from the migration content
|
|
170
|
+
// Look for patterns like:
|
|
171
|
+
// - id: uuid-123
|
|
172
|
+
// or compactedIssues array
|
|
173
|
+
const idMatches = content.matchAll(/(?:id|issueId):\s*["']?([a-f0-9-]{36})["']?/gi);
|
|
174
|
+
const issueIds = [];
|
|
175
|
+
for (const match of idMatches) {
|
|
176
|
+
if (!issueIds.includes(match[1])) {
|
|
177
|
+
issueIds.push(match[1]);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
if (issueIds.length === 0) {
|
|
181
|
+
this.warn('No issue IDs found in migration content. Issues will not be marked as compacted.');
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
const response = await daemonMarkIssuesCompacted({
|
|
185
|
+
projectPath,
|
|
186
|
+
issueIds,
|
|
187
|
+
});
|
|
188
|
+
if (!response.success) {
|
|
189
|
+
this.error(`Failed to mark issues as compacted: ${response.error}`);
|
|
190
|
+
}
|
|
191
|
+
this.log(`Marked ${response.markedCount} issue(s) as compacted`);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=compact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact.js","sourceRoot":"","sources":["../../src/commands/compact.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Create a new pull request in the .centy/prs folder
|
|
4
|
+
*/
|
|
5
|
+
export default class CreatePr extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
title: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
source: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
target: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
issues: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
reviewers: 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
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=pr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../../src/commands/create/pr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAK5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,WAAW,SAAmD;IAE9E,OAAgB,QAAQ,WAKvB;IAED,OAAgB,KAAK;;;;;;;;;MAmCpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAkDlC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Command, Flags } from '@oclif/core';
|
|
2
|
+
import { daemonCreatePr } from '../../daemon/daemon-create-pr.js';
|
|
3
|
+
import { daemonIsInitialized } from '../../daemon/daemon-is-initialized.js';
|
|
4
|
+
/**
|
|
5
|
+
* Create a new pull request in the .centy/prs folder
|
|
6
|
+
*/
|
|
7
|
+
export default class CreatePr extends Command {
|
|
8
|
+
static description = 'Create a new pull request in the .centy folder';
|
|
9
|
+
static examples = [
|
|
10
|
+
'<%= config.bin %> create pr',
|
|
11
|
+
'<%= config.bin %> create pr --title "Add feature" --source feature-branch',
|
|
12
|
+
'<%= config.bin %> create pr -t "Bug fix" -s bugfix/123 --target main',
|
|
13
|
+
'<%= config.bin %> create pr -t "Feature" --issues 1,2 --reviewers alice,bob',
|
|
14
|
+
];
|
|
15
|
+
static flags = {
|
|
16
|
+
title: Flags.string({
|
|
17
|
+
char: 't',
|
|
18
|
+
description: 'PR title',
|
|
19
|
+
required: true,
|
|
20
|
+
}),
|
|
21
|
+
description: Flags.string({
|
|
22
|
+
char: 'd',
|
|
23
|
+
description: 'PR description',
|
|
24
|
+
}),
|
|
25
|
+
source: Flags.string({
|
|
26
|
+
char: 's',
|
|
27
|
+
description: 'Source branch name (auto-detected if not provided)',
|
|
28
|
+
}),
|
|
29
|
+
target: Flags.string({
|
|
30
|
+
description: 'Target branch name (defaults to main)',
|
|
31
|
+
}),
|
|
32
|
+
issues: Flags.string({
|
|
33
|
+
char: 'i',
|
|
34
|
+
description: 'Linked issue IDs (comma-separated)',
|
|
35
|
+
}),
|
|
36
|
+
reviewers: Flags.string({
|
|
37
|
+
char: 'r',
|
|
38
|
+
description: 'Reviewers (comma-separated)',
|
|
39
|
+
}),
|
|
40
|
+
priority: Flags.string({
|
|
41
|
+
char: 'p',
|
|
42
|
+
description: 'Priority level (low/medium/high)',
|
|
43
|
+
options: ['low', 'medium', 'high'],
|
|
44
|
+
}),
|
|
45
|
+
status: Flags.string({
|
|
46
|
+
description: 'Initial status (draft/open)',
|
|
47
|
+
options: ['draft', 'open'],
|
|
48
|
+
default: 'draft',
|
|
49
|
+
}),
|
|
50
|
+
};
|
|
51
|
+
async run() {
|
|
52
|
+
const { flags } = await this.parse(CreatePr);
|
|
53
|
+
const cwd = process.env['CENTY_CWD'] ?? process.cwd();
|
|
54
|
+
const initStatus = await daemonIsInitialized({ projectPath: cwd });
|
|
55
|
+
if (!initStatus.initialized) {
|
|
56
|
+
this.error('.centy folder not initialized. Run "centy init" first.');
|
|
57
|
+
}
|
|
58
|
+
// Convert priority string to number
|
|
59
|
+
const priorityMap = {
|
|
60
|
+
high: 1,
|
|
61
|
+
medium: 2,
|
|
62
|
+
low: 3,
|
|
63
|
+
};
|
|
64
|
+
const priority = flags.priority ? priorityMap[flags.priority] : 0;
|
|
65
|
+
// Parse comma-separated lists
|
|
66
|
+
const linkedIssues = flags.issues
|
|
67
|
+
? flags.issues.split(',').map(s => s.trim())
|
|
68
|
+
: [];
|
|
69
|
+
const reviewers = flags.reviewers
|
|
70
|
+
? flags.reviewers.split(',').map(s => s.trim())
|
|
71
|
+
: [];
|
|
72
|
+
const result = await daemonCreatePr({
|
|
73
|
+
projectPath: cwd,
|
|
74
|
+
title: flags.title,
|
|
75
|
+
description: flags.description ?? '',
|
|
76
|
+
sourceBranch: flags.source,
|
|
77
|
+
targetBranch: flags.target,
|
|
78
|
+
linkedIssues,
|
|
79
|
+
reviewers,
|
|
80
|
+
priority,
|
|
81
|
+
status: flags.status ?? 'draft',
|
|
82
|
+
customFields: {},
|
|
83
|
+
});
|
|
84
|
+
if (!result.success) {
|
|
85
|
+
this.error(result.error ?? 'Failed to create PR');
|
|
86
|
+
}
|
|
87
|
+
this.log(`Created PR #${result.displayNumber}`);
|
|
88
|
+
this.log(`ID: ${result.id}`);
|
|
89
|
+
this.log(`Source branch: ${result.detectedSourceBranch}`);
|
|
90
|
+
this.log(`\nFiles created:`);
|
|
91
|
+
for (const file of result.createdFiles) {
|
|
92
|
+
this.log(` ${file}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=pr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../src/commands/create/pr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Delete a pull request
|
|
4
|
+
*/
|
|
5
|
+
export default class DeletePr extends Command {
|
|
6
|
+
static args: {
|
|
7
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static description: string;
|
|
10
|
+
static examples: string[];
|
|
11
|
+
static flags: {
|
|
12
|
+
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=pr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../../src/commands/delete/pr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAKlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,IAAI;;MAKnB;IAED,OAAgB,WAAW,SAA0B;IAErD,OAAgB,QAAQ,WAIvB;IAED,OAAgB,KAAK;;MAMpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAuClC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
import { daemonDeletePr } from '../../daemon/daemon-delete-pr.js';
|
|
3
|
+
import { daemonIsInitialized } from '../../daemon/daemon-is-initialized.js';
|
|
4
|
+
/**
|
|
5
|
+
* Delete a pull request
|
|
6
|
+
*/
|
|
7
|
+
export default class DeletePr extends Command {
|
|
8
|
+
static args = {
|
|
9
|
+
id: Args.string({
|
|
10
|
+
description: 'PR ID (UUID) or display number',
|
|
11
|
+
required: true,
|
|
12
|
+
}),
|
|
13
|
+
};
|
|
14
|
+
static description = 'Delete a pull request';
|
|
15
|
+
static examples = [
|
|
16
|
+
'<%= config.bin %> delete pr 1',
|
|
17
|
+
'<%= config.bin %> delete pr abc123-uuid',
|
|
18
|
+
'<%= config.bin %> delete pr 1 --force',
|
|
19
|
+
];
|
|
20
|
+
static flags = {
|
|
21
|
+
force: Flags.boolean({
|
|
22
|
+
char: 'f',
|
|
23
|
+
description: 'Skip confirmation prompt',
|
|
24
|
+
default: false,
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const { args, flags } = await this.parse(DeletePr);
|
|
29
|
+
const cwd = process.env['CENTY_CWD'] ?? process.cwd();
|
|
30
|
+
const initStatus = await daemonIsInitialized({ projectPath: cwd });
|
|
31
|
+
if (!initStatus.initialized) {
|
|
32
|
+
this.error('.centy folder not initialized. Run "centy init" first.');
|
|
33
|
+
}
|
|
34
|
+
if (!flags.force) {
|
|
35
|
+
const readline = await import('node:readline');
|
|
36
|
+
const rl = readline.createInterface({
|
|
37
|
+
input: process.stdin,
|
|
38
|
+
output: process.stdout,
|
|
39
|
+
});
|
|
40
|
+
const answer = await new Promise(resolve => {
|
|
41
|
+
rl.question(`Are you sure you want to delete PR ${args.id}? (y/N) `, resolve);
|
|
42
|
+
});
|
|
43
|
+
rl.close();
|
|
44
|
+
if (answer.toLowerCase() !== 'y') {
|
|
45
|
+
this.log('Cancelled.');
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const response = await daemonDeletePr({
|
|
50
|
+
projectPath: cwd,
|
|
51
|
+
prId: args.id,
|
|
52
|
+
});
|
|
53
|
+
if (!response.success) {
|
|
54
|
+
this.error(response.error);
|
|
55
|
+
}
|
|
56
|
+
this.log(`Deleted PR ${args.id}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=pr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../src/commands/delete/pr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAE3E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAU,IAAI,GAAG;QACrB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;YACd,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAU,WAAW,GAAG,uBAAuB,CAAA;IAErD,MAAM,CAAU,QAAQ,GAAG;QACzB,+BAA+B;QAC/B,yCAAyC;QACzC,uCAAuC;KACxC,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAErD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;YAC9C,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAA;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;gBACjD,EAAE,CAAC,QAAQ,CACT,sCAAsC,IAAI,CAAC,EAAE,UAAU,EACvD,OAAO,CACR,CAAA;YACH,CAAC,CAAC,CAAA;YACF,EAAE,CAAC,KAAK,EAAE,CAAA;YACV,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBACtB,OAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;YACpC,WAAW,EAAE,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/commands/get/asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAKlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,IAAI;;MAKnB;IAED,OAAgB,WAAW,SAAuC;IAElE,OAAgB,QAAQ,WAGvB;IAED,OAAgB,KAAK;;;;MAcpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../../src/commands/get/asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAKlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,IAAI;;MAKnB;IAED,OAAgB,WAAW,SAAuC;IAElE,OAAgB,QAAQ,WAGvB;IAED,OAAgB,KAAK;;;;MAcpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+BlC"}
|
|
@@ -52,7 +52,6 @@ export default class GetAsset extends Command {
|
|
|
52
52
|
this.error(response.error);
|
|
53
53
|
}
|
|
54
54
|
const outputPath = flags.output ?? args.filename;
|
|
55
|
-
// eslint-disable-next-line security/detect-non-literal-fs-filename
|
|
56
55
|
await writeFile(outputPath, response.data);
|
|
57
56
|
this.log(`Saved asset to ${outputPath}`);
|
|
58
57
|
this.log(` Size: ${response.asset.size} bytes`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/commands/get/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAE3E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAU,IAAI,GAAG;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAU,WAAW,GAAG,oCAAoC,CAAA;IAElE,MAAM,CAAU,QAAQ,GAAG;QACzB,gFAAgF;QAChF,mEAAmE;KACpE,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;SAC1C,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+CAA+C;SAC7D,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAErD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;YACpC,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK,CAAC,MAAM;SACvB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAA;QAChD,
|
|
1
|
+
{"version":3,"file":"asset.js","sourceRoot":"","sources":["../../../src/commands/get/asset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAA;AAE3E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,MAAM,CAAU,IAAI,GAAG;QACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,MAAM,CAAU,WAAW,GAAG,oCAAoC,CAAA;IAElE,MAAM,CAAU,QAAQ,GAAG;QACzB,gFAAgF;QAChF,mEAAmE;KACpE,CAAA;IAED,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4BAA4B;SAC1C,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oBAAoB;YACjC,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,+CAA+C;SAC7D,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAErD,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAC7D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;YACpC,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,KAAK,CAAC,KAAK;YACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK,CAAC,MAAM;SACvB,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAA;QAChD,MAAM,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAA;QACxC,IAAI,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAA;QAChD,IAAI,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Get a single pull request by ID or display number
|
|
4
|
+
*/
|
|
5
|
+
export default class GetPr extends Command {
|
|
6
|
+
static args: {
|
|
7
|
+
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static description: string;
|
|
10
|
+
static examples: string[];
|
|
11
|
+
static flags: {
|
|
12
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
};
|
|
14
|
+
run(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=pr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../../../src/commands/get/pr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAMlD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,OAAgB,IAAI;;MAKnB;IAED,OAAgB,WAAW,SAC0B;IAErD,OAAgB,QAAQ,WAIvB;IAED,OAAgB,KAAK;;MAKpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyDlC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
2
|
+
import { daemonGetPr } from '../../daemon/daemon-get-pr.js';
|
|
3
|
+
import { daemonGetPrByDisplayNumber } from '../../daemon/daemon-get-pr-by-display-number.js';
|
|
4
|
+
import { daemonIsInitialized } from '../../daemon/daemon-is-initialized.js';
|
|
5
|
+
/**
|
|
6
|
+
* Get a single pull request by ID or display number
|
|
7
|
+
*/
|
|
8
|
+
export default class GetPr extends Command {
|
|
9
|
+
static args = {
|
|
10
|
+
id: Args.string({
|
|
11
|
+
description: 'PR ID (UUID) or display number',
|
|
12
|
+
required: true,
|
|
13
|
+
}),
|
|
14
|
+
};
|
|
15
|
+
static description = 'Get a single pull request by ID or display number';
|
|
16
|
+
static examples = [
|
|
17
|
+
'<%= config.bin %> get pr 1',
|
|
18
|
+
'<%= config.bin %> get pr abc123-uuid',
|
|
19
|
+
'<%= config.bin %> get pr 1 --json',
|
|
20
|
+
];
|
|
21
|
+
static flags = {
|
|
22
|
+
json: Flags.boolean({
|
|
23
|
+
description: 'Output as JSON',
|
|
24
|
+
default: false,
|
|
25
|
+
}),
|
|
26
|
+
};
|
|
27
|
+
async run() {
|
|
28
|
+
const { args, flags } = await this.parse(GetPr);
|
|
29
|
+
const cwd = process.env['CENTY_CWD'] ?? process.cwd();
|
|
30
|
+
const initStatus = await daemonIsInitialized({ projectPath: cwd });
|
|
31
|
+
if (!initStatus.initialized) {
|
|
32
|
+
this.error('.centy folder not initialized. Run "centy init" first.');
|
|
33
|
+
}
|
|
34
|
+
// Try to parse as display number first
|
|
35
|
+
const displayNumber = Number.parseInt(args.id, 10);
|
|
36
|
+
const isDisplayNumber = !Number.isNaN(displayNumber) && displayNumber > 0;
|
|
37
|
+
const pr = isDisplayNumber
|
|
38
|
+
? await daemonGetPrByDisplayNumber({
|
|
39
|
+
projectPath: cwd,
|
|
40
|
+
displayNumber,
|
|
41
|
+
})
|
|
42
|
+
: await daemonGetPr({
|
|
43
|
+
projectPath: cwd,
|
|
44
|
+
prId: args.id,
|
|
45
|
+
});
|
|
46
|
+
if (flags.json) {
|
|
47
|
+
this.log(JSON.stringify(pr, null, 2));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const meta = pr.metadata;
|
|
51
|
+
this.log(`PR #${pr.displayNumber}`);
|
|
52
|
+
this.log(`ID: ${pr.id}`);
|
|
53
|
+
this.log(`Title: ${pr.title}`);
|
|
54
|
+
this.log(`Status: ${meta !== undefined ? meta.status : 'unknown'}`);
|
|
55
|
+
this.log(`Priority: ${meta !== undefined ? (meta.priorityLabel !== '' ? meta.priorityLabel : `P${meta.priority}`) : 'P?'}`);
|
|
56
|
+
this.log(`Branch: ${meta !== undefined ? `${meta.sourceBranch} -> ${meta.targetBranch}` : '? -> ?'}`);
|
|
57
|
+
if (meta !== undefined && meta.linkedIssues.length > 0) {
|
|
58
|
+
this.log(`Linked Issues: ${meta.linkedIssues.join(', ')}`);
|
|
59
|
+
}
|
|
60
|
+
if (meta !== undefined && meta.reviewers.length > 0) {
|
|
61
|
+
this.log(`Reviewers: ${meta.reviewers.join(', ')}`);
|
|
62
|
+
}
|
|
63
|
+
this.log(`Created: ${meta !== undefined ? meta.createdAt : 'unknown'}`);
|
|
64
|
+
this.log(`Updated: ${meta !== undefined ? meta.updatedAt : 'unknown'}`);
|
|
65
|
+
if (meta !== undefined && meta.mergedAt !== '') {
|
|
66
|
+
this.log(`Merged: ${meta.mergedAt}`);
|
|
67
|
+
}
|
|
68
|
+
if (meta !== undefined && meta.closedAt !== '') {
|
|
69
|
+
this.log(`Closed: ${meta.closedAt}`);
|
|
70
|
+
}
|
|
71
|
+
if (pr.description) {
|
|
72
|
+
this.log(`\nDescription:\n${pr.description}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=pr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr.js","sourceRoot":"","sources":["../../../src/commands/get/pr.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export default class ListProjects extends Command {
|
|
|
7
7
|
static examples: string[];
|
|
8
8
|
static flags: {
|
|
9
9
|
'include-stale': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
'include-uninitialized': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
11
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
12
|
};
|
|
12
13
|
run(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/commands/list/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAI5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,OAAgB,WAAW,SAAoC;IAE/D,OAAgB,QAAQ,
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../../src/commands/list/projects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAI5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,OAAgB,WAAW,SAAoC;IAE/D,OAAgB,QAAQ,WAKvB;IAED,OAAgB,KAAK;;;;MAapB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoClC"}
|