incur 0.4.7 → 0.4.9

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 (94) hide show
  1. package/dist/Cli.d.ts +65 -19
  2. package/dist/Cli.d.ts.map +1 -1
  3. package/dist/Cli.js +294 -66
  4. package/dist/Cli.js.map +1 -1
  5. package/dist/Completions.d.ts +2 -1
  6. package/dist/Completions.d.ts.map +1 -1
  7. package/dist/Completions.js +52 -13
  8. package/dist/Completions.js.map +1 -1
  9. package/dist/Formatter.d.ts.map +1 -1
  10. package/dist/Formatter.js +6 -5
  11. package/dist/Formatter.js.map +1 -1
  12. package/dist/Help.d.ts +5 -0
  13. package/dist/Help.d.ts.map +1 -1
  14. package/dist/Help.js +19 -5
  15. package/dist/Help.js.map +1 -1
  16. package/dist/Mcp.d.ts +21 -0
  17. package/dist/Mcp.d.ts.map +1 -1
  18. package/dist/Mcp.js +25 -8
  19. package/dist/Mcp.js.map +1 -1
  20. package/dist/Openapi.d.ts +14 -0
  21. package/dist/Openapi.d.ts.map +1 -1
  22. package/dist/Openapi.js +85 -1
  23. package/dist/Openapi.js.map +1 -1
  24. package/dist/Parser.d.ts +14 -0
  25. package/dist/Parser.d.ts.map +1 -1
  26. package/dist/Parser.js +127 -1
  27. package/dist/Parser.js.map +1 -1
  28. package/dist/Skill.d.ts.map +1 -1
  29. package/dist/Skill.js +5 -2
  30. package/dist/Skill.js.map +1 -1
  31. package/dist/Skillgen.d.ts.map +1 -1
  32. package/dist/Skillgen.js +4 -38
  33. package/dist/Skillgen.js.map +1 -1
  34. package/dist/SyncMcp.d.ts.map +1 -1
  35. package/dist/SyncMcp.js +75 -8
  36. package/dist/SyncMcp.js.map +1 -1
  37. package/dist/SyncSkills.d.ts +9 -0
  38. package/dist/SyncSkills.d.ts.map +1 -1
  39. package/dist/SyncSkills.js +13 -74
  40. package/dist/SyncSkills.js.map +1 -1
  41. package/dist/bin.d.ts +1 -1
  42. package/dist/bin.d.ts.map +1 -1
  43. package/dist/internal/command.d.ts +2 -0
  44. package/dist/internal/command.d.ts.map +1 -1
  45. package/dist/internal/command.js +6 -5
  46. package/dist/internal/command.js.map +1 -1
  47. package/dist/internal/cta.d.ts +22 -0
  48. package/dist/internal/cta.d.ts.map +1 -0
  49. package/dist/internal/cta.js +25 -0
  50. package/dist/internal/cta.js.map +1 -0
  51. package/dist/internal/json.d.ts +5 -0
  52. package/dist/internal/json.d.ts.map +1 -0
  53. package/dist/internal/json.js +13 -0
  54. package/dist/internal/json.js.map +1 -0
  55. package/dist/internal/yaml.d.ts +12 -0
  56. package/dist/internal/yaml.d.ts.map +1 -0
  57. package/dist/internal/yaml.js +20 -0
  58. package/dist/internal/yaml.js.map +1 -0
  59. package/dist/middleware.d.ts +8 -4
  60. package/dist/middleware.d.ts.map +1 -1
  61. package/dist/middleware.js +1 -1
  62. package/dist/middleware.js.map +1 -1
  63. package/package.json +1 -1
  64. package/src/Cli.test-d.ts +71 -0
  65. package/src/Cli.test.ts +1164 -65
  66. package/src/Cli.ts +456 -101
  67. package/src/Completions.test.ts +84 -0
  68. package/src/Completions.ts +48 -9
  69. package/src/Formatter.test.ts +17 -0
  70. package/src/Formatter.ts +7 -5
  71. package/src/Help.test.ts +31 -0
  72. package/src/Help.ts +42 -4
  73. package/src/Mcp.test.ts +193 -0
  74. package/src/Mcp.ts +49 -8
  75. package/src/Openapi.test.ts +179 -0
  76. package/src/Openapi.ts +122 -2
  77. package/src/Parser.test.ts +173 -0
  78. package/src/Parser.ts +132 -1
  79. package/src/Skill.test.ts +6 -0
  80. package/src/Skill.ts +8 -5
  81. package/src/Skillgen.test.ts +55 -6
  82. package/src/Skillgen.ts +9 -35
  83. package/src/SyncMcp.test.ts +89 -0
  84. package/src/SyncMcp.ts +72 -8
  85. package/src/SyncSkills.test.ts +78 -1
  86. package/src/SyncSkills.ts +20 -78
  87. package/src/bun-compile.test.ts +5 -0
  88. package/src/e2e.test.ts +162 -8
  89. package/src/internal/command.ts +8 -4
  90. package/src/internal/cta.ts +58 -0
  91. package/src/internal/json.ts +16 -0
  92. package/src/internal/yaml.ts +23 -0
  93. package/src/lazy-imports.test.ts +94 -0
  94. package/src/middleware.ts +12 -3
