@memberjunction/core-actions 6.1.2 → 6.2.0-edge.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 (31) hide show
  1. package/dist/config.d.ts +68 -10
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +32 -5
  4. package/dist/config.js.map +1 -1
  5. package/dist/custom/ai/generate-image.action.d.ts +13 -1
  6. package/dist/custom/ai/generate-image.action.d.ts.map +1 -1
  7. package/dist/custom/ai/generate-image.action.js +25 -13
  8. package/dist/custom/ai/generate-image.action.js.map +1 -1
  9. package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
  10. package/dist/custom/utilities/base-file-handler.js +4 -2
  11. package/dist/custom/utilities/base-file-handler.js.map +1 -1
  12. package/dist/custom/web/brave-search.action.d.ts +108 -0
  13. package/dist/custom/web/brave-search.action.d.ts.map +1 -0
  14. package/dist/custom/web/brave-search.action.js +285 -0
  15. package/dist/custom/web/brave-search.action.js.map +1 -0
  16. package/dist/custom/web/perplexity-search.action.d.ts +76 -44
  17. package/dist/custom/web/perplexity-search.action.d.ts.map +1 -1
  18. package/dist/custom/web/perplexity-search.action.js +228 -157
  19. package/dist/custom/web/perplexity-search.action.js.map +1 -1
  20. package/dist/custom/web/rss-feed-read.action.d.ts.map +1 -1
  21. package/dist/custom/web/rss-feed-read.action.js +4 -1
  22. package/dist/custom/web/rss-feed-read.action.js.map +1 -1
  23. package/dist/custom/web/web-search.action.d.ts +56 -40
  24. package/dist/custom/web/web-search.action.d.ts.map +1 -1
  25. package/dist/custom/web/web-search.action.js +141 -413
  26. package/dist/custom/web/web-search.action.js.map +1 -1
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/package.json +40 -39
@@ -4,195 +4,261 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var PerplexitySearchAction_1;
7
8
  import { BaseAction } from "@memberjunction/actions";
8
9
  import { RegisterClass } from "@memberjunction/global";
9
10
  import { HttpPost, IsHttpError } from "@memberjunction/network-utils";
10
11
  import { getApiIntegrationsConfig } from "../../config.js";
11
12
  /**
12
- * Action that performs AI-powered web search using Perplexity's Search API
13
- * Returns comprehensive search results with citations and related questions
13
+ * Action that queries Perplexity. It fronts **two different products**, selected
14
+ * by `Mode`, because they answer different questions and cost different money.
15
+ *
16
+ * - **`search` (default)** calls `POST /search`, Perplexity's raw search endpoint.
17
+ * It returns ranked `title` / `url` / `snippet` results with no model in the
18
+ * loop: sub-second, flat-priced per query, and deterministic enough to cache.
19
+ * This is the mode to use when something wants *sources*.
20
+ * - **`answer`** calls `POST /chat/completions` against the Sonar models. It
21
+ * returns synthesised prose plus a flat citation list, takes seconds rather
22
+ * than milliseconds, and bills per token. Use it when a caller genuinely wants
23
+ * a written answer rather than results to read.
24
+ *
25
+ * `search` is the default deliberately. Every caller that omitted `Mode` before
26
+ * this parameter existed was paying Sonar generation prices, and waiting for
27
+ * generation latency, to obtain what was usually just a list of links — and
28
+ * `Citations` is still populated in `search` mode, so callers that only read the
29
+ * URL list keep working unchanged.
14
30
  *
15
31
  * @example
16
32
  * ```typescript
17
- * // Basic search with Perplexity
33
+ * // Structured results — fast, flat-priced (default)
18
34
  * await runAction({
19
35
  * ActionName: 'Perplexity Search',
20
- * Params: [{
21
- * Name: 'Query',
22
- * Value: 'latest developments in quantum computing'
23
- * }]
36
+ * Params: [{ Name: 'Query', Value: 'latest developments in quantum computing' }]
24
37
  * });
25
38
  *
26
- * // Search with specific model and parameters
39
+ * // Structured results, recent only, restricted to two domains
27
40
  * await runAction({
28
41
  * ActionName: 'Perplexity Search',
29
- * Params: [{
30
- * Name: 'Query',
31
- * Value: 'climate change research papers 2024'
32
- * }, {
33
- * Name: 'Model',
34
- * Value: 'sonar-pro'
35
- * }, {
36
- * Name: 'ReturnRelatedQuestions',
37
- * Value: true
38
- * }, {
39
- * Name: 'ReturnImages',
40
- * Value: true
41
- * }]
42
+ * Params: [
43
+ * { Name: 'Query', Value: 'IRS Form 990 filing changes' },
44
+ * { Name: 'MaxResults', Value: 15 },
45
+ * { Name: 'SearchRecencyFilter', Value: 'month' },
46
+ * { Name: 'SearchDomainFilter', Value: ['irs.gov', 'councilofnonprofits.org'] }
47
+ * ]
42
48
  * });
43
49
  *
44
- * // Search with domain filtering
50
+ * // A written answer with citations — slower, token-billed
45
51
  * await runAction({
46
52
  * ActionName: 'Perplexity Search',
47
- * Params: [{
48
- * Name: 'Query',
49
- * Value: 'machine learning tutorials'
50
- * }, {
51
- * Name: 'SearchDomainFilter',
52
- * Value: ['github.com', 'arxiv.org', 'medium.com']
53
- * }]
53
+ * Params: [
54
+ * { Name: 'Query', Value: 'summarise the 2026 nonprofit reporting changes' },
55
+ * { Name: 'Mode', Value: 'answer' },
56
+ * { Name: 'Model', Value: 'sonar-pro' }
57
+ * ]
54
58
  * });
55
59
  * ```
56
60
  */
