Skip to content

Jev: Score

Scores a text on one or several dimensions; each is a scale of 2 to 10 described levels (“Calm”, “Frustrated”, “Very angry”…). Jev evaluates all of them in parallel and independently.

Scores are normalized to 0-1 and combined with weights defined here, in the node (visible and adjustable):

composite = Σ weight × (normalized level) ÷ Σ weights

With a single dimension it is a simple score. The node routes to Low (composite below the low threshold, 0.34 by default), High (at or above the high threshold, 0.67) or Medium.

ParameterTypeRequiredDescription
credentials_idcredentialsYesTypeSafe credential (API key).
modelselectYesJev 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_modeselectYesWhat is evaluated: text (a text), object (object with named fields, recommended) or all (all data reaching the node).
statetextareaNoText or JSON object to evaluate. Supports \{\{field\}\} variables.
long_contextbooleanNoLong 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_keytextNoKey in the data where the result is stored. Default jev; the rest of the data is kept.
dimensionsjsonYesList [{name, instructions, criteria: [levels], weight}]. weight defaults to 1 and must be greater than 0.
threshold_lownumberNoBelow this value: Low. Default 0.34.
threshold_highnumberNoFrom this value: High. Default 0.67. Must be greater than the low one.

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).

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": "selected-route-target",
"data": {
"...": "input data, untouched",
"jev": {
"composite": 0.6,
"band": "mid",
"route": "mid",
"route_fallback": false,
"dimensions": {
"encaje": {
"score": 3,
"normalized": 1,
"label": "Excellent fit",
"confidence": 0.8,
"weight": 0.5
},
"urgencia": {
"score": 0,
"normalized": 0,
"label": "No timeline",
"confidence": 0.7,
"weight": 0.3
},
"presupuesto": {
"score": 1,
"normalized": 0.5,
"label": "Mentioned vaguely",
"confidence": 0.6,
"weight": 0.2
}
},
"model": "jev-1.13.0",
"usage": {
"input_tokens": 200,
"output_tokens": 9
},
"cost_usd": 0.000008
}
}
}

Several outputs: route_low, route_mid, route_high. Each port connects to its target; the node chooses which one to exit through.

Dimensions fit (0.5), urgency (0.3) and budget (0.2). High creates the deal in the CRM and alerts sales; Medium adds it to a follow-up sequence; Low archives it.

  • 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_usd is a per-run estimate.
  • Errors: missing_credentials, validation (configuration or 422), auth_error (401), rate_limited (429), overloaded (529), state_too_large, jev_error and connection_error. 429, 529, 5xx and network drops retry automatically (up to 3 times with growing delay); the rest do not.
  • Confidence: confidence is not an accuracy guarantee: calibrate thresholds with your own cases and start conservative. Do not automate destructive actions.