@mannyc1/ts-release 0.2.2 → 0.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 (107) hide show
  1. package/ARCHITECTURE.md +60 -0
  2. package/CHANGELOG.md +82 -0
  3. package/README.md +129 -6
  4. package/SPEC.md +51 -0
  5. package/apps/release-ts/README.md +7 -0
  6. package/apps/ts-release-agents/package.json +1 -1
  7. package/apps/ts-release-agents/src/check.ts +7 -2
  8. package/apps/ts-release-agents/test/contract.test.ts +2 -2
  9. package/dist/bin/ts-release.js +154 -47
  10. package/dist/drivers/archive.d.ts +2 -1
  11. package/dist/drivers/archive.d.ts.map +1 -1
  12. package/dist/drivers/archive.js +12 -8
  13. package/dist/drivers/archive.js.map +1 -1
  14. package/dist/drivers/process.d.ts.map +1 -1
  15. package/dist/drivers/process.js +4 -4
  16. package/dist/drivers/process.js.map +1 -1
  17. package/dist/drivers/python-wheel.d.ts +21 -0
  18. package/dist/drivers/python-wheel.d.ts.map +1 -0
  19. package/dist/drivers/python-wheel.js +109 -0
  20. package/dist/drivers/python-wheel.js.map +1 -0
  21. package/dist/drivers/workspace.d.ts +3 -0
  22. package/dist/drivers/workspace.d.ts.map +1 -1
  23. package/dist/drivers/workspace.js +5 -1
  24. package/dist/drivers/workspace.js.map +1 -1
  25. package/dist/operation-journal/authority.d.ts +3 -0
  26. package/dist/operation-journal/authority.d.ts.map +1 -0
  27. package/dist/operation-journal/authority.js +147 -0
  28. package/dist/operation-journal/authority.js.map +1 -0
  29. package/dist/operation-journal/aws/deadline.d.ts +12 -0
  30. package/dist/operation-journal/aws/deadline.d.ts.map +1 -0
  31. package/dist/operation-journal/aws/deadline.js +38 -0
  32. package/dist/operation-journal/aws/deadline.js.map +1 -0
  33. package/dist/operation-journal/aws/oidc.d.ts +27 -0
  34. package/dist/operation-journal/aws/oidc.d.ts.map +1 -0
  35. package/dist/operation-journal/aws/oidc.js +361 -0
  36. package/dist/operation-journal/aws/oidc.js.map +1 -0
  37. package/dist/operation-journal/aws/policy.d.ts +42 -0
  38. package/dist/operation-journal/aws/policy.d.ts.map +1 -0
  39. package/dist/operation-journal/aws/policy.js +404 -0
  40. package/dist/operation-journal/aws/policy.js.map +1 -0
  41. package/dist/operation-journal/aws/s3-boundary.d.ts +17 -0
  42. package/dist/operation-journal/aws/s3-boundary.d.ts.map +1 -0
  43. package/dist/operation-journal/aws/s3-boundary.js +417 -0
  44. package/dist/operation-journal/aws/s3-boundary.js.map +1 -0
  45. package/dist/operation-journal/aws.d.ts +11 -0
  46. package/dist/operation-journal/aws.d.ts.map +1 -0
  47. package/dist/operation-journal/aws.js +50 -0
  48. package/dist/operation-journal/aws.js.map +1 -0
  49. package/dist/operation-journal/canonical.d.ts +52 -0
  50. package/dist/operation-journal/canonical.d.ts.map +1 -0
  51. package/dist/operation-journal/canonical.js +282 -0
  52. package/dist/operation-journal/canonical.js.map +1 -0
  53. package/dist/operation-journal/model.d.ts +251 -0
  54. package/dist/operation-journal/model.d.ts.map +1 -0
  55. package/dist/operation-journal/model.js +56 -0
  56. package/dist/operation-journal/model.js.map +1 -0
  57. package/dist/operation-journal/reducer.d.ts +28 -0
  58. package/dist/operation-journal/reducer.d.ts.map +1 -0
  59. package/dist/operation-journal/reducer.js +73 -0
  60. package/dist/operation-journal/reducer.js.map +1 -0
  61. package/dist/operation-journal/s3.d.ts +7 -0
  62. package/dist/operation-journal/s3.d.ts.map +1 -0
  63. package/dist/operation-journal/s3.js +667 -0
  64. package/dist/operation-journal/s3.js.map +1 -0
  65. package/dist/operation-journal.d.ts +14 -0
  66. package/dist/operation-journal.d.ts.map +1 -0
  67. package/dist/operation-journal.js +12 -0
  68. package/dist/operation-journal.js.map +1 -0
  69. package/dist/platform/credentials.d.ts.map +1 -1
  70. package/dist/platform/credentials.js +65 -3
  71. package/dist/platform/credentials.js.map +1 -1
  72. package/dist/publication/github.d.ts.map +1 -1
  73. package/dist/publication/github.js +66 -15
  74. package/dist/publication/github.js.map +1 -1
  75. package/dist/release/capabilities.d.ts.map +1 -1
  76. package/dist/release/capabilities.js +2 -2
  77. package/dist/release/capabilities.js.map +1 -1
  78. package/dist/release/prepare.d.ts.map +1 -1
  79. package/dist/release/prepare.js +4 -5
  80. package/dist/release/prepare.js.map +1 -1
  81. package/dist/release/prepared-store.d.ts.map +1 -1
  82. package/dist/release/prepared-store.js +11 -9
  83. package/dist/release/prepared-store.js.map +1 -1
  84. package/package.json +19 -4
  85. package/src/drivers/archive.ts +17 -8
  86. package/src/drivers/process.ts +3 -4
  87. package/src/drivers/python-wheel.ts +145 -0
  88. package/src/drivers/workspace.ts +7 -1
  89. package/src/operation-journal/authority.ts +162 -0
  90. package/src/operation-journal/aws/deadline.ts +41 -0
  91. package/src/operation-journal/aws/oidc.ts +439 -0
  92. package/src/operation-journal/aws/policy.ts +491 -0
  93. package/src/operation-journal/aws/s3-boundary.ts +562 -0
  94. package/src/operation-journal/aws.ts +60 -0
  95. package/src/operation-journal/canonical.ts +373 -0
  96. package/src/operation-journal/model.ts +301 -0
  97. package/src/operation-journal/reducer.ts +112 -0
  98. package/src/operation-journal/s3.ts +884 -0
  99. package/src/operation-journal.ts +51 -0
  100. package/src/platform/credentials.ts +71 -3
  101. package/src/publication/github.ts +83 -15
  102. package/src/release/capabilities.ts +3 -2
  103. package/src/release/prepare.ts +3 -5
  104. package/src/release/prepared-store.ts +8 -7
  105. package/templates/README.md +2 -2
  106. package/templates/github-actions/release.yml +24 -7
  107. package/templates/github-actions/reviewed-release.yml +49 -14
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-store.d.ts","sourceRoot":"","sources":["../../src/release/prepared-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,EAAoB,iBAAiB,EAAgD,MAAM,eAAe,CAAA;AACjH,OAAO,EAAE,0BAA0B,EAAuC,MAAM,mBAAmB,CAAA;;;;AAEnG,qBAAa,kBACX,SAAQ,uBAA8F;CAAG;;;;;AAE3G,qBAAa,4BACX,SAAQ,iCAGN;CAAG;;;;;;AAEP,qBAAa,4BACX,SAAQ,iCAIN;CAAG;;;;;;;;;;;;;AAEP,qBAAa,oCACX,SAAQ,yCAWN;CAAG;AAEP,eAAO,MAAM,uBAAuB,2GAGlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAMzE;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MACxC,CAAA;AAE5C,eAAO,MAAM,6BAA6B;wBACpB,0BAA0B;qBAC7B,cAAc;uBACZ,uBAAuB;6HAuD1C,CAAA;;;;;AAEF;;;;GAIG;AACH,qBAAa,0BACX,SAAQ,+BAGN;CAAG;AAEP,eAAO,MAAM,uBAAuB,yWAelC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAA;CACjE;AA2DD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,GAAG,EAAE,0BAA0B,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC;AAmHD,eAAO,MAAM,oBAAoB,wNAO9B,CAAA;AAEH,eAAO,MAAM,mBAAmB,iFAG7B,CAAA;AAEH,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,CACf,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,GAAG,0BAA0B,CAAC,CAAA;IAC7F,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,0BAA0B,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;CAC5G;;AAED,qBAAa,oBACX,SAAQ,yBAAqG;CAAG;AAElH,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,GACxC,gBAAgB,MAAM,EACtB,UAAU,oBAAoB,KAC7B,yBAYD,CAAA"}
1
+ {"version":3,"file":"prepared-store.d.ts","sourceRoot":"","sources":["../../src/release/prepared-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAMvC,OAAO,EAAoB,iBAAiB,EAAgD,MAAM,eAAe,CAAA;AACjH,OAAO,EAAE,0BAA0B,EAAuC,MAAM,mBAAmB,CAAA;;;;AAEnG,qBAAa,kBACX,SAAQ,uBAA8F;CAAG;;;;;AAE3G,qBAAa,4BACX,SAAQ,iCAGN;CAAG;;;;;;AAEP,qBAAa,4BACX,SAAQ,iCAIN;CAAG;;;;;;;;;;;;;AAEP,qBAAa,oCACX,SAAQ,yCAWN;CAAG;AAEP,eAAO,MAAM,uBAAuB,2GAGlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAMzE;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,MACxC,CAAA;AAE5C,eAAO,MAAM,6BAA6B;wBACpB,0BAA0B;qBAC7B,cAAc;uBACZ,uBAAuB;6HAuD1C,CAAA;;;;;AAEF;;;;GAIG;AACH,qBAAa,0BACX,SAAQ,+BAGN;CAAG;AAEP,eAAO,MAAM,uBAAuB,yWAelC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC,IAAI,CAAA;AAEzE,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAA;CACjE;AA4DD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,GAAG,EAAE,0BAA0B,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAA;CAChC;AAmHD,eAAO,MAAM,oBAAoB,wNAO9B,CAAA;AAEH,eAAO,MAAM,mBAAmB,iFAG7B,CAAA;AAEH,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,CACf,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,GAAG,0BAA0B,CAAC,CAAA;IAC7F,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,0BAA0B,KAAK,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;CAC5G;;AAED,qBAAa,oBACX,SAAQ,yBAAqG;CAAG;AAElH,+EAA+E;AAC/E,eAAO,MAAM,6BAA6B,GACxC,gBAAgB,MAAM,EACtB,UAAU,oBAAoB,KAC7B,yBAYD,CAAA"}
@@ -140,9 +140,11 @@ const causeReason = (cause) => typeof cause === "object" && cause !== null && "r
140
140
  const canonicalDirectory = (directory) => {
141
141
  if (!existsSync(directory))
142
142
  mkdirSync(directory, { recursive: true, mode: 0o700 });
143
- const real = realpathSync(directory);
144
- if (real !== directory)
143
+ if (lstatSync(directory).isSymbolicLink())
145
144
  fail("Prepared store root must not be a symlink.");
145
+ const real = realpathSync(directory);
146
+ if (!lstatSync(real).isDirectory())
147
+ fail("Prepared store root must be a directory.");
146
148
  return real;
147
149
  };
148
150
  const syncDirectory = (directory) => {
@@ -199,20 +201,20 @@ const validatePublications = (manifest, artifacts) => {
199
201
  }
200
202
  };
201
203
  const readBundle = (directory) => {
202
- const real = realpathSync(directory);
203
- if (real !== directory || lstatSync(directory).isSymbolicLink())
204
+ if (lstatSync(directory).isSymbolicLink())
204
205
  fail("Prepared bundle directory must not be a symlink.");
205
- const bytes = secureRead(directory, "prepared-release.json").bytes;
206
+ const real = realpathSync(directory);
207
+ const bytes = secureRead(real, "prepared-release.json").bytes;
206
208
  const manifest = decodePreparedRelease(bytes);
207
209
  if (manifest.kind !== "complete")
208
210
  fail("Prepared store refuses every unknown or partial bundle kind.");
209
211
  const manifestDigest = sha256Digest(bytes).hex;
210
- if (basename(directory) !== manifestDigest)
212
+ if (basename(real) !== manifestDigest)
211
213
  fail("Prepared bundle directory does not match its manifest digest.");
212
- const entries = readdirSync(directory, { withFileTypes: true });
214
+ const entries = readdirSync(real, { withFileTypes: true });
213
215
  if (entries.some((entry) => entry.name !== "prepared-release.json" && entry.name !== "blobs"))
214
216
  fail("Prepared bundle contains an unexpected top-level entry.");
215
- const blobDirectory = join(directory, "blobs");
217
+ const blobDirectory = join(real, "blobs");
216
218
  if (!existsSync(blobDirectory) || lstatSync(blobDirectory).isSymbolicLink() || !statSync(blobDirectory).isDirectory())
217
219
  fail("Prepared bundle is missing its real blobs directory.");
218
220
  const artifacts = artifactsById(manifest);
@@ -227,7 +229,7 @@ const readBundle = (directory) => {
227
229
  fail("Prepared bundle blob set does not match its manifest.");
228
230
  const blobs = new Map();
229
231
  for (const artifact of artifacts.values()) {
230
- const blob = secureRead(directory, `blobs/${artifact.blob.hex}`).bytes;
232
+ const blob = secureRead(real, `blobs/${artifact.blob.hex}`).bytes;
231
233
  if (blob.length !== artifact.size || !digestEquals(sha256Digest(blob), artifact.digest))
232
234
  fail(`Prepared blob ${artifact.id} failed size or digest verification.`);
233
235
  blobs.set(artifact.id.toString(), new Uint8Array(blob));
@@ -1 +1 @@
1
- {"version":3,"file":"prepared-store.js","sourceRoot":"","sources":["../../src/release/prepared-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepared-store.js","sourceRoot":"","sources":["../../src/release/prepared-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mannyc1/ts-release",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
5
  "packageManager": "bun@1.3.14",
6
6
  "description": "Prepare, publish, observe, and safely resume npm, PyPI, GitHub, Homebrew, and Scoop releases.",
@@ -58,6 +58,14 @@
58
58
  "./provider-sdk": {
59
59
  "types": "./dist/provider-sdk.d.ts",
60
60
  "default": "./dist/provider-sdk.js"
61
+ },
62
+ "./operation-journal": {
63
+ "types": "./dist/operation-journal.d.ts",
64
+ "default": "./dist/operation-journal.js"
65
+ },
66
+ "./operation-journal/aws": {
67
+ "types": "./dist/operation-journal/aws.d.ts",
68
+ "default": "./dist/operation-journal/aws.js"
61
69
  }
62
70
  },
63
71
  "files": [
@@ -79,6 +87,8 @@
79
87
  "test:coverage": "bun test --coverage",
80
88
  "check:package-exports": "bun run scripts/check-package-exports.ts",
81
89
  "check:packed-consumers": "bun run scripts/check-packed-consumers.ts",
90
+ "build:pypi-wheels": "bun run scripts/build-pypi-wheels.ts",
91
+ "prepare:pypi-distributions": "bun run apps/release-ts/scripts/prepare-pypi-distributions.ts",
82
92
  "check:import-rules": "bun run scripts/check-import-rules.ts",
83
93
  "check:tree-shaking": "bun run scripts/check-tree-shaking.ts",
84
94
  "check:examples": "bun run scripts/check-examples.ts",
@@ -89,6 +99,8 @@
89
99
  "check:self-release-readiness": "bun run apps/release-ts/scripts/check-self-release-readiness.ts",
90
100
  "check:self-release-artifacts": "bun run apps/release-ts/scripts/check-self-release-artifacts.ts",
91
101
  "check:self-release-correction": "bun run apps/release-ts/scripts/check-self-release-correction.ts",
102
+ "build:self-release-tools": "bun run scripts/build-self-release-tools.ts",
103
+ "check:self-release-tools": "bun run scripts/check-self-release-tools.ts",
92
104
  "check:action-bundle": "bun run scripts/check-action-bundle.ts",
93
105
  "check:cli-bundle": "bun run scripts/check-cli-bundle.ts",
94
106
  "check:config-schema": "bun run scripts/check-config-schema.ts",
@@ -106,12 +118,15 @@
106
118
  "measure:release-candidate": "bun run scripts/measure-release-candidate.ts",
107
119
  "replay:provider-reads": "bun run scripts/replay-provider-reads.ts",
108
120
  "check:app": "bun run --cwd apps/release-ts check && bun test test/core/cli-cutover.test.ts test/cli-command.test.ts",
109
- "check:action": "bun run --cwd apps/ts-release-action check && bun run check:action-bundle && bun test test/core/action-cutover.test.ts test/action-command.test.ts test/action-launcher.test.ts test/action-artifact-bridge.test.ts",
110
- "check:portable": "bun run check:core && bun run check:agents && bun run check:app && bun run check:action",
111
- "check:release-candidate": "bun run build && bun run check:self-release-context && bun run check:self-release-prepare && bun run check:self-release-reproducibility && bun run check:self-release-readiness && bun run check:self-release-artifacts && bun run check:self-release-correction && bun run check:portable",
121
+ "check:action": "bun run --cwd apps/ts-release-action check && bun run check:action-bundle && bun test test/core/action-cutover.test.ts test/action-command.test.ts test/action-launcher.test.ts test/action-artifact-bridge.test.ts test/action-report-handoff.test.ts test/action-report-retainer.test.ts",
122
+ "check:portable": "bun run check:core && bun run check:app && bun run check:action && bun run check:self-release-tools",
123
+ "check:release-candidate": "bun run build && bun run check:self-release-context && bun run check:self-release-prepare && bun run check:self-release-reproducibility && bun run check:self-release-readiness && bun run check:self-release-artifacts && bun run check:self-release-correction && bun run check:portable && bun run check:agents",
112
124
  "cli": "bun run apps/release-ts/src/cli/main.ts"
113
125
  },
114
126
  "dependencies": {
127
+ "@aws-sdk/client-iam": "3.1123.0",
128
+ "@aws-sdk/client-s3": "3.1123.0",
129
+ "@aws-sdk/client-sts": "3.1123.0",
115
130
  "@effect/platform-node-shared": "4.0.0-beta.83",
116
131
  "semver": "^7.8.5"
117
132
  },
@@ -1,4 +1,4 @@
1
- import { gzipSync } from "node:zlib"
1
+ import { deflateRawSync, gzipSync } from "node:zlib"
2
2
 
3
3
  export interface ArchiveEntry {
4
4
  readonly path: string
@@ -34,27 +34,36 @@ const crc32 = (data: Uint8Array): number => {
34
34
  for (const byte of data) crc = (crc >>> 8) ^ crcTable[(crc ^ byte) & 0xff]!
35
35
  return (crc ^ 0xffffffff) >>> 0
36
36
  }
37
- export const zip = (entries: ReadonlyArray<ArchiveEntry>): Uint8Array => {
37
+ export type ZipCompression = "store" | "deflate"
38
+
39
+ export const zip = (
40
+ entries: ReadonlyArray<ArchiveEntry>,
41
+ compression: ZipCompression = "store"
42
+ ): Uint8Array => {
38
43
  const bodies: Array<Uint8Array> = []
39
44
  const central: Array<Uint8Array> = []
40
45
  let offset = 0
41
46
  for (const entry of entries) {
42
47
  const name = text(entry.path)
43
48
  const crc = crc32(entry.data)
49
+ const method = compression === "deflate" ? 8 : 0
50
+ const body = compression === "deflate"
51
+ ? new Uint8Array(deflateRawSync(entry.data, { level: 9 }))
52
+ : entry.data
44
53
  const local = concat([
45
- integer(4, 0x04034b50), integer(2, 20), integer(2, 0x0800), integer(2, 0),
46
- integer(2, 0), integer(2, 0), integer(4, crc), integer(4, entry.data.length),
54
+ integer(4, 0x04034b50), integer(2, 20), integer(2, 0x0800), integer(2, method),
55
+ integer(2, 0), integer(2, 0), integer(4, crc), integer(4, body.length),
47
56
  integer(4, entry.data.length), integer(2, name.length), integer(2, 0), name
48
57
  ])
49
- bodies.push(local, entry.data)
58
+ bodies.push(local, body)
50
59
  central.push(concat([
51
60
  integer(4, 0x02014b50), integer(2, 0x0314), integer(2, 20), integer(2, 0x0800),
52
- integer(2, 0), integer(2, 0), integer(2, 0), integer(4, crc),
53
- integer(4, entry.data.length), integer(4, entry.data.length), integer(2, name.length),
61
+ integer(2, method), integer(2, 0), integer(2, 0), integer(4, crc),
62
+ integer(4, body.length), integer(4, entry.data.length), integer(2, name.length),
54
63
  integer(2, 0), integer(2, 0), integer(2, 0), integer(2, 0),
55
64
  integer(4, entry.mode << 16), integer(4, offset), name
56
65
  ]))
57
- offset += local.length + entry.data.length
66
+ offset += local.length + body.length
58
67
  }
59
68
  const directory = concat(central)
60
69
  return concat([
@@ -10,7 +10,6 @@ import {
10
10
  copyFileSync,
11
11
  lstatSync,
12
12
  mkdirSync,
13
- mkdtempSync,
14
13
  readFileSync,
15
14
  readdirSync,
16
15
  realpathSync,
@@ -18,13 +17,13 @@ import {
18
17
  statSync,
19
18
  writeFileSync
20
19
  } from "node:fs"
21
- import { tmpdir } from "node:os"
22
20
  import { delimiter, isAbsolute, join, resolve } from "node:path"
23
21
  import { readEnvironment, readOptionalEnv } from "./environment.js"
24
22
  import { redactOutput, redactProtocolOutput } from "./redact.js"
25
23
  import { networkIsolationHelperSource } from "./seccomp-helper-source.js"
26
24
  import { failure } from "./utils.js"
27
25
  import { DriverError } from "./errors.js"
26
+ import { makeCanonicalTemporaryDirectory } from "./workspace.js"
28
27
 
29
28
  export interface NetworkIsolationIdentity {
30
29
  readonly protocol: "ts-release-seccomp-network-deny/v1"
@@ -242,7 +241,7 @@ export const makeRunCommand: Effect.Effect<RunCommand, never, ChildProcessSpawne
242
241
  ? undefined
243
242
  : yield* Effect.acquireRelease(
244
243
  Effect.sync(() => {
245
- const directory = mkdtempSync(join(tmpdir(), "ts-release-bun-runtime-"))
244
+ const directory = makeCanonicalTemporaryDirectory("ts-release-bun-runtime-")
246
245
  const cache = join(directory, "cache")
247
246
  mkdirSync(cache, { mode: 0o700 })
248
247
  if (compileRuntime.sourcePath !== undefined) {
@@ -260,7 +259,7 @@ export const makeRunCommand: Effect.Effect<RunCommand, never, ChildProcessSpawne
260
259
  const isolationResources = command.network === "deny"
261
260
  ? yield* Effect.acquireRelease(
262
261
  Effect.sync(() => {
263
- const directory = mkdtempSync(join(tmpdir(), "ts-release-seccomp-"))
262
+ const directory = makeCanonicalTemporaryDirectory("ts-release-seccomp-")
264
263
  const helper = join(directory, "network-deny.mjs")
265
264
  const identity = join(directory, "identity.json")
266
265
  writeFileSync(helper, networkIsolationHelperSource, { mode: 0o500 })
@@ -0,0 +1,145 @@
1
+ import { createHash } from "node:crypto"
2
+ import type { ArchiveEntry } from "./archive.js"
3
+ import { zip } from "./archive.js"
4
+ import {
5
+ bunArtifactTargets,
6
+ type BunArtifactTargetId
7
+ } from "../model/bun-targets.js"
8
+
9
+ export interface EmbeddedPythonWheelTarget {
10
+ readonly id: BunArtifactTargetId
11
+ readonly format: "elf" | "mach-o"
12
+ readonly architecture: "x86_64" | "aarch64"
13
+ readonly wheelTag: string
14
+ }
15
+
16
+ const wheelTags = {
17
+ "linux-x64": "py3-none-manylinux_2_17_x86_64",
18
+ "linux-arm64": "py3-none-manylinux_2_17_aarch64",
19
+ "darwin-x64": "py3-none-macosx_13_0_x86_64",
20
+ "darwin-arm64": "py3-none-macosx_13_0_arm64"
21
+ } as const satisfies Readonly<Record<BunArtifactTargetId, string>>
22
+
23
+ export const embeddedPythonWheelTargets: ReadonlyArray<EmbeddedPythonWheelTarget> = Object.freeze(
24
+ bunArtifactTargets.map((target) => Object.freeze({
25
+ id: target.id,
26
+ format: target.format,
27
+ architecture: target.architecture,
28
+ wheelTag: wheelTags[target.id]
29
+ }))
30
+ )
31
+
32
+ const encoder = new TextEncoder()
33
+ const bytes = (value: string): Uint8Array => encoder.encode(value)
34
+ const safeMetadata = (name: string, value: string): string => {
35
+ if (value.length === 0 || /[\r\n\0]/u.test(value)) {
36
+ throw new Error(`Python wheel ${name} must be a nonempty single-line value.`)
37
+ }
38
+ return value
39
+ }
40
+ const normalizedVersion = (version: string): string =>
41
+ safeMetadata("version", version).replaceAll("-", "_")
42
+ const distribution = "ts_release"
43
+ const moduleName = "ts_release"
44
+ const projectName = "ts-release"
45
+ const consoleScript = "ts-release"
46
+
47
+ export const embeddedPythonWheelFilename = (
48
+ target: EmbeddedPythonWheelTarget,
49
+ version: string
50
+ ): string => `${distribution}-${normalizedVersion(version)}-${target.wheelTag}.whl`
51
+
52
+ const launcher = `"""Launch the platform-specific ts-release executable bundled in this wheel."""
53
+
54
+ from __future__ import annotations
55
+
56
+ import os
57
+ import stat
58
+ import sys
59
+ from importlib import resources
60
+
61
+
62
+ def main() -> int:
63
+ try:
64
+ executable = resources.files("${moduleName}").joinpath("bin", "${consoleScript}")
65
+ with resources.as_file(executable) as binary:
66
+ if not binary.is_file():
67
+ raise RuntimeError(f"Bundled ${consoleScript} executable was not found: {binary}")
68
+ binary_path = os.fspath(binary)
69
+ os.chmod(binary_path, os.stat(binary_path).st_mode | stat.S_IXUSR)
70
+ os.execv(binary_path, [binary_path, *sys.argv[1:]])
71
+ except Exception as error:
72
+ print(f"${consoleScript} launcher error: {error}", file=sys.stderr)
73
+ return 1
74
+
75
+
76
+ if __name__ == "__main__":
77
+ raise SystemExit(main())
78
+ `
79
+
80
+ export interface EmbeddedPythonWheelInput {
81
+ readonly target: EmbeddedPythonWheelTarget
82
+ readonly version: string
83
+ readonly summary: string
84
+ readonly homepage: string
85
+ readonly license: string
86
+ readonly binary: Uint8Array
87
+ }
88
+
89
+ export const embeddedPythonWheelEntries = (
90
+ input: EmbeddedPythonWheelInput
91
+ ): ReadonlyArray<ArchiveEntry> => {
92
+ const version = safeMetadata("version", input.version)
93
+ const summary = safeMetadata("summary", input.summary)
94
+ const homepage = safeMetadata("homepage", input.homepage)
95
+ const license = safeMetadata("license", input.license)
96
+ if (input.binary.length === 0) throw new Error("Python wheel executable cannot be empty.")
97
+ const distInfo = `${distribution}-${normalizedVersion(version)}.dist-info`
98
+ const metadata = [
99
+ "Metadata-Version: 2.4",
100
+ `Name: ${projectName}`,
101
+ `Version: ${version}`,
102
+ `Summary: ${summary}`,
103
+ `Home-page: ${homepage}`,
104
+ `License-Expression: ${license}`,
105
+ "Requires-Python: >=3.9",
106
+ "Description-Content-Type: text/plain",
107
+ "",
108
+ summary,
109
+ ""
110
+ ].join("\n")
111
+ const entries: ArchiveEntry[] = [
112
+ { path: `${moduleName}/__init__.py`, data: bytes(`__version__ = ${JSON.stringify(version)}\n`), mode: 0o100644 },
113
+ { path: `${moduleName}/cli.py`, data: bytes(launcher), mode: 0o100644 },
114
+ { path: `${moduleName}/bin/${consoleScript}`, data: input.binary, mode: 0o100755 },
115
+ { path: `${distInfo}/METADATA`, data: bytes(metadata), mode: 0o100644 },
116
+ {
117
+ path: `${distInfo}/WHEEL`,
118
+ data: bytes([
119
+ "Wheel-Version: 1.0",
120
+ "Generator: ts-release",
121
+ "Root-Is-Purelib: false",
122
+ `Tag: ${input.target.wheelTag}`,
123
+ ""
124
+ ].join("\n")),
125
+ mode: 0o100644
126
+ },
127
+ {
128
+ path: `${distInfo}/entry_points.txt`,
129
+ data: bytes(`[console_scripts]\n${consoleScript} = ${moduleName}.cli:main\n`),
130
+ mode: 0o100644
131
+ },
132
+ { path: `${distInfo}/top_level.txt`, data: bytes(`${moduleName}\n`), mode: 0o100644 }
133
+ ]
134
+ entries.sort((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0)
135
+ const recordPath = `${distInfo}/RECORD`
136
+ const record = entries.map((entry) =>
137
+ `${entry.path},sha256=${createHash("sha256").update(entry.data).digest("base64url")},${entry.data.length}`
138
+ )
139
+ record.push(`${recordPath},,`)
140
+ entries.push({ path: recordPath, data: bytes(`${record.join("\n")}\n`), mode: 0o100644 })
141
+ return entries
142
+ }
143
+
144
+ export const buildEmbeddedPythonWheel = (input: EmbeddedPythonWheelInput): Uint8Array =>
145
+ zip(embeddedPythonWheelEntries(input), "deflate")
@@ -1,13 +1,19 @@
1
1
  import {
2
2
  chmodSync, closeSync, constants, existsSync, fstatSync, fsyncSync, lstatSync,
3
- mkdirSync, openSync, readFileSync, realpathSync, writeFileSync
3
+ mkdirSync, mkdtempSync, openSync, readFileSync, realpathSync, writeFileSync
4
4
  } from "node:fs"
5
+ import { tmpdir } from "node:os"
5
6
  import { join } from "node:path"
6
7
  import { contained } from "./contain.js"
7
8
  import { DriverError } from "./errors.js"
8
9
 
9
10
  const fail = (reason: string): DriverError => DriverError.make({ reason, commitment: "before-commit" })
10
11
 
12
+ /** Create private scratch beneath the host temp root and return its canonical path.
13
+ * macOS commonly exposes that root through /var while realpath resolves /private/var. */
14
+ export const makeCanonicalTemporaryDirectory = (prefix: string): string =>
15
+ realpathSync(mkdtempSync(join(realpathSync(tmpdir()), prefix)))
16
+
11
17
  export const secureRead = (root: string, path: string): { readonly bytes: Uint8Array, readonly inode: number } => {
12
18
  let current = root
13
19
  for (const part of path.split(/[\\/]+/u)) {
@@ -0,0 +1,162 @@
1
+ import { encodeCanonicalJson } from "../model/canonical.js"
2
+ import {
3
+ JournalAuthorityMismatch,
4
+ type S3JournalAuthority
5
+ } from "./model.js"
6
+
7
+ const escapedPattern = (value: string): string => value.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&")
8
+
9
+ const requireExactFields = (
10
+ value: object,
11
+ expected: ReadonlyArray<string>,
12
+ label: string
13
+ ): void => {
14
+ const actual = Object.keys(value).sort()
15
+ const fields = [...expected].sort()
16
+ if (actual.length !== fields.length || actual.some((field, index) => field !== fields[index])) {
17
+ throw JournalAuthorityMismatch.make({ reason: `${label} fields are not the exact admitted set.` })
18
+ }
19
+ }
20
+
21
+ export const validateS3JournalAuthority = (authority: S3JournalAuthority): void => {
22
+ requireExactFields(authority, [
23
+ "accountId",
24
+ "bucketArn",
25
+ "bucketName",
26
+ "bucketOwnerEnforced",
27
+ "bucketPolicyDigest",
28
+ "conditionalWritesEnforced",
29
+ "deleteDenied",
30
+ "expectedBucketOwner",
31
+ "multipartDenied",
32
+ "objectLock",
33
+ "oidc",
34
+ "oidcTrust",
35
+ "oidcTrustPolicyDigest",
36
+ "prefix",
37
+ "publicAccessBlocked",
38
+ "region",
39
+ "retentionMode",
40
+ "retentionYears",
41
+ "roleArn",
42
+ "rolePolicyDigest",
43
+ "versioning"
44
+ ], "Journal authority")
45
+ requireExactFields(authority.oidc, [
46
+ "audience",
47
+ "environment",
48
+ "eventName",
49
+ "issuer",
50
+ "jobWorkflowRef",
51
+ "jobWorkflowSha",
52
+ "ref",
53
+ "refType",
54
+ "repository",
55
+ "repositoryId",
56
+ "repositoryOwnerId",
57
+ "repositoryVisibility",
58
+ "runAttempt",
59
+ "runId",
60
+ "runnerEnvironment",
61
+ "sha",
62
+ "subject",
63
+ "workflow",
64
+ "workflowRef",
65
+ "workflowSha"
66
+ ], "Journal OIDC claims")
67
+ requireExactFields(authority.oidcTrust, [
68
+ "audience",
69
+ "environment",
70
+ "jobWorkflowRef",
71
+ "ref",
72
+ "repository",
73
+ "repositoryId",
74
+ "repositoryOwnerId",
75
+ "subject",
76
+ "workflow"
77
+ ], "Journal OIDC trust projection")
78
+ if (!/^[0-9]{12}$/u.test(authority.accountId) || authority.expectedBucketOwner !== authority.accountId) {
79
+ throw JournalAuthorityMismatch.make({ reason: "Journal AWS account and expected bucket owner are not the same exact account." })
80
+ }
81
+ if (!/^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/u.test(authority.bucketName) ||
82
+ authority.bucketArn !== `arn:aws:s3:::${authority.bucketName}`) {
83
+ throw JournalAuthorityMismatch.make({ reason: "Journal bucket identity is not canonical." })
84
+ }
85
+ if (!/^(?:af|ap|ca|eu|il|me|mx|sa|us)-[a-z]+-[0-9]$/u.test(authority.region)) {
86
+ throw JournalAuthorityMismatch.make({ reason: "Journal region is not canonical." })
87
+ }
88
+ if (authority.roleArn.length > 512 || !(new RegExp(
89
+ `^arn:aws:iam::${authority.accountId}:role\/(?:[A-Za-z0-9+=,.@_-]{1,128}\/)*[A-Za-z0-9+=,.@_-]{1,64}$`,
90
+ "u"
91
+ )).test(authority.roleArn)) {
92
+ throw JournalAuthorityMismatch.make({ reason: "Journal role does not belong to the exact bucket account." })
93
+ }
94
+ if (!/^sha256:[a-f0-9]{64}$/u.test(authority.bucketPolicyDigest) ||
95
+ !/^sha256:[a-f0-9]{64}$/u.test(authority.rolePolicyDigest) ||
96
+ !/^sha256:[a-f0-9]{64}$/u.test(authority.oidcTrustPolicyDigest)) {
97
+ throw JournalAuthorityMismatch.make({ reason: "Journal policy digests are not canonical SHA-256 values." })
98
+ }
99
+ if (authority.prefix !== "operation-journal/v1" || authority.versioning !== "Enabled" ||
100
+ authority.objectLock !== "Enabled" || authority.retentionMode !== "COMPLIANCE" ||
101
+ authority.retentionYears !== 10 || authority.bucketOwnerEnforced !== true ||
102
+ authority.publicAccessBlocked !== true || authority.deleteDenied !== true ||
103
+ authority.multipartDenied !== true || authority.conditionalWritesEnforced !== true) {
104
+ throw JournalAuthorityMismatch.make({ reason: "Journal bucket governance is not the one admitted ten-year COMPLIANCE policy." })
105
+ }
106
+ if (authority.oidc.issuer !== "https://token.actions.githubusercontent.com" ||
107
+ authority.oidc.audience !== "sts.amazonaws.com" ||
108
+ !/^[1-9][0-9]{0,19}$/u.test(authority.oidc.repositoryId) ||
109
+ !/^[1-9][0-9]{0,19}$/u.test(authority.oidc.repositoryOwnerId) ||
110
+ !/^[1-9][0-9]{0,19}$/u.test(authority.oidc.runId) ||
111
+ !/^[1-9][0-9]{0,19}$/u.test(authority.oidc.runAttempt) ||
112
+ authority.oidc.repository.length > 200 ||
113
+ !/^[A-Za-z0-9_.-]{1,100}\/[A-Za-z0-9_.-]{1,100}$/u.test(authority.oidc.repository) ||
114
+ authority.oidc.repositoryVisibility !== "public" ||
115
+ authority.oidc.eventName !== "workflow_dispatch" ||
116
+ authority.oidc.ref.length > 256 ||
117
+ !/^refs\/heads\/[A-Za-z0-9][A-Za-z0-9._/-]*$/u.test(authority.oidc.ref) ||
118
+ authority.oidc.refType !== "branch" ||
119
+ !/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/u.test(authority.oidc.environment) ||
120
+ authority.oidc.runnerEnvironment !== "github-hosted" ||
121
+ !/^[ -~]{1,128}$/u.test(authority.oidc.workflow) ||
122
+ !/^[a-f0-9]{40}$/u.test(authority.oidc.sha) ||
123
+ authority.oidc.workflowSha !== authority.oidc.sha ||
124
+ authority.oidc.workflowRef.length > 512 || !(new RegExp(
125
+ `^${escapedPattern(authority.oidc.repository)}\\/.github\\/workflows\\/[A-Za-z0-9._-]+\\.ya?ml@${escapedPattern(authority.oidc.ref)}$`,
126
+ "u"
127
+ )).test(authority.oidc.workflowRef) ||
128
+ authority.oidc.jobWorkflowRef.length > 512 ||
129
+ !/^[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/\.github\/workflows\/[A-Za-z0-9._-]+\.ya?ml@[a-f0-9]{40}$/u.test(authority.oidc.jobWorkflowRef) ||
130
+ !/^[a-f0-9]{40}$/u.test(authority.oidc.jobWorkflowSha) ||
131
+ !authority.oidc.jobWorkflowRef.endsWith(`@${authority.oidc.jobWorkflowSha}`)) {
132
+ throw JournalAuthorityMismatch.make({
133
+ reason: "Journal OIDC claims do not bind the exact caller and called workflow identities."
134
+ })
135
+ }
136
+ const [repositoryOwner, repositoryName] = authority.oidc.repository.split("/") as [string, string]
137
+ const admittedSubjects = [
138
+ `repo:${authority.oidc.repository}:environment:${authority.oidc.environment}`,
139
+ `repo:${repositoryOwner}@${authority.oidc.repositoryOwnerId}/${repositoryName}@${authority.oidc.repositoryId}:environment:${authority.oidc.environment}`
140
+ ]
141
+ if (!admittedSubjects.includes(authority.oidc.subject)) {
142
+ throw JournalAuthorityMismatch.make({
143
+ reason: "Journal OIDC subject is neither the exact name-bound nor immutable-ID-bound environment subject."
144
+ })
145
+ }
146
+ const trustProjection = {
147
+ audience: authority.oidc.audience,
148
+ subject: authority.oidc.subject,
149
+ repository: authority.oidc.repository,
150
+ repositoryId: authority.oidc.repositoryId,
151
+ repositoryOwnerId: authority.oidc.repositoryOwnerId,
152
+ workflow: authority.oidc.workflow,
153
+ ref: authority.oidc.ref,
154
+ environment: authority.oidc.environment,
155
+ jobWorkflowRef: authority.oidc.jobWorkflowRef
156
+ }
157
+ if (encodeCanonicalJson(authority.oidcTrust) !== encodeCanonicalJson(trustProjection)) {
158
+ throw JournalAuthorityMismatch.make({
159
+ reason: "Journal AWS trust-policy conditions do not equal the re-observed trust-enforced OIDC claims."
160
+ })
161
+ }
162
+ }