@postman/sdk-config 0.12.0 → 0.13.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 +18 -6
  2. package/dist/index.cjs +158 -15
  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 +158 -15
  7. package/dist/index.js.map +1 -1
  8. package/dist/sdk-config/index.cjs +156 -14
  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 +156 -14
  13. package/dist/sdk-config/index.js.map +1 -1
  14. package/dist/sdk-config/v1/index.cjs +156 -14
  15. package/dist/sdk-config/v1/index.cjs.map +1 -1
  16. package/dist/sdk-config/v1/index.d.cts +400 -31
  17. package/dist/sdk-config/v1/index.d.ts +400 -31
  18. package/dist/sdk-config/v1/index.js +156 -14
  19. package/dist/sdk-config/v1/index.js.map +1 -1
  20. package/dist/sdk-config-ir/index.cjs +18 -5
  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 +18 -5
  25. package/dist/sdk-config-ir/index.js.map +1 -1
  26. package/dist/sdk-config-ir/v1/index.cjs +18 -5
  27. package/dist/sdk-config-ir/v1/index.cjs.map +1 -1
  28. package/dist/sdk-config-ir/v1/index.d.cts +27 -4
  29. package/dist/sdk-config-ir/v1/index.d.ts +27 -4
  30. package/dist/sdk-config-ir/v1/index.js +18 -5
  31. package/dist/sdk-config-ir/v1/index.js.map +1 -1
  32. package/dist/{typescript-Byhn4MqL.d.cts → typescript-BFRxjAah.d.cts} +1 -0
  33. package/dist/{typescript-Byhn4MqL.d.ts → typescript-BFRxjAah.d.ts} +1 -0
  34. package/package.json +1 -1
  35. package/src/sdk-config/v1/README.md +32 -11
  36. package/src/sdk-config-ir/v1/README.md +36 -29
@@ -446,7 +446,10 @@ var cliDistributionConfigSchema = zod.z.strictObject({
446
446
  "A GitHub App used to mint short-lived tokens for every channel without its own tokenSecretName."
447
447
  ),
448
448
  homebrew: cliDistributionHomebrewSchema.optional().describe("Publishes a Homebrew formula to a tap repository on each tagged release."),
449
- scoop: cliDistributionScoopSchema.optional().describe("Publishes a Scoop manifest to a bucket repository on each tagged release.")
449
+ scoop: cliDistributionScoopSchema.optional().describe("Publishes a Scoop manifest to a bucket repository on each tagged release."),
450
+ githubAttestations: zod.z.union([zod.z.literal("auto"), zod.z.boolean()], { error: 'must be "auto", true, or false' }).optional().describe(
451
+ 'Whether the generated release workflow attests build provenance. "auto" (the generator default) attests only on public repositories; true always attests, for private repositories on GitHub Enterprise Cloud; false omits the attestation step and its permissions.'
452
+ )
450
453
  }).superRefine((distribution, context) => {
451
454
  if (distribution.homebrew !== void 0 || distribution.scoop !== void 0) {
452
455
  return;
@@ -459,6 +462,9 @@ var cliDistributionConfigSchema = zod.z.strictObject({
459
462
  });
460
463
  return;
461
464
  }
465
+ if (distribution.githubAttestations !== void 0) {
466
+ return;
467
+ }
462
468
  context.addIssue({
463
469
  code: "custom",
464
470
  message: "distribution must configure at least one channel: homebrew or scoop"
@@ -470,14 +476,17 @@ var CLI_DISTRIBUTION_NON_RELEASE_MODE_CODE = "CLI_DISTRIBUTION_NON_RELEASE_MODE"
470
476
  var nonReleaseGithubModes = /* @__PURE__ */ new Set(["pull-request", "push", "commit"]);
471
477
  function cliDistributionModeDiagnostic(output, outputPath) {
472
478
  const mode = output?.github?.mode;
473
- if (output?.distribution === void 0 || mode === void 0 || !nonReleaseGithubModes.has(mode)) {
479
+ const distribution = output?.distribution;
480
+ if (distribution === void 0 || mode === void 0 || !nonReleaseGithubModes.has(mode)) {
474
481
  return void 0;
475
482
  }
483
+ const hasChannel = distribution.homebrew !== void 0 || distribution.scoop !== void 0;
484
+ const consequence = hasChannel ? "Homebrew and Scoop publish only after a semantic-version tag is pushed to the repository." : "the release workflow, including its githubAttestations setting, runs only after a semantic-version tag is pushed to the repository.";
476
485
  return {
477
486
  code: CLI_DISTRIBUTION_NON_RELEASE_MODE_CODE,
478
487
  severity: "warning",
479
488
  path: [...outputPath, "github", "mode"],
480
- reason: `GitHub mode "${mode}" does not create a release tag, so Homebrew and Scoop publish only after a semantic-version tag is pushed to the repository.`,
489
+ reason: `GitHub mode "${mode}" does not create a release tag, so ${consequence}`,
481
490
  suggestedAction: 'Use mode "release" or "commit-and-release", or push a version tag after merging generated changes.'
482
491
  };
483
492
  }
@@ -822,7 +831,7 @@ var pythonGenerationConfigSchema = zod.z.strictObject({
822
831
  additionalInitExports: zod.z.array(additionalInitExportSchema).optional().describe("Additional names re-exported from the package initializer.")
823
832
  });
824
833
  var rubyGenerationConfigSchema = zod.z.strictObject({
825
- requirePaths: zod.z.array(nonEmptyStringSchema).optional().describe("Ruby load paths included in the generated gem specification.")
834
+ requirePaths: zod.z.array(nonEmptyStringSchema).optional().describe("Files the generated entry file loads with `require`.")
826
835
  });
827
836
  var rustGenerationConfigSchema = zod.z.strictObject({
828
837
  /**
@@ -1201,6 +1210,7 @@ var publishConfigSchema = zod.z.discriminatedUnion("registry", [
1201
1210
  zod.z.strictObject({
1202
1211
  registry: zod.z.literal("rubygems").describe("Publishes the package to a RubyGems-compatible registry."),
1203
1212
  apiKeyEnvironmentVariable: nonEmptyStringSchema.optional().describe("The environment variable containing the RubyGems API key."),
1213
+ ...trustedPublishingShape,
1204
1214
  ...commonPublishShape
1205
1215
  }),
1206
1216
  zod.z.strictObject({
@@ -1271,7 +1281,7 @@ var githubOutputSchema = zod.z.strictObject({
1271
1281
  var distributionShape = {
1272
1282
  /** Valid only for `cli` targets with GitHub delivery; secret names only, never values. */
1273
1283
  distribution: cliDistributionConfigSchema.optional().describe(
1274
- "CLI release channels published by the generated release workflow; credentials are GitHub Actions secret names."
1284
+ "CLI release channels and build attestation settings for the generated release workflow; credentials are GitHub Actions secret names."
1275
1285
  )
1276
1286
  };
1277
1287
  var credentialResolutionShape = {
@@ -1331,6 +1341,9 @@ var apiImportSettingsSchema = zod.z.strictObject({
1331
1341
  discriminatedUnionV2: zod.z.boolean().optional().describe("Whether oneOf and anyOf schemas use the newer discriminator inference rules."),
1332
1342
  undiscriminatedUnionsWithLiterals: zod.z.boolean().optional().describe("Whether literal-bearing unions remain undiscriminated during import."),
1333
1343
  inlineAllOfSchemas: zod.z.boolean().optional().describe("Whether schemas composed with allOf are inlined when possible."),
1344
+ inferDiscriminatedUnionBaseProperties: zod.z.boolean().optional().describe(
1345
+ "Whether properties every discriminated-union variant shares are lifted onto the union."
1346
+ ),
1334
1347
  resolveSchemaCollisions: zod.z.boolean().optional().describe("Whether colliding imported schema names are resolved automatically."),
1335
1348
  asyncApiMessageNaming: zod.z.enum(["v1", "v2"]).optional().describe("The naming strategy used for messages imported from AsyncAPI."),
1336
1349
  defaultIntegerFormat: zod.z.enum(["int32", "int64", "uint32", "uint64"]).optional().describe("The integer format used when a schema does not declare one.")