@open-mercato/cezar 0.16.2-pr1607.3501 → 0.16.2-pr1642.3586

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.
@@ -1,6 +1,6 @@
1
1
  /** The rest of a version bump — the files a `chore(release)` PR used to edit by hand beside the
2
2
  * release set: the cockpit manifest, the lockfile and the changelog. Pure; the release-line
3
- * workflows (`scripts/release-line.mjs`) do the I/O. */
3
+ * workflows (`scripts/release-line.mts`) do the I/O. */
4
4
  import { type ManifestLike } from './manifests.ts';
5
5
  /** Stamp a workspace that versions in lockstep but is not in the release set (the cockpit). */
6
6
  export declare function stampCompanionManifest(pkg: ManifestLike, version: string, releaseNames: readonly string[]): ManifestLike;
@@ -1,6 +1,6 @@
1
1
  /** The rest of a version bump — the files a `chore(release)` PR used to edit by hand beside the
2
2
  * release set: the cockpit manifest, the lockfile and the changelog. Pure; the release-line
3
- * workflows (`scripts/release-line.mjs`) do the I/O. */
3
+ * workflows (`scripts/release-line.mts`) do the I/O. */
4
4
  import { compareStableVersions, parseStableVersion } from './stable.js';
5
5
  import { pinDependency } from './manifests.js';
6
6
  const DEP_SECTIONS = ['dependencies', 'devDependencies', 'peerDependencies'];
@@ -1,4 +1,4 @@
1
- /** Stable-release decisions — the pure half of `scripts/release.mjs`.
1
+ /** Stable-release decisions — the pure half of `scripts/release.mts`.
2
2
  *
3
3
  * Sibling of `snapshot.ts`, but for the *owner-driven* `latest` channel. The
4
4
  * `Release` workflow (`.github/workflows/release.yml`) is run manually and
@@ -43,6 +43,7 @@ export type ReleasePlan = {
43
43
  ok: true;
44
44
  version: string;
45
45
  bumped: boolean;
46
+ resume: boolean;
46
47
  previousTag: string | null;
47
48
  } | {
48
49
  ok: false;
@@ -51,15 +52,31 @@ export type ReleasePlan = {
51
52
  /**
52
53
  * What a release from a `release/vX.Y.x` branch publishes.
53
54
  *
54
- * The committed version ships as-is while no tag names it (the line's first `x.y.0`); once it
55
- * is tagged, the release bumps the patch first — past any tag already taken, so a re-run after a
56
- * half-finished release never collides. The branch and the manifests must agree on the line.
55
+ * A release is done when its GitHub Release exists (created last); the tag pins its commit.
56
+ * - The line's newest tag has no GitHub Release → **resume** that version at its tag. Backports
57
+ * merged since wait for the next patch, so one npm version never mixes two commits.
58
+ * - Otherwise the committed version ships as-is while no tag names it (a fresh line's `x.y.0`,
59
+ * or a bump whose run died before tagging); once tagged, the patch is bumped first.
60
+ * - An untagged version with packages already on npm is refused: publishing it from the tip
61
+ * would mix revisions. Restore its tag at the published commit instead.
57
62
  */
58
63
  export declare function planRelease(input: {
59
64
  branch: string;
60
65
  manifestVersion: string;
61
66
  tags: readonly string[];
67
+ /** Tags that have a GitHub Release. */
68
+ releasedTags: readonly string[];
69
+ /** Whether any release-set package already has `manifestVersion` on npm. */
70
+ manifestPublished: boolean;
62
71
  }): ReleasePlan;
