@memberjunction/core-actions 6.1.4 → 6.2.0-edge.1
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.
- package/dist/config.d.ts +74 -10
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +48 -9
- package/dist/config.js.map +1 -1
- package/dist/custom/ai/base-find-actions.action.js +6 -6
- package/dist/custom/ai/base-find-agents.action.js +6 -6
- package/dist/custom/ai/find-candidate-agents.action.js +2 -2
- package/dist/custom/ai/generate-image.action.d.ts +13 -1
- package/dist/custom/ai/generate-image.action.d.ts.map +1 -1
- package/dist/custom/ai/generate-image.action.js +25 -13
- package/dist/custom/ai/generate-image.action.js.map +1 -1
- package/dist/custom/ai/semantic-entity-search.helper.d.ts +6 -0
- package/dist/custom/ai/semantic-entity-search.helper.d.ts.map +1 -1
- package/dist/custom/ai/semantic-entity-search.helper.js +16 -4
- package/dist/custom/ai/semantic-entity-search.helper.js.map +1 -1
- package/dist/custom/data/search-query-catalog.action.js +2 -2
- package/dist/custom/integration/api-rate-limiter.action.d.ts +4 -0
- package/dist/custom/integration/api-rate-limiter.action.d.ts.map +1 -1
- package/dist/custom/integration/api-rate-limiter.action.js +10 -2
- package/dist/custom/integration/api-rate-limiter.action.js.map +1 -1
- package/dist/custom/integration/gamma-generate-presentation.action.js +2 -2
- package/dist/custom/integration/integration-action-executor.d.ts +22 -22
- package/dist/custom/integration/integration-action-executor.js +83 -83
- package/dist/custom/interactive-forms/_shared.d.ts +69 -0
- package/dist/custom/interactive-forms/_shared.d.ts.map +1 -1
- package/dist/custom/interactive-forms/_shared.js +118 -38
- package/dist/custom/interactive-forms/_shared.js.map +1 -1
- package/dist/custom/interactive-forms/activate-interactive-form-version.action.js +25 -25
- package/dist/custom/interactive-forms/create-interactive-form.action.js +22 -22
- package/dist/custom/interactive-forms/modify-interactive-form.action.js +35 -35
- package/dist/custom/interactive-forms/revert-interactive-form.action.js +32 -32
- package/dist/custom/lists/_action-helpers.d.ts +10 -0
- package/dist/custom/lists/_action-helpers.d.ts.map +1 -1
- package/dist/custom/lists/_action-helpers.js +26 -6
- package/dist/custom/lists/_action-helpers.js.map +1 -1
- package/dist/custom/lists/add-view-results-to-list.action.js +8 -8
- package/dist/custom/lists/bulk-update-list-item-status.action.js +8 -8
- package/dist/custom/lists/compose-lists.action.js +14 -14
- package/dist/custom/lists/invite-to-list.action.js +10 -10
- package/dist/custom/lists/materialize-list-from-view.action.js +13 -13
- package/dist/custom/lists/move-list-members.action.js +12 -12
- package/dist/custom/lists/refresh-list-from-source.action.js +8 -8
- package/dist/custom/lists/resolve-audience.action.js +7 -7
- package/dist/custom/lists/revoke-list-invitation.action.js +3 -3
- package/dist/custom/lists/share-list.action.js +8 -8
- package/dist/custom/lists/unshare-list.action.js +3 -3
- package/dist/custom/utilities/address-services.action.js +2 -2
- package/dist/custom/utilities/artifact-builder-service.d.ts +16 -16
- package/dist/custom/utilities/artifact-builder-service.js +39 -39
- package/dist/custom/utilities/artifact-builder-service.js.map +1 -1
- package/dist/custom/utilities/base-file-handler.d.ts.map +1 -1
- package/dist/custom/utilities/base-file-handler.js +4 -2
- package/dist/custom/utilities/base-file-handler.js.map +1 -1
- package/dist/custom/utilities/docx-renderer.d.ts +17 -11
- package/dist/custom/utilities/docx-renderer.d.ts.map +1 -1
- package/dist/custom/utilities/docx-renderer.js +60 -48
- package/dist/custom/utilities/docx-renderer.js.map +1 -1
- package/dist/custom/utilities/json-param-helper.d.ts +6 -0
- package/dist/custom/utilities/json-param-helper.d.ts.map +1 -1
- package/dist/custom/utilities/json-param-helper.js +16 -4
- package/dist/custom/utilities/json-param-helper.js.map +1 -1
- package/dist/custom/utilities/pdf-renderer.d.ts +13 -7
- package/dist/custom/utilities/pdf-renderer.d.ts.map +1 -1
- package/dist/custom/utilities/pdf-renderer.js +27 -15
- package/dist/custom/utilities/pdf-renderer.js.map +1 -1
- package/dist/custom/utilities/xlsx-renderer.d.ts +19 -11
- package/dist/custom/utilities/xlsx-renderer.d.ts.map +1 -1
- package/dist/custom/utilities/xlsx-renderer.js +55 -39
- package/dist/custom/utilities/xlsx-renderer.js.map +1 -1
- package/dist/custom/visualization/create-svg-chart.action.js +23 -23
- package/dist/custom/visualization/create-svg-diagram.action.js +10 -10
- package/dist/custom/visualization/create-svg-infographic.action.js +4 -4
- package/dist/custom/visualization/create-svg-network.action.js +12 -12
- package/dist/custom/visualization/create-svg-sketch-diagram.action.js +10 -10
- package/dist/custom/visualization/create-svg-word-cloud.action.js +11 -11
- package/dist/custom/visualization/shared/svg-theming.d.ts +17 -0
- package/dist/custom/visualization/shared/svg-theming.d.ts.map +1 -1
- package/dist/custom/visualization/shared/svg-theming.js +34 -10
- package/dist/custom/visualization/shared/svg-theming.js.map +1 -1
- package/dist/custom/visualization/shared/svg-utils.d.ts +39 -0
- package/dist/custom/visualization/shared/svg-utils.d.ts.map +1 -1
- package/dist/custom/visualization/shared/svg-utils.js +81 -17
- package/dist/custom/visualization/shared/svg-utils.js.map +1 -1
- package/dist/custom/web/brave-search.action.d.ts +108 -0
- package/dist/custom/web/brave-search.action.d.ts.map +1 -0
- package/dist/custom/web/brave-search.action.js +285 -0
- package/dist/custom/web/brave-search.action.js.map +1 -0
- package/dist/custom/web/duckduckgo-rate-limiter.d.ts +17 -1
- package/dist/custom/web/duckduckgo-rate-limiter.d.ts.map +1 -1
- package/dist/custom/web/duckduckgo-rate-limiter.js +26 -6
- package/dist/custom/web/duckduckgo-rate-limiter.js.map +1 -1
- package/dist/custom/web/google-custom-search.action.js +2 -2
- package/dist/custom/web/perplexity-search.action.d.ts +76 -44
- package/dist/custom/web/perplexity-search.action.d.ts.map +1 -1
- package/dist/custom/web/perplexity-search.action.js +228 -157
- package/dist/custom/web/perplexity-search.action.js.map +1 -1
- package/dist/custom/web/rss-feed-parsing.d.ts +19 -0
- package/dist/custom/web/rss-feed-parsing.d.ts.map +1 -1
- package/dist/custom/web/rss-feed-parsing.js +45 -13
- package/dist/custom/web/rss-feed-parsing.js.map +1 -1
- package/dist/custom/web/rss-feed-read.action.d.ts.map +1 -1
- package/dist/custom/web/rss-feed-read.action.js +9 -6
- package/dist/custom/web/rss-feed-read.action.js.map +1 -1
- package/dist/custom/web/tavily-search.action.js +2 -2
- package/dist/custom/web/web-search.action.d.ts +56 -40
- package/dist/custom/web/web-search.action.d.ts.map +1 -1
- package/dist/custom/web/web-search.action.js +141 -413
- package/dist/custom/web/web-search.action.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +40 -39
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var BraveSearchAction_1;
|
|
8
|
+
import { BaseAction } from "@memberjunction/actions";
|
|
9
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
10
|
+
import { HttpGet, IsHttpError } from "@memberjunction/network-utils";
|
|
11
|
+
import { getApiIntegrationsConfig } from "../../config.js";
|
|
12
|
+
/**
|
|
13
|
+
* Action that searches the web through the Brave Search API.
|
|
14
|
+
*
|
|
15
|
+
* Brave matters here for a reason that is structural rather than qualitative: it
|
|
16
|
+
* serves results from **its own index** (40B+ pages) rather than reselling
|
|
17
|
+
* Google's or Bing's. Every SERP-proxy vendor — and every product built on the
|
|
18
|
+
* Google Custom Search JSON API, which is discontinued on 2027-01-01 — depends on
|
|
19
|
+
* a search engine continuing to permit that access. Brave does not, so it fails
|
|
20
|
+
* independently of the rest of this package's web-search actions. That is the
|
|
21
|
+
* whole point of adding it.
|
|
22
|
+
*
|
|
23
|
+
* Its output shape is deliberately `title` / `url` / `snippet`, which is the shape
|
|
24
|
+
* `Google Custom Search` returns today, so callers migrating off that action are
|
|
25
|
+
* making a rename rather than a rewrite.
|
|
26
|
+
*
|
|
27
|
+
* Authentication is the `X-Subscription-Token` header. Brave requires
|
|
28
|
+
* `Accept: application/json` and returns gzip, which `fetch` negotiates itself.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* // Basic search
|
|
33
|
+
* await runAction({
|
|
34
|
+
* ActionName: 'Brave Search',
|
|
35
|
+
* Params: [{ Name: 'Query', Value: 'association management software trends' }]
|
|
36
|
+
* });
|
|
37
|
+
*
|
|
38
|
+
* // Recent results only, more of them
|
|
39
|
+
* await runAction({
|
|
40
|
+
* ActionName: 'Brave Search',
|
|
41
|
+
* Params: [
|
|
42
|
+
* { Name: 'Query', Value: 'nonprofit membership dues changes' },
|
|
43
|
+
* { Name: 'Freshness', Value: 'pw' },
|
|
44
|
+
* { Name: 'Count', Value: 20 }
|
|
45
|
+
* ]
|
|
46
|
+
* });
|
|
47
|
+
*
|
|
48
|
+
* // Second page, UK results, with the extra per-page snippets
|
|
49
|
+
* await runAction({
|
|
50
|
+
* ActionName: 'Brave Search',
|
|
51
|
+
* Params: [
|
|
52
|
+
* { Name: 'Query', Value: 'charity commission filing deadlines' },
|
|
53
|
+
* { Name: 'Country', Value: 'GB' },
|
|
54
|
+
* { Name: 'Offset', Value: 1 },
|
|
55
|
+
* { Name: 'ExtraSnippets', Value: true }
|
|
56
|
+
* ]
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
let BraveSearchAction = class BraveSearchAction extends BaseAction {
|
|
61
|
+
static { BraveSearchAction_1 = this; }
|
|
62
|
+
static { this.ENDPOINT = 'https://api.search.brave.com/res/v1/web/search'; }
|
|
63
|
+
/** Brave's cap on results per request. */
|
|
64
|
+
static { this.MAX_COUNT = 20; }
|
|
65
|
+
static { this.DEFAULT_COUNT = 10; }
|
|
66
|
+
/** Brave's cap on the pagination offset (in pages, not results). */
|
|
67
|
+
static { this.MAX_OFFSET = 9; }
|
|
68
|
+
/** Brave rejects queries longer than this outright. */
|
|
69
|
+
static { this.MAX_QUERY_CHARS = 400; }
|
|
70
|
+
static { this.SAFESEARCH_VALUES = ['off', 'moderate', 'strict']; }
|
|
71
|
+
/** `pd`/`pw`/`pm`/`py` = past day/week/month/year. Brave also accepts a date range. */
|
|
72
|
+
static { this.FRESHNESS_CODES = ['pd', 'pw', 'pm', 'py']; }
|
|
73
|
+
static { this.FRESHNESS_RANGE = /^\d{4}-\d{2}-\d{2}to\d{4}-\d{2}-\d{2}$/; }
|
|
74
|
+
/**
|
|
75
|
+
* Executes the Brave search.
|
|
76
|
+
*
|
|
77
|
+
* @param params - The action parameters containing:
|
|
78
|
+
* - Query: Search query text (required, max 400 characters)
|
|
79
|
+
* - Count: 1-20 results (default 10)
|
|
80
|
+
* - Offset: Page offset 0-9 (default 0) — pages, not results
|
|
81
|
+
* - Country: 2-letter country code for localisation, e.g. 'US', 'GB'
|
|
82
|
+
* - SearchLang: Language code for results, e.g. 'en'
|
|
83
|
+
* - SafeSearch: 'off' | 'moderate' (default) | 'strict'
|
|
84
|
+
* - Freshness: 'pd' | 'pw' | 'pm' | 'py', or 'YYYY-MM-DDtoYYYY-MM-DD'
|
|
85
|
+
* - ExtraSnippets: Return additional snippets per result (default false).
|
|
86
|
+
* Brave gates this on plan tier, so it is off unless asked for
|
|
87
|
+
*
|
|
88
|
+
* @returns Structured web results with titles, URLs and snippets
|
|
89
|
+
*/
|
|
90
|
+
async InternalRunAction(params) {
|
|
91
|
+
const query = this.getStringParam(params, 'query');
|
|
92
|
+
if (!query) {
|
|
93
|
+
return this.createErrorResult("Query parameter is required", "MISSING_QUERY");
|
|
94
|
+
}
|
|
95
|
+
// Rejected rather than truncated: silently cutting a query changes what was
|
|
96
|
+
// asked and returns confident results for a different question.
|
|
97
|
+
if (query.length > BraveSearchAction_1.MAX_QUERY_CHARS) {
|
|
98
|
+
return this.createErrorResult(`Query is ${query.length} characters; Brave's limit is ${BraveSearchAction_1.MAX_QUERY_CHARS}`, "QUERY_TOO_LONG");
|
|
99
|
+
}
|
|
100
|
+
const apiKey = getApiIntegrationsConfig().braveApiKey;
|
|
101
|
+
if (!apiKey) {
|
|
102
|
+
return this.createErrorResult("Brave Search API key not found. Set braveApiKey in mj.config.cjs or the BRAVE_SEARCH_API_KEY environment variable", "MISSING_API_KEY");
|
|
103
|
+
}
|
|
104
|
+
const safeSearch = (this.getStringParam(params, 'safesearch') || 'moderate').toLowerCase();
|
|
105
|
+
if (!BraveSearchAction_1.SAFESEARCH_VALUES.includes(safeSearch)) {
|
|
106
|
+
return this.createErrorResult(`SafeSearch must be one of ${BraveSearchAction_1.SAFESEARCH_VALUES.join(', ')} (got '${safeSearch}')`, "INVALID_SAFESEARCH");
|
|
107
|
+
}
|
|
108
|
+
const freshness = this.getStringParam(params, 'freshness')?.toLowerCase();
|
|
109
|
+
if (freshness && !this.isValidFreshness(freshness)) {
|
|
110
|
+
return this.createErrorResult(`Freshness must be one of ${BraveSearchAction_1.FRESHNESS_CODES.join(', ')} or a 'YYYY-MM-DDtoYYYY-MM-DD' range (got '${freshness}')`, "INVALID_FRESHNESS");
|
|
111
|
+
}
|
|
112
|
+
// Clamped rather than rejected, matching Tavily Search: a caller asking for 50
|
|
113
|
+
// results wants as many as possible, and Brave rejects the whole request above its cap.
|
|
114
|
+
const count = this.clamp(this.getNumericParam(params, 'count', BraveSearchAction_1.DEFAULT_COUNT), 1, BraveSearchAction_1.MAX_COUNT);
|
|
115
|
+
const offset = this.clamp(this.getNumericParam(params, 'offset', 0), 0, BraveSearchAction_1.MAX_OFFSET);
|
|
116
|
+
const extraSnippets = this.getBooleanParam(params, 'extrasnippets', false);
|
|
117
|
+
const requestQuery = { q: query, count, offset, safesearch: safeSearch };
|
|
118
|
+
if (freshness) {
|
|
119
|
+
requestQuery.freshness = freshness;
|
|
120
|
+
}
|
|
121
|
+
const country = this.getStringParam(params, 'country');
|
|
122
|
+
if (country) {
|
|
123
|
+
requestQuery.country = country.toUpperCase();
|
|
124
|
+
}
|
|
125
|
+
const searchLang = this.getStringParam(params, 'searchlang');
|
|
126
|
+
if (searchLang) {
|
|
127
|
+
requestQuery.search_lang = searchLang.toLowerCase();
|
|
128
|
+
}
|
|
129
|
+
if (extraSnippets) {
|
|
130
|
+
requestQuery.extra_snippets = 'true';
|
|
131
|
+
}
|
|
132
|
+
try {
|
|
133
|
+
const response = await HttpGet(BraveSearchAction_1.ENDPOINT, {
|
|
134
|
+
Query: requestQuery,
|
|
135
|
+
Headers: {
|
|
136
|
+
'X-Subscription-Token': apiKey,
|
|
137
|
+
'Accept': 'application/json'
|
|
138
|
+
},
|
|
139
|
+
Timeout: 15000
|
|
140
|
+
});
|
|
141
|
+
if (!response.Data) {
|
|
142
|
+
return this.createErrorResult("Empty response from Brave Search API", "EMPTY_RESPONSE");
|
|
143
|
+
}
|
|
144
|
+
const results = (response.Data.web?.results ?? []).map((item) => {
|
|
145
|
+
const mapped = {
|
|
146
|
+
title: item.title ?? '',
|
|
147
|
+
url: item.url ?? '',
|
|
148
|
+
snippet: item.description ?? '',
|
|
149
|
+
displayUrl: item.meta_url?.netloc ?? item.meta_url?.hostname ?? '',
|
|
150
|
+
};
|
|
151
|
+
if (item.age) {
|
|
152
|
+
mapped.age = item.age;
|
|
153
|
+
}
|
|
154
|
+
if (item.page_age) {
|
|
155
|
+
mapped.pageAge = item.page_age;
|
|
156
|
+
}
|
|
157
|
+
if (item.extra_snippets && item.extra_snippets.length > 0) {
|
|
158
|
+
mapped.extraSnippets = item.extra_snippets;
|
|
159
|
+
}
|
|
160
|
+
return mapped;
|
|
161
|
+
});
|
|
162
|
+
// Brave rewrites some queries (spelling, synonyms) and reports it here. A caller
|
|
163
|
+
// debugging unexpected results needs to know the engine searched for something else.
|
|
164
|
+
const alteredQuery = response.Data.query?.altered;
|
|
165
|
+
this.addOutputParam(params, 'Results', results);
|
|
166
|
+
this.addOutputParam(params, 'ResultCount', results.length);
|
|
167
|
+
this.addOutputParam(params, 'SearchResultDetails', {
|
|
168
|
+
query,
|
|
169
|
+
alteredQuery,
|
|
170
|
+
count,
|
|
171
|
+
offset,
|
|
172
|
+
safeSearch,
|
|
173
|
+
freshness,
|
|
174
|
+
results,
|
|
175
|
+
});
|
|
176
|
+
// Zero results is a real answer to a narrow query, not a failure — a caller
|
|
177
|
+
// that treats it as one would retry a query that will keep returning nothing.
|
|
178
|
+
return {
|
|
179
|
+
Success: true,
|
|
180
|
+
ResultCode: "SUCCESS",
|
|
181
|
+
Message: results.length === 0
|
|
182
|
+
? `Brave returned no results for '${query}'.`
|
|
183
|
+
: `Brave returned ${results.length} result(s) for '${query}'.`
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
// Status 0 is HttpError's "the request never produced a response" — a timeout or a
|
|
188
|
+
// network failure. That is not an API answer, so it falls through to SEARCH_FAILED
|
|
189
|
+
// rather than being dressed up as an API_ERROR with no status.
|
|
190
|
+
if (IsHttpError(error) && error.Status > 0) {
|
|
191
|
+
return this.mapHttpError(error);
|
|
192
|
+
}
|
|
193
|
+
return this.createErrorResult(`Failed to perform Brave search: ${error instanceof Error ? error.message : String(error)}`, "SEARCH_FAILED");
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
mapHttpError(error) {
|
|
197
|
+
const status = error.Status;
|
|
198
|
+
const detail = this.describeErrorBody(error.Data) || error.message;
|
|
199
|
+
if (status === 401 || status === 403) {
|
|
200
|
+
return this.createErrorResult(`Brave rejected the API key (HTTP ${status}): ${detail}`, "INVALID_API_KEY");
|
|
201
|
+
}
|
|
202
|
+
if (status === 429) {
|
|
203
|
+
// Brave meters by plan and, since it retired its free tier in early 2026,
|
|
204
|
+
// bills overage against a stored card. A 429 here is a spend signal, not
|
|
205
|
+
// just a pacing one, so it is surfaced distinctly rather than retried.
|
|
206
|
+
return this.createErrorResult(`Brave rate limit or plan quota exceeded: ${detail}`, "RATE_LIMITED");
|
|
207
|
+
}
|
|
208
|
+
if (status === 422) {
|
|
209
|
+
return this.createErrorResult(`Brave rejected the request parameters (HTTP 422): ${detail}`, "INVALID_REQUEST");
|
|
210
|
+
}
|
|
211
|
+
if (status === 400) {
|
|
212
|
+
return this.createErrorResult(`Brave rejected the request (HTTP 400): ${detail}`, "INVALID_REQUEST");
|
|
213
|
+
}
|
|
214
|
+
return this.createErrorResult(`Brave API error: ${detail}`, "API_ERROR");
|
|
215
|
+
}
|
|
216
|
+
/** Pull whatever explanation the error body carries, without assuming a shape. */
|
|
217
|
+
describeErrorBody(data) {
|
|
218
|
+
if (typeof data === 'string')
|
|
219
|
+
return data.slice(0, 500);
|
|
220
|
+
if (data && typeof data === 'object') {
|
|
221
|
+
const record = data;
|
|
222
|
+
// Brave nests its explanation as { error: { detail: '…' } } on 422s.
|
|
223
|
+
const error = record.error;
|
|
224
|
+
if (error && typeof error === 'object') {
|
|
225
|
+
const nested = error;
|
|
226
|
+
for (const key of ['detail', 'message', 'code']) {
|
|
227
|
+
const value = nested[key];
|
|
228
|
+
if (typeof value === 'string' && value.length > 0)
|
|
229
|
+
return value;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
for (const key of ['detail', 'message', 'error']) {
|
|
233
|
+
const value = record[key];
|
|
234
|
+
if (typeof value === 'string' && value.length > 0)
|
|
235
|
+
return value;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return '';
|
|
239
|
+
}
|
|
240
|
+
isValidFreshness(value) {
|
|
241
|
+
if (BraveSearchAction_1.FRESHNESS_CODES.includes(value)) {
|
|
242
|
+
return true;
|
|
243
|
+
}
|
|
244
|
+
return BraveSearchAction_1.FRESHNESS_RANGE.test(value);
|
|
245
|
+
}
|
|
246
|
+
clamp(value, min, max) {
|
|
247
|
+
return Math.min(Math.max(Math.floor(value), min), max);
|
|
248
|
+
}
|
|
249
|
+
getStringParam(params, paramName) {
|
|
250
|
+
const param = params.Params.find(p => p.Name.trim().toLowerCase() === paramName.toLowerCase());
|
|
251
|
+
if (param?.Value === undefined || param?.Value === null)
|
|
252
|
+
return undefined;
|
|
253
|
+
const value = String(param.Value).trim();
|
|
254
|
+
return value.length > 0 ? value : undefined;
|
|
255
|
+
}
|
|
256
|
+
getBooleanParam(params, paramName, defaultValue) {
|
|
257
|
+
const param = params.Params.find(p => p.Name.trim().toLowerCase() === paramName.toLowerCase());
|
|
258
|
+
if (param?.Value === undefined || param?.Value === null)
|
|
259
|
+
return defaultValue;
|
|
260
|
+
if (typeof param.Value === 'boolean')
|
|
261
|
+
return param.Value;
|
|
262
|
+
return String(param.Value).trim().toLowerCase() === 'true';
|
|
263
|
+
}
|
|
264
|
+
getNumericParam(params, paramName, defaultValue) {
|
|
265
|
+
const param = params.Params.find(p => p.Name.trim().toLowerCase() === paramName.toLowerCase());
|
|
266
|
+
if (param?.Value === undefined || param?.Value === null || param.Value === '')
|
|
267
|
+
return defaultValue;
|
|
268
|
+
const num = Number(param.Value);
|
|
269
|
+
return isNaN(num) ? defaultValue : num;
|
|
270
|
+
}
|
|
271
|
+
addOutputParam(params, name, value) {
|
|
272
|
+
params.Params.push({ Name: name, Type: 'Output', Value: value });
|
|
273
|
+
}
|
|
274
|
+
createErrorResult(message, code) {
|
|
275
|
+
return { Success: false, Message: message, ResultCode: code };
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
BraveSearchAction = BraveSearchAction_1 = __decorate([
|
|
279
|
+
RegisterClass(BaseAction, "Brave Search")
|
|
280
|
+
], BraveSearchAction);
|
|
281
|
+
export { BraveSearchAction };
|
|
282
|
+
export function LoadBraveSearchAction() {
|
|
283
|
+
// Referenced by consumers to keep this registration from being tree-shaken.
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=brave-search.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brave-search.action.js","sourceRoot":"","sources":["../../../src/custom/web/brave-search.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export interface RateLimitConfig {
|
|
|
8
8
|
export interface SearchRequest {
|
|
9
9
|
url: string;
|
|
10
10
|
options: RequestInit;
|
|
11
|
-
|
|
11
|
+
DisableQueueing?: boolean;
|
|
12
12
|
}
|
|
13
13
|
export interface SearchResponse {
|
|
14
14
|
response: Response;
|
|
@@ -58,10 +58,20 @@ export declare class DuckDuckGoRateLimiter {
|
|
|
58
58
|
/**
|
|
59
59
|
* Execute a search request through the rate limiter
|
|
60
60
|
*/
|
|
61
|
+
Search(request: SearchRequest): Promise<SearchResponse>;
|
|
62
|
+
/** @deprecated Use {@link Search}. */
|
|
61
63
|
search(request: SearchRequest): Promise<SearchResponse>;
|
|
62
64
|
/**
|
|
63
65
|
* Get current queue status
|
|
64
66
|
*/
|
|
67
|
+
GetStatus(): {
|
|
68
|
+
isQueueActive: boolean;
|
|
69
|
+
activeRequests: number;
|
|
70
|
+
queuedRequests: number;
|
|
71
|
+
totalProcessed: number;
|
|
72
|
+
lastRateLimitTime: number;
|
|
73
|
+
};
|
|
74
|
+
/** @deprecated Use {@link GetStatus}. */
|
|
65
75
|
getStatus(): {
|
|
66
76
|
isQueueActive: boolean;
|
|
67
77
|
activeRequests: number;
|
|
@@ -72,14 +82,20 @@ export declare class DuckDuckGoRateLimiter {
|
|
|
72
82
|
/**
|
|
73
83
|
* Force queue activation (for testing)
|
|
74
84
|
*/
|
|
85
|
+
ForceActivateQueue(): void;
|
|
86
|
+
/** @deprecated Use {@link ForceActivateQueue}. */
|
|
75
87
|
forceActivateQueue(): void;
|
|
76
88
|
/**
|
|
77
89
|
* Force queue deactivation (for testing)
|
|
78
90
|
*/
|
|
91
|
+
ForceDeactivateQueue(): void;
|
|
92
|
+
/** @deprecated Use {@link ForceDeactivateQueue}. */
|
|
79
93
|
forceDeactivateQueue(): void;
|
|
80
94
|
}
|
|
81
95
|
/**
|
|
82
96
|
* Get the singleton rate limiter instance
|
|
83
97
|
*/
|
|
98
|
+
export declare function GetDuckDuckGoRateLimiter(config?: Partial<RateLimitConfig>): DuckDuckGoRateLimiter;
|
|
99
|
+
/** @deprecated Use {@link GetDuckDuckGoRateLimiter}. */
|
|
84
100
|
export declare function getDuckDuckGoRateLimiter(config?: Partial<RateLimitConfig>): DuckDuckGoRateLimiter;
|
|
85
101
|
//# sourceMappingURL=duckduckgo-rate-limiter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duckduckgo-rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/custom/web/duckduckgo-rate-limiter.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,aAAa,CAKhB;IAEL,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAMrB;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;gBAE5C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAK7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;YACW,oBAAoB;IAwBlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwCjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD7D;;OAEG;IACH,SAAS,IAAI;QACT,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC7B;IAUD;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,oBAAoB,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"duckduckgo-rate-limiter.d.ts","sourceRoot":"","sources":["../../../src/custom/web/duckduckgo-rate-limiter.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAC9B,OAAO,CAAC,aAAa,CAKhB;IAEL,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAMrB;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;gBAE5C,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAK7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;YACW,oBAAoB;IAwBlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwCjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD7D,sCAAsC;IAChC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAI7D;;OAEG;IACH,SAAS,IAAI;QACT,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC7B;IAUD,yCAAyC;IACzC,SAAS,IAAI;QACT,aAAa,EAAE,OAAO,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;KAC7B;IAID;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B,kDAAkD;IAClD,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,oBAAoB,IAAI,IAAI;IAQ5B,oDAAoD;IACpD,oBAAoB,IAAI,IAAI;CAG/B;AAKD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,qBAAqB,CAKjG;AAED,wDAAwD;AACxD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,qBAAqB,CAEjG"}
|
|
@@ -166,11 +166,11 @@ export class DuckDuckGoRateLimiter {
|
|
|
166
166
|
/**
|
|
167
167
|
* Execute a search request through the rate limiter
|
|
168
168
|
*/
|
|
169
|
-
async
|
|
169
|
+
async Search(request) {
|
|
170
170
|
const requestId = `REQ-${++this.requestCounter}`;
|
|
171
171
|
return new Promise((resolve, reject) => {
|
|
172
172
|
// If queueing is disabled and queue is active, fail immediately
|
|
173
|
-
if (request.
|
|
173
|
+
if (request.DisableQueueing && this.isQueueActive) {
|
|
174
174
|
console.log(` 🚫 Request ${requestId} rejected - rate limiting active and queueing disabled`);
|
|
175
175
|
reject(new Error('Rate limiting active and queueing is disabled'));
|
|
176
176
|
return;
|
|
@@ -208,10 +208,14 @@ export class DuckDuckGoRateLimiter {
|
|
|
208
208
|
}
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
|
+
/** @deprecated Use {@link Search}. */
|
|
212
|
+
async search(request) {
|
|
213
|
+
return this.Search(request);
|
|
214
|
+
}
|
|
211
215
|
/**
|
|
212
216
|
* Get current queue status
|
|
213
217
|
*/
|
|
214
|
-
|
|
218
|
+
GetStatus() {
|
|
215
219
|
return {
|
|
216
220
|
isQueueActive: this.isQueueActive,
|
|
217
221
|
activeRequests: this.activeRequests,
|
|
@@ -220,32 +224,48 @@ export class DuckDuckGoRateLimiter {
|
|
|
220
224
|
lastRateLimitTime: this.lastRateLimitTime
|
|
221
225
|
};
|
|
222
226
|
}
|
|
227
|
+
/** @deprecated Use {@link GetStatus}. */
|
|
228
|
+
getStatus() {
|
|
229
|
+
return this.GetStatus();
|
|
230
|
+
}
|
|
223
231
|
/**
|
|
224
232
|
* Force queue activation (for testing)
|
|
225
233
|
*/
|
|
226
|
-
|
|
234
|
+
ForceActivateQueue() {
|
|
227
235
|
this.activateQueue();
|
|
228
236
|
}
|
|
237
|
+
/** @deprecated Use {@link ForceActivateQueue}. */
|
|
238
|
+
forceActivateQueue() {
|
|
239
|
+
return this.ForceActivateQueue();
|
|
240
|
+
}
|
|
229
241
|
/**
|
|
230
242
|
* Force queue deactivation (for testing)
|
|
231
243
|
*/
|
|
232
|
-
|
|
244
|
+
ForceDeactivateQueue() {
|
|
233
245
|
this.isQueueActive = false;
|
|
234
246
|
if (this.resetQueueTimer) {
|
|
235
247
|
clearTimeout(this.resetQueueTimer);
|
|
236
248
|
this.resetQueueTimer = undefined;
|
|
237
249
|
}
|
|
238
250
|
}
|
|
251
|
+
/** @deprecated Use {@link ForceDeactivateQueue}. */
|
|
252
|
+
forceDeactivateQueue() {
|
|
253
|
+
return this.ForceDeactivateQueue();
|
|
254
|
+
}
|
|
239
255
|
}
|
|
240
256
|
// Singleton instance
|
|
241
257
|
let rateLimiterInstance = null;
|
|
242
258
|
/**
|
|
243
259
|
* Get the singleton rate limiter instance
|
|
244
260
|
*/
|
|
245
|
-
export function
|
|
261
|
+
export function GetDuckDuckGoRateLimiter(config) {
|
|
246
262
|
if (!rateLimiterInstance) {
|
|
247
263
|
rateLimiterInstance = new DuckDuckGoRateLimiter(config);
|
|
248
264
|
}
|
|
249
265
|
return rateLimiterInstance;
|
|
250
266
|
}
|
|
267
|
+
/** @deprecated Use {@link GetDuckDuckGoRateLimiter}. */
|
|
268
|
+
export function getDuckDuckGoRateLimiter(config) {
|
|
269
|
+
return GetDuckDuckGoRateLimiter(config);
|
|
270
|
+
}
|
|
251
271
|
//# sourceMappingURL=duckduckgo-rate-limiter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duckduckgo-rate-limiter.js","sourceRoot":"","sources":["../../../src/custom/web/duckduckgo-rate-limiter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"duckduckgo-rate-limiter.js","sourceRoot":"","sources":["../../../src/custom/web/duckduckgo-rate-limiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { BaseAction } from "@memberjunction/actions";
|
|
8
8
|
import { RegisterClass } from "@memberjunction/global";
|
|
9
9
|
import { HttpGet, IsHttpError } from "@memberjunction/network-utils";
|
|
10
|
-
import {
|
|
10
|
+
import { GetApiIntegrationsConfig } from "../../config.js";
|
|
11
11
|
/**
|
|
12
12
|
* Action that performs web search using the Google Custom Search JSON API
|
|
13
13
|
* and returns structured results.
|
|
@@ -51,7 +51,7 @@ let GoogleCustomSearchAction = class GoogleCustomSearchAction extends BaseAction
|
|
|
51
51
|
if (!query) {
|
|
52
52
|
return this.createErrorResult("Query parameter is required", "MISSING_QUERY");
|
|
53
53
|
}
|
|
54
|
-
const apiConfig =
|
|
54
|
+
const apiConfig = GetApiIntegrationsConfig();
|
|
55
55
|
const apiKey = apiConfig.google?.customSearch?.apiKey;
|
|
56
56
|
const cx = apiConfig.google?.customSearch?.cx;
|
|
57
57
|
if (!apiKey) {
|