@keystrokehq/openperplex 0.1.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.
- package/README.md +17 -0
- package/dist/action.cjs +21 -0
- package/dist/action.cjs.map +1 -0
- package/dist/action.mjs +21 -0
- package/dist/action.mjs.map +1 -0
- package/dist/actions/custom-search-stream.cjs +43 -0
- package/dist/actions/custom-search-stream.cjs.map +1 -0
- package/dist/actions/custom-search-stream.d.cts +9 -0
- package/dist/actions/custom-search-stream.d.cts.map +1 -0
- package/dist/actions/custom-search-stream.d.mts +9 -0
- package/dist/actions/custom-search-stream.d.mts.map +1 -0
- package/dist/actions/custom-search-stream.mjs +42 -0
- package/dist/actions/custom-search-stream.mjs.map +1 -0
- package/dist/actions/custom-search.cjs +35 -0
- package/dist/actions/custom-search.cjs.map +1 -0
- package/dist/actions/custom-search.d.cts +9 -0
- package/dist/actions/custom-search.d.cts.map +1 -0
- package/dist/actions/custom-search.d.mts +9 -0
- package/dist/actions/custom-search.d.mts.map +1 -0
- package/dist/actions/custom-search.mjs +34 -0
- package/dist/actions/custom-search.mjs.map +1 -0
- package/dist/actions/get-website-markdown.cjs +22 -0
- package/dist/actions/get-website-markdown.cjs.map +1 -0
- package/dist/actions/get-website-markdown.d.cts +9 -0
- package/dist/actions/get-website-markdown.d.cts.map +1 -0
- package/dist/actions/get-website-markdown.d.mts +9 -0
- package/dist/actions/get-website-markdown.d.mts.map +1 -0
- package/dist/actions/get-website-markdown.mjs +19 -0
- package/dist/actions/get-website-markdown.mjs.map +1 -0
- package/dist/actions/get-website-screenshot.cjs +24 -0
- package/dist/actions/get-website-screenshot.cjs.map +1 -0
- package/dist/actions/get-website-screenshot.d.cts +9 -0
- package/dist/actions/get-website-screenshot.d.cts.map +1 -0
- package/dist/actions/get-website-screenshot.d.mts +9 -0
- package/dist/actions/get-website-screenshot.d.mts.map +1 -0
- package/dist/actions/get-website-screenshot.mjs +21 -0
- package/dist/actions/get-website-screenshot.mjs.map +1 -0
- package/dist/actions/get-website-text.cjs +28 -0
- package/dist/actions/get-website-text.cjs.map +1 -0
- package/dist/actions/get-website-text.d.cts +9 -0
- package/dist/actions/get-website-text.d.cts.map +1 -0
- package/dist/actions/get-website-text.d.mts +9 -0
- package/dist/actions/get-website-text.d.mts.map +1 -0
- package/dist/actions/get-website-text.mjs +25 -0
- package/dist/actions/get-website-text.mjs.map +1 -0
- package/dist/actions/index.cjs +17 -0
- package/dist/actions/index.d.cts +9 -0
- package/dist/actions/index.d.mts +9 -0
- package/dist/actions/index.mjs +9 -0
- package/dist/actions/query-from-url.cjs +29 -0
- package/dist/actions/query-from-url.cjs.map +1 -0
- package/dist/actions/query-from-url.d.cts +9 -0
- package/dist/actions/query-from-url.d.cts.map +1 -0
- package/dist/actions/query-from-url.d.mts +9 -0
- package/dist/actions/query-from-url.d.mts.map +1 -0
- package/dist/actions/query-from-url.mjs +26 -0
- package/dist/actions/query-from-url.mjs.map +1 -0
- package/dist/actions/search-stream.cjs +49 -0
- package/dist/actions/search-stream.cjs.map +1 -0
- package/dist/actions/search-stream.d.cts +9 -0
- package/dist/actions/search-stream.d.cts.map +1 -0
- package/dist/actions/search-stream.d.mts +9 -0
- package/dist/actions/search-stream.d.mts.map +1 -0
- package/dist/actions/search-stream.mjs +48 -0
- package/dist/actions/search-stream.mjs.map +1 -0
- package/dist/actions/search.cjs +50 -0
- package/dist/actions/search.cjs.map +1 -0
- package/dist/actions/search.d.cts +9 -0
- package/dist/actions/search.d.cts.map +1 -0
- package/dist/actions/search.d.mts +9 -0
- package/dist/actions/search.d.mts.map +1 -0
- package/dist/actions/search.mjs +49 -0
- package/dist/actions/search.mjs.map +1 -0
- package/dist/app.cjs +9 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +5 -0
- package/dist/app.d.cts.map +1 -0
- package/dist/app.d.mts +5 -0
- package/dist/app.d.mts.map +1 -0
- package/dist/app.mjs +10 -0
- package/dist/app.mjs.map +1 -0
- package/dist/catalog.cjs +15 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.cts +14 -0
- package/dist/catalog.d.cts.map +1 -0
- package/dist/catalog.d.mts +14 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +15 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/execute.cjs +18 -0
- package/dist/execute.cjs.map +1 -0
- package/dist/execute.mjs +18 -0
- package/dist/execute.mjs.map +1 -0
- package/dist/index.cjs +22 -0
- package/dist/index.d.cts +11 -0
- package/dist/index.d.mts +11 -0
- package/dist/index.mjs +12 -0
- package/package.json +49 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const openperplexGetWebsiteText = action("OPENPERPLEX_GET_WEBSITE_TEXT", {
|
|
4
|
+
slug: "openperplex-get-website-text",
|
|
5
|
+
name: "Get Website Text",
|
|
6
|
+
description: "Tool to retrieve the main text content of a specified website URL. Use when you need content extraction from online articles or pages. Use after confirming the URL is publicly accessible.",
|
|
7
|
+
input: z.object({
|
|
8
|
+
url: z.string().describe("The URL of the web page to extract text from."),
|
|
9
|
+
clean: z.boolean().default(false).describe("If true, returns cleaner and more concise text.").optional(),
|
|
10
|
+
max_length: z.number().int().describe("Maximum number of characters to extract.").optional(),
|
|
11
|
+
return_type: z.enum([
|
|
12
|
+
"plain",
|
|
13
|
+
"html",
|
|
14
|
+
"markdown"
|
|
15
|
+
]).default("plain").describe("Format of the returned text: 'plain', 'html', or 'markdown'.").optional()
|
|
16
|
+
}).describe("Parameters for extracting text from a website."),
|
|
17
|
+
output: z.object({
|
|
18
|
+
text: z.string().describe("Extracted main text content from the web page."),
|
|
19
|
+
response_time: z.number().describe("Time taken to process the request in seconds.").nullable().optional()
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { openperplexGetWebsiteText };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=get-website-text.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-website-text.mjs","names":[],"sources":["../../src/actions/get-website-text.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexGetWebsiteTextInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL of the web page to extract text from.\"),\n clean: z.boolean().default(false).describe(\"If true, returns cleaner and more concise text.\").optional(),\n max_length: z.number().int().describe(\"Maximum number of characters to extract.\").optional(),\n return_type: z.enum([\"plain\", \"html\", \"markdown\"]).default(\"plain\").describe(\"Format of the returned text: 'plain', 'html', or 'markdown'.\").optional(),\n}).describe(\"Parameters for extracting text from a website.\");\nexport const OpenperplexGetWebsiteTextOutput: z.ZodTypeAny = z.object({\n text: z.string().describe(\"Extracted main text content from the web page.\"),\n response_time: z.number().describe(\"Time taken to process the request in seconds.\").nullable().optional(),\n});\n\nexport const openperplexGetWebsiteText = action(\"OPENPERPLEX_GET_WEBSITE_TEXT\", {\n slug: \"openperplex-get-website-text\",\n name: \"Get Website Text\",\n description: \"Tool to retrieve the main text content of a specified website URL. Use when you need content extraction from online articles or pages. Use after confirming the URL is publicly accessible.\",\n input: OpenperplexGetWebsiteTextInput,\n output: OpenperplexGetWebsiteTextOutput,\n});\n"],"mappings":";;AAeA,MAAa,4BAA4B,OAAO,gCAAgC;CAC9E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAf0D,EAAE,OAAO;EACnE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C;EACxE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;EACvG,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;EAC3F,aAAa,EAAE,KAAK;GAAC;GAAS;GAAQ;EAAU,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACxJ,CAAC,CAAC,CAAC,SAAS,gDAUH;CACP,QAV2D,EAAE,OAAO;EACpE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD;EAC1E,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,CAOU;AACV,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_custom_search = require("./custom-search.cjs");
|
|
3
|
+
const require_custom_search_stream = require("./custom-search-stream.cjs");
|
|
4
|
+
const require_get_website_markdown = require("./get-website-markdown.cjs");
|
|
5
|
+
const require_get_website_screenshot = require("./get-website-screenshot.cjs");
|
|
6
|
+
const require_get_website_text = require("./get-website-text.cjs");
|
|
7
|
+
const require_query_from_url = require("./query-from-url.cjs");
|
|
8
|
+
const require_search = require("./search.cjs");
|
|
9
|
+
const require_search_stream = require("./search-stream.cjs");
|
|
10
|
+
exports.openperplexCustomSearch = require_custom_search.openperplexCustomSearch;
|
|
11
|
+
exports.openperplexCustomSearchStream = require_custom_search_stream.openperplexCustomSearchStream;
|
|
12
|
+
exports.openperplexGetWebsiteMarkdown = require_get_website_markdown.openperplexGetWebsiteMarkdown;
|
|
13
|
+
exports.openperplexGetWebsiteScreenshot = require_get_website_screenshot.openperplexGetWebsiteScreenshot;
|
|
14
|
+
exports.openperplexGetWebsiteText = require_get_website_text.openperplexGetWebsiteText;
|
|
15
|
+
exports.openperplexQueryFromUrl = require_query_from_url.openperplexQueryFromUrl;
|
|
16
|
+
exports.openperplexSearch = require_search.openperplexSearch;
|
|
17
|
+
exports.openperplexSearchStream = require_search_stream.openperplexSearchStream;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { openperplexCustomSearch } from "./custom-search.cjs";
|
|
2
|
+
import { openperplexCustomSearchStream } from "./custom-search-stream.cjs";
|
|
3
|
+
import { openperplexGetWebsiteMarkdown } from "./get-website-markdown.cjs";
|
|
4
|
+
import { openperplexGetWebsiteScreenshot } from "./get-website-screenshot.cjs";
|
|
5
|
+
import { openperplexGetWebsiteText } from "./get-website-text.cjs";
|
|
6
|
+
import { openperplexQueryFromUrl } from "./query-from-url.cjs";
|
|
7
|
+
import { openperplexSearch } from "./search.cjs";
|
|
8
|
+
import { openperplexSearchStream } from "./search-stream.cjs";
|
|
9
|
+
export { openperplexCustomSearch, openperplexCustomSearchStream, openperplexGetWebsiteMarkdown, openperplexGetWebsiteScreenshot, openperplexGetWebsiteText, openperplexQueryFromUrl, openperplexSearch, openperplexSearchStream };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { openperplexCustomSearch } from "./custom-search.mjs";
|
|
2
|
+
import { openperplexCustomSearchStream } from "./custom-search-stream.mjs";
|
|
3
|
+
import { openperplexGetWebsiteMarkdown } from "./get-website-markdown.mjs";
|
|
4
|
+
import { openperplexGetWebsiteScreenshot } from "./get-website-screenshot.mjs";
|
|
5
|
+
import { openperplexGetWebsiteText } from "./get-website-text.mjs";
|
|
6
|
+
import { openperplexQueryFromUrl } from "./query-from-url.mjs";
|
|
7
|
+
import { openperplexSearch } from "./search.mjs";
|
|
8
|
+
import { openperplexSearchStream } from "./search-stream.mjs";
|
|
9
|
+
export { openperplexCustomSearch, openperplexCustomSearchStream, openperplexGetWebsiteMarkdown, openperplexGetWebsiteScreenshot, openperplexGetWebsiteText, openperplexQueryFromUrl, openperplexSearch, openperplexSearchStream };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { openperplexCustomSearch } from "./custom-search.mjs";
|
|
2
|
+
import { openperplexCustomSearchStream } from "./custom-search-stream.mjs";
|
|
3
|
+
import { openperplexGetWebsiteMarkdown } from "./get-website-markdown.mjs";
|
|
4
|
+
import { openperplexGetWebsiteScreenshot } from "./get-website-screenshot.mjs";
|
|
5
|
+
import { openperplexGetWebsiteText } from "./get-website-text.mjs";
|
|
6
|
+
import { openperplexQueryFromUrl } from "./query-from-url.mjs";
|
|
7
|
+
import { openperplexSearch } from "./search.mjs";
|
|
8
|
+
import { openperplexSearchStream } from "./search-stream.mjs";
|
|
9
|
+
export { openperplexCustomSearch, openperplexCustomSearchStream, openperplexGetWebsiteMarkdown, openperplexGetWebsiteScreenshot, openperplexGetWebsiteText, openperplexQueryFromUrl, openperplexSearch, openperplexSearchStream };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/query-from-url.ts
|
|
4
|
+
const OpenperplexQueryFromUrlInput = zod.z.object({
|
|
5
|
+
url: zod.z.string().describe("The URL of the website you want to interact with."),
|
|
6
|
+
model: zod.z.string().describe("LLM model to use. Options: o3-mini-high, o3-mini-medium, gpt-4o, gpt-4o-mini, gemini-2.0-flash. Default is gpt-4o-mini.").optional(),
|
|
7
|
+
query: zod.z.string().describe("The question you want to ask about the content at the URL."),
|
|
8
|
+
answer_type: zod.z.enum([
|
|
9
|
+
"text",
|
|
10
|
+
"markdown",
|
|
11
|
+
"html"
|
|
12
|
+
]).describe("Format of the answer. Options: 'text', 'markdown', or 'html'. Default is 'text'.").optional(),
|
|
13
|
+
response_language: zod.z.string().describe("Language code for the response. 'auto' will auto-detect based on the query. Supported: auto, en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.").optional()
|
|
14
|
+
}).describe("Input parameters for querying content from a URL.");
|
|
15
|
+
const OpenperplexQueryFromUrlOutput = zod.z.object({
|
|
16
|
+
llm_response: zod.z.string().describe("The LLM-generated response to the query based on the URL content."),
|
|
17
|
+
response_time: zod.z.number().describe("Time taken to generate the response in seconds.")
|
|
18
|
+
}).describe("Response model containing the LLM-generated answer from the URL content.");
|
|
19
|
+
const openperplexQueryFromUrl = require_action.action("OPENPERPLEX_QUERY_FROM_URL", {
|
|
20
|
+
slug: "openperplex-query-from-url",
|
|
21
|
+
name: "Query from URL",
|
|
22
|
+
description: "Tool to query documents from a URL. Use when you need to fetch and interrogate web-hosted content with a natural language question.",
|
|
23
|
+
input: OpenperplexQueryFromUrlInput,
|
|
24
|
+
output: OpenperplexQueryFromUrlOutput
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.openperplexQueryFromUrl = openperplexQueryFromUrl;
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=query-from-url.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-from-url.cjs","names":["z","action"],"sources":["../../src/actions/query-from-url.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexQueryFromUrlInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL of the website you want to interact with.\"),\n model: z.string().describe(\"LLM model to use. Options: o3-mini-high, o3-mini-medium, gpt-4o, gpt-4o-mini, gemini-2.0-flash. Default is gpt-4o-mini.\").optional(),\n query: z.string().describe(\"The question you want to ask about the content at the URL.\"),\n answer_type: z.enum([\"text\", \"markdown\", \"html\"]).describe(\"Format of the answer. Options: 'text', 'markdown', or 'html'. Default is 'text'.\").optional(),\n response_language: z.string().describe(\"Language code for the response. 'auto' will auto-detect based on the query. Supported: auto, en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.\").optional(),\n}).describe(\"Input parameters for querying content from a URL.\");\nexport const OpenperplexQueryFromUrlOutput: z.ZodTypeAny = z.object({\n llm_response: z.string().describe(\"The LLM-generated response to the query based on the URL content.\"),\n response_time: z.number().describe(\"Time taken to generate the response in seconds.\"),\n}).describe(\"Response model containing the LLM-generated answer from the URL content.\");\n\nexport const openperplexQueryFromUrl = action(\"OPENPERPLEX_QUERY_FROM_URL\", {\n slug: \"openperplex-query-from-url\",\n name: \"Query from URL\",\n description: \"Tool to query documents from a URL. Use when you need to fetch and interrogate web-hosted content with a natural language question.\",\n input: OpenperplexQueryFromUrlInput,\n output: OpenperplexQueryFromUrlOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD;CAC5E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yHAAyH,CAAC,CAAC,SAAS;CAC/J,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;CACvF,aAAaA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAY;CAAM,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;CACxJ,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sJAAsJ,CAAC,CAAC,SAAS;AAC1M,CAAC,CAAC,CAAC,SAAS,mDAAmD;AAC/D,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE;CACrG,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;AACtF,CAAC,CAAC,CAAC,SAAS,0EAA0E;AAEtF,MAAa,0BAA0BC,eAAAA,OAAO,8BAA8B;CAC1E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/query-from-url.d.ts
|
|
4
|
+
declare const OpenperplexQueryFromUrlInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpenperplexQueryFromUrlOutput: z.ZodTypeAny;
|
|
6
|
+
declare const openperplexQueryFromUrl: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { openperplexQueryFromUrl };
|
|
9
|
+
//# sourceMappingURL=query-from-url.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-from-url.d.cts","names":[],"sources":["../../src/actions/query-from-url.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAMmB;AAAA,cACnD,6BAAA,EAA+B,CAAA,CAAE,UAGyC;AAAA,cAE1E,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/query-from-url.d.ts
|
|
4
|
+
declare const OpenperplexQueryFromUrlInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpenperplexQueryFromUrlOutput: z.ZodTypeAny;
|
|
6
|
+
declare const openperplexQueryFromUrl: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { openperplexQueryFromUrl };
|
|
9
|
+
//# sourceMappingURL=query-from-url.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-from-url.d.mts","names":[],"sources":["../../src/actions/query-from-url.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAMmB;AAAA,cACnD,6BAAA,EAA+B,CAAA,CAAE,UAGyC;AAAA,cAE1E,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const openperplexQueryFromUrl = action("OPENPERPLEX_QUERY_FROM_URL", {
|
|
4
|
+
slug: "openperplex-query-from-url",
|
|
5
|
+
name: "Query from URL",
|
|
6
|
+
description: "Tool to query documents from a URL. Use when you need to fetch and interrogate web-hosted content with a natural language question.",
|
|
7
|
+
input: z.object({
|
|
8
|
+
url: z.string().describe("The URL of the website you want to interact with."),
|
|
9
|
+
model: z.string().describe("LLM model to use. Options: o3-mini-high, o3-mini-medium, gpt-4o, gpt-4o-mini, gemini-2.0-flash. Default is gpt-4o-mini.").optional(),
|
|
10
|
+
query: z.string().describe("The question you want to ask about the content at the URL."),
|
|
11
|
+
answer_type: z.enum([
|
|
12
|
+
"text",
|
|
13
|
+
"markdown",
|
|
14
|
+
"html"
|
|
15
|
+
]).describe("Format of the answer. Options: 'text', 'markdown', or 'html'. Default is 'text'.").optional(),
|
|
16
|
+
response_language: z.string().describe("Language code for the response. 'auto' will auto-detect based on the query. Supported: auto, en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.").optional()
|
|
17
|
+
}).describe("Input parameters for querying content from a URL."),
|
|
18
|
+
output: z.object({
|
|
19
|
+
llm_response: z.string().describe("The LLM-generated response to the query based on the URL content."),
|
|
20
|
+
response_time: z.number().describe("Time taken to generate the response in seconds.")
|
|
21
|
+
}).describe("Response model containing the LLM-generated answer from the URL content.")
|
|
22
|
+
});
|
|
23
|
+
//#endregion
|
|
24
|
+
export { openperplexQueryFromUrl };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=query-from-url.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-from-url.mjs","names":[],"sources":["../../src/actions/query-from-url.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexQueryFromUrlInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL of the website you want to interact with.\"),\n model: z.string().describe(\"LLM model to use. Options: o3-mini-high, o3-mini-medium, gpt-4o, gpt-4o-mini, gemini-2.0-flash. Default is gpt-4o-mini.\").optional(),\n query: z.string().describe(\"The question you want to ask about the content at the URL.\"),\n answer_type: z.enum([\"text\", \"markdown\", \"html\"]).describe(\"Format of the answer. Options: 'text', 'markdown', or 'html'. Default is 'text'.\").optional(),\n response_language: z.string().describe(\"Language code for the response. 'auto' will auto-detect based on the query. Supported: auto, en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.\").optional(),\n}).describe(\"Input parameters for querying content from a URL.\");\nexport const OpenperplexQueryFromUrlOutput: z.ZodTypeAny = z.object({\n llm_response: z.string().describe(\"The LLM-generated response to the query based on the URL content.\"),\n response_time: z.number().describe(\"Time taken to generate the response in seconds.\"),\n}).describe(\"Response model containing the LLM-generated answer from the URL content.\");\n\nexport const openperplexQueryFromUrl = action(\"OPENPERPLEX_QUERY_FROM_URL\", {\n slug: \"openperplex-query-from-url\",\n name: \"Query from URL\",\n description: \"Tool to query documents from a URL. Use when you need to fetch and interrogate web-hosted content with a natural language question.\",\n input: OpenperplexQueryFromUrlInput,\n output: OpenperplexQueryFromUrlOutput,\n});\n"],"mappings":";;AAgBA,MAAa,0BAA0B,OAAO,8BAA8B;CAC1E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhBwD,EAAE,OAAO;EACjE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD;EAC5E,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,yHAAyH,CAAC,CAAC,SAAS;EAC/J,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;EACvF,aAAa,EAAE,KAAK;GAAC;GAAQ;GAAY;EAAM,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;EACxJ,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,sJAAsJ,CAAC,CAAC,SAAS;CAC1M,CAAC,CAAC,CAAC,SAAS,mDAUH;CACP,QAVyD,EAAE,OAAO;EAClE,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE;EACrG,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;CACtF,CAAC,CAAC,CAAC,SAAS,0EAOF;AACV,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/search-stream.ts
|
|
4
|
+
const OpenperplexSearchStreamInput = zod.z.object({
|
|
5
|
+
model: zod.z.string().describe("Model to use for the search. Options: 'gpt-4o-mini' (default), 'gpt-4o', 'o3-mini-high', 'o3-mini-medium', 'gemini-2.0-flash'.").optional(),
|
|
6
|
+
query: zod.z.string().describe("Search query string."),
|
|
7
|
+
location: zod.z.string().default("us").describe("Two-letter country code for localized results, e.g., 'us', 'uk', 'fr', 'de', 'jp'.").optional(),
|
|
8
|
+
answer_type: zod.z.enum([
|
|
9
|
+
"text",
|
|
10
|
+
"markdown",
|
|
11
|
+
"html"
|
|
12
|
+
]).default("text").describe("Format of the answer: 'text', 'markdown', or 'html'.").optional(),
|
|
13
|
+
search_type: zod.z.enum(["general", "news"]).default("general").describe("Type of search: 'general' or 'news'.").optional(),
|
|
14
|
+
date_context: zod.z.string().describe("Optional date context string, e.g., 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. Uses server date if not provided.").optional(),
|
|
15
|
+
return_images: zod.z.boolean().default(false).describe("Whether to include images in the response.").optional(),
|
|
16
|
+
recency_filter: zod.z.enum([
|
|
17
|
+
"hour",
|
|
18
|
+
"day",
|
|
19
|
+
"week",
|
|
20
|
+
"month",
|
|
21
|
+
"year",
|
|
22
|
+
"anytime"
|
|
23
|
+
]).describe("Filter results by recency: 'hour', 'day', 'week', 'month', 'year', or 'anytime'.").optional(),
|
|
24
|
+
return_sources: zod.z.boolean().default(false).describe("Whether to include sources in the response.").optional(),
|
|
25
|
+
return_citations: zod.z.boolean().default(false).describe("Whether to include citations in the response.").optional(),
|
|
26
|
+
response_language: zod.z.string().default("auto").describe("Language code for response. 'auto' auto-detects based on query. Options: en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.").optional()
|
|
27
|
+
}).describe("Parameters for streaming search using OpenPerplex API.");
|
|
28
|
+
const OpenperplexSearchStream_SourceItemSchema = zod.z.object({
|
|
29
|
+
url: zod.z.string().describe("URL of the source.").nullable().optional(),
|
|
30
|
+
title: zod.z.string().describe("Title of the source.").nullable().optional(),
|
|
31
|
+
snippet: zod.z.string().describe("Snippet or description from the source.").nullable().optional()
|
|
32
|
+
}).describe("A source item from the search results.");
|
|
33
|
+
const OpenperplexSearchStreamOutput = zod.z.object({
|
|
34
|
+
images: zod.z.array(zod.z.string()).describe("List of image URLs if return_images was enabled.").nullable().optional(),
|
|
35
|
+
sources: zod.z.array(OpenperplexSearchStream_SourceItemSchema).describe("List of sources used to generate the response.").nullable().optional(),
|
|
36
|
+
citations: zod.z.array(zod.z.string()).describe("List of citations if return_citations was enabled.").nullable().optional(),
|
|
37
|
+
response_text: zod.z.string().describe("The full response text aggregated from LLM streaming chunks.")
|
|
38
|
+
}).describe("Aggregated response for streaming search.");
|
|
39
|
+
const openperplexSearchStream = require_action.action("OPENPERPLEX_SEARCH_STREAM", {
|
|
40
|
+
slug: "openperplex-search-stream",
|
|
41
|
+
name: "Search Stream",
|
|
42
|
+
description: "Tool to stream search results from OpenPerplex. Use when real-time AI-powered search responses are needed. Returns aggregated text response along with optional sources, images, and citations.",
|
|
43
|
+
input: OpenperplexSearchStreamInput,
|
|
44
|
+
output: OpenperplexSearchStreamOutput
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
exports.openperplexSearchStream = openperplexSearchStream;
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=search-stream.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-stream.cjs","names":["z","action"],"sources":["../../src/actions/search-stream.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexSearchStreamInput: z.ZodTypeAny = z.object({\n model: z.string().describe(\"Model to use for the search. Options: 'gpt-4o-mini' (default), 'gpt-4o', 'o3-mini-high', 'o3-mini-medium', 'gemini-2.0-flash'.\").optional(),\n query: z.string().describe(\"Search query string.\"),\n location: z.string().default(\"us\").describe(\"Two-letter country code for localized results, e.g., 'us', 'uk', 'fr', 'de', 'jp'.\").optional(),\n answer_type: z.enum([\"text\", \"markdown\", \"html\"]).default(\"text\").describe(\"Format of the answer: 'text', 'markdown', or 'html'.\").optional(),\n search_type: z.enum([\"general\", \"news\"]).default(\"general\").describe(\"Type of search: 'general' or 'news'.\").optional(),\n date_context: z.string().describe(\"Optional date context string, e.g., 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. Uses server date if not provided.\").optional(),\n return_images: z.boolean().default(false).describe(\"Whether to include images in the response.\").optional(),\n recency_filter: z.enum([\"hour\", \"day\", \"week\", \"month\", \"year\", \"anytime\"]).describe(\"Filter results by recency: 'hour', 'day', 'week', 'month', 'year', or 'anytime'.\").optional(),\n return_sources: z.boolean().default(false).describe(\"Whether to include sources in the response.\").optional(),\n return_citations: z.boolean().default(false).describe(\"Whether to include citations in the response.\").optional(),\n response_language: z.string().default(\"auto\").describe(\"Language code for response. 'auto' auto-detects based on query. Options: en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.\").optional(),\n}).describe(\"Parameters for streaming search using OpenPerplex API.\");\nconst OpenperplexSearchStream_SourceItemSchema: z.ZodTypeAny = z.object({\n url: z.string().describe(\"URL of the source.\").nullable().optional(),\n title: z.string().describe(\"Title of the source.\").nullable().optional(),\n snippet: z.string().describe(\"Snippet or description from the source.\").nullable().optional(),\n}).describe(\"A source item from the search results.\");\nexport const OpenperplexSearchStreamOutput: z.ZodTypeAny = z.object({\n images: z.array(z.string()).describe(\"List of image URLs if return_images was enabled.\").nullable().optional(),\n sources: z.array(OpenperplexSearchStream_SourceItemSchema).describe(\"List of sources used to generate the response.\").nullable().optional(),\n citations: z.array(z.string()).describe(\"List of citations if return_citations was enabled.\").nullable().optional(),\n response_text: z.string().describe(\"The full response text aggregated from LLM streaming chunks.\"),\n}).describe(\"Aggregated response for streaming search.\");\n\nexport const openperplexSearchStream = action(\"OPENPERPLEX_SEARCH_STREAM\", {\n slug: \"openperplex-search-stream\",\n name: \"Search Stream\",\n description: \"Tool to stream search results from OpenPerplex. Use when real-time AI-powered search responses are needed. Returns aggregated text response along with optional sources, images, and citations.\",\n input: OpenperplexSearchStreamInput,\n output: OpenperplexSearchStreamOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;CACtK,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB;CACjD,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,oFAAoF,CAAC,CAAC,SAAS;CAC3I,aAAaA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAY;CAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC5I,aAAaA,IAAAA,EAAE,KAAK,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CACtH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI,CAAC,CAAC,SAAS;CACpL,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CAC1G,gBAAgBA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAO;EAAQ;EAAS;EAAQ;CAAS,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;CAClL,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CAC5G,kBAAkBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAChH,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,kIAAkI,CAAC,CAAC,SAAS;AACtM,CAAC,CAAC,CAAC,SAAS,wDAAwD;AACpE,MAAM,2CAAyDA,IAAAA,EAAE,OAAO;CACtE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9F,CAAC,CAAC,CAAC,SAAS,wCAAwC;AACpD,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7G,SAASA,IAAAA,EAAE,MAAM,wCAAwC,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1I,WAAWA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClH,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D;AACnG,CAAC,CAAC,CAAC,SAAS,2CAA2C;AAEvD,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search-stream.d.ts
|
|
4
|
+
declare const OpenperplexSearchStreamInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpenperplexSearchStreamOutput: z.ZodTypeAny;
|
|
6
|
+
declare const openperplexSearchStream: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { openperplexSearchStream };
|
|
9
|
+
//# sourceMappingURL=search-stream.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-stream.d.cts","names":[],"sources":["../../src/actions/search-stream.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAYwB;AAAA,cAMxD,6BAAA,EAA+B,CAAA,CAAE,UAKU;AAAA,cAE3C,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search-stream.d.ts
|
|
4
|
+
declare const OpenperplexSearchStreamInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpenperplexSearchStreamOutput: z.ZodTypeAny;
|
|
6
|
+
declare const openperplexSearchStream: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { openperplexSearchStream };
|
|
9
|
+
//# sourceMappingURL=search-stream.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-stream.d.mts","names":[],"sources":["../../src/actions/search-stream.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAYwB;AAAA,cAMxD,6BAAA,EAA+B,CAAA,CAAE,UAKU;AAAA,cAE3C,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/actions/search-stream.ts
|
|
4
|
+
const OpenperplexSearchStreamInput = z.object({
|
|
5
|
+
model: z.string().describe("Model to use for the search. Options: 'gpt-4o-mini' (default), 'gpt-4o', 'o3-mini-high', 'o3-mini-medium', 'gemini-2.0-flash'.").optional(),
|
|
6
|
+
query: z.string().describe("Search query string."),
|
|
7
|
+
location: z.string().default("us").describe("Two-letter country code for localized results, e.g., 'us', 'uk', 'fr', 'de', 'jp'.").optional(),
|
|
8
|
+
answer_type: z.enum([
|
|
9
|
+
"text",
|
|
10
|
+
"markdown",
|
|
11
|
+
"html"
|
|
12
|
+
]).default("text").describe("Format of the answer: 'text', 'markdown', or 'html'.").optional(),
|
|
13
|
+
search_type: z.enum(["general", "news"]).default("general").describe("Type of search: 'general' or 'news'.").optional(),
|
|
14
|
+
date_context: z.string().describe("Optional date context string, e.g., 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. Uses server date if not provided.").optional(),
|
|
15
|
+
return_images: z.boolean().default(false).describe("Whether to include images in the response.").optional(),
|
|
16
|
+
recency_filter: z.enum([
|
|
17
|
+
"hour",
|
|
18
|
+
"day",
|
|
19
|
+
"week",
|
|
20
|
+
"month",
|
|
21
|
+
"year",
|
|
22
|
+
"anytime"
|
|
23
|
+
]).describe("Filter results by recency: 'hour', 'day', 'week', 'month', 'year', or 'anytime'.").optional(),
|
|
24
|
+
return_sources: z.boolean().default(false).describe("Whether to include sources in the response.").optional(),
|
|
25
|
+
return_citations: z.boolean().default(false).describe("Whether to include citations in the response.").optional(),
|
|
26
|
+
response_language: z.string().default("auto").describe("Language code for response. 'auto' auto-detects based on query. Options: en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.").optional()
|
|
27
|
+
}).describe("Parameters for streaming search using OpenPerplex API.");
|
|
28
|
+
const OpenperplexSearchStream_SourceItemSchema = z.object({
|
|
29
|
+
url: z.string().describe("URL of the source.").nullable().optional(),
|
|
30
|
+
title: z.string().describe("Title of the source.").nullable().optional(),
|
|
31
|
+
snippet: z.string().describe("Snippet or description from the source.").nullable().optional()
|
|
32
|
+
}).describe("A source item from the search results.");
|
|
33
|
+
const openperplexSearchStream = action("OPENPERPLEX_SEARCH_STREAM", {
|
|
34
|
+
slug: "openperplex-search-stream",
|
|
35
|
+
name: "Search Stream",
|
|
36
|
+
description: "Tool to stream search results from OpenPerplex. Use when real-time AI-powered search responses are needed. Returns aggregated text response along with optional sources, images, and citations.",
|
|
37
|
+
input: OpenperplexSearchStreamInput,
|
|
38
|
+
output: z.object({
|
|
39
|
+
images: z.array(z.string()).describe("List of image URLs if return_images was enabled.").nullable().optional(),
|
|
40
|
+
sources: z.array(OpenperplexSearchStream_SourceItemSchema).describe("List of sources used to generate the response.").nullable().optional(),
|
|
41
|
+
citations: z.array(z.string()).describe("List of citations if return_citations was enabled.").nullable().optional(),
|
|
42
|
+
response_text: z.string().describe("The full response text aggregated from LLM streaming chunks.")
|
|
43
|
+
}).describe("Aggregated response for streaming search.")
|
|
44
|
+
});
|
|
45
|
+
//#endregion
|
|
46
|
+
export { openperplexSearchStream };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=search-stream.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-stream.mjs","names":[],"sources":["../../src/actions/search-stream.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexSearchStreamInput: z.ZodTypeAny = z.object({\n model: z.string().describe(\"Model to use for the search. Options: 'gpt-4o-mini' (default), 'gpt-4o', 'o3-mini-high', 'o3-mini-medium', 'gemini-2.0-flash'.\").optional(),\n query: z.string().describe(\"Search query string.\"),\n location: z.string().default(\"us\").describe(\"Two-letter country code for localized results, e.g., 'us', 'uk', 'fr', 'de', 'jp'.\").optional(),\n answer_type: z.enum([\"text\", \"markdown\", \"html\"]).default(\"text\").describe(\"Format of the answer: 'text', 'markdown', or 'html'.\").optional(),\n search_type: z.enum([\"general\", \"news\"]).default(\"general\").describe(\"Type of search: 'general' or 'news'.\").optional(),\n date_context: z.string().describe(\"Optional date context string, e.g., 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. Uses server date if not provided.\").optional(),\n return_images: z.boolean().default(false).describe(\"Whether to include images in the response.\").optional(),\n recency_filter: z.enum([\"hour\", \"day\", \"week\", \"month\", \"year\", \"anytime\"]).describe(\"Filter results by recency: 'hour', 'day', 'week', 'month', 'year', or 'anytime'.\").optional(),\n return_sources: z.boolean().default(false).describe(\"Whether to include sources in the response.\").optional(),\n return_citations: z.boolean().default(false).describe(\"Whether to include citations in the response.\").optional(),\n response_language: z.string().default(\"auto\").describe(\"Language code for response. 'auto' auto-detects based on query. Options: en, fr, es, de, it, pt, nl, ja, ko, zh, ar, ru, tr, hi.\").optional(),\n}).describe(\"Parameters for streaming search using OpenPerplex API.\");\nconst OpenperplexSearchStream_SourceItemSchema: z.ZodTypeAny = z.object({\n url: z.string().describe(\"URL of the source.\").nullable().optional(),\n title: z.string().describe(\"Title of the source.\").nullable().optional(),\n snippet: z.string().describe(\"Snippet or description from the source.\").nullable().optional(),\n}).describe(\"A source item from the search results.\");\nexport const OpenperplexSearchStreamOutput: z.ZodTypeAny = z.object({\n images: z.array(z.string()).describe(\"List of image URLs if return_images was enabled.\").nullable().optional(),\n sources: z.array(OpenperplexSearchStream_SourceItemSchema).describe(\"List of sources used to generate the response.\").nullable().optional(),\n citations: z.array(z.string()).describe(\"List of citations if return_citations was enabled.\").nullable().optional(),\n response_text: z.string().describe(\"The full response text aggregated from LLM streaming chunks.\"),\n}).describe(\"Aggregated response for streaming search.\");\n\nexport const openperplexSearchStream = action(\"OPENPERPLEX_SEARCH_STREAM\", {\n slug: \"openperplex-search-stream\",\n name: \"Search Stream\",\n description: \"Tool to stream search results from OpenPerplex. Use when real-time AI-powered search responses are needed. Returns aggregated text response along with optional sources, images, and citations.\",\n input: OpenperplexSearchStreamInput,\n output: OpenperplexSearchStreamOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6C,EAAE,OAAO;CACjE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;CACtK,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB;CACjD,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,oFAAoF,CAAC,CAAC,SAAS;CAC3I,aAAa,EAAE,KAAK;EAAC;EAAQ;EAAY;CAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC5I,aAAa,EAAE,KAAK,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CACtH,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,uIAAuI,CAAC,CAAC,SAAS;CACpL,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS;CAC1G,gBAAgB,EAAE,KAAK;EAAC;EAAQ;EAAO;EAAQ;EAAS;EAAQ;CAAS,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;CAClL,gBAAgB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CAC5G,kBAAkB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAChH,mBAAmB,EAAE,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,kIAAkI,CAAC,CAAC,SAAS;AACtM,CAAC,CAAC,CAAC,SAAS,wDAAwD;AACpE,MAAM,2CAAyD,EAAE,OAAO;CACtE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sBAAsB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9F,CAAC,CAAC,CAAC,SAAS,wCAAwC;AAQpD,MAAa,0BAA0B,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAZyD,EAAE,OAAO;EAClE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7G,SAAS,EAAE,MAAM,wCAAwC,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1I,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClH,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,8DAA8D;CACnG,CAAC,CAAC,CAAC,SAAS,2CAOF;AACV,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/search.ts
|
|
4
|
+
const OpenperplexSearchInput = zod.z.object({
|
|
5
|
+
model: zod.z.string().default("gpt-4o-mini").describe("Model to use for generating responses. Options: 'o3-mini-high', 'o3-mini-medium', 'gpt-4o', 'gpt-4o-mini', 'gemini-2.0-flash'.").optional(),
|
|
6
|
+
query: zod.z.string().describe("The search query or question you want to ask. This is the primary input for your search."),
|
|
7
|
+
location: zod.z.string().default("us").describe("Country code for localized search results (e.g., 'us', 'jp', 'br', 'fr').").optional(),
|
|
8
|
+
answer_type: zod.z.enum([
|
|
9
|
+
"text",
|
|
10
|
+
"markdown",
|
|
11
|
+
"html"
|
|
12
|
+
]).default("text").describe("Format of the answer. Options: 'text', 'markdown', or 'html'.").optional(),
|
|
13
|
+
search_type: zod.z.enum(["general", "news"]).default("general").describe("Type of search to perform. Options: 'general' or 'news'.").optional(),
|
|
14
|
+
date_context: zod.z.string().describe("Optional date for context. Format example: 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. If not provided, the API uses the current date of the server.").optional(),
|
|
15
|
+
return_images: zod.z.boolean().default(false).describe("Set to True to include images in the result.").optional(),
|
|
16
|
+
recency_filter: zod.z.enum([
|
|
17
|
+
"hour",
|
|
18
|
+
"day",
|
|
19
|
+
"week",
|
|
20
|
+
"month",
|
|
21
|
+
"year",
|
|
22
|
+
"anytime"
|
|
23
|
+
]).default("anytime").describe("Filter results by recency. Options: 'hour', 'day', 'week', 'month', 'year', 'anytime'.").optional(),
|
|
24
|
+
return_sources: zod.z.boolean().default(false).describe("Set to True to include sources in the result.").optional(),
|
|
25
|
+
return_citations: zod.z.boolean().default(false).describe("Set to True to include citations in the response.").optional(),
|
|
26
|
+
response_language: zod.z.string().default("auto").describe("Language code for the response. Use 'auto' to auto-detect based on the query.").optional()
|
|
27
|
+
}).describe("Parameters for performing a search query using the OpenPerplex API.");
|
|
28
|
+
const OpenperplexSearch_SourceItemSchema = zod.z.object({
|
|
29
|
+
url: zod.z.string().describe("URL of the source").nullable().optional(),
|
|
30
|
+
title: zod.z.string().describe("Title of the source").nullable().optional(),
|
|
31
|
+
snippet: zod.z.string().describe("Snippet from the source").nullable().optional()
|
|
32
|
+
}).describe("A source item in the search response.");
|
|
33
|
+
const OpenperplexSearchOutput = zod.z.object({
|
|
34
|
+
error: zod.z.string().describe("Error message if any error occurred during the search.").nullable().optional(),
|
|
35
|
+
images: zod.z.array(zod.z.string()).describe("List of image URLs found in the search.").nullable().optional(),
|
|
36
|
+
sources: zod.z.array(OpenperplexSearch_SourceItemSchema).describe("List of sources used to generate the response.").nullable().optional(),
|
|
37
|
+
llm_response: zod.z.string().describe("The LLM-generated response based on the search results."),
|
|
38
|
+
response_time: zod.z.number().describe("The time taken to generate the response in seconds.").nullable().optional()
|
|
39
|
+
}).describe("Response model for a search operation from the OpenPerplex API.");
|
|
40
|
+
const openperplexSearch = require_action.action("OPENPERPLEX_SEARCH", {
|
|
41
|
+
slug: "openperplex-search",
|
|
42
|
+
name: "Search Documents",
|
|
43
|
+
description: "Tool to search documents using query parameters. Use when you have a search query and optional filters ready.",
|
|
44
|
+
input: OpenperplexSearchInput,
|
|
45
|
+
output: OpenperplexSearchOutput
|
|
46
|
+
});
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.openperplexSearch = openperplexSearch;
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=search.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.cjs","names":["z","action"],"sources":["../../src/actions/search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexSearchInput: z.ZodTypeAny = z.object({\n model: z.string().default(\"gpt-4o-mini\").describe(\"Model to use for generating responses. Options: 'o3-mini-high', 'o3-mini-medium', 'gpt-4o', 'gpt-4o-mini', 'gemini-2.0-flash'.\").optional(),\n query: z.string().describe(\"The search query or question you want to ask. This is the primary input for your search.\"),\n location: z.string().default(\"us\").describe(\"Country code for localized search results (e.g., 'us', 'jp', 'br', 'fr').\").optional(),\n answer_type: z.enum([\"text\", \"markdown\", \"html\"]).default(\"text\").describe(\"Format of the answer. Options: 'text', 'markdown', or 'html'.\").optional(),\n search_type: z.enum([\"general\", \"news\"]).default(\"general\").describe(\"Type of search to perform. Options: 'general' or 'news'.\").optional(),\n date_context: z.string().describe(\"Optional date for context. Format example: 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. If not provided, the API uses the current date of the server.\").optional(),\n return_images: z.boolean().default(false).describe(\"Set to True to include images in the result.\").optional(),\n recency_filter: z.enum([\"hour\", \"day\", \"week\", \"month\", \"year\", \"anytime\"]).default(\"anytime\").describe(\"Filter results by recency. Options: 'hour', 'day', 'week', 'month', 'year', 'anytime'.\").optional(),\n return_sources: z.boolean().default(false).describe(\"Set to True to include sources in the result.\").optional(),\n return_citations: z.boolean().default(false).describe(\"Set to True to include citations in the response.\").optional(),\n response_language: z.string().default(\"auto\").describe(\"Language code for the response. Use 'auto' to auto-detect based on the query.\").optional(),\n}).describe(\"Parameters for performing a search query using the OpenPerplex API.\");\nconst OpenperplexSearch_SourceItemSchema: z.ZodTypeAny = z.object({\n url: z.string().describe(\"URL of the source\").nullable().optional(),\n title: z.string().describe(\"Title of the source\").nullable().optional(),\n snippet: z.string().describe(\"Snippet from the source\").nullable().optional(),\n}).describe(\"A source item in the search response.\");\nexport const OpenperplexSearchOutput: z.ZodTypeAny = z.object({\n error: z.string().describe(\"Error message if any error occurred during the search.\").nullable().optional(),\n images: z.array(z.string()).describe(\"List of image URLs found in the search.\").nullable().optional(),\n sources: z.array(OpenperplexSearch_SourceItemSchema).describe(\"List of sources used to generate the response.\").nullable().optional(),\n llm_response: z.string().describe(\"The LLM-generated response based on the search results.\"),\n response_time: z.number().describe(\"The time taken to generate the response in seconds.\").nullable().optional(),\n}).describe(\"Response model for a search operation from the OpenPerplex API.\");\n\nexport const openperplexSearch = action(\"OPENPERPLEX_SEARCH\", {\n slug: \"openperplex-search\",\n name: \"Search Documents\",\n description: \"Tool to search documents using query parameters. Use when you have a search query and optional filters ready.\",\n input: OpenperplexSearchInput,\n output: OpenperplexSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,yBAAuCA,IAAAA,EAAE,OAAO;CAC3D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;CAC7L,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F;CACrH,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CAClI,aAAaA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAY;CAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CACrJ,aAAaA,IAAAA,EAAE,KAAK,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC1I,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0KAA0K,CAAC,CAAC,SAAS;CACvN,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC5G,gBAAgBA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAO;EAAQ;EAAS;EAAQ;CAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS;CAC3M,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAC9G,kBAAkBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CACpH,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS;AACnJ,CAAC,CAAC,CAAC,SAAS,qEAAqE;AACjF,MAAM,qCAAmDA,IAAAA,EAAE,OAAO;CAChE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9E,CAAC,CAAC,CAAC,SAAS,uCAAuC;AACnD,MAAa,0BAAwCA,IAAAA,EAAE,OAAO;CAC5D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzG,QAAQA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,SAASA,IAAAA,EAAE,MAAM,kCAAkC,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpI,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;CAC3F,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAChH,CAAC,CAAC,CAAC,SAAS,iEAAiE;AAE7E,MAAa,oBAAoBC,eAAAA,OAAO,sBAAsB;CAC5D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search.d.ts
|
|
4
|
+
declare const OpenperplexSearchInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpenperplexSearchOutput: z.ZodTypeAny;
|
|
6
|
+
declare const openperplexSearch: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { openperplexSearch };
|
|
9
|
+
//# sourceMappingURL=search.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.cts","names":[],"sources":["../../src/actions/search.ts"],"mappings":";;;cAIa,sBAAA,EAAwB,CAAA,CAAE,UAY2C;AAAA,cAMrE,uBAAA,EAAyB,CAAA,CAAE,UAMsC;AAAA,cAEjE,iBAAA,gCAAiB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/search.d.ts
|
|
4
|
+
declare const OpenperplexSearchInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpenperplexSearchOutput: z.ZodTypeAny;
|
|
6
|
+
declare const openperplexSearch: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { openperplexSearch };
|
|
9
|
+
//# sourceMappingURL=search.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.mts","names":[],"sources":["../../src/actions/search.ts"],"mappings":";;;cAIa,sBAAA,EAAwB,CAAA,CAAE,UAY2C;AAAA,cAMrE,uBAAA,EAAyB,CAAA,CAAE,UAMsC;AAAA,cAEjE,iBAAA,gCAAiB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/actions/search.ts
|
|
4
|
+
const OpenperplexSearchInput = z.object({
|
|
5
|
+
model: z.string().default("gpt-4o-mini").describe("Model to use for generating responses. Options: 'o3-mini-high', 'o3-mini-medium', 'gpt-4o', 'gpt-4o-mini', 'gemini-2.0-flash'.").optional(),
|
|
6
|
+
query: z.string().describe("The search query or question you want to ask. This is the primary input for your search."),
|
|
7
|
+
location: z.string().default("us").describe("Country code for localized search results (e.g., 'us', 'jp', 'br', 'fr').").optional(),
|
|
8
|
+
answer_type: z.enum([
|
|
9
|
+
"text",
|
|
10
|
+
"markdown",
|
|
11
|
+
"html"
|
|
12
|
+
]).default("text").describe("Format of the answer. Options: 'text', 'markdown', or 'html'.").optional(),
|
|
13
|
+
search_type: z.enum(["general", "news"]).default("general").describe("Type of search to perform. Options: 'general' or 'news'.").optional(),
|
|
14
|
+
date_context: z.string().describe("Optional date for context. Format example: 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. If not provided, the API uses the current date of the server.").optional(),
|
|
15
|
+
return_images: z.boolean().default(false).describe("Set to True to include images in the result.").optional(),
|
|
16
|
+
recency_filter: z.enum([
|
|
17
|
+
"hour",
|
|
18
|
+
"day",
|
|
19
|
+
"week",
|
|
20
|
+
"month",
|
|
21
|
+
"year",
|
|
22
|
+
"anytime"
|
|
23
|
+
]).default("anytime").describe("Filter results by recency. Options: 'hour', 'day', 'week', 'month', 'year', 'anytime'.").optional(),
|
|
24
|
+
return_sources: z.boolean().default(false).describe("Set to True to include sources in the result.").optional(),
|
|
25
|
+
return_citations: z.boolean().default(false).describe("Set to True to include citations in the response.").optional(),
|
|
26
|
+
response_language: z.string().default("auto").describe("Language code for the response. Use 'auto' to auto-detect based on the query.").optional()
|
|
27
|
+
}).describe("Parameters for performing a search query using the OpenPerplex API.");
|
|
28
|
+
const OpenperplexSearch_SourceItemSchema = z.object({
|
|
29
|
+
url: z.string().describe("URL of the source").nullable().optional(),
|
|
30
|
+
title: z.string().describe("Title of the source").nullable().optional(),
|
|
31
|
+
snippet: z.string().describe("Snippet from the source").nullable().optional()
|
|
32
|
+
}).describe("A source item in the search response.");
|
|
33
|
+
const openperplexSearch = action("OPENPERPLEX_SEARCH", {
|
|
34
|
+
slug: "openperplex-search",
|
|
35
|
+
name: "Search Documents",
|
|
36
|
+
description: "Tool to search documents using query parameters. Use when you have a search query and optional filters ready.",
|
|
37
|
+
input: OpenperplexSearchInput,
|
|
38
|
+
output: z.object({
|
|
39
|
+
error: z.string().describe("Error message if any error occurred during the search.").nullable().optional(),
|
|
40
|
+
images: z.array(z.string()).describe("List of image URLs found in the search.").nullable().optional(),
|
|
41
|
+
sources: z.array(OpenperplexSearch_SourceItemSchema).describe("List of sources used to generate the response.").nullable().optional(),
|
|
42
|
+
llm_response: z.string().describe("The LLM-generated response based on the search results."),
|
|
43
|
+
response_time: z.number().describe("The time taken to generate the response in seconds.").nullable().optional()
|
|
44
|
+
}).describe("Response model for a search operation from the OpenPerplex API.")
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
export { openperplexSearch };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=search.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.mjs","names":[],"sources":["../../src/actions/search.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpenperplexSearchInput: z.ZodTypeAny = z.object({\n model: z.string().default(\"gpt-4o-mini\").describe(\"Model to use for generating responses. Options: 'o3-mini-high', 'o3-mini-medium', 'gpt-4o', 'gpt-4o-mini', 'gemini-2.0-flash'.\").optional(),\n query: z.string().describe(\"The search query or question you want to ask. This is the primary input for your search.\"),\n location: z.string().default(\"us\").describe(\"Country code for localized search results (e.g., 'us', 'jp', 'br', 'fr').\").optional(),\n answer_type: z.enum([\"text\", \"markdown\", \"html\"]).default(\"text\").describe(\"Format of the answer. Options: 'text', 'markdown', or 'html'.\").optional(),\n search_type: z.enum([\"general\", \"news\"]).default(\"general\").describe(\"Type of search to perform. Options: 'general' or 'news'.\").optional(),\n date_context: z.string().describe(\"Optional date for context. Format example: 'Today is Monday 16 of September 2024 and the time is 6:36 PM'. If not provided, the API uses the current date of the server.\").optional(),\n return_images: z.boolean().default(false).describe(\"Set to True to include images in the result.\").optional(),\n recency_filter: z.enum([\"hour\", \"day\", \"week\", \"month\", \"year\", \"anytime\"]).default(\"anytime\").describe(\"Filter results by recency. Options: 'hour', 'day', 'week', 'month', 'year', 'anytime'.\").optional(),\n return_sources: z.boolean().default(false).describe(\"Set to True to include sources in the result.\").optional(),\n return_citations: z.boolean().default(false).describe(\"Set to True to include citations in the response.\").optional(),\n response_language: z.string().default(\"auto\").describe(\"Language code for the response. Use 'auto' to auto-detect based on the query.\").optional(),\n}).describe(\"Parameters for performing a search query using the OpenPerplex API.\");\nconst OpenperplexSearch_SourceItemSchema: z.ZodTypeAny = z.object({\n url: z.string().describe(\"URL of the source\").nullable().optional(),\n title: z.string().describe(\"Title of the source\").nullable().optional(),\n snippet: z.string().describe(\"Snippet from the source\").nullable().optional(),\n}).describe(\"A source item in the search response.\");\nexport const OpenperplexSearchOutput: z.ZodTypeAny = z.object({\n error: z.string().describe(\"Error message if any error occurred during the search.\").nullable().optional(),\n images: z.array(z.string()).describe(\"List of image URLs found in the search.\").nullable().optional(),\n sources: z.array(OpenperplexSearch_SourceItemSchema).describe(\"List of sources used to generate the response.\").nullable().optional(),\n llm_response: z.string().describe(\"The LLM-generated response based on the search results.\"),\n response_time: z.number().describe(\"The time taken to generate the response in seconds.\").nullable().optional(),\n}).describe(\"Response model for a search operation from the OpenPerplex API.\");\n\nexport const openperplexSearch = action(\"OPENPERPLEX_SEARCH\", {\n slug: \"openperplex-search\",\n name: \"Search Documents\",\n description: \"Tool to search documents using query parameters. Use when you have a search query and optional filters ready.\",\n input: OpenperplexSearchInput,\n output: OpenperplexSearchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,yBAAuC,EAAE,OAAO;CAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,aAAa,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;CAC7L,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F;CACrH,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CAClI,aAAa,EAAE,KAAK;EAAC;EAAQ;EAAY;CAAM,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CACrJ,aAAa,EAAE,KAAK,CAAC,WAAW,MAAM,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC1I,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,0KAA0K,CAAC,CAAC,SAAS;CACvN,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC5G,gBAAgB,EAAE,KAAK;EAAC;EAAQ;EAAO;EAAQ;EAAS;EAAQ;CAAS,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS;CAC3M,gBAAgB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAC9G,kBAAkB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CACpH,mBAAmB,EAAE,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS;AACnJ,CAAC,CAAC,CAAC,SAAS,qEAAqE;AACjF,MAAM,qCAAmD,EAAE,OAAO;CAChE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClE,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtE,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9E,CAAC,CAAC,CAAC,SAAS,uCAAuC;AASnD,MAAa,oBAAoB,OAAO,sBAAsB;CAC5D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAbmD,EAAE,OAAO;EAC5D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzG,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpG,SAAS,EAAE,MAAM,kCAAkC,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpI,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;EAC3F,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChH,CAAC,CAAC,CAAC,SAAS,iEAOF;AACV,CAAC"}
|
package/dist/app.cjs
ADDED
package/dist/app.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const openperplex = defineApp({\n slug: \"openperplex\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,eAAA,uCAAA,CAAA,CAAA,UAAA,CAAwB;CACnC,MAAM;CACN,MAAM;AACR,CAAC"}
|
package/dist/app.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,WAAA,6BAAW,GAAA,+BAAA,UAAA"}
|
package/dist/app.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,WAAA,6BAAW,GAAA,+BAAA,UAAA"}
|
package/dist/app.mjs
ADDED
package/dist/app.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const openperplex = defineApp({\n slug: \"openperplex\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,cAAc,UAAU;CACnC,MAAM;CACN,MAAM;AACR,CAAC"}
|
package/dist/catalog.cjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/catalog.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
const openperplexCatalog = {
|
|
4
|
+
"slug": "openperplex",
|
|
5
|
+
"name": "Openperplex",
|
|
6
|
+
"description": "Openperplex API provides powerful, global search capabilities and web content analysis for AI applications.",
|
|
7
|
+
"category": "Artificial Intelligence",
|
|
8
|
+
"logo": "https://logos.composio.dev/api/openperplex",
|
|
9
|
+
"authKind": "keystroke",
|
|
10
|
+
"oauthScopes": []
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.openperplexCatalog = openperplexCatalog;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=catalog.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const openperplexCatalog = {\n \"slug\": \"openperplex\",\n \"name\": \"Openperplex\",\n \"description\": \"Openperplex API provides powerful, global search capabilities and web content analysis for AI applications.\",\n \"category\": \"Artificial Intelligence\",\n \"logo\": \"https://logos.composio.dev/api/openperplex\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,qBAAqB;CAChC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
|