@xenosystem/agent-interface-runtime 0.1.35 → 0.1.37
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/accountWorkerConfiguration.d.ts +55 -0
- package/dist/accountWorkerConfiguration.d.ts.map +1 -1
- package/dist/accountWorkerConfiguration.js +80 -1
- package/dist/accountWorkerConfiguration.js.map +1 -1
- package/dist/composeHost.d.ts +6 -2
- package/dist/composeHost.d.ts.map +1 -1
- package/dist/composeHost.js +264 -15
- package/dist/composeHost.js.map +1 -1
- package/dist/detachedHostEntry.d.ts.map +1 -1
- package/dist/detachedHostEntry.js +20 -1
- package/dist/detachedHostEntry.js.map +1 -1
- package/dist/hostBuildIdentity.d.ts +3 -0
- package/dist/hostBuildIdentity.d.ts.map +1 -0
- package/dist/hostBuildIdentity.js +27 -0
- package/dist/hostBuildIdentity.js.map +1 -0
- package/dist/hostLanePolicy.d.ts +13 -1
- package/dist/hostLanePolicy.d.ts.map +1 -1
- package/dist/hostLanePolicy.js +13 -1
- package/dist/hostLanePolicy.js.map +1 -1
- package/dist/hostSupervisorAdapter.d.ts +7 -4
- package/dist/hostSupervisorAdapter.d.ts.map +1 -1
- package/dist/hostSupervisorAdapter.js +72 -3
- package/dist/hostSupervisorAdapter.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
import { type StandaloneAccountWorkerConfiguration } from '@xenosystem/agent-interface-host/node';
|
|
2
|
+
/**
|
|
3
|
+
* The OIDC issuer, as one value.
|
|
4
|
+
*
|
|
5
|
+
* ⚠️ The site answers on BOTH `xenostudio.ai` and `xenosystem.ai` — the rebrand moved the host,
|
|
6
|
+
* and measured 2026-09-13 the discovery document served by EITHER still declares
|
|
7
|
+
* `issuer: https://xenostudio.ai`. OIDC compares the issuer exactly, so this must track the
|
|
8
|
+
* discovery document and not the brand; when the provider moves it, this line moves with it and
|
|
9
|
+
* everything that validates against the issuer follows, instead of each site re-typing a
|
|
10
|
+
* hostname that is mid-rebrand.
|
|
11
|
+
*/
|
|
12
|
+
export declare const STANDALONE_ACCOUNT_ISSUER: "https://xenostudio.ai";
|
|
13
|
+
/**
|
|
14
|
+
* Every scope any code path in this app may ask a token for.
|
|
15
|
+
*
|
|
16
|
+
* This is the app's CEILING, not its request. A method that needs `workforce:read` is refused
|
|
17
|
+
* before it reaches the network unless that scope is listed here, and that local gate is why the
|
|
18
|
+
* list keeps naming scopes the issuer does not yet grant — see {@link STANDALONE_ACCOUNT_SIGN_IN_SCOPES}.
|
|
19
|
+
*/
|
|
2
20
|
export declare const STANDALONE_ACCOUNT_SCOPES: readonly string[];
|
|
21
|
+
/**
|
|
22
|
+
* What sign-in may actually ASK the issuer for — and therefore what the SDK asserts it received.
|
|
23
|
+
*
|
|
24
|
+
* 🔴 **These are two different questions and conflating them broke sign-in completely.** Measured
|
|
25
|
+
* 2026-09-13 against the live provider: authorization returned 200, the loopback callback arrived,
|
|
26
|
+
* `/api/oauth2/token` returned 200 and consumed the code — and the app still reported
|
|
27
|
+
* `signed-out`, because the SDK verifies the returned access token holds every scope it was told
|
|
28
|
+
* to expect, and it had been handed all nine of {@link STANDALONE_ACCOUNT_SCOPES}.
|
|
29
|
+
*
|
|
30
|
+
* The provider's `downscope()` intersects the request with the client's registered
|
|
31
|
+
* `allowed_scopes` and silently drops the rest — a spec-correct OAuth behaviour, not a bug.
|
|
32
|
+
* `xeno-agent-interface` is registered as `AGENT_PRODUCT`:
|
|
33
|
+
*
|
|
34
|
+
* openid profile email ledger inference:run ledger:read ledger:spend
|
|
35
|
+
* projects:read projects:write sync:use agent-identity:use
|
|
36
|
+
*
|
|
37
|
+
* so the grant came back holding `openid profile email`, the SDK checked for nine, and threw
|
|
38
|
+
* `missing scope offline_access`. The native flow flattens every exchange failure into one
|
|
39
|
+
* sentence, so this read as "the authorization exchange failed" — pointing at the exchange, which
|
|
40
|
+
* had succeeded.
|
|
41
|
+
*
|
|
42
|
+
* ⚠️ **Four of the nine do not exist on the provider at all.** `offline_access`, `team:manage`,
|
|
43
|
+
* `workforce:read` and `workforce:manage` are absent from its `OIDC_SCOPES`; a repo-wide search of
|
|
44
|
+
* the platform server for `workforce` returns nothing. Asking for them could never have worked.
|
|
45
|
+
*
|
|
46
|
+
* Two of the absences are already answered elsewhere and need no scope:
|
|
47
|
+
* - `offline_access` — the provider issues a refresh token unconditionally on the code path and
|
|
48
|
+
* never reads this scope, so requesting it bought nothing.
|
|
49
|
+
* - `workforce:*` — gate LOCAL worker methods (`accountWorkerRuntime`), which read
|
|
50
|
+
* {@link STANDALONE_ACCOUNT_SCOPES}. That gate keeps working; it was never an issuer question.
|
|
51
|
+
*
|
|
52
|
+
* `team:*` and `collaboration:use` ARE real provider scopes, simply not on this client's row. When
|
|
53
|
+
* the platform adds them to `CLIENT_AUTHORITY['xeno-agent-interface']`, move them here in the same
|
|
54
|
+
* change and the calls that need them start working — asserting a scope the client cannot hold
|
|
55
|
+
* fails sign-in outright, so this list must never run ahead of the registration.
|
|
56
|
+
*/
|
|
57
|
+
export declare const STANDALONE_ACCOUNT_SIGN_IN_SCOPES: readonly string[];
|
|
3
58
|
/** The production standalone/detached authority. All values are fixed source
|
|
4
59
|
* policy; no renderer field, ambient URL, token, or selected workspace can
|
|
5
60
|
* widen them. Isolated host roots keep test credentials out of the real profile. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountWorkerConfiguration.d.ts","sourceRoot":"","sources":["../src/accountWorkerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,oCAAoC,EAAE,MAAM,uCAAuC,CAAA;AAE7H,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"accountWorkerConfiguration.d.ts","sourceRoot":"","sources":["../src/accountWorkerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,oCAAoC,EAAE,MAAM,uCAAuC,CAAA;AAE7H;;;;;;;;;GASG;AACH,eAAO,MAAM,yBAAyB,EAAG,uBAAgC,CAAA;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,mBAMpC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,iCAAiC,mBAmB5C,CAAA;AAEF;;oFAEoF;AACpF,wBAAgB,6CAA6C,CAAC,OAAO,EAAE;IACrE,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,GAAG,oCAAoC,CAWvC"}
|
|
@@ -1,6 +1,84 @@
|
|
|
1
1
|
import { resolveLocalAgentHostPaths } from '@xenosystem/agent-interface-host/node';
|
|
2
|
+
/**
|
|
3
|
+
* The OIDC issuer, as one value.
|
|
4
|
+
*
|
|
5
|
+
* ⚠️ The site answers on BOTH `xenostudio.ai` and `xenosystem.ai` — the rebrand moved the host,
|
|
6
|
+
* and measured 2026-09-13 the discovery document served by EITHER still declares
|
|
7
|
+
* `issuer: https://xenostudio.ai`. OIDC compares the issuer exactly, so this must track the
|
|
8
|
+
* discovery document and not the brand; when the provider moves it, this line moves with it and
|
|
9
|
+
* everything that validates against the issuer follows, instead of each site re-typing a
|
|
10
|
+
* hostname that is mid-rebrand.
|
|
11
|
+
*/
|
|
12
|
+
export const STANDALONE_ACCOUNT_ISSUER = 'https://xenostudio.ai';
|
|
13
|
+
/**
|
|
14
|
+
* Every scope any code path in this app may ask a token for.
|
|
15
|
+
*
|
|
16
|
+
* This is the app's CEILING, not its request. A method that needs `workforce:read` is refused
|
|
17
|
+
* before it reaches the network unless that scope is listed here, and that local gate is why the
|
|
18
|
+
* list keeps naming scopes the issuer does not yet grant — see {@link STANDALONE_ACCOUNT_SIGN_IN_SCOPES}.
|
|
19
|
+
*/
|
|
2
20
|
export const STANDALONE_ACCOUNT_SCOPES = Object.freeze([
|
|
3
21
|
'openid', 'profile', 'email', 'offline_access', 'team:read', 'team:manage', 'collaboration:use', 'workforce:read', 'workforce:manage',
|
|
22
|
+
// The gateway's requirement for running a turn — see STANDALONE_ACCOUNT_SIGN_IN_SCOPES, which is
|
|
23
|
+
// where it matters. It must appear here as well because `canonicalAccountPort` refuses a sign-in
|
|
24
|
+
// scope that is not also in this list, and that subset rule is what keeps the two honest.
|
|
25
|
+
'inference:run',
|
|
26
|
+
]);
|
|
27
|
+
/**
|
|
28
|
+
* What sign-in may actually ASK the issuer for — and therefore what the SDK asserts it received.
|
|
29
|
+
*
|
|
30
|
+
* 🔴 **These are two different questions and conflating them broke sign-in completely.** Measured
|
|
31
|
+
* 2026-09-13 against the live provider: authorization returned 200, the loopback callback arrived,
|
|
32
|
+
* `/api/oauth2/token` returned 200 and consumed the code — and the app still reported
|
|
33
|
+
* `signed-out`, because the SDK verifies the returned access token holds every scope it was told
|
|
34
|
+
* to expect, and it had been handed all nine of {@link STANDALONE_ACCOUNT_SCOPES}.
|
|
35
|
+
*
|
|
36
|
+
* The provider's `downscope()` intersects the request with the client's registered
|
|
37
|
+
* `allowed_scopes` and silently drops the rest — a spec-correct OAuth behaviour, not a bug.
|
|
38
|
+
* `xeno-agent-interface` is registered as `AGENT_PRODUCT`:
|
|
39
|
+
*
|
|
40
|
+
* openid profile email ledger inference:run ledger:read ledger:spend
|
|
41
|
+
* projects:read projects:write sync:use agent-identity:use
|
|
42
|
+
*
|
|
43
|
+
* so the grant came back holding `openid profile email`, the SDK checked for nine, and threw
|
|
44
|
+
* `missing scope offline_access`. The native flow flattens every exchange failure into one
|
|
45
|
+
* sentence, so this read as "the authorization exchange failed" — pointing at the exchange, which
|
|
46
|
+
* had succeeded.
|
|
47
|
+
*
|
|
48
|
+
* ⚠️ **Four of the nine do not exist on the provider at all.** `offline_access`, `team:manage`,
|
|
49
|
+
* `workforce:read` and `workforce:manage` are absent from its `OIDC_SCOPES`; a repo-wide search of
|
|
50
|
+
* the platform server for `workforce` returns nothing. Asking for them could never have worked.
|
|
51
|
+
*
|
|
52
|
+
* Two of the absences are already answered elsewhere and need no scope:
|
|
53
|
+
* - `offline_access` — the provider issues a refresh token unconditionally on the code path and
|
|
54
|
+
* never reads this scope, so requesting it bought nothing.
|
|
55
|
+
* - `workforce:*` — gate LOCAL worker methods (`accountWorkerRuntime`), which read
|
|
56
|
+
* {@link STANDALONE_ACCOUNT_SCOPES}. That gate keeps working; it was never an issuer question.
|
|
57
|
+
*
|
|
58
|
+
* `team:*` and `collaboration:use` ARE real provider scopes, simply not on this client's row. When
|
|
59
|
+
* the platform adds them to `CLIENT_AUTHORITY['xeno-agent-interface']`, move them here in the same
|
|
60
|
+
* change and the calls that need them start working — asserting a scope the client cannot hold
|
|
61
|
+
* fails sign-in outright, so this list must never run ahead of the registration.
|
|
62
|
+
*/
|
|
63
|
+
export const STANDALONE_ACCOUNT_SIGN_IN_SCOPES = Object.freeze([
|
|
64
|
+
'openid', 'profile', 'email',
|
|
65
|
+
/**
|
|
66
|
+
* 🔴 What the GATEWAY requires to run a turn, and asking for it is the whole point of signing in.
|
|
67
|
+
*
|
|
68
|
+
* Without it the account authenticates and then cannot infer: measured 2026-09-14 against the
|
|
69
|
+
* live gateway, a turn returned `403 Missing required scope: inference:run` — after the OIDC
|
|
70
|
+
* path was enabled, so the token verified correctly and was refused on authority alone.
|
|
71
|
+
*
|
|
72
|
+
* ⚠️ It is safe here precisely because it is NOT ahead of the registration, which is the rule
|
|
73
|
+
* this list exists to keep: `oauth_clients.allowed_scopes` for `xeno-agent-interface` reads
|
|
74
|
+
* `{openid,profile,email,ledger,inference:run,ledger:read,ledger:spend,…}`. Verified against the
|
|
75
|
+
* platform database before adding it — asserting a scope the client cannot hold fails sign-in
|
|
76
|
+
* outright, which is how this list came to be separate from {@link STANDALONE_ACCOUNT_SCOPES}.
|
|
77
|
+
*
|
|
78
|
+
* The ledger scopes are deliberately NOT added: nothing in this host spends or reads credit
|
|
79
|
+
* directly yet, and a scope requested without a caller is authority nobody asked for.
|
|
80
|
+
*/
|
|
81
|
+
'inference:run',
|
|
4
82
|
]);
|
|
5
83
|
/** The production standalone/detached authority. All values are fixed source
|
|
6
84
|
* policy; no renderer field, ambient URL, token, or selected workspace can
|
|
@@ -9,9 +87,10 @@ export function canonicalStandaloneAccountWorkerConfiguration(options) {
|
|
|
9
87
|
const paths = resolveLocalAgentHostPaths(options);
|
|
10
88
|
return {
|
|
11
89
|
clientId: 'xeno-agent-interface',
|
|
12
|
-
issuer:
|
|
90
|
+
issuer: STANDALONE_ACCOUNT_ISSUER,
|
|
13
91
|
apiBase: 'https://api.xenostudio.ai',
|
|
14
92
|
scopes: [...STANDALONE_ACCOUNT_SCOPES],
|
|
93
|
+
signInScopes: [...STANDALONE_ACCOUNT_SIGN_IN_SCOPES],
|
|
15
94
|
protectedStateRoot: paths.stateRepositoryRoot,
|
|
16
95
|
persistencePolicy: 'require-protected',
|
|
17
96
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accountWorkerConfiguration.js","sourceRoot":"","sources":["../src/accountWorkerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6C,MAAM,uCAAuC,CAAA;AAE7H,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB;
|
|
1
|
+
{"version":3,"file":"accountWorkerConfiguration.js","sourceRoot":"","sources":["../src/accountWorkerConfiguration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAA6C,MAAM,uCAAuC,CAAA;AAE7H;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,uBAAgC,CAAA;AAEzE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IACrD,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB;IACrI,iGAAiG;IACjG,iGAAiG;IACjG,0FAA0F;IAC1F,eAAe;CAChB,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,SAAS,EAAE,OAAO;IAC5B;;;;;;;;;;;;;;;OAeG;IACH,eAAe;CAChB,CAAC,CAAA;AAEF;;oFAEoF;AACpF,MAAM,UAAU,6CAA6C,CAAC,OAG7D;IACC,MAAM,KAAK,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAA;IACjD,OAAO;QACL,QAAQ,EAAE,sBAAsB;QAChC,MAAM,EAAE,yBAAyB;QACjC,OAAO,EAAE,2BAA2B;QACpC,MAAM,EAAE,CAAC,GAAG,yBAAyB,CAAC;QACtC,YAAY,EAAE,CAAC,GAAG,iCAAiC,CAAC;QACpD,kBAAkB,EAAE,KAAK,CAAC,mBAAmB;QAC7C,iBAAiB,EAAE,mBAAmB;KACvC,CAAA;AACH,CAAC"}
|
package/dist/composeHost.d.ts
CHANGED
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
* needs its shell service and registry while another process owns the host —
|
|
51
51
|
* and only the coordinator waits for the election.
|
|
52
52
|
*/
|
|
53
|
-
import { AcpAgentRegistryService, AgentHostCoordinator, EngineeringWorkbenchService, RunObservationService, RuntimeEventStore, WorkspaceHostService, WorkspaceShellService, XenoUseRunObserver, type LocalAgentHostPaths } from '@xenosystem/agent-interface-host/node';
|
|
54
|
-
import { type DiscoverXenoCloudNodeRuntimeOptions } from '@xenosystem/agents-client/node';
|
|
53
|
+
import { AcpAgentRegistryService, AgentHostCoordinator, EngineeringWorkbenchService, RunObservationService, RuntimeEventStore, WorkspaceHostService, WorkspaceShellService, XenoUseRunObserver, createAcpRuntimeProviderDescriptors, type LocalAgentHostPaths } from '@xenosystem/agent-interface-host/node';
|
|
54
|
+
import { discoverXenoCloudNodeRuntime, type DiscoverXenoCloudNodeRuntimeOptions } from '@xenosystem/agents-client/node';
|
|
55
55
|
import { type OwnedBrowserHostConfiguration } from './browser/OwnedBrowserHostServices.js';
|
|
56
56
|
/**
|
|
57
57
|
* What a windowed surface can lend the host.
|
|
@@ -98,6 +98,8 @@ export interface ComposeAgentHostOptions {
|
|
|
98
98
|
accountWorkerConfiguration?: import('@xenosystem/agent-interface-host/node').StandaloneAccountWorkerConfiguration;
|
|
99
99
|
homeDirectory: string;
|
|
100
100
|
hostVersion: string;
|
|
101
|
+
hostBuildIdentity?: string;
|
|
102
|
+
maintenanceStop?: () => Promise<void>;
|
|
101
103
|
hostInstanceId: string;
|
|
102
104
|
/** Where a fixture agent script lives, when the fixture is enabled. */
|
|
103
105
|
fixtureBaseDirectory: string;
|
|
@@ -185,5 +187,7 @@ export declare function loadAgentHostProviders(registry: AcpAgentRegistryService
|
|
|
185
187
|
name: string;
|
|
186
188
|
contextWindowTokens?: number;
|
|
187
189
|
}>>;
|
|
190
|
+
cloudDiscovery?: Awaited<ReturnType<typeof discoverXenoCloudNodeRuntime>>;
|
|
191
|
+
acpProviders?: Awaited<ReturnType<typeof createAcpRuntimeProviderDescriptors>>;
|
|
188
192
|
}): Promise<import("@xenosystem/agent-interface-contract").AgentRuntimeProviderDescriptor[]>;
|
|
189
193
|
//# sourceMappingURL=composeHost.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeHost.d.ts","sourceRoot":"","sources":["../src/composeHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AASH,OAAO,EACL,uBAAuB,EAIvB,oBAAoB,EAKpB,2BAA2B,EAU3B,qBAAqB,EAErB,iBAAiB,EASjB,oBAAoB,EACpB,qBAAqB,EAErB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"composeHost.d.ts","sourceRoot":"","sources":["../src/composeHost.ts"],"names":[],"mappings":"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"}
|
package/dist/composeHost.js
CHANGED
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
import { XENO_AGENT_HOST_MIN_PROTOCOL_VERSION, XENO_AGENT_HOST_PROTOCOL_VERSION, } from '@xenosystem/agent-interface-contract';
|
|
54
54
|
import { createHash } from 'node:crypto';
|
|
55
55
|
import { join } from 'node:path';
|
|
56
|
-
import { AcpAgentRegistryService, AcpNativeProviderLauncherResolver, AcpAgentTurnExecutionAdapter, AcpInteractivePermissionBridge, AgentHostCoordinator, DirectoryBaselineScanner, DurableAcpPermissionPolicyStore, DurableInterruptedTurnStore, DurablePendingInjectionStore, EngineeringWorkbenchService, AuxiliaryInferenceService, LandingService, GitLandingAuthority, GitObservedRunArtifactSource, GitLandingRepositoryLease, MountContentReader, ProviderLaneService, RunExecutionEnvironment, RunObservationService, RunIsolationService, RuntimeEventStore, RuntimeEventStoreRepositoryAdapter, SdkNativeAgentTurnExecutionAdapter, SdkExecutionSettlementRegistry, SubagentScheduler, setSubagentScheduler, createHostTurnSubagentExecutionAdapter, getSubagentRunService, WorkspaceHostService, WorkspaceShellService, XenoCloudAgentTurnExecutionAdapter, XenoUseRunObserver, createAcpApprovalPortAdapter, createAcpAgentRegistryPort, createAcpNativeTuiLane, createAcpRuntimeProviderDescriptors, createAgentStateRepository, createDevelopmentCoordinationStore, createFixtureAcpAgentConfig, createSdkNativeRuntimeProviderDescriptor, createXenoCloudRuntimeProviderDescriptor, resolveLocalAgentHostPaths, toXenoCloudAgentModelDescriptors, } from '@xenosystem/agent-interface-host/node';
|
|
56
|
+
import { AcpAgentRegistryService, AcpNativeProviderLauncherResolver, AcpAgentTurnExecutionAdapter, AcpInteractivePermissionBridge, AgentHostCoordinator, DirectoryBaselineScanner, DurableAcpPermissionPolicyStore, DurableInterruptedTurnStore, DurablePendingInjectionStore, EngineeringWorkbenchService, AuxiliaryInferenceService, LandingService, GitLandingAuthority, GitObservedRunArtifactSource, GitLandingRepositoryLease, MountContentReader, ProviderLaneService, RunExecutionEnvironment, RunObservationService, RunIsolationService, RuntimeEventStore, RuntimeEventStoreRepositoryAdapter, SdkNativeAgentTurnExecutionAdapter, SdkExecutionSettlementRegistry, SubagentScheduler, setSubagentScheduler, createHostTurnSubagentExecutionAdapter, getSubagentRunService, WorkspaceHostService, WorkspaceShellService, XenoCloudAgentTurnExecutionAdapter, XenoUseRunObserver, createAcpApprovalPortAdapter, createAcpAgentRegistryPort, createAcpNativeTuiLane, createAcpRuntimeProviderDescriptors, createAgentStateRepository, createDevelopmentCoordinationStore, createFixtureAcpAgentConfig, createSdkNativeRuntimeProviderDescriptor, createXenoCloudRuntimeProviderDescriptor, MachineGrantRegistry, OwnedMachineCommandService, resolveLocalAgentHostPaths, resolveMachineTarget, toXenoCloudAgentModelDescriptors, } from '@xenosystem/agent-interface-host/node';
|
|
57
57
|
import { createXenoCloudNodeAgentsClient, discoverXenoCloudNodeRuntime, readXenoCloudCredentials, loadXenoCloudModelCatalog, } from '@xenosystem/agents-client/node';
|
|
58
58
|
/**
|
|
59
59
|
* 🔴 `@xenosystem/agent-interface-electron-host` is imported
|
|
@@ -113,7 +113,46 @@ export async function composeAgentHost(options) {
|
|
|
113
113
|
throw new Error(saved.error || 'Could not register the standalone ACP fixture.');
|
|
114
114
|
}
|
|
115
115
|
const runtimeStore = new RuntimeEventStore(paths.runtimeEventsDirectory);
|
|
116
|
-
|
|
116
|
+
/**
|
|
117
|
+
* The signed-in account's request authorizer, resolved LATE.
|
|
118
|
+
*
|
|
119
|
+
* The account port is opened inside the coordinator — after this point — but the cloud options
|
|
120
|
+
* are built here, so the authorizer is a hole that the coordinator fills once the port exists.
|
|
121
|
+
* The indirection is the point: the cloud lane asks at REQUEST time, so it follows sign-in and
|
|
122
|
+
* sign-out without anything having to rebuild the options.
|
|
123
|
+
*
|
|
124
|
+
* 🔴 This is what makes the cloud lane follow the account. Before it, the lane read a
|
|
125
|
+
* long-lived JWT from `~/.xeno/credentials.json` that Hub writes and nothing here refreshes —
|
|
126
|
+
* so when that expired, a signed-in person was told to sign in, and signing in did not help
|
|
127
|
+
* because the two credential paths never met.
|
|
128
|
+
*/
|
|
129
|
+
let accountAuthorizer;
|
|
130
|
+
/**
|
|
131
|
+
* The SDK's `authorizeRequest`, or `undefined` when this composition has no account at all.
|
|
132
|
+
*
|
|
133
|
+
* 🔴 The distinction is load-bearing and passing the wrong one BREAKS THE LANE. To the SDK an
|
|
134
|
+
* authorizer that resolves `null` means *"there is an account and it could not authorize this"*
|
|
135
|
+
* — a hard refusal that deliberately never falls back to `apiKey`, because those are different
|
|
136
|
+
* identities billing different ledgers. Absent means *"this host has no account credential"*,
|
|
137
|
+
* which is what makes the SDK use `apiKey`.
|
|
138
|
+
*
|
|
139
|
+
* A closure that answers `null` whenever nothing is bound collapses those two into the refusal,
|
|
140
|
+
* so a host running purely on an API key — the fixture surfaces, and every BYO-key user — lost
|
|
141
|
+
* the credential it was configured with and every turn failed with *"could not authorize"*.
|
|
142
|
+
* Measured: `smoke:apps` went green at 0.9.28 and red at 0.9.29 on an otherwise identical tree.
|
|
143
|
+
*
|
|
144
|
+
* ⚠️ It cannot be decided here. `accountAuthorizer` is late-bound, well after the runners are
|
|
145
|
+
* constructed, so a check at composition time would always read `undefined` and no host would
|
|
146
|
+
* ever authorize as its account. The binding is therefore read at CALL time, and the absence is
|
|
147
|
+
* reported by returning `undefined` from the getter rather than `null` from the authorizer.
|
|
148
|
+
*/
|
|
149
|
+
const sdkAccountAuthorizer = () => accountAuthorizer
|
|
150
|
+
? (target) => accountAuthorizer ? accountAuthorizer(target) : Promise.resolve(null)
|
|
151
|
+
: undefined;
|
|
152
|
+
const cloudOptions = {
|
|
153
|
+
...standaloneCloudOptions({ homeDirectory: options.homeDirectory, hostRoot, env }),
|
|
154
|
+
authorize: (target) => accountAuthorizer ? accountAuthorizer(target) : Promise.resolve(null),
|
|
155
|
+
};
|
|
117
156
|
const cloudClient = createXenoCloudNodeAgentsClient(cloudOptions);
|
|
118
157
|
const cloudRunClient = {
|
|
119
158
|
createRun: (input, runOptions) => cloudClient.createRun(input, runOptions),
|
|
@@ -513,9 +552,17 @@ export async function composeAgentHost(options) {
|
|
|
513
552
|
return { ...(credentials.apiKey ? { apiKey: credentials.apiKey } : {}), baseURL: cloudOptions.directApiBase || 'https://api.xenostudio.ai',
|
|
514
553
|
models: toXenoCloudAgentModelDescriptors(catalog.models) };
|
|
515
554
|
} });
|
|
555
|
+
const pendingCloudDiscovery = {
|
|
556
|
+
authenticated: false, directCredentialAvailable: false,
|
|
557
|
+
hostedStatus: { authenticated: false, ok: false, capabilities: [], safeUnavailableReason: 'Loading cloud service status…' },
|
|
558
|
+
modelCatalog: { models: [], error: 'Loading models…', attempts: [] },
|
|
559
|
+
};
|
|
560
|
+
let cloudDiscovery = pendingCloudDiscovery;
|
|
561
|
+
let cachedLocalModels = [];
|
|
516
562
|
const loadProviders = () => loadAgentHostProviders(registry, cloudOptions, {
|
|
517
563
|
sdkRunnable,
|
|
518
|
-
|
|
564
|
+
cloudDiscovery,
|
|
565
|
+
localModels: async () => { cachedLocalModels = await inferenceService.localModels(); return cachedLocalModels; },
|
|
519
566
|
// The store decides, not a literal — one object, so the declaration cannot drift from it.
|
|
520
567
|
durablePendingInjections: pendingInjectionStore.durable,
|
|
521
568
|
});
|
|
@@ -529,10 +576,8 @@ export async function composeAgentHost(options) {
|
|
|
529
576
|
// expensive; doing the full provider/model probe twice exceeded the IPC
|
|
530
577
|
// deadline and left the renderer showing a selected CLI with no bound lane.
|
|
531
578
|
let providers = await loadProviders();
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
return providers;
|
|
535
|
-
};
|
|
579
|
+
// Only the coordinator's generation-checked commit may replace the routing snapshot.
|
|
580
|
+
const refreshProviders = () => loadProviders();
|
|
536
581
|
// Typed as the shared interface, not inferred: inference from the initial two
|
|
537
582
|
// entries produces a union that the SDK adapter is not a member of, and the
|
|
538
583
|
// fix for that must not be a cast — the whole point is that every lane
|
|
@@ -580,6 +625,20 @@ export async function composeAgentHost(options) {
|
|
|
580
625
|
turnExecutionAdapters.splice(1, 0, new SdkNativeAgentTurnExecutionAdapter(createSdkNativeHeadlessRunner({
|
|
581
626
|
settlementRegistry: sdkSettlementRegistry,
|
|
582
627
|
getAuthToken: () => readXenoCloudCredentials(cloudOptions).apiKey || null,
|
|
628
|
+
// the signed-in account is the DEFAULT inference credential; the API key above is the
|
|
629
|
+
// bring-your-own override the SDK uses only when this is absent. A GETTER, because the
|
|
630
|
+
// runner reads this per run and the account binds after composition — see
|
|
631
|
+
// `sdkAccountAuthorizer`, where passing a null-resolving closure instead broke the lane.
|
|
632
|
+
get authorizeRequest() { return sdkAccountAuthorizer(); },
|
|
633
|
+
/**
|
|
634
|
+
* ⚠️ STILL the legacy credential file, deliberately, and it is the next thing to convert.
|
|
635
|
+
*
|
|
636
|
+
* The model CATALOG now authorizes as the signed-in account (see `accountAuthorizer`
|
|
637
|
+
* above). This runner cannot yet: its contract is `() => string | null`, one bearer for
|
|
638
|
+
* any request, and a DPoP credential is bound to a single method and URL — so the shape
|
|
639
|
+
* has to change before the credential can. Until then an SDK-native turn still depends on
|
|
640
|
+
* `~/.xeno/credentials.json`, which Hub writes and nothing here refreshes.
|
|
641
|
+
*/
|
|
583
642
|
getPlatformAuthToken: () => readXenoCloudCredentials(cloudOptions).webToken || null,
|
|
584
643
|
runtimeEventStore: runtimeStore,
|
|
585
644
|
executionEnvironment: runExecutionEnvironment,
|
|
@@ -607,6 +666,11 @@ export async function composeAgentHost(options) {
|
|
|
607
666
|
const sdkRunner = createSdkNativeElectronRunner({
|
|
608
667
|
settlementRegistry: sdkSettlementRegistry,
|
|
609
668
|
getAuthToken: () => readXenoCloudCredentials(cloudOptions).apiKey || null,
|
|
669
|
+
// the signed-in account is the DEFAULT inference credential; the API key above is the
|
|
670
|
+
// bring-your-own override the SDK uses only when this is absent. A GETTER, because the
|
|
671
|
+
// runner reads this per run and the account binds after composition — see
|
|
672
|
+
// `sdkAccountAuthorizer`, where passing a null-resolving closure instead broke the lane.
|
|
673
|
+
get authorizeRequest() { return sdkAccountAuthorizer(); },
|
|
610
674
|
getPlatformAuthToken: () => readXenoCloudCredentials(cloudOptions).webToken || null,
|
|
611
675
|
createRuntimeWindow: options.surface.createSdkRuntimeWindow,
|
|
612
676
|
runtimeEventStore: runtimeStore,
|
|
@@ -698,6 +762,34 @@ export async function composeAgentHost(options) {
|
|
|
698
762
|
}
|
|
699
763
|
pendingHostSubscribers.clear();
|
|
700
764
|
};
|
|
765
|
+
/**
|
|
766
|
+
* Say WHICH adapter failed a turn, for an operator debugging their own machine.
|
|
767
|
+
*
|
|
768
|
+
* 🔴 `turn.execution.failed` carries a deliberately generic sentence — "The selected runtime
|
|
769
|
+
* adapter failed to execute the turn." — because the event is persisted and rendered, and a raw
|
|
770
|
+
* adapter error can hold a provider payload, a path or a token. That is correct. The cost is
|
|
771
|
+
* that a failed turn leaves NOTHING to diagnose from: measured 2026-09-14, a turn failed in 0s
|
|
772
|
+
* and the rendered sentence was the only trace it had happened at all.
|
|
773
|
+
*
|
|
774
|
+
* ⚠️ It reads the EVENT, never the error. The host cannot log this itself — `packages/host` is
|
|
775
|
+
* environment-free by architecture (`check-architecture.mjs` refuses `process.env` there, and
|
|
776
|
+
* refused the first version of this diagnostic), and that rule is what keeps the host mountable
|
|
777
|
+
* in any surface. The composition is the layer that legitimately knows about env, so the
|
|
778
|
+
* conversation, request and adapter id are surfaced here and the error itself stays inside the
|
|
779
|
+
* host. Enough to say WHICH adapter and WHICH turn, which is what a bug report needs.
|
|
780
|
+
*/
|
|
781
|
+
if (env.XENO_AGENT_DEBUG_TURN_ERRORS === '1') {
|
|
782
|
+
subscribeToHost(event => {
|
|
783
|
+
const value = event;
|
|
784
|
+
if (!value || value.type !== 'turn.execution.failed')
|
|
785
|
+
return;
|
|
786
|
+
const payload = value.payload ?? {};
|
|
787
|
+
console.warn('[xeno-agent-host] turn failed:', JSON.stringify({
|
|
788
|
+
adapterId: payload.adapterId, conversationId: payload.conversationId, requestId: payload.requestId,
|
|
789
|
+
safeError: payload.safeError,
|
|
790
|
+
}));
|
|
791
|
+
});
|
|
792
|
+
}
|
|
701
793
|
let subagentHandshake;
|
|
702
794
|
const ensureSubagentHandshake = async () => {
|
|
703
795
|
if (subagentHandshake)
|
|
@@ -863,6 +955,13 @@ export async function composeAgentHost(options) {
|
|
|
863
955
|
? await createStandaloneAccountWorkerPort(options.accountWorkerConfiguration)
|
|
864
956
|
: await createCanonicalAccountPort(options.accountConfiguration);
|
|
865
957
|
ownedAccount = account;
|
|
958
|
+
// fill the hole opened above: from here the cloud lane authorizes as the signed-in account
|
|
959
|
+
const authorizingAccount = account;
|
|
960
|
+
accountAuthorizer = authorizingAccount?.authorizeRequest
|
|
961
|
+
? target => authorizingAccount.authorizeRequest(target)
|
|
962
|
+
: undefined;
|
|
963
|
+
// the catalog is re-probed after the coordinator exists — see `providers.refresh` below,
|
|
964
|
+
// which is the only path that publishes a new revision to attached clients
|
|
866
965
|
}
|
|
867
966
|
catch (error) {
|
|
868
967
|
if (error instanceof AccountWorkerCleanupError) {
|
|
@@ -873,9 +972,43 @@ export async function composeAgentHost(options) {
|
|
|
873
972
|
// No token, remote payload, raw provider error, or private path is reflected.
|
|
874
973
|
// Never retry through another credential or in-process fallback.
|
|
875
974
|
account = undefined;
|
|
975
|
+
/**
|
|
976
|
+
* ⚠️ Opt-in only, and to the console rather than the reason string.
|
|
977
|
+
*
|
|
978
|
+
* The refusal above is deliberately opaque — it must not reflect a token, a remote payload
|
|
979
|
+
* or a private path — and that is correct. The cost is that a composition which cannot
|
|
980
|
+
* start its account runtime says only "repair that configuration", which on 2026-09-14 left
|
|
981
|
+
* an `unconfigured` state with no way to tell a missing keystore from a bad scope list.
|
|
982
|
+
*
|
|
983
|
+
* `XENO_AGENT_DEBUG_ACCOUNT=1` prints the error class and message for an operator debugging
|
|
984
|
+
* their own machine. It stays out of the reason string, which is rendered and persisted.
|
|
985
|
+
*/
|
|
986
|
+
if (process.env.XENO_AGENT_DEBUG_ACCOUNT === '1') {
|
|
987
|
+
console.warn('[xeno-agent-host] account runtime failed to start:', error instanceof Error ? `${error.name}: ${error.message}` : String(error));
|
|
988
|
+
}
|
|
876
989
|
unavailableReason = 'The configured standalone account runtime could not establish its required SDK, protected storage, or process contract. Repair that configuration before signing in.';
|
|
877
990
|
}
|
|
878
|
-
|
|
991
|
+
/**
|
|
992
|
+
* 🔴 Re-probe the provider catalog when the ACCOUNT changes, not only when the host composes.
|
|
993
|
+
*
|
|
994
|
+
* The startup re-probe below handles "the account existed before the catalog did". This
|
|
995
|
+
* handles the other order, which is what a real person does: launch signed-out, then sign in.
|
|
996
|
+
* Without it the catalog keeps the answer it computed with no credential — measured
|
|
997
|
+
* 2026-09-14, a successful sign-in left `Sign in to XENO to use cloud models` and zero cloud
|
|
998
|
+
* models on both the `xeno-cloud` and `sdk-native` lanes, permanently, while the credential
|
|
999
|
+
* itself was valid: the platform catalog answered 200 to a DPoP-signed request from that very
|
|
1000
|
+
* session, and one manual `providers.refresh` produced 11 models.
|
|
1001
|
+
*
|
|
1002
|
+
* Through `providers.refresh` on the coordinator, never `refreshProviders()` directly — only
|
|
1003
|
+
* the coordinator's path republishes a catalog revision to attached clients, so calling the
|
|
1004
|
+
* loader alone would update a list nobody reads. Fire-and-forget: an identity read must not
|
|
1005
|
+
* block on a network probe, and a failed refresh leaves the previous answer standing.
|
|
1006
|
+
*/
|
|
1007
|
+
const accountService = new AccountWorkspaceService({ repository: stateRepository, accountRequired: !!(options.accountWorkerConfiguration || options.accountConfiguration), ...(account ? { account } : {}), ...(options.surface.workspaceKeySurface ? { keySurface: options.surface.workspaceKeySurface } : {}), unavailableReason,
|
|
1008
|
+
onAccountIdentityChanged: () => { cloudDiscovery = pendingCloudDiscovery; coordinator?.invalidateCloudCatalog(true); },
|
|
1009
|
+
onAccountLifecycleChanged: pending => { cloudDiscovery = pendingCloudDiscovery; coordinator?.invalidateCloudCatalog(!pending); },
|
|
1010
|
+
onAccountScopeChanged: pending => { cloudDiscovery = pendingCloudDiscovery; coordinator?.invalidateCloudCatalog(!pending, false); },
|
|
1011
|
+
});
|
|
879
1012
|
ownedAccountService = accountService;
|
|
880
1013
|
const workforceService = new AccountWorkforceService({ repository: stateRepository, accountContext: () => accountService.getWorkforceContext() });
|
|
881
1014
|
ownedWorkforceService = workforceService;
|
|
@@ -912,14 +1045,78 @@ export async function composeAgentHost(options) {
|
|
|
912
1045
|
throw Error('Authenticated Browser principal is unavailable'); return identity.id; },
|
|
913
1046
|
consent: browserConsent, });
|
|
914
1047
|
}
|
|
1048
|
+
// grants live as long as the host does; revoking one must outlast the call that made it
|
|
1049
|
+
const machineGrants = new MachineGrantRegistry();
|
|
915
1050
|
coordinator = new AgentHostCoordinator({
|
|
916
1051
|
hostVersion: options.hostVersion,
|
|
917
1052
|
hostInstanceId: options.hostInstanceId,
|
|
1053
|
+
...(options.hostBuildIdentity ? { hostBuildIdentity: options.hostBuildIdentity } : {}),
|
|
1054
|
+
...(options.maintenanceStop ? { maintenance: {
|
|
1055
|
+
blockers: async () => {
|
|
1056
|
+
const status = subagentScheduler.status();
|
|
1057
|
+
const out = [];
|
|
1058
|
+
if (status.pendingRunIds.length)
|
|
1059
|
+
out.push(`subagent-runs-pending:${status.pendingRunIds.length}`);
|
|
1060
|
+
if (status.runningRunIds.length)
|
|
1061
|
+
out.push(`subagent-runs-running:${status.runningRunIds.length}`);
|
|
1062
|
+
if (sdkSettlementRegistry.retainedOwnerCount)
|
|
1063
|
+
out.push(`sdk-execution-owners:${sdkSettlementRegistry.retainedOwnerCount}`);
|
|
1064
|
+
if (workspaceAuthority.activeResourceCount)
|
|
1065
|
+
out.push(`workspace-resources:${workspaceAuthority.activeResourceCount}`);
|
|
1066
|
+
return out;
|
|
1067
|
+
},
|
|
1068
|
+
stop: options.maintenanceStop,
|
|
1069
|
+
} } : {}),
|
|
918
1070
|
processBoundary: 'per-user-service',
|
|
919
1071
|
storageSchemaVersion: 2,
|
|
920
1072
|
eventSchemaVersion: 1,
|
|
921
1073
|
providers,
|
|
922
1074
|
providerCatalogLoader: refreshProviders,
|
|
1075
|
+
cloudCatalogRecovery: {
|
|
1076
|
+
load: async (signal) => {
|
|
1077
|
+
const accountStatus = await accountService.request({ action: 'status' });
|
|
1078
|
+
if (signal.aborted)
|
|
1079
|
+
return { ok: false, failure: { code: 'cancelled', retryable: false } };
|
|
1080
|
+
if ((options.accountConfiguration || options.accountWorkerConfiguration) && !accountStatus.success)
|
|
1081
|
+
return { ok: false, failure: { code: 'network', retryable: true } };
|
|
1082
|
+
const discovered = await discoverXenoCloudNodeRuntime({ ...cloudOptions, signal });
|
|
1083
|
+
if (accountStatus.success && accountStatus.status?.state === 'signed-in')
|
|
1084
|
+
discovered.authenticated = true;
|
|
1085
|
+
if (signal.aborted)
|
|
1086
|
+
return { ok: false, failure: { code: 'cancelled', retryable: false } };
|
|
1087
|
+
if (discovered.modelCatalog.failure)
|
|
1088
|
+
return { ok: false, failure: discovered.modelCatalog.failure };
|
|
1089
|
+
cloudDiscovery = discovered;
|
|
1090
|
+
const cloudProviders = await loadAgentHostProviders(registry, cloudOptions, {
|
|
1091
|
+
sdkRunnable, cloudDiscovery: discovered, acpProviders: [],
|
|
1092
|
+
durablePendingInjections: pendingInjectionStore.durable,
|
|
1093
|
+
});
|
|
1094
|
+
if (discovered.hostedStatus.failure?.retryable)
|
|
1095
|
+
return { ok: false, failure: discovered.hostedStatus.failure, data: cloudProviders, ...(discovered.modelCatalog.source ? { source: discovered.modelCatalog.source } : {}) };
|
|
1096
|
+
return { ok: true, data: cloudProviders, source: discovered.modelCatalog.source };
|
|
1097
|
+
},
|
|
1098
|
+
project: (snapshot, current) => {
|
|
1099
|
+
if (!snapshot.data)
|
|
1100
|
+
cloudDiscovery = pendingCloudDiscovery;
|
|
1101
|
+
const reason = snapshot.state.state === 'loading' ? 'Loading models…'
|
|
1102
|
+
: snapshot.state.failure?.code === 'auth-required' ? 'Sign in to XENO to use cloud models.'
|
|
1103
|
+
: snapshot.state.failure?.code === 'forbidden' ? 'Your account is not permitted to access this model catalog.'
|
|
1104
|
+
: snapshot.state.failure?.retryable ? 'Cannot load models. Retrying automatically.' : 'The cloud model catalog is unavailable.';
|
|
1105
|
+
const cloudProviders = snapshot.data ?? current.filter(provider => provider.id === 'sdk-native' || provider.id === 'xeno-cloud').map(provider => {
|
|
1106
|
+
const { defaultModelId: _default, ...rest } = provider;
|
|
1107
|
+
return { ...rest, models: [], availability: 'blocked', safeUnavailableReason: reason };
|
|
1108
|
+
});
|
|
1109
|
+
return current.filter(provider => provider.id !== 'sdk-native' && provider.id !== 'xeno-cloud').concat(cloudProviders.map(provider => {
|
|
1110
|
+
const locals = provider.id === 'sdk-native' ? cachedLocalModels.map(model => ({ id: model.id, displayName: model.name, availability: 'available', ...(model.contextWindowTokens ? { contextWindowTokens: model.contextWindowTokens } : {}) })) : [];
|
|
1111
|
+
const models = [...provider.models, ...locals.filter(local => !provider.models.some(model => model.id === local.id))];
|
|
1112
|
+
return { ...provider, models, catalogState: snapshot.state,
|
|
1113
|
+
...(locals.length && sdkRunnable && provider.availability === 'blocked' ? { availability: 'degraded' } : {}),
|
|
1114
|
+
...(snapshot.state.state === 'stale' && provider.availability === 'available' ? { availability: 'degraded', safeUnavailableReason: 'Showing the last known model list while refreshing.' } : {}),
|
|
1115
|
+
};
|
|
1116
|
+
}));
|
|
1117
|
+
},
|
|
1118
|
+
onCommitted: next => { providers = next; },
|
|
1119
|
+
},
|
|
923
1120
|
runtimeEventRepository,
|
|
924
1121
|
/**
|
|
925
1122
|
* ADE §2.8's `native-tui` lane, finally reachable.
|
|
@@ -939,6 +1136,26 @@ export async function composeAgentHost(options) {
|
|
|
939
1136
|
acpAgentRegistry: createAcpAgentRegistryPort(registry),
|
|
940
1137
|
stateRepository,
|
|
941
1138
|
...(ownedBrowser ? { browserService: ownedBrowser.commandService, browserSessionService: ownedBrowser.sessionService, browserSessionOwner: ownedBrowser.owner } : {}),
|
|
1139
|
+
/**
|
|
1140
|
+
* Machine use (D11), and note what it is NOT given: no endpoint, no credential, no device.
|
|
1141
|
+
* The service resolves all three itself, per call, from the host's one resolver — so a
|
|
1142
|
+
* daemon that starts after the app did is reachable without a restart, and a daemon that
|
|
1143
|
+
* stops takes Machine mode with it instead of leaving a stale handle that fails oddly.
|
|
1144
|
+
*
|
|
1145
|
+
* Composed unconditionally. An unconfigured host is not a host without the service; it is a
|
|
1146
|
+
* host whose service answers `unavailable` WITH THE REASON, which is what the Machine
|
|
1147
|
+
* segment's tooltip needs in order to say why it is off.
|
|
1148
|
+
*/
|
|
1149
|
+
machineService: new OwnedMachineCommandService({
|
|
1150
|
+
resolveScope: async (request) => {
|
|
1151
|
+
if (disposed || !coordinator)
|
|
1152
|
+
throw Error('Machine use is unavailable');
|
|
1153
|
+
coordinator.assertClientIdentity(request.client);
|
|
1154
|
+
return { conversationId: request.conversationId, clientInstanceId: request.client.instanceId };
|
|
1155
|
+
},
|
|
1156
|
+
resolveEndpoint: async () => (await resolveMachineTarget(env)).endpoint,
|
|
1157
|
+
registry: machineGrants,
|
|
1158
|
+
}),
|
|
942
1159
|
backupService,
|
|
943
1160
|
accountService,
|
|
944
1161
|
workforceService,
|
|
@@ -993,6 +1210,24 @@ export async function composeAgentHost(options) {
|
|
|
993
1210
|
// be attached first so recovered runs cannot finish before their listener exists.
|
|
994
1211
|
subagentScheduler.start();
|
|
995
1212
|
notificationService.start();
|
|
1213
|
+
/**
|
|
1214
|
+
* 🔴 Re-probe the provider catalog, because the FIRST probe ran before the account existed.
|
|
1215
|
+
*
|
|
1216
|
+
* `loadProviders()` runs eagerly during composition, while the account port opens here in the
|
|
1217
|
+
* coordinator. So the cloud model catalog's first call finds no authorizer, refuses, and the
|
|
1218
|
+
* descriptors keep "Sign in to XENO to use cloud models" — which is exactly what a SIGNED-IN
|
|
1219
|
+
* person was shown. Binding the authorizer alone fixed nothing because nothing asked again:
|
|
1220
|
+
* a probe printed `no accountAuthorizer bound` at the one call site that mattered.
|
|
1221
|
+
*
|
|
1222
|
+
* It goes through `providers.refresh` rather than `refreshProviders()` directly: only the
|
|
1223
|
+
* coordinator's own path republishes a catalog revision to attached clients, so calling the
|
|
1224
|
+
* loader by itself would update a local list nobody reads.
|
|
1225
|
+
*
|
|
1226
|
+
* Deliberately not awaited — composition must not block on a network probe — and deliberately
|
|
1227
|
+
* conditional: with no authorizer there is nothing new to learn, and a refresh that cannot
|
|
1228
|
+
* change the answer is just a second failing request.
|
|
1229
|
+
*/
|
|
1230
|
+
coordinator.startCloudCatalogRecovery();
|
|
996
1231
|
return coordinator;
|
|
997
1232
|
};
|
|
998
1233
|
const createCoordinator = () => {
|
|
@@ -1079,24 +1314,38 @@ export async function composeAgentHost(options) {
|
|
|
1079
1314
|
*/
|
|
1080
1315
|
export async function loadAgentHostProviders(registry, cloudOptions, options) {
|
|
1081
1316
|
const [acpProviders, cloudDiscovery, localModels] = await Promise.all([
|
|
1082
|
-
createAcpRuntimeProviderDescriptors(registry),
|
|
1083
|
-
discoverXenoCloudNodeRuntime(cloudOptions),
|
|
1317
|
+
options.acpProviders ?? createAcpRuntimeProviderDescriptors(registry),
|
|
1318
|
+
options.cloudDiscovery ?? discoverXenoCloudNodeRuntime(cloudOptions),
|
|
1084
1319
|
options.localModels?.().catch(() => []) ?? Promise.resolve([]),
|
|
1085
1320
|
]);
|
|
1086
1321
|
const hostedStatus = cloudDiscovery.hostedStatus;
|
|
1087
1322
|
const models = toXenoCloudAgentModelDescriptors(cloudDiscovery.modelCatalog.models);
|
|
1323
|
+
/**
|
|
1324
|
+
* A signed-in ACCOUNT is a cloud credential, exactly like an API key.
|
|
1325
|
+
*
|
|
1326
|
+
* 🔴 Until this, `directCredentialAvailable` — literally `Boolean(credentials.apiKey)` — was the
|
|
1327
|
+
* only thing that counted, so a person signed into XENO with no API key was told the lane
|
|
1328
|
+
* "requires the host-managed direct credential" and every cloud model was marked unavailable.
|
|
1329
|
+
* The gateway would have accepted their account: it verifies OIDC access tokens and requires
|
|
1330
|
+
* DPoP for them. The lane simply had no way to express that credential, which is what
|
|
1331
|
+
* `authorizeRequest` now fixes.
|
|
1332
|
+
*
|
|
1333
|
+
* The API key remains the bring-your-own path. Either one makes the lane runnable; neither is
|
|
1334
|
+
* required when a local model can serve the turn.
|
|
1335
|
+
*/
|
|
1336
|
+
const cloudCredentialAvailable = cloudDiscovery.directCredentialAvailable || cloudDiscovery.authenticated;
|
|
1088
1337
|
const sdkUnavailableReason = sdkUnavailableReasonFor({
|
|
1089
1338
|
sdkRunnable: options.sdkRunnable,
|
|
1090
|
-
directCredentialAvailable:
|
|
1339
|
+
directCredentialAvailable: cloudCredentialAvailable,
|
|
1091
1340
|
modelCatalogError: cloudDiscovery.modelCatalog.error,
|
|
1092
1341
|
});
|
|
1093
1342
|
const sdkProvider = createSdkNativeRuntimeProviderDescriptor({
|
|
1094
|
-
models: [...models.map(model =>
|
|
1095
|
-
...model, availability: 'unavailable', safeUnavailableReason: '
|
|
1343
|
+
models: [...models.map(model => cloudCredentialAvailable ? model : {
|
|
1344
|
+
...model, availability: 'unavailable', safeUnavailableReason: 'Sign in to XENO, or configure an API key, to run cloud models here.'
|
|
1096
1345
|
}),
|
|
1097
1346
|
...localModels.map(model => ({ id: model.id, displayName: model.name, availability: 'available',
|
|
1098
1347
|
...(model.contextWindowTokens ? { contextWindowTokens: model.contextWindowTokens } : {}) }))],
|
|
1099
|
-
runnable: options.sdkRunnable && (
|
|
1348
|
+
runnable: options.sdkRunnable && (cloudCredentialAvailable || localModels.length > 0),
|
|
1100
1349
|
// So the `context.inject` capability a client reads describes the store this host actually
|
|
1101
1350
|
// composed, rather than a sentence written when only one store existed.
|
|
1102
1351
|
durablePendingInjections: options.durablePendingInjections === true,
|
|
@@ -1104,7 +1353,7 @@ export async function loadAgentHostProviders(registry, cloudOptions, options) {
|
|
|
1104
1353
|
});
|
|
1105
1354
|
const safeUnavailableReason = hostedStatus.safeUnavailableReason || cloudDiscovery.modelCatalog.error;
|
|
1106
1355
|
const cloudProvider = createXenoCloudRuntimeProviderDescriptor({
|
|
1107
|
-
authenticated: hostedStatus.authenticated && hostedStatus.ok,
|
|
1356
|
+
authenticated: cloudDiscovery.authenticated && hostedStatus.authenticated !== false && hostedStatus.ok,
|
|
1108
1357
|
controlCapabilities: hostedStatus.capabilities,
|
|
1109
1358
|
models,
|
|
1110
1359
|
...(safeUnavailableReason ? { safeUnavailableReason } : {}),
|
package/dist/composeHost.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composeHost.js","sourceRoot":"","sources":["../src/composeHost.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"composeHost.js","sourceRoot":"","sources":["../src/composeHost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detachedHostEntry.d.ts","sourceRoot":"","sources":["../src/detachedHostEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;
|
|
1
|
+
{"version":3,"file":"detachedHostEntry.d.ts","sourceRoot":"","sources":["../src/detachedHostEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAgBH,UAAU,WAAW;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;CAC7B;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAwBvF;AAED,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,MAAM,CAAC,CAkFjB"}
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
*/
|
|
40
40
|
import { resolveLocalAgentHostPaths, runDetachedAgentHost, } from '@xenosystem/agent-interface-host/node';
|
|
41
41
|
import { canonicalStandaloneAccountWorkerConfiguration } from './accountWorkerConfiguration.js';
|
|
42
|
+
import { hostBuildIdentity } from './hostBuildIdentity.js';
|
|
42
43
|
import { realpathSync } from 'node:fs';
|
|
43
44
|
import { fileURLToPath } from 'node:url';
|
|
44
45
|
import { composeAgentHost } from './composeHost.js';
|
|
@@ -74,6 +75,7 @@ export async function runDetachedHostEntry(env, write) {
|
|
|
74
75
|
return 1;
|
|
75
76
|
}
|
|
76
77
|
let composition;
|
|
78
|
+
let stopHost;
|
|
77
79
|
try {
|
|
78
80
|
// The authority needs its root BEFORE it can elect an owner, and the
|
|
79
81
|
// composition resolves the same paths from the same inputs. Resolving twice
|
|
@@ -91,7 +93,8 @@ export async function runDetachedHostEntry(env, write) {
|
|
|
91
93
|
// leave a fully built host — with its SQLite handle open — belonging to a
|
|
92
94
|
// process that is about to refuse to run.
|
|
93
95
|
createHostTransport: async () => {
|
|
94
|
-
composition = await composeAgentHost({ ...config, surface: {}, env,
|
|
96
|
+
composition = await composeAgentHost({ ...config, ...(isDirectInvocation() ? { hostBuildIdentity: hostBuildIdentity(fileURLToPath(import.meta.url)) } : {}), surface: {}, env, maintenanceStop: async () => { if (!stopHost)
|
|
97
|
+
throw new Error('Host shutdown is not ready'); await composition?.dispose(); await stopHost(); }, accountWorkerConfiguration: canonicalStandaloneAccountWorkerConfiguration({
|
|
95
98
|
homeDirectory: config.homeDirectory,
|
|
96
99
|
...(env.XENO_AGENT_HOST_ROOT ? { hostRootDirectory: env.XENO_AGENT_HOST_ROOT } : {}),
|
|
97
100
|
}) });
|
|
@@ -118,6 +121,7 @@ export async function runDetachedHostEntry(env, write) {
|
|
|
118
121
|
write(JSON.stringify({ type: 'xeno-agent-detached-host-stopped', reason }));
|
|
119
122
|
},
|
|
120
123
|
});
|
|
124
|
+
stopHost = () => handle.stop();
|
|
121
125
|
const reason = await handle.stopped;
|
|
122
126
|
// 🔴 Dispose AFTER the lease is released, and always.
|
|
123
127
|
//
|
|
@@ -152,6 +156,8 @@ export async function runDetachedHostEntry(env, write) {
|
|
|
152
156
|
* strings for the same file. `realpath` both, and treat an unresolvable path as
|
|
153
157
|
* "not the entry" rather than guessing.
|
|
154
158
|
*/
|
|
159
|
+
/** How long a stopped host may keep its loop alive before it is treated as leaked. */
|
|
160
|
+
const LINGER_GRACE_MS = 5_000;
|
|
155
161
|
function isDirectInvocation() {
|
|
156
162
|
const invoked = process.argv[1];
|
|
157
163
|
if (!invoked)
|
|
@@ -184,6 +190,19 @@ if (isDirectInvocation()) {
|
|
|
184
190
|
// pending stdout write on a pipe, and the last line is the one a
|
|
185
191
|
// supervisor is reading.
|
|
186
192
|
process.exitCode = code;
|
|
193
|
+
// The lease is released and the composition disposed, so nothing of value
|
|
194
|
+
// remains — but a handle that was never unref'd keeps the loop alive, and a
|
|
195
|
+
// former authority that lingers is a leaked process the supervisor cannot
|
|
196
|
+
// distinguish from a live one (measured 2026-09-16: released lease, process
|
|
197
|
+
// still up after 12 s). Name the culprit, then leave. The timer is unref'd so
|
|
198
|
+
// a loop that drains on its own exits normally without it.
|
|
199
|
+
const grace = setTimeout(() => {
|
|
200
|
+
const resources = typeof process.getActiveResourcesInfo === 'function' ? process.getActiveResourcesInfo() : [];
|
|
201
|
+
process.stderr.write(`xeno-agent-detached-host: forcing exit after stop; live handles: ${resources.join(', ') || 'unknown'}
|
|
202
|
+
`);
|
|
203
|
+
process.exit(code);
|
|
204
|
+
}, LINGER_GRACE_MS);
|
|
205
|
+
grace.unref();
|
|
187
206
|
});
|
|
188
207
|
}
|
|
189
208
|
//# sourceMappingURL=detachedHostEntry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detachedHostEntry.js","sourceRoot":"","sources":["../src/detachedHostEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,6CAA6C,EAAE,MAAM,iCAAiC,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,gBAAgB,EAA6B,MAAM,kBAAkB,CAAA;AAE9E,8EAA8E;AAC9E,MAAM,KAAK,GAAG,gCAAgC,CAAA;AAS9C,MAAM,UAAU,eAAe,CAAC,GAAsB;IACpD,MAAM,aAAa,GAAG,GAAG,CAAC,wBAAwB,CAAA;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,2BAA2B,CAAA;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,4BAA4B,CAAA;IAEvD,6EAA6E;IAC7E,uEAAuE;IACvE,MAAM,OAAO,GAAG;QACd,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAA0B;QACjD,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,6BAA6B;QAClD,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B;KACvD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IACjD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,KAAK,EAAE,iCAAiC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC7F,CAAC;IAED,OAAO;QACL,aAAa,EAAE,aAAc;QAC7B,WAAW,EAAE,WAAY;QACzB,cAAc,EAAE,cAAe;QAC/B,qEAAqE;QACrE,oEAAoE;QACpE,oBAAoB,EAAE,GAAG,CAAC,gCAAgC,IAAI,aAAc;KAC7E,CAAA;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAsB,EACtB,KAA6B;IAE7B,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACnC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QACxF,OAAO,CAAC,CAAA;IACV,CAAC;IAED,IAAI,WAA6C,CAAA;
|
|
1
|
+
{"version":3,"file":"detachedHostEntry.js","sourceRoot":"","sources":["../src/detachedHostEntry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostBuildIdentity.d.ts","sourceRoot":"","sources":["../src/hostBuildIdentity.ts"],"names":[],"mappings":"AAIA,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAgB3D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { lstatSync, readFileSync, readdirSync } from 'node:fs';
|
|
3
|
+
import { dirname, join, relative } from 'node:path';
|
|
4
|
+
/** Fingerprint the emitted host graph, not a version label or a signing identity. */
|
|
5
|
+
export function hostBuildIdentity(entryPath) {
|
|
6
|
+
const root = dirname(entryPath);
|
|
7
|
+
const hash = createHash('sha256');
|
|
8
|
+
function add(path) {
|
|
9
|
+
const stat = lstatSync(path);
|
|
10
|
+
if (stat.isSymbolicLink())
|
|
11
|
+
throw new Error('Host build identity refuses linked artifacts');
|
|
12
|
+
if (stat.isDirectory()) {
|
|
13
|
+
for (const name of readdirSync(path).sort())
|
|
14
|
+
add(join(path, name));
|
|
15
|
+
}
|
|
16
|
+
else if (stat.isFile() && /\.(?:js|cjs|mjs|json)$/.test(path)) {
|
|
17
|
+
hash.update(relative(root, path).replace(/\\/g, '/'));
|
|
18
|
+
hash.update('\0');
|
|
19
|
+
hash.update(readFileSync(path));
|
|
20
|
+
hash.update('\0');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// Main entries and shared emitted chunks together describe the built host runtime.
|
|
24
|
+
add(root);
|
|
25
|
+
return hash.digest('hex');
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=hostBuildIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostBuildIdentity.js","sourceRoot":"","sources":["../src/hostBuildIdentity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEnD,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACjC,SAAS,GAAG,CAAC,IAAY;QACvB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QAC1F,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QACpE,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACxE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IACD,mFAAmF;IACnF,GAAG,CAAC,IAAI,CAAC,CAAA;IACT,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
|
package/dist/hostLanePolicy.d.ts
CHANGED
|
@@ -36,7 +36,19 @@ export declare const SDK_NEEDS_SOMEONE_TO_ASK = "This host cannot resolve a perm
|
|
|
36
36
|
/** @deprecated Use {@link SDK_NEEDS_SOMEONE_TO_ASK}. Kept so a stale import fails loudly at the
|
|
37
37
|
* type level rather than silently reporting the wrong reason. */
|
|
38
38
|
export declare const SDK_NEEDS_A_WINDOW = "This host cannot resolve a permission or ask-user prompt \u2014 it can neither present one to a person nor refuse it \u2014 so an SDK-native turn that asked would wait forever. Run the app in-process, or compose a host that routes elicitations.";
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* ⚠️ The sentence changed 2026-09-13, because the old one named the wrong remedy.
|
|
41
|
+
*
|
|
42
|
+
* It read *"requires the host-managed direct credential"*, which was true only while an API key
|
|
43
|
+
* was the sole credential the lane could express — so a person signed into XENO was told to go
|
|
44
|
+
* find a key, when their account was already sufficient at the gateway and the lane simply could
|
|
45
|
+
* not carry it. Now either works, and the sentence says so.
|
|
46
|
+
*
|
|
47
|
+
* The second half is unchanged and still load-bearing: there IS a text-only relay, and using it
|
|
48
|
+
* would silently downgrade an engineering turn — one that expects tools and file access — into a
|
|
49
|
+
* plain completion. A quiet downgrade that looks like success is worse than an honest refusal.
|
|
50
|
+
*/
|
|
51
|
+
export declare const SDK_NEEDS_A_CREDENTIAL = "SDK-native engineering execution needs a XENO credential: sign in to your account, or configure an API key. The text-only relay is intentionally not used as a fallback.";
|
|
40
52
|
/**
|
|
41
53
|
* Why the SDK-native lane is unavailable, when it is.
|
|
42
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostLanePolicy.d.ts","sourceRoot":"","sources":["../src/hostLanePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,yPACsM,CAAA;AAE9O,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,yPAA8B,CAAA;AAEnE;kEACkE;AAClE,eAAO,MAAM,kBAAkB,yPAA2B,CAAA;AAE1D,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"hostLanePolicy.d.ts","sourceRoot":"","sources":["../src/hostLanePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,yPACsM,CAAA;AAE9O,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,yPAA8B,CAAA;AAEnE;kEACkE;AAClE,eAAO,MAAM,kBAAkB,yPAA2B,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,6KACyI,CAAA;AAE5K;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB,yBAAyB,EAAE,OAAO,CAAA;IAClC;wEACoE;IACpE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAC9C,GAAG,MAAM,GAAG,SAAS,CAIrB;AAED;;;;;;;;GAQG;AACH;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,2BAA2B,IAAI,OAAO,CAAA;IACtC,iCAAiC,IAAI;QAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAAE,CAAA;CACvG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAOT;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,SAAS,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;;;;;;OAgBG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAG1C"}
|
package/dist/hostLanePolicy.js
CHANGED
|
@@ -36,7 +36,19 @@ export const SDK_NEEDS_SOMEONE_TO_ASK = SDK_NEEDS_ELICITATION_ROUTE;
|
|
|
36
36
|
/** @deprecated Use {@link SDK_NEEDS_SOMEONE_TO_ASK}. Kept so a stale import fails loudly at the
|
|
37
37
|
* type level rather than silently reporting the wrong reason. */
|
|
38
38
|
export const SDK_NEEDS_A_WINDOW = SDK_NEEDS_SOMEONE_TO_ASK;
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* ⚠️ The sentence changed 2026-09-13, because the old one named the wrong remedy.
|
|
41
|
+
*
|
|
42
|
+
* It read *"requires the host-managed direct credential"*, which was true only while an API key
|
|
43
|
+
* was the sole credential the lane could express — so a person signed into XENO was told to go
|
|
44
|
+
* find a key, when their account was already sufficient at the gateway and the lane simply could
|
|
45
|
+
* not carry it. Now either works, and the sentence says so.
|
|
46
|
+
*
|
|
47
|
+
* The second half is unchanged and still load-bearing: there IS a text-only relay, and using it
|
|
48
|
+
* would silently downgrade an engineering turn — one that expects tools and file access — into a
|
|
49
|
+
* plain completion. A quiet downgrade that looks like success is worse than an honest refusal.
|
|
50
|
+
*/
|
|
51
|
+
export const SDK_NEEDS_A_CREDENTIAL = 'SDK-native engineering execution needs a XENO credential: sign in to your account, or configure an API key. The text-only relay is intentionally not used as a fallback.';
|
|
40
52
|
/**
|
|
41
53
|
* Why the SDK-native lane is unavailable, when it is.
|
|
42
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostLanePolicy.js","sourceRoot":"","sources":["../src/hostLanePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,4OAA4O,CAAA;AAE9O,2DAA2D;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAA;AAEnE;kEACkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,sBAAsB,GACjC,
|
|
1
|
+
{"version":3,"file":"hostLanePolicy.js","sourceRoot":"","sources":["../src/hostLanePolicy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,4OAA4O,CAAA;AAE9O,2DAA2D;AAC3D,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAA;AAEnE;kEACkE;AAClE,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,sBAAsB,GACjC,0KAA0K,CAAA;AAE5K;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAWvC;IACC,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,OAAO,wBAAwB,CAAA;IACvD,IAAI,CAAC,KAAK,CAAC,yBAAyB;QAAE,OAAO,sBAAsB,CAAA;IACnE,OAAO,KAAK,CAAC,iBAAiB,IAAI,SAAS,CAAA;AAC7C,CAAC;AAqBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAqC,EACrC,OAAe,EACf,OAAgC;IAEhC,8FAA8F;IAC9F,wEAAwE;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,IAAI,CAAC,MAAM,CAAC,2BAA2B,EAAE;QAAE,OAAO,KAAK,CAAA;IACvD,MAAM,CAAC,iCAAiC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IACjE,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAoBxC;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,SAAS,CAAA;IACtE,OAAO,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC,CAAA;AACxF,CAAC"}
|
|
@@ -11,6 +11,11 @@ export interface EnsureSharedAgentHostOptions {
|
|
|
11
11
|
readyTimeoutMs?: number;
|
|
12
12
|
attachAttempts?: number;
|
|
13
13
|
attachRetryDelayMs?: number;
|
|
14
|
+
prepareOwnedClients?: (otherClientIds: string[]) => Promise<boolean>;
|
|
15
|
+
/** Receives why a handoff was refused (safe labels from the host). */
|
|
16
|
+
onHandoffRefused?: (reason: string, blockers?: string[]) => void;
|
|
17
|
+
/** Receives the launched host's output for the launcher's log. */
|
|
18
|
+
onHostOutput?: (chunk: string) => void;
|
|
14
19
|
/** Test seam. Production callers leave this absent. */
|
|
15
20
|
attachFn?: typeof attachToLocalAgentHost;
|
|
16
21
|
/** Test seam. Production callers leave this absent. */
|
|
@@ -20,12 +25,10 @@ export interface SharedAgentHostAttachment {
|
|
|
20
25
|
session: LocalAgentHostAuthoritySession;
|
|
21
26
|
/** True only when this launcher won the race to start the canonical host. */
|
|
22
27
|
launched: boolean;
|
|
28
|
+
buildStatus?: 'matched' | 'different' | 'unverified';
|
|
23
29
|
/** Present for the launcher that started the host; ordinary surface disposal leaves it alive. */
|
|
24
30
|
supervisor?: DetachedHostSupervisorHandle;
|
|
25
31
|
}
|
|
26
|
-
|
|
27
|
-
* Attach to the one per-user Agent host, starting the canonical detached runtime when absent.
|
|
28
|
-
* Two products may race here: the lease chooses one host and every loser joins that winner.
|
|
29
|
-
*/
|
|
32
|
+
export declare function retireIdleHost(session: LocalAgentHostAuthoritySession, options: EnsureSharedAgentHostOptions): Promise<boolean>;
|
|
30
33
|
export declare function ensureSharedAgentHost(options: EnsureSharedAgentHostOptions): Promise<SharedAgentHostAttachment>;
|
|
31
34
|
//# sourceMappingURL=hostSupervisorAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostSupervisorAdapter.d.ts","sourceRoot":"","sources":["../src/hostSupervisorAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hostSupervisorAdapter.d.ts","sourceRoot":"","sources":["../src/hostSupervisorAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAGtB,KAAK,8BAA8B,EACpC,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,qBAAqB,EACrB,KAAK,4BAA4B,EAElC,MAAM,uCAAuC,CAAA;AAE9C,MAAM,WAAW,4BAA4B;IAC3C,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACpE,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAChE,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,sBAAsB,CAAA;IACxC,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,qBAAqB,CAAA;CAC3C;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,8BAA8B,CAAA;IACvC,6EAA6E;IAC7E,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,YAAY,CAAA;IACpD,iGAAiG;IACjG,UAAU,CAAC,EAAE,4BAA4B,CAAA;CAC1C;AAkBD,wBAAsB,cAAc,CAAC,OAAO,EAAE,8BAA8B,EAAE,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC,CAkCrI;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,yBAAyB,CAAC,CA8FpC"}
|
|
@@ -1,9 +1,71 @@
|
|
|
1
|
+
import { hostBuildIdentity } from './hostBuildIdentity.js';
|
|
1
2
|
import { attachToLocalAgentHost, DEFAULT_LEASE_STALE_AFTER_MS, resolveLocalAgentHostRoot, } from '@xenosystem/agent-interface-client/local';
|
|
2
3
|
import { superviseDetachedHost, } from '@xenosystem/agent-interface-host/node';
|
|
3
4
|
/**
|
|
4
5
|
* Attach to the one per-user Agent host, starting the canonical detached runtime when absent.
|
|
5
6
|
* Two products may race here: the lease chooses one host and every loser joins that winner.
|
|
6
7
|
*/
|
|
8
|
+
async function inspectAttachedBuild(session, options) {
|
|
9
|
+
try {
|
|
10
|
+
const expected = hostBuildIdentity(options.entryPath);
|
|
11
|
+
const result = await session.transport.request('host.handshake', {
|
|
12
|
+
identity: { clientId: 'xeno-agent-host-build-check', clientVersion: options.hostVersion, instanceId: `${options.launcherInstanceId}-build-check`, surface: 'headless-client' },
|
|
13
|
+
supportedProtocol: { min: 1, max: 1 },
|
|
14
|
+
});
|
|
15
|
+
if (!result.host.buildIdentity)
|
|
16
|
+
return 'unverified';
|
|
17
|
+
return result.host.buildIdentity === expected ? 'matched' : 'different';
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return 'unverified';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export async function retireIdleHost(session, options) {
|
|
24
|
+
const client = { clientId: 'xeno-agent-host-build-check', clientVersion: options.hostVersion, instanceId: `${options.launcherInstanceId}-build-check`, surface: 'headless-client' };
|
|
25
|
+
try {
|
|
26
|
+
const handshake = await session.transport.request('host.handshake', { identity: client, supportedProtocol: { min: 1, max: 1 } });
|
|
27
|
+
if (handshake.host.maintenanceVersion !== 1 || !handshake.host.buildIdentity)
|
|
28
|
+
return false;
|
|
29
|
+
const base = { client, expectedInstanceId: handshake.host.instanceId, expectedBuildIdentity: handshake.host.buildIdentity };
|
|
30
|
+
const prepared = await session.transport.request('host.maintenance', { ...base, action: 'prepare' });
|
|
31
|
+
if (!prepared.success || prepared.state !== 'prepared' || !prepared.generation) {
|
|
32
|
+
options.onHandoffRefused?.(`prepare:${prepared.state}`, prepared.blockers);
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (!Array.isArray(prepared.otherClientIds) || (prepared.otherClientIds.length > 0 && !await options.prepareOwnedClients?.(prepared.otherClientIds))) {
|
|
36
|
+
await session.transport.request('host.maintenance', { ...base, action: 'cancel', generation: prepared.generation });
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const committed = await session.transport.request('host.maintenance', { ...base, action: 'commit', generation: prepared.generation });
|
|
40
|
+
if (!committed.success || committed.state !== 'committed') {
|
|
41
|
+
options.onHandoffRefused?.(`commit:${committed.state}`, committed.blockers);
|
|
42
|
+
await session.transport.request('host.maintenance', { ...base, action: 'cancel', generation: prepared.generation }).catch(() => undefined);
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
// A commit is not proof of released authority. Wait on the same ownership record.
|
|
46
|
+
const rootDirectory = resolveLocalAgentHostRoot({ homeDirectory: options.homeDirectory, ...(options.hostRootDirectory ? { hostRootDirectory: options.hostRootDirectory } : {}) });
|
|
47
|
+
const deadline = Date.now() + 20_000;
|
|
48
|
+
while (Date.now() < deadline) {
|
|
49
|
+
const probe = await attachToLocalAgentHost({ rootDirectory });
|
|
50
|
+
if (!probe.attached) {
|
|
51
|
+
if (probe.reason === 'no-host' || probe.reason === 'host-gone')
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const changed = probe.session.descriptor.instanceId !== handshake.host.instanceId;
|
|
56
|
+
await probe.session.close();
|
|
57
|
+
if (changed)
|
|
58
|
+
return false; // Another host won; do not replace files underneath its live process.
|
|
59
|
+
}
|
|
60
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
61
|
+
}
|
|
62
|
+
throw new Error('The previous host has not confirmed release of its authority.');
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
options.onHandoffRefused?.(error instanceof Error ? error.message : String(error));
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
7
69
|
export async function ensureSharedAgentHost(options) {
|
|
8
70
|
const attach = options.attachFn ?? attachToLocalAgentHost;
|
|
9
71
|
const supervise = options.superviseFn ?? superviseDetachedHost;
|
|
@@ -12,8 +74,12 @@ export async function ensureSharedAgentHost(options) {
|
|
|
12
74
|
...(options.hostRootDirectory ? { hostRootDirectory: options.hostRootDirectory } : {}),
|
|
13
75
|
});
|
|
14
76
|
const existing = await attach({ rootDirectory });
|
|
15
|
-
if (existing.attached)
|
|
16
|
-
|
|
77
|
+
if (existing.attached) {
|
|
78
|
+
const buildStatus = await inspectAttachedBuild(existing.session, options);
|
|
79
|
+
if (buildStatus !== 'different' || !await retireIdleHost(existing.session, options))
|
|
80
|
+
return { session: existing.session, launched: false, buildStatus };
|
|
81
|
+
await existing.session.close();
|
|
82
|
+
}
|
|
17
83
|
let supervisor;
|
|
18
84
|
let launchError;
|
|
19
85
|
try {
|
|
@@ -28,6 +94,7 @@ export async function ensureSharedAgentHost(options) {
|
|
|
28
94
|
...(options.hostRootDirectory ? { XENO_AGENT_HOST_ROOT: options.hostRootDirectory } : {}),
|
|
29
95
|
},
|
|
30
96
|
...(options.readyTimeoutMs === undefined ? {} : { readyTimeoutMs: options.readyTimeoutMs }),
|
|
97
|
+
...(options.onHostOutput ? { onOutput: options.onHostOutput } : {}),
|
|
31
98
|
};
|
|
32
99
|
supervisor = await supervise(launchOptions);
|
|
33
100
|
}
|
|
@@ -43,12 +110,13 @@ export async function ensureSharedAgentHost(options) {
|
|
|
43
110
|
const attempts = Math.max(1, options.attachAttempts
|
|
44
111
|
?? Math.ceil((DEFAULT_LEASE_STALE_AFTER_MS + 5_000) / Math.max(1, retryDelay)));
|
|
45
112
|
let recoveryLaunchAttempted = false;
|
|
46
|
-
let detail = existing.detail;
|
|
113
|
+
let detail = existing.attached ? 'Waiting for the previous host to release authority' : existing.detail;
|
|
47
114
|
for (let attempt = 0; attempt < attempts; attempt += 1) {
|
|
48
115
|
const result = await attach({ rootDirectory });
|
|
49
116
|
if (result.attached) {
|
|
50
117
|
return {
|
|
51
118
|
session: result.session,
|
|
119
|
+
buildStatus: await inspectAttachedBuild(result.session, options),
|
|
52
120
|
launched: supervisor !== undefined,
|
|
53
121
|
...(supervisor ? { supervisor } : {}),
|
|
54
122
|
};
|
|
@@ -70,6 +138,7 @@ export async function ensureSharedAgentHost(options) {
|
|
|
70
138
|
...(options.hostRootDirectory ? { XENO_AGENT_HOST_ROOT: options.hostRootDirectory } : {}),
|
|
71
139
|
},
|
|
72
140
|
...(options.readyTimeoutMs === undefined ? {} : { readyTimeoutMs: options.readyTimeoutMs }),
|
|
141
|
+
...(options.onHostOutput ? { onOutput: options.onHostOutput } : {}),
|
|
73
142
|
});
|
|
74
143
|
launchError = undefined;
|
|
75
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hostSupervisorAdapter.js","sourceRoot":"","sources":["../src/hostSupervisorAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,GAE1B,MAAM,0CAA0C,CAAA;AACjD,OAAO,EACL,qBAAqB,GAGtB,MAAM,uCAAuC,CAAA;
|
|
1
|
+
{"version":3,"file":"hostSupervisorAdapter.js","sourceRoot":"","sources":["../src/hostSupervisorAdapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xenosystem/agent-interface-runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.37",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Canonical XENO Agent host composition and launchable detached runtime.",
|
|
6
6
|
"type": "module",
|
|
@@ -33,14 +33,14 @@
|
|
|
33
33
|
"directory": "packages/runtime"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@xenosystem/acp-agent": "0.2.
|
|
37
|
-
"@xenosystem/agent-sdk": "0.9.
|
|
36
|
+
"@xenosystem/acp-agent": "0.2.17",
|
|
37
|
+
"@xenosystem/agent-sdk": "0.9.29",
|
|
38
38
|
"zod": "4.4.3",
|
|
39
|
-
"@xenosystem/agent-interface-client": "0.1.
|
|
40
|
-
"@xenosystem/agent-interface-
|
|
41
|
-
"@xenosystem/agent-interface-
|
|
42
|
-
"@xenosystem/agents-client": "0.1.
|
|
43
|
-
"@xenosystem/agent-interface-host": "0.1.
|
|
39
|
+
"@xenosystem/agent-interface-client": "0.1.37",
|
|
40
|
+
"@xenosystem/agent-interface-contract": "0.1.37",
|
|
41
|
+
"@xenosystem/agent-interface-electron-host": "0.1.37",
|
|
42
|
+
"@xenosystem/agents-client": "0.1.37",
|
|
43
|
+
"@xenosystem/agent-interface-host": "0.1.37"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {}
|
|
46
46
|
}
|