From 9009960b350efeb8f2ff02308f32a07011679abe Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 12:57:53 +0000 Subject: [PATCH] [autofix.ci] apply automated fixes --- api/openapi/markdown/console-openapi.md | 242 ++++++++- api/services/skill_management_service.py | 20 +- oxlint-suppressions.json | 172 +------ .../api/console/workspaces/orpc.gen.ts | 460 ++++++++++-------- .../api/console/workspaces/types.gen.ts | 222 +++++++-- .../api/console/workspaces/zod.gen.ts | 246 +++++++--- 6 files changed, 863 insertions(+), 499 deletions(-) diff --git a/api/openapi/markdown/console-openapi.md b/api/openapi/markdown/console-openapi.md index c2dfbf025ec..a7faa552cb0 100644 --- a/api/openapi/markdown/console-openapi.md +++ b/api/openapi/markdown/console-openapi.md @@ -6899,7 +6899,7 @@ Check if dataset is in use | Code | Description | Schema | | ---- | ----------- | ------ | -| 200 | Success | **application/json**: [LimitationModel](#limitationmodel)
| +| 200 | Success | **application/json**: [VectorSpaceLimitationModel](#vectorspacelimitationmodel)
| ### [GET] /files/support-type #### Responses @@ -7037,13 +7037,6 @@ Request body: | ---- | ----------- | ------ | | 200 | Success | **application/json**: [ConsoleHumanInputFormSubmitResponse](#consolehumaninputformsubmitresponse)
| -### [POST] /info -#### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | Success | **application/json**: [TenantInfoResponse](#tenantinforesponse)
| - ### [GET] /installed-apps #### Parameters @@ -10069,13 +10062,6 @@ Returns information about why and where the workflow is paused. | ---- | ----------- | ------ | | 200 | Success | **application/json**: [TenantListResponse](#tenantlistresponse)
| -### [POST] /workspaces/current -#### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | Success | **application/json**: [TenantInfoResponse](#tenantinforesponse)
| - ### [GET] /workspaces/current/agent-provider/{provider_name} Get specific agent provider details @@ -10629,6 +10615,20 @@ Update a plugin endpoint | ---- | ----------- | ------ | | 200 | Model providers retrieved successfully | **application/json**: [ModelProviderListResponse](#modelproviderlistresponse)
| +### [GET] /workspaces/current/model-providers/credits +#### Responses + +| Code | Description | Schema | +| ---- | ----------- | ------ | +| 200 | Model provider credits retrieved successfully | **application/json**: [ModelProviderCreditsResponse](#modelprovidercreditsresponse)
| + +### [GET] /workspaces/current/model-providers/summary +#### Responses + +| Code | Description | Schema | +| ---- | ----------- | ------ | +| 200 | Model provider summaries retrieved successfully | **application/json**: [ModelProviderSummaryListResponse](#modelprovidersummarylistresponse)
| + ### [GET] /workspaces/current/model-providers/{provider}/checkout-url #### Parameters @@ -11174,6 +11174,19 @@ Returns permission flags that control workspace features like member invitations | ---- | ----------- | ------ | | 200 | Success | **application/json**: [PluginInstallTaskStartResponse](#plugininstalltaskstartresponse)
| +### [GET] /workspaces/current/plugin/installed-ids +#### Parameters + +| Name | Located in | Description | Required | Schema | +| ---- | ---------- | ----------- | -------- | ------ | +| category | query | Plugin category to include | Yes | string,
**Available values:** "agent-strategy", "datasource", "extension", "model", "tool", "trigger" | + +#### Responses + +| Code | Description | Schema | +| ---- | ----------- | ------ | +| 200 | Success | **application/json**: [PluginInstalledIdsResponse](#plugininstalledidsresponse)
| + ### [GET] /workspaces/current/plugin/list #### Parameters @@ -11432,8 +11445,11 @@ Returns permission flags that control workspace features like member invitations | Name | Located in | Description | Required | Schema | | ---- | ---------- | ----------- | -------- | ------ | +| language | query | Language used for localized label and description search | No | string,
**Available values:** "en_US", "ja_JP", "pt_BR", "zh_Hans",
**Default:** en_US | | page | query | Page number | No | integer,
**Default:** 1 | | page_size | query | Page size (1-256) | No | integer,
**Default:** 256 | +| query | query | Case-insensitive search query | No | string | +| tags | query | Match any plugin tag | No | [ string ] | | category | path | | Yes | string | #### Responses @@ -12324,7 +12340,7 @@ Import a Skill zip package from multipart form field `file`. | Code | Description | Schema | | ---- | ----------- | ------ | -| 200 | Skill version restored | **application/json**: [SkillVersionResponse](#skillversionresponse)
| +| 200 | Skill version restored to draft | **application/json**: [SkillDetailResponse](#skilldetailresponse)
| ### [GET] /workspaces/current/skills/{skill_id}/versions #### Parameters @@ -12387,6 +12403,14 @@ Import a Skill zip package from multipart form field `file`. | ---- | ----------- | ------ | | 200 | Skill version updated | **application/json**: [SkillVersionResponse](#skillversionresponse)
| +### [GET] /workspaces/current/summary +#### Responses + +| Code | Description | Schema | +| ---- | ----------- | ------ | +| 200 | Success | **application/json**: [CurrentWorkspaceSummaryResponse](#currentworkspacesummaryresponse)
| +| 409 | Current workspace is archived | | + ### [GET] /workspaces/current/tool-labels #### Responses @@ -13194,6 +13218,13 @@ Import a Skill zip package from multipart form field `file`. | ---- | ----------- | ------ | | 200 | Trigger providers retrieved successfully | **application/json**: [TriggerProviderListResponse](#triggerproviderlistresponse)
| +### [GET] /workspaces/custom-config +#### Responses + +| Code | Description | Schema | +| ---- | ----------- | ------ | +| 200 | Success | **application/json**: [WorkspaceCustomConfigResponse](#workspacecustomconfigresponse)
| + ### [POST] /workspaces/custom-config #### Request Body @@ -13634,6 +13665,7 @@ Model class for AI model. | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | +| access_ready | boolean | | Yes | | api_key_count | integer | | Yes | | api_rph | integer | | Yes | | api_rpm | integer | | Yes | @@ -13699,6 +13731,7 @@ Model class for AI model. | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | | access_mode | string | | No | +| access_ready | boolean | | No | | api_base_url | string | | No | | app_id | string | | No | | backing_app_id | string | | No | @@ -14785,6 +14818,14 @@ section may be empty, which is how callers express "no knowledge layer". | updated_at | integer | | No | | user_rate | number | | No | +#### AgentLogFeedbackResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| content | string | | No | +| from_source | string,
**Available values:** "admin", "user" | *Enum:* `"admin"`, `"user"` | Yes | +| rating | string,
**Available values:** "dislike", "like" | *Enum:* `"dislike"`, `"like"` | Yes | + #### AgentLogListResponse | Name | Type | Description | Required | @@ -14805,6 +14846,8 @@ section may be empty, which is how callers express "no knowledge layer". | created_at | integer | | No | | currency | string | | Yes | | error | string | | No | +| feedback_enabled | boolean | | No | +| feedbacks | [ [AgentLogFeedbackResponse](#agentlogfeedbackresponse) ] | | No | | from_account_id | string | | No | | from_end_user_id | string | | No | | id | string | | Yes | @@ -16217,6 +16260,15 @@ AppMCPServer Status Enum | ---- | ---- | ----------- | -------- | | data | [ [AverageSessionInteractionStatisticItem](#averagesessioninteractionstatisticitem) ] | | Yes | +#### BannerContentResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| category | string | | Yes | +| description | string | | Yes | +| img-src | string | | Yes | +| title | string | | Yes | + #### BannerListResponse | Name | Type | Description | Required | @@ -16227,12 +16279,20 @@ AppMCPServer Status Enum | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | -| content | | | Yes | -| created_at | string | | No | +| content | [BannerContentResponse](#bannercontentresponse) | | Yes | +| created_at | string | | Yes | | id | string | | Yes | -| link | string | | No | +| link | string | | Yes | | sort | integer | | Yes | -| status | string | | Yes | +| status | [BannerStatus](#bannerstatus) | | Yes | + +#### BannerStatus + +ExporleBanner status + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| BannerStatus | string | ExporleBanner status | | #### BatchImportPayload @@ -16977,6 +17037,16 @@ Model class for credential form schema. | ---- | ---- | ----------- | -------- | | CredentialType | string | | | +#### CurrentWorkspaceSummaryResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| credits | integer | Remaining credits in the effective pool; -1 means unlimited. | Yes | +| id | string | | Yes | +| name | string | | Yes | +| plan | string | | Yes | +| role | [TenantAccountRole](#tenantaccountrole) | | Yes | + #### CustomConfigurationResponse Model class for provider custom configuration response. @@ -18333,7 +18403,9 @@ declaration of an endpoint group | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | +| deleted_environment_variable_ids | [ string ] | Environment variable IDs to delete when patch is true | No | | environment_variables | [ [EnvironmentVariableItemPayload](#environmentvariableitempayload) ] | Environment variables for the draft workflow | Yes | +| patch | boolean | Treat environment_variables as per-ID upserts instead of replacing the full collection | No | #### ErrorDocsResponse @@ -18469,6 +18541,13 @@ Built-in tool icons are URL strings; API-based tool icons are provider-defined p #### ExternalDatasetCreatePayload +Validated fields required to create an external dataset binding. + +The console controller owns HTTP concerns, but the service also needs this +contract when creating the tenant-scoped dataset and external knowledge +binding. Keep it outside controllers so service imports do not depend on +Flask blueprint initialization. + | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | | description | string | | No | @@ -19275,6 +19354,7 @@ Enum class for large language model mode. | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | | expired_at | string | | Yes | +| license_expiry_notice_enabled | boolean | | Yes | | seats | [LicenseLimitationModel](#licenselimitationmodel) | | Yes | | status | [LicenseStatus](#licensestatus) | | Yes | | workspaces | [LicenseLimitationModel](#licenselimitationmodel) | | Yes | @@ -19760,6 +19840,30 @@ Enum class for model property key. | ---- | ---- | ----------- | -------- | | ModelPropertyKey | string | Enum class for model property key. | | +#### ModelProviderCreditsResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| exhausted_at | integer | | Yes | +| is_exhausted | boolean | | Yes | +| is_unlimited | boolean | | Yes | +| next_credit_reset_date | integer | | Yes | +| pool_type | string | | Yes | +| quota_limit | integer | Credit limit for the effective pool; -1 means unlimited. | Yes | +| quota_used | integer | | Yes | +| remaining_credits | integer | Remaining credits; -1 means unlimited. | Yes | + +#### ModelProviderCustomConfigurationSummaryResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| available_credentials | [ [CredentialConfiguration](#credentialconfiguration) ] | | Yes | +| current_credential_id | string | | No | +| current_credential_name | string | | No | +| current_credential_usable | boolean | | Yes | +| has_custom_models | boolean | Whether custom model configuration exists, including saved model credentials. | Yes | +| status | [CustomConfigurationStatus](#customconfigurationstatus) | | Yes | + #### ModelProviderListResponse | Name | Type | Description | Required | @@ -19772,6 +19876,49 @@ Enum class for model property key. | ---- | ---- | ----------- | -------- | | payment_link | string | | Yes | +#### ModelProviderPluginSummaryResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| installation_id | string | | Yes | +| plugin_id | string | | Yes | +| plugin_unique_identifier | string | | Yes | +| runtime_type | string | | Yes | +| source | [PluginInstallationSource](#plugininstallationsource) | | Yes | +| version | string | | Yes | + +#### ModelProviderSummaryListResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| data | [ [ModelProviderSummaryResponse](#modelprovidersummaryresponse) ] | | Yes | +| plugins | object | | Yes | + +#### ModelProviderSummaryResponse + +Fields required to render the collapsed model-provider list. + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| configurate_methods | [ [ConfigurateMethod](#configuratemethod) ] | | Yes | +| custom_configuration | [ModelProviderCustomConfigurationSummaryResponse](#modelprovidercustomconfigurationsummaryresponse) | | Yes | +| description | [I18nObject](#i18nobject) | | No | +| icon_small | [I18nObject](#i18nobject) | | No | +| icon_small_dark | [I18nObject](#i18nobject) | | No | +| is_configured | boolean | | Yes | +| label | [I18nObject](#i18nobject) | | Yes | +| plugin_id | string | | Yes | +| preferred_provider_type | [ProviderType](#providertype) | | Yes | +| provider | string | | Yes | +| supported_model_types | [ [ModelType](#modeltype) ] | | Yes | +| system_configuration | [ModelProviderSystemConfigurationSummaryResponse](#modelprovidersystemconfigurationsummaryresponse) | | Yes | + +#### ModelProviderSystemConfigurationSummaryResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| enabled | boolean | | Yes | + #### ModelSelectorScope | Name | Type | Description | Required | @@ -20761,8 +20908,11 @@ Shared permission levels for resources (datasets, credentials, etc.) | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | +| language | string,
**Available values:** "en_US", "ja_JP", "pt_BR", "zh_Hans",
**Default:** en_US | Language used for localized label and description search
*Enum:* `"en_US"`, `"ja_JP"`, `"pt_BR"`, `"zh_Hans"` | No | | page | integer,
**Default:** 1 | Page number | No | | page_size | integer,
**Default:** 256 | Page size (1-256) | No | +| query | string | Case-insensitive search query | No | +| tags | [ string ] | Match any plugin tag | No | #### PluginCategoryListResponse @@ -20963,6 +21113,18 @@ Shared permission levels for resources (datasets, credentials, etc.) | ---- | ---- | ----------- | -------- | | plugins | [ [PluginInstallationItemResponse](#plugininstallationitemresponse) ] | | Yes | +#### PluginInstalledIdsQuery + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| category | [PluginCategory](#plugincategory) | Plugin category to include | Yes | + +#### PluginInstalledIdsResponse + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| plugin_ids | [ string ] | | Yes | + #### PluginListResponse | Name | Type | Description | Required | @@ -21771,6 +21933,12 @@ Whitelist scopes accepted by RBAC app and dataset access config APIs. | instruction | string | Structured output generation instruction | Yes | | model_config | [ModelConfig](#modelconfig) | Model configuration | Yes | +#### SSOProtocol + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| SSOProtocol | string | | | + #### SandboxFileEntryResponse | Name | Type | Description | Required | @@ -22110,6 +22278,15 @@ Simple provider entity response. | size | integer | | No | | tool_file_id | string | | Yes | +#### SkillAssistHistoryMessagePayload + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| content | string | | Yes | +| role | string,
**Available values:** "assistant", "user" | *Enum:* `"assistant"`, `"user"` | Yes | +| suggested_display_name | string | | No | +| suggested_name | string | | No | + #### SkillAssistMessagePayload One user message and optional uploaded context for the Skill Authoring assistant. @@ -22117,6 +22294,7 @@ One user message and optional uploaded context for the Skill Authoring assistant | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | | attachments | [ [SkillAssistAttachmentPayload](#skillassistattachmentpayload) ] | | No | +| history | [ [SkillAssistHistoryMessagePayload](#skillassisthistorymessagepayload) ] | | No | | message | string | | Yes | | model | [SkillAssistModelPayload](#skillassistmodelpayload) | | No | | target_path | string | | No | @@ -22144,7 +22322,7 @@ One user message and optional uploaded context for the Skill Authoring assistant | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | -| confirmation_name | string | Required when deleting a referenced Skill. Must match the Skill name. | No | +| confirmation_name | string | Required when deleting a referenced Skill. Must match the Skill display name. | No | #### SkillDeleteResponse @@ -22854,7 +23032,7 @@ The subscription constructor of the trigger provider | ---- | ---- | ----------- | -------- | | _is_collaborative | boolean | | No | | conversation_variables | [ object ] | | No | -| environment_variables | [ object ] | | No | +| environment_variable_patch | [SyncEnvironmentVariablePatchPayload](#syncenvironmentvariablepatchpayload) | | No | | features | object | | Yes | | graph | object | | Yes | | hash | string | | No | @@ -22867,6 +23045,13 @@ The subscription constructor of the trigger provider | result | string | | Yes | | updated_at | integer | | Yes | +#### SyncEnvironmentVariablePatchPayload + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| deleted_environment_variable_ids | [ string ] | | No | +| environment_variables | [ object ] | | No | + #### SystemConfigurationResponse Model class for provider system configuration response. @@ -22903,7 +23088,7 @@ Non-sensitive bootstrap snapshot exposed before Console or Web authentication. | plugin_installation_permission | [PluginInstallationPermissionModel](#plugininstallationpermissionmodel) | | Yes | | rbac_enabled | boolean | | Yes | | sso_enforced_for_signin | boolean | | Yes | -| sso_enforced_for_signin_protocol | string | | Yes | +| sso_enforced_for_signin_protocol | [SSOProtocol](#ssoprotocol) | | Yes | | webapp_auth | [WebAppAuthModel](#webappauthmodel) | | Yes | #### SystemParameters @@ -23768,6 +23953,7 @@ Payload for updating a snippet. | file_upload_limit | integer | | Yes | | image_file_batch_limit | integer | | Yes | | image_file_size_limit | integer | | Yes | +| knowledge_file_size_limit | integer | | Yes | | single_chunk_attachment_limit | integer | | Yes | | skill_file_size_limit | integer | | Yes | | video_file_size_limit | integer | | Yes | @@ -23837,6 +24023,14 @@ in form definition, or a variable while the workflow is running. | ---- | ---- | ----------- | -------- | | ValueSourceType | string | ValueSourceType records whether the value comes from a static setting in form definition, or a variable while the workflow is running. | | +#### VectorSpaceLimitationModel + +| Name | Type | Description | Required | +| ---- | ---- | ----------- | -------- | +| limit | integer | | Yes | +| size | integer | | Yes | +| usage_unknown | boolean | | No | + #### VerificationTokenResponse | Name | Type | Description | Required | @@ -23860,7 +24054,7 @@ in form definition, or a variable while the workflow is running. | Name | Type | Description | Required | | ---- | ---- | ----------- | -------- | -| protocol | string | | Yes | +| protocol | [SSOProtocol](#ssoprotocol) | | Yes | #### WebhookTriggerResponse diff --git a/api/services/skill_management_service.py b/api/services/skill_management_service.py index 7b4b90a120b..37610260179 100644 --- a/api/services/skill_management_service.py +++ b/api/services/skill_management_service.py @@ -1243,19 +1243,17 @@ class SkillManagementService: @staticmethod def _extract_direct_reasoning_from_mapping(value: dict[str, object]) -> str | None: - raw_reasoning = ( - value.get("reasoning_content") - or value.get("reasoning") - or value.get("reasoningContent") - ) + raw_reasoning = value.get("reasoning_content") or value.get("reasoning") or value.get("reasoningContent") return raw_reasoning if isinstance(raw_reasoning, str) else None @staticmethod def _extract_reasoning_from_dump(value: object) -> str: match value: - case {"reasoning_content": str(reasoning)} | {"reasoning": str(reasoning)} | { - "reasoningContent": str(reasoning) - }: + case ( + {"reasoning_content": str(reasoning)} + | {"reasoning": str(reasoning)} + | {"reasoningContent": str(reasoning)} + ): return reasoning case {"data": str(text)} | {"content": str(text)}: _clean_text, reasoning = split_reasoning(text, "separated") @@ -1290,7 +1288,7 @@ class SkillManagementService: "Only suggest actions for the current Skill. Never suggest creating another Skill, " "starting a new Skill, or switching Skills.\n" "Return exactly one JSON object and no markdown fences, prose, or explanation.\n" - "Required schema: {\"suggestions\": [\"...\", \"...\"]}\n\n" + 'Required schema: {"suggestions": ["...", "..."]}\n\n' f"User request:\n{user_message}\n\n" f"Assistant reply:\n{assistant_reply}" ) @@ -2662,9 +2660,7 @@ class SkillManagementService: skill_md = next((file for file in files if file.path == _SKILL_MD), None) content = skill_md.content_text if skill_md is not None else "" - has_description = bool( - skill.description.strip() and skill.description.strip() != _UNTITLED_SKILL_DESCRIPTION - ) + has_description = bool(skill.description.strip() and skill.description.strip() != _UNTITLED_SKILL_DESCRIPTION) body = _FRONTMATTER_RE.sub("", content, count=1).strip() has_body = bool(body and body not in {_EMPTY_SKILL_DRAFT_CONTENT.strip(), _UNTITLED_SKILL_MD_BODY.strip()}) has_resources = any(file.path != _SKILL_MD for file in files) diff --git a/oxlint-suppressions.json b/oxlint-suppressions.json index 643723ca8e3..d6582ef15cc 100644 --- a/oxlint-suppressions.json +++ b/oxlint-suppressions.json @@ -181,17 +181,6 @@ "count": 2 } }, - "web/app/account/(commonLayout)/account-page/index.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 2 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 2 - }, - "no-restricted-imports": { - "count": 1 - } - }, "web/app/account/(commonLayout)/delete-account/components/verify-email.tsx": { "eslint-react/set-state-in-effect": { "count": 1 @@ -437,20 +426,6 @@ "count": 4 } }, - "web/app/components/app/configuration/config/automatic/get-automatic-res.tsx": { - "eslint-react/set-state-in-effect": { - "count": 4 - }, - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - }, - "typescript/no-explicit-any": { - "count": 1 - } - }, "web/app/components/app/configuration/config/automatic/idea-output.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -479,14 +454,6 @@ "count": 1 } }, - "web/app/components/app/configuration/config/code-generator/get-code-generator-res.tsx": { - "eslint-react/set-state-in-effect": { - "count": 4 - }, - "typescript/no-explicit-any": { - "count": 2 - } - }, "web/app/components/app/configuration/dataset-config/context-var/var-picker.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -592,11 +559,6 @@ "count": 1 } }, - "web/app/components/app/create-app-dialog/app-list/index.tsx": { - "no-restricted-imports": { - "count": 1 - } - }, "web/app/components/app/create-app-dialog/app-list/sidebar.tsx": { "erasable-syntax-only/enums": { "count": 1 @@ -665,14 +627,6 @@ "count": 1 } }, - "web/app/components/app/switch-app-modal/index.tsx": { - "eslint-react/set-state-in-effect": { - "count": 1 - }, - "no-restricted-imports": { - "count": 1 - } - }, "web/app/components/app/text-generate/item/index.tsx": { "typescript/no-explicit-any": { "count": 3 @@ -709,17 +663,6 @@ "count": 2 } }, - "web/app/components/apps/app-card.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-noninteractive-element-to-interactive-role": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/app/components/apps/import-from-marketplace-template-modal.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -1493,7 +1436,7 @@ }, "web/app/components/base/icons/src/vender/solid/development/index.ts": { "no-barrel-files/no-barrel-files": { - "count": 4 + "count": 3 } }, "web/app/components/base/icons/src/vender/solid/editor/index.ts": { @@ -1503,7 +1446,7 @@ }, "web/app/components/base/icons/src/vender/solid/education/index.ts": { "no-barrel-files/no-barrel-files": { - "count": 2 + "count": 1 } }, "web/app/components/base/icons/src/vender/solid/files/index.ts": { @@ -2002,17 +1945,6 @@ "count": 1 } }, - "web/app/components/base/tab-slider/index.tsx": { - "eslint-react/set-state-in-effect": { - "count": 2 - }, - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/app/components/base/tag-input/index.stories.tsx": { "jsx_a11y/label-has-associated-control": { "count": 12 @@ -2721,14 +2653,6 @@ "count": 1 } }, - "web/app/components/datasets/list/dataset-card/__tests__/index.spec.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/app/components/datasets/list/dataset-card/components/operations-dropdown.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -2840,11 +2764,6 @@ "count": 1 } }, - "web/app/components/explore/learn-dify/item.tsx": { - "jsx_a11y/no-noninteractive-element-interactions": { - "count": 1 - } - }, "web/app/components/explore/try-app/app/text-generation.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -2921,14 +2840,6 @@ "count": 4 } }, - "web/app/components/header/account-setting/model-provider-page/hooks.ts": { - "eslint-react/no-unnecessary-use-prefix": { - "count": 1 - }, - "typescript/no-explicit-any": { - "count": 2 - } - }, "web/app/components/header/account-setting/model-provider-page/model-auth/add-custom-model.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 2 @@ -2953,14 +2864,6 @@ "count": 1 } }, - "web/app/components/header/account-setting/model-provider-page/model-auth/config-model.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/app/components/header/account-setting/model-provider-page/model-auth/credential-selector.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -3004,11 +2907,6 @@ "count": 5 } }, - "web/app/components/header/account-setting/model-provider-page/model-parameter-modal/configuration-button.tsx": { - "typescript/no-explicit-any": { - "count": 2 - } - }, "web/app/components/header/account-setting/model-provider-page/model-parameter-modal/model-display.tsx": { "typescript/no-explicit-any": { "count": 1 @@ -3390,14 +3288,6 @@ "count": 25 } }, - "web/app/components/plugins/update-plugin/plugin-version-picker.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/app/components/rag-pipeline/components/__tests__/publish-as-knowledge-pipeline-modal.spec.tsx": { "jsx_a11y/click-events-have-key-events": { "count": 1 @@ -4833,9 +4723,6 @@ }, "web/app/components/workflow/nodes/llm/use-config.ts": { "eslint-react/set-state-in-effect": { - "count": 2 - }, - "typescript/no-explicit-any": { "count": 1 } }, @@ -5336,28 +5223,17 @@ "count": 2 } }, - "web/app/components/workflow/panel/env-panel/index.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/app/components/workflow/panel/env-panel/variable-modal.tsx": { "eslint-react/set-state-in-effect": { "count": 4 }, "jsx_a11y/click-events-have-key-events": { - "count": 4 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 4 - }, - "no-restricted-imports": { "count": 1 }, - "typescript/no-explicit-any": { + "jsx_a11y/no-static-element-interactions": { + "count": 1 + }, + "no-restricted-imports": { "count": 1 } }, @@ -5369,11 +5245,6 @@ "count": 1 } }, - "web/app/components/workflow/panel/human-input-form-list.tsx": { - "typescript/no-explicit-any": { - "count": 1 - } - }, "web/app/components/workflow/panel/inputs-panel.tsx": { "jsx_a11y/no-autofocus": { "count": 1 @@ -5600,7 +5471,7 @@ "count": 3 }, "typescript/no-explicit-any": { - "count": 8 + "count": 6 } }, "web/app/components/workflow/update-dsl-modal.tsx": { @@ -5873,14 +5744,6 @@ "count": 1 } }, - "web/features/tag-management/components/dataset-card-tags.tsx": { - "jsx_a11y/click-events-have-key-events": { - "count": 1 - }, - "jsx_a11y/no-static-element-interactions": { - "count": 1 - } - }, "web/features/tag-management/components/tag-item-editor.tsx": { "jsx_a11y/no-autofocus": { "count": 1 @@ -5929,11 +5792,6 @@ "count": 1 } }, - "web/models/app.ts": { - "erasable-syntax-only/enums": { - "count": 2 - } - }, "web/models/datasets.ts": { "erasable-syntax-only/enums": { "count": 7 @@ -6024,7 +5882,7 @@ "count": 1 }, "typescript/no-explicit-any": { - "count": 6 + "count": 4 } }, "web/service/base.ts": { @@ -6045,7 +5903,7 @@ "count": 1 }, "typescript/no-explicit-any": { - "count": 8 + "count": 6 } }, "web/service/datasets.ts": { @@ -6053,7 +5911,7 @@ "count": 1 }, "typescript/no-explicit-any": { - "count": 5 + "count": 3 } }, "web/service/debug.ts": { @@ -6158,21 +6016,11 @@ "count": 1 } }, - "web/service/use-apps.ts": { - "no-restricted-imports": { - "count": 1 - } - }, "web/service/use-datasource.ts": { "no-restricted-imports": { "count": 1 } }, - "web/service/use-education.ts": { - "no-restricted-imports": { - "count": 1 - } - }, "web/service/use-endpoints.ts": { "no-restricted-imports": { "count": 1 diff --git a/packages/contracts/generated/api/console/workspaces/orpc.gen.ts b/packages/contracts/generated/api/console/workspaces/orpc.gen.ts index 95461117a8a..ba890ea9476 100644 --- a/packages/contracts/generated/api/console/workspaces/orpc.gen.ts +++ b/packages/contracts/generated/api/console/workspaces/orpc.gen.ts @@ -76,8 +76,10 @@ import { zGetWorkspacesCurrentModelProvidersByProviderModelsParameterRulesResponse, zGetWorkspacesCurrentModelProvidersByProviderModelsPath, zGetWorkspacesCurrentModelProvidersByProviderModelsResponse, + zGetWorkspacesCurrentModelProvidersCreditsResponse, zGetWorkspacesCurrentModelProvidersQuery, zGetWorkspacesCurrentModelProvidersResponse, + zGetWorkspacesCurrentModelProvidersSummaryResponse, zGetWorkspacesCurrentModelsModelTypesByModelTypePath, zGetWorkspacesCurrentModelsModelTypesByModelTypeResponse, zGetWorkspacesCurrentPermissionResponse, @@ -93,6 +95,8 @@ import { zGetWorkspacesCurrentPluginFetchManifestResponse, zGetWorkspacesCurrentPluginIconQuery, zGetWorkspacesCurrentPluginIconResponse, + zGetWorkspacesCurrentPluginInstalledIdsQuery, + zGetWorkspacesCurrentPluginInstalledIdsResponse, zGetWorkspacesCurrentPluginListQuery, zGetWorkspacesCurrentPluginListResponse, zGetWorkspacesCurrentPluginMarketplacePkgQuery, @@ -173,6 +177,7 @@ import { zGetWorkspacesCurrentSkillsQuery, zGetWorkspacesCurrentSkillsResponse, zGetWorkspacesCurrentSkillsTagsResponse, + zGetWorkspacesCurrentSummaryResponse, zGetWorkspacesCurrentToolLabelsResponse, zGetWorkspacesCurrentToolProviderApiGetQuery, zGetWorkspacesCurrentToolProviderApiGetResponse, @@ -227,6 +232,7 @@ import { zGetWorkspacesCurrentTriggerProviderByProviderSubscriptionsOauthAuthorizePath, zGetWorkspacesCurrentTriggerProviderByProviderSubscriptionsOauthAuthorizeResponse, zGetWorkspacesCurrentTriggersResponse, + zGetWorkspacesCustomConfigResponse, zGetWorkspacesResponse, zPatchWorkspacesCurrentCustomizedSnippetsBySnippetIdBody, zPatchWorkspacesCurrentCustomizedSnippetsBySnippetIdPath, @@ -350,7 +356,6 @@ import { zPostWorkspacesCurrentRbacRolesByRoleIdCopyPath, zPostWorkspacesCurrentRbacRolesByRoleIdCopyResponse, zPostWorkspacesCurrentRbacRolesResponse, - zPostWorkspacesCurrentResponse, zPostWorkspacesCurrentSkillsBody, zPostWorkspacesCurrentSkillsBySkillIdAssistMessagesBody, zPostWorkspacesCurrentSkillsBySkillIdAssistMessagesPath, @@ -1166,6 +1171,34 @@ export const members = { } export const get13 = oc + .route({ + inputStructure: 'detailed', + method: 'GET', + operationId: 'getWorkspacesCurrentModelProvidersCredits', + path: '/workspaces/current/model-providers/credits', + tags: ['console'], + }) + .output(zGetWorkspacesCurrentModelProvidersCreditsResponse) + +export const credits = { + get: get13, +} + +export const get14 = oc + .route({ + inputStructure: 'detailed', + method: 'GET', + operationId: 'getWorkspacesCurrentModelProvidersSummary', + path: '/workspaces/current/model-providers/summary', + tags: ['console'], + }) + .output(zGetWorkspacesCurrentModelProvidersSummaryResponse) + +export const summary = { + get: get14, +} + +export const get15 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1177,7 +1210,7 @@ export const get13 = oc .output(zGetWorkspacesCurrentModelProvidersByProviderCheckoutUrlResponse) export const checkoutUrl = { - get: get13, + get: get15, } export const post16 = oc @@ -1237,7 +1270,7 @@ export const delete5 = oc ) .output(zDeleteWorkspacesCurrentModelProvidersByProviderCredentialsResponse) -export const get14 = oc +export const get16 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1288,7 +1321,7 @@ export const put3 = oc export const credentials = { delete: delete5, - get: get14, + get: get16, post: post18, put: put3, switch: switch_, @@ -1352,7 +1385,7 @@ export const delete6 = oc ) .output(zDeleteWorkspacesCurrentModelProvidersByProviderModelsCredentialsResponse) -export const get15 = oc +export const get17 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1403,7 +1436,7 @@ export const put4 = oc export const credentials2 = { delete: delete6, - get: get15, + get: get17, post: post21, put: put4, switch: switch2, @@ -1507,7 +1540,7 @@ export const loadBalancingConfigs = { byConfigId, } -export const get16 = oc +export const get18 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1524,7 +1557,7 @@ export const get16 = oc .output(zGetWorkspacesCurrentModelProvidersByProviderModelsParameterRulesResponse) export const parameterRules = { - get: get16, + get: get18, } export const delete7 = oc @@ -1544,7 +1577,7 @@ export const delete7 = oc ) .output(zDeleteWorkspacesCurrentModelProvidersByProviderModelsResponse) -export const get17 = oc +export const get19 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1573,7 +1606,7 @@ export const post24 = oc export const models = { delete: delete7, - get: get17, + get: get19, post: post24, credentials: credentials2, disable: disable2, @@ -1609,7 +1642,7 @@ export const byProvider = { preferredProviderType, } -export const get18 = oc +export const get20 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1621,11 +1654,13 @@ export const get18 = oc .output(zGetWorkspacesCurrentModelProvidersResponse) export const modelProviders = { - get: get18, + get: get20, + credits, + summary, byProvider, } -export const get19 = oc +export const get21 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1637,7 +1672,7 @@ export const get19 = oc .output(zGetWorkspacesCurrentModelsModelTypesByModelTypeResponse) export const byModelType = { - get: get19, + get: get21, } export const modelTypes = { @@ -1653,7 +1688,7 @@ export const models2 = { * * Returns permission flags that control workspace features like member invitations and owner transfer. */ -export const get20 = oc +export const get22 = oc .route({ description: 'Returns permission flags that control workspace features like member invitations and owner transfer.', @@ -1667,10 +1702,10 @@ export const get20 = oc .output(zGetWorkspacesCurrentPermissionResponse) export const permission = { - get: get20, + get: get22, } -export const get21 = oc +export const get23 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1682,7 +1717,7 @@ export const get21 = oc .output(zGetWorkspacesCurrentPluginAssetResponse) export const asset = { - get: get21, + get: get23, } export const post26 = oc @@ -1715,7 +1750,7 @@ export const exclude = { post: post27, } -export const get22 = oc +export const get24 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1727,7 +1762,7 @@ export const get22 = oc .output(zGetWorkspacesCurrentPluginAutoUpgradeFetchResponse) export const fetch_ = { - get: get22, + get: get24, } export const autoUpgrade = { @@ -1736,7 +1771,7 @@ export const autoUpgrade = { fetch: fetch_, } -export const get23 = oc +export const get25 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1747,10 +1782,10 @@ export const get23 = oc .output(zGetWorkspacesCurrentPluginDebuggingKeyResponse) export const debuggingKey = { - get: get23, + get: get25, } -export const get24 = oc +export const get26 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1762,10 +1797,10 @@ export const get24 = oc .output(zGetWorkspacesCurrentPluginFetchManifestResponse) export const fetchManifest = { - get: get24, + get: get26, } -export const get25 = oc +export const get27 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1777,7 +1812,7 @@ export const get25 = oc .output(zGetWorkspacesCurrentPluginIconResponse) export const icon = { - get: get25, + get: get27, } export const post28 = oc @@ -1831,6 +1866,21 @@ export const install = { pkg, } +export const get28 = oc + .route({ + inputStructure: 'detailed', + method: 'GET', + operationId: 'getWorkspacesCurrentPluginInstalledIds', + path: '/workspaces/current/plugin/installed-ids', + tags: ['console'], + }) + .input(z.object({ query: zGetWorkspacesCurrentPluginInstalledIdsQuery })) + .output(zGetWorkspacesCurrentPluginInstalledIdsResponse) + +export const installedIds = { + get: get28, +} + export const post31 = oc .route({ inputStructure: 'detailed', @@ -1865,7 +1915,7 @@ export const latestVersions = { post: post32, } -export const get26 = oc +export const get29 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1877,12 +1927,12 @@ export const get26 = oc .output(zGetWorkspacesCurrentPluginListResponse) export const list2 = { - get: get26, + get: get29, installations, latestVersions, } -export const get27 = oc +export const get30 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1894,14 +1944,14 @@ export const get27 = oc .output(zGetWorkspacesCurrentPluginMarketplacePkgResponse) export const pkg2 = { - get: get27, + get: get30, } export const marketplace2 = { pkg: pkg2, } -export const get28 = oc +export const get31 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1913,7 +1963,7 @@ export const get28 = oc .output(zGetWorkspacesCurrentPluginParametersDynamicOptionsResponse) export const dynamicOptions = { - get: get28, + get: get31, } /** @@ -1957,7 +2007,7 @@ export const change2 = { post: post34, } -export const get29 = oc +export const get32 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1968,7 +2018,7 @@ export const get29 = oc .output(zGetWorkspacesCurrentPluginPermissionFetchResponse) export const fetch2 = { - get: get29, + get: get32, } export const permission2 = { @@ -1976,7 +2026,7 @@ export const permission2 = { fetch: fetch2, } -export const get30 = oc +export const get33 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -1988,7 +2038,7 @@ export const get30 = oc .output(zGetWorkspacesCurrentPluginReadmeResponse) export const readme = { - get: get30, + get: get33, } export const post35 = oc @@ -2036,7 +2086,7 @@ export const delete8 = { byIdentifier, } -export const get31 = oc +export const get34 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2048,11 +2098,11 @@ export const get31 = oc .output(zGetWorkspacesCurrentPluginTasksByTaskIdResponse) export const byTaskId = { - get: get31, + get: get34, delete: delete8, } -export const get32 = oc +export const get35 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2064,7 +2114,7 @@ export const get32 = oc .output(zGetWorkspacesCurrentPluginTasksResponse) export const tasks = { - get: get32, + get: get35, deleteAll, byTaskId, } @@ -2169,7 +2219,7 @@ export const upload = { pkg: pkg3, } -export const get33 = oc +export const get36 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2186,7 +2236,7 @@ export const get33 = oc .output(zGetWorkspacesCurrentPluginByCategoryListResponse) export const list3 = { - get: get33, + get: get36, } export const byCategory = { @@ -2200,6 +2250,7 @@ export const plugin2 = { fetchManifest, icon, install, + installedIds, list: list2, marketplace: marketplace2, parameters, @@ -2239,7 +2290,7 @@ export const delete9 = oc .input(z.object({ params: zDeleteWorkspacesCurrentRbacAccessPoliciesByPolicyIdPath })) .output(zDeleteWorkspacesCurrentRbacAccessPoliciesByPolicyIdResponse) -export const get34 = oc +export const get37 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2263,12 +2314,12 @@ export const put5 = oc export const byPolicyId = { delete: delete9, - get: get34, + get: get37, put: put5, copy, } -export const get35 = oc +export const get38 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2290,7 +2341,7 @@ export const post45 = oc .output(zPostWorkspacesCurrentRbacAccessPoliciesResponse) export const accessPolicies = { - get: get35, + get: get38, post: post45, byPolicyId, } @@ -2350,7 +2401,7 @@ export const delete10 = oc ) .output(zDeleteWorkspacesCurrentRbacAppsByAppIdAccessPoliciesByPolicyIdMemberBindingsResponse) -export const get36 = oc +export const get39 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2367,10 +2418,10 @@ export const get36 = oc export const memberBindings = { delete: delete10, - get: get36, + get: get39, } -export const get37 = oc +export const get40 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2386,7 +2437,7 @@ export const get37 = oc .output(zGetWorkspacesCurrentRbacAppsByAppIdAccessPoliciesByPolicyIdRoleBindingsResponse) export const roleBindings = { - get: get37, + get: get40, } export const byPolicyId2 = { @@ -2398,7 +2449,7 @@ export const accessPolicies2 = { byPolicyId: byPolicyId2, } -export const get38 = oc +export const get41 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2415,10 +2466,10 @@ export const get38 = oc .output(zGetWorkspacesCurrentRbacAppsByAppIdAccessPolicyResponse) export const accessPolicy = { - get: get38, + get: get41, } -export const get39 = oc +export const get42 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2435,7 +2486,7 @@ export const get39 = oc .output(zGetWorkspacesCurrentRbacAppsByAppIdUserAccessPoliciesResponse) export const userAccessPolicies = { - get: get39, + get: get42, } export const put8 = oc @@ -2466,7 +2517,7 @@ export const users = { byTargetAccountId, } -export const get40 = oc +export const get43 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2494,7 +2545,7 @@ export const put9 = oc .output(zPutWorkspacesCurrentRbacAppsByAppIdWhitelistResponse) export const whitelist = { - get: get40, + get: get43, put: put9, } @@ -2530,7 +2581,7 @@ export const delete11 = oc zDeleteWorkspacesCurrentRbacDatasetsByDatasetIdAccessPoliciesByPolicyIdMemberBindingsResponse, ) -export const get41 = oc +export const get44 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2551,10 +2602,10 @@ export const get41 = oc export const memberBindings2 = { delete: delete11, - get: get41, + get: get44, } -export const get42 = oc +export const get45 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2570,7 +2621,7 @@ export const get42 = oc .output(zGetWorkspacesCurrentRbacDatasetsByDatasetIdAccessPoliciesByPolicyIdRoleBindingsResponse) export const roleBindings2 = { - get: get42, + get: get45, } export const byPolicyId3 = { @@ -2582,7 +2633,7 @@ export const accessPolicies4 = { byPolicyId: byPolicyId3, } -export const get43 = oc +export const get46 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2599,10 +2650,10 @@ export const get43 = oc .output(zGetWorkspacesCurrentRbacDatasetsByDatasetIdAccessPolicyResponse) export const accessPolicy2 = { - get: get43, + get: get46, } -export const get44 = oc +export const get47 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2619,7 +2670,7 @@ export const get44 = oc .output(zGetWorkspacesCurrentRbacDatasetsByDatasetIdUserAccessPoliciesResponse) export const userAccessPolicies2 = { - get: get44, + get: get47, } export const put10 = oc @@ -2650,7 +2701,7 @@ export const users2 = { byTargetAccountId: byTargetAccountId2, } -export const get45 = oc +export const get48 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2678,7 +2729,7 @@ export const put11 = oc .output(zPutWorkspacesCurrentRbacDatasetsByDatasetIdWhitelistResponse) export const whitelist2 = { - get: get45, + get: get48, put: put11, } @@ -2694,7 +2745,7 @@ export const datasets = { byDatasetId, } -export const get46 = oc +export const get49 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2722,7 +2773,7 @@ export const put12 = oc .output(zPutWorkspacesCurrentRbacMembersByMemberIdRbacRolesResponse) export const rbacRoles = { - get: get46, + get: get49, put: put12, } @@ -2734,7 +2785,7 @@ export const members2 = { byMemberId: byMemberId2, } -export const get47 = oc +export const get50 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2745,10 +2796,10 @@ export const get47 = oc .output(zGetWorkspacesCurrentRbacMyPermissionsResponse) export const myPermissions = { - get: get47, + get: get50, } -export const get48 = oc +export const get51 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2759,10 +2810,10 @@ export const get48 = oc .output(zGetWorkspacesCurrentRbacRolePermissionsCatalogAppResponse) export const app = { - get: get48, + get: get51, } -export const get49 = oc +export const get52 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2773,10 +2824,10 @@ export const get49 = oc .output(zGetWorkspacesCurrentRbacRolePermissionsCatalogDatasetResponse) export const dataset = { - get: get49, + get: get52, } -export const get50 = oc +export const get53 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2787,7 +2838,7 @@ export const get50 = oc .output(zGetWorkspacesCurrentRbacRolePermissionsCatalogResponse) export const catalog = { - get: get50, + get: get53, app, dataset, } @@ -2812,7 +2863,7 @@ export const copy2 = { post: post46, } -export const get51 = oc +export const get54 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2824,7 +2875,7 @@ export const get51 = oc .output(zGetWorkspacesCurrentRbacRolesByRoleIdMembersResponse) export const members3 = { - get: get51, + get: get54, } export const delete12 = oc @@ -2838,7 +2889,7 @@ export const delete12 = oc .input(z.object({ params: zDeleteWorkspacesCurrentRbacRolesByRoleIdPath })) .output(zDeleteWorkspacesCurrentRbacRolesByRoleIdResponse) -export const get52 = oc +export const get55 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2862,13 +2913,13 @@ export const put13 = oc export const byRoleId = { delete: delete12, - get: get52, + get: get55, put: put13, copy: copy2, members: members3, } -export const get53 = oc +export const get56 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2890,7 +2941,7 @@ export const post47 = oc .output(zPostWorkspacesCurrentRbacRolesResponse) export const roles = { - get: get53, + get: get56, post: post47, byRoleId, } @@ -2915,7 +2966,7 @@ export const bindings = { put: put14, } -export const get54 = oc +export const get57 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2931,10 +2982,10 @@ export const get54 = oc .output(zGetWorkspacesCurrentRbacWorkspaceAppsAccessPoliciesByPolicyIdMemberBindingsResponse) export const memberBindings3 = { - get: get54, + get: get57, } -export const get55 = oc +export const get58 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2950,7 +3001,7 @@ export const get55 = oc .output(zGetWorkspacesCurrentRbacWorkspaceAppsAccessPoliciesByPolicyIdRoleBindingsResponse) export const roleBindings3 = { - get: get55, + get: get58, } export const byPolicyId4 = { @@ -2963,7 +3014,7 @@ export const accessPolicies6 = { byPolicyId: byPolicyId4, } -export const get56 = oc +export const get59 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -2974,7 +3025,7 @@ export const get56 = oc .output(zGetWorkspacesCurrentRbacWorkspaceAppsAccessPolicyResponse) export const accessPolicy3 = { - get: get56, + get: get59, } export const apps2 = { @@ -3002,7 +3053,7 @@ export const bindings2 = { put: put15, } -export const get57 = oc +export const get60 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3018,10 +3069,10 @@ export const get57 = oc .output(zGetWorkspacesCurrentRbacWorkspaceDatasetsAccessPoliciesByPolicyIdMemberBindingsResponse) export const memberBindings4 = { - get: get57, + get: get60, } -export const get58 = oc +export const get61 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3037,7 +3088,7 @@ export const get58 = oc .output(zGetWorkspacesCurrentRbacWorkspaceDatasetsAccessPoliciesByPolicyIdRoleBindingsResponse) export const roleBindings4 = { - get: get58, + get: get61, } export const byPolicyId5 = { @@ -3050,7 +3101,7 @@ export const accessPolicies7 = { byPolicyId: byPolicyId5, } -export const get59 = oc +export const get62 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3061,7 +3112,7 @@ export const get59 = oc .output(zGetWorkspacesCurrentRbacWorkspaceDatasetsAccessPolicyResponse) export const accessPolicy4 = { - get: get59, + get: get62, } export const datasets2 = { @@ -3125,7 +3176,7 @@ export const import_ = { post: post49, } -export const get60 = oc +export const get63 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3136,7 +3187,7 @@ export const get60 = oc .output(zGetWorkspacesCurrentSkillsTagsResponse) export const tags = { - get: get60, + get: get63, } export const post50 = oc @@ -3179,7 +3230,7 @@ export const duplicate = { post: post51, } -export const get61 = oc +export const get64 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3191,7 +3242,7 @@ export const get61 = oc .output(zGetWorkspacesCurrentSkillsBySkillIdExportResponse) export const export2 = { - get: get61, + get: get64, } export const post52 = oc @@ -3214,7 +3265,7 @@ export const check = { post: post52, } -export const get62 = oc +export const get65 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3231,10 +3282,10 @@ export const get62 = oc .output(zGetWorkspacesCurrentSkillsBySkillIdFilesContentResponse) export const content = { - get: get62, + get: get65, } -export const get63 = oc +export const get66 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3251,7 +3302,7 @@ export const get63 = oc .output(zGetWorkspacesCurrentSkillsBySkillIdFilesPreviewResponse) export const preview = { - get: get63, + get: get66, } export const patch5 = oc @@ -3314,7 +3365,7 @@ export const publish = { post: post53, } -export const get64 = oc +export const get67 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3326,7 +3377,7 @@ export const get64 = oc .output(zGetWorkspacesCurrentSkillsBySkillIdReferencesResponse) export const references = { - get: get64, + get: get67, } export const post54 = oc @@ -3360,7 +3411,7 @@ export const delete13 = oc .input(z.object({ params: zDeleteWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdPath })) .output(zDeleteWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdResponse) -export const get65 = oc +export const get68 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3389,11 +3440,11 @@ export const patch6 = oc export const byVersionId = { delete: delete13, - get: get65, + get: get68, patch: patch6, } -export const get66 = oc +export const get69 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3405,7 +3456,7 @@ export const get66 = oc .output(zGetWorkspacesCurrentSkillsBySkillIdVersionsResponse) export const versions = { - get: get66, + get: get69, byVersionId, } @@ -3425,7 +3476,7 @@ export const delete14 = oc ) .output(zDeleteWorkspacesCurrentSkillsBySkillIdResponse) -export const get67 = oc +export const get70 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3454,7 +3505,7 @@ export const patch7 = oc export const bySkillId = { delete: delete14, - get: get67, + get: get70, patch: patch7, assist, duplicate, @@ -3466,7 +3517,7 @@ export const bySkillId = { versions, } -export const get68 = oc +export const get71 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3490,7 +3541,7 @@ export const post55 = oc .output(zPostWorkspacesCurrentSkillsResponse) export const skills2 = { - get: get68, + get: get71, post: post55, files, import: import_, @@ -3498,7 +3549,21 @@ export const skills2 = { bySkillId, } -export const get69 = oc +export const get72 = oc + .route({ + inputStructure: 'detailed', + method: 'GET', + operationId: 'getWorkspacesCurrentSummary', + path: '/workspaces/current/summary', + tags: ['console'], + }) + .output(zGetWorkspacesCurrentSummaryResponse) + +export const summary2 = { + get: get72, +} + +export const get73 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3509,7 +3574,7 @@ export const get69 = oc .output(zGetWorkspacesCurrentToolLabelsResponse) export const toolLabels = { - get: get69, + get: get73, } export const post56 = oc @@ -3542,7 +3607,7 @@ export const delete15 = { post: post57, } -export const get70 = oc +export const get74 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3553,11 +3618,11 @@ export const get70 = oc .input(z.object({ query: zGetWorkspacesCurrentToolProviderApiGetQuery })) .output(zGetWorkspacesCurrentToolProviderApiGetResponse) -export const get71 = { - get: get70, +export const get75 = { + get: get74, } -export const get72 = oc +export const get76 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3569,7 +3634,7 @@ export const get72 = oc .output(zGetWorkspacesCurrentToolProviderApiRemoteResponse) export const remote = { - get: get72, + get: get76, } export const post58 = oc @@ -3606,7 +3671,7 @@ export const test = { pre, } -export const get73 = oc +export const get77 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3618,7 +3683,7 @@ export const get73 = oc .output(zGetWorkspacesCurrentToolProviderApiToolsResponse) export const tools = { - get: get73, + get: get77, } export const post60 = oc @@ -3639,7 +3704,7 @@ export const update2 = { export const api = { add, delete: delete15, - get: get71, + get: get75, remote, schema, test, @@ -3667,7 +3732,7 @@ export const add2 = { post: post61, } -export const get74 = oc +export const get78 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3684,10 +3749,10 @@ export const get74 = oc .output(zGetWorkspacesCurrentToolProviderBuiltinByProviderCredentialInfoResponse) export const info = { - get: get74, + get: get78, } -export const get75 = oc +export const get79 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3707,7 +3772,7 @@ export const get75 = oc ) export const byCredentialType = { - get: get75, + get: get79, } export const schema2 = { @@ -3719,7 +3784,7 @@ export const credential = { schema: schema2, } -export const get76 = oc +export const get80 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3736,7 +3801,7 @@ export const get76 = oc .output(zGetWorkspacesCurrentToolProviderBuiltinByProviderCredentialsResponse) export const credentials3 = { - get: get76, + get: get80, } export const post62 = oc @@ -3779,7 +3844,7 @@ export const delete16 = { post: post63, } -export const get77 = oc +export const get81 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3791,10 +3856,10 @@ export const get77 = oc .output(zGetWorkspacesCurrentToolProviderBuiltinByProviderIconResponse) export const icon2 = { - get: get77, + get: get81, } -export const get78 = oc +export const get82 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3806,10 +3871,10 @@ export const get78 = oc .output(zGetWorkspacesCurrentToolProviderBuiltinByProviderInfoResponse) export const info2 = { - get: get78, + get: get82, } -export const get79 = oc +export const get83 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3823,7 +3888,7 @@ export const get79 = oc .output(zGetWorkspacesCurrentToolProviderBuiltinByProviderOauthClientSchemaResponse) export const clientSchema = { - get: get79, + get: get83, } export const delete17 = oc @@ -3841,7 +3906,7 @@ export const delete17 = oc ) .output(zDeleteWorkspacesCurrentToolProviderBuiltinByProviderOauthCustomClientResponse) -export const get80 = oc +export const get84 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3872,7 +3937,7 @@ export const post64 = oc export const customClient = { delete: delete17, - get: get80, + get: get84, post: post64, } @@ -3881,7 +3946,7 @@ export const oauth = { customClient, } -export const get81 = oc +export const get85 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3893,7 +3958,7 @@ export const get81 = oc .output(zGetWorkspacesCurrentToolProviderBuiltinByProviderToolsResponse) export const tools2 = { - get: get81, + get: get85, } export const post65 = oc @@ -3948,7 +4013,7 @@ export const auth = { post: post66, } -export const get82 = oc +export const get86 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3960,14 +4025,14 @@ export const get82 = oc .output(zGetWorkspacesCurrentToolProviderMcpToolsByProviderIdResponse) export const byProviderId = { - get: get82, + get: get86, } export const tools3 = { byProviderId, } -export const get83 = oc +export const get87 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -3979,7 +4044,7 @@ export const get83 = oc .output(zGetWorkspacesCurrentToolProviderMcpUpdateByProviderIdResponse) export const byProviderId2 = { - get: get83, + get: get87, } export const update4 = { @@ -4058,7 +4123,7 @@ export const delete19 = { post: post69, } -export const get84 = oc +export const get88 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4069,11 +4134,11 @@ export const get84 = oc .input(z.object({ query: zGetWorkspacesCurrentToolProviderWorkflowGetQuery.optional() })) .output(zGetWorkspacesCurrentToolProviderWorkflowGetResponse) -export const get85 = { - get: get84, +export const get89 = { + get: get88, } -export const get86 = oc +export const get90 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4085,7 +4150,7 @@ export const get86 = oc .output(zGetWorkspacesCurrentToolProviderWorkflowToolsResponse) export const tools4 = { - get: get86, + get: get90, } export const post70 = oc @@ -4106,7 +4171,7 @@ export const update5 = { export const workflow = { create: create2, delete: delete19, - get: get85, + get: get89, tools: tools4, update: update5, } @@ -4118,7 +4183,7 @@ export const toolProvider = { workflow, } -export const get87 = oc +export const get91 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4130,10 +4195,10 @@ export const get87 = oc .output(zGetWorkspacesCurrentToolProvidersResponse) export const toolProviders = { - get: get87, + get: get91, } -export const get88 = oc +export const get92 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4144,10 +4209,10 @@ export const get88 = oc .output(zGetWorkspacesCurrentToolsApiResponse) export const api2 = { - get: get88, + get: get92, } -export const get89 = oc +export const get93 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4158,10 +4223,10 @@ export const get89 = oc .output(zGetWorkspacesCurrentToolsBuiltinResponse) export const builtin2 = { - get: get89, + get: get93, } -export const get90 = oc +export const get94 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4172,10 +4237,10 @@ export const get90 = oc .output(zGetWorkspacesCurrentToolsMcpResponse) export const mcp2 = { - get: get90, + get: get94, } -export const get91 = oc +export const get95 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4186,7 +4251,7 @@ export const get91 = oc .output(zGetWorkspacesCurrentToolsWorkflowResponse) export const workflow2 = { - get: get91, + get: get95, } export const tools5 = { @@ -4196,7 +4261,7 @@ export const tools5 = { workflow: workflow2, } -export const get92 = oc +export const get96 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4208,13 +4273,13 @@ export const get92 = oc .output(zGetWorkspacesCurrentTriggerProviderByProviderIconResponse) export const icon3 = { - get: get92, + get: get96, } /** * Get info for a trigger provider */ -export const get93 = oc +export const get97 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4227,7 +4292,7 @@ export const get93 = oc .output(zGetWorkspacesCurrentTriggerProviderByProviderInfoResponse) export const info3 = { - get: get93, + get: get97, } /** @@ -4248,7 +4313,7 @@ export const delete20 = oc /** * Get OAuth client configuration for a provider */ -export const get94 = oc +export const get98 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4282,7 +4347,7 @@ export const post71 = oc export const client = { delete: delete20, - get: get94, + get: get98, post: post71, } @@ -4349,7 +4414,7 @@ export const create3 = { /** * Get the request logs for a subscription instance for a trigger provider */ -export const get95 = oc +export const get99 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4370,7 +4435,7 @@ export const get95 = oc ) export const bySubscriptionBuilderId2 = { - get: get95, + get: get99, } export const logs = { @@ -4444,7 +4509,7 @@ export const verifyAndUpdate = { /** * Get a subscription instance for a trigger provider */ -export const get96 = oc +export const get100 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4465,7 +4530,7 @@ export const get96 = oc ) export const bySubscriptionBuilderId5 = { - get: get96, + get: get100, } export const builder = { @@ -4480,7 +4545,7 @@ export const builder = { /** * List all trigger subscriptions for the current tenant's provider */ -export const get97 = oc +export const get101 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4493,13 +4558,13 @@ export const get97 = oc .output(zGetWorkspacesCurrentTriggerProviderByProviderSubscriptionsListResponse) export const list4 = { - get: get97, + get: get101, } /** * Initiate OAuth authorization flow for a trigger provider */ -export const get98 = oc +export const get102 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4516,7 +4581,7 @@ export const get98 = oc .output(zGetWorkspacesCurrentTriggerProviderByProviderSubscriptionsOauthAuthorizeResponse) export const authorize = { - get: get98, + get: get102, } export const oauth3 = { @@ -4633,7 +4698,7 @@ export const triggerProvider = { /** * List all trigger providers for the current tenant */ -export const get99 = oc +export const get103 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4645,21 +4710,10 @@ export const get99 = oc .output(zGetWorkspacesCurrentTriggersResponse) export const triggers = { - get: get99, + get: get103, } -export const post79 = oc - .route({ - inputStructure: 'detailed', - method: 'POST', - operationId: 'postWorkspacesCurrent', - path: '/workspaces/current', - tags: ['console'], - }) - .output(zPostWorkspacesCurrentResponse) - export const current = { - post: post79, agentProvider, agentProviders, agents, @@ -4674,6 +4728,7 @@ export const current = { plugin: plugin2, rbac, skills: skills2, + summary: summary2, toolLabels, toolProvider, toolProviders, @@ -4682,7 +4737,7 @@ export const current = { triggers, } -export const post80 = oc +export const post79 = oc .route({ inputStructure: 'detailed', method: 'POST', @@ -4695,14 +4750,24 @@ export const post80 = oc .output(zPostWorkspacesCustomConfigWebappLogoUploadResponse) export const upload3 = { - post: post80, + post: post79, } export const webappLogo = { upload: upload3, } -export const post81 = oc +export const get104 = oc + .route({ + inputStructure: 'detailed', + method: 'GET', + operationId: 'getWorkspacesCustomConfig', + path: '/workspaces/custom-config', + tags: ['console'], + }) + .output(zGetWorkspacesCustomConfigResponse) + +export const post80 = oc .route({ inputStructure: 'detailed', method: 'POST', @@ -4714,11 +4779,12 @@ export const post81 = oc .output(zPostWorkspacesCustomConfigResponse) export const customConfig = { - post: post81, + get: get104, + post: post80, webappLogo, } -export const post82 = oc +export const post81 = oc .route({ inputStructure: 'detailed', method: 'POST', @@ -4730,10 +4796,10 @@ export const post82 = oc .output(zPostWorkspacesInfoResponse) export const info4 = { - post: post82, + post: post81, } -export const post83 = oc +export const post82 = oc .route({ inputStructure: 'detailed', method: 'POST', @@ -4745,10 +4811,10 @@ export const post83 = oc .output(zPostWorkspacesSwitchResponse) export const switch3 = { - post: post83, + post: post82, } -export const get100 = oc +export const get105 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4760,7 +4826,7 @@ export const get100 = oc .output(zGetWorkspacesByTenantIdModelProvidersByProviderByIconTypeByLangResponse) export const byLang = { - get: get100, + get: get105, } export const byIconType = { @@ -4779,7 +4845,7 @@ export const byTenantId = { modelProviders: modelProviders2, } -export const get101 = oc +export const get106 = oc .route({ inputStructure: 'detailed', method: 'GET', @@ -4790,7 +4856,7 @@ export const get101 = oc .output(zGetWorkspacesResponse) export const workspaces = { - get: get101, + get: get106, current, customConfig, info: info4, diff --git a/packages/contracts/generated/api/console/workspaces/types.gen.ts b/packages/contracts/generated/api/console/workspaces/types.gen.ts index 2ce3299a466..aecd56c6b15 100644 --- a/packages/contracts/generated/api/console/workspaces/types.gen.ts +++ b/packages/contracts/generated/api/console/workspaces/types.gen.ts @@ -8,22 +8,6 @@ export type TenantListResponse = { workspaces: Array } -export type TenantInfoResponse = { - created_at?: number | null - custom_config?: WorkspaceCustomConfigResponse | null - id: string - in_trial?: boolean | null - name?: string | null - next_credit_reset_date?: number | null - plan?: string | null - role?: string | null - status?: string | null - trial_credits?: number | null - trial_credits_exhausted_at?: number | null - trial_credits_used?: number | null - trial_end_reason?: string | null -} - export type AgentProviderResponse = { [key: string]: unknown } @@ -237,6 +221,24 @@ export type ModelProviderListResponse = { data: Array } +export type ModelProviderCreditsResponse = { + exhausted_at: number | null + is_exhausted: boolean + is_unlimited: boolean + next_credit_reset_date: number | null + pool_type: 'paid' | 'trial' | null + quota_limit: number | null + quota_used: number | null + remaining_credits: number | null +} + +export type ModelProviderSummaryListResponse = { + data: Array + plugins: { + [key: string]: ModelProviderPluginSummaryResponse + } +} + export type ModelProviderPaymentCheckoutUrlResponse = { payment_link: string } @@ -427,6 +429,10 @@ export type ParserPluginIdentifiers = { plugin_unique_identifiers: Array } +export type PluginInstalledIdsResponse = { + plugin_ids: Array +} + export type PluginListResponse = { plugins: Array total: number @@ -741,13 +747,6 @@ export type SkillAssistMessagePayload = { target_path?: string | null } -export type SkillAssistHistoryMessagePayload = { - content: string - role: 'assistant' | 'user' - suggested_display_name?: string | null - suggested_name?: string | null -} - export type SkillDraftFileOperationPayload = { content?: string | null expected_updated_at?: number | null @@ -842,6 +841,14 @@ export type SkillVersionUpdatePayload = { version_name?: string | null } +export type CurrentWorkspaceSummaryResponse = { + credits: number | null + id: string + name: string + plan: string | null + role: TenantAccountRole +} + export type ToolLabelListResponse = Array export type ApiToolProviderAddPayload = { @@ -1207,6 +1214,11 @@ export type TriggerOAuthAuthorizeResponse = { export type TriggerProviderListResponse = Array +export type WorkspaceCustomConfigResponse = { + remove_webapp_brand?: boolean | null + replace_webapp_logo?: string | null +} + export type WorkspaceCustomConfigPayload = { remove_webapp_brand?: boolean | null replace_webapp_logo?: string | null @@ -1244,11 +1256,6 @@ export type TenantListItemResponse = { status?: string | null } -export type WorkspaceCustomConfigResponse = { - remove_webapp_brand?: boolean | null - replace_webapp_logo?: string | null -} - export type AgentSkillBindingItemResponse = { description: string display_name: string @@ -1413,6 +1420,30 @@ export type ProviderResponse = { tenant_id: string } +export type ModelProviderSummaryResponse = { + configurate_methods: Array + custom_configuration: ModelProviderCustomConfigurationSummaryResponse + description?: I18nObject | null + icon_small?: I18nObject | null + icon_small_dark?: I18nObject | null + is_configured: boolean + label: I18nObject + plugin_id: string + preferred_provider_type: ProviderType + provider: string + supported_model_types: Array + system_configuration: ModelProviderSystemConfigurationSummaryResponse +} + +export type ModelProviderPluginSummaryResponse = { + installation_id: string + plugin_id: string + plugin_unique_identifier: string + runtime_type: string + source: PluginInstallationSource + version: string +} + export type ModelType = 'llm' | 'moderation' | 'rerank' | 'speech2text' | 'text-embedding' | 'tts' export type ModelWithProviderEntityResponse = { @@ -1748,6 +1779,13 @@ export type SkillAssistAttachmentPayload = { tool_file_id: string } +export type SkillAssistHistoryMessagePayload = { + content: string + role: 'assistant' | 'user' + suggested_display_name?: string | null + suggested_name?: string | null +} + export type SkillAssistModelPayload = { model: string model_settings?: { @@ -1810,6 +1848,8 @@ export type SkillReferenceResponse = { workflow_version?: string | null } +export type TenantAccountRole = 'admin' | 'dataset_operator' | 'editor' | 'normal' | 'owner' + export type ToolLabel = { icon: string label: I18nObject @@ -1969,6 +2009,22 @@ export type TriggerProviderSubscriptionApiEntity = { workflows_in_use: number } +export type TenantInfoResponse = { + created_at?: number | null + custom_config?: WorkspaceCustomConfigResponse | null + id: string + in_trial?: boolean | null + name?: string | null + next_credit_reset_date?: number | null + plan?: string | null + role?: string | null + status?: string | null + trial_credits?: number | null + trial_credits_exhausted_at?: number | null + trial_credits_used?: number | null + trial_end_reason?: string | null +} + export type PluginDependencyType = 'github' | 'marketplace' | 'package' export type Github = { @@ -2037,6 +2093,21 @@ export type SystemConfigurationResponse = { quota_configurations?: Array } +export type ModelProviderCustomConfigurationSummaryResponse = { + available_credentials: Array + current_credential_id?: string | null + current_credential_name?: string | null + current_credential_usable: boolean + has_custom_models: boolean + status: CustomConfigurationStatus +} + +export type ModelProviderSystemConfigurationSummaryResponse = { + enabled: boolean +} + +export type PluginInstallationSource = 'github' | 'marketplace' | 'package' | 'remote' + export type ModelFeature = | 'agent-thought' | 'audio' @@ -2207,8 +2278,6 @@ export type PluginInstallTaskPluginStatus = { export type PluginInstallTaskStatus = 'failed' | 'pending' | 'running' | 'success' -export type PluginInstallationSource = 'github' | 'marketplace' | 'package' | 'remote' - export type PluginDeclarationResponse = { agent_strategy?: { [key: string]: unknown @@ -2746,20 +2815,6 @@ export type GetWorkspacesResponses = { export type GetWorkspacesResponse = GetWorkspacesResponses[keyof GetWorkspacesResponses] -export type PostWorkspacesCurrentData = { - body?: never - path?: never - query?: never - url: '/workspaces/current' -} - -export type PostWorkspacesCurrentResponses = { - 200: TenantInfoResponse -} - -export type PostWorkspacesCurrentResponse = - PostWorkspacesCurrentResponses[keyof PostWorkspacesCurrentResponses] - export type GetWorkspacesCurrentAgentProviderByProviderNameData = { body?: never path: { @@ -3377,6 +3432,34 @@ export type GetWorkspacesCurrentModelProvidersResponses = { export type GetWorkspacesCurrentModelProvidersResponse = GetWorkspacesCurrentModelProvidersResponses[keyof GetWorkspacesCurrentModelProvidersResponses] +export type GetWorkspacesCurrentModelProvidersCreditsData = { + body?: never + path?: never + query?: never + url: '/workspaces/current/model-providers/credits' +} + +export type GetWorkspacesCurrentModelProvidersCreditsResponses = { + 200: ModelProviderCreditsResponse +} + +export type GetWorkspacesCurrentModelProvidersCreditsResponse = + GetWorkspacesCurrentModelProvidersCreditsResponses[keyof GetWorkspacesCurrentModelProvidersCreditsResponses] + +export type GetWorkspacesCurrentModelProvidersSummaryData = { + body?: never + path?: never + query?: never + url: '/workspaces/current/model-providers/summary' +} + +export type GetWorkspacesCurrentModelProvidersSummaryResponses = { + 200: ModelProviderSummaryListResponse +} + +export type GetWorkspacesCurrentModelProvidersSummaryResponse = + GetWorkspacesCurrentModelProvidersSummaryResponses[keyof GetWorkspacesCurrentModelProvidersSummaryResponses] + export type GetWorkspacesCurrentModelProvidersByProviderCheckoutUrlData = { body?: never path: { @@ -3923,6 +4006,22 @@ export type PostWorkspacesCurrentPluginInstallPkgResponses = { export type PostWorkspacesCurrentPluginInstallPkgResponse = PostWorkspacesCurrentPluginInstallPkgResponses[keyof PostWorkspacesCurrentPluginInstallPkgResponses] +export type GetWorkspacesCurrentPluginInstalledIdsData = { + body?: never + path?: never + query: { + category: 'agent-strategy' | 'datasource' | 'extension' | 'model' | 'tool' | 'trigger' + } + url: '/workspaces/current/plugin/installed-ids' +} + +export type GetWorkspacesCurrentPluginInstalledIdsResponses = { + 200: PluginInstalledIdsResponse +} + +export type GetWorkspacesCurrentPluginInstalledIdsResponse = + GetWorkspacesCurrentPluginInstalledIdsResponses[keyof GetWorkspacesCurrentPluginInstalledIdsResponses] + export type GetWorkspacesCurrentPluginListData = { body?: never path?: never @@ -4236,8 +4335,11 @@ export type GetWorkspacesCurrentPluginByCategoryListData = { category: string } query?: { + language?: 'en_US' | 'ja_JP' | 'pt_BR' | 'zh_Hans' page?: number page_size?: number + query?: string + tags?: Array } url: '/workspaces/current/plugin/{category}/list' } @@ -5353,6 +5455,24 @@ export type PatchWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdResponses = export type PatchWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdResponse = PatchWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdResponses[keyof PatchWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdResponses] +export type GetWorkspacesCurrentSummaryData = { + body?: never + path?: never + query?: never + url: '/workspaces/current/summary' +} + +export type GetWorkspacesCurrentSummaryErrors = { + 409: unknown +} + +export type GetWorkspacesCurrentSummaryResponses = { + 200: CurrentWorkspaceSummaryResponse +} + +export type GetWorkspacesCurrentSummaryResponse = + GetWorkspacesCurrentSummaryResponses[keyof GetWorkspacesCurrentSummaryResponses] + export type GetWorkspacesCurrentToolLabelsData = { body?: never path?: never @@ -6252,6 +6372,20 @@ export type GetWorkspacesCurrentTriggersResponses = { export type GetWorkspacesCurrentTriggersResponse = GetWorkspacesCurrentTriggersResponses[keyof GetWorkspacesCurrentTriggersResponses] +export type GetWorkspacesCustomConfigData = { + body?: never + path?: never + query?: never + url: '/workspaces/custom-config' +} + +export type GetWorkspacesCustomConfigResponses = { + 200: WorkspaceCustomConfigResponse +} + +export type GetWorkspacesCustomConfigResponse = + GetWorkspacesCustomConfigResponses[keyof GetWorkspacesCustomConfigResponses] + export type PostWorkspacesCustomConfigData = { body: WorkspaceCustomConfigPayload path?: never diff --git a/packages/contracts/generated/api/console/workspaces/zod.gen.ts b/packages/contracts/generated/api/console/workspaces/zod.gen.ts index d5f2cfcbd2b..b25b364d059 100644 --- a/packages/contracts/generated/api/console/workspaces/zod.gen.ts +++ b/packages/contracts/generated/api/console/workspaces/zod.gen.ts @@ -165,6 +165,20 @@ export const zMemberRoleUpdatePayload = z.object({ role: z.string(), }) +/** + * ModelProviderCreditsResponse + */ +export const zModelProviderCreditsResponse = z.object({ + exhausted_at: z.int().nullable(), + is_exhausted: z.boolean(), + is_unlimited: z.boolean(), + next_credit_reset_date: z.int().nullable(), + pool_type: z.enum(['paid', 'trial']).nullable(), + quota_limit: z.int().nullable(), + quota_used: z.int().nullable(), + remaining_credits: z.int().nullable(), +}) + /** * ModelProviderPaymentCheckoutUrlResponse */ @@ -290,6 +304,13 @@ export const zParserPluginIdentifiers = z.object({ plugin_unique_identifiers: z.array(z.string()), }) +/** + * PluginInstalledIdsResponse + */ +export const zPluginInstalledIdsResponse = z.object({ + plugin_ids: z.array(z.string()), +}) + /** * ParserLatest */ @@ -723,6 +744,14 @@ export const zTriggerProviderErrorResponse = z.object({ error: z.string(), }) +/** + * WorkspaceCustomConfigResponse + */ +export const zWorkspaceCustomConfigResponse = z.object({ + remove_webapp_brand: z.boolean().nullish(), + replace_webapp_logo: z.string().nullish(), +}) + /** * WorkspaceCustomConfigPayload */ @@ -772,49 +801,6 @@ export const zTenantListResponse = z.object({ workspaces: z.array(zTenantListItemResponse), }) -/** - * WorkspaceCustomConfigResponse - */ -export const zWorkspaceCustomConfigResponse = z.object({ - remove_webapp_brand: z.boolean().nullish(), - replace_webapp_logo: z.string().nullish(), -}) - -/** - * TenantInfoResponse - */ -export const zTenantInfoResponse = z.object({ - created_at: z.int().nullish(), - custom_config: zWorkspaceCustomConfigResponse.nullish(), - id: z.string(), - in_trial: z.boolean().nullish(), - name: z.string().nullish(), - next_credit_reset_date: z.int().nullish(), - plan: z.string().nullish(), - role: z.string().nullish(), - status: z.string().nullish(), - trial_credits: z.int().nullish(), - trial_credits_exhausted_at: z.int().nullish(), - trial_credits_used: z.int().nullish(), - trial_end_reason: z.string().nullish(), -}) - -/** - * WorkspaceTenantResultResponse - */ -export const zWorkspaceTenantResultResponse = z.object({ - result: z.string(), - tenant: zTenantInfoResponse, -}) - -/** - * SwitchWorkspaceResponse - */ -export const zSwitchWorkspaceResponse = z.object({ - new_tenant: zTenantInfoResponse, - result: z.string(), -}) - /** * AgentSkillBindingItemResponse */ @@ -1513,6 +1499,16 @@ export const zSkillAssistAttachmentPayload = z.object({ tool_file_id: z.string().min(1), }) +/** + * SkillAssistHistoryMessagePayload + */ +export const zSkillAssistHistoryMessagePayload = z.object({ + content: z.string().min(1).max(8000), + role: z.enum(['assistant', 'user']), + suggested_display_name: z.string().max(128).nullish(), + suggested_name: z.string().max(128).nullish(), +}) + /** * SkillAssistModelPayload */ @@ -1528,13 +1524,6 @@ export const zSkillAssistModelPayload = z.object({ * * One user message and optional uploaded context for the Skill Authoring assistant. */ -export const zSkillAssistHistoryMessagePayload = z.object({ - content: z.string().min(1).max(8000), - role: z.enum(['assistant', 'user']), - suggested_display_name: z.string().max(128).nullish(), - suggested_name: z.string().max(128).nullish(), -}) - export const zSkillAssistMessagePayload = z.object({ attachments: z.array(zSkillAssistAttachmentPayload).max(10).optional(), history: z.array(zSkillAssistHistoryMessagePayload).max(20).optional(), @@ -1615,6 +1604,22 @@ export const zSkillReferenceListResponse = z.object({ data: z.array(zSkillReferenceResponse).optional(), }) +/** + * TenantAccountRole + */ +export const zTenantAccountRole = z.enum(['admin', 'dataset_operator', 'editor', 'normal', 'owner']) + +/** + * CurrentWorkspaceSummaryResponse + */ +export const zCurrentWorkspaceSummaryResponse = z.object({ + credits: z.int().nullable(), + id: z.string(), + name: z.string(), + plan: z.string().nullable(), + role: zTenantAccountRole, +}) + /** * ToolEmojiIcon */ @@ -1924,6 +1929,41 @@ export const zTriggerProviderSubscriptionListResponse = z.array( zTriggerProviderSubscriptionApiEntity, ) +/** + * TenantInfoResponse + */ +export const zTenantInfoResponse = z.object({ + created_at: z.int().nullish(), + custom_config: zWorkspaceCustomConfigResponse.nullish(), + id: z.string(), + in_trial: z.boolean().nullish(), + name: z.string().nullish(), + next_credit_reset_date: z.int().nullish(), + plan: z.string().nullish(), + role: z.string().nullish(), + status: z.string().nullish(), + trial_credits: z.int().nullish(), + trial_credits_exhausted_at: z.int().nullish(), + trial_credits_used: z.int().nullish(), + trial_end_reason: z.string().nullish(), +}) + +/** + * WorkspaceTenantResultResponse + */ +export const zWorkspaceTenantResultResponse = z.object({ + result: z.string(), + tenant: zTenantInfoResponse, +}) + +/** + * SwitchWorkspaceResponse + */ +export const zSwitchWorkspaceResponse = z.object({ + new_tenant: zTenantInfoResponse, + result: z.string(), +}) + /** * PluginDependencyType */ @@ -1983,6 +2023,30 @@ export const zConfigurateMethod = z.enum(['customizable-model', 'predefined-mode */ export const zProviderType = z.enum(['custom', 'system']) +/** + * ModelProviderSystemConfigurationSummaryResponse + */ +export const zModelProviderSystemConfigurationSummaryResponse = z.object({ + enabled: z.boolean(), +}) + +/** + * PluginInstallationSource + */ +export const zPluginInstallationSource = z.enum(['github', 'marketplace', 'package', 'remote']) + +/** + * ModelProviderPluginSummaryResponse + */ +export const zModelProviderPluginSummaryResponse = z.object({ + installation_id: z.string(), + plugin_id: z.string(), + plugin_unique_identifier: z.string(), + runtime_type: z.string(), + source: zPluginInstallationSource, + version: z.string(), +}) + /** * ModelFeature * @@ -2173,6 +2237,46 @@ export const zAvailableModelListResponse = z.object({ data: z.array(zProviderWithModelsResponse), }) +/** + * ModelProviderCustomConfigurationSummaryResponse + */ +export const zModelProviderCustomConfigurationSummaryResponse = z.object({ + available_credentials: z.array(zCredentialConfiguration), + current_credential_id: z.string().nullish(), + current_credential_name: z.string().nullish(), + current_credential_usable: z.boolean(), + has_custom_models: z.boolean(), + status: zCustomConfigurationStatus, +}) + +/** + * ModelProviderSummaryResponse + * + * Fields required to render the collapsed model-provider list. + */ +export const zModelProviderSummaryResponse = z.object({ + configurate_methods: z.array(zConfigurateMethod), + custom_configuration: zModelProviderCustomConfigurationSummaryResponse, + description: zI18nObject.nullish(), + icon_small: zI18nObject.nullish(), + icon_small_dark: zI18nObject.nullish(), + is_configured: z.boolean(), + label: zI18nObject, + plugin_id: z.string(), + preferred_provider_type: zProviderType, + provider: z.string(), + supported_model_types: z.array(zModelType), + system_configuration: zModelProviderSystemConfigurationSummaryResponse, +}) + +/** + * ModelProviderSummaryListResponse + */ +export const zModelProviderSummaryListResponse = z.object({ + data: z.array(zModelProviderSummaryResponse), + plugins: z.record(z.string(), zModelProviderPluginSummaryResponse), +}) + /** * TenantPluginAutoUpgradeStrategySetting */ @@ -2318,11 +2422,6 @@ export const zPluginTaskResponse = z.object({ task: zPluginInstallTask, }) -/** - * PluginInstallationSource - */ -export const zPluginInstallationSource = z.enum(['github', 'marketplace', 'package', 'remote']) - /** * PluginBundleDependencyType */ @@ -3836,11 +3935,6 @@ export const zAccountWithRoleListResponseWritable = z.object({ */ export const zGetWorkspacesResponse = zTenantListResponse -/** - * Success - */ -export const zPostWorkspacesCurrentResponse = zTenantInfoResponse - export const zGetWorkspacesCurrentAgentProviderByProviderNamePath = z.object({ provider_name: z.string(), }) @@ -4149,6 +4243,16 @@ export const zGetWorkspacesCurrentModelProvidersQuery = z.object({ */ export const zGetWorkspacesCurrentModelProvidersResponse = zModelProviderListResponse +/** + * Model provider credits retrieved successfully + */ +export const zGetWorkspacesCurrentModelProvidersCreditsResponse = zModelProviderCreditsResponse + +/** + * Model provider summaries retrieved successfully + */ +export const zGetWorkspacesCurrentModelProvidersSummaryResponse = zModelProviderSummaryListResponse + export const zGetWorkspacesCurrentModelProvidersByProviderCheckoutUrlPath = z.object({ provider: z.string(), }) @@ -4524,6 +4628,15 @@ export const zPostWorkspacesCurrentPluginInstallPkgBody = zParserPluginIdentifie */ export const zPostWorkspacesCurrentPluginInstallPkgResponse = zPluginInstallTaskStartResponse +export const zGetWorkspacesCurrentPluginInstalledIdsQuery = z.object({ + category: z.enum(['agent-strategy', 'datasource', 'extension', 'model', 'tool', 'trigger']), +}) + +/** + * Success + */ +export const zGetWorkspacesCurrentPluginInstalledIdsResponse = zPluginInstalledIdsResponse + export const zGetWorkspacesCurrentPluginListQuery = z.object({ page: z.int().gte(1).optional().default(1), page_size: z.int().gte(1).lte(256).optional().default(256), @@ -4694,8 +4807,11 @@ export const zGetWorkspacesCurrentPluginByCategoryListPath = z.object({ }) export const zGetWorkspacesCurrentPluginByCategoryListQuery = z.object({ + language: z.enum(['en_US', 'ja_JP', 'pt_BR', 'zh_Hans']).optional().default('en_US'), page: z.int().gte(1).optional().default(1), page_size: z.int().gte(1).lte(256).optional().default(256), + query: z.string().max(256).optional().default(''), + tags: z.array(z.string()).max(128).optional(), }) /** @@ -5387,6 +5503,11 @@ export const zPatchWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdPath = z.o export const zPatchWorkspacesCurrentSkillsBySkillIdVersionsByVersionIdResponse = zSkillVersionResponse +/** + * Success + */ +export const zGetWorkspacesCurrentSummaryResponse = zCurrentWorkspaceSummaryResponse + /** * Tool labels retrieved successfully */ @@ -5940,6 +6061,11 @@ export const zPostWorkspacesCurrentTriggerProviderBySubscriptionIdSubscriptionsU */ export const zGetWorkspacesCurrentTriggersResponse = zTriggerProviderListResponse +/** + * Success + */ +export const zGetWorkspacesCustomConfigResponse = zWorkspaceCustomConfigResponse + export const zPostWorkspacesCustomConfigBody = zWorkspaceCustomConfigPayload /**