@camstack/types 1.2.107 → 1.2.109
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 +1 -1
- package/dist/addon.mjs +1 -1
- package/dist/capabilities/addon-pages-source.cap.d.ts +10 -0
- package/dist/capabilities/addon-widgets-source.cap.d.ts +12 -0
- package/dist/capabilities/admin-ui.cap.d.ts +9 -0
- package/dist/capabilities/cap-router-predicates.d.ts +38 -1
- package/dist/capabilities/capability-definition.d.ts +15 -2
- package/dist/capabilities/custom-model-registry.cap.d.ts +9 -0
- package/dist/capabilities/embedding-encoder.cap.d.ts +7 -0
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/llm-runtime.cap.d.ts +13 -0
- package/dist/capabilities/oauth-integration.cap.d.ts +9 -0
- package/dist/capabilities/sso-bridge.cap.d.ts +14 -0
- package/dist/capabilities/storage-evictable.cap.d.ts +7 -0
- package/dist/capabilities/storage-provider.cap.d.ts +15 -0
- package/dist/capabilities/user-passkeys.cap.d.ts +18 -0
- package/dist/capabilities/vector-store.cap.d.ts +8 -0
- package/dist/capabilities/viewer-ui.cap.d.ts +15 -0
- package/dist/index.js +253 -42
- package/dist/index.mjs +253 -43
- package/dist/{sleep-CUuoW-kk.js → sleep-BJTBu5cu.js} +29 -5
- package/dist/{sleep-BLxqGLY0.mjs → sleep-Dj1DG9Od.mjs} +29 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_event_category = require("./event-category-EY0GNjV9.js");
|
|
3
|
-
const require_sleep = require("./sleep-
|
|
3
|
+
const require_sleep = require("./sleep-BJTBu5cu.js");
|
|
4
4
|
const require_canonical_hash = require("./canonical-hash-DNV8S5ET.js");
|
|
5
5
|
const require_enums = require("./enums.js");
|
|
6
6
|
const require_err_msg = require("./err-msg-COpsHMw2.js");
|
|
@@ -4349,7 +4349,18 @@ var addonPagesSourceCapability = {
|
|
|
4349
4349
|
scope: "system",
|
|
4350
4350
|
mode: "collection",
|
|
4351
4351
|
internal: true,
|
|
4352
|
-
methods: {
|
|
4352
|
+
methods: {
|
|
4353
|
+
/**
|
|
4354
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
4355
|
+
* `data-store-provider`) — this was reachable on the AppRouter by ANY
|
|
4356
|
+
* authenticated session at the default `auth: 'protected'`. The only
|
|
4357
|
+
* consumer, the `addon-pages-aggregator` builtin, reads it via
|
|
4358
|
+
* `ctx.capabilities.getCollection('addon-pages-source')` — LOCAL-PROCESS
|
|
4359
|
+
* only, never tRPC (per `ctx.capabilities` seeing only the local
|
|
4360
|
+
* process). The public, enriched listing admin-ui actually consumes is
|
|
4361
|
+
* the separate `addon-pages` cap, unaffected by this change.
|
|
4362
|
+
*/
|
|
4363
|
+
listPages: require_sleep.method(zod.z.void(), zod.z.array(AddonPageDeclarationSchema).readonly(), { auth: "admin" }) }
|
|
4353
4364
|
};
|
|
4354
4365
|
//#endregion
|
|
4355
4366
|
//#region src/capabilities/addon-routes.cap.ts
|
|
@@ -4652,7 +4663,20 @@ var addonWidgetsSourceCapability = {
|
|
|
4652
4663
|
scope: "system",
|
|
4653
4664
|
mode: "collection",
|
|
4654
4665
|
internal: true,
|
|
4655
|
-
methods: {
|
|
4666
|
+
methods: {
|
|
4667
|
+
/**
|
|
4668
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
4669
|
+
* `data-store-provider`) — this was reachable on the AppRouter by ANY
|
|
4670
|
+
* authenticated session at the default `auth: 'protected'`. The only
|
|
4671
|
+
* consumer, the `addon-widgets-aggregator` builtin, reads it via
|
|
4672
|
+
* `ctx.capabilities.getCollection('addon-widgets-source')` — LOCAL-PROCESS
|
|
4673
|
+
* only, never tRPC. The public, enriched listing admin-ui actually
|
|
4674
|
+
* consumes is the separate `addon-widgets` cap (`listWidgets` there is
|
|
4675
|
+
* gated separately, and a `preAuth: true` widget is surfaced through the
|
|
4676
|
+
* PUBLIC `auth.listLoginMethods` contribution channel instead) —
|
|
4677
|
+
* neither is affected by this change.
|
|
4678
|
+
*/
|
|
4679
|
+
listWidgets: require_sleep.method(zod.z.void(), zod.z.array(WidgetMetadataSchema).readonly(), { auth: "admin" }) }
|
|
4656
4680
|
};
|
|
4657
4681
|
//#endregion
|
|
4658
4682
|
//#region src/capabilities/addon-widgets.cap.ts
|
|
@@ -6840,6 +6864,44 @@ function objectInputDeclaresAddonId(schema) {
|
|
|
6840
6864
|
function resolveDefShape(defShape) {
|
|
6841
6865
|
return typeof defShape === "function" ? defShape() : defShape;
|
|
6842
6866
|
}
|
|
6867
|
+
/**
|
|
6868
|
+
* Effective auth for a cap method — the `internal: true` floor (Task 7.5c).
|
|
6869
|
+
*
|
|
6870
|
+
* `internal: true` on a cap def is a DECLARATION that its methods are for
|
|
6871
|
+
* in-process (`ctx.api`) consumption only. Nothing enforced that:
|
|
6872
|
+
* `resolveCapMount` never reads `internal` (an internal cap still gets a
|
|
6873
|
+
* full tRPC router), and a method that omitted an explicit `auth` used to
|
|
6874
|
+
* default — permanently, at `method()`-call time — to `'protected'`,
|
|
6875
|
+
* reachable by any authenticated session regardless of `internal`. That
|
|
6876
|
+
* silent default is how 45 procedures across 13 internal caps ended up
|
|
6877
|
+
* exposed, including `ssoBridge.signBridgeToken`: it accepted
|
|
6878
|
+
* caller-supplied claims (including `isAdmin`), was reachable by any
|
|
6879
|
+
* authenticated session, and its token is redeemed at
|
|
6880
|
+
* `/api/auth/sso/finish` to mint a session — a full privilege escalation.
|
|
6881
|
+
* See `docs/decisions/adr-0240-an-internal-cap-floors-its-unannotated-methods-to-admin.md`
|
|
6882
|
+
* (D240) for the record.
|
|
6883
|
+
*
|
|
6884
|
+
* The floor, exactly: an `internal` cap's method with NO explicit `auth`
|
|
6885
|
+
* resolves to `'admin'` instead of `'protected'`. A method that DELIBERATELY
|
|
6886
|
+
* declares an explicit `auth` — public, protected, or admin — keeps it
|
|
6887
|
+
* unconditionally; the author already said what they meant, and an
|
|
6888
|
+
* annotation that happens to agree with the floor is documentation, not
|
|
6889
|
+
* redundancy. A non-`internal` cap's un-annotated method is unaffected
|
|
6890
|
+
* (still `'protected'`). This is a FLOOR, not a hard `mount: 'skip'` — that
|
|
6891
|
+
* would also override a deliberate `auth: 'public'`/`'protected'` choice,
|
|
6892
|
+
* which is not the defect being closed.
|
|
6893
|
+
*
|
|
6894
|
+
* `method()` (`capability-definition.ts`) deliberately leaves `auth`
|
|
6895
|
+
* UNSET when the caller omits it (rather than defaulting there) so the
|
|
6896
|
+
* "was this explicit" bit survives to this single resolution point. Single
|
|
6897
|
+
* source of truth shared by the runtime builder (`cap-router-builder.ts`)
|
|
6898
|
+
* and the codegen (`generate-cap-routers.ts`, `gen-api-reference.ts`) — the
|
|
6899
|
+
* two must never disagree, a documented failure mode in this repo.
|
|
6900
|
+
*/
|
|
6901
|
+
function resolveMethodAuth(def, method) {
|
|
6902
|
+
if (method.auth !== void 0) return method.auth;
|
|
6903
|
+
return def.internal === true ? "admin" : "protected";
|
|
6904
|
+
}
|
|
6843
6905
|
/** Auth level → base-procedure key. `superAdmin` collapses to `admin`. */
|
|
6844
6906
|
function procedureAuthKey(auth) {
|
|
6845
6907
|
if (auth === "public") return "public";
|
|
@@ -7101,7 +7163,17 @@ var customModelRegistryCapability = {
|
|
|
7101
7163
|
scope: "system",
|
|
7102
7164
|
mode: "collection",
|
|
7103
7165
|
internal: true,
|
|
7104
|
-
methods: {
|
|
7166
|
+
methods: {
|
|
7167
|
+
/**
|
|
7168
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
7169
|
+
* `data-store-provider`) — this was reachable on the AppRouter by ANY
|
|
7170
|
+
* authenticated session at the default `auth: 'protected'`. The only
|
|
7171
|
+
* consumer, the detection-pipeline's model resolution
|
|
7172
|
+
* (`addon-pipeline/src/detection-pipeline/provider.ts`), calls
|
|
7173
|
+
* `ctx.api.customModelRegistry.listModels.query()` — UDS/Moleculer,
|
|
7174
|
+
* never tRPC — so `auth: 'admin'` costs it nothing.
|
|
7175
|
+
*/
|
|
7176
|
+
listModels: require_sleep.method(zod.z.void(), zod.z.array(CustomModelDescriptorSchema).readonly(), { auth: "admin" }) }
|
|
7105
7177
|
};
|
|
7106
7178
|
//#endregion
|
|
7107
7179
|
//#region src/capabilities/settings-store.cap.ts
|
|
@@ -9522,13 +9594,20 @@ var embeddingEncoderCapability = {
|
|
|
9522
9594
|
mode: "collection",
|
|
9523
9595
|
internal: true,
|
|
9524
9596
|
methods: {
|
|
9597
|
+
/**
|
|
9598
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
9599
|
+
* `data-store-provider`) — every method below was reachable on the
|
|
9600
|
+
* AppRouter by ANY authenticated session at the default
|
|
9601
|
+
* `auth: 'protected'`. Consumers reach the encoder via `ctx.api` from
|
|
9602
|
+
* `addon-post-analysis`, never tRPC.
|
|
9603
|
+
*/
|
|
9525
9604
|
encode: require_sleep.method(zod.z.object({
|
|
9526
9605
|
crop: zod.z.instanceof(Uint8Array),
|
|
9527
9606
|
width: zod.z.number(),
|
|
9528
9607
|
height: zod.z.number()
|
|
9529
|
-
}), EmbeddingResultSchema),
|
|
9530
|
-
encodeText: require_sleep.method(zod.z.object({ text: zod.z.string() }), EmbeddingResultSchema),
|
|
9531
|
-
getInfo: require_sleep.method(zod.z.void(), EmbeddingInfoSchema)
|
|
9608
|
+
}), EmbeddingResultSchema, { auth: "admin" }),
|
|
9609
|
+
encodeText: require_sleep.method(zod.z.object({ text: zod.z.string() }), EmbeddingResultSchema, { auth: "admin" }),
|
|
9610
|
+
getInfo: require_sleep.method(zod.z.void(), EmbeddingInfoSchema, { auth: "admin" })
|
|
9532
9611
|
}
|
|
9533
9612
|
};
|
|
9534
9613
|
//#endregion
|
|
@@ -9869,7 +9948,23 @@ var llmRuntimeCapability = {
|
|
|
9869
9948
|
mode: "singleton",
|
|
9870
9949
|
internal: true,
|
|
9871
9950
|
methods: {
|
|
9872
|
-
|
|
9951
|
+
/**
|
|
9952
|
+
* `complete`, `status`, `listLocalModels` and `getDiskUsage` had NO
|
|
9953
|
+
* `auth` override — `internal: true` did not gate the mount (see the
|
|
9954
|
+
* 2026-08-26 note on `data-store-provider`), so they were reachable on
|
|
9955
|
+
* the AppRouter by ANY authenticated session at the default
|
|
9956
|
+
* `auth: 'protected'`, inconsistent with the rest of this cap (already
|
|
9957
|
+
* `auth: 'admin'`) and with this file's own docblock: "the operator
|
|
9958
|
+
* reaches this only through the `llm` cap's methods." The sole caller,
|
|
9959
|
+
* `addon-ai`'s `runtime-client.ts`, reaches every method here via
|
|
9960
|
+
* `ctx.api` + `nodePin` — never tRPC — so `auth: 'admin'` costs it
|
|
9961
|
+
* nothing; the public `llm` cap (which end users and non-admin sessions
|
|
9962
|
+
* legitimately call for chat/generation) is untouched.
|
|
9963
|
+
*/
|
|
9964
|
+
complete: require_sleep.method(LlmRuntimeCompleteInputSchema, LlmGenerateResultSchema, {
|
|
9965
|
+
kind: "mutation",
|
|
9966
|
+
auth: "admin"
|
|
9967
|
+
}),
|
|
9873
9968
|
ensureStarted: require_sleep.method(zod.z.object({ runtime: ManagedRuntimeConfigSchema }), LlmRuntimeStatusSchema, {
|
|
9874
9969
|
kind: "mutation",
|
|
9875
9970
|
auth: "admin"
|
|
@@ -9878,7 +9973,7 @@ var llmRuntimeCapability = {
|
|
|
9878
9973
|
kind: "mutation",
|
|
9879
9974
|
auth: "admin"
|
|
9880
9975
|
}),
|
|
9881
|
-
status: require_sleep.method(zod.z.object({}), LlmRuntimeStatusSchema),
|
|
9976
|
+
status: require_sleep.method(zod.z.object({}), LlmRuntimeStatusSchema, { auth: "admin" }),
|
|
9882
9977
|
installModel: require_sleep.method(zod.z.object({ model: ManagedModelRefSchema }), zod.z.void(), {
|
|
9883
9978
|
kind: "mutation",
|
|
9884
9979
|
auth: "admin"
|
|
@@ -9887,8 +9982,8 @@ var llmRuntimeCapability = {
|
|
|
9887
9982
|
kind: "mutation",
|
|
9888
9983
|
auth: "admin"
|
|
9889
9984
|
}),
|
|
9890
|
-
listLocalModels: require_sleep.method(zod.z.object({}), zod.z.array(LlmNodeModelSchema)),
|
|
9891
|
-
getDiskUsage: require_sleep.method(zod.z.object({}), LlmRuntimeDiskUsageSchema)
|
|
9985
|
+
listLocalModels: require_sleep.method(zod.z.object({}), zod.z.array(LlmNodeModelSchema), { auth: "admin" }),
|
|
9986
|
+
getDiskUsage: require_sleep.method(zod.z.object({}), LlmRuntimeDiskUsageSchema, { auth: "admin" })
|
|
9892
9987
|
}
|
|
9893
9988
|
};
|
|
9894
9989
|
//#endregion
|
|
@@ -14666,7 +14761,17 @@ var oauthIntegrationCapability = {
|
|
|
14666
14761
|
scope: "system",
|
|
14667
14762
|
mode: "collection",
|
|
14668
14763
|
internal: true,
|
|
14669
|
-
methods: {
|
|
14764
|
+
methods: {
|
|
14765
|
+
/**
|
|
14766
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
14767
|
+
* `data-store-provider`) — `getDescriptor` was reachable on the AppRouter
|
|
14768
|
+
* by ANY authenticated session at the default `auth: 'protected'`. The
|
|
14769
|
+
* real caller is `/api/oauth2/authorize` and `/api/oauth2/integrations`
|
|
14770
|
+
* (`oauth2-routes.ts`), which resolve the provider directly off the
|
|
14771
|
+
* capability registry — never through tRPC. `auth: 'admin'` closes the
|
|
14772
|
+
* tRPC surface without touching that path.
|
|
14773
|
+
*/
|
|
14774
|
+
getDescriptor: require_sleep.method(zod.z.void(), OauthIntegrationDescriptorSchema, { auth: "admin" }) }
|
|
14670
14775
|
};
|
|
14671
14776
|
//#endregion
|
|
14672
14777
|
//#region src/capabilities/pipeline-analytics.cap.ts
|
|
@@ -19679,6 +19784,20 @@ var ssoBridgeCapability = {
|
|
|
19679
19784
|
mode: "singleton",
|
|
19680
19785
|
internal: true,
|
|
19681
19786
|
methods: {
|
|
19787
|
+
/**
|
|
19788
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
19789
|
+
* `data-store-provider`) — `signBridgeToken` was reachable on the
|
|
19790
|
+
* AppRouter by ANY authenticated session at the default
|
|
19791
|
+
* `auth: 'protected'`. The claims (including `isAdmin`) are CALLER-
|
|
19792
|
+
* SUPPLIED: an unprivileged session could have minted its own
|
|
19793
|
+
* `isAdmin: true` bridge token and redeemed it at
|
|
19794
|
+
* `/api/auth/sso/finish` to become admin — a full privilege escalation
|
|
19795
|
+
* through the exact surface this cap exists to close (see the module
|
|
19796
|
+
* docblock). Every real caller (`oauth-grants.ts`, `main.ts`
|
|
19797
|
+
* registration, the OIDC/magic-link addons) reaches this through
|
|
19798
|
+
* `ctx.api` / the in-process registry — never through tRPC — so
|
|
19799
|
+
* `auth: 'admin'` costs those callers nothing.
|
|
19800
|
+
*/
|
|
19682
19801
|
signBridgeToken: require_sleep.method(zod.z.object({
|
|
19683
19802
|
claims: SsoBridgeClaimsSchema,
|
|
19684
19803
|
/**
|
|
@@ -19691,8 +19810,8 @@ var ssoBridgeCapability = {
|
|
|
19691
19810
|
* linking rather than produce an eternal token.
|
|
19692
19811
|
*/
|
|
19693
19812
|
ttlSec: zod.z.union([zod.z.number().int().positive(), zod.z.literal("never")]).optional()
|
|
19694
|
-
}), zod.z.object({ token: zod.z.string() })),
|
|
19695
|
-
verifyBridgeToken: require_sleep.method(zod.z.object({ token: zod.z.string() }), SsoBridgeClaimsSchema.nullable())
|
|
19813
|
+
}), zod.z.object({ token: zod.z.string() }), { auth: "admin" }),
|
|
19814
|
+
verifyBridgeToken: require_sleep.method(zod.z.object({ token: zod.z.string() }), SsoBridgeClaimsSchema.nullable(), { auth: "admin" })
|
|
19696
19815
|
}
|
|
19697
19816
|
};
|
|
19698
19817
|
//#endregion
|
|
@@ -19845,8 +19964,15 @@ var storageEvictableCapability = {
|
|
|
19845
19964
|
mode: "collection",
|
|
19846
19965
|
internal: true,
|
|
19847
19966
|
methods: {
|
|
19967
|
+
/**
|
|
19968
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
19969
|
+
* `data-store-provider`) — this was reachable on the AppRouter by ANY
|
|
19970
|
+
* authenticated session at the default `auth: 'protected'`. The only
|
|
19971
|
+
* consumer is the orchestrator's `StoragePressureManager`, which calls
|
|
19972
|
+
* `ctx.api` — never tRPC — so `auth: 'admin'` costs it nothing.
|
|
19973
|
+
*/
|
|
19848
19974
|
/** Bytes this provider holds on the given location — drives proportional fan-out. */
|
|
19849
|
-
getEvictableUsage: require_sleep.method(zod.z.object({ locationId: zod.z.string() }), EvictableUsageSchema),
|
|
19975
|
+
getEvictableUsage: require_sleep.method(zod.z.object({ locationId: zod.z.string() }), EvictableUsageSchema, { auth: "admin" }),
|
|
19850
19976
|
/**
|
|
19851
19977
|
* Free approximately `targetBytes` of this provider's OWN least-valuable
|
|
19852
19978
|
* data on the location (oldest footage, expired clips, …). Returns what it
|
|
@@ -19855,7 +19981,10 @@ var storageEvictableCapability = {
|
|
|
19855
19981
|
evict: require_sleep.method(zod.z.object({
|
|
19856
19982
|
locationId: zod.z.string(),
|
|
19857
19983
|
targetBytes: zod.z.number().int().positive()
|
|
19858
|
-
}), EvictResultSchema, {
|
|
19984
|
+
}), EvictResultSchema, {
|
|
19985
|
+
kind: "mutation",
|
|
19986
|
+
auth: "admin"
|
|
19987
|
+
})
|
|
19859
19988
|
}
|
|
19860
19989
|
};
|
|
19861
19990
|
//#endregion
|
|
@@ -19962,43 +20091,82 @@ var storageProviderCapability = {
|
|
|
19962
20091
|
mode: "collection",
|
|
19963
20092
|
internal: true,
|
|
19964
20093
|
methods: {
|
|
20094
|
+
/**
|
|
20095
|
+
* Every method below except `testLocation` had NO `auth` override —
|
|
20096
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
20097
|
+
* `data-store-provider`), so this was reachable on the AppRouter by ANY
|
|
20098
|
+
* authenticated session at the default `auth: 'protected'`: arbitrary
|
|
20099
|
+
* read/write/delete/list against any storage location the operator has
|
|
20100
|
+
* configured, keyed only by a caller-supplied `location` + `relativePath`
|
|
20101
|
+
* — the same "public consumers never see this cap" claim that was false
|
|
20102
|
+
* for `data-store-provider`, here gating raw file I/O instead of raw
|
|
20103
|
+
* settings rows. The only legitimate caller,
|
|
20104
|
+
* `addon-registry.service.ts`'s `activeStorageProvider`, calls the
|
|
20105
|
+
* provider object directly (in-process) — never tRPC — so `auth: 'admin'`
|
|
20106
|
+
* on every method costs it nothing. Public consumers already go through
|
|
20107
|
+
* the separate `storage` singleton cap.
|
|
20108
|
+
*/
|
|
19965
20109
|
/** Self-description for the "Add location" wizard. */
|
|
19966
|
-
getProviderInfo: require_sleep.method(zod.z.void(), ProviderInfoSchema),
|
|
20110
|
+
getProviderInfo: require_sleep.method(zod.z.void(), ProviderInfoSchema, { auth: "admin" }),
|
|
19967
20111
|
/** Validate config + probe connectivity. Called on add and on edit. */
|
|
19968
20112
|
testLocation: require_sleep.method(zod.z.object({ config: zod.z.record(zod.z.string(), zod.z.unknown()) }), TestLocationResultSchema, { auth: "admin" }),
|
|
19969
20113
|
resolve: require_sleep.method(zod.z.object({
|
|
19970
20114
|
location: StorageLocationSchema,
|
|
19971
20115
|
relativePath: zod.z.string()
|
|
19972
|
-
}), zod.z.string()),
|
|
20116
|
+
}), zod.z.string(), { auth: "admin" }),
|
|
19973
20117
|
write: require_sleep.method(zod.z.object({
|
|
19974
20118
|
location: StorageLocationSchema,
|
|
19975
20119
|
relativePath: zod.z.string(),
|
|
19976
20120
|
data: zod.z.instanceof(Uint8Array)
|
|
19977
|
-
}), zod.z.void(), {
|
|
20121
|
+
}), zod.z.void(), {
|
|
20122
|
+
kind: "mutation",
|
|
20123
|
+
auth: "admin"
|
|
20124
|
+
}),
|
|
19978
20125
|
read: require_sleep.method(zod.z.object({
|
|
19979
20126
|
location: StorageLocationSchema,
|
|
19980
20127
|
relativePath: zod.z.string()
|
|
19981
|
-
}), zod.z.instanceof(Uint8Array)),
|
|
20128
|
+
}), zod.z.instanceof(Uint8Array), { auth: "admin" }),
|
|
19982
20129
|
exists: require_sleep.method(zod.z.object({
|
|
19983
20130
|
location: StorageLocationSchema,
|
|
19984
20131
|
relativePath: zod.z.string()
|
|
19985
|
-
}), zod.z.boolean()),
|
|
20132
|
+
}), zod.z.boolean(), { auth: "admin" }),
|
|
19986
20133
|
list: require_sleep.method(zod.z.object({
|
|
19987
20134
|
location: StorageLocationSchema,
|
|
19988
20135
|
prefix: zod.z.string().optional()
|
|
19989
|
-
}), zod.z.array(zod.z.string()).readonly()),
|
|
20136
|
+
}), zod.z.array(zod.z.string()).readonly(), { auth: "admin" }),
|
|
19990
20137
|
delete: require_sleep.method(zod.z.object({
|
|
19991
20138
|
location: StorageLocationSchema,
|
|
19992
20139
|
relativePath: zod.z.string()
|
|
19993
|
-
}), zod.z.void(), {
|
|
19994
|
-
|
|
19995
|
-
|
|
19996
|
-
|
|
19997
|
-
|
|
19998
|
-
|
|
19999
|
-
|
|
20000
|
-
|
|
20001
|
-
|
|
20140
|
+
}), zod.z.void(), {
|
|
20141
|
+
kind: "mutation",
|
|
20142
|
+
auth: "admin"
|
|
20143
|
+
}),
|
|
20144
|
+
getAvailableSpace: require_sleep.method(zod.z.object({ location: StorageLocationSchema }), zod.z.number().nullable(), { auth: "admin" }),
|
|
20145
|
+
beginUpload: require_sleep.method(BeginUploadInputSchema, BeginUploadResultSchema, {
|
|
20146
|
+
kind: "mutation",
|
|
20147
|
+
auth: "admin"
|
|
20148
|
+
}),
|
|
20149
|
+
writeChunk: require_sleep.method(WriteChunkInputSchema, zod.z.void(), {
|
|
20150
|
+
kind: "mutation",
|
|
20151
|
+
auth: "admin"
|
|
20152
|
+
}),
|
|
20153
|
+
finalizeUpload: require_sleep.method(FinalizeUploadInputSchema, zod.z.void(), {
|
|
20154
|
+
kind: "mutation",
|
|
20155
|
+
auth: "admin"
|
|
20156
|
+
}),
|
|
20157
|
+
abortUpload: require_sleep.method(AbortUploadInputSchema, zod.z.void(), {
|
|
20158
|
+
kind: "mutation",
|
|
20159
|
+
auth: "admin"
|
|
20160
|
+
}),
|
|
20161
|
+
beginDownload: require_sleep.method(BeginDownloadInputSchema, BeginDownloadResultSchema, {
|
|
20162
|
+
kind: "mutation",
|
|
20163
|
+
auth: "admin"
|
|
20164
|
+
}),
|
|
20165
|
+
readChunk: require_sleep.method(ReadChunkInputSchema, zod.z.instanceof(Uint8Array), { auth: "admin" }),
|
|
20166
|
+
endDownload: require_sleep.method(EndDownloadInputSchema, zod.z.void(), {
|
|
20167
|
+
kind: "mutation",
|
|
20168
|
+
auth: "admin"
|
|
20169
|
+
})
|
|
20002
20170
|
}
|
|
20003
20171
|
};
|
|
20004
20172
|
//#endregion
|
|
@@ -20337,9 +20505,28 @@ var userPasskeysCapability = {
|
|
|
20337
20505
|
auth: "admin",
|
|
20338
20506
|
access: "create"
|
|
20339
20507
|
}),
|
|
20508
|
+
/**
|
|
20509
|
+
* The four methods below had NO `auth` override — `internal: true` did
|
|
20510
|
+
* not gate the mount (see the 2026-08-26 note on `data-store-provider`),
|
|
20511
|
+
* so they were reachable on the AppRouter at the default
|
|
20512
|
+
* `auth: 'protected'` (any authenticated session), inconsistent with
|
|
20513
|
+
* every other method on this cap (all already `auth: 'admin'`).
|
|
20514
|
+
*
|
|
20515
|
+
* ⚠ Checked before gating: these are also the PRE-AUTH login-ceremony
|
|
20516
|
+
* methods, so admin-gating them here must not break login for an
|
|
20517
|
+
* unauthenticated principal. It doesn't — the real login path is the
|
|
20518
|
+
* PUBLIC `auth.beginAuthentication` / `auth.finishAuthentication` /
|
|
20519
|
+
* `auth.beginDiscoverableAuthentication` / `auth.finishDiscoverableAuthentication`
|
|
20520
|
+
* procedures in `server/backend/src/api/core/auth.router.ts`, which call
|
|
20521
|
+
* `provider.beginAuthentication(...)` etc. directly against the
|
|
20522
|
+
* capability-registry-resolved provider — never through this cap's own
|
|
20523
|
+
* tRPC route. `auth: 'admin'` here only closes a redundant, unused
|
|
20524
|
+
* second entry point onto the same ceremony.
|
|
20525
|
+
*/
|
|
20340
20526
|
beginAuthentication: require_sleep.method(zod.z.object({ userId: zod.z.string().optional() }), zod.z.object({ optionsJSON: zod.z.record(zod.z.string(), zod.z.unknown()) }), {
|
|
20341
20527
|
kind: "mutation",
|
|
20342
|
-
access: "view"
|
|
20528
|
+
access: "view",
|
|
20529
|
+
auth: "admin"
|
|
20343
20530
|
}),
|
|
20344
20531
|
finishAuthentication: require_sleep.method(zod.z.object({
|
|
20345
20532
|
/** Required — the user the assertion belongs to (verified). */
|
|
@@ -20348,11 +20535,13 @@ var userPasskeysCapability = {
|
|
|
20348
20535
|
response: zod.z.record(zod.z.string(), zod.z.unknown())
|
|
20349
20536
|
}), zod.z.object({ verified: zod.z.boolean() }), {
|
|
20350
20537
|
kind: "mutation",
|
|
20351
|
-
access: "view"
|
|
20538
|
+
access: "view",
|
|
20539
|
+
auth: "admin"
|
|
20352
20540
|
}),
|
|
20353
20541
|
beginDiscoverableAuthentication: require_sleep.method(zod.z.object({}), zod.z.object({ optionsJSON: zod.z.record(zod.z.string(), zod.z.unknown()) }), {
|
|
20354
20542
|
kind: "mutation",
|
|
20355
|
-
access: "view"
|
|
20543
|
+
access: "view",
|
|
20544
|
+
auth: "admin"
|
|
20356
20545
|
}),
|
|
20357
20546
|
finishDiscoverableAuthentication: require_sleep.method(zod.z.object({
|
|
20358
20547
|
/** AuthenticationResponseJSON from the browser. */
|
|
@@ -20361,7 +20550,8 @@ response: zod.z.record(zod.z.string(), zod.z.unknown()) }), zod.z.object({
|
|
|
20361
20550
|
userId: zod.z.string().nullable()
|
|
20362
20551
|
}), {
|
|
20363
20552
|
kind: "mutation",
|
|
20364
|
-
access: "view"
|
|
20553
|
+
access: "view",
|
|
20554
|
+
auth: "admin"
|
|
20365
20555
|
}),
|
|
20366
20556
|
listPasskeys: require_sleep.method(zod.z.object({ userId: zod.z.string() }), zod.z.array(PasskeySummarySchema), { auth: "admin" }),
|
|
20367
20557
|
removePasskey: require_sleep.method(zod.z.object({
|
|
@@ -20541,6 +20731,14 @@ var VectorStatsResultSchema = zod.z.object({
|
|
|
20541
20731
|
/** False when the backend ranks approximately. */
|
|
20542
20732
|
exact: zod.z.boolean()
|
|
20543
20733
|
});
|
|
20734
|
+
/**
|
|
20735
|
+
* `internal: true` did not gate the mount (see the 2026-08-26 note on
|
|
20736
|
+
* `data-store-provider`) — every method below was reachable on the AppRouter
|
|
20737
|
+
* by ANY authenticated session at the default `auth: 'protected'`. The only
|
|
20738
|
+
* consumers (`addon-post-analysis`'s embedding stores) reach this cap via
|
|
20739
|
+
* `ctx.api` — UDS/Moleculer, never tRPC — so `auth: 'admin'` on every method
|
|
20740
|
+
* costs them nothing. No client (viewer or admin-ui) calls `vectorStore.*`.
|
|
20741
|
+
*/
|
|
20544
20742
|
var vectorStoreCapability = {
|
|
20545
20743
|
name: "vector-store",
|
|
20546
20744
|
scope: "system",
|
|
@@ -20548,14 +20746,26 @@ var vectorStoreCapability = {
|
|
|
20548
20746
|
internal: true,
|
|
20549
20747
|
methods: {
|
|
20550
20748
|
/** Idempotent. Re-declaring with a different `dim` is an error, not a wipe. */
|
|
20551
|
-
declareIndex: require_sleep.method(VectorDeclareIndexInputSchema, zod.z.void(), {
|
|
20552
|
-
|
|
20553
|
-
|
|
20749
|
+
declareIndex: require_sleep.method(VectorDeclareIndexInputSchema, zod.z.void(), {
|
|
20750
|
+
kind: "mutation",
|
|
20751
|
+
auth: "admin"
|
|
20752
|
+
}),
|
|
20753
|
+
upsert: require_sleep.method(VectorUpsertInputSchema, VectorUpsertResultSchema, {
|
|
20754
|
+
kind: "mutation",
|
|
20755
|
+
auth: "admin"
|
|
20756
|
+
}),
|
|
20757
|
+
query: require_sleep.method(VectorQueryInputSchema, VectorQueryResultSchema, { auth: "admin" }),
|
|
20554
20758
|
/** Metadata by id, no vectors — see {@link VectorGetResultSchema}. */
|
|
20555
|
-
getByIds: require_sleep.method(VectorGetInputSchema, VectorGetResultSchema),
|
|
20556
|
-
deleteByIds: require_sleep.method(VectorDeleteInputSchema, VectorDeleteResultSchema, {
|
|
20557
|
-
|
|
20558
|
-
|
|
20759
|
+
getByIds: require_sleep.method(VectorGetInputSchema, VectorGetResultSchema, { auth: "admin" }),
|
|
20760
|
+
deleteByIds: require_sleep.method(VectorDeleteInputSchema, VectorDeleteResultSchema, {
|
|
20761
|
+
kind: "mutation",
|
|
20762
|
+
auth: "admin"
|
|
20763
|
+
}),
|
|
20764
|
+
deleteByFilter: require_sleep.method(VectorDeleteByFilterInputSchema, VectorDeleteResultSchema, {
|
|
20765
|
+
kind: "mutation",
|
|
20766
|
+
auth: "admin"
|
|
20767
|
+
}),
|
|
20768
|
+
stats: require_sleep.method(VectorStatsInputSchema, VectorStatsResultSchema, { auth: "admin" })
|
|
20559
20769
|
}
|
|
20560
20770
|
};
|
|
20561
20771
|
//#endregion
|
|
@@ -48919,6 +49129,7 @@ exports.resolveDeviceProfile = resolveDeviceProfile;
|
|
|
48919
49129
|
exports.resolveEgressDecodeHwAccel = resolveEgressDecodeHwAccel;
|
|
48920
49130
|
exports.resolveFormat = resolveFormat;
|
|
48921
49131
|
exports.resolveHydratedFieldValue = require_sleep.resolveHydratedFieldValue;
|
|
49132
|
+
exports.resolveMethodAuth = resolveMethodAuth;
|
|
48922
49133
|
exports.resolveModelFormat = resolveModelFormat;
|
|
48923
49134
|
exports.resolveMutate = resolveMutate;
|
|
48924
49135
|
exports.resolvePoolMemoryPolicy = resolvePoolMemoryPolicy;
|