flowcept 0.9.8__tar.gz → 0.9.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. {flowcept-0.9.8 → flowcept-0.9.9}/PKG-INFO +1 -1
  2. {flowcept-0.9.8 → flowcept-0.9.9}/resources/sample_settings.yaml +1 -1
  3. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/gui/agent_gui.py +5 -3
  4. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/prompts/general_prompts.py +1 -1
  5. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/prompts/in_memory_query_prompts.py +2 -0
  6. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/tools/general_tools.py +57 -2
  7. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/version.py +1 -1
  8. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/checks.yml +0 -0
  9. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/create-release-n-publish.yml +0 -0
  10. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-llm-tests.yml +0 -0
  11. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-tests-all-dbs.yml +0 -0
  12. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-tests-in-container.yml +0 -0
  13. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-tests-kafka.yml +0 -0
  14. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-tests-py313.yml +0 -0
  15. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-tests-simple.yml +0 -0
  16. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run-tests.yml +0 -0
  17. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/run_examples.sh +0 -0
  18. {flowcept-0.9.8 → flowcept-0.9.9}/.github/workflows/version_bumper.py +0 -0
  19. {flowcept-0.9.8 → flowcept-0.9.9}/.gitignore +0 -0
  20. {flowcept-0.9.8 → flowcept-0.9.9}/.readthedocs.yaml +0 -0
  21. {flowcept-0.9.8 → flowcept-0.9.9}/CONTRIBUTING.md +0 -0
  22. {flowcept-0.9.8 → flowcept-0.9.9}/LICENSE +0 -0
  23. {flowcept-0.9.8 → flowcept-0.9.9}/Makefile +0 -0
  24. {flowcept-0.9.8 → flowcept-0.9.9}/README.md +0 -0
  25. {flowcept-0.9.8 → flowcept-0.9.9}/deployment/Dockerfile +0 -0
  26. {flowcept-0.9.8 → flowcept-0.9.9}/deployment/compose-grafana.yml +0 -0
  27. {flowcept-0.9.8 → flowcept-0.9.9}/deployment/compose-kafka.yml +0 -0
  28. {flowcept-0.9.8 → flowcept-0.9.9}/deployment/compose-mofka.yml +0 -0
  29. {flowcept-0.9.8 → flowcept-0.9.9}/deployment/compose-mongo.yml +0 -0
  30. {flowcept-0.9.8 → flowcept-0.9.9}/deployment/compose.yml +0 -0
  31. {flowcept-0.9.8 → flowcept-0.9.9}/docs/api-reference.rst +0 -0
  32. {flowcept-0.9.8 → flowcept-0.9.9}/docs/architecture.rst +0 -0
  33. {flowcept-0.9.8 → flowcept-0.9.9}/docs/cli-reference.rst +0 -0
  34. {flowcept-0.9.8 → flowcept-0.9.9}/docs/conf.py +0 -0
  35. {flowcept-0.9.8 → flowcept-0.9.9}/docs/contributing.rst +0 -0
  36. {flowcept-0.9.8 → flowcept-0.9.9}/docs/img/architecture-diagram.png +0 -0
  37. {flowcept-0.9.8 → flowcept-0.9.9}/docs/img/flowcept-logo-dark.png +0 -0
  38. {flowcept-0.9.8 → flowcept-0.9.9}/docs/img/flowcept-logo.png +0 -0
  39. {flowcept-0.9.8 → flowcept-0.9.9}/docs/index.rst +0 -0
  40. {flowcept-0.9.8 → flowcept-0.9.9}/docs/prov_capture.rst +0 -0
  41. {flowcept-0.9.8 → flowcept-0.9.9}/docs/prov_query.rst +0 -0
  42. {flowcept-0.9.8 → flowcept-0.9.9}/docs/prov_storage.rst +0 -0
  43. {flowcept-0.9.8 → flowcept-0.9.9}/docs/quick_start.rst +0 -0
  44. {flowcept-0.9.8 → flowcept-0.9.9}/docs/schemas.rst +0 -0
  45. {flowcept-0.9.8 → flowcept-0.9.9}/docs/setup.rst +0 -0
  46. {flowcept-0.9.8 → flowcept-0.9.9}/docs/task_schema.rst +0 -0
  47. {flowcept-0.9.8 → flowcept-0.9.9}/docs/telemetry_capture.rst +0 -0
  48. {flowcept-0.9.8 → flowcept-0.9.9}/docs/workflow_schema.rst +0 -0
  49. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/a2a/README.md +0 -0
  50. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/a2a/agent1.py +0 -0
  51. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/a2a/agent2.py +0 -0
  52. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/aec_agent_context_manager.py +0 -0
  53. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/aec_agent_mock.py +0 -0
  54. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/aec_prompts.py +0 -0
  55. {flowcept-0.9.8 → flowcept-0.9.9}/examples/agents/opt_driver_mock.py +0 -0
  56. {flowcept-0.9.8 → flowcept-0.9.9}/examples/consumers/ping_pong_example.py +0 -0
  57. {flowcept-0.9.8 → flowcept-0.9.9}/examples/consumers/simple_consumer.py +0 -0
  58. {flowcept-0.9.8 → flowcept-0.9.9}/examples/consumers/simple_publisher.py +0 -0
  59. {flowcept-0.9.8 → flowcept-0.9.9}/examples/convergence_loop_example.py +0 -0
  60. {flowcept-0.9.8 → flowcept-0.9.9}/examples/dask_example.py +0 -0
  61. {flowcept-0.9.8 → flowcept-0.9.9}/examples/distributed_consumer_example.py +0 -0
  62. {flowcept-0.9.8 → flowcept-0.9.9}/examples/instrumented_loop_example.py +0 -0
  63. {flowcept-0.9.8 → flowcept-0.9.9}/examples/instrumented_simple_example.py +0 -0
  64. {flowcept-0.9.8 → flowcept-0.9.9}/examples/llm_complex/README.md +0 -0
  65. {flowcept-0.9.8 → flowcept-0.9.9}/examples/llm_complex/custom_provenance_id_mapping.yaml +0 -0
  66. {flowcept-0.9.8 → flowcept-0.9.9}/examples/llm_complex/llm_dataprep.py +0 -0
  67. {flowcept-0.9.8 → flowcept-0.9.9}/examples/llm_complex/llm_main_example.py +0 -0
  68. {flowcept-0.9.8 → flowcept-0.9.9}/examples/llm_complex/llm_model.py +0 -0
  69. {flowcept-0.9.8 → flowcept-0.9.9}/examples/llm_complex/llm_test_runner.py +0 -0
  70. {flowcept-0.9.8 → flowcept-0.9.9}/examples/mlflow_example.py +0 -0
  71. {flowcept-0.9.8 → flowcept-0.9.9}/examples/mqtt_example.py +0 -0
  72. {flowcept-0.9.8 → flowcept-0.9.9}/examples/single_layer_perceptron_example.py +0 -0
  73. {flowcept-0.9.8 → flowcept-0.9.9}/examples/start_here.py +0 -0
  74. {flowcept-0.9.8 → flowcept-0.9.9}/examples/tensorboard_example.py +0 -0
  75. {flowcept-0.9.8 → flowcept-0.9.9}/examples/unmanaged/main.py +0 -0
  76. {flowcept-0.9.8 → flowcept-0.9.9}/examples/unmanaged/simple_task.py +0 -0
  77. {flowcept-0.9.8 → flowcept-0.9.9}/notebooks/analytics.ipynb +0 -0
  78. {flowcept-0.9.8 → flowcept-0.9.9}/notebooks/dask.ipynb +0 -0
  79. {flowcept-0.9.8 → flowcept-0.9.9}/notebooks/dask_from_CLI.ipynb +0 -0
  80. {flowcept-0.9.8 → flowcept-0.9.9}/notebooks/mlflow.ipynb +0 -0
  81. {flowcept-0.9.8 → flowcept-0.9.9}/notebooks/reset_dask_nb_exec_counts.py +0 -0
  82. {flowcept-0.9.8 → flowcept-0.9.9}/notebooks/tensorboard.ipynb +0 -0
  83. {flowcept-0.9.8 → flowcept-0.9.9}/pyproject.toml +0 -0
  84. {flowcept-0.9.8 → flowcept-0.9.9}/resources/mofka/bedrock_setup.sh +0 -0
  85. {flowcept-0.9.8 → flowcept-0.9.9}/resources/mofka/consumer.py +0 -0
  86. {flowcept-0.9.8 → flowcept-0.9.9}/resources/mofka/mofka-requirements.yaml +0 -0
  87. {flowcept-0.9.8 → flowcept-0.9.9}/resources/mofka/mofka_config.json +0 -0
  88. {flowcept-0.9.8 → flowcept-0.9.9}/resources/simple_redis_consumer.py +0 -0
  89. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/__init__.py +0 -0
  90. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/__init__.py +0 -0
  91. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/agent_client.py +0 -0
  92. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/agents_utils.py +0 -0
  93. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/dynamic_schema_tracker.py +0 -0
  94. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/flowcept_agent.py +0 -0
  95. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/flowcept_ctx_manager.py +0 -0
  96. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/gui/__init__.py +0 -0
  97. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/gui/audio_utils.py +0 -0
  98. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/gui/gui_utils.py +0 -0
  99. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/llms/__init__.py +0 -0
  100. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/llms/claude_gcp.py +0 -0
  101. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/llms/gemini25.py +0 -0
  102. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/prompts/__init__.py +0 -0
  103. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/tools/__init__.py +0 -0
  104. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/tools/in_memory_queries/__init__.py +0 -0
  105. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/tools/in_memory_queries/in_memory_queries_tools.py +0 -0
  106. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/agents/tools/in_memory_queries/pandas_agent_utils.py +0 -0
  107. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/analytics/__init__.py +0 -0
  108. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/analytics/analytics_utils.py +0 -0
  109. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/analytics/data_augmentation.py +0 -0
  110. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/analytics/plot.py +0 -0
  111. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/cli.py +0 -0
  112. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/__init__.py +0 -0
  113. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/autoflush_buffer.py +0 -0
  114. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/__init__.py +0 -0
  115. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/docdb_dao/__init__.py +0 -0
  116. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/docdb_dao/docdb_dao_base.py +0 -0
  117. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/docdb_dao/lmdb_dao.py +0 -0
  118. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/docdb_dao/mongodb_dao.py +0 -0
  119. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/keyvalue_dao.py +0 -0
  120. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/mq_dao/__init__.py +0 -0
  121. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/mq_dao/mq_dao_base.py +0 -0
  122. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/mq_dao/mq_dao_kafka.py +0 -0
  123. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/mq_dao/mq_dao_mofka.py +0 -0
  124. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/mq_dao/mq_dao_redis.py +0 -0
  125. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/daos/redis_conn.py +0 -0
  126. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/flowcept_dataclasses/__init__.py +0 -0
  127. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/flowcept_dataclasses/base_settings_dataclasses.py +0 -0
  128. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/flowcept_dataclasses/task_object.py +0 -0
  129. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/flowcept_dataclasses/telemetry.py +0 -0
  130. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/flowcept_dataclasses/workflow_object.py +0 -0
  131. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/flowcept_logger.py +0 -0
  132. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/query_utils.py +0 -0
  133. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/settings_factory.py +0 -0
  134. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/task_data_preprocess.py +0 -0
  135. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/utils.py +0 -0
  136. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/commons/vocabulary.py +0 -0
  137. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/configs.py +0 -0
  138. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_api/__init__.py +0 -0
  139. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_api/db_api.py +0 -0
  140. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_api/flowcept_controller.py +0 -0
  141. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_api/task_query_api.py +0 -0
  142. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_webserver/__init__.py +0 -0
  143. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_webserver/app.py +0 -0
  144. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_webserver/resources/__init__.py +0 -0
  145. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_webserver/resources/query_rsrc.py +0 -0
  146. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowcept_webserver/resources/task_messages_rsrc.py +0 -0
  147. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/__init__.py +0 -0
  148. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/__init__.py +0 -0
  149. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/base_interceptor.py +0 -0
  150. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/brokers/__init__.py +0 -0
  151. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/brokers/mqtt_interceptor.py +0 -0
  152. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/dask/__init__.py +0 -0
  153. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/dask/dask_dataclasses.py +0 -0
  154. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/dask/dask_interceptor.py +0 -0
  155. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/dask/dask_plugins.py +0 -0
  156. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/instrumentation_interceptor.py +0 -0
  157. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/interceptor_state_manager.py +0 -0
  158. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/mlflow/__init__.py +0 -0
  159. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/mlflow/interception_event_handler.py +0 -0
  160. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/mlflow/mlflow_dao.py +0 -0
  161. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/mlflow/mlflow_dataclasses.py +0 -0
  162. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/mlflow/mlflow_interceptor.py +0 -0
  163. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/tensorboard/__init__.py +0 -0
  164. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/tensorboard/tensorboard_dataclasses.py +0 -0
  165. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/adapters/tensorboard/tensorboard_interceptor.py +0 -0
  166. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/consumers/__init__.py +0 -0
  167. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/consumers/agent/__init__.py +0 -0
  168. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/consumers/agent/base_agent_context_manager.py +0 -0
  169. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/consumers/base_consumer.py +0 -0
  170. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/consumers/consumer_utils.py +0 -0
  171. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/consumers/document_inserter.py +0 -0
  172. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/flowceptor/telemetry_capture.py +0 -0
  173. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/__init__.py +0 -0
  174. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/flowcept_agent_task.py +0 -0
  175. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/flowcept_decorator.py +0 -0
  176. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/flowcept_loop.py +0 -0
  177. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/flowcept_task.py +0 -0
  178. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/flowcept_torch.py +0 -0
  179. {flowcept-0.9.8 → flowcept-0.9.9}/src/flowcept/instrumentation/task_capture.py +0 -0
  180. {flowcept-0.9.8 → flowcept-0.9.9}/tests/__init__.py +0 -0
  181. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/__init__.py +0 -0
  182. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/dask_test_utils.py +0 -0
  183. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/test_broker.py +0 -0
  184. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/test_dask.py +0 -0
  185. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/test_dask_with_context_mgmt.py +0 -0
  186. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/test_file_observer.py +0 -0
  187. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/test_mlflow.py +0 -0
  188. {flowcept-0.9.8 → flowcept-0.9.9}/tests/adapters/test_tensorboard.py +0 -0
  189. {flowcept-0.9.8 → flowcept-0.9.9}/tests/api/__init__.py +0 -0
  190. {flowcept-0.9.8 → flowcept-0.9.9}/tests/api/db_api_test.py +0 -0
  191. {flowcept-0.9.8 → flowcept-0.9.9}/tests/api/flowcept_api_test.py +0 -0
  192. {flowcept-0.9.8 → flowcept-0.9.9}/tests/api/sample_data.json +0 -0
  193. {flowcept-0.9.8 → flowcept-0.9.9}/tests/api/sample_data_with_telemetry_and_rai.json +0 -0
  194. {flowcept-0.9.8 → flowcept-0.9.9}/tests/api/task_query_api_test.py +0 -0
  195. {flowcept-0.9.8 → flowcept-0.9.9}/tests/doc_db_inserter/__init__.py +0 -0
  196. {flowcept-0.9.8 → flowcept-0.9.9}/tests/doc_db_inserter/doc_db_inserter_test.py +0 -0
  197. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/__init__.py +0 -0
  198. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/flowcept_explicit_tasks.py +0 -0
  199. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/flowcept_loop_test.py +0 -0
  200. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/flowcept_task_decorator_test.py +0 -0
  201. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/ml_tests/__init__.py +0 -0
  202. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/ml_tests/dl_trainer.py +0 -0
  203. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/ml_tests/ml_decorator_dask_test.py +0 -0
  204. {flowcept-0.9.8 → flowcept-0.9.9}/tests/instrumentation_tests/ml_tests/ml_decorator_test.py +0 -0
  205. {flowcept-0.9.8 → flowcept-0.9.9}/tests/misc_tests/__init__.py +0 -0
  206. {flowcept-0.9.8 → flowcept-0.9.9}/tests/misc_tests/log_test.py +0 -0
  207. {flowcept-0.9.8 → flowcept-0.9.9}/tests/misc_tests/singleton_test.py +0 -0
  208. {flowcept-0.9.8 → flowcept-0.9.9}/tests/misc_tests/telemetry_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flowcept
