@ir-kit/cli 0.2.1 → 0.3.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/README.md CHANGED
@@ -24,6 +24,7 @@ ir
24
24
  │ ├── go Generate a Go SDK
25
25
  │ ├── kotlin Generate a Kotlin (OkHttp + coroutines) SDK
26
26
  │ ├── swift Generate a Swift (URLSession + Codable) SDK
27
+ │ ├── java Generate a Java (java.net.http + Jackson) SDK
27
28
  │ ├── typescript Generate a TypeScript SDK via @hey-api/openapi-ts
28
29
  │ ├── k6 Generate a typed k6 load-test client
29
30
  │ └── all Run every SDK generator in one pass
@@ -62,7 +63,7 @@ ir k6 sync && ir k6 bundle ./loadtest.ts --out dist/loadtest.js
62
63
 
63
64
  ## How it works
64
65
 
65
- Each command is a thin schema-driven wrapper around a programmatic `runX()` API exposed by the underlying engine package (`@ir-kit/spec-convert`, `@ir-kit/spec-docs`, `@ir-kit/spec-diff`, `@ir-kit/openapi-{go,kotlin,swift,typescript}`, `@ir-kit/k6-toolkit`, `@ir-kit/fn-schema-core`, `@ir-kit/openapi-recon`). All orchestration lives in those engines — the CLI exists to expose them under one entry point with consistent flag UX.
66
+ Each command is a thin schema-driven wrapper around a programmatic `runX()` API exposed by the underlying engine package (`@ir-kit/spec-convert`, `@ir-kit/spec-docs`, `@ir-kit/spec-diff`, `@ir-kit/openapi-{go,kotlin,swift,java,typescript}`, `@ir-kit/k6-toolkit`, `@ir-kit/fn-schema-core`, `@ir-kit/openapi-recon`). All orchestration lives in those engines — the CLI exists to expose them under one entry point with consistent flag UX.
66
67
 
