scientify 1.10.1 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +1 -0
  2. package/README.zh.md +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/hooks/research-mode.d.ts.map +1 -1
  7. package/dist/src/hooks/research-mode.js +1 -0
  8. package/dist/src/hooks/research-mode.js.map +1 -1
  9. package/dist/src/literature/subscription-state.d.ts +11 -0
  10. package/dist/src/literature/subscription-state.d.ts.map +1 -1
  11. package/dist/src/literature/subscription-state.js +141 -2
  12. package/dist/src/literature/subscription-state.js.map +1 -1
  13. package/dist/src/research-subscriptions/handlers.d.ts.map +1 -1
  14. package/dist/src/research-subscriptions/handlers.js +3 -0
  15. package/dist/src/research-subscriptions/handlers.js.map +1 -1
  16. package/dist/src/research-subscriptions/prompt.d.ts.map +1 -1
  17. package/dist/src/research-subscriptions/prompt.js +37 -7
  18. package/dist/src/research-subscriptions/prompt.js.map +1 -1
  19. package/dist/src/tools/openreview-lookup.d.ts +32 -0
  20. package/dist/src/tools/openreview-lookup.d.ts.map +1 -0
  21. package/dist/src/tools/openreview-lookup.js +414 -0
  22. package/dist/src/tools/openreview-lookup.js.map +1 -0
  23. package/dist/src/tools/scientify-cron.d.ts.map +1 -1
  24. package/dist/src/tools/scientify-cron.js +31 -2
  25. package/dist/src/tools/scientify-cron.js.map +1 -1
  26. package/dist/src/tools/scientify-literature-state.d.ts.map +1 -1
  27. package/dist/src/tools/scientify-literature-state.js +11 -1
  28. package/dist/src/tools/scientify-literature-state.js.map +1 -1
  29. package/package.json +1 -1
  30. package/skills/idea-generation/SKILL.md +16 -0
  31. package/skills/research-experiment/SKILL.md +3 -3
  32. package/skills/research-implement/SKILL.md +3 -3
  33. package/skills/research-review/SKILL.md +3 -3
  34. package/skills/research-subscription/SKILL.md +2 -0
