@camstack/addon-auth 1.2.136 → 1.2.139

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.
@@ -1,3 +1,37 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
9
+ var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
10
+ var __exportAll = (all, no_symbols) => {
11
+ let target = {};
12
+ for (var name in all) __defProp(target, name, {
13
+ get: all[name],
14
+ enumerable: true
15
+ });
16
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
17
+ return target;
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
21
+ key = keys[i];
22
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
23
+ get: ((k) => from[k]).bind(null, key),
24
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
25
+ });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
34
+ require("node:crypto");
1
35
  //#region ../types/dist/event-category-DaIZi00R.mjs
2
36
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
3
37
  EventCategory["SystemBoot"] = "system.boot";
@@ -5376,7 +5410,7 @@ var ZodIssueCode = {
5376
5410
  var ZodFirstPartyTypeKind;
5377
5411
  ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
5378
5412
  //#endregion
5379
- //#region ../types/dist/sleep-r3RWkGVx.mjs
5413
+ //#region ../types/dist/sleep-DwAQ9sqX.mjs
5380
5414
  /**
5381
5415
  * The audio chunk plane's byte format, and the ONE expansion from a coded
5382
5416
  * window to float samples (D455).
@@ -9315,6 +9349,16 @@ var CompositionSchema = object({
9315
9349
  seen.add(feature.cap);
9316
9350
  });
9317
9351
  });
9352
+ var NodeColorIdSchema = _enum([
9353
+ "node-a",
9354
+ "node-b",
9355
+ "node-c",
9356
+ "node-d",
9357
+ "node-e",
9358
+ "node-f",
9359
+ "node-g",
9360
+ "node-h"
9361
+ ]);
9318
9362
  new Set([
9319
9363
  "track",
9320
9364
  "face",
@@ -18236,14 +18280,14 @@ var LlmProfileSchema = object({
18236
18280
  /** ConfigUISchema tree passed through untyped on the wire (the
18237
18281
  * notification-output `ConfigSchemaPassthrough` precedent at
18238
18282
  * notification-output.cap.ts:151); the exported TS type re-tightens it. */
18239
- var ConfigSchemaPassthrough$1 = unknown();
18283
+ var ConfigSchemaPassthrough$3 = unknown();
18240
18284
  var LlmProfileKindDescriptorSchema = object({
18241
18285
  kind: LlmProfileKindSchema,
18242
18286
  label: string(),
18243
18287
  icon: string(),
18244
18288
  /** Stamped by each provider so the concat-fanned catalog stays routable. */
18245
18289
  addonId: string(),
18246
- configSchema: ConfigSchemaPassthrough$1
18290
+ configSchema: ConfigSchemaPassthrough$3
18247
18291
  });
18248
18292
  var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
18249
18293
  var LlmDefaultSchema = object({
@@ -19372,7 +19416,7 @@ var TargetKindCapsSchema = object({
19372
19416
  * the union is large and not meant for runtime validation here; the exported
19373
19417
  * `TargetKind` type re-tightens `configSchema` to `ConfigUISchema`.
19374
19418
  */
19375
- var ConfigSchemaPassthrough = unknown();
19419
+ var ConfigSchemaPassthrough$2 = unknown();
19376
19420
  var TargetKindSchema = object({
19377
19421
  kind: string(),
19378
19422
  label: string(),
@@ -19409,7 +19453,7 @@ var TargetKindSchema = object({
19409
19453
  * its raster path, which is the safe default for an unknown image.
19410
19454
  */
19411
19455
  iconMediaType: string().optional(),
19412
- configSchema: ConfigSchemaPassthrough,
19456
+ configSchema: ConfigSchemaPassthrough$2,
19413
19457
  /**
19414
19458
  * The config keys that decide WHERE this kind's secrets are sent (server,
19415
19459
  * base URL, instance, chat, recipient). A save that changes any of them
@@ -22708,6 +22752,77 @@ var OauthIntegrationDescriptorSchema = object({
22708
22752
  });
22709
22753
  method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
22710
22754
  /**
22755
+ * `oidc-connections` — CRUD for IdP rows under `auth-oidc` (D828 sibling).
22756
+ *
22757
+ * One hub-only singleton (`auth-oidc`). The Settings UI is a DataTable +
22758
+ * ItemFormDialog; there is no `editable-array` in `globalSettingsSchema`.
22759
+ * Operator-chosen `id` is the URL slug (`/addon/auth-oidc/<id>/…`) and is
22760
+ * immutable after create.
22761
+ */
22762
+ var ConfigSchemaPassthrough$1 = unknown();
22763
+ var OidcConnectionSchema = object({
22764
+ id: string().min(1),
22765
+ displayName: string(),
22766
+ icon: string(),
22767
+ issuerUrl: string(),
22768
+ clientId: string(),
22769
+ /** Client id + secret present — never the secret value. */
22770
+ configured: boolean(),
22771
+ /**
22772
+ * Values for the connection form schema. `clientSecret` is a keychain
22773
+ * {@link SecretFieldView} or `null` / `''`, never plaintext (D789).
22774
+ */
22775
+ formValues: record(string(), unknown()).optional()
22776
+ });
22777
+ /**
22778
+ * Patch one connection. Omitted or empty `clientSecret` keeps the stored
22779
+ * secret (D787). `{ $secretClear: true }` clears it. `id` is never renamed.
22780
+ */
22781
+ var OidcConnectionUpdateInputSchema = object({
22782
+ id: string().min(1),
22783
+ displayName: string().min(1),
22784
+ icon: string().optional(),
22785
+ issuerUrl: string().optional(),
22786
+ clientId: string().optional(),
22787
+ clientSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
22788
+ redirectUri: string().optional(),
22789
+ scopes: string().optional(),
22790
+ usernameClaim: _enum([
22791
+ "preferred_username",
22792
+ "email",
22793
+ "sub"
22794
+ ]).optional()
22795
+ });
22796
+ var oidcConnectionsCapability = {
22797
+ name: "oidc-connections",
22798
+ scope: "system",
22799
+ mode: "singleton",
22800
+ methods: {
22801
+ /** Form fields for Add/Edit (ConfigFormBuilder). */
22802
+ connectionFormSchema: method(object({}), ConfigSchemaPassthrough$1, { auth: "admin" }),
22803
+ listConnections: method(object({}), array(OidcConnectionSchema).readonly(), { auth: "admin" }),
22804
+ /**
22805
+ * Create a row with the operator-chosen URL slug. Credentials follow via
22806
+ * `updateConnection` (same Save path as Training Providers).
22807
+ */
22808
+ createConnection: method(object({
22809
+ id: string().min(1).regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "id must be a lowercase slug"),
22810
+ displayName: string().min(1)
22811
+ }), object({ id: string() }), {
22812
+ kind: "mutation",
22813
+ auth: "admin"
22814
+ }),
22815
+ updateConnection: method(OidcConnectionUpdateInputSchema, object({ ok: literal(true) }), {
22816
+ kind: "mutation",
22817
+ auth: "admin"
22818
+ }),
22819
+ deleteConnection: method(object({ id: string().min(1) }), object({ ok: literal(true) }), {
22820
+ kind: "mutation",
22821
+ auth: "admin"
22822
+ })
22823
+ }
22824
+ };
22825
+ /**
22711
22826
  * What started a camera's onboard motion (D672). `camera` is the camera's own
22712
22827
  * firmware; `sensor` is a device the operator ATTACHED to it. Absent on the
22713
22828
  * wire means the camera: only the camera-sensors bridge ever says `sensor`.
@@ -24064,24 +24179,69 @@ var RetrainFrameListSchema = object({
24064
24179
  /** What the page pre-selects — the native key frame when one survives. */
24065
24180
  autoPickMediaId: number().int().optional()
24066
24181
  });
24182
+ /** Exclusive partition of a corpus copy's annotation progress (design §4.2). */
24183
+ var RetrainFrameWorkStateSchema = _enum([
24184
+ "unannotated",
24185
+ "annotated",
24186
+ "complete"
24187
+ ]);
24188
+ /**
24189
+ * Filters for paginated corpus list, KPI, and matching export (design §4.4).
24190
+ * Every narrowing field is ANDed; omitted fields impose no constraint.
24191
+ */
24192
+ var RetrainCorpusFilterSchema = object({
24193
+ workState: RetrainFrameWorkStateSchema.optional(),
24194
+ deviceIds: array(number()).max(500).optional(),
24195
+ /** When set, only frames in this named collection. */
24196
+ collectionId: string().optional(),
24197
+ /** Frames that carry at least one saved annotation in one of these classes. */
24198
+ classes: array(RetrainMacroClassSchema).optional(),
24199
+ page: number().int().positive().default(1),
24200
+ pageSize: number().int().positive().max(100).default(50)
24201
+ });
24202
+ var RetrainCorpusPageSchema = object({
24203
+ frames: array(RetrainFrameSchema.extend({ workState: RetrainFrameWorkStateSchema })).readonly(),
24204
+ total: number().int().nonnegative(),
24205
+ page: number().int().positive(),
24206
+ pageSize: number().int().positive()
24207
+ });
24208
+ var RetrainCorpusKpiCameraRowSchema = object({
24209
+ deviceId: number(),
24210
+ unannotated: number().int().nonnegative(),
24211
+ annotated: number().int().nonnegative(),
24212
+ complete: number().int().nonnegative(),
24213
+ /** This camera's `complete` count divided by corpus `total`, in `[0,1]`.
24214
+ * `null` when the corpus is empty (no ratio). */
24215
+ pctOfCorpus: number().min(0).max(1).nullable()
24216
+ });
24217
+ var RetrainCorpusKpiSchema = object({
24218
+ total: number().int().nonnegative(),
24219
+ unannotated: number().int().nonnegative(),
24220
+ annotated: number().int().nonnegative(),
24221
+ complete: number().int().nonnegative(),
24222
+ cameras: array(RetrainCorpusKpiCameraRowSchema).readonly()
24223
+ });
24067
24224
  /**
24068
24225
  * Which frames an annotated export carries. Every field narrows; an empty
24069
- * filter is every annotated copy. A dataset VERSION is a frozen `frameIds`
24070
- * list owned by whoever trains (the training orchestrator), so `frameIds` is
24071
- * the primitive a version export uses; `batchId` re-selects what an earlier
24072
- * export carried (`exportedInBatch`).
24226
+ * filter is every annotated copy. `frameIds` is the primitive a job or
24227
+ * download uses; `batchId` re-selects what an earlier export carried
24228
+ * (`exportedInBatch`). Frozen dataset versions were removed — live selection
24229
+ * resolves to `frameIds` at plan/start.
24073
24230
  */
24074
24231
  var RetrainExportFilterSchema = object({
24075
24232
  deviceIds: array(number()).optional(),
24076
24233
  frameIds: array(string()).max(2e4).optional(),
24077
24234
  /** Only frames in at least one of these named collections. */
24078
24235
  collectionIds: array(string()).max(200).optional(),
24079
- /** Exactly the frames of this dataset version (and its completeOnly). An
24080
- * unknown id selects nothing. */
24081
- datasetVersionId: string().optional(),
24236
+ /** Single collection (Frames filter bar). ANDed with `collectionIds` when both set. */
24237
+ collectionId: string().optional(),
24082
24238
  batchId: string().optional(),
24083
24239
  /** Only frames the operator marked complete (all subjects boxed). */
24084
- completeOnly: boolean().optional()
24240
+ completeOnly: boolean().optional(),
24241
+ /** Exclusive work-state partition (`workStateOf`); same as the corpus list. */
24242
+ workState: RetrainFrameWorkStateSchema.optional(),
24243
+ /** Frames with at least one saved annotation in one of these classes. */
24244
+ classes: array(RetrainMacroClassSchema).optional()
24085
24245
  });
24086
24246
  /**
24087
24247
  * `frames`: the full frame copies, boxes in `annotations.json`.
@@ -24281,8 +24441,7 @@ var RetrainDatasetStatsSchema = object({
24281
24441
  completeFrames: number().int()
24282
24442
  })).readonly()
24283
24443
  });
24284
- /** An immutable dataset version, without its frame list. */
24285
- var RetrainDatasetVersionSchema = object({
24444
+ object({
24286
24445
  id: string(),
24287
24446
  name: string(),
24288
24447
  createdAt: number(),
@@ -24290,22 +24449,33 @@ var RetrainDatasetVersionSchema = object({
24290
24449
  layout: RetrainExportLayoutSchema,
24291
24450
  completeOnly: boolean(),
24292
24451
  frameCount: number().int(),
24293
- /** sha256 of what the frames taught when the version was frozen. */
24294
24452
  annotationHash: string(),
24295
- /** The export manifest schema the version was cut under. */
24296
24453
  manifestSchema: string(),
24297
24454
  stats: RetrainDatasetStatsSchema
24298
24455
  });
24299
- var CreateRetrainDatasetVersionResultSchema = discriminatedUnion("kind", [object({
24300
- kind: literal("created"),
24301
- version: RetrainDatasetVersionSchema
24456
+ /**
24457
+ * Live training corpus criteria — same shape as `TrainingCorpusSelection` on
24458
+ * the training cap. Resolved here so plan/start and the annotated export share
24459
+ * one definition of "the frames" (`buildRetrainExportPlan`).
24460
+ */
24461
+ var RetrainTrainingCorpusSelectionSchema = object({
24462
+ collectionIds: array(string()).min(1),
24463
+ workState: _enum([
24464
+ "complete",
24465
+ "annotated_or_complete",
24466
+ "any_annotated"
24467
+ ]).default("complete")
24468
+ });
24469
+ var RetrainTrainingCorpusResolveResultSchema = discriminatedUnion("kind", [object({
24470
+ kind: literal("resolved"),
24471
+ frameIds: array(string()).max(2e4).readonly(),
24472
+ stats: RetrainDatasetStatsSchema,
24473
+ annotationHash: string(),
24474
+ layout: RetrainExportLayoutSchema
24302
24475
  }), object({
24303
24476
  kind: literal("refused"),
24304
- reason: _enum([
24305
- "empty-name",
24306
- "duplicate-name",
24307
- "no-frames"
24308
- ])
24477
+ reason: _enum(["unknown-collection", "no-frames"]),
24478
+ detail: string()
24309
24479
  })]);
24310
24480
  /** The outcome of a lifecycle move owned by the retrain page. */
24311
24481
  var RetrainTransitionResultSchema = object({
@@ -25012,6 +25182,12 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
25012
25182
  }), array(RetrainTrackSchema).readonly(), {
25013
25183
  kind: "query",
25014
25184
  auth: "admin"
25185
+ }), method(RetrainCorpusFilterSchema, RetrainCorpusPageSchema, {
25186
+ kind: "query",
25187
+ auth: "admin"
25188
+ }), method(object({}), RetrainCorpusKpiSchema, {
25189
+ kind: "query",
25190
+ auth: "admin"
25015
25191
  }), method(object({ trackId: string() }), RetrainFrameListSchema, {
25016
25192
  kind: "query",
25017
25193
  auth: "admin"
@@ -25107,36 +25283,6 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
25107
25283
  kind: "mutation",
25108
25284
  auth: "admin",
25109
25285
  timeoutMs: 12e4
25110
- }), method(object({
25111
- selection: RetrainDatasetSelectionSchema,
25112
- completeOnly: boolean().optional()
25113
- }), RetrainDatasetStatsSchema, {
25114
- kind: "query",
25115
- auth: "admin"
25116
- }), method(object({
25117
- name: string().max(120),
25118
- selection: RetrainDatasetSelectionSchema,
25119
- layout: RetrainExportLayoutSchema,
25120
- completeOnly: boolean()
25121
- }), CreateRetrainDatasetVersionResultSchema, {
25122
- kind: "mutation",
25123
- auth: "admin",
25124
- timeoutMs: 12e4
25125
- }), method(object({}), array(RetrainDatasetVersionSchema).readonly(), {
25126
- kind: "query",
25127
- auth: "admin"
25128
- }), method(object({ id: string() }), object({ deleted: boolean() }), {
25129
- kind: "mutation",
25130
- auth: "admin"
25131
- }), method(object({ id: string() }), object({
25132
- found: boolean(),
25133
- annotationHash: string(),
25134
- matches: boolean(),
25135
- missingFrames: number().int()
25136
- }), {
25137
- kind: "query",
25138
- auth: "admin",
25139
- timeoutMs: 12e4
25140
25286
  }), method(object({}), array(RetrainAssistProfileSchema).readonly(), {
25141
25287
  kind: "query",
25142
25288
  auth: "admin"
@@ -25163,6 +25309,10 @@ DeviceType.Camera, method(object({ deviceId: number() }), array(TrackSchema).rea
25163
25309
  }), method(object({}), array(RetrainCollectionSchema).readonly(), {
25164
25310
  kind: "query",
25165
25311
  auth: "admin"
25312
+ }), method(RetrainTrainingCorpusSelectionSchema, RetrainTrainingCorpusResolveResultSchema, {
25313
+ kind: "query",
25314
+ auth: "admin",
25315
+ timeoutMs: 6e4
25166
25316
  }), method(object({
25167
25317
  id: string(),
25168
25318
  name: string().max(120)
@@ -25779,11 +25929,14 @@ var HardwareClassIdSchema = _enum([
25779
25929
  "intel-n-series",
25780
25930
  "apple-m-base",
25781
25931
  "apple-m-pro",
25932
+ "amd-phoenix",
25782
25933
  "unknown"
25783
25934
  ]);
25784
25935
  var AcceleratorKindSchema = _enum([
25785
25936
  "intel-npu",
25786
25937
  "intel-igpu",
25938
+ "amd-igpu",
25939
+ "amd-npu",
25787
25940
  "x86-cpu",
25788
25941
  "arm-cpu",
25789
25942
  "apple-ane",
@@ -27673,6 +27826,8 @@ var AgentPipelineSettingsSchema = object({
27673
27826
  * address is wrong (multi-homed host, NAT, custom interface).
27674
27827
  */
27675
27828
  reachableHost: string().optional(),
27829
+ /** Hub-persisted UI colour (`--color-node-*` theme tokens). */
27830
+ color: NodeColorIdSchema.optional(),
27676
27831
  /**
27677
27832
  * Multi-device inference opt-in (Phase 4). Per-node map deviceKey → {enabled,
27678
27833
  * weight, steps}. Absent / all-disabled ⇒ the node's single default
@@ -28222,8 +28377,9 @@ method(object({
28222
28377
  auth: "admin"
28223
28378
  }), method(object({
28224
28379
  agentNodeId: string(),
28225
- reachableHost: string().nullable()
28226
- }), object({ success: literal(true) }), {
28380
+ reachableHost: string().nullable().optional(),
28381
+ color: NodeColorIdSchema.nullable().optional()
28382
+ }).refine((v) => v.reachableHost !== void 0 || v.color !== void 0, { message: "reachableHost or color required" }), object({ success: literal(true) }), {
28227
28383
  kind: "mutation",
28228
28384
  auth: "admin"
28229
28385
  }), method(object({
@@ -31305,7 +31461,7 @@ var CustomActionInputSchema = object({
31305
31461
  action: string().min(1),
31306
31462
  input: unknown()
31307
31463
  });
31308
- method(_void(), array(AddonListItemSchema).readonly()), method(object({
31464
+ method(object({ nodeId: string().optional() }).optional(), array(AddonListItemSchema).readonly()), method(object({
31309
31465
  addonId: string(),
31310
31466
  limit: number().min(1).max(500).default(100),
31311
31467
  level: LogLevelSchema$2.optional()
@@ -35198,6 +35354,7 @@ var OsdNamedTemplateSchema = object({
35198
35354
  });
35199
35355
  /** Where a slot's value comes from. */
35200
35356
  var OsdSourceSchema = discriminatedUnion("kind", [
35357
+ object({ kind: literal("none") }),
35201
35358
  object({
35202
35359
  kind: literal("static"),
35203
35360
  text: string().max(64)
@@ -35324,6 +35481,13 @@ method(object({ deviceId: number().int() }), object({
35324
35481
  }), object({ success: literal(true) }), {
35325
35482
  kind: "mutation",
35326
35483
  auth: "admin"
35484
+ }), method(object({
35485
+ deviceId: number().int(),
35486
+ slotId: string().min(1),
35487
+ enabled: boolean()
35488
+ }), object({ success: literal(true) }), {
35489
+ kind: "mutation",
35490
+ auth: "admin"
35327
35491
  }), method(object({
35328
35492
  sourceDeviceId: number().int(),
35329
35493
  targetDeviceId: number().int()
@@ -35704,7 +35868,15 @@ var GpuInfoSchema = object({
35704
35868
  name: string(),
35705
35869
  memoryMB: number().optional()
35706
35870
  });
35707
- var NpuInfoSchema = object({ type: _enum(["apple-ane", "intel-npu"]) });
35871
+ var NpuInfoSchema = object({
35872
+ type: _enum([
35873
+ "apple-ane",
35874
+ "intel-npu",
35875
+ "amd-xdna"
35876
+ ]),
35877
+ name: string().optional(),
35878
+ generation: _enum(["xdna1", "xdna2"]).optional()
35879
+ });
35708
35880
  var CoralInfoSchema = object({
35709
35881
  type: literal("coral-edgetpu"),
35710
35882
  bus: string().optional()
@@ -39466,9 +39638,11 @@ DeviceType.Camera, method(object({
39466
39638
  * once is what makes a second provider (RunPod, a local NVIDIA node) a new
39467
39639
  * manifest entry and nothing else.
39468
39640
  *
39469
- * Collection, routed by the `addonId` in every single-row input (the `llm` /
39470
- * `notification-output` posture); `describe` concat-fans across providers.
39471
- * Every method is `admin`: these spend money.
39641
+ * Collection of provider **types** (addons). Each addon owns zero or more
39642
+ * **entries** (credentials + defaults). Concat-fans: `describe`,
39643
+ * `describeTypes`, `listEntries`, `listJobs`. Single-row work is keyed by
39644
+ * `entryId`; callers also pass the owning `addonId` as the collection
39645
+ * selector (broker posture). Every method is `admin`: these spend money.
39472
39646
  *
39473
39647
  * Every cloud object a provider creates is tagged with the orchestrator's
39474
39648
  * `jobKey`, so a retried submit finds the job it already started instead of
@@ -39492,8 +39666,8 @@ var TrainingRegionOptionSchema = object({
39492
39666
  priceMultiplier: number().positive()
39493
39667
  });
39494
39668
  /**
39495
- * The provider's per-account settings, as the orchestrator reads them. They
39496
- * live in the PROVIDER addon's settings (operator decision 2026-10-08: they
39669
+ * The provider's per-entry settings, as the orchestrator reads them. They
39670
+ * live on the PROVIDER addon's entry (operator decision 2026-10-08: they
39497
39671
  * depend on the user's account), never hard-coded in the orchestrator.
39498
39672
  */
39499
39673
  var TrainingProviderDefaultsSchema = object({
@@ -39504,9 +39678,44 @@ var TrainingProviderDefaultsSchema = object({
39504
39678
  /** Hours a FAILED job's cloud dataset is kept for debugging; 0 = delete at once. */
39505
39679
  failedDatasetGraceHours: number().nonnegative()
39506
39680
  });
39681
+ /**
39682
+ * Entry form schema for a provider type — same seam as notification
39683
+ * `TargetKind.configSchema` (`z.unknown()` at the wire; callers tighten to
39684
+ * {@link ConfigUISchema}). Drives `ConfigFormBuilder` on Training → Providers.
39685
+ */
39686
+ var ConfigSchemaPassthrough = unknown();
39687
+ /** One creatable provider type, for the Add-entry dialog. */
39688
+ var TrainingProviderTypeSchema = object({
39689
+ typeId: string(),
39690
+ label: string(),
39691
+ /** Path under the addon package (e.g. `assets/training-modal/icon.svg`). */
39692
+ iconAsset: string(),
39693
+ /** Owning `training-provider` addon — collection selector for createEntry. */
39694
+ addonId: string(),
39695
+ /**
39696
+ * Fields for one entry of this type (credentials + defaults). Absent on a
39697
+ * type that only needs a name. Password fields are keychain-backed on the
39698
+ * provider addon (`secretStatePaths`), not D634 plaintext.
39699
+ */
39700
+ configSchema: ConfigSchemaPassthrough.optional()
39701
+ });
39702
+ /** One configured account / workspace under a provider type. */
39703
+ var TrainingProviderEntrySchema = object({
39704
+ entryId: string(),
39705
+ typeId: string(),
39706
+ name: string(),
39707
+ addonId: string(),
39708
+ /** Credentials are present — never the values. */
39709
+ configured: boolean()
39710
+ });
39507
39711
  var TrainingProviderDescriptorSchema = object({
39508
39712
  addonId: string(),
39509
- /** `modal`, `runpod`, `fake`, … */
39713
+ entryId: string(),
39714
+ typeId: string(),
39715
+ /** Operator-chosen entry name. */
39716
+ name: string(),
39717
+ iconAsset: string(),
39718
+ /** `modal`, `runpod`, `fake`, … — same as typeId for current providers. */
39510
39719
  kind: string(),
39511
39720
  label: string(),
39512
39721
  gpuTypes: array(TrainingGpuOptionSchema).readonly(),
@@ -39518,7 +39727,30 @@ var TrainingProviderDescriptorSchema = object({
39518
39727
  dataResidencyNote: string(),
39519
39728
  /** Credentials are present — never the values. */
39520
39729
  configured: boolean(),
39521
- defaults: TrainingProviderDefaultsSchema
39730
+ defaults: TrainingProviderDefaultsSchema,
39731
+ /**
39732
+ * Values for {@link TrainingProviderTypeSchema}'s `configSchema` — password
39733
+ * fields are keychain {@link SecretFieldView} or `null` / `''` (create),
39734
+ * never plaintext. Same hydrate contract as settings forms (D789).
39735
+ */
39736
+ formValues: record(string(), unknown()).optional()
39737
+ });
39738
+ /**
39739
+ * Patch one entry's name, credentials and defaults. Pin with owning `{ addonId }`.
39740
+ * An omitted or empty `tokenSecret` means KEEP the stored secret (D787).
39741
+ * `{ $secretClear: true }` clears it.
39742
+ */
39743
+ var TrainingProviderUpdateEntryInputSchema = object({
39744
+ entryId: string().min(1),
39745
+ name: string().min(1),
39746
+ tokenId: string().optional(),
39747
+ tokenSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
39748
+ environment: string().optional(),
39749
+ gpuType: string().optional(),
39750
+ region: string().optional(),
39751
+ costCapUsd: number().nonnegative().optional(),
39752
+ maxRuntimeSec: number().int().positive().optional(),
39753
+ failedDatasetGraceHours: number().nonnegative().optional()
39522
39754
  });
39523
39755
  var TrainingCredentialCheckSchema = object({
39524
39756
  ok: boolean(),
@@ -39570,20 +39802,33 @@ var TrainerSourceRefSchema = object({
39570
39802
  /** A commit sha (never a branch) — the job must be reproducible. */
39571
39803
  revision: string().regex(/^[0-9a-f]{7,64}$/)
39572
39804
  });
39805
+ /** Cloud job identity — route with the owning addon's `addonId` selector. */
39573
39806
  var JobRef = {
39574
- addonId: string(),
39807
+ entryId: string().min(1),
39575
39808
  jobKey: string().uuid()
39576
39809
  };
39577
39810
  var TrainingLogLineSchema = object({
39578
39811
  ts: number(),
39579
39812
  text: string()
39580
39813
  });
39581
- method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "admin" }), method(object({ addonId: string() }), TrainingCredentialCheckSchema, {
39814
+ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "admin" }), method(object({}), array(TrainingProviderTypeSchema).readonly(), { auth: "admin" }), method(object({}), array(TrainingProviderEntrySchema).readonly(), { auth: "admin" }), method(object({
39815
+ typeId: string().min(1),
39816
+ name: string().min(1)
39817
+ }), object({ entryId: string() }), {
39818
+ kind: "mutation",
39819
+ auth: "admin"
39820
+ }), method(object({ entryId: string().min(1) }), object({ ok: literal(true) }), {
39821
+ kind: "mutation",
39822
+ auth: "admin"
39823
+ }), method(TrainingProviderUpdateEntryInputSchema, object({ ok: literal(true) }), {
39824
+ kind: "mutation",
39825
+ auth: "admin"
39826
+ }), method(object({ entryId: string().min(1) }), TrainingCredentialCheckSchema, {
39582
39827
  kind: "mutation",
39583
39828
  auth: "admin",
39584
39829
  timeoutMs: 3e4
39585
39830
  }), method(object({
39586
- addonId: string(),
39831
+ entryId: string().min(1),
39587
39832
  gpuType: string(),
39588
39833
  region: string(),
39589
39834
  datasetBytes: number().int().nonnegative(),
@@ -39649,7 +39894,7 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
39649
39894
  kind: "mutation",
39650
39895
  auth: "admin",
39651
39896
  timeoutMs: 5 * 6e4
39652
- }), method(object({ addonId: string() }), array(ProviderJobStatusSchema).readonly(), {
39897
+ }), method(object({ entryId: string().min(1).optional() }), array(ProviderJobStatusSchema).readonly(), {
39653
39898
  auth: "admin",
39654
39899
  timeoutMs: 2 * 6e4
39655
39900
  });
@@ -39659,20 +39904,31 @@ method(object({}), array(TrainingProviderDescriptorSchema).readonly(), { auth: "
39659
39904
  *
39660
39905
  * It owns what every provider must agree on, written once:
39661
39906
  *
39662
- * - **Dataset versions.** Taken over from pipeline-analytics (D796): the rows
39663
- * live here (D808); pipeline-analytics still CUTS a version (it owns the corpus and
39664
- * the export plan) and reaches this store through the five row methods
39665
- * below, so the Retrain page and the export did not change.
39666
39907
  * - **Jobs.** A persisted state machine, a reconcile loop against the
39667
39908
  * provider, a cost guard, a daily orphan sweep and the retention rules.
39668
39909
  * - **The return flow.** Verified artefacts → Model Studio
39669
39910
  * (`custom-model-registry.importModelBundle`) → canary on cameras →
39670
39911
  * rollback. Nothing is ever registered automatically.
39671
39912
  *
39913
+ * Plan/start takes a live {@link TrainingCorpusSelection} (collections +
39914
+ * work-state rule); frame ids are resolved via pipeline-analytics at that
39915
+ * moment and snapshotted on the job. No frozen dataset version.
39916
+ *
39672
39917
  * Every method is `admin`.
39673
39918
  */
39674
- /** A version WITH its frame list — what the export and a job read. */
39675
- var TrainingDatasetVersionRowSchema = RetrainDatasetVersionSchema.omit({ frameCount: true }).extend({ frameIds: array(string()).max(2e4).readonly() });
39919
+ /**
39920
+ * Live corpus criteria for plan/start (design §5.2). Default is complete-only.
39921
+ * Frame ids are resolved at plan/start — never a frozen version id.
39922
+ */
39923
+ var TrainingCorpusSelectionSchema = object({
39924
+ collectionIds: array(string()).min(1),
39925
+ /** Default complete-only for v1 */
39926
+ workState: _enum([
39927
+ "complete",
39928
+ "annotated_or_complete",
39929
+ "any_annotated"
39930
+ ]).default("complete")
39931
+ });
39676
39932
  /** A base model a detector job can fine-tune, and the baseline it is judged against. */
39677
39933
  var TrainingBaseModelSchema = object({
39678
39934
  modelId: string(),
@@ -39690,9 +39946,13 @@ var TrainingPresetSchema = _enum([
39690
39946
  "thorough"
39691
39947
  ]);
39692
39948
  var TrainingJobRequestSchema = object({
39693
- datasetVersionId: string().min(1),
39694
- /** The `training-provider` addon that runs it. */
39695
- addonId: string().min(1),
39949
+ /** Live collection + work-state criteria; resolved at plan/start. */
39950
+ selection: TrainingCorpusSelectionSchema,
39951
+ /**
39952
+ * The provider **entry** that runs it (credentials + defaults).
39953
+ * Resolve to an owning addon via `training-provider.describe` / `listEntries`.
39954
+ */
39955
+ entryId: string().min(1),
39696
39956
  gpuType: string().min(1),
39697
39957
  region: string(),
39698
39958
  baseModelId: string().min(1),
@@ -39751,6 +40011,7 @@ var TrainingJobPlanSchema = object({
39751
40011
  * result lives after the operator acted on it.
39752
40012
  */
39753
40013
  var TrainingJobStateSchema = _enum([
40014
+ "queued",
39754
40015
  "uploading",
39755
40016
  "submitted",
39756
40017
  "starting",
@@ -39804,6 +40065,11 @@ var TrainingJobSchema = object({
39804
40065
  createdAt: number(),
39805
40066
  updatedAt: number(),
39806
40067
  state: TrainingJobStateSchema,
40068
+ /**
40069
+ * Shared by every job enqueued together via `startJobBatch`.
40070
+ * `null` for a lone `startJob`. The engine advances queued siblings by this id.
40071
+ */
40072
+ batchId: string().nullable().default(null),
39807
40073
  stage: TrainingStageSchema.nullable(),
39808
40074
  failure: object({
39809
40075
  reason: TrainingFailureReasonSchema,
@@ -39815,6 +40081,12 @@ var TrainingJobSchema = object({
39815
40081
  maxRuntimeSec: number().int().positive(),
39816
40082
  trainer: TrainerSourceRefSchema,
39817
40083
  datasetLayout: RetrainExportLayoutSchema,
40084
+ /** Frame count snapshotted when the job started (audit; equals `frameIds.length`). */
40085
+ frameCount: number().int().nonnegative(),
40086
+ /** Resolved frame ids at start — the archive ships exactly these. */
40087
+ frameIds: array(string()).max(2e4).readonly(),
40088
+ /** Hash of what those frames taught at start (trainer `dataset.annotationHash`). */
40089
+ annotationHash: string(),
39818
40090
  dataset: object({
39819
40091
  bytes: number().int(),
39820
40092
  sha256: string(),
@@ -39856,13 +40128,7 @@ var TrainingJobSchema = object({
39856
40128
  canary: TrainingCanarySchema.nullable()
39857
40129
  });
39858
40130
  var IdInput = object({ id: string().min(1) });
39859
- method(TrainingDatasetVersionRowSchema, object({ stored: boolean() }), {
39860
- kind: "mutation",
39861
- auth: "admin"
39862
- }), 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() }), {
39863
- kind: "mutation",
39864
- auth: "admin"
39865
- }), method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" }), method(TrainingJobRequestSchema, TrainingJobPlanSchema, {
40131
+ method(object({}), array(TrainingBaseModelSchema).readonly(), { auth: "admin" }), method(TrainingJobRequestSchema, TrainingJobPlanSchema, {
39866
40132
  auth: "admin",
39867
40133
  timeoutMs: 6e4
39868
40134
  }), method(TrainingJobRequestSchema.extend({
@@ -39881,6 +40147,24 @@ method(TrainingDatasetVersionRowSchema, object({ stored: boolean() }), {
39881
40147
  kind: "mutation",
39882
40148
  auth: "admin",
39883
40149
  timeoutMs: 12e4
40150
+ }), method(TrainingJobRequestSchema.omit({ baseModelId: true }).extend({
40151
+ baseModelIds: array(string().min(1)).min(1),
40152
+ name: string().min(1).max(120),
40153
+ maxCostUsd: number().positive(),
40154
+ maxRuntimeSec: number().int().positive(),
40155
+ idempotencyKey: string().min(8).max(80)
40156
+ }), discriminatedUnion("kind", [object({
40157
+ kind: literal("started"),
40158
+ batchId: string(),
40159
+ jobs: array(TrainingJobSchema).min(1).readonly()
40160
+ }), object({
40161
+ kind: literal("refused"),
40162
+ reason: TrainingRefusalReasonSchema,
40163
+ detail: string()
40164
+ })]), {
40165
+ kind: "mutation",
40166
+ auth: "admin",
40167
+ timeoutMs: 12e4
39884
40168
  }), method(object({}), array(TrainingJobSchema).readonly(), { auth: "admin" }), method(IdInput, TrainingJobSchema.nullable(), { auth: "admin" }), method(IdInput, TrainingJobSchema, {
39885
40169
  kind: "mutation",
39886
40170
  auth: "admin",
@@ -43914,6 +44198,36 @@ Object.freeze({
43914
44198
  addonId: null,
43915
44199
  access: "view"
43916
44200
  },
44201
+ "oidcConnections.connectionFormSchema": {
44202
+ capName: "oidc-connections",
44203
+ capScope: "system",
44204
+ addonId: null,
44205
+ access: "view"
44206
+ },
44207
+ "oidcConnections.createConnection": {
44208
+ capName: "oidc-connections",
44209
+ capScope: "system",
44210
+ addonId: null,
44211
+ access: "create"
44212
+ },
44213
+ "oidcConnections.deleteConnection": {
44214
+ capName: "oidc-connections",
44215
+ capScope: "system",
44216
+ addonId: null,
44217
+ access: "delete"
44218
+ },
44219
+ "oidcConnections.listConnections": {
44220
+ capName: "oidc-connections",
44221
+ capScope: "system",
44222
+ addonId: null,
44223
+ access: "view"
44224
+ },
44225
+ "oidcConnections.updateConnection": {
44226
+ capName: "oidc-connections",
44227
+ capScope: "system",
44228
+ addonId: null,
44229
+ access: "create"
44230
+ },
43917
44231
  "osd.getStatus": {
43918
44232
  capName: "osd",
43919
44233
  capScope: "device",
@@ -43986,6 +44300,12 @@ Object.freeze({
43986
44300
  addonId: null,
43987
44301
  access: "create"
43988
44302
  },
44303
+ "osdManager.setSlotCameraEnabled": {
44304
+ capName: "osd-manager",
44305
+ capScope: "system",
44306
+ addonId: null,
44307
+ access: "create"
44308
+ },
43989
44309
  "osdManager.upsertTemplate": {
43990
44310
  capName: "osd-manager",
43991
44311
  capScope: "system",
@@ -44124,12 +44444,6 @@ Object.freeze({
44124
44444
  addonId: null,
44125
44445
  access: "create"
44126
44446
  },
44127
- "pipelineAnalytics.createRetrainDatasetVersion": {
44128
- capName: "pipeline-analytics",
44129
- capScope: "device",
44130
- addonId: null,
44131
- access: "create"
44132
- },
44133
44447
  "pipelineAnalytics.deleteDeviceEvents": {
44134
44448
  capName: "pipeline-analytics",
44135
44449
  capScope: "device",
@@ -44142,12 +44456,6 @@ Object.freeze({
44142
44456
  addonId: null,
44143
44457
  access: "delete"
44144
44458
  },
44145
- "pipelineAnalytics.deleteRetrainDatasetVersion": {
44146
- capName: "pipeline-analytics",
44147
- capScope: "device",
44148
- addonId: null,
44149
- access: "delete"
44150
- },
44151
44459
  "pipelineAnalytics.deleteTracks": {
44152
44460
  capName: "pipeline-analytics",
44153
44461
  capScope: "device",
@@ -44250,6 +44558,12 @@ Object.freeze({
44250
44558
  addonId: null,
44251
44559
  access: "view"
44252
44560
  },
44561
+ "pipelineAnalytics.getRetrainCorpusKpi": {
44562
+ capName: "pipeline-analytics",
44563
+ capScope: "device",
44564
+ addonId: null,
44565
+ access: "view"
44566
+ },
44253
44567
  "pipelineAnalytics.getRetrainExportUrl": {
44254
44568
  capName: "pipeline-analytics",
44255
44569
  capScope: "device",
@@ -44370,7 +44684,7 @@ Object.freeze({
44370
44684
  addonId: null,
44371
44685
  access: "view"
44372
44686
  },
44373
- "pipelineAnalytics.listRetrainDatasetVersions": {
44687
+ "pipelineAnalytics.listRetrainCorpusPage": {
44374
44688
  capName: "pipeline-analytics",
44375
44689
  capScope: "device",
44376
44690
  addonId: null,
@@ -44424,12 +44738,6 @@ Object.freeze({
44424
44738
  addonId: null,
44425
44739
  access: "create"
44426
44740
  },
44427
- "pipelineAnalytics.previewRetrainDataset": {
44428
- capName: "pipeline-analytics",
44429
- capScope: "device",
44430
- addonId: null,
44431
- access: "view"
44432
- },
44433
44741
  "pipelineAnalytics.proposeRetrainAnnotations": {
44434
44742
  capName: "pipeline-analytics",
44435
44743
  capScope: "device",
@@ -44508,6 +44816,12 @@ Object.freeze({
44508
44816
  addonId: null,
44509
44817
  access: "create"
44510
44818
  },
44819
+ "pipelineAnalytics.resolveRetrainTrainingCorpus": {
44820
+ capName: "pipeline-analytics",
44821
+ capScope: "device",
44822
+ addonId: null,
44823
+ access: "view"
44824
+ },
44511
44825
  "pipelineAnalytics.restageRetrainTrack": {
44512
44826
  capName: "pipeline-analytics",
44513
44827
  capScope: "device",
@@ -44568,12 +44882,6 @@ Object.freeze({
44568
44882
  addonId: null,
44569
44883
  access: "create"
44570
44884
  },
44571
- "pipelineAnalytics.verifyRetrainDatasetVersion": {
44572
- capName: "pipeline-analytics",
44573
- capScope: "device",
44574
- addonId: null,
44575
- access: "view"
44576
- },
44577
44885
  "pipelineAnalytics.wipeAllAnalytics": {
44578
44886
  capName: "pipeline-analytics",
44579
44887
  capScope: "device",
@@ -46968,18 +47276,6 @@ Object.freeze({
46968
47276
  addonId: null,
46969
47277
  access: "create"
46970
47278
  },
46971
- "training.findDatasetVersionIdByName": {
46972
- capName: "training",
46973
- capScope: "system",
46974
- addonId: null,
46975
- access: "view"
46976
- },
46977
- "training.getDatasetVersion": {
46978
- capName: "training",
46979
- capScope: "system",
46980
- addonId: null,
46981
- access: "view"
46982
- },
46983
47279
  "training.getJob": {
46984
47280
  capName: "training",
46985
47281
  capScope: "system",
@@ -46998,12 +47294,6 @@ Object.freeze({
46998
47294
  addonId: null,
46999
47295
  access: "view"
47000
47296
  },
47001
- "training.listDatasetVersions": {
47002
- capName: "training",
47003
- capScope: "system",
47004
- addonId: null,
47005
- access: "view"
47006
- },
47007
47297
  "training.listJobs": {
47008
47298
  capName: "training",
47009
47299
  capScope: "system",
@@ -47016,54 +47306,66 @@ Object.freeze({
47016
47306
  addonId: null,
47017
47307
  access: "view"
47018
47308
  },
47019
- "training.putDatasetVersion": {
47309
+ "training.registerResult": {
47020
47310
  capName: "training",
47021
47311
  capScope: "system",
47022
47312
  addonId: null,
47023
47313
  access: "create"
47024
47314
  },
47025
- "training.registerResult": {
47315
+ "training.rollbackCanary": {
47026
47316
  capName: "training",
47027
47317
  capScope: "system",
47028
47318
  addonId: null,
47029
47319
  access: "create"
47030
47320
  },
47031
- "training.removeDatasetVersion": {
47321
+ "training.startJob": {
47032
47322
  capName: "training",
47033
47323
  capScope: "system",
47034
47324
  addonId: null,
47035
- access: "delete"
47325
+ access: "create"
47036
47326
  },
47037
- "training.rollbackCanary": {
47327
+ "training.startJobBatch": {
47038
47328
  capName: "training",
47039
47329
  capScope: "system",
47040
47330
  addonId: null,
47041
47331
  access: "create"
47042
47332
  },
47043
- "training.startJob": {
47044
- capName: "training",
47333
+ "trainingProvider.cancelJob": {
47334
+ capName: "training-provider",
47045
47335
  capScope: "system",
47046
47336
  addonId: null,
47047
47337
  access: "create"
47048
47338
  },
47049
- "trainingProvider.cancelJob": {
47339
+ "trainingProvider.cleanupJob": {
47050
47340
  capName: "training-provider",
47051
47341
  capScope: "system",
47052
47342
  addonId: null,
47053
47343
  access: "create"
47054
47344
  },
47055
- "trainingProvider.cleanupJob": {
47345
+ "trainingProvider.createEntry": {
47056
47346
  capName: "training-provider",
47057
47347
  capScope: "system",
47058
47348
  addonId: null,
47059
47349
  access: "create"
47060
47350
  },
47351
+ "trainingProvider.deleteEntry": {
47352
+ capName: "training-provider",
47353
+ capScope: "system",
47354
+ addonId: null,
47355
+ access: "delete"
47356
+ },
47061
47357
  "trainingProvider.describe": {
47062
47358
  capName: "training-provider",
47063
47359
  capScope: "system",
47064
47360
  addonId: null,
47065
47361
  access: "view"
47066
47362
  },
47363
+ "trainingProvider.describeTypes": {
47364
+ capName: "training-provider",
47365
+ capScope: "system",
47366
+ addonId: null,
47367
+ access: "view"
47368
+ },
47067
47369
  "trainingProvider.estimateJob": {
47068
47370
  capName: "training-provider",
47069
47371
  capScope: "system",
@@ -47076,6 +47378,12 @@ Object.freeze({
47076
47378
  addonId: null,
47077
47379
  access: "view"
47078
47380
  },
47381
+ "trainingProvider.listEntries": {
47382
+ capName: "training-provider",
47383
+ capScope: "system",
47384
+ addonId: null,
47385
+ access: "view"
47386
+ },
47079
47387
  "trainingProvider.listJobEvents": {
47080
47388
  capName: "training-provider",
47081
47389
  capScope: "system",
@@ -47106,6 +47414,12 @@ Object.freeze({
47106
47414
  addonId: null,
47107
47415
  access: "create"
47108
47416
  },
47417
+ "trainingProvider.updateEntry": {
47418
+ capName: "training-provider",
47419
+ capScope: "system",
47420
+ addonId: null,
47421
+ access: "create"
47422
+ },
47109
47423
  "trainingProvider.uploadDataset": {
47110
47424
  capName: "training-provider",
47111
47425
  capScope: "system",
@@ -50316,6 +50630,11 @@ Object.freeze({
50316
50630
  form: "single",
50317
50631
  optional: false
50318
50632
  }],
50633
+ "osdManager.setSlotCameraEnabled": [{
50634
+ name: "deviceId",
50635
+ form: "single",
50636
+ optional: false
50637
+ }],
50319
50638
  "petFeeder.callPet": [{
50320
50639
  name: "deviceId",
50321
50640
  form: "single",
@@ -50536,6 +50855,11 @@ Object.freeze({
50536
50855
  form: "array",
50537
50856
  optional: false
50538
50857
  }],
50858
+ "pipelineAnalytics.listRetrainCorpusPage": [{
50859
+ name: "deviceIds",
50860
+ form: "array",
50861
+ optional: true
50862
+ }],
50539
50863
  "pipelineAnalytics.listRetrainStaging": [{
50540
50864
  name: "deviceIds",
50541
50865
  form: "array",
@@ -51645,6 +51969,7 @@ Object.freeze({
51645
51969
  });
51646
51970
  Object.freeze({
51647
51971
  "broker": "broker",
51972
+ "calendar-source": "calendar",
51648
51973
  "device-export": "device-export",
51649
51974
  "llm": "ai",
51650
51975
  "mesh-network": "mesh",
@@ -52684,4 +53009,165 @@ DEFAULT_NATIVE_LEASE_SETTINGS.admission;
52684
53009
  var MB = 1024 * 1024;
52685
53010
  1024 * MB, 3072 * MB;
52686
53011
  //#endregion
52687
- export { buildAddonRouteProvider as a, userPasskeysCapability as c, array as d, boolean as f, string as h, authProviderCapability as i, errMsg as l, object as m, addonRoutesCapability as n, isDisplayIconKey as o, number as p, addonWidgetsSourceCapability as r, loginMethodCapability as s, SSO_STATE_COOKIE as t, BaseAddon as u };
53012
+ Object.defineProperty(exports, "BaseAddon", {
53013
+ enumerable: true,
53014
+ get: function() {
53015
+ return BaseAddon;
53016
+ }
53017
+ });
53018
+ Object.defineProperty(exports, "SECRET_CLEAR", {
53019
+ enumerable: true,
53020
+ get: function() {
53021
+ return SECRET_CLEAR;
53022
+ }
53023
+ });
53024
+ Object.defineProperty(exports, "SSO_STATE_COOKIE", {
53025
+ enumerable: true,
53026
+ get: function() {
53027
+ return SSO_STATE_COOKIE;
53028
+ }
53029
+ });
53030
+ Object.defineProperty(exports, "__commonJSMin", {
53031
+ enumerable: true,
53032
+ get: function() {
53033
+ return __commonJSMin;
53034
+ }
53035
+ });
53036
+ Object.defineProperty(exports, "__esmMin", {
53037
+ enumerable: true,
53038
+ get: function() {
53039
+ return __esmMin;
53040
+ }
53041
+ });
53042
+ Object.defineProperty(exports, "__exportAll", {
53043
+ enumerable: true,
53044
+ get: function() {
53045
+ return __exportAll;
53046
+ }
53047
+ });
53048
+ Object.defineProperty(exports, "__toCommonJS", {
53049
+ enumerable: true,
53050
+ get: function() {
53051
+ return __toCommonJS;
53052
+ }
53053
+ });
53054
+ Object.defineProperty(exports, "__toESM", {
53055
+ enumerable: true,
53056
+ get: function() {
53057
+ return __toESM;
53058
+ }
53059
+ });
53060
+ Object.defineProperty(exports, "addonRoutesCapability", {
53061
+ enumerable: true,
53062
+ get: function() {
53063
+ return addonRoutesCapability;
53064
+ }
53065
+ });
53066
+ Object.defineProperty(exports, "addonWidgetsSourceCapability", {
53067
+ enumerable: true,
53068
+ get: function() {
53069
+ return addonWidgetsSourceCapability;
53070
+ }
53071
+ });
53072
+ Object.defineProperty(exports, "array", {
53073
+ enumerable: true,
53074
+ get: function() {
53075
+ return array;
53076
+ }
53077
+ });
53078
+ Object.defineProperty(exports, "arrayItemFieldPath", {
53079
+ enumerable: true,
53080
+ get: function() {
53081
+ return arrayItemFieldPath;
53082
+ }
53083
+ });
53084
+ Object.defineProperty(exports, "authProviderCapability", {
53085
+ enumerable: true,
53086
+ get: function() {
53087
+ return authProviderCapability;
53088
+ }
53089
+ });
53090
+ Object.defineProperty(exports, "boolean", {
53091
+ enumerable: true,
53092
+ get: function() {
53093
+ return boolean;
53094
+ }
53095
+ });
53096
+ Object.defineProperty(exports, "buildAddonRouteProvider", {
53097
+ enumerable: true,
53098
+ get: function() {
53099
+ return buildAddonRouteProvider;
53100
+ }
53101
+ });
53102
+ Object.defineProperty(exports, "errMsg", {
53103
+ enumerable: true,
53104
+ get: function() {
53105
+ return errMsg;
53106
+ }
53107
+ });
53108
+ Object.defineProperty(exports, "globalSecretScope", {
53109
+ enumerable: true,
53110
+ get: function() {
53111
+ return globalSecretScope;
53112
+ }
53113
+ });
53114
+ Object.defineProperty(exports, "isDisplayIconKey", {
53115
+ enumerable: true,
53116
+ get: function() {
53117
+ return isDisplayIconKey;
53118
+ }
53119
+ });
53120
+ Object.defineProperty(exports, "isSecretClear", {
53121
+ enumerable: true,
53122
+ get: function() {
53123
+ return isSecretClear;
53124
+ }
53125
+ });
53126
+ Object.defineProperty(exports, "isSecretMarker", {
53127
+ enumerable: true,
53128
+ get: function() {
53129
+ return isSecretMarker;
53130
+ }
53131
+ });
53132
+ Object.defineProperty(exports, "loginMethodCapability", {
53133
+ enumerable: true,
53134
+ get: function() {
53135
+ return loginMethodCapability;
53136
+ }
53137
+ });
53138
+ Object.defineProperty(exports, "number", {
53139
+ enumerable: true,
53140
+ get: function() {
53141
+ return number;
53142
+ }
53143
+ });
53144
+ Object.defineProperty(exports, "object", {
53145
+ enumerable: true,
53146
+ get: function() {
53147
+ return object;
53148
+ }
53149
+ });
53150
+ Object.defineProperty(exports, "oidcConnectionsCapability", {
53151
+ enumerable: true,
53152
+ get: function() {
53153
+ return oidcConnectionsCapability;
53154
+ }
53155
+ });
53156
+ Object.defineProperty(exports, "string", {
53157
+ enumerable: true,
53158
+ get: function() {
53159
+ return string;
53160
+ }
53161
+ });
53162
+ Object.defineProperty(exports, "toSecretFieldView", {
53163
+ enumerable: true,
53164
+ get: function() {
53165
+ return toSecretFieldView;
53166
+ }
53167
+ });
53168
+ Object.defineProperty(exports, "userPasskeysCapability", {
53169
+ enumerable: true,
53170
+ get: function() {
53171
+ return userPasskeysCapability;
53172
+ }
53173
+ });