Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 79 additions & 17 deletions apps/docs/content/docs/de/yaml/blocks/loop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ type: object
required:
- type
- name
- inputs
- connections
properties:
type:
Expand All @@ -22,21 +21,23 @@ properties:
description: Display name for this loop block
inputs:
type: object
required:
- loopType
description: Optional. If omitted, defaults will be applied.
properties:
loopType:
type: string
enum: [for, forEach]
description: Type of loop to execute
default: for
iterations:
type: number
description: Number of iterations (for 'for' loops)
default: 5
minimum: 1
maximum: 1000
collection:
type: string
description: Collection to iterate over (for 'forEach' loops)
default: ""
maxConcurrency:
type: number
description: Maximum concurrent executions
Expand All @@ -45,40 +46,48 @@ properties:
maximum: 10
connections:
type: object
required:
- loop
properties:
# Nested format (recommended)
loop:
type: object
required:
- start
properties:
start:
type: string
description: Target block ID to execute inside the loop
end:
type: string
description: Target block ID for loop completion (optional)
# Direct handle format (alternative)
loop-start-source:
type: string | string[]
description: Target block ID to execute inside the loop (direct format)
loop-end-source:
type: string | string[]
description: Target block ID for loop completion (direct format, optional)
Comment on lines +61 to +66
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: The type definition 'string | string[]' uses TypeScript union syntax but this is YAML documentation. Consider using YAML-appropriate syntax or clarifying this is for reference only.

Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/de/yaml/blocks/loop.mdx
Line: 61:66

Comment:
style: The type definition 'string | string[]' uses TypeScript union syntax but this is YAML documentation. Consider using YAML-appropriate syntax or clarifying this is for reference only.

How can I resolve this? If you propose a fix, please make it concise.

error:
type: string
description: Target block ID for error handling
note: Use either the nested 'loop' format OR the direct 'loop-start-source' format, not both
```

## Verbindungskonfiguration

Loop-Blöcke verwenden ein spezielles Verbindungsformat mit einem `loop`Abschnitt:
Loop-Blöcke unterstützen zwei Verbindungsformate:

### Direktes Handle-Format (Alternative)

```yaml
connections:
loop:
start: <string> # Target block ID to execute inside the loop
end: <string> # Target block ID after loop completion (optional)
loop-start-source: <string> # Target block ID to execute inside the loop
loop-end-source: <string> # Target block ID after loop completion (optional)
error: <string> # Target block ID for error handling (optional)
```

Beide Formate funktionieren identisch. Verwenden Sie das Format, das Ihnen besser gefällt.

## Konfiguration von untergeordneten Blöcken

Blöcke innerhalb einer Schleife müssen ihre `parentId` auf die Loop-Block-ID setzen:
Blöcke innerhalb einer Schleife müssen ihre `parentId` auf die Loop-Block-ID gesetzt haben. Die Eigenschaft `extent` wird automatisch auf `'parent'` gesetzt und muss nicht angegeben werden:

```yaml
loop-1:
Expand Down Expand Up @@ -106,7 +115,7 @@ process-item:

## Beispiele

### For-Schleife (feste Iterationen)
### For-Schleife (feste Anzahl von Iterationen)

```yaml
countdown-loop:
Expand Down Expand Up @@ -227,7 +236,7 @@ store-analysis:
};
```

### Schleife mit paralleler Verarbeitung
### Schleife für parallele Verarbeitung

```yaml
parallel-processing-loop:
Expand Down Expand Up @@ -261,9 +270,62 @@ process-task:
success: task-completed
```

### Beispiel für direktes Handle-Format

Dieselbe Schleife kann mit dem direkten Handle-Format geschrieben werden:

```yaml
my-loop:
type: loop
name: "Process Items"
inputs:
loopType: forEach
collection: <start.items>
connections:
loop-start-source: process-item # Direct handle format
loop-end-source: final-results # Direct handle format
error: handle-error

process-item:
type: agent
name: "Process Item"
parentId: my-loop
inputs:
systemPrompt: "Process this item"
userPrompt: <loop.currentItem>
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'
```

### Minimales Schleifenbeispiel (mit Standardwerten)

Sie können den Abschnitt `inputs` vollständig weglassen, dann werden Standardwerte angewendet:

