@objectstack/trigger-api@17.0.0-rc.1
Pre-releaseMinor Changes
-
f5a4ef0: refactor!: ADR-0112 batch 2 — sweep the lowercase error-code emitters (#4003)
Continues #3841 per ADR-0112. Batch 1 (#3988) settled the vocabulary and closed
the set; this batch moves the emitters that still spoke lowercasesnake_case
onto it.Wire-visible change. Error codes on these surfaces change spelling. Generic
conditions collapse onto the standard catalog rather than keeping a synonym:
unauthorized/unauthenticated→UNAUTHENTICATED,forbidden→
PERMISSION_DENIED,not_found→RESOURCE_NOT_FOUND,internal→
INTERNAL_ERROR,unavailable→SERVICE_UNAVAILABLE,not_supported→
NOT_IMPLEMENTED,bad_request→INVALID_REQUEST. Domain conditions get codes
registered inERROR_CODE_LEDGER(MARKETPLACE_STORAGE_FAILED,
PLUGIN_MANIFEST_INVALID,ITEM_LOCKED,DELIVERY_NOT_ELIGIBLE, …). Swept:
cloud-connection,plugin-auth,hono,metadata-protocol,rest,
service-messaging,service-automation,trigger-api.Branch on
error.codevalues rather than pattern-matching their case: the
console's fix for the same rename (objectui#2977) reads codes case-insensitively
for exactly this reason, and that is the pattern to copy in your own consumers if
you support servers on both sides of the change.Four routes stop putting a code in the message slot. The webhook redeliver
route, the API-trigger webhook, and tworestroutes answered
{ success: false, error: '<code>', message }— the code occupyingerror, the
declared object envelope nowhere. They now emiterror: { code, message }, and
three API-trigger branches gained a message they never had. Clients reading
body.erroras a string on those routes must readbody.error.code.ConnectorErrorCategory/ConnectorRetryStrategy(ADR-0112 D9a):
@objectstack/specexported two mutually incompatibleErrorCategorytypes and
twoRetryStrategytypes. The connector-side pair is renamed; importers of the
integrationsubpath update the name. Side effect: the api-sideErrorCategory
andRetryStrategynow appear in the generated API reference at all — the name
collision had been silently dropping them.OAUTH_REGISTER_FAILEDreplaces an unbounded code source. The OAuth client
registration route put better-auth's arbitrarybody.errorstring straight into
error.code. The code is now ours and the upstream discriminator moved to
details.upstreamError.Not swept, deliberately.
sys_metadata_audit.codekeeps its lowercase values
(ADR-0112 D6b): it is persisted audit history, and the same column holds
non-error outcomes (ok,lock_override). Diagnostics records that ship inside a
200 keep theirs (D6c), as do field-level codes (D6, #3977) and the CLI's
--jsonoutput contract.A
check:error-code-casingCI guard now fails on a new lowercase literal in a
code position, since the ledger's casing rule can only police codes that someone
registers.
Patch Changes
-
2e836de: chore(packaging): CHANGELOG.md ships in every npm tarball (#4261)
The AGENTS.md post-task checklist requires breaking changesets to carry their
FROM → TO migration because "this text ships to consumers asCHANGELOG.md
inside the npm package and is what an upgrading agent greps after the tombstone
error." That delivery path was severed for 68 of the 69 publishable packages:
npm packspackage.json/README*/LICENSE*unconditionally but — unlike
older npm versions — notCHANGELOG.md, and the canonical
"files": ["dist", "README.md"]whitelist never named it. Measured on npm
10.9.7:npm pack --dry-runon@objectstack/typesshipped 3 files while its
70KBCHANGELOG.mdstayed behind. Only@objectstack/speclisted it
explicitly.The tombstone-error scenario is precisely the one where the repo is out of
reach — the upgrading agent hasnode_modulesand nothing else — so the
migration text has to ride in the tarball. Every publishable package now
declaresCHANGELOG.mdinfiles, and the canonical whitelist is
["dist", "README.md", "CHANGELOG.md"].The other half is the gate:
check:published-filesgains a fifth invariant,
COMPLETE — a whitelist that fails to coverCHANGELOG.mdfails the
always-required lint job, so the next package cannot silently sever the path
again.@objectstack/spec's per-package EXTRA_ENTRIES exemption dissolves
into the canonical set.Consumer-visible change: one more file per install (the package's changelog,
e.g. 70.8KB for@objectstack/types), andgrep -r "removed key" node_modules/@objectstack/*/CHANGELOG.mdnow finds the migration it was
promised. -
cc2de0e: chore(packaging): 20 packages stop publishing their sources, tests and build tooling (#4248)
These 20 packages declared no
filesfield, so npm fell back to packing the
whole package directory.npm pack --dry-runon@objectstack/plugin-webhooks
listed 21 files — 15 undersrc/, three of them unit tests
(auto-enqueuer.test.ts,bootstrap-declared-webhooks.test.ts, …), plus the
build-timescripts/i18n-extract.config.ts.dist/lands on top of that at
publish time rather than instead of it, so consumers were installing the
TypeScript sources and the test suite alongside the artifact they asked for.Each now declares
"files": ["dist", "README.md"], matching the 29 packages
that already did. Nothing a consumer imports moves: everymain/types/
exportstarget in all 20 already resolved insidedist/, which the new
check:published-filesguard verifies rather than assumes. The visible change
is a smaller install and a smaller dependency-scanning surface —npm packon
@objectstack/plugin-webhooksnow yields 2 files plusdist/.The other half of the fix is the gate. Half the packages declaring
filesand
half not was the #3786 shape — a hand-copied convention with nothing enforcing
it, where whoever forgets the line gets no signal at all.check:published-files
(new, wired into the always-requiredlintjob) holds every non-private
workspace package to four invariants:filesis declared; it is
sufficient (covers every entry point, so tightening a whitelist cannot ship
a package that fails to resolve); it is minimal (admits no test, test-harness
config or build script); and anything beyonddist+README.mdis
registered with a reason, reconciled in both directions so a stale exemption
is an error rather than dead text.@objectstack/specis the one package with
registered extras — its.zod.tssources, JSON Schemas, liveness ledgers and
CHANGELOG.mdare product, not build input.This also closes an assumption #4206 was resting on. Excluding
<pkg>/scripts/**
from the docs-drift implementation test is sound only while no package publishes
scripts/as runtime code; that held, but it held because someone read all three
offenders by hand. It is now checked on every PR. -
Updated dependencies [6a67d7a]
-
Updated dependencies [0ecc656]
-
Updated dependencies [06772eb]
-
Updated dependencies [270650f]
-
Updated dependencies [3aef718]
-
Updated dependencies [1ea6bce]
-
Updated dependencies [c1dcacd]
-
Updated dependencies [ad303ed]
-
Updated dependencies [32ccb23]
-
Updated dependencies [f5a4ef0]
-
Updated dependencies [2d3e255]
-
Updated dependencies [7d7521f]
-
Updated dependencies [5dc4d02]
-
Updated dependencies [05154a1]
-
Updated dependencies [9b6fe7c]
-
Updated dependencies [8c711fb]
-
Updated dependencies [09e4547]
-
Updated dependencies [91f4c78]
-
Updated dependencies [820eff9]
-
Updated dependencies [8d895ff]
-
Updated dependencies [f6472d7]
-
Updated dependencies [78caf51]
-
Updated dependencies [62a789b]
-
Updated dependencies [789ad63]
-
Updated dependencies [2af1988]
-
Updated dependencies [0af50a3]
-
Updated dependencies [2e836de]
-
Updated dependencies [12a19a8]
-
Updated dependencies [41dcda3]
-
Updated dependencies [c8124e5]
-
Updated dependencies [a1a4140]
-
Updated dependencies [217e2e6]
-
Updated dependencies [86a71d1]
-
Updated dependencies [d5c75e2]
-
Updated dependencies [03d26f7]
-
Updated dependencies [4384921]
-
Updated dependencies [3c628ce]
-
Updated dependencies [7cb922e]
-
Updated dependencies [1d22114]
-
Updated dependencies [b5f9397]
-
Updated dependencies [ed77493]
-
Updated dependencies [58a03d2]
-
Updated dependencies [dc530b4]
-
Updated dependencies [e59786e]
-
Updated dependencies [bcf1112]
-
Updated dependencies [9774b78]
-
Updated dependencies [b07d829]
-
Updated dependencies [a648e96]
-
Updated dependencies [a47ac06]
-
Updated dependencies [e4c61a7]
-
Updated dependencies [cc60165]
-
Updated dependencies [081aa6f]
-
Updated dependencies [91f4c78]
-
Updated dependencies [e8d0c21]
-
Updated dependencies [45dc446]
-
Updated dependencies [c1d44f7]
-
Updated dependencies [ab9fb5c]
-
Updated dependencies [f985b3f]
-
Updated dependencies [9a4932a]
-
Updated dependencies [f9fc874]
-
Updated dependencies [011b386]
-
Updated dependencies [7777e8f]
-
Updated dependencies [507b92a]
-
Updated dependencies [7309c81]
-
Updated dependencies [20bc1ec]
-
Updated dependencies [90c2b15]
-
Updated dependencies [42eeb7d]
-
Updated dependencies [01e124d]
-
Updated dependencies [7ce02eb]
-
Updated dependencies [a13827e]
-
Updated dependencies [7733604]
-
Updated dependencies [40e420f]
-
Updated dependencies [d13004a]
-
Updated dependencies [be7360c]
-
Updated dependencies [5b47ab5]
-
Updated dependencies [b09d8d9]
-
Updated dependencies [b09d8d9]
-
Updated dependencies [8675db6]
-
Updated dependencies [b09d8d9]
-
Updated dependencies [3eb1b2b]
-
Updated dependencies [59b85c0]
-
Updated dependencies [6e357ed]
-
Updated dependencies [d6938bf]
-
Updated dependencies [31e0be9]
-
Updated dependencies [4bfd455]
-
Updated dependencies [ffd2ce2]
-
Updated dependencies [62f8017]
-
Updated dependencies [a831df1]
-
Updated dependencies [f752ee3]
-
Updated dependencies [a1b61e0]
-
Updated dependencies [cd6b9f2]
-
Updated dependencies [2cb6d3c]
-
Updated dependencies [af2a095]
-
Updated dependencies [ec796d5]
-
Updated dependencies [e87fea1]
-
Updated dependencies [c65e529]
-
Updated dependencies [3ca34c1]
-
Updated dependencies [239c3a3]
-
Updated dependencies [94a0bbc]
-
Updated dependencies [d6bfb3d]
-
Updated dependencies [a2266a6]
-
Updated dependencies [d25a0ec]
-
Updated dependencies [667b83e]
-
Updated dependencies [627b188]
-
Updated dependencies [8d4eae7]
-
Updated dependencies [857a6cf]
-
Updated dependencies [65a3a84]
-
Updated dependencies [ccd9397]
-
Updated dependencies [bca935b]
-
Updated dependencies [d92c72d]
-
Updated dependencies [c54c822]
-
Updated dependencies [8dcc0f5]
-
Updated dependencies [75b9e51]
-
Updated dependencies [0a2f233]
-
Updated dependencies [8621cdd]
-
Updated dependencies [6f23667]
-
Updated dependencies [5d21a48]
-
Updated dependencies [19365b7]
-
Updated dependencies [b7ed26d]
-
Updated dependencies [b3a3d83]
-
Updated dependencies [7a55913]
-
Updated dependencies [35accbf]
-
Updated dependencies [6038de7]
-
Updated dependencies [eb95d97]
-
Updated dependencies [e4c2dc8]
-
Updated dependencies [1bd2795]
-
Updated dependencies [8186a70]
-
Updated dependencies [a329cca]
-
Updated dependencies [6eec18c]
-
Updated dependencies [4d7bebf]
-
Updated dependencies [821ac7a]
-
Updated dependencies [8f81731]
-
Updated dependencies [8b50cb3]
-
Updated dependencies [8c2db68]
-
Updated dependencies [22b5e54]
-
Updated dependencies [0166bd5]
-
Updated dependencies [9b702dc]
-
Updated dependencies [ab16331]
- @objectstack/spec@17.0.0-rc.1
- @objectstack/core@17.0.0-rc.1