@@ -0,0 +1,32 @@
1
+ export declare const OpenReviewLookupSchema: import("@sinclair/typebox").TObject<{
2
+ query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3
+ paper_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ forum_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ external_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ max_results: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
7
+ include_reviews: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
8
+ review_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
9
+ }>;
10
+ export declare function createOpenReviewLookupTool(): {
11
+ label: string;
12
+ name: string;
13
+ description: string;
14
+ parameters: import("@sinclair/typebox").TObject<{
15
+ query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ paper_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ forum_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ external_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ max_results: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
20
+ include_reviews: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
21
+ review_limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
22
+ }>;
23
+ execute: (_toolCallId: string, rawArgs: unknown) => Promise<{
24
+ type: "tool_result";
25
+ content: {
26
+ type: "text";
27
+ text: string;
28
+ }[];
29
+ isError?: boolean;
30
+ }>;
31
+ };
32
+ //# sourceMappingURL=openreview-lookup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openreview-lookup.d.ts","sourceRoot":"","sources":["../../../src/tools/openreview-lookup.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,sBAAsB;;;;;;;;EAyCjC,CAAC;AA0WH,wBAAgB,0BAA0B;;;;;;;;;;;;;2BAOT,MAAM,WAAW,OAAO;;;;;;;;EAmFxD"}
@@ -0,0 +1,414 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { Result } from "./result.js";
3
+ const OPENREVIEW_API_BASE = "https://api2.openreview.net";
4
+ const OPENREVIEW_WEB_BASE = "https://openreview.net";
5
+ const DEFAULT_MAX_RESULTS = 3;
6
+ const MAX_RESULTS_LIMIT = 10;
7
+ const DEFAULT_REVIEW_LIMIT = 3;
8
+ const MAX_REVIEW_LIMIT = 10;
9
+ const DEFAULT_FORUM_NOTES_LIMIT = 500;
10
+ const SEARCH_FANOUT = 4;
11
+ const SUMMARY_MAX_CHARS = 420;
12
+ const OPENREVIEW_TOKEN_ENV = "OPENREVIEW_API_TOKEN";
13
+ export const OpenReviewLookupSchema = Type.Object({
14
+ query: Type.Optional(Type.String({
15
+ description: "Paper title keywords for OpenReview search.",
16
+ })),
17
+ paper_id: Type.Optional(Type.String({
18
+ description: "OpenReview note id (submission or note id).",
19
+ })),
20
+ forum_id: Type.Optional(Type.String({
21
+ description: "OpenReview forum id.",
22
+ })),
23
+ external_id: Type.Optional(Type.String({
24
+ description: "External paper id hint (for example arXiv id like 2603.05344 or a DOI). Used as search term when exact mapping is unavailable.",
25
+ })),
26
+ max_results: Type.Optional(Type.Number({
27
+ description: "Maximum number of papers to return (1-10). Default: 3.",
28
+ minimum: 1,
29
+ maximum: MAX_RESULTS_LIMIT,
30
+ })),
31
+ include_reviews: Type.Optional(Type.Boolean({
32
+ description: "Include review snippets and rating/confidence aggregates. Default: true.",
33
+ })),
34
+ review_limit: Type.Optional(Type.Number({
35
+ description: "Maximum review snippets per paper (1-10). Default: 3.",
36
+ minimum: 1,
37
+ maximum: MAX_REVIEW_LIMIT,
38
+ })),
39
+ });
40
+ function readStringParam(params, key) {
41
+ const value = params[key];
42
+ if (value === undefined || value === null)
43
+ return undefined;
44
+ const text = String(value).trim();
45
+ return text.length > 0 ? text : undefined;
46
+ }
47
+ function readNumberParam(params, key, fallback, max) {
48
+ const raw = params[key];
49
+ if (raw === undefined || raw === null)
50
+ return fallback;
51
+ const parsed = Number(raw);
52
+ if (!Number.isFinite(parsed))
53
+ return fallback;
54
+ return Math.max(1, Math.min(max, Math.floor(parsed)));
55
+ }
56
+ function readBooleanParam(params, key, fallback) {
57
+ const raw = params[key];
58
+ if (raw === undefined || raw === null)
59
+ return fallback;
60
+ return raw === true;
61
+ }
62
+ function normalizeWhitespace(raw) {
63
+ return raw.replace(/\s+/g, " ").trim();
64
+ }
65
+ function unwrapValue(value) {
66
+ if (value && typeof value === "object" && !Array.isArray(value) && "value" in value) {
67
+ return value.value;
68
+ }
69
+ return value;
70
+ }
71
+ function contentString(content, key) {
72
+ if (!content)
73
+ return null;
74
+ const raw = unwrapValue(content[key]);
75
+ if (typeof raw !== "string")
76
+ return null;
77
+ const text = normalizeWhitespace(raw);
78
+ return text.length > 0 ? text : null;
79
+ }
80
+ function contentScalar(content, key) {
81
+ if (!content)
82
+ return null;
83
+ const raw = unwrapValue(content[key]);
84
+ if (typeof raw === "string") {
85
+ const text = normalizeWhitespace(raw);
86
+ return text.length > 0 ? text : null;
87
+ }
88
+ if (typeof raw === "number" && Number.isFinite(raw))
89
+ return raw;
90
+ return null;
91
+ }
92
+ function contentStringList(content, key) {
93
+ if (!content)
94
+ return [];
95
+ const raw = unwrapValue(content[key]);
96
+ if (!Array.isArray(raw))
97
+ return [];
98
+ return raw
99
+ .filter((item) => typeof item === "string")
100
+ .map((item) => normalizeWhitespace(item))
101
+ .filter((item) => item.length > 0);
102
+ }
103
+ function truncateText(raw, maxChars) {
104
+ if (!raw)
105
+ return null;
106
+ if (raw.length <= maxChars)
107
+ return raw;
108
+ return `${raw.slice(0, maxChars - 1)}…`;
109
+ }
110
+ function parseNumericSignal(raw) {
111
+ if (raw === null)
112
+ return null;
113
+ if (typeof raw === "number" && Number.isFinite(raw))
114
+ return raw;
115
+ if (typeof raw !== "string")
116
+ return null;
117
+ const m = raw.match(/-?\d+(?:\.\d+)?/);
118
+ if (!m)
119
+ return null;
120
+ const parsed = Number(m[0]);
121
+ return Number.isFinite(parsed) ? parsed : null;
122
+ }
123
+ function avg(values) {
124
+ if (values.length === 0)
125
+ return null;
126
+ const sum = values.reduce((acc, v) => acc + v, 0);
127
+ return Number((sum / values.length).toFixed(3));
128
+ }
129
+ function selectSubmissionNote(notes, forumId) {
130
+ const exact = notes.find((note) => note.id === forumId);
131
+ if (exact)
132
+ return exact;
133
+ const withTitle = notes.find((note) => Boolean(contentString(note.content, "title")));
134
+ if (withTitle)
135
+ return withTitle;
136
+ const submissionByInvitation = notes.find((note) => (note.invitations ?? []).some((inv) => /\/-\//.test(inv) && /submission/i.test(inv)));
137
+ return submissionByInvitation ?? null;
138
+ }
139
+ function selectDecisionNote(notes) {
140
+ const candidates = notes.filter((note) => {
141
+ const decision = contentString(note.content, "decision");
142
+ if (decision)
143
+ return true;
144
+ return (note.invitations ?? []).some((inv) => /decision/i.test(inv));
145
+ });
146
+ if (candidates.length === 0)
147
+ return null;
148
+ candidates.sort((a, b) => (b.mdate ?? b.tcdate ?? b.cdate ?? 0) - (a.mdate ?? a.tcdate ?? a.cdate ?? 0));
149
+ return candidates[0] ?? null;
150
+ }
151
+ function collectReviewSummaries(notes, limit) {
152
+ const reviews = notes
153
+ .filter((note) => {
154
+ const invitation = (note.invitations ?? [])[0] ?? "";
155
+ if (/review/i.test(invitation))
156
+ return true;
157
+ return Boolean(contentString(note.content, "rating")) || Boolean(contentString(note.content, "confidence"));
158
+ })
159
+ .map((note) => {
160
+ const invitation = (note.invitations ?? [])[0] ?? "";
161
+ const rating = parseNumericSignal(contentScalar(note.content, "rating"));
162
+ const confidence = parseNumericSignal(contentScalar(note.content, "confidence"));
163
+ const summary = contentString(note.content, "summary") ??
164
+ contentString(note.content, "main_review") ??
165
+ contentString(note.content, "review") ??
166
+ contentString(note.content, "comment") ??
167
+ contentString(note.content, "strengths") ??
168
+ contentString(note.content, "weaknesses") ??
169
+ contentString(note.content, "limitations") ??
170
+ "";
171
+ return {
172
+ note_id: note.id,
173
+ invitation,
174
+ rating,
175
+ confidence,
176
+ summary: truncateText(summary, SUMMARY_MAX_CHARS) ?? "",
177
+ mdate: note.mdate ?? note.tcdate ?? note.cdate ?? 0,
178
+ };
179
+ });
180
+ const informative = reviews
181
+ .filter((item) => item.rating !== null || item.confidence !== null || item.summary.length > 0)
182
+ .sort((a, b) => {
183
+ const scoreA = (a.rating !== null ? 2 : 0) + (a.confidence !== null ? 1 : 0) + (a.summary.length > 0 ? 1 : 0);
184
+ const scoreB = (b.rating !== null ? 2 : 0) + (b.confidence !== null ? 1 : 0) + (b.summary.length > 0 ? 1 : 0);
185
+ if (scoreA !== scoreB)
186
+ return scoreB - scoreA;
187
+ return b.mdate - a.mdate;
188
+ })
189
+ .slice(0, Math.max(1, Math.min(MAX_REVIEW_LIMIT, limit)));
190
+ return informative.map(({ mdate: _mdate, ...rest }) => rest);
191
+ }
192
+ async function fetchNotes(params) {
193
+ const urlParams = new URLSearchParams(params);
194
+ const url = `${OPENREVIEW_API_BASE}/notes?${urlParams.toString()}`;
195
+ let response;
196
+ try {
197
+ response = await fetch(url, {
198
+ headers: buildHeaders(),
199
+ });
200
+ }
201
+ catch (error) {
202
+ throw new Error(`Failed to reach OpenReview notes endpoint: ${error instanceof Error ? error.message : String(error)}`);
203
+ }
204
+ if (!response.ok) {
205
+ const text = await response.text();
206
+ throw new Error(`OpenReview notes API returned ${response.status}: ${text || response.statusText}`);
207
+ }
208
+ const data = (await response.json());
209
+ return data.notes ?? [];
210
+ }
211
+ async function searchNotes(term, limit) {
212
+ const urlParams = new URLSearchParams({
213
+ term,
214
+ limit: String(limit),
215
+ });
216
+ const url = `${OPENREVIEW_API_BASE}/notes/search?${urlParams.toString()}`;
217
+ let response;
218
+ try {
219
+ response = await fetch(url, {
220
+ headers: buildHeaders(),
221
+ });
222
+ }
223
+ catch (error) {
224
+ throw new Error(`Failed to reach OpenReview search endpoint: ${error instanceof Error ? error.message : String(error)}`);
225
+ }
226
+ if (!response.ok) {
227
+ const text = await response.text();
228
+ throw new Error(`OpenReview search API returned ${response.status}: ${text || response.statusText}`);
229
+ }
230
+ const data = (await response.json());
231
+ return data.notes ?? [];
232
+ }
233
+ function buildHeaders() {
234
+ const token = process.env[OPENREVIEW_TOKEN_ENV]?.trim();
235
+ if (!token) {
236
+ return {
237
+ "User-Agent": "scientify-openreview-lookup/1.0",
238
+ };
239
+ }
240
+ return {
241
+ "User-Agent": "scientify-openreview-lookup/1.0",
242
+ Authorization: `Bearer ${token}`,
243
+ };
244
+ }
245
+ function normalizeExternalSearchTerm(raw) {
246
+ const value = raw.trim();
247
+ if (!value)
248
+ return value;
249
+ const lower = value.toLowerCase();
250
+ if (lower.startsWith("arxiv:")) {
251
+ return value.slice(6).trim();
252
+ }
253
+ if (lower.startsWith("doi:")) {
254
+ return value.slice(4).trim();
255
+ }
256
+ return value;
257
+ }
258
+ async function lookupForum(forumId, includeReviews, reviewLimit) {
259
+ const notes = await fetchNotes({
260
+ forum: forumId,
261
+ limit: String(DEFAULT_FORUM_NOTES_LIMIT),
262
+ });
263
+ if (notes.length === 0)
264
+ return null;
265
+ const submission = selectSubmissionNote(notes, forumId);
266
+ if (!submission)
267
+ return null;
268
+ const content = submission.content ?? {};
269
+ const title = contentString(content, "title");
270
+ const authors = contentStringList(content, "authors");
271
+ const abstractPreview = truncateText(contentString(content, "abstract"), SUMMARY_MAX_CHARS);
272
+ const venue = contentString(content, "venue");
273
+ const venueId = contentString(content, "venueid");
274
+ const pdfUrl = contentString(content, "pdf");
275
+ const decisionNote = selectDecisionNote(notes);
276
+ const decisionValue = decisionNote ? contentString(decisionNote.content, "decision") : null;
277
+ const decisionInvitation = decisionNote ? (decisionNote.invitations ?? [])[0] ?? "unknown" : null;
278
+ const reviewSummaries = includeReviews ? collectReviewSummaries(notes, reviewLimit) : [];
279
+ const ratingValues = reviewSummaries
280
+ .map((review) => review.rating)
281
+ .filter((value) => typeof value === "number" && Number.isFinite(value));
282
+ const confidenceValues = reviewSummaries
283
+ .map((review) => review.confidence)
284
+ .filter((value) => typeof value === "number" && Number.isFinite(value));
285
+ return {
286
+ forum_id: forumId,
287
+ paper_id: submission.id,
288
+ title,
289
+ authors,
290
+ abstract_preview: abstractPreview,
291
+ pdf_url: pdfUrl,
292
+ venue,
293
+ venue_id: venueId,
294
+ decision: decisionNote && decisionValue
295
+ ? {
296
+ value: decisionValue,
297
+ note_id: decisionNote.id,
298
+ invitation: decisionInvitation ?? "unknown",
299
+ }
300
+ : null,
301
+ review_stats: {
302
+ total_reviews: reviewSummaries.length,
303
+ rated_reviews: ratingValues.length,
304
+ confidence_reviews: confidenceValues.length,
305
+ avg_rating: avg(ratingValues),
306
+ avg_confidence: avg(confidenceValues),
307
+ },
308
+ review_summaries: reviewSummaries,
309
+ links: {
310
+ forum: `${OPENREVIEW_WEB_BASE}/forum?id=${forumId}`,
311
+ note: `${OPENREVIEW_WEB_BASE}/forum?id=${submission.id}`,
312
+ },
313
+ };
314
+ }
315
+ function dedupeForums(notes, maxResults) {
316
+ const seen = new Set();
317
+ for (const note of notes) {
318
+ const forumId = (note.forum ?? note.id ?? "").trim();
319
+ if (!forumId)
320
+ continue;
321
+ if (seen.has(forumId))
322
+ continue;
323
+ // Keep likely paper/submission entries from mixed search results.
324
+ const hasTitle = Boolean(contentString(note.content, "title"));
325
+ const hasVenue = Boolean(contentString(note.content, "venue"));
326
+ const invitation = (note.invitations ?? [])[0] ?? "";
327
+ const likelySubmission = note.id === forumId || /submission/i.test(invitation) || (hasTitle && hasVenue);
328
+ if (!likelySubmission)
329
+ continue;
330
+ seen.add(forumId);
331
+ if (seen.size >= maxResults)
332
+ break;
333
+ }
334
+ return [...seen];
335
+ }
336
+ export function createOpenReviewLookupTool() {
337
+ return {
338
+ label: "OpenReview Lookup",
339
+ name: "openreview_lookup",
340
+ description: "Lookup OpenReview evidence by title or id. Returns forum-level decision, review rating/confidence aggregates, and review summaries for traceable research assessment.",
341
+ parameters: OpenReviewLookupSchema,
342
+ execute: async (_toolCallId, rawArgs) => {
343
+ const params = (rawArgs ?? {});
344
+ const query = readStringParam(params, "query");
345
+ const paperId = readStringParam(params, "paper_id");
346
+ const forumId = readStringParam(params, "forum_id");
347
+ const externalId = readStringParam(params, "external_id");
348
+ const maxResults = readNumberParam(params, "max_results", DEFAULT_MAX_RESULTS, MAX_RESULTS_LIMIT);
349
+ const includeReviews = readBooleanParam(params, "include_reviews", true);
350
+ const reviewLimit = readNumberParam(params, "review_limit", DEFAULT_REVIEW_LIMIT, MAX_REVIEW_LIMIT);
351
+ if (!query && !paperId && !forumId && !externalId) {
352
+ return Result.err("invalid_params", "Provide at least one of: `query`, `paper_id`, `forum_id`, `external_id`.");
353
+ }
354
+ try {
355
+ const targets = [];
356
+ let mode = "query";
357
+ if (forumId) {
358
+ mode = "forum_id";
359
+ targets.push(forumId);
360
+ }
361
+ else if (paperId) {
362
+ mode = "paper_id";
363
+ const notes = await fetchNotes({ id: paperId, limit: "1" });
364
+ const note = notes[0];
365
+ if (!note) {
366
+ return Result.ok({
367
+ mode,
368
+ input: paperId,
369
+ returned: 0,
370
+ results: [],
371
+ warning: "No note found for provided paper_id.",
372
+ });
373
+ }
374
+ targets.push((note.forum ?? note.id).trim());
375
+ }
376
+ else if (externalId) {
377
+ mode = "external_id";
378
+ const term = normalizeExternalSearchTerm(externalId);
379
+ const notes = await searchNotes(term, maxResults * SEARCH_FANOUT);
380
+ targets.push(...dedupeForums(notes, maxResults));
381
+ }
382
+ else if (query) {
383
+ mode = "query";
384
+ const notes = await searchNotes(query, maxResults * SEARCH_FANOUT);
385
+ targets.push(...dedupeForums(notes, maxResults));
386
+ }
387
+ const uniqueTargets = [...new Set(targets.map((item) => item.trim()).filter((item) => item.length > 0))].slice(0, maxResults);
388
+ const results = [];
389
+ for (const targetForum of uniqueTargets) {
390
+ const forum = await lookupForum(targetForum, includeReviews, reviewLimit);
391
+ if (!forum)
392
+ continue;
393
+ results.push(forum);
394
+ }
395
+ return Result.ok({
396
+ mode,
397
+ input: forumId ?? paperId ?? externalId ?? query,
398
+ returned: results.length,
399
+ results,
400
+ hints: results.length === 0
401
+ ? [
402
+ "Try a more specific paper title or pass `forum_id` / `paper_id` directly.",
403
+ "For broad queries, OpenReview may return mixed notes; use exact title keywords to improve precision.",
404
+ ]
405
+ : undefined,
406
+ });
407
+ }
408
+ catch (error) {
409
+ return Result.err("runtime_error", `openreview_lookup failed: ${error instanceof Error ? error.message : String(error)}`);
410
+ }
411
+ },
412
+ };
413
+ }
414
+ //# sourceMappingURL=openreview-lookup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openreview-lookup.js","sourceRoot":"","sources":["../../../src/tools/openreview-lookup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scientify-cron.d.ts","sourceRoot":"","sources":["../../../src/tools/scientify-cron.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASvG,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;EA8ElC,CAAC;AAEH,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAyIF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;2BAWzB,MAAM,WAAW,OAAO;;;;;;;;EAwDxD"}
1
+ {"version":3,"file":"scientify-cron.d.ts","sourceRoot":"","sources":["../../../src/tools/scientify-cron.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6C,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AASvG,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;EA8ElC,CAAC;AAEH,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AA2KF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;2BAWzB,MAAM,WAAW,OAAO;;;;;;;;EAwDxD"}
@@ -49,6 +49,8 @@ export const ScientifyCronToolSchema = Type.Object({
49
49
  description: "Specific job id to remove (only used when action=remove).",
50
50
  })),
51
51
  });
