clawgram 2.31.0 → 2.31.1

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
@@ -958,6 +958,39 @@ npm run clawgram-cli:auth
958
958
 
959
959
  ## Releases
960
960
 
961
+ The **Release** workflow uses npm [trusted publishing](https://docs.npmjs.com/trusted-publishers/)
962
+ through GitHub OIDC. npm issues short-lived credentials per run; `NPM_TOKEN` is
963
+ not used. One-time setup in the npm package's **Settings → Trusted publishing**:
964
+
965
+ | Field | Value |
966
+ |---|---|
967
+ | Provider | GitHub Actions |
968
+ | Organization/user | `d3pre5s` |
969
+ | Repository | `clawgram` |
970
+ | Workflow filename | `release.yml` |
971
+ | Environment | `npm-publish` |
972
+ | Allowed actions | Enable `npm publish` |
973
+
974
+ Complete the first real publish within two days of creating the trust. A dry
975
+ run does not validate OIDC. After a successful OIDC release, revoke the old npm
976
+ publishing token and remove its unused GitHub secret.
977
+
978
+ npm and ClawHub run as separate jobs, with release writes serialized. Re-running
979
+ a release skips an existing npm version only if its `gitHead` matches the release
980
+ commit. If npm succeeds but ClawHub fails, run **Release** from `main` with
981
+ `clawhub_only=true` and `release_tag` set to the existing tag. Recovery uses current
982
+ release safeguards with the original tag's code, builds and tests it, and never
983
+ publishes to npm. Manual runs without this option build, test and run
984
+ `npm pack --dry-run`, which also works when the version already exists on npm.
985
+
986
+ ClawHub still uses `CLAWHUB_TOKEN` for tag releases: its OIDC path currently only
987
+ supports `workflow_dispatch` via its official reusable workflow. Explicit rate
988
+ limits are retried up to four times. An existing pending release is polled without
989
+ another upload, for up to 30 minutes. Success requires public availability and a
990
+ matching source commit; failed scans, auth errors and timeouts remain failures.
991
+ Login checks and dry runs also retry transient network failures; an ambiguous
992
+ upload failure does not trigger another upload.
993
+
961
994
  Every push and pull request is built and tested on Node 22 and 24. Releases are cut by pushing a
962
995
  `v<version>` tag: CI then builds from a clean checkout and publishes to npm with
963
996
  [provenance](https://docs.npmjs.com/generating-provenance-statements), so each published tarball is
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "clawgram",
3
- "version": "2.31.0",
3
+ "version": "2.31.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "clawgram",
9
- "version": "2.31.0",
9
+ "version": "2.31.1",
10
10
  "license": "MIT",
11
11
  "dependencies": {
12
12
  "json5": "2.2.3",
@@ -2,7 +2,7 @@
2
2
  "id": "clawgram",
3
3
  "name": "Clawgram",
4
4
  "description": "Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.",
5
- "version": "2.31.0",
5
+ "version": "2.31.1",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawgram",
3
- "version": "2.31.0",
3
+ "version": "2.31.1",
4
4
  "description": "Clawgram — personal Telegram (MTProto userbot) channel for OpenClaw. Your AI assistant reads and responds as you.",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {
@@ -8,7 +8,7 @@
8
8
  "verify:actions": "node scripts/verify/action-probe.cjs",
9
9
  "build": "tsc -p tsconfig.json",
10
10
  "build:test": "tsc -p tsconfig.test.json",
11
- "test": "node scripts/check-pii.mjs && npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\"",
11
+ "test": "node scripts/check-pii.mjs && npm run build:test && node test/ensure-compiled.mjs && node --test \"dist-test/test/*.test.js\" \"test/*.test.mjs\"",
12
12
  "check:pii": "node scripts/check-pii.mjs",
13
13
  "prepublishOnly": "npm run build && npm test",
14
14
  "release:clawhub": "node scripts/publish-clawhub.mjs",