@alchemy.run/pkg 2.0.0-beta.84 → 2.0.0-beta.86

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 (52) hide show
  1. package/README.md +4 -2
  2. package/dist/Manifest.d.ts.map +1 -1
  3. package/dist/Manifest.js.map +1 -1
  4. package/dist/Protocol.d.ts.map +1 -1
  5. package/dist/Protocol.js.map +1 -1
  6. package/dist/Registry/Bindings.d.ts +13 -0
  7. package/dist/Registry/Bindings.d.ts.map +1 -1
  8. package/dist/Registry/Bindings.js +6 -0
  9. package/dist/Registry/Bindings.js.map +1 -1
  10. package/dist/Registry/GitHub.d.ts +6 -8
  11. package/dist/Registry/GitHub.d.ts.map +1 -1
  12. package/dist/Registry/GitHub.js +6 -2
  13. package/dist/Registry/GitHub.js.map +1 -1
  14. package/dist/Registry/Handler.d.ts +8 -2
  15. package/dist/Registry/Handler.d.ts.map +1 -1
  16. package/dist/Registry/Handler.js +28 -3
  17. package/dist/Registry/Handler.js.map +1 -1
  18. package/dist/Registry/KVCache.d.ts +1 -1
  19. package/dist/Registry/KVCache.d.ts.map +1 -1
  20. package/dist/Registry/KVCache.js +2 -2
  21. package/dist/Registry/KVCache.js.map +1 -1
  22. package/dist/Registry/Sweep.d.ts +1 -1
  23. package/dist/Registry/Sweep.d.ts.map +1 -1
  24. package/dist/Registry/Sweep.js.map +1 -1
  25. package/dist/Registry/Tags.d.ts +24 -3
  26. package/dist/Registry/Tags.d.ts.map +1 -1
  27. package/dist/Registry/Tags.js +27 -6
  28. package/dist/Registry/Tags.js.map +1 -1
  29. package/dist/Registry.d.ts +98 -69
  30. package/dist/Registry.d.ts.map +1 -1
  31. package/dist/Registry.js +3 -0
  32. package/dist/Registry.js.map +1 -1
  33. package/dist/cli/bin.d.ts.map +1 -1
  34. package/dist/cli/bin.js.map +1 -1
  35. package/dist/cli/pack.d.ts.map +1 -1
  36. package/dist/cli/pack.js +7 -8
  37. package/dist/cli/pack.js.map +1 -1
  38. package/dist/cli/publish.d.ts.map +1 -1
  39. package/dist/cli/publish.js +23 -10
  40. package/dist/cli/publish.js.map +1 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js.map +1 -1
  43. package/migrations/0002_head_of.sql +6 -0
  44. package/package.json +10 -10
  45. package/src/Registry/Bindings.ts +6 -0
  46. package/src/Registry/GitHub.ts +8 -2
  47. package/src/Registry/Handler.ts +38 -3
  48. package/src/Registry/KVCache.ts +3 -3
  49. package/src/Registry/Tags.ts +34 -6
  50. package/src/Registry.ts +10 -0
  51. package/src/cli/pack.ts +7 -8
  52. package/src/cli/publish.ts +40 -14
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/cli/pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack.js","sources":["../../src/cli/pack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/cli/publish.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAIxC,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAyBD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;;;qKAsElB,CAAC"}
1
+ {"version":3,"file":"publish.d.ts","sources":["../../src/cli/publish.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;;;;AAIxC,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AA+CD;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;;;qKA0ElB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import * as Config from "effect/Config";
2
- import * as Console from "effect/Console";
3
2
  import * as Data from "effect/Data";
4
3
  import * as Effect from "effect/Effect";
5
4
  import * as FileSystem from "effect/FileSystem";
6
5
  import * as HttpApiClient from "effect/http-api/HttpApiClient";
7
6
  import * as Path from "effect/Path";
7
+ import * as Schedule from "effect/Schedule";
8
8
  import * as Schema from "effect/Schema";
9
9
  import { MANIFEST_FILE, ManifestJson } from "../Manifest.js";
10
10
  import { PkgApi } from "../Protocol.js";
@@ -25,6 +25,19 @@ const currentRun = Effect.gen(function* () {
25
25
  const failed = (what) => (e) => new PublishError({
26
26
  message: `${what}: ${e.message ? `${e._tag}: ${e.message}` : e._tag}`,
27
27
  });
28
+ /**
29
+ * GitHub reports a run as queued, or as its previous attempt, for a few
30
+ * seconds after a job starts, and for minutes while Actions is degraded.
31
+ * The registry answers `RunNotInProgress` until GitHub catches up, so a
32
+ * request from inside the job waits that out, for up to three minutes.
33
+ */
34
+ const whileRunCatchesUp = (effect) => effect.pipe(Effect.tapError((e) => e._tag === "RunNotInProgress"
35
+ ? Effect.logInfo("GitHub does not report this run as in progress yet; retrying")
36
+ : Effect.void), Effect.retry({
37
+ while: (e) => e._tag === "RunNotInProgress",
38
+ schedule: Schedule.spaced("5 seconds"),
39
+ times: 36,
40
+ }));
28
41
  /**
29
42
  * Publish a `pkg pack` directory from the current GitHub Actions job. The
30
43
  * workflow must first have uploaded the manifest as an artifact of the run
@@ -40,32 +53,32 @@ export const publish = Effect.fn("publish")(function* (options) {
40
53
  const client = yield* HttpApiClient.make(PkgApi, { baseUrl: registry });
41
54
  const dir = path.resolve(options.cwd, options.dir);
42
55
  const manifestText = yield* fs.readFileString(path.join(dir, MANIFEST_FILE));
43
- const manifest = yield* Schema.decodeUnknownEffect(ManifestJson)(manifestText);
56
+ const manifest = yield* Schema.decodeEffect(ManifestJson)(manifestText);
44
57
  if (manifest.registry !== registry) {
45
58
  return yield* new PublishError({
46
59
  message: `artifact was packed for ${manifest.registry}, not ${registry}`,
47
60
  });
48
61
  }
49
62
  if (manifest.packages.length === 0) {
50
- yield* Console.log("No affected packages to publish.");
63
+ yield* Effect.logInfo("No affected packages to publish.");
51
64
  return { packages: [] };
52
65
  }
53
66
  const upload = (pkg) => Effect.gen(function* () {
54
67
  const bytes = yield* fs.readFile(path.join(dir, pkg.file));
55
- const result = yield* client.Registry.uploadTarball({
68
+ const result = yield* whileRunCatchesUp(client.Registry.uploadTarball({
56
69
  params: { name: pkg.name, sha256: pkg.sha256 },
57
70
  query: run,
58
71
  payload: bytes,
59
- }).pipe(Effect.mapError(failed(`upload ${pkg.name}`)));
60
- yield* Console.log(`${result.uploaded ? "Uploaded" : "Reused"} ${pkg.name} (${pkg.sha256.slice(0, 12)}, ${pkg.size} bytes)`);
72
+ })).pipe(Effect.mapError(failed(`upload ${pkg.name}`)));
73
+ yield* Effect.logInfo(`${result.uploaded ? "Uploaded" : "Reused"} ${pkg.name} (${pkg.sha256.slice(0, 12)}, ${pkg.size} bytes)`);
61
74
  });
62
75
  const uploadMissing = (missing) => {
63
76
  const wanted = new Set(missing.map((ref) => `${ref.name}@${ref.sha256}`));
64
- return Console.log(`${missing.length} of ${manifest.packages.length} tarball(s) to upload`).pipe(Effect.andThen(Effect.forEach(manifest.packages.filter((pkg) => wanted.has(`${pkg.name}@${pkg.sha256}`)), upload, { concurrency: 4, discard: true })));
77
+ return Effect.logInfo(`${missing.length} of ${manifest.packages.length} tarball(s) to upload`).pipe(Effect.andThen(Effect.forEach(manifest.packages.filter((pkg) => wanted.has(`${pkg.name}@${pkg.sha256}`)), upload, { concurrency: 4, discard: true })));
65
78
  };
66
- const attempt = client.Registry.publish({
79
+ const attempt = whileRunCatchesUp(client.Registry.publish({
67
80
  payload: { run, manifest: manifestText },
68
- });
81
+ }));
69
82
  const published = yield* attempt.pipe(
70
83
  // The first answer is usually the tarballs to upload; publish once more
71
84
  // after uploading them.
@@ -73,7 +86,7 @@ export const publish = Effect.fn("publish")(function* (options) {
73
86
  message: `registry still reports missing tarballs after upload: ${e.missing.map((ref) => ref.name).join(", ")}`,
74
87
  })), Effect.mapError((e) => (e._tag === "PublishError" ? e : failed("publish")(e))));
75
88
  for (const pkg of published.packages) {
76
- yield* Console.log(`${pkg.name}: ${pkg.url} [${pkg.tags.join(", ")}]`);
89
+ yield* Effect.logInfo(`${pkg.name}: ${pkg.url} [${pkg.tags.join(", ")}]`);
77
90
  }
78
91
  return published;
79
92
  });
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/cli/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sources":["../../src/cli/publish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,4EAA4E;AAC5E,oEAAoE;AACpE,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,4EAA4E;AAC5E,oEAAoE;AACpE,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ -- head_of names the branch whose latest publication this row belongs to,
2
+ -- for branches listed in the policy's keepLatest. The sweep never deletes
3
+ -- such a row. The branch's next publication clears head_of on the rows it
4
+ -- does not republish, which starts their normal TTL from that moment.
5
+ ALTER TABLE tags ADD COLUMN head_of TEXT;
6
+ CREATE INDEX tags_head_of ON tags (package, head_of);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alchemy.run/pkg",
3
- "version": "2.0.0-beta.84",
3
+ "version": "2.0.0-beta.86",
4
4
  "description": "Preview package registry for pull requests: a Cloudflare Worker verified by GitHub Actions runs, plus the pkg CLI that packs and publishes workspace packages.",
5
5
  "keywords": [
6
6
  "alchemy",
@@ -62,21 +62,21 @@
62
62
  "access": "public"
63
63
  },
64
64
  "dependencies": {
65
- "@alchemy.run/cloudflare": "2.0.0-beta.84",
66
- "@distilled.cloud/github": "1.0.0-rc.17",
67
- "alchemy": "2.0.0-beta.84",
68
- "effect": "^4.0.5",
65
+ "@alchemy.run/cloudflare": "2.0.0-beta.86",
66
+ "@distilled.cloud/github": "1.0.0-rc.19",
67
+ "alchemy": "2.0.0-beta.86",
68
+ "effect": "^4.1.4",
69
69
  "modern-tar": "^0.8.4"
70
70
  },
71
71
  "devDependencies": {
72
- "@effect/platform-bun": "^4.0.5",
73
- "@effect/platform-node": "^4.0.5",
72
+ "@effect/platform-bun": "^4.1.4",
73
+ "@effect/platform-node": "^4.1.4",
74
74
  "@types/bun": "1.4.3",
75
- "typescript": "^7.0.2"
75
+ "typescript": "^7.1.0-dev.20261105.1"
76
76
  },
77
77
  "peerDependencies": {
78
- "@effect/platform-bun": "^4.0.5",
79
- "@effect/platform-node": "^4.0.5"
78
+ "@effect/platform-bun": "^4.1.4",
79
+ "@effect/platform-node": "^4.1.4"
80
80
  },
81
81
  "peerDependenciesMeta": {
82
82
  "@effect/platform-bun": {
@@ -30,6 +30,12 @@ export const Policy = Schema.Struct({
30
30
  * content again refreshes the clock.
31
31
  */
32
32
  ttl: Schema.DurationFromMillis,
33
+ /**
34
+ * Branches whose latest push publication never expires, such as
35
+ * `["main"]`. A newer push from the branch hands the previous publication
36
+ * back to the TTL, counted from that newer push.
37
+ */
38
+ keepLatest: Schema.String.pipe(Schema.Array, Schema.optionalKey),
33
39
  /** Upper bound on a single tarball. Absent means unlimited. */
34
40
  maxPackageSize: Schema.optionalKey(Schema.ByteSizeFromNumber),
35
41
  });
@@ -36,7 +36,10 @@ export class AppNotInstalled extends Data.TaggedError("AppNotInstalled")<{
36
36
  export const importPrivateKey = (pem: string) =>
37
37
  Effect.try({
38
38
  try: () => crypto.createPrivateKey({ key: pem }),
39
- catch: (cause) => new CryptoError({ message: `invalid private key: ${cause}` }),
39
+ catch: (cause) =>
40
+ new CryptoError({
41
+ message: `invalid private key: ${cause instanceof Error ? cause.message : String(cause)}`,
42
+ }),
40
43
  });
41
44
 
42
45
  /** Sign a compact RS256 JWT, used to authenticate as the GitHub App. */
@@ -49,7 +52,10 @@ export const signJwt = (claims: Record<string, unknown>, key: crypto.KeyObject)
49
52
  const signature = crypto.sign("sha256", Buffer.from(input), key);
50
53
  return `${input}.${Base64Url.encode(new Uint8Array(signature))}`;
51
54
  },
52
- catch: (cause) => new CryptoError({ message: `signing failed: ${cause}` }),
55
+ catch: (cause) =>
56
+ new CryptoError({
57
+ message: `signing failed: ${cause instanceof Error ? cause.message : String(cause)}`,
58
+ }),
53
59
  });
