@ikalogic/at1000 0.1.13 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/build/at1000-BWX7kovf.cjs +3 -0
  2. package/build/{at1000-DBnCRa4B.cjs.map → at1000-BWX7kovf.cjs.map} +1 -1
  3. package/build/{at1000-BLTMMFOe.d.cts → at1000-DIVuASWg.d.cts} +7 -7
  4. package/build/at1000-DIVuASWg.d.cts.map +1 -0
  5. package/build/at1000-TQqJHjwy.mjs +3 -0
  6. package/build/{at1000-DOi600n-.mjs.map → at1000-TQqJHjwy.mjs.map} +1 -1
  7. package/build/{at1000-tq5RRNjA.d.mts → at1000-TeP9-fyr.d.mts} +7 -7
  8. package/build/at1000-TeP9-fyr.d.mts.map +1 -0
  9. package/build/browser.cjs +1 -1
  10. package/build/browser.cjs.map +1 -1
  11. package/build/browser.d.cts +1 -1
  12. package/build/browser.d.cts.map +1 -1
  13. package/build/browser.d.mts +2 -8
  14. package/build/browser.d.mts.map +1 -1
  15. package/build/browser.mjs +1 -1
  16. package/build/browser.mjs.map +1 -1
  17. package/build/com.cjs +2 -1
  18. package/build/com.cjs.map +1 -0
  19. package/build/com.d.cts +1155 -2
  20. package/build/com.d.cts.map +1 -0
  21. package/build/com.d.mts +1155 -2
  22. package/build/com.d.mts.map +1 -0
  23. package/build/com.mjs +2 -1
  24. package/build/com.mjs.map +1 -0
  25. package/build/{common-SFHWBeL2.cjs → common-Bbc8Sixu.cjs} +1 -1
  26. package/build/{common-SFHWBeL2.cjs.map → common-Bbc8Sixu.cjs.map} +1 -1
  27. package/build/{common-B_zag9Mq.mjs → common-D4tBd_j2.mjs} +1 -1
  28. package/build/{common-B_zag9Mq.mjs.map → common-D4tBd_j2.mjs.map} +1 -1
  29. package/build/{common-DAOxX-Zx.d.cts → common-DJ7WSo1p.d.mts} +1 -1
  30. package/build/common-DJ7WSo1p.d.mts.map +1 -0
  31. package/build/{common-SiysH9tt.d.mts → common-DWQyDOs5.d.cts} +1 -1
  32. package/build/common-DWQyDOs5.d.cts.map +1 -0
  33. package/build/gpio.cjs +2 -1
  34. package/build/gpio.cjs.map +1 -0
  35. package/build/gpio.d.cts +358 -3
  36. package/build/gpio.d.cts.map +1 -0
  37. package/build/gpio.d.mts +358 -4
  38. package/build/gpio.d.mts.map +1 -0
  39. package/build/gpio.mjs +2 -1
  40. package/build/gpio.mjs.map +1 -0
  41. package/build/hmi.cjs +2 -1
  42. package/build/hmi.cjs.map +1 -0
  43. package/build/hmi.d.cts +135 -2
  44. package/build/hmi.d.cts.map +1 -0
  45. package/build/hmi.d.mts +135 -2
  46. package/build/hmi.d.mts.map +1 -0
  47. package/build/hmi.mjs +2 -1
  48. package/build/hmi.mjs.map +1 -0
  49. package/build/management.cjs +2 -1
  50. package/build/management.cjs.map +1 -0
  51. package/build/management.d.cts +283 -2
  52. package/build/management.d.cts.map +1 -0
  53. package/build/management.d.mts +283 -2
  54. package/build/management.d.mts.map +1 -0
  55. package/build/management.mjs +2 -1
  56. package/build/management.mjs.map +1 -0
  57. package/build/node.cjs +1 -1
  58. package/build/node.cjs.map +1 -1
  59. package/build/node.d.cts +1 -1
  60. package/build/node.d.cts.map +1 -1
  61. package/build/node.d.mts +2 -8
  62. package/build/node.d.mts.map +1 -1
  63. package/build/node.mjs +1 -1
  64. package/build/node.mjs.map +1 -1
  65. package/build/power.cjs +2 -1
  66. package/build/power.cjs.map +1 -0
  67. package/build/power.d.cts +343 -3
  68. package/build/power.d.cts.map +1 -0
  69. package/build/power.d.mts +343 -4
  70. package/build/power.d.mts.map +1 -0
  71. package/build/power.mjs +2 -1
  72. package/build/power.mjs.map +1 -0
  73. package/build/relays.cjs +2 -1
  74. package/build/relays.cjs.map +1 -0
  75. package/build/relays.d.cts +80 -2
  76. package/build/relays.d.cts.map +1 -0
  77. package/build/relays.d.mts +80 -2
  78. package/build/relays.d.mts.map +1 -0
  79. package/build/relays.mjs +2 -1
  80. package/build/relays.mjs.map +1 -0
  81. package/package.json +11 -7
  82. package/build/at1000-BLTMMFOe.d.cts.map +0 -1
  83. package/build/at1000-DBnCRa4B.cjs +0 -3
  84. package/build/at1000-DOi600n-.mjs +0 -3
  85. package/build/at1000-tq5RRNjA.d.mts.map +0 -1
  86. package/build/com-9S4BYQCi.mjs +0 -2
  87. package/build/com-9S4BYQCi.mjs.map +0 -1
  88. package/build/com-C7d5yOIK.cjs +0 -2
  89. package/build/com-C7d5yOIK.cjs.map +0 -1
  90. package/build/com-C9-fdGPZ.d.mts +0 -1155
  91. package/build/com-C9-fdGPZ.d.mts.map +0 -1
  92. package/build/com-DFB9TPdI.d.cts +0 -1155
  93. package/build/com-DFB9TPdI.d.cts.map +0 -1
  94. package/build/common-DAOxX-Zx.d.cts.map +0 -1
  95. package/build/common-SiysH9tt.d.mts.map +0 -1
  96. package/build/gpio-BWNwiLs7.cjs +0 -2
  97. package/build/gpio-BWNwiLs7.cjs.map +0 -1
  98. package/build/gpio-DQwp2EAk.d.mts +0 -358
  99. package/build/gpio-DQwp2EAk.d.mts.map +0 -1
  100. package/build/gpio-DUqCYSA4.d.cts +0 -358
  101. package/build/gpio-DUqCYSA4.d.cts.map +0 -1
  102. package/build/gpio-lBesVV2E.mjs +0 -2
  103. package/build/gpio-lBesVV2E.mjs.map +0 -1
  104. package/build/hmi-BCMtWRQH.d.mts +0 -135
  105. package/build/hmi-BCMtWRQH.d.mts.map +0 -1
  106. package/build/hmi-CGDU48qM.d.cts +0 -135
  107. package/build/hmi-CGDU48qM.d.cts.map +0 -1
  108. package/build/hmi-CTx2jfxU.mjs +0 -2
  109. package/build/hmi-CTx2jfxU.mjs.map +0 -1
  110. package/build/hmi-CnTa8kMx.cjs +0 -2
  111. package/build/hmi-CnTa8kMx.cjs.map +0 -1
  112. package/build/management-BMEMu2Kx.mjs +0 -2
  113. package/build/management-BMEMu2Kx.mjs.map +0 -1
  114. package/build/management-CCwBNLm_.d.cts +0 -240
  115. package/build/management-CCwBNLm_.d.cts.map +0 -1
  116. package/build/management-Cw05hjbG.d.mts +0 -240
  117. package/build/management-Cw05hjbG.d.mts.map +0 -1
  118. package/build/management-Lna6AzGK.cjs +0 -2
  119. package/build/management-Lna6AzGK.cjs.map +0 -1
  120. package/build/power-BkJtVbiA.d.cts +0 -343
  121. package/build/power-BkJtVbiA.d.cts.map +0 -1
  122. package/build/power-Bz5S5GGr.mjs +0 -2
  123. package/build/power-Bz5S5GGr.mjs.map +0 -1
  124. package/build/power-C7KM2zvR.cjs +0 -2
  125. package/build/power-C7KM2zvR.cjs.map +0 -1
  126. package/build/power-nWlY0xFN.d.mts +0 -343
  127. package/build/power-nWlY0xFN.d.mts.map +0 -1
  128. package/build/relays-BK2uL5i_.cjs +0 -2
  129. package/build/relays-BK2uL5i_.cjs.map +0 -1
  130. package/build/relays-Bn8LBgWl.d.cts +0 -79
  131. package/build/relays-Bn8LBgWl.d.cts.map +0 -1
  132. package/build/relays-CkBk7SOg.d.mts +0 -79
  133. package/build/relays-CkBk7SOg.d.mts.map +0 -1
  134. package/build/relays-CqglfFwF.mjs +0 -2
  135. package/build/relays-CqglfFwF.mjs.map +0 -1
