@meetploy/emulator 1.9.0 → 1.10.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.
- package/dist/bundler/bundler.js +44 -0
- package/dist/bundler/bundler.js.map +1 -1
- package/dist/dashboard-dist/assets/{main-B-euJxpr.css → main-5Kt9I_hM.css} +1 -1
- package/dist/dashboard-dist/assets/main-BFhQn9QT.js +354 -0
- package/dist/dashboard-dist/index.html +2 -2
- package/dist/emulator.d.ts +1 -0
- package/dist/emulator.js +15 -0
- package/dist/emulator.js.map +1 -1
- package/dist/runtime/timer-runtime.d.ts +1 -0
- package/dist/runtime/timer-runtime.js +60 -0
- package/dist/runtime/timer-runtime.js.map +1 -0
- package/dist/services/auth-service.d.ts +2 -2
- package/dist/services/auth-service.js.map +1 -1
- package/dist/services/cache-service.d.ts +2 -2
- package/dist/services/cache-service.js.map +1 -1
- package/dist/services/cron-service.d.ts +2 -2
- package/dist/services/cron-service.js.map +1 -1
- package/dist/services/dashboard-routes.js +100 -0
- package/dist/services/dashboard-routes.js.map +1 -1
- package/dist/services/db-service.d.ts +2 -2
- package/dist/services/db-service.js +1 -1
- package/dist/services/db-service.js.map +1 -1
- package/dist/services/fs-service.d.ts +2 -2
- package/dist/services/fs-service.js.map +1 -1
- package/dist/services/mock-server.js +7 -0
- package/dist/services/mock-server.js.map +1 -1
- package/dist/services/queue-service.d.ts +3 -3
- package/dist/services/queue-service.js.map +1 -1
- package/dist/services/state-service.d.ts +2 -2
- package/dist/services/state-service.js.map +1 -1
- package/dist/services/{alarm-service.d.ts → timer-service.d.ts} +10 -8
- package/dist/services/timer-service.js +133 -0
- package/dist/services/timer-service.js.map +1 -0
- package/dist/services/workflow-service.d.ts +3 -3
- package/dist/services/workflow-service.js.map +1 -1
- package/dist/utils/sqlite-db.d.ts +18 -0
- package/dist/utils/sqlite-db.js +66 -0
- package/dist/utils/sqlite-db.js.map +1 -0
- package/dist/utils/sqlite.d.ts +3 -3
- package/dist/utils/sqlite.js +33 -3
- package/dist/utils/sqlite.js.map +1 -1
- package/package.json +2 -4
- package/dist/dashboard-dist/assets/main-duAiLjPq.js +0 -339
- package/dist/runtime/alarm-runtime.d.ts +0 -1
- package/dist/runtime/alarm-runtime.js +0 -55
- package/dist/runtime/alarm-runtime.js.map +0 -1
- package/dist/services/alarm-service.js +0 -125
- package/dist/services/alarm-service.js.map +0 -1
- package/dist/services/workflow-service.spec.d.ts +0 -1
- package/dist/services/workflow-service.spec.js +0 -258
- package/dist/services/workflow-service.spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-service.js","sourceRoot":"","sources":["../../src/services/db-service.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,eAAe,CAC9B,
|
|
1
|
+
{"version":3,"file":"db-service.js","sourceRoot":"","sources":["../../src/services/db-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { SqliteDatabase } from "../utils/sqlite-db.js";
|
|
2
2
|
import type { Context } from "hono";
|
|
3
|
-
export declare function createFsHandlers(db:
|
|
3
|
+
export declare function createFsHandlers(db: SqliteDatabase, dataDir: string): {
|
|
4
4
|
putHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
|
|
5
5
|
error: string;
|
|
6
6
|
}, 400, "json">) | (Response & import("hono").TypedResponse<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs-service.js","sourceRoot":"","sources":["../../src/services/fs-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,aAAa,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAK5C,MAAM,UAAU,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"fs-service.js","sourceRoot":"","sources":["../../src/services/fs-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ import { createDbHandler } from "./db-service.js";
|
|
|
8
8
|
import { createFsHandlers } from "./fs-service.js";
|
|
9
9
|
import { createQueueHandlers } from "./queue-service.js";
|
|
10
10
|
import { createStateHandlers } from "./state-service.js";
|
|
11
|
+
import { createTimerHandlers } from "./timer-service.js";
|
|
11
12
|
import { createWorkflowHandlers } from "./workflow-service.js";
|
|
12
13
|
export const DEFAULT_MOCK_SERVER_PORT = 4003;
|
|
13
14
|
export async function startMockServer(dbManager, config, options = {}) {
|
|
@@ -55,6 +56,12 @@ export async function startMockServer(dbManager, config, options = {}) {
|
|
|
55
56
|
app.post("/fs/delete", fsHandlers.deleteHandler);
|
|
56
57
|
app.post("/fs/list", fsHandlers.listHandler);
|
|
57
58
|
}
|
|
59
|
+
if (config.timer) {
|
|
60
|
+
const timerHandlers = createTimerHandlers(dbManager.emulatorDb);
|
|
61
|
+
app.post("/timer/set", timerHandlers.setHandler);
|
|
62
|
+
app.post("/timer/get", timerHandlers.getHandler);
|
|
63
|
+
app.post("/timer/delete", timerHandlers.deleteHandler);
|
|
64
|
+
}
|
|
58
65
|
if (config.auth) {
|
|
59
66
|
const authHandlers = createAuthHandlers(dbManager.emulatorDb);
|
|
60
67
|
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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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { SqliteDatabase } from "../utils/sqlite-db.js";
|
|
2
2
|
import type { Context } from "hono";
|
|
3
3
|
export interface QueueMessage {
|
|
4
4
|
id: string;
|
|
@@ -10,7 +10,7 @@ export interface QueueMessage {
|
|
|
10
10
|
visibleAt: number;
|
|
11
11
|
createdAt: number;
|
|
12
12
|
}
|
|
13
|
-
export declare function createQueueHandlers(db:
|
|
13
|
+
export declare function createQueueHandlers(db: SqliteDatabase): {
|
|
14
14
|
sendHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
|
|
15
15
|
success: true;
|
|
16
16
|
messageId: `${string}-${string}-${string}-${string}-${string}`;
|
|
@@ -61,4 +61,4 @@ export interface QueueProcessor {
|
|
|
61
61
|
start: () => void;
|
|
62
62
|
stop: () => void;
|
|
63
63
|
}
|
|
64
|
-
export declare function createQueueProcessor(db:
|
|
64
|
+
export declare function createQueueProcessor(db: SqliteDatabase, queueBindings: Record<string, string>, workerUrl: string): QueueProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-service.js","sourceRoot":"","sources":["../../src/services/queue-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgBzC,MAAM,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"queue-service.js","sourceRoot":"","sources":["../../src/services/queue-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { SqliteDatabase } from "../utils/sqlite-db.js";
|
|
2
2
|
import type { Context } from "hono";
|
|
3
|
-
export declare function createStateHandlers(db:
|
|
3
|
+
export declare function createStateHandlers(db: SqliteDatabase): {
|
|
4
4
|
getHandler: (c: Context) => Promise<Response & import("hono").TypedResponse<{
|
|
5
5
|
value: string | null;
|
|
6
6
|
}, import("hono/utils/http-status").ContentfulStatusCode, "json">>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-service.js","sourceRoot":"","sources":["../../src/services/state-service.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"state-service.js","sourceRoot":"","sources":["../../src/services/state-service.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,EAAkB;IACrD,MAAM,UAAU,GAAG,KAAK,EAAE,CAAU,EAAE,EAAE;QACvC,MAAM,IAAI,GAAuC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAEhC,MAAM,GAAG,GAAG,EAAE;aACZ,OAAO,CACP,kEAAkE,CAClE;aACA,GAAG,CAAC,SAAS,EAAE,GAAG,CAAkC,CAAC;QAEvD,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,EAAE,CAAU,EAAE,EAAE;QACvC,MAAM,IAAI,GAIN,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAEvC,EAAE,CAAC,OAAO,CACT,gFAAgF,CAChF,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAE7B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,CAAU,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAuC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAEhC,EAAE,CAAC,OAAO,CACT,4DAA4D,CAC5D,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAEtB,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;QACN,UAAU;QACV,UAAU;QACV,aAAa;KACb,CAAC;AACH,CAAC"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { SqliteDatabase } from "../utils/sqlite-db.js";
|
|
2
2
|
import type { Context } from "hono";
|
|
3
|
-
export interface
|
|
3
|
+
export interface TimerEntry {
|
|
4
4
|
id: string;
|
|
5
|
-
|
|
5
|
+
timer_name: string;
|
|
6
6
|
scheduled_time: number;
|
|
7
7
|
payload: string | null;
|
|
8
|
+
interval_ms: number | null;
|
|
8
9
|
status: string;
|
|
9
10
|
created_at: number;
|
|
10
11
|
}
|
|
11
|
-
export declare function
|
|
12
|
+
export declare function createTimerHandlers(db: SqliteDatabase): {
|
|
12
13
|
setHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
|
|
13
14
|
success: true;
|
|
14
15
|
}, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
|
|
@@ -16,12 +17,13 @@ export declare function createAlarmHandlers(db: Database.Database): {
|
|
|
16
17
|
error: string;
|
|
17
18
|
}, 500, "json">)>;
|
|
18
19
|
getHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
|
|
19
|
-
|
|
20
|
+
timer: null;
|
|
20
21
|
}, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
|
|
21
|
-
|
|
22
|
+
timer: {
|
|
22
23
|
id: string;
|
|
23
24
|
scheduledTime: number;
|
|
24
25
|
payload: any;
|
|
26
|
+
intervalMs: number | undefined;
|
|
25
27
|
};
|
|
26
28
|
}, import("hono/utils/http-status").ContentfulStatusCode, "json">) | (Response & import("hono").TypedResponse<{
|
|
27
29
|
success: false;
|
|
@@ -34,8 +36,8 @@ export declare function createAlarmHandlers(db: Database.Database): {
|
|
|
34
36
|
error: string;
|
|
35
37
|
}, 500, "json">)>;
|
|
36
38
|
};
|
|
37
|
-
export interface
|
|
39
|
+
export interface TimerProcessor {
|
|
38
40
|
start: () => void;
|
|
39
41
|
stop: () => void;
|
|
40
42
|
}
|
|
41
|
-
export declare function
|
|
43
|
+
export declare function createTimerProcessor(db: SqliteDatabase, workerUrl: string): TimerProcessor;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
export function createTimerHandlers(db) {
|
|
2
|
+
const setHandler = async (c) => {
|
|
3
|
+
try {
|
|
4
|
+
const body = await c.req.json();
|
|
5
|
+
const { timerName, id, scheduledTime, payload, intervalMs } = body;
|
|
6
|
+
const now = Math.floor(Date.now() / 1000);
|
|
7
|
+
const scheduledTimeSec = Math.floor(scheduledTime / 1000);
|
|
8
|
+
db.prepare(`INSERT OR REPLACE INTO timer_entries (id, timer_name, scheduled_time, payload, interval_ms, status, created_at)
|
|
9
|
+
VALUES (?, ?, ?, ?, ?, 'pending', ?)`).run(id, timerName, scheduledTimeSec, payload !== undefined ? JSON.stringify(payload) : null, intervalMs ?? null, now);
|
|
10
|
+
return c.json({ success: true });
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
14
|
+
return c.json({ success: false, error: message }, 500);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
const getHandler = async (c) => {
|
|
18
|
+
try {
|
|
19
|
+
const body = await c.req.json();
|
|
20
|
+
const { timerName, id } = body;
|
|
21
|
+
const row = db
|
|
22
|
+
.prepare(`SELECT id, scheduled_time, payload, interval_ms FROM timer_entries
|
|
23
|
+
WHERE timer_name = ? AND id = ? AND status = 'pending'`)
|
|
24
|
+
.get(timerName, id);
|
|
25
|
+
if (!row) {
|
|
26
|
+
return c.json({ timer: null });
|
|
27
|
+
}
|
|
28
|
+
return c.json({
|
|
29
|
+
timer: {
|
|
30
|
+
id: row.id,
|
|
31
|
+
scheduledTime: row.scheduled_time * 1000,
|
|
32
|
+
payload: row.payload ? JSON.parse(row.payload) : undefined,
|
|
33
|
+
intervalMs: row.interval_ms ?? undefined,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
39
|
+
return c.json({ success: false, error: message }, 500);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const deleteHandler = async (c) => {
|
|
43
|
+
try {
|
|
44
|
+
const body = await c.req.json();
|
|
45
|
+
const { timerName, id } = body;
|
|
46
|
+
db.prepare(`DELETE FROM timer_entries WHERE timer_name = ? AND id = ?`).run(timerName, id);
|
|
47
|
+
return c.json({ success: true });
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
51
|
+
return c.json({ success: false, error: message }, 500);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return {
|
|
55
|
+
setHandler,
|
|
56
|
+
getHandler,
|
|
57
|
+
deleteHandler,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export function createTimerProcessor(db, workerUrl) {
|
|
61
|
+
let interval = null;
|
|
62
|
+
async function processTimers() {
|
|
63
|
+
const now = Math.floor(Date.now() / 1000);
|
|
64
|
+
const rows = db
|
|
65
|
+
.prepare(`SELECT id, timer_name, scheduled_time, payload, interval_ms
|
|
66
|
+
FROM timer_entries
|
|
67
|
+
WHERE status = 'pending' AND scheduled_time <= ?
|
|
68
|
+
ORDER BY scheduled_time ASC
|
|
69
|
+
LIMIT 50`)
|
|
70
|
+
.all(now);
|
|
71
|
+
for (const row of rows) {
|
|
72
|
+
const startTime = Date.now();
|
|
73
|
+
try {
|
|
74
|
+
const response = await fetch(workerUrl, {
|
|
75
|
+
method: "POST",
|
|
76
|
+
headers: {
|
|
77
|
+
"Content-Type": "application/json",
|
|
78
|
+
"X-Ploy-Timer-Fire": "true",
|
|
79
|
+
"X-Ploy-Timer-Id": row.id,
|
|
80
|
+
"X-Ploy-Timer-Name": row.timer_name,
|
|
81
|
+
"X-Ploy-Timer-Time": String(row.scheduled_time * 1000),
|
|
82
|
+
},
|
|
83
|
+
body: JSON.stringify({
|
|
84
|
+
scheduledTime: row.scheduled_time * 1000,
|
|
85
|
+
payload: row.payload ? JSON.parse(row.payload) : undefined,
|
|
86
|
+
intervalMs: row.interval_ms ?? undefined,
|
|
87
|
+
}),
|
|
88
|
+
});
|
|
89
|
+
const durationMs = Date.now() - startTime;
|
|
90
|
+
if (response.ok) {
|
|
91
|
+
if (row.interval_ms) {
|
|
92
|
+
const nextTimeSec = row.scheduled_time + Math.floor(row.interval_ms / 1000);
|
|
93
|
+
db.prepare(`UPDATE timer_entries SET scheduled_time = ? WHERE id = ? AND timer_name = ?`).run(nextTimeSec, row.id, row.timer_name);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
db.prepare(`UPDATE timer_entries SET status = 'fired' WHERE id = ? AND timer_name = ?`).run(row.id, row.timer_name);
|
|
97
|
+
}
|
|
98
|
+
db.prepare(`INSERT INTO timer_executions (timer_id, timer_name, scheduled_time, status, duration_ms, created_at)
|
|
99
|
+
VALUES (?, ?, ?, 'completed', ?, ?)`).run(row.id, row.timer_name, row.scheduled_time, durationMs, now);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
db.prepare(`INSERT INTO timer_executions (timer_id, timer_name, scheduled_time, status, error, duration_ms, created_at)
|
|
103
|
+
VALUES (?, ?, ?, 'failed', ?, ?, ?)`).run(row.id, row.timer_name, row.scheduled_time, `HTTP ${String(response.status)}`, durationMs, now);
|
|
104
|
+
db.prepare(`UPDATE timer_entries SET scheduled_time = ? WHERE id = ? AND timer_name = ?`).run(now + 5, row.id, row.timer_name);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
const durationMs = Date.now() - startTime;
|
|
109
|
+
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
110
|
+
db.prepare(`INSERT INTO timer_executions (timer_id, timer_name, scheduled_time, status, error, duration_ms, created_at)
|
|
111
|
+
VALUES (?, ?, ?, 'failed', ?, ?, ?)`).run(row.id, row.timer_name, row.scheduled_time, errorMessage, durationMs, now);
|
|
112
|
+
db.prepare(`UPDATE timer_entries SET scheduled_time = ? WHERE id = ? AND timer_name = ?`).run(now + 5, row.id, row.timer_name);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
start() {
|
|
118
|
+
if (interval) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
interval = setInterval(() => {
|
|
122
|
+
processTimers().catch(() => { });
|
|
123
|
+
}, 1000);
|
|
124
|
+
},
|
|
125
|
+
stop() {
|
|
126
|
+
if (interval) {
|
|
127
|
+
clearInterval(interval);
|
|
128
|
+
interval = null;
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=timer-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer-service.js","sourceRoot":"","sources":["../../src/services/timer-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { SqliteDatabase } from "../utils/sqlite-db.js";
|
|
2
2
|
import type { Context } from "hono";
|
|
3
3
|
export interface WorkflowExecution {
|
|
4
4
|
id: string;
|
|
@@ -22,7 +22,7 @@ export interface WorkflowStep {
|
|
|
22
22
|
durationMs: number | null;
|
|
23
23
|
createdAt: number;
|
|
24
24
|
}
|
|
25
|
-
export declare function createWorkflowHandlers(db:
|
|
25
|
+
export declare function createWorkflowHandlers(db: SqliteDatabase, workerUrl?: string): {
|
|
26
26
|
triggerHandler: (c: Context) => Promise<(Response & import("hono").TypedResponse<{
|
|
27
27
|
success: true;
|
|
28
28
|
executionId: `${string}-${string}-${string}-${string}-${string}`;
|
|
@@ -101,4 +101,4 @@ export declare function createWorkflowHandlers(db: Database.Database, workerUrl?
|
|
|
101
101
|
export interface WorkflowExecutor {
|
|
102
102
|
triggerWorkflow: (workflowName: string, input: unknown, workerUrl: string) => Promise<string>;
|
|
103
103
|
}
|
|
104
|
-
export declare function createWorkflowExecutor(db:
|
|
104
|
+
export declare function createWorkflowExecutor(db: SqliteDatabase): WorkflowExecutor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-service.js","sourceRoot":"","sources":["../../src/services/workflow-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA6BzC,MAAM,UAAU,sBAAsB,
|
|
1
|
+
{"version":3,"file":"workflow-service.js","sourceRoot":"","sources":["../../src/services/workflow-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface RunResult {
|
|
2
|
+
changes: number;
|
|
3
|
+
lastInsertRowid: number | bigint;
|
|
4
|
+
}
|
|
5
|
+
export interface Statement {
|
|
6
|
+
run: (...params: unknown[]) => RunResult;
|
|
7
|
+
get: (...params: unknown[]) => unknown;
|
|
8
|
+
all: (...params: unknown[]) => unknown[];
|
|
9
|
+
}
|
|
10
|
+
export interface SqliteDatabase {
|
|
11
|
+
prepare: (sql: string) => Statement;
|
|
12
|
+
exec: (sql: string) => void;
|
|
13
|
+
close: () => void;
|
|
14
|
+
pragma: (pragma: string) => void;
|
|
15
|
+
transaction: <T>(fn: () => T) => () => T;
|
|
16
|
+
dumpToBuffer: () => Promise<Buffer>;
|
|
17
|
+
}
|
|
18
|
+
export declare function openDatabase(filepath: string): SqliteDatabase;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { readFileSync, unlinkSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { DatabaseSync, backup } from "node:sqlite";
|
|
6
|
+
export function openDatabase(filepath) {
|
|
7
|
+
const db = new DatabaseSync(filepath);
|
|
8
|
+
return {
|
|
9
|
+
prepare(sql) {
|
|
10
|
+
const stmt = db.prepare(sql);
|
|
11
|
+
return {
|
|
12
|
+
run(...params) {
|
|
13
|
+
const result = stmt.run(...params);
|
|
14
|
+
return {
|
|
15
|
+
changes: Number(result.changes),
|
|
16
|
+
lastInsertRowid: result.lastInsertRowid,
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
|
+
get(...params) {
|
|
20
|
+
return stmt.get(...params);
|
|
21
|
+
},
|
|
22
|
+
all(...params) {
|
|
23
|
+
return stmt.all(...params);
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
exec(sql) {
|
|
28
|
+
db.exec(sql);
|
|
29
|
+
},
|
|
30
|
+
close() {
|
|
31
|
+
db.close();
|
|
32
|
+
},
|
|
33
|
+
pragma(pragma) {
|
|
34
|
+
db.exec(`PRAGMA ${pragma}`);
|
|
35
|
+
},
|
|
36
|
+
transaction(fn) {
|
|
37
|
+
return () => {
|
|
38
|
+
db.exec("BEGIN");
|
|
39
|
+
try {
|
|
40
|
+
const result = fn();
|
|
41
|
+
db.exec("COMMIT");
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
db.exec("ROLLBACK");
|
|
46
|
+
throw e;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
},
|
|
50
|
+
async dumpToBuffer() {
|
|
51
|
+
const tempPath = join(tmpdir(), `ploy-dump-${randomUUID()}.db`);
|
|
52
|
+
try {
|
|
53
|
+
await backup(db, tempPath);
|
|
54
|
+
return readFileSync(tempPath);
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
try {
|
|
58
|
+
unlinkSync(tempPath);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=sqlite-db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-db.js","sourceRoot":"","sources":["../../src/utils/sqlite-db.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AAsBvE,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC5C,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO;QACN,OAAO,CAAC,GAAW;YAClB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;gBACN,GAAG,CAAC,GAAG,MAAiB;oBACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAI,MAA0B,CAAC,CAAC;oBACxD,OAAO;wBACN,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;wBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;qBACvC,CAAC;gBACH,CAAC;gBACD,GAAG,CAAC,GAAG,MAAiB;oBACvB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAI,MAA0B,CAAC,CAAC;gBACjD,CAAC;gBACD,GAAG,CAAC,GAAG,MAAiB;oBACvB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAI,MAA0B,CAAC,CAAC;gBACjD,CAAC;aACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAW;YACf,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACd,CAAC;QAED,KAAK;YACJ,EAAE,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,CAAC,MAAc;YACpB,EAAE,CAAC,IAAI,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;QAC7B,CAAC;QAED,WAAW,CAAI,EAAW;YACzB,OAAO,GAAG,EAAE;gBACX,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjB,IAAI,CAAC;oBACJ,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;oBACpB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClB,OAAO,MAAM,CAAC;gBACf,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACpB,MAAM,CAAC,CAAC;gBACT,CAAC;YACF,CAAC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,YAAY;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,UAAU,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC3B,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC;oBACJ,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACF,CAAC;QACF,CAAC;KACD,CAAC;AACH,CAAC"}
|
package/dist/utils/sqlite.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type SqliteDatabase } from "./sqlite-db.js";
|
|
2
2
|
export interface DatabaseManager {
|
|
3
|
-
emulatorDb:
|
|
4
|
-
getD1Database: (bindingName: string) =>
|
|
3
|
+
emulatorDb: SqliteDatabase;
|
|
4
|
+
getD1Database: (bindingName: string) => SqliteDatabase;
|
|
5
5
|
close: () => void;
|
|
6
6
|
}
|
|
7
7
|
export declare function initializeDatabases(projectDir: string): DatabaseManager;
|
package/dist/utils/sqlite.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
-
import Database from "better-sqlite3";
|
|
3
2
|
import { ensureDataDir } from "./paths.js";
|
|
3
|
+
import { openDatabase } from "./sqlite-db.js";
|
|
4
4
|
const EMULATOR_SCHEMA = `
|
|
5
5
|
-- Queue messages table
|
|
6
6
|
CREATE TABLE IF NOT EXISTS queue_messages (
|
|
@@ -136,17 +136,47 @@ CREATE TABLE IF NOT EXISTS cron_executions (
|
|
|
136
136
|
|
|
137
137
|
CREATE INDEX IF NOT EXISTS idx_cron_executions_name
|
|
138
138
|
ON cron_executions(cron_name, triggered_at);
|
|
139
|
+
|
|
140
|
+
-- Timer entries table (durable timers, optionally recurring)
|
|
141
|
+
CREATE TABLE IF NOT EXISTS timer_entries (
|
|
142
|
+
id TEXT NOT NULL,
|
|
143
|
+
timer_name TEXT NOT NULL,
|
|
144
|
+
scheduled_time INTEGER NOT NULL,
|
|
145
|
+
payload TEXT,
|
|
146
|
+
interval_ms INTEGER,
|
|
147
|
+
status TEXT DEFAULT 'pending',
|
|
148
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now')),
|
|
149
|
+
PRIMARY KEY (timer_name, id)
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
CREATE INDEX IF NOT EXISTS idx_timer_entries_status_time
|
|
153
|
+
ON timer_entries(status, scheduled_time);
|
|
154
|
+
|
|
155
|
+
-- Timer execution log
|
|
156
|
+
CREATE TABLE IF NOT EXISTS timer_executions (
|
|
157
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
158
|
+
timer_id TEXT NOT NULL,
|
|
159
|
+
timer_name TEXT NOT NULL,
|
|
160
|
+
scheduled_time INTEGER NOT NULL,
|
|
161
|
+
status TEXT DEFAULT 'pending',
|
|
162
|
+
error TEXT,
|
|
163
|
+
duration_ms INTEGER,
|
|
164
|
+
created_at INTEGER DEFAULT (strftime('%s', 'now'))
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
CREATE INDEX IF NOT EXISTS idx_timer_executions_name
|
|
168
|
+
ON timer_executions(timer_name, created_at);
|
|
139
169
|
`;
|
|
140
170
|
export function initializeDatabases(projectDir) {
|
|
141
171
|
const dataDir = ensureDataDir(projectDir);
|
|
142
172
|
const d1Databases = new Map();
|
|
143
|
-
const emulatorDb =
|
|
173
|
+
const emulatorDb = openDatabase(join(dataDir, "emulator.db"));
|
|
144
174
|
emulatorDb.pragma("journal_mode = WAL");
|
|
145
175
|
emulatorDb.exec(EMULATOR_SCHEMA);
|
|
146
176
|
function getD1Database(bindingName) {
|
|
147
177
|
let db = d1Databases.get(bindingName);
|
|
148
178
|
if (!db) {
|
|
149
|
-
db =
|
|
179
|
+
db = openDatabase(join(dataDir, "db", `${bindingName}.db`));
|
|
150
180
|
db.pragma("journal_mode = WAL");
|
|
151
181
|
d1Databases.set(bindingName, db);
|
|
152
182
|
}
|
package/dist/utils/sqlite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/utils/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/utils/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAuB,MAAM,gBAAgB,CAAC;AAEnE,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqKvB,CAAC;AAQF,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACrD,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEtD,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9D,UAAU,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAEjC,SAAS,aAAa,CAAC,WAAmB;QACzC,IAAI,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,WAAW,KAAK,CAAC,CAAC,CAAC;YAC5D,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAChC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,SAAS,KAAK;QACb,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,EAAE,CAAC,KAAK,EAAE,CAAC;QACZ,CAAC;QACD,WAAW,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,OAAO;QACN,UAAU;QACV,aAAa;QACb,KAAK;KACL,CAAC;AACH,CAAC"}
|