forge-sql-orm 2.1.23 → 2.1.25

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 (54) hide show
  1. package/README.md +46 -23
  2. package/dist/core/ForgeSQLAnalyseOperations.d.ts +4 -0
  3. package/dist/core/ForgeSQLAnalyseOperations.d.ts.map +1 -1
  4. package/dist/core/ForgeSQLAnalyseOperations.js +17 -21
  5. package/dist/core/ForgeSQLAnalyseOperations.js.map +1 -1
  6. package/dist/core/ForgeSQLCrudOperations.d.ts +16 -0
  7. package/dist/core/ForgeSQLCrudOperations.d.ts.map +1 -1
  8. package/dist/core/ForgeSQLCrudOperations.js +60 -28
  9. package/dist/core/ForgeSQLCrudOperations.js.map +1 -1
  10. package/dist/core/ForgeSQLQueryBuilder.d.ts +15 -28
  11. package/dist/core/ForgeSQLQueryBuilder.d.ts.map +1 -1
  12. package/dist/core/ForgeSQLQueryBuilder.js +20 -47
  13. package/dist/core/ForgeSQLQueryBuilder.js.map +1 -1
  14. package/dist/core/Rovo.d.ts +32 -0
  15. package/dist/core/Rovo.d.ts.map +1 -1
  16. package/dist/core/Rovo.js +116 -67
  17. package/dist/core/Rovo.js.map +1 -1
  18. package/dist/lib/drizzle/extensions/additionalActions.d.ts.map +1 -1
  19. package/dist/lib/drizzle/extensions/additionalActions.js +168 -118
  20. package/dist/lib/drizzle/extensions/additionalActions.js.map +1 -1
  21. package/dist/utils/cacheTableUtils.d.ts +0 -8
  22. package/dist/utils/cacheTableUtils.d.ts.map +1 -1
  23. package/dist/utils/cacheTableUtils.js +183 -126
  24. package/dist/utils/cacheTableUtils.js.map +1 -1
  25. package/dist/utils/cacheUtils.d.ts +13 -1
  26. package/dist/utils/cacheUtils.d.ts.map +1 -1
  27. package/dist/utils/cacheUtils.js +60 -47
  28. package/dist/utils/cacheUtils.js.map +1 -1
  29. package/dist/utils/forgeDriverProxy.d.ts.map +1 -1
  30. package/dist/utils/forgeDriverProxy.js +31 -20
  31. package/dist/utils/forgeDriverProxy.js.map +1 -1
  32. package/dist/utils/sqlHints.d.ts.map +1 -1
  33. package/dist/utils/sqlHints.js +19 -29
  34. package/dist/utils/sqlHints.js.map +1 -1
  35. package/dist/utils/sqlUtils.d.ts +0 -29
  36. package/dist/utils/sqlUtils.d.ts.map +1 -1
  37. package/dist/utils/sqlUtils.js +107 -78
  38. package/dist/utils/sqlUtils.js.map +1 -1
  39. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts +24 -4
  40. package/dist/webtriggers/clearCacheSchedulerTrigger.d.ts.map +1 -1
  41. package/dist/webtriggers/clearCacheSchedulerTrigger.js +24 -4
  42. package/dist/webtriggers/clearCacheSchedulerTrigger.js.map +1 -1
  43. package/package.json +9 -9
  44. package/src/core/ForgeSQLAnalyseOperations.ts +18 -21
  45. package/src/core/ForgeSQLCrudOperations.ts +83 -33
  46. package/src/core/ForgeSQLQueryBuilder.ts +59 -154
  47. package/src/core/Rovo.ts +158 -98
  48. package/src/lib/drizzle/extensions/additionalActions.ts +287 -382
  49. package/src/utils/cacheTableUtils.ts +202 -144
  50. package/src/utils/cacheUtils.ts +70 -47
  51. package/src/utils/forgeDriverProxy.ts +39 -21
  52. package/src/utils/sqlHints.ts +21 -26
  53. package/src/utils/sqlUtils.ts +151 -101
  54. package/src/webtriggers/clearCacheSchedulerTrigger.ts +24 -4
@@ -16,12 +16,35 @@ exports.slowQueryPerHours = slowQueryPerHours;
16
16
  exports.withTimeout = withTimeout;
17
17
  exports.withTidbHint = withTidbHint;
18
18
  exports.checkProductionEnvironment = checkProductionEnvironment;
19
+ // qlty-ignore: +qlty:file-complexity
19
20
  const drizzle_orm_1 = require("drizzle-orm");
20
21
  const luxon_1 = require("luxon");
21
22
  const sql_1 = require("drizzle-orm/sql/sql");
22
23
  const core_1 = require("../core");
23
24
  const webtriggers_1 = require("../webtriggers");
24
25
  const api_1 = require("@forge/api");
