scientify 1.12.0 → 1.12.2

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 (61) hide show
  1. package/README.md +3 -1
  2. package/README.zh.md +3 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +2 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/cli/research.d.ts +1 -1
  7. package/dist/src/cli/research.d.ts.map +1 -1
  8. package/dist/src/cli/research.js +123 -227
  9. package/dist/src/cli/research.js.map +1 -1
  10. package/dist/src/commands/metabolism-status.d.ts +2 -2
  11. package/dist/src/commands/metabolism-status.d.ts.map +1 -1
  12. package/dist/src/commands/metabolism-status.js +75 -72
  13. package/dist/src/commands/metabolism-status.js.map +1 -1
  14. package/dist/src/commands.d.ts.map +1 -1
  15. package/dist/src/commands.js +55 -0
  16. package/dist/src/commands.js.map +1 -1
  17. package/dist/src/hooks/research-mode.d.ts +1 -1
  18. package/dist/src/hooks/research-mode.d.ts.map +1 -1
  19. package/dist/src/hooks/research-mode.js +67 -24
  20. package/dist/src/hooks/research-mode.js.map +1 -1
  21. package/dist/src/hooks/scientify-signature.d.ts.map +1 -1
  22. package/dist/src/hooks/scientify-signature.js +5 -2
  23. package/dist/src/hooks/scientify-signature.js.map +1 -1
  24. package/dist/src/knowledge-state/render.d.ts +9 -1
  25. package/dist/src/knowledge-state/render.d.ts.map +1 -1
  26. package/dist/src/knowledge-state/render.js +132 -33
  27. package/dist/src/knowledge-state/render.js.map +1 -1
  28. package/dist/src/knowledge-state/store.d.ts.map +1 -1
  29. package/dist/src/knowledge-state/store.js +545 -38
  30. package/dist/src/knowledge-state/store.js.map +1 -1
  31. package/dist/src/knowledge-state/types.d.ts +31 -0
  32. package/dist/src/knowledge-state/types.d.ts.map +1 -1
  33. package/dist/src/literature/subscription-state.d.ts +2 -0
  34. package/dist/src/literature/subscription-state.d.ts.map +1 -1
  35. package/dist/src/literature/subscription-state.js +586 -7
  36. package/dist/src/literature/subscription-state.js.map +1 -1
  37. package/dist/src/research-subscriptions/constants.d.ts +1 -1
  38. package/dist/src/research-subscriptions/constants.js +1 -1
  39. package/dist/src/research-subscriptions/parse.d.ts.map +1 -1
  40. package/dist/src/research-subscriptions/parse.js +10 -0
  41. package/dist/src/research-subscriptions/parse.js.map +1 -1
  42. package/dist/src/research-subscriptions/prompt.d.ts +1 -1
  43. package/dist/src/research-subscriptions/prompt.d.ts.map +1 -1
  44. package/dist/src/research-subscriptions/prompt.js +144 -195
  45. package/dist/src/research-subscriptions/prompt.js.map +1 -1
  46. package/dist/src/research-subscriptions/types.d.ts +1 -0
  47. package/dist/src/research-subscriptions/types.d.ts.map +1 -1
  48. package/dist/src/templates/bootstrap.d.ts.map +1 -1
  49. package/dist/src/templates/bootstrap.js +19 -32
  50. package/dist/src/templates/bootstrap.js.map +1 -1
  51. package/dist/src/tools/scientify-cron.d.ts +6 -2
  52. package/dist/src/tools/scientify-cron.d.ts.map +1 -1
  53. package/dist/src/tools/scientify-cron.js +396 -12
  54. package/dist/src/tools/scientify-cron.js.map +1 -1
  55. package/dist/src/tools/scientify-literature-state.d.ts +12 -0
  56. package/dist/src/tools/scientify-literature-state.d.ts.map +1 -1
  57. package/dist/src/tools/scientify-literature-state.js +159 -45
  58. package/dist/src/tools/scientify-literature-state.js.map +1 -1
  59. package/openclaw.plugin.json +2 -4
  60. package/package.json +1 -1
  61. package/skills/research-subscription/SKILL.md +23 -0
@@ -1,6 +1,6 @@
1
1
  import type { PluginLogger, PluginRuntime } from "openclaw";
