@amaster.ai/bpm-client 1.0.0-beta.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bpm-client.ts"],"names":["variables"],"mappings":"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","file":"index.js","sourcesContent":["import { type ClientResult, createHttpClient, type HttpClient } from \"@amaster.ai/http-client\";\n\nexport type CamundaVariableType =\n | \"String\"\n | \"Boolean\"\n | \"Integer\"\n | \"Long\"\n | \"Double\"\n | \"Date\"\n | \"Json\";\n\nexport type CamundaVariableValue =\n | string\n | number\n | boolean\n | Date\n | null\n | undefined\n | Record<string, unknown>\n | unknown[];\n\nexport type CamundaVariable = {\n value: CamundaVariableValue;\n type?: CamundaVariableType;\n};\n\nexport type VariableSubmission = {\n variables: Record<string, CamundaVariable>;\n};\n\nexport type ProcessInstance = {\n id: string;\n definitionId?: string;\n businessKey?: string;\n ended?: boolean;\n suspended?: boolean;\n};\n\nexport type ProcessInstanceQueryParams = {\n processDefinitionKey?: string;\n active?: boolean;\n firstResult?: number;\n maxResults?: number;\n};\n\nexport type HistoryProcessInstance = {\n id: string;\n businessKey: string;\n processDefinitionId: string;\n processDefinitionKey: string;\n processDefinitionName: string;\n processDefinitionVersion: number;\n startTime: string;\n endTime: string | null;\n durationInMillis: number | null;\n startUserId: string;\n startActivityId: string;\n deleteReason: string | null;\n state: string;\n superProcessInstanceId?: string;\n superCaseInstanceId?: string;\n};\n\nexport type HistoryProcessInstanceQueryParams = {\n startedBy?: string;\n finished?: boolean;\n processDefinitionKey?: string;\n sortBy?: string;\n sortOrder?: \"asc\" | \"desc\";\n firstResult?: number;\n maxResults?: number;\n};\n\nexport type ProcessVariable = {\n id: string;\n name: string;\n type: string;\n value: CamundaVariableValue;\n processInstanceId: string;\n createTime?: string;\n activityInstanceId?: string;\n taskId?: string;\n executionId?: string;\n errorMessage?: string;\n};\n\nexport type ActivityInstance = {\n id: string;\n activityId: string;\n activityName: string;\n activityType: string;\n processInstanceId: string;\n executionId: string;\n startTime: string;\n endTime?: string;\n};\n\nexport type Task = {\n id: string;\n name: string;\n description?: string | null;\n assignee?: string | null;\n created?: string | null;\n due?: string | null;\n priority?: number;\n processInstanceId?: string | null;\n processDefinitionId?: string | null;\n taskDefinitionKey?: string | null;\n businessKey?: string | null;\n taskState?: string | null;\n};\n\nexport type TaskCount = { count: number };\n\nexport type TaskFormField = {\n id: string;\n label?: string;\n type?: string;\n defaultValue?: CamundaVariableValue;\n properties?: Record<string, unknown>;\n validationConstraints?: Array<{\n name: string;\n config?: unknown;\n }>;\n [key: string]: unknown;\n};\n\nexport type TaskFormSchema = {\n key?: string;\n contextPath?: string;\n fields?: TaskFormField[];\n [key: string]: unknown;\n};\n\nexport type TaskFormVariable = {\n type: string;\n value: CamundaVariableValue;\n valueInfo?: Record<string, unknown>;\n};\n\nexport type TaskFormVariables = Record<string, TaskFormVariable>;\n\nexport type HistoryTask = {\n id: string;\n name: string;\n assignee: string;\n startTime: string;\n endTime: string;\n duration: number;\n taskState: string;\n processInstanceId: string;\n};\n\nexport type TaskQueryParams = {\n processInstanceId?: string;\n assignee?: string;\n candidateUser?: string;\n candidateGroup?: string;\n name?: string;\n nameLike?: string;\n taskDefinitionKey?: string;\n firstResult?: number;\n maxResults?: number;\n sortBy?: string;\n sortOrder?: \"asc\" | \"desc\";\n [key: string]: string | number | boolean | undefined;\n};\n\nexport type HistoryTaskQueryParams = {\n taskAssignee?: string;\n processInstanceId?: string;\n finished?: boolean;\n unfinished?: boolean;\n firstResult?: number;\n maxResults?: number;\n sortBy?: string;\n sortOrder?: \"asc\" | \"desc\";\n [key: string]: string | number | boolean | undefined;\n};\n\nexport type BpmClient = {\n startProcess(\n processKey: string,\n inputs?: Record<string, CamundaVariableValue> | VariableSubmission\n ): Promise<ClientResult<ProcessInstance>>;\n\n getProcessInstances(\n params?: ProcessInstanceQueryParams\n ): Promise<ClientResult<ProcessInstance[]>>;\n getProcessInstance(processInstanceId: string): Promise<ClientResult<ProcessInstance>>;\n deleteProcessInstance(\n processInstanceId: string,\n params?: { skipCustomListeners?: boolean }\n ): Promise<ClientResult<null>>;\n getActiveActivities(processInstanceId: string): Promise<ClientResult<ActivityInstance[]>>;\n\n getTasks(params?: TaskQueryParams): Promise<ClientResult<Task[]>>;\n getTaskCount(params?: TaskQueryParams): Promise<ClientResult<TaskCount>>;\n getTask(taskId: string): Promise<ClientResult<Task>>;\n getTaskFormSchema(\n taskId: string,\n opts?: { redirect?: string }\n ): Promise<ClientResult<TaskFormSchema>>;\n getTaskFormVariables(taskId: string): Promise<ClientResult<TaskFormVariables>>;\n completeTask(\n taskId: string,\n inputs: Record<string, CamundaVariableValue> | VariableSubmission\n ): Promise<ClientResult<null>>;\n\n getHistoryTasks(params?: HistoryTaskQueryParams): Promise<ClientResult<HistoryTask[]>>;\n getHistoryTaskCount(params?: HistoryTaskQueryParams): Promise<ClientResult<TaskCount>>;\n\n getHistoryProcessInstances(\n params?: HistoryProcessInstanceQueryParams\n ): Promise<ClientResult<HistoryProcessInstance[]>>;\n getHistoryProcessInstanceCount(\n params?: HistoryProcessInstanceQueryParams\n ): Promise<ClientResult<{ count: number }>>;\n getHistoryProcessInstance(\n processInstanceId: string\n ): Promise<ClientResult<HistoryProcessInstance>>;\n getProcessVariables(params: {\n processInstanceId: string;\n variableName?: string;\n }): Promise<ClientResult<ProcessVariable[]>>;\n};\n\nfunction isVariableSubmission(x: unknown): x is VariableSubmission {\n return (\n x !== null &&\n x !== undefined &&\n typeof x === \"object\" &&\n \"variables\" in x &&\n typeof (x as VariableSubmission).variables === \"object\" &&\n (x as VariableSubmission).variables !== null\n );\n}\n\n/**\n * Format Date value to Camunda-compatible ISO 8601 string\n */\nfunction formatDateForCamunda(date: Date | string | number): string {\n let isoString: string;\n\n if (date instanceof Date) {\n isoString = date.toISOString();\n } else if (typeof date === \"number\") {\n isoString = new Date(date).toISOString();\n } else if (typeof date === \"string\") {\n try {\n isoString = new Date(date).toISOString();\n } catch {\n isoString = date;\n }\n } else {\n isoString = new Date(date as number).toISOString();\n }\n\n return isoString.replace(/z$/i, \"+0000\");\n}\n\nfunction inferType(value: CamundaVariableValue): CamundaVariableType | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return \"String\";\n }\n if (typeof value === \"boolean\") {\n return \"Boolean\";\n }\n if (typeof value === \"number\") {\n return Number.isInteger(value) ? \"Long\" : \"Double\";\n }\n if (value instanceof Date) {\n return \"Date\";\n }\n if (typeof value === \"object\") {\n return \"Json\";\n }\n return undefined;\n}\n\nfunction processVariableValue(v: unknown): CamundaVariable {\n if (v && typeof v === \"object\" && \"value\" in v && (\"type\" in v || Object.keys(v).length <= 2)) {\n const variable = v as CamundaVariable;\n\n if (variable.value instanceof Date) {\n return {\n value: formatDateForCamunda(variable.value),\n type: \"Date\",\n };\n }\n\n if (\n variable.type === \"Date\" &&\n (typeof variable.value === \"string\" || typeof variable.value === \"number\")\n ) {\n return {\n value: formatDateForCamunda(variable.value),\n type: \"Date\",\n };\n }\n\n return variable;\n }\n\n if (v instanceof Date) {\n return {\n value: formatDateForCamunda(v),\n type: \"Date\",\n };\n }\n\n const camundaValue = v as CamundaVariableValue;\n return { value: camundaValue, type: inferType(camundaValue) };\n}\n\nfunction toVariableSubmission(\n inputs?: Record<string, CamundaVariableValue> | VariableSubmission\n): VariableSubmission {\n if (!inputs) {\n return { variables: {} };\n }\n\n if (isVariableSubmission(inputs)) {\n const variables: Record<string, CamundaVariable> = {};\n for (const [k, v] of Object.entries(inputs.variables)) {\n variables[k] = processVariableValue(v);\n }\n return { variables };\n }\n\n const variables: Record<string, CamundaVariable> = {};\n for (const [k, v] of Object.entries(inputs)) {\n variables[k] = processVariableValue(v);\n }\n\n return { variables };\n}\n\nfunction encodeQuery(params?: Record<string, string | number | boolean | undefined>): string {\n if (!params) {\n return \"\";\n }\n const sp = new URLSearchParams();\n for (const [k, v] of Object.entries(params)) {\n if (v === undefined || v === null) {\n continue;\n }\n sp.append(k, String(v));\n }\n const q = sp.toString();\n return q ? `?${q}` : \"\";\n}\n\nfunction noContentToNull<T>(r: ClientResult<T>): ClientResult<T | null> {\n if (r.status === 204) {\n return { ...r, data: null };\n }\n return r;\n}\n\nexport function createBpmClient(http: HttpClient = createHttpClient()): BpmClient {\n return {\n startProcess(\n processKey: string,\n inputs?: Record<string, CamundaVariableValue> | VariableSubmission\n ): Promise<ClientResult<ProcessInstance>> {\n if (!processKey) {\n return Promise.resolve({\n data: null,\n error: { message: \"Process key is required\", status: 400 },\n status: 400,\n });\n }\n return http.request<ProcessInstance>({\n url: `/api/bpm/start/${processKey}`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: toVariableSubmission(inputs),\n });\n },\n\n getProcessInstances(\n params?: ProcessInstanceQueryParams\n ): Promise<ClientResult<ProcessInstance[]>> {\n return http.request<ProcessInstance[]>({\n url: `/api/bpm/process-instance${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getProcessInstance(processInstanceId: string): Promise<ClientResult<ProcessInstance>> {\n if (!processInstanceId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Process instance ID is required\", status: 400 },\n status: 400,\n });\n }\n return http.request<ProcessInstance>({\n url: `/api/bpm/process-instance/${processInstanceId}`,\n method: \"get\",\n });\n },\n\n async deleteProcessInstance(\n processInstanceId: string,\n params?: { skipCustomListeners?: boolean }\n ): Promise<ClientResult<null>> {\n if (!processInstanceId) {\n return {\n data: null,\n error: { message: \"Process instance ID is required\", status: 400 },\n status: 400,\n };\n }\n const q = params?.skipCustomListeners ? \"?skipCustomListeners=true\" : \"\";\n const result = await http.request<null>({\n url: `/api/bpm/process-instance/${processInstanceId}${q}`,\n method: \"delete\",\n });\n return noContentToNull(result) as ClientResult<null>;\n },\n\n getActiveActivities(processInstanceId: string): Promise<ClientResult<ActivityInstance[]>> {\n if (!processInstanceId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Process instance ID is required\", status: 400 },\n status: 400,\n });\n }\n return http.request<ActivityInstance[]>({\n url: `/api/bpm/process-instance/${processInstanceId}/activity-instances`,\n method: \"get\",\n });\n },\n\n getTasks(params?: TaskQueryParams): Promise<ClientResult<Task[]>> {\n return http.request<Task[]>({\n url: `/api/bpm/task${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getTaskCount(params?: TaskQueryParams): Promise<ClientResult<TaskCount>> {\n return http.request<TaskCount>({\n url: `/api/bpm/task/count${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getTask(taskId: string): Promise<ClientResult<Task>> {\n if (!taskId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Task ID is required\", status: 400 },\n status: 400,\n });\n }\n return http.request<Task>({\n url: `/api/bpm/task/${taskId}`,\n method: \"get\",\n });\n },\n\n getTaskFormSchema(\n taskId: string,\n opts?: { redirect?: string }\n ): Promise<ClientResult<TaskFormSchema>> {\n if (!taskId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Task ID is required\", status: 400 },\n status: 400,\n });\n }\n const q = encodeQuery(opts?.redirect ? { redirect: opts.redirect } : undefined);\n return http.request<TaskFormSchema>({\n url: `/api/bpm/task/${taskId}/form-schema${q}`,\n method: \"get\",\n });\n },\n\n getTaskFormVariables(taskId: string): Promise<ClientResult<TaskFormVariables>> {\n if (!taskId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Task ID is required\", status: 400 },\n status: 400,\n });\n }\n return http.request<TaskFormVariables>({\n url: `/api/bpm/task/${taskId}/form-variables`,\n method: \"get\",\n });\n },\n\n async completeTask(\n taskId: string,\n inputs: Record<string, CamundaVariableValue> | VariableSubmission\n ): Promise<ClientResult<null>> {\n if (!taskId) {\n return {\n data: null,\n error: { message: \"Task ID is required\", status: 400 },\n status: 400,\n };\n }\n const r = await http.request<null>({\n url: `/api/bpm/task/${taskId}/complete`,\n method: \"post\",\n headers: { \"Content-Type\": \"application/json\" },\n data: toVariableSubmission(inputs),\n });\n return noContentToNull(r) as ClientResult<null>;\n },\n\n getHistoryTasks(params?: HistoryTaskQueryParams): Promise<ClientResult<HistoryTask[]>> {\n return http.request<HistoryTask[]>({\n url: `/api/bpm/history/task${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getHistoryTaskCount(params?: HistoryTaskQueryParams): Promise<ClientResult<TaskCount>> {\n return http.request<TaskCount>({\n url: `/api/bpm/history/task/count${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getHistoryProcessInstances(\n params?: HistoryProcessInstanceQueryParams\n ): Promise<ClientResult<HistoryProcessInstance[]>> {\n return http.request<HistoryProcessInstance[]>({\n url: `/api/bpm/history/process-instance${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getHistoryProcessInstanceCount(\n params?: HistoryProcessInstanceQueryParams\n ): Promise<ClientResult<{ count: number }>> {\n return http.request<{ count: number }>({\n url: `/api/bpm/history/process-instance/count${encodeQuery(params)}`,\n method: \"get\",\n });\n },\n\n getHistoryProcessInstance(\n processInstanceId: string\n ): Promise<ClientResult<HistoryProcessInstance>> {\n if (!processInstanceId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Process instance ID is required\", status: 400 },\n status: 400,\n });\n }\n return http.request<HistoryProcessInstance>({\n url: `/api/bpm/history/process-instance/${processInstanceId}`,\n method: \"get\",\n });\n },\n\n getProcessVariables(params: {\n processInstanceId: string;\n variableName?: string;\n }): Promise<ClientResult<ProcessVariable[]>> {\n if (!params.processInstanceId) {\n return Promise.resolve({\n data: null,\n error: { message: \"Process instance ID is required\", status: 400 },\n status: 400,\n });\n }\n const q = encodeQuery(params);\n return http.request<ProcessVariable[]>({\n url: `/api/bpm/history/variable-instance${q}`,\n method: \"get\",\n });\n },\n };\n}\n"]}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@amaster.ai/bpm-client",
3
+ "version": "1.0.0-beta.0",
4
+ "description": "Camunda 7 BPM process engine client",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "README.md"
19
+ ],
20
+ "keywords": [
21
+ "bpm",
22
+ "camunda",
23
+ "workflow",
24
+ "process",
25
+ "typescript"
26
+ ],
27
+ "author": "Amaster Team",
28
+ "license": "MIT",
29
+ "publishConfig": {
30
+ "access": "public",
31
+ "registry": "https://registry.npmjs.org/"
32
+ },
33
+ "dependencies": {
34
+ "@amaster.ai/http-client": "1.0.0-beta.0"
35
+ },
36
+ "peerDependencies": {
37
+ "axios": "^1.11.0"
38
+ },
39
+ "devDependencies": {
40
+ "axios": "^1.11.0",
41
+ "tsup": "^8.3.5",
42
+ "typescript": "~5.7.2"
43
+ },
44
+ "scripts": {
45
+ "build": "tsup",
46
+ "dev": "tsup --watch",
47
+ "clean": "rm -rf dist *.tsbuildinfo",
48
+ "type-check": "tsc --noEmit"
49
+ }
50
+ }