opencode-cron-job 0.1.3 → 0.1.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.
package/README.md CHANGED
@@ -53,6 +53,7 @@ The agent calls the following tools internally — you don't need to use them di
53
53
  | `cron_list` | List all scheduled tasks |
54
54
  | `cron_run` | Run a task immediately |
55
55
  | `cron_delete` | Delete a task |
56
+ | `cron_once` | Schedule a one-shot delay task |
56
57
 
57
58
  ### Task file format
58
59
 
@@ -125,6 +126,7 @@ Agent 内部会调用以下工具来完成,你不需要直接使用:
125
126
  | `cron_list` | 列出所有任务 |
126
127
  | `cron_run` | 立即执行一个任务 |
127
128
  | `cron_delete` | 删除任务 |
129
+ | `cron_once` | 定时一次性延迟任务 |
128
130
 
129
131
  ### 任务文件格式
130
132
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,2 @@
1
1
  import { type Plugin } from "@opencode-ai/plugin";
2
- declare const _default: {
3
- server: Plugin;
4
- };
5
- export default _default;
2
+ export declare const CronPlugin: Plugin;
package/dist/index.js CHANGED
@@ -1,10 +1,7 @@
1
- import { readFileSync, existsSync, writeFileSync, rmSync, mkdirSync } from "fs";
1
+ import { readFileSync, existsSync, appendFileSync, mkdirSync, writeFileSync } from "fs";
2
2
  import { join } from "path";
3
- import { homedir } from "os";
4
- import { execSync } from "child_process";
5
3
  import cron from "node-cron";
6
4
  import { tool } from "@opencode-ai/plugin";
7
- const CURRENT_VERSION = "0.1.3";
8
5
  function parseDelay(s) {
9
6
  const m = s.match(/^(\d+)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days)?$/);
10
7
  if (!m)
@@ -22,7 +19,7 @@ function parseDelay(s) {
22
19
  return n * 60000;
23
20
  }
