diff options
| author | Luke Hoersten <[email protected]> | 2026-06-14 19:19:06 -0500 |
|---|---|---|
| committer | Luke Hoersten <[email protected]> | 2026-06-14 19:19:06 -0500 |
| commit | 56cbea1c5dcb068057ea2d32245eaed8a7100d39 (patch) | |
| tree | 10ddc7064f22903bb8b21e6ea9b921f456f8382e /scrypted | |
| parent | 30459a0d37d6ec390b36c8309fac7b12cb50de8c (diff) | |
scrypted: revert to declare-const for SDK names — diagnostic confirmed they're injected
The probe in scrypted/diagnostic.ts confirmed @scrypted/core 0.3.147
injects every name we need (ScryptedDeviceBase, ScryptedDeviceType,
ScryptedInterface, systemManager, deviceManager, mediaManager,
endpointManager, log, device, require, exports) as top-level scope
variables. Notably sdk.ScryptedDeviceBase IS undefined — the classes
are separate injections, not properties on the sdk object.
So the correct pattern is `declare const X: any` for each (declarations
erase at compile time → free identifiers at runtime → bound to the
scryptedEval-injected values), not `const X = sdk.X` (which was
undefined and tripped "Class extends value undefined").
Diffstat (limited to 'scrypted')
| -rw-r--r-- | scrypted/scrypted-viewport.ts | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/scrypted/scrypted-viewport.ts b/scrypted/scrypted-viewport.ts index 0ce81a5..37879af 100644 --- a/scrypted/scrypted-viewport.ts +++ b/scrypted/scrypted-viewport.ts @@ -42,19 +42,16 @@ // declarations erase at compile time and the values come from the // runtime scope. declare const sdk: any; -declare const require: any; - -// Everything the script touches at runtime comes off the `sdk` global — -// older @scrypted/core versions don't inject `ScryptedDeviceBase` etc -// as separate identifiers, only `sdk` itself. Accessing `sdk.X` is the -// stable interface. -const ScryptedDeviceBase = sdk.ScryptedDeviceBase; -const ScryptedDeviceType = sdk.ScryptedDeviceType; -const ScryptedInterface = sdk.ScryptedInterface; -const systemManager = sdk.systemManager; -const endpointManager = sdk.endpointManager; -const mediaManager = sdk.mediaManager; -const deviceManager = sdk.deviceManager; +declare const ScryptedDeviceBase: any; +declare const ScryptedDeviceType: any; +declare const ScryptedInterface: any; +declare const systemManager: any; +declare const endpointManager: any; +declare const mediaManager: any; +declare const deviceManager: any; +declare const log: any; +declare const device: any; +declare const require: any; const dns = require("dns").promises; |
