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