centy 0.3.0 → 0.5.0
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 +3 -3
- package/dist/commands/close.d.ts +1 -4
- package/dist/commands/close.d.ts.map +1 -1
- package/dist/commands/close.js +23 -40
- package/dist/commands/close.js.map +1 -1
- package/dist/commands/create/item-type.d.ts +20 -0
- package/dist/commands/create/item-type.d.ts.map +1 -0
- package/dist/commands/create/item-type.js +90 -0
- package/dist/commands/create/item-type.js.map +1 -0
- package/dist/commands/init.d.ts +0 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +0 -20
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/{delete/pr.d.ts → link.d.ts} +6 -4
- package/dist/commands/link.d.ts.map +1 -0
- package/dist/commands/link.js +74 -0
- package/dist/commands/link.js.map +1 -0
- package/dist/commands/{get/pr.d.ts → links.d.ts} +4 -5
- package/dist/commands/links.d.ts.map +1 -0
- package/dist/commands/links.js +70 -0
- package/dist/commands/links.js.map +1 -0
- package/dist/commands/list/link-types.d.ts +14 -0
- package/dist/commands/list/link-types.d.ts.map +1 -0
- package/dist/commands/list/link-types.js +59 -0
- package/dist/commands/list/link-types.js.map +1 -0
- package/dist/commands/show.d.ts.map +1 -1
- package/dist/commands/show.js +5 -8
- package/dist/commands/show.js.map +1 -1
- package/dist/commands/unlink.d.ts +19 -0
- package/dist/commands/unlink.d.ts.map +1 -0
- package/dist/commands/unlink.js +73 -0
- package/dist/commands/unlink.js.map +1 -0
- package/dist/commands/version.d.ts +13 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +51 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/daemon/daemon-create-item-type.d.ts +6 -0
- package/dist/daemon/daemon-create-item-type.d.ts.map +1 -0
- package/dist/daemon/daemon-create-item-type.js +9 -0
- package/dist/daemon/daemon-create-item-type.js.map +1 -0
- package/dist/daemon/daemon-create-link.d.ts +6 -0
- package/dist/daemon/daemon-create-link.d.ts.map +1 -0
- package/dist/daemon/daemon-create-link.js +9 -0
- package/dist/daemon/daemon-create-link.js.map +1 -0
- package/dist/daemon/daemon-delete-link.d.ts +6 -0
- package/dist/daemon/daemon-delete-link.d.ts.map +1 -0
- package/dist/daemon/daemon-delete-link.js +9 -0
- package/dist/daemon/daemon-delete-link.js.map +1 -0
- package/dist/daemon/daemon-get-available-link-types.d.ts +6 -0
- package/dist/daemon/daemon-get-available-link-types.d.ts.map +1 -0
- package/dist/daemon/daemon-get-available-link-types.js +9 -0
- package/dist/daemon/daemon-get-available-link-types.js.map +1 -0
- package/dist/daemon/daemon-list-links.d.ts +6 -0
- package/dist/daemon/daemon-list-links.d.ts.map +1 -0
- package/dist/daemon/daemon-list-links.js +9 -0
- package/dist/daemon/daemon-list-links.js.map +1 -0
- package/dist/daemon/daemon-open-in-temp-workspace.d.ts +2 -2
- package/dist/daemon/daemon-open-in-temp-workspace.d.ts.map +1 -1
- package/dist/daemon/daemon-open-in-temp-workspace.js.map +1 -1
- package/dist/daemon/grpc-client-extended.d.ts +4 -8
- package/dist/daemon/grpc-client-extended.d.ts.map +1 -1
- package/dist/daemon/grpc-client-items.d.ts +19 -0
- package/dist/daemon/grpc-client-items.d.ts.map +1 -0
- package/dist/daemon/grpc-client-items.js +2 -0
- package/dist/daemon/grpc-client-items.js.map +1 -0
- package/dist/daemon/grpc-client-link.d.ts +12 -0
- package/dist/daemon/grpc-client-link.d.ts.map +1 -0
- package/dist/daemon/grpc-client-link.js +2 -0
- package/dist/daemon/grpc-client-link.js.map +1 -0
- package/dist/daemon/grpc-client-ops.d.ts +2 -12
- package/dist/daemon/grpc-client-ops.d.ts.map +1 -1
- package/dist/daemon/load-proto.d.ts +3 -1
- package/dist/daemon/load-proto.d.ts.map +1 -1
- package/dist/daemon/load-proto.js +3 -1
- package/dist/daemon/load-proto.js.map +1 -1
- package/dist/daemon/types/config.d.ts +3 -7
- package/dist/daemon/types/config.d.ts.map +1 -1
- package/dist/daemon/types/generic-item.d.ts +104 -0
- package/dist/daemon/types/generic-item.d.ts.map +1 -0
- package/dist/daemon/types/generic-item.js +6 -0
- package/dist/daemon/types/generic-item.js.map +1 -0
- package/dist/daemon/types/item-type.d.ts +37 -0
- package/dist/daemon/types/item-type.d.ts.map +1 -0
- package/dist/daemon/types/item-type.js +6 -0
- package/dist/daemon/types/item-type.js.map +1 -0
- package/dist/daemon/types.d.ts +2 -3
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/daemon/types.js +2 -3
- package/dist/daemon/types.js.map +1 -1
- package/dist/lib/autostart/launchd.d.ts.map +1 -1
- package/dist/lib/autostart/launchd.js +10 -3
- package/dist/lib/autostart/launchd.js.map +1 -1
- package/dist/lib/close/find-entity.d.ts +1 -1
- package/dist/lib/close/find-entity.d.ts.map +1 -1
- package/dist/lib/close/find-entity.js +0 -15
- package/dist/lib/close/find-entity.js.map +1 -1
- package/dist/lib/create-item-type/features.d.ts +18 -0
- package/dist/lib/create-item-type/features.d.ts.map +1 -0
- package/dist/lib/create-item-type/features.js +58 -0
- package/dist/lib/create-item-type/features.js.map +1 -0
- package/dist/lib/init/config-builder.d.ts.map +1 -1
- package/dist/lib/init/config-builder.js +1 -24
- package/dist/lib/init/config-builder.js.map +1 -1
- package/dist/lib/show/format-results.d.ts +1 -2
- package/dist/lib/show/format-results.d.ts.map +1 -1
- package/dist/lib/show/format-results.js +0 -20
- package/dist/lib/show/format-results.js.map +1 -1
- package/dist/lib/show/search-entities.d.ts +1 -2
- package/dist/lib/show/search-entities.d.ts.map +1 -1
- package/dist/lib/show/search-entities.js +2 -6
- package/dist/lib/show/search-entities.js.map +1 -1
- package/dist/lib/start/handle-missing-daemon.d.ts.map +1 -1
- package/dist/lib/start/handle-missing-daemon.js +11 -1
- package/dist/lib/start/handle-missing-daemon.js.map +1 -1
- package/dist/lib/start/start-foreground.d.ts +1 -1
- package/dist/lib/start/start-foreground.d.ts.map +1 -1
- package/dist/lib/start/start-foreground.js +11 -1
- package/dist/lib/start/start-foreground.js.map +1 -1
- package/dist/types/init-options.d.ts +0 -8
- package/dist/types/init-options.d.ts.map +1 -1
- package/dist/utils/format-cross-project-hint.d.ts +1 -1
- package/dist/utils/format-cross-project-hint.d.ts.map +1 -1
- package/dist/utils/format-cross-project-hint.js.map +1 -1
- package/dist/utils/handle-not-initialized-with-search.d.ts +1 -1
- package/dist/utils/handle-not-initialized-with-search.d.ts.map +1 -1
- package/dist/utils/parse-link-target.d.ts +5 -0
- package/dist/utils/parse-link-target.d.ts.map +1 -0
- package/dist/utils/parse-link-target.js +16 -0
- package/dist/utils/parse-link-target.js.map +1 -0
- package/dist/utils/process-timeout-config.d.ts +17 -0
- package/dist/utils/process-timeout-config.d.ts.map +1 -0
- package/dist/utils/process-timeout-config.js +18 -0
- package/dist/utils/process-timeout-config.js.map +1 -0
- package/dist/utils/process-timeout-error.d.ts +4 -0
- package/dist/utils/process-timeout-error.d.ts.map +1 -0
- package/dist/utils/process-timeout-error.js +7 -0
- package/dist/utils/process-timeout-error.js.map +1 -0
- package/oclif.manifest.json +459 -573
- package/package.json +1 -1
- package/proto/{centy.proto → centy/v1/centy.proto} +86 -248
- package/proto/centy/v1/generic_item.proto +177 -0
- package/dist/commands/create/pr.d.ts +0 -21
- package/dist/commands/create/pr.d.ts.map +0 -1
- package/dist/commands/create/pr.js +0 -85
- package/dist/commands/create/pr.js.map +0 -1
- package/dist/commands/delete/pr.d.ts.map +0 -1
- package/dist/commands/delete/pr.js +0 -74
- package/dist/commands/delete/pr.js.map +0 -1
- package/dist/commands/get/pr.d.ts.map +0 -1
- package/dist/commands/get/pr.js +0 -86
- package/dist/commands/get/pr.js.map +0 -1
- package/dist/commands/list/prs.d.ts +0 -19
- package/dist/commands/list/prs.d.ts.map +0 -1
- package/dist/commands/list/prs.js +0 -90
- package/dist/commands/list/prs.js.map +0 -1
- package/dist/commands/update/pr.d.ts +0 -21
- package/dist/commands/update/pr.d.ts.map +0 -1
- package/dist/commands/update/pr.js +0 -97
- package/dist/commands/update/pr.js.map +0 -1
- package/dist/daemon/daemon-create-pr.d.ts +0 -6
- package/dist/daemon/daemon-create-pr.d.ts.map +0 -1
- package/dist/daemon/daemon-create-pr.js +0 -9
- package/dist/daemon/daemon-create-pr.js.map +0 -1
- package/dist/daemon/daemon-delete-pr.d.ts +0 -6
- package/dist/daemon/daemon-delete-pr.d.ts.map +0 -1
- package/dist/daemon/daemon-delete-pr.js +0 -9
- package/dist/daemon/daemon-delete-pr.js.map +0 -1
- package/dist/daemon/daemon-get-pr-by-display-number.d.ts +0 -6
- package/dist/daemon/daemon-get-pr-by-display-number.d.ts.map +0 -1
- package/dist/daemon/daemon-get-pr-by-display-number.js +0 -14
- package/dist/daemon/daemon-get-pr-by-display-number.js.map +0 -1
- package/dist/daemon/daemon-get-pr.d.ts +0 -6
- package/dist/daemon/daemon-get-pr.d.ts.map +0 -1
- package/dist/daemon/daemon-get-pr.js +0 -14
- package/dist/daemon/daemon-get-pr.js.map +0 -1
- package/dist/daemon/daemon-get-prs-by-uuid.d.ts +0 -6
- package/dist/daemon/daemon-get-prs-by-uuid.d.ts.map +0 -1
- package/dist/daemon/daemon-get-prs-by-uuid.js +0 -9
- package/dist/daemon/daemon-get-prs-by-uuid.js.map +0 -1
- package/dist/daemon/daemon-list-prs.d.ts +0 -6
- package/dist/daemon/daemon-list-prs.d.ts.map +0 -1
- package/dist/daemon/daemon-list-prs.js +0 -9
- package/dist/daemon/daemon-list-prs.js.map +0 -1
- package/dist/daemon/daemon-update-pr.d.ts +0 -6
- package/dist/daemon/daemon-update-pr.d.ts.map +0 -1
- package/dist/daemon/daemon-update-pr.js +0 -9
- package/dist/daemon/daemon-update-pr.js.map +0 -1
- package/dist/daemon/types/pr-lifecycle.d.ts +0 -54
- package/dist/daemon/types/pr-lifecycle.d.ts.map +0 -1
- package/dist/daemon/types/pr-lifecycle.js +0 -7
- package/dist/daemon/types/pr-lifecycle.js.map +0 -1
- package/dist/daemon/types/pr-search.d.ts +0 -19
- package/dist/daemon/types/pr-search.d.ts.map +0 -1
- package/dist/daemon/types/pr-search.js +0 -6
- package/dist/daemon/types/pr-search.js.map +0 -1
- package/dist/daemon/types/pr.d.ts +0 -79
- package/dist/daemon/types/pr.d.ts.map +0 -1
- package/dist/daemon/types/pr.js +0 -6
- package/dist/daemon/types/pr.js.map +0 -1
- package/dist/lib/close/close-pr.d.ts +0 -2
- package/dist/lib/close/close-pr.d.ts.map +0 -1
- package/dist/lib/close/close-pr.js +0 -23
- package/dist/lib/close/close-pr.js.map +0 -1
- package/dist/lib/create-pr/converters.d.ts +0 -15
- package/dist/lib/create-pr/converters.d.ts.map +0 -1
- package/dist/lib/create-pr/converters.js +0 -53
- package/dist/lib/create-pr/converters.js.map +0 -1
- package/dist/lib/create-pr/create-pr.d.ts +0 -8
- package/dist/lib/create-pr/create-pr.d.ts.map +0 -1
- package/dist/lib/create-pr/create-pr.js +0 -65
- package/dist/lib/create-pr/create-pr.js.map +0 -1
- package/dist/lib/create-pr/gather-basic-fields.d.ts +0 -8
- package/dist/lib/create-pr/gather-basic-fields.d.ts.map +0 -1
- package/dist/lib/create-pr/gather-basic-fields.js +0 -34
- package/dist/lib/create-pr/gather-basic-fields.js.map +0 -1
- package/dist/lib/create-pr/gather-metadata-fields.d.ts +0 -11
- package/dist/lib/create-pr/gather-metadata-fields.d.ts.map +0 -1
- package/dist/lib/create-pr/gather-metadata-fields.js +0 -36
- package/dist/lib/create-pr/gather-metadata-fields.js.map +0 -1
- package/dist/lib/create-pr/gather-pr-input.d.ts +0 -8
- package/dist/lib/create-pr/gather-pr-input.d.ts.map +0 -1
- package/dist/lib/create-pr/gather-pr-input.js +0 -38
- package/dist/lib/create-pr/gather-pr-input.js.map +0 -1
- package/dist/lib/create-pr/index.d.ts +0 -2
- package/dist/lib/create-pr/index.d.ts.map +0 -1
- package/dist/lib/create-pr/index.js +0 -2
- package/dist/lib/create-pr/index.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-description.d.ts +0 -6
- package/dist/lib/create-pr/prompt-for-description.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-description.js +0 -12
- package/dist/lib/create-pr/prompt-for-description.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-linked-issues.d.ts +0 -7
- package/dist/lib/create-pr/prompt-for-linked-issues.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-linked-issues.js +0 -22
- package/dist/lib/create-pr/prompt-for-linked-issues.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-priority.d.ts +0 -9
- package/dist/lib/create-pr/prompt-for-priority.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-priority.js +0 -27
- package/dist/lib/create-pr/prompt-for-priority.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-reviewers.d.ts +0 -7
- package/dist/lib/create-pr/prompt-for-reviewers.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-reviewers.js +0 -22
- package/dist/lib/create-pr/prompt-for-reviewers.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-source-branch.d.ts +0 -7
- package/dist/lib/create-pr/prompt-for-source-branch.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-source-branch.js +0 -20
- package/dist/lib/create-pr/prompt-for-source-branch.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-status.d.ts +0 -9
- package/dist/lib/create-pr/prompt-for-status.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-status.js +0 -27
- package/dist/lib/create-pr/prompt-for-status.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-target-branch.d.ts +0 -7
- package/dist/lib/create-pr/prompt-for-target-branch.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-target-branch.js +0 -15
- package/dist/lib/create-pr/prompt-for-target-branch.js.map +0 -1
- package/dist/lib/create-pr/prompt-for-title.d.ts +0 -6
- package/dist/lib/create-pr/prompt-for-title.d.ts.map +0 -1
- package/dist/lib/create-pr/prompt-for-title.js +0 -12
- package/dist/lib/create-pr/prompt-for-title.js.map +0 -1
- package/dist/lib/create-pr/types.d.ts +0 -14
- package/dist/lib/create-pr/types.d.ts.map +0 -1
- package/dist/lib/create-pr/types.js +0 -2
- package/dist/lib/create-pr/types.js.map +0 -1
- package/dist/lib/get-pr/cross-project-hint.d.ts +0 -6
- package/dist/lib/get-pr/cross-project-hint.d.ts.map +0 -1
- package/dist/lib/get-pr/cross-project-hint.js +0 -24
- package/dist/lib/get-pr/cross-project-hint.js.map +0 -1
- package/dist/lib/get-pr/fetch-and-display.d.ts +0 -12
- package/dist/lib/get-pr/fetch-and-display.d.ts.map +0 -1
- package/dist/lib/get-pr/fetch-and-display.js +0 -36
- package/dist/lib/get-pr/fetch-and-display.js.map +0 -1
- package/dist/lib/get-pr/format-pr-output.d.ts +0 -3
- package/dist/lib/get-pr/format-pr-output.d.ts.map +0 -1
- package/dist/lib/get-pr/format-pr-output.js +0 -24
- package/dist/lib/get-pr/format-pr-output.js.map +0 -1
- package/dist/lib/get-pr/handle-global-search.d.ts +0 -3
- package/dist/lib/get-pr/handle-global-search.d.ts.map +0 -1
- package/dist/lib/get-pr/handle-global-search.js +0 -37
- package/dist/lib/get-pr/handle-global-search.js.map +0 -1
- package/dist/lib/get-pr/handle-not-initialized.d.ts +0 -6
- package/dist/lib/get-pr/handle-not-initialized.d.ts.map +0 -1
- package/dist/lib/get-pr/handle-not-initialized.js +0 -22
- package/dist/lib/get-pr/handle-not-initialized.js.map +0 -1
- package/dist/lib/update-pr/process-fields.d.ts +0 -4
- package/dist/lib/update-pr/process-fields.d.ts.map +0 -1
- package/dist/lib/update-pr/process-fields.js +0 -23
- package/dist/lib/update-pr/process-fields.js.map +0 -1
- package/dist/types/create-pr-options.d.ts +0 -30
- package/dist/types/create-pr-options.d.ts.map +0 -1
- package/dist/types/create-pr-options.js +0 -2
- package/dist/types/create-pr-options.js.map +0 -1
- package/dist/types/create-pr-result.d.ts +0 -16
- package/dist/types/create-pr-result.d.ts.map +0 -1
- package/dist/types/create-pr-result.js +0 -2
- package/dist/types/create-pr-result.js.map +0 -1
package/bin/run.js
CHANGED
|
@@ -6,8 +6,8 @@ import { execute } from '@oclif/core'
|
|
|
6
6
|
if (typeof Bun === 'undefined') {
|
|
7
7
|
const { execSync, spawnSync } = await import('child_process')
|
|
8
8
|
try {
|
|
9
|
-
// Check if bun is installed
|
|
10
|
-
execSync('bun --version', { stdio: 'ignore' })
|
|
9
|
+
// Check if bun is installed (5s timeout to avoid hanging)
|
|
10
|
+
execSync('bun --version', { stdio: 'ignore', timeout: 5000 })
|
|
11
11
|
// Re-exec with bun and exit with its exit code
|
|
12
12
|
const result = spawnSync(
|
|
13
13
|
'bun',
|
|
@@ -20,7 +20,7 @@ if (typeof Bun === 'undefined') {
|
|
|
20
20
|
result.status !== null && result.status !== undefined ? result.status : 0
|
|
21
21
|
)
|
|
22
22
|
} catch {
|
|
23
|
-
// Bun not installed, continue with Node
|
|
23
|
+
// Bun not installed or version check timed out, continue with Node
|
|
24
24
|
// eslint-disable-next-line default/no-hardcoded-urls
|
|
25
25
|
console.error('Tip: Install Bun for faster CLI performance: https://bun.sh')
|
|
26
26
|
}
|
package/dist/commands/close.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Close an issue by display number
|
|
4
4
|
*/
|
|
5
5
|
export default class Close extends Command {
|
|
6
6
|
static args: {
|
|
@@ -9,12 +9,9 @@ export default class Close extends Command {
|
|
|
9
9
|
static description: string;
|
|
10
10
|
static examples: string[];
|
|
11
11
|
static flags: {
|
|
12
|
-
type: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
12
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
13
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
14
|
};
|
|
16
15
|
run(): Promise<void>;
|
|
17
|
-
private closeByType;
|
|
18
|
-
private closeByDiscovery;
|
|
19
16
|
}
|
|
20
17
|
//# sourceMappingURL=close.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../src/commands/close.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../src/commands/close.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAWlD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IAExC,OAAgB,IAAI;;MAKnB;IAGD,OAAgB,WAAW,SAAqC;IAGhE,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,KAAK;;;MAMpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA8BlC"}
|
package/dist/commands/close.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
// eslint-disable-next-line import/order
|
|
2
2
|
import { Args, Command, Flags } from '@oclif/core';
|
|
3
|
+
import { daemonUpdateIssue } from '../daemon/daemon-update-issue.js';
|
|
3
4
|
import { projectFlag } from '../flags/project-flag.js';
|
|
4
|
-
import {
|
|
5
|
-
import { closePr } from '../lib/close/close-pr.js';
|
|
6
|
-
import { findEntityByDisplayNumber } from '../lib/close/find-entity.js';
|
|
5
|
+
import { CloseEntityError } from '../lib/close/close-entity-error.js';
|
|
7
6
|
import { ensureInitialized, NotInitializedError, } from '../utils/ensure-initialized.js';
|
|
8
7
|
import { resolveProjectPath } from '../utils/resolve-project-path.js';
|
|
9
8
|
/**
|
|
10
|
-
*
|
|
9
|
+
* Close an issue by display number
|
|
11
10
|
*/
|
|
12
11
|
// eslint-disable-next-line custom/no-default-class-export, class-export/class-export
|
|
13
12
|
export default class Close extends Command {
|
|
@@ -19,22 +18,15 @@ export default class Close extends Command {
|
|
|
19
18
|
}),
|
|
20
19
|
};
|
|
21
20
|
// eslint-disable-next-line no-restricted-syntax
|
|
22
|
-
static description = 'Close an issue
|
|
21
|
+
static description = 'Close an issue by display number';
|
|
23
22
|
// eslint-disable-next-line no-restricted-syntax
|
|
24
23
|
static examples = [
|
|
25
24
|
'<%= config.bin %> close 1',
|
|
26
25
|
'<%= config.bin %> close #1',
|
|
27
|
-
'<%= config.bin %> close 1 --type issue',
|
|
28
|
-
'<%= config.bin %> close 1 --type pr',
|
|
29
26
|
'<%= config.bin %> close 1 --project centy-daemon',
|
|
30
27
|
];
|
|
31
28
|
// eslint-disable-next-line no-restricted-syntax
|
|
32
29
|
static flags = {
|
|
33
|
-
type: Flags.string({
|
|
34
|
-
char: 't',
|
|
35
|
-
description: 'Entity type (issue, pr)',
|
|
36
|
-
options: ['issue', 'pr'],
|
|
37
|
-
}),
|
|
38
30
|
project: projectFlag,
|
|
39
31
|
json: Flags.boolean({
|
|
40
32
|
description: 'Output as JSON',
|
|
@@ -58,36 +50,27 @@ export default class Close extends Command {
|
|
|
58
50
|
}
|
|
59
51
|
throw error instanceof Error ? error : new Error(String(error));
|
|
60
52
|
}
|
|
61
|
-
|
|
62
|
-
await this.closeByType(flags.type, cwd, displayNumber, flags.json);
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
await this.closeByDiscovery(cwd, displayNumber, flags.json);
|
|
53
|
+
await closeIssue(cwd, args.identifier, displayNumber, flags.json, this.log.bind(this));
|
|
66
54
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
55
|
+
}
|
|
56
|
+
async function closeIssue(cwd, issueId, displayNumber, json, log) {
|
|
57
|
+
const response = await daemonUpdateIssue({
|
|
58
|
+
projectPath: cwd,
|
|
59
|
+
issueId,
|
|
60
|
+
status: 'closed',
|
|
61
|
+
});
|
|
62
|
+
if (!response.success) {
|
|
63
|
+
throw new CloseEntityError(response.error);
|
|
74
64
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
const entity = foundEntities[0];
|
|
85
|
-
if (entity.type === 'issue') {
|
|
86
|
-
await closeIssue(cwd, displayNumber, json, this.log.bind(this));
|
|
87
|
-
}
|
|
88
|
-
else if (entity.type === 'pr') {
|
|
89
|
-
await closePr(cwd, displayNumber, json, this.log.bind(this));
|
|
90
|
-
}
|
|
65
|
+
if (json) {
|
|
66
|
+
log(JSON.stringify({
|
|
67
|
+
type: 'issue',
|
|
68
|
+
displayNumber: response.issue.displayNumber,
|
|
69
|
+
status: 'closed',
|
|
70
|
+
}, null, 2));
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
log(`Closed issue #${response.issue.displayNumber}`);
|
|
91
74
|
}
|
|
92
75
|
}
|
|
93
76
|
//# sourceMappingURL=close.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../src/commands/close.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"close.js","sourceRoot":"","sources":["../../src/commands/close.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAErE;;GAEG;AACH,qFAAqF;AACrF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,gDAAgD;IAChD,MAAM,CAAU,IAAI,GAAG;QACrB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAED,gDAAgD;IAChD,MAAM,CAAU,WAAW,GAAG,kCAAkC,CAAA;IAEhE,gDAAgD;IAChD,MAAM,CAAU,QAAQ,GAAG;QACzB,2BAA2B;QAC3B,4BAA4B;QAC5B,kDAAkD;KACnD,CAAA;IAED,gDAAgD;IAChD,MAAM,CAAU,KAAK,GAAG;QACtB,OAAO,EAAE,WAAW;QACpB,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,KAAK,CAAC,CAAA;QAE/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC7D,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CACR,qEAAqE,CACtE,CAAA;QACH,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEhE,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEnD,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC3B,CAAC;YACD,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACjE,CAAC;QAED,MAAM,UAAU,CACd,GAAG,EACH,IAAI,CAAC,UAAU,EACf,aAAa,EACb,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CACpB,CAAA;IACH,CAAC;;AAGH,KAAK,UAAU,UAAU,CACvB,GAAW,EACX,OAAe,EACf,aAAqB,EACrB,IAAa,EACb,GAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;QACvC,WAAW,EAAE,GAAG;QAChB,OAAO;QACP,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,CACD,IAAI,CAAC,SAAS,CACZ;YACE,IAAI,EAAE,OAAO;YACb,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;YAC3C,MAAM,EAAE,QAAQ;SACjB,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAA;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,iBAAiB,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAA;IACtD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* Create a new custom item type in the .centy folder
|
|
4
|
+
*/
|
|
5
|
+
export default class CreateItemType extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
plural: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
identifier: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
statuses: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
'default-status': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
'priority-levels': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
features: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
};
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=item-type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-type.d.ts","sourceRoot":"","sources":["../../../src/commands/create/item-type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAU5C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,OAAO;IAEjD,OAAgB,WAAW,SAAkC;IAG7D,OAAgB,QAAQ,WAGvB;IAGD,OAAgB,KAAK;;;;;;;;;MAiCpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA2ClC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// eslint-disable-next-line import/order
|
|
2
|
+
import { Command, Flags } from '@oclif/core';
|
|
3
|
+
import { daemonCreateItemType } from '../../daemon/daemon-create-item-type.js';
|
|
4
|
+
import { projectFlag } from '../../flags/project-flag.js';
|
|
5
|
+
import { VALID_FEATURES, parseFeatures, } from '../../lib/create-item-type/features.js';
|
|
6
|
+
import { resolveProjectPath } from '../../utils/resolve-project-path.js';
|
|
7
|
+
/**
|
|
8
|
+
* Create a new custom item type in the .centy folder
|
|
9
|
+
*/
|
|
10
|
+
// eslint-disable-next-line custom/no-default-class-export, class-export/class-export
|
|
11
|
+
export default class CreateItemType extends Command {
|
|
12
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
13
|
+
static description = 'Create a new custom item type';
|
|
14
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
15
|
+
static examples = [
|
|
16
|
+
'<%= config.bin %> create item-type --name "Bug" --plural "bugs" --identifier uuid --statuses open,in-progress,closed --default-status open --priority-levels 3 --features display-number,status,priority,move,duplicate',
|
|
17
|
+
'<%= config.bin %> create item-type --name "Task" --plural "tasks" --identifier slug --statuses todo,doing,done --default-status todo --features status,priority',
|
|
18
|
+
];
|
|
19
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
20
|
+
static flags = {
|
|
21
|
+
name: Flags.string({
|
|
22
|
+
char: 'n',
|
|
23
|
+
description: 'Singular display name (e.g., "Bug", "Task", "Epic")',
|
|
24
|
+
required: true,
|
|
25
|
+
}),
|
|
26
|
+
plural: Flags.string({
|
|
27
|
+
description: 'Folder/type key, lowercase alphanumeric + hyphens (e.g., "bugs")',
|
|
28
|
+
required: true,
|
|
29
|
+
}),
|
|
30
|
+
identifier: Flags.string({
|
|
31
|
+
description: 'Identifier type for items',
|
|
32
|
+
options: ['uuid', 'slug'],
|
|
33
|
+
required: true,
|
|
34
|
+
}),
|
|
35
|
+
statuses: Flags.string({
|
|
36
|
+
description: 'Comma-separated list of allowed statuses',
|
|
37
|
+
required: true,
|
|
38
|
+
}),
|
|
39
|
+
'default-status': Flags.string({
|
|
40
|
+
description: 'Default status for new items (must be in statuses list)',
|
|
41
|
+
required: true,
|
|
42
|
+
}),
|
|
43
|
+
'priority-levels': Flags.integer({
|
|
44
|
+
description: 'Number of priority levels (0 = none)',
|
|
45
|
+
default: 0,
|
|
46
|
+
}),
|
|
47
|
+
features: Flags.string({
|
|
48
|
+
char: 'f',
|
|
49
|
+
description: `Comma-separated features (${VALID_FEATURES.join(', ')})`,
|
|
50
|
+
}),
|
|
51
|
+
project: projectFlag,
|
|
52
|
+
};
|
|
53
|
+
async run() {
|
|
54
|
+
const { flags } = await this.parse(CreateItemType);
|
|
55
|
+
const cwd = await resolveProjectPath(flags.project);
|
|
56
|
+
const statuses = flags.statuses.split(',').map(s => s.trim());
|
|
57
|
+
const defaultStatus = flags['default-status'];
|
|
58
|
+
if (!statuses.includes(defaultStatus)) {
|
|
59
|
+
this.error(`Default status "${defaultStatus}" must be one of: ${statuses.join(', ')}`);
|
|
60
|
+
}
|
|
61
|
+
const features = parseFeatures(flags.features);
|
|
62
|
+
const response = await daemonCreateItemType({
|
|
63
|
+
projectPath: cwd,
|
|
64
|
+
name: flags.name,
|
|
65
|
+
plural: flags.plural,
|
|
66
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
67
|
+
identifier: flags.identifier,
|
|
68
|
+
features,
|
|
69
|
+
statuses,
|
|
70
|
+
defaultStatus,
|
|
71
|
+
priorityLevels: flags['priority-levels'],
|
|
72
|
+
customFields: [],
|
|
73
|
+
});
|
|
74
|
+
if (!response.success) {
|
|
75
|
+
const errorMsg = response.error !== '' ? response.error : 'Failed to create item type';
|
|
76
|
+
this.error(errorMsg);
|
|
77
|
+
}
|
|
78
|
+
this.log(`\nCreated item type "${flags.name}" (${flags.plural})`);
|
|
79
|
+
this.log(` Identifier: ${flags.identifier}`);
|
|
80
|
+
this.log(` Statuses: ${statuses.join(', ')}`);
|
|
81
|
+
this.log(` Default status: ${defaultStatus}`);
|
|
82
|
+
if (flags['priority-levels'] > 0) {
|
|
83
|
+
this.log(` Priority levels: ${flags['priority-levels']}`);
|
|
84
|
+
}
|
|
85
|
+
if (features.length > 0 && flags.features !== undefined) {
|
|
86
|
+
this.log(` Features: ${flags.features}`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=item-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-type.js","sourceRoot":"","sources":["../../../src/commands/create/item-type.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -8,12 +8,8 @@ export default class Init extends Command {
|
|
|
8
8
|
static flags: {
|
|
9
9
|
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
10
|
'priority-levels': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
-
'default-state': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
11
|
'allowed-states': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
12
|
version: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
-
'llm-auto-close': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
-
'llm-update-status': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
-
'llm-allow-direct-edits': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
17
13
|
};
|
|
18
14
|
run(): Promise<void>;
|
|
19
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAI5C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IAEvC,OAAgB,WAAW,SAC0B;IAGrD,OAAgB,QAAQ,WAGvB;IAGD,OAAgB,KAAK
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAI5C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IAEvC,OAAgB,WAAW,SAC0B;IAGrD,OAAgB,QAAQ,WAGvB;IAGD,OAAgB,KAAK;;;;;MAkBpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBlC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -26,28 +26,12 @@ export default class Init extends Command {
|
|
|
26
26
|
min: 1,
|
|
27
27
|
max: 10,
|
|
28
28
|
}),
|
|
29
|
-
'default-state': Flags.string({
|
|
30
|
-
description: 'Default state for new issues (default: "open")',
|
|
31
|
-
}),
|
|
32
29
|
'allowed-states': Flags.string({
|
|
33
30
|
description: 'Comma-separated list of allowed states',
|
|
34
31
|
}),
|
|
35
32
|
version: Flags.string({
|
|
36
33
|
description: 'Project version (semver)',
|
|
37
34
|
}),
|
|
38
|
-
// LLM flags
|
|
39
|
-
'llm-auto-close': Flags.boolean({
|
|
40
|
-
description: 'Auto-close issues when LLM completes work',
|
|
41
|
-
allowNo: true,
|
|
42
|
-
}),
|
|
43
|
-
'llm-update-status': Flags.boolean({
|
|
44
|
-
description: 'Update status to in-progress when LLM starts',
|
|
45
|
-
allowNo: true,
|
|
46
|
-
}),
|
|
47
|
-
'llm-allow-direct-edits': Flags.boolean({
|
|
48
|
-
description: 'Allow LLM to directly edit issue files',
|
|
49
|
-
allowNo: true,
|
|
50
|
-
}),
|
|
51
35
|
};
|
|
52
36
|
async run() {
|
|
53
37
|
const { flags } = await this.parse(Init);
|
|
@@ -62,12 +46,8 @@ export default class Init extends Command {
|
|
|
62
46
|
force: flags.force,
|
|
63
47
|
cwd,
|
|
64
48
|
priorityLevels: flags['priority-levels'],
|
|
65
|
-
defaultState: flags['default-state'],
|
|
66
49
|
allowedStates,
|
|
67
50
|
version: flags.version,
|
|
68
|
-
llmAutoClose: flags['llm-auto-close'],
|
|
69
|
-
llmUpdateStatus: flags['llm-update-status'],
|
|
70
|
-
llmAllowDirectEdits: flags['llm-allow-direct-edits'],
|
|
71
51
|
});
|
|
72
52
|
if (!result.success) {
|
|
73
53
|
this.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C;;GAEG;AACH,qFAAqF;AACrF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,gDAAgD;IAChD,MAAM,CAAU,WAAW,GACzB,mDAAmD,CAAA;IAErD,gDAAgD;IAChD,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,6CAA6C;KAC9C,CAAA;IAED,gDAAgD;IAChD,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2CAA2C;YACxD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,eAAe;QACf,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8CAA8C;YAC3D,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,EAAE;SACR,CAAC;QACF,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAE3C;;GAEG;AACH,qFAAqF;AACrF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,gDAAgD;IAChD,MAAM,CAAU,WAAW,GACzB,mDAAmD,CAAA;IAErD,gDAAgD;IAChD,MAAM,CAAU,QAAQ,GAAG;QACzB,qCAAqC;QACrC,6CAA6C;KAC9C,CAAA;IAED,gDAAgD;IAChD,MAAM,CAAU,KAAK,GAAG;QACtB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,2CAA2C;YACxD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,eAAe;QACf,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;YAC/B,WAAW,EAAE,8CAA8C;YAC3D,GAAG,EAAE,CAAC;YACN,GAAG,EAAE,EAAE;SACR,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,wCAAwC;SACtD,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,0BAA0B;SACxC,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAExC,sEAAsE;QACtE,gDAAgD;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAEpC,mCAAmC;QACnC,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAC3C,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC,CAAC,SAAS,CAAA;QAEb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG;YACH,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;YACxC,aAAa;YACb,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;IACH,CAAC"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Create a link between two entities
|
|
4
4
|
*/
|
|
5
|
-
export default class
|
|
5
|
+
export default class Link extends Command {
|
|
6
6
|
static args: {
|
|
7
|
+
type: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
8
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
9
|
+
linkType: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
10
|
+
target: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
11
|
};
|
|
9
12
|
static description: string;
|
|
10
13
|
static examples: string[];
|
|
11
14
|
static flags: {
|
|
12
|
-
force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
15
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
16
|
};
|
|
15
17
|
run(): Promise<void>;
|
|
16
18
|
}
|
|
17
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=link.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAE,MAAM,aAAa,CAAA;AAW3C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IAEvC,OAAgB,IAAI;;;;;MAkBnB;IAGD,OAAgB,WAAW,SAAuC;IAGlE,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,KAAK;;MAEpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqClC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// eslint-disable-next-line import/order
|
|
2
|
+
import { Args, Command } from '@oclif/core';
|
|
3
|
+
import { daemonCreateLink } from '../daemon/daemon-create-link.js';
|
|
4
|
+
import { projectFlag } from '../flags/project-flag.js';
|
|
5
|
+
import { ensureInitialized, NotInitializedError, } from '../utils/ensure-initialized.js';
|
|
6
|
+
import { parseLinkTarget } from '../utils/parse-link-target.js';
|
|
7
|
+
import { resolveProjectPath } from '../utils/resolve-project-path.js';
|
|
8
|
+
/**
|
|
9
|
+
* Create a link between two entities
|
|
10
|
+
*/
|
|
11
|
+
// eslint-disable-next-line custom/no-default-class-export, class-export/class-export
|
|
12
|
+
export default class Link extends Command {
|
|
13
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
14
|
+
static args = {
|
|
15
|
+
type: Args.string({
|
|
16
|
+
description: 'Source entity type (e.g., issue, doc)',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
id: Args.string({
|
|
20
|
+
description: 'Source entity ID or slug',
|
|
21
|
+
required: true,
|
|
22
|
+
}),
|
|
23
|
+
linkType: Args.string({
|
|
24
|
+
description: 'Link type (e.g., blocks, relates-to, parent-of)',
|
|
25
|
+
required: true,
|
|
26
|
+
}),
|
|
27
|
+
target: Args.string({
|
|
28
|
+
description: 'Target entity as type:id (e.g., issue:2, doc:getting-started)',
|
|
29
|
+
required: true,
|
|
30
|
+
}),
|
|
31
|
+
};
|
|
32
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
33
|
+
static description = 'Create a link between two entities';
|
|
34
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
35
|
+
static examples = [
|
|
36
|
+
'<%= config.bin %> link issue 1 blocks issue:2',
|
|
37
|
+
'<%= config.bin %> link doc getting-started relates-to issue:5',
|
|
38
|
+
'<%= config.bin %> link issue 1 parent-of issue:3 --project my-project',
|
|
39
|
+
];
|
|
40
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
41
|
+
static flags = {
|
|
42
|
+
project: projectFlag,
|
|
43
|
+
};
|
|
44
|
+
async run() {
|
|
45
|
+
const { args, flags } = await this.parse(Link);
|
|
46
|
+
const cwd = await resolveProjectPath(flags.project);
|
|
47
|
+
try {
|
|
48
|
+
await ensureInitialized(cwd);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
if (error instanceof NotInitializedError) {
|
|
52
|
+
this.error(error.message);
|
|
53
|
+
}
|
|
54
|
+
throw error instanceof Error ? error : new Error(String(error));
|
|
55
|
+
}
|
|
56
|
+
const parsed = parseLinkTarget(args.target);
|
|
57
|
+
if (parsed === undefined) {
|
|
58
|
+
this.error('Invalid target format. Use type:id (e.g., issue:2, doc:getting-started)');
|
|
59
|
+
}
|
|
60
|
+
const response = await daemonCreateLink({
|
|
61
|
+
projectPath: cwd,
|
|
62
|
+
sourceId: args.id,
|
|
63
|
+
sourceType: args.type,
|
|
64
|
+
targetId: parsed[1],
|
|
65
|
+
targetType: parsed[0],
|
|
66
|
+
linkType: args.linkType,
|
|
67
|
+
});
|
|
68
|
+
if (!response.success) {
|
|
69
|
+
this.error(response.error);
|
|
70
|
+
}
|
|
71
|
+
this.log(`Created link: ${args.type} ${args.id} --[${args.linkType}]--> ${args.target}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/commands/link.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { Command } from '@oclif/core';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* List all links for an entity
|
|
4
4
|
*/
|
|
5
|
-
export default class
|
|
6
|
-
static aliases: string[];
|
|
5
|
+
export default class Links extends Command {
|
|
7
6
|
static args: {
|
|
7
|
+
type: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
8
|
id: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
9
9
|
};
|
|
10
10
|
static description: string;
|
|
11
11
|
static examples: string[];
|
|
12
12
|
static flags: {
|
|
13
13
|
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
-
global: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
14
|
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
15
|
};
|
|
17
16
|
run(): Promise<void>;
|
|
18
17
|
}
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAA;AAUlD;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IAExC,OAAgB,IAAI;;;MASnB;IAGD,OAAgB,WAAW,SAAiC;IAG5D,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,KAAK;;;MAMpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoClC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// eslint-disable-next-line import/order
|
|
2
|
+
import { Args, Command, Flags } from '@oclif/core';
|
|
3
|
+
import { daemonListLinks } from '../daemon/daemon-list-links.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
|
+
* List all links for an entity
|
|
9
|
+
*/
|
|
10
|
+
// eslint-disable-next-line custom/no-default-class-export, class-export/class-export
|
|
11
|
+
export default class Links extends Command {
|
|
12
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
13
|
+
static args = {
|
|
14
|
+
type: Args.string({
|
|
15
|
+
description: 'Entity type (e.g., issue, doc)',
|
|
16
|
+
required: true,
|
|
17
|
+
}),
|
|
18
|
+
id: Args.string({
|
|
19
|
+
description: 'Entity ID or slug',
|
|
20
|
+
required: true,
|
|
21
|
+
}),
|
|
22
|
+
};
|
|
23
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
24
|
+
static description = 'List all links for an entity';
|
|
25
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
26
|
+
static examples = [
|
|
27
|
+
'<%= config.bin %> links issue 1',
|
|
28
|
+
'<%= config.bin %> links doc getting-started --json',
|
|
29
|
+
'<%= config.bin %> links issue 1 --project my-project',
|
|
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
|
+
async run() {
|
|
40
|
+
const { args, flags } = await this.parse(Links);
|
|
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
|
+
const response = await daemonListLinks({
|
|
52
|
+
projectPath: cwd,
|
|
53
|
+
entityId: args.id,
|
|
54
|
+
entityType: args.type,
|
|
55
|
+
});
|
|
56
|
+
if (flags.json) {
|
|
57
|
+
this.log(JSON.stringify(response.links, null, 2));
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (response.links.length === 0) {
|
|
61
|
+
this.log(`No links found for ${args.type} ${args.id}.`);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this.log(`Found ${response.totalCount} link(s) for ${args.type} ${args.id}:\n`);
|
|
65
|
+
for (const link of response.links) {
|
|
66
|
+
this.log(` ${link.linkType} --> ${link.targetType}:${link.targetId}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/commands/links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Command } from '@oclif/core';
|
|
2
|
+
/**
|
|
3
|
+
* List all available link types
|
|
4
|
+
*/
|
|
5
|
+
export default class ListLinkTypes extends Command {
|
|
6
|
+
static description: string;
|
|
7
|
+
static examples: string[];
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
10
|
+
project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=link-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-types.d.ts","sourceRoot":"","sources":["../../../src/commands/list/link-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAA;AAU5C;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,OAAO;IAEhD,OAAgB,WAAW,SAAkC;IAG7D,OAAgB,QAAQ,WAIvB;IAGD,OAAgB,KAAK;;;MAMpB;IAEY,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmClC"}
|