{"version":3,"file":"cuby-ui-api.mjs","sources":["../../../projects/api/constants/x-ndjson-config-options.ts","../../../projects/api/constants/blob-config-options.ts","../../../projects/api/constants/sse-stream-config-options.ts","../../../projects/api/tokens/api-url-context.ts","../../../projects/api/tokens/jtext-api-service.token.ts","../../../projects/api/constants/shared-project-http-options.ts","../../../projects/api/constants/shared-factory-http-options.ts","../../../projects/api/constants/shared-platform-http-options.ts","../../../projects/api/constants/shared-learning-http-option.ts","../../../projects/api/constants/shared-schedule-http-options.ts","../../../projects/api/constants/shared-instruction-http-options.ts","../../../projects/api/constants/shared-construction-http-options.ts","../../../projects/api/constants/storage-object-type.ts","../../../projects/api/shared/models/job.options.ts","../../../projects/api/shared/models/instruction.ts","../../../projects/api/shared/models/subject.ts","../../../projects/api/shared/models/review-type.ts","../../../projects/api/shared/models/http-status-code.ts","../../../projects/api/shared/services/frame-api.service.ts","../../../projects/api/shared/services/tree-struct-api.service.ts","../../../projects/api/shared/services/node-checklist-api.service.ts","../../../projects/api/shared/services/tree-struct-navigator-api.service.ts","../../../projects/api/shared/services/jtext-api.service.ts","../../../projects/api/shared/services/resource-api.service.ts","../../../projects/api/project/models/node-check-list-formalization-api.options.ts","../../../projects/api/project/services/crew-template-api.service.ts","../../../projects/api/project/services/design-job-main-api.service.ts","../../../projects/api/project/services/design-job-main-group-api.service.ts","../../../projects/api/project/services/project-api.service.ts","../../../projects/api/project/services/project-details-phase-init-api.service.ts","../../../projects/api/project/services/project-init-phase-api.service.ts","../../../projects/api/project/services/project-phase-design-technology-api.service.ts","../../../projects/api/project/services/project-resource-phase-init-api.service.ts","../../../projects/api/project/services/project-schedule-phase-init-api.service.ts","../../../projects/api/project/services/technology-phase-init-api.service.ts","../../../projects/api/project/services/node-check-list-formalization-api.service.ts","../../../projects/api/factory/models/arrow-work-flow-component-controller-api.options.ts","../../../projects/api/factory/models/intra-logistic.ts","../../../projects/api/factory/services/instructions-api.service.ts","../../../projects/api/factory/services/arrow-work-flow-actions-api.service.ts","../../../projects/api/factory/services/arrow-work-flow-component-controller-api.service.ts","../../../projects/api/factory/services/arrow-work-flow-readiness-checklist-api.service.ts","../../../projects/api/factory/services/arrow-work-flow-component-structure-api.service.ts","../../../projects/api/factory/services/arrow-work-flow-trasnfer-controller-api.service.ts","../../../projects/api/factory/services/factory-api.service.ts","../../../projects/api/platform/services/exchange-context-api.service.ts","../../../projects/api/platform/services/user-company-api.service.ts","../../../projects/api/construction/services/criterion-api.service.ts","../../../projects/api/construction/services/utility-instructions-api.service.ts","../../../projects/api/construction/services/job-api.service.ts","../../../projects/api/construction/services/utility-component-instruction-structure-api.service.ts","../../../projects/api/construction/services/utility-api.service.ts","../../../projects/api/construction/services/quantum-group-resources-structure-api.service.ts","../../../projects/api/construction/constants/default-3d-file-name.const.ts","../../../projects/api/construction/adapters/quantum-3d-model-api.adapter.ts","../../../projects/api/construction/services/quantum-3d-model-api.service.ts","../../../projects/api/construction/services/stage-job-quantum-details-api.service.ts","../../../projects/api/construction/models/job-action-type.ts","../../../projects/api/construction/models/resource.ts","../../../projects/api/construction/models/technology.api.options.ts","../../../projects/api/construction/models/quantum-group-resources-structure-api.options.ts","../../../projects/api/instruction/services/instruction-assessment-config-api.service.ts","../../../projects/api/instruction/models/instruction-assessment-config.ts","../../../projects/api/instruction/models/instruction-assessment-interactive-api.options.ts","../../../projects/api/instruction/adapters/instruction-assessment-quiz-api.adapter.ts","../../../projects/api/instruction/services/instruction-assessment-quiz-api.service.ts","../../../projects/api/instruction/services/instruction-assessment-interactive-api.service.ts","../../../projects/api/cuby-ui-api.ts"],"sourcesContent":["interface XNdjsonConfigOptions {\r\n    readonly headers: { [header: string]: string };\r\n    readonly observe: 'events';\r\n}\r\n\r\nexport const X_NDJSON_CONFIG_OPTIONS: XNdjsonConfigOptions = {\r\n    headers: {\r\n        'Content-Type': 'application/x-ndjson'\r\n    },\r\n    observe: 'events'\r\n};\r\n","interface BlobConfigOptions {\n    readonly responseType: 'blob';\n}\n\nexport const BLOB_CONFIG_OPTIONS: BlobConfigOptions = {\n    responseType: 'blob'\n};\n","interface SseStreamConfigOptions {\n    readonly headers: { [header: string]: string };\n    readonly observe: 'events';\n}\n\nexport const SSE_STREAM_CONFIG_OPTIONS: SseStreamConfigOptions = {\n    headers: {\n        Accept: 'text/event-stream',\n        'Content-Type': 'application/json'\n    },\n    observe: 'events'\n};\n","import { HttpContext, HttpContextToken } from '@angular/common/http';\r\nimport { CuiNullable } from '@cuby-ui/cdk';\r\n\r\nexport const CUI_API_URL_CONTEXT = new HttpContextToken<CuiNullable<string>>(() => null);\r\n\r\nexport interface CuiApiContext {\r\n    readonly context?: HttpContext;\r\n}\r\n","import { InjectionToken } from '@angular/core';\n\nimport type { CuiJTextApiService } from '../shared/services';\n\nexport const CUI_JTEXT_API_SERVICE = new InjectionToken<CuiJTextApiService>('CUI_JTEXT_API_SERVICE');\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_PROJECT_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Project)\n} as const;\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_FACTORY_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Factory)\n} as const;\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_PLATFORM_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Platform)\n} as const;\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_LEARNING_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Learning)\n} as const;\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_SCHEDULE_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Schedule)\n} as const;\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_INSTRUCTION_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Instruction)\n} as const;\n","import { HttpContext } from '@angular/common/http';\n\nimport { CUI_API_URL_CONTEXT } from '../tokens';\nimport { CuiApiUrl } from './api-url';\n\nexport const SHARED_CONSTRUCTION_HTTP_OPTIONS = {\n    context: new HttpContext().set(CUI_API_URL_CONTEXT, CuiApiUrl.Construction)\n} as const;\n","import type { CuiValueOf } from '@cuby-ui/cdk';\n\nexport const CuiStorageObjectType = {\n    CREATED: 'CREATED',\n    INSERTED: 'INSERTED'\n} as const;\n\nexport type CuiStorageObjectType = CuiValueOf<typeof CuiStorageObjectType>;\n","import type { CuiNullable } from '@cuby-ui/cdk';\r\n\r\nexport enum JobStructureType {\r\n    Simple = 'SIMPLE',\r\n    Parallel = 'PARALLEL'\r\n}\r\n\r\nexport const JobType = {\r\n    JobAction: 'JOB_ACTION',\r\n    JobMain: 'JOB_MAIN',\r\n    JobApproval: 'JOB_APPROVAL',\r\n    JobEvaluation: 'JOB_EVALUATION',\r\n    JobCorrective: 'JOB_CORRECTIVE_MAIN_TASK',\r\n    JobActionMain: 'JOB_ACTION_MAIN'\r\n} as const;\r\n\r\nexport type JobType = (typeof JobType)[keyof typeof JobType];\r\n\r\nexport interface Job<T extends JobContentStructureType = JobContentStructureType> {\r\n    readonly id: string;\r\n    readonly title: string;\r\n    readonly type: JobType;\r\n    readonly textContainerId: string;\r\n    readonly content: T;\r\n}\r\n\r\nexport interface SimpleMainJob<T = FrameActivity> {\r\n    readonly frameActivity: T;\r\n    readonly id: string;\r\n    readonly textContainerId: CuiNullable<string>;\r\n    readonly typeHandler: string;\r\n}\r\n\r\nexport interface WorkTypes {\r\n    readonly APPROVAL_WORKS: string;\r\n    readonly MAIN_WORKS: string;\r\n    readonly PREPARATORY_WORKS: string;\r\n}\r\n\r\nexport interface FrameActivity<T = WorkTypes> {\r\n    readonly works: T;\r\n    readonly carrierStageTreeStructId: string;\r\n    readonly expansionShiftJobId: string;\r\n}\r\n\r\nexport interface JobContentStructureType {\r\n    readonly structureType: JobStructureType;\r\n    readonly jobs?: Job[];\r\n}\r\n\r\nexport interface JobContent {\r\n    readonly components: JobContentComponents;\r\n    readonly containersQuantum: string[];\r\n    readonly divideTask: string;\r\n    readonly isGenerateSegmentWithOneQuantum: boolean;\r\n    readonly structureType: string;\r\n    readonly estimatedTime: string;\r\n    readonly type: string;\r\n    readonly treeStructId: string;\r\n}\r\n\r\nexport enum JobContentComponentName {\r\n    UtilityComponent = 'UTILITY_COMPONENT',\r\n    TaskEvaluationComponent = 'TASK_EVALUATION_COMPONENT',\r\n    TeamComponent = 'TEAM_COMPONENT',\r\n    ChecklistEvaluation = 'CHECKLIST_EVALUATION',\r\n    CheckListActions = 'CHECKLIST_ACTIONS',\r\n    Quantum = 'QUANTUM',\r\n    PreparatorySteps = 'PREPARATORY_STEPS'\r\n}\r\n\r\nexport type JobContentComponents = Record<JobContentComponentName, JobContentPart>;\r\n\r\nexport interface JobContentPart {\r\n    readonly id: string;\r\n    readonly componentId: string;\r\n}\r\n","import { Frame } from './frame-api.options';\r\n\r\nexport interface Instruction {\r\n    readonly id: string;\r\n    readonly title: string;\r\n    readonly shortDescription: string;\r\n    readonly framerInstructionId: string;\r\n    readonly frameContainer: Frame;\r\n    readonly status: InstructionStatus;\r\n}\r\n\r\nexport enum InstructionStatus {\r\n    Draft = 'DRAFT',\r\n    Publishing = 'PUBLISHING',\r\n    Published = 'PUBLISHED',\r\n    PublishFailed = 'PUBLISH_FAILED',\r\n    AssessFailed = 'ASSESS_FAILED',\r\n    Assessing = 'ASSESSING',\r\n    Assessed = 'ASSESSED'\r\n}\r\n","export type MaterialFormat = 'PRIMITIVE' | 'SPOOL' | 'TANK';\nexport type PartFormat = 'PRIMITIVE' | 'ASSEMBLY' | 'WORKBENCH';\n\nexport enum SubjectType {\n    Material = 'MATERIAL',\n    Part = 'PART',\n    Modifier = 'MODIFIER',\n    Tool = 'TOOL',\n    Equipment = 'EQUIPMENT'\n}\n","export enum CuiReviewType {\n    Linear = 'DIRECT',\n    Reversed = 'REVERSE',\n    Manual = 'MANUAL'\n}\n","export const HttpStatusCode = {\n    Ok: 200,\n    Created: 201,\n    NoContent: 204,\n    BadRequest: 400,\n    Unauthorized: 401,\n    Forbidden: 403,\n    NotFound: 404,\n    Conflict: 409,\n    UnprocessableEntity: 422,\n    InternalServerError: 500\n} as const;\n\nexport type HttpStatusCode = (typeof HttpStatusCode)[keyof typeof HttpStatusCode];\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { Fragment, Frame, FragmentType } from '../models/frame-api.options';\nimport { CuiApiContext } from '../../tokens';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiFrameApiService {\n    private readonly http = inject(HttpClient);\n\n    private readonly FRAMER_URL = 'framer';\n    private readonly FRAGMENT_URL = 'fragment';\n\n    public getFrame(frameId: string, context?: CuiApiContext): Observable<Frame> {\n        return this.http.get<Frame>(`${this.FRAMER_URL}/${frameId}`, context);\n    }\n\n    public createFrame(context?: CuiApiContext): Observable<string> {\n        return this.http.post<string>(this.FRAMER_URL, {}, context);\n    }\n\n    public createFragment(frameId: string, type: FragmentType, context?: CuiApiContext): Observable<Fragment> {\n        return this.http.post<Fragment>(\n            `${this.FRAMER_URL}/${frameId}/${this.FRAGMENT_URL}`,\n            {\n                type_operations: type\n            },\n            context\n        );\n    }\n\n    public deleteFragment(frameId: string, fragmentId: string, context?: CuiApiContext): Observable<void> {\n        return this.http.delete<void>(`${this.FRAMER_URL}/${frameId}/${this.FRAGMENT_URL}/${fragmentId}`, context);\n    }\n\n    public uploadResource(\n        body: FormData,\n        frameId: string,\n        fragmentId: string,\n        context?: CuiApiContext\n    ): Observable<{ resource: string }> {\n        return this.http.post<{ resource: string }>(`${this.FRAMER_URL}/data_resource`, body, {\n            ...context,\n            params: { frameContainerId: frameId, dataResourceContainerId: fragmentId }\n        });\n    }\n\n    public deleteResource(frameId: string, fragmentId: string, context?: CuiApiContext): Observable<void> {\n        return this.http.delete<void>(`${this.FRAMER_URL}/data_resource/content`, {\n            ...context,\n            params: { frameContainerId: frameId, dataResourceContainerId: fragmentId }\n        });\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { X_NDJSON_CONFIG_OPTIONS } from '../../constants';\nimport { CuiApiContext } from '../../tokens';\nimport { Job, TreeStruct, TreeStructType } from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiTreeStructApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly TREE_STRUCT_URL = 'tree_struct';\n\n    public getById<T = Job>(id: string, context?: CuiApiContext): Observable<TreeStruct<T>> {\n        return this.httpClient.get<TreeStruct<T>>(`${this.TREE_STRUCT_URL}/${id}`, context);\n    }\n\n    public getStageStoragesByParent<T = Job>(parentId: string, context?: CuiApiContext): Observable<TreeStruct<T>> {\n        return this.httpClient.get<TreeStruct<T>>(`${this.TREE_STRUCT_URL}/${parentId}/children`, {\n            ...X_NDJSON_CONFIG_OPTIONS,\n            ...context\n        }) as unknown as Observable<TreeStruct<T>>;\n    }\n\n    public deleteTreeStructElement(treeStructId: string, elementId: string, context?: CuiApiContext): Observable<void> {\n        return this.httpClient.delete<void>(`${this.TREE_STRUCT_URL}/${treeStructId}/element/${elementId}`, context);\n    }\n\n    public deleteTreeStructElementByType(\n        elementId: string,\n        rootTreeStructType: TreeStructType,\n        context?: CuiApiContext\n    ): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.TREE_STRUCT_URL}/element/${elementId}/${rootTreeStructType}`,\n            context\n        )\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type {\n    NodeCheckListActionConsiderCorrectRequestBody,\n    NodeCheckListActionContentRequestBody,\n    NodeCheckListItemRequestBody,\n    NodeCheckListItemSwitchContentRequestParams,\n    NodeCheckListEvaluationItemContent,\n    NodeCheckListItem,\n    NodeCheckListItemContentType\n} from '../models';\nimport { CuiApiContext } from '../../tokens';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiNodeChecklistApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly MAIN_URL = 'checklist/node';\n\n    public addNodeCheckListItem(\n        data: NodeCheckListItemRequestBody,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListItemContentType>> {\n        return this.httpClient.post<NodeCheckListItem<NodeCheckListItemContentType>>(`${this.MAIN_URL}`, data, context);\n    }\n\n    public updateNodeCheckListItemTitle(id: string, title: string, context?: CuiApiContext): Observable<void> {\n        return this.httpClient.post<void>(`${this.MAIN_URL}/${id}/title`, {}, { ...context, params: { title } });\n    }\n\n    public updateNodeCheckListItemActionContent(\n        data: NodeCheckListActionContentRequestBody,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListItemContentType>> {\n        return this.httpClient.patch<NodeCheckListItem<NodeCheckListItemContentType>>(\n            `${this.MAIN_URL}/content_action`,\n            data,\n            context\n        );\n    }\n\n    public updateNodeCheckListItemIsConsideredCorrect(\n        data: NodeCheckListActionConsiderCorrectRequestBody,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListItemContentType>> {\n        return this.httpClient.patch<NodeCheckListItem<NodeCheckListItemContentType>>(\n            `${this.MAIN_URL}/content/button/consider_correct`,\n            data,\n            context\n        );\n    }\n\n    public updateNodeCheckListItemSwitchContent(\n        {\n            nodeCheckListId,\n            listEvaluationId,\n            movingElementId,\n            targetItemId,\n            pointer\n        }: NodeCheckListItemSwitchContentRequestParams,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListItemContentType>> {\n        return this.httpClient.patch<NodeCheckListItem<NodeCheckListItemContentType>>(\n            `${this.MAIN_URL}/${nodeCheckListId}/content/list_evaluation/${listEvaluationId}/moving`,\n            {},\n            {\n                ...context,\n                params: {\n                    movingElementId,\n                    targetItemId,\n                    pointer\n                }\n            }\n        );\n    }\n\n    public addEvaluationCriteriaItem(\n        id: string,\n        listId: string,\n        criteria: string,\n        evaluation: number,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListEvaluationItemContent>> {\n        return this.httpClient.post<NodeCheckListItem<NodeCheckListEvaluationItemContent>>(\n            `${this.MAIN_URL}/${id}/content/list_evaluation/${listId}`,\n            {},\n            {\n                ...context,\n                params: {\n                    criteria,\n                    evaluation\n                }\n            }\n        );\n    }\n\n    public updateEvaluationCriteriaItem(\n        id: string,\n        listId: string,\n        criteriaId: string,\n        criteria: string,\n        evaluation: number,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListEvaluationItemContent>> {\n        return this.httpClient.patch<NodeCheckListItem<NodeCheckListEvaluationItemContent>>(\n            `${this.MAIN_URL}/${id}/content/list_evaluation/${listId}/${criteriaId}`,\n            {},\n            {\n                ...context,\n                params: {\n                    criteria,\n                    evaluation\n                }\n            }\n        );\n    }\n\n    public deleteEvaluationCriteriaItem(\n        id: string,\n        listId: string,\n        criteriaId: string,\n        context?: CuiApiContext\n    ): Observable<NodeCheckListItem<NodeCheckListEvaluationItemContent>> {\n        return this.httpClient.delete<NodeCheckListItem<NodeCheckListEvaluationItemContent>>(\n            `${this.MAIN_URL}/${id}/content/list_evaluation/${criteriaId}/${listId}`,\n            context\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\nimport { X_NDJSON_CONFIG_OPTIONS } from '../../constants';\nimport { CuiApiContext } from '../../tokens';\nimport { Job, MovingRequestBody, TreeStruct, TreeStructBase, TreeStructType } from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiTreeStructNavigatorApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly TREE_STRUCT_NAVIGATOR_URL = 'tree_struct';\n    private readonly CONSTRUCTION_TECHNOLOGY_URL = 'construction_technology';\n\n    public createStageStorage(title: string, type: TreeStructType, context?: CuiApiContext): Observable<TreeStruct> {\n        return this.httpClient.post<TreeStruct>(\n            this.TREE_STRUCT_NAVIGATOR_URL,\n            {},\n            { ...context, params: { type, title } }\n        );\n    }\n\n    public createStageStorageToParent(\n        parentId: string,\n        title: string,\n        context?: CuiApiContext\n    ): Observable<TreeStruct> {\n        return this.httpClient.put<TreeStruct>(\n            `${this.TREE_STRUCT_NAVIGATOR_URL}/children`,\n            {},\n            { ...context, params: { parentId, title } }\n        );\n    }\n\n    public getStageStorages<T = Job>(type: TreeStructType, context?: CuiApiContext): Observable<TreeStruct<T>> {\n        return this.httpClient.get<TreeStruct<T>>(this.TREE_STRUCT_NAVIGATOR_URL, {\n            ...X_NDJSON_CONFIG_OPTIONS,\n            ...context,\n            params: { type }\n        }) as unknown as Observable<TreeStruct<T>>;\n    }\n\n    public getStageStoragesByParent(parentId: string, context?: CuiApiContext): Observable<TreeStruct> {\n        return this.httpClient.get<TreeStruct>(`${this.TREE_STRUCT_NAVIGATOR_URL}/${parentId}/children`, {\n            ...X_NDJSON_CONFIG_OPTIONS,\n            ...context\n        }) as unknown as Observable<TreeStruct>;\n    }\n\n    public updateTitle(treeStructId: string, title: string, context?: CuiApiContext): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.TREE_STRUCT_NAVIGATOR_URL}/${treeStructId}/title`,\n            { title },\n            { ...context }\n        );\n    }\n\n    public move(body: MovingRequestBody, context?: CuiApiContext): Observable<void> {\n        return this.httpClient.patch<void>(`${this.CONSTRUCTION_TECHNOLOGY_URL}/stage/moving`, body, context);\n    }\n\n    public moveElement(body: MovingRequestBody, context?: CuiApiContext): Observable<void> {\n        return this.httpClient.patch<void>(`${this.TREE_STRUCT_NAVIGATOR_URL}/moving/element`, body, context);\n    }\n\n    public getCategory(id: string, type: TreeStructType, context?: CuiApiContext): Observable<TreeStructBase> {\n        return this.httpClient.get<TreeStructBase>(`${this.TREE_STRUCT_NAVIGATOR_URL}/base/element/${id}`, {\n            ...context,\n            params: { type }\n        });\n    }\n}\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport type { Observable } from 'rxjs';\r\n\r\nimport { CuiApiContext } from '../../tokens';\r\nimport { CuiBlock, CuiJTextCreateBlockRequestBody, CuiJTextCreateBlocksRequestBody } from '../models';\r\n\r\n@Injectable()\r\nexport class CuiJTextApiService {\r\n    private readonly httpClient = inject(HttpClient);\r\n\r\n    private readonly GET_BLOCK_DEFAULT_SIZE = 40;\r\n    private readonly JTEXT_URL = 'framer/jtext';\r\n    private readonly BLOCK_URL = 'block';\r\n    private readonly BLOCKS_URL = 'blocks';\r\n    private readonly JTEXT_BLOCK_URL = this.JTEXT_URL + '/' + this.BLOCK_URL;\r\n    private readonly JTEXT_BLOCKS_URL = this.JTEXT_URL + '/' + this.BLOCKS_URL;\r\n\r\n    private options: CuiApiContext = {};\r\n\r\n    public addOptions(options?: CuiApiContext): void {\r\n        this.options = options ?? {};\r\n    }\r\n\r\n    public createBlock(body: CuiJTextCreateBlockRequestBody, context?: CuiApiContext): Observable<string> {\r\n        return this.httpClient.post<string>(this.JTEXT_BLOCK_URL, body, context ?? this.options);\r\n    }\r\n\r\n    public updateBlock(body: CuiBlock, context?: CuiApiContext): Observable<CuiBlock> {\r\n        return this.httpClient.patch<CuiBlock>(this.JTEXT_BLOCK_URL, body, context ?? this.options);\r\n    }\r\n\r\n    public getBlocks(\r\n        fragmentId: string,\r\n        page = 0,\r\n        sizeBlock = this.GET_BLOCK_DEFAULT_SIZE,\r\n        context?: CuiApiContext\r\n    ): Observable<CuiBlock> {\r\n        return this.httpClient.get(`${this.JTEXT_URL}/${fragmentId}`, {\r\n            params: { page, sizeBlock },\r\n            headers: { 'Content-Type': 'application/x-ndjson' },\r\n            observe: 'events',\r\n            ...(context ?? this.options)\r\n        }) as unknown as Observable<CuiBlock>;\r\n    }\r\n\r\n    public createBlocks(body: CuiJTextCreateBlocksRequestBody, context?: CuiApiContext): Observable<string[]> {\r\n        return this.httpClient.post<string[]>(this.JTEXT_BLOCKS_URL, body, context ?? this.options);\r\n    }\r\n\r\n    public deleteBlock(containerId: string, blockId: string, context?: CuiApiContext): Observable<void> {\r\n        return this.httpClient.delete<void>(\r\n            `${this.JTEXT_URL}/${containerId}/${this.BLOCK_URL}/${blockId}`,\r\n            context ?? this.options\r\n        );\r\n    }\r\n\r\n    public deleteBlocks(containerId: string, blocksIds: string[], context?: CuiApiContext): Observable<void> {\r\n        return this.httpClient.delete<void>(`${this.JTEXT_URL}/${containerId}/${this.BLOCKS_URL}`, {\r\n            params: { blocksIds },\r\n            ...(context ?? this.options)\r\n        });\r\n    }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { CuiApiContext } from '../../tokens';\nimport { CuiResource } from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiResourceApiService {\n    private readonly http = inject(HttpClient);\n\n    private readonly FRAMER_URL = 'framer/resource';\n\n\n    public get(resourceId: string, context?: CuiApiContext): Observable<Blob> {\n        return this.http.get(`${this.FRAMER_URL}/${resourceId}`, {...context, responseType: 'blob'});\n    }\n\n    public upload(file: File, context?: CuiApiContext): Observable<CuiResource> {\n        const formData = new FormData();\n\n        formData.append('resource', file);\n\n        return this.http.post<CuiResource>(this.FRAMER_URL, formData, context);\n    }\n}\n","import type { CuiNullable } from '@cuby-ui/cdk';\n\nexport interface ChecklistFormalizationDto {\n    readonly id: string;\n    readonly nodeCheckListFormalizations: NodeCheckListFormalizationDto[];\n}\n\nexport interface NodeCheckListFormalizationDto {\n    readonly id: string;\n    readonly title: string;\n    readonly textContainerId: string;\n    readonly personalActions: NodeCheckListPersonalActionDto;\n    readonly checkListType: ChecklistType;\n}\n\nexport interface NodeCheckListPersonalActionDto {\n    readonly ASSIGN: CuiNullable<ActionsAssigneeDto>;\n    readonly APPROVE: CuiNullable<ActionsApproveDto>;\n}\n\nexport interface ActionsAssigneeDto {\n    readonly contents: ActionContentDto[];\n    readonly answer: CuiNullable<ChecklistAnswerDto>;\n}\n\nexport interface ActionsApproveDto {\n    readonly contents: ButtonActionContentDto[];\n    readonly answer: CuiNullable<ChecklistAnswerDto>;\n}\n\nexport type ActionContentDto = ListEvaluationActionContentDto | ButtonActionContentDto;\n\nexport interface ActionContentBaseDto {\n    readonly id: string;\n    readonly actions: ActionDto[];\n    readonly actionType: ChecklistActionType;\n}\n\nexport interface ListEvaluationActionContentDto extends ActionContentBaseDto {\n    readonly actionType: ChecklistActionType.ListEvaluation;\n    readonly acceptanceCriteriaEvaluations: AcceptanceCriteriaEvaluationDto[];\n}\n\nexport interface ButtonActionContentDto extends ActionContentBaseDto {\n    readonly title: string;\n    readonly considerCorrect: boolean;\n    readonly actionType: ChecklistActionType.Button;\n}\n\nexport interface ActionDto {\n    readonly id: string;\n    readonly isRequired: boolean;\n    readonly isEnable: boolean;\n    readonly contentActionType: ChecklistContentActionType;\n}\n\nexport interface AcceptanceCriteriaEvaluationDto {\n    readonly id: string;\n    readonly criteria: string;\n    readonly evaluation: number;\n}\n\nexport interface ChecklistAnswerDto {\n    readonly id: string;\n    readonly containerId: string;\n    readonly nodeCheckListId: string;\n    readonly contentId: string;\n    readonly assigneeActionType: ChecklistNodeAssigneeType;\n    readonly contentAnswer: ChecklistNodeAnswerActionContentDto;\n    readonly createdAt: string;\n}\n\nexport type ChecklistNodeAnswerActionContentDto = ChecklistEvaluationActionContentDto | ChecklistButtonActionContentDto;\n\nexport interface ChecklistEvaluationActionContentDto {\n    readonly contentType: ChecklistActionType.ListEvaluation;\n    readonly acceptanceCriteriaEvaluationId: string;\n    readonly actions: ChecklistNodeAnswerActionDto[];\n}\n\nexport interface ChecklistButtonActionContentDto {\n    readonly contentType: ChecklistActionType.Button;\n    readonly actions: ChecklistNodeAnswerActionDto[];\n}\n\nexport type ChecklistNodeAnswerActionDto =\n    | ChecklistNodeAnswerActionTextAreaDto\n    | ChecklistNodeAnswerActionAttachmentPhotoDto;\n\nexport interface ChecklistNodeAnswerActionBaseDto {\n    readonly actionId: string;\n    readonly type: ChecklistContentActionType;\n}\n\nexport interface ChecklistNodeAnswerActionTextAreaDto extends ChecklistNodeAnswerActionBaseDto {\n    readonly type: ChecklistContentActionType.TextArea;\n    readonly text: string;\n}\n\nexport interface ChecklistNodeAnswerActionAttachmentPhotoDto extends ChecklistNodeAnswerActionBaseDto {\n    readonly type: ChecklistContentActionType.AttachmentPhoto;\n    readonly resources?: ChecklistResource[];\n}\n\nexport interface ChecklistResource {\n    readonly id: string;\n    readonly filename?: string;\n}\n\nexport enum ChecklistType {\n    ChecklistEvaluation = 'CHECKLIST_EVALUATION',\n    ChecklistButton = 'CHECKLIST_BUTTON'\n}\n\nexport enum ChecklistActionType {\n    Button = 'BUTTON',\n    ListEvaluation = 'LIST_EVALUATION'\n}\n\nexport enum ChecklistContentActionType {\n    AttachmentPhoto = 'ATTACHMENT_PHOTO',\n    TextArea = 'TEXT_AREA'\n}\n\nexport enum ChecklistNodeAssigneeType {\n    Assign = 'ASSIGN',\n    Approve = 'APPROVE'\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { ProjectResourceTemplate, ProjectResourceTemplateRequestBody } from '../models';\nimport { SHARED_PROJECT_HTTP_OPTIONS, X_NDJSON_CONFIG_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiCrewTemplateApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly CREW_TEMPLATE_URL = 'project/crew/template';\n\n    public getCrewTemplates(crewId: string): Observable<ProjectResourceTemplate> {\n        return this.httpClient.post<ProjectResourceTemplate>(\n            `${this.CREW_TEMPLATE_URL}/search`,\n            {},\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...SHARED_PROJECT_HTTP_OPTIONS,\n                params: { crewId }\n            }\n        ) as unknown as Observable<ProjectResourceTemplate>;\n    }\n\n    public createTemplate(body: ProjectResourceTemplateRequestBody): Observable<ProjectResourceTemplate[]> {\n        return this.httpClient.post<ProjectResourceTemplate[]>(\n            this.CREW_TEMPLATE_URL,\n            body,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public getTemplateById(templateId: string): Observable<ProjectResourceTemplate> {\n        return this.httpClient.get<ProjectResourceTemplate>(\n            `${this.CREW_TEMPLATE_URL}/${templateId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { ProjectMainJobContent } from '../models';\nimport type { Job } from '../../shared';\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiDesignJobMainApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_STAGE_URL = 'project/phase/design';\n\n    public getTask(phaseId: string, activityId: string, taskId: string): Observable<Job<ProjectMainJobContent>> {\n        return this.httpClient.get<Job<ProjectMainJobContent>>(\n            `${this.PROJECT_STAGE_URL}/${phaseId}/construction_technology/stage/${activityId}/job/main/${taskId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\nimport type {\n    AddGroupBoxFormalizationRequestParams,\n    DeleteGroupBoxFormalizationRequestParams,\n    Group,\n    GroupBox,\n    GroupBoxFormalization,\n    GroupBoxPart,\n    GroupBoxRequestSpecification,\n    UpdateGroupBoxFormalizationRequestParams\n} from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiDesignJobMainGroupApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly DESIGN_URL = 'project/phase/design';\n    private readonly JOB_GROUP_URL = 'construction_technology/stage/job/main';\n\n    public changeName(jobId: string, groupId: string, name: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.JOB_GROUP_URL}/${jobId}/group/${groupId}/quantum/name`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { name } }\n        );\n    }\n\n    public getGroup(phaseId: string, jobId: string, groupId: string): Observable<Group> {\n        return this.httpClient.get<Group>(\n            `${this.DESIGN_URL}/${phaseId}/${this.JOB_GROUP_URL}/${jobId}/group/${groupId}/quantum`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public createGroup(phaseId: string, jobId: string): Observable<Group> {\n        return this.httpClient.post<Group>(\n            `${this.DESIGN_URL}/${phaseId}/${this.JOB_GROUP_URL}/${jobId}/group/quantum`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { name: 'New Group' } }\n        );\n    }\n\n    public deleteGroup(phaseId: string, jobId: string, groupId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.DESIGN_URL}/${phaseId}/${this.JOB_GROUP_URL}/${jobId}/group/${groupId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public addGroupBox(phaseId: string, jobId: string, groupId: string, body: GroupBoxPart): Observable<GroupBox> {\n        return this.httpClient.patch<GroupBox>(\n            `${this.DESIGN_URL}/${phaseId}/${this.JOB_GROUP_URL}/${jobId}/group/${groupId}/quantum/box`,\n            body,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public addFormalization(params: AddGroupBoxFormalizationRequestParams): Observable<GroupBoxFormalization> {\n        return this.httpClient.post<GroupBoxFormalization>(\n            `${this.DESIGN_URL}/${params.phaseId}/${this.JOB_GROUP_URL}/${params.jobId}/group/${params.groupId}` +\n                `/quantum/box/${params.boxId}/formalization/${params.quantumId}`,\n            this.getFormalizationFormData(params.body),\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public updateFormalization(params: UpdateGroupBoxFormalizationRequestParams): Observable<GroupBoxFormalization> {\n        return this.httpClient.patch<GroupBoxFormalization>(\n            `${this.DESIGN_URL}/${params.phaseId}/${this.JOB_GROUP_URL}/${params.jobId}/group/${params.groupId}` +\n                `/quantum/box/${params.boxId}/formalization/${params.formalizationId}`,\n            this.getFormalizationFormData(params.body),\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public deleteFormalization(params: DeleteGroupBoxFormalizationRequestParams): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.DESIGN_URL}/${params.phaseId}/${this.JOB_GROUP_URL}/${params.jobId}/group/${params.groupId}` +\n                `/quantum/box/${params.boxId}/formalization/${params.formalizationId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public deleteGroupBox(phaseId: string, jobId: string, groupId: string, boxId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.DESIGN_URL}/${phaseId}/${this.JOB_GROUP_URL}/${jobId}/group/${groupId}/quantum/box/${boxId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    private getFormalizationFormData(params: GroupBoxRequestSpecification): FormData {\n        const formData = new FormData();\n\n        if (params.fileDXF) {\n            formData.append('fileDXF', params.fileDXF);\n        }\n\n        if (params.parameter) {\n            const parameter = new Blob([JSON.stringify(params.parameter)], { type: `application/json` });\n\n            formData.append('parameter', parameter);\n        }\n\n        return formData;\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map, type Observable } from 'rxjs';\n\nimport {\n    CreateProjectRequestBody,\n    Project,\n    ProjectPhase,\n    ProjectPhaseContent,\n    ProjectPhases,\n    ProjectTypeOperations\n} from '../models';\nimport { TreeStruct, TreeStructType } from '../../shared';\nimport { SHARED_PROJECT_HTTP_OPTIONS, X_NDJSON_CONFIG_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiProjectApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_URL = 'project';\n\n    public getProject(id: string): Observable<Project> {\n        return this.httpClient.get<Project>(`${this.PROJECT_URL}/${id}`, SHARED_PROJECT_HTTP_OPTIONS);\n    }\n\n    public getProjects(): Observable<Project[]> {\n        return (\n            this.httpClient.get<TreeStruct<Project>>(`tree_struct`, {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...SHARED_PROJECT_HTTP_OPTIONS,\n                params: { type: TreeStructType.Project }\n            }) as unknown as Observable<TreeStruct<Project>>\n        ).pipe(map((storage) => storage.elements));\n    }\n\n    public changePhase(projectId: string, type: ProjectPhases): Observable<ProjectPhase> {\n        return this.httpClient.patch<ProjectPhase>(\n            `${this.PROJECT_URL}/${projectId}/transition`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { type } }\n        );\n    }\n\n    public getProjectPhase<T = ProjectPhaseContent>(phaseId: string): Observable<ProjectPhase<T>> {\n        return this.httpClient.get<ProjectPhase<T>>(\n            `${this.PROJECT_URL}/phase/${phaseId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public updateTitle(id: string, title: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.PROJECT_URL}/${id}`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { title } }\n        );\n    }\n\n    public createProject(body: CreateProjectRequestBody): Observable<Project> {\n        return this.httpClient.post<Project>(this.PROJECT_URL, {\n            ...SHARED_PROJECT_HTTP_OPTIONS,\n            type_operations: ProjectTypeOperations.create,\n            ...body\n        });\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { ProjectAddressDetailsRequestBody } from '../models';\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiProjectDetailsPhaseInitApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_INIT_PHASE_URL = 'project/phase/init';\n\n    public setAddress(phaseId: string, body: ProjectAddressDetailsRequestBody): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.PROJECT_INIT_PHASE_URL}/${phaseId}/details/address`,\n            body,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { ProjectInitComponents, ProjectInitPhases } from '../models';\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiProjectInitPhaseApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_INIT_PHASE_URL = 'project/phase/init';\n\n    public changePhase(initPhaseId: string, type: ProjectInitPhases): Observable<ProjectInitComponents> {\n        return this.httpClient.patch<ProjectInitComponents>(\n            `${this.PROJECT_INIT_PHASE_URL}/${initPhaseId}/transition`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { type } }\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { ProjectStageExtendedActivity, ProjectStageStruct } from '../models';\nimport { SimpleMainJob } from '../../shared';\nimport { SHARED_PROJECT_HTTP_OPTIONS, X_NDJSON_CONFIG_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiProjectPhaseDesignTechnologyService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly DESIGN_PAHASE_URL = 'project/phase/design';\n\n    public getTechnologyStages(phaseId: string): Observable<ProjectStageStruct> {\n        return this.httpClient.get<ProjectStageStruct>(`${this.DESIGN_PAHASE_URL}/${phaseId}/construction_technology`, {\n            ...X_NDJSON_CONFIG_OPTIONS,\n            ...SHARED_PROJECT_HTTP_OPTIONS\n        }) as unknown as Observable<ProjectStageStruct>;\n    }\n\n    public getStage(phaseId: string, stageActivityId: string): Observable<SimpleMainJob<ProjectStageExtendedActivity>> {\n        return this.httpClient.get<SimpleMainJob<ProjectStageExtendedActivity>>(\n            `${this.DESIGN_PAHASE_URL}/${phaseId}/stage/${stageActivityId}`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public getStageChildren(phaseId: string, stageId: string): Observable<ProjectStageStruct> {\n        return this.httpClient.get<ProjectStageStruct>(`${this.DESIGN_PAHASE_URL}/${phaseId}/stage/${stageId}/sub`, {\n            ...X_NDJSON_CONFIG_OPTIONS,\n            ...SHARED_PROJECT_HTTP_OPTIONS\n        }) as unknown as Observable<ProjectStageStruct>;\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map, type Observable } from 'rxjs';\n\nimport {\n    CreateProjectResourceResponse,\n    ProjectCrewRoleParticipant,\n    ProjectResourceRequestBody,\n    ProjectResourceTemplate,\n    ProjectResourceTypeOperations\n} from '../models';\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiProjectResoursePhaseInitApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_RESOURCE_URL = 'project/phase/init/resource';\n\n    public createCrewTemplate(body: ProjectResourceRequestBody): Observable<string> {\n        return this.httpClient\n            .patch<CreateProjectResourceResponse>(\n                `${this.PROJECT_RESOURCE_URL}/builder-crew`,\n                {\n                    type_operations: ProjectResourceTypeOperations.Create,\n                    ...body\n                },\n                SHARED_PROJECT_HTTP_OPTIONS\n            )\n            .pipe(map(({ builderCrews }) => builderCrews[0]));\n    }\n\n    public replaceCrewTemplate(phaseInitId: string, crewTemplateId: string): Observable<string> {\n        return this.httpClient\n            .patch<CreateProjectResourceResponse>(\n                `${this.PROJECT_RESOURCE_URL}/builder-crew`,\n                {\n                    type_operations: ProjectResourceTypeOperations.Update,\n                    phaseInitId,\n                    crewTemplateId\n                },\n                SHARED_PROJECT_HTTP_OPTIONS\n            )\n            .pipe(map(({ builderCrews }) => builderCrews[0]));\n    }\n\n    public updateCrewTemplate(phaseId: string, builderId: string, body: ProjectCrewRoleParticipant): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.PROJECT_RESOURCE_URL}/${phaseId}/builder-crew/${builderId}/participant`,\n            body,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public getCrewTemplates(phaseId: string): Observable<ProjectResourceTemplate[]> {\n        return this.httpClient.get<ProjectResourceTemplate[]>(\n            `${this.PROJECT_RESOURCE_URL}/${phaseId}/builder-crew`,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public deleteCrewTemplate(phaseId: string, builderCrewId: string): Observable<void> {\n        return this.httpClient.delete<void>(`${this.PROJECT_RESOURCE_URL}/${phaseId}/crew`, {\n            ...SHARED_PROJECT_HTTP_OPTIONS,\n            params: { builderCrewId }\n        });\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport type { ProjectResourceTemplate, ApplyCrewScheduleRequestBody } from '../models';\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiProjectSchedulePhaseInitApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_INIT_URL = 'project/phase/init';\n\n    public applySchedule(phaseId: string, body: ApplyCrewScheduleRequestBody): Observable<ProjectResourceTemplate> {\n        return this.httpClient.patch<ProjectResourceTemplate>(\n            `${this.PROJECT_INIT_URL}/${phaseId}/schedule/builder-crew/${body.builderCrewId}`,\n            body,\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { TechnologyPhaseRules, TechnologyRule } from '../models';\nimport { SHARED_PROJECT_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiTechnologyPhaseInitApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly PROJECT_INIT_PHASE_URL = 'project/phase/init';\n\n    public setTechnology(id: string, technologyId: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.PROJECT_INIT_PHASE_URL}/${id}/technology`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { technologyId } }\n        );\n    }\n\n    public addStageRule(phaseId: string, stageId: string): Observable<TechnologyRule> {\n        return this.httpClient.post<TechnologyRule>(\n            `${this.PROJECT_INIT_PHASE_URL}/${phaseId}/technology/stage_rules`,\n            {\n                stageId,\n                type: TechnologyPhaseRules.Stage\n            },\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public addTaskRule(phaseId: string, stageId: string, taskId: string): Observable<TechnologyRule> {\n        return this.httpClient.post<TechnologyRule>(\n            `${this.PROJECT_INIT_PHASE_URL}/${phaseId}/technology/stage_rules`,\n            {\n                taskId,\n                stageId,\n                type: TechnologyPhaseRules.Task\n            },\n            SHARED_PROJECT_HTTP_OPTIONS\n        );\n    }\n\n    public deleteRule(phaseId: string, technologyId: string, stageRulesId: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.PROJECT_INIT_PHASE_URL}/${phaseId}/technology`,\n            {},\n            { ...SHARED_PROJECT_HTTP_OPTIONS, params: { stageRulesId, technologyId } }\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { ChecklistFormalizationDto } from '../models';\nimport { CuiApiContext } from '../../tokens';\n\n@Injectable({ providedIn: 'root' })\nexport class CuiNodeCheckListFormalizationApiService {\n    private readonly http = inject(HttpClient);\n\n    private readonly NODE_CHECK_LIST_FORMALIZATION_URL = 'checklist/formalization';\n\n    public getNodeCheckListFormalization(containerId: string, context?: CuiApiContext): Observable<ChecklistFormalizationDto> {\n        return this.http.get<ChecklistFormalizationDto>(`${this.NODE_CHECK_LIST_FORMALIZATION_URL}/${containerId}`, context);\n    }\n}\n","import type { CuiNullable } from '@cuby-ui/cdk';\n\nimport type { NodeCheckListItem, NodeCheckListItemContentType, StorageObjectInstruction } from '../../shared';\nimport type { Designator } from './arrow-work-flow-controller-api.options';\nimport type { WorkflowChecklistInformation } from './arrow-work-flow-readiness-checklist-api.options';\nimport type { TransferType } from './arrow-work-flow-trasnfer-controller-api.options';\nimport type { IntraLogistic } from './intra-logistic';\n\nexport const enum WorkflowComponentType {\n    Transfer = 'TRANSFER',\n    Checklist = 'READINESS_CHECKLISTS'\n}\n\nexport interface WorkflowActionComponent<T = WorkflowStructure> {\n    readonly id: string;\n    readonly componentType: WorkflowComponentType;\n    readonly structure: T[];\n}\n\nexport enum WorkflowStructureType {\n    Mutable = 'MUTABLE',\n    Imutable = 'IMMUTABLE'\n}\n\nexport interface WorkflowStructure {\n    readonly id: string;\n    readonly changeType: WorkflowStructureType;\n    readonly contentType: TransferType;\n    readonly designator: Designator;\n}\n\nexport type WorkflowTransferStructure = WorkflowVehicleTransferStructure | WorkflowManualTransferStructure;\n\nexport interface WorkflowTransferStructureBase extends WorkflowStructure {\n    readonly instructionStorageId: string;\n    readonly instructions: StorageObjectInstruction[];\n}\n\nexport interface WorkflowVehicleTransferStructure extends WorkflowTransferStructureBase {\n    readonly contentType: TransferType.LogisticVehicle;\n    readonly interLogisticsDto: IntraLogistic;\n}\nexport interface WorkflowManualTransferStructure extends WorkflowTransferStructureBase {\n    readonly contentType: TransferType.Manual;\n    readonly numberPeople: number;\n    readonly information: WorkflowChecklistInformation;\n}\n\nexport interface WorkflowChecklistStructure extends WorkflowStructure {\n    readonly information: CuiNullable<WorkflowChecklistInformation>;\n}\n\nexport interface WorkflowSuitableAction {\n    readonly id: string;\n    readonly instructionStorageId: string;\n    readonly designator: Designator;\n    readonly instructions: StorageObjectInstruction[];\n    readonly interLogisticsDto?: IntraLogistic;\n    readonly information: CuiNullable<WorkflowChecklistInformation>;\n    readonly componentType: WorkflowComponentType;\n    readonly transferType: TransferType;\n    readonly numberPeople: number;\n}\n\nexport interface WorkflowChecklistSuitable extends WorkflowSuitableAction {\n    readonly checkLists: NodeCheckListItem<NodeCheckListItemContentType>[];\n}\n","import type { CuiNullable } from '@cuby-ui/cdk';\n\nimport { Consumable } from './consumable';\nimport { Maintenance } from './maintenance';\nimport { Manufacturer } from './manufacturer';\nimport { Specification } from './specification';\nimport { Specifications } from './specifications';\n\nexport interface IntraLogistic {\n    readonly id: string;\n    readonly type: string;\n    readonly name: string;\n    readonly interLogisticsType: string;\n    readonly shortName: string;\n    readonly descriptionId?: CuiNullable<string>;\n    readonly pdmNumber: string;\n    readonly transportSpecifications: TransportSpecifications;\n    readonly manufacturers: Manufacturer[];\n    readonly analogues: string[];\n    readonly isDelete?: boolean;\n    readonly maintainability?: MaintainabilityContent;\n    readonly instructionStorageId?: CuiNullable<string>;\n}\n\nexport enum MaintainableContentType {\n    MAINTAINABLE = 'MAINTAINABLE',\n    UNMAINTAINABLE = 'NOT_MAINTAINABLE'\n}\n\nexport interface TransportSpecifications extends Specifications {\n    readonly loadingCapacity: CuiNullable<Specification>;\n}\n\nexport type MaintainabilityContent = MaintainableContent | UnmaintainableContent;\n\nexport interface UnmaintainableContent {\n    readonly id: string;\n    readonly type: MaintainableContentType.UNMAINTAINABLE;\n    readonly isDelete: boolean;\n    readonly resource: null | string;\n}\n\nexport interface MaintainableContent {\n    readonly id: string;\n    readonly type: MaintainableContentType.MAINTAINABLE;\n    readonly isDelete: boolean;\n    readonly maintenances: Maintenance[];\n    readonly spareParts: null | SpareParts;\n}\n\nexport interface SpareParts {\n    readonly servicePeriod: string;\n    readonly consumables: Consumable<any>[];\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { SHARED_INSTRUCTION_HTTP_OPTIONS } from '../../constants';\nimport { DeleteInstructionsRequestBody, InstructionsTypeOperations } from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiInstructionsApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly INSTRUCTION_URL = 'instruction';\n\n    public changeTitle(instructionId: string, title: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.INSTRUCTION_URL}/${instructionId}/title`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { title } }\n        );\n    }\n\n    public changeDescription(instructionId: string, shortDescription: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.INSTRUCTION_URL}/${instructionId}/short_description`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { shortDescription } }\n        );\n    }\n\n    public deleteInstruction(requestBody: DeleteInstructionsRequestBody): Observable<void> {\n        return this.httpClient.post<void>(\n            `${this.INSTRUCTION_URL}/storage/event`,\n            { ...requestBody, type_operations: InstructionsTypeOperations.Delete },\n            SHARED_INSTRUCTION_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { WorkflowChecklistInformation } from '../models';\nimport { SHARED_FACTORY_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiArrowWorkFlowActionsApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly WORKFLOW_ACTION_URL = 'production_technology/arrow/workflow/action';\n\n    public changeInformation(actionId: string, body: WorkflowChecklistInformation): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.WORKFLOW_ACTION_URL}/${actionId}`,\n            body,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { WorkflowActionComponent, WorkflowComponentType, WorkflowSuitableAction } from '../models';\nimport { SHARED_FACTORY_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiArrowWorkFlowComponentControllerApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly WORKFLOW_URL = 'production_technology/arrow/workflow';\n\n    public createComponent(\n        arrowActionWorkFlowId: string,\n        type: WorkflowComponentType\n    ): Observable<WorkflowActionComponent> {\n        return this.httpClient.post<WorkflowActionComponent>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/action/${type.toLowerCase()}`,\n            {},\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public deleteComponent(arrowActionWorkFlowId: string, componentId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/action/${componentId}`,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { WorkflowChecklistStructure } from '../models';\nimport { SHARED_FACTORY_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiArrowWorkFlowReadinessChecklistApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly WORKFLOW_URL = 'production_technology/arrow/workflow';\n\n    public createChecklist(arrowId: string): Observable<WorkflowChecklistStructure> {\n        return this.httpClient.post<WorkflowChecklistStructure>(\n            `${this.WORKFLOW_URL}/${arrowId}/action/checklist_readiness`,\n            { name: 'New Checklist', shortDescription: 'Description' },\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public injectChecklist(arrowId: string, checklistId: string): Observable<WorkflowChecklistStructure> {\n        return this.httpClient.post<WorkflowChecklistStructure>(\n            `${this.WORKFLOW_URL}/${arrowId}/action/checklist_readiness/insert/${checklistId}`,\n            {},\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { MoveArrowWorkFlowStructureParams, WorkflowComponentType, WorkflowSuitableAction } from '../models';\nimport { SHARED_FACTORY_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiArrowWorkFlowComponentStructureApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly WORKFLOW_URL = 'production_technology/arrow/workflow';\n\n    public moveStructure(arrowActionWorkFlowId: string, params: MoveArrowWorkFlowStructureParams): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/action/structure/move`,\n            {},\n            { ...SHARED_FACTORY_HTTP_OPTIONS, params: { ...params } }\n        );\n    }\n\n    public getStructureOptions(\n        arrowActionWorkFlowId: string,\n        type: WorkflowComponentType\n    ): Observable<WorkflowSuitableAction[]> {\n        return this.httpClient.get<WorkflowSuitableAction[]>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/action/${type.toLocaleLowerCase()}/structure/options`,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public deleteStructure(\n        arrowActionWorkFlowId: string,\n        type: WorkflowComponentType,\n        structureId: string\n    ): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/action/${type}/structure/${structureId}`,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { SHARED_FACTORY_HTTP_OPTIONS } from '../../constants';\nimport { StorageObjectInstruction, InstructionTypeOperation } from '../../shared';\nimport {\n    AddArrowWorkFlowTransferRequestBody,\n    AvailableAllWorkflowTransfer,\n    CopyWorkflowInstructionRequestBody,\n    CreateWorkflowInstructionRequestBody,\n    InsertWorkflowInstructionRequestBody,\n    TransferType,\n    UnbindWorkflowInstructionRequestBody,\n    UpdateArrowWorkFlowTransferRequestBody,\n    WorkflowTransferStructure\n} from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiArrowWorkFlowTransferControllerApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly WORKFLOW_URL = 'production_technology/arrow/workflow';\n    private readonly TRANSFER_URL = 'action/transfer';\n\n    public createInstruction(body: CreateWorkflowInstructionRequestBody): Observable<StorageObjectInstruction> {\n        return this.httpClient.post<StorageObjectInstruction>(\n            `${this.WORKFLOW_URL}/${body.arrowActionWorkFlowId}/${this.TRANSFER_URL}/instruction`,\n            {\n                type_operations: InstructionTypeOperation.Create,\n                title: 'New instruction',\n                shortDescription: 'Short description',\n                ...body\n            },\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public copyInstruction(body: CopyWorkflowInstructionRequestBody): Observable<StorageObjectInstruction> {\n        return this.httpClient.post<StorageObjectInstruction>(\n            `${this.WORKFLOW_URL}/${body.arrowActionWorkFlowId}/${this.TRANSFER_URL}/instruction`,\n            {\n                type_operations: InstructionTypeOperation.Copy,\n                ...body\n            },\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public insertInstruction(body: InsertWorkflowInstructionRequestBody): Observable<StorageObjectInstruction> {\n        return this.httpClient.post<StorageObjectInstruction>(\n            `${this.WORKFLOW_URL}/${body.arrowActionWorkFlowId}/${this.TRANSFER_URL}/instruction`,\n            {\n                type_operations: InstructionTypeOperation.Insert,\n                ...body\n            },\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public unbindInstruction(body: UnbindWorkflowInstructionRequestBody): Observable<StorageObjectInstruction> {\n        return this.httpClient.post<StorageObjectInstruction>(\n            `${this.WORKFLOW_URL}/${body.arrowActionWorkFlowId}/${this.TRANSFER_URL}/instruction`,\n            {\n                type_operations: InstructionTypeOperation.Unbind,\n                ...body\n            },\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public addTransfer(body: AddArrowWorkFlowTransferRequestBody): Observable<WorkflowTransferStructure> {\n        return this.httpClient.patch<WorkflowTransferStructure>(\n            `${this.WORKFLOW_URL}/${this.TRANSFER_URL}`,\n            body,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public updateTransfer(body: UpdateArrowWorkFlowTransferRequestBody): Observable<WorkflowTransferStructure> {\n        return this.httpClient.put<WorkflowTransferStructure>(\n            `${this.WORKFLOW_URL}/${this.TRANSFER_URL}/change`,\n            body,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public insertTransfer(\n        arrowActionWorkFlowId: string,\n        id: string,\n        transferType: TransferType\n    ): Observable<WorkflowTransferStructure> {\n        return this.httpClient.patch<WorkflowTransferStructure>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/${this.TRANSFER_URL}/insert/${id}`,\n            {},\n            { ...SHARED_FACTORY_HTTP_OPTIONS, params: { transferType } }\n        );\n    }\n\n    public getAvailableTransferTypes(arrowActionWorkFlowId: string): Observable<TransferType[]> {\n        return this.httpClient.get<TransferType[]>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/${this.TRANSFER_URL}/available_type`,\n            SHARED_FACTORY_HTTP_OPTIONS\n        );\n    }\n\n    public getAvailableAll<T extends AvailableAllWorkflowTransfer>(\n        arrowActionWorkFlowId: string,\n        type: TransferType\n    ): Observable<T[]> {\n        return this.httpClient.get<T[]>(\n            `${this.WORKFLOW_URL}/${arrowActionWorkFlowId}/${this.TRANSFER_URL}/available_all`,\n            { ...SHARED_FACTORY_HTTP_OPTIONS, params: { type } }\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\n\nimport type { Observable } from 'rxjs';\nimport { SHARED_FACTORY_HTTP_OPTIONS, X_NDJSON_CONFIG_OPTIONS } from '../../constants';\nimport { FactoryMaterial, Structure } from '../models/factory-api.options';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiFactoryApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly FACTORY_MATERIAL_URL = 'material/searches';\n    private readonly FACTORY_TOOL_URL = 'tool/searches';\n    private readonly FACTORY_PART_URL = 'part/searches';\n    private readonly SHARED_HTTP_OPTIONS = SHARED_FACTORY_HTTP_OPTIONS;\n\n    public getMaterialsByIds(ids: string[]): Observable<Structure> {\n        return this.httpClient.post<Structure>(\n            `${this.FACTORY_MATERIAL_URL}`,\n            { ids, size: ids.length },\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...this.SHARED_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<Structure>;\n    }\n\n    public getPartsByIds(ids: string[]): Observable<Structure> {\n        return this.httpClient.post<Structure>(\n            `${this.FACTORY_PART_URL}`,\n            { ids, size: ids.length },\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...this.SHARED_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<Structure>;\n    }\n\n    public getPartsByIdsStream(ids: string[]): Observable<Structure> {\n        return this.httpClient.post<Structure>(\n            `${this.FACTORY_PART_URL}`,\n            { ids, size: ids.length },\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...this.SHARED_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<Structure>;\n    }\n\n    public getToolsByIdsStream(ids: string[]): Observable<Structure> {\n        return this.httpClient.post<Structure>(\n            `${this.FACTORY_TOOL_URL}`,\n            { ids, size: ids.length },\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...this.SHARED_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<Structure>;\n    }\n\n    public getToolsByIds(ids: string[]): Observable<FactoryMaterial> {\n        return this.httpClient.post<FactoryMaterial>(\n            `${this.FACTORY_TOOL_URL}`,\n            { ids, size: ids.length },\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...this.SHARED_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<FactoryMaterial>;\n    }\n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { CuiTokenExchangeRequestBody, CuiTokenResponse } from '../models';\nimport { SHARED_PLATFORM_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiExchangeContextApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    // TODO: it's only available from platform for now\n\n    public refresh(token: string): Observable<CuiTokenResponse> {\n        const body = new HttpParams().set('refresh_token', token);\n        const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');\n\n        return this.httpClient.post<CuiTokenResponse>(`platform/token-refresh`, body.toString(), {\n            headers,\n            ...SHARED_PLATFORM_HTTP_OPTIONS\n        });\n    }\n\n    public exchange(body: CuiTokenExchangeRequestBody): Observable<CuiTokenResponse> {\n        return this.httpClient.post<CuiTokenResponse>(`platform/token-exchange`, body, {\n            ...SHARED_PLATFORM_HTTP_OPTIONS\n        });\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { CuiUserCompany } from '../models';\nimport { SHARED_PLATFORM_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({ providedIn: 'root' })\nexport class UserCompanyApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    public getMyCompanies(): Observable<CuiUserCompany[]> {\n        return this.httpClient.get<CuiUserCompany[]>(`platform/company/my-companies`, SHARED_PLATFORM_HTTP_OPTIONS);\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { CuiIdService } from '@cuby-ui/cdk';\nimport { Observable } from 'rxjs';\n\nimport { SHARED_CONSTRUCTION_HTTP_OPTIONS } from '../../constants';\n\nimport {\n    CopyCriteriaRequestBody,\n    CreateCriteriaRequestBody,\n    DeleteCriteriaRequestBody,\n    InsertCriteriaOperationRequestBody,\n    InsertCriteriaQuantumRequestBody,\n    InsertCriteriaRequestBody,\n    UnbindCriteriaRequestBody\n} from '../models';\nimport { CriteriaTypeOperation, Criterion, StorageObjectCriterion } from '../../shared';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiCriterionApiService {\n    private readonly httpClient = inject(HttpClient);\n    private readonly cuiIdService = inject(CuiIdService);\n\n    private readonly CRITERION_URL = 'acceptance_criteria';\n    private readonly CRITERION_ITEM_URL = 'acceptance_criteria/criterion';\n\n    public getAll(id: string): Observable<StorageObjectCriterion[]> {\n        return this.httpClient.get<StorageObjectCriterion[]>(\n            `${this.CRITERION_URL}/${id}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public getSelection(criterionIds: string[]): Observable<Criterion[]> {\n        return this.httpClient.get<Criterion[]>(`${this.CRITERION_URL}/criteria`, {\n            ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n            params: { criterionIds }\n        });\n    }\n\n    public create(body: CreateCriteriaRequestBody): Observable<StorageObjectCriterion> {\n        return this.httpClient.post<StorageObjectCriterion>(\n            `${this.CRITERION_URL}`,\n            {\n                ...body,\n                title: `New criterion ${this.cuiIdService.generate().replace('cui_', '')}`,\n                type_operations: CriteriaTypeOperation.Create\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public copy(body: CopyCriteriaRequestBody): Observable<StorageObjectCriterion> {\n        return this.httpClient.post<StorageObjectCriterion>(\n            `${this.CRITERION_URL}`,\n            {\n                ...body,\n                type_operations: CriteriaTypeOperation.Copy\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public insert(body: InsertCriteriaRequestBody): Observable<StorageObjectCriterion> {\n        return this.httpClient.post<StorageObjectCriterion>(\n            `${this.CRITERION_URL}`,\n            {\n                ...body,\n                type_operations: CriteriaTypeOperation.Insert\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public insertQuantum(body: InsertCriteriaQuantumRequestBody): Observable<StorageObjectCriterion> {\n        return this.httpClient.patch<StorageObjectCriterion>(\n            `quantum_container/quantum/${body.quantumId}`,\n            {\n                containerId: body.containerId,\n                selectObjectId: body.selectObjectId,\n                type_operations: CriteriaTypeOperation.Insert,\n                quantumId: body.quantumId\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public insertOperation(body: InsertCriteriaOperationRequestBody): Observable<StorageObjectCriterion> {\n        return this.httpClient.patch<StorageObjectCriterion>(\n            `quantum_container/quantum/${body.quantumId}/operations/${body.operationId}`,\n            {\n                containerId: body.containerId,\n                selectObjectId: body.selectObjectId,\n                type_operations: CriteriaTypeOperation.Insert,\n                quantumId: body.quantumId\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public unbind(body: UnbindCriteriaRequestBody): Observable<StorageObjectCriterion> {\n        return this.httpClient.post<StorageObjectCriterion>(\n            `${this.CRITERION_URL}`,\n            {\n                ...body,\n                type_operations: CriteriaTypeOperation.Unbind\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public delete(body: DeleteCriteriaRequestBody): Observable<void> {\n        return this.httpClient.post<void>(\n            `${this.CRITERION_URL}`,\n            {\n                ...body,\n                type_operations: CriteriaTypeOperation.Delete\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public deleteGlobal(criterionId: string): Observable<void> {\n        return this.httpClient.delete<void>(`${this.CRITERION_URL}`, {\n            ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n            body: { criterionId, type_operations: 'DELETE_OPERATION' }\n        });\n    }\n\n    public updateTitle(id: string, title: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.CRITERION_ITEM_URL}/${id}/title`,\n            { title },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public changeTitle(criterionId: string, title: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.CRITERION_ITEM_URL}/${criterionId}/title`,\n            {},\n            { ...SHARED_CONSTRUCTION_HTTP_OPTIONS, params: { title } }\n        );\n    }\n\n    public updateShortDescription(criterionId: string, shortDescription: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.CRITERION_ITEM_URL}/${criterionId}/short_description`,\n            {},\n            { ...SHARED_CONSTRUCTION_HTTP_OPTIONS, params: { shortDescription } }\n        );\n    }\n\n    public setInspectorCheckEnabled(criterionId: string, enabled: boolean): Observable<Criterion> {\n        return this.httpClient.patch<Criterion>(\n            `${this.CRITERION_URL}/criterion/${criterionId}/inspector_check_enabled`,\n            {},\n            { params: { enabled } }\n        );\n    }\n\n    public setOnlineCheckEnabled(criterionId: string, enabled: boolean): Observable<Criterion> {\n        return this.httpClient.patch<Criterion>(\n            `${this.CRITERION_URL}/criterion/${criterionId}/online_check_enabled`,\n            {},\n            { params: { enabled } }\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { SHARED_FACTORY_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiInstructionApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly UTILITY_INSTRUCTION_URL = 'utility/component/instructions/structure';\n\n    public changeTitle(instructionId: string, title: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.UTILITY_INSTRUCTION_URL}/${instructionId}/title`,\n            {},\n            { ...SHARED_FACTORY_HTTP_OPTIONS, params: { title } }\n        );\n    }\n\n    public changeDescription(instructionId: string, shortDescription: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.UTILITY_INSTRUCTION_URL}/${instructionId}/short_description`,\n            {},\n            { ...SHARED_FACTORY_HTTP_OPTIONS, params: { shortDescription } }\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { CuiIdService } from '@cuby-ui/cdk';\nimport type { Observable } from 'rxjs';\n\nimport type {\n    CopyOperationRequestBody,\n    CopyShiftTaskRequestBody,\n    CreateJobRequestBody,\n    CreateJobResponse,\n    CreateShiftTaskRequestBody,\n    DeleteJobRequestBody,\n    InsertOperationRequestBody,\n    InsertShiftTaskRequestBody,\n    InteractJobRequestBody,\n    JobInteract,\n    UnbindOperationRequestBody,\n    UpdateEstimatedTimeParams,\n    CreateOperationRequestBody,\n    StorageObjectOperation\n} from '../models/job-api.options';\nimport { JobOperationType, OperationTypeOperation } from '../models/job-api.options';\nimport { X_NDJSON_CONFIG_OPTIONS, SHARED_CONSTRUCTION_HTTP_OPTIONS } from '../../constants';\n\nimport { ActionJob, JobWithTeamSettings } from '../models/action-job';\nimport { Job } from '../../shared';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiJobApiService {\n    private readonly httpClient = inject(HttpClient);\n    private readonly cuiIdService = inject(CuiIdService);\n\n    private readonly JOB_URL = 'construction_technology/job';\n    private readonly OPERATIONS_URL = 'construction_technology/job/options/operation';\n\n    public getBySelection<T extends Job = Job>(objectIds: string[]): Observable<T> {\n        return this.httpClient.get<T>(`${this.JOB_URL}`, {\n            ...X_NDJSON_CONFIG_OPTIONS,\n            ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n            params: { objectIds }\n        }) as unknown as Observable<T>;\n    }\n\n    public getById<T extends Job = Job>(id: string): Observable<T> {\n        return this.httpClient.get<T>(`${this.JOB_URL}/${id}`, SHARED_CONSTRUCTION_HTTP_OPTIONS);\n    }\n\n    public getJobsByTeamIds(ids: string[]): Observable<JobWithTeamSettings[]> {\n        return this.httpClient.get<JobWithTeamSettings[]>(`${this.JOB_URL}/team`, {\n            ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n            params: { teamElementIds: ids }\n        });\n    }\n\n    public deleteQuantumContainer(jobId: string, quantumId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.JOB_URL}/main/${jobId}/container_quantum/${quantumId}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public deleteTask(worksId: string, jobId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `construction_technology/stage/works/${worksId}/jobs/${jobId}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public deleteJobFromLibrary(jobId: string, type_operations: string): Observable<void> {\n        return this.httpClient.delete<void>(this.JOB_URL, {\n            ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n            body: { jobId, type_operations }\n        });\n    }\n\n    public createShiftTask(body: CreateShiftTaskRequestBody): Observable<ActionJob> {\n        return this.httpClient.post<ActionJob>(\n            this.JOB_URL,\n            {\n                ...body,\n                supplementOperation: {\n                    ...body.supplementOperation,\n                    type_operations: JobOperationType.Create\n                }\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public insertShiftTask(body: InsertShiftTaskRequestBody): Observable<CreateJobResponse> {\n        return this.httpClient.post<CreateJobResponse>(\n            this.JOB_URL,\n            {\n                ...body,\n                supplementOperation: {\n                    ...body.supplementOperation,\n                    type_operations: JobOperationType.Insert\n                }\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public copyShiftTask(body: CopyShiftTaskRequestBody): Observable<CreateJobResponse> {\n        return this.httpClient.post<CreateJobResponse>(\n            this.JOB_URL,\n            {\n                ...body,\n                supplementOperation: {\n                    ...body.supplementOperation,\n                    type_operations: JobOperationType.Copy\n                }\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public create(body: CreateJobRequestBody): Observable<CreateJobResponse> {\n        return this.httpClient.post<CreateJobResponse>(\n            this.JOB_URL,\n            {\n                ...body,\n                title: `New task ${this.cuiIdService.generate().replace('cui_', '')}`\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public interact<T extends JobInteract>(body: InteractJobRequestBody): Observable<T[]> {\n        return this.httpClient.patch<T[]>(`${this.JOB_URL}/interaction`, body, SHARED_CONSTRUCTION_HTTP_OPTIONS);\n    }\n\n    public updateTitle(id: string, value: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.JOB_URL}/title/${id}`,\n            { title: value },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public createJTextContainer(id: string): Observable<string> {\n        return this.httpClient.patch<string>(`${this.JOB_URL}/${id}/jtext`, {}, SHARED_CONSTRUCTION_HTTP_OPTIONS);\n    }\n\n    public updateEstimatedTime(params: UpdateEstimatedTimeParams): Observable<string> {\n        return this.httpClient.put<string>(\n            `${this.JOB_URL}/${params.jobType}/${params.id}/estimated_time`,\n            {},\n            {\n                ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n                params: { newEstimatedTime: params.estimatedTime }\n            }\n        );\n    }\n\n    public createOperation(body: CreateOperationRequestBody): Observable<StorageObjectOperation> {\n        return this.httpClient.post<StorageObjectOperation>(\n            this.OPERATIONS_URL,\n            {\n                type_operations: OperationTypeOperation.Create,\n                ...body\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public insertOperation(body: InsertOperationRequestBody): Observable<StorageObjectOperation> {\n        return this.httpClient.post<StorageObjectOperation>(\n            this.OPERATIONS_URL,\n            {\n                type_operations: OperationTypeOperation.Insert,\n                ...body\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public copyOperation(body: CopyOperationRequestBody): Observable<StorageObjectOperation> {\n        return this.httpClient.post<StorageObjectOperation>(\n            this.OPERATIONS_URL,\n            {\n                type_operations: OperationTypeOperation.Copy,\n                ...body\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public unbindOperation(body: UnbindOperationRequestBody): Observable<StorageObjectOperation> {\n        return this.httpClient.post<StorageObjectOperation>(\n            this.OPERATIONS_URL,\n            {\n                type_operations: OperationTypeOperation.Unbind,\n                ...body\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public delete(body: DeleteJobRequestBody): Observable<void> {\n        return this.httpClient.delete<void>(this.JOB_URL, {\n            ...SHARED_CONSTRUCTION_HTTP_OPTIONS,\n            body\n        });\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\n\nimport type { Observable } from 'rxjs';\n\nimport type {\n    CopyInstructionRequestBody,\n    CreateInstructionRequestBody,\n    DeleteInstructionRequestBody,\n    InsertInstructionRequestBody,\n    UnbindInstructionRequestBody\n} from '../models';\nimport { ListObjectInstruction, InstructionTypeOperation } from '../../shared';\nimport { SHARED_CONSTRUCTION_HTTP_OPTIONS } from '../../constants';\nimport { CuiIdService } from '@cuby-ui/cdk';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiUtilityComponentInstructionStructureApiService {\n    private readonly httpClient = inject(HttpClient);\n    private readonly cuiIdService = inject(CuiIdService);\n\n    private readonly INSTRUCTION_URL = 'utility/component/instructions/structure';\n\n    public create(body: CreateInstructionRequestBody): Observable<ListObjectInstruction> {\n        return this.httpClient.post<ListObjectInstruction>(\n            this.INSTRUCTION_URL,\n            {\n                ...body,\n                type_operations: InstructionTypeOperation.Create,\n                title: `New instruction ${this.cuiIdService.generate().replace('cui_', '')}`,\n                shortDescription: 'Default short description'\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public copy(body: CopyInstructionRequestBody): Observable<ListObjectInstruction> {\n        return this.httpClient.post<ListObjectInstruction>(\n            this.INSTRUCTION_URL,\n            {\n                ...body,\n                type_operations: InstructionTypeOperation.Copy\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public insert(body: InsertInstructionRequestBody): Observable<ListObjectInstruction> {\n        return this.httpClient.post<ListObjectInstruction>(\n            this.INSTRUCTION_URL,\n            {\n                ...body,\n                type_operations: InstructionTypeOperation.Insert\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public unbind(body: UnbindInstructionRequestBody): Observable<ListObjectInstruction> {\n        return this.httpClient.post<ListObjectInstruction>(\n            this.INSTRUCTION_URL,\n            {\n                ...body,\n                type_operations: InstructionTypeOperation.Unbind\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public delete(body: DeleteInstructionRequestBody): Observable<void> {\n        return this.httpClient.post<void>(\n            this.INSTRUCTION_URL,\n            {\n                ...body,\n                type_operations: InstructionTypeOperation.Delete\n            },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public updateTitle(instructionId: string, title: string): Observable<void> {\n        return this.httpClient.patch<void>(\n            `${this.INSTRUCTION_URL}/${instructionId}/title`,\n            { title },\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\nimport { concatMap } from 'rxjs';\n\nimport type { UtilityTypes } from '../models/utility-api.options';\nimport { Utility, UtilityComponent } from '../models/utility';\nimport { CuiUtilityComponentInstructionStructureApiService } from './utility-component-instruction-structure-api.service';\nimport { SHARED_CONSTRUCTION_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class UtilityApiService {\n    private readonly httpClient = inject(HttpClient);\n    private readonly utilityComponentInstructionStructureApiService = inject(\n        CuiUtilityComponentInstructionStructureApiService\n    );\n\n    private readonly UTILITY_URL = 'utility';\n\n    public getById(id: string): Observable<Utility> {\n        return this.httpClient.get<Utility>(`${this.UTILITY_URL}/${id}`, SHARED_CONSTRUCTION_HTTP_OPTIONS);\n    }\n\n    public updateShortDescription({\n        instructionId,\n        shortDescription\n    }: {\n        instructionId: string;\n        shortDescription: string;\n    }): Observable<void> {\n        const params = { shortDescription };\n\n        return this.httpClient.patch<void>(\n            `${this.UTILITY_URL}/component/instructions/structure/${instructionId}/short_description`,\n            {},\n            { ...SHARED_CONSTRUCTION_HTTP_OPTIONS, params }\n        );\n    }\n\n    public addComponent(utilityId: string, type: string): Observable<UtilityComponent> {\n        return this.httpClient.post<UtilityComponent>(\n            `${this.UTILITY_URL}/${utilityId}/component/${type}`,\n            {},\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public delete(containerId: string, groupType: UtilityTypes, id: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `utility/${containerId}/component/${groupType}/structure/${id}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public deleteCancel(containerId: string, groupType: UtilityTypes, id: string): Observable<void> {\n        return this.httpClient\n            .delete<void>(\n                `utility/${containerId}/component/${groupType}/structure/${id}`,\n                SHARED_CONSTRUCTION_HTTP_OPTIONS\n            )\n            .pipe(\n                concatMap(() =>\n                    this.utilityComponentInstructionStructureApiService.delete({\n                        utilityId: containerId,\n                        selectInstructionId: id\n                    })\n                )\n            );\n    }\n\n    public deleteStructure(id: string, type: string, contentId: string): Observable<Utility> {\n        return this.httpClient.delete<Utility>(\n            `${this.UTILITY_URL}/${id}/component/${type}/structure/${contentId}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public deleteComponent(utilityId: string, componentId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.UTILITY_URL}/${utilityId}/component/${componentId}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\nimport { Resource, ResourceContentType } from '../models';\nimport { UtilitySubject } from '../models';\nimport { SHARED_CONSTRUCTION_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({ providedIn: 'root' })\nexport class CuiQuantumGroupResourcesStructureApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly UTILITY_URL = 'utility';\n    private readonly STRUCTURE_URL = 'component/resources/structure';\n\n    public addElementForStructure(utilityId: string, type: ResourceContentType): Observable<Resource> {\n        return this.httpClient.post<Resource>(\n            `${this.UTILITY_URL}/${utilityId}/${this.STRUCTURE_URL}/${type}`,\n            {},\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public addElementInStructure(utilityId: string, type: string, body: UtilitySubject[]): Observable<UtilitySubject> {\n        return this.httpClient.put<UtilitySubject>(\n            `utility/${utilityId}/${this.STRUCTURE_URL}/${type}/elements`,\n            body,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public updateElementInStructure(utilityId: string, type: string, body: UtilitySubject): Observable<UtilitySubject> {\n        return this.httpClient.patch<UtilitySubject>(\n            `utility/${utilityId}/${this.STRUCTURE_URL}/${type}/element`,\n            body,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public deleteElementInStructure(utilityId: string, type: string, elementId: string): Observable<UtilitySubject> {\n        return this.httpClient.delete<UtilitySubject>(\n            `utility/${utilityId}/${this.STRUCTURE_URL}/${type}/element/${elementId}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n}\n","export const DEFAULT_3D_FILE_NAME = 'model.glb';\n","import { DEFAULT_3D_FILE_NAME } from '../constants/default-3d-file-name.const';\nimport { Quantum3dModelInfo, Quantum3dModelVersion } from '../models/quantum-3d-model-api.options';\n\nexport function adaptBlobToQuantum3dModelInfo(\n    blob: Blob,\n    version?: Partial<Quantum3dModelVersion>\n): Quantum3dModelInfo {\n    return {\n        size: blob.size,\n        type: blob.type || 'application/octet-stream',\n        objectUrl: URL.createObjectURL(blob),\n        filename: version?.filename || DEFAULT_3D_FILE_NAME,\n        versionId: version?.id ?? '',\n        active: version?.active ?? false\n    };\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { map, type Observable } from 'rxjs';\n\nimport { BLOB_CONFIG_OPTIONS, SHARED_CONSTRUCTION_HTTP_OPTIONS } from '../../constants';\n\nimport { adaptBlobToQuantum3dModelInfo } from '../adapters/quantum-3d-model-api.adapter';\nimport { Quantum3dModelInfo, Quantum3dModelVersion } from '../models/quantum-3d-model-api.options';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiQuantum3dModelApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly QUANTUM_URL = 'quantum_container';\n\n    public uploadModel(quantumId: string, file: File): Observable<Quantum3dModelVersion> {\n        const formData = new FormData();\n        formData.set('file', file);\n\n        return this.httpClient.post<Quantum3dModelVersion>(\n            `${this.QUANTUM_URL}/quantum/${quantumId}/model`,\n            formData,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public getVersions(quantumId: string): Observable<Quantum3dModelVersion[]> {\n        return this.httpClient.get<Quantum3dModelVersion[]>(\n            `${this.QUANTUM_URL}/quantum/${quantumId}/model/versions`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public activateVersion(quantumId: string, versionId: string): Observable<Quantum3dModelVersion> {\n        return this.httpClient.patch<Quantum3dModelVersion>(\n            `${this.QUANTUM_URL}/quantum/${quantumId}/model/versions/${versionId}/activate`,\n            {},\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public downloadModelVersion(\n        quantumId: string,\n        version: Partial<Quantum3dModelVersion>\n    ): Observable<Quantum3dModelInfo> {\n        return this.httpClient\n            .get(`${this.QUANTUM_URL}/quantum/${quantumId}/model/versions/${version.id}`, {\n                ...BLOB_CONFIG_OPTIONS,\n                ...SHARED_CONSTRUCTION_HTTP_OPTIONS\n            })\n            .pipe(map((blob) => adaptBlobToQuantum3dModelInfo(blob, version)));\n    }\n\n    public deleteModelVersion(quantumId: string, versionId: string): Observable<void> {\n        return this.httpClient.delete<void>(\n            `${this.QUANTUM_URL}/quantum/${quantumId}/model/versions/${versionId}`,\n            SHARED_CONSTRUCTION_HTTP_OPTIONS\n        );\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport type { Observable } from 'rxjs';\n\nimport { SHARED_CONSTRUCTION_HTTP_OPTIONS, X_NDJSON_CONFIG_OPTIONS } from '../../constants';\n\nimport { StageJobApprovalDetailsTreeStruct } from '../models/stage-job-approval-details';\nimport { StageJobQuantumDetailsTreeStruct } from '../models/stage-job-quantum-details';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiStageJobQuantumDetailsApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly STAGE_JOB_QUANTUM_DETAILS_URL = 'construction_technology/stage';\n\n    public getByTechnologyId(id: string): Observable<StageJobQuantumDetailsTreeStruct> {\n        return this.httpClient.get<StageJobQuantumDetailsTreeStruct>(\n            `${this.STAGE_JOB_QUANTUM_DETAILS_URL}/technology/${id}/details_with_quantums`,\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...SHARED_CONSTRUCTION_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<StageJobQuantumDetailsTreeStruct>;\n    }\n\n    public getByTechnologyIdWithApprovalCriteria(id: string): Observable<StageJobApprovalDetailsTreeStruct> {\n        return this.httpClient.get<StageJobApprovalDetailsTreeStruct>(\n            `${this.STAGE_JOB_QUANTUM_DETAILS_URL}/technology/${id}/details_with_approval_criteria`,\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...SHARED_CONSTRUCTION_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<StageJobApprovalDetailsTreeStruct>;\n    }\n\n    public getChildrenByParentId(id: string): Observable<StageJobQuantumDetailsTreeStruct> {\n        return this.httpClient.get<StageJobQuantumDetailsTreeStruct>(\n            `${this.STAGE_JOB_QUANTUM_DETAILS_URL}/${id}/details_children_with_quantums`,\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...SHARED_CONSTRUCTION_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<StageJobQuantumDetailsTreeStruct>;\n    }\n\n    public getChildrenByParentIdWithApprovalCriteria(id: string): Observable<StageJobApprovalDetailsTreeStruct> {\n        return this.httpClient.get<StageJobApprovalDetailsTreeStruct>(\n            `${this.STAGE_JOB_QUANTUM_DETAILS_URL}/${id}/details_children_with_approval_criteria`,\n            {\n                ...X_NDJSON_CONFIG_OPTIONS,\n                ...SHARED_CONSTRUCTION_HTTP_OPTIONS\n            }\n        ) as unknown as Observable<StageJobApprovalDetailsTreeStruct>;\n    }\n}\n","import type { CuiValueOf } from '@cuby-ui/cdk';\n\nexport const JobActionType = {\n    TaskStartShiftNode: 'TASK_START_SHIFT_NODE',\n    TaskEndShiftNode: 'TASK_END_SHIFT_NODE'\n} as const;\n\nexport type JobActionType = CuiValueOf<typeof JobActionType>;\n","import { Measurement } from '../../factory';\n\nexport enum ResourceContentType {\n    Toolbox = 'TOOLBOX',\n    Consumables = 'CONSUMABLES',\n    Part = 'PART'\n}\n\nexport const enum ResourceRequestType {\n    Toolbox = 'tool_element',\n    Consumables = 'consumable',\n    Part = 'part'\n}\n\nexport interface Resource {\n    readonly id: string;\n    readonly contentType: ResourceContentType;\n    // TODO: подумать над табами\n    elements: ResourceElement[];\n}\n\nexport type ResourceElement = ResourceMaterialElement;\n\nexport interface ResourceMaterialElement {\n    readonly id: string;\n    readonly supply: ResourceMaterialElementSupply[];\n    readonly supplyDefoliate: ResourceMaterialElementSupply;\n}\n\nexport interface ResourceMaterialElementSupply {\n    readonly quantity: number;\n    readonly unit: string;\n    readonly measure: Measurement;\n}\n","import { TechnologyConstructionContent, TechnologyMainContent, TechnologyShiftContent } from './technology';\n\nexport interface SearchTechnologiesRequestBody {\n    readonly page: number;\n    readonly size: number;\n    readonly ids?: string[];\n    readonly searchFilter?: string;\n    readonly isIncludeStageId?: boolean;\n}\n\nexport const enum GetTechnologyResponseType {\n    MAIN = 'MAIN',\n    SHIFT = 'SHIFT',\n    CONSTRUCTION = 'CONSTRUCTION'\n}\n\nexport type GetTechnologyResponse =\n    | GetTechnologyMainResponse\n    | GetTechnologyShiftResponse\n    | GetTechnologyConstructionResponse;\n\nexport interface GetTechnologyMainResponse {\n    readonly type: GetTechnologyResponseType.MAIN;\n    readonly content: TechnologyMainContent;\n}\n\nexport interface GetTechnologyShiftResponse {\n    readonly type: GetTechnologyResponseType.SHIFT;\n    readonly content: TechnologyShiftContent['shifts'];\n}\n\nexport interface GetTechnologyConstructionResponse {\n    readonly type: GetTechnologyResponseType.CONSTRUCTION;\n    readonly content: TechnologyConstructionContent['constructions'];\n}\n\nexport enum TechnologyState {\n    Release = 'RELEASE',\n    Draft = 'DRAFT'\n}\n\nexport interface DeleteTechnologyRequestBody {\n    readonly constructionTechnologyId: string;\n    readonly deleteType: TechnologyDeleteType;\n}\n\nexport enum TechnologyDeleteType {\n    Global = 'GLOBAL',\n    GlobalWithStages = 'GLOBAL_WITH_STAGES'\n}\n","import type { CuiValueOf } from '@cuby-ui/cdk';\nimport { ToolboxType } from './utility';\nimport { Measurement } from '../../factory';\n\nexport type UtilitySubject = UtilityMaterialRequestBody | ToolboxType;\n\nexport const SeasonType = {\n    Summer: 'SUMMER',\n    Autumn: 'AUTUMN',\n    Winter: 'WINTER',\n    Spring: 'SPRING'\n} as const;\n\nexport type SeasonType = CuiValueOf<typeof SeasonType>;\n\nexport interface UtilityMaterialRequestBody {\n    readonly id: string;\n    readonly type: string;\n    readonly supplyDefoliate: MaterialTypeDefoliate;\n    readonly supply?: MaterialTypeSupply[];\n}\n\nexport interface MaterialTypeDefoliate {\n    readonly quantity: number;\n    readonly unit: string;\n    readonly measure: Measurement;\n}\n\nexport interface MaterialTypeSupply extends MaterialTypeDefoliate {\n    readonly season: SeasonType;\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { SHARED_INSTRUCTION_HTTP_OPTIONS } from '../../constants';\nimport type { Observable } from 'rxjs';\n\nimport type {\n    AssessmentMode,\n    AssessmentRequirement,\n    Duration,\n    InstructionAssessmentConfig,\n    InstructionAssessmentConfigRequestBody,\n    LanguageCode,\n    QualityCriteria,\n    QuestionType\n} from '../models';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiInstructionAssessmentConfigApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly INSTRUCTION_URL = 'instruction';\n    private readonly ASSESSMENT_URL = 'assessment';\n    private readonly CONFIG_URL = 'config';\n\n    public getResolveInstructionAssessmentConfig(instructionId: string): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.get<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_URL}/${this.CONFIG_URL}/resolve`,\n            SHARED_INSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public getResolveInstructionAssessmentPolymorphicConfig(\n        instructionId: string\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.get<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_URL}/${this.CONFIG_URL}/polymorphic/resolve`,\n            SHARED_INSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public createInstructionAssessmentConfig(\n        instructionId: string,\n        body: InstructionAssessmentConfigRequestBody\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.post<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_URL}/${this.CONFIG_URL}`,\n            body,\n            SHARED_INSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public getInstructionAssessmentPolymorphicConfig(instructionId: string): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.get<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_URL}/${this.CONFIG_URL}/polymorphic`,\n            SHARED_INSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public updateAssessmentMode(\n        configId: string,\n        assessmentMode: AssessmentMode\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/assessment-mode`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { assessmentMode } }\n        );\n    }\n\n    public updateAssessmentRequirement(\n        configId: string,\n        assessmentRequirement: AssessmentRequirement\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/assessment-requirement`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { assessmentRequirement } }\n        );\n    }\n\n    public updateQuizSize(configId: string, quizSize: number): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/quiz-size`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { quizSize } }\n        );\n    }\n\n    public updateQuizLanguage(configId: string, quizLanguage: LanguageCode): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/quiz-language`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { quizLanguage } }\n        );\n    }\n\n    public updateQuizPassThreshold(\n        configId: string,\n        quizPassThreshold: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/quiz-pass-threshold`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { quizPassThreshold } }\n        );\n    }\n\n    public updateQuestionTypes(\n        configId: string,\n        questionTypes: QuestionType[]\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/question-types`,\n            questionTypes,\n            SHARED_INSTRUCTION_HTTP_OPTIONS\n        );\n    }\n\n    public updateInteractiveLanguage(\n        configId: string,\n        interactiveLanguage: LanguageCode\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/interactive-language`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { interactiveLanguage } }\n        );\n    }\n\n    public updateInteractiveMinTurns(\n        configId: string,\n        interactiveMinTurns: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/interactive-min-turns`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { interactiveMinTurns } }\n        );\n    }\n\n    public updateInteractiveMaxTurns(\n        configId: string,\n        interactiveMaxTurns: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/interactive-max-turns`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { interactiveMaxTurns } }\n        );\n    }\n\n    public updateInteractivePassThreshold(\n        configId: string,\n        interactivePassThreshold: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/interactive-pass-threshold`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { interactivePassThreshold } }\n        );\n    }\n\n    public updateAssistantPrompt(configId: string, assistantPrompt: string): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/assistant-prompt`,\n            {},\n            {\n                ...SHARED_INSTRUCTION_HTTP_OPTIONS,\n                params: { assistantPrompt }\n            }\n        );\n    }\n\n    public updateAttemptsLimit(configId: string, attemptsLimit: number): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/attempts-limit`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { attemptsLimit } }\n        );\n    }\n\n    public updateAttemptsResetPeriod(\n        configId: string,\n        attemptsResetPeriod: Duration\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/attempts-reset-period`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { attemptsResetPeriod } }\n        );\n    }\n\n    public updateTtlHours(configId: string, ttlHours: number): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/ttl-hours`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { ttlHours } }\n        );\n    }\n\n    public updateContentQualityCriteria(\n        configId: string,\n        contentQualityCriteria: QualityCriteria[]\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/content-quality-criteria`,\n            contentQualityCriteria,\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS }\n        );\n    }\n\n    public updateContentQualityGateThreshold(\n        configId: string,\n        contentQualityGateThreshold: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/content-quality-gate-threshold`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { contentQualityGateThreshold } }\n        );\n    }\n\n    public updateContentQualityScoreThreshold(\n        configId: string,\n        contentQualityScoreThreshold: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/content-quality-score-threshold`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { contentQualityScoreThreshold } }\n        );\n    }\n\n    public updateBlockQualityLanguage(\n        configId: string,\n        blockQualityLanguage: LanguageCode\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/block-quality-criteria`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { blockQualityLanguage } }\n        );\n    }\n\n    public updateBlockQualityCriteria(\n        configId: string,\n        blockQualityCriteria: QualityCriteria[]\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/block-quality-criteria`,\n            blockQualityCriteria,\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS }\n        );\n    }\n\n    public updateBlockQualityGateThreshold(\n        configId: string,\n        blockQualityGateThreshold: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/block-quality-gate-threshold`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { blockQualityGateThreshold } }\n        );\n    }\n\n    public updateBlockQualityScoreThreshold(\n        configId: string,\n        blockQualityScoreThreshold: number\n    ): Observable<InstructionAssessmentConfig> {\n        return this.httpClient.patch<InstructionAssessmentConfig>(\n            `${this.INSTRUCTION_URL}/${this.CONFIG_URL}/${configId}/block-quality-score-threshold`,\n            {},\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { blockQualityScoreThreshold } }\n        );\n    }\n}\n","import { CuiNullable } from '@cuby-ui/cdk';\n\nexport interface InstructionAssessmentConfigRequestBody {\n    readonly assessmentMode: AssessmentMode;\n    readonly assessmentRequirement: AssessmentRequirement;\n    readonly quizSize: number;\n    readonly quizPassThreshold: number;\n    readonly questionTypes: QuestionType[];\n    readonly quizLanguage: LanguageCode;\n    readonly interactiveMinTurns: number;\n    readonly interactiveMaxTurns: number;\n    readonly interactivePassThreshold: number;\n    readonly interactiveLanguage: LanguageCode;\n    readonly assistantPrompt: CuiNullable<string>;\n    readonly attemptsLimit: number;\n    readonly attemptsResetPeriod: Duration;\n    readonly ttlHours: number;\n    readonly contentQualityCriteria: QualityCriteria[];\n    readonly contentQualityGateThreshold: number;\n    readonly contentQualityScoreThreshold: number;\n    readonly blockQualityLanguage: LanguageCode;\n    readonly blockQualityCriteria: QualityCriteria[];\n    readonly blockQualityGateThreshold: number;\n    readonly blockQualityScoreThreshold: number;\n}\n\nexport interface InstructionAssessmentConfig extends InstructionAssessmentConfigRequestBody {\n    readonly id?: string;\n    readonly createdAt?: string;\n    readonly instructionId?: string;\n}\n\nexport enum AssessmentMode {\n    Quiz = 'QUIZ',\n    Interactive = 'INTERACTIVE'\n}\n\nexport enum AssessmentRequirement {\n    Mandatory = 'MANDATORY',\n    Optional = 'OPTIONAL'\n}\n\nexport enum QuestionType {\n    SingleChoice = 'SINGLE_CHOICE',\n    MultipleChoice = 'MULTIPLE_CHOICE',\n    TrueFalse = 'TRUE_FALSE'\n}\n\nexport enum QualityCriteria {\n    Profanity = \"PROFANITY\",\n    Violence = \"VIOLENCE\",\n    SpamDetection = \"SPAM_DETECTION\",\n    TopicRelevance = \"TOPIC_RELEVANCE\",\n    TopicDiversity = \"TOPIC_DIVERSITY\",\n    ClarityAndDepth = \"CLARITY_AND_DEPTH\",\n    FactualAccuracy = \"FACTUAL_ACCURACY\",\n    ContentSufficiency = \"CONTENT_SUFFICIENCY\"\n};\n\n/**\n * Код языка (ISO 639-1)\n */\nexport type LanguageCode = string;\n\n/**\n * Период времени в формате ISO 8601 Duration (например, PT24H, P7D)\n */\nexport type Duration = string;\n","export interface InstructionAssessmentInteractiveTurnResponseDto {\n    readonly id: string;\n    readonly sessionId: string;\n    readonly order: number;\n    readonly aiQuestion: string;\n    readonly userAnswer: string;\n    readonly aiScore: number;\n    readonly aiFeedback: string;\n    readonly responseType: InstructionAssessmentInteractiveResponseType;\n}\n\nexport interface InstructionAssessmentInteractiveAnswerResponseDto {\n    readonly feedback: InstructionAssessmentInteractiveAnswerFeedbackDto;\n    readonly nextQuestion: string;\n}\n\nexport interface InstructionAssessmentInteractiveAnswerRequestBody {\n    readonly sessionId: string;\n    readonly userAnswer: string;\n}\n\nexport interface InstructionAssessmentInteractiveAnswerFeedbackDto {\n    readonly score: number;\n    readonly feedback: string;\n    readonly responseType: InstructionAssessmentInteractiveResponseType;\n    readonly earlyTerminationSuggested: boolean;\n}\n\nexport enum InstructionAssessmentInteractiveResponseType {\n    Answer = 'ANSWER',\n    ClarificationRequest = 'CLARIFICATION_REQUEST',\n    Irrelevant = 'IRRELEVANT',\n    Skipped = 'SKIPPED'\n}\n","import { CuiNullable } from '@cuby-ui/cdk';\nimport { QuestionType } from '../models';\nimport type {\n    InstructionAssessmentQuizAnswerResponseContextDto,\n    InstructionAssessmentQuizAnswerResponseDto,\n    InstructionAssessmentQuizOptionDto,\n    InstructionAssessmentQuizQuestionsWithAnswersResponseDto,\n    InstructionAssessmentQuizResponseDto\n} from '../models';\n\nexport interface InstructionAssessmentQuizAnswerResponse {\n    readonly id: string;\n    readonly sessionId: string;\n    readonly questionId: string;\n    readonly correct: boolean;\n    readonly score: number;\n    readonly context: InstructionAssessmentQuizAnswerResponseContextDto;\n}\n\nexport function adaptInstructionAssessmentQuizAnswerResponse(\n    dto: InstructionAssessmentQuizAnswerResponseDto\n): InstructionAssessmentQuizAnswerResponse {\n    return {\n        id: dto.id,\n        sessionId: dto.sessionId,\n        questionId: dto.questionId,\n        correct: dto.context.correct,\n        score: dto.score,\n        context: dto.context\n    };\n}\n\nexport type InstructionAssessmentQuizQuestion =\n    | InstructionAssessmentQuizSingleChoiceQuestion\n    | InstructionAssessmentQuizMultipleChoiceQuestion\n    | InstructionAssessmentQuizTrueFalseQuestion;\n\nexport interface InstructionAssessmentQuizBaseQuestion {\n    readonly id: string;\n    readonly sessionId: string;\n    readonly order: number;\n    readonly question: string;\n    readonly weight: number;\n}\n\nexport interface InstructionAssessmentQuizSingleChoiceQuestion extends InstructionAssessmentQuizBaseQuestion {\n    readonly questionType: QuestionType.SingleChoice;\n    readonly options: InstructionAssessmentQuizOption[];\n}\n\nexport interface InstructionAssessmentQuizMultipleChoiceQuestion extends InstructionAssessmentQuizBaseQuestion {\n    readonly questionType: QuestionType.MultipleChoice;\n    readonly options: InstructionAssessmentQuizOption[];\n}\n\nexport interface InstructionAssessmentQuizTrueFalseQuestion extends InstructionAssessmentQuizBaseQuestion {\n    readonly questionType: QuestionType.TrueFalse;\n}\n\nexport interface InstructionAssessmentQuizOption {\n    readonly id: string;\n    readonly text: string;\n}\n\nexport interface InstructionAssessmentQuizQuestionWithAnswer {\n    readonly question: InstructionAssessmentQuizQuestion;\n    readonly answer: CuiNullable<InstructionAssessmentQuizAnswerResponse>;\n}\n\nexport function adaptInstructionAssessmentQuizResponse(\n    dto: InstructionAssessmentQuizResponseDto\n): InstructionAssessmentQuizQuestion {\n    const baseQuestion: InstructionAssessmentQuizBaseQuestion = {\n        id: dto.id,\n        sessionId: dto.sessionId,\n        order: dto.order,\n        question: dto.questionText,\n        weight: dto.weight\n    };\n\n    switch (dto.context.questionType) {\n        case QuestionType.SingleChoice:\n            return {\n                ...baseQuestion,\n                questionType: QuestionType.SingleChoice,\n                options: dto.context.options.map(adaptInstructionAssessmentQuizOption)\n            };\n\n        case QuestionType.MultipleChoice:\n            return {\n                ...baseQuestion,\n                questionType: QuestionType.MultipleChoice,\n                options: dto.context.options.map(adaptInstructionAssessmentQuizOption)\n            };\n\n        case QuestionType.TrueFalse:\n            return {\n                ...baseQuestion,\n                questionType: QuestionType.TrueFalse\n            };\n\n        default:\n            return {\n                ...baseQuestion,\n                questionType: QuestionType.SingleChoice,\n                options: []\n            };\n    }\n}\n\nexport function adaptInstructionAssessmentQuizOption(\n    dto: InstructionAssessmentQuizOptionDto\n): InstructionAssessmentQuizOption {\n    return {\n        id: dto.id,\n        text: dto.text\n    };\n}\n\nexport function adaptInstructionAssessmentQuizQuestionsWithAnswersResponse(\n    dto: InstructionAssessmentQuizQuestionsWithAnswersResponseDto[]\n): InstructionAssessmentQuizQuestionWithAnswer[] {\n    return dto.map((item) => ({\n        question: adaptInstructionAssessmentQuizResponse(item.question),\n        answer: item.answer ? adaptInstructionAssessmentQuizAnswerResponse(item.answer) : null\n    }));\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { SHARED_INSTRUCTION_HTTP_OPTIONS } from '../../constants';\nimport { map, type Observable } from 'rxjs';\n\nimport {\n    InstructionAssessmentQuizAnswerBody,\n    InstructionAssessmentQuizAnswerResponseDto,\n    InstructionAssessmentQuizQuestionsWithAnswersResponseDto,\n    InstructionAssessmentQuizResponseDto\n} from '../models';\nimport {\n    adaptInstructionAssessmentQuizAnswerResponse,\n    adaptInstructionAssessmentQuizQuestionsWithAnswersResponse,\n    adaptInstructionAssessmentQuizResponse,\n    InstructionAssessmentQuizQuestionWithAnswer,\n    type InstructionAssessmentQuizAnswerResponse,\n    type InstructionAssessmentQuizQuestion\n} from '../adapters';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiInstructionAssessmentQuizApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    public getInstructionAssessmentQuiz(\n        instructionId: string,\n        sessionId: string\n    ): Observable<InstructionAssessmentQuizQuestion[]> {\n        return this.httpClient\n            .get<InstructionAssessmentQuizResponseDto[]>(`instruction/${instructionId}/assessment/quiz/questions`, {\n                ...SHARED_INSTRUCTION_HTTP_OPTIONS,\n                params: { sessionId }\n            })\n            .pipe(map((response) => response.map(adaptInstructionAssessmentQuizResponse)));\n    }\n\n    public sendInstructionAssessmentQuizAnswer(\n        instructionId: string,\n        body: InstructionAssessmentQuizAnswerBody\n    ): Observable<InstructionAssessmentQuizAnswerResponse> {\n        return this.httpClient\n            .post<InstructionAssessmentQuizAnswerResponseDto>(\n                `instruction/${instructionId}/assessment/quiz/answer`,\n                body,\n                SHARED_INSTRUCTION_HTTP_OPTIONS\n            )\n            .pipe(map(adaptInstructionAssessmentQuizAnswerResponse));\n    }\n\n    public getAnsweredQuizQuestions(\n        instructionId: string,\n        sessionId: string\n    ): Observable<InstructionAssessmentQuizQuestionWithAnswer[]> {\n        return this.httpClient\n            .get<\n                InstructionAssessmentQuizQuestionsWithAnswersResponseDto[]\n            >(`instruction/${instructionId}/assessment/quiz/questions-with-answers`, { ...SHARED_INSTRUCTION_HTTP_OPTIONS, params: { sessionId } })\n            .pipe(map(adaptInstructionAssessmentQuizQuestionsWithAnswersResponse));\n    }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport {\n    InstructionAssessmentInteractiveAnswerRequestBody,\n    InstructionAssessmentInteractiveAnswerResponseDto,\n    InstructionAssessmentInteractiveTurnResponseDto\n} from '../models/instruction-assessment-interactive-api.options';\nimport { Observable } from 'rxjs';\nimport { SHARED_INSTRUCTION_HTTP_OPTIONS } from '../../constants';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class CuiInstructionAssessmentInteractiveApiService {\n    private readonly httpClient = inject(HttpClient);\n\n    private readonly INSTRUCTION_URL = 'instruction';\n    private readonly ASSESSMENT_INTERACTIVE_URL = 'assessment/interactive';\n    private readonly SESSION_URL = 'session';\n\n    public getInstructionAssessmentInteractiveCurrentTurn(\n        instructionId: string,\n        sessionId: string\n    ): Observable<InstructionAssessmentInteractiveTurnResponseDto> {\n        return this.httpClient.get<InstructionAssessmentInteractiveTurnResponseDto>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_INTERACTIVE_URL}/${this.SESSION_URL}/${sessionId}/turns/current`,\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS }\n        );\n    }\n\n    public getInstructionAssessmentInteractiveTurns(\n        instructionId: string,\n        sessionId: string\n    ): Observable<InstructionAssessmentInteractiveTurnResponseDto[]> {\n        return this.httpClient.get<InstructionAssessmentInteractiveTurnResponseDto[]>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_INTERACTIVE_URL}/${this.SESSION_URL}/${sessionId}/turns`,\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS }\n        );\n    }\n\n    public getInstructionAssessmentInteractiveTurnsAnswered(\n        instructionId: string,\n        sessionId: string\n    ): Observable<InstructionAssessmentInteractiveTurnResponseDto[]> {\n        return this.httpClient.get<InstructionAssessmentInteractiveTurnResponseDto[]>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_INTERACTIVE_URL}/${this.SESSION_URL}/${sessionId}/turns/answered`,\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS }\n        );\n    }\n\n    public sendInstructionAssessmentInteractiveAnswer(\n        instructionId: string,\n        answerBody: InstructionAssessmentInteractiveAnswerRequestBody\n    ): Observable<InstructionAssessmentInteractiveAnswerResponseDto> {\n        return this.httpClient.post<InstructionAssessmentInteractiveAnswerResponseDto>(\n            `${this.INSTRUCTION_URL}/${instructionId}/${this.ASSESSMENT_INTERACTIVE_URL}/answer`,\n            answerBody,\n            { ...SHARED_INSTRUCTION_HTTP_OPTIONS }\n        );\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}