@eng-ai/sdk 2.8.9 → 2.9.1

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/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to `@eng-ai/sdk` will be documented in this file.
4
4
 
5
+ ## 2.9.1 - 2026-07-15
6
+
7
+ - Adds `createDesktopLanAuthorization({ serverInstanceId })` for short-lived, audience-bound Desktop LAN sessions.
8
+
9
+ ## 2.9.0 - 2026-07-13
10
+
11
+ ### Added
12
+
13
+ - `getDesktopBootstrap()` retrieves the signed, metadata-only per-key Desktop policy envelope from `GET /desktop/bootstrap`.
14
+ - Contract coverage for the atomic policy/account-scope/key-status bootstrap request.
15
+
16
+ ## 2.8.10 - 2026-06-29
17
+
18
+ ### Added
19
+
20
+ - Desktop account management endpoints:
21
+ - `getDesktopPolicy()` — retrieves the active desktop usage policy for the account (`GET /desktop/policy`).
22
+ - `getDesktopAccountScope()` — retrieves the account-level desktop scope and feature flags (`GET /desktop/account-scope`).
23
+ - `getDesktopKeyStatus()` — retrieves the current API key status for desktop clients (`GET /desktop/key-status`).
24
+
5
25
  ## 2.8.9 - 2026-06-26
6
26
 
7
27
  ### Added
package/README.md CHANGED
@@ -95,6 +95,19 @@ console.log(sessions.map((item) => item.id));
95
95
  console.log(session.messages.length);
96
96
  ```
97
97
 
98
+ Desktop LAN authorization (metadata-only):
99
+
100
+ ```js
101
+ const proof = await client.createDesktopLanAuthorization({
102
+ serverInstanceId: "stable-non-secret-server-id"
103
+ });
104
+ ```
105
+
106
+ The proof is short-lived and audience-bound. It contains identity and the relevant
107
+ Desktop permissions only. Agent definitions, system prompts, tools, documents,
108
+ local chat and BYOK credentials are never included and remain under customer
109
+ custody on the Desktop LAN server.
110
+
98
111
  Desktop private local-context invocation:
99
112
 
100
113
  ```js
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eng-ai/sdk",
3
- "version": "2.8.9",
3
+ "version": "2.9.1",
4
4
  "description": "Official JavaScript SDK for ENG-AI External API v2",
5
5
  "type": "module",
6
6
  "main": "./src/client.js",
package/src/client.js CHANGED
@@ -670,6 +670,41 @@ export class EngAIClient {
670
670
  });
671
671
  }
672
672
 
673
+ async getDesktopBootstrap() {
674
+ return await this._request("/desktop/bootstrap", {
675
+ method: "GET",
676
+ });
677
+ }
678
+
679
+ async createDesktopLanAuthorization({ serverInstanceId } = {}) {
680
+ const normalizedServerInstanceId = this._requireNonEmptyString(
681
+ serverInstanceId,
682
+ "serverInstanceId",
683
+ );
684
+ return await this._request("/desktop/lan-authorization", {
685
+ method: "POST",
686
+ body: { serverInstanceId: normalizedServerInstanceId },
687
+ });
688
+ }
689
+
690
+ async getDesktopPolicy() {
691
+ return await this._request("/desktop/policy", {
692
+ method: "GET",
693
+ });
694
+ }
695
+
696
+ async getDesktopAccountScope() {
697
+ return await this._request("/desktop/account-scope", {
698
+ method: "GET",
699
+ });
700
+ }
701
+
702
+ async getDesktopKeyStatus() {
703
+ return await this._request("/desktop/key-status", {
704
+ method: "GET",
705
+ });
706
+ }
707
+
673
708
  async setVoiceLiveEnabled(enabled) {
674
709
  return await this._request("/settings/voice-live", {
675
710
  method: "PUT",