@meetploy/emulator 1.7.0 → 1.9.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.
Files changed (34) hide show
  1. package/dist/bundler/bundler.js +49 -0
  2. package/dist/bundler/bundler.js.map +1 -1
  3. package/dist/dashboard-dist/assets/{main-qA3kxECS.css → main-B-euJxpr.css} +1 -1
  4. package/dist/dashboard-dist/assets/main-duAiLjPq.js +339 -0
  5. package/dist/dashboard-dist/index.html +2 -2
  6. package/dist/emulator.d.ts +1 -0
  7. package/dist/emulator.js +20 -0
  8. package/dist/emulator.js.map +1 -1
  9. package/dist/runtime/alarm-runtime.d.ts +1 -0
  10. package/dist/runtime/alarm-runtime.js +55 -0
  11. package/dist/runtime/alarm-runtime.js.map +1 -0
  12. package/dist/runtime/fs-runtime.d.ts +1 -0
  13. package/dist/runtime/fs-runtime.js +112 -0
  14. package/dist/runtime/fs-runtime.js.map +1 -0
  15. package/dist/services/alarm-service.d.ts +41 -0
  16. package/dist/services/alarm-service.js +125 -0
  17. package/dist/services/alarm-service.js.map +1 -0
  18. package/dist/services/cron-service.d.ts +6 -0
  19. package/dist/services/cron-service.js +176 -0
  20. package/dist/services/cron-service.js.map +1 -0
  21. package/dist/services/dashboard-routes.js +73 -0
  22. package/dist/services/dashboard-routes.js.map +1 -1
  23. package/dist/services/fs-service.d.ts +41 -0
  24. package/dist/services/fs-service.js +130 -0
  25. package/dist/services/fs-service.js.map +1 -0
  26. package/dist/services/mock-server.js +10 -0
  27. package/dist/services/mock-server.js.map +1 -1
  28. package/dist/services/workflow-service.spec.d.ts +1 -0
  29. package/dist/services/workflow-service.spec.js +258 -0
  30. package/dist/services/workflow-service.spec.js.map +1 -0
  31. package/dist/utils/sqlite.js +26 -0
  32. package/dist/utils/sqlite.js.map +1 -1
  33. package/package.json +1 -1
  34. package/dist/dashboard-dist/assets/main-UY1Z1kG0.js +0 -334
