@camstack/addon-provider-wyze 0.2.142 → 0.2.143
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/addon.js +165 -102
- package/dist/addon.mjs +165 -102
- package/package.json +1 -1
package/dist/addon.js
CHANGED
|
@@ -5446,7 +5446,7 @@ var ZodIssueCode = {
|
|
|
5446
5446
|
var ZodFirstPartyTypeKind;
|
|
5447
5447
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5448
5448
|
//#endregion
|
|
5449
|
-
//#region ../types/dist/sleep-
|
|
5449
|
+
//#region ../types/dist/sleep-yKL5gfrH.mjs
|
|
5450
5450
|
/**
|
|
5451
5451
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5452
5452
|
* window to float samples (D455).
|
|
@@ -7829,9 +7829,9 @@ function normalizeAddonInitResult(result) {
|
|
|
7829
7829
|
return result;
|
|
7830
7830
|
}
|
|
7831
7831
|
/**
|
|
7832
|
-
* The share-view scope kinds a
|
|
7833
|
-
* and validates them (`
|
|
7834
|
-
* list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7832
|
+
* The share-view scope kinds a share-link token can carry. The hub mints
|
|
7833
|
+
* and validates them (`ShareViewGrantSchema` builds its
|
|
7834
|
+
* enum from this list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7835
7835
|
*/
|
|
7836
7836
|
var SHARE_VIEW_KINDS = ["grid-view", "events-view"];
|
|
7837
7837
|
/** The wire shape of {@link PeerBytesTicket} — see the type for what it is. */
|
|
@@ -12555,7 +12555,7 @@ var ConvertResultSchema = object({
|
|
|
12555
12555
|
* `super_admin` — collapsed onto the single boolean because every
|
|
12556
12556
|
* non-admin caller is governed by the same scope-check rules; the
|
|
12557
12557
|
* distinction was only ever used to route role-specific procedures
|
|
12558
|
-
* which we no longer have. CLI / webhook integrations are `
|
|
12558
|
+
* which we no longer have. CLI / webhook integrations are tokens (`auth.mintToken`)
|
|
12559
12559
|
* with `isAdmin: false` + an explicit scope list.
|
|
12560
12560
|
*/
|
|
12561
12561
|
/** Per-method access flavour. Materialised on every cap method via codegen. */
|
|
@@ -12744,10 +12744,12 @@ var AddonRoutesScopeSchema = object({
|
|
|
12744
12744
|
type: literal("addon-routes"),
|
|
12745
12745
|
access: array(MethodAccessSchema).min(1)
|
|
12746
12746
|
});
|
|
12747
|
+
var PreferencesSelfScopeSchema = object({ type: literal("preferences-self") });
|
|
12747
12748
|
var CredentialScopeSchema = union([
|
|
12748
12749
|
literal("*"),
|
|
12749
12750
|
ShareViewScopeSchema,
|
|
12750
12751
|
AddonRoutesScopeSchema,
|
|
12752
|
+
PreferencesSelfScopeSchema,
|
|
12751
12753
|
TokenScopeSchema
|
|
12752
12754
|
]);
|
|
12753
12755
|
object({
|
|
@@ -12756,6 +12758,55 @@ object({
|
|
|
12756
12758
|
jti: string().min(16),
|
|
12757
12759
|
scopes: array(CredentialScopeSchema).min(1)
|
|
12758
12760
|
});
|
|
12761
|
+
var PreferenceNamespaceSchema = string().regex(/^[a-z][a-z0-9.-]{0,63}$/);
|
|
12762
|
+
/** A namespace's value: a JSON object, opaque to the hub. */
|
|
12763
|
+
var PreferenceValueSchema = record(string(), unknown());
|
|
12764
|
+
var PreferenceDeviceIdSchema = string().min(1).max(64);
|
|
12765
|
+
/** A stored row, as the owner reads it. */
|
|
12766
|
+
var PreferenceRowSchema = object({
|
|
12767
|
+
namespace: PreferenceNamespaceSchema,
|
|
12768
|
+
value: PreferenceValueSchema,
|
|
12769
|
+
/** Starts at 1, +1 on every write of this namespace. A delete ends the row and its count. */
|
|
12770
|
+
revision: number().int().positive(),
|
|
12771
|
+
updatedAt: number().int(),
|
|
12772
|
+
/** The client id the last writer sent; `null` when it sent none. */
|
|
12773
|
+
updatedByDevice: PreferenceDeviceIdSchema.nullable()
|
|
12774
|
+
});
|
|
12775
|
+
object({
|
|
12776
|
+
/** Absent: every namespace the caller holds. */
|
|
12777
|
+
namespaces: array(PreferenceNamespaceSchema).max(32).optional() });
|
|
12778
|
+
object({ rows: array(PreferenceRowSchema) });
|
|
12779
|
+
object({
|
|
12780
|
+
namespace: PreferenceNamespaceSchema,
|
|
12781
|
+
value: PreferenceValueSchema,
|
|
12782
|
+
/**
|
|
12783
|
+
* The revision the edit was based on. Absent: last write wins. `0`: the
|
|
12784
|
+
* namespace must not exist yet. Any other value that is not the current
|
|
12785
|
+
* revision answers `conflict` and writes nothing.
|
|
12786
|
+
*/
|
|
12787
|
+
baseRevision: number().int().nonnegative().optional(),
|
|
12788
|
+
deviceId: PreferenceDeviceIdSchema.optional()
|
|
12789
|
+
});
|
|
12790
|
+
discriminatedUnion("status", [object({
|
|
12791
|
+
status: literal("saved"),
|
|
12792
|
+
row: PreferenceRowSchema
|
|
12793
|
+
}), object({
|
|
12794
|
+
status: literal("conflict"),
|
|
12795
|
+
current: PreferenceRowSchema.nullable()
|
|
12796
|
+
})]);
|
|
12797
|
+
object({ namespace: PreferenceNamespaceSchema });
|
|
12798
|
+
object({
|
|
12799
|
+
/** `false` when the namespace did not exist. */
|
|
12800
|
+
deleted: boolean() });
|
|
12801
|
+
object({
|
|
12802
|
+
/** The revision the client holds per namespace; a namespace it does not list is new to it. */
|
|
12803
|
+
revisionByNamespace: record(PreferenceNamespaceSchema, number().int().nonnegative()).refine((map) => Object.keys(map).length <= 32, { message: `at most 32 namespaces` }) });
|
|
12804
|
+
object({
|
|
12805
|
+
/** Every row whose revision differs from the client's, and every row it did not list. */
|
|
12806
|
+
rows: array(PreferenceRowSchema),
|
|
12807
|
+
/** Namespaces the client listed that no longer exist. */
|
|
12808
|
+
deleted: array(PreferenceNamespaceSchema)
|
|
12809
|
+
});
|
|
12759
12810
|
_enum(["new-session", "step-up"]);
|
|
12760
12811
|
/** The languages the hub's app landing pages are written in (D858). */
|
|
12761
12812
|
var AppPageLangSchema = _enum(["en", "it"]);
|
|
@@ -39949,38 +40000,37 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
39949
40000
|
auth: "admin",
|
|
39950
40001
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
39951
40002
|
});
|
|
40003
|
+
var LlmProfileKindSchema = string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "a kind id is lower-case letters, digits and dashes");
|
|
40004
|
+
/** What a model (or, by default, every model of a kind) can do. */
|
|
40005
|
+
var LlmModelFeaturesSchema = object({
|
|
40006
|
+
vision: boolean(),
|
|
40007
|
+
tools: boolean(),
|
|
40008
|
+
streaming: boolean()
|
|
40009
|
+
});
|
|
40010
|
+
/** One model a provider offers. `features` overrides the kind's defaults, per field. */
|
|
40011
|
+
var LlmModelInfoSchema = object({
|
|
40012
|
+
id: string(),
|
|
40013
|
+
label: string().optional(),
|
|
40014
|
+
contextLength: number().int().positive().optional(),
|
|
40015
|
+
features: LlmModelFeaturesSchema.partial().optional()
|
|
40016
|
+
});
|
|
39952
40017
|
/**
|
|
39953
|
-
*
|
|
39954
|
-
*
|
|
39955
|
-
*
|
|
39956
|
-
*
|
|
39957
|
-
* (hub-placed); the cap stays open for future providers.
|
|
39958
|
-
*
|
|
39959
|
-
* Profiles are ROWS (data), not addons: one row = one usable model endpoint.
|
|
39960
|
-
* `apiKey` is a password field — providers REDACT it on read and merge on
|
|
39961
|
-
* write; a stored key NEVER round-trips to a client.
|
|
40018
|
+
* The provider-specific part of a profile, validated by the provider that owns
|
|
40019
|
+
* the kind (`upsertProfile` refuses what it does not accept). A field its
|
|
40020
|
+
* `connectionSchema` declares `type: 'password'` is a secret: it is held in the
|
|
40021
|
+
* keychain, never in the row, and reads back as the redaction marker.
|
|
39962
40022
|
*/
|
|
39963
|
-
var
|
|
39964
|
-
"openai-compatible",
|
|
39965
|
-
"openai",
|
|
39966
|
-
"anthropic",
|
|
39967
|
-
"google",
|
|
39968
|
-
"managed-local",
|
|
39969
|
-
"apple-foundation"
|
|
39970
|
-
]);
|
|
40023
|
+
var LlmProviderConfigSchema = record(string(), unknown());
|
|
39971
40024
|
var LlmProfileSchema = object({
|
|
39972
40025
|
id: string(),
|
|
39973
40026
|
name: string(),
|
|
40027
|
+
/** The provider-declared kind (`LlmProfileKindDescriptor.kind`). */
|
|
39974
40028
|
kind: LlmProfileKindSchema,
|
|
39975
40029
|
/** Stamped by the provider — keeps the fanned catalog routable. */
|
|
39976
40030
|
addonId: string(),
|
|
39977
40031
|
enabled: boolean(),
|
|
39978
40032
|
/** Vendor model id, or the managed runtime's loaded model. */
|
|
39979
40033
|
model: string(),
|
|
39980
|
-
/** Required for openai-compatible; override for cloud kinds. */
|
|
39981
|
-
baseUrl: string().optional(),
|
|
39982
|
-
/** ConfigUISchema type:'password' — never round-trips (spec §5). */
|
|
39983
|
-
apiKey: string().optional(),
|
|
39984
40034
|
/** Vision on/off. A vision call against a `false` profile is REFUSED, never
|
|
39985
40035
|
* degraded to text — that shipped once and produced a confident answer to a
|
|
39986
40036
|
* question about a picture nobody sent. */
|
|
@@ -39988,15 +40038,11 @@ var LlmProfileSchema = object({
|
|
|
39988
40038
|
temperature: number().min(0).max(2).optional(),
|
|
39989
40039
|
/** Nucleus sampling. Every wire we speak has it. */
|
|
39990
40040
|
topP: number().min(0).max(1).optional(),
|
|
39991
|
-
/** Top-k sampling. Carried only by the wires that have it —
|
|
39992
|
-
*
|
|
39993
|
-
* `top_p` and no `top_k`). The profile editor hides the field wherever it
|
|
39994
|
-
* would change nothing; `KINDS_WITH_TOP_K` is the single owner of that list. */
|
|
40041
|
+
/** Top-k sampling. Carried only by the wires that have it — a kind offers the
|
|
40042
|
+
* field in its editor only when its descriptor lists it in `profileFields`. */
|
|
39995
40043
|
topK: number().int().positive().optional(),
|
|
39996
40044
|
maxTokens: number().int().positive().optional(),
|
|
39997
|
-
/** Prompt context window. Advisory for cloud kinds (they enforce their own)
|
|
39998
|
-
* for `managed-local` it is the llama.cpp `--ctx-size` the runtime starts
|
|
39999
|
-
* the model with, so it is the one field that changes a PROCESS. */
|
|
40045
|
+
/** Prompt context window. Advisory for cloud kinds (they enforce their own). */
|
|
40000
40046
|
contextLength: number().int().positive().optional(),
|
|
40001
40047
|
/** Default system prompt. A caller's `system` REPLACES it (never appends —
|
|
40002
40048
|
* two system prompts fighting is worse than either alone). */
|
|
@@ -40022,16 +40068,37 @@ var LlmProfileSchema = object({
|
|
|
40022
40068
|
* library; the REGISTRY of callable tools is ours and is empty in v1, so a
|
|
40023
40069
|
* `true` here buys the wiring, not behaviour, until tools are registered. */
|
|
40024
40070
|
toolsEnabled: boolean().default(false),
|
|
40025
|
-
|
|
40026
|
-
|
|
40027
|
-
|
|
40028
|
-
|
|
40029
|
-
|
|
40030
|
-
|
|
40031
|
-
|
|
40032
|
-
|
|
40033
|
-
|
|
40034
|
-
|
|
40071
|
+
/** Everything the kind's provider owns (endpoint, key, node, runtime…). */
|
|
40072
|
+
providerConfig: LlmProviderConfigSchema.default({})
|
|
40073
|
+
});
|
|
40074
|
+
/**
|
|
40075
|
+
* The common profile fields a kind's editor offers. The editor owns how each
|
|
40076
|
+
* one is drawn; the provider says which of them mean something on its wire.
|
|
40077
|
+
*/
|
|
40078
|
+
var LlmProfileFieldSchema = _enum([
|
|
40079
|
+
"temperature",
|
|
40080
|
+
"topP",
|
|
40081
|
+
"topK",
|
|
40082
|
+
"maxTokens",
|
|
40083
|
+
"contextLength",
|
|
40084
|
+
"systemPrompt",
|
|
40085
|
+
"timeoutMs",
|
|
40086
|
+
"connectTimeoutMs",
|
|
40087
|
+
"firstTokenTimeoutMs",
|
|
40088
|
+
"idleTimeoutMs",
|
|
40089
|
+
"retry",
|
|
40090
|
+
"toolsEnabled"
|
|
40091
|
+
]);
|
|
40092
|
+
/**
|
|
40093
|
+
* A provider-drawn part of the editor, by a generic widget id the admin UI
|
|
40094
|
+
* registers (`ai/apple-node`). `placement: 'model'` replaces the generic model
|
|
40095
|
+
* picker: that widget owns the model choice.
|
|
40096
|
+
*/
|
|
40097
|
+
var LlmProviderWidgetSchema = object({
|
|
40098
|
+
id: string(),
|
|
40099
|
+
placement: _enum(["connection", "model"]),
|
|
40100
|
+
/** `providerConfig` keys this widget must fill before the profile can be saved. */
|
|
40101
|
+
requires: array(string()).optional()
|
|
40035
40102
|
});
|
|
40036
40103
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
40037
40104
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
@@ -40040,11 +40107,56 @@ var ConfigSchemaPassthrough$3 = unknown();
|
|
|
40040
40107
|
var LlmProfileKindDescriptorSchema = object({
|
|
40041
40108
|
kind: LlmProfileKindSchema,
|
|
40042
40109
|
label: string(),
|
|
40110
|
+
/** A generic icon name (`cloud`, `plug`, `cpu`) — never a glyph or a logo. */
|
|
40043
40111
|
icon: string(),
|
|
40044
40112
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
40045
40113
|
addonId: string(),
|
|
40046
|
-
|
|
40114
|
+
/** The provider's own fields (`providerConfig`); `password` fields are keychain-held. */
|
|
40115
|
+
connectionSchema: ConfigSchemaPassthrough$3,
|
|
40116
|
+
/** Provider fields that belong under "Advanced" (extra headers, runtime tuning). */
|
|
40117
|
+
advancedSchema: ConfigSchemaPassthrough$3.optional(),
|
|
40118
|
+
/** The kind's defaults; a model from `listModels` may override any of them. */
|
|
40119
|
+
features: LlmModelFeaturesSchema,
|
|
40120
|
+
/** `false` = the provider stamps `supportsVision` itself (from what a node reports). */
|
|
40121
|
+
visionEditable: boolean(),
|
|
40122
|
+
/** Where the model list comes from: `listModels`, `staticModels`, or nowhere. */
|
|
40123
|
+
modelCatalog: _enum([
|
|
40124
|
+
"fetch",
|
|
40125
|
+
"static",
|
|
40126
|
+
"none"
|
|
40127
|
+
]),
|
|
40128
|
+
staticModels: array(LlmModelInfoSchema).optional(),
|
|
40129
|
+
/** The common fields that mean something on this kind's wire. */
|
|
40130
|
+
profileFields: array(LlmProfileFieldSchema),
|
|
40131
|
+
providerWidgets: array(LlmProviderWidgetSchema).optional()
|
|
40047
40132
|
});
|
|
40133
|
+
/**
|
|
40134
|
+
* `listModels` input. `connection` is an UNSAVED draft of `providerConfig`
|
|
40135
|
+
* (the editor's form); with `profileId` too, a secret the draft leaves
|
|
40136
|
+
* untouched (absent or the redaction marker) is resolved server-side from the
|
|
40137
|
+
* stored profile — the browser never receives it.
|
|
40138
|
+
*/
|
|
40139
|
+
var LlmListModelsInputSchema = object({
|
|
40140
|
+
addonId: string(),
|
|
40141
|
+
kind: LlmProfileKindSchema,
|
|
40142
|
+
profileId: string().optional(),
|
|
40143
|
+
connection: LlmProviderConfigSchema.optional()
|
|
40144
|
+
});
|
|
40145
|
+
var LlmListModelsErrorCodeSchema = _enum([
|
|
40146
|
+
"auth",
|
|
40147
|
+
"network",
|
|
40148
|
+
"unsupported",
|
|
40149
|
+
"invalid"
|
|
40150
|
+
]);
|
|
40151
|
+
/** A RESULT, never a throw: "wrong key" is an answer the editor renders inline. */
|
|
40152
|
+
var LlmListModelsResultSchema = discriminatedUnion("ok", [object({
|
|
40153
|
+
ok: literal(true),
|
|
40154
|
+
models: array(LlmModelInfoSchema)
|
|
40155
|
+
}), object({
|
|
40156
|
+
ok: literal(false),
|
|
40157
|
+
code: LlmListModelsErrorCodeSchema,
|
|
40158
|
+
message: string()
|
|
40159
|
+
})]);
|
|
40048
40160
|
var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
|
|
40049
40161
|
var LlmDefaultSchema = object({
|
|
40050
40162
|
selector: LlmDefaultSelectorSchema,
|
|
@@ -40144,7 +40256,10 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
40144
40256
|
kind: "mutation",
|
|
40145
40257
|
auth: "admin",
|
|
40146
40258
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
40147
|
-
}), method(
|
|
40259
|
+
}), method(LlmListModelsInputSchema, LlmListModelsResultSchema, {
|
|
40260
|
+
kind: "mutation",
|
|
40261
|
+
auth: "admin"
|
|
40262
|
+
}), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
40148
40263
|
selector: LlmDefaultSelectorSchema,
|
|
40149
40264
|
profileId: string().nullable()
|
|
40150
40265
|
}), _void(), {
|
|
@@ -64144,26 +64259,6 @@ var ApiKeySummarySchema = object({
|
|
|
64144
64259
|
createdAt: number(),
|
|
64145
64260
|
lastUsedAt: number().optional()
|
|
64146
64261
|
});
|
|
64147
|
-
var ScopedTokenSummarySchema = object({
|
|
64148
|
-
id: string(),
|
|
64149
|
-
userId: string(),
|
|
64150
|
-
name: string(),
|
|
64151
|
-
tokenPrefix: string(),
|
|
64152
|
-
scopes: array(TokenScopeSchema),
|
|
64153
|
-
expiresAt: number().nullish(),
|
|
64154
|
-
lastUsedAt: number().nullish(),
|
|
64155
|
-
createdAt: number()
|
|
64156
|
-
});
|
|
64157
|
-
var CreateScopedTokenInputSchema = object({
|
|
64158
|
-
userId: string(),
|
|
64159
|
-
name: string(),
|
|
64160
|
-
scopes: array(TokenScopeSchema),
|
|
64161
|
-
expiresAt: number().optional()
|
|
64162
|
-
});
|
|
64163
|
-
var CreateScopedTokenResultSchema = object({
|
|
64164
|
-
token: string(),
|
|
64165
|
-
record: ScopedTokenSummarySchema
|
|
64166
|
-
});
|
|
64167
64262
|
var OauthSessionSummarySchema = object({
|
|
64168
64263
|
id: string(),
|
|
64169
64264
|
userId: string(),
|
|
@@ -64185,11 +64280,11 @@ var TotpStatusSchema = object({
|
|
|
64185
64280
|
confirmedAt: number().nullable()
|
|
64186
64281
|
});
|
|
64187
64282
|
/**
|
|
64188
|
-
* user-management — singleton capability for user accounts
|
|
64189
|
-
*
|
|
64283
|
+
* user-management — singleton capability for user accounts and the
|
|
64284
|
+
* legacy API-key rows.
|
|
64190
64285
|
*
|
|
64191
64286
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64192
|
-
* — the subset check on `setUserScopes`
|
|
64287
|
+
* — the subset check on `setUserScopes` is moot
|
|
64193
64288
|
* because non-admins never reach these. If/when we open non-admin
|
|
64194
64289
|
* delegation, structural caller-scope subset check goes inside the
|
|
64195
64290
|
* provider.
|
|
@@ -64246,15 +64341,7 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64246
64341
|
kind: "mutation",
|
|
64247
64342
|
auth: "admin",
|
|
64248
64343
|
access: "delete"
|
|
64249
|
-
}), method(
|
|
64250
|
-
kind: "mutation",
|
|
64251
|
-
auth: "admin",
|
|
64252
|
-
access: "create"
|
|
64253
|
-
}), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64254
|
-
kind: "mutation",
|
|
64255
|
-
auth: "admin",
|
|
64256
|
-
access: "delete"
|
|
64257
|
-
}), method(object({ token: string() }), ScopedTokenSummarySchema.nullable(), { access: "view" }), method(object({ userId: string() }), array(ScopedTokenSummarySchema), { auth: "admin" }), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64344
|
+
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64258
64345
|
kind: "mutation",
|
|
64259
64346
|
auth: "admin",
|
|
64260
64347
|
access: "create"
|
|
@@ -70344,7 +70431,7 @@ Object.freeze({
|
|
|
70344
70431
|
capName: "llm",
|
|
70345
70432
|
capScope: "system",
|
|
70346
70433
|
addonId: null,
|
|
70347
|
-
access: "
|
|
70434
|
+
access: "create"
|
|
70348
70435
|
},
|
|
70349
70436
|
"llm.listNodeModels": {
|
|
70350
70437
|
capName: "llm",
|
|
@@ -75008,12 +75095,6 @@ Object.freeze({
|
|
|
75008
75095
|
addonId: null,
|
|
75009
75096
|
access: "create"
|
|
75010
75097
|
},
|
|
75011
|
-
"userManagement.createScopedToken": {
|
|
75012
|
-
capName: "user-management",
|
|
75013
|
-
capScope: "system",
|
|
75014
|
-
addonId: null,
|
|
75015
|
-
access: "create"
|
|
75016
|
-
},
|
|
75017
75098
|
"userManagement.createUser": {
|
|
75018
75099
|
capName: "user-management",
|
|
75019
75100
|
capScope: "system",
|
|
@@ -75062,12 +75143,6 @@ Object.freeze({
|
|
|
75062
75143
|
addonId: null,
|
|
75063
75144
|
access: "view"
|
|
75064
75145
|
},
|
|
75065
|
-
"userManagement.listScopedTokens": {
|
|
75066
|
-
capName: "user-management",
|
|
75067
|
-
capScope: "system",
|
|
75068
|
-
addonId: null,
|
|
75069
|
-
access: "view"
|
|
75070
|
-
},
|
|
75071
75146
|
"userManagement.listUsers": {
|
|
75072
75147
|
capName: "user-management",
|
|
75073
75148
|
capScope: "system",
|
|
@@ -75122,12 +75197,6 @@ Object.freeze({
|
|
|
75122
75197
|
addonId: null,
|
|
75123
75198
|
access: "delete"
|
|
75124
75199
|
},
|
|
75125
|
-
"userManagement.revokeScopedToken": {
|
|
75126
|
-
capName: "user-management",
|
|
75127
|
-
capScope: "system",
|
|
75128
|
-
addonId: null,
|
|
75129
|
-
access: "delete"
|
|
75130
|
-
},
|
|
75131
75200
|
"userManagement.setupTotp": {
|
|
75132
75201
|
capName: "user-management",
|
|
75133
75202
|
capScope: "system",
|
|
@@ -75158,12 +75227,6 @@ Object.freeze({
|
|
|
75158
75227
|
addonId: null,
|
|
75159
75228
|
access: "view"
|
|
75160
75229
|
},
|
|
75161
|
-
"userManagement.validateScopedToken": {
|
|
75162
|
-
capName: "user-management",
|
|
75163
|
-
capScope: "system",
|
|
75164
|
-
addonId: null,
|
|
75165
|
-
access: "view"
|
|
75166
|
-
},
|
|
75167
75230
|
"userManagement.verifyTotp": {
|
|
75168
75231
|
capName: "user-management",
|
|
75169
75232
|
capScope: "system",
|
package/dist/addon.mjs
CHANGED
|
@@ -5425,7 +5425,7 @@ var ZodIssueCode = {
|
|
|
5425
5425
|
var ZodFirstPartyTypeKind;
|
|
5426
5426
|
ZodFirstPartyTypeKind || (ZodFirstPartyTypeKind = {});
|
|
5427
5427
|
//#endregion
|
|
5428
|
-
//#region ../types/dist/sleep-
|
|
5428
|
+
//#region ../types/dist/sleep-yKL5gfrH.mjs
|
|
5429
5429
|
/**
|
|
5430
5430
|
* The audio chunk plane's byte format, and the ONE expansion from a coded
|
|
5431
5431
|
* window to float samples (D455).
|
|
@@ -7808,9 +7808,9 @@ function normalizeAddonInitResult(result) {
|
|
|
7808
7808
|
return result;
|
|
7809
7809
|
}
|
|
7810
7810
|
/**
|
|
7811
|
-
* The share-view scope kinds a
|
|
7812
|
-
* and validates them (`
|
|
7813
|
-
* list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7811
|
+
* The share-view scope kinds a share-link token can carry. The hub mints
|
|
7812
|
+
* and validates them (`ShareViewGrantSchema` builds its
|
|
7813
|
+
* enum from this list); a data plane names the kinds it ACCEPTS in `share`.
|
|
7814
7814
|
*/
|
|
7815
7815
|
var SHARE_VIEW_KINDS = ["grid-view", "events-view"];
|
|
7816
7816
|
/** The wire shape of {@link PeerBytesTicket} — see the type for what it is. */
|
|
@@ -12534,7 +12534,7 @@ var ConvertResultSchema = object({
|
|
|
12534
12534
|
* `super_admin` — collapsed onto the single boolean because every
|
|
12535
12535
|
* non-admin caller is governed by the same scope-check rules; the
|
|
12536
12536
|
* distinction was only ever used to route role-specific procedures
|
|
12537
|
-
* which we no longer have. CLI / webhook integrations are `
|
|
12537
|
+
* which we no longer have. CLI / webhook integrations are tokens (`auth.mintToken`)
|
|
12538
12538
|
* with `isAdmin: false` + an explicit scope list.
|
|
12539
12539
|
*/
|
|
12540
12540
|
/** Per-method access flavour. Materialised on every cap method via codegen. */
|
|
@@ -12723,10 +12723,12 @@ var AddonRoutesScopeSchema = object({
|
|
|
12723
12723
|
type: literal("addon-routes"),
|
|
12724
12724
|
access: array(MethodAccessSchema).min(1)
|
|
12725
12725
|
});
|
|
12726
|
+
var PreferencesSelfScopeSchema = object({ type: literal("preferences-self") });
|
|
12726
12727
|
var CredentialScopeSchema = union([
|
|
12727
12728
|
literal("*"),
|
|
12728
12729
|
ShareViewScopeSchema,
|
|
12729
12730
|
AddonRoutesScopeSchema,
|
|
12731
|
+
PreferencesSelfScopeSchema,
|
|
12730
12732
|
TokenScopeSchema
|
|
12731
12733
|
]);
|
|
12732
12734
|
object({
|
|
@@ -12735,6 +12737,55 @@ object({
|
|
|
12735
12737
|
jti: string().min(16),
|
|
12736
12738
|
scopes: array(CredentialScopeSchema).min(1)
|
|
12737
12739
|
});
|
|
12740
|
+
var PreferenceNamespaceSchema = string().regex(/^[a-z][a-z0-9.-]{0,63}$/);
|
|
12741
|
+
/** A namespace's value: a JSON object, opaque to the hub. */
|
|
12742
|
+
var PreferenceValueSchema = record(string(), unknown());
|
|
12743
|
+
var PreferenceDeviceIdSchema = string().min(1).max(64);
|
|
12744
|
+
/** A stored row, as the owner reads it. */
|
|
12745
|
+
var PreferenceRowSchema = object({
|
|
12746
|
+
namespace: PreferenceNamespaceSchema,
|
|
12747
|
+
value: PreferenceValueSchema,
|
|
12748
|
+
/** Starts at 1, +1 on every write of this namespace. A delete ends the row and its count. */
|
|
12749
|
+
revision: number().int().positive(),
|
|
12750
|
+
updatedAt: number().int(),
|
|
12751
|
+
/** The client id the last writer sent; `null` when it sent none. */
|
|
12752
|
+
updatedByDevice: PreferenceDeviceIdSchema.nullable()
|
|
12753
|
+
});
|
|
12754
|
+
object({
|
|
12755
|
+
/** Absent: every namespace the caller holds. */
|
|
12756
|
+
namespaces: array(PreferenceNamespaceSchema).max(32).optional() });
|
|
12757
|
+
object({ rows: array(PreferenceRowSchema) });
|
|
12758
|
+
object({
|
|
12759
|
+
namespace: PreferenceNamespaceSchema,
|
|
12760
|
+
value: PreferenceValueSchema,
|
|
12761
|
+
/**
|
|
12762
|
+
* The revision the edit was based on. Absent: last write wins. `0`: the
|
|
12763
|
+
* namespace must not exist yet. Any other value that is not the current
|
|
12764
|
+
* revision answers `conflict` and writes nothing.
|
|
12765
|
+
*/
|
|
12766
|
+
baseRevision: number().int().nonnegative().optional(),
|
|
12767
|
+
deviceId: PreferenceDeviceIdSchema.optional()
|
|
12768
|
+
});
|
|
12769
|
+
discriminatedUnion("status", [object({
|
|
12770
|
+
status: literal("saved"),
|
|
12771
|
+
row: PreferenceRowSchema
|
|
12772
|
+
}), object({
|
|
12773
|
+
status: literal("conflict"),
|
|
12774
|
+
current: PreferenceRowSchema.nullable()
|
|
12775
|
+
})]);
|
|
12776
|
+
object({ namespace: PreferenceNamespaceSchema });
|
|
12777
|
+
object({
|
|
12778
|
+
/** `false` when the namespace did not exist. */
|
|
12779
|
+
deleted: boolean() });
|
|
12780
|
+
object({
|
|
12781
|
+
/** The revision the client holds per namespace; a namespace it does not list is new to it. */
|
|
12782
|
+
revisionByNamespace: record(PreferenceNamespaceSchema, number().int().nonnegative()).refine((map) => Object.keys(map).length <= 32, { message: `at most 32 namespaces` }) });
|
|
12783
|
+
object({
|
|
12784
|
+
/** Every row whose revision differs from the client's, and every row it did not list. */
|
|
12785
|
+
rows: array(PreferenceRowSchema),
|
|
12786
|
+
/** Namespaces the client listed that no longer exist. */
|
|
12787
|
+
deleted: array(PreferenceNamespaceSchema)
|
|
12788
|
+
});
|
|
12738
12789
|
_enum(["new-session", "step-up"]);
|
|
12739
12790
|
/** The languages the hub's app landing pages are written in (D858). */
|
|
12740
12791
|
var AppPageLangSchema = _enum(["en", "it"]);
|
|
@@ -39928,38 +39979,37 @@ method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
|
39928
39979
|
auth: "admin",
|
|
39929
39980
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
39930
39981
|
});
|
|
39982
|
+
var LlmProfileKindSchema = string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/, "a kind id is lower-case letters, digits and dashes");
|
|
39983
|
+
/** What a model (or, by default, every model of a kind) can do. */
|
|
39984
|
+
var LlmModelFeaturesSchema = object({
|
|
39985
|
+
vision: boolean(),
|
|
39986
|
+
tools: boolean(),
|
|
39987
|
+
streaming: boolean()
|
|
39988
|
+
});
|
|
39989
|
+
/** One model a provider offers. `features` overrides the kind's defaults, per field. */
|
|
39990
|
+
var LlmModelInfoSchema = object({
|
|
39991
|
+
id: string(),
|
|
39992
|
+
label: string().optional(),
|
|
39993
|
+
contextLength: number().int().positive().optional(),
|
|
39994
|
+
features: LlmModelFeaturesSchema.partial().optional()
|
|
39995
|
+
});
|
|
39931
39996
|
/**
|
|
39932
|
-
*
|
|
39933
|
-
*
|
|
39934
|
-
*
|
|
39935
|
-
*
|
|
39936
|
-
* (hub-placed); the cap stays open for future providers.
|
|
39937
|
-
*
|
|
39938
|
-
* Profiles are ROWS (data), not addons: one row = one usable model endpoint.
|
|
39939
|
-
* `apiKey` is a password field — providers REDACT it on read and merge on
|
|
39940
|
-
* write; a stored key NEVER round-trips to a client.
|
|
39997
|
+
* The provider-specific part of a profile, validated by the provider that owns
|
|
39998
|
+
* the kind (`upsertProfile` refuses what it does not accept). A field its
|
|
39999
|
+
* `connectionSchema` declares `type: 'password'` is a secret: it is held in the
|
|
40000
|
+
* keychain, never in the row, and reads back as the redaction marker.
|
|
39941
40001
|
*/
|
|
39942
|
-
var
|
|
39943
|
-
"openai-compatible",
|
|
39944
|
-
"openai",
|
|
39945
|
-
"anthropic",
|
|
39946
|
-
"google",
|
|
39947
|
-
"managed-local",
|
|
39948
|
-
"apple-foundation"
|
|
39949
|
-
]);
|
|
40002
|
+
var LlmProviderConfigSchema = record(string(), unknown());
|
|
39950
40003
|
var LlmProfileSchema = object({
|
|
39951
40004
|
id: string(),
|
|
39952
40005
|
name: string(),
|
|
40006
|
+
/** The provider-declared kind (`LlmProfileKindDescriptor.kind`). */
|
|
39953
40007
|
kind: LlmProfileKindSchema,
|
|
39954
40008
|
/** Stamped by the provider — keeps the fanned catalog routable. */
|
|
39955
40009
|
addonId: string(),
|
|
39956
40010
|
enabled: boolean(),
|
|
39957
40011
|
/** Vendor model id, or the managed runtime's loaded model. */
|
|
39958
40012
|
model: string(),
|
|
39959
|
-
/** Required for openai-compatible; override for cloud kinds. */
|
|
39960
|
-
baseUrl: string().optional(),
|
|
39961
|
-
/** ConfigUISchema type:'password' — never round-trips (spec §5). */
|
|
39962
|
-
apiKey: string().optional(),
|
|
39963
40013
|
/** Vision on/off. A vision call against a `false` profile is REFUSED, never
|
|
39964
40014
|
* degraded to text — that shipped once and produced a confident answer to a
|
|
39965
40015
|
* question about a picture nobody sent. */
|
|
@@ -39967,15 +40017,11 @@ var LlmProfileSchema = object({
|
|
|
39967
40017
|
temperature: number().min(0).max(2).optional(),
|
|
39968
40018
|
/** Nucleus sampling. Every wire we speak has it. */
|
|
39969
40019
|
topP: number().min(0).max(1).optional(),
|
|
39970
|
-
/** Top-k sampling. Carried only by the wires that have it —
|
|
39971
|
-
*
|
|
39972
|
-
* `top_p` and no `top_k`). The profile editor hides the field wherever it
|
|
39973
|
-
* would change nothing; `KINDS_WITH_TOP_K` is the single owner of that list. */
|
|
40020
|
+
/** Top-k sampling. Carried only by the wires that have it — a kind offers the
|
|
40021
|
+
* field in its editor only when its descriptor lists it in `profileFields`. */
|
|
39974
40022
|
topK: number().int().positive().optional(),
|
|
39975
40023
|
maxTokens: number().int().positive().optional(),
|
|
39976
|
-
/** Prompt context window. Advisory for cloud kinds (they enforce their own)
|
|
39977
|
-
* for `managed-local` it is the llama.cpp `--ctx-size` the runtime starts
|
|
39978
|
-
* the model with, so it is the one field that changes a PROCESS. */
|
|
40024
|
+
/** Prompt context window. Advisory for cloud kinds (they enforce their own). */
|
|
39979
40025
|
contextLength: number().int().positive().optional(),
|
|
39980
40026
|
/** Default system prompt. A caller's `system` REPLACES it (never appends —
|
|
39981
40027
|
* two system prompts fighting is worse than either alone). */
|
|
@@ -40001,16 +40047,37 @@ var LlmProfileSchema = object({
|
|
|
40001
40047
|
* library; the REGISTRY of callable tools is ours and is empty in v1, so a
|
|
40002
40048
|
* `true` here buys the wiring, not behaviour, until tools are registered. */
|
|
40003
40049
|
toolsEnabled: boolean().default(false),
|
|
40004
|
-
|
|
40005
|
-
|
|
40006
|
-
|
|
40007
|
-
|
|
40008
|
-
|
|
40009
|
-
|
|
40010
|
-
|
|
40011
|
-
|
|
40012
|
-
|
|
40013
|
-
|
|
40050
|
+
/** Everything the kind's provider owns (endpoint, key, node, runtime…). */
|
|
40051
|
+
providerConfig: LlmProviderConfigSchema.default({})
|
|
40052
|
+
});
|
|
40053
|
+
/**
|
|
40054
|
+
* The common profile fields a kind's editor offers. The editor owns how each
|
|
40055
|
+
* one is drawn; the provider says which of them mean something on its wire.
|
|
40056
|
+
*/
|
|
40057
|
+
var LlmProfileFieldSchema = _enum([
|
|
40058
|
+
"temperature",
|
|
40059
|
+
"topP",
|
|
40060
|
+
"topK",
|
|
40061
|
+
"maxTokens",
|
|
40062
|
+
"contextLength",
|
|
40063
|
+
"systemPrompt",
|
|
40064
|
+
"timeoutMs",
|
|
40065
|
+
"connectTimeoutMs",
|
|
40066
|
+
"firstTokenTimeoutMs",
|
|
40067
|
+
"idleTimeoutMs",
|
|
40068
|
+
"retry",
|
|
40069
|
+
"toolsEnabled"
|
|
40070
|
+
]);
|
|
40071
|
+
/**
|
|
40072
|
+
* A provider-drawn part of the editor, by a generic widget id the admin UI
|
|
40073
|
+
* registers (`ai/apple-node`). `placement: 'model'` replaces the generic model
|
|
40074
|
+
* picker: that widget owns the model choice.
|
|
40075
|
+
*/
|
|
40076
|
+
var LlmProviderWidgetSchema = object({
|
|
40077
|
+
id: string(),
|
|
40078
|
+
placement: _enum(["connection", "model"]),
|
|
40079
|
+
/** `providerConfig` keys this widget must fill before the profile can be saved. */
|
|
40080
|
+
requires: array(string()).optional()
|
|
40014
40081
|
});
|
|
40015
40082
|
/** ConfigUISchema tree passed through untyped on the wire (the
|
|
40016
40083
|
* notification-output `ConfigSchemaPassthrough` precedent at
|
|
@@ -40019,11 +40086,56 @@ var ConfigSchemaPassthrough$3 = unknown();
|
|
|
40019
40086
|
var LlmProfileKindDescriptorSchema = object({
|
|
40020
40087
|
kind: LlmProfileKindSchema,
|
|
40021
40088
|
label: string(),
|
|
40089
|
+
/** A generic icon name (`cloud`, `plug`, `cpu`) — never a glyph or a logo. */
|
|
40022
40090
|
icon: string(),
|
|
40023
40091
|
/** Stamped by each provider so the concat-fanned catalog stays routable. */
|
|
40024
40092
|
addonId: string(),
|
|
40025
|
-
|
|
40093
|
+
/** The provider's own fields (`providerConfig`); `password` fields are keychain-held. */
|
|
40094
|
+
connectionSchema: ConfigSchemaPassthrough$3,
|
|
40095
|
+
/** Provider fields that belong under "Advanced" (extra headers, runtime tuning). */
|
|
40096
|
+
advancedSchema: ConfigSchemaPassthrough$3.optional(),
|
|
40097
|
+
/** The kind's defaults; a model from `listModels` may override any of them. */
|
|
40098
|
+
features: LlmModelFeaturesSchema,
|
|
40099
|
+
/** `false` = the provider stamps `supportsVision` itself (from what a node reports). */
|
|
40100
|
+
visionEditable: boolean(),
|
|
40101
|
+
/** Where the model list comes from: `listModels`, `staticModels`, or nowhere. */
|
|
40102
|
+
modelCatalog: _enum([
|
|
40103
|
+
"fetch",
|
|
40104
|
+
"static",
|
|
40105
|
+
"none"
|
|
40106
|
+
]),
|
|
40107
|
+
staticModels: array(LlmModelInfoSchema).optional(),
|
|
40108
|
+
/** The common fields that mean something on this kind's wire. */
|
|
40109
|
+
profileFields: array(LlmProfileFieldSchema),
|
|
40110
|
+
providerWidgets: array(LlmProviderWidgetSchema).optional()
|
|
40026
40111
|
});
|
|
40112
|
+
/**
|
|
40113
|
+
* `listModels` input. `connection` is an UNSAVED draft of `providerConfig`
|
|
40114
|
+
* (the editor's form); with `profileId` too, a secret the draft leaves
|
|
40115
|
+
* untouched (absent or the redaction marker) is resolved server-side from the
|
|
40116
|
+
* stored profile — the browser never receives it.
|
|
40117
|
+
*/
|
|
40118
|
+
var LlmListModelsInputSchema = object({
|
|
40119
|
+
addonId: string(),
|
|
40120
|
+
kind: LlmProfileKindSchema,
|
|
40121
|
+
profileId: string().optional(),
|
|
40122
|
+
connection: LlmProviderConfigSchema.optional()
|
|
40123
|
+
});
|
|
40124
|
+
var LlmListModelsErrorCodeSchema = _enum([
|
|
40125
|
+
"auth",
|
|
40126
|
+
"network",
|
|
40127
|
+
"unsupported",
|
|
40128
|
+
"invalid"
|
|
40129
|
+
]);
|
|
40130
|
+
/** A RESULT, never a throw: "wrong key" is an answer the editor renders inline. */
|
|
40131
|
+
var LlmListModelsResultSchema = discriminatedUnion("ok", [object({
|
|
40132
|
+
ok: literal(true),
|
|
40133
|
+
models: array(LlmModelInfoSchema)
|
|
40134
|
+
}), object({
|
|
40135
|
+
ok: literal(false),
|
|
40136
|
+
code: LlmListModelsErrorCodeSchema,
|
|
40137
|
+
message: string()
|
|
40138
|
+
})]);
|
|
40027
40139
|
var LlmDefaultSelectorSchema = union([object({ consumer: string() }), object({ purpose: _enum(["text", "vision"]) })]);
|
|
40028
40140
|
var LlmDefaultSchema = object({
|
|
40029
40141
|
selector: LlmDefaultSelectorSchema,
|
|
@@ -40123,7 +40235,10 @@ method(LlmGenerateBaseInputSchema, LlmGenerateResultSchema, {
|
|
|
40123
40235
|
kind: "mutation",
|
|
40124
40236
|
auth: "admin",
|
|
40125
40237
|
timeoutMs: AI_CAP_TRANSPORT_TIMEOUT_MS
|
|
40126
|
-
}), method(
|
|
40238
|
+
}), method(LlmListModelsInputSchema, LlmListModelsResultSchema, {
|
|
40239
|
+
kind: "mutation",
|
|
40240
|
+
auth: "admin"
|
|
40241
|
+
}), method(object({}), array(LlmDefaultSchema)), method(object({
|
|
40127
40242
|
selector: LlmDefaultSelectorSchema,
|
|
40128
40243
|
profileId: string().nullable()
|
|
40129
40244
|
}), _void(), {
|
|
@@ -64123,26 +64238,6 @@ var ApiKeySummarySchema = object({
|
|
|
64123
64238
|
createdAt: number(),
|
|
64124
64239
|
lastUsedAt: number().optional()
|
|
64125
64240
|
});
|
|
64126
|
-
var ScopedTokenSummarySchema = object({
|
|
64127
|
-
id: string(),
|
|
64128
|
-
userId: string(),
|
|
64129
|
-
name: string(),
|
|
64130
|
-
tokenPrefix: string(),
|
|
64131
|
-
scopes: array(TokenScopeSchema),
|
|
64132
|
-
expiresAt: number().nullish(),
|
|
64133
|
-
lastUsedAt: number().nullish(),
|
|
64134
|
-
createdAt: number()
|
|
64135
|
-
});
|
|
64136
|
-
var CreateScopedTokenInputSchema = object({
|
|
64137
|
-
userId: string(),
|
|
64138
|
-
name: string(),
|
|
64139
|
-
scopes: array(TokenScopeSchema),
|
|
64140
|
-
expiresAt: number().optional()
|
|
64141
|
-
});
|
|
64142
|
-
var CreateScopedTokenResultSchema = object({
|
|
64143
|
-
token: string(),
|
|
64144
|
-
record: ScopedTokenSummarySchema
|
|
64145
|
-
});
|
|
64146
64241
|
var OauthSessionSummarySchema = object({
|
|
64147
64242
|
id: string(),
|
|
64148
64243
|
userId: string(),
|
|
@@ -64164,11 +64259,11 @@ var TotpStatusSchema = object({
|
|
|
64164
64259
|
confirmedAt: number().nullable()
|
|
64165
64260
|
});
|
|
64166
64261
|
/**
|
|
64167
|
-
* user-management — singleton capability for user accounts
|
|
64168
|
-
*
|
|
64262
|
+
* user-management — singleton capability for user accounts and the
|
|
64263
|
+
* legacy API-key rows.
|
|
64169
64264
|
*
|
|
64170
64265
|
* v2 model: every method gated by `auth: 'admin'`. Admin-only delegation
|
|
64171
|
-
* — the subset check on `setUserScopes`
|
|
64266
|
+
* — the subset check on `setUserScopes` is moot
|
|
64172
64267
|
* because non-admins never reach these. If/when we open non-admin
|
|
64173
64268
|
* delegation, structural caller-scope subset check goes inside the
|
|
64174
64269
|
* provider.
|
|
@@ -64225,15 +64320,7 @@ method(_void(), array(UserSummarySchema), { auth: "admin" }), method(CreateUserI
|
|
|
64225
64320
|
kind: "mutation",
|
|
64226
64321
|
auth: "admin",
|
|
64227
64322
|
access: "delete"
|
|
64228
|
-
}), method(
|
|
64229
|
-
kind: "mutation",
|
|
64230
|
-
auth: "admin",
|
|
64231
|
-
access: "create"
|
|
64232
|
-
}), method(object({ id: string() }), object({ success: literal(true) }), {
|
|
64233
|
-
kind: "mutation",
|
|
64234
|
-
auth: "admin",
|
|
64235
|
-
access: "delete"
|
|
64236
|
-
}), method(object({ token: string() }), ScopedTokenSummarySchema.nullable(), { access: "view" }), method(object({ userId: string() }), array(ScopedTokenSummarySchema), { auth: "admin" }), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64323
|
+
}), method(object({ userId: string() }), TotpSetupResultSchema, {
|
|
64237
64324
|
kind: "mutation",
|
|
64238
64325
|
auth: "admin",
|
|
64239
64326
|
access: "create"
|
|
@@ -70323,7 +70410,7 @@ Object.freeze({
|
|
|
70323
70410
|
capName: "llm",
|
|
70324
70411
|
capScope: "system",
|
|
70325
70412
|
addonId: null,
|
|
70326
|
-
access: "
|
|
70413
|
+
access: "create"
|
|
70327
70414
|
},
|
|
70328
70415
|
"llm.listNodeModels": {
|
|
70329
70416
|
capName: "llm",
|
|
@@ -74987,12 +75074,6 @@ Object.freeze({
|
|
|
74987
75074
|
addonId: null,
|
|
74988
75075
|
access: "create"
|
|
74989
75076
|
},
|
|
74990
|
-
"userManagement.createScopedToken": {
|
|
74991
|
-
capName: "user-management",
|
|
74992
|
-
capScope: "system",
|
|
74993
|
-
addonId: null,
|
|
74994
|
-
access: "create"
|
|
74995
|
-
},
|
|
74996
75077
|
"userManagement.createUser": {
|
|
74997
75078
|
capName: "user-management",
|
|
74998
75079
|
capScope: "system",
|
|
@@ -75041,12 +75122,6 @@ Object.freeze({
|
|
|
75041
75122
|
addonId: null,
|
|
75042
75123
|
access: "view"
|
|
75043
75124
|
},
|
|
75044
|
-
"userManagement.listScopedTokens": {
|
|
75045
|
-
capName: "user-management",
|
|
75046
|
-
capScope: "system",
|
|
75047
|
-
addonId: null,
|
|
75048
|
-
access: "view"
|
|
75049
|
-
},
|
|
75050
75125
|
"userManagement.listUsers": {
|
|
75051
75126
|
capName: "user-management",
|
|
75052
75127
|
capScope: "system",
|
|
@@ -75101,12 +75176,6 @@ Object.freeze({
|
|
|
75101
75176
|
addonId: null,
|
|
75102
75177
|
access: "delete"
|
|
75103
75178
|
},
|
|
75104
|
-
"userManagement.revokeScopedToken": {
|
|
75105
|
-
capName: "user-management",
|
|
75106
|
-
capScope: "system",
|
|
75107
|
-
addonId: null,
|
|
75108
|
-
access: "delete"
|
|
75109
|
-
},
|
|
75110
75179
|
"userManagement.setupTotp": {
|
|
75111
75180
|
capName: "user-management",
|
|
75112
75181
|
capScope: "system",
|
|
@@ -75137,12 +75206,6 @@ Object.freeze({
|
|
|
75137
75206
|
addonId: null,
|
|
75138
75207
|
access: "view"
|
|
75139
75208
|
},
|
|
75140
|
-
"userManagement.validateScopedToken": {
|
|
75141
|
-
capName: "user-management",
|
|
75142
|
-
capScope: "system",
|
|
75143
|
-
addonId: null,
|
|
75144
|
-
access: "view"
|
|
75145
|
-
},
|
|
75146
75209
|
"userManagement.verifyTotp": {
|
|
75147
75210
|
capName: "user-management",
|
|
75148
75211
|
capScope: "system",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-provider-wyze",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.143",
|
|
4
4
|
"description": "Wyze camera device-provider addon for CamStack — wraps the @apocaliss92/wyze-bridge-js P2P/DTLS client, feeding the stream-broker via the pull-rfc4571 lazy-publish path (a structural twin of addon-provider-reolink)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|