@camstack/addon-tailscale 1.2.50 → 1.2.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/tailscale.addon.js +1 -1
- package/dist/client/tailscale.addon.mjs +1 -1
- package/dist/{dist-v7uK6zeq.js → dist-BYSC8bJK.js} +117 -6
- package/dist/{dist-CMpgFoPi.mjs → dist-COyLQeD1.mjs} +117 -6
- package/dist/ingress/tailscale-ingress.addon.js +1 -1
- package/dist/ingress/tailscale-ingress.addon.mjs +1 -1
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
enumerable: true
|
|
25
25
|
}) : target, mod));
|
|
26
26
|
//#endregion
|
|
27
|
-
const require_dist = require("../dist-
|
|
27
|
+
const require_dist = require("../dist-BYSC8bJK.js");
|
|
28
28
|
let node_child_process = require("node:child_process");
|
|
29
29
|
let node_util = require("node:util");
|
|
30
30
|
let node_fs = require("node:fs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as EventCategory, i as BaseAddon, n as networkAccessCapability, r as BOOT_RECOVERY_BACKOFF_MS, t as meshNetworkCapability } from "../dist-
|
|
1
|
+
import { a as EventCategory, i as BaseAddon, n as networkAccessCapability, r as BOOT_RECOVERY_BACKOFF_MS, t as meshNetworkCapability } from "../dist-COyLQeD1.mjs";
|
|
2
2
|
import { execFile, spawn } from "node:child_process";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
4
|
import * as fs from "node:fs";
|
|
@@ -15607,6 +15607,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
15607
15607
|
"device-offline",
|
|
15608
15608
|
"device-disabled",
|
|
15609
15609
|
"device-enabled",
|
|
15610
|
+
"device-battery-low",
|
|
15611
|
+
"device-battery-normal",
|
|
15610
15612
|
"stream-online",
|
|
15611
15613
|
"stream-offline",
|
|
15612
15614
|
"node-online",
|
|
@@ -18881,6 +18883,34 @@ var KeyEventsForDeviceSchema = object({
|
|
|
18881
18883
|
deviceId: number(),
|
|
18882
18884
|
events: array(KeyEventSchema).readonly()
|
|
18883
18885
|
});
|
|
18886
|
+
/** One non-empty bucket of the timeline histogram. */
|
|
18887
|
+
var EventDensityBucketSchema = object({
|
|
18888
|
+
bucketStart: number(),
|
|
18889
|
+
motion: number().int(),
|
|
18890
|
+
object: number().int(),
|
|
18891
|
+
audio: number().int()
|
|
18892
|
+
});
|
|
18893
|
+
/**
|
|
18894
|
+
* One camera's row in a `getEventDensityBatch` answer.
|
|
18895
|
+
*
|
|
18896
|
+
* TWO facts, and the timeline draws them differently:
|
|
18897
|
+
*
|
|
18898
|
+
* - `read: 'read'` — the histogram for this camera. `buckets: []` is a real
|
|
18899
|
+
* claim: read, and nothing happened in the window.
|
|
18900
|
+
* - `read: 'unreadable'` — nobody could answer for this camera. `buckets` is
|
|
18901
|
+
* empty and that emptiness means NOTHING; the timeline must render unknown,
|
|
18902
|
+
* not quiet.
|
|
18903
|
+
*
|
|
18904
|
+
* Fanned out per camera the difference was free — one query rejected while the
|
|
18905
|
+
* others resolved — and collapsing to a batch is the exact moment it is lost
|
|
18906
|
+
* silently. Every requested id gets a row: a caller that asked for twelve and
|
|
18907
|
+
* got eleven cannot tell which one is missing, or that any is.
|
|
18908
|
+
*/
|
|
18909
|
+
var EventDensityForDeviceSchema = object({
|
|
18910
|
+
deviceId: number(),
|
|
18911
|
+
read: _enum(["read", "unreadable"]),
|
|
18912
|
+
buckets: array(EventDensityBucketSchema).readonly()
|
|
18913
|
+
});
|
|
18884
18914
|
object({
|
|
18885
18915
|
trackId: string(),
|
|
18886
18916
|
className: string(),
|
|
@@ -19191,12 +19221,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19191
19221
|
since: number(),
|
|
19192
19222
|
until: number(),
|
|
19193
19223
|
bucketMs: number().int().positive()
|
|
19194
|
-
}), array(object({
|
|
19195
|
-
|
|
19196
|
-
|
|
19197
|
-
|
|
19198
|
-
|
|
19199
|
-
})).readonly()), method(object({
|
|
19224
|
+
}), array(EventDensityBucketSchema).readonly()), method(object({
|
|
19225
|
+
deviceIds: array(number()).min(1).max(200),
|
|
19226
|
+
since: number(),
|
|
19227
|
+
until: number(),
|
|
19228
|
+
bucketMs: number().int().positive()
|
|
19229
|
+
}), array(EventDensityForDeviceSchema).readonly()), method(object({
|
|
19200
19230
|
deviceId: number(),
|
|
19201
19231
|
cutoffMs: number()
|
|
19202
19232
|
}), object({
|
|
@@ -26567,6 +26597,39 @@ var RecordingDaysSchema = object({
|
|
|
26567
26597
|
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
26568
26598
|
days: array(number())
|
|
26569
26599
|
});
|
|
26600
|
+
/**
|
|
26601
|
+
* One camera's row in a `getAvailabilityBatch` answer.
|
|
26602
|
+
*
|
|
26603
|
+
* `ranges` is EXACTLY what `getAvailability` returns for that camera — the
|
|
26604
|
+
* batch collapses the transport, not the work — plus the one thing the singular
|
|
26605
|
+
* method never had to say:
|
|
26606
|
+
*
|
|
26607
|
+
* - `read: 'read'` — answered. `ranges: []` means "read, and this camera has
|
|
26608
|
+
* no footage in the window", which is a real claim.
|
|
26609
|
+
* - `read: 'unreadable'` — the recorder could not answer for this camera (its
|
|
26610
|
+
* calendar rung threw, its location is unmounted). `ranges` is empty and
|
|
26611
|
+
* that emptiness means NOTHING.
|
|
26612
|
+
*
|
|
26613
|
+
* A timeline that renders the second as the first tells an operator there is no
|
|
26614
|
+
* footage when the truth is that nobody looked.
|
|
26615
|
+
*/
|
|
26616
|
+
var RecordingAvailabilityForDeviceSchema = object({
|
|
26617
|
+
deviceId: number(),
|
|
26618
|
+
read: _enum(["read", "unreadable"]),
|
|
26619
|
+
ranges: array(RecordingRangeSchema).readonly()
|
|
26620
|
+
});
|
|
26621
|
+
/**
|
|
26622
|
+
* One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
|
|
26623
|
+
* {@link RecordingAvailabilityForDeviceSchema}: `days: []` on a `'read'` row is
|
|
26624
|
+
* "no footage in this month", `read: 'unreadable'` is "nobody could look", and
|
|
26625
|
+
* the date-picker's day dots must not spell them the same.
|
|
26626
|
+
*/
|
|
26627
|
+
var RecordingDaysForDeviceSchema = object({
|
|
26628
|
+
deviceId: number(),
|
|
26629
|
+
read: _enum(["read", "unreadable"]),
|
|
26630
|
+
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
26631
|
+
days: array(number()).readonly()
|
|
26632
|
+
});
|
|
26570
26633
|
var RecordingManifestSchema = object({
|
|
26571
26634
|
deviceId: number(),
|
|
26572
26635
|
/** Local filesystem path to the master playlist; null when no recording exists for the requested range. */
|
|
@@ -26801,6 +26864,13 @@ method(object({
|
|
|
26801
26864
|
}), RecordingAvailabilitySchema, {
|
|
26802
26865
|
kind: "query",
|
|
26803
26866
|
auth: "protected"
|
|
26867
|
+
}), method(object({
|
|
26868
|
+
deviceIds: array(number()).min(1).max(200),
|
|
26869
|
+
fromMs: number(),
|
|
26870
|
+
toMs: number()
|
|
26871
|
+
}), array(RecordingAvailabilityForDeviceSchema).readonly(), {
|
|
26872
|
+
kind: "query",
|
|
26873
|
+
auth: "protected"
|
|
26804
26874
|
}), method(object({
|
|
26805
26875
|
deviceId: number(),
|
|
26806
26876
|
fromMs: number(),
|
|
@@ -26809,6 +26879,14 @@ method(object({
|
|
|
26809
26879
|
}), RecordingDaysSchema, {
|
|
26810
26880
|
kind: "query",
|
|
26811
26881
|
auth: "protected"
|
|
26882
|
+
}), method(object({
|
|
26883
|
+
deviceIds: array(number()).min(1).max(200),
|
|
26884
|
+
fromMs: number(),
|
|
26885
|
+
toMs: number(),
|
|
26886
|
+
tzOffsetMinutes: number()
|
|
26887
|
+
}), array(RecordingDaysForDeviceSchema).readonly(), {
|
|
26888
|
+
kind: "query",
|
|
26889
|
+
auth: "protected"
|
|
26812
26890
|
}), method(object({
|
|
26813
26891
|
deviceId: number(),
|
|
26814
26892
|
fromMs: number(),
|
|
@@ -32006,6 +32084,12 @@ Object.freeze({
|
|
|
32006
32084
|
addonId: null,
|
|
32007
32085
|
access: "view"
|
|
32008
32086
|
},
|
|
32087
|
+
"pipelineAnalytics.getEventDensityBatch": {
|
|
32088
|
+
capName: "pipeline-analytics",
|
|
32089
|
+
capScope: "device",
|
|
32090
|
+
addonId: null,
|
|
32091
|
+
access: "view"
|
|
32092
|
+
},
|
|
32009
32093
|
"pipelineAnalytics.getEventMedia": {
|
|
32010
32094
|
capName: "pipeline-analytics",
|
|
32011
32095
|
capScope: "device",
|
|
@@ -33128,12 +33212,24 @@ Object.freeze({
|
|
|
33128
33212
|
addonId: null,
|
|
33129
33213
|
access: "view"
|
|
33130
33214
|
},
|
|
33215
|
+
"recording.getAvailabilityBatch": {
|
|
33216
|
+
capName: "recording",
|
|
33217
|
+
capScope: "system",
|
|
33218
|
+
addonId: null,
|
|
33219
|
+
access: "view"
|
|
33220
|
+
},
|
|
33131
33221
|
"recording.getDaysWithRecordings": {
|
|
33132
33222
|
capName: "recording",
|
|
33133
33223
|
capScope: "system",
|
|
33134
33224
|
addonId: null,
|
|
33135
33225
|
access: "view"
|
|
33136
33226
|
},
|
|
33227
|
+
"recording.getDaysWithRecordingsBatch": {
|
|
33228
|
+
capName: "recording",
|
|
33229
|
+
capScope: "system",
|
|
33230
|
+
addonId: null,
|
|
33231
|
+
access: "view"
|
|
33232
|
+
},
|
|
33137
33233
|
"recording.getDeviceConfig": {
|
|
33138
33234
|
capName: "recording",
|
|
33139
33235
|
capScope: "system",
|
|
@@ -35738,6 +35834,11 @@ Object.freeze({
|
|
|
35738
35834
|
form: "single",
|
|
35739
35835
|
optional: false
|
|
35740
35836
|
}],
|
|
35837
|
+
"pipelineAnalytics.getEventDensityBatch": [{
|
|
35838
|
+
name: "deviceIds",
|
|
35839
|
+
form: "array",
|
|
35840
|
+
optional: false
|
|
35841
|
+
}],
|
|
35741
35842
|
"pipelineAnalytics.getEventMedia": [{
|
|
35742
35843
|
name: "deviceId",
|
|
35743
35844
|
form: "single",
|
|
@@ -36153,11 +36254,21 @@ Object.freeze({
|
|
|
36153
36254
|
form: "single",
|
|
36154
36255
|
optional: false
|
|
36155
36256
|
}],
|
|
36257
|
+
"recording.getAvailabilityBatch": [{
|
|
36258
|
+
name: "deviceIds",
|
|
36259
|
+
form: "array",
|
|
36260
|
+
optional: false
|
|
36261
|
+
}],
|
|
36156
36262
|
"recording.getDaysWithRecordings": [{
|
|
36157
36263
|
name: "deviceId",
|
|
36158
36264
|
form: "single",
|
|
36159
36265
|
optional: false
|
|
36160
36266
|
}],
|
|
36267
|
+
"recording.getDaysWithRecordingsBatch": [{
|
|
36268
|
+
name: "deviceIds",
|
|
36269
|
+
form: "array",
|
|
36270
|
+
optional: false
|
|
36271
|
+
}],
|
|
36161
36272
|
"recording.getDeviceConfig": [{
|
|
36162
36273
|
name: "deviceId",
|
|
36163
36274
|
form: "single",
|
|
@@ -15607,6 +15607,8 @@ var NcSystemEventKindSchema = _enum([
|
|
|
15607
15607
|
"device-offline",
|
|
15608
15608
|
"device-disabled",
|
|
15609
15609
|
"device-enabled",
|
|
15610
|
+
"device-battery-low",
|
|
15611
|
+
"device-battery-normal",
|
|
15610
15612
|
"stream-online",
|
|
15611
15613
|
"stream-offline",
|
|
15612
15614
|
"node-online",
|
|
@@ -18881,6 +18883,34 @@ var KeyEventsForDeviceSchema = object({
|
|
|
18881
18883
|
deviceId: number(),
|
|
18882
18884
|
events: array(KeyEventSchema).readonly()
|
|
18883
18885
|
});
|
|
18886
|
+
/** One non-empty bucket of the timeline histogram. */
|
|
18887
|
+
var EventDensityBucketSchema = object({
|
|
18888
|
+
bucketStart: number(),
|
|
18889
|
+
motion: number().int(),
|
|
18890
|
+
object: number().int(),
|
|
18891
|
+
audio: number().int()
|
|
18892
|
+
});
|
|
18893
|
+
/**
|
|
18894
|
+
* One camera's row in a `getEventDensityBatch` answer.
|
|
18895
|
+
*
|
|
18896
|
+
* TWO facts, and the timeline draws them differently:
|
|
18897
|
+
*
|
|
18898
|
+
* - `read: 'read'` — the histogram for this camera. `buckets: []` is a real
|
|
18899
|
+
* claim: read, and nothing happened in the window.
|
|
18900
|
+
* - `read: 'unreadable'` — nobody could answer for this camera. `buckets` is
|
|
18901
|
+
* empty and that emptiness means NOTHING; the timeline must render unknown,
|
|
18902
|
+
* not quiet.
|
|
18903
|
+
*
|
|
18904
|
+
* Fanned out per camera the difference was free — one query rejected while the
|
|
18905
|
+
* others resolved — and collapsing to a batch is the exact moment it is lost
|
|
18906
|
+
* silently. Every requested id gets a row: a caller that asked for twelve and
|
|
18907
|
+
* got eleven cannot tell which one is missing, or that any is.
|
|
18908
|
+
*/
|
|
18909
|
+
var EventDensityForDeviceSchema = object({
|
|
18910
|
+
deviceId: number(),
|
|
18911
|
+
read: _enum(["read", "unreadable"]),
|
|
18912
|
+
buckets: array(EventDensityBucketSchema).readonly()
|
|
18913
|
+
});
|
|
18884
18914
|
object({
|
|
18885
18915
|
trackId: string(),
|
|
18886
18916
|
className: string(),
|
|
@@ -19191,12 +19221,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19191
19221
|
since: number(),
|
|
19192
19222
|
until: number(),
|
|
19193
19223
|
bucketMs: number().int().positive()
|
|
19194
|
-
}), array(object({
|
|
19195
|
-
|
|
19196
|
-
|
|
19197
|
-
|
|
19198
|
-
|
|
19199
|
-
})).readonly()), method(object({
|
|
19224
|
+
}), array(EventDensityBucketSchema).readonly()), method(object({
|
|
19225
|
+
deviceIds: array(number()).min(1).max(200),
|
|
19226
|
+
since: number(),
|
|
19227
|
+
until: number(),
|
|
19228
|
+
bucketMs: number().int().positive()
|
|
19229
|
+
}), array(EventDensityForDeviceSchema).readonly()), method(object({
|
|
19200
19230
|
deviceId: number(),
|
|
19201
19231
|
cutoffMs: number()
|
|
19202
19232
|
}), object({
|
|
@@ -26567,6 +26597,39 @@ var RecordingDaysSchema = object({
|
|
|
26567
26597
|
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
26568
26598
|
days: array(number())
|
|
26569
26599
|
});
|
|
26600
|
+
/**
|
|
26601
|
+
* One camera's row in a `getAvailabilityBatch` answer.
|
|
26602
|
+
*
|
|
26603
|
+
* `ranges` is EXACTLY what `getAvailability` returns for that camera — the
|
|
26604
|
+
* batch collapses the transport, not the work — plus the one thing the singular
|
|
26605
|
+
* method never had to say:
|
|
26606
|
+
*
|
|
26607
|
+
* - `read: 'read'` — answered. `ranges: []` means "read, and this camera has
|
|
26608
|
+
* no footage in the window", which is a real claim.
|
|
26609
|
+
* - `read: 'unreadable'` — the recorder could not answer for this camera (its
|
|
26610
|
+
* calendar rung threw, its location is unmounted). `ranges` is empty and
|
|
26611
|
+
* that emptiness means NOTHING.
|
|
26612
|
+
*
|
|
26613
|
+
* A timeline that renders the second as the first tells an operator there is no
|
|
26614
|
+
* footage when the truth is that nobody looked.
|
|
26615
|
+
*/
|
|
26616
|
+
var RecordingAvailabilityForDeviceSchema = object({
|
|
26617
|
+
deviceId: number(),
|
|
26618
|
+
read: _enum(["read", "unreadable"]),
|
|
26619
|
+
ranges: array(RecordingRangeSchema).readonly()
|
|
26620
|
+
});
|
|
26621
|
+
/**
|
|
26622
|
+
* One camera's row in a `getDaysWithRecordingsBatch` answer. Same rule as
|
|
26623
|
+
* {@link RecordingAvailabilityForDeviceSchema}: `days: []` on a `'read'` row is
|
|
26624
|
+
* "no footage in this month", `read: 'unreadable'` is "nobody could look", and
|
|
26625
|
+
* the date-picker's day dots must not spell them the same.
|
|
26626
|
+
*/
|
|
26627
|
+
var RecordingDaysForDeviceSchema = object({
|
|
26628
|
+
deviceId: number(),
|
|
26629
|
+
read: _enum(["read", "unreadable"]),
|
|
26630
|
+
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
26631
|
+
days: array(number()).readonly()
|
|
26632
|
+
});
|
|
26570
26633
|
var RecordingManifestSchema = object({
|
|
26571
26634
|
deviceId: number(),
|
|
26572
26635
|
/** Local filesystem path to the master playlist; null when no recording exists for the requested range. */
|
|
@@ -26801,6 +26864,13 @@ method(object({
|
|
|
26801
26864
|
}), RecordingAvailabilitySchema, {
|
|
26802
26865
|
kind: "query",
|
|
26803
26866
|
auth: "protected"
|
|
26867
|
+
}), method(object({
|
|
26868
|
+
deviceIds: array(number()).min(1).max(200),
|
|
26869
|
+
fromMs: number(),
|
|
26870
|
+
toMs: number()
|
|
26871
|
+
}), array(RecordingAvailabilityForDeviceSchema).readonly(), {
|
|
26872
|
+
kind: "query",
|
|
26873
|
+
auth: "protected"
|
|
26804
26874
|
}), method(object({
|
|
26805
26875
|
deviceId: number(),
|
|
26806
26876
|
fromMs: number(),
|
|
@@ -26809,6 +26879,14 @@ method(object({
|
|
|
26809
26879
|
}), RecordingDaysSchema, {
|
|
26810
26880
|
kind: "query",
|
|
26811
26881
|
auth: "protected"
|
|
26882
|
+
}), method(object({
|
|
26883
|
+
deviceIds: array(number()).min(1).max(200),
|
|
26884
|
+
fromMs: number(),
|
|
26885
|
+
toMs: number(),
|
|
26886
|
+
tzOffsetMinutes: number()
|
|
26887
|
+
}), array(RecordingDaysForDeviceSchema).readonly(), {
|
|
26888
|
+
kind: "query",
|
|
26889
|
+
auth: "protected"
|
|
26812
26890
|
}), method(object({
|
|
26813
26891
|
deviceId: number(),
|
|
26814
26892
|
fromMs: number(),
|
|
@@ -32006,6 +32084,12 @@ Object.freeze({
|
|
|
32006
32084
|
addonId: null,
|
|
32007
32085
|
access: "view"
|
|
32008
32086
|
},
|
|
32087
|
+
"pipelineAnalytics.getEventDensityBatch": {
|
|
32088
|
+
capName: "pipeline-analytics",
|
|
32089
|
+
capScope: "device",
|
|
32090
|
+
addonId: null,
|
|
32091
|
+
access: "view"
|
|
32092
|
+
},
|
|
32009
32093
|
"pipelineAnalytics.getEventMedia": {
|
|
32010
32094
|
capName: "pipeline-analytics",
|
|
32011
32095
|
capScope: "device",
|
|
@@ -33128,12 +33212,24 @@ Object.freeze({
|
|
|
33128
33212
|
addonId: null,
|
|
33129
33213
|
access: "view"
|
|
33130
33214
|
},
|
|
33215
|
+
"recording.getAvailabilityBatch": {
|
|
33216
|
+
capName: "recording",
|
|
33217
|
+
capScope: "system",
|
|
33218
|
+
addonId: null,
|
|
33219
|
+
access: "view"
|
|
33220
|
+
},
|
|
33131
33221
|
"recording.getDaysWithRecordings": {
|
|
33132
33222
|
capName: "recording",
|
|
33133
33223
|
capScope: "system",
|
|
33134
33224
|
addonId: null,
|
|
33135
33225
|
access: "view"
|
|
33136
33226
|
},
|
|
33227
|
+
"recording.getDaysWithRecordingsBatch": {
|
|
33228
|
+
capName: "recording",
|
|
33229
|
+
capScope: "system",
|
|
33230
|
+
addonId: null,
|
|
33231
|
+
access: "view"
|
|
33232
|
+
},
|
|
33137
33233
|
"recording.getDeviceConfig": {
|
|
33138
33234
|
capName: "recording",
|
|
33139
33235
|
capScope: "system",
|
|
@@ -35738,6 +35834,11 @@ Object.freeze({
|
|
|
35738
35834
|
form: "single",
|
|
35739
35835
|
optional: false
|
|
35740
35836
|
}],
|
|
35837
|
+
"pipelineAnalytics.getEventDensityBatch": [{
|
|
35838
|
+
name: "deviceIds",
|
|
35839
|
+
form: "array",
|
|
35840
|
+
optional: false
|
|
35841
|
+
}],
|
|
35741
35842
|
"pipelineAnalytics.getEventMedia": [{
|
|
35742
35843
|
name: "deviceId",
|
|
35743
35844
|
form: "single",
|
|
@@ -36153,11 +36254,21 @@ Object.freeze({
|
|
|
36153
36254
|
form: "single",
|
|
36154
36255
|
optional: false
|
|
36155
36256
|
}],
|
|
36257
|
+
"recording.getAvailabilityBatch": [{
|
|
36258
|
+
name: "deviceIds",
|
|
36259
|
+
form: "array",
|
|
36260
|
+
optional: false
|
|
36261
|
+
}],
|
|
36156
36262
|
"recording.getDaysWithRecordings": [{
|
|
36157
36263
|
name: "deviceId",
|
|
36158
36264
|
form: "single",
|
|
36159
36265
|
optional: false
|
|
36160
36266
|
}],
|
|
36267
|
+
"recording.getDaysWithRecordingsBatch": [{
|
|
36268
|
+
name: "deviceIds",
|
|
36269
|
+
form: "array",
|
|
36270
|
+
optional: false
|
|
36271
|
+
}],
|
|
36161
36272
|
"recording.getDeviceConfig": [{
|
|
36162
36273
|
name: "deviceId",
|
|
36163
36274
|
form: "single",
|
|
@@ -2,7 +2,7 @@ Object.defineProperties(exports, {
|
|
|
2
2
|
__esModule: { value: true },
|
|
3
3
|
[Symbol.toStringTag]: { value: "Module" }
|
|
4
4
|
});
|
|
5
|
-
const require_dist = require("../dist-
|
|
5
|
+
const require_dist = require("../dist-BYSC8bJK.js");
|
|
6
6
|
let node_crypto = require("node:crypto");
|
|
7
7
|
let node_child_process = require("node:child_process");
|
|
8
8
|
//#region src/ingress/tailscale-cli.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as EventCategory, i as BaseAddon, n as networkAccessCapability } from "../dist-
|
|
1
|
+
import { a as EventCategory, i as BaseAddon, n as networkAccessCapability } from "../dist-COyLQeD1.mjs";
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { execFile } from "node:child_process";
|
|
4
4
|
import { promisify } from "node:util";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-tailscale",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.52",
|
|
4
4
|
"description": "Tailscale bundle for CamStack — joins the host to a tailnet (client) and exposes the hub via Serve/Funnel (ingress). Multi-entry npm package shipping 2 addons under a single bundle.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|