mongodash 2.0.0 → 2.1.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 (165) hide show
  1. package/README.md +107 -23
  2. package/dist/dashboard/index.html +40 -0
  3. package/dist/lib/playground/server.js +124 -0
  4. package/dist/lib/playground/server.js.map +1 -0
  5. package/dist/lib/src/ConcurrentRunner.js +141 -0
  6. package/dist/lib/src/ConcurrentRunner.js.map +1 -0
  7. package/dist/lib/{OnError.js → src/OnError.js} +2 -9
  8. package/dist/lib/src/OnError.js.map +1 -0
  9. package/dist/lib/{OnInfo.js → src/OnInfo.js} +5 -9
  10. package/dist/lib/src/OnInfo.js.map +1 -0
  11. package/dist/lib/{createContinuousLock.js → src/createContinuousLock.js} +4 -9
  12. package/dist/lib/src/createContinuousLock.js.map +1 -0
  13. package/dist/lib/{cronTasks.js → src/cronTasks.js} +128 -79
  14. package/dist/lib/src/cronTasks.js.map +1 -0
  15. package/dist/lib/{getCollection.js → src/getCollection.js} +1 -8
  16. package/dist/lib/src/getCollection.js.map +1 -0
  17. package/dist/lib/{getMongoClient.js → src/getMongoClient.js} +1 -8
  18. package/dist/lib/src/getMongoClient.js.map +1 -0
  19. package/dist/lib/src/globalsCollection.js +3 -0
  20. package/dist/lib/src/globalsCollection.js.map +1 -0
  21. package/dist/lib/src/index.js +94 -0
  22. package/dist/lib/src/index.js.map +1 -0
  23. package/dist/lib/src/initPromise.js +9 -0
  24. package/dist/lib/src/initPromise.js.map +1 -0
  25. package/dist/lib/src/mongoCompatibility.js +3 -0
  26. package/dist/lib/src/mongoCompatibility.js.map +1 -0
  27. package/dist/lib/src/parseInterval.js +53 -0
  28. package/dist/lib/src/parseInterval.js.map +1 -0
  29. package/dist/lib/src/prefixFilterKeys.js +62 -0
  30. package/dist/lib/src/prefixFilterKeys.js.map +1 -0
  31. package/dist/lib/src/processInBatches.js +39 -0
  32. package/dist/lib/src/processInBatches.js.map +1 -0
  33. package/dist/lib/src/reactiveTasks/LeaderElector.js +148 -0
  34. package/dist/lib/src/reactiveTasks/LeaderElector.js.map +1 -0
  35. package/dist/lib/src/reactiveTasks/MetricsCollector.js +403 -0
  36. package/dist/lib/src/reactiveTasks/MetricsCollector.js.map +1 -0
  37. package/dist/lib/src/reactiveTasks/ReactiveTaskManager.js +281 -0
  38. package/dist/lib/src/reactiveTasks/ReactiveTaskManager.js.map +1 -0
  39. package/dist/lib/src/reactiveTasks/ReactiveTaskOps.js +178 -0
  40. package/dist/lib/src/reactiveTasks/ReactiveTaskOps.js.map +1 -0
  41. package/dist/lib/src/reactiveTasks/ReactiveTaskPlanner.js +436 -0
  42. package/dist/lib/src/reactiveTasks/ReactiveTaskPlanner.js.map +1 -0
  43. package/dist/lib/src/reactiveTasks/ReactiveTaskReconciler.js +211 -0
  44. package/dist/lib/src/reactiveTasks/ReactiveTaskReconciler.js.map +1 -0
  45. package/dist/lib/src/reactiveTasks/ReactiveTaskRegistry.js +177 -0
  46. package/dist/lib/src/reactiveTasks/ReactiveTaskRegistry.js.map +1 -0
  47. package/dist/lib/src/reactiveTasks/ReactiveTaskRepository.js +348 -0
  48. package/dist/lib/src/reactiveTasks/ReactiveTaskRepository.js.map +1 -0
  49. package/dist/lib/src/reactiveTasks/ReactiveTaskRetryStrategy.js +146 -0
  50. package/dist/lib/src/reactiveTasks/ReactiveTaskRetryStrategy.js.map +1 -0
  51. package/dist/lib/src/reactiveTasks/ReactiveTaskTypes.js +27 -0
  52. package/dist/lib/src/reactiveTasks/ReactiveTaskTypes.js.map +1 -0
  53. package/dist/lib/src/reactiveTasks/ReactiveTaskWorker.js +179 -0
  54. package/dist/lib/src/reactiveTasks/ReactiveTaskWorker.js.map +1 -0
  55. package/dist/lib/src/reactiveTasks/compileWatchProjection.js +58 -0
  56. package/dist/lib/src/reactiveTasks/compileWatchProjection.js.map +1 -0
  57. package/dist/lib/src/reactiveTasks/index.js +291 -0
  58. package/dist/lib/src/reactiveTasks/index.js.map +1 -0
  59. package/dist/lib/src/reactiveTasks/queryToExpression.js +153 -0
  60. package/dist/lib/src/reactiveTasks/queryToExpression.js.map +1 -0
  61. package/dist/lib/src/reactiveTasks/validateTaskFilter.js +81 -0
  62. package/dist/lib/src/reactiveTasks/validateTaskFilter.js.map +1 -0
  63. package/dist/lib/src/task-management/OperationalTaskController.js +155 -0
  64. package/dist/lib/src/task-management/OperationalTaskController.js.map +1 -0
  65. package/dist/lib/src/task-management/index.js +20 -0
  66. package/dist/lib/src/task-management/index.js.map +1 -0
  67. package/dist/lib/src/task-management/serveDashboard.js +142 -0
  68. package/dist/lib/src/task-management/serveDashboard.js.map +1 -0
  69. package/dist/lib/src/task-management/types.js +3 -0
  70. package/dist/lib/src/task-management/types.js.map +1 -0
  71. package/dist/lib/{withLock.js → src/withLock.js} +2 -10
  72. package/dist/lib/src/withLock.js.map +1 -0
  73. package/dist/lib/{withTransaction.js → src/withTransaction.js} +3 -10
  74. package/dist/lib/src/withTransaction.js.map +1 -0
  75. package/dist/lib/tools/check-db-connection.js +21 -0
  76. package/dist/lib/tools/check-db-connection.js.map +1 -0
  77. package/dist/lib/tools/clean-testing-databases.js +5 -0
  78. package/dist/lib/tools/clean-testing-databases.js.map +1 -0
  79. package/dist/lib/tools/prepare-republish.js +20 -0
  80. package/dist/lib/tools/prepare-republish.js.map +1 -0
  81. package/dist/lib/tools/test-matrix-local.js +205 -0
  82. package/dist/lib/tools/test-matrix-local.js.map +1 -0
  83. package/dist/lib/tools/testingDatabase.js +48 -0
  84. package/dist/lib/tools/testingDatabase.js.map +1 -0
  85. package/dist/types/playground/server.d.ts +1 -0
  86. package/dist/types/src/ConcurrentRunner.d.ts +30 -0
  87. package/dist/types/{OnInfo.d.ts → src/OnInfo.d.ts} +1 -1
  88. package/dist/types/{cronTasks.d.ts → src/cronTasks.d.ts} +44 -1
  89. package/dist/types/src/globalsCollection.d.ts +4 -0
  90. package/dist/types/src/index.d.ts +28 -0
  91. package/dist/types/src/mongoCompatibility.d.ts +29 -0
  92. package/dist/types/src/parseInterval.d.ts +12 -0
  93. package/dist/types/src/prefixFilterKeys.d.ts +11 -0
  94. package/dist/types/src/processInBatches.d.ts +10 -0
  95. package/dist/types/src/reactiveTasks/LeaderElector.d.ts +42 -0
  96. package/dist/types/src/reactiveTasks/MetricsCollector.d.ts +73 -0
  97. package/dist/types/src/reactiveTasks/ReactiveTaskManager.d.ts +18 -0
  98. package/dist/types/src/reactiveTasks/ReactiveTaskOps.d.ts +17 -0
  99. package/dist/types/src/reactiveTasks/ReactiveTaskPlanner.d.ts +62 -0
  100. package/dist/types/src/reactiveTasks/ReactiveTaskReconciler.d.ts +29 -0
  101. package/dist/types/src/reactiveTasks/ReactiveTaskRegistry.d.ts +34 -0
  102. package/dist/types/src/reactiveTasks/ReactiveTaskRepository.d.ts +59 -0
  103. package/dist/types/src/reactiveTasks/ReactiveTaskRetryStrategy.d.ts +21 -0
  104. package/dist/types/src/reactiveTasks/ReactiveTaskTypes.d.ts +389 -0
  105. package/dist/types/src/reactiveTasks/ReactiveTaskWorker.d.ts +36 -0
  106. package/dist/types/src/reactiveTasks/compileWatchProjection.d.ts +12 -0
  107. package/dist/types/src/reactiveTasks/index.d.ts +82 -0
  108. package/dist/types/src/reactiveTasks/queryToExpression.d.ts +13 -0
  109. package/dist/types/src/reactiveTasks/validateTaskFilter.d.ts +10 -0
  110. package/dist/types/src/task-management/OperationalTaskController.d.ts +59 -0
  111. package/dist/types/src/task-management/index.d.ts +3 -0
  112. package/dist/types/src/task-management/serveDashboard.d.ts +12 -0
  113. package/dist/types/src/task-management/types.d.ts +95 -0
  114. package/dist/types/tools/check-db-connection.d.ts +2 -0
  115. package/dist/types/tools/clean-testing-databases.d.ts +1 -0
  116. package/dist/types/tools/prepare-republish.d.ts +2 -0
  117. package/dist/types/tools/test-matrix-local.d.ts +1 -0
  118. package/dist/types/tools/testingDatabase.d.ts +2 -0
  119. package/docs/.vitepress/cache/deps/_metadata.json +31 -0
  120. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js +12824 -0
  121. package/docs/.vitepress/cache/deps/chunk-LE5NDSFD.js.map +7 -0
  122. package/docs/.vitepress/cache/deps/package.json +3 -0
  123. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js +4505 -0
  124. package/docs/.vitepress/cache/deps/vitepress___@vue_devtools-api.js.map +7 -0
  125. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js +9731 -0
  126. package/docs/.vitepress/cache/deps/vitepress___@vueuse_core.js.map +7 -0
  127. package/docs/.vitepress/cache/deps/vue.js +347 -0
  128. package/docs/.vitepress/cache/deps/vue.js.map +7 -0
  129. package/docs/.vitepress/config.mts +50 -0
  130. package/docs/.vitepress/theme/index.ts +4 -0
  131. package/docs/.vitepress/theme/style.css +21 -0
  132. package/docs/assets/dashboard.png +0 -0
  133. package/docs/cron-tasks.md +172 -0
  134. package/docs/dashboard.md +117 -0
  135. package/docs/getters.md +31 -0
  136. package/docs/getting-started.md +186 -0
  137. package/docs/index.md +32 -0
  138. package/docs/initialization.md +59 -0
  139. package/docs/process-in-batches.md +73 -0
  140. package/docs/public/logo.png +0 -0
  141. package/docs/reactive-tasks.md +913 -0
  142. package/docs/with-lock.md +45 -0
  143. package/docs/with-transaction.md +65 -0
  144. package/grafana/reactive_tasks.json +765 -0
  145. package/package.json +131 -116
  146. package/dist/lib/OnError.js.map +0 -1
  147. package/dist/lib/OnInfo.js.map +0 -1
  148. package/dist/lib/createContinuousLock.js.map +0 -1
  149. package/dist/lib/cronTasks.js.map +0 -1
  150. package/dist/lib/getCollection.js.map +0 -1
  151. package/dist/lib/getMongoClient.js.map +0 -1
  152. package/dist/lib/index.js +0 -64
  153. package/dist/lib/index.js.map +0 -1
  154. package/dist/lib/initPromise.js +0 -17
  155. package/dist/lib/initPromise.js.map +0 -1
  156. package/dist/lib/withLock.js.map +0 -1
  157. package/dist/lib/withTransaction.js.map +0 -1
  158. package/dist/types/index.d.ts +0 -17
  159. /package/dist/types/{OnError.d.ts → src/OnError.d.ts} +0 -0
  160. /package/dist/types/{createContinuousLock.d.ts → src/createContinuousLock.d.ts} +0 -0
  161. /package/dist/types/{getCollection.d.ts → src/getCollection.d.ts} +0 -0
  162. /package/dist/types/{getMongoClient.d.ts → src/getMongoClient.d.ts} +0 -0
  163. /package/dist/types/{initPromise.d.ts → src/initPromise.d.ts} +0 -0
  164. /package/dist/types/{withLock.d.ts → src/withLock.d.ts} +0 -0
  165. /package/dist/types/{withTransaction.d.ts → src/withTransaction.d.ts} +0 -0
