diff --git a/.changeset/trigger-packages-repository-directory-15478.md b/.changeset/trigger-packages-repository-directory-15478.md new file mode 100644 index 0000000000..e738f25c0d --- /dev/null +++ b/.changeset/trigger-packages-repository-directory-15478.md @@ -0,0 +1,19 @@ +--- +"@objectstack/trigger-record-change": patch +"@objectstack/trigger-schedule": patch +--- + +`@objectstack/trigger-record-change` and `@objectstack/trigger-schedule` now declare a `repository.directory` that resolves to the directory they actually live in. + +Both manifests declared a path under `packages/plugins/` that no longer exists in the repository: + +| package | declared | actual | +|---|---|---| +| `@objectstack/trigger-record-change` | `packages/plugins/plugin-trigger-record-change` | `packages/triggers/trigger-record-change` | +| `@objectstack/trigger-schedule` | `packages/plugins/plugin-trigger-schedule` | `packages/triggers/trigger-schedule` | + +`repository.directory` is what npm uses to build the **Repository** deep link on a package page, and what tooling uses to locate a monorepo package's source from its tarball. Pointing it at a path that does not exist sends a reader to a 404 instead of to the source — on packages published today at `17.3.0`. The value ships inside the tarball, so this correction only reaches npm by being published; that is why it carries a changeset rather than `skip-changeset`. + +The residue came from a three-commit sequence on 2026-06-12, and only one of those commits was a pure rename. `f15d6f6f6` **copied** the two packages to `packages/plugins/trigger-*` (26 files, +2222/-19, with all four directories briefly coexisting) and edited exactly one line of each copied manifest — its `name` — leaving `directory` pointing at the path it was copied from; `290c62514` deleted the originals five minutes later; and `ea4941ad8` then promoted `packages/plugins/trigger-*` to a first-class `packages/triggers/` directory as a pure 16-file rename with zero content changes, which made the declared value wrong in a second segment. Six weeks after that, `9a43e042f` (#3380) rewrote `repository.url` and `bugs` in both of these manifests, with the stale `directory` line sitting as unchanged context one line below the edited `url`. So the field was not merely never in anyone's way: one commit edited its immediate neighbour inside the same object, and a later reviewed hunk had the wrong line on screen. Nothing caught it because nothing reads it. + +Scope of this change, stated as a measured set rather than a general claim: over all **81** tracked `package.json` files in the repository, **57** declare `repository.directory`; before this change **55** resolved to the manifest's own directory and **2** did not — the two above. After it, **57 of 57** resolve. No other manifest field is edited, and no package's code, exports or behaviour is touched. The remaining **24** manifests declare no `repository.directory` at all; that population is deliberately left alone here and is reported separately, because whether declaring the field is mandatory is a policy question rather than a correction. diff --git a/docs/adr/0041-flow-trigger-family.md b/docs/adr/0041-flow-trigger-family.md index 35a61f8c92..9016f38ff5 100644 --- a/docs/adr/0041-flow-trigger-family.md +++ b/docs/adr/0041-flow-trigger-family.md @@ -191,8 +191,8 @@ other contract-ahead-of-runtime surfaces. - Engine seam: `packages/services/service-automation/src/engine.ts` (`FlowTrigger`, `registerTrigger`, `activateFlowTrigger`) -- Shipped triggers: `packages/plugins/plugin-trigger-record-change`, - `packages/plugins/plugin-trigger-schedule` +- Shipped triggers: `packages/triggers/trigger-record-change`, + `packages/triggers/trigger-schedule` - Reserved surface: `FlowSchema.type` enum (`packages/spec/src/automation/flow.zod.ts`) - Auto-wiring: `packages/cli/src/commands/serve.ts` (trigger `nameMatch` table) - Related: ADR-0018 (descriptor pattern this extends), ADR-0030 (outbox), diff --git a/packages/triggers/trigger-record-change/package.json b/packages/triggers/trigger-record-change/package.json index 74ea8b3a37..52cca9e261 100644 --- a/packages/triggers/trigger-record-change/package.json +++ b/packages/triggers/trigger-record-change/package.json @@ -42,7 +42,7 @@ "repository": { "type": "git", "url": "https://github.com/objectstack-ai/objectstack.git", - "directory": "packages/plugins/plugin-trigger-record-change" + "directory": "packages/triggers/trigger-record-change" }, "homepage": "https://objectstack.ai/docs", "bugs": "https://github.com/objectstack-ai/objectstack/issues", diff --git a/packages/triggers/trigger-schedule/package.json b/packages/triggers/trigger-schedule/package.json index ebfe7200d7..0a13f5c6f2 100644 --- a/packages/triggers/trigger-schedule/package.json +++ b/packages/triggers/trigger-schedule/package.json @@ -41,7 +41,7 @@ "repository": { "type": "git", "url": "https://github.com/objectstack-ai/objectstack.git", - "directory": "packages/plugins/plugin-trigger-schedule" + "directory": "packages/triggers/trigger-schedule" }, "homepage": "https://objectstack.ai/docs", "bugs": "https://github.com/objectstack-ai/objectstack/issues",