@arnilo/prism 0.0.19 → 0.0.20
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/CHANGELOG.md +18 -0
- package/dist/agents.js +17 -2
- package/dist/context-budget.d.ts +5 -1
- package/dist/context-budget.js +55 -9
- package/dist/contracts.d.ts +16 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.js +4 -1
- package/dist/input.d.ts +6 -0
- package/dist/input.js +42 -8
- package/dist/skill-disclosure.d.ts +35 -0
- package/dist/skill-disclosure.js +101 -0
- package/dist/skill-load.d.ts +25 -0
- package/dist/skill-load.js +112 -0
- package/dist/tool-result-fold.d.ts +40 -0
- package/dist/tool-result-fold.js +164 -0
- package/docs/0.1.0-readiness.md +5 -5
- package/docs/agent-session-runtime.md +2 -0
- package/docs/context-and-skills.md +83 -7
- package/docs/index.md +2 -2
- package/docs/migration.md +22 -0
- package/docs/release-and-install.md +34 -13
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ Core package:
|
|
|
8
8
|
|
|
9
9
|
- `@arnilo/prism` — the runtime, contracts, registries, streaming events, CLI (including `prism init`), and the `/docs` hub. `files`: `dist` (with `!dist/__tests__` and `!dist/**/*.map` negations), `docs`, `templates`, `CHANGELOG.md`. `bin`: `prism` -> `dist/cli.js`. `sideEffects`: `["dist/cli.js"]`.
|
|
10
10
|
|
|
11
|
-
First-party workspace packages (each has non-optional `@arnilo/prism@0.0.
|
|
11
|
+
First-party workspace packages (each has non-optional `@arnilo/prism@0.0.20` peer and `sideEffects: false`; RAG also peers on memory, and server also peers on workflows):
|
|
12
12
|
|
|
13
13
|
- `@arnilo/prism-provider-anthropic`, `@arnilo/prism-provider-google`, `@arnilo/prism-provider-openai`, `@arnilo/prism-provider-openrouter`, `@arnilo/prism-provider-kimi`, `@arnilo/prism-provider-zai`, `@arnilo/prism-provider-opencode-go`, `@arnilo/prism-provider-neuralwatt` — provider adapters.
|
|
14
14
|
- `@arnilo/prism-provider-azure`, `@arnilo/prism-provider-bedrock`, `@arnilo/prism-provider-vertex` — optional enterprise-cloud adapters (Entra/IAM/ADC; separate from consumer Anthropic/Google).
|
|
@@ -36,7 +36,7 @@ First-party workspace packages (each has non-optional `@arnilo/prism@0.0.19` pee
|
|
|
36
36
|
|
|
37
37
|
### 0.0.12 AG-UI package boundary
|
|
38
38
|
|
|
39
|
-
`@arnilo/prism-ag-ui` is a publishable optional code package with root AG-UI exports and stable `./acp` sibling, peer `@arnilo/prism@0.0.
|
|
39
|
+
`@arnilo/prism-ag-ui` is a publishable optional code package with root AG-UI exports and stable `./acp` sibling, peer `@arnilo/prism@0.0.20`, pinned `@ag-ui/core@0.0.57` / `@agentclientprotocol/sdk@1.3.0`, and no import-time network/listener/run. It is included by `@arnilo/prism-all` only—not `@arnilo/prism-code` or `@arnilo/prism-sdk`—so coding and SDK profiles stay free of UI protocol dependencies.
|
|
40
40
|
|
|
41
41
|
Family/profile packages (pure manifests, no code or `dist`; ship `README.md` and `CHANGELOG.md`; use exact hard `dependencies`):
|
|
42
42
|
|
|
@@ -78,9 +78,9 @@ Consumers install the core package for the runtime and add first-party packages
|
|
|
78
78
|
| Run the default (network-free) test suite | `npm test` |
|
|
79
79
|
| Dry-run pack core + every package | `npm run pack:dry-run` |
|
|
80
80
|
| Local mirror of the release verify gate | `npm run release:dry-run` |
|
|
81
|
-
| Validate clean tag/version/ranges and reject registry collisions | `npm run release:check -- --version 0.0.
|
|
82
|
-
| Preview deterministic publish order | `npm run release:publish -- --version 0.0.
|
|
83
|
-
| Resume interrupted tagged publication | `npm run release:publish -- --version 0.0.
|
|
81
|
+
| Validate clean tag/version/ranges and reject registry collisions | `npm run release:check -- --version 0.0.20` |
|
|
82
|
+
| Preview deterministic publish order | `npm run release:publish -- --version 0.0.20 --dry-run --allow-dirty --allow-untagged` |
|
|
83
|
+
| Resume interrupted tagged publication | `npm run release:publish -- --version 0.0.20 --resume --report release-artifacts/publish-report.json` |
|
|
84
84
|
| Full SDK readiness gate (typecheck + offline tests + pack) | `npm run sdk:ready` |
|
|
85
85
|
|
|
86
86
|
Public core import specifiers (from the root `exports` map):
|
|
@@ -117,7 +117,7 @@ A packed tarball contains only public compiled output and release files:
|
|
|
117
117
|
- Code packages ship `README.md`, `LICENSE`, and `CHANGELOG.md`; family/profile packages ship `README.md` and `CHANGELOG.md`.
|
|
118
118
|
- The core tarball additionally ships the full `docs/` directory (the docs hub) and `templates/init/` used by `prism init`.
|
|
119
119
|
- `dist/cli.js` and the `bin` link in core.
|
|
120
|
-
- **Tarball filenames.** npm strips the `@scope/` prefix, so the core package `@arnilo/prism` produces a tarball named `arnilo-prism-0.0.
|
|
120
|
+
- **Tarball filenames.** npm strips the `@scope/` prefix, so the core package `@arnilo/prism` produces a tarball named `arnilo-prism-0.0.20.tgz`; first-party packages produce `arnilo-prism-provider-<name>-0.0.20.tgz` / `arnilo-prism-compaction-<name>-0.0.20.tgz` / `arnilo-prism-coding-agent-0.0.20.tgz`; family/profile packages produce `arnilo-prism-{providers,compaction,base,code,sdk,all}-0.0.20.tgz`. The CLI bin name `prism` is unaffected by the package name (`npx prism` still works; npm allows the bin field to differ from the package name).
|
|
121
121
|
|
|
122
122
|
Excluded from every tarball by `files` negation:
|
|
123
123
|
|
|
@@ -136,9 +136,9 @@ Excluded from every tarball by `files` negation:
|
|
|
136
136
|
"name": "host-app",
|
|
137
137
|
"type": "module",
|
|
138
138
|
"dependencies": {
|
|
139
|
-
"@arnilo/prism": "0.0.
|
|
140
|
-
"@arnilo/prism-provider-openai": "0.0.
|
|
141
|
-
"@arnilo/prism-compaction-observational-memory": "0.0.
|
|
139
|
+
"@arnilo/prism": "0.0.20",
|
|
140
|
+
"@arnilo/prism-provider-openai": "0.0.20",
|
|
141
|
+
"@arnilo/prism-compaction-observational-memory": "0.0.20"
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
```
|
|
@@ -181,11 +181,11 @@ For SDK readiness, run the same one-command gate directly. It composes existing
|
|
|
181
181
|
npm run sdk:ready
|
|
182
182
|
```
|
|
183
183
|
|
|
184
|
-
Release publication derives all **44** manifests from the workspace once, validates exact `0.0.
|
|
184
|
+
Release publication derives all **44** manifests from the workspace once, validates exact `0.0.20` manifest/lockfile/internal ranges, then uses deterministic dependency order. `release:check` requires a clean commit tagged `v0.0.20` and rejects any existing registry version. `release:publish --resume` skips only registry versions whose internal dependency fingerprint matches the local manifest; conflicting versions fail closed. Each attempted package is written immediately to the JSON report, so a failed job can rerun safely. `--dry-run` performs registry availability checks and invokes `npm publish --dry-run` with explicit public access, provenance, and `latest` tag, but does not publish.
|
|
185
185
|
|
|
186
186
|
```bash
|
|
187
|
-
npm run release:check -- --version 0.0.
|
|
188
|
-
npm run release:publish -- --version 0.0.
|
|
187
|
+
npm run release:check -- --version 0.0.20
|
|
188
|
+
npm run release:publish -- --version 0.0.20 --dry-run --allow-dirty --allow-untagged
|
|
189
189
|
```
|
|
190
190
|
|
|
191
191
|
`--allow-dirty` and `--allow-untagged` exist only for local preview; real publication and CI never pass them. npm registry calls occur only in these release preflight/publication commands, never build/test/package discovery.
|
|
@@ -196,6 +196,27 @@ Optional live smoke tests stay separate from SDK readiness because they require
|
|
|
196
196
|
PRISM_LIVE_PROVIDER_TESTS=1 npm run test --workspaces --if-present
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
+
### 0.0.20 publish handoff
|
|
200
|
+
|
|
201
|
+
**Decision: GO after protected operator prerequisites below.** Release **0.0.20** (Phase 3 skills and context progressive disclosure, plan 003) ships progressive skill catalog assembly (`skillsDisclosure`), session `load_skill`, empty `SkillRegistry` default with `activateAllSkills` migration opt-in, priority-aware context budget demotion, and optional `toolResultFold`. The exact graph stays **44 publishable manifests**; no package added or retired. Intentional pre-1.0 breaks are documented in [migration](migration.md) under `0.0.19 → 0.0.20 skills and context progressive disclosure`.
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
git diff --check
|
|
205
|
+
npm ci
|
|
206
|
+
npm run sdk:ready
|
|
207
|
+
node --test scripts/budget-gate.test.mjs
|
|
208
|
+
node scripts/scan-secrets.mjs && node scripts/verify-sbom.mjs
|
|
209
|
+
npm audit --audit-level=moderate
|
|
210
|
+
npm run release:gate
|
|
211
|
+
npm run release:check -- --version 0.0.20 --allow-dirty --allow-untagged --report /tmp/prism-0.0.20-preflight.json
|
|
212
|
+
npm run release:publish -- --version 0.0.20 --dry-run --allow-dirty --allow-untagged --report /tmp/prism-0.0.20-dry-run.json
|
|
213
|
+
git tag -s v0.0.20 -m "Prism 0.0.20"
|
|
214
|
+
git verify-tag v0.0.20
|
|
215
|
+
git push origin v0.0.20
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
The dry-run checks every registry collision and executes npm's non-publishing tarball validation for each dependency-ordered manifest. The protected tag workflow alone publishes through `npm run release:publish -- --version "${GITHUB_REF_NAME#v}" --resume --report release-artifacts/publish-report.json`; re-run a failed job for the same tag. `npm audit signatures --json --include-attestations` and artifact checksums remain post-publish checks.
|
|
219
|
+
|
|
199
220
|
### 0.0.19 publish handoff
|
|
200
221
|
|
|
201
222
|
**Decision: GO after protected operator prerequisites below.** Release **0.0.19** (Phase 2 observational memory lifecycle, plan 002) ships `@arnilo/prism-compaction-observational-memory` attach lifecycle, four-layer provider context, nested settings with legacy map, source-faithful recall/paging, and hard fold/render caps. Core `@arnilo/prism` runtime is unchanged. The exact graph stays **44 publishable manifests**; no package added or retired. Intentional pre-1.0 breaks are documented in [migration](migration.md) under `0.0.18 → 0.0.19 observational memory lifecycle`.
|
|
@@ -814,7 +835,7 @@ npm publication is not transactional and published versions are immutable. Parti
|
|
|
814
835
|
|
|
815
836
|
## Extension and configuration notes
|
|
816
837
|
|
|
817
|
-
- **Required `@arnilo/prism` peer.** Every first-party code package declares a non-optional `@arnilo/prism@0.0.
|
|
838
|
+
- **Required `@arnilo/prism` peer.** Every first-party code package declares a non-optional `@arnilo/prism@0.0.20` peer (`peerDependenciesMeta` must not mark `@arnilo/prism` optional; other peers such as `playwright-core` may be optional). The range stays pinned to `0.0.20` for the current 0.x release and will widen to `^1.0.0` at the 1.x stable release. Inside the workspace each package also declares `"@arnilo/prism": "file:../.."` in `devDependencies` so `npm install` resolves the peer locally; that devDependency is stripped from consumer installs and is not a runtime dependency.
|
|
818
839
|
- **Public access.** All 43 manifests (37 code packages + 6 family/profile packages) declare `"publishConfig": { "access": "public" }`; the publisher also passes `--access public` explicitly because scoped packages otherwise default to restricted on first publish.
|
|
819
840
|
- **Map retention knob.** Source maps are emitted locally but stripped from tarballs by `!dist/**/*.map`. Removing that `files` negation ships maps in releases (larger tarballs, better consumer stack traces).
|
|
820
841
|
- **Release workflow.** `.github/workflows/release.yml` has six jobs. `verify` runs network-free SDK readiness on Node 24; `node20-compat` builds/imports every public root `exports` default target on Node 20 for declared `engines.node >=20` (docs examples need Node >=22.6 native TypeScript stripping); `postgres-integration` uses `pgvector/pgvector:pg16`; `supply-chain` runs high-severity audit, SPDX/license policy, and tracked-source secret scanning; and tag-only `codeql-release` runs SAST. Tag-only `publish` needs all five gates, preserves clean exact-tag/version/topological publication, and alone receives `NPM_TOKEN`, `id-token: write`, and `attestations: write`. Before npm publish it packs all current tarballs, generates checksums plus SPDX, scans unpacked public artifacts, creates GitHub attestations for tarballs and SBOM, then retains artifacts for 30 days. Registry state remains the resumable journal. Local `npm run release:dry-run` remains network-free SDK readiness; local PostgreSQL coverage is `PRISM_TEST_POSTGRES_URL=... npm run test:postgres`.
|