@gianfrancopiana/openclaw-autoresearch 1.0.7 → 1.0.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
@@ -129,9 +129,10 @@ npm test
129
129
  npm run validate
130
130
  npm run release:verify
131
131
  npm run smoke:openclaw-host -- /absolute/path/to/openclaw
132
+ npm run smoke:registry-openclaw-host -- <published-version> /absolute/path/to/openclaw
132
133
  ```
133
134
 
134
- Release instructions, including npm 2FA publishing, live in [`RELEASING.md`](RELEASING.md).
135
+ Release instructions, including `npm run release:prepare -- <version> --host /absolute/path/to/openclaw` and GitHub Actions trusted publishing with npm provenance, live in [`RELEASING.md`](RELEASING.md).
135
136
 
136
137
  The local test shim supports typechecking and tests without a full OpenClaw host checkout. Runtime behavior depends on a real OpenClaw host, so run the host smoke against a current checkout before release.
137
138
 
package/RELEASING.md CHANGED
@@ -2,45 +2,62 @@
2
2
 
3
3
  ## Prerequisites
4
4
 
5
- - npm access to `@gianfrancopiana`
6
- - either npm account 2FA enabled for publishing, or a granular access token with `Bypass 2FA` enabled
5
+ - GitHub release access for `gianfrancopiana/openclaw-autoresearch`
6
+ - npm trusted publishing configured for `@gianfrancopiana/openclaw-autoresearch`
7
+ - repository: `gianfrancopiana/openclaw-autoresearch`
8
+ - workflow: `.github/workflows/npm-publish.yml`
9
+ - environment: `npm`
10
+ - fallback only: local npm publish access with 2FA or a granular publish token
7
11
 
8
12
  ## Release
9
13
 
10
- 1. Update the package version in `package.json`, then sync generated metadata:
14
+ 1. Prepare the version bump from a clean branch:
11
15
 
12
16
  ```bash
13
- npm run sync:release-metadata
17
+ npm run release:prepare -- <version> --host /absolute/path/to/openclaw
18
+ ```
19
+
20
+ This updates `package.json`, `openclaw.plugin.json`, and `package-lock.json`,
21
+ syncs generated metadata, checks the matching `v<version>` tag, runs
22
+ `release:verify`, and smoke-tests against the supplied OpenClaw checkout.
23
+
24
+ If you do not have a host checkout available, omit `--host` and run the host
25
+ smoke before publishing:
26
+
27
+ ```bash
28
+ npm run smoke:openclaw-host -- /absolute/path/to/openclaw
14
29
  ```
15
30
 
16
31
  If you change the minimum supported OpenClaw version, keep
17
32
  `openclaw.install`, `openclaw.compat`, and `openclaw.build` aligned too.
18
33
 
19
- 2. Run the release checks:
34
+ 2. Open and merge a PR with the version and metadata changes.
35
+
36
+ 3. Create and publish the matching GitHub release/tag from `main`:
20
37
 
21
38
  ```bash
22
- npm install
23
- npm run release:verify
39
+ npm run release:check-tag -- v<version>
40
+ gh release create v<version> --target main --title v<version> --notes-file release-notes.md
24
41
  ```
25
42
 
26
- CI runs the same release verification, so metadata drift should fail before
27
- publish.
43
+ Publishing the GitHub release triggers `.github/workflows/npm-publish.yml`,
44
+ which publishes the package to npm with provenance through GitHub OIDC.
28
45
 
29
- 3. Smoke-test against a current local OpenClaw checkout:
46
+ 4. Watch the publish workflow and verify npm:
30
47
 
31
48
  ```bash
32
- npm run smoke:openclaw-host -- /absolute/path/to/openclaw
49
+ gh run list --workflow npm-publish.yml --limit 1
50
+ npm view @gianfrancopiana/openclaw-autoresearch version
51
+ npm view @gianfrancopiana/openclaw-autoresearch@<version> version
33
52
  ```
34
53
 
35
- 4. Publish:
54
+ 5. Verify the published registry tarball against the same host:
36
55
 
37
56
  ```bash
38
- npm publish --otp=123456
57
+ npm run smoke:registry-openclaw-host -- <published-version> /absolute/path/to/openclaw
39
58
  ```
40
59
 
41
- Replace `123456` with the current code from your authenticator app.
42
-
43
- 5. Verify install:
60
+ 6. Verify install:
44
61
 
45
62
  ```bash
46
63
  openclaw plugins install @gianfrancopiana/openclaw-autoresearch
@@ -52,9 +69,27 @@
52
69
  pnpm openclaw plugins install @gianfrancopiana/openclaw-autoresearch
53
70
  ```
54
71
 
55
- ## Common failure
72
+ ## Local fallback
73
+
74
+ Prefer the GitHub Actions trusted-publishing workflow. If it is unavailable,
75
+ publish from a clean checkout only:
76
+
77
+ ```bash
78
+ npm ci
79
+ npm run release:verify
80
+ npm publish --otp=123456
81
+ ```
82
+
83
+ Replace `123456` with the current code from your authenticator app.
84
+
85
+ ## Common failures
86
+
87
+ If the publish workflow fails because trusted publishing is not configured,
88
+ add the npm trusted publisher for `.github/workflows/npm-publish.yml` and rerun
89
+ the release workflow.
56
90
 
57
- If `npm publish` fails with `E403` and mentions 2FA or bypass tokens, the current auth on this machine is not sufficient to publish. Either:
91
+ If local `npm publish` fails with `E403` and mentions 2FA or bypass tokens, the
92
+ current auth on this machine is not sufficient to publish. Either:
58
93
 
59
94
  - re-run `npm publish --otp=<current-code>`
60
95
  - or switch to a granular npm token with publish rights and `Bypass 2FA` enabled
@@ -13,7 +13,7 @@
13
13
  "autoresearch_status"
14
14
  ]
15
15
  },
16
- "version": "1.0.7",
16
+ "version": "1.0.9",
17
17
  "configSchema": {
18
18
  "type": "object",
19
19
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gianfrancopiana/openclaw-autoresearch",
3
- "version": "1.0.7",
3
+ "version": "1.0.9",
4
4
  "description": "Faithful OpenClaw port of pi-autoresearch.",
5
5
  "type": "module",
6
6
  "main": "./index.ts",
@@ -11,7 +11,11 @@
11
11
  "test": "vitest run",
12
12
  "validate": "npm run check:release-metadata && npm run typecheck && npm run test",
13
13
  "release:verify": "npm run validate && npm pack --dry-run",
14
- "smoke:openclaw-host": "node ./scripts/smoke-openclaw-host.mjs"
14
+ "release:check-tag": "node ./scripts/check-release-tag.mjs",
15
+ "release:prepare": "node ./scripts/prepare-release.mjs",
16
+ "prepublishOnly": "npm run release:verify",
17
+ "smoke:openclaw-host": "node ./scripts/smoke-openclaw-host.mjs",
18
+ "smoke:registry-openclaw-host": "node ./scripts/smoke-openclaw-registry.mjs"
15
19
  },
16
20
  "keywords": [
17
21
  "openclaw",
@@ -50,7 +54,12 @@
50
54
  "@sinclair/typebox": "0.34.48"
51
55
  },
52
56
  "peerDependencies": {
53
- "openclaw": "*"
57
+ "openclaw": ">=2026.4.25"
58
+ },
59
+ "peerDependenciesMeta": {
60
+ "openclaw": {
61
+ "optional": true
62
+ }
54
63
  },
55
64
  "publishConfig": {
56
65
  "access": "public"