componentInput?.value?.split('datatable://')?.[1],
+ (v) => componentInput && (componentInput.value = v ? `datatable://${v}` : undefined)
+ }
+ showSchemaExplorer
+ />
{:else if fieldType === 'labeledresource'}
{#if componentInput?.value && typeof componentInput?.value == 'object' && 'label' in componentInput?.value && (componentInput.value?.['value'] == undefined || typeof componentInput.value?.['value'] == 'string')}
diff --git a/frontend/src/lib/components/apps/inputType.ts b/frontend/src/lib/components/apps/inputType.ts
index 2743c46df9..a3c68a49ad 100644
--- a/frontend/src/lib/components/apps/inputType.ts
+++ b/frontend/src/lib/components/apps/inputType.ts
@@ -43,6 +43,7 @@ export type InputType =
| 'bigquery'
| 'oracledb'
| 'ducklake'
+ | 'datatable'
| 'app-path'
// Connection to an output of another component
@@ -270,6 +271,7 @@ export type AppInput =
| AppInputSpec<'resource', string, 'bigquery'>
| AppInputSpec<'resource', string, 'oracledb'>
| AppInputSpec<'ducklake', string, 'ducklake'>
+ | AppInputSpec<'datatable', string, 'datatable'>
| AppInputSpec<'array', object[], 'number-tuple'>
| AppInputSpec<'app-path', string>