@@ -0,0 +1,176 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import * as logger from "../utils/logger.js";
3
+ function parseCronField(field, min, max) {
4
+ const values = new Set();
5
+ for (const part of field.split(",")) {
6
+ const trimmed = part.trim();
7
+ if (trimmed === "*") {
8
+ for (let i = min; i <= max; i++) {
9
+ values.add(i);
10
+ }
11
+ continue;
12
+ }
13
+ const stepMatch = trimmed.match(/^(.+)\/(\d+)$/);
14
+ if (stepMatch) {
15
+ const step = parseInt(stepMatch[2], 10);
16
+ const base = stepMatch[1];
17
+ let start = min;
18
+ let end = max;
19
+ if (base !== "*") {
20
+ const rangeMatch = base.match(/^(\d+)-(\d+)$/);
21
+ if (rangeMatch) {
22
+ start = parseInt(rangeMatch[1], 10);
23
+ end = parseInt(rangeMatch[2], 10);
24
+ }
25
+ else {
26
+ start = parseInt(base, 10);
27
+ }
28
+ }
29
+ if (start < min || start > max || end < min || end > max) {
30
+ throw new Error(`Cron field range ${start}-${end} is out of bounds (${min}-${max})`);
31
+ }
32
+ for (let i = start; i <= end; i += step) {
33
+ values.add(i);
34
+ }
35
+ continue;
36
+ }
37
+ const rangeMatch = trimmed.match(/^(\d+)-(\d+)$/);
38
+ if (rangeMatch) {
39
+ const start = parseInt(rangeMatch[1], 10);
40
+ const end = parseInt(rangeMatch[2], 10);
41
+ if (start < min || start > max || end < min || end > max) {
42
+ throw new Error(`Cron field range ${start}-${end} is out of bounds (${min}-${max})`);
43
+ }
44
+ for (let i = start; i <= end; i++) {
45
+ values.add(i);
46
+ }
47
+ continue;
48
+ }
49
+ const num = parseInt(trimmed, 10);
50
+ if (isNaN(num)) {
51
+ throw new Error(`Invalid cron field value: '${trimmed}' (expected number, range, step, or wildcard)`);
52
+ }
53
+ if (num < min || num > max) {
54
+ throw new Error(`Cron field value ${num} is out of range (${min}-${max})`);
55
+ }
56
+ values.add(num);
57
+ }
58
+ return { values };
59
+ }
60
+ function parseCronExpression(expression) {
61
+ const parts = expression.trim().split(/\s+/);
62
+ if (parts.length !== 5) {
63
+ throw new Error(`Invalid cron expression: ${expression} (expected 5 fields)`);
64
+ }
65
+ return [
66
+ parseCronField(parts[0], 0, 59),
67
+ parseCronField(parts[1], 0, 23),
68
+ parseCronField(parts[2], 1, 31),
69
+ parseCronField(parts[3], 1, 12),
70
+ parseCronField(parts[4], 0, 6),
71
+ ];
72
+ }
73
+ function cronMatchesDate(fields, date) {
74
+ const minute = date.getMinutes();
75
+ const hour = date.getHours();
76
+ const dayOfMonth = date.getDate();
77
+ const month = date.getMonth() + 1;
78
+ const dayOfWeek = date.getDay();
79
+ return (fields[0].values.has(minute) &&
80
+ fields[1].values.has(hour) &&
81
+ fields[2].values.has(dayOfMonth) &&
82
+ fields[3].values.has(month) &&
83
+ fields[4].values.has(dayOfWeek));
84
+ }
85
+ export function createCronScheduler(db, cronBindings, workerUrl) {
86
+ let interval = null;
87
+ const parsedCrons = new Map();
88
+ let lastCheckedMinute = -1;
89
+ for (const [name, expression] of Object.entries(cronBindings)) {
90
+ try {
91
+ const fields = parseCronExpression(expression);
92
+ parsedCrons.set(name, { expression, fields });
93
+ }
94
+ catch (err) {
95
+ logger.error(`Failed to parse cron expression for '${name}': ${err instanceof Error ? err.message : String(err)}`);
96
+ }
97
+ }
98
+ async function checkCrons() {
99
+ const now = new Date();
100
+ const currentMinute = Math.floor(now.getTime() / 60000);
101
+ if (currentMinute === lastCheckedMinute) {
102
+ return;
103
+ }
104
+ lastCheckedMinute = currentMinute;
105
+ for (const [name, cron] of parsedCrons) {
106
+ if (cronMatchesDate(cron.fields, now)) {
107
+ await triggerScheduledHandler(db, name, cron.expression, now, workerUrl);
108
+ }
109
+ }
110
+ }
111
+ return {
112
+ start() {
113
+ if (interval) {
114
+ return;
115
+ }
116
+ logger.log(`Cron scheduler started with ${parsedCrons.size} trigger(s)`);
117
+ for (const [name, cron] of parsedCrons) {
118
+ logger.log(` ${name}: ${cron.expression}`);
119
+ }
120
+ interval = setInterval(() => {
121
+ checkCrons().catch((err) => {
122
+ logger.error(`Cron check error: ${err instanceof Error ? err.message : String(err)}`);
123
+ });
124
+ }, 15000);
125
+ checkCrons().catch(() => { });
126
+ },
127
+ stop() {
128
+ if (interval) {
129
+ clearInterval(interval);
130
+ interval = null;
131
+ }
132
+ },
133
+ };
134
+ }
135
+ async function triggerScheduledHandler(db, cronName, cronExpression, triggerTime, workerUrl) {
136
+ const executionId = randomUUID();
137
+ const now = Math.floor(Date.now() / 1000);
138
+ db.prepare(`INSERT INTO cron_executions (id, cron_name, cron_expression, status, triggered_at)
139
+ VALUES (?, ?, ?, 'running', ?)`).run(executionId, cronName, cronExpression, now);
140
+ logger.log(`[cron] Triggering '${cronName}' (${cronExpression}) execution=${executionId}`);
141
+ try {
142
+ const response = await fetch(workerUrl, {
143
+ method: "POST",
144
+ headers: {
145
+ "Content-Type": "application/json",
146
+ "X-Ploy-Cron-Trigger": "true",
147
+ "X-Ploy-Cron-Name": cronName,
148
+ "X-Ploy-Cron-Expression": cronExpression,
149
+ "X-Ploy-Cron-Execution-Id": executionId,
150
+ "X-Ploy-Cron-Scheduled-Time": String(triggerTime.getTime()),
151
+ },
152
+ body: JSON.stringify({
153
+ cron: cronExpression,
154
+ scheduledTime: triggerTime.getTime(),
155
+ }),
156
+ });
157
+ const completedAt = Math.floor(Date.now() / 1000);
158
+ const durationMs = Date.now() - triggerTime.getTime();
159
+ if (response.ok) {
160
+ db.prepare(`UPDATE cron_executions SET status = 'completed', completed_at = ?, duration_ms = ? WHERE id = ?`).run(completedAt, durationMs, executionId);
161
+ logger.log(`[cron] '${cronName}' completed successfully (${durationMs}ms)`);
162
+ }
163
+ else {
164
+ const errorText = await response.text();
165
+ db.prepare(`UPDATE cron_executions SET status = 'failed', completed_at = ?, duration_ms = ?, error = ? WHERE id = ?`).run(completedAt, durationMs, errorText, executionId);
166
+ logger.error(`[cron] '${cronName}' failed: ${errorText}`);
167
+ }
168
+ }
169
+ catch (err) {
170
+ const completedAt = Math.floor(Date.now() / 1000);
171
+ const errorMessage = err instanceof Error ? err.message : String(err);
172
+ db.prepare(`UPDATE cron_executions SET status = 'failed', completed_at = ?, error = ? WHERE id = ?`).run(completedAt, errorMessage, executionId);
173
+ logger.error(`[cron] '${cronName}' error: ${errorMessage}`);
174
+ }
175
+ }
176
+ //# sourceMappingURL=cron-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-service.js","sourceRoot":"","sources":["../../src/services/cron-service.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,9 @@ export function createDashboardRoutes(app, dbManager, config) {
44
44
  queue: config.queue,
