utharnessly 0.2.7 → 0.2.9

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.
package/README.md CHANGED
@@ -12,7 +12,7 @@ npm install --global utharnessly
12
12
  utharness init
13
13
  ```
14
14
 
15
- The release launcher currently publishes Linux x64, macOS x64, and Windows x64 artifacts. Other architectures and operating systems should use the documented source-build or remote-host workflow in the repository installation guide.
15
+ The release launcher currently publishes Linux x64, macOS x64/arm64, and Windows x64 artifacts. Other architectures and operating systems should use the documented source-build or remote-host workflow in the repository installation guide.
16
16
 
17
17
  ```bash
18
18
  utharnessly update
@@ -10,7 +10,7 @@ import { promisify } from 'node:util';
10
10
 
11
11
  const execFileAsync = promisify(execFile);
12
12
 
13
- const VERSION = '0.2.7';
13
+ const VERSION = '0.2.9';
14
14
  const REPOSITORY = 'uthumany/utharnessly';
15
15
  const BASE_URL = (process.env.UTHARNESSLY_RELEASE_BASE_URL || `https://github.com/${REPOSITORY}/releases/download/v${VERSION}`).replace(/\/$/, '');
16
16
 
@@ -19,8 +19,9 @@ function platformAsset() {
19
19
  const arch = process.arch;
20
20
  if (platform === 'linux' && arch === 'x64') return ['utharnessly-linux-x64.tar.gz', 'tar.gz'];
21
21
  if (platform === 'darwin' && arch === 'x64') return ['utharnessly-macos-x64.tar.gz', 'tar.gz'];
22
+ if (platform === 'darwin' && arch === 'arm64') return ['utharnessly-macos-arm64.tar.gz', 'tar.gz'];
22
23
  if (platform === 'win32' && arch === 'x64') return ['utharnessly-windows-x64.zip', 'zip'];
23
- throw new Error(`No published utharnessly binary for ${platform}/${arch}. Supported release targets are Linux x64, macOS x64, and Windows x64; use the source instructions at https://github.com/${REPOSITORY} on other targets.`);
24
+ throw new Error(`No published utharnessly binary for ${platform}/${arch}. Supported release targets are Linux x64, macOS x64/arm64, and Windows x64; use the source instructions at https://github.com/${REPOSITORY} on other targets.`);
24
25
  }
25
26
 
26
27
  function cacheRoot() {
@@ -37,7 +38,10 @@ async function download(url, destination) {
37
38
  async function verifyChecksum(archive, checksumFile) {
38
39
  const contents = await fs.readFile(checksumFile, 'utf8');
39
40
  const asset = path.basename(archive);
40
- const line = contents.split(/\r?\n/).find((entry) => entry.includes(asset));
41
+ const line = contents.split(/\r?\n/).find((entry) => {
42
+ const fields = entry.trim().split(/\s+/);
43
+ return fields.length >= 2 && fields.at(-1).replace(/^\*/, '') === asset;
44
+ });
41
45
  if (!line) throw new Error(`SHA256SUMS does not contain ${asset}`);
42
46
  const expected = line.trim().split(/\s+/)[0].toLowerCase();
43
47
  const hash = createHash('sha256').update(await fs.readFile(archive)).digest('hex');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "utharnessly",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Cross-platform launcher for the utharness local-first agent terminal",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -19,7 +19,7 @@
19
19
  ],
20
20
  "repository": {
21
21
  "type": "git",
22
- "url": "https://github.com/uthumany/utharnessly.git"
22
+ "url": "git+https://github.com/uthumany/utharnessly.git"
23
23
  },
24
24
  "bugs": {
25
25
  "url": "https://github.com/uthumany/utharnessly/issues"