@camstack/addon-mqtt-broker 1.2.129 → 1.2.130
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/mqtt-broker.addon.js +165 -102
- package/dist/mqtt-broker.addon.mjs +165 -102
- package/package.json +1 -1
|
@@ -5594,7 +5594,7 @@ var ZodIssueCode = {
|
|
|
5594
5594
|
var ZodFirstPartyTypeKind;
|
|
5595
5595
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5596
5596
|
//#endregion
|
|
5597
|
-
//#region ../types/dist/sleep-
|
|
5597
|
+
//#region ../types/dist/sleep-yKL5gfrH.mjs
|
|
5598
5598
|
/**
|
|
5599
5599
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5600
5600
|
* window to float samples (D455).
|
|
@@ -7977,9 +7977,9 @@ function normalizeAddonInitResult(result) {
|
|
|
7977
7977
|
return result;
|
|
7978
7978
|
}
|
|
7979
7979
|
/**
|
|
7980
|
-
* The share-view scope kinds a
|
|
7981
|
-
* and validates them (`
|
|
7982
|
-
* list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7980
|
+
* The share-view scope kinds a share-link token can carry. The hub mints
|
|
7981
|
+
* and validates them (`ShareViewGrantSchema` builds its
|
|
7982
|
+
* enum from this list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7983
7983
|
*/
|
|
7984
7984
|
var SHARE_VIEW_KINDS = ["grid-view", "events-view"];
|
|
7985
7985
|
/** The wire shape of {@link PeerBytesTicket} — see the type for what it is. */
|
|
@@ -12864,7 +12864,7 @@ var ConvertResultSchema = object({
|
|
|
12864
12864
|
* `super_admin` — collapsed onto the single boolean because every
|
|
12865
12865
|
* non-admin caller is governed by the same scope-check rules; the
|
|
12866
12866
|
* distinction was only ever used to route role-specific procedures
|
|
12867
|
-
* which we no longer have. CLI / webhook integrations are `
|
|
12867
|
+
* which we no longer have. CLI / webhook integrations are tokens (`auth.mintToken`)
|
|
12868
12868
|
* with `isAdmin: false` + an explicit scope list.
|
|
12869
12869
|
*/
|
|
12870
12870
|
/** Per-method access flavour. Materialised on every cap method via codegen. */
|
|
@@ -13053,10 +13053,12 @@ var AddonRoutesScopeSchema = object({
|
|
|
13053
13053
|
type: literal("addon-routes"),
|
|
13054
13054
|
access: array(MethodAccessSchema).min(1)
|
|
13055
13055
|
});
|
|
13056
|
+
var PreferencesSelfScopeSchema = object({ type: literal("preferences-self") });
|
|
13056
13057
|
var CredentialScopeSchema = union([
|
|
13057
13058
|
literal("*"),
|
|
13058
13059
|
ShareViewScopeSchema,
|
|
13059
13060
|
AddonRoutesScopeSchema,
|
|
13061
|
+
PreferencesSelfScopeSchema,
|
|
13060
13062
|
TokenScopeSchema
|
|
13061
13063
|
]);
|
|
13062
13064
|
object({
|
|
@@ -13065,6 +13067,55 @@ object({
|
|
|
13065
13067
|
jti: string().min(16),
|
|
13066
13068
|
scopes: array(CredentialScopeSchema).min(1)
|
|
13067
13069
|
});
|
|
13070
|
+
var PreferenceNamespaceSchema = string().regex(/^[a-z][a-z0-9.-]{0,63}$/);
|
|
13071
|
+
/** A namespace's value: a JSON object, opaque to the hub. */
|
|
13072
|
+
var PreferenceValueSchema = record(string(), unknown());
|
|
13073
|
+
var PreferenceDeviceIdSchema = string().min(1).max(64);
|
|
13074
|
+
/** A stored row, as the owner reads it. */
|
|
13075
|
+
var PreferenceRowSchema = object({
|
|
13076
|
+
namespace: PreferenceNamespaceSchema,
|
|
13077
|
+
value: PreferenceValueSchema,
|
|
13078
|
+
/** Starts at 1, +1 on every write of this namespace. A delete ends the row and its count. */
|
|
13079
|
+
revision: number().int().positive(),
|
|
13080
|
+
updatedAt: number().int(),
|
|
13081
|
+
/** The client id the last writer sent; `null` when it sent none. */
|
|
13082
|
+
updatedByDevice: PreferenceDeviceIdSchema.nullable()
|
|
13083
|
+
});
|
|
13084
|
+
object({
|
|
13085
|
+
/** Absent: every namespace the caller holds. */
|
|
13086
|
+
namespaces: array(PreferenceNamespaceSchema).max(32).optional() });
|
|
13087
|
+
object({ rows: array(PreferenceRowSchema) });
|
|
13088
|
+
object({
|
|
13089
|
+
namespace: PreferenceNamespaceSchema,
|
|
13090
|
+
value: PreferenceValueSchema,
|
|
13091
|
+
/**
|
|
13092
|
+
* The revision the edit was based on. Absent: last write wins. `0`: the
|
|
13093
|
+
* namespace must not exist yet. Any other value that is not the current
|
|
13094
|
+
* revision answers `conflict` and writes nothing.
|
|
13095
|
+
*/
|
|
13096
|
+
baseRevision: number().int().nonnegative().optional(),
|
|
13097
|
+
deviceId: PreferenceDeviceIdSchema.optional()
|
|
13098
|
+
});
|
|
13099
|
+
discriminatedUnion("status", [object({
|
|
13100
|
+
status: literal("saved"),
|
|
13101
|
+
row: PreferenceRowSchema
|
|
13102
|
+
}), object({
|
|
13103
|
+
status: literal("conflict"),
|
|
13104
|
+
current: PreferenceRowSchema.nullable()
|
|
13105
|
+
})]);
|
|
13106
|
+
object({ namespace: PreferenceNamespaceSchema });
|
|
13107
|
+
object({
|
|
13108
|
+
/** `false` when the namespace did not exist. */
|
|
13109
|
+
deleted: boolean() });
|
|
13110
|
+
object({
|
|
13111
|
+
/** The revision the client holds per namespace; a namespace it does not list is new to it. */
|
|
13112
|
+
revisionByNamespace: record(PreferenceNamespaceSchema, number().int().nonnegative()).refine((map) => Object.keys(map).length <= 32, { message: `at most 32 namespaces` }) });
|
|
13113
|
+
object({
|
|
13114
|
+
/** Every row whose revision differs from the client's, and every row it did not list. */
|
|
13115
|
+
rows: array(PreferenceRowSchema),
|
|
13116
|
+
/** Namespaces the client listed that no longer exist. */
|
|
13117
|
+
deleted: array(PreferenceNamespaceSchema)
|
|
13118
|
+
});
|
|
13068
13119
|
_enum(["new-session", "step-up"]);
|
|
13069
13120
|
/** The languages the hub's app landing pages are written in (D858). */
|
|
13070
13121
|
var AppPageLangSchema = _enum(["en", "it"]);
|
|
@@ -39992,38 +40043,37 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
39992
40043
|
auth: "admin",
|
|
39993
40044
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
39994
40045
|
});
|
|
40046
|
+
var LlmProfileKindSchema = string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "a kind id is lower-case letters, digits and dashes");
|
|
40047
|
+
/** What a model (or, by default, every model of a kind) can do. */
|
|
40048
|
+
var LlmModelFeaturesSchema = object({
|
|
40049
|
+
vision: boolean(),
|
|
40050
|
+
tools: boolean(),
|
|
40051
|
+
streaming: boolean()
|
|
40052
|
+
});
|
|
40053
|
+
/** One model a provider offers. `features` overrides the kind's defaults, per field. */
|
|
40054
|
+
var LlmModelInfoSchema = object({
|
|
40055
|
+
id: string(),
|
|
40056
|
+
label: string().optional(),
|
|
40057
|
+
contextLength: number().int().positive().optional(),
|
|
40058
|
+
features: LlmModelFeaturesSchema.partial().optional()
|
|
40059
|
+
});
|
|
39995
40060
|
/**
|
|
39996
|
-
*
|
|
39997
|
-
*
|
|
39998
|
-
*
|
|
39999
|
-
*
|
|
40000
|
-
* (hub-placed); the cap stays open for future providers.
|
|
40001
|
-
*
|
|
40002
|
-
* Profiles are ROWS (data), not addons: one row = one usable model endpoint.
|
|
40003
|
-
* `apiKey` is a password field — providers REDACT it on read and merge on
|
|
40004
|
-
* write; a stored key NEVER round-trips to a client.
|
|
40061
|
+
* The provider-specific part of a profile, validated by the provider that owns
|
|
40062
|
+
* the kind (`upsertProfile` refuses what it does not accept). A field its
|
|
40063
|
+
* `connectionSchema` declares `type: 'password'` is a secret: it is held in the
|
|
40064
|
+
* keychain, never in the row, and reads back as the redaction marker.
|
|
40005
40065
|
*/
|
|
40006
|
-
var
|
|
40007
|
-
"openai-compatible",
|
|
40008
|
-
"openai",
|
|
40009
|
-
"anthropic",
|
|
40010
|
-
"google",
|
|
40011
|
-
"managed-local",
|
|
40012
|
-
"apple-foundation"
|
|
40013
|
-
]);
|
|
40066
|
+
var LlmProviderConfigSchema = record(string(), unknown());
|
|
40014
40067
|
var LlmProfileSchema = object({
|
|
40015
40068
|
id: string(),
|
|
40016
40069
|
name: string(),
|
|
40070
|
+
/** The provider-declared kind (`LlmProfileKindDescriptor.kind`). */
|
|
40017
40071
|
kind: LlmProfileKindSchema,
|
|
40018
40072
|
/** Stamped by the provider — keeps the fanned catalog routable. */
|
|
40019
40073
|
addonId: string(),
|
|
40020
40074
|
enabled: boolean(),
|
|
40021
40075
|
/** Vendor model id, or the managed runtime's loaded model. */
|
|
40022
40076
|
model: string(),
|
|
40023
|
-
/** Required for openai-compatible; override for cloud kinds. */
|
|
40024
|
-
baseUrl: string().optional(),
|
|
40025
|
-
/** ConfigUISchema type:'password' — never round-trips (spec §5). */
|
|
40026
|
-
apiKey: string().optional(),
|
|
40027
40077
|
/** Vision on/off. A vision call against a `false` profile is REFUSED, never
|
|
40028
40078
|
* degraded to text — that shipped once and produced a confident answer to a
|
|
40029
40079
|
* question about a picture nobody sent. */
|
|
@@ -40031,15 +40081,11 @@ var LlmProfileSchema = object({
|
|
|
40031
40081
|
temperature: number().min(0).max(2).optional(),
|
|
40032
40082
|
/** Nucleus sampling. Every wire we speak has it. */
|
|
40033
40083
|
topP: number().min(0).max(1).optional(),
|
|
40034
|
-
/** Top-k sampling. Carried only by the wires that have it —
|
|
40035
|
-
*
|
|
40036
|
-
* `top_p` and no `top_k`). The profile editor hides the field wherever it
|
|
40037
|
-
* would change nothing; `KINDS_WITH_TOP_K` is the single owner of that list. */
|
|
40084
|
+
/** Top-k sampling. Carried only by the wires that have it — a kind offers the
|
|
40085
|
+
* field in its editor only when its descriptor lists it in `profileFields`. */
|
|
40038
40086
|
topK: number().int().positive().optional(),
|
|
40039
40087
|
maxTokens: number().int().positive().optional(),
|
|
40040
|
-
/** Prompt context window. Advisory for cloud kinds (they enforce their own)
|
|
40041
|
-
* for `managed-local` it is the llama.cpp `--ctx-size` the runtime starts
|
|
40042
|
-
* the model with, so it is the one field that changes a PROCESS. */
|
|
40088
|
+
/** Prompt context window. Advisory for cloud kinds (they enforce their own). */
|
|
40043
40089
|
contextLength: number().int().positive().optional(),
|
|
40044
40090
|
/** Default system prompt. A caller's `system` REPLACES it (never appends —
|
|
40045
40091
|
* two system prompts fighting is worse than either alone). */
|
|
@@ -40065,16 +40111,37 @@ var LlmProfileSchema = object({
|
|
|
40065
40111
|
* library; the REGISTRY of callable tools is ours and is empty in v1, so a
|
|
40066
40112
|
* `true` here buys the wiring, not behaviour, until tools are registered. */
|
|
40067
40113
|
toolsEnabled: boolean().default(false),
|
|
40068
|
-
|
|
40069
|
-
|
|
40070
|
-
|
|
40071
|
-
|
|
40072
|
-
|
|
40073
|
-
|
|
40074
|
-
|
|
40075
|
-
|
|
40076
|
-
|
|
40077
|
-
|
|
40114
|
+
/** Everything the kind's provider owns (endpoint, key, node, runtime…). */
|
|
40115
|
+
providerConfig: LlmProviderConfigSchema.default({})
|
|
40116
|
+
});
|
|
40117
|
+
/**
|
|
40118
|
+
* The common profile fields a kind's editor offers. The editor owns how each
|
|
40119
|
+
* one is drawn; the provider says which of them mean something on its wire.
|
|
40120
|
+
*/
|
|
40121
|
+
var LlmProfileFieldSchema = _enum([
|
|
40122
|
+
"temperature",
|
|
40123
|
+
"topP",
|
|
40124
|
+
"topK",
|
|
40125
|
+
"maxTokens",
|
|
40126
|
+
"contextLength",
|
|
40127
|
+
"systemPrompt",
|
|
40128
|
+
"timeoutMs",
|
|
40129
|
+
"connectTimeoutMs",
|
|
40130
|
+
"firstTokenTimeoutMs",
|
|
40131
|
+
"idleTimeoutMs",
|
|
40132
|
+
"retry",
|
|
40133
|
+
"toolsEnabled"
|
|
40134
|
+
]);
|
|
40135
|
+
/**
|
|
40136
|
+
* A provider-drawn part of the editor, by a generic widget id the admin UI
|
|
40137
|
+
* registers (`ai/apple-node`). `placement: 'model'` replaces the generic model
|
|
40138
|
+
* picker: that widget owns the model choice.
|
|
40139
|
+
*/
|
|
40140
|
+
var LlmProviderWidgetSchema = object({
|
|
40141
|
+
id: string(),
|
|
40142
|
+
placement: _enum(["connection", "model"]),
|
|
40143
|
+
/** `providerConfig` keys this widget must fill before the profile can be saved. */
|
|
40144
|
+
requires: array(string()).optional()
|
|
40078
40145
|
});
|
|
40079
40146
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
40080
40147
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
@@ -40083,11 +40150,56 @@ var ConfigSchemaPassthrough$3 = unknown();
|
|
|
40083
40150
|
var LlmProfileKindDescriptorSchema = object({
|
|
40084
40151
|
kind: LlmProfileKindSchema,
|
|
40085
40152
|
label: string(),
|
|
40153
|
+
/** A generic icon name (`cloud`, `plug`, `cpu`) — never a glyph or a logo. */
|
|
40086
40154
|
icon: string(),
|
|
40087
40155
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
40088
40156
|
addonId: string(),
|
|
40089
|
-
|
|
40157
|
+
/** The provider's own fields (`providerConfig`); `password` fields are keychain-held. */
|
|
40158
|
+
connectionSchema: ConfigSchemaPassthrough$3,
|
|
40159
|
+
/** Provider fields that belong under "Advanced" (extra headers, runtime tuning). */
|
|
40160
|
+
advancedSchema: ConfigSchemaPassthrough$3.optional(),
|
|
40161
|
+
/** The kind's defaults; a model from `listModels` may override any of them. */
|
|
40162
|
+
features: LlmModelFeaturesSchema,
|
|
40163
|
+
/** `false` = the provider stamps `supportsVision` itself (from what a node reports). */
|
|
40164
|
+
visionEditable: boolean(),
|
|
40165
|
+
/** Where the model list comes from: `listModels`, `staticModels`, or nowhere. */
|
|
40166
|
+
modelCatalog: _enum([
|
|
40167
|
+
"fetch",
|
|
40168
|
+
"static",
|
|
40169
|
+
"none"
|
|
40170
|
+
]),
|
|
40171
|
+
staticModels: array(LlmModelInfoSchema).optional(),
|
|
40172
|
+
/** The common fields that mean something on this kind's wire. */
|
|
40173
|
+
profileFields: array(LlmProfileFieldSchema),
|
|
40174
|
+
providerWidgets: array(LlmProviderWidgetSchema).optional()
|
|
40090
40175
|
});
|
|
40176
|
+
/**
|
|
40177
|
+
* `listModels` input. `connection` is an UNSAVED draft of `providerConfig`
|
|
40178
|
+
* (the editor's form); with `profileId` too, a secret the draft leaves
|
|
40179
|
+
* untouched (absent or the redaction marker) is resolved server-side from the
|
|
40180
|
+
* stored profile — the browser never receives it.
|
|
40181
|
+
*/
|
|
40182
|
+
var LlmListModelsInputSchema = object({
|
|
40183
|
+
addonId: string(),
|
|
40184
|
+
kind: LlmProfileKindSchema,
|
|
40185
|
+
profileId: string().optional(),
|
|
40186
|
+
connection: LlmProviderConfigSchema.optional()
|
|
40187
|
+
});
|
|
40188
|
+
var LlmListModelsErrorCodeSchema = _enum([
|
|
40189
|
+
"auth",
|
|
40190
|
+
"network",
|
|
40191
|
+
"unsupported",
|
|
40192
|
+
"invalid"
|
|
40193
|
+
]);
|
|
40194
|
+
/** A RESULT, never a throw: "wrong key" is an answer the editor renders inline. */
|
|
40195
|
+
var LlmListModelsResultSchema = discriminatedUnion("ok", [object({
|
|
40196
|
+
ok: literal(true),
|
|
40197
|
+
models: array(LlmModelInfoSchema)
|
|
40198
|
+
}), object({
|
|
40199
|
+
ok: literal(false),
|
|
40200
|
+
code: LlmListModelsErrorCodeSchema,
|
|
40201
|
+
message: string()
|
|
40202
|
+
})]);
|
|
40091
40203
|
var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
|
|
40092
40204
|
var LlmDefaultSchema = object({
|
|
40093
40205
|
selector: LlmDefaultSelectorSchema,
|
|
@@ -40187,7 +40299,10 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
40187
40299
|
kind: "mutation",
|
|
40188
40300
|
auth: "admin",
|
|
40189
40301
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
40190
|
-
}), method(
|
|
40302
|
+
}), method(LlmListModelsInputSchema, LlmListModelsResultSchema, {
|
|
40303
|
+
kind: "mutation",
|
|
40304
|
+
auth: "admin"
|
|
40305
|
+
}), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
40191
40306
|
selector: LlmDefaultSelectorSchema,
|
|
40192
40307
|
profileId: string().nullable()
|
|
40193
40308
|
}), _void(), {
|
|
@@ -61201,26 +61316,6 @@ var ApiKeySummarySchema = object({
|
|
|
61201
61316
|
createdAt: number(),
|
|
61202
61317
|
lastUsedAt: number().optional()
|
|
61203
61318
|
});
|
|
61204
|
-
var ScopedTokenSummarySchema = object({
|
|
61205
|
-
id: string(),
|
|
61206
|
-
userId: string(),
|
|
61207
|
-
name: string(),
|
|
61208
|
-
tokenPrefix: string(),
|
|
61209
|
-
scopes: array(TokenScopeSchema),
|
|
61210
|
-
expiresAt: number().nullish(),
|
|
61211
|
-
lastUsedAt: number().nullish(),
|
|
61212
|
-
createdAt: number()
|
|
61213
|
-
});
|
|
61214
|
-
var CreateScopedTokenInputSchema = object({
|
|
61215
|
-
userId: string(),
|
|
61216
|
-
name: string(),
|
|
61217
|
-
scopes: array(TokenScopeSchema),
|
|
61218
|
-
expiresAt: number().optional()
|
|
61219
|
-
});
|
|
61220
|
-
var CreateScopedTokenResultSchema = object({
|
|
61221
|
-
token: string(),
|
|
61222
|
-
record: ScopedTokenSummarySchema
|
|
61223
|
-
});
|
|
61224
61319
|
var OauthSessionSummarySchema = object({
|
|
61225
61320
|
id: string(),
|
|
61226
61321
|
userId: string(),
|
|
@@ -61242,11 +61337,11 @@ var TotpStatusSchema = object({
|
|
|
61242
61337
|
confirmedAt: number().nullable()
|
|
61243
61338
|
});
|
|
61244
61339
|
/**
|
|
61245
|
-
* user-management — singleton capability for user accounts
|
|
61246
|
-
*
|
|
61340
|
+
* user-management — singleton capability for user accounts and the
|
|
61341
|
+
* legacy API-key rows.
|
|
61247
61342
|
*
|
|
61248
61343
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61249
|
-
* — the subset check on `setUserScopes`
|
|
61344
|
+
* — the subset check on `setUserScopes` is moot
|
|
61250
61345
|
* because non-admins never reach these. If/when we open non-admin
|
|
61251
61346
|
* delegation, structural caller-scope subset check goes inside the
|
|
61252
61347
|
* provider.
|
|
@@ -61303,15 +61398,7 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61303
61398
|
kind: "mutation",
|
|
61304
61399
|
auth: "admin",
|
|
61305
61400
|
access: "delete"
|
|
61306
|
-
}), method(
|
|
61307
|
-
kind: "mutation",
|
|
61308
|
-
auth: "admin",
|
|
61309
|
-
access: "create"
|
|
61310
|
-
}), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61311
|
-
kind: "mutation",
|
|
61312
|
-
auth: "admin",
|
|
61313
|
-
access: "delete"
|
|
61314
|
-
}), method(object({ token: string() }), ScopedTokenSummarySchema.nullable(), { access: "view" }), method(object({ userId: string() }), array(ScopedTokenSummarySchema), { auth: "admin" }), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61401
|
+
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61315
61402
|
kind: "mutation",
|
|
61316
61403
|
auth: "admin",
|
|
61317
61404
|
access: "create"
|
|
@@ -65467,7 +65554,7 @@ Object.freeze({
|
|
|
65467
65554
|
capName: "llm",
|
|
65468
65555
|
capScope: "system",
|
|
65469
65556
|
addonId: null,
|
|
65470
|
-
access: "
|
|
65557
|
+
access: "create"
|
|
65471
65558
|
},
|
|
65472
65559
|
"llm.listNodeModels": {
|
|
65473
65560
|
capName: "llm",
|
|
@@ -70131,12 +70218,6 @@ Object.freeze({
|
|
|
70131
70218
|
addonId: null,
|
|
70132
70219
|
access: "create"
|
|
70133
70220
|
},
|
|
70134
|
-
"userManagement.createScopedToken": {
|
|
70135
|
-
capName: "user-management",
|
|
70136
|
-
capScope: "system",
|
|
70137
|
-
addonId: null,
|
|
70138
|
-
access: "create"
|
|
70139
|
-
},
|
|
70140
70221
|
"userManagement.createUser": {
|
|
70141
70222
|
capName: "user-management",
|
|
70142
70223
|
capScope: "system",
|
|
@@ -70185,12 +70266,6 @@ Object.freeze({
|
|
|
70185
70266
|
addonId: null,
|
|
70186
70267
|
access: "view"
|
|
70187
70268
|
},
|
|
70188
|
-
"userManagement.listScopedTokens": {
|
|
70189
|
-
capName: "user-management",
|
|
70190
|
-
capScope: "system",
|
|
70191
|
-
addonId: null,
|
|
70192
|
-
access: "view"
|
|
70193
|
-
},
|
|
70194
70269
|
"userManagement.listUsers": {
|
|
70195
70270
|
capName: "user-management",
|
|
70196
70271
|
capScope: "system",
|
|
@@ -70245,12 +70320,6 @@ Object.freeze({
|
|
|
70245
70320
|
addonId: null,
|
|
70246
70321
|
access: "delete"
|
|
70247
70322
|
},
|
|
70248
|
-
"userManagement.revokeScopedToken": {
|
|
70249
|
-
capName: "user-management",
|
|
70250
|
-
capScope: "system",
|
|
70251
|
-
addonId: null,
|
|
70252
|
-
access: "delete"
|
|
70253
|
-
},
|
|
70254
70323
|
"userManagement.setupTotp": {
|
|
70255
70324
|
capName: "user-management",
|
|
70256
70325
|
capScope: "system",
|
|
@@ -70281,12 +70350,6 @@ Object.freeze({
|
|
|
70281
70350
|
addonId: null,
|
|
70282
70351
|
access: "view"
|
|
70283
70352
|
},
|
|
70284
|
-
"userManagement.validateScopedToken": {
|
|
70285
|
-
capName: "user-management",
|
|
70286
|
-
capScope: "system",
|
|
70287
|
-
addonId: null,
|
|
70288
|
-
access: "view"
|
|
70289
|
-
},
|
|
70290
70353
|
"userManagement.verifyTotp": {
|
|
70291
70354
|
capName: "user-management",
|
|
70292
70355
|
capScope: "system",
|
|
@@ -5587,7 +5587,7 @@ var ZodIssueCode = {
|
|
|
5587
5587
|
var ZodFirstPartyTypeKind;
|
|
5588
5588
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5589
5589
|
//#endregion
|
|
5590
|
-
//#region ../types/dist/sleep-
|
|
5590
|
+
//#region ../types/dist/sleep-yKL5gfrH.mjs
|
|
5591
5591
|
/**
|
|
5592
5592
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5593
5593
|
* window to float samples (D455).
|
|
@@ -7970,9 +7970,9 @@ function normalizeAddonInitResult(result) {
|
|
|
7970
7970
|
return result;
|
|
7971
7971
|
}
|
|
7972
7972
|
/**
|
|
7973
|
-
* The share-view scope kinds a
|
|
7974
|
-
* and validates them (`
|
|
7975
|
-
* list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7973
|
+
* The share-view scope kinds a share-link token can carry. The hub mints
|
|
7974
|
+
* and validates them (`ShareViewGrantSchema` builds its
|
|
7975
|
+
* enum from this list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7976
7976
|
*/
|
|
7977
7977
|
var SHARE_VIEW_KINDS = ["grid-view", "events-view"];
|
|
7978
7978
|
/** The wire shape of {@link PeerBytesTicket} — see the type for what it is. */
|
|
@@ -12857,7 +12857,7 @@ var ConvertResultSchema = object({
|
|
|
12857
12857
|
* `super_admin` — collapsed onto the single boolean because every
|
|
12858
12858
|
* non-admin caller is governed by the same scope-check rules; the
|
|
12859
12859
|
* distinction was only ever used to route role-specific procedures
|
|
12860
|
-
* which we no longer have. CLI / webhook integrations are `
|
|
12860
|
+
* which we no longer have. CLI / webhook integrations are tokens (`auth.mintToken`)
|
|
12861
12861
|
* with `isAdmin: false` + an explicit scope list.
|
|
12862
12862
|
*/
|
|
12863
12863
|
/** Per-method access flavour. Materialised on every cap method via codegen. */
|
|
@@ -13046,10 +13046,12 @@ var AddonRoutesScopeSchema = object({
|
|
|
13046
13046
|
type: literal("addon-routes"),
|
|
13047
13047
|
access: array(MethodAccessSchema).min(1)
|
|
13048
13048
|
});
|
|
13049
|
+
var PreferencesSelfScopeSchema = object({ type: literal("preferences-self") });
|
|
13049
13050
|
var CredentialScopeSchema = union([
|
|
13050
13051
|
literal("*"),
|
|
13051
13052
|
ShareViewScopeSchema,
|
|
13052
13053
|
AddonRoutesScopeSchema,
|
|
13054
|
+
PreferencesSelfScopeSchema,
|
|
13053
13055
|
TokenScopeSchema
|
|
13054
13056
|
]);
|
|
13055
13057
|
object({
|
|
@@ -13058,6 +13060,55 @@ object({
|
|
|
13058
13060
|
jti: string().min(16),
|
|
13059
13061
|
scopes: array(CredentialScopeSchema).min(1)
|
|
13060
13062
|
});
|
|
13063
|
+
var PreferenceNamespaceSchema = string().regex(/^[a-z][a-z0-9.-]{0,63}$/);
|
|
13064
|
+
/** A namespace's value: a JSON object, opaque to the hub. */
|
|
13065
|
+
var PreferenceValueSchema = record(string(), unknown());
|
|
13066
|
+
var PreferenceDeviceIdSchema = string().min(1).max(64);
|
|
13067
|
+
/** A stored row, as the owner reads it. */
|
|
13068
|
+
var PreferenceRowSchema = object({
|
|
13069
|
+
namespace: PreferenceNamespaceSchema,
|
|
13070
|
+
value: PreferenceValueSchema,
|
|
13071
|
+
/** Starts at 1, +1 on every write of this namespace. A delete ends the row and its count. */
|
|
13072
|
+
revision: number().int().positive(),
|
|
13073
|
+
updatedAt: number().int(),
|
|
13074
|
+
/** The client id the last writer sent; `null` when it sent none. */
|
|
13075
|
+
updatedByDevice: PreferenceDeviceIdSchema.nullable()
|
|
13076
|
+
});
|
|
13077
|
+
object({
|
|
13078
|
+
/** Absent: every namespace the caller holds. */
|
|
13079
|
+
namespaces: array(PreferenceNamespaceSchema).max(32).optional() });
|
|
13080
|
+
object({ rows: array(PreferenceRowSchema) });
|
|
13081
|
+
object({
|
|
13082
|
+
namespace: PreferenceNamespaceSchema,
|
|
13083
|
+
value: PreferenceValueSchema,
|
|
13084
|
+
/**
|
|
13085
|
+
* The revision the edit was based on. Absent: last write wins. `0`: the
|
|
13086
|
+
* namespace must not exist yet. Any other value that is not the current
|
|
13087
|
+
* revision answers `conflict` and writes nothing.
|
|
13088
|
+
*/
|
|
13089
|
+
baseRevision: number().int().nonnegative().optional(),
|
|
13090
|
+
deviceId: PreferenceDeviceIdSchema.optional()
|
|
13091
|
+
});
|
|
13092
|
+
discriminatedUnion("status", [object({
|
|
13093
|
+
status: literal("saved"),
|
|
13094
|
+
row: PreferenceRowSchema
|
|
13095
|
+
}), object({
|
|
13096
|
+
status: literal("conflict"),
|
|
13097
|
+
current: PreferenceRowSchema.nullable()
|
|
13098
|
+
})]);
|
|
13099
|
+
object({ namespace: PreferenceNamespaceSchema });
|
|
13100
|
+
object({
|
|
13101
|
+
/** `false` when the namespace did not exist. */
|
|
13102
|
+
deleted: boolean() });
|
|
13103
|
+
object({
|
|
13104
|
+
/** The revision the client holds per namespace; a namespace it does not list is new to it. */
|
|
13105
|
+
revisionByNamespace: record(PreferenceNamespaceSchema, number().int().nonnegative()).refine((map) => Object.keys(map).length <= 32, { message: `at most 32 namespaces` }) });
|
|
13106
|
+
object({
|
|
13107
|
+
/** Every row whose revision differs from the client's, and every row it did not list. */
|
|
13108
|
+
rows: array(PreferenceRowSchema),
|
|
13109
|
+
/** Namespaces the client listed that no longer exist. */
|
|
13110
|
+
deleted: array(PreferenceNamespaceSchema)
|
|
13111
|
+
});
|
|
13061
13112
|
_enum(["new-session", "step-up"]);
|
|
13062
13113
|
/** The languages the hub's app landing pages are written in (D858). */
|
|
13063
13114
|
var AppPageLangSchema = _enum(["en", "it"]);
|
|
@@ -39985,38 +40036,37 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
39985
40036
|
auth: "admin",
|
|
39986
40037
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
39987
40038
|
});
|
|
40039
|
+
var LlmProfileKindSchema = string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "a kind id is lower-case letters, digits and dashes");
|
|
40040
|
+
/** What a model (or, by default, every model of a kind) can do. */
|
|
40041
|
+
var LlmModelFeaturesSchema = object({
|
|
40042
|
+
vision: boolean(),
|
|
40043
|
+
tools: boolean(),
|
|
40044
|
+
streaming: boolean()
|
|
40045
|
+
});
|
|
40046
|
+
/** One model a provider offers. `features` overrides the kind's defaults, per field. */
|
|
40047
|
+
var LlmModelInfoSchema = object({
|
|
40048
|
+
id: string(),
|
|
40049
|
+
label: string().optional(),
|
|
40050
|
+
contextLength: number().int().positive().optional(),
|
|
40051
|
+
features: LlmModelFeaturesSchema.partial().optional()
|
|
40052
|
+
});
|
|
39988
40053
|
/**
|
|
39989
|
-
*
|
|
39990
|
-
*
|
|
39991
|
-
*
|
|
39992
|
-
*
|
|
39993
|
-
* (hub-placed); the cap stays open for future providers.
|
|
39994
|
-
*
|
|
39995
|
-
* Profiles are ROWS (data), not addons: one row = one usable model endpoint.
|
|
39996
|
-
* `apiKey` is a password field — providers REDACT it on read and merge on
|
|
39997
|
-
* write; a stored key NEVER round-trips to a client.
|
|
40054
|
+
* The provider-specific part of a profile, validated by the provider that owns
|
|
40055
|
+
* the kind (`upsertProfile` refuses what it does not accept). A field its
|
|
40056
|
+
* `connectionSchema` declares `type: 'password'` is a secret: it is held in the
|
|
40057
|
+
* keychain, never in the row, and reads back as the redaction marker.
|
|
39998
40058
|
*/
|
|
39999
|
-
var
|
|
40000
|
-
"openai-compatible",
|
|
40001
|
-
"openai",
|
|
40002
|
-
"anthropic",
|
|
40003
|
-
"google",
|
|
40004
|
-
"managed-local",
|
|
40005
|
-
"apple-foundation"
|
|
40006
|
-
]);
|
|
40059
|
+
var LlmProviderConfigSchema = record(string(), unknown());
|
|
40007
40060
|
var LlmProfileSchema = object({
|
|
40008
40061
|
id: string(),
|
|
40009
40062
|
name: string(),
|
|
40063
|
+
/** The provider-declared kind (`LlmProfileKindDescriptor.kind`). */
|
|
40010
40064
|
kind: LlmProfileKindSchema,
|
|
40011
40065
|
/** Stamped by the provider — keeps the fanned catalog routable. */
|
|
40012
40066
|
addonId: string(),
|
|
40013
40067
|
enabled: boolean(),
|
|
40014
40068
|
/** Vendor model id, or the managed runtime's loaded model. */
|
|
40015
40069
|
model: string(),
|
|
40016
|
-
/** Required for openai-compatible; override for cloud kinds. */
|
|
40017
|
-
baseUrl: string().optional(),
|
|
40018
|
-
/** ConfigUISchema type:'password' — never round-trips (spec §5). */
|
|
40019
|
-
apiKey: string().optional(),
|
|
40020
40070
|
/** Vision on/off. A vision call against a `false` profile is REFUSED, never
|
|
40021
40071
|
* degraded to text — that shipped once and produced a confident answer to a
|
|
40022
40072
|
* question about a picture nobody sent. */
|
|
@@ -40024,15 +40074,11 @@ var LlmProfileSchema = object({
|
|
|
40024
40074
|
temperature: number().min(0).max(2).optional(),
|
|
40025
40075
|
/** Nucleus sampling. Every wire we speak has it. */
|
|
40026
40076
|
topP: number().min(0).max(1).optional(),
|
|
40027
|
-
/** Top-k sampling. Carried only by the wires that have it —
|
|
40028
|
-
*
|
|
40029
|
-
* `top_p` and no `top_k`). The profile editor hides the field wherever it
|
|
40030
|
-
* would change nothing; `KINDS_WITH_TOP_K` is the single owner of that list. */
|
|
40077
|
+
/** Top-k sampling. Carried only by the wires that have it — a kind offers the
|
|
40078
|
+
* field in its editor only when its descriptor lists it in `profileFields`. */
|
|
40031
40079
|
topK: number().int().positive().optional(),
|
|
40032
40080
|
maxTokens: number().int().positive().optional(),
|
|
40033
|
-
/** Prompt context window. Advisory for cloud kinds (they enforce their own)
|
|
40034
|
-
* for `managed-local` it is the llama.cpp `--ctx-size` the runtime starts
|
|
40035
|
-
* the model with, so it is the one field that changes a PROCESS. */
|
|
40081
|
+
/** Prompt context window. Advisory for cloud kinds (they enforce their own). */
|
|
40036
40082
|
contextLength: number().int().positive().optional(),
|
|
40037
40083
|
/** Default system prompt. A caller's `system` REPLACES it (never appends —
|
|
40038
40084
|
* two system prompts fighting is worse than either alone). */
|
|
@@ -40058,16 +40104,37 @@ var LlmProfileSchema = object({
|
|
|
40058
40104
|
* library; the REGISTRY of callable tools is ours and is empty in v1, so a
|
|
40059
40105
|
* `true` here buys the wiring, not behaviour, until tools are registered. */
|
|
40060
40106
|
toolsEnabled: boolean().default(false),
|
|
40061
|
-
|
|
40062
|
-
|
|
40063
|
-
|
|
40064
|
-
|
|
40065
|
-
|
|
40066
|
-
|
|
40067
|
-
|
|
40068
|
-
|
|
40069
|
-
|
|
40070
|
-
|
|
40107
|
+
/** Everything the kind's provider owns (endpoint, key, node, runtime…). */
|
|
40108
|
+
providerConfig: LlmProviderConfigSchema.default({})
|
|
40109
|
+
});
|
|
40110
|
+
/**
|
|
40111
|
+
* The common profile fields a kind's editor offers. The editor owns how each
|
|
40112
|
+
* one is drawn; the provider says which of them mean something on its wire.
|
|
40113
|
+
*/
|
|
40114
|
+
var LlmProfileFieldSchema = _enum([
|
|
40115
|
+
"temperature",
|
|
40116
|
+
"topP",
|
|
40117
|
+
"topK",
|
|
40118
|
+
"maxTokens",
|
|
40119
|
+
"contextLength",
|
|
40120
|
+
"systemPrompt",
|
|
40121
|
+
"timeoutMs",
|
|
40122
|
+
"connectTimeoutMs",
|
|
40123
|
+
"firstTokenTimeoutMs",
|
|
40124
|
+
"idleTimeoutMs",
|
|
40125
|
+
"retry",
|
|
40126
|
+
"toolsEnabled"
|
|
40127
|
+
]);
|
|
40128
|
+
/**
|
|
40129
|
+
* A provider-drawn part of the editor, by a generic widget id the admin UI
|
|
40130
|
+
* registers (`ai/apple-node`). `placement: 'model'` replaces the generic model
|
|
40131
|
+
* picker: that widget owns the model choice.
|
|
40132
|
+
*/
|
|
40133
|
+
var LlmProviderWidgetSchema = object({
|
|
40134
|
+
id: string(),
|
|
40135
|
+
placement: _enum(["connection", "model"]),
|
|
40136
|
+
/** `providerConfig` keys this widget must fill before the profile can be saved. */
|
|
40137
|
+
requires: array(string()).optional()
|
|
40071
40138
|
});
|
|
40072
40139
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
40073
40140
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
@@ -40076,11 +40143,56 @@ var ConfigSchemaPassthrough$3 = unknown();
|
|
|
40076
40143
|
var LlmProfileKindDescriptorSchema = object({
|
|
40077
40144
|
kind: LlmProfileKindSchema,
|
|
40078
40145
|
label: string(),
|
|
40146
|
+
/** A generic icon name (`cloud`, `plug`, `cpu`) — never a glyph or a logo. */
|
|
40079
40147
|
icon: string(),
|
|
40080
40148
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
40081
40149
|
addonId: string(),
|
|
40082
|
-
|
|
40150
|
+
/** The provider's own fields (`providerConfig`); `password` fields are keychain-held. */
|
|
40151
|
+
connectionSchema: ConfigSchemaPassthrough$3,
|
|
40152
|
+
/** Provider fields that belong under "Advanced" (extra headers, runtime tuning). */
|
|
40153
|
+
advancedSchema: ConfigSchemaPassthrough$3.optional(),
|
|
40154
|
+
/** The kind's defaults; a model from `listModels` may override any of them. */
|
|
40155
|
+
features: LlmModelFeaturesSchema,
|
|
40156
|
+
/** `false` = the provider stamps `supportsVision` itself (from what a node reports). */
|
|
40157
|
+
visionEditable: boolean(),
|
|
40158
|
+
/** Where the model list comes from: `listModels`, `staticModels`, or nowhere. */
|
|
40159
|
+
modelCatalog: _enum([
|
|
40160
|
+
"fetch",
|
|
40161
|
+
"static",
|
|
40162
|
+
"none"
|
|
40163
|
+
]),
|
|
40164
|
+
staticModels: array(LlmModelInfoSchema).optional(),
|
|
40165
|
+
/** The common fields that mean something on this kind's wire. */
|
|
40166
|
+
profileFields: array(LlmProfileFieldSchema),
|
|
40167
|
+
providerWidgets: array(LlmProviderWidgetSchema).optional()
|
|
40083
40168
|
});
|
|
40169
|
+
/**
|
|
40170
|
+
* `listModels` input. `connection` is an UNSAVED draft of `providerConfig`
|
|
40171
|
+
* (the editor's form); with `profileId` too, a secret the draft leaves
|
|
40172
|
+
* untouched (absent or the redaction marker) is resolved server-side from the
|
|
40173
|
+
* stored profile — the browser never receives it.
|
|
40174
|
+
*/
|
|
40175
|
+
var LlmListModelsInputSchema = object({
|
|
40176
|
+
addonId: string(),
|
|
40177
|
+
kind: LlmProfileKindSchema,
|
|
40178
|
+
profileId: string().optional(),
|
|
40179
|
+
connection: LlmProviderConfigSchema.optional()
|
|
40180
|
+
});
|
|
40181
|
+
var LlmListModelsErrorCodeSchema = _enum([
|
|
40182
|
+
"auth",
|
|
40183
|
+
"network",
|
|
40184
|
+
"unsupported",
|
|
40185
|
+
"invalid"
|
|
40186
|
+
]);
|
|
40187
|
+
/** A RESULT, never a throw: "wrong key" is an answer the editor renders inline. */
|
|
40188
|
+
var LlmListModelsResultSchema = discriminatedUnion("ok", [object({
|
|
40189
|
+
ok: literal(true),
|
|
40190
|
+
models: array(LlmModelInfoSchema)
|
|
40191
|
+
}), object({
|
|
40192
|
+
ok: literal(false),
|
|
40193
|
+
code: LlmListModelsErrorCodeSchema,
|
|
40194
|
+
message: string()
|
|
40195
|
+
})]);
|
|
40084
40196
|
var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
|
|
40085
40197
|
var LlmDefaultSchema = object({
|
|
40086
40198
|
selector: LlmDefaultSelectorSchema,
|
|
@@ -40180,7 +40292,10 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
40180
40292
|
kind: "mutation",
|
|
40181
40293
|
auth: "admin",
|
|
40182
40294
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
40183
|
-
}), method(
|
|
40295
|
+
}), method(LlmListModelsInputSchema, LlmListModelsResultSchema, {
|
|
40296
|
+
kind: "mutation",
|
|
40297
|
+
auth: "admin"
|
|
40298
|
+
}), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
40184
40299
|
selector: LlmDefaultSelectorSchema,
|
|
40185
40300
|
profileId: string().nullable()
|
|
40186
40301
|
}), _void(), {
|
|
@@ -61194,26 +61309,6 @@ var ApiKeySummarySchema = object({
|
|
|
61194
61309
|
createdAt: number(),
|
|
61195
61310
|
lastUsedAt: number().optional()
|
|
61196
61311
|
});
|
|
61197
|
-
var ScopedTokenSummarySchema = object({
|
|
61198
|
-
id: string(),
|
|
61199
|
-
userId: string(),
|
|
61200
|
-
name: string(),
|
|
61201
|
-
tokenPrefix: string(),
|
|
61202
|
-
scopes: array(TokenScopeSchema),
|
|
61203
|
-
expiresAt: number().nullish(),
|
|
61204
|
-
lastUsedAt: number().nullish(),
|
|
61205
|
-
createdAt: number()
|
|
61206
|
-
});
|
|
61207
|
-
var CreateScopedTokenInputSchema = object({
|
|
61208
|
-
userId: string(),
|
|
61209
|
-
name: string(),
|
|
61210
|
-
scopes: array(TokenScopeSchema),
|
|
61211
|
-
expiresAt: number().optional()
|
|
61212
|
-
});
|
|
61213
|
-
var CreateScopedTokenResultSchema = object({
|
|
61214
|
-
token: string(),
|
|
61215
|
-
record: ScopedTokenSummarySchema
|
|
61216
|
-
});
|
|
61217
61312
|
var OauthSessionSummarySchema = object({
|
|
61218
61313
|
id: string(),
|
|
61219
61314
|
userId: string(),
|
|
@@ -61235,11 +61330,11 @@ var TotpStatusSchema = object({
|
|
|
61235
61330
|
confirmedAt: number().nullable()
|
|
61236
61331
|
});
|
|
61237
61332
|
/**
|
|
61238
|
-
* user-management — singleton capability for user accounts
|
|
61239
|
-
*
|
|
61333
|
+
* user-management — singleton capability for user accounts and the
|
|
61334
|
+
* legacy API-key rows.
|
|
61240
61335
|
*
|
|
61241
61336
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
61242
|
-
* — the subset check on `setUserScopes`
|
|
61337
|
+
* — the subset check on `setUserScopes` is moot
|
|
61243
61338
|
* because non-admins never reach these. If/when we open non-admin
|
|
61244
61339
|
* delegation, structural caller-scope subset check goes inside the
|
|
61245
61340
|
* provider.
|
|
@@ -61296,15 +61391,7 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
61296
61391
|
kind: "mutation",
|
|
61297
61392
|
auth: "admin",
|
|
61298
61393
|
access: "delete"
|
|
61299
|
-
}), method(
|
|
61300
|
-
kind: "mutation",
|
|
61301
|
-
auth: "admin",
|
|
61302
|
-
access: "create"
|
|
61303
|
-
}), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
61304
|
-
kind: "mutation",
|
|
61305
|
-
auth: "admin",
|
|
61306
|
-
access: "delete"
|
|
61307
|
-
}), method(object({ token: string() }), ScopedTokenSummarySchema.nullable(), { access: "view" }), method(object({ userId: string() }), array(ScopedTokenSummarySchema), { auth: "admin" }), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61394
|
+
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
61308
61395
|
kind: "mutation",
|
|
61309
61396
|
auth: "admin",
|
|
61310
61397
|
access: "create"
|
|
@@ -65460,7 +65547,7 @@ Object.freeze({
|
|
|
65460
65547
|
capName: "llm",
|
|
65461
65548
|
capScope: "system",
|
|
65462
65549
|
addonId: null,
|
|
65463
|
-
access: "
|
|
65550
|
+
access: "create"
|
|
65464
65551
|
},
|
|
65465
65552
|
"llm.listNodeModels": {
|
|
65466
65553
|
capName: "llm",
|
|
@@ -70124,12 +70211,6 @@ Object.freeze({
|
|
|
70124
70211
|
addonId: null,
|
|
70125
70212
|
access: "create"
|
|
70126
70213
|
},
|
|
70127
|
-
"userManagement.createScopedToken": {
|
|
70128
|
-
capName: "user-management",
|
|
70129
|
-
capScope: "system",
|
|
70130
|
-
addonId: null,
|
|
70131
|
-
access: "create"
|
|
70132
|
-
},
|
|
70133
70214
|
"userManagement.createUser": {
|
|
70134
70215
|
capName: "user-management",
|
|
70135
70216
|
capScope: "system",
|
|
@@ -70178,12 +70259,6 @@ Object.freeze({
|
|
|
70178
70259
|
addonId: null,
|
|
70179
70260
|
access: "view"
|
|
70180
70261
|
},
|
|
70181
|
-
"userManagement.listScopedTokens": {
|
|
70182
|
-
capName: "user-management",
|
|
70183
|
-
capScope: "system",
|
|
70184
|
-
addonId: null,
|
|
70185
|
-
access: "view"
|
|
70186
|
-
},
|
|
70187
70262
|
"userManagement.listUsers": {
|
|
70188
70263
|
capName: "user-management",
|
|
70189
70264
|
capScope: "system",
|
|
@@ -70238,12 +70313,6 @@ Object.freeze({
|
|
|
70238
70313
|
addonId: null,
|
|
70239
70314
|
access: "delete"
|
|
70240
70315
|
},
|
|
70241
|
-
"userManagement.revokeScopedToken": {
|
|
70242
|
-
capName: "user-management",
|
|
70243
|
-
capScope: "system",
|
|
70244
|
-
addonId: null,
|
|
70245
|
-
access: "delete"
|
|
70246
|
-
},
|
|
70247
70316
|
"userManagement.setupTotp": {
|
|
70248
70317
|
capName: "user-management",
|
|
70249
70318
|
capScope: "system",
|
|
@@ -70274,12 +70343,6 @@ Object.freeze({
|
|
|
70274
70343
|
addonId: null,
|
|
70275
70344
|
access: "view"
|
|
70276
70345
|
},
|
|
70277
|
-
"userManagement.validateScopedToken": {
|
|
70278
|
-
capName: "user-management",
|
|
70279
|
-
capScope: "system",
|
|
70280
|
-
addonId: null,
|
|
70281
|
-
access: "view"
|
|
70282
|
-
},
|
|
70283
70346
|
"userManagement.verifyTotp": {
|
|
70284
70347
|
capName: "user-management",
|
|
70285
70348
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-mqtt-broker",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.130",
|
|
4
4
|
"description": "MQTT broker registry addon for CamStack — manages external broker entries + an optional embedded aedes broker. Consumers spin up their own `mqtt.js` clients via the `mqtt-broker` cap.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|