@dainprotocol/service-sdk 2.0.35 → 2.0.36
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/package.json
CHANGED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
interface ProcessUpdate {
|
|
2
|
-
type: 'progress' | 'ui-update' | 'process-created' | 'result' | 'error';
|
|
3
|
-
timestamp: number;
|
|
4
|
-
data: any;
|
|
5
|
-
}
|
|
6
|
-
declare class ProcessUpdateStore {
|
|
7
|
-
private processes;
|
|
8
|
-
private cleanupInterval;
|
|
9
|
-
private readonly MAX_AGE_MS;
|
|
10
|
-
constructor();
|
|
11
|
-
createProcess(processId: string): void;
|
|
12
|
-
addUpdate(processId: string, update: Omit<ProcessUpdate, 'timestamp'>): void;
|
|
13
|
-
setResult(processId: string, result: any): void;
|
|
14
|
-
setError(processId: string, error: any): void;
|
|
15
|
-
getUpdates(processId: string, since?: number): {
|
|
16
|
-
updates: ProcessUpdate[];
|
|
17
|
-
completed: boolean;
|
|
18
|
-
result: any;
|
|
19
|
-
error: any;
|
|
20
|
-
};
|
|
21
|
-
deleteProcess(processId: string): void;
|
|
22
|
-
private startCleanup;
|
|
23
|
-
stop(): void;
|
|
24
|
-
}
|
|
25
|
-
export declare function getProcessUpdateStore(): ProcessUpdateStore;
|
|
26
|
-
export declare function stopProcessUpdateStore(): void;
|
|
27
|
-
export {};
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// In-memory store for process updates (progress, UI updates, etc.)
|
|
3
|
-
// This allows polling instead of SSE for better performance and reliability
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.getProcessUpdateStore = getProcessUpdateStore;
|
|
6
|
-
exports.stopProcessUpdateStore = stopProcessUpdateStore;
|
|
7
|
-
class ProcessUpdateStore {
|
|
8
|
-
processes = new Map();
|
|
9
|
-
cleanupInterval = null;
|
|
10
|
-
MAX_AGE_MS = 5 * 60 * 1000; // 5 minutes
|
|
11
|
-
constructor() {
|
|
12
|
-
// Start cleanup interval
|
|
13
|
-
this.startCleanup();
|
|
14
|
-
}
|
|
15
|
-
createProcess(processId) {
|
|
16
|
-
this.processes.set(processId, {
|
|
17
|
-
updates: [],
|
|
18
|
-
result: null,
|
|
19
|
-
error: null,
|
|
20
|
-
completed: false,
|
|
21
|
-
createdAt: Date.now()
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
addUpdate(processId, update) {
|
|
25
|
-
const process = this.processes.get(processId);
|
|
26
|
-
if (!process) {
|
|
27
|
-
console.warn(`[ProcessUpdateStore] Process ${processId} not found`);
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
process.updates.push({
|
|
31
|
-
...update,
|
|
32
|
-
timestamp: Date.now()
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
setResult(processId, result) {
|
|
36
|
-
const process = this.processes.get(processId);
|
|
37
|
-
if (!process) {
|
|
38
|
-
console.warn(`[ProcessUpdateStore] Process ${processId} not found`);
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
process.result = result;
|
|
42
|
-
process.completed = true;
|
|
43
|
-
}
|
|
44
|
-
setError(processId, error) {
|
|
45
|
-
const process = this.processes.get(processId);
|
|
46
|
-
if (!process) {
|
|
47
|
-
console.warn(`[ProcessUpdateStore] Process ${processId} not found`);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
process.error = error;
|
|
51
|
-
process.completed = true;
|
|
52
|
-
}
|
|
53
|
-
getUpdates(processId, since) {
|
|
54
|
-
const process = this.processes.get(processId);
|
|
55
|
-
if (!process) {
|
|
56
|
-
return { updates: [], completed: false, result: null, error: null };
|
|
57
|
-
}
|
|
58
|
-
// Filter updates by timestamp if 'since' is provided
|
|
59
|
-
const updates = since
|
|
60
|
-
? process.updates.filter(u => u.timestamp > since)
|
|
61
|
-
: process.updates;
|
|
62
|
-
return {
|
|
63
|
-
updates,
|
|
64
|
-
completed: process.completed,
|
|
65
|
-
result: process.result,
|
|
66
|
-
error: process.error
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
deleteProcess(processId) {
|
|
70
|
-
this.processes.delete(processId);
|
|
71
|
-
}
|
|
72
|
-
startCleanup() {
|
|
73
|
-
// Run cleanup every minute
|
|
74
|
-
this.cleanupInterval = setInterval(() => {
|
|
75
|
-
const now = Date.now();
|
|
76
|
-
for (const [processId, process] of this.processes.entries()) {
|
|
77
|
-
// Delete processes older than MAX_AGE_MS
|
|
78
|
-
if (now - process.createdAt > this.MAX_AGE_MS) {
|
|
79
|
-
this.processes.delete(processId);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}, 60000); // 1 minute
|
|
83
|
-
}
|
|
84
|
-
stop() {
|
|
85
|
-
if (this.cleanupInterval) {
|
|
86
|
-
clearInterval(this.cleanupInterval);
|
|
87
|
-
this.cleanupInterval = null;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
// Global singleton instance
|
|
92
|
-
let globalStore = null;
|
|
93
|
-
function getProcessUpdateStore() {
|
|
94
|
-
if (!globalStore) {
|
|
95
|
-
globalStore = new ProcessUpdateStore();
|
|
96
|
-
}
|
|
97
|
-
return globalStore;
|
|
98
|
-
}
|
|
99
|
-
function stopProcessUpdateStore() {
|
|
100
|
-
if (globalStore) {
|
|
101
|
-
globalStore.stop();
|
|
102
|
-
globalStore = null;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=process-updates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-updates.js","sourceRoot":"","sources":["../../src/service/process-updates.ts"],"names":[],"mappings":"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"}
|