@alfe.ai/openclaw-search 0.0.4 → 0.0.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/plugin.ts"],"mappings":";UAMU,SAAA;EAAA,MAAA,EAAA;IAMJ,IAAA,EAiCL,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAAA,IAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IA5Be,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAyBE,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;EAAS,CAAA;;;;cA9BrB;;;;gBAKU;kBAyBE"}
1
+ {"version":3,"file":"plugin.d.cts","names":[],"sources":["../src/plugin.ts"],"mappings":";UAMU,SAAA;EAAA,MAAA,EAAA;IAMJ,IAAA,EA6BL,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAAA,IAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAxBe,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAqBE,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;EAAS,CAAA;;;;cA1BrB;;;;gBAKU;kBAqBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/plugin.ts"],"mappings":";UAMU,SAAA;EAAA,MAAA,EAAA;IAMJ,IAAA,EAiCL,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAAA,IAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IA5Be,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAyBE,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;EAAS,CAAA;;;;cA9BrB;;;;gBAKU;kBAyBE"}
1
+ {"version":3,"file":"plugin.d.ts","names":[],"sources":["../src/plugin.ts"],"mappings":";UAMU,SAAA;EAAA,MAAA,EAAA;IAMJ,IAAA,EA6BL,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAAA,IAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAxBe,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;IAqBE,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,OAAA,EAAA,EAAA,GAAA,IAAA;EAAS,CAAA;;;;cA1BrB;;;;gBAKU;kBAqBE"}
package/dist/plugin2.cjs CHANGED
@@ -106,7 +106,6 @@ const plugin = {
106
106
  version: (0, node_module.createRequire)(require("url").pathToFileURL(__filename).href)("../package.json").version,
107
107
  activate(api) {
108
108
  const log = api.logger;
109
- if (api.registrationMode && api.registrationMode !== "full") return;
110
109
  log.info("Search plugin activating...");
111
110
  let apiUrl;
112
111
  let apiKey;
package/dist/plugin2.js CHANGED
@@ -106,7 +106,6 @@ const plugin = {
106
106
  version: createRequire(import.meta.url)("../package.json").version,
107
107
  activate(api) {
108
108
  const log = api.logger;
109
- if (api.registrationMode && api.registrationMode !== "full") return;
110
109
  log.info("Search plugin activating...");
111
110
  let apiUrl;
112
111
  let apiKey;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin2.js","names":[],"sources":["../src/tools.ts","../src/plugin.ts"],"sourcesContent":["interface PluginApi {\n registerTool(tool: ToolDef): void;\n}\n\ninterface ToolDef {\n name: string;\n description: string;\n label: string;\n parameters: Record<string, unknown>;\n execute: (toolCallId: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\nasync function searchRequest(\n apiUrl: string,\n apiKey: string,\n type: \"web\" | \"images\" | \"news\",\n params: Record<string, unknown>,\n): Promise<unknown> {\n const res = await fetch(`${apiUrl}/agents/search/${type}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n },\n body: JSON.stringify(params),\n });\n\n if (!res.ok) {\n const body = await res.text().catch(() => \"\");\n throw new Error(`Search API error: ${String(res.status)} ${body}`);\n }\n\n const json = await res.json() as { data?: unknown };\n return json.data ?? json;\n}\n\nexport function registerTools(api: PluginApi, apiUrl: string, apiKey: string): void {\n // ── Web Search ──────────────────────────────────────\n\n api.registerTool({\n name: \"web_search\",\n label: \"web_search\",\n description: \"Search the web. Returns web pages with titles, URLs, and descriptions.\",\n parameters: {\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"The search query\" },\n count: { type: \"number\", description: \"Number of results to return (1-20)\", default: 10 },\n offset: { type: \"number\", description: \"Pagination offset (0-9)\", default: 0 },\n },\n required: [\"query\"],\n },\n execute: async (_id, params) => {\n return searchRequest(apiUrl, apiKey, \"web\", params);\n },\n });\n\n // ── Image Search ────────────────────────────────────\n\n api.registerTool({\n name: \"image_search\",\n label: \"image_search\",\n description: \"Search for images. Returns image URLs, thumbnails, and metadata.\",\n parameters: {\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"The search query\" },\n count: { type: \"number\", description: \"Number of results to return (1-20)\", default: 10 },\n },\n required: [\"query\"],\n },\n execute: async (_id, params) => {\n return searchRequest(apiUrl, apiKey, \"images\", params);\n },\n });\n\n // ── News Search ─────────────────────────────────────\n\n api.registerTool({\n name: \"news_search\",\n label: \"news_search\",\n description: \"Search for news articles. Returns articles with titles, sources, and publication dates.\",\n parameters: {\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"The search query\" },\n count: { type: \"number\", description: \"Number of results to return (1-20)\", default: 10 },\n offset: { type: \"number\", description: \"Pagination offset (0-9)\", default: 0 },\n },\n required: [\"query\"],\n },\n execute: async (_id, params) => {\n return searchRequest(apiUrl, apiKey, \"news\", params);\n },\n });\n}\n","import { registerTools } from \"./tools.js\";\nimport { resolveConfig } from \"@alfe.ai/config\";\nimport { createRequire } from 'node:module';\nconst require = createRequire(import.meta.url);\nconst pkg = require('../package.json') as { version: string };\n\ninterface PluginApi {\n logger: { info: (...args: unknown[]) => void; warn: (...args: unknown[]) => void; error: (...args: unknown[]) => void; debug: (...args: unknown[]) => void };\n registrationMode?: \"full\" | \"setup-only\" | \"setup-runtime\" | \"cli-metadata\";\n registerTool(tool: unknown): void;\n}\n\nconst plugin = {\n id: \"@alfe.ai/openclaw-search\",\n name: \"Search\",\n version: pkg.version,\n\n activate(api: PluginApi) {\n const log = api.logger;\n\n // Only run during full gateway execution — skip CLI commands, setup, etc.\n if (api.registrationMode && api.registrationMode !== \"full\") {\n return;\n }\n\n log.info(\"Search plugin activating...\");\n\n let apiUrl: string;\n let apiKey: string;\n try {\n const config = resolveConfig();\n apiUrl = config.apiUrl;\n apiKey = config.apiKey;\n } catch (err) {\n log.error(`Search plugin: failed to resolve config — ${err instanceof Error ? err.message : String(err)}`);\n return;\n }\n\n registerTools(api, apiUrl, apiKey);\n log.info(\"Search plugin activated — web_search, image_search, news_search tools registered\");\n },\n\n deactivate(api: PluginApi) {\n api.logger.info(\"Search plugin deactivating...\");\n },\n};\n\nexport default plugin;\n"],"mappings":";;;AAYA,eAAe,cACb,QACA,QACA,MACA,QACkB;CAClB,MAAM,MAAM,MAAM,MAAM,GAAG,OAAO,iBAAiB,QAAQ;EACzD,QAAQ;EACR,SAAS;GACP,gBAAgB;GAChB,eAAe,UAAU;GAC1B;EACD,MAAM,KAAK,UAAU,OAAO;EAC7B,CAAC;AAEF,KAAI,CAAC,IAAI,IAAI;EACX,MAAM,OAAO,MAAM,IAAI,MAAM,CAAC,YAAY,GAAG;AAC7C,QAAM,IAAI,MAAM,qBAAqB,OAAO,IAAI,OAAO,CAAC,GAAG,OAAO;;CAGpE,MAAM,OAAO,MAAM,IAAI,MAAM;AAC7B,QAAO,KAAK,QAAQ;;AAGtB,SAAgB,cAAc,KAAgB,QAAgB,QAAsB;AAGlF,KAAI,aAAa;EACf,MAAM;EACN,OAAO;EACP,aAAa;EACb,YAAY;GACV,MAAM;GACN,YAAY;IACV,OAAO;KAAE,MAAM;KAAU,aAAa;KAAoB;IAC1D,OAAO;KAAE,MAAM;KAAU,aAAa;KAAsC,SAAS;KAAI;IACzF,QAAQ;KAAE,MAAM;KAAU,aAAa;KAA2B,SAAS;KAAG;IAC/E;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,SAAS,OAAO,KAAK,WAAW;AAC9B,UAAO,cAAc,QAAQ,QAAQ,OAAO,OAAO;;EAEtD,CAAC;AAIF,KAAI,aAAa;EACf,MAAM;EACN,OAAO;EACP,aAAa;EACb,YAAY;GACV,MAAM;GACN,YAAY;IACV,OAAO;KAAE,MAAM;KAAU,aAAa;KAAoB;IAC1D,OAAO;KAAE,MAAM;KAAU,aAAa;KAAsC,SAAS;KAAI;IAC1F;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,SAAS,OAAO,KAAK,WAAW;AAC9B,UAAO,cAAc,QAAQ,QAAQ,UAAU,OAAO;;EAEzD,CAAC;AAIF,KAAI,aAAa;EACf,MAAM;EACN,OAAO;EACP,aAAa;EACb,YAAY;GACV,MAAM;GACN,YAAY;IACV,OAAO;KAAE,MAAM;KAAU,aAAa;KAAoB;IAC1D,OAAO;KAAE,MAAM;KAAU,aAAa;KAAsC,SAAS;KAAI;IACzF,QAAQ;KAAE,MAAM;KAAU,aAAa;KAA2B,SAAS;KAAG;IAC/E;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,SAAS,OAAO,KAAK,WAAW;AAC9B,UAAO,cAAc,QAAQ,QAAQ,QAAQ,OAAO;;EAEvD,CAAC;;;;AClFJ,MAAM,SAAS;CACb,IAAI;CACJ,MAAM;CACN,SAZc,cAAc,OAAO,KAAK,IAAI,CAC1B,kBAAkB,CAWvB;CAEb,SAAS,KAAgB;EACvB,MAAM,MAAM,IAAI;AAGhB,MAAI,IAAI,oBAAoB,IAAI,qBAAqB,OACnD;AAGF,MAAI,KAAK,8BAA8B;EAEvC,IAAI;EACJ,IAAI;AACJ,MAAI;GACF,MAAM,SAAS,eAAe;AAC9B,YAAS,OAAO;AAChB,YAAS,OAAO;WACT,KAAK;AACZ,OAAI,MAAM,6CAA6C,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI,GAAG;AAC1G;;AAGF,gBAAc,KAAK,QAAQ,OAAO;AAClC,MAAI,KAAK,mFAAmF;;CAG9F,WAAW,KAAgB;AACzB,MAAI,OAAO,KAAK,gCAAgC;;CAEnD"}
1
+ {"version":3,"file":"plugin2.js","names":[],"sources":["../src/tools.ts","../src/plugin.ts"],"sourcesContent":["interface PluginApi {\n registerTool(tool: ToolDef): void;\n}\n\ninterface ToolDef {\n name: string;\n description: string;\n label: string;\n parameters: Record<string, unknown>;\n execute: (toolCallId: string, params: Record<string, unknown>) => Promise<unknown>;\n}\n\nasync function searchRequest(\n apiUrl: string,\n apiKey: string,\n type: \"web\" | \"images\" | \"news\",\n params: Record<string, unknown>,\n): Promise<unknown> {\n const res = await fetch(`${apiUrl}/agents/search/${type}`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${apiKey}`,\n },\n body: JSON.stringify(params),\n });\n\n if (!res.ok) {\n const body = await res.text().catch(() => \"\");\n throw new Error(`Search API error: ${String(res.status)} ${body}`);\n }\n\n const json = await res.json() as { data?: unknown };\n return json.data ?? json;\n}\n\nexport function registerTools(api: PluginApi, apiUrl: string, apiKey: string): void {\n // ── Web Search ──────────────────────────────────────\n\n api.registerTool({\n name: \"web_search\",\n label: \"web_search\",\n description: \"Search the web. Returns web pages with titles, URLs, and descriptions.\",\n parameters: {\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"The search query\" },\n count: { type: \"number\", description: \"Number of results to return (1-20)\", default: 10 },\n offset: { type: \"number\", description: \"Pagination offset (0-9)\", default: 0 },\n },\n required: [\"query\"],\n },\n execute: async (_id, params) => {\n return searchRequest(apiUrl, apiKey, \"web\", params);\n },\n });\n\n // ── Image Search ────────────────────────────────────\n\n api.registerTool({\n name: \"image_search\",\n label: \"image_search\",\n description: \"Search for images. Returns image URLs, thumbnails, and metadata.\",\n parameters: {\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"The search query\" },\n count: { type: \"number\", description: \"Number of results to return (1-20)\", default: 10 },\n },\n required: [\"query\"],\n },\n execute: async (_id, params) => {\n return searchRequest(apiUrl, apiKey, \"images\", params);\n },\n });\n\n // ── News Search ─────────────────────────────────────\n\n api.registerTool({\n name: \"news_search\",\n label: \"news_search\",\n description: \"Search for news articles. Returns articles with titles, sources, and publication dates.\",\n parameters: {\n type: \"object\",\n properties: {\n query: { type: \"string\", description: \"The search query\" },\n count: { type: \"number\", description: \"Number of results to return (1-20)\", default: 10 },\n offset: { type: \"number\", description: \"Pagination offset (0-9)\", default: 0 },\n },\n required: [\"query\"],\n },\n execute: async (_id, params) => {\n return searchRequest(apiUrl, apiKey, \"news\", params);\n },\n });\n}\n","import { registerTools } from \"./tools.js\";\nimport { resolveConfig } from \"@alfe.ai/config\";\nimport { createRequire } from 'node:module';\nconst require = createRequire(import.meta.url);\nconst pkg = require('../package.json') as { version: string };\n\ninterface PluginApi {\n logger: { info: (...args: unknown[]) => void; warn: (...args: unknown[]) => void; error: (...args: unknown[]) => void; debug: (...args: unknown[]) => void };\n registrationMode?: \"full\" | \"setup-only\" | \"setup-runtime\" | \"cli-metadata\";\n registerTool(tool: unknown): void;\n}\n\nconst plugin = {\n id: \"@alfe.ai/openclaw-search\",\n name: \"Search\",\n version: pkg.version,\n\n activate(api: PluginApi) {\n const log = api.logger;\n\n\n log.info(\"Search plugin activating...\");\n\n let apiUrl: string;\n let apiKey: string;\n try {\n const config = resolveConfig();\n apiUrl = config.apiUrl;\n apiKey = config.apiKey;\n } catch (err) {\n log.error(`Search plugin: failed to resolve config — ${err instanceof Error ? err.message : String(err)}`);\n return;\n }\n\n registerTools(api, apiUrl, apiKey);\n log.info(\"Search plugin activated — web_search, image_search, news_search tools registered\");\n },\n\n deactivate(api: PluginApi) {\n api.logger.info(\"Search plugin deactivating...\");\n },\n};\n\nexport default plugin;\n"],"mappings":";;;AAYA,eAAe,cACb,QACA,QACA,MACA,QACkB;CAClB,MAAM,MAAM,MAAM,MAAM,GAAG,OAAO,iBAAiB,QAAQ;EACzD,QAAQ;EACR,SAAS;GACP,gBAAgB;GAChB,eAAe,UAAU;GAC1B;EACD,MAAM,KAAK,UAAU,OAAO;EAC7B,CAAC;AAEF,KAAI,CAAC,IAAI,IAAI;EACX,MAAM,OAAO,MAAM,IAAI,MAAM,CAAC,YAAY,GAAG;AAC7C,QAAM,IAAI,MAAM,qBAAqB,OAAO,IAAI,OAAO,CAAC,GAAG,OAAO;;CAGpE,MAAM,OAAO,MAAM,IAAI,MAAM;AAC7B,QAAO,KAAK,QAAQ;;AAGtB,SAAgB,cAAc,KAAgB,QAAgB,QAAsB;AAGlF,KAAI,aAAa;EACf,MAAM;EACN,OAAO;EACP,aAAa;EACb,YAAY;GACV,MAAM;GACN,YAAY;IACV,OAAO;KAAE,MAAM;KAAU,aAAa;KAAoB;IAC1D,OAAO;KAAE,MAAM;KAAU,aAAa;KAAsC,SAAS;KAAI;IACzF,QAAQ;KAAE,MAAM;KAAU,aAAa;KAA2B,SAAS;KAAG;IAC/E;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,SAAS,OAAO,KAAK,WAAW;AAC9B,UAAO,cAAc,QAAQ,QAAQ,OAAO,OAAO;;EAEtD,CAAC;AAIF,KAAI,aAAa;EACf,MAAM;EACN,OAAO;EACP,aAAa;EACb,YAAY;GACV,MAAM;GACN,YAAY;IACV,OAAO;KAAE,MAAM;KAAU,aAAa;KAAoB;IAC1D,OAAO;KAAE,MAAM;KAAU,aAAa;KAAsC,SAAS;KAAI;IAC1F;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,SAAS,OAAO,KAAK,WAAW;AAC9B,UAAO,cAAc,QAAQ,QAAQ,UAAU,OAAO;;EAEzD,CAAC;AAIF,KAAI,aAAa;EACf,MAAM;EACN,OAAO;EACP,aAAa;EACb,YAAY;GACV,MAAM;GACN,YAAY;IACV,OAAO;KAAE,MAAM;KAAU,aAAa;KAAoB;IAC1D,OAAO;KAAE,MAAM;KAAU,aAAa;KAAsC,SAAS;KAAI;IACzF,QAAQ;KAAE,MAAM;KAAU,aAAa;KAA2B,SAAS;KAAG;IAC/E;GACD,UAAU,CAAC,QAAQ;GACpB;EACD,SAAS,OAAO,KAAK,WAAW;AAC9B,UAAO,cAAc,QAAQ,QAAQ,QAAQ,OAAO;;EAEvD,CAAC;;;;AClFJ,MAAM,SAAS;CACb,IAAI;CACJ,MAAM;CACN,SAZc,cAAc,OAAO,KAAK,IAAI,CAC1B,kBAAkB,CAWvB;CAEb,SAAS,KAAgB;EACvB,MAAM,MAAM,IAAI;AAGhB,MAAI,KAAK,8BAA8B;EAEvC,IAAI;EACJ,IAAI;AACJ,MAAI;GACF,MAAM,SAAS,eAAe;AAC9B,YAAS,OAAO;AAChB,YAAS,OAAO;WACT,KAAK;AACZ,OAAI,MAAM,6CAA6C,eAAe,QAAQ,IAAI,UAAU,OAAO,IAAI,GAAG;AAC1G;;AAGF,gBAAc,KAAK,QAAQ,OAAO;AAClC,MAAI,KAAK,mFAAmF;;CAG9F,WAAW,KAAgB;AACzB,MAAI,OAAO,KAAK,gCAAgC;;CAEnD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfe.ai/openclaw-search",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "OpenClaw search plugin — web, image, and news search",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin.js",