@memberjunction/core-actions 5.39.0 → 5.40.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.
Files changed (29) hide show
  1. package/dist/custom/ai/run-cluster-analysis.action.d.ts +49 -0
  2. package/dist/custom/ai/run-cluster-analysis.action.d.ts.map +1 -0
  3. package/dist/custom/ai/run-cluster-analysis.action.js +187 -0
  4. package/dist/custom/ai/run-cluster-analysis.action.js.map +1 -0
  5. package/dist/custom/esignature/base-esignature.action.d.ts +24 -0
  6. package/dist/custom/esignature/base-esignature.action.d.ts.map +1 -0
  7. package/dist/custom/esignature/base-esignature.action.js +68 -0
  8. package/dist/custom/esignature/base-esignature.action.js.map +1 -0
  9. package/dist/custom/esignature/download-signed-document.action.d.ts +15 -0
  10. package/dist/custom/esignature/download-signed-document.action.d.ts.map +1 -0
  11. package/dist/custom/esignature/download-signed-document.action.js +50 -0
  12. package/dist/custom/esignature/download-signed-document.action.js.map +1 -0
  13. package/dist/custom/esignature/get-signature-status.action.d.ts +15 -0
  14. package/dist/custom/esignature/get-signature-status.action.d.ts.map +1 -0
  15. package/dist/custom/esignature/get-signature-status.action.js +48 -0
  16. package/dist/custom/esignature/get-signature-status.action.js.map +1 -0
  17. package/dist/custom/esignature/send-document-for-signature.action.d.ts +24 -0
  18. package/dist/custom/esignature/send-document-for-signature.action.d.ts.map +1 -0
  19. package/dist/custom/esignature/send-document-for-signature.action.js +112 -0
  20. package/dist/custom/esignature/send-document-for-signature.action.js.map +1 -0
  21. package/dist/custom/esignature/void-signature-request.action.d.ts +15 -0
  22. package/dist/custom/esignature/void-signature-request.action.d.ts.map +1 -0
  23. package/dist/custom/esignature/void-signature-request.action.js +47 -0
  24. package/dist/custom/esignature/void-signature-request.action.js.map +1 -0
  25. package/dist/index.d.ts +6 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +7 -0
  28. package/dist/index.js.map +1 -1
  29. package/package.json +36 -34
