@memberjunction/core-actions 2.47.0 → 2.49.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 (48) hide show
  1. package/dist/custom/business-days-calculator.action.d.ts +65 -0
  2. package/dist/custom/business-days-calculator.action.d.ts.map +1 -0
  3. package/dist/custom/business-days-calculator.action.js +299 -0
  4. package/dist/custom/business-days-calculator.action.js.map +1 -0
  5. package/dist/custom/calculate-expression.action.d.ts +56 -0
  6. package/dist/custom/calculate-expression.action.d.ts.map +1 -0
  7. package/dist/custom/calculate-expression.action.js +226 -0
  8. package/dist/custom/calculate-expression.action.js.map +1 -0
  9. package/dist/custom/census-data-lookup.action.d.ts +54 -0
  10. package/dist/custom/census-data-lookup.action.d.ts.map +1 -0
  11. package/dist/custom/census-data-lookup.action.js +378 -0
  12. package/dist/custom/census-data-lookup.action.js.map +1 -0
  13. package/dist/custom/color-converter.action.d.ts +59 -0
  14. package/dist/custom/color-converter.action.d.ts.map +1 -0
  15. package/dist/custom/color-converter.action.js +295 -0
  16. package/dist/custom/color-converter.action.js.map +1 -0
  17. package/dist/custom/external-change-detection.action.js +1 -1
  18. package/dist/custom/external-change-detection.action.js.map +1 -1
  19. package/dist/custom/get-stock-price.action.d.ts +48 -0
  20. package/dist/custom/get-stock-price.action.d.ts.map +1 -0
  21. package/dist/custom/get-stock-price.action.js +153 -0
  22. package/dist/custom/get-stock-price.action.js.map +1 -0
  23. package/dist/custom/get-weather.action.d.ts +52 -0
  24. package/dist/custom/get-weather.action.d.ts.map +1 -0
  25. package/dist/custom/get-weather.action.js +172 -0
  26. package/dist/custom/get-weather.action.js.map +1 -0
  27. package/dist/custom/ip-geolocation.action.d.ts +43 -0
  28. package/dist/custom/ip-geolocation.action.d.ts.map +1 -0
  29. package/dist/custom/ip-geolocation.action.js +259 -0
  30. package/dist/custom/ip-geolocation.action.js.map +1 -0
  31. package/dist/custom/send-single-message.action.js +1 -1
  32. package/dist/custom/text-analyzer.action.d.ts +53 -0
  33. package/dist/custom/text-analyzer.action.d.ts.map +1 -0
  34. package/dist/custom/text-analyzer.action.js +218 -0
  35. package/dist/custom/text-analyzer.action.js.map +1 -0
  36. package/dist/custom/unit-converter.action.d.ts +63 -0
  37. package/dist/custom/unit-converter.action.d.ts.map +1 -0
  38. package/dist/custom/unit-converter.action.js +357 -0
  39. package/dist/custom/unit-converter.action.js.map +1 -0
  40. package/dist/custom/vectorize-entity.action.d.ts +45 -9
  41. package/dist/custom/vectorize-entity.action.d.ts.map +1 -1
  42. package/dist/custom/vectorize-entity.action.js +46 -10
  43. package/dist/custom/vectorize-entity.action.js.map +1 -1
  44. package/dist/index.d.ts +9 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +9 -0
  47. package/dist/index.js.map +1 -1
  48. package/package.json +10 -9
