mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-29 19:35:20 +02:00
render.py (4): variable substitution, StrictUndefined raises on missing
keys, evaluate_predicate coerces to bool, render_value walks dicts/lists
and renders string leaves.
filters.py (4): slugify produces URL-safe output, date formats datetime
with strftime, date(None) → "" so templates can write
{{ inputs.last_fired_at | date }} on first run, date(str) passes through.
environment.py (4): the sandbox boundary — disallowed Jinja built-ins
(e.g. pprint) raise, and the finalize hook coerces non-string outputs
to predictable wire shapes (datetime → ISO, None → "", dict → JSON).
context.py (1): build_run_context exposes {run, inputs, steps} with the
exact shape every plan template body relies on.
13 tests total, all pure unit.
|
||
|---|---|---|
| .. | ||
| adapters | ||
| agents | ||
| automations | ||
| connector_indexers | ||
| connectors | ||
| db | ||
| e2e_fakes | ||
| etl_pipeline | ||
| google_unification | ||
| indexing_pipeline | ||
| middleware | ||
| observability | ||
| routes | ||
| services | ||
| tasks | ||
| utils | ||
| __init__.py | ||
| test_error_contract.py | ||
| test_obsidian_plugin_indexer.py | ||
| test_stream_new_chat_contract.py | ||