@@ -0,0 +1,49 @@
1
+ import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseAction } from '@memberjunction/actions';
3
+ /**
4
+ * Action: "Run Cluster Analysis"
5
+ *
6
+ * Thin wrapper over {@link ClusteringEngine.RunPipeline}. Fetches embedding
7
+ * vectors for an entity / entity document, clusters them (KMeans or DBSCAN),
8
+ * projects them to 2D/3D, optionally names clusters with an LLM, and — when a
9
+ * `PersistAs` name is supplied — persists the result to `MJ: Cluster Analysis`.
10
+ *
11
+ * All business logic lives in the engine; this action only maps params and
12
+ * returns a summary.
13
+ *
14
+ * Parameters (Input):
15
+ * - EntityID: ID of the entity to cluster (alternative to EntityDocumentID).
16
+ * - EntityDocumentID: specific Entity Document supplying vectors.
17
+ * - Algorithm: 'kmeans' (default) or 'dbscan'.
18
+ * - K: number of clusters for KMeans (default 4).
19
+ * - Epsilon: DBSCAN neighbourhood radius (default 0.3).
20
+ * - MinPoints: DBSCAN minimum points (default 3).
21
+ * - DistanceMetric: 'cosine' (default) | 'euclidean' | 'dotproduct'.
22
+ * - MaxRecords: max records to fetch (default 500).
23
+ * - Filter: optional SQL filter applied to the source records.
24
+ * - NameClusters: 'true' to run LLM cluster naming (default false).
25
+ * - PersistAs: when set, the analysis is saved with this name.
26
+ *
27
+ * Output params: AnalysisID (when persisted), ClusterCount, RecordCount, SilhouetteScore.
28
+ */
29
+ export declare class RunClusterAnalysisAction extends BaseAction {
30
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
31
+ /** Build a {@link ClusterConfig} from the action params. */
32
+ private buildConfig;
33
+ /** Persist the analysis when a PersistAs name is supplied; return its ID or null. */
34
+ private maybePersist;
35
+ /** Add output params summarizing the run. */
36
+ private addOutputs;
37
+ /** Build a human-readable summary message. */
38
+ private buildSummary;
39
+ /** Coerce the engine metric onto the supported union, defaulting to cosine. */
40
+ private normalizeMetric;
41
+ private findParam;
42
+ private getString;
43
+ private getNumber;
44
+ private getBoolean;
45
+ private addOutput;
46
+ }
47
+ /** Tree-shaking prevention — call from index to keep the @RegisterClass alive. */
48
+ export declare function LoadRunClusterAnalysisAction(): void;
49
+ //# sourceMappingURL=run-cluster-analysis.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-cluster-analysis.action.d.ts","sourceRoot":"","sources":["../../../src/custom/ai/run-cluster-analysis.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAYrD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,wBAAyB,SAAQ,UAAU;cACpC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyCvF,4DAA4D;IAC5D,OAAO,CAAC,WAAW;IAkBnB,qFAAqF;YACvE,YAAY;IAkB1B,6CAA6C;IAC7C,OAAO,CAAC,UAAU;IASlB,8CAA8C;IAC9C,OAAO,CAAC,YAAY;IAcpB,+EAA+E;IAC/E,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,SAAS;CASpB;AAED,kFAAkF;AAClF,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
@@ -0,0 +1,187 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { BaseAction } from '@memberjunction/actions';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import { LogError } from '@memberjunction/core';
10
+ import { ClusteringEngine, EntityDocumentVectorSource, } from '@memberjunction/clustering-engine';
11
+ /**
12
+ * Action: "Run Cluster Analysis"
13
+ *
14
+ * Thin wrapper over {@link ClusteringEngine.RunPipeline}. Fetches embedding
15
+ * vectors for an entity / entity document, clusters them (KMeans or DBSCAN),
16
+ * projects them to 2D/3D, optionally names clusters with an LLM, and — when a
17
+ * `PersistAs` name is supplied — persists the result to `MJ: Cluster Analysis`.
18
+ *
19
+ * All business logic lives in the engine; this action only maps params and
20
+ * returns a summary.
21
+ *
22
+ * Parameters (Input):
23
+ * - EntityID: ID of the entity to cluster (alternative to EntityDocumentID).
24
+ * - EntityDocumentID: specific Entity Document supplying vectors.
25
+ * - Algorithm: 'kmeans' (default) or 'dbscan'.
26
+ * - K: number of clusters for KMeans (default 4).
27
+ * - Epsilon: DBSCAN neighbourhood radius (default 0.3).
28
+ * - MinPoints: DBSCAN minimum points (default 3).
29
+ * - DistanceMetric: 'cosine' (default) | 'euclidean' | 'dotproduct'.
30
+ * - MaxRecords: max records to fetch (default 500).
31
+ * - Filter: optional SQL filter applied to the source records.
32
+ * - NameClusters: 'true' to run LLM cluster naming (default false).
33
+ * - PersistAs: when set, the analysis is saved with this name.
34
+ *
35
+ * Output params: AnalysisID (when persisted), ClusterCount, RecordCount, SilhouetteScore.
36
+ */
37
+ let RunClusterAnalysisAction = class RunClusterAnalysisAction extends BaseAction {
38
+ async InternalRunAction(params) {
39
+ try {
40
+ const config = this.buildConfig(params);
41
+ if (!config.EntityID && !config.EntityDocumentID) {
42
+ return {
43
+ Success: false,
44
+ ResultCode: 'MISSING_PARAMETER',
45
+ Message: "One of 'EntityID' or 'EntityDocumentID' is required.",
46
+ };
47
+ }
48
+ const engine = new ClusteringEngine();
49
+ const source = new EntityDocumentVectorSource(params.ContextUser, params.Provider);
50
+ const result = await engine.RunPipeline(config, source, params.ContextUser);
51
+ if (result.Metrics.RecordCount === 0) {
52
+ return {
53
+ Success: false,
54
+ ResultCode: 'NO_VECTORS',
55
+ Message: 'No vectors were found for the supplied entity / document / filter.',
56
+ };
57
+ }
58
+ const analysisID = await this.maybePersist(params, engine, result, config);
59
+ this.addOutputs(params, result, analysisID);
60
+ return {
61
+ Success: true,
62
+ ResultCode: 'SUCCESS',
63
+ Message: this.buildSummary(result, analysisID),
64
+ };
65
+ }
66
+ catch (error) {
67
+ LogError(`RunClusterAnalysisAction: ${error}`);
68
+ return {
69
+ Success: false,
70
+ ResultCode: 'UNEXPECTED_ERROR',
71
+ Message: error instanceof Error ? error.message : String(error),
72
+ };
73
+ }
74
+ }
75
+ /** Build a {@link ClusterConfig} from the action params. */
76
+ buildConfig(params) {
77
+ const algorithm = this.getString(params, 'algorithm', 'kmeans').toLowerCase();
78
+ const metric = this.getString(params, 'distancemetric', 'cosine').toLowerCase();
79
+ return {
80
+ EntityID: this.getString(params, 'entityid', ''),
81
+ EntityDocumentID: this.getString(params, 'entitydocumentid', ''),
82
+ Algorithm: (algorithm === 'dbscan' ? 'dbscan' : 'kmeans'),
83
+ K: this.getNumber(params, 'k', 4),
84
+ Epsilon: this.getNumber(params, 'epsilon', 0.3),
85
+ MinPoints: this.getNumber(params, 'minpoints', 3),
86
+ DistanceMetric: this.normalizeMetric(metric),
87
+ MaxRecords: this.getNumber(params, 'maxrecords', 500),
88
+ Filter: this.getString(params, 'filter', ''),
89
+ NameClusters: this.getBoolean(params, 'nameclusters', false),
90
+ Dimensions: 2,
91
+ };
92
+ }
93
+ /** Persist the analysis when a PersistAs name is supplied; return its ID or null. */
94
+ async maybePersist(params, engine, result, config) {
95
+ const persistAs = this.getString(params, 'persistas', '');
96
+ if (!persistAs) {
97
+ return null;
98
+ }
99
+ const user = params.ContextUser;
100
+ if (!user) {
101
+ LogError('RunClusterAnalysisAction: PersistAs supplied but no ContextUser available — skipping persistence.');
102
+ return null;
103
+ }
104
+ return engine.SaveAnalysis(result, config, { Name: persistAs, UserID: user.ID }, user, params.Provider);
105
+ }
106
+ /** Add output params summarizing the run. */
107
+ addOutputs(params, result, analysisID) {
108
+ if (analysisID) {
109
+ this.addOutput(params, 'AnalysisID', analysisID);
110
+ }
111
+ this.addOutput(params, 'ClusterCount', result.Metrics.ClusterCount);
112
+ this.addOutput(params, 'RecordCount', result.Metrics.RecordCount);
113
+ this.addOutput(params, 'SilhouetteScore', result.Metrics.SilhouetteScore);
114
+ }
115
+ /** Build a human-readable summary message. */
116
+ buildSummary(result, analysisID) {
117
+ const m = result.Metrics;
118
+ const parts = [
119
+ `Clustered ${m.RecordCount} records into ${m.ClusterCount} clusters`,
120
+ `silhouette=${m.SilhouetteScore.toFixed(3)}`,
121
+ `outliers=${m.OutlierCount}`,
122
+ `time=${m.ComputationTimeMs}ms`,
123
+ ];
124
+ if (analysisID) {
125
+ parts.push(`saved as ${analysisID}`);
126
+ }
127
+ return parts.join(', ');
128
+ }
129
+ /** Coerce the engine metric onto the supported union, defaulting to cosine. */
130
+ normalizeMetric(metric) {
131
+ if (metric === 'euclidean' || metric === 'dotproduct') {
132
+ return metric;
133
+ }
134
+ return 'cosine';
135
+ }
136
+ // ---- param helpers -------------------------------------------------
137
+ findParam(params, name) {
138
+ return params.Params.find((p) => p.Name.trim().toLowerCase() === name.toLowerCase());
139
+ }
140
+ getString(params, name, defaultValue) {
141
+ const param = this.findParam(params, name);
142
+ if (!param || param.Value === undefined || param.Value === null) {
143
+ return defaultValue;
144
+ }
145
+ const value = String(param.Value).trim();
146
+ return value.length > 0 ? value : defaultValue;
147
+ }
148
+ getNumber(params, name, defaultValue) {
149
+ const param = this.findParam(params, name);
150
+ if (!param || param.Value === undefined || param.Value === null) {
151
+ return defaultValue;
152
+ }
153
+ const parsed = Number(param.Value);
154
+ return Number.isNaN(parsed) ? defaultValue : parsed;
155
+ }
156
+ getBoolean(params, name, defaultValue) {
157
+ const param = this.findParam(params, name);
158
+ if (!param || param.Value === undefined || param.Value === null) {
159
+ return defaultValue;
160
+ }
161
+ const value = String(param.Value).trim().toLowerCase();
162
+ if (value === 'true' || value === '1' || value === 'yes')
163
+ return true;
164
+ if (value === 'false' || value === '0' || value === 'no')
165
+ return false;
166
+ return defaultValue;
167
+ }
168
+ addOutput(params, name, value) {
169
+ const existing = this.findParam(params, name);
170
+ if (existing) {
171
+ existing.Value = value;
172
+ existing.Type = 'Output';
173
+ }
174
+ else {
175
+ params.Params.push({ Name: name, Type: 'Output', Value: value });
176
+ }
177
+ }
178
+ };
179
+ RunClusterAnalysisAction = __decorate([
180
+ RegisterClass(BaseAction, 'Run Cluster Analysis')
181
+ ], RunClusterAnalysisAction);
182
+ export { RunClusterAnalysisAction };
183
+ /** Tree-shaking prevention — call from index to keep the @RegisterClass alive. */
184
+ export function LoadRunClusterAnalysisAction() {
185
+ // no-op
186
+ }
187
+ //# sourceMappingURL=run-cluster-analysis.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-cluster-analysis.action.js","sourceRoot":"","sources":["../../../src/custom/ai/run-cluster-analysis.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseAction } from '@memberjunction/actions';
3
+ import { SignatureEngine } from '@memberjunction/esignature/server';
4
+ /**
5
+ * Shared base for the thin eSignature Actions. Each concrete Action extracts its params, ensures the
6
+ * {@link SignatureEngine} is configured, and delegates to it — Actions are the boundary, the engine
7
+ * is the substance (per CLAUDE.md Actions philosophy).
8
+ */
9
+ export declare abstract class BaseSignatureAction extends BaseAction {
10
+ /** Lazy-config the engine with the action's context user. */
11
+ protected ensureEngine(params: RunActionParams): Promise<SignatureEngine>;
12
+ /** Case-insensitive string param lookup; returns undefined when absent/blank. */
13
+ protected getStringParam(params: RunActionParams, name: string): string | undefined;
14
+ /** Case-insensitive boolean param with default. */
15
+ protected getBooleanParam(params: RunActionParams, name: string, defaultValue: boolean): boolean;
16
+ /**
17
+ * Case-insensitive param that may already be an object/array or a JSON string. Returns undefined
18
+ * when absent or unparseable.
19
+ */
20
+ protected getObjectParam<T>(params: RunActionParams, name: string): T | undefined;
21
+ /** Push an output param onto the action's param list. */
22
+ protected addOutput(params: RunActionParams, name: string, value: unknown): void;
23
+ }
24
+ //# sourceMappingURL=base-esignature.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-esignature.action.d.ts","sourceRoot":"","sources":["../../../src/custom/esignature/base-esignature.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEpE;;;;GAIG;AACH,8BAAsB,mBAAoB,SAAQ,UAAU;IACxD,6DAA6D;cAC7C,YAAY,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAK/E,iFAAiF;IACjF,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IASnF,mDAAmD;IACnD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO;IAchG;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAejF,yDAAyD;IACzD,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;CAOnF"}
@@ -0,0 +1,68 @@
1
+ import { ActionParam } from '@memberjunction/actions-base';
2
+ import { BaseAction } from '@memberjunction/actions';
3
+ import { SignatureEngine } from '@memberjunction/esignature/server';
4
+ /**
5
+ * Shared base for the thin eSignature Actions. Each concrete Action extracts its params, ensures the
6
+ * {@link SignatureEngine} is configured, and delegates to it — Actions are the boundary, the engine
7
+ * is the substance (per CLAUDE.md Actions philosophy).
8
+ */
9
+ export class BaseSignatureAction extends BaseAction {
10
+ /** Lazy-config the engine with the action's context user. */
11
+ async ensureEngine(params) {
12
+ await SignatureEngine.Instance.Config(false, params.ContextUser);
13
+ return SignatureEngine.Instance;
14
+ }
15
+ /** Case-insensitive string param lookup; returns undefined when absent/blank. */
16
+ getStringParam(params, name) {
17
+ const param = params.Params.find((p) => p.Name.trim().toLowerCase() === name.toLowerCase());
18
+ if (!param || param.Value == null) {
19
+ return undefined;
20
+ }
21
+ const value = String(param.Value).trim();
22
+ return value.length > 0 ? value : undefined;
23
+ }
24
+ /** Case-insensitive boolean param with default. */
25
+ getBooleanParam(params, name, defaultValue) {
26
+ const param = params.Params.find((p) => p.Name.trim().toLowerCase() === name.toLowerCase());
27
+ if (!param || param.Value == null) {
28
+ return defaultValue;
29
+ }
30
+ if (typeof param.Value === 'boolean') {
31
+ return param.Value;
32
+ }
33
+ const value = String(param.Value).trim().toLowerCase();
34
+ if (value === 'true' || value === '1' || value === 'yes')
35
+ return true;
36
+ if (value === 'false' || value === '0' || value === 'no')
37
+ return false;
38
+ return defaultValue;
39
+ }
40
+ /**
41
+ * Case-insensitive param that may already be an object/array or a JSON string. Returns undefined
42
+ * when absent or unparseable.
43
+ */
44
+ getObjectParam(params, name) {
45
+ const param = params.Params.find((p) => p.Name.trim().toLowerCase() === name.toLowerCase());
46
+ if (!param || param.Value == null) {
47
+ return undefined;
48
+ }
49
+ if (typeof param.Value === 'string') {
50
+ try {
51
+ return JSON.parse(param.Value);
52
+ }
53
+ catch {
54
+ return undefined;
55
+ }
56
+ }
57
+ return param.Value;
58
+ }
59
+ /** Push an output param onto the action's param list. */
60
+ addOutput(params, name, value) {
61
+ const out = new ActionParam();
62
+ out.Name = name;
63
+ out.Type = 'Output';
64
+ out.Value = value;
65
+ params.Params.push(out);
66
+ }
67
+ }
68
+ //# sourceMappingURL=base-esignature.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-esignature.action.js","sourceRoot":"","sources":["../../../src/custom/esignature/base-esignature.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseSignatureAction } from './base-esignature.action.js';
3
+ /**
4
+ * Action: "Download Signed Document".
5
+ *
6
+ * Downloads the executed/signed document for a completed signature request and records it as a
7
+ * `Signed`-role document. Thin wrapper over {@link SignatureEngine.DownloadSigned}.
8
+ *
9
+ * Inputs: SignatureRequestID (required).
10
+ * Outputs: DocumentBase64, Filename, ContentType.
11
+ */
12
+ export declare class DownloadSignedDocumentAction extends BaseSignatureAction {
13
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
14
+ }
15
+ //# sourceMappingURL=download-signed-document.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-signed-document.action.d.ts","sourceRoot":"","sources":["../../../src/custom/esignature/download-signed-document.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,qBACa,4BAA6B,SAAQ,mBAAmB;cACjD,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2B1F"}
@@ -0,0 +1,50 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RegisterClass } from '@memberjunction/global';
8
+ import { BaseAction } from '@memberjunction/actions';
9
+ import { BaseSignatureAction } from './base-esignature.action.js';
10
+ /**
11
+ * Action: "Download Signed Document".
12
+ *
13
+ * Downloads the executed/signed document for a completed signature request and records it as a
14
+ * `Signed`-role document. Thin wrapper over {@link SignatureEngine.DownloadSigned}.
15
+ *
16
+ * Inputs: SignatureRequestID (required).
17
+ * Outputs: DocumentBase64, Filename, ContentType.
18
+ */
19
+ let DownloadSignedDocumentAction = class DownloadSignedDocumentAction extends BaseSignatureAction {
20
+ async InternalRunAction(params) {
21
+ const requestId = this.getStringParam(params, 'SignatureRequestID');
22
+ if (!requestId) {
23
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: "Parameter 'SignatureRequestID' is required." };
24
+ }
25
+ try {
26
+ const engine = await this.ensureEngine(params);
27
+ const result = await engine.DownloadSigned(requestId, params.ContextUser);
28
+ if (!result.Success || !result.document) {
29
+ const notCompleted = (result.ErrorMessage ?? '').includes('not been sent');
30
+ return {
31
+ Success: false,
32
+ ResultCode: notCompleted ? 'NOT_COMPLETED' : 'PROVIDER_ERROR',
33
+ Message: result.ErrorMessage ?? 'Download failed.',
34
+ };
35
+ }
36
+ this.addOutput(params, 'DocumentBase64', result.document.bytes.toString('base64'));
37
+ this.addOutput(params, 'Filename', result.document.filename);
38
+ this.addOutput(params, 'ContentType', result.document.contentType);
39
+ return { Success: true, ResultCode: 'OK', Message: `Downloaded ${result.document.filename}.`, Params: params.Params };
40
+ }
41
+ catch (e) {
42
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: e instanceof Error ? e.message : String(e) };
43
+ }
44
+ }
45
+ };
46
+ DownloadSignedDocumentAction = __decorate([
47
+ RegisterClass(BaseAction, 'Download Signed Document')
48
+ ], DownloadSignedDocumentAction);
49
+ export { DownloadSignedDocumentAction };
50
+ //# sourceMappingURL=download-signed-document.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-signed-document.action.js","sourceRoot":"","sources":["../../../src/custom/esignature/download-signed-document.action.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AAEI,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,mBAAmB;IACvD,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;QACpH,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE1E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBAC3E,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB;oBAC7D,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,kBAAkB;iBACrD,CAAC;YACN,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC1H,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,CAAC;IACL,CAAC;CACJ,CAAA;AA5BY,4BAA4B;IADxC,aAAa,CAAC,UAAU,EAAE,0BAA0B,CAAC;GACzC,4BAA4B,CA4BxC"}
@@ -0,0 +1,15 @@
1
+ import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseSignatureAction } from './base-esignature.action.js';
3
+ /**
4
+ * Action: "Get Signature Status".
5
+ *
6
+ * Polls the provider for the current envelope status of a signature request and persists it.
7
+ * Thin wrapper over {@link SignatureEngine.RefreshStatus}.
8
+ *
9
+ * Inputs: SignatureRequestID (required).
10
+ * Outputs: Status.
11
+ */
12
+ export declare class GetSignatureStatusAction extends BaseSignatureAction {
13
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
14
+ }
15
+ //# sourceMappingURL=get-signature-status.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-signature-status.action.d.ts","sourceRoot":"","sources":["../../../src/custom/esignature/get-signature-status.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,qBACa,wBAAyB,SAAQ,mBAAmB;cAC7C,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAyB1F"}
@@ -0,0 +1,48 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RegisterClass } from '@memberjunction/global';
8
+ import { BaseAction } from '@memberjunction/actions';
9
+ import { BaseSignatureAction } from './base-esignature.action.js';
10
+ /**
11
+ * Action: "Get Signature Status".
12
+ *
13
+ * Polls the provider for the current envelope status of a signature request and persists it.
14
+ * Thin wrapper over {@link SignatureEngine.RefreshStatus}.
15
+ *
16
+ * Inputs: SignatureRequestID (required).
17
+ * Outputs: Status.
18
+ */
19
+ let GetSignatureStatusAction = class GetSignatureStatusAction extends BaseSignatureAction {
20
+ async InternalRunAction(params) {
21
+ const requestId = this.getStringParam(params, 'SignatureRequestID');
22
+ if (!requestId) {
23
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: "Parameter 'SignatureRequestID' is required." };
24
+ }
25
+ try {
26
+ const engine = await this.ensureEngine(params);
27
+ const result = await engine.RefreshStatus(requestId, params.ContextUser);
28
+ if (!result.Success) {
29
+ const notSent = (result.ErrorMessage ?? '').includes('not been sent');
30
+ return {
31
+ Success: false,
32
+ ResultCode: notSent ? 'NOT_SENT' : 'PROVIDER_ERROR',
33
+ Message: result.ErrorMessage ?? 'Status check failed.',
34
+ };
35
+ }
36
+ this.addOutput(params, 'Status', result.status);
37
+ return { Success: true, ResultCode: 'OK', Message: `Status: ${result.status}.`, Params: params.Params };
38
+ }
39
+ catch (e) {
40
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: e instanceof Error ? e.message : String(e) };
41
+ }
42
+ }
43
+ };
44
+ GetSignatureStatusAction = __decorate([
45
+ RegisterClass(BaseAction, 'Get Signature Status')
46
+ ], GetSignatureStatusAction);
47
+ export { GetSignatureStatusAction };
48
+ //# sourceMappingURL=get-signature-status.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-signature-status.action.js","sourceRoot":"","sources":["../../../src/custom/esignature/get-signature-status.action.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AAEI,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,mBAAmB;IACnD,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;QACpH,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAEzE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;gBACtE,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB;oBACnD,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,sBAAsB;iBACzD,CAAC;YACN,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,MAAM,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAC5G,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,CAAC;IACL,CAAC;CACJ,CAAA;AA1BY,wBAAwB;IADpC,aAAa,CAAC,UAAU,EAAE,sBAAsB,CAAC;GACrC,wBAAwB,CA0BpC"}
@@ -0,0 +1,24 @@
1
+ import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseSignatureAction } from './base-esignature.action.js';
3
+ /**
4
+ * Action: "Send Document for Signature".
5
+ *
6
+ * Sends one or more documents through a configured signature account/provider and records the
7
+ * envelope lifecycle. Thin wrapper over {@link SignatureEngine.SendForSignature}.
8
+ *
9
+ * Inputs:
10
+ * - SignatureAccountID (required)
11
+ * - Title (required)
12
+ * - Documents (required) — array of `{ filename, contentType?, contentBase64 }`
13
+ * - Recipients (required) — array of `{ email, name?, routingOrder?, role? }`
14
+ * - Message?, EntityID?, RecordID?, ArtifactID?, ArtifactVersionID?, SendImmediately?, Metadata?
15
+ *
16
+ * Outputs: SignatureRequestID, ExternalEnvelopeID, Status.
17
+ */
18
+ export declare class SendDocumentForSignatureAction extends BaseSignatureAction {
19
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
20
+ private parseDocuments;
21
+ private parseRecipients;
22
+ private fail;
23
+ }
24
+ //# sourceMappingURL=send-document-for-signature.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-document-for-signature.action.d.ts","sourceRoot":"","sources":["../../../src/custom/esignature/send-document-for-signature.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAInF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAU/D;;;;;;;;;;;;;;GAcG;AACH,qBACa,8BAA+B,SAAQ,mBAAmB;cACnD,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+DvF,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,IAAI;CAMf"}
@@ -0,0 +1,112 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RegisterClass } from '@memberjunction/global';
8
+ import { BaseAction } from '@memberjunction/actions';
9
+ import { BaseSignatureAction } from './base-esignature.action.js';
10
+ /**
11
+ * Action: "Send Document for Signature".
12
+ *
13
+ * Sends one or more documents through a configured signature account/provider and records the
14
+ * envelope lifecycle. Thin wrapper over {@link SignatureEngine.SendForSignature}.
15
+ *
16
+ * Inputs:
17
+ * - SignatureAccountID (required)
18
+ * - Title (required)
19
+ * - Documents (required) — array of `{ filename, contentType?, contentBase64 }`
20
+ * - Recipients (required) — array of `{ email, name?, routingOrder?, role? }`
21
+ * - Message?, EntityID?, RecordID?, ArtifactID?, ArtifactVersionID?, SendImmediately?, Metadata?
22
+ *
23
+ * Outputs: SignatureRequestID, ExternalEnvelopeID, Status.
24
+ */
25
+ let SendDocumentForSignatureAction = class SendDocumentForSignatureAction extends BaseSignatureAction {
26
+ async InternalRunAction(params) {
27
+ const signatureAccountId = this.getStringParam(params, 'SignatureAccountID');
28
+ const title = this.getStringParam(params, 'Title');
29
+ const documents = this.parseDocuments(params);
30
+ const recipients = this.parseRecipients(params);
31
+ const artifactId = this.getStringParam(params, 'ArtifactID');
32
+ const artifactVersionId = this.getStringParam(params, 'ArtifactVersionID');
33
+ if (!signatureAccountId) {
34
+ return this.fail('ACCOUNT_NOT_FOUND', "Parameter 'SignatureAccountID' is required.");
35
+ }
36
+ if (!title) {
37
+ return this.fail('PROVIDER_ERROR', "Parameter 'Title' is required.");
38
+ }
39
+ // Documents may be supplied inline (base64) OR by reference to an Artifact Version already
40
+ // in MJ. Require at least one source.
41
+ if (!documents.length && !artifactVersionId) {
42
+ return this.fail('MISSING_DOCUMENT', "Provide 'Documents' (each with contentBase64) or an 'ArtifactVersionID' to send a document already in MemberJunction.");
43
+ }
44
+ if (!recipients.length) {
45
+ return this.fail('PROVIDER_ERROR', "Parameter 'Recipients' must contain at least one recipient with an email.");
46
+ }
47
+ try {
48
+ const engine = await this.ensureEngine(params);
49
+ const result = await engine.SendForSignature({
50
+ signatureAccountId,
51
+ title,
52
+ message: this.getStringParam(params, 'Message'),
53
+ documents,
54
+ recipients,
55
+ artifactId,
56
+ artifactVersionId,
57
+ entityId: this.getStringParam(params, 'EntityID'),
58
+ recordId: this.getStringParam(params, 'RecordID'),
59
+ sendImmediately: this.getBooleanParam(params, 'SendImmediately', true),
60
+ metadata: this.getObjectParam(params, 'Metadata'),
61
+ contextUser: params.ContextUser,
62
+ });
63
+ if (!result.Success) {
64
+ return this.fail('PROVIDER_ERROR', result.ErrorMessage ?? 'Send failed.', params, result.signatureRequestId);
65
+ }
66
+ this.addOutput(params, 'SignatureRequestID', result.signatureRequestId);
67
+ this.addOutput(params, 'ExternalEnvelopeID', result.externalEnvelopeId);
68
+ this.addOutput(params, 'Status', result.status);
69
+ const sentImmediately = this.getBooleanParam(params, 'SendImmediately', true);
70
+ return {
71
+ Success: true,
72
+ ResultCode: sentImmediately ? 'SENT' : 'DRAFT_CREATED',
73
+ Message: `Signature request ${result.signatureRequestId} (${result.status}).`,
74
+ Params: params.Params,
75
+ };
76
+ }
77
+ catch (e) {
78
+ return this.fail('PROVIDER_ERROR', e instanceof Error ? e.message : String(e), params);
79
+ }
80
+ }
81
+ parseDocuments(params) {
82
+ const raw = this.getObjectParam(params, 'Documents');
83
+ if (!Array.isArray(raw)) {
84
+ return [];
85
+ }
86
+ return raw
87
+ .filter((d) => d && d.filename && d.contentBase64)
88
+ .map((d) => ({
89
+ filename: d.filename,
90
+ contentType: d.contentType ?? 'application/pdf',
91
+ bytes: Buffer.from(d.contentBase64, 'base64'),
92
+ }));
93
+ }
94
+ parseRecipients(params) {
95
+ const raw = this.getObjectParam(params, 'Recipients');
96
+ if (!Array.isArray(raw)) {
97
+ return [];
98
+ }
99
+ return raw.filter((r) => r && r.email);
100
+ }
101
+ fail(resultCode, message, params, signatureRequestId) {
102
+ if (params && signatureRequestId) {
103
+ this.addOutput(params, 'SignatureRequestID', signatureRequestId);
104
+ }
105
+ return { Success: false, ResultCode: resultCode, Message: message, Params: params?.Params };
106
+ }
107
+ };
108
+ SendDocumentForSignatureAction = __decorate([
109
+ RegisterClass(BaseAction, 'Send Document for Signature')
110
+ ], SendDocumentForSignatureAction);
111
+ export { SendDocumentForSignatureAction };
112
+ //# sourceMappingURL=send-document-for-signature.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send-document-for-signature.action.js","sourceRoot":"","sources":["../../../src/custom/esignature/send-document-for-signature.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseSignatureAction } from './base-esignature.action.js';
3
+ /**
4
+ * Action: "Void Signature Request".
5
+ *
6
+ * Voids/cancels an in-flight signature request with a reason. Thin wrapper over
7
+ * {@link SignatureEngine.Void}.
8
+ *
9
+ * Inputs: SignatureRequestID (required), Reason (required).
10
+ * Outputs: Status.
11
+ */
12
+ export declare class VoidSignatureRequestAction extends BaseSignatureAction {
13
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
14
+ }
15
+ //# sourceMappingURL=void-signature-request.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"void-signature-request.action.d.ts","sourceRoot":"","sources":["../../../src/custom/esignature/void-signature-request.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AACH,qBACa,0BAA2B,SAAQ,mBAAmB;cAC/C,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwB1F"}
@@ -0,0 +1,47 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { RegisterClass } from '@memberjunction/global';
8
+ import { BaseAction } from '@memberjunction/actions';
9
+ import { BaseSignatureAction } from './base-esignature.action.js';
10
+ /**
11
+ * Action: "Void Signature Request".
12
+ *
13
+ * Voids/cancels an in-flight signature request with a reason. Thin wrapper over
14
+ * {@link SignatureEngine.Void}.
15
+ *
16
+ * Inputs: SignatureRequestID (required), Reason (required).
17
+ * Outputs: Status.
18
+ */
19
+ let VoidSignatureRequestAction = class VoidSignatureRequestAction extends BaseSignatureAction {
20
+ async InternalRunAction(params) {
21
+ const requestId = this.getStringParam(params, 'SignatureRequestID');
22
+ const reason = this.getStringParam(params, 'Reason');
23
+ if (!requestId) {
24
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: "Parameter 'SignatureRequestID' is required." };
25
+ }
26
+ if (!reason) {
27
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: "Parameter 'Reason' is required." };
28
+ }
29
+ try {
30
+ const engine = await this.ensureEngine(params);
31
+ const result = await engine.Void(requestId, reason, params.ContextUser);
32
+ if (!result.Success) {
33
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: result.ErrorMessage ?? 'Void failed.' };
34
+ }
35
+ this.addOutput(params, 'Status', 'Voided');
36
+ return { Success: true, ResultCode: 'VOIDED', Message: 'Signature request voided.', Params: params.Params };
37
+ }
38
+ catch (e) {
39
+ return { Success: false, ResultCode: 'PROVIDER_ERROR', Message: e instanceof Error ? e.message : String(e) };
40
+ }
41
+ }
42
+ };
43
+ VoidSignatureRequestAction = __decorate([
44
+ RegisterClass(BaseAction, 'Void Signature Request')
45
+ ], VoidSignatureRequestAction);
46
+ export { VoidSignatureRequestAction };
47
+ //# sourceMappingURL=void-signature-request.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"void-signature-request.action.js","sourceRoot":"","sources":["../../../src/custom/esignature/void-signature-request.action.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D;;;;;;;;GAQG;AAEI,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,mBAAmB;IACrD,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,6CAA6C,EAAE,CAAC;QACpH,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;QACxG,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAExE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,cAAc,EAAE,CAAC;YAC5G,CAAC;YAED,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QAChH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACjH,CAAC;IACL,CAAC;CACJ,CAAA;AAzBY,0BAA0B;IADtC,aAAa,CAAC,UAAU,EAAE,wBAAwB,CAAC;GACvC,0BAA0B,CAyBtC"}
package/dist/index.d.ts CHANGED
@@ -53,6 +53,11 @@ export * from './custom/integration/api-rate-limiter.action.js';
53
53
  export * from './custom/integration/gamma-generate-presentation.action.js';
