@crewx/cron 0.1.10-rc.22 → 0.1.10-rc.221

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.
@@ -0,0 +1,26 @@
1
+ export declare const CRON_RUN_LOG_DIR_NAME = "cron-runs";
2
+ export declare const CRON_RUN_TAIL_MAX_BYTES: number;
3
+ export declare const CRON_RUN_TAIL_MAX_LINES = 200;
4
+ export declare const CRON_RUN_LOG_MAX_BYTES: number;
5
+ export declare const CRON_RUN_LOG_WATCH_MS = 5000;
6
+ export declare const CRON_RUN_ORPHAN_LOG_GRACE_MS: number;
7
+ export declare function cronRunLogDir(workspacePath: string): string;
8
+ export declare function cronRunLogPath(workspacePath: string, runId: string): string;
9
+ export declare function runWorkspaceId(workspacePath: string): string;
10
+ export declare function openRunLog(logPath: string): number;
11
+ export interface RunOutputTail {
12
+ tail: string | null;
13
+ bytes: number;
14
+ }
15
+ export declare function readRunOutputTail(logPath: string): RunOutputTail;
16
+ export declare function enforceRunLogLimit(logPath: string): number | null;
17
+ export interface RunOutputWatch {
18
+ stop(): void;
19
+ state(): {
20
+ droppedBytes: number;
21
+ truncated: boolean;
22
+ };
23
+ }
24
+ export declare function watchRunLogLimit(logPath: string, intervalMs?: number): RunOutputWatch;
25
+ export declare function removeRunLog(logPath: string): boolean;
26
+
@@ -0,0 +1 @@
1
+ "use strict";var O=exports&&exports.__createBinding||(Object.create?(function(t,e,n,r){if(r===void 0)r=n;var u=Object.getOwnPropertyDescriptor(e,n);if(!u||("get"in u?!e.__esModule:u.writable||u.configurable)){u={enumerable:true,get:function(){return e[n]}}}Object.defineProperty(t,r,u)}):(function(t,e,n,r){if(r===void 0)r=n;t[r]=e[n]}));var L=exports&&exports.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:true,value:e})}):function(t,e){t["default"]=e});var s=exports&&exports.__importStar||(function(){var t=function(e){t=Object.getOwnPropertyNames||function(n){var r=[];for(var u in n)if(Object.prototype.hasOwnProperty.call(n,u))r[r.length]=u;return r};return t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null){for(var r=t(e),u=0;u<r.length;u++)if(r[u]!=="default")O(n,e,r[u])}L(n,e);return n}})();Object.defineProperty(exports,"__esModule",{value:true});exports.CRON_RUN_ORPHAN_LOG_GRACE_MS=exports.CRON_RUN_LOG_WATCH_MS=exports.CRON_RUN_LOG_MAX_BYTES=exports.CRON_RUN_TAIL_MAX_LINES=exports.CRON_RUN_TAIL_MAX_BYTES=exports.CRON_RUN_LOG_DIR_NAME=void 0;exports.cronRunLogDir=R;exports.cronRunLogPath=d;exports.runWorkspaceId=y;exports.openRunLog=A;exports.readRunOutputTail=S;exports.enforceRunLogLimit=N;exports.watchRunLogLimit=p;exports.removeRunLog=g;const i=s(require("fs"));const a=s(require("path"));const f=require("@crewx/sdk");exports.CRON_RUN_LOG_DIR_NAME="cron-runs";exports.CRON_RUN_TAIL_MAX_BYTES=16*1024;exports.CRON_RUN_TAIL_MAX_LINES=200;exports.CRON_RUN_LOG_MAX_BYTES=32*1024*1024;exports.CRON_RUN_LOG_WATCH_MS=5e3;exports.CRON_RUN_ORPHAN_LOG_GRACE_MS=60*60*1e3;function R(t){return a.join(t,".crewx",exports.CRON_RUN_LOG_DIR_NAME)}function d(t,e){return a.join(R(t),`${e}.log`)}function y(t){return(0,f.hashWorkspaceId)((0,f.resolveWorkspaceOwnerPath)(t))}function A(t){i.mkdirSync(a.dirname(t),{recursive:true});return i.openSync(t,"a")}function S(t){let e;try{e=i.statSync(t).size}catch{return{tail:null,bytes:0}}if(e===0)return{tail:"",bytes:0};const n=Math.max(0,e-exports.CRON_RUN_TAIL_MAX_BYTES);const r=e-n;const u=new Uint8Array(r);const _=i.openSync(t,"r");try{i.readSync(_,u,0,r,n)}finally{i.closeSync(_)}let o=Buffer.from(u).toString("utf8");if(n>0){const l=o.indexOf("\n");o=l===-1?"":o.slice(l+1)}const c=o.split("\n");if(c.length>0&&c[c.length-1]==="")c.pop();return{tail:c.slice(-exports.CRON_RUN_TAIL_MAX_LINES).join("\n"),bytes:e}}function N(t){let e;try{e=i.statSync(t).size}catch{return null}if(e<=exports.CRON_RUN_LOG_MAX_BYTES)return null;try{i.truncateSync(t,0);return e}catch(n){console.warn(`[cron] could not truncate run output ${t}: ${n.message}`);return null}}function p(t,e=exports.CRON_RUN_LOG_WATCH_MS){let n=0;let r=false;const u=setInterval(()=>{const _=N(t);if(_===null)return;n+=_;r=true},e);u.unref();return{stop:()=>clearInterval(u),state:()=>({droppedBytes:n,truncated:r})}}function g(t){try{i.unlinkSync(t);return true}catch(e){if(e.code==="ENOENT")return true;return false}}
@@ -0,0 +1,130 @@
1
+ import type { AppScheduleAvailability, ProcessLeaseAcquireResult, ProcessLeaseOptions } from '@crewx/sdk';
2
+ import { shouldRunNow } from './engine';
3
+ import type { ExecuteScheduleOptions, ExecuteScheduleOutcome, Schedule, ScheduleStore } from './types';
4
+ export declare const CRON_RUNTIME_PROCESS_LEASE_FILENAME = "cron-runtime-process-lease.json";
5
+ export interface CronRuntimeWorkspace {
6
+ id: string;
7
+ path: string;
8
+ }
9
+ export interface CronRuntimeSnapshot {
10
+ enabled: boolean;
11
+ workspaces: CronRuntimeWorkspace[];
12
+ }
13
+ export type CronRuntimeRole = 'owner' | 'standby' | 'disabled' | 'draining' | 'stopped';
14
+ export type CronRuntimeWorkspaceState = 'registered' | 'ready' | 'degraded';
15
+ export interface CronRuntimeWorkspaceStatus {
16
+ id: string;
17
+ path: string;
18
+ state: CronRuntimeWorkspaceState;
19
+ scheduleCount: number;
20
+ revision: number;
21
+ fenced: boolean;
22
+ lastError?: {
23
+ code?: string;
24
+ message: string;
25
+ };
26
+ }
27
+ export interface CronRuntimeStatus {
28
+ enabled: boolean;
29
+ role: CronRuntimeRole;
30
+ activeTick: boolean;
31
+ draining: boolean;
32
+ stopped: boolean;
33
+ ownerId: string | null;
34
+ leaseId: string | null;
35
+ leasePath: string;
36
+ standbyReason?: string;
37
+ workspaces: CronRuntimeWorkspaceStatus[];
38
+ workspace?: CronRuntimeWorkspaceStatus;
39
+ }
40
+ export declare function scheduledPeriodicAvailability(status: CronRuntimeStatus): AppScheduleAvailability;
41
+ export type CronRuntimeScheduleResultStatus = ExecuteScheduleOutcome['status'] | 'error' | 'skipped';
42
+ export interface CronRuntimeScheduleResult {
43
+ scheduleId: string;
44
+ occurrenceKey: string;
45
+ status: CronRuntimeScheduleResultStatus;
46
+ accepted: boolean;
47
+ runId?: string;
48
+ taskId?: string;
49
+ reason?: string;
50
+ error?: string;
51
+ }
52
+ export interface CronRuntimeWorkspaceTickResult {
53
+ id: string;
54
+ path: string;
55
+ status: 'completed' | 'degraded' | 'skipped';
56
+ scheduleCount: number;
57
+ dueCount: number;
58
+ dispatched: number;
59
+ schedules: CronRuntimeScheduleResult[];
60
+ error?: {
61
+ code?: string;
62
+ message: string;
63
+ };
64
+ }
65
+ export type CronRuntimeFenceToken = string;
66
+ export interface CronRuntimeFenceResult {
67
+ token: CronRuntimeFenceToken;
68
+ status: CronRuntimeStatus;
69
+ }
70
+ export interface CronRuntimeAdmissionContext {
71
+ workspace: CronRuntimeWorkspace;
72
+ schedule: Schedule;
73
+ occurrenceKey: string;
74
+ revision: number;
75
+ }
76
+ export type CronRuntimeBeforeExecutorAdmission = (context: CronRuntimeAdmissionContext) => Promise<void> | void;
77
+ export interface CronRuntimeTestHooks {
78
+ beforeExecutorAdmission?: CronRuntimeBeforeExecutorAdmission;
79
+ }
80
+ export type CronRuntimeTickSkipReason = 'disabled' | 'standby' | 'draining' | 'stopped' | 'reentrant';
81
+ export interface CronRuntimeTickResult {
82
+ status: 'completed' | 'skipped';
83
+ skipped: boolean;
84
+ reason?: CronRuntimeTickSkipReason;
85
+ role: CronRuntimeRole;
86
+ now: string;
87
+ activeTick: boolean;
88
+ dispatched: number;
89
+ workspaces: CronRuntimeWorkspaceTickResult[];
90
+ }
91
+ export interface CronRuntimeStopResult {
92
+ status: 'stopped' | 'timeout';
93
+ timedOut: boolean;
94
+ drained: boolean;
95
+ leaseReleased: boolean;
96
+ role: CronRuntimeRole;
97
+ activeTick: boolean;
98
+ }
99
+ export interface CronRuntimeProcessLeaseProvider {
100
+ acquire(options: ProcessLeaseOptions): ProcessLeaseAcquireResult;
101
+ }
102
+ export type CronRuntimeStoreFactory = (workspace: CronRuntimeWorkspace) => ScheduleStore;
103
+ export type CronRuntimeExecutor = (schedule: Schedule, options?: ExecuteScheduleOptions) => Promise<ExecuteScheduleOutcome>;
104
+ export type CronRuntimeShouldRunNow = typeof shouldRunNow;
105
+ export interface CronRuntimeOptions {
106
+ leasePath?: string;
107
+ ownerId?: string;
108
+ processLease?: CronRuntimeProcessLeaseProvider;
109
+ leaseProvider?: CronRuntimeProcessLeaseProvider;
110
+ storeFactory?: CronRuntimeStoreFactory;
111
+ executeSchedule?: CronRuntimeExecutor;
112
+ executor?: CronRuntimeExecutor;
113
+ shouldRunNow?: CronRuntimeShouldRunNow;
114
+ testHooks?: CronRuntimeTestHooks;
115
+ }
116
+ export interface CronRuntime {
117
+ reconcile(snapshot: CronRuntimeSnapshot): Promise<CronRuntimeStatus>;
118
+ tick(now?: Date): Promise<CronRuntimeTickResult>;
119
+ beginDrain(): void;
120
+ stop(options?: {
121
+ deadlineMs?: number;
122
+ }): Promise<CronRuntimeStopResult>;
123
+ status(workspaceId?: string): CronRuntimeStatus;
124
+ register(workspace: CronRuntimeWorkspace): CronRuntimeStatus;
125
+ unregister(workspaceId: string): CronRuntimeStatus;
126
+ fence(workspaceId: string): CronRuntimeFenceResult;
127
+ releaseFence(workspaceId: string, token: CronRuntimeFenceToken): CronRuntimeStatus;
128
+ }
129
+ export declare function createCronRuntime(options?: CronRuntimeOptions): CronRuntime;
130
+
@@ -0,0 +1 @@
1
+ "use strict";var p=exports&&exports.__createBinding||(Object.create?(function(r,e,s,i){if(i===void 0)i=s;var t=Object.getOwnPropertyDescriptor(e,s);if(!t||("get"in t?!e.__esModule:t.writable||t.configurable)){t={enumerable:true,get:function(){return e[s]}}}Object.defineProperty(r,i,t)}):(function(r,e,s,i){if(i===void 0)i=s;r[i]=e[s]}));var f=exports&&exports.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:true,value:e})}):function(r,e){r["default"]=e});var k=exports&&exports.__importStar||(function(){var r=function(e){r=Object.getOwnPropertyNames||function(s){var i=[];for(var t in s)if(Object.prototype.hasOwnProperty.call(s,t))i[i.length]=t;return i};return r(e)};return function(e){if(e&&e.__esModule)return e;var s={};if(e!=null){for(var i=r(e),t=0;t<i.length;t++)if(i[t]!=="default")p(s,e,i[t])}f(s,e);return s}})();Object.defineProperty(exports,"__esModule",{value:true});exports.CRON_RUNTIME_PROCESS_LEASE_FILENAME=void 0;exports.scheduledPeriodicAvailability=v;exports.createCronRuntime=S;const w=require("node:crypto");const g=k(require("node:path"));const h=require("@crewx/sdk");const d=require("./engine");exports.CRON_RUNTIME_PROCESS_LEASE_FILENAME="cron-runtime-process-lease.json";const l=5e3;function v(r){if(r.draining||r.role==="draining")return{periodic:"unavailable",reason:"draining"};if(!r.enabled||r.stopped||r.role==="disabled"||r.role==="stopped"){return{periodic:"unavailable",reason:"disabled"}}if(r.role!=="owner")return{periodic:"unavailable",reason:"standby"};const e=r.workspace;if(e===void 0||e.state!=="ready"||e.fenced){return{periodic:"unavailable",reason:"degraded"}}return{periodic:"available"}}const u=new Map;function c(r){const e=r;return{...typeof e?.code==="string"?{code:e.code}:{},message:e?.message instanceof String?e.message.toString():e&&typeof e.message==="string"?e.message:String(r)}}function m(r){return{...r,...r.lastError?{lastError:{...r.lastError}}:{}}}function b(r,e){return`${r}\0${e}`}function R(r){try{return(0,h.resolveProcessLeasePath)(r)}catch{return g.resolve(r)}}function P(r){if(r===void 0)return l;if(!Number.isFinite(r))return l;return Math.max(0,r)}class I{constructor(e={}){this.runtimeToken=Symbol("cron-runtime");this.enabled=false;this.draining=false;this.stopped=false;this.role="standby";this.ownerId=null;this.leaseId=null;this.workspaces=new Map;this.workspaceRevisions=new Map;this.workspaceFences=new Map;this.operations=new Set;this.reconcileQueue=Promise.resolve();this.requestedLeasePath=e.leasePath??exports.CRON_RUNTIME_PROCESS_LEASE_FILENAME;this.resolvedLeasePath=R(this.requestedLeasePath);this.configuredOwnerId=e.ownerId;this.leaseProvider=e.processLease??e.leaseProvider??{acquire:h.acquireProcessLease};this.storeFactory=e.storeFactory??(s=>(0,d.createScheduleStore)(s.path));this.executor=e.executeSchedule??e.executor??d.executeSchedule;this.runPredicate=e.shouldRunNow??d.shouldRunNow;this.testHooks=e.testHooks}nextWorkspaceRevision(e){const s=(this.workspaceRevisions.get(e)??0)+1;this.workspaceRevisions.set(e,s);return s}isWorkspaceFenced(e){return(this.workspaceFences.get(e)?.size??0)>0}setWorkspaceFenceStatus(e,s){const i=this.workspaces.get(e);if(!i)return;i.status={...i.status,fenced:s}}register(e){if(this.stopped||this.draining)return this.status();const s=this.workspaces.get(e.id);const i=s&&s.workspace.path===e.path?s.revision:this.nextWorkspaceRevision(e.id);this.workspaces.set(e.id,{workspace:{...e},revision:i,status:{id:e.id,path:e.path,state:"registered",scheduleCount:0,revision:i,fenced:this.isWorkspaceFenced(e.id)}});return this.status()}unregister(e){if(this.workspaces.delete(e))this.nextWorkspaceRevision(e);this.workspaceFences.delete(e);return this.status()}fence(e){const s=(0,w.randomUUID)();const i=this.workspaceFences.get(e)??new Set;i.add(s);this.workspaceFences.set(e,i);this.setWorkspaceFenceStatus(e,true);return{token:s,status:this.status(e)}}releaseFence(e,s){const i=this.workspaceFences.get(e);if(i?.delete(s)){if(i.size===0)this.workspaceFences.delete(e);this.setWorkspaceFenceStatus(e,this.isWorkspaceFenced(e))}return this.status(e)}reconcile(e){const s=this.reconcileQueue.then(()=>this.applyReconcile(e));this.reconcileQueue=s.then(()=>void 0,()=>void 0);return this.track(s)}async tick(e=new Date){if(this.activeTickPromise){return this.skippedTick("reentrant",e,true)}const s=this.track(this.performTick(new Date(e.getTime())));this.activeTickPromise=s;void s.then(()=>this.clearActiveTick(s),()=>this.clearActiveTick(s));return s}beginDrain(){if(this.stopped)return;this.draining=true;this.role="draining"}stop(e={}){if(this.stopped&&this.stopPromise)return this.stopPromise;if(this.stopPromise)return this.stopPromise;this.beginDrain();const s=this.waitForDrain(P(e.deadlineMs)).then(i=>{if(!i){return{status:"timeout",timedOut:true,drained:false,leaseReleased:false,role:this.publicRole(),activeTick:this.activeTickPromise!==void 0}}this.stopped=true;const t=this.releaseLease();this.role="stopped";return{status:"stopped",timedOut:false,drained:true,leaseReleased:t,role:this.publicRole(),activeTick:this.activeTickPromise!==void 0}});this.stopPromise=s;void s.then(i=>{if(i.status==="timeout")this.stopPromise=void 0});return s}status(e){const s=Array.from(this.workspaces.values(),({status:t})=>m(t));const i=e===void 0?void 0:s.find(t=>t.id===e);return{enabled:this.enabled,role:this.publicRole(),activeTick:this.activeTickPromise!==void 0,draining:this.draining,stopped:this.stopped,ownerId:this.ownerId,leaseId:this.leaseId,leasePath:this.resolvedLeasePath,...this.standbyReason?{standbyReason:this.standbyReason}:{},workspaces:s,...i?{workspace:i}:{}}}async applyReconcile(e){if(this.stopped||this.draining)return this.status();this.enabled=e.enabled;const s=new Set(e.workspaces.map(t=>t.id));for(const t of this.workspaces.keys()){if(!s.has(t))this.nextWorkspaceRevision(t)}const i=new Map;for(const t of e.workspaces){const o=this.workspaces.get(t.id);const n=o&&o.workspace.path===t.path?o.revision:this.nextWorkspaceRevision(t.id);i.set(t.id,{workspace:{...t},revision:n,status:o&&o.workspace.path===t.path?{...o.status,path:t.path,revision:n,fenced:this.isWorkspaceFenced(t.id)}:{id:t.id,path:t.path,state:"registered",scheduleCount:0,revision:n,fenced:this.isWorkspaceFenced(t.id)}})}this.workspaces.clear();for(const[t,o]of i)this.workspaces.set(t,o);await Promise.all(Array.from(this.workspaces.values(),t=>this.inspectWorkspace(t)));if(this.enabled&&!this.draining&&!this.stopped){this.ensureOwner()}else if(!this.enabled){this.role="disabled"}return this.status()}inspectWorkspace(e){try{const s=this.storeFactory(e.workspace).list();e.status={id:e.workspace.id,path:e.workspace.path,state:"ready",scheduleCount:s.length,revision:e.revision,fenced:this.isWorkspaceFenced(e.workspace.id)}}catch(s){e.status={id:e.workspace.id,path:e.workspace.path,state:"degraded",scheduleCount:0,revision:e.revision,fenced:this.isWorkspaceFenced(e.workspace.id),lastError:c(s)}}}async performTick(e){if(this.stopped)return this.skippedTick("stopped",e,false);if(this.draining)return this.skippedTick("draining",e,false);if(!this.enabled)return this.skippedTick("disabled",e,false);if(!this.ensureOwner())return this.skippedTick("standby",e,false);const s=Array.from(this.workspaces.values());const i=await Promise.all(s.map(t=>this.tickWorkspace(t,e)));return{status:"completed",skipped:false,role:this.publicRole(),now:e.toISOString(),activeTick:true,dispatched:i.reduce((t,o)=>t+o.dispatched,0),workspaces:i}}async tickWorkspace(e,s){if(this.draining||this.stopped){return{id:e.workspace.id,path:e.workspace.path,status:"skipped",scheduleCount:e.status.scheduleCount,dueCount:0,dispatched:0,schedules:[]}}let i;try{i=this.storeFactory(e.workspace).list();e.status={id:e.workspace.id,path:e.workspace.path,state:"ready",scheduleCount:i.length,revision:e.revision,fenced:this.isWorkspaceFenced(e.workspace.id)}}catch(n){const a=c(n);e.status={id:e.workspace.id,path:e.workspace.path,state:"degraded",scheduleCount:0,revision:e.revision,fenced:this.isWorkspaceFenced(e.workspace.id),lastError:a};return{id:e.workspace.id,path:e.workspace.path,status:"degraded",scheduleCount:0,dueCount:0,dispatched:0,schedules:[],error:a}}this.sweepRunRecords(e,s);const t=[];for(const n of i){if(!(0,d.effectiveEnabled)(n))continue;try{if(!this.runPredicate(n.cron,s,n.timezone))continue;const a=(0,d.getLocalMinuteKey)(s,n.timezone);t.push({schedule:n,occurrenceKey:(0,d.buildOccurrenceKey)(n.cron,a)})}catch{}}const o=await Promise.all(t.map(n=>this.admitSchedule(e.workspace,e.revision,n.schedule,n.occurrenceKey)));return{id:e.workspace.id,path:e.workspace.path,status:"completed",scheduleCount:i.length,dueCount:t.length,dispatched:o.filter(n=>n.accepted).length,schedules:o}}sweepRunRecords(e,s){if(e.nextRunSweepAt!==void 0&&s.getTime()<e.nextRunSweepAt)return;e.nextRunSweepAt=s.getTime()+d.SCHEDULE_RUN_SWEEP_INTERVAL_MS;try{(0,d.sweepScheduleRuns)({dir:e.workspace.path,now:s})}catch(i){console.warn(`[cron] run record sweep failed for ${e.workspace.path}: ${c(i).message}`)}}async admitSchedule(e,s,i,t){if(this.draining||this.stopped){return{scheduleId:i.id,occurrenceKey:t,status:"skipped",accepted:false,reason:this.stopped?"stopped":"draining"}}const o=this.testHooks?.beforeExecutorAdmission;if(o){await o({workspace:e,schedule:i,occurrenceKey:t,revision:s})}if(this.draining||this.stopped){return{scheduleId:i.id,occurrenceKey:t,status:"skipped",accepted:false,reason:this.stopped?"stopped":"draining"}}const n=this.workspaces.get(e.id);if(!n||n.workspace.path!==e.path||n.revision!==s){return{scheduleId:i.id,occurrenceKey:t,status:"skipped",accepted:false,reason:"workspace-unregistered"}}if(this.isWorkspaceFenced(e.id)){return{scheduleId:i.id,occurrenceKey:t,status:"skipped",accepted:false,reason:"workspace-fenced"}}try{const a=await this.executor(i,{dir:e.path,trigger:"cron",occurrenceKey:t});return{scheduleId:i.id,occurrenceKey:t,status:a.status,accepted:a.status==="running",..."runId"in a?{runId:a.runId}:{},..."taskId"in a&&a.taskId!==void 0?{taskId:a.taskId}:{},..."reason"in a&&a.reason?{reason:a.reason}:{}}}catch(a){return{scheduleId:i.id,occurrenceKey:t,status:"error",accepted:false,error:c(a).message}}}ensureOwner(){if(this.lease){try{if(this.lease.renew&&!this.lease.renew()){this.forgetLease()}else{this.role="owner";this.standbyReason=void 0;return true}}catch{this.forgetLease()}}if(this.stopped||this.draining||!this.enabled)return false;let e;try{const t={leasePath:this.requestedLeasePath,...this.configuredOwnerId?{ownerId:this.configuredOwnerId}:{}};e=this.leaseProvider.acquire(t)}catch(t){this.role="standby";this.standbyReason=`lease-error:${c(t).message}`;return false}if(!e.acquired){this.role="standby";this.standbyReason=e.reason;this.ownerId=e.record?.ownerId??null;this.leaseId=e.record?.leaseId??null;return false}const s=b(this.resolvedLeasePath,e.ownerId);const i=u.get(s);if(i&&i.runtimeToken!==this.runtimeToken){this.role="standby";this.standbyReason="process-local-owner";this.ownerId=e.ownerId;this.leaseId=e.leaseId;return false}this.lease=e.lease;this.leaseKey=s;this.ownerId=e.ownerId;this.leaseId=e.leaseId;u.set(s,{runtimeToken:this.runtimeToken,ownerId:e.ownerId,lease:e.lease});this.role="owner";this.standbyReason=void 0;return true}forgetLease(){if(this.leaseKey){const e=u.get(this.leaseKey);if(e?.runtimeToken===this.runtimeToken)u.delete(this.leaseKey)}this.lease=void 0;this.leaseKey=void 0;this.ownerId=null;this.leaseId=null;this.role="standby";this.standbyReason="lease-lost"}releaseLease(){if(!this.lease)return true;let e=false;try{e=this.lease.release()}catch{e=false}if(e)this.forgetLease();return e}publicRole(){if(this.stopped)return"stopped";if(this.draining)return"draining";if(!this.enabled)return"disabled";return this.role}skippedTick(e,s,i){return{status:"skipped",skipped:true,reason:e,role:this.publicRole(),now:s.toISOString(),activeTick:i||this.activeTickPromise!==void 0,dispatched:0,workspaces:[]}}clearActiveTick(e){if(this.activeTickPromise===e)this.activeTickPromise=void 0}track(e){let s;s=e.finally(()=>this.operations.delete(s));this.operations.add(s);return s}async waitForDrain(e){const s=Array.from(this.operations);if(s.length===0)return true;const i=Promise.allSettled(s).then(()=>true);if(e<=0)return false;let t;const o=new Promise(a=>{t=setTimeout(()=>a(false),e)});const n=await Promise.race([i,o]);if(t!==void 0)clearTimeout(t);return n}}function S(r={}){return new I(r)}
@@ -1,3 +1,6 @@
1
+ import type { ChildProcess } from 'child_process';
2
+ import type { AppScheduleBinding, AppScheduleOwner, AppScheduleRunVerdict, AppScheduleTemplate, ScheduleTrigger } from '@crewx/sdk';
3
+ export type { AppScheduleBinding, AppScheduleOwner, AppScheduleRunVerdict, AppScheduleTemplate, ScheduleTrigger };
1
4
  export type ExecutionMode = 'query' | 'execute' | 'command';
