@okf/ootils 1.34.0 → 1.36.0

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.
@@ -917,13 +917,11 @@ declare namespace BASE_BULLMQ_CONFIG {
917
917
  }
918
918
  export { workerConfig_15 as workerConfig };
919
919
  }
920
- namespace REINDEX_QUEUE {
920
+ namespace SCHEDULED_EXTERNAL_SYNC_QUEUE {
921
921
  let id_16: string;
922
922
  export { id_16 as id };
923
923
  export namespace queueConfig_16 {
924
924
  export namespace defaultJobOptions_16 {
925
- let attempts_16: number;
926
- export { attempts_16 as attempts };
927
925
  export namespace backoff_16 {
928
926
  let type_16: string;
929
927
  export { type_16 as type };
@@ -931,8 +929,8 @@ declare namespace BASE_BULLMQ_CONFIG {
931
929
  export { delay_16 as delay };
932
930
  }
933
931
  export { backoff_16 as backoff };
934
- let delay_17: number;
935
- export { delay_17 as delay };
932
+ let attempts_16: number;
933
+ export { attempts_16 as attempts };
936
934
  let removeOnComplete_16: number;
937
935
  export { removeOnComplete_16 as removeOnComplete };
938
936
  let removeOnFail_16: number;
@@ -959,6 +957,48 @@ declare namespace BASE_BULLMQ_CONFIG {
959
957
  }
960
958
  export { workerConfig_16 as workerConfig };
961
959
  }
960
+ namespace REINDEX_QUEUE {
961
+ let id_17: string;
962
+ export { id_17 as id };
963
+ export namespace queueConfig_17 {
964
+ export namespace defaultJobOptions_17 {
965
+ let attempts_17: number;
966
+ export { attempts_17 as attempts };
967
+ export namespace backoff_17 {
968
+ let type_17: string;
969
+ export { type_17 as type };
970
+ let delay_17: number;
971
+ export { delay_17 as delay };
972
+ }
973
+ export { backoff_17 as backoff };
974
+ let delay_18: number;
975
+ export { delay_18 as delay };
976
+ let removeOnComplete_17: number;
977
+ export { removeOnComplete_17 as removeOnComplete };
978
+ let removeOnFail_17: number;
979
+ export { removeOnFail_17 as removeOnFail };
980
+ }
981
+ export { defaultJobOptions_17 as defaultJobOptions };
982
+ export namespace streams_17 {
983
+ export namespace events_17 {
984
+ let maxLen_17: number;
985
+ export { maxLen_17 as maxLen };
986
+ }
987
+ export { events_17 as events };
988
+ }
989
+ export { streams_17 as streams };
990
+ }
991
+ export { queueConfig_17 as queueConfig };
992
+ export namespace workerConfig_17 {
993
+ let concurrency_17: number;
994
+ export { concurrency_17 as concurrency };
995
+ let lockDuration_17: number;
996
+ export { lockDuration_17 as lockDuration };
997
+ let maxStalledCount_17: number;
998
+ export { maxStalledCount_17 as maxStalledCount };
999
+ }
1000
+ export { workerConfig_17 as workerConfig };
1001
+ }
962
1002
  }
963
1003
 
964
1004
  interface PlatformContextContentItem {
package/dist/browser.d.ts CHANGED
@@ -917,13 +917,11 @@ declare namespace BASE_BULLMQ_CONFIG {
917
917
  }
918
918
  export { workerConfig_15 as workerConfig };
919
919
  }
920
- namespace REINDEX_QUEUE {
920
+ namespace SCHEDULED_EXTERNAL_SYNC_QUEUE {
921
921
  let id_16: string;
922
922
  export { id_16 as id };
923
923
  export namespace queueConfig_16 {
924
924
  export namespace defaultJobOptions_16 {
925
- let attempts_16: number;
926
- export { attempts_16 as attempts };
927
925
  export namespace backoff_16 {
928
926
  let type_16: string;
929
927
  export { type_16 as type };
@@ -931,8 +929,8 @@ declare namespace BASE_BULLMQ_CONFIG {
931
929
  export { delay_16 as delay };
932
930
  }
933
931
  export { backoff_16 as backoff };
934
- let delay_17: number;
935
- export { delay_17 as delay };
932
+ let attempts_16: number;
933
+ export { attempts_16 as attempts };
936
934
  let removeOnComplete_16: number;
937
935
  export { removeOnComplete_16 as removeOnComplete };
938
936
  let removeOnFail_16: number;
@@ -959,6 +957,48 @@ declare namespace BASE_BULLMQ_CONFIG {
959
957
  }
960
958
  export { workerConfig_16 as workerConfig };
961
959
  }
960
+ namespace REINDEX_QUEUE {
961
+ let id_17: string;
962
+ export { id_17 as id };
963
+ export namespace queueConfig_17 {
964
+ export namespace defaultJobOptions_17 {
965
+ let attempts_17: number;
966
+ export { attempts_17 as attempts };
967
+ export namespace backoff_17 {
968
+ let type_17: string;
969
+ export { type_17 as type };
970
+ let delay_17: number;
971
+ export { delay_17 as delay };
972
+ }
973
+ export { backoff_17 as backoff };
974
+ let delay_18: number;
975
+ export { delay_18 as delay };
976
+ let removeOnComplete_17: number;
977
+ export { removeOnComplete_17 as removeOnComplete };
978
+ let removeOnFail_17: number;
979
+ export { removeOnFail_17 as removeOnFail };
980
+ }
981
+ export { defaultJobOptions_17 as defaultJobOptions };
982
+ export namespace streams_17 {
983
+ export namespace events_17 {
984
+ let maxLen_17: number;
985
+ export { maxLen_17 as maxLen };
986
+ }
987
+ export { events_17 as events };
988
+ }
989
+ export { streams_17 as streams };
990
+ }
991
+ export { queueConfig_17 as queueConfig };
992
+ export namespace workerConfig_17 {
993
+ let concurrency_17: number;
994
+ export { concurrency_17 as concurrency };
995
+ let lockDuration_17: number;
996
+ export { lockDuration_17 as lockDuration };
997
+ let maxStalledCount_17: number;
998
+ export { maxStalledCount_17 as maxStalledCount };
999
+ }
1000
+ export { workerConfig_17 as workerConfig };
1001
+ }
962
1002
  }
963
1003
 
964
1004
  interface PlatformContextContentItem {
package/dist/browser.js CHANGED
@@ -1224,6 +1224,34 @@ var BASE_BULLMQ_CONFIG = {
1224
1224
  maxStalledCount: 3
1225
1225
  }
1226
1226
  },
1227
+ // One job per due ExternalConnection at each cron tick (hourly/daily/weekly).
1228
+ // The worker handler doesn't do the import itself — it calls okf-be's
1229
+ // /api/externalConnections/internal/runSync which fans out into the existing
1230
+ // DIRECT_DATA_IMPORT_QUEUE for the batched fetch+import work. Keeping this
1231
+ // queue separate from DDI gives clean dashboard separation, independent
1232
+ // concurrency (background-friendly), and independent pause/drain.
1233
+ SCHEDULED_EXTERNAL_SYNC_QUEUE: {
1234
+ id: "scheduled-external-sync-queue",
1235
+ queueConfig: {
1236
+ defaultJobOptions: {
1237
+ backoff: { type: "exponential", delay: 5e3 },
1238
+ attempts: 3,
1239
+ removeOnComplete: 30,
1240
+ removeOnFail: 100
1241
+ },
1242
+ streams: {
1243
+ events: {
1244
+ maxLen: 10
1245
+ }
1246
+ }
1247
+ },
1248
+ workerConfig: {
1249
+ concurrency: 1,
1250
+ lockDuration: 6e5,
1251
+ // 10 min — runSync HTTP call can be long
1252
+ maxStalledCount: 3
1253
+ }
1254
+ },
1227
1255
  REINDEX_QUEUE: {
1228
1256
  id: "reindex-queue",
1229
1257
  queueConfig: {
package/dist/browser.mjs CHANGED
@@ -1155,6 +1155,34 @@ var BASE_BULLMQ_CONFIG = {
1155
1155
  maxStalledCount: 3
1156
1156
  }
1157
1157
  },
1158
+ // One job per due ExternalConnection at each cron tick (hourly/daily/weekly).
1159
+ // The worker handler doesn't do the import itself — it calls okf-be's
1160
+ // /api/externalConnections/internal/runSync which fans out into the existing
1161
+ // DIRECT_DATA_IMPORT_QUEUE for the batched fetch+import work. Keeping this
1162
+ // queue separate from DDI gives clean dashboard separation, independent
1163
+ // concurrency (background-friendly), and independent pause/drain.
1164
+ SCHEDULED_EXTERNAL_SYNC_QUEUE: {
1165
+ id: "scheduled-external-sync-queue",
1166
+ queueConfig: {
1167
+ defaultJobOptions: {
1168
+ backoff: { type: "exponential", delay: 5e3 },
1169
+ attempts: 3,
1170
+ removeOnComplete: 30,
1171
+ removeOnFail: 100
1172
+ },
1173
+ streams: {
1174
+ events: {
1175
+ maxLen: 10
1176
+ }
1177
+ }
1178
+ },
1179
+ workerConfig: {
1180
+ concurrency: 1,
1181
+ lockDuration: 6e5,
1182
+ // 10 min — runSync HTTP call can be long
1183
+ maxStalledCount: 3
1184
+ }
1185
+ },
1158
1186
  REINDEX_QUEUE: {
1159
1187
  id: "reindex-queue",
1160
1188
  queueConfig: {
package/dist/node.d.mts CHANGED
@@ -924,13 +924,11 @@ declare namespace BASE_BULLMQ_CONFIG {
924
924
  }
925
925
  export { workerConfig_15 as workerConfig };
926
926
  }
927
- namespace REINDEX_QUEUE {
927
+ namespace SCHEDULED_EXTERNAL_SYNC_QUEUE {
928
928
  let id_16: string;
929
929
  export { id_16 as id };
930
930
  export namespace queueConfig_16 {
931
931
  export namespace defaultJobOptions_16 {
932
- let attempts_16: number;
933
- export { attempts_16 as attempts };
934
932
  export namespace backoff_16 {
935
933
  let type_16: string;
936
934
  export { type_16 as type };
@@ -938,8 +936,8 @@ declare namespace BASE_BULLMQ_CONFIG {
938
936
  export { delay_16 as delay };
939
937
  }
940
938
  export { backoff_16 as backoff };
941
- let delay_17: number;
942
- export { delay_17 as delay };
939
+ let attempts_16: number;
940
+ export { attempts_16 as attempts };
943
941
  let removeOnComplete_16: number;
944
942
  export { removeOnComplete_16 as removeOnComplete };
945
943
  let removeOnFail_16: number;
@@ -966,6 +964,48 @@ declare namespace BASE_BULLMQ_CONFIG {
966
964
  }
967
965
  export { workerConfig_16 as workerConfig };
968
966
  }
967
+ namespace REINDEX_QUEUE {
968
+ let id_17: string;
969
+ export { id_17 as id };
970
+ export namespace queueConfig_17 {
971
+ export namespace defaultJobOptions_17 {
972
+ let attempts_17: number;
973
+ export { attempts_17 as attempts };
974
+ export namespace backoff_17 {
975
+ let type_17: string;
976
+ export { type_17 as type };
977
+ let delay_17: number;
978
+ export { delay_17 as delay };
979
+ }
980
+ export { backoff_17 as backoff };
981
+ let delay_18: number;
982
+ export { delay_18 as delay };
983
+ let removeOnComplete_17: number;
984
+ export { removeOnComplete_17 as removeOnComplete };
985
+ let removeOnFail_17: number;
986
+ export { removeOnFail_17 as removeOnFail };
987
+ }
988
+ export { defaultJobOptions_17 as defaultJobOptions };
989
+ export namespace streams_17 {
990
+ export namespace events_17 {
991
+ let maxLen_17: number;
992
+ export { maxLen_17 as maxLen };
993
+ }
994
+ export { events_17 as events };
995
+ }
996
+ export { streams_17 as streams };
997
+ }
998
+ export { queueConfig_17 as queueConfig };
999
+ export namespace workerConfig_17 {
1000
+ let concurrency_17: number;
1001
+ export { concurrency_17 as concurrency };
1002
+ let lockDuration_17: number;
1003
+ export { lockDuration_17 as lockDuration };
1004
+ let maxStalledCount_17: number;
1005
+ export { maxStalledCount_17 as maxStalledCount };
1006
+ }
1007
+ export { workerConfig_17 as workerConfig };
1008
+ }
969
1009
  }
970
1010
 
971
1011
  interface PlatformContextContentItem {
@@ -2312,6 +2352,7 @@ interface IAIChat extends Document {
2312
2352
  widgetAskAICacheKey?: string;
2313
2353
  immutableActiveFilters?: any;
2314
2354
  immutableContentTypes?: string[];
2355
+ aiChatAgent?: "v1_singleMultiIntent" | "v2_reactAgent";
2315
2356
  }
2316
2357
  declare const AIChatSchema: mongoose__default.Schema<IAIChat, mongoose__default.Model<IAIChat, any, any, any, mongoose__default.Document<unknown, any, IAIChat, any, {}> & IAIChat & Required<{
2317
2358
  _id: mongoose__default.Types.ObjectId;
package/dist/node.d.ts CHANGED
@@ -924,13 +924,11 @@ declare namespace BASE_BULLMQ_CONFIG {
924
924
  }
925
925
  export { workerConfig_15 as workerConfig };
926
926
  }
927
- namespace REINDEX_QUEUE {
927
+ namespace SCHEDULED_EXTERNAL_SYNC_QUEUE {
928
928
  let id_16: string;
929
929
  export { id_16 as id };
930
930
  export namespace queueConfig_16 {
931
931
  export namespace defaultJobOptions_16 {
932
- let attempts_16: number;
933
- export { attempts_16 as attempts };
934
932
  export namespace backoff_16 {
935
933
  let type_16: string;
936
934
  export { type_16 as type };
@@ -938,8 +936,8 @@ declare namespace BASE_BULLMQ_CONFIG {
938
936
  export { delay_16 as delay };
939
937
  }
940
938
  export { backoff_16 as backoff };
941
- let delay_17: number;
942
- export { delay_17 as delay };
939
+ let attempts_16: number;
940
+ export { attempts_16 as attempts };
943
941
  let removeOnComplete_16: number;
944
942
  export { removeOnComplete_16 as removeOnComplete };
945
943
  let removeOnFail_16: number;
@@ -966,6 +964,48 @@ declare namespace BASE_BULLMQ_CONFIG {
966
964
  }
967
965
  export { workerConfig_16 as workerConfig };
968
966
  }
967
+ namespace REINDEX_QUEUE {
968
+ let id_17: string;
969
+ export { id_17 as id };
970
+ export namespace queueConfig_17 {
971
+ export namespace defaultJobOptions_17 {
972
+ let attempts_17: number;
973
+ export { attempts_17 as attempts };
974
+ export namespace backoff_17 {
975
+ let type_17: string;
976
+ export { type_17 as type };
977
+ let delay_17: number;
978
+ export { delay_17 as delay };
979
+ }
980
+ export { backoff_17 as backoff };
981
+ let delay_18: number;
982
+ export { delay_18 as delay };
983
+ let removeOnComplete_17: number;
984
+ export { removeOnComplete_17 as removeOnComplete };
985
+ let removeOnFail_17: number;
986
+ export { removeOnFail_17 as removeOnFail };
987
+ }
988
+ export { defaultJobOptions_17 as defaultJobOptions };
989
+ export namespace streams_17 {
990
+ export namespace events_17 {
991
+ let maxLen_17: number;
992
+ export { maxLen_17 as maxLen };
993
+ }
994
+ export { events_17 as events };
995
+ }
996
+ export { streams_17 as streams };
997
+ }
998
+ export { queueConfig_17 as queueConfig };
999
+ export namespace workerConfig_17 {
1000
+ let concurrency_17: number;
1001
+ export { concurrency_17 as concurrency };
1002
+ let lockDuration_17: number;
1003
+ export { lockDuration_17 as lockDuration };
1004
+ let maxStalledCount_17: number;
1005
+ export { maxStalledCount_17 as maxStalledCount };
1006
+ }
1007
+ export { workerConfig_17 as workerConfig };
1008
+ }
969
1009
  }
970
1010
 
971
1011
  interface PlatformContextContentItem {
@@ -2312,6 +2352,7 @@ interface IAIChat extends Document {
2312
2352
  widgetAskAICacheKey?: string;
2313
2353
  immutableActiveFilters?: any;
2314
2354
  immutableContentTypes?: string[];
2355
+ aiChatAgent?: "v1_singleMultiIntent" | "v2_reactAgent";
2315
2356
  }
2316
2357
  declare const AIChatSchema: mongoose__default.Schema<IAIChat, mongoose__default.Model<IAIChat, any, any, any, mongoose__default.Document<unknown, any, IAIChat, any, {}> & IAIChat & Required<{
2317
2358
  _id: mongoose__default.Types.ObjectId;
package/dist/node.js CHANGED
@@ -481,6 +481,34 @@ var init_GLOBAL_BULLMQ_CONFIG = __esm({
481
481
  maxStalledCount: 3
482
482
  }
483
483
  },
484
+ // One job per due ExternalConnection at each cron tick (hourly/daily/weekly).
485
+ // The worker handler doesn't do the import itself — it calls okf-be's
486
+ // /api/externalConnections/internal/runSync which fans out into the existing
487
+ // DIRECT_DATA_IMPORT_QUEUE for the batched fetch+import work. Keeping this
488
+ // queue separate from DDI gives clean dashboard separation, independent
489
+ // concurrency (background-friendly), and independent pause/drain.
490
+ SCHEDULED_EXTERNAL_SYNC_QUEUE: {
491
+ id: "scheduled-external-sync-queue",
492
+ queueConfig: {
493
+ defaultJobOptions: {
494
+ backoff: { type: "exponential", delay: 5e3 },
495
+ attempts: 3,
496
+ removeOnComplete: 30,
497
+ removeOnFail: 100
498
+ },
499
+ streams: {
500
+ events: {
501
+ maxLen: 10
502
+ }
503
+ }
504
+ },
505
+ workerConfig: {
506
+ concurrency: 1,
507
+ lockDuration: 6e5,
508
+ // 10 min — runSync HTTP call can be long
509
+ maxStalledCount: 3
510
+ }
511
+ },
484
512
  REINDEX_QUEUE: {
485
513
  id: "reindex-queue",
486
514
  queueConfig: {
@@ -1181,6 +1209,14 @@ var init_AIChat = __esm({
1181
1209
  type: [String],
1182
1210
  default: void 0
1183
1211
  },
1212
+ // Locked AI Chat agent version for this conversation. Set on chat creation.
1213
+ // v1_singleMultiIntent = legacy single/multi-intent pipeline.
1214
+ // v2_reactAgent = ReAct agent.
1215
+ aiChatAgent: {
1216
+ type: String,
1217
+ enum: ["v1_singleMultiIntent", "v2_reactAgent"],
1218
+ default: void 0
1219
+ },
1184
1220
  messages: [
1185
1221
  {
1186
1222
  id: String,
package/dist/node.mjs CHANGED
@@ -486,6 +486,34 @@ var init_GLOBAL_BULLMQ_CONFIG = __esm({
486
486
  maxStalledCount: 3
487
487
  }
488
488
  },
489
+ // One job per due ExternalConnection at each cron tick (hourly/daily/weekly).
490
+ // The worker handler doesn't do the import itself — it calls okf-be's
491
+ // /api/externalConnections/internal/runSync which fans out into the existing
492
+ // DIRECT_DATA_IMPORT_QUEUE for the batched fetch+import work. Keeping this
493
+ // queue separate from DDI gives clean dashboard separation, independent
494
+ // concurrency (background-friendly), and independent pause/drain.
495
+ SCHEDULED_EXTERNAL_SYNC_QUEUE: {
496
+ id: "scheduled-external-sync-queue",
497
+ queueConfig: {
498
+ defaultJobOptions: {
499
+ backoff: { type: "exponential", delay: 5e3 },
500
+ attempts: 3,
501
+ removeOnComplete: 30,
502
+ removeOnFail: 100
503
+ },
504
+ streams: {
505
+ events: {
506
+ maxLen: 10
507
+ }
508
+ }
509
+ },
510
+ workerConfig: {
511
+ concurrency: 1,
512
+ lockDuration: 6e5,
513
+ // 10 min — runSync HTTP call can be long
514
+ maxStalledCount: 3
515
+ }
516
+ },
489
517
  REINDEX_QUEUE: {
490
518
  id: "reindex-queue",
491
519
  queueConfig: {
@@ -1186,6 +1214,14 @@ var init_AIChat = __esm({
1186
1214
  type: [String],
1187
1215
  default: void 0
1188
1216
  },
1217
+ // Locked AI Chat agent version for this conversation. Set on chat creation.
1218
+ // v1_singleMultiIntent = legacy single/multi-intent pipeline.
1219
+ // v2_reactAgent = ReAct agent.
1220
+ aiChatAgent: {
1221
+ type: String,
1222
+ enum: ["v1_singleMultiIntent", "v2_reactAgent"],
1223
+ default: void 0
1224
+ },
1189
1225
  messages: [
1190
1226
  {
1191
1227
  id: String,
@@ -917,13 +917,11 @@ declare namespace BASE_BULLMQ_CONFIG {
917
917
  }
918
918
  export { workerConfig_15 as workerConfig };
919
919
  }
920
- namespace REINDEX_QUEUE {
920
+ namespace SCHEDULED_EXTERNAL_SYNC_QUEUE {
921
921
  let id_16: string;
922
922
  export { id_16 as id };
923
923
  export namespace queueConfig_16 {
924
924
  export namespace defaultJobOptions_16 {
925
- let attempts_16: number;
926
- export { attempts_16 as attempts };
927
925
  export namespace backoff_16 {
928
926
  let type_16: string;
929
927
  export { type_16 as type };
@@ -931,8 +929,8 @@ declare namespace BASE_BULLMQ_CONFIG {
931
929
  export { delay_16 as delay };
932
930
  }
933
931
  export { backoff_16 as backoff };
934
- let delay_17: number;
935
- export { delay_17 as delay };
932
+ let attempts_16: number;
933
+ export { attempts_16 as attempts };
936
934
  let removeOnComplete_16: number;
937
935
  export { removeOnComplete_16 as removeOnComplete };
938
936
  let removeOnFail_16: number;
@@ -959,6 +957,48 @@ declare namespace BASE_BULLMQ_CONFIG {
959
957
  }
960
958
  export { workerConfig_16 as workerConfig };
961
959
  }
960
+ namespace REINDEX_QUEUE {
961
+ let id_17: string;
962
+ export { id_17 as id };
963
+ export namespace queueConfig_17 {
964
+ export namespace defaultJobOptions_17 {
965
+ let attempts_17: number;
966
+ export { attempts_17 as attempts };
967
+ export namespace backoff_17 {
968
+ let type_17: string;
969
+ export { type_17 as type };
970
+ let delay_17: number;
971
+ export { delay_17 as delay };
972
+ }
973
+ export { backoff_17 as backoff };
974
+ let delay_18: number;
975
+ export { delay_18 as delay };
976
+ let removeOnComplete_17: number;
977
+ export { removeOnComplete_17 as removeOnComplete };
978
+ let removeOnFail_17: number;
979
+ export { removeOnFail_17 as removeOnFail };
980
+ }
981
+ export { defaultJobOptions_17 as defaultJobOptions };
982
+ export namespace streams_17 {
983
+ export namespace events_17 {
984
+ let maxLen_17: number;
985
+ export { maxLen_17 as maxLen };
986
+ }
987
+ export { events_17 as events };
988
+ }
989
+ export { streams_17 as streams };
990
+ }
991
+ export { queueConfig_17 as queueConfig };
992
+ export namespace workerConfig_17 {
993
+ let concurrency_17: number;
994
+ export { concurrency_17 as concurrency };
995
+ let lockDuration_17: number;
996
+ export { lockDuration_17 as lockDuration };
997
+ let maxStalledCount_17: number;
998
+ export { maxStalledCount_17 as maxStalledCount };
999
+ }
1000
+ export { workerConfig_17 as workerConfig };
1001
+ }
962
1002
  }
963
1003
 
964
1004
  interface PlatformContextContentItem {
@@ -917,13 +917,11 @@ declare namespace BASE_BULLMQ_CONFIG {
917
917
  }
918
918
  export { workerConfig_15 as workerConfig };
919
919
  }
920
- namespace REINDEX_QUEUE {
920
+ namespace SCHEDULED_EXTERNAL_SYNC_QUEUE {
921
921
  let id_16: string;
922
922
  export { id_16 as id };
923
923
  export namespace queueConfig_16 {
924
924
  export namespace defaultJobOptions_16 {
925
- let attempts_16: number;
926
- export { attempts_16 as attempts };
927
925
  export namespace backoff_16 {
928
926
  let type_16: string;
929
927
  export { type_16 as type };
@@ -931,8 +929,8 @@ declare namespace BASE_BULLMQ_CONFIG {
931
929
  export { delay_16 as delay };
932
930
  }
933
931
  export { backoff_16 as backoff };
934
- let delay_17: number;
935
- export { delay_17 as delay };
932
+ let attempts_16: number;
933
+ export { attempts_16 as attempts };
936
934
  let removeOnComplete_16: number;
937
935
  export { removeOnComplete_16 as removeOnComplete };
938
936
  let removeOnFail_16: number;
@@ -959,6 +957,48 @@ declare namespace BASE_BULLMQ_CONFIG {
959
957
  }
960
958
  export { workerConfig_16 as workerConfig };
961
959
  }
960
+ namespace REINDEX_QUEUE {
961
+ let id_17: string;
962
+ export { id_17 as id };
963
+ export namespace queueConfig_17 {
964
+ export namespace defaultJobOptions_17 {
965
+ let attempts_17: number;
966
+ export { attempts_17 as attempts };
967
+ export namespace backoff_17 {
968
+ let type_17: string;
969
+ export { type_17 as type };
970
+ let delay_17: number;
971
+ export { delay_17 as delay };
972
+ }
973
+ export { backoff_17 as backoff };
974
+ let delay_18: number;
975
+ export { delay_18 as delay };
976
+ let removeOnComplete_17: number;
977
+ export { removeOnComplete_17 as removeOnComplete };
978
+ let removeOnFail_17: number;
979
+ export { removeOnFail_17 as removeOnFail };
980
+ }
981
+ export { defaultJobOptions_17 as defaultJobOptions };
982
+ export namespace streams_17 {
983
+ export namespace events_17 {
984
+ let maxLen_17: number;
985
+ export { maxLen_17 as maxLen };
986
+ }
987
+ export { events_17 as events };
988
+ }
989
+ export { streams_17 as streams };
990
+ }
991
+ export { queueConfig_17 as queueConfig };
992
+ export namespace workerConfig_17 {
993
+ let concurrency_17: number;
994
+ export { concurrency_17 as concurrency };
995
+ let lockDuration_17: number;
996
+ export { lockDuration_17 as lockDuration };
997
+ let maxStalledCount_17: number;
998
+ export { maxStalledCount_17 as maxStalledCount };
999
+ }
1000
+ export { workerConfig_17 as workerConfig };
1001
+ }
962
1002
  }
963
1003
 
964
1004
  interface PlatformContextContentItem {
package/dist/universal.js CHANGED
@@ -1224,6 +1224,34 @@ var BASE_BULLMQ_CONFIG = {
1224
1224
  maxStalledCount: 3
1225
1225
  }
1226
1226
  },
1227
+ // One job per due ExternalConnection at each cron tick (hourly/daily/weekly).
1228
+ // The worker handler doesn't do the import itself — it calls okf-be's
1229
+ // /api/externalConnections/internal/runSync which fans out into the existing
1230
+ // DIRECT_DATA_IMPORT_QUEUE for the batched fetch+import work. Keeping this
1231
+ // queue separate from DDI gives clean dashboard separation, independent
1232
+ // concurrency (background-friendly), and independent pause/drain.
1233
+ SCHEDULED_EXTERNAL_SYNC_QUEUE: {
1234
+ id: "scheduled-external-sync-queue",
1235
+ queueConfig: {
1236
+ defaultJobOptions: {
1237
+ backoff: { type: "exponential", delay: 5e3 },
1238
+ attempts: 3,
1239
+ removeOnComplete: 30,
1240
+ removeOnFail: 100
1241
+ },
1242
+ streams: {
1243
+ events: {
1244
+ maxLen: 10
1245
+ }
1246
+ }
1247
+ },
1248
+ workerConfig: {
1249
+ concurrency: 1,
1250
+ lockDuration: 6e5,
1251
+ // 10 min — runSync HTTP call can be long
1252
+ maxStalledCount: 3
1253
+ }
1254
+ },
1227
1255
  REINDEX_QUEUE: {
1228
1256
  id: "reindex-queue",
1229
1257
  queueConfig: {
@@ -1155,6 +1155,34 @@ var BASE_BULLMQ_CONFIG = {
1155
1155
  maxStalledCount: 3
1156
1156
  }
1157
1157
  },
1158
+ // One job per due ExternalConnection at each cron tick (hourly/daily/weekly).
1159
+ // The worker handler doesn't do the import itself — it calls okf-be's
1160
+ // /api/externalConnections/internal/runSync which fans out into the existing
1161
+ // DIRECT_DATA_IMPORT_QUEUE for the batched fetch+import work. Keeping this
1162
+ // queue separate from DDI gives clean dashboard separation, independent
1163
+ // concurrency (background-friendly), and independent pause/drain.
1164
+ SCHEDULED_EXTERNAL_SYNC_QUEUE: {
1165
+ id: "scheduled-external-sync-queue",
1166
+ queueConfig: {
1167
+ defaultJobOptions: {
1168
+ backoff: { type: "exponential", delay: 5e3 },
1169
+ attempts: 3,
1170
+ removeOnComplete: 30,
1171
+ removeOnFail: 100
1172
+ },
1173
+ streams: {
1174
+ events: {
1175
+ maxLen: 10
1176
+ }
1177
+ }
1178
+ },
1179
+ workerConfig: {
1180
+ concurrency: 1,
1181
+ lockDuration: 6e5,
1182
+ // 10 min — runSync HTTP call can be long
1183
+ maxStalledCount: 3
1184
+ }
1185
+ },
1158
1186
  REINDEX_QUEUE: {
1159
1187
  id: "reindex-queue",
1160
1188
  queueConfig: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.34.0",
6
+ "version": "1.36.0",
7
7
  "description": "Utility functions for both browser and Node.js",
8
8
  "main": "dist/index.js",
9
9
  "module": "dist/index.mjs",