26
+ /**
27
+ * Parses a string value using multiple DateTime parsers.
28
+ */
29
+ function parseStringToDate(value, format) {
30
+ // 1. Try to parse using the provided format (strict mode)
31
+ const dt = luxon_1.DateTime.fromFormat(value, format);
32
+ if (dt.isValid) {
33
+ return dt.toJSDate();
34
+ }
35
+ // 2. Try to parse as SQL string
36
+ const sqlDt = luxon_1.DateTime.fromSQL(value);
37
+ if (sqlDt.isValid) {
38
+ return sqlDt.toJSDate();
39
+ }
40
+ // 3. Try to parse as RFC2822 string
41
+ const isoDt = luxon_1.DateTime.fromRFC2822(value);
42
+ if (isoDt.isValid) {
43
+ return isoDt.toJSDate();
44
+ }
45
+ // 4. Fallback: use native Date constructor
46
+ return new Date(value);
47
+ }
25
48
  /**
26
49
  * Parses a date string into a Date object using the specified format
27
50
  * @param value - The date string to parse or Date
@@ -34,31 +57,9 @@ const parseDateTime = (value, format) => {
34
57
  result = value;
35
58
  }
36
59
  else {
37
- // 1. Try to parse using the provided format (strict mode)
38
- const dt = luxon_1.DateTime.fromFormat(value, format);
39
- if (dt.isValid) {
40
- result = dt.toJSDate();
41
- }
42
- else {
43
- // 2. Try to parse as SQL string
44
- const sqlDt = luxon_1.DateTime.fromSQL(value);
45
- if (sqlDt.isValid) {
46
- result = sqlDt.toJSDate();
47
- }
48
- else {
49
- // 3. Try to parse as RFC2822 string
50
- const isoDt = luxon_1.DateTime.fromRFC2822(value);
51
- if (isoDt.isValid) {
52
- result = isoDt.toJSDate();
53
- }
54
- else {
55
- // 4. Fallback: use native Date constructor
56
- result = new Date(value);
57
- }
58
- }
59
- }
60
+ result = parseStringToDate(value, format);
60
61
  }
61
- // 4. Ensure the result is a valid Date object
62
+ // Ensure the result is a valid Date object
62
63
  if (Number.isNaN(result.getTime())) {
63
64
  result = new Date(value);
64
65
  }
@@ -488,34 +489,48 @@ function applyFromDriverTransform(rows, selections, aliasMap) {
488
489
  return processNullBranches(transformed);
489
490
  });
490
491
  }
492
+ /**
493
+ * Checks if an object is a plain object (not Date, Array, etc.).
494
+ */
495
+ function isPlainObject(obj) {
496
+ return (obj !== null &&
497
+ typeof obj === "object" &&
498
+ (!obj.constructor || obj.constructor.name === "Object"));
499
+ }
500
+ /**
501
+ * Processes a single value in the null branches processing.
502
+ */
503
+ function processValueEntry(key, value, result, allNull) {
504
+ if (value === null || value === undefined) {
505
+ result[key] = null;
506
+ return;
507
+ }
508
+ if (typeof value === "object" && isPlainObject(value)) {
509
+ const processed = processNullBranches(value);
510
+ result[key] = processed;
511
+ if (processed !== null) {
512
+ allNull.value = false;
513
+ }
514
+ }
515
+ else {
516
+ result[key] = value;
517
+ allNull.value = false;
518
+ }
519
+ }
491
520
  function processNullBranches(obj) {
492
521
  if (obj === null || typeof obj !== "object") {
493
522
  return obj;
494
523
  }
495
524
  // Skip built-in objects like Date, Array, etc.
496
- if (obj.constructor && obj.constructor.name !== "Object") {
525
+ if (!isPlainObject(obj)) {
497
526
  return obj;
498
527
  }
499
528
  const result = {};
500
- let allNull = true;
529
+ const allNull = { value: true };
501
530
  for (const [key, value] of Object.entries(obj)) {
502
- if (value === null || value === undefined) {
503
- result[key] = null;
504
- continue;
505
- }
506
- if (typeof value === "object") {
507
- const processed = processNullBranches(value);
508
- result[key] = processed;
509
- if (processed !== null) {
510
- allNull = false;
511
- }
512
- }
513
- else {
514
- result[key] = value;
515
- allNull = false;
516
- }
531
+ processValueEntry(key, value, result, allNull);
517
532
  }
518
- return allNull ? null : result;
533
+ return allNull.value ? null : result;
519
534
  }
520
535
  function formatLimitOffset(limitOrOffset) {
521
536
  if (typeof limitOrOffset !== "number" || Number.isNaN(limitOrOffset)) {
@@ -548,6 +563,22 @@ function buildClusterStatementsSummaryQuery(forgeSQLORM, timeDiffMs) {
548
563
  MICROSECOND
549
564
  )`)));
550
565
  }
566
+ /**
567
+ * Formats and logs query performance result.
568
+ */
569
+ function formatAndLogQueryResult(result) {
570
+ const avgTimeMs = Number(result.avgLatency) / 1_000_000;
571
+ const avgMemMB = Number(result.avgMem) / 1_000_000;
572
+ // eslint-disable-next-line no-console
573
+ console.warn(`SQL: ${result.digestText} | Memory: ${avgMemMB.toFixed(2)} MB | Time: ${avgTimeMs.toFixed(2)} ms | stmtType: ${result.stmtType} | Executions: ${Number(result.execCount)}\n Plan:${result.plan}`);
574
+ }
575
+ /**
576
+ * Handles errors in query execution plan retrieval.
577
+ */
578
+ function handleQueryPlanError(error) {
579
+ // eslint-disable-next-line no-console
580
+ console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
581
+ }
551
582
  /**
552
583
  * Analyzes and prints query performance data from CLUSTER_STATEMENTS_SUMMARY table.
553
584
  *
@@ -579,17 +610,11 @@ async function printQueriesWithPlan(forgeSQLORM, timeDiffMs, timeout) {
579
610
  const timeoutMs = timeout ?? 3000;
580
611
  const results = await withTimeout(buildClusterStatementsSummaryQuery(forgeSQLORM, timeDiffMs), `Timeout ${timeoutMs}ms in printQueriesWithPlan - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs + 200);
581
612
  for (const result of results) {
582
- // Average execution time (convert from nanoseconds to milliseconds)
583
- const avgTimeMs = Number(result.avgLatency) / 1_000_000;
584
- const avgMemMB = Number(result.avgMem) / 1_000_000;
585
- // 1. Query info: SQL, memory, time, executions
586
- // eslint-disable-next-line no-console
587
- console.warn(`SQL: ${result.digestText} | Memory: ${avgMemMB.toFixed(2)} MB | Time: ${avgTimeMs.toFixed(2)} ms | stmtType: ${result.stmtType} | Executions: ${result.execCount}\n Plan:${result.plan}`);
613
+ formatAndLogQueryResult(result);
588
614
  }
589
615
  }
590
616
  catch (error) {
591
- // eslint-disable-next-line no-console
592
- console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
617
+ handleQueryPlanError(error);
593
618
  }
594
619
  }
