@postman/sdk-config 0.6.0 → 0.8.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 (36) hide show
  1. package/README.md +1 -3
  2. package/dist/index.cjs +916 -765
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +1 -1
  5. package/dist/index.d.ts +1 -1
  6. package/dist/index.js +916 -765
  7. package/dist/index.js.map +1 -1
  8. package/dist/sdk-config/index.cjs +678 -562
  9. package/dist/sdk-config/index.cjs.map +1 -1
  10. package/dist/sdk-config/index.d.cts +1 -1
  11. package/dist/sdk-config/index.d.ts +1 -1
  12. package/dist/sdk-config/index.js +678 -562
  13. package/dist/sdk-config/index.js.map +1 -1
  14. package/dist/sdk-config/v1/index.cjs +678 -562
  15. package/dist/sdk-config/v1/index.cjs.map +1 -1
  16. package/dist/sdk-config/v1/index.d.cts +74 -934
  17. package/dist/sdk-config/v1/index.d.ts +74 -934
  18. package/dist/sdk-config/v1/index.js +678 -562
  19. package/dist/sdk-config/v1/index.js.map +1 -1
  20. package/dist/sdk-config-ir/index.cjs +607 -537
  21. package/dist/sdk-config-ir/index.cjs.map +1 -1
  22. package/dist/sdk-config-ir/index.d.cts +1 -1
  23. package/dist/sdk-config-ir/index.d.ts +1 -1
  24. package/dist/sdk-config-ir/index.js +607 -537
  25. package/dist/sdk-config-ir/index.js.map +1 -1
  26. package/dist/sdk-config-ir/v1/index.cjs +607 -537
  27. package/dist/sdk-config-ir/v1/index.cjs.map +1 -1
  28. package/dist/sdk-config-ir/v1/index.d.cts +25 -7
  29. package/dist/sdk-config-ir/v1/index.d.ts +25 -7
  30. package/dist/sdk-config-ir/v1/index.js +607 -537
  31. package/dist/sdk-config-ir/v1/index.js.map +1 -1
  32. package/dist/{typescript-BruxA5zG.d.cts → typescript-Chge0X4f.d.cts} +8 -1
  33. package/dist/{typescript-BruxA5zG.d.ts → typescript-Chge0X4f.d.ts} +8 -1
  34. package/package.json +1 -1
  35. package/src/sdk-config/v1/README.md +15 -14
  36. package/src/sdk-config-ir/v1/README.md +4 -2
@@ -230,6 +230,7 @@ declare const mcpGenerationConfigSchema: z.ZodObject<{
230
230
  pnpm: "pnpm";
231
231
  yarn: "yarn";
232
232
  }>>;