```yaml
simple-loop:
type: loop
name: "Simple Loop"
# No inputs section - defaults to loopType: 'for', iterations: 5
Comment on lines +302 to +308
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

syntax: The comment '# No inputs section - defaults to loopType: 'for', iterations: 5' is in English within German documentation. Should be translated for consistency.

Suggested change
Sie können den Abschnitt `inputs` vollständig weglassen, dann werden Standardwerte angewendet:
```yaml
simple-loop:
type: loop
name: "Simple Loop"
# No inputs section - defaults to loopType: 'for', iterations: 5
Sie können den Abschnitt `inputs` vollständig weglassen, dann werden Standardwerte angewendet:
```yaml
simple-loop:
type: loop
name: "Simple Loop"
# Kein inputs-Abschnitt - Standardwerte: loopType: 'for', iterations: 5
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/de/yaml/blocks/loop.mdx
Line: 302:308

Comment:
syntax: The comment '# No inputs section - defaults to loopType: 'for', iterations: 5' is in English within German documentation. Should be translated for consistency.

```suggestion
Sie können den Abschnitt `inputs` vollständig weglassen, dann werden Standardwerte angewendet:

```yaml
simple-loop:
  type: loop
  name: "Simple Loop"
  # Kein inputs-Abschnitt - Standardwerte: loopType: 'for', iterations: 5
```

How can I resolve this? If you propose a fix, please make it concise.

connections:
loop-start-source: process-step
loop-end-source: complete

process-step:
type: agent
name: "Process Step"
parentId: simple-loop
inputs:
systemPrompt: "Execute step"
userPrompt: "Step <loop.index>"
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'
```

Diese Schleife führt standardmäßig 5 Iterationen aus.

## Schleifenvariablen

Innerhalb von untergeordneten Schleifenblöcken sind diese speziellen Variablen verfügbar:
Innerhalb von Schleifenunterblöcken sind diese speziellen Variablen verfügbar:

```yaml
# Available in all child blocks of the loop
Expand All @@ -290,6 +352,6 @@ final-processor:
- Verwenden Sie forEach für die Verarbeitung von Sammlungen, for-Schleifen für feste Iterationen
- Erwägen Sie die Verwendung von maxConcurrency für I/O-gebundene Operationen
- Integrieren Sie Fehlerbehandlung für eine robuste Schleifenausführung
- Verwenden Sie aussagekräftige Namen für Schleifen-Unterblöcke
- Verwenden Sie aussagekräftige Namen für Schleifenunterblöcke
- Testen Sie zuerst mit kleinen Sammlungen
- Überwachen Sie die Ausführungszeit bei großen Sammlungen
- Überwachen Sie die Ausführungszeit für große Sammlungen
90 changes: 76 additions & 14 deletions apps/docs/content/docs/es/yaml/blocks/loop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ type: object
required:
- type
- name
- inputs
- connections
properties:
type:
Expand All @@ -22,21 +21,23 @@ properties:
description: Display name for this loop block
inputs:
type: object
required:
- loopType
description: Optional. If omitted, defaults will be applied.
properties:
loopType:
type: string
enum: [for, forEach]
description: Type of loop to execute
default: for
iterations:
type: number
description: Number of iterations (for 'for' loops)
default: 5
minimum: 1
maximum: 1000
collection:
type: string
description: Collection to iterate over (for 'forEach' loops)
default: ""
maxConcurrency:
type: number
description: Maximum concurrent executions
Expand All @@ -45,40 +46,48 @@ properties:
maximum: 10
connections:
type: object
required:
- loop
properties:
# Nested format (recommended)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Consider using Spanish technical terminology - 'Formato anidado (recomendado)' instead of 'Nested format (recommended)' for consistency

Suggested change
# Nested format (recommended)
# Formato anidado (recomendado)
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/es/yaml/blocks/loop.mdx
Line: 50:50

Comment:
style: Consider using Spanish technical terminology - 'Formato anidado (recomendado)' instead of 'Nested format (recommended)' for consistency

```suggestion
      # Formato anidado (recomendado)
```

How can I resolve this? If you propose a fix, please make it concise.

loop:
type: object
required:
- start
properties:
start:
type: string
description: Target block ID to execute inside the loop
end:
type: string
description: Target block ID for loop completion (optional)
# Direct handle format (alternative)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Consider translating 'Direct handle format (alternative)' to maintain language consistency throughout the document

Suggested change
# Direct handle format (alternative)
# Formato de manejador directo (alternativo)
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/es/yaml/blocks/loop.mdx
Line: 60:60

Comment:
style: Consider translating 'Direct handle format (alternative)' to maintain language consistency throughout the document

```suggestion
      # Formato de manejador directo (alternativo)
```

How can I resolve this? If you propose a fix, please make it concise.

loop-start-source:
type: string | string[]
description: Target block ID to execute inside the loop (direct format)
loop-end-source:
type: string | string[]
description: Target block ID for loop completion (direct format, optional)
error:
type: string
description: Target block ID for error handling
note: Use either the nested 'loop' format OR the direct 'loop-start-source' format, not both
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: The note should be translated to Spanish: 'nota: Usa el formato anidado 'loop' O el formato directo 'loop-start-source', no ambos'

