| 302 | } |
| 303 | |
| 304 | function getBlockTypesReferencePrompt(): GetPromptResult { |
| 305 | return { |
| 306 | description: 'Quick reference for Deepnote block types', |
| 307 | messages: [ |
| 308 | { |
| 309 | role: 'user', |
| 310 | content: { |
| 311 | type: 'text', |
| 312 | text: `# Deepnote Block Types Reference |
| 313 | |
| 314 | ## Executable Blocks (produce outputs) |
| 315 | |
| 316 | | Type | Description | Key Metadata | |
| 317 | |------|-------------|--------------| |
| 318 | | code | Python code | - | |
| 319 | | sql | SQL queries | deepnote_variable_name | |
| 320 | | input-text | Single-line text input | deepnote_variable_name, deepnote_input_label, deepnote_input_default | |
| 321 | | input-textarea | Multi-line text input | deepnote_variable_name, deepnote_input_label | |
| 322 | | input-checkbox | Boolean toggle | deepnote_variable_name, deepnote_input_label, deepnote_input_default | |
| 323 | | input-select | Dropdown | deepnote_variable_name, deepnote_input_options, deepnote_input_default | |
| 324 | | input-slider | Numeric slider | deepnote_variable_name, deepnote_input_min, deepnote_input_max, deepnote_input_step | |
| 325 | | input-date | Date picker | deepnote_variable_name | |
| 326 | | input-date-range | Date range picker | deepnote_variable_name, deepnote_input_presets | |
| 327 | | button | Clickable button | deepnote_variable_name, deepnote_button_label | |
| 328 | | big-number | KPI display | deepnote_big_number_template | |
| 329 | |
| 330 | ## Text Blocks (display only) |
| 331 | |
| 332 | | Type | Description | |
| 333 | |------|-------------| |
| 334 | | markdown | Rich markdown content | |
| 335 | | text-cell-h1 | Heading level 1 | |
| 336 | | text-cell-h2 | Heading level 2 | |
| 337 | | text-cell-h3 | Heading level 3 | |
| 338 | | text-cell-p | Paragraph | |
| 339 | | text-cell-bullet | Bullet list | |
| 340 | | text-cell-callout | Highlighted note (info/warning/error/success) | |
| 341 | | separator | Horizontal divider | |
| 342 | | image | Embedded image | |
| 343 | |
| 344 | ## Example: Creating an Input Slider |
| 345 | |
| 346 | \`\`\`json |
| 347 | { |
| 348 | "type": "input-slider", |
| 349 | "metadata": { |
| 350 | "deepnote_variable_name": "threshold", |
| 351 | "deepnote_input_label": "Threshold", |
| 352 | "deepnote_input_min": 0, |
| 353 | "deepnote_input_max": 1, |
| 354 | "deepnote_input_step": 0.1, |
| 355 | "deepnote_input_default": 0.5 |
| 356 | } |
| 357 | } |
| 358 | \`\`\` |
| 359 | |
| 360 | Use ${TOOL_NAMES.addBlock} to add blocks with these types and metadata.`, |
| 361 | }, |