ai4scholar 0.3.0 → 0.3.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAmDlD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,QA4GtD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAgDlD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,iBAAiB,QA4FtD"}
package/dist/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import path from "node:path";
2
2
  import { setApiKey } from "./src/tools/api-client.js";
3
3
  import { createSkillInjectionHook } from "./src/hooks/inject-skill.js";
4
- import { createAutoUpdaterService } from "./src/services/auto-updater.js";
5
4
  import { createSemanticSearchTool, createSemanticDetailTool, createSemanticCitationsTool, createSemanticReferencesTool, createSemanticAuthorSearchTool, createSemanticAuthorPapersTool, createSemanticRecommendationsTool, createSemanticRecommendationsForPaperTool, createSemanticSnippetSearchTool, createSemanticAuthorDetailTool, createSemanticPaperMatchTool, createSemanticPaperBatchTool, createSemanticAuthorBatchTool, createSemanticPaperAuthorsTool, createSemanticBulkSearchTool, createSemanticDownloadTool, createSemanticReadTool, } from "./src/tools/semantic-scholar.js";
6
5
  import { createPubmedSearchTool, createPubmedDetailTool, createPubmedCitationsTool, createPubmedRelatedTool, createPubmedBatchTool, } from "./src/tools/pubmed.js";
7
6
  import { createGoogleScholarSearchTool } from "./src/tools/google-scholar.js";
@@ -11,7 +10,6 @@ import { createDoiDownloadTool, createDoiReadTool } from "./src/tools/doi-downlo
11
10
  import { createPaperQualityRankTool } from "./src/tools/quality-rank.js";
12
11
  import { handleLibrary, handleProjects, handleReadingList, } from "./src/commands.js";
13
12
  import { createScholarModeHook } from "./src/hooks/scholar-mode.js";
