incur 0.1.16 → 0.2.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.
@@ -0,0 +1,26 @@
1
+ /** Structured input parsed from curl-style argv. */
2
+ export type FetchInput = {
3
+ body: string | undefined;
4
+ headers: Headers;
5
+ method: string;
6
+ path: string;
7
+ query: URLSearchParams;
8
+ };
9
+ /** Structured output from a fetch Response. */
10
+ export type FetchOutput = {
11
+ data: unknown;
12
+ headers: Headers;
13
+ ok: boolean;
14
+ status: number;
15
+ };
16
+ /** Parses curl-style argv into a structured fetch input. */
17
+ export declare function parseArgv(argv: string[]): FetchInput;
18
+ /** Constructs a standard Request from a FetchInput. */
19
+ export declare function buildRequest(input: FetchInput): Request;
20
+ /** Returns true if the response body is a stream that should be consumed incrementally. */
21
+ export declare function isStreamingResponse(response: Response): boolean;
22
+ /** Parses a streaming response body as an async generator of parsed NDJSON chunks. */
23
+ export declare function parseStreamingResponse(response: Response): AsyncGenerator<unknown, void, unknown>;
24
+ /** Parses a fetch Response into structured output. */
25
+ export declare function parseResponse(response: Response): Promise<FetchOutput>;
26
+ //# sourceMappingURL=Fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fetch.d.ts","sourceRoot":"","sources":["../src/Fetch.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,+CAA+C;AAC/C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAMD,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAoEpD;AAED,uDAAuD;AACvD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAgBvD;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAE/D;AAED,sFAAsF;AACtF,wBAAuB,sBAAsB,CAC3C,QAAQ,EAAE,QAAQ,GACjB,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAgCxC;AAED,sDAAsD;AACtD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAe5E"}
package/dist/Fetch.js ADDED
@@ -0,0 +1,150 @@
1
+ /** Reserved flags consumed by the fetch gateway (not forwarded as query params). */
2
+ const reservedFlags = new Set(['method', 'body', 'data', 'header']);
3
+ const reservedShort = { X: 'method', d: 'data', H: 'header' };
4
+ /** Parses curl-style argv into a structured fetch input. */
5
+ export function parseArgv(argv) {
6
+ const segments = [];
7
+ const headers = new Headers();
8
+ const query = new URLSearchParams();
9
+ let method;
10
+ let body;
11
+ let i = 0;
12
+ while (i < argv.length) {
13
+ const token = argv[i];
14
+ if (token.startsWith('--')) {
15
+ const eqIdx = token.indexOf('=');
16
+ if (eqIdx !== -1) {
17
+ // --key=value
18
+ const key = token.slice(2, eqIdx);
19
+ const value = token.slice(eqIdx + 1);
20
+ if (reservedFlags.has(key))
21
+ handleReserved(key, value);
22
+ else
23
+ query.set(key, value);
24
+ i++;
25
+ }
26
+ else {
27
+ const key = token.slice(2);
28
+ const value = argv[i + 1];
29
+ if (reservedFlags.has(key)) {
30
+ handleReserved(key, value);
31
+ i += 2;
32
+ }
33
+ else {
34
+ query.set(key, value);
35
+ i += 2;
36
+ }
37
+ }
38
+ }
39
+ else if (token.startsWith('-') && token.length === 2) {
40
+ const short = token[1];
41
+ const mapped = reservedShort[short];
42
+ const value = argv[i + 1];
43
+ if (mapped) {
44
+ handleReserved(mapped, value);
45
+ i += 2;
46
+ }
47
+ else {
48
+ // Unknown short flag — skip (shouldn't happen in fetch context)
49
+ i += 2;
50
+ }
51
+ }
52
+ else {
53
+ segments.push(token);
54
+ i++;
55
+ }
56
+ }
57
+ function handleReserved(key, value) {
58
+ if (key === 'method')
59
+ method = value.toUpperCase();
60
+ else if (key === 'body' || key === 'data')
61
+ body = value;
62
+ else if (key === 'header') {
63
+ const colonIdx = value.indexOf(':');
64
+ if (colonIdx !== -1) {
65
+ const name = value.slice(0, colonIdx).trim();
66
+ const val = value.slice(colonIdx + 1).trim();
67
+ headers.set(name, val);
68
+ }
69
+ }
70
+ }
71
+ return {
72
+ path: segments.length > 0 ? `/${segments.join('/')}` : '/',
73
+ method: method ?? (body !== undefined ? 'POST' : 'GET'),
74
+ headers,
75
+ body,
76
+ query,
77
+ };
78
+ }
79
+ /** Constructs a standard Request from a FetchInput. */
80
+ export function buildRequest(input) {
81
+ const url = new URL(input.path, 'http://localhost');
82
+ input.query.forEach((value, key) => url.searchParams.set(key, value));
83
+ const init = {
84
+ method: input.method,
85
+ headers: input.headers,
86
+ };
87
+ if (input.body !== undefined) {
88
+ init.body = input.body;
89
+ if (!input.headers.has('content-type'))
90
+ input.headers.set('content-type', 'application/json');
91
+ }
92
+ return new Request(url.toString(), init);
93
+ }
94
+ /** Returns true if the response body is a stream that should be consumed incrementally. */
95
+ export function isStreamingResponse(response) {
96
+ return response.body !== null && response.headers.get('content-type') === 'application/x-ndjson';
97
+ }
98
+ /** Parses a streaming response body as an async generator of parsed NDJSON chunks. */
99
+ export async function* parseStreamingResponse(response) {
100
+ const reader = response.body.getReader();
101
+ const decoder = new TextDecoder();
102
+ let buffer = '';
103
+ while (true) {
104
+ const { value, done } = await reader.read();
105
+ if (done)
106
+ break;
107
+ buffer += decoder.decode(value, { stream: true });
108
+ let newlineIdx;
109
+ while ((newlineIdx = buffer.indexOf('\n')) !== -1) {
110
+ const line = buffer.slice(0, newlineIdx).trim();
111
+ buffer = buffer.slice(newlineIdx + 1);
112
+ if (line.length === 0)
113
+ continue;
114
+ try {
115
+ yield JSON.parse(line);
116
+ }
117
+ catch {
118
+ yield line;
119
+ }
120
+ }
121
+ }
122
+ // flush remaining buffer
123
+ const remaining = buffer.trim();
124
+ if (remaining.length > 0) {
125
+ try {
126
+ yield JSON.parse(remaining);
127
+ }
128
+ catch {
129
+ yield remaining;
130
+ }
131
+ }
132
+ }
133
+ /** Parses a fetch Response into structured output. */
134
+ export async function parseResponse(response) {
135
+ const text = await response.text();
136
+ let data;
137
+ try {
138
+ data = JSON.parse(text);
139
+ }
140
+ catch {
141
+ data = text;
142
+ }
143
+ return {
144
+ ok: response.ok,
145
+ status: response.status,
146
+ data,
147
+ headers: response.headers,
148
+ };
149
+ }
150
+ //# sourceMappingURL=Fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fetch.js","sourceRoot":"","sources":["../src/Fetch.ts"],"names":[],"mappings":"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"}
package/dist/Help.d.ts CHANGED
@@ -3,6 +3,8 @@ import { z } from 'zod';
3
3
  export declare function formatRoot(name: string, options?: formatRoot.Options): string;
