@apollo-deploy/tesseract 1.9.0 → 2.0.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.
Files changed (194) hide show
  1. package/README.md +218 -110
  2. package/dist/adapters/csharp/index.d.ts +5 -8
  3. package/dist/adapters/csharp/index.d.ts.map +1 -1
  4. package/dist/adapters/csharp/index.js +314 -74
  5. package/dist/adapters/csharp/index.js.map +1 -1
  6. package/dist/adapters/documentation.d.ts +17 -0
  7. package/dist/adapters/documentation.d.ts.map +1 -0
  8. package/dist/adapters/documentation.js +268 -0
  9. package/dist/adapters/documentation.js.map +1 -0
  10. package/dist/adapters/go/index.d.ts +5 -8
  11. package/dist/adapters/go/index.d.ts.map +1 -1
  12. package/dist/adapters/go/index.js +197 -101
  13. package/dist/adapters/go/index.js.map +1 -1
  14. package/dist/adapters/kotlin/index.d.ts +5 -9
  15. package/dist/adapters/kotlin/index.d.ts.map +1 -1
  16. package/dist/adapters/kotlin/index.js +280 -212
  17. package/dist/adapters/kotlin/index.js.map +1 -1
  18. package/dist/adapters/php/index.d.ts +5 -15
  19. package/dist/adapters/php/index.d.ts.map +1 -1
  20. package/dist/adapters/php/index.js +362 -90
  21. package/dist/adapters/php/index.js.map +1 -1
  22. package/dist/adapters/python/index.d.ts +5 -8
  23. package/dist/adapters/python/index.d.ts.map +1 -1
  24. package/dist/adapters/python/index.js +240 -109
  25. package/dist/adapters/python/index.js.map +1 -1
  26. package/dist/adapters/ruby/index.d.ts +3 -3
  27. package/dist/adapters/ruby/index.d.ts.map +1 -1
  28. package/dist/adapters/ruby/index.js +235 -46
  29. package/dist/adapters/ruby/index.js.map +1 -1
  30. package/dist/adapters/rust/index.d.ts +5 -9
  31. package/dist/adapters/rust/index.d.ts.map +1 -1
  32. package/dist/adapters/rust/index.js +237 -169
  33. package/dist/adapters/rust/index.js.map +1 -1
  34. package/dist/adapters/shared.d.ts +7 -0
  35. package/dist/adapters/shared.d.ts.map +1 -0
  36. package/dist/adapters/shared.js +68 -0
  37. package/dist/adapters/shared.js.map +1 -0
  38. package/dist/adapters/type-utils.d.ts +13 -0
  39. package/dist/adapters/type-utils.d.ts.map +1 -0
  40. package/dist/adapters/type-utils.js +105 -0
  41. package/dist/adapters/type-utils.js.map +1 -0
  42. package/dist/adapters/types.d.ts.map +1 -1
  43. package/dist/adapters/typescript/emitter/emitSchema.d.ts +2 -2
  44. package/dist/adapters/typescript/emitter/emitSchema.js +39 -27
  45. package/dist/adapters/typescript/emitter/emitSchema.js.map +1 -1
  46. package/dist/adapters/typescript/emitter/emitTypeScriptModels.d.ts +2 -2
  47. package/dist/adapters/typescript/emitter/emitTypeScriptModels.js +15 -15
  48. package/dist/adapters/typescript/emitter/importCollector.d.ts +2 -4
  49. package/dist/adapters/typescript/emitter/importCollector.d.ts.map +1 -1
  50. package/dist/adapters/typescript/emitter/importCollector.js +40 -50
  51. package/dist/adapters/typescript/emitter/importCollector.js.map +1 -1
  52. package/dist/adapters/typescript/emitter/parsers.d.ts +1 -1
  53. package/dist/adapters/typescript/emitter/parsers.js +13 -13
  54. package/dist/adapters/typescript/emitter/typeHoister.d.ts +1 -1
  55. package/dist/adapters/typescript/emitter/typeHoister.d.ts.map +1 -1
  56. package/dist/adapters/typescript/emitter/typeHoister.js +12 -20
  57. package/dist/adapters/typescript/emitter/typeHoister.js.map +1 -1
  58. package/dist/adapters/typescript/index.d.ts +3 -3
  59. package/dist/adapters/typescript/index.d.ts.map +1 -1
  60. package/dist/adapters/typescript/index.js +148 -166
  61. package/dist/adapters/typescript/index.js.map +1 -1
  62. package/dist/adapters/typescript/shared.d.ts +2 -2
  63. package/dist/adapters/typescript/shared.js +12 -12
  64. package/dist/cli.js +50 -37
  65. package/dist/cli.js.map +1 -1
  66. package/dist/collector.d.ts +13 -3
  67. package/dist/collector.d.ts.map +1 -1
  68. package/dist/collector.js +69 -32
  69. package/dist/collector.js.map +1 -1
  70. package/dist/elysia.js +2 -2
  71. package/dist/elysia.js.map +1 -1
  72. package/dist/express.d.ts.map +1 -1
  73. package/dist/express.js.map +1 -1
  74. package/dist/fastify.d.ts +7 -0
  75. package/dist/fastify.d.ts.map +1 -1
  76. package/dist/fastify.js +39 -20
  77. package/dist/fastify.js.map +1 -1
  78. package/dist/helpers/handlebars.d.ts +7 -16
  79. package/dist/helpers/handlebars.d.ts.map +1 -1
  80. package/dist/helpers/handlebars.js +127 -177
  81. package/dist/helpers/handlebars.js.map +1 -1
  82. package/dist/hono.d.ts.map +1 -1
  83. package/dist/hono.js.map +1 -1
  84. package/dist/index.d.ts +14 -12
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +32 -30
  87. package/dist/index.js.map +1 -1
  88. package/dist/koa.d.ts.map +1 -1
  89. package/dist/koa.js.map +1 -1
  90. package/dist/nestjs.d.ts.map +1 -1
  91. package/dist/nestjs.js +41 -14
  92. package/dist/nestjs.js.map +1 -1
  93. package/dist/pipeline/enrich.d.ts +2 -13
  94. package/dist/pipeline/enrich.d.ts.map +1 -1
  95. package/dist/pipeline/enrich.js +157 -212
  96. package/dist/pipeline/enrich.js.map +1 -1
  97. package/dist/pipeline/intake.d.ts +3 -3
  98. package/dist/pipeline/intake.d.ts.map +1 -1
  99. package/dist/pipeline/intake.js +342 -238
  100. package/dist/pipeline/intake.js.map +1 -1
  101. package/dist/pipeline/write.d.ts +1 -14
  102. package/dist/pipeline/write.d.ts.map +1 -1
  103. package/dist/pipeline/write.js +73 -113
  104. package/dist/pipeline/write.js.map +1 -1
  105. package/dist/types/config.d.ts +14 -26
  106. package/dist/types/config.d.ts.map +1 -1
  107. package/dist/types/config.js +16 -12
  108. package/dist/types/config.js.map +1 -1
  109. package/dist/types/ir.d.ts +12 -8
  110. package/dist/types/ir.d.ts.map +1 -1
  111. package/dist/types/manifest.d.ts +10 -11
  112. package/dist/types/manifest.d.ts.map +1 -1
  113. package/dist/types/manifest.js +54 -14
  114. package/dist/types/manifest.js.map +1 -1
  115. package/dist/types/sdk-module.d.ts +2 -2
  116. package/dist/types/sdk-module.js +1 -1
  117. package/dist/utils/format.d.ts +1 -3
  118. package/dist/utils/format.d.ts.map +1 -1
  119. package/dist/utils/format.js +3 -10
  120. package/dist/utils/format.js.map +1 -1
  121. package/dist/utils/naming.d.ts.map +1 -1
  122. package/dist/utils/naming.js +174 -184
  123. package/dist/utils/naming.js.map +1 -1
  124. package/dist/utils/npm-token.d.ts +1 -17
  125. package/dist/utils/npm-token.d.ts.map +1 -1
  126. package/dist/utils/npm-token.js +27 -76
  127. package/dist/utils/npm-token.js.map +1 -1
  128. package/dist/utils/version.d.ts +14 -0
  129. package/dist/utils/version.d.ts.map +1 -0
  130. package/dist/utils/version.js +60 -0
  131. package/dist/utils/version.js.map +1 -0
  132. package/package.json +4 -3
  133. package/templates/csharp/client.hbs +26 -49
  134. package/templates/csharp/csproj.hbs +7 -0
  135. package/templates/csharp/domain.hbs +48 -130
  136. package/templates/csharp/errors.hbs +17 -25
  137. package/templates/csharp/readme.hbs +31 -44
  138. package/templates/csharp/transport.hbs +238 -136
  139. package/templates/csharp/types.hbs +30 -76
  140. package/templates/go/client.hbs +44 -109
  141. package/templates/go/domain.hbs +83 -25
  142. package/templates/go/go-mod.hbs +1 -4
  143. package/templates/go/readme.hbs +32 -29
  144. package/templates/go/transport.hbs +174 -173
  145. package/templates/go/types.hbs +17 -53
  146. package/templates/go/utils.hbs +3 -2
  147. package/templates/kotlin/build-gradle.hbs +1 -1
  148. package/templates/kotlin/client.hbs +18 -15
  149. package/templates/kotlin/domain.hbs +54 -51
  150. package/templates/kotlin/errors.hbs +1 -1
  151. package/templates/kotlin/readme.hbs +35 -137
  152. package/templates/kotlin/transport.hbs +140 -123
  153. package/templates/kotlin/types.hbs +30 -81
  154. package/templates/php/client.hbs +8 -46
  155. package/templates/php/composer.hbs +2 -1
  156. package/templates/php/domain.hbs +86 -117
  157. package/templates/php/errors.hbs +1 -1
  158. package/templates/php/readme.hbs +42 -49
  159. package/templates/php/transport.hbs +192 -145
  160. package/templates/php/types.hbs +63 -60
  161. package/templates/python/client.hbs +15 -2
  162. package/templates/python/domain.hbs +50 -108
  163. package/templates/python/pyproject.hbs +5 -0
  164. package/templates/python/readme.hbs +47 -30
  165. package/templates/python/resources-init.hbs +1 -1
  166. package/templates/python/transport.hbs +167 -53
  167. package/templates/python/types.hbs +22 -58
  168. package/templates/ruby/client.hbs +10 -6
  169. package/templates/ruby/domain.hbs +48 -67
  170. package/templates/ruby/errors.hbs +3 -3
  171. package/templates/ruby/gemspec.hbs +3 -10
  172. package/templates/ruby/index.hbs +3 -3
  173. package/templates/ruby/readme.hbs +33 -70
  174. package/templates/ruby/transport.hbs +129 -103
  175. package/templates/ruby/types.hbs +11 -16
  176. package/templates/ruby/version.hbs +1 -1
  177. package/templates/rust/cargo.hbs +2 -0
  178. package/templates/rust/client.hbs +10 -1
  179. package/templates/rust/domain.hbs +69 -52
  180. package/templates/rust/error.hbs +3 -1
  181. package/templates/rust/lib.hbs +4 -5
  182. package/templates/rust/readme.hbs +33 -46
  183. package/templates/rust/transport.hbs +170 -159
  184. package/templates/rust/types.hbs +34 -111
  185. package/templates/typescript/domain-class.hbs +14 -6
  186. package/templates/typescript/domain.hbs +13 -5
  187. package/templates/typescript/package-json.hbs +3 -1
  188. package/templates/typescript/readme.hbs +42 -42
  189. package/templates/typescript/transport.hbs +46 -8
  190. package/templates/typescript/types-errors.hbs +1 -1
  191. package/dist/adapters/typescript/model-emitter.d.ts +0 -13
  192. package/dist/adapters/typescript/model-emitter.d.ts.map +0 -1
  193. package/dist/adapters/typescript/model-emitter.js +0 -415
  194. package/dist/adapters/typescript/model-emitter.js.map +0 -1
