@savvy-web/silk 1.1.2 → 1.3.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 (60) hide show
  1. package/_virtual/_rolldown/runtime.js +1 -1
  2. package/changesets-changelog.cjs +25753 -929
  3. package/changesets-changelog.d.cts +175 -12
  4. package/changesets-changelog.d.ts +175 -12
  5. package/changesets-markdownlint.cjs +25753 -929
  6. package/changesets-markdownlint.d.cts +175 -12
  7. package/changesets-markdownlint.d.ts +175 -12
  8. package/package.json +8 -8
  9. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.cjs +0 -1
  10. package/packages/silk-effects/dist/dev/pkg/changesets/categories/types.js +0 -1
  11. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.cjs +0 -2
  12. package/packages/silk-effects/dist/dev/pkg/changesets/changelog/index.js +0 -2
  13. package/packages/silk-effects/dist/dev/pkg/changesets/constants.cjs +0 -1
  14. package/packages/silk-effects/dist/dev/pkg/changesets/constants.js +0 -1
  15. package/packages/silk-effects/dist/dev/pkg/changesets/errors.cjs +26 -1
  16. package/packages/silk-effects/dist/dev/pkg/changesets/errors.js +25 -2
  17. package/packages/silk-effects/dist/dev/pkg/changesets/index.cjs +16 -1
  18. package/packages/silk-effects/dist/dev/pkg/changesets/index.js +17 -2
  19. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.cjs +2 -2
  20. package/packages/silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js +2 -2
  21. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.cjs +1 -1
  22. package/packages/silk-effects/dist/dev/pkg/changesets/remark/rules/uncategorized-content.js +1 -1
  23. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.cjs +0 -1
  24. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/changeset.js +0 -1
  25. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.cjs +0 -1
  26. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/dependency-table.js +0 -1
  27. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.cjs +0 -1
  28. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/git.js +0 -1
  29. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.cjs +0 -1
  30. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/github.js +0 -1
  31. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.cjs +0 -1
  32. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/options.js +0 -1
  33. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.cjs +0 -1
  34. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/package-scope.js +0 -1
  35. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.cjs +0 -1
  36. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/primitives.js +0 -1
  37. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.cjs +62 -0
  38. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js +56 -0
  39. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.cjs +0 -1
  40. package/packages/silk-effects/dist/dev/pkg/changesets/schemas/version-files.js +0 -1
  41. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.cjs +0 -1
  42. package/packages/silk-effects/dist/dev/pkg/changesets/services/branch-analyzer.js +0 -1
  43. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.cjs +2 -3
  44. package/packages/silk-effects/dist/dev/pkg/changesets/services/config-inspector.js +2 -3
  45. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.cjs +254 -0
  46. package/packages/silk-effects/dist/dev/pkg/changesets/services/release-planner.js +251 -0
  47. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.cjs +3 -4
  48. package/packages/silk-effects/dist/dev/pkg/changesets/utils/publishability.js +3 -4
  49. package/packages/silk-effects/dist/dev/pkg/changesets/utils/worktree-snapshot.cjs +1 -1
  50. package/packages/silk-effects/dist/dev/pkg/changesets/utils/worktree-snapshot.js +1 -1
  51. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.cjs +2 -1
  52. package/packages/silk-effects/dist/dev/pkg/errors/ChangesetConfigError.js +2 -1
  53. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.cjs +7 -3
  54. package/packages/silk-effects/dist/dev/pkg/schemas/VersioningSchemas.js +7 -3
  55. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.cjs +2 -0
  56. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfig.js +2 -0
  57. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.cjs +4 -2
  58. package/packages/silk-effects/dist/dev/pkg/services/ChangesetConfigReader.js +4 -2
  59. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.cjs +17 -13
  60. package/packages/silk-effects/dist/dev/pkg/services/SilkPublishability.js +17 -13
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savvy-web/silk",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "private": false,
5
5
  "description": "The single Silk Suite dev-tooling package — changeset, commitlint, lint, and biome conventions",
6
6
  "homepage": "https://github.com/savvy-web/systems/tree/main/packages/silk",
@@ -65,9 +65,9 @@
65
65
  "./package.json": "./package.json"
66
66
  },
67
67
  "dependencies": {
68
- "@effect/platform": "^0.96.1",
69
- "@savvy-web/silk-effects": "1.3.1",
70
- "effect": "^3.21.3",
68
+ "@effect/platform": "^0.96.2",
69
+ "@savvy-web/silk-effects": "1.5.0",
70
+ "effect": "^3.21.4",
71
71
  "semver": "^7.8.4"
72
72
  },