24
21
  function parseTasks(content) {
25
- const tasks = [];
22
+ const result = [];
26
23
  const sections = content.split(/^## /m).filter((s) => s.trim());
27
24
  for (const section of sections) {
28
25
  const lines = section.split("\n");
@@ -34,81 +31,126 @@ function parseTasks(content) {
34
31
  const t = line.trim();
35
32
  if (t.startsWith("- cron:"))
36
33
  schedule = t.slice("- cron:".length).trim();
34
+ else if (t.startsWith("- delay:"))
35
+ schedule = t.slice("- delay:".length).trim();
37
36
  else if (t.startsWith("- prompt:"))
38
37
  prompt = t.slice("- prompt:".length).trim();
39
38
  }
40
39
  if (schedule && prompt)
41
- tasks.push({ name, schedule, prompt });
40
+ result.push({ name, schedule, prompt });
42
41
  }
43
- return tasks;
42
+ return result;
44
43
  }
45
44
  let jobs = [];
46
45
  let nextId = 1;
47
- async function checkUpdate(client) {
48
- try {
49
- const res = await fetch("https://registry.npmjs.org/opencode-cron-job/latest");
50
- const data = await res.json();
51
- if (!data.version || data.version === CURRENT_VERSION)
52
- return;
53
- const cacheDir = join(homedir(), ".cache", "opencode", "packages", `opencode-cron-job@latest`);
54
- const targetDir = join(cacheDir, "node_modules", "opencode-cron-job");
55
- mkdirSync(targetDir, { recursive: true });
56
- // Download tarball
57
- const tgzUrl = `https://registry.npmjs.org/opencode-cron-job/-/opencode-cron-job-${data.version}.tgz`;
58
- const tgz = await fetch(tgzUrl).then((r) => r.arrayBuffer());
59
- // Write temp file and extract
60
- const tmpFile = join(cacheDir, "..", `_update.tgz`);
61
- writeFileSync(tmpFile, Buffer.from(tgz));
62
- execSync(`tar -xzf "${tmpFile}" --strip-components=1 -C "${targetDir}"`, { stdio: "ignore" });
63
- rmSync(tmpFile, { force: true });
64
- await client.tui.showToast({
65
- body: {
66
- message: `opencode-cron-job updated: v${CURRENT_VERSION} → v${data.version}. Restart to apply.`,
67
- variant: "success",
68
- },
69
- });
46
+ export const CronPlugin = async ({ client, directory }) => {
47
+ const tasksFile = join(directory, ".cron-job", "tasks.md");
48
+ async function fire(job) {
49
+ try {
50
+ const res = await client.session.list({ query: { directory } });
51
+ const sessions = res.data;
52
+ if (!sessions || sessions.length === 0)
53
+ return;
54
+ sessions.sort((a, b) => b.time.updated - a.time.updated);
55
+ await client.session.promptAsync({
56
+ path: { id: sessions[0].id },
57
+ body: {
58
+ parts: [{ type: "text", text: job.prompt }],
59
+ },
60
+ });
61
+ }
62
+ catch (e) {
63
+ process.stderr.write(`[cron] fire error: ${e.message}\n`);
64
+ }
70
65
  }
71
- catch {
72
- // Silently ignore
66
+ function scheduleCron(job) {
67
+ job.task = cron.schedule(job.schedule, () => {
68
+ if (job.cancelled)
69
+ return;
70
+ fire(job);
71
+ });
73
72
  }
74
- }
75
- const _CronPlugin = async ({ client, directory }) => {
76
- const tasksFile = join(directory, ".cron-job", "tasks.md");
77
- function fire(job) {
78
- client.tui.appendPrompt({ body: { text: job.prompt } })
79
- .then(() => client.tui.submitPrompt())
80
- .catch(() => { });
73
+ function scheduleDelay(job) {
74
+ const ms = parseDelay(job.schedule);
75
+ if (ms <= 0)
76
+ return;
77
+ job.timer = setTimeout(() => {
78
+ if (job.cancelled)
79
+ return;
80
+ fire(job);
81
+ removeJobFromFile(job.name);
82
+ const idx = jobs.indexOf(job);
83
+ if (idx !== -1)
84
+ jobs.splice(idx, 1);
85
+ }, ms);
81
86
  }
82
- function schedule(j) {
83
- if (cron.validate(j.schedule)) {
84
- j.task = cron.schedule(j.schedule, () => fire(j));
87
+ function startJob(item) {
88
+ const job = { ...item, id: String(nextId++), task: null, timer: null, cancelled: false };
89
+ if (cron.validate(job.schedule)) {
90
+ scheduleCron(job);
85
91
  }
92
+ else {
93
+ scheduleDelay(job);
94
+ }
95
+ return job;
86
96
  }
87
- // Load from file on startup
88
- if (existsSync(tasksFile)) {
97
+ function stopJob(job) {
98
+ job.cancelled = true;
99
+ job.task?.stop();
100
+ if (job.timer)
101
+ clearTimeout(job.timer);
102
+ }
103
+ function reloadJobs() {
104
+ for (const j of jobs)
105
+ stopJob(j);
106
+ jobs = [];
107
+ if (!existsSync(tasksFile))
108
+ return;
89
109
  const items = parseTasks(readFileSync(tasksFile, "utf-8"));
90
110
  for (const item of items) {
91
- const job = { ...item, id: String(nextId++), task: null, timer: null };
92
- schedule(job);
93
- jobs.push(job);
111
+ jobs.push(startJob(item));
94
112
  }
95
113
  }
96
- // Check for updates in background
97
- checkUpdate(client);
114
+ function removeJobFromFile(name) {
115
+ try {
116
+ const content = readFileSync(tasksFile, "utf-8");
117
+ const tasks = parseTasks(content);
118
+ const remaining = tasks.filter((t) => t.name !== name);
119
+ const lines = ["# 周期任务"];
120
+ for (const t of remaining) {
121
+ lines.push("");
122
+ lines.push(`## ${t.name}`);
123
+ lines.push(cron.validate(t.schedule) ? `- cron: ${t.schedule}` : `- delay: ${t.schedule}`);
124
+ lines.push(`- prompt: ${t.prompt}`);
125
+ }
126
+ writeFileSync(tasksFile, lines.join("\n") + "\n");
127
+ }
128
+ catch (e) {
129
+ process.stderr.write(`[cron] remove file error: ${e.message}\n`);
130
+ }
131
+ }
132
+ // Load from file on startup
133
+ reloadJobs();
98
134
  return {
99
135
  tool: {
100
136
  cron_create: tool({
101
- description: "Create a new cron job. The job fires on schedule by injecting the prompt into the user's session. Jobs are ephemeral (in-memory) and lost when OpenCode restarts. To persist a job permanently, also add it to .cron-job/tasks.md so it auto-loads on startup.",
137
+ description: "Create a new cron job. Writes to .cron-job/tasks.md and schedules it.",
102
138
  args: {
103
139
  name: tool.schema.string().describe("Unique name for this job"),
104
- schedule: tool.schema.string().describe("Cron expression. 5-field format (min hour dom mon dow), e.g. '0 9 * * *' for daily at 9am. Supports 6-field with seconds: '*/30 * * * * *' for every 30s."),
105
- prompt: tool.schema.string().describe("The prompt text that gets injected into the session when the job fires. The AI will receive this as a user message and act on it."),
140
+ schedule: tool.schema.string().describe("Cron expression, e.g. '0 9 * * *'"),
141
+ prompt: tool.schema.string().describe("Prompt to inject when the job fires"),
106
142
  },
107
143
  async execute(args) {
108
- const job = { id: String(nextId++), name: args.name, schedule: args.schedule, prompt: args.prompt, task: null, timer: null };
109
- schedule(job);
110
- jobs.push(job);
111
- return `Created job: ${job.name} (ID: ${job.id}, cron: ${job.schedule})`;
144
+ const entry = `\n## ${args.name}\n- cron: ${args.schedule}\n- prompt: ${args.prompt}\n\n`;
145
+ if (!existsSync(tasksFile)) {
146
+ mkdirSync(join(directory, ".cron-job"), { recursive: true });
147
+ appendFileSync(tasksFile, `# 周期任务\n${entry}`);
148
+ }
149
+ else {
150
+ appendFileSync(tasksFile, entry);
151
+ }
152
+ jobs.push(startJob({ name: args.name, schedule: args.schedule, prompt: args.prompt }));
153
+ return `Created: ${args.name} (${args.schedule})`;
112
154
  },
113
155
  }),
114
156
  cron_list: tool({
@@ -121,9 +163,9 @@ const _CronPlugin = async ({ client, directory }) => {
121
163
  },
122
164
  }),
123
165
  cron_run: tool({
124
- description: "Run a job immediately (fire-and-forget). The job fires once right now regardless of its cron schedule. Useful for testing or one-off execution. The job remains scheduled and will continue firing on its normal cron schedule afterwards.",
166
+ description: "Run a job immediately",
125
167
  args: {
126
- jobId: tool.schema.string().describe("ID of the job to run. Get it from cron_list."),
168
+ jobId: tool.schema.string().describe("Job ID. Get it from cron_list."),
127
169
  },
128
170
  async execute(args) {
129
171
  const job = jobs.find((j) => j.id === args.jobId);
@@ -134,52 +176,46 @@ const _CronPlugin = async ({ client, directory }) => {
134
176
  },
135
177
  }),
136
178
  cron_delete: tool({
137
- description: "Delete a cron job. Stops the timer and removes it from memory. This does not modify .cron-job/tasks.md — if the job was defined there, it will reappear after OpenCode restarts.",
179
+ description: "Delete a cron job from .cron-job/tasks.md",
138
180
  args: {
139
- jobId: tool.schema.string().describe("ID of the job to delete. Get it from cron_list."),
181
+ jobId: tool.schema.string().describe("Job ID. Get it from cron_list."),
140
182
  },
141
183
  async execute(args) {
142
184
  const idx = jobs.findIndex((j) => j.id === args.jobId);
143
185
  if (idx === -1)
144
186
  return `Job ${args.jobId} not found.`;
145
- const [job] = jobs.splice(idx, 1);
146
- job.task?.stop();
147
- if (job.timer)
148
- clearTimeout(job.timer);
187
+ const job = jobs[idx];
188
+ stopJob(job);
189
+ jobs.splice(idx, 1);
190
+ removeJobFromFile(job.name);
149
191
  return `${job.name}: deleted`;
150
192
  },
151
193
  }),
152
194
  cron_once: tool({
153
- description: "Schedule a one-shot prompt after a delay. The job fires once and is automatically removed. Useful for reminders like 'remind me in 30 minutes'.",
195
+ description: "Schedule a one-shot prompt after a delay. Saved to .cron-job/tasks.md for persistence across restarts.",
154
196
  args: {
155
- prompt: tool.schema.string().describe("The prompt text to inject when the timer fires. The AI will receive this as a user message."),
156
- delay: tool.schema.string().describe("Delay before firing. Examples: '5m' (5 minutes), '30s', '2h', '1d'."),
157
- name: tool.schema.string().optional().describe("Optional name for this job (default: auto-generated)"),
197
+ prompt: tool.schema.string().describe("Prompt to inject when timer fires"),
198
+ delay: tool.schema.string().describe("Delay: '5m', '30s', '2h', '1d'"),
199
+ name: tool.schema.string().optional().describe("Optional name"),
158
200
  },
159
201
  async execute(args) {
160
202
  const ms = parseDelay(args.delay);
161
203
  if (ms <= 0)
162
- return `Invalid delay: ${args.delay}. Use format like '5m', '30s', '2h'.`;
204
+ return `Invalid delay: ${args.delay}`;
163
205
  const name = args.name || `reminder-${nextId}`;
164
- const job = {
165
- id: String(nextId++), name, schedule: args.delay, prompt: args.prompt,
166
- task: null, timer: null,
167
- };
168
- job.timer = setTimeout(() => {
169
- fire(job);
170
- // Auto-remove after firing
171
- const idx = jobs.indexOf(job);
172
- if (idx !== -1)
173
- jobs.splice(idx, 1);
174
- }, ms);
175
- jobs.push(job);
206
+ const entry = `\n## ${name}\n- delay: ${args.delay}\n- prompt: ${args.prompt}\n\n`;
207
+ if (!existsSync(tasksFile)) {
208
+ mkdirSync(join(directory, ".cron-job"), { recursive: true });
209
+ appendFileSync(tasksFile, `# 周期任务\n${entry}`);
210
+ }
211
+ else {
212
+ appendFileSync(tasksFile, entry);
213
+ }
214
+ jobs.push(startJob({ name, schedule: args.delay, prompt: args.prompt }));
176
215
  return `Scheduled: ${name} (fires in ${args.delay})`;
177
216
  },
178
217
  }),
179
218
  },
180
219
  };
181
220
  };
182
- export default {
183
- server: _CronPlugin,
184
- };
185
221
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-cron-job",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "OpenCode plugin - schedule recurring prompts via markdown files",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",