diff --git a/packages/workflow-dashboard/src/api.ts b/packages/workflow-dashboard/src/api.ts
index c82ea67..ea00bcf 100644
--- a/packages/workflow-dashboard/src/api.ts
+++ b/packages/workflow-dashboard/src/api.ts
@@ -122,6 +122,7 @@ export type WorkflowGraph = {
export type WorkflowRoleDescriptor = {
description: string;
+ systemPrompt: string;
schema: Record;
};
diff --git a/packages/workflow-dashboard/src/components/workflow-detail.tsx b/packages/workflow-dashboard/src/components/workflow-detail.tsx
index a5f2b6a..8c59230 100644
--- a/packages/workflow-dashboard/src/components/workflow-detail.tsx
+++ b/packages/workflow-dashboard/src/components/workflow-detail.tsx
@@ -179,6 +179,28 @@ function RoleCard({ roleName, role }: { roleName: string; role: WorkflowRoleDesc
{role.description}
)}
+ {role.systemPrompt !== "" && (
+
+
+ System Prompt
+
+
+ {role.systemPrompt}
+
+
+ )}
{rows.length > 0 && (
;
export type WorkflowRoleDescriptor = {
description: string;
+ systemPrompt: string;
schema: WorkflowRoleSchema;
};
diff --git a/packages/workflow-register/src/bundle/build-descriptor.ts b/packages/workflow-register/src/bundle/build-descriptor.ts
index 1d04a80..d8aad98 100644
--- a/packages/workflow-register/src/bundle/build-descriptor.ts
+++ b/packages/workflow-register/src/bundle/build-descriptor.ts
@@ -35,11 +35,12 @@ export function buildDescriptor(
): WorkflowDescriptor {
const roles: WorkflowDescriptor["roles"] = {};
for (const [key, roleDef] of Object.entries(def.roles) as Array<
- [string, { description: string; schema: z.ZodType }]
+ [string, { description: string; systemPrompt: string; schema: z.ZodType }]
>) {
const rawJsonSchema = z.toJSONSchema(roleDef.schema) as Record;
roles[key] = {
description: roleDef.description,
+ systemPrompt: roleDef.systemPrompt,
schema: stripJsonSchemaMeta(rawJsonSchema),
};
}
diff --git a/packages/workflow-register/src/bundle/workflow-descriptor.ts b/packages/workflow-register/src/bundle/workflow-descriptor.ts
index fc62c62..e8cebbc 100644
--- a/packages/workflow-register/src/bundle/workflow-descriptor.ts
+++ b/packages/workflow-register/src/bundle/workflow-descriptor.ts
@@ -88,8 +88,10 @@ export function validateWorkflowDescriptor(value: unknown): Result