@memberjunction/actions 2.60.0 → 2.62.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,65 @@
1
+ import { BaseAction } from './BaseAction';
2
+ import { ActionParam } from '@memberjunction/actions-base';
3
+ import { CompanyIntegrationEntity, IntegrationEntity } from '@memberjunction/core-entities';
4
+ import { ActionResultSimple } from '@memberjunction/actions-base';
5
+ /**
6
+ * Base class for actions that require OAuth authentication.
7
+ * Provides common OAuth token management functionality including retrieval,
8
+ * refresh, and error handling.
9
+ */
10
+ export declare abstract class BaseOAuthAction extends BaseAction {
11
+ private _metadata;
12
+ protected _companyIntegration: CompanyIntegrationEntity | null;
13
+ protected _integration: IntegrationEntity | null;
14
+ /**
15
+ * OAuth-specific parameters that all OAuth actions should include
16
+ */
17
+ protected get oauthParams(): ActionParam[];
18
+ /**
19
+ * Initialize OAuth connection by loading integration details
20
+ */
21
+ protected initializeOAuth(companyIntegrationId: string): Promise<boolean>;
22
+ /**
23
+ * Get the current access token
24
+ */
25
+ protected getAccessToken(): string | null;
26
+ /**
27
+ * Get the refresh token
28
+ */
29
+ protected getRefreshToken(): string | null;
30
+ /**
31
+ * Check if the current token is expired
32
+ */
33
+ protected isTokenExpired(): boolean;
34
+ /**
35
+ * Refresh the access token using the refresh token.
36
+ * Must be implemented by platform-specific subclasses.
37
+ */
38
+ protected abstract refreshAccessToken(): Promise<void>;
39
+ /**
40
+ * Make an authenticated API request with automatic retry on auth failure
41
+ */
42
+ protected makeAuthenticatedRequest<T>(requestFn: (token: string) => Promise<T>, retryOnAuthFailure?: boolean): Promise<T>;
43
+ /**
44
+ * Determine if an error is an authentication error.
45
+ * Can be overridden by subclasses for platform-specific error detection.
46
+ */
47
+ protected isAuthError(error: any): boolean;
48
+ /**
49
+ * Update stored tokens after refresh
50
+ */
51
+ protected updateStoredTokens(accessToken: string, refreshToken?: string, expiresIn?: number): Promise<void>;
52
+ /**
53
+ * Get custom attributes from company integration
54
+ */
55
+ protected getCustomAttribute(attributeNumber: 1 | 2 | 3 | 4 | 5): string | null;
56
+ /**
57
+ * Set custom attributes in company integration
58
+ */
59
+ protected setCustomAttribute(attributeNumber: 1 | 2 | 3 | 4 | 5, value: string): Promise<void>;
60
+ /**
61
+ * Handle OAuth-specific errors
62
+ */
63
+ protected handleOAuthError(error: any): ActionResultSimple;
64
+ }
65
+ //# sourceMappingURL=BaseOAuthAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseOAuthAction.d.ts","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAgC,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAE1H,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;GAIG;AACH,8BAAsB,eAAgB,SAAQ,UAAU;IACpD,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,mBAAmB,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IACtE,SAAS,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAExD;;OAEG;IACH,SAAS,KAAK,WAAW,IAAI,WAAW,EAAE,CAQzC;IAED;;OAEG;cACa,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC/E;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,OAAO;IAanC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtD;;OAEG;cACa,wBAAwB,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACxC,kBAAkB,GAAE,OAAc,GACnC,OAAO,CAAC,CAAC,CAAC;IA0Bb;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAuB1C;;OAEG;cACa,kBAAkB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAoBhB;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;IAO/E;;OAEG;cACa,kBAAkB,CAC9B,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAClC,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,kBAAkB;CAgB7D"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseOAuthAction = void 0;
4
+ const BaseAction_1 = require("./BaseAction");
5
+ const core_1 = require("@memberjunction/core");
6
+ /**
7
+ * Base class for actions that require OAuth authentication.
8
+ * Provides common OAuth token management functionality including retrieval,
9
+ * refresh, and error handling.
10
+ */
11
+ class BaseOAuthAction extends BaseAction_1.BaseAction {
12
+ constructor() {
13
+ super(...arguments);
14
+ this._metadata = new core_1.Metadata();
15
+ this._companyIntegration = null;
16
+ this._integration = null;
17
+ }
18
+ /**
19
+ * OAuth-specific parameters that all OAuth actions should include
20
+ */
21
+ get oauthParams() {
22
+ return [
23
+ {
24
+ Name: 'CompanyIntegrationID',
25
+ Type: 'Input',
26
+ Value: null
27
+ }
28
+ ];
29
+ }
30
+ /**
31
+ * Initialize OAuth connection by loading integration details
32
+ */
33
+ async initializeOAuth(companyIntegrationId) {
34
+ try {
35
+ // Load company integration
36
+ const ci = await this._metadata.GetEntityObject('Company Integrations');
37
+ if (!ci) {
38
+ throw new Error('Failed to create CompanyIntegration entity object');
39
+ }
40
+ if (!await ci.Load(companyIntegrationId)) {
41
+ throw new Error(`Company integration not found: ${companyIntegrationId}`);
42
+ }
43
+ this._companyIntegration = ci;
44
+ // Load integration details
45
+ const integration = await this._metadata.GetEntityObject('Integrations');
46
+ if (!integration || !await integration.Load(ci.IntegrationID)) {
47
+ throw new Error(`Integration not found: ${ci.IntegrationID}`);
48
+ }
49
+ this._integration = integration;
50
+ // Check if token is expired
51
+ if (this.isTokenExpired()) {
52
+ await this.refreshAccessToken();
53
+ }
54
+ return true;
55
+ }
56
+ catch (error) {
57
+ (0, core_1.LogError)(`Failed to initialize OAuth: ${error.message}`);
58
+ return false;
59
+ }
60
+ }
61
+ /**
62
+ * Get the current access token
63
+ */
64
+ getAccessToken() {
65
+ return this._companyIntegration?.AccessToken || null;
66
+ }
67
+ /**
68
+ * Get the refresh token
69
+ */
70
+ getRefreshToken() {
71
+ return this._companyIntegration?.RefreshToken || null;
72
+ }
73
+ /**
74
+ * Check if the current token is expired
75
+ */
76
+ isTokenExpired() {
77
+ if (!this._companyIntegration?.TokenExpirationDate) {
78
+ return false; // No expiration date means token doesn't expire
79
+ }
80
+ const now = new Date();
81
+ const expiration = new Date(this._companyIntegration.TokenExpirationDate);
82
+ // Consider token expired if it expires in the next 5 minutes
83
+ const bufferTime = 5 * 60 * 1000; // 5 minutes in milliseconds
84
+ return (expiration.getTime() - bufferTime) <= now.getTime();
85
+ }
86
+ /**
87
+ * Make an authenticated API request with automatic retry on auth failure
88
+ */
89
+ async makeAuthenticatedRequest(requestFn, retryOnAuthFailure = true) {
90
+ const token = this.getAccessToken();
91
+ if (!token) {
92
+ throw new Error('No access token available');
93
+ }
94
+ try {
95
+ return await requestFn(token);
96
+ }
97
+ catch (error) {
98
+ // Check if error is due to invalid/expired token
99
+ if (retryOnAuthFailure && this.isAuthError(error)) {
100
+ (0, core_1.LogStatus)('Token appears invalid, attempting refresh...');
101
+ await this.refreshAccessToken();
102
+ const newToken = this.getAccessToken();
103
+ if (!newToken) {
104
+ throw new Error('Failed to refresh access token');
105
+ }
106
+ // Retry with new token
107
+ return await requestFn(newToken);
108
+ }
109
+ throw error;
110
+ }
111
+ }
112
+ /**
113
+ * Determine if an error is an authentication error.
114
+ * Can be overridden by subclasses for platform-specific error detection.
115
+ */
116
+ isAuthError(error) {
117
+ // Common OAuth error indicators
118
+ const authErrorPatterns = [
119
+ 'unauthorized',
120
+ 'invalid_token',
121
+ 'expired_token',
122
+ 'invalid_grant',
123
+ '401',
124
+ 'forbidden',
125
+ 'authentication'
126
+ ];
127
+ const errorMessage = error?.message?.toLowerCase() || '';
128
+ const errorCode = error?.code?.toLowerCase() || '';
129
+ const statusCode = error?.response?.status || error?.statusCode;
130
+ return statusCode === 401 ||
131
+ statusCode === 403 ||
132
+ authErrorPatterns.some(pattern => errorMessage.includes(pattern) || errorCode.includes(pattern));
133
+ }
134
+ /**
135
+ * Update stored tokens after refresh
136
+ */
137
+ async updateStoredTokens(accessToken, refreshToken, expiresIn) {
138
+ if (!this._companyIntegration) {
139
+ throw new Error('Company integration not initialized');
140
+ }
141
+ this._companyIntegration.AccessToken = accessToken;
142
+ if (refreshToken) {
143
+ this._companyIntegration.RefreshToken = refreshToken;
144
+ }
145
+ if (expiresIn) {
146
+ const expirationDate = new Date();
147
+ expirationDate.setSeconds(expirationDate.getSeconds() + expiresIn);
148
+ this._companyIntegration.TokenExpirationDate = expirationDate;
149
+ }
150
+ await this._companyIntegration.Save();
151
+ }
152
+ /**
153
+ * Get custom attributes from company integration
154
+ */
155
+ getCustomAttribute(attributeNumber) {
156
+ if (!this._companyIntegration)
157
+ return null;
158
+ const attributeKey = `CustomAttribute${attributeNumber}`;
159
+ return this._companyIntegration[attributeKey] || null;
160
+ }
161
+ /**
162
+ * Set custom attributes in company integration
163
+ */
164
+ async setCustomAttribute(attributeNumber, value) {
165
+ if (!this._companyIntegration) {
166
+ throw new Error('Company integration not initialized');
167
+ }
168
+ const attributeKey = `CustomAttribute${attributeNumber}`;
169
+ this._companyIntegration[attributeKey] = value;
170
+ await this._companyIntegration.Save();
171
+ }
172
+ /**
173
+ * Handle OAuth-specific errors
174
+ */
175
+ handleOAuthError(error) {
176
+ if (this.isAuthError(error)) {
177
+ return {
178
+ Success: false,
179
+ Message: 'Authentication failed. Token may be expired or revoked.',
180
+ ResultCode: 'INVALID_TOKEN'
181
+ };
182
+ }
183
+ // Let base class handle other errors
184
+ return {
185
+ Success: false,
186
+ Message: error instanceof Error ? error.message : 'Unknown error occurred',
187
+ ResultCode: 'ERROR'
188
+ };
189
+ }
190
+ }
191
+ exports.BaseOAuthAction = BaseOAuthAction;
192
+ //# sourceMappingURL=BaseOAuthAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseOAuthAction.js","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C,+CAA8E;AAG9E;;;;GAIG;AACH,MAAsB,eAAgB,SAAQ,uBAAU;IAAxD;;QACY,cAAS,GAAa,IAAI,eAAQ,EAAE,CAAC;QACnC,wBAAmB,GAAoC,IAAI,CAAC;QAC5D,iBAAY,GAA6B,IAAI,CAAC;IA2N5D,CAAC;IAzNG;;OAEG;IACH,IAAc,WAAW;QACrB,OAAO;YACH;gBACI,IAAI,EAAE,sBAAsB;gBAC5B,IAAI,EAAE,OAAgB;gBACtB,KAAK,EAAE,IAAI;aACE;SACpB,CAAC;IACN,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,eAAe,CAAC,oBAA4B;QACxD,IAAI,CAAC;YACD,2BAA2B;YAC3B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAA2B,sBAAsB,CAAC,CAAC;YAClG,IAAI,CAAC,EAAE,EAAE,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,kCAAkC,oBAAoB,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAE9B,2BAA2B;YAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAoB,cAAc,CAAC,CAAC;YAC5F,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAEhC,4BAA4B;YAC5B,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpC,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAA,eAAQ,EAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;OAEG;IACO,cAAc;QACpB,OAAO,IAAI,CAAC,mBAAmB,EAAE,WAAW,IAAI,IAAI,CAAC;IACzD,CAAC;IAED;;OAEG;IACO,eAAe;QACrB,OAAO,IAAI,CAAC,mBAAmB,EAAE,YAAY,IAAI,IAAI,CAAC;IAC1D,CAAC;IAED;;OAEG;IACO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,CAAC,gDAAgD;QAClE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAE1E,6DAA6D;QAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,4BAA4B;QAC9D,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;IAChE,CAAC;IAQD;;OAEG;IACO,KAAK,CAAC,wBAAwB,CACpC,SAAwC,EACxC,qBAA8B,IAAI;QAElC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC;YACD,OAAO,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iDAAiD;YACjD,IAAI,kBAAkB,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAA,gBAAS,EAAC,8CAA8C,CAAC,CAAC;gBAC1D,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACtD,CAAC;gBAED,uBAAuB;gBACvB,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,KAAU;QAC5B,gCAAgC;QAChC,MAAM,iBAAiB,GAAG;YACtB,cAAc;YACd,eAAe;YACf,eAAe;YACf,eAAe;YACf,KAAK;YACL,WAAW;YACX,gBAAgB;SACnB,CAAC;QAEF,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,EAAE,UAAU,CAAC;QAEhE,OAAO,UAAU,KAAK,GAAG;YAClB,UAAU,KAAK,GAAG;YAClB,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC7B,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAChE,CAAC;IACb,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB,CAC9B,WAAmB,EACnB,YAAqB,EACrB,SAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,WAAW,GAAG,WAAW,CAAC;QAEnD,IAAI,YAAY,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,YAAY,GAAG,YAAY,CAAC;QACzD,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,CAAC;YACnE,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,cAAc,CAAC;QAClE,CAAC;QAED,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,kBAAkB,CAAC,eAAkC;QAC3D,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO,IAAI,CAAC;QAE3C,MAAM,YAAY,GAAG,kBAAkB,eAAe,EAAoC,CAAC;QAC3F,OAAO,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAW,IAAI,IAAI,CAAC;IACpE,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB,CAC9B,eAAkC,EAClC,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,eAAe,EAAoC,CAAC;QAC1F,IAAI,CAAC,mBAA2B,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC;QACxD,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,KAAU;QACjC,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yDAAyD;gBAClE,UAAU,EAAE,eAAe;aAC9B,CAAC;QACN,CAAC;QAED,qCAAqC;QACrC,OAAO;YACC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;YAC1E,UAAU,EAAE,OAAO;SACtB,CAAC;IACV,CAAC;CACJ;AA9ND,0CA8NC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './generic/BaseAction';
2
2
  export * from './generic/BaseActionFilter';
