Skip to content

Commit 9dee214

Browse files
committed
docs(spec): regenerate reference docs for composite externalId type
`pnpm --filter @objectstack/spec gen:schema && gen:docs` after the `SeedSchema.externalId` union change. These files are generated from the Zod schema (Prime Directive #1) and the check:docs CI gate flagged them stale. Only the externalId type row changes (`string` → `string | string[]`) across seed, seed-loader, and manifest reference tables. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JqZsDkKaCkpQGpJdEMEWDF
1 parent 1c31152 commit 9dee214

3 files changed

Lines changed: 3 additions & 3 deletions

File tree

content/docs/references/data/seed-loader.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ Seed loader request with datasets and configuration
183183

184184
| Property | Type | Required | Description |
185185
| :--- | :--- | :--- | :--- |
186-
| **seeds** | `{ object: string; externalId: string; mode: Enum<'insert' \| 'update' \| 'upsert' \| 'replace' \| 'ignore'>; env: Enum<'prod' \| 'dev' \| 'test'>[]; … }[]` || Seeds to load |
186+
| **seeds** | `{ object: string; externalId: string \| string[]; mode: Enum<'insert' \| 'update' \| 'upsert' \| 'replace' \| 'ignore'>; env: Enum<'prod' \| 'dev' \| 'test'>[]; … }[]` || Seeds to load |
187187
| **config** | `{ dryRun: boolean; haltOnError: boolean; multiPass: boolean; defaultMode: Enum<'insert' \| 'update' \| 'upsert' \| 'replace' \| 'ignore'>; … }` || Loader configuration |
188188

189189

content/docs/references/data/seed.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ const result = Seed.parse(data);
3232
| Property | Type | Required | Description |
3333
| :--- | :--- | :--- | :--- |
3434
| **object** | `string` || Target Object Name |
35-
| **externalId** | `string` || Field match for uniqueness check |
35+
| **externalId** | `string \| string[]` || Field (or composite list of fields) matched for the uniqueness check |
3636
| **mode** | `Enum<'insert' \| 'update' \| 'upsert' \| 'replace' \| 'ignore'>` || Conflict resolution strategy |
3737
| **env** | `Enum<'prod' \| 'dev' \| 'test'>[]` || Applicable environments |
3838
| **records** | `Record<string, any>[]` || Data records |

content/docs/references/kernel/manifest.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const result = Manifest.parse(data);
6161
| **dependencies** | `Record<string, string>` | optional | Package dependencies |
6262
| **configuration** | `{ title?: string; properties: Record<string, { type: Enum<'string' \| 'number' \| 'boolean' \| 'array' \| 'object'>; default?: any; description?: string; required?: boolean; … }> }` | optional | Plugin configuration settings |
6363
| **contributes** | `{ kinds?: { id: string; globs: string[]; description?: string }[]; events?: string[]; menus?: Record<string, { id: string; label: string; command?: string }[]>; themes?: { id: string; label: string; path: string }[]; … }` | optional | Platform contributions |
64-
| **data** | `{ object: string; externalId?: string; mode?: Enum<'insert' \| 'update' \| 'upsert' \| 'replace' \| 'ignore'>; env?: Enum<'prod' \| 'dev' \| 'test'>[]; … }[]` | optional | Initial seed data (prefer top-level data field) |
64+
| **data** | `{ object: string; externalId?: string \| string[]; mode?: Enum<'insert' \| 'update' \| 'upsert' \| 'replace' \| 'ignore'>; env?: Enum<'prod' \| 'dev' \| 'test'>[]; … }[]` | optional | Initial seed data (prefer top-level data field) |
6565
| **capabilities** | `{ implements?: { protocol: object; conformance?: Enum<'full' \| 'partial' \| 'experimental' \| 'deprecated'>; implementedFeatures?: string[]; features?: { name: string; enabled?: boolean; description?: string; sinceVersion?: string; … }[]; … }[]; provides?: { id: string; name: string; description?: string; version: object; … }[]; requires?: { pluginId: string; version: string; optional?: boolean; reason?: string; … }[]; extensionPoints?: { id: string; name: string; description?: string; type: Enum<'action' \| 'hook' \| 'widget' \| 'provider' \| 'transformer' \| 'validator' \| 'decorator'>; … }[]; … }` | optional | Plugin capability declarations for interoperability |
6666
| **extensions** | `Record<string, any>` | optional | Extension points and contributions |
6767
| **navigationContributions** | `{ app: string; group?: string; priority?: integer; items: { id: string; label: string; icon?: string; order?: number; … } \| { id: string; label: string; icon?: string; order?: number; … } \| { id: string; label: string; icon?: string; order?: number; … } \| { id: string; label: string; icon?: string; order?: number; … } \| { id: string; label: string; icon?: string; order?: number; … } \| { id: string; label: string; icon?: string; order?: number; … } \| { id: string; label: string; icon?: string; order?: number; … } \| { type: 'separator'; id?: string; order?: number } \| { id: string; label: string; icon?: string; order?: number; … }[] }[]` | optional | Navigation items this package contributes into apps owned by other packages |

0 commit comments

Comments
 (0)