@camstack/addon-auth 1.1.15 → 1.2.1
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/{dist-COSFJXt6.mjs → dist-CXujhrB4.mjs} +213 -106
- package/dist/{dist-CCXGqh4j.js → dist-CuQ5TtUl.js} +213 -106
- package/dist/magic-link/auth-magic-link.addon.js +1 -1
- package/dist/magic-link/auth-magic-link.addon.mjs +1 -1
- package/dist/oidc/auth-oidc.addon.js +1 -1
- package/dist/oidc/auth-oidc.addon.mjs +1 -1
- package/dist/webauthn/_stub.js +1 -1
- package/dist/webauthn/{_virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-CbkA0E7z.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_auth_webauthn_widgets-vae6YdYn.mjs} +3 -3
- package/dist/webauthn/_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-DbD550tu.mjs +26 -0
- package/dist/webauthn/auth-webauthn.addon.js +1 -1
- package/dist/webauthn/auth-webauthn.addon.mjs +1 -1
- package/dist/webauthn/{hostInit-D1Gbwg-e.mjs → hostInit-RZSob2db.mjs} +3 -3
- package/dist/webauthn/remoteEntry.js +1 -1
- package/package.json +1 -1
- package/dist/webauthn/_virtual_mf___mfe_internal__addon_auth_webauthn_widgets__loadShare___mf_0_camstack_mf_1_ui_mf_2_library__loadShare__.js-jP3xqczc.mjs +0 -26
|
@@ -7079,6 +7079,17 @@ var ModelCatalogEntrySchema = object({
|
|
|
7079
7079
|
"imagenet",
|
|
7080
7080
|
"none"
|
|
7081
7081
|
]).optional(),
|
|
7082
|
+
/**
|
|
7083
|
+
* The model already applies softmax IN-GRAPH — its raw output is a
|
|
7084
|
+
* probability distribution, not logits. When set, the `softmax`
|
|
7085
|
+
* postprocessor must NOT re-apply softmax: re-softmaxing an already-normalised
|
|
7086
|
+
* probability vector collapses it toward uniform (top-1 score craters far
|
|
7087
|
+
* below its true value, making every confidence gate meaningless). Absent ⇒
|
|
7088
|
+
* the output is raw logits and the postprocessor applies softmax (the normal
|
|
7089
|
+
* case). Set on the Google AIY Birds `bird-classifier` (softmax baked into the
|
|
7090
|
+
* TF graph). Threaded to the Python pool via `PoolModelConfig.outputProbabilities`.
|
|
7091
|
+
*/
|
|
7092
|
+
outputProbabilities: boolean().optional(),
|
|
7082
7093
|
preprocessMode: _enum(["letterbox", "resize"]).optional(),
|
|
7083
7094
|
/**
|
|
7084
7095
|
* Per-MODEL postprocessor override. Absent ⇒ the step's own
|
|
@@ -11209,10 +11220,7 @@ var ConfigUISchemaNullableBridge = custom();
|
|
|
11209
11220
|
var InferenceCapabilitiesBridge = custom();
|
|
11210
11221
|
var ModelAvailabilityListBridge = custom();
|
|
11211
11222
|
var PipelineRunResultBridge = custom();
|
|
11212
|
-
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(_void(),
|
|
11213
|
-
kind: "mutation",
|
|
11214
|
-
auth: "admin"
|
|
11215
|
-
}), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
11223
|
+
method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngineChoiceSchema), method(PipelineEngineChoiceSchema, array(PipelineDefaultStepSchema)), method(object({ nodeId: string() }), EngineProvisioningSchema), method(_void(), record(string(), object({
|
|
11216
11224
|
modelId: string(),
|
|
11217
11225
|
settings: record(string(), unknown()).readonly()
|
|
11218
11226
|
}))), method(object({ steps: record(string(), object({
|
|
@@ -11272,13 +11280,33 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
|
|
|
11272
11280
|
* (inputClasses ≠ null) are skipped and served per-track via
|
|
11273
11281
|
* pipelineRunner.runDetailSubtree (two-plane design).
|
|
11274
11282
|
*/
|
|
11275
|
-
plane: _enum(["full", "frame"]).optional()
|
|
11283
|
+
plane: _enum(["full", "frame"]).optional(),
|
|
11284
|
+
/**
|
|
11285
|
+
* Inference-device selector (Phase 2 multi-device). Format
|
|
11286
|
+
* `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`).
|
|
11287
|
+
* Omitted ⇒ the runner's default device (current single-engine
|
|
11288
|
+
* behaviour). Selects WHICH device pool of the node runs the call.
|
|
11289
|
+
*/
|
|
11290
|
+
deviceKey: string().optional()
|
|
11276
11291
|
}), PipelineRunResultBridge, { kind: "mutation" }), method(object({
|
|
11277
11292
|
engine: PipelineEngineChoiceSchema.optional(),
|
|
11278
11293
|
steps: array(PipelineStepInputSchema).min(1),
|
|
11279
11294
|
frames: array(FrameInputSchema).min(1).max(255),
|
|
11280
11295
|
deviceId: number().optional(),
|
|
11281
|
-
sessionId: string().optional()
|
|
11296
|
+
sessionId: string().optional(),
|
|
11297
|
+
/**
|
|
11298
|
+
* Pure-inference benchmark hint. A NONZERO uint32 pins every frame in
|
|
11299
|
+
* the batch to the Python pool's bench preprocess cache
|
|
11300
|
+
* (`_bench_frame_id`) so a REPEATED benchmark frame is decoded +
|
|
11301
|
+
* preprocessed ONCE and every later inference is a pure-inference cache
|
|
11302
|
+
* hit — the sustained-throughput run measures inference, not
|
|
11303
|
+
* decode+preprocess+infer. Omitted/0 for live frames (all different →
|
|
11304
|
+
* full preprocess every call, correct). Fresh per sustained run;
|
|
11305
|
+
* released via `uncacheFrame`.
|
|
11306
|
+
*/
|
|
11307
|
+
frameId: number().int().nonnegative().optional(),
|
|
11308
|
+
/** Inference-device selector (Phase 2 multi-device); see runPipeline. */
|
|
11309
|
+
deviceKey: string().optional()
|
|
11282
11310
|
}), object({ results: array(PipelineRunResultBridge).readonly() }), { kind: "mutation" }), method(object({
|
|
11283
11311
|
data: _instanceof(Uint8Array),
|
|
11284
11312
|
width: number().int().positive(),
|
|
@@ -11310,8 +11338,18 @@ method(_void(), array(PipelineEngineChoiceSchema)), method(_void(), PipelineEngi
|
|
|
11310
11338
|
* - `runtime` — main camera-serving engine (no idle TTL).
|
|
11311
11339
|
* - `warm-override` — benchmark/test override held in the warm
|
|
11312
11340
|
* cache; auto-disposed after the idle TTL.
|
|
11341
|
+
* - `device-pool` — a concurrent per-device pool (Phase 2
|
|
11342
|
+
* multi-device, keyed by `deviceKey`) resolved
|
|
11343
|
+
* via `resolveDeviceFactory`. Runs alongside the
|
|
11344
|
+
* `runtime` engine on a DIFFERENT accelerator
|
|
11345
|
+
* (NPU / iGPU / Coral) — this is how the
|
|
11346
|
+
* Engines tab shows all pools running at once.
|
|
11313
11347
|
*/
|
|
11314
|
-
kind: _enum([
|
|
11348
|
+
kind: _enum([
|
|
11349
|
+
"runtime",
|
|
11350
|
+
"warm-override",
|
|
11351
|
+
"device-pool"
|
|
11352
|
+
]),
|
|
11315
11353
|
/** Native pid of the underlying Python pool (null when no pool). */
|
|
11316
11354
|
poolPid: number().nullable(),
|
|
11317
11355
|
/** ms since this factory was last used (null when not warm-tracked). */
|
|
@@ -11413,7 +11451,21 @@ var NativeCropResultSchema = object({
|
|
|
11413
11451
|
/** Packed rgb (24-bit) pixels of the crop. */
|
|
11414
11452
|
bytes: _instanceof(Uint8Array),
|
|
11415
11453
|
width: number().int().positive(),
|
|
11416
|
-
height: number().int().positive()
|
|
11454
|
+
height: number().int().positive(),
|
|
11455
|
+
/**
|
|
11456
|
+
* Which source served this crop, so a quality-sensitive consumer (the native
|
|
11457
|
+
* `keyFrame`) can reject a degraded fallback:
|
|
11458
|
+
* - `native` — cut from the decode worker's retained NATIVE surface (the
|
|
11459
|
+
* quality path).
|
|
11460
|
+
* - `ram-fullframe` — the native surface MISSED but the request was full-frame,
|
|
11461
|
+
* so the ≤640 RAM `RetainedFrameStore` served it (honest lower-res; legit for
|
|
11462
|
+
* the blank-frame guard / 640-snapshot resolve, NOT for the clean keyFrame).
|
|
11463
|
+
*
|
|
11464
|
+
* OPTIONAL: a pre-tier runner (version skew) omits it — an ABSENT `tier` MUST be
|
|
11465
|
+
* treated as `native` (accepted) by every consumer so mixed-version clusters
|
|
11466
|
+
* keep the pre-tier behaviour. An ROI miss returns `null` (no tier at all).
|
|
11467
|
+
*/
|
|
11468
|
+
tier: _enum(["native", "ram-fullframe"]).optional()
|
|
11417
11469
|
});
|
|
11418
11470
|
/** Parent detection context passed to `runDetailSubtree` — the crop's
|
|
11419
11471
|
* originating detection, in FRAME-space coordinates. Reuses
|
|
@@ -11653,7 +11705,14 @@ var RunnerCameraConfigSchema = object({
|
|
|
11653
11705
|
* camera's detect node differs from its source-owner (P2d, gated by the
|
|
11654
11706
|
* `remoteSourcingNodes` rollout setting).
|
|
11655
11707
|
*/
|
|
11656
|
-
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
|
|
11708
|
+
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
|
|
11709
|
+
/**
|
|
11710
|
+
* Inference-device selector for this camera's sessions (Phase 2 multi-device).
|
|
11711
|
+
* Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
|
|
11712
|
+
* omitted ⇒ the runner's default device. The engine itself stays node-local —
|
|
11713
|
+
* this only selects WHICH device pool of that node runs the session.
|
|
11714
|
+
*/
|
|
11715
|
+
deviceKey: string().optional()
|
|
11657
11716
|
});
|
|
11658
11717
|
motionFpsField.min, motionFpsField.max, motionFpsField.step, motionFpsField.default, detectionFpsField.min, detectionFpsField.max, detectionFpsField.step, detectionFpsField.default, motionCooldownMsField.min, motionCooldownMsField.max, motionCooldownMsField.step, motionCooldownMsField.default, occupancyRecheckSecField.min, occupancyRecheckSecField.max, occupancyRecheckSecField.step, occupancyRecheckSecField.default, occupancyRecheckFramesField.min, occupancyRecheckFramesField.max, occupancyRecheckFramesField.step, occupancyRecheckFramesField.default;
|
|
11659
11718
|
/**
|
|
@@ -11674,6 +11733,19 @@ var RunnerLocalLoadSchema = object({
|
|
|
11674
11733
|
avgInferenceTimeMs: number(),
|
|
11675
11734
|
/** Total queue depth across motion + detection queues. */
|
|
11676
11735
|
queueDepthTotal: number(),
|
|
11736
|
+
/**
|
|
11737
|
+
* Per-inference-device live load (multi-device C4). One entry per deviceKey
|
|
11738
|
+
* this runner currently has attached cameras on, so the orchestrator's second
|
|
11739
|
+
* `balance()` pass (over a node's devices) weights on real per-pool session
|
|
11740
|
+
* counts. Empty on single-device / pre-multi-device runners. `queueDepthTotal`
|
|
11741
|
+
* per device is 0 until the pool backlog gets a public accessor (follow-up).
|
|
11742
|
+
*/
|
|
11743
|
+
devices: array(object({
|
|
11744
|
+
deviceKey: string(),
|
|
11745
|
+
backend: string(),
|
|
11746
|
+
attachedCameras: number(),
|
|
11747
|
+
queueDepthTotal: number()
|
|
11748
|
+
})).default([]),
|
|
11677
11749
|
/** Hardware capability flags reported by this node. */
|
|
11678
11750
|
hardware: object({
|
|
11679
11751
|
hasGpu: boolean(),
|
|
@@ -13149,6 +13221,8 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
13149
13221
|
kind: "mutation",
|
|
13150
13222
|
auth: "admin"
|
|
13151
13223
|
});
|
|
13224
|
+
DeviceType.Cover, DeviceType.Valve, DeviceType.Humidifier, DeviceType.WaterHeater, DeviceType.Camera, DeviceType.Hub, DeviceType.Switch, DeviceType.Siren, DeviceType.Light, DeviceType.Fan, DeviceType.Sensor, DeviceType.Thermostat, DeviceType.Climate, DeviceType.Button, DeviceType.EventEmitter, DeviceType.Update, DeviceType.Generic, DeviceType.Notifier, DeviceType.Script, DeviceType.Automation, DeviceType.Lock, DeviceType.MediaPlayer, DeviceType.AlarmPanel, DeviceType.Control, DeviceType.Presence, DeviceType.Weather, DeviceType.Vacuum, DeviceType.LawnMower, DeviceType.Container, DeviceType.Image, DeviceType.PetFeeder;
|
|
13225
|
+
new Set(Object.values(DeviceType));
|
|
13152
13226
|
/**
|
|
13153
13227
|
* `addon-pages` — system-scoped singleton aggregator cap. Public-facing
|
|
13154
13228
|
* surface that admin-ui consumes through `useAddonPagesListPages()`.
|
|
@@ -14768,7 +14842,8 @@ var LinkedDeviceSchema = object({
|
|
|
14768
14842
|
deviceId: number(),
|
|
14769
14843
|
name: string(),
|
|
14770
14844
|
location: string().nullable(),
|
|
14771
|
-
features: array(string())
|
|
14845
|
+
features: array(string()),
|
|
14846
|
+
producesTrackedEvents: boolean().optional()
|
|
14772
14847
|
});
|
|
14773
14848
|
var SavedDeviceRowSchema = object({
|
|
14774
14849
|
/** Numeric id reserved at allocateDeviceId time. */
|
|
@@ -16398,6 +16473,7 @@ var TrackSchema = object({
|
|
|
16398
16473
|
deviceId: number(),
|
|
16399
16474
|
className: string(),
|
|
16400
16475
|
label: string().optional(),
|
|
16476
|
+
producingDeviceName: string().optional(),
|
|
16401
16477
|
/** Track provenance. Absent ⇒ `pipeline` (legacy rows). */
|
|
16402
16478
|
source: TrackSourceSchema.optional(),
|
|
16403
16479
|
firstSeen: number(),
|
|
@@ -16535,7 +16611,8 @@ var MediaFileKindEnum = _enum([
|
|
|
16535
16611
|
"fullFrameBoxed",
|
|
16536
16612
|
"faceCrop",
|
|
16537
16613
|
"plateCrop",
|
|
16538
|
-
"keyFrame"
|
|
16614
|
+
"keyFrame",
|
|
16615
|
+
"keyFrameSmall"
|
|
16539
16616
|
]);
|
|
16540
16617
|
var MediaFileSchema = object({
|
|
16541
16618
|
key: string(),
|
|
@@ -16864,13 +16941,11 @@ var PipelineTemplateSchema = object({
|
|
|
16864
16941
|
createdAt: string(),
|
|
16865
16942
|
updatedAt: string()
|
|
16866
16943
|
});
|
|
16867
|
-
var
|
|
16868
|
-
enabled: boolean(),
|
|
16944
|
+
var DeviceStepConfigSchema = object({
|
|
16869
16945
|
modelId: string().optional(),
|
|
16870
|
-
settings: record(string(), unknown()).
|
|
16946
|
+
settings: record(string(), unknown()).optional()
|
|
16871
16947
|
});
|
|
16872
16948
|
var AgentPipelineSettingsSchema = object({
|
|
16873
|
-
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
16874
16949
|
maxCameras: number().int().nonnegative().nullable().default(null),
|
|
16875
16950
|
/** Per-node detection weight (relative share for the quota balancer). */
|
|
16876
16951
|
detectWeight: number().positive().optional(),
|
|
@@ -16894,7 +16969,22 @@ var AgentPipelineSettingsSchema = object({
|
|
|
16894
16969
|
* it already uses to reach the hub). Set this only when the auto-detected
|
|
16895
16970
|
* address is wrong (multi-homed host, NAT, custom interface).
|
|
16896
16971
|
*/
|
|
16897
|
-
reachableHost: string().optional()
|
|
16972
|
+
reachableHost: string().optional(),
|
|
16973
|
+
/**
|
|
16974
|
+
* Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
|
|
16975
|
+
* weight, steps}. Absent / all-disabled ⇒ the node's single default
|
|
16976
|
+
* accelerator (safe default); two+ enabled ⇒ the dispatcher balances
|
|
16977
|
+
* detection sessions across them so they run CONCURRENTLY. `steps` is the
|
|
16978
|
+
* per-(node,device) BASE provisioning (`stepId → {modelId?, settings?}`) —
|
|
16979
|
+
* the default model/settings for every camera landing on that accelerator;
|
|
16980
|
+
* a stepId absent ⇒ the step uses that device's format default.
|
|
16981
|
+
*/
|
|
16982
|
+
inferenceDevices: record(string(), object({
|
|
16983
|
+
enabled: boolean(),
|
|
16984
|
+
weight: number().positive().optional(),
|
|
16985
|
+
maxSessions: number().int().positive().optional(),
|
|
16986
|
+
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
16987
|
+
})).optional()
|
|
16898
16988
|
});
|
|
16899
16989
|
var CameraPipelineForAgentSchema = object({
|
|
16900
16990
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
@@ -16904,14 +16994,13 @@ var CameraPipelineForAgentSchema = object({
|
|
|
16904
16994
|
}).nullable()
|
|
16905
16995
|
});
|
|
16906
16996
|
var CameraStepOverridePatchSchema = object({
|
|
16907
|
-
enabled: boolean().optional(),
|
|
16908
16997
|
modelId: string().optional(),
|
|
16909
16998
|
settings: record(string(), unknown()).readonly().optional()
|
|
16910
16999
|
});
|
|
16911
17000
|
var CameraPipelineSettingsSchema = object({
|
|
16912
17001
|
pinnedAgentNodeId: string().optional(),
|
|
16913
17002
|
stepToggles: record(string(), boolean()).optional(),
|
|
16914
|
-
|
|
17003
|
+
stepOverridesByDevice: record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).optional(),
|
|
16915
17004
|
pipelineByAgent: record(string(), CameraPipelineForAgentSchema).optional()
|
|
16916
17005
|
});
|
|
16917
17006
|
/**
|
|
@@ -17125,6 +17214,44 @@ var CameraStatusSchema = object({
|
|
|
17125
17214
|
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
17126
17215
|
fetchedAt: number()
|
|
17127
17216
|
});
|
|
17217
|
+
var NodeInferenceDeviceSchema = object({
|
|
17218
|
+
/** Stable per-node device key, e.g. `openvino:npu`, `edgetpu:usb`, `cpu`. */
|
|
17219
|
+
key: string(),
|
|
17220
|
+
backend: string(),
|
|
17221
|
+
device: string(),
|
|
17222
|
+
format: _enum(MODEL_FORMATS),
|
|
17223
|
+
/** Whether the node's live probe reports the device as usable right now. */
|
|
17224
|
+
available: boolean(),
|
|
17225
|
+
/**
|
|
17226
|
+
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
17227
|
+
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
17228
|
+
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
17229
|
+
* not a balanced target). An explicit stored value always wins; a stored-only
|
|
17230
|
+
* (unavailable) key keeps its stored value.
|
|
17231
|
+
*/
|
|
17232
|
+
enabled: boolean(),
|
|
17233
|
+
/** Relative balancer weight for the enabled device (default 1). */
|
|
17234
|
+
weight: number(),
|
|
17235
|
+
/** Per-device concurrent-session cap; null = unlimited (multi-device C4). */
|
|
17236
|
+
maxSessions: number().nullable(),
|
|
17237
|
+
/** Object-detection model the executor defaults to for this deviceKey. */
|
|
17238
|
+
defaultModelId: string(),
|
|
17239
|
+
/**
|
|
17240
|
+
* Per-(node,device) BASE provisioning (C7.2/C7.4) — the RAW stored
|
|
17241
|
+
* `stepId → {modelId?, settings?}` map from `inferenceDevices[key].steps`.
|
|
17242
|
+
* Absent/empty ⇒ no base (every step uses its device format default). The
|
|
17243
|
+
* UI cross-references `pipelineExecutor.getSchema` for the models actually
|
|
17244
|
+
* available per format; this is the stored selection that becomes the
|
|
17245
|
+
* default for EVERY camera landing on this accelerator.
|
|
17246
|
+
*/
|
|
17247
|
+
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
17248
|
+
});
|
|
17249
|
+
var NodeInferenceDevicesSchema = object({
|
|
17250
|
+
nodeId: string(),
|
|
17251
|
+
/** False when the node's platform-probe was unreachable (no live device set). */
|
|
17252
|
+
reachable: boolean(),
|
|
17253
|
+
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17254
|
+
});
|
|
17128
17255
|
method(object({
|
|
17129
17256
|
deviceId: number(),
|
|
17130
17257
|
agentNodeId: string()
|
|
@@ -17134,7 +17261,13 @@ method(object({
|
|
|
17134
17261
|
}), method(object({ deviceId: number() }), object({ success: literal(true) }), {
|
|
17135
17262
|
kind: "mutation",
|
|
17136
17263
|
auth: "admin"
|
|
17137
|
-
}), method(
|
|
17264
|
+
}), method(object({
|
|
17265
|
+
deviceId: number(),
|
|
17266
|
+
deviceKey: string()
|
|
17267
|
+
}), object({ success: literal(true) }), {
|
|
17268
|
+
kind: "mutation",
|
|
17269
|
+
auth: "admin"
|
|
17270
|
+
}), method(object({ deviceId: number() }), object({ deviceKey: string().nullable() })), method(_void(), object({ migrated: number() }), {
|
|
17138
17271
|
kind: "mutation",
|
|
17139
17272
|
auth: "admin"
|
|
17140
17273
|
}), method(_void(), array(PipelineAssignmentSchema).readonly()), method(object({ deviceId: number() }), PipelineAssignmentSchema.nullable()), method(_void(), array(AgentLoadSummarySchema).readonly()), method(_void(), GlobalMetricsSchema), method(object({ deviceId: number() }), CameraMetricsSchema.nullable()), method(object({ nodeId: string() }), CapabilityBindingsSchema), method(object({
|
|
@@ -17168,13 +17301,7 @@ method(object({
|
|
|
17168
17301
|
}))), method(object({ agentNodeId: string() }), AgentPipelineSettingsSchema.nullable()), method(_void(), array(object({
|
|
17169
17302
|
nodeId: string(),
|
|
17170
17303
|
settings: AgentPipelineSettingsSchema
|
|
17171
|
-
})).readonly()), method(object({
|
|
17172
|
-
agentNodeId: string(),
|
|
17173
|
-
defaults: record(string(), AgentAddonConfigSchema)
|
|
17174
|
-
}), object({ success: literal(true) }), {
|
|
17175
|
-
kind: "mutation",
|
|
17176
|
-
auth: "admin"
|
|
17177
|
-
}), method(object({ agentNodeId: string() }), object({
|
|
17304
|
+
})).readonly()), method(object({ agentNodeId: string() }), object({
|
|
17178
17305
|
success: boolean(),
|
|
17179
17306
|
removed: boolean()
|
|
17180
17307
|
}), {
|
|
@@ -17206,7 +17333,18 @@ method(object({
|
|
|
17206
17333
|
}), object({ success: literal(true) }), {
|
|
17207
17334
|
kind: "mutation",
|
|
17208
17335
|
auth: "admin"
|
|
17209
|
-
}), method(object({
|
|
17336
|
+
}), method(object({
|
|
17337
|
+
agentNodeId: string(),
|
|
17338
|
+
inferenceDevices: record(string(), object({
|
|
17339
|
+
enabled: boolean(),
|
|
17340
|
+
weight: number().positive().optional(),
|
|
17341
|
+
maxSessions: number().int().positive().optional(),
|
|
17342
|
+
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
17343
|
+
}))
|
|
17344
|
+
}), object({ success: literal(true) }), {
|
|
17345
|
+
kind: "mutation",
|
|
17346
|
+
auth: "admin"
|
|
17347
|
+
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({ agentNodeId: string() }), object({
|
|
17210
17348
|
success: literal(true),
|
|
17211
17349
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
17212
17350
|
effectiveModelId: string().nullable(),
|
|
@@ -17222,9 +17360,10 @@ method(object({
|
|
|
17222
17360
|
}), object({ success: literal(true) }), {
|
|
17223
17361
|
kind: "mutation",
|
|
17224
17362
|
auth: "admin"
|
|
17225
|
-
}), method(object({ deviceId: number() }), record(string(), record(string(), CameraStepOverridePatchSchema)).nullable()), method(object({
|
|
17363
|
+
}), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
|
|
17226
17364
|
deviceId: number(),
|
|
17227
17365
|
agentNodeId: string(),
|
|
17366
|
+
deviceKey: string(),
|
|
17228
17367
|
addonId: string(),
|
|
17229
17368
|
patch: CameraStepOverridePatchSchema.nullable()
|
|
17230
17369
|
}), object({ success: literal(true) }), {
|
|
@@ -17261,14 +17400,13 @@ method(object({
|
|
|
17261
17400
|
});
|
|
17262
17401
|
/**
|
|
17263
17402
|
* server-management — per-NODE singleton capability for a node's ROOT
|
|
17264
|
-
* package lifecycle (runtime-updatable node packages
|
|
17265
|
-
* agents).
|
|
17403
|
+
* package lifecycle (runtime-updatable node packages).
|
|
17266
17404
|
*
|
|
17267
|
-
*
|
|
17268
|
-
*
|
|
17269
|
-
*
|
|
17270
|
-
*
|
|
17271
|
-
*
|
|
17405
|
+
* Every node role runs the SAME root package (`@camstack/server`), which
|
|
17406
|
+
* carries the whole software stack in its npm dep tree, so ONE version
|
|
17407
|
+
* describes the node. Updates stage into `<dataDir>/server-root/` and apply
|
|
17408
|
+
* on restart via the baked starter (single-copy in-place swap — no probation,
|
|
17409
|
+
* no auto-rollback).
|
|
17272
17410
|
*
|
|
17273
17411
|
* Providers:
|
|
17274
17412
|
* - HUB: `ServerUpdateService` behind the `server-provided` mount
|
|
@@ -17376,7 +17514,8 @@ method(_void(), ServerPackageStatusSchema, { auth: "admin" }), method(_void(), S
|
|
|
17376
17514
|
/** Explicit target version; omitted = latest from the registry. */
|
|
17377
17515
|
version: string().optional() }), ServerUpdateActionResultSchema, {
|
|
17378
17516
|
kind: "mutation",
|
|
17379
|
-
auth: "admin"
|
|
17517
|
+
auth: "admin",
|
|
17518
|
+
timeoutMs: 16 * 6e4
|
|
17380
17519
|
}), method(_void(), ServerUpdateActionResultSchema, {
|
|
17381
17520
|
kind: "mutation",
|
|
17382
17521
|
auth: "admin"
|
|
@@ -18437,22 +18576,6 @@ var AddonAutoUpdateSchema = ChannelWithInheritSchema;
|
|
|
18437
18576
|
var RestartAddonResultSchema = unknown();
|
|
18438
18577
|
var InstallPackageResultSchema = unknown();
|
|
18439
18578
|
var ReloadPackagesResultSchema = unknown();
|
|
18440
|
-
/**
|
|
18441
|
-
* Result of `updateFrameworkPackage`. The cap method returns BEFORE the
|
|
18442
|
-
* server restarts so the admin UI can react to the `restartingAt`
|
|
18443
|
-
* timestamp (shows reconnect overlay). The transition from
|
|
18444
|
-
* `fromVersion` to `toVersion` will be confirmed by a subsequent
|
|
18445
|
-
* `system.restart-completed` event after the new process boots.
|
|
18446
|
-
*
|
|
18447
|
-
* Spec: docs/superpowers/specs/2026-05-14-framework-live-update-design.md
|
|
18448
|
-
*/
|
|
18449
|
-
var UpdateFrameworkPackageResultSchema = object({
|
|
18450
|
-
packageName: string(),
|
|
18451
|
-
fromVersion: string(),
|
|
18452
|
-
toVersion: string(),
|
|
18453
|
-
/** Ms-epoch the server scheduled its self-restart. */
|
|
18454
|
-
restartingAt: number()
|
|
18455
|
-
});
|
|
18456
18579
|
var BulkUpdateItemStatusSchema = _enum([
|
|
18457
18580
|
"queued",
|
|
18458
18581
|
"updating",
|
|
@@ -18580,13 +18703,6 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
18580
18703
|
}), object({ success: literal(true) }), {
|
|
18581
18704
|
kind: "mutation",
|
|
18582
18705
|
auth: "admin"
|
|
18583
|
-
}), method(object({
|
|
18584
|
-
packageName: string().min(1),
|
|
18585
|
-
version: string().optional(),
|
|
18586
|
-
deferRestart: boolean().optional()
|
|
18587
|
-
}), UpdateFrameworkPackageResultSchema, {
|
|
18588
|
-
kind: "mutation",
|
|
18589
|
-
auth: "admin"
|
|
18590
18706
|
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
18591
18707
|
kind: "mutation",
|
|
18592
18708
|
auth: "admin"
|
|
@@ -19452,10 +19568,10 @@ var TopologyCategorySchema = object({
|
|
|
19452
19568
|
addons: array(TopologyCategoryAddonSchema).readonly()
|
|
19453
19569
|
});
|
|
19454
19570
|
/**
|
|
19455
|
-
* The node's runtime-updatable ROOT package (`@camstack/server`
|
|
19456
|
-
*
|
|
19457
|
-
* version visibility for the Server management surface. Nullable:
|
|
19458
|
-
* rows and
|
|
19571
|
+
* The node's runtime-updatable ROOT package (`@camstack/server` — the single
|
|
19572
|
+
* root package for every node role) as reported by its `registerNode`
|
|
19573
|
+
* manifest — version visibility for the Server management surface. Nullable:
|
|
19574
|
+
* offline rows and nodes that never reported one.
|
|
19459
19575
|
*/
|
|
19460
19576
|
var TopologyRootPackageSchema = object({
|
|
19461
19577
|
name: string(),
|
|
@@ -19843,17 +19959,28 @@ var PlatformScoreSchema = object({
|
|
|
19843
19959
|
format: _enum([
|
|
19844
19960
|
"onnx",
|
|
19845
19961
|
"coreml",
|
|
19846
|
-
"openvino"
|
|
19962
|
+
"openvino",
|
|
19963
|
+
"tflite"
|
|
19847
19964
|
]),
|
|
19848
19965
|
score: number(),
|
|
19849
19966
|
reason: string(),
|
|
19850
19967
|
available: boolean()
|
|
19851
19968
|
});
|
|
19969
|
+
var InferenceDeviceDescriptorSchema = object({
|
|
19970
|
+
key: string(),
|
|
19971
|
+
backend: string(),
|
|
19972
|
+
device: string(),
|
|
19973
|
+
format: ModelFormatSchema,
|
|
19974
|
+
runtime: literal("python"),
|
|
19975
|
+
score: number(),
|
|
19976
|
+
available: boolean()
|
|
19977
|
+
});
|
|
19852
19978
|
var PlatformCapabilitiesSchema = object({
|
|
19853
19979
|
hardware: HardwareInfoSchema,
|
|
19854
19980
|
scores: array(PlatformScoreSchema).readonly(),
|
|
19855
19981
|
bestScore: PlatformScoreSchema,
|
|
19856
|
-
pythonPath: string().nullable()
|
|
19982
|
+
pythonPath: string().nullable(),
|
|
19983
|
+
devices: array(InferenceDeviceDescriptorSchema).readonly()
|
|
19857
19984
|
});
|
|
19858
19985
|
var ModelRequirementSchema = object({
|
|
19859
19986
|
modelId: string(),
|
|
@@ -20732,12 +20859,6 @@ Object.freeze({
|
|
|
20732
20859
|
addonId: null,
|
|
20733
20860
|
access: "delete"
|
|
20734
20861
|
},
|
|
20735
|
-
"addons.updateFrameworkPackage": {
|
|
20736
|
-
capName: "addons",
|
|
20737
|
-
capScope: "system",
|
|
20738
|
-
addonId: null,
|
|
20739
|
-
access: "create"
|
|
20740
|
-
},
|
|
20741
20862
|
"addons.updatePackage": {
|
|
20742
20863
|
capName: "addons",
|
|
20743
20864
|
capScope: "system",
|
|
@@ -23510,12 +23631,6 @@ Object.freeze({
|
|
|
23510
23631
|
addonId: null,
|
|
23511
23632
|
access: "view"
|
|
23512
23633
|
},
|
|
23513
|
-
"pipelineExecutor.reprobeEngine": {
|
|
23514
|
-
capName: "pipeline-executor",
|
|
23515
|
-
capScope: "system",
|
|
23516
|
-
addonId: null,
|
|
23517
|
-
access: "create"
|
|
23518
|
-
},
|
|
23519
23634
|
"pipelineExecutor.runAudioTest": {
|
|
23520
23635
|
capName: "pipeline-executor",
|
|
23521
23636
|
capScope: "system",
|
|
@@ -23666,6 +23781,12 @@ Object.freeze({
|
|
|
23666
23781
|
addonId: null,
|
|
23667
23782
|
access: "view"
|
|
23668
23783
|
},
|
|
23784
|
+
"pipelineOrchestrator.getNodeInferenceDevices": {
|
|
23785
|
+
capName: "pipeline-orchestrator",
|
|
23786
|
+
capScope: "system",
|
|
23787
|
+
addonId: null,
|
|
23788
|
+
access: "view"
|
|
23789
|
+
},
|
|
23669
23790
|
"pipelineOrchestrator.getPipelineAssignment": {
|
|
23670
23791
|
capName: "pipeline-orchestrator",
|
|
23671
23792
|
capScope: "system",
|
|
@@ -23678,6 +23799,12 @@ Object.freeze({
|
|
|
23678
23799
|
addonId: null,
|
|
23679
23800
|
access: "view"
|
|
23680
23801
|
},
|
|
23802
|
+
"pipelineOrchestrator.getPipelineDevicePin": {
|
|
23803
|
+
capName: "pipeline-orchestrator",
|
|
23804
|
+
capScope: "system",
|
|
23805
|
+
addonId: null,
|
|
23806
|
+
access: "view"
|
|
23807
|
+
},
|
|
23681
23808
|
"pipelineOrchestrator.listAgentSettings": {
|
|
23682
23809
|
capName: "pipeline-orchestrator",
|
|
23683
23810
|
capScope: "system",
|
|
@@ -23720,19 +23847,19 @@ Object.freeze({
|
|
|
23720
23847
|
addonId: null,
|
|
23721
23848
|
access: "create"
|
|
23722
23849
|
},
|
|
23723
|
-
"pipelineOrchestrator.
|
|
23850
|
+
"pipelineOrchestrator.setAgentCapabilities": {
|
|
23724
23851
|
capName: "pipeline-orchestrator",
|
|
23725
23852
|
capScope: "system",
|
|
23726
23853
|
addonId: null,
|
|
23727
23854
|
access: "create"
|
|
23728
23855
|
},
|
|
23729
|
-
"pipelineOrchestrator.
|
|
23856
|
+
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
23730
23857
|
capName: "pipeline-orchestrator",
|
|
23731
23858
|
capScope: "system",
|
|
23732
23859
|
addonId: null,
|
|
23733
23860
|
access: "create"
|
|
23734
23861
|
},
|
|
23735
|
-
"pipelineOrchestrator.
|
|
23862
|
+
"pipelineOrchestrator.setAgentInferenceDevices": {
|
|
23736
23863
|
capName: "pipeline-orchestrator",
|
|
23737
23864
|
capScope: "system",
|
|
23738
23865
|
addonId: null,
|
|
@@ -23774,6 +23901,12 @@ Object.freeze({
|
|
|
23774
23901
|
addonId: null,
|
|
23775
23902
|
access: "create"
|
|
23776
23903
|
},
|
|
23904
|
+
"pipelineOrchestrator.setPipelineDevicePin": {
|
|
23905
|
+
capName: "pipeline-orchestrator",
|
|
23906
|
+
capScope: "system",
|
|
23907
|
+
addonId: null,
|
|
23908
|
+
access: "create"
|
|
23909
|
+
},
|
|
23777
23910
|
"pipelineOrchestrator.unassignAudio": {
|
|
23778
23911
|
capName: "pipeline-orchestrator",
|
|
23779
23912
|
capScope: "system",
|
|
@@ -25326,31 +25459,5 @@ Object.freeze({
|
|
|
25326
25459
|
"network-access": "ingress",
|
|
25327
25460
|
"smtp-provider": "email"
|
|
25328
25461
|
});
|
|
25329
|
-
var frameworkSwapPackageSchema = object({
|
|
25330
|
-
name: string(),
|
|
25331
|
-
stagedPath: string(),
|
|
25332
|
-
backupPath: string(),
|
|
25333
|
-
toVersion: string(),
|
|
25334
|
-
fromVersion: string().nullable()
|
|
25335
|
-
});
|
|
25336
|
-
object({
|
|
25337
|
-
jobId: string(),
|
|
25338
|
-
taskId: string(),
|
|
25339
|
-
packages: array(frameworkSwapPackageSchema),
|
|
25340
|
-
requestedAtMs: number(),
|
|
25341
|
-
schemaVersion: literal(1)
|
|
25342
|
-
});
|
|
25343
|
-
object({
|
|
25344
|
-
jobId: string(),
|
|
25345
|
-
taskId: string(),
|
|
25346
|
-
backups: array(object({
|
|
25347
|
-
name: string(),
|
|
25348
|
-
backupPath: string(),
|
|
25349
|
-
livePath: string()
|
|
25350
|
-
})),
|
|
25351
|
-
appliedAtMs: number(),
|
|
25352
|
-
bootAttempts: number(),
|
|
25353
|
-
schemaVersion: literal(1)
|
|
25354
|
-
});
|
|
25355
25462
|
//#endregion
|
|
25356
25463
|
export { loginMethodCapability as a, BaseAddon as c, number as d, object as f, buildAddonRouteProvider as i, array as l, addonWidgetsSourceCapability as n, userPasskeysCapability as o, string as p, authProviderCapability as r, errMsg as s, addonRoutesCapability as t, boolean as u };
|