@convex-dev/workpool 0.2.19-alpha.1 → 0.2.19-alpha.3

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 (196) hide show
  1. package/README.md +1 -0
  2. package/dist/{commonjs/client → client}/index.d.ts +13 -11
  3. package/dist/client/index.d.ts.map +1 -0
  4. package/dist/{commonjs/client → client}/index.js +6 -7
  5. package/dist/client/index.js.map +1 -0
  6. package/dist/{commonjs/client → client}/utils.d.ts +2 -2
  7. package/dist/client/utils.d.ts.map +1 -0
  8. package/dist/client/utils.js.map +1 -0
  9. package/dist/component/_generated/api.d.ts +151 -0
  10. package/dist/component/_generated/api.d.ts.map +1 -0
  11. package/dist/component/_generated/api.js.map +1 -0
  12. package/dist/component/_generated/dataModel.d.ts +60 -0
  13. package/dist/component/_generated/server.d.ts +149 -0
  14. package/dist/component/_generated/server.d.ts.map +1 -0
  15. package/dist/component/_generated/server.js.map +1 -0
  16. package/dist/{commonjs/component → component}/complete.d.ts +2 -2
  17. package/dist/component/complete.d.ts.map +1 -0
  18. package/dist/{commonjs/component → component}/complete.js +1 -1
  19. package/dist/component/complete.js.map +1 -0
  20. package/dist/component/convex.config.d.ts.map +1 -0
  21. package/dist/component/convex.config.js.map +1 -0
  22. package/dist/component/crons.d.ts.map +1 -0
  23. package/dist/{esm/component → component}/crons.js +4 -4
  24. package/dist/component/crons.js.map +1 -0
  25. package/dist/component/danger.d.ts.map +1 -0
  26. package/dist/component/danger.js.map +1 -0
  27. package/dist/{esm/component → component}/kick.d.ts +2 -2
  28. package/dist/component/kick.d.ts.map +1 -0
  29. package/dist/component/kick.js.map +1 -0
  30. package/dist/{esm/component → component}/lib.d.ts +1 -1
  31. package/dist/component/lib.d.ts.map +1 -0
  32. package/dist/{commonjs/component → component}/lib.js +3 -4
  33. package/dist/component/lib.js.map +1 -0
  34. package/dist/{commonjs/component → component}/logging.d.ts +1 -1
  35. package/dist/component/logging.d.ts.map +1 -0
  36. package/dist/component/logging.js.map +1 -0
  37. package/dist/{commonjs/component → component}/loop.d.ts +2 -2
  38. package/dist/component/loop.d.ts.map +1 -0
  39. package/dist/{commonjs/component → component}/loop.js +1 -1
  40. package/dist/component/loop.js.map +1 -0
  41. package/dist/{esm/component → component}/recovery.d.ts +2 -2
  42. package/dist/component/recovery.d.ts.map +1 -0
  43. package/dist/{commonjs/component → component}/recovery.js +1 -1
  44. package/dist/component/recovery.js.map +1 -0
  45. package/dist/{commonjs/component → component}/schema.d.ts.map +1 -1
  46. package/dist/component/schema.js.map +1 -0
  47. package/dist/{commonjs/component → component}/shared.d.ts +2 -2
  48. package/dist/component/shared.d.ts.map +1 -0
  49. package/dist/component/shared.js.map +1 -0
  50. package/dist/{esm/component → component}/stats.d.ts +4 -4
  51. package/dist/component/stats.d.ts.map +1 -0
  52. package/dist/{commonjs/component → component}/stats.js +0 -3
  53. package/dist/component/stats.js.map +1 -0
  54. package/dist/component/worker.d.ts.map +1 -0
  55. package/dist/component/worker.js.map +1 -0
  56. package/package.json +42 -39
  57. package/src/client/index.ts +32 -29
  58. package/src/client/utils.ts +7 -7
  59. package/src/component/_generated/api.d.ts +1 -0
  60. package/src/component/complete.test.ts +6 -6
  61. package/src/component/complete.ts +9 -5
  62. package/src/component/crons.ts +4 -4
  63. package/src/component/kick.test.ts +3 -3
  64. package/src/component/kick.ts +2 -2
  65. package/src/component/lib.test.ts +6 -6
  66. package/src/component/lib.ts +15 -5
  67. package/src/component/logging.test.ts +1 -1
  68. package/src/component/logging.ts +1 -1
  69. package/src/component/loop.test.ts +7 -7
  70. package/src/component/loop.ts +8 -8
  71. package/src/component/recovery.test.ts +9 -9
  72. package/src/component/recovery.ts +2 -2
  73. package/src/component/shared.ts +2 -2
  74. package/src/component/stats.test.ts +11 -11
  75. package/src/component/stats.ts +4 -7
  76. package/src/test.ts +3 -0
  77. package/dist/commonjs/client/index.d.ts.map +0 -1
  78. package/dist/commonjs/client/index.js.map +0 -1
  79. package/dist/commonjs/client/utils.d.ts.map +0 -1
  80. package/dist/commonjs/client/utils.js.map +0 -1
  81. package/dist/commonjs/component/_generated/api.d.ts +0 -12
  82. package/dist/commonjs/component/_generated/api.d.ts.map +0 -1
  83. package/dist/commonjs/component/_generated/api.js.map +0 -1
  84. package/dist/commonjs/component/_generated/server.d.ts +0 -64
  85. package/dist/commonjs/component/_generated/server.d.ts.map +0 -1
  86. package/dist/commonjs/component/_generated/server.js.map +0 -1
  87. package/dist/commonjs/component/complete.d.ts.map +0 -1
  88. package/dist/commonjs/component/complete.js.map +0 -1
  89. package/dist/commonjs/component/convex.config.d.ts.map +0 -1
  90. package/dist/commonjs/component/convex.config.js.map +0 -1
  91. package/dist/commonjs/component/crons.d.ts.map +0 -1
  92. package/dist/commonjs/component/crons.js +0 -61
  93. package/dist/commonjs/component/crons.js.map +0 -1
  94. package/dist/commonjs/component/danger.d.ts.map +0 -1
  95. package/dist/commonjs/component/danger.js.map +0 -1
  96. package/dist/commonjs/component/kick.d.ts +0 -9
  97. package/dist/commonjs/component/kick.d.ts.map +0 -1
  98. package/dist/commonjs/component/kick.js.map +0 -1
  99. package/dist/commonjs/component/lib.d.ts +0 -79
  100. package/dist/commonjs/component/lib.d.ts.map +0 -1
  101. package/dist/commonjs/component/lib.js.map +0 -1
  102. package/dist/commonjs/component/logging.d.ts.map +0 -1
  103. package/dist/commonjs/component/logging.js.map +0 -1
  104. package/dist/commonjs/component/loop.d.ts.map +0 -1
  105. package/dist/commonjs/component/loop.js.map +0 -1
  106. package/dist/commonjs/component/recovery.d.ts +0 -53
  107. package/dist/commonjs/component/recovery.d.ts.map +0 -1
  108. package/dist/commonjs/component/recovery.js.map +0 -1
  109. package/dist/commonjs/component/schema.js.map +0 -1
  110. package/dist/commonjs/component/shared.d.ts.map +0 -1
  111. package/dist/commonjs/component/shared.js.map +0 -1
  112. package/dist/commonjs/component/stats.d.ts +0 -45
  113. package/dist/commonjs/component/stats.d.ts.map +0 -1
  114. package/dist/commonjs/component/stats.js.map +0 -1
  115. package/dist/commonjs/component/worker.d.ts.map +0 -1
  116. package/dist/commonjs/component/worker.js.map +0 -1
  117. package/dist/commonjs/package.json +0 -3
  118. package/dist/esm/client/index.d.ts +0 -429
  119. package/dist/esm/client/index.d.ts.map +0 -1
  120. package/dist/esm/client/index.js +0 -317
  121. package/dist/esm/client/index.js.map +0 -1
  122. package/dist/esm/client/utils.d.ts +0 -16
  123. package/dist/esm/client/utils.d.ts.map +0 -1
  124. package/dist/esm/client/utils.js +0 -9
  125. package/dist/esm/client/utils.js.map +0 -1
  126. package/dist/esm/component/_generated/api.d.ts +0 -12
  127. package/dist/esm/component/_generated/api.d.ts.map +0 -1
  128. package/dist/esm/component/_generated/api.js +0 -22
  129. package/dist/esm/component/_generated/api.js.map +0 -1
  130. package/dist/esm/component/_generated/server.d.ts +0 -64
  131. package/dist/esm/component/_generated/server.d.ts.map +0 -1
  132. package/dist/esm/component/_generated/server.js +0 -74
  133. package/dist/esm/component/_generated/server.js.map +0 -1
  134. package/dist/esm/component/complete.d.ts +0 -89
  135. package/dist/esm/component/complete.d.ts.map +0 -1
  136. package/dist/esm/component/complete.js +0 -88
  137. package/dist/esm/component/complete.js.map +0 -1
  138. package/dist/esm/component/convex.config.d.ts +0 -3
  139. package/dist/esm/component/convex.config.d.ts.map +0 -1
  140. package/dist/esm/component/convex.config.js +0 -4
  141. package/dist/esm/component/convex.config.js.map +0 -1
  142. package/dist/esm/component/crons.d.ts +0 -4
  143. package/dist/esm/component/crons.d.ts.map +0 -1
  144. package/dist/esm/component/crons.js.map +0 -1
  145. package/dist/esm/component/danger.d.ts +0 -11
  146. package/dist/esm/component/danger.d.ts.map +0 -1
  147. package/dist/esm/component/danger.js +0 -92
  148. package/dist/esm/component/danger.js.map +0 -1
  149. package/dist/esm/component/kick.d.ts.map +0 -1
  150. package/dist/esm/component/kick.js +0 -102
  151. package/dist/esm/component/kick.js.map +0 -1
  152. package/dist/esm/component/lib.d.ts.map +0 -1
  153. package/dist/esm/component/lib.js +0 -179
  154. package/dist/esm/component/lib.js.map +0 -1
  155. package/dist/esm/component/logging.d.ts +0 -16
  156. package/dist/esm/component/logging.d.ts.map +0 -1
  157. package/dist/esm/component/logging.js +0 -71
  158. package/dist/esm/component/logging.js.map +0 -1
  159. package/dist/esm/component/loop.d.ts +0 -14
  160. package/dist/esm/component/loop.d.ts.map +0 -1
  161. package/dist/esm/component/loop.js +0 -503
  162. package/dist/esm/component/loop.js.map +0 -1
  163. package/dist/esm/component/recovery.d.ts.map +0 -1
  164. package/dist/esm/component/recovery.js +0 -97
  165. package/dist/esm/component/recovery.js.map +0 -1
  166. package/dist/esm/component/schema.d.ts +0 -228
  167. package/dist/esm/component/schema.d.ts.map +0 -1
  168. package/dist/esm/component/schema.js +0 -79
  169. package/dist/esm/component/schema.js.map +0 -1
  170. package/dist/esm/component/shared.d.ts +0 -140
  171. package/dist/esm/component/shared.d.ts.map +0 -1
  172. package/dist/esm/component/shared.js +0 -79
  173. package/dist/esm/component/shared.js.map +0 -1
  174. package/dist/esm/component/stats.d.ts.map +0 -1
  175. package/dist/esm/component/stats.js +0 -129
  176. package/dist/esm/component/stats.js.map +0 -1
  177. package/dist/esm/component/worker.d.ts +0 -16
  178. package/dist/esm/component/worker.d.ts.map +0 -1
  179. package/dist/esm/component/worker.js +0 -76
  180. package/dist/esm/component/worker.js.map +0 -1
  181. package/dist/esm/package.json +0 -3
  182. /package/dist/{commonjs/client → client}/utils.js +0 -0
  183. /package/dist/{commonjs/component → component}/_generated/api.js +0 -0
  184. /package/dist/{commonjs/component → component}/_generated/server.js +0 -0
  185. /package/dist/{commonjs/component → component}/convex.config.d.ts +0 -0
  186. /package/dist/{commonjs/component → component}/convex.config.js +0 -0
  187. /package/dist/{commonjs/component → component}/crons.d.ts +0 -0
  188. /package/dist/{commonjs/component → component}/danger.d.ts +0 -0
  189. /package/dist/{commonjs/component → component}/danger.js +0 -0
  190. /package/dist/{commonjs/component → component}/kick.js +0 -0
  191. /package/dist/{commonjs/component → component}/logging.js +0 -0
  192. /package/dist/{commonjs/component → component}/schema.d.ts +0 -0
  193. /package/dist/{commonjs/component → component}/schema.js +0 -0
  194. /package/dist/{commonjs/component → component}/shared.js +0 -0
  195. /package/dist/{commonjs/component → component}/worker.d.ts +0 -0
  196. /package/dist/{commonjs/component → component}/worker.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/component/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/component/stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAGL,WAAW,EACZ,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,MAAM,EAGP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,MAAM,EAAuB,MAAM,cAAc,CAAC;AAKzE;;;GAGG;AAEH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IACJ,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,QAMF;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,KAAK,EAAE,MAAM,QASd;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EACjB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,QASvD;AAED,wBAAsB,cAAc,CAClC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,CAAC,eAAe,CAAC,EAC3B,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,MAAM,iBAkCrC;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAoBpC,CAAC;AAiBH;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;GA4BtB,CAAC"}
