centy 0.4.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/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 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +0 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/link.d.ts +19 -0
- 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/links.d.ts +18 -0
- 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/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/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 +0 -1
- 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 -0
- package/dist/daemon/types.d.ts.map +1 -1
- package/dist/daemon/types.js +2 -0
- package/dist/daemon/types.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 +0 -2
- package/dist/lib/init/config-builder.js.map +1 -1
- package/dist/types/init-options.d.ts +0 -2
- package/dist/types/init-options.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/oclif.manifest.json +446 -128
- package/package.json +1 -1
- package/proto/{centy.proto → centy/v1/centy.proto} +44 -15
- package/proto/centy/v1/generic_item.proto +177 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/* eslint-disable single-export/single-export */
|
|
2
|
+
export class InvalidFeatureError extends Error {
|
|
3
|
+
constructor(feature, validFeatures) {
|
|
4
|
+
super(`Invalid feature "${feature}". Valid features: ${validFeatures.join(', ')}`);
|
|
5
|
+
this.name = 'InvalidFeatureError';
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Valid feature names for item types
|
|
10
|
+
*/
|
|
11
|
+
export const VALID_FEATURES = [
|
|
12
|
+
'display-number',
|
|
13
|
+
'status',
|
|
14
|
+
'priority',
|
|
15
|
+
'assets',
|
|
16
|
+
'org-sync',
|
|
17
|
+
'move',
|
|
18
|
+
'duplicate',
|
|
19
|
+
];
|
|
20
|
+
const FEATURE_TO_ENUM = {
|
|
21
|
+
'display-number': 'ITEM_TYPE_FEATURE_DISPLAY_NUMBER',
|
|
22
|
+
status: 'ITEM_TYPE_FEATURE_STATUS',
|
|
23
|
+
priority: 'ITEM_TYPE_FEATURE_PRIORITY',
|
|
24
|
+
assets: 'ITEM_TYPE_FEATURE_ASSETS',
|
|
25
|
+
'org-sync': 'ITEM_TYPE_FEATURE_ORG_SYNC',
|
|
26
|
+
move: 'ITEM_TYPE_FEATURE_MOVE',
|
|
27
|
+
duplicate: 'ITEM_TYPE_FEATURE_DUPLICATE',
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Map a CLI feature name to the gRPC enum value
|
|
31
|
+
*/
|
|
32
|
+
export function mapFeatureToEnum(feature) {
|
|
33
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
34
|
+
const mapped = FEATURE_TO_ENUM[feature];
|
|
35
|
+
if (mapped === undefined) {
|
|
36
|
+
return feature;
|
|
37
|
+
}
|
|
38
|
+
return mapped;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Parse and validate a comma-separated features string.
|
|
42
|
+
* Returns the gRPC enum values for each feature.
|
|
43
|
+
* Throws if any feature is invalid.
|
|
44
|
+
*/
|
|
45
|
+
export function parseFeatures(featuresFlag) {
|
|
46
|
+
if (featuresFlag === undefined) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const result = [];
|
|
50
|
+
for (const f of featuresFlag.split(',').map(s => s.trim())) {
|
|
51
|
+
if (!VALID_FEATURES.includes(f)) {
|
|
52
|
+
throw new InvalidFeatureError(f, VALID_FEATURES);
|
|
53
|
+
}
|
|
54
|
+
result.push(mapFeatureToEnum(f));
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=features.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"features.js","sourceRoot":"","sources":["../../../src/lib/create-item-type/features.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe,EAAE,aAAuB;QAClD,KAAK,CACH,oBAAoB,OAAO,sBAAsB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5E,CAAA;QACD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAA;IACnC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB;IAChB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,MAAM;IACN,WAAW;CACZ,CAAA;AAED,MAAM,eAAe,GAA2B;IAC9C,gBAAgB,EAAE,kCAAkC;IACpD,MAAM,EAAE,0BAA0B;IAClC,QAAQ,EAAE,4BAA4B;IACtC,MAAM,EAAE,0BAA0B;IAClC,UAAU,EAAE,4BAA4B;IACxC,IAAI,EAAE,wBAAwB;IAC9B,SAAS,EAAE,6BAA6B;CACzC,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,4DAA4D;IAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAA;IAChB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,YAAgC;IAC5D,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,mBAAmB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAA;QAClD,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../../../src/lib/init/config-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"config-builder.d.ts","sourceRoot":"","sources":["../../../src/lib/init/config-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAE9D;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAuB5E"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export function buildConfigFromOptions(opts) {
|
|
7
7
|
const hasConfigOptions = opts.priorityLevels !== undefined ||
|
|
8
|
-
opts.defaultState !== undefined ||
|
|
9
8
|
opts.allowedStates !== undefined ||
|
|
10
9
|
opts.version !== undefined;
|
|
11
10
|
if (!hasConfigOptions) {
|
|
@@ -13,7 +12,6 @@ export function buildConfigFromOptions(opts) {
|
|
|
13
12
|
}
|
|
14
13
|
return {
|
|
15
14
|
priorityLevels: opts.priorityLevels !== undefined ? opts.priorityLevels : 0, // 0 = use default
|
|
16
|
-
defaultState: opts.defaultState !== undefined ? opts.defaultState : '', // '' = use default
|
|
17
15
|
allowedStates: opts.allowedStates !== undefined ? opts.allowedStates : [], // [] = use default
|
|
18
16
|
version: opts.version !== undefined ? opts.version : '',
|
|
19
17
|
// These are not configurable via CLI flags, use defaults
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../../src/lib/init/config-builder.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAiB;IACtD,MAAM,gBAAgB,GACpB,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"config-builder.js","sourceRoot":"","sources":["../../../src/lib/init/config-builder.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAiB;IACtD,MAAM,gBAAgB,GACpB,IAAI,CAAC,cAAc,KAAK,SAAS;QACjC,IAAI,CAAC,aAAa,KAAK,SAAS;QAChC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAA;IAE5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,kBAAkB;QAC/F,aAAa,EAAE,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,mBAAmB;QAC9F,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACvD,yDAAyD;QACzD,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,EAAE;KACV,CAAA;AACH,CAAC"}
|
|
@@ -12,8 +12,6 @@ export interface InitOptions {
|
|
|
12
12
|
output?: NodeJS.WritableStream;
|
|
13
13
|
/** Number of priority levels (1-10, default: 3) */
|
|
14
14
|
priorityLevels?: number;
|
|
15
|
-
/** Default state for new issues (default: "open") */
|
|
16
|
-
defaultState?: string;
|
|
17
15
|
/** Allowed states for issues */
|
|
18
16
|
allowedStates?: string[];
|
|
19
17
|
/** Project version (semver) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-options.d.ts","sourceRoot":"","sources":["../../src/types/init-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC7B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAG9B,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,
|
|
1
|
+
{"version":3,"file":"init-options.d.ts","sourceRoot":"","sources":["../../src/types/init-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC7B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAG9B,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-link-target.d.ts","sourceRoot":"","sources":["../../src/utils/parse-link-target.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAW5E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse a link target string in the format type:id
|
|
3
|
+
*/
|
|
4
|
+
export function parseLinkTarget(target) {
|
|
5
|
+
const colonIndex = target.indexOf(':');
|
|
6
|
+
if (colonIndex === -1) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
const type = target.slice(0, colonIndex);
|
|
10
|
+
const id = target.slice(colonIndex + 1);
|
|
11
|
+
if (type === '' || id === '') {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return [type, id];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=parse-link-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-link-target.js","sourceRoot":"","sources":["../../src/utils/parse-link-target.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACtC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAA;IACvC,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACnB,CAAC"}
|