Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
149 commits
Select commit Hold shift + click to select a range
cc41998
Temp commit
ngoclam9415 Sep 5, 2025
81e2a0b
Update script to curate data from document
ngoclam9415 Sep 9, 2025
2369a81
Runnable backend
ngoclam9415 Sep 9, 2025
13eebe4
Update prebuilt agent for testing out knowledge
ngoclam9415 Sep 10, 2025
ec9f818
Merge with release-0.5
ngoclam9415 Sep 18, 2025
fbe8605
Add API to modify agent persona
ngoclam9415 Sep 22, 2025
39eb258
Temp update
ngoclam9415 Sep 22, 2025
9cc1b2c
Update styleguide
nhidesign Sep 23, 2025
2ec0aef
format tree for explore tool
nhidesign Sep 23, 2025
93c392d
First set of API for knowledge pack
ngoclam9415 Sep 23, 2025
92859fd
Refactor selection state handling in library-columns component to use…
hungranger Sep 24, 2025
6ca9b05
Enhance prompt for Dana assistant
nhidesign Sep 24, 2025
9408e57
Add list knowledge API with pagination
ngoclam9415 Sep 24, 2025
c765935
Enhance UX for Dana agent maker
nhidesign Sep 24, 2025
de820f2
Update attempt_completion_tool.py
nhidesign Sep 24, 2025
0e56943
Merge pull request #498 from aitomatic/usr/nhi/UI-styleguide
nhidesign Sep 24, 2025
c445600
Temp update
ngoclam9415 Sep 24, 2025
f14d15b
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Sep 24, 2025
d494573
Remove Universal notifier
nhidesign Sep 25, 2025
a707b3c
Restructure API folder for migration + Add broadcast behavior for web…
ngoclam9415 Sep 25, 2025
610a034
Restructure API folder for migration + Add broadcast behavior for web…
ngoclam9415 Sep 25, 2025
c735c3f
New set of API for knowledge structuring only
ngoclam9415 Sep 27, 2025
92dafce
Merge branch 'main' of GitHub.com:Aitomatic/Dana-Internal into releas…
TheVinhLuong102 Sep 28, 2025
ee99a0a
minor edit in Makefile
TheVinhLuong102 Sep 28, 2025
1690e80
Add APIs to update/add child node/remove
ngoclam9415 Sep 29, 2025
0aab43c
Update tests
ngoclam9415 Sep 30, 2025
8933970
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Sep 30, 2025
16ca1e1
Add tree visualization tool
ngoclam9415 Sep 30, 2025
79aa02e
Hotfix use mode
ngoclam9415 Sep 30, 2025
7595f97
Add background tasks and centralized RAG
ngoclam9415 Sep 30, 2025
f47c47a
add e2e playwright tests
radiangle Oct 1, 2025
d1ea1a6
Add background tasks and centralized RAG
ngoclam9415 Oct 1, 2025
e1afa56
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 1, 2025
49dbdee
Add background tasks and centralized RAG
ngoclam9415 Oct 1, 2025
d37c7da
UPDATE UI
nhidesign Oct 1, 2025
37c4ed4
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 1, 2025
7ff54b9
Add agent import/export functionality with tar archives
vnlongbk Oct 1, 2025
d72c4b3
Fix errors for UI
nhidesign Oct 1, 2025
9fe1136
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 1, 2025
d6e4d5e
UI improvement - Disable Add file from computer in Train
nhidesign Oct 1, 2025
639426b
Add Support page and update navigation
zoomaitomatic Oct 1, 2025
76d293c
Refactor Support page layout and functionality
zoomaitomatic Oct 1, 2025
e67e990
Enhance Support page with SLA information and improved layout
zoomaitomatic Oct 1, 2025
ec1ecd4
Update SLA response times and enhance Support page card functionality
zoomaitomatic Oct 1, 2025
4d23955
Update package version to 0.6.0 in package.json
zoomaitomatic Oct 1, 2025
1469ed4
Enhance Support page typography and layout
zoomaitomatic Oct 1, 2025
af30b61
Update centralized RAG. Missing filter by filename
ngoclam9415 Oct 1, 2025
a792423
Set Deep extract task overwrite=True
ngoclam9415 Oct 1, 2025
58c868b
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 1, 2025
9b72dd6
Update metadata for Document
ngoclam9415 Oct 2, 2025
1b22df2
add essential chat with doc test
radiangle Oct 2, 2025
52f61ab
add essential test chat with doc and knowledge pack
radiangle Oct 2, 2025
22823a0
Allow deep_extract=None in /api/v2/documents/{document_id}
ngoclam9415 Oct 2, 2025
5994968
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 2, 2025
3f5704f
Allow deep_extract=None in /api/v2/documents/{document_id}
ngoclam9415 Oct 2, 2025
b87e39b
update essential test chat with doc and knowledge pack
radiangle Oct 2, 2025
5229dce
Update essential_chat_with_doc_and_knowledge_pack.spec.ts
radiangle Oct 2, 2025
d649bbc
Update README.md
radiangle Oct 2, 2025
7f442e2
Upload file v2 (#507)
vnlongbk Oct 2, 2025
6c82e2a
Enhance agent creation from prebuilt configuration
vnlongbk Oct 3, 2025
b1fe01c
SUpport WatsonX models
ngoclam9415 Oct 3, 2025
376ef50
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 3, 2025
64e879d
Revert RAGResource
ngoclam9415 Oct 3, 2025
d86e50f
UX enhancement
nhidesign Oct 3, 2025
77e0f5e
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 3, 2025
131e964
Delete knowledge API
ngoclam9415 Oct 3, 2025
9a804d4
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 3, 2025
8066067
Add placeholder
nhidesign Oct 3, 2025
7977ebe
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 3, 2025
c0dfa8b
Add delete functionality for domain knowledge nodes
vnlongbk Oct 3, 2025
6f572e2
Refine delete button
nhidesign Oct 3, 2025
6eb153e
Add file size limits
nhidesign Oct 3, 2025
479a31b
Update RAGResourceV2 to correctly handle connection
ngoclam9415 Oct 3, 2025
c3a3689
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 3, 2025
af9d8ed
Update AICapture
ngoclam9415 Oct 3, 2025
62c7920
Enhance table layout and styling in markdown viewer
vnlongbk Oct 5, 2025
7d1d873
Merge pull request #508 from aitomatic/usr/zoom/dev/0.6/GA
zoomaitomatic Oct 5, 2025
b27c7ea
fix lint
vnlongbk Oct 5, 2025
eeb9d74
Handle filepath to work with Window
ngoclam9415 Oct 6, 2025
56f77bf
improve: commented-out ExtractionControls component from ExtractedFile
vnlongbk Oct 6, 2025
c22780c
Update delete API
ngoclam9415 Oct 6, 2025
71bd357
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 6, 2025
5291883
update README
radiangle Oct 6, 2025
5a8bbb3
resolve conflict
radiangle Oct 6, 2025
e56a087
UI enhancement (copy changes)
nhidesign Oct 6, 2025
9372eab
update smoke test
radiangle Oct 6, 2025
810f75b
feat: noti app version
vnlongbk Oct 6, 2025
bf19a08
feat: add clearVersionCache method to reset cached version data
vnlongbk Oct 6, 2025
a88b242
fix essential chat with doc base case
radiangle Oct 6, 2025
918d8e4
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
radiangle Oct 6, 2025
07be77a
add test file
radiangle Oct 6, 2025
66c4483
fix essential chat with doc and knowledge pack
radiangle Oct 6, 2025
cd5009a
update README
radiangle Oct 6, 2025
1485515
update README
radiangle Oct 6, 2025
09c7a0a
Fix package conflict between Dana aicapture vs lib aicapture
ngoclam9415 Oct 6, 2025
1da7f1d
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 6, 2025
2be9938
Use AutoDetect model
ngoclam9415 Oct 6, 2025
76e4319
Add generating node status
nhidesign Oct 6, 2025
3526153
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 6, 2025
62a05d6
Temporary handle upload file from agent chat
ngoclam9415 Oct 6, 2025
31b315c
Refine message
nhidesign Oct 6, 2025
0fb0d46
Remove bubbles on banner
nhidesign Oct 6, 2025
804a3c8
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 6, 2025
13c5871
Hide delete button on first root node
nhidesign Oct 6, 2025
ea438e6
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 6, 2025
9ca0d4e
Send timestamp in correct format
ngoclam9415 Oct 6, 2025
e83662d
Merge branch 'release-0.6' of github.com:aitomatic/opendxa into relea…
ngoclam9415 Oct 6, 2025
27e8d96
Handle WatsonX models currectly
ngoclam9415 Oct 7, 2025
405bff2
Also add some pending APIs v2
ngoclam9415 Oct 7, 2025
54a9f0b
Handle WatsonX models currectly
ngoclam9415 Oct 7, 2025
b16e285
Fix timestamp
nhidesign Oct 7, 2025
74618f1
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 7, 2025
be04956
Add search icon back
nhidesign Oct 7, 2025
de97442
Update Agent schema to include description and change config type; mo…
vnlongbk Oct 7, 2025
726b514
Disable buttons
nhidesign Oct 7, 2025
faf9197
Merge branch 'release-0.6' of https://github.com/aitomatic/dana-inter…
nhidesign Oct 7, 2025
ce8e5f5
Enhance agent knowledge status retrieval to include all topics, even …
vnlongbk Oct 7, 2025
e78a732
Polish UI
nhidesign Oct 8, 2025
b0a0fce
polish UI
nhidesign Oct 8, 2025
7b49ae7
remove test file
nhidesign Oct 10, 2025
3a0ada0
Fix file upload bugs for library
nhidesign Oct 10, 2025
e8a312a
Add adana to same repo
ngoclam9415 Oct 10, 2025
10238ae
Move test from adana to this repo
ngoclam9415 Oct 10, 2025
71931be
Fix Windows CI/CD console and warning issues
ctn Oct 10, 2025
28e6222
Fix Windows console issues in REPL app
ctn Oct 10, 2025
12bfdd1
Merge pull request #514 from aitomatic/release-0.6
ctn Oct 10, 2025
f57ef80
Catch the train!
ctn Oct 11, 2025
a38abd5
Restore Windows console fixes that were overwritten
ctn Oct 11, 2025
1774715
Merge pull request #515 from aitomatic/release-0.6
ctn Oct 11, 2025
a1eea43
chore: bump version to 0.6.0.1.post1 for PyPI release
sang-d Nov 22, 2025
93e933a
update gg endpoint
sang-d Nov 24, 2025
c905735
fix gg search
sang-d Nov 24, 2025
7987bd8
update sites
sang-d Nov 24, 2025
e1e0022
fix max result
sang-d Nov 24, 2025
8c7a1dd
fix legacy
sang-d Nov 24, 2025
5b21bbd
update version
sang-d Nov 24, 2025
afa661c
fix lagacy code
sang-d Nov 25, 2025
793aaf6
pump version
sang-d Nov 25, 2025
6fadc5c
enable subquery
sang-d Nov 25, 2025
439bd14
pump version
sang-d Nov 25, 2025
e8dfbb5
revert legacy llm
sang-d Nov 25, 2025
c8fbf91
Merge pull request #523 from aitomatic/fix/gg-search-endpoint
ngoclam9415 Nov 25, 2025
419f542
Merge branch 'main' of github.com:aitomatic/dana-internal into release
ctn Jan 12, 2026
704ac78
Add missing pypdf dependency
ctn Jan 12, 2026
20c502a
Fix npm security vulnerabilities (11 → 1)
ctn Jan 12, 2026
6feefa3
Replace xlsx with exceljs to fix remaining vulnerability
ctn Jan 12, 2026
946aa75
Fix test_rag_orchestrator to handle huggingface fallback
ctn Jan 12, 2026
e67bd78
Fix test_retriever by detecting HuggingFace as valid fallback
ctn Jan 13, 2026
f599a84
Skip integration tests requiring OpenAI in CI
ctn Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ __pycache__/
.ruff_cache/

# Environment
.cursor/
.tmp/
tmp/
.venv
Expand Down
3 changes: 2 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,9 @@
"name" : "Debug Dana Backend",
"type": "python",
"request": "launch",
"justMyCode": false,
"module": "dana.apps.cli.__main__",
"args": ["studio"],
"args": ["studio", "--reload"],
"console": "integratedTerminal",
"env" : {
"DANAPATH" : "${workspaceFolder}"
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ check-dist: ## Validate built distribution files
publish: check-dist ## Upload to PyPI
@echo "🚀 Publishing to PyPI..."
$(UV_CMD) run twine upload --verbose dist/*
run: dana ## Alias for 'dana' command
run: dana ## Alias for 'dana' command

build-frontend: ## Build the frontend (Vite React app) and copy to backend static
cd dana/contrib/ui && npm i && npm run build
Expand Down
19 changes: 19 additions & 0 deletions adana/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
"""
Adana - Minimal LLM Library

A simple, clean interface for interacting with any LLM provider.
Follows KISS principle with just the essential methods most clients need.
"""

# Import library initialization FIRST (loads .env automatically)
from .__init__ import initialize


initialize()

from .common import LLM, LLMMessage, LLMResponse
from .core import STARAgent


__version__ = "0.1.0"
__all__ = ["LLM", "LLMMessage", "LLMResponse", "STARAgent"]
7 changes: 7 additions & 0 deletions adana/__init__/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
def initialize():
from .dotenv import init as dotenv_init

dotenv_init()


all = ["initialize"]
46 changes: 46 additions & 0 deletions adana/__init__/dotenv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
"""
Adana Library Initialization Module

This module handles all library startup and initialization tasks.
It can be run directly as: python -m adana.__init__

This module is automatically imported when the main adana library is imported.
"""

# Import startup functions directly
from pathlib import Path
import sys


# Add the project root to Python path
project_root = Path(__file__).parent.parent.parent
sys.path.insert(0, str(project_root))

# Import startup functions directly
from dotenv import find_dotenv, load_dotenv


def load_env():
"""
Load environment variables from .env file.

Searches for .env file up the directory tree until it finds one
or reaches the home directory. This function is called automatically
when the library is imported, but you can call it explicitly if needed.
"""
dotenv_path = find_dotenv()
if dotenv_path:
load_dotenv(dotenv_path)
else:
load_dotenv()


def init():
"""
Initialize the Adana library.

This function handles all startup tasks including:
- Loading environment variables from .env files
- Any other library initialization tasks
"""
load_env()
1 change: 1 addition & 0 deletions adana/apps/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Adana applications package."""
1 change: 1 addition & 0 deletions adana/apps/cli/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""Adana CLI application."""
125 changes: 125 additions & 0 deletions adana/apps/cli/__main__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
#!/usr/bin/env python3
"""
Adana Command Line Interface - Main Entry Point

Simple CLI router that decides whether to:
- Execute a Python script
- Launch the interactive REPL

Usage:
adana Start Dana conversational agent
adana script.py Execute a Python script
adana-repl Start interactive Python REPL
adana --help Show help message
"""

import argparse
from pathlib import Path
import sys


def main():
"""Main entry point for the Adana CLI."""
parser = argparse.ArgumentParser(
description="Adana - Domain-Aware Neurosymbolic Agent Framework",
add_help=False,
)
parser.add_argument("file", nargs="?", help="Python script to execute")
parser.add_argument("-h", "--help", action="store_true", help="Show help message")
parser.add_argument("--version", action="store_true", help="Show version")

args = parser.parse_args()

# Show help
if args.help:
show_help()
return 0

# Show version
if args.version:
from adana import __version__

print(f"Adana {__version__}")
return 0

# Execute file or start REPL
if args.file:
return execute_file(args.file)
else:
return start_repl()


def show_help():
"""Display help information."""
print("""
╔═══════════════════════════════════════════════════════════╗
║ Adana - Domain-Aware Neurosymbolic Agent Framework ║
╚═══════════════════════════════════════════════════════════╝

Usage:
adana Start Dana conversational agent
adana-repl Start interactive Python REPL
adana script.py Execute a Python script
adana --help Show this help message
adana --version Show version information

Dana is a conversational AI that helps you manage agents, resources,
and workflows through natural language interaction.

Use 'adana-repl' for a Python REPL with pre-imported Adana classes.
""")


def execute_file(file_path: str) -> int:
"""Execute a Python script.

Args:
file_path: Path to the Python script to execute

Returns:
Exit code (0 for success, 1 for error)
"""
path = Path(file_path)

if not path.exists():
print(f"Error: File '{file_path}' not found")
return 1

if not path.suffix == ".py":
print("Error: File must have .py extension")
return 1

try:
# Read and execute the file
code = path.read_text()
exec(code, {"__name__": "__main__", "__file__": str(path)})
return 0
except Exception as e:
print(f"Error executing script: {e}")
import traceback

traceback.print_exc()
return 1


def start_repl() -> int:
"""Start the Dana conversational agent.

Returns:
Exit code (0 for success)
"""
try:
from adana.apps.dana.__main__ import main as dana_main

dana_main()
return 0
except ImportError as e:
print(f"Error: Failed to import Dana module: {e}")
return 1
except Exception as e:
print(f"Error starting Dana: {e}")
return 1


if __name__ == "__main__":
sys.exit(main())
30 changes: 30 additions & 0 deletions adana/apps/dana/DanaAgent.prt
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<PUBLIC_DESCRIPTION>
Dana is a conversational coordinator for multi-agent systems. Dana helps users:
- Discuss goals and translate them into structured actions
- Create, configure, and manage specialized agents
- Invoke resources and workflows to perform tasks
- Orchestrate multi-step, cross-agent operations
- Provide progress updates, results, and transparent provenance on request
</PUBLIC_DESCRIPTION>

<PRIVATE_IDENTITY>
You are Dana, a conversational coordinator for multi-agent systems. You help users
navigate complex tasks by breaking them down, delegating to appropriate agents,
and orchestrating the results into coherent outcomes.
</PRIVATE_IDENTITY>

<THINKING_RULES>
You operate according to the STAR loop:
- SEE: Understand the user's request and current context
- THINK: Plan the approach and identify required agents/resources
- ACT: Execute the plan through structured tool calls
- REFLECT: Summarize outcomes and suggest next steps
</THINKING_RULES>

<CONFIGURATION_INFO>
Maintain continuity across turns and refer back to relevant context.
Clarify ambiguous inputs briefly, then proceed.
When a task involves multiple steps, summarize the plan before execution.
Be proactive but predictable: take actions only when clearly needed.
Always explain what you're doing and why in concise natural language.
</CONFIGURATION_INFO>
Loading