@memberjunction/core-actions 2.107.0 → 2.109.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 (85) hide show
  1. package/dist/custom/ai/find-best-action.action.d.ts +53 -0
  2. package/dist/custom/ai/find-best-action.action.d.ts.map +1 -0
  3. package/dist/custom/ai/find-best-action.action.js +211 -0
  4. package/dist/custom/ai/find-best-action.action.js.map +1 -0
  5. package/dist/custom/ai/find-best-agent.action.d.ts +53 -0
  6. package/dist/custom/ai/find-best-agent.action.d.ts.map +1 -0
  7. package/dist/custom/ai/find-best-agent.action.js +194 -0
  8. package/dist/custom/ai/find-best-agent.action.js.map +1 -0
  9. package/dist/custom/ai/summarize-content.action.d.ts +3 -3
  10. package/dist/custom/ai/summarize-content.action.d.ts.map +1 -1
  11. package/dist/custom/ai/summarize-content.action.js +51 -143
  12. package/dist/custom/ai/summarize-content.action.js.map +1 -1
  13. package/dist/custom/code-execution/execute-code.action.d.ts +61 -0
  14. package/dist/custom/code-execution/execute-code.action.d.ts.map +1 -0
  15. package/dist/custom/code-execution/execute-code.action.js +172 -0
  16. package/dist/custom/code-execution/execute-code.action.js.map +1 -0
  17. package/dist/custom/data/csv-parser.action.js +1 -1
  18. package/dist/custom/data/csv-parser.action.js.map +1 -1
  19. package/dist/custom/data/execute-research-query.action.d.ts +36 -18
  20. package/dist/custom/data/execute-research-query.action.d.ts.map +1 -1
  21. package/dist/custom/data/execute-research-query.action.js +221 -114
  22. package/dist/custom/data/execute-research-query.action.js.map +1 -1
  23. package/dist/custom/data/explore-database-schema.action.d.ts +4 -0
  24. package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -1
  25. package/dist/custom/data/explore-database-schema.action.js +101 -8
  26. package/dist/custom/data/explore-database-schema.action.js.map +1 -1
  27. package/dist/custom/data/get-entity-details.action.d.ts +63 -0
  28. package/dist/custom/data/get-entity-details.action.d.ts.map +1 -0
  29. package/dist/custom/data/get-entity-details.action.js +284 -0
  30. package/dist/custom/data/get-entity-details.action.js.map +1 -0
  31. package/dist/custom/data/get-entity-list.action.d.ts +57 -0
  32. package/dist/custom/data/get-entity-list.action.d.ts.map +1 -0
  33. package/dist/custom/data/get-entity-list.action.js +177 -0
  34. package/dist/custom/data/get-entity-list.action.js.map +1 -0
  35. package/dist/custom/visualization/create-svg-chart.action.d.ts +97 -0
  36. package/dist/custom/visualization/create-svg-chart.action.d.ts.map +1 -0
  37. package/dist/custom/visualization/create-svg-chart.action.js +326 -0
  38. package/dist/custom/visualization/create-svg-chart.action.js.map +1 -0
  39. package/dist/custom/visualization/create-svg-diagram.action.d.ts +151 -0
  40. package/dist/custom/visualization/create-svg-diagram.action.d.ts.map +1 -0
  41. package/dist/custom/visualization/create-svg-diagram.action.js +764 -0
  42. package/dist/custom/visualization/create-svg-diagram.action.js.map +1 -0
  43. package/dist/custom/visualization/create-svg-infographic.action.d.ts +72 -0
  44. package/dist/custom/visualization/create-svg-infographic.action.d.ts.map +1 -0
  45. package/dist/custom/visualization/create-svg-infographic.action.js +343 -0
  46. package/dist/custom/visualization/create-svg-infographic.action.js.map +1 -0
  47. package/dist/custom/visualization/create-svg-network.action.d.ts +106 -0
  48. package/dist/custom/visualization/create-svg-network.action.d.ts.map +1 -0
  49. package/dist/custom/visualization/create-svg-network.action.js +687 -0
  50. package/dist/custom/visualization/create-svg-network.action.js.map +1 -0
  51. package/dist/custom/visualization/create-svg-sketch-diagram.action.d.ts +97 -0
  52. package/dist/custom/visualization/create-svg-sketch-diagram.action.d.ts.map +1 -0
  53. package/dist/custom/visualization/create-svg-sketch-diagram.action.js +730 -0
  54. package/dist/custom/visualization/create-svg-sketch-diagram.action.js.map +1 -0
  55. package/dist/custom/visualization/create-svg-word-cloud.action.d.ts +94 -0
  56. package/dist/custom/visualization/create-svg-word-cloud.action.d.ts.map +1 -0
  57. package/dist/custom/visualization/create-svg-word-cloud.action.js +497 -0
  58. package/dist/custom/visualization/create-svg-word-cloud.action.js.map +1 -0
  59. package/dist/custom/visualization/shared/svg-theming.d.ts +91 -0
  60. package/dist/custom/visualization/shared/svg-theming.d.ts.map +1 -0
  61. package/dist/custom/visualization/shared/svg-theming.js +235 -0
  62. package/dist/custom/visualization/shared/svg-theming.js.map +1 -0
  63. package/dist/custom/visualization/shared/svg-types.d.ts +354 -0
  64. package/dist/custom/visualization/shared/svg-types.d.ts.map +1 -0
  65. package/dist/custom/visualization/shared/svg-types.js +11 -0
  66. package/dist/custom/visualization/shared/svg-types.js.map +1 -0
  67. package/dist/custom/visualization/shared/svg-utils.d.ts +166 -0
  68. package/dist/custom/visualization/shared/svg-utils.d.ts.map +1 -0
  69. package/dist/custom/visualization/shared/svg-utils.js +555 -0
  70. package/dist/custom/visualization/shared/svg-utils.js.map +1 -0
  71. package/dist/custom/web/google-custom-search.action.d.ts +6 -1
  72. package/dist/custom/web/google-custom-search.action.d.ts.map +1 -1
  73. package/dist/custom/web/google-custom-search.action.js +78 -10
  74. package/dist/custom/web/google-custom-search.action.js.map +1 -1
  75. package/dist/custom/web/web-page-content.action.d.ts +24 -0
  76. package/dist/custom/web/web-page-content.action.d.ts.map +1 -1
  77. package/dist/custom/web/web-page-content.action.js +90 -9
  78. package/dist/custom/web/web-page-content.action.js.map +1 -1
  79. package/dist/generated/action_subclasses.d.ts +4 -4
  80. package/dist/generated/action_subclasses.js +13 -13
  81. package/dist/index.d.ts +12 -0
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.js +34 -0
  84. package/dist/index.js.map +1 -1
  85. package/package.json +30 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-svg-sketch-diagram.action.js","sourceRoot":"","sources":["../../../src/custom/visualization/create-svg-sketch-diagram.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ import { RunActionParams } from '@memberjunction/actions-base';