72
+ /** The highest `vX.Y.Z` tag of one line, or `null`. */
73
+ export declare function newestLineTag(tags: readonly string[], line: {
74
+ major: number;
75
+ minor: number;
76
+ }): string | null;
77
+ /** The highest stable version among the release set's `latest` dist-tags — what a new release
78
+ * must reach to move `latest`. Judging one package misses a half-published run. */
79
+ export declare function highestLatest(latests: readonly (string | null | undefined)[]): string | null;
63
80
  /**
64
81
  * The dist-tag a stable release publishes under. Only the newest line moves `latest` — the
65
82
  * updater's stable channel follows it — so a backport publishes under `latest-X.Y` instead.
@@ -1,4 +1,4 @@
1
- /** Stable-release decisions — the pure half of `scripts/release.mjs`.
1
+ /** Stable-release decisions — the pure half of `scripts/release.mts`.
2
2
  *
3
3
  * Sibling of `snapshot.ts`, but for the *owner-driven* `latest` channel. The
4
4
  * `Release` workflow (`.github/workflows/release.yml`) is run manually and
@@ -74,32 +74,65 @@ export function nextMinorVersion(version) {
74
74
  /**
75
75
  * What a release from a `release/vX.Y.x` branch publishes.
76
76
  *
77
- * The committed version ships as-is while no tag names it (the line's first `x.y.0`); once it
78
- * is tagged, the release bumps the patch first — past any tag already taken, so a re-run after a
79
- * half-finished release never collides. The branch and the manifests must agree on the line.
77
+ * A release is done when its GitHub Release exists (created last); the tag pins its commit.
78
+ * - The line's newest tag has no GitHub Release → **resume** that version at its tag. Backports
79
+ * merged since wait for the next patch, so one npm version never mixes two commits.
80
+ * - Otherwise the committed version ships as-is while no tag names it (a fresh line's `x.y.0`,
81
+ * or a bump whose run died before tagging); once tagged, the patch is bumped first.
82
+ * - An untagged version with packages already on npm is refused: publishing it from the tip
83
+ * would mix revisions. Restore its tag at the published commit instead.
80
84
  */
81
85
  export function planRelease(input) {
82
86
  const line = parseReleaseBranch(input.branch);
83
87
  if (!line)
84
88
  return { ok: false, error: `"${input.branch}" is not a release/vX.Y.x branch` };
85
- const base = parseStableVersion(input.manifestVersion);
89
+ const manifest = input.manifestVersion.trim();
90
+ const base = parseStableVersion(manifest);
86
91
  if (!base)
87
- return { ok: false, error: `manifest version "${input.manifestVersion}" is not a plain x.y.z` };
92
+ return { ok: false, error: `manifest version "${manifest}" is not a plain x.y.z` };
88
93
  if (base[0] !== line.major || base[1] !== line.minor) {
94
+ return { ok: false, error: `manifest version ${manifest} does not belong to ${input.branch}` };
95
+ }
96
+ const tags = input.tags.map((t) => t.trim());
97
+ const previousOf = (version) => tags
98
+ .filter((t) => parseStableVersion(t) && compareStableVersions(t, version) < 0)
99
+ .sort(compareStableVersions)
100
+ .at(-1) ?? null;
101
+ const newest = newestLineTag(tags, line);
102
+ if (newest && !input.releasedTags.includes(newest)) {
103
+ const version = newest.slice(1);
104
+ return { ok: true, version, bumped: false, resume: true, previousTag: previousOf(version) };
105
+ }
106
+ const taken = new Set(tags);
107
+ let version = manifest;
108
+ while (taken.has(`v${version}`))
109
+ version = computeStableVersion('patch', version);
110
+ const bumped = version !== manifest;
111
+ if (!bumped && input.manifestPublished) {
89
112
  return {
90
113
  ok: false,
91
- error: `manifest version ${input.manifestVersion} does not belong to ${input.branch}`,
114
+ error: `${manifest} is on npm but has no v${manifest} tag — restore the tag at the commit it was published from (never delete a release tag)`,
92
115
  };
93
116
  }
94
- const taken = new Set(input.tags.map((t) => t.trim()));
95
- let version = input.manifestVersion.trim();
96
- while (taken.has(`v${version}`))
97
- version = computeStableVersion('patch', version);
98
- const previous = input.tags
99
- .filter((t) => parseStableVersion(t) && compareStableVersions(t, version) < 0)
117
+ return { ok: true, version, bumped, resume: false, previousTag: previousOf(version) };
118
+ }
119
+ /** The highest `vX.Y.Z` tag of one line, or `null`. */
120
+ export function newestLineTag(tags, line) {
121
+ return (tags
122
+ .filter((t) => {
123
+ const v = /^v/.test(t) ? parseStableVersion(t) : null;
124
+ return v !== null && v[0] === line.major && v[1] === line.minor;
125
+ })
126
+ .sort(compareStableVersions)
127
+ .at(-1) ?? null);
128
+ }
129
+ /** The highest stable version among the release set's `latest` dist-tags — what a new release
130
+ * must reach to move `latest`. Judging one package misses a half-published run. */
131
+ export function highestLatest(latests) {
132
+ return (latests
133
+ .filter((v) => typeof v === 'string' && parseStableVersion(v) !== null)
100
134
  .sort(compareStableVersions)
101
- .at(-1);
102
- return { ok: true, version, bumped: version !== input.manifestVersion.trim(), previousTag: previous ?? null };
135
+ .at(-1) ?? null);
103
136
  }
