@postman/sdk-config 0.0.3 → 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 +2017 -180
- 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 +1980 -181
- 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 +155 -19
- 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 +154 -20
- package/dist/sdk-config-ir/index.js.map +1 -1
- package/dist/sdk-config-ir/v1/index.cjs +155 -19
- package/dist/sdk-config-ir/v1/index.cjs.map +1 -1
- package/dist/sdk-config-ir/v1/index.d.cts +448 -398
- package/dist/sdk-config-ir/v1/index.d.ts +448 -398
- package/dist/sdk-config-ir/v1/index.js +154 -20
- 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 +46 -27
|
@@ -63,7 +63,8 @@ Examples of the boolean rule:
|
|
|
63
63
|
|
|
64
64
|
- Boolean: `generation.webSockets`, `generation.multipleResponses`.
|
|
65
65
|
- Configurable feature: `client.retry`, `client.tokenRefresh`, `docs.snippets`,
|
|
66
|
-
`generation.analytics`, `generation.hooks`, `generation.streams`,
|
|
66
|
+
`generation.analytics`, `generation.hooks`, `generation.streams`, `generation.wireTests`, and
|
|
67
|
+
`generation.unitTests`.
|
|
67
68
|
|
|
68
69
|
## Cross-origin deduplication decisions
|
|
69
70
|
|
|
@@ -182,10 +183,10 @@ Translators are responsible for alias resolution, unit conversion, and inverted
|
|
|
182
183
|
| CLI pagination parameters / skills object | `generation.language.cli.paginationParameters` / `skills` boolean |
|
|
183
184
|
| language authors, developers, homepage, and repository | `package` metadata |
|
|
184
185
|
|
|
185
|
-
`usesFormData` is derived from the API and is not configuration. The legacy `
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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.
|
|
189
190
|
|
|
190
191
|
## Fern common migration map
|
|
191
192
|
|
|
@@ -203,6 +204,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
203
204
|
| `api.environments` | `api.environments` | 20+ |
|
|
204
205
|
| `api.auth`, `api.auth-schemes` | `api.auth` | 27 |
|
|
205
206
|
| `api.headers` | `api.headers` | 11+ |
|
|
207
|
+
| generator-group `audiences` | `api.audiences` | Absent selects all audiences. |
|
|
206
208
|
| generator `inlinePathParameters`, `inline-path-parameters`, and API setting | `client.pathParameterStyle` | 12 API; 1-3 per language |
|
|
207
209
|
| generator `inlineFileProperties`, `inline-file-properties` | `client.filePropertyStyle` | 1-3 per language |
|
|
208
210
|
| `inline_request_params` | `client.requestParameterStyle` | 6 Python |
|
|
@@ -210,6 +212,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
210
212
|
| timeout aliases in seconds or milliseconds | `client.timeoutMs` | Translator converts units. |
|
|
211
213
|
| `skipResponseValidation`, Python `skip_validation` | `client.responseValidation` | Inverted; 12 TS, 8 Python |
|
|
212
214
|
| `useDefaultRequestParameterValues` aliases | `client.useDefaultRequestParameterValues` | 1 |
|
|
215
|
+
| `respectOptionalRequestBody`, `respect-optional-request-body` | `client.respectOptionalRequestBody` | Not in the project snapshot; see below |
|
|
213
216
|
| `enable-wire-tests`, `enableWireTests`, `generateWireTests` | `generation.wireTests` | 1-15 per language |
|
|
214
217
|
| WebSocket generation aliases | `generation.webSockets` | 3 TS, 3 Python |
|
|
215
218
|
| `streamType`, `fileResponseType` | `generation.streams` | 1 TS |
|
|
@@ -225,6 +228,7 @@ audited on 2026-07-17. Counts guide the initial contract; they are not a permane
|
|
|
225
228
|
| registry output | `output.publish` plus `package` identity | 5-28 per registry language |
|
|
226
229
|
| GitHub output | `output.delivery: "github"` and `output.github` | Translator resolves Fern owner/repo forms. |
|
|
227
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 |
|
|
228
232
|
| `includeApiReference` | `docs.includeApiReference` | 10 TS |
|
|
229
233
|
|
|
230
234
|
The Rust language config was added after the initial audit. That audit compared existing Fern
|
|
@@ -234,6 +238,19 @@ versus `DateTime<Utc>` on every datetime field), `capitalizeInitialisms`, `featu
|
|
|
234
238
|
`defaultFeatures`. Crate identity, client name, and package metadata deliberately stay on the
|
|
235
239
|
shared fields.
|
|
236
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
|
+
|
|
237
254
|
Fern README endpoint strings such as `GET /users` are parsed into
|
|
238
255
|
`{ "method": "GET", "path": "/users" }`; the legacy string shorthand is not part of the
|
|
239
256
|
normalized contract.
|
|
@@ -243,19 +260,20 @@ normalized contract.
|
|
|
243
260
|
These settings remain under `source.apiImportSettings` because they affect spec conversion rather
|
|
244
261
|
than generated-language presentation.
|
|
245
262
|
|
|
246
|
-
| Fern setting | Normalized field |
|
|
247
|
-
| ----------------------------------------- | ------------------------------------ |
|
|
248
|
-
| `respect-nullable-schemas` | `respectNullableSchemas` |
|
|
249
|
-
| `title-as-schema-name` | `titleAsSchemaName` |
|
|
250
|
-
| `coerce-enums-to-literals` | `coerceEnumsToLiterals` |
|
|
251
|
-
| `idiomatic-request-names` | `idiomaticRequestNames` |
|
|
252
|
-
| `wrap-references-to-nullable-in-optional` | `wrapReferencesToNullableInOptional` |
|
|
253
|
-
| `coerce-optional-schemas-to-nullable` | `coerceOptionalSchemasToNullable` |
|
|
254
|
-
| `object-query-parameters` | `objectQueryParameters` |
|
|
255
|
-
| `only-include-referenced-schemas` | `onlyIncludeReferencedSchemas` |
|
|
256
|
-
| `group-multi-api-environments` | `groupMultiApiEnvironments` |
|
|
257
|
-
| `path-parameter-order` | `pathParameterOrder` |
|
|
258
|
-
| `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`. |
|
|
259
277
|
|
|
260
278
|
## Fern language-specific migration map
|
|
261
279
|
|
|
@@ -265,14 +283,15 @@ Only options that remain language-specific stay in `generation.language`.
|
|
|
265
283
|
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
266
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 |
|
|
267
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 |
|
|
268
|
-
| Java/Kotlin | Package layout (3), local dates (2), optional-nullable collapse (2),
|
|
269
|
-
| Go | Legacy complex models, union version (3),
|
|
270
|
-
| 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 |
|
|
271
289
|
| PHP | Property access (2) and generated client interfaces (1) | Composer identity, namespace, client/pager names, request style, dependencies, wire tests |
|
|
272
290
|
| Ruby | Require paths (2) | Gem identity, client name, dependencies, pager, wire tests |
|
|
273
291
|
| Rust | Datetime representation, initialism casing, and Cargo features/default-features | Crate identity, client name, and package metadata use shared fields. |
|
|
274
|
-
| Swift |
|
|
292
|
+
| Swift | Module name and the nullable-as-optional collapse | Client, environment and error naming use shared fields. |
|
|
275
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 |
|
|
276
295
|
|
|
277
296
|
## Removed and deferred legacy configuration
|
|
278
297
|
|
|
@@ -288,8 +307,8 @@ the migration.
|
|
|
288
307
|
discriminant removal, schema-collision recovery, forward-compatible inference, default
|
|
289
308
|
environment inference, const coercion, endpoint filters, example-depth controls, alias
|
|
290
309
|
resolution, single-schema oneOf preservation, readonly/read variants, binary-response import
|
|
291
|
-
coercion, form encoding defaults, additional-properties defaults, inline-allOf,
|
|
292
|
-
|
|
310
|
+
coercion, form encoding defaults, additional-properties defaults, inline-allOf,
|
|
311
|
+
discriminated-union inference, request-name disambiguation, and AsyncAPI message naming.
|
|
293
312
|
- TypeScript: linter/formatter selection, consolidated type files, subpackage exports, and endpoint
|
|
294
313
|
metadata.
|
|
295
314
|
- Python: ORM/smart-union/coercion/wrapped-alias/positional-constructor/inheritance/validator
|
|
@@ -299,10 +318,10 @@ the migration.
|
|
|
299
318
|
nullable annotations, and custom interceptors.
|
|
300
319
|
- C#: union implementation switches, root-client access, generated error-type toggle, interceptor
|
|
301
320
|
class, unified options, response-body redaction, solution format, and custom output paths.
|
|
302
|
-
- Go: toolchain version, import aliases,
|
|
303
|
-
|
|
321
|
+
- Go: toolchain version, import aliases, error-code layout, empty wrapper, byte reader, getter,
|
|
322
|
+
union-base deduplication, and root-request export switches.
|
|
304
323
|
- Ruby: custom client module and RuboCop switches.
|
|
305
|
-
- Rust
|
|
324
|
+
- Rust: all previously proposed language-specific switches had no observed customer use.
|
|
306
325
|
|
|
307
326
|
### Observed but deliberately deferred as bespoke or low-use
|
|
308
327
|
|