@dremio/js-sdk 0.60.0 → 0.62.0
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/README.md +28 -1
- package/dist/cloud/ai/AIResource.d.ts +90 -0
- package/dist/cloud/projects/Project.d.ts +5 -0
- package/dist/cloud/projects/projectPropertiesCodec.d.ts +15 -0
- package/dist/cloud/projects/projectPropertiesCodec.js +6 -0
- package/dist/cloud/projects/projectPropertiesCodec.js.map +1 -1
- package/dist/enterprise/ai/AIResource.d.ts +90 -0
- package/dist/enterprise/ai/chat/chatEventSchema.d.ts +33 -0
- package/dist/enterprise/ai/chat/chatEventSchema.js +22 -0
- package/dist/enterprise/ai/chat/chatEventSchema.js.map +1 -1
- package/dist/enterprise/ai/conversations/AgentConversation.d.ts +30 -0
- package/dist/enterprise/ai/conversations/createConversationMachine.d.ts +90 -0
- package/dist/enterprise/ai/conversations/createConversationMachine.js +3 -2
- package/dist/enterprise/ai/conversations/createConversationMachine.js.map +1 -1
- package/dist/enterprise/ai/conversations/methods/retrieveConversationHistory.d.ts +15 -0
- package/dist/enterprise/ai/conversations/reduceChatEvents.d.ts +5 -1
- package/dist/enterprise/ai/conversations/reduceChatEvents.js +93 -0
- package/dist/enterprise/ai/conversations/reduceChatEvents.js.map +1 -1
- package/dist/enterprise/ai/index.d.ts +3 -3
- package/dist/enterprise/ai/index.js.map +1 -1
- package/dist-iife/cloud.js +181 -12
- package/dist-iife/enterprise.js +175 -12
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -409,6 +409,7 @@ The state of a conversation is represented as a stream of `ChatEvent` objects. T
|
|
|
409
409
|
- `toolResponse` - The result of a tool execution
|
|
410
410
|
- `error` - An error message
|
|
411
411
|
- `conversationUpdate` - Updates to conversation metadata (title, summary)
|
|
412
|
+
- `selectedSkills` - Metadata for saved Skills selected for the run
|
|
412
413
|
- `endOfStream` - Marks the end of a run's event stream
|
|
413
414
|
|
|
414
415
|
#### Building a Conversation Snapshot
|
|
@@ -428,6 +429,7 @@ function reduceChatEvents(
|
|
|
428
429
|
|
|
429
430
|
- **Groups events by exchange** - Each user-agent interaction (identified by `runId`) becomes a separate exchange
|
|
430
431
|
- **Pairs tool calls** - Tool requests and responses are matched by `callId` and combined into a single object
|
|
432
|
+
- **Preserves run metadata** - Run-level metadata such as selected saved Skills is attached to the exchange
|
|
431
433
|
- **Derives tool state** - Automatically determines if a tool call is `pending`, `success`, `error`, or `canceled`
|
|
432
434
|
- `pending` - Tool request received but no response yet
|
|
433
435
|
- `success` - Tool response received without error
|
|
@@ -457,8 +459,18 @@ Each exchange in the snapshot represents a single user-agent interaction:
|
|
|
457
459
|
type ConversationExchange = {
|
|
458
460
|
id: string; // The run ID
|
|
459
461
|
messages: Map<string, ConversationExchangeMessage>;
|
|
460
|
-
|
|
462
|
+
runMetadata?: ConversationExchangeRunMetadata;
|
|
461
463
|
submittedUserMessage?: UserChatMessage;
|
|
464
|
+
toolCalls: Map<string, AgentToolCall>;
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
type ConversationExchangeRunMetadata = {
|
|
468
|
+
selectedSkills?: SelectedSkillInfo[];
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
type SelectedSkillInfo = {
|
|
472
|
+
id: string;
|
|
473
|
+
name: string;
|
|
462
474
|
};
|
|
463
475
|
|
|
464
476
|
type ConversationExchangeMessage =
|
|
@@ -489,6 +501,10 @@ type ChatEvent = {
|
|
|
489
501
|
| { chunkType: "endOfStream" }
|
|
490
502
|
| { chunkType: "error"; message: string }
|
|
491
503
|
| { chunkType: "model"; name: string; result: Record<string, unknown> }
|
|
504
|
+
| {
|
|
505
|
+
chunkType: "selectedSkills";
|
|
506
|
+
selectedSkills: { id: string; name: string }[];
|
|
507
|
+
}
|
|
492
508
|
| { chunkType: "sandboxProgress"; stepName: string; text: string }
|
|
493
509
|
| {
|
|
494
510
|
chunkType: "sandboxStdout";
|
|
@@ -519,6 +535,17 @@ type ChatEventWithChunkType<T extends ChatEvent["content"]["chunkType"]> =
|
|
|
519
535
|
Extract<ChatEvent, { content: { chunkType: T } }>;
|
|
520
536
|
```
|
|
521
537
|
|
|
538
|
+
Selected saved Skills are exposed as run metadata:
|
|
539
|
+
|
|
540
|
+
```typescript
|
|
541
|
+
const selectedSkills = exchange.runMetadata?.selectedSkills ?? [];
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
When additional events are reduced into an existing snapshot, `selectedSkills` is updated
|
|
545
|
+
from the newest `selectedSkills` event by `createdAt`. Equal timestamps use the event's
|
|
546
|
+
message position when available; otherwise they fall back to the order events are passed
|
|
547
|
+
to `reduceChatEvents` (later wins).
|
|
548
|
+
|
|
522
549
|
#### UI Rendering and React Reconciliation
|
|
523
550
|
|
|
524
551
|
The conversation snapshot produced by the reducer (and automatically managed by the `AgentConversationMachine`) is designed specifically for modern declarative UIs like React, Vue, Svelte, or Ink.
|
|
@@ -185,6 +185,21 @@ export declare class AIResource {
|
|
|
185
185
|
result: Record<string, unknown>;
|
|
186
186
|
};
|
|
187
187
|
role: "agent";
|
|
188
|
+
} | {
|
|
189
|
+
conversationId: string;
|
|
190
|
+
modelName: string;
|
|
191
|
+
modelProviderId: string;
|
|
192
|
+
runId: string;
|
|
193
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
194
|
+
id: string;
|
|
195
|
+
content: {
|
|
196
|
+
chunkType: "selectedSkills";
|
|
197
|
+
selectedSkills: {
|
|
198
|
+
id: string;
|
|
199
|
+
name: string;
|
|
200
|
+
}[];
|
|
201
|
+
};
|
|
202
|
+
role: "agent";
|
|
188
203
|
} | {
|
|
189
204
|
conversationId: string;
|
|
190
205
|
modelName: string;
|
|
@@ -347,6 +362,21 @@ export declare class AIResource {
|
|
|
347
362
|
result: Record<string, unknown>;
|
|
348
363
|
};
|
|
349
364
|
role: "agent";
|
|
365
|
+
} | {
|
|
366
|
+
conversationId: string;
|
|
367
|
+
modelName: string;
|
|
368
|
+
modelProviderId: string;
|
|
369
|
+
runId: string;
|
|
370
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
371
|
+
id: string;
|
|
372
|
+
content: {
|
|
373
|
+
chunkType: "selectedSkills";
|
|
374
|
+
selectedSkills: {
|
|
375
|
+
id: string;
|
|
376
|
+
name: string;
|
|
377
|
+
}[];
|
|
378
|
+
};
|
|
379
|
+
role: "agent";
|
|
350
380
|
} | {
|
|
351
381
|
conversationId: string;
|
|
352
382
|
modelName: string;
|
|
@@ -516,6 +546,21 @@ export declare class AIResource {
|
|
|
516
546
|
result: Record<string, unknown>;
|
|
517
547
|
};
|
|
518
548
|
role: "agent";
|
|
549
|
+
} | {
|
|
550
|
+
conversationId: string;
|
|
551
|
+
modelName: string;
|
|
552
|
+
modelProviderId: string;
|
|
553
|
+
runId: string;
|
|
554
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
555
|
+
id: string;
|
|
556
|
+
content: {
|
|
557
|
+
chunkType: "selectedSkills";
|
|
558
|
+
selectedSkills: {
|
|
559
|
+
id: string;
|
|
560
|
+
name: string;
|
|
561
|
+
}[];
|
|
562
|
+
};
|
|
563
|
+
role: "agent";
|
|
519
564
|
} | {
|
|
520
565
|
conversationId: string;
|
|
521
566
|
modelName: string;
|
|
@@ -702,6 +747,21 @@ export declare class AIResource {
|
|
|
702
747
|
result: Record<string, unknown>;
|
|
703
748
|
};
|
|
704
749
|
role: "agent";
|
|
750
|
+
} | {
|
|
751
|
+
conversationId: string;
|
|
752
|
+
modelName: string;
|
|
753
|
+
modelProviderId: string;
|
|
754
|
+
runId: string;
|
|
755
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
756
|
+
id: string;
|
|
757
|
+
content: {
|
|
758
|
+
chunkType: "selectedSkills";
|
|
759
|
+
selectedSkills: {
|
|
760
|
+
id: string;
|
|
761
|
+
name: string;
|
|
762
|
+
}[];
|
|
763
|
+
};
|
|
764
|
+
role: "agent";
|
|
705
765
|
} | {
|
|
706
766
|
conversationId: string;
|
|
707
767
|
modelName: string;
|
|
@@ -868,6 +928,21 @@ export declare class AIResource {
|
|
|
868
928
|
result: Record<string, unknown>;
|
|
869
929
|
};
|
|
870
930
|
role: "agent";
|
|
931
|
+
} | {
|
|
932
|
+
conversationId: string;
|
|
933
|
+
modelName: string;
|
|
934
|
+
modelProviderId: string;
|
|
935
|
+
runId: string;
|
|
936
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
937
|
+
id: string;
|
|
938
|
+
content: {
|
|
939
|
+
chunkType: "selectedSkills";
|
|
940
|
+
selectedSkills: {
|
|
941
|
+
id: string;
|
|
942
|
+
name: string;
|
|
943
|
+
}[];
|
|
944
|
+
};
|
|
945
|
+
role: "agent";
|
|
871
946
|
} | {
|
|
872
947
|
conversationId: string;
|
|
873
948
|
modelName: string;
|
|
@@ -1049,6 +1124,21 @@ export declare class AIResource {
|
|
|
1049
1124
|
result: Record<string, unknown>;
|
|
1050
1125
|
};
|
|
1051
1126
|
role: "agent";
|
|
1127
|
+
} | {
|
|
1128
|
+
conversationId: string;
|
|
1129
|
+
modelName: string;
|
|
1130
|
+
modelProviderId: string;
|
|
1131
|
+
runId: string;
|
|
1132
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
1133
|
+
id: string;
|
|
1134
|
+
content: {
|
|
1135
|
+
chunkType: "selectedSkills";
|
|
1136
|
+
selectedSkills: {
|
|
1137
|
+
id: string;
|
|
1138
|
+
name: string;
|
|
1139
|
+
}[];
|
|
1140
|
+
};
|
|
1141
|
+
role: "agent";
|
|
1052
1142
|
} | {
|
|
1053
1143
|
conversationId: string;
|
|
1054
1144
|
modelName: string;
|
|
@@ -50,6 +50,11 @@ export declare class Project implements ProjectInterface {
|
|
|
50
50
|
clientSecret: z.ZodMiniString<string>;
|
|
51
51
|
tenantId: z.ZodMiniString<string>;
|
|
52
52
|
type: z.ZodMiniLiteral<"AZURE_STORAGE_CLIENT_CREDENTIALS">;
|
|
53
|
+
}, z.core.$strip>, z.ZodMiniObject<{
|
|
54
|
+
clientId: z.ZodMiniString<string>;
|
|
55
|
+
storageAccountName: z.ZodMiniString<string>;
|
|
56
|
+
tenantId: z.ZodMiniString<string>;
|
|
57
|
+
type: z.ZodMiniLiteral<"AZURE_WORKLOAD_IDENTITY">;
|
|
53
58
|
}, z.core.$strip>], "type">>>;
|
|
54
59
|
name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
55
60
|
}, z.core.$strip>;
|
|
@@ -26,6 +26,11 @@ export declare const projectPropertiesCodec: z.ZodMiniCodec<z.ZodMiniObject<{
|
|
|
26
26
|
clientSecret: z.ZodMiniString<string>;
|
|
27
27
|
tenantId: z.ZodMiniString<string>;
|
|
28
28
|
type: z.ZodMiniLiteral<"AZURE_STORAGE_CLIENT_CREDENTIALS">;
|
|
29
|
+
}, z.core.$strip>, z.ZodMiniObject<{
|
|
30
|
+
clientId: z.ZodMiniString<string>;
|
|
31
|
+
storageAccountName: z.ZodMiniString<string>;
|
|
32
|
+
tenantId: z.ZodMiniString<string>;
|
|
33
|
+
type: z.ZodMiniLiteral<"AZURE_WORKLOAD_IDENTITY">;
|
|
29
34
|
}, z.core.$strip>], "type">>;
|
|
30
35
|
id: z.ZodMiniString<string>;
|
|
31
36
|
jdbcConnectionString: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -94,6 +99,11 @@ export declare const projectPropertiesCodec: z.ZodMiniCodec<z.ZodMiniObject<{
|
|
|
94
99
|
clientSecret: z.ZodMiniString<string>;
|
|
95
100
|
tenantId: z.ZodMiniString<string>;
|
|
96
101
|
type: z.ZodMiniLiteral<"AZURE_STORAGE_CLIENT_CREDENTIALS">;
|
|
102
|
+
}, z.core.$strip>, z.ZodMiniObject<{
|
|
103
|
+
clientId: z.ZodMiniString<string>;
|
|
104
|
+
storageAccountName: z.ZodMiniString<string>;
|
|
105
|
+
tenantId: z.ZodMiniString<string>;
|
|
106
|
+
type: z.ZodMiniLiteral<"AZURE_WORKLOAD_IDENTITY">;
|
|
97
107
|
}, z.core.$strip>], "type">>;
|
|
98
108
|
jdbcConnectionString: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
99
109
|
lastStateError: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
@@ -123,6 +133,11 @@ export declare const projectUpdateSchema: z.ZodMiniObject<{
|
|
|
123
133
|
clientSecret: z.ZodMiniString<string>;
|
|
124
134
|
tenantId: z.ZodMiniString<string>;
|
|
125
135
|
type: z.ZodMiniLiteral<"AZURE_STORAGE_CLIENT_CREDENTIALS">;
|
|
136
|
+
}, z.core.$strip>, z.ZodMiniObject<{
|
|
137
|
+
clientId: z.ZodMiniString<string>;
|
|
138
|
+
storageAccountName: z.ZodMiniString<string>;
|
|
139
|
+
tenantId: z.ZodMiniString<string>;
|
|
140
|
+
type: z.ZodMiniLiteral<"AZURE_WORKLOAD_IDENTITY">;
|
|
126
141
|
}, z.core.$strip>], "type">>>;
|
|
127
142
|
name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
128
143
|
}, z.core.$strip>;
|
|
@@ -40,6 +40,12 @@ const sharedProjectPropertiesInSchema = z.object({
|
|
|
40
40
|
tenantId: z.string(),
|
|
41
41
|
type: z.literal("AZURE_STORAGE_CLIENT_CREDENTIALS"),
|
|
42
42
|
}),
|
|
43
|
+
z.object({
|
|
44
|
+
clientId: z.string(),
|
|
45
|
+
storageAccountName: z.string(),
|
|
46
|
+
tenantId: z.string(),
|
|
47
|
+
type: z.literal("AZURE_WORKLOAD_IDENTITY"),
|
|
48
|
+
}),
|
|
43
49
|
])),
|
|
44
50
|
id: z.string(),
|
|
45
51
|
jdbcConnectionString: z.optional(z.string()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectPropertiesCodec.js","sourceRoot":"","sources":["../../../src/cloud/projects/projectPropertiesCodec.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as z from \"zod/mini\";\n\nconst sharedProjectPropertiesInSchema = z.object({\n catalog: z.optional(z.object({ storageLocation: z.string() })),\n cloudId: z.string(),\n cloudType: z.enum([\"AWS\", \"AZURE\"]),\n createdAt: z.string(),\n createdBy: z.string(),\n credentials: z.optional(\n z.discriminatedUnion(\"type\", [\n z.object({\n accessKeyId: z.string(),\n secretAccessKey: z.optional(z.string()),\n type: z.literal(\"ACCESS_KEY\"),\n }),\n z.object({\n externalId: z.string(),\n externalIdSignature: z.optional(z.string()),\n instanceProfileArn: z.optional(z.nullable(z.string())),\n roleArn: z.string(),\n type: z.literal(\"IAM_ROLE\"),\n }),\n z.object({\n accountName: z.string(),\n clientId: z.string(),\n clientSecret: z.string(),\n tenantId: z.string(),\n type: z.literal(\"AZURE_STORAGE_CLIENT_CREDENTIALS\"),\n }),\n ]),\n ),\n id: z.string(),\n jdbcConnectionString: z.optional(z.string()),\n lastStateError: z.optional(z.object({ error: z.string(), timestamp: z.number() })),\n modifiedAt: z.string(),\n modifiedBy: z.string(),\n name: z.string(),\n numberOfEngines: z.number().check(z.int(), z.minimum(0)),\n primaryCatalog: z.optional(z.string()),\n projectStore: z.optional(z.string()),\n state: z.enum([\n \"ACTIVATING\",\n \"ACTIVE\",\n \"ARCHIVED\",\n \"ARCHIVING\",\n \"CREATING\",\n \"DEACTIVATING\",\n \"INACTIVE\",\n \"RESTORING\",\n ]),\n type: z.enum([\"QUERY_ENGINE\"]),\n});\n\nexport const projectPropertiesCodec = z.codec(\n sharedProjectPropertiesInSchema,\n z.extend(z.omit(sharedProjectPropertiesInSchema, { createdAt: true, modifiedAt: true }), {\n createdAt: z.instanceof(Date),\n modifiedAt: z.instanceof(Date),\n }),\n {\n decode(v) {\n const { createdAt, modifiedAt, ...rest } = v;\n return {\n ...rest,\n createdAt: new Date(createdAt),\n modifiedAt: new Date(modifiedAt),\n };\n },\n encode(v) {\n const { createdAt, modifiedAt, ...rest } = v;\n return {\n ...rest,\n createdAt: createdAt.toString(),\n modifiedAt: modifiedAt.toString(),\n };\n },\n },\n);\n\nexport const projectUpdateSchema = z.partial(\n z.extend(z.pick(projectPropertiesCodec.def.in, { credentials: true }), {\n name: z.string().check(\n z.minLength(6, \"Project name must be at least 6 characters\"),\n z.maxLength(30, \"Project name must be at most 30 characters\"),\n z.regex(\n /^[a-z][a-z0-9-]*[a-z0-9]$/,\n \"Project name must start with a letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen\",\n ),\n z.superRefine((val, ctx) => {\n const foundWord = projectDisallowedWords.find((word) => val.includes(word));\n if (foundWord) {\n ctx.addIssue({\n code: \"custom\",\n input: val,\n message: `Project name cannot contain the word \"${foundWord}\"`,\n });\n }\n }),\n ),\n }),\n);\n\nconst projectDisallowedWords = [\n \"dremio\",\n \"ssl\",\n \"admin\",\n \"system\",\n \"null\",\n \"undefined\",\n \"static\",\n \"assets\",\n \"login\",\n \"logout\",\n] as const;\n"]}
|
|
1
|
+
{"version":3,"file":"projectPropertiesCodec.js","sourceRoot":"","sources":["../../../src/cloud/projects/projectPropertiesCodec.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport * as z from \"zod/mini\";\n\nconst sharedProjectPropertiesInSchema = z.object({\n catalog: z.optional(z.object({ storageLocation: z.string() })),\n cloudId: z.string(),\n cloudType: z.enum([\"AWS\", \"AZURE\"]),\n createdAt: z.string(),\n createdBy: z.string(),\n credentials: z.optional(\n z.discriminatedUnion(\"type\", [\n z.object({\n accessKeyId: z.string(),\n secretAccessKey: z.optional(z.string()),\n type: z.literal(\"ACCESS_KEY\"),\n }),\n z.object({\n externalId: z.string(),\n externalIdSignature: z.optional(z.string()),\n instanceProfileArn: z.optional(z.nullable(z.string())),\n roleArn: z.string(),\n type: z.literal(\"IAM_ROLE\"),\n }),\n z.object({\n accountName: z.string(),\n clientId: z.string(),\n clientSecret: z.string(),\n tenantId: z.string(),\n type: z.literal(\"AZURE_STORAGE_CLIENT_CREDENTIALS\"),\n }),\n z.object({\n clientId: z.string(),\n storageAccountName: z.string(),\n tenantId: z.string(),\n type: z.literal(\"AZURE_WORKLOAD_IDENTITY\"),\n }),\n ]),\n ),\n id: z.string(),\n jdbcConnectionString: z.optional(z.string()),\n lastStateError: z.optional(z.object({ error: z.string(), timestamp: z.number() })),\n modifiedAt: z.string(),\n modifiedBy: z.string(),\n name: z.string(),\n numberOfEngines: z.number().check(z.int(), z.minimum(0)),\n primaryCatalog: z.optional(z.string()),\n projectStore: z.optional(z.string()),\n state: z.enum([\n \"ACTIVATING\",\n \"ACTIVE\",\n \"ARCHIVED\",\n \"ARCHIVING\",\n \"CREATING\",\n \"DEACTIVATING\",\n \"INACTIVE\",\n \"RESTORING\",\n ]),\n type: z.enum([\"QUERY_ENGINE\"]),\n});\n\nexport const projectPropertiesCodec = z.codec(\n sharedProjectPropertiesInSchema,\n z.extend(z.omit(sharedProjectPropertiesInSchema, { createdAt: true, modifiedAt: true }), {\n createdAt: z.instanceof(Date),\n modifiedAt: z.instanceof(Date),\n }),\n {\n decode(v) {\n const { createdAt, modifiedAt, ...rest } = v;\n return {\n ...rest,\n createdAt: new Date(createdAt),\n modifiedAt: new Date(modifiedAt),\n };\n },\n encode(v) {\n const { createdAt, modifiedAt, ...rest } = v;\n return {\n ...rest,\n createdAt: createdAt.toString(),\n modifiedAt: modifiedAt.toString(),\n };\n },\n },\n);\n\nexport const projectUpdateSchema = z.partial(\n z.extend(z.pick(projectPropertiesCodec.def.in, { credentials: true }), {\n name: z.string().check(\n z.minLength(6, \"Project name must be at least 6 characters\"),\n z.maxLength(30, \"Project name must be at most 30 characters\"),\n z.regex(\n /^[a-z][a-z0-9-]*[a-z0-9]$/,\n \"Project name must start with a letter, contain only lowercase letters, numbers, and hyphens, and cannot end with a hyphen\",\n ),\n z.superRefine((val, ctx) => {\n const foundWord = projectDisallowedWords.find((word) => val.includes(word));\n if (foundWord) {\n ctx.addIssue({\n code: \"custom\",\n input: val,\n message: `Project name cannot contain the word \"${foundWord}\"`,\n });\n }\n }),\n ),\n }),\n);\n\nconst projectDisallowedWords = [\n \"dremio\",\n \"ssl\",\n \"admin\",\n \"system\",\n \"null\",\n \"undefined\",\n \"static\",\n \"assets\",\n \"login\",\n \"logout\",\n] as const;\n"]}
|
|
@@ -127,6 +127,21 @@ export declare class AIResource {
|
|
|
127
127
|
result: Record<string, unknown>;
|
|
128
128
|
};
|
|
129
129
|
role: "agent";
|
|
130
|
+
} | {
|
|
131
|
+
conversationId: string;
|
|
132
|
+
modelName: string;
|
|
133
|
+
modelProviderId: string;
|
|
134
|
+
runId: string;
|
|
135
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
136
|
+
id: string;
|
|
137
|
+
content: {
|
|
138
|
+
chunkType: "selectedSkills";
|
|
139
|
+
selectedSkills: {
|
|
140
|
+
id: string;
|
|
141
|
+
name: string;
|
|
142
|
+
}[];
|
|
143
|
+
};
|
|
144
|
+
role: "agent";
|
|
130
145
|
} | {
|
|
131
146
|
conversationId: string;
|
|
132
147
|
modelName: string;
|
|
@@ -289,6 +304,21 @@ export declare class AIResource {
|
|
|
289
304
|
result: Record<string, unknown>;
|
|
290
305
|
};
|
|
291
306
|
role: "agent";
|
|
307
|
+
} | {
|
|
308
|
+
conversationId: string;
|
|
309
|
+
modelName: string;
|
|
310
|
+
modelProviderId: string;
|
|
311
|
+
runId: string;
|
|
312
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
313
|
+
id: string;
|
|
314
|
+
content: {
|
|
315
|
+
chunkType: "selectedSkills";
|
|
316
|
+
selectedSkills: {
|
|
317
|
+
id: string;
|
|
318
|
+
name: string;
|
|
319
|
+
}[];
|
|
320
|
+
};
|
|
321
|
+
role: "agent";
|
|
292
322
|
} | {
|
|
293
323
|
conversationId: string;
|
|
294
324
|
modelName: string;
|
|
@@ -458,6 +488,21 @@ export declare class AIResource {
|
|
|
458
488
|
result: Record<string, unknown>;
|
|
459
489
|
};
|
|
460
490
|
role: "agent";
|
|
491
|
+
} | {
|
|
492
|
+
conversationId: string;
|
|
493
|
+
modelName: string;
|
|
494
|
+
modelProviderId: string;
|
|
495
|
+
runId: string;
|
|
496
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
497
|
+
id: string;
|
|
498
|
+
content: {
|
|
499
|
+
chunkType: "selectedSkills";
|
|
500
|
+
selectedSkills: {
|
|
501
|
+
id: string;
|
|
502
|
+
name: string;
|
|
503
|
+
}[];
|
|
504
|
+
};
|
|
505
|
+
role: "agent";
|
|
461
506
|
} | {
|
|
462
507
|
conversationId: string;
|
|
463
508
|
modelName: string;
|
|
@@ -644,6 +689,21 @@ export declare class AIResource {
|
|
|
644
689
|
result: Record<string, unknown>;
|
|
645
690
|
};
|
|
646
691
|
role: "agent";
|
|
692
|
+
} | {
|
|
693
|
+
conversationId: string;
|
|
694
|
+
modelName: string;
|
|
695
|
+
modelProviderId: string;
|
|
696
|
+
runId: string;
|
|
697
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
698
|
+
id: string;
|
|
699
|
+
content: {
|
|
700
|
+
chunkType: "selectedSkills";
|
|
701
|
+
selectedSkills: {
|
|
702
|
+
id: string;
|
|
703
|
+
name: string;
|
|
704
|
+
}[];
|
|
705
|
+
};
|
|
706
|
+
role: "agent";
|
|
647
707
|
} | {
|
|
648
708
|
conversationId: string;
|
|
649
709
|
modelName: string;
|
|
@@ -810,6 +870,21 @@ export declare class AIResource {
|
|
|
810
870
|
result: Record<string, unknown>;
|
|
811
871
|
};
|
|
812
872
|
role: "agent";
|
|
873
|
+
} | {
|
|
874
|
+
conversationId: string;
|
|
875
|
+
modelName: string;
|
|
876
|
+
modelProviderId: string;
|
|
877
|
+
runId: string;
|
|
878
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
879
|
+
id: string;
|
|
880
|
+
content: {
|
|
881
|
+
chunkType: "selectedSkills";
|
|
882
|
+
selectedSkills: {
|
|
883
|
+
id: string;
|
|
884
|
+
name: string;
|
|
885
|
+
}[];
|
|
886
|
+
};
|
|
887
|
+
role: "agent";
|
|
813
888
|
} | {
|
|
814
889
|
conversationId: string;
|
|
815
890
|
modelName: string;
|
|
@@ -991,6 +1066,21 @@ export declare class AIResource {
|
|
|
991
1066
|
result: Record<string, unknown>;
|
|
992
1067
|
};
|
|
993
1068
|
role: "agent";
|
|
1069
|
+
} | {
|
|
1070
|
+
conversationId: string;
|
|
1071
|
+
modelName: string;
|
|
1072
|
+
modelProviderId: string;
|
|
1073
|
+
runId: string;
|
|
1074
|
+
createdAt: import("temporal-polyfill").Temporal.Instant;
|
|
1075
|
+
id: string;
|
|
1076
|
+
content: {
|
|
1077
|
+
chunkType: "selectedSkills";
|
|
1078
|
+
selectedSkills: {
|
|
1079
|
+
id: string;
|
|
1080
|
+
name: string;
|
|
1081
|
+
}[];
|
|
1082
|
+
};
|
|
1083
|
+
role: "agent";
|
|
994
1084
|
} | {
|
|
995
1085
|
conversationId: string;
|
|
996
1086
|
modelName: string;
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Temporal } from "temporal-polyfill";
|
|
2
2
|
import * as z from "zod/mini";
|
|
3
|
+
declare const selectedSkillInfoSchema: z.ZodMiniObject<{
|
|
4
|
+
id: z.ZodMiniString<string>;
|
|
5
|
+
name: z.ZodMiniString<string>;
|
|
6
|
+
}, z.core.$strip>;
|
|
7
|
+
export type SelectedSkillInfo = z.infer<typeof selectedSkillInfoSchema>;
|
|
3
8
|
/**
|
|
4
9
|
* Captures all of the possible chunks of data that the Agent can reply
|
|
5
10
|
* with. We're lenient to extra/unexpected fields being present (`z.object`
|
|
@@ -109,6 +114,18 @@ export declare const chatEventCodec: z.ZodMiniCodec<z.ZodMiniDiscriminatedUnion<
|
|
|
109
114
|
modelName: z.ZodMiniString<string>;
|
|
110
115
|
modelProviderId: z.ZodMiniString<string>;
|
|
111
116
|
runId: z.ZodMiniString<string>;
|
|
117
|
+
}, z.core.$strip>, z.ZodMiniObject<{
|
|
118
|
+
chunkType: z.ZodMiniLiteral<"selectedSkills">;
|
|
119
|
+
selectedSkills: z.ZodMiniArray<z.ZodMiniObject<{
|
|
120
|
+
id: z.ZodMiniString<string>;
|
|
121
|
+
name: z.ZodMiniString<string>;
|
|
122
|
+
}, z.core.$strip>>;
|
|
123
|
+
conversationId: z.ZodMiniString<string>;
|
|
124
|
+
createdAt: z.ZodMiniString<string>;
|
|
125
|
+
messageId: z.ZodMiniString<string>;
|
|
126
|
+
modelName: z.ZodMiniString<string>;
|
|
127
|
+
modelProviderId: z.ZodMiniString<string>;
|
|
128
|
+
runId: z.ZodMiniString<string>;
|
|
112
129
|
}, z.core.$strip>, z.ZodMiniObject<{
|
|
113
130
|
chunkType: z.ZodMiniLiteral<"sandboxProgress">;
|
|
114
131
|
stepName: z.ZodMiniString<string>;
|
|
@@ -247,6 +264,21 @@ export declare const chatEventCodec: z.ZodMiniCodec<z.ZodMiniDiscriminatedUnion<
|
|
|
247
264
|
result: z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnknown>;
|
|
248
265
|
}, z.core.$strip>;
|
|
249
266
|
role: z.ZodMiniLiteral<"agent">;
|
|
267
|
+
}, z.core.$strict>, z.ZodMiniObject<{
|
|
268
|
+
conversationId: z.ZodMiniString<string>;
|
|
269
|
+
modelName: z.ZodMiniString<string>;
|
|
270
|
+
modelProviderId: z.ZodMiniString<string>;
|
|
271
|
+
runId: z.ZodMiniString<string>;
|
|
272
|
+
createdAt: z.ZodMiniCustom<Temporal.Instant, Temporal.Instant>;
|
|
273
|
+
id: z.ZodMiniString<string>;
|
|
274
|
+
content: z.ZodMiniObject<{
|
|
275
|
+
chunkType: z.ZodMiniLiteral<"selectedSkills">;
|
|
276
|
+
selectedSkills: z.ZodMiniArray<z.ZodMiniObject<{
|
|
277
|
+
id: z.ZodMiniString<string>;
|
|
278
|
+
name: z.ZodMiniString<string>;
|
|
279
|
+
}, z.core.$strip>>;
|
|
280
|
+
}, z.core.$strip>;
|
|
281
|
+
role: z.ZodMiniLiteral<"agent">;
|
|
250
282
|
}, z.core.$strict>, z.ZodMiniObject<{
|
|
251
283
|
conversationId: z.ZodMiniString<string>;
|
|
252
284
|
modelName: z.ZodMiniString<string>;
|
|
@@ -326,3 +358,4 @@ export type ChatEventWithChunkType<T extends z.input<typeof chatEventCodec>["chu
|
|
|
326
358
|
chunkType: T;
|
|
327
359
|
};
|
|
328
360
|
}>;
|
|
361
|
+
export {};
|
|
@@ -118,6 +118,14 @@ const jobUpdateChunkSchema = z.object({
|
|
|
118
118
|
toolExecutionId: z.string(),
|
|
119
119
|
toolName: z.string(),
|
|
120
120
|
});
|
|
121
|
+
const selectedSkillInfoSchema = z.object({
|
|
122
|
+
id: z.string(),
|
|
123
|
+
name: z.string(),
|
|
124
|
+
});
|
|
125
|
+
const selectedSkillsChunkSchema = z.object({
|
|
126
|
+
chunkType: z.literal("selectedSkills"),
|
|
127
|
+
selectedSkills: z.array(selectedSkillInfoSchema),
|
|
128
|
+
});
|
|
121
129
|
const userMessageChunkSchema = z.object({
|
|
122
130
|
chunkType: z.literal("userMessage"),
|
|
123
131
|
text: z.string(),
|
|
@@ -144,6 +152,7 @@ const chatEventInputSchema = z.discriminatedUnion("chunkType", [
|
|
|
144
152
|
z.extend(conversationUpdateChunkSchema, chatEventSharedSchema),
|
|
145
153
|
z.extend(jobUpdateChunkSchema, chatEventSharedSchema),
|
|
146
154
|
z.extend(modelChunkSchema, chatEventSharedSchema),
|
|
155
|
+
z.extend(selectedSkillsChunkSchema, chatEventSharedSchema),
|
|
147
156
|
z.extend(sandboxProgressChunkSchema, chatEventSharedSchema),
|
|
148
157
|
sandboxStdoutChatEventSchema,
|
|
149
158
|
z.extend(toolRequestChunkSchema, chatEventSharedSchema),
|
|
@@ -175,6 +184,10 @@ const chatEventOutputSchema = z.union([
|
|
|
175
184
|
role: z.literal("agent"),
|
|
176
185
|
}),
|
|
177
186
|
z.extend(chatEventOutputSharedSchema, { content: modelChunkSchema, role: z.literal("agent") }),
|
|
187
|
+
z.extend(chatEventOutputSharedSchema, {
|
|
188
|
+
content: selectedSkillsChunkSchema,
|
|
189
|
+
role: z.literal("agent"),
|
|
190
|
+
}),
|
|
178
191
|
z.extend(chatEventOutputSharedSchema, {
|
|
179
192
|
content: sandboxProgressChunkSchema,
|
|
180
193
|
role: z.literal("agent"),
|
|
@@ -268,6 +281,15 @@ export const chatEventCodec = z.codec(chatEventInputSchema, chatEventOutputSchem
|
|
|
268
281
|
},
|
|
269
282
|
role: "agent",
|
|
270
283
|
};
|
|
284
|
+
case "selectedSkills":
|
|
285
|
+
return {
|
|
286
|
+
...sharedProperties,
|
|
287
|
+
content: {
|
|
288
|
+
chunkType: "selectedSkills",
|
|
289
|
+
selectedSkills: v.selectedSkills,
|
|
290
|
+
},
|
|
291
|
+
role: "agent",
|
|
292
|
+
};
|
|
271
293
|
case "sandboxProgress":
|
|
272
294
|
return {
|
|
273
295
|
...sharedProperties,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatEventSchema.js","sourceRoot":"","sources":["../../../../src/enterprise/ai/chat/chatEventSchema.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Temporal } from \"temporal-polyfill\";\nimport * as z from \"zod/mini\";\n\n/**\n * Shared chat event fields for all responses (except error response)\n * @deprecated\n */\nconst chatEventV1SharedSchema = {\n createdAt: z.string().check(z.iso.datetime()),\n modelName: z.string().check(z.trim(), z.minLength(1)),\n modelProviderId: z.string().check(z.trim(), z.minLength(1)),\n sessionId: z.string().check(z.trim(), z.minLength(1)),\n};\n\n/**\n * Shared chat event fields for all responses (except error response)\n */\nconst chatEventSharedSchema = {\n conversationId: z.string(),\n createdAt: z.string().check(z.iso.datetime()),\n messageId: z.string(),\n modelName: z.string(),\n modelProviderId: z.string(),\n runId: z.string(),\n};\n\nconst errorChunkSchema = z.object({\n chunkType: z.literal(\"error\"),\n /**\n * If the message is not present or very short, it won't be useful to show\n * anyways, so the parser should throw to the generic response error handler.\n */\n message: z.string().check(z.trim(), z.minLength(2)),\n});\n\nconst errorChunkV2Schema = z.object({\n chunkType: z.literal(\"error\"),\n message: z.string().check(z.trim(), z.minLength(2)),\n type: z.string(),\n});\n\nconst conversationUpdateChunkSchema = z.object({\n chunkType: z.literal(\"conversationUpdate\"),\n summary: z.optional(z.string()),\n title: z.optional(z.string()),\n});\n\nconst endOfStreamChunkSchema = z.object({\n chunkType: z.literal(\"endOfStream\"),\n});\n\n// endOfStream omits messageId: the backend sends it absent or as \"\", neither maps to a meaningful id\nconst endOfStreamInputSchema = z.object({\n chunkType: z.literal(\"endOfStream\"),\n conversationId: z.string(),\n createdAt: z.string().check(z.iso.datetime()),\n modelName: z.string(),\n modelProviderId: z.string(),\n runId: z.string(),\n});\n\nconst interruptChunkSchema = z.object({\n chunkType: z.literal(\"interrupt\"),\n});\n\nconst modelChunkSchema = z.object({\n chunkType: z.literal(\"model\"),\n name: z.string().check(z.trim(), z.minLength(1)),\n /**\n * It's useful to indicate (to the type system) that the result contents\n * at this stage can only be data (de)serializable from JSON. Because\n * model responses can vary depending on runtime flags and edition, we can\n * leave this field generic and refine it more precisely in later stages.\n */\n result: z.record(z.string(), z.unknown()),\n});\n\nconst sandboxProgressChunkSchema = z.object({\n chunkType: z.literal(\"sandboxProgress\"),\n stepName: z.string(),\n text: z.string(),\n});\n\nconst sandboxStdoutChunkSchema = z.object({\n callId: z.string().check(z.trim(), z.minLength(1)),\n chunkType: z.literal(\"sandboxStdout\"),\n isFinal: z.boolean(),\n text: z.string(),\n});\nconst sandboxStdoutContentSchema = sandboxStdoutChunkSchema;\nconst sandboxStdoutChatEventSchema = z.extend(sandboxStdoutChunkSchema, chatEventSharedSchema);\nconst toolPlanSchema = z.record(z.string(), z.unknown());\n\nconst toolRequestChunkSchema = z.object({\n arguments: z.record(z.string(), z.unknown()),\n callId: z.string().check(z.trim(), z.minLength(1)),\n chunkType: z.literal(\"toolRequest\"),\n commentary: z.optional(z.string()),\n name: z.string(),\n replacePlan: z.optional(toolPlanSchema),\n summarizedTitle: z.optional(z.string()),\n updatePlan: z.optional(toolPlanSchema),\n});\n\nconst toolResponseChunkSchema = z.object({\n callId: z.string(),\n chunkType: z.literal(\"toolResponse\"),\n commentary: z.optional(z.string()),\n name: z.string(),\n result: z.record(z.string(), z.unknown()),\n});\n\nconst jobUpdateChunkSchema = z.object({\n chunkType: z.literal(\"jobUpdate\"),\n jobId: z.string(),\n jobState: z.string(),\n toolExecutionId: z.string(),\n toolName: z.string(),\n});\n\nconst userMessageChunkSchema = z.object({\n chunkType: z.literal(\"userMessage\"),\n text: z.string(),\n});\n\n/**\n * Captures all of the possible chunks of data that the Agent can reply\n * with. We're lenient to extra/unexpected fields being present (`z.object`\n * instead of `z.strictObject`), but for the fields that are expected,\n * we validate that they match the most general type category they belong in.\n * For example, it's good enough to validate that the `callId` is a string\n * for type safety -- we don't need to verify that it's also a `z.uuid()`.\n * @deprecated\n */\nexport const chatEventV1Schema = z.discriminatedUnion(\"chunkType\", [\n errorChunkSchema,\n z.extend(modelChunkSchema, chatEventV1SharedSchema),\n z.extend(toolRequestChunkSchema, chatEventV1SharedSchema),\n z.extend(toolResponseChunkSchema, chatEventV1SharedSchema),\n]);\n\n/**\n * @deprecated\n */\nexport type ChatEventV1 = z.infer<typeof chatEventV1Schema>;\n\nconst chatEventInputSchema = z.discriminatedUnion(\"chunkType\", [\n z.extend(errorChunkV2Schema, chatEventSharedSchema),\n endOfStreamInputSchema,\n z.extend(interruptChunkSchema, chatEventSharedSchema),\n z.extend(conversationUpdateChunkSchema, chatEventSharedSchema),\n z.extend(jobUpdateChunkSchema, chatEventSharedSchema),\n z.extend(modelChunkSchema, chatEventSharedSchema),\n z.extend(sandboxProgressChunkSchema, chatEventSharedSchema),\n sandboxStdoutChatEventSchema,\n z.extend(toolRequestChunkSchema, chatEventSharedSchema),\n z.extend(toolResponseChunkSchema, chatEventSharedSchema),\n z.extend(userMessageChunkSchema, chatEventSharedSchema),\n]);\n\nconst chatEventOutputSharedSchema = z.extend(\n z.omit(z.strictObject(chatEventSharedSchema), { createdAt: true, messageId: true }),\n {\n createdAt: z.instanceof(Temporal.Instant),\n id: z.string(),\n },\n);\n\n// endOfStream has no meaningful messageId on input, so no id on output\nconst endOfStreamOutputSchema = z.omit(chatEventOutputSharedSchema, { id: true });\n\nconst chatEventOutputSchema = z.union([\n z.extend(chatEventOutputSharedSchema, {\n content: conversationUpdateChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, { content: errorChunkV2Schema, role: z.literal(\"agent\") }),\n z.extend(endOfStreamOutputSchema, {\n content: endOfStreamChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: interruptChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: jobUpdateChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, { content: modelChunkSchema, role: z.literal(\"agent\") }),\n z.extend(chatEventOutputSharedSchema, {\n content: sandboxProgressChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: sandboxStdoutContentSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: toolRequestChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: toolResponseChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: userMessageChunkSchema,\n role: z.literal(\"user\"),\n }),\n]);\n\nexport const chatEventCodec = z.codec(chatEventInputSchema, chatEventOutputSchema, {\n decode(v) {\n if (v.chunkType === \"endOfStream\") {\n return {\n content: { chunkType: \"endOfStream\" },\n conversationId: v.conversationId,\n createdAt: Temporal.Instant.from(v.createdAt),\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n role: \"agent\",\n runId: v.runId,\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n }\n\n const sharedProperties = {\n conversationId: v.conversationId,\n createdAt: Temporal.Instant.from(v.createdAt),\n id: v.messageId,\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n runId: v.runId,\n };\n\n switch (v.chunkType) {\n case \"conversationUpdate\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"conversationUpdate\",\n summary: v.summary,\n title: v.title,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"error\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"error\",\n message: v.message,\n type: v.type,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"interrupt\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"interrupt\",\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"jobUpdate\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"jobUpdate\",\n jobId: v.jobId,\n jobState: v.jobState,\n toolExecutionId: v.toolExecutionId,\n toolName: v.toolName,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"model\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"model\",\n name: v.name,\n result: v.result,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"sandboxProgress\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"sandboxProgress\",\n stepName: v.stepName,\n text: v.text,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"sandboxStdout\":\n return {\n ...sharedProperties,\n content: {\n callId: v.callId,\n chunkType: \"sandboxStdout\",\n isFinal: v.isFinal,\n text: v.text,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"toolRequest\":\n return {\n ...sharedProperties,\n content: {\n arguments: v.arguments,\n callId: v.callId,\n chunkType: \"toolRequest\",\n commentary: v.commentary,\n name: v.name,\n replacePlan: v.replacePlan,\n summarizedTitle: v.summarizedTitle,\n updatePlan: v.updatePlan,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"toolResponse\":\n return {\n ...sharedProperties,\n content: {\n callId: v.callId,\n chunkType: \"toolResponse\",\n commentary: v.commentary,\n name: v.name,\n result: v.result,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"userMessage\":\n return {\n ...sharedProperties,\n content: { chunkType: \"userMessage\", text: v.text },\n role: \"user\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n }\n },\n encode(v) {\n if (v.content.chunkType === \"endOfStream\") {\n return {\n chunkType: \"endOfStream\",\n conversationId: v.conversationId,\n createdAt: v.createdAt.toString(),\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n runId: v.runId,\n } as const satisfies z.infer<typeof chatEventInputSchema>;\n }\n // Safe: endOfStream (the only variant without id) is handled by the early return above\n const id = (v as Extract<z.output<typeof chatEventOutputSchema>, { id: string }>).id;\n return {\n conversationId: v.conversationId,\n createdAt: v.createdAt.toString(),\n messageId: id,\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n runId: v.runId,\n ...v.content,\n } as const satisfies z.infer<typeof chatEventInputSchema>;\n },\n});\n\nexport type ChatEvent = z.output<typeof chatEventCodec>;\nexport type ChatEventWithChunkType<T extends z.input<typeof chatEventCodec>[\"chunkType\"]> = Extract<\n ChatEvent,\n { content: { chunkType: T } }\n>;\n"]}
|
|
1
|
+
{"version":3,"file":"chatEventSchema.js","sourceRoot":"","sources":["../../../../src/enterprise/ai/chat/chatEventSchema.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2024-2025 Dremio Corporation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Temporal } from \"temporal-polyfill\";\nimport * as z from \"zod/mini\";\n\n/**\n * Shared chat event fields for all responses (except error response)\n * @deprecated\n */\nconst chatEventV1SharedSchema = {\n createdAt: z.string().check(z.iso.datetime()),\n modelName: z.string().check(z.trim(), z.minLength(1)),\n modelProviderId: z.string().check(z.trim(), z.minLength(1)),\n sessionId: z.string().check(z.trim(), z.minLength(1)),\n};\n\n/**\n * Shared chat event fields for all responses (except error response)\n */\nconst chatEventSharedSchema = {\n conversationId: z.string(),\n createdAt: z.string().check(z.iso.datetime()),\n messageId: z.string(),\n modelName: z.string(),\n modelProviderId: z.string(),\n runId: z.string(),\n};\n\nconst errorChunkSchema = z.object({\n chunkType: z.literal(\"error\"),\n /**\n * If the message is not present or very short, it won't be useful to show\n * anyways, so the parser should throw to the generic response error handler.\n */\n message: z.string().check(z.trim(), z.minLength(2)),\n});\n\nconst errorChunkV2Schema = z.object({\n chunkType: z.literal(\"error\"),\n message: z.string().check(z.trim(), z.minLength(2)),\n type: z.string(),\n});\n\nconst conversationUpdateChunkSchema = z.object({\n chunkType: z.literal(\"conversationUpdate\"),\n summary: z.optional(z.string()),\n title: z.optional(z.string()),\n});\n\nconst endOfStreamChunkSchema = z.object({\n chunkType: z.literal(\"endOfStream\"),\n});\n\n// endOfStream omits messageId: the backend sends it absent or as \"\", neither maps to a meaningful id\nconst endOfStreamInputSchema = z.object({\n chunkType: z.literal(\"endOfStream\"),\n conversationId: z.string(),\n createdAt: z.string().check(z.iso.datetime()),\n modelName: z.string(),\n modelProviderId: z.string(),\n runId: z.string(),\n});\n\nconst interruptChunkSchema = z.object({\n chunkType: z.literal(\"interrupt\"),\n});\n\nconst modelChunkSchema = z.object({\n chunkType: z.literal(\"model\"),\n name: z.string().check(z.trim(), z.minLength(1)),\n /**\n * It's useful to indicate (to the type system) that the result contents\n * at this stage can only be data (de)serializable from JSON. Because\n * model responses can vary depending on runtime flags and edition, we can\n * leave this field generic and refine it more precisely in later stages.\n */\n result: z.record(z.string(), z.unknown()),\n});\n\nconst sandboxProgressChunkSchema = z.object({\n chunkType: z.literal(\"sandboxProgress\"),\n stepName: z.string(),\n text: z.string(),\n});\n\nconst sandboxStdoutChunkSchema = z.object({\n callId: z.string().check(z.trim(), z.minLength(1)),\n chunkType: z.literal(\"sandboxStdout\"),\n isFinal: z.boolean(),\n text: z.string(),\n});\nconst sandboxStdoutContentSchema = sandboxStdoutChunkSchema;\nconst sandboxStdoutChatEventSchema = z.extend(sandboxStdoutChunkSchema, chatEventSharedSchema);\nconst toolPlanSchema = z.record(z.string(), z.unknown());\n\nconst toolRequestChunkSchema = z.object({\n arguments: z.record(z.string(), z.unknown()),\n callId: z.string().check(z.trim(), z.minLength(1)),\n chunkType: z.literal(\"toolRequest\"),\n commentary: z.optional(z.string()),\n name: z.string(),\n replacePlan: z.optional(toolPlanSchema),\n summarizedTitle: z.optional(z.string()),\n updatePlan: z.optional(toolPlanSchema),\n});\n\nconst toolResponseChunkSchema = z.object({\n callId: z.string(),\n chunkType: z.literal(\"toolResponse\"),\n commentary: z.optional(z.string()),\n name: z.string(),\n result: z.record(z.string(), z.unknown()),\n});\n\nconst jobUpdateChunkSchema = z.object({\n chunkType: z.literal(\"jobUpdate\"),\n jobId: z.string(),\n jobState: z.string(),\n toolExecutionId: z.string(),\n toolName: z.string(),\n});\n\nconst selectedSkillInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n});\n\nexport type SelectedSkillInfo = z.infer<typeof selectedSkillInfoSchema>;\n\nconst selectedSkillsChunkSchema = z.object({\n chunkType: z.literal(\"selectedSkills\"),\n selectedSkills: z.array(selectedSkillInfoSchema),\n});\n\nconst userMessageChunkSchema = z.object({\n chunkType: z.literal(\"userMessage\"),\n text: z.string(),\n});\n\n/**\n * Captures all of the possible chunks of data that the Agent can reply\n * with. We're lenient to extra/unexpected fields being present (`z.object`\n * instead of `z.strictObject`), but for the fields that are expected,\n * we validate that they match the most general type category they belong in.\n * For example, it's good enough to validate that the `callId` is a string\n * for type safety -- we don't need to verify that it's also a `z.uuid()`.\n * @deprecated\n */\nexport const chatEventV1Schema = z.discriminatedUnion(\"chunkType\", [\n errorChunkSchema,\n z.extend(modelChunkSchema, chatEventV1SharedSchema),\n z.extend(toolRequestChunkSchema, chatEventV1SharedSchema),\n z.extend(toolResponseChunkSchema, chatEventV1SharedSchema),\n]);\n\n/**\n * @deprecated\n */\nexport type ChatEventV1 = z.infer<typeof chatEventV1Schema>;\n\nconst chatEventInputSchema = z.discriminatedUnion(\"chunkType\", [\n z.extend(errorChunkV2Schema, chatEventSharedSchema),\n endOfStreamInputSchema,\n z.extend(interruptChunkSchema, chatEventSharedSchema),\n z.extend(conversationUpdateChunkSchema, chatEventSharedSchema),\n z.extend(jobUpdateChunkSchema, chatEventSharedSchema),\n z.extend(modelChunkSchema, chatEventSharedSchema),\n z.extend(selectedSkillsChunkSchema, chatEventSharedSchema),\n z.extend(sandboxProgressChunkSchema, chatEventSharedSchema),\n sandboxStdoutChatEventSchema,\n z.extend(toolRequestChunkSchema, chatEventSharedSchema),\n z.extend(toolResponseChunkSchema, chatEventSharedSchema),\n z.extend(userMessageChunkSchema, chatEventSharedSchema),\n]);\n\nconst chatEventOutputSharedSchema = z.extend(\n z.omit(z.strictObject(chatEventSharedSchema), { createdAt: true, messageId: true }),\n {\n createdAt: z.instanceof(Temporal.Instant),\n id: z.string(),\n },\n);\n\n// endOfStream has no meaningful messageId on input, so no id on output\nconst endOfStreamOutputSchema = z.omit(chatEventOutputSharedSchema, { id: true });\n\nconst chatEventOutputSchema = z.union([\n z.extend(chatEventOutputSharedSchema, {\n content: conversationUpdateChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, { content: errorChunkV2Schema, role: z.literal(\"agent\") }),\n z.extend(endOfStreamOutputSchema, {\n content: endOfStreamChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: interruptChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: jobUpdateChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, { content: modelChunkSchema, role: z.literal(\"agent\") }),\n z.extend(chatEventOutputSharedSchema, {\n content: selectedSkillsChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: sandboxProgressChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: sandboxStdoutContentSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: toolRequestChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: toolResponseChunkSchema,\n role: z.literal(\"agent\"),\n }),\n z.extend(chatEventOutputSharedSchema, {\n content: userMessageChunkSchema,\n role: z.literal(\"user\"),\n }),\n]);\n\nexport const chatEventCodec = z.codec(chatEventInputSchema, chatEventOutputSchema, {\n decode(v) {\n if (v.chunkType === \"endOfStream\") {\n return {\n content: { chunkType: \"endOfStream\" },\n conversationId: v.conversationId,\n createdAt: Temporal.Instant.from(v.createdAt),\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n role: \"agent\",\n runId: v.runId,\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n }\n\n const sharedProperties = {\n conversationId: v.conversationId,\n createdAt: Temporal.Instant.from(v.createdAt),\n id: v.messageId,\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n runId: v.runId,\n };\n\n switch (v.chunkType) {\n case \"conversationUpdate\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"conversationUpdate\",\n summary: v.summary,\n title: v.title,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"error\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"error\",\n message: v.message,\n type: v.type,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"interrupt\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"interrupt\",\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"jobUpdate\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"jobUpdate\",\n jobId: v.jobId,\n jobState: v.jobState,\n toolExecutionId: v.toolExecutionId,\n toolName: v.toolName,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"model\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"model\",\n name: v.name,\n result: v.result,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"selectedSkills\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"selectedSkills\",\n selectedSkills: v.selectedSkills,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"sandboxProgress\":\n return {\n ...sharedProperties,\n content: {\n chunkType: \"sandboxProgress\",\n stepName: v.stepName,\n text: v.text,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"sandboxStdout\":\n return {\n ...sharedProperties,\n content: {\n callId: v.callId,\n chunkType: \"sandboxStdout\",\n isFinal: v.isFinal,\n text: v.text,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"toolRequest\":\n return {\n ...sharedProperties,\n content: {\n arguments: v.arguments,\n callId: v.callId,\n chunkType: \"toolRequest\",\n commentary: v.commentary,\n name: v.name,\n replacePlan: v.replacePlan,\n summarizedTitle: v.summarizedTitle,\n updatePlan: v.updatePlan,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"toolResponse\":\n return {\n ...sharedProperties,\n content: {\n callId: v.callId,\n chunkType: \"toolResponse\",\n commentary: v.commentary,\n name: v.name,\n result: v.result,\n },\n role: \"agent\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n case \"userMessage\":\n return {\n ...sharedProperties,\n content: { chunkType: \"userMessage\", text: v.text },\n role: \"user\",\n } as const satisfies z.output<typeof chatEventOutputSchema>;\n }\n },\n encode(v) {\n if (v.content.chunkType === \"endOfStream\") {\n return {\n chunkType: \"endOfStream\",\n conversationId: v.conversationId,\n createdAt: v.createdAt.toString(),\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n runId: v.runId,\n } as const satisfies z.infer<typeof chatEventInputSchema>;\n }\n // Safe: endOfStream (the only variant without id) is handled by the early return above\n const id = (v as Extract<z.output<typeof chatEventOutputSchema>, { id: string }>).id;\n return {\n conversationId: v.conversationId,\n createdAt: v.createdAt.toString(),\n messageId: id,\n modelName: v.modelName,\n modelProviderId: v.modelProviderId,\n runId: v.runId,\n ...v.content,\n } as const satisfies z.infer<typeof chatEventInputSchema>;\n },\n});\n\nexport type ChatEvent = z.output<typeof chatEventCodec>;\nexport type ChatEventWithChunkType<T extends z.input<typeof chatEventCodec>[\"chunkType\"]> = Extract<\n ChatEvent,\n { content: { chunkType: T } }\n>;\n"]}
|