@crewx/cron 0.1.10-rc.15 → 0.1.10-rc.151

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.
@@ -11,12 +11,75 @@ export interface Schedule {
11
11
  timeout_ms: number;
12
12
  allow_concurrent: boolean;
13
13
  env?: Record<string, string>;
14
+ model?: string;
15
+ provider?: string;
14
16
  created_at: string;
15
17
  updated_at: string;
16
18
  run_count: number;
17
19
  last_run?: string;
20
+ last_started_at?: string;
21
+ last_occurrence_key?: string;
22
+ last_outcome?: string;
18
23
  next_run?: string | null;
19
24
  }
25
+ export type CronStoreErrorCode = 'CRON_STORE_CORRUPT' | 'CRON_STORE_LOCK_TIMEOUT' | 'CRON_SCHEDULE_NOT_FOUND' | 'CRON_SCHEDULE_EXISTS';
26
+ export declare class CronStoreError extends Error {
27
+ readonly code: CronStoreErrorCode;
28
+ readonly filePath?: string;
29
+ constructor(code: CronStoreErrorCode, message: string, filePath?: string);
30
+ }
31
+ export interface ScheduleStoreLock {
32
+ workspacePath: string;
33
+ lockPath: string;
34
+ token: string;
35
+ }
36
+ export interface ScheduleStoreUpdate {
37
+ cron?: string;
38
+ command?: string;
39
+ mode?: ExecutionMode;
40
+ enabled?: boolean;
41
+ name?: string | null;
42
+ working_directory?: string | null;
43
+ timezone?: string | null;
44
+ timeout_ms?: number;
45
+ allow_concurrent?: boolean;
46
+ env?: Record<string, string> | null;
47
+ model?: string | null;
48
+ provider?: string | null;
49
+ }
50
+ export interface RecordStartedOptions {
51
+ startedAt?: string;
52
+ occurrenceKey?: string;
53
+ }
54
+ export interface ClaimOccurrenceOptions {
55
+ occurrenceKey: string;
56
+ startedAt?: string;
57
+ }
58
+ export interface ClaimOccurrenceResult {
59
+ claimed: boolean;
60
+ schedule: Schedule;
61
+ }
62
+ export interface RecordFinishedOptions {
63
+ finishedAt?: string;
64
+ nextRun?: string | null;
65
+ outcome?: string;
66
+ success?: boolean;
67
+ }
68
+ export interface ScheduleStore {
69
+ readonly workspacePath: string;
70
+ readonly dataDir: string;
71
+ readonly schedulesFile: string;
72
+ readonly lockFile: string;
73
+ list(): Schedule[];
74
+ get(id: string): Schedule | undefined;
75
+ create(schedule: Schedule): Schedule;
76
+ update(id: string, changes: ScheduleStoreUpdate): Schedule;
77
+ remove(id: string): Schedule;
78
+ toggle(id: string, enabled?: boolean): Schedule;
79
+ claimOccurrence(id: string | Schedule, options: ClaimOccurrenceOptions): ClaimOccurrenceResult;
80
+ recordStarted(id: string | Schedule, options?: RecordStartedOptions | string): Schedule;
81
+ recordFinished(id: string | Schedule, options?: RecordFinishedOptions): Schedule;
82
+ }
20
83
  export interface DaemonStatus {
21
84
  running: boolean;
22
85
  pid: number | null;
@@ -30,6 +93,35 @@ export interface ExecuteResult {
30
93
  success: boolean;
31
94
  error?: string;
32
95
  }
96
+ export interface ExecuteScheduleOptions {
97
+ dir?: string;
98
+ trigger?: string;
99
+ occurrenceKey?: string;
100
+ overrides?: {
101
+ model?: string;
102
+ provider?: string;
103
+ };
104
+ }
105
+ export interface ExecuteScheduleRunning {
106
+ status: 'running';
107
+ taskId: string;
108
+ done: Promise<ExecuteResult>;
109
+ }
110
+ export interface ExecuteScheduleConflict {
111
+ status: 'conflict';
112
+ runningTaskId: string;
113
+ reason?: 'execution_lease' | 'occurrence_claim';
114
+ }
115
+ export interface ExecuteScheduleBlocked {
116
+ status: 'blocked';
117
+ reason: 'UPDATE_QUIESCING' | 'ADMISSION_UNKNOWN';
118
+ }
119
+ export type ExecuteScheduleOutcome = ExecuteScheduleRunning | ExecuteScheduleConflict | ExecuteScheduleBlocked;
120
+ export interface StartDaemonResult {
121
+ started: boolean;
122
+ pid?: number;
123
+ error?: string;
124
+ }
33
125
  export interface UpdateOptions {
34
126
  cron?: string;
35
127
  command?: string;
@@ -39,5 +131,7 @@ export interface UpdateOptions {
39
131
  working_directory?: string;
40
132
  timeout_ms?: number;
41
133
  allow_concurrent?: boolean;
134
+ model?: string | null;
135
+ provider?: string | null;
42
136
  }
43
137
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -1,3 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CronStoreError = void 0;
4
+ class CronStoreError extends Error {
5
+ constructor(code, message, filePath) {
6
+ super(message);
7
+ this.name = 'CronStoreError';
8
+ this.code = code;
9
+ this.filePath = filePath;
10
+ Object.setPrototypeOf(this, new.target.prototype);
11
+ }
12
+ }
13
+ exports.CronStoreError = CronStoreError;
3
14
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA0CA,MAAa,cAAe,SAAQ,KAAK;IAIvC,YAAY,IAAwB,EAAE,OAAe,EAAE,QAAiB;QACtE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAXD,wCAWC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/cron",
3
- "version": "0.1.10-rc.15",
3
+ "version": "0.1.10-rc.151",
4
4
  "description": "Cron Scheduler for CrewX - Schedule and execute crewx commands automatically",
5
5
  "type": "commonjs",
6
6
  "main": "dist/src/engine.js",
@@ -33,8 +33,8 @@
33
33
  ],
34
34
  "license": "MIT",
35
35
  "dependencies": {
36
- "@crewx/sdk": "0.8.8-rc.17",
37
- "@crewx/shared": "0.0.5"
36
+ "@crewx/sdk": "0.9.0-rc.116",
37
+ "@crewx/shared": "0.0.6-rc.31"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^20.0.0",