@camstack/addon-terminal 0.1.130 → 0.1.132
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 +472 -140
- package/dist/addon.mjs +472 -140
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -31,7 +31,7 @@ let node_module = require("node:module");
|
|
|
31
31
|
let sharp = require("sharp");
|
|
32
32
|
sharp = __toESM(sharp);
|
|
33
33
|
let node_http = require("node:http");
|
|
34
|
-
//#region ../types/dist/event-category-
|
|
34
|
+
//#region ../types/dist/event-category-C4hVnRo8.mjs
|
|
35
35
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
36
36
|
EventCategory["SystemBoot"] = "system.boot";
|
|
37
37
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -250,7 +250,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
250
250
|
EventCategory["RecordingStopped"] = "recording.stopped";
|
|
251
251
|
EventCategory["RecordingError"] = "recording.error";
|
|
252
252
|
EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
|
|
253
|
+
/** Recording enabled but no segment finalized for the NC stall window. */
|
|
254
|
+
EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
|
|
255
|
+
/** Recovery from {@link RecordingHealthStalled}. */
|
|
256
|
+
EventCategory["RecordingHealthOk"] = "recording.health.ok";
|
|
253
257
|
EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
|
|
258
|
+
/** Free space on a storage location crossed the warn bar. */
|
|
259
|
+
EventCategory["StorageLocationLow"] = "storage.location.low";
|
|
260
|
+
/** Free space at/under the critical bar, or capacity probe failed (`null`). */
|
|
261
|
+
EventCategory["StorageLocationCritical"] = "storage.location.critical";
|
|
262
|
+
/** Recovery from low/critical on a storage location. */
|
|
263
|
+
EventCategory["StorageLocationOk"] = "storage.location.ok";
|
|
254
264
|
EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
|
|
255
265
|
EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
|
|
256
266
|
EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
|
|
@@ -5409,7 +5419,7 @@ var ZodIssueCode = {
|
|
|
5409
5419
|
var ZodFirstPartyTypeKind;
|
|
5410
5420
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5411
5421
|
//#endregion
|
|
5412
|
-
//#region ../types/dist/sleep-
|
|
5422
|
+
//#region ../types/dist/sleep-Tkp9dHXv.mjs
|
|
5413
5423
|
/**
|
|
5414
5424
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5415
5425
|
* window to float samples (D455).
|
|
@@ -9474,6 +9484,16 @@ var CompositionSchema = object({
|
|
|
9474
9484
|
seen.add(feature.cap);
|
|
9475
9485
|
});
|
|
9476
9486
|
});
|
|
9487
|
+
var NodeColorIdSchema = _enum([
|
|
9488
|
+
"node-a",
|
|
9489
|
+
"node-b",
|
|
9490
|
+
"node-c",
|
|
9491
|
+
"node-d",
|
|
9492
|
+
"node-e",
|
|
9493
|
+
"node-f",
|
|
9494
|
+
"node-g",
|
|
9495
|
+
"node-h"
|
|
9496
|
+
]);
|
|
9477
9497
|
new Set([
|
|
9478
9498
|
"track",
|
|
9479
9499
|
"face",
|
|
@@ -13716,7 +13736,14 @@ var BrokerProviderInfoSchema = object({
|
|
|
13716
13736
|
/** Broker kinds this provider can create, with a display label. */
|
|
13717
13737
|
kinds: array(object({
|
|
13718
13738
|
kind: string(),
|
|
13719
|
-
label: string()
|
|
13739
|
+
label: string(),
|
|
13740
|
+
/**
|
|
13741
|
+
* Relative hub path to start an interactive account link (OAuth popup).
|
|
13742
|
+
* May include `{{brokerId}}`; admin-ui substitutes and appends `?popup=1`.
|
|
13743
|
+
*/
|
|
13744
|
+
interactiveConnectPath: string().min(1).optional(),
|
|
13745
|
+
/** Relative hub path to disconnect the linked account (same popup pattern). */
|
|
13746
|
+
interactiveDisconnectPath: string().min(1).optional()
|
|
13720
13747
|
}))
|
|
13721
13748
|
});
|
|
13722
13749
|
var ListInputSchema = object({
|
|
@@ -18454,14 +18481,14 @@ var LlmProfileSchema = object({
|
|
|
18454
18481
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
18455
18482
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
18456
18483
|
* notification-output.cap.ts:151); the exported TS type re-tightens it. */
|
|
18457
|
-
var ConfigSchemaPassthrough$
|
|
18484
|
+
var ConfigSchemaPassthrough$3 = unknown();
|
|
18458
18485
|
var LlmProfileKindDescriptorSchema = object({
|
|
18459
18486
|
kind: LlmProfileKindSchema,
|
|
18460
18487
|
label: string(),
|
|
18461
18488
|
icon: string(),
|
|
18462
18489
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
18463
18490
|
addonId: string(),
|
|
18464
|
-
configSchema: ConfigSchemaPassthrough$
|
|
18491
|
+
configSchema: ConfigSchemaPassthrough$3
|
|
18465
18492
|
});
|
|
18466
18493
|
var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
|
|
18467
18494
|
var LlmDefaultSchema = object({
|
|
@@ -19582,7 +19609,7 @@ var TargetKindCapsSchema = object({
|
|
|
19582
19609
|
* the union is large and not meant for runtime validation here; the exported
|
|
19583
19610
|
* `TargetKind` type re-tightens `configSchema` to `ConfigUISchema`.
|
|
19584
19611
|
*/
|
|
19585
|
-
var ConfigSchemaPassthrough = unknown();
|
|
19612
|
+
var ConfigSchemaPassthrough$2 = unknown();
|
|
19586
19613
|
var TargetKindSchema = object({
|
|
19587
19614
|
kind: string(),
|
|
19588
19615
|
label: string(),
|
|
@@ -19619,7 +19646,7 @@ var TargetKindSchema = object({
|
|
|
19619
19646
|
* its raster path, which is the safe default for an unknown image.
|
|
19620
19647
|
*/
|
|
19621
19648
|
iconMediaType: string().optional(),
|
|
19622
|
-
configSchema: ConfigSchemaPassthrough,
|
|
19649
|
+
configSchema: ConfigSchemaPassthrough$2,
|
|
19623
19650
|
/**
|
|
19624
19651
|
* The config keys that decide WHERE this kind's secrets are sent (server,
|
|
19625
19652
|
* base URL, instance, chat, recipient). A save that changes any of them
|
|
@@ -20576,6 +20603,12 @@ var NcSystemEventKindSchema = _enum([
|
|
|
20576
20603
|
"node-updating",
|
|
20577
20604
|
"node-inference-unavailable",
|
|
20578
20605
|
"detection-blind",
|
|
20606
|
+
"recording-stalled",
|
|
20607
|
+
"recording-healthy",
|
|
20608
|
+
"recording-degraded",
|
|
20609
|
+
"storage-location-low",
|
|
20610
|
+
"storage-location-critical",
|
|
20611
|
+
"storage-location-ok",
|
|
20579
20612
|
"addon-crash-loop",
|
|
20580
20613
|
"addon-update-available",
|
|
20581
20614
|
"server-update-available",
|
|
@@ -22956,6 +22989,61 @@ var OauthIntegrationDescriptorSchema = object({
|
|
|
22956
22989
|
});
|
|
22957
22990
|
method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
|
|
22958
22991
|
/**
|
|
22992
|
+
* `oidc-connections` — CRUD for IdP rows under `auth-oidc` (D828 sibling).
|
|
22993
|
+
*
|
|
22994
|
+
* One hub-only singleton (`auth-oidc`). The Settings UI is a DataTable +
|
|
22995
|
+
* ItemFormDialog; there is no `editable-array` in `globalSettingsSchema`.
|
|
22996
|
+
* Operator-chosen `id` is the URL slug (`/addon/auth-oidc/<id>/…`) and is
|
|
22997
|
+
* immutable after create.
|
|
22998
|
+
*/
|
|
22999
|
+
var ConfigSchemaPassthrough$1 = unknown();
|
|
23000
|
+
var OidcConnectionSchema = object({
|
|
23001
|
+
id: string().min(1),
|
|
23002
|
+
displayName: string(),
|
|
23003
|
+
icon: string(),
|
|
23004
|
+
issuerUrl: string(),
|
|
23005
|
+
clientId: string(),
|
|
23006
|
+
/** Client id + secret present — never the secret value. */
|
|
23007
|
+
configured: boolean(),
|
|
23008
|
+
/**
|
|
23009
|
+
* Values for the connection form schema. `clientSecret` is a keychain
|
|
23010
|
+
* {@link SecretFieldView} or `null` / `''`, never plaintext (D789).
|
|
23011
|
+
*/
|
|
23012
|
+
formValues: record(string(), unknown()).optional()
|
|
23013
|
+
});
|
|
23014
|
+
/**
|
|
23015
|
+
* Patch one connection. Omitted or empty `clientSecret` keeps the stored
|
|
23016
|
+
* secret (D787). `{ $secretClear: true }` clears it. `id` is never renamed.
|
|
23017
|
+
*/
|
|
23018
|
+
var OidcConnectionUpdateInputSchema = object({
|
|
23019
|
+
id: string().min(1),
|
|
23020
|
+
displayName: string().min(1),
|
|
23021
|
+
icon: string().optional(),
|
|
23022
|
+
issuerUrl: string().optional(),
|
|
23023
|
+
clientId: string().optional(),
|
|
23024
|
+
clientSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
|
|
23025
|
+
redirectUri: string().optional(),
|
|
23026
|
+
scopes: string().optional(),
|
|
23027
|
+
usernameClaim: _enum([
|
|
23028
|
+
"preferred_username",
|
|
23029
|
+
"email",
|
|
23030
|
+
"sub"
|
|
23031
|
+
]).optional()
|
|
23032
|
+
});
|
|
23033
|
+
method(object({}), ConfigSchemaPassthrough$1, { auth: "admin" }), method(object({}), array(OidcConnectionSchema).readonly(), { auth: "admin" }), method(object({
|
|
23034
|
+
id: string().min(1).regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "id must be a lowercase slug"),
|
|
23035
|
+
displayName: string().min(1)
|
|
23036
|
+
}), object({ id: string() }), {
|
|
23037
|
+
kind: "mutation",
|
|
23038
|
+
auth: "admin"
|
|
23039
|
+
}), method(OidcConnectionUpdateInputSchema, object({ ok: literal(true) }), {
|
|
23040
|
+
kind: "mutation",
|
|
23041
|
+
auth: "admin"
|
|
23042
|
+
}), method(object({ id: string().min(1) }), object({ ok: literal(true) }), {
|
|
23043
|
+
kind: "mutation",
|
|
23044
|
+
auth: "admin"
|
|
23045
|
+
});
|
|
23046
|
+
/**
|
|
22959
23047
|
* What started a camera's onboard motion (D672). `camera` is the camera's own
|
|
22960
23048
|
* firmware; `sensor` is a device the operator ATTACHED to it. Absent on the
|
|
22961
23049
|
* wire means the camera: only the camera-sensors bridge ever says `sensor`.
|
|
@@ -24312,24 +24400,69 @@ var RetrainFrameListSchema = object({
|
|
|
24312
24400
|
/** What the page pre-selects — the native key frame when one survives. */
|
|
24313
24401
|
autoPickMediaId: number().int().optional()
|
|
24314
24402
|
});
|
|
24403
|
+
/** Exclusive partition of a corpus copy's annotation progress (design §4.2). */
|
|
24404
|
+
var RetrainFrameWorkStateSchema = _enum([
|
|
24405
|
+
"unannotated",
|
|
24406
|
+
"annotated",
|
|
24407
|
+
"complete"
|
|
24408
|
+
]);
|
|
24409
|
+
/**
|
|
24410
|
+
* Filters for paginated corpus list, KPI, and matching export (design §4.4).
|
|
24411
|
+
* Every narrowing field is ANDed; omitted fields impose no constraint.
|
|
24412
|
+
*/
|
|
24413
|
+
var RetrainCorpusFilterSchema = object({
|
|
24414
|
+
workState: RetrainFrameWorkStateSchema.optional(),
|
|
24415
|
+
deviceIds: array(number()).max(500).optional(),
|
|
24416
|
+
/** When set, only frames in this named collection. */
|
|
24417
|
+
collectionId: string().optional(),
|
|
24418
|
+
/** Frames that carry at least one saved annotation in one of these classes. */
|
|
24419
|
+
classes: array(RetrainMacroClassSchema).optional(),
|
|
24420
|
+
page: number().int().positive().default(1),
|
|
24421
|
+
pageSize: number().int().positive().max(100).default(50)
|
|
24422
|
+
});
|
|
24423
|
+
var RetrainCorpusPageSchema = object({
|
|
24424
|
+
frames: array(RetrainFrameSchema.extend({ workState: RetrainFrameWorkStateSchema })).readonly(),
|
|
24425
|
+
total: number().int().nonnegative(),
|
|
24426
|
+
page: number().int().positive(),
|
|
24427
|
+
pageSize: number().int().positive()
|
|
24428
|
+
});
|
|
24429
|
+
var RetrainCorpusKpiCameraRowSchema = object({
|
|
24430
|
+
deviceId: number(),
|
|
24431
|
+
unannotated: number().int().nonnegative(),
|
|
24432
|
+
annotated: number().int().nonnegative(),
|
|
24433
|
+
complete: number().int().nonnegative(),
|
|
24434
|
+
/** This camera's `complete` count divided by corpus `total`, in `[0,1]`.
|
|
24435
|
+
* `null` when the corpus is empty (no ratio). */
|
|
24436
|
+
pctOfCorpus: number().min(0).max(1).nullable()
|
|
24437
|
+
});
|
|
24438
|
+
var RetrainCorpusKpiSchema = object({
|
|
24439
|
+
total: number().int().nonnegative(),
|
|
24440
|
+
unannotated: number().int().nonnegative(),
|
|
24441
|
+
annotated: number().int().nonnegative(),
|
|
24442
|
+
complete: number().int().nonnegative(),
|
|
24443
|
+
cameras: array(RetrainCorpusKpiCameraRowSchema).readonly()
|
|
24444
|
+
});
|
|
24315
24445
|
/**
|
|
24316
24446
|
* Which frames an annotated export carries. Every field narrows; an empty
|
|
24317
|
-
* filter is every annotated copy.
|
|
24318
|
-
*
|
|
24319
|
-
*
|
|
24320
|
-
*
|
|
24447
|
+
* filter is every annotated copy. `frameIds` is the primitive a job or
|
|
24448
|
+
* download uses; `batchId` re-selects what an earlier export carried
|
|
24449
|
+
* (`exportedInBatch`). Frozen dataset versions were removed — live selection
|
|
24450
|
+
* resolves to `frameIds` at plan/start.
|
|
24321
24451
|
*/
|
|
24322
24452
|
var RetrainExportFilterSchema = object({
|
|
24323
24453
|
deviceIds: array(number()).optional(),
|
|
24324
24454
|
frameIds: array(string()).max(2e4).optional(),
|
|
24325
24455
|
/** Only frames in at least one of these named collections. */
|
|
24326
24456
|
collectionIds: array(string()).max(200).optional(),
|
|
24327
|
-
/**
|
|
24328
|
-
|
|
24329
|
-
datasetVersionId: string().optional(),
|
|
24457
|
+
/** Single collection (Frames filter bar). ANDed with `collectionIds` when both set. */
|
|
24458
|
+
collectionId: string().optional(),
|
|
24330
24459
|
batchId: string().optional(),
|
|
24331
24460
|
/** Only frames the operator marked complete (all subjects boxed). */
|
|
24332
|
-
completeOnly: boolean().optional()
|
|
24461
|
+
completeOnly: boolean().optional(),
|
|
24462
|
+
/** Exclusive work-state partition (`workStateOf`); same as the corpus list. */
|
|
24463
|
+
workState: RetrainFrameWorkStateSchema.optional(),
|
|
24464
|
+
/** Frames with at least one saved annotation in one of these classes. */
|
|
24465
|
+
classes: array(RetrainMacroClassSchema).optional()
|
|
24333
24466
|
});
|
|
24334
24467
|
/**
|
|
24335
24468
|
* `frames`: the full frame copies, boxes in `annotations.json`.
|
|
@@ -24529,8 +24662,7 @@ var RetrainDatasetStatsSchema = object({
|
|
|
24529
24662
|
completeFrames: number().int()
|
|
24530
24663
|
})).readonly()
|
|
24531
24664
|
});
|
|
24532
|
-
|
|
24533
|
-
var RetrainDatasetVersionSchema = object({
|
|
24665
|
+
object({
|
|
24534
24666
|
id: string(),
|
|
24535
24667
|
name: string(),
|
|
24536
24668
|
createdAt: number(),
|
|
@@ -24538,22 +24670,33 @@ var RetrainDatasetVersionSchema = object({
|
|
|
24538
24670
|
layout: RetrainExportLayoutSchema,
|
|
24539
24671
|
completeOnly: boolean(),
|
|
24540
24672
|
frameCount: number().int(),
|
|
24541
|
-
/** sha256 of what the frames taught when the version was frozen. */
|
|
24542
24673
|
annotationHash: string(),
|
|
24543
|
-
/** The export manifest schema the version was cut under. */
|
|
24544
24674
|
manifestSchema: string(),
|
|
24545
24675
|
stats: RetrainDatasetStatsSchema
|
|
24546
24676
|
});
|
|
24547
|
-
|
|
24548
|
-
|
|
24549
|
-
|
|
24677
|
+
/**
|
|
24678
|
+
* Live training corpus criteria — same shape as `TrainingCorpusSelection` on
|
|
24679
|
+
* the training cap. Resolved here so plan/start and the annotated export share
|
|
24680
|
+
* one definition of "the frames" (`buildRetrainExportPlan`).
|
|
24681
|
+
*/
|
|
24682
|
+
var RetrainTrainingCorpusSelectionSchema = object({
|
|
24683
|
+
collectionIds: array(string()).min(1),
|
|
24684
|
+
workState: _enum([
|
|
24685
|
+
"complete",
|
|
24686
|
+
"annotated_or_complete",
|
|
24687
|
+
"any_annotated"
|
|
24688
|
+
]).default("complete")
|
|
24689
|
+
});
|
|
24690
|
+
var RetrainTrainingCorpusResolveResultSchema = discriminatedUnion("kind", [object({
|
|
24691
|
+
kind: literal("resolved"),
|
|
24692
|
+
frameIds: array(string()).max(2e4).readonly(),
|
|
24693
|
+
stats: RetrainDatasetStatsSchema,
|
|
24694
|
+
annotationHash: string(),
|
|
24695
|
+
layout: RetrainExportLayoutSchema
|
|
24550
24696
|
}), object({
|
|
24551
24697
|
kind: literal("refused"),
|
|
24552
|
-
reason: _enum([
|
|
24553
|
-
|
|
24554
|
-
"duplicate-name",
|
|
24555
|
-
"no-frames"
|
|
24556
|
-
])
|
|
24698
|
+
reason: _enum(["unknown-collection", "no-frames"]),
|
|
24699
|
+
detail: string()
|
|
24557
24700
|
})]);
|
|
24558
24701
|
/** The outcome of a lifecycle move owned by the retrain page. */
|
|
24559
24702
|
var RetrainTransitionResultSchema = object({
|
|
@@ -25260,6 +25403,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25260
25403
|
}), array(RetrainTrackSchema).readonly(), {
|
|
25261
25404
|
kind: "query",
|
|
25262
25405
|
auth: "admin"
|
|
25406
|
+
}), method(RetrainCorpusFilterSchema, RetrainCorpusPageSchema, {
|
|
25407
|
+
kind: "query",
|
|
25408
|
+
auth: "admin"
|
|
25409
|
+
}), method(object({}), RetrainCorpusKpiSchema, {
|
|
25410
|
+
kind: "query",
|
|
25411
|
+
auth: "admin"
|
|
25263
25412
|
}), method(object({ trackId: string() }), RetrainFrameListSchema, {
|
|
25264
25413
|
kind: "query",
|
|
25265
25414
|
auth: "admin"
|
|
@@ -25355,36 +25504,6 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25355
25504
|
kind: "mutation",
|
|
25356
25505
|
auth: "admin",
|
|
25357
25506
|
timeoutMs: 12e4
|
|
25358
|
-
}), method(object({
|
|
25359
|
-
selection: RetrainDatasetSelectionSchema,
|
|
25360
|
-
completeOnly: boolean().optional()
|
|
25361
|
-
}), RetrainDatasetStatsSchema, {
|
|
25362
|
-
kind: "query",
|
|
25363
|
-
auth: "admin"
|
|
25364
|
-
}), method(object({
|
|
25365
|
-
name: string().max(120),
|
|
25366
|
-
selection: RetrainDatasetSelectionSchema,
|
|
25367
|
-
layout: RetrainExportLayoutSchema,
|
|
25368
|
-
completeOnly: boolean()
|
|
25369
|
-
}), CreateRetrainDatasetVersionResultSchema, {
|
|
25370
|
-
kind: "mutation",
|
|
25371
|
-
auth: "admin",
|
|
25372
|
-
timeoutMs: 12e4
|
|
25373
|
-
}), method(object({}), array(RetrainDatasetVersionSchema).readonly(), {
|
|
25374
|
-
kind: "query",
|
|
25375
|
-
auth: "admin"
|
|
25376
|
-
}), method(object({ id: string() }), object({ deleted: boolean() }), {
|
|
25377
|
-
kind: "mutation",
|
|
25378
|
-
auth: "admin"
|
|
25379
|
-
}), method(object({ id: string() }), object({
|
|
25380
|
-
found: boolean(),
|
|
25381
|
-
annotationHash: string(),
|
|
25382
|
-
matches: boolean(),
|
|
25383
|
-
missingFrames: number().int()
|
|
25384
|
-
}), {
|
|
25385
|
-
kind: "query",
|
|
25386
|
-
auth: "admin",
|
|
25387
|
-
timeoutMs: 12e4
|
|
25388
25507
|
}), method(object({}), array(RetrainAssistProfileSchema).readonly(), {
|
|
25389
25508
|
kind: "query",
|
|
25390
25509
|
auth: "admin"
|
|
@@ -25411,6 +25530,10 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25411
25530
|
}), method(object({}), array(RetrainCollectionSchema).readonly(), {
|
|
25412
25531
|
kind: "query",
|
|
25413
25532
|
auth: "admin"
|
|
25533
|
+
}), method(RetrainTrainingCorpusSelectionSchema, RetrainTrainingCorpusResolveResultSchema, {
|
|
25534
|
+
kind: "query",
|
|
25535
|
+
auth: "admin",
|
|
25536
|
+
timeoutMs: 6e4
|
|
25414
25537
|
}), method(object({
|
|
25415
25538
|
id: string(),
|
|
25416
25539
|
name: string().max(120)
|
|
@@ -26027,11 +26150,14 @@ var HardwareClassIdSchema = _enum([
|
|
|
26027
26150
|
"intel-n-series",
|
|
26028
26151
|
"apple-m-base",
|
|
26029
26152
|
"apple-m-pro",
|
|
26153
|
+
"amd-phoenix",
|
|
26030
26154
|
"unknown"
|
|
26031
26155
|
]);
|
|
26032
26156
|
var AcceleratorKindSchema = _enum([
|
|
26033
26157
|
"intel-npu",
|
|
26034
26158
|
"intel-igpu",
|
|
26159
|
+
"amd-igpu",
|
|
26160
|
+
"amd-npu",
|
|
26035
26161
|
"x86-cpu",
|
|
26036
26162
|
"arm-cpu",
|
|
26037
26163
|
"apple-ane",
|
|
@@ -27961,6 +28087,8 @@ var AgentPipelineSettingsSchema = object({
|
|
|
27961
28087
|
* address is wrong (multi-homed host, NAT, custom interface).
|
|
27962
28088
|
*/
|
|
27963
28089
|
reachableHost: string().optional(),
|
|
28090
|
+
/** Hub-persisted UI colour (`--color-node-*` theme tokens). */
|
|
28091
|
+
color: NodeColorIdSchema.optional(),
|
|
27964
28092
|
/**
|
|
27965
28093
|
* Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
|
|
27966
28094
|
* weight, steps}. Absent / all-disabled ⇒ the node's single default
|
|
@@ -28510,8 +28638,9 @@ method(object({
|
|
|
28510
28638
|
auth: "admin"
|
|
28511
28639
|
}), method(object({
|
|
28512
28640
|
agentNodeId: string(),
|
|
28513
|
-
reachableHost: string().nullable()
|
|
28514
|
-
|
|
28641
|
+
reachableHost: string().nullable().optional(),
|
|
28642
|
+
color: NodeColorIdSchema.nullable().optional()
|
|
28643
|
+
}).refine((v) => v.reachableHost !== void 0 || v.color !== void 0, { message: "reachableHost or color required" }), object({ success: literal(true) }), {
|
|
28515
28644
|
kind: "mutation",
|
|
28516
28645
|
auth: "admin"
|
|
28517
28646
|
}), method(object({
|
|
@@ -31735,7 +31864,7 @@ var CustomActionInputSchema = object({
|
|
|
31735
31864
|
action: string().min(1),
|
|
31736
31865
|
input: unknown()
|
|
31737
31866
|
});
|
|
31738
|
-
method(
|
|
31867
|
+
method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSchema).readonly()), method(object({
|
|
31739
31868
|
addonId: string(),
|
|
31740
31869
|
limit: number().min(1).max(500).default(100),
|
|
31741
31870
|
level: LogLevelSchema$2.optional()
|
|
@@ -37216,6 +37345,7 @@ var OsdNamedTemplateSchema = object({
|
|
|
37216
37345
|
});
|
|
37217
37346
|
/** Where a slot's value comes from. */
|
|
37218
37347
|
var OsdSourceSchema = discriminatedUnion("kind", [
|
|
37348
|
+
object({ kind: literal("none") }),
|
|
37219
37349
|
object({
|
|
37220
37350
|
kind: literal("static"),
|
|
37221
37351
|
text: string().max(64)
|
|
@@ -37342,6 +37472,13 @@ method(object({ deviceId: number().int() }), object({
|
|
|
37342
37472
|
}), object({ success: literal(true) }), {
|
|
37343
37473
|
kind: "mutation",
|
|
37344
37474
|
auth: "admin"
|
|
37475
|
+
}), method(object({
|
|
37476
|
+
deviceId: number().int(),
|
|
37477
|
+
slotId: string().min(1),
|
|
37478
|
+
enabled: boolean()
|
|
37479
|
+
}), object({ success: literal(true) }), {
|
|
37480
|
+
kind: "mutation",
|
|
37481
|
+
auth: "admin"
|
|
37345
37482
|
}), method(object({
|
|
37346
37483
|
sourceDeviceId: number().int(),
|
|
37347
37484
|
targetDeviceId: number().int()
|
|
@@ -37773,7 +37910,15 @@ var GpuInfoSchema = object({
|
|
|
37773
37910
|
name: string(),
|
|
37774
37911
|
memoryMB: number().optional()
|
|
37775
37912
|
});
|
|
37776
|
-
var NpuInfoSchema = object({
|
|
37913
|
+
var NpuInfoSchema = object({
|
|
37914
|
+
type: _enum([
|
|
37915
|
+
"apple-ane",
|
|
37916
|
+
"intel-npu",
|
|
37917
|
+
"amd-xdna"
|
|
37918
|
+
]),
|
|
37919
|
+
name: string().optional(),
|
|
37920
|
+
generation: _enum(["xdna1", "xdna2"]).optional()
|
|
37921
|
+
});
|
|
37777
37922
|
var CoralInfoSchema = object({
|
|
37778
37923
|
type: literal("coral-edgetpu"),
|
|
37779
37924
|
bus: string().optional()
|
|
@@ -42516,9 +42661,11 @@ var zoneRulesCapability = {
|
|
|
42516
42661
|
* once is what makes a second provider (RunPod, a local NVIDIA node) a new
|
|
42517
42662
|
* manifest entry and nothing else.
|
|
42518
42663
|
*
|
|
42519
|
-
* Collection
|
|
42520
|
-
*
|
|
42521
|
-
*
|
|
42664
|
+
* Collection of provider **types** (addons). Each addon owns zero or more
|
|
42665
|
+
* **entries** (credentials + defaults). Concat-fans: `describe`,
|
|
42666
|
+
* `describeTypes`, `listEntries`, `listJobs`. Single-row work is keyed by
|
|
42667
|
+
* `entryId`; callers also pass the owning `addonId` as the collection
|
|
42668
|
+
* selector (broker posture). Every method is `admin`: these spend money.
|
|
42522
42669
|
*
|
|
42523
42670
|
* Every cloud object a provider creates is tagged with the orchestrator's
|
|
42524
42671
|
* `jobKey`, so a retried submit finds the job it already started instead of
|
|
@@ -42542,8 +42689,8 @@ var TrainingRegionOptionSchema = object({
|
|
|
42542
42689
|
priceMultiplier: number().positive()
|
|
42543
42690
|
});
|
|
42544
42691
|
/**
|
|
42545
|
-
* The provider's per-
|
|
42546
|
-
* live
|
|
42692
|
+
* The provider's per-entry settings, as the orchestrator reads them. They
|
|
42693
|
+
* live on the PROVIDER addon's entry (operator decision 2026-10-08: they
|
|
42547
42694
|
* depend on the user's account), never hard-coded in the orchestrator.
|
|
42548
42695
|
*/
|
|
42549
42696
|
var TrainingProviderDefaultsSchema = object({
|
|
@@ -42554,9 +42701,44 @@ var TrainingProviderDefaultsSchema = object({
|
|
|
42554
42701
|
/** Hours a FAILED job's cloud dataset is kept for debugging; 0 = delete at once. */
|
|
42555
42702
|
failedDatasetGraceHours: number().nonnegative()
|
|
42556
42703
|
});
|
|
42704
|
+
/**
|
|
42705
|
+
* Entry form schema for a provider type — same seam as notification
|
|
42706
|
+
* `TargetKind.configSchema` (`z.unknown()` at the wire; callers tighten to
|
|
42707
|
+
* {@link ConfigUISchema}). Drives `ConfigFormBuilder` on Training → Providers.
|
|
42708
|
+
*/
|
|
42709
|
+
var ConfigSchemaPassthrough = unknown();
|
|
42710
|
+
/** One creatable provider type, for the Add-entry dialog. */
|
|
42711
|
+
var TrainingProviderTypeSchema = object({
|
|
42712
|
+
typeId: string(),
|
|
42713
|
+
label: string(),
|
|
42714
|
+
/** Path under the addon package (e.g. `assets/training-modal/icon.svg`). */
|
|
42715
|
+
iconAsset: string(),
|
|
42716
|
+
/** Owning `training-provider` addon — collection selector for createEntry. */
|
|
42717
|
+
addonId: string(),
|
|
42718
|
+
/**
|
|
42719
|
+
* Fields for one entry of this type (credentials + defaults). Absent on a
|
|
42720
|
+
* type that only needs a name. Password fields are keychain-backed on the
|
|
42721
|
+
* provider addon (`secretStatePaths`), not D634 plaintext.
|
|
42722
|
+
*/
|
|
42723
|
+
configSchema: ConfigSchemaPassthrough.optional()
|
|
42724
|
+
});
|
|
42725
|
+
/** One configured account / workspace under a provider type. */
|
|
42726
|
+
var TrainingProviderEntrySchema = object({
|
|
42727
|
+
entryId: string(),
|
|
42728
|
+
typeId: string(),
|
|
42729
|
+
name: string(),
|
|
42730
|
+
addonId: string(),
|
|
42731
|
+
/** Credentials are present — never the values. */
|
|
42732
|
+
configured: boolean()
|
|
42733
|
+
});
|
|
42557
42734
|
var TrainingProviderDescriptorSchema = object({
|
|
42558
42735
|
addonId: string(),
|
|
42559
|
-
|
|
42736
|
+
entryId: string(),
|
|
42737
|
+
typeId: string(),
|
|
42738
|
+
/** Operator-chosen entry name. */
|
|
42739
|
+
name: string(),
|
|
42740
|
+
iconAsset: string(),
|
|
42741
|
+
/** `modal`, `runpod`, `fake`, … — same as typeId for current providers. */
|
|
42560
42742
|
kind: string(),
|
|
42561
42743
|
label: string(),
|
|
42562
42744
|
gpuTypes: array(TrainingGpuOptionSchema).readonly(),
|
|
@@ -42568,7 +42750,30 @@ var TrainingProviderDescriptorSchema = object({
|
|
|
42568
42750
|
dataResidencyNote: string(),
|
|
42569
42751
|
/** Credentials are present — never the values. */
|
|
42570
42752
|
configured: boolean(),
|
|
42571
|
-
defaults: TrainingProviderDefaultsSchema
|
|
42753
|
+
defaults: TrainingProviderDefaultsSchema,
|
|
42754
|
+
/**
|
|
42755
|
+
* Values for {@link TrainingProviderTypeSchema}'s `configSchema` — password
|
|
42756
|
+
* fields are keychain {@link SecretFieldView} or `null` / `''` (create),
|
|
42757
|
+
* never plaintext. Same hydrate contract as settings forms (D789).
|
|
42758
|
+
*/
|
|
42759
|
+
formValues: record(string(), unknown()).optional()
|
|
42760
|
+
});
|
|
42761
|
+
/**
|
|
42762
|
+
* Patch one entry's name, credentials and defaults. Pin with owning `{ addonId }`.
|
|
42763
|
+
* An omitted or empty `tokenSecret` means KEEP the stored secret (D787).
|
|
42764
|
+
* `{ $secretClear: true }` clears it.
|
|
42765
|
+
*/
|
|
42766
|
+
var TrainingProviderUpdateEntryInputSchema = object({
|
|
42767
|
+
entryId: string().min(1),
|
|
42768
|
+
name: string().min(1),
|
|
42769
|
+
tokenId: string().optional(),
|
|
42770
|
+
tokenSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
|
|
42771
|
+
environment: string().optional(),
|
|
42772
|
+
gpuType: string().optional(),
|
|
42773
|
+
region: string().optional(),
|
|
42774
|
+
costCapUsd: number().nonnegative().optional(),
|
|
42775
|
+
maxRuntimeSec: number().int().positive().optional(),
|
|
42776
|
+
failedDatasetGraceHours: number().nonnegative().optional()
|
|
42572
42777
|
});
|
|
42573
42778
|
var TrainingCredentialCheckSchema = object({
|
|
42574
42779
|
ok: boolean(),
|
|
@@ -42620,20 +42825,33 @@ var TrainerSourceRefSchema = object({
|
|
|
42620
42825
|
/** A commit sha (never a branch) — the job must be reproducible. */
|
|
42621
42826
|
revision: string().regex(/^[0-9a-f]{7,64}$/)
|
|
42622
42827
|
});
|
|
42828
|
+
/** Cloud job identity — route with the owning addon's `addonId` selector. */
|
|
42623
42829
|
var JobRef = {
|
|
42624
|
-
|
|
42830
|
+
entryId: string().min(1),
|
|
42625
42831
|
jobKey: string().uuid()
|
|
42626
42832
|
};
|
|
42627
42833
|
var TrainingLogLineSchema = object({
|
|
42628
42834
|
ts: number(),
|
|
42629
42835
|
text: string()
|
|
42630
42836
|
});
|
|
42631
|
-
method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "admin" }), method(object({
|
|
42837
|
+
method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "admin" }), method(object({}), array(TrainingProviderTypeSchema).readonly(), { auth: "admin" }), method(object({}), array(TrainingProviderEntrySchema).readonly(), { auth: "admin" }), method(object({
|
|
42838
|
+
typeId: string().min(1),
|
|
42839
|
+
name: string().min(1)
|
|
42840
|
+
}), object({ entryId: string() }), {
|
|
42841
|
+
kind: "mutation",
|
|
42842
|
+
auth: "admin"
|
|
42843
|
+
}), method(object({ entryId: string().min(1) }), object({ ok: literal(true) }), {
|
|
42844
|
+
kind: "mutation",
|
|
42845
|
+
auth: "admin"
|
|
42846
|
+
}), method(TrainingProviderUpdateEntryInputSchema, object({ ok: literal(true) }), {
|
|
42847
|
+
kind: "mutation",
|
|
42848
|
+
auth: "admin"
|
|
42849
|
+
}), method(object({ entryId: string().min(1) }), TrainingCredentialCheckSchema, {
|
|
42632
42850
|
kind: "mutation",
|
|
42633
42851
|
auth: "admin",
|
|
42634
42852
|
timeoutMs: 3e4
|
|
42635
42853
|
}), method(object({
|
|
42636
|
-
|
|
42854
|
+
entryId: string().min(1),
|
|
42637
42855
|
gpuType: string(),
|
|
42638
42856
|
region: string(),
|
|
42639
42857
|
datasetBytes: number().int().nonnegative(),
|
|
@@ -42699,7 +42917,7 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
|
|
|
42699
42917
|
kind: "mutation",
|
|
42700
42918
|
auth: "admin",
|
|
42701
42919
|
timeoutMs: 5 * 6e4
|
|
42702
|
-
}), method(object({
|
|
42920
|
+
}), method(object({ entryId: string().min(1).optional() }), array(ProviderJobStatusSchema).readonly(), {
|
|
42703
42921
|
auth: "admin",
|
|
42704
42922
|
timeoutMs: 2 * 6e4
|
|
42705
42923
|
});
|
|
@@ -42709,20 +42927,31 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
|
|
|
42709
42927
|
*
|
|
42710
42928
|
* It owns what every provider must agree on, written once:
|
|
42711
42929
|
*
|
|
42712
|
-
* - **Dataset versions.** Taken over from pipeline-analytics (D796): the rows
|
|
42713
|
-
* live here (D808); pipeline-analytics still CUTS a version (it owns the corpus and
|
|
42714
|
-
* the export plan) and reaches this store through the five row methods
|
|
42715
|
-
* below, so the Retrain page and the export did not change.
|
|
42716
42930
|
* - **Jobs.** A persisted state machine, a reconcile loop against the
|
|
42717
42931
|
* provider, a cost guard, a daily orphan sweep and the retention rules.
|
|
42718
42932
|
* - **The return flow.** Verified artefacts → Model Studio
|
|
42719
42933
|
* (`custom-model-registry.importModelBundle`) → canary on cameras →
|
|
42720
42934
|
* rollback. Nothing is ever registered automatically.
|
|
42721
42935
|
*
|
|
42936
|
+
* Plan/start takes a live {@link TrainingCorpusSelection} (collections +
|
|
42937
|
+
* work-state rule); frame ids are resolved via pipeline-analytics at that
|
|
42938
|
+
* moment and snapshotted on the job. No frozen dataset version.
|
|
42939
|
+
*
|
|
42722
42940
|
* Every method is `admin`.
|
|
42723
42941
|
*/
|
|
42724
|
-
/**
|
|
42725
|
-
|
|
42942
|
+
/**
|
|
42943
|
+
* Live corpus criteria for plan/start (design §5.2). Default is complete-only.
|
|
42944
|
+
* Frame ids are resolved at plan/start — never a frozen version id.
|
|
42945
|
+
*/
|
|
42946
|
+
var TrainingCorpusSelectionSchema = object({
|
|
42947
|
+
collectionIds: array(string()).min(1),
|
|
42948
|
+
/** Default complete-only for v1 */
|
|
42949
|
+
workState: _enum([
|
|
42950
|
+
"complete",
|
|
42951
|
+
"annotated_or_complete",
|
|
42952
|
+
"any_annotated"
|
|
42953
|
+
]).default("complete")
|
|
42954
|
+
});
|
|
42726
42955
|
/** A base model a detector job can fine-tune, and the baseline it is judged against. */
|
|
42727
42956
|
var TrainingBaseModelSchema = object({
|
|
42728
42957
|
modelId: string(),
|
|
@@ -42740,9 +42969,13 @@ var TrainingPresetSchema = _enum([
|
|
|
42740
42969
|
"thorough"
|
|
42741
42970
|
]);
|
|
42742
42971
|
var TrainingJobRequestSchema = object({
|
|
42743
|
-
|
|
42744
|
-
|
|
42745
|
-
|
|
42972
|
+
/** Live collection + work-state criteria; resolved at plan/start. */
|
|
42973
|
+
selection: TrainingCorpusSelectionSchema,
|
|
42974
|
+
/**
|
|
42975
|
+
* The provider **entry** that runs it (credentials + defaults).
|
|
42976
|
+
* Resolve to an owning addon via `training-provider.describe` / `listEntries`.
|
|
42977
|
+
*/
|
|
42978
|
+
entryId: string().min(1),
|
|
42746
42979
|
gpuType: string().min(1),
|
|
42747
42980
|
region: string(),
|
|
42748
42981
|
baseModelId: string().min(1),
|
|
@@ -42801,6 +43034,7 @@ var TrainingJobPlanSchema = object({
|
|
|
42801
43034
|
* result lives after the operator acted on it.
|
|
42802
43035
|
*/
|
|
42803
43036
|
var TrainingJobStateSchema = _enum([
|
|
43037
|
+
"queued",
|
|
42804
43038
|
"uploading",
|
|
42805
43039
|
"submitted",
|
|
42806
43040
|
"starting",
|
|
@@ -42854,6 +43088,11 @@ var TrainingJobSchema = object({
|
|
|
42854
43088
|
createdAt: number(),
|
|
42855
43089
|
updatedAt: number(),
|
|
42856
43090
|
state: TrainingJobStateSchema,
|
|
43091
|
+
/**
|
|
43092
|
+
* Shared by every job enqueued together via `startJobBatch`.
|
|
43093
|
+
* `null` for a lone `startJob`. The engine advances queued siblings by this id.
|
|
43094
|
+
*/
|
|
43095
|
+
batchId: string().nullable().default(null),
|
|
42857
43096
|
stage: TrainingStageSchema.nullable(),
|
|
42858
43097
|
failure: object({
|
|
42859
43098
|
reason: TrainingFailureReasonSchema,
|
|
@@ -42865,6 +43104,12 @@ var TrainingJobSchema = object({
|
|
|
42865
43104
|
maxRuntimeSec: number().int().positive(),
|
|
42866
43105
|
trainer: TrainerSourceRefSchema,
|
|
42867
43106
|
datasetLayout: RetrainExportLayoutSchema,
|
|
43107
|
+
/** Frame count snapshotted when the job started (audit; equals `frameIds.length`). */
|
|
43108
|
+
frameCount: number().int().nonnegative(),
|
|
43109
|
+
/** Resolved frame ids at start — the archive ships exactly these. */
|
|
43110
|
+
frameIds: array(string()).max(2e4).readonly(),
|
|
43111
|
+
/** Hash of what those frames taught at start (trainer `dataset.annotationHash`). */
|
|
43112
|
+
annotationHash: string(),
|
|
42868
43113
|
dataset: object({
|
|
42869
43114
|
bytes: number().int(),
|
|
42870
43115
|
sha256: string(),
|
|
@@ -42906,13 +43151,7 @@ var TrainingJobSchema = object({
|
|
|
42906
43151
|
canary: TrainingCanarySchema.nullable()
|
|
42907
43152
|
});
|
|
42908
43153
|
var IdInput = object({ id: string().min(1) });
|
|
42909
|
-
method(
|
|
42910
|
-
kind: "mutation",
|
|
42911
|
-
auth: "admin"
|
|
42912
|
-
}), method(IdInput, TrainingDatasetVersionRowSchema.nullable(), { auth: "admin" }), method(object({}), array(RetrainDatasetVersionSchema).readonly(), { auth: "admin" }), method(object({ name: string() }), object({ id: string().nullable() }), { auth: "admin" }), method(IdInput, object({ removed: boolean() }), {
|
|
42913
|
-
kind: "mutation",
|
|
42914
|
-
auth: "admin"
|
|
42915
|
-
}), method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" }), method(TrainingJobRequestSchema, TrainingJobPlanSchema, {
|
|
43154
|
+
method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" }), method(TrainingJobRequestSchema, TrainingJobPlanSchema, {
|
|
42916
43155
|
auth: "admin",
|
|
42917
43156
|
timeoutMs: 6e4
|
|
42918
43157
|
}), method(TrainingJobRequestSchema.extend({
|
|
@@ -42931,6 +43170,24 @@ method(TrainingDatasetVersionRowSchema, object({ stored: boolean() }), {
|
|
|
42931
43170
|
kind: "mutation",
|
|
42932
43171
|
auth: "admin",
|
|
42933
43172
|
timeoutMs: 12e4
|
|
43173
|
+
}), method(TrainingJobRequestSchema.omit({ baseModelId: true }).extend({
|
|
43174
|
+
baseModelIds: array(string().min(1)).min(1),
|
|
43175
|
+
name: string().min(1).max(120),
|
|
43176
|
+
maxCostUsd: number().positive(),
|
|
43177
|
+
maxRuntimeSec: number().int().positive(),
|
|
43178
|
+
idempotencyKey: string().min(8).max(80)
|
|
43179
|
+
}), discriminatedUnion("kind", [object({
|
|
43180
|
+
kind: literal("started"),
|
|
43181
|
+
batchId: string(),
|
|
43182
|
+
jobs: array(TrainingJobSchema).min(1).readonly()
|
|
43183
|
+
}), object({
|
|
43184
|
+
kind: literal("refused"),
|
|
43185
|
+
reason: TrainingRefusalReasonSchema,
|
|
43186
|
+
detail: string()
|
|
43187
|
+
})]), {
|
|
43188
|
+
kind: "mutation",
|
|
43189
|
+
auth: "admin",
|
|
43190
|
+
timeoutMs: 12e4
|
|
42934
43191
|
}), method(object({}), array(TrainingJobSchema).readonly(), { auth: "admin" }), method(IdInput, TrainingJobSchema.nullable(), { auth: "admin" }), method(IdInput, TrainingJobSchema, {
|
|
42935
43192
|
kind: "mutation",
|
|
42936
43193
|
auth: "admin",
|
|
@@ -48012,6 +48269,36 @@ Object.freeze({
|
|
|
48012
48269
|
addonId: null,
|
|
48013
48270
|
access: "view"
|
|
48014
48271
|
},
|
|
48272
|
+
"oidcConnections.connectionFormSchema": {
|
|
48273
|
+
capName: "oidc-connections",
|
|
48274
|
+
capScope: "system",
|
|
48275
|
+
addonId: null,
|
|
48276
|
+
access: "view"
|
|
48277
|
+
},
|
|
48278
|
+
"oidcConnections.createConnection": {
|
|
48279
|
+
capName: "oidc-connections",
|
|
48280
|
+
capScope: "system",
|
|
48281
|
+
addonId: null,
|
|
48282
|
+
access: "create"
|
|
48283
|
+
},
|
|
48284
|
+
"oidcConnections.deleteConnection": {
|
|
48285
|
+
capName: "oidc-connections",
|
|
48286
|
+
capScope: "system",
|
|
48287
|
+
addonId: null,
|
|
48288
|
+
access: "delete"
|
|
48289
|
+
},
|
|
48290
|
+
"oidcConnections.listConnections": {
|
|
48291
|
+
capName: "oidc-connections",
|
|
48292
|
+
capScope: "system",
|
|
48293
|
+
addonId: null,
|
|
48294
|
+
access: "view"
|
|
48295
|
+
},
|
|
48296
|
+
"oidcConnections.updateConnection": {
|
|
48297
|
+
capName: "oidc-connections",
|
|
48298
|
+
capScope: "system",
|
|
48299
|
+
addonId: null,
|
|
48300
|
+
access: "create"
|
|
48301
|
+
},
|
|
48015
48302
|
"osd.getStatus": {
|
|
48016
48303
|
capName: "osd",
|
|
48017
48304
|
capScope: "device",
|
|
@@ -48084,6 +48371,12 @@ Object.freeze({
|
|
|
48084
48371
|
addonId: null,
|
|
48085
48372
|
access: "create"
|
|
48086
48373
|
},
|
|
48374
|
+
"osdManager.setSlotCameraEnabled": {
|
|
48375
|
+
capName: "osd-manager",
|
|
48376
|
+
capScope: "system",
|
|
48377
|
+
addonId: null,
|
|
48378
|
+
access: "create"
|
|
48379
|
+
},
|
|
48087
48380
|
"osdManager.upsertTemplate": {
|
|
48088
48381
|
capName: "osd-manager",
|
|
48089
48382
|
capScope: "system",
|
|
@@ -48222,12 +48515,6 @@ Object.freeze({
|
|
|
48222
48515
|
addonId: null,
|
|
48223
48516
|
access: "create"
|
|
48224
48517
|
},
|
|
48225
|
-
"pipelineAnalytics.createRetrainDatasetVersion": {
|
|
48226
|
-
capName: "pipeline-analytics",
|
|
48227
|
-
capScope: "device",
|
|
48228
|
-
addonId: null,
|
|
48229
|
-
access: "create"
|
|
48230
|
-
},
|
|
48231
48518
|
"pipelineAnalytics.deleteDeviceEvents": {
|
|
48232
48519
|
capName: "pipeline-analytics",
|
|
48233
48520
|
capScope: "device",
|
|
@@ -48240,12 +48527,6 @@ Object.freeze({
|
|
|
48240
48527
|
addonId: null,
|
|
48241
48528
|
access: "delete"
|
|
48242
48529
|
},
|
|
48243
|
-
"pipelineAnalytics.deleteRetrainDatasetVersion": {
|
|
48244
|
-
capName: "pipeline-analytics",
|
|
48245
|
-
capScope: "device",
|
|
48246
|
-
addonId: null,
|
|
48247
|
-
access: "delete"
|
|
48248
|
-
},
|
|
48249
48530
|
"pipelineAnalytics.deleteTracks": {
|
|
48250
48531
|
capName: "pipeline-analytics",
|
|
48251
48532
|
capScope: "device",
|
|
@@ -48348,6 +48629,12 @@ Object.freeze({
|
|
|
48348
48629
|
addonId: null,
|
|
48349
48630
|
access: "view"
|
|
48350
48631
|
},
|
|
48632
|
+
"pipelineAnalytics.getRetrainCorpusKpi": {
|
|
48633
|
+
capName: "pipeline-analytics",
|
|
48634
|
+
capScope: "device",
|
|
48635
|
+
addonId: null,
|
|
48636
|
+
access: "view"
|
|
48637
|
+
},
|
|
48351
48638
|
"pipelineAnalytics.getRetrainExportUrl": {
|
|
48352
48639
|
capName: "pipeline-analytics",
|
|
48353
48640
|
capScope: "device",
|
|
@@ -48468,7 +48755,7 @@ Object.freeze({
|
|
|
48468
48755
|
addonId: null,
|
|
48469
48756
|
access: "view"
|
|
48470
48757
|
},
|
|
48471
|
-
"pipelineAnalytics.
|
|
48758
|
+
"pipelineAnalytics.listRetrainCorpusPage": {
|
|
48472
48759
|
capName: "pipeline-analytics",
|
|
48473
48760
|
capScope: "device",
|
|
48474
48761
|
addonId: null,
|
|
@@ -48522,12 +48809,6 @@ Object.freeze({
|
|
|
48522
48809
|
addonId: null,
|
|
48523
48810
|
access: "create"
|
|
48524
48811
|
},
|
|
48525
|
-
"pipelineAnalytics.previewRetrainDataset": {
|
|
48526
|
-
capName: "pipeline-analytics",
|
|
48527
|
-
capScope: "device",
|
|
48528
|
-
addonId: null,
|
|
48529
|
-
access: "view"
|
|
48530
|
-
},
|
|
48531
48812
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
48532
48813
|
capName: "pipeline-analytics",
|
|
48533
48814
|
capScope: "device",
|
|
@@ -48606,6 +48887,12 @@ Object.freeze({
|
|
|
48606
48887
|
addonId: null,
|
|
48607
48888
|
access: "create"
|
|
48608
48889
|
},
|
|
48890
|
+
"pipelineAnalytics.resolveRetrainTrainingCorpus": {
|
|
48891
|
+
capName: "pipeline-analytics",
|
|
48892
|
+
capScope: "device",
|
|
48893
|
+
addonId: null,
|
|
48894
|
+
access: "view"
|
|
48895
|
+
},
|
|
48609
48896
|
"pipelineAnalytics.restageRetrainTrack": {
|
|
48610
48897
|
capName: "pipeline-analytics",
|
|
48611
48898
|
capScope: "device",
|
|
@@ -48666,12 +48953,6 @@ Object.freeze({
|
|
|
48666
48953
|
addonId: null,
|
|
48667
48954
|
access: "create"
|
|
48668
48955
|
},
|
|
48669
|
-
"pipelineAnalytics.verifyRetrainDatasetVersion": {
|
|
48670
|
-
capName: "pipeline-analytics",
|
|
48671
|
-
capScope: "device",
|
|
48672
|
-
addonId: null,
|
|
48673
|
-
access: "view"
|
|
48674
|
-
},
|
|
48675
48956
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
48676
48957
|
capName: "pipeline-analytics",
|
|
48677
48958
|
capScope: "device",
|
|
@@ -51066,18 +51347,6 @@ Object.freeze({
|
|
|
51066
51347
|
addonId: null,
|
|
51067
51348
|
access: "create"
|
|
51068
51349
|
},
|
|
51069
|
-
"training.findDatasetVersionIdByName": {
|
|
51070
|
-
capName: "training",
|
|
51071
|
-
capScope: "system",
|
|
51072
|
-
addonId: null,
|
|
51073
|
-
access: "view"
|
|
51074
|
-
},
|
|
51075
|
-
"training.getDatasetVersion": {
|
|
51076
|
-
capName: "training",
|
|
51077
|
-
capScope: "system",
|
|
51078
|
-
addonId: null,
|
|
51079
|
-
access: "view"
|
|
51080
|
-
},
|
|
51081
51350
|
"training.getJob": {
|
|
51082
51351
|
capName: "training",
|
|
51083
51352
|
capScope: "system",
|
|
@@ -51096,12 +51365,6 @@ Object.freeze({
|
|
|
51096
51365
|
addonId: null,
|
|
51097
51366
|
access: "view"
|
|
51098
51367
|
},
|
|
51099
|
-
"training.listDatasetVersions": {
|
|
51100
|
-
capName: "training",
|
|
51101
|
-
capScope: "system",
|
|
51102
|
-
addonId: null,
|
|
51103
|
-
access: "view"
|
|
51104
|
-
},
|
|
51105
51368
|
"training.listJobs": {
|
|
51106
51369
|
capName: "training",
|
|
51107
51370
|
capScope: "system",
|
|
@@ -51114,54 +51377,66 @@ Object.freeze({
|
|
|
51114
51377
|
addonId: null,
|
|
51115
51378
|
access: "view"
|
|
51116
51379
|
},
|
|
51117
|
-
"training.
|
|
51380
|
+
"training.registerResult": {
|
|
51118
51381
|
capName: "training",
|
|
51119
51382
|
capScope: "system",
|
|
51120
51383
|
addonId: null,
|
|
51121
51384
|
access: "create"
|
|
51122
51385
|
},
|
|
51123
|
-
"training.
|
|
51386
|
+
"training.rollbackCanary": {
|
|
51124
51387
|
capName: "training",
|
|
51125
51388
|
capScope: "system",
|
|
51126
51389
|
addonId: null,
|
|
51127
51390
|
access: "create"
|
|
51128
51391
|
},
|
|
51129
|
-
"training.
|
|
51392
|
+
"training.startJob": {
|
|
51130
51393
|
capName: "training",
|
|
51131
51394
|
capScope: "system",
|
|
51132
51395
|
addonId: null,
|
|
51133
|
-
access: "
|
|
51396
|
+
access: "create"
|
|
51134
51397
|
},
|
|
51135
|
-
"training.
|
|
51398
|
+
"training.startJobBatch": {
|
|
51136
51399
|
capName: "training",
|
|
51137
51400
|
capScope: "system",
|
|
51138
51401
|
addonId: null,
|
|
51139
51402
|
access: "create"
|
|
51140
51403
|
},
|
|
51141
|
-
"
|
|
51142
|
-
capName: "training",
|
|
51404
|
+
"trainingProvider.cancelJob": {
|
|
51405
|
+
capName: "training-provider",
|
|
51143
51406
|
capScope: "system",
|
|
51144
51407
|
addonId: null,
|
|
51145
51408
|
access: "create"
|
|
51146
51409
|
},
|
|
51147
|
-
"trainingProvider.
|
|
51410
|
+
"trainingProvider.cleanupJob": {
|
|
51148
51411
|
capName: "training-provider",
|
|
51149
51412
|
capScope: "system",
|
|
51150
51413
|
addonId: null,
|
|
51151
51414
|
access: "create"
|
|
51152
51415
|
},
|
|
51153
|
-
"trainingProvider.
|
|
51416
|
+
"trainingProvider.createEntry": {
|
|
51154
51417
|
capName: "training-provider",
|
|
51155
51418
|
capScope: "system",
|
|
51156
51419
|
addonId: null,
|
|
51157
51420
|
access: "create"
|
|
51158
51421
|
},
|
|
51422
|
+
"trainingProvider.deleteEntry": {
|
|
51423
|
+
capName: "training-provider",
|
|
51424
|
+
capScope: "system",
|
|
51425
|
+
addonId: null,
|
|
51426
|
+
access: "delete"
|
|
51427
|
+
},
|
|
51159
51428
|
"trainingProvider.describe": {
|
|
51160
51429
|
capName: "training-provider",
|
|
51161
51430
|
capScope: "system",
|
|
51162
51431
|
addonId: null,
|
|
51163
51432
|
access: "view"
|
|
51164
51433
|
},
|
|
51434
|
+
"trainingProvider.describeTypes": {
|
|
51435
|
+
capName: "training-provider",
|
|
51436
|
+
capScope: "system",
|
|
51437
|
+
addonId: null,
|
|
51438
|
+
access: "view"
|
|
51439
|
+
},
|
|
51165
51440
|
"trainingProvider.estimateJob": {
|
|
51166
51441
|
capName: "training-provider",
|
|
51167
51442
|
capScope: "system",
|
|
@@ -51174,6 +51449,12 @@ Object.freeze({
|
|
|
51174
51449
|
addonId: null,
|
|
51175
51450
|
access: "view"
|
|
51176
51451
|
},
|
|
51452
|
+
"trainingProvider.listEntries": {
|
|
51453
|
+
capName: "training-provider",
|
|
51454
|
+
capScope: "system",
|
|
51455
|
+
addonId: null,
|
|
51456
|
+
access: "view"
|
|
51457
|
+
},
|
|
51177
51458
|
"trainingProvider.listJobEvents": {
|
|
51178
51459
|
capName: "training-provider",
|
|
51179
51460
|
capScope: "system",
|
|
@@ -51204,6 +51485,12 @@ Object.freeze({
|
|
|
51204
51485
|
addonId: null,
|
|
51205
51486
|
access: "create"
|
|
51206
51487
|
},
|
|
51488
|
+
"trainingProvider.updateEntry": {
|
|
51489
|
+
capName: "training-provider",
|
|
51490
|
+
capScope: "system",
|
|
51491
|
+
addonId: null,
|
|
51492
|
+
access: "create"
|
|
51493
|
+
},
|
|
51207
51494
|
"trainingProvider.uploadDataset": {
|
|
51208
51495
|
capName: "training-provider",
|
|
51209
51496
|
capScope: "system",
|
|
@@ -54410,6 +54697,11 @@ Object.freeze({
|
|
|
54410
54697
|
form: "single",
|
|
54411
54698
|
optional: false
|
|
54412
54699
|
}],
|
|
54700
|
+
"osdManager.setSlotCameraEnabled": [{
|
|
54701
|
+
name: "deviceId",
|
|
54702
|
+
form: "single",
|
|
54703
|
+
optional: false
|
|
54704
|
+
}],
|
|
54413
54705
|
"petFeeder.callPet": [{
|
|
54414
54706
|
name: "deviceId",
|
|
54415
54707
|
form: "single",
|
|
@@ -54630,6 +54922,11 @@ Object.freeze({
|
|
|
54630
54922
|
form: "array",
|
|
54631
54923
|
optional: false
|
|
54632
54924
|
}],
|
|
54925
|
+
"pipelineAnalytics.listRetrainCorpusPage": [{
|
|
54926
|
+
name: "deviceIds",
|
|
54927
|
+
form: "array",
|
|
54928
|
+
optional: true
|
|
54929
|
+
}],
|
|
54633
54930
|
"pipelineAnalytics.listRetrainStaging": [{
|
|
54634
54931
|
name: "deviceIds",
|
|
54635
54932
|
form: "array",
|
|
@@ -55739,6 +56036,7 @@ Object.freeze({
|
|
|
55739
56036
|
});
|
|
55740
56037
|
Object.freeze({
|
|
55741
56038
|
"broker": "broker",
|
|
56039
|
+
"calendar-source": "calendar",
|
|
55742
56040
|
"device-export": "device-export",
|
|
55743
56041
|
"llm": "ai",
|
|
55744
56042
|
"mesh-network": "mesh",
|
|
@@ -55863,6 +56161,9 @@ new Map(Object.entries({
|
|
|
55863
56161
|
"stream-online": "device-events",
|
|
55864
56162
|
"stream-offline": "device-events",
|
|
55865
56163
|
"detection-blind": "device-events",
|
|
56164
|
+
"recording-stalled": "device-events",
|
|
56165
|
+
"recording-healthy": "device-events",
|
|
56166
|
+
"recording-degraded": "device-events",
|
|
55866
56167
|
"node-online": "system",
|
|
55867
56168
|
"node-offline": "system",
|
|
55868
56169
|
"node-restarting": "system",
|
|
@@ -55876,6 +56177,9 @@ new Map(Object.entries({
|
|
|
55876
56177
|
"wrapper-update-available": "system",
|
|
55877
56178
|
"backup-completed": "system",
|
|
55878
56179
|
"export-completed": "system",
|
|
56180
|
+
"storage-location-low": "system",
|
|
56181
|
+
"storage-location-critical": "system",
|
|
56182
|
+
"storage-location-ok": "system",
|
|
55879
56183
|
"alarm-triggered": "alarm",
|
|
55880
56184
|
"alarm-armed": "alarm",
|
|
55881
56185
|
"alarm-disarmed": "alarm",
|
|
@@ -55937,6 +56241,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
55937
56241
|
label: "Detecting nothing",
|
|
55938
56242
|
kinds: ["detection-blind"]
|
|
55939
56243
|
},
|
|
56244
|
+
{
|
|
56245
|
+
id: "recording",
|
|
56246
|
+
family: "device-events",
|
|
56247
|
+
label: "Recording",
|
|
56248
|
+
kinds: [
|
|
56249
|
+
"recording-stalled",
|
|
56250
|
+
"recording-healthy",
|
|
56251
|
+
"recording-degraded"
|
|
56252
|
+
]
|
|
56253
|
+
},
|
|
55940
56254
|
{
|
|
55941
56255
|
id: "nodes",
|
|
55942
56256
|
family: "system",
|
|
@@ -55977,6 +56291,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
55977
56291
|
label: "Backups & exports",
|
|
55978
56292
|
kinds: ["backup-completed", "export-completed"]
|
|
55979
56293
|
},
|
|
56294
|
+
{
|
|
56295
|
+
id: "storage",
|
|
56296
|
+
family: "system",
|
|
56297
|
+
label: "Storage locations",
|
|
56298
|
+
kinds: [
|
|
56299
|
+
"storage-location-low",
|
|
56300
|
+
"storage-location-critical",
|
|
56301
|
+
"storage-location-ok"
|
|
56302
|
+
]
|
|
56303
|
+
},
|
|
55980
56304
|
{
|
|
55981
56305
|
id: "alarm",
|
|
55982
56306
|
family: "alarm",
|
|
@@ -56059,6 +56383,9 @@ var DEVICE_EVENTS = [
|
|
|
56059
56383
|
"stream-online",
|
|
56060
56384
|
"stream-offline",
|
|
56061
56385
|
"detection-blind",
|
|
56386
|
+
"recording-stalled",
|
|
56387
|
+
"recording-healthy",
|
|
56388
|
+
"recording-degraded",
|
|
56062
56389
|
...ALARM
|
|
56063
56390
|
];
|
|
56064
56391
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -56226,6 +56553,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
56226
56553
|
[...RULE_TEXT],
|
|
56227
56554
|
[...RULE_TEXT],
|
|
56228
56555
|
[...RULE_TEXT],
|
|
56556
|
+
[...RULE_TEXT],
|
|
56557
|
+
[...RULE_TEXT],
|
|
56558
|
+
[...RULE_TEXT],
|
|
56559
|
+
[...RULE_TEXT],
|
|
56560
|
+
[...RULE_TEXT],
|
|
56229
56561
|
([...RULE_TEXT], [...UPDATES]),
|
|
56230
56562
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
56231
56563
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|