@ai-ecoverse/slicc-agent 4.3.3 → 4.3.5

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 (2) hide show
  1. package/README.md +3 -1
  2. package/package.json +8 -8
package/README.md CHANGED
@@ -630,7 +630,7 @@ The agent never holds a secret's value. Values live in the vault (`vault.sliccy.
630
630
 
631
631
  ## The kernel
632
632
 
633
- `@ai-ecoverse/slicc-kernel` is a peer dependency (`>=1.47.1 <2`, the first kernel with users and the H1 wasm commands; until 3.31.0 the floor was 1.26.3): the agent only calls `attachKernel`, the client end of the page kernel's port, so it must match the kernel the page runs. Seven chooses that version: slicc-bios pins the certified kernel next to the agent in `src/packages/agent/package.json`, and pnpm fills the peer from that pin. The devDependency is the lowest certified kernel the range allows (1.47.1), and the unit and integration tests run on it with the H1 wasm commands as devDependencies. A second CI job reruns the integration tests on the newest certified kernel (`NEWEST_CERTIFIED_KERNEL` in `.github/workflows/ci.yml`), with the wasm commands certified for it (`NEWEST_CERTIFIED_WASM`). Today the floor is 1.47.1 and the newest certified kernel 1.86.0; the second job moves by hand to each newer certified kernel, so both ends of the range are tested. If the port protocol ever breaks within 1.x, a patch release narrows the upper bound. Renovate opens PRs for the kernel, `wasi-pnpm`, the `wasm-*` packages and `slicc-cdp` but never merges them, because they move only after the homescoop coordinator certifies them.
633
+ `@ai-ecoverse/slicc-kernel` is a peer dependency (`>=1.81.0 <2`; until 3.31.0 the floor was 1.26.3, then 1.47.1): the agent only calls `attachKernel`, the client end of the page kernel's port, so it must match the kernel the page runs. Seven chooses that version: slicc-bios pins the certified kernel next to the agent in `src/packages/agent/package.json`, and pnpm fills the peer from that pin. The floor is the kernel slicc-bios ships (1.81.0 today), and slicc-bios's own CI tests the agent on it; when slicc-bios moves its pin, the floor follows. The kernel and the `wasm-*` commands are devDependencies pinned to certified versions (kernel 1.94.0 today), and CI runs the unit and integration tests on them in one leg. If the port protocol ever breaks within 1.x, a patch release narrows the upper bound. Renovate opens PRs for the kernel, `wasi-pnpm`, the `wasm-*` packages and `slicc-cdp` but never merges them, because they move only after the homescoop coordinator certifies them; such a PR is merged once the cert lane has certified its version.
634
634
 
635
635
  ## Patched dependencies
636
636
 
@@ -660,3 +660,5 @@ npm run lint
660
660
  ```
661
661
 
662
662
  `npm test` builds `dist/`, bundles a test worker that runs the agent on pi's faux provider, and runs the integration tests in Chromium through the [slicc-shared-web harness](https://github.com/ai-ecoverse/slicc-shared-web#integration-test-harness). Unit tests live in `test/unit/`, which stays out of git; the pre-commit hook requires every changed line in `src/` to be covered. No test calls a real model.
663
+
664
+ Releases are cut by semantic-release on every push to `main`, and only there, in two jobs. `main` only takes merges that the merge queue tested on that same commit, so the release runs no tests. The `tag` job runs on the bench pool, so it starts within a minute of the push. It computes the version, tags the commit and creates the GitHub release, with `npmPublish: false`. A run that starts after `main` has moved on skips, and the run for the newer commit releases it. The `publish` job runs on a GitHub-hosted runner, because npm's trusted publishing and provenance accept no self-hosted runner. Each `publish` job runs `scripts/publish.mjs`, which publishes only its own run's version, from that run's commit, so the provenance names the run that built it. Publish jobs have no concurrency group, so GitHub never cancels one that is pending and no version is skipped. A job that runs after a newer version is tagged or on npm publishes with the dist-tag `backfill`, so `latest` never moves back. Re-running a failed `publish` job completes its version.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-agent",
3
- "version": "4.3.3",
3
+ "version": "4.3.5",
4
4
  "description": "SLICC's agent core on pi durable: an agent worker, session storage, remoting and pi extensions",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -50,7 +50,7 @@
50
50
  "prepack": "npm run build",
51
51
  "start": "npm run build && node test/integration/chrome.mjs",
52
52
  "pretest": "npm run build && node test/integration/build.mjs && playwright-core install --no-shell chromium",
53
- "test": "node --test --test-timeout=120000 --test-global-setup=node_modules/@ai-ecoverse/slicc-shared-web/harness/global.mjs 'test/integration/*.test.mjs'",
53
+ "test": "node --test ${TEST_CONCURRENCY:+--test-concurrency=$TEST_CONCURRENCY} --test-timeout=120000 --test-global-setup=node_modules/@ai-ecoverse/slicc-shared-web/harness/global.mjs 'test/integration/*.test.mjs'",
54
54
  "test:unit": "NODE_NO_WARNINGS=1 mcr -c node_modules/@ai-ecoverse/slicc-shared-web/mcr.config.mjs node --test 'test/unit/**/*.test.mjs'",
55
55
  "typecheck": "tsc",
56
56
  "lint": "slicc-lint && npm run lint:patches",
@@ -61,12 +61,12 @@
61
61
  "release": "semantic-release"
62
62
  },
63
63
  "devDependencies": {
64
- "@ai-ecoverse/slicc-kernel": "1.47.1",
64
+ "@ai-ecoverse/slicc-kernel": "1.94.0",
65
65
  "@ai-ecoverse/slicc-scrub": "1.0.0",
66
- "@ai-ecoverse/slicc-shared-web": "1.15.1",
67
- "@ai-ecoverse/slicc-spectrum": "1.72.0",
66
+ "@ai-ecoverse/slicc-shared-web": "1.20.0",
67
+ "@ai-ecoverse/slicc-spectrum": "1.74.0",
68
68
  "@ai-ecoverse/wasm-bash": "5.3.0-18",
69
- "@ai-ecoverse/wasm-coreutils": "9.12.0-5",
69
+ "@ai-ecoverse/wasm-coreutils": "9.12.0-6",
70
70
  "@ai-ecoverse/wasm-git": "2.55.0-15",
71
71
  "@biomejs/biome": "2.5.15",
72
72
  "@types/node": "24.19.1",
@@ -79,7 +79,7 @@
79
79
  "typescript": "7.0.2"
80
80
  },
81
81
  "dependencies": {
82
- "@ai-ecoverse/slicc-browsers": "1.6.0",
82
+ "@ai-ecoverse/slicc-browsers": "1.7.1",
83
83
  "@ai-ecoverse/slicc-vault": "1.9.1",
84
84
  "@earendil-works/chord": "1.0.4",
85
85
  "@earendil-works/pi-ai": "1.0.4",
@@ -92,7 +92,7 @@
92
92
  "@sqlite.org/sqlite-wasm": "3.53.4-build2"
93
93
  },
94
94
  "peerDependencies": {
95
- "@ai-ecoverse/slicc-kernel": ">=1.47.1 <2",
95
+ "@ai-ecoverse/slicc-kernel": ">=1.81.0 <2",
96
96
  "@ai-ecoverse/slicc-spectrum": "^1.59.0"
97
97
  },
98
98
  "peerDependenciesMeta": {