naas-abi-core 1.3.0__tar.gz → 1.4.0__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 (127) hide show
  1. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/=0.9.13 +1 -1
  2. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/CHANGELOG.md +24 -0
  3. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/PKG-INFO +3 -1
  4. naas_abi_core-1.4.0/assets/logo.png +0 -0
  5. naas_abi_core-1.4.0/naas_abi_core/apps/api/openapi_doc.py +144 -0
  6. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/AWSNeptune.py +7 -1
  7. naas_abi_core-1.3.0/naas_abi_core/utils/OntologyYaml.disabled.py → naas_abi_core-1.4.0/naas_abi_core/utils/OntologyYaml.py +6 -4
  8. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/pyproject.toml +2 -1
  9. naas_abi_core-1.3.0/naas_abi_core/apps/api/openapi_doc.py +0 -307
  10. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/.gitignore +0 -0
  11. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/README.md +0 -0
  12. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/assets/favicon.ico +0 -0
  13. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/__init__.py +0 -0
  14. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/api/api.py +0 -0
  15. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/api/api_test.py +0 -0
  16. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/mcp/Dockerfile.mcp +0 -0
  17. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/mcp/mcp_server.py +0 -0
  18. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/mcp/mcp_server_test.py +0 -0
  19. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/terminal_agent/main.py +0 -0
  20. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/apps/terminal_agent/terminal_style.py +0 -0
  21. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/Engine.py +0 -0
  22. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/EngineProxy.py +0 -0
  23. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/Engine_test.py +0 -0
  24. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/IEngine.py +0 -0
  25. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/conftest.py +0 -0
  26. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration.py +0 -0
  27. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_Deploy.py +0 -0
  28. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_GenericLoader.py +0 -0
  29. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_ObjectStorageService.py +0 -0
  30. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_ObjectStorageService_test.py +0 -0
  31. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_SecretService.py +0 -0
  32. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_SecretService_test.py +0 -0
  33. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_TripleStoreService.py +0 -0
  34. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_TripleStoreService_test.py +0 -0
  35. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_VectorStoreService.py +0 -0
  36. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_VectorStoreService_test.py +0 -0
  37. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/EngineConfiguration_test.py +0 -0
  38. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_configuration/utils/PydanticModelValidator.py +0 -0
  39. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_loaders/EngineModuleLoader.py +0 -0
  40. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_loaders/EngineOntologyLoader.py +0 -0
  41. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/engine/engine_loaders/EngineServiceLoader.py +0 -0
  42. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/integration/__init__.py +0 -0
  43. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/integration/integration.py +0 -0
  44. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/models/Model.py +0 -0
  45. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/models/OpenRouter.py +0 -0
  46. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/models/OpenRouter_test.py +0 -0
  47. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/module/Module.py +0 -0
  48. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/module/ModuleAgentLoader.py +0 -0
  49. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/module/ModuleUtils.py +0 -0
  50. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/modules/templatablesparqlquery/README.md +0 -0
  51. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/modules/templatablesparqlquery/__init__.py +0 -0
  52. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/modules/templatablesparqlquery/ontologies/TemplatableSparqlQueryOntology.ttl +0 -0
  53. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/modules/templatablesparqlquery/workflows/GenericWorkflow.py +0 -0
  54. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/modules/templatablesparqlquery/workflows/TemplatableSparqlQueryLoader.py +0 -0
  55. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/pipeline/__init__.py +0 -0
  56. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/pipeline/pipeline.py +0 -0
  57. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/__init__.py +0 -0
  58. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/Agent.py +0 -0
  59. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/AgentMemory_test.py +0 -0
  60. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/Agent_test.py +0 -0
  61. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/IntentAgent.py +0 -0
  62. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/IntentAgent_test.py +0 -0
  63. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/beta/Embeddings.py +0 -0
  64. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/beta/IntentMapper.py +0 -0
  65. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/beta/LocalModel.py +0 -0
  66. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/beta/VectorStore.py +0 -0
  67. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/test_agent_memory.py +0 -0
  68. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/agent/test_postgres_integration.py +0 -0
  69. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/cache/CacheFactory.py +0 -0
  70. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/cache/CachePort.py +0 -0
  71. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/cache/CacheService.py +0 -0
  72. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/cache/CacheService_test.py +0 -0
  73. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/cache/adapters/secondary/CacheFSAdapter.py +0 -0
  74. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/object_storage/ObjectStorageFactory.py +0 -0
  75. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/object_storage/ObjectStoragePort.py +0 -0
  76. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/object_storage/ObjectStorageService.py +0 -0
  77. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/object_storage/adapters/secondary/ObjectStorageSecondaryAdapterFS.py +0 -0
  78. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/object_storage/adapters/secondary/ObjectStorageSecondaryAdapterNaas.py +0 -0
  79. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/object_storage/adapters/secondary/ObjectStorageSecondaryAdapterS3.py +0 -0
  80. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/ontology/OntologyPorts.py +0 -0
  81. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/ontology/OntologyService.py +0 -0
  82. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/ontology/adaptors/secondary/OntologyService_SecondaryAdaptor_NERPort.py +0 -0
  83. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/Secret.py +0 -0
  84. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/SecretPorts.py +0 -0
  85. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/Secret_test.py +0 -0
  86. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/adaptors/secondary/Base64Secret.py +0 -0
  87. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/adaptors/secondary/Base64Secret_test.py +0 -0
  88. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/adaptors/secondary/NaasSecret.py +0 -0
  89. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/adaptors/secondary/NaasSecret_test.py +0 -0
  90. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/secret/adaptors/secondary/dotenv_secret_secondaryadaptor.py +0 -0
  91. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/TripleStoreFactory.py +0 -0
  92. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/TripleStorePorts.py +0 -0
  93. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/TripleStoreService.py +0 -0
  94. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/AWSNeptune_test.py +0 -0
  95. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/Oxigraph.py +0 -0
  96. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/Oxigraph_test.py +0 -0
  97. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/TripleStoreService__SecondaryAdaptor__Filesystem.py +0 -0
  98. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/TripleStoreService__SecondaryAdaptor__ObjectStorage.py +0 -0
  99. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/triple_store/adaptors/secondary/base/TripleStoreService__SecondaryAdaptor__FileBase.py +0 -0
  100. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/IVectorStorePort.py +0 -0
  101. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/IVectorStorePort_test.py +0 -0
  102. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/VectorStoreFactory.py +0 -0
  103. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/VectorStoreService.py +0 -0
  104. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/VectorStoreService_test.py +0 -0
  105. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/__init__.py +0 -0
  106. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/adapters/QdrantAdapter.py +0 -0
  107. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/services/vector_store/adapters/QdrantAdapter_test.py +0 -0
  108. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/tests/test_services_imports.py +0 -0
  109. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/Expose.py +0 -0
  110. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/Graph.py +0 -0
  111. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/JSON.py +0 -0
  112. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/LazyLoader.py +0 -0
  113. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/Logger.py +0 -0
  114. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/OntologyReasoner.py +0 -0
  115. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/SPARQL.py +0 -0
  116. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/Storage.py +0 -0
  117. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/StorageUtils.py +0 -0
  118. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/String.py +0 -0
  119. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/Workers.py +0 -0
  120. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/__init__.py +0 -0
  121. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/onto2py/README.md +0 -0
  122. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/onto2py/__init__.py +0 -0
  123. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/onto2py/__main__.py +0 -0
  124. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/onto2py/onto2py.py +0 -0
  125. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/utils/onto2py/tests/ttl2py_test.py +0 -0
  126. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/workflow/__init__.py +0 -0
  127. {naas_abi_core-1.3.0 → naas_abi_core-1.4.0}/naas_abi_core/workflow/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Collecting uv
