* feat: implemented ask build switcher * fix: cleanup * ask-build implementation in pi backend * restrict reference to UUIDs in user facing response * fix oauth flow in the build mode * fix: OAuth message was being yielded twice * add mode to chat preferences table * clean generic_query_tool * fix: stored the mode in the store * pseudo streaming of final answer * remove the no_actions_planned exit in build mode so that it can hanleretrieval only questions also * migrate to sdk v0.2.0 * add json streaming in reasoning block * clean unused tools from kit * merge preview * default mode for apps call to get-answer is build * merge changes in Pi folder in preview branch * fix reasoning header issues in ask mode * clean no-actions-planned blocks * logs for entity url tracking * trim actions prompt. clean pk args from sdk methods * fix: imlemented improved reasoning block * project feature toggle before creation in planning mode * fix nonetype error when entity urls is empty * fix: reimplemented ask build changes * fix: ticker * fix: css * fix table rendering issue in streaming api * ask mode rejecting create table request as action * remove old reasoning chunk stream to avoid duplications * change header message for tool_message reasoning chunk * remove results content from thinking block * remove search active cycle result restriction to 1 entity * add mode in rewrite. remove long reasoning instruction during tool calls loop * retain project context during rewrite * fix: implemneted chevron + fixed max height * store source in msgs table * add gpt-5.1 support * fix rewrite failure due to chatrequest reconstruction error * fix vector search result display in reasoning * fix: reasoning header width fixed * fix place holder resolution in execute-action * fix project_id placeholder issue * fix worklog sdk adapter bugs * aggregate token counting for each step type * clean action_planner.py code * upgrade openai and langchain libs * cleaning workitem tools * fix: css * fix: css + updated openai version * clean tool args handling for workitems, projects, cycles and modules * clean batch execution code * feat: update batch execution and build mode helpers * update links attachments and workitem types and properties tools * beautify reasoning headers * update issue_id to workitem_id in worklogs tools * add pydantic models for types, comments and intake * clean tool execution steps * feat: restore apps/pi with latest changes after selective reset - Restored all apps/pi changes including batch execution cleanup - Deleted batch_action_orchestrator, batch_execution, and batch_execution_helpers - Tool refinements and execution helpers updates - SDK adapter improvements - Reset other folders to cc5c927ba8 to avoid merge conflicts * PAI - Fix the tool definitions of get-members api methods * PAI fix still working msg formatting for mobile endpoint * fix: build * clean batch_execution code * fix: refactor * updade actions api/v2 endpoint/ * deduplicate tool names before sending to llm * fix json parsing for claude models * changes to action execution logic - exclude LLM intelligence * clean build mode prompts * add delete workitem tool --------- Co-authored-by: sunder <[email protected]> Co-authored-by: sunder <[email protected]>
163 lines
5.5 KiB
YAML
163 lines
5.5 KiB
YAML
x-common-env: &common-env
|
|
DEBUG: ${DEBUG}
|
|
FOLLOWER_POSTGRES_URI: ${FOLLOWER_POSTGRES_URI}
|
|
DOCS_GITHUB_API_TOKEN: ${DOCS_GITHUB_API_TOKEN}
|
|
OPENSEARCH_URL: ${OPENSEARCH_URL}
|
|
OPENSEARCH_USER: ${OPENSEARCH_USER}
|
|
OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD}
|
|
OPENSEARCH_ML_MODEL_ID: ${OPENSEARCH_ML_MODEL_ID}
|
|
OPENSEARCH_INDEX_PREFIX: ${OPENSEARCH_INDEX_PREFIX}
|
|
PLANE_PI_INTERNAL_API_URL: ${PLANE_PI_INTERNAL_API_URL}
|
|
PLANE_PI_INTERNAL_API_SECRET: ${PLANE_PI_INTERNAL_API_SECRET}
|
|
PLANE_PI_DATABASE_URL: ${PLANE_PI_DATABASE_URL}
|
|
|
|
x-app-env: &app-env
|
|
PI_BASE_PATH: ${PI_BASE_PATH}
|
|
FASTAPI_APP_HOST: ${FASTAPI_APP_HOST}
|
|
FASTAPI_APP_PORT: ${FASTAPI_APP_PORT}
|
|
FASTAPI_APP_WORKERS: ${FASTAPI_APP_WORKERS}
|
|
PLANE_API_HOST: ${PLANE_API_HOST}
|
|
PLANE_FRONTEND_URL: ${PLANE_FRONTEND_URL}
|
|
PLANE_OAUTH_CLIENT_ID: ${PLANE_OAUTH_CLIENT_ID}
|
|
PLANE_OAUTH_CLIENT_SECRET: ${PLANE_OAUTH_CLIENT_SECRET}
|
|
PLANE_OAUTH_REDIRECT_URI: ${PLANE_OAUTH_REDIRECT_URI}
|
|
PLANE_OAUTH_STATE_EXPIRY_SECONDS: ${PLANE_OAUTH_STATE_EXPIRY_SECONDS:-82800}
|
|
PLANE_OAUTH_URL_ENCRYPTION_KEY: ${PLANE_OAUTH_URL_ENCRYPTION_KEY}
|
|
DOCS_WEBHOOK_SECRET: ${DOCS_WEBHOOK_SECRET}
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY}
|
|
CLAUDE_API_KEY: ${CLAUDE_API_KEY}
|
|
MISTRAL_API_KEY: ${MISTRAL_API_KEY}
|
|
GROQ_API_KEY: ${GROQ_API_KEY}
|
|
GEMINI_API_KEY: ${GEMINI_API_KEY}
|
|
LITE_LLM_HOST: ${LITE_LLM_HOST}
|
|
LITE_LLM_API_KEY: ${LITE_LLM_API_KEY}
|
|
SENTRY_DSN: ${SENTRY_DSN}
|
|
SENTRY_ENVIRONMENT: ${SENTRY_ENVIRONMENT}
|
|
CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS}
|
|
SESSION_COOKIE_NAME: ${SESSION_COOKIE_NAME}
|
|
PLANE_PI_POSTGRES_USER: ${PLANE_PI_POSTGRES_USER}
|
|
PLANE_PI_POSTGRES_PASSWORD: ${PLANE_PI_POSTGRES_PASSWORD}
|
|
PLANE_PI_POSTGRES_HOST: ${PLANE_PI_POSTGRES_HOST}
|
|
PLANE_PI_POSTGRES_PORT: ${PLANE_PI_POSTGRES_PORT}
|
|
PLANE_PI_POSTGRES_DB: ${PLANE_PI_POSTGRES_DB}
|
|
PLANE_PI_DATABASE_URL: ${PLANE_PI_DATABASE_URL}
|
|
PLANE_PI_INTERNAL_API_SECRET: ${PLANE_PI_INTERNAL_API_SECRET}
|
|
DEV_WORKSPACE_ID: ${DEV_WORKSPACE_ID}
|
|
DD_ENABLED: ${DD_ENABLED}
|
|
DD_ENV: ${DD_ENV}
|
|
DD_SERVICE: ${DD_SERVICE}
|
|
DD_AGENT_HOST: ${DD_AGENT_HOST}
|
|
DD_TRACE_SAMPLE_RATE: ${DD_TRACE_SAMPLE_RATE}
|
|
DD_LOGS_ENABLED: ${DD_LOGS_ENABLED:-false}
|
|
DD_TRACE_DEBUG: ${DD_TRACE_DEBUG:-false}
|
|
PLANE_PI_INTERNAL_API_URL: ${PLANE_PI_INTERNAL_API_URL}
|
|
FEATURE_FLAG_SERVER_BASE_URL: ${FEATURE_FLAG_SERVER_BASE_URL}
|
|
FEATURE_FLAG_SERVER_AUTH_TOKEN: ${FEATURE_FLAG_SERVER_AUTH_TOKEN}
|
|
ASSEMBLYAI_API_KEY: ${ASSEMBLYAI_API_KEY}
|
|
AWS_S3_BUCKET: ${AWS_S3_BUCKET}
|
|
AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
|
|
AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}
|
|
AWS_S3_ENV: ${AWS_S3_ENV}
|
|
AWS_S3_REGION: ${AWS_S3_REGION}
|
|
DEEPGRAM_API_KEY: ${DEEPGRAM_API_KEY}
|
|
|
|
x-celery-env: &celery-env
|
|
CELERY_BROKER_URL: ${CELERY_BROKER_URL:-pyamqp://${RABBITMQ_USER:-admin}:${RABBITMQ_PASSWORD:-admin123}@rabbitmq:5672//}
|
|
CELERY_RESULT_BACKEND: ${CELERY_RESULT_BACKEND:-rpc://}
|
|
CELERY_VECTOR_SYNC_ENABLED: ${CELERY_VECTOR_SYNC_ENABLED:-1}
|
|
CELERY_VECTOR_SYNC_INTERVAL: ${CELERY_VECTOR_SYNC_INTERVAL:-30}
|
|
CELERY_VECTOR_SYNC_MAX_RETRIES: ${CELERY_VECTOR_SYNC_MAX_RETRIES:-3}
|
|
CELERY_VECTOR_SYNC_RETRY_DELAY: ${CELERY_VECTOR_SYNC_RETRY_DELAY:-60}
|
|
CELERY_WORKSPACE_PLAN_SYNC_ENABLED: ${CELERY_WORKSPACE_PLAN_SYNC_ENABLED:-1}
|
|
CELERY_WORKSPACE_PLAN_SYNC_INTERVAL: ${CELERY_WORKSPACE_PLAN_SYNC_INTERVAL:-86400}
|
|
PLANE_PI_INTERNAL_API_URL: ${PLANE_PI_INTERNAL_API_URL}
|
|
PLANE_PI_INTERNAL_API_SECRET: ${PLANE_PI_INTERNAL_API_SECRET}
|
|
PLANE_PI_DATABASE_URL: ${PLANE_PI_DATABASE_URL}
|
|
|
|
services:
|
|
# RabbitMQ - Message Broker for Celery
|
|
rabbitmq:
|
|
image: rabbitmq:3-management
|
|
container_name: plane-pi-rabbitmq
|
|
ports:
|
|
- "5672:5672"
|
|
- "15672:15672"
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:-admin}
|
|
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD:-admin123}
|
|
RABBITMQ_DEFAULT_VHOST: ${RABBITMQ_VHOST:-/}
|
|
volumes:
|
|
- rabbitmq_data:/var/lib/rabbitmq
|
|
healthcheck:
|
|
test: ["CMD", "rabbitmq-diagnostics", "ping"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
# FastAPI Application
|
|
fastapi:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.api
|
|
ports:
|
|
- ${FASTAPI_APP_PORT}:${FASTAPI_APP_PORT}
|
|
volumes:
|
|
- ./pi:/app/pi
|
|
- ./bin:/app/bin
|
|
environment:
|
|
<<: [*app-env, *common-env, *celery-env]
|
|
depends_on:
|
|
- rabbitmq
|
|
command: ["/app/bin/entrypoint-api.sh"]
|
|
|
|
# Celery Worker - Processes vector sync tasks
|
|
celery-worker:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.api
|
|
container_name: plane-pi-celery-worker
|
|
command: ["/app/bin/entrypoint-celery-worker.sh"]
|
|
volumes:
|
|
- ./pi:/app/pi
|
|
- ./bin:/app/bin
|
|
environment:
|
|
<<: [*common-env, *celery-env]
|
|
depends_on:
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
# Celery Beat - Schedules periodic tasks
|
|
celery-beat:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.api
|
|
container_name: plane-pi-celery-beat
|
|
command: ["/app/bin/entrypoint-celery-beat.sh"]
|
|
volumes:
|
|
- ./pi:/app/pi
|
|
- ./bin:/app/bin
|
|
- celery_beat_schedule:/app/celerybeat-schedule
|
|
environment:
|
|
<<: [*common-env, *celery-env]
|
|
depends_on:
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
|
|
# Vector Database Feeder
|
|
# vectordb-feeder:
|
|
# build:
|
|
# context: .
|
|
# dockerfile: Dockerfile.api
|
|
# command: ["/app/bin/start-vectorizer.sh"]
|
|
# volumes:
|
|
# - ./pi:/app/pi
|
|
# - ./bin:/app/bin
|
|
# environment:
|
|
# <<: [*feeder-env, *common-env]
|
|
|
|
volumes:
|
|
rabbitmq_data:
|
|
celery_beat_schedule:
|