45
45
  cache: config.cache,
46
46
  state: config.state,
47
+ fs: config.fs,
47
48
  workflow: config.workflow,
49
+ cron: config.cron,
48
50
  auth: config.auth,
49
51
  });
50
52
  });
@@ -629,6 +631,77 @@ export function createDashboardRoutes(app, dbManager, config) {
629
631
  return c.json({ error: err instanceof Error ? err.message : String(err) }, 500);
630
632
  }
631
633
  });
634
+ app.get("/api/fs/:binding/entries", (c) => {
635
+ const binding = c.req.param("binding");
636
+ const fsName = config.fs?.[binding];
637
+ const limit = parseInt(c.req.query("limit") || "20", 10);
638
+ const offset = parseInt(c.req.query("offset") || "0", 10);
639
+ if (!fsName) {
640
+ return c.json({ error: "File storage binding not found" }, 404);
641
+ }
642
+ try {
643
+ const db = dbManager.emulatorDb;
644
+ const total = db
645
+ .prepare(`SELECT COUNT(*) as count FROM fs_entries WHERE fs_name = ?`)
646
+ .get(fsName).count;
647
+ const entries = db
648
+ .prepare(`SELECT key, size, content_type, created_at
649
+ FROM fs_entries
650
+ WHERE fs_name = ?
651
+ ORDER BY key ASC
652
+ LIMIT ? OFFSET ?`)
653
+ .all(fsName, limit, offset);
654
+ return c.json({
655
+ entries: entries.map((e) => ({
656
+ key: e.key,
657
+ size: e.size,
658
+ contentType: e.content_type,
659
+ createdAt: new Date(e.created_at * 1000).toISOString(),
660
+ })),
661
+ total,
662
+ limit,
663
+ offset,
664
+ });
665
+ }
666
+ catch (err) {
667
+ return c.json({ error: err instanceof Error ? err.message : String(err) }, 500);
668
+ }
669
+ });
670
+ app.get("/api/cron/:binding/executions", (c) => {
671
+ const binding = c.req.param("binding");
672
+ const cronExpression = config.cron?.[binding];
673
+ const limit = parseInt(c.req.query("limit") ?? "20", 10);
674
+ if (!cronExpression) {
675
+ return c.json({ error: "Cron binding not found" }, 404);
676
+ }
677
+ try {
678
+ const db = dbManager.emulatorDb;
679
+ const executions = db
680
+ .prepare(`SELECT id, cron_name, cron_expression, status, error, duration_ms, triggered_at, completed_at, created_at
681
+ FROM cron_executions
682
+ WHERE cron_name = ?
683
+ ORDER BY triggered_at DESC
684
+ LIMIT ?`)
685
+ .all(binding, limit);
686
+ return c.json({
687
+ cronExpression,
688
+ executions: executions.map((e) => ({
689
+ id: e.id,
690
+ status: e.status.toUpperCase(),
691
+ error: e.error,
692
+ durationMs: e.duration_ms,
693
+ triggeredAt: new Date(e.triggered_at * 1000).toISOString(),
694
+ completedAt: e.completed_at
695
+ ? new Date(e.completed_at * 1000).toISOString()
696
+ : null,
697
+ createdAt: new Date(e.created_at * 1000).toISOString(),
698
+ })),
699
+ });
700
+ }
701
+ catch (err) {
702
+ return c.json({ error: err instanceof Error ? err.message : String(err) }, 500);
703
+ }
704
+ });
632
705
  if (hasDashboard) {
633
706
  app.get("/assets/*", (c) => {
634
707
  const path = c.req.path;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-routes.js","sourceRoot":"","sources":["../../src/services/dashboard-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-routes.js","sourceRoot":"","sources":["../../src/services/dashboard-routes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { Context } from "hono";
3
+ export declare function createFsHandlers(db: Database.Database, dataDir: string): {
4
+ putHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
5
+ error: string;
6
+ }, 400, "json">) | (Response & import("hono").TypedResponse<{
7
+ success: true;
8
+ }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
9
+ error: string;
10
+ }, 500, "json">)>;
11
+ getHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
12
+ error: string;
13
+ }, 400, "json">) | (Response & import("hono").TypedResponse<{
14
+ found: false;
15
+ }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
16
+ found: true;
17
+ body: string;
18
+ contentType: string;
19
+ size: number;
20
+ }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
21
+ error: string;
22
+ }, 500, "json">)>;
23
+ deleteHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
24
+ error: string;
25
+ }, 400, "json">) | (Response & import("hono").TypedResponse<{
26
+ success: true;
27
+ }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
28
+ error: string;
29
+ }, 500, "json">)>;
30
+ listHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
31
+ error: string;
32
+ }, 400, "json">) | (Response & import("hono").TypedResponse<{
33
+ keys: {
34
+ key: string;
35
+ size: number;
36
+ contentType: string;
37
+ }[];
38
+ }, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
39
+ error: string;
40
+ }, 500, "json">)>;
41
+ };
@@ -0,0 +1,130 @@
1
+ import { existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync, } from "node:fs";
2
+ import { join } from "node:path";
3
+ import * as logger from "../utils/logger.js";
4
+ export function createFsHandlers(db, dataDir) {
5
+ const fsBaseDir = join(dataDir, "fs");
6
+ mkdirSync(fsBaseDir, { recursive: true });
7
+ function getFsDir(fsName) {
8
+ const dir = join(fsBaseDir, fsName);
9
+ mkdirSync(dir, { recursive: true });
10
+ return dir;
11
+ }
12
+ function encodedKeyPath(fsDir, key) {
13
+ return join(fsDir, encodeURIComponent(key));
14
+ }
15
+ const putHandler = async (c) => {
16
+ try {
17
+ const body = await c.req.json();
18
+ const { fsName, key, value, contentType } = body;
19
+ if (!fsName || !key) {
20
+ return c.json({ error: "Missing required fields: fsName, key, value" }, 400);
21
+ }
22
+ const fsDir = getFsDir(fsName);
23
+ const filePath = encodedKeyPath(fsDir, key);
24
+ writeFileSync(filePath, value, "utf-8");
25
+ const size = Buffer.byteLength(value, "utf-8");
26
+ const now = Math.floor(Date.now() / 1000);
27
+ db.prepare(`INSERT OR REPLACE INTO fs_entries (fs_name, key, content_type, size, created_at) VALUES (?, ?, ?, ?, ?)`).run(fsName, key, contentType ?? "application/octet-stream", size, now);
28
+ return c.json({ success: true });
29
+ }
30
+ catch (err) {
31
+ logger.error(`[fs-service] put error: ${err instanceof Error ? err.message : String(err)}`);
32
+ return c.json({
33
+ error: `put failed: ${err instanceof Error ? err.message : String(err)}`,
34
+ }, 500);
35
+ }
36
+ };
37
+ const getHandler = async (c) => {
38
+ try {
39
+ const body = await c.req.json();
40
+ const { fsName, key } = body;
41
+ if (!fsName || !key) {
42
+ return c.json({ error: "Missing required fields: fsName, key" }, 400);
43
+ }
44
+ const row = db
45
+ .prepare(`SELECT content_type, size FROM fs_entries WHERE fs_name = ? AND key = ?`)
46
+ .get(fsName, key);
47
+ if (!row) {
48
+ return c.json({ found: false });
49
+ }
50
+ const fsDir = getFsDir(fsName);
51
+ const filePath = encodedKeyPath(fsDir, key);
52
+ if (!existsSync(filePath)) {
53
+ db.prepare(`DELETE FROM fs_entries WHERE fs_name = ? AND key = ?`).run(fsName, key);
54
+ return c.json({ found: false });
55
+ }
56
+ const fileContent = readFileSync(filePath, "utf-8");
57
+ return c.json({
58
+ found: true,
59
+ body: fileContent,
60
+ contentType: row.content_type,
61
+ size: row.size,
62
+ });
63
+ }
64
+ catch (err) {
65
+ logger.error(`[fs-service] get error: ${err instanceof Error ? err.message : String(err)}`);
66
+ return c.json({
67
+ error: `get failed: ${err instanceof Error ? err.message : String(err)}`,
68
+ }, 500);
69
+ }
70
+ };
71
+ const deleteHandler = async (c) => {
72
+ try {
73
+ const body = await c.req.json();
74
+ const { fsName, key } = body;
75
+ if (!fsName || !key) {
76
+ return c.json({ error: "Missing required fields: fsName, key" }, 400);
77
+ }
78
+ db.prepare(`DELETE FROM fs_entries WHERE fs_name = ? AND key = ?`).run(fsName, key);
79
+ const fsDir = getFsDir(fsName);
80
+ const filePath = encodedKeyPath(fsDir, key);
81
+ if (existsSync(filePath)) {
82
+ unlinkSync(filePath);
83
+ }
84
+ return c.json({ success: true });
85
+ }
86
+ catch (err) {
87
+ logger.error(`[fs-service] delete error: ${err instanceof Error ? err.message : String(err)}`);
88
+ return c.json({
89
+ error: `delete failed: ${err instanceof Error ? err.message : String(err)}`,
90
+ }, 500);
91
+ }
92
+ };
93
+ const listHandler = async (c) => {
94
+ try {
95
+ const body = await c.req.json();
96
+ const { fsName, prefix, limit } = body;
97
+ if (!fsName) {
98
+ return c.json({ error: "Missing required field: fsName" }, 400);
99
+ }
100
+ const effectiveLimit = limit ?? 1000;
101
+ const keys = prefix
102
+ ? db
103
+ .prepare(`SELECT key, size, content_type FROM fs_entries WHERE fs_name = ? AND key LIKE ? ORDER BY key ASC LIMIT ?`)
104
+ .all(fsName, `${prefix}%`, effectiveLimit)
105
+ : db
106
+ .prepare(`SELECT key, size, content_type FROM fs_entries WHERE fs_name = ? ORDER BY key ASC LIMIT ?`)
107
+ .all(fsName, effectiveLimit);
108
+ return c.json({
109
+ keys: keys.map((k) => ({
110
+ key: k.key,
111
+ size: k.size,
112
+ contentType: k.content_type,
113
+ })),
114
+ });
115
+ }
116
+ catch (err) {
117
+ logger.error(`[fs-service] list error: ${err instanceof Error ? err.message : String(err)}`);
118
+ return c.json({
119
+ error: `list failed: ${err instanceof Error ? err.message : String(err)}`,
120
+ }, 500);
121
+ }
122
+ };
123
+ return {
124
+ putHandler,
125
+ getHandler,
126
+ deleteHandler,
127
+ listHandler,
128
+ };
129
+ }
130
+ //# sourceMappingURL=fs-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fs-service.js","sourceRoot":"","sources":["../../src/services/fs-service.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { serve } from "@hono/node-server";
2
2
  import { Hono } from "hono";
