@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.mjs
CHANGED
|
@@ -8,7 +8,7 @@ import { createServer } from "node:http";
|
|
|
8
8
|
//#region \0rolldown/runtime.js
|
|
9
9
|
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
10
|
//#endregion
|
|
11
|
-
//#region ../types/dist/event-category-
|
|
11
|
+
//#region ../types/dist/event-category-C4hVnRo8.mjs
|
|
12
12
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
13
13
|
EventCategory["SystemBoot"] = "system.boot";
|
|
14
14
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -227,7 +227,17 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
227
227
|
EventCategory["RecordingStopped"] = "recording.stopped";
|
|
228
228
|
EventCategory["RecordingError"] = "recording.error";
|
|
229
229
|
EventCategory["RecordingHealthDegraded"] = "recording.health.degraded";
|
|
230
|
+
/** Recording enabled but no segment finalized for the NC stall window. */
|
|
231
|
+
EventCategory["RecordingHealthStalled"] = "recording.health.stalled";
|
|
232
|
+
/** Recovery from {@link RecordingHealthStalled}. */
|
|
233
|
+
EventCategory["RecordingHealthOk"] = "recording.health.ok";
|
|
230
234
|
EventCategory["RecordingStorageCritical"] = "recording.storage.critical";
|
|
235
|
+
/** Free space on a storage location crossed the warn bar. */
|
|
236
|
+
EventCategory["StorageLocationLow"] = "storage.location.low";
|
|
237
|
+
/** Free space at/under the critical bar, or capacity probe failed (`null`). */
|
|
238
|
+
EventCategory["StorageLocationCritical"] = "storage.location.critical";
|
|
239
|
+
/** Recovery from low/critical on a storage location. */
|
|
240
|
+
EventCategory["StorageLocationOk"] = "storage.location.ok";
|
|
231
241
|
EventCategory["RecordingSegmentWritten"] = "recording.segment.written";
|
|
232
242
|
EventCategory["RecordingPolicyFallback"] = "recording.policy.fallback";
|
|
233
243
|
EventCategory["RecordingRetentionCompleted"] = "recording.retention.completed";
|
|
@@ -5386,7 +5396,7 @@ var ZodIssueCode = {
|
|
|
5386
5396
|
var ZodFirstPartyTypeKind;
|
|
5387
5397
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5388
5398
|
//#endregion
|
|
5389
|
-
//#region ../types/dist/sleep-
|
|
5399
|
+
//#region ../types/dist/sleep-Tkp9dHXv.mjs
|
|
5390
5400
|
/**
|
|
5391
5401
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5392
5402
|
* window to float samples (D455).
|
|
@@ -9451,6 +9461,16 @@ var CompositionSchema = object({
|
|
|
9451
9461
|
seen.add(feature.cap);
|
|
9452
9462
|
});
|
|
9453
9463
|
});
|
|
9464
|
+
var NodeColorIdSchema = _enum([
|
|
9465
|
+
"node-a",
|
|
9466
|
+
"node-b",
|
|
9467
|
+
"node-c",
|
|
9468
|
+
"node-d",
|
|
9469
|
+
"node-e",
|
|
9470
|
+
"node-f",
|
|
9471
|
+
"node-g",
|
|
9472
|
+
"node-h"
|
|
9473
|
+
]);
|
|
9454
9474
|
new Set([
|
|
9455
9475
|
"track",
|
|
9456
9476
|
"face",
|
|
@@ -13693,7 +13713,14 @@ var BrokerProviderInfoSchema = object({
|
|
|
13693
13713
|
/** Broker kinds this provider can create, with a display label. */
|
|
13694
13714
|
kinds: array(object({
|
|
13695
13715
|
kind: string(),
|
|
13696
|
-
label: string()
|
|
13716
|
+
label: string(),
|
|
13717
|
+
/**
|
|
13718
|
+
* Relative hub path to start an interactive account link (OAuth popup).
|
|
13719
|
+
* May include `{{brokerId}}`; admin-ui substitutes and appends `?popup=1`.
|
|
13720
|
+
*/
|
|
13721
|
+
interactiveConnectPath: string().min(1).optional(),
|
|
13722
|
+
/** Relative hub path to disconnect the linked account (same popup pattern). */
|
|
13723
|
+
interactiveDisconnectPath: string().min(1).optional()
|
|
13697
13724
|
}))
|
|
13698
13725
|
});
|
|
13699
13726
|
var ListInputSchema = object({
|
|
@@ -18431,14 +18458,14 @@ var LlmProfileSchema = object({
|
|
|
18431
18458
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
18432
18459
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
18433
18460
|
* notification-output.cap.ts:151); the exported TS type re-tightens it. */
|
|
18434
|
-
var ConfigSchemaPassthrough$
|
|
18461
|
+
var ConfigSchemaPassthrough$3 = unknown();
|
|
18435
18462
|
var LlmProfileKindDescriptorSchema = object({
|
|
18436
18463
|
kind: LlmProfileKindSchema,
|
|
18437
18464
|
label: string(),
|
|
18438
18465
|
icon: string(),
|
|
18439
18466
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
18440
18467
|
addonId: string(),
|
|
18441
|
-
configSchema: ConfigSchemaPassthrough$
|
|
18468
|
+
configSchema: ConfigSchemaPassthrough$3
|
|
18442
18469
|
});
|
|
18443
18470
|
var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
|
|
18444
18471
|
var LlmDefaultSchema = object({
|
|
@@ -19559,7 +19586,7 @@ var TargetKindCapsSchema = object({
|
|
|
19559
19586
|
* the union is large and not meant for runtime validation here; the exported
|
|
19560
19587
|
* `TargetKind` type re-tightens `configSchema` to `ConfigUISchema`.
|
|
19561
19588
|
*/
|
|
19562
|
-
var ConfigSchemaPassthrough = unknown();
|
|
19589
|
+
var ConfigSchemaPassthrough$2 = unknown();
|
|
19563
19590
|
var TargetKindSchema = object({
|
|
19564
19591
|
kind: string(),
|
|
19565
19592
|
label: string(),
|
|
@@ -19596,7 +19623,7 @@ var TargetKindSchema = object({
|
|
|
19596
19623
|
* its raster path, which is the safe default for an unknown image.
|
|
19597
19624
|
*/
|
|
19598
19625
|
iconMediaType: string().optional(),
|
|
19599
|
-
configSchema: ConfigSchemaPassthrough,
|
|
19626
|
+
configSchema: ConfigSchemaPassthrough$2,
|
|
19600
19627
|
/**
|
|
19601
19628
|
* The config keys that decide WHERE this kind's secrets are sent (server,
|
|
19602
19629
|
* base URL, instance, chat, recipient). A save that changes any of them
|
|
@@ -20553,6 +20580,12 @@ var NcSystemEventKindSchema = _enum([
|
|
|
20553
20580
|
"node-updating",
|
|
20554
20581
|
"node-inference-unavailable",
|
|
20555
20582
|
"detection-blind",
|
|
20583
|
+
"recording-stalled",
|
|
20584
|
+
"recording-healthy",
|
|
20585
|
+
"recording-degraded",
|
|
20586
|
+
"storage-location-low",
|
|
20587
|
+
"storage-location-critical",
|
|
20588
|
+
"storage-location-ok",
|
|
20556
20589
|
"addon-crash-loop",
|
|
20557
20590
|
"addon-update-available",
|
|
20558
20591
|
"server-update-available",
|
|
@@ -22933,6 +22966,61 @@ var OauthIntegrationDescriptorSchema = object({
|
|
|
22933
22966
|
});
|
|
22934
22967
|
method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
|
|
22935
22968
|
/**
|
|
22969
|
+
* `oidc-connections` — CRUD for IdP rows under `auth-oidc` (D828 sibling).
|
|
22970
|
+
*
|
|
22971
|
+
* One hub-only singleton (`auth-oidc`). The Settings UI is a DataTable +
|
|
22972
|
+
* ItemFormDialog; there is no `editable-array` in `globalSettingsSchema`.
|
|
22973
|
+
* Operator-chosen `id` is the URL slug (`/addon/auth-oidc/<id>/…`) and is
|
|
22974
|
+
* immutable after create.
|
|
22975
|
+
*/
|
|
22976
|
+
var ConfigSchemaPassthrough$1 = unknown();
|
|
22977
|
+
var OidcConnectionSchema = object({
|
|
22978
|
+
id: string().min(1),
|
|
22979
|
+
displayName: string(),
|
|
22980
|
+
icon: string(),
|
|
22981
|
+
issuerUrl: string(),
|
|
22982
|
+
clientId: string(),
|
|
22983
|
+
/** Client id + secret present — never the secret value. */
|
|
22984
|
+
configured: boolean(),
|
|
22985
|
+
/**
|
|
22986
|
+
* Values for the connection form schema. `clientSecret` is a keychain
|
|
22987
|
+
* {@link SecretFieldView} or `null` / `''`, never plaintext (D789).
|
|
22988
|
+
*/
|
|
22989
|
+
formValues: record(string(), unknown()).optional()
|
|
22990
|
+
});
|
|
22991
|
+
/**
|
|
22992
|
+
* Patch one connection. Omitted or empty `clientSecret` keeps the stored
|
|
22993
|
+
* secret (D787). `{ $secretClear: true }` clears it. `id` is never renamed.
|
|
22994
|
+
*/
|
|
22995
|
+
var OidcConnectionUpdateInputSchema = object({
|
|
22996
|
+
id: string().min(1),
|
|
22997
|
+
displayName: string().min(1),
|
|
22998
|
+
icon: string().optional(),
|
|
22999
|
+
issuerUrl: string().optional(),
|
|
23000
|
+
clientId: string().optional(),
|
|
23001
|
+
clientSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
|
|
23002
|
+
redirectUri: string().optional(),
|
|
23003
|
+
scopes: string().optional(),
|
|
23004
|
+
usernameClaim: _enum([
|
|
23005
|
+
"preferred_username",
|
|
23006
|
+
"email",
|
|
23007
|
+
"sub"
|
|
23008
|
+
]).optional()
|
|
23009
|
+
});
|
|
23010
|
+
method(object({}), ConfigSchemaPassthrough$1, { auth: "admin" }), method(object({}), array(OidcConnectionSchema).readonly(), { auth: "admin" }), method(object({
|
|
23011
|
+
id: string().min(1).regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "id must be a lowercase slug"),
|
|
23012
|
+
displayName: string().min(1)
|
|
23013
|
+
}), object({ id: string() }), {
|
|
23014
|
+
kind: "mutation",
|
|
23015
|
+
auth: "admin"
|
|
23016
|
+
}), method(OidcConnectionUpdateInputSchema, object({ ok: literal(true) }), {
|
|
23017
|
+
kind: "mutation",
|
|
23018
|
+
auth: "admin"
|
|
23019
|
+
}), method(object({ id: string().min(1) }), object({ ok: literal(true) }), {
|
|
23020
|
+
kind: "mutation",
|
|
23021
|
+
auth: "admin"
|
|
23022
|
+
});
|
|
23023
|
+
/**
|
|
22936
23024
|
* What started a camera's onboard motion (D672). `camera` is the camera's own
|
|
22937
23025
|
* firmware; `sensor` is a device the operator ATTACHED to it. Absent on the
|
|
22938
23026
|
* wire means the camera: only the camera-sensors bridge ever says `sensor`.
|
|
@@ -24289,24 +24377,69 @@ var RetrainFrameListSchema = object({
|
|
|
24289
24377
|
/** What the page pre-selects — the native key frame when one survives. */
|
|
24290
24378
|
autoPickMediaId: number().int().optional()
|
|
24291
24379
|
});
|
|
24380
|
+
/** Exclusive partition of a corpus copy's annotation progress (design §4.2). */
|
|
24381
|
+
var RetrainFrameWorkStateSchema = _enum([
|
|
24382
|
+
"unannotated",
|
|
24383
|
+
"annotated",
|
|
24384
|
+
"complete"
|
|
24385
|
+
]);
|
|
24386
|
+
/**
|
|
24387
|
+
* Filters for paginated corpus list, KPI, and matching export (design §4.4).
|
|
24388
|
+
* Every narrowing field is ANDed; omitted fields impose no constraint.
|
|
24389
|
+
*/
|
|
24390
|
+
var RetrainCorpusFilterSchema = object({
|
|
24391
|
+
workState: RetrainFrameWorkStateSchema.optional(),
|
|
24392
|
+
deviceIds: array(number()).max(500).optional(),
|
|
24393
|
+
/** When set, only frames in this named collection. */
|
|
24394
|
+
collectionId: string().optional(),
|
|
24395
|
+
/** Frames that carry at least one saved annotation in one of these classes. */
|
|
24396
|
+
classes: array(RetrainMacroClassSchema).optional(),
|
|
24397
|
+
page: number().int().positive().default(1),
|
|
24398
|
+
pageSize: number().int().positive().max(100).default(50)
|
|
24399
|
+
});
|
|
24400
|
+
var RetrainCorpusPageSchema = object({
|
|
24401
|
+
frames: array(RetrainFrameSchema.extend({ workState: RetrainFrameWorkStateSchema })).readonly(),
|
|
24402
|
+
total: number().int().nonnegative(),
|
|
24403
|
+
page: number().int().positive(),
|
|
24404
|
+
pageSize: number().int().positive()
|
|
24405
|
+
});
|
|
24406
|
+
var RetrainCorpusKpiCameraRowSchema = object({
|
|
24407
|
+
deviceId: number(),
|
|
24408
|
+
unannotated: number().int().nonnegative(),
|
|
24409
|
+
annotated: number().int().nonnegative(),
|
|
24410
|
+
complete: number().int().nonnegative(),
|
|
24411
|
+
/** This camera's `complete` count divided by corpus `total`, in `[0,1]`.
|
|
24412
|
+
* `null` when the corpus is empty (no ratio). */
|
|
24413
|
+
pctOfCorpus: number().min(0).max(1).nullable()
|
|
24414
|
+
});
|
|
24415
|
+
var RetrainCorpusKpiSchema = object({
|
|
24416
|
+
total: number().int().nonnegative(),
|
|
24417
|
+
unannotated: number().int().nonnegative(),
|
|
24418
|
+
annotated: number().int().nonnegative(),
|
|
24419
|
+
complete: number().int().nonnegative(),
|
|
24420
|
+
cameras: array(RetrainCorpusKpiCameraRowSchema).readonly()
|
|
24421
|
+
});
|
|
24292
24422
|
/**
|
|
24293
24423
|
* Which frames an annotated export carries. Every field narrows; an empty
|
|
24294
|
-
* filter is every annotated copy.
|
|
24295
|
-
*
|
|
24296
|
-
*
|
|
24297
|
-
*
|
|
24424
|
+
* filter is every annotated copy. `frameIds` is the primitive a job or
|
|
24425
|
+
* download uses; `batchId` re-selects what an earlier export carried
|
|
24426
|
+
* (`exportedInBatch`). Frozen dataset versions were removed — live selection
|
|
24427
|
+
* resolves to `frameIds` at plan/start.
|
|
24298
24428
|
*/
|
|
24299
24429
|
var RetrainExportFilterSchema = object({
|
|
24300
24430
|
deviceIds: array(number()).optional(),
|
|
24301
24431
|
frameIds: array(string()).max(2e4).optional(),
|
|
24302
24432
|
/** Only frames in at least one of these named collections. */
|
|
24303
24433
|
collectionIds: array(string()).max(200).optional(),
|
|
24304
|
-
/**
|
|
24305
|
-
|
|
24306
|
-
datasetVersionId: string().optional(),
|
|
24434
|
+
/** Single collection (Frames filter bar). ANDed with `collectionIds` when both set. */
|
|
24435
|
+
collectionId: string().optional(),
|
|
24307
24436
|
batchId: string().optional(),
|
|
24308
24437
|
/** Only frames the operator marked complete (all subjects boxed). */
|
|
24309
|
-
completeOnly: boolean().optional()
|
|
24438
|
+
completeOnly: boolean().optional(),
|
|
24439
|
+
/** Exclusive work-state partition (`workStateOf`); same as the corpus list. */
|
|
24440
|
+
workState: RetrainFrameWorkStateSchema.optional(),
|
|
24441
|
+
/** Frames with at least one saved annotation in one of these classes. */
|
|
24442
|
+
classes: array(RetrainMacroClassSchema).optional()
|
|
24310
24443
|
});
|
|
24311
24444
|
/**
|
|
24312
24445
|
* `frames`: the full frame copies, boxes in `annotations.json`.
|
|
@@ -24506,8 +24639,7 @@ var RetrainDatasetStatsSchema = object({
|
|
|
24506
24639
|
completeFrames: number().int()
|
|
24507
24640
|
})).readonly()
|
|
24508
24641
|
});
|
|
24509
|
-
|
|
24510
|
-
var RetrainDatasetVersionSchema = object({
|
|
24642
|
+
object({
|
|
24511
24643
|
id: string(),
|
|
24512
24644
|
name: string(),
|
|
24513
24645
|
createdAt: number(),
|
|
@@ -24515,22 +24647,33 @@ var RetrainDatasetVersionSchema = object({
|
|
|
24515
24647
|
layout: RetrainExportLayoutSchema,
|
|
24516
24648
|
completeOnly: boolean(),
|
|
24517
24649
|
frameCount: number().int(),
|
|
24518
|
-
/** sha256 of what the frames taught when the version was frozen. */
|
|
24519
24650
|
annotationHash: string(),
|
|
24520
|
-
/** The export manifest schema the version was cut under. */
|
|
24521
24651
|
manifestSchema: string(),
|
|
24522
24652
|
stats: RetrainDatasetStatsSchema
|
|
24523
24653
|
});
|
|
24524
|
-
|
|
24525
|
-
|
|
24526
|
-
|
|
24654
|
+
/**
|
|
24655
|
+
* Live training corpus criteria — same shape as `TrainingCorpusSelection` on
|
|
24656
|
+
* the training cap. Resolved here so plan/start and the annotated export share
|
|
24657
|
+
* one definition of "the frames" (`buildRetrainExportPlan`).
|
|
24658
|
+
*/
|
|
24659
|
+
var RetrainTrainingCorpusSelectionSchema = object({
|
|
24660
|
+
collectionIds: array(string()).min(1),
|
|
24661
|
+
workState: _enum([
|
|
24662
|
+
"complete",
|
|
24663
|
+
"annotated_or_complete",
|
|
24664
|
+
"any_annotated"
|
|
24665
|
+
]).default("complete")
|
|
24666
|
+
});
|
|
24667
|
+
var RetrainTrainingCorpusResolveResultSchema = discriminatedUnion("kind", [object({
|
|
24668
|
+
kind: literal("resolved"),
|
|
24669
|
+
frameIds: array(string()).max(2e4).readonly(),
|
|
24670
|
+
stats: RetrainDatasetStatsSchema,
|
|
24671
|
+
annotationHash: string(),
|
|
24672
|
+
layout: RetrainExportLayoutSchema
|
|
24527
24673
|
}), object({
|
|
24528
24674
|
kind: literal("refused"),
|
|
24529
|
-
reason: _enum([
|
|
24530
|
-
|
|
24531
|
-
"duplicate-name",
|
|
24532
|
-
"no-frames"
|
|
24533
|
-
])
|
|
24675
|
+
reason: _enum(["unknown-collection", "no-frames"]),
|
|
24676
|
+
detail: string()
|
|
24534
24677
|
})]);
|
|
24535
24678
|
/** The outcome of a lifecycle move owned by the retrain page. */
|
|
24536
24679
|
var RetrainTransitionResultSchema = object({
|
|
@@ -25237,6 +25380,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25237
25380
|
}), array(RetrainTrackSchema).readonly(), {
|
|
25238
25381
|
kind: "query",
|
|
25239
25382
|
auth: "admin"
|
|
25383
|
+
}), method(RetrainCorpusFilterSchema, RetrainCorpusPageSchema, {
|
|
25384
|
+
kind: "query",
|
|
25385
|
+
auth: "admin"
|
|
25386
|
+
}), method(object({}), RetrainCorpusKpiSchema, {
|
|
25387
|
+
kind: "query",
|
|
25388
|
+
auth: "admin"
|
|
25240
25389
|
}), method(object({ trackId: string() }), RetrainFrameListSchema, {
|
|
25241
25390
|
kind: "query",
|
|
25242
25391
|
auth: "admin"
|
|
@@ -25332,36 +25481,6 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25332
25481
|
kind: "mutation",
|
|
25333
25482
|
auth: "admin",
|
|
25334
25483
|
timeoutMs: 12e4
|
|
25335
|
-
}), method(object({
|
|
25336
|
-
selection: RetrainDatasetSelectionSchema,
|
|
25337
|
-
completeOnly: boolean().optional()
|
|
25338
|
-
}), RetrainDatasetStatsSchema, {
|
|
25339
|
-
kind: "query",
|
|
25340
|
-
auth: "admin"
|
|
25341
|
-
}), method(object({
|
|
25342
|
-
name: string().max(120),
|
|
25343
|
-
selection: RetrainDatasetSelectionSchema,
|
|
25344
|
-
layout: RetrainExportLayoutSchema,
|
|
25345
|
-
completeOnly: boolean()
|
|
25346
|
-
}), CreateRetrainDatasetVersionResultSchema, {
|
|
25347
|
-
kind: "mutation",
|
|
25348
|
-
auth: "admin",
|
|
25349
|
-
timeoutMs: 12e4
|
|
25350
|
-
}), method(object({}), array(RetrainDatasetVersionSchema).readonly(), {
|
|
25351
|
-
kind: "query",
|
|
25352
|
-
auth: "admin"
|
|
25353
|
-
}), method(object({ id: string() }), object({ deleted: boolean() }), {
|
|
25354
|
-
kind: "mutation",
|
|
25355
|
-
auth: "admin"
|
|
25356
|
-
}), method(object({ id: string() }), object({
|
|
25357
|
-
found: boolean(),
|
|
25358
|
-
annotationHash: string(),
|
|
25359
|
-
matches: boolean(),
|
|
25360
|
-
missingFrames: number().int()
|
|
25361
|
-
}), {
|
|
25362
|
-
kind: "query",
|
|
25363
|
-
auth: "admin",
|
|
25364
|
-
timeoutMs: 12e4
|
|
25365
25484
|
}), method(object({}), array(RetrainAssistProfileSchema).readonly(), {
|
|
25366
25485
|
kind: "query",
|
|
25367
25486
|
auth: "admin"
|
|
@@ -25388,6 +25507,10 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
|
|
|
25388
25507
|
}), method(object({}), array(RetrainCollectionSchema).readonly(), {
|
|
25389
25508
|
kind: "query",
|
|
25390
25509
|
auth: "admin"
|
|
25510
|
+
}), method(RetrainTrainingCorpusSelectionSchema, RetrainTrainingCorpusResolveResultSchema, {
|
|
25511
|
+
kind: "query",
|
|
25512
|
+
auth: "admin",
|
|
25513
|
+
timeoutMs: 6e4
|
|
25391
25514
|
}), method(object({
|
|
25392
25515
|
id: string(),
|
|
25393
25516
|
name: string().max(120)
|
|
@@ -26004,11 +26127,14 @@ var HardwareClassIdSchema = _enum([
|
|
|
26004
26127
|
"intel-n-series",
|
|
26005
26128
|
"apple-m-base",
|
|
26006
26129
|
"apple-m-pro",
|
|
26130
|
+
"amd-phoenix",
|
|
26007
26131
|
"unknown"
|
|
26008
26132
|
]);
|
|
26009
26133
|
var AcceleratorKindSchema = _enum([
|
|
26010
26134
|
"intel-npu",
|
|
26011
26135
|
"intel-igpu",
|
|
26136
|
+
"amd-igpu",
|
|
26137
|
+
"amd-npu",
|
|
26012
26138
|
"x86-cpu",
|
|
26013
26139
|
"arm-cpu",
|
|
26014
26140
|
"apple-ane",
|
|
@@ -27938,6 +28064,8 @@ var AgentPipelineSettingsSchema = object({
|
|
|
27938
28064
|
* address is wrong (multi-homed host, NAT, custom interface).
|
|
27939
28065
|
*/
|
|
27940
28066
|
reachableHost: string().optional(),
|
|
28067
|
+
/** Hub-persisted UI colour (`--color-node-*` theme tokens). */
|
|
28068
|
+
color: NodeColorIdSchema.optional(),
|
|
27941
28069
|
/**
|
|
27942
28070
|
* Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
|
|
27943
28071
|
* weight, steps}. Absent / all-disabled ⇒ the node's single default
|
|
@@ -28487,8 +28615,9 @@ method(object({
|
|
|
28487
28615
|
auth: "admin"
|
|
28488
28616
|
}), method(object({
|
|
28489
28617
|
agentNodeId: string(),
|
|
28490
|
-
reachableHost: string().nullable()
|
|
28491
|
-
|
|
28618
|
+
reachableHost: string().nullable().optional(),
|
|
28619
|
+
color: NodeColorIdSchema.nullable().optional()
|
|
28620
|
+
}).refine((v) => v.reachableHost !== void 0 || v.color !== void 0, { message: "reachableHost or color required" }), object({ success: literal(true) }), {
|
|
28492
28621
|
kind: "mutation",
|
|
28493
28622
|
auth: "admin"
|
|
28494
28623
|
}), method(object({
|
|
@@ -31712,7 +31841,7 @@ var CustomActionInputSchema = object({
|
|
|
31712
31841
|
action: string().min(1),
|
|
31713
31842
|
input: unknown()
|
|
31714
31843
|
});
|
|
31715
|
-
method(
|
|
31844
|
+
method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSchema).readonly()), method(object({
|
|
31716
31845
|
addonId: string(),
|
|
31717
31846
|
limit: number().min(1).max(500).default(100),
|
|
31718
31847
|
level: LogLevelSchema$2.optional()
|
|
@@ -37193,6 +37322,7 @@ var OsdNamedTemplateSchema = object({
|
|
|
37193
37322
|
});
|
|
37194
37323
|
/** Where a slot's value comes from. */
|
|
37195
37324
|
var OsdSourceSchema = discriminatedUnion("kind", [
|
|
37325
|
+
object({ kind: literal("none") }),
|
|
37196
37326
|
object({
|
|
37197
37327
|
kind: literal("static"),
|
|
37198
37328
|
text: string().max(64)
|
|
@@ -37319,6 +37449,13 @@ method(object({ deviceId: number().int() }), object({
|
|
|
37319
37449
|
}), object({ success: literal(true) }), {
|
|
37320
37450
|
kind: "mutation",
|
|
37321
37451
|
auth: "admin"
|
|
37452
|
+
}), method(object({
|
|
37453
|
+
deviceId: number().int(),
|
|
37454
|
+
slotId: string().min(1),
|
|
37455
|
+
enabled: boolean()
|
|
37456
|
+
}), object({ success: literal(true) }), {
|
|
37457
|
+
kind: "mutation",
|
|
37458
|
+
auth: "admin"
|
|
37322
37459
|
}), method(object({
|
|
37323
37460
|
sourceDeviceId: number().int(),
|
|
37324
37461
|
targetDeviceId: number().int()
|
|
@@ -37750,7 +37887,15 @@ var GpuInfoSchema = object({
|
|
|
37750
37887
|
name: string(),
|
|
37751
37888
|
memoryMB: number().optional()
|
|
37752
37889
|
});
|
|
37753
|
-
var NpuInfoSchema = object({
|
|
37890
|
+
var NpuInfoSchema = object({
|
|
37891
|
+
type: _enum([
|
|
37892
|
+
"apple-ane",
|
|
37893
|
+
"intel-npu",
|
|
37894
|
+
"amd-xdna"
|
|
37895
|
+
]),
|
|
37896
|
+
name: string().optional(),
|
|
37897
|
+
generation: _enum(["xdna1", "xdna2"]).optional()
|
|
37898
|
+
});
|
|
37754
37899
|
var CoralInfoSchema = object({
|
|
37755
37900
|
type: literal("coral-edgetpu"),
|
|
37756
37901
|
bus: string().optional()
|
|
@@ -42493,9 +42638,11 @@ var zoneRulesCapability = {
|
|
|
42493
42638
|
* once is what makes a second provider (RunPod, a local NVIDIA node) a new
|
|
42494
42639
|
* manifest entry and nothing else.
|
|
42495
42640
|
*
|
|
42496
|
-
* Collection
|
|
42497
|
-
*
|
|
42498
|
-
*
|
|
42641
|
+
* Collection of provider **types** (addons). Each addon owns zero or more
|
|
42642
|
+
* **entries** (credentials + defaults). Concat-fans: `describe`,
|
|
42643
|
+
* `describeTypes`, `listEntries`, `listJobs`. Single-row work is keyed by
|
|
42644
|
+
* `entryId`; callers also pass the owning `addonId` as the collection
|
|
42645
|
+
* selector (broker posture). Every method is `admin`: these spend money.
|
|
42499
42646
|
*
|
|
42500
42647
|
* Every cloud object a provider creates is tagged with the orchestrator's
|
|
42501
42648
|
* `jobKey`, so a retried submit finds the job it already started instead of
|
|
@@ -42519,8 +42666,8 @@ var TrainingRegionOptionSchema = object({
|
|
|
42519
42666
|
priceMultiplier: number().positive()
|
|
42520
42667
|
});
|
|
42521
42668
|
/**
|
|
42522
|
-
* The provider's per-
|
|
42523
|
-
* live
|
|
42669
|
+
* The provider's per-entry settings, as the orchestrator reads them. They
|
|
42670
|
+
* live on the PROVIDER addon's entry (operator decision 2026-10-08: they
|
|
42524
42671
|
* depend on the user's account), never hard-coded in the orchestrator.
|
|
42525
42672
|
*/
|
|
42526
42673
|
var TrainingProviderDefaultsSchema = object({
|
|
@@ -42531,9 +42678,44 @@ var TrainingProviderDefaultsSchema = object({
|
|
|
42531
42678
|
/** Hours a FAILED job's cloud dataset is kept for debugging; 0 = delete at once. */
|
|
42532
42679
|
failedDatasetGraceHours: number().nonnegative()
|
|
42533
42680
|
});
|
|
42681
|
+
/**
|
|
42682
|
+
* Entry form schema for a provider type — same seam as notification
|
|
42683
|
+
* `TargetKind.configSchema` (`z.unknown()` at the wire; callers tighten to
|
|
42684
|
+
* {@link ConfigUISchema}). Drives `ConfigFormBuilder` on Training → Providers.
|
|
42685
|
+
*/
|
|
42686
|
+
var ConfigSchemaPassthrough = unknown();
|
|
42687
|
+
/** One creatable provider type, for the Add-entry dialog. */
|
|
42688
|
+
var TrainingProviderTypeSchema = object({
|
|
42689
|
+
typeId: string(),
|
|
42690
|
+
label: string(),
|
|
42691
|
+
/** Path under the addon package (e.g. `assets/training-modal/icon.svg`). */
|
|
42692
|
+
iconAsset: string(),
|
|
42693
|
+
/** Owning `training-provider` addon — collection selector for createEntry. */
|
|
42694
|
+
addonId: string(),
|
|
42695
|
+
/**
|
|
42696
|
+
* Fields for one entry of this type (credentials + defaults). Absent on a
|
|
42697
|
+
* type that only needs a name. Password fields are keychain-backed on the
|
|
42698
|
+
* provider addon (`secretStatePaths`), not D634 plaintext.
|
|
42699
|
+
*/
|
|
42700
|
+
configSchema: ConfigSchemaPassthrough.optional()
|
|
42701
|
+
});
|
|
42702
|
+
/** One configured account / workspace under a provider type. */
|
|
42703
|
+
var TrainingProviderEntrySchema = object({
|
|
42704
|
+
entryId: string(),
|
|
42705
|
+
typeId: string(),
|
|
42706
|
+
name: string(),
|
|
42707
|
+
addonId: string(),
|
|
42708
|
+
/** Credentials are present — never the values. */
|
|
42709
|
+
configured: boolean()
|
|
42710
|
+
});
|
|
42534
42711
|
var TrainingProviderDescriptorSchema = object({
|
|
42535
42712
|
addonId: string(),
|
|
42536
|
-
|
|
42713
|
+
entryId: string(),
|
|
42714
|
+
typeId: string(),
|
|
42715
|
+
/** Operator-chosen entry name. */
|
|
42716
|
+
name: string(),
|
|
42717
|
+
iconAsset: string(),
|
|
42718
|
+
/** `modal`, `runpod`, `fake`, … — same as typeId for current providers. */
|
|
42537
42719
|
kind: string(),
|
|
42538
42720
|
label: string(),
|
|
42539
42721
|
gpuTypes: array(TrainingGpuOptionSchema).readonly(),
|
|
@@ -42545,7 +42727,30 @@ var TrainingProviderDescriptorSchema = object({
|
|
|
42545
42727
|
dataResidencyNote: string(),
|
|
42546
42728
|
/** Credentials are present — never the values. */
|
|
42547
42729
|
configured: boolean(),
|
|
42548
|
-
defaults: TrainingProviderDefaultsSchema
|
|
42730
|
+
defaults: TrainingProviderDefaultsSchema,
|
|
42731
|
+
/**
|
|
42732
|
+
* Values for {@link TrainingProviderTypeSchema}'s `configSchema` — password
|
|
42733
|
+
* fields are keychain {@link SecretFieldView} or `null` / `''` (create),
|
|
42734
|
+
* never plaintext. Same hydrate contract as settings forms (D789).
|
|
42735
|
+
*/
|
|
42736
|
+
formValues: record(string(), unknown()).optional()
|
|
42737
|
+
});
|
|
42738
|
+
/**
|
|
42739
|
+
* Patch one entry's name, credentials and defaults. Pin with owning `{ addonId }`.
|
|
42740
|
+
* An omitted or empty `tokenSecret` means KEEP the stored secret (D787).
|
|
42741
|
+
* `{ $secretClear: true }` clears it.
|
|
42742
|
+
*/
|
|
42743
|
+
var TrainingProviderUpdateEntryInputSchema = object({
|
|
42744
|
+
entryId: string().min(1),
|
|
42745
|
+
name: string().min(1),
|
|
42746
|
+
tokenId: string().optional(),
|
|
42747
|
+
tokenSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
|
|
42748
|
+
environment: string().optional(),
|
|
42749
|
+
gpuType: string().optional(),
|
|
42750
|
+
region: string().optional(),
|
|
42751
|
+
costCapUsd: number().nonnegative().optional(),
|
|
42752
|
+
maxRuntimeSec: number().int().positive().optional(),
|
|
42753
|
+
failedDatasetGraceHours: number().nonnegative().optional()
|
|
42549
42754
|
});
|
|
42550
42755
|
var TrainingCredentialCheckSchema = object({
|
|
42551
42756
|
ok: boolean(),
|
|
@@ -42597,20 +42802,33 @@ var TrainerSourceRefSchema = object({
|
|
|
42597
42802
|
/** A commit sha (never a branch) — the job must be reproducible. */
|
|
42598
42803
|
revision: string().regex(/^[0-9a-f]{7,64}$/)
|
|
42599
42804
|
});
|
|
42805
|
+
/** Cloud job identity — route with the owning addon's `addonId` selector. */
|
|
42600
42806
|
var JobRef = {
|
|
42601
|
-
|
|
42807
|
+
entryId: string().min(1),
|
|
42602
42808
|
jobKey: string().uuid()
|
|
42603
42809
|
};
|
|
42604
42810
|
var TrainingLogLineSchema = object({
|
|
42605
42811
|
ts: number(),
|
|
42606
42812
|
text: string()
|
|
42607
42813
|
});
|
|
42608
|
-
method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "admin" }), method(object({
|
|
42814
|
+
method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "admin" }), method(object({}), array(TrainingProviderTypeSchema).readonly(), { auth: "admin" }), method(object({}), array(TrainingProviderEntrySchema).readonly(), { auth: "admin" }), method(object({
|
|
42815
|
+
typeId: string().min(1),
|
|
42816
|
+
name: string().min(1)
|
|
42817
|
+
}), object({ entryId: string() }), {
|
|
42818
|
+
kind: "mutation",
|
|
42819
|
+
auth: "admin"
|
|
42820
|
+
}), method(object({ entryId: string().min(1) }), object({ ok: literal(true) }), {
|
|
42821
|
+
kind: "mutation",
|
|
42822
|
+
auth: "admin"
|
|
42823
|
+
}), method(TrainingProviderUpdateEntryInputSchema, object({ ok: literal(true) }), {
|
|
42824
|
+
kind: "mutation",
|
|
42825
|
+
auth: "admin"
|
|
42826
|
+
}), method(object({ entryId: string().min(1) }), TrainingCredentialCheckSchema, {
|
|
42609
42827
|
kind: "mutation",
|
|
42610
42828
|
auth: "admin",
|
|
42611
42829
|
timeoutMs: 3e4
|
|
42612
42830
|
}), method(object({
|
|
42613
|
-
|
|
42831
|
+
entryId: string().min(1),
|
|
42614
42832
|
gpuType: string(),
|
|
42615
42833
|
region: string(),
|
|
42616
42834
|
datasetBytes: number().int().nonnegative(),
|
|
@@ -42676,7 +42894,7 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
|
|
|
42676
42894
|
kind: "mutation",
|
|
42677
42895
|
auth: "admin",
|
|
42678
42896
|
timeoutMs: 5 * 6e4
|
|
42679
|
-
}), method(object({
|
|
42897
|
+
}), method(object({ entryId: string().min(1).optional() }), array(ProviderJobStatusSchema).readonly(), {
|
|
42680
42898
|
auth: "admin",
|
|
42681
42899
|
timeoutMs: 2 * 6e4
|
|
42682
42900
|
});
|
|
@@ -42686,20 +42904,31 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
|
|
|
42686
42904
|
*
|
|
42687
42905
|
* It owns what every provider must agree on, written once:
|
|
42688
42906
|
*
|
|
42689
|
-
* - **Dataset versions.** Taken over from pipeline-analytics (D796): the rows
|
|
42690
|
-
* live here (D808); pipeline-analytics still CUTS a version (it owns the corpus and
|
|
42691
|
-
* the export plan) and reaches this store through the five row methods
|
|
42692
|
-
* below, so the Retrain page and the export did not change.
|
|
42693
42907
|
* - **Jobs.** A persisted state machine, a reconcile loop against the
|
|
42694
42908
|
* provider, a cost guard, a daily orphan sweep and the retention rules.
|
|
42695
42909
|
* - **The return flow.** Verified artefacts → Model Studio
|
|
42696
42910
|
* (`custom-model-registry.importModelBundle`) → canary on cameras →
|
|
42697
42911
|
* rollback. Nothing is ever registered automatically.
|
|
42698
42912
|
*
|
|
42913
|
+
* Plan/start takes a live {@link TrainingCorpusSelection} (collections +
|
|
42914
|
+
* work-state rule); frame ids are resolved via pipeline-analytics at that
|
|
42915
|
+
* moment and snapshotted on the job. No frozen dataset version.
|
|
42916
|
+
*
|
|
42699
42917
|
* Every method is `admin`.
|
|
42700
42918
|
*/
|
|
42701
|
-
/**
|
|
42702
|
-
|
|
42919
|
+
/**
|
|
42920
|
+
* Live corpus criteria for plan/start (design §5.2). Default is complete-only.
|
|
42921
|
+
* Frame ids are resolved at plan/start — never a frozen version id.
|
|
42922
|
+
*/
|
|
42923
|
+
var TrainingCorpusSelectionSchema = object({
|
|
42924
|
+
collectionIds: array(string()).min(1),
|
|
42925
|
+
/** Default complete-only for v1 */
|
|
42926
|
+
workState: _enum([
|
|
42927
|
+
"complete",
|
|
42928
|
+
"annotated_or_complete",
|
|
42929
|
+
"any_annotated"
|
|
42930
|
+
]).default("complete")
|
|
42931
|
+
});
|
|
42703
42932
|
/** A base model a detector job can fine-tune, and the baseline it is judged against. */
|
|
42704
42933
|
var TrainingBaseModelSchema = object({
|
|
42705
42934
|
modelId: string(),
|
|
@@ -42717,9 +42946,13 @@ var TrainingPresetSchema = _enum([
|
|
|
42717
42946
|
"thorough"
|
|
42718
42947
|
]);
|
|
42719
42948
|
var TrainingJobRequestSchema = object({
|
|
42720
|
-
|
|
42721
|
-
|
|
42722
|
-
|
|
42949
|
+
/** Live collection + work-state criteria; resolved at plan/start. */
|
|
42950
|
+
selection: TrainingCorpusSelectionSchema,
|
|
42951
|
+
/**
|
|
42952
|
+
* The provider **entry** that runs it (credentials + defaults).
|
|
42953
|
+
* Resolve to an owning addon via `training-provider.describe` / `listEntries`.
|
|
42954
|
+
*/
|
|
42955
|
+
entryId: string().min(1),
|
|
42723
42956
|
gpuType: string().min(1),
|
|
42724
42957
|
region: string(),
|
|
42725
42958
|
baseModelId: string().min(1),
|
|
@@ -42778,6 +43011,7 @@ var TrainingJobPlanSchema = object({
|
|
|
42778
43011
|
* result lives after the operator acted on it.
|
|
42779
43012
|
*/
|
|
42780
43013
|
var TrainingJobStateSchema = _enum([
|
|
43014
|
+
"queued",
|
|
42781
43015
|
"uploading",
|
|
42782
43016
|
"submitted",
|
|
42783
43017
|
"starting",
|
|
@@ -42831,6 +43065,11 @@ var TrainingJobSchema = object({
|
|
|
42831
43065
|
createdAt: number(),
|
|
42832
43066
|
updatedAt: number(),
|
|
42833
43067
|
state: TrainingJobStateSchema,
|
|
43068
|
+
/**
|
|
43069
|
+
* Shared by every job enqueued together via `startJobBatch`.
|
|
43070
|
+
* `null` for a lone `startJob`. The engine advances queued siblings by this id.
|
|
43071
|
+
*/
|
|
43072
|
+
batchId: string().nullable().default(null),
|
|
42834
43073
|
stage: TrainingStageSchema.nullable(),
|
|
42835
43074
|
failure: object({
|
|
42836
43075
|
reason: TrainingFailureReasonSchema,
|
|
@@ -42842,6 +43081,12 @@ var TrainingJobSchema = object({
|
|
|
42842
43081
|
maxRuntimeSec: number().int().positive(),
|
|
42843
43082
|
trainer: TrainerSourceRefSchema,
|
|
42844
43083
|
datasetLayout: RetrainExportLayoutSchema,
|
|
43084
|
+
/** Frame count snapshotted when the job started (audit; equals `frameIds.length`). */
|
|
43085
|
+
frameCount: number().int().nonnegative(),
|
|
43086
|
+
/** Resolved frame ids at start — the archive ships exactly these. */
|
|
43087
|
+
frameIds: array(string()).max(2e4).readonly(),
|
|
43088
|
+
/** Hash of what those frames taught at start (trainer `dataset.annotationHash`). */
|
|
43089
|
+
annotationHash: string(),
|
|
42845
43090
|
dataset: object({
|
|
42846
43091
|
bytes: number().int(),
|
|
42847
43092
|
sha256: string(),
|
|
@@ -42883,13 +43128,7 @@ var TrainingJobSchema = object({
|
|
|
42883
43128
|
canary: TrainingCanarySchema.nullable()
|
|
42884
43129
|
});
|
|
42885
43130
|
var IdInput = object({ id: string().min(1) });
|
|
42886
|
-
method(
|
|
42887
|
-
kind: "mutation",
|
|
42888
|
-
auth: "admin"
|
|
42889
|
-
}), 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() }), {
|
|
42890
|
-
kind: "mutation",
|
|
42891
|
-
auth: "admin"
|
|
42892
|
-
}), method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" }), method(TrainingJobRequestSchema, TrainingJobPlanSchema, {
|
|
43131
|
+
method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" }), method(TrainingJobRequestSchema, TrainingJobPlanSchema, {
|
|
42893
43132
|
auth: "admin",
|
|
42894
43133
|
timeoutMs: 6e4
|
|
42895
43134
|
}), method(TrainingJobRequestSchema.extend({
|
|
@@ -42908,6 +43147,24 @@ method(TrainingDatasetVersionRowSchema, object({ stored: boolean() }), {
|
|
|
42908
43147
|
kind: "mutation",
|
|
42909
43148
|
auth: "admin",
|
|
42910
43149
|
timeoutMs: 12e4
|
|
43150
|
+
}), method(TrainingJobRequestSchema.omit({ baseModelId: true }).extend({
|
|
43151
|
+
baseModelIds: array(string().min(1)).min(1),
|
|
43152
|
+
name: string().min(1).max(120),
|
|
43153
|
+
maxCostUsd: number().positive(),
|
|
43154
|
+
maxRuntimeSec: number().int().positive(),
|
|
43155
|
+
idempotencyKey: string().min(8).max(80)
|
|
43156
|
+
}), discriminatedUnion("kind", [object({
|
|
43157
|
+
kind: literal("started"),
|
|
43158
|
+
batchId: string(),
|
|
43159
|
+
jobs: array(TrainingJobSchema).min(1).readonly()
|
|
43160
|
+
}), object({
|
|
43161
|
+
kind: literal("refused"),
|
|
43162
|
+
reason: TrainingRefusalReasonSchema,
|
|
43163
|
+
detail: string()
|
|
43164
|
+
})]), {
|
|
43165
|
+
kind: "mutation",
|
|
43166
|
+
auth: "admin",
|
|
43167
|
+
timeoutMs: 12e4
|
|
42911
43168
|
}), method(object({}), array(TrainingJobSchema).readonly(), { auth: "admin" }), method(IdInput, TrainingJobSchema.nullable(), { auth: "admin" }), method(IdInput, TrainingJobSchema, {
|
|
42912
43169
|
kind: "mutation",
|
|
42913
43170
|
auth: "admin",
|
|
@@ -47989,6 +48246,36 @@ Object.freeze({
|
|
|
47989
48246
|
addonId: null,
|
|
47990
48247
|
access: "view"
|
|
47991
48248
|
},
|
|
48249
|
+
"oidcConnections.connectionFormSchema": {
|
|
48250
|
+
capName: "oidc-connections",
|
|
48251
|
+
capScope: "system",
|
|
48252
|
+
addonId: null,
|
|
48253
|
+
access: "view"
|
|
48254
|
+
},
|
|
48255
|
+
"oidcConnections.createConnection": {
|
|
48256
|
+
capName: "oidc-connections",
|
|
48257
|
+
capScope: "system",
|
|
48258
|
+
addonId: null,
|
|
48259
|
+
access: "create"
|
|
48260
|
+
},
|
|
48261
|
+
"oidcConnections.deleteConnection": {
|
|
48262
|
+
capName: "oidc-connections",
|
|
48263
|
+
capScope: "system",
|
|
48264
|
+
addonId: null,
|
|
48265
|
+
access: "delete"
|
|
48266
|
+
},
|
|
48267
|
+
"oidcConnections.listConnections": {
|
|
48268
|
+
capName: "oidc-connections",
|
|
48269
|
+
capScope: "system",
|
|
48270
|
+
addonId: null,
|
|
48271
|
+
access: "view"
|
|
48272
|
+
},
|
|
48273
|
+
"oidcConnections.updateConnection": {
|
|
48274
|
+
capName: "oidc-connections",
|
|
48275
|
+
capScope: "system",
|
|
48276
|
+
addonId: null,
|
|
48277
|
+
access: "create"
|
|
48278
|
+
},
|
|
47992
48279
|
"osd.getStatus": {
|
|
47993
48280
|
capName: "osd",
|
|
47994
48281
|
capScope: "device",
|
|
@@ -48061,6 +48348,12 @@ Object.freeze({
|
|
|
48061
48348
|
addonId: null,
|
|
48062
48349
|
access: "create"
|
|
48063
48350
|
},
|
|
48351
|
+
"osdManager.setSlotCameraEnabled": {
|
|
48352
|
+
capName: "osd-manager",
|
|
48353
|
+
capScope: "system",
|
|
48354
|
+
addonId: null,
|
|
48355
|
+
access: "create"
|
|
48356
|
+
},
|
|
48064
48357
|
"osdManager.upsertTemplate": {
|
|
48065
48358
|
capName: "osd-manager",
|
|
48066
48359
|
capScope: "system",
|
|
@@ -48199,12 +48492,6 @@ Object.freeze({
|
|
|
48199
48492
|
addonId: null,
|
|
48200
48493
|
access: "create"
|
|
48201
48494
|
},
|
|
48202
|
-
"pipelineAnalytics.createRetrainDatasetVersion": {
|
|
48203
|
-
capName: "pipeline-analytics",
|
|
48204
|
-
capScope: "device",
|
|
48205
|
-
addonId: null,
|
|
48206
|
-
access: "create"
|
|
48207
|
-
},
|
|
48208
48495
|
"pipelineAnalytics.deleteDeviceEvents": {
|
|
48209
48496
|
capName: "pipeline-analytics",
|
|
48210
48497
|
capScope: "device",
|
|
@@ -48217,12 +48504,6 @@ Object.freeze({
|
|
|
48217
48504
|
addonId: null,
|
|
48218
48505
|
access: "delete"
|
|
48219
48506
|
},
|
|
48220
|
-
"pipelineAnalytics.deleteRetrainDatasetVersion": {
|
|
48221
|
-
capName: "pipeline-analytics",
|
|
48222
|
-
capScope: "device",
|
|
48223
|
-
addonId: null,
|
|
48224
|
-
access: "delete"
|
|
48225
|
-
},
|
|
48226
48507
|
"pipelineAnalytics.deleteTracks": {
|
|
48227
48508
|
capName: "pipeline-analytics",
|
|
48228
48509
|
capScope: "device",
|
|
@@ -48325,6 +48606,12 @@ Object.freeze({
|
|
|
48325
48606
|
addonId: null,
|
|
48326
48607
|
access: "view"
|
|
48327
48608
|
},
|
|
48609
|
+
"pipelineAnalytics.getRetrainCorpusKpi": {
|
|
48610
|
+
capName: "pipeline-analytics",
|
|
48611
|
+
capScope: "device",
|
|
48612
|
+
addonId: null,
|
|
48613
|
+
access: "view"
|
|
48614
|
+
},
|
|
48328
48615
|
"pipelineAnalytics.getRetrainExportUrl": {
|
|
48329
48616
|
capName: "pipeline-analytics",
|
|
48330
48617
|
capScope: "device",
|
|
@@ -48445,7 +48732,7 @@ Object.freeze({
|
|
|
48445
48732
|
addonId: null,
|
|
48446
48733
|
access: "view"
|
|
48447
48734
|
},
|
|
48448
|
-
"pipelineAnalytics.
|
|
48735
|
+
"pipelineAnalytics.listRetrainCorpusPage": {
|
|
48449
48736
|
capName: "pipeline-analytics",
|
|
48450
48737
|
capScope: "device",
|
|
48451
48738
|
addonId: null,
|
|
@@ -48499,12 +48786,6 @@ Object.freeze({
|
|
|
48499
48786
|
addonId: null,
|
|
48500
48787
|
access: "create"
|
|
48501
48788
|
},
|
|
48502
|
-
"pipelineAnalytics.previewRetrainDataset": {
|
|
48503
|
-
capName: "pipeline-analytics",
|
|
48504
|
-
capScope: "device",
|
|
48505
|
-
addonId: null,
|
|
48506
|
-
access: "view"
|
|
48507
|
-
},
|
|
48508
48789
|
"pipelineAnalytics.proposeRetrainAnnotations": {
|
|
48509
48790
|
capName: "pipeline-analytics",
|
|
48510
48791
|
capScope: "device",
|
|
@@ -48583,6 +48864,12 @@ Object.freeze({
|
|
|
48583
48864
|
addonId: null,
|
|
48584
48865
|
access: "create"
|
|
48585
48866
|
},
|
|
48867
|
+
"pipelineAnalytics.resolveRetrainTrainingCorpus": {
|
|
48868
|
+
capName: "pipeline-analytics",
|
|
48869
|
+
capScope: "device",
|
|
48870
|
+
addonId: null,
|
|
48871
|
+
access: "view"
|
|
48872
|
+
},
|
|
48586
48873
|
"pipelineAnalytics.restageRetrainTrack": {
|
|
48587
48874
|
capName: "pipeline-analytics",
|
|
48588
48875
|
capScope: "device",
|
|
@@ -48643,12 +48930,6 @@ Object.freeze({
|
|
|
48643
48930
|
addonId: null,
|
|
48644
48931
|
access: "create"
|
|
48645
48932
|
},
|
|
48646
|
-
"pipelineAnalytics.verifyRetrainDatasetVersion": {
|
|
48647
|
-
capName: "pipeline-analytics",
|
|
48648
|
-
capScope: "device",
|
|
48649
|
-
addonId: null,
|
|
48650
|
-
access: "view"
|
|
48651
|
-
},
|
|
48652
48933
|
"pipelineAnalytics.wipeAllAnalytics": {
|
|
48653
48934
|
capName: "pipeline-analytics",
|
|
48654
48935
|
capScope: "device",
|
|
@@ -51043,18 +51324,6 @@ Object.freeze({
|
|
|
51043
51324
|
addonId: null,
|
|
51044
51325
|
access: "create"
|
|
51045
51326
|
},
|
|
51046
|
-
"training.findDatasetVersionIdByName": {
|
|
51047
|
-
capName: "training",
|
|
51048
|
-
capScope: "system",
|
|
51049
|
-
addonId: null,
|
|
51050
|
-
access: "view"
|
|
51051
|
-
},
|
|
51052
|
-
"training.getDatasetVersion": {
|
|
51053
|
-
capName: "training",
|
|
51054
|
-
capScope: "system",
|
|
51055
|
-
addonId: null,
|
|
51056
|
-
access: "view"
|
|
51057
|
-
},
|
|
51058
51327
|
"training.getJob": {
|
|
51059
51328
|
capName: "training",
|
|
51060
51329
|
capScope: "system",
|
|
@@ -51073,12 +51342,6 @@ Object.freeze({
|
|
|
51073
51342
|
addonId: null,
|
|
51074
51343
|
access: "view"
|
|
51075
51344
|
},
|
|
51076
|
-
"training.listDatasetVersions": {
|
|
51077
|
-
capName: "training",
|
|
51078
|
-
capScope: "system",
|
|
51079
|
-
addonId: null,
|
|
51080
|
-
access: "view"
|
|
51081
|
-
},
|
|
51082
51345
|
"training.listJobs": {
|
|
51083
51346
|
capName: "training",
|
|
51084
51347
|
capScope: "system",
|
|
@@ -51091,54 +51354,66 @@ Object.freeze({
|
|
|
51091
51354
|
addonId: null,
|
|
51092
51355
|
access: "view"
|
|
51093
51356
|
},
|
|
51094
|
-
"training.
|
|
51357
|
+
"training.registerResult": {
|
|
51095
51358
|
capName: "training",
|
|
51096
51359
|
capScope: "system",
|
|
51097
51360
|
addonId: null,
|
|
51098
51361
|
access: "create"
|
|
51099
51362
|
},
|
|
51100
|
-
"training.
|
|
51363
|
+
"training.rollbackCanary": {
|
|
51101
51364
|
capName: "training",
|
|
51102
51365
|
capScope: "system",
|
|
51103
51366
|
addonId: null,
|
|
51104
51367
|
access: "create"
|
|
51105
51368
|
},
|
|
51106
|
-
"training.
|
|
51369
|
+
"training.startJob": {
|
|
51107
51370
|
capName: "training",
|
|
51108
51371
|
capScope: "system",
|
|
51109
51372
|
addonId: null,
|
|
51110
|
-
access: "
|
|
51373
|
+
access: "create"
|
|
51111
51374
|
},
|
|
51112
|
-
"training.
|
|
51375
|
+
"training.startJobBatch": {
|
|
51113
51376
|
capName: "training",
|
|
51114
51377
|
capScope: "system",
|
|
51115
51378
|
addonId: null,
|
|
51116
51379
|
access: "create"
|
|
51117
51380
|
},
|
|
51118
|
-
"
|
|
51119
|
-
capName: "training",
|
|
51381
|
+
"trainingProvider.cancelJob": {
|
|
51382
|
+
capName: "training-provider",
|
|
51120
51383
|
capScope: "system",
|
|
51121
51384
|
addonId: null,
|
|
51122
51385
|
access: "create"
|
|
51123
51386
|
},
|
|
51124
|
-
"trainingProvider.
|
|
51387
|
+
"trainingProvider.cleanupJob": {
|
|
51125
51388
|
capName: "training-provider",
|
|
51126
51389
|
capScope: "system",
|
|
51127
51390
|
addonId: null,
|
|
51128
51391
|
access: "create"
|
|
51129
51392
|
},
|
|
51130
|
-
"trainingProvider.
|
|
51393
|
+
"trainingProvider.createEntry": {
|
|
51131
51394
|
capName: "training-provider",
|
|
51132
51395
|
capScope: "system",
|
|
51133
51396
|
addonId: null,
|
|
51134
51397
|
access: "create"
|
|
51135
51398
|
},
|
|
51399
|
+
"trainingProvider.deleteEntry": {
|
|
51400
|
+
capName: "training-provider",
|
|
51401
|
+
capScope: "system",
|
|
51402
|
+
addonId: null,
|
|
51403
|
+
access: "delete"
|
|
51404
|
+
},
|
|
51136
51405
|
"trainingProvider.describe": {
|
|
51137
51406
|
capName: "training-provider",
|
|
51138
51407
|
capScope: "system",
|
|
51139
51408
|
addonId: null,
|
|
51140
51409
|
access: "view"
|
|
51141
51410
|
},
|
|
51411
|
+
"trainingProvider.describeTypes": {
|
|
51412
|
+
capName: "training-provider",
|
|
51413
|
+
capScope: "system",
|
|
51414
|
+
addonId: null,
|
|
51415
|
+
access: "view"
|
|
51416
|
+
},
|
|
51142
51417
|
"trainingProvider.estimateJob": {
|
|
51143
51418
|
capName: "training-provider",
|
|
51144
51419
|
capScope: "system",
|
|
@@ -51151,6 +51426,12 @@ Object.freeze({
|
|
|
51151
51426
|
addonId: null,
|
|
51152
51427
|
access: "view"
|
|
51153
51428
|
},
|
|
51429
|
+
"trainingProvider.listEntries": {
|
|
51430
|
+
capName: "training-provider",
|
|
51431
|
+
capScope: "system",
|
|
51432
|
+
addonId: null,
|
|
51433
|
+
access: "view"
|
|
51434
|
+
},
|
|
51154
51435
|
"trainingProvider.listJobEvents": {
|
|
51155
51436
|
capName: "training-provider",
|
|
51156
51437
|
capScope: "system",
|
|
@@ -51181,6 +51462,12 @@ Object.freeze({
|
|
|
51181
51462
|
addonId: null,
|
|
51182
51463
|
access: "create"
|
|
51183
51464
|
},
|
|
51465
|
+
"trainingProvider.updateEntry": {
|
|
51466
|
+
capName: "training-provider",
|
|
51467
|
+
capScope: "system",
|
|
51468
|
+
addonId: null,
|
|
51469
|
+
access: "create"
|
|
51470
|
+
},
|
|
51184
51471
|
"trainingProvider.uploadDataset": {
|
|
51185
51472
|
capName: "training-provider",
|
|
51186
51473
|
capScope: "system",
|
|
@@ -54387,6 +54674,11 @@ Object.freeze({
|
|
|
54387
54674
|
form: "single",
|
|
54388
54675
|
optional: false
|
|
54389
54676
|
}],
|
|
54677
|
+
"osdManager.setSlotCameraEnabled": [{
|
|
54678
|
+
name: "deviceId",
|
|
54679
|
+
form: "single",
|
|
54680
|
+
optional: false
|
|
54681
|
+
}],
|
|
54390
54682
|
"petFeeder.callPet": [{
|
|
54391
54683
|
name: "deviceId",
|
|
54392
54684
|
form: "single",
|
|
@@ -54607,6 +54899,11 @@ Object.freeze({
|
|
|
54607
54899
|
form: "array",
|
|
54608
54900
|
optional: false
|
|
54609
54901
|
}],
|
|
54902
|
+
"pipelineAnalytics.listRetrainCorpusPage": [{
|
|
54903
|
+
name: "deviceIds",
|
|
54904
|
+
form: "array",
|
|
54905
|
+
optional: true
|
|
54906
|
+
}],
|
|
54610
54907
|
"pipelineAnalytics.listRetrainStaging": [{
|
|
54611
54908
|
name: "deviceIds",
|
|
54612
54909
|
form: "array",
|
|
@@ -55716,6 +56013,7 @@ Object.freeze({
|
|
|
55716
56013
|
});
|
|
55717
56014
|
Object.freeze({
|
|
55718
56015
|
"broker": "broker",
|
|
56016
|
+
"calendar-source": "calendar",
|
|
55719
56017
|
"device-export": "device-export",
|
|
55720
56018
|
"llm": "ai",
|
|
55721
56019
|
"mesh-network": "mesh",
|
|
@@ -55840,6 +56138,9 @@ new Map(Object.entries({
|
|
|
55840
56138
|
"stream-online": "device-events",
|
|
55841
56139
|
"stream-offline": "device-events",
|
|
55842
56140
|
"detection-blind": "device-events",
|
|
56141
|
+
"recording-stalled": "device-events",
|
|
56142
|
+
"recording-healthy": "device-events",
|
|
56143
|
+
"recording-degraded": "device-events",
|
|
55843
56144
|
"node-online": "system",
|
|
55844
56145
|
"node-offline": "system",
|
|
55845
56146
|
"node-restarting": "system",
|
|
@@ -55853,6 +56154,9 @@ new Map(Object.entries({
|
|
|
55853
56154
|
"wrapper-update-available": "system",
|
|
55854
56155
|
"backup-completed": "system",
|
|
55855
56156
|
"export-completed": "system",
|
|
56157
|
+
"storage-location-low": "system",
|
|
56158
|
+
"storage-location-critical": "system",
|
|
56159
|
+
"storage-location-ok": "system",
|
|
55856
56160
|
"alarm-triggered": "alarm",
|
|
55857
56161
|
"alarm-armed": "alarm",
|
|
55858
56162
|
"alarm-disarmed": "alarm",
|
|
@@ -55914,6 +56218,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
55914
56218
|
label: "Detecting nothing",
|
|
55915
56219
|
kinds: ["detection-blind"]
|
|
55916
56220
|
},
|
|
56221
|
+
{
|
|
56222
|
+
id: "recording",
|
|
56223
|
+
family: "device-events",
|
|
56224
|
+
label: "Recording",
|
|
56225
|
+
kinds: [
|
|
56226
|
+
"recording-stalled",
|
|
56227
|
+
"recording-healthy",
|
|
56228
|
+
"recording-degraded"
|
|
56229
|
+
]
|
|
56230
|
+
},
|
|
55917
56231
|
{
|
|
55918
56232
|
id: "nodes",
|
|
55919
56233
|
family: "system",
|
|
@@ -55954,6 +56268,16 @@ var NC_SYSTEM_EVENT_KIND_GROUP_SPECS = [
|
|
|
55954
56268
|
label: "Backups & exports",
|
|
55955
56269
|
kinds: ["backup-completed", "export-completed"]
|
|
55956
56270
|
},
|
|
56271
|
+
{
|
|
56272
|
+
id: "storage",
|
|
56273
|
+
family: "system",
|
|
56274
|
+
label: "Storage locations",
|
|
56275
|
+
kinds: [
|
|
56276
|
+
"storage-location-low",
|
|
56277
|
+
"storage-location-critical",
|
|
56278
|
+
"storage-location-ok"
|
|
56279
|
+
]
|
|
56280
|
+
},
|
|
55957
56281
|
{
|
|
55958
56282
|
id: "alarm",
|
|
55959
56283
|
family: "alarm",
|
|
@@ -56036,6 +56360,9 @@ var DEVICE_EVENTS = [
|
|
|
56036
56360
|
"stream-online",
|
|
56037
56361
|
"stream-offline",
|
|
56038
56362
|
"detection-blind",
|
|
56363
|
+
"recording-stalled",
|
|
56364
|
+
"recording-healthy",
|
|
56365
|
+
"recording-degraded",
|
|
56039
56366
|
...ALARM
|
|
56040
56367
|
];
|
|
56041
56368
|
/** Every kind a summary may speak about — the two summarisable families. */
|
|
@@ -56203,6 +56530,11 @@ var STATE_SUMMARY_VARS = [
|
|
|
56203
56530
|
[...RULE_TEXT],
|
|
56204
56531
|
[...RULE_TEXT],
|
|
56205
56532
|
[...RULE_TEXT],
|
|
56533
|
+
[...RULE_TEXT],
|
|
56534
|
+
[...RULE_TEXT],
|
|
56535
|
+
[...RULE_TEXT],
|
|
56536
|
+
[...RULE_TEXT],
|
|
56537
|
+
[...RULE_TEXT],
|
|
56206
56538
|
([...RULE_TEXT], [...UPDATES]),
|
|
56207
56539
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|
|
56208
56540
|
([...RULE_TEXT], [...PACKAGE_UPDATES]),
|