@forumone/throughline 2.2.0-next-623d42c → 2.2.0-next-a9d4873

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @forumone/throughline
2
2
 
3
- ## 2.2.0-next-623d42c
3
+ ## 2.2.0-next-a9d4873
4
4
 
5
5
  ### Minor Changes
6
6
 
@@ -35,11 +35,17 @@
35
35
 
36
36
  A link is either an internal link in Lexical rich text, or a relationship field marked with `custom: { throughlineLinkTarget: true }`. The design-system generator's `linkField` now marks its `reference`, so every generated link is covered without changes. To cover a hand-written link field, wrap it in `markLinkTarget` from `@forumone/throughline/publishing`. A marked reference whose sibling `mode` isn't `internal` is ignored, and `markLinkTarget(field, { when })` takes a different rule. The structural walk behind `referencesIn` is now `walkDocument`, exported from `/media` along with `linkTargetsIn`.
37
37
 
38
+ - a9d4873: The `link-targets` publish step now checks links inside composed sections (forumone-2026#756). A composed section stores its content as JSON, one value per field its recipe declares, so before this change a landing page whose composed-section link went to a draft, trashed or deleted page published without a warning. With `publishing.recipes` configured, the step reads every recipe the document uses in one query. It then walks each block's content by the recipe's `contract.content.fields`: a `link` (`{ mode, reference: { relationTo, value } }`, with the same `mode` rule as a generated link), internal links in a `richtext` field, and both of those inside a `group` or `array`. The verdicts and messages are the same as for any other link. The issue's `field` is the content field's path (`layout[2].content`), and its `where` is the block (`Block 3 (Composed section)`). `composedRecipeIds` and the `composed` option of `linkTargetsIn` are exported from `/media`.
39
+
40
+ A new subpath, `@forumone/throughline/links`, exports `markLinkTarget`, `LINK_TARGET_KEY` and `linkTargetMarker`. It imports nothing at run time, so a link-field helper that a `'use client'` module also imports can mark its reference. `/publishing` still exports `markLinkTarget` and `LINK_TARGET_KEY`.
41
+
42
+ `/integrations` now exports `LAST_ERROR_SUMMARY`, `lastErrorText`, `lastErrorDetail` and `statusUpdateData`, so a site can test what an integration's `lastError` will say.
43
+
38
44
  ### Patch Changes
39
45
 
40
46
  - Updated dependencies [623d42c]
41
47
  - Updated dependencies [332baf9]
42
- - @forumone/throughline-design-system@2.2.0-next-623d42c
48
+ - @forumone/throughline-design-system@2.2.0-next-a9d4873
43
49
 
44
50
  ## 2.1.0
45
51
 
package/README.md CHANGED
@@ -30,6 +30,7 @@ registers the suite; each part also lives on its own subpath.
30
30
  | `/observability` | `jobFailuresPlugin`, `getJobFailureWriter`, `createErrorReporter`, `reportError`, `buildRequestErrorReport` |
31
31
  | `/testing` | `describeAnonymousAccess`, `checkAnonymousAccess`: test helpers for a site |
32
32
  | `/cache-tags` | `createCacheTags`, which imports nothing, for front-end readers |
33
+ | `/links` | `markLinkTarget`, `LINK_TARGET_KEY` and `linkTargetMarker`. This is the link-target marker. It imports nothing, so a link-field helper that a client component also imports can use it |
33
34
  | `/client`, `/rsc` | The admin's client and server components, named in Payload's import map |
34
35
  | bin | `throughline migrate-imports`, see [Upgrading from 0.x](https://github.com/forumone/throughline/blob/main/docs/guides/upgrading.md); `throughline-payload`, see [the reference](https://github.com/forumone/throughline/blob/main/docs/reference/throughline.md#throughline-payload-bin) |
35
36
 
@@ -14,6 +14,12 @@ export type { WebhookConfig } from './integrations/index.js';
14
14
  export type { Integration, IntegrationCategory, IntegrationContext, IntegrationAuditEvent, IntegrationConfigValidation, IntegrationHealth, IntegrationInstance, IntegrationInstanceLoaded, IntegrationStatusUpdate, IntegrationSyncStatus, } from './types.js';
15
15
  export { problemReport, statusFromProblems, DEFAULT_PROBLEM_REPORT_LENGTH, } from './sync/problems.js';
16
16
  export type { ProblemReportOptions } from './sync/problems.js';
17
+ /**
18
+ * What `lastError` will say: the summary line an editor can read, then the
19
+ * integration's own detail. `statusUpdateData` is the exact write
20
+ * `updateStatus` makes, so a site can assert its integration's wording.
21
+ */
22
+ export { LAST_ERROR_SUMMARY, lastErrorDetail, lastErrorText, statusUpdateData, } from './sync/status.js';
17
23
  export { requestManualSync, MANUAL_SYNC_EVENT } from './sync/manual-sync.js';
18
24
  export type { ManualSyncRefusal, RequestManualSyncArgs, RequestManualSyncDeps, RequestManualSyncResult, } from './sync/manual-sync.js';
19
25
  export { createSyncEndpoint, ADMIN_TRIGGER_REASON } from './endpoints/sync.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACpF,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE9D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,YAAY,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAE7D,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AACpF,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAE9D;;;;GAIG;AACH,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC5E,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAEjE,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA"}
@@ -9,6 +9,12 @@ export { IntegrationRegistry } from './registry.js';
9
9
  export { DEFAULT_INTEGRATIONS_SLUG } from './options.js';
10
10
  export { webhookIntegration, WEBHOOK_INTEGRATION_ID } from './integrations/index.js';
11
11
  export { problemReport, statusFromProblems, DEFAULT_PROBLEM_REPORT_LENGTH, } from './sync/problems.js';
12
+ /**
13
+ * What `lastError` will say: the summary line an editor can read, then the
14
+ * integration's own detail. `statusUpdateData` is the exact write
15
+ * `updateStatus` makes, so a site can assert its integration's wording.
16
+ */
17
+ export { LAST_ERROR_SUMMARY, lastErrorDetail, lastErrorText, statusUpdateData, } from './sync/status.js';
12
18
  export { requestManualSync, MANUAL_SYNC_EVENT } from './sync/manual-sync.js';
13
19
  export { createSyncEndpoint, ADMIN_TRIGGER_REASON } from './endpoints/sync.js';
14
20
  export { createListIntegrationsTool, createGetIntegrationStatusTool, createTriggerSyncTool, createTestIntegrationTool, createListIntegrationTypesTool, } from './tools/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,GACf,MAAM,uBAAuB,CAAA;AAO9B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGxD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAgBpF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAQ5E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG9E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/integrations/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,EAC3B,cAAc,GACf,MAAM,uBAAuB,CAAA;AAO9B,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AAGxD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAgBpF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,oBAAoB,CAAA;AAG3B;;;;GAIG;AACH,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,gBAAgB,GACjB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAQ5E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG9E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { LINK_TARGET_KEY, linkTargetMarker, markLinkTarget } from './references/links.js';
2
+ export type { LinkTargetMarker } from './references/links.js';
3
+ //# sourceMappingURL=links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACzF,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA"}
package/dist/links.js ADDED
@@ -0,0 +1,12 @@
1
+ /*
2
+ The link-target marker, on a subpath of its own (forumone-2026#756).
3
+
4
+ A site's link field is usually one helper that both the Payload config and a
5
+ `'use client'` admin component import. `/publishing` is the server plugin and
6
+ cannot reach a client bundle, and `/fields` pulls in the MCP and audit modules,
7
+ so the marker is exported here as well: this module and everything it imports
8
+ load nothing at run time, like `/cache-tags`. `./links.test.ts` holds it to
9
+ that.
10
+ */
11
+ export { LINK_TARGET_KEY, linkTargetMarker, markLinkTarget } from './references/links.js';
12
+ //# sourceMappingURL=links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":"AAAA;;;;;;;;;EASE;AACF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
@@ -81,6 +81,9 @@
81
81
  "CommandPalette": ["@forumone/throughline/client"],
82
82
  "CommandPaletteProps": ["@forumone/throughline/client"],
83
83
  "ComponentsPluginOptions": ["@forumone/throughline/components"],
84
+ "ComposedContentField": ["@forumone/throughline/media"],
85
+ "ComposedSectionLinks": ["@forumone/throughline/media"],
86
+ "ComposedSectionShape": ["@forumone/throughline/media"],
84
87
  "CompositionIssue": ["@forumone/throughline/content"],
85
88
  "ConfigInput": ["@forumone/throughline/testing"],
86
89
  "ContentCalendarReport": ["@forumone/throughline/rsc"],
@@ -191,11 +194,20 @@
191
194
  "JobTrigger": ["@forumone/throughline/jobs"],
192
195
  "JobsAdapter": ["@forumone/throughline/jobs"],
193
196
  "KeyParts": ["@forumone/throughline/media"],
194
- "LINK_TARGET_KEY": ["@forumone/throughline/media", "@forumone/throughline/publishing"],
197
+ "LAST_ERROR_SUMMARY": ["@forumone/throughline/integrations"],
198
+ "LINK_TARGET_KEY": [
199
+ "@forumone/throughline/links",
200
+ "@forumone/throughline/media",
201
+ "@forumone/throughline/publishing"
202
+ ],
195
203
  "LISTED": ["@forumone/throughline/fields"],
196
204
  "LOCKED_DOCUMENTS_SLUG": ["@forumone/throughline"],
197
205
  "LinkTarget": ["@forumone/throughline/media", "@forumone/throughline/publishing"],
198
- "LinkTargetMarker": ["@forumone/throughline/media", "@forumone/throughline/publishing"],
206
+ "LinkTargetMarker": [
207
+ "@forumone/throughline/links",
208
+ "@forumone/throughline/media",
209
+ "@forumone/throughline/publishing"
210
+ ],
199
211
  "LinkTargetsInOptions": ["@forumone/throughline/media", "@forumone/throughline/publishing"],
200
212
  "LockHolder": ["@forumone/throughline/content"],
201
213
  "Logger": ["@forumone/throughline"],
@@ -361,6 +373,7 @@
361
373
  "clientPrefix": ["@forumone/throughline/observability"],
362
374
  "clockFor": ["@forumone/throughline/editorial"],
363
375
  "componentsPlugin": ["@forumone/throughline/components"],
376
+ "composedRecipeIds": ["@forumone/throughline/media"],
364
377
  "compositionErrors": ["@forumone/throughline/content"],
365
378
  "contentPlugin": ["@forumone/throughline/content"],
366
379
  "contentRevisedAt": ["@forumone/throughline/fields"],
@@ -482,14 +495,20 @@
482
495
  "jobFailuresPlugin": ["@forumone/throughline/observability"],
483
496
  "jobPayload": ["@forumone/throughline/jobs"],
484
497
  "keepOrStampPublishedAt": ["@forumone/throughline/fields"],
498
+ "lastErrorDetail": ["@forumone/throughline/integrations"],
499
+ "lastErrorText": ["@forumone/throughline/integrations"],
485
500
  "linkLabelsCheck": ["@forumone/throughline/publishing"],
486
- "linkTargetMarker": ["@forumone/throughline/media"],
501
+ "linkTargetMarker": ["@forumone/throughline/links", "@forumone/throughline/media"],
487
502
  "linkTargetsIn": ["@forumone/throughline/media", "@forumone/throughline/publishing"],
488
503
  "listHref": ["@forumone/throughline/editorial"],
489
504
  "lockHolder": ["@forumone/throughline/content"],
490
505
  "lockRefusal": ["@forumone/throughline/content"],
491
506
  "mapFields": ["@forumone/throughline/fields"],
492
- "markLinkTarget": ["@forumone/throughline/media", "@forumone/throughline/publishing"],
507
+ "markLinkTarget": [
508
+ "@forumone/throughline/links",
509
+ "@forumone/throughline/media",
510
+ "@forumone/throughline/publishing"
511
+ ],
493
512
  "matchCommands": ["@forumone/throughline/editorial"],
494
513
  "matchRank": ["@forumone/throughline/editorial"],
495
514
  "mcpApiKeyAccess": ["@forumone/throughline"],
@@ -555,6 +574,7 @@
555
574
  "slugify": ["@forumone/throughline/fields"],
556
575
  "staleCheck": ["@forumone/throughline/editorial"],
557
576
  "statusFromProblems": ["@forumone/throughline/integrations"],
577
+ "statusUpdateData": ["@forumone/throughline/integrations"],
558
578
  "storageKey": ["@forumone/throughline/media"],
559
579
  "summariseReport": ["@forumone/throughline/observability"],
560
580
  "syncHasFinished": ["@forumone/throughline/client"],
@@ -1 +1 @@
1
- {"version":3,"file":"link-targets.d.ts","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/link-targets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAkC,YAAY,EAAE,MAAM,aAAa,CAAA;AAuP/E,eAAO,MAAM,eAAe,EAAE,YA6E7B,CAAA"}
1
+ {"version":3,"file":"link-targets.d.ts","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/link-targets.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAkC,YAAY,EAAE,MAAM,aAAa,CAAA;AA+R/E,eAAO,MAAM,eAAe,EAAE,YAgF7B,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { blockRegistry } from '../../../references/find.js';
2
- import { linkTargetsIn } from '../../../references/links.js';
2
+ import { composedRecipeIds, linkTargetsIn, } from '../../../references/links.js';
3
3
  import { resolveCollection } from '../../options.js';
4
4
  /*
5
5
  Refuses a publish whose links go to pages readers cannot see (forumone-2026#756).
@@ -27,6 +27,12 @@ it runs after the pure content checks and before the policy steps.
27
27
  - **The latest draft of unpublished targets**, only in collections that can
28
28
  carry a schedule, because a schedule lives on the latest version.
29
29
 
30
+ - **Each recipe a composed section uses, once**, when `recipes` is configured:
31
+ its content is JSON whose links only the recipe's fields declare, so the
32
+ recipes are read in one query and the content walked by their fields. A
33
+ recipe that cannot be read contributes no links; the composition step
34
+ already refuses the section for it.
35
+
30
36
  All with `overrideAccess: true`: the question is what a reader will get, not
31
37
  what the person publishing may read.
32
38
 
@@ -206,6 +212,40 @@ async function classify(ctx, slug, config, ids) {
206
212
  }
207
213
  return verdicts;
208
214
  }
215
+ /**
216
+ * Composed sections' links, when the host has them: every recipe the document
217
+ * uses, read in one query, and their content fields by id.
218
+ */
219
+ async function composedLinks(ctx, fields, data, blocks) {
220
+ const gate = ctx.options.recipes;
221
+ if (!gate || !configOf(ctx.payload, gate.collection))
222
+ return undefined;
223
+ const shape = {
224
+ blockType: gate.blockType,
225
+ recipeField: gate.recipeField,
226
+ contentField: gate.contentField,
227
+ };
228
+ const ids = composedRecipeIds(fields, data, { blocks, composed: shape });
229
+ if (ids.length === 0)
230
+ return undefined;
231
+ const found = await ctx.payload.find({
232
+ collection: gate.collection,
233
+ where: { id: { in: ids } },
234
+ depth: 0,
235
+ overrideAccess: true,
236
+ limit: ids.length,
237
+ pagination: false,
238
+ select: { contract: true },
239
+ });
240
+ const byId = new Map();
241
+ for (const recipe of found.docs) {
242
+ const contract = recipe['contract'];
243
+ const declared = contract?.content?.fields;
244
+ if (Array.isArray(declared))
245
+ byId.set(String(recipe['id']), declared);
246
+ }
247
+ return { ...shape, fieldsOf: (id) => byId.get(String(id)) };
248
+ }
209
249
  /** The document as stored, ids unpopulated; the pipeline's copy when it cannot be read. */
210
250
  async function storedDocument(ctx) {
211
251
  const stored = await ctx.payload.findByID({
@@ -228,8 +268,11 @@ export const linkTargetsStep = async (ctx) => {
228
268
  const verdicts = new Map();
229
269
  try {
230
270
  const data = await storedDocument(ctx);
271
+ const blocks = blockRegistry(ctx.payload);
272
+ const composed = await composedLinks(ctx, own.fields, data, blocks);
231
273
  links = linkTargetsIn(own.fields, data, {
232
- blocks: blockRegistry(ctx.payload),
274
+ blocks,
275
+ ...(composed ? { composed } : {}),
233
276
  }).filter((link) => !(link.relationTo === ctx.collection.slug && String(link.id) === ctx.documentId));
234
277
  if (links.length === 0)
235
278
  return { pass: true };
@@ -1 +1 @@
1
- {"version":3,"file":"link-targets.js","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/link-targets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"link-targets.js","sourceRoot":"","sources":["../../../../src/publishing/pipeline/steps/link-targets.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { couldReference, pointsAt, referencesIn, referencesTo, walkDocument } from './walk.js';
2
2
  export type { Reference, ReferencesInOptions, WalkDocumentOptions, WalkLocation, WalkVisitor, } from './walk.js';
3
- export { LINK_TARGET_KEY, linkTargetMarker, linkTargetsIn, markLinkTarget } from './links.js';
4
- export type { LinkTarget, LinkTargetMarker, LinkTargetsInOptions } from './links.js';
3
+ export { LINK_TARGET_KEY, composedRecipeIds, linkTargetMarker, linkTargetsIn, markLinkTarget, } from './links.js';
4
+ export type { ComposedContentField, ComposedSectionLinks, ComposedSectionShape, LinkTarget, LinkTargetMarker, LinkTargetsInOptions, } from './links.js';
5
5
  export { blockRegistry, describeReferences, findReferencedIds, findReferences } from './find.js';
6
6
  export type { DocumentReferences, FindReferencesOptions } from './find.js';
7
7
  export { movesToTrash, referenceRefusal, refuseDeleteWhileReferenced, refuseTrashWhileReferenced, } from './guards.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9F,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC7F,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEpF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChG,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAE1E,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACjF,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9F,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAA;AAElB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAChG,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAE1E,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAExD,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACjF,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA"}
@@ -1,5 +1,5 @@
1
1
  export { couldReference, pointsAt, referencesIn, referencesTo, walkDocument } from './walk.js';
2
- export { LINK_TARGET_KEY, linkTargetMarker, linkTargetsIn, markLinkTarget } from './links.js';
2
+ export { LINK_TARGET_KEY, composedRecipeIds, linkTargetMarker, linkTargetsIn, markLinkTarget, } from './links.js';
3
3
  export { blockRegistry, describeReferences, findReferencedIds, findReferences } from './find.js';
4
4
  export { movesToTrash, referenceRefusal, refuseDeleteWhileReferenced, refuseTrashWhileReferenced, } from './guards.js';
5
5
  export { REFERENCE_TOOLS, REFERENCE_TOOL_DESCRIPTORS, createCanDeleteTool, createFindReferencesTool, } from './tools.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAS9F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAG7F,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhG,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/references/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAS9F,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAA;AAUnB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhG,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,aAAa,CAAA;AAGpB,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AAGnB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
@@ -33,10 +33,44 @@ export interface LinkTarget {
33
33
  /** The walk's location: human path, data path, block and top-level field. */
34
34
  at: WalkLocation;
35
35
  }
36
+ /** A content field a recipe declares, as far as finding links needs it. */
37
+ export interface ComposedContentField {
38
+ name: string;
39
+ /** The contract field type: `link`, `richtext`, `group` and `array` can hold links. */
40
+ type: string;
41
+ /** A `group`'s or `array`'s own fields. */
42
+ of?: readonly ComposedContentField[] | undefined;
43
+ }
44
+ /** Where a composed section keeps its recipe and its content. */
45
+ export interface ComposedSectionShape {
46
+ /** The block type a composed section is stored as, e.g. `ComposedSection`. */
47
+ blockType: string;
48
+ /** The block's relationship to its recipe. Default: `recipe`. */
49
+ recipeField?: string | undefined;
50
+ /** The block's `json` content, one value per recipe field. Default: `content`. */
51
+ contentField?: string | undefined;
52
+ }
53
+ export interface ComposedSectionLinks extends ComposedSectionShape {
54
+ /**
55
+ * The content fields of the recipe a block points at, by the id it holds;
56
+ * `undefined` for a recipe that could not be read, whose content is skipped.
57
+ */
58
+ fieldsOf: (recipeId: number | string) => readonly ComposedContentField[] | undefined;
59
+ }
36
60
  export interface LinkTargetsInOptions {
37
61
  /** As `ReferencesInOptions.blocks`: the config's registry, for `blockReferences` and Lexical blocks. */
38
62
  blocks?: readonly Block[] | ReadonlyMap<string, Block>;
63
+ /** Composed sections, whose links are in their content as their recipe declares it. */
64
+ composed?: ComposedSectionLinks | undefined;
39
65
  }
66
+ /**
67
+ * The recipes a document's composed sections point at, each once, so a caller
68
+ * can read them in one query before `linkTargetsIn` asks for their fields.
69
+ */
70
+ export declare function composedRecipeIds(fields: readonly Field[], data: Record<string, unknown> | undefined, options: {
71
+ blocks?: LinkTargetsInOptions['blocks'];
72
+ composed: ComposedSectionShape;
73
+ }): (number | string)[];
40
74
  /**
41
75
  * Every link inside one document. Pure, like `referencesIn`: the field config
42
76
  * and the data in, the links out, and no database.
@@ -1 +1 @@
1
- {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/references/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAuC,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AA8BlF,2EAA2E;AAC3E,eAAO,MAAM,eAAe,0BAA0B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG;IAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAAE,CAAA;AAE/F;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAE,gBAAuB,GAAG,CAAC,CAG5F;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAO3E;AAED,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,GAAG,UAAU,CAAA;IAC5B,6EAA6E;IAC7E,EAAE,EAAE,YAAY,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,wGAAwG;IACxG,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CACvD;AAgCD;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,GAAE,oBAAyB,GACjC,UAAU,EAAE,CA4Bd"}
1
+ {"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../src/references/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAuC,KAAK,YAAY,EAAoB,MAAM,WAAW,CAAA;AA6CpG,2EAA2E;AAC3E,eAAO,MAAM,eAAe,0BAA0B,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG;IAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAA;CAAE,CAAA;AAE/F;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAE,gBAAuB,GAAG,CAAC,CAG5F;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,GAAG,SAAS,CAO3E;AAED,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,2DAA2D;IAC3D,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,GAAG,UAAU,CAAA;IAC5B,6EAA6E;IAC7E,EAAE,EAAE,YAAY,CAAA;CACjB;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAA;IACZ,2CAA2C;IAC3C,EAAE,CAAC,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,CAAA;CACjD;AAED,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,oBAAqB,SAAQ,oBAAoB;IAChE;;;OAGG;IACH,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,KAAK,SAAS,oBAAoB,EAAE,GAAG,SAAS,CAAA;CACrF;AAED,MAAM,WAAW,oBAAoB;IACnC,wGAAwG;IACxG,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACtD,uFAAuF;IACvF,QAAQ,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAA;CAC5C;AA8ED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAAC,QAAQ,EAAE,oBAAoB,CAAA;CAAE,GACnF,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAgBrB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,GAAE,oBAAyB,GACjC,UAAU,EAAE,CAqDd"}
@@ -25,6 +25,21 @@ beside the URL. So a marked field whose siblings carry a `mode` other than
25
25
  `internal` is skipped, which is the same rule the renderer uses (`mode` absent
26
26
  means internal). A host whose link group decides differently passes a `when`
27
27
  in the marker instead.
28
+
29
+ ## Links in a composed section
30
+
31
+ A composed section (the publishing plugin's `recipes`) stores its content in a
32
+ `json` field, one value per field its recipe declares, so the config says
33
+ nothing about which values are links: the recipe does. Given the recipe's
34
+ fields (`composed.fieldsOf`), the content is walked as though the recipe's
35
+ fields were Payload fields — a `link` as a group holding a `mode` and a marked
36
+ `reference`, a `richtext` as rich text, a `group` or `array` by its `of` — so
37
+ the same two rules decide what a link is. Every link found there reports the
38
+ content field's own path, because nothing inside the JSON is a field the admin
39
+ can mark. `composedRecipeIds` says which recipes to read first.
40
+
41
+ This module imports nothing at run time, so a `'use client'` module can take
42
+ the marker from `@forumone/throughline/links`.
28
43
  */
29
44
  /** The key a relationship field's `custom` carries to say it is a link. */
30
45
  export const LINK_TARGET_KEY = 'throughlineLinkTarget';
@@ -82,14 +97,94 @@ function targetsIn(field, value) {
82
97
  }
83
98
  return out;
84
99
  }
100
+ /** Whether a field is a composed section's content, and the recipe id beside it. */
101
+ function composedContent(shape, field, siblings) {
102
+ if (!shape || siblings['blockType'] !== shape.blockType)
103
+ return undefined;
104
+ if (field.name !== (shape.contentField ?? 'content'))
105
+ return undefined;
106
+ return { recipeId: idOf(siblings[shape.recipeField ?? 'recipe']) };
107
+ }
108
+ /**
109
+ * A recipe's fields as the Payload fields that would store the same data, so
110
+ * the content can be walked like any other. A `link` is the group `linkField`
111
+ * builds: a `mode` beside a marked, polymorphic `reference`.
112
+ */
113
+ function asPayloadFields(fields) {
114
+ const out = [];
115
+ for (const field of fields) {
116
+ switch (field.type) {
117
+ case 'link':
118
+ out.push({
119
+ name: field.name,
120
+ type: 'group',
121
+ fields: [
122
+ { name: 'mode', type: 'text' },
123
+ markLinkTarget({ name: 'reference', type: 'relationship', relationTo: [] }),
124
+ ],
125
+ });
126
+ break;
127
+ case 'richtext':
128
+ out.push({ name: field.name, type: 'richText' });
129
+ break;
130
+ case 'group':
131
+ out.push({ name: field.name, type: 'group', fields: asPayloadFields(field.of ?? []) });
132
+ break;
133
+ case 'array':
134
+ out.push({ name: field.name, type: 'array', fields: asPayloadFields(field.of ?? []) });
135
+ break;
136
+ default:
137
+ break;
138
+ }
139
+ }
140
+ return out;
141
+ }
142
+ /**
143
+ * The recipes a document's composed sections point at, each once, so a caller
144
+ * can read them in one query before `linkTargetsIn` asks for their fields.
145
+ */
146
+ export function composedRecipeIds(fields, data, options) {
147
+ const ids = new Map();
148
+ walkDocument(fields, data, {
149
+ field(field, _value, siblings) {
150
+ const found = composedContent(options.composed, field, siblings);
151
+ if (!found)
152
+ return false;
153
+ if (found.recipeId !== undefined)
154
+ ids.set(String(found.recipeId), found.recipeId);
155
+ return true;
156
+ },
157
+ }, options.blocks ? { blocks: options.blocks } : {});
158
+ return [...ids.values()];
159
+ }
85
160
  /**
86
161
  * Every link inside one document. Pure, like `referencesIn`: the field config
87
162
  * and the data in, the links out, and no database.
88
163
  */
89
164
  export function linkTargetsIn(fields, data, options = {}) {
90
165
  const out = [];
91
- walkDocument(fields, data, {
166
+ const { composed } = options;
167
+ const walkOptions = options.blocks ? { blocks: options.blocks } : {};
168
+ const visitor = {
92
169
  field(field, value, siblings, at) {
170
+ const content = composedContent(composed, field, siblings);
171
+ if (content && composed) {
172
+ const recipeFields = content.recipeId === undefined ? undefined : composed.fieldsOf(content.recipeId);
173
+ if (recipeFields && value && typeof value === 'object' && !Array.isArray(value)) {
174
+ // Inside the JSON, every link is reported at the content field itself.
175
+ const within = (inner) => ({
176
+ ...at,
177
+ path: `${at.path} › ${inner.path}`,
178
+ viaBlock: true,
179
+ inRichText: inner.inRichText,
180
+ });
181
+ walkDocument(asPayloadFields(recipeFields), value, {
182
+ field: (f, v, s, inner) => visitor.field?.(f, v, s, within(inner)),
183
+ richTextNode: (node, inner) => visitor.richTextNode?.(node, within(inner)),
184
+ }, walkOptions);
185
+ }
186
+ return true;
187
+ }
93
188
  const marker = linkTargetMarker(field);
94
189
  if (!marker)
95
190
  return false;
@@ -111,7 +206,8 @@ export function linkTargetsIn(fields, data, options = {}) {
111
206
  out.push({ relationTo: doc.relationTo, id, source: 'richText', at });
112
207
  }
113
208
  },
114
- }, options);
209
+ };
210
+ walkDocument(fields, data, visitor, walkOptions);
115
211
  return out;
116
212
  }
117
213
  //# sourceMappingURL=links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/references/links.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../../src/references/links.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forumone/throughline",
3
- "version": "2.2.0-next-623d42c",
3
+ "version": "2.2.0-next-a9d4873",
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",
@@ -78,6 +78,10 @@
78
78
  "types": "./dist/cache-tags.d.ts",
79
79
  "default": "./dist/cache-tags.js"
80
80
  },
81
+ "./links": {
82
+ "types": "./dist/links.d.ts",
83
+ "default": "./dist/links.js"
84
+ },
81
85
  "./client": {
82
86
  "types": "./dist/exports/client.d.ts",
83
87
  "default": "./dist/exports/client.js"
@@ -166,7 +170,7 @@
166
170
  "dependencies": {
167
171
  "zod": "^3.23.0",
168
172
  "zod-to-json-schema": "^3.25.2",
169
- "@forumone/throughline-design-system": "2.2.0-next-623d42c"
173
+ "@forumone/throughline-design-system": "2.2.0-next-a9d4873"
170
174
  },
171
175
  "devDependencies": {
172
176
  "@payloadcms/db-sqlite": "^3.83.0",
@@ -189,9 +193,9 @@
189
193
  "resend": "^6.1.4",
190
194
  "typescript": "^5.6.0",
191
195
  "vitest": "^4.1.10",
192
- "@forumone/throughline-reference-ds": "0.3.22-next-623d42c",
193
- "@forumone/throughline-tsconfig": "0.0.1",
194
- "@forumone/throughline-eslint-config": "0.0.1"
196
+ "@forumone/throughline-eslint-config": "0.0.1",
197
+ "@forumone/throughline-reference-ds": "0.3.22-next-a9d4873",
198
+ "@forumone/throughline-tsconfig": "0.0.1"
195
199
  },
196
200
  "scripts": {
197
201
  "build": "tsc -b",