diff --git a/docs/auth/authorization/permissions-reference.md b/docs/auth/authorization/permissions-reference.md index 6ade7b1f37..b0b90192ad 100644 --- a/docs/auth/authorization/permissions-reference.md +++ b/docs/auth/authorization/permissions-reference.md @@ -71,19 +71,10 @@ For token-level access restrictions, see [API Scopes](api-scopes.md). For the RB |------------|-------------|:------:|:------:|:-----:| | `intake.annotations.(read \| list)` | Read, list intake annotations | ✓ | ✓ | ✓ | | `intake.annotations.(create \| delete)` | Create, delete intake annotations | | ✓ | ✓ | -| `intake.apps.(read \| list)` | Read, list intake apps | ✓ | ✓ | ✓ | -| `intake.apps.(create \| update \| delete)` | Create, update, delete intake apps | | ✓ | ✓ | -| `intake.entries.(read \| list)` | Read, list intake entries | ✓ | ✓ | ✓ | -| `intake.entries.(create \| update \| delete)` | Create, update, delete intake entries | | ✓ | ✓ | | `intake.evaluator-results.(read \| list)` | Read, list intake evaluator-results | ✓ | ✓ | ✓ | | `intake.evaluator-results.create` | Create intake evaluator results | | ✓ | ✓ | -| `intake.events.(create \| delete)` | Create, delete intake events | | ✓ | ✓ | -| `intake.exports.(read \| list)` | Read, list intake exports | ✓ | ✓ | ✓ | -| `intake.exports.create` | Create intake export jobs | | ✓ | ✓ | | `intake.ingest.create` | Ingest traces into intake | | ✓ | ✓ | | `intake.spans.(read \| list)` | Read, list intake spans | ✓ | ✓ | ✓ | -| `intake.tasks.(read \| list)` | Read, list intake tasks | ✓ | ✓ | ✓ | -| `intake.tasks.(create \| update \| delete)` | Create, update, delete intake tasks | | ✓ | ✓ | | `intake.traces.read` | Read intake traces | ✓ | ✓ | ✓ | ## Jobs API diff --git a/docs/cli/reference.md b/docs/cli/reference.md index ab01c887db..4640883b45 100644 --- a/docs/cli/reference.md +++ b/docs/cli/reference.md @@ -4159,7 +4159,7 @@ nemo models list [OPTIONS] * `--workspace` * `--page `: Page number. * `--page-size `: Page size. -* `--sort `: The field to sort by. To sort in decreasing order, use `-` in front of the field name. [possible values: created_at, -created_at, name, -name, updated_at, -updated_at] +* `--sort `: The field to sort by. To sort in decreasing order, use `-` in front of the field name. [possible values: name, -name, created_at, -created_at, updated_at, -updated_at] * `--verbose`: Whether to include full spec details * `--all-pages`: Fetch all pages diff --git a/openapi/ga/individual/platform.openapi.yaml b/openapi/ga/individual/platform.openapi.yaml index 90db8a2864..5599d1e1d5 100644 --- a/openapi/ga/individual/platform.openapi.yaml +++ b/openapi/ga/individual/platform.openapi.yaml @@ -5755,834 +5755,12 @@ paths: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps: - get: - tags: - - Apps - summary: List Apps - description: List all apps with filtering capabilities. - operationId: list_apps_apis_intake_v2_workspaces__workspace__apps_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/AppSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/AppFilter' - description: Filter apps by name, description, project, created_at, and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AppsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Apps - summary: Create App - description: Create a new app. - operationId: create_app_apis_intake_v2_workspaces__workspace__apps_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AppInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '200': - description: Successful Response - '409': - description: App already exists - '422': - description: Validation Error - /apis/intake/v2/workspaces/{workspace}/apps/{app}/tasks/{name}: - get: - tags: - - Tasks - summary: Get Task - description: Get a specific task. - operationId: get_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Tasks - summary: Update Task - description: Update an existing task. - operationId: update_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TaskUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Tasks - summary: Delete Task - description: Delete a task. - operationId: delete_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps/{name}: - get: - tags: - - Apps - summary: Get App - description: Get a specific app by workspace and name. - operationId: get_app_apis_intake_v2_workspaces__workspace__apps__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Apps - summary: Update App - description: Update an existing app. - operationId: update_app_apis_intake_v2_workspaces__workspace__apps__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AppUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Apps - summary: Delete App - description: Delete an app. - operationId: delete_app_apis_intake_v2_workspaces__workspace__apps__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps/{name}/tasks: - get: - tags: - - Tasks - summary: List Tasks - description: List all tasks for a specific app. - operationId: list_tasks_apis_intake_v2_workspaces__workspace__apps__name__tasks_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/TaskSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/TaskFilter' - description: Filter tasks by name, app, description, project, created_at, - and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TasksPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Tasks - summary: Create Task - description: Create a new task. - operationId: create_task_apis_intake_v2_workspaces__workspace__apps__name__tasks_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TaskInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries: - get: - tags: - - Entries - summary: List Entries - description: 'List all entries with filtering capabilities. - - - When longest_per_thread=true is set in filters, returns only the longest entry - - (by message count) for each unique thread_id.' - operationId: list_entries_apis_intake_v2_workspaces__workspace__entries_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/EntrySortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/EntryFilter' - description: Filter entries by id, project, external_id, created_at, updated_at, - usage fields (model), context fields, and user_rating fields. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EntrysPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Entries - summary: Create Entry - description: 'Create a new entry. - - - Apps and tasks referenced in the entry context will be auto-created if they - don''t exist.' - operationId: create_entry_apis_intake_v2_workspaces__workspace__entries_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EntryInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{entry}/events/{name}: - delete: - tags: - - Entries - summary: Delete Event - description: 'Delete a specific event from an entry. - - - Entry can be referenced by ID or external_id using `external:{external_id}` - prefix.' - operationId: delete_event_apis_intake_v2_workspaces__workspace__entries__entry__events__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: entry - in: path - required: true - schema: - type: string - title: Entry - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{name}: - get: - tags: - - Entries - summary: Get Entry - description: 'Get a specific entry by ID or external_id. - - - Use `external:{external_id}` to get by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: get_entry_apis_intake_v2_workspaces__workspace__entries__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Entries - summary: Update Entry - description: 'Update an existing entry by ID or external_id. - - - Use `external:{external_id}` to update by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: update_entry_apis_intake_v2_workspaces__workspace__entries__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EntryUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Entries - summary: Delete Entry - description: 'Delete an entry by ID or external_id. - - - Use `external:{external_id}` to delete by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: delete_entry_apis_intake_v2_workspaces__workspace__entries__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{name}/events: - post: - tags: - - Entries - summary: Add Events - description: 'Add events to an entry by ID or external_id. - - - Use `external:{external_id}` to add events by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123/events`' - operationId: add_events_apis_intake_v2_workspaces__workspace__entries__name__events_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EventsCreateRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/evaluator-results: - post: - tags: - - Evaluator Results - summary: Create Evaluator Result - operationId: create_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResultInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResult' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Evaluator Results - summary: List Evaluator Results - operationId: list_evaluator_results_apis_intake_v2_workspaces__workspace__evaluator_results_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/EvaluatorResultSortField' - default: -created_at - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/EvaluatorResultFilter' - description: Filter evaluator results by span_id, session_id, name, data_type, - created_by, value range, and created_at range. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResultsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/evaluator-results/{evaluator_result_id}: - get: + /apis/intake/v2/workspaces/{workspace}/evaluator-results: + post: tags: - Evaluator Results - summary: Get Evaluator Result - operationId: get_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results__evaluator_result_id__get + summary: Create Evaluator Result + operationId: create_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results_post parameters: - name: workspace in: path @@ -6590,14 +5768,14 @@ paths: schema: type: string title: Workspace - - name: evaluator_result_id - in: path + requestBody: required: true - schema: - type: string - title: Evaluator Result Id + content: + application/json: + schema: + $ref: '#/components/schemas/EvaluatorResultInput' responses: - '200': + '201': description: Successful Response content: application/json: @@ -6609,16 +5787,11 @@ paths: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/jobs: get: tags: - - Exports - summary: List Export Jobs - description: 'List all export jobs with filtering capabilities. - - - Use `workspace=-` for cross-workspace listing.' - operationId: list_export_jobs_apis_intake_v2_workspaces__workspace__export_jobs_get + - Evaluator Results + summary: List Evaluator Results + operationId: list_evaluator_results_apis_intake_v2_workspaces__workspace__evaluator_results_get parameters: - name: workspace in: path @@ -6631,6 +5804,7 @@ paths: required: false schema: type: integer + minimum: 1 description: Page number. default: 1 title: Page @@ -6640,6 +5814,8 @@ paths: required: false schema: type: integer + maximum: 1000 + minimum: 1 description: Page size. default: 10 title: Page Size @@ -6649,88 +5825,36 @@ paths: required: false schema: allOf: - - $ref: '#/components/schemas/ExportJobSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. + - $ref: '#/components/schemas/EvaluatorResultSortField' + default: -created_at - in: query name: filter style: deepObject required: false explode: true schema: - $ref: '#/components/schemas/ExportJobFilter' - description: Filter export jobs by name, status, output_file_url, created_at, - and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJobsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Exports - summary: Create Export Job - description: 'Export entries to an external file. - - - Use the `longest_per_thread` filter to export only the longest entry per thread, - - which is useful for thread-based exports. - - - Supported output file URLs: - - - - NeMo Datastore: nds://workspace/dataset_name - - - HuggingFace Dataset: hf://datasets/org/name/path/to/file - - - Local filesystem: file:///path/to/export (for development)' - operationId: create_export_job_apis_intake_v2_workspaces__workspace__export_jobs_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJobInput' + $ref: '#/components/schemas/EvaluatorResultFilter' + description: Filter evaluator results by span_id, session_id, name, data_type, + created_by, value range, and created_at range. responses: '200': description: Successful Response content: application/json: schema: - $ref: '#/components/schemas/ExportJob' + $ref: '#/components/schemas/EvaluatorResultsPage' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/jobs/{name}: + /apis/intake/v2/workspaces/{workspace}/evaluator-results/{evaluator_result_id}: get: tags: - - Exports - summary: Get Export Job Status - description: Check the status of an export job. - operationId: get_export_job_status_apis_intake_v2_workspaces__workspace__export_jobs__name__get + - Evaluator Results + summary: Get Evaluator Result + operationId: get_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results__evaluator_result_id__get parameters: - name: workspace in: path @@ -6738,52 +5862,19 @@ paths: schema: type: string title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJob' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/preview: - post: - tags: - - Exports - summary: Preview Export - description: Preview export data without writing to a file (max 100 records). - operationId: preview_export_apis_intake_v2_workspaces__workspace__export_preview_post - parameters: - - name: workspace + - name: evaluator_result_id in: path required: true schema: type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportPreviewRequest' + title: Evaluator Result Id responses: '200': description: Successful Response content: application/json: schema: - $ref: '#/components/schemas/ExportPreviewResponse' + $ref: '#/components/schemas/EvaluatorResult' '422': description: Validation Error content: @@ -11521,157 +10612,6 @@ components: - judge_model title: AnswerAccuracyMetricResponse description: Response type for AnswerAccuracy metrics. - App: - properties: - id: - type: string - title: Id - description: Unique identifier - name: - type: string - title: Name - description: App name - workspace: - type: string - title: Workspace - description: Workspace identifier - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - type: boolean - title: Locked - description: Lock status - default: false - created_at: - title: Created At - description: Creation timestamp - type: string - format: date-time - updated_at: - title: Updated At - description: Last update timestamp - type: string - format: date-time - type: object - required: - - id - - name - - workspace - title: App - description: Schema for App responses. - AppFilter: - additionalProperties: false - description: Filter for Apps. - properties: - workspace: - description: Filter by workspace id. - title: Workspace - type: string - name: - description: Filter by app name. - title: Name - type: string - project: - description: Filter by project name. - title: Project - type: string - description: - description: Filter by app description. - title: Description - type: string - created_at: - allOf: - - $ref: '#/components/schemas/DatetimeFilter' - description: Filter entities based on creation date. - updated_at: - allOf: - - $ref: '#/components/schemas/DatetimeFilter' - description: Filter entities based on update date. - title: AppFilter - type: object - AppInput: - properties: - name: - type: string - title: Name - description: App name (unique within workspace) - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - type: boolean - title: Locked - description: If true, this record cannot be automatically updated when entries - are ingested. - default: false - type: object - required: - - name - title: AppInput - description: Schema for creating a new App. - AppSortField: - type: string - enum: - - created_at - - -created_at - - name - - -name - - updated_at - - -updated_at - title: AppSortField - description: Sort fields for Apps. - AppUpdate: - properties: - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - title: Locked - description: Lock status - type: boolean - type: object - title: AppUpdate - description: Schema for updating an existing App. - AppsPage: - properties: - data: - items: - $ref: '#/components/schemas/App' - type: array - title: Data - pagination: - allOf: - - $ref: '#/components/schemas/PaginationData' - description: Pagination information. - sort: - title: Sort - description: The field on which the results are sorted. - type: string - filter: - title: Filter - description: Filtering information. - additionalProperties: true - type: object - type: object - required: - - data - title: AppsPage AtifAgent: properties: name: @@ -13140,6 +12080,59 @@ components: - not_cacheable title: CacheStatus description: Cache status for files in external storage backends. + CapturedChatCompletionsRequest: + properties: + messages: + items: + $ref: '#/components/schemas/CapturedChatMessage' + type: array + title: Messages + description: Messages comprising the conversation. + model: + type: string + title: Model + description: The model identifier used for this request. + additionalProperties: true + type: object + required: + - messages + - model + title: CapturedChatCompletionsRequest + description: Flexible captured chat-completions request. + CapturedChatCompletionsResponse: + oneOf: + - required: + - choices + - required: + - error + properties: + choices: + title: Choices + items: + additionalProperties: true + type: object + type: array + error: + title: Error + additionalProperties: true + type: object + additionalProperties: true + type: object + title: CapturedChatCompletionsResponse + description: Flexible captured chat-completions response. + CapturedChatMessage: + properties: + role: + allOf: + - $ref: '#/components/schemas/ChatMessageRole' + description: The role of the message sender. + additionalProperties: true + type: object + required: + - role + title: CapturedChatMessage + description: A flexible message model that requires a valid role field but allows + provider-specific fields. ChatCompletionAssistantMessageParam: properties: role: @@ -13329,9 +12322,9 @@ components: ChatCompletionsIngestRequest: properties: request: - $ref: '#/components/schemas/FlexibleEntryRequestInput' + $ref: '#/components/schemas/CapturedChatCompletionsRequest' response: - $ref: '#/components/schemas/FlexibleEntryResponse' + $ref: '#/components/schemas/CapturedChatCompletionsResponse' session_id: title: Session Id description: Groups related chat-completions calls without forcing them @@ -13390,6 +12383,17 @@ components: - session_id - span_id title: ChatCompletionsIngestResponse + ChatMessageRole: + type: string + enum: + - user + - system + - assistant + - developer + - tool + - function + title: ChatMessageRole + description: Valid role values for captured chat-completions messages. ClassifyConfig: properties: enable_classify: @@ -15701,460 +14705,44 @@ components: type: object required: - data - title: EntityCreateInput - description: 'Schema for creating a new entity (name-based routes). - - - Name is optional - if not provided, it will be auto-generated. - - Workspace and entity_type come from the URL path parameters.' - EntityUpdate: - properties: - new_name: - title: New Name - description: Updated entity name (optional). Name must start with a lowercase - letter, be 2-63 characters, and contain only lowercase letters, digits, - and hyphens (no consecutive hyphens, cannot end with a hyphen). - examples: - - my-config - - baseline-model-v1 - type: string - pattern: ^[a-z](?!.*--)[a-z0-9\-@.+_]{1,62}(?`` entity-store paths.' - UserActionEvent: - properties: - id: - title: Id - description: Unique identifier for the event. Populated when retrieved from - database. - type: string - created_at: - type: string - format: date-time - title: Created At - description: UTC timestamp when the record was created. - created_by: - title: Created By - description: Identifier of the user or system that generated the record. - Can be set of key-value pairs. - additionalProperties: - type: string - type: object - event_type: - type: string - const: user_action - title: Event Type - default: user_action - action: - type: string - maxLength: 256 - title: Action - description: "Descriptive name for the action taken by the user (e.g., 'share_clicked',\ - \ 'code_copied', 'link_followed'). Use snake-case or kebab-case. This\ - \ is a label, not a unique identifier\u2014multiple events can have the\ - \ same action name." - metadata: - additionalProperties: - anyOf: - - type: string - maxLength: 256 - - items: - type: string - maxLength: 256 - type: array - - type: boolean - - type: integer - - type: number - propertyNames: - maxLength: 256 - type: object - maxProperties: 16 - title: Metadata - description: 'Optional key-value pairs with additional context about the - action (max 16 entries). Use this for details like user IDs, item IDs, - timestamps, A/B test variants, or any other information useful for downstream - training or evaluation pipelines. Example: {''user_id'': ''12345'', ''experiment'': - ''variant_b'', ''item_purchased'': ''product_456''}.' - additionalProperties: false - type: object - required: - - action - title: UserActionEvent - description: "Free-form user action captured by the client application.\n\n\ - Use this to track arbitrary user interactions with AI responses, such as copying\ - \ code,\nclicking share buttons, making purchases, or any other measurable\ - \ action.\n\nThe action identifier must be \u2264256 characters and should\ - \ use snake-case or kebab-case\nfor consistency (e.g., ``share_clicked``,\ - \ ``code_copied``, ``purchase_made``)." - UserFeedbackEvent: - properties: - id: - title: Id - description: Unique identifier for the event. Populated when retrieved from - database. - type: string - created_at: - type: string - format: date-time - title: Created At - description: UTC timestamp when the record was created. - created_by: - title: Created By - description: Identifier of the user or system that generated the record. - Can be set of key-value pairs. - additionalProperties: - type: string - type: object - event_type: - type: string - const: user_feedback - title: Event Type - default: user_feedback - thumb: - allOf: - - $ref: '#/components/schemas/ThumbDirection' - description: "Binary feedback: \"up\" for \U0001F44D or \"down\" for \U0001F44E\ - . Mutually exclusive with `rating`. Use this for simple thumbs up/down\ - \ UI elements." - rating: - title: Rating - description: Numeric rating (e.g., 1-5 stars) provided by the end user. - Mutually exclusive with `thumb`. Use this for star ratings or numeric - scales. - type: number - minimum: 0.0 - opinion: - title: Opinion - description: Free-text comment from the end user describing their opinion - of the response. - type: string - maxLength: 2000 - minLength: 1 - rewrite: - title: Rewrite - description: End-user's suggested text replacement for the generated response. - This is the user's idea of what the response should have been. - type: string - maxLength: 10000 - minLength: 1 - chosen_index: - title: Chosen Index - description: Zero-based index of the response option the user selected when - multiple responses were returned. Use this when showing users multiple - completion choices and tracking which one they picked. - type: integer - minimum: 0.0 - categories: - title: Categories - description: 'Application-specific category ratings as key-value pairs. - Use this for custom rating dimensions (e.g., {''helpfulness'': 4, ''accuracy'': - 5, ''tone'': ''professional''}). Useful for radio buttons, dropdowns, - or multi-dimensional rating systems.' - additionalProperties: - anyOf: - - type: number - - type: string - type: object - additionalProperties: false - type: object - title: UserFeedbackEvent - description: 'Structured feedback supplied by an end-user. - - - This event captures various forms of end-user feedback about a model''s response, - - including binary thumbs up/down ratings, numeric scores, free-text opinions, - - suggested rewrites, and structured category ratings. - - - Either `thumb` or `rating` should be provided (they are mutually exclusive), - but all - - feedback fields are optional to accommodate different feedback collection - patterns.' UserMessagesConfig: properties: embeddings_only: @@ -31568,71 +29123,6 @@ components: type: object title: UserMessagesConfig description: Configuration for how the user messages are interpreted. - UserRating: - properties: - thumb: - allOf: - - $ref: '#/components/schemas/ThumbDirection' - description: "Binary feedback: \"up\" for \U0001F44D or \"down\" for \U0001F44E\ - . Mutually exclusive with `rating`. Use this for simple thumbs up/down\ - \ UI elements." - rating: - title: Rating - description: Numeric rating (e.g., 1-5 stars) provided by the end user. - Mutually exclusive with `thumb`. Use this for star ratings or numeric - scales. - type: number - minimum: 0.0 - opinion: - title: Opinion - description: Free-text comment from the end user describing their opinion - of the response. - type: string - maxLength: 2000 - minLength: 1 - rewrite: - title: Rewrite - description: End-user's suggested text replacement for the generated response. - This is the user's idea of what the response should have been. - type: string - maxLength: 10000 - minLength: 1 - chosen_index: - title: Chosen Index - description: Zero-based index of the response option the user selected when - multiple responses were returned. Use this when showing users multiple - completion choices and tracking which one they picked. - type: integer - minimum: 0.0 - categories: - title: Categories - description: 'Application-specific category ratings as key-value pairs. - Use this for custom rating dimensions (e.g., {''helpfulness'': 4, ''accuracy'': - 5, ''tone'': ''professional''}). Useful for radio buttons, dropdowns, - or multi-dimensional rating systems.' - additionalProperties: - anyOf: - - type: number - - type: string - type: object - type: object - title: UserRating - description: 'User''s rating/evaluation of an AI response. - - - This captures various forms of end-user feedback about a model''s response, - including - - binary thumbs up/down ratings, numeric scores, free-text opinions, suggested - rewrites, - - and structured category ratings. - - - Either `thumb` or `rating` should be provided (they are mutually exclusive), - but all - - fields are optional to accommodate different feedback collection patterns.' ValidationError: properties: loc: diff --git a/openapi/ga/openapi.yaml b/openapi/ga/openapi.yaml index 90db8a2864..5599d1e1d5 100644 --- a/openapi/ga/openapi.yaml +++ b/openapi/ga/openapi.yaml @@ -5755,834 +5755,12 @@ paths: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps: - get: - tags: - - Apps - summary: List Apps - description: List all apps with filtering capabilities. - operationId: list_apps_apis_intake_v2_workspaces__workspace__apps_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/AppSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/AppFilter' - description: Filter apps by name, description, project, created_at, and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AppsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Apps - summary: Create App - description: Create a new app. - operationId: create_app_apis_intake_v2_workspaces__workspace__apps_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AppInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '200': - description: Successful Response - '409': - description: App already exists - '422': - description: Validation Error - /apis/intake/v2/workspaces/{workspace}/apps/{app}/tasks/{name}: - get: - tags: - - Tasks - summary: Get Task - description: Get a specific task. - operationId: get_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Tasks - summary: Update Task - description: Update an existing task. - operationId: update_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TaskUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Tasks - summary: Delete Task - description: Delete a task. - operationId: delete_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps/{name}: - get: - tags: - - Apps - summary: Get App - description: Get a specific app by workspace and name. - operationId: get_app_apis_intake_v2_workspaces__workspace__apps__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Apps - summary: Update App - description: Update an existing app. - operationId: update_app_apis_intake_v2_workspaces__workspace__apps__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AppUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Apps - summary: Delete App - description: Delete an app. - operationId: delete_app_apis_intake_v2_workspaces__workspace__apps__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps/{name}/tasks: - get: - tags: - - Tasks - summary: List Tasks - description: List all tasks for a specific app. - operationId: list_tasks_apis_intake_v2_workspaces__workspace__apps__name__tasks_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/TaskSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/TaskFilter' - description: Filter tasks by name, app, description, project, created_at, - and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TasksPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Tasks - summary: Create Task - description: Create a new task. - operationId: create_task_apis_intake_v2_workspaces__workspace__apps__name__tasks_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TaskInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries: - get: - tags: - - Entries - summary: List Entries - description: 'List all entries with filtering capabilities. - - - When longest_per_thread=true is set in filters, returns only the longest entry - - (by message count) for each unique thread_id.' - operationId: list_entries_apis_intake_v2_workspaces__workspace__entries_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/EntrySortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/EntryFilter' - description: Filter entries by id, project, external_id, created_at, updated_at, - usage fields (model), context fields, and user_rating fields. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EntrysPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Entries - summary: Create Entry - description: 'Create a new entry. - - - Apps and tasks referenced in the entry context will be auto-created if they - don''t exist.' - operationId: create_entry_apis_intake_v2_workspaces__workspace__entries_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EntryInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{entry}/events/{name}: - delete: - tags: - - Entries - summary: Delete Event - description: 'Delete a specific event from an entry. - - - Entry can be referenced by ID or external_id using `external:{external_id}` - prefix.' - operationId: delete_event_apis_intake_v2_workspaces__workspace__entries__entry__events__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: entry - in: path - required: true - schema: - type: string - title: Entry - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{name}: - get: - tags: - - Entries - summary: Get Entry - description: 'Get a specific entry by ID or external_id. - - - Use `external:{external_id}` to get by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: get_entry_apis_intake_v2_workspaces__workspace__entries__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Entries - summary: Update Entry - description: 'Update an existing entry by ID or external_id. - - - Use `external:{external_id}` to update by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: update_entry_apis_intake_v2_workspaces__workspace__entries__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EntryUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Entries - summary: Delete Entry - description: 'Delete an entry by ID or external_id. - - - Use `external:{external_id}` to delete by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: delete_entry_apis_intake_v2_workspaces__workspace__entries__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{name}/events: - post: - tags: - - Entries - summary: Add Events - description: 'Add events to an entry by ID or external_id. - - - Use `external:{external_id}` to add events by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123/events`' - operationId: add_events_apis_intake_v2_workspaces__workspace__entries__name__events_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EventsCreateRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/evaluator-results: - post: - tags: - - Evaluator Results - summary: Create Evaluator Result - operationId: create_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResultInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResult' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Evaluator Results - summary: List Evaluator Results - operationId: list_evaluator_results_apis_intake_v2_workspaces__workspace__evaluator_results_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/EvaluatorResultSortField' - default: -created_at - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/EvaluatorResultFilter' - description: Filter evaluator results by span_id, session_id, name, data_type, - created_by, value range, and created_at range. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResultsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/evaluator-results/{evaluator_result_id}: - get: + /apis/intake/v2/workspaces/{workspace}/evaluator-results: + post: tags: - Evaluator Results - summary: Get Evaluator Result - operationId: get_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results__evaluator_result_id__get + summary: Create Evaluator Result + operationId: create_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results_post parameters: - name: workspace in: path @@ -6590,14 +5768,14 @@ paths: schema: type: string title: Workspace - - name: evaluator_result_id - in: path + requestBody: required: true - schema: - type: string - title: Evaluator Result Id + content: + application/json: + schema: + $ref: '#/components/schemas/EvaluatorResultInput' responses: - '200': + '201': description: Successful Response content: application/json: @@ -6609,16 +5787,11 @@ paths: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/jobs: get: tags: - - Exports - summary: List Export Jobs - description: 'List all export jobs with filtering capabilities. - - - Use `workspace=-` for cross-workspace listing.' - operationId: list_export_jobs_apis_intake_v2_workspaces__workspace__export_jobs_get + - Evaluator Results + summary: List Evaluator Results + operationId: list_evaluator_results_apis_intake_v2_workspaces__workspace__evaluator_results_get parameters: - name: workspace in: path @@ -6631,6 +5804,7 @@ paths: required: false schema: type: integer + minimum: 1 description: Page number. default: 1 title: Page @@ -6640,6 +5814,8 @@ paths: required: false schema: type: integer + maximum: 1000 + minimum: 1 description: Page size. default: 10 title: Page Size @@ -6649,88 +5825,36 @@ paths: required: false schema: allOf: - - $ref: '#/components/schemas/ExportJobSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. + - $ref: '#/components/schemas/EvaluatorResultSortField' + default: -created_at - in: query name: filter style: deepObject required: false explode: true schema: - $ref: '#/components/schemas/ExportJobFilter' - description: Filter export jobs by name, status, output_file_url, created_at, - and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJobsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Exports - summary: Create Export Job - description: 'Export entries to an external file. - - - Use the `longest_per_thread` filter to export only the longest entry per thread, - - which is useful for thread-based exports. - - - Supported output file URLs: - - - - NeMo Datastore: nds://workspace/dataset_name - - - HuggingFace Dataset: hf://datasets/org/name/path/to/file - - - Local filesystem: file:///path/to/export (for development)' - operationId: create_export_job_apis_intake_v2_workspaces__workspace__export_jobs_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJobInput' + $ref: '#/components/schemas/EvaluatorResultFilter' + description: Filter evaluator results by span_id, session_id, name, data_type, + created_by, value range, and created_at range. responses: '200': description: Successful Response content: application/json: schema: - $ref: '#/components/schemas/ExportJob' + $ref: '#/components/schemas/EvaluatorResultsPage' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/jobs/{name}: + /apis/intake/v2/workspaces/{workspace}/evaluator-results/{evaluator_result_id}: get: tags: - - Exports - summary: Get Export Job Status - description: Check the status of an export job. - operationId: get_export_job_status_apis_intake_v2_workspaces__workspace__export_jobs__name__get + - Evaluator Results + summary: Get Evaluator Result + operationId: get_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results__evaluator_result_id__get parameters: - name: workspace in: path @@ -6738,52 +5862,19 @@ paths: schema: type: string title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJob' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/preview: - post: - tags: - - Exports - summary: Preview Export - description: Preview export data without writing to a file (max 100 records). - operationId: preview_export_apis_intake_v2_workspaces__workspace__export_preview_post - parameters: - - name: workspace + - name: evaluator_result_id in: path required: true schema: type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportPreviewRequest' + title: Evaluator Result Id responses: '200': description: Successful Response content: application/json: schema: - $ref: '#/components/schemas/ExportPreviewResponse' + $ref: '#/components/schemas/EvaluatorResult' '422': description: Validation Error content: @@ -11521,157 +10612,6 @@ components: - judge_model title: AnswerAccuracyMetricResponse description: Response type for AnswerAccuracy metrics. - App: - properties: - id: - type: string - title: Id - description: Unique identifier - name: - type: string - title: Name - description: App name - workspace: - type: string - title: Workspace - description: Workspace identifier - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - type: boolean - title: Locked - description: Lock status - default: false - created_at: - title: Created At - description: Creation timestamp - type: string - format: date-time - updated_at: - title: Updated At - description: Last update timestamp - type: string - format: date-time - type: object - required: - - id - - name - - workspace - title: App - description: Schema for App responses. - AppFilter: - additionalProperties: false - description: Filter for Apps. - properties: - workspace: - description: Filter by workspace id. - title: Workspace - type: string - name: - description: Filter by app name. - title: Name - type: string - project: - description: Filter by project name. - title: Project - type: string - description: - description: Filter by app description. - title: Description - type: string - created_at: - allOf: - - $ref: '#/components/schemas/DatetimeFilter' - description: Filter entities based on creation date. - updated_at: - allOf: - - $ref: '#/components/schemas/DatetimeFilter' - description: Filter entities based on update date. - title: AppFilter - type: object - AppInput: - properties: - name: - type: string - title: Name - description: App name (unique within workspace) - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - type: boolean - title: Locked - description: If true, this record cannot be automatically updated when entries - are ingested. - default: false - type: object - required: - - name - title: AppInput - description: Schema for creating a new App. - AppSortField: - type: string - enum: - - created_at - - -created_at - - name - - -name - - updated_at - - -updated_at - title: AppSortField - description: Sort fields for Apps. - AppUpdate: - properties: - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - title: Locked - description: Lock status - type: boolean - type: object - title: AppUpdate - description: Schema for updating an existing App. - AppsPage: - properties: - data: - items: - $ref: '#/components/schemas/App' - type: array - title: Data - pagination: - allOf: - - $ref: '#/components/schemas/PaginationData' - description: Pagination information. - sort: - title: Sort - description: The field on which the results are sorted. - type: string - filter: - title: Filter - description: Filtering information. - additionalProperties: true - type: object - type: object - required: - - data - title: AppsPage AtifAgent: properties: name: @@ -13140,6 +12080,59 @@ components: - not_cacheable title: CacheStatus description: Cache status for files in external storage backends. + CapturedChatCompletionsRequest: + properties: + messages: + items: + $ref: '#/components/schemas/CapturedChatMessage' + type: array + title: Messages + description: Messages comprising the conversation. + model: + type: string + title: Model + description: The model identifier used for this request. + additionalProperties: true + type: object + required: + - messages + - model + title: CapturedChatCompletionsRequest + description: Flexible captured chat-completions request. + CapturedChatCompletionsResponse: + oneOf: + - required: + - choices + - required: + - error + properties: + choices: + title: Choices + items: + additionalProperties: true + type: object + type: array + error: + title: Error + additionalProperties: true + type: object + additionalProperties: true + type: object + title: CapturedChatCompletionsResponse + description: Flexible captured chat-completions response. + CapturedChatMessage: + properties: + role: + allOf: + - $ref: '#/components/schemas/ChatMessageRole' + description: The role of the message sender. + additionalProperties: true + type: object + required: + - role + title: CapturedChatMessage + description: A flexible message model that requires a valid role field but allows + provider-specific fields. ChatCompletionAssistantMessageParam: properties: role: @@ -13329,9 +12322,9 @@ components: ChatCompletionsIngestRequest: properties: request: - $ref: '#/components/schemas/FlexibleEntryRequestInput' + $ref: '#/components/schemas/CapturedChatCompletionsRequest' response: - $ref: '#/components/schemas/FlexibleEntryResponse' + $ref: '#/components/schemas/CapturedChatCompletionsResponse' session_id: title: Session Id description: Groups related chat-completions calls without forcing them @@ -13390,6 +12383,17 @@ components: - session_id - span_id title: ChatCompletionsIngestResponse + ChatMessageRole: + type: string + enum: + - user + - system + - assistant + - developer + - tool + - function + title: ChatMessageRole + description: Valid role values for captured chat-completions messages. ClassifyConfig: properties: enable_classify: @@ -15701,460 +14705,44 @@ components: type: object required: - data - title: EntityCreateInput - description: 'Schema for creating a new entity (name-based routes). - - - Name is optional - if not provided, it will be auto-generated. - - Workspace and entity_type come from the URL path parameters.' - EntityUpdate: - properties: - new_name: - title: New Name - description: Updated entity name (optional). Name must start with a lowercase - letter, be 2-63 characters, and contain only lowercase letters, digits, - and hyphens (no consecutive hyphens, cannot end with a hyphen). - examples: - - my-config - - baseline-model-v1 - type: string - pattern: ^[a-z](?!.*--)[a-z0-9\-@.+_]{1,62}(?`` entity-store paths.' - UserActionEvent: - properties: - id: - title: Id - description: Unique identifier for the event. Populated when retrieved from - database. - type: string - created_at: - type: string - format: date-time - title: Created At - description: UTC timestamp when the record was created. - created_by: - title: Created By - description: Identifier of the user or system that generated the record. - Can be set of key-value pairs. - additionalProperties: - type: string - type: object - event_type: - type: string - const: user_action - title: Event Type - default: user_action - action: - type: string - maxLength: 256 - title: Action - description: "Descriptive name for the action taken by the user (e.g., 'share_clicked',\ - \ 'code_copied', 'link_followed'). Use snake-case or kebab-case. This\ - \ is a label, not a unique identifier\u2014multiple events can have the\ - \ same action name." - metadata: - additionalProperties: - anyOf: - - type: string - maxLength: 256 - - items: - type: string - maxLength: 256 - type: array - - type: boolean - - type: integer - - type: number - propertyNames: - maxLength: 256 - type: object - maxProperties: 16 - title: Metadata - description: 'Optional key-value pairs with additional context about the - action (max 16 entries). Use this for details like user IDs, item IDs, - timestamps, A/B test variants, or any other information useful for downstream - training or evaluation pipelines. Example: {''user_id'': ''12345'', ''experiment'': - ''variant_b'', ''item_purchased'': ''product_456''}.' - additionalProperties: false - type: object - required: - - action - title: UserActionEvent - description: "Free-form user action captured by the client application.\n\n\ - Use this to track arbitrary user interactions with AI responses, such as copying\ - \ code,\nclicking share buttons, making purchases, or any other measurable\ - \ action.\n\nThe action identifier must be \u2264256 characters and should\ - \ use snake-case or kebab-case\nfor consistency (e.g., ``share_clicked``,\ - \ ``code_copied``, ``purchase_made``)." - UserFeedbackEvent: - properties: - id: - title: Id - description: Unique identifier for the event. Populated when retrieved from - database. - type: string - created_at: - type: string - format: date-time - title: Created At - description: UTC timestamp when the record was created. - created_by: - title: Created By - description: Identifier of the user or system that generated the record. - Can be set of key-value pairs. - additionalProperties: - type: string - type: object - event_type: - type: string - const: user_feedback - title: Event Type - default: user_feedback - thumb: - allOf: - - $ref: '#/components/schemas/ThumbDirection' - description: "Binary feedback: \"up\" for \U0001F44D or \"down\" for \U0001F44E\ - . Mutually exclusive with `rating`. Use this for simple thumbs up/down\ - \ UI elements." - rating: - title: Rating - description: Numeric rating (e.g., 1-5 stars) provided by the end user. - Mutually exclusive with `thumb`. Use this for star ratings or numeric - scales. - type: number - minimum: 0.0 - opinion: - title: Opinion - description: Free-text comment from the end user describing their opinion - of the response. - type: string - maxLength: 2000 - minLength: 1 - rewrite: - title: Rewrite - description: End-user's suggested text replacement for the generated response. - This is the user's idea of what the response should have been. - type: string - maxLength: 10000 - minLength: 1 - chosen_index: - title: Chosen Index - description: Zero-based index of the response option the user selected when - multiple responses were returned. Use this when showing users multiple - completion choices and tracking which one they picked. - type: integer - minimum: 0.0 - categories: - title: Categories - description: 'Application-specific category ratings as key-value pairs. - Use this for custom rating dimensions (e.g., {''helpfulness'': 4, ''accuracy'': - 5, ''tone'': ''professional''}). Useful for radio buttons, dropdowns, - or multi-dimensional rating systems.' - additionalProperties: - anyOf: - - type: number - - type: string - type: object - additionalProperties: false - type: object - title: UserFeedbackEvent - description: 'Structured feedback supplied by an end-user. - - - This event captures various forms of end-user feedback about a model''s response, - - including binary thumbs up/down ratings, numeric scores, free-text opinions, - - suggested rewrites, and structured category ratings. - - - Either `thumb` or `rating` should be provided (they are mutually exclusive), - but all - - feedback fields are optional to accommodate different feedback collection - patterns.' UserMessagesConfig: properties: embeddings_only: @@ -31568,71 +29123,6 @@ components: type: object title: UserMessagesConfig description: Configuration for how the user messages are interpreted. - UserRating: - properties: - thumb: - allOf: - - $ref: '#/components/schemas/ThumbDirection' - description: "Binary feedback: \"up\" for \U0001F44D or \"down\" for \U0001F44E\ - . Mutually exclusive with `rating`. Use this for simple thumbs up/down\ - \ UI elements." - rating: - title: Rating - description: Numeric rating (e.g., 1-5 stars) provided by the end user. - Mutually exclusive with `thumb`. Use this for star ratings or numeric - scales. - type: number - minimum: 0.0 - opinion: - title: Opinion - description: Free-text comment from the end user describing their opinion - of the response. - type: string - maxLength: 2000 - minLength: 1 - rewrite: - title: Rewrite - description: End-user's suggested text replacement for the generated response. - This is the user's idea of what the response should have been. - type: string - maxLength: 10000 - minLength: 1 - chosen_index: - title: Chosen Index - description: Zero-based index of the response option the user selected when - multiple responses were returned. Use this when showing users multiple - completion choices and tracking which one they picked. - type: integer - minimum: 0.0 - categories: - title: Categories - description: 'Application-specific category ratings as key-value pairs. - Use this for custom rating dimensions (e.g., {''helpfulness'': 4, ''accuracy'': - 5, ''tone'': ''professional''}). Useful for radio buttons, dropdowns, - or multi-dimensional rating systems.' - additionalProperties: - anyOf: - - type: number - - type: string - type: object - type: object - title: UserRating - description: 'User''s rating/evaluation of an AI response. - - - This captures various forms of end-user feedback about a model''s response, - including - - binary thumbs up/down ratings, numeric scores, free-text opinions, suggested - rewrites, - - and structured category ratings. - - - Either `thumb` or `rating` should be provided (they are mutually exclusive), - but all - - fields are optional to accommodate different feedback collection patterns.' ValidationError: properties: loc: diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index 90db8a2864..5599d1e1d5 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -5755,834 +5755,12 @@ paths: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps: - get: - tags: - - Apps - summary: List Apps - description: List all apps with filtering capabilities. - operationId: list_apps_apis_intake_v2_workspaces__workspace__apps_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/AppSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/AppFilter' - description: Filter apps by name, description, project, created_at, and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/AppsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Apps - summary: Create App - description: Create a new app. - operationId: create_app_apis_intake_v2_workspaces__workspace__apps_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AppInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '200': - description: Successful Response - '409': - description: App already exists - '422': - description: Validation Error - /apis/intake/v2/workspaces/{workspace}/apps/{app}/tasks/{name}: - get: - tags: - - Tasks - summary: Get Task - description: Get a specific task. - operationId: get_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Tasks - summary: Update Task - description: Update an existing task. - operationId: update_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TaskUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Tasks - summary: Delete Task - description: Delete a task. - operationId: delete_task_apis_intake_v2_workspaces__workspace__apps__app__tasks__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: app - in: path - required: true - schema: - type: string - title: App - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps/{name}: - get: - tags: - - Apps - summary: Get App - description: Get a specific app by workspace and name. - operationId: get_app_apis_intake_v2_workspaces__workspace__apps__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Apps - summary: Update App - description: Update an existing app. - operationId: update_app_apis_intake_v2_workspaces__workspace__apps__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/AppUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/App' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Apps - summary: Delete App - description: Delete an app. - operationId: delete_app_apis_intake_v2_workspaces__workspace__apps__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/apps/{name}/tasks: - get: - tags: - - Tasks - summary: List Tasks - description: List all tasks for a specific app. - operationId: list_tasks_apis_intake_v2_workspaces__workspace__apps__name__tasks_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/TaskSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/TaskFilter' - description: Filter tasks by name, app, description, project, created_at, - and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/TasksPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Tasks - summary: Create Task - description: Create a new task. - operationId: create_task_apis_intake_v2_workspaces__workspace__apps__name__tasks_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/TaskInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Task' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries: - get: - tags: - - Entries - summary: List Entries - description: 'List all entries with filtering capabilities. - - - When longest_per_thread=true is set in filters, returns only the longest entry - - (by message count) for each unique thread_id.' - operationId: list_entries_apis_intake_v2_workspaces__workspace__entries_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/EntrySortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/EntryFilter' - description: Filter entries by id, project, external_id, created_at, updated_at, - usage fields (model), context fields, and user_rating fields. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EntrysPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Entries - summary: Create Entry - description: 'Create a new entry. - - - Apps and tasks referenced in the entry context will be auto-created if they - don''t exist.' - operationId: create_entry_apis_intake_v2_workspaces__workspace__entries_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EntryInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{entry}/events/{name}: - delete: - tags: - - Entries - summary: Delete Event - description: 'Delete a specific event from an entry. - - - Entry can be referenced by ID or external_id using `external:{external_id}` - prefix.' - operationId: delete_event_apis_intake_v2_workspaces__workspace__entries__entry__events__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: entry - in: path - required: true - schema: - type: string - title: Entry - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{name}: - get: - tags: - - Entries - summary: Get Entry - description: 'Get a specific entry by ID or external_id. - - - Use `external:{external_id}` to get by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: get_entry_apis_intake_v2_workspaces__workspace__entries__name__get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - patch: - tags: - - Entries - summary: Update Entry - description: 'Update an existing entry by ID or external_id. - - - Use `external:{external_id}` to update by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: update_entry_apis_intake_v2_workspaces__workspace__entries__name__patch - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EntryUpdate' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - delete: - tags: - - Entries - summary: Delete Entry - description: 'Delete an entry by ID or external_id. - - - Use `external:{external_id}` to delete by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123`' - operationId: delete_entry_apis_intake_v2_workspaces__workspace__entries__name__delete - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '204': - description: Successful Response - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/entries/{name}/events: - post: - tags: - - Entries - summary: Add Events - description: 'Add events to an entry by ID or external_id. - - - Use `external:{external_id}` to add events by external_id. - - Example: `/v2/workspaces/{workspace}/entries/external:chatcmpl-abc123/events`' - operationId: add_events_apis_intake_v2_workspaces__workspace__entries__name__events_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EventsCreateRequest' - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/Entry' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/evaluator-results: - post: - tags: - - Evaluator Results - summary: Create Evaluator Result - operationId: create_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResultInput' - responses: - '201': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResult' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - get: - tags: - - Evaluator Results - summary: List Evaluator Results - operationId: list_evaluator_results_apis_intake_v2_workspaces__workspace__evaluator_results_get - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - - name: page - in: query - required: false - schema: - type: integer - minimum: 1 - description: Page number. - default: 1 - title: Page - description: Page number. - - name: page_size - in: query - required: false - schema: - type: integer - maximum: 1000 - minimum: 1 - description: Page size. - default: 10 - title: Page Size - description: Page size. - - name: sort - in: query - required: false - schema: - allOf: - - $ref: '#/components/schemas/EvaluatorResultSortField' - default: -created_at - - in: query - name: filter - style: deepObject - required: false - explode: true - schema: - $ref: '#/components/schemas/EvaluatorResultFilter' - description: Filter evaluator results by span_id, session_id, name, data_type, - created_by, value range, and created_at range. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/EvaluatorResultsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/evaluator-results/{evaluator_result_id}: - get: + /apis/intake/v2/workspaces/{workspace}/evaluator-results: + post: tags: - Evaluator Results - summary: Get Evaluator Result - operationId: get_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results__evaluator_result_id__get + summary: Create Evaluator Result + operationId: create_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results_post parameters: - name: workspace in: path @@ -6590,14 +5768,14 @@ paths: schema: type: string title: Workspace - - name: evaluator_result_id - in: path + requestBody: required: true - schema: - type: string - title: Evaluator Result Id + content: + application/json: + schema: + $ref: '#/components/schemas/EvaluatorResultInput' responses: - '200': + '201': description: Successful Response content: application/json: @@ -6609,16 +5787,11 @@ paths: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/jobs: get: tags: - - Exports - summary: List Export Jobs - description: 'List all export jobs with filtering capabilities. - - - Use `workspace=-` for cross-workspace listing.' - operationId: list_export_jobs_apis_intake_v2_workspaces__workspace__export_jobs_get + - Evaluator Results + summary: List Evaluator Results + operationId: list_evaluator_results_apis_intake_v2_workspaces__workspace__evaluator_results_get parameters: - name: workspace in: path @@ -6631,6 +5804,7 @@ paths: required: false schema: type: integer + minimum: 1 description: Page number. default: 1 title: Page @@ -6640,6 +5814,8 @@ paths: required: false schema: type: integer + maximum: 1000 + minimum: 1 description: Page size. default: 10 title: Page Size @@ -6649,88 +5825,36 @@ paths: required: false schema: allOf: - - $ref: '#/components/schemas/ExportJobSortField' - description: The field to sort by. To sort in decreasing order, use `-` - in front of the field name. - default: created_at - description: The field to sort by. To sort in decreasing order, use `-` in - front of the field name. + - $ref: '#/components/schemas/EvaluatorResultSortField' + default: -created_at - in: query name: filter style: deepObject required: false explode: true schema: - $ref: '#/components/schemas/ExportJobFilter' - description: Filter export jobs by name, status, output_file_url, created_at, - and updated_at. - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJobsPage' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - post: - tags: - - Exports - summary: Create Export Job - description: 'Export entries to an external file. - - - Use the `longest_per_thread` filter to export only the longest entry per thread, - - which is useful for thread-based exports. - - - Supported output file URLs: - - - - NeMo Datastore: nds://workspace/dataset_name - - - HuggingFace Dataset: hf://datasets/org/name/path/to/file - - - Local filesystem: file:///path/to/export (for development)' - operationId: create_export_job_apis_intake_v2_workspaces__workspace__export_jobs_post - parameters: - - name: workspace - in: path - required: true - schema: - type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJobInput' + $ref: '#/components/schemas/EvaluatorResultFilter' + description: Filter evaluator results by span_id, session_id, name, data_type, + created_by, value range, and created_at range. responses: '200': description: Successful Response content: application/json: schema: - $ref: '#/components/schemas/ExportJob' + $ref: '#/components/schemas/EvaluatorResultsPage' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/jobs/{name}: + /apis/intake/v2/workspaces/{workspace}/evaluator-results/{evaluator_result_id}: get: tags: - - Exports - summary: Get Export Job Status - description: Check the status of an export job. - operationId: get_export_job_status_apis_intake_v2_workspaces__workspace__export_jobs__name__get + - Evaluator Results + summary: Get Evaluator Result + operationId: get_evaluator_result_apis_intake_v2_workspaces__workspace__evaluator_results__evaluator_result_id__get parameters: - name: workspace in: path @@ -6738,52 +5862,19 @@ paths: schema: type: string title: Workspace - - name: name - in: path - required: true - schema: - type: string - title: Name - responses: - '200': - description: Successful Response - content: - application/json: - schema: - $ref: '#/components/schemas/ExportJob' - '422': - description: Validation Error - content: - application/json: - schema: - $ref: '#/components/schemas/HTTPValidationError' - /apis/intake/v2/workspaces/{workspace}/export/preview: - post: - tags: - - Exports - summary: Preview Export - description: Preview export data without writing to a file (max 100 records). - operationId: preview_export_apis_intake_v2_workspaces__workspace__export_preview_post - parameters: - - name: workspace + - name: evaluator_result_id in: path required: true schema: type: string - title: Workspace - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/ExportPreviewRequest' + title: Evaluator Result Id responses: '200': description: Successful Response content: application/json: schema: - $ref: '#/components/schemas/ExportPreviewResponse' + $ref: '#/components/schemas/EvaluatorResult' '422': description: Validation Error content: @@ -11521,157 +10612,6 @@ components: - judge_model title: AnswerAccuracyMetricResponse description: Response type for AnswerAccuracy metrics. - App: - properties: - id: - type: string - title: Id - description: Unique identifier - name: - type: string - title: Name - description: App name - workspace: - type: string - title: Workspace - description: Workspace identifier - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - type: boolean - title: Locked - description: Lock status - default: false - created_at: - title: Created At - description: Creation timestamp - type: string - format: date-time - updated_at: - title: Updated At - description: Last update timestamp - type: string - format: date-time - type: object - required: - - id - - name - - workspace - title: App - description: Schema for App responses. - AppFilter: - additionalProperties: false - description: Filter for Apps. - properties: - workspace: - description: Filter by workspace id. - title: Workspace - type: string - name: - description: Filter by app name. - title: Name - type: string - project: - description: Filter by project name. - title: Project - type: string - description: - description: Filter by app description. - title: Description - type: string - created_at: - allOf: - - $ref: '#/components/schemas/DatetimeFilter' - description: Filter entities based on creation date. - updated_at: - allOf: - - $ref: '#/components/schemas/DatetimeFilter' - description: Filter entities based on update date. - title: AppFilter - type: object - AppInput: - properties: - name: - type: string - title: Name - description: App name (unique within workspace) - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - type: boolean - title: Locked - description: If true, this record cannot be automatically updated when entries - are ingested. - default: false - type: object - required: - - name - title: AppInput - description: Schema for creating a new App. - AppSortField: - type: string - enum: - - created_at - - -created_at - - name - - -name - - updated_at - - -updated_at - title: AppSortField - description: Sort fields for Apps. - AppUpdate: - properties: - description: - title: Description - description: App description - type: string - project: - title: Project - description: The name of the project associated with this app - type: string - locked: - title: Locked - description: Lock status - type: boolean - type: object - title: AppUpdate - description: Schema for updating an existing App. - AppsPage: - properties: - data: - items: - $ref: '#/components/schemas/App' - type: array - title: Data - pagination: - allOf: - - $ref: '#/components/schemas/PaginationData' - description: Pagination information. - sort: - title: Sort - description: The field on which the results are sorted. - type: string - filter: - title: Filter - description: Filtering information. - additionalProperties: true - type: object - type: object - required: - - data - title: AppsPage AtifAgent: properties: name: @@ -13140,6 +12080,59 @@ components: - not_cacheable title: CacheStatus description: Cache status for files in external storage backends. + CapturedChatCompletionsRequest: + properties: + messages: + items: + $ref: '#/components/schemas/CapturedChatMessage' + type: array + title: Messages + description: Messages comprising the conversation. + model: + type: string + title: Model + description: The model identifier used for this request. + additionalProperties: true + type: object + required: + - messages + - model + title: CapturedChatCompletionsRequest + description: Flexible captured chat-completions request. + CapturedChatCompletionsResponse: + oneOf: + - required: + - choices + - required: + - error + properties: + choices: + title: Choices + items: + additionalProperties: true + type: object + type: array + error: + title: Error + additionalProperties: true + type: object + additionalProperties: true + type: object + title: CapturedChatCompletionsResponse + description: Flexible captured chat-completions response. + CapturedChatMessage: + properties: + role: + allOf: + - $ref: '#/components/schemas/ChatMessageRole' + description: The role of the message sender. + additionalProperties: true + type: object + required: + - role + title: CapturedChatMessage + description: A flexible message model that requires a valid role field but allows + provider-specific fields. ChatCompletionAssistantMessageParam: properties: role: @@ -13329,9 +12322,9 @@ components: ChatCompletionsIngestRequest: properties: request: - $ref: '#/components/schemas/FlexibleEntryRequestInput' + $ref: '#/components/schemas/CapturedChatCompletionsRequest' response: - $ref: '#/components/schemas/FlexibleEntryResponse' + $ref: '#/components/schemas/CapturedChatCompletionsResponse' session_id: title: Session Id description: Groups related chat-completions calls without forcing them @@ -13390,6 +12383,17 @@ components: - session_id - span_id title: ChatCompletionsIngestResponse + ChatMessageRole: + type: string + enum: + - user + - system + - assistant + - developer + - tool + - function + title: ChatMessageRole + description: Valid role values for captured chat-completions messages. ClassifyConfig: properties: enable_classify: @@ -15701,460 +14705,44 @@ components: type: object required: - data - title: EntityCreateInput - description: 'Schema for creating a new entity (name-based routes). - - - Name is optional - if not provided, it will be auto-generated. - - Workspace and entity_type come from the URL path parameters.' - EntityUpdate: - properties: - new_name: - title: New Name - description: Updated entity name (optional). Name must start with a lowercase - letter, be 2-63 characters, and contain only lowercase letters, digits, - and hyphens (no consecutive hyphens, cannot end with a hyphen). - examples: - - my-config - - baseline-model-v1 - type: string - pattern: ^[a-z](?!.*--)[a-z0-9\-@.+_]{1,62}(?`` entity-store paths.' - UserActionEvent: - properties: - id: - title: Id - description: Unique identifier for the event. Populated when retrieved from - database. - type: string - created_at: - type: string - format: date-time - title: Created At - description: UTC timestamp when the record was created. - created_by: - title: Created By - description: Identifier of the user or system that generated the record. - Can be set of key-value pairs. - additionalProperties: - type: string - type: object - event_type: - type: string - const: user_action - title: Event Type - default: user_action - action: - type: string - maxLength: 256 - title: Action - description: "Descriptive name for the action taken by the user (e.g., 'share_clicked',\ - \ 'code_copied', 'link_followed'). Use snake-case or kebab-case. This\ - \ is a label, not a unique identifier\u2014multiple events can have the\ - \ same action name." - metadata: - additionalProperties: - anyOf: - - type: string - maxLength: 256 - - items: - type: string - maxLength: 256 - type: array - - type: boolean - - type: integer - - type: number - propertyNames: - maxLength: 256 - type: object - maxProperties: 16 - title: Metadata - description: 'Optional key-value pairs with additional context about the - action (max 16 entries). Use this for details like user IDs, item IDs, - timestamps, A/B test variants, or any other information useful for downstream - training or evaluation pipelines. Example: {''user_id'': ''12345'', ''experiment'': - ''variant_b'', ''item_purchased'': ''product_456''}.' - additionalProperties: false - type: object - required: - - action - title: UserActionEvent - description: "Free-form user action captured by the client application.\n\n\ - Use this to track arbitrary user interactions with AI responses, such as copying\ - \ code,\nclicking share buttons, making purchases, or any other measurable\ - \ action.\n\nThe action identifier must be \u2264256 characters and should\ - \ use snake-case or kebab-case\nfor consistency (e.g., ``share_clicked``,\ - \ ``code_copied``, ``purchase_made``)." - UserFeedbackEvent: - properties: - id: - title: Id - description: Unique identifier for the event. Populated when retrieved from - database. - type: string - created_at: - type: string - format: date-time - title: Created At - description: UTC timestamp when the record was created. - created_by: - title: Created By - description: Identifier of the user or system that generated the record. - Can be set of key-value pairs. - additionalProperties: - type: string - type: object - event_type: - type: string - const: user_feedback - title: Event Type - default: user_feedback - thumb: - allOf: - - $ref: '#/components/schemas/ThumbDirection' - description: "Binary feedback: \"up\" for \U0001F44D or \"down\" for \U0001F44E\ - . Mutually exclusive with `rating`. Use this for simple thumbs up/down\ - \ UI elements." - rating: - title: Rating - description: Numeric rating (e.g., 1-5 stars) provided by the end user. - Mutually exclusive with `thumb`. Use this for star ratings or numeric - scales. - type: number - minimum: 0.0 - opinion: - title: Opinion - description: Free-text comment from the end user describing their opinion - of the response. - type: string - maxLength: 2000 - minLength: 1 - rewrite: - title: Rewrite - description: End-user's suggested text replacement for the generated response. - This is the user's idea of what the response should have been. - type: string - maxLength: 10000 - minLength: 1 - chosen_index: - title: Chosen Index - description: Zero-based index of the response option the user selected when - multiple responses were returned. Use this when showing users multiple - completion choices and tracking which one they picked. - type: integer - minimum: 0.0 - categories: - title: Categories - description: 'Application-specific category ratings as key-value pairs. - Use this for custom rating dimensions (e.g., {''helpfulness'': 4, ''accuracy'': - 5, ''tone'': ''professional''}). Useful for radio buttons, dropdowns, - or multi-dimensional rating systems.' - additionalProperties: - anyOf: - - type: number - - type: string - type: object - additionalProperties: false - type: object - title: UserFeedbackEvent - description: 'Structured feedback supplied by an end-user. - - - This event captures various forms of end-user feedback about a model''s response, - - including binary thumbs up/down ratings, numeric scores, free-text opinions, - - suggested rewrites, and structured category ratings. - - - Either `thumb` or `rating` should be provided (they are mutually exclusive), - but all - - feedback fields are optional to accommodate different feedback collection - patterns.' UserMessagesConfig: properties: embeddings_only: @@ -31568,71 +29123,6 @@ components: type: object title: UserMessagesConfig description: Configuration for how the user messages are interpreted. - UserRating: - properties: - thumb: - allOf: - - $ref: '#/components/schemas/ThumbDirection' - description: "Binary feedback: \"up\" for \U0001F44D or \"down\" for \U0001F44E\ - . Mutually exclusive with `rating`. Use this for simple thumbs up/down\ - \ UI elements." - rating: - title: Rating - description: Numeric rating (e.g., 1-5 stars) provided by the end user. - Mutually exclusive with `thumb`. Use this for star ratings or numeric - scales. - type: number - minimum: 0.0 - opinion: - title: Opinion - description: Free-text comment from the end user describing their opinion - of the response. - type: string - maxLength: 2000 - minLength: 1 - rewrite: - title: Rewrite - description: End-user's suggested text replacement for the generated response. - This is the user's idea of what the response should have been. - type: string - maxLength: 10000 - minLength: 1 - chosen_index: - title: Chosen Index - description: Zero-based index of the response option the user selected when - multiple responses were returned. Use this when showing users multiple - completion choices and tracking which one they picked. - type: integer - minimum: 0.0 - categories: - title: Categories - description: 'Application-specific category ratings as key-value pairs. - Use this for custom rating dimensions (e.g., {''helpfulness'': 4, ''accuracy'': - 5, ''tone'': ''professional''}). Useful for radio buttons, dropdowns, - or multi-dimensional rating systems.' - additionalProperties: - anyOf: - - type: number - - type: string - type: object - type: object - title: UserRating - description: 'User''s rating/evaluation of an AI response. - - - This captures various forms of end-user feedback about a model''s response, - including - - binary thumbs up/down ratings, numeric scores, free-text opinions, suggested - rewrites, - - and structured category ratings. - - - Either `thumb` or `rating` should be provided (they are mutually exclusive), - but all - - fields are optional to accommodate different feedback collection patterns.' ValidationError: properties: loc: diff --git a/packages/nemo_platform/pyproject.toml b/packages/nemo_platform/pyproject.toml index 168dfa7ac1..4ef152d622 100644 --- a/packages/nemo_platform/pyproject.toml +++ b/packages/nemo_platform/pyproject.toml @@ -226,30 +226,9 @@ inference-gateway-service = [ intake-service = [ "fastapi>=0.115.5, <1.0.0", "uvicorn>=0.22.0, <1.0.0", - "sqlalchemy>=2.0", - "alembic>=1.10.4, <2.0.0", "pydantic>=2.9.2, <3.0.0", "pydantic-settings>=2.6.1, <3.0.0", - "asyncpg>=0.30.0, <1.0.0", - "python-dotenv>=1.0.0, <2.0.0", - "httpx>=0.24.1, <1.0.0", - "huggingface-hub>=1.0.1, <2.0.0", - "openai>=1.51.0", - "requests>=2.32.3, <3.0.0", - "types-requests>=2.32.0.20241016, <3.0.0.0", - "pyyaml>=6.0.2, <7.0.0", - "base58>=2.1.1", "nmp-common", - "opentelemetry-api>=1.27.0", - "opentelemetry-instrumentation-fastapi>=0.48b0", - "opentelemetry-sdk>=1.27.0", - "opentelemetry-exporter-otlp>=1.27.0", - "opentelemetry-instrumentation-openai>=0.33.9", - "psycopg2-binary>=2.9.10", - "celery>=5.5.3", - "redis>=5.0.1", - "flower>=2.0.1", - "watchdog[watchmedo]>=6.0.0", "clickhouse-connect>=0.7,<1.0", "opentelemetry-proto>=1.27.0", ] diff --git a/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py b/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py index 8cdb5e74c4..4d6b11ad1e 100644 --- a/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py +++ b/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/__init__.py @@ -4,25 +4,13 @@ # NOTE: This file is auto-generated from __future__ import annotations -from nemo_platform_ext.cli.commands.api.intake import ( - annotations, - apps, - entries, - evaluator_results, - exports, - ingest, - spans, - traces, -) +from nemo_platform_ext.cli.commands.api.intake import annotations, evaluator_results, ingest, spans, traces from nemo_platform_ext.cli.core.help_formatter import create_typer_app app = create_typer_app(name="intake", help="Intake operations") app.add_typer(annotations.app, name="annotations") -app.add_typer(apps.app, name="apps") -app.add_typer(entries.app, name="entries") app.add_typer(evaluator_results.app, name="evaluator-results") -app.add_typer(exports.app, name="exports") app.add_typer(ingest.app, name="ingest") app.add_typer(spans.app, name="spans") app.add_typer(traces.app, name="traces") diff --git a/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/__init__.py b/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/__init__.py deleted file mode 100644 index 510893850d..0000000000 --- a/packages/nemo_platform_ext/src/nemo_platform_ext/cli/commands/api/intake/apps/__init__.py +++ /dev/null @@ -1,326 +0,0 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -# NOTE: This file is auto-generated -from __future__ import annotations - -from typing import Annotated, Literal - -import typer - -from nemo_platform_ext.cli.commands.api.intake.apps import tasks -from nemo_platform_ext.cli.core.api import build_kwargs, merge_filter_dict -from nemo_platform_ext.cli.core.code_generator import handle_code_generation -from nemo_platform_ext.cli.core.context import CLIContext -from nemo_platform_ext.cli.core.errors import handle_errors -from nemo_platform_ext.cli.core.formatters import Column, check_output_columns_with_format, format_output -from nemo_platform_ext.cli.core.help_formatter import collect_warnings, create_typer_app -from nemo_platform_ext.cli.core.pagination import PaginationType, fetch_all_pages, warn_if_more_pages -from nemo_platform_ext.cli.core.stdin_utils import read_data_input_with_flags, validate_required_fields -from nemo_platform_ext.cli.core.stdin_utils import read_payload as read_payload -from nemo_platform_ext.cli.core.types import ( - EntityOutputFormatOption, - ListOutputFormatOption, - NoTruncateOption, - OutputColumnsOption, -) - -app = create_typer_app(name="apps", help="Manage apps") - -app.add_typer(tasks.app, name="tasks") - - -@app.command("create") -@collect_warnings -@handle_errors -def create_apps( - ctx: typer.Context, - name: Annotated[str | None, typer.Argument(help="App name (unique within workspace) (required)")] = None, - workspace: Annotated[str | None, typer.Option("--workspace")] = None, - description: Annotated[str | None, typer.Option("--description", help="App description")] = None, - locked: Annotated[ - bool | None, - typer.Option( - "--locked", help="If true, this record cannot be automatically updated when entries are ingested." - ), - ] = None, - project: Annotated[ - str | None, typer.Option("--project", help="The name of the project associated with this app") - ] = None, - exist_ok: Annotated[ - bool | None, - typer.Option( - "--exist-ok", help="Do not raise an error if the resource already exists. Returns the existing resource." - ), - ] = None, - input_file: Annotated[ - str | None, - typer.Option("--input-file", help="Path to JSON file (use '-' for stdin)", rich_help_panel="Input Options"), - ] = None, - input_data: Annotated[ - str | None, - typer.Option("--input-data", help="Input data for the request (JSON or YAML)", rich_help_panel="Input Options"), - ] = None, - output_format: EntityOutputFormatOption = None, -) -> None: - """Create a new app. - - [bold red]Required fields:[/] name - - [green]Examples:[/] - nemo intake apps create --input-file config.json - nemo intake apps create --input-data '{"name": "value"}' - echo '{"json": "data"}' | nemo intake apps create --input-file - - nemo intake apps create --