73
73
  "peerDependencies": {
@@ -75,10 +75,10 @@
75
75
  "@changesets/cli": "^2.31.0",
76
76
  "@commitlint/cli": "^21.0.1",
77
77
  "@commitlint/config-conventional": "^21.0.2",
78
- "@savvy-web/cli": "1.1.2",
79
- "@savvy-web/mcp": "1.1.2",
80
- "@types/node": "^25.9.0",
81
- "@typescript/native-preview": "^7.0.0-dev.20260513.1",
78
+ "@savvy-web/cli": "1.3.0",
79
+ "@savvy-web/mcp": "1.3.0",
80
+ "@types/node": "^26.0.0",
81
+ "@typescript/native-preview": "^7.0.0-dev.20260612.1",
82
82
  "commitizen": "^4.3.0",
83
83
  "husky": "^9.1.7",
84
84
  "lint-staged": "^17.0.7",
@@ -16,7 +16,6 @@ let effect = require("effect");
16
16
  * @see {@link resolveCommitType} for mapping commit types to categories
17
17
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
18
18
  *
19
- * @packageDocumentation
20
19
  */
21
20
  /**
22
21
  * Schema for a section category that defines how changes are grouped in release notes.
@@ -16,7 +16,6 @@ import { Schema } from "effect";
16
16
  * @see {@link resolveCommitType} for mapping commit types to categories
17
17
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
18
18
  *
19
- * @packageDocumentation
20
19
  */
21
20
  /**
22
21
  * Schema for a section category that defines how changes are grouped in release notes.
@@ -56,8 +56,6 @@ let effect = require("effect");
56
56
  *
57
57
  * @see {@link getReleaseLine} in `./getReleaseLine.ts` for individual changeset formatting
58
58
  * @see {@link getDependencyReleaseLine} in `./getDependencyReleaseLine.ts` for dependency table formatting
59
- *
60
- * @packageDocumentation
61
59
  */
62
60
  /**
63
61
  * Combined layer providing all services needed by the formatters.
@@ -56,8 +56,6 @@ import { Effect, Layer } from "effect";
56
56
  *
57
57
  * @see {@link getReleaseLine} in `./getReleaseLine.ts` for individual changeset formatting
58
58
  * @see {@link getDependencyReleaseLine} in `./getDependencyReleaseLine.ts` for dependency table formatting
59
- *
60
- * @packageDocumentation
61
59
  */
62
60
  /**
63
61
  * Combined layer providing all services needed by the formatters.
@@ -17,7 +17,6 @@
17
17
  * - `CSH005` -- Frontmatter validation
18
18
  *
19
19
  * @internal
20
- * @packageDocumentation
21
20
  */
22
21
  /** Base URL for rule documentation on GitHub. */
23
22
  const DOCS_BASE = "https://github.com/savvy-web/changesets/blob/main/docs/rules";
@@ -16,7 +16,6 @@
16
16
  * - `CSH005` -- Frontmatter validation
17
17
  *
18
18
  * @internal
19
- * @packageDocumentation
20
19
  */
21
20
  /** Base URL for rule documentation on GitHub. */
22
21
  const DOCS_BASE = "https://github.com/savvy-web/changesets/blob/main/docs/rules";
@@ -16,7 +16,6 @@ let effect = require("effect");
16
16
  *
17
17
  * @see {@link https://effect.website/docs/data-types/data#taggerror | Effect TaggedError documentation}
18
18
  *
19
- * @packageDocumentation
20
19
  */
21
20
  /**
22
21
  * Base class for {@link ChangesetValidationError}.
@@ -300,6 +299,30 @@ var GitError = class extends GitErrorBase {
300
299
  return `git command failed in ${this.cwd}: ${this.command}\n${this.reason}`;
301
300
  }
302
301
  };
302
+ /**
303
+ * Base class for {@link ReleasePlanError}.
304
+ *
305
+ * @privateRemarks
306
+ * Required export for api-extractor (anonymous Data.TaggedError base). Do not delete.
307
+ *
308
+ * @internal
309
+ */
310
+ const ReleasePlanErrorBase = effect.Data.TaggedError("ReleasePlanError");
311
+ /**
312
+ * Release planning, preview, or apply failure.
313
+ *
314
+ * @remarks
315
+ * Wraps any failure from the underlying `@changesets/*` machinery
316
+ * (`getReleasePlan`, `applyReleasePlan`, config resolution) into a typed
317
+ * Effect error, tagged with the phase that failed.
318
+ *
319
+ * @public
320
+ */
321
+ var ReleasePlanError = class extends ReleasePlanErrorBase {
322
+ get message() {
323
+ return `Release plan error (${this.phase}): ${this.reason}`;
324
+ }
325
+ };
303
326
 
304
327
  //#endregion
305
328
  exports.ChangesetValidationError = ChangesetValidationError;
@@ -312,5 +335,7 @@ exports.GitHubApiError = GitHubApiError;
312
335
  exports.GitHubApiErrorBase = GitHubApiErrorBase;
313
336
  exports.MarkdownParseError = MarkdownParseError;
314
337
  exports.MarkdownParseErrorBase = MarkdownParseErrorBase;
338
+ exports.ReleasePlanError = ReleasePlanError;
339
+ exports.ReleasePlanErrorBase = ReleasePlanErrorBase;
315
340
  exports.VersionFileError = VersionFileError;
316
341
  exports.VersionFileErrorBase = VersionFileErrorBase;
@@ -16,7 +16,6 @@ import { Data } from "effect";
16
16
  *
17
17
  * @see {@link https://effect.website/docs/data-types/data#taggerror | Effect TaggedError documentation}
18
18
  *
19
- * @packageDocumentation
20
19
  */
21
20
  /**
22
21
  * Base class for {@link ChangesetValidationError}.
@@ -300,6 +299,30 @@ var GitError = class extends GitErrorBase {
300
299
  return `git command failed in ${this.cwd}: ${this.command}\n${this.reason}`;
301
300
  }
302
301
  };
302
+ /**
303
+ * Base class for {@link ReleasePlanError}.
304
+ *
305
+ * @privateRemarks
306
+ * Required export for api-extractor (anonymous Data.TaggedError base). Do not delete.
307
+ *
308
+ * @internal
309
+ */
310
+ const ReleasePlanErrorBase = Data.TaggedError("ReleasePlanError");
311
+ /**
312
+ * Release planning, preview, or apply failure.
313
+ *
314
+ * @remarks
315
+ * Wraps any failure from the underlying `@changesets/*` machinery
316
+ * (`getReleasePlan`, `applyReleasePlan`, config resolution) into a typed
317
+ * Effect error, tagged with the phase that failed.
318
+ *
319
+ * @public
320
+ */
321
+ var ReleasePlanError = class extends ReleasePlanErrorBase {
322
+ get message() {
323
+ return `Release plan error (${this.phase}): ${this.reason}`;
324
+ }
325
+ };
303
326
 
304
327
  //#endregion
305
- export { ChangesetValidationError, ChangesetValidationErrorBase, ConfigurationError, ConfigurationErrorBase, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, MarkdownParseError, MarkdownParseErrorBase, VersionFileError, VersionFileErrorBase };
328
+ export { ChangesetValidationError, ChangesetValidationErrorBase, ConfigurationError, ConfigurationErrorBase, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, MarkdownParseError, MarkdownParseErrorBase, ReleasePlanError, ReleasePlanErrorBase, VersionFileError, VersionFileErrorBase };
@@ -28,13 +28,15 @@ const require_transformer = require('./api/transformer.cjs');
28
28
  const require_config_inspector = require('./services/config-inspector.cjs');
29
29
  const require_branch_analyzer = require('./services/branch-analyzer.cjs');
30
30
  const require_changelog$1 = require('./services/changelog.cjs');
31
+ const require_version_files$1 = require('./utils/version-files.cjs');
32
+ const require_release_planner = require('./services/release-planner.cjs');
31
33
  const require_workspace_snapshot = require('./services/workspace-snapshot.cjs');
32
34
  const require_types = require('./categories/types.cjs');
33
35
  const require_git = require('./schemas/git.cjs');
34
36
  const require_changeset = require('./schemas/changeset.cjs');
37
+ const require_release_plan = require('./schemas/release-plan.cjs');
35
38
  const require_dep_diff = require('./utils/dep-diff.cjs');
36
39
  const require_publishability = require('./utils/publishability.cjs');
37
- const require_version_files$1 = require('./utils/version-files.cjs');
38
40
  const require_worktree_snapshot = require('./utils/worktree-snapshot.cjs');
39
41
  const require_content_structure$1 = require('./markdownlint/rules/content-structure.cjs');
40
42
  const require_dependency_table_format = require('./markdownlint/rules/dependency-table-format.cjs');
@@ -49,11 +51,14 @@ const require_presets = require('./remark/presets.cjs');
49
51
  //#region ../silk-effects/dist/dev/pkg/changesets/index.js
50
52
  var changesets_exports = /* @__PURE__ */ require_runtime.__exportAll({
51
53
  AggregateDependencyTablesPlugin: () => require_aggregate_dependency_tables.AggregateDependencyTablesPlugin,
54
+ AppliedReleaseEntrySchema: () => require_release_plan.AppliedReleaseEntrySchema,
55
+ AppliedReleaseSchema: () => require_release_plan.AppliedReleaseSchema,
52
56
  BranchAnalysisSchema: () => require_branch_analyzer.BranchAnalysisSchema,
53
57
  BranchAnalyzer: () => require_branch_analyzer.BranchAnalyzer,
54
58
  BranchAnalyzerBase: () => require_branch_analyzer.BranchAnalyzerBase,
55
59
  BranchAnalyzerLive: () => require_branch_analyzer.BranchAnalyzerLive,
56
60
  BranchFileEntrySchema: () => require_branch_analyzer.BranchFileEntrySchema,
61
+ BumpTypeSchema: () => require_release_plan.BumpTypeSchema,
57
62
  Categories: () => require_categories.Categories,
58
63
  Changelog: () => require_changelog.Changelog,
59
64
  ChangelogService: () => require_changelog$1.ChangelogService,
@@ -61,6 +66,7 @@ var changesets_exports = /* @__PURE__ */ require_runtime.__exportAll({
61
66
  ChangelogTransformer: () => require_transformer.ChangelogTransformer,
62
67
  ChangesetLinter: () => require_linter.ChangesetLinter,
63
68
  ChangesetOptionsSchema: () => require_options.ChangesetOptionsSchema,
69
+ ChangesetPreviewSchema: () => require_release_plan.ChangesetPreviewSchema,
64
70
  ChangesetSchema: () => require_changeset.ChangesetSchema,
65
71
  ChangesetSummarySchema: () => require_changeset.ChangesetSummarySchema,
66
72
  ChangesetValidationError: () => require_errors.ChangesetValidationError,
@@ -116,7 +122,14 @@ var changesets_exports = /* @__PURE__ */ require_runtime.__exportAll({
116
122
  NormalizeFormatPlugin: () => require_normalize_format.NormalizeFormatPlugin,
117
123
  PackageScopeSchema: () => require_package_scope.PackageScopeSchema,
118
124
  PackagesRecordSchema: () => require_package_scope.PackagesRecordSchema,
125
+ PendingChangesetSchema: () => require_release_plan.PendingChangesetSchema,
119
126
  PositiveInteger: () => require_primitives.PositiveInteger,
127
+ PreviewReleaseSchema: () => require_release_plan.PreviewReleaseSchema,
128
+ ReleasePlanError: () => require_errors.ReleasePlanError,
129
+ ReleasePlanErrorBase: () => require_errors.ReleasePlanErrorBase,
130
+ ReleasePlanner: () => require_release_planner.ReleasePlanner,
131
+ ReleasePlannerBase: () => require_release_planner.ReleasePlannerBase,
132
+ ReleasePlannerLive: () => require_release_planner.ReleasePlannerLive,
120
133
  ReorderSectionsPlugin: () => require_reorder_sections.ReorderSectionsPlugin,
121
134
  RepoSchema: () => require_options.RepoSchema,
122
135
  RequiredSectionsRule: () => require_required_sections.RequiredSectionsRule,
@@ -132,6 +145,7 @@ var changesets_exports = /* @__PURE__ */ require_runtime.__exportAll({
132
145
  VersionFileConfigSchema: () => require_version_files.VersionFileConfigSchema,
133
146
  VersionFileError: () => require_errors.VersionFileError,
134
147
  VersionFileErrorBase: () => require_errors.VersionFileErrorBase,
148
+ VersionFileUpdateRecordSchema: () => require_release_plan.VersionFileUpdateRecordSchema,
135
149
  VersionFiles: () => require_version_files$1.VersionFiles,
136
150
  VersionFilesSchema: () => require_version_files.VersionFilesSchema,
137
151
  VersionOrEmptySchema: () => require_dependency_table.VersionOrEmptySchema,
@@ -146,6 +160,7 @@ var changesets_exports = /* @__PURE__ */ require_runtime.__exportAll({
146
160
  makeBranchAnalyzerTest: () => require_branch_analyzer.makeBranchAnalyzerTest,
147
161
  makeConfigInspectorTest: () => require_config_inspector.makeConfigInspectorTest,
148
162
  makeGitHubTest: () => require_github.makeGitHubTest,
163
+ makeReleasePlannerTest: () => require_release_planner.makeReleasePlannerTest,
149
164
  serializeDependencyTableToMarkdown: () => require_dependency_table$1.serializeDependencyTableToMarkdown,
150
165
  snapshotFromWorktree: () => require_worktree_snapshot.snapshotFromWorktree
151
166
  });
@@ -1,6 +1,6 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { Categories } from "./api/categories.js";
3
- import { ChangesetValidationError, ChangesetValidationErrorBase, ConfigurationError, ConfigurationErrorBase, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, MarkdownParseError, MarkdownParseErrorBase, VersionFileError, VersionFileErrorBase } from "./errors.js";
3
+ import { ChangesetValidationError, ChangesetValidationErrorBase, ConfigurationError, ConfigurationErrorBase, GitError, GitErrorBase, GitHubApiError, GitHubApiErrorBase, MarkdownParseError, MarkdownParseErrorBase, ReleasePlanError, ReleasePlanErrorBase, VersionFileError, VersionFileErrorBase } from "./errors.js";
4
4
  import { JsonPathSchema, LegacyVersionFileConfigSchema, LegacyVersionFilesSchema, VersionFileConfigSchema, VersionFilesSchema } from "./schemas/version-files.js";
5
5
  import { GlobSchema, PackageScopeSchema, PackagesRecordSchema } from "./schemas/package-scope.js";
6
6
  import { ChangesetOptionsSchema, RepoSchema } from "./schemas/options.js";
@@ -28,13 +28,15 @@ import { ChangelogTransformer } from "./api/transformer.js";
28
28
  import { ClassificationReasonSchema, ClassificationSchema, ConfigInspector, ConfigInspectorBase, ConfigInspectorLive, InspectedConfigSchema, ResolvedPackageScopeSchema, ResolvedVersionFileSchema, makeConfigInspectorTest } from "./services/config-inspector.js";
29
29
  import { BranchAnalysisSchema, BranchAnalyzer, BranchAnalyzerBase, BranchAnalyzerLive, BranchFileEntrySchema, FileStatusSchema, makeBranchAnalyzerTest } from "./services/branch-analyzer.js";
30
30
  import { ChangelogService, ChangelogServiceBase } from "./services/changelog.js";
31
+ import { VersionFiles } from "./utils/version-files.js";
32
+ import { ReleasePlanner, ReleasePlannerBase, ReleasePlannerLive, makeReleasePlannerTest } from "./services/release-planner.js";
31
33
  import { WorkspaceSnapshotReader, WorkspaceSnapshotReaderBase, WorkspaceSnapshotReaderLive } from "./services/workspace-snapshot.js";
32
34
  import { SectionCategorySchema } from "./categories/types.js";
33
35
  import { CommitHashSchema, VersionTypeSchema } from "./schemas/git.js";
34
36
  import { ChangesetSchema, ChangesetSummarySchema, DependencyTypeSchema, DependencyUpdateSchema } from "./schemas/changeset.js";
37
+ import { AppliedReleaseEntrySchema, AppliedReleaseSchema, BumpTypeSchema, ChangesetPreviewSchema, PendingChangesetSchema, PreviewReleaseSchema, VersionFileUpdateRecordSchema } from "./schemas/release-plan.js";
35
38
  import { computeWorkspaceDependencyDiffs } from "./utils/dep-diff.js";
36
39
  import { listPublishablePackageNames } from "./utils/publishability.js";
37
- import { VersionFiles } from "./utils/version-files.js";
38
40
  import { gitMergeBase, snapshotFromWorktree } from "./utils/worktree-snapshot.js";
39
41
  import { ContentStructureRule as ContentStructureRule$1 } from "./markdownlint/rules/content-structure.js";
40
42
  import { DependencyTableFormatRule } from "./markdownlint/rules/dependency-table-format.js";
@@ -49,11 +51,14 @@ import { SilkChangesetPreset, SilkChangesetTransformPreset } from "./remark/pres
49
51
  //#region ../silk-effects/dist/dev/pkg/changesets/index.js
50
52
  var changesets_exports = /* @__PURE__ */ __exportAll({
51
53
  AggregateDependencyTablesPlugin: () => AggregateDependencyTablesPlugin,
54
+ AppliedReleaseEntrySchema: () => AppliedReleaseEntrySchema,
55
+ AppliedReleaseSchema: () => AppliedReleaseSchema,
52
56
  BranchAnalysisSchema: () => BranchAnalysisSchema,
53
57
  BranchAnalyzer: () => BranchAnalyzer,
54
58
  BranchAnalyzerBase: () => BranchAnalyzerBase,
55
59
  BranchAnalyzerLive: () => BranchAnalyzerLive,
56
60
  BranchFileEntrySchema: () => BranchFileEntrySchema,
61
+ BumpTypeSchema: () => BumpTypeSchema,
57
62
  Categories: () => Categories,
58
63
  Changelog: () => Changelog,
59
64
  ChangelogService: () => ChangelogService,
@@ -61,6 +66,7 @@ var changesets_exports = /* @__PURE__ */ __exportAll({
61
66
  ChangelogTransformer: () => ChangelogTransformer,
62
67
  ChangesetLinter: () => ChangesetLinter,
63
68
  ChangesetOptionsSchema: () => ChangesetOptionsSchema,
69
+ ChangesetPreviewSchema: () => ChangesetPreviewSchema,
64
70
  ChangesetSchema: () => ChangesetSchema,
65
71
  ChangesetSummarySchema: () => ChangesetSummarySchema,
66
72
  ChangesetValidationError: () => ChangesetValidationError,
@@ -116,7 +122,14 @@ var changesets_exports = /* @__PURE__ */ __exportAll({
116
122
  NormalizeFormatPlugin: () => NormalizeFormatPlugin,
117
123
  PackageScopeSchema: () => PackageScopeSchema,
118
124
  PackagesRecordSchema: () => PackagesRecordSchema,
125
+ PendingChangesetSchema: () => PendingChangesetSchema,
119
126
  PositiveInteger: () => PositiveInteger,
127
+ PreviewReleaseSchema: () => PreviewReleaseSchema,
128
+ ReleasePlanError: () => ReleasePlanError,
129
+ ReleasePlanErrorBase: () => ReleasePlanErrorBase,
130
+ ReleasePlanner: () => ReleasePlanner,
131
+ ReleasePlannerBase: () => ReleasePlannerBase,
132
+ ReleasePlannerLive: () => ReleasePlannerLive,
120
133
  ReorderSectionsPlugin: () => ReorderSectionsPlugin,
121
134
  RepoSchema: () => RepoSchema,
122
135
  RequiredSectionsRule: () => RequiredSectionsRule,
@@ -132,6 +145,7 @@ var changesets_exports = /* @__PURE__ */ __exportAll({
132
145
  VersionFileConfigSchema: () => VersionFileConfigSchema,
133
146
  VersionFileError: () => VersionFileError,
134
147
  VersionFileErrorBase: () => VersionFileErrorBase,
148
+ VersionFileUpdateRecordSchema: () => VersionFileUpdateRecordSchema,
135
149
  VersionFiles: () => VersionFiles,
136
150
  VersionFilesSchema: () => VersionFilesSchema,
137
151
  VersionOrEmptySchema: () => VersionOrEmptySchema,
@@ -146,6 +160,7 @@ var changesets_exports = /* @__PURE__ */ __exportAll({
146
160
  makeBranchAnalyzerTest: () => makeBranchAnalyzerTest,
147
161
  makeConfigInspectorTest: () => makeConfigInspectorTest,
148
162
  makeGitHubTest: () => makeGitHubTest,
163
+ makeReleasePlannerTest: () => makeReleasePlannerTest,
149
164
  serializeDependencyTableToMarkdown: () => serializeDependencyTableToMarkdown,
150
165
  snapshotFromWorktree: () => snapshotFromWorktree
151
166
  });
@@ -3,7 +3,7 @@ const require_utils = require('./utils.cjs');
3
3
 
4
4
  //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js
5
5
  const EM_DASH = "—";
6
- const VALID_TYPES = new Set([
6
+ const VALID_TYPES = /* @__PURE__ */ new Set([
7
7
  "dependency",
8
8
  "devDependency",
9
9
  "peerDependency",
@@ -11,7 +11,7 @@ const VALID_TYPES = new Set([
11
11
  "workspace",
12
12
  "config"
13
13
  ]);
14
- const VALID_ACTIONS = new Set([
14
+ const VALID_ACTIONS = /* @__PURE__ */ new Set([
15
15
  "added",
16
16
  "updated",
17
17
  "removed"
@@ -3,7 +3,7 @@ import { getHeadingLevel, getHeadingText } from "./utils.js";
3
3
 
4
4
  //#region ../silk-effects/dist/dev/pkg/changesets/markdownlint/rules/dependency-table-format.js
5
5
  const EM_DASH = "—";
6
- const VALID_TYPES = new Set([
6
+ const VALID_TYPES = /* @__PURE__ */ new Set([
7
7
  "dependency",
8
8
  "devDependency",
9
9
  "peerDependency",
@@ -11,7 +11,7 @@ const VALID_TYPES = new Set([
11
11
  "workspace",
12
12
  "config"
13
13
  ]);
14
- const VALID_ACTIONS = new Set([
14
+ const VALID_ACTIONS = /* @__PURE__ */ new Set([
15
15
  "added",
16
16
  "updated",
17
17
  "removed"
@@ -7,7 +7,7 @@ const require_index = require('../../../../../../../../node_modules/.pnpm/unifie
7
7
  *
8
8
  * @internal
9
9
  */
10
- const IGNORED_TYPES = new Set(["html"]);
10
+ const IGNORED_TYPES = /* @__PURE__ */ new Set(["html"]);
11
11
  /**
12
12
  * Determine whether a node is substantive content (not a heading or ignored type).
13
13
  *
@@ -7,7 +7,7 @@ import { lintRule } from "../../../../../../../../node_modules/.pnpm/unified-lin
7
7
  *
8
8
  * @internal
9
9
  */
10
- const IGNORED_TYPES = new Set(["html"]);
10
+ const IGNORED_TYPES = /* @__PURE__ */ new Set(["html"]);
11
11
  /**
12
12
  * Determine whether a node is substantive content (not a heading or ignored type).
13
13
  *
@@ -16,7 +16,6 @@ let effect = require("effect");
16
16
  * @see {@link https://github.com/changesets/changesets | Changesets documentation}
17
17
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
18
18
  *
19
- * @packageDocumentation
20
19
  */
21
20
  /**
22
21
  * Schema for a changeset summary (1--1000 characters).
@@ -16,7 +16,6 @@ import { Schema } from "effect";
16
16
  * @see {@link https://github.com/changesets/changesets | Changesets documentation}
17
17
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
18
18
  *
19
- * @packageDocumentation
20
19
  */
21
20
  /**
22
21
  * Schema for a changeset summary (1--1000 characters).
@@ -21,7 +21,6 @@ let effect = require("effect");
21
21
  * @see {@link DependencyUpdateSchema} for the simpler Changesets API format
22
22
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
23
23
  *
24
- * @packageDocumentation
25
24
  */
26
25
  /**
27
26
  * Valid dependency table actions.
@@ -21,7 +21,6 @@ import { Schema } from "effect";
21
21
  * @see {@link DependencyUpdateSchema} for the simpler Changesets API format
22
22
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
23
23
  *
24
- * @packageDocumentation
25
24
  */
26
25
  /**
27
26
  * Valid dependency table actions.
@@ -6,7 +6,6 @@ let effect = require("effect");
6
6
  *
7
7
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
8
8
  *
9
- * @packageDocumentation
10
9
  */
11
10
  /**
12
11
  * Schema for a git commit hash (at least 7 lowercase hex characters).
@@ -6,7 +6,6 @@ import { Schema } from "effect";
6
6
  *
7
7
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
8
8
  *
9
- * @packageDocumentation
10
9
  */
11
10
  /**
12
11
  * Schema for a git commit hash (at least 7 lowercase hex characters).
@@ -13,7 +13,6 @@ let effect = require("effect");
13
13
  *
14
14
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
15
15
  *
16
- * @packageDocumentation
17
16
  */
18
17
  /**
19
18
  * Test whether a string is a valid URL.
@@ -13,7 +13,6 @@ import { Schema } from "effect";
13
13
  *
14
14
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
15
15
  *
16
- * @packageDocumentation
17
16
  */
18
17
  /**
19
18
  * Test whether a string is a valid URL.
@@ -21,7 +21,6 @@ let effect = require("effect");
21
21
  * @see {@link https://github.com/changesets/changesets/blob/main/docs/config-file-options.md | Changesets config docs}
22
22
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
23
23
  *
24
- * @packageDocumentation
25
24
  */
26
25
  /** Regex for `owner/repo` format, shared between schema and validation. */
27
26
  const REPO_PATTERN = /^[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+$/;
@@ -21,7 +21,6 @@ import { Effect, Schema } from "effect";
21
21
  * @see {@link https://github.com/changesets/changesets/blob/main/docs/config-file-options.md | Changesets config docs}
22
22
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
23
23
  *
24
- * @packageDocumentation
25
24
  */
26
25
  /** Regex for `owner/repo` format, shared between schema and validation. */
27
26
  const REPO_PATTERN = /^[a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+$/;
@@ -40,7 +40,6 @@ let effect = require("effect");
40
40
  * @see {@link VersionFileConfigSchema} for the version-file entry shape
41
41
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
42
42
  *
43
- * @packageDocumentation
44
43
  */
45
44
  /**
46
45
  * Schema for a single repo-relative glob pattern.
@@ -40,7 +40,6 @@ import { Schema } from "effect";
40
40
  * @see {@link VersionFileConfigSchema} for the version-file entry shape
41
41
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
42
42
  *
43
- * @packageDocumentation
44
43
  */
45
44
  /**
46
45
  * Schema for a single repo-relative glob pattern.
@@ -12,7 +12,6 @@ let effect = require("effect");
12
12
  *
13
13
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
14
14
  *
15
- * @packageDocumentation
16
15
  */
17
16
  /**
18
17
  * A non-empty string schema.
@@ -12,7 +12,6 @@ import { Schema } from "effect";
12
12
  *
13
13
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
14
14
  *
15
- * @packageDocumentation
16
15
  */
17
16
  /**
18
17
  * A non-empty string schema.
@@ -0,0 +1,62 @@
1
+ let effect = require("effect");
2
+
3
+ //#region ../silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js
4
+ /**
5
+ * Result schemas for the {@link ReleasePlanner} service — the structured
6
+ * preview of pending releases and the result of a native apply.
7
+ *
8
+ */
9
+ /** A semantic-version bump level (the `"none"` plan type is filtered out upstream). @public */
10
+ const BumpTypeSchema = effect.Schema.Literal("major", "minor", "patch");
11
+ /** One package's previewed release: version transition + rendered changelog block. @public */
12
+ const PreviewReleaseSchema = effect.Schema.Struct({
13
+ name: effect.Schema.String,
14
+ type: BumpTypeSchema,
15
+ oldVersion: effect.Schema.String,
16
+ newVersion: effect.Schema.String,
17
+ changesetIds: effect.Schema.Array(effect.Schema.String),
18
+ changelogEntry: effect.Schema.String
19
+ }).annotations({ identifier: "PreviewRelease" });
20
+ /** A parsed pending changeset (id + summary + the packages it bumps). @public */
21
+ const PendingChangesetSchema = effect.Schema.Struct({
22
+ id: effect.Schema.String,
23
+ summary: effect.Schema.String,
24
+ releases: effect.Schema.Array(effect.Schema.Struct({
25
+ name: effect.Schema.String,
26
+ type: BumpTypeSchema
27
+ }))
28
+ }).annotations({ identifier: "PendingChangeset" });
29
+ /** Read-only preview of what the next release would produce. @public */
30
+ const ChangesetPreviewSchema = effect.Schema.Struct({
31
+ preMode: effect.Schema.NullOr(effect.Schema.Literal("exit", "pre")),
32
+ releases: effect.Schema.Array(PreviewReleaseSchema),
33
+ changesets: effect.Schema.Array(PendingChangesetSchema)
34
+ }).annotations({ identifier: "ChangesetPreview" });
35
+ /** One applied package release (version transition). @public */
36
+ const AppliedReleaseEntrySchema = effect.Schema.Struct({
37
+ name: effect.Schema.String,
38
+ type: BumpTypeSchema,
39
+ oldVersion: effect.Schema.String,
40
+ newVersion: effect.Schema.String
41
+ }).annotations({ identifier: "AppliedReleaseEntry" });
42
+ /** A single versionFiles update applied (or planned, when dry). @public */
43
+ const VersionFileUpdateRecordSchema = effect.Schema.Struct({
44
+ filePath: effect.Schema.String,
45
+ version: effect.Schema.String
46
+ }).annotations({ identifier: "VersionFileUpdateRecord" });
47
+ /** Result of {@link ReleasePlanner.apply}. @public */
48
+ const AppliedReleaseSchema = effect.Schema.Struct({
49
+ dryRun: effect.Schema.Boolean,
50
+ touchedFiles: effect.Schema.Array(effect.Schema.String),
51
+ releases: effect.Schema.Array(AppliedReleaseEntrySchema),
52
+ versionFileUpdates: effect.Schema.Array(VersionFileUpdateRecordSchema)
53
+ }).annotations({ identifier: "AppliedRelease" });
54
+
55
+ //#endregion
56
+ exports.AppliedReleaseEntrySchema = AppliedReleaseEntrySchema;
57
+ exports.AppliedReleaseSchema = AppliedReleaseSchema;
58
+ exports.BumpTypeSchema = BumpTypeSchema;
59
+ exports.ChangesetPreviewSchema = ChangesetPreviewSchema;
60
+ exports.PendingChangesetSchema = PendingChangesetSchema;
61
+ exports.PreviewReleaseSchema = PreviewReleaseSchema;
62
+ exports.VersionFileUpdateRecordSchema = VersionFileUpdateRecordSchema;
@@ -0,0 +1,56 @@
1
+ import { Schema } from "effect";
2
+
3
+ //#region ../silk-effects/dist/dev/pkg/changesets/schemas/release-plan.js
4
+ /**
5
+ * Result schemas for the {@link ReleasePlanner} service — the structured
6
+ * preview of pending releases and the result of a native apply.
7
+ *
8
+ */
9
+ /** A semantic-version bump level (the `"none"` plan type is filtered out upstream). @public */
10
+ const BumpTypeSchema = Schema.Literal("major", "minor", "patch");
11
+ /** One package's previewed release: version transition + rendered changelog block. @public */
12
+ const PreviewReleaseSchema = Schema.Struct({
13
+ name: Schema.String,
14
+ type: BumpTypeSchema,
15
+ oldVersion: Schema.String,
16
+ newVersion: Schema.String,
17
+ changesetIds: Schema.Array(Schema.String),
18
+ changelogEntry: Schema.String
19
+ }).annotations({ identifier: "PreviewRelease" });
20
+ /** A parsed pending changeset (id + summary + the packages it bumps). @public */
21
+ const PendingChangesetSchema = Schema.Struct({
22
+ id: Schema.String,
23
+ summary: Schema.String,
24
+ releases: Schema.Array(Schema.Struct({
25
+ name: Schema.String,
26
+ type: BumpTypeSchema
27
+ }))
28
+ }).annotations({ identifier: "PendingChangeset" });
29
+ /** Read-only preview of what the next release would produce. @public */
30
+ const ChangesetPreviewSchema = Schema.Struct({
31
+ preMode: Schema.NullOr(Schema.Literal("exit", "pre")),
32
+ releases: Schema.Array(PreviewReleaseSchema),
33
+ changesets: Schema.Array(PendingChangesetSchema)
34
+ }).annotations({ identifier: "ChangesetPreview" });
35
+ /** One applied package release (version transition). @public */
36
+ const AppliedReleaseEntrySchema = Schema.Struct({
37
+ name: Schema.String,
38
+ type: BumpTypeSchema,
39
+ oldVersion: Schema.String,
40
+ newVersion: Schema.String
41
+ }).annotations({ identifier: "AppliedReleaseEntry" });
42
+ /** A single versionFiles update applied (or planned, when dry). @public */
43
+ const VersionFileUpdateRecordSchema = Schema.Struct({
44
+ filePath: Schema.String,
45
+ version: Schema.String
46
+ }).annotations({ identifier: "VersionFileUpdateRecord" });
47
+ /** Result of {@link ReleasePlanner.apply}. @public */
48
+ const AppliedReleaseSchema = Schema.Struct({
49
+ dryRun: Schema.Boolean,
50
+ touchedFiles: Schema.Array(Schema.String),
51
+ releases: Schema.Array(AppliedReleaseEntrySchema),
52
+ versionFileUpdates: Schema.Array(VersionFileUpdateRecordSchema)
53
+ }).annotations({ identifier: "AppliedRelease" });
54
+
55
+ //#endregion
56
+ export { AppliedReleaseEntrySchema, AppliedReleaseSchema, BumpTypeSchema, ChangesetPreviewSchema, PendingChangesetSchema, PreviewReleaseSchema, VersionFileUpdateRecordSchema };
@@ -26,7 +26,6 @@ let effect = require("effect");
26
26
  * @see {@link PackageScopeSchema} for the new per-package container
27
27
  * @see {@link https://effect.website/docs/schema/introduction | Effect Schema documentation}
28
28
  *
29
- * @packageDocumentation
30
29
  */
31
30
  /**
32
31
  * Schema for a JSONPath expression starting with `$.`.