kalytera 0.1.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.
- kalytera-0.1.0/.claude/agents/dev-agent.md +21 -0
- kalytera-0.1.0/.claude/agents/pm-agent.md +34 -0
- kalytera-0.1.0/.claude/agents/qa-agent.md +19 -0
- kalytera-0.1.0/.claude/commands/daily-build.md +25 -0
- kalytera-0.1.0/.claude/commands/daily-report.md +6 -0
- kalytera-0.1.0/.claude/commands/run-tests.md +10 -0
- kalytera-0.1.0/.claude/session_log.txt +366 -0
- kalytera-0.1.0/.claude/settings.json +50 -0
- kalytera-0.1.0/.claude/settings.local.json +8 -0
- kalytera-0.1.0/.env.example +28 -0
- kalytera-0.1.0/.github/workflows/publish.yml +59 -0
- kalytera-0.1.0/.gitignore +43 -0
- kalytera-0.1.0/.python-version +1 -0
- kalytera-0.1.0/.railwayignore +50 -0
- kalytera-0.1.0/.streamlit/config.toml +7 -0
- kalytera-0.1.0/.streamlit/secrets.toml +3 -0
- kalytera-0.1.0/API_ENDPOINTS.md +73 -0
- kalytera-0.1.0/AgentIQ /342/200/224 One Pager_files/css2" +288 -0
- kalytera-0.1.0/AgentIQ-deployment.tar.gz +0 -0
- kalytera-0.1.0/CLAUDE (1).md +172 -0
- kalytera-0.1.0/CLAUDE.md +206 -0
- kalytera-0.1.0/CODING_PROMPT.md +61 -0
- kalytera-0.1.0/CODING_PROMPT.md.pdf +0 -0
- kalytera-0.1.0/CODING_PROMPT.md.txt +61 -0
- kalytera-0.1.0/COMPREHENSIVE_TESTING_PLAN.md +317 -0
- kalytera-0.1.0/CRITICAL_ISSUES_FIX_PLAN.md +186 -0
- kalytera-0.1.0/DEPLOY_TO_RAILWAY.md +140 -0
- kalytera-0.1.0/Dockerfile +12 -0
- kalytera-0.1.0/END_TO_END_TESTING_GUIDE.md +283 -0
- kalytera-0.1.0/FIXES_APPLIED.md +161 -0
- kalytera-0.1.0/HOW_TO_TEST_DASHBOARD.md +195 -0
- kalytera-0.1.0/INIT_PROMPT.md +22 -0
- kalytera-0.1.0/INIT_PROMPT.md.txt +22 -0
- kalytera-0.1.0/LAUNCH_POST.md +289 -0
- kalytera-0.1.0/LAUNCH_POST_FINAL.md +207 -0
- kalytera-0.1.0/PKG-INFO +350 -0
- kalytera-0.1.0/Procfile +2 -0
- kalytera-0.1.0/README.md +307 -0
- kalytera-0.1.0/README_AUTONOMOUS.md +53 -0
- kalytera-0.1.0/README_DASHBOARD.md +79 -0
- kalytera-0.1.0/README_DEPLOYMENT.md +306 -0
- kalytera-0.1.0/REVIEWER_PROMPT.md +63 -0
- kalytera-0.1.0/REVIEWER_PROMPT.md.txt +63 -0
- kalytera-0.1.0/TESTING_PLAN.md +208 -0
- kalytera-0.1.0/TEST_RESULTS.md +242 -0
- kalytera-0.1.0/_archive/agent_testing_framework.py +464 -0
- kalytera-0.1.0/_archive/agentiq_content_preserved_platform.py +1266 -0
- kalytera-0.1.0/_archive/agentiq_dashboard.py +329 -0
- kalytera-0.1.0/_archive/agentiq_enterprise_platform.py +586 -0
- kalytera-0.1.0/_archive/agentiq_fixed_professional_platform.py +1012 -0
- kalytera-0.1.0/_archive/agentiq_mvp_dashboard.py +424 -0
- kalytera-0.1.0/_archive/agentiq_production_sdk.py +714 -0
- kalytera-0.1.0/_archive/agentiq_professional_platform.py +1157 -0
- kalytera-0.1.0/_archive/agentiq_sdk.py +362 -0
- kalytera-0.1.0/_archive/agentiq_sdk_example.py +165 -0
- kalytera-0.1.0/_archive/coding_agent_dashboard.py +198 -0
- kalytera-0.1.0/_archive/complete_agentiq_example.py +327 -0
- kalytera-0.1.0/_archive/complete_deployment.py +86 -0
- kalytera-0.1.0/_archive/create_github_repo.py +161 -0
- kalytera-0.1.0/_archive/create_production_demo_data.py +351 -0
- kalytera-0.1.0/_archive/create_sample_evaluations.py +133 -0
- kalytera-0.1.0/_archive/detect_production.py +202 -0
- kalytera-0.1.0/_archive/enterprise_agentiq_dashboard.py +361 -0
- kalytera-0.1.0/_archive/enterprise_scale_loader.py +436 -0
- kalytera-0.1.0/_archive/live_demo.py +226 -0
- kalytera-0.1.0/_archive/load_diverse_agent_data.py +244 -0
- kalytera-0.1.0/_archive/load_enterprise_scale_data.py +241 -0
- kalytera-0.1.0/_archive/load_massive_coding_data.py +152 -0
- kalytera-0.1.0/_archive/load_massive_unique_data.py +270 -0
- kalytera-0.1.0/_archive/load_production_data.py +180 -0
- kalytera-0.1.0/_archive/monitor_deployment.py +97 -0
- kalytera-0.1.0/_archive/populate_sophisticated_data.py +287 -0
- kalytera-0.1.0/_archive/prepare_launch_post.py +308 -0
- kalytera-0.1.0/_archive/quick_fix_validation.py +192 -0
- kalytera-0.1.0/_archive/quick_massive_data_fix.py +173 -0
- kalytera-0.1.0/_archive/real_time_dashboard.py +350 -0
- kalytera-0.1.0/_archive/simplified_direct_dashboard.py +231 -0
- kalytera-0.1.0/_archive/sophisticated_demo.py +266 -0
- kalytera-0.1.0/_archive/test_agent_integration.py +255 -0
- kalytera-0.1.0/_archive/test_billing_dispute_classification.py +178 -0
- kalytera-0.1.0/_archive/test_integration.py +365 -0
- kalytera-0.1.0/_archive/test_integration_flow.py +235 -0
- kalytera-0.1.0/_archive/test_llm_evaluation.py +276 -0
- kalytera-0.1.0/_archive/test_pattern_analysis.py +240 -0
- kalytera-0.1.0/_archive/test_real_time_dashboard.py +105 -0
- kalytera-0.1.0/_archive/test_suite.py +396 -0
- kalytera-0.1.0/_archive/universal_agent_dashboard.py +340 -0
- kalytera-0.1.0/_archive/working_dashboard.py +244 -0
- kalytera-0.1.0/_archive/working_massive_loader.py +265 -0
- kalytera-0.1.0/agentiq/__init__.py +6 -0
- kalytera-0.1.0/agentiq/analyzer.py +306 -0
- kalytera-0.1.0/agentiq/config.py +5 -0
- kalytera-0.1.0/agentiq/dashboard.py +1343 -0
- kalytera-0.1.0/agentiq/judge.py +258 -0
- kalytera-0.1.0/agentiq/prompts.py +138 -0
- kalytera-0.1.0/agentiq/tracer.py +141 -0
- kalytera-0.1.0/agentiq-clipboard-v3.docx +0 -0
- kalytera-0.1.0/agentiq-dashboard-spec.md +495 -0
- kalytera-0.1.0/agentiq-demo-voiceover.md +51 -0
- kalytera-0.1.0/agentiq-demo.html +634 -0
- kalytera-0.1.0/agentiq-dev-landing.html +607 -0
- kalytera-0.1.0/agentiq-mvp-spec.docx +0 -0
- kalytera-0.1.0/agentiq-onepager-final.html +847 -0
- kalytera-0.1.0/agentiq-site.html +746 -0
- kalytera-0.1.0/alembic.ini +41 -0
- kalytera-0.1.0/analytics/__init__.py +9 -0
- kalytera-0.1.0/analytics/usage.py +0 -0
- kalytera-0.1.0/analytics/usage_analytics.py +605 -0
- kalytera-0.1.0/api/__init__.py +0 -0
- kalytera-0.1.0/api/admin_endpoints.py +191 -0
- kalytera-0.1.0/api/analytics_endpoints.py +1150 -0
- kalytera-0.1.0/api/database.py +81 -0
- kalytera-0.1.0/api/evaluation_endpoints.py +658 -0
- kalytera-0.1.0/api/ingest_endpoints.py +382 -0
- kalytera-0.1.0/api/main.py +240 -0
- kalytera-0.1.0/api/monitoring.py +145 -0
- kalytera-0.1.0/api/pattern_endpoints.py +442 -0
- kalytera-0.1.0/api/security.py +334 -0
- kalytera-0.1.0/autonomous_llm_judge.py +731 -0
- kalytera-0.1.0/causal/__init__.py +0 -0
- kalytera-0.1.0/causal/inference.py +0 -0
- kalytera-0.1.0/claude-progress.txt +110 -0
- kalytera-0.1.0/comprehensive_agentiq_test.py +698 -0
- kalytera-0.1.0/config.py +0 -0
- kalytera-0.1.0/dashboard/app.py +134 -0
- kalytera-0.1.0/dashboard/app_temp.py +143 -0
- kalytera-0.1.0/dashboard/main.py +568 -0
- kalytera-0.1.0/dashboard/requirements.txt +4 -0
- kalytera-0.1.0/dashboard_render.yaml +15 -0
- kalytera-0.1.0/dashboard_requirements.txt +4 -0
- kalytera-0.1.0/db/__init__.py +1 -0
- kalytera-0.1.0/db/env.py +53 -0
- kalytera-0.1.0/db/migrations/README +1 -0
- kalytera-0.1.0/db/migrations/env.py +75 -0
- kalytera-0.1.0/db/migrations/script.py.mako +26 -0
- kalytera-0.1.0/db/migrations/versions/89519c35a421_add_session_ended_column_to_agent_logs.py +36 -0
- kalytera-0.1.0/db/migrations/versions/ea02b24bdb44_create_initial_tables.py +101 -0
- kalytera-0.1.0/db/models.py +90 -0
- kalytera-0.1.0/db/queries.py +466 -0
- kalytera-0.1.0/debug_intent.py +25 -0
- kalytera-0.1.0/deploy_to_render.sh +39 -0
- kalytera-0.1.0/docker-compose.yml +47 -0
- kalytera-0.1.0/docs/ARCHITECTURE.md +0 -0
- kalytera-0.1.0/docs/ARCHITECTURE_EXTERNAL.md +56 -0
- kalytera-0.1.0/docs/ARCHITECTURE_INTERNAL.md +107 -0
- kalytera-0.1.0/docs/DAILY_LOG.md +22 -0
- kalytera-0.1.0/docs/JUDGE.md +0 -0
- kalytera-0.1.0/docs/PATTERNS.md +0 -0
- kalytera-0.1.0/docs/PROGRESS.md +45 -0
- kalytera-0.1.0/docs/QUESTIONS.md +6 -0
- kalytera-0.1.0/docs/QUICKSTART.md +168 -0
- kalytera-0.1.0/docs/SDK.md +0 -0
- kalytera-0.1.0/docs/TASKS.md +41 -0
- kalytera-0.1.0/docs/TAXONOMY.md +0 -0
- kalytera-0.1.0/docs/architecture-external.html +223 -0
- kalytera-0.1.0/docs/architecture-internal.html +359 -0
- kalytera-0.1.0/docs/demo.html +634 -0
- kalytera-0.1.0/docs/index.html +969 -0
- kalytera-0.1.0/env_example +27 -0
- kalytera-0.1.0/evaluation/__init__.py +1 -0
- kalytera-0.1.0/evaluation/agent_judge.py +453 -0
- kalytera-0.1.0/evaluation/intent_classifier.py +436 -0
- kalytera-0.1.0/evaluation/judge.py +58 -0
- kalytera-0.1.0/evaluation/judge_prompts.py +335 -0
- kalytera-0.1.0/evaluation/prompts.py +0 -0
- kalytera-0.1.0/features_list.json +409 -0
- kalytera-0.1.0/final_working_loader.py +305 -0
- kalytera-0.1.0/helm/agentiq/Chart.yaml +23 -0
- kalytera-0.1.0/helm/agentiq/templates/NOTES.txt +34 -0
- kalytera-0.1.0/helm/agentiq/templates/_helpers.tpl +83 -0
- kalytera-0.1.0/helm/agentiq/templates/api-deployment.yaml +64 -0
- kalytera-0.1.0/helm/agentiq/templates/api-service.yaml +19 -0
- kalytera-0.1.0/helm/agentiq/templates/dashboard-deployment.yaml +73 -0
- kalytera-0.1.0/helm/agentiq/templates/dashboard-service.yaml +19 -0
- kalytera-0.1.0/helm/agentiq/templates/hpa.yaml +23 -0
- kalytera-0.1.0/helm/agentiq/templates/ingress.yaml +36 -0
- kalytera-0.1.0/helm/agentiq/templates/secret.yaml +15 -0
- kalytera-0.1.0/helm/agentiq/templates/serviceaccount.yaml +12 -0
- kalytera-0.1.0/helm/agentiq/values.yaml +141 -0
- kalytera-0.1.0/ingestion/__init__.py +1 -0
- kalytera-0.1.0/ingestion/parsers.py +453 -0
- kalytera-0.1.0/ingestion/session_builder.py +727 -0
- kalytera-0.1.0/integration_showcase.html +242 -0
- kalytera-0.1.0/integration_test.py +403 -0
- kalytera-0.1.0/integration_test_report.json +57 -0
- kalytera-0.1.0/intent_classification.py +601 -0
- kalytera-0.1.0/load_demo_data.py +281 -0
- kalytera-0.1.0/loop_log.txt +2995 -0
- kalytera-0.1.0/loss_pattern_analyzer.py +1196 -0
- kalytera-0.1.0/main.py +9 -0
- kalytera-0.1.0/patterns/__init__.py +0 -0
- kalytera-0.1.0/patterns/loss_pattern_analyzer.py +789 -0
- kalytera-0.1.0/pyproject.toml +70 -0
- kalytera-0.1.0/railway.toml +7 -0
- kalytera-0.1.0/render-dashboard.yaml +15 -0
- kalytera-0.1.0/render.yaml +51 -0
- kalytera-0.1.0/requirements.txt +18 -0
- kalytera-0.1.0/run_with_review.sh +250 -0
- kalytera-0.1.0/runtime.txt +1 -0
- kalytera-0.1.0/sdk/__init__.py +25 -0
- kalytera-0.1.0/sdk/client.py +402 -0
- kalytera-0.1.0/seed_data.py +490 -0
- kalytera-0.1.0/simple_dashboard.py +340 -0
- kalytera-0.1.0/site/demo.html +634 -0
- kalytera-0.1.0/site/index.html +607 -0
- kalytera-0.1.0/tasks.md +20 -0
- kalytera-0.1.0/test_evaluation_simple.py +88 -0
- kalytera-0.1.0/test_patterns_simple.py +141 -0
- kalytera-0.1.0/test_sdk_integration.py +70 -0
- kalytera-0.1.0/tests/test_analyzer.py +340 -0
- kalytera-0.1.0/tests/test_api.py +243 -0
- kalytera-0.1.0/tests/test_judge.py +230 -0
- kalytera-0.1.0/tests/test_prompts.py +162 -0
- kalytera-0.1.0/tests/test_tracer.py +87 -0
- kalytera-0.1.0/tests/unit/test_api_endpoints.py +330 -0
- kalytera-0.1.0/tests/unit/test_api_trace.py +72 -0
- kalytera-0.1.0/tests/unit/test_evaluation.py +342 -0
- kalytera-0.1.0/tests/unit/test_ingestion.py +211 -0
- kalytera-0.1.0/tests/unit/test_pattern_analysis.py +373 -0
- kalytera-0.1.0/tests/unit/test_sdk.py +253 -0
- kalytera-0.1.0/tests/unit/test_sdk_basic.py +142 -0
- kalytera-0.1.0/web_dashboard.html +399 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Dev Agent
|
|
2
|
+
|
|
3
|
+
You are a senior Python engineer building AgentIQ.
|
|
4
|
+
Your job is to implement tasks from docs/TASKS.md one at a time.
|
|
5
|
+
|
|
6
|
+
## Rules you never break
|
|
7
|
+
- Read CLAUDE.md fully before starting any task
|
|
8
|
+
- Use plan mode for any task touching more than 2 files, schema changes, or refactors
|
|
9
|
+
- Create a branch — never work directly on main
|
|
10
|
+
- One task per session — multi-task prompts produce broken output
|
|
11
|
+
- Never touch evaluation/prompts.py without explicit instruction
|
|
12
|
+
- Never modify the pattern export schema
|
|
13
|
+
- If unsure about design decisions, write questions to docs/QUESTIONS.md and stop
|
|
14
|
+
|
|
15
|
+
## When you finish a task
|
|
16
|
+
1. Run full test suite: `pytest tests/unit/` and `pytest tests/integration/`
|
|
17
|
+
2. Run linting: `ruff check .` and `mypy . --strict` — all must pass
|
|
18
|
+
3. Update docs/TASKS.md — mark task done with timestamp
|
|
19
|
+
4. Write one-paragraph summary to docs/PROGRESS.md
|
|
20
|
+
5. Commit with message: "feat: [task-id] [description]"
|
|
21
|
+
6. Stop and wait for next session
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# PM Agent
|
|
2
|
+
|
|
3
|
+
You are the project manager for AgentIQ.
|
|
4
|
+
Your job is to track progress, update the task list, and send daily updates.
|
|
5
|
+
|
|
6
|
+
## What you do each day
|
|
7
|
+
1. Read docs/TASKS.md — note what was completed since yesterday
|
|
8
|
+
2. Read docs/PROGRESS.md — understand what was built
|
|
9
|
+
3. Read docs/QA_REPORT.md — note any outstanding failures
|
|
10
|
+
4. Read docs/QUESTIONS.md — note any unresolved design questions
|
|
11
|
+
5. Append a daily entry to docs/DAILY_LOG.md — see format below
|
|
12
|
+
6. Update docs/TASKS.md — move completed tasks to Done, reprioritize if needed
|
|
13
|
+
7. Clear docs/QUESTIONS.md after copying questions to DAILY_LOG.md
|
|
14
|
+
|
|
15
|
+
## Daily log entry format
|
|
16
|
+
---
|
|
17
|
+
## [DATE] Daily Update
|
|
18
|
+
|
|
19
|
+
**Completed today:**
|
|
20
|
+
- [task-id]: [what was built, one sentence]
|
|
21
|
+
|
|
22
|
+
**Test status:** [PASSED / FAILED — if failed, what]
|
|
23
|
+
|
|
24
|
+
**Coverage:** [overall %] | eval/ [%] | patterns/ [%] | causal/ [%]
|
|
25
|
+
|
|
26
|
+
**Needs your decision:**
|
|
27
|
+
- [any questions from dev agent]
|
|
28
|
+
|
|
29
|
+
**Tomorrow's priority:**
|
|
30
|
+
- [next task from TASKS.md]
|
|
31
|
+
|
|
32
|
+
**Blockers:**
|
|
33
|
+
- [anything blocking progress — or "None"]
|
|
34
|
+
---
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# QA Agent
|
|
2
|
+
|
|
3
|
+
You are a senior QA engineer for AgentIQ.
|
|
4
|
+
Your job is to verify every completed task has adequate test coverage
|
|
5
|
+
and that no regressions were introduced.
|
|
6
|
+
|
|
7
|
+
## Rules you never break
|
|
8
|
+
- Never modify source code — only test files
|
|
9
|
+
- Run the full test suite: `pytest tests/ --cov=. --cov-report=term-missing`
|
|
10
|
+
- If coverage on evaluation/, patterns/, or causal/ drops below 100%, flag it
|
|
11
|
+
- If overall coverage drops below 80%, flag it
|
|
12
|
+
- Check that every new function has at least one unit test
|
|
13
|
+
- Check that every new API endpoint has at least one integration test
|
|
14
|
+
- Write failures to docs/QA_REPORT.md with: test name, failure reason, suggested fix
|
|
15
|
+
- If all tests pass and coverage is healthy, write "PASSED" to docs/QA_REPORT.md with timestamp
|
|
16
|
+
|
|
17
|
+
## What you produce
|
|
18
|
+
A docs/QA_REPORT.md entry for every run: timestamp, tasks reviewed, tests run,
|
|
19
|
+
coverage %, failures found, failures fixed, outstanding issues.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Daily Build
|
|
2
|
+
|
|
3
|
+
**FOCUS: Get deployed AgentIQ system working end-to-end**
|
|
4
|
+
The core implementation is DONE. We need to fix deployment and verify everything works.
|
|
5
|
+
|
|
6
|
+
Your Render deployment: https://dashboard.render.com/web/srv-d80919rrjlhs73a48840
|
|
7
|
+
|
|
8
|
+
Steps:
|
|
9
|
+
1. Read CLAUDE.md and docs/TASKS.md — focus on deployment verification tasks
|
|
10
|
+
2. Check deployment status — is the API responding at your Render URL?
|
|
11
|
+
3. Test database connectivity — can migrations run on PostgreSQL?
|
|
12
|
+
4. Verify all endpoints work with real data
|
|
13
|
+
5. Load seed data for demonstration
|
|
14
|
+
6. Test the Streamlit dashboard
|
|
15
|
+
7. Document what's working and what needs fixes
|
|
16
|
+
8. Update docs/TASKS.md and docs/PROGRESS.md
|
|
17
|
+
9. Stop
|
|
18
|
+
|
|
19
|
+
**Priority Order:**
|
|
20
|
+
1. TASK-001: Fix deployment issues — get API responding
|
|
21
|
+
2. TASK-002: Database connectivity and migrations
|
|
22
|
+
3. TASK-004: Test all endpoints with actual data
|
|
23
|
+
4. TASK-008: Load demonstration data
|
|
24
|
+
|
|
25
|
+
Do NOT build new features. Focus on making the existing implementation work reliably on Render.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Run Tests
|
|
2
|
+
|
|
3
|
+
Run the QA agent following rules in .claude/agents/qa-agent.md.
|
|
4
|
+
|
|
5
|
+
Steps:
|
|
6
|
+
1. Run `pytest tests/ --cov=. --cov-report=term-missing`
|
|
7
|
+
2. Check coverage thresholds
|
|
8
|
+
3. Review all new functions for test coverage
|
|
9
|
+
4. Write QA_REPORT.md entry
|
|
10
|
+
5. Stop
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
[$(date)] Session ended
|
|
2
|
+
[$(date)] Session ended
|
|
3
|
+
[$(date)] Session ended
|
|
4
|
+
[$(date)] Session ended
|
|
5
|
+
[$(date)] Session ended
|
|
6
|
+
[$(date)] Session ended
|
|
7
|
+
[$(date)] Session ended
|
|
8
|
+
[$(date)] Session ended
|
|
9
|
+
[$(date)] Session ended
|
|
10
|
+
[$(date)] Session ended
|
|
11
|
+
[$(date)] Session ended
|
|
12
|
+
[$(date)] Session ended
|
|
13
|
+
[$(date)] Session ended
|
|
14
|
+
[$(date)] Session ended
|
|
15
|
+
[$(date)] Session ended
|
|
16
|
+
[$(date)] Session ended
|
|
17
|
+
[$(date)] Session ended
|
|
18
|
+
[$(date)] Session ended
|
|
19
|
+
[$(date)] Session ended
|
|
20
|
+
[$(date)] Session ended
|
|
21
|
+
[$(date)] Session ended
|
|
22
|
+
[$(date)] Session ended
|
|
23
|
+
[$(date)] Session ended
|
|
24
|
+
[$(date)] Session ended
|
|
25
|
+
[$(date)] Session ended
|
|
26
|
+
[$(date)] Session ended
|
|
27
|
+
[$(date)] Session ended
|
|
28
|
+
[$(date)] Session ended
|
|
29
|
+
[$(date)] Session ended
|
|
30
|
+
[$(date)] Session ended
|
|
31
|
+
[$(date)] Session ended
|
|
32
|
+
[$(date)] Session ended
|
|
33
|
+
[$(date)] Session ended
|
|
34
|
+
[$(date)] Session ended
|
|
35
|
+
[$(date)] Session ended
|
|
36
|
+
[$(date)] Session ended
|
|
37
|
+
[$(date)] Session ended
|
|
38
|
+
[$(date)] Session ended
|
|
39
|
+
[$(date)] Session ended
|
|
40
|
+
[$(date)] Session ended
|
|
41
|
+
[$(date)] Session ended
|
|
42
|
+
[$(date)] Session ended
|
|
43
|
+
[$(date)] Session ended
|
|
44
|
+
[$(date)] Session ended
|
|
45
|
+
[$(date)] Session ended
|
|
46
|
+
[$(date)] Session ended
|
|
47
|
+
[$(date)] Session ended
|
|
48
|
+
[$(date)] Session ended
|
|
49
|
+
[$(date)] Session ended
|
|
50
|
+
[$(date)] Session ended
|
|
51
|
+
[$(date)] Session ended
|
|
52
|
+
[$(date)] Session ended
|
|
53
|
+
[$(date)] Session ended
|
|
54
|
+
[$(date)] Session ended
|
|
55
|
+
[$(date)] Session ended
|
|
56
|
+
[$(date)] Session ended
|
|
57
|
+
[$(date)] Session ended
|
|
58
|
+
[$(date)] Session ended
|
|
59
|
+
[$(date)] Session ended
|
|
60
|
+
[$(date)] Session ended
|
|
61
|
+
[$(date)] Session ended
|
|
62
|
+
[$(date)] Session ended
|
|
63
|
+
[$(date)] Session ended
|
|
64
|
+
[$(date)] Session ended
|
|
65
|
+
[$(date)] Session ended
|
|
66
|
+
[$(date)] Session ended
|
|
67
|
+
[$(date)] Session ended
|
|
68
|
+
[$(date)] Session ended
|
|
69
|
+
[$(date)] Session ended
|
|
70
|
+
[$(date)] Session ended
|
|
71
|
+
[$(date)] Session ended
|
|
72
|
+
[$(date)] Session ended
|
|
73
|
+
[$(date)] Session ended
|
|
74
|
+
[$(date)] Session ended
|
|
75
|
+
[$(date)] Session ended
|
|
76
|
+
[$(date)] Session ended
|
|
77
|
+
[$(date)] Session ended
|
|
78
|
+
[$(date)] Session ended
|
|
79
|
+
[$(date)] Session ended
|
|
80
|
+
[$(date)] Session ended
|
|
81
|
+
[$(date)] Session ended
|
|
82
|
+
[$(date)] Session ended
|
|
83
|
+
[$(date)] Session ended
|
|
84
|
+
[$(date)] Session ended
|
|
85
|
+
[$(date)] Session ended
|
|
86
|
+
[$(date)] Session ended
|
|
87
|
+
[$(date)] Session ended
|
|
88
|
+
[$(date)] Session ended
|
|
89
|
+
[$(date)] Session ended
|
|
90
|
+
[$(date)] Session ended
|
|
91
|
+
[$(date)] Session ended
|
|
92
|
+
[$(date)] Session ended
|
|
93
|
+
[$(date)] Session ended
|
|
94
|
+
[$(date)] Session ended
|
|
95
|
+
[$(date)] Session ended
|
|
96
|
+
[$(date)] Session ended
|
|
97
|
+
[$(date)] Session ended
|
|
98
|
+
[$(date)] Session ended
|
|
99
|
+
[$(date)] Session ended
|
|
100
|
+
[$(date)] Session ended
|
|
101
|
+
[$(date)] Session ended
|
|
102
|
+
[$(date)] Session ended
|
|
103
|
+
[$(date)] Session ended
|
|
104
|
+
[$(date)] Session ended
|
|
105
|
+
[$(date)] Session ended
|
|
106
|
+
[$(date)] Session ended
|
|
107
|
+
[$(date)] Session ended
|
|
108
|
+
[$(date)] Session ended
|
|
109
|
+
[$(date)] Session ended
|
|
110
|
+
[$(date)] Session ended
|
|
111
|
+
[$(date)] Session ended
|
|
112
|
+
[$(date)] Session ended
|
|
113
|
+
[$(date)] Session ended
|
|
114
|
+
[$(date)] Session ended
|
|
115
|
+
[$(date)] Session ended
|
|
116
|
+
[$(date)] Session ended
|
|
117
|
+
[$(date)] Session ended
|
|
118
|
+
[$(date)] Session ended
|
|
119
|
+
[$(date)] Session ended
|
|
120
|
+
[$(date)] Session ended
|
|
121
|
+
[$(date)] Session ended
|
|
122
|
+
[$(date)] Session ended
|
|
123
|
+
[$(date)] Session ended
|
|
124
|
+
[$(date)] Session ended
|
|
125
|
+
[$(date)] Session ended
|
|
126
|
+
[$(date)] Session ended
|
|
127
|
+
[$(date)] Session ended
|
|
128
|
+
[$(date)] Session ended
|
|
129
|
+
[$(date)] Session ended
|
|
130
|
+
[$(date)] Session ended
|
|
131
|
+
[$(date)] Session ended
|
|
132
|
+
[$(date)] Session ended
|
|
133
|
+
[$(date)] Session ended
|
|
134
|
+
[$(date)] Session ended
|
|
135
|
+
[$(date)] Session ended
|
|
136
|
+
[$(date)] Session ended
|
|
137
|
+
[$(date)] Session ended
|
|
138
|
+
[$(date)] Session ended
|
|
139
|
+
[$(date)] Session ended
|
|
140
|
+
[$(date)] Session ended
|
|
141
|
+
[$(date)] Session ended
|
|
142
|
+
[$(date)] Session ended
|
|
143
|
+
[$(date)] Session ended
|
|
144
|
+
[$(date)] Session ended
|
|
145
|
+
[$(date)] Session ended
|
|
146
|
+
[$(date)] Session ended
|
|
147
|
+
[$(date)] Session ended
|
|
148
|
+
[$(date)] Session ended
|
|
149
|
+
[$(date)] Session ended
|
|
150
|
+
[$(date)] Session ended
|
|
151
|
+
[$(date)] Session ended
|
|
152
|
+
[$(date)] Session ended
|
|
153
|
+
[$(date)] Session ended
|
|
154
|
+
[$(date)] Session ended
|
|
155
|
+
[$(date)] Session ended
|
|
156
|
+
[$(date)] Session ended
|
|
157
|
+
[$(date)] Session ended
|
|
158
|
+
[$(date)] Session ended
|
|
159
|
+
[$(date)] Session ended
|
|
160
|
+
[$(date)] Session ended
|
|
161
|
+
[$(date)] Session ended
|
|
162
|
+
[$(date)] Session ended
|
|
163
|
+
[$(date)] Session ended
|
|
164
|
+
[$(date)] Session ended
|
|
165
|
+
[$(date)] Session ended
|
|
166
|
+
[$(date)] Session ended
|
|
167
|
+
[$(date)] Session ended
|
|
168
|
+
[$(date)] Session ended
|
|
169
|
+
[$(date)] Session ended
|
|
170
|
+
[$(date)] Session ended
|
|
171
|
+
[$(date)] Session ended
|
|
172
|
+
[$(date)] Session ended
|
|
173
|
+
[$(date)] Session ended
|
|
174
|
+
[$(date)] Session ended
|
|
175
|
+
[$(date)] Session ended
|
|
176
|
+
[$(date)] Session ended
|
|
177
|
+
[$(date)] Session ended
|
|
178
|
+
[$(date)] Session ended
|
|
179
|
+
[$(date)] Session ended
|
|
180
|
+
[$(date)] Session ended
|
|
181
|
+
[$(date)] Session ended
|
|
182
|
+
[$(date)] Session ended
|
|
183
|
+
[$(date)] Session ended
|
|
184
|
+
[$(date)] Session ended
|
|
185
|
+
[$(date)] Session ended
|
|
186
|
+
[$(date)] Session ended
|
|
187
|
+
[$(date)] Session ended
|
|
188
|
+
[$(date)] Session ended
|
|
189
|
+
[$(date)] Session ended
|
|
190
|
+
[$(date)] Session ended
|
|
191
|
+
[$(date)] Session ended
|
|
192
|
+
[$(date)] Session ended
|
|
193
|
+
[$(date)] Session ended
|
|
194
|
+
[$(date)] Session ended
|
|
195
|
+
[$(date)] Session ended
|
|
196
|
+
[$(date)] Session ended
|
|
197
|
+
[$(date)] Session ended
|
|
198
|
+
[$(date)] Session ended
|
|
199
|
+
[$(date)] Session ended
|
|
200
|
+
[$(date)] Session ended
|
|
201
|
+
[$(date)] Session ended
|
|
202
|
+
[$(date)] Session ended
|
|
203
|
+
[$(date)] Session ended
|
|
204
|
+
[$(date)] Session ended
|
|
205
|
+
[$(date)] Session ended
|
|
206
|
+
[$(date)] Session ended
|
|
207
|
+
[$(date)] Session ended
|
|
208
|
+
[$(date)] Session ended
|
|
209
|
+
[$(date)] Session ended
|
|
210
|
+
[$(date)] Session ended
|
|
211
|
+
[$(date)] Session ended
|
|
212
|
+
[$(date)] Session ended
|
|
213
|
+
[$(date)] Session ended
|
|
214
|
+
[$(date)] Session ended
|
|
215
|
+
[$(date)] Session ended
|
|
216
|
+
[$(date)] Session ended
|
|
217
|
+
[$(date)] Session ended
|
|
218
|
+
[$(date)] Session ended
|
|
219
|
+
[$(date)] Session ended
|
|
220
|
+
[$(date)] Session ended
|
|
221
|
+
[$(date)] Session ended
|
|
222
|
+
[$(date)] Session ended
|
|
223
|
+
[$(date)] Session ended
|
|
224
|
+
[$(date)] Session ended
|
|
225
|
+
[$(date)] Session ended
|
|
226
|
+
[$(date)] Session ended
|
|
227
|
+
[$(date)] Session ended
|
|
228
|
+
[$(date)] Session ended
|
|
229
|
+
[$(date)] Session ended
|
|
230
|
+
[$(date)] Session ended
|
|
231
|
+
[$(date)] Session ended
|
|
232
|
+
[$(date)] Session ended
|
|
233
|
+
[$(date)] Session ended
|
|
234
|
+
[$(date)] Session ended
|
|
235
|
+
[$(date)] Session ended
|
|
236
|
+
[$(date)] Session ended
|
|
237
|
+
[$(date)] Session ended
|
|
238
|
+
[$(date)] Session ended
|
|
239
|
+
[$(date)] Session ended
|
|
240
|
+
[$(date)] Session ended
|
|
241
|
+
[$(date)] Session ended
|
|
242
|
+
[$(date)] Session ended
|
|
243
|
+
[$(date)] Session ended
|
|
244
|
+
[$(date)] Session ended
|
|
245
|
+
[$(date)] Session ended
|
|
246
|
+
[$(date)] Session ended
|
|
247
|
+
[$(date)] Session ended
|
|
248
|
+
[$(date)] Session ended
|
|
249
|
+
[$(date)] Session ended
|
|
250
|
+
[$(date)] Session ended
|
|
251
|
+
[$(date)] Session ended
|
|
252
|
+
[$(date)] Session ended
|
|
253
|
+
[$(date)] Session ended
|
|
254
|
+
[$(date)] Session ended
|
|
255
|
+
[$(date)] Session ended
|
|
256
|
+
[$(date)] Session ended
|
|
257
|
+
[$(date)] Session ended
|
|
258
|
+
[$(date)] Session ended
|
|
259
|
+
[$(date)] Session ended
|
|
260
|
+
[$(date)] Session ended
|
|
261
|
+
[$(date)] Session ended
|
|
262
|
+
[$(date)] Session ended
|
|
263
|
+
[$(date)] Session ended
|
|
264
|
+
[$(date)] Session ended
|
|
265
|
+
[$(date)] Session ended
|
|
266
|
+
[$(date)] Session ended
|
|
267
|
+
[$(date)] Session ended
|
|
268
|
+
[$(date)] Session ended
|
|
269
|
+
[$(date)] Session ended
|
|
270
|
+
[$(date)] Session ended
|
|
271
|
+
[$(date)] Session ended
|
|
272
|
+
[$(date)] Session ended
|
|
273
|
+
[$(date)] Session ended
|
|
274
|
+
[$(date)] Session ended
|
|
275
|
+
[$(date)] Session ended
|
|
276
|
+
[$(date)] Session ended
|
|
277
|
+
[$(date)] Session ended
|
|
278
|
+
[$(date)] Session ended
|
|
279
|
+
[$(date)] Session ended
|
|
280
|
+
[$(date)] Session ended
|
|
281
|
+
[$(date)] Session ended
|
|
282
|
+
[$(date)] Session ended
|
|
283
|
+
[$(date)] Session ended
|
|
284
|
+
[$(date)] Session ended
|
|
285
|
+
[$(date)] Session ended
|
|
286
|
+
[$(date)] Session ended
|
|
287
|
+
[$(date)] Session ended
|
|
288
|
+
[$(date)] Session ended
|
|
289
|
+
[$(date)] Session ended
|
|
290
|
+
[$(date)] Session ended
|
|
291
|
+
[$(date)] Session ended
|
|
292
|
+
[$(date)] Session ended
|
|
293
|
+
[$(date)] Session ended
|
|
294
|
+
[$(date)] Session ended
|
|
295
|
+
[$(date)] Session ended
|
|
296
|
+
[$(date)] Session ended
|
|
297
|
+
[$(date)] Session ended
|
|
298
|
+
[$(date)] Session ended
|
|
299
|
+
[$(date)] Session ended
|
|
300
|
+
[$(date)] Session ended
|
|
301
|
+
[$(date)] Session ended
|
|
302
|
+
[$(date)] Session ended
|
|
303
|
+
[$(date)] Session ended
|
|
304
|
+
[$(date)] Session ended
|
|
305
|
+
[$(date)] Session ended
|
|
306
|
+
[$(date)] Session ended
|
|
307
|
+
[$(date)] Session ended
|
|
308
|
+
[$(date)] Session ended
|
|
309
|
+
[$(date)] Session ended
|
|
310
|
+
[$(date)] Session ended
|
|
311
|
+
[$(date)] Session ended
|
|
312
|
+
[$(date)] Session ended
|
|
313
|
+
[$(date)] Session ended
|
|
314
|
+
[$(date)] Session ended
|
|
315
|
+
[$(date)] Session ended
|
|
316
|
+
[$(date)] Session ended
|
|
317
|
+
[$(date)] Session ended
|
|
318
|
+
[$(date)] Session ended
|
|
319
|
+
[$(date)] Session ended
|
|
320
|
+
[$(date)] Session ended
|
|
321
|
+
[$(date)] Session ended
|
|
322
|
+
[$(date)] Session ended
|
|
323
|
+
[$(date)] Session ended
|
|
324
|
+
[$(date)] Session ended
|
|
325
|
+
[$(date)] Session ended
|
|
326
|
+
[$(date)] Session ended
|
|
327
|
+
[$(date)] Session ended
|
|
328
|
+
[$(date)] Session ended
|
|
329
|
+
[$(date)] Session ended
|
|
330
|
+
[$(date)] Session ended
|
|
331
|
+
[$(date)] Session ended
|
|
332
|
+
[$(date)] Session ended
|
|
333
|
+
[$(date)] Session ended
|
|
334
|
+
[$(date)] Session ended
|
|
335
|
+
[$(date)] Session ended
|
|
336
|
+
[$(date)] Session ended
|
|
337
|
+
[$(date)] Session ended
|
|
338
|
+
[$(date)] Session ended
|
|
339
|
+
[$(date)] Session ended
|
|
340
|
+
[$(date)] Session ended
|
|
341
|
+
[$(date)] Session ended
|
|
342
|
+
[$(date)] Session ended
|
|
343
|
+
[$(date)] Session ended
|
|
344
|
+
[$(date)] Session ended
|
|
345
|
+
[$(date)] Session ended
|
|
346
|
+
[$(date)] Session ended
|
|
347
|
+
[$(date)] Session ended
|
|
348
|
+
[$(date)] Session ended
|
|
349
|
+
[$(date)] Session ended
|
|
350
|
+
[$(date)] Session ended
|
|
351
|
+
[$(date)] Session ended
|
|
352
|
+
[$(date)] Session ended
|
|
353
|
+
[$(date)] Session ended
|
|
354
|
+
[$(date)] Session ended
|
|
355
|
+
[$(date)] Session ended
|
|
356
|
+
[$(date)] Session ended
|
|
357
|
+
[$(date)] Session ended
|
|
358
|
+
[$(date)] Session ended
|
|
359
|
+
[$(date)] Session ended
|
|
360
|
+
[$(date)] Session ended
|
|
361
|
+
[$(date)] Session ended
|
|
362
|
+
[$(date)] Session ended
|
|
363
|
+
[$(date)] Session ended
|
|
364
|
+
[$(date)] Session ended
|
|
365
|
+
[$(date)] Session ended
|
|
366
|
+
[$(date)] Session ended
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"PreToolUse": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "Write",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "python3 -c \"\nimport sys, json, os\ntry:\n inp = json.load(sys.stdin)\n path = inp.get('tool_input', {}).get('file_path', '')\n root = '/Users/udayshankar/Documents/AgentIQ'\n rel = os.path.relpath(path, root)\n depth = len(rel.split(os.sep))\n blocked = ['_archive', '.git']\n name = os.path.basename(path)\n if depth == 1 and path.endswith('.py') and not name in ['config.py', 'setup.py', 'pyproject.toml']:\n print(f'BLOCK: Creating {name} in project root is not allowed. Place files in the correct module directory.')\n sys.exit(1)\nexcept: pass\n\""
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"PostToolUse": [
|
|
15
|
+
{
|
|
16
|
+
"matcher": "Write",
|
|
17
|
+
"hooks": [
|
|
18
|
+
{
|
|
19
|
+
"type": "command",
|
|
20
|
+
"command": "ruff check . --quiet"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"Stop": [
|
|
26
|
+
{
|
|
27
|
+
"hooks": [
|
|
28
|
+
{
|
|
29
|
+
"type": "command",
|
|
30
|
+
"command": "echo '[$(date)] Session ended' >> .claude/session_log.txt"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"permissions": {
|
|
37
|
+
"defaultMode": "acceptEdits",
|
|
38
|
+
"allow": [
|
|
39
|
+
"Bash(pytest:*)",
|
|
40
|
+
"Bash(ruff:*)",
|
|
41
|
+
"Bash(mypy:*)",
|
|
42
|
+
"Bash(alembic:*)",
|
|
43
|
+
"Bash(git add:*)",
|
|
44
|
+
"Bash(git commit:*)"
|
|
45
|
+
],
|
|
46
|
+
"deny": [
|
|
47
|
+
"Bash(rm -rf:*)"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# AgentIQ Configuration
|
|
2
|
+
# Copy this file to .env and fill in your values
|
|
3
|
+
# Never commit .env to git
|
|
4
|
+
|
|
5
|
+
# Required: Anthropic API key (used by the LLM judge)
|
|
6
|
+
ANTHROPIC_API_KEY=your-anthropic-api-key-here
|
|
7
|
+
|
|
8
|
+
# Required for Docker self-host: PostgreSQL password
|
|
9
|
+
POSTGRES_PASSWORD=choose-a-strong-password-here
|
|
10
|
+
|
|
11
|
+
# Database connection
|
|
12
|
+
# Local dev (SQLite, zero config): leave as-is
|
|
13
|
+
# Docker / self-hosted (PostgreSQL): postgresql://agentiq:<POSTGRES_PASSWORD>@postgres:5432/agentiq
|
|
14
|
+
# Render (PostgreSQL): set automatically by Render
|
|
15
|
+
DATABASE_URL=sqlite:///./agentiq.db
|
|
16
|
+
|
|
17
|
+
# SDK auth key — SDK callers must send: Authorization: Bearer <key>
|
|
18
|
+
# Leave empty to allow all requests (dev mode / no auth)
|
|
19
|
+
AGENTIQ_API_KEY=
|
|
20
|
+
|
|
21
|
+
# Dashboard: URL of the AgentIQ API (used by Streamlit to call analytics endpoints)
|
|
22
|
+
# Local dev: http://localhost:8000
|
|
23
|
+
# Docker: http://api:8000
|
|
24
|
+
# Render: https://agentiq-api-z9it.onrender.com
|
|
25
|
+
AGENTIQ_API_ENDPOINT=http://localhost:8000
|
|
26
|
+
|
|
27
|
+
# Set to "true" to auto-seed 500 demo sessions when API starts and DB is empty
|
|
28
|
+
SEED_ON_STARTUP=false
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
inputs:
|
|
8
|
+
test_pypi:
|
|
9
|
+
description: "Publish to TestPyPI instead of PyPI"
|
|
10
|
+
type: boolean
|
|
11
|
+
default: false
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
build:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- uses: actions/setup-python@v5
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.11"
|
|
22
|
+
|
|
23
|
+
- name: Install build tools
|
|
24
|
+
run: pip install build hatchling
|
|
25
|
+
|
|
26
|
+
- name: Build sdist and wheel
|
|
27
|
+
run: python -m build
|
|
28
|
+
|
|
29
|
+
- name: Upload build artifacts
|
|
30
|
+
uses: actions/upload-artifact@v4
|
|
31
|
+
with:
|
|
32
|
+
name: dist
|
|
33
|
+
path: dist/
|
|
34
|
+
|
|
35
|
+
publish:
|
|
36
|
+
needs: build
|
|
37
|
+
runs-on: ubuntu-latest
|
|
38
|
+
environment:
|
|
39
|
+
name: ${{ github.event.inputs.test_pypi == 'true' && 'testpypi' || 'pypi' }}
|
|
40
|
+
url: ${{ github.event.inputs.test_pypi == 'true' && 'https://test.pypi.org/p/agentiq' || 'https://pypi.org/p/agentiq' }}
|
|
41
|
+
permissions:
|
|
42
|
+
id-token: write # required for trusted publishing (no API token needed)
|
|
43
|
+
|
|
44
|
+
steps:
|
|
45
|
+
- name: Download build artifacts
|
|
46
|
+
uses: actions/download-artifact@v4
|
|
47
|
+
with:
|
|
48
|
+
name: dist
|
|
49
|
+
path: dist/
|
|
50
|
+
|
|
51
|
+
- name: Publish to TestPyPI
|
|
52
|
+
if: github.event.inputs.test_pypi == 'true'
|
|
53
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
54
|
+
with:
|
|
55
|
+
repository-url: https://test.pypi.org/legacy/
|
|
56
|
+
|
|
57
|
+
- name: Publish to PyPI
|
|
58
|
+
if: github.event.inputs.test_pypi != 'true'
|
|
59
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Python
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
*.so
|
|
6
|
+
.Python
|
|
7
|
+
venv/
|
|
8
|
+
env/
|
|
9
|
+
ENV/
|
|
10
|
+
|
|
11
|
+
# Environment variables
|
|
12
|
+
.env
|
|
13
|
+
.env.local
|
|
14
|
+
|
|
15
|
+
# Database
|
|
16
|
+
*.db
|
|
17
|
+
*.sqlite3
|
|
18
|
+
agentiq.db
|
|
19
|
+
|
|
20
|
+
# IDE
|
|
21
|
+
.vscode/
|
|
22
|
+
.idea/
|
|
23
|
+
*.swp
|
|
24
|
+
*.swo
|
|
25
|
+
|
|
26
|
+
# OS
|
|
27
|
+
.DS_Store
|
|
28
|
+
Thumbs.db
|
|
29
|
+
|
|
30
|
+
# Logs
|
|
31
|
+
*.log
|
|
32
|
+
|
|
33
|
+
# Railway
|
|
34
|
+
.railway/
|
|
35
|
+
|
|
36
|
+
# Test artifacts
|
|
37
|
+
.coverage
|
|
38
|
+
.pytest_cache/
|
|
39
|
+
.tox/
|
|
40
|
+
|
|
41
|
+
# Deployment scripts (keep local)
|
|
42
|
+
deploy_to_render.py
|
|
43
|
+
auto_deploy.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.11.9
|