@camstack/addon-provider-petkit 0.2.24 → 0.2.26
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/addon.js +76 -6
- package/dist/addon.mjs +76 -6
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -1101,7 +1101,7 @@ var Nodepetkit = class {
|
|
|
1101
1101
|
}
|
|
1102
1102
|
};
|
|
1103
1103
|
//#endregion
|
|
1104
|
-
//#region ../types/dist/event-category-
|
|
1104
|
+
//#region ../types/dist/event-category-CIa_iT6b.mjs
|
|
1105
1105
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
1106
1106
|
EventCategory["SystemBoot"] = "system.boot";
|
|
1107
1107
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -1117,6 +1117,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
1117
1117
|
*/
|
|
1118
1118
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
1119
1119
|
/**
|
|
1120
|
+
* The hub reissued its own TLS certificate at boot (`ensureTlsCert`).
|
|
1121
|
+
* Emitted only when the material on disk actually changed, so an
|
|
1122
|
+
* operator who trusted the old certificate by hand is told rather than
|
|
1123
|
+
* discovering it as a browser error. Payload `TlsCertChangedPayload`.
|
|
1124
|
+
*
|
|
1125
|
+
* Rule: docs/decisions/adr-0227-*.md
|
|
1126
|
+
*/
|
|
1127
|
+
EventCategory["SystemTlsCertChanged"] = "system.tls-cert-changed";
|
|
1128
|
+
/**
|
|
1120
1129
|
* A newer addon or server-root package version was found by the
|
|
1121
1130
|
* authoritative registry check. Emitted once when any observed
|
|
1122
1131
|
* `latestVersion` changes (or a package/node first appears behind);
|
|
@@ -20100,6 +20109,12 @@ var CameraStatusSchema = object({
|
|
|
20100
20109
|
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
20101
20110
|
fetchedAt: number()
|
|
20102
20111
|
});
|
|
20112
|
+
var InferenceDeviceExclusionReasonSchema = _enum([
|
|
20113
|
+
"disabled",
|
|
20114
|
+
"unavailable",
|
|
20115
|
+
"cannot-host-camera-root",
|
|
20116
|
+
"accelerator-preferred"
|
|
20117
|
+
]);
|
|
20103
20118
|
var NodeInferenceDeviceSchema = object({
|
|
20104
20119
|
/** Stable per-node device key, e.g. `openvino:npu`, `edgetpu:usb`, `cpu`. */
|
|
20105
20120
|
key: string(),
|
|
@@ -20130,7 +20145,17 @@ var NodeInferenceDeviceSchema = object({
|
|
|
20130
20145
|
* available per format; this is the stored selection that becomes the
|
|
20131
20146
|
* default for EVERY camera landing on this accelerator.
|
|
20132
20147
|
*/
|
|
20133
|
-
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
20148
|
+
steps: record(string(), DeviceStepConfigSchema).optional(),
|
|
20149
|
+
/**
|
|
20150
|
+
* `null` when the device IS a camera-root candidate on this node; otherwise
|
|
20151
|
+
* the reason the dispatcher drops it. Computed by the SAME
|
|
20152
|
+
* `resolveInferenceDeviceEligibility` the dispatcher runs, so this view can
|
|
20153
|
+
* never disagree with the election — deriving it in the UI from
|
|
20154
|
+
* `enabled`/`available` would silently miss `cannot-host-camera-root` (needs
|
|
20155
|
+
* the node's model catalog) and `accelerator-preferred` (needs the node-wide
|
|
20156
|
+
* "an accelerator is serving" predicate).
|
|
20157
|
+
*/
|
|
20158
|
+
exclusion: InferenceDeviceExclusionReasonSchema.nullable()
|
|
20134
20159
|
});
|
|
20135
20160
|
var NodeInferenceDevicesSchema = object({
|
|
20136
20161
|
nodeId: string(),
|
|
@@ -24989,7 +25014,12 @@ var ListResultSchema = object({
|
|
|
24989
25014
|
probedAt: number()
|
|
24990
25015
|
});
|
|
24991
25016
|
var PreferredSchema = LocalInterfaceSchema.nullable();
|
|
24992
|
-
|
|
25017
|
+
/**
|
|
25018
|
+
* Candidate base URL for the SDK to race on connect. Order matters —
|
|
25019
|
+
* the SDK should attempt these top-to-bottom with a short per-candidate
|
|
25020
|
+
* timeout (e.g. 1500ms) and cache the winner for the session.
|
|
25021
|
+
*/
|
|
25022
|
+
var ConnectionEndpointSchema = object({
|
|
24993
25023
|
/** Operator-facing label (e.g. "LAN — en0", "Public tunnel"). */
|
|
24994
25024
|
label: string(),
|
|
24995
25025
|
/** Fully-formed base URL with scheme + host + port. */
|
|
@@ -25032,7 +25062,42 @@ var GetConnectionEndpointsResultSchema = object({ endpoints: array(object({
|
|
|
25032
25062
|
* ordering between polls.
|
|
25033
25063
|
*/
|
|
25034
25064
|
priority: number()
|
|
25035
|
-
})
|
|
25065
|
+
});
|
|
25066
|
+
/**
|
|
25067
|
+
* Where the advertised local port came from. Ordered most → least
|
|
25068
|
+
* authoritative, and the whole point of returning it: a client must be able to
|
|
25069
|
+
* tell a FACT about the hub's socket from an echo of its own guess.
|
|
25070
|
+
*/
|
|
25071
|
+
var LocalPortSourceEnum = _enum([
|
|
25072
|
+
"server-config",
|
|
25073
|
+
"server-env",
|
|
25074
|
+
"caller-hint",
|
|
25075
|
+
"default"
|
|
25076
|
+
]);
|
|
25077
|
+
/** The port every LAN/loopback `baseUrl` in the same result was built with. */
|
|
25078
|
+
var AdvertisedLocalPortSchema = object({
|
|
25079
|
+
port: number().int().min(1).max(65535),
|
|
25080
|
+
source: LocalPortSourceEnum
|
|
25081
|
+
});
|
|
25082
|
+
var GetConnectionEndpointsResultSchema = object({
|
|
25083
|
+
endpoints: array(ConnectionEndpointSchema).readonly(),
|
|
25084
|
+
/**
|
|
25085
|
+
* The port the hub built the LAN/loopback URLs with, and where that number
|
|
25086
|
+
* came from.
|
|
25087
|
+
*
|
|
25088
|
+
* Returned rather than merely applied, because "the URL is right" and "the
|
|
25089
|
+
* client can KNOW the URL is right" are different properties. A client that
|
|
25090
|
+
* only sees a corrected URL cannot distinguish a hub that fixed the port from
|
|
25091
|
+
* a hub that echoed the port the client sent, so it cannot decide whether to
|
|
25092
|
+
* race the candidate or discard it. With `source` it can: anything but
|
|
25093
|
+
* `caller-hint` is the hub's own socket.
|
|
25094
|
+
*
|
|
25095
|
+
* Absent on hubs predating this field — a client that finds it missing is
|
|
25096
|
+
* talking to an echoing hub and must degrade exactly as it does for
|
|
25097
|
+
* `caller-hint`.
|
|
25098
|
+
*/
|
|
25099
|
+
localPort: AdvertisedLocalPortSchema
|
|
25100
|
+
});
|
|
25036
25101
|
/**
|
|
25037
25102
|
* The chosen outbound endpoint for notification artifacts. `baseUrl: null` =
|
|
25038
25103
|
* AUTO (resolved from the candidate ranking at send time); `resolved` reports
|
|
@@ -25053,8 +25118,13 @@ var AllowedAddressesSchema = object({
|
|
|
25053
25118
|
*/
|
|
25054
25119
|
addresses: array(string()).readonly() });
|
|
25055
25120
|
method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(object({
|
|
25056
|
-
/**
|
|
25057
|
-
|
|
25121
|
+
/**
|
|
25122
|
+
* LEGACY HINT — do not send from new code. Kept optional so clients
|
|
25123
|
+
* written against the echoing contract keep working; the hub uses it
|
|
25124
|
+
* only when it cannot read its own port, and says so via
|
|
25125
|
+
* `localPort.source === 'caller-hint'`.
|
|
25126
|
+
*/
|
|
25127
|
+
port: number().int().min(1).max(65535).optional(),
|
|
25058
25128
|
/** Include `http(s)://127.0.0.1:<port>` as the lowest-priority
|
|
25059
25129
|
* candidate. Default `true`. */
|
|
25060
25130
|
includeLoopback: boolean().optional(),
|
package/dist/addon.mjs
CHANGED
|
@@ -1100,7 +1100,7 @@ var Nodepetkit = class {
|
|
|
1100
1100
|
}
|
|
1101
1101
|
};
|
|
1102
1102
|
//#endregion
|
|
1103
|
-
//#region ../types/dist/event-category-
|
|
1103
|
+
//#region ../types/dist/event-category-CIa_iT6b.mjs
|
|
1104
1104
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
1105
1105
|
EventCategory["SystemBoot"] = "system.boot";
|
|
1106
1106
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -1116,6 +1116,15 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
1116
1116
|
*/
|
|
1117
1117
|
EventCategory["SystemRestartCompleted"] = "system.restart-completed";
|
|
1118
1118
|
/**
|
|
1119
|
+
* The hub reissued its own TLS certificate at boot (`ensureTlsCert`).
|
|
1120
|
+
* Emitted only when the material on disk actually changed, so an
|
|
1121
|
+
* operator who trusted the old certificate by hand is told rather than
|
|
1122
|
+
* discovering it as a browser error. Payload `TlsCertChangedPayload`.
|
|
1123
|
+
*
|
|
1124
|
+
* Rule: docs/decisions/adr-0227-*.md
|
|
1125
|
+
*/
|
|
1126
|
+
EventCategory["SystemTlsCertChanged"] = "system.tls-cert-changed";
|
|
1127
|
+
/**
|
|
1119
1128
|
* A newer addon or server-root package version was found by the
|
|
1120
1129
|
* authoritative registry check. Emitted once when any observed
|
|
1121
1130
|
* `latestVersion` changes (or a package/node first appears behind);
|
|
@@ -20099,6 +20108,12 @@ var CameraStatusSchema = object({
|
|
|
20099
20108
|
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
20100
20109
|
fetchedAt: number()
|
|
20101
20110
|
});
|
|
20111
|
+
var InferenceDeviceExclusionReasonSchema = _enum([
|
|
20112
|
+
"disabled",
|
|
20113
|
+
"unavailable",
|
|
20114
|
+
"cannot-host-camera-root",
|
|
20115
|
+
"accelerator-preferred"
|
|
20116
|
+
]);
|
|
20102
20117
|
var NodeInferenceDeviceSchema = object({
|
|
20103
20118
|
/** Stable per-node device key, e.g. `openvino:npu`, `edgetpu:usb`, `cpu`. */
|
|
20104
20119
|
key: string(),
|
|
@@ -20129,7 +20144,17 @@ var NodeInferenceDeviceSchema = object({
|
|
|
20129
20144
|
* available per format; this is the stored selection that becomes the
|
|
20130
20145
|
* default for EVERY camera landing on this accelerator.
|
|
20131
20146
|
*/
|
|
20132
|
-
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
20147
|
+
steps: record(string(), DeviceStepConfigSchema).optional(),
|
|
20148
|
+
/**
|
|
20149
|
+
* `null` when the device IS a camera-root candidate on this node; otherwise
|
|
20150
|
+
* the reason the dispatcher drops it. Computed by the SAME
|
|
20151
|
+
* `resolveInferenceDeviceEligibility` the dispatcher runs, so this view can
|
|
20152
|
+
* never disagree with the election — deriving it in the UI from
|
|
20153
|
+
* `enabled`/`available` would silently miss `cannot-host-camera-root` (needs
|
|
20154
|
+
* the node's model catalog) and `accelerator-preferred` (needs the node-wide
|
|
20155
|
+
* "an accelerator is serving" predicate).
|
|
20156
|
+
*/
|
|
20157
|
+
exclusion: InferenceDeviceExclusionReasonSchema.nullable()
|
|
20133
20158
|
});
|
|
20134
20159
|
var NodeInferenceDevicesSchema = object({
|
|
20135
20160
|
nodeId: string(),
|
|
@@ -24988,7 +25013,12 @@ var ListResultSchema = object({
|
|
|
24988
25013
|
probedAt: number()
|
|
24989
25014
|
});
|
|
24990
25015
|
var PreferredSchema = LocalInterfaceSchema.nullable();
|
|
24991
|
-
|
|
25016
|
+
/**
|
|
25017
|
+
* Candidate base URL for the SDK to race on connect. Order matters —
|
|
25018
|
+
* the SDK should attempt these top-to-bottom with a short per-candidate
|
|
25019
|
+
* timeout (e.g. 1500ms) and cache the winner for the session.
|
|
25020
|
+
*/
|
|
25021
|
+
var ConnectionEndpointSchema = object({
|
|
24992
25022
|
/** Operator-facing label (e.g. "LAN — en0", "Public tunnel"). */
|
|
24993
25023
|
label: string(),
|
|
24994
25024
|
/** Fully-formed base URL with scheme + host + port. */
|
|
@@ -25031,7 +25061,42 @@ var GetConnectionEndpointsResultSchema = object({ endpoints: array(object({
|
|
|
25031
25061
|
* ordering between polls.
|
|
25032
25062
|
*/
|
|
25033
25063
|
priority: number()
|
|
25034
|
-
})
|
|
25064
|
+
});
|
|
25065
|
+
/**
|
|
25066
|
+
* Where the advertised local port came from. Ordered most → least
|
|
25067
|
+
* authoritative, and the whole point of returning it: a client must be able to
|
|
25068
|
+
* tell a FACT about the hub's socket from an echo of its own guess.
|
|
25069
|
+
*/
|
|
25070
|
+
var LocalPortSourceEnum = _enum([
|
|
25071
|
+
"server-config",
|
|
25072
|
+
"server-env",
|
|
25073
|
+
"caller-hint",
|
|
25074
|
+
"default"
|
|
25075
|
+
]);
|
|
25076
|
+
/** The port every LAN/loopback `baseUrl` in the same result was built with. */
|
|
25077
|
+
var AdvertisedLocalPortSchema = object({
|
|
25078
|
+
port: number().int().min(1).max(65535),
|
|
25079
|
+
source: LocalPortSourceEnum
|
|
25080
|
+
});
|
|
25081
|
+
var GetConnectionEndpointsResultSchema = object({
|
|
25082
|
+
endpoints: array(ConnectionEndpointSchema).readonly(),
|
|
25083
|
+
/**
|
|
25084
|
+
* The port the hub built the LAN/loopback URLs with, and where that number
|
|
25085
|
+
* came from.
|
|
25086
|
+
*
|
|
25087
|
+
* Returned rather than merely applied, because "the URL is right" and "the
|
|
25088
|
+
* client can KNOW the URL is right" are different properties. A client that
|
|
25089
|
+
* only sees a corrected URL cannot distinguish a hub that fixed the port from
|
|
25090
|
+
* a hub that echoed the port the client sent, so it cannot decide whether to
|
|
25091
|
+
* race the candidate or discard it. With `source` it can: anything but
|
|
25092
|
+
* `caller-hint` is the hub's own socket.
|
|
25093
|
+
*
|
|
25094
|
+
* Absent on hubs predating this field — a client that finds it missing is
|
|
25095
|
+
* talking to an echoing hub and must degrade exactly as it does for
|
|
25096
|
+
* `caller-hint`.
|
|
25097
|
+
*/
|
|
25098
|
+
localPort: AdvertisedLocalPortSchema
|
|
25099
|
+
});
|
|
25035
25100
|
/**
|
|
25036
25101
|
* The chosen outbound endpoint for notification artifacts. `baseUrl: null` =
|
|
25037
25102
|
* AUTO (resolved from the candidate ranking at send time); `resolved` reports
|
|
@@ -25052,8 +25117,13 @@ var AllowedAddressesSchema = object({
|
|
|
25052
25117
|
*/
|
|
25053
25118
|
addresses: array(string()).readonly() });
|
|
25054
25119
|
method(_void(), ListResultSchema), method(_void(), PreferredSchema), method(object({
|
|
25055
|
-
/**
|
|
25056
|
-
|
|
25120
|
+
/**
|
|
25121
|
+
* LEGACY HINT — do not send from new code. Kept optional so clients
|
|
25122
|
+
* written against the echoing contract keep working; the hub uses it
|
|
25123
|
+
* only when it cannot read its own port, and says so via
|
|
25124
|
+
* `localPort.source === 'caller-hint'`.
|
|
25125
|
+
*/
|
|
25126
|
+
port: number().int().min(1).max(65535).optional(),
|
|
25057
25127
|
/** Include `http(s)://127.0.0.1:<port>` as the lowest-priority
|
|
25058
25128
|
* candidate. Default `true`. */
|
|
25059
25129
|
includeLoopback: boolean().optional(),
|
package/package.json
CHANGED