Jev: Ask
Description
Section titled “Description”This is the most general node of the Jev family. It sends a text (state) and a set of typed questions to Jev, TypeSafe’s decision model, and returns one answer per question with probabilities. It does not generate text: it chooses among the options you define.
Jev evaluates all questions in a request in parallel, so adding questions barely increases latency. This is the fan-out pattern: ask everything that may be needed at once and decide later, in the workflow, which answers to use.
Question types
Section titled “Question types”| Type | Question it answers | criteria | Answer |
|---|---|---|---|
noul | Is it true? | optional {"true": "...", "false": "..."} | probability from 0 to 1 |
choice | Which of these options? | options object (1 to 255) | option, confidence and probabilities |
score | Which level of this scale? | levels list (1 to 10) | decimal score, confidence and probabilities |
Configuration
Section titled “Configuration”Parameters
Section titled “Parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
| credentials_id | credentials | Yes | TypeSafe credential (API key). |
| model | select | Yes | Jev model. jev-latest is an alias that moves to new models on release (today jev-1.13.0); in production pin jev-1.13.0 or jev-1.14.0. |
| state_mode | select | Yes | What is evaluated: text (a text), object (object with named fields, recommended) or all (all data reaching the node). |
| state | textarea | No | Text or JSON object to evaluate. Supports \{\{field\}\} variables. |
| long_context | boolean | No | Long context (experimental): raises the text limit from 64k to 262k tokens. It is slower and less accurate; use it only when the text does not fit otherwise. |
| output_key | text | No | Key in the data where the result is stored. Default jev; the rest of the data is kept. |
| questions | json | Yes | Map {name: {type, instructions, criteria}} or list [{name, ...}]. Names allow letters, digits, _ and -. |
Credentials
Section titled “Credentials”Requires a TypeSafe credential (credentials_id) holding the api_key from the TypeSafe console (TYPESAFE_API_KEY). The key is yours: TypeSafe bills the usage, not Floogos. In the credential, the Test button calls GET /v1/models (no tokens spent).
Output
Section titled “Output”The result is added to the input data (it does not replace it): the ticket or form stays available downstream. Read it as \{\{jev.field\}\}.
{ "nextModule": "next-node", "data": { "...": "input data, untouched", "jev": { "answers": { "urgente": { "type": "noul", "probability": 0.95, "confidence": 0.9, "answer": "yes" }, "equipo": { "type": "choice", "choice": "technical", "confidence": 0.7, "probabilities": { "billing": 0.1, "technical": 0.8, "sales": 0.1 } }, "enfado": { "type": "score", "score": 1.5, "normalized": 0.75, "label": "Very angry, strong language", "confidence": 0.6 } }, "model": "jev-1.13.0", "usage": { "input_tokens": 120, "output_tokens": 12 }, "cost_usd": 0.000005 } }}A single output (nextModule).
Example
Section titled “Example”Triaging a ticket in a single call
Section titled “Triaging a ticket in a single call”Questions:
{ "urgent": { "type": "noul", "instructions": "The message conveys urgency or time-sensitivity" }, "team": { "type": "choice", "instructions": "Which team should handle this", "criteria": { "billing": "Payment or subscription issues", "technical": "Bugs or integration problems", "sales": "Pricing or account questions" } }, "frustration": { "type": "score", "instructions": "How frustrated the customer appears", "criteria": ["Calm, just stating facts", "Frustrated but civil", "Very angry, strong language"] }}- Privacy: the text you evaluate leaves Floogos for TypeSafe, a third party. Per their documentation it is not used for training, and zero retention exists only on their Enterprise plan. Do not send data you cannot share; filter first with the Jev: Verify rules node (
pii) if needed. - Language: Jev performs best in English; other languages, Spanish included, work with lower accuracy. Test with your own data before automating, and write instructions in English if results are unreliable.
- Variables: the engine substitutes
\{\{field\}\}in the configuration before running the node. The node does not substitute again, so user text containing braces travels as-is. - Cost: 0.042 $ per million input tokens; output is free.
jev.cost_usdis a per-run estimate. - Errors:
missing_credentials,validation(configuration or 422),auth_error(401),rate_limited(429),overloaded(529),state_too_large,jev_errorandconnection_error. 429, 529, 5xx and network drops retry automatically (up to 3 times with growing delay); the rest do not. - Confidence:
confidenceis not an accuracy guarantee: calibrate thresholds with your own cases and start conservative. Do not automate destructive actions.