@xenosystem/agent-interface-electron-host 0.1.36 → 0.1.38

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.
@@ -26,6 +26,22 @@ import type { AgentCommandExecutionEnvironment } from './sdkAgent.js';
26
26
  export interface CreateSdkNativeHeadlessRunnerOptions {
27
27
  settlementRegistry?: SdkExecutionSettlementRegistry;
28
28
  getAuthToken(): string | null;
29
+ /**
30
+ * Authorize one inference request as the signed-in account. See `sdkAgent`'s own field.
31
+ *
32
+ * 🔴 `undefined` and a function that resolves `null` are DIFFERENT ANSWERS. Absent means this
33
+ * host has no account credential, so the SDK uses `apiKey`. Present-but-`null` means there IS an
34
+ * account and it could not authorize, which the SDK treats as a refusal and never falls back
35
+ * from. Declared as possibly-`undefined` rather than merely optional so a composition can pass
36
+ * the distinction through a getter under `exactOptionalPropertyTypes`.
37
+ */
38
+ authorizeRequest?: ((target: {
39
+ method: string;
40
+ url: string;
41
+ }) => Promise<{
42
+ authorization: string;
43
+ dpop?: string;
44
+ } | null>) | undefined;
29
45
  getPlatformAuthToken?(): string | null;
30
46
  runtimeEventStore?: RuntimeEventStore;
31
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"sdkNativeHeadlessRunner.d.ts","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAG9C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,oCAAoC;IACnD,kBAAkB,CAAC,EAAC,8BAA8B,CAAA;IAClD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B,oBAAoB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAA;IACtC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC9E,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6FAA6F;IAC7F,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,oBAAoB,CAAC,EAAE,gCAAgC,CAAA;CACxD;AAED,OAAO,EAA2B,KAAK,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEpH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,oBAAoB,CAoGtB;AAiCD,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
1
+ {"version":3,"file":"sdkNativeHeadlessRunner.d.ts","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAG9C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,oCAAoC;IACnD,kBAAkB,CAAC,EAAC,8BAA8B,CAAA;IAClD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IACtI,oBAAoB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAA;IACtC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAA;IAC9E,4FAA4F;IAC5F,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,6FAA6F;IAC7F,cAAc,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtD,oBAAoB,CAAC,EAAE,gCAAgC,CAAA;CACxD;AAED,OAAO,EAA2B,KAAK,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEpH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,oBAAoB,CAqGtB;AAiCD,YAAY,EAAE,sBAAsB,EAAE,CAAA"}
@@ -67,6 +67,7 @@ export function createSdkNativeHeadlessRunner(options) {
67
67
  enableThinking: input.enableThinking,
68
68
  ...(input.reasoningEffort ? { reasoningEffort: input.reasoningEffort } : {}),
69
69
  getAuthToken: options.getAuthToken,
70
+ ...(options.authorizeRequest ? { authorizeRequest: options.authorizeRequest } : {}),
70
71
  ...(options.getPlatformAuthToken
71
72
  ? { getPlatformAuthToken: options.getPlatformAuthToken }
72
73
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"sdkNativeHeadlessRunner.js","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkNativeHeadlessRunner.js","sourceRoot":"","sources":["../src/sdkNativeHeadlessRunner.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,22 @@ import { type SdkExecutionSettlementRegistry } from '@xenosystem/agent-interface
6
6
  export interface CreateSdkNativeElectronRunnerOptions {
7
7
  settlementRegistry?: SdkExecutionSettlementRegistry;
8
8
  getAuthToken(): string | null;
9
+ /**
10
+ * Authorize one inference request as the signed-in account. See `sdkAgent`'s own field.
11
+ *
12
+ * 🔴 `undefined` and a function that resolves `null` are DIFFERENT ANSWERS. Absent means this
13
+ * host has no account credential, so the SDK uses `apiKey`. Present-but-`null` means there IS an
14
+ * account and it could not authorize, which the SDK treats as a refusal and never falls back
15
+ * from. Declared as possibly-`undefined` rather than merely optional so a composition can pass
16
+ * the distinction through a getter under `exactOptionalPropertyTypes`.
17
+ */
18
+ authorizeRequest?: ((target: {
19
+ method: string;
20
+ url: string;
21
+ }) => Promise<{
22
+ authorization: string;
23
+ dpop?: string;
24
+ } | null>) | undefined;
9
25
  getPlatformAuthToken?(): string | null;
10
26
  createRuntimeWindow(input: SdkNativeAgentRunInput): BrowserWindow;
11
27
  runtimeEventStore?: RuntimeEventStore;
@@ -1 +1 @@
1
- {"version":3,"file":"sdkNativeRunner.d.ts","sourceRoot":"","sources":["../src/sdkNativeRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAGrE,OAAO,EAA2B,KAAK,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEpH,MAAM,WAAW,oCAAoC;IACnD,kBAAkB,CAAC,EAAC,8BAA8B,CAAA;IAClD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B,oBAAoB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAA;IACtC,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa,CAAA;IACjE,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,oBAAoB,CAAC,EAAE,gCAAgC,CAAA;CACxD;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,oBAAoB,CAuFtB"}
1
+ {"version":3,"file":"sdkNativeRunner.d.ts","sourceRoot":"","sources":["../src/sdkNativeRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,KAAK,EAGV,iBAAiB,EAClB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAA;AAGrE,OAAO,EAA2B,KAAK,8BAA8B,EAAE,MAAM,uCAAuC,CAAA;AAEpH,MAAM,WAAW,oCAAoC;IACnD,kBAAkB,CAAC,EAAC,8BAA8B,CAAA;IAClD,YAAY,IAAI,MAAM,GAAG,IAAI,CAAA;IAC7B;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IACtI,oBAAoB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAA;IACtC,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,GAAG,aAAa,CAAA;IACjE,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,oBAAoB,CAAC,EAAE,gCAAgC,CAAA;CACxD;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,oBAAoB,CAwFtB"}
@@ -53,6 +53,7 @@ export function createSdkNativeElectronRunner(options) {
53
53
  enableThinking: input.enableThinking,
54
54
  ...(input.reasoningEffort ? { reasoningEffort: input.reasoningEffort } : {}),
55
55
  getAuthToken: options.getAuthToken,
56
+ ...(options.authorizeRequest ? { authorizeRequest: options.authorizeRequest } : {}),
56
57
  ...(options.getPlatformAuthToken
57
58
  ? { getPlatformAuthToken: options.getPlatformAuthToken }
58
59
  : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"sdkNativeRunner.js","sourceRoot":"","sources":["../src/sdkNativeRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdkNativeRunner.js","sourceRoot":"","sources":["../src/sdkNativeRunner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenosystem/agent-interface-electron-host",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "license": "UNLICENSED",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -27,9 +27,9 @@
27
27
  "directory": "packages/electron-host"
28
28
  },
29
29
  "dependencies": {
30
- "@xenosystem/agent-sdk": "0.9.27",
30
+ "@xenosystem/agent-sdk": "0.9.29",
31
31
  "@xenosystem/web-context-client": "0.1.1",
32
- "@xenosystem/agent-interface-host": "0.1.36"
32
+ "@xenosystem/agent-interface-host": "0.1.38"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "electron": ">=35"
@@ -1,30 +0,0 @@
1
- import type { AgentHostClientIdentity, AgentHostEvent, AgentHostTransport } from '@xenosystem/agent-interface-contract';
2
- export interface DesktopAttachedSession {
3
- role: string;
4
- descriptor: {
5
- instanceId: string;
6
- endpoint: string;
7
- };
8
- transport: AgentHostTransport;
9
- close(): Promise<void>;
10
- }
11
- /** Each document owns a client socket, never the shared host authority. Socket
12
- * loss then reaches the existing canonical server releaseClient path exactly. */
13
- export declare class DesktopDocumentConnections {
14
- private readonly options;
15
- private readonly entries;
16
- private closing;
17
- constructor(options: {
18
- attach: () => Promise<DesktopAttachedSession>;
19
- expectedAuthority: () => {
20
- instanceId: string;
21
- endpoint: string;
22
- };
23
- onEvent: (identity: AgentHostClientIdentity, event: AgentHostEvent) => void;
24
- });
25
- request(identity: AgentHostClientIdentity, dispatch: (transport: AgentHostTransport) => Promise<unknown>): Promise<unknown>;
26
- retire(identity: Pick<AgentHostClientIdentity, 'instanceId'>): Promise<void>;
27
- close(): Promise<void>;
28
- private create;
29
- }
30
- //# sourceMappingURL=desktopDocumentConnections.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"desktopDocumentConnections.d.ts","sourceRoot":"","sources":["../src/desktopDocumentConnections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAEvH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACpD,SAAS,EAAE,kBAAkB,CAAA;IAC7B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAGD;iFACiF;AACjF,qBAAa,0BAA0B;IAGzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,OAAO,CAAQ;gBACM,OAAO,EAAE;QACpC,MAAM,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAA;QAC7C,iBAAiB,EAAE,MAAM;YAAE,UAAU,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAA;QACjE,OAAO,EAAE,CAAC,QAAQ,EAAE,uBAAuB,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;KAC5E;IAEK,OAAO,CAAC,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAYjI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,MAAM;CAyBf"}
@@ -1,81 +0,0 @@
1
- /** Each document owns a client socket, never the shared host authority. Socket
2
- * loss then reaches the existing canonical server releaseClient path exactly. */
3
- export class DesktopDocumentConnections {
4
- options;
5
- entries = new Map();
6
- closing = false;
7
- constructor(options) {
8
- this.options = options;
9
- }
10
- async request(identity, dispatch) {
11
- if (this.closing)
12
- throw new Error('Desktop document connections are closing.');
13
- const entry = this.entries.get(identity.instanceId) || this.create(identity);
14
- if (entry.retired)
15
- throw new Error('Desktop document connection was retired.');
16
- const session = await entry.ready;
17
- if (entry.retired || this.closing) {
18
- await this.retire(identity);
19
- throw new Error('Desktop document connection was retired while attaching.');
20
- }
21
- return dispatch(session.transport);
22
- }
23
- retire(identity) {
24
- const entry = this.entries.get(identity.instanceId);
25
- if (!entry)
26
- return Promise.resolve();
27
- entry.retired = true;
28
- entry.unsubscribe?.();
29
- delete entry.unsubscribe;
30
- if (entry.retirement)
31
- return entry.retirement;
32
- const retirement = (async () => {
33
- try {
34
- await entry.ready;
35
- }
36
- catch { /* An attached session, if any, is retained below. */ }
37
- if (entry.session)
38
- await entry.session.close();
39
- if (this.entries.get(identity.instanceId) === entry)
40
- this.entries.delete(identity.instanceId);
41
- })();
42
- entry.retirement = retirement;
43
- void retirement.finally(() => { if (entry.retirement === retirement)
44
- delete entry.retirement; }).catch(() => { });
45
- return retirement;
46
- }
47
- async close() {
48
- this.closing = true;
49
- await Promise.all([...this.entries.keys()].map(instanceId => this.retire({ instanceId })));
50
- }
51
- create(identity) {
52
- const expected = this.options.expectedAuthority();
53
- const entry = { retired: false, ready: Promise.resolve(undefined) };
54
- this.entries.set(identity.instanceId, entry);
55
- entry.ready = Promise.resolve().then(async () => {
56
- if (entry.retired)
57
- throw new Error('Desktop document retired before attachment.');
58
- const session = await this.options.attach();
59
- // Never close an owner session from this client-only pool, even if an
60
- // erroneous injected factory hands one back.
61
- if (session.role !== 'attached-client')
62
- throw new Error('Desktop documents may only attach to an existing authority.');
63
- entry.session = session;
64
- if (session.descriptor.instanceId !== expected.instanceId || session.descriptor.endpoint !== expected.endpoint) {
65
- entry.retired = true;
66
- await session.close();
67
- delete entry.session;
68
- throw new Error('Desktop shared authority changed during document attachment.');
69
- }
70
- if (!entry.retired)
71
- entry.unsubscribe = session.transport.subscribe(event => {
72
- if (!entry.retired && this.entries.get(identity.instanceId) === entry)
73
- this.options.onEvent(identity, event);
74
- });
75
- return session;
76
- });
77
- void entry.ready.catch(() => { });
78
- return entry;
79
- }
80
- }
81
- //# sourceMappingURL=desktopDocumentConnections.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"desktopDocumentConnections.js","sourceRoot":"","sources":["../src/desktopDocumentConnections.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import { type AgentHostClientIdentity } from '@xenosystem/agent-interface-contract';
2
- export declare const DESKTOP_BOOTSTRAP_CHANNEL = "xeno-agent-host:bootstrap";
3
- /** The two other channel names a product must agree on with its preload. */
4
- export declare const AGENT_HOST_REQUEST_CHANNEL = "xeno-agent-host:request";
5
- export declare const AGENT_HOST_EVENT_CHANNEL = "xeno-agent-host:event";
6
- export interface DesktopDocumentReceipt {
7
- identity: AgentHostClientIdentity;
8
- token: string;
9
- }
10
- export declare function sameDesktopDocumentUrl(actual: string, expected: string): boolean;
11
- /**
12
- * Which product this authority mints identities for.
13
- *
14
- * Parameters rather than constants because this class is the ONLY safe way for an Electron
15
- * product to mint a client identity, and every product needs its own. Hard-coding
16
- * `xeno-agent-desktop`/`standalone-desktop` here is what kept it app-private, and the
17
- * alternative — each product writing its own copy — is a second implementation of the check
18
- * that decides whether a renderer may speak to the agent host at all.
19
- */
20
- export interface DocumentAuthorityProduct {
21
- /** Stable product id, e.g. `xeno-agent-desktop`, `xeno-canvas`. */
22
- clientId: string;
23
- /** The surface the host will see. The embed layer refuses a client whose surface disagrees
24
- * with its mount, so this is not cosmetic. */
25
- surface: AgentHostClientIdentity['surface'];
26
- }
27
- /** Main-process authority. Renderer claims never create a client identity. */
28
- export declare class DesktopSenderAuthority {
29
- private readonly version;
30
- private readonly uuid;
31
- private readonly onRetire;
32
- private readonly senders;
33
- private readonly product;
34
- constructor(version: string, uuid?: () => string, onRetire?: (identity: AgentHostClientIdentity) => void, product?: DocumentAuthorityProduct);
35
- register(sender: object, allowedUrl: string): void;
36
- remove(sender: object): void;
37
- invalidate(sender: object): void;
38
- committed(sender: object, url: string, sameDocument?: boolean): void;
39
- bootstrap(sender: object, isMainFrame: boolean, url: string): DesktopDocumentReceipt;
40
- assert(sender: object, isMainFrame: boolean, url: string, token: unknown, handshake?: boolean): AgentHostClientIdentity;
41
- canReceive(sender: object, url: string): boolean;
42
- request(sender: object, isMainFrame: boolean, url: string, token: unknown, method: string, input: unknown, dispatch: (input: unknown) => Promise<unknown>): Promise<unknown>;
43
- private document;
44
- }
45
- //# sourceMappingURL=desktopSenderAuthority.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"desktopSenderAuthority.d.ts","sourceRoot":"","sources":["../src/desktopSenderAuthority.ts"],"names":[],"mappings":"AACA,OAAO,EAAmD,KAAK,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAEpI,eAAO,MAAM,yBAAyB,8BAA8B,CAAA;AACpE,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,4BAA4B,CAAA;AACnE,eAAO,MAAM,wBAAwB,0BAA0B,CAAA;AAC/D,MAAM,WAAW,sBAAsB;IAAG,QAAQ,EAAE,uBAAuB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAK5F,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMhF;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAChB;mDAC+C;IAC/C,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAA;CAC5C;AAED,8EAA8E;AAC9E,qBAAa,sBAAsB;IAGrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAAU,OAAO,CAAC,QAAQ,CAAC,IAAI;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAH3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBACrB,OAAO,EAAE,MAAM,EAAmB,IAAI,GAAE,MAAM,MAAmB,EAC3E,QAAQ,GAAE,CAAC,QAAQ,EAAE,uBAAuB,KAAK,IAAe,EACjF,OAAO,GAAE,wBAA4F;IAIvG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAIlD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAC5B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOhC,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,IAAI;IAgBlE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB;IAKpF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,UAAQ,GAAG,uBAAuB;IAMrH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAI1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgClL,OAAO,CAAC,QAAQ;CAKjB"}
@@ -1,133 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- import { isAgentHostClientIdentity, isAgentHostHandshake } from '@xenosystem/agent-interface-contract';
3
- export const DESKTOP_BOOTSTRAP_CHANNEL = 'xeno-agent-host:bootstrap';
4
- /** The two other channel names a product must agree on with its preload. */
5
- export const AGENT_HOST_REQUEST_CHANNEL = 'xeno-agent-host:request';
6
- export const AGENT_HOST_EVENT_CHANNEL = 'xeno-agent-host:event';
7
- const record = (value) => Boolean(value) && typeof value === 'object' && !Array.isArray(value);
8
- export function sameDesktopDocumentUrl(actual, expected) {
9
- try {
10
- const left = new URL(actual), right = new URL(expected);
11
- left.hash = '';
12
- right.hash = '';
13
- return !left.username && !left.password && left.href === right.href;
14
- }
15
- catch {
16
- return false;
17
- }
18
- }
19
- /** Main-process authority. Renderer claims never create a client identity. */
20
- export class DesktopSenderAuthority {
21
- version;
22
- uuid;
23
- onRetire;
24
- senders = new Map();
25
- product;
26
- constructor(version, uuid = randomUUID, onRetire = () => { }, product = { clientId: 'xeno-agent-desktop', surface: 'standalone-desktop' }) {
27
- this.version = version;
28
- this.uuid = uuid;
29
- this.onRetire = onRetire;
30
- this.product = product;
31
- }
32
- register(sender, allowedUrl) {
33
- if (this.senders.has(sender))
34
- throw new Error('Desktop sender is already registered.');
35
- this.senders.set(sender, { allowedUrl });
36
- }
37
- remove(sender) { this.invalidate(sender); this.senders.delete(sender); }
38
- invalidate(sender) {
39
- const registration = this.senders.get(sender);
40
- const prior = registration?.document;
41
- if (registration)
42
- delete registration.document;
43
- if (prior)
44
- this.onRetire({ ...prior.identity });
45
- }
46
- committed(sender, url, sameDocument = false) {
47
- const registration = this.senders.get(sender);
48
- if (!registration)
49
- return;
50
- if (sameDocument)
51
- return;
52
- const prior = registration.document;
53
- // A foreign committed document must not retain the old page's authority.
54
- this.invalidate(sender);
55
- if (!sameDesktopDocumentUrl(url, registration.allowedUrl))
56
- return;
57
- const instanceId = this.uuid(), token = this.uuid();
58
- if (!instanceId || !token || instanceId === token || instanceId === prior?.identity.instanceId || token === prior?.token
59
- || [...this.senders.values()].some(item => item.document?.identity.instanceId === instanceId || item.document?.token === token)) {
60
- throw new Error('Duplicate desktop document identity refused.');
61
- }
62
- registration.document = { identity: { clientId: this.product.clientId, clientVersion: this.version, instanceId, surface: this.product.surface }, token, acknowledged: false };
63
- }
64
- bootstrap(sender, isMainFrame, url) {
65
- const document = this.document(sender, isMainFrame, url);
66
- return { identity: { ...document.identity }, token: document.token };
67
- }
68
- assert(sender, isMainFrame, url, token, handshake = false) {
69
- const document = this.document(sender, isMainFrame, url);
70
- if (token !== document.token || (handshake && !document.acknowledged))
71
- throw new Error('Desktop document authority refused.');
72
- return { ...document.identity };
73
- }
74
- canReceive(sender, url) {
75
- try {
76
- return this.document(sender, true, url).acknowledged;
77
- }
78
- catch {
79
- return false;
80
- }
81
- }
82
- async request(sender, isMainFrame, url, token, method, input, dispatch) {
83
- const identity = this.assert(sender, isMainFrame, url, token, method !== 'host.handshake');
84
- const document = this.senders.get(sender).document;
85
- if (!record(input))
86
- throw new Error('Desktop request input is invalid.');
87
- const matches = (value) => isAgentHostClientIdentity(value)
88
- && value.clientId === identity.clientId && value.clientVersion === identity.clientVersion
89
- && value.surface === identity.surface && value.instanceId === identity.instanceId
90
- && Object.keys(value).every(key => ['clientId', 'clientVersion', 'surface', 'instanceId'].includes(key));
91
- if ((method === 'host.handshake' && !matches(input.identity))
92
- || ('identity' in input && !matches(input.identity))
93
- || ('client' in input && !matches(input.client))
94
- || (record(input.command) && !matches(input.command.client)))
95
- throw new Error('Desktop request client identity refused.');
96
- const current = () => this.senders.get(sender)?.document === document;
97
- if (method === 'host.handshake') {
98
- const fingerprint = JSON.stringify(input);
99
- if (document.handshake && document.handshake !== fingerprint)
100
- throw new Error('Desktop handshake changed within the document.');
101
- if (document.pending)
102
- return document.pending;
103
- document.handshake = fingerprint;
104
- const pending = dispatch(structuredClone(input)).then(result => {
105
- if (!current())
106
- throw new Error('Desktop document changed during handshake.');
107
- if (!isAgentHostHandshake(result) || !matches(result.surface))
108
- throw new Error('Desktop host handshake was not acknowledged.');
109
- document.acknowledged = true;
110
- return result;
111
- });
112
- document.pending = pending;
113
- try {
114
- return await pending;
115
- }
116
- finally {
117
- if (current())
118
- delete document.pending;
119
- }
120
- }
121
- const result = await dispatch(structuredClone(input));
122
- if (!current())
123
- throw new Error('Desktop document changed during request.');
124
- return result;
125
- }
126
- document(sender, isMainFrame, url) {
127
- const registration = this.senders.get(sender);
128
- if (!isMainFrame || !registration?.document || !sameDesktopDocumentUrl(url, registration.allowedUrl))
129
- throw new Error('Desktop sender is not an authorized main document.');
130
- return registration.document;
131
- }
132
- }
133
- //# sourceMappingURL=desktopSenderAuthority.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"desktopSenderAuthority.js","sourceRoot":"","sources":["../src/desktopSenderAuthority.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- import type { CommandExecutionPort, CommandExecutionRequest, CommandExecutionResult } from '@xenosystem/agent-interface-host/node';
2
- export declare class SdkExecutionSettlementRegistry {
3
- private readonly records;
4
- private key;
5
- begin(input: {
6
- conversationId?: string;
7
- requestId: string;
8
- }, manager: unknown): string;
9
- finish(input: {
10
- conversationId?: string;
11
- requestId: string;
12
- }): void;
13
- execute(input: {
14
- conversationId?: string;
15
- requestId: string;
16
- }, executor: CommandExecutionPort, request: CommandExecutionRequest): Promise<CommandExecutionResult>;
17
- confirm(input: {
18
- conversationId?: string;
19
- requestId: string;
20
- }): boolean;
21
- cancel(input: {
22
- conversationId?: string;
23
- requestId: string;
24
- }): Promise<void>;
25
- }
26
- export declare const sdkExecutionSettlements: SdkExecutionSettlementRegistry;
27
- //# sourceMappingURL=sdkExecutionSettlement.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdkExecutionSettlement.d.ts","sourceRoot":"","sources":["../src/sdkExecutionSettlement.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,oBAAoB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAezJ,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,GAAG;IACX,KAAK,CAAC,KAAK,EAAC;QAAC,cAAc,CAAC,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,EAAC,OAAO,EAAC,OAAO,GAAE,MAAM;IAY7E,MAAM,CAAC,KAAK,EAAC;QAAC,cAAc,CAAC,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,IAAI;IACtD,OAAO,CAAC,KAAK,EAAC;QAAC,cAAc,CAAC,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,EAAC,QAAQ,EAAC,oBAAoB,EAAC,OAAO,EAAC,uBAAuB,GAAE,OAAO,CAAC,sBAAsB,CAAC;IAS5J,OAAO,CAAC,KAAK,EAAC;QAAC,cAAc,CAAC,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO;IAU1D,MAAM,CAAC,KAAK,EAAC;QAAC,cAAc,CAAC,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC,IAAI,CAAC;CAS5E;AACD,eAAO,MAAM,uBAAuB,gCAAqC,CAAA"}
@@ -1,53 +0,0 @@
1
- import { randomUUID } from 'node:crypto';
2
- export class SdkExecutionSettlementRegistry {
3
- records = new Map();
4
- key(input) { return JSON.stringify([input.conversationId ?? null, input.requestId]); }
5
- begin(input, manager) {
6
- const key = this.key(input);
7
- if (this.records.has(key) || this.records.size >= 2048)
8
- throw new Error('SDK execution identity reused or retained authority limit reached');
9
- const record = { ownerId: `interface-turn:${randomUUID()}`, finished: false, cancelling: false, commands: new Map() };
10
- const port = manager;
11
- if (typeof port?.captureOwnerCleanup === 'function' && typeof port.sealOwnerAdmission === 'function' && typeof port.cleanupOwnerAndWait === 'function') {
12
- record.manager = port;
13
- record.authority = record.manager.captureOwnerCleanup(record.ownerId);
14
- }
15
- this.records.set(key, record);
16
- return record.ownerId;
17
- }
18
- finish(input) { const record = this.records.get(this.key(input)); if (record)
19
- record.finished = true; }
20
- async execute(input, executor, request) {
21
- const record = this.records.get(this.key(input));
22
- if (!record || record.finished || record.cancelling)
23
- throw new Error('SDK command has no active issuing execution owner');
24
- if (!record.commands.has(executor))
25
- record.commands.set(executor, executor.captureExecutionOwner && executor.sealExecutionOwner && executor.cancelExecutionOwner
26
- ? executor.captureExecutionOwner(record.ownerId) : undefined);
27
- const authority = record.commands.get(executor);
28
- return executor.execute({ ...request, ...(authority ? { ownership: { authority, operationId: randomUUID() } } : {}) });
29
- }
30
- confirm(input) {
31
- const record = this.records.get(this.key(input));
32
- if (!record?.finished)
33
- return false;
34
- let settled = record.manager?.sealOwnerAdmission(record.ownerId, record.authority).settled === true;
35
- for (const [executor, authority] of record.commands) {
36
- const commandSettled = authority ? executor.sealExecutionOwner?.(authority).settled === true : false;
37
- settled = commandSettled && settled;
38
- }
39
- return settled;
40
- }
41
- async cancel(input) {
42
- const record = this.records.get(this.key(input));
43
- if (!record)
44
- return;
45
- record.cancelling = true;
46
- await Promise.all([
47
- record.manager?.cleanupOwnerAndWait(record.ownerId, { authority: record.authority, timeoutMs: 1000 }),
48
- ...[...record.commands].map(([executor, authority]) => authority ? executor.cancelExecutionOwner?.(authority, 1000) : undefined),
49
- ]);
50
- }
51
- }
52
- export const sdkExecutionSettlements = new SdkExecutionSettlementRegistry();
53
- //# sourceMappingURL=sdkExecutionSettlement.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdkExecutionSettlement.js","sourceRoot":"","sources":["../src/sdkExecutionSettlement.ts"],"names":[],"mappings":"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"}