azul-sync 1.3.3 → 1.3.5

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 (52) hide show
  1. package/README.md +10 -10
  2. package/dist/build.d.ts +8 -4
  3. package/dist/build.d.ts.map +1 -1
  4. package/dist/build.js +20 -10
  5. package/dist/build.js.map +1 -1
  6. package/dist/cli.js +145 -125
  7. package/dist/cli.js.map +1 -1
  8. package/dist/fs/fileWriter.d.ts +4 -0
  9. package/dist/fs/fileWriter.d.ts.map +1 -1
  10. package/dist/fs/fileWriter.js +20 -2
  11. package/dist/fs/fileWriter.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +34 -22
  15. package/dist/index.js.map +1 -1
  16. package/dist/ipc/messages.d.ts +6 -1
  17. package/dist/ipc/messages.d.ts.map +1 -1
  18. package/dist/ipc/server.d.ts +1 -0
  19. package/dist/ipc/server.d.ts.map +1 -1
  20. package/dist/ipc/server.js +13 -2
  21. package/dist/ipc/server.js.map +1 -1
  22. package/dist/pack.d.ts.map +1 -1
  23. package/dist/pack.js +2 -1
  24. package/dist/pack.js.map +1 -1
  25. package/dist/push.d.ts +5 -4
  26. package/dist/push.d.ts.map +1 -1
  27. package/dist/push.js +64 -36
  28. package/dist/push.js.map +1 -1
  29. package/dist/snapshot/rojo.d.ts +0 -2
  30. package/dist/snapshot/rojo.d.ts.map +1 -1
  31. package/dist/snapshot/rojo.js +8 -30
  32. package/dist/snapshot/rojo.js.map +1 -1
  33. package/dist/snapshot.d.ts +0 -1
  34. package/dist/snapshot.d.ts.map +1 -1
  35. package/dist/snapshot.js +5 -24
  36. package/dist/snapshot.js.map +1 -1
  37. package/dist/sourcemap/propertyLoader.d.ts.map +1 -1
  38. package/dist/sourcemap/propertyLoader.js +11 -7
  39. package/dist/sourcemap/propertyLoader.js.map +1 -1
  40. package/dist/util/cliArgs.d.ts +21 -0
  41. package/dist/util/cliArgs.d.ts.map +1 -0
  42. package/dist/util/cliArgs.js +105 -0
  43. package/dist/util/cliArgs.js.map +1 -0
  44. package/dist/util/scriptFile.d.ts +14 -0
  45. package/dist/util/scriptFile.d.ts.map +1 -0
  46. package/dist/util/scriptFile.js +44 -0
  47. package/dist/util/scriptFile.js.map +1 -0
  48. package/package.json +1 -1
  49. package/dist/ipc/httpPolling.d.ts +0 -56
  50. package/dist/ipc/httpPolling.d.ts.map +0 -1
  51. package/dist/ipc/httpPolling.js +0 -171
  52. package/dist/ipc/httpPolling.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"propertyLoader.js","sourceRoot":"","sources":["../../src/sourcemap/propertyLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"propertyLoader.js","sourceRoot":"","sources":["../../src/sourcemap/propertyLoader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface ParsedCliArgs {
2
+ command: string | null;
3
+ help: boolean;
4
+ version: boolean;
5
+ debug: boolean;
6
+ noWarn: boolean;
7
+ syncDir?: string;
8
+ port?: number;
9
+ rojo: boolean;
10
+ rojoProject?: string;
11
+ fromSourcemap?: string;
12
+ source?: string;
13
+ destination?: string;
14
+ noPlaceConfig: boolean;
15
+ destructive: boolean;
16
+ output?: string;
17
+ scriptsOnly: boolean;
18
+ configPath: boolean;
19
+ }
20
+ export declare function parseCliArgs(argv: string[]): ParsedCliArgs;
21
+ //# sourceMappingURL=cliArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliArgs.d.ts","sourceRoot":"","sources":["../../src/util/cliArgs.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IAGrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IAGrB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAiE1D"}
@@ -0,0 +1,105 @@
1
+ import { config } from "../config.js";
2
+ import { parseArgs } from "node:util";
3
+ export function parseCliArgs(argv) {
4
+ const args = ensureOptionalStringFlagValues(argv, ["--from-sourcemap"]);
5
+ const { values, positionals } = parseArgs({
6
+ args,
7
+ strict: false,
8
+ allowPositionals: true,
9
+ options: {
10
+ // Global options
11
+ help: { type: "boolean", short: "h" },
12
+ version: { type: "boolean" },
13
+ debug: { type: "boolean" },
14
+ "no-warn": { type: "boolean" },
15
+ "sync-dir": { type: "string" },
16
+ port: { type: "string" },
17
+ // Build/Push options
18
+ rojo: { type: "boolean" },
19
+ "rojo-project": { type: "string" },
20
+ "from-sourcemap": { type: "string" },
21
+ source: { type: "string", short: "s" },
22
+ destination: { type: "string", short: "d" },
23
+ "no-place-config": { type: "boolean" },
24
+ destructive: { type: "boolean" },
25
+ // Pack options
26
+ output: { type: "string", short: "o" },
27
+ "scripts-only": { type: "boolean" },
28
+ // Config options
29
+ path: { type: "boolean" },
30
+ },
31
+ });
32
+ const command = positionals[0] ?? null;
33
+ // const fromSourcemapRawValue = getStringOption(values, "from-sourcemap");
34
+ return {
35
+ command,
36
+ help: getBooleanOption(values, "help"),
37
+ version: getBooleanOption(values, "version"),
38
+ debug: getBooleanOption(values, "debug"),
39
+ noWarn: getBooleanOption(values, "no-warn"),
40
+ configPath: getBooleanOption(values, "path"),
41
+ syncDir: getStringOption(values, "sync-dir"),
42
+ port: getNumberOptionInRange(values, "port", 1, 65535),
43
+ rojo: getBooleanOption(values, "rojo"),
44
+ rojoProject: getStringOption(values, "rojo-project"),
45
+ fromSourcemap: getStringOptionWithImplicitDefault(values, "from-sourcemap", config.sourcemapPath),
46
+ // fromSourcemap: fromSourcemapRawValue !== undefined,
47
+ // fromSourcemapValue:
48
+ // fromSourcemapRawValue === "" || fromSourcemapRawValue === undefined
49
+ // ? null
50
+ // : fromSourcemapRawValue,
51
+ source: getStringOption(values, "source"),
52
+ destination: getStringOption(values, "destination"),
53
+ noPlaceConfig: getBooleanOption(values, "no-place-config"),
54
+ destructive: getBooleanOption(values, "destructive"),
55
+ output: getStringOption(values, "output"),
56
+ scriptsOnly: getBooleanOption(values, "scripts-only"),
57
+ };
58
+ }
59
+ function getBooleanOption(values, flagName) {
60
+ return values[flagName] === true;
61
+ }
62
+ function getStringOption(values, flagName) {
63
+ const flagValue = values[flagName];
64
+ return typeof flagValue === "string" ? flagValue : undefined;
65
+ }
66
+ function getStringOptionWithImplicitDefault(values, flagName, defaultValue) {
67
+ const flagValue = values[flagName];
68
+ if (flagValue === undefined) {
69
+ return undefined;
70
+ }
71
+ if (flagValue === "") {
72
+ return defaultValue;
73
+ }
74
+ return typeof flagValue === "string" ? flagValue : undefined;
75
+ }
76
+ function getNumberOptionInRange(values, flagName, min, max) {
77
+ const value = getStringOption(values, flagName);
78
+ if (value === undefined) {
79
+ return undefined;
80
+ }
81
+ const numberValue = Number(value);
82
+ if (isNaN(numberValue) || numberValue < min || numberValue > max) {
83
+ throw new Error(`Invalid --${flagName} value "${value}": expected a number between ${min} and ${max}.`);
84
+ }
85
+ return numberValue;
86
+ }
87
+ function ensureOptionalStringFlagValues(argv, flags) {
88
+ const normalized = [];
89
+ for (let i = 0; i < argv.length; i++) {
90
+ const arg = argv[i];
91
+ const matchedFlag = flags.find((flag) => arg === flag);
92
+ if (!matchedFlag) {
93
+ normalized.push(arg);
94
+ continue;
95
+ }
96
+ const nextArg = argv[i + 1];
97
+ if (!nextArg || nextArg.startsWith("-")) {
98
+ normalized.push(`${matchedFlag}=`);
99
+ continue;
100
+ }
101
+ normalized.push(arg);
102
+ }
103
+ return normalized;
104
+ }
105
+ //# sourceMappingURL=cliArgs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cliArgs.js","sourceRoot":"","sources":["../../src/util/cliArgs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export type ScriptClassName = "Script" | "LocalScript" | "ModuleScript";
2
+ export interface ClassifiedScriptFile {
3
+ className: ScriptClassName;
4
+ scriptName: string;
5
+ }
6
+ export interface ClassifyScriptFileOptions {
7
+ stripDisambiguationSuffix?: boolean;
8
+ }
9
+ export declare function isScriptClassName(className: string): className is ScriptClassName;
10
+ export declare function isScriptFileName(fileName: string): boolean;
11
+ export declare function normalizeLuaLikeFileName(fileName: string): string;
12
+ export declare function stripScriptDisambiguationSuffix(scriptName: string): string;
13
+ export declare function classifyScriptFileName(fileName: string, options?: ClassifyScriptFileOptions): ClassifiedScriptFile;
14
+ //# sourceMappingURL=scriptFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptFile.d.ts","sourceRoot":"","sources":["../../src/util/scriptFile.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,aAAa,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAChB,SAAS,IAAI,eAAe,CAM9B;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,yBAA8B,GACtC,oBAAoB,CAkCtB"}
@@ -0,0 +1,44 @@
1
+ export function isScriptClassName(className) {
2
+ return (className === "Script" ||
3
+ className === "LocalScript" ||
4
+ className === "ModuleScript");
5
+ }
6
+ export function isScriptFileName(fileName) {
7
+ return fileName.endsWith(".lua") || fileName.endsWith(".luau");
8
+ }
9
+ export function normalizeLuaLikeFileName(fileName) {
10
+ return fileName.replace(/\.lua$/i, ".luau");
11
+ }
12
+ export function stripScriptDisambiguationSuffix(scriptName) {
13
+ return scriptName.replace(/__\{?[a-z0-9-]{6,}\}?$/i, "");
14
+ }
15
+ export function classifyScriptFileName(fileName, options = {}) {
16
+ const normalized = normalizeLuaLikeFileName(fileName);
17
+ const base = normalized.replace(/\.luau$/i, "");
18
+ const normalizeName = (name) => options.stripDisambiguationSuffix
19
+ ? stripScriptDisambiguationSuffix(name)
20
+ : name;
21
+ if (base.endsWith(".server")) {
22
+ return {
23
+ className: "Script",
24
+ scriptName: normalizeName(base.replace(/\.server$/, "")),
25
+ };
26
+ }
27
+ if (base.endsWith(".client")) {
28
+ return {
29
+ className: "LocalScript",
30
+ scriptName: normalizeName(base.replace(/\.client$/, "")),
31
+ };
32
+ }
33
+ if (base.endsWith(".module")) {
34
+ return {
35
+ className: "ModuleScript",
36
+ scriptName: normalizeName(base.replace(/\.module$/, "")),
37
+ };
38
+ }
39
+ return {
40
+ className: "ModuleScript",
41
+ scriptName: normalizeName(base),
42
+ };
43
+ }
44
+ //# sourceMappingURL=scriptFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scriptFile.js","sourceRoot":"","sources":["../../src/util/scriptFile.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,iBAAiB,CAC/B,SAAiB;IAEjB,OAAO,CACL,SAAS,KAAK,QAAQ;QACtB,SAAS,KAAK,aAAa;QAC3B,SAAS,KAAK,cAAc,CAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,OAAO,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,UAAkB;IAChE,OAAO,UAAU,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,UAAqC,EAAE;IAEvC,MAAM,UAAU,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CACrC,OAAO,CAAC,yBAAyB;QAC/B,CAAC,CAAC,+BAA+B,CAAC,IAAI,CAAC;QACvC,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACzD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC;KAChC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azul-sync",
3
- "version": "1.3.3",
3
+ "version": "1.3.5",
4
4
  "description": "Azul is an easy but powerful Studio-first, two-way synchronization tool for Roblox development. Edit your Roblox projects using your favorite IDE, while keeping everything in sync with Roblox Studio in real-time.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -1,56 +0,0 @@
1
- /**
2
- * HTTP endpoints for plugin polling compatibility
3
- */
4
- import { IncomingMessage, ServerResponse } from "http";
5
- /**
6
- * Manages HTTP polling for Roblox Studio plugin compatibility
7
- */
8
- export declare class HttpPollingServer {
9
- private clients;
10
- private messageHandler;
11
- /**
12
- * Handle HTTP request
13
- */
14
- handleRequest(req: IncomingMessage, res: ServerResponse): boolean;
15
- /**
16
- * Handle connect request
17
- */
18
- private handleConnect;
19
- /**
20
- * Handle send request
21
- */
22
- private handleSend;
23
- /**
24
- * Handle poll request
25
- */
26
- private handlePoll;
27
- /**
28
- * Handle disconnect request
29
- */
30
- private handleDisconnect;
31
- /**
32
- * Send message to a specific client
33
- */
34
- sendToClient(clientId: string, message: any): boolean;
35
- /**
36
- * Broadcast message to all clients
37
- */
38
- broadcast(message: any): void;
39
- /**
40
- * Set message handler
41
- */
42
- onMessage(handler: (message: any, clientId: string) => void): void;
43
- /**
44
- * Clean up stale clients
45
- */
46
- cleanupStaleClients(timeoutMs?: number): void;
47
- /**
48
- * Generate unique client ID
49
- */
50
- private generateClientId;
51
- /**
52
- * Get active client count
53
- */
54
- getClientCount(): number;
55
- }
56
- //# sourceMappingURL=httpPolling.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"httpPolling.d.ts","sourceRoot":"","sources":["../../src/ipc/httpPolling.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AASvD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,cAAc,CACf;IAEP;;OAEG;IACI,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO;IA4BxE;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,UAAU;IA2BlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAuBlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO;IAU5D;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAMpC;;OAEG;IACI,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIzE;;OAEG;IACI,mBAAmB,CAAC,SAAS,GAAE,MAAc,GAAG,IAAI;IAU3D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACI,cAAc,IAAI,MAAM;CAGhC"}
@@ -1,171 +0,0 @@
1
- /**
2
- * HTTP endpoints for plugin polling compatibility
3
- */
4
- import { log } from "../util/log.js";
5
- /**
6
- * Manages HTTP polling for Roblox Studio plugin compatibility
7
- */
8
- export class HttpPollingServer {
9
- clients = new Map();
10
- messageHandler = null;
11
- /**
12
- * Handle HTTP request
13
- */
14
- handleRequest(req, res) {
15
- const url = new URL(req.url || "", `http://${req.headers.host}`);
16
- // Enable CORS
17
- res.setHeader("Access-Control-Allow-Origin", "*");
18
- res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
19
- res.setHeader("Access-Control-Allow-Headers", "Content-Type");
20
- if (req.method === "OPTIONS") {
21
- res.writeHead(200);
22
- res.end();
23
- return true;
24
- }
25
- switch (url.pathname) {
26
- case "/connect":
27
- return this.handleConnect(req, res);
28
- case "/send":
29
- return this.handleSend(req, res);
30
- case "/poll":
31
- return this.handlePoll(req, res, url);
32
- case "/disconnect":
33
- return this.handleDisconnect(req, res);
34
- default:
35
- return false;
36
- }
37
- }
38
- /**
39
- * Handle connect request
40
- */
41
- handleConnect(_req, res) {
42
- const clientId = this.generateClientId();
43
- this.clients.set(clientId, {
44
- id: clientId,
45
- messageQueue: [],
46
- lastPoll: Date.now(),
47
- });
48
- log.info(`HTTP client connected: ${clientId}`);
49
- res.writeHead(200, { "Content-Type": "application/json" });
50
- res.end(JSON.stringify({ clientId }));
51
- return true;
52
- }
53
- /**
54
- * Handle send request
55
- */
56
- handleSend(req, res) {
57
- let body = "";
58
- req.on("data", (chunk) => {
59
- body += chunk.toString();
60
- });
61
- req.on("end", () => {
62
- try {
63
- const data = JSON.parse(body);
64
- const { clientId, message } = data;
65
- if (this.messageHandler) {
66
- this.messageHandler(message, clientId);
67
- }
68
- res.writeHead(200, { "Content-Type": "application/json" });
69
- res.end(JSON.stringify({ success: true }));
70
- }
71
- catch (error) {
72
- res.writeHead(400, { "Content-Type": "application/json" });
73
- res.end(JSON.stringify({ error: "Invalid JSON" }));
74
- }
75
- });
76
- return true;
77
- }
78
- /**
79
- * Handle poll request
80
- */
81
- handlePoll(_req, res, url) {
82
- const clientId = url.searchParams.get("clientId");
83
- if (!clientId || !this.clients.has(clientId)) {
84
- res.writeHead(404, { "Content-Type": "application/json" });
85
- res.end(JSON.stringify({ error: "Client not found" }));
86
- return true;
87
- }
88
- const client = this.clients.get(clientId);
89
- client.lastPoll = Date.now();
90
- const messages = client.messageQueue.splice(0); // Take all messages
91
- res.writeHead(200, { "Content-Type": "application/json" });
92
- res.end(JSON.stringify(messages));
93
- return true;
94
- }
95
- /**
96
- * Handle disconnect request
97
- */
98
- handleDisconnect(req, res) {
99
- let body = "";
100
- req.on("data", (chunk) => {
101
- body += chunk.toString();
102
- });
103
- req.on("end", () => {
104
- try {
105
- const data = JSON.parse(body);
106
- const { clientId } = data;
107
- if (clientId && this.clients.has(clientId)) {
108
- this.clients.delete(clientId);
109
- log.info(`HTTP client disconnected: ${clientId}`);
110
- }
111
- res.writeHead(200, { "Content-Type": "application/json" });
112
- res.end(JSON.stringify({ success: true }));
113
- }
114
- catch (error) {
115
- res.writeHead(400, { "Content-Type": "application/json" });
116
- res.end(JSON.stringify({ error: "Invalid JSON" }));
117
- }
118
- });
119
- return true;
120
- }
121
- /**
122
- * Send message to a specific client
123
- */
124
- sendToClient(clientId, message) {
125
- const client = this.clients.get(clientId);
126
- if (!client) {
127
- return false;
128
- }
129
- client.messageQueue.push(message);
130
- return true;
131
- }
132
- /**
133
- * Broadcast message to all clients
134
- */
135
- broadcast(message) {
136
- for (const client of this.clients.values()) {
137
- client.messageQueue.push(message);
138
- }
139
- }
140
- /**
141
- * Set message handler
142
- */
143
- onMessage(handler) {
144
- this.messageHandler = handler;
145
- }
146
- /**
147
- * Clean up stale clients
148
- */
149
- cleanupStaleClients(timeoutMs = 60000) {
150
- const now = Date.now();
151
- for (const [id, client] of this.clients.entries()) {
152
- if (now - client.lastPoll > timeoutMs) {
153
- this.clients.delete(id);
154
- log.info(`Removed stale HTTP client: ${id}`);
155
- }
156
- }
157
- }
158
- /**
159
- * Generate unique client ID
160
- */
161
- generateClientId() {
162
- return `client_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
163
- }
164
- /**
165
- * Get active client count
166
- */
167
- getClientCount() {
168
- return this.clients.size;
169
- }
170
- }
171
- //# sourceMappingURL=httpPolling.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"httpPolling.js","sourceRoot":"","sources":["../../src/ipc/httpPolling.ts"],"names":[],"mappings":"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"}