2
2
  Downloading uv-0.9.21-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
3
3
  Downloading uv-0.9.21-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.2 MB)
4
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.2/22.2 MB 266.0 MB/s 0:00:00
4
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.2/22.2 MB 290.7 MB/s 0:00:00
5
5
  Installing collected packages: uv
6
6
  Successfully installed uv-0.9.21
@@ -2,6 +2,30 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v1.4.0 (2026-01-02)
6
+
7
+ ### Bug Fixes
8
+
9
+ - Add default logo api
10
+ ([`0036796`](https://github.com/jupyter-naas/abi/commit/0036796586ac904879f4dd1fa4a40a400bd0e4ef))
11
+
12
+ - Error aws neptune
13
+ ([`76ffc39`](https://github.com/jupyter-naas/abi/commit/76ffc39a0d9408a68d39bf704172c4ff5f5d98c3))
14
+
15
+ - Remove connections from api doc
16
+ ([`4f629bf`](https://github.com/jupyter-naas/abi/commit/4f629bf0df5e3f3df30453f2531879301b05252d))
17
+
18
+ ### Features
19
+
20
+ - Add boto3-stubs
21
+ ([`47dccd1`](https://github.com/jupyter-naas/abi/commit/47dccd144ab4811c1c4e481287b39026d07bb7ec))
22
+
23
+ ### Refactoring
24
+
25
+ - Move workflows ontology yaml to naas module
26
+ ([`b4e8e9f`](https://github.com/jupyter-naas/abi/commit/b4e8e9fd738a338c462c9df2525e043cfdf5095d))
27
+
28
+
5
29
  ## v1.3.0 (2026-01-02)
6
30
 
7
31
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naas-abi-core
3
- Version: 1.3.0
3
+ Version: 1.4.0
4
4
  Summary: Abi framework allowing you to build your AI system.
5
5
  Author-email: Maxime Jublou <maxime@naas.ai>, Florent Ravenel <florent@naas.ai>, Jeremy Ravenel <jeremy@naas.ai>
6
6
  Requires-Python: <4,>=3.10
@@ -32,12 +32,14 @@ Requires-Dist: types-paramiko>=4.0.0.20250822
32
32
  Requires-Dist: types-pyyaml>=6.0.12.20250915
33
33
  Requires-Dist: types-tqdm>=4.67.0.20250809
34
34
  Provides-Extra: all
35
+ Requires-Dist: boto3-stubs>=1.42.19; extra == 'all'
35
36
  Requires-Dist: boto3<2,>=1.38.19; extra == 'all'
36
37
  Requires-Dist: langchain-openai>=0.3.35; extra == 'all'
37
38
  Requires-Dist: paramiko<4.0.0,>=3.5.1; extra == 'all'
38
39
  Requires-Dist: qdrant-client>=1.14.3; extra == 'all'
39
40
  Requires-Dist: sshtunnel>=0.4.0; extra == 'all'
40
41
  Provides-Extra: aws
42
+ Requires-Dist: boto3-stubs>=1.42.19; extra == 'aws'
41
43
  Requires-Dist: boto3<2,>=1.38.19; extra == 'aws'
42
44
  Provides-Extra: openrouter
43
45
  Requires-Dist: langchain-openai>=0.3.35; extra == 'openrouter'
Binary file
@@ -0,0 +1,144 @@
1
+ TAGS_METADATA = [
2
+ {
3
+ "name": "Overview",
4
+ "description": """
5
+ ### Project Overview
6
+ The **ABI** (Artificial Business Intelligence) project is a Python-based backend framework designed to serve as the core infrastructure for building an Organizational AI System.
7
+ This system empowers businesses to integrate, manage, and scale AI-driven operations with a focus on ontology, assistant-driven workflows, and analytics.\n
8
+ Designed for flexibility and scalability, ABI provides a customizable framework suitable for organizations aiming to create intelligent, automated systems tailored to their needs.
9
+
10
+ ### API Overview
11
+ The ABI API allows users and applications to interact with ABI's capabilities for business process automation and intelligence.\n
12
+ This document describes the current version of the ABI API, which provides access to agents, pipelines, workflows, integrations, ontology management and analytics features.
13
+ """,
14
+ },
15
+ {
16
+ "name": "Authentication",
17
+ "description": """
18
+ Authentication uses a Bearer token that can be provided either in the Authorization header (e.g. 'Authorization: Bearer `<token>`') or as a query parameter (e.g. '?token=`<token>`').
19
+ The token must match the `ABI_API_KEY` environment variable.
20
+ Contact your administrator to get the token.
21
+
22
+ *Authentication with Authorization header:*
23
+
24
+ ```python
25
+ import requests
26
+
27
+ url = "https://<your-registry-name>.default.space.naas.ai/agents/abi/completion"
28
+
29
+ headers = {
30
+ "Authorization": f"Bearer {token}"
31
+ }
32
+
33
+ response = requests.post(url, headers=headers)
34
+ print(response.json())
35
+ ```
36
+
37
+ *Authentication with query parameter:*
38
+
39
+ ```python
40
+ import requests
41
+
42
+ url = "https://<your-registry-name>.default.space.naas.ai/agents/abi/completion?token=<token>"
43
+
44
+ response = requests.post(url)
45
+ print(response.json())
46
+ ```
47
+ """,
48
+ },
49
+ {
50
+ "name": "Agents",
51
+ "description": """
52
+ API endpoints for interacting with ABI's agents.
53
+
54
+ ### Core Agents:
55
+ - Abi: Manages and coordinates other agents
56
+ - Ontology: Manages and coordinates other agents
57
+ - Naas: Manages and coordinates other agents
58
+ - Support: Provides help and guidance for using ABI
59
+
60
+ ### Marketplace Agents:
61
+ - Custom agents with deep expertise in specific domains
62
+ - Can be configured and trained for specialized tasks
63
+ - Extensible through custom tools and knowledge bases
64
+
65
+ Each agent can be accessed through dedicated endpoints that allow:
66
+ - Completion requests for generating responses
67
+ - Chat interactions for ongoing conversations
68
+ - Tool execution for specific tasks
69
+ - Configuration updates for customizing behavior
70
+
71
+ Agents leverage various tools including integrations, pipelines and workflows to accomplish tasks. They can be extended with custom tools and knowledge to enhance their capabilities.
72
+
73
+ """,
74
+ },
75
+ {
76
+ "name": "Pipelines",
77
+ "description": """
78
+ API endpoints for interacting with ABI's pipelines.
79
+ """,
80
+ },
81
+ {
82
+ "name": "Workflows",
83
+ "description": """
84
+ API endpoints for interacting with ABI's workflows.
85
+ """,
86
+ },
87
+ ]
88
+
89
+ API_LANDING_HTML = """
90
+ <!DOCTYPE html>
91
+ <html>
92
+ <head>
93
+ <title>[TITLE]</title>
94
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
95
+ <style>
96
+ body {
97
+ font-family: Arial, sans-serif;
98
+ display: flex;
99
+ flex-direction: column;
100
+ align-items: center;
101
+ justify-content: center;
102
+ height: 100vh;
103
+ margin: 0;
104
+ background-color: #000000;
105
+ color: white;
106
+ }
107
+ .logo {
108
+ width: 200px;
109
+ margin-bottom: 20px;
110
+ }
111
+ h1 {
112
+ font-size: 48px;
113
+ margin-bottom: 40px;
114
+ }
115
+ .buttons {
116
+ display: flex;
117
+ gap: 20px;
118
+ }
119
+ a {
120
+ padding: 12px 24px;
121
+ font-size: 18px;
122
+ border: none;
123
+ border-radius: 4px;
124
+ cursor: pointer;
125
+ text-decoration: none;
126
+ color: white;
127
+ background-color: #007bff;
128
+ transition: background-color 0.2s;
129
+ }
130
+ a:hover {
131
+ background-color: #0056b3;
132
+ }
133
+ </style>
134
+ </head>
135
+ <body>
136
+ <img src="/static/[LOGO_NAME]" alt="Logo" class="logo">
137
+ <h1>Welcome to [TITLE]!</h1>
138
+ <p>[TITLE] is a tool that allows you to interact with ABI's capabilities for business process automation and intelligence.</p>
139
+ <div class="buttons">
140
+ <a href="/redoc">Go to Documentation</a>
141
+ </div>
142
+ </body>
143
+ </html>
144
+ """
@@ -251,7 +251,10 @@ class AWSNeptune(ITripleStorePort):
251
251
 
252
252
  self.neptune_port = cluster_endpoints[0]["Endpoint"]["Port"]
253
253
 
254
- self.credentials = self.session.get_credentials()
254
+ credentials = self.session.get_credentials()
255
+ if credentials is None:
256
+ raise ValueError("Failed to get credentials from session")
257
+ self.credentials = credentials
255
258
 
256
259
  self.neptune_sparql_url = (
257
260
  f"https://{self.neptune_sparql_endpoint}:{self.neptune_port}/sparql"
@@ -291,6 +294,9 @@ class AWSNeptune(ITripleStorePort):
291
294
  request = AWSRequest(
292
295
  method=method, url=url, data=data, params=params, headers=headers
293
296
  )
297
+ assert self.credentials is not None, (
298
+ "Credentials must be set during initialization"
299
+ )
294
300
  SigV4Auth(
295
301
  self.credentials, "neptune-db", region_name=self.aws_region_name
296
302
  ).add_auth(request)
@@ -2,15 +2,17 @@ import copy
2
2
  import random
3
3
 
4
4
  import pydash as _
5
- from naas_abi import services
6
5
  from rdflib import OWL, RDF, RDFS, Graph, URIRef
7
6
 
8
7
  from naas_abi_core import logger
8
+ from naas_abi_core.services.triple_store.TripleStorePorts import ITripleStoreService
9
9
 
10
10
 
11
11
  class OntologyYaml:
12
- def __init__(self):
13
- pass
12
+ __triple_store_service: ITripleStoreService
13
+
14
+ def __init__(self, triple_store_service: ITripleStoreService):
15
+ self.__triple_store_service = triple_store_service
14
16
 
15
17
  @staticmethod
16
18
  def rdf_to_yaml(
@@ -50,7 +52,7 @@ class Translator:
50
52
  self.mapping_oprop = {}
51
53
 
52
54
  # Init ontology schemas
53
- consolidated = services.triple_store_service.get_schema_graph()
55
+ consolidated = self.__triple_store_service.get_schema_graph()
54
56
  schema_graph = Graph()
55
57
 
56
58
  # Filter for desired types
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "naas-abi-core"
3
- version = "1.3.0"
3
+ version = "1.4.0"
4
4
  description = "Abi framework allowing you to build your AI system."
5
5
  authors = [{ name = "Maxime Jublou", email = "maxime@naas.ai" },{ name = "Florent Ravenel", email = "florent@naas.ai" }, { name = "Jeremy Ravenel", email = "jeremy@naas.ai" }]
6
6
  requires-python = ">=3.10,<4"
@@ -43,6 +43,7 @@ ssh = [
43
43
  ]
44
44
  aws = [
45
45
  "boto3>=1.38.19,<2",
46
+ "boto3-stubs>=1.42.19"
46
47
  ]
47
48
  qdrant = [
48
49
  "qdrant-client>=1.14.3",
@@ -1,307 +0,0 @@
1
- TAGS_METADATA = [
2
- {
3
- "name": "Overview",
4
- "description": """
5
- ### Project Overview
6
- The **ABI** (Artificial Business Intelligence) project is a Python-based backend framework designed to serve as the core infrastructure for building an Organizational AI System.
7
- This system empowers businesses to integrate, manage, and scale AI-driven operations with a focus on ontology, assistant-driven workflows, and analytics.\n
8
- Designed for flexibility and scalability, ABI provides a customizable framework suitable for organizations aiming to create intelligent, automated systems tailored to their needs.
9
-
10
- ### API Overview
11
- The ABI API allows users and applications to interact with ABI's capabilities for business process automation and intelligence.\n
12
- This document describes the current version of the ABI API, which provides access to agents, pipelines, workflows, integrations, ontology management and analytics features.
13
- """,
14
- },
15
- {
16
- "name": "Authentication",
17
- "description": """
18
- Authentication uses a Bearer token that can be provided either in the Authorization header (e.g. 'Authorization: Bearer `<token>`') or as a query parameter (e.g. '?token=`<token>`').
19
- The token must match the `ABI_API_KEY` environment variable.
20
- Contact your administrator to get the token.
21
-
22
- *Authentication with Authorization header:*
23
-
24
- ```python
25
- import requests
26
-
27
- url = "https://<your-registry-name>.default.space.naas.ai/agents/abi/completion"
28
-
29
- headers = {
30
- "Authorization": f"Bearer {token}"
31
- }
32
-
33
- response = requests.post(url, headers=headers)
34
- print(response.json())
35
- ```
36
-
37
- *Authentication with query parameter:*
38
-
39
- ```python
40
- import requests
41
-
42
- url = "https://<your-registry-name>.default.space.naas.ai/agents/abi/completion?token=<token>"
43
-
44
- response = requests.post(url)
45
- print(response.json())
46
- ```
47
- """,
48
- },
49
- {
50
- "name": "Connections",
51
- "description": """
52
- Connections are currently configured using Integration secrets (API keys, credentials) set up in the GitHub project settings. \n
53
- Learn more about the data access and secrets key [here](https://github.com/jupyter-naas/abi/blob/main/README.md#setup-github-repository-secrets).
54
-
55
- ### Agicap
56
- Required:
57
- - `AGICAP_USERNAME`: Username of your Agicap account
58
- - `AGICAP_PASSWORD`: Password of your Agicap account
59
- - `AGICAP_CLIENT_ID`: Client ID of your Agicap account. [Get your client ID](https://app.agicap.com/fr/app/organization-advanced-settings/public-api)
60
- - `AGICAP_CLIENT_SECRET`: Client Secret of your Agicap account. [Get your client secret](https://app.agicap.com/fr/app/organization-advanced-settings/public-api)
61
- - `AGICAP_BEARER_TOKEN`: Bearer Token of your Agicap account.
62
- - `AGICAP_API_TOKEN`: API token of your Agicap account. [Get your API token](https://app.agicap.com/fr/app/parametres/openapi)
63
-
64
- ### Algolia
65
- Required:
66
- - `ALGOLIA_API_KEY`: API key of your Algolia account. [Get your API key](https://www.algolia.com/api-keys)
67
- - `ALGOLIA_APPLICATION_ID`: Application ID of your Algolia account. [Get your application ID](https://www.algolia.com/api-keys)
68
-
69
- ### Airtable
70
- Required:
71
- - `AIRTABLE_API_KEY`: API key of your Airtable account. [Get your API key](https://airtable.com/create/tokens)
72
- - `AIRTABLE_BASE_ID`: Base ID of your Airtable account. [Get your base ID](https://airtable.com/create/tokens)
73
-
74
- ### AWS
75
- Required:
76
- - `AWS_ACCESS_KEY_ID`: Access key ID of your AWS account. [Get your access key ID](https://us-east-1.console.aws.amazon.com/iam/home)
77
- - `AWS_SECRET_ACCESS_KEY`: Secret access key of your AWS account. [Get your secret access key](https://us-east-1.console.aws.amazon.com/iam/home)
78
- - `AWS_REGION`: Region of your AWS account. [Get your region](https://us-east-1.console.aws.amazon.com/iam/home)
79
-
80
- ### Brevo
81
- Required:
82
- - `BREVO_API_KEY`: API key of your Brevo account. [Get your API key](https://help.brevo.com/hc/en-us/articles/209467485)
83
-
84
- ### Clockify
85
- Required:
86
- - `CLOCKIFY_API_KEY`: API key of your Clockify account. [Get your API key](https://clockify.me/user/settings)
87
-
88
- ### Discord
89
- Required:
90
- - `DISCORD_API_KEY`: API key of your Discord account. [Get your API key](https://discord.com/developers/applications)
91
-
92
- ### Github
93
- Required:
94
- - `GITHUB_ACCESS_TOKEN`: Access token of your Github account. [Get your access token](https://github.com/settings/tokens)
95
-
96
- ### Gladia
97
- Required:
98
- - `GLADIA_API_KEY`: API key of your Gladia account. [Get your API key](https://www.gladia.ai/)
99
-
100
- ### Gmail
101
- Required:
102
- - `GMAIL_EMAIL`: Email of your Gmail account.
103
- - `GMAIL_APP_PASSWORD`: App password of your Gmail account. [Get your app password](https://support.google.com/mail/answer/185833)
104
-
105
- ### Harvest
106
- Required:
107
- - `HARVEST_API_KEY`: API key of your Harvest account. [Get your API key](https://app.harvestapp.com/account/api)
108
- - `HARVEST_ACCOUNT_ID`: Account ID of your Harvest account.
109
-
110
- ### HubSpot
111
- Required:
112
- - `HUBSPOT_ACCESS_TOKEN`: Access token of your HubSpot account. [Get your access token](https://developers.hubspot.com/docs/api/private-apps)
113
-
114
- ### Instagram
115
- Required:
116
- - `INSTAGRAM_ACCESS_TOKEN`: Access token of your Instagram account. [Get your access token](https://developers.facebook.com/docs/instagram-api)
117
-
118
- ### LinkedIn
119
- Required:
120
- - `li_at` cookie: li_at cookie of your LinkedIn account. [Get your li_at cookie](https://www.notion.so/LinkedIn-driver-Get-your-cookies)
121
- - `JSESSIONID` cookie: JSESSIONID cookie of your LinkedIn account. [Get your JSESSIONID cookie](https://www.notion.so/LinkedIn-driver-Get-your-cookies)
122
-
123
- ### Mailchimp
124
- Required:
125
- - `MAILCHIMP_API_KEY`: API key of your Mailchimp account. [Get your API key](https://mailchimp.com/developer/api/)
126
- - `MAILCHIMP_SERVER_PREFIX`: Server prefix of your Mailchimp account. [Get your server prefix](https://mailchimp.com/developer/api/)
127
-
128
- ### Mercury
129
- Required:
130
- - `MERCURY_API_TOKEN`: API token of your Mercury account. [Get your API token](https://app.mercury.com/settings/tokens)
131
-
132
- ### NewsAPI
133
- Required:
134
- - `NEWSAPI_API_KEY`: API key of your NewsAPI account. [Get your API key](https://newsapi.org/register)
135
-
136
- ### Notion
137
- Required:
138
- - `NOTION_API_KEY`: API key of your Notion account. [Get your API key](https://www.notion.so/my-integrations)
139
-
140
- ### OneDrive
141
- Required:
142
- - `ONEDRIVE_ACCESS_TOKEN`: Access token of your OneDrive account. [Get your access token](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/)
143
-
144
- ### Pennylane
145
- Required:
146
- - `PENNYLANE_API_TOKEN`: API token of your Pennylane account. [Get your API token](https://pennylane.readme.io/docs/get-my-api-token)
147
-
148
- ### Perplexity
149
- Required:
150
- - `PERPLEXITY_API_KEY`: API key of your Perplexity account. [Get your API key](https://docs.perplexity.ai/docs/getting-started)
151
-
152
- ### Pipedrive
153
- Required:
154
- - `PIPEDRIVE_API_KEY`: API key of your Pipedrive account. [Get your API key](https://app.pipedrive.com/settings/api)
155
-
156
- ### PostgreSQL
157
- Required:
158
- - `POSTGRES_HOST`: Host of your PostgreSQL database.
159
- - `POSTGRES_PORT`: Port of your PostgreSQL database.
160
- - `POSTGRES_DB`: Database name of your PostgreSQL database.
161
- - `POSTGRES_USER`: User of your PostgreSQL database.
162
- - `POSTGRES_PASSWORD`: Password of your PostgreSQL database.
163
-
164
- ### Qonto
165
- Required:
166
- - `QONTO_ORGANIZATION_SLUG`: Organization slug of your Qonto account. [Get your organization slug](https://support-fr.qonto.com/hc/en-us/articles/23947692362513)
167
- - `QONTO_SECRET_KEY`: Secret key of your Qonto account. [Get your secret key](https://support-fr.qonto.com/hc/en-us/articles/23947692362513)
168
-
169
- ### Replicate
170
- Required:
171
- - `REPLICATE_API_KEY`: API key of your Replicate account. [Get your API key](https://replicate.com/account/api-tokens)
172
-
173
- ### Serper
174
- Required:
175
- - `SERPER_API_KEY`: API key of your Serper account. [Get your API key](https://serper.dev/api-key)
176
-
177
- ### Slack
178
- Required:
179
- - `SLACK_BOT_TOKEN`: Bot token of your Slack account. [Get your bot token](https://api.slack.com/apps)
180
-
181
- ### Stripe
182
- Required:
183
- - `STRIPE_API_KEY`: API key of your Stripe account. [Get your API key](https://dashboard.stripe.com/apikeys)
184
-
185
- ### Supabase
186
- Required:
187
- - `SUPABASE_URL`: URL of your Supabase account. [Get your URL](https://app.supabase.com/project/_/settings/api)
188
- - `SUPABASE_KEY`: Key of your Supabase account. [Get your key](https://app.supabase.com/project/_/settings/api)
189
-
190
- ### TikTok
191
- Required:
192
- - `TIKTOK_ACCESS_TOKEN`: Access token of your TikTok account. [Get your access token](https://developers.tiktok.com/)
193
-
194
- ### WhatsApp
195
- Required:
196
- - `WHATSAPP_ACCESS_TOKEN`: Access token of your WhatsApp account. [Get your access token](https://developers.facebook.com/docs/whatsapp/cloud-api/get-started)
197
-
198
- ### Yahoo Finance
199
- Required:
200
- - `YAHOO_FINANCE_API_KEY`: API key of your Yahoo Finance account. [Get your API key](https://www.yahoofinanceapi.com/)
201
-
202
- ### YouTube
203
- Required:
204
- - `YOUTUBE_API_KEY`: API key of your YouTube account. [Get your API key](https://console.cloud.google.com/apis/credentials)
205
-
206
- ### ZeroBounce
207
- Required:
208
- - `ZEROBOUNCE_API_KEY`: API key of your ZeroBounce account. [Get your API key](https://app.zerobounce.net/)
209
-
210
- """,
211
- },
212
- {
213
- "name": "Agents",
214
- "description": """
215
- API endpoints for interacting with ABI's agents.
216
-
217
- ### Core Agents:
218
- - Abi: Manages and coordinates other agents
219
- - Ontology: Manages and coordinates other agents
220
- - Naas: Manages and coordinates other agents
221
- - Support: Provides help and guidance for using ABI
222
-
223
- ### Marketplace Agents:
224
- - Custom agents with deep expertise in specific domains
225
- - Can be configured and trained for specialized tasks
226
- - Extensible through custom tools and knowledge bases
227
-
228
- Each agent can be accessed through dedicated endpoints that allow:
229
- - Completion requests for generating responses
230
- - Chat interactions for ongoing conversations
231
- - Tool execution for specific tasks
232
- - Configuration updates for customizing behavior
233
-
234
- Agents leverage various tools including integrations, pipelines and workflows to accomplish tasks. They can be extended with custom tools and knowledge to enhance their capabilities.
235
-
236
- """,
237
- },
238
- {
239
- "name": "Pipelines",
240
- "description": """
241
- API endpoints for interacting with ABI's pipelines.
242
- """,
243
- },
244
- {
245
- "name": "Workflows",
246
- "description": """
247
- API endpoints for interacting with ABI's workflows.
248
- """,
249
- },
250
- ]
251
-
252
- API_LANDING_HTML = """
253
- <!DOCTYPE html>
254
- <html>
255
- <head>
256
- <title>[TITLE]</title>
257
- <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
258
- <style>
259
- body {
260
- font-family: Arial, sans-serif;
261
- display: flex;
262
- flex-direction: column;
263
- align-items: center;
264
- justify-content: center;
265
- height: 100vh;
266
- margin: 0;
267
- background-color: #000000;
268
- color: white;
269
- }
270
- .logo {
271
- width: 200px;
272
- margin-bottom: 20px;
273
- }
274
- h1 {
275
- font-size: 48px;
276
- margin-bottom: 40px;
277
- }
278
- .buttons {
279
- display: flex;
280
- gap: 20px;
281
- }
282
- a {
283
- padding: 12px 24px;
284
- font-size: 18px;
285
- border: none;
286
- border-radius: 4px;
287
- cursor: pointer;
288
- text-decoration: none;
289
- color: white;
290
- background-color: #007bff;
291
- transition: background-color 0.2s;
292
- }
293
- a:hover {
294
- background-color: #0056b3;
295
- }
296
- </style>
297
- </head>
298
- <body>
299
- <img src="/static/[LOGO_NAME]" alt="Logo" class="logo">
300
- <h1>Welcome to [TITLE]!</h1>
301
- <p>[TITLE] is a tool that allows you to interact with ABI's capabilities for business process automation and intelligence.</p>
302
- <div class="buttons">
303
- <a href="/redoc">Go to Documentation</a>
304
- </div>
305
- </body>
306
- </html>
307
- """
File without changes
File without changes