@@ -1,129 +0,0 @@
1
- import { v } from "convex/values";
2
- import { internalMutation, internalQuery, } from "./_generated/server.js";
3
- import { DEFAULT_MAX_PARALLELISM, getCurrentSegment, } from "./shared.js";
4
- import { createLogger, logLevel, shouldLog } from "./logging.js";
5
- import { internal } from "./_generated/api.js";
6
- import schema from "./schema.js";
7
- import { paginator } from "convex-helpers/server/pagination";
8
- /**
9
- * Record stats about work execution. Intended to be queried by Axiom or Datadog.
10
- * See the [README](https://github.com/get-convex/workpool) for example queries.
11
- */
12
- export function recordEnqueued(console, data) {
13
- console.event("enqueued", {
14
- ...data,
15
- enqueuedAt: Date.now(),
16
- });
17
- }
18
- export function recordStarted(console, work, lagMs) {
19
- console.event("started", {
20
- workId: work._id,
21
- fnName: work.fnName,
22
- enqueuedAt: work._creationTime,
23
- startedAt: Date.now(),
24
- startLag: lagMs,
25
- });
26
- }
27
- export function recordCompleted(console, work, status) {
28
- console.event("completed", {
29
- workId: work._id,
30
- fnName: work.fnName,
31
- completedAt: Date.now(),
32
- attempts: work.attempts,
33
- status,
34
- });
35
- }
36
- export async function generateReport(ctx, console, state, { maxParallelism, logLevel }) {
37
- if (!shouldLog(logLevel, "REPORT")) {
38
- // Don't waste time if we're not going to log.
39
- return;
40
- }
41
- const currentSegment = getCurrentSegment();
42
- const pendingStart = await paginator(ctx.db, schema)
43
- .query("pendingStart")
44
- .withIndex("segment", (q) => q
45
- .gte("segment", state.segmentCursors.incoming)
46
- .lt("segment", currentSegment))
47
- .paginate({
48
- numItems: maxParallelism,
49
- cursor: null,
50
- });
51
- if (pendingStart.isDone) {
52
- recordReport(console, {
53
- ...state.report,
54
- running: state.running.length,
55
- backlog: pendingStart.page.length,
56
- });
57
- }
58
- else {
59
- await ctx.scheduler.runAfter(0, internal.stats.calculateBacklogAndReport, {
60
- startSegment: 0n,
61
- endSegment: currentSegment,
62
- cursor: pendingStart.continueCursor,
63
- report: state.report,
64
- running: state.running.length,
65
- logLevel,
66
- });
67
- }
68
- }
69
- export const calculateBacklogAndReport = internalMutation({
70
- args: {
71
- startSegment: v.int64(),
72
- endSegment: v.int64(),
73
- cursor: v.string(),
74
- report: schema.tables.internalState.validator.fields.report,
75
- running: v.number(),
76
- logLevel,
77
- },
78
- handler: async (ctx, args) => {
79
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
- const pendingStart = await ctx.db.query("pendingStart").count();
81
- const console = createLogger(args.logLevel);
82
- recordReport(console, {
83
- ...args.report,
84
- running: args.running,
85
- backlog: pendingStart,
86
- });
87
- },
88
- });
89
- function recordReport(console, report) {
90
- const { completed, failed, retries } = report;
91
- const withoutRetries = completed - retries;
92
- const failureRate = completed ? (failed + retries) / completed : 0;
93
- const permanentFailureRate = withoutRetries ? failed / withoutRetries : 0;
94
- console.event("report", {
95
- ...report,
96
- failureRate: Number(failureRate.toFixed(4)),
97
- permanentFailureRate: Number(permanentFailureRate.toFixed(4)),
98
- });
99
- }
100
- /**
101
- * Warning: this should not be used from a mutation, as it will cause conflicts.
102
- * Use this while developing to see the state of the queue.
103
- */
104
- export const diagnostics = internalQuery({
105
- args: {},
106
- returns: v.any(),
107
- handler: async (ctx) => {
108
- const global = await ctx.db.query("globals").unique();
109
- const internalState = await ctx.db.query("internalState").unique();
110
- const inProgressWork = internalState?.running.length ?? 0;
111
- const maxParallelism = global?.maxParallelism ?? DEFAULT_MAX_PARALLELISM;
112
- /* eslint-disable @typescript-eslint/no-explicit-any */
113
- const pendingStart = await ctx.db.query("pendingStart").count();
114
- const pendingCompletion = await ctx.db.query("pendingCompletion").count();
115
- const pendingCancelation = await ctx.db.query("pendingCancelation").count();
116
- const runStatus = await ctx.db.query("runStatus").unique();
117
- /* eslint-enable @typescript-eslint/no-explicit-any */
118
- return {
119
- canceling: pendingCancelation,
120
- waiting: pendingStart,
121
- running: inProgressWork - pendingCompletion,
122
- completing: pendingCompletion,
123
- spareCapacity: maxParallelism - inProgressWork,
124
- runStatus: runStatus?.state.kind,
125
- generation: internalState?.generation,
126
- };
127
- },
128
- });
129
- //# sourceMappingURL=stats.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../src/component/stats.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare const runMutationWrapper: import("convex/server").RegisteredMutation<"internal", {
2
- logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
3
- fnHandle: string;
4
- workId: import("convex/values").GenericId<"work">;
5
- fnType: "mutation" | "query";
6
- fnArgs: any;
7
- attempt: number;
8
- }, Promise<void>>;
9
- export declare const runActionWrapper: import("convex/server").RegisteredAction<"internal", {
10
- logLevel: "DEBUG" | "TRACE" | "INFO" | "REPORT" | "WARN" | "ERROR";
11
- fnHandle: string;
12
- workId: import("convex/values").GenericId<"work">;
13
- fnArgs: any;
14
- attempt: number;
15
- }, Promise<void>>;
16
- //# sourceMappingURL=worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/component/worker.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,kBAAkB;;;;;;;iBA+B7B,CAAC;AASH,eAAO,MAAM,gBAAgB;;;;;;iBA4B3B,CAAC"}
@@ -1,76 +0,0 @@
1
- import { v } from "convex/values";
2
- import { internal } from "./_generated/api.js";
3
- import { internalAction, internalMutation } from "./_generated/server.js";
4
- import { createLogger, logLevel } from "./logging.js";
5
- export const runMutationWrapper = internalMutation({
6
- args: {
7
- workId: v.id("work"),
8
- fnHandle: v.string(),
9
- fnArgs: v.any(),
10
- fnType: v.union(v.literal("query"), v.literal("mutation")),
11
- logLevel,
12
- attempt: v.number(),
13
- },
14
- handler: async (ctx, { workId, attempt, ...args }) => {
15
- const console = createLogger(args.logLevel);
16
- const fnHandle = args.fnHandle;
17
- try {
18
- const returnValue = await (args.fnType === "query"
19
- ? ctx.runQuery(fnHandle, args.fnArgs)
20
- : ctx.runMutation(fnHandle, args.fnArgs));
21
- // NOTE: we could run the `saveResult` handler here, or call `ctx.runMutation`,
22
- // but we want the mutation to be a separate transaction to reduce the window for OCCs.
23
- await ctx.scheduler.runAfter(0, internal.complete.complete, {
24
- jobs: [
25
- { workId, runResult: { kind: "success", returnValue }, attempt },
26
- ],
27
- });
28
- }
29
- catch (e) {
30
- console.error(e);
31
- const runResult = { kind: "failed", error: formatError(e) };
32
- await ctx.scheduler.runAfter(0, internal.complete.complete, {
33
- jobs: [{ workId, runResult, attempt }],
34
- });
35
- }
36
- },
37
- });
38
- function formatError(e) {
39
- if (e instanceof Error) {
40
- return e.message;
41
- }
42
- return String(e);
43
- }
44
- export const runActionWrapper = internalAction({
45
- args: {
46
- workId: v.id("work"),
47
- fnHandle: v.string(),
48
- fnArgs: v.any(),
49
- logLevel,
50
- attempt: v.number(),
51
- },
52
- handler: async (ctx, { workId, attempt, ...args }) => {
53
- const console = createLogger(args.logLevel);
54
- const fnHandle = args.fnHandle;
55
- try {
56
- const returnValue = await ctx.runAction(fnHandle, args.fnArgs);
57
- // NOTE: we could run `ctx.runMutation`, but we want to guarantee execution,
58
- // and `ctx.scheduler.runAfter` won't OCC.
59
- const runResult = { kind: "success", returnValue };
60
- await ctx.scheduler.runAfter(0, internal.complete.complete, {
61
- jobs: [{ workId, runResult, attempt }],
62
- });
63
- }
64
- catch (e) {
65
- console.error(e);
66
- // We let the main loop handle the retries.
67
- const runResult = { kind: "failed", error: formatError(e) };
68
- await ctx.scheduler.runAfter(0, internal.complete.complete, {
69
- jobs: [{ workId, runResult, attempt }],
70
- });
71
- }
72
- },
73
- });
74
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
75
- const console = "THIS IS A REMINDER TO USE createLogger";
76
- //# sourceMappingURL=worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/component/worker.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
File without changes
File without changes