@patrick-rodgers/cron-claude 0.1.2 → 0.1.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.
- package/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +2 -2
- package/CLAUDE.md +63 -17
- package/README.md +55 -13
- package/dist/cli.js +1 -2
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +5 -5
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +21 -2
- package/dist/config.js.map +1 -1
- package/dist/executor.d.ts +1 -1
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +15 -13
- package/dist/executor.js.map +1 -1
- package/dist/logger.d.ts +3 -3
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +17 -37
- package/dist/logger.js.map +1 -1
- package/dist/mcp-server.js +101 -69
- package/dist/mcp-server.js.map +1 -1
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +106 -8
- package/dist/scheduler.js.map +1 -1
- package/dist/storage/factory.d.ts +18 -0
- package/dist/storage/factory.d.ts.map +1 -0
- package/dist/storage/factory.js +56 -0
- package/dist/storage/factory.js.map +1 -0
- package/dist/storage/file-storage.d.ts +33 -0
- package/dist/storage/file-storage.d.ts.map +1 -0
- package/dist/storage/file-storage.js +120 -0
- package/dist/storage/file-storage.js.map +1 -0
- package/dist/storage/index.d.ts +8 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +7 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/interface.d.ts +43 -0
- package/dist/storage/interface.d.ts.map +1 -0
- package/dist/storage/interface.js +6 -0
- package/dist/storage/interface.js.map +1 -0
- package/dist/storage/memory-storage.d.ts +42 -0
- package/dist/storage/memory-storage.d.ts.map +1 -0
- package/dist/storage/memory-storage.js +217 -0
- package/dist/storage/memory-storage.js.map +1 -0
- package/dist/tasks.d.ts +40 -0
- package/dist/tasks.d.ts.map +1 -0
- package/dist/tasks.js +141 -0
- package/dist/tasks.js.map +1 -0
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/tasks/morning-greeting.md +17 -0
- package/tasks/example-daily-summary.md +0 -37
- package/tasks/example-weekly-backup.md +0 -27
package/.mcp.json
CHANGED
package/CLAUDE.md
CHANGED
|
@@ -28,10 +28,12 @@ npm run prepack # Build before publishing
|
|
|
28
28
|
|
|
29
29
|
**TypeScript ESM project** with NodeNext module resolution. Source in `src/`, compiles to `dist/`.
|
|
30
30
|
|
|
31
|
+
**Simple, file-based architecture** - no external dependencies for storage.
|
|
32
|
+
|
|
31
33
|
### MCP Server Entry Point
|
|
32
34
|
|
|
33
35
|
- **`src/mcp-server.ts`** → **`dist/mcp-server.js`** - Primary entry point
|
|
34
|
-
- Registered as `cron-claude
|
|
36
|
+
- Registered as `cron-claude` binary in package.json
|
|
35
37
|
- Uses `@modelcontextprotocol/sdk` with stdio transport
|
|
36
38
|
- Exposes 11 tools for task management
|
|
37
39
|
- Never uses `console.log()` (stdio protocol constraint), only `console.error()` for logging
|
|
@@ -44,7 +46,13 @@ npm run prepack # Build before publishing
|
|
|
44
46
|
- Server initialization and transport setup
|
|
45
47
|
- Tool registration (11 tools)
|
|
46
48
|
- Request handlers for all cron operations
|
|
47
|
-
-
|
|
49
|
+
- Direct file-based task management
|
|
50
|
+
|
|
51
|
+
- **`tasks.ts`** - Task management functions
|
|
52
|
+
- Simple file operations for task CRUD
|
|
53
|
+
- Read/write task definitions as markdown files
|
|
54
|
+
- List and search tasks
|
|
55
|
+
- No abstraction layer - direct filesystem access
|
|
48
56
|
|
|
49
57
|
- **`scheduler.ts`** - Windows Task Scheduler integration
|
|
50
58
|
- Register/unregister tasks with Task Scheduler
|
|
@@ -60,9 +68,9 @@ npm run prepack # Build before publishing
|
|
|
60
68
|
|
|
61
69
|
- **`logger.ts`** - Audit logging with cryptographic signatures
|
|
62
70
|
- HMAC-SHA256 signing of all log entries
|
|
63
|
-
- Stores logs
|
|
64
|
-
- Fallback to local `./logs/` directory
|
|
71
|
+
- Stores logs as markdown files in configured directory
|
|
65
72
|
- Log verification functionality
|
|
73
|
+
- Critical audit trail for all executions
|
|
66
74
|
|
|
67
75
|
- **`notifier.ts`** - Windows toast notifications
|
|
68
76
|
- Shows completion notifications
|
|
@@ -72,19 +80,33 @@ npm run prepack # Build before publishing
|
|
|
72
80
|
- **`config.ts`** - Configuration management
|
|
73
81
|
- Loads/saves config from `~/.cron-claude/config.json`
|
|
74
82
|
- Manages secret key for HMAC signing
|
|
83
|
+
- Configurable task and log directories
|
|
75
84
|
- Auto-generates key on first use
|
|
76
85
|
|
|
77
86
|
- **`types.ts`** - Shared TypeScript types
|
|
78
|
-
- `TaskDefinition`, `
|
|
79
|
-
- `Config`, `
|
|
87
|
+
- `TaskDefinition`, `TaskLog`, `LogStep`
|
|
88
|
+
- `Config`, `ExecutionResult`
|
|
80
89
|
|
|
81
90
|
### Data Flow
|
|
82
91
|
|
|
83
|
-
1. **Task Storage**:
|
|
92
|
+
1. **Task Storage**: `~/.cron-claude/tasks/*.md` - Markdown files with YAML frontmatter
|
|
84
93
|
2. **Execution**: Task Scheduler → PowerShell → Node.js → `executeTask()`
|
|
85
|
-
3. **Logging**: Execution results → Logger →
|
|
94
|
+
3. **Logging**: Execution results → Logger → `~/.cron-claude/logs/*.md` with HMAC signatures
|
|
86
95
|
4. **Notifications**: Completion → Notifier → Windows Toast
|
|
87
96
|
|
|
97
|
+
### File Structure
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
~/.cron-claude/
|
|
101
|
+
├── config.json # Configuration (secret key, directories)
|
|
102
|
+
├── tasks/ # Task definitions
|
|
103
|
+
│ ├── morning-greeting.md
|
|
104
|
+
│ └── daily-summary.md
|
|
105
|
+
└── logs/ # Execution logs (HMAC signed)
|
|
106
|
+
├── morning-greeting_2024-02-17T09-00-00_exec-123.md
|
|
107
|
+
└── daily-summary_2024-02-17T18-00-00_exec-456.md
|
|
108
|
+
```
|
|
109
|
+
|
|
88
110
|
### Task Definition Format
|
|
89
111
|
|
|
90
112
|
```markdown
|
|
@@ -177,33 +199,48 @@ This helps users discover cron functionality in new sessions.
|
|
|
177
199
|
|
|
178
200
|
## Audit Logging & Security
|
|
179
201
|
|
|
202
|
+
**Critical Feature**: All task executions are logged with cryptographic signatures for tamper-proof audit trails.
|
|
203
|
+
|
|
204
|
+
**Log Storage**: `~/.cron-claude/logs/`
|
|
205
|
+
- Filename format: `{taskId}_{timestamp}_{executionId}.md`
|
|
206
|
+
- Sorted chronologically for easy review
|
|
207
|
+
- HMAC-SHA256 signatures prevent tampering
|
|
208
|
+
|
|
180
209
|
**Log Structure:**
|
|
181
210
|
```markdown
|
|
182
211
|
---
|
|
212
|
+
category: cron-task
|
|
183
213
|
taskId: task-id
|
|
184
|
-
executionId:
|
|
185
|
-
timestamp: 2024-02-
|
|
214
|
+
executionId: exec-123
|
|
215
|
+
timestamp: 2024-02-17T10:30:00Z
|
|
186
216
|
status: success|failure
|
|
187
217
|
signature: hmac-sha256-hex
|
|
188
218
|
---
|
|
189
219
|
|
|
190
|
-
# Execution Log
|
|
220
|
+
# Task Execution Log: task-id
|
|
191
221
|
|
|
192
|
-
|
|
222
|
+
**Execution ID:** exec-123
|
|
223
|
+
**Status:** success
|
|
224
|
+
**Started:** 2024-02-17T10:30:00Z
|
|
225
|
+
|
|
226
|
+
## Execution Steps
|
|
227
|
+
...
|
|
193
228
|
```
|
|
194
229
|
|
|
195
230
|
**Signature Verification:**
|
|
196
231
|
- Uses secret key from `~/.cron-claude/config.json`
|
|
197
232
|
- HMAC-SHA256 of log content (excluding signature field)
|
|
198
233
|
- Verifiable with `cron_verify_log` tool
|
|
234
|
+
- Ensures logs haven't been modified
|
|
199
235
|
|
|
200
236
|
## Conventions
|
|
201
237
|
|
|
202
238
|
- All imports use `.js` extensions (ESM requirement with NodeNext)
|
|
203
239
|
- MCP server logs to stderr only (stdio protocol requirement)
|
|
204
|
-
- Tasks stored as
|
|
205
|
-
-
|
|
206
|
-
-
|
|
240
|
+
- Tasks stored as `~/.cron-claude/tasks/<task-id>.md`
|
|
241
|
+
- Logs stored as `~/.cron-claude/logs/<task-id>_<timestamp>_<exec-id>.md`
|
|
242
|
+
- Windows Task Scheduler task names: `CronClaude_<task-id>`
|
|
243
|
+
- All task and log paths are configurable via `~/.cron-claude/config.json`
|
|
207
244
|
|
|
208
245
|
## Testing
|
|
209
246
|
|
|
@@ -230,11 +267,20 @@ npx @modelcontextprotocol/inspector node dist/mcp-server.js
|
|
|
230
267
|
|
|
231
268
|
```json
|
|
232
269
|
{
|
|
233
|
-
"secretKey": "
|
|
270
|
+
"secretKey": "hex-encoded-hmac-key",
|
|
271
|
+
"version": "0.1.0",
|
|
272
|
+
"tasksDir": "C:\\Users\\username\\.cron-claude\\tasks",
|
|
273
|
+
"logsDir": "C:\\Users\\username\\.cron-claude\\logs"
|
|
234
274
|
}
|
|
235
275
|
```
|
|
236
276
|
|
|
237
|
-
|
|
277
|
+
**Configuration Options:**
|
|
278
|
+
- `secretKey` - HMAC-SHA256 key for log signing (auto-generated)
|
|
279
|
+
- `version` - Config version for future migrations
|
|
280
|
+
- `tasksDir` - Where to store task definition files (default: `~/.cron-claude/tasks`)
|
|
281
|
+
- `logsDir` - Where to store execution logs (default: `~/.cron-claude/logs`)
|
|
282
|
+
|
|
283
|
+
**Note**: Users can customize directories to use OneDrive, Dropbox, or any other location for backup/sync.
|
|
238
284
|
|
|
239
285
|
## Windows Task Scheduler Integration
|
|
240
286
|
|
package/README.md
CHANGED
|
@@ -53,10 +53,11 @@ Restart Claude Desktop after adding the configuration.
|
|
|
53
53
|
- 🕐 **Cron Scheduling** - Use familiar cron expressions for flexible scheduling
|
|
54
54
|
- 🛡️ **Windows Task Scheduler** - Reliable, native scheduling that survives reboots
|
|
55
55
|
- 🔐 **Audit Logging** - HMAC-SHA256 signatures for tamper-proof logs
|
|
56
|
-
- 💾 **
|
|
56
|
+
- 💾 **Simple File Storage** - Tasks and logs stored as markdown files (easy to backup)
|
|
57
57
|
- 🔔 **Toast Notifications** - Optional Windows notifications on completion
|
|
58
58
|
- 🎯 **Flexible Execution** - Run via Claude CLI or Anthropic API
|
|
59
59
|
- 🔌 **Full MCP Integration** - Works seamlessly in all Claude Code sessions
|
|
60
|
+
- 📁 **Configurable Directories** - Store tasks and logs wherever you want
|
|
60
61
|
|
|
61
62
|
## 📚 How It Works
|
|
62
63
|
|
|
@@ -86,19 +87,32 @@ Format as a concise report and save to memory.
|
|
|
86
87
|
|
|
87
88
|
### Storage
|
|
88
89
|
|
|
89
|
-
|
|
90
|
+
**Default locations** (configurable via `~/.cron-claude/config.json`):
|
|
91
|
+
|
|
90
92
|
```
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
~/.cron-claude/
|
|
94
|
+
├── config.json # Configuration
|
|
95
|
+
├── tasks/ # Task definitions
|
|
96
|
+
│ ├── daily-summary.md
|
|
97
|
+
│ ├── weekly-backup.md
|
|
98
|
+
│ └── hourly-monitor.md
|
|
99
|
+
└── logs/ # Execution logs (HMAC signed)
|
|
100
|
+
├── daily-summary_2024-02-17T09-00-00_exec-123.md
|
|
101
|
+
└── weekly-backup_2024-02-17T18-00-00_exec-456.md
|
|
95
102
|
```
|
|
96
103
|
|
|
104
|
+
**Why file-based?**
|
|
105
|
+
- ✅ Simple and reliable - no external dependencies
|
|
106
|
+
- ✅ Easy to backup (point directories to OneDrive/Dropbox)
|
|
107
|
+
- ✅ Version control friendly (Git)
|
|
108
|
+
- ✅ Easy to inspect and debug
|
|
109
|
+
- ✅ Works offline
|
|
110
|
+
|
|
97
111
|
### Execution Flow
|
|
98
112
|
|
|
99
113
|
1. **Schedule** → Windows Task Scheduler triggers at scheduled time
|
|
100
114
|
2. **Execute** → Task runs via Claude CLI or Anthropic API
|
|
101
|
-
3. **Log** → Execution results
|
|
115
|
+
3. **Log** → Execution results written to `~/.cron-claude/logs/` with HMAC signature
|
|
102
116
|
4. **Notify** → Optional toast notification on completion
|
|
103
117
|
|
|
104
118
|
## 🛠️ Available Tools
|
|
@@ -120,7 +134,7 @@ tasks/
|
|
|
120
134
|
|------|-------------|
|
|
121
135
|
| `cron_run_task` | Execute a task immediately (testing) |
|
|
122
136
|
| `cron_list_tasks` | List all tasks with status |
|
|
123
|
-
| `cron_view_logs` | View execution logs
|
|
137
|
+
| `cron_view_logs` | View execution logs for a task |
|
|
124
138
|
|
|
125
139
|
### Verification & Status (2 tools)
|
|
126
140
|
|
|
@@ -233,7 +247,16 @@ Every task execution is automatically logged with:
|
|
|
233
247
|
- ✅ Timestamps for each operation
|
|
234
248
|
- ✅ HMAC-SHA256 cryptographic signature
|
|
235
249
|
|
|
236
|
-
Logs are stored
|
|
250
|
+
**Logs are stored as markdown files** in `~/.cron-claude/logs/` with filenames like:
|
|
251
|
+
```
|
|
252
|
+
{task-id}_{timestamp}_{execution-id}.md
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
This makes them:
|
|
256
|
+
- Easy to search and review
|
|
257
|
+
- Simple to backup (copy directory to OneDrive/Dropbox)
|
|
258
|
+
- Compatible with version control
|
|
259
|
+
- Verifiable against tampering
|
|
237
260
|
|
|
238
261
|
### Log Verification
|
|
239
262
|
|
|
@@ -248,9 +271,27 @@ Claude will check the HMAC signature to ensure authenticity.
|
|
|
248
271
|
|
|
249
272
|
On first use, Cron-Claude generates a secret key:
|
|
250
273
|
- Stored in: `~/.cron-claude/config.json`
|
|
251
|
-
- Used for: Signing all log entries
|
|
274
|
+
- Used for: Signing all log entries with HMAC-SHA256
|
|
252
275
|
- Keep secure: Treat like a password
|
|
253
276
|
|
|
277
|
+
### Configurable Storage
|
|
278
|
+
|
|
279
|
+
You can configure where tasks and logs are stored:
|
|
280
|
+
|
|
281
|
+
```json
|
|
282
|
+
{
|
|
283
|
+
"secretKey": "auto-generated",
|
|
284
|
+
"tasksDir": "C:\\Users\\you\\OneDrive\\cron-tasks",
|
|
285
|
+
"logsDir": "C:\\Users\\you\\OneDrive\\cron-logs"
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
This allows you to:
|
|
290
|
+
- Backup tasks and logs to cloud storage
|
|
291
|
+
- Share task definitions across machines
|
|
292
|
+
- Use version control (Git) for task definitions
|
|
293
|
+
- Organize logs however you prefer
|
|
294
|
+
|
|
254
295
|
## 🎨 Claude Code Plugin Features
|
|
255
296
|
|
|
256
297
|
When used with Claude Code, this plugin includes:
|
|
@@ -376,8 +417,10 @@ You can also check Windows Task Scheduler manually:
|
|
|
376
417
|
|
|
377
418
|
### Logs Not Appearing
|
|
378
419
|
|
|
379
|
-
-
|
|
380
|
-
-
|
|
420
|
+
- Check configured log directory in `~/.cron-claude/config.json`
|
|
421
|
+
- Verify directory has write permissions
|
|
422
|
+
- Check disk space availability
|
|
423
|
+
- Look in default location: `~/.cron-claude/logs/`
|
|
381
424
|
|
|
382
425
|
## 🔧 Development
|
|
383
426
|
|
|
@@ -433,7 +476,6 @@ Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
433
476
|
- [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
|
|
434
477
|
- [Claude Desktop](https://claude.ai/download)
|
|
435
478
|
- [Claude Code CLI](https://github.com/anthropics/claude-code)
|
|
436
|
-
- [OneDrive Memory Plugin](https://github.com/patrick-rodgers/claude-onedrive-memory)
|
|
437
479
|
|
|
438
480
|
---
|
|
439
481
|
|
package/dist/cli.js
CHANGED
|
@@ -11,7 +11,7 @@ import matter from 'gray-matter';
|
|
|
11
11
|
import { registerTask, unregisterTask, enableTask, disableTask, getTaskStatus } from './scheduler.js';
|
|
12
12
|
import { executeTask } from './executor.js';
|
|
13
13
|
import { verifyLogFile } from './logger.js';
|
|
14
|
-
import { loadConfig } from './config.js';
|
|
14
|
+
import { loadConfig, getConfigDir } from './config.js';
|
|
15
15
|
import { execSync } from 'child_process';
|
|
16
16
|
const program = new Command();
|
|
17
17
|
// Get project root (ESM equivalent of __dirname)
|
|
@@ -279,7 +279,6 @@ program
|
|
|
279
279
|
.action(() => {
|
|
280
280
|
const config = loadConfig();
|
|
281
281
|
const taskCount = getTaskFiles().length;
|
|
282
|
-
const { getConfigDir } = require('./config.js');
|
|
283
282
|
console.log('Cron-Claude System Status\n');
|
|
284
283
|
console.log(`Version: 0.1.0`);
|
|
285
284
|
console.log(`Config directory: ${getConfigDir()}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -2,10 +2,7 @@
|
|
|
2
2
|
* Configuration management for cron-claude
|
|
3
3
|
* Handles secret key generation and storage
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
secretKey: string;
|
|
7
|
-
version: string;
|
|
8
|
-
}
|
|
5
|
+
import { Config } from './types.js';
|
|
9
6
|
/**
|
|
10
7
|
* Load or create configuration
|
|
11
8
|
*/
|
|
@@ -18,5 +15,8 @@ export declare function getSecretKey(): string;
|
|
|
18
15
|
* Get config directory path
|
|
19
16
|
*/
|
|
20
17
|
export declare function getConfigDir(): string;
|
|
21
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Update configuration with partial updates
|
|
20
|
+
*/
|
|
21
|
+
export declare function updateConfig(updates: Partial<Config>): void;
|
|
22
22
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAqBpC;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CA+BnC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAI3D"}
|
package/dist/config.js
CHANGED
|
@@ -27,17 +27,28 @@ function generateSecretKey() {
|
|
|
27
27
|
*/
|
|
28
28
|
export function loadConfig() {
|
|
29
29
|
ensureConfigDir();
|
|
30
|
+
const defaultTasksDir = join(CONFIG_DIR, 'tasks');
|
|
31
|
+
const defaultLogsDir = join(CONFIG_DIR, 'logs');
|
|
30
32
|
if (existsSync(CONFIG_FILE)) {
|
|
31
33
|
const data = readFileSync(CONFIG_FILE, 'utf-8');
|
|
32
|
-
|
|
34
|
+
const parsed = JSON.parse(data);
|
|
35
|
+
// Merge with defaults for backward compatibility
|
|
36
|
+
return {
|
|
37
|
+
secretKey: parsed.secretKey || generateSecretKey(),
|
|
38
|
+
version: parsed.version || '0.1.0',
|
|
39
|
+
tasksDir: parsed.tasksDir || defaultTasksDir,
|
|
40
|
+
logsDir: parsed.logsDir || defaultLogsDir,
|
|
41
|
+
};
|
|
33
42
|
}
|
|
34
43
|
// Create new config with generated secret key
|
|
35
44
|
const config = {
|
|
36
45
|
secretKey: generateSecretKey(),
|
|
37
46
|
version: '0.1.0',
|
|
47
|
+
tasksDir: defaultTasksDir,
|
|
48
|
+
logsDir: defaultLogsDir,
|
|
38
49
|
};
|
|
39
50
|
writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
|
|
40
|
-
console.
|
|
51
|
+
console.error('Generated new configuration with secret key for log signing');
|
|
41
52
|
return config;
|
|
42
53
|
}
|
|
43
54
|
/**
|
|
@@ -53,4 +64,12 @@ export function getSecretKey() {
|
|
|
53
64
|
export function getConfigDir() {
|
|
54
65
|
return CONFIG_DIR;
|
|
55
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Update configuration with partial updates
|
|
69
|
+
*/
|
|
70
|
+
export function updateConfig(updates) {
|
|
71
|
+
const config = loadConfig();
|
|
72
|
+
const updated = { ...config, ...updates };
|
|
73
|
+
writeFileSync(CONFIG_FILE, JSON.stringify(updated, null, 2), 'utf-8');
|
|
74
|
+
}
|
|
56
75
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAG7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;AACnD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEpD;;GAEG;AACH,SAAS,eAAe;IACtB,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,OAAO,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,eAAe,EAAE,CAAC;IAElB,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAEhD,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,iDAAiD;QACjD,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,iBAAiB,EAAE;YAClD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;YAClC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,eAAe;YAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,cAAc;SAC1C,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,MAAM,GAAW;QACrB,SAAS,EAAE,iBAAiB,EAAE;QAC9B,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,cAAc;KACxB,CAAC;IAEF,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAE7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,OAAwB;IACnD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC1C,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC"}
|
package/dist/executor.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export declare function parseTaskDefinition(filePath: string): TaskDefinition;
|
|
|
10
10
|
/**
|
|
11
11
|
* Execute a task
|
|
12
12
|
*/
|
|
13
|
-
export declare function executeTask(taskFilePath: string): Promise<void>;
|
|
13
|
+
export declare function executeTask(taskFilePath: string, claudeCodePath?: string): Promise<void>;
|
|
14
14
|
/**
|
|
15
15
|
* Entry point for scheduled task execution
|
|
16
16
|
* Called by Windows Task Scheduler
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAItE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAcpE;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAItE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,CAcpE;AAgKD;;GAEG;AACH,wBAAsB,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C9F;AAED;;;GAGG;AACH,wBAAsB,IAAI,kBAiBzB"}
|
package/dist/executor.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Executes tasks via CLI or API based on task configuration
|
|
4
4
|
*/
|
|
5
5
|
import { spawn } from 'child_process';
|
|
6
|
-
import { readFileSync } from 'fs';
|
|
6
|
+
import { readFileSync, writeFileSync, unlinkSync } from 'fs';
|
|
7
7
|
import matter from 'gray-matter';
|
|
8
8
|
import { createLog, addLogStep, finalizeLog } from './logger.js';
|
|
9
9
|
import { sendNotification } from './notifier.js';
|
|
@@ -26,18 +26,19 @@ export function parseTaskDefinition(filePath) {
|
|
|
26
26
|
/**
|
|
27
27
|
* Execute task via Claude CLI
|
|
28
28
|
*/
|
|
29
|
-
async function executeViaCLI(task, log) {
|
|
29
|
+
async function executeViaCLI(task, log, claudeCodePath) {
|
|
30
30
|
addLogStep(log, 'Starting CLI execution');
|
|
31
31
|
return new Promise((resolve) => {
|
|
32
32
|
try {
|
|
33
33
|
// Create a temporary file with the instructions
|
|
34
34
|
const tempFile = `${process.env.TEMP || '/tmp'}/cron-claude-task-${task.id}-${Date.now()}.md`;
|
|
35
|
-
|
|
36
|
-
fs.writeFileSync(tempFile, task.instructions, 'utf-8');
|
|
35
|
+
writeFileSync(tempFile, task.instructions, 'utf-8');
|
|
37
36
|
addLogStep(log, 'Created temporary task file', tempFile);
|
|
38
|
-
// Spawn claude-code process
|
|
39
|
-
|
|
40
|
-
const
|
|
37
|
+
// Spawn claude/claude-code process
|
|
38
|
+
// Priority: 1. Passed argument, 2. CLAUDE_CODE_PATH env var, 3. 'claude-code' or 'claude' from PATH
|
|
39
|
+
const claudeCommand = claudeCodePath || process.env.CLAUDE_CODE_PATH || 'claude-code';
|
|
40
|
+
addLogStep(log, 'Spawning Claude CLI process', `Using: ${claudeCommand}`);
|
|
41
|
+
const claude = spawn(claudeCommand, [tempFile], {
|
|
41
42
|
stdio: 'pipe',
|
|
42
43
|
shell: true,
|
|
43
44
|
});
|
|
@@ -56,7 +57,7 @@ async function executeViaCLI(task, log) {
|
|
|
56
57
|
claude.on('close', (code) => {
|
|
57
58
|
// Clean up temp file
|
|
58
59
|
try {
|
|
59
|
-
|
|
60
|
+
unlinkSync(tempFile);
|
|
60
61
|
addLogStep(log, 'Cleaned up temporary file');
|
|
61
62
|
}
|
|
62
63
|
catch (e) {
|
|
@@ -160,7 +161,7 @@ async function executeViaAPI(task, log) {
|
|
|
160
161
|
/**
|
|
161
162
|
* Execute a task
|
|
162
163
|
*/
|
|
163
|
-
export async function executeTask(taskFilePath) {
|
|
164
|
+
export async function executeTask(taskFilePath, claudeCodePath) {
|
|
164
165
|
// Parse task definition
|
|
165
166
|
const task = parseTaskDefinition(taskFilePath);
|
|
166
167
|
// Create log
|
|
@@ -175,7 +176,7 @@ export async function executeTask(taskFilePath) {
|
|
|
175
176
|
// Execute based on invocation method
|
|
176
177
|
let result;
|
|
177
178
|
if (task.invocation === 'cli') {
|
|
178
|
-
result = await executeViaCLI(task, log);
|
|
179
|
+
result = await executeViaCLI(task, log, claudeCodePath);
|
|
179
180
|
}
|
|
180
181
|
else if (task.invocation === 'api') {
|
|
181
182
|
result = await executeViaAPI(task, log);
|
|
@@ -204,14 +205,15 @@ export async function executeTask(taskFilePath) {
|
|
|
204
205
|
* Called by Windows Task Scheduler
|
|
205
206
|
*/
|
|
206
207
|
export async function main() {
|
|
207
|
-
// Get task file path from command line arguments
|
|
208
|
+
// Get task file path and optional claude-code path from command line arguments
|
|
208
209
|
const taskFile = process.argv[2];
|
|
210
|
+
const claudeCodePath = process.argv[3]; // Optional: full path to claude-code executable
|
|
209
211
|
if (!taskFile) {
|
|
210
|
-
console.error('Usage: node executor.js <task-file-path>');
|
|
212
|
+
console.error('Usage: node executor.js <task-file-path> [claude-code-path]');
|
|
211
213
|
process.exit(1);
|
|
212
214
|
}
|
|
213
215
|
try {
|
|
214
|
-
await executeTask(taskFile);
|
|
216
|
+
await executeTask(taskFile, claudeCodePath);
|
|
215
217
|
process.exit(0);
|
|
216
218
|
}
|
|
217
219
|
catch (error) {
|
package/dist/executor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC7D,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE/B,MAAM,OAAO,GAAmB;QAC9B,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS;QAC/B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,WAAW;QAC7C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK;QAC3C,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;QAC5D,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,kBAAkB;QAC1D,YAAY,EAAE,MAAM,CAAC,OAAO;KAC7B,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAoB,EACpB,GAAY,EACZ,cAAuB;IAEvB,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IAE1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,gDAAgD;YAChD,MAAM,QAAQ,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,qBAAqB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;YAC9F,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAEpD,UAAU,CAAC,GAAG,EAAE,6BAA6B,EAAE,QAAQ,CAAC,CAAC;YAEzD,mCAAmC;YACnC,oGAAoG;YACpG,MAAM,aAAa,GAAG,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,aAAa,CAAC;YACtF,UAAU,CAAC,GAAG,EAAE,6BAA6B,EAAE,UAAU,aAAa,EAAE,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE;gBAC9C,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,WAAW,GAAG,EAAE,CAAC;YAErB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,IAAI,CAAC;gBACf,UAAU,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,WAAW,IAAI,IAAI,CAAC;gBACpB,UAAU,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,qBAAqB;gBACrB,IAAI,CAAC;oBACH,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACrB,UAAU,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;gBAC/C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,UAAU,CAAC,GAAG,EAAE,uCAAuC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjF,CAAC;gBAED,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,UAAU,CAAC,GAAG,EAAE,sCAAsC,CAAC,CAAC;oBACxD,OAAO,CAAC;wBACN,OAAO,EAAE,IAAI;wBACb,MAAM;wBACN,KAAK,EAAE,GAAG,CAAC,KAAK;qBACjB,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,GAAG,EAAE,sBAAsB,EAAE,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;oBACzE,OAAO,CAAC;wBACN,OAAO,EAAE,KAAK;wBACd,MAAM;wBACN,KAAK,EAAE,WAAW,IAAI,4BAA4B,IAAI,EAAE;wBACxD,KAAK,EAAE,GAAG,CAAC,KAAK;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,UAAU,CAAC,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/D,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,MAAM;oBACN,KAAK,EAAE,GAAG,CAAC,OAAO;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,UAAU,CAAC,GAAG,EAAE,wBAAwB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/D,OAAO,CAAC;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,GAAG,CAAC,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,IAAoB,EACpB,GAAY;IAEZ,UAAU,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IAE1C,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,UAAU,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,MAAM;gBACnB,mBAAmB,EAAE,YAAY;aAClC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,4BAA4B;gBACnC,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,IAAI,CAAC,YAAY;qBAC3B;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,IAAI,GAAQ,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAE/D,UAAU,CAAC,GAAG,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;QAEjD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM;YACN,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,UAAU,CAAC,GAAG,EAAE,sBAAsB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE7D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,YAAoB,EAAE,cAAuB;IAC7E,wBAAwB;IACxB,MAAM,IAAI,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAE/C,aAAa;IACb,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/B,UAAU,CAAC,GAAG,EAAE,wBAAwB,EAAE,SAAS,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAE1F,2BAA2B;IAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAClB,UAAU,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;QAC3C,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,qCAAqC;IACrC,IAAI,MAAuB,CAAC;IAE5B,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;IAC1D,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,GAAG,EAAE,2BAA2B,EAAE,SAAS,EAAE,mBAAmB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9F,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,eAAe;IACf,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEjC,+BAA+B;IAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,gBAAgB,CACpB,QAAQ,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,EAC5D,MAAM,CAAC,OAAO;gBACZ,CAAC,CAAC,4BAA4B;gBAC9B,CAAC,CAAC,gBAAgB,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CACtD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,gDAAgD;IAExF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IACxE,IAAI,EAAE,CAAC;AACT,CAAC"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Audit logger with HMAC-SHA256 signing
|
|
3
|
-
* Logs all task executions to
|
|
3
|
+
* Logs all task executions to local log directory with cryptographic signatures
|
|
4
4
|
*/
|
|
5
5
|
import { TaskLog } from './types.js';
|
|
6
6
|
/**
|
|
@@ -16,9 +16,9 @@ export declare function verifySignature(content: string, signature: string, secr
|
|
|
16
16
|
*/
|
|
17
17
|
export declare function formatTaskLog(log: TaskLog): string;
|
|
18
18
|
/**
|
|
19
|
-
* Save log to
|
|
19
|
+
* Save log to local log directory
|
|
20
20
|
*/
|
|
21
|
-
export declare function
|
|
21
|
+
export declare function saveLog(log: TaskLog): void;
|
|
22
22
|
/**
|
|
23
23
|
* Verify a log file's signature
|
|
24
24
|
*/
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,OAAO,EAAW,MAAM,YAAY,CAAC;AAG9C;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAGT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAsClD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAe1C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAiCA;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAO9F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAGhE"}
|