Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 2 additions & 14 deletions content/docs/references/data/object.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ description: Object protocol schemas
## TypeScript Usage

```typescript
import { IndexSchema, ObjectSchema, ObjectCapabilitiesSchema, SearchConfigSchema } from '@objectstack/spec/data';
import type { Index, Object, ObjectCapabilities, SearchConfig } from '@objectstack/spec/data';
import { IndexSchema, ObjectSchema, ObjectCapabilitiesSchema } from '@objectstack/spec/data';
import type { Index, Object, ObjectCapabilities } from '@objectstack/spec/data';

// Validate data
const result = IndexSchema.parse(data);
Expand Down Expand Up @@ -78,15 +78,3 @@ const result = IndexSchema.parse(data);
| **mru** | `boolean` | optional | Track Most Recently Used (MRU) list for users |
| **clone** | `boolean` | optional | Allow record deep cloning |

---

## SearchConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **fields** | `string[]` | ✅ | Fields to index for full-text search weighting |
| **displayFields** | `string[]` | optional | Fields to display in search result cards |
| **filters** | `string[]` | optional | Default filters for search results |

33 changes: 33 additions & 0 deletions content/docs/references/data/search-engine.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: Search Engine
description: Search Engine protocol schemas
---

# Search Engine

<Callout type="info">
**Source:** `packages/spec/src/data/search-engine.zod.ts`

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This documentation file references a non-existent source file. The file claims to document packages/spec/src/data/search-engine.zod.ts, but this file does not exist in the data layer.

The SearchConfigSchema is actually defined in packages/spec/src/data/object.zod.ts and is part of the Object protocol. This documentation file should either:

  1. Be removed entirely (since SearchConfig is documented in object.mdx), or
  2. Reference the correct source file (packages/spec/src/data/object.zod.ts)
Suggested change
**Source:** `packages/spec/src/data/search-engine.zod.ts`
**Source:** `packages/spec/src/data/object.zod.ts`

Copilot uses AI. Check for mistakes.
</Callout>

## TypeScript Usage

```typescript
import { SearchConfigSchema } from '@objectstack/spec/data';
import type { SearchConfig } from '@objectstack/spec/data';

// Validate data
const result = SearchConfigSchema.parse(data);
```

---

## SearchConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **fields** | `string[]` | ✅ | Fields to index for full-text search weighting |
| **displayFields** | `string[]` | optional | Fields to display in search result cards |
| **filters** | `string[]` | optional | Default filters for search results |

Comment on lines +1 to +33

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This documentation file should not exist in the data layer. The SearchConfig it documents is part of the Object protocol and is already documented in object.mdx. Additionally, this file references a non-existent source file (packages/spec/src/data/search-engine.zod.ts) and is not registered in the data layer's meta.json navigation file.

This file should be removed entirely. The object-level SearchConfig is already properly documented in the Object protocol documentation.

Suggested change
---
title: Search Engine
description: Search Engine protocol schemas
---
# Search Engine
<Callout type="info">
**Source:** `packages/spec/src/data/search-engine.zod.ts`
</Callout>
## TypeScript Usage
```typescript
import { SearchConfigSchema } from '@objectstack/spec/data';
import type { SearchConfig } from '@objectstack/spec/data';
// Validate data
const result = SearchConfigSchema.parse(data);
```
---
## SearchConfig
### Properties
| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **fields** | `string[]` | ✅ | Fields to index for full-text search weighting |
| **displayFields** | `string[]` | optional | Fields to display in search result cards |
| **filters** | `string[]` | optional | Default filters for search results |

Copilot uses AI. Check for mistakes.
61 changes: 61 additions & 0 deletions content/docs/references/integration/message-queue.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: Message Queue
description: Message Queue protocol schemas
---

# Message Queue

<Callout type="info">
**Source:** `packages/spec/src/integration/message-queue.zod.ts`
</Callout>

## TypeScript Usage

```typescript
import { ConsumerConfigSchema, MessageQueueProviderSchema } from '@objectstack/spec/integration';
import type { ConsumerConfig, MessageQueueProvider } from '@objectstack/spec/integration';