@@ -0,0 +1,295 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LoadColorConverterAction = exports.ColorConverterAction = void 0;
10
+ const actions_1 = require("@memberjunction/actions");
11
+ const global_1 = require("@memberjunction/global");
12
+ /**
13
+ * Action that converts colors between different formats (HEX, RGB, HSL, HSV).
14
+ * Supports standard color names and provides complementary color calculations.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // Convert HEX to other formats
19
+ * await runAction({
20
+ * ActionName: 'Color Converter',
21
+ * Params: [{
22
+ * Name: 'Color',
23
+ * Value: '#FF5733'
24
+ * }]
25
+ * });
26
+ *
27
+ * // Convert RGB to other formats
28
+ * await runAction({
29
+ * ActionName: 'Color Converter',
30
+ * Params: [{
31
+ * Name: 'Color',
32
+ * Value: 'rgb(255, 87, 51)'
33
+ * }]
34
+ * });
35
+ *
36
+ * // Use color names
37
+ * await runAction({
38
+ * ActionName: 'Color Converter',
39
+ * Params: [{
40
+ * Name: 'Color',
41
+ * Value: 'navy'
42
+ * }]
43
+ * });
44
+ * ```
45
+ */
46
+ let ColorConverterAction = class ColorConverterAction extends actions_1.BaseAction {
47
+ namedColors = {
48
+ 'black': '#000000', 'white': '#FFFFFF', 'red': '#FF0000', 'green': '#008000',
49
+ 'blue': '#0000FF', 'yellow': '#FFFF00', 'cyan': '#00FFFF', 'magenta': '#FF00FF',
50
+ 'silver': '#C0C0C0', 'gray': '#808080', 'maroon': '#800000', 'olive': '#808000',
51
+ 'lime': '#00FF00', 'aqua': '#00FFFF', 'teal': '#008080', 'navy': '#000080',
52
+ 'fuchsia': '#FF00FF', 'purple': '#800080', 'orange': '#FFA500', 'brown': '#A52A2A',
53
+ 'pink': '#FFC0CB', 'gold': '#FFD700', 'indigo': '#4B0082', 'violet': '#EE82EE',
54
+ 'tan': '#D2B48C', 'azure': '#F0FFFF', 'beige': '#F5F5DC', 'coral': '#FF7F50',
55
+ 'crimson': '#DC143C', 'khaki': '#F0E68C', 'lavender': '#E6E6FA', 'plum': '#DDA0DD',
56
+ 'salmon': '#FA8072', 'tomato': '#FF6347', 'turquoise': '#40E0D0', 'wheat': '#F5DEB3'
57
+ };
58
+ /**
59
+ * Executes the color conversion action
60
+ *
61
+ * @param params - The action parameters containing:
62
+ * - Color: A color in HEX (#RGB or #RRGGBB), RGB (rgb(r,g,b)), HSL (hsl(h,s%,l%)), or color name format
63
+ *
64
+ * @returns A promise resolving to an ActionResultSimple with color data in multiple formats
65
+ */
66
+ async InternalRunAction(params) {
67
+ try {
68
+ const colorParam = params.Params.find(p => p.Name === 'Color');
69
+ if (!colorParam || !colorParam.Value) {
70
+ return {
71
+ Success: false,
72
+ Message: "Color parameter is required",
73
+ ResultCode: "MISSING_PARAMETERS"
74
+ };
75
+ }
76
+ const input = colorParam.Value.trim().toLowerCase();
77
+ let r, g, b;
78
+ // Try to parse the color input
79
+ if (this.namedColors[input]) {
80
+ // Named color
81
+ const hex = this.namedColors[input];
82
+ [r, g, b] = this.hexToRgb(hex);
83
+ }
84
+ else if (input.startsWith('#')) {
85
+ // HEX format
86
+ [r, g, b] = this.hexToRgb(input);
87
+ }
88
+ else if (input.startsWith('rgb')) {
89
+ // RGB format
90
+ const match = input.match(/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/);
91
+ if (!match) {
92
+ return {
93
+ Success: false,
94
+ Message: "Invalid RGB format. Use: rgb(r, g, b)",
95
+ ResultCode: "INVALID_FORMAT"
96
+ };
97
+ }
98
+ r = parseInt(match[1]);
99
+ g = parseInt(match[2]);
100
+ b = parseInt(match[3]);
101
+ }
102
+ else if (input.startsWith('hsl')) {
103
+ // HSL format
104
+ const match = input.match(/hsl\s*\(\s*(\d+)\s*,\s*(\d+)%?\s*,\s*(\d+)%?\s*\)/);
105
+ if (!match) {
106
+ return {
107
+ Success: false,
108
+ Message: "Invalid HSL format. Use: hsl(h, s%, l%)",
109
+ ResultCode: "INVALID_FORMAT"
110
+ };
111
+ }
112
+ const h = parseInt(match[1]);
113
+ const s = parseInt(match[2]) / 100;
114
+ const l = parseInt(match[3]) / 100;
115
+ [r, g, b] = this.hslToRgb(h, s, l);
116
+ }
117
+ else {
118
+ return {
119
+ Success: false,
120
+ Message: "Unrecognized color format. Use HEX (#RRGGBB), RGB (rgb(r,g,b)), HSL (hsl(h,s%,l%)), or a color name",
121
+ ResultCode: "INVALID_FORMAT"
122
+ };
123
+ }
124
+ // Validate RGB values
125
+ if (r < 0 || r > 255 || g < 0 || g > 255 || b < 0 || b > 255) {
126
+ return {
127
+ Success: false,
128
+ Message: "RGB values must be between 0 and 255",
129
+ ResultCode: "INVALID_VALUES"
130
+ };
131
+ }
132
+ // Convert to all formats
133
+ const hex = this.rgbToHex(r, g, b);
134
+ const [h, s, l] = this.rgbToHsl(r, g, b);
135
+ const [hue, sat, val] = this.rgbToHsv(r, g, b);
136
+ // Calculate complementary color
137
+ const compR = 255 - r;
138
+ const compG = 255 - g;
139
+ const compB = 255 - b;
140
+ const colorData = {
141
+ input: colorParam.Value,
142
+ formats: {
143
+ hex: hex,
144
+ rgb: `rgb(${r}, ${g}, ${b})`,
145
+ rgba: `rgba(${r}, ${g}, ${b}, 1.0)`,
146
+ hsl: `hsl(${h}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`,
147
+ hsv: `hsv(${hue}, ${Math.round(sat * 100)}%, ${Math.round(val * 100)}%)`,
148
+ decimal: (r << 16) + (g << 8) + b
149
+ },
150
+ values: {
151
+ red: r,
152
+ green: g,
153
+ blue: b,
154
+ hue: h,
155
+ saturation: Math.round(s * 100),
156
+ lightness: Math.round(l * 100),
157
+ value: Math.round(val * 100)
158
+ },
159
+ complementary: {
160
+ hex: this.rgbToHex(compR, compG, compB),
161
+ rgb: `rgb(${compR}, ${compG}, ${compB})`
162
+ },
163
+ luminance: this.calculateLuminance(r, g, b),
164
+ isDark: this.calculateLuminance(r, g, b) < 0.5
165
+ };
166
+ return {
167
+ Success: true,
168
+ ResultCode: "SUCCESS",
169
+ Message: JSON.stringify(colorData, null, 2)
170
+ };
171
+ }
172
+ catch (error) {
173
+ return {
174
+ Success: false,
175
+ Message: `Failed to convert color: ${error instanceof Error ? error.message : String(error)}`,
176
+ ResultCode: "FAILED"
177
+ };
178
+ }
179
+ }
180
+ hexToRgb(hex) {
181
+ // Remove # if present
182
+ hex = hex.replace('#', '');
183
+ // Handle 3-digit hex
184
+ if (hex.length === 3) {
185
+ hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
186
+ }
187
+ if (hex.length !== 6) {
188
+ throw new Error('Invalid hex color');
189
+ }
190
+ const r = parseInt(hex.substring(0, 2), 16);
191
+ const g = parseInt(hex.substring(2, 4), 16);
192
+ const b = parseInt(hex.substring(4, 6), 16);
193
+ return [r, g, b];
194
+ }
195
+ rgbToHex(r, g, b) {
196
+ return '#' + [r, g, b].map(x => {
197
+ const hex = x.toString(16);
198
+ return hex.length === 1 ? '0' + hex : hex;
199
+ }).join('').toUpperCase();
200
+ }
201
+ rgbToHsl(r, g, b) {
202
+ r /= 255;
203
+ g /= 255;
204
+ b /= 255;
205
+ const max = Math.max(r, g, b);
206
+ const min = Math.min(r, g, b);
207
+ let h = 0, s = 0;
208
+ const l = (max + min) / 2;
209
+ if (max !== min) {
210
+ const d = max - min;
211
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
212
+ switch (max) {
213
+ case r:
214
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
215
+ break;
216
+ case g:
217
+ h = ((b - r) / d + 2) / 6;
218
+ break;
219
+ case b:
220
+ h = ((r - g) / d + 4) / 6;
221
+ break;
222
+ }
223
+ }
224
+ return [Math.round(h * 360), s, l];
225
+ }
226
+ rgbToHsv(r, g, b) {
227
+ r /= 255;
228
+ g /= 255;
229
+ b /= 255;
230
+ const max = Math.max(r, g, b);
231
+ const min = Math.min(r, g, b);
232
+ const v = max;
233
+ const d = max - min;
234
+ const s = max === 0 ? 0 : d / max;
235
+ let h = 0;
236
+ if (max !== min) {
237
+ switch (max) {
238
+ case r:
239
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
240
+ break;
241
+ case g:
242
+ h = ((b - r) / d + 2) / 6;
243
+ break;
244
+ case b:
245
+ h = ((r - g) / d + 4) / 6;
246
+ break;
247
+ }
248
+ }
249
+ return [Math.round(h * 360), s, v];
250
+ }
251
+ hslToRgb(h, s, l) {
252
+ h /= 360;
253
+ let r, g, b;
254
+ if (s === 0) {
255
+ r = g = b = l; // achromatic
256
+ }
257
+ else {
258
+ const hue2rgb = (p, q, t) => {
259
+ if (t < 0)
260
+ t += 1;
261
+ if (t > 1)
262
+ t -= 1;
263
+ if (t < 1 / 6)
264
+ return p + (q - p) * 6 * t;
265
+ if (t < 1 / 2)
266
+ return q;
267
+ if (t < 2 / 3)
268
+ return p + (q - p) * (2 / 3 - t) * 6;
269
+ return p;
270
+ };
271
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
272
+ const p = 2 * l - q;
273
+ r = hue2rgb(p, q, h + 1 / 3);
274
+ g = hue2rgb(p, q, h);
275
+ b = hue2rgb(p, q, h - 1 / 3);
276
+ }
277
+ return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
278
+ }
279
+ calculateLuminance(r, g, b) {
280
+ // Using relative luminance formula
281
+ return (0.299 * r + 0.587 * g + 0.114 * b) / 255;
282
+ }
283
+ };
284
+ exports.ColorConverterAction = ColorConverterAction;
285
+ exports.ColorConverterAction = ColorConverterAction = __decorate([
286
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "__ColorConverter")
287
+ ], ColorConverterAction);
288
+ /**
289
+ * Loader function to ensure the ColorConverterAction class is included in the bundle.
290
+ */
291
+ function LoadColorConverterAction() {
292
+ // this function is a stub that is used to force the bundler to include the above class in the final bundle and not tree shake them out
293
+ }
294
+ exports.LoadColorConverterAction = LoadColorConverterAction;
295
+ //# sourceMappingURL=color-converter.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-converter.action.js","sourceRoot":"","sources":["../../src/custom/color-converter.action.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ let ExternalChangeDetectionAction = class ExternalChangeDetectionAction extends
58
58
  };
