@ytsaurus/ui 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/server/components/cluster-params.js +0 -1
- package/build/cjs/server/components/cluster-params.js.map +1 -1
- package/build/cjs/server/components/cluster-queries.js +0 -1
- package/build/cjs/server/components/cluster-queries.js.map +1 -1
- package/build/cjs/server/controllers/yt-api.js +0 -1
- package/build/cjs/server/controllers/yt-api.js.map +1 -1
- package/build/cjs/ui/pages/chaos_cell_bundles/ChaosCellBundlesTopRowContent.connected.d.ts +1 -1
- package/build/cjs/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.connected.d.ts +1 -1
- package/build/esm/server/components/cluster-params.js +0 -1
- package/build/esm/server/components/cluster-params.js.map +1 -1
- package/build/esm/server/components/cluster-queries.js +0 -2
- package/build/esm/server/components/cluster-queries.js.map +1 -1
- package/build/esm/server/controllers/yt-api.js +0 -1
- package/build/esm/server/controllers/yt-api.js.map +1 -1
- package/build/esm/ui/pages/chaos_cell_bundles/ChaosCellBundlesTopRowContent.connected.d.ts +1 -1
- package/build/esm/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.connected.d.ts +1 -1
- package/dist/server/components/cluster-params.js +0 -1
- package/dist/server/components/cluster-queries.js +0 -1
- package/dist/server/controllers/yt-api.js +0 -1
- package/package.json +4 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_crypto","_interopRequireDefault","require","os","_interopRequireWildcard","_javascriptWrapper","_autoUpdatedCache","_requestsSetup","_ServerFactory","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","yt","ytLib","BatchSubrequestError","_Error","_inherits","_super","_createSuper","response","_this","_classCallCheck","_createClass","_wrapNativeSuper","Error","fetchClusterParams","cluster","_ref","ctx","app","getApp","nodekit","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","cx","_schedulerVersion$err","timeStart","_getRobotYTApiSetup","configSetup","xYTCorrelationId","sendStats","_yield$yt$v3$executeB","_yield$yt$v3$executeB2","mediumList","schedulerVersion","uiConfig","uiDevConfig","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_cx$stats","timestamp","Date","now","log","stats","headerContentLength","host","hostname","service","requestTime","requestId","action","crypto","randomUUID","setTag","getRobotYTApiSetup","setup","concat","v3","executeBatch","_objectSpread","requestHeaders","getMetadata","transformResponse","_ref3","parsedData","rawResponse","data","status","headers","transformError","_ref4","_rawError$response","_rawError$response2","rawError","parameters","requests","command","path","suppress_transaction_coordinator_sync","suppress_upstream_sync","then","error","logError","Promise","reject","sent","_slicedToArray","code","codes","NODE_DOES_NOT_EXIST","output","abrupt","stop","_x","apply","arguments","CACHE_TIME","getCached","createAutoUpdatedCache","getPreloadedClusterParams","_x2","_x3","_getPreloadedClusterParams","_callee2","ctxObject","_callee2$","_context2","t0","finish"],"sources":["cluster-params.ts"],"sourcesContent":["import crypto from 'crypto';\nimport * as os from 'os';\nimport type {AppContext} from '@gravity-ui/nodekit';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nimport {createAutoUpdatedCache} from '../utils/auto-updated-cache';\nimport {getRobotYTApiSetup} from './requestsSetup';\nimport {getApp} from '../ServerFactory';\nimport {FIX_MY_TYPE} from '../../@types/types';\n\nconst yt = ytLib();\n\nclass BatchSubrequestError extends Error {\n response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n constructor(response: Awaited<ReturnType<typeof fetchClusterParams>>) {\n super();\n\n this.response = response;\n }\n}\n\nfunction fetchClusterParams(cluster: string, {ctx}: {ctx?: AppContext}) {\n const app = getApp();\n return (ctx ?? app.nodekit.ctx).call('fetchClusterParams', async (cx) => {\n if (!cx.get('requestId')) {\n cx.set('requestId', crypto.randomUUID());\n cx.setTag('request_id', cx.get('requestId'));\n }\n\n const timeStart = Date.now();\n const {setup: configSetup} = getRobotYTApiSetup(cluster);\n const xYTCorrelationId = `${cx.get('requestId')}.fetchClusterParams`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n cx.log('fetchClusterParams', {\n xYTCorrelationId,\n responseStatus,\n });\n // @ts-expect-error\n cx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: cluster,\n requestTime: timestamp - timeStart,\n requestId: cx.get('requestId')!,\n action: 'fetchClusterParams',\n });\n }\n\n const [mediumList, schedulerVersion, uiConfig, uiDevConfig] = await yt.v3\n .executeBatch({\n setup: {\n ...configSetup,\n requestHeaders: {...cx.getMetadata(), 'X-YT-Correlation-Id': xYTCorrelationId},\n transformResponse({parsedData, rawResponse}: FIX_MY_TYPE) {\n return {\n data: parsedData,\n status: rawResponse?.status,\n headers: rawResponse?.headers,\n };\n },\n transformError({parsedData, rawError}: FIX_MY_TYPE) {\n throw {\n data: parsedData,\n status: rawError?.response?.status,\n headers: rawError?.response?.headers,\n };\n },\n },\n parameters: {\n requests: [\n {\n command: 'list',\n parameters: {\n path: '//sys/media',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/service/version',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config_dev_overrides',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n ],\n },\n })\n .then((response: FIX_MY_TYPE) => {\n cx.log('Fetched cluster config', {\n cluster,\n 'x-yt-proxy': response.headers['x-yt-proxy'],\n 'x-yt-request-id': response.headers['x-yt-request-id'],\n 'x-yt-trace-id': response.headers['x-yt-trace-id'],\n });\n sendStats(response.status);\n return response.data;\n })\n .catch((error: FIX_MY_TYPE) => {\n const headers = error?.headers || {};\n cx.logError('Cluster config fetch failed', {\n cluster,\n 'x-yt-proxy': headers['x-yt-proxy'],\n 'x-yt-request-id': headers['x-yt-request-id'],\n 'x-yt-trace-id': headers['x-yt-trace-id'],\n });\n sendStats(error.status);\n return Promise.reject(error.data);\n });\n\n if (schedulerVersion?.error?.code === yt.codes.NODE_DOES_NOT_EXIST) {\n delete schedulerVersion.error;\n schedulerVersion.output = '0.0.0-unknown';\n }\n const response = {mediumList, schedulerVersion, uiConfig, uiDevConfig};\n\n if (\n mediumList.error ||\n schedulerVersion.error ||\n (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) ||\n (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST)\n ) {\n cx.logError(\n 'Unacceptable response',\n {\n mediumList: {error: mediumList.error},\n schedulerVersion: {error: schedulerVersion.error},\n uiConfig: {error: uiConfig.error},\n uiDevConfig: {error: uiDevConfig.error},\n },\n {cluster},\n );\n throw new BatchSubrequestError(response);\n }\n\n return response;\n });\n}\n\nconst CACHE_TIME = 2 * 60 * 1000;\n\nconst getCached = createAutoUpdatedCache(fetchClusterParams, CACHE_TIME);\n\nexport async function getPreloadedClusterParams(cluster: string, ctx: AppContext) {\n const ctxObject: Parameters<typeof fetchClusterParams>[1] = {ctx};\n let response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n try {\n response = await getCached(cluster, ctxObject);\n } catch (error) {\n if (error instanceof BatchSubrequestError) {\n response = error.response;\n } else {\n throw error;\n }\n } finally {\n delete ctxObject.ctx;\n }\n\n return response;\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_crypto","_interopRequireDefault","require","os","_interopRequireWildcard","_javascriptWrapper","_autoUpdatedCache","_requestsSetup","_ServerFactory","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","yt","ytLib","BatchSubrequestError","_Error","_inherits","_super","_createSuper","response","_this","_classCallCheck","_createClass","_wrapNativeSuper","Error","fetchClusterParams","cluster","_ref","ctx","app","getApp","nodekit","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","cx","_schedulerVersion$err","timeStart","_getRobotYTApiSetup","configSetup","xYTCorrelationId","sendStats","_yield$yt$v3$executeB","_yield$yt$v3$executeB2","mediumList","schedulerVersion","uiConfig","uiDevConfig","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_cx$stats","timestamp","Date","now","log","stats","headerContentLength","host","hostname","service","requestTime","requestId","action","crypto","randomUUID","setTag","getRobotYTApiSetup","setup","concat","v3","executeBatch","_objectSpread","requestHeaders","getMetadata","transformResponse","_ref3","parsedData","rawResponse","data","status","headers","transformError","_ref4","_rawError$response","_rawError$response2","rawError","parameters","requests","command","path","suppress_transaction_coordinator_sync","suppress_upstream_sync","then","error","logError","Promise","reject","sent","_slicedToArray","code","codes","NODE_DOES_NOT_EXIST","output","abrupt","stop","_x","apply","arguments","CACHE_TIME","getCached","createAutoUpdatedCache","getPreloadedClusterParams","_x2","_x3","_getPreloadedClusterParams","_callee2","ctxObject","_callee2$","_context2","t0","finish"],"sources":["cluster-params.ts"],"sourcesContent":["import crypto from 'crypto';\nimport * as os from 'os';\nimport type {AppContext} from '@gravity-ui/nodekit';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nimport {createAutoUpdatedCache} from '../utils/auto-updated-cache';\nimport {getRobotYTApiSetup} from './requestsSetup';\nimport {getApp} from '../ServerFactory';\nimport {FIX_MY_TYPE} from '../../@types/types';\n\nconst yt = ytLib();\n\nclass BatchSubrequestError extends Error {\n response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n constructor(response: Awaited<ReturnType<typeof fetchClusterParams>>) {\n super();\n\n this.response = response;\n }\n}\n\nfunction fetchClusterParams(cluster: string, {ctx}: {ctx?: AppContext}) {\n const app = getApp();\n return (ctx ?? app.nodekit.ctx).call('fetchClusterParams', async (cx) => {\n if (!cx.get('requestId')) {\n cx.set('requestId', crypto.randomUUID());\n cx.setTag('request_id', cx.get('requestId'));\n }\n\n const timeStart = Date.now();\n const {setup: configSetup} = getRobotYTApiSetup(cluster);\n const xYTCorrelationId = `${cx.get('requestId')}.fetchClusterParams`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n cx.log('fetchClusterParams', {\n xYTCorrelationId,\n responseStatus,\n });\n cx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: cluster,\n requestTime: timestamp - timeStart,\n requestId: cx.get('requestId')!,\n action: 'fetchClusterParams',\n });\n }\n\n const [mediumList, schedulerVersion, uiConfig, uiDevConfig] = await yt.v3\n .executeBatch({\n setup: {\n ...configSetup,\n requestHeaders: {...cx.getMetadata(), 'X-YT-Correlation-Id': xYTCorrelationId},\n transformResponse({parsedData, rawResponse}: FIX_MY_TYPE) {\n return {\n data: parsedData,\n status: rawResponse?.status,\n headers: rawResponse?.headers,\n };\n },\n transformError({parsedData, rawError}: FIX_MY_TYPE) {\n throw {\n data: parsedData,\n status: rawError?.response?.status,\n headers: rawError?.response?.headers,\n };\n },\n },\n parameters: {\n requests: [\n {\n command: 'list',\n parameters: {\n path: '//sys/media',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/service/version',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config_dev_overrides',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n ],\n },\n })\n .then((response: FIX_MY_TYPE) => {\n cx.log('Fetched cluster config', {\n cluster,\n 'x-yt-proxy': response.headers['x-yt-proxy'],\n 'x-yt-request-id': response.headers['x-yt-request-id'],\n 'x-yt-trace-id': response.headers['x-yt-trace-id'],\n });\n sendStats(response.status);\n return response.data;\n })\n .catch((error: FIX_MY_TYPE) => {\n const headers = error?.headers || {};\n cx.logError('Cluster config fetch failed', {\n cluster,\n 'x-yt-proxy': headers['x-yt-proxy'],\n 'x-yt-request-id': headers['x-yt-request-id'],\n 'x-yt-trace-id': headers['x-yt-trace-id'],\n });\n sendStats(error.status);\n return Promise.reject(error.data);\n });\n\n if (schedulerVersion?.error?.code === yt.codes.NODE_DOES_NOT_EXIST) {\n delete schedulerVersion.error;\n schedulerVersion.output = '0.0.0-unknown';\n }\n const response = {mediumList, schedulerVersion, uiConfig, uiDevConfig};\n\n if (\n mediumList.error ||\n schedulerVersion.error ||\n (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) ||\n (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST)\n ) {\n cx.logError(\n 'Unacceptable response',\n {\n mediumList: {error: mediumList.error},\n schedulerVersion: {error: schedulerVersion.error},\n uiConfig: {error: uiConfig.error},\n uiDevConfig: {error: uiDevConfig.error},\n },\n {cluster},\n );\n throw new BatchSubrequestError(response);\n }\n\n return response;\n });\n}\n\nconst CACHE_TIME = 2 * 60 * 1000;\n\nconst getCached = createAutoUpdatedCache(fetchClusterParams, CACHE_TIME);\n\nexport async function getPreloadedClusterParams(cluster: string, ctx: AppContext) {\n const ctxObject: Parameters<typeof fetchClusterParams>[1] = {ctx};\n let response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n try {\n response = await getCached(cluster, ctxObject);\n } catch (error) {\n if (error instanceof BatchSubrequestError) {\n response = error.response;\n } else {\n throw error;\n }\n } finally {\n delete ctxObject.ctx;\n }\n\n return response;\n}\n"],"mappings":"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"}
|
@@ -51,7 +51,6 @@ async function getXSRFToken(req, config, actionPrefix = '') {
|
|
51
51
|
xYTCorrelationId,
|
52
52
|
responseStatus,
|
53
53
|
});
|
54
|
-
// @ts-expect-error
|
55
54
|
(_b = (_a = req.ctx).stats) === null || _b === void 0 ? void 0 : _b.call(_a, 'ytRequests', {
|
56
55
|
responseStatus,
|
57
56
|
headerContentLength: 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","os","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","REQUEST_TIMEOUT","getExtra","error","_error$request","_ref","request","_options","headers","correlationId","undefined","getXSRFToken","_x","_x2","_getXSRFToken","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","config","actionPrefix","timeStart","setup","proxyBaseUrl","authHeaders","xYTCorrelationId","sendStats","_args","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_req$ctx$stats","_req$ctx","_req$headers","timestamp","Date","now","ctx","log","stats","headerContentLength","host","hostname","service","id","requestTime","requestId","action","concat","referer","page","length","abrupt","axios","url","method","_objectSpread","timeout","then","response","status","data","e","_e$response$status","_e$response","Promise","reject","stop","getVersion","clusterConfig","proxy","secure","protocol","responseType","parseVersion","version","match","getVersions","clusters","all","_map","logError","prepareError","message","err","http_status_code","isAxiosError","_err$response","_err$response2","_unused","_toString","code","inner_errors","_compact","getClusterInfo","_x3","_x4","_getClusterInfo","_callee2","tokenPromise","clusterVersionPromise","tokenError","versionError","token","_callee2$","_context2","sent","t0","toString","t1"],"sources":["cluster-queries.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\nimport * as os from 'os';\n\nimport type {Request} from 'express';\n\nimport {ClusterConfig} from '../../shared/yt-types';\nimport {YTApiUserSetup} from './requestsSetup';\n\nconst REQUEST_TIMEOUT = 15000;\n\nfunction getExtra(error: AxiosError) {\n const {headers} = error?.request?._options || {};\n if (headers) {\n const correlationId = headers['X-YT-Correlation-Id'];\n return correlationId && {'X-YT-Correlation-Id': correlationId};\n }\n return undefined;\n}\n\nexport async function getXSRFToken(req: Request, config: YTApiUserSetup, actionPrefix = '') {\n const timeStart = Date.now();\n const {setup, proxyBaseUrl, authHeaders} = config;\n\n const xYTCorrelationId = `${req.id}.getXSRFToken`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n req.ctx.log('getXSRFToken', {\n xYTCorrelationId,\n responseStatus,\n });\n\n // @ts-expect-error\n req.ctx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: `${actionPrefix}.getXSRFToken`,\n referer: req?.headers?.referer || '',\n page: '',\n });\n }\n\n return axios\n .request<{login: string; csrf_token: string}>({\n url: proxyBaseUrl + '/auth/whoami',\n method: 'GET',\n headers: {\n ...authHeaders,\n 'X-YT-Correlation-Id': xYTCorrelationId,\n },\n timeout: REQUEST_TIMEOUT,\n })\n .then((response) => {\n sendStats(response.status);\n return response.data;\n })\n .catch((e) => {\n sendStats(e?.response?.status ?? 500);\n return Promise.reject(e);\n });\n}\n\nfunction getVersion(clusterConfig: {proxy: string; secure?: boolean}) {\n const {proxy, secure} = clusterConfig;\n const protocol = secure ? 'https://' : 'http://';\n\n return axios\n .request({\n url: protocol + proxy + '/version',\n method: 'GET',\n timeout: REQUEST_TIMEOUT,\n responseType: 'text',\n })\n .then((response) => response.data);\n}\n\nfunction parseVersion(version: string) {\n const match = version && version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n return match && match[0];\n}\n\nexport function getVersions(req: Request, clusters: Record<string, ClusterConfig>) {\n return Promise.all(\n _.map(clusters, (clusterConfig) => {\n const id = clusterConfig.id;\n return getVersion(clusterConfig)\n .then((version) => ({id, version: parseVersion(version)}))\n .catch((error) => {\n req.ctx.logError('getVersion error', error, getExtra(error));\n return {id};\n });\n }),\n );\n}\n\nfunction prepareError(message: string, err: AxiosError) {\n let error;\n let http_status_code;\n try {\n if (err?.isAxiosError) {\n error = err.response?.data;\n http_status_code = err.response?.status;\n } else {\n error = err;\n }\n } catch {\n error = err;\n }\n return {\n message: `${message}:${_.toString(err)}`,\n code: http_status_code,\n inner_errors: _.compact([error]),\n };\n}\n\nexport async function getClusterInfo(req: Request, config: YTApiUserSetup) {\n const {setup} = config;\n const tokenPromise = getXSRFToken(req, config, 'ui_clusterInfo');\n const clusterVersionPromise = getVersion(setup);\n\n let tokenError, versionError;\n let token,\n version = null;\n try {\n version = await clusterVersionPromise;\n } catch (err: any) {\n versionError = prepareError('Failed to get cluster version ', err);\n req.ctx.logError('Failed to get cluster version: ' + err.toString(), err, getExtra(err));\n }\n\n try {\n token = await tokenPromise;\n } catch (err: any) {\n tokenError = prepareError('Failed to get XSRF token ', err);\n req.ctx.logError('Failed to get XSRF token', err, getExtra(err));\n }\n\n return {\n token,\n version,\n tokenError,\n versionError,\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","os","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","REQUEST_TIMEOUT","getExtra","error","_error$request","_ref","request","_options","headers","correlationId","undefined","getXSRFToken","_x","_x2","_getXSRFToken","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","config","actionPrefix","timeStart","setup","proxyBaseUrl","authHeaders","xYTCorrelationId","sendStats","_args","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_req$ctx$stats","_req$ctx","_req$headers","timestamp","Date","now","ctx","log","stats","headerContentLength","host","hostname","service","id","requestTime","requestId","action","concat","referer","page","length","abrupt","axios","url","method","_objectSpread","timeout","then","response","status","data","e","_e$response$status","_e$response","Promise","reject","stop","getVersion","clusterConfig","proxy","secure","protocol","responseType","parseVersion","version","match","getVersions","clusters","all","_map","logError","prepareError","message","err","http_status_code","isAxiosError","_err$response","_err$response2","_unused","_toString","code","inner_errors","_compact","getClusterInfo","_x3","_x4","_getClusterInfo","_callee2","tokenPromise","clusterVersionPromise","tokenError","versionError","token","_callee2$","_context2","sent","t0","toString","t1"],"sources":["cluster-queries.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\nimport * as os from 'os';\n\nimport type {Request} from 'express';\n\nimport {ClusterConfig} from '../../shared/yt-types';\nimport {YTApiUserSetup} from './requestsSetup';\n\nconst REQUEST_TIMEOUT = 15000;\n\nfunction getExtra(error: AxiosError) {\n const {headers} = error?.request?._options || {};\n if (headers) {\n const correlationId = headers['X-YT-Correlation-Id'];\n return correlationId && {'X-YT-Correlation-Id': correlationId};\n }\n return undefined;\n}\n\nexport async function getXSRFToken(req: Request, config: YTApiUserSetup, actionPrefix = '') {\n const timeStart = Date.now();\n const {setup, proxyBaseUrl, authHeaders} = config;\n\n const xYTCorrelationId = `${req.id}.getXSRFToken`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n req.ctx.log('getXSRFToken', {\n xYTCorrelationId,\n responseStatus,\n });\n\n req.ctx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: `${actionPrefix}.getXSRFToken`,\n referer: req?.headers?.referer || '',\n page: '',\n });\n }\n\n return axios\n .request<{login: string; csrf_token: string}>({\n url: proxyBaseUrl + '/auth/whoami',\n method: 'GET',\n headers: {\n ...authHeaders,\n 'X-YT-Correlation-Id': xYTCorrelationId,\n },\n timeout: REQUEST_TIMEOUT,\n })\n .then((response) => {\n sendStats(response.status);\n return response.data;\n })\n .catch((e) => {\n sendStats(e?.response?.status ?? 500);\n return Promise.reject(e);\n });\n}\n\nfunction getVersion(clusterConfig: {proxy: string; secure?: boolean}) {\n const {proxy, secure} = clusterConfig;\n const protocol = secure ? 'https://' : 'http://';\n\n return axios\n .request({\n url: protocol + proxy + '/version',\n method: 'GET',\n timeout: REQUEST_TIMEOUT,\n responseType: 'text',\n })\n .then((response) => response.data);\n}\n\nfunction parseVersion(version: string) {\n const match = version && version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n return match && match[0];\n}\n\nexport function getVersions(req: Request, clusters: Record<string, ClusterConfig>) {\n return Promise.all(\n _.map(clusters, (clusterConfig) => {\n const id = clusterConfig.id;\n return getVersion(clusterConfig)\n .then((version) => ({id, version: parseVersion(version)}))\n .catch((error) => {\n req.ctx.logError('getVersion error', error, getExtra(error));\n return {id};\n });\n }),\n );\n}\n\nfunction prepareError(message: string, err: AxiosError) {\n let error;\n let http_status_code;\n try {\n if (err?.isAxiosError) {\n error = err.response?.data;\n http_status_code = err.response?.status;\n } else {\n error = err;\n }\n } catch {\n error = err;\n }\n return {\n message: `${message}:${_.toString(err)}`,\n code: http_status_code,\n inner_errors: _.compact([error]),\n };\n}\n\nexport async function getClusterInfo(req: Request, config: YTApiUserSetup) {\n const {setup} = config;\n const tokenPromise = getXSRFToken(req, config, 'ui_clusterInfo');\n const clusterVersionPromise = getVersion(setup);\n\n let tokenError, versionError;\n let token,\n version = null;\n try {\n version = await clusterVersionPromise;\n } catch (err: any) {\n versionError = prepareError('Failed to get cluster version ', err);\n req.ctx.logError('Failed to get cluster version: ' + err.toString(), err, getExtra(err));\n }\n\n try {\n token = await tokenPromise;\n } catch (err: any) {\n tokenError = prepareError('Failed to get XSRF token ', err);\n req.ctx.logError('Failed to get XSRF token', err, getExtra(err));\n }\n\n return {\n token,\n version,\n tokenError,\n versionError,\n };\n}\n"],"mappings":"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"}
|
@@ -87,7 +87,6 @@ async function ytTvmApiHandler(req, res) {
|
|
87
87
|
const timestamp = Date.now();
|
88
88
|
const { headerContentLength } = overrides;
|
89
89
|
const contentLength = Number(headerContentLength);
|
90
|
-
// @ts-expect-error
|
91
90
|
(_a = ctx.stats) === null || _a === void 0 ? void 0 : _a.call(ctx, 'ytRequests', Object.assign(Object.assign({}, overrides), { headerContentLength: isNaN(contentLength) ? 0 : contentLength, timestamp, host: os.hostname(), service: setup.id, requestTime: timestamp - timeStart, requestId: req.id, action: ytApiId || action, referer: referer !== null && referer !== void 0 ? referer : '', page: !referer ? '' : (0, utils_2.getYtPageIdParts)(referer).getPage() }));
|
92
91
|
}
|
93
92
|
try {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_axios","_interopRequireDefault","require","_qs","_javascriptWrapper","_utils","os","_interopRequireWildcard","_utils2","_constants","_requestsSetup","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","yt","ytLib","YT_API_REQUEST_ID_HEADER_LOWER","YT_API_REQUEST_ID_HEADER","toLowerCase","YT_KNOWN_COMMANDS","Set","supportedCommands","getSupportedCommands","ytTvmApiHandler","_x","_x2","_ytTvmApiHandler","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","req","res","_ref","ctx","params","referer","sendError","_sendError","cfg","_cfg","setup","authHeaders","isLocalCluster","clusterApi","commandInfo","action","timeStart","ytApiId","sendStats","proxy","secure","proto","requestProxy","_res","search","requestUrl","_req$headers","host","cookie","_apiId","rest","_response","wrap","_callee3$","_context3","prev","next","_sendStats","overrides","_ctx$stats","timestamp","Date","now","headerContentLength","contentLength","Number","stats","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getYtPageIdParts","getPage","_sendError3","_callee2","e","statusCode","_args2","_callee2$","_context2","length","undefined","sendAndLogError","method","query","stop","_sendError2","_x3","headers","getUserYTApiSetup","cluster","t0","abrupt","version","Error","concat","command","heavy","log","axios","request","url","getMetadata","sent","data","_isEmpty","qs","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","pipeAxiosResponse","UNEXPECTED_PIPE_AXIOS_RESPONSE","responseStatus","status","_x4","t1","t2"],"sources":["yt-api.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\nimport qs from 'qs';\nimport _ from 'lodash';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {pipeAxiosResponse, sendAndLogError, UNEXPECTED_PIPE_AXIOS_RESPONSE} from '../utils';\nimport * as os from 'os';\nimport {getYtPageIdParts} from '../../shared/utils';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nconst yt = ytLib();\n\ninterface Params {\n cluster: string;\n version: string;\n command: string;\n}\n\ninterface CommandConfig {\n heavy: boolean;\n}\n\nconst YT_API_REQUEST_ID_HEADER_LOWER = YT_API_REQUEST_ID_HEADER.toLowerCase();\n\nconst YT_KNOWN_COMMANDS = new Set(['get_job_stderr', 'get_job_input', 'get_job_fail_context']);\n\nconst supportedCommands: Record<string, Map<string, CommandConfig>> = yt.getSupportedCommands();\n\nexport async function ytTvmApiHandler(req: Request, res: Response) {\n const {ctx, params} = req as any as Request<Params>;\n const {referer} = req.headers;\n\n async function sendError(e: Error | AxiosError, statusCode: number | null = null) {\n await sendAndLogError(ctx, res, statusCode, e, {\n method: 'nodejs',\n query: req.query,\n page: referer,\n });\n }\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(params.cluster, req);\n } catch (e: any) {\n return sendError(e, 400);\n }\n const {setup, authHeaders, isLocalCluster} = cfg;\n\n const {[params.version]: clusterApi} = supportedCommands;\n if (!clusterApi) {\n return sendError(new Error(`Unexpected api version: [${params.version}]`), 400);\n }\n\n const commandInfo = clusterApi.get(params.command);\n if (!commandInfo && !YT_KNOWN_COMMANDS.has(params.command)) {\n return sendError(new Error(`Unexpected command: [${params.command}]`), 400);\n }\n\n const action = `${params.version}/${params.command}`;\n const timeStart = Date.now();\n\n const {[YT_API_REQUEST_ID_HEADER_LOWER]: ytApiId} = req.headers;\n\n function sendStats(overrides: {\n responseStatus: number;\n headerContentLength?: string;\n pipedDataSize?: number;\n }) {\n const timestamp = Date.now();\n const {headerContentLength} = overrides;\n const contentLength = Number(headerContentLength);\n // @ts-expect-error\n ctx.stats?.('ytRequests', {\n ...overrides,\n headerContentLength: isNaN(contentLength) ? 0 : contentLength,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: (ytApiId as string) || action,\n referer: referer ?? '',\n page: !referer ? '' : getYtPageIdParts(referer).getPage(),\n });\n }\n\n try {\n const {proxy, secure} = setup;\n const proto = secure ? 'https' : 'http';\n let requestProxy = proxy;\n if (commandInfo?.heavy && !isLocalCluster) {\n ctx.log(`Request heavy proxy for command '${params.command}'`);\n const res = await axios.request({\n method: 'GET',\n url: `${proto}://${proxy}/hosts`,\n headers: ctx.getMetadata(),\n });\n requestProxy = res.data[0];\n }\n\n const search = _.isEmpty(req.query) ? '' : `?${qs.stringify(req.query)}`;\n const requestUrl = `${proto}://${requestProxy}/api/${action}${search}`;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {host, cookie, [YT_API_REQUEST_ID_HEADER_LOWER]: _apiId, ...rest} = req.headers;\n ctx.log('Request', {requestUrl, 'X-YT-Correlation-Id': req.id});\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {\n ...ctx.getMetadata(),\n ...rest,\n 'accept-encoding': 'gzip',\n 'X-YT-Correlation-Id': req.id,\n 'X-YT-Suppress-Redirect': '1',\n ...authHeaders,\n },\n data: req.body,\n timeout: 100000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(ctx, res, response);\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n sendStats({...pipedSize, responseStatus: response.status});\n });\n } catch (e) {\n try {\n await sendError(e as any, 500);\n } catch {}\n sendStats({\n responseStatus: (e as AxiosError)?.response?.status || 500,\n });\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["_axios","_interopRequireDefault","require","_qs","_javascriptWrapper","_utils","os","_interopRequireWildcard","_utils2","_constants","_requestsSetup","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","yt","ytLib","YT_API_REQUEST_ID_HEADER_LOWER","YT_API_REQUEST_ID_HEADER","toLowerCase","YT_KNOWN_COMMANDS","Set","supportedCommands","getSupportedCommands","ytTvmApiHandler","_x","_x2","_ytTvmApiHandler","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","req","res","_ref","ctx","params","referer","sendError","_sendError","cfg","_cfg","setup","authHeaders","isLocalCluster","clusterApi","commandInfo","action","timeStart","ytApiId","sendStats","proxy","secure","proto","requestProxy","_res","search","requestUrl","_req$headers","host","cookie","_apiId","rest","_response","wrap","_callee3$","_context3","prev","next","_sendStats","overrides","_ctx$stats","timestamp","Date","now","headerContentLength","contentLength","Number","stats","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getYtPageIdParts","getPage","_sendError3","_callee2","e","statusCode","_args2","_callee2$","_context2","length","undefined","sendAndLogError","method","query","stop","_sendError2","_x3","headers","getUserYTApiSetup","cluster","t0","abrupt","version","Error","concat","command","heavy","log","axios","request","url","getMetadata","sent","data","_isEmpty","qs","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","pipeAxiosResponse","UNEXPECTED_PIPE_AXIOS_RESPONSE","responseStatus","status","_x4","t1","t2"],"sources":["yt-api.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\nimport qs from 'qs';\nimport _ from 'lodash';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {pipeAxiosResponse, sendAndLogError, UNEXPECTED_PIPE_AXIOS_RESPONSE} from '../utils';\nimport * as os from 'os';\nimport {getYtPageIdParts} from '../../shared/utils';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nconst yt = ytLib();\n\ninterface Params {\n cluster: string;\n version: string;\n command: string;\n}\n\ninterface CommandConfig {\n heavy: boolean;\n}\n\nconst YT_API_REQUEST_ID_HEADER_LOWER = YT_API_REQUEST_ID_HEADER.toLowerCase();\n\nconst YT_KNOWN_COMMANDS = new Set(['get_job_stderr', 'get_job_input', 'get_job_fail_context']);\n\nconst supportedCommands: Record<string, Map<string, CommandConfig>> = yt.getSupportedCommands();\n\nexport async function ytTvmApiHandler(req: Request, res: Response) {\n const {ctx, params} = req as any as Request<Params>;\n const {referer} = req.headers;\n\n async function sendError(e: Error | AxiosError, statusCode: number | null = null) {\n await sendAndLogError(ctx, res, statusCode, e, {\n method: 'nodejs',\n query: req.query,\n page: referer,\n });\n }\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(params.cluster, req);\n } catch (e: any) {\n return sendError(e, 400);\n }\n const {setup, authHeaders, isLocalCluster} = cfg;\n\n const {[params.version]: clusterApi} = supportedCommands;\n if (!clusterApi) {\n return sendError(new Error(`Unexpected api version: [${params.version}]`), 400);\n }\n\n const commandInfo = clusterApi.get(params.command);\n if (!commandInfo && !YT_KNOWN_COMMANDS.has(params.command)) {\n return sendError(new Error(`Unexpected command: [${params.command}]`), 400);\n }\n\n const action = `${params.version}/${params.command}`;\n const timeStart = Date.now();\n\n const {[YT_API_REQUEST_ID_HEADER_LOWER]: ytApiId} = req.headers;\n\n function sendStats(overrides: {\n responseStatus: number;\n headerContentLength?: string;\n pipedDataSize?: number;\n }) {\n const timestamp = Date.now();\n const {headerContentLength} = overrides;\n const contentLength = Number(headerContentLength);\n ctx.stats?.('ytRequests', {\n ...overrides,\n headerContentLength: isNaN(contentLength) ? 0 : contentLength,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: (ytApiId as string) || action,\n referer: referer ?? '',\n page: !referer ? '' : getYtPageIdParts(referer).getPage(),\n });\n }\n\n try {\n const {proxy, secure} = setup;\n const proto = secure ? 'https' : 'http';\n let requestProxy = proxy;\n if (commandInfo?.heavy && !isLocalCluster) {\n ctx.log(`Request heavy proxy for command '${params.command}'`);\n const res = await axios.request({\n method: 'GET',\n url: `${proto}://${proxy}/hosts`,\n headers: ctx.getMetadata(),\n });\n requestProxy = res.data[0];\n }\n\n const search = _.isEmpty(req.query) ? '' : `?${qs.stringify(req.query)}`;\n const requestUrl = `${proto}://${requestProxy}/api/${action}${search}`;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {host, cookie, [YT_API_REQUEST_ID_HEADER_LOWER]: _apiId, ...rest} = req.headers;\n ctx.log('Request', {requestUrl, 'X-YT-Correlation-Id': req.id});\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {\n ...ctx.getMetadata(),\n ...rest,\n 'accept-encoding': 'gzip',\n 'X-YT-Correlation-Id': req.id,\n 'X-YT-Suppress-Redirect': '1',\n ...authHeaders,\n },\n data: req.body,\n timeout: 100000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(ctx, res, response);\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n sendStats({...pipedSize, responseStatus: response.status});\n });\n } catch (e) {\n try {\n await sendError(e as any, 500);\n } catch {}\n sendStats({\n responseStatus: (e as AxiosError)?.response?.status || 500,\n });\n }\n}\n"],"mappings":"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"}
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import TabletCellBundlesTopRowContent from '../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent';
|
2
|
-
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "
|
2
|
+
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "page" | "favourites" | "activeBundle" | "setActiveBundle" | "isActiveBundleInFavourites" | "activeBundleData" | "bcItems">>;
|
3
3
|
export default _default;
|
package/build/cjs/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.connected.d.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
import TabletCellBundlesTopRowContent from '../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent';
|
2
|
-
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "
|
2
|
+
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "page" | "favourites" | "activeBundle" | "setActiveBundle" | "isActiveBundleInFavourites" | "toggleFavourite" | "activeBundleData" | "bcItems">>;
|
3
3
|
export default _default;
|
@@ -45,7 +45,6 @@ function fetchClusterParams(cluster, _ref) {
|
|
45
45
|
xYTCorrelationId: xYTCorrelationId,
|
46
46
|
responseStatus: responseStatus
|
47
47
|
});
|
48
|
-
// @ts-expect-error
|
49
48
|
(_cx$stats = cx.stats) === null || _cx$stats === void 0 ? void 0 : _cx$stats.call(cx, 'ytRequests', {
|
50
49
|
responseStatus: responseStatus,
|
51
50
|
headerContentLength: 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["crypto","os","ytLib","createAutoUpdatedCache","getRobotYTApiSetup","getApp","yt","BatchSubrequestError","_Error","_inherits","_super","_createSuper","response","_this","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","fetchClusterParams","cluster","_ref","ctx","app","nodekit","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","cx","_schedulerVersion$err","timeStart","_getRobotYTApiSetup","configSetup","xYTCorrelationId","sendStats","_yield$yt$v3$executeB","_yield$yt$v3$executeB2","mediumList","schedulerVersion","uiConfig","uiDevConfig","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_cx$stats","timestamp","Date","now","log","stats","headerContentLength","host","hostname","service","requestTime","requestId","get","action","set","randomUUID","setTag","setup","concat","v3","executeBatch","_objectSpread","requestHeaders","getMetadata","transformResponse","_ref3","parsedData","rawResponse","data","status","headers","transformError","_ref4","_rawError$response","_rawError$response2","rawError","parameters","requests","command","path","suppress_transaction_coordinator_sync","suppress_upstream_sync","then","error","logError","Promise","reject","sent","_slicedToArray","code","codes","NODE_DOES_NOT_EXIST","output","abrupt","stop","_x","apply","arguments","CACHE_TIME","getCached","getPreloadedClusterParams","_x2","_x3","_getPreloadedClusterParams","_callee2","ctxObject","_callee2$","_context2","t0","finish"],"sources":["cluster-params.ts"],"sourcesContent":["import crypto from 'crypto';\nimport * as os from 'os';\nimport type {AppContext} from '@gravity-ui/nodekit';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nimport {createAutoUpdatedCache} from '../utils/auto-updated-cache';\nimport {getRobotYTApiSetup} from './requestsSetup';\nimport {getApp} from '../ServerFactory';\nimport {FIX_MY_TYPE} from '../../@types/types';\n\nconst yt = ytLib();\n\nclass BatchSubrequestError extends Error {\n response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n constructor(response: Awaited<ReturnType<typeof fetchClusterParams>>) {\n super();\n\n this.response = response;\n }\n}\n\nfunction fetchClusterParams(cluster: string, {ctx}: {ctx?: AppContext}) {\n const app = getApp();\n return (ctx ?? app.nodekit.ctx).call('fetchClusterParams', async (cx) => {\n if (!cx.get('requestId')) {\n cx.set('requestId', crypto.randomUUID());\n cx.setTag('request_id', cx.get('requestId'));\n }\n\n const timeStart = Date.now();\n const {setup: configSetup} = getRobotYTApiSetup(cluster);\n const xYTCorrelationId = `${cx.get('requestId')}.fetchClusterParams`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n cx.log('fetchClusterParams', {\n xYTCorrelationId,\n responseStatus,\n });\n // @ts-expect-error\n cx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: cluster,\n requestTime: timestamp - timeStart,\n requestId: cx.get('requestId')!,\n action: 'fetchClusterParams',\n });\n }\n\n const [mediumList, schedulerVersion, uiConfig, uiDevConfig] = await yt.v3\n .executeBatch({\n setup: {\n ...configSetup,\n requestHeaders: {...cx.getMetadata(), 'X-YT-Correlation-Id': xYTCorrelationId},\n transformResponse({parsedData, rawResponse}: FIX_MY_TYPE) {\n return {\n data: parsedData,\n status: rawResponse?.status,\n headers: rawResponse?.headers,\n };\n },\n transformError({parsedData, rawError}: FIX_MY_TYPE) {\n throw {\n data: parsedData,\n status: rawError?.response?.status,\n headers: rawError?.response?.headers,\n };\n },\n },\n parameters: {\n requests: [\n {\n command: 'list',\n parameters: {\n path: '//sys/media',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/service/version',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config_dev_overrides',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n ],\n },\n })\n .then((response: FIX_MY_TYPE) => {\n cx.log('Fetched cluster config', {\n cluster,\n 'x-yt-proxy': response.headers['x-yt-proxy'],\n 'x-yt-request-id': response.headers['x-yt-request-id'],\n 'x-yt-trace-id': response.headers['x-yt-trace-id'],\n });\n sendStats(response.status);\n return response.data;\n })\n .catch((error: FIX_MY_TYPE) => {\n const headers = error?.headers || {};\n cx.logError('Cluster config fetch failed', {\n cluster,\n 'x-yt-proxy': headers['x-yt-proxy'],\n 'x-yt-request-id': headers['x-yt-request-id'],\n 'x-yt-trace-id': headers['x-yt-trace-id'],\n });\n sendStats(error.status);\n return Promise.reject(error.data);\n });\n\n if (schedulerVersion?.error?.code === yt.codes.NODE_DOES_NOT_EXIST) {\n delete schedulerVersion.error;\n schedulerVersion.output = '0.0.0-unknown';\n }\n const response = {mediumList, schedulerVersion, uiConfig, uiDevConfig};\n\n if (\n mediumList.error ||\n schedulerVersion.error ||\n (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) ||\n (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST)\n ) {\n cx.logError(\n 'Unacceptable response',\n {\n mediumList: {error: mediumList.error},\n schedulerVersion: {error: schedulerVersion.error},\n uiConfig: {error: uiConfig.error},\n uiDevConfig: {error: uiDevConfig.error},\n },\n {cluster},\n );\n throw new BatchSubrequestError(response);\n }\n\n return response;\n });\n}\n\nconst CACHE_TIME = 2 * 60 * 1000;\n\nconst getCached = createAutoUpdatedCache(fetchClusterParams, CACHE_TIME);\n\nexport async function getPreloadedClusterParams(cluster: string, ctx: AppContext) {\n const ctxObject: Parameters<typeof fetchClusterParams>[1] = {ctx};\n let response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n try {\n response = await getCached(cluster, ctxObject);\n } catch (error) {\n if (error instanceof BatchSubrequestError) {\n response = error.response;\n } else {\n throw error;\n }\n } finally {\n delete ctxObject.ctx;\n }\n\n return response;\n}\n"],"mappings":";;;;;;;;;AAAA,OAAOA,MAAM,MAAM,QAAQ;AAC3B,OAAO,KAAKC,EAAE,MAAM,IAAI;AAExB;AACA,OAAOC,KAAK,MAAM,8BAA8B;AAEhD,SAAQC,sBAAsB,QAAO,6BAA6B;AAClE,SAAQC,kBAAkB,QAAO,iBAAiB;AAClD,SAAQC,MAAM,QAAO,kBAAkB;AAGvC,IAAMC,EAAE,GAAGJ,KAAK,EAAE;AAAC,IAEbK,oBAAoB,0BAAAC,MAAA;EAAAC,SAAA,CAAAF,oBAAA,EAAAC,MAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,oBAAA;EAGtB,SAAAA,qBAAYK,QAAwD,EAAE;IAAA,IAAAC,KAAA;IAAAC,eAAA,OAAAP,oBAAA;IAClEM,KAAA,GAAAH,MAAA,CAAAK,IAAA;IAAQF,KAAA,CAHZD,QAAQ;IAKJC,KAAA,CAAKD,QAAQ,GAAGA,QAAQ;IAAC,OAAAC,KAAA;EAC7B;EAAC,OAAAG,YAAA,CAAAT,oBAAA;AAAA,gBAAAU,gBAAA,CAP8BC,KAAK;AAUxC,SAASC,kBAAkBA,CAACC,OAAe,EAAAC,IAAA,EAA6B;EAAA,IAA1BC,GAAG,GAAAD,IAAA,CAAHC,GAAG;EAC7C,IAAMC,GAAG,GAAGlB,MAAM,EAAE;EACpB,OAAO,CAACiB,GAAG,aAAHA,GAAG,cAAHA,GAAG,GAAIC,GAAG,CAACC,OAAO,CAACF,GAAG,EAAEP,IAAI,CAAC,oBAAoB;IAAA,IAAAU,KAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAE,SAAAC,QAAOC,EAAE;MAAA,IAAAC,qBAAA;MAAA,IAAAC,SAAA,EAAAC,mBAAA,EAAAC,WAAA,EAAAC,gBAAA,EAUvDC,SAAS,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,QAAA,EAAAC,WAAA,EAAA9B,QAAA;MAAA,OAAAe,mBAAA,CAAAgB,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAATX,SAAS,YAAAY,WAACC,cAAsB,EAAE;cAAA,IAAAC,SAAA;cACvC,IAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,EAAE;cAC5BvB,EAAE,CAACwB,GAAG,CAAC,oBAAoB,EAAE;gBACzBnB,gBAAgB,EAAhBA,gBAAgB;gBAChBc,cAAc,EAAdA;cACJ,CAAC,CAAC;cACF;cACA,CAAAC,SAAA,GAAApB,EAAE,CAACyB,KAAK,cAAAL,SAAA,uBAARA,SAAA,CAAAnC,IAAA,CAAAe,EAAE,EAAS,YAAY,EAAE;gBACrBmB,cAAc,EAAdA,cAAc;gBACdO,mBAAmB,EAAE,CAAC;gBACtBL,SAAS,EAATA,SAAS;gBACTM,IAAI,EAAExD,EAAE,CAACyD,QAAQ,EAAE;gBACnBC,OAAO,EAAEvC,OAAO;gBAChBwC,WAAW,EAAET,SAAS,GAAGnB,SAAS;gBAClC6B,SAAS,EAAE/B,EAAE,CAACgC,GAAG,CAAC,WAAW,CAAE;gBAC/BC,MAAM,EAAE;cACZ,CAAC,CAAC;YACN,CAAC;YA1BD,IAAI,CAACjC,EAAE,CAACgC,GAAG,CAAC,WAAW,CAAC,EAAE;cACtBhC,EAAE,CAACkC,GAAG,CAAC,WAAW,EAAEhE,MAAM,CAACiE,UAAU,EAAE,CAAC;cACxCnC,EAAE,CAACoC,MAAM,CAAC,YAAY,EAAEpC,EAAE,CAACgC,GAAG,CAAC,WAAW,CAAC,CAAC;YAChD;YAEM9B,SAAS,GAAGoB,IAAI,CAACC,GAAG,EAAE;YAAApB,mBAAA,GACC7B,kBAAkB,CAACgB,OAAO,CAAC,EAA1Cc,WAAW,GAAAD,mBAAA,CAAlBkC,KAAK;YACNhC,gBAAgB,MAAAiC,MAAA,CAAMtC,EAAE,CAACgC,GAAG,CAAC,WAAW,CAAC;YAAAjB,QAAA,CAAAE,IAAA;YAAA,OAqBqBzC,EAAE,CAAC+D,EAAE,CACpEC,YAAY,CAAC;cACVH,KAAK,EAAAI,aAAA,CAAAA,aAAA,KACErC,WAAW;gBACdsC,cAAc,EAAAD,aAAA,CAAAA,aAAA,KAAMzC,EAAE,CAAC2C,WAAW,EAAE;kBAAE,qBAAqB,EAAEtC;gBAAgB,EAAC;gBAC9EuC,iBAAiB,WAAAA,kBAAAC,KAAA,EAAyC;kBAAA,IAAvCC,UAAU,GAAAD,KAAA,CAAVC,UAAU;oBAAEC,WAAW,GAAAF,KAAA,CAAXE,WAAW;kBACtC,OAAO;oBACHC,IAAI,EAAEF,UAAU;oBAChBG,MAAM,EAAEF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEE,MAAM;oBAC3BC,OAAO,EAAEH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEG;kBAC1B,CAAC;gBACL,CAAC;gBACDC,cAAc,WAAAA,eAAAC,KAAA,EAAsC;kBAAA,IAAAC,kBAAA,EAAAC,mBAAA;kBAAA,IAApCR,UAAU,GAAAM,KAAA,CAAVN,UAAU;oBAAES,QAAQ,GAAAH,KAAA,CAARG,QAAQ;kBAChC,MAAM;oBACFP,IAAI,EAAEF,UAAU;oBAChBG,MAAM,EAAEM,QAAQ,aAARA,QAAQ,wBAAAF,kBAAA,GAARE,QAAQ,CAAEzE,QAAQ,cAAAuE,kBAAA,uBAAlBA,kBAAA,CAAoBJ,MAAM;oBAClCC,OAAO,EAAEK,QAAQ,aAARA,QAAQ,wBAAAD,mBAAA,GAARC,QAAQ,CAAEzE,QAAQ,cAAAwE,mBAAA,uBAAlBA,mBAAA,CAAoBJ;kBACjC,CAAC;gBACL;cAAC,EACJ;cACDM,UAAU,EAAE;gBACRC,QAAQ,EAAE,CACN;kBACIC,OAAO,EAAE,MAAM;kBACfF,UAAU,EAAE;oBACRG,IAAI,EAAE,aAAa;oBACnBC,qCAAqC,EAAE,IAAI;oBAC3CC,sBAAsB,EAAE;kBAC5B;gBACJ,CAAC,EACD;kBACIH,OAAO,EAAE,KAAK;kBACdF,UAAU,EAAE;oBACRG,IAAI,EAAE,wCAAwC;oBAC9CC,qCAAqC,EAAE,IAAI;oBAC3CC,sBAAsB,EAAE;kBAC5B;gBACJ,CAAC,EACD;kBACIH,OAAO,EAAE,KAAK;kBACdF,UAAU,EAAE;oBACRG,IAAI,EAAE,kBAAkB;oBACxBC,qCAAqC,EAAE,IAAI;oBAC3CC,sBAAsB,EAAE;kBAC5B;gBACJ,CAAC,EACD;kBACIH,OAAO,EAAE,KAAK;kBACdF,UAAU,EAAE;oBACRG,IAAI,EAAE,gCAAgC;oBACtCC,qCAAqC,EAAE,IAAI;oBAC3CC,sBAAsB,EAAE;kBAC5B;gBACJ,CAAC;cAET;YACJ,CAAC,CAAC,CACDC,IAAI,CAAC,UAAChF,QAAqB,EAAK;cAC7BkB,EAAE,CAACwB,GAAG,CAAC,wBAAwB,EAAE;gBAC7BlC,OAAO,EAAPA,OAAO;gBACP,YAAY,EAAER,QAAQ,CAACoE,OAAO,CAAC,YAAY,CAAC;gBAC5C,iBAAiB,EAAEpE,QAAQ,CAACoE,OAAO,CAAC,iBAAiB,CAAC;gBACtD,eAAe,EAAEpE,QAAQ,CAACoE,OAAO,CAAC,eAAe;cACrD,CAAC,CAAC;cACF5C,SAAS,CAACxB,QAAQ,CAACmE,MAAM,CAAC;cAC1B,OAAOnE,QAAQ,CAACkE,IAAI;YACxB,CAAC,CAAC,SACI,CAAC,UAACe,KAAkB,EAAK;cAC3B,IAAMb,OAAO,GAAG,CAAAa,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEb,OAAO,KAAI,CAAC,CAAC;cACpClD,EAAE,CAACgE,QAAQ,CAAC,6BAA6B,EAAE;gBACvC1E,OAAO,EAAPA,OAAO;gBACP,YAAY,EAAE4D,OAAO,CAAC,YAAY,CAAC;gBACnC,iBAAiB,EAAEA,OAAO,CAAC,iBAAiB,CAAC;gBAC7C,eAAe,EAAEA,OAAO,CAAC,eAAe;cAC5C,CAAC,CAAC;cACF5C,SAAS,CAACyD,KAAK,CAACd,MAAM,CAAC;cACvB,OAAOgB,OAAO,CAACC,MAAM,CAACH,KAAK,CAACf,IAAI,CAAC;YACrC,CAAC,CAAC;UAAA;YAAAzC,qBAAA,GAAAQ,QAAA,CAAAoD,IAAA;YAAA3D,sBAAA,GAAA4D,cAAA,CAAA7D,qBAAA;YA7ECE,UAAU,GAAAD,sBAAA;YAAEE,gBAAgB,GAAAF,sBAAA;YAAEG,QAAQ,GAAAH,sBAAA;YAAEI,WAAW,GAAAJ,sBAAA;YA+E1D,IAAI,CAAAE,gBAAgB,aAAhBA,gBAAgB,wBAAAT,qBAAA,GAAhBS,gBAAgB,CAAEqD,KAAK,cAAA9D,qBAAA,uBAAvBA,qBAAA,CAAyBoE,IAAI,MAAK7F,EAAE,CAAC8F,KAAK,CAACC,mBAAmB,EAAE;cAChE,OAAO7D,gBAAgB,CAACqD,KAAK;cAC7BrD,gBAAgB,CAAC8D,MAAM,GAAG,eAAe;YAC7C;YACM1F,QAAQ,GAAG;cAAC2B,UAAU,EAAVA,UAAU;cAAEC,gBAAgB,EAAhBA,gBAAgB;cAAEC,QAAQ,EAARA,QAAQ;cAAEC,WAAW,EAAXA;YAAW,CAAC;YAAA,MAGlEH,UAAU,CAACsD,KAAK,IAChBrD,gBAAgB,CAACqD,KAAK,IACrBpD,QAAQ,CAACoD,KAAK,IAAIpD,QAAQ,CAACoD,KAAK,CAACM,IAAI,KAAK7F,EAAE,CAAC8F,KAAK,CAACC,mBAAoB,IACvE3D,WAAW,CAACmD,KAAK,IAAInD,WAAW,CAACmD,KAAK,CAACM,IAAI,KAAK7F,EAAE,CAAC8F,KAAK,CAACC,mBAAoB;cAAAxD,QAAA,CAAAE,IAAA;cAAA;YAAA;YAE9EjB,EAAE,CAACgE,QAAQ,CACP,uBAAuB,EACvB;cACIvD,UAAU,EAAE;gBAACsD,KAAK,EAAEtD,UAAU,CAACsD;cAAK,CAAC;cACrCrD,gBAAgB,EAAE;gBAACqD,KAAK,EAAErD,gBAAgB,CAACqD;cAAK,CAAC;cACjDpD,QAAQ,EAAE;gBAACoD,KAAK,EAAEpD,QAAQ,CAACoD;cAAK,CAAC;cACjCnD,WAAW,EAAE;gBAACmD,KAAK,EAAEnD,WAAW,CAACmD;cAAK;YAC1C,CAAC,EACD;cAACzE,OAAO,EAAPA;YAAO,CAAC,CACZ;YAAC,MACI,IAAIb,oBAAoB,CAACK,QAAQ,CAAC;UAAA;YAAA,OAAAiC,QAAA,CAAA0D,MAAA,WAGrC3F,QAAQ;UAAA;UAAA;YAAA,OAAAiC,QAAA,CAAA2D,IAAA;QAAA;MAAA,GAAA3E,OAAA;IAAA,CAClB;IAAA,iBAAA4E,EAAA;MAAA,OAAAhF,KAAA,CAAAiF,KAAA,OAAAC,SAAA;IAAA;EAAA,IAAC;AACN;AAEA,IAAMC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;AAEhC,IAAMC,SAAS,GAAG1G,sBAAsB,CAACgB,kBAAkB,EAAEyF,UAAU,CAAC;AAExE,gBAAsBE,yBAAyBA,CAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,0BAAA,CAAAP,KAAA,OAAAC,SAAA;AAAA;AAiB9C,SAAAM,2BAAA;EAAAA,0BAAA,GAAAvF,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAjBM,SAAAsF,SAAyC9F,OAAe,EAAEE,GAAe;IAAA,IAAA6F,SAAA,EAAAvG,QAAA;IAAA,OAAAe,mBAAA,CAAAgB,IAAA,UAAAyE,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAvE,IAAA,GAAAuE,SAAA,CAAAtE,IAAA;QAAA;UACtEoE,SAAmD,GAAG;YAAC7F,GAAG,EAAHA;UAAG,CAAC;UAAA+F,SAAA,CAAAvE,IAAA;UAAAuE,SAAA,CAAAtE,IAAA;UAAA,OAI5C8D,SAAS,CAACzF,OAAO,EAAE+F,SAAS,CAAC;QAAA;UAA9CvG,QAAQ,GAAAyG,SAAA,CAAApB,IAAA;UAAAoB,SAAA,CAAAtE,IAAA;UAAA;QAAA;UAAAsE,SAAA,CAAAvE,IAAA;UAAAuE,SAAA,CAAAC,EAAA,GAAAD,SAAA;UAAA,MAEJA,SAAA,CAAAC,EAAA,YAAiB/G,oBAAoB;YAAA8G,SAAA,CAAAtE,IAAA;YAAA;UAAA;UACrCnC,QAAQ,GAAGyG,SAAA,CAAAC,EAAA,CAAM1G,QAAQ;UAACyG,SAAA,CAAAtE,IAAA;UAAA;QAAA;UAAA,MAAAsE,SAAA,CAAAC,EAAA;QAAA;UAAAD,SAAA,CAAAvE,IAAA;UAK9B,OAAOqE,SAAS,CAAC7F,GAAG;UAAC,OAAA+F,SAAA,CAAAE,MAAA;QAAA;UAAA,OAAAF,SAAA,CAAAd,MAAA,WAGlB3F,QAAQ;QAAA;QAAA;UAAA,OAAAyG,SAAA,CAAAb,IAAA;MAAA;IAAA,GAAAU,QAAA;EAAA,CAClB;EAAA,OAAAD,0BAAA,CAAAP,KAAA,OAAAC,SAAA;AAAA"}
|
1
|
+
{"version":3,"names":["crypto","os","ytLib","createAutoUpdatedCache","getRobotYTApiSetup","getApp","yt","BatchSubrequestError","_Error","_inherits","_super","_createSuper","response","_this","_classCallCheck","call","_createClass","_wrapNativeSuper","Error","fetchClusterParams","cluster","_ref","ctx","app","nodekit","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","cx","_schedulerVersion$err","timeStart","_getRobotYTApiSetup","configSetup","xYTCorrelationId","sendStats","_yield$yt$v3$executeB","_yield$yt$v3$executeB2","mediumList","schedulerVersion","uiConfig","uiDevConfig","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_cx$stats","timestamp","Date","now","log","stats","headerContentLength","host","hostname","service","requestTime","requestId","get","action","set","randomUUID","setTag","setup","concat","v3","executeBatch","_objectSpread","requestHeaders","getMetadata","transformResponse","_ref3","parsedData","rawResponse","data","status","headers","transformError","_ref4","_rawError$response","_rawError$response2","rawError","parameters","requests","command","path","suppress_transaction_coordinator_sync","suppress_upstream_sync","then","error","logError","Promise","reject","sent","_slicedToArray","code","codes","NODE_DOES_NOT_EXIST","output","abrupt","stop","_x","apply","arguments","CACHE_TIME","getCached","getPreloadedClusterParams","_x2","_x3","_getPreloadedClusterParams","_callee2","ctxObject","_callee2$","_context2","t0","finish"],"sources":["cluster-params.ts"],"sourcesContent":["import crypto from 'crypto';\nimport * as os from 'os';\nimport type {AppContext} from '@gravity-ui/nodekit';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\n\nimport {createAutoUpdatedCache} from '../utils/auto-updated-cache';\nimport {getRobotYTApiSetup} from './requestsSetup';\nimport {getApp} from '../ServerFactory';\nimport {FIX_MY_TYPE} from '../../@types/types';\n\nconst yt = ytLib();\n\nclass BatchSubrequestError extends Error {\n response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n constructor(response: Awaited<ReturnType<typeof fetchClusterParams>>) {\n super();\n\n this.response = response;\n }\n}\n\nfunction fetchClusterParams(cluster: string, {ctx}: {ctx?: AppContext}) {\n const app = getApp();\n return (ctx ?? app.nodekit.ctx).call('fetchClusterParams', async (cx) => {\n if (!cx.get('requestId')) {\n cx.set('requestId', crypto.randomUUID());\n cx.setTag('request_id', cx.get('requestId'));\n }\n\n const timeStart = Date.now();\n const {setup: configSetup} = getRobotYTApiSetup(cluster);\n const xYTCorrelationId = `${cx.get('requestId')}.fetchClusterParams`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n cx.log('fetchClusterParams', {\n xYTCorrelationId,\n responseStatus,\n });\n cx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: cluster,\n requestTime: timestamp - timeStart,\n requestId: cx.get('requestId')!,\n action: 'fetchClusterParams',\n });\n }\n\n const [mediumList, schedulerVersion, uiConfig, uiDevConfig] = await yt.v3\n .executeBatch({\n setup: {\n ...configSetup,\n requestHeaders: {...cx.getMetadata(), 'X-YT-Correlation-Id': xYTCorrelationId},\n transformResponse({parsedData, rawResponse}: FIX_MY_TYPE) {\n return {\n data: parsedData,\n status: rawResponse?.status,\n headers: rawResponse?.headers,\n };\n },\n transformError({parsedData, rawError}: FIX_MY_TYPE) {\n throw {\n data: parsedData,\n status: rawError?.response?.status,\n headers: rawError?.response?.headers,\n };\n },\n },\n parameters: {\n requests: [\n {\n command: 'list',\n parameters: {\n path: '//sys/media',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/scheduler/orchid/service/version',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n {\n command: 'get',\n parameters: {\n path: '//sys/@ui_config_dev_overrides',\n suppress_transaction_coordinator_sync: true,\n suppress_upstream_sync: true,\n },\n },\n ],\n },\n })\n .then((response: FIX_MY_TYPE) => {\n cx.log('Fetched cluster config', {\n cluster,\n 'x-yt-proxy': response.headers['x-yt-proxy'],\n 'x-yt-request-id': response.headers['x-yt-request-id'],\n 'x-yt-trace-id': response.headers['x-yt-trace-id'],\n });\n sendStats(response.status);\n return response.data;\n })\n .catch((error: FIX_MY_TYPE) => {\n const headers = error?.headers || {};\n cx.logError('Cluster config fetch failed', {\n cluster,\n 'x-yt-proxy': headers['x-yt-proxy'],\n 'x-yt-request-id': headers['x-yt-request-id'],\n 'x-yt-trace-id': headers['x-yt-trace-id'],\n });\n sendStats(error.status);\n return Promise.reject(error.data);\n });\n\n if (schedulerVersion?.error?.code === yt.codes.NODE_DOES_NOT_EXIST) {\n delete schedulerVersion.error;\n schedulerVersion.output = '0.0.0-unknown';\n }\n const response = {mediumList, schedulerVersion, uiConfig, uiDevConfig};\n\n if (\n mediumList.error ||\n schedulerVersion.error ||\n (uiConfig.error && uiConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST) ||\n (uiDevConfig.error && uiDevConfig.error.code !== yt.codes.NODE_DOES_NOT_EXIST)\n ) {\n cx.logError(\n 'Unacceptable response',\n {\n mediumList: {error: mediumList.error},\n schedulerVersion: {error: schedulerVersion.error},\n uiConfig: {error: uiConfig.error},\n uiDevConfig: {error: uiDevConfig.error},\n },\n {cluster},\n );\n throw new BatchSubrequestError(response);\n }\n\n return response;\n });\n}\n\nconst CACHE_TIME = 2 * 60 * 1000;\n\nconst getCached = createAutoUpdatedCache(fetchClusterParams, CACHE_TIME);\n\nexport async function getPreloadedClusterParams(cluster: string, ctx: AppContext) {\n const ctxObject: Parameters<typeof fetchClusterParams>[1] = {ctx};\n let response: Awaited<ReturnType<typeof fetchClusterParams>>;\n\n try {\n response = await getCached(cluster, ctxObject);\n } catch (error) {\n if (error instanceof BatchSubrequestError) {\n response = error.response;\n } else {\n throw error;\n }\n } finally {\n delete ctxObject.ctx;\n }\n\n return response;\n}\n"],"mappings":"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"}
|
@@ -42,8 +42,6 @@ function _getXSRFToken() {
|
|
42
42
|
xYTCorrelationId: xYTCorrelationId,
|
43
43
|
responseStatus: responseStatus
|
44
44
|
});
|
45
|
-
|
46
|
-
// @ts-expect-error
|
47
45
|
(_req$ctx$stats = (_req$ctx = req.ctx).stats) === null || _req$ctx$stats === void 0 ? void 0 : _req$ctx$stats.call(_req$ctx, 'ytRequests', {
|
48
46
|
responseStatus: responseStatus,
|
49
47
|
headerContentLength: 0,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["axios","os","REQUEST_TIMEOUT","getExtra","error","_error$request","_ref","request","_options","headers","correlationId","undefined","getXSRFToken","_x","_x2","_getXSRFToken","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","config","actionPrefix","timeStart","setup","proxyBaseUrl","authHeaders","xYTCorrelationId","sendStats","_args","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_req$ctx$stats","_req$ctx","_req$headers","timestamp","Date","now","ctx","log","stats","call","headerContentLength","host","hostname","service","id","requestTime","requestId","action","concat","referer","page","length","abrupt","url","method","_objectSpread","timeout","then","response","status","data","e","_e$response$status","_e$response","Promise","reject","stop","getVersion","clusterConfig","proxy","secure","protocol","responseType","parseVersion","version","match","getVersions","clusters","all","_map","logError","prepareError","message","err","http_status_code","isAxiosError","_err$response","_err$response2","_unused","_toString","code","inner_errors","_compact","getClusterInfo","_x3","_x4","_getClusterInfo","_callee2","tokenPromise","clusterVersionPromise","tokenError","versionError","token","_callee2$","_context2","sent","t0","toString","t1"],"sources":["cluster-queries.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\nimport * as os from 'os';\n\nimport type {Request} from 'express';\n\nimport {ClusterConfig} from '../../shared/yt-types';\nimport {YTApiUserSetup} from './requestsSetup';\n\nconst REQUEST_TIMEOUT = 15000;\n\nfunction getExtra(error: AxiosError) {\n const {headers} = error?.request?._options || {};\n if (headers) {\n const correlationId = headers['X-YT-Correlation-Id'];\n return correlationId && {'X-YT-Correlation-Id': correlationId};\n }\n return undefined;\n}\n\nexport async function getXSRFToken(req: Request, config: YTApiUserSetup, actionPrefix = '') {\n const timeStart = Date.now();\n const {setup, proxyBaseUrl, authHeaders} = config;\n\n const xYTCorrelationId = `${req.id}.getXSRFToken`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n req.ctx.log('getXSRFToken', {\n xYTCorrelationId,\n responseStatus,\n });\n\n // @ts-expect-error\n req.ctx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: `${actionPrefix}.getXSRFToken`,\n referer: req?.headers?.referer || '',\n page: '',\n });\n }\n\n return axios\n .request<{login: string; csrf_token: string}>({\n url: proxyBaseUrl + '/auth/whoami',\n method: 'GET',\n headers: {\n ...authHeaders,\n 'X-YT-Correlation-Id': xYTCorrelationId,\n },\n timeout: REQUEST_TIMEOUT,\n })\n .then((response) => {\n sendStats(response.status);\n return response.data;\n })\n .catch((e) => {\n sendStats(e?.response?.status ?? 500);\n return Promise.reject(e);\n });\n}\n\nfunction getVersion(clusterConfig: {proxy: string; secure?: boolean}) {\n const {proxy, secure} = clusterConfig;\n const protocol = secure ? 'https://' : 'http://';\n\n return axios\n .request({\n url: protocol + proxy + '/version',\n method: 'GET',\n timeout: REQUEST_TIMEOUT,\n responseType: 'text',\n })\n .then((response) => response.data);\n}\n\nfunction parseVersion(version: string) {\n const match = version && version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n return match && match[0];\n}\n\nexport function getVersions(req: Request, clusters: Record<string, ClusterConfig>) {\n return Promise.all(\n _.map(clusters, (clusterConfig) => {\n const id = clusterConfig.id;\n return getVersion(clusterConfig)\n .then((version) => ({id, version: parseVersion(version)}))\n .catch((error) => {\n req.ctx.logError('getVersion error', error, getExtra(error));\n return {id};\n });\n }),\n );\n}\n\nfunction prepareError(message: string, err: AxiosError) {\n let error;\n let http_status_code;\n try {\n if (err?.isAxiosError) {\n error = err.response?.data;\n http_status_code = err.response?.status;\n } else {\n error = err;\n }\n } catch {\n error = err;\n }\n return {\n message: `${message}:${_.toString(err)}`,\n code: http_status_code,\n inner_errors: _.compact([error]),\n };\n}\n\nexport async function getClusterInfo(req: Request, config: YTApiUserSetup) {\n const {setup} = config;\n const tokenPromise = getXSRFToken(req, config, 'ui_clusterInfo');\n const clusterVersionPromise = getVersion(setup);\n\n let tokenError, versionError;\n let token,\n version = null;\n try {\n version = await clusterVersionPromise;\n } catch (err: any) {\n versionError = prepareError('Failed to get cluster version ', err);\n req.ctx.logError('Failed to get cluster version: ' + err.toString(), err, getExtra(err));\n }\n\n try {\n token = await tokenPromise;\n } catch (err: any) {\n tokenError = prepareError('Failed to get XSRF token ', err);\n req.ctx.logError('Failed to get XSRF token', err, getExtra(err));\n }\n\n return {\n token,\n version,\n tokenError,\n versionError,\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["axios","os","REQUEST_TIMEOUT","getExtra","error","_error$request","_ref","request","_options","headers","correlationId","undefined","getXSRFToken","_x","_x2","_getXSRFToken","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee","req","config","actionPrefix","timeStart","setup","proxyBaseUrl","authHeaders","xYTCorrelationId","sendStats","_args","wrap","_callee$","_context","prev","next","_sendStats","responseStatus","_req$ctx$stats","_req$ctx","_req$headers","timestamp","Date","now","ctx","log","stats","call","headerContentLength","host","hostname","service","id","requestTime","requestId","action","concat","referer","page","length","abrupt","url","method","_objectSpread","timeout","then","response","status","data","e","_e$response$status","_e$response","Promise","reject","stop","getVersion","clusterConfig","proxy","secure","protocol","responseType","parseVersion","version","match","getVersions","clusters","all","_map","logError","prepareError","message","err","http_status_code","isAxiosError","_err$response","_err$response2","_unused","_toString","code","inner_errors","_compact","getClusterInfo","_x3","_x4","_getClusterInfo","_callee2","tokenPromise","clusterVersionPromise","tokenError","versionError","token","_callee2$","_context2","sent","t0","toString","t1"],"sources":["cluster-queries.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport _ from 'lodash';\nimport * as os from 'os';\n\nimport type {Request} from 'express';\n\nimport {ClusterConfig} from '../../shared/yt-types';\nimport {YTApiUserSetup} from './requestsSetup';\n\nconst REQUEST_TIMEOUT = 15000;\n\nfunction getExtra(error: AxiosError) {\n const {headers} = error?.request?._options || {};\n if (headers) {\n const correlationId = headers['X-YT-Correlation-Id'];\n return correlationId && {'X-YT-Correlation-Id': correlationId};\n }\n return undefined;\n}\n\nexport async function getXSRFToken(req: Request, config: YTApiUserSetup, actionPrefix = '') {\n const timeStart = Date.now();\n const {setup, proxyBaseUrl, authHeaders} = config;\n\n const xYTCorrelationId = `${req.id}.getXSRFToken`;\n\n function sendStats(responseStatus: number) {\n const timestamp = Date.now();\n req.ctx.log('getXSRFToken', {\n xYTCorrelationId,\n responseStatus,\n });\n\n req.ctx.stats?.('ytRequests', {\n responseStatus,\n headerContentLength: 0,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: `${actionPrefix}.getXSRFToken`,\n referer: req?.headers?.referer || '',\n page: '',\n });\n }\n\n return axios\n .request<{login: string; csrf_token: string}>({\n url: proxyBaseUrl + '/auth/whoami',\n method: 'GET',\n headers: {\n ...authHeaders,\n 'X-YT-Correlation-Id': xYTCorrelationId,\n },\n timeout: REQUEST_TIMEOUT,\n })\n .then((response) => {\n sendStats(response.status);\n return response.data;\n })\n .catch((e) => {\n sendStats(e?.response?.status ?? 500);\n return Promise.reject(e);\n });\n}\n\nfunction getVersion(clusterConfig: {proxy: string; secure?: boolean}) {\n const {proxy, secure} = clusterConfig;\n const protocol = secure ? 'https://' : 'http://';\n\n return axios\n .request({\n url: protocol + proxy + '/version',\n method: 'GET',\n timeout: REQUEST_TIMEOUT,\n responseType: 'text',\n })\n .then((response) => response.data);\n}\n\nfunction parseVersion(version: string) {\n const match = version && version.match(/(\\d+)\\.(\\d+)\\.(\\d+)/);\n return match && match[0];\n}\n\nexport function getVersions(req: Request, clusters: Record<string, ClusterConfig>) {\n return Promise.all(\n _.map(clusters, (clusterConfig) => {\n const id = clusterConfig.id;\n return getVersion(clusterConfig)\n .then((version) => ({id, version: parseVersion(version)}))\n .catch((error) => {\n req.ctx.logError('getVersion error', error, getExtra(error));\n return {id};\n });\n }),\n );\n}\n\nfunction prepareError(message: string, err: AxiosError) {\n let error;\n let http_status_code;\n try {\n if (err?.isAxiosError) {\n error = err.response?.data;\n http_status_code = err.response?.status;\n } else {\n error = err;\n }\n } catch {\n error = err;\n }\n return {\n message: `${message}:${_.toString(err)}`,\n code: http_status_code,\n inner_errors: _.compact([error]),\n };\n}\n\nexport async function getClusterInfo(req: Request, config: YTApiUserSetup) {\n const {setup} = config;\n const tokenPromise = getXSRFToken(req, config, 'ui_clusterInfo');\n const clusterVersionPromise = getVersion(setup);\n\n let tokenError, versionError;\n let token,\n version = null;\n try {\n version = await clusterVersionPromise;\n } catch (err: any) {\n versionError = prepareError('Failed to get cluster version ', err);\n req.ctx.logError('Failed to get cluster version: ' + err.toString(), err, getExtra(err));\n }\n\n try {\n token = await tokenPromise;\n } catch (err: any) {\n tokenError = prepareError('Failed to get XSRF token ', err);\n req.ctx.logError('Failed to get XSRF token', err, getExtra(err));\n }\n\n return {\n token,\n version,\n tokenError,\n versionError,\n };\n}\n"],"mappings":"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"}
|
@@ -31,7 +31,6 @@ function _ytTvmApiHandler() {
|
|
31
31
|
var timestamp = Date.now();
|
32
32
|
var headerContentLength = overrides.headerContentLength;
|
33
33
|
var contentLength = Number(headerContentLength);
|
34
|
-
// @ts-expect-error
|
35
34
|
(_ctx$stats = ctx.stats) === null || _ctx$stats === void 0 ? void 0 : _ctx$stats.call(ctx, 'ytRequests', _objectSpread(_objectSpread({}, overrides), {}, {
|
36
35
|
headerContentLength: isNaN(contentLength) ? 0 : contentLength,
|
37
36
|
timestamp: timestamp,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["axios","qs","ytLib","pipeAxiosResponse","sendAndLogError","UNEXPECTED_PIPE_AXIOS_RESPONSE","os","getYtPageIdParts","YT_API_REQUEST_ID_HEADER","getUserYTApiSetup","yt","YT_API_REQUEST_ID_HEADER_LOWER","toLowerCase","YT_KNOWN_COMMANDS","Set","supportedCommands","getSupportedCommands","ytTvmApiHandler","_x","_x2","_ytTvmApiHandler","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","req","res","_ref","ctx","params","referer","sendError","_sendError","cfg","_cfg","setup","authHeaders","isLocalCluster","clusterApi","commandInfo","action","timeStart","ytApiId","sendStats","proxy","secure","proto","requestProxy","_res","search","requestUrl","_req$headers","host","cookie","_apiId","rest","_response","wrap","_callee3$","_context3","prev","next","_sendStats","overrides","_ctx$stats","timestamp","Date","now","headerContentLength","contentLength","Number","stats","call","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getPage","_sendError3","_callee2","e","statusCode","_args2","_callee2$","_context2","length","undefined","method","query","stop","_sendError2","_x3","headers","cluster","t0","abrupt","version","Error","concat","get","command","has","heavy","log","request","url","getMetadata","sent","data","_isEmpty","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","responseStatus","status","_x4","t1","t2"],"sources":["yt-api.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\nimport qs from 'qs';\nimport _ from 'lodash';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {pipeAxiosResponse, sendAndLogError, UNEXPECTED_PIPE_AXIOS_RESPONSE} from '../utils';\nimport * as os from 'os';\nimport {getYtPageIdParts} from '../../shared/utils';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nconst yt = ytLib();\n\ninterface Params {\n cluster: string;\n version: string;\n command: string;\n}\n\ninterface CommandConfig {\n heavy: boolean;\n}\n\nconst YT_API_REQUEST_ID_HEADER_LOWER = YT_API_REQUEST_ID_HEADER.toLowerCase();\n\nconst YT_KNOWN_COMMANDS = new Set(['get_job_stderr', 'get_job_input', 'get_job_fail_context']);\n\nconst supportedCommands: Record<string, Map<string, CommandConfig>> = yt.getSupportedCommands();\n\nexport async function ytTvmApiHandler(req: Request, res: Response) {\n const {ctx, params} = req as any as Request<Params>;\n const {referer} = req.headers;\n\n async function sendError(e: Error | AxiosError, statusCode: number | null = null) {\n await sendAndLogError(ctx, res, statusCode, e, {\n method: 'nodejs',\n query: req.query,\n page: referer,\n });\n }\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(params.cluster, req);\n } catch (e: any) {\n return sendError(e, 400);\n }\n const {setup, authHeaders, isLocalCluster} = cfg;\n\n const {[params.version]: clusterApi} = supportedCommands;\n if (!clusterApi) {\n return sendError(new Error(`Unexpected api version: [${params.version}]`), 400);\n }\n\n const commandInfo = clusterApi.get(params.command);\n if (!commandInfo && !YT_KNOWN_COMMANDS.has(params.command)) {\n return sendError(new Error(`Unexpected command: [${params.command}]`), 400);\n }\n\n const action = `${params.version}/${params.command}`;\n const timeStart = Date.now();\n\n const {[YT_API_REQUEST_ID_HEADER_LOWER]: ytApiId} = req.headers;\n\n function sendStats(overrides: {\n responseStatus: number;\n headerContentLength?: string;\n pipedDataSize?: number;\n }) {\n const timestamp = Date.now();\n const {headerContentLength} = overrides;\n const contentLength = Number(headerContentLength);\n // @ts-expect-error\n ctx.stats?.('ytRequests', {\n ...overrides,\n headerContentLength: isNaN(contentLength) ? 0 : contentLength,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: (ytApiId as string) || action,\n referer: referer ?? '',\n page: !referer ? '' : getYtPageIdParts(referer).getPage(),\n });\n }\n\n try {\n const {proxy, secure} = setup;\n const proto = secure ? 'https' : 'http';\n let requestProxy = proxy;\n if (commandInfo?.heavy && !isLocalCluster) {\n ctx.log(`Request heavy proxy for command '${params.command}'`);\n const res = await axios.request({\n method: 'GET',\n url: `${proto}://${proxy}/hosts`,\n headers: ctx.getMetadata(),\n });\n requestProxy = res.data[0];\n }\n\n const search = _.isEmpty(req.query) ? '' : `?${qs.stringify(req.query)}`;\n const requestUrl = `${proto}://${requestProxy}/api/${action}${search}`;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {host, cookie, [YT_API_REQUEST_ID_HEADER_LOWER]: _apiId, ...rest} = req.headers;\n ctx.log('Request', {requestUrl, 'X-YT-Correlation-Id': req.id});\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {\n ...ctx.getMetadata(),\n ...rest,\n 'accept-encoding': 'gzip',\n 'X-YT-Correlation-Id': req.id,\n 'X-YT-Suppress-Redirect': '1',\n ...authHeaders,\n },\n data: req.body,\n timeout: 100000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(ctx, res, response);\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n sendStats({...pipedSize, responseStatus: response.status});\n });\n } catch (e) {\n try {\n await sendError(e as any, 500);\n } catch {}\n sendStats({\n responseStatus: (e as AxiosError)?.response?.status || 500,\n });\n }\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["axios","qs","ytLib","pipeAxiosResponse","sendAndLogError","UNEXPECTED_PIPE_AXIOS_RESPONSE","os","getYtPageIdParts","YT_API_REQUEST_ID_HEADER","getUserYTApiSetup","yt","YT_API_REQUEST_ID_HEADER_LOWER","toLowerCase","YT_KNOWN_COMMANDS","Set","supportedCommands","getSupportedCommands","ytTvmApiHandler","_x","_x2","_ytTvmApiHandler","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee3","req","res","_ref","ctx","params","referer","sendError","_sendError","cfg","_cfg","setup","authHeaders","isLocalCluster","clusterApi","commandInfo","action","timeStart","ytApiId","sendStats","proxy","secure","proto","requestProxy","_res","search","requestUrl","_req$headers","host","cookie","_apiId","rest","_response","wrap","_callee3$","_context3","prev","next","_sendStats","overrides","_ctx$stats","timestamp","Date","now","headerContentLength","contentLength","Number","stats","call","_objectSpread","isNaN","hostname","service","id","requestTime","requestId","page","getPage","_sendError3","_callee2","e","statusCode","_args2","_callee2$","_context2","length","undefined","method","query","stop","_sendError2","_x3","headers","cluster","t0","abrupt","version","Error","concat","get","command","has","heavy","log","request","url","getMetadata","sent","data","_isEmpty","stringify","_objectWithoutProperties","map","_toPropertyKey","body","timeout","responseType","then","_ref2","_callee","response","pipedSize","_callee$","_context","responseStatus","status","_x4","t1","t2"],"sources":["yt-api.ts"],"sourcesContent":["import axios, {AxiosError} from 'axios';\nimport type {Request, Response} from 'express';\nimport qs from 'qs';\nimport _ from 'lodash';\n// @ts-ignore\nimport ytLib from '@ytsaurus/javascript-wrapper';\nimport {pipeAxiosResponse, sendAndLogError, UNEXPECTED_PIPE_AXIOS_RESPONSE} from '../utils';\nimport * as os from 'os';\nimport {getYtPageIdParts} from '../../shared/utils';\nimport {YT_API_REQUEST_ID_HEADER} from '../../shared/constants';\nimport {getUserYTApiSetup} from '../components/requestsSetup';\n\nconst yt = ytLib();\n\ninterface Params {\n cluster: string;\n version: string;\n command: string;\n}\n\ninterface CommandConfig {\n heavy: boolean;\n}\n\nconst YT_API_REQUEST_ID_HEADER_LOWER = YT_API_REQUEST_ID_HEADER.toLowerCase();\n\nconst YT_KNOWN_COMMANDS = new Set(['get_job_stderr', 'get_job_input', 'get_job_fail_context']);\n\nconst supportedCommands: Record<string, Map<string, CommandConfig>> = yt.getSupportedCommands();\n\nexport async function ytTvmApiHandler(req: Request, res: Response) {\n const {ctx, params} = req as any as Request<Params>;\n const {referer} = req.headers;\n\n async function sendError(e: Error | AxiosError, statusCode: number | null = null) {\n await sendAndLogError(ctx, res, statusCode, e, {\n method: 'nodejs',\n query: req.query,\n page: referer,\n });\n }\n\n let cfg;\n try {\n cfg = getUserYTApiSetup(params.cluster, req);\n } catch (e: any) {\n return sendError(e, 400);\n }\n const {setup, authHeaders, isLocalCluster} = cfg;\n\n const {[params.version]: clusterApi} = supportedCommands;\n if (!clusterApi) {\n return sendError(new Error(`Unexpected api version: [${params.version}]`), 400);\n }\n\n const commandInfo = clusterApi.get(params.command);\n if (!commandInfo && !YT_KNOWN_COMMANDS.has(params.command)) {\n return sendError(new Error(`Unexpected command: [${params.command}]`), 400);\n }\n\n const action = `${params.version}/${params.command}`;\n const timeStart = Date.now();\n\n const {[YT_API_REQUEST_ID_HEADER_LOWER]: ytApiId} = req.headers;\n\n function sendStats(overrides: {\n responseStatus: number;\n headerContentLength?: string;\n pipedDataSize?: number;\n }) {\n const timestamp = Date.now();\n const {headerContentLength} = overrides;\n const contentLength = Number(headerContentLength);\n ctx.stats?.('ytRequests', {\n ...overrides,\n headerContentLength: isNaN(contentLength) ? 0 : contentLength,\n timestamp,\n host: os.hostname(),\n service: setup.id,\n requestTime: timestamp - timeStart,\n requestId: req.id,\n action: (ytApiId as string) || action,\n referer: referer ?? '',\n page: !referer ? '' : getYtPageIdParts(referer).getPage(),\n });\n }\n\n try {\n const {proxy, secure} = setup;\n const proto = secure ? 'https' : 'http';\n let requestProxy = proxy;\n if (commandInfo?.heavy && !isLocalCluster) {\n ctx.log(`Request heavy proxy for command '${params.command}'`);\n const res = await axios.request({\n method: 'GET',\n url: `${proto}://${proxy}/hosts`,\n headers: ctx.getMetadata(),\n });\n requestProxy = res.data[0];\n }\n\n const search = _.isEmpty(req.query) ? '' : `?${qs.stringify(req.query)}`;\n const requestUrl = `${proto}://${requestProxy}/api/${action}${search}`;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {host, cookie, [YT_API_REQUEST_ID_HEADER_LOWER]: _apiId, ...rest} = req.headers;\n ctx.log('Request', {requestUrl, 'X-YT-Correlation-Id': req.id});\n\n await axios\n .request({\n url: requestUrl,\n method: req.method as any,\n headers: {\n ...ctx.getMetadata(),\n ...rest,\n 'accept-encoding': 'gzip',\n 'X-YT-Correlation-Id': req.id,\n 'X-YT-Suppress-Redirect': '1',\n ...authHeaders,\n },\n data: req.body,\n timeout: 100000,\n responseType: 'stream',\n })\n .then(async (response) => {\n const pipedSize = await pipeAxiosResponse(ctx, res, response);\n if (!pipedSize) {\n throw new Error(UNEXPECTED_PIPE_AXIOS_RESPONSE);\n }\n sendStats({...pipedSize, responseStatus: response.status});\n });\n } catch (e) {\n try {\n await sendError(e as any, 500);\n } catch {}\n sendStats({\n responseStatus: (e as AxiosError)?.response?.status || 500,\n });\n }\n}\n"],"mappings":"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"}
|
@@ -1,3 +1,3 @@
|
|
1
1
|
import TabletCellBundlesTopRowContent from '../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent';
|
2
|
-
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "
|
2
|
+
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "page" | "favourites" | "activeBundle" | "setActiveBundle" | "isActiveBundleInFavourites" | "activeBundleData" | "bcItems">>;
|
3
3
|
export default _default;
|
package/build/esm/ui/pages/tablet_cell_bundles/TabletCellBundlesTopRowContent.connected.d.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
import TabletCellBundlesTopRowContent from '../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent';
|
2
|
-
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "
|
2
|
+
declare const _default: import("react-redux").ConnectedComponent<typeof TabletCellBundlesTopRowContent, import("react-redux").Omit<import("../../pages/tablet_cell_bundles/TabletCellBundlesTopRowContent").PropsFromRedux, "page" | "favourites" | "activeBundle" | "setActiveBundle" | "isActiveBundleInFavourites" | "toggleFavourite" | "activeBundleData" | "bcItems">>;
|
3
3
|
export default _default;
|
@@ -51,7 +51,6 @@ async function getXSRFToken(req, config, actionPrefix = '') {
|
|
51
51
|
xYTCorrelationId,
|
52
52
|
responseStatus,
|
53
53
|
});
|
54
|
-
// @ts-expect-error
|
55
54
|
(_b = (_a = req.ctx).stats) === null || _b === void 0 ? void 0 : _b.call(_a, 'ytRequests', {
|
56
55
|
responseStatus,
|
57
56
|
headerContentLength: 0,
|
@@ -87,7 +87,6 @@ async function ytTvmApiHandler(req, res) {
|
|
87
87
|
const timestamp = Date.now();
|
88
88
|
const { headerContentLength } = overrides;
|
89
89
|
const contentLength = Number(headerContentLength);
|
90
|
-
// @ts-expect-error
|
91
90
|
(_a = ctx.stats) === null || _a === void 0 ? void 0 : _a.call(ctx, 'ytRequests', Object.assign(Object.assign({}, overrides), { headerContentLength: isNaN(contentLength) ? 0 : contentLength, timestamp, host: os.hostname(), service: setup.id, requestTime: timestamp - timeStart, requestId: req.id, action: ytApiId || action, referer: referer !== null && referer !== void 0 ? referer : '', page: !referer ? '' : (0, utils_2.getYtPageIdParts)(referer).getPage() }));
|
92
91
|
}
|
93
92
|
try {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ytsaurus/ui",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.3",
|
4
4
|
"repository": {
|
5
5
|
"type": "github",
|
6
6
|
"url": "https://github.com/YTsaurus/ytsaurus-ui/tree/main/packages/ui"
|
@@ -56,9 +56,9 @@
|
|
56
56
|
"dependencies": {
|
57
57
|
"@gravity-ui/app-layout": "^1.1.1",
|
58
58
|
"@gravity-ui/dialog-fields": "^1.1.1",
|
59
|
-
"@gravity-ui/expresskit": "^0.
|
59
|
+
"@gravity-ui/expresskit": "^0.2.0",
|
60
60
|
"@gravity-ui/navigation": "^0.3.0",
|
61
|
-
"@gravity-ui/nodekit": "^0.
|
61
|
+
"@gravity-ui/nodekit": "^0.2.0",
|
62
62
|
"@gravity-ui/unipika": "^1.0.0",
|
63
63
|
"@ytsaurus/interface-helpers": "^0.1.1",
|
64
64
|
"@ytsaurus/javascript-wrapper": "^0.2.1",
|
@@ -170,5 +170,5 @@
|
|
170
170
|
"docker": {
|
171
171
|
"image": "ytsaurus/ui"
|
172
172
|
},
|
173
|
-
"gitHead": "
|
173
|
+
"gitHead": "761e9917101f50e26d791a3156c34d4410689cd6"
|
174
174
|
}
|