3
+ import { getDataDir } from "../utils/paths.js";
3
4
  import { createAuthHandlers } from "./auth-service.js";
4
5
  import { createCacheHandlers } from "./cache-service.js";
5
6
  import { createDashboardRoutes } from "./dashboard-routes.js";
6
7
  import { createDbHandler } from "./db-service.js";
8
+ import { createFsHandlers } from "./fs-service.js";
7
9
  import { createQueueHandlers } from "./queue-service.js";
8
10
  import { createStateHandlers } from "./state-service.js";
9
11
  import { createWorkflowHandlers } from "./workflow-service.js";
@@ -45,6 +47,14 @@ export async function startMockServer(dbManager, config, options = {}) {
45
47
  app.post("/state/set", stateHandlers.setHandler);
46
48
  app.post("/state/delete", stateHandlers.deleteHandler);
47
49
  }
50
+ if (config.fs) {
51
+ const dataDir = getDataDir(process.cwd());
52
+ const fsHandlers = createFsHandlers(dbManager.emulatorDb, dataDir);
53
+ app.post("/fs/put", fsHandlers.putHandler);
54
+ app.post("/fs/get", fsHandlers.getHandler);
55
+ app.post("/fs/delete", fsHandlers.deleteHandler);
56
+ app.post("/fs/list", fsHandlers.listHandler);
57
+ }
48
58
  if (config.auth) {
49
59
  const authHandlers = createAuthHandlers(dbManager.emulatorDb);
50
60
  app.post("/auth/signup", authHandlers.signupHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/services/mock-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/services/mock-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};