57
61
  let PerplexitySearchAction = class PerplexitySearchAction extends BaseAction {
62
+ static { PerplexitySearchAction_1 = this; }
63
+ static { this.SEARCH_ENDPOINT = 'https://api.perplexity.ai/search'; }
64
+ static { this.CHAT_ENDPOINT = 'https://api.perplexity.ai/chat/completions'; }
65
+ /** Perplexity's cap on results per web-search request. */
66
+ static { this.MAX_RESULTS = 20; }
67
+ static { this.DEFAULT_MAX_RESULTS = 10; }
68
+ /** Perplexity's cap on the domain allow/deny list. */
69
+ static { this.MAX_DOMAIN_FILTERS = 20; }
70
+ static { this.RECENCY_VALUES = ['hour', 'day', 'week', 'month', 'year']; }
58
71
  /**
59
- * Executes the Perplexity AI search
72
+ * Executes the Perplexity call.
60
73
  *
61
74
  * @param params - The action parameters containing:
62
75
  * - Query: Search query text (required)
63
- * - Model: Perplexity model to use (default: 'sonar')
64
- * Options: sonar, sonar-pro, sonar-reasoning-pro, sonar-deep-research
65
- * Note: the legacy llama-3.1-sonar-* identifiers were retired by Perplexity in
66
- * February 2025 and now fail with an invalid-model error.
67
- * - MaxTokens: Maximum tokens in response (default: 1000)
68
- * - Temperature: Sampling temperature 0-2 (default: 0.2)
69
- * - TopP: Nucleus sampling threshold (default: 0.9)
70
- * - ReturnImages: Include images in results (default: false)
71
- * - ReturnRelatedQuestions: Include related questions (default: false)
72
- * - SearchDomainFilter: Array of domains to limit/exclude search (use '-' prefix to exclude)
73
- * - SearchRecencyFilter: Filter by recency - 'day', 'week', 'month', 'year' (optional)
76
+ * - Mode: 'search' (default) for structured results, or 'answer' for Sonar prose
77
+ * - SearchDomainFilter: Restrict to these domains (max 20) — both modes
78
+ * - SearchRecencyFilter: 'hour' | 'day' | 'week' | 'month' | 'year' — both modes
79
+ *
80
+ * `search` mode only:
81
+ * - MaxResults: 1-20 (default 10)
82
+ * - Country: 2-letter country code for localisation
74
83
  *
75
- * @returns Search results with content, citations, and related questions
84
+ * `answer` mode only:
85
+ * - Model: 'sonar' (default), 'sonar-pro', 'sonar-reasoning-pro', 'sonar-deep-research'.
86
+ * Note the legacy `llama-3.1-sonar-*` identifiers were retired by Perplexity in
87
+ * February 2025 and now fail with an invalid-model error
88
+ * - MaxTokens, Temperature, TopP
89
+ * - ReturnImages, ReturnRelatedQuestions
90
+ *
91
+ * @returns Structured results in `search` mode; prose plus citations in `answer` mode
76
92
  */
77
93
  async InternalRunAction(params) {
94
+ const query = this.getStringParam(params, 'query');
95
+ if (!query) {
96
+ return this.createErrorResult("Query parameter is required", "MISSING_QUERY");
97
+ }
98
+ const mode = (this.getStringParam(params, 'mode') || 'search').trim().toLowerCase();
99
+ if (mode !== 'search' && mode !== 'answer') {
100
+ return this.createErrorResult(`Mode must be 'search' or 'answer' (got '${mode}')`, "INVALID_MODE");
101
+ }
102
+ const apiKey = getApiIntegrationsConfig().perplexityApiKey;
103
+ if (!apiKey) {
104
+ return this.createErrorResult("Perplexity API key not found. Set perplexityApiKey in mj.config.cjs or PERPLEXITY_API_KEY environment variable", "MISSING_API_KEY");
105
+ }
106
+ const recency = this.getStringParam(params, 'searchrecencyfilter')?.trim().toLowerCase();
107
+ if (recency && !PerplexitySearchAction_1.RECENCY_VALUES.includes(recency)) {
108
+ return this.createErrorResult(`SearchRecencyFilter must be one of ${PerplexitySearchAction_1.RECENCY_VALUES.join(', ')} (got '${recency}')`, "INVALID_RECENCY_FILTER");
109
+ }
110
+ // Truncated rather than rejected: Perplexity 400s on an over-long list, and the
111
+ // first 20 domains still express what the caller was narrowing to.
112
+ const domainFilter = this.getStringArrayParam(params, 'searchdomainfilter')
113
+ .slice(0, PerplexitySearchAction_1.MAX_DOMAIN_FILTERS);
78
114
  try {
79
- // Get required parameters
80
- const query = this.getStringParam(params, 'query');
81
- if (!query) {
82
- return this.createErrorResult("Query parameter is required", "MISSING_QUERY");
83
- }
84
- // Get API key from config (which checks mj.config.cjs then falls back to environment variable)
85
- const apiConfig = getApiIntegrationsConfig();
86
- const apiKey = apiConfig.perplexityApiKey;
87
- if (!apiKey) {
88
- return this.createErrorResult("Perplexity API key not found. Set perplexityApiKey in mj.config.cjs or PERPLEXITY_API_KEY environment variable", "MISSING_API_KEY");
89
- }
90
- // Get optional parameters
91
- const model = this.getStringParam(params, 'model') || 'sonar';
92
- const maxTokens = this.getNumericParam(params, 'maxtokens', 1000);
93
- const temperature = this.getNumericParam(params, 'temperature', 0.2);
94
- const topP = this.getNumericParam(params, 'topp', 0.9);
95
- const returnImages = this.getBooleanParam(params, 'returnimages', false);
96
- const returnRelatedQuestions = this.getBooleanParam(params, 'returnrelatedquestions', false);
97
- const searchRecencyFilter = this.getStringParam(params, 'searchrecencyfilter');
98
- // Get domain filter (can be array or comma-separated string)
99
- const domainFilterParam = this.getParamValue(params, 'searchdomainfilter');
100
- let searchDomainFilter;
101
- if (domainFilterParam) {
102
- if (Array.isArray(domainFilterParam)) {
103
- searchDomainFilter = domainFilterParam;
104
- }
105
- else if (typeof domainFilterParam === 'string') {
106
- searchDomainFilter = domainFilterParam.split(',').map(d => d.trim());
107
- }
108
- }
109
- // Build request body
110
- const requestBody = {
111
- model,
112
- messages: [
113
- {
114
- role: 'user',
115
- content: query
116
- }
117
- ],
118
- max_tokens: maxTokens,
119
- temperature,
120
- top_p: topP,
121
- return_images: returnImages,
122
- return_related_questions: returnRelatedQuestions,
123
- stream: false
124
- };
125
- // Add optional parameters
126
- if (searchDomainFilter && searchDomainFilter.length > 0) {
127
- requestBody.search_domain_filter = searchDomainFilter;
128
- }
129
- if (searchRecencyFilter) {
130
- requestBody.search_recency_filter = searchRecencyFilter;
131
- }
132
- // Make API request
133
- const response = await HttpPost('https://api.perplexity.ai/chat/completions', requestBody, {
134
- Headers: {
135
- 'Authorization': `Bearer ${apiKey}`,
136
- 'Content-Type': 'application/json'
137
- },
138
- Timeout: 60000 // 60 second timeout
139
- });
140
- if (!response.Data) {
141
- return this.createErrorResult("Empty response from Perplexity API", "EMPTY_RESPONSE");
115
+ return mode === 'search'
116
+ ? await this.runSearchMode(params, { query, apiKey, recency, domainFilter })
117
+ : await this.runAnswerMode(params, { query, apiKey, recency, domainFilter });
118
+ }
119
+ catch (error) {
120
+ // Status 0 is HttpError's "the request never produced a response" — a timeout or a
121
+ // network failure. That is not an API answer, so it falls through to SEARCH_FAILED.
122
+ if (IsHttpError(error) && error.Status > 0) {
123
+ return this.mapHttpError(error);
142
124
  }
143
- // Extract response data
144
- const result = response.Data;
145
- const choice = result.choices?.[0];
146
- const message = choice?.message;
147
- const content = message?.content || '';
148
- const citations = result.citations || [];
149
- const images = result.images || [];
150
- const relatedQuestions = result.related_questions || [];
151
- // Build output data
152
- const outputData = {
153
- query,
154
- model,
155
- content,
156
- citations,
157
- images,
158
- relatedQuestions,
159
- usage: result.usage || {},
160
- finishReason: choice?.finish_reason
125
+ return this.createErrorResult(`Failed to perform Perplexity search: ${error instanceof Error ? error.message : String(error)}`, "SEARCH_FAILED");
126
+ }
127
+ }
128
+ /** `POST /search` — structured results, no model in the loop. */
129
+ async runSearchMode(params, ctx) {
130
+ // Clamped rather than rejected, matching Tavily and Brave: a caller asking for
131
+ // 50 wants as many as possible, and Perplexity rejects the whole request above its cap.
132
+ const maxResults = Math.min(Math.max(Math.floor(this.getNumericParam(params, 'maxresults', PerplexitySearchAction_1.DEFAULT_MAX_RESULTS)), 1), PerplexitySearchAction_1.MAX_RESULTS);
133
+ const requestBody = { query: ctx.query, max_results: maxResults };
134
+ if (ctx.domainFilter.length > 0) {
135
+ requestBody.search_domain_filter = ctx.domainFilter;
136
+ }
137
+ if (ctx.recency) {
138
+ requestBody.search_recency_filter = ctx.recency;
139
+ }
140
+ const country = this.getStringParam(params, 'country');
141
+ if (country) {
142
+ requestBody.country = country.trim().toUpperCase();
143
+ }
144
+ const response = await HttpPost(PerplexitySearchAction_1.SEARCH_ENDPOINT, requestBody, { Headers: { 'Authorization': `Bearer ${ctx.apiKey}` }, Timeout: 30000 });
145
+ if (!response.Data) {
146
+ return this.createErrorResult("Empty response from Perplexity Search API", "EMPTY_RESPONSE");
147
+ }
148
+ const results = (response.Data.results ?? []).map((item) => {
149
+ const mapped = {
150
+ title: item.title ?? '',
151
+ url: item.url ?? '',
152
+ snippet: item.snippet ?? '',
161
153
  };
162
- // Add output parameters
163
- this.addOutputParam(params, 'Content', content);
164
- this.addOutputParam(params, 'Citations', citations);
165
- this.addOutputParam(params, 'CitationCount', citations.length);
166
- if (returnImages && images.length > 0) {
167
- this.addOutputParam(params, 'Images', images);
168
- this.addOutputParam(params, 'ImageCount', images.length);
154
+ if (item.date) {
155
+ mapped.date = item.date;
169
156
  }
170
- if (returnRelatedQuestions && relatedQuestions.length > 0) {
171
- this.addOutputParam(params, 'RelatedQuestions', relatedQuestions);
172
- this.addOutputParam(params, 'RelatedQuestionCount', relatedQuestions.length);
157
+ if (item.last_updated) {
158
+ mapped.lastUpdated = item.last_updated;
173
159
  }
174
- this.addOutputParam(params, 'Usage', result.usage);
175
- this.addOutputParam(params, 'SearchResultDetails', outputData);
176
- return {
177
- Success: true,
178
- ResultCode: "SUCCESS",
179
- Message: JSON.stringify(outputData, null, 2)
180
- };
160
+ return mapped;
161
+ });
162
+ // `Citations` is emitted here too, holding the result URLs. Callers written against
163
+ // the old answer-only behaviour read that param, and this keeps them working when
164
+ // the default mode changed underneath them.
165
+ const citations = results.map(r => r.url).filter(u => u.length > 0);
166
+ this.addOutputParam(params, 'Results', results);
167
+ this.addOutputParam(params, 'ResultCount', results.length);
168
+ this.addOutputParam(params, 'Citations', citations);
169
+ this.addOutputParam(params, 'CitationCount', citations.length);
170
+ this.addOutputParam(params, 'SearchResultDetails', {
171
+ query: ctx.query,
172
+ mode: 'search',
173
+ maxResults,
174
+ results,
175
+ citations,
176
+ serverTime: response.Data.server_time,
177
+ });
178
+ // Zero results is a real answer to a narrow query, not a failure.
179
+ return {
180
+ Success: true,
181
+ ResultCode: "SUCCESS",
182
+ Message: results.length === 0
183
+ ? `Perplexity returned no results for '${ctx.query}'.`
184
+ : `Perplexity returned ${results.length} result(s) for '${ctx.query}'.`
185
+ };
186
+ }
187
+ /** `POST /chat/completions` — Sonar prose plus citations. */
188
+ async runAnswerMode(params, ctx) {
189
+ const model = this.getStringParam(params, 'model') || 'sonar';
190
+ const returnImages = this.getBooleanParam(params, 'returnimages', false);
191
+ const returnRelatedQuestions = this.getBooleanParam(params, 'returnrelatedquestions', false);
192
+ const requestBody = {
193
+ model,
194
+ messages: [{ role: 'user', content: ctx.query }],
195
+ max_tokens: this.getNumericParam(params, 'maxtokens', 1000),
196
+ temperature: this.getNumericParam(params, 'temperature', 0.2),
197
+ top_p: this.getNumericParam(params, 'topp', 0.9),
198
+ return_images: returnImages,
199
+ return_related_questions: returnRelatedQuestions,
200
+ stream: false
201
+ };
202
+ if (ctx.domainFilter.length > 0) {
203
+ requestBody.search_domain_filter = ctx.domainFilter;
181
204
  }
182
- catch (error) {
183
- if (IsHttpError(error)) {
184
- const status = error.Status;
185
- const errorData = error.Data;
186
- if (status === 401) {
187
- return this.createErrorResult("Invalid Perplexity API key", "INVALID_API_KEY");
188
- }
189
- if (status === 429) {
190
- return this.createErrorResult("Perplexity API rate limit exceeded", "RATE_LIMITED");
191
- }
192
- return this.createErrorResult(`Perplexity API error: ${errorData?.error?.message || error.message}`, "API_ERROR");
193
- }
194
- return this.createErrorResult(`Failed to perform Perplexity search: ${error instanceof Error ? error.message : String(error)}`, "SEARCH_FAILED");
205
+ if (ctx.recency) {
206
+ requestBody.search_recency_filter = ctx.recency;
207
+ }
208
+ const response = await HttpPost(PerplexitySearchAction_1.CHAT_ENDPOINT, requestBody, { Headers: { 'Authorization': `Bearer ${ctx.apiKey}` }, Timeout: 60000 });
209
+ if (!response.Data) {
210
+ return this.createErrorResult("Empty response from Perplexity API", "EMPTY_RESPONSE");
211
+ }
212
+ const result = response.Data;
213
+ const choice = result.choices?.[0];
214
+ const content = choice?.message?.content || '';
215
+ const citations = result.citations || [];
216
+ const images = result.images || [];
217
+ const relatedQuestions = result.related_questions || [];
218
+ const outputData = {
219
+ query: ctx.query,
220
+ mode: 'answer',
221
+ model,
222
+ content,
223
+ citations,
224
+ images,
225
+ relatedQuestions,
226
+ usage: result.usage || {},
227
+ finishReason: choice?.finish_reason
228
+ };
229
+ this.addOutputParam(params, 'Content', content);
230
+ this.addOutputParam(params, 'Citations', citations);
231
+ this.addOutputParam(params, 'CitationCount', citations.length);
232
+ if (returnImages && images.length > 0) {
233
+ this.addOutputParam(params, 'Images', images);
234
+ this.addOutputParam(params, 'ImageCount', images.length);
235
+ }
236
+ if (returnRelatedQuestions && relatedQuestions.length > 0) {
237
+ this.addOutputParam(params, 'RelatedQuestions', relatedQuestions);
238
+ this.addOutputParam(params, 'RelatedQuestionCount', relatedQuestions.length);
239
+ }
240
+ this.addOutputParam(params, 'Usage', result.usage);
241
+ this.addOutputParam(params, 'SearchResultDetails', outputData);
242
+ return {
243
+ Success: true,
244
+ ResultCode: "SUCCESS",
245
+ Message: JSON.stringify(outputData, null, 2)
246
+ };
247
+ }
248
+ mapHttpError(error) {
249
+ const status = error.Status;
250
+ const errorData = error.Data;
251
+ const detail = errorData?.error?.message || error.message;
252
+ if (status === 401 || status === 403) {
253
+ return this.createErrorResult(`Invalid Perplexity API key (HTTP ${status})`, "INVALID_API_KEY");
254
+ }
255
+ if (status === 429) {
256
+ return this.createErrorResult("Perplexity API rate limit exceeded", "RATE_LIMITED");
257
+ }
258
+ if (status === 400 || status === 422) {
259
+ return this.createErrorResult(`Perplexity rejected the request (HTTP ${status}): ${detail}`, "INVALID_REQUEST");
195
260
  }
261
+ return this.createErrorResult(`Perplexity API error: ${detail}`, "API_ERROR");
196
262
  }
197
263
  /**
198
264
  * Get string parameter value
@@ -204,11 +270,16 @@ let PerplexitySearchAction = class PerplexitySearchAction extends BaseAction {
204
270
  return String(param.Value);
205
271
  }
206
272
  /**
207
- * Get parameter value (any type)
273
+ * A list param, accepted as a real array or as a comma-separated string — both
274
+ * forms arrive in practice, from agent input mappings and from humans respectively.
208
275
  */
209
- getParamValue(params, paramName) {
276
+ getStringArrayParam(params, paramName) {
210
277
  const param = params.Params.find(p => p.Name.trim().toLowerCase() === paramName.toLowerCase());
211
- return param?.Value;
278
+ const value = param?.Value;
279
+ if (value === undefined || value === null)
280
+ return [];
281
+ const raw = Array.isArray(value) ? value.map(v => String(v)) : String(value).split(',');
282
+ return raw.map(v => v.trim()).filter(v => v.length > 0);
212
283
  }
213
284
  /**
214
285
  * Get boolean parameter value with default
@@ -250,7 +321,7 @@ let PerplexitySearchAction = class PerplexitySearchAction extends BaseAction {
250
321
  };
251
322
  }
252
323
  };
253
- PerplexitySearchAction = __decorate([
324
+ PerplexitySearchAction = PerplexitySearchAction_1 = __decorate([
254
325
  RegisterClass(BaseAction, "Perplexity Search")
255
326
  ], PerplexitySearchAction);
256
327
  export { PerplexitySearchAction };
@@ -1 +1 @@
1
- {"version":3,"file":"perplexity-search.action.js","sourceRoot":"","sources":["../../../src/custom/web/perplexity-search.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perplexity-search.action.js","sourceRoot":"","sources":["../../../src/custom/web/perplexity-search.action.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rss-feed-read.action.d.ts","sourceRoot":"","sources":["../../../src/custom/web/rss-feed-read.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAYrD,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IACjD,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAEtE;;;;;;;;;;;;;;;;OAgBG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8EvF,gEAAgE;IAChE,SAAS,CAAC,GAAG,IAAI,IAAI;IAIrB,qEAAqE;cACrD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YA2CzC,aAAa;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAuEpB,OAAO,CAAC,SAAS;IASjB,sDAAsD;IACtD,OAAO,CAAC,WAAW;IAQnB,iFAAiF;IACjF,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;CAG5B;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
1
+ {"version":3,"file":"rss-feed-read.action.d.ts","sourceRoot":"","sources":["../../../src/custom/web/rss-feed-read.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAarD,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBACa,iBAAkB,SAAQ,UAAU;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IACjD,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAoC;IAEtE;;;;;;;;;;;;;;;;OAgBG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8EvF,gEAAgE;IAChE,SAAS,CAAC,GAAG,IAAI,IAAI;IAIrB,qEAAqE;cACrD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YA6CzC,aAAa;IAK3B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAuEpB,OAAO,CAAC,SAAS;IASjB,sDAAsD;IACtD,OAAO,CAAC,WAAW;IAQnB,iFAAiF;IACjF,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;CAG5B;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -8,6 +8,7 @@ var ReadRSSFeedAction_1;
8
8
  import { BaseAction } from "@memberjunction/actions";
9
9
  import { RegisterClass } from "@memberjunction/global";
10
10
  import { LogError, LogStatus } from "@memberjunction/core";
11
+ import { SafeFetch } from "@memberjunction/network-utils";
11
12
  import { filterByAge, filterRelevant, parseFeedArticles, scoreAndRankArticles, } from "./rss-feed-parsing.js";
12
13
  /**
13
14
  * Action that reads one or more RSS or Atom feeds and returns their articles,
@@ -148,7 +149,9 @@ let ReadRSSFeedAction = class ReadRSSFeedAction extends BaseAction {
148
149
  const controller = new AbortController();
149
150
  const timeout = setTimeout(() => controller.abort(), ReadRSSFeedAction_1.FETCH_TIMEOUT_MS);
150
151
  try {
151
- const response = await fetch(url, {
152
+ // Route through the SSRF guard: feed URLs are caller-controlled, so private/loopback/
153
+ // link-local/reserved targets are blocked and every redirect hop is re-validated.
154
+ const response = await SafeFetch(url, {
152
155
  signal: controller.signal,
153
156
  headers: {
154
157
  'User-Agent': ReadRSSFeedAction_1.USER_AGENT,
@@ -1 +1 @@
1
- {"version":3,"file":"rss-feed-read.action.js","sourceRoot":"","sources":["../../../src/custom/web/rss-feed-read.action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rss-feed-read.action.js","sourceRoot":"","sources":["../../../src/custom/web/rss-feed-read.action.ts"],"names":[],"mappings":"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"}