Skip to content

feat: UI integration for processor apis#98

Open
Shreyas-Microsoft wants to merge 5 commits intov2from
psl-ui-integration
Open

feat: UI integration for processor apis#98
Shreyas-Microsoft wants to merge 5 commits intov2from
psl-ui-integration

Conversation

@Shreyas-Microsoft
Copy link
Collaborator

Purpose

This pull request introduces process cancellation support to the backend and frontend, enabling users to cancel running processes via the UI. It also updates infrastructure and configuration to support the processor control API, and makes several related improvements to model/version settings and environment variables.

Process cancellation and control API integration:

  • Added new backend API endpoints (/process/cancel/{process_id} and /process/cancel/{process_id}/status) to allow users to request cancellation of running processes and check their cancellation status. These endpoints forward requests to the processor's control API, handle authentication, and return appropriate status and error messages. (src/backend-api/src/app/routers/router_process.py [1] [2]
  • Updated frontend logic to call the new cancellation API when a user cancels a process, and added corresponding methods to the API service. (src/frontend/src/pages/processPage.tsx [1] src/frontend/src/services/ApiService.tsx [2]
  • Extended backend configuration to include processor control API URL and token, making it configurable via environment variables. (src/backend-api/src/app/libs/application/application_configuration.py src/backend-api/src/app/libs/application/application_configuration.pyR72-R79)

Infrastructure and deployment updates:

  • Modified Bicep infrastructure files to expose and configure the processor control API:
    • Enabled HTTP ingress on port 8080 for the processor container app and set related environment variables (CONTROL_API_ENABLED, CONTROL_API_PORT). (infra/main.bicep [1] [2] infra/main_custom.bicep [3] [4]
    • Passed the processor control URL to the backend container app as an environment variable. (infra/main.bicep [1] infra/main_custom.bicep [2]
    • Refactored variable placement for processorContainerAppName for consistency. (infra/main.bicep [1] [2] infra/main_custom.bicep [3] [4]

Model and version configuration updates:

  • Changed default AI model name and version to gpt-5.1 and 2025-11-13 for improved compatibility and up-to-date deployments. (infra/main.bicep infra/main.bicepL72-R76)
  • Updated the OpenAI API version used for app configuration to 2025-03-01-preview. (infra/main.bicep infra/main.bicepL902-R902)
  • Fixed casing in model usage name for consistency. (infra/main.bicep infra/main.bicepL35-R35)

Other minor improvements:

  • Added missing imports and fixed type annotations in backend and processor code. (src/backend-api/src/app/routers/router_process.py [1] src/processor/src/libs/agent_framework/agent_framework_helper.py [2] [3] [4] [5] [6]
  • Cleaned up unused lines in orchestrator base class. (src/processor/src/libs/base/orchestrator_base.py src/processor/src/libs/base/orchestrator_base.pyL97)

Does this introduce a breaking change?

  • Yes
  • No

Golden Path Validation

  • I have tested the primary workflows (the "golden path") to ensure they function correctly without errors.

Deployment Validation

  • I have validated the deployment process successfully and all services are running as expected with this change.

What to Check

Verify that the following are valid

  • ...

Other Information

@Dongbumlee
Copy link
Contributor

@Shreyas-Microsoft, don't open port 8080 externally. the processor pod shouldn't be access from outside of container app. use API lay to invoke it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants