@@ -24,7 +24,7 @@ export const ExampleCRMManifest: ObjectStackManifest = {
2424 'system.user.read' ,
2525 'system.data.write' ,
2626 ] ,
27- // In v0.4.1 , objects are defined via glob patterns pointing to object definition files
27+ // In v0.6.0 , objects are defined via glob patterns pointing to object definition files
2828 // Object files should be YAML or TypeScript files following the object schema
2929 objects : [ './objects/*.object.yml' ] ,
3030
@@ -115,8 +115,10 @@ export const ExampleCRMPlugin: PluginDefinition = {
115115 } ) ;
116116
117117 // Register scheduled jobs (if scheduler is available)
118- if ( context . app . scheduler ) {
119- context . app . scheduler . schedule (
118+ // Note: Scheduler is not part of the @objectstack /spec yet, but can be added by implementations
119+ const appWithScheduler = context . app as any ;
120+ if ( appWithScheduler . scheduler ) {
121+ appWithScheduler . scheduler . schedule (
120122 'clean-old-leads' ,
121123 '0 0 * * 0' , // Every Sunday at midnight
122124 async ( ) => {
@@ -183,9 +185,9 @@ export const ExampleCRMPlugin: PluginDefinition = {
183185 * await os.init();
184186 * ```
185187 *
186- * ## Plugin Architecture Notes (v0.4.1 )
188+ * ## Plugin Architecture Notes (v0.6.0 )
187189 *
188- * In the ObjectStack spec v0.4.1 , plugins are separated into two parts:
190+ * In the ObjectStack spec v0.6.0 , plugins are separated into two parts:
189191 *
190192 * 1. **Manifest** (@objectstack/spec/system/ManifestSchema)
191193 * - Static configuration (id, version, name, permissions)
0 commit comments