@ir-kit/cli 0.2.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.
Files changed (91) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +81 -0
  3. package/dist/bin.d.ts +3 -0
  4. package/dist/bin.d.ts.map +1 -0
  5. package/dist/bin.js +42 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/command-spec.d.ts +11 -0
  8. package/dist/command-spec.d.ts.map +1 -0
  9. package/dist/command-spec.js +2 -0
  10. package/dist/command-spec.js.map +1 -0
  11. package/dist/commands/_load-openapi.d.ts +7 -0
  12. package/dist/commands/_load-openapi.d.ts.map +1 -0
  13. package/dist/commands/_load-openapi.js +15 -0
  14. package/dist/commands/_load-openapi.js.map +1 -0
  15. package/dist/commands/docs.d.ts +10 -0
  16. package/dist/commands/docs.d.ts.map +1 -0
  17. package/dist/commands/docs.js +55 -0
  18. package/dist/commands/docs.js.map +1 -0
  19. package/dist/commands/fn-schema-diff.d.ts +10 -0
  20. package/dist/commands/fn-schema-diff.d.ts.map +1 -0
  21. package/dist/commands/fn-schema-diff.js +46 -0
  22. package/dist/commands/fn-schema-diff.js.map +1 -0
  23. package/dist/commands/fn-schema-extract.d.ts +25 -0
  24. package/dist/commands/fn-schema-extract.d.ts.map +1 -0
  25. package/dist/commands/fn-schema-extract.js +189 -0
  26. package/dist/commands/fn-schema-extract.js.map +1 -0
  27. package/dist/commands/fn-schema-inspect.d.ts +16 -0
  28. package/dist/commands/fn-schema-inspect.d.ts.map +1 -0
  29. package/dist/commands/fn-schema-inspect.js +118 -0
  30. package/dist/commands/fn-schema-inspect.js.map +1 -0
  31. package/dist/commands/fn-schema-scan.d.ts +13 -0
  32. package/dist/commands/fn-schema-scan.d.ts.map +1 -0
  33. package/dist/commands/fn-schema-scan.js +92 -0
  34. package/dist/commands/fn-schema-scan.js.map +1 -0
  35. package/dist/commands/k6-bundle.d.ts +10 -0
  36. package/dist/commands/k6-bundle.d.ts.map +1 -0
  37. package/dist/commands/k6-bundle.js +38 -0
  38. package/dist/commands/k6-bundle.js.map +1 -0
  39. package/dist/commands/k6-sync.d.ts +14 -0
  40. package/dist/commands/k6-sync.d.ts.map +1 -0
  41. package/dist/commands/k6-sync.js +61 -0
  42. package/dist/commands/k6-sync.js.map +1 -0
  43. package/dist/commands/recon.d.ts +13 -0
  44. package/dist/commands/recon.d.ts.map +1 -0
  45. package/dist/commands/recon.js +62 -0
  46. package/dist/commands/recon.js.map +1 -0
  47. package/dist/commands/sdk-all.d.ts +11 -0
  48. package/dist/commands/sdk-all.d.ts.map +1 -0
  49. package/dist/commands/sdk-all.js +82 -0
  50. package/dist/commands/sdk-all.js.map +1 -0
  51. package/dist/commands/sdk-go.d.ts +13 -0
  52. package/dist/commands/sdk-go.d.ts.map +1 -0
  53. package/dist/commands/sdk-go.js +53 -0
  54. package/dist/commands/sdk-go.js.map +1 -0
  55. package/dist/commands/sdk-k6.d.ts +11 -0
  56. package/dist/commands/sdk-k6.d.ts.map +1 -0
  57. package/dist/commands/sdk-k6.js +40 -0
  58. package/dist/commands/sdk-k6.js.map +1 -0
  59. package/dist/commands/sdk-kotlin.d.ts +13 -0
  60. package/dist/commands/sdk-kotlin.d.ts.map +1 -0
  61. package/dist/commands/sdk-kotlin.js +54 -0
  62. package/dist/commands/sdk-kotlin.js.map +1 -0
  63. package/dist/commands/sdk-swift.d.ts +12 -0
  64. package/dist/commands/sdk-swift.d.ts.map +1 -0
  65. package/dist/commands/sdk-swift.js +49 -0
  66. package/dist/commands/sdk-swift.js.map +1 -0
  67. package/dist/commands/sdk-typescript.d.ts +9 -0
  68. package/dist/commands/sdk-typescript.d.ts.map +1 -0
  69. package/dist/commands/sdk-typescript.js +29 -0
  70. package/dist/commands/sdk-typescript.js.map +1 -0
  71. package/dist/commands/spec-convert.d.ts +11 -0
  72. package/dist/commands/spec-convert.d.ts.map +1 -0
  73. package/dist/commands/spec-convert.js +69 -0
  74. package/dist/commands/spec-convert.js.map +1 -0
  75. package/dist/commands/spec-diff.d.ts +10 -0
  76. package/dist/commands/spec-diff.d.ts.map +1 -0
  77. package/dist/commands/spec-diff.js +53 -0
  78. package/dist/commands/spec-diff.js.map +1 -0
  79. package/dist/index.d.ts +12 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +11 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/runtime.d.ts +10 -0
  84. package/dist/runtime.d.ts.map +1 -0
  85. package/dist/runtime.js +78 -0
  86. package/dist/runtime.js.map +1 -0
  87. package/dist/schema-args.d.ts +24 -0
  88. package/dist/schema-args.d.ts.map +1 -0
  89. package/dist/schema-args.js +130 -0
  90. package/dist/schema-args.js.map +1 -0
  91. package/package.json +84 -0