595
620
  async function handleErrorsWithPlan(forgeSQLORM, timeDiffMs, type) {
@@ -601,17 +626,11 @@ async function handleErrorsWithPlan(forgeSQLORM, timeDiffMs, type) {
601
626
  const query = baseQuery.orderBy((0, drizzle_orm_1.desc)(orderColumn)).limit(formatLimitOffset(1));
602
627
  const results = await withTimeout(query, `Timeout ${timeoutMs}ms in handleErrorsWithPlan - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs + 200);
603
628
  for (const result of results) {
604
- // Average execution time (convert from nanoseconds to milliseconds)
605
- const avgTimeMs = Number(result.avgLatency) / 1_000_000;
606
- const avgMemMB = Number(result.avgMem) / 1_000_000;
607
- // 1. Query info: SQL, memory, time, executions
608
- // eslint-disable-next-line no-console
609
- console.warn(`SQL: ${result.digestText} | Memory: ${avgMemMB.toFixed(2)} MB | Time: ${avgTimeMs.toFixed(2)} ms | stmtType: ${result.stmtType} | Executions: ${result.execCount}\n Plan:${result.plan}`);
629
+ formatAndLogQueryResult(result);
610
630
  }
611
631
  }
612
632
  catch (error) {
613
- // eslint-disable-next-line no-console
614
- console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
633
+ handleQueryPlanError(error);
615
634
  }
616
635
  }
617
636
  const SESSION_ALIAS_NAME_ORM = "orm";
@@ -644,38 +663,48 @@ const SESSION_ALIAS_NAME_ORM = "orm";
644
663
  *
645
664
  * @throws Does not throw - errors are logged to console.debug instead
646
665
  */
647
- async function slowQueryPerHours(forgeSQLORM, hours, timeout) {
648
- try {
649
- const timeoutMs = timeout ?? 1500;
650
- const results = await withTimeout(forgeSQLORM
651
- .getDrizzleQueryBuilder()
652
- .select({
653
- query: withTidbHint(core_1.slowQuery.query),
654
- queryTime: core_1.slowQuery.queryTime,
655
- memMax: core_1.slowQuery.memMax,
656
- plan: core_1.slowQuery.plan,
657
- })
658
- .from(core_1.slowQuery)
659
- .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.isNotNull)(core_1.slowQuery.digest), (0, drizzle_orm_1.ne)(core_1.slowQuery.sessionAlias, SESSION_ALIAS_NAME_ORM), (0, drizzle_orm_1.gte)(core_1.slowQuery.time, (0, drizzle_orm_1.sql) `DATE_SUB
666
+ /**
667
+ * Builds slow query query for specified hours.
668
+ */
669
+ function buildSlowQueryQuery(forgeSQLORM, hours) {
670
+ return forgeSQLORM
671
+ .getDrizzleQueryBuilder()
672
+ .select({
673
+ query: withTidbHint(core_1.slowQuery.query),
674
+ queryTime: core_1.slowQuery.queryTime,
675
+ memMax: core_1.slowQuery.memMax,
676
+ plan: core_1.slowQuery.plan,
677
+ })
678
+ .from(core_1.slowQuery)
679
+ .where((0, drizzle_orm_1.and)((0, drizzle_orm_1.isNotNull)(core_1.slowQuery.digest), (0, drizzle_orm_1.ne)(core_1.slowQuery.sessionAlias, SESSION_ALIAS_NAME_ORM), (0, drizzle_orm_1.gte)(core_1.slowQuery.time, (0, drizzle_orm_1.sql) `DATE_SUB
660
680
  (NOW(), INTERVAL
661
681
  ${hours}
662
682
  HOUR
663
- )`))), `Timeout ${timeoutMs}ms in slowQueryPerHours - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs);
683
+ )`)));
684
+ }
685
+ /**
686
+ * Formats slow query result message.
687
+ */
688
+ function formatSlowQueryMessage(result) {
689
+ const memMaxMB = result.memMax ? Number(result.memMax) / 1_000_000 : 0;
690
+ return `Found SlowQuery SQL: ${result.query} | Memory: ${memMaxMB.toFixed(2)} MB | Time: ${result.queryTime} ms\n Plan:${result.plan}`;
691
+ }
692
+ async function slowQueryPerHours(forgeSQLORM, hours, timeout) {
693
+ try {
694
+ const timeoutMs = timeout ?? 1500;
695
+ const query = buildSlowQueryQuery(forgeSQLORM, hours);
696
+ const results = await withTimeout(query, `Timeout ${timeoutMs}ms in slowQueryPerHours - transient timeouts are usually fine; repeated timeouts mean this diagnostic query is consistently slow and should be investigated`, timeoutMs);
664
697
  const response = [];
665
698
  for (const result of results) {
666
- // Convert memory from bytes to MB and handle null values
667
- const memMaxMB = result.memMax ? Number(result.memMax) / 1_000_000 : 0;
668
- const message = `Found SlowQuery SQL: ${result.query} | Memory: ${memMaxMB.toFixed(2)} MB | Time: ${result.queryTime} ms\n Plan:${result.plan}`;
699
+ const message = formatSlowQueryMessage(result);
669
700
  response.push(message);
670
- // 1. Query info: SQL, memory, time, executions
671
701
  // eslint-disable-next-line no-console
672
702
  console.warn(message);
673
703
  }
674
704
  return response;
675
705
  }
676
706
  catch (error) {
677
- // eslint-disable-next-line no-console
678
- console.debug(`Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}. Try again after some time`, error);
707
+ handleQueryPlanError(error);
679
708
  return [
680
709
  `Error occurred while retrieving query execution plan: ${error instanceof Error ? error.message : "Unknown error"}`,
681
710
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"sqlUtils.js","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":";;;AA+KA,wCAYC;AAQD,wCA6BC;AA8MD,4CAwBC;AAWD,kEAqBC;AAyBD,8DAyBC;AACD,4DAYC;AAwGD,4DAcC;AAoCD,8CAKC;AAED,0BAEC;AA6DD,oDA+BC;AAED,oDAoCC;AAiCD,8CAwDC;AAUD,kCAoBC;AAED,oCAOC;AASD,gEAUC;AA79BD,6CAeqB;AAErB,iCAAiC;AAOjC,6CAAmD;AACnD,kCAAiF;AAIjF,gDAAkE;AAClE,oCAA2C;AAgC3C;;;;;GAKG;AAEI,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,MAAc,EAAQ,EAAE;IAC1E,IAAI,MAAY,CAAC;IACjB,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,MAAM,GAAG,KAAK,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,0DAA0D;QAC1D,MAAM,EAAE,GAAG,gBAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,gCAAgC;YAChC,MAAM,KAAK,GAAG,gBAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,MAAM,KAAK,GAAG,gBAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,2CAA2C;oBAC3C,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,8CAA8C;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AA/BW,QAAA,aAAa,iBA+BxB;AAEF;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAa;IAC1C,MAAM,OAAO,GAAG,CAAC,gBAAQ,CAAC,OAAO,EAAE,gBAAQ,CAAC,WAAW,EAAE,gBAAQ,CAAC,OAAO,EAAE,gBAAQ,CAAC,QAAQ,CAAC,CAAC;IAE9F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,gBAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,KAA6B;IACpD,IAAI,EAAE,GAAoB,IAAI,CAAC;IAE/B,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,EAAE,GAAG,gBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,EAAE,GAAG,gBAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,EAAY;IAC1C,MAAM,OAAO,GAAG,gBAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,gBAAQ,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,8BAA8B;IAEtF,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,iJAAiJ,CAClJ,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,sIAAsI,CACvI,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,KAA6B,EAC7B,MAAc,EACd,WAAoB;IAEpB,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,WAAW,EAAE,CAAC;QAChB,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAA0B,KAAQ;IAC9D,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEzD,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,kEAAkE;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzD,gEAAgE;QAChE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAEzD,KAAK,MAAM,iBAAiB,IAAI,WAAW,EAAE,CAAC;YAC5C,4CAA4C;YAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC1E,+DAA+D;gBAC/D,OAAO,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC,CAAC,EAAE,CAAC;gBACH,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CACnC,KAAoB,EACpB,iBAAyB;IAEzB,MAAM,WAAW,GAAwB,EAAE,CAAC;IAC5C,aAAa;IACb,MAAM,OAAO,GAAU,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,iBAAsB;IACnD,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,IAA0B,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;AACnG,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAY;IACvC,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,KAAoB,EACpB,WAAmB;IAEnB,MAAM,WAAW,GAAwB,EAAE,CAAC;IAC5C,aAAa;IACb,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAE9C,IAAI,CAAC,kBAAkB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACpE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEhE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,KAAoB,EACpB,iBAAqC,EACrC,WAA+B;IAE/B,MAAM,WAAW,GAAwB,EAAE,CAAC;IAE5C,8CAA8C;IAC9C,IAAI,iBAAiB,EAAE,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,wCAAwC;IACxC,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,CAAC,GAAG,2BAA2B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAoB;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9D,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC7E,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAC7B,OAAY,EACZ,QAKC;IAED,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG;QACjB,YAAY,EAAE,QAAQ,CAAC,OAAO;QAC9B,YAAY,EAAE,QAAQ,CAAC,MAAM;QAC7B,iBAAiB,EAAE,QAAQ,CAAC,WAAW;QACvC,uBAAuB,EAAE,QAAQ,CAAC,iBAAiB;KACpD,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CACjC,KAAoB,EACpB,WAA+B,EAC/B,QAOC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,aAAa;IACb,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;IAC9C,IAAI,CAAC,kBAAkB,IAAI,OAAO,kBAAkB,KAAK,UAAU,EAAE,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;IAEhE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAoB;IACnD,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEjG,6BAA6B;IAC7B,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,EAAuB;QAChC,MAAM,EAAE,EAAoB;QAC5B,WAAW,EAAE,EAAyB;QACtC,WAAW,EAAE,EAAyB;QACtC,iBAAiB,EAAE,EAA+B;QAClD,MAAM,EAAE,EAAW;KACpB,CAAC;IAEF,uBAAuB;IACvB,QAAQ,CAAC,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAEjF,2CAA2C;IAC3C,0BAA0B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEzD,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,CAAC,CAAE,KAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;QACvD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAG,KAAa,CAAC,aAAa,CAA+B,CAAC,CAAC,CAAC,EAAE;QAC1F,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,2BAA2B,CACzC,MAAgB,EAChB,OAA+C;IAE/C,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,OAAO,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChE,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAClD,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC5F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;QAC/B,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACvB,cAAc,CAAC,IAAI,CAAC,0BAA0B,SAAS,KAAK,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC1B,cAAc,CAAC,IAAI,CAAC,6BAA6B,SAAS,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAID,SAAS,qBAAqB,CAC5B,KAAiB,EACjB,UAAkB,EAClB,QAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,qBAAqB,GAA4B,EAAE,CAAC;IAC1D,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,UAAU,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7E,MAAM,UAAU,GAAG,iBAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrC,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAA,iBAAG,EAAA,GAAG,MAAM,SAAS,UAAU,IAAI,CAAC;QAClE,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC9B,CAAC;IACD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe,CAAC,MAAW;IAClC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC;AACnE,CAAC;AAED,SAAgB,yBAAyB,CACvC,UAAe,EACf,IAAY,EACZ,QAAgB,EAChB,MAAW,EACX,QAAwB;IAExB,IAAI,IAAA,qBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;QACpB,UAAU,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,MAAoB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACrF,CAAC;SAAM,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAgB,CAAC;QAChC,MAAM,aAAa,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnE,IAAI,SAAS,GAAG,iBAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAA,iBAAG,EAAA,GAAG,MAAM,SAAS,SAAS,IAAI,CAAC;QACtD,QAAQ,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;SAAM,IAAI,IAAA,kBAAY,EAAC,MAAM,CAAC,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,eAAe,GAAQ,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,yBAAyB,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,QAAQ,IAAI,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC/F,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC;IACrC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AACD,SAAgB,wBAAwB,CACtC,MAAkB;IAElB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,yBAAyB,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAA,kBAAY,EAAC,KAAK,CAAC,IAAI,aAAa,IAAI,KAAK,CAC7F,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,WAAkB;IAC3C,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAI,IAAA,kBAAY,EAAC,cAAc,CAAC,IAAI,aAAa,IAAI,cAAc,EAAE,CAAC;QACpE,OAAO,cAAqB,CAAC;IAC/B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,KAAU;IAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzC,IAAI,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAI,WAA2B,CAAC,KAAK,CAAC;IAClD,IAAI,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,2BAA2B,CAAC,cAAc,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,KAAa,EACb,QAAmC;IAEnC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,IAAI,YAAY,GAAG,MAAgC,CAAC;IACpD,aAAa;IACb,MAAM,UAAU,GAAG,YAAY,EAAE,OAAO,CAAC;IACzC,IAAI,UAAU,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CACtB,GAA4B,EAC5B,UAAmC,EACnC,QAAmC;IAEnC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,KAAK,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAA,kBAAY,EAAC,SAAS,CAAC,EAAE,CAAC;YAClF,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAC3B,KAAgC,EAChC,SAAoC,EACpC,QAAQ,CACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,wBAAwB,CACtC,IAAS,EACT,UAAsB,EACtB,QAAmC;IAEnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtB,MAAM,WAAW,GAAG,eAAe,CACjC,GAA8B,EAC9B,UAAqC,EACrC,QAAQ,CACT,CAAC;QAEF,OAAO,mBAAmB,CAAC,WAAW,CAAiB,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,GAA4B;IACvD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACnB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAgC,CAAC,CAAC;YACxE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YACxB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACjC,CAAC;AAED,SAAgB,iBAAiB,CAAC,aAAqB;IACrD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,iBAAG,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,CAAsB,CAAC;AAC1D,CAAC;AAED,SAAgB,OAAO,CAAC,YAAoB;IAC1C,OAAO,iBAAG,CAAC,GAAG,CAAC,WAAW,YAAY,GAAG,CAAsB,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,kCAAkC,CAAC,WAA8B,EAAE,UAAkB;IAC5F,MAAM,eAAe,GAAG,+BAAwB,CAAC;IACjD,OAAO,WAAW;SACf,sBAAsB,EAAE;SACxB,MAAM,CAAC;QACN,UAAU,EAAE,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC;QACpD,UAAU,EAAE,eAAe,CAAC,UAAU;QACtC,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,SAAS,EAAE,eAAe,CAAC,SAAS;QACpC,IAAI,EAAE,eAAe,CAAC,IAAI;QAC1B,QAAQ,EAAE,eAAe,CAAC,QAAQ;KACnC,CAAC;SACD,IAAI,CAAC,eAAe,CAAC;SACrB,KAAK,CACJ,IAAA,iBAAG,EACD,IAAA,uBAAS,EAAC,eAAe,CAAC,MAAM,CAAC,EACjC,IAAA,iBAAG,EAAC,IAAA,mBAAK,EAAC,eAAe,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC,EAC9D,IAAA,wBAAU,EAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,EAC3F,IAAA,iBAAG,EACD,eAAe,CAAC,QAAQ,EACxB,IAAA,iBAAG,EAAA;;0BAEa,UAAU,GAAG,IAAI;;0BAEjB,CACjB,CACF,CACF,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACI,KAAK,UAAU,oBAAoB,CACxC,WAA8B,EAC9B,UAAkB,EAClB,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,IAAI,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,kCAAkC,CAAC,WAAW,EAAE,UAAU,CAAC,EAC3D,WAAW,SAAS,gKAAgK,EACpL,SAAS,GAAG,GAAG,CAChB,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,oEAAoE;YACpE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;YAEnD,+CAA+C;YAC/C,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,QAAQ,MAAM,CAAC,UAAU,cAAc,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,QAAQ,kBAAkB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,IAAI,EAAE,CAC1L,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,yDAAyD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,6BAA6B,EAC9I,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,WAA8B,EAC9B,UAAkB,EAClB,IAAuB;IAEvB,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,+BAAwB,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,kCAAkC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;QACzF,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,IAAA,kBAAI,EAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,KAAK,EACL,WAAW,SAAS,gKAAgK,EACpL,SAAS,GAAG,GAAG,CAChB,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,oEAAoE;YACpE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;YAEnD,+CAA+C;YAC/C,sCAAsC;YACtC,OAAO,CAAC,IAAI,CACV,QAAQ,MAAM,CAAC,UAAU,cAAc,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,QAAQ,kBAAkB,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,IAAI,EAAE,CAC1L,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,yDAAyD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,6BAA6B,EAC9I,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,KAAK,UAAU,iBAAiB,CACrC,WAA8B,EAC9B,KAAa,EACb,OAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,IAAI,IAAI,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,WAAW;aACR,sBAAsB,EAAE;aACxB,MAAM,CAAC;YACN,KAAK,EAAE,YAAY,CAAC,gBAAS,CAAC,KAAK,CAAC;YACpC,SAAS,EAAE,gBAAS,CAAC,SAAS;YAC9B,MAAM,EAAE,gBAAS,CAAC,MAAM;YACxB,IAAI,EAAE,gBAAS,CAAC,IAAI;SACrB,CAAC;aACD,IAAI,CAAC,gBAAS,CAAC;aACf,KAAK,CACJ,IAAA,iBAAG,EACD,IAAA,uBAAS,EAAC,gBAAS,CAAC,MAAM,CAAC,EAC3B,IAAA,gBAAE,EAAC,gBAAS,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAClD,IAAA,iBAAG,EACD,gBAAS,CAAC,IAAI,EACd,IAAA,iBAAG,EAAA;;8BAEa,KAAK;;8BAEL,CACjB,CACF,CACF,EACH,WAAW,SAAS,6JAA6J,EACjL,SAAS,CACV,CAAC;QACF,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,yDAAyD;YACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvE,MAAM,OAAO,GAAG,wBAAwB,MAAM,CAAC,KAAK,cAAc,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,SAAS,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC;YAChJ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,+CAA+C;YAC/C,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,yDAAyD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,6BAA6B,EAC9I,KAAK,CACN,CAAC;QACF,OAAO;YACL,yDAAyD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;SACpH,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAmB,EACnB,OAAe,EACf,SAAiB;IAEjB,IAAI,SAAoD,CAAC;IAEzD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QACtD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7B,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,YAAY,CAG1B,MAAgC;IAChC,0EAA0E;IAC1E,0EAA0E;IAC1E,OAAO,IAAA,iBAAG,EAAA,kCAAkC,iBAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,QAAQ,MAAM,EAAyC,CAAC;AACrI,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,eAAe,GAAG,IAAA,mBAAa,GAAE,EAAE,eAAe,CAAC;IACzD,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;QACrC,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,wCAAwC,CAAC,CAAC;QACrE,OAAO,IAAA,6BAAe,EAAS,GAAG,EAAE,GAAG,YAAY,wCAAwC,CAAC,CAAC;IAC/F,CAAC;IACD,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,GAAG,YAAY,iBAAiB,eAAe,EAAE,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"sqlUtils.js","sourceRoot":"","sources":["../../src/utils/sqlUtils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,27 @@
1
1
  import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
2
2
  /**
3
- * Scheduler trigger for clearing expired cache entries.
3
+ * Scheduler trigger for proactively clearing expired cache entries.
4
4
  *
5
- * This trigger should be configured as a Forge scheduler to automatically
6
- * clean up expired cache entries based on their TTL (Time To Live).
5
+ * **Why this trigger is needed:**
6
+ *
7
+ * While forge-sql-orm uses Forge KVS TTL feature to mark entries as expired, **actual deletion
8
+ * is asynchronous and may take up to 48 hours**. During this window, expired entries remain in
9
+ * storage and can impact INSERT/UPDATE performance if the cache grows large.
10
+ *
11
+ * This scheduler trigger proactively cleans up expired entries by querying the expiration index
12
+ * and deleting entries where expiration < now, preventing cache growth from impacting data
13
+ * modification operations.
14
+ *
15
+ * **When to use:**
16
+ * - Your cache grows large over time
17
+ * - INSERT/UPDATE operations are slowing down due to cache size
18
+ * - You need strict expiry semantics (immediate cleanup)
19
+ * - You want to reduce storage costs proactively
20
+ *
21
+ * **When optional:**
22
+ * - Small cache footprint
23
+ * - No performance impact on data modifications
24
+ * - You can tolerate expired entries being returned for up to 48 hours
7
25
  *
8
26
  * @note This function is automatically disabled in production environments and will return a 500 error if called.
9
27
  *
@@ -26,7 +44,7 @@ import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
26
44
  *
27
45
  * @example
28
46
  * ```yaml
29
- * # In manifest.yml
47
+ * # In manifest.yml (optional - only if cache growth impacts INSERT/UPDATE performance)
30
48
  * scheduledTrigger:
31
49
  * - key: clear-cache-trigger
32
50
  * function: clearCache
@@ -36,6 +54,8 @@ import { ForgeSqlOrmOptions } from "../core/ForgeSQLQueryBuilder";
36
54
  * - key: clearCache
37
55
  * handler: index.clearCache
38
56
  * ```
57
+ *
58
+ * @see https://developer.atlassian.com/platform/forge/runtime-reference/storage-api-basic-api/#ttl
39
59
  */
40
60
  export declare const clearCacheSchedulerTrigger: (options?: ForgeSqlOrmOptions) => Promise<{
41
61
  headers: {
@@ -1 +1 @@
1
- {"version":3,"file":"clearCacheSchedulerTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,0BAA0B,GAAU,UAAU,kBAAkB;;;;;;;EAwC5E,CAAC"}
1
+ {"version":3,"file":"clearCacheSchedulerTrigger.d.ts","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,eAAO,MAAM,0BAA0B,GAAU,UAAU,kBAAkB;;;;;;;EAwC5E,CAAC"}
@@ -3,10 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.clearCacheSchedulerTrigger = void 0;
4
4
  const cacheUtils_1 = require("../utils/cacheUtils");
5
5
  /**
6
- * Scheduler trigger for clearing expired cache entries.
6
+ * Scheduler trigger for proactively clearing expired cache entries.
7
7
  *
8
- * This trigger should be configured as a Forge scheduler to automatically
9
- * clean up expired cache entries based on their TTL (Time To Live).
8
+ * **Why this trigger is needed:**
9
+ *
10
+ * While forge-sql-orm uses Forge KVS TTL feature to mark entries as expired, **actual deletion
11
+ * is asynchronous and may take up to 48 hours**. During this window, expired entries remain in
12
+ * storage and can impact INSERT/UPDATE performance if the cache grows large.
13
+ *
14
+ * This scheduler trigger proactively cleans up expired entries by querying the expiration index
15
+ * and deleting entries where expiration < now, preventing cache growth from impacting data
16
+ * modification operations.
17
+ *
18
+ * **When to use:**
19
+ * - Your cache grows large over time
20
+ * - INSERT/UPDATE operations are slowing down due to cache size
21
+ * - You need strict expiry semantics (immediate cleanup)
22
+ * - You want to reduce storage costs proactively
23
+ *
24
+ * **When optional:**
25
+ * - Small cache footprint
26
+ * - No performance impact on data modifications
27
+ * - You can tolerate expired entries being returned for up to 48 hours
10
28
  *
11
29
  * @note This function is automatically disabled in production environments and will return a 500 error if called.
12
30
  *
@@ -29,7 +47,7 @@ const cacheUtils_1 = require("../utils/cacheUtils");
29
47
  *
30
48
  * @example
31
49
  * ```yaml
32
- * # In manifest.yml
50
+ * # In manifest.yml (optional - only if cache growth impacts INSERT/UPDATE performance)
33
51
  * scheduledTrigger:
34
52
  * - key: clear-cache-trigger
35
53
  * function: clearCache
@@ -39,6 +57,8 @@ const cacheUtils_1 = require("../utils/cacheUtils");
39
57
  * - key: clearCache
40
58
  * handler: index.clearCache
41
59
  * ```
60
+ *
61
+ * @see https://developer.atlassian.com/platform/forge/runtime-reference/storage-api-basic-api/#ttl
42
62
  */
43
63
  const clearCacheSchedulerTrigger = async (options) => {
44
64
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"clearCacheSchedulerTrigger.js","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":";;;AAAA,oDAAwD;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACI,MAAM,0BAA0B,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,GAAuB,OAAO,IAAI;YAChD,cAAc,EAAE,KAAK;YACrB,wBAAwB,EAAE,KAAK;YAC/B,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,OAAO;YACxB,oBAAoB,EAAE,KAAK;YAC3B,yBAAyB,EAAE,YAAY;YACvC,mBAAmB,EAAE,MAAM;SAC5B,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC;QAEpC,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sCAAsC;gBAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;gBACpF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAxCW,QAAA,0BAA0B,8BAwCrC"}
1
+ {"version":3,"file":"clearCacheSchedulerTrigger.js","sourceRoot":"","sources":["../../src/webtriggers/clearCacheSchedulerTrigger.ts"],"names":[],"mappings":";;;AAAA,oDAAwD;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACI,MAAM,0BAA0B,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC/E,IAAI,CAAC;QACH,MAAM,UAAU,GAAuB,OAAO,IAAI;YAChD,cAAc,EAAE,KAAK;YACrB,wBAAwB,EAAE,KAAK;YAC/B,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,OAAO;YACxB,oBAAoB,EAAE,KAAK;YAC3B,yBAAyB,EAAE,YAAY;YACvC,mBAAmB,EAAE,MAAM;SAC5B,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAA,8BAAiB,EAAC,UAAU,CAAC,CAAC;QAEpC,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,sCAAsC;gBAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,OAAO;YACL,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE;YACjD,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,uBAAuB;YACnC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;gBACpF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;SACH,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAxCW,QAAA,0BAA0B,8BAwCrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "forge-sql-orm",
3
- "version": "2.1.23",
3
+ "version": "2.1.25",
4
4
  "description": "Drizzle ORM integration for Atlassian @forge/sql. Provides a custom driver, schema migration, two levels of caching (local and global via @forge/kvs), optimistic locking, and query analysis.",
5
5
  "main": "dist/index.js",
6
6
  "homepage": "https://github.com/forge-sql-orm/forge-sql-orm#readme",
@@ -27,9 +27,9 @@
27
27
  "devDependencies": {
28
28
  "@eslint/js": "^9.39.2",
29
29
  "@types/luxon": "^3.7.1",
30
- "@types/node": "^25.0.10",
31
- "@typescript-eslint/eslint-plugin": "^8.53.1",
32
- "@typescript-eslint/parser": "^8.53.1",
30
+ "@types/node": "^25.4.0",
31
+ "@typescript-eslint/eslint-plugin": "^8.57.0",
32
+ "@typescript-eslint/parser": "^8.57.0",
33
33
  "@vitest/coverage-v8": "^4.0.18",
34
34
  "@vitest/ui": "^4.0.18",
35
35
  "eslint": "^9.39.2",
@@ -37,7 +37,7 @@
37
37
  "eslint-plugin-import": "^2.32.0",
38
38
  "eslint-plugin-vitest": "^0.5.4",
39
39
  "husky": "^9.1.7",
40
- "knip": "^5.82.1",
40
+ "knip": "^5.86.0",
41
41
  "patch-package": "^8.0.1",
42
42
  "prettier": "^3.8.1",
43
43
  "ts-node": "^10.9.2",
@@ -71,15 +71,15 @@
71
71
  "README.md"
72
72
  ],
73
73
  "peerDependencies": {
74
- "@forge/sql": "^3.0.16",
74
+ "@forge/sql": "^3.0.19",
75
75
  "drizzle-orm": "^0.45.1"
76
76
  },
77
77
  "optionalDependencies": {
78
- "@forge/kvs": "^1.2.5"
78
+ "@forge/kvs": "^1.4.0"
79
79
  },
80
80
  "dependencies": {
81
- "@forge/api": "^7.0.0",
82
- "@forge/events": "^2.0.16",
81
+ "@forge/api": "^7.1.0",
82
+ "@forge/events": "^2.1.0",
83
83
  "luxon": "^3.7.2",
84
84
  "node-sql-parser": "^5.4.0"
85
85
  },
@@ -200,16 +200,10 @@ export class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
200
200
  }
201
201
 
202
202
  /**
203
- * Executes EXPLAIN on a raw SQL query.
204
- * @param {string} query - The SQL query to analyze
205
- * @param {unknown[]} bindParams - The query parameters
206
- * @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
203
+ * Maps decoded plan row to ExplainAnalyzeRow format.
207
204
  */
208
- async explainRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]> {
209
- const results = await this.forgeOperations
210
- .fetch()
211
- .executeRawSQL<DecodedPlanRow>(`EXPLAIN ${query}`, bindParams as SqlParameters);
212
- return results.map((row) => ({
205
+ private mapDecodedPlanRow(row: DecodedPlanRow): ExplainAnalyzeRow {
206
+ return {
213
207
  id: row.id,
214
208
  estRows: row.estRows,
215
209
  actRows: row.actRows,
@@ -219,7 +213,20 @@ export class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
219
213
  operatorInfo: row["operator info"],
220
214
  memory: row.memory,
221
215
  disk: row.disk,
222
- }));
216
+ };
217
+ }
218
+
219
+ /**
220
+ * Executes EXPLAIN on a raw SQL query.
221
+ * @param {string} query - The SQL query to analyze
222
+ * @param {unknown[]} bindParams - The query parameters
223
+ * @returns {Promise<ExplainAnalyzeRow[]>} The execution plan analysis results
224
+ */
225
+ async explainRaw(query: string, bindParams: unknown[]): Promise<ExplainAnalyzeRow[]> {
226
+ const results = await this.forgeOperations
227
+ .fetch()
228
+ .executeRawSQL<DecodedPlanRow>(`EXPLAIN ${query}`, bindParams as SqlParameters);
229
+ return results.map((row) => this.mapDecodedPlanRow(row));
223
230
  }
224
231
 
225
232
  /**
@@ -242,17 +249,7 @@ export class ForgeSQLAnalyseOperation implements SchemaAnalyzeForgeSql {
242
249
  const results = await this.forgeOperations
243
250
  .fetch()
244
251
  .executeRawSQL<DecodedPlanRow>(`EXPLAIN ANALYZE ${query}`, bindParams as SqlParameters);
245
- return results.map((row) => ({
246
- id: row.id,
247
- estRows: row.estRows,
248
- actRows: row.actRows,
249
- task: row.task,
250
- accessObject: row["access object"],
251
- executionInfo: row["execution info"],
252
- operatorInfo: row["operator info"],
253
- memory: row.memory,
254
- disk: row.disk,
255
- }));
252
+ return results.map((row) => this.mapDecodedPlanRow(row));
256
253
  }
257
254
 
258
255
  /**