@xtr-dev/payload-automation 0.0.40 → 0.0.42

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.
Files changed (57) hide show
  1. package/README.md +76 -160
  2. package/dist/collections/Workflow.d.ts +3 -0
  3. package/dist/collections/Workflow.js +46 -2
  4. package/dist/collections/Workflow.js.map +1 -1
  5. package/dist/collections/WorkflowRuns.d.ts +2 -0
  6. package/dist/components/ErrorDisplay.d.ts +9 -0
  7. package/dist/components/ReadOnlyBanner.d.ts +2 -0
  8. package/dist/components/ReadOnlyBanner.js +67 -0
  9. package/dist/components/ReadOnlyBanner.js.map +1 -0
  10. package/dist/components/StatusCell.d.ts +6 -0
  11. package/dist/components/WorkflowBuilder/StepConfigurationForm.d.ts +34 -0
  12. package/dist/components/WorkflowBuilder/WorkflowBuilder.d.ts +40 -0
  13. package/dist/components/WorkflowBuilder/WorkflowToolbar.d.ts +14 -0
  14. package/dist/components/WorkflowBuilder/index.d.ts +4 -0
  15. package/dist/components/WorkflowBuilder/nodes/StepNode.d.ts +3 -0
  16. package/dist/core/trigger-custom-workflow.d.ts +52 -0
  17. package/dist/core/workflow-executor.d.ts +90 -0
  18. package/dist/exports/client.d.ts +3 -0
  19. package/dist/exports/client.js +2 -1
  20. package/dist/exports/client.js.map +1 -1
  21. package/dist/exports/fields.d.ts +1 -0
  22. package/dist/exports/rsc.d.ts +1 -0
  23. package/dist/exports/server.d.ts +5 -0
  24. package/dist/exports/views.d.ts +1 -0
  25. package/dist/fields/WorkflowBuilderField.d.ts +7 -0
  26. package/dist/fields/parameter.d.ts +4 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/plugin/collection-hook.d.ts +1 -0
  30. package/dist/plugin/config-types.d.ts +36 -0
  31. package/dist/plugin/config-types.js.map +1 -1
  32. package/dist/plugin/global-hook.d.ts +1 -0
  33. package/dist/plugin/index.d.ts +4 -0
  34. package/dist/plugin/index.js +53 -0
  35. package/dist/plugin/index.js.map +1 -1
  36. package/dist/plugin/logger.d.ts +20 -0
  37. package/dist/steps/create-document-handler.d.ts +2 -0
  38. package/dist/steps/create-document.d.ts +46 -0
  39. package/dist/steps/delete-document-handler.d.ts +2 -0
  40. package/dist/steps/delete-document.d.ts +39 -0
  41. package/dist/steps/http-request-handler.d.ts +2 -0
  42. package/dist/steps/http-request.d.ts +155 -0
  43. package/dist/steps/index.d.ts +12 -0
  44. package/dist/steps/read-document-handler.d.ts +2 -0
  45. package/dist/steps/read-document.d.ts +46 -0
  46. package/dist/steps/send-email-handler.d.ts +2 -0
  47. package/dist/steps/send-email.d.ts +44 -0
  48. package/dist/steps/update-document-handler.d.ts +2 -0
  49. package/dist/steps/update-document.d.ts +46 -0
  50. package/dist/triggers/collection-trigger.d.ts +2 -0
  51. package/dist/triggers/global-trigger.d.ts +2 -0
  52. package/dist/triggers/index.d.ts +2 -0
  53. package/dist/triggers/types.d.ts +5 -0
  54. package/dist/types/index.d.ts +24 -0
  55. package/dist/types/index.js +1 -0
  56. package/dist/types/index.js.map +1 -1
  57. package/package.json +4 -3