2
+ import { BaseAction } from '@memberjunction/actions';
3
+ import { SVGActionResult } from './shared/svg-types';
4
+ /**
5
+ * Action that generates SVG word clouds and tag bars from weighted word lists.
6
+ *
7
+ * This action provides server-side SVG generation for text visualizations, designed for
8
+ * AI agents and workflows to create publication-quality word clouds from data.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Word cloud example
13
+ * await runAction({
14
+ * ActionName: 'Create SVG Word Cloud',
15
+ * Params: [
16
+ * { Name: 'CloudType', Value: 'cloud' },
17
+ * { Name: 'Words', Value: JSON.stringify([
18
+ * { text: 'TypeScript', weight: 100 },
19
+ * { text: 'JavaScript', weight: 80 },
20
+ * { text: 'React', weight: 60 },
21
+ * { text: 'Node.js', weight: 50 }
22
+ * ]) },
23
+ * { Name: 'MaxWords', Value: '50' },
24
+ * { Name: 'Rotation', Value: 'few' },
25
+ * { Name: 'Width', Value: '800' },
26
+ * { Name: 'Height', Value: '600' }
27
+ * ]
28
+ * });
29
+ *
30
+ * // Tag bar example
31
+ * await runAction({
32
+ * ActionName: 'Create SVG Word Cloud',
33
+ * Params: [
34
+ * { Name: 'CloudType', Value: 'tagbar' },
35
+ * { Name: 'Words', Value: JSON.stringify([
36
+ * { text: 'AI', weight: 67 },
37
+ * { text: 'Data', weight: 45 },
38
+ * { text: 'API', weight: 32 }
39
+ * ]) },
40
+ * { Name: 'MaxWords', Value: '10' }
41
+ * ]
42
+ * });
43
+ * ```
44
+ */
45
+ export declare class CreateSVGWordCloudAction extends BaseAction {
46
+ /**
47
+ * Generates an SVG word cloud from the provided data and configuration
48
+ *
49
+ * @param params - The action parameters containing:
50
+ * - CloudType: Type of visualization ('cloud' | 'tagbar')
51
+ * - Words: JSON array of {text, weight} objects
52
+ * - MaxWords: Maximum number of words to display (default: 50)
53
+ * - Rotation: Rotation strategy ('none' | 'few' | 'mixed') for clouds
54
+ * - MinFont: Minimum font size (default: 10)
55
+ * - MaxFont: Maximum font size (default: 80)
56
+ * - Seed: Random seed for deterministic layouts (optional)
57
+ * - Width: Width in pixels (optional, default: 800)
58
+ * - Height: Height in pixels (optional, default: 600)
59
+ * - Title: Visualization title (optional)
60
+ * - Palette: Color palette name (optional)
61
+ *
62
+ * @returns A promise resolving to an SVGActionResult
63
+ */
64
+ protected InternalRunAction(params: RunActionParams): Promise<SVGActionResult>;
65
+ /**
66
+ * Renders a word cloud using d3-cloud
67
+ */
68
+ private renderWordCloud;
69
+ /**
70
+ * Renders a tag bar visualization
71
+ */
72
+ private renderTagBar;
73
+ /**
74
+ * Adds a title to the SVG
75
+ */
76
+ private addTitle;
77
+ /**
78
+ * Helper to safely parse JSON that might already be an object
79
+ */
80
+ private parseJSON;
81
+ /**
82
+ * Helper to ensure a parameter value is a string, with type conversion and validation
83
+ */
84
+ private ensureString;
85
+ /**
86
+ * Helper to get parameter value by name (case-insensitive)
87
+ */
88
+ private getParamValue;
89
+ }
90
+ /**
91
+ * Loader function to ensure the CreateSVGWordCloudAction class is included in the bundle.
92
+ */
93
+ export declare function LoadCreateSVGWordCloudAction(): void;
94
+ //# sourceMappingURL=create-svg-word-cloud.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-svg-word-cloud.action.d.ts","sourceRoot":"","sources":["../../../src/custom/visualization/create-svg-word-cloud.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD,OAAO,EAAyB,eAAe,EAAqB,MAAM,oBAAoB,CAAC;AAO/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBACa,wBAAyB,SAAQ,UAAU;IACpD;;;;;;;;;;;;;;;;;OAiBG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAyFpF;;OAEG;YACW,eAAe;IAgM7B;;OAEG;YACW,YAAY;IAgG1B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;OAEG;IACH,OAAO,CAAC,SAAS;IAuBjB;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,aAAa;CAQxB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,SAE3C"}
@@ -0,0 +1,497 @@
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.LoadCreateSVGWordCloudAction = exports.CreateSVGWordCloudAction = void 0;
13
+ const actions_1 = require("@memberjunction/actions");
14
+ const global_1 = require("@memberjunction/global");
15
+ const d3_cloud_1 = __importDefault(require("d3-cloud"));
16
+ const svg_utils_1 = require("./shared/svg-utils");
17
+ const svg_theming_1 = require("./shared/svg-theming");
18
+ // Handle d3-cloud module export
19
+ const d3Cloud = d3_cloud_1.default.default || d3_cloud_1.default;
20
+ /**
21
+ * Action that generates SVG word clouds and tag bars from weighted word lists.
22
+ *
23
+ * This action provides server-side SVG generation for text visualizations, designed for
24
+ * AI agents and workflows to create publication-quality word clouds from data.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Word cloud example
29
+ * await runAction({
30
+ * ActionName: 'Create SVG Word Cloud',
31
+ * Params: [
32
+ * { Name: 'CloudType', Value: 'cloud' },
33
+ * { Name: 'Words', Value: JSON.stringify([
34
+ * { text: 'TypeScript', weight: 100 },
35
+ * { text: 'JavaScript', weight: 80 },
36
+ * { text: 'React', weight: 60 },
37
+ * { text: 'Node.js', weight: 50 }
38
+ * ]) },
39
+ * { Name: 'MaxWords', Value: '50' },
40
+ * { Name: 'Rotation', Value: 'few' },
41
+ * { Name: 'Width', Value: '800' },
42
+ * { Name: 'Height', Value: '600' }
43
+ * ]
44
+ * });
45
+ *
46
+ * // Tag bar example
47
+ * await runAction({
48
+ * ActionName: 'Create SVG Word Cloud',
49
+ * Params: [
50
+ * { Name: 'CloudType', Value: 'tagbar' },
51
+ * { Name: 'Words', Value: JSON.stringify([
52
+ * { text: 'AI', weight: 67 },
53
+ * { text: 'Data', weight: 45 },
54
+ * { text: 'API', weight: 32 }
55
+ * ]) },
56
+ * { Name: 'MaxWords', Value: '10' }
57
+ * ]
58
+ * });
59
+ * ```
60
+ */
61
+ let CreateSVGWordCloudAction = class CreateSVGWordCloudAction extends actions_1.BaseAction {
62
+ /**
63
+ * Generates an SVG word cloud from the provided data and configuration
64
+ *
65
+ * @param params - The action parameters containing:
66
+ * - CloudType: Type of visualization ('cloud' | 'tagbar')
67
+ * - Words: JSON array of {text, weight} objects
68
+ * - MaxWords: Maximum number of words to display (default: 50)
69
+ * - Rotation: Rotation strategy ('none' | 'few' | 'mixed') for clouds
70
+ * - MinFont: Minimum font size (default: 10)
71
+ * - MaxFont: Maximum font size (default: 80)
72
+ * - Seed: Random seed for deterministic layouts (optional)
73
+ * - Width: Width in pixels (optional, default: 800)
74
+ * - Height: Height in pixels (optional, default: 600)
75
+ * - Title: Visualization title (optional)
76
+ * - Palette: Color palette name (optional)
77
+ *
78
+ * @returns A promise resolving to an SVGActionResult
79
+ */
80
+ async InternalRunAction(params) {
81
+ try {
82
+ const cloudTypeParam = this.getParamValue(params, 'CloudType');
83
+ const cloudType = cloudTypeParam ? this.ensureString(cloudTypeParam, 'CloudType').toLowerCase() : 'cloud';
84
+ if (!['cloud', 'tagbar'].includes(cloudType)) {
85
+ return {
86
+ Success: false,
87
+ Message: 'CloudType must be "cloud" or "tagbar"',
88
+ ResultCode: 'INVALID_CLOUD_TYPE',
89
+ };
90
+ }
91
+ // Parse words
92
+ const wordsParam = this.getParamValue(params, 'Words');
93
+ if (!wordsParam) {
94
+ return {
95
+ Success: false,
96
+ Message: 'Words parameter is required',
97
+ ResultCode: 'MISSING_PARAMETERS',
98
+ };
99
+ }
100
+ let words = this.parseJSON(wordsParam, 'Words');
101
+ // Parse common parameters
102
+ const maxWords = parseInt(this.ensureString(this.getParamValue(params, 'MaxWords') || '50', 'MaxWords'));
103
+ const width = parseInt(this.ensureString(this.getParamValue(params, 'Width') || '800', 'Width'));
104
+ const height = parseInt(this.ensureString(this.getParamValue(params, 'Height') || '600', 'Height'));
105
+ const title = this.ensureString(this.getParamValue(params, 'Title') || '', 'Title');
106
+ const paletteName = this.ensureString(this.getParamValue(params, 'Palette') || 'mjDefault', 'Palette');
107
+ const seed = parseInt(this.ensureString(this.getParamValue(params, 'Seed') || String(Date.now()), 'Seed'));
108
+ // Sort by weight descending and limit
109
+ words = words.sort((a, b) => b.weight - a.weight).slice(0, maxWords);
110
+ // Create branding configuration
111
+ const branding = {
112
+ palette: { type: 'named', name: paletteName },
113
+ };
114
+ // Create viewBox configuration
115
+ const viewBox = {
116
+ width,
117
+ height,
118
+ padding: 20,
119
+ };
120
+ // Generate visualization based on type
121
+ let svg;
122
+ const warnings = [];
123
+ switch (cloudType) {
124
+ case 'cloud':
125
+ svg = await this.renderWordCloud(params, words, viewBox, branding, title, seed, warnings);
126
+ break;
127
+ case 'tagbar':
128
+ svg = await this.renderTagBar(words, viewBox, branding, title);
129
+ break;
130
+ default:
131
+ return {
132
+ Success: false,
133
+ Message: `Unsupported cloud type: ${cloudType}`,
134
+ ResultCode: 'INVALID_CLOUD_TYPE',
135
+ };
136
+ }
137
+ return {
138
+ Success: true,
139
+ ResultCode: 'SUCCESS',
140
+ Message: svg,
141
+ svg,
142
+ width,
143
+ height,
144
+ warnings: warnings.length > 0 ? warnings : undefined,
145
+ diagnostics: {
146
+ wordCount: words.length,
147
+ requestedMaxWords: maxWords,
148
+ },
149
+ };
150
+ }
151
+ catch (error) {
152
+ return {
153
+ Success: false,
154
+ Message: `Failed to generate word cloud: ${error instanceof Error ? error.message : String(error)}`,
155
+ ResultCode: 'WORD_CLOUD_GENERATION_FAILED',
156
+ };
157
+ }
158
+ }
159
+ /**
160
+ * Renders a word cloud using d3-cloud
161
+ */
162
+ async renderWordCloud(params, words, viewBox, branding, title, seed, warnings) {
163
+ try {
164
+ // Parse cloud-specific parameters
165
+ const rotation = this.getParamValue(params, 'Rotation') || 'few';
166
+ const minFont = parseInt(this.getParamValue(params, 'MinFont') || '10');
167
+ const maxFont = parseInt(this.getParamValue(params, 'MaxFont') || '80');
168
+ // Calculate viewBox
169
+ const vb = svg_utils_1.SVGUtils.calculateViewBox(viewBox);
170
+ // Create seeded random generator
171
+ const random = svg_utils_1.SVGUtils.seededRandom(seed);
172
+ // Calculate font sizes using log scale
173
+ const minWeight = Math.min(...words.map((w) => w.weight));
174
+ const maxWeight = Math.max(...words.map((w) => w.weight));
175
+ const logMin = Math.log(minWeight || 1);
176
+ const logMax = Math.log(maxWeight || 1);
177
+ const wordsWithSize = words.map((w) => {
178
+ const logWeight = Math.log(w.weight || 1);
179
+ const normalizedSize = logMax > logMin ? (logWeight - logMin) / (logMax - logMin) : 0.5;
180
+ const fontSize = minFont + normalizedSize * (maxFont - minFont);
181
+ return {
182
+ text: w.text,
183
+ size: fontSize,
184
+ weight: w.weight,
185
+ };
186
+ });
187
+ // Determine rotation angles based on strategy
188
+ const getRotation = () => {
189
+ switch (rotation) {
190
+ case 'none':
191
+ return 0;
192
+ case 'few':
193
+ return random() < 0.5 ? 0 : -90;
194
+ case 'mixed':
195
+ return Math.floor(random() * 4) * 45 - 90;
196
+ default:
197
+ return 0;
198
+ }
199
+ };
200
+ // Create d3-cloud layout
201
+ return new Promise((resolve, reject) => {
202
+ try {
203
+ const layout = d3Cloud()
204
+ .size([vb.contentWidth, vb.contentHeight])
205
+ .words(wordsWithSize)
206
+ .padding(5)
207
+ .rotate(getRotation)
208
+ .font((0, svg_theming_1.getFontSpec)(branding.font).family)
209
+ .fontSize((d) => d.size)
210
+ .random(random)
211
+ .spiral('archimedean')
212
+ .on('end', (layoutWords) => {
213
+ try {
214
+ // Check if any words didn't fit
215
+ const fittedWords = layoutWords.filter((w) => w.x != null && w.y != null);
216
+ if (fittedWords.length < wordsWithSize.length) {
217
+ warnings.push(`${wordsWithSize.length - fittedWords.length} words did not fit in the layout`);
218
+ }
219
+ // Create SVG - STEP 1
220
+ let doc;
221
+ try {
222
+ doc = svg_utils_1.SVGUtils.createSVG(viewBox.width, viewBox.height, 'wordcloud');
223
+ }
224
+ catch (error) {
225
+ throw new Error(`[STEP 1: createSVG] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
226
+ }
227
+ // Get SVG element - STEP 2
228
+ let svg;
229
+ try {
230
+ svg = doc.querySelector('svg');
231
+ if (!svg) {
232
+ throw new Error('SVG element not found in document');
233
+ }
234
+ }
235
+ catch (error) {
236
+ throw new Error(`[STEP 2: querySelector] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
237
+ }
238
+ // Add accessibility - STEP 3
239
+ if (title) {
240
+ try {
241
+ svg_utils_1.SVGUtils.addA11y(svg, {
242
+ title,
243
+ ariaRole: 'img',
244
+ });
245
+ }
246
+ catch (error) {
247
+ throw new Error(`[STEP 3: addA11y] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
248
+ }
249
+ }
250
+ // Add styles - STEP 4
251
+ try {
252
+ const css = (0, svg_theming_1.generateCSS)(branding);
253
+ svg_utils_1.SVGUtils.addStyles(svg, css);
254
+ }
255
+ catch (error) {
256
+ throw new Error(`[STEP 4: addStyles] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
257
+ }
258
+ // Get palette - STEP 5
259
+ let palette;
260
+ try {
261
+ palette = (0, svg_theming_1.getPalette)(branding.palette);
262
+ }
263
+ catch (error) {
264
+ throw new Error(`[STEP 5: getPalette] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
265
+ }
266
+ // Create container group - STEP 6
267
+ try {
268
+ const ns = svg.namespaceURI;
269
+ if (!ns) {
270
+ throw new Error('SVG namespaceURI is null');
271
+ }
272
+ const container = doc.createElementNS(ns, 'g');
273
+ container.setAttribute('transform', `translate(${vb.x + vb.contentWidth / 2}, ${vb.y + vb.contentHeight / 2})`);
274
+ svg.appendChild(container);
275
+ // Render words - STEP 7
276
+ fittedWords.forEach((word, i) => {
277
+ try {
278
+ const text = doc.createElementNS(ns, 'text');
279
+ text.setAttribute('transform', `translate(${word.x || 0}, ${word.y || 0}) rotate(${word.rotate || 0})`);
280
+ text.setAttribute('font-family', (0, svg_theming_1.getFontSpec)(branding.font).family);
281
+ text.setAttribute('font-size', String(word.size));
282
+ text.setAttribute('text-anchor', 'middle');
283
+ text.setAttribute('font-weight', String(word.size > 40 ? 'bold' : 'normal'));
284
+ // Get color from palette
285
+ const color = (0, svg_theming_1.getColorForIndex)(i, branding.palette);
286
+ text.setAttribute('fill', color);
287
+ // Add subtle stroke for better visibility
288
+ if (word.size > 30) {
289
+ text.setAttribute('stroke', palette.background);
290
+ text.setAttribute('stroke-width', '0.5');
291
+ text.setAttribute('paint-order', 'stroke fill');
292
+ }
293
+ text.textContent = word.text;
294
+ container.appendChild(text);
295
+ }
296
+ catch (error) {
297
+ throw new Error(`[STEP 7: render word ${i} "${word.text}"] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
298
+ }
299
+ });
300
+ }
301
+ catch (error) {
302
+ throw new Error(`[STEP 6: create container] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
303
+ }
304
+ // Add title if present - STEP 8
305
+ if (title) {
306
+ try {
307
+ this.addTitle(doc, svg, title, vb.width, (0, svg_theming_1.getFontSpec)(branding.font));
308
+ }
309
+ catch (error) {
310
+ throw new Error(`[STEP 8: addTitle] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
311
+ }
312
+ }
313
+ // Sanitize and resolve - STEP 9
314
+ try {
315
+ const result = svg_utils_1.SVGUtils.sanitizeSVG(svg.outerHTML);
316
+ resolve(result);
317
+ }
318
+ catch (error) {
319
+ throw new Error(`[STEP 9: sanitizeSVG] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
320
+ }
321
+ }
322
+ catch (error) {
323
+ reject(error);
324
+ }
325
+ });
326
+ layout.start();
327
+ }
328
+ catch (error) {
329
+ reject(new Error(`[d3-cloud layout setup] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`));
330
+ }
331
+ });
332
+ }
333
+ catch (error) {
334
+ throw new Error(`[renderWordCloud outer] ${error instanceof Error ? error.message : String(error)}\nStack: ${error instanceof Error ? error.stack : 'N/A'}`);
335
+ }
336
+ }
337
+ /**
338
+ * Renders a tag bar visualization
339
+ */
340
+ async renderTagBar(words, viewBox, branding, title) {
341
+ // Calculate viewBox
342
+ const vb = svg_utils_1.SVGUtils.calculateViewBox(viewBox);
343
+ // Create SVG
344
+ const doc = svg_utils_1.SVGUtils.createSVG(viewBox.width, viewBox.height, 'tagbar');
345
+ const svg = doc.querySelector('svg');
346
+ // Add accessibility
347
+ if (title) {
348
+ svg_utils_1.SVGUtils.addA11y(svg, {
349
+ title,
350
+ ariaRole: 'img',
351
+ });
352
+ }
353
+ // Add styles
354
+ const css = (0, svg_theming_1.generateCSS)(branding);
355
+ svg_utils_1.SVGUtils.addStyles(svg, css);
356
+ // Get palette
357
+ const palette = (0, svg_theming_1.getPalette)(branding.palette);
358
+ const font = (0, svg_theming_1.getFontSpec)(branding.font);
359
+ // Calculate bar dimensions
360
+ const barHeight = 40;
361
+ const spacing = 10;
362
+ const availableHeight = vb.contentHeight - (title ? 40 : 0);
363
+ const maxBars = Math.floor(availableHeight / (barHeight + spacing));
364
+ const displayWords = words.slice(0, maxBars);
365
+ // Normalize bar widths based on weights
366
+ const maxWeight = Math.max(...displayWords.map((w) => w.weight));
367
+ const minBarWidth = 100;
368
+ // Create container group
369
+ const ns = svg.namespaceURI;
370
+ const container = doc.createElementNS(ns, 'g');
371
+ container.setAttribute('transform', `translate(${vb.x}, ${vb.y + (title ? 40 : 0)})`);
372
+ svg.appendChild(container);
373
+ // Render bars
374
+ displayWords.forEach((word, i) => {
375
+ const yPos = i * (barHeight + spacing);
376
+ const barWidth = minBarWidth + ((word.weight / maxWeight) * (vb.contentWidth - minBarWidth));
377
+ const g = doc.createElementNS(ns, 'g');
378
+ g.setAttribute('transform', `translate(0, ${yPos})`);
379
+ // Bar rectangle
380
+ const rect = doc.createElementNS(ns, 'rect');
381
+ rect.setAttribute('x', '0');
382
+ rect.setAttribute('y', '0');
383
+ rect.setAttribute('width', String(barWidth));
384
+ rect.setAttribute('height', String(barHeight));
385
+ rect.setAttribute('fill', (0, svg_theming_1.getColorForIndex)(i, branding.palette));
386
+ rect.setAttribute('rx', '5');
387
+ g.appendChild(rect);
388
+ // Label text
389
+ const text = doc.createElementNS(ns, 'text');
390
+ text.setAttribute('x', '10');
391
+ text.setAttribute('y', String(barHeight / 2));
392
+ text.setAttribute('dominant-baseline', 'middle');
393
+ text.setAttribute('font-family', font.family);
394
+ text.setAttribute('font-size', String(font.size));
395
+ text.setAttribute('font-weight', 'bold');
396
+ text.setAttribute('fill', '#FFF');
397
+ text.textContent = word.text;
398
+ g.appendChild(text);
399
+ // Weight text
400
+ const weightText = doc.createElementNS(ns, 'text');
401
+ weightText.setAttribute('x', String(barWidth - 10));
402
+ weightText.setAttribute('y', String(barHeight / 2));
403
+ weightText.setAttribute('text-anchor', 'end');
404
+ weightText.setAttribute('dominant-baseline', 'middle');
405
+ weightText.setAttribute('font-family', font.family);
406
+ weightText.setAttribute('font-size', String(font.size - 2));
407
+ weightText.setAttribute('fill', '#FFF');
408
+ weightText.setAttribute('opacity', '0.9');
409
+ weightText.textContent = String(word.weight);
410
+ g.appendChild(weightText);
411
+ container.appendChild(g);
412
+ });
413
+ // Add title if present
414
+ if (title) {
415
+ this.addTitle(doc, svg, title, vb.width, font);
416
+ }
417
+ // Sanitize and return
418
+ return svg_utils_1.SVGUtils.sanitizeSVG(svg.outerHTML);
419
+ }
420
+ /**
421
+ * Adds a title to the SVG
422
+ */
423
+ addTitle(doc, svg, title, width, font) {
424
+ const ns = svg.namespaceURI;
425
+ const text = doc.createElementNS(ns, 'text');
426
+ text.setAttribute('x', String(width / 2));
427
+ text.setAttribute('y', '25');
428
+ text.setAttribute('text-anchor', 'middle');
429
+ text.setAttribute('font-family', font.family);
430
+ text.setAttribute('font-size', String(font.size + 4));
431
+ text.setAttribute('font-weight', 'bold');
432
+ text.textContent = title;
433
+ svg.appendChild(text);
434
+ }
435
+ /**
436
+ * Helper to safely parse JSON that might already be an object
437
+ */
438
+ parseJSON(value, paramName) {
439
+ // If it's already an object/array, return it
440
+ if (typeof value === 'object' && value !== null) {
441
+ return value;
442
+ }
443
+ // If it's a string, parse it
444
+ if (typeof value === 'string') {
445
+ try {
446
+ return JSON.parse(value);
447
+ }
448
+ catch (error) {
449
+ throw new Error(`Parameter '${paramName}' contains invalid JSON: ${error instanceof Error ? error.message : String(error)}`);
450
+ }
451
+ }
452
+ // For other types, error
453
+ throw new Error(`Parameter '${paramName}' must be a JSON string or object. Received ${typeof value}.`);
454
+ }
455
+ /**
456
+ * Helper to ensure a parameter value is a string, with type conversion and validation
457
+ */
458
+ ensureString(value, paramName) {
459
+ if (value == null) {
460
+ return '';
461
+ }
462
+ if (typeof value === 'string') {
463
+ return value;
464
+ }
465
+ // Convert numbers and booleans to strings
466
+ if (typeof value === 'number' || typeof value === 'boolean') {
467
+ return String(value);
468
+ }
469
+ // For objects/arrays, reject with descriptive error
470
+ throw new Error(`Parameter '${paramName}' must be a string, number, or boolean. ` +
471
+ `Received ${typeof value}. If providing JSON data, ensure it's passed as a string.`);
472
+ }
473
+ /**
474
+ * Helper to get parameter value by name (case-insensitive)
475
+ */
476
+ getParamValue(params, paramName) {
477
+ const param = params.Params.find((p) => p.Name.trim().toLowerCase() === paramName.toLowerCase());
478
+ if (param?.Value && typeof param.Value === 'string') {
479
+ return param?.Value?.trim() || null;
480
+ }
481
+ else {
482
+ return param?.Value || null;
483
+ }
484
+ }
485
+ };
486
+ exports.CreateSVGWordCloudAction = CreateSVGWordCloudAction;
487
+ exports.CreateSVGWordCloudAction = CreateSVGWordCloudAction = __decorate([
488
+ (0, global_1.RegisterClass)(actions_1.BaseAction, '__CreateSVGWordCloud')
489
+ ], CreateSVGWordCloudAction);
490
+ /**
491
+ * Loader function to ensure the CreateSVGWordCloudAction class is included in the bundle.
492
+ */
493
+ function LoadCreateSVGWordCloudAction() {
494
+ // 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
495
+ }
496
+ exports.LoadCreateSVGWordCloudAction = LoadCreateSVGWordCloudAction;
497
+ //# sourceMappingURL=create-svg-word-cloud.action.js.map