@@ -0,0 +1,24 @@
1
+ import { type Schema } from "@ir-kit/schema";
2
+ import type { ArgsDef } from "citty";
3
+ /**
4
+ * Convert a JSON Schema 2020-12 object schema into citty's `ArgsDef` map.
5
+ * Each top-level property becomes one citty arg. The first required
6
+ * string property is rendered positional; everything else is a named flag.
7
+ * `enum` constraints become `string` flags + are validated post-parse.
8
+ */
9
+ export declare function schemaToCittyArgs(schema: Schema): ArgsDef;
10
+ /**
11
+ * Walk a JSON Schema and prompt the user for any required field whose
12
+ * value is missing in `partial`. Returns a fully-populated input object.
13
+ * Run AFTER citty has parsed argv so explicit flags win over prompts.
14
+ */
15
+ export declare function fillFromPrompts<T extends Record<string, unknown>>(schema: Schema, partial: Partial<T>, opts?: {
16
+ title?: string;
17
+ }): Promise<T>;
18
+ /**
19
+ * Validate a fully-populated input against the schema's `enum` /
20
+ * required constraints. Throws on validation failure with a one-line
21
+ * error matching the offending property.
22
+ */
23
+ export declare function validateInput(schema: Schema, input: Record<string, unknown>): void;
24
+ //# sourceMappingURL=schema-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-args.d.ts","sourceRoot":"","sources":["../src/schema-args.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAmDzD;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5B,OAAO,CAAC,CAAC,CAAC,CA6CZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAmBN"}
@@ -0,0 +1,130 @@
1
+ import { intro, isCancel, outro, select, text } from "@clack/prompts";
2
+ import { isSchemaObject } from "@ir-kit/schema";
3
+ /**
4
+ * Convert a JSON Schema 2020-12 object schema into citty's `ArgsDef` map.
5
+ * Each top-level property becomes one citty arg. The first required
6
+ * string property is rendered positional; everything else is a named flag.
7
+ * `enum` constraints become `string` flags + are validated post-parse.
8
+ */
9
+ export function schemaToCittyArgs(schema) {
10
+ const args = {};
11
+ const required = new Set(schema.required ?? []);
12
+ const props = Object.entries(schema.properties ?? {});
13
+ const firstRequiredString = props.find(([name, p]) => required.has(name) &&
14
+ isSchemaObject(p) &&
15
+ p.type === "string")?.[0];
16
+ for (const [name, propUnknown] of props) {
17
+ if (!isSchemaObject(propUnknown))
18
+ continue;
19
+ const prop = propUnknown;
20
+ const description = prop.description ?? "";
21
+ if (name === firstRequiredString) {
22
+ args[name] = {
23
+ type: "positional",
24
+ description,
25
+ required: true,
26
+ };
27
+ continue;
28
+ }
29
+ const t = Array.isArray(prop.type) ? prop.type[0] : prop.type;
30
+ if (t === "boolean") {
31
+ args[name] = {
32
+ type: "boolean",
33
+ description,
34
+ default: prop.default,
35
+ };
36
+ }
37
+ else if (t === "number" || t === "integer") {
38
+ args[name] = {
39
+ type: "string",
40
+ description,
41
+ default: prop.default,
42
+ required: required.has(name) && prop.default === undefined,
43
+ };
44
+ }
45
+ else {
46
+ args[name] = {
47
+ type: "string",
48
+ description,
49
+ default: prop.default,
50
+ required: required.has(name) && prop.default === undefined,
51
+ };
52
+ }
53
+ }
54
+ return args;
55
+ }
56
+ /**
57
+ * Walk a JSON Schema and prompt the user for any required field whose
58
+ * value is missing in `partial`. Returns a fully-populated input object.
59
+ * Run AFTER citty has parsed argv so explicit flags win over prompts.
60
+ */
61
+ export async function fillFromPrompts(schema, partial, opts = {}) {
62
+ const required = new Set(schema.required ?? []);
63
+ const props = Object.entries(schema.properties ?? {});
64
+ const missing = props.filter(([name]) => required.has(name) && partial[name] === undefined);
65
+ if (missing.length === 0)
66
+ return partial;
67
+ if (opts.title)
68
+ intro(opts.title);
69
+ const filled = { ...partial };
70
+ for (const [name, propUnknown] of missing) {
71
+ if (!isSchemaObject(propUnknown))
72
+ continue;
73
+ const prop = propUnknown;
74
+ const message = prop.description ?? name;
75
+ let value;
76
+ if (Array.isArray(prop.enum) && prop.enum.length > 0) {
77
+ const options = prop.enum.map((v) => ({
78
+ value: String(v),
79
+ label: String(v),
80
+ }));
81
+ value = await select({
82
+ message,
83
+ options,
84
+ initialValue: prop.default ?? options[0]?.value,
85
+ });
86
+ }
87
+ else {
88
+ value = await text({
89
+ message,
90
+ placeholder: prop.examples?.[0] != null ? String(prop.examples[0]) : "",
91
+ initialValue: prop.default,
92
+ validate: (v) => {
93
+ if (!v || !v.trim())
94
+ return `${name} is required`;
95
+ },
96
+ });
97
+ }
98
+ if (isCancel(value)) {
99
+ outro("Cancelled.");
100
+ process.exit(1);
101
+ }
102
+ filled[name] = value;
103
+ }
104
+ return filled;
105
+ }
106
+ /**
107
+ * Validate a fully-populated input against the schema's `enum` /
108
+ * required constraints. Throws on validation failure with a one-line
109
+ * error matching the offending property.
110
+ */
111
+ export function validateInput(schema, input) {
112
+ const required = schema.required ?? [];
113
+ for (const name of required) {
114
+ if (input[name] === undefined || input[name] === "") {
115
+ throw new Error(`Missing required argument: --${name}`);
116
+ }
117
+ }
118
+ for (const [name, propUnknown] of Object.entries(schema.properties ?? {})) {
119
+ if (!isSchemaObject(propUnknown))
120
+ continue;
121
+ const prop = propUnknown;
122
+ if (Array.isArray(prop.enum) && input[name] !== undefined) {
123
+ const allowed = prop.enum.map(String);
124
+ if (!allowed.includes(String(input[name]))) {
125
+ throw new Error(`Invalid value for --${name}: ${input[name]}. Allowed: ${allowed.join(", ")}`);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ //# sourceMappingURL=schema-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-args.js","sourceRoot":"","sources":["../src/schema-args.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,84 @@
1
+ {
2
+ "name": "@ir-kit/cli",
3
+ "version": "0.2.0",
4
+ "description": "Unified `ir` CLI — single entry point for spec loading, conversion, codegen, and reverse-engineering across every supported API standard. Commands are JSON-Schema-defined; runtime auto-derives flags, prompts, help, and validation from the schema.",
5
+ "keywords": [
6
+ "cli",
7
+ "openapi",
8
+ "asyncapi",
9
+ "typespec",
10
+ "codegen",
11
+ "ir-kit"
12
+ ],
13
+ "homepage": "https://github.com/ir-kit/ir-kit/tree/main/packages/cli",
14
+ "bugs": {
15
+ "url": "https://github.com/ir-kit/ir-kit/issues"
16
+ },
17
+ "license": "MIT",
18
+ "author": {
19
+ "name": "Ahmed Rowaihi",
20
+ "email": "ahmedrowaihi@gmail.com"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/ir-kit/ir-kit.git",
25
+ "directory": "packages/cli"
26
+ },
27
+ "type": "module",
28
+ "sideEffects": false,
29
+ "main": "./dist/index.js",
30
+ "types": "./dist/index.d.ts",
31
+ "exports": {
32
+ ".": {
33
+ "types": "./dist/index.d.ts",
34
+ "import": "./dist/index.js"
35
+ },
36
+ "./package.json": "./package.json"
37
+ },
38
+ "bin": {
39
+ "ir": "./dist/bin.js"
40
+ },
41
+ "files": [
42
+ "dist",
43
+ "README.md",
44
+ "LICENSE.md"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public",
48
+ "provenance": true
49
+ },
50
+ "dependencies": {
51
+ "@clack/prompts": "^1.3.0",
52
+ "chokidar": "^4.0.3",
53
+ "citty": "^0.2.2",
54
+ "consola": "^3.4.2",
55
+ "@ir-kit/fn-schema-core": "0.2.0",
56
+ "@ir-kit/fn-schema-typescript": "0.1.1",
57
+ "@ir-kit/k6-gen": "0.3.0",
58
+ "@ir-kit/k6-toolkit": "0.2.0",
59
+ "@ir-kit/openapi-go": "2.0.0",
60
+ "@ir-kit/openapi-kotlin": "2.0.0",
61
+ "@ir-kit/openapi-recon": "0.2.0",
62
+ "@ir-kit/openapi-swift": "2.0.0",
63
+ "@ir-kit/openapi-typescript": "0.2.0",
64
+ "@ir-kit/schema": "0.2.0",
65
+ "@ir-kit/spec-convert": "0.2.0",
66
+ "@ir-kit/spec-diff": "0.2.0",
67
+ "@ir-kit/spec-docs": "0.2.0",
68
+ "@ir-kit/spec-loader": "0.2.0"
69
+ },
70
+ "devDependencies": {
71
+ "@types/node": "^22",
72
+ "vitest": "^4.0.0",
73
+ "@ir-kit/tsconfig": "0.0.0"
74
+ },
75
+ "engines": {
76
+ "node": ">=20.19.0"
77
+ },
78
+ "scripts": {
79
+ "build": "tsc -p tsconfig.build.json",
80
+ "dev": "tsc -p tsconfig.build.json --watch",
81
+ "typecheck": "tsc --noEmit",
82
+ "test": "vitest run --passWithNoTests"
83
+ }
84
+ }