specli 0.0.5 → 0.0.8

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 (209) hide show
  1. package/bin/specli.js +19 -0
  2. package/cli.ts +13 -4
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +2331 -0
  6. package/dist/cli.js.map +53 -0
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +2032 -0
  10. package/dist/index.js.map +48 -0
  11. package/dist/src/ai/tools.d.ts +139 -0
  12. package/dist/src/ai/tools.d.ts.map +1 -0
  13. package/dist/src/ai/tools.js +1656 -0
  14. package/dist/src/ai/tools.js.map +45 -0
  15. package/dist/src/cli/auth-requirements.d.ts +10 -0
  16. package/dist/src/cli/auth-requirements.d.ts.map +1 -0
  17. package/dist/src/cli/auth-requirements.js +66 -0
  18. package/dist/src/cli/auth-requirements.js.map +10 -0
  19. package/dist/src/cli/auth-schemes.d.ts +22 -0
  20. package/dist/src/cli/auth-schemes.d.ts.map +1 -0
  21. package/dist/src/cli/auth-schemes.js +116 -0
  22. package/dist/src/cli/auth-schemes.js.map +11 -0
  23. package/dist/src/cli/capabilities.d.ts +32 -0
  24. package/dist/src/cli/capabilities.d.ts.map +1 -0
  25. package/dist/src/cli/capabilities.js +45 -0
  26. package/dist/src/cli/capabilities.js.map +10 -0
  27. package/dist/src/cli/command-id.d.ts +8 -0
  28. package/dist/src/cli/command-id.d.ts.map +1 -0
  29. package/dist/src/cli/command-id.js +18 -0
  30. package/dist/src/cli/command-id.js.map +11 -0
  31. package/dist/src/cli/command-index.d.ts +6 -0
  32. package/dist/src/cli/command-index.d.ts.map +1 -0
  33. package/dist/src/cli/command-index.js +15 -0
  34. package/dist/src/cli/command-index.js.map +10 -0
  35. package/dist/src/cli/command-model.d.ts +40 -0
  36. package/dist/src/cli/command-model.d.ts.map +1 -0
  37. package/dist/src/cli/command-model.js +274 -0
  38. package/dist/src/cli/command-model.js.map +18 -0
  39. package/dist/src/cli/compile.d.ts +15 -0
  40. package/dist/src/cli/compile.d.ts.map +1 -0
  41. package/dist/src/cli/compile.js +146 -0
  42. package/dist/src/cli/compile.js.map +11 -0
  43. package/dist/src/cli/crypto.d.ts +2 -0
  44. package/dist/src/cli/crypto.d.ts.map +1 -0
  45. package/dist/src/cli/crypto.js +15 -0
  46. package/dist/src/cli/crypto.js.map +10 -0
  47. package/dist/src/cli/derive-name.d.ts +9 -0
  48. package/dist/src/cli/derive-name.d.ts.map +1 -0
  49. package/dist/src/cli/derive-name.js +70 -0
  50. package/dist/src/cli/derive-name.js.map +10 -0
  51. package/dist/src/cli/exec.d.ts +14 -0
  52. package/dist/src/cli/exec.d.ts.map +1 -0
  53. package/dist/src/cli/exec.js +2077 -0
  54. package/dist/src/cli/exec.js.map +49 -0
  55. package/dist/src/cli/main.d.ts +10 -0
  56. package/dist/src/cli/main.d.ts.map +1 -0
  57. package/dist/src/cli/main.js +2032 -0
  58. package/dist/src/cli/main.js.map +48 -0
  59. package/dist/src/cli/naming.d.ts +12 -0
  60. package/dist/src/cli/naming.d.ts.map +1 -0
  61. package/dist/src/cli/naming.js +216 -0
  62. package/dist/src/cli/naming.js.map +12 -0
  63. package/dist/src/cli/operations.d.ts +3 -0
  64. package/dist/src/cli/operations.d.ts.map +1 -0
  65. package/dist/src/cli/operations.js +103 -0
  66. package/dist/src/cli/operations.js.map +10 -0
  67. package/dist/src/cli/params.d.ts +19 -0
  68. package/dist/src/cli/params.d.ts.map +1 -0
  69. package/dist/src/cli/params.js +79 -0
  70. package/dist/src/cli/params.js.map +12 -0
  71. package/dist/src/cli/pluralize.d.ts +2 -0
  72. package/dist/src/cli/pluralize.d.ts.map +1 -0
  73. package/dist/src/cli/pluralize.js +43 -0
  74. package/dist/src/cli/pluralize.js.map +10 -0
  75. package/dist/src/cli/positional.d.ts +19 -0
  76. package/dist/src/cli/positional.d.ts.map +1 -0
  77. package/dist/src/cli/positional.js +39 -0
  78. package/dist/src/cli/positional.js.map +10 -0
  79. package/dist/src/cli/request-body.d.ts +20 -0
  80. package/dist/src/cli/request-body.d.ts.map +1 -0
  81. package/dist/src/cli/request-body.js +82 -0
  82. package/dist/src/cli/request-body.js.map +12 -0
  83. package/dist/src/cli/runtime/argv.d.ts +3 -0
  84. package/dist/src/cli/runtime/argv.d.ts.map +1 -0
  85. package/dist/src/cli/runtime/argv.js +22 -0
  86. package/dist/src/cli/runtime/argv.js.map +10 -0
  87. package/dist/src/cli/runtime/auth/resolve.d.ts +9 -0
  88. package/dist/src/cli/runtime/auth/resolve.d.ts.map +1 -0
  89. package/dist/src/cli/runtime/auth/resolve.js +38 -0
  90. package/dist/src/cli/runtime/auth/resolve.js.map +10 -0
  91. package/dist/src/cli/runtime/body-flags.d.ts +41 -0
  92. package/dist/src/cli/runtime/body-flags.d.ts.map +1 -0
  93. package/dist/src/cli/runtime/body-flags.js +86 -0
  94. package/dist/src/cli/runtime/body-flags.js.map +10 -0
  95. package/dist/src/cli/runtime/body.d.ts +15 -0
  96. package/dist/src/cli/runtime/body.d.ts.map +1 -0
  97. package/dist/src/cli/runtime/body.js +40 -0
  98. package/dist/src/cli/runtime/body.js.map +11 -0
  99. package/dist/src/cli/runtime/collect.d.ts +2 -0
  100. package/dist/src/cli/runtime/collect.d.ts.map +1 -0
  101. package/dist/src/cli/runtime/collect.js +9 -0
  102. package/dist/src/cli/runtime/collect.js.map +10 -0
  103. package/dist/src/cli/runtime/compat.d.ts +35 -0
  104. package/dist/src/cli/runtime/compat.d.ts.map +1 -0
  105. package/dist/src/cli/runtime/compat.js +62 -0
  106. package/dist/src/cli/runtime/compat.js.map +10 -0
  107. package/dist/src/cli/runtime/context.d.ts +16 -0
  108. package/dist/src/cli/runtime/context.d.ts.map +1 -0
  109. package/dist/src/cli/runtime/context.js +936 -0
  110. package/dist/src/cli/runtime/context.js.map +32 -0
  111. package/dist/src/cli/runtime/execute.d.ts +33 -0
  112. package/dist/src/cli/runtime/execute.d.ts.map +1 -0
  113. package/dist/src/cli/runtime/execute.js +670 -0
  114. package/dist/src/cli/runtime/execute.js.map +22 -0
  115. package/dist/src/cli/runtime/generated.d.ts +14 -0
  116. package/dist/src/cli/runtime/generated.d.ts.map +1 -0
  117. package/dist/src/cli/runtime/generated.js +869 -0
  118. package/dist/src/cli/runtime/generated.js.map +23 -0
  119. package/dist/src/cli/runtime/headers.d.ts +9 -0
  120. package/dist/src/cli/runtime/headers.d.ts.map +1 -0
  121. package/dist/src/cli/runtime/headers.js +36 -0
  122. package/dist/src/cli/runtime/headers.js.map +10 -0
  123. package/dist/src/cli/runtime/index.d.ts +4 -0
  124. package/dist/src/cli/runtime/index.d.ts.map +1 -0
  125. package/dist/src/cli/runtime/index.js +1808 -0
  126. package/dist/src/cli/runtime/index.js.map +46 -0
  127. package/dist/src/cli/runtime/profile/secrets.d.ts +25 -0
  128. package/dist/src/cli/runtime/profile/secrets.d.ts.map +1 -0
  129. package/dist/src/cli/runtime/profile/secrets.js +51 -0
  130. package/dist/src/cli/runtime/profile/secrets.js.map +11 -0
  131. package/dist/src/cli/runtime/profile/store.d.ts +15 -0
  132. package/dist/src/cli/runtime/profile/store.d.ts.map +1 -0
  133. package/dist/src/cli/runtime/profile/store.js +102 -0
  134. package/dist/src/cli/runtime/profile/store.js.map +11 -0
  135. package/dist/src/cli/runtime/request.d.ts +36 -0
  136. package/dist/src/cli/runtime/request.d.ts.map +1 -0
  137. package/dist/src/cli/runtime/request.js +571 -0
  138. package/dist/src/cli/runtime/request.js.map +21 -0
  139. package/dist/src/cli/runtime/server-url.d.ts +8 -0
  140. package/dist/src/cli/runtime/server-url.d.ts.map +1 -0
  141. package/dist/src/cli/runtime/server-url.js +55 -0
  142. package/dist/src/cli/runtime/server-url.js.map +11 -0
  143. package/dist/src/cli/runtime/template.d.ts +5 -0
  144. package/dist/src/cli/runtime/template.d.ts.map +1 -0
  145. package/dist/src/cli/runtime/template.js +29 -0
  146. package/dist/src/cli/runtime/template.js.map +10 -0
  147. package/dist/src/cli/runtime/validate/ajv.d.ts +3 -0
  148. package/dist/src/cli/runtime/validate/ajv.d.ts.map +1 -0
  149. package/dist/src/cli/runtime/validate/ajv.js +17 -0
  150. package/dist/src/cli/runtime/validate/ajv.js.map +10 -0
  151. package/dist/src/cli/runtime/validate/coerce.d.ts +4 -0
  152. package/dist/src/cli/runtime/validate/coerce.d.ts.map +1 -0
  153. package/dist/src/cli/runtime/validate/coerce.js +60 -0
  154. package/dist/src/cli/runtime/validate/coerce.js.map +10 -0
  155. package/dist/src/cli/runtime/validate/error.d.ts +3 -0
  156. package/dist/src/cli/runtime/validate/error.d.ts.map +1 -0
  157. package/dist/src/cli/runtime/validate/error.js +21 -0
  158. package/dist/src/cli/runtime/validate/error.js.map +10 -0
  159. package/dist/src/cli/runtime/validate/index.d.ts +5 -0
  160. package/dist/src/cli/runtime/validate/index.d.ts.map +1 -0
  161. package/dist/src/cli/runtime/validate/index.js +122 -0
  162. package/dist/src/cli/runtime/validate/index.js.map +13 -0
  163. package/dist/src/cli/runtime/validate/schema.d.ts +9 -0
  164. package/dist/src/cli/runtime/validate/schema.d.ts.map +1 -0
  165. package/dist/src/cli/runtime/validate/schema.js +36 -0
  166. package/dist/src/cli/runtime/validate/schema.js.map +10 -0
  167. package/dist/src/cli/schema-shape.d.ts +5 -0
  168. package/dist/src/cli/schema-shape.d.ts.map +1 -0
  169. package/dist/src/cli/schema-shape.js +41 -0
  170. package/dist/src/cli/schema-shape.js.map +10 -0
  171. package/dist/src/cli/schema.d.ts +30 -0
  172. package/dist/src/cli/schema.d.ts.map +1 -0
  173. package/dist/src/cli/schema.js +38 -0
  174. package/dist/src/cli/schema.js.map +10 -0
  175. package/dist/src/cli/server.d.ts +16 -0
  176. package/dist/src/cli/server.d.ts.map +1 -0
  177. package/dist/src/cli/server.js +64 -0
  178. package/dist/src/cli/server.js.map +11 -0
  179. package/dist/src/cli/spec-id.d.ts +3 -0
  180. package/dist/src/cli/spec-id.d.ts.map +1 -0
  181. package/dist/src/cli/spec-id.js +21 -0
  182. package/dist/src/cli/spec-id.js.map +11 -0
  183. package/dist/src/cli/spec-loader.d.ts +7 -0
  184. package/dist/src/cli/spec-loader.d.ts.map +1 -0
  185. package/dist/src/cli/spec-loader.js +110 -0
  186. package/dist/src/cli/spec-loader.js.map +15 -0
  187. package/dist/src/cli/stable-json.d.ts +4 -0
  188. package/dist/src/cli/stable-json.d.ts.map +1 -0
  189. package/dist/src/cli/stable-json.js +35 -0
  190. package/dist/src/cli/stable-json.js.map +10 -0
  191. package/dist/src/cli/strings.d.ts +3 -0
  192. package/dist/src/cli/strings.d.ts.map +1 -0
  193. package/dist/src/cli/strings.js +16 -0
  194. package/dist/src/cli/strings.js.map +10 -0
  195. package/dist/src/cli/types.d.ts +53 -0
  196. package/dist/src/cli/types.d.ts.map +1 -0
  197. package/dist/src/cli/types.js +9 -0
  198. package/dist/src/cli/types.js.map +10 -0
  199. package/package.json +32 -4
  200. package/src/ai/tools.ts +211 -0
  201. package/src/cli/main.ts +3 -2
  202. package/src/cli/runtime/body.ts +3 -3
  203. package/src/cli/runtime/compat.ts +89 -0
  204. package/src/cli/runtime/execute.ts +98 -39
  205. package/src/cli/runtime/generated.ts +111 -4
  206. package/src/cli/runtime/profile/secrets.ts +42 -1
  207. package/src/cli/runtime/profile/store.ts +15 -13
  208. package/src/cli/runtime/request.ts +12 -4
  209. package/src/cli/spec-loader.ts +2 -2