3
- Version: 0.9.8
3
+ Version: 0.9.9
4
4
  Summary: Capture and query workflow provenance data using data observability
5
5
  Author: Oak Ridge National Laboratory
6
6
  License-Expression: MIT
@@ -1,4 +1,4 @@
1
- flowcept_version: 0.9.8 # Version of the Flowcept package. This setting file is compatible with this version.
1
+ flowcept_version: 0.9.9 # Version of the Flowcept package. This setting file is compatible with this version.
2
2
 
3
3
  project:
4
4
  debug: true # Toggle debug mode. This will add a property `debug: true` to all saved data, making it easier to retrieve/delete them later.
@@ -37,9 +37,11 @@ display_ai_msg(GREETING)
37
37
  def main():
38
38
  """Main Agent GUI function."""
39
39
  st.caption(
40
- "💡 Tip: Ask about workflow metrics, generate plots, or summarize data. "
41
- "Inputs are mapped to `used` and outputs to `generated` fields. "
42
- "Use @record <your query guidance> if you have custom guidance."
40
+ "💡 Quick help\n"
41
+ "Ask about workflow metrics, plots, or summaries.\n\n"
42
+ "Inputs used, outputs generated.\n"
43
+ "Commands: @record <note> add • @show records list • reset context clear • save context save.\n"
44
+ "Tip: set result = df to run ad-hoc Python on the in-memory DataFrame."
43
45
  )
