@unmeshed/sdk 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +16 -16
- package/dist/index.d.ts +16 -16
- package/dist/index.js +73 -119
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +73 -119
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -3
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/apis/unmeshedApiClient.ts","../src/utils/unmeshedCommonUtils.ts","../src/types/index.ts","../src/apis/queuedWorker.ts","../src/apis/pollerClientImpl.ts","../src/apis/processClientImpl.ts","../src/apis/registrationClientImpl.ts"],"sourcesContent":["import {\n ApiCallType,\n ProcessRequestData,\n ProcessSearchRequest,\n RenewRegistrationParams,\n UnmeshedClientConfig,\n UnmeshedWorkerConfig,\n} from \"./types\";\nimport {UnmeshedApiClient} from \"./apis/unmeshedApiClient\";\nimport {startPollingWorkers} from \"./apis/pollerClientImpl\";\nimport {\n bulkResume,\n bulkReviewed,\n bulkTerminate,\n getProcessData,\n getStepData,\n invokeApiMappingGet,\n invokeApiMappingPost,\n rerun,\n runProcessAsync,\n runProcessSync,\n searchProcessExecutions,\n} from \"./apis/processClientImpl\";\nimport {renewRegistration} from \"./apis/registrationClientImpl\";\n\n// noinspection JSUnusedGlobalSymbols\nexport class UnmeshedClient {\n private client: UnmeshedApiClient;\n\n constructor(config: UnmeshedClientConfig) {\n this.client = new UnmeshedApiClient(config);\n }\n\n startPolling(workers: UnmeshedWorkerConfig[]) {\n startPollingWorkers(this.client, workers);\n }\n\n runProcessSync(ProcessRequestData: ProcessRequestData) {\n return runProcessSync(this.client, ProcessRequestData);\n }\n\n runProcessAsync(ProcessRequestData: ProcessRequestData) {\n return runProcessAsync(this.client, ProcessRequestData);\n }\n\n getProcessData(processId: number, includeSteps: boolean) {\n return getProcessData(this.client, processId, includeSteps);\n }\n\n getStepData(stepId: number) {\n return getStepData(this.client, stepId);\n }\n\n bulkTerminate(processIds: number[], reason?: string) {\n return bulkTerminate(this.client, processIds, reason);\n }\n\n bulkResume(processIds: number[]) {\n return bulkResume(this.client, processIds);\n }\n\n bulkReviewed(processIds: number[], reason?: string) {\n return bulkReviewed(this.client, processIds, reason);\n }\n\n reRun(processId: number, clientId: string, version?: number) {\n return rerun(this.client, processId, version);\n }\n\n searchProcessExecution(params: ProcessSearchRequest) {\n return searchProcessExecutions(this.client, params);\n }\n\n invokeApiMappingGet(\n apiClient: UnmeshedApiClient,\n endpoint: string,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType\n ) {\n return invokeApiMappingGet(\n apiClient,\n endpoint,\n id,\n correlationId,\n apiCallType\n );\n }\n\n invokeApiMappingPost(\n endpoint: string,\n input: Record<string, any>,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType\n ) {\n return invokeApiMappingPost(\n this.client,\n endpoint,\n input,\n id,\n correlationId,\n apiCallType\n );\n }\n\n reNewRegistration(params: RenewRegistrationParams) {\n return renewRegistration(this.client, params);\n }\n\n}\n\nexport * from \"./types\";\n","import axios, {AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders} from \"axios\";\nimport {\n ApiResponse,\n ClientRequestConfig,\n FinalUnmeshedClientConfig,\n HandleRequestConfig,\n QueryParams,\n RequestConfig,\n UnmeshedClientConfig,\n} from \"../types\";\nimport {UnmeshedCommonUtils} from \"../utils/unmeshedCommonUtils\";\n\nexport class UnmeshedApiClient {\n\n private axiosInstance: AxiosInstance | null = null;\n private clientId: string | undefined = undefined;\n private _config: FinalUnmeshedClientConfig;\n\n constructor(unmeshedClientConfig: UnmeshedClientConfig) {\n console.log(\"Initializing Unmeshed ApiClient\");\n\n this._config = createUnmeshedClientConfig(unmeshedClientConfig);\n\n console.log(this._config);\n\n this.clientId = this._config.clientId;\n\n if (!this._config.baseUrl) {\n throw new Error(\"baseUrl is required\");\n }\n\n const baseURL = this._config.port ? `${this._config.baseUrl}:${this._config.port}` : this._config.baseUrl;\n\n this.axiosInstance = axios.create({\n baseURL,\n timeout: this._config.timeout,\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer client.sdk.${this._config.clientId}.${UnmeshedCommonUtils.createSecureHash(\n this._config.authToken\n )}`,\n } as RawAxiosRequestHeaders,\n });\n }\n\n private async handleRequest<T>({\n method,\n endpoint,\n params,\n data,\n config,\n }: HandleRequestConfig): Promise<ApiResponse<T>> {\n\n if (!this.axiosInstance) {\n throw new Error(\"ApiClient must be initialized before making requests\");\n }\n\n try {\n const response: AxiosResponse<T> = await this.axiosInstance.request<T>({\n method,\n url: endpoint,\n params,\n data,\n ...config,\n } as AxiosRequestConfig);\n\n return {\n data: response.data,\n status: response.status,\n headers: response.headers as Record<string, string>,\n };\n } catch (error) {\n if (axios.isAxiosError(error)) {\n console.error(\"Request failed:\", error.message);\n throw this.handleError(error);\n }\n console.error(\"Unexpected error:\", (error as Error).message);\n throw error;\n }\n }\n\n private handleError(error: AxiosError): Error {\n console.error(\"Error details:\", {\n message: error.message,\n status: error.response?.status,\n data: error.response?.data,\n });\n\n let response = error?.response?.data as ErrorResponse;\n if (response?.errorMessage) {\n return new Error(`${response.errorMessage} [Status code: ${error.response?.status || ''}]`)\n }\n\n return new Error(error.message, {cause: error.response?.data || {}});\n }\n\n public async get<T = any>(\n endpoint: string,\n params?: QueryParams,\n config?: RequestConfig\n ): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: \"get\",\n endpoint: endpoint,\n params: params,\n config: config,\n });\n }\n\n public async post<T = any>(\n endpoint: string,\n clientRequestConfig: ClientRequestConfig\n ): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: \"post\",\n endpoint: endpoint,\n ...clientRequestConfig,\n });\n }\n\n public async put<T = any>(\n endpoint: string,\n clientRequestConfig: ClientRequestConfig\n ): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: \"put\",\n endpoint: endpoint,\n ...clientRequestConfig,\n });\n }\n\n public async delete<T = any>(\n endpoint: string,\n clientRequestConfig: ClientRequestConfig\n ): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: \"delete\",\n endpoint: endpoint,\n ...clientRequestConfig,\n });\n }\n\n public getClientId(): string | undefined {\n return this.clientId;\n }\n\n\n get config(): FinalUnmeshedClientConfig {\n return this._config;\n }\n}\n\ninterface ErrorResponse {\n errorMessage?: string;\n [key: string]: any; // To allow other unexpected properties\n}\n\nexport function createUnmeshedClientConfig(config: UnmeshedClientConfig): Required<FinalUnmeshedClientConfig> {\n return {\n baseUrl: config.baseUrl,\n clientId: config.clientId,\n authToken: config.authToken,\n port: config.port ?? 443,\n timeout: config.timeout ?? 5000,\n pollInterval: config.pollInterval ?? 100,\n apiWorkerTimeout: config.apiWorkerTimeout ?? 10000,\n pollTimeout: config.pollTimeout ?? 10000,\n responsePollInterval: config.responsePollInterval ?? 100,\n responsePollTimeout: config.responsePollTimeout ?? 10000,\n responseBatchSize: config.responseBatchSize ?? 50,\n };\n}\n","import { createHash } from \"crypto\";\n\nexport class UnmeshedCommonUtils {\n static createSecureHash(input: string): string {\n try {\n const hash = createHash(\"sha256\");\n hash.update(input, \"utf8\");\n return hash.digest(\"hex\");\n } catch (e) {\n throw new Error(\"Error creating hash\");\n }\n }\n}\n","import { AxiosRequestConfig } from \"axios\";\n\nexport enum ApiCallType {\n SYNC = \"SYNC\",\n ASYNC = \"ASYNC\",\n STREAM = \"STREAM\",\n}\n\nexport interface ApiMappingData {\n endpoint: string;\n processDefNamespace: string;\n processDefName: string;\n processDefVersion: number;\n authType: string;\n authClaims: string;\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n}\n\nexport type ApiMappingWebhookData = {\n endpoint: string;\n name: string;\n uniqueId: string;\n urlSecret: string;\n description: string;\n userIdentifier: string;\n webhookSource: WebhookSource;\n webhookSourceConfig: Record<string, string>;\n expiryDate: Date;\n userType: SQAuthUserType;\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n};\n\nexport enum WebhookSource {\n MS_TEAMS = \"MS_TEAMS\",\n NOT_DEFINED = \"NOT_DEFINED\",\n}\n\nexport enum SQAuthUserType {\n USER = \"USER\",\n API = \"API\",\n INTERNAL = \"INTERNAL\",\n}\n\nexport enum StepType {\n WORKER = \"WORKER\",\n HTTP = \"HTTP\",\n WAIT = \"WAIT\",\n FAIL = \"FAIL\",\n PYTHON = \"PYTHON\",\n JAVASCRIPT = \"JAVASCRIPT\",\n JQ = \"JQ\",\n MANAGED = \"MANAGED\",\n BUILTIN = \"BUILTIN\",\n NOOP = \"NOOP\",\n PERSISTED_STATE = \"PERSISTED_STATE\",\n DEPENDSON = \"DEPENDSON\",\n INTEGRATION = \"INTEGRATION\",\n EXIT = \"EXIT\",\n SUB_PROCESS = \"SUB_PROCESS\",\n LIST = \"LIST\",\n PARALLEL = \"PARALLEL\",\n FOREACH = \"FOREACH\",\n SWITCH = \"SWITCH\",\n}\n\nexport enum StepStatus {\n PENDING = \"PENDING\",\n SCHEDULED = \"SCHEDULED\",\n RUNNING = \"RUNNING\",\n PAUSED = \"PAUSED\",\n COMPLETED = \"COMPLETED\",\n FAILED = \"FAILED\",\n TIMED_OUT = \"TIMED_OUT\",\n SKIPPED = \"SKIPPED\",\n CANCELLED = \"CANCELLED\",\n}\n\nexport enum ProcessStatus {\n RUNNING = \"RUNNING\",\n COMPLETED = \"COMPLETED\",\n FAILED = \"FAILED\",\n TIMED_OUT = \"TIMED_OUT\",\n CANCELLED = \"CANCELLED\",\n TERMINATED = \"TERMINATED\",\n REVIEWED = \"REVIEWED\",\n}\n\nexport enum ProcessTriggerType {\n MANUAL = \"MANUAL\",\n SCHEDULED = \"SCHEDULED\",\n API_MAPPING = \"API_MAPPING\",\n WEBHOOK = \"WEBHOOK\",\n API = \"API\",\n SUB_PROCESS = \"SUB_PROCESS\",\n}\n\nexport enum ProcessType {\n STANDARD = \"STANDARD\",\n DYNAMIC = \"DYNAMIC\",\n API_ORCHESTRATION = \"API_ORCHESTRATION\",\n INTERNAL = \"INTERNAL\",\n}\n\nexport type ClientProfileData = {\n clientId: string;\n ipAddress: string;\n friendlyName: string;\n userIdentifier: string;\n stepQueueNames: StepQueueNameData[];\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n expiryDate: Date;\n};\n\nexport type FullClientProfileData = {\n clientId: string;\n ipAddress: string;\n friendlyName: string;\n userIdentifier: string;\n stepQueueNames: StepQueueNameData[];\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n expiryDate: Date;\n tokenValue: string;\n};\n\nexport type StepQueueNameData = {\n orgId: number;\n namespace: string;\n stepType: StepType;\n name: string;\n};\n\nexport type ProcessActionResponseData = {\n count: number;\n details: ProcessActionResponseDetailData[];\n};\n\nexport type ProcessActionResponseDetailData = {\n id: string;\n message: string;\n error: string;\n};\n\nexport type ProcessData = {\n processId: number;\n processType: ProcessType;\n triggerType: ProcessTriggerType;\n namespace: string;\n name: string;\n version: number | null;\n historyId: number | null;\n requestId: string;\n correlationId: string;\n status: ProcessStatus;\n input: Record<string, unknown>;\n output: Record<string, unknown>;\n authClaims: Record<string, unknown>;\n stepIdCount: number | null;\n shardName: string;\n shardInstanceId: number | null;\n steps: StepId[];\n stepRecords: StepData[];\n created: number;\n updated: number;\n createdBy: string;\n};\n\n\nexport type StepData = {\n id: number;\n processId: number;\n ref: string;\n parentId: number | null;\n parentRef: string | null;\n namespace: string;\n name: string;\n type: StepType;\n stepDefinitionHistoryId: number | null;\n status: StepStatus;\n input: Record<string, unknown>;\n output: Record<string, unknown>;\n workerId: string;\n start: number;\n schedule: number;\n priority: number;\n updated: number;\n optional: boolean;\n executionList: StepExecutionData[];\n};\n\nexport type StepExecutionData = {\n id: number;\n scheduled: number;\n polled: number;\n start: number;\n updated: number;\n executor: string;\n ref: string;\n runs: number;\n output: Record<string, unknown>;\n};\n\nexport type StepId = {\n id: number;\n processId: number;\n ref: string;\n};\n\nexport type ProcessRequestData = {\n name: string;\n namespace: string;\n version: number | null;\n requestId: string;\n correlationId: string;\n input: Record<string, unknown>;\n};\n\nexport type ProcessSearchRequest = {\n startTimeEpoch: number;\n endTimeEpoch?: number | null;\n namespace: string;\n processTypes: ProcessType[];\n triggerTypes: ProcessTriggerType[];\n names: string[];\n processIds: number[];\n correlationIds: string[];\n requestIds: string[];\n statuses: ProcessStatus[];\n limit: number;\n offset: number;\n};\n\nexport type StepSize = {\n stepQueueNameData: StepQueueNameData;\n size: number | null;\n};\n\nexport type ClientSubmitResult = {\n processId: number;\n stepId: number;\n errorMessage: string | null;\n httpStatusCode: number | null;\n};\n\nexport type WorkRequest = {\n processId: number;\n stepId: number;\n stepExecutionId: number;\n runCount: number;\n stepName: string;\n stepNamespace: string;\n stepRef: string;\n inputParam: Record<string, unknown>;\n isOptional: boolean;\n polled: number;\n scheduled: number;\n updated: number;\n priority: number;\n};\n\nexport type WorkResponse = {\n processId: number;\n stepId: number;\n stepExecutionId: number;\n runCount: number;\n output: Record<string, unknown>;\n status: StepStatus;\n rescheduleAfterSeconds: number | null;\n startedAt: number;\n};\n\nexport type WorkResult = {\n output: unknown;\n taskExecutionId: string;\n startTime: number;\n endTime: number;\n workRequest: WorkRequest;\n};\n\nexport interface FinalUnmeshedClientConfig {\n baseUrl: string;\n clientId: string;\n authToken: string;\n port: string | number;\n timeout: number;\n apiWorkerTimeout: number;\n pollTimeout: number;\n pollInterval: number;\n responsePollInterval: number;\n responsePollTimeout: number;\n responseBatchSize: number;\n}\n\nexport interface UnmeshedClientConfig {\n baseUrl: string;\n clientId: string;\n authToken: string;\n port: string | number;\n timeout?: number;\n apiWorkerTimeout?: number;\n pollTimeout?: number;\n pollInterval?: number;\n responsePollInterval?: number;\n responsePollTimeout?: number;\n responseBatchSize?: number;\n}\n\nexport interface ApiResponse<T = any> {\n data: T;\n status: number;\n headers: Record<string, string>;\n}\n\nexport interface ApiError extends Error {\n status?: number;\n response?: {\n data?: any;\n status: number;\n headers: Record<string, string>;\n };\n}\n\nexport interface QueryParams {\n [key: string]: string | number | boolean | undefined;\n}\n\nexport interface RequestConfig\n extends Omit<AxiosRequestConfig, \"baseURL\" | \"url\" | \"method\"> {\n headers?: Record<string, string>;\n}\n\nexport interface HandleRequestConfig {\n method: \"get\" | \"post\" | \"put\" | \"delete\";\n endpoint: string;\n params?: QueryParams;\n data?: Record<string, unknown>;\n config?: RequestConfig;\n}\n\nexport interface ClientRequestConfig {\n params?: QueryParams;\n data?: any;\n config?: RequestConfig;\n}\n\ninterface UnmeshedWorker {\n (input: Record<string, any>): Promise<any>;\n}\n\nexport interface UnmeshedWorkerConfig {\n worker: UnmeshedWorker;\n namespace: string;\n name: string;\n maxInProgress: number;\n}\n\nexport interface PollRequestData {\n stepQueueNameData: StepQueueNameData;\n size: number;\n}\nexport interface RenewRegistrationParams {\n friendlyName: string;\n}\n","export type WorkerFunction<T> = (items: T[]) => Promise<void>;\n\nexport class QueuedWorker<T> {\n\n private readonly queue: BlockingQueue<T>;\n private readonly pollIntervalMs: number;\n private readonly batchSize: number;\n private readonly workerFn: WorkerFunction<T>;\n private readonly timeoutMs: number;\n\n constructor(\n capacity: number,\n pollIntervalMs: number,\n batchSize: number,\n workerFn: WorkerFunction<T>,\n timeoutMs: number\n ) {\n this.queue = new BlockingQueue<T>(capacity);\n this.pollIntervalMs = pollIntervalMs;\n this.batchSize = batchSize;\n this.workerFn = workerFn;\n this.timeoutMs = timeoutMs;\n\n console.log(`Configured queued worker with ${pollIntervalMs} ms interval and batch size of ${batchSize} and a timeout of ${timeoutMs} ms`);\n // noinspection JSIgnoredPromiseFromCall\n this.start();\n }\n\n async start(): Promise<void> {\n let errorCount = 0;\n // noinspection InfiniteLoopJS\n while (true) {\n try {\n const batch = await this.queue.takeBatch(this.batchSize);\n if(batch.length > 0) {\n console.log(`Batch work ${batch.length} received`);\n await this.runWithTimeout(this.workerFn(batch), this.timeoutMs);\n }\n } catch (error) {\n errorCount++;\n console.error(`Error processing batch - error count : ${errorCount} - `, error);\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n await new Promise((resolve) => setTimeout(resolve, this.pollIntervalMs));\n }\n }\n\n private async runWithTimeout(task: Promise<void>, timeoutMs: number): Promise<void> {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => reject(new Error(\"Task timed out\")), timeoutMs);\n task.then(() => {\n clearTimeout(timeout);\n resolve();\n }).catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n }\n\n async put(item: T): Promise<void> {\n await this.queue.put(item);\n }\n\n}\n\n\nclass BlockingQueue<T> {\n private queue: T[] = [];\n private readonly capacity: number;\n\n constructor(capacity: number) {\n if (capacity <= 0) {\n throw new Error(\"Capacity must be greater than 0\");\n }\n this.capacity = capacity;\n }\n\n async put(item: T): Promise<void> {\n while (this.queue.length >= this.capacity) {\n await new Promise((resolve) => setTimeout(resolve, 10));\n }\n this.queue.push(item);\n }\n\n async takeBatch(batchSize: number): Promise<T[]> {\n while (this.queue.length === 0) {\n await new Promise((resolve) => setTimeout(resolve, 10));\n }\n return this.queue.splice(0, batchSize);\n }\n\n size(): number {\n return this.queue.length;\n }\n\n isEmpty(): boolean {\n return this.queue.length === 0;\n }\n\n peek(): T | undefined {\n return this.queue[0];\n }\n}\n","import {\n ApiResponse,\n PollRequestData,\n StepQueueNameData,\n StepStatus,\n UnmeshedWorkerConfig,\n WorkRequest,\n WorkResponse,\n} from \"../types\";\nimport {UnmeshedApiClient} from \"./unmeshedApiClient\";\nimport {QueuedWorker} from \"./queuedWorker\";\n\nasync function registerPolling(\n apiClient: UnmeshedApiClient,\n data: StepQueueNameData[]\n) {\n const attempt = async (): Promise<any> => {\n try {\n const response = await apiClient.put(`/api/clients/register`, {\n data: data,\n });\n console.log(\"Successfully renewed registration for workers\", data);\n return response.data;\n } catch {\n console.error(\n \"An error occurred during polling registration. Retrying in 3 seconds...\"\n );\n await new Promise((resolve) => setTimeout(resolve, 3000));\n return attempt();\n }\n };\n\n return attempt();\n}\n\nasync function pollWorker(apiClient: UnmeshedApiClient, data: PollRequestData[]): Promise<WorkRequest[]> {\n try {\n const response: ApiResponse<WorkRequest[]> = await apiClient.post(`/api/clients/poll`, {data: data});\n if(response.data && response.data.length > 0) {\n console.log(`Received ${response.data.length} work requests`);\n }\n return response.data;\n } catch (error) {\n console.error(\"Error occurred during worker polling\", error);\n }\n}\n\nasync function postWorkerResponse(apiClient: UnmeshedApiClient, workResponses: WorkResponse[]) {\n try {\n if (workResponses.length > 0) {\n const grouped: Record<StepStatus, number[]> = workResponses.reduce((acc, response) => {\n if (!acc[response.status]) {\n acc[response.status] = [];\n }\n acc[response.status].push(response.stepId);\n return acc;\n }, {} as Record<StepStatus, number[]>);\n const resultString = Object.entries(grouped)\n .map(([status, stepIds]) => `${status}: [${stepIds.join(\", \")}]`)\n .join(\", \");\n console.log(`Posting response of size: ${workResponses.length} including ids: ${resultString}`)\n const response = await apiClient.post(`/api/clients/bulkResults`, {\n data: workResponses,\n });\n return response.data;\n }\n return {};\n } catch (error) {\n console.log(\"Error:\", error);\n }\n}\n\nasync function runPollWithTimeout(task: Promise<WorkRequest[]>, timeoutMs: number): Promise<WorkRequest[]> {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => reject(new Error(\"Task timed out\")), timeoutMs);\n task.then((workRequests) => {\n clearTimeout(timeout);\n resolve(workRequests);\n }).catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n}\n\nexport const continuePolling: { value: boolean } = {\n value: true,\n};\n\nexport async function pollForWorkers(\n apiClient: UnmeshedApiClient,\n workers: UnmeshedWorkerConfig[]\n) {\n\n const queuedWorker: QueuedWorker<WorkResponse> = new QueuedWorker<WorkResponse>(\n 100000,\n apiClient.config.responsePollInterval,\n apiClient.config.responseBatchSize,\n async (batchWork: WorkResponse[]) => {\n await postWorkerResponse(apiClient, batchWork);\n },\n apiClient.config.responsePollTimeout,\n );\n\n const registerPollingData = workers.map((worker) => {\n return {\n orgId: 0,\n namespace: worker.namespace,\n stepType: \"WORKER\",\n name: worker.name,\n } as StepQueueNameData;\n });\n\n await registerPolling(apiClient, registerPollingData);\n\n const pollWorkerData = workers.map((worker) => {\n return {\n stepQueueNameData: {\n orgId: 0,\n namespace: worker.namespace,\n stepType: \"WORKER\",\n name: worker.name,\n },\n size: worker.maxInProgress,\n } as PollRequestData;\n });\n\n let errorCount = 0;\n // noinspection InfiniteLoopJS\n while (continuePolling.value) {\n try {\n const workRequests: WorkRequest[] = await runPollWithTimeout(pollWorker(apiClient, pollWorkerData), apiClient.config.pollTimeout);\n for (const polledWorker of workRequests) {\n const associatedWorker: UnmeshedWorkerConfig | undefined = workers.find(\n (worker) =>\n worker.name === polledWorker.stepName &&\n worker.namespace === polledWorker.stepNamespace\n );\n\n let workerResponse: WorkResponse = {\n processId: polledWorker.processId,\n stepId: polledWorker.stepId,\n stepExecutionId: polledWorker.stepExecutionId,\n runCount: polledWorker.runCount,\n output: {},\n status: StepStatus.RUNNING,\n rescheduleAfterSeconds: null,\n startedAt: new Date().getTime(),\n };\n\n if (!associatedWorker) {\n workerResponse = {\n ...workerResponse,\n output: {\n error: `No worker found for ${polledWorker.stepName} ${polledWorker.stepNamespace}`,\n },\n status: StepStatus.TIMED_OUT,\n };\n await queuedWorker.put(workerResponse);\n continue;\n }\n\n const TIMEOUT = apiClient.config.apiWorkerTimeout;\n\n const timeoutPromise = new Promise((_, reject) => {\n setTimeout(() => reject(new Error(\"Timed out\")), TIMEOUT);\n });\n\n try {\n console.log(`Starting work ${polledWorker.processId} : ${polledWorker.stepId} : ${polledWorker.stepName} : ${polledWorker.stepRef}`);\n const result = await Promise.race([\n associatedWorker.worker(polledWorker.inputParam),\n timeoutPromise,\n ]);\n\n workerResponse = {\n ...workerResponse,\n output: {\n ...result,\n __workCompletedAt: new Date().getTime(),\n },\n status: StepStatus.COMPLETED,\n };\n } catch (error: unknown) {\n const err = error as Error;\n if (err.message && err.message === \"Timed out\") {\n workerResponse = {\n ...workerResponse,\n output: {\n error: `${err.message} based on work timeout settings in worker - ${apiClient.config.apiWorkerTimeout} ms`,\n },\n status: StepStatus.TIMED_OUT,\n };\n } else {\n workerResponse = {\n ...workerResponse,\n output: {\n error: safeStringifyError(err)\n },\n status: StepStatus.FAILED,\n };\n console.error(\"Error:\", err.message);\n }\n }\n await queuedWorker.put(workerResponse);\n }\n await new Promise((resolve) => setTimeout(resolve, apiClient.config.pollInterval));\n } catch (error) {\n errorCount++;\n console.error(`Error processing batch - error count : ${errorCount} - `, error);\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n }\n}\n\nfunction safeStringifyError(error) {\n try {\n if (error instanceof Error) {\n const plainError = {\n name: error.name,\n message: error.message,\n stack: error.stack,\n ...error, // Include enumerable custom properties if they exist\n };\n return JSON.stringify(plainError);\n }\n return JSON.stringify(error);\n } catch (stringifyError) {\n return `Error stringification failed: ${stringifyError.message}`;\n }\n}\n\nexport async function startPollingWorkers(\n apiClient: UnmeshedApiClient,\n workers: UnmeshedWorkerConfig[],\n intervalMs: number = 5000\n) {\n async function pollCycle() {\n try {\n await pollForWorkers(apiClient, workers);\n } catch (error) {\n console.error(\"Error during worker polling:\", error);\n }\n\n setTimeout(pollCycle, intervalMs);\n }\n\n await pollCycle();\n}\n","import {\n ApiCallType,\n ProcessActionResponseData,\n ProcessData,\n ProcessRequestData,\n ProcessSearchRequest,\n StepData,\n} from \"../types\";\nimport {isAxiosError} from \"axios\";\nimport {UnmeshedApiClient} from \"./unmeshedApiClient\";\n\nconst PROCESS_PREFIX = \"api/process\";\n\nexport const runProcessSync = async (\n apiClient: UnmeshedApiClient,\n ProcessRequestData: ProcessRequestData\n): Promise<ProcessData> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/runSync`, {\n data: ProcessRequestData,\n params: {\n clientId: apiClient.getClientId(),\n },\n });\n console.log(\"Response:\", response);\n return response.data;\n } catch (error) {\n console.error(\"Some error occurred running process request : \", error);\n throw error;\n }\n};\n\nexport const runProcessAsync = async (\n apiClient: UnmeshedApiClient,\n ProcessRequestData: ProcessRequestData\n): Promise<ProcessData> => {\n try {\n const response = await apiClient.post(\n `${PROCESS_PREFIX}/runAsync`,\n {\n data: ProcessRequestData,\n params: {\n clientId: apiClient.getClientId(),\n },\n }\n );\n console.log(\"Response:\", response);\n return response.data;\n } catch (error) {\n console.error(\"Some error occurred running process request : \", error);\n throw error;\n }\n};\n\nexport const getProcessData = async (\n apiClient: UnmeshedApiClient,\n processId: number,\n includeSteps: boolean = false\n): Promise<ProcessData> => {\n if (!processId) {\n throw new Error(\"Process ID cannot be null\");\n }\n try {\n const response = await apiClient.get<ProcessData>(\n `${PROCESS_PREFIX}/context/${processId}`,\n {includeSteps}\n );\n return response.data;\n } catch (error) {\n console.error(\"Error occurred while fetching process record: \", error);\n throw error;\n }\n};\n\nexport const getStepData = async (\n apiClient: UnmeshedApiClient,\n stepId: number\n): Promise<StepData> => {\n if (!stepId) {\n throw new Error(\"Step ID cannot be null or undefined\");\n }\n try {\n const response = await apiClient.get<StepData>(\n `${PROCESS_PREFIX}/stepContext/${stepId}`\n );\n return response.data;\n } catch (error) {\n console.log(\"Error occurred while getStepData: \", error);\n throw error\n }\n};\n\nexport const bulkTerminate = async (\n apiClient: UnmeshedApiClient,\n processIds: number[],\n reason?: string\n): Promise<ProcessActionResponseData> => {\n try {\n const response = await apiClient.post(\n `${PROCESS_PREFIX}/bulkTerminate`,\n {\n params: {reason},\n data: processIds,\n }\n );\n return response.data as ProcessActionResponseData;\n } catch (error) {\n const err = error as Error;\n throw new Error(\n `Error occurred while terminating processes: ${err.message || error}`\n );\n }\n};\n\nexport const bulkResume = async (\n apiClient: UnmeshedApiClient,\n processIds: number[]\n): Promise<ProcessActionResponseData> => {\n try {\n const response = await apiClient.post(\n `${PROCESS_PREFIX}/bulkResume`,\n {\n data: processIds,\n }\n );\n return response.data as ProcessActionResponseData;\n } catch (error) {\n const err = error as Error;\n throw new Error(\n `Error occurred while resuming processes: ${err.message || error}`\n );\n }\n};\n\nexport const bulkReviewed = async (\n apiClient: UnmeshedApiClient,\n processIds: number[],\n reason?: string\n): Promise<ProcessActionResponseData> => {\n try {\n const response = await apiClient.post(\n `${PROCESS_PREFIX}/bulkReviewed`,\n {\n data: processIds,\n params: {reason},\n }\n );\n return response.data as ProcessActionResponseData;\n } catch (error) {\n const err = error as Error;\n throw new Error(\n `Error occurred while marking processes as reviewed: ${\n err.message || error\n }`\n );\n }\n};\n\nexport const rerun = async (\n apiClient: UnmeshedApiClient,\n processId: number,\n version?: number\n): Promise<ProcessData> => {\n const params: Record<string, any> = {\n processId,\n };\n\n if (version !== undefined) {\n params[\"version\"] = version;\n }\n\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/rerun`, {\n params,\n });\n\n return response.data as ProcessData;\n } catch (error) {\n if (isAxiosError(error)) {\n throw new Error(\n `HTTP request error during rerun process: ${error.response?.status} - ${error.response?.data}`\n );\n } else {\n const err = error as Error;\n throw new Error(\n `Unexpected error during rerun process: ${err.message || err}`\n );\n }\n }\n};\n\nexport const searchProcessExecutions = async (\n apiClient: UnmeshedApiClient,\n params: ProcessSearchRequest\n) => {\n const queryParams = new URLSearchParams();\n\n if (params.startTimeEpoch !== undefined && params.startTimeEpoch !== 0)\n queryParams.set(\"startTimeEpoch\", params.startTimeEpoch.toString());\n if (params.endTimeEpoch !== undefined && params.endTimeEpoch !== 0)\n queryParams.set(\"endTimeEpoch\", (params.endTimeEpoch || 0).toString());\n if (params.namespace) queryParams.set(\"namespace\", params.namespace);\n if (params.names && params.names.length)\n queryParams.set(\"names\", params.names.join(\",\"));\n if (params.processIds && params.processIds.length)\n queryParams.set(\"processIds\", params.processIds.join(\",\"));\n if (params.correlationIds && params.correlationIds.length)\n queryParams.set(\"correlationIds\", params.correlationIds.join(\",\"));\n if (params.requestIds && params.requestIds.length)\n queryParams.set(\"requestIds\", params.requestIds.join(\",\"));\n if (params.statuses && params.statuses.length)\n queryParams.set(\"statuses\", params.statuses.join(\",\"));\n if (params.triggerTypes && params.triggerTypes.length)\n queryParams.set(\"triggerTypes\", params.triggerTypes.join(\",\"));\n\n const updatedParams = Object.fromEntries(new URLSearchParams(queryParams));\n\n try {\n const response = await apiClient.get(\n `${PROCESS_PREFIX}/api/stats/process/search`,\n updatedParams\n );\n console.log(\"Response:\", response);\n return response.data;\n } catch (error) {\n console.error(\"Error occurred while searching process executions: \", error);\n throw error;\n }\n};\n\nexport const invokeApiMappingGet = async (\n apiClient: UnmeshedApiClient,\n endpoint: string,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType\n) => {\n try {\n const response = await apiClient.get(\n `${PROCESS_PREFIX}/api/call/${endpoint}`,\n {\n id: id,\n correlationId: correlationId,\n apiCallType,\n }\n );\n console.log(\"Response:\", response);\n return response.data;\n } catch (error) {\n console.error(\"Error occurred while invoking API Mapping GET: \", error);\n throw error;\n }\n};\n\nexport const invokeApiMappingPost = async (\n apiClient: UnmeshedApiClient,\n endpoint: string,\n input: Record<string, any>,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType = ApiCallType.ASYNC\n): Promise<any> => {\n try {\n const response = await apiClient.post(\n `${PROCESS_PREFIX}/api/call/${endpoint}`,\n {\n data: input,\n params: {\n id: id,\n correlationId: correlationId,\n apiCallType,\n },\n }\n );\n\n return response.data;\n } catch (error) {\n console.error(\"Error occurred while invoking API Mapping POST: \", error);\n throw error;\n }\n};\n","import { RenewRegistrationParams } from \"../types\";\nimport { UnmeshedApiClient } from \"./unmeshedApiClient\";\n\nexport const renewRegistration = async (\n apiClient: UnmeshedApiClient,\n params: RenewRegistrationParams\n): Promise<string> => {\n try {\n const response = await apiClient.put(\"/api/clients/register\", {\n params: { ...params },\n });\n console.debug(\"Response from server:\", response);\n return response.data;\n } catch (error) {\n console.error(\"Error occurred during registration renewal:\", error);\n throw error;\n }\n};\n"],"mappings":"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","names":["axios","ApiCallType","WebhookSource","SQAuthUserType","StepType","StepStatus","ProcessStatus","ProcessTriggerType","ProcessType","response","import_axios","ProcessRequestData","ProcessRequestData"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/apis/unmeshedApiClient.ts","../src/utils/unmeshedCommonUtils.ts","../src/types/index.ts","../src/apis/queuedWorker.ts","../src/apis/pollerClientImpl.ts","../src/apis/processClientImpl.ts","../src/apis/registrationClientImpl.ts"],"sourcesContent":["import {\n ApiCallType,\n ProcessRequestData,\n ProcessSearchRequest,\n RenewRegistrationParams,\n UnmeshedClientConfig,\n UnmeshedWorkerConfig,\n} from './types';\nimport { UnmeshedApiClient } from './apis/unmeshedApiClient';\nimport { startPollingWorkers } from './apis/pollerClientImpl';\nimport {\n bulkResume,\n bulkReviewed,\n bulkTerminate,\n getProcessData,\n getStepData,\n invokeApiMappingGet,\n invokeApiMappingPost,\n rerun,\n runProcessAsync,\n runProcessSync,\n searchProcessExecutions,\n} from './apis/processClientImpl';\nimport { renewRegistration } from './apis/registrationClientImpl';\n\n// noinspection JSUnusedGlobalSymbols\nexport class UnmeshedClient {\n private client: UnmeshedApiClient;\n\n constructor(config: UnmeshedClientConfig) {\n this.client = new UnmeshedApiClient(config);\n }\n\n startPolling(workers: UnmeshedWorkerConfig[]) {\n startPollingWorkers(this.client, workers);\n }\n\n runProcessSync(ProcessRequestData: ProcessRequestData) {\n return runProcessSync(this.client, ProcessRequestData);\n }\n\n runProcessAsync(ProcessRequestData: ProcessRequestData) {\n return runProcessAsync(this.client, ProcessRequestData);\n }\n\n getProcessData(processId: number, includeSteps: boolean) {\n return getProcessData(this.client, processId, includeSteps);\n }\n\n getStepData(stepId: number) {\n return getStepData(this.client, stepId);\n }\n\n bulkTerminate(processIds: number[], reason?: string) {\n return bulkTerminate(this.client, processIds, reason);\n }\n\n bulkResume(processIds: number[]) {\n return bulkResume(this.client, processIds);\n }\n\n bulkReviewed(processIds: number[], reason?: string) {\n return bulkReviewed(this.client, processIds, reason);\n }\n\n reRun(processId: number, version?: number) {\n return rerun(this.client, processId, version);\n }\n\n searchProcessExecution(params: ProcessSearchRequest) {\n return searchProcessExecutions(this.client, params);\n }\n\n invokeApiMappingGet(\n apiClient: UnmeshedApiClient,\n endpoint: string,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType\n ) {\n return invokeApiMappingGet(apiClient, endpoint, id, correlationId, apiCallType);\n }\n\n invokeApiMappingPost(\n endpoint: string,\n input: Record<string, any>,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType\n ) {\n return invokeApiMappingPost(this.client, endpoint, input, id, correlationId, apiCallType);\n }\n\n reNewRegistration(params: RenewRegistrationParams) {\n return renewRegistration(this.client, params);\n }\n}\n\nexport * from './types';\n","import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders } from 'axios';\nimport {\n ApiResponse,\n ClientRequestConfig,\n FinalUnmeshedClientConfig,\n HandleRequestConfig,\n QueryParams,\n RequestConfig,\n UnmeshedClientConfig,\n} from '../types';\nimport { UnmeshedCommonUtils } from '../utils/unmeshedCommonUtils';\n\nexport class UnmeshedApiClient {\n private axiosInstance: AxiosInstance | null = null;\n private clientId: string | undefined = undefined;\n private _config: FinalUnmeshedClientConfig;\n\n constructor(unmeshedClientConfig: UnmeshedClientConfig) {\n console.log('Initializing Unmeshed ApiClient');\n\n this._config = createUnmeshedClientConfig(unmeshedClientConfig);\n\n console.log(this._config);\n\n this.clientId = this._config.clientId;\n\n if (!this._config.baseUrl) {\n throw new Error('baseUrl is required');\n }\n\n const baseURL = this._config.port ? `${this._config.baseUrl}:${this._config.port}` : this._config.baseUrl;\n\n this.axiosInstance = axios.create({\n baseURL,\n timeout: this._config.timeout,\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer client.sdk.${this._config.clientId}.${UnmeshedCommonUtils.createSecureHash(\n this._config.authToken\n )}`,\n } as RawAxiosRequestHeaders,\n });\n }\n\n private async handleRequest<T>({\n method,\n endpoint,\n params,\n data,\n config,\n }: HandleRequestConfig): Promise<ApiResponse<T>> {\n if (!this.axiosInstance) {\n throw new Error('ApiClient must be initialized before making requests');\n }\n\n try {\n const response: AxiosResponse<T> = await this.axiosInstance.request<T>({\n method,\n url: endpoint,\n params,\n data,\n ...config,\n } as AxiosRequestConfig);\n\n return {\n data: response.data,\n status: response.status,\n headers: response.headers as Record<string, string>,\n };\n } catch (error) {\n if (axios.isAxiosError(error)) {\n console.error('Request failed:', error.message);\n throw this.handleError(error);\n }\n console.error('Unexpected error:', (error as Error).message);\n throw error;\n }\n }\n\n private handleError(error: AxiosError): Error {\n console.error('Error details:', {\n message: error.message,\n status: error.response?.status,\n data: error.response?.data,\n });\n\n let response = error?.response?.data as ErrorResponse;\n if (response?.errorMessage) {\n return new Error(`${response.errorMessage} [Status code: ${error.response?.status || ''}]`);\n }\n\n return new Error(error.message, { cause: error.response?.data || {} });\n }\n\n public async get<T = any>(endpoint: string, params?: QueryParams, config?: RequestConfig): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: 'get',\n endpoint: endpoint,\n params: params,\n config: config,\n });\n }\n\n public async post<T = any>(endpoint: string, clientRequestConfig: ClientRequestConfig): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: 'post',\n endpoint: endpoint,\n ...clientRequestConfig,\n });\n }\n\n public async put<T = any>(endpoint: string, clientRequestConfig: ClientRequestConfig): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: 'put',\n endpoint: endpoint,\n ...clientRequestConfig,\n });\n }\n\n public async delete<T = any>(endpoint: string, clientRequestConfig: ClientRequestConfig): Promise<ApiResponse<T>> {\n return this.handleRequest<T>({\n method: 'delete',\n endpoint: endpoint,\n ...clientRequestConfig,\n });\n }\n\n public getClientId(): string | undefined {\n return this.clientId;\n }\n\n get config(): FinalUnmeshedClientConfig {\n return this._config;\n }\n}\n\ninterface ErrorResponse {\n errorMessage?: string;\n [key: string]: any; // To allow other unexpected properties\n}\n\nexport function createUnmeshedClientConfig(config: UnmeshedClientConfig): Required<FinalUnmeshedClientConfig> {\n return {\n baseUrl: config.baseUrl,\n clientId: config.clientId,\n authToken: config.authToken,\n port: config.port ?? 443,\n timeout: config.timeout ?? 5000,\n pollInterval: config.pollInterval ?? 100,\n apiWorkerTimeout: config.apiWorkerTimeout ?? 10000,\n pollTimeout: config.pollTimeout ?? 10000,\n responsePollInterval: config.responsePollInterval ?? 100,\n responsePollTimeout: config.responsePollTimeout ?? 10000,\n responseBatchSize: config.responseBatchSize ?? 50,\n };\n}\n","import { createHash } from 'crypto';\n\nexport class UnmeshedCommonUtils {\n static createSecureHash(input: string): string {\n try {\n const hash = createHash('sha256');\n hash.update(input, 'utf8');\n return hash.digest('hex');\n } catch (e) {\n throw new Error('Error creating hash');\n }\n }\n}\n","import { AxiosRequestConfig } from 'axios';\n\nexport enum ApiCallType {\n SYNC = 'SYNC',\n ASYNC = 'ASYNC',\n STREAM = 'STREAM',\n}\n\nexport interface ApiMappingData {\n endpoint: string;\n processDefNamespace: string;\n processDefName: string;\n processDefVersion: number;\n authType: string;\n authClaims: string;\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n}\n\nexport type ApiMappingWebhookData = {\n endpoint: string;\n name: string;\n uniqueId: string;\n urlSecret: string;\n description: string;\n userIdentifier: string;\n webhookSource: WebhookSource;\n webhookSourceConfig: Record<string, string>;\n expiryDate: Date;\n userType: SQAuthUserType;\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n};\n\nexport enum WebhookSource {\n MS_TEAMS = 'MS_TEAMS',\n NOT_DEFINED = 'NOT_DEFINED',\n}\n\nexport enum SQAuthUserType {\n USER = 'USER',\n API = 'API',\n INTERNAL = 'INTERNAL',\n}\n\nexport enum StepType {\n WORKER = 'WORKER',\n HTTP = 'HTTP',\n WAIT = 'WAIT',\n FAIL = 'FAIL',\n PYTHON = 'PYTHON',\n JAVASCRIPT = 'JAVASCRIPT',\n JQ = 'JQ',\n MANAGED = 'MANAGED',\n BUILTIN = 'BUILTIN',\n NOOP = 'NOOP',\n PERSISTED_STATE = 'PERSISTED_STATE',\n DEPENDSON = 'DEPENDSON',\n INTEGRATION = 'INTEGRATION',\n EXIT = 'EXIT',\n SUB_PROCESS = 'SUB_PROCESS',\n LIST = 'LIST',\n PARALLEL = 'PARALLEL',\n FOREACH = 'FOREACH',\n SWITCH = 'SWITCH',\n}\n\nexport enum StepStatus {\n PENDING = 'PENDING',\n SCHEDULED = 'SCHEDULED',\n RUNNING = 'RUNNING',\n PAUSED = 'PAUSED',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n TIMED_OUT = 'TIMED_OUT',\n SKIPPED = 'SKIPPED',\n CANCELLED = 'CANCELLED',\n}\n\nexport enum ProcessStatus {\n RUNNING = 'RUNNING',\n COMPLETED = 'COMPLETED',\n FAILED = 'FAILED',\n TIMED_OUT = 'TIMED_OUT',\n CANCELLED = 'CANCELLED',\n TERMINATED = 'TERMINATED',\n REVIEWED = 'REVIEWED',\n}\n\nexport enum ProcessTriggerType {\n MANUAL = 'MANUAL',\n SCHEDULED = 'SCHEDULED',\n API_MAPPING = 'API_MAPPING',\n WEBHOOK = 'WEBHOOK',\n API = 'API',\n SUB_PROCESS = 'SUB_PROCESS',\n}\n\nexport enum ProcessType {\n STANDARD = 'STANDARD',\n DYNAMIC = 'DYNAMIC',\n API_ORCHESTRATION = 'API_ORCHESTRATION',\n INTERNAL = 'INTERNAL',\n}\n\nexport type ClientProfileData = {\n clientId: string;\n ipAddress: string;\n friendlyName: string;\n userIdentifier: string;\n stepQueueNames: StepQueueNameData[];\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n expiryDate: Date;\n};\n\nexport type FullClientProfileData = {\n clientId: string;\n ipAddress: string;\n friendlyName: string;\n userIdentifier: string;\n stepQueueNames: StepQueueNameData[];\n createdBy: string;\n updatedBy: string;\n created: Date;\n updated: Date;\n expiryDate: Date;\n tokenValue: string;\n};\n\nexport type StepQueueNameData = {\n orgId: number;\n namespace: string;\n stepType: StepType;\n name: string;\n};\n\nexport type ProcessActionResponseData = {\n count: number;\n details: ProcessActionResponseDetailData[];\n};\n\nexport type ProcessActionResponseDetailData = {\n id: string;\n message: string;\n error: string;\n};\n\nexport type ProcessData = {\n processId: number;\n processType: ProcessType;\n triggerType: ProcessTriggerType;\n namespace: string;\n name: string;\n version: number | null;\n historyId: number | null;\n requestId: string;\n correlationId: string;\n status: ProcessStatus;\n input: Record<string, unknown>;\n output: Record<string, unknown>;\n authClaims: Record<string, unknown>;\n stepIdCount: number | null;\n shardName: string;\n shardInstanceId: number | null;\n steps: StepId[];\n stepRecords: StepData[];\n created: number;\n updated: number;\n createdBy: string;\n};\n\nexport type StepData = {\n id: number;\n processId: number;\n ref: string;\n parentId: number | null;\n parentRef: string | null;\n namespace: string;\n name: string;\n type: StepType;\n stepDefinitionHistoryId: number | null;\n status: StepStatus;\n input: Record<string, unknown>;\n output: Record<string, unknown>;\n workerId: string;\n start: number;\n schedule: number;\n priority: number;\n updated: number;\n optional: boolean;\n executionList: StepExecutionData[];\n};\n\nexport type StepExecutionData = {\n id: number;\n scheduled: number;\n polled: number;\n start: number;\n updated: number;\n executor: string;\n ref: string;\n runs: number;\n output: Record<string, unknown>;\n};\n\nexport type StepId = {\n id: number;\n processId: number;\n ref: string;\n};\n\nexport type ProcessRequestData = {\n name: string;\n namespace: string;\n version: number | null;\n requestId?: string;\n correlationId?: string;\n input?: Record<string, unknown>;\n};\n\nexport type ProcessSearchRequest = {\n startTimeEpoch: number;\n endTimeEpoch?: number | null;\n namespace?: string;\n processTypes?: ProcessType[];\n triggerTypes?: ProcessTriggerType[];\n names?: string[];\n processIds?: number[];\n correlationIds?: string[];\n requestIds?: string[];\n statuses?: ProcessStatus[];\n limit?: number;\n offset?: number;\n};\nexport type StepSize = {\n stepQueueNameData: StepQueueNameData;\n size: number | null;\n};\n\nexport type ClientSubmitResult = {\n processId: number;\n stepId: number;\n errorMessage: string | null;\n httpStatusCode: number | null;\n};\n\nexport type WorkRequest = {\n processId: number;\n stepId: number;\n stepExecutionId: number;\n runCount: number;\n stepName: string;\n stepNamespace: string;\n stepRef: string;\n inputParam: Record<string, unknown>;\n isOptional: boolean;\n polled: number;\n scheduled: number;\n updated: number;\n priority: number;\n};\n\nexport type WorkResponse = {\n processId: number;\n stepId: number;\n stepExecutionId: number;\n runCount: number;\n output: Record<string, unknown>;\n status: StepStatus;\n rescheduleAfterSeconds: number | null;\n startedAt: number;\n};\n\nexport type WorkResult = {\n output: unknown;\n taskExecutionId: string;\n startTime: number;\n endTime: number;\n workRequest: WorkRequest;\n};\n\nexport interface FinalUnmeshedClientConfig {\n baseUrl: string;\n clientId: string;\n authToken: string;\n port: string | number;\n timeout: number;\n apiWorkerTimeout: number;\n pollTimeout: number;\n pollInterval: number;\n responsePollInterval: number;\n responsePollTimeout: number;\n responseBatchSize: number;\n}\n\nexport interface UnmeshedClientConfig {\n baseUrl: string;\n clientId: string;\n authToken: string;\n port: string | number;\n timeout?: number;\n apiWorkerTimeout?: number;\n pollTimeout?: number;\n pollInterval?: number;\n responsePollInterval?: number;\n responsePollTimeout?: number;\n responseBatchSize?: number;\n}\n\nexport interface ApiResponse<T = any> {\n data: T;\n status: number;\n headers: Record<string, string>;\n}\n\nexport interface ApiError extends Error {\n status?: number;\n response?: {\n data?: any;\n status: number;\n headers: Record<string, string>;\n };\n}\n\nexport interface QueryParams {\n [key: string]: string | number | boolean | undefined;\n}\n\nexport interface RequestConfig extends Omit<AxiosRequestConfig, 'baseURL' | 'url' | 'method'> {\n headers?: Record<string, string>;\n}\n\nexport interface HandleRequestConfig {\n method: 'get' | 'post' | 'put' | 'delete';\n endpoint: string;\n params?: QueryParams;\n data?: Record<string, unknown>;\n config?: RequestConfig;\n}\n\nexport interface ClientRequestConfig {\n params?: QueryParams;\n data?: any;\n config?: RequestConfig;\n}\n\ninterface UnmeshedWorker {\n (input: Record<string, any>): Promise<any>;\n}\n\nexport interface UnmeshedWorkerConfig {\n worker: UnmeshedWorker;\n namespace: string;\n name: string;\n maxInProgress: number;\n}\n\nexport interface PollRequestData {\n stepQueueNameData: StepQueueNameData;\n size: number;\n}\nexport interface RenewRegistrationParams {\n friendlyName: string;\n}\n","export type WorkerFunction<T> = (items: T[]) => Promise<void>;\n\nexport class QueuedWorker<T> {\n private readonly queue: BlockingQueue<T>;\n private readonly pollIntervalMs: number;\n private readonly batchSize: number;\n private readonly workerFn: WorkerFunction<T>;\n private readonly timeoutMs: number;\n\n constructor(\n capacity: number,\n pollIntervalMs: number,\n batchSize: number,\n workerFn: WorkerFunction<T>,\n timeoutMs: number\n ) {\n this.queue = new BlockingQueue<T>(capacity);\n this.pollIntervalMs = pollIntervalMs;\n this.batchSize = batchSize;\n this.workerFn = workerFn;\n this.timeoutMs = timeoutMs;\n\n console.log(\n `Configured queued worker with ${pollIntervalMs} ms interval and batch size of ${batchSize} and a timeout of ${timeoutMs} ms`\n );\n // noinspection JSIgnoredPromiseFromCall\n this.start();\n }\n\n async start(): Promise<void> {\n let errorCount = 0;\n // noinspection InfiniteLoopJS\n while (true) {\n try {\n const batch = await this.queue.takeBatch(this.batchSize);\n if (batch.length > 0) {\n console.log(`Batch work ${batch.length} received`);\n await this.runWithTimeout(this.workerFn(batch), this.timeoutMs);\n }\n } catch (error) {\n errorCount++;\n console.error(`Error processing batch - error count : ${errorCount} - `, error);\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n await new Promise((resolve) => setTimeout(resolve, this.pollIntervalMs));\n }\n }\n\n private async runWithTimeout(task: Promise<void>, timeoutMs: number): Promise<void> {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => reject(new Error('Task timed out')), timeoutMs);\n task\n .then(() => {\n clearTimeout(timeout);\n resolve();\n })\n .catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n }\n\n async put(item: T): Promise<void> {\n await this.queue.put(item);\n }\n}\n\nclass BlockingQueue<T> {\n private queue: T[] = [];\n private readonly capacity: number;\n\n constructor(capacity: number) {\n if (capacity <= 0) {\n throw new Error('Capacity must be greater than 0');\n }\n this.capacity = capacity;\n }\n\n async put(item: T): Promise<void> {\n while (this.queue.length >= this.capacity) {\n await new Promise((resolve) => setTimeout(resolve, 10));\n }\n this.queue.push(item);\n }\n\n async takeBatch(batchSize: number): Promise<T[]> {\n while (this.queue.length === 0) {\n await new Promise((resolve) => setTimeout(resolve, 10));\n }\n return this.queue.splice(0, batchSize);\n }\n\n size(): number {\n return this.queue.length;\n }\n\n isEmpty(): boolean {\n return this.queue.length === 0;\n }\n\n peek(): T | undefined {\n return this.queue[0];\n }\n}\n","import {\n ApiResponse,\n PollRequestData,\n StepQueueNameData,\n StepStatus,\n UnmeshedWorkerConfig,\n WorkRequest,\n WorkResponse,\n} from '../types';\nimport { UnmeshedApiClient } from './unmeshedApiClient';\nimport { QueuedWorker } from './queuedWorker';\n\nasync function registerPolling(apiClient: UnmeshedApiClient, data: StepQueueNameData[]) {\n const attempt = async (): Promise<any> => {\n try {\n const response = await apiClient.put(`/api/clients/register`, {\n data: data,\n });\n console.log('Successfully renewed registration for workers', data);\n return response.data;\n } catch {\n console.error('An error occurred during polling registration. Retrying in 3 seconds...');\n await new Promise((resolve) => setTimeout(resolve, 3000));\n return attempt();\n }\n };\n\n return attempt();\n}\n\nasync function pollWorker(apiClient: UnmeshedApiClient, data: PollRequestData[]): Promise<WorkRequest[]> {\n try {\n const response: ApiResponse<WorkRequest[]> = await apiClient.post(`/api/clients/poll`, { data: data });\n if (response.data && response.data.length > 0) {\n console.log(`Received ${response.data.length} work requests`);\n }\n return response.data;\n } catch (error) {\n console.error('Error occurred during worker polling', error);\n return [];\n }\n}\n\nasync function postWorkerResponse(apiClient: UnmeshedApiClient, workResponses: WorkResponse[]) {\n try {\n if (workResponses.length > 0) {\n const grouped: Record<StepStatus, number[]> = workResponses.reduce(\n (acc, response) => {\n if (!acc[response.status]) {\n acc[response.status] = [];\n }\n acc[response.status].push(response.stepId);\n return acc;\n },\n {} as Record<StepStatus, number[]>\n );\n const resultString = Object.entries(grouped)\n .map(([status, stepIds]) => `${status}: [${stepIds.join(', ')}]`)\n .join(', ');\n console.log(`Posting response of size: ${workResponses.length} including ids: ${resultString}`);\n const response = await apiClient.post(`/api/clients/bulkResults`, {\n data: workResponses,\n });\n return response.data;\n }\n return {};\n } catch (error) {\n console.log('Error:', error);\n }\n}\n\nasync function runPollWithTimeout(task: Promise<WorkRequest[]>, timeoutMs: number): Promise<WorkRequest[]> {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => reject(new Error('Task timed out')), timeoutMs);\n task\n .then((workRequests) => {\n clearTimeout(timeout);\n resolve(workRequests);\n })\n .catch((error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n}\n\nexport const continuePolling: { value: boolean } = {\n value: true,\n};\n\nexport async function pollForWorkers(apiClient: UnmeshedApiClient, workers: UnmeshedWorkerConfig[]) {\n const queuedWorker: QueuedWorker<WorkResponse> = new QueuedWorker<WorkResponse>(\n 100000,\n apiClient.config.responsePollInterval,\n apiClient.config.responseBatchSize,\n async (batchWork: WorkResponse[]) => {\n await postWorkerResponse(apiClient, batchWork);\n },\n apiClient.config.responsePollTimeout\n );\n\n const registerPollingData = workers.map((worker) => {\n return {\n orgId: 0,\n namespace: worker.namespace,\n stepType: 'WORKER',\n name: worker.name,\n } as StepQueueNameData;\n });\n\n await registerPolling(apiClient, registerPollingData);\n\n const pollWorkerData = workers.map((worker) => {\n return {\n stepQueueNameData: {\n orgId: 0,\n namespace: worker.namespace,\n stepType: 'WORKER',\n name: worker.name,\n },\n size: worker.maxInProgress,\n } as PollRequestData;\n });\n\n let errorCount = 0;\n // noinspection InfiniteLoopJS\n while (continuePolling.value) {\n try {\n const workRequests: WorkRequest[] = await runPollWithTimeout(\n pollWorker(apiClient, pollWorkerData),\n apiClient.config.pollTimeout\n );\n for (const polledWorker of workRequests) {\n const associatedWorker: UnmeshedWorkerConfig | undefined = workers.find(\n (worker) => worker.name === polledWorker.stepName && worker.namespace === polledWorker.stepNamespace\n );\n\n let workerResponse: WorkResponse = {\n processId: polledWorker.processId,\n stepId: polledWorker.stepId,\n stepExecutionId: polledWorker.stepExecutionId,\n runCount: polledWorker.runCount,\n output: {},\n status: StepStatus.RUNNING,\n rescheduleAfterSeconds: null,\n startedAt: new Date().getTime(),\n };\n\n if (!associatedWorker) {\n workerResponse = {\n ...workerResponse,\n output: {\n error: `No worker found for ${polledWorker.stepName} ${polledWorker.stepNamespace}`,\n },\n status: StepStatus.TIMED_OUT,\n };\n await queuedWorker.put(workerResponse);\n continue;\n }\n\n const TIMEOUT = apiClient.config.apiWorkerTimeout;\n\n const timeoutPromise = new Promise((_, reject) => {\n setTimeout(() => reject(new Error('Timed out')), TIMEOUT);\n });\n\n try {\n console.log(\n `Starting work ${polledWorker.processId} : ${polledWorker.stepId} : ${polledWorker.stepName} : ${polledWorker.stepRef}`\n );\n const result = await Promise.race([associatedWorker.worker(polledWorker.inputParam), timeoutPromise]);\n\n workerResponse = {\n ...workerResponse,\n output: {\n ...result,\n __workCompletedAt: new Date().getTime(),\n },\n status: StepStatus.COMPLETED,\n };\n } catch (error: unknown) {\n const err = error as Error;\n if (err.message && err.message === 'Timed out') {\n workerResponse = {\n ...workerResponse,\n output: {\n error: `${err.message} based on work timeout settings in worker - ${apiClient.config.apiWorkerTimeout} ms`,\n },\n status: StepStatus.TIMED_OUT,\n };\n } else {\n workerResponse = {\n ...workerResponse,\n output: {\n error: safeStringifyError(err),\n },\n status: StepStatus.FAILED,\n };\n console.error('Error:', err.message);\n }\n }\n await queuedWorker.put(workerResponse);\n }\n await new Promise((resolve) => setTimeout(resolve, apiClient.config.pollInterval));\n } catch (error) {\n errorCount++;\n console.error(`Error processing batch - error count : ${errorCount} - `, error);\n await new Promise((resolve) => setTimeout(resolve, 1000));\n }\n }\n}\n\nfunction safeStringifyError(error: Error) {\n try {\n if (error instanceof Error) {\n const plainError = {\n ...error,\n name: error.name,\n message: error.message,\n stack: error.stack,\n };\n return JSON.stringify(plainError);\n }\n return JSON.stringify(error);\n } catch (stringifyError: unknown) {\n if (stringifyError instanceof Error) {\n return `Error stringification failed: ${stringifyError.message}`;\n }\n return 'Error stringification failed: An unknown error occurred during stringification.';\n }\n}\n\nexport async function startPollingWorkers(\n apiClient: UnmeshedApiClient,\n workers: UnmeshedWorkerConfig[],\n intervalMs: number = 5000\n) {\n async function pollCycle() {\n try {\n await pollForWorkers(apiClient, workers);\n } catch (error) {\n console.error('Error during worker polling:', error);\n }\n\n setTimeout(pollCycle, intervalMs);\n }\n\n await pollCycle();\n}\n","import {\n ApiCallType,\n ProcessActionResponseData,\n ProcessData,\n ProcessRequestData,\n ProcessSearchRequest,\n StepData,\n} from '../types';\nimport { isAxiosError } from 'axios';\nimport { UnmeshedApiClient } from './unmeshedApiClient';\n\nconst PROCESS_PREFIX = 'api/process';\n\nexport const runProcessSync = async (\n apiClient: UnmeshedApiClient,\n ProcessRequestData: ProcessRequestData\n): Promise<ProcessData> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/runSync`, {\n data: ProcessRequestData,\n params: {\n clientId: apiClient.getClientId(),\n },\n });\n console.log('Response:', response);\n return response.data;\n } catch (error) {\n console.error('Some error occurred running process request : ', error);\n throw error;\n }\n};\n\nexport const runProcessAsync = async (\n apiClient: UnmeshedApiClient,\n ProcessRequestData: ProcessRequestData\n): Promise<ProcessData> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/runAsync`, {\n data: ProcessRequestData,\n params: {\n clientId: apiClient.getClientId(),\n },\n });\n console.log('Response:', response);\n return response.data;\n } catch (error) {\n console.error('Some error occurred running process request : ', error);\n throw error;\n }\n};\n\nexport const getProcessData = async (\n apiClient: UnmeshedApiClient,\n processId: number,\n includeSteps: boolean = false\n): Promise<ProcessData> => {\n if (!processId) {\n throw new Error('Process ID cannot be null');\n }\n try {\n const response = await apiClient.get<ProcessData>(`${PROCESS_PREFIX}/context/${processId}`, { includeSteps });\n return response.data;\n } catch (error) {\n console.error('Error occurred while fetching process record: ', error);\n throw error;\n }\n};\n\nexport const getStepData = async (apiClient: UnmeshedApiClient, stepId: number): Promise<StepData> => {\n if (!stepId) {\n throw new Error('Step ID cannot be null or undefined');\n }\n try {\n const response = await apiClient.get<StepData>(`${PROCESS_PREFIX}/stepContext/${stepId}`);\n return response.data;\n } catch (error) {\n console.log('Error occurred while getStepData: ', error);\n throw error;\n }\n};\n\nexport const bulkTerminate = async (\n apiClient: UnmeshedApiClient,\n processIds: number[],\n reason?: string\n): Promise<ProcessActionResponseData> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/bulkTerminate`, {\n params: { reason },\n data: processIds,\n });\n return response.data as ProcessActionResponseData;\n } catch (error) {\n const err = error as Error;\n throw new Error(`Error occurred while terminating processes: ${err.message || error}`);\n }\n};\n\nexport const bulkResume = async (\n apiClient: UnmeshedApiClient,\n processIds: number[]\n): Promise<ProcessActionResponseData> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/bulkResume`, {\n data: processIds,\n });\n return response.data as ProcessActionResponseData;\n } catch (error) {\n const err = error as Error;\n throw new Error(`Error occurred while resuming processes: ${err.message || error}`);\n }\n};\n\nexport const bulkReviewed = async (\n apiClient: UnmeshedApiClient,\n processIds: number[],\n reason?: string\n): Promise<ProcessActionResponseData> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/bulkReviewed`, {\n data: processIds,\n params: { reason },\n });\n return response.data as ProcessActionResponseData;\n } catch (error) {\n const err = error as Error;\n throw new Error(`Error occurred while marking processes as reviewed: ${err.message || error}`);\n }\n};\n\nexport const rerun = async (\n apiClient: UnmeshedApiClient,\n processId: number,\n version?: number\n): Promise<ProcessData> => {\n const params: Record<string, any> = {\n processId,\n };\n\n if (version !== undefined) {\n params['version'] = version;\n }\n\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/rerun`, {\n params,\n });\n\n return response.data as ProcessData;\n } catch (error) {\n if (isAxiosError(error)) {\n throw new Error(`HTTP request error during rerun process: ${error.response?.status} - ${error.response?.data}`);\n } else {\n const err = error as Error;\n throw new Error(`Unexpected error during rerun process: ${err.message || err}`);\n }\n }\n};\n\nexport const searchProcessExecutions = async (apiClient: UnmeshedApiClient, params: ProcessSearchRequest) => {\n const queryParams = new URLSearchParams();\n\n if (params.startTimeEpoch !== undefined && params.startTimeEpoch !== 0)\n queryParams.set('startTimeEpoch', params.startTimeEpoch.toString());\n if (params.endTimeEpoch !== undefined && params.endTimeEpoch !== 0)\n queryParams.set('endTimeEpoch', (params.endTimeEpoch || 0).toString());\n if (params.namespace) queryParams.set('namespace', params.namespace);\n if (params.names && params.names.length) queryParams.set('names', params.names.join(','));\n if (params.processIds && params.processIds.length) queryParams.set('processIds', params.processIds.join(','));\n if (params.correlationIds && params.correlationIds.length)\n queryParams.set('correlationIds', params.correlationIds.join(','));\n if (params.requestIds && params.requestIds.length) queryParams.set('requestIds', params.requestIds.join(','));\n if (params.statuses && params.statuses.length) queryParams.set('statuses', params.statuses.join(','));\n if (params.triggerTypes && params.triggerTypes.length) queryParams.set('triggerTypes', params.triggerTypes.join(','));\n\n const updatedParams = Object.fromEntries(new URLSearchParams(queryParams));\n\n try {\n const response = await apiClient.get(`api/stats/process/search`, updatedParams);\n console.log('Response:', response);\n return response.data;\n } catch (error) {\n console.error('Error occurred while searching process executions: ', error);\n throw error;\n }\n};\n\nexport const invokeApiMappingGet = async (\n apiClient: UnmeshedApiClient,\n endpoint: string,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType\n) => {\n try {\n const response = await apiClient.get(`${PROCESS_PREFIX}/api/call/${endpoint}`, {\n id: id,\n correlationId: correlationId,\n apiCallType,\n });\n console.log('Response:', response);\n return response.data;\n } catch (error) {\n console.error('Error occurred while invoking API Mapping GET: ', error);\n throw error;\n }\n};\n\nexport const invokeApiMappingPost = async (\n apiClient: UnmeshedApiClient,\n endpoint: string,\n input: Record<string, any>,\n id: string,\n correlationId: string,\n apiCallType: ApiCallType = ApiCallType.ASYNC\n): Promise<any> => {\n try {\n const response = await apiClient.post(`${PROCESS_PREFIX}/api/call/${endpoint}`, {\n data: input,\n params: {\n id: id,\n correlationId: correlationId,\n apiCallType,\n },\n });\n\n return response.data;\n } catch (error) {\n console.error('Error occurred while invoking API Mapping POST: ', error);\n throw error;\n }\n};\n","import { RenewRegistrationParams } from '../types';\nimport { UnmeshedApiClient } from './unmeshedApiClient';\n\nexport const renewRegistration = async (\n apiClient: UnmeshedApiClient,\n params: RenewRegistrationParams\n): Promise<string> => {\n try {\n const response = await apiClient.put('/api/clients/register', {\n params: { ...params },\n });\n console.debug('Response from server:', response);\n return response.data;\n } catch (error) {\n console.error('Error occurred during registration renewal:', error);\n throw error;\n }\n};\n"],"mappings":"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","names":["axios","ApiCallType","WebhookSource","SQAuthUserType","StepType","StepStatus","ProcessStatus","ProcessTriggerType","ProcessType","response","import_axios","ProcessRequestData","ProcessRequestData"]}
|
package/dist/index.mjs
CHANGED
|
@@ -228,7 +228,9 @@ var QueuedWorker = class {
|
|
|
228
228
|
this.batchSize = batchSize;
|
|
229
229
|
this.workerFn = workerFn;
|
|
230
230
|
this.timeoutMs = timeoutMs;
|
|
231
|
-
console.log(
|
|
231
|
+
console.log(
|
|
232
|
+
`Configured queued worker with ${pollIntervalMs} ms interval and batch size of ${batchSize} and a timeout of ${timeoutMs} ms`
|
|
233
|
+
);
|
|
232
234
|
this.start();
|
|
233
235
|
}
|
|
234
236
|
async start() {
|
|
@@ -306,9 +308,7 @@ async function registerPolling(apiClient, data) {
|
|
|
306
308
|
console.log("Successfully renewed registration for workers", data);
|
|
307
309
|
return response.data;
|
|
308
310
|
} catch {
|
|
309
|
-
console.error(
|
|
310
|
-
"An error occurred during polling registration. Retrying in 3 seconds..."
|
|
311
|
-
);
|
|
311
|
+
console.error("An error occurred during polling registration. Retrying in 3 seconds...");
|
|
312
312
|
await new Promise((resolve) => setTimeout(resolve, 3e3));
|
|
313
313
|
return attempt();
|
|
314
314
|
}
|
|
@@ -324,18 +324,22 @@ async function pollWorker(apiClient, data) {
|
|
|
324
324
|
return response.data;
|
|
325
325
|
} catch (error) {
|
|
326
326
|
console.error("Error occurred during worker polling", error);
|
|
327
|
+
return [];
|
|
327
328
|
}
|
|
328
329
|
}
|
|
329
330
|
async function postWorkerResponse(apiClient, workResponses) {
|
|
330
331
|
try {
|
|
331
332
|
if (workResponses.length > 0) {
|
|
332
|
-
const grouped = workResponses.reduce(
|
|
333
|
-
|
|
334
|
-
acc[response2.status]
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
333
|
+
const grouped = workResponses.reduce(
|
|
334
|
+
(acc, response2) => {
|
|
335
|
+
if (!acc[response2.status]) {
|
|
336
|
+
acc[response2.status] = [];
|
|
337
|
+
}
|
|
338
|
+
acc[response2.status].push(response2.stepId);
|
|
339
|
+
return acc;
|
|
340
|
+
},
|
|
341
|
+
{}
|
|
342
|
+
);
|
|
339
343
|
const resultString = Object.entries(grouped).map(([status, stepIds]) => `${status}: [${stepIds.join(", ")}]`).join(", ");
|
|
340
344
|
console.log(`Posting response of size: ${workResponses.length} including ids: ${resultString}`);
|
|
341
345
|
const response = await apiClient.post(`/api/clients/bulkResults`, {
|
|
@@ -396,7 +400,10 @@ async function pollForWorkers(apiClient, workers) {
|
|
|
396
400
|
let errorCount = 0;
|
|
397
401
|
while (continuePolling.value) {
|
|
398
402
|
try {
|
|
399
|
-
const workRequests = await runPollWithTimeout(
|
|
403
|
+
const workRequests = await runPollWithTimeout(
|
|
404
|
+
pollWorker(apiClient, pollWorkerData),
|
|
405
|
+
apiClient.config.pollTimeout
|
|
406
|
+
);
|
|
400
407
|
for (const polledWorker of workRequests) {
|
|
401
408
|
const associatedWorker = workers.find(
|
|
402
409
|
(worker) => worker.name === polledWorker.stepName && worker.namespace === polledWorker.stepNamespace
|
|
@@ -427,11 +434,10 @@ async function pollForWorkers(apiClient, workers) {
|
|
|
427
434
|
setTimeout(() => reject(new Error("Timed out")), TIMEOUT);
|
|
428
435
|
});
|
|
429
436
|
try {
|
|
430
|
-
console.log(
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
]);
|
|
437
|
+
console.log(
|
|
438
|
+
`Starting work ${polledWorker.processId} : ${polledWorker.stepId} : ${polledWorker.stepName} : ${polledWorker.stepRef}`
|
|
439
|
+
);
|
|
440
|
+
const result = await Promise.race([associatedWorker.worker(polledWorker.inputParam), timeoutPromise]);
|
|
435
441
|
workerResponse = {
|
|
436
442
|
...workerResponse,
|
|
437
443
|
output: {
|
|
@@ -475,17 +481,19 @@ function safeStringifyError(error) {
|
|
|
475
481
|
try {
|
|
476
482
|
if (error instanceof Error) {
|
|
477
483
|
const plainError = {
|
|
484
|
+
...error,
|
|
478
485
|
name: error.name,
|
|
479
486
|
message: error.message,
|
|
480
|
-
stack: error.stack
|
|
481
|
-
...error
|
|
482
|
-
// Include enumerable custom properties if they exist
|
|
487
|
+
stack: error.stack
|
|
483
488
|
};
|
|
484
489
|
return JSON.stringify(plainError);
|
|
485
490
|
}
|
|
486
491
|
return JSON.stringify(error);
|
|
487
492
|
} catch (stringifyError) {
|
|
488
|
-
|
|
493
|
+
if (stringifyError instanceof Error) {
|
|
494
|
+
return `Error stringification failed: ${stringifyError.message}`;
|
|
495
|
+
}
|
|
496
|
+
return "Error stringification failed: An unknown error occurred during stringification.";
|
|
489
497
|
}
|
|
490
498
|
}
|
|
491
499
|
async function startPollingWorkers(apiClient, workers, intervalMs = 5e3) {
|
|
@@ -520,15 +528,12 @@ var runProcessSync = async (apiClient, ProcessRequestData2) => {
|
|
|
520
528
|
};
|
|
521
529
|
var runProcessAsync = async (apiClient, ProcessRequestData2) => {
|
|
522
530
|
try {
|
|
523
|
-
const response = await apiClient.post(
|
|
524
|
-
|
|
525
|
-
{
|
|
526
|
-
|
|
527
|
-
params: {
|
|
528
|
-
clientId: apiClient.getClientId()
|
|
529
|
-
}
|
|
531
|
+
const response = await apiClient.post(`${PROCESS_PREFIX}/runAsync`, {
|
|
532
|
+
data: ProcessRequestData2,
|
|
533
|
+
params: {
|
|
534
|
+
clientId: apiClient.getClientId()
|
|
530
535
|
}
|
|
531
|
-
);
|
|
536
|
+
});
|
|
532
537
|
console.log("Response:", response);
|
|
533
538
|
return response.data;
|
|
534
539
|
} catch (error) {
|
|
@@ -541,10 +546,7 @@ var getProcessData = async (apiClient, processId, includeSteps = false) => {
|
|
|
541
546
|
throw new Error("Process ID cannot be null");
|
|
542
547
|
}
|
|
543
548
|
try {
|
|
544
|
-
const response = await apiClient.get(
|
|
545
|
-
`${PROCESS_PREFIX}/context/${processId}`,
|
|
546
|
-
{ includeSteps }
|
|
547
|
-
);
|
|
549
|
+
const response = await apiClient.get(`${PROCESS_PREFIX}/context/${processId}`, { includeSteps });
|
|
548
550
|
return response.data;
|
|
549
551
|
} catch (error) {
|
|
550
552
|
console.error("Error occurred while fetching process record: ", error);
|
|
@@ -556,9 +558,7 @@ var getStepData = async (apiClient, stepId) => {
|
|
|
556
558
|
throw new Error("Step ID cannot be null or undefined");
|
|
557
559
|
}
|
|
558
560
|
try {
|
|
559
|
-
const response = await apiClient.get(
|
|
560
|
-
`${PROCESS_PREFIX}/stepContext/${stepId}`
|
|
561
|
-
);
|
|
561
|
+
const response = await apiClient.get(`${PROCESS_PREFIX}/stepContext/${stepId}`);
|
|
562
562
|
return response.data;
|
|
563
563
|
} catch (error) {
|
|
564
564
|
console.log("Error occurred while getStepData: ", error);
|
|
@@ -567,52 +567,37 @@ var getStepData = async (apiClient, stepId) => {
|
|
|
567
567
|
};
|
|
568
568
|
var bulkTerminate = async (apiClient, processIds, reason) => {
|
|
569
569
|
try {
|
|
570
|
-
const response = await apiClient.post(
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
data: processIds
|
|
575
|
-
}
|
|
576
|
-
);
|
|
570
|
+
const response = await apiClient.post(`${PROCESS_PREFIX}/bulkTerminate`, {
|
|
571
|
+
params: { reason },
|
|
572
|
+
data: processIds
|
|
573
|
+
});
|
|
577
574
|
return response.data;
|
|
578
575
|
} catch (error) {
|
|
579
576
|
const err = error;
|
|
580
|
-
throw new Error(
|
|
581
|
-
`Error occurred while terminating processes: ${err.message || error}`
|
|
582
|
-
);
|
|
577
|
+
throw new Error(`Error occurred while terminating processes: ${err.message || error}`);
|
|
583
578
|
}
|
|
584
579
|
};
|
|
585
580
|
var bulkResume = async (apiClient, processIds) => {
|
|
586
581
|
try {
|
|
587
|
-
const response = await apiClient.post(
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
data: processIds
|
|
591
|
-
}
|
|
592
|
-
);
|
|
582
|
+
const response = await apiClient.post(`${PROCESS_PREFIX}/bulkResume`, {
|
|
583
|
+
data: processIds
|
|
584
|
+
});
|
|
593
585
|
return response.data;
|
|
594
586
|
} catch (error) {
|
|
595
587
|
const err = error;
|
|
596
|
-
throw new Error(
|
|
597
|
-
`Error occurred while resuming processes: ${err.message || error}`
|
|
598
|
-
);
|
|
588
|
+
throw new Error(`Error occurred while resuming processes: ${err.message || error}`);
|
|
599
589
|
}
|
|
600
590
|
};
|
|
601
591
|
var bulkReviewed = async (apiClient, processIds, reason) => {
|
|
602
592
|
try {
|
|
603
|
-
const response = await apiClient.post(
|
|
604
|
-
|
|
605
|
-
{
|
|
606
|
-
|
|
607
|
-
params: { reason }
|
|
608
|
-
}
|
|
609
|
-
);
|
|
593
|
+
const response = await apiClient.post(`${PROCESS_PREFIX}/bulkReviewed`, {
|
|
594
|
+
data: processIds,
|
|
595
|
+
params: { reason }
|
|
596
|
+
});
|
|
610
597
|
return response.data;
|
|
611
598
|
} catch (error) {
|
|
612
599
|
const err = error;
|
|
613
|
-
throw new Error(
|
|
614
|
-
`Error occurred while marking processes as reviewed: ${err.message || error}`
|
|
615
|
-
);
|
|
600
|
+
throw new Error(`Error occurred while marking processes as reviewed: ${err.message || error}`);
|
|
616
601
|
}
|
|
617
602
|
};
|
|
618
603
|
var rerun = async (apiClient, processId, version) => {
|
|
@@ -629,14 +614,10 @@ var rerun = async (apiClient, processId, version) => {
|
|
|
629
614
|
return response.data;
|
|
630
615
|
} catch (error) {
|
|
631
616
|
if (isAxiosError(error)) {
|
|
632
|
-
throw new Error(
|
|
633
|
-
`HTTP request error during rerun process: ${error.response?.status} - ${error.response?.data}`
|
|
634
|
-
);
|
|
617
|
+
throw new Error(`HTTP request error during rerun process: ${error.response?.status} - ${error.response?.data}`);
|
|
635
618
|
} else {
|
|
636
619
|
const err = error;
|
|
637
|
-
throw new Error(
|
|
638
|
-
`Unexpected error during rerun process: ${err.message || err}`
|
|
639
|
-
);
|
|
620
|
+
throw new Error(`Unexpected error during rerun process: ${err.message || err}`);
|
|
640
621
|
}
|
|
641
622
|
}
|
|
642
623
|
};
|
|
@@ -647,24 +628,16 @@ var searchProcessExecutions = async (apiClient, params) => {
|
|
|
647
628
|
if (params.endTimeEpoch !== void 0 && params.endTimeEpoch !== 0)
|
|
648
629
|
queryParams.set("endTimeEpoch", (params.endTimeEpoch || 0).toString());
|
|
649
630
|
if (params.namespace) queryParams.set("namespace", params.namespace);
|
|
650
|
-
if (params.names && params.names.length)
|
|
651
|
-
|
|
652
|
-
if (params.processIds && params.processIds.length)
|
|
653
|
-
queryParams.set("processIds", params.processIds.join(","));
|
|
631
|
+
if (params.names && params.names.length) queryParams.set("names", params.names.join(","));
|
|
632
|
+
if (params.processIds && params.processIds.length) queryParams.set("processIds", params.processIds.join(","));
|
|
654
633
|
if (params.correlationIds && params.correlationIds.length)
|
|
655
634
|
queryParams.set("correlationIds", params.correlationIds.join(","));
|
|
656
|
-
if (params.requestIds && params.requestIds.length)
|
|
657
|
-
|
|
658
|
-
if (params.
|
|
659
|
-
queryParams.set("statuses", params.statuses.join(","));
|
|
660
|
-
if (params.triggerTypes && params.triggerTypes.length)
|
|
661
|
-
queryParams.set("triggerTypes", params.triggerTypes.join(","));
|
|
635
|
+
if (params.requestIds && params.requestIds.length) queryParams.set("requestIds", params.requestIds.join(","));
|
|
636
|
+
if (params.statuses && params.statuses.length) queryParams.set("statuses", params.statuses.join(","));
|
|
637
|
+
if (params.triggerTypes && params.triggerTypes.length) queryParams.set("triggerTypes", params.triggerTypes.join(","));
|
|
662
638
|
const updatedParams = Object.fromEntries(new URLSearchParams(queryParams));
|
|
663
639
|
try {
|
|
664
|
-
const response = await apiClient.get(
|
|
665
|
-
`${PROCESS_PREFIX}/api/stats/process/search`,
|
|
666
|
-
updatedParams
|
|
667
|
-
);
|
|
640
|
+
const response = await apiClient.get(`api/stats/process/search`, updatedParams);
|
|
668
641
|
console.log("Response:", response);
|
|
669
642
|
return response.data;
|
|
670
643
|
} catch (error) {
|
|
@@ -674,14 +647,11 @@ var searchProcessExecutions = async (apiClient, params) => {
|
|
|
674
647
|
};
|
|
675
648
|
var invokeApiMappingGet = async (apiClient, endpoint, id, correlationId, apiCallType) => {
|
|
676
649
|
try {
|
|
677
|
-
const response = await apiClient.get(
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
apiCallType
|
|
683
|
-
}
|
|
684
|
-
);
|
|
650
|
+
const response = await apiClient.get(`${PROCESS_PREFIX}/api/call/${endpoint}`, {
|
|
651
|
+
id,
|
|
652
|
+
correlationId,
|
|
653
|
+
apiCallType
|
|
654
|
+
});
|
|
685
655
|
console.log("Response:", response);
|
|
686
656
|
return response.data;
|
|
687
657
|
} catch (error) {
|
|
@@ -691,17 +661,14 @@ var invokeApiMappingGet = async (apiClient, endpoint, id, correlationId, apiCall
|
|
|
691
661
|
};
|
|
692
662
|
var invokeApiMappingPost = async (apiClient, endpoint, input, id, correlationId, apiCallType = "ASYNC" /* ASYNC */) => {
|
|
693
663
|
try {
|
|
694
|
-
const response = await apiClient.post(
|
|
695
|
-
|
|
696
|
-
{
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
correlationId,
|
|
701
|
-
apiCallType
|
|
702
|
-
}
|
|
664
|
+
const response = await apiClient.post(`${PROCESS_PREFIX}/api/call/${endpoint}`, {
|
|
665
|
+
data: input,
|
|
666
|
+
params: {
|
|
667
|
+
id,
|
|
668
|
+
correlationId,
|
|
669
|
+
apiCallType
|
|
703
670
|
}
|
|
704
|
-
);
|
|
671
|
+
});
|
|
705
672
|
return response.data;
|
|
706
673
|
} catch (error) {
|
|
707
674
|
console.error("Error occurred while invoking API Mapping POST: ", error);
|
|
@@ -753,30 +720,17 @@ var UnmeshedClient = class {
|
|
|
753
720
|
bulkReviewed(processIds, reason) {
|
|
754
721
|
return bulkReviewed(this.client, processIds, reason);
|
|
755
722
|
}
|
|
756
|
-
reRun(processId,
|
|
723
|
+
reRun(processId, version) {
|
|
757
724
|
return rerun(this.client, processId, version);
|
|
758
725
|
}
|
|
759
726
|
searchProcessExecution(params) {
|
|
760
727
|
return searchProcessExecutions(this.client, params);
|
|
761
728
|
}
|
|
762
729
|
invokeApiMappingGet(apiClient, endpoint, id, correlationId, apiCallType) {
|
|
763
|
-
return invokeApiMappingGet(
|
|
764
|
-
apiClient,
|
|
765
|
-
endpoint,
|
|
766
|
-
id,
|
|
767
|
-
correlationId,
|
|
768
|
-
apiCallType
|
|
769
|
-
);
|
|
730
|
+
return invokeApiMappingGet(apiClient, endpoint, id, correlationId, apiCallType);
|
|
770
731
|
}
|
|
771
732
|
invokeApiMappingPost(endpoint, input, id, correlationId, apiCallType) {
|
|
772
|
-
return invokeApiMappingPost(
|
|
773
|
-
this.client,
|
|
774
|
-
endpoint,
|
|
775
|
-
input,
|
|
776
|
-
id,
|
|
777
|
-
correlationId,
|
|
778
|
-
apiCallType
|
|
779
|
-
);
|
|
733
|
+
return invokeApiMappingPost(this.client, endpoint, input, id, correlationId, apiCallType);
|
|
780
734
|
}
|
|
781
735
|
reNewRegistration(params) {
|
|
782
736
|
return renewRegistration(this.client, params);
|