@camstack/addon-auth 1.1.15 → 1.2.0
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-C34hxA4W.mjs} +193 -103
- package/dist/{dist-CCXGqh4j.js → dist-DC161wqx.js} +193 -103
- 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-DBDombY4.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-BVsAfU_3.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). */
|
|
@@ -11653,7 +11691,14 @@ var RunnerCameraConfigSchema = object({
|
|
|
11653
11691
|
* camera's detect node differs from its source-owner (P2d, gated by the
|
|
11654
11692
|
* `remoteSourcingNodes` rollout setting).
|
|
11655
11693
|
*/
|
|
11656
|
-
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" })
|
|
11694
|
+
frameSource: RunnerFrameSourceSchema.default({ kind: "local-broker" }),
|
|
11695
|
+
/**
|
|
11696
|
+
* Inference-device selector for this camera's sessions (Phase 2 multi-device).
|
|
11697
|
+
* Format `<backend>:<device>` (e.g. `openvino:gpu`, `edgetpu:usb`, `cpu`);
|
|
11698
|
+
* omitted ⇒ the runner's default device. The engine itself stays node-local —
|
|
11699
|
+
* this only selects WHICH device pool of that node runs the session.
|
|
11700
|
+
*/
|
|
11701
|
+
deviceKey: string().optional()
|
|
11657
11702
|
});
|
|
11658
11703
|
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
11704
|
/**
|
|
@@ -11674,6 +11719,19 @@ var RunnerLocalLoadSchema = object({
|
|
|
11674
11719
|
avgInferenceTimeMs: number(),
|
|
11675
11720
|
/** Total queue depth across motion + detection queues. */
|
|
11676
11721
|
queueDepthTotal: number(),
|
|
11722
|
+
/**
|
|
11723
|
+
* Per-inference-device live load (multi-device C4). One entry per deviceKey
|
|
11724
|
+
* this runner currently has attached cameras on, so the orchestrator's second
|
|
11725
|
+
* `balance()` pass (over a node's devices) weights on real per-pool session
|
|
11726
|
+
* counts. Empty on single-device / pre-multi-device runners. `queueDepthTotal`
|
|
11727
|
+
* per device is 0 until the pool backlog gets a public accessor (follow-up).
|
|
11728
|
+
*/
|
|
11729
|
+
devices: array(object({
|
|
11730
|
+
deviceKey: string(),
|
|
11731
|
+
backend: string(),
|
|
11732
|
+
attachedCameras: number(),
|
|
11733
|
+
queueDepthTotal: number()
|
|
11734
|
+
})).default([]),
|
|
11677
11735
|
/** Hardware capability flags reported by this node. */
|
|
11678
11736
|
hardware: object({
|
|
11679
11737
|
hasGpu: boolean(),
|
|
@@ -13149,6 +13207,8 @@ method(_void(), _void(), { kind: "mutation" }), method(_void(), _void(), { kind:
|
|
|
13149
13207
|
kind: "mutation",
|
|
13150
13208
|
auth: "admin"
|
|
13151
13209
|
});
|
|
13210
|
+
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;
|
|
13211
|
+
new Set(Object.values(DeviceType));
|
|
13152
13212
|
/**
|
|
13153
13213
|
* `addon-pages` — system-scoped singleton aggregator cap. Public-facing
|
|
13154
13214
|
* surface that admin-ui consumes through `useAddonPagesListPages()`.
|
|
@@ -16864,13 +16924,11 @@ var PipelineTemplateSchema = object({
|
|
|
16864
16924
|
createdAt: string(),
|
|
16865
16925
|
updatedAt: string()
|
|
16866
16926
|
});
|
|
16867
|
-
var
|
|
16868
|
-
enabled: boolean(),
|
|
16927
|
+
var DeviceStepConfigSchema = object({
|
|
16869
16928
|
modelId: string().optional(),
|
|
16870
|
-
settings: record(string(), unknown()).
|
|
16929
|
+
settings: record(string(), unknown()).optional()
|
|
16871
16930
|
});
|
|
16872
16931
|
var AgentPipelineSettingsSchema = object({
|
|
16873
|
-
addonDefaults: record(string(), AgentAddonConfigSchema).readonly(),
|
|
16874
16932
|
maxCameras: number().int().nonnegative().nullable().default(null),
|
|
16875
16933
|
/** Per-node detection weight (relative share for the quota balancer). */
|
|
16876
16934
|
detectWeight: number().positive().optional(),
|
|
@@ -16894,7 +16952,22 @@ var AgentPipelineSettingsSchema = object({
|
|
|
16894
16952
|
* it already uses to reach the hub). Set this only when the auto-detected
|
|
16895
16953
|
* address is wrong (multi-homed host, NAT, custom interface).
|
|
16896
16954
|
*/
|
|
16897
|
-
reachableHost: string().optional()
|
|
16955
|
+
reachableHost: string().optional(),
|
|
16956
|
+
/**
|
|
16957
|
+
* Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
|
|
16958
|
+
* weight, steps}. Absent / all-disabled ⇒ the node's single default
|
|
16959
|
+
* accelerator (safe default); two+ enabled ⇒ the dispatcher balances
|
|
16960
|
+
* detection sessions across them so they run CONCURRENTLY. `steps` is the
|
|
16961
|
+
* per-(node,device) BASE provisioning (`stepId → {modelId?, settings?}`) —
|
|
16962
|
+
* the default model/settings for every camera landing on that accelerator;
|
|
16963
|
+
* a stepId absent ⇒ the step uses that device's format default.
|
|
16964
|
+
*/
|
|
16965
|
+
inferenceDevices: record(string(), object({
|
|
16966
|
+
enabled: boolean(),
|
|
16967
|
+
weight: number().positive().optional(),
|
|
16968
|
+
maxSessions: number().int().positive().optional(),
|
|
16969
|
+
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
16970
|
+
})).optional()
|
|
16898
16971
|
});
|
|
16899
16972
|
var CameraPipelineForAgentSchema = object({
|
|
16900
16973
|
steps: array(PipelineStepInputSchema).readonly(),
|
|
@@ -16904,14 +16977,13 @@ var CameraPipelineForAgentSchema = object({
|
|
|
16904
16977
|
}).nullable()
|
|
16905
16978
|
});
|
|
16906
16979
|
var CameraStepOverridePatchSchema = object({
|
|
16907
|
-
enabled: boolean().optional(),
|
|
16908
16980
|
modelId: string().optional(),
|
|
16909
16981
|
settings: record(string(), unknown()).readonly().optional()
|
|
16910
16982
|
});
|
|
16911
16983
|
var CameraPipelineSettingsSchema = object({
|
|
16912
16984
|
pinnedAgentNodeId: string().optional(),
|
|
16913
16985
|
stepToggles: record(string(), boolean()).optional(),
|
|
16914
|
-
|
|
16986
|
+
stepOverridesByDevice: record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).optional(),
|
|
16915
16987
|
pipelineByAgent: record(string(), CameraPipelineForAgentSchema).optional()
|
|
16916
16988
|
});
|
|
16917
16989
|
/**
|
|
@@ -17125,6 +17197,44 @@ var CameraStatusSchema = object({
|
|
|
17125
17197
|
/** Unix timestamp (ms) when this snapshot was composed server-side. */
|
|
17126
17198
|
fetchedAt: number()
|
|
17127
17199
|
});
|
|
17200
|
+
var NodeInferenceDeviceSchema = object({
|
|
17201
|
+
/** Stable per-node device key, e.g. `openvino:npu`, `edgetpu:usb`, `cpu`. */
|
|
17202
|
+
key: string(),
|
|
17203
|
+
backend: string(),
|
|
17204
|
+
device: string(),
|
|
17205
|
+
format: _enum(MODEL_FORMATS),
|
|
17206
|
+
/** Whether the node's live probe reports the device as usable right now. */
|
|
17207
|
+
available: boolean(),
|
|
17208
|
+
/**
|
|
17209
|
+
* Whether this device participates in dispatch. AUTO default (spec C2):
|
|
17210
|
+
* accelerators are opt-OUT (a discovered NPU/iGPU/Coral/ANE with no stored
|
|
17211
|
+
* entry is `true`); CPU is opt-IN (`false` by default — the fallback pool,
|
|
17212
|
+
* not a balanced target). An explicit stored value always wins; a stored-only
|
|
17213
|
+
* (unavailable) key keeps its stored value.
|
|
17214
|
+
*/
|
|
17215
|
+
enabled: boolean(),
|
|
17216
|
+
/** Relative balancer weight for the enabled device (default 1). */
|
|
17217
|
+
weight: number(),
|
|
17218
|
+
/** Per-device concurrent-session cap; null = unlimited (multi-device C4). */
|
|
17219
|
+
maxSessions: number().nullable(),
|
|
17220
|
+
/** Object-detection model the executor defaults to for this deviceKey. */
|
|
17221
|
+
defaultModelId: string(),
|
|
17222
|
+
/**
|
|
17223
|
+
* Per-(node,device) BASE provisioning (C7.2/C7.4) — the RAW stored
|
|
17224
|
+
* `stepId → {modelId?, settings?}` map from `inferenceDevices[key].steps`.
|
|
17225
|
+
* Absent/empty ⇒ no base (every step uses its device format default). The
|
|
17226
|
+
* UI cross-references `pipelineExecutor.getSchema` for the models actually
|
|
17227
|
+
* available per format; this is the stored selection that becomes the
|
|
17228
|
+
* default for EVERY camera landing on this accelerator.
|
|
17229
|
+
*/
|
|
17230
|
+
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
17231
|
+
});
|
|
17232
|
+
var NodeInferenceDevicesSchema = object({
|
|
17233
|
+
nodeId: string(),
|
|
17234
|
+
/** False when the node's platform-probe was unreachable (no live device set). */
|
|
17235
|
+
reachable: boolean(),
|
|
17236
|
+
devices: array(NodeInferenceDeviceSchema).readonly()
|
|
17237
|
+
});
|
|
17128
17238
|
method(object({
|
|
17129
17239
|
deviceId: number(),
|
|
17130
17240
|
agentNodeId: string()
|
|
@@ -17134,7 +17244,13 @@ method(object({
|
|
|
17134
17244
|
}), method(object({ deviceId: number() }), object({ success: literal(true) }), {
|
|
17135
17245
|
kind: "mutation",
|
|
17136
17246
|
auth: "admin"
|
|
17137
|
-
}), method(
|
|
17247
|
+
}), method(object({
|
|
17248
|
+
deviceId: number(),
|
|
17249
|
+
deviceKey: string()
|
|
17250
|
+
}), object({ success: literal(true) }), {
|
|
17251
|
+
kind: "mutation",
|
|
17252
|
+
auth: "admin"
|
|
17253
|
+
}), method(object({ deviceId: number() }), object({ deviceKey: string().nullable() })), method(_void(), object({ migrated: number() }), {
|
|
17138
17254
|
kind: "mutation",
|
|
17139
17255
|
auth: "admin"
|
|
17140
17256
|
}), 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 +17284,7 @@ method(object({
|
|
|
17168
17284
|
}))), method(object({ agentNodeId: string() }), AgentPipelineSettingsSchema.nullable()), method(_void(), array(object({
|
|
17169
17285
|
nodeId: string(),
|
|
17170
17286
|
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({
|
|
17287
|
+
})).readonly()), method(object({ agentNodeId: string() }), object({
|
|
17178
17288
|
success: boolean(),
|
|
17179
17289
|
removed: boolean()
|
|
17180
17290
|
}), {
|
|
@@ -17206,7 +17316,18 @@ method(object({
|
|
|
17206
17316
|
}), object({ success: literal(true) }), {
|
|
17207
17317
|
kind: "mutation",
|
|
17208
17318
|
auth: "admin"
|
|
17209
|
-
}), method(object({
|
|
17319
|
+
}), method(object({
|
|
17320
|
+
agentNodeId: string(),
|
|
17321
|
+
inferenceDevices: record(string(), object({
|
|
17322
|
+
enabled: boolean(),
|
|
17323
|
+
weight: number().positive().optional(),
|
|
17324
|
+
maxSessions: number().int().positive().optional(),
|
|
17325
|
+
steps: record(string(), DeviceStepConfigSchema).optional()
|
|
17326
|
+
}))
|
|
17327
|
+
}), object({ success: literal(true) }), {
|
|
17328
|
+
kind: "mutation",
|
|
17329
|
+
auth: "admin"
|
|
17330
|
+
}), method(object({ nodeId: string() }), NodeInferenceDevicesSchema), method(object({ agentNodeId: string() }), object({
|
|
17210
17331
|
success: literal(true),
|
|
17211
17332
|
/** Hardware-aware default detection model now in effect on the node (null when unresolvable). */
|
|
17212
17333
|
effectiveModelId: string().nullable(),
|
|
@@ -17222,9 +17343,10 @@ method(object({
|
|
|
17222
17343
|
}), object({ success: literal(true) }), {
|
|
17223
17344
|
kind: "mutation",
|
|
17224
17345
|
auth: "admin"
|
|
17225
|
-
}), method(object({ deviceId: number() }), record(string(), record(string(), CameraStepOverridePatchSchema)).nullable()), method(object({
|
|
17346
|
+
}), method(object({ deviceId: number() }), record(string(), record(string(), record(string(), CameraStepOverridePatchSchema))).nullable()), method(object({
|
|
17226
17347
|
deviceId: number(),
|
|
17227
17348
|
agentNodeId: string(),
|
|
17349
|
+
deviceKey: string(),
|
|
17228
17350
|
addonId: string(),
|
|
17229
17351
|
patch: CameraStepOverridePatchSchema.nullable()
|
|
17230
17352
|
}), object({ success: literal(true) }), {
|
|
@@ -17261,14 +17383,13 @@ method(object({
|
|
|
17261
17383
|
});
|
|
17262
17384
|
/**
|
|
17263
17385
|
* server-management — per-NODE singleton capability for a node's ROOT
|
|
17264
|
-
* package lifecycle (runtime-updatable node packages
|
|
17265
|
-
* agents).
|
|
17386
|
+
* package lifecycle (runtime-updatable node packages).
|
|
17266
17387
|
*
|
|
17267
|
-
*
|
|
17268
|
-
*
|
|
17269
|
-
*
|
|
17270
|
-
*
|
|
17271
|
-
*
|
|
17388
|
+
* Every node role runs the SAME root package (`@camstack/server`), which
|
|
17389
|
+
* carries the whole software stack in its npm dep tree, so ONE version
|
|
17390
|
+
* describes the node. Updates stage into `<dataDir>/server-root/` and apply
|
|
17391
|
+
* on restart via the baked starter (single-copy in-place swap — no probation,
|
|
17392
|
+
* no auto-rollback).
|
|
17272
17393
|
*
|
|
17273
17394
|
* Providers:
|
|
17274
17395
|
* - HUB: `ServerUpdateService` behind the `server-provided` mount
|
|
@@ -17376,7 +17497,8 @@ method(_void(), ServerPackageStatusSchema, { auth: "admin" }), method(_void(), S
|
|
|
17376
17497
|
/** Explicit target version; omitted = latest from the registry. */
|
|
17377
17498
|
version: string().optional() }), ServerUpdateActionResultSchema, {
|
|
17378
17499
|
kind: "mutation",
|
|
17379
|
-
auth: "admin"
|
|
17500
|
+
auth: "admin",
|
|
17501
|
+
timeoutMs: 16 * 6e4
|
|
17380
17502
|
}), method(_void(), ServerUpdateActionResultSchema, {
|
|
17381
17503
|
kind: "mutation",
|
|
17382
17504
|
auth: "admin"
|
|
@@ -18437,22 +18559,6 @@ var AddonAutoUpdateSchema = ChannelWithInheritSchema;
|
|
|
18437
18559
|
var RestartAddonResultSchema = unknown();
|
|
18438
18560
|
var InstallPackageResultSchema = unknown();
|
|
18439
18561
|
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
18562
|
var BulkUpdateItemStatusSchema = _enum([
|
|
18457
18563
|
"queued",
|
|
18458
18564
|
"updating",
|
|
@@ -18580,13 +18686,6 @@ method(_void(), array(AddonListItemSchema).readonly()), method(object({
|
|
|
18580
18686
|
}), object({ success: literal(true) }), {
|
|
18581
18687
|
kind: "mutation",
|
|
18582
18688
|
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
18689
|
}), method(object({ name: string() }), array(PackageVersionInfoSchema).readonly()), method(object({ addonId: string() }), RestartAddonResultSchema, {
|
|
18591
18690
|
kind: "mutation",
|
|
18592
18691
|
auth: "admin"
|
|
@@ -19452,10 +19551,10 @@ var TopologyCategorySchema = object({
|
|
|
19452
19551
|
addons: array(TopologyCategoryAddonSchema).readonly()
|
|
19453
19552
|
});
|
|
19454
19553
|
/**
|
|
19455
|
-
* The node's runtime-updatable ROOT package (`@camstack/server`
|
|
19456
|
-
*
|
|
19457
|
-
* version visibility for the Server management surface. Nullable:
|
|
19458
|
-
* rows and
|
|
19554
|
+
* The node's runtime-updatable ROOT package (`@camstack/server` — the single
|
|
19555
|
+
* root package for every node role) as reported by its `registerNode`
|
|
19556
|
+
* manifest — version visibility for the Server management surface. Nullable:
|
|
19557
|
+
* offline rows and nodes that never reported one.
|
|
19459
19558
|
*/
|
|
19460
19559
|
var TopologyRootPackageSchema = object({
|
|
19461
19560
|
name: string(),
|
|
@@ -19843,17 +19942,28 @@ var PlatformScoreSchema = object({
|
|
|
19843
19942
|
format: _enum([
|
|
19844
19943
|
"onnx",
|
|
19845
19944
|
"coreml",
|
|
19846
|
-
"openvino"
|
|
19945
|
+
"openvino",
|
|
19946
|
+
"tflite"
|
|
19847
19947
|
]),
|
|
19848
19948
|
score: number(),
|
|
19849
19949
|
reason: string(),
|
|
19850
19950
|
available: boolean()
|
|
19851
19951
|
});
|
|
19952
|
+
var InferenceDeviceDescriptorSchema = object({
|
|
19953
|
+
key: string(),
|
|
19954
|
+
backend: string(),
|
|
19955
|
+
device: string(),
|
|
19956
|
+
format: ModelFormatSchema,
|
|
19957
|
+
runtime: literal("python"),
|
|
19958
|
+
score: number(),
|
|
19959
|
+
available: boolean()
|
|
19960
|
+
});
|
|
19852
19961
|
var PlatformCapabilitiesSchema = object({
|
|
19853
19962
|
hardware: HardwareInfoSchema,
|
|
19854
19963
|
scores: array(PlatformScoreSchema).readonly(),
|
|
19855
19964
|
bestScore: PlatformScoreSchema,
|
|
19856
|
-
pythonPath: string().nullable()
|
|
19965
|
+
pythonPath: string().nullable(),
|
|
19966
|
+
devices: array(InferenceDeviceDescriptorSchema).readonly()
|
|
19857
19967
|
});
|
|
19858
19968
|
var ModelRequirementSchema = object({
|
|
19859
19969
|
modelId: string(),
|
|
@@ -20732,12 +20842,6 @@ Object.freeze({
|
|
|
20732
20842
|
addonId: null,
|
|
20733
20843
|
access: "delete"
|
|
20734
20844
|
},
|
|
20735
|
-
"addons.updateFrameworkPackage": {
|
|
20736
|
-
capName: "addons",
|
|
20737
|
-
capScope: "system",
|
|
20738
|
-
addonId: null,
|
|
20739
|
-
access: "create"
|
|
20740
|
-
},
|
|
20741
20845
|
"addons.updatePackage": {
|
|
20742
20846
|
capName: "addons",
|
|
20743
20847
|
capScope: "system",
|
|
@@ -23510,12 +23614,6 @@ Object.freeze({
|
|
|
23510
23614
|
addonId: null,
|
|
23511
23615
|
access: "view"
|
|
23512
23616
|
},
|
|
23513
|
-
"pipelineExecutor.reprobeEngine": {
|
|
23514
|
-
capName: "pipeline-executor",
|
|
23515
|
-
capScope: "system",
|
|
23516
|
-
addonId: null,
|
|
23517
|
-
access: "create"
|
|
23518
|
-
},
|
|
23519
23617
|
"pipelineExecutor.runAudioTest": {
|
|
23520
23618
|
capName: "pipeline-executor",
|
|
23521
23619
|
capScope: "system",
|
|
@@ -23666,6 +23764,12 @@ Object.freeze({
|
|
|
23666
23764
|
addonId: null,
|
|
23667
23765
|
access: "view"
|
|
23668
23766
|
},
|
|
23767
|
+
"pipelineOrchestrator.getNodeInferenceDevices": {
|
|
23768
|
+
capName: "pipeline-orchestrator",
|
|
23769
|
+
capScope: "system",
|
|
23770
|
+
addonId: null,
|
|
23771
|
+
access: "view"
|
|
23772
|
+
},
|
|
23669
23773
|
"pipelineOrchestrator.getPipelineAssignment": {
|
|
23670
23774
|
capName: "pipeline-orchestrator",
|
|
23671
23775
|
capScope: "system",
|
|
@@ -23678,6 +23782,12 @@ Object.freeze({
|
|
|
23678
23782
|
addonId: null,
|
|
23679
23783
|
access: "view"
|
|
23680
23784
|
},
|
|
23785
|
+
"pipelineOrchestrator.getPipelineDevicePin": {
|
|
23786
|
+
capName: "pipeline-orchestrator",
|
|
23787
|
+
capScope: "system",
|
|
23788
|
+
addonId: null,
|
|
23789
|
+
access: "view"
|
|
23790
|
+
},
|
|
23681
23791
|
"pipelineOrchestrator.listAgentSettings": {
|
|
23682
23792
|
capName: "pipeline-orchestrator",
|
|
23683
23793
|
capScope: "system",
|
|
@@ -23720,19 +23830,19 @@ Object.freeze({
|
|
|
23720
23830
|
addonId: null,
|
|
23721
23831
|
access: "create"
|
|
23722
23832
|
},
|
|
23723
|
-
"pipelineOrchestrator.
|
|
23833
|
+
"pipelineOrchestrator.setAgentCapabilities": {
|
|
23724
23834
|
capName: "pipeline-orchestrator",
|
|
23725
23835
|
capScope: "system",
|
|
23726
23836
|
addonId: null,
|
|
23727
23837
|
access: "create"
|
|
23728
23838
|
},
|
|
23729
|
-
"pipelineOrchestrator.
|
|
23839
|
+
"pipelineOrchestrator.setAgentDetectWeight": {
|
|
23730
23840
|
capName: "pipeline-orchestrator",
|
|
23731
23841
|
capScope: "system",
|
|
23732
23842
|
addonId: null,
|
|
23733
23843
|
access: "create"
|
|
23734
23844
|
},
|
|
23735
|
-
"pipelineOrchestrator.
|
|
23845
|
+
"pipelineOrchestrator.setAgentInferenceDevices": {
|
|
23736
23846
|
capName: "pipeline-orchestrator",
|
|
23737
23847
|
capScope: "system",
|
|
23738
23848
|
addonId: null,
|
|
@@ -23774,6 +23884,12 @@ Object.freeze({
|
|
|
23774
23884
|
addonId: null,
|
|
23775
23885
|
access: "create"
|
|
23776
23886
|
},
|
|
23887
|
+
"pipelineOrchestrator.setPipelineDevicePin": {
|
|
23888
|
+
capName: "pipeline-orchestrator",
|
|
23889
|
+
capScope: "system",
|
|
23890
|
+
addonId: null,
|
|
23891
|
+
access: "create"
|
|
23892
|
+
},
|
|
23777
23893
|
"pipelineOrchestrator.unassignAudio": {
|
|
23778
23894
|
capName: "pipeline-orchestrator",
|
|
23779
23895
|
capScope: "system",
|
|
@@ -25326,31 +25442,5 @@ Object.freeze({
|
|
|
25326
25442
|
"network-access": "ingress",
|
|
25327
25443
|
"smtp-provider": "email"
|
|
25328
25444
|
});
|
|
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
25445
|
//#endregion
|
|
25356
25446
|
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 };
|