44
46
 
45
47
  user_input = st.chat_input("Send a message")
@@ -23,9 +23,9 @@ ROUTING_PROMPT = (
23
23
  "You are a routing assistant for a provenance AI agent. "
24
24
  "Given the following user message, classify it into one of the following routes:\n"
25
25
  "- small_talk: if it's casual conversation or some random word (e.g., 'hausdn', 'a', hello, how are you, what can you do, what's your name)\n"
26
+ "- in_context_query: if the user is querying the provenance data questions about tasks or data in running workflow (or a workflow that ran recently) or if the user mentions the in-memory 'df' or a dataframe. I expect that most of the interactions will fall in this category.\n"
26
27
  "- plot: if user is requesting plots (e.g., plot, chart, visualize)\n"
27
28
  # "- in_context_query: if the user asks questions about tasks or data in running workflow (or a workflow that ran recently) or if the user mentions the in-memory 'df' or a dataframe.\n"
28
- "- in_context_query: if the user is querying the provenance data questions about tasks or data in running workflow (or a workflow that ran recently) or if the user mentions the in-memory 'df' or a dataframe.\n"
29
29
  # "- historical_prov_query: if the user wants to query historical provenance data\n"
30
30
  "- in_chat_query: if the user appears to be asking about something that has said recently in this chat.\n"
31
31
  "- unknown: if you don't know.\n"
@@ -180,6 +180,8 @@ QUERY_GUIDELINES = """
180
180
  -To select the first or earliest or initial tasks, use or adapt the following: `df.sort_values(by='started_at', ascending=True)`
181
181
  -To select the last or final or most recent tasks, use or adapt the following: `df.sort_values(by='ended_at', ascending=False)`
182
182
 
183
+ -If user explicitly asks to display or show all columns or fields, do not project on any particular field or column. Just show all of them.
184
+
183
185
  -WHEN the user requests a "summary" of activities, you must incorporate relevant summary statistics such as min, max, and mean, into the code you generate.
184
186
  -Do NOT use df[0] or df[integer value] or df[df[<field name>].idxmax()] or df[df[<field name>].idxmin()] because these are obviously not valid Pandas Code!
185
187
  -**Do NOT use any of those: df[df['started_at'].idxmax()], df[df['started_at'].idxmin()], df[df['ended_at'].idxmin()], df[df['ended_at'].idxmax()]. Those are not valid Pandas Code.**
@@ -73,6 +73,57 @@ def record_guidance(message: str) -> ToolResult:
73
73
  return ToolResult(code=201, result=f"Ok. I recorded in my memory: {message}")
74
74
 
75
75
 
76
+ @mcp_flowcept.tool()
77
+ def show_records() -> ToolResult:
78
+ """
79
+ Lists all recorded user guidance.
80
+ """
81
+ try:
82
+ ctx = mcp_flowcept.get_context()
83
+ custom_guidance: List = ctx.request_context.lifespan_context.custom_guidance
84
+ if not custom_guidance:
85
+ message = "There is no recorded user guidance."
86
+ else:
87
+ message = "This is the list of custom guidance I have in my memory:\n"
88
+ message += "\n".join(f" - {msg}" for msg in custom_guidance)
89
+
90
+ return ToolResult(code=201, result=message)
91
+ except Exception as e:
92
+ return ToolResult(code=499, result=str(e))
93
+
94
+
95
+ @mcp_flowcept.tool()
96
+ def reset_records() -> ToolResult:
97
+ """
98
+ Resets all recorded user guidance.
99
+ """
100
+ try:
101
+ ctx = mcp_flowcept.get_context()
102
+ ctx.request_context.lifespan_context.custom_guidance = []
103
+ return ToolResult(code=201, result="Custom guidance reset.")
104
+ except Exception as e:
105
+ return ToolResult(code=499, result=str(e))
106
+
107
+ @mcp_flowcept.tool()
108
+ def show_records() -> ToolResult:
109
+ """
110
+ Lists all recorded user guidance.
111
+ """
112
+ try:
113
+ ctx = mcp_flowcept.get_context()
114
+ custom_guidance: List = ctx.request_context.lifespan_context.custom_guidance
115
+ if not custom_guidance:
116
+ message = "There is no recorded user guidance."
117
+ else:
118
+ message = "This is the list of custom guidance I have in my memory:"
119
+ message += "\n".join(f"- {msg}" for msg in custom_guidance)
120
+
121
+ return ToolResult(code=201, result=message)
122
+ except Exception as e:
123
+ return ToolResult(code=499, result=str(e))
124
+
125
+
126
+
76
127
  @mcp_flowcept.tool()
77
128
  def prompt_handler(message: str) -> ToolResult:
78
129
  """
@@ -95,6 +146,10 @@ def prompt_handler(message: str) -> ToolResult:
95
146
 
96
147
  if "@record" in message:
97
148
  return record_guidance(message)
149
+ if "@show records" in message:
150
+ return show_records()
151
+ if "@reset records" in message:
152
+ return reset_records(message)
98
153
 
99
154
  llm = build_llm_model()
100
155
 
@@ -105,12 +160,12 @@ def prompt_handler(message: str) -> ToolResult:
105
160
  prompt = SMALL_TALK_PROMPT + message
106
161
  response = llm.invoke(prompt)
107
162
  return ToolResult(code=201, result=response)
163
+ elif route == "in_context_query":
164
+ return run_df_query(llm, message, plot=False)
108
165
  elif route == "plot":
109
166
  return run_df_query(llm, message, plot=True)
110
167
  elif route == "historical_prov_query":
111
168
  return ToolResult(code=201, result="We need to query the Provenance Database. Feature coming soon.")
112
- elif route == "in_context_query":
113
- return run_df_query(llm, message, plot=False)
114
169
  elif route == "in_chat_query":
115
170
  prompt = SMALL_TALK_PROMPT + message
116
171
  response = llm.invoke(prompt)
@@ -4,4 +4,4 @@
4
4
  # The expected format is: <Major>.<Minor>.<Patch>
5
5
  # This file is supposed to be automatically modified by the CI Bot.
6
6
  # See .github/workflows/version_bumper.py
7
- __version__ = "0.9.8"
7
+ __version__ = "0.9.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes