@tjalve/cube-cli 0.1.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/LICENSE +21 -0
- package/README.md +39 -0
- package/dist/errors/index.d.ts +28 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +58 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/fixtures/cli.d.ts +4 -0
- package/dist/fixtures/cli.d.ts.map +1 -0
- package/dist/fixtures/cli.js +195 -0
- package/dist/fixtures/cli.js.map +1 -0
- package/dist/fixtures/metadata.d.ts +347 -0
- package/dist/fixtures/metadata.d.ts.map +1 -0
- package/dist/fixtures/metadata.js +372 -0
- package/dist/fixtures/metadata.js.map +1 -0
- package/dist/help/index.d.ts +24 -0
- package/dist/help/index.d.ts.map +1 -0
- package/dist/help/index.js +254 -0
- package/dist/help/index.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/metadata/define.d.ts +11 -0
- package/dist/metadata/define.d.ts.map +1 -0
- package/dist/metadata/define.js +125 -0
- package/dist/metadata/define.js.map +1 -0
- package/dist/metadata/index.d.ts +3 -0
- package/dist/metadata/index.d.ts.map +1 -0
- package/dist/metadata/index.js +2 -0
- package/dist/metadata/index.js.map +1 -0
- package/dist/metadata/types.d.ts +109 -0
- package/dist/metadata/types.d.ts.map +1 -0
- package/dist/metadata/types.js +2 -0
- package/dist/metadata/types.js.map +1 -0
- package/dist/mutation/index.d.ts +55 -0
- package/dist/mutation/index.d.ts.map +1 -0
- package/dist/mutation/index.js +162 -0
- package/dist/mutation/index.js.map +1 -0
- package/dist/output/index.d.ts +32 -0
- package/dist/output/index.d.ts.map +1 -0
- package/dist/output/index.js +94 -0
- package/dist/output/index.js.map +1 -0
- package/dist/prompts/index.d.ts +37 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +78 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/redaction/index.d.ts +10 -0
- package/dist/redaction/index.d.ts.map +1 -0
- package/dist/redaction/index.js +83 -0
- package/dist/redaction/index.js.map +1 -0
- package/dist/registry/index.d.ts +25 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +286 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/runtime/index.d.ts +69 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +581 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/schema/index.d.ts +122 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +208 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/terminal/index.d.ts +31 -0
- package/dist/terminal/index.d.ts.map +1 -0
- package/dist/terminal/index.js +118 -0
- package/dist/terminal/index.js.map +1 -0
- package/dist/testing/index.d.ts +85 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +293 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/help/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from "./metadata/index.js";
|
|
2
|
+
export * from "./registry/index.js";
|
|
3
|
+
export * from "./help/index.js";
|
|
4
|
+
export * from "./runtime/index.js";
|
|
5
|
+
export * from "./schema/index.js";
|
|
6
|
+
export * from "./errors/index.js";
|
|
7
|
+
export * from "./output/index.js";
|
|
8
|
+
export * from "./mutation/index.js";
|
|
9
|
+
export * from "./terminal/index.js";
|
|
10
|
+
export * from "./prompts/index.js";
|
|
11
|
+
export * from "./redaction/index.js";
|
|
12
|
+
export * from "./testing/index.js";
|
|
13
|
+
export interface ToolkitBoundary {
|
|
14
|
+
readonly packageKind: "cli-infrastructure";
|
|
15
|
+
readonly consumesCommandBehavior: false;
|
|
16
|
+
readonly mutatesConsumerState: false;
|
|
17
|
+
}
|
|
18
|
+
export declare const toolkitBoundary: ToolkitBoundary;
|
|
19
|
+
export declare function describeToolkitBoundary(): string;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AAEnC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,uBAAuB,EAAE,KAAK,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC;CACtC;AAED,eAAO,MAAM,eAAe,EAAE,eAI5B,CAAC;AAEH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from "./metadata/index.js";
|
|
2
|
+
export * from "./registry/index.js";
|
|
3
|
+
export * from "./help/index.js";
|
|
4
|
+
export * from "./runtime/index.js";
|
|
5
|
+
export * from "./schema/index.js";
|
|
6
|
+
export * from "./errors/index.js";
|
|
7
|
+
export * from "./output/index.js";
|
|
8
|
+
export * from "./mutation/index.js";
|
|
9
|
+
export * from "./terminal/index.js";
|
|
10
|
+
export * from "./prompts/index.js";
|
|
11
|
+
export * from "./redaction/index.js";
|
|
12
|
+
export * from "./testing/index.js";
|
|
13
|
+
export const toolkitBoundary = Object.freeze({
|
|
14
|
+
packageKind: "cli-infrastructure",
|
|
15
|
+
consumesCommandBehavior: false,
|
|
16
|
+
mutatesConsumerState: false
|
|
17
|
+
});
|
|
18
|
+
export function describeToolkitBoundary() {
|
|
19
|
+
return "@tjalve/cube-cli provides reusable CLI infrastructure; consuming packages own command behavior, policy decisions, and side effects.";
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AAQnC,MAAM,CAAC,MAAM,eAAe,GAAoB,MAAM,CAAC,MAAM,CAAC;IAC5D,WAAW,EAAE,oBAAoB;IACjC,uBAAuB,EAAE,KAAK;IAC9B,oBAAoB,EAAE,KAAK;CAC5B,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB;IACrC,OAAO,qIAAqI,CAAC;AAC/I,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ArgumentMetadata, CommandMetadata, DefinitionMetadata, ExampleMetadata, FlagMetadata, MetadataExtensions, TopicMetadata } from "./types.js";
|
|
2
|
+
export declare function defineExample<const Example extends ExampleMetadata>(example: Example): Readonly<Example>;
|
|
3
|
+
export declare function defineArgument<const Argument extends ArgumentMetadata>(argument: Argument): Readonly<Argument>;
|
|
4
|
+
export declare function defineFlag<const Flag extends FlagMetadata>(flag: Flag): Readonly<Flag>;
|
|
5
|
+
export declare function defineTopic<const Topic extends TopicMetadata>(topic: Topic): Readonly<Topic>;
|
|
6
|
+
export declare function defineCommand<const Command extends CommandMetadata>(command: Command): Readonly<Command>;
|
|
7
|
+
export declare function defineMetadata(metadata: CommandMetadata): Readonly<CommandMetadata>;
|
|
8
|
+
export declare function defineMetadata(metadata: TopicMetadata): Readonly<TopicMetadata>;
|
|
9
|
+
export declare function defineMetadata(metadata: DefinitionMetadata): Readonly<DefinitionMetadata>;
|
|
10
|
+
export declare function defineExtensions<const Extensions extends MetadataExtensions>(extensions: Extensions): Readonly<Extensions>;
|
|
11
|
+
//# sourceMappingURL=define.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/metadata/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACd,MAAM,YAAY,CAAC;AAOpB,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAIxG;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,QAAQ,SAAS,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAI9G;AAED,wBAAgB,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAgBtF;AAED,wBAAgB,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAU5F;AAED,wBAAgB,aAAa,CAAC,KAAK,CAAC,OAAO,SAAS,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAYxG;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AACrF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;AACjF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;AAK3F,wBAAgB,gBAAgB,CAAC,KAAK,CAAC,UAAU,SAAS,kBAAkB,EAAE,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,CAE1H"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
const validNamePattern = /^[a-z][a-z0-9-]*(?: [a-z][a-z0-9-]*)*$/;
|
|
2
|
+
const validFlagNamePattern = /^[a-z][a-z0-9-]*$/;
|
|
3
|
+
const validAliasPattern = /^[a-zA-Z][a-zA-Z0-9-]*$/;
|
|
4
|
+
const validShortFlagPattern = /^[a-zA-Z]$/;
|
|
5
|
+
export function defineExample(example) {
|
|
6
|
+
requireDescription(example.description, "example.description");
|
|
7
|
+
requireNonEmpty(example.command, "example.command");
|
|
8
|
+
return Object.freeze(example);
|
|
9
|
+
}
|
|
10
|
+
export function defineArgument(argument) {
|
|
11
|
+
requireIdentifier(argument.name, "argument.name");
|
|
12
|
+
requireDescription(argument.description, "argument.description");
|
|
13
|
+
return Object.freeze(argument);
|
|
14
|
+
}
|
|
15
|
+
export function defineFlag(flag) {
|
|
16
|
+
requireFlagName(flag.name, "flag.name");
|
|
17
|
+
requireDescription(flag.description, "flag.description");
|
|
18
|
+
if (flag.short !== undefined) {
|
|
19
|
+
requireShortFlag(flag.short, "flag.short");
|
|
20
|
+
}
|
|
21
|
+
if (flag.negatable === true && flag.type !== "boolean") {
|
|
22
|
+
throw new TypeError(`flag.negatable can only be true when flag.type is "boolean".`);
|
|
23
|
+
}
|
|
24
|
+
for (const alias of flag.aliases ?? []) {
|
|
25
|
+
requireAlias(alias, `flag.aliases[${alias}]`);
|
|
26
|
+
}
|
|
27
|
+
if (flag.type === "option" && (!flag.options || flag.options.length === 0)) {
|
|
28
|
+
throw new TypeError(`flag.options must include at least one value when flag.type is "option".`);
|
|
29
|
+
}
|
|
30
|
+
return Object.freeze(flag);
|
|
31
|
+
}
|
|
32
|
+
export function defineTopic(topic) {
|
|
33
|
+
if (topic.kind !== "topic") {
|
|
34
|
+
throw new TypeError(`topic.kind must be "topic".`);
|
|
35
|
+
}
|
|
36
|
+
requireCommandName(topic.name, "topic.name");
|
|
37
|
+
requireDescription(topic.description, "topic.description");
|
|
38
|
+
for (const alias of topic.aliases ?? []) {
|
|
39
|
+
requireAlias(alias, `topic.aliases[${alias}]`);
|
|
40
|
+
}
|
|
41
|
+
return Object.freeze(topic);
|
|
42
|
+
}
|
|
43
|
+
export function defineCommand(command) {
|
|
44
|
+
if (command.kind !== "command") {
|
|
45
|
+
throw new TypeError(`command.kind must be "command".`);
|
|
46
|
+
}
|
|
47
|
+
requireCommandName(command.name, "command.name");
|
|
48
|
+
requireDescription(command.description, "command.description");
|
|
49
|
+
for (const alias of command.aliases ?? []) {
|
|
50
|
+
requireAlias(alias, `command.aliases[${alias}]`);
|
|
51
|
+
}
|
|
52
|
+
validateMutatingCommand(command);
|
|
53
|
+
validateSupplyChainMetadata(command);
|
|
54
|
+
return Object.freeze(command);
|
|
55
|
+
}
|
|
56
|
+
export function defineMetadata(metadata) {
|
|
57
|
+
return metadata.kind === "command" ? defineCommand(metadata) : defineTopic(metadata);
|
|
58
|
+
}
|
|
59
|
+
export function defineExtensions(extensions) {
|
|
60
|
+
return Object.freeze(extensions);
|
|
61
|
+
}
|
|
62
|
+
function validateMutatingCommand(command) {
|
|
63
|
+
const categories = command.mutation?.categories ?? [];
|
|
64
|
+
if (categories.length === 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (!command.interactions?.dryRun) {
|
|
68
|
+
throw new TypeError(`command.interactions.dryRun is required when command.mutation.categories is not empty.`);
|
|
69
|
+
}
|
|
70
|
+
if (!command.interactions.dryRun.supported) {
|
|
71
|
+
requireDescription(command.interactions.dryRun.reason, "command.interactions.dryRun.reason");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function validateSupplyChainMetadata(command) {
|
|
75
|
+
const supplyChain = command.supplyChain;
|
|
76
|
+
if (!supplyChain?.sensitive) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
requireDescription(supplyChain.reason ?? "", "command.supplyChain.reason");
|
|
80
|
+
if (!supplyChain.kinds || supplyChain.kinds.length === 0) {
|
|
81
|
+
throw new TypeError(`command.supplyChain.kinds must include at least one kind when command.supplyChain.sensitive is true.`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function requireCommandName(value, field) {
|
|
85
|
+
requireNonEmpty(value, field);
|
|
86
|
+
if (!validNamePattern.test(value)) {
|
|
87
|
+
throw new TypeError(`${field} must use lowercase words separated by single spaces or hyphens.`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
function requireFlagName(value, field) {
|
|
91
|
+
requireNonEmpty(value, field);
|
|
92
|
+
if (!validFlagNamePattern.test(value)) {
|
|
93
|
+
throw new TypeError(`${field} must use a lowercase flag name without leading dashes.`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
function requireIdentifier(value, field) {
|
|
97
|
+
requireNonEmpty(value, field);
|
|
98
|
+
if (!validFlagNamePattern.test(value)) {
|
|
99
|
+
throw new TypeError(`${field} must use a lowercase identifier with optional hyphens.`);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function requireAlias(value, field) {
|
|
103
|
+
requireNonEmpty(value, field);
|
|
104
|
+
if (!validAliasPattern.test(value)) {
|
|
105
|
+
throw new TypeError(`${field} must use an alias without leading dashes or spaces.`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function requireShortFlag(value, field) {
|
|
109
|
+
requireNonEmpty(value, field);
|
|
110
|
+
if (!validShortFlagPattern.test(value)) {
|
|
111
|
+
throw new TypeError(`${field} must be exactly one letter without leading dashes.`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function requireDescription(value, field) {
|
|
115
|
+
requireNonEmpty(value, field);
|
|
116
|
+
if (value.trim().length < 3) {
|
|
117
|
+
throw new TypeError(`${field} must be descriptive.`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function requireNonEmpty(value, field) {
|
|
121
|
+
if (value.trim().length === 0) {
|
|
122
|
+
throw new TypeError(`${field} must not be empty.`);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=define.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/metadata/define.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { defineArgument, defineCommand, defineExample, defineExtensions, defineFlag, defineMetadata, defineTopic } from "./define.js";
|
|
2
|
+
export type { ArgumentMetadata, BuiltInSupplyChainSensitiveKind, BuiltInMutationCategory, CommandMetadata, DefinitionMetadata, DryRunSupport, DryRunSupported, DryRunUnsupported, ErrorKindMetadata, ExampleMetadata, ExitCodeCategory, ExitCodeMetadata, ExternalServiceMetadata, FlagMetadata, FlagValueType, InteractionSupport, MetadataExtensions, MutationCategory, MutationMetadata, OutputFormat, OutputSupport, SupplyChainMetadata, SupplyChainSensitiveKind, TopicMetadata } from "./types.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,gBAAgB,EAChB,+BAA+B,EAC/B,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,wBAAwB,EACxB,aAAa,EACd,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metadata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,WAAW,EACZ,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export type MetadataExtensions = Readonly<Record<string, unknown>>;
|
|
2
|
+
export type BuiltInMutationCategory = "local-files" | "local-config" | "external-service" | "dependency" | "release";
|
|
3
|
+
export type MutationCategory = BuiltInMutationCategory | (string & {});
|
|
4
|
+
export type BuiltInSupplyChainSensitiveKind = "dependency" | "package-manager" | "generator" | "ci-workflow" | "release" | "ide-tooling" | "mcp-server" | "ai-agent-tool";
|
|
5
|
+
export type SupplyChainSensitiveKind = BuiltInSupplyChainSensitiveKind | (string & {});
|
|
6
|
+
export type OutputFormat = "human" | "json" | (string & {});
|
|
7
|
+
export type FlagValueType = "boolean" | "string" | "integer" | "number" | "option";
|
|
8
|
+
export type ExitCodeCategory = "success" | "usage" | "validation" | "external" | "safety" | "unexpected" | (string & {});
|
|
9
|
+
export interface ExampleMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
10
|
+
readonly description: string;
|
|
11
|
+
readonly command: string;
|
|
12
|
+
readonly extensions?: Extensions;
|
|
13
|
+
}
|
|
14
|
+
export interface ArgumentMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly description: string;
|
|
17
|
+
readonly required?: boolean;
|
|
18
|
+
readonly multiple?: boolean;
|
|
19
|
+
readonly defaultValue?: unknown;
|
|
20
|
+
readonly extensions?: Extensions;
|
|
21
|
+
}
|
|
22
|
+
export interface FlagMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
23
|
+
readonly name: string;
|
|
24
|
+
readonly description: string;
|
|
25
|
+
readonly type: FlagValueType;
|
|
26
|
+
readonly short?: string;
|
|
27
|
+
readonly aliases?: readonly string[];
|
|
28
|
+
readonly negatable?: boolean;
|
|
29
|
+
readonly required?: boolean;
|
|
30
|
+
readonly multiple?: boolean;
|
|
31
|
+
readonly defaultValue?: unknown;
|
|
32
|
+
readonly options?: readonly string[];
|
|
33
|
+
readonly extensions?: Extensions;
|
|
34
|
+
}
|
|
35
|
+
export interface OutputSupport<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
36
|
+
readonly formats: readonly OutputFormat[];
|
|
37
|
+
readonly defaultFormat?: OutputFormat;
|
|
38
|
+
readonly extensions?: Extensions;
|
|
39
|
+
}
|
|
40
|
+
export interface DryRunSupported {
|
|
41
|
+
readonly supported: true;
|
|
42
|
+
}
|
|
43
|
+
export interface DryRunUnsupported {
|
|
44
|
+
readonly supported: false;
|
|
45
|
+
readonly reason: string;
|
|
46
|
+
}
|
|
47
|
+
export type DryRunSupport = DryRunSupported | DryRunUnsupported;
|
|
48
|
+
export interface InteractionSupport<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
49
|
+
readonly json?: boolean;
|
|
50
|
+
readonly dryRun?: DryRunSupport;
|
|
51
|
+
readonly noColor?: boolean;
|
|
52
|
+
readonly nonInteractive?: boolean;
|
|
53
|
+
readonly ttyPrompt?: boolean;
|
|
54
|
+
readonly extensions?: Extensions;
|
|
55
|
+
}
|
|
56
|
+
export interface MutationMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
57
|
+
readonly categories: readonly MutationCategory[];
|
|
58
|
+
readonly extensions?: Extensions;
|
|
59
|
+
}
|
|
60
|
+
export interface SupplyChainMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
61
|
+
readonly sensitive: boolean;
|
|
62
|
+
readonly reason?: string;
|
|
63
|
+
readonly kinds?: readonly SupplyChainSensitiveKind[];
|
|
64
|
+
readonly extensions?: Extensions;
|
|
65
|
+
}
|
|
66
|
+
export interface ExternalServiceMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
67
|
+
readonly name: string;
|
|
68
|
+
readonly description: string;
|
|
69
|
+
readonly optional?: boolean;
|
|
70
|
+
readonly extensions?: Extensions;
|
|
71
|
+
}
|
|
72
|
+
export interface ErrorKindMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
73
|
+
readonly kind: string;
|
|
74
|
+
readonly description: string;
|
|
75
|
+
readonly exitCode?: number;
|
|
76
|
+
readonly extensions?: Extensions;
|
|
77
|
+
}
|
|
78
|
+
export interface ExitCodeMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
79
|
+
readonly code: number;
|
|
80
|
+
readonly category: ExitCodeCategory;
|
|
81
|
+
readonly description: string;
|
|
82
|
+
readonly extensions?: Extensions;
|
|
83
|
+
}
|
|
84
|
+
export interface TopicMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
85
|
+
readonly kind: "topic";
|
|
86
|
+
readonly name: string;
|
|
87
|
+
readonly description: string;
|
|
88
|
+
readonly aliases?: readonly string[];
|
|
89
|
+
readonly extensions?: Extensions;
|
|
90
|
+
}
|
|
91
|
+
export interface CommandMetadata<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
92
|
+
readonly kind: "command";
|
|
93
|
+
readonly name: string;
|
|
94
|
+
readonly description: string;
|
|
95
|
+
readonly aliases?: readonly string[];
|
|
96
|
+
readonly arguments?: readonly ArgumentMetadata[];
|
|
97
|
+
readonly flags?: readonly FlagMetadata[];
|
|
98
|
+
readonly examples?: readonly ExampleMetadata[];
|
|
99
|
+
readonly output?: OutputSupport;
|
|
100
|
+
readonly interactions?: InteractionSupport;
|
|
101
|
+
readonly mutation?: MutationMetadata;
|
|
102
|
+
readonly supplyChain?: SupplyChainMetadata;
|
|
103
|
+
readonly externalServices?: readonly ExternalServiceMetadata[];
|
|
104
|
+
readonly errors?: readonly ErrorKindMetadata[];
|
|
105
|
+
readonly exitCodes?: readonly ExitCodeMetadata[];
|
|
106
|
+
readonly extensions?: Extensions;
|
|
107
|
+
}
|
|
108
|
+
export type DefinitionMetadata = CommandMetadata | TopicMetadata;
|
|
109
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metadata/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/metadata/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { DryRunSupport, MetadataExtensions, MutationCategory, SupplyChainSensitiveKind } from "../metadata/index.js";
|
|
2
|
+
export declare const builtInMutationCategories: readonly ["local-files", "local-config", "external-service", "dependency", "release"];
|
|
3
|
+
export declare const supplyChainSensitiveKinds: readonly ["dependency", "package-manager", "generator", "ci-workflow", "release", "ide-tooling", "mcp-server", "ai-agent-tool"];
|
|
4
|
+
export interface MutationMetadataInput<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
5
|
+
readonly categories: readonly MutationCategory[];
|
|
6
|
+
readonly extensions?: Extensions;
|
|
7
|
+
}
|
|
8
|
+
export interface DryRunPlanStep<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
9
|
+
readonly action: string;
|
|
10
|
+
readonly target: string;
|
|
11
|
+
readonly category?: MutationCategory;
|
|
12
|
+
readonly description?: string;
|
|
13
|
+
readonly extensions?: Extensions;
|
|
14
|
+
}
|
|
15
|
+
export interface DryRunPlan<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
16
|
+
readonly command: string;
|
|
17
|
+
readonly summary: string;
|
|
18
|
+
readonly mutationCategories?: readonly MutationCategory[];
|
|
19
|
+
readonly steps: readonly DryRunPlanStep[];
|
|
20
|
+
readonly rerunCommand?: string;
|
|
21
|
+
readonly extensions?: Extensions;
|
|
22
|
+
}
|
|
23
|
+
export interface MutationWarning {
|
|
24
|
+
readonly command: string;
|
|
25
|
+
readonly categories: readonly MutationCategory[];
|
|
26
|
+
readonly dryRun?: DryRunSupport;
|
|
27
|
+
readonly supplyChainSensitive?: boolean;
|
|
28
|
+
readonly message?: string;
|
|
29
|
+
}
|
|
30
|
+
export type SupplyChainCheckStatus = "blocked" | "needs-review" | "passed";
|
|
31
|
+
export interface SupplyChainBlockCheck {
|
|
32
|
+
readonly name: string;
|
|
33
|
+
readonly status: SupplyChainCheckStatus;
|
|
34
|
+
readonly description: string;
|
|
35
|
+
}
|
|
36
|
+
export interface SupplyChainBlock<Extensions extends MetadataExtensions = MetadataExtensions> {
|
|
37
|
+
readonly command: string;
|
|
38
|
+
readonly reason: string;
|
|
39
|
+
readonly sensitiveKinds?: readonly SupplyChainSensitiveKind[];
|
|
40
|
+
readonly checks?: readonly SupplyChainBlockCheck[];
|
|
41
|
+
readonly suggestedNextAction?: string;
|
|
42
|
+
readonly extensions?: Extensions;
|
|
43
|
+
}
|
|
44
|
+
export declare function defineMutationMetadata<const Metadata extends MutationMetadataInput>(metadata: Metadata): Readonly<Metadata>;
|
|
45
|
+
export declare function mutationCategories<const Categories extends readonly MutationCategory[]>(...categories: Categories): Readonly<Categories>;
|
|
46
|
+
export declare function dryRunSupported(): DryRunSupport;
|
|
47
|
+
export declare function dryRunUnsupported(reason: string): DryRunSupport;
|
|
48
|
+
export declare function createDryRunPlan<const Plan extends DryRunPlan>(plan: Plan): Readonly<Plan>;
|
|
49
|
+
export declare function createSupplyChainBlock<const Block extends SupplyChainBlock>(block: Block): Readonly<Block>;
|
|
50
|
+
export declare function createDryRunPlanFields(plan: DryRunPlan): Readonly<Record<string, unknown>>;
|
|
51
|
+
export declare function createSupplyChainBlockFields(block: SupplyChainBlock): Readonly<Record<string, unknown>>;
|
|
52
|
+
export declare function renderDryRunPlan(plan: DryRunPlan): string;
|
|
53
|
+
export declare function renderMutationWarning(warning: MutationWarning): string;
|
|
54
|
+
export declare function renderSupplyChainBlock(block: SupplyChainBlock): string;
|
|
55
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mutation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { redactStructuredValue, redactText } from "../redaction/index.js";
|
|
2
|
+
export const builtInMutationCategories = Object.freeze(["local-files", "local-config", "external-service", "dependency", "release"]);
|
|
3
|
+
export const supplyChainSensitiveKinds = Object.freeze([
|
|
4
|
+
"dependency",
|
|
5
|
+
"package-manager",
|
|
6
|
+
"generator",
|
|
7
|
+
"ci-workflow",
|
|
8
|
+
"release",
|
|
9
|
+
"ide-tooling",
|
|
10
|
+
"mcp-server",
|
|
11
|
+
"ai-agent-tool"
|
|
12
|
+
]);
|
|
13
|
+
export function defineMutationMetadata(metadata) {
|
|
14
|
+
requireNonEmptyList(metadata.categories, "mutation.categories");
|
|
15
|
+
return deepFreeze(metadata);
|
|
16
|
+
}
|
|
17
|
+
export function mutationCategories(...categories) {
|
|
18
|
+
requireNonEmptyList(categories, "mutation.categories");
|
|
19
|
+
return deepFreeze(categories);
|
|
20
|
+
}
|
|
21
|
+
export function dryRunSupported() {
|
|
22
|
+
return Object.freeze({ supported: true });
|
|
23
|
+
}
|
|
24
|
+
export function dryRunUnsupported(reason) {
|
|
25
|
+
requireText(reason, "dryRun.reason");
|
|
26
|
+
return Object.freeze({ supported: false, reason });
|
|
27
|
+
}
|
|
28
|
+
export function createDryRunPlan(plan) {
|
|
29
|
+
requireText(plan.command, "dryRunPlan.command");
|
|
30
|
+
requireText(plan.summary, "dryRunPlan.summary");
|
|
31
|
+
requireNonEmptyList(plan.steps, "dryRunPlan.steps");
|
|
32
|
+
for (const [index, step] of plan.steps.entries()) {
|
|
33
|
+
requireText(step.action, `dryRunPlan.steps[${index}].action`);
|
|
34
|
+
requireText(step.target, `dryRunPlan.steps[${index}].target`);
|
|
35
|
+
}
|
|
36
|
+
return deepFreeze(plan);
|
|
37
|
+
}
|
|
38
|
+
export function createSupplyChainBlock(block) {
|
|
39
|
+
requireText(block.command, "supplyChainBlock.command");
|
|
40
|
+
requireText(block.reason, "supplyChainBlock.reason");
|
|
41
|
+
for (const [index, check] of (block.checks ?? []).entries()) {
|
|
42
|
+
requireText(check.name, `supplyChainBlock.checks[${index}].name`);
|
|
43
|
+
requireText(check.description, `supplyChainBlock.checks[${index}].description`);
|
|
44
|
+
}
|
|
45
|
+
return deepFreeze(block);
|
|
46
|
+
}
|
|
47
|
+
export function createDryRunPlanFields(plan) {
|
|
48
|
+
return deepFreeze(redactStructuredValue({
|
|
49
|
+
dryRun: true,
|
|
50
|
+
dryRunPlan: {
|
|
51
|
+
command: plan.command,
|
|
52
|
+
summary: plan.summary,
|
|
53
|
+
mutationCategories: sortedText(plan.mutationCategories ?? plan.steps.flatMap((step) => step.category ? [step.category] : [])),
|
|
54
|
+
steps: plan.steps.map((step) => stableStep(step)),
|
|
55
|
+
rerunCommand: plan.rerunCommand,
|
|
56
|
+
extensions: plan.extensions
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
export function createSupplyChainBlockFields(block) {
|
|
61
|
+
return deepFreeze(redactStructuredValue({
|
|
62
|
+
supplyChainBlock: {
|
|
63
|
+
blocked: true,
|
|
64
|
+
command: block.command,
|
|
65
|
+
reason: block.reason,
|
|
66
|
+
sensitiveKinds: sortedText(block.sensitiveKinds ?? []),
|
|
67
|
+
checks: [...(block.checks ?? [])].map((check) => ({
|
|
68
|
+
name: check.name,
|
|
69
|
+
status: check.status,
|
|
70
|
+
description: check.description
|
|
71
|
+
})),
|
|
72
|
+
suggestedNextAction: fallbackText(block.suggestedNextAction, defaultSupplyChainNextAction()),
|
|
73
|
+
extensions: block.extensions
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
export function renderDryRunPlan(plan) {
|
|
78
|
+
const categories = sortedText(plan.mutationCategories ?? plan.steps.flatMap((step) => step.category ? [step.category] : []));
|
|
79
|
+
return joinSections([
|
|
80
|
+
["Dry run plan", `Command: ${redactText(plan.command)}`, `Summary: ${redactText(plan.summary)}`, `Mutation categories: ${categories.length === 0 ? "none" : categories.join(", ")}`].join("\n"),
|
|
81
|
+
joinLines(["Planned changes:", ...plan.steps.map((step) => ` - ${redactText(step.action)}: ${redactText(step.target)}${step.description ? ` — ${redactText(step.description)}` : ""}${step.category ? ` (${step.category})` : ""}`)]),
|
|
82
|
+
`Next steps:\n ${plan.rerunCommand ? `Rerun without --dry-run to apply: ${redactText(plan.rerunCommand)}` : "Rerun without --dry-run to apply the planned changes."}`
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
85
|
+
export function renderMutationWarning(warning) {
|
|
86
|
+
const categories = sortedText(warning.categories);
|
|
87
|
+
const dryRun = warning.dryRun ? (warning.dryRun.supported ? "supported" : `unsupported (${redactText(warning.dryRun.reason)})`) : "not declared";
|
|
88
|
+
const supplyChainSensitive = warning.supplyChainSensitive === undefined ? "not declared" : warning.supplyChainSensitive ? "yes" : "no";
|
|
89
|
+
return joinLines([
|
|
90
|
+
"Mutation warning",
|
|
91
|
+
`Command: ${redactText(warning.command)}`,
|
|
92
|
+
`Categories: ${categories.length === 0 ? "none" : categories.join(", ")}`,
|
|
93
|
+
`Dry run: ${dryRun}`,
|
|
94
|
+
`Supply chain sensitive: ${supplyChainSensitive}`,
|
|
95
|
+
`Guidance: ${redactText(warning.message ?? "Review the planned side effects before continuing.")}`
|
|
96
|
+
]) + "\n";
|
|
97
|
+
}
|
|
98
|
+
export function renderSupplyChainBlock(block) {
|
|
99
|
+
const sensitiveKinds = sortedText(block.sensitiveKinds ?? []);
|
|
100
|
+
const checks = block.checks && block.checks.length > 0
|
|
101
|
+
? block.checks.map((check) => ` - ${check.status}: ${redactText(check.name)} — ${redactText(check.description)}`)
|
|
102
|
+
: [" none"];
|
|
103
|
+
return joinSections([
|
|
104
|
+
["Supply-chain block", `Command: ${redactText(block.command)}`, `Reason: ${redactText(block.reason)}`, `Sensitive operations: ${sensitiveKinds.length === 0 ? "not specified" : sensitiveKinds.join(", ")}`].join("\n"),
|
|
105
|
+
joinLines(["Checks:", ...checks]),
|
|
106
|
+
`Suggested next action:\n ${redactText(fallbackText(block.suggestedNextAction, defaultSupplyChainNextAction()))}`
|
|
107
|
+
]);
|
|
108
|
+
}
|
|
109
|
+
function stableStep(step) {
|
|
110
|
+
return Object.freeze({
|
|
111
|
+
action: step.action,
|
|
112
|
+
target: step.target,
|
|
113
|
+
category: step.category,
|
|
114
|
+
description: step.description,
|
|
115
|
+
extensions: step.extensions
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function sortedText(values) {
|
|
119
|
+
return [...new Set(values.map(String))].sort(compareText);
|
|
120
|
+
}
|
|
121
|
+
function requireNonEmptyList(value, field) {
|
|
122
|
+
if (value.length === 0) {
|
|
123
|
+
throw new TypeError(`${field} must include at least one item.`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function requireText(value, field) {
|
|
127
|
+
if (typeof value !== "string" || value.trim().length === 0) {
|
|
128
|
+
throw new TypeError(`${field} must not be empty.`);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function fallbackText(value, fallback) {
|
|
132
|
+
return typeof value === "string" && value.trim().length > 0 ? value : fallback;
|
|
133
|
+
}
|
|
134
|
+
function defaultSupplyChainNextAction() {
|
|
135
|
+
return "Review the supply-chain risk and retry only after the consuming package policy allows it.";
|
|
136
|
+
}
|
|
137
|
+
function deepFreeze(value, seen = new WeakSet()) {
|
|
138
|
+
if (typeof value !== "object" || value === null) {
|
|
139
|
+
return value;
|
|
140
|
+
}
|
|
141
|
+
if (seen.has(value)) {
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
seen.add(value);
|
|
145
|
+
for (const child of Object.values(value)) {
|
|
146
|
+
deepFreeze(child, seen);
|
|
147
|
+
}
|
|
148
|
+
return Object.isFrozen(value) ? value : Object.freeze(value);
|
|
149
|
+
}
|
|
150
|
+
function joinSections(sections) {
|
|
151
|
+
return `${sections.join("\n\n")}\n`;
|
|
152
|
+
}
|
|
153
|
+
function joinLines(lines) {
|
|
154
|
+
return lines.join("\n");
|
|
155
|
+
}
|
|
156
|
+
function compareText(left, right) {
|
|
157
|
+
if (left === right) {
|
|
158
|
+
return 0;
|
|
159
|
+
}
|
|
160
|
+
return left < right ? -1 : 1;
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mutation/index.ts"],"names":[],"mappings":"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"}
|