@postman/sdk-config 0.0.4 → 0.1.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.
- package/README.md +42 -17
- package/dist/index.cjs +2011 -181
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +1974 -182
- package/dist/index.js.map +1 -1
- package/dist/sdk-config/index.cjs +2233 -0
- package/dist/sdk-config/index.cjs.map +1 -0
- package/dist/sdk-config/index.d.cts +3 -0
- package/dist/sdk-config/index.d.ts +3 -0
- package/dist/sdk-config/index.js +2192 -0
- package/dist/sdk-config/index.js.map +1 -0
- package/dist/sdk-config/v1/index.cjs +2233 -0
- package/dist/sdk-config/v1/index.cjs.map +1 -0
- package/dist/sdk-config/v1/index.d.cts +8644 -0
- package/dist/sdk-config/v1/index.d.ts +8644 -0
- package/dist/sdk-config/v1/index.js +2192 -0
- package/dist/sdk-config/v1/index.js.map +1 -0
- package/dist/sdk-config-ir/index.cjs +147 -18
- package/dist/sdk-config-ir/index.cjs.map +1 -1
- package/dist/sdk-config-ir/index.d.cts +2 -1
- package/dist/sdk-config-ir/index.d.ts +2 -1
- package/dist/sdk-config-ir/index.js +146 -19
- package/dist/sdk-config-ir/index.js.map +1 -1
- package/dist/sdk-config-ir/v1/index.cjs +147 -18
- package/dist/sdk-config-ir/v1/index.cjs.map +1 -1
- package/dist/sdk-config-ir/v1/index.d.cts +422 -400
- package/dist/sdk-config-ir/v1/index.d.ts +422 -400
- package/dist/sdk-config-ir/v1/index.js +146 -19
- package/dist/sdk-config-ir/v1/index.js.map +1 -1
- package/dist/typescript-ByDbin_v.d.cts +426 -0
- package/dist/typescript-ByDbin_v.d.ts +426 -0
- package/package.json +15 -2
- package/src/sdk-config/v1/README.md +135 -0
- package/src/sdk-config-ir/v1/README.md +44 -26
|
@@ -183,10 +183,10 @@ Translators are responsible for alias resolution, unit conversion, and inverted
|
|
|
183
183
|
| CLI pagination parameters / skills object | `generation.language.cli.paginationParameters` / `skills` boolean |
|
|
184
184
|
| language authors, developers, homepage, and repository | `package` metadata |
|
|
185
185
|
|
|
186
|
-
`usesFormData` is derived from the API and is not configuration. The legacy `
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
186
|
+
`usesFormData` is derived from the API and is not configuration. The legacy `generateMCP` switch
|
|
187
|
+
and Bash output are outside the SDK Config IR v1 target set and must be reported as unsupported;
|
|
188
|
+
MCP and Terraform instead use explicit target languages. Commented-out custom-template and naming
|
|
189
|
+
inputs were not restored as part of the normalized contract.
|
|
190
190
|
|
|
191
191
|
## Fern common migration map
|
|
192
192
|
|
|
@@ -204,6 +204,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
204
204
|
| `api.environments` | `api.environments` | 20+ |
|
|
205
205
|
| `api.auth`, `api.auth-schemes` | `api.auth` | 27 |
|
|
206
206
|
| `api.headers` | `api.headers` | 11+ |
|
|
207
|
+
| generator-group `audiences` | `api.audiences` | Absent selects all audiences. |
|
|
207
208
|
| generator `inlinePathParameters`, `inline-path-parameters`, and API setting | `client.pathParameterStyle` | 12 API; 1-3 per language |
|
|
208
209
|
| generator `inlineFileProperties`, `inline-file-properties` | `client.filePropertyStyle` | 1-3 per language |
|
|
209
210
|
| `inline_request_params` | `client.requestParameterStyle` | 6 Python |
|
|
@@ -211,6 +212,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
211
212
|
| timeout aliases in seconds or milliseconds | `client.timeoutMs` | Translator converts units. |
|
|
212
213
|
| `skipResponseValidation`, Python `skip_validation` | `client.responseValidation` | Inverted; 12 TS, 8 Python |
|
|
213
214
|
| `useDefaultRequestParameterValues` aliases | `client.useDefaultRequestParameterValues` | 1 |
|
|
215
|
+
| `respectOptionalRequestBody`, `respect-optional-request-body` | `client.respectOptionalRequestBody` | Not in the project snapshot; see below |
|
|
214
216
|
| `enable-wire-tests`, `enableWireTests`, `generateWireTests` | `generation.wireTests` | 1-15 per language |
|
|
215
217
|
| WebSocket generation aliases | `generation.webSockets` | 3 TS, 3 Python |
|
|
216
218
|
| `streamType`, `fileResponseType` | `generation.streams` | 1 TS |
|
|
@@ -226,6 +228,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
226
228
|
| registry output | `output.publish` plus `package` identity | 5-28 per registry language |
|
|
227
229
|
| GitHub output | `output.delivery: "github"` and `output.github` | Translator resolves Fern owner/repo forms. |
|
|
228
230
|
| Fern README config | `docs.readme` | 12 API names; 11 disabled-section configs |
|
|
231
|
+
| `customReadmeSections` | `docs.readme.customSections` | Not in the project snapshot; see below |
|
|
229
232
|
| `includeApiReference` | `docs.includeApiReference` | 10 TS |
|
|
230
233
|
|
|
231
234
|
The Rust language config was added after the initial audit. That audit compared existing Fern
|
|
@@ -235,6 +238,19 @@ versus `DateTime<Utc>` on every datetime field), `capitalizeInitialisms`, `featu
|
|
|
235
238
|
`defaultFeatures`. Crate identity, client name, and package metadata deliberately stay on the
|
|
236
239
|
shared fields.
|
|
237
240
|
|
|
241
|
+
`docs.readme.customSections` came from that same generator-schema comparison. Nine Fern generators
|
|
242
|
+
declare an identical `customReadmeSections` array of `{title, content}`, so it is a shared
|
|
243
|
+
documentation concern rather than a language one. `title` is the section's identity: a derived
|
|
244
|
+
section carrying the same title is replaced rather than duplicated. Fern's per-section `language`
|
|
245
|
+
discriminator is dropped, because one IR document already describes one target.
|
|
246
|
+
|
|
247
|
+
`client.respectOptionalRequestBody` came from the same comparison and postdates the project
|
|
248
|
+
snapshot. Eight Fern generators honour it — Rust, Go, PHP, Ruby, both TypeScript generators, C# and
|
|
249
|
+
Java — so it is shared client behavior. It stays undefaulted rather than defaulting to `false`:
|
|
250
|
+
enabling it changes the signature of every endpoint whose body the API declares as not required, so
|
|
251
|
+
absent must keep an existing SDK's signatures rather than assert a value the generator would then
|
|
252
|
+
have to honour.
|
|
253
|
+
|
|
238
254
|
Fern README endpoint strings such as `GET /users` are parsed into
|
|
239
255
|
`{ "method": "GET", "path": "/users" }`; the legacy string shorthand is not part of the
|
|
240
256
|
normalized contract.
|
|
@@ -244,19 +260,20 @@ normalized contract.
|
|
|
244
260
|
These settings remain under `source.apiImportSettings` because they affect spec conversion rather
|
|
245
261
|
than generated-language presentation.
|
|
246
262
|
|
|
247
|
-
| Fern setting | Normalized field |
|
|
248
|
-
| ----------------------------------------- | ------------------------------------ |
|
|
249
|
-
| `respect-nullable-schemas` | `respectNullableSchemas` |
|
|
250
|
-
| `title-as-schema-name` | `titleAsSchemaName` |
|
|
251
|
-
| `coerce-enums-to-literals` | `coerceEnumsToLiterals` |
|
|
252
|
-
| `idiomatic-request-names` | `idiomaticRequestNames` |
|
|
253
|
-
| `wrap-references-to-nullable-in-optional` | `wrapReferencesToNullableInOptional` |
|
|
254
|
-
| `coerce-optional-schemas-to-nullable` | `coerceOptionalSchemasToNullable` |
|
|
255
|
-
| `object-query-parameters` | `objectQueryParameters` |
|
|
256
|
-
| `only-include-referenced-schemas` | `onlyIncludeReferencedSchemas` |
|
|
257
|
-
| `group-multi-api-environments` | `groupMultiApiEnvironments` |
|
|
258
|
-
| `path-parameter-order` | `pathParameterOrder` |
|
|
259
|
-
| `type-dates-as-strings` | `typeDatesAsStrings` |
|
|
263
|
+
| Fern setting | Normalized field | Observed projects |
|
|
264
|
+
| ----------------------------------------- | ------------------------------------ | ----------------------------: |
|
|
265
|
+
| `respect-nullable-schemas` | `respectNullableSchemas` | 10 |
|
|
266
|
+
| `title-as-schema-name` | `titleAsSchemaName` | 16 |
|
|
267
|
+
| `coerce-enums-to-literals` | `coerceEnumsToLiterals` | 14 |
|
|
268
|
+
| `idiomatic-request-names` | `idiomaticRequestNames` | 12 |
|
|
269
|
+
| `wrap-references-to-nullable-in-optional` | `wrapReferencesToNullableInOptional` | 9 |
|
|
270
|
+
| `coerce-optional-schemas-to-nullable` | `coerceOptionalSchemasToNullable` | 9 |
|
|
271
|
+
| `object-query-parameters` | `objectQueryParameters` | 9 |
|
|
272
|
+
| `only-include-referenced-schemas` | `onlyIncludeReferencedSchemas` | 4 |
|
|
273
|
+
| `group-multi-api-environments` | `groupMultiApiEnvironments` | 2 |
|
|
274
|
+
| `path-parameter-order` | `pathParameterOrder` | 2 |
|
|
275
|
+
| `type-dates-as-strings` | `typeDatesAsStrings` | 12 |
|
|
276
|
+
| `default-integer-format` | `defaultIntegerFormat` | Importer defaults to `int32`. |
|
|
260
277
|
|
|
261
278
|
## Fern language-specific migration map
|
|
262
279
|
|
|
@@ -266,14 +283,15 @@ Only options that remain language-specific stay in `generation.language`.
|
|
|
266
283
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
267
284
|
| TypeScript | `packageManager` (1), `testFramework` (2), `allowCustomFetcher` (13), branded aliases (1), legacy exports (1), `useBigInt`, and positive `serdeLayer` from `noSerdeLayer` (8) | Namespace, validation, inline types, dependencies, wire tests, streams, WebSockets, pager/client names |
|
|
268
285
|
| Python | Python/Pydantic versions, client filenames (13), Pydantic compatibility, frozen models (1), required optionals (2), union naming (1), field aliases (3), always-initialize optionals, TypedDict requests (3) | Package/module names, enum form, extra fields, response validation, request style, dependencies, timeout, layout, wire tests, WebSockets |
|
|
269
|
-
| Java/Kotlin | Package layout (3), local dates (2), optional-nullable collapse (2),
|
|
270
|
-
| Go | Legacy complex models, union version (3),
|
|
271
|
-
| C# | Optional wrapper, simplified dictionaries (1), explicit namespaces (7), core namespace behavior (1), exception handler (5)
|
|
286
|
+
| Java/Kotlin | Package layout (3), local dates (2), optional-nullable collapse (2), Gradle settings (7), and JVM async-client style | Maven identity, namespace, names, forward-compatible enums, inline properties, dependencies, pager, wire tests |
|
|
287
|
+
| Go | Legacy complex models, union version (3), legacy client options (1), smart casing, and the fern root-client constructor name | Module/package identity, client name, environments, inline properties, pager, wire tests |
|
|
288
|
+
| C# | Optional wrapper, simplified dictionaries (1), explicit namespaces (7), core namespace behavior (1), exception handler (5), and the experimental explicit-nullable-optional switch | NuGet identity, namespace, class/error names, pager, wire tests |
|
|
272
289
|
| PHP | Property access (2) and generated client interfaces (1) | Composer identity, namespace, client/pager names, request style, dependencies, wire tests |
|
|
273
290
|
| Ruby | Require paths (2) | Gem identity, client name, dependencies, pager, wire tests |
|
|
274
291
|
| Rust | Datetime representation, initialism casing, and Cargo features/default-features | Crate identity, client name, and package metadata use shared fields. |
|
|
275
|
-
| Swift |
|
|
292
|
+
| Swift | Module name and the nullable-as-optional collapse | Client, environment and error naming use shared fields. |
|
|
276
293
|
| CLI | Pagination parameter names and the `skills` boolean | Go module and package identity use `package`. |
|
|
294
|
+
| MCP | Server identity, availability exclusions, tool filters and named toolsets, plus the TypeScript options | npm package identity, client and serialization behavior |
|
|
277
295
|
|
|
278
296
|
## Removed and deferred legacy configuration
|
|
279
297
|
|
|
@@ -289,8 +307,8 @@ the migration.
|
|
|
289
307
|
discriminant removal, schema-collision recovery, forward-compatible inference, default
|
|
290
308
|
environment inference, const coercion, endpoint filters, example-depth controls, alias
|
|
291
309
|
resolution, single-schema oneOf preservation, readonly/read variants, binary-response import
|
|
292
|
-
coercion, form encoding defaults, additional-properties defaults, inline-allOf,
|
|
293
|
-
|
|
310
|
+
coercion, form encoding defaults, additional-properties defaults, inline-allOf,
|
|
311
|
+
discriminated-union inference, request-name disambiguation, and AsyncAPI message naming.
|
|
294
312
|
- TypeScript: linter/formatter selection, consolidated type files, subpackage exports, and endpoint
|
|
295
313
|
metadata.
|
|
296
314
|
- Python: ORM/smart-union/coercion/wrapped-alias/positional-constructor/inheritance/validator
|
|
@@ -300,10 +318,10 @@ the migration.
|
|
|
300
318
|
nullable annotations, and custom interceptors.
|
|
301
319
|
- C#: union implementation switches, root-client access, generated error-type toggle, interceptor
|
|
302
320
|
class, unified options, response-body redaction, solution format, and custom output paths.
|
|
303
|
-
- Go: toolchain version, import aliases,
|
|
304
|
-
|
|
321
|
+
- Go: toolchain version, import aliases, error-code layout, empty wrapper, byte reader, getter,
|
|
322
|
+
union-base deduplication, and root-request export switches.
|
|
305
323
|
- Ruby: custom client module and RuboCop switches.
|
|
306
|
-
- Rust
|
|
324
|
+
- Rust: all previously proposed language-specific switches had no observed customer use.
|
|
307
325
|
|
|
308
326
|
### Observed but deliberately deferred as bespoke or low-use
|
|
309
327
|
|