// Validate data
const result = ConsumerConfigSchema.parse(data);
```

---

## ConsumerConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | optional | Enable consumer |
| **consumerGroup** | `string` | optional | Consumer group ID |
| **concurrency** | `number` | optional | Number of concurrent consumers |
| **prefetchCount** | `number` | optional | Prefetch count |
| **ackMode** | `Enum<'auto' \| 'manual' \| 'client'>` | optional | Message acknowledgment mode |
| **autoCommit** | `boolean` | optional | Auto-commit offsets |
| **autoCommitIntervalMs** | `number` | optional | Auto-commit interval in ms |
| **sessionTimeoutMs** | `number` | optional | Session timeout in ms |
| **rebalanceTimeoutMs** | `number` | optional | Rebalance timeout in ms |

---

## MessageQueueProvider

Message queue provider type

### Allowed Values

* `rabbitmq`
* `kafka`
* `redis_pubsub`
* `redis_streams`
* `aws_sqs`
* `aws_sns`
* `google_pubsub`
* `azure_service_bus`
* `azure_event_hubs`
* `nats`
* `pulsar`
* `activemq`
* `custom`

44 changes: 2 additions & 42 deletions content/docs/references/integration/misc.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ description: Misc protocol schemas
## TypeScript Usage

```typescript
import { AckModeSchema, ApiVersionConfigSchema, CdcConfigSchema, ConsumerConfigSchema, DatabaseConnectorSchema, DatabasePoolConfigSchema, DatabaseProviderSchema, DatabaseTableSchema, DeliveryGuaranteeSchema, DlqConfigSchema, FileAccessPatternSchema, FileFilterConfigSchema, FileMetadataConfigSchema, FileStorageConnectorSchema, FileStorageProviderSchema, FileVersioningConfigSchema, MessageFormatSchema, MessageQueueConnectorSchema, MessageQueueProviderSchema, ProducerConfigSchema, SaasConnectorSchema, SaasObjectTypeSchema, SaasProviderSchema, SslConfigSchema, StorageBucketSchema, TopicQueueSchema } from '@objectstack/spec/integration';
import type { AckMode, ApiVersionConfig, CdcConfig, ConsumerConfig, DatabaseConnector, DatabasePoolConfig, DatabaseProvider, DatabaseTable, DeliveryGuarantee, DlqConfig, FileAccessPattern, FileFilterConfig, FileMetadataConfig, FileStorageConnector, FileStorageProvider, FileVersioningConfig, MessageFormat, MessageQueueConnector, MessageQueueProvider, ProducerConfig, SaasConnector, SaasObjectType, SaasProvider, SslConfig, StorageBucket, TopicQueue } from '@objectstack/spec/integration';
import { AckModeSchema, ApiVersionConfigSchema, CdcConfigSchema, DatabaseConnectorSchema, DatabasePoolConfigSchema, DatabaseProviderSchema, DatabaseTableSchema, DeliveryGuaranteeSchema, DlqConfigSchema, FileAccessPatternSchema, FileFilterConfigSchema, FileMetadataConfigSchema, FileStorageConnectorSchema, FileStorageProviderSchema, FileVersioningConfigSchema, MessageFormatSchema, MessageQueueConnectorSchema, ProducerConfigSchema, SaasConnectorSchema, SaasObjectTypeSchema, SaasProviderSchema, SslConfigSchema, StorageBucketSchema, TopicQueueSchema } from '@objectstack/spec/integration';
import type { AckMode, ApiVersionConfig, CdcConfig, DatabaseConnector, DatabasePoolConfig, DatabaseProvider, DatabaseTable, DeliveryGuarantee, DlqConfig, FileAccessPattern, FileFilterConfig, FileMetadataConfig, FileStorageConnector, FileStorageProvider, FileVersioningConfig, MessageFormat, MessageQueueConnector, ProducerConfig, SaasConnector, SaasObjectType, SaasProvider, SslConfig, StorageBucket, TopicQueue } from '@objectstack/spec/integration';

// Validate data
const result = AckModeSchema.parse(data);
Expand Down Expand Up @@ -62,24 +62,6 @@ Message acknowledgment mode

---

## ConsumerConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | optional | Enable consumer |
| **consumerGroup** | `string` | optional | Consumer group ID |
| **concurrency** | `number` | optional | Number of concurrent consumers |
| **prefetchCount** | `number` | optional | Prefetch count |
| **ackMode** | `Enum<'auto' \| 'manual' \| 'client'>` | optional | Message acknowledgment mode |
| **autoCommit** | `boolean` | optional | Auto-commit offsets |
| **autoCommitIntervalMs** | `number` | optional | Auto-commit interval in ms |
| **sessionTimeoutMs** | `number` | optional | Session timeout in ms |
| **rebalanceTimeoutMs** | `number` | optional | Rebalance timeout in ms |

---

## DatabaseConnector

### Properties
Expand Down Expand Up @@ -352,28 +334,6 @@ Message format/serialization

---

## MessageQueueProvider

Message queue provider type

