covenant-bridge 0.1.5 → 0.2.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.
- package/dist/backend.js +4503 -12
- package/dist/backend.js.map +1 -1
- package/manifest.json +4 -3
- package/package.json +14 -13
- package/dist/backend.d.ts +0 -8
- package/dist/backend.d.ts.map +0 -1
- package/dist/services/gcode.d.ts +0 -11
- package/dist/services/gcode.d.ts.map +0 -1
- package/dist/services/gcode.js +0 -55
- package/dist/services/gcode.js.map +0 -1
- package/dist/services/hal.d.ts +0 -12
- package/dist/services/hal.d.ts.map +0 -1
- package/dist/services/hal.js +0 -342
- package/dist/services/hal.js.map +0 -1
- package/dist/services/linuxcnc.d.ts +0 -11
- package/dist/services/linuxcnc.d.ts.map +0 -1
- package/dist/services/linuxcnc.js +0 -246
- package/dist/services/linuxcnc.js.map +0 -1
- package/dist/services/position-logger.d.ts +0 -11
- package/dist/services/position-logger.d.ts.map +0 -1
- package/dist/services/position-logger.js +0 -148
- package/dist/services/position-logger.js.map +0 -1
package/manifest.json
CHANGED
|
@@ -26,8 +26,9 @@
|
|
|
26
26
|
}
|
|
27
27
|
],
|
|
28
28
|
"include": [
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
"build/Release"
|
|
30
|
+
],
|
|
31
|
+
"permissions": [
|
|
32
|
+
"appbus/expose"
|
|
32
33
|
]
|
|
33
34
|
}
|
package/package.json
CHANGED
|
@@ -1,41 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "covenant-bridge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "LinuxCNC to Eden bridge worker",
|
|
5
5
|
"main": "dist/backend.js",
|
|
6
|
-
"type": "
|
|
6
|
+
"type": "commonjs",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist",
|
|
9
9
|
"manifest.json"
|
|
10
10
|
],
|
|
11
|
-
"scripts": {
|
|
12
|
-
"build": "tsc && genesis build . -o bridge.edenite",
|
|
13
|
-
"clean": "rm -rf dist",
|
|
14
|
-
"rebuild": "npm run clean && npm run build",
|
|
15
|
-
"prepublishOnly": "npm run rebuild"
|
|
16
|
-
},
|
|
17
11
|
"keywords": [
|
|
18
12
|
"linuxcnc",
|
|
19
13
|
"eden",
|
|
20
14
|
"cnc",
|
|
21
15
|
"bridge"
|
|
22
16
|
],
|
|
23
|
-
"license": "
|
|
17
|
+
"license": "GPL-2.0-only",
|
|
24
18
|
"dependencies": {
|
|
25
|
-
"
|
|
26
|
-
"@edenapp/types": "^0.2.1",
|
|
19
|
+
"@edenapp/types": "^0.4.1",
|
|
27
20
|
"@linuxcnc-node/core": "^2.1.3",
|
|
28
21
|
"@linuxcnc-node/gcode": "^2.1.2",
|
|
29
22
|
"@linuxcnc-node/hal": "^2.1.2",
|
|
30
23
|
"@linuxcnc-node/types": "^2.1.1",
|
|
24
|
+
"covenant-protocol": "^0.1.0",
|
|
31
25
|
"dlv": "^1.1.3",
|
|
32
26
|
"picomatch": "^4.0.3"
|
|
33
|
-
},
|
|
27
|
+
},
|
|
34
28
|
"devDependencies": {
|
|
35
29
|
"@edenapp/genesis": "^0.4.0",
|
|
36
30
|
"@types/dlv": "^1.1.5",
|
|
37
31
|
"@types/node": "^20.0.0",
|
|
38
32
|
"@types/picomatch": "^4.0.2",
|
|
33
|
+
"tsup": "^8.5.1",
|
|
39
34
|
"typescript": "^5.0.0"
|
|
35
|
+
},
|
|
36
|
+
"scripts": {
|
|
37
|
+
"copy-addons": "mkdir -p build/Release && cp node_modules/@linuxcnc-node/*/build/Release/*.node build/Release/",
|
|
38
|
+
"build": "rm -rf *.edenite && npm run copy-addons && tsup && genesis build . -o bridge.edenite",
|
|
39
|
+
"clean": "rm -rf dist build",
|
|
40
|
+
"rebuild": "npm run clean && npm run build"
|
|
40
41
|
}
|
|
41
|
-
}
|
|
42
|
+
}
|
package/dist/backend.d.ts
DELETED
package/dist/backend.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/dist/services/gcode.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* G-Code Service
|
|
3
|
-
*
|
|
4
|
-
* Exposes G-code parsing via AppBus using LinuxCNC's rs274ngc interpreter.
|
|
5
|
-
* Implements GCodeProtocol from covenant-protocol.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Initialize the G-code service
|
|
9
|
-
*/
|
|
10
|
-
export declare function initGCodeService(): void;
|
|
11
|
-
//# sourceMappingURL=gcode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gcode.d.ts","sourceRoot":"","sources":["../../src/services/gcode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAqDvC"}
|
package/dist/services/gcode.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* G-Code Service
|
|
3
|
-
*
|
|
4
|
-
* Exposes G-code parsing via AppBus using LinuxCNC's rs274ngc interpreter.
|
|
5
|
-
* Implements GCodeProtocol from covenant-protocol.
|
|
6
|
-
*/
|
|
7
|
-
import { parseGCode } from "@linuxcnc-node/gcode";
|
|
8
|
-
const SERVICE_NAME = "gcode";
|
|
9
|
-
/**
|
|
10
|
-
* Initialize the G-code service
|
|
11
|
-
*/
|
|
12
|
-
export function initGCodeService() {
|
|
13
|
-
worker.appBus.exposeService(SERVICE_NAME, (connection, { appId: clientAppId }) => {
|
|
14
|
-
console.log(`[GCode] Client connected: ${clientAppId}`);
|
|
15
|
-
const typedConn = connection;
|
|
16
|
-
// Handle disconnect
|
|
17
|
-
connection.onClose(() => {
|
|
18
|
-
console.log(`[GCode] Client disconnected: ${clientAppId}`);
|
|
19
|
-
});
|
|
20
|
-
// Parse handler
|
|
21
|
-
typedConn.handle("parse", async ({ filepath, iniPath, progressUpdates }) => {
|
|
22
|
-
try {
|
|
23
|
-
const result = await parseGCode(filepath, {
|
|
24
|
-
iniPath,
|
|
25
|
-
progressUpdates: progressUpdates ?? 40,
|
|
26
|
-
onProgress: (progress) => {
|
|
27
|
-
// Stream progress updates to the client
|
|
28
|
-
try {
|
|
29
|
-
typedConn.send("parse-progress", progress);
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
// Client may have disconnected
|
|
33
|
-
console.error("[GCode] Error sending progress:", err);
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
});
|
|
37
|
-
return result;
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
// Send error message
|
|
41
|
-
typedConn.send("error", {
|
|
42
|
-
code: "PARSE_ERROR",
|
|
43
|
-
message: err instanceof Error ? err.message : String(err),
|
|
44
|
-
});
|
|
45
|
-
throw err;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
// Ping handler
|
|
49
|
-
typedConn.handle("ping", () => {
|
|
50
|
-
return { timestamp: Date.now() };
|
|
51
|
-
});
|
|
52
|
-
}, { description: "G-code file parsing using LinuxCNC interpreter" });
|
|
53
|
-
console.log(`[GCode] Service exposed as '${SERVICE_NAME}'`);
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=gcode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gcode.js","sourceRoot":"","sources":["../../src/services/gcode.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIlD,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAO,CAAC,MAAM,CAAC,aAAa,CAC1B,YAAY,EACZ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,UAA2C,CAAC;QAE9D,oBAAoB;QACpB,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,EAAE,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,gBAAgB;QAChB,SAAS,CAAC,MAAM,CACd,OAAO,EACP,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE;YAC/C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,EAAE;oBACxC,OAAO;oBACP,eAAe,EAAE,eAAe,IAAI,EAAE;oBACtC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;wBACvB,wCAAwC;wBACxC,IAAI,CAAC;4BACH,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,+BAA+B;4BAC/B,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;wBACxD,CAAC;oBACH,CAAC;iBACF,CAAC,CAAC;gBAEH,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qBAAqB;gBACrB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;oBACtB,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBAC1D,CAAC,CAAC;gBACH,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC,CACF,CAAC;QAEF,eAAe;QACf,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;YAC5B,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAClE,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,+BAA+B,YAAY,GAAG,CAAC,CAAC;AAC9D,CAAC"}
|
package/dist/services/hal.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HAL Service
|
|
3
|
-
*
|
|
4
|
-
* Exposes HAL component management and I/O access via AppBus.
|
|
5
|
-
* Each connection gets its own HalComponent lifecycle.
|
|
6
|
-
* Implements HalProtocol from covenant-protocol.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Initialize the HAL service
|
|
10
|
-
*/
|
|
11
|
-
export declare function initHalService(): void;
|
|
12
|
-
//# sourceMappingURL=hal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hal.d.ts","sourceRoot":"","sources":["../../src/services/hal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgCH;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAoXrC"}
|
package/dist/services/hal.js
DELETED
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* HAL Service
|
|
3
|
-
*
|
|
4
|
-
* Exposes HAL component management and I/O access via AppBus.
|
|
5
|
-
* Each connection gets its own HalComponent lifecycle.
|
|
6
|
-
* Implements HalProtocol from covenant-protocol.
|
|
7
|
-
*/
|
|
8
|
-
import { HalComponent, getMsgLevel, setMsgLevel, getValue, getInfoPins, getInfoSignals, getInfoParams, newSignal, pinHasWriter, setSignalValue, } from "@linuxcnc-node/hal";
|
|
9
|
-
import picomatch from "picomatch";
|
|
10
|
-
const SERVICE_NAME = "hal";
|
|
11
|
-
/**
|
|
12
|
-
* Initialize the HAL service
|
|
13
|
-
*/
|
|
14
|
-
export function initHalService() {
|
|
15
|
-
worker.appBus.exposeService(SERVICE_NAME, (connection, { appId: clientAppId }) => {
|
|
16
|
-
console.log(`[HAL] Client connected: ${clientAppId}`);
|
|
17
|
-
const typedConn = connection;
|
|
18
|
-
// Per-connection state
|
|
19
|
-
const state = {
|
|
20
|
-
component: null,
|
|
21
|
-
pins: new Map(),
|
|
22
|
-
params: new Map(),
|
|
23
|
-
lastValues: new Map(),
|
|
24
|
-
cursor: 0,
|
|
25
|
-
pollInterval: null,
|
|
26
|
-
};
|
|
27
|
-
// Clean up on disconnect
|
|
28
|
-
connection.onClose(() => {
|
|
29
|
-
console.log(`[HAL] Client disconnected: ${clientAppId}`);
|
|
30
|
-
if (state.pollInterval) {
|
|
31
|
-
clearInterval(state.pollInterval);
|
|
32
|
-
}
|
|
33
|
-
if (state.component) {
|
|
34
|
-
state.component.dispose();
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
// Start polling for value changes
|
|
38
|
-
function startPolling() {
|
|
39
|
-
if (state.pollInterval)
|
|
40
|
-
return;
|
|
41
|
-
state.pollInterval = setInterval(() => {
|
|
42
|
-
if (!state.component)
|
|
43
|
-
return;
|
|
44
|
-
const changes = [];
|
|
45
|
-
// Check all pins and params for changes
|
|
46
|
-
for (const [name, pin] of state.pins) {
|
|
47
|
-
const value = pin.getValue();
|
|
48
|
-
const lastValue = state.lastValues.get(name);
|
|
49
|
-
if (value !== lastValue) {
|
|
50
|
-
changes.push({ name, value });
|
|
51
|
-
state.lastValues.set(name, value);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
for (const [name, param] of state.params) {
|
|
55
|
-
const value = param.getValue();
|
|
56
|
-
const lastValue = state.lastValues.get(name);
|
|
57
|
-
if (value !== lastValue) {
|
|
58
|
-
changes.push({ name, value });
|
|
59
|
-
state.lastValues.set(name, value);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (changes.length > 0) {
|
|
63
|
-
state.cursor++;
|
|
64
|
-
const delta = {
|
|
65
|
-
changes,
|
|
66
|
-
cursor: state.cursor,
|
|
67
|
-
timestamp: Date.now(),
|
|
68
|
-
};
|
|
69
|
-
try {
|
|
70
|
-
typedConn.send("items-delta", delta);
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
console.error("[HAL] Error sending delta:", err);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}, 10); // 10ms polling interval
|
|
77
|
-
}
|
|
78
|
-
// === COMPONENT HANDLERS ===
|
|
79
|
-
typedConn.handle("component/init", ({ name, prefix }) => {
|
|
80
|
-
if (state.component) {
|
|
81
|
-
return {
|
|
82
|
-
success: false,
|
|
83
|
-
componentName: "",
|
|
84
|
-
error: "Component already initialized for this connection",
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
try {
|
|
88
|
-
state.component = new HalComponent(name, prefix);
|
|
89
|
-
return {
|
|
90
|
-
success: true,
|
|
91
|
-
componentName: state.component.name,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
catch (err) {
|
|
95
|
-
return {
|
|
96
|
-
success: false,
|
|
97
|
-
componentName: "",
|
|
98
|
-
error: err instanceof Error ? err.message : String(err),
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
typedConn.handle("component/ready", () => {
|
|
103
|
-
if (!state.component) {
|
|
104
|
-
return { success: false, error: "Component not initialized" };
|
|
105
|
-
}
|
|
106
|
-
try {
|
|
107
|
-
state.component.ready();
|
|
108
|
-
startPolling();
|
|
109
|
-
typedConn.send("hal-ready", {
|
|
110
|
-
componentName: state.component.name,
|
|
111
|
-
prefix: state.component.prefix,
|
|
112
|
-
});
|
|
113
|
-
return { success: true };
|
|
114
|
-
}
|
|
115
|
-
catch (err) {
|
|
116
|
-
return {
|
|
117
|
-
success: false,
|
|
118
|
-
error: err instanceof Error ? err.message : String(err),
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
typedConn.handle("component/unready", () => {
|
|
123
|
-
if (!state.component) {
|
|
124
|
-
return { success: false, error: "Component not initialized" };
|
|
125
|
-
}
|
|
126
|
-
try {
|
|
127
|
-
state.component.unready();
|
|
128
|
-
return { success: true };
|
|
129
|
-
}
|
|
130
|
-
catch (err) {
|
|
131
|
-
return {
|
|
132
|
-
success: false,
|
|
133
|
-
error: err instanceof Error ? err.message : String(err),
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
// === PIN/PARAM HANDLERS ===
|
|
138
|
-
typedConn.handle("pin/create", ({ name, type, direction }) => {
|
|
139
|
-
if (!state.component) {
|
|
140
|
-
return {
|
|
141
|
-
success: false,
|
|
142
|
-
fullName: "",
|
|
143
|
-
error: "Component not initialized",
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
try {
|
|
147
|
-
const pin = state.component.newPin(name, type, direction);
|
|
148
|
-
state.pins.set(name, pin);
|
|
149
|
-
state.lastValues.set(name, pin.getValue());
|
|
150
|
-
return {
|
|
151
|
-
success: true,
|
|
152
|
-
fullName: `${state.component.prefix}.${pin.name}`,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
catch (err) {
|
|
156
|
-
return {
|
|
157
|
-
success: false,
|
|
158
|
-
fullName: "",
|
|
159
|
-
error: err instanceof Error ? err.message : String(err),
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
typedConn.handle("param/create", ({ name, type, direction }) => {
|
|
164
|
-
if (!state.component) {
|
|
165
|
-
return {
|
|
166
|
-
success: false,
|
|
167
|
-
fullName: "",
|
|
168
|
-
error: "Component not initialized",
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
try {
|
|
172
|
-
const param = state.component.newParam(name, type, direction);
|
|
173
|
-
state.params.set(name, param);
|
|
174
|
-
state.lastValues.set(name, param.getValue());
|
|
175
|
-
return {
|
|
176
|
-
success: true,
|
|
177
|
-
fullName: `${state.component.prefix}.${param.name}`,
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
catch (err) {
|
|
181
|
-
return {
|
|
182
|
-
success: false,
|
|
183
|
-
fullName: "",
|
|
184
|
-
error: err instanceof Error ? err.message : String(err),
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
typedConn.handle("item/get-value", ({ name }) => {
|
|
189
|
-
if (!state.component) {
|
|
190
|
-
throw new Error("Component not initialized");
|
|
191
|
-
}
|
|
192
|
-
const value = state.component.getValue(name);
|
|
193
|
-
return { value };
|
|
194
|
-
});
|
|
195
|
-
typedConn.handle("item/set-value", ({ name, value }) => {
|
|
196
|
-
if (!state.component) {
|
|
197
|
-
return { success: false, error: "Component not initialized" };
|
|
198
|
-
}
|
|
199
|
-
try {
|
|
200
|
-
state.component.setValue(name, value);
|
|
201
|
-
state.lastValues.set(name, value);
|
|
202
|
-
return { success: true };
|
|
203
|
-
}
|
|
204
|
-
catch (err) {
|
|
205
|
-
return {
|
|
206
|
-
success: false,
|
|
207
|
-
error: err instanceof Error ? err.message : String(err),
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
typedConn.handle("items/sync", () => {
|
|
212
|
-
if (!state.component) {
|
|
213
|
-
throw new Error("Component not initialized");
|
|
214
|
-
}
|
|
215
|
-
// Build current items snapshot
|
|
216
|
-
const items = {};
|
|
217
|
-
for (const [name, pin] of state.pins) {
|
|
218
|
-
items[name] = pin.getValue();
|
|
219
|
-
}
|
|
220
|
-
for (const [name, param] of state.params) {
|
|
221
|
-
items[name] = param.getValue();
|
|
222
|
-
}
|
|
223
|
-
return {
|
|
224
|
-
items,
|
|
225
|
-
cursor: state.cursor,
|
|
226
|
-
};
|
|
227
|
-
});
|
|
228
|
-
// === GLOBAL HANDLERS ===
|
|
229
|
-
typedConn.handle("global/component-exists", ({ componentName }) => {
|
|
230
|
-
return { exists: HalComponent.exists(componentName) };
|
|
231
|
-
});
|
|
232
|
-
typedConn.handle("global/component-is-ready", ({ componentName }) => {
|
|
233
|
-
return { ready: HalComponent.isReady(componentName) };
|
|
234
|
-
});
|
|
235
|
-
typedConn.handle("global/signal-create", ({ name, type }) => {
|
|
236
|
-
try {
|
|
237
|
-
newSignal(name, type);
|
|
238
|
-
return { success: true };
|
|
239
|
-
}
|
|
240
|
-
catch (err) {
|
|
241
|
-
return {
|
|
242
|
-
success: false,
|
|
243
|
-
error: err instanceof Error ? err.message : String(err),
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
typedConn.handle("global/signal-get-value", ({ signalName }) => {
|
|
248
|
-
const value = getValue(signalName);
|
|
249
|
-
return { value };
|
|
250
|
-
});
|
|
251
|
-
typedConn.handle("global/signal-set-value", ({ signalName, value }) => {
|
|
252
|
-
try {
|
|
253
|
-
setSignalValue(signalName, value);
|
|
254
|
-
return { success: true };
|
|
255
|
-
}
|
|
256
|
-
catch (err) {
|
|
257
|
-
return {
|
|
258
|
-
success: false,
|
|
259
|
-
error: err instanceof Error ? err.message : String(err),
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
typedConn.handle("global/signal-connect", ({ pinName, signalName }) => {
|
|
264
|
-
// This would need net/connect functionality from hal
|
|
265
|
-
// For now, return not implemented
|
|
266
|
-
return { success: false, error: "Not implemented - use halcmd net" };
|
|
267
|
-
});
|
|
268
|
-
typedConn.handle("global/signal-disconnect", ({ pinName }) => {
|
|
269
|
-
// This would need disconnect functionality from hal
|
|
270
|
-
return {
|
|
271
|
-
success: false,
|
|
272
|
-
error: "Not implemented - use halcmd unlinkp",
|
|
273
|
-
};
|
|
274
|
-
});
|
|
275
|
-
typedConn.handle("global/pin-has-writer", ({ pinName }) => {
|
|
276
|
-
return { hasWriter: pinHasWriter(pinName) };
|
|
277
|
-
});
|
|
278
|
-
typedConn.handle("global/get-value", ({ name }) => {
|
|
279
|
-
const value = getValue(name);
|
|
280
|
-
// Determine type based on whether it's a pin, param, or signal
|
|
281
|
-
// For simplicity, return "pin" - could be enhanced with proper detection
|
|
282
|
-
return { value, type: "pin" };
|
|
283
|
-
});
|
|
284
|
-
typedConn.handle("global/list-pins", ({ filter }) => {
|
|
285
|
-
let pins = getInfoPins();
|
|
286
|
-
if (filter) {
|
|
287
|
-
const isMatch = picomatch(filter);
|
|
288
|
-
pins = pins.filter((p) => isMatch(p.name));
|
|
289
|
-
}
|
|
290
|
-
return { pins };
|
|
291
|
-
});
|
|
292
|
-
typedConn.handle("global/list-params", ({ filter }) => {
|
|
293
|
-
let params = getInfoParams();
|
|
294
|
-
if (filter) {
|
|
295
|
-
const isMatch = picomatch(filter);
|
|
296
|
-
params = params.filter((p) => isMatch(p.name));
|
|
297
|
-
}
|
|
298
|
-
return { params };
|
|
299
|
-
});
|
|
300
|
-
typedConn.handle("global/list-signals", ({ filter }) => {
|
|
301
|
-
let signals = getInfoSignals();
|
|
302
|
-
if (filter) {
|
|
303
|
-
const isMatch = picomatch(filter);
|
|
304
|
-
signals = signals.filter((s) => isMatch(s.name));
|
|
305
|
-
}
|
|
306
|
-
return { signals };
|
|
307
|
-
});
|
|
308
|
-
typedConn.handle("global/list-all", () => {
|
|
309
|
-
return {
|
|
310
|
-
pins: getInfoPins(),
|
|
311
|
-
params: getInfoParams(),
|
|
312
|
-
signals: getInfoSignals(),
|
|
313
|
-
};
|
|
314
|
-
});
|
|
315
|
-
typedConn.handle("global/msg-level-get", () => {
|
|
316
|
-
return { level: getMsgLevel() };
|
|
317
|
-
});
|
|
318
|
-
typedConn.handle("global/msg-level-set", ({ level }) => {
|
|
319
|
-
const previousLevel = getMsgLevel();
|
|
320
|
-
setMsgLevel(level);
|
|
321
|
-
return { success: true, previousLevel };
|
|
322
|
-
});
|
|
323
|
-
// === CONNECTION HANDLERS ===
|
|
324
|
-
typedConn.handle("ping", () => {
|
|
325
|
-
return { timestamp: Date.now() };
|
|
326
|
-
});
|
|
327
|
-
typedConn.handle("get-status", () => {
|
|
328
|
-
return {
|
|
329
|
-
connected: true,
|
|
330
|
-
componentName: state.component?.name ?? "",
|
|
331
|
-
componentReady: state.component
|
|
332
|
-
? HalComponent.isReady(state.component.name)
|
|
333
|
-
: false,
|
|
334
|
-
pinCount: state.pins.size,
|
|
335
|
-
paramCount: state.params.size,
|
|
336
|
-
uptime: process.uptime(),
|
|
337
|
-
};
|
|
338
|
-
});
|
|
339
|
-
}, { description: "HAL component management and I/O access" });
|
|
340
|
-
console.log(`[HAL] Service exposed as '${SERVICE_NAME}'`);
|
|
341
|
-
}
|
|
342
|
-
//# sourceMappingURL=hal.js.map
|
package/dist/services/hal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hal.js","sourceRoot":"","sources":["../../src/services/hal.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,YAAY,EAGZ,WAAW,EACX,WAAW,EACX,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACb,SAAS,EACT,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,YAAY,GAAG,KAAK,CAAC;AAW3B;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAO,CAAC,MAAM,CAAC,aAAa,CAC1B,YAAY,EACZ,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;QACrC,OAAO,CAAC,GAAG,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,UAAyC,CAAC;QAE5D,uBAAuB;QACvB,MAAM,KAAK,GAAoB;YAC7B,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,IAAI,GAAG,EAAE;YACf,MAAM,EAAE,IAAI,GAAG,EAAE;YACjB,UAAU,EAAE,IAAI,GAAG,EAAE;YACrB,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,yBAAyB;QACzB,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;YACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,SAAS,YAAY;YACnB,IAAI,KAAK,CAAC,YAAY;gBAAE,OAAO;YAE/B,KAAK,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACpC,IAAI,CAAC,KAAK,CAAC,SAAS;oBAAE,OAAO;gBAE7B,MAAM,OAAO,GAA6C,EAAE,CAAC;gBAE7D,wCAAwC;gBACxC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAC7B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC9B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACxB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC9B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,MAAM,KAAK,GAAa;wBACtB,OAAO;wBACP,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC;oBACF,IAAI,CAAC;wBACH,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBACvC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QAClC,CAAC;QAED,6BAA6B;QAE7B,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;YACtD,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE,mDAAmD;iBAC3D,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,CAAC,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACjD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;iBACpC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,EAAE;oBACjB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;YAChE,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACxB,YAAY,EAAE,CAAC;gBAEf,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE;oBAC1B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI;oBACnC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM;iBAC/B,CAAC,CAAC;gBAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACzC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;YAChE,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAE7B,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,2BAA2B;iBACnC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC1B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAE3C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,GAAG,KAAK,CAAC,SAAU,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE;iBACnD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YAC7D,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,2BAA2B;iBACnC,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC9D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAE7C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,GAAG,KAAK,CAAC,SAAU,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE;iBACrD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,EAAE;oBACZ,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC9C,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YACrD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;YAChE,CAAC;YAED,IAAI,CAAC;gBACH,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE;YAClC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YAED,+BAA+B;YAC/B,MAAM,KAAK,GAA6B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,0BAA0B;QAE1B,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAChE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,2BAA2B,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;YAClE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC1D,IAAI,CAAC;gBACH,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;YAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;YACnC,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;YACpE,IAAI,CAAC;gBACH,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACxD,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;YACpE,qDAAqD;YACrD,kCAAkC;YAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kCAAkC,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,0BAA0B,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YAC3D,oDAAoD;YACpD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sCAAsC;aAC9C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACxD,OAAO,EAAE,SAAS,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7B,+DAA+D;YAC/D,yEAAyE;YACzE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAc,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAClD,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;YACzB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACpD,IAAI,MAAM,GAAG,aAAa,EAAE,CAAC;YAC7B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACrD,IAAI,OAAO,GAAG,cAAc,EAAE,CAAC;YAC/B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,EAAE;YACvC,OAAO;gBACL,IAAI,EAAE,WAAW,EAAE;gBACnB,MAAM,EAAE,aAAa,EAAE;gBACvB,OAAO,EAAE,cAAc,EAAE;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC5C,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACrD,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;YACpC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,8BAA8B;QAE9B,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;YAC5B,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,EAAE;YAClC,OAAO;gBACL,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE;gBAC1C,cAAc,EAAE,KAAK,CAAC,SAAS;oBAC7B,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC5C,CAAC,CAAC,KAAK;gBACT,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gBACzB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;gBAC7B,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;aACzB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,EACD,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAC3D,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,6BAA6B,YAAY,GAAG,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* LinuxCNC Service
|
|
3
|
-
*
|
|
4
|
-
* Exposes LinuxCNC status monitoring and command execution via AppBus.
|
|
5
|
-
* Implements LinuxCNCProtocol from covenant-protocol.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Initialize the LinuxCNC service
|
|
9
|
-
*/
|
|
10
|
-
export declare function initLinuxCNCService(): void;
|
|
11
|
-
//# sourceMappingURL=linuxcnc.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linuxcnc.d.ts","sourceRoot":"","sources":["../../src/services/linuxcnc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsCH;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAiS1C"}
|