54
60
 
55
61
  /**
@@ -28,7 +28,15 @@ import {
28
28
  RunRef,
29
29
  Upstream,
30
30
  } from "../Protocol.ts";
31
- import { Bucket, Cache, COMMENT_MARKER, Database, RegistryConfig, tarballKey } from "./Bindings.ts";
31
+ import {
32
+ Bucket,
33
+ Cache,
34
+ COMMENT_MARKER,
35
+ Database,
36
+ type Policy,
37
+ RegistryConfig,
38
+ tarballKey,
39
+ } from "./Bindings.ts";
32
40
  import * as GitHub from "./GitHub.ts";
33
41
  import * as KVCache from "./KVCache.ts";
34
42
  import { sweep } from "./Sweep.ts";
@@ -89,6 +97,19 @@ export const tagsFor = (run: Run): string[] => {
89
97
  return tags;
90
98
  };
91
99
 
100
+ /**
101
+ * The branch whose latest publication this run becomes, when the policy
102
+ * keeps that branch. Only pushes count: a pull request run's head branch
103
+ * names the pull request's branch, and a fork never gets branch tags.
104
+ */
105
+ export const keptBranch = (run: Run, policy: Pick<Policy, "keepLatest">): string | null =>
106
+ run.pr === null &&
107
+ !isFork(run) &&
108
+ run.headBranch !== null &&
109
+ (policy.keepLatest ?? []).includes(run.headBranch)
110
+ ? run.headBranch
111
+ : null;
112
+
92
113
  /** The tag install commands are written against. */