54
54
  export * from './custom/integration/integration-action-executor.js';
55
55
  export * from './custom/integration/generate-integration-action.action.js';
56
+ export * from './custom/esignature/base-esignature.action.js';
57
+ export * from './custom/esignature/send-document-for-signature.action.js';
58
+ export * from './custom/esignature/get-signature-status.action.js';
59
+ export * from './custom/esignature/download-signed-document.action.js';
60
+ export * from './custom/esignature/void-signature-request.action.js';
56
61
  export * from './custom/security/password-strength.action.js';
57
62
  export * from './custom/code-execution/execute-code.action.js';
58
63
  export * from './custom/workflow/conditional.action.js';
@@ -69,6 +74,7 @@ export * from './custom/ai/find-candidate-agents.action.js';
69
74
  export * from './custom/ai/find-candidate-actions.action.js';
70
75
  export * from './custom/ai/load-agent-spec.action.js';
71
76
  export * from './custom/ai/generate-image.action.js';
77
+ export * from './custom/ai/run-cluster-analysis.action.js';
72
78
  export * from './custom/ai/actionsmith-agent.js';
73
79
  export * from './custom/user-management/check-user-permission.action.js';
74
80
  export * from './custom/user-management/create-user.action.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -65,6 +65,12 @@ export * from './custom/integration/api-rate-limiter.action.js';