@@ -0,0 +1,95 @@
1
+ import { Filter, Document } from 'mongodb';
2
+ import { ReactiveTaskRecord as BackendReactiveTaskRecord } from '../reactiveTasks/ReactiveTaskTypes';
3
+ import { CronTaskRecord as BackendCronTaskRecord } from '../cronTasks';
4
+ export type ReactiveTaskStatus = BackendReactiveTaskRecord['status'];
5
+ /**
6
+ * Frontend-optimized ReactiveTaskRecord.
7
+ * - _id is always string.
8
+ * - sourceDocId is generic, typically string for display.
9
+ * - Dates remain Date objects (assuming JSON parser handles them or they are strings on wire).
10
+ * Note: In standard JSON, Dates are strings. The FE likely constructs Date objects.
11
+ * But existing types said Date. We'll keep Date for TS compatibility assuming transformation or simple casting for now.
12
+ */
13
+ export type ReactiveTaskRecord<T = unknown> = Omit<BackendReactiveTaskRecord<T>, '_id' | 'sourceDocId'> & {
14
+ _id: string;
15
+ sourceDocId: string | number | unknown;
16
+ };
17
+ export type CronTaskStatus = BackendCronTaskRecord['status'];
18
+ export type CronTaskRecord = Omit<BackendCronTaskRecord, '_id'> & {
19
+ _id: string;
20
+ };
21
+ export interface GetReactiveTasksRequest {
22
+ limit?: number;
23
+ skip?: number;
24
+ task?: string;
25
+ collection?: string;
26
+ status?: string;
27
+ errorMessage?: string;
28
+ hasError?: string;
29
+ sourceDocId?: string;
30
+ sortField?: keyof ReactiveTaskRecord;
31
+ sortDirection?: 1 | -1;
32
+ }
33
+ export interface FacetStats {
34
+ statuses: {
35
+ _id: string;
36
+ count: number;
37
+ }[];
38
+ errorCount: number;
39
+ }
40
+ export interface GetReactiveTasksResponse {
41
+ items: ReactiveTaskRecord[];
42
+ total: number;
43
+ limit: number;
44
+ offset: number;
45
+ stats: FacetStats;
46
+ }
47
+ export interface RetryReactiveTasksRequest {
48
+ task?: string;
49
+ status?: string;
50
+ errorMessage?: string;
51
+ _id?: string;
52
+ sourceDocId?: string;
53
+ sourceDocFilter?: Filter<Document>;
54
+ }
55
+ export interface RetryReactiveTasksResponse {
56
+ modifiedCount: number;
57
+ }
58
+ export interface GetCronTasksRequest {
59
+ limit?: number;
60
+ skip?: number;
61
+ filter?: string;
62
+ }
63
+ export interface GetCronTasksResponse {
64
+ items: CronTaskRecord[];
65
+ total: number;
66
+ limit: number;
67
+ offset: number;
68
+ }
69
+ export interface TriggerCronTaskRequest {
70
+ taskId: string;
71
+ }
72
+ export interface TriggerCronTaskResponse {
73
+ success: boolean;
74
+ message?: string;
75
+ }
76
+ export interface GetInfoResponse {
77
+ databaseName: string;
78
+ reactiveTasks: {
79
+ name: string;
80
+ collection: string;
81
+ stats: {
82
+ success: number;
83
+ failed: number;
84
+ processing: number;
85
+ pending: number;
86
+ error: number;
87
+ };
88
+ }[];
89
+ cronTasks: {
90
+ id: string;
91
+ status: CronTaskStatus;
92
+ lastRunError?: string | null;
93
+ nextRunAt?: Date | string;
94
+ }[];
95
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const sh: any;
2
+ declare const cli: any;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function getConnectionString(): string;
2
+ export declare function cleanTestingDatabases(all?: boolean): Promise<void>;
@@ -0,0 +1,31 @@
1
+ {
2
+ "hash": "87f823b6",
3
+ "configHash": "1734f516",
4
+ "lockfileHash": "fcc56ac3",
5
+ "browserHash": "08adb589",
6
+ "optimized": {
7
+ "vue": {
8
+ "src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
9
+ "file": "vue.js",
10
+ "fileHash": "e0b27947",
11
+ "needsInterop": false
12
+ },
13
+ "vitepress > @vue/devtools-api": {
14
+ "src": "../../../../node_modules/@vue/devtools-api/dist/index.js",
15
+ "file": "vitepress___@vue_devtools-api.js",
16
+ "fileHash": "58b656b8",
17
+ "needsInterop": false
18
+ },
19
+ "vitepress > @vueuse/core": {
20
+ "src": "../../../../node_modules/@vueuse/core/index.mjs",
21
+ "file": "vitepress___@vueuse_core.js",
22
+ "fileHash": "b7f3d7be",
23
+ "needsInterop": false
24
+ }
25
+ },
26
+ "chunks": {
27
+ "chunk-LE5NDSFD": {
28
+ "file": "chunk-LE5NDSFD.js"
29
+ }
30
+ }
31
+ }