52
+ const RESEARCH_MESSAGE_HINT_RE = /\b(research|literature|paper|papers|survey|arxiv|openalex|citation|digest|summary|track|tracking|monitor|update|incremental|report|plan)\b|文献|论文|调研|研究|综述|检索|引用|增量|更新|跟踪|追踪|推送|简报|规划/u;
53
+ const RESEARCH_WORKFLOW_VERB_RE = /\b(search|survey|analy[sz]e|filter|track|monitor|update|summari[sz]e|report|plan)\b|检索|调研|筛选|跟踪|追踪|更新|总结|汇报|规划/u;
52
54
  function readStringParam(params, key) {
53
55
  const value = params[key];
54
56
  if (value === undefined || value === null)
@@ -115,15 +117,42 @@ function getResultError(result) {
115
117
  const maybe = result.error?.trim();
116
118
  return maybe && maybe.length > 0 ? maybe : undefined;
117
119
  }
120
+ function shouldPromoteMessageToTopic(message) {
121
+ const text = message.trim();
122
+ if (!text)
123
+ return false;
124
+ if (!RESEARCH_MESSAGE_HINT_RE.test(text))
125
+ return false;
126
+ if (RESEARCH_WORKFLOW_VERB_RE.test(text))
127
+ return true;
128
+ return text.length >= 24;
129
+ }
130
+ function deriveTopicFromResearchMessage(message) {
131
+ let text = message.trim();
132
+ text = text.replace(/^scheduled reminder task\.?\s*/i, "");
133
+ text = text.replace(/^please send this reminder now:\s*/i, "");
134
+ text = text.replace(/^["']|["']$/g, "");
135
+ text = text.replace(/^这是一个.{0,24}提醒[::,,\s]*/u, "");
136
+ text = text.replace(/^这是一条.{0,24}提醒[::,,\s]*/u, "");
137
+ text = text.replace(/^提醒(?:我|你)?(?:一下|一声)?[::,,\s]*/u, "");
138
+ text = text.replace(/^请(?:你)?(?:检查|查看|关注)\s*/u, "");
139
+ text = text.replace(/[。.!]+$/u, "");
140
+ const normalized = text.trim();
141
+ return normalized.length > 0 ? normalized : message.trim();
142
+ }
118
143
  function buildSubscribeArgs(params) {
119
144
  const parts = [];
120
145
  const schedule = readStringParam(params, "schedule") ?? "daily 09:00 Asia/Shanghai";
121
146
  parts.push(schedule);
122
- const topic = readStringParam(params, "topic");
147
+ let topic = readStringParam(params, "topic");
148
+ let message = readStringParam(params, "message");
149
+ if (!topic && message && shouldPromoteMessageToTopic(message)) {
150
+ topic = deriveTopicFromResearchMessage(message);
151
+ message = undefined;
152
+ }
123
153
  if (topic) {
124
154
  parts.push("--topic", quoteArg(topic));
125
155
  }
126
- const message = readStringParam(params, "message");
127
156
  if (message) {
128
157
  parts.push("--message", quoteArg(message));
129
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scientify-cron.js","sourceRoot":"","sources":["../../../src/tools/scientify-cron.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scientify-cron.js","sourceRoot":"","sources":["../../../src/tools/scientify-cron.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scientify-literature-state.d.ts","sourceRoot":"","sources":["../../../src/tools/scientify-literature-state.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuD7C,CAAC;AAsGH,wBAAgB,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAOjB,MAAM,WAAW,OAAO;;;;;;;;EAkKxD"}
1
+ {"version":3,"file":"scientify-literature-state.d.ts","sourceRoot":"","sources":["../../../src/tools/scientify-literature-state.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwD7C,CAAC;AAsGH,wBAAgB,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAOjB,MAAM,WAAW,OAAO;;;;;;;;EA4KxD"}
@@ -25,7 +25,7 @@ const PaperSchema = Type.Object({
25
25
  });
26
26
  export const ScientifyLiteratureStateToolSchema = Type.Object({
27
27
  action: Type.String({
28
- description: 'Action: "prepare" | "record" | "feedback" | "status".',
28
+ description: 'Action: "prepare" | "record" | "feedback" | "status". `status` also returns `recent_papers` for follow-up traceability.',
29
29
  }),
30
30
  scope: Type.String({
31
31
  description: "Scope key used to isolate user/channel state.",
@@ -299,6 +299,16 @@ export function createScientifyLiteratureStateTool() {
299
299
  total_runs: status.totalRuns,
300
300
  last_status: status.lastStatus ?? null,
301
301
  last_pushed_at_ms: status.lastPushedAtMs ?? null,
302
+ recent_papers: status.recentPapers.map((paper) => ({
303
+ id: paper.id,
304
+ title: paper.title ?? null,
305
+ url: paper.url ?? null,
306
+ last_score: paper.lastScore ?? null,
307
+ last_reason: paper.lastReason ?? null,
308
+ first_pushed_at_ms: paper.firstPushedAtMs,
309
+ last_pushed_at_ms: paper.lastPushedAtMs,
310
+ push_count: paper.pushCount,
311
+ })),
302
312
  });
303
313
  }
304
314
  return Result.err("invalid_params", 'Invalid action. Use one of: "prepare", "record", "feedback", "status".');