| class ProjectTemplate { |
| const ProjectTemplate({ |
| required this.id, |
| required this.title, |
| required this.tarFileName, |
| this.prompt, |
| this.imageMimeType, |
| this.imageFileName, |
| }); |
| |
| final String id; |
| final String title; |
| |
| /// TAR file name relative to `/examples/` on the server (e.g. `simple_counter.tar`). |
| final String tarFileName; |
| |
| /// Optional agent prompt to pre-fill when this template is loaded. |
| /// |
| /// When non-null, the prompt is pre-filled in the always-visible agent |
| /// composer for the user to review and send. |
| final String? prompt; |
| |
| /// MIME type of the attached image (e.g. `image/png`). |
| final String? imageMimeType; |
| |
| /// File name of the image inside the template TAR archive. |
| final String? imageFileName; |
| |
| /// Whether this template has an image attachment. |
| bool get hasImage => imageFileName != null && imageMimeType != null; |
| } |