### Allowed Values

* `rabbitmq`
* `kafka`
* `redis_pubsub`
* `redis_streams`
* `aws_sqs`
* `aws_sns`
* `google_pubsub`
* `azure_service_bus`
* `azure_event_hubs`
* `nats`
* `pulsar`
* `activemq`
* `custom`

---

## ProducerConfig

### Properties
Expand Down
76 changes: 76 additions & 0 deletions content/docs/references/system/cache.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
title: Cache
description: Cache protocol schemas
---

# Cache

<Callout type="info">
**Source:** `packages/spec/src/system/cache.zod.ts`
</Callout>

## TypeScript Usage

```typescript
import { CacheConfigSchema, CacheInvalidationSchema, CacheStrategySchema, CacheTierSchema } from '@objectstack/spec/system';
import type { CacheConfig, CacheInvalidation, CacheStrategy, CacheTier } from '@objectstack/spec/system';

// Validate data
const result = CacheConfigSchema.parse(data);
```

---

## CacheConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | optional | |
| **tiers** | `object[]` | ✅ | |
| **invalidation** | `object[]` | ✅ | |
| **prefetch** | `boolean` | optional | |
| **compression** | `boolean` | optional | |
| **encryption** | `boolean` | optional | |

---

## CacheInvalidation

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **trigger** | `Enum<'create' \| 'update' \| 'delete' \| 'manual'>` | ✅ | |
| **scope** | `Enum<'key' \| 'pattern' \| 'tag' \| 'all'>` | ✅ | |
| **pattern** | `string` | optional | |
| **tags** | `string[]` | optional | |

---

## CacheStrategy

### Allowed Values

* `lru`
* `lfu`
* `fifo`
* `ttl`
* `adaptive`

---

## CacheTier

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **name** | `string` | ✅ | |
| **type** | `Enum<'memory' \| 'redis' \| 'memcached' \| 'cdn'>` | ✅ | |
| **maxSize** | `number` | optional | Max size in MB |
| **ttl** | `number` | optional | Default TTL in seconds |
| **strategy** | `Enum<'lru' \| 'lfu' \| 'fifo' \| 'ttl' \| 'adaptive'>` | optional | |
| **warmup** | `boolean` | optional | |

90 changes: 90 additions & 0 deletions content/docs/references/system/compliance.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
title: Compliance
description: Compliance protocol schemas
---

# Compliance

<Callout type="info">
**Source:** `packages/spec/src/system/compliance.zod.ts`
</Callout>

## TypeScript Usage

```typescript
import { AuditLogConfigSchema, ComplianceConfigSchema, GDPRConfigSchema, HIPAAConfigSchema, PCIDSSConfigSchema } from '@objectstack/spec/system';
import type { AuditLogConfig, ComplianceConfig, GDPRConfig, HIPAAConfig, PCIDSSConfig } from '@objectstack/spec/system';

// Validate data
const result = AuditLogConfigSchema.parse(data);
```

---

## AuditLogConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | optional | |
| **retentionDays** | `number` | optional | |
| **immutable** | `boolean` | optional | |
| **signLogs** | `boolean` | optional | |
| **events** | `Enum<'create' \| 'read' \| 'update' \| 'delete' \| 'export' \| 'permission-change' \| 'login' \| 'logout' \| 'failed-login'>[]` | ✅ | |

---

## ComplianceConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **gdpr** | `object` | optional | |
| **hipaa** | `object` | optional | |
| **pciDss** | `object` | optional | |
| **auditLog** | `object` | ✅ | |

---

## GDPRConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | ✅ | |
| **dataSubjectRights** | `object` | ✅ | |
| **legalBasis** | `Enum<'consent' \| 'contract' \| 'legal-obligation' \| 'vital-interests' \| 'public-task' \| 'legitimate-interests'>` | ✅ | |
| **consentTracking** | `boolean` | optional | |
| **dataRetentionDays** | `number` | optional | |
| **dataProcessingAgreement** | `string` | optional | |

---

## HIPAAConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | ✅ | |
| **phi** | `object` | ✅ | |
| **businessAssociateAgreement** | `boolean` | optional | |

---

## PCIDSSConfig

### Properties

| Property | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| **enabled** | `boolean` | ✅ | |
| **level** | `Enum<'1' \| '2' \| '3' \| '4'>` | ✅ | |
| **cardDataFields** | `string[]` | ✅ | |
| **tokenization** | `boolean` | optional | |
| **encryptionInTransit** | `boolean` | optional | |
| **encryptionAtRest** | `boolean` | optional | |

Loading
Loading