@se-studio/skills 1.4.1 → 1.4.2

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,5 +1,15 @@
1
1
  # @se-studio/skills
2
2
 
3
+ ## 1.4.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Add flat navigation assembly via `getNavigation` in `createAppHelpers` — menus resolve without Contentful include depth. Registry and link-index fetchers stay package-internal so apps cannot call them directly.
8
+
9
+ Flat-nav caches use collection tags (`FLAT_NAV_CACHE_TAGS`, including `tagType` and `link`) for webhook invalidation, with `FLAT_NAV_TIME_REVALIDATE_SECONDS` (3600) as an ISR fallback when webhooks miss.
10
+
11
+ Fix flat-nav Contentful fetches for spaces with differing content models (e.g. OM1): registry and link-wrapper fetches omit `select`; tagType bulk link fetches request golden `fields.slug` and fall back to minimal fields when absent. Unresolved nav targets log under `LOG_CMS`.
12
+
3
13
  ## 1.4.1
4
14
 
5
15
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@se-studio/skills",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "SE Studio agent skills for marketing site development with Contentful CMS",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,6 +75,7 @@ The secret is passed as a **request header** (`REVALIDATION_SECRET`), not a quer
75
75
  * 5. Updates .env.local with the new secret
76
76
  */
77
77
 
78
+ import { REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES } from '@se-studio/contentful-rest-api';
78
79
  import { createClient } from 'contentful-management';
79
80
  import { randomBytes } from 'node:crypto';
80
81
  import { spawnSync } from 'node:child_process';
@@ -149,13 +150,8 @@ const WEBHOOK_NAME = 'Vercel Revalidation';
149
150
  const ASSET_WEBHOOK_NAME = 'Vercel Revalidation (Assets)';
150
151
  const PREVIEW_WEBHOOK_NAME = 'Vercel Revalidation (Preview)';
151
152
 
152
- const ENTRY_CONTENT_TYPES = [
153
- 'article', 'articleType', 'banner', 'customType', 'location',
154
- 'navigation', 'page', 'pageVariant', 'person', 'tag', 'template',
155
- ];
156
-
157
153
  const contentTypeFilter = {
158
- in: [{ doc: 'sys.contentType.sys.id' }, ENTRY_CONTENT_TYPES],
154
+ in: [{ doc: 'sys.contentType.sys.id' }, [...REVALIDATION_WEBHOOK_ENTRY_CONTENT_TYPES]],
159
155
  };
160
156
 
161
157
  async function main(): Promise<void> {