camstack 1.2.32 → 1.2.33
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/cli.js
CHANGED
|
@@ -38,7 +38,7 @@ async function runServe(args) {
|
|
|
38
38
|
...typeof values.data === "string" ? { data: values.data } : {}
|
|
39
39
|
};
|
|
40
40
|
Object.assign(process.env, buildServeEnv(opts));
|
|
41
|
-
await import("./launcher-
|
|
41
|
+
await import("./launcher-LXP37XH2.js");
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
// src/commands/agent.ts
|
|
@@ -83,7 +83,7 @@ async function runAgent(args) {
|
|
|
83
83
|
...typeof values.port === "string" ? { port: values.port } : {}
|
|
84
84
|
};
|
|
85
85
|
Object.assign(process.env, buildAgentEnv(opts));
|
|
86
|
-
await import("./launcher-
|
|
86
|
+
await import("./launcher-LXP37XH2.js");
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
// src/commands/setup.ts
|
|
@@ -396972,6 +396972,7 @@ var require_trpc_context = __commonJS({
|
|
|
396972
396972
|
return null;
|
|
396973
396973
|
}
|
|
396974
396974
|
const credential = (0, trpc_error_principal_js_1.readCredentialIdentity)(payload);
|
|
396975
|
+
const principal = (0, types_1.classifyBearerPrincipal)(payload);
|
|
396975
396976
|
return {
|
|
396976
396977
|
id: payload.userId ?? payload.keyId ?? "unknown",
|
|
396977
396978
|
username: payload.username ?? "unknown",
|
|
@@ -396992,12 +396993,21 @@ var require_trpc_context = __commonJS({
|
|
|
396992
396993
|
// user's scopes expects the change to APPLY, and the live session
|
|
396993
396994
|
// kept gating on the old set until re-login (2026-08-15: a user
|
|
396994
396995
|
// granted the whole fleet kept seeing zero cameras). For non-admin
|
|
396995
|
-
//
|
|
396996
|
+
// SESSION principals the store's current scopes win when readable
|
|
396996
396997
|
// (memoized — see above); the JWT's copy is the fallback when the
|
|
396997
396998
|
// user-management cap is unreachable, so a store hiccup never
|
|
396998
396999
|
// locks anybody out mid-request.
|
|
397000
|
+
//
|
|
397001
|
+
// `session` ONLY, and that word is the whole fix. An ACCOUNT-LINK token
|
|
397002
|
+
// is governed by the grant the operator consented to, not by the linking
|
|
397003
|
+
// user's record: it always carries `isAdmin: false` (`oauth-grants.ts`
|
|
397004
|
+
// → `baseClaims`) and its owner is normally an admin, whose record is
|
|
397005
|
+
// deliberately unscoped — so the refresh replaced a six-scope Home
|
|
397006
|
+
// Assistant grant with `[]` and the hub refused the component's first
|
|
397007
|
+
// call with `Have: (none)` (2026-08-19). The user store knows nothing
|
|
397008
|
+
// about a link and must not get a vote on one.
|
|
396999
397009
|
...payload.scopes !== void 0 ? { scopes: (0, types_1.normalizeTokenScopes)(payload.scopes) } : {},
|
|
397000
|
-
...!payload.isAdmin ? await (async () => {
|
|
397010
|
+
...!payload.isAdmin && principal.kind === "session" ? await (async () => {
|
|
397001
397011
|
const fresh = await refreshScopesFromStore(payload.userId ?? payload.keyId ?? "unknown", addonRegistry);
|
|
397002
397012
|
return fresh !== null ? { scopes: fresh } : {};
|
|
397003
397013
|
})() : {},
|