59
59
  exports.ExternalChangeDetectionAction = ExternalChangeDetectionAction;
60
60
  exports.ExternalChangeDetectionAction = ExternalChangeDetectionAction = __decorate([
61
- (0, global_1.RegisterClass)(actions_1.BaseAction, "Run External Change Detection")
61
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "__RunExternalChangeDetection")
62
62
  ], ExternalChangeDetectionAction);
63
63
  function LoadExternalChangeDetectionAction() {
64
64
  // this function is a stub that is used to force the bundler to include the above class in the final bundle and not tree shake them out
@@ -1 +1 @@
1
- {"version":3,"file":"external-change-detection.action.js","sourceRoot":"","sources":["../../src/custom/external-change-detection.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,qDAAqD;AAErD,+CAA4D;AAC5D,yFAAgH;AAChH,mDAAuD;AAEvD;;;;GAIG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,oBAAU;IAC/C,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAEzE,MAAM,wDAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAE9E,IAAI,OAA8B,CAAC;QACnC,IAAI,eAAe,IAAI,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAiB,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1F,OAAO,GAAG,MAAM,wDAA4B,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC7F,CAAC;aACI,CAAC;YACF,OAAO,GAAG,MAAM,wDAA4B,CAAC,QAAQ,CAAC,mCAAmC,EAAE,CAAC;QAChG,CAAC;QAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,gCAAgC;YAChC,IAAI,MAAM,wDAA4B,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7E,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,6CAA6C;oBACtD,UAAU,EAAE,SAAS;iBACxB,CAAA;YACL,CAAC;iBACI,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,QAAQ;iBACvB,CAAA;YACL,CAAC;QACL,CAAC;aACI,CAAC;YACF,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,UAAU,EAAE,QAAQ;aACvB,CAAA;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AA1CY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,sBAAa,EAAC,oBAAU,EAAE,+BAA+B,CAAC;GAC9C,6BAA6B,CA0CzC;AAED,SAAS,iCAAiC;IACtC,uIAAuI;AAC3I,CAAC"}
1
+ {"version":3,"file":"external-change-detection.action.js","sourceRoot":"","sources":["../../src/custom/external-change-detection.action.ts"],"names":[],"mappings":";;;;;;;;;AACA,qDAAqD;AAErD,+CAA4D;AAC5D,yFAAgH;AAChH,mDAAuD;AAEvD;;;;GAIG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA8B,SAAQ,oBAAU;IAC/C,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAEzE,MAAM,wDAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAE9E,IAAI,OAA8B,CAAC;QACnC,IAAI,eAAe,IAAI,eAAe,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAiB,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1F,OAAO,GAAG,MAAM,wDAA4B,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC7F,CAAC;aACI,CAAC;YACF,OAAO,GAAG,MAAM,wDAA4B,CAAC,QAAQ,CAAC,mCAAmC,EAAE,CAAC;QAChG,CAAC;QAED,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,gCAAgC;YAChC,IAAI,MAAM,wDAA4B,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7E,OAAO;oBACH,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,6CAA6C;oBACtD,UAAU,EAAE,SAAS;iBACxB,CAAA;YACL,CAAC;iBACI,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,2BAA2B;oBACpC,UAAU,EAAE,QAAQ;iBACvB,CAAA;YACL,CAAC;QACL,CAAC;aACI,CAAC;YACF,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,OAAO,CAAC,YAAY;gBAC7B,UAAU,EAAE,QAAQ;aACvB,CAAA;QACL,CAAC;IACL,CAAC;CACJ,CAAA;AA1CY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,sBAAa,EAAC,oBAAU,EAAE,8BAA8B,CAAC;GAC7C,6BAA6B,CA0CzC;AAED,SAAS,iCAAiC;IACtC,uIAAuI;AAC3I,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that retrieves current stock price and related information for a specified ticker symbol
5
+ * using the Yahoo Finance API through a public proxy that doesn't require an API key.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Get stock price for Apple
10
+ * await runAction({
11
+ * ActionName: 'Get Stock Price',
12
+ * Params: [{
13
+ * Name: 'Ticker',
14
+ * Value: 'AAPL'
15
+ * }]
16
+ * });
17
+ *
18
+ * // Get stock price for Microsoft
19
+ * await runAction({
20
+ * ActionName: 'Get Stock Price',
21
+ * Params: [{
22
+ * Name: 'Ticker',
23
+ * Value: 'MSFT'
24
+ * }]
25
+ * });
26
+ * ```
27
+ */
28
+ export declare class GetStockPriceAction extends BaseAction {
29
+ /**
30
+ * Executes the stock price retrieval action
31
+ *
32
+ * @param params - The action parameters containing:
33
+ * - Ticker: The stock ticker symbol (e.g., AAPL, MSFT, GOOGL)
34
+ *
35
+ * @returns A promise resolving to an ActionResultSimple with:
36
+ * - Success: true if stock data was retrieved
37
+ * - ResultCode: "SUCCESS", "INVALID_TICKER", or "FAILED"
38
+ * - ResultData: Object containing stock information
39
+ * - Message: Error message if failed
40
+ */
41
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
42
+ }
43
+ /**
44
+ * Loader function to ensure the GetStockPriceAction class is included in the bundle.
45
+ * This prevents tree-shaking from removing the class during the build process.
46
+ */
47
+ export declare function LoadGetStockPriceAction(): void;
48
+ //# sourceMappingURL=get-stock-price.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-stock-price.action.d.ts","sourceRoot":"","sources":["../../src/custom/get-stock-price.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IAC/C;;;;;;;;;;;OAWG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAgG1F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,SAEtC"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LoadGetStockPriceAction = exports.GetStockPriceAction = void 0;
13
+ const actions_1 = require("@memberjunction/actions");
14
+ const global_1 = require("@memberjunction/global");
15
+ const axios_1 = __importDefault(require("axios"));
16
+ /**
17
+ * Action that retrieves current stock price and related information for a specified ticker symbol
18
+ * using the Yahoo Finance API through a public proxy that doesn't require an API key.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * // Get stock price for Apple
23
+ * await runAction({
24
+ * ActionName: 'Get Stock Price',
25
+ * Params: [{
26
+ * Name: 'Ticker',
27
+ * Value: 'AAPL'
28
+ * }]
29
+ * });
30
+ *
31
+ * // Get stock price for Microsoft
32
+ * await runAction({
33
+ * ActionName: 'Get Stock Price',
34
+ * Params: [{
35
+ * Name: 'Ticker',
36
+ * Value: 'MSFT'
37
+ * }]
38
+ * });
39
+ * ```
40
+ */
41
+ let GetStockPriceAction = class GetStockPriceAction extends actions_1.BaseAction {
42
+ /**
43
+ * Executes the stock price retrieval action
44
+ *
45
+ * @param params - The action parameters containing:
46
+ * - Ticker: The stock ticker symbol (e.g., AAPL, MSFT, GOOGL)
47
+ *
48
+ * @returns A promise resolving to an ActionResultSimple with:
49
+ * - Success: true if stock data was retrieved
50
+ * - ResultCode: "SUCCESS", "INVALID_TICKER", or "FAILED"
51
+ * - ResultData: Object containing stock information
52
+ * - Message: Error message if failed
53
+ */
54
+ async InternalRunAction(params) {
55
+ try {
56
+ const tickerParam = params.Params.find(p => p.Name === 'Ticker');
57
+ if (!tickerParam || !tickerParam.Value) {
58
+ return {
59
+ Success: false,
60
+ Message: "Ticker parameter is required",
61
+ ResultCode: "MISSING_PARAMETERS"
62
+ };
63
+ }
64
+ const ticker = tickerParam.Value.toUpperCase();
65
+ // Using Yahoo Finance API v8 through query1.finance.yahoo.com
66
+ // This endpoint provides real-time stock data without requiring authentication
67
+ const url = `https://query1.finance.yahoo.com/v8/finance/chart/${ticker}`;
68
+ const response = await axios_1.default.get(url, {
69
+ headers: {
70
+ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
71
+ }
72
+ });
73
+ if (!response.data.chart || !response.data.chart.result || response.data.chart.result.length === 0) {
74
+ return {
75
+ Success: false,
76
+ Message: `Invalid ticker symbol: ${ticker}`,
77
+ ResultCode: "INVALID_TICKER"
78
+ };
79
+ }
80
+ const result = response.data.chart.result[0];
81
+ const quote = result.indicators.quote[0];
82
+ const meta = result.meta;
83
+ // Get the latest values
84
+ const lastIndex = quote.close.length - 1;
85
+ const currentPrice = meta.regularMarketPrice || quote.close[lastIndex];
86
+ const previousClose = meta.previousClose || meta.chartPreviousClose;
87
+ const change = currentPrice - previousClose;
88
+ const changePercent = (change / previousClose) * 100;
89
+ const stockData = {
90
+ ticker: ticker,
91
+ companyName: meta.longName || meta.shortName || ticker,
92
+ exchange: meta.exchangeName,
93
+ currency: meta.currency,
94
+ marketState: meta.marketState,
95
+ pricing: {
96
+ currentPrice: parseFloat(currentPrice.toFixed(2)),
97
+ previousClose: parseFloat(previousClose.toFixed(2)),
98
+ change: parseFloat(change.toFixed(2)),
99
+ changePercent: parseFloat(changePercent.toFixed(2)),
100
+ dayHigh: meta.regularMarketDayHigh || Math.max(...quote.high.filter(h => h !== null)),
101
+ dayLow: meta.regularMarketDayLow || Math.min(...quote.low.filter(l => l !== null)),
102
+ volume: meta.regularMarketVolume || quote.volume[lastIndex],
103
+ marketCap: meta.marketCap || null
104
+ },
105
+ tradingInfo: {
106
+ timezone: meta.timezone,
107
+ exchangeTimezoneName: meta.exchangeTimezoneName,
108
+ regularMarketTime: new Date(meta.regularMarketTime * 1000).toISOString(),
109
+ preMarketPrice: meta.preMarketPrice || null,
110
+ postMarketPrice: meta.postMarketPrice || null
111
+ },
112
+ ranges: {
113
+ fiftyTwoWeekHigh: meta.fiftyTwoWeekHigh || null,
114
+ fiftyTwoWeekLow: meta.fiftyTwoWeekLow || null,
115
+ fiftyDayAverage: meta.fiftyDayAverage || null,
116
+ twoHundredDayAverage: meta.twoHundredDayAverage || null
117
+ }
118
+ };
119
+ return {
120
+ Success: true,
121
+ ResultCode: "SUCCESS",
122
+ Message: JSON.stringify(stockData, null, 2)
123
+ };
124
+ }
125
+ catch (error) {
126
+ if (axios_1.default.isAxiosError(error) && error.response?.status === 404) {
127
+ return {
128
+ Success: false,
129
+ Message: `Invalid ticker symbol: ${params.Params.find(p => p.Name === 'Ticker')?.Value}`,
130
+ ResultCode: "INVALID_TICKER"
131
+ };
132
+ }
133
+ return {
134
+ Success: false,
135
+ Message: `Failed to retrieve stock data: ${error instanceof Error ? error.message : String(error)}`,
136
+ ResultCode: "FAILED"
137
+ };
138
+ }
139
+ }
140
+ };
141
+ exports.GetStockPriceAction = GetStockPriceAction;
142
+ exports.GetStockPriceAction = GetStockPriceAction = __decorate([
143
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "__GetStockPrice")
144
+ ], GetStockPriceAction);
145
+ /**
146
+ * Loader function to ensure the GetStockPriceAction class is included in the bundle.
147
+ * This prevents tree-shaking from removing the class during the build process.
148
+ */
149
+ function LoadGetStockPriceAction() {
150
+ // this function is a stub that is used to force the bundler to include the above class in the final bundle and not tree shake them out
151
+ }
152
+ exports.LoadGetStockPriceAction = LoadGetStockPriceAction;
153
+ //# sourceMappingURL=get-stock-price.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-stock-price.action.js","sourceRoot":"","sources":["../../src/custom/get-stock-price.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that retrieves current weather information for a specified location
5
+ * using the Open-Meteo API which provides free weather data without requiring an API key.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // Get weather by city name
10
+ * await runAction({
11
+ * ActionName: 'Get Weather',
12
+ * Params: [{
13
+ * Name: 'Location',
14
+ * Value: 'New York'
15
+ * }]
16
+ * });
17
+ *
18
+ * // Get weather by coordinates
19
+ * await runAction({
20
+ * ActionName: 'Get Weather',
21
+ * Params: [{
22
+ * Name: 'Latitude',
23
+ * Value: 40.7128
24
+ * }, {
25
+ * Name: 'Longitude',
26
+ * Value: -74.0060
27
+ * }]
28
+ * });
29
+ * ```
30
+ */
31
+ export declare class GetWeatherAction extends BaseAction {
32
+ /**
33
+ * Executes the weather retrieval action
34
+ *
35
+ * @param params - The action parameters containing either:
36
+ * - Location: A city name to search for (will use geocoding)
37
+ * - Latitude & Longitude: Specific coordinates for weather data
38
+ *
39
+ * @returns A promise resolving to an ActionResultSimple with:
40
+ * - Success: true if weather data was retrieved
41
+ * - ResultCode: "SUCCESS" or "FAILED"
42
+ * - ResultData: Object containing weather information
43
+ * - Message: Error message if failed
44
+ */
45
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
46
+ }
47
+ /**
48
+ * Loader function to ensure the GetWeatherAction class is included in the bundle.
49
+ * This prevents tree-shaking from removing the class during the build process.
50
+ */
51
+ export declare function LoadGetWeatherAction(): void;
52
+ //# sourceMappingURL=get-weather.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-weather.action.d.ts","sourceRoot":"","sources":["../../src/custom/get-weather.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAe,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBACa,gBAAiB,SAAQ,UAAU;IAC5C;;;;;;;;;;;;OAYG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA6G1F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,SAEnC"}