93
114
  export const installTag = (run: Run) =>
94
115
  run.pr !== null ? `pr:${run.pr}:${run.headSha.slice(0, SHORT)}` : run.headSha.slice(0, SHORT);
@@ -119,7 +140,9 @@ const lookupRun = Effect.fn("lookupRun")(function* (ref: RunRef) {
119
140
  data.status !== "in_progress" ||
120
141
  (data.run_attempt !== undefined && data.run_attempt !== ref.attempt)
121
142
  ) {
122
- return yield* RunNotInProgress.make({ message: "run is not in progress" });
143
+ return yield* RunNotInProgress.make({
144
+ message: `run is not in progress: GitHub reports run ${ref.runId} as ${data.status}, attempt ${data.run_attempt ?? "unknown"}; the request is from attempt ${ref.attempt}`,
145
+ });
123
146
  }
124
147
  if (data.event !== "push" && data.event !== "pull_request") {
125
148
  return yield* BadRequest.make({
@@ -189,7 +212,7 @@ const publish = Effect.fn("publish")(function* (run: Run, manifestText: string)
189
212
  const base = yield* origin;
190
213
 
191
214
  yield* requireVouched(run, manifestText);
192
- const manifest = yield* Schema.decodeUnknownEffect(ManifestJson)(manifestText).pipe(
215
+ const manifest = yield* Schema.decodeEffect(ManifestJson)(manifestText).pipe(
193
216
  Effect.mapError((e) => BadRequest.make({ message: `invalid manifest: ${String(e)}` })),
194
217
  );
195
218
  // The run vouched for the manifest, but the tags come from the run's
@@ -226,6 +249,7 @@ const publish = Effect.fn("publish")(function* (run: Run, manifestText: string)
226
249
  const prs = run.pr !== null ? [`${run.repo}#${run.pr}`] : [];
227
250
  const tags = tagsFor(run);
228
251
  const tag = installTag(run);
252
+ const headOf = keptBranch(run, policy);
229
253
  const published = yield* Effect.forEach(
230
254
  packages,
231
255
  Effect.fn(function* (pkg: ManifestPackage) {
@@ -238,9 +262,20 @@ const publish = Effect.fn("publish")(function* (run: Run, manifestText: string)
238
262
  sha256: pkg.sha256,
239
263
  expiresAt,
240
264
  prs,
265
+ headOf,
241
266
  }),
242
267
  { discard: true },
243
268
  );
269
+ // After the upserts, so the package always has a kept publication:
270
+ // a failure here leaves the previous head kept a little longer.
271
+ if (headOf !== null) {
272
+ yield* Tags.releaseHead({
273
+ package: pkg.name,
274
+ branch: headOf,
275
+ current: tags,
276
+ expiresAt,
277
+ });
278
+ }
244
279
  return {
245
280
  name: pkg.name,
246
281
  group: pkg.group,
@@ -37,9 +37,9 @@ export const make = <K, A, I, E, R>(
37
37
  const kv = yield* Cloudflare.KV.ReadWriteNamespace(Cache);
38
38
  const id = key(input);
39
39
  const hit = yield* kv.get(id, { cacheTtl: seconds(MIN_TTL) }).pipe(
40
- Effect.flatMap((text) => (text === null ? Effect.succeed(undefined) : decode(text))),
40
+ Effect.flatMap((text) => (text === null ? Effect.undefined : decode(text))),
41
41
  Effect.catch((e) =>
42
- Effect.logWarning(`cache read of ${id} failed: ${e}`).pipe(Effect.as(undefined)),
42
+ Effect.logWarning(`cache read of ${id} failed: ${e.message}`).pipe(Effect.as(undefined)),
43
43
  ),
44
44
  );
45
45
  if (hit !== undefined) {
@@ -49,7 +49,7 @@ export const make = <K, A, I, E, R>(
49
49
  if (Duration.isGreaterThanOrEqualTo(fresh.ttl, MIN_TTL)) {
50
50
  yield* encode(fresh.value).pipe(
51
51
  Effect.flatMap((text) => kv.put(id, text, { expirationTtl: seconds(fresh.ttl) })),
52
- Effect.catch((e) => Effect.logWarning(`cache write of ${id} failed: ${e}`)),
52
+ Effect.catch((e) => Effect.logWarning(`cache write of ${id} failed: ${e.message}`)),
53
53
  );
54
54
  }
55
55
  return fresh.value;
@@ -18,6 +18,8 @@ export const TagRow = Schema.Struct({
18
18
  expires_at: Schema.Number,
19
19
  /** Pull requests whose runs produced this tag, as `owner/repo#N`. */
20
20
  linked_prs: LinkedPrs,
21
+ /** The kept branch this row is the latest publication of, if any. */
22
+ head_of: Schema.NullOr(Schema.String),
21
23
  });
22
24
  export type TagRow = typeof TagRow.Type;
23
25
 
@@ -39,8 +41,10 @@ export const get = Effect.fn("Tags.get")(function* (pkg: string, tag: string) {
39
41
 
40
42
  /**
41
43
  * Point `tag` at `sha256`, keeping the row alive for at least `expiresAt`
42
- * and remembering every pull request that produced it. One statement, so
43
- * concurrent publications of a shared tag merge rather than overwrite.
44
+ * and remembering every pull request that produced it. `headOf` marks the
45
+ * row as the latest publication of a kept branch; a publication without it
46
+ * leaves an existing mark alone. One statement, so concurrent publications
47
+ * of a shared tag merge rather than overwrite.
44
48
  */
45
49
  export const upsert = Effect.fn("Tags.upsert")(function* (input: {
46
50
  readonly package: string;
@@ -48,15 +52,17 @@ export const upsert = Effect.fn("Tags.upsert")(function* (input: {
48
52
  readonly sha256: string;
49
53
  readonly expiresAt: number;
50
54
  readonly prs: ReadonlyArray<string>;
55
+ readonly headOf: string | null;
51
56
  }) {
52
57
  const sql = yield* SqlClient.SqlClient;
53
58
  const prs = yield* Schema.encodeEffect(LinkedPrs)(input.prs);
54
59
  yield* sql`
55
- INSERT INTO tags (package, tag, sha256, expires_at, linked_prs)
56
- VALUES (${input.package}, ${input.tag}, ${input.sha256}, ${input.expiresAt}, ${prs})
60
+ INSERT INTO tags (package, tag, sha256, expires_at, linked_prs, head_of)
61
+ VALUES (${input.package}, ${input.tag}, ${input.sha256}, ${input.expiresAt}, ${prs}, ${input.headOf})
57
62
  ON CONFLICT (package, tag) DO UPDATE SET
58
63
  sha256 = excluded.sha256,
59
64
  expires_at = max(tags.expires_at, excluded.expires_at),
65
+ head_of = coalesce(excluded.head_of, tags.head_of),
60
66
  linked_prs = (
61
67
  SELECT json_group_array(value) FROM (
62
68
  SELECT value FROM json_each(tags.linked_prs)
@@ -91,12 +97,34 @@ export const setExpiry = Effect.fn("Tags.setExpiry")(function* (
91
97
  `;
92
98
  });
93
99
 
94
- /** Delete every expired row and return the tarballs those rows pointed at. */
100
+ /**
101
+ * Hand a kept branch's older rows of `pkg` back to the TTL once a newer
102
+ * publication from the branch has written `current`. Each released row
103
+ * lives until at least `expiresAt`.
104
+ */
105
+ export const releaseHead = Effect.fn("Tags.releaseHead")(function* (input: {
106
+ readonly package: string;
107
+ readonly branch: string;
108
+ readonly current: ReadonlyArray<string>;
109
+ readonly expiresAt: number;
110
+ }) {
111
+ const sql = yield* SqlClient.SqlClient;
112
+ yield* sql`
113
+ UPDATE tags SET head_of = NULL, expires_at = max(expires_at, ${input.expiresAt})
114
+ WHERE package = ${input.package} AND head_of = ${input.branch}
115
+ AND NOT ${sql.in("tag", input.current)}
116
+ `;
117
+ });
118
+
119
+ /**
120
+ * Delete every expired row and return the tarballs those rows pointed at.
121
+ * The latest publication of a kept branch never expires.
122
+ */
95
123
  export const deleteExpired = Effect.fn("Tags.deleteExpired")(function* (now: number) {
96
124
  const sql = yield* SqlClient.SqlClient;
97
125
  return yield* decodeTarballs(
98
126
  yield* sql`
99
- DELETE FROM tags WHERE expires_at < ${now} RETURNING package, sha256
127
+ DELETE FROM tags WHERE expires_at < ${now} AND head_of IS NULL RETURNING package, sha256
100
128
  `,
101
129
  );
102
130
  });
package/src/Registry.ts CHANGED
@@ -39,6 +39,13 @@ export interface RegistryOptions {
39
39
  readonly repos: ReadonlyArray<string>;
40
40
  /** @default Duration.weeks(1) */
41
41
  readonly ttl?: Duration.Duration;
42
+ /**
43
+ * Branches whose latest push publication never expires, such as
44
+ * `["main"]`. A newer push from the branch hands the previous
45
+ * publication back to the TTL, counted from that newer push.
46
+ * @default []
47
+ */
48
+ readonly keepLatest?: ReadonlyArray<string>;
42
49
  /** Upper bound on a single tarball. Absent means unlimited. */
43
50
  readonly maxPackageSize?: ByteSize.ByteSize;
44
51
  };
@@ -168,6 +175,9 @@ export const PkgRegistry = <const Id extends string>(id: Id, options: RegistryOp
168
175
  policy: {
169
176
  repos: options.policy.repos,
170
177
  ttl: options.policy.ttl ?? DEFAULT_TTL,
178
+ ...(options.policy.keepLatest !== undefined
179
+ ? { keepLatest: options.policy.keepLatest }
180
+ : {}),
171
181
  ...(options.policy.maxPackageSize !== undefined
172
182
  ? { maxPackageSize: options.policy.maxPackageSize }
173
183
  : {}),
package/src/cli/pack.ts CHANGED
@@ -2,7 +2,6 @@ import { gunzipSync, gzipSync } from "node:zlib";
2
2
  import { exec } from "alchemy/Util/exec";
3
3
  import { sha256 } from "alchemy/Util/sha256";
4
4
  import * as Config from "effect/Config";
5
- import * as Console from "effect/Console";
6
5
  import * as Data from "effect/Data";
7
6
  import * as Effect from "effect/Effect";
8
7
  import * as FileSystem from "effect/FileSystem";
@@ -425,7 +424,7 @@ const PnpmPackOutput = Schema.fromJsonString(Schema.Struct({ filename: Schema.St
425
424
  */
426
425
  export const rewriteDependencies = (manifestText: string, links: ReadonlyMap<string, string>) =>
427
426
  Effect.gen(function* () {
428
- const manifest = yield* Schema.decodeUnknownEffect(
427
+ const manifest = yield* Schema.decodeEffect(
429
428
  Schema.fromJsonString(
430
429
  Schema.StructWithRest(DependencySections, [Schema.Record(Schema.String, Schema.Unknown)]),
431
430
  ),
@@ -507,7 +506,7 @@ export const packPackage = Effect.fn("packPackage")(function* (options: {
507
506
  }
508
507
  // pnpm may print progress lines before the JSON document.
509
508
  const json = stdout.slice(stdout.indexOf("{"));
510
- const { filename } = yield* Schema.decodeUnknownEffect(PnpmPackOutput)(json);
509
+ const { filename } = yield* Schema.decodeEffect(PnpmPackOutput)(json);
511
510
 
512
511
  const packed = yield* fs.readFile(path.join(tmp, path.basename(filename)));
513
512
  const inflated = yield* Effect.sync(() => gunzipSync(packed));
@@ -608,7 +607,7 @@ export const pack = Effect.fn("pack")(function* (options: PackOptions) {
608
607
  let packages = yield* discover(options.cwd, options.groups);
609
608
  const implied = yield* discoverWorkspaceDependencies(options.cwd, root, packages);
610
609
  if (implied.length > 0) {
611
- yield* Console.log(
610
+ yield* Effect.logInfo(
612
611
  `Including ${implied.length} workspace dependenc${implied.length === 1 ? "y" : "ies"} not listed by --group: ${implied.map((pkg) => pkg.name).join(", ")}`,
613
612
  );
614
613
  packages = [...packages, ...implied];
@@ -660,7 +659,7 @@ export const pack = Effect.fn("pack")(function* (options: PackOptions) {
660
659
  for (const name of dependencies.keys()) {
661
660
  if (!names.has(name)) dependencies.delete(name);
662
661
  }
663
- yield* Console.log(
662
+ yield* Effect.logInfo(
664
663
  `Selected ${packages.length} package(s) changed since ${since}, including dependents and dependencies.`,
665
664
  );
666
665
  }
@@ -695,7 +694,7 @@ export const pack = Effect.fn("pack")(function* (options: PackOptions) {
695
694
  `${pkg.name}@${pkg.version} ${packed.sha256.slice(0, 12)} ${packed.size} bytes`,
696
695
  ...packed.rewrites.map((r) => ` ${r.section}.${r.name} -> ${r.url}`),
697
696
  ];
698
- yield* Console.log(lines.join("\n"));
697
+ yield* Effect.logInfo(lines.join("\n"));
699
698
  return {
700
699
  name: pkg.name,
701
700
  version: pkg.version,
@@ -737,7 +736,7 @@ export const pack = Effect.fn("pack")(function* (options: PackOptions) {
737
736
  };
738
737
  const manifestText = `${yield* Schema.encodeEffect(ManifestJson)(manifest)}\n`;
739
738
  yield* fs.writeFileString(path.join(outDir, MANIFEST_FILE), manifestText);
740
- yield* Console.log(
739
+ yield* Effect.logInfo(
741
740
  `Packed ${entries.length} package(s) into ${path.relative(options.cwd, outDir) || "."}`,
742
741
  );
743
742
 
@@ -756,6 +755,6 @@ export const pack = Effect.fn("pack")(function* (options: PackOptions) {
756
755
  },
757
756
  );
758
757
  }
759
- yield* Console.log(`Manifest artifact name: ${artifact}`);
758
+ yield* Effect.logInfo(`Manifest artifact name: ${artifact}`);
760
759
  return manifest;
761
760
  });