@ikalogic/at1000 0.5.0 → 0.5.2
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/build/{at1000-DuULyDOw.cjs → at1000-DbIvMQUc.cjs} +2 -2
- package/build/at1000-DbIvMQUc.cjs.map +1 -0
- package/build/{at1000-BaJD2vC5.mjs → at1000-Zs18VzlP.mjs} +2 -2
- package/build/at1000-Zs18VzlP.mjs.map +1 -0
- package/build/{at1000-BG_IKvW8.d.mts → at1000-gm586Tc9.d.mts} +6 -6
- package/build/{at1000-Bk6QeH1q.d.cts.map → at1000-gm586Tc9.d.mts.map} +1 -1
- package/build/{at1000-Bk6QeH1q.d.cts → at1000-tUTVczQa.d.cts} +6 -6
- package/build/{at1000-BG_IKvW8.d.mts.map → at1000-tUTVczQa.d.cts.map} +1 -1
- package/build/browser.cjs +1 -1
- package/build/browser.d.cts +1 -1
- package/build/browser.d.mts +1 -1
- package/build/browser.mjs +1 -1
- package/build/{com-B2R6yhB4.d.cts → com-DN1l6xqC.d.cts} +41 -41
- package/build/{com-B2R6yhB4.d.cts.map → com-DN1l6xqC.d.cts.map} +1 -1
- package/build/{com-B2R6yhB4.d.mts → com-DN1l6xqC.d.mts} +41 -41
- package/build/{com-B2R6yhB4.d.mts.map → com-DN1l6xqC.d.mts.map} +1 -1
- package/build/com.d.cts +1 -1
- package/build/com.d.mts +1 -1
- package/build/{events-zRq39ozC.d.cts → events-Cf7iAMZP.d.cts} +4 -3
- package/build/events-Cf7iAMZP.d.cts.map +1 -0
- package/build/{events-zRq39ozC.d.mts → events-Cf7iAMZP.d.mts} +4 -3
- package/build/events-Cf7iAMZP.d.mts.map +1 -0
- package/build/events.cjs +1 -1
- package/build/events.d.cts +1 -1
- package/build/events.d.mts +1 -1
- package/build/events.mjs +1 -1
- package/build/{gpio-xjqg-50L.d.cts → gpio-CsxbjhA_.d.cts} +9 -9
- package/build/{gpio-DThbC_mm.d.mts.map → gpio-CsxbjhA_.d.cts.map} +1 -1
- package/build/{gpio-DThbC_mm.d.mts → gpio-Dk-s_yMc.d.mts} +9 -9
- package/build/{gpio-xjqg-50L.d.cts.map → gpio-Dk-s_yMc.d.mts.map} +1 -1
- package/build/gpio.d.cts +1 -1
- package/build/gpio.d.mts +1 -1
- package/build/{hmi-6SM_R-VX.d.cts → hmi-B-potLdl.d.cts} +3 -3
- package/build/{hmi-6SM_R-VX.d.cts.map → hmi-B-potLdl.d.cts.map} +1 -1
- package/build/{hmi-6SM_R-VX.d.mts → hmi-B-potLdl.d.mts} +3 -3
- package/build/{hmi-6SM_R-VX.d.mts.map → hmi-B-potLdl.d.mts.map} +1 -1
- package/build/hmi.d.cts +1 -1
- package/build/hmi.d.mts +1 -1
- package/build/management.cjs +1 -1
- package/build/management.d.cts +14 -4
- package/build/management.d.cts.map +1 -1
- package/build/management.d.mts +14 -4
- package/build/management.d.mts.map +1 -1
- package/build/management.mjs +1 -1
- package/build/node.cjs +1 -1
- package/build/node.d.cts +1 -1
- package/build/node.d.mts +1 -1
- package/build/node.mjs +1 -1
- package/build/{package-ByQuarMd.cjs → package-0hAwYBa1.cjs} +2 -2
- package/build/package-0hAwYBa1.cjs.map +1 -0
- package/build/package-CU5MagIg.mjs +2 -0
- package/build/package-CU5MagIg.mjs.map +1 -0
- package/build/{power-CUrqOTyE.d.cts → power-B8QFbKdP.d.cts} +9 -9
- package/build/{power-CUrqOTyE.d.cts.map → power-B8QFbKdP.d.cts.map} +1 -1
- package/build/{power-SmiM6n5O.d.mts → power-BZmXOJyK.d.mts} +9 -9
- package/build/{power-SmiM6n5O.d.mts.map → power-BZmXOJyK.d.mts.map} +1 -1
- package/build/power.d.cts +1 -1
- package/build/power.d.mts +1 -1
- package/build/session.cjs +1 -1
- package/build/session.mjs +1 -1
- package/package.json +5 -1
- package/build/at1000-BaJD2vC5.mjs.map +0 -1
- package/build/at1000-DuULyDOw.cjs.map +0 -1
- package/build/events-zRq39ozC.d.cts.map +0 -1
- package/build/events-zRq39ozC.d.mts.map +0 -1
- package/build/package-ByQuarMd.cjs.map +0 -1
- package/build/package-gaVXFnhN.mjs +0 -2
- package/build/package-gaVXFnhN.mjs.map +0 -1
|
@@ -56,7 +56,7 @@ declare const partialAnalogOutputConfiguration: Omit<v.ObjectSchema<{
|
|
|
56
56
|
}>;
|
|
57
57
|
readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
58
58
|
value?: number | undefined;
|
|
59
|
-
}, v.NumberIssue | v.MinValueIssue<number, 0> | v.
|
|
59
|
+
}, v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 0> | v.MaxValueIssue<number, 24>>;
|
|
60
60
|
readonly "~types"?: {
|
|
61
61
|
readonly input: {
|
|
62
62
|
value?: number | undefined;
|
|
@@ -64,7 +64,7 @@ declare const partialAnalogOutputConfiguration: Omit<v.ObjectSchema<{
|
|
|
64
64
|
readonly output: {
|
|
65
65
|
value?: number | undefined;
|
|
66
66
|
};
|
|
67
|
-
readonly issue: v.NumberIssue | v.MinValueIssue<number, 0> | v.
|
|
67
|
+
readonly issue: v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 0> | v.MaxValueIssue<number, 24>;
|
|
68
68
|
} | undefined;
|
|
69
69
|
};
|
|
70
70
|
type PartialAnalogOutputConfiguration = v.InferOutput<typeof partialAnalogOutputConfiguration>;
|
|
@@ -141,7 +141,7 @@ declare const partialDigitalOutputConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
141
141
|
vih: number;
|
|
142
142
|
vol: number;
|
|
143
143
|
voh: number;
|
|
144
|
-
}, v.NumberIssue | v.
|
|
144
|
+
}, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 0> | v.UnionIssue<v.BooleanIssue | v.NumberIssue> | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.MaxValueIssue<number, 24>>;
|
|
145
145
|
readonly "~types"?: {
|
|
146
146
|
readonly input: {
|
|
147
147
|
value: number | boolean;
|
|
@@ -157,7 +157,7 @@ declare const partialDigitalOutputConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
157
157
|
vol: number;
|
|
158
158
|
voh: number;
|
|
159
159
|
};
|
|
160
|
-
readonly issue: v.NumberIssue | v.
|
|
160
|
+
readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 0> | v.UnionIssue<v.BooleanIssue | v.NumberIssue> | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.MaxValueIssue<number, 24>;
|
|
161
161
|
} | undefined;
|
|
162
162
|
}, "~types" | "~run" | "~standard" | "entries"> & {
|
|
163
163
|
readonly entries: {
|
|
@@ -186,7 +186,7 @@ declare const partialDigitalOutputConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
186
186
|
vih?: number | undefined;
|
|
187
187
|
vol: number;
|
|
188
188
|
voh: number;
|
|
189
|
-
}, v.NumberIssue | v.
|
|
189
|
+
}, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 0> | v.UnionIssue<v.BooleanIssue | v.NumberIssue> | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.MaxValueIssue<number, 24>>;
|
|
190
190
|
readonly "~types"?: {
|
|
191
191
|
readonly input: {
|
|
192
192
|
value: number | boolean;
|
|
@@ -202,7 +202,7 @@ declare const partialDigitalOutputConfiguration: Omit<Omit<v.ObjectSchema<{
|
|
|
202
202
|
vol: number;
|
|
203
203
|
voh: number;
|
|
204
204
|
};
|
|
205
|
-
readonly issue: v.NumberIssue | v.
|
|
205
|
+
readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.MinValueIssue<number, 0> | v.UnionIssue<v.BooleanIssue | v.NumberIssue> | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.MaxValueIssue<number, 24>;
|
|
206
206
|
} | undefined;
|
|
207
207
|
};
|
|
208
208
|
type PartialDigitalOutputConfiguration = v.InferInput<typeof partialDigitalOutputConfiguration>;
|
|
@@ -233,7 +233,7 @@ declare const partialOpenDrainConfiguration: Omit<v.ObjectSchema<{
|
|
|
233
233
|
value: boolean;
|
|
234
234
|
vil: number;
|
|
235
235
|
vih: number;
|
|
236
|
-
}, v.
|
|
236
|
+
}, v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.UnionIssue<v.BooleanIssue | v.NumberIssue> | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>>;
|
|
237
237
|
readonly "~types"?: {
|
|
238
238
|
readonly input: {
|
|
239
239
|
value: number | boolean;
|
|
@@ -245,7 +245,7 @@ declare const partialOpenDrainConfiguration: Omit<v.ObjectSchema<{
|
|
|
245
245
|
vil: number;
|
|
246
246
|
vih: number;
|
|
247
247
|
};
|
|
248
|
-
readonly issue: v.
|
|
248
|
+
readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue | v.UnionIssue<v.BooleanIssue | v.NumberIssue> | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25>;
|
|
249
249
|
} | undefined;
|
|
250
250
|
};
|
|
251
251
|
type PartialOpenDrainConfiguration = v.InferOutput<typeof partialOpenDrainConfiguration>;
|
|
@@ -403,4 +403,4 @@ declare class AnalogIO {
|
|
|
403
403
|
}
|
|
404
404
|
//#endregion
|
|
405
405
|
export { openDrainConfiguration as C, gpioConfiguration as S, analogOutputConfiguration as _, DigitalInputConfiguration as a, digitalOutputConfiguration as b, GpioConfiguration as c, PartialDigitalInputConfiguration as d, PartialDigitalOutputConfiguration as f, analogInputConfiguration as g, SyncState as h, DigitalIO as i, OpenDrainConfiguration as l, SyncConfiguration as m, AnalogInputConfiguration as n, DigitalOutputConfiguration as o, PartialOpenDrainConfiguration as p, AnalogOutputConfiguration as r, GpioApi as s, AnalogIO as t, PartialAnalogOutputConfiguration as u, analogState as v, syncState as w, digitalState as x, digitalInputConfiguration as y };
|
|
406
|
-
//# sourceMappingURL=gpio-
|
|
406
|
+
//# sourceMappingURL=gpio-Dk-s_yMc.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpio-
|
|
1
|
+
{"version":3,"file":"gpio-Dk-s_yMc.d.mts","names":[],"sources":["../src/api/gpio.ts"],"mappings":";;;;;cASa,0BAAwB,EAAA;;;;cAIxB,2BAAyB,EAAA;;;;;cAKzB,2BAAyB,EAAA;;;;;;cAMzB,4BAA0B,EAAA;;;;;;;;;cAS1B,wBAAsB,EAAA;;;;;;;KAOvB,2BAA2B,EAAE,mBAAmB;KAChD,4BAA4B,EAAE,mBAAmB;KACjD,4BAA4B,EAAE,mBAAmB;KACjD,6BAA6B,EAAE,mBAAmB;KAClD,yBAAyB,EAAE,mBAAmB;cAEpD,kCAAgC,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAC1B,mCAAmC,EAAE,mBACxC;cAEH,kCAAgC,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAC1B,mCAAmC,EAAE,mBACxC;cAEH,mCAAiC,KAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAI3B,oCAAoC,EAAE,kBACzC;cAEH,+BAA6B,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACvB,gCAAgC,EAAE,mBAAmB;cAEpD,cAAY,EAAA;;;cACZ,aAAW,EAAA;;;cAElB,mBAAiB,EAAA;mBAAjB,EAAA;;KACM,oBAAoB,EAAE,mBAAmB;cAExC,WAAS,EAAA;uBAAT,EAAA;;KACD,YAAY,EAAE,mBAAmB;cAEhC,mBAAiB,EAAA,aAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAOlB,oBAAoB,EAAE,mBAAmB;;cAGxC;mBAGkB;UAFrB;EAEqB,YAAA,OAAO,SAAS,MAAM;;;;EAOnD,SAAS;;;;;;EAST,QAAQ,aAAa;;;;;;EAiBrB,OAAO,aAAa;;;;;EAgBpB,QAAQ,QAAQ;;;;;;;;EAehB,WAAW,QAAQ;;;;;;EAanB,YAAY,aAAa,QAAQ;;;;;EAgBjC,aAAa,QAAQ;;;cAMV;mBACkB;WAAgC;EAAhC,YAAA,OAAO,SAAyB;;;;;;EAO7D,gBAAgB,QAAQ,mCAAmC,QAAQ;;;;;;EAgBnE,iBAAiB,QAAQ,oCAAoC,QAAQ;;;;;EAwB/D,QAAQ;;;;;;EASR,MAAM,0BAA0B;;;;;;EActC,qBAAqB,QAAQ,gCAAgC,QAAQ;;;cAa1D;mBACkB;WAAgC;EAAhC,YAAA,OAAO,SAAyB;;;;;;EAO7D,mBAAmB,QAAQ;;;;;;EAa3B,iBAAiB,OAAO,oBAAoB,QAAQ;;;;;EAe9C,QAAQ;;;;;;EASR,MAAM,gBAAgB"}
|
package/build/gpio.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as AnalogOutputLevel } from "./common-Cv6nZZS9.cjs";
|
|
2
|
-
import { C as openDrainConfiguration, S as gpioConfiguration, _ as analogOutputConfiguration, a as DigitalInputConfiguration, b as digitalOutputConfiguration, c as GpioConfiguration, d as PartialDigitalInputConfiguration, f as PartialDigitalOutputConfiguration, g as analogInputConfiguration, h as SyncState, i as DigitalIO, l as OpenDrainConfiguration, m as SyncConfiguration, n as AnalogInputConfiguration, o as DigitalOutputConfiguration, p as PartialOpenDrainConfiguration, r as AnalogOutputConfiguration, s as GpioApi, t as AnalogIO, u as PartialAnalogOutputConfiguration, v as analogState, w as syncState, x as digitalState, y as digitalInputConfiguration } from "./gpio-
|
|
2
|
+
import { C as openDrainConfiguration, S as gpioConfiguration, _ as analogOutputConfiguration, a as DigitalInputConfiguration, b as digitalOutputConfiguration, c as GpioConfiguration, d as PartialDigitalInputConfiguration, f as PartialDigitalOutputConfiguration, g as analogInputConfiguration, h as SyncState, i as DigitalIO, l as OpenDrainConfiguration, m as SyncConfiguration, n as AnalogInputConfiguration, o as DigitalOutputConfiguration, p as PartialOpenDrainConfiguration, r as AnalogOutputConfiguration, s as GpioApi, t as AnalogIO, u as PartialAnalogOutputConfiguration, v as analogState, w as syncState, x as digitalState, y as digitalInputConfiguration } from "./gpio-CsxbjhA_.cjs";
|
|
3
3
|
export { AnalogIO, AnalogInputConfiguration, AnalogOutputConfiguration, type AnalogOutputLevel, DigitalIO, DigitalInputConfiguration, DigitalOutputConfiguration, GpioApi, GpioConfiguration, OpenDrainConfiguration, PartialAnalogOutputConfiguration, PartialDigitalInputConfiguration, PartialDigitalOutputConfiguration, PartialOpenDrainConfiguration, SyncConfiguration, SyncState, analogInputConfiguration, analogOutputConfiguration, analogState, digitalInputConfiguration, digitalOutputConfiguration, digitalState, gpioConfiguration, openDrainConfiguration, syncState };
|
package/build/gpio.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { t as AnalogOutputLevel } from "./common-Cv6nZZS9.mjs";
|
|
2
|
-
import { C as openDrainConfiguration, S as gpioConfiguration, _ as analogOutputConfiguration, a as DigitalInputConfiguration, b as digitalOutputConfiguration, c as GpioConfiguration, d as PartialDigitalInputConfiguration, f as PartialDigitalOutputConfiguration, g as analogInputConfiguration, h as SyncState, i as DigitalIO, l as OpenDrainConfiguration, m as SyncConfiguration, n as AnalogInputConfiguration, o as DigitalOutputConfiguration, p as PartialOpenDrainConfiguration, r as AnalogOutputConfiguration, s as GpioApi, t as AnalogIO, u as PartialAnalogOutputConfiguration, v as analogState, w as syncState, x as digitalState, y as digitalInputConfiguration } from "./gpio-
|
|
2
|
+
import { C as openDrainConfiguration, S as gpioConfiguration, _ as analogOutputConfiguration, a as DigitalInputConfiguration, b as digitalOutputConfiguration, c as GpioConfiguration, d as PartialDigitalInputConfiguration, f as PartialDigitalOutputConfiguration, g as analogInputConfiguration, h as SyncState, i as DigitalIO, l as OpenDrainConfiguration, m as SyncConfiguration, n as AnalogInputConfiguration, o as DigitalOutputConfiguration, p as PartialOpenDrainConfiguration, r as AnalogOutputConfiguration, s as GpioApi, t as AnalogIO, u as PartialAnalogOutputConfiguration, v as analogState, w as syncState, x as digitalState, y as digitalInputConfiguration } from "./gpio-Dk-s_yMc.mjs";
|
|
3
3
|
export { AnalogIO, AnalogInputConfiguration, AnalogOutputConfiguration, type AnalogOutputLevel, DigitalIO, DigitalInputConfiguration, DigitalOutputConfiguration, GpioApi, GpioConfiguration, OpenDrainConfiguration, PartialAnalogOutputConfiguration, PartialDigitalInputConfiguration, PartialDigitalOutputConfiguration, PartialOpenDrainConfiguration, SyncConfiguration, SyncState, analogInputConfiguration, analogOutputConfiguration, analogState, digitalInputConfiguration, digitalOutputConfiguration, digitalState, gpioConfiguration, openDrainConfiguration, syncState };
|
|
@@ -48,7 +48,7 @@ declare const knobEvent: Omit<v.ObjectSchema<{
|
|
|
48
48
|
readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
49
49
|
button_pressed: boolean;
|
|
50
50
|
rotation_delta: number;
|
|
51
|
-
}, v.
|
|
51
|
+
}, v.BooleanIssue | v.NumberIssue | v.ObjectIssue>;
|
|
52
52
|
readonly "~types"?: {
|
|
53
53
|
readonly input: {
|
|
54
54
|
button_pressed: boolean;
|
|
@@ -58,7 +58,7 @@ declare const knobEvent: Omit<v.ObjectSchema<{
|
|
|
58
58
|
button_pressed: boolean;
|
|
59
59
|
rotation_delta: number;
|
|
60
60
|
};
|
|
61
|
-
readonly issue: v.
|
|
61
|
+
readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue;
|
|
62
62
|
} | undefined;
|
|
63
63
|
};
|
|
64
64
|
type KnobEvent = v.InferOutput<typeof knobEvent>;
|
|
@@ -148,4 +148,4 @@ declare class Knob {
|
|
|
148
148
|
}
|
|
149
149
|
//#endregion
|
|
150
150
|
export { KnobEvent as a, ProgressValue as c, color as d, internalKnobEvent as f, text as h, Knob as i, Screen as l, progress as m, Color as n, PlaybackConfiguration as o, playbackConfiguration as p, HmiApi as r, Progress as s, Audio as t, ScreenText as u };
|
|
151
|
-
//# sourceMappingURL=hmi-
|
|
151
|
+
//# sourceMappingURL=hmi-B-potLdl.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmi-
|
|
1
|
+
{"version":3,"file":"hmi-B-potLdl.d.cts","names":[],"sources":["../src/api/hmi.ts"],"mappings":";;;cAGM,YAAU,EAAA,yBAAA,EAAA,yBAAA,EAAA;KACJ,aAAa,EAAE,mBAAmB;cAEjC,MAAI,EAAA;;;cAIJ,OAAK,EAAA;;;;;KAKN,QAAQ,EAAE,mBAAmB;cAEnC,eAAa,EAAA,yBAAA,EAAA,yBAAA,EAAA,sCAAA,EAAA;KACP,gBAAgB,EAAE,mBAAmB;cACpC,UAAQ,EAAA;;;KACT,WAAW,EAAE,mBAAmB;cAE/B,uBAAqB,EAAA;;;;KAOtB,wBAAwB,EAAE,mBAAmB;cAE5C,mBAAiB,EAAA;;;;;cAKxB,WAAS,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACH,YAAY,EAAE,mBAAmB;;cAGhC;mBACkB;EAAA,YAAA,OAAO;;;;EAKpC,SAAS;;;;;EAQT,UAAU;;;;;EAQV,SAAS;;;;;EAQT,QAAQ;;;cAMG;mBACkB;EAAA,YAAA,OAAO;;;;;;EAO9B,MAAM,MAAM,aAAa;;;;;;EAc/B,OAAO,QAAQ,QAAQ,QAAQ;;;;;;EAazB,SAAS,MAAM,gBAAgB,QAAQ;;;;EAkB7C,SAAS;;;;EAOT,cAAc;;;cAMH;mBACkB;EAAA,YAAA,OAAO;;;;;;EAO9B,KAAK,QAAQ,wBAAwB,QAAQ;;;cAUxC;mBACkB;EAAA,YAAA,OAAO;EAEpC,kBAAU;;;;;EAEV,sBAAc;EACd,sBAAc;;;;;;EAOR,WAAW,sBAAsB,QAAQ"}
|
|
@@ -48,7 +48,7 @@ declare const knobEvent: Omit<v.ObjectSchema<{
|
|
|
48
48
|
readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
|
|
49
49
|
button_pressed: boolean;
|
|
50
50
|
rotation_delta: number;
|
|
51
|
-
}, v.
|
|
51
|
+
}, v.BooleanIssue | v.NumberIssue | v.ObjectIssue>;
|
|
52
52
|
readonly "~types"?: {
|
|
53
53
|
readonly input: {
|
|
54
54
|
button_pressed: boolean;
|
|
@@ -58,7 +58,7 @@ declare const knobEvent: Omit<v.ObjectSchema<{
|
|
|
58
58
|
button_pressed: boolean;
|
|
59
59
|
rotation_delta: number;
|
|
60
60
|
};
|
|
61
|
-
readonly issue: v.
|
|
61
|
+
readonly issue: v.BooleanIssue | v.NumberIssue | v.ObjectIssue;
|
|
62
62
|
} | undefined;
|
|
63
63
|
};
|
|
64
64
|
type KnobEvent = v.InferOutput<typeof knobEvent>;
|
|
@@ -148,4 +148,4 @@ declare class Knob {
|
|
|
148
148
|
}
|
|
149
149
|
//#endregion
|
|
150
150
|
export { KnobEvent as a, ProgressValue as c, color as d, internalKnobEvent as f, text as h, Knob as i, Screen as l, progress as m, Color as n, PlaybackConfiguration as o, playbackConfiguration as p, HmiApi as r, Progress as s, Audio as t, ScreenText as u };
|
|
151
|
-
//# sourceMappingURL=hmi-
|
|
151
|
+
//# sourceMappingURL=hmi-B-potLdl.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hmi-
|
|
1
|
+
{"version":3,"file":"hmi-B-potLdl.d.mts","names":[],"sources":["../src/api/hmi.ts"],"mappings":";;;cAGM,YAAU,EAAA,yBAAA,EAAA,yBAAA,EAAA;KACJ,aAAa,EAAE,mBAAmB;cAEjC,MAAI,EAAA;;;cAIJ,OAAK,EAAA;;;;;KAKN,QAAQ,EAAE,mBAAmB;cAEnC,eAAa,EAAA,yBAAA,EAAA,yBAAA,EAAA,sCAAA,EAAA;KACP,gBAAgB,EAAE,mBAAmB;cACpC,UAAQ,EAAA;;;KACT,WAAW,EAAE,mBAAmB;cAE/B,uBAAqB,EAAA;;;;KAOtB,wBAAwB,EAAE,mBAAmB;cAE5C,mBAAiB,EAAA;;;;;cAKxB,WAAS,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KACH,YAAY,EAAE,mBAAmB;;cAGhC;mBACkB;EAAA,YAAA,OAAO;;;;EAKpC,SAAS;;;;;EAQT,UAAU;;;;;EAQV,SAAS;;;;;EAQT,QAAQ;;;cAMG;mBACkB;EAAA,YAAA,OAAO;;;;;;EAO9B,MAAM,MAAM,aAAa;;;;;;EAc/B,OAAO,QAAQ,QAAQ,QAAQ;;;;;;EAazB,SAAS,MAAM,gBAAgB,QAAQ;;;;EAkB7C,SAAS;;;;EAOT,cAAc;;;cAMH;mBACkB;EAAA,YAAA,OAAO;;;;;;EAO9B,KAAK,QAAQ,wBAAwB,QAAQ;;;cAUxC;mBACkB;EAAA,YAAA,OAAO;EAEpC,kBAAU;;;;;EAEV,sBAAc;EACd,sBAAc;;;;;;EAOR,WAAW,sBAAsB,QAAQ"}
|
package/build/hmi.d.cts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as KnobEvent, c as ProgressValue, d as color, f as internalKnobEvent, h as text, i as Knob, l as Screen, m as progress, n as Color, o as PlaybackConfiguration, p as playbackConfiguration, r as HmiApi, s as Progress, t as Audio, u as ScreenText } from "./hmi-
|
|
1
|
+
import { a as KnobEvent, c as ProgressValue, d as color, f as internalKnobEvent, h as text, i as Knob, l as Screen, m as progress, n as Color, o as PlaybackConfiguration, p as playbackConfiguration, r as HmiApi, s as Progress, t as Audio, u as ScreenText } from "./hmi-B-potLdl.cjs";
|
|
2
2
|
export { Audio, Color, HmiApi, Knob, KnobEvent, PlaybackConfiguration, Progress, ProgressValue, Screen, ScreenText, color, internalKnobEvent, playbackConfiguration, progress, text };
|
package/build/hmi.d.mts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as KnobEvent, c as ProgressValue, d as color, f as internalKnobEvent, h as text, i as Knob, l as Screen, m as progress, n as Color, o as PlaybackConfiguration, p as playbackConfiguration, r as HmiApi, s as Progress, t as Audio, u as ScreenText } from "./hmi-
|
|
1
|
+
import { a as KnobEvent, c as ProgressValue, d as color, f as internalKnobEvent, h as text, i as Knob, l as Screen, m as progress, n as Color, o as PlaybackConfiguration, p as playbackConfiguration, r as HmiApi, s as Progress, t as Audio, u as ScreenText } from "./hmi-B-potLdl.mjs";
|
|
2
2
|
export { Audio, Color, HmiApi, Knob, KnobEvent, PlaybackConfiguration, Progress, ProgressValue, Screen, ScreenText, color, internalKnobEvent, playbackConfiguration, progress, text };
|
package/build/management.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./at1000-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./at1000-DbIvMQUc.cjs");exports.CommunicationInterfaceType=e.u,exports.ManagementApi=e.d,exports.calibrationData=e.f,exports.calibrationState=e.p,exports.portMapping=e.m,exports.project=e.h,exports.projectEvent=e.g,exports.runMode=e._,exports.updateStatus=e.v;
|
package/build/management.d.cts
CHANGED
|
@@ -114,6 +114,7 @@ declare const project: v.ObjectSchema<{
|
|
|
114
114
|
readonly command: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
115
115
|
readonly state: v.PicklistSchema<["idle", "running", "error"], undefined>;
|
|
116
116
|
readonly mode: v.OptionalSchema<v.PicklistSchema<["normal", "development"], undefined>, undefined>;
|
|
117
|
+
readonly password_set: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
117
118
|
}, undefined>;
|
|
118
119
|
type Project = v.InferOutput<typeof project>;
|
|
119
120
|
declare const projectEvent: v.VariantSchema<"change", [v.ObjectSchema<{
|
|
@@ -144,6 +145,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
144
145
|
readonly command: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
145
146
|
readonly state: v.PicklistSchema<["idle", "running", "error"], undefined>;
|
|
146
147
|
readonly mode: v.OptionalSchema<v.PicklistSchema<["normal", "development"], undefined>, undefined>;
|
|
148
|
+
readonly password_set: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
147
149
|
}, undefined>, "~types" | "~run" | "~standard" | "entries"> & {
|
|
148
150
|
readonly entries: Pick<{
|
|
149
151
|
readonly name: v.StringSchema<undefined>;
|
|
@@ -159,6 +161,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
159
161
|
readonly command: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
160
162
|
readonly state: v.PicklistSchema<["idle", "running", "error"], undefined>;
|
|
161
163
|
readonly mode: v.OptionalSchema<v.PicklistSchema<["normal", "development"], undefined>, undefined>;
|
|
164
|
+
readonly password_set: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
162
165
|
}, "name" | "is_default" | "command">;
|
|
163
166
|
readonly "~standard": v.StandardProps<{
|
|
164
167
|
name: string;
|
|
@@ -173,7 +176,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
173
176
|
name: string;
|
|
174
177
|
is_default: boolean;
|
|
175
178
|
command: string;
|
|
176
|
-
}, v.BooleanIssue | v.
|
|
179
|
+
}, v.BooleanIssue | v.StringIssue | v.ObjectIssue>;
|
|
177
180
|
readonly "~types"?: {
|
|
178
181
|
readonly input: {
|
|
179
182
|
name: string;
|
|
@@ -185,7 +188,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
185
188
|
is_default: boolean;
|
|
186
189
|
command: string;
|
|
187
190
|
};
|
|
188
|
-
readonly issue: v.BooleanIssue | v.
|
|
191
|
+
readonly issue: v.BooleanIssue | v.StringIssue | v.ObjectIssue;
|
|
189
192
|
} | undefined;
|
|
190
193
|
}, "~types" | "~run" | "~standard" | "entries"> & {
|
|
191
194
|
readonly entries: {
|
|
@@ -206,7 +209,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
206
209
|
name?: string | undefined;
|
|
207
210
|
is_default?: boolean | undefined;
|
|
208
211
|
command?: string | undefined;
|
|
209
|
-
}, v.BooleanIssue | v.
|
|
212
|
+
}, v.BooleanIssue | v.StringIssue | v.ObjectIssue>;
|
|
210
213
|
readonly "~types"?: {
|
|
211
214
|
readonly input: {
|
|
212
215
|
name?: string | undefined;
|
|
@@ -218,7 +221,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
218
221
|
is_default?: boolean | undefined;
|
|
219
222
|
command?: string | undefined;
|
|
220
223
|
};
|
|
221
|
-
readonly issue: v.BooleanIssue | v.
|
|
224
|
+
readonly issue: v.BooleanIssue | v.StringIssue | v.ObjectIssue;
|
|
222
225
|
} | undefined;
|
|
223
226
|
};
|
|
224
227
|
type ProjectPatch = v.InferOutput<typeof projectPatch>;
|
|
@@ -247,6 +250,7 @@ declare const updateStatus: v.ObjectSchema<{
|
|
|
247
250
|
readonly progress: v.NumberSchema<undefined>;
|
|
248
251
|
readonly message: v.StringSchema<undefined>;
|
|
249
252
|
readonly error: v.StringSchema<undefined>;
|
|
253
|
+
readonly boot: v.OptionalSchema<v.PicklistSchema<["confirmed", "pending", "unknown"], undefined>, undefined>;
|
|
250
254
|
}, undefined>;
|
|
251
255
|
type UpdateStatus = v.InferOutput<typeof updateStatus>;
|
|
252
256
|
declare const rebootResponse: v.ObjectSchema<{
|
|
@@ -569,6 +573,7 @@ declare class ManagementApi {
|
|
|
569
573
|
command: string;
|
|
570
574
|
state: "error" | "idle" | "running";
|
|
571
575
|
mode?: "normal" | "development" | undefined;
|
|
576
|
+
password_set?: boolean | undefined;
|
|
572
577
|
}[]>;
|
|
573
578
|
/**
|
|
574
579
|
* Lists the AT1000 base images present on the device.
|
|
@@ -594,6 +599,7 @@ declare class ManagementApi {
|
|
|
594
599
|
command: string;
|
|
595
600
|
state: "error" | "idle" | "running";
|
|
596
601
|
mode?: "normal" | "development" | undefined;
|
|
602
|
+
password_set?: boolean | undefined;
|
|
597
603
|
}>;
|
|
598
604
|
/**
|
|
599
605
|
* Creates a new project from a preinstalled template.
|
|
@@ -613,6 +619,7 @@ declare class ManagementApi {
|
|
|
613
619
|
command: string;
|
|
614
620
|
state: "error" | "idle" | "running";
|
|
615
621
|
mode?: "normal" | "development" | undefined;
|
|
622
|
+
password_set?: boolean | undefined;
|
|
616
623
|
}>;
|
|
617
624
|
/**
|
|
618
625
|
* Imports a project from a container image archive (.tar / .tar.gz).
|
|
@@ -634,6 +641,7 @@ declare class ManagementApi {
|
|
|
634
641
|
command: string;
|
|
635
642
|
state: "error" | "idle" | "running";
|
|
636
643
|
mode?: "normal" | "development" | undefined;
|
|
644
|
+
password_set?: boolean | undefined;
|
|
637
645
|
}>;
|
|
638
646
|
/**
|
|
639
647
|
* Patches an existing project (`name`, `is_default`, `command`). An empty `command` clears it (entrypoint autodetect).
|
|
@@ -654,6 +662,7 @@ declare class ManagementApi {
|
|
|
654
662
|
command: string;
|
|
655
663
|
state: "error" | "idle" | "running";
|
|
656
664
|
mode?: "normal" | "development" | undefined;
|
|
665
|
+
password_set?: boolean | undefined;
|
|
657
666
|
}>;
|
|
658
667
|
/**
|
|
659
668
|
* Runs a project.
|
|
@@ -769,6 +778,7 @@ declare class ManagementApi {
|
|
|
769
778
|
progress: number;
|
|
770
779
|
message: string;
|
|
771
780
|
error: string;
|
|
781
|
+
boot?: "confirmed" | "pending" | "unknown" | undefined;
|
|
772
782
|
}>;
|
|
773
783
|
/**
|
|
774
784
|
* Reboots the device.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"management.d.cts","names":[],"sources":["../src/api/management.ts"],"mappings":";;;aAKY;EACV;EACA;EACA;EACA;EACA;EACA;;cA+EI,MAAI,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBE,cAAc,EAAE,mBAAmB;cAMlC,aAAW,EAAA;;;;;KACZ,cAAc,EAAE,mBAAmB;cAMlC,SAAO,EAAA;KACR,UAAU,EAAE,mBAAmB;cAErC,SAAO,EAAA;;;;KACD,UAAU,EAAE,mBAAmB;cAE9B,SAAO,EAAA
|
|
1
|
+
{"version":3,"file":"management.d.cts","names":[],"sources":["../src/api/management.ts"],"mappings":"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"}
|
package/build/management.d.mts
CHANGED
|
@@ -114,6 +114,7 @@ declare const project: v.ObjectSchema<{
|
|
|
114
114
|
readonly command: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
115
115
|
readonly state: v.PicklistSchema<["idle", "running", "error"], undefined>;
|
|
116
116
|
readonly mode: v.OptionalSchema<v.PicklistSchema<["normal", "development"], undefined>, undefined>;
|
|
117
|
+
readonly password_set: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
117
118
|
}, undefined>;
|
|
118
119
|
type Project = v.InferOutput<typeof project>;
|
|
119
120
|
declare const projectEvent: v.VariantSchema<"change", [v.ObjectSchema<{
|
|
@@ -144,6 +145,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
144
145
|
readonly command: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
145
146
|
readonly state: v.PicklistSchema<["idle", "running", "error"], undefined>;
|
|
146
147
|
readonly mode: v.OptionalSchema<v.PicklistSchema<["normal", "development"], undefined>, undefined>;
|
|
148
|
+
readonly password_set: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
147
149
|
}, undefined>, "~types" | "~run" | "~standard" | "entries"> & {
|
|
148
150
|
readonly entries: Pick<{
|
|
149
151
|
readonly name: v.StringSchema<undefined>;
|
|
@@ -159,6 +161,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
159
161
|
readonly command: v.OptionalSchema<v.StringSchema<undefined>, "">;
|
|
160
162
|
readonly state: v.PicklistSchema<["idle", "running", "error"], undefined>;
|
|
161
163
|
readonly mode: v.OptionalSchema<v.PicklistSchema<["normal", "development"], undefined>, undefined>;
|
|
164
|
+
readonly password_set: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
162
165
|
}, "name" | "is_default" | "command">;
|
|
163
166
|
readonly "~standard": v.StandardProps<{
|
|
164
167
|
name: string;
|
|
@@ -173,7 +176,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
173
176
|
name: string;
|
|
174
177
|
is_default: boolean;
|
|
175
178
|
command: string;
|
|
176
|
-
}, v.BooleanIssue | v.
|
|
179
|
+
}, v.BooleanIssue | v.StringIssue | v.ObjectIssue>;
|
|
177
180
|
readonly "~types"?: {
|
|
178
181
|
readonly input: {
|
|
179
182
|
name: string;
|
|
@@ -185,7 +188,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
185
188
|
is_default: boolean;
|
|
186
189
|
command: string;
|
|
187
190
|
};
|
|
188
|
-
readonly issue: v.BooleanIssue | v.
|
|
191
|
+
readonly issue: v.BooleanIssue | v.StringIssue | v.ObjectIssue;
|
|
189
192
|
} | undefined;
|
|
190
193
|
}, "~types" | "~run" | "~standard" | "entries"> & {
|
|
191
194
|
readonly entries: {
|
|
@@ -206,7 +209,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
206
209
|
name?: string | undefined;
|
|
207
210
|
is_default?: boolean | undefined;
|
|
208
211
|
command?: string | undefined;
|
|
209
|
-
}, v.BooleanIssue | v.
|
|
212
|
+
}, v.BooleanIssue | v.StringIssue | v.ObjectIssue>;
|
|
210
213
|
readonly "~types"?: {
|
|
211
214
|
readonly input: {
|
|
212
215
|
name?: string | undefined;
|
|
@@ -218,7 +221,7 @@ declare const projectPatch: Omit<Omit<v.ObjectSchema<{
|
|
|
218
221
|
is_default?: boolean | undefined;
|
|
219
222
|
command?: string | undefined;
|
|
220
223
|
};
|
|
221
|
-
readonly issue: v.BooleanIssue | v.
|
|
224
|
+
readonly issue: v.BooleanIssue | v.StringIssue | v.ObjectIssue;
|
|
222
225
|
} | undefined;
|
|
223
226
|
};
|
|
224
227
|
type ProjectPatch = v.InferOutput<typeof projectPatch>;
|
|
@@ -247,6 +250,7 @@ declare const updateStatus: v.ObjectSchema<{
|
|
|
247
250
|
readonly progress: v.NumberSchema<undefined>;
|
|
248
251
|
readonly message: v.StringSchema<undefined>;
|
|
249
252
|
readonly error: v.StringSchema<undefined>;
|
|
253
|
+
readonly boot: v.OptionalSchema<v.PicklistSchema<["confirmed", "pending", "unknown"], undefined>, undefined>;
|
|
250
254
|
}, undefined>;
|
|
251
255
|
type UpdateStatus = v.InferOutput<typeof updateStatus>;
|
|
252
256
|
declare const rebootResponse: v.ObjectSchema<{
|
|
@@ -569,6 +573,7 @@ declare class ManagementApi {
|
|
|
569
573
|
command: string;
|
|
570
574
|
state: "error" | "idle" | "running";
|
|
571
575
|
mode?: "normal" | "development" | undefined;
|
|
576
|
+
password_set?: boolean | undefined;
|
|
572
577
|
}[]>;
|
|
573
578
|
/**
|
|
574
579
|
* Lists the AT1000 base images present on the device.
|
|
@@ -594,6 +599,7 @@ declare class ManagementApi {
|
|
|
594
599
|
command: string;
|
|
595
600
|
state: "error" | "idle" | "running";
|
|
596
601
|
mode?: "normal" | "development" | undefined;
|
|
602
|
+
password_set?: boolean | undefined;
|
|
597
603
|
}>;
|
|
598
604
|
/**
|
|
599
605
|
* Creates a new project from a preinstalled template.
|
|
@@ -613,6 +619,7 @@ declare class ManagementApi {
|
|
|
613
619
|
command: string;
|
|
614
620
|
state: "error" | "idle" | "running";
|
|
615
621
|
mode?: "normal" | "development" | undefined;
|
|
622
|
+
password_set?: boolean | undefined;
|
|
616
623
|
}>;
|
|
617
624
|
/**
|
|
618
625
|
* Imports a project from a container image archive (.tar / .tar.gz).
|
|
@@ -634,6 +641,7 @@ declare class ManagementApi {
|
|
|
634
641
|
command: string;
|
|
635
642
|
state: "error" | "idle" | "running";
|
|
636
643
|
mode?: "normal" | "development" | undefined;
|
|
644
|
+
password_set?: boolean | undefined;
|
|
637
645
|
}>;
|
|
638
646
|
/**
|
|
639
647
|
* Patches an existing project (`name`, `is_default`, `command`). An empty `command` clears it (entrypoint autodetect).
|
|
@@ -654,6 +662,7 @@ declare class ManagementApi {
|
|
|
654
662
|
command: string;
|
|
655
663
|
state: "error" | "idle" | "running";
|
|
656
664
|
mode?: "normal" | "development" | undefined;
|
|
665
|
+
password_set?: boolean | undefined;
|
|
657
666
|
}>;
|
|
658
667
|
/**
|
|
659
668
|
* Runs a project.
|
|
@@ -769,6 +778,7 @@ declare class ManagementApi {
|
|
|
769
778
|
progress: number;
|
|
770
779
|
message: string;
|
|
771
780
|
error: string;
|
|
781
|
+
boot?: "confirmed" | "pending" | "unknown" | undefined;
|
|
772
782
|
}>;
|
|
773
783
|
/**
|
|
774
784
|
* Reboots the device.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"management.d.mts","names":[],"sources":["../src/api/management.ts"],"mappings":";;;aAKY;EACV;EACA;EACA;EACA;EACA;EACA;;cA+EI,MAAI,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBE,cAAc,EAAE,mBAAmB;cAMlC,aAAW,EAAA;;;;;KACZ,cAAc,EAAE,mBAAmB;cAMlC,SAAO,EAAA;KACR,UAAU,EAAE,mBAAmB;cAErC,SAAO,EAAA;;;;KACD,UAAU,EAAE,mBAAmB;cAE9B,SAAO,EAAA
|
|
1
|
+
{"version":3,"file":"management.d.mts","names":[],"sources":["../src/api/management.ts"],"mappings":"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"}
|
package/build/management.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,d as t,f as n,g as r,h as i,m as a,p as o,u as s,v as c}from"./at1000-
|
|
1
|
+
import{_ as e,d as t,f as n,g as r,h as i,m as a,p as o,u as s,v as c}from"./at1000-Zs18VzlP.mjs";export{s as CommunicationInterfaceType,t as ManagementApi,n as calibrationData,o as calibrationState,a as portMapping,i as project,r as projectEvent,e as runMode,c as updateStatus};
|
package/build/node.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-CMqjfN_6.cjs"),t=require("./package-ByQuarMd.cjs"),n=require("./at1000-DuULyDOw.cjs");let r=require("up-fetch"),i=require("node:os");i=e.t(i,1);let a=require("node:fs"),o=require("dns-packet");o=e.t(o,1);let s=require("node:events"),c=require("node:util");c=e.t(c,1);let l=require("ip-address");l=e.t(l,1);let u=require("node:dgram");u=e.t(u,1);const d=`224.0.0.251`,f=5353,p=`IPv4`,m=`IPv6`,h=[p,4,m,6];var g=class e{static getInterfaces(t){return t?e.getInterfacesFromStrings(t):e.getAllInterfaces()}static getAllInterfaces(){let e=[],t=[],n=i.default.networkInterfaces();for(let[r,i]of Object.entries(n))t.includes(r)||(t.push(r),i?.forEach(t=>{t.internal||!h.includes(t.family)||/^(2002|2001):/gi.exec(t.address)||e.push({name:r,address:t.address,family:t.family,scopeid:t.scopeid})}));if(!e.length)throw Error(`No usable network interfaces returned by OS.`);return e}static getInterfacesFromStrings(t){let n=Array.isArray(t)?t:[t],r=this.getAllInterfaces().filter(t=>n.reduce((n,r)=>n||!!(e.stringMatchesAddress(r,t.address)||t.name===r),!1));if(!r||!r.length)throw Error(`No usable network interfaces returned by OS.`);return r}static stringMatchesAddress(e,t){let n,r;try{n=new l.default.Address4(e),r=new l.default.Address4(t)}catch{try{n=new l.default.Address6(e),r=new l.default.Address6(t)}catch{return!1}}return n.bigInt()===r.bigInt()}};const _={interfaces:[],reuseAddr:!0,ttl:255,loopback:!0,onMessage:(e,t)=>{console.log(`Message `+e.toString())},socketError:e=>{console.log(`Socket error `+e.message)}};var v=class e{static validateSettings(e){if(!e.multicastAddress)throw Error(`Socket settings require multicastAddress`);if(!e.multicastPort)throw Error(`Socket settings require multicastPort`)}static createMulticastSocket(t){return new Promise((n,r)=>{let i=Object.assign({},_,t);e.validateSettings(i);let a=u.default.createSocket({type:l.default.Address4.isValid(i.multicastAddress)?`udp4`:`udp6`,reuseAddr:i.reuseAddr}),o=!1;a.on(`error`,e=>{o?i.socketError(e):(a.close(),n({success:!1,error:e}))}).on(`listening`,()=>{o=!0,a.setMulticastTTL(i.ttl??255),a.setMulticastLoopback(i.loopback??!0);let t=e.addMulticastMemberships(a,i);if(!t.memberships.length){o=!1,a.close(),n({success:!1,error:Error(`No interface memberships for multicast address `+i.multicastAddress)});return}n(Object.assign({success:!0},t,{socket:a}))}).on(`message`,(e,t)=>{i.onMessage(e,t)}),a.bind({port:i.multicastPort,exclusive:!1})})}static addMulticastMemberships(t,n){let r=[],i=[],a=l.default.Address4.isValid(n.multicastAddress)?[p,4]:[m,6];return n.interfaces.forEach(o=>{if(a.includes(o.family))try{t.addMembership(n.multicastAddress,e.interfaceAddress(o)),r.push(o)}catch{i.push(o)}}),{memberships:r,failedMemberships:i}}static async createSendSocket(t,n,r,i,a){return new Promise(o=>{let s=[`IPv4`,4].includes(t.family)?`udp4`:`udp6`,c=e.interfaceAddress(t),l=n.srcPort??0,d=!1,f=e=>{let l=u.default.createSocket({type:s,reuseAddr:!!n.reuseAddr,reusePort:!0}),p=!1;l.on(`error`,t=>{p?i(t):(l.close(),e!==0&&!d?(d=!0,a?.(`mDNS send socket bind to ${c}:${e} failed (${t.message}); falling back to ephemeral source port — discovery may be unreliable on strict firewalls.`),f(0)):o({success:!1,error:Error(t.message)}))}).on(`listening`,()=>{p=!0,o({success:!0,iface:t,socket:l,send:l.send.bind(l)})}).on(`message`,(e,n)=>{n.interface=t.name,r(e,n)}).bind(e,c)};f(l)})}static interfaceAddress(e){return[`IPv4`,4].includes(e.family)?e.address:e.scopeid?`${e.address}%${e.name}`:e.address}};const y={reuseAddr:!0,srcPort:5353,interfaces:null,ttl:255,loopback:!0,debug:!1};var b=class extends s.EventEmitter{Config;ready;receiveSockets;sendSockets;interfaces;destroyed;constructor(e){super(),this.Config=Object.assign({},y,e),this.ready=!1,this.receiveSockets=[],this.sendSockets=[]}async init(){try{this.interfaces=g.getInterfaces(this.Config.interfaces||void 0)}catch(e){throw this.emitError(e),e}return this.emitDebug(`Scanner interfaces: ${c.default.inspect(this.interfaces)}`),await this.createReceiveSockets(),await this.createSendSockets(),this.receiveSockets.length&&this.sendSockets.length&&(this.ready=!0),this.ready}async createReceiveSockets(){if(!this.interfaces)return[];let e=this.interfaces.filter(e=>[p,4].includes(e.family)),t=this.interfaces.filter(e=>[m,6].includes(e.family));if(this.emitDebug(`Create receive sockets for${e.length?` IPv4`:``}${e.length&&t.length?` and`:``}${t.length?` IPv6`:``}`),e.length){let t=await v.createMulticastSocket({multicastAddress:d,multicastPort:f,interfaces:e,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});t.success?this.receiveSockets.push(t):t.error&&this.emitWarn(t.error.message)}if(t.length){let e=await v.createMulticastSocket({multicastAddress:`FF02::FB`,multicastPort:f,interfaces:t,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});e.success?this.receiveSockets.push(e):e.error&&this.emitWarn(e.error.message)}return this.receiveSockets}async createSendSockets(){if(this.interfaces){this.emitDebug(`Create send sockets on ${this.interfaces.length} interfaces/addresses.`);for(let e=0;e<this.interfaces.length;e++){let t=await v.createSendSocket(this.interfaces[e],this.Config,this.onMessage.bind(this),this.socketError.bind(this),this.emitWarn.bind(this));t.success?this.sendSockets.push(t):t.error&&this.emitWarn(t.error.message)}}}onMessage(e,t){let n;try{n=o.default.decode(e)}catch(e){return this.emitWarn(e)}this.emit(`packet`,n,t)}socketError(e){e.code===`EACCES`||e.code===`EADDRINUSE`||e.code===`EADDRNOTAVAIL`?this.emitError(e):this.emitWarn(e)}query(e,t){let n;if(typeof e==`string`)n=[{name:e,type:t||`ANY`}];else if(Array.isArray(e))n=e;else throw Error(`Query questions must be an array of mDNS query questions.`);let r={type:`query`,questions:n};this.emitDebug(`Send mDNS query: ${c.default.inspect(r)}`),this.send(r)}send(e){if(this.destroyed)return;let t=o.default.encode(e);e.type===`query`&&this.setUnicastResponseBit(t);for(let e=0;e<this.sendSockets.length;e++){let n=this.sendSockets[e];if(n.send&&n.iface)try{n.send(t,0,t.length,f,[`IPv4`,4].includes(n.iface.family)?d:`FF02::FB%`+n.iface.name),this.emitDebug(`Send packet on ${n.iface.address}`)}catch{}}}setUnicastResponseBit(e){let t=e.readUInt16BE(4),n=12;for(let r=0;r<t&&n<e.length;r++){for(;n<e.length&&e[n]!==0;)n+=e[n]+1;n+=1,n+=2,n<e.length&&(e[n]|=128),n+=2}}destroy(){this.destroyed=!0,this.ready=!1,this.removeAllListeners(),this.sendSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.sendSockets=[],this.receiveSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.receiveSockets=[]}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const x={debug:!1};var S=class extends s.EventEmitter{Config;scanner;types;namedServices;packetListener;constructor(e,t){super(),this.packetListener=this.onPacket.bind(this),this.scanner=e,this.Config=Object.assign({},x,t),this.types=[],this.namedServices={},this.forwardEvents(this.scanner),this.reset()}reset(){this.removeMDNSListener(this.scanner),this.types=[],this.namedServices={},this.listenMDNSEvents(this.scanner)}forwardEvents(e){e.on(`error`,e=>{this.emitError(e)}).on(`warn`,e=>{this.emitWarn(e)}).on(`debug`,e=>{this.emitDebug(e)})}listenMDNSEvents(e){e.on(`packet`,this.packetListener)}removeMDNSListener(e){e.removeListener(`packet`,this.packetListener)}onPacket(e,t){switch(this.emitDebug(`Received packet type ${e.type} from ${t.address}.`),e.type){case`query`:this.emit(`query`,e,t);break;case`response`:this.emitDebug(`Received response packet from ${t.address} with ${e.answers?e.answers.length:0} answers and ${e.additionals?e.additionals.length:0} additionals.`),e.answers&&this.processAnswers(e.answers,t),e.additionals&&this.processAnswers(e.additionals,t);break}}processAnswers(e,t){this.emitDebug(`Processing answers or additionals...`);let n=this.processSRVAnswers(e);this.processTXTAnswers(e),this.processAAnswers(e),this.processAAAAAnswers(e),this.processPTRAnswers(e,t),n.forEach(e=>{this.emit(`discovered`,{type:`service`,data:this.namedServices[e]})})}processSRVAnswers(e){let t=[];return e.forEach(e=>{if(e.type!==`SRV`)return;this.emitDebug(`Processing SRV answer.`);let n=e.name.toString();t.includes(n)||t.push(n),this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].service=e,this.namedServices[n].host=e.data.target.toString(),this.namedServices[n].port=e.data.port}),t}processTXTAnswers(e){e.forEach(e=>{if(e.type!==`TXT`)return;this.emitDebug(`Processing TXT answer.`);let t=e.data;if(Array.isArray(t)&&t.length>1){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(Buffer.concat(t))}else if(Buffer.isBuffer(t)){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(t)}})}processAAnswers(e){e.forEach(e=>{if(e.type!==`A`)return;this.emitDebug(`Processing A answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:p,address:n}))})}processAAAAAnswers(e){e.forEach(e=>{if(e.type!==`AAAA`)return;this.emitDebug(`Processing AAAA answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:m,address:n}))})}processPTRAnswers(e,t){e.forEach(e=>{if(e.type!==`PTR`)return;this.emitDebug(`Processing PTR answer.`);let n=this.serviceTypeFromPTR(e),r=e.data.toString();n!==r&&(this.namedServices[r]=this.namedServices[r]||{},this.namedServices[r].name=r.replace(`.`+n,``),this.namedServices[r].rinfo=t)})}serviceTypeFromPTR(e){let t=e.data,n=/(?:^|^.+?(?:\.))(_.*)$/gm.exec(t.toString()),r=n?n[1]:t.toString();return this.types.includes(r)||(this.types.push(r),this.emit(`discovered`,{type:`type`,data:r}),this.emitDebug(`Scanning service type ${r}.`),this.scanner.query(r,`ANY`)),r}answerDataToKeyValues(e){let t=[],n={},r=0,i=e[r];for(;i;){let a=e.slice(r+1,r+1+i);t.push(a.toString());let o=/^([^=]+)=([^=]*)$/.exec(a.toString());o&&(n[o[1]]=o[2]),r=r+1+i,i=e[r]}return{strings:t,keyValuePairs:n}}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};function C(e){return e.startsWith(`192.168.`)?0:e.startsWith(`169.254.`)?1:2}function w(){try{return(0,a.readFileSync)(`/etc/at1000/hostname`,`utf8`).trim()||void 0}catch{return}}function T(){try{return(0,a.readFileSync)(`/etc/at1000/project`,`utf8`).trim()||void 0}catch{return}}async function E(e){return{host:e,info:await new n.d((0,r.up)(fetch,()=>({baseUrl:`http://${n.r(e)}/v0`,timeout:1e3,parseRejected:(e,t)=>n.a(e,t.method)})),e).info()}}const D=async()=>{let e=w();if(e)for(let t of[`${e}.local`,`host.containers.internal`])try{if((await E(t)).info.hostname===e)return t}catch{}},O=async(e=500)=>{e<10&&(e=10);let t=new b({debug:!0}),r=new S(t);if(r.on(`error`,e=>{if(!e.includes(`bind ENOENT`))throw Error(e)}),!await t.init())throw Error(`Failed to initialize mDNS scanner`);t.query(`_at1000_server._tcp.local`),await new Promise(t=>setTimeout(t,e));let i=[...new Set(Object.values(r.namedServices).filter(e=>e.service!==void 0).filter(e=>(e.service?.name)?.endsWith(`_at1000_server._tcp.local`)).flatMap(e=>{let t=e.addresses??[],r=e.port,i=t.filter(e=>e.family===`IPv4`).map(e=>n.r(e.address,r)),a=t.filter(e=>e.family===`IPv6`).map(e=>n.r(e.address,r));return[...i,...a]}))];t.destroy();let a=(await Promise.allSettled(i.map(E))).filter(e=>e.status===`fulfilled`).map(e=>e.value),o=new Map;for(let e of a){let t=o.get(e.info.hostname);t?C(e.host)<C(t.host)&&o.set(e.info.hostname,e):o.set(e.info.hostname,e)}let s=[...o.values()],c=w();if(!c)return s.map(e=>e.host);let l=s.findIndex(e=>e.info.hostname===c);if(l>=0)return s.unshift(...s.splice(l,1)),s.map(e=>e.host);let u=await D();return u?[u,...s.map(e=>e.host)]:s.map(e=>e.host)};var k=class extends n.t{static apiVersion=t.t;static findDevices(e=500){return O(e)}static isStandalone(){return T()!==void 0}static findLocalDevice(){return D()}static async open(e,t){let r=T(),a=r?{kind:`project`,project:r,defaultLabel:r}:{kind:`remote`,defaultLabel:(0,i.hostname)()};return await n.t.openBase(e,t,a)}};exports.AT1000=k,exports.ApiError=n.n,exports.format_host_for_url=n.r,exports.host_without_port=n.i;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-CMqjfN_6.cjs"),t=require("./package-0hAwYBa1.cjs"),n=require("./at1000-DbIvMQUc.cjs");let r=require("up-fetch"),i=require("node:os");i=e.t(i,1);let a=require("node:fs"),o=require("dns-packet");o=e.t(o,1);let s=require("node:events"),c=require("node:util");c=e.t(c,1);let l=require("ip-address");l=e.t(l,1);let u=require("node:dgram");u=e.t(u,1);const d=`224.0.0.251`,f=5353,p=`IPv4`,m=`IPv6`,h=[p,4,m,6];var g=class e{static getInterfaces(t){return t?e.getInterfacesFromStrings(t):e.getAllInterfaces()}static getAllInterfaces(){let e=[],t=[],n=i.default.networkInterfaces();for(let[r,i]of Object.entries(n))t.includes(r)||(t.push(r),i?.forEach(t=>{t.internal||!h.includes(t.family)||/^(2002|2001):/gi.exec(t.address)||e.push({name:r,address:t.address,family:t.family,scopeid:t.scopeid})}));if(!e.length)throw Error(`No usable network interfaces returned by OS.`);return e}static getInterfacesFromStrings(t){let n=Array.isArray(t)?t:[t],r=this.getAllInterfaces().filter(t=>n.reduce((n,r)=>n||!!(e.stringMatchesAddress(r,t.address)||t.name===r),!1));if(!r||!r.length)throw Error(`No usable network interfaces returned by OS.`);return r}static stringMatchesAddress(e,t){let n,r;try{n=new l.default.Address4(e),r=new l.default.Address4(t)}catch{try{n=new l.default.Address6(e),r=new l.default.Address6(t)}catch{return!1}}return n.bigInt()===r.bigInt()}};const _={interfaces:[],reuseAddr:!0,ttl:255,loopback:!0,onMessage:(e,t)=>{console.log(`Message `+e.toString())},socketError:e=>{console.log(`Socket error `+e.message)}};var v=class e{static validateSettings(e){if(!e.multicastAddress)throw Error(`Socket settings require multicastAddress`);if(!e.multicastPort)throw Error(`Socket settings require multicastPort`)}static createMulticastSocket(t){return new Promise((n,r)=>{let i=Object.assign({},_,t);e.validateSettings(i);let a=u.default.createSocket({type:l.default.Address4.isValid(i.multicastAddress)?`udp4`:`udp6`,reuseAddr:i.reuseAddr}),o=!1;a.on(`error`,e=>{o?i.socketError(e):(a.close(),n({success:!1,error:e}))}).on(`listening`,()=>{o=!0,a.setMulticastTTL(i.ttl??255),a.setMulticastLoopback(i.loopback??!0);let t=e.addMulticastMemberships(a,i);if(!t.memberships.length){o=!1,a.close(),n({success:!1,error:Error(`No interface memberships for multicast address `+i.multicastAddress)});return}n(Object.assign({success:!0},t,{socket:a}))}).on(`message`,(e,t)=>{i.onMessage(e,t)}),a.bind({port:i.multicastPort,exclusive:!1})})}static addMulticastMemberships(t,n){let r=[],i=[],a=l.default.Address4.isValid(n.multicastAddress)?[p,4]:[m,6];return n.interfaces.forEach(o=>{if(a.includes(o.family))try{t.addMembership(n.multicastAddress,e.interfaceAddress(o)),r.push(o)}catch{i.push(o)}}),{memberships:r,failedMemberships:i}}static async createSendSocket(t,n,r,i,a){return new Promise(o=>{let s=[`IPv4`,4].includes(t.family)?`udp4`:`udp6`,c=e.interfaceAddress(t),l=n.srcPort??0,d=!1,f=e=>{let l=u.default.createSocket({type:s,reuseAddr:!!n.reuseAddr,reusePort:!0}),p=!1;l.on(`error`,t=>{p?i(t):(l.close(),e!==0&&!d?(d=!0,a?.(`mDNS send socket bind to ${c}:${e} failed (${t.message}); falling back to ephemeral source port — discovery may be unreliable on strict firewalls.`),f(0)):o({success:!1,error:Error(t.message)}))}).on(`listening`,()=>{p=!0,o({success:!0,iface:t,socket:l,send:l.send.bind(l)})}).on(`message`,(e,n)=>{n.interface=t.name,r(e,n)}).bind(e,c)};f(l)})}static interfaceAddress(e){return[`IPv4`,4].includes(e.family)?e.address:e.scopeid?`${e.address}%${e.name}`:e.address}};const y={reuseAddr:!0,srcPort:5353,interfaces:null,ttl:255,loopback:!0,debug:!1};var b=class extends s.EventEmitter{Config;ready;receiveSockets;sendSockets;interfaces;destroyed;constructor(e){super(),this.Config=Object.assign({},y,e),this.ready=!1,this.receiveSockets=[],this.sendSockets=[]}async init(){try{this.interfaces=g.getInterfaces(this.Config.interfaces||void 0)}catch(e){throw this.emitError(e),e}return this.emitDebug(`Scanner interfaces: ${c.default.inspect(this.interfaces)}`),await this.createReceiveSockets(),await this.createSendSockets(),this.receiveSockets.length&&this.sendSockets.length&&(this.ready=!0),this.ready}async createReceiveSockets(){if(!this.interfaces)return[];let e=this.interfaces.filter(e=>[p,4].includes(e.family)),t=this.interfaces.filter(e=>[m,6].includes(e.family));if(this.emitDebug(`Create receive sockets for${e.length?` IPv4`:``}${e.length&&t.length?` and`:``}${t.length?` IPv6`:``}`),e.length){let t=await v.createMulticastSocket({multicastAddress:d,multicastPort:f,interfaces:e,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});t.success?this.receiveSockets.push(t):t.error&&this.emitWarn(t.error.message)}if(t.length){let e=await v.createMulticastSocket({multicastAddress:`FF02::FB`,multicastPort:f,interfaces:t,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});e.success?this.receiveSockets.push(e):e.error&&this.emitWarn(e.error.message)}return this.receiveSockets}async createSendSockets(){if(this.interfaces){this.emitDebug(`Create send sockets on ${this.interfaces.length} interfaces/addresses.`);for(let e=0;e<this.interfaces.length;e++){let t=await v.createSendSocket(this.interfaces[e],this.Config,this.onMessage.bind(this),this.socketError.bind(this),this.emitWarn.bind(this));t.success?this.sendSockets.push(t):t.error&&this.emitWarn(t.error.message)}}}onMessage(e,t){let n;try{n=o.default.decode(e)}catch(e){return this.emitWarn(e)}this.emit(`packet`,n,t)}socketError(e){e.code===`EACCES`||e.code===`EADDRINUSE`||e.code===`EADDRNOTAVAIL`?this.emitError(e):this.emitWarn(e)}query(e,t){let n;if(typeof e==`string`)n=[{name:e,type:t||`ANY`}];else if(Array.isArray(e))n=e;else throw Error(`Query questions must be an array of mDNS query questions.`);let r={type:`query`,questions:n};this.emitDebug(`Send mDNS query: ${c.default.inspect(r)}`),this.send(r)}send(e){if(this.destroyed)return;let t=o.default.encode(e);e.type===`query`&&this.setUnicastResponseBit(t);for(let e=0;e<this.sendSockets.length;e++){let n=this.sendSockets[e];if(n.send&&n.iface)try{n.send(t,0,t.length,f,[`IPv4`,4].includes(n.iface.family)?d:`FF02::FB%`+n.iface.name),this.emitDebug(`Send packet on ${n.iface.address}`)}catch{}}}setUnicastResponseBit(e){let t=e.readUInt16BE(4),n=12;for(let r=0;r<t&&n<e.length;r++){for(;n<e.length&&e[n]!==0;)n+=e[n]+1;n+=1,n+=2,n<e.length&&(e[n]|=128),n+=2}}destroy(){this.destroyed=!0,this.ready=!1,this.removeAllListeners(),this.sendSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.sendSockets=[],this.receiveSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.receiveSockets=[]}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const x={debug:!1};var S=class extends s.EventEmitter{Config;scanner;types;namedServices;packetListener;constructor(e,t){super(),this.packetListener=this.onPacket.bind(this),this.scanner=e,this.Config=Object.assign({},x,t),this.types=[],this.namedServices={},this.forwardEvents(this.scanner),this.reset()}reset(){this.removeMDNSListener(this.scanner),this.types=[],this.namedServices={},this.listenMDNSEvents(this.scanner)}forwardEvents(e){e.on(`error`,e=>{this.emitError(e)}).on(`warn`,e=>{this.emitWarn(e)}).on(`debug`,e=>{this.emitDebug(e)})}listenMDNSEvents(e){e.on(`packet`,this.packetListener)}removeMDNSListener(e){e.removeListener(`packet`,this.packetListener)}onPacket(e,t){switch(this.emitDebug(`Received packet type ${e.type} from ${t.address}.`),e.type){case`query`:this.emit(`query`,e,t);break;case`response`:this.emitDebug(`Received response packet from ${t.address} with ${e.answers?e.answers.length:0} answers and ${e.additionals?e.additionals.length:0} additionals.`),e.answers&&this.processAnswers(e.answers,t),e.additionals&&this.processAnswers(e.additionals,t);break}}processAnswers(e,t){this.emitDebug(`Processing answers or additionals...`);let n=this.processSRVAnswers(e);this.processTXTAnswers(e),this.processAAnswers(e),this.processAAAAAnswers(e),this.processPTRAnswers(e,t),n.forEach(e=>{this.emit(`discovered`,{type:`service`,data:this.namedServices[e]})})}processSRVAnswers(e){let t=[];return e.forEach(e=>{if(e.type!==`SRV`)return;this.emitDebug(`Processing SRV answer.`);let n=e.name.toString();t.includes(n)||t.push(n),this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].service=e,this.namedServices[n].host=e.data.target.toString(),this.namedServices[n].port=e.data.port}),t}processTXTAnswers(e){e.forEach(e=>{if(e.type!==`TXT`)return;this.emitDebug(`Processing TXT answer.`);let t=e.data;if(Array.isArray(t)&&t.length>1){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(Buffer.concat(t))}else if(Buffer.isBuffer(t)){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(t)}})}processAAnswers(e){e.forEach(e=>{if(e.type!==`A`)return;this.emitDebug(`Processing A answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:p,address:n}))})}processAAAAAnswers(e){e.forEach(e=>{if(e.type!==`AAAA`)return;this.emitDebug(`Processing AAAA answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:m,address:n}))})}processPTRAnswers(e,t){e.forEach(e=>{if(e.type!==`PTR`)return;this.emitDebug(`Processing PTR answer.`);let n=this.serviceTypeFromPTR(e),r=e.data.toString();n!==r&&(this.namedServices[r]=this.namedServices[r]||{},this.namedServices[r].name=r.replace(`.`+n,``),this.namedServices[r].rinfo=t)})}serviceTypeFromPTR(e){let t=e.data,n=/(?:^|^.+?(?:\.))(_.*)$/gm.exec(t.toString()),r=n?n[1]:t.toString();return this.types.includes(r)||(this.types.push(r),this.emit(`discovered`,{type:`type`,data:r}),this.emitDebug(`Scanning service type ${r}.`),this.scanner.query(r,`ANY`)),r}answerDataToKeyValues(e){let t=[],n={},r=0,i=e[r];for(;i;){let a=e.slice(r+1,r+1+i);t.push(a.toString());let o=/^([^=]+)=([^=]*)$/.exec(a.toString());o&&(n[o[1]]=o[2]),r=r+1+i,i=e[r]}return{strings:t,keyValuePairs:n}}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};function C(e){return e.startsWith(`192.168.`)?0:e.startsWith(`169.254.`)?1:2}function w(){try{return(0,a.readFileSync)(`/etc/at1000/hostname`,`utf8`).trim()||void 0}catch{return}}function T(){try{return(0,a.readFileSync)(`/etc/at1000/project`,`utf8`).trim()||void 0}catch{return}}async function E(e){return{host:e,info:await new n.d((0,r.up)(fetch,()=>({baseUrl:`http://${n.r(e)}/v0`,timeout:1e3,parseRejected:(e,t)=>n.a(e,t.method)})),e).info()}}const D=async()=>{let e=w();if(e)for(let t of[`${e}.local`,`host.containers.internal`])try{if((await E(t)).info.hostname===e)return t}catch{}},O=async(e=500)=>{e<10&&(e=10);let t=new b({debug:!0}),r=new S(t);if(r.on(`error`,e=>{if(!e.includes(`bind ENOENT`))throw Error(e)}),!await t.init())throw Error(`Failed to initialize mDNS scanner`);t.query(`_at1000_server._tcp.local`),await new Promise(t=>setTimeout(t,e));let i=[...new Set(Object.values(r.namedServices).filter(e=>e.service!==void 0).filter(e=>(e.service?.name)?.endsWith(`_at1000_server._tcp.local`)).flatMap(e=>{let t=e.addresses??[],r=e.port,i=t.filter(e=>e.family===`IPv4`).map(e=>n.r(e.address,r)),a=t.filter(e=>e.family===`IPv6`).map(e=>n.r(e.address,r));return[...i,...a]}))];t.destroy();let a=(await Promise.allSettled(i.map(E))).filter(e=>e.status===`fulfilled`).map(e=>e.value),o=new Map;for(let e of a){let t=o.get(e.info.hostname);t?C(e.host)<C(t.host)&&o.set(e.info.hostname,e):o.set(e.info.hostname,e)}let s=[...o.values()],c=w();if(!c)return s.map(e=>e.host);let l=s.findIndex(e=>e.info.hostname===c);if(l>=0)return s.unshift(...s.splice(l,1)),s.map(e=>e.host);let u=await D();return u?[u,...s.map(e=>e.host)]:s.map(e=>e.host)};var k=class extends n.t{static apiVersion=t.t;static findDevices(e=500){return O(e)}static isStandalone(){return T()!==void 0}static findLocalDevice(){return D()}static async open(e,t){let r=T(),a=r?{kind:`project`,project:r,defaultLabel:r}:{kind:`remote`,defaultLabel:(0,i.hostname)()};return await n.t.openBase(e,t,a)}};exports.AT1000=k,exports.ApiError=n.n,exports.format_host_for_url=n.r,exports.host_without_port=n.i;
|
|
2
2
|
//# sourceMappingURL=node.cjs.map
|
package/build/node.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProjectTemplate } from "./management.cjs";
|
|
2
|
-
import { a as host_without_port, i as format_host_for_url, n as ApiError, r as OpenOptions, t as AT1000Base } from "./at1000-
|
|
2
|
+
import { a as host_without_port, i as format_host_for_url, n as ApiError, r as OpenOptions, t as AT1000Base } from "./at1000-tUTVczQa.cjs";
|
|
3
3
|
//#region src/node.d.ts
|
|
4
4
|
/** @hideconstructor */
|
|
5
5
|
declare class AT1000 extends AT1000Base {
|
package/build/node.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProjectTemplate } from "./management.mjs";
|
|
2
|
-
import { a as host_without_port, i as format_host_for_url, n as ApiError, r as OpenOptions, t as AT1000Base } from "./at1000-
|
|
2
|
+
import { a as host_without_port, i as format_host_for_url, n as ApiError, r as OpenOptions, t as AT1000Base } from "./at1000-gm586Tc9.mjs";
|
|
3
3
|
//#region src/node.d.ts
|
|
4
4
|
/** @hideconstructor */
|
|
5
5
|
declare class AT1000 extends AT1000Base {
|
package/build/node.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"./package-gaVXFnhN.mjs";import{a as t,d as n,i as r,n as i,r as a,t as o}from"./at1000-BaJD2vC5.mjs";import{up as s}from"up-fetch";import c,{hostname as l}from"node:os";import{readFileSync as u}from"node:fs";import d from"dns-packet";import{EventEmitter as f}from"node:events";import p from"node:util";import m from"ip-address";import h from"node:dgram";const g=`224.0.0.251`,_=5353,v=`IPv4`,y=`IPv6`,b=[v,4,y,6];var x=class e{static getInterfaces(t){return t?e.getInterfacesFromStrings(t):e.getAllInterfaces()}static getAllInterfaces(){let e=[],t=[],n=c.networkInterfaces();for(let[r,i]of Object.entries(n))t.includes(r)||(t.push(r),i?.forEach(t=>{t.internal||!b.includes(t.family)||/^(2002|2001):/gi.exec(t.address)||e.push({name:r,address:t.address,family:t.family,scopeid:t.scopeid})}));if(!e.length)throw Error(`No usable network interfaces returned by OS.`);return e}static getInterfacesFromStrings(t){let n=Array.isArray(t)?t:[t],r=this.getAllInterfaces().filter(t=>n.reduce((n,r)=>n||!!(e.stringMatchesAddress(r,t.address)||t.name===r),!1));if(!r||!r.length)throw Error(`No usable network interfaces returned by OS.`);return r}static stringMatchesAddress(e,t){let n,r;try{n=new m.Address4(e),r=new m.Address4(t)}catch{try{n=new m.Address6(e),r=new m.Address6(t)}catch{return!1}}return n.bigInt()===r.bigInt()}};const S={interfaces:[],reuseAddr:!0,ttl:255,loopback:!0,onMessage:(e,t)=>{console.log(`Message `+e.toString())},socketError:e=>{console.log(`Socket error `+e.message)}};var C=class e{static validateSettings(e){if(!e.multicastAddress)throw Error(`Socket settings require multicastAddress`);if(!e.multicastPort)throw Error(`Socket settings require multicastPort`)}static createMulticastSocket(t){return new Promise((n,r)=>{let i=Object.assign({},S,t);e.validateSettings(i);let a=h.createSocket({type:m.Address4.isValid(i.multicastAddress)?`udp4`:`udp6`,reuseAddr:i.reuseAddr}),o=!1;a.on(`error`,e=>{o?i.socketError(e):(a.close(),n({success:!1,error:e}))}).on(`listening`,()=>{o=!0,a.setMulticastTTL(i.ttl??255),a.setMulticastLoopback(i.loopback??!0);let t=e.addMulticastMemberships(a,i);if(!t.memberships.length){o=!1,a.close(),n({success:!1,error:Error(`No interface memberships for multicast address `+i.multicastAddress)});return}n(Object.assign({success:!0},t,{socket:a}))}).on(`message`,(e,t)=>{i.onMessage(e,t)}),a.bind({port:i.multicastPort,exclusive:!1})})}static addMulticastMemberships(t,n){let r=[],i=[],a=m.Address4.isValid(n.multicastAddress)?[v,4]:[y,6];return n.interfaces.forEach(o=>{if(a.includes(o.family))try{t.addMembership(n.multicastAddress,e.interfaceAddress(o)),r.push(o)}catch{i.push(o)}}),{memberships:r,failedMemberships:i}}static async createSendSocket(t,n,r,i,a){return new Promise(o=>{let s=[`IPv4`,4].includes(t.family)?`udp4`:`udp6`,c=e.interfaceAddress(t),l=n.srcPort??0,u=!1,d=e=>{let l=h.createSocket({type:s,reuseAddr:!!n.reuseAddr,reusePort:!0}),f=!1;l.on(`error`,t=>{f?i(t):(l.close(),e!==0&&!u?(u=!0,a?.(`mDNS send socket bind to ${c}:${e} failed (${t.message}); falling back to ephemeral source port — discovery may be unreliable on strict firewalls.`),d(0)):o({success:!1,error:Error(t.message)}))}).on(`listening`,()=>{f=!0,o({success:!0,iface:t,socket:l,send:l.send.bind(l)})}).on(`message`,(e,n)=>{n.interface=t.name,r(e,n)}).bind(e,c)};d(l)})}static interfaceAddress(e){return[`IPv4`,4].includes(e.family)?e.address:e.scopeid?`${e.address}%${e.name}`:e.address}};const w={reuseAddr:!0,srcPort:5353,interfaces:null,ttl:255,loopback:!0,debug:!1};var T=class extends f{Config;ready;receiveSockets;sendSockets;interfaces;destroyed;constructor(e){super(),this.Config=Object.assign({},w,e),this.ready=!1,this.receiveSockets=[],this.sendSockets=[]}async init(){try{this.interfaces=x.getInterfaces(this.Config.interfaces||void 0)}catch(e){throw this.emitError(e),e}return this.emitDebug(`Scanner interfaces: ${p.inspect(this.interfaces)}`),await this.createReceiveSockets(),await this.createSendSockets(),this.receiveSockets.length&&this.sendSockets.length&&(this.ready=!0),this.ready}async createReceiveSockets(){if(!this.interfaces)return[];let e=this.interfaces.filter(e=>[v,4].includes(e.family)),t=this.interfaces.filter(e=>[y,6].includes(e.family));if(this.emitDebug(`Create receive sockets for${e.length?` IPv4`:``}${e.length&&t.length?` and`:``}${t.length?` IPv6`:``}`),e.length){let t=await C.createMulticastSocket({multicastAddress:g,multicastPort:_,interfaces:e,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});t.success?this.receiveSockets.push(t):t.error&&this.emitWarn(t.error.message)}if(t.length){let e=await C.createMulticastSocket({multicastAddress:`FF02::FB`,multicastPort:_,interfaces:t,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});e.success?this.receiveSockets.push(e):e.error&&this.emitWarn(e.error.message)}return this.receiveSockets}async createSendSockets(){if(this.interfaces){this.emitDebug(`Create send sockets on ${this.interfaces.length} interfaces/addresses.`);for(let e=0;e<this.interfaces.length;e++){let t=await C.createSendSocket(this.interfaces[e],this.Config,this.onMessage.bind(this),this.socketError.bind(this),this.emitWarn.bind(this));t.success?this.sendSockets.push(t):t.error&&this.emitWarn(t.error.message)}}}onMessage(e,t){let n;try{n=d.decode(e)}catch(e){return this.emitWarn(e)}this.emit(`packet`,n,t)}socketError(e){e.code===`EACCES`||e.code===`EADDRINUSE`||e.code===`EADDRNOTAVAIL`?this.emitError(e):this.emitWarn(e)}query(e,t){let n;if(typeof e==`string`)n=[{name:e,type:t||`ANY`}];else if(Array.isArray(e))n=e;else throw Error(`Query questions must be an array of mDNS query questions.`);let r={type:`query`,questions:n};this.emitDebug(`Send mDNS query: ${p.inspect(r)}`),this.send(r)}send(e){if(this.destroyed)return;let t=d.encode(e);e.type===`query`&&this.setUnicastResponseBit(t);for(let e=0;e<this.sendSockets.length;e++){let n=this.sendSockets[e];if(n.send&&n.iface)try{n.send(t,0,t.length,_,[`IPv4`,4].includes(n.iface.family)?g:`FF02::FB%`+n.iface.name),this.emitDebug(`Send packet on ${n.iface.address}`)}catch{}}}setUnicastResponseBit(e){let t=e.readUInt16BE(4),n=12;for(let r=0;r<t&&n<e.length;r++){for(;n<e.length&&e[n]!==0;)n+=e[n]+1;n+=1,n+=2,n<e.length&&(e[n]|=128),n+=2}}destroy(){this.destroyed=!0,this.ready=!1,this.removeAllListeners(),this.sendSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.sendSockets=[],this.receiveSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.receiveSockets=[]}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const E={debug:!1};var D=class extends f{Config;scanner;types;namedServices;packetListener;constructor(e,t){super(),this.packetListener=this.onPacket.bind(this),this.scanner=e,this.Config=Object.assign({},E,t),this.types=[],this.namedServices={},this.forwardEvents(this.scanner),this.reset()}reset(){this.removeMDNSListener(this.scanner),this.types=[],this.namedServices={},this.listenMDNSEvents(this.scanner)}forwardEvents(e){e.on(`error`,e=>{this.emitError(e)}).on(`warn`,e=>{this.emitWarn(e)}).on(`debug`,e=>{this.emitDebug(e)})}listenMDNSEvents(e){e.on(`packet`,this.packetListener)}removeMDNSListener(e){e.removeListener(`packet`,this.packetListener)}onPacket(e,t){switch(this.emitDebug(`Received packet type ${e.type} from ${t.address}.`),e.type){case`query`:this.emit(`query`,e,t);break;case`response`:this.emitDebug(`Received response packet from ${t.address} with ${e.answers?e.answers.length:0} answers and ${e.additionals?e.additionals.length:0} additionals.`),e.answers&&this.processAnswers(e.answers,t),e.additionals&&this.processAnswers(e.additionals,t);break}}processAnswers(e,t){this.emitDebug(`Processing answers or additionals...`);let n=this.processSRVAnswers(e);this.processTXTAnswers(e),this.processAAnswers(e),this.processAAAAAnswers(e),this.processPTRAnswers(e,t),n.forEach(e=>{this.emit(`discovered`,{type:`service`,data:this.namedServices[e]})})}processSRVAnswers(e){let t=[];return e.forEach(e=>{if(e.type!==`SRV`)return;this.emitDebug(`Processing SRV answer.`);let n=e.name.toString();t.includes(n)||t.push(n),this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].service=e,this.namedServices[n].host=e.data.target.toString(),this.namedServices[n].port=e.data.port}),t}processTXTAnswers(e){e.forEach(e=>{if(e.type!==`TXT`)return;this.emitDebug(`Processing TXT answer.`);let t=e.data;if(Array.isArray(t)&&t.length>1){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(Buffer.concat(t))}else if(Buffer.isBuffer(t)){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(t)}})}processAAnswers(e){e.forEach(e=>{if(e.type!==`A`)return;this.emitDebug(`Processing A answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:v,address:n}))})}processAAAAAnswers(e){e.forEach(e=>{if(e.type!==`AAAA`)return;this.emitDebug(`Processing AAAA answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:y,address:n}))})}processPTRAnswers(e,t){e.forEach(e=>{if(e.type!==`PTR`)return;this.emitDebug(`Processing PTR answer.`);let n=this.serviceTypeFromPTR(e),r=e.data.toString();n!==r&&(this.namedServices[r]=this.namedServices[r]||{},this.namedServices[r].name=r.replace(`.`+n,``),this.namedServices[r].rinfo=t)})}serviceTypeFromPTR(e){let t=e.data,n=/(?:^|^.+?(?:\.))(_.*)$/gm.exec(t.toString()),r=n?n[1]:t.toString();return this.types.includes(r)||(this.types.push(r),this.emit(`discovered`,{type:`type`,data:r}),this.emitDebug(`Scanning service type ${r}.`),this.scanner.query(r,`ANY`)),r}answerDataToKeyValues(e){let t=[],n={},r=0,i=e[r];for(;i;){let a=e.slice(r+1,r+1+i);t.push(a.toString());let o=/^([^=]+)=([^=]*)$/.exec(a.toString());o&&(n[o[1]]=o[2]),r=r+1+i,i=e[r]}return{strings:t,keyValuePairs:n}}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};function O(e){return e.startsWith(`192.168.`)?0:e.startsWith(`169.254.`)?1:2}function k(){try{return u(`/etc/at1000/hostname`,`utf8`).trim()||void 0}catch{return}}function A(){try{return u(`/etc/at1000/project`,`utf8`).trim()||void 0}catch{return}}async function j(e){return{host:e,info:await new n(s(fetch,()=>({baseUrl:`http://${a(e)}/v0`,timeout:1e3,parseRejected:(e,n)=>t(e,n.method)})),e).info()}}const M=async()=>{let e=k();if(e)for(let t of[`${e}.local`,`host.containers.internal`])try{if((await j(t)).info.hostname===e)return t}catch{}},N=async(e=500)=>{e<10&&(e=10);let t=new T({debug:!0}),n=new D(t);if(n.on(`error`,e=>{if(!e.includes(`bind ENOENT`))throw Error(e)}),!await t.init())throw Error(`Failed to initialize mDNS scanner`);t.query(`_at1000_server._tcp.local`),await new Promise(t=>setTimeout(t,e));let r=[...new Set(Object.values(n.namedServices).filter(e=>e.service!==void 0).filter(e=>(e.service?.name)?.endsWith(`_at1000_server._tcp.local`)).flatMap(e=>{let t=e.addresses??[],n=e.port,r=t.filter(e=>e.family===`IPv4`).map(e=>a(e.address,n)),i=t.filter(e=>e.family===`IPv6`).map(e=>a(e.address,n));return[...r,...i]}))];t.destroy();let i=(await Promise.allSettled(r.map(j))).filter(e=>e.status===`fulfilled`).map(e=>e.value),o=new Map;for(let e of i){let t=o.get(e.info.hostname);t?O(e.host)<O(t.host)&&o.set(e.info.hostname,e):o.set(e.info.hostname,e)}let s=[...o.values()],c=k();if(!c)return s.map(e=>e.host);let l=s.findIndex(e=>e.info.hostname===c);if(l>=0)return s.unshift(...s.splice(l,1)),s.map(e=>e.host);let u=await M();return u?[u,...s.map(e=>e.host)]:s.map(e=>e.host)};var P=class extends o{static apiVersion=e;static findDevices(e=500){return N(e)}static isStandalone(){return A()!==void 0}static findLocalDevice(){return M()}static async open(e,t){let n=A(),r=n?{kind:`project`,project:n,defaultLabel:n}:{kind:`remote`,defaultLabel:l()};return await o.openBase(e,t,r)}};export{P as AT1000,i as ApiError,a as format_host_for_url,r as host_without_port};
|
|
1
|
+
import{t as e}from"./package-CU5MagIg.mjs";import{a as t,d as n,i as r,n as i,r as a,t as o}from"./at1000-Zs18VzlP.mjs";import{up as s}from"up-fetch";import c,{hostname as l}from"node:os";import{readFileSync as u}from"node:fs";import d from"dns-packet";import{EventEmitter as f}from"node:events";import p from"node:util";import m from"ip-address";import h from"node:dgram";const g=`224.0.0.251`,_=5353,v=`IPv4`,y=`IPv6`,b=[v,4,y,6];var x=class e{static getInterfaces(t){return t?e.getInterfacesFromStrings(t):e.getAllInterfaces()}static getAllInterfaces(){let e=[],t=[],n=c.networkInterfaces();for(let[r,i]of Object.entries(n))t.includes(r)||(t.push(r),i?.forEach(t=>{t.internal||!b.includes(t.family)||/^(2002|2001):/gi.exec(t.address)||e.push({name:r,address:t.address,family:t.family,scopeid:t.scopeid})}));if(!e.length)throw Error(`No usable network interfaces returned by OS.`);return e}static getInterfacesFromStrings(t){let n=Array.isArray(t)?t:[t],r=this.getAllInterfaces().filter(t=>n.reduce((n,r)=>n||!!(e.stringMatchesAddress(r,t.address)||t.name===r),!1));if(!r||!r.length)throw Error(`No usable network interfaces returned by OS.`);return r}static stringMatchesAddress(e,t){let n,r;try{n=new m.Address4(e),r=new m.Address4(t)}catch{try{n=new m.Address6(e),r=new m.Address6(t)}catch{return!1}}return n.bigInt()===r.bigInt()}};const S={interfaces:[],reuseAddr:!0,ttl:255,loopback:!0,onMessage:(e,t)=>{console.log(`Message `+e.toString())},socketError:e=>{console.log(`Socket error `+e.message)}};var C=class e{static validateSettings(e){if(!e.multicastAddress)throw Error(`Socket settings require multicastAddress`);if(!e.multicastPort)throw Error(`Socket settings require multicastPort`)}static createMulticastSocket(t){return new Promise((n,r)=>{let i=Object.assign({},S,t);e.validateSettings(i);let a=h.createSocket({type:m.Address4.isValid(i.multicastAddress)?`udp4`:`udp6`,reuseAddr:i.reuseAddr}),o=!1;a.on(`error`,e=>{o?i.socketError(e):(a.close(),n({success:!1,error:e}))}).on(`listening`,()=>{o=!0,a.setMulticastTTL(i.ttl??255),a.setMulticastLoopback(i.loopback??!0);let t=e.addMulticastMemberships(a,i);if(!t.memberships.length){o=!1,a.close(),n({success:!1,error:Error(`No interface memberships for multicast address `+i.multicastAddress)});return}n(Object.assign({success:!0},t,{socket:a}))}).on(`message`,(e,t)=>{i.onMessage(e,t)}),a.bind({port:i.multicastPort,exclusive:!1})})}static addMulticastMemberships(t,n){let r=[],i=[],a=m.Address4.isValid(n.multicastAddress)?[v,4]:[y,6];return n.interfaces.forEach(o=>{if(a.includes(o.family))try{t.addMembership(n.multicastAddress,e.interfaceAddress(o)),r.push(o)}catch{i.push(o)}}),{memberships:r,failedMemberships:i}}static async createSendSocket(t,n,r,i,a){return new Promise(o=>{let s=[`IPv4`,4].includes(t.family)?`udp4`:`udp6`,c=e.interfaceAddress(t),l=n.srcPort??0,u=!1,d=e=>{let l=h.createSocket({type:s,reuseAddr:!!n.reuseAddr,reusePort:!0}),f=!1;l.on(`error`,t=>{f?i(t):(l.close(),e!==0&&!u?(u=!0,a?.(`mDNS send socket bind to ${c}:${e} failed (${t.message}); falling back to ephemeral source port — discovery may be unreliable on strict firewalls.`),d(0)):o({success:!1,error:Error(t.message)}))}).on(`listening`,()=>{f=!0,o({success:!0,iface:t,socket:l,send:l.send.bind(l)})}).on(`message`,(e,n)=>{n.interface=t.name,r(e,n)}).bind(e,c)};d(l)})}static interfaceAddress(e){return[`IPv4`,4].includes(e.family)?e.address:e.scopeid?`${e.address}%${e.name}`:e.address}};const w={reuseAddr:!0,srcPort:5353,interfaces:null,ttl:255,loopback:!0,debug:!1};var T=class extends f{Config;ready;receiveSockets;sendSockets;interfaces;destroyed;constructor(e){super(),this.Config=Object.assign({},w,e),this.ready=!1,this.receiveSockets=[],this.sendSockets=[]}async init(){try{this.interfaces=x.getInterfaces(this.Config.interfaces||void 0)}catch(e){throw this.emitError(e),e}return this.emitDebug(`Scanner interfaces: ${p.inspect(this.interfaces)}`),await this.createReceiveSockets(),await this.createSendSockets(),this.receiveSockets.length&&this.sendSockets.length&&(this.ready=!0),this.ready}async createReceiveSockets(){if(!this.interfaces)return[];let e=this.interfaces.filter(e=>[v,4].includes(e.family)),t=this.interfaces.filter(e=>[y,6].includes(e.family));if(this.emitDebug(`Create receive sockets for${e.length?` IPv4`:``}${e.length&&t.length?` and`:``}${t.length?` IPv6`:``}`),e.length){let t=await C.createMulticastSocket({multicastAddress:g,multicastPort:_,interfaces:e,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});t.success?this.receiveSockets.push(t):t.error&&this.emitWarn(t.error.message)}if(t.length){let e=await C.createMulticastSocket({multicastAddress:`FF02::FB`,multicastPort:_,interfaces:t,onMessage:this.onMessage.bind(this),socketError:this.socketError.bind(this)});e.success?this.receiveSockets.push(e):e.error&&this.emitWarn(e.error.message)}return this.receiveSockets}async createSendSockets(){if(this.interfaces){this.emitDebug(`Create send sockets on ${this.interfaces.length} interfaces/addresses.`);for(let e=0;e<this.interfaces.length;e++){let t=await C.createSendSocket(this.interfaces[e],this.Config,this.onMessage.bind(this),this.socketError.bind(this),this.emitWarn.bind(this));t.success?this.sendSockets.push(t):t.error&&this.emitWarn(t.error.message)}}}onMessage(e,t){let n;try{n=d.decode(e)}catch(e){return this.emitWarn(e)}this.emit(`packet`,n,t)}socketError(e){e.code===`EACCES`||e.code===`EADDRINUSE`||e.code===`EADDRNOTAVAIL`?this.emitError(e):this.emitWarn(e)}query(e,t){let n;if(typeof e==`string`)n=[{name:e,type:t||`ANY`}];else if(Array.isArray(e))n=e;else throw Error(`Query questions must be an array of mDNS query questions.`);let r={type:`query`,questions:n};this.emitDebug(`Send mDNS query: ${p.inspect(r)}`),this.send(r)}send(e){if(this.destroyed)return;let t=d.encode(e);e.type===`query`&&this.setUnicastResponseBit(t);for(let e=0;e<this.sendSockets.length;e++){let n=this.sendSockets[e];if(n.send&&n.iface)try{n.send(t,0,t.length,_,[`IPv4`,4].includes(n.iface.family)?g:`FF02::FB%`+n.iface.name),this.emitDebug(`Send packet on ${n.iface.address}`)}catch{}}}setUnicastResponseBit(e){let t=e.readUInt16BE(4),n=12;for(let r=0;r<t&&n<e.length;r++){for(;n<e.length&&e[n]!==0;)n+=e[n]+1;n+=1,n+=2,n<e.length&&(e[n]|=128),n+=2}}destroy(){this.destroyed=!0,this.ready=!1,this.removeAllListeners(),this.sendSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.sendSockets=[],this.receiveSockets.forEach(e=>{try{e.socket?.close()}catch{}}),this.receiveSockets=[]}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};const E={debug:!1};var D=class extends f{Config;scanner;types;namedServices;packetListener;constructor(e,t){super(),this.packetListener=this.onPacket.bind(this),this.scanner=e,this.Config=Object.assign({},E,t),this.types=[],this.namedServices={},this.forwardEvents(this.scanner),this.reset()}reset(){this.removeMDNSListener(this.scanner),this.types=[],this.namedServices={},this.listenMDNSEvents(this.scanner)}forwardEvents(e){e.on(`error`,e=>{this.emitError(e)}).on(`warn`,e=>{this.emitWarn(e)}).on(`debug`,e=>{this.emitDebug(e)})}listenMDNSEvents(e){e.on(`packet`,this.packetListener)}removeMDNSListener(e){e.removeListener(`packet`,this.packetListener)}onPacket(e,t){switch(this.emitDebug(`Received packet type ${e.type} from ${t.address}.`),e.type){case`query`:this.emit(`query`,e,t);break;case`response`:this.emitDebug(`Received response packet from ${t.address} with ${e.answers?e.answers.length:0} answers and ${e.additionals?e.additionals.length:0} additionals.`),e.answers&&this.processAnswers(e.answers,t),e.additionals&&this.processAnswers(e.additionals,t);break}}processAnswers(e,t){this.emitDebug(`Processing answers or additionals...`);let n=this.processSRVAnswers(e);this.processTXTAnswers(e),this.processAAnswers(e),this.processAAAAAnswers(e),this.processPTRAnswers(e,t),n.forEach(e=>{this.emit(`discovered`,{type:`service`,data:this.namedServices[e]})})}processSRVAnswers(e){let t=[];return e.forEach(e=>{if(e.type!==`SRV`)return;this.emitDebug(`Processing SRV answer.`);let n=e.name.toString();t.includes(n)||t.push(n),this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].service=e,this.namedServices[n].host=e.data.target.toString(),this.namedServices[n].port=e.data.port}),t}processTXTAnswers(e){e.forEach(e=>{if(e.type!==`TXT`)return;this.emitDebug(`Processing TXT answer.`);let t=e.data;if(Array.isArray(t)&&t.length>1){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(Buffer.concat(t))}else if(Buffer.isBuffer(t)){let n=e.name.toString();this.namedServices[n]=this.namedServices[n]||{},this.namedServices[n].txt=this.answerDataToKeyValues(t)}})}processAAnswers(e){e.forEach(e=>{if(e.type!==`A`)return;this.emitDebug(`Processing A answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:v,address:n}))})}processAAAAAnswers(e){e.forEach(e=>{if(e.type!==`AAAA`)return;this.emitDebug(`Processing AAAA answer.`);let t=e.name.toString(),n=e.data.toString();for(let e in this.namedServices)this.namedServices[e].host===t&&(this.namedServices[e].addresses=this.namedServices[e].addresses||[],this.namedServices[e].addresses.reduce((e,t)=>e||t.address===n,!1)||this.namedServices[e].addresses.push({family:y,address:n}))})}processPTRAnswers(e,t){e.forEach(e=>{if(e.type!==`PTR`)return;this.emitDebug(`Processing PTR answer.`);let n=this.serviceTypeFromPTR(e),r=e.data.toString();n!==r&&(this.namedServices[r]=this.namedServices[r]||{},this.namedServices[r].name=r.replace(`.`+n,``),this.namedServices[r].rinfo=t)})}serviceTypeFromPTR(e){let t=e.data,n=/(?:^|^.+?(?:\.))(_.*)$/gm.exec(t.toString()),r=n?n[1]:t.toString();return this.types.includes(r)||(this.types.push(r),this.emit(`discovered`,{type:`type`,data:r}),this.emitDebug(`Scanning service type ${r}.`),this.scanner.query(r,`ANY`)),r}answerDataToKeyValues(e){let t=[],n={},r=0,i=e[r];for(;i;){let a=e.slice(r+1,r+1+i);t.push(a.toString());let o=/^([^=]+)=([^=]*)$/.exec(a.toString());o&&(n[o[1]]=o[2]),r=r+1+i,i=e[r]}return{strings:t,keyValuePairs:n}}emitError(e){this.emit(`error`,e)}emitWarn(e){this.emit(`warn`,e)}emitDebug(e){this.Config.debug&&this.emit(`debug`,e)}};function O(e){return e.startsWith(`192.168.`)?0:e.startsWith(`169.254.`)?1:2}function k(){try{return u(`/etc/at1000/hostname`,`utf8`).trim()||void 0}catch{return}}function A(){try{return u(`/etc/at1000/project`,`utf8`).trim()||void 0}catch{return}}async function j(e){return{host:e,info:await new n(s(fetch,()=>({baseUrl:`http://${a(e)}/v0`,timeout:1e3,parseRejected:(e,n)=>t(e,n.method)})),e).info()}}const M=async()=>{let e=k();if(e)for(let t of[`${e}.local`,`host.containers.internal`])try{if((await j(t)).info.hostname===e)return t}catch{}},N=async(e=500)=>{e<10&&(e=10);let t=new T({debug:!0}),n=new D(t);if(n.on(`error`,e=>{if(!e.includes(`bind ENOENT`))throw Error(e)}),!await t.init())throw Error(`Failed to initialize mDNS scanner`);t.query(`_at1000_server._tcp.local`),await new Promise(t=>setTimeout(t,e));let r=[...new Set(Object.values(n.namedServices).filter(e=>e.service!==void 0).filter(e=>(e.service?.name)?.endsWith(`_at1000_server._tcp.local`)).flatMap(e=>{let t=e.addresses??[],n=e.port,r=t.filter(e=>e.family===`IPv4`).map(e=>a(e.address,n)),i=t.filter(e=>e.family===`IPv6`).map(e=>a(e.address,n));return[...r,...i]}))];t.destroy();let i=(await Promise.allSettled(r.map(j))).filter(e=>e.status===`fulfilled`).map(e=>e.value),o=new Map;for(let e of i){let t=o.get(e.info.hostname);t?O(e.host)<O(t.host)&&o.set(e.info.hostname,e):o.set(e.info.hostname,e)}let s=[...o.values()],c=k();if(!c)return s.map(e=>e.host);let l=s.findIndex(e=>e.info.hostname===c);if(l>=0)return s.unshift(...s.splice(l,1)),s.map(e=>e.host);let u=await M();return u?[u,...s.map(e=>e.host)]:s.map(e=>e.host)};var P=class extends o{static apiVersion=e;static findDevices(e=500){return N(e)}static isStandalone(){return A()!==void 0}static findLocalDevice(){return M()}static async open(e,t){let n=A(),r=n?{kind:`project`,project:n,defaultLabel:n}:{kind:`remote`,defaultLabel:l()};return await o.openBase(e,t,r)}};export{P as AT1000,i as ApiError,a as format_host_for_url,r as host_without_port};
|
|
2
2
|
//# sourceMappingURL=node.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return`0.5.
|
|
2
|
-
//# sourceMappingURL=package-
|
|
1
|
+
Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return`0.5.2`}});
|
|
2
|
+
//# sourceMappingURL=package-0hAwYBa1.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-0hAwYBa1.cjs","names":[],"sources":["../package.json"],"sourcesContent":[""],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-CU5MagIg.mjs","names":[],"sources":["../package.json"],"sourcesContent":[""],"mappings":""}
|