@pipe0/react 1.0.35 → 1.0.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/components/defaults/adapters/pipes-run-if-input.mjs +1 -0
- package/dist/components/defaults/adapters/pipes-run-if-input.mjs.map +1 -1
- package/dist/hooks/use-pipe-catalog-table.d.mts +8 -8
- package/dist/hooks/use-search-catalog-table.d.mts +6 -6
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @pipe0/elements-react
|
|
2
2
|
|
|
3
|
+
## 1.0.36
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 07494cc: Deprecate aviate post reactors
|
|
8
|
+
- 4d3da70: feat: Add new operator
|
|
9
|
+
- Updated dependencies [07494cc]
|
|
10
|
+
- Updated dependencies [4d3da70]
|
|
11
|
+
- @pipe0/base@1.0.36
|
|
12
|
+
|
|
3
13
|
## 1.0.35
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipes-run-if-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/pipes-run-if-input.tsx"],"sourcesContent":["import {\n type ConditionBlockMeta,\n type ConditionOperators,\n type ConstantSuggestion,\n type PipeRunIf,\n type PipesFieldDefinitionWithName,\n type PipesRunIfMeta,\n type RecordFieldType,\n RUN_IF_OPERATOR_LABELS,\n RUN_IF_STATUS_OPERATORS,\n RUN_IF_VALUE_OPERATORS,\n type SecretSuggestion,\n type StoreOption,\n} from \"@pipe0/base\";\nimport { useCallback, useMemo } from \"react\";\nimport { useFieldError } from \"../../../hooks/use-field-error.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport type { FieldHandle } from \"../../../types/field-handle.js\";\nimport type { FormHandle } from \"../../../types/form-handle.js\";\nimport { HoverInfo } from \"../../hover-info.js\";\nimport { SuggestCombobox } from \"../../internal/combobox/suggest-combobox.js\";\nimport { FieldLegend } from \"../../internal/field-legend.js\";\nimport { IconPlus } from \"../../internal/icons.js\";\nimport { LiquidEditor } from \"../../internal/LiquidEditor/LiquidEditor.js\";\nimport { Badge } from \"../../ui/badge.js\";\nimport { Button } from \"../../ui/button.js\";\nimport { Input } from \"../../ui/input.js\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../ui/select.js\";\nimport { FieldSectionEnumeration } from \"../field-section-enumeration.js\";\n\n// Use a loose type for internal manipulation since the discriminated union\n// is strict about property/operator/value combinations.\ntype Condition = {\n field_name: string;\n property: string;\n operator: string;\n value: unknown;\n};\n\n// Loose shape of a bare condition block ({logic, conditions}) — the run-if\n// `when` block, and an effect's `config.where`. The editor below is shared by\n// both; the strict discriminated-union types live in @pipe0/base.\ntype ConditionBlockValue = {\n logic: \"and\" | \"or\";\n conditions: Condition[];\n};\n\nconst OPERATORS_BY_TYPE: Record<RecordFieldType, ConditionOperators[]> = {\n string: [\"eq\", \"neq\", \"contains\", \"matches\"],\n number: [\"eq\", \"neq\", \"gt\", \"gte\", \"lt\", \"lte\"],\n boolean: [\"eq\", \"neq\"],\n json: [],\n unknown: [],\n};\n\n/**\n * json fields carry no VALUE operators (a json cell can't be compared as a\n * primitive) but their STATUS is a first-class condition target — \"count if\n * status(person_profile_match) eq failed\" is the canonical freshness pattern.\n * The editor locks such fields to the status property.\n */\nconst isStatusOnlyField = (type: RecordFieldType | undefined): boolean => type === \"json\";\n\nconst EMPTY_CONDITION: Condition = {\n field_name: \"\",\n property: \"value\",\n operator: \"eq\",\n value: \"\",\n};\n\nconst CONNECTOR_GAP = 32;\n\n/**\n * Maps a fetched field-name suggestion's `data.type` (stringly, from\n * `sheetColumnsOptionsDef`) to an operator list. Unknown/dynamic/json types\n * return `undefined` — callers keep the FULL operator set, since a free-typed\n * column name must never be hard-restricted.\n */\nfunction operatorsForSuggestion(\n suggestion: StoreOption | undefined,\n): ConditionOperators[] | undefined {\n const type = suggestion?.data?.type;\n if (!type || !(type in OPERATORS_BY_TYPE)) return undefined;\n const operators = OPERATORS_BY_TYPE[type as RecordFieldType];\n return operators.length > 0 ? operators : undefined;\n}\n\ntype MetaField = {\n fieldName: string;\n fieldLabel: string;\n type: RecordFieldType;\n format: string | null;\n};\n\nfunction ConditionRow({\n condition,\n index,\n eligibleFields,\n fieldsByName,\n isFirst,\n isLast,\n logic,\n form,\n conditionsPath,\n fieldNameMode,\n fieldNamePlaceholder,\n fieldNameSuggestions,\n showStatusProperty,\n inputFields,\n searchSecrets,\n searchConstants,\n onUpdate,\n onRemove,\n onAddCondition,\n onLogicChange,\n}: {\n condition: Condition;\n index: number;\n eligibleFields: MetaField[];\n fieldsByName: ReadonlyMap<string, MetaField>;\n isFirst: boolean;\n isLast: boolean;\n logic: PipeRunIf[\"when\"][\"logic\"];\n form: FormHandle;\n conditionsPath: string;\n fieldNameMode: \"select\" | \"text\";\n fieldNamePlaceholder?: string;\n /** Fetched `field_name` suggestions (text mode) — upgrades the free-text input to a combobox. */\n fieldNameSuggestions?: StoreOption[];\n showStatusProperty: boolean;\n inputFields?: PipesFieldDefinitionWithName[];\n searchSecrets?: (query: string) => Promise<SecretSuggestion[]>;\n searchConstants?: (query: string) => Promise<ConstantSuggestion[]>;\n onUpdate: (index: number, condition: Condition) => void;\n onRemove: (index: number) => void;\n onAddCondition: () => void;\n onLogicChange: (logic: PipeRunIf[\"when\"][\"logic\"]) => void;\n}) {\n const conditionPath = `${conditionsPath}.${index}`;\n const valueError = useFieldError(form, `${conditionPath}.value`);\n const fieldNameError = useFieldError(form, `${conditionPath}.field_name`);\n const operatorError = useFieldError(form, `${conditionPath}.operator`);\n const propertyError = useFieldError(form, `${conditionPath}.property`);\n\n const showConnector = !(isFirst && isLast);\n const isTextMode = fieldNameMode === \"text\";\n const hasEligibleFields = eligibleFields.length > 0;\n const selectedField = condition.field_name ? fieldsByName.get(condition.field_name) : undefined;\n\n const matchedSuggestion = useMemo(\n () =>\n isTextMode && condition.field_name\n ? fieldNameSuggestions?.find((s) => s.value === condition.field_name)\n : undefined,\n [isTextMode, condition.field_name, fieldNameSuggestions],\n );\n\n const availableOperators = useMemo(() => {\n if (condition.property === \"status\") {\n return RUN_IF_STATUS_OPERATORS.map((op) => ({\n value: op,\n label: RUN_IF_OPERATOR_LABELS[op],\n }));\n }\n const valueOperators = RUN_IF_VALUE_OPERATORS.map((op) => ({\n value: op,\n label: RUN_IF_OPERATOR_LABELS[op],\n }));\n if (isTextMode) {\n // Free-text field names target a sheet whose column types are unknown —\n // offer the full operator set, narrowed only when the typed name matches\n // a fetched suggestion with a known type.\n const suggested = operatorsForSuggestion(matchedSuggestion);\n return suggested\n ? valueOperators.filter((op) => suggested.includes(op.value))\n : valueOperators;\n }\n if (!selectedField?.type) return [];\n return valueOperators.filter((op) => OPERATORS_BY_TYPE[selectedField.type].includes(op.value));\n }, [condition.property, selectedField, isTextMode, matchedSuggestion]);\n\n const renderValueInput = () => {\n if (!isTextMode && (!condition.field_name || !selectedField)) {\n return <Input className=\"pz:w-32\" placeholder=\"\" disabled aria-invalid={!!valueError} />;\n }\n\n if (isTextMode && condition.property !== \"status\") {\n if (inputFields) {\n return (\n <div\n className={cn(\n \"pz:w-64 pz:rounded-md pz:border pz:border-input pz:bg-transparent\",\n valueError && \"pz:border-destructive\",\n )}\n >\n <LiquidEditor\n value={String(condition.value ?? \"\")}\n onChange={(v) => onUpdate(index, { ...condition, value: v })}\n inputFields={inputFields}\n searchSecrets={searchSecrets}\n searchConstants={searchConstants}\n placeholder=\"\"\n hideLegend\n />\n </div>\n );\n }\n return (\n <Input\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(condition.value ?? \"\")}\n onChange={(e) => onUpdate(index, { ...condition, value: e.target.value })}\n placeholder=\"\"\n />\n );\n }\n\n if (condition.property === \"status\") {\n return (\n <Select\n value={String(condition.value) || null}\n onValueChange={(v) => onUpdate(index, { ...condition, value: v })}\n >\n <SelectTrigger className=\"pz:w-32\" aria-invalid={!!valueError}>\n <SelectValue placeholder=\"--status--\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"completed\">completed</SelectItem>\n <SelectItem value=\"skipped\">skipped</SelectItem>\n <SelectItem value=\"failed\">failed</SelectItem>\n <SelectItem value=\"no_result\">no_result</SelectItem>\n </SelectContent>\n </Select>\n );\n }\n\n if (selectedField?.type === \"boolean\") {\n return (\n <Select\n value={String(condition.value)}\n onValueChange={(v) => onUpdate(index, { ...condition, value: v })}\n >\n <SelectTrigger className=\"pz:w-24\" aria-invalid={!!valueError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">true</SelectItem>\n <SelectItem value=\"false\">false</SelectItem>\n </SelectContent>\n </Select>\n );\n }\n\n if (selectedField?.type === \"number\") {\n return (\n <Input\n type=\"number\"\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(Number(condition.value ?? 0))}\n onChange={(e) =>\n onUpdate(index, {\n ...condition,\n value: Number(e.target.value) || 0,\n })\n }\n placeholder=\"\"\n />\n );\n }\n\n return (\n <Input\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(condition.value ?? \"\")}\n onChange={(e) => onUpdate(index, { ...condition, value: e.target.value })}\n placeholder=\"\"\n />\n );\n };\n\n const errorMessage = valueError || fieldNameError || operatorError || propertyError;\n\n return (\n <div>\n <div className={cn(\"pz:relative\", showConnector && \"pz:pl-17\")}>\n {showConnector && (\n <>\n {isFirst ? (\n <div\n className=\"pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-t-2 pz:border-input pz:rounded-tl-lg pz:pointer-events-none\"\n style={{ top: \"50%\", bottom: -CONNECTOR_GAP }}\n />\n ) : (\n <div\n className=\"pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-b-2 pz:border-input pz:rounded-bl-lg pz:pointer-events-none\"\n style={{ top: -CONNECTOR_GAP, bottom: \"50%\" }}\n />\n )}\n {!isFirst && !isLast && (\n <div\n className=\"pz:absolute pz:left-7 pz:border-l-2 pz:border-input pz:pointer-events-none\"\n style={{ top: \"50%\", bottom: -CONNECTOR_GAP }}\n />\n )}\n {!isFirst && (\n <div\n className=\"pz:absolute pz:left-7 pz:z-10\"\n style={{\n top: -CONNECTOR_GAP / 2,\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Select value={logic} onValueChange={(v) => onLogicChange(v as \"and\" | \"or\")}>\n <SelectTrigger className=\"pz:w-17 pz:h-6 pz:text-xs pz:bg-background pz:hover:bg-accent\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectItem value=\"and\">AND</SelectItem>\n <SelectItem value=\"or\">OR</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n )}\n </>\n )}\n <div className=\"pz:flex pz:flex-wrap pz:items-center pz:gap-2\">\n <FieldSectionEnumeration index={index} onRemove={onRemove} />\n {isTextMode ? (\n fieldNameSuggestions && fieldNameSuggestions.length > 0 ? (\n // Fetched target-sheet columns available → suggest combobox.\n // `allowCreate` keeps any literal column name typeable.\n <div className=\"pz:min-w-40\">\n <SuggestCombobox\n single\n value={condition.field_name ? [condition.field_name] : []}\n onChange={(next) => {\n const fieldName = next[next.length - 1] ?? \"\";\n const suggested = operatorsForSuggestion(\n fieldNameSuggestions.find((s) => s.value === fieldName),\n );\n const operatorStillValid =\n !suggested || suggested.includes(condition.operator as ConditionOperators);\n onUpdate(index, {\n ...condition,\n field_name: fieldName,\n ...(operatorStillValid ? {} : { operator: \"eq\", value: \"\" }),\n });\n }}\n options={fieldNameSuggestions}\n allowCreate\n ariaInvalid={!!fieldNameError}\n placeholder={fieldNamePlaceholder ?? \"column\"}\n emptyLabel=\"No columns found\"\n />\n </div>\n ) : (\n <Input\n className=\"pz:w-40\"\n aria-invalid={!!fieldNameError}\n value={condition.field_name}\n onChange={(e) => onUpdate(index, { ...condition, field_name: e.target.value })}\n placeholder={fieldNamePlaceholder ?? \"column\"}\n />\n )\n ) : (\n <>\n <Select\n value={condition.field_name || null}\n disabled={!hasEligibleFields}\n onValueChange={(v) => {\n if (v === null) return;\n // A json field supports only status conditions — lock the\n // property on selection so the row stays authorable.\n const statusOnly = isStatusOnlyField(fieldsByName.get(v)?.type);\n onUpdate(index, {\n ...condition,\n field_name: v,\n ...(statusOnly ? { property: \"status\" } : {}),\n operator: \"eq\",\n value: \"\",\n });\n }}\n >\n <SelectTrigger className=\"pz:w-40\" aria-invalid={!!fieldNameError}>\n <SelectValue placeholder=\"Select field\" />\n </SelectTrigger>\n <SelectContent>\n {eligibleFields.map((f) => (\n <SelectItem key={f.fieldName} value={f.fieldName}>\n {f.fieldLabel || f.fieldName}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {!hasEligibleFields && (\n <span className=\"pz:text-xs pz:text-muted-foreground\">\n No fields available{\" \"}\n <HoverInfo>\n No condition-capable fields exist yet. JSON fields support status conditions\n only; their values cannot be compared directly.\n </HoverInfo>\n </span>\n )}\n </>\n )}\n\n {(isTextMode || selectedField?.type) && (\n <>\n {showStatusProperty && (\n <>\n <Badge\n variant=\"secondary\"\n className=\"pz:bg-accent pz:border pz:border-input pz:font-normal pz:text-muted-foreground pz:h-8\"\n >\n 's\n </Badge>\n <Select\n defaultValue=\"value\"\n value={condition.property}\n onValueChange={(v) => {\n if (v === null) return;\n onUpdate(index, {\n ...condition,\n property: v,\n operator: \"eq\",\n value: \"\",\n });\n }}\n >\n <SelectTrigger className=\"pz:w-28\" aria-invalid={!!propertyError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {/* A json field's value cannot be compared — only its\n status is a condition target, so `value` is not\n offered at all. */}\n {!isStatusOnlyField(selectedField?.type) && (\n <SelectItem value=\"value\">value</SelectItem>\n )}\n <SelectItem value=\"status\">status</SelectItem>\n </SelectContent>\n </Select>\n </>\n )}\n\n <Select\n value={condition.operator}\n onValueChange={(v) =>\n onUpdate(index, {\n ...condition,\n operator: v as ConditionOperators,\n })\n }\n >\n <SelectTrigger className=\"pz:w-28\" aria-invalid={!!operatorError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {availableOperators.map((op) => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n\n {renderValueInput()}\n </>\n )}\n </div>\n {errorMessage && (\n <span\n className=\"pz:text-destructive pz:text-xs pz:font-medium pz:mt-1 pz:block\"\n role=\"alert\"\n >\n {errorMessage}\n </span>\n )}\n </div>\n {isLast && (\n <div className=\"pz:flex pz:items-center pz:gap-2\">\n <Button type=\"button\" variant=\"link\" size=\"xs\" onClick={onAddCondition}>\n <IconPlus />\n New rule\n </Button>\n </div>\n )}\n </div>\n );\n}\n\n/**\n * Presentational condition-block editor shared by the pipe run-if gate and by\n * effects that filter rows by a condition (e.g. `rows:remove@1`'s `where`).\n * Operates on a bare `{logic, conditions}` block via `value`/`onChange`; the\n * wrapping adapters own where that block lives in their payload.\n */\nexport function ConditionBlockEditor({\n value,\n onChange,\n fields,\n form,\n conditionsPath,\n fieldNameMode = \"select\",\n fieldNamePlaceholder,\n fieldNameSuggestions,\n properties,\n inputFields,\n searchSecrets,\n searchConstants,\n}: {\n value: ConditionBlockValue | null;\n onChange: (value: ConditionBlockValue | null) => void;\n fields: MetaField[];\n form: FormHandle;\n // Field-error path of the conditions array (e.g. `run_if.when.conditions` or\n // `config.where.conditions`).\n conditionsPath: string;\n // \"text\" renders field_name as a free-form column name (the condition\n // targets a sheet whose columns are unknown at config time).\n fieldNameMode?: \"select\" | \"text\";\n fieldNamePlaceholder?: string;\n // Fetched target-sheet column suggestions (text mode only) — when non-empty\n // the free-text field name upgrades to a suggest combobox.\n fieldNameSuggestions?: StoreOption[];\n // Which condition properties are offered; defaults to value + status.\n properties?: (\"value\" | \"status\")[];\n // When present, string values render a LiquidEditor with the `/` picker.\n inputFields?: PipesFieldDefinitionWithName[];\n searchSecrets?: (query: string) => Promise<SecretSuggestion[]>;\n searchConstants?: (query: string) => Promise<ConstantSuggestion[]>;\n}) {\n // Built once and reused across every condition row, instead of each row\n // scanning `fields` linearly. With N rows and M fields this turns O(N·M)\n // lookups into O(N+M). A field is eligible when it supports at least one\n // offered property: value operators exist for its type, or the status\n // property is offered and the field is status-capable (json fields).\n const statusOffered = (properties ?? [\"value\", \"status\"]).includes(\"status\");\n const eligibleFields = useMemo(\n () =>\n fields.filter(\n (f) => OPERATORS_BY_TYPE[f.type].length > 0 || (statusOffered && isStatusOnlyField(f.type)),\n ),\n [fields, statusOffered],\n );\n const fieldsByName = useMemo(() => new Map(fields.map((f) => [f.fieldName, f])), [fields]);\n\n const addBlock = useCallback(() => {\n onChange({ logic: \"and\", conditions: [{ ...EMPTY_CONDITION }] });\n }, [onChange]);\n\n const updateCondition = (index: number, condition: Condition) => {\n if (!value) return;\n const newConditions = [...value.conditions];\n newConditions[index] = condition;\n onChange({ ...value, conditions: newConditions });\n };\n\n const removeCondition = (index: number) => {\n if (!value) return;\n if (value.conditions.length <= 1) {\n onChange(null);\n return;\n }\n onChange({ ...value, conditions: value.conditions.filter((_, i) => i !== index) });\n };\n\n const addCondition = () => {\n if (!value) return;\n onChange({ ...value, conditions: [...value.conditions, { ...EMPTY_CONDITION }] });\n };\n\n const changeLogic = (logic: \"and\" | \"or\") => {\n if (!value) return;\n onChange({ ...value, logic });\n };\n\n return (\n <div data-p0=\"input\">\n {!value ? (\n <div className=\"pz:flex pz:items-center\">\n <Button type=\"button\" variant=\"link\" size=\"xs\" className=\"pz:px-0\" onClick={addBlock}>\n <IconPlus />\n New rule\n </Button>\n </div>\n ) : (\n <div className=\"pz:flex pz:flex-col pz:gap-8\">\n {value.conditions.map((condition, idx) => (\n <ConditionRow\n key={idx}\n condition={condition}\n index={idx}\n eligibleFields={eligibleFields}\n fieldsByName={fieldsByName}\n isFirst={idx === 0}\n isLast={idx === value.conditions.length - 1}\n logic={value.logic}\n form={form}\n conditionsPath={conditionsPath}\n fieldNameMode={fieldNameMode}\n fieldNamePlaceholder={fieldNamePlaceholder}\n fieldNameSuggestions={fieldNameSuggestions}\n showStatusProperty={(properties ?? [\"value\", \"status\"]).includes(\"status\")}\n inputFields={inputFields}\n searchSecrets={searchSecrets}\n searchConstants={searchConstants}\n onUpdate={updateCondition}\n onRemove={removeCondition}\n onAddCondition={addCondition}\n onLogicChange={changeLogic}\n />\n ))}\n {fieldNameMode === \"text\" && inputFields && (\n <FieldLegend entries={[{ key: \"/\", label: \"to insert a reference\" }]} />\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport function PipesRunIfInputAdapter(field: FieldHandle<\"pipes_run_if_input\">) {\n const pipeRunIf = field.value as PipeRunIf | null;\n const meta = field.meta as PipesRunIfMeta;\n\n return (\n <ConditionBlockEditor\n value={(pipeRunIf?.when as ConditionBlockValue | undefined) ?? null}\n onChange={(block) => field.setValue(block ? { action: \"run\", when: block } : null)}\n fields={meta.fields}\n form={field.form}\n conditionsPath={`${field.path}.when.conditions`}\n />\n );\n}\n\nexport function ConditionBlockInputAdapter(field: FieldHandle<\"condition_block_input\">) {\n const block = field.value as ConditionBlockValue | null;\n const meta = field.meta as ConditionBlockMeta;\n\n return (\n <ConditionBlockEditor\n value={block}\n onChange={(next) => field.setValue(next)}\n fields={meta.fields}\n form={field.form}\n conditionsPath={`${field.path}.conditions`}\n fieldNameMode={meta.fieldNameMode}\n fieldNamePlaceholder={meta.fieldNamePlaceholder}\n fieldNameSuggestions={meta.options}\n properties={meta.properties}\n inputFields={meta.inputFields}\n searchSecrets={field.searchSecrets}\n searchConstants={field.searchConstants}\n />\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipes-run-if-input.mjs","names":[],"sources":["../../../../src/components/defaults/adapters/pipes-run-if-input.tsx"],"sourcesContent":["import {\n type ConditionBlockMeta,\n type ConditionOperators,\n type ConstantSuggestion,\n type PipeRunIf,\n type PipesFieldDefinitionWithName,\n type PipesRunIfMeta,\n type RecordFieldType,\n RUN_IF_OPERATOR_LABELS,\n RUN_IF_STATUS_OPERATORS,\n RUN_IF_VALUE_OPERATORS,\n type SecretSuggestion,\n type StoreOption,\n} from \"@pipe0/base\";\nimport { useCallback, useMemo } from \"react\";\nimport { useFieldError } from \"../../../hooks/use-field-error.js\";\nimport { cn } from \"../../../lib/utils.js\";\nimport type { FieldHandle } from \"../../../types/field-handle.js\";\nimport type { FormHandle } from \"../../../types/form-handle.js\";\nimport { HoverInfo } from \"../../hover-info.js\";\nimport { SuggestCombobox } from \"../../internal/combobox/suggest-combobox.js\";\nimport { FieldLegend } from \"../../internal/field-legend.js\";\nimport { IconPlus } from \"../../internal/icons.js\";\nimport { LiquidEditor } from \"../../internal/LiquidEditor/LiquidEditor.js\";\nimport { Badge } from \"../../ui/badge.js\";\nimport { Button } from \"../../ui/button.js\";\nimport { Input } from \"../../ui/input.js\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../../ui/select.js\";\nimport { FieldSectionEnumeration } from \"../field-section-enumeration.js\";\n\n// Use a loose type for internal manipulation since the discriminated union\n// is strict about property/operator/value combinations.\ntype Condition = {\n field_name: string;\n property: string;\n operator: string;\n value: unknown;\n};\n\n// Loose shape of a bare condition block ({logic, conditions}) — the run-if\n// `when` block, and an effect's `config.where`. The editor below is shared by\n// both; the strict discriminated-union types live in @pipe0/base.\ntype ConditionBlockValue = {\n logic: \"and\" | \"or\";\n conditions: Condition[];\n};\n\nconst OPERATORS_BY_TYPE: Record<RecordFieldType, ConditionOperators[]> = {\n string: [\"eq\", \"neq\", \"contains\", \"not_contains\", \"matches\"],\n number: [\"eq\", \"neq\", \"gt\", \"gte\", \"lt\", \"lte\"],\n boolean: [\"eq\", \"neq\"],\n json: [],\n unknown: [],\n};\n\n/**\n * json fields carry no VALUE operators (a json cell can't be compared as a\n * primitive) but their STATUS is a first-class condition target — \"count if\n * status(person_profile_match) eq failed\" is the canonical freshness pattern.\n * The editor locks such fields to the status property.\n */\nconst isStatusOnlyField = (type: RecordFieldType | undefined): boolean => type === \"json\";\n\nconst EMPTY_CONDITION: Condition = {\n field_name: \"\",\n property: \"value\",\n operator: \"eq\",\n value: \"\",\n};\n\nconst CONNECTOR_GAP = 32;\n\n/**\n * Maps a fetched field-name suggestion's `data.type` (stringly, from\n * `sheetColumnsOptionsDef`) to an operator list. Unknown/dynamic/json types\n * return `undefined` — callers keep the FULL operator set, since a free-typed\n * column name must never be hard-restricted.\n */\nfunction operatorsForSuggestion(\n suggestion: StoreOption | undefined,\n): ConditionOperators[] | undefined {\n const type = suggestion?.data?.type;\n if (!type || !(type in OPERATORS_BY_TYPE)) return undefined;\n const operators = OPERATORS_BY_TYPE[type as RecordFieldType];\n return operators.length > 0 ? operators : undefined;\n}\n\ntype MetaField = {\n fieldName: string;\n fieldLabel: string;\n type: RecordFieldType;\n format: string | null;\n};\n\nfunction ConditionRow({\n condition,\n index,\n eligibleFields,\n fieldsByName,\n isFirst,\n isLast,\n logic,\n form,\n conditionsPath,\n fieldNameMode,\n fieldNamePlaceholder,\n fieldNameSuggestions,\n showStatusProperty,\n inputFields,\n searchSecrets,\n searchConstants,\n onUpdate,\n onRemove,\n onAddCondition,\n onLogicChange,\n}: {\n condition: Condition;\n index: number;\n eligibleFields: MetaField[];\n fieldsByName: ReadonlyMap<string, MetaField>;\n isFirst: boolean;\n isLast: boolean;\n logic: PipeRunIf[\"when\"][\"logic\"];\n form: FormHandle;\n conditionsPath: string;\n fieldNameMode: \"select\" | \"text\";\n fieldNamePlaceholder?: string;\n /** Fetched `field_name` suggestions (text mode) — upgrades the free-text input to a combobox. */\n fieldNameSuggestions?: StoreOption[];\n showStatusProperty: boolean;\n inputFields?: PipesFieldDefinitionWithName[];\n searchSecrets?: (query: string) => Promise<SecretSuggestion[]>;\n searchConstants?: (query: string) => Promise<ConstantSuggestion[]>;\n onUpdate: (index: number, condition: Condition) => void;\n onRemove: (index: number) => void;\n onAddCondition: () => void;\n onLogicChange: (logic: PipeRunIf[\"when\"][\"logic\"]) => void;\n}) {\n const conditionPath = `${conditionsPath}.${index}`;\n const valueError = useFieldError(form, `${conditionPath}.value`);\n const fieldNameError = useFieldError(form, `${conditionPath}.field_name`);\n const operatorError = useFieldError(form, `${conditionPath}.operator`);\n const propertyError = useFieldError(form, `${conditionPath}.property`);\n\n const showConnector = !(isFirst && isLast);\n const isTextMode = fieldNameMode === \"text\";\n const hasEligibleFields = eligibleFields.length > 0;\n const selectedField = condition.field_name ? fieldsByName.get(condition.field_name) : undefined;\n\n const matchedSuggestion = useMemo(\n () =>\n isTextMode && condition.field_name\n ? fieldNameSuggestions?.find((s) => s.value === condition.field_name)\n : undefined,\n [isTextMode, condition.field_name, fieldNameSuggestions],\n );\n\n const availableOperators = useMemo(() => {\n if (condition.property === \"status\") {\n return RUN_IF_STATUS_OPERATORS.map((op) => ({\n value: op,\n label: RUN_IF_OPERATOR_LABELS[op],\n }));\n }\n const valueOperators = RUN_IF_VALUE_OPERATORS.map((op) => ({\n value: op,\n label: RUN_IF_OPERATOR_LABELS[op],\n }));\n if (isTextMode) {\n // Free-text field names target a sheet whose column types are unknown —\n // offer the full operator set, narrowed only when the typed name matches\n // a fetched suggestion with a known type.\n const suggested = operatorsForSuggestion(matchedSuggestion);\n return suggested\n ? valueOperators.filter((op) => suggested.includes(op.value))\n : valueOperators;\n }\n if (!selectedField?.type) return [];\n return valueOperators.filter((op) => OPERATORS_BY_TYPE[selectedField.type].includes(op.value));\n }, [condition.property, selectedField, isTextMode, matchedSuggestion]);\n\n const renderValueInput = () => {\n if (!isTextMode && (!condition.field_name || !selectedField)) {\n return <Input className=\"pz:w-32\" placeholder=\"\" disabled aria-invalid={!!valueError} />;\n }\n\n if (isTextMode && condition.property !== \"status\") {\n if (inputFields) {\n return (\n <div\n className={cn(\n \"pz:w-64 pz:rounded-md pz:border pz:border-input pz:bg-transparent\",\n valueError && \"pz:border-destructive\",\n )}\n >\n <LiquidEditor\n value={String(condition.value ?? \"\")}\n onChange={(v) => onUpdate(index, { ...condition, value: v })}\n inputFields={inputFields}\n searchSecrets={searchSecrets}\n searchConstants={searchConstants}\n placeholder=\"\"\n hideLegend\n />\n </div>\n );\n }\n return (\n <Input\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(condition.value ?? \"\")}\n onChange={(e) => onUpdate(index, { ...condition, value: e.target.value })}\n placeholder=\"\"\n />\n );\n }\n\n if (condition.property === \"status\") {\n return (\n <Select\n value={String(condition.value) || null}\n onValueChange={(v) => onUpdate(index, { ...condition, value: v })}\n >\n <SelectTrigger className=\"pz:w-32\" aria-invalid={!!valueError}>\n <SelectValue placeholder=\"--status--\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"completed\">completed</SelectItem>\n <SelectItem value=\"skipped\">skipped</SelectItem>\n <SelectItem value=\"failed\">failed</SelectItem>\n <SelectItem value=\"no_result\">no_result</SelectItem>\n </SelectContent>\n </Select>\n );\n }\n\n if (selectedField?.type === \"boolean\") {\n return (\n <Select\n value={String(condition.value)}\n onValueChange={(v) => onUpdate(index, { ...condition, value: v })}\n >\n <SelectTrigger className=\"pz:w-24\" aria-invalid={!!valueError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"true\">true</SelectItem>\n <SelectItem value=\"false\">false</SelectItem>\n </SelectContent>\n </Select>\n );\n }\n\n if (selectedField?.type === \"number\") {\n return (\n <Input\n type=\"number\"\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(Number(condition.value ?? 0))}\n onChange={(e) =>\n onUpdate(index, {\n ...condition,\n value: Number(e.target.value) || 0,\n })\n }\n placeholder=\"\"\n />\n );\n }\n\n return (\n <Input\n className=\"pz:w-32\"\n aria-invalid={!!valueError}\n value={String(condition.value ?? \"\")}\n onChange={(e) => onUpdate(index, { ...condition, value: e.target.value })}\n placeholder=\"\"\n />\n );\n };\n\n const errorMessage = valueError || fieldNameError || operatorError || propertyError;\n\n return (\n <div>\n <div className={cn(\"pz:relative\", showConnector && \"pz:pl-17\")}>\n {showConnector && (\n <>\n {isFirst ? (\n <div\n className=\"pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-t-2 pz:border-input pz:rounded-tl-lg pz:pointer-events-none\"\n style={{ top: \"50%\", bottom: -CONNECTOR_GAP }}\n />\n ) : (\n <div\n className=\"pz:absolute pz:left-7 pz:w-10 pz:border-l-2 pz:border-b-2 pz:border-input pz:rounded-bl-lg pz:pointer-events-none\"\n style={{ top: -CONNECTOR_GAP, bottom: \"50%\" }}\n />\n )}\n {!isFirst && !isLast && (\n <div\n className=\"pz:absolute pz:left-7 pz:border-l-2 pz:border-input pz:pointer-events-none\"\n style={{ top: \"50%\", bottom: -CONNECTOR_GAP }}\n />\n )}\n {!isFirst && (\n <div\n className=\"pz:absolute pz:left-7 pz:z-10\"\n style={{\n top: -CONNECTOR_GAP / 2,\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <Select value={logic} onValueChange={(v) => onLogicChange(v as \"and\" | \"or\")}>\n <SelectTrigger className=\"pz:w-17 pz:h-6 pz:text-xs pz:bg-background pz:hover:bg-accent\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectGroup>\n <SelectItem value=\"and\">AND</SelectItem>\n <SelectItem value=\"or\">OR</SelectItem>\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n )}\n </>\n )}\n <div className=\"pz:flex pz:flex-wrap pz:items-center pz:gap-2\">\n <FieldSectionEnumeration index={index} onRemove={onRemove} />\n {isTextMode ? (\n fieldNameSuggestions && fieldNameSuggestions.length > 0 ? (\n // Fetched target-sheet columns available → suggest combobox.\n // `allowCreate` keeps any literal column name typeable.\n <div className=\"pz:min-w-40\">\n <SuggestCombobox\n single\n value={condition.field_name ? [condition.field_name] : []}\n onChange={(next) => {\n const fieldName = next[next.length - 1] ?? \"\";\n const suggested = operatorsForSuggestion(\n fieldNameSuggestions.find((s) => s.value === fieldName),\n );\n const operatorStillValid =\n !suggested || suggested.includes(condition.operator as ConditionOperators);\n onUpdate(index, {\n ...condition,\n field_name: fieldName,\n ...(operatorStillValid ? {} : { operator: \"eq\", value: \"\" }),\n });\n }}\n options={fieldNameSuggestions}\n allowCreate\n ariaInvalid={!!fieldNameError}\n placeholder={fieldNamePlaceholder ?? \"column\"}\n emptyLabel=\"No columns found\"\n />\n </div>\n ) : (\n <Input\n className=\"pz:w-40\"\n aria-invalid={!!fieldNameError}\n value={condition.field_name}\n onChange={(e) => onUpdate(index, { ...condition, field_name: e.target.value })}\n placeholder={fieldNamePlaceholder ?? \"column\"}\n />\n )\n ) : (\n <>\n <Select\n value={condition.field_name || null}\n disabled={!hasEligibleFields}\n onValueChange={(v) => {\n if (v === null) return;\n // A json field supports only status conditions — lock the\n // property on selection so the row stays authorable.\n const statusOnly = isStatusOnlyField(fieldsByName.get(v)?.type);\n onUpdate(index, {\n ...condition,\n field_name: v,\n ...(statusOnly ? { property: \"status\" } : {}),\n operator: \"eq\",\n value: \"\",\n });\n }}\n >\n <SelectTrigger className=\"pz:w-40\" aria-invalid={!!fieldNameError}>\n <SelectValue placeholder=\"Select field\" />\n </SelectTrigger>\n <SelectContent>\n {eligibleFields.map((f) => (\n <SelectItem key={f.fieldName} value={f.fieldName}>\n {f.fieldLabel || f.fieldName}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {!hasEligibleFields && (\n <span className=\"pz:text-xs pz:text-muted-foreground\">\n No fields available{\" \"}\n <HoverInfo>\n No condition-capable fields exist yet. JSON fields support status conditions\n only; their values cannot be compared directly.\n </HoverInfo>\n </span>\n )}\n </>\n )}\n\n {(isTextMode || selectedField?.type) && (\n <>\n {showStatusProperty && (\n <>\n <Badge\n variant=\"secondary\"\n className=\"pz:bg-accent pz:border pz:border-input pz:font-normal pz:text-muted-foreground pz:h-8\"\n >\n 's\n </Badge>\n <Select\n defaultValue=\"value\"\n value={condition.property}\n onValueChange={(v) => {\n if (v === null) return;\n onUpdate(index, {\n ...condition,\n property: v,\n operator: \"eq\",\n value: \"\",\n });\n }}\n >\n <SelectTrigger className=\"pz:w-28\" aria-invalid={!!propertyError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {/* A json field's value cannot be compared — only its\n status is a condition target, so `value` is not\n offered at all. */}\n {!isStatusOnlyField(selectedField?.type) && (\n <SelectItem value=\"value\">value</SelectItem>\n )}\n <SelectItem value=\"status\">status</SelectItem>\n </SelectContent>\n </Select>\n </>\n )}\n\n <Select\n value={condition.operator}\n onValueChange={(v) =>\n onUpdate(index, {\n ...condition,\n operator: v as ConditionOperators,\n })\n }\n >\n <SelectTrigger className=\"pz:w-28\" aria-invalid={!!operatorError}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {availableOperators.map((op) => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n\n {renderValueInput()}\n </>\n )}\n </div>\n {errorMessage && (\n <span\n className=\"pz:text-destructive pz:text-xs pz:font-medium pz:mt-1 pz:block\"\n role=\"alert\"\n >\n {errorMessage}\n </span>\n )}\n </div>\n {isLast && (\n <div className=\"pz:flex pz:items-center pz:gap-2\">\n <Button type=\"button\" variant=\"link\" size=\"xs\" onClick={onAddCondition}>\n <IconPlus />\n New rule\n </Button>\n </div>\n )}\n </div>\n );\n}\n\n/**\n * Presentational condition-block editor shared by the pipe run-if gate and by\n * effects that filter rows by a condition (e.g. `rows:remove@1`'s `where`).\n * Operates on a bare `{logic, conditions}` block via `value`/`onChange`; the\n * wrapping adapters own where that block lives in their payload.\n */\nexport function ConditionBlockEditor({\n value,\n onChange,\n fields,\n form,\n conditionsPath,\n fieldNameMode = \"select\",\n fieldNamePlaceholder,\n fieldNameSuggestions,\n properties,\n inputFields,\n searchSecrets,\n searchConstants,\n}: {\n value: ConditionBlockValue | null;\n onChange: (value: ConditionBlockValue | null) => void;\n fields: MetaField[];\n form: FormHandle;\n // Field-error path of the conditions array (e.g. `run_if.when.conditions` or\n // `config.where.conditions`).\n conditionsPath: string;\n // \"text\" renders field_name as a free-form column name (the condition\n // targets a sheet whose columns are unknown at config time).\n fieldNameMode?: \"select\" | \"text\";\n fieldNamePlaceholder?: string;\n // Fetched target-sheet column suggestions (text mode only) — when non-empty\n // the free-text field name upgrades to a suggest combobox.\n fieldNameSuggestions?: StoreOption[];\n // Which condition properties are offered; defaults to value + status.\n properties?: (\"value\" | \"status\")[];\n // When present, string values render a LiquidEditor with the `/` picker.\n inputFields?: PipesFieldDefinitionWithName[];\n searchSecrets?: (query: string) => Promise<SecretSuggestion[]>;\n searchConstants?: (query: string) => Promise<ConstantSuggestion[]>;\n}) {\n // Built once and reused across every condition row, instead of each row\n // scanning `fields` linearly. With N rows and M fields this turns O(N·M)\n // lookups into O(N+M). A field is eligible when it supports at least one\n // offered property: value operators exist for its type, or the status\n // property is offered and the field is status-capable (json fields).\n const statusOffered = (properties ?? [\"value\", \"status\"]).includes(\"status\");\n const eligibleFields = useMemo(\n () =>\n fields.filter(\n (f) => OPERATORS_BY_TYPE[f.type].length > 0 || (statusOffered && isStatusOnlyField(f.type)),\n ),\n [fields, statusOffered],\n );\n const fieldsByName = useMemo(() => new Map(fields.map((f) => [f.fieldName, f])), [fields]);\n\n const addBlock = useCallback(() => {\n onChange({ logic: \"and\", conditions: [{ ...EMPTY_CONDITION }] });\n }, [onChange]);\n\n const updateCondition = (index: number, condition: Condition) => {\n if (!value) return;\n const newConditions = [...value.conditions];\n newConditions[index] = condition;\n onChange({ ...value, conditions: newConditions });\n };\n\n const removeCondition = (index: number) => {\n if (!value) return;\n if (value.conditions.length <= 1) {\n onChange(null);\n return;\n }\n onChange({ ...value, conditions: value.conditions.filter((_, i) => i !== index) });\n };\n\n const addCondition = () => {\n if (!value) return;\n onChange({ ...value, conditions: [...value.conditions, { ...EMPTY_CONDITION }] });\n };\n\n const changeLogic = (logic: \"and\" | \"or\") => {\n if (!value) return;\n onChange({ ...value, logic });\n };\n\n return (\n <div data-p0=\"input\">\n {!value ? (\n <div className=\"pz:flex pz:items-center\">\n <Button type=\"button\" variant=\"link\" size=\"xs\" className=\"pz:px-0\" onClick={addBlock}>\n <IconPlus />\n New rule\n </Button>\n </div>\n ) : (\n <div className=\"pz:flex pz:flex-col pz:gap-8\">\n {value.conditions.map((condition, idx) => (\n <ConditionRow\n key={idx}\n condition={condition}\n index={idx}\n eligibleFields={eligibleFields}\n fieldsByName={fieldsByName}\n isFirst={idx === 0}\n isLast={idx === value.conditions.length - 1}\n logic={value.logic}\n form={form}\n conditionsPath={conditionsPath}\n fieldNameMode={fieldNameMode}\n fieldNamePlaceholder={fieldNamePlaceholder}\n fieldNameSuggestions={fieldNameSuggestions}\n showStatusProperty={(properties ?? [\"value\", \"status\"]).includes(\"status\")}\n inputFields={inputFields}\n searchSecrets={searchSecrets}\n searchConstants={searchConstants}\n onUpdate={updateCondition}\n onRemove={removeCondition}\n onAddCondition={addCondition}\n onLogicChange={changeLogic}\n />\n ))}\n {fieldNameMode === \"text\" && inputFields && (\n <FieldLegend entries={[{ key: \"/\", label: \"to insert a reference\" }]} />\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport function PipesRunIfInputAdapter(field: FieldHandle<\"pipes_run_if_input\">) {\n const pipeRunIf = field.value as PipeRunIf | null;\n const meta = field.meta as PipesRunIfMeta;\n\n return (\n <ConditionBlockEditor\n value={(pipeRunIf?.when as ConditionBlockValue | undefined) ?? null}\n onChange={(block) => field.setValue(block ? { action: \"run\", when: block } : null)}\n fields={meta.fields}\n form={field.form}\n conditionsPath={`${field.path}.when.conditions`}\n />\n );\n}\n\nexport function ConditionBlockInputAdapter(field: FieldHandle<\"condition_block_input\">) {\n const block = field.value as ConditionBlockValue | null;\n const meta = field.meta as ConditionBlockMeta;\n\n return (\n <ConditionBlockEditor\n value={block}\n onChange={(next) => field.setValue(next)}\n fields={meta.fields}\n form={field.form}\n conditionsPath={`${field.path}.conditions`}\n fieldNameMode={meta.fieldNameMode}\n fieldNamePlaceholder={meta.fieldNamePlaceholder}\n fieldNameSuggestions={meta.options}\n properties={meta.properties}\n inputFields={meta.inputFields}\n searchSecrets={field.searchSecrets}\n searchConstants={field.searchConstants}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -54,14 +54,14 @@ declare function usePipeCatalogTable(config?: {
|
|
|
54
54
|
removeColumnFilter: (id: "inputFields" | "outputFields" | "tags" | "providers") => void;
|
|
55
55
|
resetFilters: () => void;
|
|
56
56
|
getColumnFilterValue: (id: "inputFields" | "outputFields" | "tags" | "providers") => string;
|
|
57
|
-
sortedInputFieldEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
58
|
-
sortedOutputFieldEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
59
|
-
sortedTagEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
60
|
-
sortedProviderEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
61
|
-
pipeIdsByInputField: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
62
|
-
pipeIdsByOutputField: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
63
|
-
pipeIdsByProvider: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
64
|
-
pipeIdsByTag: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "
|
|
57
|
+
sortedInputFieldEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]][];
|
|
58
|
+
sortedOutputFieldEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]][];
|
|
59
|
+
sortedTagEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]][];
|
|
60
|
+
sortedProviderEntries: [string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]][];
|
|
61
|
+
pipeIdsByInputField: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]>;
|
|
62
|
+
pipeIdsByOutputField: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]>;
|
|
63
|
+
pipeIdsByProvider: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]>;
|
|
64
|
+
pipeIdsByTag: Record<string, ("prompt:run@1" | "agent:run@1" | "company:newssummary:website@1" | "company:newssummary:domain@1" | "company:techstack:builtwith@2" | "company:websiteurl:email@1" | "company:domain:workemail@1" | "company:funding:leadmagic@1" | "company:funding:waterfall@1" | "people:workemail:waterfall@1" | "person:workemail:waterfall@1" | "people:email:iswork@1" | "email:iswork@1" | "people:name:split@1" | "person:name:split@1" | "person:name:join@1" | "people:email:validate:zerobounce@2" | "email:validate:zerobounce@1" | "company:overview@1" | "company:overview@2" | "company:overview@3" | "json:extract:multi@1" | "email:write@1" | "message:write@1" | "email:send:resend@1" | "email:send:gmail@1" | "email:draft:gmail@1" | "message:send:slack@1" | "message:send-direct:slack@1" | "template:fill@1" | "contact:create:resend@1" | "lead:enroll:lemlist@1" | "lead:enroll:instantly@1" | "lead:enroll:nooks@1" | "prospect:match:nooks@1" | "user:match:nooks@1" | "contact:match:hubspot@1" | "company:match:hubspot@1" | "deal:match:hubspot@1" | "object:update:hubspot@1" | "object:associations:hubspot@1" | "activity:log:hubspot@1" | "person:match:salesforce@1" | "account:match:salesforce@1" | "opportunity:match:salesforce@1" | "record:lookup:salesforce@1" | "record:update:salesforce@1" | "record:assert:salesforce@1" | "activities:find:salesforce@1" | "activity:log:salesforce@1" | "person:match:attio@1" | "company:match:attio@1" | "deal:match:attio@1" | "record:match:attio@1" | "record:lookup:attio@1" | "record:update:attio@1" | "activities:find:attio@1" | "lead:enroll:amplemarket@1" | "role:waterfall@1" | "roles:waterfall@1" | "company:identity@2" | "company:identity@3" | "company:identity:crustdata@1" | "people:phone:profile:waterfall@1" | "person:mobile:profileurl:waterfall@1" | "people:personalemail:profile:waterfall@1" | "person:personalemail:profileurl:waterfall@1" | "people:profile:waterfall@1" | "person:profile:waterfall@2" | "people:profileurl:email:waterfall@1" | "person:profileurl:email:waterfall@1" | "person:profileurl:name@1" | "person:email:validate:millionverifier@1" | "person:mobile:workemail:waterfall@1" | "fields:merge@1" | "field:slugify@1" | "field:domainify@1" | "field:timestamp@1" | "formula:run@1" | "signals:personprofilematch@1" | "website:extract:parallel@1" | "website:markdown:parallel@1" | "row:append:sheet@1" | "row:expandappend:sheet@1" | "row:roundrobin:sheet@1" | "bucket:claim@1" | "stream:enroll@1" | "stream:unenroll@1" | "bucket:count@1" | "bucket:check@1" | "bucket:countif@1" | "rows:find:sheet@1" | "rows:delete:sheet@1" | "rows:find:postgres@1" | "rows:find:databricks@1" | "company:lookalikes:companyenrich@2" | "person:posts:content:crustdata@1" | "profile:posts:x@1" | "post:create:x@1" | "ads:linkedin:waterfall@1" | "ads:google:waterfall@1" | "ads:meta:waterfall@1" | "company:match:crustdata@1" | "company:match:crustdata@2" | "company:match:amplemarket@1" | "company:jobs:amplemarket@1" | "people:workemail:profileurl:waterfall@1" | "person:workemail:profileurl:waterfall@1" | "person:identity:email:waterfall@2" | "person:devprofileurl:profileurl:waterfall@1" | "http:request@1" | "company:identity@1" | "people:professionalprofile:waterfall@1" | "people:professionalprofileurl:email:waterfall@1")[]>;
|
|
65
65
|
};
|
|
66
66
|
type UsePipeCatalogTableReturn = ReturnType<typeof usePipeCatalogTable>;
|
|
67
67
|
//#endregion
|
|
@@ -49,12 +49,12 @@ declare function useSearchCatalogTable(config?: {
|
|
|
49
49
|
removeColumnFilter: (id: "inputFields" | "outputFields" | "tags" | "providers") => void;
|
|
50
50
|
resetFilters: () => void;
|
|
51
51
|
getColumnFilterValue: (id: "inputFields" | "outputFields" | "tags" | "providers") => string;
|
|
52
|
-
sortedOutputFieldEntries: [string, ("
|
|
53
|
-
sortedTagEntries: [string, ("
|
|
54
|
-
sortedProviderEntries: [string, ("
|
|
55
|
-
searchIdsByOutputField: Record<string, ("
|
|
56
|
-
searchIdsByProvider: Record<string, ("
|
|
57
|
-
searchIdsByTag: Record<string, ("
|
|
52
|
+
sortedOutputFieldEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:crustdata@3" | "companies:profiles:amplemarket@2" | "jobs:crustdata@1" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "research:agent@1" | "people:eventguests:luma@1" | "people:channelmembers:slack@1" | "events:googlecalendar@1" | "sheet:rows@1" | "bucket:entries@1" | "query:postgres@1" | "query:databricks@1" | "posts:crustdata@1" | "posts:x@1" | "people:followers:x@1" | "people:followers:self:x@1" | "contacts:hubspot@1" | "companies:hubspot@1" | "deals:hubspot@1" | "owners:hubspot@1" | "contacts:salesforce@1" | "leads:salesforce@1" | "accounts:salesforce@1" | "opportunities:salesforce@1" | "users:salesforce@1" | "query:salesforce@1" | "people:attio@1" | "companies:attio@1" | "deals:attio@1" | "records:attio@1" | "entries:attio@1" | "query:attio@1" | "users:attio@1")[]][];
|
|
53
|
+
sortedTagEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:crustdata@3" | "companies:profiles:amplemarket@2" | "jobs:crustdata@1" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "research:agent@1" | "people:eventguests:luma@1" | "people:channelmembers:slack@1" | "events:googlecalendar@1" | "sheet:rows@1" | "bucket:entries@1" | "query:postgres@1" | "query:databricks@1" | "posts:crustdata@1" | "posts:x@1" | "people:followers:x@1" | "people:followers:self:x@1" | "contacts:hubspot@1" | "companies:hubspot@1" | "deals:hubspot@1" | "owners:hubspot@1" | "contacts:salesforce@1" | "leads:salesforce@1" | "accounts:salesforce@1" | "opportunities:salesforce@1" | "users:salesforce@1" | "query:salesforce@1" | "people:attio@1" | "companies:attio@1" | "deals:attio@1" | "records:attio@1" | "entries:attio@1" | "query:attio@1" | "users:attio@1")[]][];
|
|
54
|
+
sortedProviderEntries: [string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:crustdata@3" | "companies:profiles:amplemarket@2" | "jobs:crustdata@1" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "research:agent@1" | "people:eventguests:luma@1" | "people:channelmembers:slack@1" | "events:googlecalendar@1" | "sheet:rows@1" | "bucket:entries@1" | "query:postgres@1" | "query:databricks@1" | "posts:crustdata@1" | "posts:x@1" | "people:followers:x@1" | "people:followers:self:x@1" | "contacts:hubspot@1" | "companies:hubspot@1" | "deals:hubspot@1" | "owners:hubspot@1" | "contacts:salesforce@1" | "leads:salesforce@1" | "accounts:salesforce@1" | "opportunities:salesforce@1" | "users:salesforce@1" | "query:salesforce@1" | "people:attio@1" | "companies:attio@1" | "deals:attio@1" | "records:attio@1" | "entries:attio@1" | "query:attio@1" | "users:attio@1")[]][];
|
|
55
|
+
searchIdsByOutputField: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:crustdata@3" | "companies:profiles:amplemarket@2" | "jobs:crustdata@1" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "research:agent@1" | "people:eventguests:luma@1" | "people:channelmembers:slack@1" | "events:googlecalendar@1" | "sheet:rows@1" | "bucket:entries@1" | "query:postgres@1" | "query:databricks@1" | "posts:crustdata@1" | "posts:x@1" | "people:followers:x@1" | "people:followers:self:x@1" | "contacts:hubspot@1" | "companies:hubspot@1" | "deals:hubspot@1" | "owners:hubspot@1" | "contacts:salesforce@1" | "leads:salesforce@1" | "accounts:salesforce@1" | "opportunities:salesforce@1" | "users:salesforce@1" | "query:salesforce@1" | "people:attio@1" | "companies:attio@1" | "deals:attio@1" | "records:attio@1" | "entries:attio@1" | "query:attio@1" | "users:attio@1")[]>;
|
|
56
|
+
searchIdsByProvider: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:crustdata@3" | "companies:profiles:amplemarket@2" | "jobs:crustdata@1" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "research:agent@1" | "people:eventguests:luma@1" | "people:channelmembers:slack@1" | "events:googlecalendar@1" | "sheet:rows@1" | "bucket:entries@1" | "query:postgres@1" | "query:databricks@1" | "posts:crustdata@1" | "posts:x@1" | "people:followers:x@1" | "people:followers:self:x@1" | "contacts:hubspot@1" | "companies:hubspot@1" | "deals:hubspot@1" | "owners:hubspot@1" | "contacts:salesforce@1" | "leads:salesforce@1" | "accounts:salesforce@1" | "opportunities:salesforce@1" | "users:salesforce@1" | "query:salesforce@1" | "people:attio@1" | "companies:attio@1" | "deals:attio@1" | "records:attio@1" | "entries:attio@1" | "query:attio@1" | "users:attio@1")[]>;
|
|
57
|
+
searchIdsByTag: Record<string, ("companies:profiles:crustdata@1" | "companies:profiles:crustdata@2" | "companies:profiles:crustdata@3" | "companies:profiles:amplemarket@2" | "jobs:crustdata@1" | "people:profiles:crustdata@1" | "people:profiles:crustdata@2" | "people:profiles:crustdata@3" | "people:profiles:amplemarket@1" | "people:profiles:amplemarket@2" | "companies:entitysearch:parallel@1" | "people:entitysearch:parallel@1" | "research:agent@1" | "people:eventguests:luma@1" | "people:channelmembers:slack@1" | "events:googlecalendar@1" | "sheet:rows@1" | "bucket:entries@1" | "query:postgres@1" | "query:databricks@1" | "posts:crustdata@1" | "posts:x@1" | "people:followers:x@1" | "people:followers:self:x@1" | "contacts:hubspot@1" | "companies:hubspot@1" | "deals:hubspot@1" | "owners:hubspot@1" | "contacts:salesforce@1" | "leads:salesforce@1" | "accounts:salesforce@1" | "opportunities:salesforce@1" | "users:salesforce@1" | "query:salesforce@1" | "people:attio@1" | "companies:attio@1" | "deals:attio@1" | "records:attio@1" | "entries:attio@1" | "query:attio@1" | "users:attio@1")[]>;
|
|
58
58
|
};
|
|
59
59
|
type UseSearchCatalogTableReturn = ReturnType<typeof useSearchCatalogTable>;
|
|
60
60
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pipe0/react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.36",
|
|
4
4
|
"description": "React component library for building forms and catalogs powered by pipe0 pipes and searches.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "pipe0",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"react-hook-form": "^7.62.0",
|
|
86
86
|
"swr": "^2.4.1",
|
|
87
87
|
"tailwind-merge": "^3.3.1",
|
|
88
|
-
"@pipe0/base": "1.0.
|
|
88
|
+
"@pipe0/base": "1.0.36"
|
|
89
89
|
},
|
|
90
90
|
"devDependencies": {
|
|
91
91
|
"@base-ui/react": "^1.6.0",
|