@n8n/db 1.43.2 → 1.44.1

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.
Files changed (138) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/connection/db-connection-metrics.d.ts +2 -0
  3. package/dist/connection/db-connection-metrics.js.map +1 -1
  4. package/dist/connection/db-connection-monitor.d.ts +2 -0
  5. package/dist/connection/db-connection-monitor.js +23 -0
  6. package/dist/connection/db-connection-monitor.js.map +1 -1
  7. package/dist/entities/activity-event.js +2 -1
  8. package/dist/entities/activity-event.js.map +1 -1
  9. package/dist/entities/agent-eval-result.ee.d.ts +1 -0
  10. package/dist/entities/agent-eval-result.ee.js +4 -0
  11. package/dist/entities/agent-eval-result.ee.js.map +1 -1
  12. package/dist/entities/execution-entity.d.ts +1 -0
  13. package/dist/entities/execution-entity.js.map +1 -1
  14. package/dist/entities/idempotency-key.d.ts +15 -0
  15. package/dist/entities/idempotency-key.js +55 -0
  16. package/dist/entities/idempotency-key.js.map +1 -0
  17. package/dist/entities/index.d.ts +3 -1
  18. package/dist/entities/index.js +7 -2
  19. package/dist/entities/index.js.map +1 -1
  20. package/dist/entities/scheduled-job.d.ts +1 -0
  21. package/dist/entities/scheduled-job.js +4 -0
  22. package/dist/entities/scheduled-job.js.map +1 -1
  23. package/dist/entities/scheduled-task.d.ts +1 -0
  24. package/dist/entities/scheduled-task.js +4 -0
  25. package/dist/entities/scheduled-task.js.map +1 -1
  26. package/dist/entities/types-db.d.ts +1 -0
  27. package/dist/entities/types-db.js.map +1 -1
  28. package/dist/migrations/common/1791276719782-AddMetadataToTrustedSource.d.ts +5 -0
  29. package/dist/migrations/common/1791276719782-AddMetadataToTrustedSource.js +20 -0
  30. package/dist/migrations/common/1791276719782-AddMetadataToTrustedSource.js.map +1 -0
  31. package/dist/migrations/common/1791276719783-AllowWhatsAppAgentChatSubscriptions.d.ts +5 -0
  32. package/dist/migrations/common/1791276719783-AllowWhatsAppAgentChatSubscriptions.js +20 -0
  33. package/dist/migrations/common/1791276719783-AllowWhatsAppAgentChatSubscriptions.js.map +1 -0
  34. package/dist/migrations/common/1791366497000-CreateMigrationWorkflowOwnerTable.d.ts +5 -0
  35. package/dist/migrations/common/1791366497000-CreateMigrationWorkflowOwnerTable.js +37 -0
  36. package/dist/migrations/common/1791366497000-CreateMigrationWorkflowOwnerTable.js.map +1 -0
  37. package/dist/migrations/common/1791374893870-AddWorkflowSuggestionReviewState.d.ts +5 -0
  38. package/dist/migrations/common/1791374893870-AddWorkflowSuggestionReviewState.js +44 -0
  39. package/dist/migrations/common/1791374893870-AddWorkflowSuggestionReviewState.js.map +1 -0
  40. package/dist/migrations/common/1791377741439-AllowGitLabPromotionProvider.d.ts +6 -0
  41. package/dist/migrations/common/1791377741439-AllowGitLabPromotionProvider.js +27 -0
  42. package/dist/migrations/common/1791377741439-AllowGitLabPromotionProvider.js.map +1 -0
  43. package/dist/migrations/common/1791378361769-CreateSelfHealingResultTable.d.ts +5 -0
  44. package/dist/migrations/common/1791378361769-CreateSelfHealingResultTable.js +49 -0
  45. package/dist/migrations/common/1791378361769-CreateSelfHealingResultTable.js.map +1 -0
  46. package/dist/migrations/common/1791448888000-AddVerdictToAgentEvalResult.d.ts +5 -0
  47. package/dist/migrations/common/1791448888000-AddVerdictToAgentEvalResult.js +19 -0
  48. package/dist/migrations/common/1791448888000-AddVerdictToAgentEvalResult.js.map +1 -0
  49. package/dist/migrations/common/1791463714234-AddActivityEventResourceIndex.d.ts +5 -0
  50. package/dist/migrations/common/1791463714234-AddActivityEventResourceIndex.js +16 -0
  51. package/dist/migrations/common/1791463714234-AddActivityEventResourceIndex.js.map +1 -0
  52. package/dist/migrations/common/1791540050944-CreateIdempotencyKeyTable.d.ts +5 -0
  53. package/dist/migrations/common/1791540050944-CreateIdempotencyKeyTable.js +32 -0
  54. package/dist/migrations/common/1791540050944-CreateIdempotencyKeyTable.js.map +1 -0
  55. package/dist/migrations/common/1791542683581-AddTimeoutSecondsToScheduler.d.ts +6 -0
  56. package/dist/migrations/common/1791542683581-AddTimeoutSecondsToScheduler.js +42 -0
  57. package/dist/migrations/common/1791542683581-AddTimeoutSecondsToScheduler.js.map +1 -0
  58. package/dist/migrations/postgresdb/index.js +21 -1
  59. package/dist/migrations/postgresdb/index.js.map +1 -1
  60. package/dist/migrations/sqlite/1791276719782-AddMetadataToTrustedSource.d.ts +4 -0
  61. package/dist/migrations/sqlite/1791276719782-AddMetadataToTrustedSource.js +12 -0
  62. package/dist/migrations/sqlite/1791276719782-AddMetadataToTrustedSource.js.map +1 -0
  63. package/dist/migrations/sqlite/1791374893870-AddWorkflowSuggestionReviewState.d.ts +4 -0
  64. package/dist/migrations/sqlite/1791374893870-AddWorkflowSuggestionReviewState.js +12 -0
  65. package/dist/migrations/sqlite/1791374893870-AddWorkflowSuggestionReviewState.js.map +1 -0
  66. package/dist/migrations/sqlite/1791377741439-AllowGitLabPromotionProvider.d.ts +4 -0
  67. package/dist/migrations/sqlite/1791377741439-AllowGitLabPromotionProvider.js +12 -0
  68. package/dist/migrations/sqlite/1791377741439-AllowGitLabPromotionProvider.js.map +1 -0
  69. package/dist/migrations/sqlite/1791542683581-AddTimeoutSecondsToScheduler.d.ts +4 -0
  70. package/dist/migrations/sqlite/1791542683581-AddTimeoutSecondsToScheduler.js +12 -0
  71. package/dist/migrations/sqlite/1791542683581-AddTimeoutSecondsToScheduler.js.map +1 -0
  72. package/dist/migrations/sqlite/index.js +21 -1
  73. package/dist/migrations/sqlite/index.js.map +1 -1
  74. package/dist/repositories/activity-event.repository.d.ts +5 -0
  75. package/dist/repositories/activity-event.repository.js +39 -0
  76. package/dist/repositories/activity-event.repository.js.map +1 -1
  77. package/dist/repositories/agent-eval-dataset.repository.ee.d.ts +1 -0
  78. package/dist/repositories/agent-eval-dataset.repository.ee.js +9 -0
  79. package/dist/repositories/agent-eval-dataset.repository.ee.js.map +1 -1
  80. package/dist/repositories/agent-eval-result.repository.ee.d.ts +5 -0
  81. package/dist/repositories/agent-eval-result.repository.ee.js +27 -1
  82. package/dist/repositories/agent-eval-result.repository.ee.js.map +1 -1
  83. package/dist/repositories/agent-eval-run.repository.ee.d.ts +1 -0
  84. package/dist/repositories/agent-eval-run.repository.ee.js +3 -0
  85. package/dist/repositories/agent-eval-run.repository.ee.js.map +1 -1
  86. package/dist/repositories/ai-preference.repository.d.ts +2 -1
  87. package/dist/repositories/ai-preference.repository.js +6 -2
  88. package/dist/repositories/ai-preference.repository.js.map +1 -1
  89. package/dist/repositories/credentials.repository.d.ts +1 -0
  90. package/dist/repositories/credentials.repository.js +10 -1
  91. package/dist/repositories/credentials.repository.js.map +1 -1
  92. package/dist/repositories/execution.repository.d.ts +3 -2
  93. package/dist/repositories/execution.repository.js +3 -1
  94. package/dist/repositories/execution.repository.js.map +1 -1
  95. package/dist/repositories/idempotency-key.repository.d.ts +8 -0
  96. package/dist/repositories/idempotency-key.repository.js +44 -0
  97. package/dist/repositories/idempotency-key.repository.js.map +1 -0
  98. package/dist/repositories/index.d.ts +3 -2
  99. package/dist/repositories/index.js +4 -2
  100. package/dist/repositories/index.js.map +1 -1
  101. package/dist/repositories/project-relation.repository.d.ts +1 -0
  102. package/dist/repositories/project-relation.repository.js +18 -0
  103. package/dist/repositories/project-relation.repository.js.map +1 -1
  104. package/dist/repositories/project.repository.d.ts +6 -1
  105. package/dist/repositories/project.repository.js +22 -0
  106. package/dist/repositories/project.repository.js.map +1 -1
  107. package/dist/repositories/role.repository.d.ts +6 -4
  108. package/dist/repositories/role.repository.js +8 -6
  109. package/dist/repositories/role.repository.js.map +1 -1
  110. package/dist/repositories/scheduled-job.repository.d.ts +3 -3
  111. package/dist/repositories/scheduled-job.repository.js.map +1 -1
  112. package/dist/repositories/scheduled-task.repository.d.ts +3 -0
  113. package/dist/repositories/scheduled-task.repository.js +11 -0
  114. package/dist/repositories/scheduled-task.repository.js.map +1 -1
  115. package/dist/repositories/settings.repository.d.ts +1 -0
  116. package/dist/repositories/settings.repository.js +11 -0
  117. package/dist/repositories/settings.repository.js.map +1 -1
  118. package/dist/repositories/shared-workflow.repository.d.ts +9 -2
  119. package/dist/repositories/shared-workflow.repository.js +11 -3
  120. package/dist/repositories/shared-workflow.repository.js.map +1 -1
  121. package/dist/repositories/user.repository.d.ts +8 -5
  122. package/dist/repositories/user.repository.js +12 -7
  123. package/dist/repositories/user.repository.js.map +1 -1
  124. package/dist/repositories/workflow-history.repository.d.ts +10 -3
  125. package/dist/repositories/workflow-history.repository.js +43 -8
  126. package/dist/repositories/workflow-history.repository.js.map +1 -1
  127. package/dist/repositories/workflow-publish-history.repository.d.ts +17 -5
  128. package/dist/repositories/workflow-publish-history.repository.js +74 -10
  129. package/dist/repositories/workflow-publish-history.repository.js.map +1 -1
  130. package/dist/repositories/workflow-tag-mapping.repository.d.ts +6 -4
  131. package/dist/repositories/workflow-tag-mapping.repository.js +8 -6
  132. package/dist/repositories/workflow-tag-mapping.repository.js.map +1 -1
  133. package/dist/repositories/workflow.repository.d.ts +33 -5
  134. package/dist/repositories/workflow.repository.js +176 -53
  135. package/dist/repositories/workflow.repository.js.map +1 -1
  136. package/dist/services/auth.roles.service.js.map +1 -1
  137. package/dist/services/db-lock.service.js.map +1 -1
  138. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-history.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-history.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAgE;AAChE,+CAAkF;AAElF,0CAKqB;AACrB,uDAAmD;AACnD,kDAA8C;AAC9C,yGAAgG;AAChG,uFAA+E;AAE/E,yDAA4D;AAGrD,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,gCAA+B;IAC7E,YAAY,UAAsB,EAAE,iBAAoC;QACvE,KAAK,CAAC,0BAAe,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,OAGuF,EACvF,GAAqB;QAErB,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,0BAAe,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAOD,KAAK,CAAC,8BAA8B,CACnC,WAAqB,EACrB,WAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgD,CAAC;QACvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,IAAA,oBAAQ,EAAC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC;gBAC3D,KAAK,EAAE,EAAE,UAAU,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC,EAAE;gBAChC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;aAC5B,CAAC,CAAC;YACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACjD,IAAI,OAAO,CAAC,MAAM,IAAI,WAAW;oBAAE,SAAS;gBAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAU;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,UAAkB,EAClB,UAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC;YACtB,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAA,YAAE,EAAC,UAAU,CAAC,EAAE;YAChD,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;YAC1C,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,qBAAqB,CAC1B,EACC,UAAU,EACV,SAAS,EACT,IAAI,EACJ,WAAW,GAC2E,EACvF,GAAqB;QAErB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,CAC/C,0BAAe,EACf,EAAE,UAAU,EAAE,SAAS,EAAE,EACzB,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAC/D,CAAC;QACF,OAAO,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,uCAAuC,CAAC,IAAU,EAAE,qBAAqB,GAAG,KAAK;QACtF,MAAM,yBAAyB,GAAG,IAAI,CAAC,OAAO;aAC5C,kBAAkB,EAAE;aACpB,QAAQ,EAAE;aACV,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,yBAAc,EAAE,GAAG,CAAC;aACzB,QAAQ,EAAE,CAAC;QAEb,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO;aAC3C,kBAAkB,EAAE;aACpB,QAAQ,EAAE;aACV,MAAM,CAAC,mBAAmB,CAAC;aAC3B,IAAI,CAAC,yBAAc,EAAE,GAAG,CAAC;aACzB,KAAK,CAAC,+BAA+B,CAAC;aACtC,QAAQ,EAAE,CAAC;QAIb,MAAM,2BAA2B,GAAG,IAAI,CAAC,OAAO;aAC9C,kBAAkB,EAAE;aACpB,QAAQ,EAAE;aACV,MAAM,CAAC,wBAAwB,CAAC;aAChC,IAAI,CAAC,mCAAwB,EAAE,KAAK,CAAC;aACrC,QAAQ,EAAE,CAAC;QAIb,MAAM,kCAAkC,GAAG,IAAI,CAAC,OAAO;aACrD,kBAAkB,EAAE;aACpB,QAAQ,EAAE;aACV,MAAM,CAAC,wBAAwB,CAAC;aAChC,IAAI,CAAC,mEAA6B,EAAE,MAAM,CAAC;aAC3C,SAAS,CAAC,kDAAqB,EAAE,KAAK,EAAE,uCAAuC,CAAC;aAChF,KAAK,CAAC,oBAAoB,CAAC;aAC3B,QAAQ,CAAC,oCAAoC,CAAC;aAC9C,QAAQ,EAAE,CAAC;QAEb,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO;aACxB,kBAAkB,EAAE;aACpB,MAAM,EAAE;aACR,IAAI,CAAC,0BAAe,CAAC;aACrB,KAAK,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC;aACpC,QAAQ,CAAC,qBAAqB,yBAAyB,GAAG,CAAC;aAC3D,QAAQ,CAAC,qBAAqB,wBAAwB,GAAG,CAAC;aAC1D,QAAQ,CAAC,qBAAqB,2BAA2B,GAAG,CAAC;aAC7D,QAAQ,CAAC,qBAAqB,kCAAkC,GAAG,CAAC,CAAC;QAEvE,IAAI,qBAAqB,EAAE,CAAC;YAC3B,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAEO,kCAAkC,CAAC,cAA2B;QACrE,OAAO,CAAC,IAAqB,EAAE,KAAsB,EAAW,EAAE,CACjE,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAe,EAAE,OAAa;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO;aAC/B,kBAAkB,CAAC,0BAAe,EAAE,IAAI,CAAC;aACzC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC;aACrC,QAAQ,CAAC,IAAI,CAAC;aACd,KAAK,CAAC,0BAA0B,EAAE;YAClC,OAAO;SACP,CAAC;aACD,QAAQ,CAAC,4BAA4B,EAAE;YACvC,SAAS;SACT,CAAC;aACD,OAAO,CAAC,eAAe,CAAC;aACxB,UAAU,EAA0B,CAAC;QAEvC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAKD,KAAK,CAAC,YAAY,CACjB,UAAkB,EAClB,SAAe,EACf,OAAa,EACb,KAAK,GAAe,EAAE,EACtB,SAAS,GAAe,EAAE,EAC1B,QAAuD;QAEvD,MAAM,wBAAwB,GAAG,IAAI,CAAC,OAAO;aAC3C,kBAAkB,EAAE;aACpB,QAAQ,EAAE;aACV,MAAM,CAAC,GAAG,CAAC;aACX,IAAI,CAAC,iCAAsB,EAAE,KAAK,CAAC;aACnC,KAAK,CAAC,gCAAgC,CAAC;aACvC,QAAQ,CAAC,8BAA8B,CAAC;aACxC,QAAQ,EAAE,CAAC;QACb,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO;aACrD,kBAAkB,CAAC,0BAAe,EAAE,IAAI,CAAC;aACzC,QAAQ,CAAC,yBAAc,EAAE,GAAG,EAAE,sBAAsB,CAAC;aACrD,SAAS,CACT,kDAAkD,wBAAwB,oBAAoB,EAC9F,aAAa,CACb;aACA,KAAK,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,CAAC;aACpD,QAAQ,CAAC,0BAA0B,EAAE;YACrC,OAAO;SACP,CAAC;aACD,QAAQ,CAAC,4BAA4B,EAAE;YACvC,SAAS;SACT,CAAC;aACD,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC;aAC9B,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC;aACjC,iBAAiB,EAAiD,CAAC;QAGrE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAChC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CACjF,CAAC;QACF,MAAM,OAAO,GAAG,IAAA,6BAAc,EAC7B,SAAS,EACT,KAAK,EACL;YACC,IAAI,CAAC,kCAAkC,CAAC,iBAAiB,CAAC;YAC1D,yBAAU,CAAC,kBAAkB;YAC7B,GAAG,SAAS;SACZ,EACD,QAAQ,CACR,CAAC;QAGF,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC;YACtC,SAAS,EAAE,IAAA,YAAE,EAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,EAAE,IAAA,gBAAM,GAAE;YACd,WAAW,EAAE,IAAA,gBAAM,GAAE;SACrB,CAAC,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChF,CAAC;CACD,CAAA;;oCA9NY,yBAAyB;IADrC,IAAA,YAAO,GAAE;qCAEe,oBAAU,EAAqB,+BAAiB;GAD5D,yBAAyB,CA8NrC"}
