@uxnan/shared 0.0.16-alpha.20260919 → 0.0.18-alpha.20260926
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/README.md +6 -3
- package/agent-locations.json +82 -0
- package/dist/src/agents/agent-adapter.d.ts +16 -1
- package/dist/src/agents/agent-capabilities.d.ts +19 -4
- package/dist/src/agents/agent-locations.d.ts +61 -0
- package/dist/src/agents/agent-locations.js +124 -0
- package/dist/src/agents/agent-locations.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/jsonrpc/method-registry.d.ts +1 -1
- package/dist/src/jsonrpc/method-registry.js +13 -0
- package/dist/src/jsonrpc/method-registry.js.map +1 -1
- package/dist/src/jsonrpc/methods.d.ts +81 -23
- package/dist/src/jsonrpc/notifications.d.ts +136 -35
- package/dist/src/jsonrpc/notifications.js +30 -7
- package/dist/src/jsonrpc/notifications.js.map +1 -1
- package/dist/src/local-control/local-control.d.ts +149 -0
- package/dist/src/local-control/local-control.js +82 -0
- package/dist/src/local-control/local-control.js.map +1 -0
- package/dist/src/models/project.d.ts +40 -1
- package/dist/src/models/project.js +5 -0
- package/dist/src/models/project.js.map +1 -1
- package/dist/src/models/session.d.ts +90 -2
- package/dist/src/models/session.js +0 -5
- package/dist/src/models/session.js.map +1 -1
- package/dist/src/models/sync.d.ts +88 -0
- package/dist/src/models/sync.js +2 -0
- package/dist/src/models/sync.js.map +1 -0
- package/dist/src/models/thread.d.ts +31 -13
- package/dist/src/models/tool.d.ts +68 -0
- package/dist/src/models/tool.js +11 -0
- package/dist/src/models/tool.js.map +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|

|
|
4
4
|

|
|
5
5
|

|
|
6
|
-

