@camstack/addon-tailscale 1.2.51 → 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-DZmp04sL.js → dist-BYSC8bJK.js} +115 -6
- package/dist/{dist-CLEhB-7g.mjs → dist-COyLQeD1.mjs} +115 -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";
|
|
@@ -18883,6 +18883,34 @@ var KeyEventsForDeviceSchema = object({
|
|
|
18883
18883
|
deviceId: number(),
|
|
18884
18884
|
events: array(KeyEventSchema).readonly()
|
|
18885
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
|
+
});
|
|
18886
18914
|
object({
|
|
18887
18915
|
trackId: string(),
|
|
18888
18916
|
className: string(),
|
|
@@ -19193,12 +19221,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19193
19221
|
since: number(),
|
|
19194
19222
|
until: number(),
|
|
19195
19223
|
bucketMs: number().int().positive()
|
|
19196
|
-
}), array(object({
|
|
19197
|
-
|
|
19198
|
-
|
|
19199
|
-
|
|
19200
|
-
|
|
19201
|
-
})).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({
|
|
19202
19230
|
deviceId: number(),
|
|
19203
19231
|
cutoffMs: number()
|
|
19204
19232
|
}), object({
|
|
@@ -26569,6 +26597,39 @@ var RecordingDaysSchema = object({
|
|
|
26569
26597
|
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
26570
26598
|
days: array(number())
|
|
26571
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
|
+
});
|
|
26572
26633
|
var RecordingManifestSchema = object({
|
|
26573
26634
|
deviceId: number(),
|
|
26574
26635
|
/** Local filesystem path to the master playlist; null when no recording exists for the requested range. */
|
|
@@ -26803,6 +26864,13 @@ method(object({
|
|
|
26803
26864
|
}), RecordingAvailabilitySchema, {
|
|
26804
26865
|
kind: "query",
|
|
26805
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"
|
|
26806
26874
|
}), method(object({
|
|
26807
26875
|
deviceId: number(),
|
|
26808
26876
|
fromMs: number(),
|
|
@@ -26811,6 +26879,14 @@ method(object({
|
|
|
26811
26879
|
}), RecordingDaysSchema, {
|
|
26812
26880
|
kind: "query",
|
|
26813
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"
|
|
26814
26890
|
}), method(object({
|
|
26815
26891
|
deviceId: number(),
|
|
26816
26892
|
fromMs: number(),
|
|
@@ -32008,6 +32084,12 @@ Object.freeze({
|
|
|
32008
32084
|
addonId: null,
|
|
32009
32085
|
access: "view"
|
|
32010
32086
|
},
|
|
32087
|
+
"pipelineAnalytics.getEventDensityBatch": {
|
|
32088
|
+
capName: "pipeline-analytics",
|
|
32089
|
+
capScope: "device",
|
|
32090
|
+
addonId: null,
|
|
32091
|
+
access: "view"
|
|
32092
|
+
},
|
|
32011
32093
|
"pipelineAnalytics.getEventMedia": {
|
|
32012
32094
|
capName: "pipeline-analytics",
|
|
32013
32095
|
capScope: "device",
|
|
@@ -33130,12 +33212,24 @@ Object.freeze({
|
|
|
33130
33212
|
addonId: null,
|
|
33131
33213
|
access: "view"
|
|
33132
33214
|
},
|
|
33215
|
+
"recording.getAvailabilityBatch": {
|
|
33216
|
+
capName: "recording",
|
|
33217
|
+
capScope: "system",
|
|
33218
|
+
addonId: null,
|
|
33219
|
+
access: "view"
|
|
33220
|
+
},
|
|
33133
33221
|
"recording.getDaysWithRecordings": {
|
|
33134
33222
|
capName: "recording",
|
|
33135
33223
|
capScope: "system",
|
|
33136
33224
|
addonId: null,
|
|
33137
33225
|
access: "view"
|
|
33138
33226
|
},
|
|
33227
|
+
"recording.getDaysWithRecordingsBatch": {
|
|
33228
|
+
capName: "recording",
|
|
33229
|
+
capScope: "system",
|
|
33230
|
+
addonId: null,
|
|
33231
|
+
access: "view"
|
|
33232
|
+
},
|
|
33139
33233
|
"recording.getDeviceConfig": {
|
|
33140
33234
|
capName: "recording",
|
|
33141
33235
|
capScope: "system",
|
|
@@ -35740,6 +35834,11 @@ Object.freeze({
|
|
|
35740
35834
|
form: "single",
|
|
35741
35835
|
optional: false
|
|
35742
35836
|
}],
|
|
35837
|
+
"pipelineAnalytics.getEventDensityBatch": [{
|
|
35838
|
+
name: "deviceIds",
|
|
35839
|
+
form: "array",
|
|
35840
|
+
optional: false
|
|
35841
|
+
}],
|
|
35743
35842
|
"pipelineAnalytics.getEventMedia": [{
|
|
35744
35843
|
name: "deviceId",
|
|
35745
35844
|
form: "single",
|
|
@@ -36155,11 +36254,21 @@ Object.freeze({
|
|
|
36155
36254
|
form: "single",
|
|
36156
36255
|
optional: false
|
|
36157
36256
|
}],
|
|
36257
|
+
"recording.getAvailabilityBatch": [{
|
|
36258
|
+
name: "deviceIds",
|
|
36259
|
+
form: "array",
|
|
36260
|
+
optional: false
|
|
36261
|
+
}],
|
|
36158
36262
|
"recording.getDaysWithRecordings": [{
|
|
36159
36263
|
name: "deviceId",
|
|
36160
36264
|
form: "single",
|
|
36161
36265
|
optional: false
|
|
36162
36266
|
}],
|
|
36267
|
+
"recording.getDaysWithRecordingsBatch": [{
|
|
36268
|
+
name: "deviceIds",
|
|
36269
|
+
form: "array",
|
|
36270
|
+
optional: false
|
|
36271
|
+
}],
|
|
36163
36272
|
"recording.getDeviceConfig": [{
|
|
36164
36273
|
name: "deviceId",
|
|
36165
36274
|
form: "single",
|
|
@@ -18883,6 +18883,34 @@ var KeyEventsForDeviceSchema = object({
|
|
|
18883
18883
|
deviceId: number(),
|
|
18884
18884
|
events: array(KeyEventSchema).readonly()
|
|
18885
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
|
+
});
|
|
18886
18914
|
object({
|
|
18887
18915
|
trackId: string(),
|
|
18888
18916
|
className: string(),
|
|
@@ -19193,12 +19221,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
19193
19221
|
since: number(),
|
|
19194
19222
|
until: number(),
|
|
19195
19223
|
bucketMs: number().int().positive()
|
|
19196
|
-
}), array(object({
|
|
19197
|
-
|
|
19198
|
-
|
|
19199
|
-
|
|
19200
|
-
|
|
19201
|
-
})).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({
|
|
19202
19230
|
deviceId: number(),
|
|
19203
19231
|
cutoffMs: number()
|
|
19204
19232
|
}), object({
|
|
@@ -26569,6 +26597,39 @@ var RecordingDaysSchema = object({
|
|
|
26569
26597
|
/** Local-midnight epochs (UTC ms) of days that have ≥1 recorded segment. */
|
|
26570
26598
|
days: array(number())
|
|
26571
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
|
+
});
|
|
26572
26633
|
var RecordingManifestSchema = object({
|
|
26573
26634
|
deviceId: number(),
|
|
26574
26635
|
/** Local filesystem path to the master playlist; null when no recording exists for the requested range. */
|
|
@@ -26803,6 +26864,13 @@ method(object({
|
|
|
26803
26864
|
}), RecordingAvailabilitySchema, {
|
|
26804
26865
|
kind: "query",
|
|
26805
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"
|
|
26806
26874
|
}), method(object({
|
|
26807
26875
|
deviceId: number(),
|
|
26808
26876
|
fromMs: number(),
|
|
@@ -26811,6 +26879,14 @@ method(object({
|
|
|
26811
26879
|
}), RecordingDaysSchema, {
|
|
26812
26880
|
kind: "query",
|
|
26813
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"
|
|
26814
26890
|
}), method(object({
|
|
26815
26891
|
deviceId: number(),
|
|
26816
26892
|
fromMs: number(),
|
|
@@ -32008,6 +32084,12 @@ Object.freeze({
|
|
|
32008
32084
|
addonId: null,
|
|
32009
32085
|
access: "view"
|
|
32010
32086
|
},
|
|
32087
|
+
"pipelineAnalytics.getEventDensityBatch": {
|
|
32088
|
+
capName: "pipeline-analytics",
|
|
32089
|
+
capScope: "device",
|
|
32090
|
+
addonId: null,
|
|
32091
|
+
access: "view"
|
|
32092
|
+
},
|
|
32011
32093
|
"pipelineAnalytics.getEventMedia": {
|
|
32012
32094
|
capName: "pipeline-analytics",
|
|
32013
32095
|
capScope: "device",
|
|
@@ -33130,12 +33212,24 @@ Object.freeze({
|
|
|
33130
33212
|
addonId: null,
|
|
33131
33213
|
access: "view"
|
|
33132
33214
|
},
|
|
33215
|
+
"recording.getAvailabilityBatch": {
|
|
33216
|
+
capName: "recording",
|
|
33217
|
+
capScope: "system",
|
|
33218
|
+
addonId: null,
|
|
33219
|
+
access: "view"
|
|
33220
|
+
},
|
|
33133
33221
|
"recording.getDaysWithRecordings": {
|
|
33134
33222
|
capName: "recording",
|
|
33135
33223
|
capScope: "system",
|
|
33136
33224
|
addonId: null,
|
|
33137
33225
|
access: "view"
|
|
33138
33226
|
},
|
|
33227
|
+
"recording.getDaysWithRecordingsBatch": {
|
|
33228
|
+
capName: "recording",
|
|
33229
|
+
capScope: "system",
|
|
33230
|
+
addonId: null,
|
|
33231
|
+
access: "view"
|
|
33232
|
+
},
|
|
33139
33233
|
"recording.getDeviceConfig": {
|
|
33140
33234
|
capName: "recording",
|
|
33141
33235
|
capScope: "system",
|
|
@@ -35740,6 +35834,11 @@ Object.freeze({
|
|
|
35740
35834
|
form: "single",
|
|
35741
35835
|
optional: false
|
|
35742
35836
|
}],
|
|
35837
|
+
"pipelineAnalytics.getEventDensityBatch": [{
|
|
35838
|
+
name: "deviceIds",
|
|
35839
|
+
form: "array",
|
|
35840
|
+
optional: false
|
|
35841
|
+
}],
|
|
35743
35842
|
"pipelineAnalytics.getEventMedia": [{
|
|
35744
35843
|
name: "deviceId",
|
|
35745
35844
|
form: "single",
|
|
@@ -36155,11 +36254,21 @@ Object.freeze({
|
|
|
36155
36254
|
form: "single",
|
|
36156
36255
|
optional: false
|
|
36157
36256
|
}],
|
|
36257
|
+
"recording.getAvailabilityBatch": [{
|
|
36258
|
+
name: "deviceIds",
|
|
36259
|
+
form: "array",
|
|
36260
|
+
optional: false
|
|
36261
|
+
}],
|
|
36158
36262
|
"recording.getDaysWithRecordings": [{
|
|
36159
36263
|
name: "deviceId",
|
|
36160
36264
|
form: "single",
|
|
36161
36265
|
optional: false
|
|
36162
36266
|
}],
|
|
36267
|
+
"recording.getDaysWithRecordingsBatch": [{
|
|
36268
|
+
name: "deviceIds",
|
|
36269
|
+
form: "array",
|
|
36270
|
+
optional: false
|
|
36271
|
+
}],
|
|
36163
36272
|
"recording.getDeviceConfig": [{
|
|
36164
36273
|
name: "deviceId",
|
|
36165
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",
|