@@ -0,0 +1,155 @@
1
+ export declare const HttpRequestStepTask: {
2
+ slug: "http-request-step";
3
+ handler: import("payload").TaskHandler<"http-request-step">;
4
+ inputSchema: ({
5
+ name: string;
6
+ type: "text";
7
+ admin: {
8
+ description: string;
9
+ condition?: undefined;
10
+ };
11
+ required: true;
12
+ options?: undefined;
13
+ defaultValue?: undefined;
14
+ fields?: undefined;
15
+ min?: undefined;
16
+ max?: undefined;
17
+ } | {
18
+ name: string;
19
+ type: "select";
20
+ options: {
21
+ label: string;
22
+ value: string;
23
+ }[];
24
+ defaultValue: string;
25
+ admin: {
26
+ description: string;
27
+ condition?: undefined;
28
+ };
29
+ required?: undefined;
30
+ fields?: undefined;
31
+ min?: undefined;
32
+ max?: undefined;
33
+ } | {
34
+ name: string;
35
+ type: "json";
36
+ admin: {
37
+ description: string;
38
+ condition?: undefined;
39
+ };
40
+ required?: undefined;
41
+ options?: undefined;
42
+ defaultValue?: undefined;
43
+ fields?: undefined;
44
+ min?: undefined;
45
+ max?: undefined;
46
+ } | {
47
+ name: string;
48
+ type: "json";
49
+ admin: {
50
+ condition: (_: Partial<any>, siblingData: Partial<any>) => boolean;
51
+ description: string;
52
+ };
53
+ required?: undefined;
54
+ options?: undefined;
55
+ defaultValue?: undefined;
56
+ fields?: undefined;
57
+ min?: undefined;
58
+ max?: undefined;
59
+ } | {
60
+ name: string;
61
+ type: "number";
62
+ defaultValue: number;
63
+ admin: {
64
+ description: string;
65
+ condition?: undefined;
66
+ };
67
+ required?: undefined;
68
+ options?: undefined;
69
+ fields?: undefined;
70
+ min?: undefined;
71
+ max?: undefined;
72
+ } | {
73
+ name: string;
74
+ type: "group";
75
+ fields: ({
76
+ name: string;
77
+ type: "select";
78
+ options: {
79
+ label: string;
80
+ value: string;
81
+ }[];
82
+ defaultValue: string;
83
+ admin: {
84
+ description: string;
85
+ condition?: undefined;
86
+ };
87
+ } | {
88
+ name: string;
89
+ type: "text";
90
+ admin: {
91
+ condition: (_: Partial<any>, siblingData: Partial<any>) => boolean;
92
+ description: string;
93
+ };
94
+ options?: undefined;
95
+ defaultValue?: undefined;
96
+ })[];
97
+ admin?: undefined;
98
+ required?: undefined;
99
+ options?: undefined;
100
+ defaultValue?: undefined;
101
+ min?: undefined;
102
+ max?: undefined;
103
+ } | {
104
+ name: string;
105
+ type: "number";
106
+ defaultValue: number;
107
+ min: number;
108
+ max: number;
109
+ admin: {
110
+ description: string;
111
+ condition?: undefined;
112
+ };
113
+ required?: undefined;
114
+ options?: undefined;
115
+ fields?: undefined;
116
+ } | {
117
+ name: string;
118
+ type: "number";
119
+ defaultValue: number;
120
+ admin: {
121
+ condition: (_: Partial<any>, siblingData: Partial<any>) => boolean;
122
+ description: string;
123
+ };
124
+ required?: undefined;
125
+ options?: undefined;
126
+ fields?: undefined;
127
+ min?: undefined;
128
+ max?: undefined;
129
+ })[];
130
+ outputSchema: ({
131
+ name: string;
132
+ type: "number";
133
+ admin: {
134
+ description: string;
135
+ };
136
+ } | {
137
+ name: string;
138
+ type: "text";
139
+ admin: {
140
+ description: string;
141
+ };
142
+ } | {
143
+ name: string;
144
+ type: "json";
145
+ admin: {
146
+ description: string;
147
+ };
148
+ } | {
149
+ name: string;
150
+ type: "textarea";
151
+ admin: {
152
+ description: string;
153
+ };
154
+ })[];
155
+ };
@@ -0,0 +1,12 @@
1
+ export { CreateDocumentStepTask } from './create-document.js';
2
+ export { createDocumentHandler } from './create-document-handler.js';
3
+ export { DeleteDocumentStepTask } from './delete-document.js';
4
+ export { deleteDocumentHandler } from './delete-document-handler.js';
5
+ export { HttpRequestStepTask } from './http-request.js';
6
+ export { httpStepHandler } from './http-request-handler.js';
7
+ export { ReadDocumentStepTask } from './read-document.js';
8
+ export { readDocumentHandler } from './read-document-handler.js';
9
+ export { SendEmailStepTask } from './send-email.js';
10
+ export { sendEmailHandler } from './send-email-handler.js';
11
+ export { UpdateDocumentStepTask } from './update-document.js';
12
+ export { updateDocumentHandler } from './update-document-handler.js';
@@ -0,0 +1,2 @@
1
+ import type { TaskHandler } from "payload";
2
+ export declare const readDocumentHandler: TaskHandler<'read-document'>;
@@ -0,0 +1,46 @@
1
+ export declare const ReadDocumentStepTask: {
2
+ slug: "read-document";
3
+ handler: import("payload").TaskHandler<"read-document">;
4
+ inputSchema: ({
5
+ name: string;
6
+ type: "text";
7
+ admin: {
8
+ description: string;
9
+ };
10
+ required: true;
11
+ } | {
12
+ name: string;
13
+ type: "text";
14
+ admin: {
15
+ description: string;
16
+ };
17
+ required?: undefined;
18
+ } | {
19
+ name: string;
20
+ type: "json";
21
+ admin: {
22
+ description: string;
23
+ };
24
+ required?: undefined;
25
+ } | {
26
+ name: string;
27
+ type: "number";
28
+ admin: {
29
+ description: string;
30
+ };
31
+ required?: undefined;
32
+ })[];
33
+ outputSchema: ({
34
+ name: string;
35
+ type: "json";
36
+ admin: {
37
+ description: string;
38
+ };
39
+ } | {
40
+ name: string;
41
+ type: "number";
42
+ admin: {
43
+ description: string;
44
+ };
45
+ })[];
46
+ };
@@ -0,0 +1,2 @@
1
+ import type { TaskHandler } from "payload";
2
+ export declare const sendEmailHandler: TaskHandler<'send-email'>;
@@ -0,0 +1,44 @@
1
+ export declare const SendEmailStepTask: {
2
+ slug: "send-email";
3
+ handler: import("payload").TaskHandler<"send-email">;
4
+ inputSchema: ({
5
+ name: string;
6
+ type: "text";
7
+ admin: {
8
+ description: string;
9
+ };
10
+ required: true;
11
+ hasMany?: undefined;
12
+ } | {
13
+ name: string;
14
+ type: "text";
15
+ admin: {
16
+ description: string;
17
+ };
18
+ required?: undefined;
19
+ hasMany?: undefined;
20
+ } | {
21
+ name: string;
22
+ type: "textarea";
23
+ admin: {
24
+ description: string;
25
+ };
26
+ required?: undefined;
27
+ hasMany?: undefined;
28
+ } | {
29
+ name: string;
30
+ type: "text";
31
+ admin: {
32
+ description: string;
33
+ };
34
+ hasMany: true;
35
+ required?: undefined;
36
+ })[];
37
+ outputSchema: {
38
+ name: string;
39
+ type: "text";
40
+ admin: {
41
+ description: string;
42
+ };
43
+ }[];
44
+ };
@@ -0,0 +1,2 @@
1
+ import type { TaskHandler } from "payload";
2
+ export declare const updateDocumentHandler: TaskHandler<'update-document'>;
@@ -0,0 +1,46 @@
1
+ export declare const UpdateDocumentStepTask: {
2
+ slug: "update-document";
3
+ handler: import("payload").TaskHandler<"update-document">;
4
+ inputSchema: ({
5
+ name: string;
6
+ type: "text";
7
+ admin: {
8
+ description: string;
9
+ };
10
+ required: true;
11
+ } | {
12
+ name: string;
13
+ type: "json";
14
+ admin: {
15
+ description: string;
16
+ };
17
+ required: true;
18
+ } | {
19
+ name: string;
20
+ type: "checkbox";
21
+ admin: {
22
+ description: string;
23
+ };
24
+ required?: undefined;
25
+ } | {
26
+ name: string;
27
+ type: "text";
28
+ admin: {
29
+ description: string;
30
+ };
31
+ required?: undefined;
32
+ })[];
33
+ outputSchema: ({
34
+ name: string;
35
+ type: "json";
36
+ admin: {
37
+ description: string;
38
+ };
39
+ } | {
40
+ name: string;
41
+ type: "text";
42
+ admin: {
43
+ description: string;
44
+ };
45
+ })[];
46
+ };
@@ -0,0 +1,2 @@
1
+ import type { TriggerConfig } from '../plugin/config-types.js';
2
+ export declare const collectionTrigger: TriggerConfig;
@@ -0,0 +1,2 @@
1
+ import type { TriggerConfig } from '../plugin/config-types.js';
2
+ export declare const globalTrigger: TriggerConfig;
@@ -0,0 +1,2 @@
1
+ export { collectionTrigger } from './collection-trigger.js';
2
+ export { globalTrigger } from './global-trigger.js';
@@ -0,0 +1,5 @@
1
+ import type { Field } from "payload";
2
+ export type Trigger = {
3
+ slug: string;
4
+ parameters: Field[];
5
+ };
@@ -0,0 +1,24 @@
1
+ export interface CustomTriggerOptions {
2
+ workflowId: string;
3
+ triggerData?: any;
4
+ req?: any;
5
+ }
6
+ export interface TriggerResult {
7
+ success: boolean;
8
+ runId?: string;
9
+ error?: string;
10
+ }
11
+ export interface ExecutionContext {
12
+ trigger: {
13
+ type: string;
14
+ doc?: any;
15
+ data?: any;
16
+ };
17
+ steps: Record<string, {
18
+ output?: any;
19
+ state: 'pending' | 'running' | 'succeeded' | 'failed';
20
+ }>;
21
+ payload: any;
22
+ req: any;
23
+ }
24
+ export type { WorkflowsPluginConfig, SeedWorkflow } from '../plugin/config-types.js';
@@ -3,6 +3,7 @@
3
3
  // NOTE: Workflow, WorkflowStep, and WorkflowTrigger types are now imported from the generated PayloadCMS types