2
5
  export interface Schedule {
3
6
  id: string;
@@ -11,12 +14,108 @@ export interface Schedule {
11
14
  timeout_ms: number;
12
15
  allow_concurrent: boolean;
13
16
  env?: Record<string, string>;
17
+ model?: string;
18
+ provider?: string;
19
+ app?: AppScheduleBinding;
14
20
  created_at: string;
15
21
  updated_at: string;
16
22
  run_count: number;
17
23
  last_run?: string;
24
+ last_started_at?: string;
25
+ last_occurrence_key?: string;
26
+ last_outcome?: string;
27
+ last_error_code?: string;
18
28
  next_run?: string | null;
19
29
  }
30
+ export type CronStoreErrorCode = 'CRON_STORE_CORRUPT' | 'CRON_STORE_LOCK_TIMEOUT' | 'CRON_SCHEDULE_NOT_FOUND' | 'CRON_SCHEDULE_EXISTS' | 'CRON_SCHEDULE_MANAGED';
31
+ export declare class CronStoreError extends Error {
32
+ readonly code: CronStoreErrorCode;
33
+ readonly filePath?: string;
34
+ constructor(code: CronStoreErrorCode, message: string, filePath?: string);
35
+ }
36
+ export interface ScheduleStoreLock {
37
+ workspacePath: string;
38
+ lockPath: string;
39
+ token: string;
40
+ }
41
+ export interface ScheduleStoreUpdate {
42
+ cron?: string;
43
+ command?: string;
44
+ mode?: ExecutionMode;
45
+ enabled?: boolean;
46
+ name?: string | null;
47
+ working_directory?: string | null;
48
+ timezone?: string | null;
49
+ timeout_ms?: number;
50
+ allow_concurrent?: boolean;
51
+ env?: Record<string, string> | null;
52
+ model?: string | null;
53
+ provider?: string | null;
54
+ }
55
+ export interface RecordStartedOptions {
56
+ startedAt?: string;
57
+ occurrenceKey?: string;
58
+ }
59
+ export interface ClaimOccurrenceOptions {
60
+ occurrenceKey: string;
61
+ startedAt?: string;
62
+ }
63
+ export interface ClaimOccurrenceResult {
64
+ claimed: boolean;
65
+ schedule: Schedule;
66
+ }
67
+ export interface RecordFinishedOptions {
68
+ finishedAt?: string;
69
+ nextRun?: string | null;
70
+ outcome?: string;
71
+ success?: boolean;
72
+ errorCode?: string;
73
+ }
74
+ export interface AppScheduleChildExit {
75
+ readonly code: number | null;
76
+ readonly signal: NodeJS.Signals | null;
77
+ }
78
+ export type AppScheduleSettle = (exit: AppScheduleChildExit) => AppScheduleRunVerdict;
79
+ export interface ScheduleStore {
80
+ readonly workspacePath: string;
81
+ readonly dataDir: string;
82
+ readonly schedulesFile: string;
83
+ readonly lockFile: string;
84
+ list(): Schedule[];
85
+ get(id: string): Schedule | undefined;
86
+ create(schedule: Schedule): Schedule;
87
+ update(id: string, changes: ScheduleStoreUpdate): Schedule;
88
+ remove(id: string): Schedule;
89
+ toggle(id: string, enabled?: boolean): Schedule;
90
+ claimOccurrence(id: string | Schedule, options: ClaimOccurrenceOptions): ClaimOccurrenceResult;
91
+ recordStarted(id: string | Schedule, options?: RecordStartedOptions | string): Schedule;
92
+ recordFinished(id: string | Schedule, options?: RecordFinishedOptions): Schedule;
93
+ setAppSchedule(owner: AppScheduleOwner, template: AppScheduleTemplate, enabled?: boolean): AppScheduleWrite;
94
+ recordSkipped(id: string, record: AppScheduleSkipRecord): Schedule;
95
+ removeAppSchedule(appId: string): Schedule | undefined;
96
+ }
97
+ export interface AppScheduleWrite {
98
+ readonly schedule: Schedule;
99
+ readonly started: boolean;
100
+ }
101
+ export interface AppScheduleSkipRecord {
102
+ readonly outcome: string;
103
+ readonly errorCode: string | null;
104
+ readonly finishedAt?: string;
105
+ }
106
+ export type AppScheduleLaunchDecision = {
107
+ readonly kind: 'spawn';
108
+ readonly child: ChildProcess;
109
+ readonly settle: AppScheduleSettle;
110
+ } | {
111
+ readonly kind: 'skip' | 'disable' | 'remove';
112
+ readonly code: string;
113
+ } | {
114
+ readonly kind: 'refresh';
115
+ readonly owner: AppScheduleOwner;
116
+ readonly template: AppScheduleTemplate;
117
+ };
118
+ export type AppScheduleLauncher = (schedule: Schedule) => AppScheduleLaunchDecision | Promise<AppScheduleLaunchDecision>;
20
119
  export interface DaemonStatus {
21
120
  running: boolean;
22
121
  pid: number | null;
@@ -30,6 +129,44 @@ export interface ExecuteResult {
30
129
  success: boolean;
31
130
  error?: string;
32
131
  }
132
+ export interface ExecuteScheduleOptions {
133
+ dir?: string;
134
+ trigger?: ScheduleTrigger;
135
+ occurrenceKey?: string;
136
+ overrides?: {
137
+ model?: string;
138
+ provider?: string;
139
+ };
140
+ launchApp?: AppScheduleLauncher;
141
+ }
142
+ export interface ExecuteScheduleRunning {
143
+ status: 'running';
144
+ runId: string;
145
+ taskId?: string;
146
+ done: Promise<ExecuteResult>;
147
+ }
148
+ export interface ExecuteScheduleSkipped {
149
+ status: 'skipped';
150
+ taskId?: undefined;
151
+ reason: string;
152
+ lifecycle: 'skip' | 'disable' | 'remove' | 'refresh';
153
+ }
154
+ export interface ExecuteScheduleConflict {
155
+ status: 'conflict';
156
+ runningTaskId: string;
157
+ runningRunId?: string;
158
+ reason?: 'execution_lease' | 'occurrence_claim';
159
+ }
160
+ export interface ExecuteScheduleBlocked {
161
+ status: 'blocked';
162
+ reason: 'UPDATE_QUIESCING' | 'ADMISSION_UNKNOWN' | 'APP_LAUNCHER_UNAVAILABLE' | 'APP_ROW_INVALID' | 'MODE_UNSUPPORTED' | 'TRIGGER_UNSUPPORTED';
163
+ }
164
+ export type ExecuteScheduleOutcome = ExecuteScheduleRunning | ExecuteScheduleConflict | ExecuteScheduleBlocked | ExecuteScheduleSkipped;
165
+ export interface StartDaemonResult {
166
+ started: boolean;
167
+ pid?: number;
168
+ error?: string;
169
+ }
33
170
  export interface UpdateOptions {
34
171
  cron?: string;
35
172
  command?: string;
@@ -39,5 +176,7 @@ export interface UpdateOptions {
39
176
  working_directory?: string;
40
177
  timeout_ms?: number;
41
178
  allow_concurrent?: boolean;
179
+ model?: string | null;
180
+ provider?: string | null;
42
181
  }
43
- //# sourceMappingURL=types.d.ts.map
182
+
package/dist/src/types.js CHANGED
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CronStoreError=void 0;class o extends Error{constructor(r,e,t){super(e);this.name="CronStoreError";this.code=r;this.filePath=t;Object.setPrototypeOf(this,new.target.prototype)}}exports.CronStoreError=o;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/cron",
3
- "version": "0.1.10-rc.22",
3
+ "version": "0.1.10-rc.221",
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.24",
37
- "@crewx/shared": "0.0.5"
36
+ "@crewx/sdk": "0.9.0-rc.186",
37
+ "@crewx/shared": "0.0.6-rc.101"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^20.0.0",
package/dist/cli.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":";AAmIA,wBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+U9D"}
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../cli.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
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 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"root":["../src/engine.ts","../src/types.ts","../cli.ts"],"version":"5.9.3"}