@@ -1,240 +0,0 @@
1
- import { UpFetch } from "up-fetch";
2
- import * as v from "valibot";
3
-
4
- //#region src/api/management.d.ts
5
- declare enum CommunicationInterfaceType {
6
- Can = "can",
7
- Rs232 = "rs232",
8
- Rs485 = "rs485",
9
- I2c = "i2c",
10
- Spi = "spi",
11
- Uart = "uart",
12
- }
13
- declare const info: v.ObjectSchema<{
14
- readonly model: v.StringSchema<undefined>;
15
- readonly serial_number: v.StringSchema<undefined>;
16
- readonly firmware_version: v.StringSchema<undefined>;
17
- readonly firmware_commit: v.StringSchema<undefined>;
18
- readonly disk_used: v.NumberSchema<undefined>;
19
- readonly disk_total: v.NumberSchema<undefined>;
20
- readonly docker_used: v.NumberSchema<undefined>;
21
- readonly capabilities: v.ObjectSchema<{
22
- readonly io: v.ObjectSchema<{
23
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
24
- readonly input_voltage: v.ObjectSchema<{
25
- readonly min: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -24, undefined>, v.MaxValueAction<number, 24, undefined>]>;
26
- readonly max: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -24, undefined>, v.MaxValueAction<number, 24, undefined>]>;
27
- }, undefined>;
28
- readonly output_voltage: v.ObjectSchema<{
29
- readonly min: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -24, undefined>, v.MaxValueAction<number, 24, undefined>]>;
30
- readonly max: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -24, undefined>, v.MaxValueAction<number, 24, undefined>]>;
31
- }, undefined>;
32
- }, undefined>;
33
- readonly relays: v.ObjectSchema<{
34
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>;
35
- readonly max_current: v.NumberSchema<undefined>;
36
- readonly max_voltage: v.NumberSchema<undefined>;
37
- readonly on_resistance: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>;
38
- }, undefined>;
39
- readonly usb_ports: v.ArraySchema<v.ObjectSchema<{
40
- readonly type: v.PicklistSchema<["3.0", "2.0"], undefined>;
41
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
42
- }, undefined>, undefined>;
43
- readonly ethernet: v.ArraySchema<v.ObjectSchema<{
44
- readonly type: v.PicklistSchema<["1000BASE-T", "100BASE-T", "10BASE-T"], undefined>;
45
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
46
- }, undefined>, undefined>;
47
- readonly communication: v.ArraySchema<v.ObjectSchema<{
48
- readonly type: v.EnumSchema<typeof CommunicationInterfaceType, undefined>;
49
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
50
- }, undefined>, undefined>;
51
- readonly power_supply: v.ObjectSchema<{
52
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
53
- readonly output_voltage: v.ObjectSchema<{
54
- readonly min: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -24, undefined>, v.MaxValueAction<number, 24, undefined>]>;
55
- readonly max: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -24, undefined>, v.MaxValueAction<number, 24, undefined>]>;
56
- }, undefined>;
57
- readonly current: v.ObjectSchema<{
58
- readonly max: v.NumberSchema<undefined>;
59
- }, undefined>;
60
- }, undefined>;
61
- readonly current_measurement: v.ArraySchema<v.ObjectSchema<{
62
- readonly type: v.PicklistSchema<["low_precision", "high_precision"], undefined>;
63
- readonly source: v.StringSchema<undefined>;
64
- readonly resolution: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>;
65
- }, undefined>, undefined>;
66
- readonly hmi: v.ObjectSchema<{
67
- readonly display: v.ObjectSchema<{
68
- readonly type: v.StringSchema<undefined>;
69
- readonly size: v.ObjectSchema<{
70
- readonly width: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
71
- readonly height: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 1, undefined>]>;
72
- }, undefined>;
73
- }, undefined>;
74
- readonly input: v.ObjectSchema<{
75
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>;
76
- readonly type: v.StringSchema<undefined>;
77
- }, undefined>;
78
- readonly speaker: v.ObjectSchema<{
79
- readonly count: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>;
80
- readonly type: v.StringSchema<undefined>;
81
- }, undefined>;
82
- }, undefined>;
83
- }, undefined>;
84
- }, undefined>;
85
- type Information = v.InferOutput<typeof info>;
86
- declare const project: v.ObjectSchema<{
87
- readonly name: v.StringSchema<undefined>;
88
- readonly path: v.StringSchema<undefined>;
89
- readonly container_id: v.StringSchema<undefined>;
90
- readonly image: v.StringSchema<undefined>;
91
- }, undefined>;
92
- type Project = v.InferOutput<typeof project>;
93
- declare const createProject: v.ObjectSchema<{
94
- readonly name: v.StringSchema<undefined>;
95
- readonly image: v.StringSchema<undefined>;
96
- }, undefined>;
97
- type CreateProject = v.InferOutput<typeof createProject>;
98
- /** @hideconstructor */
99
- declare class ManagementApi {
100
- private readonly fetch;
101
- constructor(fetch: UpFetch);
102
- /**
103
- * Gets device information and capabilities.
104
- * @returns The device information.
105
- */
106
- info(): Promise<{
107
- model: string;
108
- serial_number: string;
109
- firmware_version: string;
110
- firmware_commit: string;
111
- disk_used: number;
112
- disk_total: number;
113
- docker_used: number;
114
- capabilities: {
115
- io: {
116
- count: number;
117
- input_voltage: {
118
- min: number;
119
- max: number;
120
- };
121
- output_voltage: {
122
- min: number;
123
- max: number;
124
- };
125
- };
126
- relays: {
127
- count: number;
128
- max_current: number;
129
- max_voltage: number;
130
- on_resistance: number;
131
- };
132
- usb_ports: {
133
- type: "3.0" | "2.0";
134
- count: number;
135
- }[];
136
- ethernet: {
137
- type: "1000BASE-T" | "100BASE-T" | "10BASE-T";
138
- count: number;
139
- }[];
140
- communication: {
141
- type: CommunicationInterfaceType;
142
- count: number;
143
- }[];
144
- power_supply: {
145
- count: number;
146
- output_voltage: {
147
- min: number;
148
- max: number;
149
- };
150
- current: {
151
- max: number;
152
- };
153
- };
154
- current_measurement: {
155
- type: "low_precision" | "high_precision";
156
- source: string;
157
- resolution: number;
158
- }[];
159
- hmi: {
160
- display: {
161
- type: string;
162
- size: {
163
- width: number;
164
- height: number;
165
- };
166
- };
167
- input: {
168
- count: number;
169
- type: string;
170
- };
171
- speaker: {
172
- count: number;
173
- type: string;
174
- };
175
- };
176
- };
177
- }>;
178
- /**
179
- * Gets the current date and time of the device.
180
- * @returns The current date and time.
181
- */
182
- datetime(): Promise<Date>;
183
- /**
184
- * Sets the date and time of the device.
185
- *
186
- * This will only work if the device is not connected to the internet.
187
- *
188
- * @param datetime The date and time to set.
189
- */
190
- setDatetime(datetime: Date): Promise<void>;
191
- /**
192
- * Gets a list of all projects.
193
- * @returns An array of projects.
194
- */
195
- getProjects(): Promise<{
196
- name: string;
197
- path: string;
198
- container_id: string;
199
- image: string;
200
- }[]>;
201
- /**
202
- * Creates a new project.
203
- * @param data The project creation data.
204
- */
205
- createProject(newProject: CreateProject): Promise<{
206
- name: string;
207
- path: string;
208
- container_id: string;
209
- image: string;
210
- }>;
211
- /**
212
- * Patches an existing project.
213
- * @param projectId The ID or name of the project to patch.
214
- * @param data The data to patch the project with.
215
- */
216
- updateProject(projectId: string, data: Project): Promise<{
217
- name: string;
218
- path: string;
219
- container_id: string;
220
- image: string;
221
- }>;
222
- /**
223
- * Runs a project.
224
- * @param projectId The ID or name of the project to run.
225
- */
226
- runProject(projectId: string): Promise<any>;
227
- /**
228
- * Stops a running project.
229
- * @param projectId The ID or name of the project to stop.
230
- */
231
- stopProject(projectId: string): Promise<any>;
232
- /**
233
- * Deletes a project.
234
- * @param projectId The ID or name of the project to delete.
235
- */
236
- deleteProject(projectId: string): Promise<any>;
237
- }
238
- //#endregion
239
- export { Information as n, ManagementApi as r, CommunicationInterfaceType as t };
240
- //# sourceMappingURL=management-Cw05hjbG.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"management-Cw05hjbG.d.mts","names":[],"sources":["../src/api/management.ts"],"sourcesContent":[],"mappings":";;;;aAGY,0BAAA;;EAAA,KAAA,GAAA,OAAA;EAqFN,KAAA,GASJ,OAAA;;;;;cATI,MAAI,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAUE,WAAA,GAAc,CAAA,CAAE,mBAAmB;cAEzC,SAAO,CAAA,CAAA;;;;;;KAMR,OAAA,GAAU,CAAA,CAAE,mBAAmB;cAE9B,eAAa,CAAA,CAAA;;;;KACd,aAAA,GAAgB,CAAA,CAAE,mBAAmB;;cAG7B,aAAA;;qBACyB;;;;;UAMhC;;;IA/BI,gBAAA,EAAA,MAAA;IAAA,eAAA,EAAA,MAAA;IAUE,SAAA,EAAW,MAAA;IAEjB,UAKJ,EAAA,MAAA;;;;;QALW,aAAA,EAAA;UAAA,GAAA,EAAA,MAAA;UAMD,GAAA,EAAA,MAAwB;QAE9B,CAAA;;;UAAa,GAAA,EAAA,MAAA;QAAA,CAAA;MACd,CAAA;MAGQ,MAAA,EAAa;QACY,KAAA,EAAA,MAAA;;QAMhC,WAAA,EAAA,MAAA;QAQsB,aAAA,EAAA,MAAA;MAAR,CAAA;MAcI,SAAA,EAAA;QAAO,IAAA,EAAA,KAAA,GAAA,KAAA;QAYlB,KAAA,EAAA,MAAA;MAQe,CAAA,EAAA;MAAa,QAAA,EAAA;QAaA,IAAA,EAAA,YAAA,GAAA,WAAA,GAAA,UAAA;QAAO,KAAA,EAAA,MAAA;MAYlB,CAAA,EAAA;MAQC,aAAA,EAAA;QAQE,IAAA,4BAAA;QAAA,KAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA3Eb,QAAQ;;;;;;;;wBAcJ,OAAO;;;;;iBAYlB;;;;;;;;;;4BAQe,gBAAa;;;;;;;;;;;yCAaA,UAAO;;;;;;;;;;iCAYlB;;;;;kCAQC;;;;;oCAQE"}
@@ -1,2 +0,0 @@
1
- const e=require(`./chunk-Bmb41Sf3.cjs`);let t=require(`up-fetch`),n=require(`valibot`);n=e.t(n);let r=function(e){return e.Can=`can`,e.Rs232=`rs232`,e.Rs485=`rs485`,e.I2c=`i2c`,e.Spi=`spi`,e.Uart=`uart`,e}({});const i=n.enum(r),a=n.object({min:n.pipe(n.number(),n.minValue(-24),n.maxValue(24)),max:n.pipe(n.number(),n.minValue(-24),n.maxValue(24))}),o=n.object({max:n.number()}),s=n.object({count:n.pipe(n.number(),n.minValue(1)),input_voltage:a,output_voltage:a}),c=n.object({count:n.pipe(n.number(),n.minValue(0)),max_current:n.number(),max_voltage:n.number(),on_resistance:n.pipe(n.number(),n.minValue(0))}),l=n.object({type:n.picklist([`3.0`,`2.0`]),count:n.pipe(n.number(),n.minValue(1))}),u=n.object({type:n.picklist([`1000BASE-T`,`100BASE-T`,`10BASE-T`]),count:n.pipe(n.number(),n.minValue(1))}),d=n.object({type:i,count:n.pipe(n.number(),n.minValue(1))}),f=n.object({count:n.pipe(n.number(),n.minValue(1)),output_voltage:a,current:o}),p=n.object({type:n.picklist([`low_precision`,`high_precision`]),source:n.string(),resolution:n.pipe(n.number(),n.minValue(0))}),m=n.object({width:n.pipe(n.number(),n.minValue(1)),height:n.pipe(n.number(),n.minValue(1))}),h=n.object({type:n.string(),size:m}),g=n.object({count:n.pipe(n.number(),n.minValue(0)),type:n.string()}),_=n.object({count:n.pipe(n.number(),n.minValue(0)),type:n.string()}),v=n.object({display:h,input:g,speaker:_}),y=n.object({io:s,relays:c,usb_ports:n.array(l),ethernet:n.array(u),communication:n.array(d),power_supply:f,current_measurement:n.array(p),hmi:v}),b=n.object({model:n.string(),serial_number:n.string(),firmware_version:n.string(),firmware_commit:n.string(),disk_used:n.number(),disk_total:n.number(),docker_used:n.number(),capabilities:y}),x=n.object({name:n.string(),path:n.string(),container_id:n.string(),image:n.string()});n.object({name:n.string(),image:n.string()});var S=class{constructor(e){this.fetch=e}info(){return this.fetch(`/management/info`,{schema:b})}async datetime(){let e=await this.fetch(`/management/time`,{schema:n.object({epoch_seconds:n.number()})});return new Date(e.epoch_seconds*1e3)}setDatetime(e){return this.fetch(`/management/time`,{method:`POST`,body:{epoch_seconds:Math.floor(e.getTime()/1e3)},parseResponse:()=>{}})}getProjects(){return this.fetch(`/management/projects`,{schema:n.array(x)})}createProject(e){return this.fetch(`/management/projects`,{method:`POST`,body:e,schema:x})}updateProject(e,t){return this.fetch(`/management/projects/${e}`,{method:`PATCH`,body:t,schema:x})}runProject(e){return this.fetch(`/management/projects/${e}/run`,{method:`POST`})}stopProject(e){return this.fetch(`/management/projects/${e}/stop`,{method:`POST`})}deleteProject(e){return this.fetch(`/management/projects/${e}`,{method:`DELETE`})}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
2
- //# sourceMappingURL=management-Lna6AzGK.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"management-Lna6AzGK.cjs","names":["v"],"sources":["../src/api/management.ts"],"sourcesContent":["import { type UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nexport enum CommunicationInterfaceType {\n Can = 'can',\n Rs232 = 'rs232',\n Rs485 = 'rs485',\n I2c = 'i2c',\n Spi = 'spi',\n Uart = 'uart',\n}\nconst communicationInterface = v.enum(CommunicationInterfaceType);\n\nconst voltageRange = v.object({\n min: v.pipe(v.number(), v.minValue(-24), v.maxValue(24)),\n max: v.pipe(v.number(), v.minValue(-24), v.maxValue(24)),\n});\n\nconst currentRange = v.object({ max: v.number() });\n\nconst ioCapabilities = v.object({\n count: v.pipe(v.number(), v.minValue(1)),\n input_voltage: voltageRange,\n output_voltage: voltageRange,\n});\n\nconst relaysCapabilities = v.object({\n count: v.pipe(v.number(), v.minValue(0)),\n max_current: v.number(),\n max_voltage: v.number(),\n on_resistance: v.pipe(v.number(), v.minValue(0)),\n});\n\nconst usbCapability = v.object({\n type: v.picklist(['3.0', '2.0']),\n count: v.pipe(v.number(), v.minValue(1)),\n});\n\nconst ethernetCapability = v.object({\n type: v.picklist(['1000BASE-T', '100BASE-T', '10BASE-T']),\n count: v.pipe(v.number(), v.minValue(1)),\n});\n\nconst communicationCapability = v.object({\n type: communicationInterface,\n count: v.pipe(v.number(), v.minValue(1)),\n});\n\nconst powerSupplyCapabilities = v.object({\n count: v.pipe(v.number(), v.minValue(1)),\n output_voltage: voltageRange,\n current: currentRange,\n});\n\nconst currentMeasurementCapabilities = v.object({\n type: v.picklist(['low_precision', 'high_precision']),\n source: v.string(),\n resolution: v.pipe(v.number(), v.minValue(0)),\n});\n\nconst screenSize = v.object({\n width: v.pipe(v.number(), v.minValue(1)),\n height: v.pipe(v.number(), v.minValue(1)),\n});\n\nconst displayCapabilities = v.object({ type: v.string(), size: screenSize });\n\nconst inputCapabilities = v.object({ count: v.pipe(v.number(), v.minValue(0)), type: v.string() });\n\nconst audioCapabilities = v.object({ count: v.pipe(v.number(), v.minValue(0)), type: v.string() });\n\nconst hmiCapabilities = v.object({\n display: displayCapabilities,\n input: inputCapabilities,\n speaker: audioCapabilities,\n});\n\nconst capabilities = v.object({\n io: ioCapabilities,\n relays: relaysCapabilities,\n usb_ports: v.array(usbCapability),\n ethernet: v.array(ethernetCapability),\n communication: v.array(communicationCapability),\n power_supply: powerSupplyCapabilities,\n current_measurement: v.array(currentMeasurementCapabilities),\n hmi: hmiCapabilities,\n});\n\nconst info = v.object({\n model: v.string(),\n serial_number: v.string(),\n firmware_version: v.string(),\n firmware_commit: v.string(),\n disk_used: v.number(),\n disk_total: v.number(),\n docker_used: v.number(),\n capabilities: capabilities,\n});\nexport type Information = v.InferOutput<typeof info>;\n\nconst project = v.object({\n name: v.string(),\n path: v.string(),\n container_id: v.string(),\n image: v.string(),\n});\ntype Project = v.InferOutput<typeof project>;\n\nconst createProject = v.object({ name: v.string(), image: v.string() });\ntype CreateProject = v.InferOutput<typeof createProject>;\n\n/** @hideconstructor */\nexport class ManagementApi {\n constructor(private readonly fetch: UpFetch) {}\n\n /**\n * Gets device information and capabilities.\n * @returns The device information.\n */\n info() {\n return this.fetch('/management/info', { schema: info });\n }\n\n /**\n * Gets the current date and time of the device.\n * @returns The current date and time.\n */\n async datetime(): Promise<Date> {\n const time = await this.fetch('/management/time', {\n schema: v.object({ epoch_seconds: v.number() }),\n });\n return new Date(time.epoch_seconds * 1000);\n }\n\n /**\n * Sets the date and time of the device.\n *\n * This will only work if the device is not connected to the internet.\n *\n * @param datetime The date and time to set.\n */\n setDatetime(datetime: Date): Promise<void> {\n return this.fetch('/management/time', {\n method: 'POST',\n body: { epoch_seconds: Math.floor(datetime.getTime() / 1000) },\n parseResponse: () => {},\n });\n }\n\n /**\n * Gets a list of all projects.\n * @returns An array of projects.\n */\n getProjects() {\n return this.fetch('/management/projects', { schema: v.array(project) });\n }\n\n /**\n * Creates a new project.\n * @param data The project creation data.\n */\n createProject(newProject: CreateProject) {\n return this.fetch('/management/projects', {\n method: 'POST',\n body: newProject,\n schema: project,\n });\n }\n\n /**\n * Patches an existing project.\n * @param projectId The ID or name of the project to patch.\n * @param data The data to patch the project with.\n */\n updateProject(projectId: string, data: Project) {\n return this.fetch(`/management/projects/${projectId}`, {\n method: 'PATCH',\n body: data,\n schema: project,\n });\n }\n\n /**\n * Runs a project.\n * @param projectId The ID or name of the project to run.\n */\n runProject(projectId: string) {\n return this.fetch(`/management/projects/${projectId}/run`, { method: 'POST' });\n }\n\n /**\n * Stops a running project.\n * @param projectId The ID or name of the project to stop.\n */\n stopProject(projectId: string) {\n return this.fetch(`/management/projects/${projectId}/stop`, { method: 'POST' });\n }\n\n /**\n * Deletes a project.\n * @param projectId The ID or name of the project to delete.\n */\n deleteProject(projectId: string) {\n return this.fetch(`/management/projects/${projectId}`, { method: 'DELETE' });\n }\n\n /**\n * Imports a project. The data should be FormData containing the project file.\n * @param\n */\n /*\n async importProject(: data): Promise<void> {\n return this.client.requestVoid(\"POST\", \"/management/projects/import\", data);\n }\n */\n\n /**\n * Exports a project.\n * @param projectId The ID or name of the project to export.\n * @returns An ArrayBuffer containing the project export data.\n */\n /*\n async exportProject(projectId: string): Promise<ArrayBuffer> {\n return this.client.request<ArrayBuffer>(\"GET\", `/management/projects/${projectId}/export`, undefined, { responseType: 'arraybuffer' });\n }\n */\n}\n"],"mappings":"gGAGA,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,IAAA,MACA,EAAA,MAAA,QACA,EAAA,MAAA,QACA,EAAA,IAAA,MACA,EAAA,IAAA,MACA,EAAA,KAAA,cAEF,MAAM,EAAyBA,EAAE,KAAK,EAA2B,CAE3D,EAAeA,EAAE,OAAO,CAC5B,IAAKA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,GAAG,CAAC,CACxD,IAAKA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,IAAI,CAAEA,EAAE,SAAS,GAAG,CAAC,CACzD,CAAC,CAEI,EAAeA,EAAE,OAAO,CAAE,IAAKA,EAAE,QAAQ,CAAE,CAAC,CAE5C,EAAiBA,EAAE,OAAO,CAC9B,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxC,cAAe,EACf,eAAgB,EACjB,CAAC,CAEI,EAAqBA,EAAE,OAAO,CAClC,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxC,YAAaA,EAAE,QAAQ,CACvB,YAAaA,EAAE,QAAQ,CACvB,cAAeA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACjD,CAAC,CAEI,EAAgBA,EAAE,OAAO,CAC7B,KAAMA,EAAE,SAAS,CAAC,MAAO,MAAM,CAAC,CAChC,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACzC,CAAC,CAEI,EAAqBA,EAAE,OAAO,CAClC,KAAMA,EAAE,SAAS,CAAC,aAAc,YAAa,WAAW,CAAC,CACzD,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACzC,CAAC,CAEI,EAA0BA,EAAE,OAAO,CACvC,KAAM,EACN,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACzC,CAAC,CAEI,EAA0BA,EAAE,OAAO,CACvC,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxC,eAAgB,EAChB,QAAS,EACV,CAAC,CAEI,EAAiCA,EAAE,OAAO,CAC9C,KAAMA,EAAE,SAAS,CAAC,gBAAiB,iBAAiB,CAAC,CACrD,OAAQA,EAAE,QAAQ,CAClB,WAAYA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CAC9C,CAAC,CAEI,EAAaA,EAAE,OAAO,CAC1B,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CACxC,OAAQA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CAC1C,CAAC,CAEI,EAAsBA,EAAE,OAAO,CAAE,KAAMA,EAAE,QAAQ,CAAE,KAAM,EAAY,CAAC,CAEtE,EAAoBA,EAAE,OAAO,CAAE,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CAAE,KAAMA,EAAE,QAAQ,CAAE,CAAC,CAE5F,EAAoBA,EAAE,OAAO,CAAE,MAAOA,EAAE,KAAKA,EAAE,QAAQ,CAAEA,EAAE,SAAS,EAAE,CAAC,CAAE,KAAMA,EAAE,QAAQ,CAAE,CAAC,CAE5F,EAAkBA,EAAE,OAAO,CAC/B,QAAS,EACT,MAAO,EACP,QAAS,EACV,CAAC,CAEI,EAAeA,EAAE,OAAO,CAC5B,GAAI,EACJ,OAAQ,EACR,UAAWA,EAAE,MAAM,EAAc,CACjC,SAAUA,EAAE,MAAM,EAAmB,CACrC,cAAeA,EAAE,MAAM,EAAwB,CAC/C,aAAc,EACd,oBAAqBA,EAAE,MAAM,EAA+B,CAC5D,IAAK,EACN,CAAC,CAEI,EAAOA,EAAE,OAAO,CACpB,MAAOA,EAAE,QAAQ,CACjB,cAAeA,EAAE,QAAQ,CACzB,iBAAkBA,EAAE,QAAQ,CAC5B,gBAAiBA,EAAE,QAAQ,CAC3B,UAAWA,EAAE,QAAQ,CACrB,WAAYA,EAAE,QAAQ,CACtB,YAAaA,EAAE,QAAQ,CACT,eACf,CAAC,CAGI,EAAUA,EAAE,OAAO,CACvB,KAAMA,EAAE,QAAQ,CAChB,KAAMA,EAAE,QAAQ,CAChB,aAAcA,EAAE,QAAQ,CACxB,MAAOA,EAAE,QAAQ,CAClB,CAAC,CAGoBA,EAAE,OAAO,CAAE,KAAMA,EAAE,QAAQ,CAAE,MAAOA,EAAE,QAAQ,CAAE,CAAC,CAIvE,IAAa,EAAb,KAA2B,CACzB,YAAY,EAAiC,CAAhB,KAAA,MAAA,EAM7B,MAAO,CACL,OAAO,KAAK,MAAM,mBAAoB,CAAE,OAAQ,EAAM,CAAC,CAOzD,MAAM,UAA0B,CAC9B,IAAM,EAAO,MAAM,KAAK,MAAM,mBAAoB,CAChD,OAAQA,EAAE,OAAO,CAAE,cAAeA,EAAE,QAAQ,CAAE,CAAC,CAChD,CAAC,CACF,OAAO,IAAI,KAAK,EAAK,cAAgB,IAAK,CAU5C,YAAY,EAA+B,CACzC,OAAO,KAAK,MAAM,mBAAoB,CACpC,OAAQ,OACR,KAAM,CAAE,cAAe,KAAK,MAAM,EAAS,SAAS,CAAG,IAAK,CAAE,CAC9D,kBAAqB,GACtB,CAAC,CAOJ,aAAc,CACZ,OAAO,KAAK,MAAM,uBAAwB,CAAE,OAAQA,EAAE,MAAM,EAAQ,CAAE,CAAC,CAOzE,cAAc,EAA2B,CACvC,OAAO,KAAK,MAAM,uBAAwB,CACxC,OAAQ,OACR,KAAM,EACN,OAAQ,EACT,CAAC,CAQJ,cAAc,EAAmB,EAAe,CAC9C,OAAO,KAAK,MAAM,wBAAwB,IAAa,CACrD,OAAQ,QACR,KAAM,EACN,OAAQ,EACT,CAAC,CAOJ,WAAW,EAAmB,CAC5B,OAAO,KAAK,MAAM,wBAAwB,EAAU,MAAO,CAAE,OAAQ,OAAQ,CAAC,CAOhF,YAAY,EAAmB,CAC7B,OAAO,KAAK,MAAM,wBAAwB,EAAU,OAAQ,CAAE,OAAQ,OAAQ,CAAC,CAOjF,cAAc,EAAmB,CAC/B,OAAO,KAAK,MAAM,wBAAwB,IAAa,CAAE,OAAQ,SAAU,CAAC"}
@@ -1,343 +0,0 @@
1
- import { t as AnalogOutputLevel } from "./common-DAOxX-Zx.cjs";
2
- import { n as Information } from "./management-CCwBNLm_.cjs";
3
- import { UpFetch } from "up-fetch";
4
- import * as v from "valibot";
5
-
6
- //#region src/api/power.d.ts
7
- declare const dutState: v.ObjectSchema<{
8
- readonly enabled: v.BooleanSchema<undefined>;
9
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
10
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
11
- readonly current: v.NumberSchema<undefined>;
12
- }, undefined>;
13
- type DutState = v.InferOutput<typeof dutState>;
14
- declare const dutConfiguration: Omit<Omit<v.ObjectSchema<{
15
- readonly enabled: v.BooleanSchema<undefined>;
16
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
17
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
18
- readonly current: v.NumberSchema<undefined>;
19
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
20
- readonly entries: Pick<{
21
- readonly enabled: v.BooleanSchema<undefined>;
22
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
23
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
24
- readonly current: v.NumberSchema<undefined>;
25
- }, "enabled" | "target_voltage">;
26
- readonly "~standard": v.StandardProps<{
27
- enabled: boolean;
28
- target_voltage: number;
29
- }, {
30
- enabled: boolean;
31
- target_voltage: number;
32
- }>;
33
- readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
34
- enabled: boolean;
35
- target_voltage: number;
36
- }, v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue>;
37
- readonly "~types"?: {
38
- readonly input: {
39
- enabled: boolean;
40
- target_voltage: number;
41
- };
42
- readonly output: {
43
- enabled: boolean;
44
- target_voltage: number;
45
- };
46
- readonly issue: v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue;
47
- } | undefined;
48
- }, "~standard" | "~types" | "~run" | "entries"> & {
49
- readonly entries: {
50
- readonly enabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
51
- readonly target_voltage: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>, undefined>;
52
- };
53
- readonly "~standard": v.StandardProps<{
54
- enabled?: boolean | undefined;
55
- target_voltage?: number | undefined;
56
- }, {
57
- enabled?: boolean | undefined;
58
- target_voltage?: number | undefined;
59
- }>;
60
- readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
61
- enabled?: boolean | undefined;
62
- target_voltage?: number | undefined;
63
- }, v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue>;
64
- readonly "~types"?: {
65
- readonly input: {
66
- enabled?: boolean | undefined;
67
- target_voltage?: number | undefined;
68
- };
69
- readonly output: {
70
- enabled?: boolean | undefined;
71
- target_voltage?: number | undefined;
72
- };
73
- readonly issue: v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue;
74
- } | undefined;
75
- };
76
- type DutConfiguration = v.InferOutput<typeof dutConfiguration>;
77
- declare const usbState: Omit<v.ObjectSchema<{
78
- readonly enabled: v.BooleanSchema<undefined>;
79
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
80
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
81
- readonly current: v.NumberSchema<undefined>;
82
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
83
- readonly entries: Pick<{
84
- readonly enabled: v.BooleanSchema<undefined>;
85
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
86
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
87
- readonly current: v.NumberSchema<undefined>;
88
- }, "enabled" | "current" | "voltage">;
89
- readonly "~standard": v.StandardProps<{
90
- enabled: boolean;
91
- current: number;
92
- voltage: number;
93
- }, {
94
- enabled: boolean;
95
- current: number;
96
- voltage: number;
97
- }>;
98
- readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
99
- enabled: boolean;
100
- current: number;
101
- voltage: number;
102
- }, v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue>;
103
- readonly "~types"?: {
104
- readonly input: {
105
- enabled: boolean;
106
- current: number;
107
- voltage: number;
108
- };
109
- readonly output: {
110
- enabled: boolean;
111
- current: number;
112
- voltage: number;
113
- };
114
- readonly issue: v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue;
115
- } | undefined;
116
- };
117
- type UsbState = v.InferOutput<typeof usbState>;
118
- declare const usbConfiguration: Omit<Omit<v.ObjectSchema<{
119
- readonly enabled: v.BooleanSchema<undefined>;
120
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
121
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
122
- readonly current: v.NumberSchema<undefined>;
123
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
124
- readonly entries: Pick<{
125
- readonly enabled: v.BooleanSchema<undefined>;
126
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
127
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
128
- readonly current: v.NumberSchema<undefined>;
129
- }, "enabled" | "current" | "voltage">;
130
- readonly "~standard": v.StandardProps<{
131
- enabled: boolean;
132
- current: number;
133
- voltage: number;
134
- }, {
135
- enabled: boolean;
136
- current: number;
137
- voltage: number;
138
- }>;
139
- readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
140
- enabled: boolean;
141
- current: number;
142
- voltage: number;
143
- }, v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue>;
144
- readonly "~types"?: {
145
- readonly input: {
146
- enabled: boolean;
147
- current: number;
148
- voltage: number;
149
- };
150
- readonly output: {
151
- enabled: boolean;
152
- current: number;
153
- voltage: number;
154
- };
155
- readonly issue: v.NumberIssue | v.MinValueIssue<number, -25> | v.MaxValueIssue<number, 25> | v.BooleanIssue | v.ObjectIssue;
156
- } | undefined;
157
- }, "~standard" | "~types" | "~run" | "entries"> & {
158
- readonly entries: Pick<Pick<{
159
- readonly enabled: v.BooleanSchema<undefined>;
160
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
161
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
162
- readonly current: v.NumberSchema<undefined>;
163
- }, "enabled" | "current" | "voltage">, "enabled">;
164
- readonly "~standard": v.StandardProps<{
165
- enabled: boolean;
166
- }, {
167
- enabled: boolean;
168
- }>;
169
- readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
170
- enabled: boolean;
171
- }, v.BooleanIssue | v.ObjectIssue>;
172
- readonly "~types"?: {
173
- readonly input: {
174
- enabled: boolean;
175
- };
176
- readonly output: {
177
- enabled: boolean;
178
- };
179
- readonly issue: v.BooleanIssue | v.ObjectIssue;
180
- } | undefined;
181
- };
182
- type UsbConfiguration = v.InferOutput<typeof usbConfiguration>;
183
- declare const relayState: Omit<v.ObjectSchema<{
184
- readonly enabled: v.BooleanSchema<undefined>;
185
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
186
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
187
- readonly current: v.NumberSchema<undefined>;
188
- }, undefined>, "~standard" | "~types" | "~run" | "entries"> & {
189
- readonly entries: Pick<{
190
- readonly enabled: v.BooleanSchema<undefined>;
191
- readonly target_voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
192
- readonly voltage: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, -25, undefined>, v.MaxValueAction<number, 25, undefined>]>;
193
- readonly current: v.NumberSchema<undefined>;
194
- }, "current">;
195
- readonly "~standard": v.StandardProps<{
196
- current: number;
197
- }, {
198
- current: number;
199
- }>;
200
- readonly "~run": (dataset: v.UnknownDataset, config: v.Config<v.BaseIssue<unknown>>) => v.OutputDataset<{
201
- current: number;
202
- }, v.NumberIssue | v.ObjectIssue>;
203
- readonly "~types"?: {
204
- readonly input: {
205
- current: number;
206
- };
207
- readonly output: {
208
- current: number;
209
- };
210
- readonly issue: v.NumberIssue | v.ObjectIssue;
211
- } | undefined;
212
- };
213
- type RelayState = v.InferOutput<typeof relayState>;
214
- /** @hideconstructor */
215
- declare class PowerApi {
216
- private readonly fetch;
217
- private readonly usb_count;
218
- private readonly dut_count;
219
- constructor(fetch: UpFetch, info: Information);
220
- /**
221
- * Resets the power API.
222
- */
223
- reset(): Promise<void>;
224
- /**
225
- * Access a specific DUT by id.
226
- * @param id The DUT id.
227
- * @returns The DUT instance.
228
- */
229
- dut(id: number): Dut;
230
- /**
231
- * Access a specific USB port by id.
232
- * @param id The USB port id.
233
- * @returns The USB port instance.
234
- */
235
- usb(id: number): Usb;
236
- /**
237
- * Access the relay at index 4.
238
- * @returns The relay instance.
239
- */
240
- relay_4(): RelayPower;
241
- }
242
- /** @hideconstructor */
243
- declare class Dut {
244
- private readonly fetch;
245
- readonly id: number;
246
- constructor(fetch: UpFetch, id: number);
247
- /**
248
- * Resets the DUT.
249
- */
250
- reset(): Promise<void>;
251
- /**
252
- * Configures the DUT.
253
- * @param config The configuration to apply.
254
- * @returns The updated DUT state.
255
- */
256
- configure(config: DutConfiguration): Promise<DutState>;
257
- /**
258
- * Enables the DUT power supply at the specified voltage.
259
- * @param voltage The target voltage to set.
260
- * @returns The updated DUT state.
261
- */
262
- enable(voltage: AnalogOutputLevel): Promise<DutState>;
263
- /**
264
- * Disables the DUT power supply.
265
- * @returns The updated DUT state.
266
- */
267
- disable(): Promise<DutState>;
268
- /**
269
- * Reads the current DUT state.
270
- * @returns The current DUT state.
271
- */
272
- read(): Promise<DutState>;
273
- /**
274
- * Reads the current drawn by the DUT.
275
- * @returns The current drawn by the DUT.
276
- */
277
- read_current(): Promise<number>;
278
- /**
279
- * Reads the voltage supplied to the DUT.
280
- * @returns The voltage supplied to the DUT.
281
- */
282
- read_voltage(): Promise<number>;
283
- }
284
- /** @hideconstructor */
285
- declare class Usb {
286
- private readonly fetch;
287
- readonly id: number;
288
- constructor(fetch: UpFetch, id: number);
289
- /**
290
- * Resets the USB port.
291
- */
292
- reset(): Promise<void>;
293
- /**
294
- * Configures the USB port.
295
- * @param config The configuration to apply.
296
- * @returns The updated USB state.
297
- */
298
- configure(config: UsbConfiguration): Promise<UsbState>;
299
- /**
300
- * Enables the USB port power.
301
- * @returns The updated USB state.
302
- */
303
- enable(): Promise<UsbState>;
304
- /**
305
- * Disables the USB port power.
306
- * @returns The updated USB state.
307
- */
308
- disable(): Promise<UsbState>;
309
- /**
310
- * Reads the current state of the USB port.
311
- * @returns The current USB state.
312
- */
313
- read(): Promise<UsbState>;
314
- /**
315
- * Reads the current drawn by the USB port.
316
- * @returns The current drawn by the USB port.
317
- */
318
- read_current(): Promise<number>;
319
- /**
320
- * Reads the voltage at the USB port.
321
- * @returns The voltage at the USB port.
322
- */
323
- read_voltage(): Promise<number>;
324
- }
325
- /** @hideconstructor */
326
- declare class RelayPower {
327
- private readonly fetch;
328
- readonly id: number;
329
- constructor(fetch: UpFetch, id: number);
330
- /**
331
- * Reads the current state of the relay.
332
- * @returns The current relay state.
333
- */
334
- read(): Promise<RelayState>;
335
- /**
336
- * Reads the current drawn through the relay.
337
- * @returns The current drawn through the relay.
338
- */
339
- read_current(): Promise<number>;
340
- }
341
- //#endregion
342
- export { RelayPower as a, UsbConfiguration as c, PowerApi as i, UsbState as l, DutConfiguration as n, RelayState as o, DutState as r, Usb as s, Dut as t };
343
- //# sourceMappingURL=power-BkJtVbiA.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"power-BkJtVbiA.d.cts","names":[],"sources":["../src/api/power.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./common-B_zag9Mq.mjs";import*as t from"valibot";const n=t.object({enabled:t.boolean(),target_voltage:e,voltage:e,current:t.number()}),r=t.partial(t.pick(n,[`enabled`,`target_voltage`])),i=t.pick(n,[`enabled`,`current`,`voltage`]),a=t.pick(i,[`enabled`]),o=t.pick(n,[`current`]);var s=class{usb_count;dut_count=1;constructor(e,t){this.fetch=e,this.usb_count=t.capabilities.usb_ports.reduce((e,t)=>e+t.count,0)}reset(){return this.fetch(`/power/reset`,{method:`POST`,parseResponse:()=>{}})}dut(e){if(e<0||e>=this.dut_count)throw Error(`Invalid DUT id ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a DUT ID between 0 and ${this.dut_count-1}\n Path: /power/dut/${e}`);return new c(this.fetch,e)}usb(e){if(e<0||e>=this.usb_count)throw Error(`Invalid USB port ${e} (RESOURCE_NOT_FOUND)\n Suggestion: Use a USB port ID between 0 and ${this.usb_count-1}\n Path: /power/usb/${e}`);return new l(this.fetch,e)}relay_4(){return new u(this.fetch,4)}},c=class{constructor(e,t){this.fetch=e,this.id=t}reset(){return this.fetch(`/power/dut/${this.id}/reset`,{method:`POST`,parseResponse:()=>{}})}configure(e){return this.fetch(`/power/dut/${this.id}`,{method:`PATCH`,body:t.parse(r,e),schema:n})}enable(e){return this.configure({enabled:!0,target_voltage:e})}disable(){return this.configure({enabled:!1})}read(){return this.fetch(`/power/dut/${this.id}`,{schema:n})}async read_current(){return(await this.read()).current}async read_voltage(){return(await this.read()).voltage}},l=class{constructor(e,t){this.fetch=e,this.id=t}reset(){return this.fetch(`/power/usb/${this.id}/reset`,{method:`POST`,parseResponse:()=>{}})}configure(e){return this.fetch(`/power/usb/${this.id}`,{method:`PATCH`,body:t.parse(a,e),schema:i})}enable(){return this.configure({enabled:!0})}disable(){return this.configure({enabled:!1})}read(){return this.fetch(`/power/usb/${this.id}`,{schema:i})}async read_current(){return(await this.read()).current}async read_voltage(){return(await this.read()).voltage}},u=class{constructor(e,t){this.fetch=e,this.id=t}read(){return this.fetch(`/power/relay/${this.id}`,{schema:o})}async read_current(){return(await this.read()).current}};export{l as i,s as n,u as r,c as t};
2
- //# sourceMappingURL=power-Bz5S5GGr.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"power-Bz5S5GGr.mjs","names":[],"sources":["../src/api/power.ts"],"sourcesContent":["import type { UpFetch } from 'up-fetch';\nimport * as v from 'valibot';\n\nimport { analogLevel, type AnalogOutputLevel } from './common';\nimport type { Information } from './management';\n\nexport type { AnalogOutputLevel };\n\nconst dutState = v.object({\n enabled: v.boolean(),\n target_voltage: analogLevel,\n voltage: analogLevel,\n current: v.number(),\n});\nexport type DutState = v.InferOutput<typeof dutState>;\n\nconst dutConfiguration = v.partial(v.pick(dutState, ['enabled', 'target_voltage']));\nexport type DutConfiguration = v.InferOutput<typeof dutConfiguration>;\n\nconst usbState = v.pick(dutState, ['enabled', 'current', 'voltage']);\nexport type UsbState = v.InferOutput<typeof usbState>;\n\nconst usbConfiguration = v.pick(usbState, ['enabled']);\nexport type UsbConfiguration = v.InferOutput<typeof usbConfiguration>;\n\nconst relayState = v.pick(dutState, ['current']);\nexport type RelayState = v.InferOutput<typeof relayState>;\n\n/** @hideconstructor */\nexport class PowerApi {\n private readonly usb_count: number;\n private readonly dut_count = 1;\n\n constructor(private readonly fetch: UpFetch, info: Information) {\n this.usb_count = info.capabilities.usb_ports.reduce((a, b) => a + b.count, 0);\n }\n\n /**\n * Resets the power API.\n */\n reset(): Promise<void> {\n return this.fetch('/power/reset', { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Access a specific DUT by id.\n * @param id The DUT id.\n * @returns The DUT instance.\n */\n dut(id: number): Dut {\n if (id < 0 || id >= this.dut_count) {\n throw new Error(\n `Invalid DUT id ${id} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a DUT ID between 0 and ${\n this.dut_count - 1\n }\\n Path: /power/dut/${id}`,\n );\n }\n\n return new Dut(this.fetch, id);\n }\n\n /**\n * Access a specific USB port by id.\n * @param id The USB port id.\n * @returns The USB port instance.\n */\n usb(id: number): Usb {\n if (id < 0 || id >= this.usb_count) {\n throw new Error(\n `Invalid USB port ${id} (RESOURCE_NOT_FOUND)\\n Suggestion: Use a USB port ID between 0 and ${\n this.usb_count - 1\n }\\n Path: /power/usb/${id}`,\n );\n }\n\n return new Usb(this.fetch, id);\n }\n\n /**\n * Access the relay at index 4.\n * @returns The relay instance.\n */\n relay_4(): RelayPower {\n return new RelayPower(this.fetch, 4);\n }\n}\n\n/** @hideconstructor */\nexport class Dut {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Resets the DUT.\n */\n reset(): Promise<void> {\n return this.fetch(`/power/dut/${this.id}/reset`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Configures the DUT.\n * @param config The configuration to apply.\n * @returns The updated DUT state.\n */\n configure(config: DutConfiguration): Promise<DutState> {\n return this.fetch(`/power/dut/${this.id}`, {\n method: 'PATCH',\n body: v.parse(dutConfiguration, config),\n schema: dutState,\n });\n }\n\n /**\n * Enables the DUT power supply at the specified voltage.\n * @param voltage The target voltage to set.\n * @returns The updated DUT state.\n */\n enable(voltage: AnalogOutputLevel): Promise<DutState> {\n return this.configure({ enabled: true, target_voltage: voltage });\n }\n\n /**\n * Disables the DUT power supply.\n * @returns The updated DUT state.\n */\n disable(): Promise<DutState> {\n return this.configure({ enabled: false });\n }\n\n /**\n * Reads the current DUT state.\n * @returns The current DUT state.\n */\n read(): Promise<DutState> {\n return this.fetch(`/power/dut/${this.id}`, { schema: dutState });\n }\n\n /**\n * Reads the current drawn by the DUT.\n * @returns The current drawn by the DUT.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n\n /**\n * Reads the voltage supplied to the DUT.\n * @returns The voltage supplied to the DUT.\n */\n async read_voltage(): Promise<number> {\n return (await this.read()).voltage;\n }\n}\n\n/** @hideconstructor */\nexport class Usb {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Resets the USB port.\n */\n reset(): Promise<void> {\n return this.fetch(`/power/usb/${this.id}/reset`, { method: 'POST', parseResponse: () => {} });\n }\n\n /**\n * Configures the USB port.\n * @param config The configuration to apply.\n * @returns The updated USB state.\n */\n configure(config: UsbConfiguration): Promise<UsbState> {\n return this.fetch(`/power/usb/${this.id}`, {\n method: 'PATCH',\n body: v.parse(usbConfiguration, config),\n schema: usbState,\n });\n }\n\n /**\n * Enables the USB port power.\n * @returns The updated USB state.\n */\n enable(): Promise<UsbState> {\n return this.configure({ enabled: true });\n }\n\n /**\n * Disables the USB port power.\n * @returns The updated USB state.\n */\n disable(): Promise<UsbState> {\n return this.configure({ enabled: false });\n }\n\n /**\n * Reads the current state of the USB port.\n * @returns The current USB state.\n */\n read(): Promise<UsbState> {\n return this.fetch(`/power/usb/${this.id}`, { schema: usbState });\n }\n\n /**\n * Reads the current drawn by the USB port.\n * @returns The current drawn by the USB port.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n\n /**\n * Reads the voltage at the USB port.\n * @returns The voltage at the USB port.\n */\n async read_voltage(): Promise<number> {\n return (await this.read()).voltage;\n }\n}\n\n/** @hideconstructor */\nexport class RelayPower {\n constructor(private readonly fetch: UpFetch, public readonly id: number) {}\n\n /**\n * Reads the current state of the relay.\n * @returns The current relay state.\n */\n read(): Promise<RelayState> {\n return this.fetch(`/power/relay/${this.id}`, { schema: relayState });\n }\n\n /**\n * Reads the current drawn through the relay.\n * @returns The current drawn through the relay.\n */\n async read_current(): Promise<number> {\n return (await this.read()).current;\n }\n}\n"],"mappings":"oEAQA,MAAM,EAAW,EAAE,OAAO,CACxB,QAAS,EAAE,SAAS,CACpB,eAAgB,EAChB,QAAS,EACT,QAAS,EAAE,QAAQ,CACpB,CAAC,CAGI,EAAmB,EAAE,QAAQ,EAAE,KAAK,EAAU,CAAC,UAAW,iBAAiB,CAAC,CAAC,CAG7E,EAAW,EAAE,KAAK,EAAU,CAAC,UAAW,UAAW,UAAU,CAAC,CAG9D,EAAmB,EAAE,KAAK,EAAU,CAAC,UAAU,CAAC,CAGhD,EAAa,EAAE,KAAK,EAAU,CAAC,UAAU,CAAC,CAIhD,IAAa,EAAb,KAAsB,CACpB,UACA,UAA6B,EAE7B,YAAY,EAAiC,EAAmB,CAAnC,KAAA,MAAA,EAC3B,KAAK,UAAY,EAAK,aAAa,UAAU,QAAQ,EAAG,IAAM,EAAI,EAAE,MAAO,EAAE,CAM/E,OAAuB,CACrB,OAAO,KAAK,MAAM,eAAgB,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAQhF,IAAI,EAAiB,CACnB,GAAI,EAAK,GAAK,GAAM,KAAK,UACvB,MAAU,MACR,kBAAkB,EAAG,oEACnB,KAAK,UAAY,EAClB,yBAAyB,IAC3B,CAGH,OAAO,IAAI,EAAI,KAAK,MAAO,EAAG,CAQhC,IAAI,EAAiB,CACnB,GAAI,EAAK,GAAK,GAAM,KAAK,UACvB,MAAU,MACR,oBAAoB,EAAG,yEACrB,KAAK,UAAY,EAClB,yBAAyB,IAC3B,CAGH,OAAO,IAAI,EAAI,KAAK,MAAO,EAAG,CAOhC,SAAsB,CACpB,OAAO,IAAI,EAAW,KAAK,MAAO,EAAE,GAK3B,EAAb,KAAiB,CACf,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAK7D,OAAuB,CACrB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,QAAS,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAQ/F,UAAU,EAA6C,CACrD,OAAO,KAAK,MAAM,cAAc,KAAK,KAAM,CACzC,OAAQ,QACR,KAAM,EAAE,MAAM,EAAkB,EAAO,CACvC,OAAQ,EACT,CAAC,CAQJ,OAAO,EAA+C,CACpD,OAAO,KAAK,UAAU,CAAE,QAAS,GAAM,eAAgB,EAAS,CAAC,CAOnE,SAA6B,CAC3B,OAAO,KAAK,UAAU,CAAE,QAAS,GAAO,CAAC,CAO3C,MAA0B,CACxB,OAAO,KAAK,MAAM,cAAc,KAAK,KAAM,CAAE,OAAQ,EAAU,CAAC,CAOlE,MAAM,cAAgC,CACpC,OAAQ,MAAM,KAAK,MAAM,EAAE,QAO7B,MAAM,cAAgC,CACpC,OAAQ,MAAM,KAAK,MAAM,EAAE,UAKlB,EAAb,KAAiB,CACf,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAK7D,OAAuB,CACrB,OAAO,KAAK,MAAM,cAAc,KAAK,GAAG,QAAS,CAAE,OAAQ,OAAQ,kBAAqB,GAAI,CAAC,CAQ/F,UAAU,EAA6C,CACrD,OAAO,KAAK,MAAM,cAAc,KAAK,KAAM,CACzC,OAAQ,QACR,KAAM,EAAE,MAAM,EAAkB,EAAO,CACvC,OAAQ,EACT,CAAC,CAOJ,QAA4B,CAC1B,OAAO,KAAK,UAAU,CAAE,QAAS,GAAM,CAAC,CAO1C,SAA6B,CAC3B,OAAO,KAAK,UAAU,CAAE,QAAS,GAAO,CAAC,CAO3C,MAA0B,CACxB,OAAO,KAAK,MAAM,cAAc,KAAK,KAAM,CAAE,OAAQ,EAAU,CAAC,CAOlE,MAAM,cAAgC,CACpC,OAAQ,MAAM,KAAK,MAAM,EAAE,QAO7B,MAAM,cAAgC,CACpC,OAAQ,MAAM,KAAK,MAAM,EAAE,UAKlB,EAAb,KAAwB,CACtB,YAAY,EAAiC,EAA4B,CAA5C,KAAA,MAAA,EAAgC,KAAA,GAAA,EAM7D,MAA4B,CAC1B,OAAO,KAAK,MAAM,gBAAgB,KAAK,KAAM,CAAE,OAAQ,EAAY,CAAC,CAOtE,MAAM,cAAgC,CACpC,OAAQ,MAAM,KAAK,MAAM,EAAE"}