@xtr-dev/payload-automation 0.0.4 → 0.0.6

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.
@@ -16,6 +16,8 @@ const applyCollectionsConfig = (pluginOptions, config)=>{
16
16
  }
17
17
  config.collections.push(createWorkflowCollection(pluginOptions), WorkflowRunsCollection);
18
18
  };
19
+ // Track if hooks have been initialized to prevent double registration
20
+ let hooksInitialized = false;
19
21
  export const workflowsPlugin = (pluginOptions)=>(config)=>{
20
22
  // If the plugin is disabled, return config unchanged
21
23
  if (pluginOptions.enabled === false) {
@@ -28,6 +30,7 @@ export const workflowsPlugin = (pluginOptions)=>(config)=>{
28
30
  };
29
31
  }
30
32
  const configLogger = getConfigLogger();
33
+ configLogger.info(`Configuring workflow plugin with ${Object.keys(pluginOptions.collectionTriggers || {}).length} collection triggers`);
31
34
  // Generate cron tasks for workflows with cron triggers
32
35
  generateCronTasks(config);
33
36
  for (const step of pluginOptions.steps){
@@ -43,22 +46,38 @@ export const workflowsPlugin = (pluginOptions)=>(config)=>{
43
46
  // Set up onInit to register collection hooks and initialize features
44
47
  const incomingOnInit = config.onInit;
45
48
  config.onInit = async (payload)=>{
49
+ configLogger.info(`onInit called - hooks already initialized: ${hooksInitialized}, collections: ${Object.keys(payload.collections).length}`);
50
+ // Prevent double initialization in dev mode
51
+ if (hooksInitialized) {
52
+ configLogger.warn('Hooks already initialized, skipping to prevent duplicate registration');
53
+ return;
54
+ }
46
55
  // Execute any existing onInit functions first
47
56
  if (incomingOnInit) {
57
+ configLogger.debug('Executing existing onInit function');
48
58
  await incomingOnInit(payload);
49
59
  }
50
60
  // Initialize the logger with the payload instance
51
61
  const logger = initializeLogger(payload);
62
+ logger.info('Logger initialized with payload instance');
63
+ // Log collection trigger configuration
64
+ logger.info(`Plugin configuration: ${Object.keys(pluginOptions.collectionTriggers || {}).length} collection triggers, ${pluginOptions.steps?.length || 0} steps`);
52
65
  // Create workflow executor instance
53
66
  const executor = new WorkflowExecutor(payload, logger);
54
67
  // Initialize hooks
68
+ logger.info('Initializing collection hooks...');
55
69
  initCollectionHooks(pluginOptions, payload, logger, executor);
70
+ logger.info('Initializing global hooks...');
56
71
  initGlobalHooks(payload, logger, executor);
72
+ logger.info('Initializing workflow hooks...');
57
73
  initWorkflowHooks(payload, logger);
74
+ logger.info('Initializing step tasks...');
58
75
  initStepTasks(pluginOptions, payload, logger);
59
76
  // Register cron jobs for workflows with cron triggers
77
+ logger.info('Registering cron jobs...');
60
78
  await registerCronJobs(payload, logger);
61
- logger.info('Plugin initialized successfully');
79
+ logger.info('Plugin initialized successfully - all hooks registered');
80
+ hooksInitialized = true;
62
81
  };
63
82
  return config;
64
83
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugin/index.ts"],"sourcesContent":["import type {Config} from 'payload'\n\nimport type {WorkflowsPluginConfig} from \"./config-types.js\"\n\nimport {createWorkflowCollection} from '../collections/Workflow.js'\nimport {WorkflowRunsCollection} from '../collections/WorkflowRuns.js'\nimport {WorkflowExecutor} from '../core/workflow-executor.js'\nimport {generateCronTasks, registerCronJobs} from './cron-scheduler.js'\nimport {initCollectionHooks} from \"./init-collection-hooks.js\"\nimport {initGlobalHooks} from \"./init-global-hooks.js\"\nimport {initStepTasks} from \"./init-step-tasks.js\"\nimport {initWebhookEndpoint} from \"./init-webhook.js\"\nimport {initWorkflowHooks} from './init-workflow-hooks.js'\nimport {getConfigLogger, initializeLogger} from './logger.js'\n\nexport {getLogger} from './logger.js'\n\nconst applyCollectionsConfig = <T extends string>(pluginOptions: WorkflowsPluginConfig<T>, config: Config) => {\n // Add workflow collections\n if (!config.collections) {\n config.collections = []\n }\n\n config.collections.push(\n createWorkflowCollection(pluginOptions),\n WorkflowRunsCollection\n )\n}\n\nexport const workflowsPlugin =\n <TSlug extends string>(pluginOptions: WorkflowsPluginConfig<TSlug>) =>\n (config: Config): Config => {\n // If the plugin is disabled, return config unchanged\n if (pluginOptions.enabled === false) {\n return config\n }\n\n applyCollectionsConfig<TSlug>(pluginOptions, config)\n\n if (!config.jobs) {\n config.jobs = {tasks: []}\n }\n\n const configLogger = getConfigLogger()\n\n // Generate cron tasks for workflows with cron triggers\n generateCronTasks(config)\n\n for (const step of pluginOptions.steps) {\n if (!config.jobs?.tasks?.find(task => task.slug === step.slug)) {\n configLogger.debug(`Registering task: ${step.slug}`)\n config.jobs?.tasks?.push(step)\n } else {\n configLogger.debug(`Task ${step.slug} already registered, skipping`)\n }\n }\n\n // Initialize webhook endpoint\n initWebhookEndpoint(config, pluginOptions.webhookPrefix || 'webhook')\n\n // Set up onInit to register collection hooks and initialize features\n const incomingOnInit = config.onInit\n config.onInit = async (payload) => {\n // Execute any existing onInit functions first\n if (incomingOnInit) {\n await incomingOnInit(payload)\n }\n\n // Initialize the logger with the payload instance\n const logger = initializeLogger(payload)\n\n // Create workflow executor instance\n const executor = new WorkflowExecutor(payload, logger)\n\n // Initialize hooks\n initCollectionHooks(pluginOptions, payload, logger, executor)\n initGlobalHooks(payload, logger, executor)\n initWorkflowHooks(payload, logger)\n initStepTasks(pluginOptions, payload, logger)\n\n // Register cron jobs for workflows with cron triggers\n await registerCronJobs(payload, logger)\n\n logger.info('Plugin initialized successfully')\n }\n\n return config\n }\n"],"names":["createWorkflowCollection","WorkflowRunsCollection","WorkflowExecutor","generateCronTasks","registerCronJobs","initCollectionHooks","initGlobalHooks","initStepTasks","initWebhookEndpoint","initWorkflowHooks","getConfigLogger","initializeLogger","getLogger","applyCollectionsConfig","pluginOptions","config","collections","push","workflowsPlugin","enabled","jobs","tasks","configLogger","step","steps","find","task","slug","debug","webhookPrefix","incomingOnInit","onInit","payload","logger","executor","info"],"mappings":"AAIA,SAAQA,wBAAwB,QAAO,6BAA4B;AACnE,SAAQC,sBAAsB,QAAO,iCAAgC;AACrE,SAAQC,gBAAgB,QAAO,+BAA8B;AAC7D,SAAQC,iBAAiB,EAAEC,gBAAgB,QAAO,sBAAqB;AACvE,SAAQC,mBAAmB,QAAO,6BAA4B;AAC9D,SAAQC,eAAe,QAAO,yBAAwB;AACtD,SAAQC,aAAa,QAAO,uBAAsB;AAClD,SAAQC,mBAAmB,QAAO,oBAAmB;AACrD,SAAQC,iBAAiB,QAAO,2BAA0B;AAC1D,SAAQC,eAAe,EAAEC,gBAAgB,QAAO,cAAa;AAE7D,SAAQC,SAAS,QAAO,cAAa;AAErC,MAAMC,yBAAyB,CAAmBC,eAAyCC;IACzF,2BAA2B;IAC3B,IAAI,CAACA,OAAOC,WAAW,EAAE;QACvBD,OAAOC,WAAW,GAAG,EAAE;IACzB;IAEAD,OAAOC,WAAW,CAACC,IAAI,CACrBjB,yBAAyBc,gBACzBb;AAEJ;AAEA,OAAO,MAAMiB,kBACX,CAAuBJ,gBACrB,CAACC;QACC,qDAAqD;QACrD,IAAID,cAAcK,OAAO,KAAK,OAAO;YACnC,OAAOJ;QACT;QAEAF,uBAA8BC,eAAeC;QAE7C,IAAI,CAACA,OAAOK,IAAI,EAAE;YAChBL,OAAOK,IAAI,GAAG;gBAACC,OAAO,EAAE;YAAA;QAC1B;QAEA,MAAMC,eAAeZ;QAErB,uDAAuD;QACvDP,kBAAkBY;QAElB,KAAK,MAAMQ,QAAQT,cAAcU,KAAK,CAAE;YACtC,IAAI,CAACT,OAAOK,IAAI,EAAEC,OAAOI,KAAKC,CAAAA,OAAQA,KAAKC,IAAI,KAAKJ,KAAKI,IAAI,GAAG;gBAC9DL,aAAaM,KAAK,CAAC,CAAC,kBAAkB,EAAEL,KAAKI,IAAI,EAAE;gBACnDZ,OAAOK,IAAI,EAAEC,OAAOJ,KAAKM;YAC3B,OAAO;gBACLD,aAAaM,KAAK,CAAC,CAAC,KAAK,EAAEL,KAAKI,IAAI,CAAC,6BAA6B,CAAC;YACrE;QACF;QAEA,8BAA8B;QAC9BnB,oBAAoBO,QAAQD,cAAce,aAAa,IAAI;QAE3D,qEAAqE;QACrE,MAAMC,iBAAiBf,OAAOgB,MAAM;QACpChB,OAAOgB,MAAM,GAAG,OAAOC;YACrB,8CAA8C;YAC9C,IAAIF,gBAAgB;gBAClB,MAAMA,eAAeE;YACvB;YAEA,kDAAkD;YAClD,MAAMC,SAAStB,iBAAiBqB;YAEhC,oCAAoC;YACpC,MAAME,WAAW,IAAIhC,iBAAiB8B,SAASC;YAE/C,mBAAmB;YACnB5B,oBAAoBS,eAAekB,SAASC,QAAQC;YACpD5B,gBAAgB0B,SAASC,QAAQC;YACjCzB,kBAAkBuB,SAASC;YAC3B1B,cAAcO,eAAekB,SAASC;YAEtC,sDAAsD;YACtD,MAAM7B,iBAAiB4B,SAASC;YAEhCA,OAAOE,IAAI,CAAC;QACd;QAEA,OAAOpB;IACT,EAAC"}
1
+ {"version":3,"sources":["../../src/plugin/index.ts"],"sourcesContent":["import type {Config} from 'payload'\n\nimport type {WorkflowsPluginConfig} from \"./config-types.js\"\n\nimport {createWorkflowCollection} from '../collections/Workflow.js'\nimport {WorkflowRunsCollection} from '../collections/WorkflowRuns.js'\nimport {WorkflowExecutor} from '../core/workflow-executor.js'\nimport {generateCronTasks, registerCronJobs} from './cron-scheduler.js'\nimport {initCollectionHooks} from \"./init-collection-hooks.js\"\nimport {initGlobalHooks} from \"./init-global-hooks.js\"\nimport {initStepTasks} from \"./init-step-tasks.js\"\nimport {initWebhookEndpoint} from \"./init-webhook.js\"\nimport {initWorkflowHooks} from './init-workflow-hooks.js'\nimport {getConfigLogger, initializeLogger} from './logger.js'\n\nexport {getLogger} from './logger.js'\n\nconst applyCollectionsConfig = <T extends string>(pluginOptions: WorkflowsPluginConfig<T>, config: Config) => {\n // Add workflow collections\n if (!config.collections) {\n config.collections = []\n }\n\n config.collections.push(\n createWorkflowCollection(pluginOptions),\n WorkflowRunsCollection\n )\n}\n\n// Track if hooks have been initialized to prevent double registration\nlet hooksInitialized = false\n\nexport const workflowsPlugin =\n <TSlug extends string>(pluginOptions: WorkflowsPluginConfig<TSlug>) =>\n (config: Config): Config => {\n // If the plugin is disabled, return config unchanged\n if (pluginOptions.enabled === false) {\n return config\n }\n\n applyCollectionsConfig<TSlug>(pluginOptions, config)\n\n if (!config.jobs) {\n config.jobs = {tasks: []}\n }\n\n const configLogger = getConfigLogger()\n configLogger.info(`Configuring workflow plugin with ${Object.keys(pluginOptions.collectionTriggers || {}).length} collection triggers`)\n\n // Generate cron tasks for workflows with cron triggers\n generateCronTasks(config)\n\n for (const step of pluginOptions.steps) {\n if (!config.jobs?.tasks?.find(task => task.slug === step.slug)) {\n configLogger.debug(`Registering task: ${step.slug}`)\n config.jobs?.tasks?.push(step)\n } else {\n configLogger.debug(`Task ${step.slug} already registered, skipping`)\n }\n }\n\n // Initialize webhook endpoint\n initWebhookEndpoint(config, pluginOptions.webhookPrefix || 'webhook')\n\n // Set up onInit to register collection hooks and initialize features\n const incomingOnInit = config.onInit\n config.onInit = async (payload) => {\n configLogger.info(`onInit called - hooks already initialized: ${hooksInitialized}, collections: ${Object.keys(payload.collections).length}`)\n \n // Prevent double initialization in dev mode\n if (hooksInitialized) {\n configLogger.warn('Hooks already initialized, skipping to prevent duplicate registration')\n return\n }\n \n // Execute any existing onInit functions first\n if (incomingOnInit) {\n configLogger.debug('Executing existing onInit function')\n await incomingOnInit(payload)\n }\n\n // Initialize the logger with the payload instance\n const logger = initializeLogger(payload)\n logger.info('Logger initialized with payload instance')\n\n // Log collection trigger configuration\n logger.info(`Plugin configuration: ${Object.keys(pluginOptions.collectionTriggers || {}).length} collection triggers, ${pluginOptions.steps?.length || 0} steps`)\n\n // Create workflow executor instance\n const executor = new WorkflowExecutor(payload, logger)\n\n // Initialize hooks\n logger.info('Initializing collection hooks...')\n initCollectionHooks(pluginOptions, payload, logger, executor)\n \n logger.info('Initializing global hooks...')\n initGlobalHooks(payload, logger, executor)\n \n logger.info('Initializing workflow hooks...')\n initWorkflowHooks(payload, logger)\n \n logger.info('Initializing step tasks...')\n initStepTasks(pluginOptions, payload, logger)\n\n // Register cron jobs for workflows with cron triggers\n logger.info('Registering cron jobs...')\n await registerCronJobs(payload, logger)\n\n logger.info('Plugin initialized successfully - all hooks registered')\n hooksInitialized = true\n }\n\n return config\n }\n"],"names":["createWorkflowCollection","WorkflowRunsCollection","WorkflowExecutor","generateCronTasks","registerCronJobs","initCollectionHooks","initGlobalHooks","initStepTasks","initWebhookEndpoint","initWorkflowHooks","getConfigLogger","initializeLogger","getLogger","applyCollectionsConfig","pluginOptions","config","collections","push","hooksInitialized","workflowsPlugin","enabled","jobs","tasks","configLogger","info","Object","keys","collectionTriggers","length","step","steps","find","task","slug","debug","webhookPrefix","incomingOnInit","onInit","payload","warn","logger","executor"],"mappings":"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"}
@@ -1,7 +1,18 @@
1
1
  export function initCollectionHooks(pluginOptions, payload, logger, executor) {
2
+ if (!pluginOptions.collectionTriggers || Object.keys(pluginOptions.collectionTriggers).length === 0) {
3
+ logger.warn('No collection triggers configured in plugin options');
4
+ return;
5
+ }
6
+ logger.info({
7
+ configuredCollections: Object.keys(pluginOptions.collectionTriggers),
8
+ availableCollections: Object.keys(payload.collections)
9
+ }, 'Starting collection hook registration');
2
10
  // Add hooks to configured collections
3
11
  for (const [collectionSlug, triggerConfig] of Object.entries(pluginOptions.collectionTriggers)){
4
12
  if (!triggerConfig) {
13
+ logger.debug({
14
+ collectionSlug
15
+ }, 'Skipping collection with falsy trigger config');
5
16
  continue;
6
17
  }
7
18
  const collection = payload.collections[collectionSlug];
@@ -50,12 +61,18 @@ export function initCollectionHooks(pluginOptions, payload, logger, executor) {
50
61
  }
51
62
  if (collection) {
52
63
  logger.info({
53
- collectionSlug
54
- }, 'Collection hooks registered');
64
+ collectionSlug,
65
+ hooksRegistered: {
66
+ afterChange: crud.update || crud.create,
67
+ afterRead: crud.read,
68
+ afterDelete: crud.delete
69
+ }
70
+ }, 'Collection hooks registered successfully');
55
71
  } else {
56
- logger.warn({
57
- collectionSlug
58
- }, 'Collection not found for trigger configuration');
72
+ logger.error({
73
+ collectionSlug,
74
+ availableCollections: Object.keys(payload.collections)
75
+ }, 'Collection not found for trigger configuration - check collection slug spelling');
59
76
  }
60
77
  }