@@ -1,213 +1,281 @@
1
- /**
2
- * Rust language adapter.
3
- * Emits a Cargo-based Rust SDK with reqwest transport, serde types, and
4
- * tokio async runtime.
5
- */
6
- import { join } from "node:path";
7
- import { snakeCase } from "change-case";
8
- import Handlebars from "handlebars";
9
- import { getTemplate, registerHelpers, collectImports, } from "../../helpers/handlebars.js";
10
- // ─────────────────────────────────────────────────────────────────────────────
11
- // Rust type mapping
12
- // ─────────────────────────────────────────────────────────────────────────────
13
- const RUST_TYPE_MAP = {
14
- string: "String",
15
- number: "f64",
16
- integer: "i64",
17
- boolean: "bool",
18
- any: "serde_json::Value",
19
- unknown: "serde_json::Value",
20
- void: "()",
1
+ /** Rust language adapter. */
2
+ import { join } from 'node:path';
3
+ import { pascalCase, snakeCase } from 'change-case';
4
+ import { collectImports, getTemplate, registerHelpers, } from '../../helpers/handlebars.js';
5
+ import { genericArgument, genericArguments, isBooleanLiteral, isInlineObject, isNumberLiteral, isStringLiteral, splitTopLevel, stripOuterParens, unwrapNullable, } from '../type-utils.js';
6
+ import { getPackageVersion, getVisibleGroups, getVisibleSchemas, hasEventStreams, } from '../shared.js';
7
+ import { createDocumentationFiles } from '../documentation.js';
8
+ const RUST_PRIMITIVES = {
9
+ string: 'String',
10
+ number: 'f64',
11
+ integer: 'i64',
12
+ boolean: 'bool',
13
+ any: 'serde_json::Value',
14
+ unknown: 'serde_json::Value',
15
+ never: 'serde_json::Value',
16
+ void: '()',
21
17
  };
22
- function rustType(tsType, isParam = false) {
23
- // Strip whitespace
24
- const t = tsType.trim();
25
- // String literal → String
26
- if (t.startsWith('"') || t.startsWith("'"))
27
- return "String";
28
- // Direct map
29
- if (RUST_TYPE_MAP[t]) {
30
- const rust = RUST_TYPE_MAP[t];
31
- return isParam && rust === "String" ? "&str" : rust;
32
- }
33
- // Nullable: `T | null` → Option<T>
34
- const nullMatch = t.match(/^(.+?)\s*\|\s*null$/);
35
- if (nullMatch) {
36
- return `Option<${rustType(nullMatch[1], false)}>`;
37
- }
38
- // Array<T> → Vec<T>
39
- const arrMatch = t.match(/^Array<(.+)>$/);
40
- if (arrMatch) {
41
- return `Vec<${rustType(arrMatch[1], false)}>`;
42
- }
43
- // Record<K, V> → HashMap<K, V>
44
- const recMatch = t.match(/^Record<(.+),\s*(.+)>$/);
45
- if (recMatch) {
46
- return `std::collections::HashMap<${rustType(recMatch[1], false)}, ${rustType(recMatch[2], false)}>`;
47
- }
48
- // Map<T> → HashMap<String, T>
49
- const mapMatch = t.match(/^Map<(.+)>$/);
50
- if (mapMatch) {
51
- return `std::collections::HashMap<String, ${rustType(mapMatch[1], false)}>`;
18
+ const RUST_KEYWORDS = new Set([
19
+ 'as',
20
+ 'break',
21
+ 'const',
22
+ 'continue',
23
+ 'crate',
24
+ 'else',
25
+ 'enum',
26
+ 'extern',
27
+ 'false',
28
+ 'fn',
29
+ 'for',
30
+ 'if',
31
+ 'impl',
32
+ 'in',
33
+ 'let',
34
+ 'loop',
35
+ 'match',
36
+ 'mod',
37
+ 'move',
38
+ 'mut',
39
+ 'pub',
40
+ 'ref',
41
+ 'return',
42
+ 'self',
43
+ 'Self',
44
+ 'static',
45
+ 'struct',
46
+ 'super',
47
+ 'trait',
48
+ 'true',
49
+ 'type',
50
+ 'unsafe',
51
+ 'use',
52
+ 'where',
53
+ 'while',
54
+ 'async',
55
+ 'await',
56
+ 'dyn',
57
+ 'abstract',
58
+ 'become',
59
+ 'box',
60
+ 'do',
61
+ 'final',
62
+ 'macro',
63
+ 'override',
64
+ 'priv',
65
+ 'typeof',
66
+ 'unsized',
67
+ 'virtual',
68
+ 'yield',
69
+ 'try',
70
+ ]);
71
+ function rustIdentifier(value) {
72
+ const name = snakeCase(value) || 'value';
73
+ return RUST_KEYWORDS.has(name) ? `r#${name}` : name;
74
+ }
75
+ function rustType(value) {
76
+ const { type } = unwrapNullable(value);
77
+ const normalized = stripOuterParens(type);
78
+ const union = splitTopLevel(normalized, '|');
79
+ if (union.length > 1) {
80
+ if (union.every(isStringLiteral))
81
+ return 'String';
82
+ if (union.every(isNumberLiteral))
83
+ return 'f64';
84
+ if (union.every(isBooleanLiteral))
85
+ return 'bool';
86
+ return 'serde_json::Value';
52
87
  }
53
- // Union type `A | B` approximate with enum or keep as-is
54
- if (t.includes(" | ")) {
55
- const parts = t.split(" | ").map((p) => rustType(p.trim(), false));
56
- // For schema unions, just return the first concrete type name
57
- // Real union support requires enum generation at the schema level
58
- return parts.join("Or").replace(/\s/g, "");
88
+ if (splitTopLevel(normalized, '&').length > 1 || isInlineObject(normalized)) {
89
+ return 'std::collections::HashMap<String, serde_json::Value>';
59
90
  }
60
- // Intersection type — approximate
61
- if (t.includes(" & ")) {
62
- return t.replace(/\s*&\s*/g, "And").replace(/\s/g, "");
91
+ if (isStringLiteral(normalized))
92
+ return 'String';
93
+ if (isNumberLiteral(normalized))
94
+ return 'f64';
95
+ if (isBooleanLiteral(normalized))
96
+ return 'bool';
97
+ if (RUST_PRIMITIVES[normalized])
98
+ return RUST_PRIMITIVES[normalized];
99
+ const array = genericArgument(normalized, 'Array');
100
+ if (array !== undefined)
101
+ return `Vec<${rustType(array)}>`;
102
+ const record = genericArguments(normalized, 'Record');
103
+ if (record?.length === 2) {
104
+ return `std::collections::HashMap<String, ${rustType(record[1])}>`;
63
105
  }
64
- // Parenthesized
65
- if (t.startsWith("(") && t.endsWith(")")) {
66
- return rustType(t.slice(1, -1), false);
106
+ const map = genericArgument(normalized, 'Map');
107
+ if (map !== undefined) {
108
+ return `std::collections::HashMap<String, ${rustType(map)}>`;
67
109
  }
68
- // Passthrough (schema type names)
69
- return t;
110
+ return normalized;
111
+ }
112
+ function rustInputType(parameter) {
113
+ const base = rustType(parameter.type);
114
+ return parameter.required ? base : `Option<${base}>`;
70
115
  }
71
- function rustParamType(tsType) {
72
- return rustType(tsType, true);
116
+ function transformProperty(property) {
117
+ const optional = !property.required || !!property.nullable;
118
+ const base = unwrapNullable(property.type).type === 'string' &&
119
+ (property.format === 'date' || property.format === 'date-time')
120
+ ? 'String'
121
+ : rustType(property.type);
122
+ return {
123
+ ...property,
124
+ fieldName: rustIdentifier(property.name),
125
+ targetType: optional ? `Option<${base}>` : base,
126
+ optional,
127
+ };
73
128
  }
74
- function rustReturnType(tsType) {
75
- if (tsType === "void")
76
- return "()";
77
- return rustType(tsType, false);
129
+ function enumVariant(value, index) {
130
+ const name = pascalCase(String(value)) || `Value${index + 1}`;
131
+ return {
132
+ name: /^\d/.test(name) ? `Value${name}` : name,
133
+ value: String(value).replace(/\\/g, '\\\\').replace(/"/g, '\\"'),
134
+ };
78
135
  }
79
- function isRustCopyType(tsType) {
80
- const rust = rustType(tsType, false);
81
- return ["f64", "i64", "bool", "i32", "u32", "usize", "()"].includes(rust);
136
+ function transformSchema(schema) {
137
+ const enumValues = schema.enumValues ?? [];
138
+ return {
139
+ ...schema,
140
+ external: schema.ownership?.kind === 'external',
141
+ stringEnum: enumValues.every((value) => typeof value === 'string'),
142
+ enumValues: enumValues.map(enumVariant),
143
+ properties: schema.properties.map(transformProperty),
144
+ aliasType: schema.aliasType ? rustType(schema.aliasType) : 'serde_json::Value',
145
+ additionalType: schema.additionalPropertiesType
146
+ ? rustType(schema.additionalPropertiesType)
147
+ : undefined,
148
+ };
149
+ }
150
+ function transformParameter(parameter) {
151
+ return {
152
+ ...parameter,
153
+ parameterName: rustIdentifier(parameter.name),
154
+ targetType: rustInputType(parameter),
155
+ };
156
+ }
157
+ function transformOperation(operation) {
158
+ const pathParams = operation.pathParams.map((parameter) => ({
159
+ ...transformParameter(parameter),
160
+ placeholder: `\${${parameter.name}}`,
161
+ }));
162
+ const queryParams = operation.queryParams.map(transformParameter);
163
+ const headerParams = operation.headerParams.map(transformParameter);
164
+ const cookieParams = operation.cookieParams.map(transformParameter);
165
+ const signature = [
166
+ ...pathParams.map((parameter) => `${parameter.parameterName}: ${parameter.targetType}`),
167
+ ...(operation.requestBody
168
+ ? [
169
+ operation.requestBody.required
170
+ ? `body: &${rustType(operation.requestBody.type)}`
171
+ : `body: Option<&${rustType(operation.requestBody.type)}>`,
172
+ ]
173
+ : []),
174
+ ...queryParams.map((parameter) => `${parameter.parameterName}: ${parameter.targetType}`),
175
+ ...headerParams.map((parameter) => `${parameter.parameterName}: ${parameter.targetType}`),
176
+ ...cookieParams.map((parameter) => `${parameter.parameterName}: ${parameter.targetType}`),
177
+ ];
178
+ return {
179
+ ...operation,
180
+ methodName: rustIdentifier(operation.name),
181
+ pathParams,
182
+ queryParams,
183
+ headerParams,
184
+ cookieParams,
185
+ signature: signature.join(',\n '),
186
+ hasParameters: signature.length > 0,
187
+ targetResponseType: operation.isEventStream
188
+ ? 'String'
189
+ : rustType(operation.responseType),
190
+ isVoid: operation.responseType === 'void',
191
+ bodyArgument: operation.requestBody
192
+ ? operation.requestBody.required
193
+ ? 'Some(body)'
194
+ : 'body'
195
+ : 'None::<&serde_json::Value>',
196
+ };
82
197
  }
83
- // ─────────────────────────────────────────────────────────────────────────────
84
- // Adapter
85
- // ─────────────────────────────────────────────────────────────────────────────
86
198
  export class RustAdapter {
87
- language = "rust";
88
- async emit(enriched, outputDir, config) {
199
+ language = 'rust';
200
+ async emit(enriched, _outputDir, config) {
89
201
  registerHelpers();
90
- // Register Rust-specific helpers
91
- Handlebars.registerHelper("rustType", (tsType) => {
92
- return new Handlebars.SafeString(rustType(tsType, false));
93
- });
94
- Handlebars.registerHelper("rustParamType", (tsType) => {
95
- return new Handlebars.SafeString(rustParamType(tsType));
96
- });
97
- Handlebars.registerHelper("rustReturnType", (tsType) => {
98
- return new Handlebars.SafeString(rustReturnType(tsType));
99
- });
100
- Handlebars.registerHelper("isRustCopyType", (tsType) => {
101
- return isRustCopyType(tsType);
102
- });
103
- Handlebars.registerHelper("rustQueryType", (tsType) => {
104
- // Simple type name → use as-is; inline TS type → use serde_json::Value
105
- if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(tsType))
106
- return new Handlebars.SafeString(tsType);
107
- return new Handlebars.SafeString("serde_json::Value");
108
- });
109
202
  const files = [];
110
- const warnings = [];
111
- const schemaNames = new Set(enriched.schemas.map((s) => s.name));
112
- const clientType = config?.clientType ?? "internal";
113
- // ── Visibility filtering ────────────────────────────────────────────────
114
- const visibleGroups = [];
115
- for (const g of enriched.groups) {
116
- if (clientType === "public" && g.visibility === "internal")
117
- continue;
118
- const ops = clientType === "public"
119
- ? g.operations.filter((op) => op.visibility !== "internal")
120
- : g.operations;
121
- if (ops.length === 0)
122
- continue;
123
- visibleGroups.push(ops === g.operations ? g : { ...g, operations: ops });
124
- }
125
- const hasSSE = visibleGroups.some((g) => g.operations.some((op) => op.isEventStream));
126
- const crateName = enriched.meta.packageName
127
- .replace(/^@.+\//, "")
128
- .replace(/-/g, "_");
129
- // ── Helper ──────────────────────────────────────────────────────────────
130
- const emit = (relativePath, tplName, ctx) => {
131
- try {
132
- files.push({
133
- relativePath,
134
- content: getTemplate("rust", tplName)(ctx),
135
- });
136
- }
137
- catch (err) {
138
- warnings.push(`${relativePath}: ${err instanceof Error ? err.message : String(err)}`);
139
- }
203
+ const clientType = config?.clientType ?? 'internal';
204
+ const visibleGroups = getVisibleGroups(enriched, clientType);
205
+ const visibleSchemas = getVisibleSchemas(enriched, visibleGroups, clientType);
206
+ const schemas = visibleSchemas.map(transformSchema);
207
+ const schemaNames = new Set(visibleSchemas.map((schema) => schema.name));
208
+ const packageVersion = getPackageVersion(enriched);
209
+ const hasSSE = hasEventStreams(visibleGroups);
210
+ const rawCrateName = enriched.meta.packageName.replace(/^@.+\//, '');
211
+ const crateName = (/^[a-zA-Z_]/.test(rawCrateName) ? rawCrateName : `sdk_${rawCrateName}`)
212
+ .replace(/[^a-zA-Z0-9_]/g, '_')
213
+ .toLowerCase();
214
+ const emit = (relativePath, templateName, context) => {
215
+ files.push({
216
+ relativePath,
217
+ content: getTemplate('rust', templateName)(context),
218
+ });
140
219
  };
141
- // ── Root files ──────────────────────────────────────────────────────────
142
- emit("Cargo.toml", "cargo", {
220
+ emit('Cargo.toml', 'cargo', {
143
221
  ...enriched.meta,
222
+ packageVersion,
144
223
  crateName,
224
+ hasSSE,
145
225
  });
146
- emit("README.md", "readme", {
226
+ emit('README.md', 'readme', {
147
227
  ...enriched.meta,
228
+ packageVersion,
148
229
  groups: visibleGroups,
149
- schemas: enriched.schemas,
230
+ schemas,
150
231
  securitySchemes: enriched.securitySchemes,
151
232
  hasSSE,
152
233
  crateName,
153
234
  });
154
- // ── src/ files ──────────────────────────────────────────────────────────
155
- const srcDir = "src";
156
- emit(join(srcDir, "lib.rs"), "lib", {
235
+ emit(join('src', 'lib.rs'), 'lib', {
157
236
  ...enriched.meta,
237
+ packageVersion,
158
238
  groups: visibleGroups,
159
239
  hasSSE,
160
240
  crateName,
161
241
  });
162
- emit(join(srcDir, "client.rs"), "client", {
242
+ emit(join('src', 'client.rs'), 'client', {
163
243
  ...enriched.meta,
244
+ packageVersion,
164
245
  groups: visibleGroups,
165
246
  securitySchemes: enriched.securitySchemes,
166
247
  hasSSE,
167
248
  crateName,
168
249
  });
169
- emit(join(srcDir, "api", "mod.rs"), "api-mod", {
170
- groups: visibleGroups,
171
- });
172
- emit(join(srcDir, "transport.rs"), "transport", {
250
+ emit(join('src', 'api', 'mod.rs'), 'api-mod', { groups: visibleGroups });
251
+ emit(join('src', 'transport.rs'), 'transport', {
173
252
  securitySchemes: enriched.securitySchemes,
253
+ packageVersion,
174
254
  crateName,
175
255
  });
176
- emit(join(srcDir, "error.rs"), "error", {
177
- crateName,
178
- });
179
- emit(join(srcDir, "types.rs"), "types", {
180
- schemas: enriched.schemas,
181
- crateName,
182
- });
183
- // ── Domain files ────────────────────────────────────────────────────────
256
+ emit(join('src', 'error.rs'), 'error', { crateName });
257
+ emit(join('src', 'types.rs'), 'types', { schemas, crateName });
184
258
  for (const group of visibleGroups) {
185
- const imports = collectImports(group.operations, schemaNames);
186
- const transformedOps = group.operations.map((op) => ({
187
- ...op,
188
- pathParams: op.pathParams.map((p) => ({
189
- ...p,
190
- rustParamType: rustParamType(p.type),
191
- rustType: rustType(p.type, false),
192
- })),
193
- requestBody: op.requestBody
194
- ? {
195
- ...op.requestBody,
196
- rustType: rustType(op.requestBody.type, false),
197
- }
198
- : undefined,
199
- rustResponseType: rustReturnType(op.responseType),
200
- _queryParams: op.queryParams,
201
- }));
202
- emit(join(srcDir, "api", `${snakeCase(group.fileName)}.rs`), "domain", {
259
+ emit(join('src', 'api', `${snakeCase(group.fileName)}.rs`), 'domain', {
203
260
  ...group,
204
- operations: transformedOps,
205
- imports,
206
- securitySchemes: enriched.securitySchemes,
261
+ operations: group.operations.map(transformOperation),
262
+ imports: collectImports(group.operations, schemaNames),
207
263
  crateName,
208
264
  });
209
265
  }
210
- return { files, warnings };
266
+ files.push(...createDocumentationFiles({
267
+ meta: enriched.meta,
268
+ groups: visibleGroups,
269
+ schemas: visibleSchemas,
270
+ naming: {
271
+ language: 'Rust',
272
+ groupAccessor: (group) => `client.${rustIdentifier(group.name)}`,
273
+ methodName: (operation) => rustIdentifier(operation.name),
274
+ typeName: rustType,
275
+ sourcePath: (group) => join('src', 'api', `${snakeCase(group.fileName)}.rs`),
276
+ },
277
+ }));
278
+ return { files, warnings: [] };
211
279
  }
212
280
  }
213
281
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/rust/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/rust/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { EnrichedSDKIR, OperationGroup, SchemaDefinition } from '../types/ir.js';
2
+ import type { ResolvedConfig } from '../types/config.js';
3
+ export declare function getVisibleGroups(enriched: EnrichedSDKIR, clientType: ResolvedConfig['clientType']): OperationGroup[];
4
+ export declare function getVisibleSchemas(enriched: EnrichedSDKIR, groups: OperationGroup[], clientType: ResolvedConfig['clientType']): SchemaDefinition[];
5
+ export declare function getPackageVersion(enriched: EnrichedSDKIR, currentVersion?: string): string;
6
+ export declare function hasEventStreams(groups: OperationGroup[]): boolean;
7
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GACvC,cAAc,EAAE,CAYlB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,cAAc,EAAE,EACxB,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,GACvC,gBAAgB,EAAE,CA0CpB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,EACvB,cAAc,SAAwB,GACrC,MAAM,CAMR;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAIjE"}
@@ -0,0 +1,68 @@
1
+ import { resolvePackageVersion } from '../utils/version.js';
2
+ export function getVisibleGroups(enriched, clientType) {
3
+ if (clientType === 'internal')
4
+ return enriched.groups;
5
+ const groups = [];
6
+ for (const group of enriched.groups) {
7
+ if (group.visibility === 'internal')
8
+ continue;
9
+ const operations = group.operations.filter(({ visibility }) => visibility !== 'internal');
10
+ if (operations.length)
11
+ groups.push({ ...group, operations });
12
+ }
13
+ return groups;
14
+ }
15
+ export function getVisibleSchemas(enriched, groups, clientType) {
16
+ if (clientType === 'internal')
17
+ return enriched.schemas;
18
+ const needed = new Set();
19
+ const scan = (type) => {
20
+ if (!type)
21
+ return;
22
+ for (const name of type.match(/\b[A-Z_$][A-Za-z0-9_$]*\b/g) ?? []) {
23
+ if (enriched.symbolTable[name])
24
+ needed.add(name);
25
+ }
26
+ };
27
+ for (const group of groups) {
28
+ for (const operation of group.operations) {
29
+ scan(operation.responseType);
30
+ scan(operation.requestBody?.type);
31
+ scan(operation.queryType);
32
+ scan(operation.headerType);
33
+ scan(operation.cookieType);
34
+ scan(operation.eventSchema);
35
+ scan(operation.sseReturnType);
36
+ for (const parameter of [
37
+ ...operation.pathParams,
38
+ ...operation.queryParams,
39
+ ...operation.headerParams,
40
+ ...operation.cookieParams,
41
+ ]) {
42
+ scan(parameter.type);
43
+ }
44
+ }
45
+ }
46
+ const pending = [...needed];
47
+ while (pending.length) {
48
+ const name = pending.pop();
49
+ for (const dependency of enriched.importGraph[name] ?? []) {
50
+ if (needed.has(dependency))
51
+ continue;
52
+ needed.add(dependency);
53
+ pending.push(dependency);
54
+ }
55
+ }
56
+ return enriched.schemas.filter(({ name }) => needed.has(name));
57
+ }
58
+ export function getPackageVersion(enriched, currentVersion = enriched.meta.version) {
59
+ return resolvePackageVersion({
60
+ currentVersion,
61
+ packageVersion: enriched.meta.packageVersion,
62
+ bump: enriched.meta.versionBump,
63
+ });
64
+ }
65
+ export function hasEventStreams(groups) {
66
+ return groups.some(({ operations }) => operations.some(({ isEventStream }) => isEventStream));
67
+ }
68
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/adapters/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare function splitTopLevel(value: string, separator: string): string[];
2
+ export declare function stripOuterParens(value: string): string;
3
+ export declare function unwrapNullable(value: string): {
4
+ type: string;
5
+ nullable: boolean;
6
+ };
7
+ export declare function genericArgument(value: string, name: string): string | undefined;
8
+ export declare function genericArguments(value: string, name: string): string[] | undefined;
9
+ export declare function isStringLiteral(value: string): boolean;
10
+ export declare function isNumberLiteral(value: string): boolean;
11
+ export declare function isBooleanLiteral(value: string): boolean;
12
+ export declare function isInlineObject(value: string): boolean;
13
+ //# sourceMappingURL=type-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-utils.d.ts","sourceRoot":"","sources":["../../src/adapters/type-utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA+CxE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAuBtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB,CAUA;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,GAAG,SAAS,CAGtB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKtD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrD"}