cp adapted to 2026 poweron
Some checks failed
Deploy Nyla Frontend to Integration / deploy (push) Failing after 56s

This commit is contained in:
ValueOn AG 2026-06-09 09:53:38 +02:00
parent a13a158c67
commit 7eb305f910
457 changed files with 1026 additions and 21 deletions

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Configuration reads mandatory env vars set by .env (copied from config/env-*.env by CI). * Configuration reads mandatory env vars set by .env (copied from config/env-*.env by CI).
* *

View file

@ -1 +1,3 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { getApiBaseUrl, getAppName } from './config'; export { getApiBaseUrl, getAppName } from './config';

2
env.d.ts vendored
View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/// <reference types="vite/client" /> /// <reference types="vite/client" />
interface ImportMetaEnv { interface ImportMetaEnv {

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* App.tsx * App.tsx
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
// api.ts // api.ts
import axios from 'axios'; import axios from 'axios';
import { addCSRFTokenToHeaders, getCSRFToken, generateAndStoreCSRFToken } from './utils/csrfUtils'; import { addCSRFTokenToHeaders, getCSRFToken, generateAndStoreCSRFToken } from './utils/csrfUtils';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
import type { AttributeType } from '../utils/attributeTypeMapper'; import type { AttributeType } from '../utils/attributeTypeMapper';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
import api from '../api'; import api from '../api';
import { addCSRFTokenToHeaders } from '../utils/csrfUtils'; import { addCSRFTokenToHeaders } from '../utils/csrfUtils';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* ClickUp API ClickUp-specific functions for the workflow automation flow editor. * ClickUp API ClickUp-specific functions for the workflow automation flow editor.
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import api from '../api'; import api from '../api';
import { addCSRFTokenToHeaders, getCSRFToken, generateAndStoreCSRFToken } from '../utils/csrfUtils'; import { addCSRFTokenToHeaders, getCSRFToken, generateAndStoreCSRFToken } from '../utils/csrfUtils';
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Features API * Features API
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Neutralization API * Neutralization API
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import api from '../api'; import api from '../api';
import type { ApiRequestOptions } from '../hooks/useApi'; import type { ApiRequestOptions } from '../hooks/useApi';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Redmine API * Redmine API
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Store API * Store API
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import api from '../api'; import api from '../api';
export interface TableListViewRow { export interface TableListViewRow {

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import api from '../api'; import api from '../api';
import type { VoiceOption } from './voiceCatalogApi'; import type { VoiceOption } from './voiceCatalogApi';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Trustee API * Trustee API
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { ApiRequestOptions } from '../hooks/useApi'; import { ApiRequestOptions } from '../hooks/useApi';
// ============================================================================ // ============================================================================

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Voice / Language Catalog API. * Voice / Language Catalog API.
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Automation API (mandate-scoped) * Workflow Automation API (mandate-scoped)
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* AccessLevelSelect * AccessLevelSelect
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* AccessRulesEditor * AccessRulesEditor
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* AccessRulesTable * AccessRulesTable
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* AccessRules Components * AccessRules Components
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* AddConnectionWizard * AddConnectionWizard
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* ChatInput -- Shared chat input component. * ChatInput -- Shared chat input component.
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* ChatMessageList -- Shared chat message display component. * ChatMessageList -- Shared chat message display component.
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { ChatMessageList } from './ChatMessageList'; export { ChatMessageList } from './ChatMessageList';
export type { ChatMessage } from './ChatMessageList'; export type { ChatMessage } from './ChatMessageList';
export { ChatInput } from './ChatInput'; export { ChatInput } from './ChatInput';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useCallback, useEffect, useState } from 'react'; import { useCallback, useEffect, useState } from 'react';
import { IoIosDownload, IoIosCopy } from 'react-icons/io'; import { IoIosDownload, IoIosCopy } from 'react-icons/io';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useState, useEffect } from 'react'; import { useState, useEffect } from 'react';
import { IoIosDownload } from 'react-icons/io'; import { IoIosDownload } from 'react-icons/io';
import { Popup, PopupAction } from '../UiComponents/Popup/Popup'; import { Popup, PopupAction } from '../UiComponents/Popup/Popup';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { ContentPreview } from './ContentPreview'; export { ContentPreview } from './ContentPreview';
export type { ContentPreviewProps } from './ContentPreview'; export type { ContentPreviewProps } from './ContentPreview';
export { UrlContentPreview } from './UrlContentPreview'; export { UrlContentPreview } from './UrlContentPreview';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';
interface ApplicationRendererProps { interface ApplicationRendererProps {

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useEffect, useMemo, useState } from 'react'; import { useEffect, useMemo, useState } from 'react';
import * as XLSX from 'xlsx'; import * as XLSX from 'xlsx';
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';
interface HtmlRendererProps { interface HtmlRendererProps {

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';
interface ImageRendererProps { interface ImageRendererProps {

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useState } from 'react'; import { useState } from 'react';
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useEffect, useRef, useState } from 'react'; import { useEffect, useRef, useState } from 'react';
// @ts-ignore // @ts-ignore
import * as pdfjsLib from 'pdfjs-dist'; import * as pdfjsLib from 'pdfjs-dist';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { IoIosWarning } from 'react-icons/io'; import { IoIosWarning } from 'react-icons/io';
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';
import styles from '../ContentPreview.module.css'; import styles from '../ContentPreview.module.css';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { useEffect, useMemo, useRef, useState } from 'react'; import { useEffect, useMemo, useRef, useState } from 'react';
import { renderAsync } from 'docx-preview'; import { renderAsync } from 'docx-preview';
import { useLanguage } from '../../../providers/language/LanguageContext'; import { useLanguage } from '../../../providers/language/LanguageContext';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { JsonRenderer } from './JsonRenderer'; export { JsonRenderer } from './JsonRenderer';
export { ImageRenderer } from './ImageRenderer'; export { ImageRenderer } from './ImageRenderer';
export { TextRenderer } from './TextRenderer'; export { TextRenderer } from './TextRenderer';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Data flow context for Data Picker and DynamicValueField. * Workflow Flow Editor - Data flow context for Data Picker and DynamicValueField.
* Extended with portTypeCatalog and systemVariables for the Typed Port System. * Extended with portTypeCatalog and systemVariables for the Typed Port System.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* CanvasHeader - Workflow controls, version selector, and execute result. * CanvasHeader - Workflow controls, version selector, and execute result.
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* EditorChatPanel * EditorChatPanel
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* EditorWorkflowChatList * EditorWorkflowChatList
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* FlowCanvas - Workflow graph canvas with nodes and connection lines. * FlowCanvas - Workflow graph canvas with nodes and connection lines.
* Nodes have 4 connection handles (one per side), drag nodes to add, connect with arrows. * Nodes have 4 connection handles (one per side), drag nodes to add, connect with arrows.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* NodeConfigPanel - Generic parameter renderer for all node types. * NodeConfigPanel - Generic parameter renderer for all node types.
* Renders each parameter using FRONTEND_TYPE_RENDERERS based on frontendType. * Renders each parameter using FRONTEND_TYPE_RENDERERS based on frontendType.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* NodeListItem - Draggable node type item for the sidebar. * NodeListItem - Draggable node type item for the sidebar.
* Used in both regular categories and I/O sub-groups. * Used in both regular categories and I/O sub-groups.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* NodeSidebar - Sidebar with searchable, collapsible node list. * NodeSidebar - Sidebar with searchable, collapsible node list.
* Groups node types by category (start, input, flow, data, ai, email, sharepoint). * Groups node types by category (start, input, flow, data, ai, email, sharepoint).

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* RunTracingPanel * RunTracingPanel
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* TemplatePicker - modal to browse and select a workflow template for creating a new workflow. * TemplatePicker - modal to browse and select a workflow template for creating a new workflow.
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* WorkflowFlowEditor * WorkflowFlowEditor
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { WorkflowFlowEditor, WorkflowFlowEditor as FlowEditor } from './editor/WorkflowFlowEditor'; export { WorkflowFlowEditor, WorkflowFlowEditor as FlowEditor } from './editor/WorkflowFlowEditor';
export type { PendingFile, EditorDataSource, EditorFeatureDataSource } from './editor/EditorChatPanel'; export type { PendingFile, EditorDataSource, EditorFeatureDataSource } from './editor/EditorChatPanel';
export { FlowCanvas, STICKY_NOTE_PALETTE, STICKY_NOTE_DEFAULT_COLOR_ID, STICKY_NOTE_DEFAULT_HEIGHT, getStickyNotePaletteEntry } from './editor/FlowCanvas'; export { FlowCanvas, STICKY_NOTE_PALETTE, STICKY_NOTE_DEFAULT_COLOR_ID, STICKY_NOTE_DEFAULT_HEIGHT, getStickyNotePaletteEntry } from './editor/FlowCanvas';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* One text field per option the text the end user sees in the dropdown. * One text field per option the text the end user sees in the dropdown.
* Stored as { value, label } with the same string so payload and UI stay in sync. * Stored as { value, label } with the same string so payload and UI stay in sync.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Form node config - draggable fields, types, required toggle * Form node config - draggable fields, types, required toggle
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Helpers for optional select/multiselect rows on workflow form field definitions. * Helpers for optional select/multiselect rows on workflow form field definitions.
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { FormNodeConfig } from './FormNodeConfig'; export { FormNodeConfig } from './FormNodeConfig';
export { FormFieldOptionsEditor } from './FormFieldOptionsEditor'; export { FormFieldOptionsEditor } from './FormFieldOptionsEditor';
export type { FormFieldOptionRow } from './formFieldOptionsUtils'; export type { FormFieldOptionRow } from './formFieldOptionsUtils';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Backend-driven case list for flow.switch (depends on value dataRef). * Backend-driven case list for flow.switch (depends on value dataRef).
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* clickupList hierarchical ClickUp list picker via connector browse API. * clickupList hierarchical ClickUp list picker via connector browse API.
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Backend-driven condition editor for flow.ifElse (depends on Item dataRef). * Backend-driven condition editor for flow.ifElse (depends on Item dataRef).
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* One place to configure context.setContext rows: target key, then either * One place to configure context.setContext rows: target key, then either
* upstream picker, a fixed literal, or a human task. * upstream picker, a fixed literal, or a human task.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* ContextBuilderRenderer multi-select context binding for AI nodes. * ContextBuilderRenderer multi-select context binding for AI nodes.
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* DataRefRenderer Pick-not-Push attribute binding using the existing * DataRefRenderer Pick-not-Push attribute binding using the existing
* hierarchical DataPicker. * hierarchical DataPicker.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* FeatureInstancePicker renderer for frontendType="featureInstance". * FeatureInstancePicker renderer for frontendType="featureInstance".
* *

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* TemplateTextarea Freitext mit eingebetteten {{nodeId.path}} Tokens. * TemplateTextarea Freitext mit eingebetteten {{nodeId.path}} Tokens.
* Tokens werden zur Laufzeit von resolveParameterReferences aufgeloest (Gateway). * Tokens werden zur Laufzeit von resolveParameterReferences aufgeloest (Gateway).

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* userFileFolder FormGeneratorTree embedded: combobox-style trigger + expandable tree. * userFileFolder FormGeneratorTree embedded: combobox-style trigger + expandable tree.
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
import { describe, expect, it } from 'vitest'; import { describe, expect, it } from 'vitest';
import { import {
clickupBrowseParentPath, clickupBrowseParentPath,

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** Parse virtual ClickUp list paths: /team/{teamId}/list/{listId} */ /** Parse virtual ClickUp list paths: /team/{teamId}/list/{listId} */
const LIST_PATH_RE = /^\/team\/([^/]+)\/list\/([^/]+)$/; const LIST_PATH_RE = /^\/team\/([^/]+)\/list\/([^/]+)$/;

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Generic FrontendType renderer registry. * Generic FrontendType renderer registry.
* Maps frontendType strings to React components. * Maps frontendType strings to React components.

View file

@ -1,2 +1,4 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { ConditionEditor as IfElseNodeConfig } from '../frontendTypeRenderers/ConditionEditor'; export { ConditionEditor as IfElseNodeConfig } from '../frontendTypeRenderers/ConditionEditor';
export type { StructuredCondition } from '../frontendTypeRenderers/ConditionEditor'; export type { StructuredCondition } from '../frontendTypeRenderers/ConditionEditor';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Loop node config - Datenquelle für Iteration mit benutzerfreundlichen Labels. * Loop node config - Datenquelle für Iteration mit benutzerfreundlichen Labels.
* Z.B. für jedes Formularfeld, jede Datei aus Upload, jede E-Mail aus Suche. * Z.B. für jedes Formularfeld, jede Datei aus Upload, jede E-Mail aus Suche.

View file

@ -1 +1,3 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
export { LoopNodeConfig } from './LoopNodeConfig'; export { LoopNodeConfig } from './LoopNodeConfig';

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Shared mapping: file type options (accept strings) MIME types. * Shared mapping: file type options (accept strings) MIME types.
* Used by Upload node config (allowed types) and IfElse node (mimeType comparison). * Used by Upload node config (allowed types) and IfElse node (mimeType comparison).

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Small label for workflow nodes that consume AI credits (LLM calls). * Small label for workflow nodes that consume AI credits (LLM calls).
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Schema-based Data Picker. * Workflow Flow Editor - Schema-based Data Picker.
* Builds pickable paths from portTypeCatalog + node outputPorts, or from * Builds pickable paths from portTypeCatalog + node outputPorts, or from

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Field that supports node reference only (no static value). * Workflow Flow Editor - Field that supports node reference only (no static value).
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Text/number field: Quelle wählen Statisch (Eingabe) oder Kontext-Ref. * Text/number field: Quelle wählen Statisch (Eingabe) oder Kontext-Ref.
* Textfeld nur bei Statisch, nicht bei Kontext-Referenz. * Textfeld nur bei Statisch, nicht bei Kontext-Referenz.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Loop node - Datenquelle für Iteration mit benutzerfreundlichen Labels. * Loop node - Datenquelle für Iteration mit benutzerfreundlichen Labels.
* Zeigt nur iterierbare Quellen: Arrays und Objekte (Formularfelder {name, value}). * Zeigt nur iterierbare Quellen: Arrays und Objekte (Formularfelder {name, value}).

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Inline dropdown to select a data source (node + path) - no popup. * Inline dropdown to select a data source (node + path) - no popup.
* Form nodes (trigger.form / input.form): only payload.<fieldName> paths (no duplicate tree). * Form nodes (trigger.form / input.form): only payload.<fieldName> paths (no duplicate tree).

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* RequiredAttributePicker Phase-4 Schicht-4 binding affordance for * RequiredAttributePicker Phase-4 Schicht-4 binding affordance for
* required parameters of a Schicht-3 Adapter (Editor-Node). * required parameters of a Schicht-3 Adapter (Editor-Node).

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Category icons for node types * Category icons for node types
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Shared condition operators for If/Else and Switch nodes. * Shared condition operators for If/Else and Switch nodes.
* Type-dependent: number gets <, >, etc.; string gets contains, equals, etc. * Type-dependent: number gets <, >, etc.; string gets contains, equals, etc.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Constants * Workflow Flow Editor - Constants
* Category ordering for node sidebar. * Category ordering for node sidebar.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Graph helpers for data flow (ancestors, topo order). * Workflow Flow Editor - Graph helpers for data flow (ancestors, topo order).
*/ */

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Data reference format and helpers. * Workflow Flow Editor - Data reference format and helpers.
* All dynamic values use structured ref/value objects, not plain strings. * All dynamic values use structured ref/value objects, not plain strings.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Graph conversion utilities * Workflow Flow Editor - Graph conversion utilities
* Converts between API graph format and canvas internal format. * Converts between API graph format and canvas internal format.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Workflow Flow Editor - Schema-based output preview builders. * Workflow Flow Editor - Schema-based output preview builders.
* Derives preview trees from portTypeCatalog + node outputPorts. * Derives preview trees from portTypeCatalog + node outputPorts.

View file

@ -1,3 +1,5 @@
// Copyright (c) 2026 PowerOn AG
// All rights reserved.
/** /**
* Phase-4 Schicht-4 (Instanz-Bindings) Validation utilities. * Phase-4 Schicht-4 (Instanz-Bindings) Validation utilities.
* *

Some files were not shown because too many files have changed in this diff Show more