61
78
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugin/init-collection-hooks.ts"],"sourcesContent":["import type {Payload} from \"payload\"\nimport type {Logger} from \"pino\"\n\nimport type { WorkflowExecutor } from \"../core/workflow-executor.js\"\nimport type {CollectionTriggerConfigCrud, WorkflowsPluginConfig} from \"./config-types.js\"\n\nexport function initCollectionHooks<T extends string>(pluginOptions: WorkflowsPluginConfig<T>, payload: Payload, logger: Payload['logger'], executor: WorkflowExecutor) {\n\n // Add hooks to configured collections\n for (const [collectionSlug, triggerConfig] of Object.entries(pluginOptions.collectionTriggers)) {\n if (!triggerConfig) {\n continue\n }\n\n const collection = payload.collections[collectionSlug as T]\n const crud: CollectionTriggerConfigCrud = triggerConfig === true ? {\n create: true,\n delete: true,\n read: true,\n update: true,\n } : triggerConfig\n\n if (!collection.config.hooks) {\n collection.config.hooks = {} as typeof collection.config.hooks\n }\n\n if (crud.update || crud.create) {\n collection.config.hooks.afterChange = collection.config.hooks.afterChange || []\n collection.config.hooks.afterChange.push(async (change) => {\n const operation = change.operation as 'create' | 'update'\n logger.debug({\n collection: change.collection.slug,\n operation,\n }, 'Collection hook triggered')\n\n // Execute workflows for this trigger\n await executor.executeTriggeredWorkflows(\n change.collection.slug,\n operation,\n change.doc,\n change.previousDoc,\n change.req\n )\n })\n }\n\n if (crud.read) {\n collection.config.hooks.afterRead = collection.config.hooks.afterRead || []\n collection.config.hooks.afterRead.push(async (change) => {\n logger.debug({\n collection: change.collection.slug,\n operation: 'read',\n }, 'Collection hook triggered')\n\n // Execute workflows for this trigger\n await executor.executeTriggeredWorkflows(\n change.collection.slug,\n 'read',\n change.doc,\n undefined,\n change.req\n )\n })\n }\n\n if (crud.delete) {\n collection.config.hooks.afterDelete = collection.config.hooks.afterDelete || []\n collection.config.hooks.afterDelete.push(async (change) => {\n logger.debug({\n collection: change.collection.slug,\n operation: 'delete',\n }, 'Collection hook triggered')\n\n // Execute workflows for this trigger\n await executor.executeTriggeredWorkflows(\n change.collection.slug,\n 'delete',\n change.doc,\n undefined,\n change.req\n )\n })\n }\n\n if (collection) {\n logger.info({collectionSlug}, 'Collection hooks registered')\n } else {\n logger.warn({collectionSlug}, 'Collection not found for trigger configuration')\n }\n }\n}\n"],"names":["initCollectionHooks","pluginOptions","payload","logger","executor","collectionSlug","triggerConfig","Object","entries","collectionTriggers","collection","collections","crud","create","delete","read","update","config","hooks","afterChange","push","change","operation","debug","slug","executeTriggeredWorkflows","doc","previousDoc","req","afterRead","undefined","afterDelete","info","warn"],"mappings":"AAMA,OAAO,SAASA,oBAAsCC,aAAuC,EAAEC,OAAgB,EAAEC,MAAyB,EAAEC,QAA0B;IAEpK,sCAAsC;IACtC,KAAK,MAAM,CAACC,gBAAgBC,cAAc,IAAIC,OAAOC,OAAO,CAACP,cAAcQ,kBAAkB,EAAG;QAC9F,IAAI,CAACH,eAAe;YAClB;QACF;QAEA,MAAMI,aAAaR,QAAQS,WAAW,CAACN,eAAoB;QAC3D,MAAMO,OAAoCN,kBAAkB,OAAO;YACjEO,QAAQ;YACRC,QAAQ;YACRC,MAAM;YACNC,QAAQ;QACV,IAAIV;QAEJ,IAAI,CAACI,WAAWO,MAAM,CAACC,KAAK,EAAE;YAC5BR,WAAWO,MAAM,CAACC,KAAK,GAAG,CAAC;QAC7B;QAEA,IAAIN,KAAKI,MAAM,IAAIJ,KAAKC,MAAM,EAAE;YAC9BH,WAAWO,MAAM,CAACC,KAAK,CAACC,WAAW,GAAGT,WAAWO,MAAM,CAACC,KAAK,CAACC,WAAW,IAAI,EAAE;YAC/ET,WAAWO,MAAM,CAACC,KAAK,CAACC,WAAW,CAACC,IAAI,CAAC,OAAOC;gBAC9C,MAAMC,YAAYD,OAAOC,SAAS;gBAClCnB,OAAOoB,KAAK,CAAC;oBACXb,YAAYW,OAAOX,UAAU,CAACc,IAAI;oBAClCF;gBACF,GAAG;gBAEH,qCAAqC;gBACrC,MAAMlB,SAASqB,yBAAyB,CACtCJ,OAAOX,UAAU,CAACc,IAAI,EACtBF,WACAD,OAAOK,GAAG,EACVL,OAAOM,WAAW,EAClBN,OAAOO,GAAG;YAEd;QACF;QAEA,IAAIhB,KAAKG,IAAI,EAAE;YACbL,WAAWO,MAAM,CAACC,KAAK,CAACW,SAAS,GAAGnB,WAAWO,MAAM,CAACC,KAAK,CAACW,SAAS,IAAI,EAAE;YAC3EnB,WAAWO,MAAM,CAACC,KAAK,CAACW,SAAS,CAACT,IAAI,CAAC,OAAOC;gBAC5ClB,OAAOoB,KAAK,CAAC;oBACXb,YAAYW,OAAOX,UAAU,CAACc,IAAI;oBAClCF,WAAW;gBACb,GAAG;gBAEH,qCAAqC;gBACrC,MAAMlB,SAASqB,yBAAyB,CACtCJ,OAAOX,UAAU,CAACc,IAAI,EACtB,QACAH,OAAOK,GAAG,EACVI,WACAT,OAAOO,GAAG;YAEd;QACF;QAEA,IAAIhB,KAAKE,MAAM,EAAE;YACfJ,WAAWO,MAAM,CAACC,KAAK,CAACa,WAAW,GAAGrB,WAAWO,MAAM,CAACC,KAAK,CAACa,WAAW,IAAI,EAAE;YAC/ErB,WAAWO,MAAM,CAACC,KAAK,CAACa,WAAW,CAACX,IAAI,CAAC,OAAOC;gBAC9ClB,OAAOoB,KAAK,CAAC;oBACXb,YAAYW,OAAOX,UAAU,CAACc,IAAI;oBAClCF,WAAW;gBACb,GAAG;gBAEH,qCAAqC;gBACrC,MAAMlB,SAASqB,yBAAyB,CACtCJ,OAAOX,UAAU,CAACc,IAAI,EACtB,UACAH,OAAOK,GAAG,EACVI,WACAT,OAAOO,GAAG;YAEd;QACF;QAEA,IAAIlB,YAAY;YACdP,OAAO6B,IAAI,CAAC;gBAAC3B;YAAc,GAAG;QAChC,OAAO;YACLF,OAAO8B,IAAI,CAAC;gBAAC5B;YAAc,GAAG;QAChC;IACF;AACF"}
1
+ {"version":3,"sources":["../../src/plugin/init-collection-hooks.ts"],"sourcesContent":["import type {Payload} from \"payload\"\nimport type {Logger} from \"pino\"\n\nimport type { WorkflowExecutor } from \"../core/workflow-executor.js\"\nimport type {CollectionTriggerConfigCrud, WorkflowsPluginConfig} from \"./config-types.js\"\n\nexport function initCollectionHooks<T extends string>(pluginOptions: WorkflowsPluginConfig<T>, payload: Payload, logger: Payload['logger'], executor: WorkflowExecutor) {\n \n if (!pluginOptions.collectionTriggers || Object.keys(pluginOptions.collectionTriggers).length === 0) {\n logger.warn('No collection triggers configured in plugin options')\n return\n }\n\n logger.info({\n configuredCollections: Object.keys(pluginOptions.collectionTriggers),\n availableCollections: Object.keys(payload.collections)\n }, 'Starting collection hook registration')\n\n // Add hooks to configured collections\n for (const [collectionSlug, triggerConfig] of Object.entries(pluginOptions.collectionTriggers)) {\n if (!triggerConfig) {\n logger.debug({collectionSlug}, 'Skipping collection with falsy trigger config')\n continue\n }\n\n const collection = payload.collections[collectionSlug as T]\n const crud: CollectionTriggerConfigCrud = triggerConfig === true ? {\n create: true,\n delete: true,\n read: true,\n update: true,\n } : triggerConfig\n\n if (!collection.config.hooks) {\n collection.config.hooks = {} as typeof collection.config.hooks\n }\n\n if (crud.update || crud.create) {\n collection.config.hooks.afterChange = collection.config.hooks.afterChange || []\n collection.config.hooks.afterChange.push(async (change) => {\n const operation = change.operation as 'create' | 'update'\n logger.debug({\n collection: change.collection.slug,\n operation,\n }, 'Collection hook triggered')\n\n // Execute workflows for this trigger\n await executor.executeTriggeredWorkflows(\n change.collection.slug,\n operation,\n change.doc,\n change.previousDoc,\n change.req\n )\n })\n }\n\n if (crud.read) {\n collection.config.hooks.afterRead = collection.config.hooks.afterRead || []\n collection.config.hooks.afterRead.push(async (change) => {\n logger.debug({\n collection: change.collection.slug,\n operation: 'read',\n }, 'Collection hook triggered')\n\n // Execute workflows for this trigger\n await executor.executeTriggeredWorkflows(\n change.collection.slug,\n 'read',\n change.doc,\n undefined,\n change.req\n )\n })\n }\n\n if (crud.delete) {\n collection.config.hooks.afterDelete = collection.config.hooks.afterDelete || []\n collection.config.hooks.afterDelete.push(async (change) => {\n logger.debug({\n collection: change.collection.slug,\n operation: 'delete',\n }, 'Collection hook triggered')\n\n // Execute workflows for this trigger\n await executor.executeTriggeredWorkflows(\n change.collection.slug,\n 'delete',\n change.doc,\n undefined,\n change.req\n )\n })\n }\n\n if (collection) {\n logger.info({\n collectionSlug,\n hooksRegistered: {\n afterChange: crud.update || crud.create,\n afterRead: crud.read,\n afterDelete: crud.delete\n }\n }, 'Collection hooks registered successfully')\n } else {\n logger.error({\n collectionSlug,\n availableCollections: Object.keys(payload.collections)\n }, 'Collection not found for trigger configuration - check collection slug spelling')\n }\n }\n}\n"],"names":["initCollectionHooks","pluginOptions","payload","logger","executor","collectionTriggers","Object","keys","length","warn","info","configuredCollections","availableCollections","collections","collectionSlug","triggerConfig","entries","debug","collection","crud","create","delete","read","update","config","hooks","afterChange","push","change","operation","slug","executeTriggeredWorkflows","doc","previousDoc","req","afterRead","undefined","afterDelete","hooksRegistered","error"],"mappings":"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"}
@@ -5,24 +5,28 @@ let pluginLogger = null;
5
5
  * Uses console with plugin prefix since Payload logger isn't available yet
