Skip to content

Commit f5141c1

Browse files
os-salesclaude
andcommitted
wip(spec): regenerate artifacts, i18n bundles, remaining fixtures (#14478)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G4138K1EG7kQ81FNba5Kp4
1 parent deba8a1 commit f5141c1

18 files changed

Lines changed: 55 additions & 39 deletions

content/docs/references/data/driver.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ const result = DriverCapabilitiesSchema.parse(data);
135135
| Property | Type | Required | Description |
136136
| :--- | :--- | :--- | :--- |
137137
| **transaction** | `any` | optional | Transaction handle |
138-
| **timeout** | `number` | optional | Timeout in ms |
138+
| **timeoutMs** | `number` | optional | Operation timeout in milliseconds |
139+
| **timeout** | `never` | optional | [REMOVED] `DriverOptions.timeout` was removed in @objectstack/spec 17 (#14478) — its unit (milliseconds) lived only in the description. Rename the key to `timeoutMs`; the value (milliseconds) is unchanged. |
139140
| **skipCache** | `boolean` | optional | Bypass cache |
140141
| **traceContext** | `Record<string, string>` | optional | OpenTelemetry context or request ID |
141142
| **tenantId** | `string` | optional | Tenant Isolation identifier |

content/docs/references/kernel/metadata-loader.mdx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const result = MetadataFallbackStrategySchema.parse(data);
4949
| **fallback** | `Enum<'filesystem' \| 'memory' \| 'none'>` | optional (default: `"none"`) | Fallback strategy when datasource is unavailable |
5050
| **rootDir** | `string` | optional | Root directory path |
5151
| **formats** | `Enum<'yaml' \| 'json' \| 'typescript' \| 'javascript'>[]` | optional (default: `["typescript","json","yaml"]`) | Enabled formats |
52-
| **cache** | `{ enabled: boolean; ttl: integer; maxSize?: integer; databaseLoader?: object }` | optional | Cache settings |
52+
| **cache** | `{ enabled: boolean; ttlSeconds: integer; maxSize?: integer; databaseLoader?: object }` | optional | Cache settings |
5353
| **watch** | `boolean` | optional (default: `false`) | Enable file watching |
5454
| **watchOptions** | `{ ignored?: string[]; persistent: boolean; ignoreInitial: boolean }` | optional | File watcher options |
5555
| **validation** | `{ strict: boolean; throwOnError: boolean }` | optional | Validation settings |
@@ -61,9 +61,10 @@ const result = MetadataFallbackStrategySchema.parse(data);
6161
| Property | Type | Required | Description |
6262
| :--- | :--- | :--- | :--- |
6363
| **enabled** | `boolean` | optional (default: `true`) | Enable caching |
64-
| **ttl** | `integer` | optional (default: `3600`) | Cache TTL in seconds |
64+
| **ttlSeconds** | `integer` | optional (default: `3600`) | Cache TTL in seconds |
65+
| **ttl** | `never` | optional | [REMOVED] `cache.ttl` was removed from `MetadataManagerConfig` in @objectstack/spec 17 (#14478) — its unit (seconds) lived only in the description, while the nested `cache.databaseLoader.ttl` spelled the same word in milliseconds, so one key name meant two magnitudes 1000× apart. Rename the key to `ttlSeconds`; the value (seconds) is unchanged. |
6566
| **maxSize** | `integer` | optional | Max cache size in bytes |
66-
| **databaseLoader** | `{ enabled: boolean; maxSize: integer; ttl: integer }` | optional | DatabaseLoader read-through cache |
67+
| **databaseLoader** | `{ enabled: boolean; maxSize: integer; ttlMs: integer }` | optional | DatabaseLoader read-through cache |
6768

6869
### Nested Shape: `MetadataManagerConfig.watchOptions`
6970

content/docs/references/kernel/metadata-plugin.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ const result = MetadataBulkResultSchema.parse(data);
118118
| **fallback** | `Enum<'filesystem' \| 'memory' \| 'none'>` | optional (default: `"none"`) | Fallback strategy when datasource is unavailable |
119119
| **rootDir** | `string` | optional | Root directory path |
120120
| **formats** | `Enum<'yaml' \| 'json' \| 'typescript' \| 'javascript'>[]` | optional (default: `["typescript","json","yaml"]`) | Enabled formats |
121-
| **cache** | `{ enabled: boolean; ttl: integer; maxSize?: integer; databaseLoader?: object }` | optional | Cache settings |
121+
| **cache** | `{ enabled: boolean; ttlSeconds: integer; maxSize?: integer; databaseLoader?: object }` | optional | Cache settings |
122122
| **watch** | `boolean` | optional (default: `false`) | Enable file watching |
123123
| **watchOptions** | `{ ignored?: string[]; persistent: boolean; ignoreInitial: boolean }` | optional | File watcher options |
124124
| **validation** | `{ strict: boolean; throwOnError: boolean }` | optional | Validation settings |

content/docs/references/system/job.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ const result = CronScheduleSchema.parse(data);
5858
| **schedule** | `{ type: 'cron'; expression: string \| object; timezone?: string } \| { type: 'interval'; intervalMs: integer } \| { type: 'once'; at: string }` || Job schedule configuration |
5959
| **handler** | `string` || Handler function name (must match a key in `defineStack({ functions })`) |
6060
| **retryPolicy** | `{ maxRetries?: integer; backoffMs?: integer; backoffMultiplier?: number; maxRetryDelayMs?: integer; … }` | optional | Retry policy: failed runs (including timeouts) are retried with exponential backoff (delay = min(backoffMs * backoffMultiplier^(retry-1), maxRetryDelayMs), optionally jittered) up to maxRetries retries after the initial attempt. Omit the block for a single attempt; declaring it without `maxRetries` also means no retry since 17.0.0 — state a count to opt in. |
61-
| **timeout** | `integer` | optional | Per-attempt time limit in milliseconds; an over-limit run is recorded with execution status "timeout". The in-flight handler is abandoned, not forcibly cancelled. Omit for no time limit. |
61+
| **timeoutMs** | `integer` | optional | Per-attempt time limit in milliseconds; an over-limit run is recorded with execution status "timeout". The in-flight handler is abandoned, not forcibly cancelled. Omit for no time limit. |
62+
| **timeout** | `never` | optional | [REMOVED] `job.timeout` was removed in @objectstack/spec 17 (#14478) — its unit (milliseconds) lived only in the description while the sibling `retryPolicy.backoffMs` spells its own, so the same number read as two conventions on one surface. Rename the key to `timeoutMs`; the value (milliseconds) is unchanged. Run `os migrate meta --from 17` to list the mechanical edits for existing sources; apply them by hand. |
6263
| **enabled** | `boolean` | optional (default: `true`) | Whether the job is enabled |
6364
| **_lock** | `Enum<'none' \| 'no-overlay' \| 'no-delete' \| 'full'>` | optional | Item-level lock — controls overlay & delete (ADR-0010). |
6465
| **_lockReason** | `string` | optional | Human-readable reason shown when a write is refused by _lock. |

content/docs/references/system/metadata-persistence.mdx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ Metadata file format
242242
| **fallback** | `Enum<'filesystem' \| 'memory' \| 'none'>` | optional (default: `"none"`) | Fallback strategy when datasource is unavailable |
243243
| **rootDir** | `string` | optional | Root directory path |
244244
| **formats** | `Enum<'yaml' \| 'json' \| 'typescript' \| 'javascript'>[]` | optional (default: `["typescript","json","yaml"]`) | Enabled formats |
245-
| **cache** | `{ enabled: boolean; ttl: integer; maxSize?: integer; databaseLoader?: object }` | optional | Cache settings |
245+
| **cache** | `{ enabled: boolean; ttlSeconds: integer; maxSize?: integer; databaseLoader?: object }` | optional | Cache settings |
246246
| **watch** | `boolean` | optional (default: `false`) | Enable file watching |
247247
| **watchOptions** | `{ ignored?: string[]; persistent: boolean; ignoreInitial: boolean }` | optional | File watcher options |
248248
| **validation** | `{ strict: boolean; throwOnError: boolean }` | optional | Validation settings |
@@ -254,9 +254,10 @@ Metadata file format
254254
| Property | Type | Required | Description |
255255
| :--- | :--- | :--- | :--- |
256256
| **enabled** | `boolean` | optional (default: `true`) | Enable caching |
257-
| **ttl** | `integer` | optional (default: `3600`) | Cache TTL in seconds |
257+
| **ttlSeconds** | `integer` | optional (default: `3600`) | Cache TTL in seconds |
258+
| **ttl** | `never` | optional | [REMOVED] `cache.ttl` was removed from `MetadataManagerConfig` in @objectstack/spec 17 (#14478) — its unit (seconds) lived only in the description, while the nested `cache.databaseLoader.ttl` spelled the same word in milliseconds, so one key name meant two magnitudes 1000× apart. Rename the key to `ttlSeconds`; the value (seconds) is unchanged. |
258259
| **maxSize** | `integer` | optional | Max cache size in bytes |
259-
| **databaseLoader** | `{ enabled: boolean; maxSize: integer; ttl: integer }` | optional | DatabaseLoader read-through cache |
260+
| **databaseLoader** | `{ enabled: boolean; maxSize: integer; ttlMs: integer }` | optional | DatabaseLoader read-through cache |
260261

261262
### Nested Shape: `MetadataManagerConfig.watchOptions`
262263

content/docs/references/system/tenant.mdx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ const result = DatabaseLevelIsolationStrategySchema.parse(data);
4040
| :--- | :--- | :--- | :--- |
4141
| **strategy** | `'isolated_db'` || Database-level isolation strategy |
4242
| **database** | `{ namingPattern: string; serverStrategy: Enum<'shared' \| 'sharded' \| 'dedicated'>; separateCredentials: boolean; autoCreateDatabase: boolean }` | optional | Database configuration |
43-
| **connectionPool** | `{ poolSize: integer; maxActivePools: integer; idleTimeout: integer; usePooler: boolean }` | optional | Connection pool configuration |
43+
| **connectionPool** | `{ poolSize: integer; maxActivePools: integer; idleTimeoutSeconds: integer; usePooler: boolean }` | optional | Connection pool configuration |
4444
| **backup** | `{ strategy: Enum<'individual' \| 'consolidated' \| 'on_demand'>; frequencyHours: integer; retentionDays: integer }` | optional | Backup configuration |
4545
| **encryption** | `{ perTenantKeys: boolean; algorithm: string; keyManagement?: Enum<'aws_kms' \| 'azure_key_vault' \| 'gcp_kms' \| 'hashicorp_vault' \| 'custom'> }` | optional | Encryption configuration |
4646

@@ -59,7 +59,8 @@ const result = DatabaseLevelIsolationStrategySchema.parse(data);
5959
| :--- | :--- | :--- | :--- |
6060
| **poolSize** | `integer` | optional (default: `10`) | Connection pool size |
6161
| **maxActivePools** | `integer` | optional (default: `100`) | Max active pools |
62-
| **idleTimeout** | `integer` | optional (default: `300`) | Idle pool timeout |
62+
| **idleTimeoutSeconds** | `integer` | optional (default: `300`) | Idle pool timeout in seconds |
63+
| **idleTimeout** | `never` | optional | [REMOVED] `connectionPool.idleTimeout` was removed from `DatabaseLevelIsolationStrategy` in @objectstack/spec 17 (#14478) — its unit (seconds) lived in a source comment only and the published description named none, so a reader of the reference page could not tell 300 seconds from 300 milliseconds. Rename the key to `idleTimeoutSeconds`; the value (seconds) is unchanged. |
6364
| **usePooler** | `boolean` | optional (default: `true`) | Use connection pooler |
6465

6566
### Nested Shape: `DatabaseLevelIsolationStrategy.backup`
@@ -313,7 +314,7 @@ This schema accepts one of the following structures:
313314
| :--- | :--- | :--- | :--- |
314315
| **strategy** | `'isolated_db'` || Database-level isolation strategy |
315316
| **database** | `{ namingPattern: string; serverStrategy: Enum<'shared' \| 'sharded' \| 'dedicated'>; separateCredentials: boolean; autoCreateDatabase: boolean }` | optional | Database configuration |
316-
| **connectionPool** | `{ poolSize: integer; maxActivePools: integer; idleTimeout: integer; usePooler: boolean }` | optional | Connection pool configuration |
317+
| **connectionPool** | `{ poolSize: integer; maxActivePools: integer; idleTimeoutSeconds: integer; usePooler: boolean }` | optional | Connection pool configuration |
317318
| **backup** | `{ strategy: Enum<'individual' \| 'consolidated' \| 'on_demand'>; frequencyHours: integer; retentionDays: integer }` | optional | Backup configuration |
318319
| **encryption** | `{ perTenantKeys: boolean; algorithm: string; keyManagement?: Enum<'aws_kms' \| 'azure_key_vault' \| 'gcp_kms' \| 'hashicorp_vault' \| 'custom'> }` | optional | Encryption configuration |
319320

@@ -332,7 +333,8 @@ This schema accepts one of the following structures:
332333
| :--- | :--- | :--- | :--- |
333334
| **poolSize** | `integer` | optional (default: `10`) | Connection pool size |
334335
| **maxActivePools** | `integer` | optional (default: `100`) | Max active pools |
335-
| **idleTimeout** | `integer` | optional (default: `300`) | Idle pool timeout |
336+
| **idleTimeoutSeconds** | `integer` | optional (default: `300`) | Idle pool timeout in seconds |
337+
| **idleTimeout** | `never` | optional | [REMOVED] `connectionPool.idleTimeout` was removed from `DatabaseLevelIsolationStrategy` in @objectstack/spec 17 (#14478) — its unit (seconds) lived in a source comment only and the published description named none, so a reader of the reference page could not tell 300 seconds from 300 milliseconds. Rename the key to `idleTimeoutSeconds`; the value (seconds) is unchanged. |
336338
| **usePooler** | `boolean` | optional (default: `true`) | Use connection pooler |
337339

338340
### Nested Shape: `TenantIsolationConfig[strategy='isolated_db'].backup`
@@ -391,7 +393,7 @@ This schema accepts one of the following structures:
391393
| Property | Type | Required | Description |
392394
| :--- | :--- | :--- | :--- |
393395
| **encryption** | `{ atRest: boolean; inTransit: boolean; fieldLevel: boolean }` | optional | Encryption requirements |
394-
| **accessControl** | `{ requireMFA: boolean; requireSSO: boolean; ipWhitelist?: string[]; sessionTimeout: integer }` | optional | Access control requirements |
396+
| **accessControl** | `{ requireMFA: boolean; requireSSO: boolean; ipWhitelist?: string[]; sessionTimeoutSeconds: integer }` | optional | Access control requirements |
395397
| **compliance** | `{ standards?: Enum<'sox' \| 'hipaa' \| 'gdpr' \| 'pci_dss' \| 'iso_27001' \| 'fedramp'>[]; requireAuditLog: boolean; auditRetentionDays: integer; dataResidency?: object }` | optional | Compliance requirements |
396398

397399
### Nested Shape: `TenantSecurityPolicy.encryption`
@@ -409,7 +411,8 @@ This schema accepts one of the following structures:
409411
| **requireMFA** | `boolean` | optional (default: `false`) | Require MFA |
410412
| **requireSSO** | `boolean` | optional (default: `false`) | Require SSO |
411413
| **ipWhitelist** | `string[]` | optional | Allowed IP addresses |
412-
| **sessionTimeout** | `integer` | optional (default: `3600`) | Session timeout |
414+
| **sessionTimeoutSeconds** | `integer` | optional (default: `3600`) | Session timeout in seconds |
415+
| **sessionTimeout** | `never` | optional | [REMOVED] `accessControl.sessionTimeout` was removed from `TenantSecurityPolicy` in @objectstack/spec 17 (#14478) — its unit (seconds) lived in a source comment only and the published description named none, so a reader of the reference page could not tell 3600 seconds from 3600 milliseconds. Rename the key to `sessionTimeoutSeconds`; the value (seconds) is unchanged. |
413416

414417
### Nested Shape: `TenantSecurityPolicy.compliance`
415418

packages/platform-objects/src/apps/translations/en.metadata-forms.generated.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,8 @@ export const enMetadataForms: NonNullable<TranslationData['metadataForms']> = {
547547
onError: {
548548
label: "On Error"
549549
},
550-
timeout: {
551-
label: "Timeout",
550+
timeoutMs: {
551+
label: "Timeout Ms",
552552
helpText: "Abort the hook after N milliseconds"
553553
},
554554
runAs: {

packages/platform-objects/src/apps/translations/es-ES.metadata-forms.generated.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,8 @@ export const esESMetadataForms: NonNullable<TranslationData['metadataForms']> =
547547
onError: {
548548
label: "Al error"
549549
},
550-
timeout: {
551-
label: "Timeout",
550+
timeoutMs: {
551+
label: "Timeout Ms",
552552
helpText: "Abort the hook after N milliseconds"
553553
},
554554
runAs: {

packages/platform-objects/src/apps/translations/es-ES.source-hashes.generated.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ export const esESGeneratedSourceHashes: Readonly<Record<string, string>> = {
8585
"metadataForms.hook.fields.retryPolicy.label": "7ec5dad15f687f05",
8686
"metadataForms.hook.fields.retryPolicy.maxRetries.helpText": "f7e133cfc5e64240",
8787
"metadataForms.hook.fields.retryPolicy.maxRetries.label": "422d764e2265642c",
88-
"metadataForms.hook.fields.timeout.helpText": "31e114f26389aec7",
89-
"metadataForms.hook.fields.timeout.label": "4e36a2d29b385090",
88+
"metadataForms.hook.fields.timeoutMs.helpText": "31e114f26389aec7",
89+
"metadataForms.hook.fields.timeoutMs.label": "2b887c62238d3532",
9090
"metadataForms.mapping.description": "654a322ed6e264bb",
9191
"metadataForms.mapping.label": "9baba989f46cd1e8",
9292
"metadataForms.object.fields.enable.activities.label": "1091422f7f3133d3",

packages/platform-objects/src/apps/translations/ja-JP.metadata-forms.generated.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,8 @@ export const jaJPMetadataForms: NonNullable<TranslationData['metadataForms']> =
547547
onError: {
548548
label: "エラー時"
549549
},
550-
timeout: {
551-
label: "Timeout",
550+
timeoutMs: {
551+
label: "Timeout Ms",
552552
helpText: "Abort the hook after N milliseconds"
553553
},
554554
runAs: {

0 commit comments

Comments
 (0)