4
4
  export declare namespace formatRoot {
5
5
  type Options = {
6
+ /** Alternative binary names for this CLI. */
7
+ aliases?: string[] | undefined;
6
8
  /** Commands to list. */
7
9
  commands?: {
8
10
  name: string;
@@ -20,6 +22,8 @@ export declare namespace formatCommand {
20
22
  type Options = {
21
23
  /** Map of option names to single-char aliases. */
22
24
  alias?: Record<string, string> | undefined;
25
+ /** Alternative binary names for this CLI. */
26
+ aliases?: string[] | undefined;
23
27
  /** Zod schema for positional arguments. */
24
28
  args?: z.ZodObject<any> | undefined;
25
29
  /** Subcommands to list (for CLIs with both a root handler and subcommands). */
@@ -1 +1 @@
1
- {"version":3,"file":"Help.d.ts","sourceRoot":"","sources":["../src/Help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,UAAU,CAAC,OAAY,GAAG,MAAM,CA4BjF;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAK,OAAO,GAAG;QACb,wBAAwB;QACxB,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,EAAE,GAAG,SAAS,CAAA;QAC3E,+CAA+C;QAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,mDAAmD;QACnD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1B,0BAA0B;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,KAAK,OAAO,GAAG;QACb,kDAAkD;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QAC1C,2CAA2C;QAC3C,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACnC,+EAA+E;QAC/E,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,EAAE,GAAG,SAAS,CAAA;QAC3E,oDAAoD;QACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,4CAA4C;QAC5C,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QAClC,0FAA0F;QAC1F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;QAC1D,gCAAgC;QAChC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,GAAG,SAAS,CAAA;QAClE,0EAA0E;QAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,0CAA0C;QAC1C,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACtC,mDAAmD;QACnD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1B,kCAAkC;QAClC,KAAK,CAAC,EACF;YACE,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;YAChD,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;YACnD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAC5B,EAAE,GACH,SAAS,CAAA;QACb,0BAA0B;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAa,CAAC,OAAY,GAAG,MAAM,CAiIvF"}
1
+ {"version":3,"file":"Help.d.ts","sourceRoot":"","sources":["../src/Help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,2DAA2D;AAC3D,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,UAAU,CAAC,OAAY,GAAG,MAAM,CA6BjF;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAK,OAAO,GAAG;QACb,6CAA6C;QAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;QAC9B,wBAAwB;QACxB,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,EAAE,GAAG,SAAS,CAAA;QAC3E,+CAA+C;QAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,mDAAmD;QACnD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1B,0BAA0B;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,KAAK,OAAO,GAAG;QACb,kDAAkD;QAClD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;QAC1C,6CAA6C;QAC7C,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;QAC9B,2CAA2C;QAC3C,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACnC,+EAA+E;QAC/E,QAAQ,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAAE,EAAE,GAAG,SAAS,CAAA;QAC3E,oDAAoD;QACpD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,4CAA4C;QAC5C,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QAClC,0FAA0F;QAC1F,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;QAC1D,gCAAgC;QAChC,QAAQ,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAA;SAAE,EAAE,GAAG,SAAS,CAAA;QAClE,0EAA0E;QAC1E,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,0CAA0C;QAC1C,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACtC,mDAAmD;QACnD,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC1B,kCAAkC;QAClC,KAAK,CAAC,EACF;YACE,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;YAChD,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;YACnD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;YAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;SAC5B,EAAE,GACH,SAAS,CAAA;QACb,0BAA0B;QAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC7B,CAAA;CACF;AAED,4CAA4C;AAC5C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAa,CAAC,OAAY,GAAG,MAAM,CAmIvF"}
package/dist/Help.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import { z } from 'zod';
2
2
  /** Formats help text for a router CLI or command group. */
3
3
  export function formatRoot(name, options = {}) {
4
- const { description, version, commands = [], root = false } = options;
4
+ const { aliases, description, version, commands = [], root = false } = options;
5
5
  const lines = [];
6
6
  // Header
7
- lines.push(description ? `${name} \u2014 ${description}` : name);
8
- if (version)
9
- lines.push(`v${version}`);
7
+ const title = version ? `${name}@${version}` : name;
8
+ lines.push(description ? `${title} \u2014 ${description}` : title);
9
+ if (aliases?.length)
10
+ lines.push(`Aliases: ${aliases.join(', ')}`);
10
11
  lines.push('');
11
12
  // Synopsis
12
13
  lines.push(`Usage: ${name} <command>`);
@@ -29,12 +30,13 @@ export function formatRoot(name, options = {}) {
29
30
  }
30
31
  /** Formats help text for a leaf command. */
31
32
  export function formatCommand(name, options = {}) {
32
- const { alias, description, version, args, env, envSource, hint, root = false, options: opts, examples, } = options;
33
+ const { alias, aliases, description, version, args, env, envSource, hint, root = false, options: opts, examples, } = options;
33
34
  const lines = [];
34
35
  // Header
35
- lines.push(description ? `${name} \u2014 ${description}` : name);
36
- if (version)
37
- lines.push(`v${version}`);
36
+ const title = version ? `${name}@${version}` : name;
37
+ lines.push(description ? `${title} \u2014 ${description}` : title);
38
+ if (aliases?.length)
39
+ lines.push(`Aliases: ${aliases.join(', ')}`);
38
40
  lines.push('');
39
41
  // Synopsis
40
42
  const { usage } = options;
@@ -100,7 +102,7 @@ export function formatCommand(name, options = {}) {
100
102
  for (const ex of examples) {
101
103
  const cmd = ex.command ? `$ ${name} ${ex.command}` : `$ ${name}`;
102
104
  if (ex.description)
103
- lines.push(` ${cmd}${' '.repeat(maxLen - cmd.length)} ${ex.description}`);
105
+ lines.push(` ${cmd}${' '.repeat(maxLen - cmd.length)} # ${ex.description}`);
104
106
  else
105
107
  lines.push(` ${cmd}`);
106
108
  }
package/dist/Help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Help.js","sourceRoot":"","sources":["../src/Help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Help.js","sourceRoot":"","sources":["../src/Help.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ /** A minimal OpenAPI 3.x spec shape. Accepts both hand-written specs and generated ones (e.g. from `@hono/zod-openapi`). */
3
+ export type OpenAPISpec = {
4
+ paths?: {} | undefined;
5
+ };
6
+ /** A fetch handler. */
7
+ type FetchHandler = (req: Request) => Response | Promise<Response>;
8
+ /** A generated command entry compatible with incur's internal CommandEntry. */
9
+ type GeneratedCommand = {
10
+ args?: z.ZodObject<any> | undefined;
11
+ description?: string | undefined;
12
+ options?: z.ZodObject<any> | undefined;
13
+ run: (context: any) => any;
14
+ };
15
+ /** Generates incur command entries from an OpenAPI spec. Resolves all `$ref` pointers. */
16
+ export declare function generateCommands(spec: OpenAPISpec, fetch: FetchHandler, options?: {
17
+ basePath?: string | undefined;
18
+ }): Promise<Map<string, GeneratedCommand>>;
19
+ export {};
20
+ //# sourceMappingURL=Openapi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Openapi.d.ts","sourceRoot":"","sources":["../src/Openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,4HAA4H;AAC5H,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,CAAC,EAAE,EAAE,GAAG,SAAS,CAAA;CAAE,CAAA;AAyBpD,uBAAuB;AACvB,KAAK,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAElE,+EAA+E;AAC/E,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;IACtC,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAA;CAC3B,CAAA;AAED,0FAA0F;AAC1F,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAO,GAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAyDxC"}
@@ -0,0 +1,136 @@
1
+ import { dereference } from '@readme/openapi-parser';
2
+ import { z } from 'zod';
3
+ import * as Fetch from './Fetch.js';
4
+ /** Generates incur command entries from an OpenAPI spec. Resolves all `$ref` pointers. */
5
+ export async function generateCommands(spec, fetch, options = {}) {
6
+ const resolved = await dereference(structuredClone(spec));
7
+ const commands = new Map();
8
+ const paths = (resolved.paths ?? {});
9
+ for (const [path, methods] of Object.entries(paths)) {
10
+ for (const [method, operation] of Object.entries(methods)) {
11
+ if (method.startsWith('x-'))
12
+ continue;
13
+ const op = operation;
14
+ const name = op.operationId ?? `${method}_${path.replace(/[/{}]/g, '_')}`;
15
+ const httpMethod = method.toUpperCase();
16
+ const pathParams = (op.parameters ?? []).filter((p) => p.in === 'path');
17
+ const queryParams = (op.parameters ?? []).filter((p) => p.in === 'query');
18
+ const bodySchema = op.requestBody?.content?.['application/json']?.schema;
19
+ const bodyProps = (bodySchema?.properties ?? {});
20
+ const bodyRequired = new Set(bodySchema?.required ?? []);
21
+ // Build args Zod schema from path params
22
+ let argsSchema;
23
+ if (pathParams.length > 0) {
24
+ const shape = {};
25
+ for (const p of pathParams) {
26
+ let zodType = p.schema ? toZod(p.schema) : z.string();
27
+ if (p.description)
28
+ zodType = zodType.describe(p.description);
29
+ // Path params need coercion from string argv
30
+ shape[p.name] = coerceIfNeeded(zodType);
31
+ }
32
+ argsSchema = z.object(shape);
33
+ }
34
+ // Build options Zod schema from query params + body properties
35
+ const optShape = {};
36
+ for (const p of queryParams) {
37
+ let zodType = p.schema ? toZod(p.schema) : z.string();
38
+ if (!p.required)
39
+ zodType = zodType.optional();
40
+ if (p.description)
41
+ zodType = zodType.describe(p.description);
42
+ optShape[p.name] = coerceIfNeeded(zodType);
43
+ }
44
+ for (const [key, schema] of Object.entries(bodyProps)) {
45
+ let zodType = toZod(schema);
46
+ if (!bodyRequired.has(key))
47
+ zodType = zodType.optional();
48
+ optShape[key] = zodType;
49
+ }
50
+ const optionsSchema = Object.keys(optShape).length > 0 ? z.object(optShape) : undefined;
51
+ commands.set(name, {
52
+ description: op.summary ?? op.description,
53
+ args: argsSchema,
54
+ options: optionsSchema,
55
+ run: createHandler({ basePath: options.basePath, fetch, httpMethod, path, pathParams, queryParams, bodyProps }),
56
+ });
57
+ }
58
+ }
59
+ return commands;
60
+ }
61
+ function createHandler(config) {
62
+ return async (context) => {
63
+ const { args = {}, options = {} } = context;
64
+ // Build URL path with interpolated path params
65
+ let urlPath = (config.basePath ?? '') + config.path;
66
+ for (const p of config.pathParams) {
67
+ const value = args[p.name];
68
+ if (value !== undefined)
69
+ urlPath = urlPath.replace(`{${p.name}}`, String(value));
70
+ }
71
+ // Build query string from query params
72
+ const query = new URLSearchParams();
73
+ for (const p of config.queryParams) {
74
+ const value = options[p.name];
75
+ if (value !== undefined)
76
+ query.set(p.name, String(value));
77
+ }
78
+ // Build body from body properties
79
+ let body;
80
+ const bodyKeys = Object.keys(config.bodyProps);
81
+ if (bodyKeys.length > 0) {
82
+ const bodyObj = {};
83
+ for (const key of bodyKeys)
84
+ if (options[key] !== undefined)
85
+ bodyObj[key] = options[key];
86
+ if (Object.keys(bodyObj).length > 0)
87
+ body = JSON.stringify(bodyObj);
88
+ }
89
+ const input = {
90
+ path: urlPath,
91
+ method: config.httpMethod,
92
+ headers: new Headers(),
93
+ body,
94
+ query,
95
+ };
96
+ if (body)
97
+ input.headers.set('content-type', 'application/json');
98
+ const request = Fetch.buildRequest(input);
99
+ const response = await config.fetch(request);
100
+ const output = await Fetch.parseResponse(response);
101
+ if (!output.ok)
102
+ return context.error({
103
+ code: `HTTP_${output.status}`,
104
+ message: typeof output.data === 'object' && output.data !== null && 'message' in output.data
105
+ ? String(output.data.message)
106
+ : typeof output.data === 'string'
107
+ ? output.data
108
+ : `HTTP ${output.status}`,
109
+ });
110
+ return output.data;
111
+ };
112
+ }
113
+ /** Converts a JSON Schema object to a Zod schema. */
114
+ function toZod(schema) {
115
+ return z.fromJSONSchema(schema);
116
+ }
117
+ /** Wraps a Zod schema with coercion if the base type is number or boolean (argv is always strings). */
118
+ function coerceIfNeeded(schema) {
119
+ const isOptional = schema instanceof z.ZodOptional;
120
+ const inner = isOptional ? schema.unwrap() : schema;
121
+ // Direct number/boolean
122
+ if (inner instanceof z.ZodNumber)
123
+ return isOptional ? z.coerce.number().optional() : z.coerce.number();
124
+ if (inner instanceof z.ZodBoolean)
125
+ return isOptional ? z.coerce.boolean().optional() : z.coerce.boolean();
126
+ // Union containing number (e.g. type: ["number", "null"] from OpenAPI 3.1)
127
+ if (inner instanceof z.ZodUnion) {
128
+ const options = inner._zod?.def?.options;
129
+ if (options?.some((o) => o instanceof z.ZodNumber))
130
+ return isOptional ? z.coerce.number().optional() : z.coerce.number();
131
+ if (options?.some((o) => o instanceof z.ZodBoolean))
132
+ return isOptional ? z.coerce.boolean().optional() : z.coerce.boolean();
133
+ }
134
+ return schema;
135
+ }
136
+ //# sourceMappingURL=Openapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Openapi.js","sourceRoot":"","sources":["../src/Openapi.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,8 @@ export * as Errors from './Errors.js';
7
7
  export * as Formatter from './Formatter.js';
8
8
  export * as Help from './Help.js';
9
9
  export * as Mcp from './Mcp.js';
10
+ export * as Fetch from './Fetch.js';
11
+ export * as Openapi from './Openapi.js';
10
12
  export * as Parser from './Parser.js';
11
13
  export type { Register } from './Register.js';
12
14
  export * as Schema from './Schema.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACvD,YAAY,EAAE,OAAO,IAAI,iBAAiB,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACjG,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -6,6 +6,8 @@ export * as Errors from './Errors.js';
6
6
  export * as Formatter from './Formatter.js';
7
7
  export * as Help from './Help.js';
8
8
  export * as Mcp from './Mcp.js';
9
+ export * as Fetch from './Fetch.js';
10
+ export * as Openapi from './Openapi.js';
9
11
  export * as Parser from './Parser.js';
10
12
  export * as Schema from './Schema.js';
11
13
  export * as Skill from './Skill.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA"}
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "devDependencies": {
3
3
  "@changesets/cli": "latest",
4
+ "@hono/zod-openapi": "^1.2.2",
4
5
  "@types/node": "latest",
5
6
  "@vitest/coverage-v8": "^4.0.18",
7
+ "bun": "^1.3.10",
8
+ "hono": "^4.12.5",
6
9
  "oxfmt": "^0.35.0",
7
10
  "oxlint": "^1.50.0",
8
11
  "tsx": "^4.21.0",
@@ -13,7 +16,7 @@
13
16
  "[!start-pkg]": "",
14
17
  "name": "incur",
15
18
  "type": "module",
16
- "version": "0.1.16",
19
+ "version": "0.2.0",
17
20
  "license": "MIT",
18
21
  "repository": {
19
22
  "type": "git",
@@ -27,6 +30,7 @@
27
30
  ],
28
31
  "dependencies": {
29
32
  "@modelcontextprotocol/sdk": "^1.27.1",
33
+ "@readme/openapi-parser": "^6.0.0",
30
34
  "@toon-format/toon": "^2.1.0",
31
35
  "yaml": "^2.8.2",
32
36
  "zod": "^4.3.6"
package/src/Cli.test-d.ts CHANGED
@@ -47,9 +47,9 @@ test('output constrains run return type', () => {
47
47
  },
48
48
  })
49
49
 
50
+ // @ts-expect-error — return doesn't match output schema
50
51
  cli.command('greet', {
51
52
  output: z.object({ message: z.string() }),
52
- // @ts-expect-error — return doesn't match output schema
53
53
  run() {
54
54
  return { wrong: 123 }
55
55
  },
@@ -64,9 +64,9 @@ test('alias keys are constrained to option keys', () => {
64
64
  run: () => ({}),
65
65
  })
66
66
 
67
+ // @ts-expect-error — 'foo' is not an option key
67
68
  cli.command('list', {
68
69
  options: z.object({ state: z.string() }),
69
- // @ts-expect-error — 'foo' is not an option key
70
70
  alias: { foo: 'f' },
71
71
  run: () => ({}),
72
72
  })