4
4
  // These interfaces have been removed to avoid duplication and inconsistencies
5
5
  // Import them from 'payload' or the generated payload-types.ts file instead
6
+ // Re-export plugin config types
6
7
  export { };
7
8
 
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["// Pure type definitions for client-safe exports\n// This file contains NO runtime code and can be safely bundled\n\nexport interface CustomTriggerOptions {\n workflowId: string\n triggerData?: any\n req?: any // PayloadRequest type, but avoiding import to keep this client-safe\n}\n\nexport interface TriggerResult {\n success: boolean\n runId?: string\n error?: string\n}\n\nexport interface ExecutionContext {\n trigger: {\n type: string\n doc?: any\n data?: any\n }\n steps: Record<string, {\n output?: any\n state: 'pending' | 'running' | 'succeeded' | 'failed'\n }>\n payload: any // Payload instance\n req: any // PayloadRequest\n}\n\n// NOTE: Workflow, WorkflowStep, and WorkflowTrigger types are now imported from the generated PayloadCMS types\n// These interfaces have been removed to avoid duplication and inconsistencies\n// Import them from 'payload' or the generated payload-types.ts file instead\n\nexport interface WorkflowsPluginConfig {\n collections?: string[]\n globals?: string[]\n logging?: {\n level?: 'debug' | 'info' | 'warn' | 'error'\n enabled?: boolean\n }\n}"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,+DAA+D;AA4B/D,+GAA+G;AAC/G,8EAA8E;AAC9E,4EAA4E;AAE5E,WAOC"}
1
+ {"version":3,"sources":["../../src/types/index.ts"],"sourcesContent":["// Pure type definitions for client-safe exports\n// This file contains NO runtime code and can be safely bundled\n\nexport interface CustomTriggerOptions {\n workflowId: string\n triggerData?: any\n req?: any // PayloadRequest type, but avoiding import to keep this client-safe\n}\n\nexport interface TriggerResult {\n success: boolean\n runId?: string\n error?: string\n}\n\nexport interface ExecutionContext {\n trigger: {\n type: string\n doc?: any\n data?: any\n }\n steps: Record<string, {\n output?: any\n state: 'pending' | 'running' | 'succeeded' | 'failed'\n }>\n payload: any // Payload instance\n req: any // PayloadRequest\n}\n\n// NOTE: Workflow, WorkflowStep, and WorkflowTrigger types are now imported from the generated PayloadCMS types\n// These interfaces have been removed to avoid duplication and inconsistencies\n// Import them from 'payload' or the generated payload-types.ts file instead\n\n// Re-export plugin config types\nexport type { WorkflowsPluginConfig, SeedWorkflow } from '../plugin/config-types.js'"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,+DAA+D;AA4B/D,+GAA+G;AAC/G,8EAA8E;AAC9E,4EAA4E;AAE5E,gCAAgC;AAChC,WAAoF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xtr-dev/payload-automation",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "description": "PayloadCMS Automation Plugin - Comprehensive workflow automation system with visual workflow building, execution tracking, and step types",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -47,7 +47,7 @@
47
47
  "dist"
48
48
  ],
49
49
  "scripts": {
50
- "build": "pnpm copyfiles && pnpm build:swc",
50
+ "build": "pnpm copyfiles && pnpm build:types && pnpm build:swc",
51
51
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
52
52
  "build:types": "tsc --outDir dist --rootDir ./src",
53
53
  "clean": "rimraf {dist,*.tsbuildinfo}",
@@ -86,7 +86,7 @@
86
86
  "eslint": "^9.23.0",
87
87
  "graphql": "^16.8.1",
88
88
  "mongodb-memory-server": "10.1.4",
89
- "next": "15.4.4",
89
+ "next": "15.4.8",
90
90
  "nock": "^14.0.10",
91
91
  "payload": "3.45.0",
92
92
  "react": "19.1.0",
@@ -136,6 +136,7 @@
136
136
  "registry": "https://registry.npmjs.org/",
137
137
  "packageManager": "pnpm@10.12.4+sha512.5ea8b0deed94ed68691c9bad4c955492705c5eeb8a87ef86bc62c74a26b037b08ff9570f108b2e4dbd1dd1a9186fea925e527f141c648e85af45631074680184",
138
138
  "dependencies": {
139
+ "@xyflow/react": "^12.10.0",
139
140
  "handlebars": "^4.7.8",
140
141
  "node-cron": "^4.2.1",
141
142
  "pino": "^9.9.0"