package/bin/specli.js ADDED
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+
3
+ // Runtime-aware CLI entry point
4
+ // - In Bun: runs cli.ts directly (TypeScript, full features including compile)
5
+ // - In Node.js: runs dist/cli.js (compiled JS, exec only)
6
+
7
+ import { dirname, join } from "node:path";
8
+ import { fileURLToPath } from "node:url";
9
+
10
+ const __dirname = dirname(fileURLToPath(import.meta.url));
11
+ const root = join(__dirname, "..");
12
+
13
+ if (typeof globalThis.Bun !== "undefined") {
14
+ // Running in Bun - import TypeScript directly
15
+ await import(join(root, "cli.ts"));
16
+ } else {
17
+ // Running in Node.js - use compiled JS
18
+ await import(join(root, "dist", "cli.js"));
19
+ }
package/cli.ts CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env bun
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { Command } from "commander";
4
4
 
@@ -11,7 +11,7 @@ const program = new Command();
11
11
  program.name("specli").description("Generate CLIs from OpenAPI specs");
12
12
 
13
13
  // ─────────────────────────────────────────────────────────────
14
- // exec command - runs spec dynamically
14
+ // exec command - runs spec dynamically (works in both Bun and Node.js)
15
15
  // ─────────────────────────────────────────────────────────────
16
16
  program
17
17
  .command("exec <spec>")
@@ -39,11 +39,13 @@ program
39
39
  });
40
40
 
41
41
  // ─────────────────────────────────────────────────────────────
42
- // compile command - creates standalone binary
42
+ // compile command - creates standalone binary (Bun only)
43
43
  // ─────────────────────────────────────────────────────────────
44
44
  program
45
45
  .command("compile <spec>")
46
- .description("Compile an OpenAPI spec into a standalone CLI binary")
46
+ .description(
47
+ "Compile an OpenAPI spec into a standalone CLI binary (requires Bun)",
48
+ )
47
49
  .option("--name <name>", "Binary name (default: derived from spec)")
48
50
  .option("--outfile <path>", "Output path (default: ./dist/<name>)")
49
51
  .option("--target <target>", "Bun compile target (e.g. bun-linux-x64)")
@@ -61,6 +63,13 @@ program
61
63
  )
62
64
  .option("--auth <scheme>", "Default auth scheme (embedded)")
63
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
+ }
64
73
  const { compileCommand } = await import("./src/cli/compile.ts");
65
74
  await compileCommand(spec, options);
66
75
  });
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":""}