233
+ packageManagerVersion: z.ZodOptional<z.ZodString>;
233
234
  testFramework: z.ZodOptional<z.ZodEnum<{
234
235
  jest: "jest";
235
236
  vitest: "vitest";
@@ -241,11 +242,13 @@ declare const mcpGenerationConfigSchema: z.ZodObject<{
241
242
  bundle: z.ZodOptional<z.ZodBoolean>;
242
243
  exportClassDefault: z.ZodOptional<z.ZodBoolean>;
243
244
  namespaceExportName: z.ZodOptional<z.ZodString>;
245
+ consolidateTypeFiles: z.ZodOptional<z.ZodBoolean>;
244
246
  allowCustomFetcher: z.ZodOptional<z.ZodBoolean>;
245
247
  useBrandedStringAliases: z.ZodOptional<z.ZodBoolean>;
246
248
  useLegacyExports: z.ZodOptional<z.ZodBoolean>;
247
249
  useBigInt: z.ZodOptional<z.ZodBoolean>;
248
250
  serdeLayer: z.ZodOptional<z.ZodBoolean>;
251
+ esmOnly: z.ZodOptional<z.ZodBoolean>;
249
252
  scripts: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
253
  name: z.ZodString;
251
254
  command: z.ZodString;
@@ -289,9 +292,9 @@ declare const pythonGenerationConfigSchema: z.ZodObject<{
289
292
  pydanticVersion: z.ZodOptional<z.ZodString>;
290
293
  pydantic: z.ZodOptional<z.ZodObject<{
291
294
  versionCompatibility: z.ZodOptional<z.ZodEnum<{
292
- both: "both";
293
295
  v1: "v1";
294
296
  v2: "v2";
297
+ both: "both";
295
298
  "v1-on-v2": "v1-on-v2";
296
299
  }>>;
297
300
  frozen: z.ZodOptional<z.ZodBoolean>;
@@ -416,6 +419,7 @@ declare const typescriptGenerationConfigSchema: z.ZodObject<{
416
419
  pnpm: "pnpm";
417
420
  yarn: "yarn";
418
421
  }>>;
422
+ packageManagerVersion: z.ZodOptional<z.ZodString>;
419
423
  testFramework: z.ZodOptional<z.ZodEnum<{
420
424
  jest: "jest";
421
425
  vitest: "vitest";
@@ -428,11 +432,14 @@ declare const typescriptGenerationConfigSchema: z.ZodObject<{
428
432
  exportClassDefault: z.ZodOptional<z.ZodBoolean>;
429
433
  /** Name of the top-level namespace export emitted by Fern-compatible TypeScript SDKs. */
430
434
  namespaceExportName: z.ZodOptional<z.ZodString>;
435
+ consolidateTypeFiles: z.ZodOptional<z.ZodBoolean>;
431
436
  allowCustomFetcher: z.ZodOptional<z.ZodBoolean>;
432
437
  useBrandedStringAliases: z.ZodOptional<z.ZodBoolean>;
433
438
  useLegacyExports: z.ZodOptional<z.ZodBoolean>;
434
439
  useBigInt: z.ZodOptional<z.ZodBoolean>;
435
440
  serdeLayer: z.ZodOptional<z.ZodBoolean>;
441
+ /** Ship only the ESM build (drops CJS) to avoid the Node dual-package hazard. */
442
+ esmOnly: z.ZodOptional<z.ZodBoolean>;
436
443
  scripts: z.ZodOptional<z.ZodArray<z.ZodObject<{
437
444
  name: z.ZodString;
438
445
  command: z.ZodString;
@@ -230,6 +230,7 @@ declare const mcpGenerationConfigSchema: z.ZodObject<{
230
230
  pnpm: "pnpm";
231
231
  yarn: "yarn";
232
232
  }>>;
233
+ packageManagerVersion: z.ZodOptional<z.ZodString>;
233
234
  testFramework: z.ZodOptional<z.ZodEnum<{
234
235
  jest: "jest";
235
236
  vitest: "vitest";
@@ -241,11 +242,13 @@ declare const mcpGenerationConfigSchema: z.ZodObject<{
241
242
  bundle: z.ZodOptional<z.ZodBoolean>;
242
243
  exportClassDefault: z.ZodOptional<z.ZodBoolean>;
243
244
  namespaceExportName: z.ZodOptional<z.ZodString>;
245
+ consolidateTypeFiles: z.ZodOptional<z.ZodBoolean>;
244
246
  allowCustomFetcher: z.ZodOptional<z.ZodBoolean>;
245
247
  useBrandedStringAliases: z.ZodOptional<z.ZodBoolean>;
246
248
  useLegacyExports: z.ZodOptional<z.ZodBoolean>;
247
249
  useBigInt: z.ZodOptional<z.ZodBoolean>;
248
250
  serdeLayer: z.ZodOptional<z.ZodBoolean>;
251
+ esmOnly: z.ZodOptional<z.ZodBoolean>;
249
252
  scripts: z.ZodOptional<z.ZodArray<z.ZodObject<{
250
253
  name: z.ZodString;
251
254
  command: z.ZodString;
@@ -289,9 +292,9 @@ declare const pythonGenerationConfigSchema: z.ZodObject<{
289
292
  pydanticVersion: z.ZodOptional<z.ZodString>;
290
293
  pydantic: z.ZodOptional<z.ZodObject<{
291
294
  versionCompatibility: z.ZodOptional<z.ZodEnum<{
292
- both: "both";
293
295
  v1: "v1";
294
296
  v2: "v2";
297
+ both: "both";
295
298
  "v1-on-v2": "v1-on-v2";
296
299
  }>>;
297
300
  frozen: z.ZodOptional<z.ZodBoolean>;
@@ -416,6 +419,7 @@ declare const typescriptGenerationConfigSchema: z.ZodObject<{
416
419
  pnpm: "pnpm";
417
420
  yarn: "yarn";
418
421
  }>>;
422
+ packageManagerVersion: z.ZodOptional<z.ZodString>;
419
423
  testFramework: z.ZodOptional<z.ZodEnum<{
420
424
  jest: "jest";
421
425
  vitest: "vitest";
@@ -428,11 +432,14 @@ declare const typescriptGenerationConfigSchema: z.ZodObject<{
428
432
  exportClassDefault: z.ZodOptional<z.ZodBoolean>;
429
433
  /** Name of the top-level namespace export emitted by Fern-compatible TypeScript SDKs. */
430
434
  namespaceExportName: z.ZodOptional<z.ZodString>;
435
+ consolidateTypeFiles: z.ZodOptional<z.ZodBoolean>;
431
436
  allowCustomFetcher: z.ZodOptional<z.ZodBoolean>;
432
437
  useBrandedStringAliases: z.ZodOptional<z.ZodBoolean>;
433
438
  useLegacyExports: z.ZodOptional<z.ZodBoolean>;
434
439
  useBigInt: z.ZodOptional<z.ZodBoolean>;
435
440
  serdeLayer: z.ZodOptional<z.ZodBoolean>;
441
+ /** Ship only the ESM build (drops CJS) to avoid the Node dual-package hazard. */
442
+ esmOnly: z.ZodOptional<z.ZodBoolean>;
436
443
  scripts: z.ZodOptional<z.ZodArray<z.ZodObject<{
437
444
  name: z.ZodString;
438
445
  command: z.ZodString;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postman/sdk-config",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Shared SDK configuration contracts and transformations for Postman SDK generation",
5
5
  "license": "UNLICENSED",
6
6
  "sideEffects": false,
@@ -63,8 +63,9 @@ severity, reason, suggested manual action, and the SDK Config destination when o
63
63
  cases. Generation must not recover omitted values from legacy configuration. Differing
64
64
  target-specific values are retained as sparse target overrides when the public shape can represent
65
65
  them. Optional `api` enrichment may be supplied after Fern's definition or IR has already been
66
- lowered into the public API shape. Credentials and signing material are preserved in SDK Config
67
- output blocks when present; callers must treat these fields as sensitive secrets.
66
+ lowered into the public API shape. Supported registry credentials, signing material, and GitHub
67
+ credentials are preserved in SDK Config when present; callers must treat these fields as sensitive
68
+ secrets.
68
69
 
69
70
  ## Contract boundaries
70
71
 
@@ -88,12 +89,14 @@ server-generated artifact metadata are not valid public locators. The public sch
88
89
  no `compatibility`, source-origin, artifact ID, credential-resolution, or server-generated
89
90
  publishing control fields. Supported registry credentials are flat fields selected by the `registry`
90
91
  discriminator: npm and crates accept `token`, PyPI and Maven accept `username` and `password`, and
91
- Maven accepts a complete `signature` containing `keyId`, `password`, and `secretKey`. Use environment
92
- expressions such as `${NPM_TOKEN}` for every credential rather than literal values. Unknown fields
93
- are rejected at every object boundary. Fern migration copies credential fields only when their raw
94
- `generators.yml` values are exact environment expressions. It never treats normalized or resolved
95
- output as credential provenance; literals and untraceable values are omitted with credential-safe
96
- warnings. Portable API, client, documentation, package, source settings, and language field schemas
92
+ Maven accepts a complete `signature` containing `keyId`, `password`, and `secretKey`. GitHub delivery
93
+ accepts a `credentials` object containing `username`, `password`, `token`, or `apiKey`. Use
94
+ environment expressions such as `${NPM_TOKEN}` for every credential rather than literal values.
95
+ Unknown fields are rejected at every object boundary. Fern migration copies credential fields only
96
+ when their raw `generators.yml` values are exact environment expressions. It never treats normalized
97
+ or resolved output as credential provenance; literals and untraceable values are omitted with
98
+ credential-safe warnings. Portable API, client, documentation, package, source settings, and
99
+ language field schemas
97
100
  come from a neutral shared domain layer to prevent drift; the public and internal envelopes and
98
101
  their operational extensions remain separate explicit allowlists.
99
102
 
@@ -117,8 +120,6 @@ segments. Absolute paths and `..` traversal are rejected at validation time.
117
120
  "output": { "delivery": "zip" },
118
121
  "replay": { "enabled": false },
119
122
  "generation": {
120
- "includeWatermark": true,
121
- "generateFullProject": false,
122
123
  "naming": { "smartCasing": true, "smartCasingDigitWordBoundary": false }
123
124
  },
124
125
  "targets": [
@@ -213,10 +214,10 @@ while an explicitly supplied array replaces the inherited array.
213
214
 
214
215
  An integration may also supply operational values at generation time. Those request values take
215
216
  precedence over the persisted SDK Config for fields the integration exposes, such as SDK name,
216
- SDK version, API version, package settings, generator version, output intent, and package-building
217
- requests such as `generation.generateFullProject`. The SDK Config continues to provide every field
218
- that the request does not override. Schema/domain defaults are applied only after this merge, when
219
- the single-target `SdkConfigIrV1` is parsed.
217
+ SDK version, API version, package settings, generator version, and output intent. Operational
218
+ packaging controls remain on the generation request rather than in the customer-authored SDK
219
+ Config. Schema/domain defaults are applied only after this merge, when the single-target
220
+ `SdkConfigIrV1` is parsed.
220
221
 
221
222
  Package publication requirements are validated after applying package and output precedence. For
222
223
  example, a TypeScript target publishing to npm may inherit a root `packageName`, while a Python
@@ -366,8 +366,10 @@ the migration.
366
366
  coercion, endpoint filters, example-depth controls, alias resolution, single-schema oneOf
367
367
  preservation, read-variant responses, binary-response import coercion, form encoding defaults,
368
368
  additional-properties defaults, and discriminated-union inference.
369
- - TypeScript: linter/formatter selection, consolidated type files, subpackage exports, and endpoint
370
- metadata.
369
+ - TypeScript: linter/formatter selection, subpackage exports, and endpoint metadata. (Consolidated
370
+ type files was re-added as `consolidateTypeFiles` in `typescriptGenerationConfigSchema` after
371
+ real customer use turned up — `intercom`/`auth0_fern` both set it — so this list entry no longer
372
+ applies to it.)
371
373
  - Python: ORM/smart-union/coercion/wrapped-alias/positional-constructor/inheritance/validator
372
374
  switches, flattened union bodies, lazy imports, and custom transport.
373
375
  - Java/JVM: JSON include, required-builder checks, public/extensible constructors, unknown-as-node,