incur 0.1.17 → 0.2.1

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 (52) hide show
  1. package/README.md +204 -9
  2. package/SKILL.md +173 -0
  3. package/dist/Cli.d.ts +39 -6
  4. package/dist/Cli.d.ts.map +1 -1
  5. package/dist/Cli.js +536 -43
  6. package/dist/Cli.js.map +1 -1
  7. package/dist/Errors.d.ts +4 -0
  8. package/dist/Errors.d.ts.map +1 -1
  9. package/dist/Errors.js +3 -0
  10. package/dist/Errors.js.map +1 -1
  11. package/dist/Fetch.d.ts +26 -0
  12. package/dist/Fetch.d.ts.map +1 -0
  13. package/dist/Fetch.js +150 -0
  14. package/dist/Fetch.js.map +1 -0
  15. package/dist/Filter.d.ts +14 -0
  16. package/dist/Filter.d.ts.map +1 -0
  17. package/dist/Filter.js +134 -0
  18. package/dist/Filter.js.map +1 -0
  19. package/dist/Help.js +2 -0
  20. package/dist/Help.js.map +1 -1
  21. package/dist/Mcp.d.ts +26 -0
  22. package/dist/Mcp.d.ts.map +1 -1
  23. package/dist/Mcp.js +2 -2
  24. package/dist/Mcp.js.map +1 -1
  25. package/dist/Openapi.d.ts +20 -0
  26. package/dist/Openapi.d.ts.map +1 -0
  27. package/dist/Openapi.js +136 -0
  28. package/dist/Openapi.js.map +1 -0
  29. package/dist/index.d.ts +3 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +3 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/middleware.d.ts +8 -2
  34. package/dist/middleware.d.ts.map +1 -1
  35. package/dist/middleware.js.map +1 -1
  36. package/package.json +4 -1
  37. package/src/Cli.test-d.ts +27 -2
  38. package/src/Cli.test.ts +1007 -0
  39. package/src/Cli.ts +676 -47
  40. package/src/Errors.ts +5 -0
  41. package/src/Fetch.test.ts +274 -0
  42. package/src/Fetch.ts +170 -0
  43. package/src/Filter.test.ts +237 -0
  44. package/src/Filter.ts +139 -0
  45. package/src/Help.test.ts +14 -0
  46. package/src/Help.ts +2 -0
  47. package/src/Mcp.ts +3 -3
  48. package/src/Openapi.test.ts +320 -0
  49. package/src/Openapi.ts +196 -0
  50. package/src/e2e.test.ts +778 -0
  51. package/src/index.ts +3 -0
  52. package/src/middleware.ts +9 -2
package/src/index.ts CHANGED
@@ -4,9 +4,12 @@ export * as Completions from './Completions.js'
4
4
  export { default as middleware } from './middleware.js'
5
5
  export type { Handler as MiddlewareHandler, Context as MiddlewareContext } from './middleware.js'
6
6
  export * as Errors from './Errors.js'
7
+ export * as Filter from './Filter.js'
7
8
  export * as Formatter from './Formatter.js'
8
9
  export * as Help from './Help.js'
9
10
  export * as Mcp from './Mcp.js'
11
+ export * as Fetch from './Fetch.js'
12
+ export * as Openapi from './Openapi.js'
10
13
  export * as Parser from './Parser.js'
11
14
  export type { Register } from './Register.js'
12
15
  export * as Schema from './Schema.js'
package/src/middleware.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import type { z } from 'zod'
2
2
 
3
+ import type * as Formatter from './Formatter.js'
4
+
3
5
  /** @internal Infers the output type of a vars schema, or `{}` if undefined. */
4
6
  type InferVars<vars extends z.ZodObject<any> | undefined> =
5
7
  vars extends z.ZodObject<any> ? z.output<vars> : {}
@@ -31,17 +33,22 @@ export type Context<
31
33
  agent: boolean
32
34
  /** The resolved command path. */
33
35
  command: string
36
+ /** Parsed environment variables from the CLI-level env schema. */
37
+ env: InferEnv<env>
34
38
  /** Return an error result, short-circuiting the middleware chain. */
35
39
  error: (options: {
36
40
  code: string
37
41
  cta?: CtaBlock | undefined
42
+ exitCode?: number | undefined
38
43
  message: string
39
44
  retryable?: boolean | undefined
40
45
  }) => never
46
+ /** The resolved output format (e.g. `'toon'`, `'json'`, `'jsonl'`). */
47
+ format: Formatter.Format
48
+ /** Whether the user explicitly passed `--format` or `--json`. */
49
+ formatExplicit: boolean
41
50
  /** The CLI name. */
42
51
  name: string
43
- /** Parsed environment variables from the CLI-level env schema. */
44
- env: InferEnv<env>
45
52
  /** Set a typed variable for downstream middleware and handlers. */
46
53
  set<key extends string & keyof InferVars<vars>>(key: key, value: InferVars<vars>[key]): void
47
54
  /** Variables set by upstream middleware. */