3
+ export * from './generic/BaseOAuthAction';
3
4
  export * from './generic/ActionEngine';
4
5
  export * from './generic/ActionEntity.server';
5
6
  export * from './entity-actions/EntityActionEngine';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAE9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,8CAA8C,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generic/BaseAction"), exports);
18
18
  __exportStar(require("./generic/BaseActionFilter"), exports);
19
+ __exportStar(require("./generic/BaseOAuthAction"), exports);
19
20
  __exportStar(require("./generic/ActionEngine"), exports);
20
21
  __exportStar(require("./generic/ActionEntity.server"), exports);
21
22
  __exportStar(require("./entity-actions/EntityActionEngine"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,6DAA2C;AAC3C,yDAAuC;AACvC,gEAA8C;AAE9C,sEAAoD;AACpD,+EAA6D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,6DAA2C;AAC3C,4DAA0C;AAC1C,yDAAuC;AACvC,gEAA8C;AAE9C,sEAAoD;AACpD,+EAA6D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/actions",
3
- "version": "2.60.0",
3
+ "version": "2.62.0",
4
4
  "description": "Main library for MemberJunction Actions. This library is only intended to be imported on the server side.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,14 +19,14 @@
19
19
  "typescript": "^5.4.5"
20
20
  },
21
21
  "dependencies": {
22
- "@memberjunction/global": "2.60.0",
23
- "@memberjunction/core": "2.60.0",
24
- "@memberjunction/actions-base": "2.60.0",
25
- "@memberjunction/core-entities": "2.60.0",
26
- "@memberjunction/ai": "2.60.0",
27
- "@memberjunction/ai-core-plus": "2.60.0",
28
- "@memberjunction/aiengine": "2.60.0",
29
- "@memberjunction/ai-prompts": "2.60.0",
30
- "@memberjunction/doc-utils": "2.60.0"
22
+ "@memberjunction/global": "2.62.0",
23
+ "@memberjunction/core": "2.62.0",
24
+ "@memberjunction/actions-base": "2.62.0",
25
+ "@memberjunction/core-entities": "2.62.0",
26
+ "@memberjunction/ai": "2.62.0",
27
+ "@memberjunction/ai-core-plus": "2.62.0",
28
+ "@memberjunction/aiengine": "2.62.0",
29
+ "@memberjunction/ai-prompts": "2.62.0",
30
+ "@memberjunction/doc-utils": "2.62.0"
31
31
  }
32
32
  }