Skip to content

Commit b01fc36

Browse files
committed
fix: update schema definitions to enforce string keys for record types
1 parent aba0643 commit b01fc36

4 files changed

Lines changed: 19 additions & 19 deletions

File tree

.github/prompts/ai-protocol.prompt.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export const AgentSchema = z.object({
4747
type: z.enum(['action', 'flow', 'query', 'vector_search', 'api', 'function']),
4848
name: z.string().describe('Tool reference name'),
4949
description: z.string().optional().describe('Override description for LLM'),
50-
parameters: z.record(z.any()).optional(),
50+
parameters: z.record(z.string(), z.any()).optional(),
5151
})).optional(),
5252

5353
// Knowledge
@@ -105,7 +105,7 @@ export const AIToolSchema = z.discriminatedUnion('type', [
105105
name: z.string(),
106106
description: z.string(),
107107
actionName: z.string().describe('Reference to Action definition'),
108-
parameters: z.record(z.any()).optional(),
108+
parameters: z.record(z.string(), z.any()).optional(),
109109
}),
110110

111111
// Flow tool
@@ -114,7 +114,7 @@ export const AIToolSchema = z.discriminatedUnion('type', [
114114
name: z.string(),
115115
description: z.string(),
116116
flowName: z.string().describe('Reference to Flow definition'),
117-
inputs: z.record(z.any()).optional(),
117+
inputs: z.record(z.string(), z.any()).optional(),
118118
}),
119119

120120
// Query tool
@@ -226,7 +226,7 @@ export const KnowledgeBaseSchema = z.object({
226226
vectorStore: z.object({
227227
type: z.enum(['memory', 'pinecone', 'qdrant', 'weaviate', 'chroma']),
228228
index: z.string(),
229-
config: z.record(z.any()).optional(),
229+
config: z.record(z.string(), z.any()).optional(),
230230
}),
231231

232232
// Metadata
@@ -260,7 +260,7 @@ export const ConversationMessageSchema = z.object({
260260
id: z.string(),
261261
type: z.string(),
262262
name: z.string(),
263-
arguments: z.record(z.any()),
263+
arguments: z.record(z.string(), z.any()),
264264
result: z.any().optional(),
265265
})).optional(),
266266

@@ -287,7 +287,7 @@ export const ConversationSchema = z.object({
287287
messages: z.array(ConversationMessageSchema),
288288

289289
// Context
290-
context: z.record(z.any()).optional().describe('Conversation-specific context'),
290+
context: z.record(z.string(), z.any()).optional().describe('Conversation-specific context'),
291291
summary: z.string().optional().describe('Conversation summary'),
292292

293293
// Status
@@ -339,7 +339,7 @@ export const PromptTemplateSchema = z.object({
339339
// Examples
340340
examples: z.array(z.object({
341341
title: z.string(),
342-
input: z.record(z.any()),
342+
input: z.record(z.string(), z.any()),
343343
expectedOutput: z.string().optional(),
344344
})).optional(),
345345

.github/prompts/api-protocol.prompt.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,20 +59,20 @@ export const ListResponseSchema = SuccessResponseSchema.extend({
5959

6060
// Record response
6161
export const RecordResponseSchema = SuccessResponseSchema.extend({
62-
data: z.record(z.any()),
62+
data: z.record(z.string(), z.any()),
6363
});
6464

6565
// Bulk operation response
6666
export const BulkResponseSchema = SuccessResponseSchema.extend({
6767
data: z.object({
6868
success: z.array(z.object({
6969
id: z.string(),
70-
record: z.record(z.any()),
70+
record: z.record(z.string(), z.any()),
7171
})),
7272
failed: z.array(z.object({
7373
index: z.number(),
7474
error: z.string(),
75-
data: z.record(z.any()).optional(),
75+
data: z.record(z.string(), z.any()).optional(),
7676
})),
7777
}),
7878
meta: z.object({
@@ -90,7 +90,7 @@ Define standard request payloads.
9090
```typescript
9191
// Create request
9292
export const CreateRequestSchema = z.object({
93-
data: z.record(z.any()).describe('Field values'),
93+
data: z.record(z.string(), z.any()).describe('Field values'),
9494
options: z.object({
9595
returnRecord: z.boolean().default(true),
9696
validate: z.boolean().default(true),
@@ -101,7 +101,7 @@ export const CreateRequestSchema = z.object({
101101
// Update request
102102
export const UpdateRequestSchema = z.object({
103103
id: z.string(),
104-
data: z.record(z.any()).describe('Field values to update'),
104+
data: z.record(z.string(), z.any()).describe('Field values to update'),
105105
options: z.object({
106106
returnRecord: z.boolean().default(true),
107107
validate: z.boolean().default(true),
@@ -134,7 +134,7 @@ export const QueryRequestSchema = z.object({
134134

135135
// Bulk create request
136136
export const BulkCreateRequestSchema = z.object({
137-
records: z.array(z.record(z.any())),
137+
records: z.array(z.record(z.string(), z.any())),
138138
options: z.object({
139139
validate: z.boolean().default(true),
140140
triggers: z.boolean().default(true),
@@ -147,7 +147,7 @@ export const BulkCreateRequestSchema = z.object({
147147
export const BulkUpdateRequestSchema = z.object({
148148
updates: z.array(z.object({
149149
id: z.string(),
150-
data: z.record(z.any()),
150+
data: z.record(z.string(), z.any()),
151151
})),
152152
options: z.object({
153153
validate: z.boolean().default(true),
@@ -434,8 +434,8 @@ export const WebhookPayloadSchema = z.object({
434434

435435
// Data
436436
data: z.object({
437-
current: z.record(z.any()).describe('Current record state'),
438-
previous: z.record(z.any()).optional().describe('Previous state (for updates)'),
437+
current: z.record(z.string(), z.any()).describe('Current record state'),
438+
previous: z.record(z.string(), z.any()).optional().describe('Previous state (for updates)'),
439439
}),
440440

441441
// Context

.github/prompts/data-protocol.prompt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,8 +287,8 @@ Define the context passed to trigger functions.
287287
```typescript
288288
export const TriggerContextSchema = z.object({
289289
// Record data
290-
doc: z.record(z.any()).describe('Current record'),
291-
previousDoc: z.record(z.any()).optional().describe('Before update'),
290+
doc: z.record(z.string(), z.any()).describe('Current record'),
291+
previousDoc: z.record(z.string(), z.any()).optional().describe('Before update'),
292292

293293
// Metadata
294294
object: z.string(),

content/docs/developers/writing-plugins.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ import { z } from 'zod';
372372

373373
const WebhookPayloadSchema = z.object({
374374
event: z.enum(['account.created', 'account.updated']),
375-
data: z.record(z.any()),
375+
data: z.record(z.string(), z.any()),
376376
timestamp: z.string(),
377377
});
378378

0 commit comments

Comments
 (0)