67
68
  ```ts
68
69
  // Every command follows the same shape:
package/dist/bin.js CHANGED
@@ -8,10 +8,8 @@ import { k6BundleCommand } from "./commands/k6-bundle.js";
8
8
  import { k6SyncCommand } from "./commands/k6-sync.js";
9
9
  import { reconCommand } from "./commands/recon.js";
10
10
  import { sdkAllCommand } from "./commands/sdk-all.js";
11
- import { sdkGoCommand } from "./commands/sdk-go.js";
12
11
  import { sdkK6Command } from "./commands/sdk-k6.js";
13
- import { sdkKotlinCommand } from "./commands/sdk-kotlin.js";
14
- import { sdkSwiftCommand } from "./commands/sdk-swift.js";
12
+ import { sdkGoCommand, sdkJavaCommand, sdkKotlinCommand, sdkSwiftCommand, } from "./commands/sdk-native.js";
15
13
  import { sdkTypescriptCommand } from "./commands/sdk-typescript.js";
16
14
  import { specConvertCommand } from "./commands/spec-convert.js";
17
15
  import { specDiffCommand } from "./commands/spec-diff.js";
@@ -27,6 +25,7 @@ await runCli({
27
25
  sdkGoCommand,
28
26
  sdkKotlinCommand,
29
27
  sdkSwiftCommand,
28
+ sdkJavaCommand,
30
29
  sdkTypescriptCommand,
31
30
  sdkK6Command,
32
31
  sdkAllCommand,
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,CAAC;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,WAAW,EACT,6EAA6E;IAC/E,QAAQ,EAAE;QACR,kBAAkB;QAClB,eAAe;QACf,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,aAAa;QACb,eAAe;KAChB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,CAAC;IACX,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,OAAO;IAChB,WAAW,EACT,6EAA6E;IAC/E,QAAQ,EAAE;QACR,kBAAkB;QAClB,eAAe;QACf,WAAW;QACX,YAAY;QACZ,gBAAgB;QAChB,eAAe;QACf,cAAc;QACd,oBAAoB;QACpB,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,sBAAsB;QACtB,mBAAmB;QACnB,sBAAsB;QACtB,mBAAmB;QACnB,aAAa;QACb,eAAe;KAChB;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-all.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgCD,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CA4ClD,CAAC"}
1
+ {"version":3,"file":"sdk-all.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgCD,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAiDlD,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { join } from "node:path";
2
2
  import { generate as generateK6 } from "@ir-kit/k6-gen";
3
- import { generate as generateGo } from "@ir-kit/openapi-go";
4
- import { generate as generateKotlin } from "@ir-kit/openapi-kotlin";
5
- import { generate as generateSwift } from "@ir-kit/openapi-swift";
6
3
  import { generate as generateTypescript } from "@ir-kit/openapi-typescript";
7
- const TARGETS = ["go", "kotlin", "swift", "typescript", "k6"];
4
+ import { loadOpenAPIForSdk } from "./_load-openapi.js";
5
+ import { nativeSdkTargets } from "./sdk-native.js";
6
+ const TARGETS = [
7
+ ...Object.keys(nativeSdkTargets),
8
+ "typescript",
9
+ "k6",
10
+ ];
8
11
  const args = {
9
12
  type: "object",
10
13
  properties: {
@@ -49,6 +52,9 @@ export const sdkAllCommand = {
49
52
  }
50
53
  }
51
54
  const targets = requested;
55
+ const native = targets.some((t) => t in nativeSdkTargets)
56
+ ? await loadOpenAPIForSdk(input.input)
57
+ : undefined;
52
58
  for (const target of targets) {
53
59
  const out = join(input.output, target);
54
60
  const common = {
@@ -57,12 +63,8 @@ export const sdkAllCommand = {
57
63
  clean: input.clean,
58
64
  normalize: input.normalize,
59
65
  };
60
- if (target === "go")
61
- await generateGo(common);
62
- else if (target === "kotlin")
63
- await generateKotlin(common);
64
- else if (target === "swift")
65
- await generateSwift(common);
66
+ if (native && target in nativeSdkTargets)
67
+ await nativeSdkTargets[target].generate(native, common);
66
68
  else if (target === "typescript")
67
69
  await generateTypescript({
68
70
  input: input.input,
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-all.js","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-all.js","sourceRoot":"","sources":["../../src/commands/sdk-all.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import type { Schema } from "@ir-kit/schema";
2
+ import type { CommandSpec } from "../command-spec.js";
3
+ export interface NativeSdkInput {
4
+ input: string;
5
+ output: string;
6
+ clean?: boolean;
7
+ normalize?: boolean;
8
+ defaultTag?: string;
9
+ [option: string]: unknown;
10
+ }
11
+ export declare const nativeSdkTargets: {
12
+ go: {
13
+ label: string;
14
+ args: {
15
+ gomod: {
16
+ type: string;
17
+ description: string;
18
+ };
19
+ packageName: {
20
+ type: string;
21
+ description: string;
22
+ };
23
+ };
24
+ generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-go").GenerateResult>;
25
+ };
26
+ kotlin: {
27
+ label: string;
28
+ args: Record<string, Schema>;
29
+ generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-kotlin").GenerateResult>;
30
+ };
31
+ swift: {
32
+ label: string;
33
+ args: {
34
+ swiftPackage: {
35
+ type: string;
36
+ description: string;
37
+ default: boolean;
38
+ };
39
+ };
40
+ generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-swift").GenerateResult>;
41
+ };
42
+ java: {
43
+ label: string;
44
+ args: Record<string, Schema>;
45
+ generate: (doc: Record<string, unknown>, input: NativeSdkInput) => Promise<import("@ir-kit/openapi-java").GenerateResult>;
46
+ };
47
+ };
48
+ export type NativeSdkTargetName = keyof typeof nativeSdkTargets;
49
+ export declare const sdkGoCommand: CommandSpec<NativeSdkInput, void>;
50
+ export declare const sdkKotlinCommand: CommandSpec<NativeSdkInput, void>;
51
+ export declare const sdkSwiftCommand: CommandSpec<NativeSdkInput, void>;
52
+ export declare const sdkJavaCommand: CommandSpec<NativeSdkInput, void>;
53
+ //# sourceMappingURL=sdk-native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-native.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-native.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC3B;AAqCD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Dc,CAAC;AAE5C,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAyChE,eAAO,MAAM,YAAY,mCAAyB,CAAC;AACnD,eAAO,MAAM,gBAAgB,mCAA6B,CAAC;AAC3D,eAAO,MAAM,eAAe,mCAA4B,CAAC;AACzD,eAAO,MAAM,cAAc,mCAA2B,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { generate as generateGo } from "@ir-kit/openapi-go";
2
+ import { generate as generateJava } from "@ir-kit/openapi-java";
3
+ import { generate as generateKotlin } from "@ir-kit/openapi-kotlin";
4
+ import { generate as generateSwift } from "@ir-kit/openapi-swift";
5
+ import { loadOpenAPIForSdk } from "./_load-openapi.js";
6
+ const str = (o) => typeof o === "string" ? o : undefined;
7
+ const bool = (o) => typeof o === "boolean" ? o : undefined;
8
+ const common = (doc, input) => ({
9
+ input: doc,
10
+ output: input.output,
11
+ clean: input.clean,
12
+ normalize: input.normalize,
13
+ defaultTag: input.defaultTag,
14
+ });
15
+ const gradleArgs = (lang) => ({
16
+ gradle: {
17
+ type: "boolean",
18
+ description: "Emit build.gradle.kts + settings.gradle.kts at output root",
19
+ default: false,
20
+ },
21
+ packageName: {
22
+ type: "string",
23
+ description: `${lang} package name (default: 'com.example.api')`,
24
+ },
25
+ });
26
+ export const nativeSdkTargets = {
27
+ go: {
28
+ label: "Go",
29
+ args: {
30
+ gomod: {
31
+ type: "string",
32
+ description: "Emit go.mod with this module path (e.g. github.com/me/sdk)",
33
+ },
34
+ packageName: {
35
+ type: "string",
36
+ description: "Go package name (default: 'api')",
37
+ },
38
+ },
39
+ generate: (doc, input) => {
40
+ const gomod = str(input.gomod);
41
+ return generateGo({
42
+ ...common(doc, input),
43
+ packageName: str(input.packageName),
44
+ ...(gomod ? { gomod: { module: gomod } } : {}),
45
+ });
46
+ },
47
+ },
48
+ kotlin: {
49
+ label: "Kotlin",
50
+ args: gradleArgs("Kotlin"),
51
+ generate: (doc, input) => generateKotlin({
52
+ ...common(doc, input),
53
+ packageName: str(input.packageName),
54
+ gradle: bool(input.gradle),
55
+ }),
56
+ },
57
+ swift: {
58
+ label: "Swift",
59
+ args: {
60
+ swiftPackage: {
61
+ type: "boolean",
62
+ description: "Emit Package.swift at output root",
63
+ default: false,
64
+ },
65
+ },
66
+ generate: (doc, input) => generateSwift({
67
+ ...common(doc, input),
68
+ package: bool(input.swiftPackage),
69
+ }),
70
+ },
71
+ java: {
72
+ label: "Java",
73
+ args: gradleArgs("Java"),
74
+ generate: (doc, input) => generateJava({
75
+ ...common(doc, input),
76
+ packageName: str(input.packageName),
77
+ gradle: bool(input.gradle),
78
+ }),
79
+ },
80
+ };
81
+ function nativeSdkCommand(name) {
82
+ const target = nativeSdkTargets[name];
83
+ return {
84
+ path: ["sdk", name],
85
+ description: `Generate a ${target.label} SDK from an OpenAPI / TypeSpec spec`,
86
+ args: {
87
+ type: "object",
88
+ properties: {
89
+ input: {
90
+ type: "string",
91
+ description: "OpenAPI spec path, URL, or .tsp file",
92
+ },
93
+ output: { type: "string", description: "Output directory" },
94
+ clean: {
95
+ type: "boolean",
96
+ description: "Wipe output directory before writing",
97
+ default: true,
98
+ },
99
+ normalize: {
100
+ type: "boolean",
101
+ description: "Apply spec normalization",
102
+ default: false,
103
+ },
104
+ defaultTag: {
105
+ type: "string",
106
+ description: "Tag used when an op has none (default: 'Default')",
107
+ },
108
+ ...target.args,
109
+ },
110
+ required: ["input", "output"],
111
+ },
112
+ handler: async (input) => {
113
+ await target.generate(await loadOpenAPIForSdk(input.input), input);
114
+ },
115
+ };
116
+ }
117
+ export const sdkGoCommand = nativeSdkCommand("go");
118
+ export const sdkKotlinCommand = nativeSdkCommand("kotlin");
119
+ export const sdkSwiftCommand = nativeSdkCommand("swift");
120
+ export const sdkJavaCommand = nativeSdkCommand("java");
121
+ //# sourceMappingURL=sdk-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-native.js","sourceRoot":"","sources":["../../src/commands/sdk-native.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,8 @@
1
1
  export type { AnyCommandSpec, CommandSpec, OutputFormat, } from "./command-spec.js";
2
2
  export { reconCommand } from "./commands/recon.js";
3
3
  export { sdkAllCommand } from "./commands/sdk-all.js";
4
- export { sdkGoCommand } from "./commands/sdk-go.js";
5
4
  export { sdkK6Command } from "./commands/sdk-k6.js";
6
- export { sdkKotlinCommand } from "./commands/sdk-kotlin.js";
7
- export { sdkSwiftCommand } from "./commands/sdk-swift.js";
5
+ export { sdkGoCommand, sdkJavaCommand, sdkKotlinCommand, sdkSwiftCommand, } from "./commands/sdk-native.js";
8
6
  export { sdkTypescriptCommand } from "./commands/sdk-typescript.js";
9
7
  export { specConvertCommand } from "./commands/spec-convert.js";
10
8
  export { type RunCliOptions, runCli } from "./runtime.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  export { reconCommand } from "./commands/recon.js";
2
2
  export { sdkAllCommand } from "./commands/sdk-all.js";
3
- export { sdkGoCommand } from "./commands/sdk-go.js";
4
3
  export { sdkK6Command } from "./commands/sdk-k6.js";
5
- export { sdkKotlinCommand } from "./commands/sdk-kotlin.js";
6
- export { sdkSwiftCommand } from "./commands/sdk-swift.js";
4
+ export { sdkGoCommand, sdkJavaCommand, sdkKotlinCommand, sdkSwiftCommand, } from "./commands/sdk-native.js";
7
5
  export { sdkTypescriptCommand } from "./commands/sdk-typescript.js";
8
6
  export { specConvertCommand } from "./commands/spec-convert.js";
9
7
  export { runCli } from "./runtime.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAsB,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAsB,MAAM,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ir-kit/cli",
3
- "version": "0.2.1",
3
+ "version": "0.3.0",
4
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
5
  "keywords": [
6
6
  "cli",
@@ -52,20 +52,21 @@
52
52
  "chokidar": "^4.0.3",
53
53
  "citty": "^0.2.2",
54
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.1",
58
- "@ir-kit/k6-toolkit": "0.2.1",
59
- "@ir-kit/openapi-go": "2.1.0",
60
- "@ir-kit/openapi-kotlin": "2.1.0",
61
- "@ir-kit/openapi-recon": "0.2.0",
62
- "@ir-kit/openapi-swift": "2.1.0",
63
- "@ir-kit/openapi-typescript": "0.2.1",
64
- "@ir-kit/schema": "0.3.0",
65
- "@ir-kit/spec-convert": "0.2.1",
66
- "@ir-kit/spec-diff": "0.2.1",
67
- "@ir-kit/spec-docs": "0.2.1",
68
- "@ir-kit/spec-loader": "0.2.1"
55
+ "@ir-kit/fn-schema-core": "0.2.1",
56
+ "@ir-kit/fn-schema-typescript": "0.1.2",
57
+ "@ir-kit/k6-gen": "0.4.0",
58
+ "@ir-kit/k6-toolkit": "0.2.2",
59
+ "@ir-kit/openapi-go": "3.0.0",
60
+ "@ir-kit/openapi-java": "1.0.0",
61
+ "@ir-kit/openapi-kotlin": "3.0.0",
62
+ "@ir-kit/openapi-recon": "0.3.0",
63
+ "@ir-kit/openapi-swift": "3.0.0",
64
+ "@ir-kit/openapi-typescript": "0.3.0",
65
+ "@ir-kit/schema": "0.3.1",
66
+ "@ir-kit/spec-convert": "0.3.0",
67
+ "@ir-kit/spec-diff": "0.2.2",
68
+ "@ir-kit/spec-docs": "0.2.2",
69
+ "@ir-kit/spec-loader": "0.3.0"
69
70
  },
70
71
  "devDependencies": {
71
72
  "@types/node": "^22",
@@ -1,13 +0,0 @@
1
- import type { CommandSpec } from "../command-spec.js";
2
- interface Input {
3
- input: string;
4
- output: string;
5
- clean?: boolean;
6
- normalize?: boolean;
7
- gomod?: string;
8
- packageName?: string;
9
- defaultTag?: string;
10
- }
11
- export declare const sdkGoCommand: CommandSpec<Input, void>;
12
- export {};
13
- //# sourceMappingURL=sdk-go.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-go.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-go.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAoCD,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAgBjD,CAAC"}
@@ -1,53 +0,0 @@
1
- import { generate } from "@ir-kit/openapi-go";
2
- import { loadOpenAPIForSdk } from "./_load-openapi.js";
3
- const args = {
4
- type: "object",
5
- properties: {
6
- input: {
7
- type: "string",
8
- description: "OpenAPI spec path, URL, or .tsp file",
9
- },
10
- output: { type: "string", description: "Output directory" },
11
- clean: {
12
- type: "boolean",
13
- description: "Wipe output directory before writing",
14
- default: true,
15
- },
16
- normalize: {
17
- type: "boolean",
18
- description: "Apply hey-api spec normalization",
19
- default: false,
20
- },
21
- gomod: {
22
- type: "string",
23
- description: "Emit go.mod with this module path (e.g. github.com/me/sdk)",
24
- },
25
- packageName: {
26
- type: "string",
27
- description: "Go package name (default: 'api')",
28
- },
29
- defaultTag: {
30
- type: "string",
31
- description: "Tag used when an op has none (default: 'Default')",
32
- },
33
- },
34
- required: ["input", "output"],
35
- };
36
- export const sdkGoCommand = {
37
- path: ["sdk", "go"],
38
- description: "Generate a Go SDK from an OpenAPI / TypeSpec spec",
39
- args,
40
- handler: async (input) => {
41
- const doc = await loadOpenAPIForSdk(input.input);
42
- await generate({
43
- input: doc,
44
- output: input.output,
45
- clean: input.clean,
46
- normalize: input.normalize,
47
- packageName: input.packageName,
48
- defaultTag: input.defaultTag,
49
- ...(input.gomod ? { gomod: { module: input.gomod } } : {}),
50
- });
51
- },
52
- };
53
- //# sourceMappingURL=sdk-go.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-go.js","sourceRoot":"","sources":["../../src/commands/sdk-go.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD,MAAM,IAAI,GAAW;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kCAAkC;YAC/C,OAAO,EAAE,KAAK;SACf;QACD,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4DAA4D;SAC1E;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kCAAkC;SAChD;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,mDAAmD;SACjE;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAA6B;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;IACnB,WAAW,EAAE,mDAAmD;IAChE,IAAI;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { CommandSpec } from "../command-spec.js";
2
- interface Input {
3
- input: string;
4
- output: string;
5
- clean?: boolean;
6
- normalize?: boolean;
7
- gradle?: boolean;
8
- packageName?: string;
9
- defaultTag?: string;
10
- }
11
- export declare const sdkKotlinCommand: CommandSpec<Input, void>;
12
- export {};
13
- //# sourceMappingURL=sdk-kotlin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-kotlin.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-kotlin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAqCD,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAgBrD,CAAC"}
@@ -1,54 +0,0 @@
1
- import { generate } from "@ir-kit/openapi-kotlin";
2
- import { loadOpenAPIForSdk } from "./_load-openapi.js";
3
- const args = {
4
- type: "object",
5
- properties: {
6
- input: {
7
- type: "string",
8
- description: "OpenAPI spec path, URL, or .tsp file",
9
- },
10
- output: { type: "string", description: "Output directory" },
11
- clean: {
12
- type: "boolean",
13
- description: "Wipe output before writing",
14
- default: true,
15
- },
16
- normalize: {
17
- type: "boolean",
18
- description: "Apply spec normalization",
19
- default: false,
20
- },
21
- gradle: {
22
- type: "boolean",
23
- description: "Emit build.gradle.kts + settings.gradle.kts at output root",
24
- default: false,
25
- },
26
- packageName: {
27
- type: "string",
28
- description: "Kotlin package name (default: 'com.example.api')",
29
- },
30
- defaultTag: {
31
- type: "string",
32
- description: "Tag for untagged ops (default: 'Default')",
33
- },
34
- },
35
- required: ["input", "output"],
36
- };
37
- export const sdkKotlinCommand = {
38
- path: ["sdk", "kotlin"],
39
- description: "Generate a Kotlin SDK from an OpenAPI / TypeSpec spec",
40
- args,
41
- handler: async (input) => {
42
- const doc = await loadOpenAPIForSdk(input.input);
43
- await generate({
44
- input: doc,
45
- output: input.output,
46
- clean: input.clean,
47
- normalize: input.normalize,
48
- packageName: input.packageName,
49
- defaultTag: input.defaultTag,
50
- gradle: input.gradle,
51
- });
52
- },
53
- };
54
- //# sourceMappingURL=sdk-kotlin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-kotlin.js","sourceRoot":"","sources":["../../src/commands/sdk-kotlin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAYvD,MAAM,IAAI,GAAW;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf;QACD,MAAM,EAAE;YACN,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,kDAAkD;SAChE;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;SACzD;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA6B;IACxD,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;IACvB,WAAW,EAAE,uDAAuD;IACpE,IAAI;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { CommandSpec } from "../command-spec.js";
2
- interface Input {
3
- input: string;
4
- output: string;
5
- clean?: boolean;
6
- normalize?: boolean;
7
- swiftPackage?: boolean;
8
- defaultTag?: string;
9
- }
10
- export declare const sdkSwiftCommand: CommandSpec<Input, void>;
11
- export {};
12
- //# sourceMappingURL=sdk-swift.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-swift.d.ts","sourceRoot":"","sources":["../../src/commands/sdk-swift.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiCD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAepD,CAAC"}
@@ -1,49 +0,0 @@
1
- import { generate } from "@ir-kit/openapi-swift";
2
- import { loadOpenAPIForSdk } from "./_load-openapi.js";
3
- const args = {
4
- type: "object",
5
- properties: {
6
- input: {
7
- type: "string",
8
- description: "OpenAPI spec path, URL, or .tsp file",
9
- },
10
- output: { type: "string", description: "Output directory" },
11
- clean: {
12
- type: "boolean",
13
- description: "Wipe output before writing",
14
- default: true,
15
- },
16
- normalize: {
17
- type: "boolean",
18
- description: "Apply spec normalization",
19
- default: false,
20
- },
21
- swiftPackage: {
22
- type: "boolean",
23
- description: "Emit Package.swift at output root",
24
- default: false,
25
- },
26
- defaultTag: {
27
- type: "string",
28
- description: "Tag for untagged ops (default: 'Default')",
29
- },
30
- },
31
- required: ["input", "output"],
32
- };
33
- export const sdkSwiftCommand = {
34
- path: ["sdk", "swift"],
35
- description: "Generate a Swift SDK from an OpenAPI / TypeSpec spec",
36
- args,
37
- handler: async (input) => {
38
- const doc = await loadOpenAPIForSdk(input.input);
39
- await generate({
40
- input: doc,
41
- output: input.output,
42
- clean: input.clean,
43
- normalize: input.normalize,
44
- defaultTag: input.defaultTag,
45
- package: input.swiftPackage,
46
- });
47
- },
48
- };
49
- //# sourceMappingURL=sdk-swift.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk-swift.js","sourceRoot":"","sources":["../../src/commands/sdk-swift.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAWvD,MAAM,IAAI,GAAW;IACnB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sCAAsC;SACpD;QACD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC3D,KAAK,EAAE;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,4BAA4B;YACzC,OAAO,EAAE,IAAI;SACd;QACD,SAAS,EAAE;YACT,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,0BAA0B;YACvC,OAAO,EAAE,KAAK;SACf;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,mCAAmC;YAChD,OAAO,EAAE,KAAK;SACf;QACD,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,2CAA2C;SACzD;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,sDAAsD;IACnE,IAAI;IACJ,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,QAAQ,CAAC;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,OAAO,EAAE,KAAK,CAAC,YAAY;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}