65
65
  export * from './custom/integration/gamma-generate-presentation.action.js';
66
66
  export * from './custom/integration/integration-action-executor.js';
67
67
  export * from './custom/integration/generate-integration-action.action.js';
68
+ // eSignature Actions
69
+ export * from './custom/esignature/base-esignature.action.js';
70
+ export * from './custom/esignature/send-document-for-signature.action.js';
71
+ export * from './custom/esignature/get-signature-status.action.js';
72
+ export * from './custom/esignature/download-signed-document.action.js';
73
+ export * from './custom/esignature/void-signature-request.action.js';
68
74
  // Security Actions
69
75
  export * from './custom/security/password-strength.action.js';
70
76
  // Code Execution Actions
@@ -85,6 +91,7 @@ export * from './custom/ai/find-candidate-agents.action.js';
85
91
  export * from './custom/ai/find-candidate-actions.action.js';
86
92
  export * from './custom/ai/load-agent-spec.action.js';
87
93
  export * from './custom/ai/generate-image.action.js';
94
+ export * from './custom/ai/run-cluster-analysis.action.js';
88
95
  export * from './custom/ai/actionsmith-agent.js';
89
96
  // User Management Actions
90
97
  export * from './custom/user-management/check-user-permission.action.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core-actions",
3
3
  "type": "module",
