Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
f20f203
Clean up old agent modules: delete legacy files, fix all test impor…
renan-souza Jun 18, 2026
ad9fca0
Add LangGraph+MemorySaver chat orchestration and LLM round-trip tests
renan-souza Jun 18, 2026
4deea15
Agents reorg
renan-souza Jun 18, 2026
b40fbaf
Implement PROV-AGENT instrumentation for agentic AI provenance
renan-souza Jun 18, 2026
3f55cc3
Code reformat
renan-souza Jun 18, 2026
fa43757
Refactor
renan-souza Jun 18, 2026
915e420
Commit before merge
renan-souza Jun 18, 2026
b1fb468
Merge conflict resolutions
renan-souza Jun 18, 2026
396c66f
Major refactor to fix several separation of concerns issues
renan-souza Jun 19, 2026
572dbc2
Docs fix
renan-souza Jun 19, 2026
d21ac7b
Refactor agent MCP boundaries and webservice integration tests
renan-souza Jun 19, 2026
e2d2e9e
Add per-service health endpoint and ServicesAliveResult
renan-souza Jun 19, 2026
a716dc7
Small adjustment in report api
renan-souza Jun 19, 2026
684a3ec
Merge branch 'agent_refactor' of github.com:ORNL/flowcept into agent_…
renan-souza Jun 19, 2026
ae247f7
Implemented the no-settings quickstart path.
renan-souza Jun 19, 2026
1fd2112
Improving try and fix loop for llm queries
renan-souza Jun 19, 2026
24a7fd8
Fix in tests and code reformat
renan-souza Jun 19, 2026
a5a9d26
Fix in campaign retrieval
renan-souza Jun 19, 2026
36b386e
Merge branch 'agent_refactor' of github.com:ORNL/flowcept into agent_…
renan-souza Jun 19, 2026
7de8781
Partial commit: improving query responses
renan-souza Jun 19, 2026
68c6ad7
Adjusting prompts
renan-souza Jun 20, 2026
039ce2b
Commit before merge
renan-souza Jun 20, 2026
66c02bd
Enabling persistence of workflow domain data schema
renan-souza Jun 21, 2026
01d45af
Update docs
renan-souza Jun 21, 2026
f6c920b
Update ui
renan-souza Jun 21, 2026
7a7a082
Updating utility functions
renan-souza Jun 21, 2026
a6db299
Updating context manager -- \ Needs to fix for host in {AGENT_HOST, l…
renan-souza Jun 21, 2026
6051c0e
Updating query tests dataset
renan-souza Jun 21, 2026
bc5d9ee
Updating the agents/ module
renan-souza Jun 21, 2026
5d464ea
Updates before merge
renan-souza Jun 21, 2026
aff505d
Increasing parallelism between db and df query paths for the fc agent
renan-souza Jun 21, 2026
6aa4e45
Enabling RMQ support as one the MQ systems
renan-souza Jun 22, 2026
a304ca1
Improving code assistants mandates
renan-souza Jun 22, 2026
832dd6d
Saving workflow start time
renan-souza Jun 22, 2026
e681b4d
Refactor in saving blob objects and passing their metadata to the MQ …
renan-souza Jun 22, 2026
ce9db5a
Adding more questions to the test
renan-souza Jun 23, 2026
57a7109
Tool call fix
renan-souza Jun 23, 2026
c384825
fix code format
renan-souza Jun 23, 2026
090e78c
Fix test
renan-souza Jun 23, 2026
b65d489
Fix test
renan-souza Jun 23, 2026
89cbfe5
Fix in the controller
renan-souza Jun 24, 2026
551ea3e
Merge branch 'fc_ui' into agent_refactor
renan-souza Jun 24, 2026
ff745bc
Merge agents page
renan-souza Jun 24, 2026
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
2 changes: 1 addition & 1 deletion .github/workflows/run-tests-all-dbs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
python -c "from flowcept.configs import MONGO_ENABLED, LMDB_ENABLED; print('MONGO?', MONGO_ENABLED); print('LMDB?', LMDB_ENABLED)"
flowcept --init-settings --full -y
flowcept --config-profile full-online -y
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -k "not test_decorated_function_timed"
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"

- name: Test notebooks with pytest and redis
run: |
Expand Down
166 changes: 166 additions & 0 deletions .github/workflows/run-tests-kafka-and-rabbit-mq.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
name: (With Mongo) Tests on Kafka and RabbitMQ MQ
on:
pull_request:
branches: [ "dev", "main" ]
types: [opened, synchronize, reopened]

jobs:

build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.11", "3.12" ]
env:
MONGO_ENABLED: true
LMDB_ENABLED: false
timeout-minutes: 50
if: "!contains(github.event.head_commit.message, 'CI Bot')"

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
# cache: "pip"

- name: Run docker compose
run: docker compose -f deployment/compose-kafka.yml up -d

- name: Upgrade pip
run: python -m pip install --upgrade pip

- name: Show Python version
run: python --version && pip --version

- name: Test examples
run: bash .github/workflows/run_examples.sh examples true # with mongo

- name: Install all dependencies
run: |
python -m pip install .[all]
python -m pip install .[ml_dev]

- name: Check liveness
run: |
export MQ_TYPE=kafka
export MQ_PORT=9092
python -c 'from flowcept.configs import MQ_TYPE, MQ_PORT; print(f"MQ_TYPE={MQ_TYPE}"); print(f"MQ_PORT={MQ_PORT}")'
python -c 'from flowcept import Flowcept; assert Flowcept.services_alive()'

- name: Run tests with kafka
run: |
export MQ_TYPE=kafka
export MQ_PORT=9092
flowcept --init-settings --full -y
flowcept --config-profile full-online -y
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"

- name: Test telemetry with kafka
run: |
export MQ_TYPE=kafka
export MQ_PORT=9092
flowcept --init-settings --full -y
flowcept --config-profile full-telemetry -y
pytest tests/misc_tests/telemetry_test.py -q

- name: Test notebooks
run: |
export MQ_TYPE=kafka
export MQ_PORT=9092
rm -f "${FLOWCEPT_SETTINGS_PATH:-$HOME/.flowcept/settings.yaml}"
flowcept --init-settings --full --dask --mlflow -y
flowcept --config-profile full-online -y
pytest --nbmake "notebooks/" --nbmake-timeout=600 --ignore=notebooks/dask_from_CLI.ipynb --ignore=notebooks/tensorboard.ipynb

- name: Stop services
run: docker compose -f deployment/compose-kafka.yml down

- name: Clean up
run: |
make clean
test -d /home/runner/runners/ && find /home/runner/runners/ -type f -name "*.log" -exec sh -c 'echo {}; >"{}"' \; || true
docker image prune -a -f

build-rabbitmq:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.11", "3.12" ]
env:
MONGO_ENABLED: true
LMDB_ENABLED: false
timeout-minutes: 50
if: "!contains(github.event.head_commit.message, 'CI Bot')"

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Run docker compose
run: docker compose -f deployment/compose-rabbitmq.yml up -d

- name: Upgrade pip
run: python -m pip install --upgrade pip

- name: Show Python version
run: python --version && pip --version

- name: Test examples
run: bash .github/workflows/run_examples.sh examples true # with mongo

- name: Install all dependencies
run: |
python -m pip install .[all]
python -m pip install .[ml_dev]

- name: Check liveness
run: |
export MQ_TYPE=rabbitmq
export MQ_PORT=5672
python -c 'from flowcept.configs import MQ_TYPE, MQ_PORT; print(f"MQ_TYPE={MQ_TYPE}"); print(f"MQ_PORT={MQ_PORT}")'
python -c 'from flowcept import Flowcept; assert Flowcept.services_alive()'

- name: Run tests with RabbitMQ
run: |
export MQ_TYPE=rabbitmq
export MQ_PORT=5672
flowcept --init-settings --full -y
flowcept --config-profile full-online -y
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"

- name: Test telemetry with RabbitMQ
run: |
export MQ_TYPE=rabbitmq
export MQ_PORT=5672
flowcept --init-settings --full -y
flowcept --config-profile full-telemetry -y
pytest tests/misc_tests/telemetry_test.py -q

- name: Test notebooks
run: |
export MQ_TYPE=rabbitmq
export MQ_PORT=5672
rm -f "${FLOWCEPT_SETTINGS_PATH:-$HOME/.flowcept/settings.yaml}"
flowcept --init-settings --full --dask --mlflow -y
flowcept --config-profile full-online -y
pytest --nbmake "notebooks/" --nbmake-timeout=600 --ignore=notebooks/dask_from_CLI.ipynb --ignore=notebooks/tensorboard.ipynb

- name: Stop services
run: docker compose -f deployment/compose-rabbitmq.yml down

- name: Clean up
run: |
make clean
test -d /home/runner/runners/ && find /home/runner/runners/ -type f -name "*.log" -exec sh -c 'echo {}; >"{}"' \; || true
docker image prune -a -f
87 changes: 0 additions & 87 deletions .github/workflows/run-tests-kafka.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/run-tests-py313.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
run: |
flowcept --init-settings --full -y
flowcept --config-profile full-online -y
pytest --ignore=tests/adapters/test_tensorboard.py --ignore=tests/adapters/test_broker.py --ignore=tests/instrumentation_tests/ml_tests/ --ignore=tests/misc_tests/telemetry_test.py -k "not test_decorated_function_timed"
pytest --ignore=tests/adapters/test_tensorboard.py --ignore=tests/adapters/test_broker.py --ignore=tests/instrumentation_tests/ml_tests/ --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"

- name: Shut down docker compose
run: make services-stop-mongo
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/run-tests-simple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
run: |
flowcept --init-settings --full -y
flowcept --config-profile full-online -y
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -k "not test_decorated_function_timed"
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"
- name: Test notebooks with pytest and redis
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ jobs:
run: |
pip install .
pip list
flowcept --init-settings -y
rm -f ~/.flowcept/settings.yaml flowcept_buffer.jsonl WORKFLOW_CARD.md
python examples/start_here.py
pip uninstall flowcept -y
rm ~/.flowcept/settings.yaml
rm -f ~/.flowcept/settings.yaml flowcept_buffer.jsonl WORKFLOW_CARD.md

- name: Start docker compose with redis
run: make services-mongo
Expand Down Expand Up @@ -110,7 +110,7 @@ jobs:
echo "=== inotify limits ==="
cat /proc/sys/fs/inotify/max_user_watches || true
cat /proc/sys/fs/inotify/max_user_instances || true
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -k "not test_decorated_function_timed"
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"

- name: Test decorator timing in isolated offline mode
run: |
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
echo "=== inotify limits ==="
cat /proc/sys/fs/inotify/max_user_watches || true
cat /proc/sys/fs/inotify/max_user_instances || true
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -k "not test_decorated_function_timed"
pytest tests --timeout=600 --ignore=tests/adapters/test_tensorboard.py --ignore=tests/misc_tests/telemetry_test.py -m "not llm" -k "not test_decorated_function_timed"

- name: Test telemetry in isolated telemetry mode with kafka
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ jobs:
- name: Install UI dependencies
run: make ui-install

- name: Run UI checks (lint)
run: make ui-checks

- name: Run UI unit tests
run: make ui-test

Expand Down
Loading
Loading