Surface Zigflow expression capabilities for tooling and MCP consumers
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza rastreando los jqFuncs, deterministicBuiltins, las opciones del compilador y el análisis de determinismo existentes para identificar las fuentes actuales de las capacidades de las expresiones. Define la representación pública compartida y su superficie de descubrimiento, y luego verifica que el tiempo de ejecución, la validación, las herramientas y la documentación generada se deriven de ella sin cambiar el comportamiento de validación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Originally from https://github.com/zigflow/zigflow/issues/420#issuecomment-4589857438 by @yoricksmeets
Summary
Zigflow now performs expression parsing, compilation and determinism analysis during validation.
As part of this work, Zigflow has effectively defined its own expression environment:
- Supported jq builtins
- Supported Zigflow functions
- Supported Zigflow variables
- Deterministic functions
- Non-deterministic functions
- Validation rules around where expressions may be used
These capabilities are currently encoded in code (jqFuncs, deterministicBuiltins, compiler options, determinism analysis), but are not surfaced to users or tooling.
Problem
Tooling currently has no authoritative way to discover:
- Which functions are available
- Which variables are available
- Which functions are deterministic
- Which functions are only valid in specific contexts (for example
Set) - What the effective Zigflow subset of jq looks like
This makes it harder to build:
- Zigflow Studio
- MCP integrations
- AI-assisted workflow authoring
- Editor autocomplete
- Expression validation tooling
- Documentation generation
Consumers must currently reverse-engineer these capabilities from source code.
Proposal
Create a public representation of the Zigflow expression environment.
Potential outputs could include:
CLI
zigflow expressions list
Example:
Functions:
uuid (non-deterministic)
timestamp (non-deterministic)
now (non-deterministic)
slugify (deterministic)
Variables:
$input
$data
$context
$output
$env
MCP
Expose expression capabilities through a dedicated MCP tool or metadata endpoint.
Example:
{
"functions": [
{
"name": "uuid",
"deterministic": false
}
],
"variables": [
"$input",
"$data",
"$context",
"$output",
"$env"
]
}
Documentation
Generate expression reference documentation from the same source of truth.
Goals
- Single source of truth for supported expression capabilities
- No duplication between runtime, validation and documentation
- Enable richer tooling and autocomplete
- Enable AI-assisted authoring to discover available functions and variables
- Make the effective Zigflow expression language visible to users
Non-goals
- Changing validation behaviour
- Expanding expression capabilities
- Replacing jq
- Introducing a new expression language
Acceptance criteria
- Expression capabilities are discoverable programmatically
- Runtime and validation derive from the same capability definitions
- Tooling can determine whether a function is deterministic
- Tooling can determine which variables are available
- Documentation can be generated from the same source of truth
- Lenguaje dominante
- Go
- Estrellas
- 206
- Forks
- 27
- Merge medio
- 7 h 17 min
- PR fusionados (30 d)
- 27
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de zigflow/zigflow
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
never-stale v1
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
-
Dificultad 2/5 Medio día Aptitud para principiantes 74/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
-
Support workflow streams Abiertoenhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Todos los issues de zigflow/zigflow
Issues similares
-
ai-generated
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
SiaFoundation/indexd#1116 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
wakatime/wakatime-cli#1585 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Agent-Field/CodeAF#1489 ·