Suggested change
note: Use either the nested 'loop' format OR the direct 'loop-start-source' format, not both
nota: Usa el formato anidado 'loop' O el formato directo 'loop-start-source', no ambos
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/es/yaml/blocks/loop.mdx
Line: 70:70

Comment:
style: The note should be translated to Spanish: 'nota: Usa el formato anidado 'loop' O el formato directo 'loop-start-source', no ambos'

```suggestion
    nota: Usa el formato anidado 'loop' O el formato directo 'loop-start-source', no ambos
```

How can I resolve this? If you propose a fix, please make it concise.

```

## Configuración de conexión

Los bloques Loop utilizan un formato de conexión especial con una sección `loop`:
Los bloques de bucle admiten dos formatos de conexión:

### Formato de manejador directo (alternativo)

```yaml
connections:
loop:
start: <string> # Target block ID to execute inside the loop
end: <string> # Target block ID after loop completion (optional)
loop-start-source: <string> # Target block ID to execute inside the loop
loop-end-source: <string> # Target block ID after loop completion (optional)
error: <string> # Target block ID for error handling (optional)
```

Ambos formatos funcionan de manera idéntica. Usa el que prefieras.

## Configuración de bloques secundarios

Los bloques dentro de un bucle deben tener su `parentId` configurado con el ID del bloque loop:
Los bloques dentro de un bucle deben tener su `parentId` configurado con el ID del bloque de bucle. La propiedad `extent` se establece automáticamente como `'parent'` y no necesita ser especificada:

```yaml
loop-1:
Expand Down Expand Up @@ -261,6 +270,59 @@ process-task:
success: task-completed
```

### Ejemplo de formato de manejador directo

El mismo bucle puede escribirse usando el formato de manejador directo:

```yaml
my-loop:
type: loop
name: "Process Items"
inputs:
loopType: forEach
collection: <start.items>
connections:
loop-start-source: process-item # Direct handle format
loop-end-source: final-results # Direct handle format
Comment on lines +285 to +286
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Comments should be in Spanish: '# Formato de manejador directo' instead of '# Direct handle format'

Suggested change
loop-start-source: process-item # Direct handle format
loop-end-source: final-results # Direct handle format
loop-start-source: process-item # Formato de manejador directo
loop-end-source: final-results # Formato de manejador directo
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/es/yaml/blocks/loop.mdx
Line: 285:286

Comment:
style: Comments should be in Spanish: '# Formato de manejador directo' instead of '# Direct handle format'

```suggestion
    loop-start-source: process-item      # Formato de manejador directo
    loop-end-source: final-results       # Formato de manejador directo
```

How can I resolve this? If you propose a fix, please make it concise.

error: handle-error

process-item:
type: agent
name: "Process Item"
parentId: my-loop
inputs:
systemPrompt: "Process this item"
userPrompt: <loop.currentItem>
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'
```

### Ejemplo de bucle mínimo (usando valores predeterminados)

Puedes omitir completamente la sección `inputs`, y se aplicarán los valores predeterminados:

```yaml
simple-loop:
type: loop
name: "Simple Loop"
# No inputs section - defaults to loopType: 'for', iterations: 5
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

style: Translate the comment to Spanish: '# Sin sección inputs - por defecto loopType: 'for', iterations: 5'

Suggested change
# No inputs section - defaults to loopType: 'for', iterations: 5
# Sin sección inputs - por defecto loopType: 'for', iterations: 5
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/docs/content/docs/es/yaml/blocks/loop.mdx
Line: 308:308

Comment:
style: Translate the comment to Spanish: '# Sin sección inputs - por defecto loopType: 'for', iterations: 5'

```suggestion
  # Sin sección inputs - por defecto loopType: 'for', iterations: 5
```

How can I resolve this? If you propose a fix, please make it concise.

connections:
loop-start-source: process-step
loop-end-source: complete

process-step:
type: agent
name: "Process Step"
parentId: simple-loop
inputs:
systemPrompt: "Execute step"
userPrompt: "Step <loop.index>"
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'
```

Este bucle ejecutará 5 iteraciones por defecto.

## Variables de bucle

Dentro de los bloques secundarios del bucle, estas variables especiales están disponibles:
Expand All @@ -286,10 +348,10 @@ final-processor:

## Mejores prácticas

- Establece límites razonables de iteración para evitar tiempos de ejecución prolongados
- Establece límites de iteración razonables para evitar tiempos de ejecución largos
- Usa forEach para procesar colecciones, bucles for para iteraciones fijas
- Considera usar maxConcurrency para operaciones limitadas por E/S
- Incluye manejo de errores para una ejecución robusta de bucles
- Incluye manejo de errores para una ejecución robusta del bucle
- Usa nombres descriptivos para los bloques secundarios del bucle
- Prueba primero con colecciones pequeñas
- Monitorea el tiempo de ejecución para colecciones grandes
Loading