@forumone/throughline 1.0.0-next.2 → 1.0.0-pr-264-881f3a4
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 +54 -2
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @forumone/throughline
|
|
2
2
|
|
|
3
|
-
## 1.0.0-
|
|
3
|
+
## 1.0.0-pr-264-881f3a4
|
|
4
4
|
|
|
5
5
|
### Major Changes
|
|
6
6
|
|
|
@@ -19,6 +19,47 @@
|
|
|
19
19
|
|
|
20
20
|
`HealthcheckOptions.onFailure` receives `{ payload }` as a second argument, and `createHealthcheckFailureHandler()` made without a `payload` records on the run's own.
|
|
21
21
|
|
|
22
|
+
- fb0b908: Jobs move in from `@forumone/throughline-workflows`, split by owner, by `docs/spec/1.0-exports.md`:
|
|
23
|
+
|
|
24
|
+
- `defineJob`, the job types, `jobPayload`, `eventSenderFor`, `failureOptions` and the two failure handlers are on `@forumone/throughline/jobs`.
|
|
25
|
+
- `inngestJobs` is on `/jobs/inngest`, beside the Inngest client; `payloadJobs` is on `/jobs/payload`.
|
|
26
|
+
- `revalidateOnPublishJob`, `publishAtScheduledTimeJob`, `executeScheduledPublishesJob` and `createTagRevalidationHooks` are on `/publishing`; `expireStaleApprovalsJob` on `/approvals`; `auditEventEchoJob` on `/audit`; `healthcheckJob` and its checks on `/integrations`.
|
|
27
|
+
- `createCacheTags` is on `/cache-tags`, which still imports nothing.
|
|
28
|
+
|
|
29
|
+
**Removed:** the six Inngest-shaped factories, `createRevalidateOnPublishFunction`, `createPublishAtScheduledTimeFunction`, `createExecuteScheduledPublishesFunction`, `createExpireStaleApprovalsFunction`, `createAuditEventEchoFunction` and `createHealthcheckFunction`. Each was `inngestJobs(inngest).toFunction(<job>(options))`; write that instead, or better, give the adapter `onFailure` and `payload` once and pass the jobs to `jobs.functions([...])`. Function ids are unchanged. `BaseWorkflowOptions` and `AuditEventEchoOptions` no longer take an `inngest`.
|
|
30
|
+
|
|
31
|
+
- cb29249: `@forumone/throughline`: the 1.0 package, starting from `@forumone/throughline-core` and `@forumone/throughline-plugin-contract`.
|
|
32
|
+
|
|
33
|
+
The root holds what is shared: environment checks, access helpers, the logger, utilities, the plugin and MCP tool types, and the MCP collector until `throughline()` wires it. Everything else is on a subpath: `/audit`, `/fields`, `/jobs`, `/jobs/inngest`, `/media` (now including reference tracking), `/observability`, `/testing`, `/client` and `/rsc`. The `throughline-payload` bin is unchanged.
|
|
34
|
+
|
|
35
|
+
Moving from 0.x, by `docs/spec/1.0-exports.md`:
|
|
36
|
+
|
|
37
|
+
- core's root no longer re-exports audit, events, references or observability; import them from `/audit`, `/jobs` and `/jobs/inngest`, `/media` and `/observability`.
|
|
38
|
+
- `/events` is now `/jobs` (the event taxonomy) and `/jobs/inngest` (the Inngest client and Vercel environment pinning). Augment `CoreEvents` on `@forumone/throughline/jobs`.
|
|
39
|
+
- `/references` is part of `/media`; `/env` and `/mcp` are part of the root; `/auth` is gone.
|
|
40
|
+
- plugin-contract's types are on the root. Its separate `McpMeta` interface is gone; the root's `McpMeta` is the one.
|
|
41
|
+
- Admin component paths are `@forumone/throughline/client#…` and `@forumone/throughline/rsc#UsedOnPanel`, so a site's `importMap.js` changes.
|
|
42
|
+
|
|
43
|
+
- 3b467f0: The last five 0.x server packages move in, by `docs/spec/1.0-exports.md`:
|
|
44
|
+
|
|
45
|
+
- `@forumone/throughline-audit` joins core's audit writer on `@forumone/throughline/audit`. `DEFAULT_AUDIT_COLLECTION_SLUG` is gone; use `DEFAULT_AUDIT_SLUG`, the same value.
|
|
46
|
+
- `@forumone/throughline-approvals` is `/approvals`. `APPROVALS_RESOLVER_SYMBOL` is internal.
|
|
47
|
+
- `@forumone/throughline-components` is `/components`.
|
|
48
|
+
- `@forumone/throughline-integrations` is `/integrations`; its `/client` (`SyncButton` and helpers) joins `@forumone/throughline/client`.
|
|
49
|
+
- `@forumone/throughline-email` and its `/templates` are `/email`. `DEFAULT_APPROVALS_COLLECTION_SLUG` is gone; use `DEFAULT_APPROVALS_SLUG` from `/approvals`, the same value. `validateOptions` is internal.
|
|
50
|
+
|
|
51
|
+
**Removed:** `createNotifyApprovalRequestFunction`, `createNotifyApprovalDecisionFunction` and `createNotifyApprovalExpiredFunction`. `emailPlugin` builds the same three Inngest functions itself, so `getEmailFunctions` and the function ids are unchanged; run `notify…Job` through an adapter to build one by hand.
|
|
52
|
+
|
|
53
|
+
Admin component paths follow: `@forumone/throughline/client#SyncButton`. Plugin ids in the registry are `@forumone/throughline/<subpath>`, with the audit query plugin at `/audit-query`.
|
|
54
|
+
|
|
55
|
+
- ea3754f: Publishing moves in from `@forumone/throughline-publishing`, by `docs/spec/1.0-exports.md`:
|
|
56
|
+
|
|
57
|
+
- `@forumone/throughline-publishing` and its `/checks` are `@forumone/throughline/publishing`.
|
|
58
|
+
- `/editorial` is `@forumone/throughline/editorial`.
|
|
59
|
+
- `/client` and `/rsc` are `@forumone/throughline/client` and `/rsc`, beside core's admin components.
|
|
60
|
+
|
|
61
|
+
Admin component paths follow, so a site's `importMap.js` changes: `@forumone/throughline/client#PublishButton`, `#UnpublishButton`, `#SchedulePublishField`, `#CommandPalette` and `#ReportsNav`, and `@forumone/throughline/rsc#ContentHealthView`, `#ContentCalendarView` and `#YourWorkDashboard`. `next` and `@payloadcms/next` are optional peers, used only by those components.
|
|
62
|
+
|
|
22
63
|
- 6c1409a: The trust boundary now covers every write that changes what the public sees. A create with `_status: 'published'` is refused (create a draft, then publish), and so is a non-draft save that changes a live document (save a draft, then publish). Before, both went live with no pipeline, approval or audit row, so "requires approval" held only for a page's first publish. Data a system derives from a live page and writes back to it, such as an audio URL, passes with `context: DERIVED_WRITE_CONTEXT` from `/publishing`, which can never change `_status`, create, or promote a draft.
|
|
23
64
|
|
|
24
65
|
### Minor Changes
|
|
@@ -27,7 +68,18 @@
|
|
|
27
68
|
|
|
28
69
|
### Patch Changes
|
|
29
70
|
|
|
30
|
-
-
|
|
71
|
+
- 825f4e9: `@forumone/throughline-design-system`: the 1.0 design-system package, from `@forumone/throughline-design-contract` and `@forumone/throughline-design-system-payload`, by `docs/spec/1.0-exports.md`. It is published for the first time: design-system-payload was private and shipped TypeScript source, and this package builds to `dist`.
|
|
72
|
+
|
|
73
|
+
- `@forumone/throughline-design-contract` is `/contract`, and its `/lint` is `/lint`.
|
|
74
|
+
- design-system-payload's `/generate`, `/render`, `/client` and `/testing` keep their names. Its root (`fieldOverride` and the override types) is part of `/generate`.
|
|
75
|
+
- The `check-block-props` bin is unchanged, and runs the built CLI.
|
|
76
|
+
- Admin component paths are `@forumone/throughline-design-system/client#BlockSummary`, `#BlockGuidance` and `#RowSummary`, so a site's `importMap.js` changes.
|
|
77
|
+
- `/contract` and `/lint` need no peers. `payload`, `react`, `@payloadcms/ui`, `typescript` (which `/generate` uses to read component source) and `vitest` (for `/testing`) are optional peers.
|
|
78
|
+
|
|
79
|
+
`@forumone/throughline/components` now reads manifests through `@forumone/throughline-design-system/contract`.
|
|
80
|
+
|
|
81
|
+
- Updated dependencies [825f4e9]
|
|
82
|
+
- @forumone/throughline-design-system@1.0.0-pr-264-881f3a4
|
|
31
83
|
|
|
32
84
|
## 1.0.0-next.1
|
|
33
85
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forumone/throughline",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-pr-264-881f3a4",
|
|
4
4
|
"description": "Throughline: an editorial platform for Payload CMS. Publishing, approvals, audit, integrations, email and jobs, with every feature reachable over MCP.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
"dependencies": {
|
|
163
163
|
"zod": "^3.23.0",
|
|
164
164
|
"zod-to-json-schema": "^3.25.2",
|
|
165
|
-
"@forumone/throughline-design-system": "1.0.0-
|
|
165
|
+
"@forumone/throughline-design-system": "1.0.0-pr-264-881f3a4"
|
|
166
166
|
},
|
|
167
167
|
"devDependencies": {
|
|
168
168
|
"@payloadcms/db-sqlite": "^3.83.0",
|
|
@@ -184,9 +184,9 @@
|
|
|
184
184
|
"resend": "^6.1.4",
|
|
185
185
|
"typescript": "^5.6.0",
|
|
186
186
|
"vitest": "^4.1.10",
|
|
187
|
-
"@forumone/throughline-reference-ds": "0.3.8-
|
|
188
|
-
"@forumone/throughline-tsconfig": "0.0.
|
|
189
|
-
"@forumone/throughline-eslint-config": "0.0.
|
|
187
|
+
"@forumone/throughline-reference-ds": "0.3.8-pr-264-881f3a4",
|
|
188
|
+
"@forumone/throughline-tsconfig": "0.0.1-pr-264-881f3a4",
|
|
189
|
+
"@forumone/throughline-eslint-config": "0.0.1-pr-264-881f3a4"
|
|
190
190
|
},
|
|
191
191
|
"scripts": {
|
|
192
192
|
"build": "tsc -b",
|