2
2
  export declare const ScientifyCronToolSchema: import("@sinclair/typebox").TObject<{
3
- action: import("@sinclair/typebox").TString;
3
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
4
  scope: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
5
  schedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
6
  topic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -19,6 +19,8 @@ export declare const ScientifyCronToolSchema: import("@sinclair/typebox").TObjec
19
19
  channel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
20
  to: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
21
  no_deliver: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
22
+ metadata_only: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
23
+ run_now: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
22
24
  job_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
25
  }>;
24
26
  type CronToolDeps = {
@@ -30,7 +32,7 @@ export declare function createScientifyCronTool(deps: CronToolDeps): {
30
32
  name: string;
31
33
  description: string;
32
34
  parameters: import("@sinclair/typebox").TObject<{
33
- action: import("@sinclair/typebox").TString;
35
+ action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
34
36
  scope: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
35
37
  schedule: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
36
38
  topic: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -49,6 +51,8 @@ export declare function createScientifyCronTool(deps: CronToolDeps): {
49
51
  channel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
50
52
  to: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
51
53
  no_deliver: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
54
+ metadata_only: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
55
+ run_now: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
52
56
  job_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
53
57
  }>;
54
58
  execute: (_toolCallId: string, rawArgs: unknown) => Promise<{
@@ -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;;;;;;;;;;;;;;;;;;;;;EAmFlC,CAAC;AAEH,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAgLF,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;AAevG,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;EAiGlC,CAAC;AAEH,KAAK,YAAY,GAAG;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAobF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAWzB,MAAM,WAAW,OAAO;;;;;;;;EAuNxD"}
@@ -1,11 +1,13 @@
1
1
  import { Type } from "@sinclair/typebox";
2
- import { normalizeDeliveryChannelOverride } from "../research-subscriptions/delivery.js";
2
+ import { buildStateScopeKey, normalizeDeliveryChannelOverride, resolveDeliveryTarget, } from "../research-subscriptions/delivery.js";
3
+ import { parseSubscribeOptions } from "../research-subscriptions/parse.js";
3
4
  import { createResearchSubscribeHandler, createResearchSubscriptionsHandler, createResearchUnsubscribeHandler, } from "../research-subscriptions.js";
5
+ import { getIncrementalStateStatus, recordIncrementalPush } from "../literature/subscription-state.js";
4
6
  import { Result } from "./result.js";
5
7
  export const ScientifyCronToolSchema = Type.Object({
6
- action: Type.String({
7
- description: 'Action: "upsert" | "list" | "remove".',
8
- }),
8
+ action: Type.Optional(Type.String({
9
+ description: 'Action: "upsert" | "list" | "remove". When omitted, tool infers action from parameters.',
10
+ })),
9
11
  scope: Type.Optional(Type.String({
10
12
  description: "Scope key for grouping jobs (e.g. user ID or thread ID). Default: global.",
11
13
  })),
@@ -48,6 +50,12 @@ export const ScientifyCronToolSchema = Type.Object({
48
50
  no_deliver: Type.Optional(Type.Boolean({
49
51
  description: "If true, run in background without push delivery.",
50
52
  })),
53
+ metadata_only: Type.Optional(Type.Boolean({
54
+ description: "If true, allow metadata-only reading (skip full-text-first strict default). Use only when user explicitly requests it.",
55
+ })),
56
+ run_now: Type.Optional(Type.Boolean({
57
+ description: "If true (upsert only), trigger one immediate run after job creation/update; for research tasks, also return a status_json snapshot.",
58
+ })),
51
59
  job_id: Type.Optional(Type.String({
52
60
  description: "Specific job id to remove (only used when action=remove).",
53
61
  })),
@@ -61,6 +69,78 @@ function readStringParam(params, key) {
61
69
  const str = String(value).trim();
62
70
  return str.length > 0 ? str : undefined;
63
71
  }
72
+ function sanitizeProjectId(raw) {
73
+ const trimmed = raw.trim();
74
+ if (/^[A-Za-z0-9_-]+$/.test(trimmed))
75
+ return trimmed;
76
+ const slug = trimmed
77
+ .toLowerCase()
78
+ .replace(/[^a-z0-9_-]+/g, "-")
79
+ .replace(/-+/g, "-")
80
+ .replace(/^-|-$/g, "");
81
+ return slug || "project";
82
+ }
83
+ function normalizeScheduleInput(raw, runNow) {
84
+ if (!raw)
85
+ return undefined;
86
+ const trimmed = raw.trim();
87
+ if (!trimmed)
88
+ return undefined;
89
+ const lower = trimmed.toLowerCase();
90
+ if (["now", "immediate", "immediately", "right now", "asap", "立即", "马上", "立刻"].includes(lower)) {
91
+ // run_now already triggers immediate execution; keep a valid persistent schedule.
92
+ return runNow ? "daily 09:00 Asia/Shanghai" : "at 2m";
93
+ }
94
+ if (/^\d+[smhdw]$/i.test(trimmed)) {
95
+ return `at ${trimmed}`;
96
+ }
97
+ if (/^every\s*hour$/i.test(trimmed) || /^每小时$/u.test(trimmed)) {
98
+ return "every 1h";
99
+ }
100
+ // Guard against `at <past-time>` generated by model/tool callers.
101
+ if (lower.startsWith("at ")) {
102
+ const when = trimmed.slice(3).trim();
103
+ if (when) {
104
+ const atMs = Date.parse(when);
105
+ if (!Number.isNaN(atMs) && atMs <= Date.now()) {
106
+ return runNow ? "daily 09:00 Asia/Shanghai" : "at 2m";
107
+ }
108
+ }
109
+ }
110
+ return trimmed;
111
+ }
112
+ function inferAction(params) {
113
+ const raw = readStringParam(params, "action")?.toLowerCase();
114
+ if (raw) {
115
+ if (["upsert", "create", "add", "set", "update", "start", "schedule", "new", "insert"].includes(raw)) {
116
+ return "upsert";
117
+ }
118
+ if (["list", "show", "ls", "status"].includes(raw)) {
119
+ return "list";
120
+ }
121
+ if (["remove", "delete", "cancel", "rm", "unsubscribe"].includes(raw)) {
122
+ return "remove";
123
+ }
124
+ }
125
+ const hasJobId = Boolean(readStringParam(params, "job_id"));
126
+ const hasUpsertSignals = Boolean(readStringParam(params, "schedule")) ||
127
+ Boolean(readStringParam(params, "topic")) ||
128
+ Boolean(readStringParam(params, "message")) ||
129
+ Boolean(readStringParam(params, "project")) ||
130
+ readBooleanParam(params, "run_now") ||
131
+ readBooleanParam(params, "no_deliver") ||
132
+ readBooleanParam(params, "metadata_only") ||
133
+ readNumberParam(params, "max_papers") !== undefined ||
134
+ readNumberParam(params, "recency_days") !== undefined ||
135
+ readNumberParam(params, "candidate_pool") !== undefined ||
136
+ Boolean(readStringParam(params, "channel")) ||
137
+ Boolean(readStringParam(params, "to"));
138
+ if (hasUpsertSignals)
139
+ return "upsert";
140
+ if (hasJobId)
141
+ return "remove";
142
+ return "list";
143
+ }
64
144
  function readBooleanParam(params, key) {
65
145
  return params[key] === true;
66
146
  }
@@ -103,6 +183,15 @@ function normalizeScope(raw) {
103
183
  .replace(/^-|-$/g, "");
104
184
  return base || "global";
105
185
  }
186
+ function parseJobIdFromResultText(text) {
187
+ const fenced = text.match(/Job ID:\s*`([^`]+)`/i);
188
+ if (fenced?.[1])
189
+ return fenced[1].trim();
190
+ const plain = text.match(/Job ID:\s*([a-z0-9-]{8,})/i);
191
+ if (plain?.[1])
192
+ return plain[1].trim();
193
+ return undefined;
194
+ }
106
195
  function buildToolContext(scope, args, commandBody) {
107
196
  return {
108
197
  senderId: `tool_${scope}`,
@@ -143,22 +232,179 @@ function deriveTopicFromResearchMessage(message) {
143
232
  const normalized = text.trim();
144
233
  return normalized.length > 0 ? normalized : message.trim();
145
234
  }
146
- function buildSubscribeArgs(params) {
147
- const parts = [];
148
- const schedule = readStringParam(params, "schedule") ?? "daily 09:00 Asia/Shanghai";
149
- parts.push(schedule);
235
+ function resolveTopicAndMessage(params) {
150
236
  let topic = readStringParam(params, "topic");
151
237
  let message = readStringParam(params, "message");
152
238
  if (!topic && message && shouldPromoteMessageToTopic(message)) {
153
239
  topic = deriveTopicFromResearchMessage(message);
154
240
  message = undefined;
155
241
  }
242
+ return { topic, message };
243
+ }
244
+ function parseIncrementalScopeFromResultText(text) {
245
+ const fenced = text.match(/Incremental Scope:\s*`([^`]+)`/i);
246
+ if (fenced?.[1])
247
+ return fenced[1].trim();
248
+ const plain = text.match(/Incremental Scope:\s*([^\n]+)/i);
249
+ if (plain?.[1])
250
+ return plain[1].trim();
251
+ return undefined;
252
+ }
253
+ function latestRunId(status) {
254
+ return status?.recentChangeStats[0]?.runId;
255
+ }
256
+ function lastRunAtMs(status) {
257
+ return status?.knowledgeStateSummary?.lastRunAtMs ?? 0;
258
+ }
259
+ function lastPushedAtMs(status) {
260
+ return status?.lastPushedAtMs ?? 0;
261
+ }
262
+ function hasFreshRun(before, after) {
263
+ const beforeRunId = latestRunId(before);
264
+ const afterRunId = latestRunId(after);
265
+ if (!before) {
266
+ return after.totalRuns > 0 || Boolean(afterRunId) || lastRunAtMs(after) > 0 || lastPushedAtMs(after) > 0;
267
+ }
268
+ if (after.totalRuns > before.totalRuns)
269
+ return true;
270
+ if (afterRunId && beforeRunId && afterRunId !== beforeRunId)
271
+ return true;
272
+ if (!beforeRunId && afterRunId)
273
+ return true;
274
+ if (lastRunAtMs(after) > lastRunAtMs(before))
275
+ return true;
276
+ if (lastPushedAtMs(after) > lastPushedAtMs(before))
277
+ return true;
278
+ return false;
279
+ }
280
+ function buildFallbackRunId(jobId) {
281
+ const ts = new Date().toISOString().replace(/[-:.]/g, "").replace("T", "t").replace("Z", "z");
282
+ return `cron-${jobId}-${ts}-autofallback`;
283
+ }
284
+ function sleep(ms) {
285
+ return new Promise((resolve) => setTimeout(resolve, ms));
286
+ }
287
+ function parseCronRunMarker(raw) {
288
+ const text = (raw ?? "").trim();
289
+ if (!text)
290
+ return undefined;
291
+ try {
292
+ const parsed = JSON.parse(text);
293
+ return {
294
+ ok: typeof parsed.ok === "boolean" ? parsed.ok : undefined,
295
+ ran: typeof parsed.ran === "boolean" ? parsed.ran : undefined,
296
+ reason: typeof parsed.reason === "string" ? parsed.reason : undefined,
297
+ };
298
+ }
299
+ catch {
300
+ return undefined;
301
+ }
302
+ }
303
+ function serializeRunStatusSnapshot(status) {
304
+ const projectRecentPapers = status.knowledgeStateSummary?.recentPapers ?? [];
305
+ const globalById = new Map(status.recentPapers.map((paper) => [paper.id, paper]));
306
+ return {
307
+ scope: status.scope,
308
+ topic: status.topic,
309
+ topic_key: status.topicKey,
310
+ known_paper_count: status.knownPaperCount,
311
+ total_runs: status.totalRuns,
312
+ last_status: status.lastStatus ?? null,
313
+ last_pushed_at_ms: status.lastPushedAtMs ?? null,
314
+ latest_run_id: status.recentChangeStats[0]?.runId ?? null,
315
+ knowledge_state_summary: status.knowledgeStateSummary
316
+ ? {
317
+ project_id: status.knowledgeStateSummary.projectId,
318
+ stream_key: status.knowledgeStateSummary.streamKey,
319
+ run_profile: status.knowledgeStateSummary.runProfile,
320
+ total_runs: status.knowledgeStateSummary.totalRuns,
321
+ total_hypotheses: status.knowledgeStateSummary.totalHypotheses,
322
+ knowledge_topics_count: status.knowledgeStateSummary.knowledgeTopicsCount,
323
+ paper_notes_count: status.knowledgeStateSummary.paperNotesCount,
324
+ trigger_state: {
325
+ consecutive_new_revise_days: status.knowledgeStateSummary.triggerState.consecutiveNewReviseDays,
326
+ bridge_count_7d: status.knowledgeStateSummary.triggerState.bridgeCount7d,
327
+ unread_core_backlog: status.knowledgeStateSummary.triggerState.unreadCoreBacklog,
328
+ last_updated_at_ms: status.knowledgeStateSummary.triggerState.lastUpdatedAtMs,
329
+ },
330
+ quality_gate: {
331
+ passed: status.knowledgeStateSummary.qualityGate.passed,
332
+ full_text_coverage_pct: status.knowledgeStateSummary.qualityGate.fullTextCoveragePct,
333
+ evidence_binding_rate_pct: status.knowledgeStateSummary.qualityGate.evidenceBindingRatePct,
334
+ citation_error_rate_pct: status.knowledgeStateSummary.qualityGate.citationErrorRatePct,
335
+ reasons: status.knowledgeStateSummary.qualityGate.reasons,
336
+ },
337
+ hypothesis_gate: {
338
+ accepted: status.knowledgeStateSummary.hypothesisGate.accepted,
339
+ rejected: status.knowledgeStateSummary.hypothesisGate.rejected,
340
+ rejection_reasons: status.knowledgeStateSummary.hypothesisGate.rejectionReasons,
341
+ },
342
+ last_reflection_tasks: status.knowledgeStateSummary.lastReflectionTasks,
343
+ }
344
+ : null,
345
+ recent_change_stats: status.recentChangeStats.map((item) => ({
346
+ day: item.day,
347
+ run_id: item.runId,
348
+ new_count: item.newCount,
349
+ confirm_count: item.confirmCount,
350
+ revise_count: item.reviseCount,
351
+ bridge_count: item.bridgeCount,
352
+ })),
353
+ recent_papers: (projectRecentPapers.length > 0 ? projectRecentPapers : status.recentPapers).map((paper) => {
354
+ const paperId = typeof paper.id === "string" ? paper.id : "";
355
+ const fromGlobal = paperId ? globalById.get(paperId) : undefined;
356
+ return {
357
+ id: paperId || null,
358
+ title: paper.title ?? null,
359
+ url: paper.url ?? null,
360
+ last_score: "lastScore" in paper && typeof paper.lastScore === "number"
361
+ ? paper.lastScore
362
+ : "score" in paper && typeof paper.score === "number"
363
+ ? paper.score
364
+ : fromGlobal?.lastScore ?? null,
365
+ last_reason: "lastReason" in paper && typeof paper.lastReason === "string"
366
+ ? paper.lastReason
367
+ : "reason" in paper && typeof paper.reason === "string"
368
+ ? paper.reason
369
+ : fromGlobal?.lastReason ?? null,
370
+ first_pushed_at_ms: "firstPushedAtMs" in paper && typeof paper.firstPushedAtMs === "number"
371
+ ? paper.firstPushedAtMs
372
+ : fromGlobal?.firstPushedAtMs ?? null,
373
+ last_pushed_at_ms: "lastPushedAtMs" in paper && typeof paper.lastPushedAtMs === "number"
374
+ ? paper.lastPushedAtMs
375
+ : fromGlobal?.lastPushedAtMs ?? null,
376
+ push_count: "pushCount" in paper && typeof paper.pushCount === "number"
377
+ ? paper.pushCount
378
+ : fromGlobal?.pushCount ?? null,
379
+ };
380
+ }),
381
+ global_recent_papers: status.recentPapers.map((paper) => ({
382
+ id: paper.id,
383
+ title: paper.title ?? null,
384
+ url: paper.url ?? null,
385
+ last_score: paper.lastScore ?? null,
386
+ last_reason: paper.lastReason ?? null,
387
+ first_pushed_at_ms: paper.firstPushedAtMs,
388
+ last_pushed_at_ms: paper.lastPushedAtMs,
389
+ push_count: paper.pushCount,
390
+ })),
391
+ knowledge_state_missing_reason: status.knowledgeStateMissingReason ?? null,
392
+ };
393
+ }
394
+ function buildSubscribeArgs(params) {
395
+ const parts = [];
396
+ const schedule = normalizeScheduleInput(readStringParam(params, "schedule"), readBooleanParam(params, "run_now")) ??
397
+ "daily 09:00 Asia/Shanghai";
398
+ parts.push(schedule);
399
+ const resolved = resolveTopicAndMessage(params);
400
+ const topic = resolved.topic;
401
+ const message = resolved.message;
156
402
  if (topic) {
157
403
  parts.push("--topic", quoteArg(topic));
158
404
  }
159
405
  const project = readStringParam(params, "project");
160
406
  if (project) {
161
- parts.push("--project", quoteArg(project));
407
+ parts.push("--project", quoteArg(sanitizeProjectId(project)));
162
408
  }
163
409
  if (message) {
164
410
  parts.push("--message", quoteArg(message));
@@ -200,6 +446,9 @@ function buildSubscribeArgs(params) {
200
446
  if (readBooleanParam(params, "no_deliver")) {
201
447
  parts.push("--no-deliver");
202
448
  }
449
+ if (readBooleanParam(params, "metadata_only")) {
450
+ parts.push("--metadata-only");
451
+ }
203
452
  return parts.join(" ");
204
453
  }
205
454
  export function createScientifyCronTool(deps) {
@@ -213,19 +462,154 @@ export function createScientifyCronTool(deps) {
213
462
  parameters: ScientifyCronToolSchema,
214
463
  execute: async (_toolCallId, rawArgs) => {
215
464
  const params = rawArgs;
216
- const action = (readStringParam(params, "action") ?? "").toLowerCase();
465
+ const action = inferAction(params);
466
+ if (!action) {
467
+ return Result.err("invalid_params", 'Unable to infer action. Use one of: action="upsert" | "list" | "remove".');
468
+ }
217
469
  const scope = normalizeScope(readStringParam(params, "scope"));
218
470
  try {
219
471
  if (action === "upsert") {
220
- const args = buildSubscribeArgs(params);
472
+ // In tool context, delivery target may be unavailable unless caller explicitly sets channel/to.
473
+ // Default to no-deliver when delivery is unspecified to avoid hard failure on creation.
474
+ const hasDeliveryHints = Boolean(readStringParam(params, "channel")) || Boolean(readStringParam(params, "to"));
475
+ const upsertParams = readBooleanParam(params, "no_deliver") || hasDeliveryHints ? params : { ...params, no_deliver: true };
476
+ const args = buildSubscribeArgs(upsertParams);
221
477
  const ctx = buildToolContext(scope, args, `/research-subscribe ${args}`);
478
+ let expectedStateScopeKey;
479
+ try {
480
+ const parsed = parseSubscribeOptions(args);
481
+ if (!("error" in parsed)) {
482
+ const delivery = resolveDeliveryTarget(ctx, parsed);
483
+ if (!("error" in delivery)) {
484
+ expectedStateScopeKey = buildStateScopeKey(ctx, delivery);
485
+ }
486
+ }
487
+ }
488
+ catch {
489
+ // keep best-effort behavior; fallback to parsed text scope or caller scope
490
+ }
222
491
  const res = await subscribe(ctx);
223
492
  const err = getResultError(res);
224
493
  if (err) {
225
494
  return Result.err("operation_failed", err);
226
495
  }
227
496
  const text = getResultText(res);
228
- return Result.ok({ action, scope, result: text });
497
+ const jobId = parseJobIdFromResultText(text);
498
+ const resolved = resolveTopicAndMessage(upsertParams);
499
+ const incrementalScope = parseIncrementalScopeFromResultText(text);
500
+ const project = readStringParam(upsertParams, "project");
501
+ const runNow = readBooleanParam(upsertParams, "run_now");
502
+ if (runNow && jobId) {
503
+ const statusScope = expectedStateScopeKey ?? incrementalScope ?? scope;
504
+ const beforeStatus = resolved.topic
505
+ ? await getIncrementalStateStatus({
506
+ scope: statusScope,
507
+ topic: resolved.topic,
508
+ ...(project ? { projectId: project } : {}),
509
+ }).catch(() => undefined)
510
+ : undefined;
511
+ const runArgsPrimary = [
512
+ "openclaw",
513
+ "cron",
514
+ "run",
515
+ jobId,
516
+ "--expect-final",
517
+ "--timeout",
518
+ "900000",
519
+ ];
520
+ let runRes = await deps.runtime.system.runCommandWithTimeout(runArgsPrimary, {
521
+ timeoutMs: 920_000,
522
+ });
523
+ if (runRes.code !== 0 &&
524
+ /unknown option '--expect-final'|unknown option \"--expect-final\"|unknown option\s+--expect-final/i.test(runRes.stderr || "")) {
525
+ // Backward compatibility for older OpenClaw versions.
526
+ runRes = await deps.runtime.system.runCommandWithTimeout(["openclaw", "cron", "run", jobId], { timeoutMs: 600_000 });
527
+ }
528
+ let runAlreadyInProgress = false;
529
+ if (runRes.code !== 0) {
530
+ const marker = parseCronRunMarker(runRes.stdout) ?? parseCronRunMarker(runRes.stderr);
531
+ if (marker?.ok === true && marker?.ran === false && marker?.reason === "already-running") {
532
+ runAlreadyInProgress = true;
533
+ }
534
+ else {
535
+ return Result.err("operation_failed", runRes.stderr || runRes.stdout || `cron run failed for job ${jobId}`);
536
+ }
537
+ }
538
+ let statusSnapshot;
539
+ if (resolved.topic) {
540
+ try {
541
+ let status;
542
+ const deadline = Date.now() + (runAlreadyInProgress ? 300_000 : 120_000);
543
+ while (Date.now() <= deadline) {
544
+ const fetched = await getIncrementalStateStatus({
545
+ scope: statusScope,
546
+ topic: resolved.topic,
547
+ ...(project ? { projectId: project } : {}),
548
+ }).catch(() => undefined);
549
+ if (fetched && hasFreshRun(beforeStatus, fetched)) {
550
+ status = fetched;
551
+ break;
552
+ }
553
+ await sleep(1_000);
554
+ }
555
+ if (!status) {
556
+ const fallbackError = "run_now completed but no new persisted research run was detected. Auto-persisted fallback error run.";
557
+ try {
558
+ const persisted = await recordIncrementalPush({
559
+ scope: statusScope,
560
+ topic: resolved.topic,
561
+ ...(project ? { projectId: project } : {}),
562
+ status: "degraded_quality",
563
+ runId: buildFallbackRunId(jobId),
564
+ note: fallbackError,
565
+ papers: [],
566
+ knowledgeState: {
567
+ corePapers: [],
568
+ explorationPapers: [],
569
+ explorationTrace: [],
570
+ knowledgeChanges: [],
571
+ knowledgeUpdates: [],
572
+ hypotheses: [],
573
+ runLog: {
574
+ runProfile: readBooleanParam(upsertParams, "metadata_only") ? "fast" : "strict",
575
+ error: "run_now completed but the agent turn did not persist via scientify_literature_state.record",
576
+ notes: "Fallback persisted by scientify_cron_job guard to avoid stale status response.",
577
+ tempCleanupStatus: "not_needed",
578
+ },
579
+ },
580
+ });
581
+ status = await getIncrementalStateStatus({
582
+ scope: statusScope,
583
+ topic: resolved.topic,
584
+ ...(project ? { projectId: project } : {}),
585
+ }).catch(() => undefined);
586
+ if (!status || !hasFreshRun(beforeStatus, status)) {
587
+ return Result.err("operation_failed", `${fallbackError} fallback_run_id=${persisted.runId}, but fresh status still unavailable.`);
588
+ }
589
+ }
590
+ catch (persistError) {
591
+ return Result.err("operation_failed", `run_now completed but no new persisted research run was detected. Refusing stale status response. fallback_persist_error=${persistError instanceof Error ? persistError.message : String(persistError)}`);
592
+ }
593
+ }
594
+ statusSnapshot = serializeRunStatusSnapshot(status);
595
+ }
596
+ catch (statusError) {
597
+ statusSnapshot = {
598
+ error: statusError instanceof Error ? statusError.message : String(statusError),
599
+ };
600
+ }
601
+ }
602
+ return Result.ok({
603
+ action,
604
+ scope,
605
+ job_id: jobId,
606
+ run_now: true,
607
+ run_result: runRes.stdout.trim(),
608
+ ...(statusSnapshot ? { status_json: statusSnapshot } : {}),
609
+ result: text,
610
+ });
611
+ }
612
+ return Result.ok({ action, scope, ...(jobId ? { job_id: jobId } : {}), result: text });
229
613
  }
230
614
  if (action === "list") {
231
615
  const ctx = buildToolContext(scope, "", "/research-subscriptions");
@@ -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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"}