104
137
  /**
105
138
  * The dist-tag a stable release publishes under. Only the newest line moves `latest` — the
@@ -1 +1 @@
1
- {"version":3,"file":"stable.js","sourceRoot":"","sources":["../../src/release/stable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stable.js","sourceRoot":"","sources":["../../src/release/stable.ts"],"names":[],"mappings":"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"}
@@ -10872,6 +10872,19 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
10872
10872
  } & {
10873
10873
  "/repo/commit/:sha": {
10874
10874
  $get: {
10875
+ output: string;
10876
+ outputFormat: "text";
10877
+ status: import("hono/utils/http-status").ContentfulStatusCode;
10878
+ input: {
10879
+ query: {
10880
+ structured?: string | string[] | undefined;
10881
+ };
10882
+ } & {
10883
+ param: {
10884
+ sha: string;
10885
+ };
10886
+ };
10887
+ } | {
10875
10888
  output: {
10876
10889
  sha: string;
10877
10890
  subject: string;
@@ -10919,19 +10932,6 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
10919
10932
  sha: string;
10920
10933
  };
10921
10934
  };
10922
- } | {
10923
- output: string;
10924
- outputFormat: "text";
10925
- status: import("hono/utils/http-status").ContentfulStatusCode;
10926
- input: {
10927
- query: {
10928
- structured?: string | string[] | undefined;
10929
- };
10930
- } & {
10931
- param: {
10932
- sha: string;
10933
- };
10934
- };
10935
10935
  };
10936
10936
  };
10937
10937
  } & {
@@ -16910,20 +16910,20 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
16910
16910
  } & {
16911
16911
  "/runs/:id/handoff": {
16912
16912
  $get: {
16913
- output: {
16914
- error: string;
16915
- };
16916
- outputFormat: "json";
16917
- status: 404;
16913
+ output: string;
16914
+ outputFormat: "text";
16915
+ status: 200;
16918
16916
  input: {
16919
16917
  param: {
16920
16918
  id: string;
16921
16919
  };
16922
16920
  };
16923
16921
  } | {
16924
- output: string;
16925
- outputFormat: "text";
16926
- status: 200;
16922
+ output: {
16923
+ error: string;
16924
+ };
16925
+ outputFormat: "json";
16926
+ status: 404;
16927
16927
  input: {
16928
16928
  param: {
16929
16929
  id: string;
@@ -16949,20 +16949,20 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
16949
16949
  } & {
16950
16950
  "/runs/:id/diff": {
16951
16951
  $get: {
16952
- output: {
16953
- error: string;
16954
- };
16955
- outputFormat: "json";
16956
- status: 404;
16952
+ output: string;
16953
+ outputFormat: "text";
16954
+ status: import("hono/utils/http-status").ContentfulStatusCode;
16957
16955
  input: {
16958
16956
  param: {
16959
16957
  id: string;
16960
16958
  };
16961
16959
  };
16962
16960
  } | {
16963
- output: string;
16964
- outputFormat: "text";
16965
- status: import("hono/utils/http-status").ContentfulStatusCode;
16961
+ output: {
16962
+ error: string;
16963
+ };
16964
+ outputFormat: "json";
16965
+ status: 404;
16966
16966
  input: {
16967
16967
  param: {
16968
16968
  id: string;
@@ -24502,6 +24502,19 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
24502
24502
  } & {
24503
24503
  "/repo/commit/:sha": {
24504
24504
  $get: {
24505
+ output: string;
24506
+ outputFormat: "text";
24507
+ status: import("hono/utils/http-status").ContentfulStatusCode;
24508
+ input: {
24509
+ query: {
24510
+ structured?: string | string[] | undefined;
24511
+ };
24512
+ } & {
24513
+ param: {
24514
+ sha: string;
24515
+ };
24516
+ };
24517
+ } | {
24505
24518
  output: {
24506
24519
  sha: string;
24507
24520
  subject: string;
@@ -24549,19 +24562,6 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
24549
24562
  sha: string;
24550
24563
  };
24551
24564
  };
24552
- } | {
24553
- output: string;
24554
- outputFormat: "text";
24555
- status: import("hono/utils/http-status").ContentfulStatusCode;
24556
- input: {
24557
- query: {
24558
- structured?: string | string[] | undefined;
24559
- };
24560
- } & {
24561
- param: {
24562
- sha: string;
24563
- };
24564
- };
24565
24565
  };
24566
24566
  };
24567
24567
  } & {
@@ -30540,20 +30540,20 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
30540
30540
  } & {
30541
30541
  "/runs/:id/handoff": {
30542
30542
  $get: {
30543
- output: {
30544
- error: string;
30545
- };
30546
- outputFormat: "json";
30547
- status: 404;
30543
+ output: string;
30544
+ outputFormat: "text";
30545
+ status: 200;
30548
30546
  input: {
30549
30547
  param: {
30550
30548
  id: string;
30551
30549
  };
30552
30550
  };
30553
30551
  } | {
30554
- output: string;
30555
- outputFormat: "text";
30556
- status: 200;
30552
+ output: {
30553
+ error: string;
30554
+ };
30555
+ outputFormat: "json";
30556
+ status: 404;
30557
30557
  input: {
30558
30558
  param: {
30559
30559
  id: string;
@@ -30579,20 +30579,20 @@ export declare function createApp(deps: ServerDeps): import("hono/hono-base").Ho
30579
30579
  } & {
30580
30580
  "/runs/:id/diff": {
30581
30581
  $get: {
30582
- output: {
30583
- error: string;
30584
- };
30585
- outputFormat: "json";
30586
- status: 404;
30582
+ output: string;
30583
+ outputFormat: "text";
30584
+ status: import("hono/utils/http-status").ContentfulStatusCode;
30587
30585
  input: {
30588
30586
  param: {
30589
30587
  id: string;
30590
30588
  };
30591
30589
  };
30592
30590
  } | {
30593
- output: string;
30594
- outputFormat: "text";
30595
- status: import("hono/utils/http-status").ContentfulStatusCode;
30591
+ output: {
30592
+ error: string;
30593
+ };
30594
+ outputFormat: "json";
30595
+ status: 404;
30596
30596
  input: {
30597
30597
  param: {
30598
30598
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-mercato/cezar",
3
- "version": "0.16.2-pr1607.3501",
3
+ "version": "0.16.2-pr1642.3586",
4
4
  "description": "Local cockpit for running and tracking AI agent tasks in your repo. Uses your logged-in `claude` CLI and `gh` — zero config, zero database.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -54,8 +54,8 @@
54
54
  "zod": "^4.4.3"
55
55
  },
56
56
  "devDependencies": {
57
- "@open-mercato/cezar-api-client": "0.16.2-pr1607.3501",
58
- "@open-mercato/cezar-contract": "0.16.2-pr1607.3501",
57
+ "@open-mercato/cezar-api-client": "0.16.2-pr1642.3586",
58
+ "@open-mercato/cezar-contract": "0.16.2-pr1642.3586",
59
59
  "@types/node": "^20.14.0",
60
60
  "@types/proper-lockfile": "4.1.4",
61
61
  "@types/ws": "^8.18.1",