Releases: agent-facets/facets
Releases · agent-facets/facets
Release list
@agent-facets/protocol@0.14.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #287
ad4e75aThanks @eXamadeus! - Record lockfile source provenance as a tagged, per-kind shape so an entry can never disagree with itself.
The lockfile'ssourcefield was a single overloaded string — a registry version specifier, a git URL, or a local path depending on the facet. For registry facets this let an unresolved specifier (latest,1.*) leak into the lockfile next to a resolvedversion, an entry that contradicted itself.sourceis now a discriminated union keyed onkind:registry— records the registry origin (base URL) and never a version. The resolved version lives in the entry'sversionfield, so there is no slot forlatestor a wildcard to leak into.git— records the repository URL and a required resolved commit SHA. A git clone that cannot be pinned to a commit now fails the install rather than writing a non-reproducible entry. The requested ref is no longer recorded in the lockfile — it belongs tofacets.json.local— records the resolved path.
This is a breaking change to the published lockfile schema. There is no migration and nolockfileVersionbump: an older flat-sourcelockfile is simply invalid under the new shape and fails install in every mode (frozen and non-frozen alike), rather than being silently regenerated. Deletefacets.lockand re-run install to regenerate it in the new shape. Extra unrecognized keys on a source remain tolerated for forward-compatibility.
@agent-facets/protocol@0.14.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #283
2ed9672Thanks @eXamadeus! - Honor edited versions infacets.jsonand addfacet install --frozen-lockfile.
facet installnow re-resolves a lockfile entry whose version no longer satisfies the manifest (e.g. a hand-edited bump), and fails if the requested version doesn't exist instead of silently keeping the old one. The new--frozen-lockfileflag treats the lockfile as authoritative and fails on any manifest/lockfile drift, for reproducible CI installs.
agent-facets@0.12.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #260
16cd45aThanks @eXamadeus! - Breaking: Consolidate every directory env var into a single
FACET_DIR, rename the launcher binary override, and move the install
advisory lock out of the project root.What changed
One env var, `FACET_DIR` (default `~/.facet`), now controls every directory the facet CLI writes to disk. Everything lives under it:$FACET_DIR/bin/— curl-installed binary$FACET_DIR/cache/— content-addressed cache for fetched payloads$FACET_DIR/adapters/— installed adapter bundles$FACET_DIR/locks/— install advisory locks (one file per project,
keyed by<basename>-<sha256(realpath)[:16]>.lock)
The launcher's binary override is renamed:FACET_BIN_PATH→FACET_BIN_OVERRIDE
The name carries the semantics: setting it overrides which binary the
launcher executes, andfacet self-updatecontinues to refuse while
it's set because overriding means you've taken control of binary
placement.
The install advisory lock moves out of the project root. Previously it
was<projectRoot>/.facets/.install.lock(a directoryfacet install
silently materialized in every project). Now it lives at
$FACET_DIR/locks/<basename>-<hash>.lock, keyed by the project's
canonical path. The project root stays clean —facet installwrites
nothing next tofacets.json.Removed env vars
Hard rename, no aliases. Old names are silently ignored; values fall
back to defaults until users rename in their shell rc files or CI configs:FACETS_CACHE_DIRFACETS_ADAPTERS_DIRFACET_CACHE_DIRFACET_ADAPTERS_DIRFACET_INSTALL_DIRFACET_BIN_PATH
FACET_CLI_REGISTRYandFACET_VERSION(used byinstall.sh) are
unchanged.No migration
Existing cached payloads and adapters at~/.facets/are not detected,
copied, or warned about. The new code reads$FACET_DIRonly.
Users may delete~/.facets/at any time; the new code will rebuild
cache and adapters on first use.
@agent-facets/protocol@0.12.0
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #258
6f47953Thanks @eXamadeus! - Release dependency updates
agent-facets@0.11.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #256
ce4861fThanks @eXamadeus! - Generate the registry client from the registry's published OpenAPI spec.
The registry server (facet-cafe) auto-generates an OpenAPI specification from its actual route handlers; the CLI now consumes that spec as its source of truth. A vendored snapshot of the OpenAPI lives in@agent-facets/engine, and TypeScript types are generated from it viaopenapi-typescript. Path strings, params, and response shapes are type-checked end-to-end at every call site throughopenapi-fetch. A registry response field that is renamed, removed, or changes shape now surfaces as a build-time error in a CLI pull request — not a runtime "unexpected response" in front of a user.
Runbun run --cwd packages/engine codegen:registryto refresh the snapshot. A CI job warns when the snapshot is more than 7 days behind the live registry (configurable viaSTALENESS_THRESHOLD_DAYS).
User-visible:facet searchresults now include a one-line asset-count summary per result (e.g.,1 agent, 2 commands, 1 server) — surfacing data the registry has been returning all along.
Behavior corrections during the migration offregistryFetch:- POST requests no longer auto-retry on network error (could re-issue an upload that was already received).
- The 10s deadline is now per-call instead of per-attempt — a fully-failing call no longer blocks for up to 16s.
- Caller-supplied abort signals are composed with the deadline via
AbortSignal.anyinstead of being silently overwritten. - Retries honor the server's
Retry-Afterheader, capped at 5s. - Non-network errors now surface as
UNEXPECTED_ERRORinstead of being mislabeled as network failures. - Retry-exhausted errors carry an
attemptscount so user-facing messages can show retry history.
@agent-facets/protocol@0.11.0
Immutable
release. Only release title and notes can be modified.
Minor Changes
- #256
ce4861fThanks @eXamadeus! - Generate the registry client from the registry's published OpenAPI spec.
The registry server (facet-cafe) auto-generates an OpenAPI specification from its actual route handlers; the CLI now consumes that spec as its source of truth. A vendored snapshot of the OpenAPI lives in@agent-facets/engine, and TypeScript types are generated from it viaopenapi-typescript. Path strings, params, and response shapes are type-checked end-to-end at every call site throughopenapi-fetch. A registry response field that is renamed, removed, or changes shape now surfaces as a build-time error in a CLI pull request — not a runtime "unexpected response" in front of a user.
Runbun run --cwd packages/engine codegen:registryto refresh the snapshot. A CI job warns when the snapshot is more than 7 days behind the live registry (configurable viaSTALENESS_THRESHOLD_DAYS).
User-visible:facet searchresults now include a one-line asset-count summary per result (e.g.,1 agent, 2 commands, 1 server) — surfacing data the registry has been returning all along.
Behavior corrections during the migration offregistryFetch:- POST requests no longer auto-retry on network error (could re-issue an upload that was already received).
- The 10s deadline is now per-call instead of per-attempt — a fully-failing call no longer blocks for up to 16s.
- Caller-supplied abort signals are composed with the deadline via
AbortSignal.anyinstead of being silently overwritten. - Retries honor the server's
Retry-Afterheader, capped at 5s. - Non-network errors now surface as
UNEXPECTED_ERRORinstead of being mislabeled as network failures. - Retry-exhausted errors carry an
attemptscount so user-facing messages can show retry history.
agent-facets@0.10.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #242
03e9604Thanks @eXamadeus! - Bump it all, upgraded CI config need to verify release machinery
@agent-facets/protocol@0.10.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #242
03e9604Thanks @eXamadeus! - Bump it all, upgraded CI config need to verify release machinery
@agent-facets/brand@0.5.3
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #242
03e9604Thanks @eXamadeus! - Bump it all, upgraded CI config need to verify release machinery
@agent-facets/adapter@0.10.1
Immutable
release. Only release title and notes can be modified.
Patch Changes
- #242
03e9604Thanks @eXamadeus! - Bump it all, upgraded CI config need to verify release machinery