4
- "version": "5.39.0",
4
+ "version": "5.40.0",
5
5
  "description": "Library of generated and custom actions for the core MemberJunction framework. This library is maintained by MemberJunction and includes actions for use within the framework itself.",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -25,39 +25,41 @@
25
25
  "dependencies": {
26
26
  "@asamuzakjp/css-color": "^4.1.2",
27
27
  "@dagrejs/dagre": "^1.1.8",
28
- "@memberjunction/actions": "5.39.0",
29
- "@memberjunction/actions-base": "5.39.0",
30
- "@memberjunction/ai": "5.39.0",
31
- "@memberjunction/ai-mcp-client": "5.39.0",
32
- "@memberjunction/ai-agent-manager": "5.39.0",
33
- "@memberjunction/ai-agents": "5.39.0",
34
- "@memberjunction/ai-betty-bot": "5.39.0",
35
- "@memberjunction/ai-core-plus": "5.39.0",
36
- "@memberjunction/ai-engine-base": "5.39.0",
37
- "@memberjunction/ai-prompts": "5.39.0",
38
- "@memberjunction/ai-vector-sync": "5.39.0",
39
- "@memberjunction/aiengine": "5.39.0",
40
- "@memberjunction/geo-core": "5.39.0",
41
- "@memberjunction/code-execution": "5.39.0",
42
- "@memberjunction/communication-engine": "5.39.0",
43
- "@memberjunction/communication-types": "5.39.0",
44
- "@memberjunction/content-autotagging": "5.39.0",
45
- "@memberjunction/core": "5.39.0",
46
- "@memberjunction/core-entities": "5.39.0",
47
- "@memberjunction/core-entities-server": "5.39.0",
48
- "@memberjunction/export-engine": "5.39.0",
49
- "@memberjunction/external-change-detection": "5.39.0",
50
- "@memberjunction/generic-database-provider": "5.39.0",
51
- "@memberjunction/global": "5.39.0",
52
- "@memberjunction/integration-engine": "5.39.0",
53
- "@memberjunction/interactive-component-types": "5.39.0",
54
- "@memberjunction/lists": "5.39.0",
55
- "@memberjunction/lists-base": "5.39.0",
56
- "@memberjunction/react-linter": "5.39.0",
57
- "@memberjunction/search-engine": "5.39.0",
58
- "@memberjunction/sql-dialect": "5.39.0",
59
- "@memberjunction/sqlserver-dataprovider": "5.39.0",
60
- "@memberjunction/storage": "5.39.0",
28
+ "@memberjunction/actions": "5.40.0",
29
+ "@memberjunction/actions-base": "5.40.0",
30
+ "@memberjunction/ai": "5.40.0",
31
+ "@memberjunction/ai-mcp-client": "5.40.0",
32
+ "@memberjunction/ai-agent-manager": "5.40.0",
33
+ "@memberjunction/ai-agents": "5.40.0",
34
+ "@memberjunction/ai-betty-bot": "5.40.0",
35
+ "@memberjunction/ai-core-plus": "5.40.0",
36
+ "@memberjunction/ai-engine-base": "5.40.0",
37
+ "@memberjunction/ai-prompts": "5.40.0",
38
+ "@memberjunction/ai-vector-sync": "5.40.0",
39
+ "@memberjunction/aiengine": "5.40.0",
40
+ "@memberjunction/geo-core": "5.40.0",
41
+ "@memberjunction/clustering-engine": "5.40.0",
42
+ "@memberjunction/code-execution": "5.40.0",
43
+ "@memberjunction/communication-engine": "5.40.0",
44
+ "@memberjunction/communication-types": "5.40.0",
45
+ "@memberjunction/content-autotagging": "5.40.0",
46
+ "@memberjunction/core": "5.40.0",
47
+ "@memberjunction/core-entities": "5.40.0",
48
+ "@memberjunction/core-entities-server": "5.40.0",
49
+ "@memberjunction/esignature": "5.40.0",
50
+ "@memberjunction/export-engine": "5.40.0",
51
+ "@memberjunction/external-change-detection": "5.40.0",
52
+ "@memberjunction/generic-database-provider": "5.40.0",
53
+ "@memberjunction/global": "5.40.0",
54
+ "@memberjunction/integration-engine": "5.40.0",
55
+ "@memberjunction/interactive-component-types": "5.40.0",
56
+ "@memberjunction/lists": "5.40.0",
57
+ "@memberjunction/lists-base": "5.40.0",
58
+ "@memberjunction/react-linter": "5.40.0",
59
+ "@memberjunction/search-engine": "5.40.0",
60
+ "@memberjunction/sql-dialect": "5.40.0",
61
+ "@memberjunction/sqlserver-dataprovider": "5.40.0",
62
+ "@memberjunction/storage": "5.40.0",
61
63
  "@types/d3-cloud": "^1.2.9",
62
64
  "@types/d3-force": "^3.0.10",
63
65
  "@types/d3-hierarchy": "^3.1.7",