specli 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.sh +27 -0
- package/dist/{src/ai → ai}/tools.d.ts +0 -1
- package/dist/ai/tools.js +161 -0
- package/dist/ai/tools.test.d.ts +1 -0
- package/dist/ai/tools.test.js +56 -0
- package/dist/{src/cli → cli}/auth-requirements.d.ts +0 -1
- package/dist/cli/auth-requirements.js +65 -0
- package/dist/cli/auth-requirements.test.d.ts +1 -0
- package/dist/cli/auth-requirements.test.js +16 -0
- package/dist/{src/cli → cli}/auth-schemes.d.ts +0 -1
- package/dist/cli/auth-schemes.js +112 -0
- package/dist/cli/auth-schemes.test.d.ts +1 -0
- package/dist/cli/auth-schemes.test.js +56 -0
- package/dist/{src/cli → cli}/capabilities.d.ts +0 -1
- package/dist/cli/capabilities.js +41 -0
- package/dist/cli/capabilities.test.d.ts +1 -0
- package/dist/cli/capabilities.test.js +84 -0
- package/dist/{src/cli → cli}/command-id.d.ts +0 -1
- package/dist/cli/command-id.js +8 -0
- package/dist/cli/command-id.test.d.ts +1 -0
- package/dist/cli/command-id.test.js +27 -0
- package/dist/{src/cli → cli}/command-index.d.ts +0 -1
- package/dist/cli/command-index.js +9 -0
- package/dist/{src/cli → cli}/command-model.d.ts +0 -1
- package/dist/cli/command-model.js +53 -0
- package/dist/cli/command-model.test.d.ts +1 -0
- package/dist/cli/command-model.test.js +40 -0
- package/dist/{src/cli → cli}/compile.d.ts +0 -1
- package/dist/cli/compile.js +79 -0
- package/dist/{src/cli → cli}/crypto.d.ts +0 -1
- package/dist/cli/crypto.js +9 -0
- package/dist/{src/cli → cli}/derive-name.d.ts +0 -1
- package/dist/cli/derive-name.js +96 -0
- package/dist/{src/cli → cli}/exec.d.ts +0 -1
- package/dist/cli/exec.js +50 -0
- package/dist/{src/cli → cli}/main.d.ts +0 -1
- package/dist/cli/main.js +177 -0
- package/dist/{src/cli → cli}/naming.d.ts +0 -1
- package/dist/cli/naming.js +191 -0
- package/dist/cli/naming.test.d.ts +1 -0
- package/dist/cli/naming.test.js +75 -0
- package/dist/{src/cli → cli}/operations.d.ts +0 -1
- package/dist/cli/operations.js +100 -0
- package/dist/cli/operations.test.d.ts +1 -0
- package/dist/cli/operations.test.js +51 -0
- package/dist/{src/cli → cli}/params.d.ts +0 -1
- package/dist/cli/params.js +36 -0
- package/dist/cli/params.test.d.ts +1 -0
- package/dist/cli/params.test.js +62 -0
- package/dist/{src/cli → cli}/pluralize.d.ts +0 -1
- package/dist/cli/pluralize.js +38 -0
- package/dist/{src/cli → cli}/positional.d.ts +0 -1
- package/dist/cli/positional.js +35 -0
- package/dist/cli/positional.test.d.ts +1 -0
- package/dist/cli/positional.test.js +60 -0
- package/dist/{src/cli → cli}/request-body.d.ts +0 -1
- package/dist/cli/request-body.js +44 -0
- package/dist/cli/request-body.test.d.ts +1 -0
- package/dist/cli/request-body.test.js +31 -0
- package/dist/{src/cli → cli}/runtime/argv.d.ts +0 -1
- package/dist/cli/runtime/argv.js +15 -0
- package/dist/{src/cli → cli}/runtime/auth/resolve.d.ts +0 -1
- package/dist/cli/runtime/auth/resolve.js +39 -0
- package/dist/{src/cli → cli}/runtime/body-flags.d.ts +0 -1
- package/dist/cli/runtime/body-flags.js +117 -0
- package/dist/cli/runtime/body-flags.test.d.ts +1 -0
- package/dist/cli/runtime/body-flags.test.js +192 -0
- package/dist/{src/cli → cli}/runtime/body.d.ts +0 -1
- package/dist/cli/runtime/body.js +16 -0
- package/dist/{src/cli → cli}/runtime/collect.d.ts +0 -1
- package/dist/cli/runtime/collect.js +3 -0
- package/dist/{src/cli → cli}/runtime/compat.d.ts +0 -1
- package/dist/cli/runtime/compat.js +78 -0
- package/dist/{src/cli → cli}/runtime/context.d.ts +0 -1
- package/dist/cli/runtime/context.js +44 -0
- package/dist/{src/cli → cli}/runtime/execute.d.ts +0 -1
- package/dist/cli/runtime/execute.js +106 -0
- package/dist/{src/cli → cli}/runtime/generated.d.ts +0 -1
- package/dist/cli/runtime/generated.js +168 -0
- package/dist/{src/cli → cli}/runtime/headers.d.ts +0 -1
- package/dist/cli/runtime/headers.js +30 -0
- package/dist/{src/cli → cli}/runtime/index.d.ts +0 -1
- package/dist/cli/runtime/index.js +3 -0
- package/dist/{src/cli → cli}/runtime/profile/secrets.d.ts +0 -1
- package/dist/cli/runtime/profile/secrets.js +53 -0
- package/dist/{src/cli → cli}/runtime/profile/store.d.ts +0 -1
- package/dist/cli/runtime/profile/store.js +63 -0
- package/dist/{src/cli → cli}/runtime/request.d.ts +0 -1
- package/dist/cli/runtime/request.js +283 -0
- package/dist/cli/runtime/request.test.d.ts +1 -0
- package/dist/cli/runtime/request.test.js +332 -0
- package/dist/{src/cli → cli}/runtime/server-url.d.ts +0 -1
- package/dist/cli/runtime/server-url.js +28 -0
- package/dist/{src/cli → cli}/runtime/template.d.ts +0 -1
- package/dist/cli/runtime/template.js +22 -0
- package/dist/cli/runtime/validate/ajv.d.ts +2 -0
- package/dist/cli/runtime/validate/ajv.js +11 -0
- package/dist/{src/cli → cli}/runtime/validate/coerce.d.ts +0 -1
- package/dist/cli/runtime/validate/coerce.js +63 -0
- package/dist/cli/runtime/validate/coerce.test.d.ts +1 -0
- package/dist/cli/runtime/validate/coerce.test.js +75 -0
- package/dist/{src/cli → cli}/runtime/validate/error.d.ts +0 -1
- package/dist/cli/runtime/validate/error.js +19 -0
- package/dist/{src/cli → cli}/runtime/validate/index.d.ts +0 -1
- package/dist/cli/runtime/validate/index.js +4 -0
- package/dist/{src/cli → cli}/runtime/validate/schema.d.ts +0 -1
- package/dist/cli/runtime/validate/schema.js +38 -0
- package/dist/{src/cli → cli}/schema-shape.d.ts +0 -1
- package/dist/cli/schema-shape.js +34 -0
- package/dist/{src/cli → cli}/schema.d.ts +0 -1
- package/dist/cli/schema.js +31 -0
- package/dist/{src/cli → cli}/server.d.ts +0 -1
- package/dist/cli/server.js +130 -0
- package/dist/cli/server.test.d.ts +1 -0
- package/dist/cli/server.test.js +49 -0
- package/dist/{src/cli → cli}/spec-id.d.ts +0 -1
- package/dist/cli/spec-id.js +8 -0
- package/dist/{src/cli → cli}/spec-loader.d.ts +0 -1
- package/dist/cli/spec-loader.js +40 -0
- package/dist/{src/cli → cli}/stable-json.d.ts +0 -1
- package/dist/cli/stable-json.js +29 -0
- package/dist/{src/cli → cli}/strings.d.ts +0 -1
- package/dist/cli/strings.js +20 -0
- package/dist/{src/cli → cli}/types.d.ts +0 -1
- package/dist/cli/types.js +3 -0
- package/dist/cli.d.ts +0 -1
- package/dist/cli.js +51 -2324
- package/dist/compiled.d.ts +2 -0
- package/{src/compiled.ts → dist/compiled.js} +8 -11
- package/dist/macros/env.d.ts +10 -0
- package/dist/macros/env.js +22 -0
- package/dist/macros/spec.d.ts +5 -0
- package/dist/macros/spec.js +16 -0
- package/dist/weather +0 -0
- package/package.json +12 -25
- package/bin/specli.js +0 -26
- package/cli.ts +0 -77
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -53
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2032
- package/dist/index.js.map +0 -48
- package/dist/src/ai/tools.d.ts.map +0 -1
- package/dist/src/ai/tools.js +0 -1656
- package/dist/src/ai/tools.js.map +0 -45
- package/dist/src/cli/auth-requirements.d.ts.map +0 -1
- package/dist/src/cli/auth-requirements.js +0 -66
- package/dist/src/cli/auth-requirements.js.map +0 -10
- package/dist/src/cli/auth-schemes.d.ts.map +0 -1
- package/dist/src/cli/auth-schemes.js +0 -116
- package/dist/src/cli/auth-schemes.js.map +0 -11
- package/dist/src/cli/capabilities.d.ts.map +0 -1
- package/dist/src/cli/capabilities.js +0 -45
- package/dist/src/cli/capabilities.js.map +0 -10
- package/dist/src/cli/command-id.d.ts.map +0 -1
- package/dist/src/cli/command-id.js +0 -18
- package/dist/src/cli/command-id.js.map +0 -11
- package/dist/src/cli/command-index.d.ts.map +0 -1
- package/dist/src/cli/command-index.js +0 -15
- package/dist/src/cli/command-index.js.map +0 -10
- package/dist/src/cli/command-model.d.ts.map +0 -1
- package/dist/src/cli/command-model.js +0 -274
- package/dist/src/cli/command-model.js.map +0 -18
- package/dist/src/cli/compile.d.ts.map +0 -1
- package/dist/src/cli/compile.js +0 -146
- package/dist/src/cli/compile.js.map +0 -11
- package/dist/src/cli/crypto.d.ts.map +0 -1
- package/dist/src/cli/crypto.js +0 -15
- package/dist/src/cli/crypto.js.map +0 -10
- package/dist/src/cli/derive-name.d.ts.map +0 -1
- package/dist/src/cli/derive-name.js +0 -70
- package/dist/src/cli/derive-name.js.map +0 -10
- package/dist/src/cli/exec.d.ts.map +0 -1
- package/dist/src/cli/exec.js +0 -2077
- package/dist/src/cli/exec.js.map +0 -49
- package/dist/src/cli/main.d.ts.map +0 -1
- package/dist/src/cli/main.js +0 -2032
- package/dist/src/cli/main.js.map +0 -48
- package/dist/src/cli/naming.d.ts.map +0 -1
- package/dist/src/cli/naming.js +0 -216
- package/dist/src/cli/naming.js.map +0 -12
- package/dist/src/cli/operations.d.ts.map +0 -1
- package/dist/src/cli/operations.js +0 -103
- package/dist/src/cli/operations.js.map +0 -10
- package/dist/src/cli/params.d.ts.map +0 -1
- package/dist/src/cli/params.js +0 -79
- package/dist/src/cli/params.js.map +0 -12
- package/dist/src/cli/pluralize.d.ts.map +0 -1
- package/dist/src/cli/pluralize.js +0 -43
- package/dist/src/cli/pluralize.js.map +0 -10
- package/dist/src/cli/positional.d.ts.map +0 -1
- package/dist/src/cli/positional.js +0 -39
- package/dist/src/cli/positional.js.map +0 -10
- package/dist/src/cli/request-body.d.ts.map +0 -1
- package/dist/src/cli/request-body.js +0 -82
- package/dist/src/cli/request-body.js.map +0 -12
- package/dist/src/cli/runtime/argv.d.ts.map +0 -1
- package/dist/src/cli/runtime/argv.js +0 -22
- package/dist/src/cli/runtime/argv.js.map +0 -10
- package/dist/src/cli/runtime/auth/resolve.d.ts.map +0 -1
- package/dist/src/cli/runtime/auth/resolve.js +0 -38
- package/dist/src/cli/runtime/auth/resolve.js.map +0 -10
- package/dist/src/cli/runtime/body-flags.d.ts.map +0 -1
- package/dist/src/cli/runtime/body-flags.js +0 -86
- package/dist/src/cli/runtime/body-flags.js.map +0 -10
- package/dist/src/cli/runtime/body.d.ts.map +0 -1
- package/dist/src/cli/runtime/body.js +0 -40
- package/dist/src/cli/runtime/body.js.map +0 -11
- package/dist/src/cli/runtime/collect.d.ts.map +0 -1
- package/dist/src/cli/runtime/collect.js +0 -9
- package/dist/src/cli/runtime/collect.js.map +0 -10
- package/dist/src/cli/runtime/compat.d.ts.map +0 -1
- package/dist/src/cli/runtime/compat.js +0 -62
- package/dist/src/cli/runtime/compat.js.map +0 -10
- package/dist/src/cli/runtime/context.d.ts.map +0 -1
- package/dist/src/cli/runtime/context.js +0 -936
- package/dist/src/cli/runtime/context.js.map +0 -32
- package/dist/src/cli/runtime/execute.d.ts.map +0 -1
- package/dist/src/cli/runtime/execute.js +0 -670
- package/dist/src/cli/runtime/execute.js.map +0 -22
- package/dist/src/cli/runtime/generated.d.ts.map +0 -1
- package/dist/src/cli/runtime/generated.js +0 -869
- package/dist/src/cli/runtime/generated.js.map +0 -23
- package/dist/src/cli/runtime/headers.d.ts.map +0 -1
- package/dist/src/cli/runtime/headers.js +0 -36
- package/dist/src/cli/runtime/headers.js.map +0 -10
- package/dist/src/cli/runtime/index.d.ts.map +0 -1
- package/dist/src/cli/runtime/index.js +0 -1808
- package/dist/src/cli/runtime/index.js.map +0 -46
- package/dist/src/cli/runtime/profile/secrets.d.ts.map +0 -1
- package/dist/src/cli/runtime/profile/secrets.js +0 -51
- package/dist/src/cli/runtime/profile/secrets.js.map +0 -11
- package/dist/src/cli/runtime/profile/store.d.ts.map +0 -1
- package/dist/src/cli/runtime/profile/store.js +0 -102
- package/dist/src/cli/runtime/profile/store.js.map +0 -11
- package/dist/src/cli/runtime/request.d.ts.map +0 -1
- package/dist/src/cli/runtime/request.js +0 -571
- package/dist/src/cli/runtime/request.js.map +0 -21
- package/dist/src/cli/runtime/server-url.d.ts.map +0 -1
- package/dist/src/cli/runtime/server-url.js +0 -55
- package/dist/src/cli/runtime/server-url.js.map +0 -11
- package/dist/src/cli/runtime/template.d.ts.map +0 -1
- package/dist/src/cli/runtime/template.js +0 -29
- package/dist/src/cli/runtime/template.js.map +0 -10
- package/dist/src/cli/runtime/validate/ajv.d.ts +0 -3
- package/dist/src/cli/runtime/validate/ajv.d.ts.map +0 -1
- package/dist/src/cli/runtime/validate/ajv.js +0 -17
- package/dist/src/cli/runtime/validate/ajv.js.map +0 -10
- package/dist/src/cli/runtime/validate/coerce.d.ts.map +0 -1
- package/dist/src/cli/runtime/validate/coerce.js +0 -60
- package/dist/src/cli/runtime/validate/coerce.js.map +0 -10
- package/dist/src/cli/runtime/validate/error.d.ts.map +0 -1
- package/dist/src/cli/runtime/validate/error.js +0 -21
- package/dist/src/cli/runtime/validate/error.js.map +0 -10
- package/dist/src/cli/runtime/validate/index.d.ts.map +0 -1
- package/dist/src/cli/runtime/validate/index.js +0 -122
- package/dist/src/cli/runtime/validate/index.js.map +0 -13
- package/dist/src/cli/runtime/validate/schema.d.ts.map +0 -1
- package/dist/src/cli/runtime/validate/schema.js +0 -36
- package/dist/src/cli/runtime/validate/schema.js.map +0 -10
- package/dist/src/cli/schema-shape.d.ts.map +0 -1
- package/dist/src/cli/schema-shape.js +0 -41
- package/dist/src/cli/schema-shape.js.map +0 -10
- package/dist/src/cli/schema.d.ts.map +0 -1
- package/dist/src/cli/schema.js +0 -38
- package/dist/src/cli/schema.js.map +0 -10
- package/dist/src/cli/server.d.ts.map +0 -1
- package/dist/src/cli/server.js +0 -64
- package/dist/src/cli/server.js.map +0 -11
- package/dist/src/cli/spec-id.d.ts.map +0 -1
- package/dist/src/cli/spec-id.js +0 -21
- package/dist/src/cli/spec-id.js.map +0 -11
- package/dist/src/cli/spec-loader.d.ts.map +0 -1
- package/dist/src/cli/spec-loader.js +0 -110
- package/dist/src/cli/spec-loader.js.map +0 -15
- package/dist/src/cli/stable-json.d.ts.map +0 -1
- package/dist/src/cli/stable-json.js +0 -35
- package/dist/src/cli/stable-json.js.map +0 -10
- package/dist/src/cli/strings.d.ts.map +0 -1
- package/dist/src/cli/strings.js +0 -16
- package/dist/src/cli/strings.js.map +0 -10
- package/dist/src/cli/types.d.ts.map +0 -1
- package/dist/src/cli/types.js +0 -9
- package/dist/src/cli/types.js.map +0 -10
- package/index.ts +0 -1
- package/src/ai/tools.ts +0 -211
- package/src/cli/auth-requirements.ts +0 -91
- package/src/cli/auth-schemes.ts +0 -187
- package/src/cli/capabilities.ts +0 -88
- package/src/cli/command-id.ts +0 -16
- package/src/cli/command-index.ts +0 -19
- package/src/cli/command-model.ts +0 -128
- package/src/cli/compile.ts +0 -101
- package/src/cli/crypto.ts +0 -9
- package/src/cli/derive-name.ts +0 -101
- package/src/cli/exec.ts +0 -72
- package/src/cli/main.ts +0 -231
- package/src/cli/naming.ts +0 -224
- package/src/cli/operations.ts +0 -152
- package/src/cli/params.ts +0 -71
- package/src/cli/pluralize.ts +0 -41
- package/src/cli/positional.ts +0 -75
- package/src/cli/request-body.ts +0 -94
- package/src/cli/runtime/argv.ts +0 -14
- package/src/cli/runtime/auth/resolve.ts +0 -59
- package/src/cli/runtime/body-flags.ts +0 -176
- package/src/cli/runtime/body.ts +0 -24
- package/src/cli/runtime/collect.ts +0 -6
- package/src/cli/runtime/compat.ts +0 -89
- package/src/cli/runtime/context.ts +0 -62
- package/src/cli/runtime/execute.ts +0 -147
- package/src/cli/runtime/generated.ts +0 -242
- package/src/cli/runtime/headers.ts +0 -37
- package/src/cli/runtime/index.ts +0 -3
- package/src/cli/runtime/profile/secrets.ts +0 -83
- package/src/cli/runtime/profile/store.ts +0 -100
- package/src/cli/runtime/request.ts +0 -390
- package/src/cli/runtime/server-url.ts +0 -45
- package/src/cli/runtime/template.ts +0 -26
- package/src/cli/runtime/validate/ajv.ts +0 -13
- package/src/cli/runtime/validate/coerce.ts +0 -71
- package/src/cli/runtime/validate/error.ts +0 -29
- package/src/cli/runtime/validate/index.ts +0 -4
- package/src/cli/runtime/validate/schema.ts +0 -54
- package/src/cli/schema-shape.ts +0 -36
- package/src/cli/schema.ts +0 -76
- package/src/cli/server.ts +0 -88
- package/src/cli/spec-id.ts +0 -12
- package/src/cli/spec-loader.ts +0 -58
- package/src/cli/stable-json.ts +0 -35
- package/src/cli/strings.ts +0 -21
- package/src/cli/types.ts +0 -59
- package/src/macros/env.ts +0 -21
- package/src/macros/spec.ts +0 -17
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { loadSpec } from "./macros/spec.ts" with { type: "macro" };
|
|
6
|
-
|
|
2
|
+
import { main } from "./cli/main.js";
|
|
3
|
+
import { env, envRequired } from "./macros/env.js" with { type: "macro" };
|
|
4
|
+
import { loadSpec } from "./macros/spec.js" with { type: "macro" };
|
|
7
5
|
// This entrypoint is intended to be compiled.
|
|
8
6
|
// All values are embedded via Bun macros at bundle-time.
|
|
9
7
|
const embeddedSpecText = await loadSpec(envRequired("SPECLI_SPEC"));
|
|
@@ -11,11 +9,10 @@ const cliName = env("SPECLI_NAME");
|
|
|
11
9
|
const server = env("SPECLI_SERVER");
|
|
12
10
|
const serverVars = env("SPECLI_SERVER_VARS");
|
|
13
11
|
const auth = env("SPECLI_AUTH");
|
|
14
|
-
|
|
15
12
|
await main(process.argv, {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
embeddedSpecText,
|
|
14
|
+
cliName,
|
|
15
|
+
server,
|
|
16
|
+
serverVars: serverVars ? serverVars.split(",") : undefined,
|
|
17
|
+
auth,
|
|
21
18
|
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bun macro: reads an environment variable at bundle-time.
|
|
3
|
+
* Returns undefined if the env var is not set.
|
|
4
|
+
*/
|
|
5
|
+
export declare function env(name: string): string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Bun macro: reads a required environment variable at bundle-time.
|
|
8
|
+
* Throws if the env var is not set.
|
|
9
|
+
*/
|
|
10
|
+
export declare function envRequired(name: string): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bun macro: reads an environment variable at bundle-time.
|
|
3
|
+
* Returns undefined if the env var is not set.
|
|
4
|
+
*/
|
|
5
|
+
export function env(name) {
|
|
6
|
+
if (!name)
|
|
7
|
+
throw new Error("env macro: missing variable name");
|
|
8
|
+
return process.env[name];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Bun macro: reads a required environment variable at bundle-time.
|
|
12
|
+
* Throws if the env var is not set.
|
|
13
|
+
*/
|
|
14
|
+
export function envRequired(name) {
|
|
15
|
+
if (!name)
|
|
16
|
+
throw new Error("envRequired macro: missing variable name");
|
|
17
|
+
const value = process.env[name];
|
|
18
|
+
if (value === undefined) {
|
|
19
|
+
throw new Error(`Missing required env var: ${name}`);
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bun macro: loads an OpenAPI spec from a URL or file path at bundle-time.
|
|
3
|
+
* The spec text is inlined into the bundle.
|
|
4
|
+
*/
|
|
5
|
+
export async function loadSpec(spec) {
|
|
6
|
+
if (!spec)
|
|
7
|
+
throw new Error("loadSpec macro: missing spec path/URL");
|
|
8
|
+
if (/^https?:\/\//i.test(spec)) {
|
|
9
|
+
const res = await fetch(spec);
|
|
10
|
+
if (!res.ok) {
|
|
11
|
+
throw new Error(`Failed to fetch spec: ${res.status} ${res.statusText}`);
|
|
12
|
+
}
|
|
13
|
+
return await res.text();
|
|
14
|
+
}
|
|
15
|
+
return await Bun.file(spec).text();
|
|
16
|
+
}
|
package/dist/weather
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,40 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"main": "./dist/index.js",
|
|
6
5
|
"module": "./dist/index.js",
|
|
7
6
|
"types": "./dist/index.d.ts",
|
|
8
7
|
"bin": {
|
|
9
|
-
"specli": "./bin/
|
|
8
|
+
"specli": "./bin/cli.sh"
|
|
10
9
|
},
|
|
11
10
|
"exports": {
|
|
12
|
-
".": {
|
|
13
|
-
"bun": "./index.ts",
|
|
14
|
-
"import": {
|
|
15
|
-
"types": "./dist/index.d.ts",
|
|
16
|
-
"default": "./dist/index.js"
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
11
|
"./ai/tools": {
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"types": "./dist/src/ai/tools.d.ts",
|
|
23
|
-
"default": "./dist/src/ai/tools.js"
|
|
24
|
-
}
|
|
12
|
+
"import": "./dist/ai/tools.js",
|
|
13
|
+
"types": "./dist/ai/tools.d.ts"
|
|
25
14
|
}
|
|
26
15
|
},
|
|
27
16
|
"files": [
|
|
28
|
-
"dist",
|
|
29
17
|
"bin",
|
|
30
|
-
"
|
|
31
|
-
"index.ts",
|
|
32
|
-
"src",
|
|
33
|
-
"!**/*.test.ts"
|
|
18
|
+
"dist"
|
|
34
19
|
],
|
|
35
20
|
"scripts": {
|
|
36
|
-
"build": "
|
|
37
|
-
"prepublishOnly": "
|
|
21
|
+
"build": "tsc",
|
|
22
|
+
"prepublishOnly": "tsc",
|
|
38
23
|
"lint": "biome ci",
|
|
39
24
|
"lint:check": "biome check --write --unsafe",
|
|
40
25
|
"lint:format": "biome format --write",
|
|
@@ -42,9 +27,11 @@
|
|
|
42
27
|
},
|
|
43
28
|
"devDependencies": {
|
|
44
29
|
"@biomejs/biome": "^2.3.11",
|
|
30
|
+
"@tsconfig/node22": "^22.0.5",
|
|
45
31
|
"@types/bun": "^1.3.6",
|
|
46
32
|
"@types/node": "^22.19.7",
|
|
47
|
-
"@typescript/native-preview": "^7.0.0-dev.
|
|
33
|
+
"@typescript/native-preview": "^7.0.0-dev.20260122.3",
|
|
34
|
+
"typescript": "^5.9.3"
|
|
48
35
|
},
|
|
49
36
|
"dependencies": {
|
|
50
37
|
"@apidevtools/swagger-parser": "^12.1.0",
|
|
@@ -55,7 +42,7 @@
|
|
|
55
42
|
"yaml": "^2.8.2"
|
|
56
43
|
},
|
|
57
44
|
"peerDependencies": {
|
|
58
|
-
"ai": "^6.0.
|
|
59
|
-
"zod": "^4.
|
|
45
|
+
"ai": "^6.0.0",
|
|
46
|
+
"zod": "^4.0.0"
|
|
60
47
|
}
|
|
61
48
|
}
|
package/bin/specli.js
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import { spawn } from "node:child_process";
|
|
3
|
-
|
|
4
|
-
const isBun = typeof globalThis.Bun !== "undefined";
|
|
5
|
-
const isCompileCommand = process.argv.includes("compile");
|
|
6
|
-
|
|
7
|
-
if (!isBun && isCompileCommand) {
|
|
8
|
-
// Re-run with Bun for compile command
|
|
9
|
-
const child = spawn("bun", process.argv.slice(1), {
|
|
10
|
-
stdio: "inherit",
|
|
11
|
-
});
|
|
12
|
-
child.on("close", (code) => process.exit(code ?? 0));
|
|
13
|
-
child.on("error", (err) => {
|
|
14
|
-
if (err.code === "ENOENT") {
|
|
15
|
-
console.error("Error: The 'compile' command requires Bun.");
|
|
16
|
-
console.error("Install Bun: https://bun.sh");
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
throw err;
|
|
20
|
-
});
|
|
21
|
-
} else {
|
|
22
|
-
// Run the CLI directly
|
|
23
|
-
const root = new URL("..", import.meta.url).pathname;
|
|
24
|
-
const entry = isBun ? `${root}cli.ts` : `${root}dist/cli.js`;
|
|
25
|
-
await import(entry);
|
|
26
|
-
}
|
package/cli.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
import { Command } from "commander";
|
|
4
|
-
|
|
5
|
-
function collect(value: string, previous: string[] = []): string[] {
|
|
6
|
-
return previous.concat([value]);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
const program = new Command();
|
|
10
|
-
|
|
11
|
-
program.name("specli").description("Generate CLIs from OpenAPI specs");
|
|
12
|
-
|
|
13
|
-
// ─────────────────────────────────────────────────────────────
|
|
14
|
-
// exec command - runs spec dynamically (works in both Bun and Node.js)
|
|
15
|
-
// ─────────────────────────────────────────────────────────────
|
|
16
|
-
program
|
|
17
|
-
.command("exec <spec>")
|
|
18
|
-
.description("Execute commands from an OpenAPI spec")
|
|
19
|
-
.option("--server <url>", "Override server/base URL")
|
|
20
|
-
.option(
|
|
21
|
-
"--server-var <name=value>",
|
|
22
|
-
"Server variable (repeatable)",
|
|
23
|
-
collect,
|
|
24
|
-
[],
|
|
25
|
-
)
|
|
26
|
-
.option("--auth <scheme>", "Select auth scheme")
|
|
27
|
-
.option("--bearer-token <token>", "Bearer token")
|
|
28
|
-
.option("--oauth-token <token>", "OAuth token")
|
|
29
|
-
.option("--username <username>", "Basic auth username")
|
|
30
|
-
.option("--password <password>", "Basic auth password")
|
|
31
|
-
.option("--api-key <key>", "API key value")
|
|
32
|
-
.option("--profile <name>", "Profile name")
|
|
33
|
-
.option("--json", "Machine-readable output")
|
|
34
|
-
.allowUnknownOption()
|
|
35
|
-
.allowExcessArguments()
|
|
36
|
-
.action(async (spec, options, command) => {
|
|
37
|
-
const { execCommand } = await import("./src/cli/exec.ts");
|
|
38
|
-
await execCommand(spec, options, command.args);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
// ─────────────────────────────────────────────────────────────
|
|
42
|
-
// compile command - creates standalone binary (Bun only)
|
|
43
|
-
// ─────────────────────────────────────────────────────────────
|
|
44
|
-
program
|
|
45
|
-
.command("compile <spec>")
|
|
46
|
-
.description(
|
|
47
|
-
"Compile an OpenAPI spec into a standalone CLI binary (requires Bun)",
|
|
48
|
-
)
|
|
49
|
-
.option("--name <name>", "Binary name (default: derived from spec)")
|
|
50
|
-
.option("--outfile <path>", "Output path (default: ./dist/<name>)")
|
|
51
|
-
.option("--target <target>", "Bun compile target (e.g. bun-linux-x64)")
|
|
52
|
-
.option("--minify", "Enable minification")
|
|
53
|
-
.option("--bytecode", "Enable bytecode compilation")
|
|
54
|
-
.option("--no-dotenv", "Disable .env autoload")
|
|
55
|
-
.option("--no-bunfig", "Disable bunfig.toml autoload")
|
|
56
|
-
.option("--define <k=v>", "Build-time constant (repeatable)", collect, [])
|
|
57
|
-
.option("--server <url>", "Default server URL (embedded)")
|
|
58
|
-
.option(
|
|
59
|
-
"--server-var <k=v>",
|
|
60
|
-
"Default server variable (repeatable, embedded)",
|
|
61
|
-
collect,
|
|
62
|
-
[],
|
|
63
|
-
)
|
|
64
|
-
.option("--auth <scheme>", "Default auth scheme (embedded)")
|
|
65
|
-
.action(async (spec, options) => {
|
|
66
|
-
// Check if running in Bun
|
|
67
|
-
if (typeof globalThis.Bun === "undefined") {
|
|
68
|
-
console.error("Error: The 'compile' command requires Bun.");
|
|
69
|
-
console.error("Install Bun: https://bun.sh");
|
|
70
|
-
console.error("Then run: bunx specli compile <spec>");
|
|
71
|
-
process.exit(1);
|
|
72
|
-
}
|
|
73
|
-
const { compileCommand } = await import("./src/cli/compile.ts");
|
|
74
|
-
await compileCommand(spec, options);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
await program.parseAsync(process.argv);
|
package/dist/cli.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":""}
|