14
- const UPDATE_CHECK_INTERVAL_MS = 60 * 60 * 1000; // 1 hour
15
13
  export default function register(api) {
16
14
  const cfg = api.pluginConfig;
17
15
  if (cfg?.apiKey) {
@@ -87,19 +85,6 @@ export default function register(api) {
87
85
  // --- Hooks ---
88
86
  api.on("before_prompt_build", createScholarModeHook(), { priority: 100 });
89
87
  api.on("before_tool_call", createSkillInjectionHook(path.dirname(api.source)));
90
- // --- Auto-updater service ---
91
- const autoUpdateEnabled = cfg?.autoUpdate !== false;
92
- if (autoUpdateEnabled) {
93
- api.registerService(createAutoUpdaterService({
94
- packageName: "ai4scholar",
95
- checkIntervalMs: UPDATE_CHECK_INTERVAL_MS,
96
- logger: {
97
- info: (msg) => api.logger.info(msg),
98
- warn: (msg) => api.logger.warn(msg),
99
- debug: (msg) => api.logger.debug?.(msg),
100
- },
101
- }));
102
- }
103
88
  api.logger.info(`AI4Scholar plugin loaded — 35 tools registered (apiKey: ${cfg?.apiKey ? "configured" : "missing"})`);
104
89
  }
105
90
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai4scholar",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Multi-source academic literature search, management, and analysis plugin for OpenClaw. Powered by ai4scholar.net.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,15 +0,0 @@
1
- export interface AutoUpdaterOptions {
2
- packageName: string;
3
- checkIntervalMs: number;
4
- logger: {
5
- info: (msg: string) => void;
6
- warn: (msg: string) => void;
7
- debug?: (msg: string) => void;
8
- };
9
- }
10
- export declare function createAutoUpdaterService(options: AutoUpdaterOptions): {
11
- id: string;
12
- start: () => Promise<void>;
13
- stop: () => void;
14
- };
15
- //# sourceMappingURL=auto-updater.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-updater.d.ts","sourceRoot":"","sources":["../../../src/services/auto-updater.ts"],"names":[],"mappings":"AAkHA,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;KAC/B,CAAC;CACH;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,kBAAkB;;;;EAyDnE"}
@@ -1,153 +0,0 @@
1
- import { exec } from "child_process";
2
- import { readFileSync, existsSync, lstatSync } from "fs";
3
- import { fileURLToPath } from "url";
4
- import { dirname, join } from "path";
5
- function getPluginRoot() {
6
- const __filename = fileURLToPath(import.meta.url);
7
- const __dirname = dirname(__filename);
8
- let root = __dirname;
9
- for (let i = 0; i < 5; i++) {
10
- if (existsSync(join(root, "package.json"))) {
11
- return root;
12
- }
13
- root = dirname(root);
14
- }
15
- return join(__dirname, "../../..");
16
- }
17
- function isDevMode() {
18
- if (process.env.AI4SCHOLAR_DEV === "1" || process.env.AI4SCHOLAR_DEV === "true") {
19
- return true;
20
- }
21
- if (process.env.NODE_ENV === "development") {
22
- return true;
23
- }
24
- const pluginRoot = getPluginRoot();
25
- if (existsSync(join(pluginRoot, "tsconfig.json"))) {
26
- return true;
27
- }
28
- try {
29
- if (lstatSync(pluginRoot).isSymbolicLink()) {
30
- return true;
31
- }
32
- }
33
- catch {
34
- // ignore
35
- }
36
- try {
37
- const pkg = JSON.parse(readFileSync(join(pluginRoot, "package.json"), "utf-8"));
38
- if (pkg.version && pkg.version.includes("-dev")) {
39
- return true;
40
- }
41
- }
42
- catch {
43
- // ignore
44
- }
45
- return false;
46
- }
47
- function getCurrentVersion() {
48
- try {
49
- const packagePath = join(getPluginRoot(), "package.json");
50
- const pkg = JSON.parse(readFileSync(packagePath, "utf-8"));
51
- return pkg.version;
52
- }
53
- catch {
54
- return "0.0.0";
55
- }
56
- }
57
- async function getLatestVersion(packageName) {
58
- return new Promise((resolve) => {
59
- exec(`npm view ${packageName} version`, { timeout: 10000 }, (error, stdout) => {
60
- if (error) {
61
- resolve(null);
62
- return;
63
- }
64
- resolve(stdout.trim());
65
- });
66
- });
67
- }
68
- function isNewerVersion(current, latest) {
69
- const currentParts = current.split(".").map(Number);
70
- const latestParts = latest.split(".").map(Number);
71
- for (let i = 0; i < 3; i++) {
72
- const c = currentParts[i] || 0;
73
- const l = latestParts[i] || 0;
74
- if (l > c)
75
- return true;
76
- if (l < c)
77
- return false;
78
- }
79
- return false;
80
- }
81
- function getExtensionsDir() {
82
- const home = process.env.HOME || process.env.USERPROFILE || "";
83
- return join(home, ".openclaw", "extensions");
84
- }
85
- async function runUpdate(packageName, logger) {
86
- const extensionsDir = getExtensionsDir();
87
- const targetDir = join(extensionsDir, packageName);
88
- return new Promise((resolve) => {
89
- const cmd = `cd "${extensionsDir}" && npm pack ${packageName} --pack-destination . && tar -xzf ${packageName}-*.tgz && rm -rf "${targetDir}" && mv package "${targetDir}" && rm ${packageName}-*.tgz`;
90
- exec(cmd, { timeout: 120000 }, (error, _stdout, stderr) => {
91
- if (error) {
92
- logger.warn(`AI4Scholar auto-update failed: ${stderr || error.message}`);
93
- resolve(false);
94
- return;
95
- }
96
- logger.info(`AI4Scholar updated. Restart gateway to apply.`);
97
- resolve(true);
98
- });
99
- });
100
- }
101
- export function createAutoUpdaterService(options) {
102
- const { packageName, checkIntervalMs, logger } = options;
103
- let intervalId = null;
104
- let isChecking = false;
105
- const checkAndUpdate = async () => {
106
- if (isChecking)
107
- return;
108
- isChecking = true;
109
- try {
110
- const currentVersion = getCurrentVersion();
111
- const latestVersion = await getLatestVersion(packageName);
112
- if (!latestVersion) {
113
- logger.debug?.(`AI4Scholar update check: could not fetch latest version`);
114
- return;
115
- }
116
- if (isNewerVersion(currentVersion, latestVersion)) {
117
- logger.info(`AI4Scholar update available: ${currentVersion} → ${latestVersion}`);
118
- await runUpdate(packageName, logger);
119
- }
120
- else {
121
- logger.debug?.(`AI4Scholar is up to date (${currentVersion})`);
122
- }
123
- }
124
- catch (err) {
125
- logger.warn(`AI4Scholar update check error: ${err}`);
126
- }
127
- finally {
128
- isChecking = false;
129
- }
130
- };
131
- return {
132
- id: "ai4scholar-auto-updater",
133
- start: async () => {
134
- if (isDevMode()) {
135
- logger.debug?.("AI4Scholar auto-updater skipped (dev mode)");
136
- return;
137
- }
138
- logger.debug?.("AI4Scholar auto-updater service started");
139
- setTimeout(() => {
140
- checkAndUpdate();
141
- }, 5000);
142
- intervalId = setInterval(checkAndUpdate, checkIntervalMs);
143
- },
144
- stop: () => {
145
- if (intervalId) {
146
- clearInterval(intervalId);
147
- intervalId = null;
148
- }
149
- logger.debug?.("AI4Scholar auto-updater service stopped");
150
- },
151
- };
152
- }
153
- //# sourceMappingURL=auto-updater.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-updater.js","sourceRoot":"","sources":["../../../src/services/auto-updater.ts"],"names":[],"mappings":"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"}