|
|
7
7
|
|
|
8
8
|
Shared JSON-RPC and E2EE contracts for the [Uxnan](../README.md) ecosystem — the
|
|
9
9
|
single source of truth every component agrees on. Consumed as a local workspace
|
|
@@ -13,7 +13,7 @@ equivalents (see
|
|
|
13
13
|
[`architecture/02b-contracts-and-requirements.md`](../architecture/02b-contracts-and-requirements.md)
|
|
14
14
|
§1 for the canonical contract list).
|
|
15
15
|
|
|
16
|
-
> **Status:** implemented and stable — **
|
|
16
|
+
> **Status:** implemented and stable — **81 JSON-RPC methods** + **21 streaming
|
|
17
17
|
> notifications**, kept lock-step at build time with the `METHOD_NAMES` array and
|
|
18
18
|
> the `StreamNotification` enum (a compile-time assertion in
|
|
19
19
|
> `src/jsonrpc/method-registry.ts` fails the build on any drift). Changes are
|
|
@@ -50,7 +50,10 @@ flowchart TB
|
|
|
50
50
|
| Area | Exports |
|
|
51
51
|
|---|---|
|
|
52
52
|
| JSON-RPC | envelope types + constructors (`makeRequest`, `makeNotification`, `makeResponse`, `makeErrorResponse`), error codes (`JsonRpcErrorCode` + Uxnan-specific `-32000..-32009`), `RpcError`, typed method registry (`JsonRpcMethodRegistry` + `METHOD_NAMES`), `isKnownMethod` |
|
|
53
|
-
| Streaming | `StreamNotification` enum + param types (`TurnStartedParams`, `MessageDeltaParams`, `ThinkingDeltaParams`, `ContentBlockParams`, `TurnCompletedParams`, `TurnUsage`, `TurnErrorParams`, `TurnAbortedParams`, `ModelResolvedParams`) |
|
|
53
|
+
| Streaming | `StreamNotification` enum + param types (`TurnStartedParams`, `MessageDeltaParams`, `ThinkingDeltaParams`, `ContentBlockParams`, `TurnCompletedParams`, `TurnUsage`, `TurnErrorParams`, `TurnAbortedParams`, `ModelResolvedParams`, and the multi-client set: `ThreadUpdatedParams`, `ThreadDeletedParams`, `TurnCreatedParams`, `ApprovalResolvedParams`, `QuestionResolvedParams`) |
|
|
54
|
+
| Local control | the loopback channel Uxnan Desktop uses on the bridge's machine: `LOCAL_CONTROL_FILE` / `LOCAL_CONTROL_PATH`, `LocalControlDiscovery`, the `LocalControlFrame` union (`hello` + `message`), `isValidLocalClientId`, `localReceiverId` (architecture/02a §5.8.15) |
|
|
55
|
+
| Replica sync | `sync/changes` (`SyncChanges`: revisioned threads, projects, settings, deletions, presence), `BridgeSettings { home }`, `ClientPresence`, `Project` registry fields, `Turn.seq`, `Thread.origin` (`src/models/sync.ts`, architecture/02a §5.8.17) |
|
|
56
|
+
| Agent locations | `agent-locations.json` (package root) + `locateAgent` / `agentLocation`: where every agent CLI installs — the one table the bridge and Uxnan Desktop resolve from |
|
|
54
57
|
| E2EE | handshake messages (`clientHello` / `serverHello` / `clientAuth` / `ready`), `buildHandshakeTranscript`, `SecureEnvelope`, `PairingPayload` v2 (`relay` optional + `hosts: string[]`) with `Base64(utf8(JSON))` QR encoding |
|
|
55
58
|
| Models | thread / turn / message (with `MessageContent` polymorphic blocks), durable `CompactionContentBlock` and `AssistantResponseBoundaryBlock`, git, workspace (incl. `browseDirs` + `exists`), project, auth, session/trust (`BridgeStatus` incl. `latestVersion?`/`updateAvailable?`), bridge-owned profile metrics (complete-ledger export/import), approval, question (interactive multiple-choice) |
|
|
56
59
|
| Agents | `IAgentAdapter` (with `respondApproval`, `listModels`, `nativeSessionId`, `SendTurnOptions { threadId, turnId, text, service?, effort?, options?, attachments?, cwd?, accessMode? }`), `AgentModel` (incl. `version?`, `isDefault?`, `options?`, `contextWindow?`, `isLatestAlias?`), `AgentCapabilities` (incl. `images`, `approvals`, `reportsContextUsage`, `reportsCompaction`), `AgentDescriptor.deprecated`, `AgentConfig` (cwd, agentId, model, plus optional `binaryPath`/`extraArgs`) |
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "Where each coding-agent CLI Uxnan drives is installed — the ONE table the bridge (shared/src/agents/agent-locations.ts) and Uxnan Desktop (uxnandesktop/src-tauri/src/agentcli.rs, include_str!) both resolve from, so the phone, the desktop's chat and its terminals agree on what is installed. Tokens: '~' = the user's home, '%APPDATA%' / '%LOCALAPPDATA%' / '%PROGRAMFILES%' = those Windows folders, '$NODE_PREFIX' = the install prefix of the node running the resolver (covers nvm, fnm, volta, Homebrew and any custom npm prefix: global packages live under it). Resolution order per agent: native candidates, then the npm entry under each npm root (run as 'node <entry>'), then the command on PATH (POSIX; on Windows only a real executable counts). architecture/02a §5.8.17.",
|
|
3
|
+
"npmRoots": {
|
|
4
|
+
"posix": [
|
|
5
|
+
"$NODE_PREFIX/lib/node_modules",
|
|
6
|
+
"/usr/local/lib/node_modules",
|
|
7
|
+
"/opt/homebrew/lib/node_modules",
|
|
8
|
+
"~/.npm-global/lib/node_modules"
|
|
9
|
+
],
|
|
10
|
+
"win32": ["$NODE_PREFIX/node_modules", "%APPDATA%/npm/node_modules"]
|
|
11
|
+
},
|
|
12
|
+
"pathDirs": {
|
|
13
|
+
"posix": [
|
|
14
|
+
"/opt/homebrew/bin",
|
|
15
|
+
"/opt/homebrew/sbin",
|
|
16
|
+
"/usr/local/bin",
|
|
17
|
+
"/usr/local/sbin",
|
|
18
|
+
"~/.local/bin",
|
|
19
|
+
"~/.npm-global/bin",
|
|
20
|
+
"~/.cargo/bin",
|
|
21
|
+
"~/.bun/bin",
|
|
22
|
+
"~/.deno/bin",
|
|
23
|
+
"~/.grok/bin"
|
|
24
|
+
],
|
|
25
|
+
"win32": []
|
|
26
|
+
},
|
|
27
|
+
"agents": [
|
|
28
|
+
{
|
|
29
|
+
"bridgeId": "claude-code",
|
|
30
|
+
"desktopId": "claude",
|
|
31
|
+
"command": "claude",
|
|
32
|
+
"native": { "posix": ["~/.local/bin/claude"], "win32": ["~/.local/bin/claude.exe"] },
|
|
33
|
+
"npmEntry": "@anthropic-ai/claude-code/cli.js"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"bridgeId": "codex",
|
|
37
|
+
"desktopId": "codex",
|
|
38
|
+
"command": "codex",
|
|
39
|
+
"npmEntry": "@openai/codex/bin/codex.js"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"bridgeId": "opencode",
|
|
43
|
+
"desktopId": "opencode",
|
|
44
|
+
"command": "opencode",
|
|
45
|
+
"native": {
|
|
46
|
+
"posix": [],
|
|
47
|
+
"win32": [
|
|
48
|
+
"%APPDATA%/npm/node_modules/opencode-ai/bin/opencode.exe",
|
|
49
|
+
"%PROGRAMFILES%/opencode/opencode.exe",
|
|
50
|
+
"%LOCALAPPDATA%/opencode/opencode.exe"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"bridgeId": "pi-agent",
|
|
56
|
+
"desktopId": "pi",
|
|
57
|
+
"command": "pi",
|
|
58
|
+
"npmEntry": "@earendil-works/pi-coding-agent/dist/cli.js"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"bridgeId": "antigravity-cli",
|
|
62
|
+
"desktopId": "agy",
|
|
63
|
+
"command": "agy",
|
|
64
|
+
"native": {
|
|
65
|
+
"posix": ["~/.local/bin/agy", "~/agy/bin/agy", "/usr/local/bin/agy", "/opt/homebrew/bin/agy"],
|
|
66
|
+
"win32": ["%LOCALAPPDATA%/agy/bin/agy.exe"]
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"bridgeId": "grok",
|
|
71
|
+
"desktopId": "grok",
|
|
72
|
+
"command": "grok",
|
|
73
|
+
"native": { "posix": ["~/.grok/bin/grok"], "win32": ["~/.grok/bin/grok.exe"] }
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"bridgeId": "zero",
|
|
77
|
+
"desktopId": "zero",
|
|
78
|
+
"command": "zero",
|
|
79
|
+
"npmEntry": "@gitlawb/zero/bin/zero.js"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
@@ -61,6 +61,20 @@ export interface SendTurnOptions {
|
|
|
61
61
|
* per-command handling. Absent for an ordinary text turn.
|
|
62
62
|
*/
|
|
63
63
|
command?: AgentCommandInvocation;
|
|
64
|
+
/**
|
|
65
|
+
* Uxnan Desktop's tools, when the desktop attached them (`desktop/attach`):
|
|
66
|
+
* its MCP endpoint and the bearer token for bridge-run agents. An adapter that
|
|
67
|
+
* can register an MCP server for one run does so under
|
|
68
|
+
* {@link DESKTOP_MCP_SERVER_NAME}, passing the token only through the
|
|
69
|
+
* environment and the conversation's `cwd` in {@link DESKTOP_CWD_HEADER}.
|
|
70
|
+
* Absent when no desktop is attached.
|
|
71
|
+
*/
|
|
72
|
+
desktopTools?: DesktopTools;
|
|
73
|
+
}
|
|
74
|
+
/** What `desktop/attach` gave the bridge (see {@link SendTurnOptions.desktopTools}). */
|
|
75
|
+
export interface DesktopTools {
|
|
76
|
+
mcpUrl: string;
|
|
77
|
+
token: string;
|
|
64
78
|
}
|
|
65
79
|
/** Input for {@link IAgentAdapter.generateTitle}. */
|
|
66
80
|
export interface GenerateTitleOptions {
|
|
@@ -110,7 +124,8 @@ export interface IAgentAdapter {
|
|
|
110
124
|
* `activeTurnId` is the bridge turn currently in flight on the thread, so the
|
|
111
125
|
* adapter can address the right run (and refuse if it has already moved on).
|
|
112
126
|
* `turnId` is the queued turn the text came from — it does NOT start a run of
|
|
113
|
-
* its own
|
|
127
|
+
* its own: the bridge makes it the turn that carries the rest of this run,
|
|
128
|
+
* and keeps naming the run by `activeTurnId` in every call to the adapter.
|
|
114
129
|
*
|
|
115
130
|
* Returns **true only when the agent actually took the message**. Return
|
|
116
131
|
* `false` (don't throw) for an ordinary "too late / not applicable" — the
|
|
@@ -56,7 +56,8 @@ export interface AgentCapabilities {
|
|
|
56
56
|
* making it wait for the next one — what a CLI does when you type while it
|
|
57
57
|
* works and it picks the message up at the next tool boundary. The bridge
|
|
58
58
|
* hands such a turn straight to the adapter (`IAgentAdapter.steerTurn`)
|
|
59
|
-
* rather than holding it
|
|
59
|
+
* rather than holding it; the turn that was answering ends there and the new
|
|
60
|
+
* one carries the rest of the agent's run (architecture/02a §5.8.13).
|
|
60
61
|
*
|
|
61
62
|
* Optional; absent/false means the agent has no input channel mid-turn (a
|
|
62
63
|
* one-shot CLI, or a protocol that serializes prompts per session), and its
|
|
@@ -83,6 +84,18 @@ export interface AgentDescriptor {
|
|
|
83
84
|
/** Default model the bridge will use when the phone does not pick one. */
|
|
84
85
|
defaultModel?: string;
|
|
85
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* How the bridge found — or failed to find — one agent's CLI, so a client can
|
|
89
|
+
* say *why* an installed agent shows as unavailable instead of guessing.
|
|
90
|
+
*/
|
|
91
|
+
export interface AgentDiagnosis {
|
|
92
|
+
agentId: AgentId;
|
|
93
|
+
available: boolean;
|
|
94
|
+
/** The command the bridge runs for it (the executable, then any fixed args). */
|
|
95
|
+
command?: string[];
|
|
96
|
+
/** Every location checked, in order (files, and `PATH:<dir>` for PATH entries). */
|
|
97
|
+
checked: string[];
|
|
98
|
+
}
|
|
86
99
|
/** One selectable value of an {@link AgentModelOption} of kind `enum`. */
|
|
87
100
|
export interface AgentModelOptionValue {
|
|
88
101
|
/** Value sent back in `turn/send` `options` when chosen. */
|
|
@@ -185,10 +198,12 @@ export interface AgentCommand {
|
|
|
185
198
|
argumentHint?: string;
|
|
186
199
|
/**
|
|
187
200
|
* Where the command comes from: `acp` (advertised by an ACP agent),
|
|
188
|
-
* `builtin` (
|
|
189
|
-
* user-defined prompt
|
|
201
|
+
* `builtin` (one of the CLI's own commands, reachable headless), `custom` (a
|
|
202
|
+
* user-defined command or prompt template), or `skill` (an agent skill the
|
|
203
|
+
* CLI invokes by name). A client may group by it; an unknown value is to be
|
|
204
|
+
* shown as `custom`.
|
|
190
205
|
*/
|
|
191
|
-
source: 'acp' | 'builtin' | 'custom';
|
|
206
|
+
source: 'acp' | 'builtin' | 'custom' | 'skill';
|
|
192
207
|
/**
|
|
193
208
|
* Whether the command actually runs in the agent's headless/programmatic mode.
|
|
194
209
|
* Absent/true means yes; `false` marks a command that only works in the CLI's
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface AgentLocation {
|
|
2
|
+
/** The bridge's `AgentId`. */
|
|
3
|
+
bridgeId: string;
|
|
4
|
+
/** Uxnan Desktop's backend id (`agentcli::SUPPORTED`). */
|
|
5
|
+
desktopId: string;
|
|
6
|
+
/** The launcher name on PATH. */
|
|
7
|
+
command: string;
|
|
8
|
+
/** Native executables, checked first, by platform family. */
|
|
9
|
+
native?: {
|
|
10
|
+
posix: string[];
|
|
11
|
+
win32: string[];
|
|
12
|
+
};
|
|
13
|
+
/** The npm package's JS entry, relative to an npm root (run as `node <entry>`). */
|
|
14
|
+
npmEntry?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentLocationTable {
|
|
17
|
+
npmRoots: {
|
|
18
|
+
posix: string[];
|
|
19
|
+
win32: string[];
|
|
20
|
+
};
|
|
21
|
+
/** Folders a login PATH normally has that a service's PATH lacks. */
|
|
22
|
+
pathDirs: {
|
|
23
|
+
posix: string[];
|
|
24
|
+
win32: string[];
|
|
25
|
+
};
|
|
26
|
+
agents: AgentLocation[];
|
|
27
|
+
}
|
|
28
|
+
/** The shared table (read once from `agent-locations.json`). */
|
|
29
|
+
export declare function agentLocationTable(): AgentLocationTable;
|
|
30
|
+
/** The table entry for a bridge agent id, if Uxnan knows where it installs. */
|
|
31
|
+
export declare function agentLocation(bridgeId: string): AgentLocation | undefined;
|
|
32
|
+
export interface LocateEnvironment {
|
|
33
|
+
platform: NodeJS.Platform;
|
|
34
|
+
env: NodeJS.ProcessEnv;
|
|
35
|
+
home: string;
|
|
36
|
+
/** The node executable that would run an npm entry. */
|
|
37
|
+
nodePath: string;
|
|
38
|
+
/** Replaces the table's npm roots (tests, which must not see this machine's). */
|
|
39
|
+
npmRoots?: string[];
|
|
40
|
+
}
|
|
41
|
+
export declare function currentLocateEnvironment(): LocateEnvironment;
|
|
42
|
+
/**
|
|
43
|
+
* Expand the table's tokens for this machine; `undefined` when a token names
|
|
44
|
+
* a folder this machine does not have (e.g. `%APPDATA%` off Windows).
|
|
45
|
+
*/
|
|
46
|
+
export declare function expandLocation(path: string, where: LocateEnvironment): string | undefined;
|
|
47
|
+
export interface LocatedAgent {
|
|
48
|
+
/** What to spawn: the native binary, node (for an npm entry), or the launcher. */
|
|
49
|
+
binaryPath: string;
|
|
50
|
+
/** Args before the agent's own (`[entry.js]` for an npm entry). */
|
|
51
|
+
prependArgs: string[];
|
|
52
|
+
available: boolean;
|
|
53
|
+
/** Every location checked, in order (`PATH:<dir>` for PATH entries). */
|
|
54
|
+
checked: string[];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Find [location]'s CLI on this machine. [configured] (a user's explicit path)
|
|
58
|
+
* always wins. On Windows a PATH hit counts only when it is a real executable
|
|
59
|
+
* (`.exe`/`.com`): an npm `.cmd` shim cannot be spawned without a shell.
|
|
60
|
+
*/
|
|
61
|
+
export declare function locateAgent(location: AgentLocation, configured?: string, where?: LocateEnvironment): LocatedAgent;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the coding-agent CLIs are installed, and how to find one — the single
|
|
3
|
+
* rule the bridge and Uxnan Desktop share (architecture/02a §5.8.17).
|
|
4
|
+
*
|
|
5
|
+
* The table itself is `agent-locations.json` at this package's root: the
|
|
6
|
+
* desktop compiles the same file into its Rust resolver (`include_str!`), so
|
|
7
|
+
* the phone, the desktop's chat and the desktop's terminals can never disagree
|
|
8
|
+
* about which agents are installed — the disagreement the maintainer hit when
|
|
9
|
+
* the chat offered agents the desktop knew were missing, and missed ones it
|
|
10
|
+
* knew were there.
|
|
11
|
+
*/
|
|
12
|
+
import { existsSync, readFileSync, statSync } from 'node:fs';
|
|
13
|
+
import { homedir } from 'node:os';
|
|
14
|
+
import { delimiter, dirname, join } from 'node:path';
|
|
15
|
+
let table;
|
|
16
|
+
/** The shared table (read once from `agent-locations.json`). */
|
|
17
|
+
export function agentLocationTable() {
|
|
18
|
+
// dist/src/agents/agent-locations.js → the package root holds the JSON.
|
|
19
|
+
table ??= JSON.parse(readFileSync(new URL('../../../agent-locations.json', import.meta.url), 'utf-8'));
|
|
20
|
+
return table;
|
|
21
|
+
}
|
|
22
|
+
/** The table entry for a bridge agent id, if Uxnan knows where it installs. */
|
|
23
|
+
export function agentLocation(bridgeId) {
|
|
24
|
+
return agentLocationTable().agents.find((a) => a.bridgeId === bridgeId);
|
|
25
|
+
}
|
|
26
|
+
export function currentLocateEnvironment() {
|
|
27
|
+
return {
|
|
28
|
+
platform: process.platform,
|
|
29
|
+
env: process.env,
|
|
30
|
+
home: homedir(),
|
|
31
|
+
nodePath: process.execPath,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Expand the table's tokens for this machine; `undefined` when a token names
|
|
36
|
+
* a folder this machine does not have (e.g. `%APPDATA%` off Windows).
|
|
37
|
+
*/
|
|
38
|
+
export function expandLocation(path, where) {
|
|
39
|
+
let out = path;
|
|
40
|
+
if (out === '~' || out.startsWith('~/'))
|
|
41
|
+
out = join(where.home, out.slice(1));
|
|
42
|
+
const prefix = nodePrefix(where);
|
|
43
|
+
out = out.replace('$NODE_PREFIX', prefix);
|
|
44
|
+
const winVars = {
|
|
45
|
+
'%APPDATA%': where.env['APPDATA'],
|
|
46
|
+
'%LOCALAPPDATA%': where.env['LOCALAPPDATA'],
|
|
47
|
+
'%PROGRAMFILES%': where.env['ProgramFiles'],
|
|
48
|
+
};
|
|
49
|
+
for (const [token, value] of Object.entries(winVars)) {
|
|
50
|
+
if (!out.includes(token))
|
|
51
|
+
continue;
|
|
52
|
+
if (!value)
|
|
53
|
+
return undefined;
|
|
54
|
+
out = out.replace(token, value);
|
|
55
|
+
}
|
|
56
|
+
return join(out);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The prefix global npm packages of [where.nodePath] live under: `<prefix>/lib/
|
|
60
|
+
* node_modules` on POSIX (`<prefix>/bin/node`), `<prefix>/node_modules` on
|
|
61
|
+
* Windows (`<prefix>\node.exe`).
|
|
62
|
+
*/
|
|
63
|
+
function nodePrefix(where) {
|
|
64
|
+
const bin = dirname(where.nodePath);
|
|
65
|
+
return where.platform === 'win32' ? bin : dirname(bin);
|
|
66
|
+
}
|
|
67
|
+
function isFile(path) {
|
|
68
|
+
try {
|
|
69
|
+
return existsSync(path) && statSync(path).isFile();
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Find [location]'s CLI on this machine. [configured] (a user's explicit path)
|
|
77
|
+
* always wins. On Windows a PATH hit counts only when it is a real executable
|
|
78
|
+
* (`.exe`/`.com`): an npm `.cmd` shim cannot be spawned without a shell.
|
|
79
|
+
*/
|
|
80
|
+
export function locateAgent(location, configured, where = currentLocateEnvironment()) {
|
|
81
|
+
const checked = [];
|
|
82
|
+
if (configured && configured.length > 0) {
|
|
83
|
+
checked.push(configured);
|
|
84
|
+
return { binaryPath: configured, prependArgs: [], available: isFile(configured), checked };
|
|
85
|
+
}
|
|
86
|
+
const family = where.platform === 'win32' ? 'win32' : 'posix';
|
|
87
|
+
for (const raw of location.native?.[family] ?? []) {
|
|
88
|
+
const path = expandLocation(raw, where);
|
|
89
|
+
if (!path)
|
|
90
|
+
continue;
|
|
91
|
+
checked.push(path);
|
|
92
|
+
if (isFile(path))
|
|
93
|
+
return { binaryPath: path, prependArgs: [], available: true, checked };
|
|
94
|
+
}
|
|
95
|
+
if (location.npmEntry) {
|
|
96
|
+
for (const raw of where.npmRoots ?? agentLocationTable().npmRoots[family]) {
|
|
97
|
+
const root = expandLocation(raw, where);
|
|
98
|
+
if (!root)
|
|
99
|
+
continue;
|
|
100
|
+
const entry = join(root, location.npmEntry);
|
|
101
|
+
checked.push(entry);
|
|
102
|
+
if (isFile(entry)) {
|
|
103
|
+
return { binaryPath: where.nodePath, prependArgs: [entry], available: true, checked };
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const names = where.platform === 'win32'
|
|
108
|
+
? [`${location.command}.exe`, `${location.command}.com`]
|
|
109
|
+
: [location.command];
|
|
110
|
+
const rawPath = where.env['PATH'] ?? where.env['Path'] ?? '';
|
|
111
|
+
for (const dir of rawPath.split(where.platform === 'win32' ? ';' : delimiter)) {
|
|
112
|
+
if (!dir)
|
|
113
|
+
continue;
|
|
114
|
+
checked.push(`PATH:${dir}`);
|
|
115
|
+
for (const name of names) {
|
|
116
|
+
const candidate = join(dir, name);
|
|
117
|
+
if (isFile(candidate)) {
|
|
118
|
+
return { binaryPath: candidate, prependArgs: [], available: true, checked };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return { binaryPath: location.command, prependArgs: [], available: false, checked };
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=agent-locations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-locations.js","sourceRoot":"","sources":["../../../src/agents/agent-locations.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -14,17 +14,21 @@ export * from './e2ee/pairing-payload.js';
|
|
|
14
14
|
export * from './agents/agent-capabilities.js';
|
|
15
15
|
export * from './agents/agent-config.js';
|
|
16
16
|
export * from './agents/agent-adapter.js';
|
|
17
|
+
export * from './agents/agent-locations.js';
|
|
18
|
+
export * from './local-control/local-control.js';
|
|
17
19
|
export * from './version/compare.js';
|
|
18
20
|
export * from './notifications/push-payload.js';
|
|
19
21
|
export * from './models/thread.js';
|
|
20
22
|
export * from './models/git.js';
|
|
21
23
|
export * from './models/workspace.js';
|
|
22
24
|
export * from './models/project.js';
|
|
25
|
+
export * from './models/sync.js';
|
|
23
26
|
export * from './models/session.js';
|
|
24
27
|
export * from './models/approval.js';
|
|
25
28
|
export * from './models/question.js';
|
|
26
29
|
export * from './models/compaction.js';
|
|
27
30
|
export * from './models/assistant-response.js';
|
|
31
|
+
export * from './models/tool.js';
|
|
28
32
|
export * from './models/usage.js';
|
|
29
33
|
export * from './models/metrics.js';
|
|
30
34
|
export * from './validators/validate.js';
|
package/dist/src/index.js
CHANGED
|
@@ -17,6 +17,9 @@ export * from './e2ee/pairing-payload.js';
|
|
|
17
17
|
export * from './agents/agent-capabilities.js';
|
|
18
18
|
export * from './agents/agent-config.js';
|
|
19
19
|
export * from './agents/agent-adapter.js';
|
|
20
|
+
export * from './agents/agent-locations.js';
|
|
21
|
+
// Local control channel (desktop ↔ bridge on the same machine)
|
|
22
|
+
export * from './local-control/local-control.js';
|
|
20
23
|
// Version
|
|
21
24
|
export * from './version/compare.js';
|
|
22
25
|
// Notifications
|
|
@@ -26,11 +29,13 @@ export * from './models/thread.js';
|
|
|
26
29
|
export * from './models/git.js';
|
|
27
30
|
export * from './models/workspace.js';
|
|
28
31
|
export * from './models/project.js';
|
|
32
|
+
export * from './models/sync.js';
|
|
29
33
|
export * from './models/session.js';
|
|
30
34
|
export * from './models/approval.js';
|
|
31
35
|
export * from './models/question.js';
|
|
32
36
|
export * from './models/compaction.js';
|
|
33
37
|
export * from './models/assistant-response.js';
|
|
38
|
+
export * from './models/tool.js';
|
|
34
39
|
export * from './models/usage.js';
|
|
35
40
|
export * from './models/metrics.js';
|
|
36
41
|
// Validators
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,gBAAgB,CAAC;AAE/B,WAAW;AACX,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAE3C,OAAO;AACP,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAE1C,SAAS;AACT,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,gBAAgB,CAAC;AAE/B,WAAW;AACX,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAE3C,OAAO;AACP,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAE1C,SAAS;AACT,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,+DAA+D;AAC/D,cAAc,kCAAkC,CAAC;AAEjD,UAAU;AACV,cAAc,sBAAsB,CAAC;AAErC,gBAAgB;AAChB,cAAc,iCAAiC,CAAC;AAEhD,SAAS;AACT,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AAEpC,aAAa;AACb,cAAc,0BAA0B,CAAC;AACzC,cAAc,qCAAqC,CAAC"}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* compile-time {@link JsonRpcMethodRegistry} via the assertion below.
|
|
4
4
|
*/
|
|
5
5
|
import type { JsonRpcMethodName } from './methods.js';
|
|
6
|
-
export declare const METHOD_NAMES: readonly ["thread/list", "thread/read", "thread/start", "thread/resume", "thread/fork", "thread/setModel", "thread/rename", "thread/setAccessMode", "thread/archive", "thread/unarchive", "thread/delete", "turn/list", "turn/read", "turn/send", "turn/cancel", "queue/resume", "queue/clear", "git/status", "git/diff", "git/commit", "git/push", "git/pull", "git/checkout", "git/createBranch", "git/createWorktree", "git/stage", "git/unstage", "git/discard", "git/createPr", "git/undoCommit", "git/branches", "git/switchBranch", "git/revert", "git/deleteBranch", "git/removeWorktree", "git/worktrees", "git/log", "git/commitShow", "workspace/readFile", "workspace/readImage", "workspace/list", "workspace/searchFiles", "workspace/resolveFileLink", "workspace/browseDirs", "workspace/checkpoint", "workspace/diffCheckpoint", "workspace/applyCheckpoint", "workspace/applyPatch", "workspace/exists", "project/list", "project/resolve", "agent/list", "agent/models", "agent/commands", "agent/usageStats", "metrics/get", "metrics/export", "metrics/import", "auth/status", "auth/login", "auth/logout", "notifications/register", "notifications/update", "notifications/unregister", "bridge/status", "bridge/generatePairingQr", "bridge/connectedPhones", "bridge/disconnectPhone", "bridge/trustedDevices", "bridge/removeTrustedDevice"];
|
|
6
|
+
export declare const METHOD_NAMES: readonly ["thread/list", "thread/read", "thread/start", "thread/resume", "thread/fork", "thread/setModel", "thread/rename", "thread/setAccessMode", "thread/archive", "thread/unarchive", "thread/delete", "turn/list", "turn/read", "turn/send", "turn/cancel", "queue/resume", "queue/clear", "git/status", "git/diff", "git/commit", "git/push", "git/pull", "git/checkout", "git/createBranch", "git/createWorktree", "git/stage", "git/unstage", "git/discard", "git/createPr", "git/undoCommit", "git/branches", "git/switchBranch", "git/revert", "git/deleteBranch", "git/removeWorktree", "git/worktrees", "git/log", "git/commitShow", "workspace/readFile", "workspace/readImage", "workspace/list", "workspace/searchFiles", "workspace/resolveFileLink", "workspace/browseDirs", "workspace/checkpoint", "workspace/diffCheckpoint", "workspace/applyCheckpoint", "workspace/applyPatch", "workspace/exists", "project/list", "project/resolve", "project/add", "project/remove", "project/rename", "sync/changes", "settings/get", "settings/set", "device/describe", "device/rename", "agent/list", "agent/models", "agent/commands", "agent/usageStats", "agent/doctor", "metrics/get", "metrics/export", "metrics/import", "auth/status", "auth/login", "auth/logout", "notifications/register", "notifications/update", "notifications/unregister", "bridge/status", "bridge/generatePairingQr", "bridge/connectedPhones", "bridge/disconnectPhone", "bridge/trustedDevices", "bridge/removeTrustedDevice", "desktop/attach", "desktop/detach"];
|
|
7
7
|
export declare function isKnownMethod(method: string): method is JsonRpcMethodName;
|
|
@@ -55,11 +55,21 @@ export const METHOD_NAMES = [
|
|
|
55
55
|
// Projects
|
|
56
56
|
'project/list',
|
|
57
57
|
'project/resolve',
|
|
58
|
+
'project/add',
|
|
59
|
+
'project/remove',
|
|
60
|
+
'project/rename',
|
|
61
|
+
// Replica sync and shared settings
|
|
62
|
+
'sync/changes',
|
|
63
|
+
'settings/get',
|
|
64
|
+
'settings/set',
|
|
65
|
+
'device/describe',
|
|
66
|
+
'device/rename',
|
|
58
67
|
// Agents
|
|
59
68
|
'agent/list',
|
|
60
69
|
'agent/models',
|
|
61
70
|
'agent/commands',
|
|
62
71
|
'agent/usageStats',
|
|
72
|
+
'agent/doctor',
|
|
63
73
|
// Metrics (bridge-owned, survivable profile stats + tamper-proof backup)
|
|
64
74
|
'metrics/get',
|
|
65
75
|
'metrics/export',
|
|
@@ -79,6 +89,9 @@ export const METHOD_NAMES = [
|
|
|
79
89
|
'bridge/disconnectPhone',
|
|
80
90
|
'bridge/trustedDevices',
|
|
81
91
|
'bridge/removeTrustedDevice',
|
|
92
|
+
// Desktop tools for bridge-run agents (local control channel only)
|
|
93
|
+
'desktop/attach',
|
|
94
|
+
'desktop/detach',
|
|
82
95
|
];
|
|
83
96
|
const _assertNamesAreMethods = true;
|
|
84
97
|
const _assertMethodsAreNames = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-registry.js","sourceRoot":"","sources":["../../../src/jsonrpc/method-registry.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,kBAAkB;IAClB,aAAa;IACb,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,MAAM;IACN,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,UAAU;IACV,UAAU;IACV,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,oBAAoB;IACpB,eAAe;IACf,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,gBAAgB;IAChB,uBAAuB;IACvB,2BAA2B;IAC3B,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,2BAA2B;IAC3B,sBAAsB;IACtB,kBAAkB;IAClB,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,SAAS;IACT,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,yEAAyE;IACzE,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,OAAO;IACP,aAAa;IACb,YAAY;IACZ,aAAa;IACb,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,0BAA0B;IAC1B,iBAAiB;IACjB,eAAe;IACf,0BAA0B;IAC1B,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;IACvB,4BAA4B;
|
|
1
|
+
{"version":3,"file":"method-registry.js","sourceRoot":"","sources":["../../../src/jsonrpc/method-registry.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,kBAAkB;IAClB,aAAa;IACb,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe;IACf,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,MAAM;IACN,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,UAAU;IACV,UAAU;IACV,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,kBAAkB;IAClB,YAAY;IACZ,kBAAkB;IAClB,oBAAoB;IACpB,eAAe;IACf,SAAS;IACT,gBAAgB;IAChB,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,gBAAgB;IAChB,uBAAuB;IACvB,2BAA2B;IAC3B,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,2BAA2B;IAC3B,sBAAsB;IACtB,kBAAkB;IAClB,WAAW;IACX,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,mCAAmC;IACnC,cAAc;IACd,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,SAAS;IACT,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,yEAAyE;IACzE,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,OAAO;IACP,aAAa;IACb,YAAY;IACZ,aAAa;IACb,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,0BAA0B;IAC1B,iBAAiB;IACjB,eAAe;IACf,0BAA0B;IAC1B,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;IACvB,4BAA4B;IAC5B,mEAAmE;IACnE,gBAAgB;IAChB,gBAAgB;CACR,CAAC;AAQX,MAAM,sBAAsB,GAAqB,IAAI,CAAC;AACtD,MAAM,sBAAsB,GAAqB,IAAI,CAAC;AACtD,KAAK,sBAAsB,CAAC;AAC5B,KAAK,sBAAsB,CAAC;AAE5B,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AAEnE,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
|