package/src/middleware.ts CHANGED
@@ -10,11 +10,16 @@ type InferVars<vars extends z.ZodObject<any> | undefined> =
10
10
  type InferEnv<env extends z.ZodObject<any> | undefined> =
11
11
  env extends z.ZodObject<any> ? z.output<env> : {}
12
12
 
13
+ /** @internal Infers the output type of a globals schema, or `{}` if undefined. */
14
+ type InferGlobals<globals extends z.ZodObject<any> | undefined> =
15
+ globals extends z.ZodObject<any> ? z.output<globals> : {}
16
+
13
17
  /** Middleware handler that runs before/after command execution. */
14
18
  export type Handler<
15
19
  vars extends z.ZodObject<any> | undefined = undefined,
16
20
  env extends z.ZodObject<any> | undefined = undefined,
17
- > = (context: Context<vars, env>, next: () => Promise<void>) => Promise<void> | void
21
+ globals extends z.ZodObject<any> | undefined = undefined,
22
+ > = (context: Context<vars, env, globals>, next: () => Promise<void>) => Promise<void> | void
18
23
 
19
24
  /** CTA block for middleware error/ok responses. */
20
25
  type CtaBlock = {
@@ -28,6 +33,7 @@ type CtaBlock = {
28
33
  export type Context<
29
34
  vars extends z.ZodObject<any> | undefined = undefined,
30
35
  env extends z.ZodObject<any> | undefined = undefined,
36
+ globals extends z.ZodObject<any> | undefined = undefined,
31
37
  > = {
32
38
  /** Whether the consumer is an agent (stdout is not a TTY). */
33
39
  agent: boolean
@@ -49,6 +55,8 @@ export type Context<
49
55
  format: Formatter.Format
50
56
  /** Whether the user explicitly passed `--format` or `--json`. */
51
57
  formatExplicit: boolean
58
+ /** Parsed global options from the CLI-level globals schema. */
59
+ globals: InferGlobals<globals>
52
60
  /** The CLI name. */
53
61
  name: string
54
62
  /** Set a typed variable for downstream middleware and handlers. */
@@ -59,10 +67,11 @@ export type Context<
59
67
  version: string | undefined
60
68
  }
61
69
 
62
- /** Creates a strictly typed middleware handler. Pass the vars schema as a generic for typed `c.set()` and `c.var`, and the env schema for typed `c.env`. */
70
+ /** Creates a strictly typed middleware handler. Pass the vars schema as a generic for typed `c.set()` and `c.var`, the env schema for typed `c.env`, and the globals schema for typed `c.globals`. */
63
71
  export default function middleware<
64
72
  const vars extends z.ZodObject<any> | undefined = undefined,
65
73
  const env extends z.ZodObject<any> | undefined = undefined,
66
- >(handler: Handler<vars, env>): Handler<vars, env> {
74
+ const globals extends z.ZodObject<any> | undefined = undefined,
75
+ >(handler: Handler<vars, env, globals>): Handler<vars, env, globals> {
67
76
  return handler
68
77
  }