6
6
  */ const configLogger = {
7
7
  debug: (message, ...args)=>{
8
+ console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING);
8
9
  if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {
9
10
  return;
10
11
  }
11
12
  console.log(`[payload-automation] ${message}`, ...args);
12
13
  },
13
14
  error: (message, ...args)=>{
15
+ console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING);
14
16
  if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {
15
17
  return;
16
18
  }
17
19
  console.error(`[payload-automation] ${message}`, ...args);
18
20
  },
19
21
  info: (message, ...args)=>{
22
+ console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING);
20
23
  if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {
21
24
  return;
22
25
  }
23
26
  console.log(`[payload-automation] ${message}`, ...args);
24
27
  },
25
28
  warn: (message, ...args)=>{
29
+ console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING);
26
30
  if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {
27
31
  return;
28
32
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/plugin/logger.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\n// Global logger instance - use Payload's logger type\nlet pluginLogger: null | Payload['logger'] = null\n\n/**\n * Simple config-time logger for use during plugin configuration\n * Uses console with plugin prefix since Payload logger isn't available yet\n */\nconst configLogger = {\n debug: <T>(message: string, ...args: T[]) => {\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.log(`[payload-automation] ${message}`, ...args)\n },\n error: <T>(message: string, ...args: T[]) => {\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.error(`[payload-automation] ${message}`, ...args)\n },\n info: <T>(message: string, ...args: T[]) => {\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.log(`[payload-automation] ${message}`, ...args)\n },\n warn: <T>(message: string, ...args: T[]) => {\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.warn(`[payload-automation] ${message}`, ...args)\n }\n}\n\n/**\n * Get a logger for config-time use (before Payload initialization)\n */\nexport function getConfigLogger() {\n return configLogger\n}\n\n/**\n * Initialize the plugin logger using Payload's Pino instance\n * This creates a child logger with plugin identification\n */\nexport function initializeLogger(payload: Payload): Payload['logger'] {\n // Create a child logger with plugin identification\n pluginLogger = payload.logger.child({\n level: process.env.PAYLOAD_AUTOMATION_LOGGING || 'silent',\n plugin: '@xtr-dev/payload-automation'\n })\n return pluginLogger\n}\n\n/**\n * Get the plugin logger instance\n * Throws error if not initialized\n */\nexport function getLogger(): Payload['logger'] {\n if (!pluginLogger) {\n throw new Error('@xtr-dev/payload-automation: Logger not initialized. Make sure the plugin is properly configured.')\n }\n\n return pluginLogger\n}\n"],"names":["pluginLogger","configLogger","debug","message","args","process","env","PAYLOAD_AUTOMATION_CONFIG_LOGGING","console","log","error","info","warn","getConfigLogger","initializeLogger","payload","logger","child","level","PAYLOAD_AUTOMATION_LOGGING","plugin","getLogger","Error"],"mappings":"AAEA,qDAAqD;AACrD,IAAIA,eAAyC;AAE7C;;;CAGC,GACD,MAAMC,eAAe;IACnBC,OAAO,CAAIC,SAAiB,GAAGC;QAC7B,IAAI,CAACC,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DC,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEN,SAAS,KAAKC;IACpD;IACAM,OAAO,CAAIP,SAAiB,GAAGC;QAC7B,IAAI,CAACC,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DC,QAAQE,KAAK,CAAC,CAAC,qBAAqB,EAAEP,SAAS,KAAKC;IACtD;IACAO,MAAM,CAAIR,SAAiB,GAAGC;QAC5B,IAAI,CAACC,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DC,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEN,SAAS,KAAKC;IACpD;IACAQ,MAAM,CAAIT,SAAiB,GAAGC;QAC5B,IAAI,CAACC,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DC,QAAQI,IAAI,CAAC,CAAC,qBAAqB,EAAET,SAAS,KAAKC;IACrD;AACF;AAEA;;CAEC,GACD,OAAO,SAASS;IACd,OAAOZ;AACT;AAEA;;;CAGC,GACD,OAAO,SAASa,iBAAiBC,OAAgB;IAC/C,mDAAmD;IACnDf,eAAee,QAAQC,MAAM,CAACC,KAAK,CAAC;QAClCC,OAAOb,QAAQC,GAAG,CAACa,0BAA0B,IAAI;QACjDC,QAAQ;IACV;IACA,OAAOpB;AACT;AAEA;;;CAGC,GACD,OAAO,SAASqB;IACd,IAAI,CAACrB,cAAc;QACjB,MAAM,IAAIsB,MAAM;IAClB;IAEA,OAAOtB;AACT"}
1
+ {"version":3,"sources":["../../src/plugin/logger.ts"],"sourcesContent":["import type { Payload } from 'payload'\n\n// Global logger instance - use Payload's logger type\nlet pluginLogger: null | Payload['logger'] = null\n\n/**\n * Simple config-time logger for use during plugin configuration\n * Uses console with plugin prefix since Payload logger isn't available yet\n */\nconst configLogger = {\n debug: <T>(message: string, ...args: T[]) => {\n console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING)\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.log(`[payload-automation] ${message}`, ...args)\n },\n error: <T>(message: string, ...args: T[]) => {\n console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING)\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.error(`[payload-automation] ${message}`, ...args)\n },\n info: <T>(message: string, ...args: T[]) => {\n console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING)\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.log(`[payload-automation] ${message}`, ...args)\n },\n warn: <T>(message: string, ...args: T[]) => {\n console.log('process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING', process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING)\n if (!process.env.PAYLOAD_AUTOMATION_CONFIG_LOGGING) {return}\n console.warn(`[payload-automation] ${message}`, ...args)\n }\n}\n\n/**\n * Get a logger for config-time use (before Payload initialization)\n */\nexport function getConfigLogger() {\n return configLogger\n}\n\n/**\n * Initialize the plugin logger using Payload's Pino instance\n * This creates a child logger with plugin identification\n */\nexport function initializeLogger(payload: Payload): Payload['logger'] {\n // Create a child logger with plugin identification\n pluginLogger = payload.logger.child({\n level: process.env.PAYLOAD_AUTOMATION_LOGGING || 'silent',\n plugin: '@xtr-dev/payload-automation'\n })\n return pluginLogger\n}\n\n/**\n * Get the plugin logger instance\n * Throws error if not initialized\n */\nexport function getLogger(): Payload['logger'] {\n if (!pluginLogger) {\n throw new Error('@xtr-dev/payload-automation: Logger not initialized. Make sure the plugin is properly configured.')\n }\n\n return pluginLogger\n}\n"],"names":["pluginLogger","configLogger","debug","message","args","console","log","process","env","PAYLOAD_AUTOMATION_CONFIG_LOGGING","error","info","warn","getConfigLogger","initializeLogger","payload","logger","child","level","PAYLOAD_AUTOMATION_LOGGING","plugin","getLogger","Error"],"mappings":"AAEA,qDAAqD;AACrD,IAAIA,eAAyC;AAE7C;;;CAGC,GACD,MAAMC,eAAe;IACnBC,OAAO,CAAIC,SAAiB,GAAGC;QAC7BC,QAAQC,GAAG,CAAC,iDAAiDC,QAAQC,GAAG,CAACC,iCAAiC;QAC1G,IAAI,CAACF,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DJ,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEH,SAAS,KAAKC;IACpD;IACAM,OAAO,CAAIP,SAAiB,GAAGC;QAC7BC,QAAQC,GAAG,CAAC,iDAAiDC,QAAQC,GAAG,CAACC,iCAAiC;QAC1G,IAAI,CAACF,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DJ,QAAQK,KAAK,CAAC,CAAC,qBAAqB,EAAEP,SAAS,KAAKC;IACtD;IACAO,MAAM,CAAIR,SAAiB,GAAGC;QAC5BC,QAAQC,GAAG,CAAC,iDAAiDC,QAAQC,GAAG,CAACC,iCAAiC;QAC1G,IAAI,CAACF,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DJ,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEH,SAAS,KAAKC;IACpD;IACAQ,MAAM,CAAIT,SAAiB,GAAGC;QAC5BC,QAAQC,GAAG,CAAC,iDAAiDC,QAAQC,GAAG,CAACC,iCAAiC;QAC1G,IAAI,CAACF,QAAQC,GAAG,CAACC,iCAAiC,EAAE;YAAC;QAAM;QAC3DJ,QAAQO,IAAI,CAAC,CAAC,qBAAqB,EAAET,SAAS,KAAKC;IACrD;AACF;AAEA;;CAEC,GACD,OAAO,SAASS;IACd,OAAOZ;AACT;AAEA;;;CAGC,GACD,OAAO,SAASa,iBAAiBC,OAAgB;IAC/C,mDAAmD;IACnDf,eAAee,QAAQC,MAAM,CAACC,KAAK,CAAC;QAClCC,OAAOX,QAAQC,GAAG,CAACW,0BAA0B,IAAI;QACjDC,QAAQ;IACV;IACA,OAAOpB;AACT;AAEA;;;CAGC,GACD,OAAO,SAASqB;IACd,IAAI,CAACrB,cAAc;QACjB,MAAM,IAAIsB,MAAM;IAClB;IAEA,OAAOtB;AACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xtr-dev/payload-automation",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "PayloadCMS Automation Plugin - Comprehensive workflow automation system with visual workflow building, execution tracking, and step types",
5
5
  "license": "MIT",
6
6
  "type": "module",