@@ -1,11 +1,23 @@
1
- import { DataSource, Repository } from '@n8n/typeorm';
1
+ import { DataSource } from '@n8n/typeorm';
2
2
  import type { EntityManager } from '@n8n/typeorm';
3
+ import { BaseRepository } from './base-repository';
3
4
  import { WorkflowPublishHistory } from '../entities';
4
- export declare class WorkflowPublishHistoryRepository extends Repository<WorkflowPublishHistory> {
5
- constructor(dataSource: DataSource);
5
+ import { type OperationContext, TransactionRunner } from '../services/transaction';
6
+ export type PublishHistoryScope = 'all' | 'latestActivation' | 'none';
7
+ export declare class WorkflowPublishHistoryRepository extends BaseRepository<WorkflowPublishHistory> {
8
+ constructor(dataSource: DataSource, transactionRunner: TransactionRunner);
9
+ getLatestPublishHistoryEventId(workflowId: string, ctx?: OperationContext): Promise<number | null>;
6
10
  addRecord({ workflowId, versionId, event, userId, }: Pick<WorkflowPublishHistory, 'event' | 'workflowId' | 'versionId' | 'userId'>, trx?: EntityManager): Promise<void>;
7
- findByVersion(workflowId: string, versionId: string, trx?: EntityManager): Promise<WorkflowPublishHistory[]>;
8
- getPublishedVersions(workflowId: string): Promise<Array<Pick<WorkflowPublishHistory, 'versionId'>>>;
11
+ findByVersion(workflowId: string, versionId: string, scope?: Exclude<PublishHistoryScope, 'none'>, trx?: EntityManager): Promise<WorkflowPublishHistory[]>;
12
+ findRecentAttributedByWorkflowIds(workflowIds: string[], perWorkflow: number): Promise<Map<string, Array<{
13
+ userId: string;
14
+ at: Date;
15
+ }>>>;
16
+ findLatestActivations(workflowId: string, versionIds: string[]): Promise<WorkflowPublishHistory[]>;
17
+ findTimelinePage(workflowId: string, { offset, limit }: {
18
+ offset: number;
19
+ limit: number;
20
+ }): Promise<WorkflowPublishHistory[]>;
9
21
  findActivatedByUserId(workflowId: string): Promise<string | undefined>;
10
22
  findPublisherUserId(workflowId: string, versionId?: string | null): Promise<string | undefined>;
11
23
  }
@@ -12,10 +12,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.WorkflowPublishHistoryRepository = void 0;
13
13
  const di_1 = require("@n8n/di");
14
14
  const typeorm_1 = require("@n8n/typeorm");
15
+ const base_repository_1 = require("./base-repository");
15
16
  const entities_1 = require("../entities");
16
- let WorkflowPublishHistoryRepository = class WorkflowPublishHistoryRepository extends typeorm_1.Repository {
17
- constructor(dataSource) {
18
- super(entities_1.WorkflowPublishHistory, dataSource.manager);
17
+ const transaction_1 = require("../services/transaction");
18
+ const chunk_ids_1 = require("../utils/chunk-ids");
19
+ let WorkflowPublishHistoryRepository = class WorkflowPublishHistoryRepository extends base_repository_1.BaseRepository {
20
+ constructor(dataSource, transactionRunner) {
21
+ super(entities_1.WorkflowPublishHistory, dataSource.manager, transactionRunner);
22
+ }
23
+ async getLatestPublishHistoryEventId(workflowId, ctx = {}) {
24
+ const publication = await this.managerFor(ctx).findOne(entities_1.WorkflowPublishHistory, {
25
+ where: { workflowId },
26
+ order: { id: 'DESC' },
27
+ });
28
+ return publication?.id ?? null;
19
29
  }
20
30
  async addRecord({ workflowId, versionId, event, userId, }, trx) {
21
31
  const repository = trx ? trx.getRepository(entities_1.WorkflowPublishHistory) : this;
@@ -26,16 +36,70 @@ let WorkflowPublishHistoryRepository = class WorkflowPublishHistoryRepository ex
26
36
  userId,
27
37
  });
28
38
  }
29
- async findByVersion(workflowId, versionId, trx) {
39
+ async findByVersion(workflowId, versionId, scope = 'all', trx) {
30
40
  const repository = trx ? trx.getRepository(entities_1.WorkflowPublishHistory) : this;
41
+ if (scope === 'latestActivation') {
42
+ return await repository.find({
43
+ where: { workflowId, versionId, event: 'activated' },
44
+ order: { id: 'DESC' },
45
+ take: 1,
46
+ });
47
+ }
31
48
  return await repository.find({ where: { workflowId, versionId }, order: { id: 'ASC' } });
32
49
  }
33
- async getPublishedVersions(workflowId) {
34
- return await this.manager
35
- .createQueryBuilder(entities_1.WorkflowPublishHistory, 'wph')
36
- .select('wph.versionId')
37
- .distinct(true)
50
+ async findRecentAttributedByWorkflowIds(workflowIds, perWorkflow) {
51
+ const recent = new Map();
52
+ if (workflowIds.length === 0 || perWorkflow <= 0)
53
+ return recent;
54
+ for (const chunk of (0, chunk_ids_1.chunkIds)([...new Set(workflowIds)])) {
55
+ const rows = await this.find({
56
+ select: ['id', 'workflowId', 'userId', 'createdAt'],
57
+ where: { workflowId: (0, typeorm_1.In)(chunk), userId: (0, typeorm_1.Not)((0, typeorm_1.IsNull)()) },
58
+ order: { createdAt: 'DESC', id: 'DESC' },
59
+ });
60
+ for (const row of rows) {
61
+ if (row.userId === null)
62
+ continue;
63
+ const entries = recent.get(row.workflowId) ?? [];
64
+ if (entries.length >= perWorkflow)
65
+ continue;
66
+ entries.push({ userId: row.userId, at: row.createdAt });
67
+ recent.set(row.workflowId, entries);
68
+ }
69
+ }
70
+ return recent;
71
+ }
72
+ async findLatestActivations(workflowId, versionIds) {
73
+ if (versionIds.length === 0)
74
+ return [];
75
+ const activations = [];
76
+ for (const batch of (0, chunk_ids_1.chunkIds)([...new Set(versionIds)])) {
77
+ const latestIds = this.createQueryBuilder('latest')
78
+ .select('MAX(latest.id)')
79
+ .where('latest.workflowId = :workflowId', { workflowId })
80
+ .andWhere('latest.versionId IN (:...versionIds)', { versionIds: batch })
81
+ .andWhere('latest.event = :event', { event: 'activated' })
82
+ .groupBy('latest.versionId');
83
+ const batchActivations = await this.createQueryBuilder('wph')
84
+ .where(`wph.id IN (${latestIds.getQuery()})`)
85
+ .setParameters(latestIds.getParameters())
86
+ .getMany();
87
+ activations.push(...batchActivations);
88
+ }
89
+ return activations;
90
+ }
91
+ async findTimelinePage(workflowId, { offset, limit }) {
92
+ if (limit <= 0)
93
+ return [];
94
+ return await this.createQueryBuilder('wph')
95
+ .leftJoinAndSelect('wph.user', 'user')
96
+ .leftJoin('wph.workflowHistory', 'wh')
97
+ .addSelect('wh.name')
38
98
  .where('wph.workflowId = :workflowId', { workflowId })
99
+ .orderBy('wph.createdAt', 'DESC')
100
+ .addOrderBy('wph.id', 'DESC')
101
+ .offset(offset)
102
+ .limit(limit)
39
103
  .getMany();
40
104
  }
41
105
  async findActivatedByUserId(workflowId) {
@@ -62,6 +126,6 @@ let WorkflowPublishHistoryRepository = class WorkflowPublishHistoryRepository ex
62
126
  exports.WorkflowPublishHistoryRepository = WorkflowPublishHistoryRepository;
63
127
  exports.WorkflowPublishHistoryRepository = WorkflowPublishHistoryRepository = __decorate([
64
128
  (0, di_1.Service)(),
65
- __metadata("design:paramtypes", [typeorm_1.DataSource])
129
+ __metadata("design:paramtypes", [typeorm_1.DataSource, transaction_1.TransactionRunner])
66
130
  ], WorkflowPublishHistoryRepository);
67
131
  //# sourceMappingURL=workflow-publish-history.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-publish-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publish-history.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAsD;AAGtD,0CAAqD;AAG9C,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,oBAAkC;IACvF,YAAY,UAAsB;QACjC,KAAK,CAAC,iCAAsB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,SAAS,CACd,EACC,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,GACyE,EAChF,GAAmB;QAEnB,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,iCAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,MAAM,UAAU,CAAC,MAAM,CAAC;YACvB,UAAU;YACV,SAAS;YACT,KAAK;YACL,MAAM;SACN,CAAC,CAAC;IACJ,CAAC;IAOD,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,SAAiB,EAAE,GAAmB;QAC7E,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,iCAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,OAAO,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,UAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,OAAO;aACvB,kBAAkB,CAAC,iCAAsB,EAAE,KAAK,CAAC;aACjD,MAAM,CAAC,eAAe,CAAC;aACvB,QAAQ,CAAC,IAAI,CAAC;aACd,KAAK,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,CAAC;aACrD,OAAO,EAAE,CAAC;IACb,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,UAAkB;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YACjC,MAAM,EAAE,CAAC,QAAQ,CAAC;YAClB,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE;YACzC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,EAAE,MAAM,IAAI,SAAS,CAAC;IACpC,CAAC;IAcD,KAAK,CAAC,mBAAmB,CACxB,UAAkB,EAClB,SAAyB;QAEzB,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBAGrC,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACxB,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE;gBACpD,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;aAC5B,CAAC,CAAC;YAIH,IAAI,UAAU;gBAAE,OAAO,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC;QACvD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;CACD,CAAA;;2CArFY,gCAAgC;IAD5C,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,gCAAgC,CAqF5C"}
1
+ {"version":3,"file":"workflow-publish-history.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-publish-history.repository.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
- import { DataSource, Repository } from '@n8n/typeorm';
1
+ import { DataSource } from '@n8n/typeorm';
2
+ import { BaseRepository } from './base-repository';
2
3
  import { WorkflowTagMapping } from '../entities';
3
- export declare class WorkflowTagMappingRepository extends Repository<WorkflowTagMapping> {
4
- constructor(dataSource: DataSource);
5
- overwriteTaggings(workflowId: string, tagIds: string[]): Promise<import("@n8n/typeorm").InsertResult>;
4
+ import { type OperationContext, TransactionRunner } from '../services/transaction';
5
+ export declare class WorkflowTagMappingRepository extends BaseRepository<WorkflowTagMapping> {
6
+ constructor(dataSource: DataSource, transactionRunner: TransactionRunner);
7
+ overwriteTaggings(workflowId: string, tagIds: string[], ctx?: OperationContext): Promise<import("@n8n/typeorm").InsertResult>;
6
8
  }
@@ -12,13 +12,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.WorkflowTagMappingRepository = void 0;
13
13
  const di_1 = require("@n8n/di");
14
14
  const typeorm_1 = require("@n8n/typeorm");
15
+ const base_repository_1 = require("./base-repository");
15
16
  const entities_1 = require("../entities");
16
- let WorkflowTagMappingRepository = class WorkflowTagMappingRepository extends typeorm_1.Repository {
17
- constructor(dataSource) {
18
- super(entities_1.WorkflowTagMapping, dataSource.manager);
17
+ const transaction_1 = require("../services/transaction");
18
+ let WorkflowTagMappingRepository = class WorkflowTagMappingRepository extends base_repository_1.BaseRepository {
19
+ constructor(dataSource, transactionRunner) {
20
+ super(entities_1.WorkflowTagMapping, dataSource.manager, transactionRunner);
19
21
  }
20
- async overwriteTaggings(workflowId, tagIds) {
21
- return await this.manager.transaction(async (tx) => {
22
+ async overwriteTaggings(workflowId, tagIds, ctx = {}) {
23
+ return await this.runInTransaction(ctx, async (tx) => {
22
24
  await tx.delete(entities_1.WorkflowTagMapping, { workflowId });
23
25
  const taggings = tagIds.map((tagId) => this.create({ workflowId, tagId }));
24
26
  return await tx.insert(entities_1.WorkflowTagMapping, taggings);
@@ -28,6 +30,6 @@ let WorkflowTagMappingRepository = class WorkflowTagMappingRepository extends ty
28
30
  exports.WorkflowTagMappingRepository = WorkflowTagMappingRepository;
29
31
  exports.WorkflowTagMappingRepository = WorkflowTagMappingRepository = __decorate([
30
32
  (0, di_1.Service)(),
31
- __metadata("design:paramtypes", [typeorm_1.DataSource])
33
+ __metadata("design:paramtypes", [typeorm_1.DataSource, transaction_1.TransactionRunner])
32
34
  ], WorkflowTagMappingRepository);
33
35
  //# sourceMappingURL=workflow-tag-mapping.repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-tag-mapping.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-tag-mapping.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAAsD;AAEtD,0CAAiD;AAG1C,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,oBAA8B;IAC/E,YAAY,UAAsB;QACjC,KAAK,CAAC,6BAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,MAAgB;QAC3D,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAClD,MAAM,EAAE,CAAC,MAAM,CAAC,6BAAkB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAE3E,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,6BAAkB,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;uCAdY,4BAA4B;IADxC,IAAA,YAAO,GAAE;qCAEe,oBAAU;GADtB,4BAA4B,CAcxC"}
1
+ {"version":3,"file":"workflow-tag-mapping.repository.js","sourceRoot":"","sources":["../../src/repositories/workflow-tag-mapping.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAkC;AAClC,0CAA0C;AAE1C,uDAAmD;AACnD,0CAAiD;AACjD,yDAAmF;AAG5E,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,gCAAkC;IACnF,YAAY,UAAsB,EAAE,iBAAoC;QACvE,KAAK,CAAC,6BAAkB,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,MAAgB,EAAE,GAAG,GAAqB,EAAE;QACvF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YACpD,MAAM,EAAE,CAAC,MAAM,CAAC,6BAAkB,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAE3E,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,6BAAkB,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;;uCAdY,4BAA4B;IADxC,IAAA,YAAO,GAAE;qCAEe,oBAAU,EAAqB,+BAAiB;GAD5D,4BAA4B,CAcxC"}
@@ -11,7 +11,13 @@ import { WorkflowHistoryRepository } from './workflow-history.repository';
11
11
  import { WorkflowEntity, User } from '../entities';
12
12
  import type { ListQueryDb, FolderWithWorkflowAndSubFolderCount, ListQuery } from '../entities/types-db';
13
13
  import { type OperationContext, TransactionRunner } from '../services/transaction';
14
- type WorkflowListQueryOptions = ListQuery.Options;
14
+ export type WorkflowIdsQuery = {
15
+ query: string;
16
+ parameters: Record<string, unknown>;
17
+ };
18
+ type WorkflowListQueryOptions = ListQuery.Options & {
19
+ workflowIdsIn?: WorkflowIdsQuery | null;
20
+ };
15
21
  type ResourceType = 'folder' | 'workflow';
16
22
  type UpsertableWorkflowContent = QueryDeepPartialEntity<WorkflowEntity> & Pick<WorkflowEntity, 'nodes'> & {
17
23
  id?: string;
@@ -43,7 +49,7 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
43
49
  findMcpAvailabilityByIds(workflowIds: string[]): Promise<Map<string, boolean>>;
44
50
  get(where: FindOptionsWhere<WorkflowEntity>, options?: {
45
51
  relations: string[] | FindOptionsRelations<WorkflowEntity>;
46
- }): Promise<WorkflowEntity | null>;
52
+ }, ctx?: OperationContext): Promise<WorkflowEntity | null>;
47
53
  findArchivedState(workflowId: string, ctx?: OperationContext): Promise<{
48
54
  isArchived: boolean;
49
55
  } | null>;
@@ -69,8 +75,17 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
69
75
  findActiveByCredentialResolverId(resolverId: string): Promise<string[]>;
70
76
  private addCredentialResolverFilter;
71
77
  clearCredentialResolverId(resolverId: string, trx?: EntityManager): Promise<void>;
78
+ removeFromCallerAllowlists(workflowIds: string[], ctx: OperationContext): Promise<void>;
79
+ removeMissingFromCallerAllowlists(ctx: OperationContext): Promise<void>;
80
+ private purgeCallerAllowlists;
81
+ private callerIdEntries;
82
+ private callerIdsWithout;
83
+ private findCallerAllowlistCandidates;
84
+ private lockCallerAllowlists;
85
+ private writeCallerIds;
72
86
  findById(workflowId: string): Promise<WorkflowEntity | null>;
73
87
  findByIdInContext(workflowId: string, ctx: OperationContext): Promise<WorkflowEntity | null>;
88
+ findForContentUpdate(workflowId: string, ctx: OperationContext): Promise<WorkflowEntity | null>;
74
89
  findByIds(workflowIds: string[], { fields }?: {
75
90
  fields?: string[];
76
91
  }): Promise<WorkflowEntity[]>;
@@ -108,7 +123,7 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
108
123
  isPersonalProject?: boolean;
109
124
  personalProjectOwnerId?: string;
110
125
  onlySharedWithMe?: boolean;
111
- }, options?: WorkflowListQueryOptions, callableForParentWorkflowId?: string): Promise<readonly [WorkflowFolderUnionFull[], number]>;
126
+ }, options?: WorkflowListQueryOptions): Promise<readonly [WorkflowFolderUnionFull[], number]>;
112
127
  private getWorkflowsAndFoldersUnionWithSharingSubquery;
113
128
  private getWorkflowsAndFoldersCountWithSharingSubquery;
114
129
  private buildBaseUnionQueryWithSharingSubquery;
@@ -126,10 +141,22 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
126
141
  isPersonalProject?: boolean;
127
142
  personalProjectOwnerId?: string;
128
143
  onlySharedWithMe?: boolean;
129
- }, options?: WorkflowListQueryOptions, callableForParentWorkflowId?: string): Promise<WorkflowListResult>;
144
+ }, options?: WorkflowListQueryOptions): Promise<WorkflowListResult>;
130
145
  private getManyQueryWithSharingSubquery;
146
+ findCallableSubworkflows(user: User, sharingOptions: {
147
+ scopes: Scope[];
148
+ projectRoles: string[];
149
+ workflowRoles: string[];
150
+ }, parentWorkflowId: string, options: {
151
+ query?: string;
152
+ triggerNodeTypes: string[];
153
+ skip: number;
154
+ take: number;
155
+ }): Promise<{
156
+ workflows: WorkflowEntity[];
157
+ count: number;
158
+ }>;
131
159
  private buildCallablePolicySubquery;
132
- private buildCallablePolicyConditions;
133
160
  private settingsTextValue;
134
161
  private buildSharedWorkflowIdsSubquery;
135
162
  getManyQuery(workflowIds: string[], options?: WorkflowListQueryOptions): SelectQueryBuilder<WorkflowEntity>;
@@ -149,6 +176,7 @@ export declare class WorkflowRepository extends BaseRepository<WorkflowEntity> {
149
176
  private applyProjectFilter;
150
177
  private applyNodeTypesFilter;
151
178
  private buildWorkflowIdsByNodeTypesSubQuery;
179
+ private applyWorkflowIdsInFilter;
152
180
  private applyOwnedByRelation;
153
181
  private applySelect;
154
182
  private applyRelations;