Compare commits

...
73 changed files with 10209 additions and 8103 deletions
+1 -1
View File
@@ -83,7 +83,7 @@
"@napi-rs/keyring": "catalog:",
"@orpc/client": "catalog:",
"@orpc/contract": "catalog:",
"@orpc/openapi-client": "catalog:",
"@orpc/openapi": "catalog:",
"cli-table3": "catalog:",
"eventsource-parser": "catalog:",
"js-yaml": "catalog:",
+1 -1
View File
@@ -313,7 +313,7 @@ export function createHttpClient(opts: ClientOptions): HttpClient {
// Low-level entrypoint for oRPC's OpenAPILink: executes an already-built, absolute-URL
// Request through the same transport (UA+bearer hooks, retry, timeout, error-map) while
// skipping joinURL. Policy comes from the client instance defaults — there is no per-call
// override, so this stays a drop-in for OpenAPILink's `(req, init) => Promise<Response>`.
// override, so the oRPC wrapper can adapt the fetch callback into this Request entrypoint.
// Returns the raw Response for every status; the oRPC fetch wrapper (orpc.ts) inspects the
// status and raises classifyResponse for non-2xx, so error mapping stays in one place.
const requestFetch = (req: Request, init?: RequestInit): Promise<Response> => {
+17 -6
View File
@@ -1,15 +1,24 @@
import type { ContractRouterClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi-client'
import type { RouterContractClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi'
import type { HttpClient } from './types.js'
import { contract } from '@dify/contracts/api/openapi/orpc.gen'
import { createORPCClient } from '@orpc/client'
import { OpenAPILink } from '@orpc/openapi-client/fetch'
import { OpenAPILink } from '@orpc/openapi/fetch'
import { isBaseError, unknownError } from '@/errors/base'
import { classifyResponse } from './error-mapper.js'
// Contract-typed oRPC client for the public OpenAPI surface. `JsonifiedClient` reshapes the
// contract types to what survives JSON transport (e.g. Date -> string), matching the wire.
export type OpenApiClient = JsonifiedClient<ContractRouterClient<typeof contract>>
export type OpenApiClient = JsonifiedClient<RouterContractClient<typeof contract>>
const openApiLinkUrl = (baseURL: string) => {
const url = new URL(baseURL)
return {
origin: url.origin,
url: `${url.pathname}${url.search}` as `/${string}`,
}
}
// An oRPC client routed through the CLI's HttpClient, so every call reuses the one transport
// policy (UA+bearer, retry, timeout). Errors become the CLI's model at the two transport seams,
@@ -18,9 +27,11 @@ export type OpenApiClient = JsonifiedClient<ContractRouterClient<typeof contract
// oRPC to decode only 2xx responses;
// - link wrapper: the one residual throw (a 2xx body oRPC can't decode) -> mapOrpcError.
export function createOpenApiClient(http: HttpClient): OpenApiClient {
const linkUrl = openApiLinkUrl(http.baseURL)
const link = new OpenAPILink(contract, {
url: http.baseURL,
fetch: async (req, init) => {
...linkUrl,
fetch: async (url, init) => {
const req = new Request(url, init)
const res = await http.request(req, init)
if (!res.ok)
throw await classifyResponse(req, res)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -47,25 +48,29 @@ import {
* Get account avatar url
*/
export const get = oc
.route({
description: 'Get account avatar url',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountAvatar',
path: '/account/avatar',
tags: ['console'],
})
.meta(
openapi({
description: 'Get account avatar url',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountAvatar',
path: '/account/avatar',
tags: ['console'],
}),
)
.input(z.object({ query: zGetAccountAvatarQuery }))
.output(zGetAccountAvatarResponse)
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountAvatar',
path: '/account/avatar',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountAvatar',
path: '/account/avatar',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountAvatarBody }))
.output(zPostAccountAvatarResponse)
@@ -75,13 +80,15 @@ export const avatar = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmailCheckEmailUnique',
path: '/account/change-email/check-email-unique',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmailCheckEmailUnique',
path: '/account/change-email/check-email-unique',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountChangeEmailCheckEmailUniqueBody }))
.output(zPostAccountChangeEmailCheckEmailUniqueResponse)
@@ -90,13 +97,15 @@ export const checkEmailUnique = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmailReset',
path: '/account/change-email/reset',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmailReset',
path: '/account/change-email/reset',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountChangeEmailResetBody }))
.output(zPostAccountChangeEmailResetResponse)
@@ -105,13 +114,15 @@ export const reset = {
}
export const post4 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmailValidity',
path: '/account/change-email/validity',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmailValidity',
path: '/account/change-email/validity',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountChangeEmailValidityBody }))
.output(zPostAccountChangeEmailValidityResponse)
@@ -120,13 +131,15 @@ export const validity = {
}
export const post5 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmail',
path: '/account/change-email',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountChangeEmail',
path: '/account/change-email',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountChangeEmailBody }))
.output(zPostAccountChangeEmailResponse)
@@ -138,13 +151,15 @@ export const changeEmail = {
}
export const post6 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountDeleteFeedback',
path: '/account/delete/feedback',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountDeleteFeedback',
path: '/account/delete/feedback',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountDeleteFeedbackBody }))
.output(zPostAccountDeleteFeedbackResponse)
@@ -153,13 +168,15 @@ export const feedback = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountDeleteVerify',
path: '/account/delete/verify',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountDeleteVerify',
path: '/account/delete/verify',
tags: ['console'],
}),
)
.output(zGetAccountDeleteVerifyResponse)
export const verify = {
@@ -167,13 +184,15 @@ export const verify = {
}
export const post7 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountDelete',
path: '/account/delete',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountDelete',
path: '/account/delete',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountDeleteBody }))
.output(zPostAccountDeleteResponse)
@@ -184,13 +203,15 @@ export const delete_ = {
}
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountEducationAutocomplete',
path: '/account/education/autocomplete',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountEducationAutocomplete',
path: '/account/education/autocomplete',
tags: ['console'],
}),
)
.input(z.object({ query: zGetAccountEducationAutocompleteQuery }))
.output(zGetAccountEducationAutocompleteResponse)
@@ -199,13 +220,15 @@ export const autocomplete = {
}
export const get4 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountEducationVerify',
path: '/account/education/verify',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountEducationVerify',
path: '/account/education/verify',
tags: ['console'],
}),
)
.output(zGetAccountEducationVerifyResponse)
export const verify2 = {
@@ -213,23 +236,27 @@ export const verify2 = {
}
export const get5 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountEducation',
path: '/account/education',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountEducation',
path: '/account/education',
tags: ['console'],
}),
)
.output(zGetAccountEducationResponse)
export const post8 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountEducation',
path: '/account/education',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountEducation',
path: '/account/education',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountEducationBody }))
.output(zPostAccountEducationResponse)
@@ -241,13 +268,15 @@ export const education = {
}
export const post9 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountInit',
path: '/account/init',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountInit',
path: '/account/init',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountInitBody }))
.output(zPostAccountInitResponse)
@@ -256,13 +285,15 @@ export const init = {
}
export const get6 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountIntegrates',
path: '/account/integrates',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountIntegrates',
path: '/account/integrates',
tags: ['console'],
}),
)
.output(zGetAccountIntegratesResponse)
export const integrates = {
@@ -270,13 +301,15 @@ export const integrates = {
}
export const post10 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountInterfaceLanguage',
path: '/account/interface-language',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountInterfaceLanguage',
path: '/account/interface-language',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountInterfaceLanguageBody }))
.output(zPostAccountInterfaceLanguageResponse)
@@ -285,13 +318,15 @@ export const interfaceLanguage = {
}
export const post11 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountInterfaceTheme',
path: '/account/interface-theme',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountInterfaceTheme',
path: '/account/interface-theme',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountInterfaceThemeBody }))
.output(zPostAccountInterfaceThemeResponse)
@@ -300,13 +335,15 @@ export const interfaceTheme = {
}
export const post12 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountName',
path: '/account/name',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountName',
path: '/account/name',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountNameBody }))
.output(zPostAccountNameResponse)
@@ -315,13 +352,15 @@ export const name = {
}
export const post13 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountPassword',
path: '/account/password',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountPassword',
path: '/account/password',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountPasswordBody }))
.output(zPostAccountPasswordResponse)
@@ -330,13 +369,15 @@ export const password = {
}
export const get7 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountProfile',
path: '/account/profile',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountProfile',
path: '/account/profile',
tags: ['console'],
}),
)
.output(zGetAccountProfileResponse)
export const profile = {
@@ -344,13 +385,15 @@ export const profile = {
}
export const post14 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountTimezone',
path: '/account/timezone',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAccountTimezone',
path: '/account/timezone',
tags: ['console'],
}),
)
.input(z.object({ body: zPostAccountTimezoneBody }))
.output(zPostAccountTimezoneResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -14,14 +15,16 @@ import {
* Check if activation token is valid
*/
export const get = oc
.route({
description: 'Check if activation token is valid',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getActivateCheck',
path: '/activate/check',
tags: ['console'],
})
.meta(
openapi({
description: 'Check if activation token is valid',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getActivateCheck',
path: '/activate/check',
tags: ['console'],
}),
)
.input(z.object({ query: zGetActivateCheckQuery }))
.output(zGetActivateCheckResponse)
@@ -33,14 +36,16 @@ export const check = {
* Activate account with invitation token
*/
export const post = oc
.route({
description: 'Activate account with invitation token',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postActivate',
path: '/activate',
tags: ['console'],
})
.meta(
openapi({
description: 'Activate account with invitation token',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postActivate',
path: '/activate',
tags: ['console'],
}),
)
.input(z.object({ body: zPostActivateBody }))
.output(zPostActivateResponse)
File diff suppressed because it is too large Load Diff
@@ -1,19 +1,22 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zGetAllWorkspacesQuery, zGetAllWorkspacesResponse } from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAllWorkspaces',
path: '/all-workspaces',
tags: ['console'],
})
.input(z.object({ query: zGetAllWorkspacesQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAllWorkspaces',
path: '/all-workspaces',
tags: ['console'],
}),
)
.input(z.object({ query: zGetAllWorkspacesQuery.optional() }).optional())
.output(zGetAllWorkspacesResponse)
export const allWorkspaces = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -20,15 +21,17 @@ import {
* Delete API-based extension
*/
export const delete_ = oc
.route({
description: 'Delete API-based extension',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteApiBasedExtensionById',
path: '/api-based-extension/{id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
description: 'Delete API-based extension',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteApiBasedExtensionById',
path: '/api-based-extension/{id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteApiBasedExtensionByIdPath }))
.output(zDeleteApiBasedExtensionByIdResponse)
@@ -36,14 +39,16 @@ export const delete_ = oc
* Get API-based extension by ID
*/
export const get = oc
.route({
description: 'Get API-based extension by ID',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApiBasedExtensionById',
path: '/api-based-extension/{id}',
tags: ['console'],
})
.meta(
openapi({
description: 'Get API-based extension by ID',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApiBasedExtensionById',
path: '/api-based-extension/{id}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetApiBasedExtensionByIdPath }))
.output(zGetApiBasedExtensionByIdResponse)
@@ -51,14 +56,16 @@ export const get = oc
* Update API-based extension
*/
export const post = oc
.route({
description: 'Update API-based extension',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postApiBasedExtensionById',
path: '/api-based-extension/{id}',
tags: ['console'],
})
.meta(
openapi({
description: 'Update API-based extension',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postApiBasedExtensionById',
path: '/api-based-extension/{id}',
tags: ['console'],
}),
)
.input(z.object({ body: zPostApiBasedExtensionByIdBody, params: zPostApiBasedExtensionByIdPath }))
.output(zPostApiBasedExtensionByIdResponse)
@@ -72,29 +79,33 @@ export const byId = {
* Get all API-based extensions for current tenant
*/
export const get2 = oc
.route({
description: 'Get all API-based extensions for current tenant',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApiBasedExtension',
path: '/api-based-extension',
tags: ['console'],
})
.meta(
openapi({
description: 'Get all API-based extensions for current tenant',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApiBasedExtension',
path: '/api-based-extension',
tags: ['console'],
}),
)
.output(zGetApiBasedExtensionResponse)
/**
* Create a new API-based extension
*/
export const post2 = oc
.route({
description: 'Create a new API-based extension',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postApiBasedExtension',
path: '/api-based-extension',
successStatus: 201,
tags: ['console'],
})
.meta(
openapi({
description: 'Create a new API-based extension',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postApiBasedExtension',
path: '/api-based-extension',
successStatus: 201,
tags: ['console'],
}),
)
.input(z.object({ body: zPostApiBasedExtensionBody }))
.output(zPostApiBasedExtensionResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -12,13 +13,15 @@ import {
} from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postApiKeyAuthDataSourceBinding',
path: '/api-key-auth/data-source/binding',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postApiKeyAuthDataSourceBinding',
path: '/api-key-auth/data-source/binding',
tags: ['console'],
}),
)
.input(z.object({ body: zPostApiKeyAuthDataSourceBindingBody }))
.output(zPostApiKeyAuthDataSourceBindingResponse)
@@ -27,14 +30,16 @@ export const binding = {
}
export const delete_ = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteApiKeyAuthDataSourceByBindingId',
path: '/api-key-auth/data-source/{binding_id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteApiKeyAuthDataSourceByBindingId',
path: '/api-key-auth/data-source/{binding_id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteApiKeyAuthDataSourceByBindingIdPath }))
.output(zDeleteApiKeyAuthDataSourceByBindingIdResponse)
@@ -43,13 +48,15 @@ export const byBindingId = {
}
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApiKeyAuthDataSource',
path: '/api-key-auth/data-source',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApiKeyAuthDataSource',
path: '/api-key-auth/data-source',
tags: ['console'],
}),
)
.output(zGetApiKeyAuthDataSourceResponse)
export const dataSource = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zGetAppDslVersionResponse } from './zod.gen'
@@ -10,15 +11,17 @@ import { zGetAppDslVersionResponse } from './zod.gen'
* Get current app DSL version
*/
export const get = oc
.route({
description: 'Get current app DSL version',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppDslVersion',
path: '/app-dsl-version',
summary: 'Get current app DSL version for workflow clipboard compatibility',
tags: ['console'],
})
.meta(
openapi({
description: 'Get current app DSL version',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppDslVersion',
path: '/app-dsl-version',
summary: 'Get current app DSL version for workflow clipboard compatibility',
tags: ['console'],
}),
)
.output(zGetAppDslVersionResponse)
export const appDslVersion = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zGetAppPromptTemplatesQuery, zGetAppPromptTemplatesResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zGetAppPromptTemplatesQuery, zGetAppPromptTemplatesResponse } from './z
* Get advanced prompt templates based on app mode and model configuration
*/
export const get = oc
.route({
description: 'Get advanced prompt templates based on app mode and model configuration',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppPromptTemplates',
path: '/app/prompt-templates',
tags: ['console'],
})
.meta(
openapi({
description: 'Get advanced prompt templates based on app mode and model configuration',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppPromptTemplates',
path: '/app/prompt-templates',
tags: ['console'],
}),
)
.input(z.object({ query: zGetAppPromptTemplatesQuery }))
.output(zGetAppPromptTemplatesResponse)
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -31,13 +32,15 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAuthPluginDatasourceDefaultList',
path: '/auth/plugin/datasource/default-list',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAuthPluginDatasourceDefaultList',
path: '/auth/plugin/datasource/default-list',
tags: ['console'],
}),
)
.output(zGetAuthPluginDatasourceDefaultListResponse)
export const defaultList = {
@@ -45,13 +48,15 @@ export const defaultList = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAuthPluginDatasourceList',
path: '/auth/plugin/datasource/list',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAuthPluginDatasourceList',
path: '/auth/plugin/datasource/list',
tags: ['console'],
}),
)
.output(zGetAuthPluginDatasourceListResponse)
export const list = {
@@ -59,24 +64,28 @@ export const list = {
}
export const delete_ = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAuthPluginDatasourceByProviderIdCustomClient',
path: '/auth/plugin/datasource/{provider_id}/custom-client',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAuthPluginDatasourceByProviderIdCustomClient',
path: '/auth/plugin/datasource/{provider_id}/custom-client',
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteAuthPluginDatasourceByProviderIdCustomClientPath }))
.output(zDeleteAuthPluginDatasourceByProviderIdCustomClientResponse)
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdCustomClient',
path: '/auth/plugin/datasource/{provider_id}/custom-client',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdCustomClient',
path: '/auth/plugin/datasource/{provider_id}/custom-client',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostAuthPluginDatasourceByProviderIdCustomClientBody,
@@ -91,13 +100,15 @@ export const customClient = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdDefault',
path: '/auth/plugin/datasource/{provider_id}/default',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdDefault',
path: '/auth/plugin/datasource/{provider_id}/default',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostAuthPluginDatasourceByProviderIdDefaultBody,
@@ -111,13 +122,15 @@ export const default_ = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdDelete',
path: '/auth/plugin/datasource/{provider_id}/delete',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdDelete',
path: '/auth/plugin/datasource/{provider_id}/delete',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostAuthPluginDatasourceByProviderIdDeleteBody,
@@ -131,14 +144,16 @@ export const delete2 = {
}
export const post4 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdUpdate',
path: '/auth/plugin/datasource/{provider_id}/update',
successStatus: 201,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdUpdate',
path: '/auth/plugin/datasource/{provider_id}/update',
successStatus: 201,
tags: ['console'],
}),
)
.input(
z.object({
body: zPostAuthPluginDatasourceByProviderIdUpdateBody,
@@ -152,13 +167,15 @@ export const update = {
}
export const post5 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdUpdateName',
path: '/auth/plugin/datasource/{provider_id}/update-name',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderIdUpdateName',
path: '/auth/plugin/datasource/{provider_id}/update-name',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostAuthPluginDatasourceByProviderIdUpdateNameBody,
@@ -172,24 +189,28 @@ export const updateName = {
}
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAuthPluginDatasourceByProviderId',
path: '/auth/plugin/datasource/{provider_id}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAuthPluginDatasourceByProviderId',
path: '/auth/plugin/datasource/{provider_id}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetAuthPluginDatasourceByProviderIdPath }))
.output(zGetAuthPluginDatasourceByProviderIdResponse)
export const post6 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderId',
path: '/auth/plugin/datasource/{provider_id}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAuthPluginDatasourceByProviderId',
path: '/auth/plugin/datasource/{provider_id}',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostAuthPluginDatasourceByProviderIdBody,
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -13,13 +14,15 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getBillingInvoices',
path: '/billing/invoices',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getBillingInvoices',
path: '/billing/invoices',
tags: ['console'],
}),
)
.output(zGetBillingInvoicesResponse)
export const invoices = {
@@ -30,14 +33,16 @@ export const invoices = {
* Sync partner tenants bindings
*/
export const put = oc
.route({
description: 'Sync partner tenants bindings',
inputStructure: 'detailed',
method: 'PUT',
operationId: 'putBillingPartnersByPartnerKeyTenants',
path: '/billing/partners/{partner_key}/tenants',
tags: ['console'],
})
.meta(
openapi({
description: 'Sync partner tenants bindings',
inputStructure: 'detailed',
method: 'PUT',
operationId: 'putBillingPartnersByPartnerKeyTenants',
path: '/billing/partners/{partner_key}/tenants',
tags: ['console'],
}),
)
.input(
z.object({
body: zPutBillingPartnersByPartnerKeyTenantsBody,
@@ -59,13 +64,15 @@ export const partners = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getBillingSubscription',
path: '/billing/subscription',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getBillingSubscription',
path: '/billing/subscription',
tags: ['console'],
}),
)
.input(z.object({ query: zGetBillingSubscriptionQuery }))
.output(zGetBillingSubscriptionResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zGetCodeBasedExtensionQuery, zGetCodeBasedExtensionResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zGetCodeBasedExtensionQuery, zGetCodeBasedExtensionResponse } from './z
* Get code-based extension data by module name
*/
export const get = oc
.route({
description: 'Get code-based extension data by module name',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getCodeBasedExtension',
path: '/code-based-extension',
tags: ['console'],
})
.meta(
openapi({
description: 'Get code-based extension data by module name',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getCodeBasedExtension',
path: '/code-based-extension',
tags: ['console'],
}),
)
.input(z.object({ query: zGetCodeBasedExtensionQuery }))
.output(zGetCodeBasedExtensionResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zGetComplianceDownloadQuery, zGetComplianceDownloadResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zGetComplianceDownloadQuery, zGetComplianceDownloadResponse } from './z
* Get compliance document download link
*/
export const get = oc
.route({
description: 'Get compliance document download link',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getComplianceDownload',
path: '/compliance/download',
tags: ['console'],
})
.meta(
openapi({
description: 'Get compliance document download link',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getComplianceDownload',
path: '/compliance/download',
tags: ['console'],
}),
)
.input(z.object({ query: zGetComplianceDownloadQuery }))
.output(zGetComplianceDownloadResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -13,24 +14,28 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getDataSourceIntegratesByBindingIdByAction',
path: '/data-source/integrates/{binding_id}/{action}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getDataSourceIntegratesByBindingIdByAction',
path: '/data-source/integrates/{binding_id}/{action}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetDataSourceIntegratesByBindingIdByActionPath }))
.output(zGetDataSourceIntegratesByBindingIdByActionResponse)
export const patch = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchDataSourceIntegratesByBindingIdByAction',
path: '/data-source/integrates/{binding_id}/{action}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchDataSourceIntegratesByBindingIdByAction',
path: '/data-source/integrates/{binding_id}/{action}',
tags: ['console'],
}),
)
.input(z.object({ params: zPatchDataSourceIntegratesByBindingIdByActionPath }))
.output(zPatchDataSourceIntegratesByBindingIdByActionResponse)
@@ -44,23 +49,27 @@ export const byBindingId = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getDataSourceIntegrates',
path: '/data-source/integrates',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getDataSourceIntegrates',
path: '/data-source/integrates',
tags: ['console'],
}),
)
.output(zGetDataSourceIntegratesResponse)
export const patch2 = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchDataSourceIntegrates',
path: '/data-source/integrates',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchDataSourceIntegrates',
path: '/data-source/integrates',
tags: ['console'],
}),
)
.output(zPatchDataSourceIntegratesResponse)
export const integrates = {
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -11,13 +12,15 @@ import {
} from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailCodeLoginValidity',
path: '/email-code-login/validity',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailCodeLoginValidity',
path: '/email-code-login/validity',
tags: ['console'],
}),
)
.input(z.object({ body: zPostEmailCodeLoginValidityBody }))
.output(zPostEmailCodeLoginValidityResponse)
@@ -26,13 +29,15 @@ export const validity = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailCodeLogin',
path: '/email-code-login',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailCodeLogin',
path: '/email-code-login',
tags: ['console'],
}),
)
.input(z.object({ body: zPostEmailCodeLoginBody }))
.output(zPostEmailCodeLoginResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -13,13 +14,15 @@ import {
} from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailRegisterSendEmail',
path: '/email-register/send-email',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailRegisterSendEmail',
path: '/email-register/send-email',
tags: ['console'],
}),
)
.input(z.object({ body: zPostEmailRegisterSendEmailBody }))
.output(zPostEmailRegisterSendEmailResponse)
@@ -28,13 +31,15 @@ export const sendEmail = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailRegisterValidity',
path: '/email-register/validity',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailRegisterValidity',
path: '/email-register/validity',
tags: ['console'],
}),
)
.input(z.object({ body: zPostEmailRegisterValidityBody }))
.output(zPostEmailRegisterValidityResponse)
@@ -43,13 +48,15 @@ export const validity = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailRegister',
path: '/email-register',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postEmailRegister',
path: '/email-register',
tags: ['console'],
}),
)
.input(z.object({ body: zPostEmailRegisterBody }))
.output(zPostEmailRegisterResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -15,14 +16,16 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreAppsLearnDify',
path: '/explore/apps/learn-dify',
tags: ['console'],
})
.input(z.object({ query: zGetExploreAppsLearnDifyQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreAppsLearnDify',
path: '/explore/apps/learn-dify',
tags: ['console'],
}),
)
.input(z.object({ query: zGetExploreAppsLearnDifyQuery.optional() }).optional())
.output(zGetExploreAppsLearnDifyResponse)
export const learnDify = {
@@ -30,13 +33,15 @@ export const learnDify = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreAppsByAppId',
path: '/explore/apps/{app_id}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreAppsByAppId',
path: '/explore/apps/{app_id}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetExploreAppsByAppIdPath }))
.output(zGetExploreAppsByAppIdResponse)
@@ -45,14 +50,16 @@ export const byAppId = {
}
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreApps',
path: '/explore/apps',
tags: ['console'],
})
.input(z.object({ query: zGetExploreAppsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreApps',
path: '/explore/apps',
tags: ['console'],
}),
)
.input(z.object({ query: zGetExploreAppsQuery.optional() }).optional())
.output(zGetExploreAppsResponse)
export const apps = {
@@ -65,15 +72,17 @@ export const apps = {
* Get banner list
*/
export const get4 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreBanners',
path: '/explore/banners',
summary: 'Get banner list',
tags: ['default'],
})
.input(z.object({ query: zGetExploreBannersQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getExploreBanners',
path: '/explore/banners',
summary: 'Get banner list',
tags: ['default'],
}),
)
.input(z.object({ query: zGetExploreBannersQuery.optional() }).optional())
.output(zGetExploreBannersResponse)
export const banners = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zGetFeaturesResponse, zGetFeaturesVectorSpaceResponse } from './zod.gen'
@@ -10,15 +11,17 @@ import { zGetFeaturesResponse, zGetFeaturesVectorSpaceResponse } from './zod.gen
* Get vector-space usage and limit for current tenant
*/
export const get = oc
.route({
description: 'Get vector-space usage and limit for current tenant',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFeaturesVectorSpace',
path: '/features/vector-space',
summary: 'Get vector-space usage and limit for current tenant',
tags: ['console'],
})
.meta(
openapi({
description: 'Get vector-space usage and limit for current tenant',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFeaturesVectorSpace',
path: '/features/vector-space',
summary: 'Get vector-space usage and limit for current tenant',
tags: ['console'],
}),
)
.output(zGetFeaturesVectorSpaceResponse)
export const vectorSpace = {
@@ -31,15 +34,17 @@ export const vectorSpace = {
* Get feature configuration for current tenant
*/
export const get2 = oc
.route({
description: 'Get feature configuration for current tenant',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFeatures',
path: '/features',
summary: 'Get feature configuration for current tenant',
tags: ['console'],
})
.meta(
openapi({
description: 'Get feature configuration for current tenant',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFeatures',
path: '/features',
summary: 'Get feature configuration for current tenant',
tags: ['console'],
}),
)
.output(zGetFeaturesResponse)
export const features = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -13,13 +14,15 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFilesSupportType',
path: '/files/support-type',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFilesSupportType',
path: '/files/support-type',
tags: ['console'],
}),
)
.output(zGetFilesSupportTypeResponse)
export const supportType = {
@@ -27,24 +30,28 @@ export const supportType = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFilesUpload',
path: '/files/upload',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFilesUpload',
path: '/files/upload',
tags: ['console'],
}),
)
.output(zGetFilesUploadResponse)
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postFilesUpload',
path: '/files/upload',
successStatus: 201,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postFilesUpload',
path: '/files/upload',
successStatus: 201,
tags: ['console'],
}),
)
.input(z.object({ body: zPostFilesUploadBody }))
.output(zPostFilesUploadResponse)
@@ -54,13 +61,15 @@ export const upload = {
}
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFilesByFileIdPreview',
path: '/files/{file_id}/preview',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFilesByFileIdPreview',
path: '/files/{file_id}/preview',
tags: ['console'],
}),
)
.input(z.object({ params: zGetFilesByFileIdPreviewPath }))
.output(zGetFilesByFileIdPreviewResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -16,14 +17,16 @@ import {
* Reset password with verification token
*/
export const post = oc
.route({
description: 'Reset password with verification token',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postForgotPasswordResets',
path: '/forgot-password/resets',
tags: ['console'],
})
.meta(
openapi({
description: 'Reset password with verification token',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postForgotPasswordResets',
path: '/forgot-password/resets',
tags: ['console'],
}),
)
.input(z.object({ body: zPostForgotPasswordResetsBody }))
.output(zPostForgotPasswordResetsResponse)
@@ -35,14 +38,16 @@ export const resets = {
* Verify password reset code
*/
export const post2 = oc
.route({
description: 'Verify password reset code',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postForgotPasswordValidity',
path: '/forgot-password/validity',
tags: ['console'],
})
.meta(
openapi({
description: 'Verify password reset code',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postForgotPasswordValidity',
path: '/forgot-password/validity',
tags: ['console'],
}),
)
.input(z.object({ body: zPostForgotPasswordValidityBody }))
.output(zPostForgotPasswordValidityResponse)
@@ -54,14 +59,16 @@ export const validity = {
* Send password reset email
*/
export const post3 = oc
.route({
description: 'Send password reset email',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postForgotPassword',
path: '/forgot-password',
tags: ['console'],
})
.meta(
openapi({
description: 'Send password reset email',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postForgotPassword',
path: '/forgot-password',
tags: ['console'],
}),
)
.input(z.object({ body: zPostForgotPasswordBody }))
.output(zPostForgotPasswordResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -17,15 +18,17 @@ import {
* GET /console/api/form/human_input/<form_token>
*/
export const get = oc
.route({
description: 'GET /console/api/form/human_input/<form_token>',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFormHumanInputByFormToken',
path: '/form/human_input/{form_token}',
summary: 'Get human input form definition by form token',
tags: ['console'],
})
.meta(
openapi({
description: 'GET /console/api/form/human_input/<form_token>',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getFormHumanInputByFormToken',
path: '/form/human_input/{form_token}',
summary: 'Get human input form definition by form token',
tags: ['console'],
}),
)
.input(z.object({ params: zGetFormHumanInputByFormTokenPath }))
.output(zGetFormHumanInputByFormTokenResponse)
@@ -43,16 +46,18 @@ export const get = oc
* }
*/
export const post = oc
.route({
description:
'POST /console/api/form/human_input/<form_token>\n\nRequest body:\n{\n "inputs": {\n "content": "User input content"\n },\n "action": "Approve"\n}',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postFormHumanInputByFormToken',
path: '/form/human_input/{form_token}',
summary: 'Submit human input form by form token',
tags: ['console'],
})
.meta(
openapi({
description:
'POST /console/api/form/human_input/<form_token>\n\nRequest body:\n{\n "inputs": {\n "content": "User input content"\n },\n "action": "Approve"\n}',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postFormHumanInputByFormToken',
path: '/form/human_input/{form_token}',
summary: 'Submit human input form by form token',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostFormHumanInputByFormTokenBody,
@@ -1,17 +1,20 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zPostInfoResponse } from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInfo',
path: '/info',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInfo',
path: '/info',
tags: ['console'],
}),
)
.output(zPostInfoResponse)
export const info = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -71,13 +72,15 @@ import {
} from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdAudioToText',
path: '/installed-apps/{installed_app_id}/audio-to-text',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdAudioToText',
path: '/installed-apps/{installed_app_id}/audio-to-text',
tags: ['console'],
}),
)
.input(z.object({ params: zPostInstalledAppsByInstalledAppIdAudioToTextPath }))
.output(zPostInstalledAppsByInstalledAppIdAudioToTextResponse)
@@ -86,13 +89,15 @@ export const audioToText = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdChatMessagesByTaskIdStop',
path: '/installed-apps/{installed_app_id}/chat-messages/{task_id}/stop',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdChatMessagesByTaskIdStop',
path: '/installed-apps/{installed_app_id}/chat-messages/{task_id}/stop',
tags: ['console'],
}),
)
.input(z.object({ params: zPostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopPath }))
.output(zPostInstalledAppsByInstalledAppIdChatMessagesByTaskIdStopResponse)
@@ -105,13 +110,15 @@ export const byTaskId = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdChatMessages',
path: '/installed-apps/{installed_app_id}/chat-messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdChatMessages',
path: '/installed-apps/{installed_app_id}/chat-messages',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdChatMessagesBody,
@@ -126,13 +133,15 @@ export const chatMessages = {
}
export const post4 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStop',
path: '/installed-apps/{installed_app_id}/completion-messages/{task_id}/stop',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStop',
path: '/installed-apps/{installed_app_id}/completion-messages/{task_id}/stop',
tags: ['console'],
}),
)
.input(z.object({ params: zPostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopPath }))
.output(zPostInstalledAppsByInstalledAppIdCompletionMessagesByTaskIdStopResponse)
@@ -145,13 +154,15 @@ export const byTaskId2 = {
}
export const post5 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdCompletionMessages',
path: '/installed-apps/{installed_app_id}/completion-messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdCompletionMessages',
path: '/installed-apps/{installed_app_id}/completion-messages',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdCompletionMessagesBody,
@@ -166,13 +177,15 @@ export const completionMessages = {
}
export const post6 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdConversationsByCIdName',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}/name',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdConversationsByCIdName',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}/name',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdConversationsByCIdNameBody,
@@ -186,13 +199,15 @@ export const name = {
}
export const patch = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchInstalledAppsByInstalledAppIdConversationsByCIdPin',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}/pin',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchInstalledAppsByInstalledAppIdConversationsByCIdPin',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}/pin',
tags: ['console'],
}),
)
.input(z.object({ params: zPatchInstalledAppsByInstalledAppIdConversationsByCIdPinPath }))
.output(zPatchInstalledAppsByInstalledAppIdConversationsByCIdPinResponse)
@@ -201,13 +216,15 @@ export const pin = {
}
export const patch2 = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchInstalledAppsByInstalledAppIdConversationsByCIdUnpin',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}/unpin',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchInstalledAppsByInstalledAppIdConversationsByCIdUnpin',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}/unpin',
tags: ['console'],
}),
)
.input(z.object({ params: zPatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinPath }))
.output(zPatchInstalledAppsByInstalledAppIdConversationsByCIdUnpinResponse)
@@ -216,14 +233,16 @@ export const unpin = {
}
export const delete_ = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteInstalledAppsByInstalledAppIdConversationsByCId',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteInstalledAppsByInstalledAppIdConversationsByCId',
path: '/installed-apps/{installed_app_id}/conversations/{c_id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteInstalledAppsByInstalledAppIdConversationsByCIdPath }))
.output(zDeleteInstalledAppsByInstalledAppIdConversationsByCIdResponse)
@@ -235,13 +254,15 @@ export const byCId = {
}
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdConversations',
path: '/installed-apps/{installed_app_id}/conversations',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdConversations',
path: '/installed-apps/{installed_app_id}/conversations',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetInstalledAppsByInstalledAppIdConversationsPath,
@@ -256,13 +277,15 @@ export const conversations = {
}
export const post7 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacks',
path: '/installed-apps/{installed_app_id}/messages/{message_id}/feedbacks',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacks',
path: '/installed-apps/{installed_app_id}/messages/{message_id}/feedbacks',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdMessagesByMessageIdFeedbacksBody,
@@ -276,13 +299,15 @@ export const feedbacks = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMessagesByMessageIdMoreLikeThis',
path: '/installed-apps/{installed_app_id}/messages/{message_id}/more-like-this',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMessagesByMessageIdMoreLikeThis',
path: '/installed-apps/{installed_app_id}/messages/{message_id}/more-like-this',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetInstalledAppsByInstalledAppIdMessagesByMessageIdMoreLikeThisPath,
@@ -296,13 +321,15 @@ export const moreLikeThis = {
}
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestions',
path: '/installed-apps/{installed_app_id}/messages/{message_id}/suggested-questions',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestions',
path: '/installed-apps/{installed_app_id}/messages/{message_id}/suggested-questions',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetInstalledAppsByInstalledAppIdMessagesByMessageIdSuggestedQuestionsPath,
@@ -321,13 +348,15 @@ export const byMessageId = {
}
export const get4 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMessages',
path: '/installed-apps/{installed_app_id}/messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMessages',
path: '/installed-apps/{installed_app_id}/messages',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetInstalledAppsByInstalledAppIdMessagesPath,
@@ -345,14 +374,16 @@ export const messages = {
* Get app meta
*/
export const get5 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMeta',
path: '/installed-apps/{installed_app_id}/meta',
summary: 'Get app meta',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdMeta',
path: '/installed-apps/{installed_app_id}/meta',
summary: 'Get app meta',
tags: ['console'],
}),
)
.input(z.object({ params: zGetInstalledAppsByInstalledAppIdMetaPath }))
.output(zGetInstalledAppsByInstalledAppIdMetaResponse)
@@ -364,14 +395,16 @@ export const meta = {
* Retrieve app parameters
*/
export const get6 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdParameters',
path: '/installed-apps/{installed_app_id}/parameters',
summary: 'Retrieve app parameters',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdParameters',
path: '/installed-apps/{installed_app_id}/parameters',
summary: 'Retrieve app parameters',
tags: ['console'],
}),
)
.input(z.object({ params: zGetInstalledAppsByInstalledAppIdParametersPath }))
.output(zGetInstalledAppsByInstalledAppIdParametersResponse)
@@ -380,14 +413,16 @@ export const parameters = {
}
export const delete2 = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteInstalledAppsByInstalledAppIdSavedMessagesByMessageId',
path: '/installed-apps/{installed_app_id}/saved-messages/{message_id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteInstalledAppsByInstalledAppIdSavedMessagesByMessageId',
path: '/installed-apps/{installed_app_id}/saved-messages/{message_id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdPath }))
.output(zDeleteInstalledAppsByInstalledAppIdSavedMessagesByMessageIdResponse)
@@ -396,13 +431,15 @@ export const byMessageId2 = {
}
export const get7 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdSavedMessages',
path: '/installed-apps/{installed_app_id}/saved-messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledAppsByInstalledAppIdSavedMessages',
path: '/installed-apps/{installed_app_id}/saved-messages',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetInstalledAppsByInstalledAppIdSavedMessagesPath,
@@ -412,13 +449,15 @@ export const get7 = oc
.output(zGetInstalledAppsByInstalledAppIdSavedMessagesResponse)
export const post8 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdSavedMessages',
path: '/installed-apps/{installed_app_id}/saved-messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdSavedMessages',
path: '/installed-apps/{installed_app_id}/saved-messages',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdSavedMessagesBody,
@@ -434,13 +473,15 @@ export const savedMessages = {
}
export const post9 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdTextToAudio',
path: '/installed-apps/{installed_app_id}/text-to-audio',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdTextToAudio',
path: '/installed-apps/{installed_app_id}/text-to-audio',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdTextToAudioBody,
@@ -457,14 +498,16 @@ export const textToAudio = {
* Run workflow
*/
export const post10 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdWorkflowsRun',
path: '/installed-apps/{installed_app_id}/workflows/run',
summary: 'Run workflow',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdWorkflowsRun',
path: '/installed-apps/{installed_app_id}/workflows/run',
summary: 'Run workflow',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostInstalledAppsByInstalledAppIdWorkflowsRunBody,
@@ -481,14 +524,16 @@ export const run = {
* Stop workflow task
*/
export const post11 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStop',
path: '/installed-apps/{installed_app_id}/workflows/tasks/{task_id}/stop',
summary: 'Stop workflow task',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStop',
path: '/installed-apps/{installed_app_id}/workflows/tasks/{task_id}/stop',
summary: 'Stop workflow task',
tags: ['console'],
}),
)
.input(z.object({ params: zPostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopPath }))
.output(zPostInstalledAppsByInstalledAppIdWorkflowsTasksByTaskIdStopResponse)
@@ -510,25 +555,29 @@ export const workflows = {
}
export const delete3 = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteInstalledAppsByInstalledAppId',
path: '/installed-apps/{installed_app_id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteInstalledAppsByInstalledAppId',
path: '/installed-apps/{installed_app_id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteInstalledAppsByInstalledAppIdPath }))
.output(zDeleteInstalledAppsByInstalledAppIdResponse)
export const patch3 = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchInstalledAppsByInstalledAppId',
path: '/installed-apps/{installed_app_id}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchInstalledAppsByInstalledAppId',
path: '/installed-apps/{installed_app_id}',
tags: ['console'],
}),
)
.input(
z.object({
body: zPatchInstalledAppsByInstalledAppIdBody,
@@ -553,24 +602,28 @@ export const byInstalledAppId = {
}
export const get8 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledApps',
path: '/installed-apps',
tags: ['console'],
})
.input(z.object({ query: zGetInstalledAppsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getInstalledApps',
path: '/installed-apps',
tags: ['console'],
}),
)
.input(z.object({ query: zGetInstalledAppsQuery.optional() }).optional())
.output(zGetInstalledAppsResponse)
export const post12 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledApps',
path: '/installed-apps',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstalledApps',
path: '/installed-apps',
tags: ['console'],
}),
)
.input(z.object({ body: zPostInstalledAppsBody }))
.output(zPostInstalledAppsResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -14,14 +15,16 @@ import {
* Get instruction generation template
*/
export const post = oc
.route({
description: 'Get instruction generation template',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstructionGenerateTemplate',
path: '/instruction-generate/template',
tags: ['console'],
})
.meta(
openapi({
description: 'Get instruction generation template',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstructionGenerateTemplate',
path: '/instruction-generate/template',
tags: ['console'],
}),
)
.input(z.object({ body: zPostInstructionGenerateTemplateBody }))
.output(zPostInstructionGenerateTemplateResponse)
@@ -33,14 +36,16 @@ export const template = {
* Generate instruction for workflow nodes or general use
*/
export const post2 = oc
.route({
description: 'Generate instruction for workflow nodes or general use',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstructionGenerate',
path: '/instruction-generate',
tags: ['console'],
})
.meta(
openapi({
description: 'Generate instruction for workflow nodes or general use',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postInstructionGenerate',
path: '/instruction-generate',
tags: ['console'],
}),
)
.input(z.object({ body: zPostInstructionGenerateBody }))
.output(zPostInstructionGenerateResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zPostLoginBody, zPostLoginResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zPostLoginBody, zPostLoginResponse } from './zod.gen'
* Authenticate user and login
*/
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postLogin',
path: '/login',
summary: 'Authenticate user and login',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postLogin',
path: '/login',
summary: 'Authenticate user and login',
tags: ['console'],
}),
)
.input(z.object({ body: zPostLoginBody }))
.output(zPostLoginResponse)
@@ -1,17 +1,20 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zPostLogoutResponse } from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postLogout',
path: '/logout',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postLogout',
path: '/logout',
tags: ['console'],
}),
)
.output(zPostLogoutResponse)
export const logout = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -13,14 +14,16 @@ import {
* Mark a notification as dismissed for the current user.
*/
export const post = oc
.route({
description: 'Mark a notification as dismissed for the current user.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postNotificationDismiss',
path: '/notification/dismiss',
tags: ['console'],
})
.meta(
openapi({
description: 'Mark a notification as dismissed for the current user.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postNotificationDismiss',
path: '/notification/dismiss',
tags: ['console'],
}),
)
.input(z.object({ body: zPostNotificationDismissBody }))
.output(zPostNotificationDismissResponse)
@@ -32,15 +35,17 @@ export const dismiss = {
* Return the active in-product notification for the current user in their interface language (falls back to English if unavailable). The notification is NOT marked as seen here; call POST /notification/dismiss when the user explicitly closes the modal.
*/
export const get = oc
.route({
description:
'Return the active in-product notification for the current user in their interface language (falls back to English if unavailable). The notification is NOT marked as seen here; call POST /notification/dismiss when the user explicitly closes the modal.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getNotification',
path: '/notification',
tags: ['console'],
})
.meta(
openapi({
description:
'Return the active in-product notification for the current user in their interface language (falls back to English if unavailable). The notification is NOT marked as seen here; call POST /notification/dismiss when the user explicitly closes the modal.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getNotification',
path: '/notification',
tags: ['console'],
}),
)
.output(zGetNotificationResponse)
export const notification = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -12,13 +13,15 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getNotionPagesByPageIdByPageTypePreview',
path: '/notion/pages/{page_id}/{page_type}/preview',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getNotionPagesByPageIdByPageTypePreview',
path: '/notion/pages/{page_id}/{page_type}/preview',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetNotionPagesByPageIdByPageTypePreviewPath,
@@ -44,13 +47,15 @@ export const pages = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getNotionPreImportPages',
path: '/notion/pre-import/pages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getNotionPreImportPages',
path: '/notion/pre-import/pages',
tags: ['console'],
}),
)
.input(z.object({ query: zGetNotionPreImportPagesQuery }))
.output(zGetNotionPreImportPagesResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -30,14 +31,16 @@ import {
* Bind OAuth data source with authorization code
*/
export const get = oc
.route({
description: 'Bind OAuth data source with authorization code',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDataSourceBindingByProvider',
path: '/oauth/data-source/binding/{provider}',
tags: ['console'],
})
.meta(
openapi({
description: 'Bind OAuth data source with authorization code',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDataSourceBindingByProvider',
path: '/oauth/data-source/binding/{provider}',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetOauthDataSourceBindingByProviderPath,
@@ -58,14 +61,16 @@ export const binding = {
* Sync data from OAuth data source
*/
export const get2 = oc
.route({
description: 'Sync data from OAuth data source',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDataSourceByProviderByBindingIdSync',
path: '/oauth/data-source/{provider}/{binding_id}/sync',
tags: ['console'],
})
.meta(
openapi({
description: 'Sync data from OAuth data source',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDataSourceByProviderByBindingIdSync',
path: '/oauth/data-source/{provider}/{binding_id}/sync',
tags: ['console'],
}),
)
.input(z.object({ params: zGetOauthDataSourceByProviderByBindingIdSyncPath }))
.output(zGetOauthDataSourceByProviderByBindingIdSyncResponse)
@@ -81,14 +86,16 @@ export const byBindingId = {
* Get OAuth authorization URL for data source provider
*/
export const get3 = oc
.route({
description: 'Get OAuth authorization URL for data source provider',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDataSourceByProvider',
path: '/oauth/data-source/{provider}',
tags: ['console'],
})
.meta(
openapi({
description: 'Get OAuth authorization URL for data source provider',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDataSourceByProvider',
path: '/oauth/data-source/{provider}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetOauthDataSourceByProviderPath }))
.output(zGetOauthDataSourceByProviderResponse)
@@ -103,13 +110,15 @@ export const dataSource = {
}
export const get4 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthPluginByProviderIdDatasourceGetAuthorizationUrl',
path: '/oauth/plugin/{provider_id}/datasource/get-authorization-url',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthPluginByProviderIdDatasourceGetAuthorizationUrl',
path: '/oauth/plugin/{provider_id}/datasource/get-authorization-url',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetOauthPluginByProviderIdDatasourceGetAuthorizationUrlPath,
@@ -131,13 +140,15 @@ export const byProviderId = {
}
export const get5 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthPluginByProviderToolAuthorizationUrl',
path: '/oauth/plugin/{provider}/tool/authorization-url',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthPluginByProviderToolAuthorizationUrl',
path: '/oauth/plugin/{provider}/tool/authorization-url',
tags: ['console'],
}),
)
.input(z.object({ params: zGetOauthPluginByProviderToolAuthorizationUrlPath }))
.output(zGetOauthPluginByProviderToolAuthorizationUrlResponse)
@@ -159,13 +170,15 @@ export const plugin = {
}
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProviderAccount',
path: '/oauth/provider/account',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProviderAccount',
path: '/oauth/provider/account',
tags: ['console'],
}),
)
.input(z.object({ body: zPostOauthProviderAccountBody }))
.output(zPostOauthProviderAccountResponse)
@@ -174,13 +187,15 @@ export const account = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProviderAuthorize',
path: '/oauth/provider/authorize',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProviderAuthorize',
path: '/oauth/provider/authorize',
tags: ['console'],
}),
)
.input(z.object({ body: zPostOauthProviderAuthorizeBody }))
.output(zPostOauthProviderAuthorizeResponse)
@@ -189,13 +204,15 @@ export const authorize = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProviderToken',
path: '/oauth/provider/token',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProviderToken',
path: '/oauth/provider/token',
tags: ['console'],
}),
)
.input(z.object({ body: zPostOauthProviderTokenBody }))
.output(zPostOauthProviderTokenResponse)
@@ -204,13 +221,15 @@ export const token = {
}
export const post4 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProvider',
path: '/oauth/provider',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthProvider',
path: '/oauth/provider',
tags: ['console'],
}),
)
.input(z.object({ body: zPostOauthProviderBody }))
.output(zPostOauthProviderResponse)
File diff suppressed because it is too large Load Diff
@@ -1,17 +1,20 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zPostRefreshTokenResponse } from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRefreshToken',
path: '/refresh-token',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRefreshToken',
path: '/refresh-token',
tags: ['console'],
}),
)
.output(zPostRefreshTokenResponse)
export const refreshToken = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -11,14 +12,16 @@ import {
} from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRemoteFilesUpload',
path: '/remote-files/upload',
successStatus: 201,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRemoteFilesUpload',
path: '/remote-files/upload',
successStatus: 201,
tags: ['console'],
}),
)
.input(z.object({ body: zPostRemoteFilesUploadBody }))
.output(zPostRemoteFilesUploadResponse)
@@ -27,13 +30,15 @@ export const upload = {
}
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getRemoteFilesByUrl',
path: '/remote-files/{url}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getRemoteFilesByUrl',
path: '/remote-files/{url}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetRemoteFilesByUrlPath }))
.output(zGetRemoteFilesByUrlResponse)
@@ -1,18 +1,21 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zPostResetPasswordBody, zPostResetPasswordResponse } from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postResetPassword',
path: '/reset-password',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postResetPassword',
path: '/reset-password',
tags: ['console'],
}),
)
.input(z.object({ body: zPostResetPasswordBody }))
.output(zPostResetPasswordResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zPostRuleCodeGenerateBody, zPostRuleCodeGenerateResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zPostRuleCodeGenerateBody, zPostRuleCodeGenerateResponse } from './zod.
* Generate code rules using LLM
*/
export const post = oc
.route({
description: 'Generate code rules using LLM',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRuleCodeGenerate',
path: '/rule-code-generate',
tags: ['console'],
})
.meta(
openapi({
description: 'Generate code rules using LLM',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRuleCodeGenerate',
path: '/rule-code-generate',
tags: ['console'],
}),
)
.input(z.object({ body: zPostRuleCodeGenerateBody }))
.output(zPostRuleCodeGenerateResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zPostRuleGenerateBody, zPostRuleGenerateResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zPostRuleGenerateBody, zPostRuleGenerateResponse } from './zod.gen'
* Generate rule configuration using LLM
*/
export const post = oc
.route({
description: 'Generate rule configuration using LLM',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRuleGenerate',
path: '/rule-generate',
tags: ['console'],
})
.meta(
openapi({
description: 'Generate rule configuration using LLM',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRuleGenerate',
path: '/rule-generate',
tags: ['console'],
}),
)
.input(z.object({ body: zPostRuleGenerateBody }))
.output(zPostRuleGenerateResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -12,14 +13,16 @@ import {
* Generate structured output rules using LLM
*/
export const post = oc
.route({
description: 'Generate structured output rules using LLM',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRuleStructuredOutputGenerate',
path: '/rule-structured-output-generate',
tags: ['console'],
})
.meta(
openapi({
description: 'Generate structured output rules using LLM',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postRuleStructuredOutputGenerate',
path: '/rule-structured-output-generate',
tags: ['console'],
}),
)
.input(z.object({ body: zPostRuleStructuredOutputGenerateBody }))
.output(zPostRuleStructuredOutputGenerateResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -82,16 +83,18 @@ import {
* command channel for backward compatibility.
*/
export const post = oc
.route({
description:
'Uses both the legacy stop flag mechanism and the graph engine\ncommand channel for backward compatibility.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowRunsTasksByTaskIdStop',
path: '/snippets/{snippet_id}/workflow-runs/tasks/{task_id}/stop',
summary: 'Stop a running snippet workflow task',
tags: ['console'],
})
.meta(
openapi({
description:
'Uses both the legacy stop flag mechanism and the graph engine\ncommand channel for backward compatibility.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowRunsTasksByTaskIdStop',
path: '/snippets/{snippet_id}/workflow-runs/tasks/{task_id}/stop',
summary: 'Stop a running snippet workflow task',
tags: ['console'],
}),
)
.input(z.object({ params: zPostSnippetsBySnippetIdWorkflowRunsTasksByTaskIdStopPath }))
.output(zPostSnippetsBySnippetIdWorkflowRunsTasksByTaskIdStopResponse)
@@ -111,14 +114,16 @@ export const tasks = {
* List node executions for a workflow run
*/
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowRunsByRunIdNodeExecutions',
path: '/snippets/{snippet_id}/workflow-runs/{run_id}/node-executions',
summary: 'List node executions for a workflow run',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowRunsByRunIdNodeExecutions',
path: '/snippets/{snippet_id}/workflow-runs/{run_id}/node-executions',
summary: 'List node executions for a workflow run',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowRunsByRunIdNodeExecutionsPath }))
.output(zGetSnippetsBySnippetIdWorkflowRunsByRunIdNodeExecutionsResponse)
@@ -130,14 +135,16 @@ export const nodeExecutions = {
* Get workflow run detail for snippet
*/
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowRunsByRunId',
path: '/snippets/{snippet_id}/workflow-runs/{run_id}',
summary: 'Get workflow run detail for snippet',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowRunsByRunId',
path: '/snippets/{snippet_id}/workflow-runs/{run_id}',
summary: 'Get workflow run detail for snippet',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowRunsByRunIdPath }))
.output(zGetSnippetsBySnippetIdWorkflowRunsByRunIdResponse)
@@ -150,14 +157,16 @@ export const byRunId = {
* List workflow runs for snippet
*/
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowRuns',
path: '/snippets/{snippet_id}/workflow-runs',
summary: 'List workflow runs for snippet',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowRuns',
path: '/snippets/{snippet_id}/workflow-runs',
summary: 'List workflow runs for snippet',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetSnippetsBySnippetIdWorkflowRunsPath,
@@ -176,14 +185,16 @@ export const workflowRuns = {
* Get default block configurations for snippet workflow
*/
export const get4 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDefaultWorkflowBlockConfigs',
path: '/snippets/{snippet_id}/workflows/default-workflow-block-configs',
summary: 'Get default block configurations for snippet workflow',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDefaultWorkflowBlockConfigs',
path: '/snippets/{snippet_id}/workflows/default-workflow-block-configs',
summary: 'Get default block configurations for snippet workflow',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDefaultWorkflowBlockConfigsPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDefaultWorkflowBlockConfigsResponse)
@@ -195,14 +206,16 @@ export const defaultWorkflowBlockConfigs = {
* Get snippet draft workflow configuration limits
*/
export const get5 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftConfig',
path: '/snippets/{snippet_id}/workflows/draft/config',
summary: 'Get snippet draft workflow configuration limits',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftConfig',
path: '/snippets/{snippet_id}/workflows/draft/config',
summary: 'Get snippet draft workflow configuration limits',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftConfigPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftConfigResponse)
@@ -214,15 +227,17 @@ export const config = {
* Conversation variables are not used in snippet workflows; returns an empty list for API parity
*/
export const get6 = oc
.route({
description:
'Conversation variables are not used in snippet workflows; returns an empty list for API parity',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftConversationVariables',
path: '/snippets/{snippet_id}/workflows/draft/conversation-variables',
tags: ['console'],
})
.meta(
openapi({
description:
'Conversation variables are not used in snippet workflows; returns an empty list for API parity',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftConversationVariables',
path: '/snippets/{snippet_id}/workflows/draft/conversation-variables',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftConversationVariablesPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftConversationVariablesResponse)
@@ -234,14 +249,16 @@ export const conversationVariables = {
* Get environment variables from snippet draft workflow graph
*/
export const get7 = oc
.route({
description: 'Get environment variables from snippet draft workflow graph',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftEnvironmentVariables',
path: '/snippets/{snippet_id}/workflows/draft/environment-variables',
tags: ['console'],
})
.meta(
openapi({
description: 'Get environment variables from snippet draft workflow graph',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftEnvironmentVariables',
path: '/snippets/{snippet_id}/workflows/draft/environment-variables',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftEnvironmentVariablesPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftEnvironmentVariablesResponse)
@@ -257,16 +274,18 @@ export const environmentVariables = {
* Returns an SSE event stream with iteration progress and results.
*/
export const post2 = oc
.route({
description:
'Run draft workflow iteration node for snippet\nIteration nodes execute their internal sub-graph multiple times over an input list.\nReturns an SSE event stream with iteration progress and results.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftIterationNodesByNodeIdRun',
path: '/snippets/{snippet_id}/workflows/draft/iteration/nodes/{node_id}/run',
summary: 'Run a draft workflow iteration node for snippet',
tags: ['console'],
})
.meta(
openapi({
description:
'Run draft workflow iteration node for snippet\nIteration nodes execute their internal sub-graph multiple times over an input list.\nReturns an SSE event stream with iteration progress and results.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftIterationNodesByNodeIdRun',
path: '/snippets/{snippet_id}/workflows/draft/iteration/nodes/{node_id}/run',
summary: 'Run a draft workflow iteration node for snippet',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostSnippetsBySnippetIdWorkflowsDraftIterationNodesByNodeIdRunBody,
@@ -299,16 +318,18 @@ export const iteration = {
* Returns an SSE event stream with loop progress and results.
*/
export const post3 = oc
.route({
description:
'Run draft workflow loop node for snippet\nLoop nodes execute their internal sub-graph repeatedly until a condition is met.\nReturns an SSE event stream with loop progress and results.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftLoopNodesByNodeIdRun',
path: '/snippets/{snippet_id}/workflows/draft/loop/nodes/{node_id}/run',
summary: 'Run a draft workflow loop node for snippet',
tags: ['console'],
})
.meta(
openapi({
description:
'Run draft workflow loop node for snippet\nLoop nodes execute their internal sub-graph repeatedly until a condition is met.\nReturns an SSE event stream with loop progress and results.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftLoopNodesByNodeIdRun',
path: '/snippets/{snippet_id}/workflows/draft/loop/nodes/{node_id}/run',
summary: 'Run a draft workflow loop node for snippet',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostSnippetsBySnippetIdWorkflowsDraftLoopNodesByNodeIdRunBody,
@@ -341,16 +362,18 @@ export const loop = {
* including status, inputs, outputs, and timing information.
*/
export const get8 = oc
.route({
description:
'Get last run result for a node in snippet draft workflow\nReturns the most recent execution record for the given node,\nincluding status, inputs, outputs, and timing information.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdLastRun',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/last-run',
summary: 'Get the last run result for a specific node in snippet draft workflow',
tags: ['console'],
})
.meta(
openapi({
description:
'Get last run result for a node in snippet draft workflow\nReturns the most recent execution record for the given node,\nincluding status, inputs, outputs, and timing information.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdLastRun',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/last-run',
summary: 'Get the last run result for a specific node in snippet draft workflow',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdLastRunPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdLastRunResponse)
@@ -366,16 +389,18 @@ export const lastRun = {
* Returns the node execution result including status, outputs, and timing.
*/
export const post4 = oc
.route({
description:
'Run a single node in snippet draft workflow (single-step debugging)\nExecutes a specific node with provided inputs for single-step debugging.\nReturns the node execution result including status, outputs, and timing.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdRun',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/run',
summary: 'Run a single node in snippet draft workflow',
tags: ['console'],
})
.meta(
openapi({
description:
'Run a single node in snippet draft workflow (single-step debugging)\nExecutes a specific node with provided inputs for single-step debugging.\nReturns the node execution result including status, outputs, and timing.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdRun',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/run',
summary: 'Run a single node in snippet draft workflow',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdRunBody,
@@ -392,15 +417,17 @@ export const run3 = {
* Delete all variables for a specific node (snippet draft workflow)
*/
export const delete_ = oc
.route({
description: 'Delete all variables for a specific node (snippet draft workflow)',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariables',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/variables',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
description: 'Delete all variables for a specific node (snippet draft workflow)',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariables',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/variables',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariablesPath }))
.output(zDeleteSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariablesResponse)
@@ -408,14 +435,16 @@ export const delete_ = oc
* Get variables for a specific node (snippet draft workflow)
*/
export const get9 = oc
.route({
description: 'Get variables for a specific node (snippet draft workflow)',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariables',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/variables',
tags: ['console'],
})
.meta(
openapi({
description: 'Get variables for a specific node (snippet draft workflow)',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariables',
path: '/snippets/{snippet_id}/workflows/draft/nodes/{node_id}/variables',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariablesPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftNodesByNodeIdVariablesResponse)
@@ -441,16 +470,18 @@ export const nodes3 = {
* and returns an SSE event stream with execution progress and results.
*/
export const post5 = oc
.route({
description:
'Executes the snippet\'s draft workflow with the provided inputs\nand returns an SSE event stream with execution progress and results.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftRun',
path: '/snippets/{snippet_id}/workflows/draft/run',
summary: 'Run draft workflow for snippet',
tags: ['console'],
})
.meta(
openapi({
description:
'Executes the snippet\'s draft workflow with the provided inputs\nand returns an SSE event stream with execution progress and results.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraftRun',
path: '/snippets/{snippet_id}/workflows/draft/run',
summary: 'Run draft workflow for snippet',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostSnippetsBySnippetIdWorkflowsDraftRunBody,
@@ -467,15 +498,17 @@ export const run4 = {
* System variables are not used in snippet workflows; returns an empty list for API parity
*/
export const get10 = oc
.route({
description:
'System variables are not used in snippet workflows; returns an empty list for API parity',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftSystemVariables',
path: '/snippets/{snippet_id}/workflows/draft/system-variables',
tags: ['console'],
})
.meta(
openapi({
description:
'System variables are not used in snippet workflows; returns an empty list for API parity',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftSystemVariables',
path: '/snippets/{snippet_id}/workflows/draft/system-variables',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftSystemVariablesPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftSystemVariablesResponse)
@@ -487,14 +520,16 @@ export const systemVariables = {
* Reset a draft workflow variable to its default value (snippet scope)
*/
export const put = oc
.route({
description: 'Reset a draft workflow variable to its default value (snippet scope)',
inputStructure: 'detailed',
method: 'PUT',
operationId: 'putSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdReset',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}/reset',
tags: ['console'],
})
.meta(
openapi({
description: 'Reset a draft workflow variable to its default value (snippet scope)',
inputStructure: 'detailed',
method: 'PUT',
operationId: 'putSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdReset',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}/reset',
tags: ['console'],
}),
)
.input(z.object({ params: zPutSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdResetPath }))
.output(zPutSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdResetResponse)
@@ -506,15 +541,17 @@ export const reset = {
* Delete a draft workflow variable (snippet scope)
*/
export const delete2 = oc
.route({
description: 'Delete a draft workflow variable (snippet scope)',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteSnippetsBySnippetIdWorkflowsDraftVariablesByVariableId',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
description: 'Delete a draft workflow variable (snippet scope)',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteSnippetsBySnippetIdWorkflowsDraftVariablesByVariableId',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdPath }))
.output(zDeleteSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdResponse)
@@ -522,14 +559,16 @@ export const delete2 = oc
* Get a specific draft workflow variable (snippet scope)
*/
export const get11 = oc
.route({
description: 'Get a specific draft workflow variable (snippet scope)',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftVariablesByVariableId',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}',
tags: ['console'],
})
.meta(
openapi({
description: 'Get a specific draft workflow variable (snippet scope)',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftVariablesByVariableId',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdResponse)
@@ -537,14 +576,16 @@ export const get11 = oc
* Update a draft workflow variable (snippet scope)
*/
export const patch = oc
.route({
description: 'Update a draft workflow variable (snippet scope)',
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchSnippetsBySnippetIdWorkflowsDraftVariablesByVariableId',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}',
tags: ['console'],
})
.meta(
openapi({
description: 'Update a draft workflow variable (snippet scope)',
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchSnippetsBySnippetIdWorkflowsDraftVariablesByVariableId',
path: '/snippets/{snippet_id}/workflows/draft/variables/{variable_id}',
tags: ['console'],
}),
)
.input(
z.object({
body: zPatchSnippetsBySnippetIdWorkflowsDraftVariablesByVariableIdBody,
@@ -564,15 +605,17 @@ export const byVariableId = {
* Delete all draft workflow variables for the current user (snippet scope)
*/
export const delete3 = oc
.route({
description: 'Delete all draft workflow variables for the current user (snippet scope)',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteSnippetsBySnippetIdWorkflowsDraftVariables',
path: '/snippets/{snippet_id}/workflows/draft/variables',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
description: 'Delete all draft workflow variables for the current user (snippet scope)',
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteSnippetsBySnippetIdWorkflowsDraftVariables',
path: '/snippets/{snippet_id}/workflows/draft/variables',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteSnippetsBySnippetIdWorkflowsDraftVariablesPath }))
.output(zDeleteSnippetsBySnippetIdWorkflowsDraftVariablesResponse)
@@ -580,14 +623,16 @@ export const delete3 = oc
* List draft workflow variables without values (paginated, snippet scope)
*/
export const get12 = oc
.route({
description: 'List draft workflow variables without values (paginated, snippet scope)',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftVariables',
path: '/snippets/{snippet_id}/workflows/draft/variables',
tags: ['console'],
})
.meta(
openapi({
description: 'List draft workflow variables without values (paginated, snippet scope)',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraftVariables',
path: '/snippets/{snippet_id}/workflows/draft/variables',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetSnippetsBySnippetIdWorkflowsDraftVariablesPath,
@@ -606,14 +651,16 @@ export const variables2 = {
* Get draft workflow for snippet
*/
export const get13 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraft',
path: '/snippets/{snippet_id}/workflows/draft',
summary: 'Get draft workflow for snippet',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsDraft',
path: '/snippets/{snippet_id}/workflows/draft',
summary: 'Get draft workflow for snippet',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsDraftPath }))
.output(zGetSnippetsBySnippetIdWorkflowsDraftResponse)
@@ -621,14 +668,16 @@ export const get13 = oc
* Sync draft workflow for snippet
*/
export const post6 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraft',
path: '/snippets/{snippet_id}/workflows/draft',
summary: 'Sync draft workflow for snippet',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsDraft',
path: '/snippets/{snippet_id}/workflows/draft',
summary: 'Sync draft workflow for snippet',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostSnippetsBySnippetIdWorkflowsDraftBody,
@@ -655,14 +704,16 @@ export const draft = {
* Get published workflow for snippet
*/
export const get14 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsPublish',
path: '/snippets/{snippet_id}/workflows/publish',
summary: 'Get published workflow for snippet',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflowsPublish',
path: '/snippets/{snippet_id}/workflows/publish',
summary: 'Get published workflow for snippet',
tags: ['console'],
}),
)
.input(z.object({ params: zGetSnippetsBySnippetIdWorkflowsPublishPath }))
.output(zGetSnippetsBySnippetIdWorkflowsPublishResponse)
@@ -670,14 +721,16 @@ export const get14 = oc
* Publish snippet workflow
*/
export const post7 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsPublish',
path: '/snippets/{snippet_id}/workflows/publish',
summary: 'Publish snippet workflow',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsPublish',
path: '/snippets/{snippet_id}/workflows/publish',
summary: 'Publish snippet workflow',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostSnippetsBySnippetIdWorkflowsPublishBody,
@@ -697,15 +750,17 @@ export const publish = {
* Restore a published snippet workflow version into the draft workflow
*/
export const post8 = oc
.route({
description: 'Restore a published snippet workflow version into the draft workflow',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsByWorkflowIdRestore',
path: '/snippets/{snippet_id}/workflows/{workflow_id}/restore',
summary: 'Restore a published snippet workflow version into the draft workflow',
tags: ['console'],
})
.meta(
openapi({
description: 'Restore a published snippet workflow version into the draft workflow',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postSnippetsBySnippetIdWorkflowsByWorkflowIdRestore',
path: '/snippets/{snippet_id}/workflows/{workflow_id}/restore',
summary: 'Restore a published snippet workflow version into the draft workflow',
tags: ['console'],
}),
)
.input(z.object({ params: zPostSnippetsBySnippetIdWorkflowsByWorkflowIdRestorePath }))
.output(zPostSnippetsBySnippetIdWorkflowsByWorkflowIdRestoreResponse)
@@ -719,15 +774,17 @@ export const restore = {
* Update published snippet workflow attributes
*/
export const patch2 = oc
.route({
description: 'Update published snippet workflow attributes',
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchSnippetsBySnippetIdWorkflowsByWorkflowId',
path: '/snippets/{snippet_id}/workflows/{workflow_id}',
summary: 'Update a published snippet workflow version\'s display metadata',
tags: ['console'],
})
.meta(
openapi({
description: 'Update published snippet workflow attributes',
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchSnippetsBySnippetIdWorkflowsByWorkflowId',
path: '/snippets/{snippet_id}/workflows/{workflow_id}',
summary: 'Update a published snippet workflow version\'s display metadata',
tags: ['console'],
}),
)
.input(
z.object({
body: zPatchSnippetsBySnippetIdWorkflowsByWorkflowIdBody,
@@ -747,15 +804,17 @@ export const byWorkflowId = {
* Get all published workflows for a snippet
*/
export const get15 = oc
.route({
description: 'Get all published workflows for a snippet',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflows',
path: '/snippets/{snippet_id}/workflows',
summary: 'Get all published workflow versions for snippet',
tags: ['console'],
})
.meta(
openapi({
description: 'Get all published workflows for a snippet',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSnippetsBySnippetIdWorkflows',
path: '/snippets/{snippet_id}/workflows',
summary: 'Get all published workflow versions for snippet',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetSnippetsBySnippetIdWorkflowsPath,
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zGetSpecSchemaDefinitionsResponse } from './zod.gen'
@@ -10,15 +11,17 @@ import { zGetSpecSchemaDefinitionsResponse } from './zod.gen'
* Used for frontend component type mapping
*/
export const get = oc
.route({
description: 'Used for frontend component type mapping',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSpecSchemaDefinitions',
path: '/spec/schema-definitions',
summary: 'Get system JSON Schema definitions specification',
tags: ['console'],
})
.meta(
openapi({
description: 'Used for frontend component type mapping',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSpecSchemaDefinitions',
path: '/spec/schema-definitions',
summary: 'Get system JSON Schema definitions specification',
tags: ['console'],
}),
)
.output(zGetSpecSchemaDefinitionsResponse)
export const schemaDefinitions = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zGetSystemFeaturesResponse } from './zod.gen'
@@ -16,16 +17,18 @@ import { zGetSystemFeaturesResponse } from './zod.gen'
* Only non-sensitive configuration data should be returned by this endpoint.
*/
export const get = oc
.route({
description:
'Get system-wide feature configuration\nNOTE: This endpoint is unauthenticated by design, as it provides system features\ndata required for dashboard initialization.\n\nAuthentication would create circular dependency (can\'t login without dashboard loading).\n\nOnly non-sensitive configuration data should be returned by this endpoint.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSystemFeatures',
path: '/system-features',
summary: 'Get system-wide feature configuration',
tags: ['console'],
})
.meta(
openapi({
description:
'Get system-wide feature configuration\nNOTE: This endpoint is unauthenticated by design, as it provides system features\ndata required for dashboard initialization.\n\nAuthentication would create circular dependency (can\'t login without dashboard loading).\n\nOnly non-sensitive configuration data should be returned by this endpoint.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getSystemFeatures',
path: '/system-features',
summary: 'Get system-wide feature configuration',
tags: ['console'],
}),
)
.output(zGetSystemFeaturesResponse)
export const systemFeatures = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -14,14 +15,16 @@ import {
* Remove one or more tag bindings from a target.
*/
export const post = oc
.route({
description: 'Remove one or more tag bindings from a target.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTagBindingsRemove',
path: '/tag-bindings/remove',
tags: ['console'],
})
.meta(
openapi({
description: 'Remove one or more tag bindings from a target.',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTagBindingsRemove',
path: '/tag-bindings/remove',
tags: ['console'],
}),
)
.input(z.object({ body: zPostTagBindingsRemoveBody }))
.output(zPostTagBindingsRemoveResponse)
@@ -30,13 +33,15 @@ export const remove = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTagBindings',
path: '/tag-bindings',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTagBindings',
path: '/tag-bindings',
tags: ['console'],
}),
)
.input(z.object({ body: zPostTagBindingsBody }))
.output(zPostTagBindingsResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -16,25 +17,29 @@ import {
} from './zod.gen'
export const delete_ = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteTagsByTagId',
path: '/tags/{tag_id}',
successStatus: 204,
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteTagsByTagId',
path: '/tags/{tag_id}',
successStatus: 204,
tags: ['console'],
}),
)
.input(z.object({ params: zDeleteTagsByTagIdPath }))
.output(zDeleteTagsByTagIdResponse)
export const patch = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchTagsByTagId',
path: '/tags/{tag_id}',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'patchTagsByTagId',
path: '/tags/{tag_id}',
tags: ['console'],
}),
)
.input(z.object({ body: zPatchTagsByTagIdBody, params: zPatchTagsByTagIdPath }))
.output(zPatchTagsByTagIdResponse)
@@ -44,24 +49,28 @@ export const byTagId = {
}
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTags',
path: '/tags',
tags: ['console'],
})
.input(z.object({ query: zGetTagsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTags',
path: '/tags',
tags: ['console'],
}),
)
.input(z.object({ query: zGetTagsQuery.optional() }).optional())
.output(zGetTagsResponse)
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTags',
path: '/tags',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTags',
path: '/tags',
tags: ['console'],
}),
)
.input(z.object({ body: zPostTagsBody }))
.output(zPostTagsResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import { zPostTestRetrievalBody, zPostTestRetrievalResponse } from './zod.gen'
@@ -9,14 +10,16 @@ import { zPostTestRetrievalBody, zPostTestRetrievalResponse } from './zod.gen'
* Bedrock retrieval test (internal use only)
*/
export const post = oc
.route({
description: 'Bedrock retrieval test (internal use only)',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTestRetrieval',
path: '/test/retrieval',
tags: ['console'],
})
.meta(
openapi({
description: 'Bedrock retrieval test (internal use only)',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTestRetrieval',
path: '/test/retrieval',
tags: ['console'],
}),
)
.input(z.object({ body: zPostTestRetrievalBody }))
.output(zPostTestRetrievalResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -36,13 +37,15 @@ import {
} from './zod.gen'
export const post = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdAudioToText',
path: '/trial-apps/{app_id}/audio-to-text',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdAudioToText',
path: '/trial-apps/{app_id}/audio-to-text',
tags: ['console'],
}),
)
.input(z.object({ params: zPostTrialAppsByAppIdAudioToTextPath }))
.output(zPostTrialAppsByAppIdAudioToTextResponse)
@@ -51,13 +54,15 @@ export const audioToText = {
}
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdChatMessages',
path: '/trial-apps/{app_id}/chat-messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdChatMessages',
path: '/trial-apps/{app_id}/chat-messages',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostTrialAppsByAppIdChatMessagesBody,
@@ -71,13 +76,15 @@ export const chatMessages = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdCompletionMessages',
path: '/trial-apps/{app_id}/completion-messages',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdCompletionMessages',
path: '/trial-apps/{app_id}/completion-messages',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostTrialAppsByAppIdCompletionMessagesBody,
@@ -91,13 +98,16 @@ export const completionMessages = {
}
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdDatasets',
path: '/trial-apps/{app_id}/datasets',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdDatasets',
path: '/trial-apps/{app_id}/datasets',
queryStyles: { ids: 'array' },
tags: ['console'],
}),
)
.input(
z.object({
params: zGetTrialAppsByAppIdDatasetsPath,
@@ -111,13 +121,15 @@ export const datasets = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdMessagesByMessageIdSuggestedQuestions',
path: '/trial-apps/{app_id}/messages/{message_id}/suggested-questions',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdMessagesByMessageIdSuggestedQuestions',
path: '/trial-apps/{app_id}/messages/{message_id}/suggested-questions',
tags: ['console'],
}),
)
.input(z.object({ params: zGetTrialAppsByAppIdMessagesByMessageIdSuggestedQuestionsPath }))
.output(zGetTrialAppsByAppIdMessagesByMessageIdSuggestedQuestionsResponse)
@@ -137,14 +149,16 @@ export const messages = {
* Retrieve app parameters
*/
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdParameters',
path: '/trial-apps/{app_id}/parameters',
summary: 'Retrieve app parameters',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdParameters',
path: '/trial-apps/{app_id}/parameters',
summary: 'Retrieve app parameters',
tags: ['console'],
}),
)
.input(z.object({ params: zGetTrialAppsByAppIdParametersPath }))
.output(zGetTrialAppsByAppIdParametersResponse)
@@ -158,16 +172,18 @@ export const parameters = {
* Returns the site configuration for the application including theme, icons, and text.
*/
export const get4 = oc
.route({
description:
'Returns the site configuration for the application including theme, icons, and text.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdSite',
path: '/trial-apps/{app_id}/site',
summary: 'Retrieve app site info',
tags: ['console'],
})
.meta(
openapi({
description:
'Returns the site configuration for the application including theme, icons, and text.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdSite',
path: '/trial-apps/{app_id}/site',
summary: 'Retrieve app site info',
tags: ['console'],
}),
)
.input(z.object({ params: zGetTrialAppsByAppIdSitePath }))
.output(zGetTrialAppsByAppIdSiteResponse)
@@ -176,13 +192,15 @@ export const site = {
}
export const post4 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdTextToAudio',
path: '/trial-apps/{app_id}/text-to-audio',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdTextToAudio',
path: '/trial-apps/{app_id}/text-to-audio',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostTrialAppsByAppIdTextToAudioBody,
@@ -199,14 +217,16 @@ export const textToAudio = {
* Run workflow
*/
export const post5 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdWorkflowsRun',
path: '/trial-apps/{app_id}/workflows/run',
summary: 'Run workflow',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdWorkflowsRun',
path: '/trial-apps/{app_id}/workflows/run',
summary: 'Run workflow',
tags: ['console'],
}),
)
.input(
z.object({
body: zPostTrialAppsByAppIdWorkflowsRunBody,
@@ -223,14 +243,16 @@ export const run = {
* Stop workflow task
*/
export const post6 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdWorkflowsTasksByTaskIdStop',
path: '/trial-apps/{app_id}/workflows/tasks/{task_id}/stop',
summary: 'Stop workflow task',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postTrialAppsByAppIdWorkflowsTasksByTaskIdStop',
path: '/trial-apps/{app_id}/workflows/tasks/{task_id}/stop',
summary: 'Stop workflow task',
tags: ['console'],
}),
)
.input(z.object({ params: zPostTrialAppsByAppIdWorkflowsTasksByTaskIdStopPath }))
.output(zPostTrialAppsByAppIdWorkflowsTasksByTaskIdStopResponse)
@@ -250,14 +272,16 @@ export const tasks = {
* Get workflow detail
*/
export const get5 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdWorkflows',
path: '/trial-apps/{app_id}/workflows',
summary: 'Get workflow detail',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppIdWorkflows',
path: '/trial-apps/{app_id}/workflows',
summary: 'Get workflow detail',
tags: ['console'],
}),
)
.input(z.object({ params: zGetTrialAppsByAppIdWorkflowsPath }))
.output(zGetTrialAppsByAppIdWorkflowsResponse)
@@ -271,14 +295,16 @@ export const workflows = {
* Get app detail
*/
export const get6 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppId',
path: '/trial-apps/{app_id}',
summary: 'Get app detail',
tags: ['console'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialAppsByAppId',
path: '/trial-apps/{app_id}',
summary: 'Get app detail',
tags: ['console'],
}),
)
.input(z.object({ params: zGetTrialAppsByAppIdPath }))
.output(zGetTrialAppsByAppIdResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import { zGetTrialModelsResponse } from './zod.gen'
@@ -10,15 +11,17 @@ import { zGetTrialModelsResponse } from './zod.gen'
* Get hosted trial model provider configuration
*/
export const get = oc
.route({
description: 'Get hosted trial model provider configuration',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialModels',
path: '/trial-models',
summary: 'Get hosted trial model provider configuration for model-provider pages',
tags: ['console'],
})
.meta(
openapi({
description: 'Get hosted trial model provider configuration',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getTrialModels',
path: '/trial-models',
summary: 'Get hosted trial model provider configuration for model-provider pages',
tags: ['console'],
}),
)
.output(zGetTrialModelsResponse)
export const trialModels = {
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -15,14 +16,16 @@ import {
* Get website crawl status
*/
export const get = oc
.route({
description: 'Get website crawl status',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWebsiteCrawlStatusByJobId',
path: '/website/crawl/status/{job_id}',
tags: ['console'],
})
.meta(
openapi({
description: 'Get website crawl status',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWebsiteCrawlStatusByJobId',
path: '/website/crawl/status/{job_id}',
tags: ['console'],
}),
)
.input(
z.object({
params: zGetWebsiteCrawlStatusByJobIdPath,
@@ -43,14 +46,16 @@ export const status = {
* Crawl website content
*/
export const post = oc
.route({
description: 'Crawl website content',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWebsiteCrawl',
path: '/website/crawl',
tags: ['console'],
})
.meta(
openapi({
description: 'Crawl website content',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWebsiteCrawl',
path: '/website/crawl',
tags: ['console'],
}),
)
.input(z.object({ body: zPostWebsiteCrawlBody }))
.output(zPostWebsiteCrawlResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -16,14 +17,16 @@ import {
* Stream a Dify workflow graph (plan then result) via SSE
*/
export const post = oc
.route({
description: 'Stream a Dify workflow graph (plan then result) via SSE',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkflowGenerateStream',
path: '/workflow-generate/stream',
tags: ['console'],
})
.meta(
openapi({
description: 'Stream a Dify workflow graph (plan then result) via SSE',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkflowGenerateStream',
path: '/workflow-generate/stream',
tags: ['console'],
}),
)
.input(z.object({ body: zPostWorkflowGenerateStreamBody }))
.output(zPostWorkflowGenerateStreamResponse)
@@ -35,14 +38,16 @@ export const stream = {
* Suggest example workflow-generator instructions for the tenant
*/
export const post2 = oc
.route({
description: 'Suggest example workflow-generator instructions for the tenant',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkflowGenerateSuggestions',
path: '/workflow-generate/suggestions',
tags: ['console'],
})
.meta(
openapi({
description: 'Suggest example workflow-generator instructions for the tenant',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkflowGenerateSuggestions',
path: '/workflow-generate/suggestions',
tags: ['console'],
}),
)
.input(z.object({ body: zPostWorkflowGenerateSuggestionsBody }))
.output(zPostWorkflowGenerateSuggestionsResponse)
@@ -54,14 +59,16 @@ export const suggestions = {
* Generate a Dify workflow graph from natural language
*/
export const post3 = oc
.route({
description: 'Generate a Dify workflow graph from natural language',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkflowGenerate',
path: '/workflow-generate',
tags: ['console'],
})
.meta(
openapi({
description: 'Generate a Dify workflow graph from natural language',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkflowGenerate',
path: '/workflow-generate',
tags: ['console'],
}),
)
.input(z.object({ body: zPostWorkflowGenerateBody }))
.output(zPostWorkflowGenerateResponse)
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -18,16 +19,18 @@ import {
* Returns Server-Sent Events stream.
*/
export const get = oc
.route({
description:
'GET /console/api/workflow/<workflow_run_id>/events\n\nReturns Server-Sent Events stream.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkflowByWorkflowRunIdEvents',
path: '/workflow/{workflow_run_id}/events',
summary: 'Get workflow execution events stream after resume',
tags: ['console'],
})
.meta(
openapi({
description:
'GET /console/api/workflow/<workflow_run_id>/events\n\nReturns Server-Sent Events stream.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkflowByWorkflowRunIdEvents',
path: '/workflow/{workflow_run_id}/events',
summary: 'Get workflow execution events stream after resume',
tags: ['console'],
}),
)
.input(z.object({ params: zGetWorkflowByWorkflowRunIdEventsPath }))
.output(zGetWorkflowByWorkflowRunIdEventsResponse)
@@ -44,16 +47,18 @@ export const events = {
* Returns information about why and where the workflow is paused.
*/
export const get2 = oc
.route({
description:
'Get workflow pause details\nGET /console/api/workflow/<workflow_run_id>/pause-details\n\nReturns information about why and where the workflow is paused.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkflowByWorkflowRunIdPauseDetails',
path: '/workflow/{workflow_run_id}/pause-details',
summary: 'Get workflow pause details',
tags: ['console'],
})
.meta(
openapi({
description:
'Get workflow pause details\nGET /console/api/workflow/<workflow_run_id>/pause-details\n\nReturns information about why and where the workflow is paused.',
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkflowByWorkflowRunIdPauseDetails',
path: '/workflow/{workflow_run_id}/pause-details',
summary: 'Get workflow pause details',
tags: ['console'],
}),
)
.input(z.object({ params: zGetWorkflowByWorkflowRunIdPauseDetailsPath }))
.output(zGetWorkflowByWorkflowRunIdPauseDetailsResponse)
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -76,13 +77,15 @@ import {
} from './zod.gen'
export const get = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getHealth',
path: '/_health',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getHealth',
path: '/_health',
tags: ['openapi'],
}),
)
.output(zGetHealthResponse)
export const health = {
@@ -90,13 +93,15 @@ export const health = {
}
export const get2 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getVersion',
path: '/_version',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getVersion',
path: '/_version',
tags: ['openapi'],
}),
)
.output(zGetVersionResponse)
export const version = {
@@ -104,13 +109,15 @@ export const version = {
}
export const delete_ = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAccountSessionsSelf',
path: '/account/sessions/self',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAccountSessionsSelf',
path: '/account/sessions/self',
tags: ['openapi'],
}),
)
.output(zDeleteAccountSessionsSelfResponse)
export const self = {
@@ -118,13 +125,15 @@ export const self = {
}
export const delete2 = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAccountSessionsBySessionId',
path: '/account/sessions/{session_id}',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteAccountSessionsBySessionId',
path: '/account/sessions/{session_id}',
tags: ['openapi'],
}),
)
.input(z.object({ params: zDeleteAccountSessionsBySessionIdPath }))
.output(zDeleteAccountSessionsBySessionIdResponse)
@@ -133,14 +142,16 @@ export const bySessionId = {
}
export const get3 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountSessions',
path: '/account/sessions',
tags: ['openapi'],
})
.input(z.object({ query: zGetAccountSessionsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccountSessions',
path: '/account/sessions',
tags: ['openapi'],
}),
)
.input(z.object({ query: zGetAccountSessionsQuery.optional() }).optional())
.output(zGetAccountSessionsResponse)
export const sessions = {
@@ -150,13 +161,15 @@ export const sessions = {
}
export const get4 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccount',
path: '/account',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAccount',
path: '/account',
tags: ['openapi'],
}),
)
.output(zGetAccountResponse)
export const account = {
@@ -165,13 +178,15 @@ export const account = {
}
export const get5 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdCheckDependencies',
path: '/apps/{app_id}/check-dependencies',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdCheckDependencies',
path: '/apps/{app_id}/check-dependencies',
tags: ['openapi'],
}),
)
.input(z.object({ params: zGetAppsByAppIdCheckDependenciesPath }))
.output(zGetAppsByAppIdCheckDependenciesResponse)
@@ -180,13 +195,15 @@ export const checkDependencies = {
}
export const get6 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdDescribe',
path: '/apps/{app_id}/describe',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdDescribe',
path: '/apps/{app_id}/describe',
tags: ['openapi'],
}),
)
.input(
z.object({
params: zGetAppsByAppIdDescribePath,
@@ -200,13 +217,15 @@ export const describe = {
}
export const get7 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdExport',
path: '/apps/{app_id}/export',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdExport',
path: '/apps/{app_id}/export',
tags: ['openapi'],
}),
)
.input(
z.object({ params: zGetAppsByAppIdExportPath, query: zGetAppsByAppIdExportQuery.optional() }),
)
@@ -220,15 +239,17 @@ export const export_ = {
* Upload a file to use as an input variable when running the app
*/
export const post = oc
.route({
description: 'Upload a file to use as an input variable when running the app',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdFilesUpload',
path: '/apps/{app_id}/files/upload',
successStatus: 201,
tags: ['openapi'],
})
.meta(
openapi({
description: 'Upload a file to use as an input variable when running the app',
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdFilesUpload',
path: '/apps/{app_id}/files/upload',
successStatus: 201,
tags: ['openapi'],
}),
)
.input(z.object({ params: zPostAppsByAppIdFilesUploadPath }))
.output(zPostAppsByAppIdFilesUploadResponse)
@@ -241,24 +262,28 @@ export const files = {
}
export const get8 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdFormHumanInputByFormToken',
path: '/apps/{app_id}/form/human_input/{form_token}',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdFormHumanInputByFormToken',
path: '/apps/{app_id}/form/human_input/{form_token}',
tags: ['openapi'],
}),
)
.input(z.object({ params: zGetAppsByAppIdFormHumanInputByFormTokenPath }))
.output(zGetAppsByAppIdFormHumanInputByFormTokenResponse)
export const post2 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdFormHumanInputByFormToken',
path: '/apps/{app_id}/form/human_input/{form_token}',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdFormHumanInputByFormToken',
path: '/apps/{app_id}/form/human_input/{form_token}',
tags: ['openapi'],
}),
)
.input(
z.object({
body: zPostAppsByAppIdFormHumanInputByFormTokenBody,
@@ -281,13 +306,15 @@ export const form = {
}
export const post3 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdRun',
path: '/apps/{app_id}/run',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdRun',
path: '/apps/{app_id}/run',
tags: ['openapi'],
}),
)
.input(z.object({ body: zPostAppsByAppIdRunBody, params: zPostAppsByAppIdRunPath }))
.output(zPostAppsByAppIdRunResponse)
@@ -296,13 +323,15 @@ export const run = {
}
export const get9 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdTasksByTaskIdEvents',
path: '/apps/{app_id}/tasks/{task_id}/events',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getAppsByAppIdTasksByTaskIdEvents',
path: '/apps/{app_id}/tasks/{task_id}/events',
tags: ['openapi'],
}),
)
.input(
z.object({
params: zGetAppsByAppIdTasksByTaskIdEventsPath,
@@ -316,13 +345,15 @@ export const events = {
}
export const post4 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdTasksByTaskIdStop',
path: '/apps/{app_id}/tasks/{task_id}/stop',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postAppsByAppIdTasksByTaskIdStop',
path: '/apps/{app_id}/tasks/{task_id}/stop',
tags: ['openapi'],
}),
)
.input(z.object({ params: zPostAppsByAppIdTasksByTaskIdStopPath }))
.output(zPostAppsByAppIdTasksByTaskIdStopResponse)
@@ -350,13 +381,15 @@ export const byAppId = {
}
export const get10 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApps',
path: '/apps',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getApps',
path: '/apps',
tags: ['openapi'],
}),
)
.input(z.object({ query: zGetAppsQuery }))
.output(zGetAppsResponse)
@@ -366,13 +399,15 @@ export const apps = {
}
export const post5 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceApprove',
path: '/oauth/device/approve',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceApprove',
path: '/oauth/device/approve',
tags: ['openapi'],
}),
)
.input(z.object({ body: zPostOauthDeviceApproveBody }))
.output(zPostOauthDeviceApproveResponse)
@@ -381,13 +416,15 @@ export const approve = {
}
export const post6 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceCode',
path: '/oauth/device/code',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceCode',
path: '/oauth/device/code',
tags: ['openapi'],
}),
)
.input(z.object({ body: zPostOauthDeviceCodeBody }))
.output(zPostOauthDeviceCodeResponse)
@@ -396,13 +433,15 @@ export const code = {
}
export const post7 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceDeny',
path: '/oauth/device/deny',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceDeny',
path: '/oauth/device/deny',
tags: ['openapi'],
}),
)
.input(z.object({ body: zPostOauthDeviceDenyBody }))
.output(zPostOauthDeviceDenyResponse)
@@ -411,13 +450,15 @@ export const deny = {
}
export const get11 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDeviceLookup',
path: '/oauth/device/lookup',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getOauthDeviceLookup',
path: '/oauth/device/lookup',
tags: ['openapi'],
}),
)
.input(z.object({ query: zGetOauthDeviceLookupQuery }))
.output(zGetOauthDeviceLookupResponse)
@@ -426,13 +467,15 @@ export const lookup = {
}
export const post8 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceToken',
path: '/oauth/device/token',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postOauthDeviceToken',
path: '/oauth/device/token',
tags: ['openapi'],
}),
)
.input(z.object({ body: zPostOauthDeviceTokenBody }))
.output(zPostOauthDeviceTokenResponse)
@@ -453,13 +496,15 @@ export const oauth = {
}
export const get12 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getPermittedExternalAppsByAppIdDescribe',
path: '/permitted-external-apps/{app_id}/describe',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getPermittedExternalAppsByAppIdDescribe',
path: '/permitted-external-apps/{app_id}/describe',
tags: ['openapi'],
}),
)
.input(
z.object({
params: zGetPermittedExternalAppsByAppIdDescribePath,
@@ -477,14 +522,16 @@ export const byAppId2 = {
}
export const get13 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getPermittedExternalApps',
path: '/permitted-external-apps',
tags: ['openapi'],
})
.input(z.object({ query: zGetPermittedExternalAppsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getPermittedExternalApps',
path: '/permitted-external-apps',
tags: ['openapi'],
}),
)
.input(z.object({ query: zGetPermittedExternalAppsQuery.optional() }).optional())
.output(zGetPermittedExternalAppsResponse)
export const permittedExternalApps = {
@@ -493,13 +540,15 @@ export const permittedExternalApps = {
}
export const post9 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdAppsImportsByImportIdConfirm',
path: '/workspaces/{workspace_id}/apps/imports/{import_id}/confirm',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdAppsImportsByImportIdConfirm',
path: '/workspaces/{workspace_id}/apps/imports/{import_id}/confirm',
tags: ['openapi'],
}),
)
.input(z.object({ params: zPostWorkspacesByWorkspaceIdAppsImportsByImportIdConfirmPath }))
.output(zPostWorkspacesByWorkspaceIdAppsImportsByImportIdConfirmResponse)
@@ -512,13 +561,15 @@ export const byImportId = {
}
export const post10 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdAppsImports',
path: '/workspaces/{workspace_id}/apps/imports',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdAppsImports',
path: '/workspaces/{workspace_id}/apps/imports',
tags: ['openapi'],
}),
)
.input(
z.object({
body: zPostWorkspacesByWorkspaceIdAppsImportsBody,
@@ -537,13 +588,15 @@ export const apps2 = {
}
export const put = oc
.route({
inputStructure: 'detailed',
method: 'PUT',
operationId: 'putWorkspacesByWorkspaceIdMembersByMemberIdRole',
path: '/workspaces/{workspace_id}/members/{member_id}/role',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PUT',
operationId: 'putWorkspacesByWorkspaceIdMembersByMemberIdRole',
path: '/workspaces/{workspace_id}/members/{member_id}/role',
tags: ['openapi'],
}),
)
.input(
z.object({
body: zPutWorkspacesByWorkspaceIdMembersByMemberIdRoleBody,
@@ -557,13 +610,15 @@ export const role = {
}
export const delete3 = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteWorkspacesByWorkspaceIdMembersByMemberId',
path: '/workspaces/{workspace_id}/members/{member_id}',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'deleteWorkspacesByWorkspaceIdMembersByMemberId',
path: '/workspaces/{workspace_id}/members/{member_id}',
tags: ['openapi'],
}),
)
.input(z.object({ params: zDeleteWorkspacesByWorkspaceIdMembersByMemberIdPath }))
.output(zDeleteWorkspacesByWorkspaceIdMembersByMemberIdResponse)
@@ -573,13 +628,15 @@ export const byMemberId = {
}
export const get14 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkspacesByWorkspaceIdMembers',
path: '/workspaces/{workspace_id}/members',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkspacesByWorkspaceIdMembers',
path: '/workspaces/{workspace_id}/members',
tags: ['openapi'],
}),
)
.input(
z.object({
params: zGetWorkspacesByWorkspaceIdMembersPath,
@@ -589,14 +646,16 @@ export const get14 = oc
.output(zGetWorkspacesByWorkspaceIdMembersResponse)
export const post11 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdMembers',
path: '/workspaces/{workspace_id}/members',
successStatus: 201,
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdMembers',
path: '/workspaces/{workspace_id}/members',
successStatus: 201,
tags: ['openapi'],
}),
)
.input(
z.object({
body: zPostWorkspacesByWorkspaceIdMembersBody,
@@ -612,13 +671,15 @@ export const members = {
}
export const post12 = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdSwitch',
path: '/workspaces/{workspace_id}/switch',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'postWorkspacesByWorkspaceIdSwitch',
path: '/workspaces/{workspace_id}/switch',
tags: ['openapi'],
}),
)
.input(z.object({ params: zPostWorkspacesByWorkspaceIdSwitchPath }))
.output(zPostWorkspacesByWorkspaceIdSwitchResponse)
@@ -627,13 +688,15 @@ export const switch_ = {
}
export const get15 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkspacesByWorkspaceId',
path: '/workspaces/{workspace_id}',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkspacesByWorkspaceId',
path: '/workspaces/{workspace_id}',
tags: ['openapi'],
}),
)
.input(z.object({ params: zGetWorkspacesByWorkspaceIdPath }))
.output(zGetWorkspacesByWorkspaceIdResponse)
@@ -645,13 +708,15 @@ export const byWorkspaceId = {
}
export const get16 = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkspaces',
path: '/workspaces',
tags: ['openapi'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'getWorkspaces',
path: '/workspaces',
tags: ['openapi'],
}),
)
.output(zGetWorkspacesResponse)
export const workspaces = {
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,6 +1,7 @@
// This file is auto-generated by @hey-api/openapi-ts
import { oc } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
import * as z from 'zod'
import {
@@ -108,68 +109,82 @@ import {
} from './zod.gen'
export const listAppInstanceSummaries = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_ListAppInstanceSummaries',
path: '/enterprise/app-deploy/appInstanceSummaries',
tags: ['AppInstanceService'],
})
.input(z.object({ query: zAppInstanceServiceListAppInstanceSummariesQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_ListAppInstanceSummaries',
path: '/enterprise/app-deploy/appInstanceSummaries',
tags: ['AppInstanceService'],
}),
)
.input(
z.object({ query: zAppInstanceServiceListAppInstanceSummariesQuery.optional() }).optional(),
)
.output(zAppInstanceServiceListAppInstanceSummariesResponse)
export const listAppInstances = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_ListAppInstances',
path: '/enterprise/app-deploy/appInstances',
tags: ['AppInstanceService'],
})
.input(z.object({ query: zAppInstanceServiceListAppInstancesQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_ListAppInstances',
path: '/enterprise/app-deploy/appInstances',
tags: ['AppInstanceService'],
}),
)
.input(z.object({ query: zAppInstanceServiceListAppInstancesQuery.optional() }).optional())
.output(zAppInstanceServiceListAppInstancesResponse)
export const createAppInstance = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'AppInstanceService_CreateAppInstance',
path: '/enterprise/app-deploy/appInstances',
tags: ['AppInstanceService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'AppInstanceService_CreateAppInstance',
path: '/enterprise/app-deploy/appInstances',
tags: ['AppInstanceService'],
}),
)
.input(z.object({ body: zAppInstanceServiceCreateAppInstanceBody }))
.output(zAppInstanceServiceCreateAppInstanceResponse)
export const deleteAppInstance = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'AppInstanceService_DeleteAppInstance',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}',
tags: ['AppInstanceService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'AppInstanceService_DeleteAppInstance',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}',
tags: ['AppInstanceService'],
}),
)
.input(z.object({ params: zAppInstanceServiceDeleteAppInstancePath }))
.output(zAppInstanceServiceDeleteAppInstanceResponse)
export const getAppInstance = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_GetAppInstance',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}',
tags: ['AppInstanceService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_GetAppInstance',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}',
tags: ['AppInstanceService'],
}),
)
.input(z.object({ params: zAppInstanceServiceGetAppInstancePath }))
.output(zAppInstanceServiceGetAppInstanceResponse)
export const updateAppInstance = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'AppInstanceService_UpdateAppInstance',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}',
tags: ['AppInstanceService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'AppInstanceService_UpdateAppInstance',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}',
tags: ['AppInstanceService'],
}),
)
.input(
z.object({
body: zAppInstanceServiceUpdateAppInstanceBody,
@@ -179,13 +194,15 @@ export const updateAppInstance = oc
.output(zAppInstanceServiceUpdateAppInstanceResponse)
export const getAppInstanceOverview = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_GetAppInstanceOverview',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}:getOverview',
tags: ['AppInstanceService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AppInstanceService_GetAppInstanceOverview',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}:getOverview',
tags: ['AppInstanceService'],
}),
)
.input(z.object({ params: zAppInstanceServiceGetAppInstanceOverviewPath }))
.output(zAppInstanceServiceGetAppInstanceOverviewResponse)
@@ -200,24 +217,28 @@ export const appInstanceService = {
}
export const getAccessChannels = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetAccessChannels',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/accessChannels',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetAccessChannels',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/accessChannels',
tags: ['AccessService'],
}),
)
.input(z.object({ params: zAccessServiceGetAccessChannelsPath }))
.output(zAccessServiceGetAccessChannelsResponse)
export const updateAccessChannels = oc
.route({
inputStructure: 'detailed',
method: 'PUT',
operationId: 'AccessService_UpdateAccessChannels',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/accessChannels',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PUT',
operationId: 'AccessService_UpdateAccessChannels',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/accessChannels',
tags: ['AccessService'],
}),
)
.input(
z.object({
body: zAccessServiceUpdateAccessChannelsBody,
@@ -227,46 +248,54 @@ export const updateAccessChannels = oc
.output(zAccessServiceUpdateAccessChannelsResponse)
export const getAccessSettings = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetAccessSettings',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/accessSettings',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetAccessSettings',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/accessSettings',
tags: ['AccessService'],
}),
)
.input(z.object({ params: zAccessServiceGetAccessSettingsPath }))
.output(zAccessServiceGetAccessSettingsResponse)
export const getDeveloperApiSettings = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetDeveloperApiSettings',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/developerApiSettings',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetDeveloperApiSettings',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/developerApiSettings',
tags: ['AccessService'],
}),
)
.input(z.object({ params: zAccessServiceGetDeveloperApiSettingsPath }))
.output(zAccessServiceGetDeveloperApiSettingsResponse)
export const getAccessPolicy = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetAccessPolicy',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/accessPolicy',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_GetAccessPolicy',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/accessPolicy',
tags: ['AccessService'],
}),
)
.input(z.object({ params: zAccessServiceGetAccessPolicyPath }))
.output(zAccessServiceGetAccessPolicyResponse)
export const updateAccessPolicy = oc
.route({
inputStructure: 'detailed',
method: 'PUT',
operationId: 'AccessService_UpdateAccessPolicy',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/accessPolicy',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PUT',
operationId: 'AccessService_UpdateAccessPolicy',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/accessPolicy',
tags: ['AccessService'],
}),
)
.input(
z.object({
body: zAccessServiceUpdateAccessPolicyBody,
@@ -276,35 +305,41 @@ export const updateAccessPolicy = oc
.output(zAccessServiceUpdateAccessPolicyResponse)
export const listApiKeys = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_ListApiKeys',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/apiKeys',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'AccessService_ListApiKeys',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/apiKeys',
tags: ['AccessService'],
}),
)
.input(z.object({ params: zAccessServiceListApiKeysPath }))
.output(zAccessServiceListApiKeysResponse)
export const createApiKey = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'AccessService_CreateApiKey',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/apiKeys',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'AccessService_CreateApiKey',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/apiKeys',
tags: ['AccessService'],
}),
)
.input(z.object({ body: zAccessServiceCreateApiKeyBody, params: zAccessServiceCreateApiKeyPath }))
.output(zAccessServiceCreateApiKeyResponse)
export const deleteApiKey = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'AccessService_DeleteApiKey',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/apiKeys/{apiKeyId}',
tags: ['AccessService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'AccessService_DeleteApiKey',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/apiKeys/{apiKeyId}',
tags: ['AccessService'],
}),
)
.input(z.object({ params: zAccessServiceDeleteApiKeyPath }))
.output(zAccessServiceDeleteApiKeyResponse)
@@ -321,13 +356,15 @@ export const accessService = {
}
export const listDeployments = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'DeploymentService_ListDeployments',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/deployments',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'DeploymentService_ListDeployments',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/deployments',
tags: ['DeploymentService'],
}),
)
.input(
z.object({
params: zDeploymentServiceListDeploymentsPath,
@@ -337,24 +374,28 @@ export const listDeployments = oc
.output(zDeploymentServiceListDeploymentsResponse)
export const listEnvironmentDeployments = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'DeploymentService_ListEnvironmentDeployments',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environmentDeployments',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'DeploymentService_ListEnvironmentDeployments',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environmentDeployments',
tags: ['DeploymentService'],
}),
)
.input(z.object({ params: zDeploymentServiceListEnvironmentDeploymentsPath }))
.output(zDeploymentServiceListEnvironmentDeploymentsResponse)
export const listRollbackTargets = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'DeploymentService_ListRollbackTargets',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/rollbackTargets',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'DeploymentService_ListRollbackTargets',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}/rollbackTargets',
tags: ['DeploymentService'],
}),
)
.input(
z.object({
params: zDeploymentServiceListRollbackTargetsPath,
@@ -364,13 +405,15 @@ export const listRollbackTargets = oc
.output(zDeploymentServiceListRollbackTargetsResponse)
export const cancelDeployment = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_CancelDeployment',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:cancelDeployment',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_CancelDeployment',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:cancelDeployment',
tags: ['DeploymentService'],
}),
)
.input(
z.object({
body: zDeploymentServiceCancelDeploymentBody,
@@ -380,46 +423,54 @@ export const cancelDeployment = oc
.output(zDeploymentServiceCancelDeploymentResponse)
export const promote = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Promote',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:promote',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Promote',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:promote',
tags: ['DeploymentService'],
}),
)
.input(z.object({ body: zDeploymentServicePromoteBody, params: zDeploymentServicePromotePath }))
.output(zDeploymentServicePromoteResponse)
export const rollback = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Rollback',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:rollback',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Rollback',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:rollback',
tags: ['DeploymentService'],
}),
)
.input(z.object({ body: zDeploymentServiceRollbackBody, params: zDeploymentServiceRollbackPath }))
.output(zDeploymentServiceRollbackResponse)
export const undeploy = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Undeploy',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:undeploy',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Undeploy',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/environments/{environmentId}:undeploy',
tags: ['DeploymentService'],
}),
)
.input(z.object({ body: zDeploymentServiceUndeployBody, params: zDeploymentServiceUndeployPath }))
.output(zDeploymentServiceUndeployResponse)
export const deploy = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Deploy',
path: '/enterprise/app-deploy/appInstances:deploy',
tags: ['DeploymentService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'DeploymentService_Deploy',
path: '/enterprise/app-deploy/appInstances:deploy',
tags: ['DeploymentService'],
}),
)
.input(z.object({ body: zDeploymentServiceDeployBody }))
.output(zDeploymentServiceDeployResponse)
@@ -435,13 +486,15 @@ export const deploymentService = {
}
export const listReleaseSummaries = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ListReleaseSummaries',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/releaseSummaries',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ListReleaseSummaries',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/releaseSummaries',
tags: ['ReleaseService'],
}),
)
.input(
z.object({
params: zReleaseServiceListReleaseSummariesPath,
@@ -451,13 +504,15 @@ export const listReleaseSummaries = oc
.output(zReleaseServiceListReleaseSummariesResponse)
export const listReleases = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ListReleases',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/releases',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ListReleases',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}/releases',
tags: ['ReleaseService'],
}),
)
.input(
z.object({
params: zReleaseServiceListReleasesPath,
@@ -467,13 +522,15 @@ export const listReleases = oc
.output(zReleaseServiceListReleasesResponse)
export const computeReleaseDeploymentView = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ComputeReleaseDeploymentView',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}:computeReleaseDeploymentView',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ComputeReleaseDeploymentView',
path: '/enterprise/app-deploy/appInstances/{appInstanceId}:computeReleaseDeploymentView',
tags: ['ReleaseService'],
}),
)
.input(
z.object({
params: zReleaseServiceComputeReleaseDeploymentViewPath,
@@ -483,92 +540,108 @@ export const computeReleaseDeploymentView = oc
.output(zReleaseServiceComputeReleaseDeploymentViewResponse)
export const createRelease = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'ReleaseService_CreateRelease',
path: '/enterprise/app-deploy/releases',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'ReleaseService_CreateRelease',
path: '/enterprise/app-deploy/releases',
tags: ['ReleaseService'],
}),
)
.input(z.object({ body: zReleaseServiceCreateReleaseBody }))
.output(zReleaseServiceCreateReleaseResponse)
export const deleteRelease = oc
.route({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'ReleaseService_DeleteRelease',
path: '/enterprise/app-deploy/releases/{releaseId}',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'DELETE',
operationId: 'ReleaseService_DeleteRelease',
path: '/enterprise/app-deploy/releases/{releaseId}',
tags: ['ReleaseService'],
}),
)
.input(z.object({ params: zReleaseServiceDeleteReleasePath }))
.output(zReleaseServiceDeleteReleaseResponse)
export const getRelease = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_GetRelease',
path: '/enterprise/app-deploy/releases/{releaseId}',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_GetRelease',
path: '/enterprise/app-deploy/releases/{releaseId}',
tags: ['ReleaseService'],
}),
)
.input(z.object({ params: zReleaseServiceGetReleasePath }))
.output(zReleaseServiceGetReleaseResponse)
export const updateRelease = oc
.route({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'ReleaseService_UpdateRelease',
path: '/enterprise/app-deploy/releases/{releaseId}',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'PATCH',
operationId: 'ReleaseService_UpdateRelease',
path: '/enterprise/app-deploy/releases/{releaseId}',
tags: ['ReleaseService'],
}),
)
.input(
z.object({ body: zReleaseServiceUpdateReleaseBody, params: zReleaseServiceUpdateReleasePath }),
)
.output(zReleaseServiceUpdateReleaseResponse)
export const exportReleaseDsl = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ExportReleaseDSL',
path: '/enterprise/app-deploy/releases/{releaseId}:exportDsl',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ExportReleaseDSL',
path: '/enterprise/app-deploy/releases/{releaseId}:exportDsl',
tags: ['ReleaseService'],
}),
)
.input(z.object({ params: zReleaseServiceExportReleaseDslPath }))
.output(zReleaseServiceExportReleaseDslResponse)
export const listReleaseCredentialCandidates = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ListReleaseCredentialCandidates',
path: '/enterprise/app-deploy/releases/{releaseId}:listCredentialCandidates',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ReleaseService_ListReleaseCredentialCandidates',
path: '/enterprise/app-deploy/releases/{releaseId}:listCredentialCandidates',
tags: ['ReleaseService'],
}),
)
.input(z.object({ params: zReleaseServiceListReleaseCredentialCandidatesPath }))
.output(zReleaseServiceListReleaseCredentialCandidatesResponse)
export const computeDeploymentOptions = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'ReleaseService_ComputeDeploymentOptions',
path: '/enterprise/app-deploy/releases:computeDeploymentOptions',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'ReleaseService_ComputeDeploymentOptions',
path: '/enterprise/app-deploy/releases:computeDeploymentOptions',
tags: ['ReleaseService'],
}),
)
.input(z.object({ body: zReleaseServiceComputeDeploymentOptionsBody }))
.output(zReleaseServiceComputeDeploymentOptionsResponse)
export const precheckRelease = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'ReleaseService_PrecheckRelease',
path: '/enterprise/app-deploy/releases:precheck',
tags: ['ReleaseService'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'ReleaseService_PrecheckRelease',
path: '/enterprise/app-deploy/releases:precheck',
tags: ['ReleaseService'],
}),
)
.input(z.object({ body: zReleaseServicePrecheckReleaseBody }))
.output(zReleaseServicePrecheckReleaseResponse)
@@ -587,14 +660,16 @@ export const releaseService = {
}
export const listEnvironments = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'EnvironmentService_ListEnvironments',
path: '/enterprise/app-deploy/environments',
tags: ['EnvironmentService'],
})
.input(z.object({ query: zEnvironmentServiceListEnvironmentsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'EnvironmentService_ListEnvironments',
path: '/enterprise/app-deploy/environments',
tags: ['EnvironmentService'],
}),
)
.input(z.object({ query: zEnvironmentServiceListEnvironmentsQuery.optional() }).optional())
.output(zEnvironmentServiceListEnvironmentsResponse)
export const environmentService = {
@@ -602,33 +677,39 @@ export const environmentService = {
}
export const oAuth2Login = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ConsoleSSO_OAuth2Login',
path: '/enterprise/sso/oauth2/login',
tags: ['ConsoleSSO'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ConsoleSSO_OAuth2Login',
path: '/enterprise/sso/oauth2/login',
tags: ['ConsoleSSO'],
}),
)
.output(zConsoleSsoOAuth2LoginResponse)
export const oidcLogin = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ConsoleSSO_OIDCLogin',
path: '/enterprise/sso/oidc/login',
tags: ['ConsoleSSO'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ConsoleSSO_OIDCLogin',
path: '/enterprise/sso/oidc/login',
tags: ['ConsoleSSO'],
}),
)
.output(zConsoleSsoOidcLoginResponse)
export const samlLogin = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ConsoleSSO_SAMLLogin',
path: '/enterprise/sso/saml/login',
tags: ['ConsoleSSO'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'ConsoleSSO_SAMLLogin',
path: '/enterprise/sso/saml/login',
tags: ['ConsoleSSO'],
}),
)
.output(zConsoleSsoSamlLoginResponse)
export const consoleSso = {
@@ -638,69 +719,81 @@ export const consoleSso = {
}
export const getWebAppAccessMode = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_GetWebAppAccessMode',
path: '/enterprise/webapp/app/access-mode',
tags: ['WebAppAuth'],
})
.input(z.object({ query: zWebAppAuthGetWebAppAccessModeQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_GetWebAppAccessMode',
path: '/enterprise/webapp/app/access-mode',
tags: ['WebAppAuth'],
}),
)
.input(z.object({ query: zWebAppAuthGetWebAppAccessModeQuery.optional() }).optional())
.output(zWebAppAuthGetWebAppAccessModeResponse)
export const updateWebAppWhitelistSubjects = oc
.route({
inputStructure: 'detailed',
method: 'POST',
operationId: 'WebAppAuth_UpdateWebAppWhitelistSubjects',
path: '/enterprise/webapp/app/access-mode',
tags: ['WebAppAuth'],
})
.meta(
openapi({
inputStructure: 'detailed',
method: 'POST',
operationId: 'WebAppAuth_UpdateWebAppWhitelistSubjects',
path: '/enterprise/webapp/app/access-mode',
tags: ['WebAppAuth'],
}),
)
.input(z.object({ body: zWebAppAuthUpdateWebAppWhitelistSubjectsBody }))
.output(zWebAppAuthUpdateWebAppWhitelistSubjectsResponse)
export const searchForWhilteListCandidates = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_SearchForWhilteListCandidates',
path: '/enterprise/webapp/app/subject/search',
tags: ['WebAppAuth'],
})
.input(z.object({ query: zWebAppAuthSearchForWhilteListCandidatesQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_SearchForWhilteListCandidates',
path: '/enterprise/webapp/app/subject/search',
tags: ['WebAppAuth'],
}),
)
.input(z.object({ query: zWebAppAuthSearchForWhilteListCandidatesQuery.optional() }).optional())
.output(zWebAppAuthSearchForWhilteListCandidatesResponse)
export const getWebAppWhitelistSubjects = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_GetWebAppWhitelistSubjects',
path: '/enterprise/webapp/app/subjects',
tags: ['WebAppAuth'],
})
.input(z.object({ query: zWebAppAuthGetWebAppWhitelistSubjectsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_GetWebAppWhitelistSubjects',
path: '/enterprise/webapp/app/subjects',
tags: ['WebAppAuth'],
}),
)
.input(z.object({ query: zWebAppAuthGetWebAppWhitelistSubjectsQuery.optional() }).optional())
.output(zWebAppAuthGetWebAppWhitelistSubjectsResponse)
export const getGroupSubjects = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_GetGroupSubjects',
path: '/enterprise/webapp/group/subjects',
tags: ['WebAppAuth'],
})
.input(z.object({ query: zWebAppAuthGetGroupSubjectsQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_GetGroupSubjects',
path: '/enterprise/webapp/group/subjects',
tags: ['WebAppAuth'],
}),
)
.input(z.object({ query: zWebAppAuthGetGroupSubjectsQuery.optional() }).optional())
.output(zWebAppAuthGetGroupSubjectsResponse)
export const isUserAllowedToAccessWebApp = oc
.route({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_IsUserAllowedToAccessWebApp',
path: '/enterprise/webapp/permission',
tags: ['WebAppAuth'],
})
.input(z.object({ query: zWebAppAuthIsUserAllowedToAccessWebAppQuery.optional() }))
.meta(
openapi({
inputStructure: 'detailed',
method: 'GET',
operationId: 'WebAppAuth_IsUserAllowedToAccessWebApp',
path: '/enterprise/webapp/permission',
tags: ['WebAppAuth'],
}),
)
.input(z.object({ query: zWebAppAuthIsUserAllowedToAccessWebAppQuery.optional() }).optional())
.output(zWebAppAuthIsUserAllowedToAccessWebAppResponse)
export const webAppAuth = {
+14 -13
View File
@@ -1,9 +1,10 @@
import type { InferContractRouterInputs } from '@orpc/contract'
import type { InferRouterContractInputs } from '@orpc/contract'
import { oc, type } from '@orpc/contract'
import { openapi } from '@orpc/openapi'
// This Marketplace contract is manually maintained because these APIs are not generated from Dify OpenAPI specs.
const base = oc.$route({ inputStructure: 'detailed' })
const base = oc.meta(openapi({ inputStructure: 'detailed' }))
export type SearchParamsFromCollection = {
query?: string
@@ -157,10 +158,10 @@ export type TemplateDetailResponse = {
export type DownloadPluginResponse = Blob
const collectionsContract = base
.route({
.meta(openapi({
path: '/collections',
method: 'GET',
})
}))
.input(
type<{
query?: CollectionsAndPluginsSearchParams & { page?: number, page_size?: number }
@@ -169,10 +170,10 @@ const collectionsContract = base
.output(type<CollectionsResponse>())
const collectionPluginsContract = base
.route({
.meta(openapi({
path: '/collections/{collectionId}/plugins',
method: 'POST',
})
}))
.input(
type<{
params: {
@@ -184,10 +185,10 @@ const collectionPluginsContract = base
.output(type<CollectionPluginsResponse>())
const searchAdvancedContract = base
.route({
.meta(openapi({
path: '/{kind}/search/advanced',
method: 'POST',
})
}))
.input(type<{
params: {
kind: 'plugins' | 'bundles'
@@ -197,10 +198,10 @@ const searchAdvancedContract = base
.output(type<SearchAdvancedResponse>())
const templateDetailContract = base
.route({
.meta(openapi({
path: '/templates/{templateId}',
method: 'GET',
})
}))
.input(type<{
params: {
templateId: string
@@ -209,10 +210,10 @@ const templateDetailContract = base
.output(type<TemplateDetailResponse>())
const downloadPluginContract = base
.route({
.meta(openapi({
path: '/plugins/{organization}/{pluginName}/{version}/download',
method: 'GET',
})
}))
.input(type<{
params: {
organization: string
@@ -230,4 +231,4 @@ export const marketplaceRouterContract = {
downloadPlugin: downloadPluginContract,
}
export type MarketPlaceInputs = InferContractRouterInputs<typeof marketplaceRouterContract>
export type MarketPlaceInputs = InferRouterContractInputs<typeof marketplaceRouterContract>
+5 -26
View File
@@ -43,12 +43,6 @@ type ApiJob = {
document: SwaggerDocument
outputPath: string
plugins?: UserConfig['plugins']
source?: {
callback: () => void
enabled: true
path: null
serialize: () => string
}
}
type ApiContractOperation = {
@@ -400,24 +394,6 @@ const writeConsoleRouterContract = (segments: string[]) => {
fs.writeFileSync(routerPath, consoleRouterContractContent(segments))
}
const createConsoleContractEntryJob = (document: SwaggerDocument, segments: string[]): ApiJob => {
return {
clean: false,
document,
outputPath: 'generated/api/console',
plugins: [],
source: {
callback: () => {
writeConsoleContractEntry(segments)
writeConsoleRouterContract(segments)
},
enabled: true,
path: null,
serialize: () => '',
},
}
}
const splitConsoleDocument = (document: SwaggerDocument) => {
const pathsBySegment = new Map<string, Record<string, Record<string, unknown>>>()
@@ -434,7 +410,10 @@ const splitConsoleDocument = (document: SwaggerDocument) => {
outputPath: `generated/api/console/${toKebabCase(segment)}`,
}))
return [...jobs, createConsoleContractEntryJob(document, segments)]
writeConsoleContractEntry(segments)
writeConsoleRouterContract(segments)
return jobs
}
const createApiJobs = (spec: ApiSpec): ApiJob[] => {
@@ -465,7 +444,6 @@ const createApiConfig = (job: ApiJob): UserConfig => ({
suffix: '.gen',
},
path: job.outputPath,
...(job.source ? { source: job.source } : {}),
},
plugins: job.plugins ?? [
{
@@ -494,6 +472,7 @@ const createApiConfig = (job: ApiJob): UserConfig => ({
},
},
{
compatibilityVersion: 2,
contracts: {
contractName: {
casing: 'camelCase',
@@ -326,6 +326,7 @@ export default defineConfig({
},
'zod',
{
compatibilityVersion: 2,
name: 'orpc',
contracts: {
strategy: 'single',
+1
View File
@@ -26,6 +26,7 @@
},
"dependencies": {
"@orpc/contract": "catalog:",
"@orpc/openapi": "catalog:",
"zod": "catalog:"
},
"devDependencies": {
+241 -124
View File
@@ -46,8 +46,8 @@ catalogs:
specifier: 2.2.0
version: 2.2.0
'@hey-api/openapi-ts':
specifier: 0.98.2
version: 0.98.2
specifier: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/openapi-ts@b686baf
version: 0.99.0
'@hono/node-server':
specifier: 2.0.6
version: 2.0.6
@@ -97,17 +97,17 @@ catalogs:
specifier: 16.2.9
version: 16.2.9
'@orpc/client':
specifier: 1.14.6
version: 1.14.6
specifier: 2.0.0-beta.11
version: 2.0.0-beta.11
'@orpc/contract':
specifier: 1.14.6
version: 1.14.6
'@orpc/openapi-client':
specifier: 1.14.6
version: 1.14.6
specifier: 2.0.0-beta.11
version: 2.0.0-beta.11
'@orpc/openapi':
specifier: 2.0.0-beta.11
version: 2.0.0-beta.11
'@orpc/tanstack-query':
specifier: 1.14.6
version: 1.14.6
specifier: 2.0.0-beta.11
version: 2.0.0-beta.11
'@playwright/test':
specifier: 1.61.1
version: 1.61.1
@@ -680,13 +680,13 @@ importers:
version: 1.3.0
'@orpc/client':
specifier: 'catalog:'
version: 1.14.6
version: 2.0.0-beta.11
'@orpc/contract':
specifier: 'catalog:'
version: 1.14.6
'@orpc/openapi-client':
version: 2.0.0-beta.11
'@orpc/openapi':
specifier: 'catalog:'
version: 1.14.6
version: 2.0.0-beta.11
cli-table3:
specifier: 'catalog:'
version: 0.6.5
@@ -795,7 +795,10 @@ importers:
dependencies:
'@orpc/contract':
specifier: 'catalog:'
version: 1.14.6
version: 2.0.0-beta.11
'@orpc/openapi':
specifier: 'catalog:'
version: 2.0.0-beta.11
zod:
specifier: 'catalog:'
version: 4.4.3
@@ -805,7 +808,7 @@ importers:
version: link:../tsconfig
'@hey-api/openapi-ts':
specifier: 'catalog:'
version: 0.98.2(magicast@0.5.3)(typescript@6.0.3)
version: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/openapi-ts@b686baf(magicast@0.5.3)
'@types/js-yaml':
specifier: 'catalog:'
version: 4.0.9
@@ -1116,16 +1119,16 @@ importers:
version: 4.7.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@orpc/client':
specifier: 'catalog:'
version: 1.14.6
version: 2.0.0-beta.11
'@orpc/contract':
specifier: 'catalog:'
version: 1.14.6
'@orpc/openapi-client':
version: 2.0.0-beta.11
'@orpc/openapi':
specifier: 'catalog:'
version: 1.14.6
version: 2.0.0-beta.11
'@orpc/tanstack-query':
specifier: 'catalog:'
version: 1.14.6(@orpc/client@1.14.6)(@tanstack/query-core@5.101.2)
version: 2.0.0-beta.11(@tanstack/query-core@5.101.2)
'@remixicon/react':
specifier: 'catalog:'
version: 4.9.0(react@19.2.7)
@@ -2364,31 +2367,46 @@ packages:
peerDependencies:
react: '>= 16 || ^19.0.0-rc'
'@hey-api/codegen-core@0.9.0':
resolution: {integrity: sha512-OK9/R8WuujwgvnrDIPnEiIf6WnfUOi3GaEr6kIngqoI5FUQwYbeDKHE/frTVUl2A76ZQPCrMknHtPx6Gqtwf8Q==}
'@hey-api/codegen-cli@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-cli@b686baf25a4562abeb7cc967105c434d5e50b13b':
resolution: {integrity: sha512-TlCrLrUvle0XLc779kixhRIYonoA2oNGile4dw0prnKEcC3jbMQBOR9qNsKoQzgKT56du7mHiNVLP4DKTQIziQ==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-cli@b686baf25a4562abeb7cc967105c434d5e50b13b}
version: 0.0.1
engines: {node: '>=22.18.0'}
'@hey-api/json-schema-ref-parser@1.4.3':
resolution: {integrity: sha512-UzGSDzh3QUhrnwl4atnHc2YqDO6KemYVEOwl1Ynowm/tcr0XlpdHOpyWr5UaWIJfiXTXdYRIC9k2Yxm19pcPzQ==}
'@hey-api/codegen-core@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-core@b686baf25a4562abeb7cc967105c434d5e50b13b':
resolution: {integrity: sha512-ClZNlKjFZwMFTawNoa7Ng+r08WFYktA54zkgieZX2Nom+Mw7D7Nzwr4eNOkCfVCvAEdBgWWvnL2cRXBffqKcgw==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-core@b686baf25a4562abeb7cc967105c434d5e50b13b}
version: 0.9.1
engines: {node: '>=22.18.0'}
'@hey-api/openapi-ts@0.98.2':
resolution: {integrity: sha512-2nVJXH8tpFPGTBOhxyjEd1Jw0hsRqJqeTQW3kltAjVdSU4YWxeu97x5sgNOmsbsfeg6Dqz7Wfzs26walBOuswA==}
'@hey-api/json-schema-ref-parser@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/json-schema-ref-parser@b686baf25a4562abeb7cc967105c434d5e50b13b':
resolution: {integrity: sha512-QHEvFv/JEz9Ni0NFjyD4Q6TWOEFH9ZhI882pbkmCyQxRAMOjJb4pW/czO4Cyr3NbSwqb+NJXcNjrGoA/+3/ShQ==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/json-schema-ref-parser@b686baf25a4562abeb7cc967105c434d5e50b13b}
version: 1.4.4
engines: {node: '>=22.18.0'}
'@hey-api/openapi-ts@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/openapi-ts@b686baf':
resolution: {integrity: sha512-E15D+2fq/8LHHkPWKY1SxcqcpZyqcM4N+1UD9TW4jKI/0Zv6IpkccFR9IVt0lEa92HhCzoSA/NGaJMyxJLK2qA==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/openapi-ts@b686baf}
version: 0.99.0
engines: {node: '>=22.18.0'}
hasBin: true
peerDependencies:
typescript: '>=5.5.3 || >=6.0.0 || 6.0.1-rc'
'@hey-api/shared@0.4.8':
resolution: {integrity: sha512-29Pg2FB0UW20pplYgcfiQn1hQYpbZ9D2gdDJc7nDK3xh3pvHOTGP0v3R2ueFpFnw9GN1SRhIdhiVuAYWMDimjA==}
'@hey-api/shared@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/shared@b686baf25a4562abeb7cc967105c434d5e50b13b':
resolution: {integrity: sha512-7EZBWexSHLGK+o/4B3zLmCBRCGiE2wmzvX2t+MSNvO4Ap/42qJfbSD9R34ke63FXtY7Bkx8w/3N0PG1KDVYn0Q==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/shared@b686baf25a4562abeb7cc967105c434d5e50b13b}
version: 0.5.0
engines: {node: '>=22.18.0'}
'@hey-api/spec-types@0.2.0':
resolution: {integrity: sha512-ibQ8Is7evMavzr8GNyJCcTg975d8DpaMUyLmOrQ85UBdy1l6t1KuRAwgChAbesJsIlNV6gjmlXruWyegDX18Fg==}
'@hey-api/spec-types@0.0.0-next-20260408030107':
resolution: {integrity: sha512-P5DKr4dpZ7lmZpZt2bc2KWuzU9vl4GZcN7VrjchZF1WWKNGZFnwWhBxZo1t6P2muOCopIvqD2Fvp5os4QiitKA==}
'@hey-api/spec-types@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/spec-types@b686baf25a4562abeb7cc967105c434d5e50b13b':
resolution: {integrity: sha512-8bUhpHmEVzOkUoIZMhwHCjwHIvbdqhX2RulyyjP/EFt8LVmHzUtUNjaq95qdgB5YFnzLaafeS3ujeVUJswW+Ig==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/spec-types@b686baf25a4562abeb7cc967105c434d5e50b13b}
version: 0.2.0
'@hey-api/types@0.1.4':
resolution: {integrity: sha512-thWfawrDIP7wSI9ioT13I5soaaqB5vAPIiZmgD8PbeEVKNrkonc0N/Sjj97ezl7oQgusZmaNphGdMKipPO6IBg==}
'@hey-api/types@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b':
resolution: {integrity: sha512-3nS1EGoYOcTneTpBccppcVwSlTe/KpumdjOKKM9rLsMwp+kxAAOa9vmWwG5L630Ml4GuiFvtH6yacYtcjeU4bA==, tarball: https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b}
version: 0.1.4
'@hono/node-server@2.0.6':
resolution: {integrity: sha512-7DeRlKG57JDBNZ5Qj2jwVdgwQy4b0tLubRLl3zCf91/rCf9i7p1V5FtW/yWibm1uUHE493ts9ZXH/7g/LQWl+g==}
engines: {node: '>=20'}
@@ -3185,36 +3203,51 @@ packages:
resolution: {integrity: sha512-y3SvzjuY1ygnzWA4Krwx/WaJAsTMP11DN+e21A8Fa8PW1oDtVB5NSRW7LWurAiS2oKRkuCgcjTYMkBuBkcPCRg==}
engines: {node: '>=12.4.0'}
'@orpc/client@1.14.6':
resolution: {integrity: sha512-Y03NcTtmEJdxcqkKBkdGxqe1IHVpD9IorshG4PaTnz9dQIW+RYI8anRo7o0IlbBlzBICN+Ubo1rnw6bpkhagCQ==}
'@orpc/client@2.0.0-beta.11':
resolution: {integrity: sha512-c0KF/nliuqi3yN6pkBLYUWO2hZ84PPdXYJk89/Cur83TK6w7/nfV1or9XoWLfjG5+evXMJ4F9pChNWAMLjwO6g==}
'@orpc/contract@1.14.6':
resolution: {integrity: sha512-o4i2ciYWtALidF969S8yj/VFk7ZUmHHKaYGRVitX5K2uMaSB8lJM6TMyBKzRC5Clo99VPjCb9mcl6jMLEAgmKw==}
'@orpc/contract@2.0.0-beta.11':
resolution: {integrity: sha512-NhGo6wmlli7vYExtbMMFnL/EDYzoUE2Ij9nvmT9jsWTTiWqwKLs8jzRZgvM0w73XAgzsm0ZLGVJxrjJ5+Na6Gg==}
'@orpc/openapi-client@1.14.6':
resolution: {integrity: sha512-Z0rdO+oVJTASat3fIQmLEjKnqRsjg4QsjRFwFamZ5W+Y076I3Lbp8XhVcMoHbKyfgm/TKnZu3y41b4NFfPBYiA==}
'@orpc/interop@2.0.0-beta.11':
resolution: {integrity: sha512-yznqeXrn/dKeV8FhlJZDTbhH/q33FAOU5NiVhUufb52zWvEFbF9jUzcyLq1+RYBwitUoL+pN+GRkBhFkD2Et1Q==}
'@orpc/shared@1.14.6':
resolution: {integrity: sha512-P2W+DdrUq18kUiF7nIw5wDOA0SR41mM/NsVKDVRsdyhdHk9V9KDuW1JRymyMl+7Wo5SDeSr1Rm/VjA5v08+PHw==}
'@orpc/json-schema@2.0.0-beta.11':
resolution: {integrity: sha512-aKIHaWmFRyCkliRBeHn6B+2KJFpqBd/++19EFMeHSx7R3OknOOxwUYHZJsAvDH1Y3M4NxI1cNWwdue1MWSblyA==}
'@orpc/openapi@2.0.0-beta.11':
resolution: {integrity: sha512-RryVbFLj6+2vh4MaX/AZaaM/f15Q2gx6nw8rvNsL2GvOaXdwzNyPwDQPh535HGnKIehcbyYrhJkKr26yoFoR+Q==}
peerDependencies:
'@scalar/api-reference': '>=1.57.2'
'@types/swagger-ui': '>=5.32.0'
swagger-ui: '>=5.32.6'
peerDependenciesMeta:
'@scalar/api-reference':
optional: true
'@types/swagger-ui':
optional: true
swagger-ui:
optional: true
'@orpc/server@2.0.0-beta.11':
resolution: {integrity: sha512-EWIANwO+f/8bT/vFfm9841m9PaCLg/iCadMPx2f+usjmihmxNGYoZbpAuoQF+fMaFKCondiZk2B8SwDwhVSV/w==}
peerDependencies:
crossws: '>=0.3.4'
peerDependenciesMeta:
crossws:
optional: true
'@orpc/shared@2.0.0-beta.11':
resolution: {integrity: sha512-PxAOAaxbGQ4DicjrRGMuTaT6lfi5eDaQD0RirjjQpKzy9moEN7bUpIeZCQcpehzlsMPlu6UOjieseylCr46eDA==}
peerDependencies:
'@opentelemetry/api': '>=1.9.0'
peerDependenciesMeta:
'@opentelemetry/api':
optional: true
'@orpc/standard-server-fetch@1.14.6':
resolution: {integrity: sha512-XnwEnHaKMMBoilK0QVwgMsUvDbCXyz6CDoLgMN51v+p3VSnwjIkrMdOwbc/sj43z6T4irQDu9Zm8T1pxxh1L8w==}
'@orpc/standard-server-peer@1.14.6':
resolution: {integrity: sha512-jwVGc5yRA5hk1F/W4yw45P2H4fbu4Tfsk62XijJBXRvtlSNKvvPAuwAd6jFv/fxnq2SH/uskgi91Ja9wgfnYDQ==}
'@orpc/standard-server@1.14.6':
resolution: {integrity: sha512-75Oh4rAZb8K7P46d6v7R2JhjqjLLEo7Qs4+ABdF+f0m0uKM1oaykJWy7leqTJ+WaYm+uDbsZl/3nyWie9aeJTg==}
'@orpc/tanstack-query@1.14.6':
resolution: {integrity: sha512-uCu6iTT0MDyk+ihba65N2CT56XYMny2N389l8pC+NIOQ7dG46RF98MhaQEvFUQo3atZb6pkKNWkg7BaA1Z9o7g==}
'@orpc/tanstack-query@2.0.0-beta.11':
resolution: {integrity: sha512-OL1uk2+VDpOsrrikPDp9uf58AHGYKbCbF4S0lkKaejdLQUf9TueIkdjoX+R7GIeN2yQow0BmmL4D7VmxhbRxug==}
peerDependencies:
'@orpc/client': 1.14.6
'@tanstack/query-core': '>=5.80.2'
'@ota-meshi/ast-token-store@0.3.0':
@@ -4334,6 +4367,21 @@ packages:
'@standard-schema/spec@1.1.0':
resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==}
'@standardserver/core@0.0.25':
resolution: {integrity: sha512-WIp2orfBhFIMfIqejN8O0UEP+dzcD1485J9nIURapD3tSo7jZ+ElgYhaLVc7Ilfmf6N9qIMrzSdLOTD7qjeL8w==}
'@standardserver/fetch@0.0.25':
resolution: {integrity: sha512-8VpXDUTdhoqngX/pE6vv60rqtvds6N+KdQgo7JlKTYULgJOYToxuU6Imc2tp6nl+QHierhoP0pxRlbrpwL6ATg==}
'@standardserver/node@0.0.25':
resolution: {integrity: sha512-pSgTBPw6eKzsHwYOXwjt5jZmWzd7ePiNCnfMS0jUZci5QLWyUvL951dDF+6ERuxqE11BKXX5HjPcw9aaKTH3ig==}
'@standardserver/peer@0.0.25':
resolution: {integrity: sha512-tTe9ZSdFTYdhMH5T7UlujWFCU033jL5e6OJ3CgwSyhJp4iOWGaxNtYPq6CDXD0cQRJJpdOcKfoQ8PkmOwxWU8Q==}
'@standardserver/shared@0.0.25':
resolution: {integrity: sha512-w7c+dXX9Si2Gi5OJFqe0Yh+hhn2EC2MV3q7AUtTQTUadOb7vZ4Yb/4jgz9O8aTiwjK1UPAk/xWINLC/Ip2j7TA==}
'@storybook/addon-a11y@10.4.6':
resolution: {integrity: sha512-XCJy+f0DFOiCgUU9knRDlLDxVFI+AAQ3/wE/NF85zB9iDPPS2DwkSN+mas3zDgHt66zhN8Cq3/UiyCDUweV9Zw==}
peerDependencies:
@@ -5727,6 +5775,9 @@ packages:
resolution: {integrity: sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==}
engines: {node: '>=8'}
citty@0.2.2:
resolution: {integrity: sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==}
class-transformer@0.5.1:
resolution: {integrity: sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==}
@@ -5836,6 +5887,10 @@ packages:
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
cookie@1.1.1:
resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
engines: {node: '>=18'}
copy-to-clipboard@4.0.2:
resolution: {integrity: sha512-gklSft7IuhriZKHKpuoA1fpJSLPNgvUMWMo5BlnzAJm0zNKnznoSv23IjtNqclx8eKi6ZcdvFFzYEER/+U1LoQ==}
@@ -7421,6 +7476,10 @@ packages:
resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==}
hasBin: true
js-yaml@5.2.0:
resolution: {integrity: sha512-YeLUMlvR4Ou1B119LIaM0r65JvbOBooJDc9yEu0dClb/uSC5P4FrLU8OCCz/HXWvtPoIrR0dRzABTjo1sTN9Bw==}
hasBin: true
jsdoc-type-pratt-parser@7.1.1:
resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==}
engines: {node: '>=20.0.0'}
@@ -7440,6 +7499,9 @@ packages:
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
json-schema-typed@8.0.2:
resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
@@ -8276,9 +8338,6 @@ packages:
resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==}
engines: {node: '>=20'}
openapi-types@12.1.3:
resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
@@ -8926,8 +8985,8 @@ packages:
engines: {node: '>=10'}
hasBin: true
semver@7.8.2:
resolution: {integrity: sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==}
semver@7.8.4:
resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==}
engines: {node: '>=10'}
hasBin: true
@@ -11085,56 +11144,65 @@ snapshots:
dependencies:
react: 19.2.7
'@hey-api/codegen-core@0.9.0(magicast@0.5.3)':
'@hey-api/codegen-cli@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-cli@b686baf25a4562abeb7cc967105c434d5e50b13b':
dependencies:
'@hey-api/types': 0.1.4
citty: 0.2.2
'@hey-api/codegen-core@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-core@b686baf25a4562abeb7cc967105c434d5e50b13b(magicast@0.5.3)':
dependencies:
'@hey-api/types': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b
ansi-colors: 4.1.3
c12: 3.3.4(magicast@0.5.3)
color-support: 1.1.3
transitivePeerDependencies:
- magicast
'@hey-api/json-schema-ref-parser@1.4.3':
'@hey-api/json-schema-ref-parser@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/json-schema-ref-parser@b686baf25a4562abeb7cc967105c434d5e50b13b':
dependencies:
'@jsdevtools/ono': 7.1.3
'@types/json-schema': 7.0.15
js-yaml: 4.3.0
js-yaml: 5.2.0
'@hey-api/openapi-ts@0.98.2(magicast@0.5.3)(typescript@6.0.3)':
'@hey-api/openapi-ts@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/openapi-ts@b686baf(magicast@0.5.3)':
dependencies:
'@hey-api/codegen-core': 0.9.0(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': 1.4.3
'@hey-api/shared': 0.4.8(magicast@0.5.3)
'@hey-api/spec-types': 0.2.0
'@hey-api/types': 0.1.4
'@hey-api/codegen-cli': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-cli@b686baf25a4562abeb7cc967105c434d5e50b13b
'@hey-api/codegen-core': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-core@b686baf25a4562abeb7cc967105c434d5e50b13b(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/json-schema-ref-parser@b686baf25a4562abeb7cc967105c434d5e50b13b
'@hey-api/shared': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/shared@b686baf25a4562abeb7cc967105c434d5e50b13b(magicast@0.5.3)
'@hey-api/spec-types': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/spec-types@b686baf25a4562abeb7cc967105c434d5e50b13b
'@hey-api/types': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b
'@lukeed/ms': 2.0.2
ansi-colors: 4.1.3
color-support: 1.1.3
commander: 15.0.0
get-tsconfig: 4.14.0
typescript: 6.0.3
transitivePeerDependencies:
- magicast
'@hey-api/shared@0.4.8(magicast@0.5.3)':
'@hey-api/shared@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/shared@b686baf25a4562abeb7cc967105c434d5e50b13b(magicast@0.5.3)':
dependencies:
'@hey-api/codegen-core': 0.9.0(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': 1.4.3
'@hey-api/spec-types': 0.2.0
'@hey-api/types': 0.1.4
'@hey-api/codegen-core': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/codegen-core@b686baf25a4562abeb7cc967105c434d5e50b13b(magicast@0.5.3)
'@hey-api/json-schema-ref-parser': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/json-schema-ref-parser@b686baf25a4562abeb7cc967105c434d5e50b13b
'@hey-api/spec-types': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/spec-types@b686baf25a4562abeb7cc967105c434d5e50b13b
'@hey-api/types': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b
ansi-colors: 4.1.3
cross-spawn: 7.0.6
open: 11.0.0
semver: 7.8.2
semver: 7.8.4
transitivePeerDependencies:
- magicast
'@hey-api/spec-types@0.2.0':
'@hey-api/spec-types@0.0.0-next-20260408030107':
dependencies:
'@hey-api/types': 0.1.4
'@hey-api/spec-types@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/spec-types@b686baf25a4562abeb7cc967105c434d5e50b13b':
dependencies:
'@hey-api/types': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b
'@hey-api/types@0.1.4': {}
'@hey-api/types@https://pkg.pr.new/hyoban/openapi-ts/@hey-api/types@b686baf25a4562abeb7cc967105c434d5e50b13b': {}
'@hono/node-server@2.0.6(hono@4.12.27)':
dependencies:
hono: 4.12.27
@@ -11864,65 +11932,85 @@ snapshots:
'@nolyfill/side-channel@1.0.44': {}
'@orpc/client@1.14.6':
'@orpc/client@2.0.0-beta.11':
dependencies:
'@orpc/shared': 1.14.6
'@orpc/standard-server': 1.14.6
'@orpc/standard-server-fetch': 1.14.6
'@orpc/standard-server-peer': 1.14.6
'@orpc/shared': 2.0.0-beta.11
'@standardserver/core': 0.0.25
'@standardserver/fetch': 0.0.25
'@standardserver/peer': 0.0.25
transitivePeerDependencies:
- '@opentelemetry/api'
'@orpc/contract@1.14.6':
'@orpc/contract@2.0.0-beta.11':
dependencies:
'@orpc/client': 1.14.6
'@orpc/shared': 1.14.6
'@orpc/client': 2.0.0-beta.11
'@orpc/shared': 2.0.0-beta.11
'@standard-schema/spec': 1.1.0
openapi-types: 12.1.3
transitivePeerDependencies:
- '@opentelemetry/api'
'@orpc/openapi-client@1.14.6':
'@orpc/interop@2.0.0-beta.11': {}
'@orpc/json-schema@2.0.0-beta.11':
dependencies:
'@orpc/client': 1.14.6
'@orpc/contract': 1.14.6
'@orpc/shared': 1.14.6
'@orpc/standard-server': 1.14.6
'@orpc/client': 2.0.0-beta.11
'@orpc/contract': 2.0.0-beta.11
'@orpc/server': 2.0.0-beta.11
'@orpc/shared': 2.0.0-beta.11
'@standard-schema/spec': 1.1.0
json-schema-typed: 8.0.2
transitivePeerDependencies:
- '@opentelemetry/api'
- crossws
'@orpc/openapi@2.0.0-beta.11':
dependencies:
'@hey-api/spec-types': 0.0.0-next-20260408030107
'@orpc/client': 2.0.0-beta.11
'@orpc/contract': 2.0.0-beta.11
'@orpc/json-schema': 2.0.0-beta.11
'@orpc/server': 2.0.0-beta.11
'@orpc/shared': 2.0.0-beta.11
'@standardserver/core': 0.0.25
'@standardserver/fetch': 0.0.25
rou3: 0.8.1
transitivePeerDependencies:
- '@opentelemetry/api'
- crossws
'@orpc/server@2.0.0-beta.11':
dependencies:
'@orpc/client': 2.0.0-beta.11
'@orpc/contract': 2.0.0-beta.11
'@orpc/interop': 2.0.0-beta.11
'@orpc/shared': 2.0.0-beta.11
'@standardserver/core': 0.0.25
'@standardserver/fetch': 0.0.25
'@standardserver/node': 0.0.25
'@standardserver/peer': 0.0.25
cookie: 1.1.1
transitivePeerDependencies:
- '@opentelemetry/api'
'@orpc/shared@1.14.6':
'@orpc/shared@2.0.0-beta.11':
dependencies:
'@standardserver/shared': 0.0.25
radash: 12.1.1
type-fest: 5.7.0
'@orpc/standard-server-fetch@1.14.6':
'@orpc/tanstack-query@2.0.0-beta.11(@tanstack/query-core@5.101.2)':
dependencies:
'@orpc/shared': 1.14.6
'@orpc/standard-server': 1.14.6
transitivePeerDependencies:
- '@opentelemetry/api'
'@orpc/standard-server-peer@1.14.6':
dependencies:
'@orpc/shared': 1.14.6
'@orpc/standard-server': 1.14.6
transitivePeerDependencies:
- '@opentelemetry/api'
'@orpc/standard-server@1.14.6':
dependencies:
'@orpc/shared': 1.14.6
transitivePeerDependencies:
- '@opentelemetry/api'
'@orpc/tanstack-query@1.14.6(@orpc/client@1.14.6)(@tanstack/query-core@5.101.2)':
dependencies:
'@orpc/client': 1.14.6
'@orpc/shared': 1.14.6
'@orpc/client': 2.0.0-beta.11
'@orpc/contract': 2.0.0-beta.11
'@orpc/openapi': 2.0.0-beta.11
'@orpc/shared': 2.0.0-beta.11
'@tanstack/query-core': 5.101.2
transitivePeerDependencies:
- '@opentelemetry/api'
- '@scalar/api-reference'
- '@types/swagger-ui'
- crossws
- swagger-ui
'@ota-meshi/ast-token-store@0.3.0': {}
@@ -12661,6 +12749,28 @@ snapshots:
'@standard-schema/spec@1.1.0': {}
'@standardserver/core@0.0.25':
dependencies:
'@standardserver/shared': 0.0.25
'@standardserver/fetch@0.0.25':
dependencies:
'@standardserver/core': 0.0.25
'@standardserver/shared': 0.0.25
'@standardserver/node@0.0.25':
dependencies:
'@standardserver/core': 0.0.25
'@standardserver/fetch': 0.0.25
'@standardserver/shared': 0.0.25
'@standardserver/peer@0.0.25':
dependencies:
'@standardserver/core': 0.0.25
'@standardserver/shared': 0.0.25
'@standardserver/shared@0.0.25': {}
'@storybook/addon-a11y@10.4.6(storybook@10.4.6(@testing-library/dom@10.4.1)(@types/react@19.2.17)(react@19.2.7)(vite-plus@0.2.1(@types/node@26.0.1)(@vitest/browser-playwright@4.1.9)(@vitest/coverage-v8@4.1.9)(@voidzero-dev/vite-plus-core@0.2.1(@types/node@26.0.1)(esbuild@0.28.1)(jiti@2.7.0)(tsx@4.22.4)(typescript@6.0.3)(yaml@2.9.0))(esbuild@0.28.1)(happy-dom@20.10.6)(jiti@2.7.0)(tsx@4.22.4)(typescript@6.0.3)(yaml@2.9.0)))':
dependencies:
'@storybook/global': 5.0.0
@@ -14311,6 +14421,8 @@ snapshots:
ci-info@4.4.0: {}
citty@0.2.2: {}
class-transformer@0.5.1: {}
class-variance-authority@0.7.1:
@@ -14412,6 +14524,8 @@ snapshots:
convert-source-map@2.0.0: {}
cookie@1.1.1: {}
copy-to-clipboard@4.0.2: {}
core-js-compat@3.49.0:
@@ -16696,6 +16810,10 @@ snapshots:
dependencies:
argparse: 2.0.1
js-yaml@5.2.0:
dependencies:
argparse: 2.0.1
jsdoc-type-pratt-parser@7.1.1: {}
jsdoc-type-pratt-parser@7.2.0: {}
@@ -16706,6 +16824,8 @@ snapshots:
json-schema-traverse@0.4.1: {}
json-schema-typed@8.0.2: {}
json-stable-stringify-without-jsonify@1.0.1: {}
json5@2.2.3: {}
@@ -17706,8 +17826,6 @@ snapshots:
powershell-utils: 0.1.0
wsl-utils: 0.3.1
openapi-types@12.1.3: {}
optionator@0.9.4:
dependencies:
deep-is: 0.1.4
@@ -18702,7 +18820,7 @@ snapshots:
semver@7.8.1: {}
semver@7.8.2: {}
semver@7.8.4: {}
semver@7.8.5: {}
@@ -20056,7 +20174,6 @@ time:
'@floating-ui/react@0.27.19': '2026-03-03T03:02:09.664Z'
'@formatjs/intl-localematcher@0.8.10': '2026-06-04T15:24:22.451Z'
'@heroicons/react@2.2.0': '2024-11-18T15:33:27.317Z'
'@hey-api/openapi-ts@0.98.2': '2026-06-08T05:37:17.524Z'
'@hono/node-server@2.0.6': '2026-06-22T12:00:41.677Z'
'@iconify-json/heroicons@1.2.3': '2025-09-20T05:33:02.364Z'
'@iconify-json/ri@1.2.10': '2026-02-10T08:41:46.666Z'
@@ -20073,10 +20190,10 @@ time:
'@napi-rs/keyring@1.3.0': '2026-04-30T09:56:44.246Z'
'@next/eslint-plugin-next@16.2.9': '2026-06-09T23:01:50.881Z'
'@next/mdx@16.2.9': '2026-06-09T23:02:41.785Z'
'@orpc/client@1.14.6': '2026-06-12T04:16:43.092Z'
'@orpc/contract@1.14.6': '2026-06-12T04:16:50.143Z'
'@orpc/openapi-client@1.14.6': '2026-06-12T04:17:49.271Z'
'@orpc/tanstack-query@1.14.6': '2026-06-12T04:17:13.682Z'
'@orpc/client@2.0.0-beta.11': '2026-07-01T13:08:30.064Z'
'@orpc/contract@2.0.0-beta.11': '2026-07-01T13:08:36.627Z'
'@orpc/openapi@2.0.0-beta.11': '2026-07-01T13:09:11.207Z'
'@orpc/tanstack-query@2.0.0-beta.11': '2026-07-01T13:09:28.511Z'
'@playwright/test@1.61.1': '2026-06-23T19:49:12.825Z'
'@remixicon/react@4.9.0': '2026-01-29T10:53:18.993Z'
'@rgrove/parse-xml@4.2.1': '2026-06-27T22:42:58.548Z'
+10 -5
View File
@@ -17,6 +17,11 @@ shellEmulator: true
strictDepBuilds: true
trustPolicy: no-downgrade
trustPolicyExclude:
- '@standardserver/core@0.0.25'
- '@standardserver/fetch@0.0.25'
- '@standardserver/node@0.0.25'
- '@standardserver/peer@0.0.25'
- '@standardserver/shared@0.0.25'
- chokidar@4.0.3
- reselect@5.1.1
- semver@6.3.1
@@ -64,7 +69,7 @@ catalog:
'@floating-ui/react': 0.27.19
'@formatjs/intl-localematcher': 0.8.10
'@heroicons/react': 2.2.0
'@hey-api/openapi-ts': 0.98.2
'@hey-api/openapi-ts': https://pkg.pr.new/hyoban/openapi-ts/@hey-api/openapi-ts@b686baf
'@hono/node-server': 2.0.6
'@iconify-json/heroicons': 1.2.3
'@iconify-json/ri': 1.2.10
@@ -82,10 +87,10 @@ catalog:
'@napi-rs/keyring': 1.3.0
'@next/eslint-plugin-next': 16.2.9
'@next/mdx': 16.2.9
'@orpc/client': 1.14.6
'@orpc/contract': 1.14.6
'@orpc/openapi-client': 1.14.6
'@orpc/tanstack-query': 1.14.6
'@orpc/client': 2.0.0-beta.11
'@orpc/contract': 2.0.0-beta.11
'@orpc/openapi': 2.0.0-beta.11
'@orpc/tanstack-query': 2.0.0-beta.11
'@playwright/test': 1.61.1
'@remixicon/react': 4.9.0
'@rgrove/parse-xml': 4.2.1
@@ -67,9 +67,7 @@ export const useSnippetInit = (snippetId: string) => {
nodesDefaultConfigs: normalizeNodesDefaultConfigs(nodesDefaultConfigs),
})
})
const publishedWorkflowQuery = useSnippetPublishedWorkflow(snippetId, (publishedWorkflow) => {
workflowStore.getState().setPublishedAt(publishedWorkflow.created_at)
})
const publishedWorkflowQuery = useSnippetPublishedWorkflow(snippetId)
useEffect(() => {
if (publishedWorkflowQuery.isLoading)
@@ -1,6 +1,6 @@
'use client'
import type { SandboxFileEntryResponse, SandboxListResponse, SandboxReadResponse } from '@dify/contracts/api/console/agent/types.gen'
import type { SandboxFileEntryResponse, SandboxReadResponse } from '@dify/contracts/api/console/agent/types.gen'
import type { AgentFileNode } from '@/features/agent-v2/agent-composer/form-state'
import { Dialog } from '@langgenius/dify-ui/dialog'
import { skipToken, useQueries, useQuery } from '@tanstack/react-query'
@@ -223,15 +223,20 @@ export function AgentWorkingDirectoryPanel({
const fileListQueryOptions = getFileListQueryOptions('.')
const fileListQuery = useQuery({
...fileListQueryOptions,
queryFn: async (context): Promise<SandboxListResponse> => {
queryFn: async (context) => {
try {
return await fileListQueryOptions.queryFn(context)
const queryFn = fileListQueryOptions.queryFn
return await queryFn({
...context,
queryKey: fileListQueryOptions.queryKey,
} as Parameters<typeof queryFn>[0])
}
catch (error) {
if (await isNoActiveSessionError(error)) {
return {
entries: [],
path: '.',
truncated: false,
}
}
@@ -247,15 +252,20 @@ export function AgentWorkingDirectoryPanel({
return {
...queryOptions,
queryFn: async (context): Promise<SandboxListResponse> => {
queryFn: async (context) => {
try {
return await queryOptions.queryFn(context)
const queryFn = queryOptions.queryFn
return await queryFn({
...context,
queryKey: queryOptions.queryKey,
} as Parameters<typeof queryFn>[0])
}
catch (error) {
if (await isNoActiveSessionError(error)) {
return {
entries: [],
path,
truncated: false,
}
}
+1 -1
View File
@@ -68,7 +68,7 @@
"@monaco-editor/react": "catalog:",
"@orpc/client": "catalog:",
"@orpc/contract": "catalog:",
"@orpc/openapi-client": "catalog:",
"@orpc/openapi": "catalog:",
"@orpc/tanstack-query": "catalog:",
"@remixicon/react": "catalog:",
"@sentry/react": "catalog:",
+41 -39
View File
@@ -1,10 +1,9 @@
import type { ApiBasedExtensionResponse } from '@dify/contracts/api/console/api-based-extension/types.gen'
import type { TagResponse as Tag } from '@dify/contracts/api/console/tags/types.gen'
import type { MutationFunctionContext, QueryFunctionContext } from '@tanstack/react-query'
import type { MutationFunctionContext } from '@tanstack/react-query'
import type { consoleQuery as ConsoleQuery } from './client'
import { QueryClient } from '@tanstack/react-query'
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
import { normalizeConsoleOpenAPIURL } from './console-openapi-url'
const loadGetBaseURL = async (isClientValue: boolean) => {
vi.resetModules()
@@ -243,9 +242,12 @@ describe('consoleQuery transport context', () => {
},
})
await Promise
.resolve(queryOptions.queryFn({ signal: new AbortController().signal } as QueryFunctionContext))
.catch(() => undefined)
await Promise.resolve(
queryOptions.queryFn({
signal: new AbortController().signal,
queryKey: queryOptions.queryKey,
} as Parameters<typeof queryOptions.queryFn>[0]),
).catch(() => undefined)
expect(request).toHaveBeenCalledWith(
expect.stringContaining('/agent/agent-1/build-draft'),
@@ -282,7 +284,10 @@ describe('consoleQuery transport context', () => {
},
})
await queryOptions.queryFn({ signal: new AbortController().signal } as QueryFunctionContext)
await queryOptions.queryFn({
signal: new AbortController().signal,
queryKey: queryOptions.queryKey,
} as Parameters<typeof queryOptions.queryFn>[0])
expect(request).toHaveBeenCalledWith(
expect.stringContaining('/trial-apps/app-1/datasets?ids=id-1&ids=id-2'),
@@ -293,46 +298,43 @@ describe('consoleQuery transport context', () => {
)
expect(request.mock.calls[0]![0]).not.toContain('ids%5B0%5D')
})
})
// Scenario: console OpenAPI query arrays follow backend parser expectations.
describe('normalizeConsoleOpenAPIURL', () => {
it('should serialize repeated-only query arrays as repeated params', () => {
const url = normalizeConsoleOpenAPIURL(
'https://example.com/console/api/agent/agent-1/logs?sources%5B1%5D=debug&sources%5B0%5D=api&statuses%5B0%5D=success&keyword=test',
)
const searchParams = new URL(url).searchParams
it('should serialize app list query arrays as repeated params', async () => {
const request = vi.fn().mockResolvedValue(new Response(JSON.stringify({
data: [],
has_more: false,
limit: 20,
page: 1,
total: 0,
}), {
status: 200,
headers: {
'content-type': 'application/json',
},
}))
const consoleQuery = await loadConsoleQueryWithRequest(request)
const queryOptions = consoleQuery.apps.get.queryOptions({
input: {
query: {
creator_ids: ['9e8959cf-a67b-4d34-9906-1d687517b248'],
tag_ids: ['8c4ef3d1-58a1-4d94-8a1c-1c171d889e08'],
},
},
})
expect(searchParams.getAll('sources')).toEqual(['api', 'debug'])
expect(searchParams.getAll('statuses')).toEqual(['success'])
expect(searchParams.get('keyword')).toBe('test')
expect(searchParams.has('sources[0]')).toBe(false)
expect(searchParams.has('statuses[0]')).toBe(false)
})
await queryOptions.queryFn({
signal: new AbortController().signal,
queryKey: queryOptions.queryKey,
} as Parameters<typeof queryOptions.queryFn>[0])
it('should serialize app list query arrays as repeated params', () => {
const url = normalizeConsoleOpenAPIURL(
'https://example.com/console/api/apps?tag_ids%5B0%5D=tag-1&creator_ids%5B0%5D=user-1',
)
const searchParams = new URL(url).searchParams
const url = new URL(request.mock.calls[0]![0])
const searchParams = url.searchParams
expect(searchParams.getAll('tag_ids')).toEqual(['tag-1'])
expect(searchParams.getAll('creator_ids')).toEqual(['user-1'])
expect(searchParams.getAll('tag_ids')).toEqual(['8c4ef3d1-58a1-4d94-8a1c-1c171d889e08'])
expect(searchParams.getAll('creator_ids')).toEqual(['9e8959cf-a67b-4d34-9906-1d687517b248'])
expect(searchParams.has('tag_ids[0]')).toBe(false)
expect(searchParams.has('creator_ids[0]')).toBe(false)
})
it('should serialize snippet list query arrays as repeated params', () => {
const url = normalizeConsoleOpenAPIURL(
'https://example.com/console/api/workspaces/current/customized-snippets?tag_ids%5B0%5D=tag-1&creators%5B0%5D=user-1',
)
const searchParams = new URL(url).searchParams
expect(searchParams.getAll('tag_ids')).toEqual(['tag-1'])
expect(searchParams.getAll('creators')).toEqual(['user-1'])
expect(searchParams.has('tag_ids[0]')).toBe(false)
expect(searchParams.has('creators[0]')).toBe(false)
})
})
// Scenario: oRPC mutation defaults own shared Agent roster cache behavior.
+24 -15
View File
@@ -8,13 +8,13 @@ import type {
PrecheckReleaseRequest,
} from '@dify/contracts/enterprise/types.gen'
import type { ClientLink } from '@orpc/client'
import type { AnyContractRouter, ContractRouterClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi-client'
import type { RouterContract, RouterContractClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi'
import type { RouterUtils, TanstackQueryOperationContext } from '@orpc/tanstack-query'
import type { InfiniteData, QueryClient, QueryKey } from '@tanstack/react-query'
import { marketplaceRouterContract } from '@dify/contracts/marketplace'
import { createORPCClient, onError } from '@orpc/client'
import { OpenAPILink } from '@orpc/openapi-client/fetch'
import { OpenAPILink } from '@orpc/openapi/fetch'
import { createTanstackQueryUtils } from '@orpc/tanstack-query'
import {
API_PREFIX,
@@ -26,7 +26,6 @@ import { isClient } from '@/utils/client'
// eslint-disable-next-line no-restricted-imports
import { request } from './base'
import { createConsoleDynamicLink } from './console-link'
import { normalizeConsoleOpenAPIURL } from './console-openapi-url'
function getMarketplaceHeaders() {
return new Headers({
@@ -59,18 +58,28 @@ export function getBaseURL(path: string) {
return url
}
function getOpenAPILinkURL(path: string) {
const url = getBaseURL(path)
return {
origin: url.origin,
url: `${url.pathname}${url.search}` as `/${string}`,
}
}
export type ConsoleClientContext = TanstackQueryOperationContext & {
silent?: boolean
}
type ConsoleClientLink = ClientLink<ConsoleClientContext>
function createConsoleOpenAPILink(contract: AnyContractRouter): ConsoleClientLink {
function createConsoleOpenAPILink(contract: RouterContract): ConsoleClientLink {
return new OpenAPILink<ConsoleClientContext>(contract, {
url: getBaseURL(API_PREFIX),
fetch: (input, init, options) => {
...getOpenAPILinkURL(API_PREFIX),
fetch: (url, init, options) => {
const input = new Request(url, init)
return request(
normalizeConsoleOpenAPIURL(input.url),
url,
init,
{
fetchCompat: true,
@@ -88,10 +97,10 @@ function createConsoleOpenAPILink(contract: AnyContractRouter): ConsoleClientLin
}
const marketplaceLink = new OpenAPILink(marketplaceRouterContract, {
url: MARKETPLACE_API_PREFIX,
...getOpenAPILinkURL(MARKETPLACE_API_PREFIX),
headers: () => (getMarketplaceHeaders()),
fetch: (request, init) => {
return globalThis.fetch(request, {
fetch: (url, init) => {
return globalThis.fetch(url, {
...init,
cache: 'no-store',
})
@@ -103,7 +112,7 @@ const marketplaceLink = new OpenAPILink(marketplaceRouterContract, {
],
})
export const marketplaceClient: JsonifiedClient<ContractRouterClient<typeof marketplaceRouterContract>> = createORPCClient(marketplaceLink)
export const marketplaceClient: JsonifiedClient<RouterContractClient<typeof marketplaceRouterContract>> = createORPCClient(marketplaceLink)
export const marketplaceQuery = createTanstackQueryUtils(marketplaceClient, { path: ['marketplace'] })
const APP_DEPLOY_SOURCE_APPS_PAGE_SIZE = 100
@@ -123,7 +132,7 @@ type AppDeployInvalidationOptions = {
developerApiSettings?: boolean
}
type ConsoleQueryUtils = RouterUtils<JsonifiedClient<ContractRouterClient<typeof consoleRouterContract, ConsoleClientContext>>>
type ConsoleQueryUtils = RouterUtils<JsonifiedClient<RouterContractClient<typeof consoleRouterContract, ConsoleClientContext>>>
function isTagType(type: string | null | undefined): type is TagType {
return type === 'app' || type === 'knowledge' || type === 'snippet'
@@ -358,11 +367,11 @@ async function invalidateReleaseMutationQueries(
const consoleLink = createConsoleDynamicLink<ConsoleClientContext>(createConsoleOpenAPILink)
export const consoleClient: JsonifiedClient<ContractRouterClient<typeof consoleRouterContract, ConsoleClientContext>> = createORPCClient(consoleLink)
export const consoleClient: JsonifiedClient<RouterContractClient<typeof consoleRouterContract, ConsoleClientContext>> = createORPCClient(consoleLink)
export const consoleQuery: RouterUtils<typeof consoleClient> = createTanstackQueryUtils(consoleClient, {
path: ['console'],
experimental_defaults: {
scoped: {
apps: {
byAppId: {
workflows: {
+8 -6
View File
@@ -1,10 +1,10 @@
import type { ClientContext, ClientLink } from '@orpc/client'
import type { AnyContractRouter } from '@orpc/contract'
import type { RouterContract } from '@orpc/contract'
import { DynamicLink } from '@orpc/client'
import { loadConsoleContractForSegment } from './console-router-loader'
export function createConsoleDynamicLink<TContext extends ClientContext>(
createLink: (contract: AnyContractRouter) => ClientLink<TContext>,
createLink: (contract: RouterContract) => ClientLink<TContext>,
) {
const routerLinkPromises = new Map<string, Promise<ClientLink<TContext>>>()
@@ -15,10 +15,12 @@ export function createConsoleDynamicLink<TContext extends ClientContext>(
let routerLinkPromise = routerLinkPromises.get(segment)
if (!routerLinkPromise) {
routerLinkPromise = loadConsoleContractForSegment(segment).then(createLink).catch((error) => {
routerLinkPromises.delete(segment)
throw error
})
routerLinkPromise = loadConsoleContractForSegment(segment)
.then(createLink)
.catch((error) => {
routerLinkPromises.delete(segment)
throw error
})
routerLinkPromises.set(segment, routerLinkPromise)
}
-64
View File
@@ -1,64 +0,0 @@
type QueryArrayCompatibilityRule = {
path: RegExp
fields: readonly string[]
}
// Keep oRPC query-array compatibility at the console OpenAPI transport boundary instead of
// making backend handlers accept multiple serialized forms. oRPC v2 supports custom query
// parameter serialization, so this bridge can be removed once we configure repeated keys there.
const repeatedQueryArrayRules: readonly QueryArrayCompatibilityRule[] = [
{ path: /\/agent$/, fields: ['tag_ids', 'creator_ids'] },
{ path: /\/agent\/[^/]+\/logs$/, fields: ['sources', 'statuses'] },
{ path: /\/agent\/[^/]+\/logs\/[^/]+\/messages$/, fields: ['sources', 'statuses'] },
{ path: /\/apps$/, fields: ['tag_ids', 'creator_ids'] },
{ path: /\/apps\/starred$/, fields: ['tag_ids', 'creator_ids'] },
{ path: /\/datasets$/, fields: ['ids', 'tag_ids'] },
{ path: /\/datasets\/[^/]+\/documents\/[^/]+\/segment\/[^/]+$/, fields: ['segment_id'] },
{ path: /\/datasets\/[^/]+\/documents\/[^/]+\/segments$/, fields: ['segment_id', 'status'] },
{ path: /\/trial-apps\/[^/]+\/datasets$/, fields: ['ids'] },
{ path: /\/workspaces\/current\/customized-snippets$/, fields: ['tag_ids', 'creators'] },
{ path: /\/workspaces\/current\/tool-provider\/builtin\/[^/]+\/credential\/info$/, fields: ['include_credential_ids'] },
{ path: /\/workspaces\/current\/tool-provider\/builtin\/[^/]+\/credentials$/, fields: ['include_credential_ids'] },
]
const escapeRegExp = (value: string) => value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
const getRepeatedQueryArrayFields = (pathname: string) =>
repeatedQueryArrayRules.find(rule => rule.path.test(pathname))?.fields ?? []
const rewriteIndexedQueryArrayParam = (url: URL, field: string) => {
const indexedParamPattern = new RegExp(`^${escapeRegExp(field)}\\[(\\d+)\\]$`)
const values: Array<{ index: number, value: string }> = []
const indexedKeys = new Set<string>()
url.searchParams.forEach((value, key) => {
const match = indexedParamPattern.exec(key)
if (!match)
return
indexedKeys.add(key)
values.push({ index: Number(match[1]), value })
})
if (!values.length)
return false
indexedKeys.forEach(key => url.searchParams.delete(key))
values
.sort((a, b) => a.index - b.index)
.forEach(({ value }) => url.searchParams.append(field, value))
return true
}
export function normalizeConsoleOpenAPIURL(url: string | URL) {
const normalizedUrl = new URL(url)
const repeatedQueryArrayFields = getRepeatedQueryArrayFields(normalizedUrl.pathname)
if (!repeatedQueryArrayFields.length)
return normalizedUrl.href
repeatedQueryArrayFields.forEach(field => rewriteIndexedQueryArrayParam(normalizedUrl, field))
return normalizedUrl.href
}
+4 -3
View File
@@ -1,7 +1,8 @@
import type { AnyContractRouter } from '@orpc/contract'
import type { RouterContract } from '@orpc/contract'
import { contractLoaders } from '@dify/contracts/api/console/orpc.gen'
const generatedConsoleContractLoaders: Partial<Record<string, () => Promise<AnyContractRouter>>> = contractLoaders
const generatedConsoleContractLoaders: Partial<Record<string, () => Promise<RouterContract>>>
= contractLoaders
async function loadGeneratedConsoleContract(segment: string) {
const loader = generatedConsoleContractLoaders[segment]
@@ -11,7 +12,7 @@ async function loadGeneratedConsoleContract(segment: string) {
return loader()
}
async function loadEnterpriseContract(): Promise<AnyContractRouter> {
async function loadEnterpriseContract(): Promise<RouterContract> {
const { contract } = await import('@dify/contracts/enterprise/orpc.gen')
return { enterprise: contract }
}
+34 -18
View File
@@ -1,15 +1,11 @@
import type { consoleRouterContract } from '@dify/contracts/api/console/router.gen'
import type { ClientLink } from '@orpc/client'
import type { AnyContractRouter, ContractRouterClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi-client'
import type { RouterContract, RouterContractClient } from '@orpc/contract'
import type { JsonifiedClient } from '@orpc/openapi'
import { createORPCClient, onError } from '@orpc/client'
import { OpenAPILink } from '@orpc/openapi-client/fetch'
import { OpenAPILink } from '@orpc/openapi/fetch'
import { createTanstackQueryUtils } from '@orpc/tanstack-query'
import {
API_PREFIX,
CSRF_COOKIE_NAME,
CSRF_HEADER_NAME,
} from '@/config'
import { API_PREFIX, CSRF_COOKIE_NAME, CSRF_HEADER_NAME } from '@/config'
import { SERVER_CONSOLE_API_PREFIX } from '@/config/server'
import { createConsoleDynamicLink } from './console-link'
@@ -20,8 +16,8 @@ export type ServerConsoleClientContext = {
csrfToken?: string
}
const withTrailingSlash = (value: string) => value.endsWith('/') ? value : `${value}/`
const withoutLeadingSlash = (value: string) => value.startsWith('/') ? value.slice(1) : value
const withTrailingSlash = (value: string) => (value.endsWith('/') ? value : `${value}/`)
const withoutLeadingSlash = (value: string) => (value.startsWith('/') ? value.slice(1) : value)
const resolveAbsoluteUrlPrefix = (value: string) => {
try {
@@ -57,6 +53,15 @@ const getServerConsoleApiPrefix = () => {
return apiPrefix
}
const getServerConsoleApiLinkURL = () => {
const url = new URL(getServerConsoleApiPrefix())
return {
origin: url.origin,
url: `${url.pathname}${url.search}` as `/${string}`,
}
}
const createServerConsoleRequestHeaders = (context: ServerConsoleClientContext | undefined) => {
const requestHeaders = new Headers({
Accept: 'application/json',
@@ -72,17 +77,24 @@ const createServerConsoleRequestHeaders = (context: ServerConsoleClientContext |
type ServerConsoleClientLink = ClientLink<ServerConsoleClientContext>
function createServerConsoleOpenAPILink(contract: AnyContractRouter): ServerConsoleClientLink {
function createServerConsoleOpenAPILink(contract: RouterContract): ServerConsoleClientLink {
return new OpenAPILink<ServerConsoleClientContext>(contract, {
url: getServerConsoleApiPrefix,
origin: () => getServerConsoleApiLinkURL().origin,
url: () => getServerConsoleApiLinkURL().url,
headers: ({ context }) => createServerConsoleRequestHeaders(context),
fetch: (request, init) => {
if (request.body && !request.headers.has('content-type'))
request.headers.set('Content-Type', 'application/json')
fetch: (url, init) => {
const headers = new Headers(init.headers)
if (init.body && !headers.has('content-type'))
headers.set('Content-Type', 'application/json')
const request = new Request(url, {
...init,
headers,
})
return globalThis.fetch(request, {
...init,
cache: 'no-store',
redirect: init.redirect,
})
},
interceptors: [
@@ -107,9 +119,13 @@ export const getServerConsoleClientContext = async (): Promise<ServerConsoleClie
export const getServerConsoleRequestHeaders = async () =>
createServerConsoleRequestHeaders(await getServerConsoleClientContext())
const serverConsoleLink = createConsoleDynamicLink<ServerConsoleClientContext>(createServerConsoleOpenAPILink)
const serverConsoleLink = createConsoleDynamicLink<ServerConsoleClientContext>(
createServerConsoleOpenAPILink,
)
export const serverConsoleClient: JsonifiedClient<ContractRouterClient<typeof consoleRouterContract, ServerConsoleClientContext>> = createORPCClient(serverConsoleLink)
export const serverConsoleClient: JsonifiedClient<
RouterContractClient<typeof consoleRouterContract, ServerConsoleClientContext>
> = createORPCClient(serverConsoleLink)
export const serverConsoleQuery = createTanstackQueryUtils(serverConsoleClient, {
path: ['console'],
+8 -11
View File
@@ -54,10 +54,7 @@ const invalidateSnippetWorkflowQueries = async (
}),
])
}
export const useSnippetPublishedWorkflow = (
snippetId: string,
onSuccess?: (publishedWorkflow: SnippetWorkflow) => void,
) => {
export const useSnippetPublishedWorkflow = (snippetId: string) => {
const queryOptions = snippetWorkflowContract.workflows.publish.get.queryOptions({
input: {
params: { snippet_id: snippetId },
@@ -65,14 +62,14 @@ export const useSnippetPublishedWorkflow = (
enabled: !!snippetId,
})
return useQuery({
...queryOptions,
queryFn: async (context) => {
return useQuery<SnippetWorkflow | undefined>({
queryKey: [...queryOptions.queryKey, snippetId],
enabled: !!snippetId,
queryFn: async () => {
try {
const publishedWorkflow = await queryOptions.queryFn(context)
if (publishedWorkflow)
onSuccess?.(publishedWorkflow)
return publishedWorkflow
return await consoleClient.snippets.bySnippetId.workflows.publish.get({
params: { snippet_id: snippetId },
})
}
catch (error) {
if (isNotFoundError(error))
+3 -3
View File
@@ -521,9 +521,9 @@ export const convertToTriggerWithProvider = (provider: TriggerProviderApiEntity)
export const useAllTriggerPlugins = (enabled = true) => {
return useQuery<TriggerWithProvider[]>({
queryKey: consoleQuery.workspaces.current.triggers.get.queryKey({ input: {} }),
queryKey: consoleQuery.workspaces.current.triggers.get.queryKey(),
queryFn: async () => {
const response = await consoleClient.workspaces.current.triggers.get({})
const response = await consoleClient.workspaces.current.triggers.get()
return response.map(normalizeTriggerProvider).map(convertToTriggerWithProvider)
},
enabled,
@@ -531,7 +531,7 @@ export const useAllTriggerPlugins = (enabled = true) => {
}
export const useInvalidateAllTriggerPlugins = () => {
return useInvalid(consoleQuery.workspaces.current.triggers.get.queryKey({ input: {} }))
return useInvalid(consoleQuery.workspaces.current.triggers.get.queryKey())
}
// ===== Trigger Subscriptions Management =====