@camstack/addon-agent-ui 1.2.335 → 1.2.337
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/CHANGELOG.md +12 -0
- package/dist/.bundle-modules.json +6 -6
- package/dist/addon.js +64 -344
- package/dist/assets/{MotionZonesSettings-CWCXCBzB.js → MotionZonesSettings-Bql_KGR7.js} +1 -1
- package/dist/assets/{PrivacyMaskSettings-Dyhdp0pj.js → PrivacyMaskSettings-Cjgq7MXA.js} +1 -1
- package/dist/assets/{SceneMonitorEditor-BID-NcQd.js → SceneMonitorEditor-DQpvO_9L.js} +1 -1
- package/dist/assets/index-C3JZYknO.js +145 -0
- package/dist/index.html +1 -1
- package/package.json +2 -2
- package/dist/assets/index-C9Oits7V.js +0 -145
package/dist/addon.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
//#region ../types/dist/event-category-
|
|
3
|
+
//#region ../types/dist/event-category-78tcBemo.mjs
|
|
4
4
|
var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
5
5
|
EventCategory["SystemBoot"] = "system.boot";
|
|
6
6
|
EventCategory["SystemAddonsReady"] = "system.addons-ready";
|
|
@@ -121,6 +121,23 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
121
121
|
*/
|
|
122
122
|
EventCategory["AddonLoadRecovered"] = "addon.load-recovered";
|
|
123
123
|
/**
|
|
124
|
+
* An addon is RUNNING although its installed package is below what the
|
|
125
|
+
* running server requires (`camstack.requires.addons` of the server, or the
|
|
126
|
+
* addon's own `requires.server`). Raised once per streak by the unsupported-
|
|
127
|
+
* addon tracker, on the hub and on agents; AlertCenter turns it into one
|
|
128
|
+
* operator alert per node and package. The addon is never held back for it.
|
|
129
|
+
*
|
|
130
|
+
* Payload: `{ packageName, addonId, nodeId, installedVersion, requiredMinimum, serverVersion, unmet }`.
|
|
131
|
+
*/
|
|
132
|
+
EventCategory["AddonUnsupportedVersion"] = "addon.unsupported-version";
|
|
133
|
+
/**
|
|
134
|
+
* The package of an {@link AddonUnsupportedVersion} alert reached a supported
|
|
135
|
+
* version, or is no longer installed on the node. AlertCenter dismisses the matching alert.
|
|
136
|
+
*
|
|
137
|
+
* Payload: `{ packageName, addonId, nodeId }`.
|
|
138
|
+
*/
|
|
139
|
+
EventCategory["AddonUnsupportedResolved"] = "addon.unsupported-resolved";
|
|
140
|
+
/**
|
|
124
141
|
* Monitor scheduled the next retry for a failed addon. Transient —
|
|
125
142
|
* surfaced to the UI for live-updating the "next retry in Ns"
|
|
126
143
|
* countdown on the Addons page row, NOT persisted as an alert.
|
|
@@ -231,7 +248,7 @@ var EventCategory = /* @__PURE__ */ function(EventCategory) {
|
|
|
231
248
|
EventCategory["ProcessRestarted"] = "process.restarted";
|
|
232
249
|
/**
|
|
233
250
|
* The SET of storage locations changed — one was created, edited, enabled,
|
|
234
|
-
* disabled or deleted through
|
|
251
|
+
* disabled or deleted through the location instances or the forced-delete action.
|
|
235
252
|
*
|
|
236
253
|
* Telemetry, not a transaction (D8/D11): every consumer that re-resolves on
|
|
237
254
|
* it must also converge on its own periodic path, because a dropped event
|
|
@@ -5849,7 +5866,7 @@ var ZodIssueCode = {
|
|
|
5849
5866
|
var ZodFirstPartyTypeKind;
|
|
5850
5867
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5851
5868
|
//#endregion
|
|
5852
|
-
//#region ../types/dist/sleep-
|
|
5869
|
+
//#region ../types/dist/sleep-AEnTN3b4.mjs
|
|
5853
5870
|
/**
|
|
5854
5871
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5855
5872
|
* window to float samples (D455).
|
|
@@ -9760,7 +9777,6 @@ var CAP_NAMES = Object.freeze([
|
|
|
9760
9777
|
"notifier",
|
|
9761
9778
|
"numeric-sensor",
|
|
9762
9779
|
"oauth-integration",
|
|
9763
|
-
"oidc-connections",
|
|
9764
9780
|
"osd",
|
|
9765
9781
|
"osd-manager",
|
|
9766
9782
|
"pet-feeder",
|
|
@@ -11652,8 +11668,7 @@ Object.freeze({
|
|
|
11652
11668
|
"device-provider": { "reloadDevice": 18e4 },
|
|
11653
11669
|
"llm": {
|
|
11654
11670
|
"generate": 6e5,
|
|
11655
|
-
"generateVision": 6e5
|
|
11656
|
-
"testProfile": 6e5
|
|
11671
|
+
"generateVision": 6e5
|
|
11657
11672
|
},
|
|
11658
11673
|
"llm-runtime": {
|
|
11659
11674
|
"complete": 6e5,
|
|
@@ -13056,17 +13071,18 @@ var IntegrationInstanceRefSchema = object({
|
|
|
13056
13071
|
* message to what the kind supports — callers never special-case a service.
|
|
13057
13072
|
*
|
|
13058
13073
|
* DESIGN DECISIONS (locked):
|
|
13059
|
-
* -
|
|
13060
|
-
*
|
|
13061
|
-
*
|
|
13062
|
-
*
|
|
13063
|
-
*
|
|
13064
|
-
*
|
|
13065
|
-
*
|
|
13066
|
-
*
|
|
13067
|
-
*
|
|
13068
|
-
* routable. `send` / `testTarget` /
|
|
13069
|
-
* `
|
|
13074
|
+
* - A target is an INSTANCE of this function cap (epic #440, step 6): the
|
|
13075
|
+
* providers serve their targets as `integration-instances` records, one
|
|
13076
|
+
* record kind per target kind, and the admin lists, adds, edits, switches
|
|
13077
|
+
* and deletes them through that cap. This cap keeps what an instance cannot
|
|
13078
|
+
* say: the kind catalogue (`listTargetKinds`: capabilities, delivery
|
|
13079
|
+
* parameters, brand icon), dispatch (`send`, `testTarget`) and the form
|
|
13080
|
+
* helpers (`discoverTargets`, `probeTargetConfig`).
|
|
13081
|
+
* - `listTargetKinds` / `discoverTargets` return arrays → the generated
|
|
13082
|
+
* cap-mount auto-`concatCollection`-fans them across every registered
|
|
13083
|
+
* provider so one catalog is routable. `send` / `testTarget` /
|
|
13084
|
+
* `probeTargetConfig` route to ONE provider by the `addonId` the generated
|
|
13085
|
+
* collection router extracts from the call input.
|
|
13070
13086
|
* - `Attachment.bytes` is `Uint8Array`. Transport-safe: superjson (the tRPC
|
|
13071
13087
|
* transformer) + UDS MsgPack both round-trip typed arrays — already used by
|
|
13072
13088
|
* `storage` / `storage-provider` / `recording` caps over the same path. No
|
|
@@ -13311,7 +13327,7 @@ var TargetKindCapsSchema = object({
|
|
|
13311
13327
|
* the union is large and not meant for runtime validation here; the exported
|
|
13312
13328
|
* `TargetKind` type re-tightens `configSchema` to `ConfigUISchema`.
|
|
13313
13329
|
*/
|
|
13314
|
-
var ConfigSchemaPassthrough$
|
|
13330
|
+
var ConfigSchemaPassthrough$3 = unknown();
|
|
13315
13331
|
var TargetKindSchema = object({
|
|
13316
13332
|
kind: string(),
|
|
13317
13333
|
label: string(),
|
|
@@ -13348,7 +13364,7 @@ var TargetKindSchema = object({
|
|
|
13348
13364
|
* its raster path, which is the safe default for an unknown image.
|
|
13349
13365
|
*/
|
|
13350
13366
|
iconMediaType: string().optional(),
|
|
13351
|
-
configSchema: ConfigSchemaPassthrough$
|
|
13367
|
+
configSchema: ConfigSchemaPassthrough$3,
|
|
13352
13368
|
/**
|
|
13353
13369
|
* The config keys that decide WHERE this kind's secrets are sent (server,
|
|
13354
13370
|
* base URL, instance, chat, recipient). A save that changes any of them
|
|
@@ -13370,9 +13386,11 @@ var TargetKindSchema = object({
|
|
|
13370
13386
|
caps: TargetKindCapsSchema
|
|
13371
13387
|
});
|
|
13372
13388
|
/**
|
|
13373
|
-
* A
|
|
13374
|
-
*
|
|
13375
|
-
*
|
|
13389
|
+
* A target as a provider's own code sees it (the notification-center bridge, the
|
|
13390
|
+
* send path): the flat record body split into the name, the switch and the
|
|
13391
|
+
* kind's fields. `config` holds secrets; a reader that serves it to a client
|
|
13392
|
+
* REDACTS secret fields (a presence marker only) — never round-trip a stored
|
|
13393
|
+
* secret to the UI.
|
|
13376
13394
|
*/
|
|
13377
13395
|
var TargetSchema = object({
|
|
13378
13396
|
id: string(),
|
|
@@ -13415,13 +13433,13 @@ var ProbeTargetConfigResultSchema = object({
|
|
|
13415
13433
|
stateInstance: string().optional(),
|
|
13416
13434
|
error: string().optional()
|
|
13417
13435
|
});
|
|
13418
|
-
method(object({}), array(TargetKindSchema)), method(object({
|
|
13436
|
+
method(object({}), array(TargetKindSchema)), method(object({
|
|
13419
13437
|
kind: string(),
|
|
13420
13438
|
config: record(string(), unknown()).optional(),
|
|
13421
13439
|
/**
|
|
13422
13440
|
* When editing / duplicating, the blank password field never round-trips
|
|
13423
13441
|
* the stored token. Pass the source target id so the provider can restore
|
|
13424
|
-
* secrets server-side before dialling
|
|
13442
|
+
* secrets server-side before dialling.
|
|
13425
13443
|
*/
|
|
13426
13444
|
targetId: string().optional()
|
|
13427
13445
|
}), array(DiscoveredTargetSchema), { auth: "admin" }), method(object({
|
|
@@ -13444,27 +13462,6 @@ method(object({}), array(TargetKindSchema)), method(object({}), array(TargetSche
|
|
|
13444
13462
|
}), TestResultSchema, {
|
|
13445
13463
|
kind: "mutation",
|
|
13446
13464
|
auth: "admin"
|
|
13447
|
-
}), method(object({
|
|
13448
|
-
target: TargetSchema,
|
|
13449
|
-
/**
|
|
13450
|
-
* Duplicate flow: create a NEW target id while copying secrets from an
|
|
13451
|
-
* existing row. The UI never holds the stored token; blank / redacted
|
|
13452
|
-
* password fields are restored from this source (D634 still applies if
|
|
13453
|
-
* destinations diverge without a re-typed secret).
|
|
13454
|
-
*/
|
|
13455
|
-
cloneSecretsFrom: string().optional()
|
|
13456
|
-
}), TargetSchema, {
|
|
13457
|
-
kind: "mutation",
|
|
13458
|
-
auth: "admin"
|
|
13459
|
-
}), method(object({ targetId: string() }), _void(), {
|
|
13460
|
-
kind: "mutation",
|
|
13461
|
-
auth: "admin"
|
|
13462
|
-
}), method(object({
|
|
13463
|
-
targetId: string(),
|
|
13464
|
-
enabled: boolean()
|
|
13465
|
-
}), _void(), {
|
|
13466
|
-
kind: "mutation",
|
|
13467
|
-
auth: "admin"
|
|
13468
13465
|
});
|
|
13469
13466
|
looseObject({
|
|
13470
13467
|
name: string().min(1),
|
|
@@ -21722,7 +21719,6 @@ var SYSTEM_CAP_VOCABULARY = {
|
|
|
21722
21719
|
"notification-output": system("notification delivery — reached through notifier devices and rules"),
|
|
21723
21720
|
"notification-rules": system("notification rules — authored on their own page"),
|
|
21724
21721
|
"oauth-integration": system(IDENTITY),
|
|
21725
|
-
"oidc-connections": system(IDENTITY),
|
|
21726
21722
|
"osd-manager": system(PIPELINE),
|
|
21727
21723
|
"pipeline-executor": system(PIPELINE),
|
|
21728
21724
|
"pipeline-orchestrator": system(PIPELINE),
|
|
@@ -53400,7 +53396,7 @@ method(_void(), array(IntegrationWithStateSchema)), method(object({ id: string()
|
|
|
53400
53396
|
* or the redaction token KEEPS the stored secret; `{ $secretClear: true }`
|
|
53401
53397
|
* clears it.
|
|
53402
53398
|
*/
|
|
53403
|
-
var ConfigSchemaPassthrough$
|
|
53399
|
+
var ConfigSchemaPassthrough$2 = custom();
|
|
53404
53400
|
var IntegrationInstanceIdSchema = string().min(1);
|
|
53405
53401
|
var IntegrationInstanceModeSchema = _enum(["single", "multiple"]);
|
|
53406
53402
|
/**
|
|
@@ -53446,7 +53442,16 @@ var IntegrationInstanceKindSchema = object({
|
|
|
53446
53442
|
/** Relative hub path to start an interactive account link of an instance of this kind. */
|
|
53447
53443
|
connectPath: string().min(1).optional(),
|
|
53448
53444
|
/** Relative hub path to disconnect that account. */
|
|
53449
|
-
disconnectPath: string().min(1).optional()
|
|
53445
|
+
disconnectPath: string().min(1).optional(),
|
|
53446
|
+
/**
|
|
53447
|
+
* Parts of the edit dialog the flat form cannot draw (a node picker, a model source), named by a
|
|
53448
|
+
* GENERIC widget id the client maps to a component; a client that knows none of them shows none.
|
|
53449
|
+
* `connection` widgets write connection values, `model` widgets own the model choice.
|
|
53450
|
+
*/
|
|
53451
|
+
widgets: array(object({
|
|
53452
|
+
id: string().min(1),
|
|
53453
|
+
placement: _enum(["connection", "model"])
|
|
53454
|
+
})).optional()
|
|
53450
53455
|
});
|
|
53451
53456
|
/**
|
|
53452
53457
|
* How devices of an instance are found. `none`: the operator adds them by hand; `lan`: the addon
|
|
@@ -53544,7 +53549,7 @@ method(_void(), IntegrationInstanceDescriptionSchema, { auth: "admin" }), method
|
|
|
53544
53549
|
id: IntegrationInstanceIdSchema.nullable(),
|
|
53545
53550
|
/** The kind of the create form (`id: null`) of a provider with several. */
|
|
53546
53551
|
kind: string().min(1).optional()
|
|
53547
|
-
}), ConfigSchemaPassthrough$
|
|
53552
|
+
}), ConfigSchemaPassthrough$2, { auth: "admin" }), method(_void(), array(IntegrationInstanceSchema).readonly(), { auth: "admin" }), method(object({ id: IntegrationInstanceIdSchema }), IntegrationInstanceSchema.nullable(), { auth: "admin" }), method(object({
|
|
53548
53553
|
id: IntegrationInstanceIdSchema.optional(),
|
|
53549
53554
|
name: string().min(1),
|
|
53550
53555
|
kind: string().min(1).optional(),
|
|
@@ -54476,12 +54481,12 @@ var LlmModelInfoSchema = object({
|
|
|
54476
54481
|
});
|
|
54477
54482
|
/**
|
|
54478
54483
|
* The provider-specific part of a profile, validated by the provider that owns
|
|
54479
|
-
* the kind (
|
|
54484
|
+
* the kind (saving an instance refuses what it does not accept). A field its
|
|
54480
54485
|
* `connectionSchema` declares `type: 'password'` is a secret: it is held in the
|
|
54481
54486
|
* keychain, never in the row, and reads back as the redaction marker.
|
|
54482
54487
|
*/
|
|
54483
54488
|
var LlmProviderConfigSchema = record(string(), unknown());
|
|
54484
|
-
|
|
54489
|
+
object({
|
|
54485
54490
|
id: string(),
|
|
54486
54491
|
name: string(),
|
|
54487
54492
|
/** The provider-declared kind (`LlmProfileKindDescriptor.kind`). */
|
|
@@ -54575,8 +54580,8 @@ var LlmProviderWidgetSchema = object({
|
|
|
54575
54580
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
54576
54581
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
54577
54582
|
* notification-output.cap.ts:151); the exported TS type re-tightens it. */
|
|
54578
|
-
var ConfigSchemaPassthrough$
|
|
54579
|
-
|
|
54583
|
+
var ConfigSchemaPassthrough$1 = unknown();
|
|
54584
|
+
object({
|
|
54580
54585
|
kind: LlmProfileKindSchema,
|
|
54581
54586
|
label: string(),
|
|
54582
54587
|
/** A generic icon name (`cloud`, `plug`, `cpu`) — never a glyph or a logo. */
|
|
@@ -54584,9 +54589,9 @@ var LlmProfileKindDescriptorSchema = object({
|
|
|
54584
54589
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
54585
54590
|
addonId: string(),
|
|
54586
54591
|
/** The provider's own fields (`providerConfig`); `password` fields are keychain-held. */
|
|
54587
|
-
connectionSchema: ConfigSchemaPassthrough$
|
|
54592
|
+
connectionSchema: ConfigSchemaPassthrough$1,
|
|
54588
54593
|
/** Provider fields that belong under "Advanced" (extra headers, runtime tuning). */
|
|
54589
|
-
advancedSchema: ConfigSchemaPassthrough$
|
|
54594
|
+
advancedSchema: ConfigSchemaPassthrough$1.optional(),
|
|
54590
54595
|
/** The kind's defaults; a model from `listModels` may override any of them. */
|
|
54591
54596
|
features: LlmModelFeaturesSchema,
|
|
54592
54597
|
/** `false` = the provider stamps `supportsVision` itself (from what a node reports). */
|
|
@@ -54715,20 +54720,7 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
54715
54720
|
}), method(object({
|
|
54716
54721
|
addonId: string().optional(),
|
|
54717
54722
|
requestId: string()
|
|
54718
|
-
}), _void(), { kind: "mutation" }), method(
|
|
54719
|
-
kind: "mutation",
|
|
54720
|
-
auth: "admin"
|
|
54721
|
-
}), method(RawSecretMigrationInputSchema, RawSecretMigrationReportSchema, {
|
|
54722
|
-
kind: "mutation",
|
|
54723
|
-
auth: "admin"
|
|
54724
|
-
}), method(ProfileRefInputSchema, _void(), {
|
|
54725
|
-
kind: "mutation",
|
|
54726
|
-
auth: "admin"
|
|
54727
|
-
}), method(ProfileRefInputSchema, LlmGenerateResultSchema, {
|
|
54728
|
-
kind: "mutation",
|
|
54729
|
-
auth: "admin",
|
|
54730
|
-
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
54731
|
-
}), method(LlmListModelsInputSchema, LlmListModelsResultSchema, {
|
|
54723
|
+
}), _void(), { kind: "mutation" }), method(LlmListModelsInputSchema, LlmListModelsResultSchema, {
|
|
54732
54724
|
kind: "mutation",
|
|
54733
54725
|
auth: "admin"
|
|
54734
54726
|
}), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
@@ -55723,20 +55715,7 @@ method(_void(), MeshStatusSchema), method(object({
|
|
|
55723
55715
|
/** Optional hostname override the host should advertise once joined. */
|
|
55724
55716
|
hostname: string().optional() }), object({
|
|
55725
55717
|
/** Authentication URL the operator should open in a browser. */
|
|
55726
|
-
loginUrl: string() }), { kind: "mutation" }), method(_void(), object({ left: literal(true) }), { kind: "mutation" }), method(_void(), object({ loggedOut: literal(true) }), { kind: "mutation" }), method(_void(), object({ peers: array(MeshPeerSchema).readonly() }))
|
|
55727
|
-
/** Optional auth key — when provided, probes the key validity
|
|
55728
|
-
* against the provider's API. Omit when already joined to
|
|
55729
|
-
* just ping the daemon. */
|
|
55730
|
-
authKey: string().optional() }), object({
|
|
55731
|
-
ok: boolean(),
|
|
55732
|
-
/** Provider-side identifier resolved by the probe (tailnet
|
|
55733
|
-
* name for Tailscale, network id for ZeroTier, etc.). */
|
|
55734
|
-
tenant: string().optional(),
|
|
55735
|
-
/** Daemon binary version, when reachable. */
|
|
55736
|
-
daemonVersion: string().optional(),
|
|
55737
|
-
/** Human-readable error when `ok: false`. */
|
|
55738
|
-
error: string().optional()
|
|
55739
|
-
}), { kind: "mutation" });
|
|
55718
|
+
loginUrl: string() }), { kind: "mutation" }), method(_void(), object({ left: literal(true) }), { kind: "mutation" }), method(_void(), object({ loggedOut: literal(true) }), { kind: "mutation" }), method(_void(), object({ peers: array(MeshPeerSchema).readonly() }));
|
|
55740
55719
|
object({
|
|
55741
55720
|
value: number().nullable().meta(readingMeta("device", { label: "Total" })),
|
|
55742
55721
|
lastFetchedAt: number()
|
|
@@ -65394,61 +65373,6 @@ var OauthIntegrationDescriptorSchema = object({
|
|
|
65394
65373
|
});
|
|
65395
65374
|
method(_void(), OauthIntegrationDescriptorSchema, { auth: "admin" });
|
|
65396
65375
|
/**
|
|
65397
|
-
* `oidc-connections` — CRUD for IdP rows under `auth-oidc` (D828 sibling).
|
|
65398
|
-
*
|
|
65399
|
-
* One hub-only singleton (`auth-oidc`). The Settings UI is a DataTable +
|
|
65400
|
-
* ItemFormDialog; there is no `editable-array` in `globalSettingsSchema`.
|
|
65401
|
-
* Operator-chosen `id` is the URL slug (`/addon/auth-oidc/<id>/…`) and is
|
|
65402
|
-
* immutable after create.
|
|
65403
|
-
*/
|
|
65404
|
-
var ConfigSchemaPassthrough$1 = unknown();
|
|
65405
|
-
var OidcConnectionSchema = object({
|
|
65406
|
-
id: string().min(1),
|
|
65407
|
-
displayName: string(),
|
|
65408
|
-
icon: string(),
|
|
65409
|
-
issuerUrl: string(),
|
|
65410
|
-
clientId: string(),
|
|
65411
|
-
/** Client id + secret present — never the secret value. */
|
|
65412
|
-
configured: boolean(),
|
|
65413
|
-
/**
|
|
65414
|
-
* Values for the connection form schema. `clientSecret` is a keychain
|
|
65415
|
-
* {@link SecretFieldView} or `null` / `''`, never plaintext (D789).
|
|
65416
|
-
*/
|
|
65417
|
-
formValues: record(string(), unknown()).optional()
|
|
65418
|
-
});
|
|
65419
|
-
/**
|
|
65420
|
-
* Patch one connection. Omitted or empty `clientSecret` keeps the stored
|
|
65421
|
-
* secret (D787). `{ $secretClear: true }` clears it. `id` is never renamed.
|
|
65422
|
-
*/
|
|
65423
|
-
var OidcConnectionUpdateInputSchema = object({
|
|
65424
|
-
id: string().min(1),
|
|
65425
|
-
displayName: string().min(1),
|
|
65426
|
-
icon: string().optional(),
|
|
65427
|
-
issuerUrl: string().optional(),
|
|
65428
|
-
clientId: string().optional(),
|
|
65429
|
-
clientSecret: union([string(), object({ $secretClear: literal(true) })]).optional(),
|
|
65430
|
-
redirectUri: string().optional(),
|
|
65431
|
-
scopes: string().optional(),
|
|
65432
|
-
usernameClaim: _enum([
|
|
65433
|
-
"preferred_username",
|
|
65434
|
-
"email",
|
|
65435
|
-
"sub"
|
|
65436
|
-
]).optional()
|
|
65437
|
-
});
|
|
65438
|
-
method(object({}), ConfigSchemaPassthrough$1, { auth: "admin" }), method(object({}), array(OidcConnectionSchema).readonly(), { auth: "admin" }), method(object({
|
|
65439
|
-
id: string().min(1).regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "id must be a lowercase slug"),
|
|
65440
|
-
displayName: string().min(1)
|
|
65441
|
-
}), object({ id: string() }), {
|
|
65442
|
-
kind: "mutation",
|
|
65443
|
-
auth: "admin"
|
|
65444
|
-
}), method(OidcConnectionUpdateInputSchema, object({ ok: literal(true) }), {
|
|
65445
|
-
kind: "mutation",
|
|
65446
|
-
auth: "admin"
|
|
65447
|
-
}), method(object({ id: string().min(1) }), object({ ok: literal(true) }), {
|
|
65448
|
-
kind: "mutation",
|
|
65449
|
-
auth: "admin"
|
|
65450
|
-
});
|
|
65451
|
-
/**
|
|
65452
65376
|
* Generic on-screen-display (video overlay) cap. Each camera exposes
|
|
65453
65377
|
* a firmware-defined list of overlays (channel name, timestamp,
|
|
65454
65378
|
* watermark, logo, …); the cap models them as a homogeneous array of
|
|
@@ -71621,21 +71545,6 @@ method(object({
|
|
|
71621
71545
|
*/
|
|
71622
71546
|
ttlSec: union([number().int().positive(), literal("never")]).optional()
|
|
71623
71547
|
}), object({ token: string() }), { auth: "admin" }), method(object({ token: string() }), SsoBridgeClaimsSchema.nullable(), { auth: "admin" });
|
|
71624
|
-
var ProviderListEntrySchema = discriminatedUnion("shouldSaveDiskSpace", [object({
|
|
71625
|
-
providerId: string().min(1),
|
|
71626
|
-
displayName: string().min(1),
|
|
71627
|
-
configSchema: unknown(),
|
|
71628
|
-
nodeLocal: boolean(),
|
|
71629
|
-
shouldSaveDiskSpace: literal(true),
|
|
71630
|
-
minFreePercent: number().min(0).max(100)
|
|
71631
|
-
}), object({
|
|
71632
|
-
providerId: string().min(1),
|
|
71633
|
-
displayName: string().min(1),
|
|
71634
|
-
configSchema: unknown(),
|
|
71635
|
-
nodeLocal: boolean(),
|
|
71636
|
-
shouldSaveDiskSpace: literal(false),
|
|
71637
|
-
minFreePercent: literal(null)
|
|
71638
|
-
})]);
|
|
71639
71548
|
method(object({
|
|
71640
71549
|
location: StorageLocationRefSchema,
|
|
71641
71550
|
relativePath: string()
|
|
@@ -71697,42 +71606,7 @@ method(object({
|
|
|
71697
71606
|
}), _instanceof(Uint8Array), { auth: "admin" }), method(object({ downloadId: string() }), _void(), {
|
|
71698
71607
|
kind: "mutation",
|
|
71699
71608
|
auth: "admin"
|
|
71700
|
-
}), method(object({ type: StorageLocationTypeSchema.optional() }), array(StorageLocationSchema).readonly()), method(_void(), array(StorageLocationDeclarationSchema).readonly()), method(
|
|
71701
|
-
createdAt: true,
|
|
71702
|
-
updatedAt: true
|
|
71703
|
-
}), StorageLocationSchema, {
|
|
71704
|
-
kind: "mutation",
|
|
71705
|
-
auth: "admin"
|
|
71706
|
-
}), method(object({
|
|
71707
|
-
id: string(),
|
|
71708
|
-
force: boolean().optional()
|
|
71709
|
-
}), _void(), {
|
|
71710
|
-
kind: "mutation",
|
|
71711
|
-
auth: "admin"
|
|
71712
|
-
}), method(_void(), array(StorageDrainProgressSchema).readonly()), method(object({ id: string() }), object({
|
|
71713
|
-
ok: boolean(),
|
|
71714
|
-
error: string().optional()
|
|
71715
|
-
}), { auth: "admin" }), method(_void(), array(ProviderListEntrySchema).readonly()), method(object({
|
|
71716
|
-
providerId: string(),
|
|
71717
|
-
/**
|
|
71718
|
-
* The location this config is an UNSAVED edit of, when there is one.
|
|
71719
|
-
*
|
|
71720
|
-
* `listLocations` replaces every declared secret with the redaction
|
|
71721
|
-
* sentinel, so the edit modal's form state holds the sentinel for any
|
|
71722
|
-
* credential the operator did not retype — and posting that here
|
|
71723
|
-
* without a way to resolve it makes the provider try to authenticate
|
|
71724
|
-
* as `__camstack_redacted__` and report the operator's own working
|
|
71725
|
-
* password as wrong. Given this id, the orchestrator restores each
|
|
71726
|
-
* sentinel from the stored config (same rule as `upsertLocation`)
|
|
71727
|
-
* before dispatching. Omitted by the "Add location" wizard, where
|
|
71728
|
-
* every value was typed just now and nothing is stored yet.
|
|
71729
|
-
*/
|
|
71730
|
-
locationId: string().optional(),
|
|
71731
|
-
config: record(string(), unknown())
|
|
71732
|
-
}), object({
|
|
71733
|
-
ok: boolean(),
|
|
71734
|
-
error: string().optional()
|
|
71735
|
-
}), { auth: "admin" });
|
|
71609
|
+
}), method(object({ type: StorageLocationTypeSchema.optional() }), array(StorageLocationSchema).readonly()), method(_void(), array(StorageLocationDeclarationSchema).readonly()), method(_void(), array(StorageDrainProgressSchema).readonly());
|
|
71736
71610
|
/** One table of the settings database. */
|
|
71737
71611
|
var StorageTableSchema = object({
|
|
71738
71612
|
/** The table's full name, e.g. `recorder:addon-settings` or `addon-device-settings`. */
|
|
@@ -79325,13 +79199,6 @@ Object.freeze({
|
|
|
79325
79199
|
access: "delete",
|
|
79326
79200
|
role: "admin"
|
|
79327
79201
|
},
|
|
79328
|
-
"llm.deleteProfile": {
|
|
79329
|
-
capName: "llm",
|
|
79330
|
-
capScope: "system",
|
|
79331
|
-
addonId: null,
|
|
79332
|
-
access: "delete",
|
|
79333
|
-
role: "admin"
|
|
79334
|
-
},
|
|
79335
79202
|
"llm.generate": {
|
|
79336
79203
|
capName: "llm",
|
|
79337
79204
|
capScope: "system",
|
|
@@ -79395,20 +79262,6 @@ Object.freeze({
|
|
|
79395
79262
|
access: "view",
|
|
79396
79263
|
role: "admin"
|
|
79397
79264
|
},
|
|
79398
|
-
"llm.listProfileKinds": {
|
|
79399
|
-
capName: "llm",
|
|
79400
|
-
capScope: "system",
|
|
79401
|
-
addonId: null,
|
|
79402
|
-
access: "view",
|
|
79403
|
-
role: "admin"
|
|
79404
|
-
},
|
|
79405
|
-
"llm.listProfiles": {
|
|
79406
|
-
capName: "llm",
|
|
79407
|
-
capScope: "system",
|
|
79408
|
-
addonId: null,
|
|
79409
|
-
access: "view",
|
|
79410
|
-
role: "admin"
|
|
79411
|
-
},
|
|
79412
79265
|
"llm.listRuntimeNodes": {
|
|
79413
79266
|
capName: "llm",
|
|
79414
79267
|
capScope: "system",
|
|
@@ -79416,13 +79269,6 @@ Object.freeze({
|
|
|
79416
79269
|
access: "view",
|
|
79417
79270
|
role: "admin"
|
|
79418
79271
|
},
|
|
79419
|
-
"llm.migrateRawSecrets": {
|
|
79420
|
-
capName: "llm",
|
|
79421
|
-
capScope: "system",
|
|
79422
|
-
addonId: null,
|
|
79423
|
-
access: "create",
|
|
79424
|
-
role: "admin"
|
|
79425
|
-
},
|
|
79426
79272
|
"llm.resolveModelRef": {
|
|
79427
79273
|
capName: "llm",
|
|
79428
79274
|
capScope: "system",
|
|
@@ -79451,20 +79297,6 @@ Object.freeze({
|
|
|
79451
79297
|
access: "create",
|
|
79452
79298
|
role: "admin"
|
|
79453
79299
|
},
|
|
79454
|
-
"llm.testProfile": {
|
|
79455
|
-
capName: "llm",
|
|
79456
|
-
capScope: "system",
|
|
79457
|
-
addonId: null,
|
|
79458
|
-
access: "create",
|
|
79459
|
-
role: "admin"
|
|
79460
|
-
},
|
|
79461
|
-
"llm.upsertProfile": {
|
|
79462
|
-
capName: "llm",
|
|
79463
|
-
capScope: "system",
|
|
79464
|
-
addonId: null,
|
|
79465
|
-
access: "create",
|
|
79466
|
-
role: "admin"
|
|
79467
|
-
},
|
|
79468
79300
|
"llmRuntime.appleAvailability": {
|
|
79469
79301
|
capName: "llm-runtime",
|
|
79470
79302
|
capScope: "system",
|
|
@@ -79969,13 +79801,6 @@ Object.freeze({
|
|
|
79969
79801
|
access: "create",
|
|
79970
79802
|
role: "admin"
|
|
79971
79803
|
},
|
|
79972
|
-
"meshNetwork.testConnection": {
|
|
79973
|
-
capName: "mesh-network",
|
|
79974
|
-
capScope: "system",
|
|
79975
|
-
addonId: null,
|
|
79976
|
-
access: "create",
|
|
79977
|
-
role: "admin"
|
|
79978
|
-
},
|
|
79979
79804
|
"meter.getStatus": {
|
|
79980
79805
|
capName: "meter",
|
|
79981
79806
|
capScope: "device",
|
|
@@ -80634,13 +80459,6 @@ Object.freeze({
|
|
|
80634
80459
|
access: "create",
|
|
80635
80460
|
role: "admin"
|
|
80636
80461
|
},
|
|
80637
|
-
"notificationOutput.deleteTarget": {
|
|
80638
|
-
capName: "notification-output",
|
|
80639
|
-
capScope: "system",
|
|
80640
|
-
addonId: null,
|
|
80641
|
-
access: "delete",
|
|
80642
|
-
role: "admin"
|
|
80643
|
-
},
|
|
80644
80462
|
"notificationOutput.discoverTargets": {
|
|
80645
80463
|
capName: "notification-output",
|
|
80646
80464
|
capScope: "system",
|
|
@@ -80648,13 +80466,6 @@ Object.freeze({
|
|
|
80648
80466
|
access: "view",
|
|
80649
80467
|
role: "admin"
|
|
80650
80468
|
},
|
|
80651
|
-
"notificationOutput.getTarget": {
|
|
80652
|
-
capName: "notification-output",
|
|
80653
|
-
capScope: "system",
|
|
80654
|
-
addonId: null,
|
|
80655
|
-
access: "view",
|
|
80656
|
-
role: "admin"
|
|
80657
|
-
},
|
|
80658
80469
|
"notificationOutput.listTargetKinds": {
|
|
80659
80470
|
capName: "notification-output",
|
|
80660
80471
|
capScope: "system",
|
|
@@ -80662,13 +80473,6 @@ Object.freeze({
|
|
|
80662
80473
|
access: "view",
|
|
80663
80474
|
role: "admin"
|
|
80664
80475
|
},
|
|
80665
|
-
"notificationOutput.listTargets": {
|
|
80666
|
-
capName: "notification-output",
|
|
80667
|
-
capScope: "system",
|
|
80668
|
-
addonId: null,
|
|
80669
|
-
access: "view",
|
|
80670
|
-
role: "admin"
|
|
80671
|
-
},
|
|
80672
80476
|
"notificationOutput.probeTargetConfig": {
|
|
80673
80477
|
capName: "notification-output",
|
|
80674
80478
|
capScope: "system",
|
|
@@ -80683,13 +80487,6 @@ Object.freeze({
|
|
|
80683
80487
|
access: "create",
|
|
80684
80488
|
role: "admin"
|
|
80685
80489
|
},
|
|
80686
|
-
"notificationOutput.setTargetEnabled": {
|
|
80687
|
-
capName: "notification-output",
|
|
80688
|
-
capScope: "system",
|
|
80689
|
-
addonId: null,
|
|
80690
|
-
access: "create",
|
|
80691
|
-
role: "admin"
|
|
80692
|
-
},
|
|
80693
80490
|
"notificationOutput.testTarget": {
|
|
80694
80491
|
capName: "notification-output",
|
|
80695
80492
|
capScope: "system",
|
|
@@ -80697,13 +80494,6 @@ Object.freeze({
|
|
|
80697
80494
|
access: "create",
|
|
80698
80495
|
role: "admin"
|
|
80699
80496
|
},
|
|
80700
|
-
"notificationOutput.upsertTarget": {
|
|
80701
|
-
capName: "notification-output",
|
|
80702
|
-
capScope: "system",
|
|
80703
|
-
addonId: null,
|
|
80704
|
-
access: "create",
|
|
80705
|
-
role: "admin"
|
|
80706
|
-
},
|
|
80707
80497
|
"notificationRules.activateAlarmProfile": {
|
|
80708
80498
|
capName: "notification-rules",
|
|
80709
80499
|
capScope: "system",
|
|
@@ -80963,41 +80753,6 @@ Object.freeze({
|
|
|
80963
80753
|
access: "view",
|
|
80964
80754
|
role: "admin"
|
|
80965
80755
|
},
|
|
80966
|
-
"oidcConnections.connectionFormSchema": {
|
|
80967
|
-
capName: "oidc-connections",
|
|
80968
|
-
capScope: "system",
|
|
80969
|
-
addonId: null,
|
|
80970
|
-
access: "view",
|
|
80971
|
-
role: "admin"
|
|
80972
|
-
},
|
|
80973
|
-
"oidcConnections.createConnection": {
|
|
80974
|
-
capName: "oidc-connections",
|
|
80975
|
-
capScope: "system",
|
|
80976
|
-
addonId: null,
|
|
80977
|
-
access: "create",
|
|
80978
|
-
role: "admin"
|
|
80979
|
-
},
|
|
80980
|
-
"oidcConnections.deleteConnection": {
|
|
80981
|
-
capName: "oidc-connections",
|
|
80982
|
-
capScope: "system",
|
|
80983
|
-
addonId: null,
|
|
80984
|
-
access: "delete",
|
|
80985
|
-
role: "admin"
|
|
80986
|
-
},
|
|
80987
|
-
"oidcConnections.listConnections": {
|
|
80988
|
-
capName: "oidc-connections",
|
|
80989
|
-
capScope: "system",
|
|
80990
|
-
addonId: null,
|
|
80991
|
-
access: "view",
|
|
80992
|
-
role: "admin"
|
|
80993
|
-
},
|
|
80994
|
-
"oidcConnections.updateConnection": {
|
|
80995
|
-
capName: "oidc-connections",
|
|
80996
|
-
capScope: "system",
|
|
80997
|
-
addonId: null,
|
|
80998
|
-
access: "create",
|
|
80999
|
-
role: "admin"
|
|
81000
|
-
},
|
|
81001
80756
|
"osd.getStatus": {
|
|
81002
80757
|
capName: "osd",
|
|
81003
80758
|
capScope: "device",
|
|
@@ -84029,13 +83784,6 @@ Object.freeze({
|
|
|
84029
83784
|
access: "delete",
|
|
84030
83785
|
role: "admin"
|
|
84031
83786
|
},
|
|
84032
|
-
"storage.deleteLocation": {
|
|
84033
|
-
capName: "storage",
|
|
84034
|
-
capScope: "system",
|
|
84035
|
-
addonId: null,
|
|
84036
|
-
access: "delete",
|
|
84037
|
-
role: "admin"
|
|
84038
|
-
},
|
|
84039
83787
|
"storage.endDownload": {
|
|
84040
83788
|
capName: "storage",
|
|
84041
83789
|
capScope: "system",
|
|
@@ -84092,13 +83840,6 @@ Object.freeze({
|
|
|
84092
83840
|
access: "view",
|
|
84093
83841
|
role: "admin"
|
|
84094
83842
|
},
|
|
84095
|
-
"storage.listProviders": {
|
|
84096
|
-
capName: "storage",
|
|
84097
|
-
capScope: "system",
|
|
84098
|
-
addonId: null,
|
|
84099
|
-
access: "view",
|
|
84100
|
-
role: "admin"
|
|
84101
|
-
},
|
|
84102
83843
|
"storage.read": {
|
|
84103
83844
|
capName: "storage",
|
|
84104
83845
|
capScope: "system",
|
|
@@ -84120,27 +83861,6 @@ Object.freeze({
|
|
|
84120
83861
|
access: "view",
|
|
84121
83862
|
role: "admin"
|
|
84122
83863
|
},
|
|
84123
|
-
"storage.testConfig": {
|
|
84124
|
-
capName: "storage",
|
|
84125
|
-
capScope: "system",
|
|
84126
|
-
addonId: null,
|
|
84127
|
-
access: "view",
|
|
84128
|
-
role: "admin"
|
|
84129
|
-
},
|
|
84130
|
-
"storage.testLocation": {
|
|
84131
|
-
capName: "storage",
|
|
84132
|
-
capScope: "system",
|
|
84133
|
-
addonId: null,
|
|
84134
|
-
access: "view",
|
|
84135
|
-
role: "admin"
|
|
84136
|
-
},
|
|
84137
|
-
"storage.upsertLocation": {
|
|
84138
|
-
capName: "storage",
|
|
84139
|
-
capScope: "system",
|
|
84140
|
-
addonId: null,
|
|
84141
|
-
access: "create",
|
|
84142
|
-
role: "admin"
|
|
84143
|
-
},
|
|
84144
83864
|
"storage.write": {
|
|
84145
83865
|
capName: "storage",
|
|
84146
83866
|
capScope: "system",
|
|
@@ -90312,7 +90032,7 @@ var AgentUIAddon = class extends BaseAddon {
|
|
|
90312
90032
|
capability: adminUiCapability,
|
|
90313
90033
|
provider: {
|
|
90314
90034
|
getStaticDir: async () => ({ staticDir: path.resolve(__dirname) }),
|
|
90315
|
-
getVersion: async () => ({ version: "1.2.
|
|
90035
|
+
getVersion: async () => ({ version: "1.2.337" })
|
|
90316
90036
|
}
|
|
90317
90037
|
}];
|
|
90318
90038
|
}
|