@letta-ai/letta-code 0.34.13 → 0.34.15
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/agent-presets.js +1 -1
- package/dist/agent-presets.js.map +3 -3
- package/dist/mcp-client.js +2 -2
- package/dist/mcp-client.js.map +1 -1
- package/dist/mcp-oauth.js +41 -13
- package/dist/mcp-oauth.js.map +7 -6
- package/dist/types/agent/agent-tags.d.ts +4 -0
- package/dist/types/agent/agent-tags.d.ts.map +1 -1
- package/dist/types/backend/local/local-agent-record-file.d.ts +12 -0
- package/dist/types/backend/local/local-agent-record-file.d.ts.map +1 -0
- package/dist/types/backend/local/local-backend.d.ts +1 -0
- package/dist/types/backend/local/local-backend.d.ts.map +1 -1
- package/dist/types/backend/local/local-store.d.ts +2 -13
- package/dist/types/backend/local/local-store.d.ts.map +1 -1
- package/dist/types/backend/local/local-transcript.d.ts +9 -5
- package/dist/types/backend/local/local-transcript.d.ts.map +1 -1
- package/dist/types/browser-device-mcp-oauth.d.ts +15 -0
- package/dist/types/browser-device-mcp-oauth.d.ts.map +1 -1
- package/dist/types/cli/subcommands/mcp-connect.d.ts +1 -1
- package/dist/types/cli/subcommands/mcp-connect.d.ts.map +1 -1
- package/dist/types/cli/subcommands/mcp-io.d.ts.map +1 -1
- package/dist/types/cli/subcommands/mcp.d.ts.map +1 -1
- package/dist/types/mcp-oauth-callback.d.ts +10 -1
- package/dist/types/mcp-oauth-callback.d.ts.map +1 -1
- package/dist/types/mcp-oauth-client-name.d.ts +9 -0
- package/dist/types/mcp-oauth-client-name.d.ts.map +1 -0
- package/dist/types/mcp-oauth-public.d.ts +14 -0
- package/dist/types/mcp-oauth-public.d.ts.map +1 -1
- package/dist/types/mcp-oauth.d.ts +14 -0
- package/dist/types/mcp-oauth.d.ts.map +1 -1
- package/dist/types/tools/impl/claude-stream-session.d.ts.map +1 -1
- package/dist/types/tools/impl/codex-app-server.d.ts +4 -0
- package/dist/types/tools/impl/codex-app-server.d.ts.map +1 -1
- package/dist/types/tools/impl/remote-external-coding-agent.d.ts.map +1 -1
- package/dist/types/tools/impl/subagent-computer.d.ts +67 -0
- package/dist/types/tools/impl/subagent-computer.d.ts.map +1 -0
- package/dist/types/tools/impl/task.d.ts.map +1 -1
- package/dist/types/tools/impl/workflow.d.ts.map +1 -1
- package/dist/types/tools/workflow/sdk-spawner.d.ts +4 -0
- package/dist/types/tools/workflow/sdk-spawner.d.ts.map +1 -1
- package/dist/types/utils/systemd-workload-scope.d.ts.map +1 -1
- package/dist/types/websocket/listener/durable-file-lock.d.ts.map +1 -1
- package/dist/types/websocket/listener/runtime.d.ts +0 -1
- package/dist/types/websocket/listener/runtime.d.ts.map +1 -1
- package/letta.js +1266 -1055
- package/npm-shrinkwrap.json +15 -15
- package/package.json +2 -2
- package/scripts/source-file-size-baseline.json +2 -2
- package/skills/working-across-computers/references/connect-a-computer-for-remote-access.md +26 -3
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@letta-ai/letta-code",
|
|
3
|
-
"version": "0.34.
|
|
3
|
+
"version": "0.34.15",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"packages": {
|
|
6
6
|
"node_modules/@alcalzone/ansi-tokenize": {
|
|
@@ -455,9 +455,9 @@
|
|
|
455
455
|
}
|
|
456
456
|
},
|
|
457
457
|
"node_modules/@hono/node-server": {
|
|
458
|
-
"version": "2.1.
|
|
459
|
-
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.
|
|
460
|
-
"integrity": "sha512-
|
|
458
|
+
"version": "2.1.5",
|
|
459
|
+
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.5.tgz",
|
|
460
|
+
"integrity": "sha512-MgP/I06GdvsilDspMk/qmRzpk8LOUStP6jFAbSRi40W09DhoyUn+Mj7eyKICPqeYKybOjVFLVIAQzvu1bfIa7Q==",
|
|
461
461
|
"license": "MIT",
|
|
462
462
|
"engines": {
|
|
463
463
|
"node": ">=20"
|
|
@@ -1725,16 +1725,16 @@
|
|
|
1725
1725
|
}
|
|
1726
1726
|
},
|
|
1727
1727
|
"node_modules/@letta-ai/letta-code/node_modules/react-dom": {
|
|
1728
|
-
"version": "19.3.
|
|
1729
|
-
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.
|
|
1730
|
-
"integrity": "sha512-
|
|
1728
|
+
"version": "19.3.1",
|
|
1729
|
+
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.1.tgz",
|
|
1730
|
+
"integrity": "sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==",
|
|
1731
1731
|
"license": "MIT",
|
|
1732
1732
|
"peer": true,
|
|
1733
1733
|
"dependencies": {
|
|
1734
1734
|
"scheduler": "^0.28.0"
|
|
1735
1735
|
},
|
|
1736
1736
|
"peerDependencies": {
|
|
1737
|
-
"react": "^19.3.
|
|
1737
|
+
"react": "^19.3.1"
|
|
1738
1738
|
}
|
|
1739
1739
|
},
|
|
1740
1740
|
"node_modules/@letta-ai/letta-code/node_modules/scheduler": {
|
|
@@ -2064,9 +2064,9 @@
|
|
|
2064
2064
|
"license": "MIT"
|
|
2065
2065
|
},
|
|
2066
2066
|
"node_modules/@smithy/core": {
|
|
2067
|
-
"version": "3.
|
|
2068
|
-
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.
|
|
2069
|
-
"integrity": "sha512-
|
|
2067
|
+
"version": "3.36.0",
|
|
2068
|
+
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.36.0.tgz",
|
|
2069
|
+
"integrity": "sha512-3hJiwG1F5t1SoXqp/yOCmYXziyx7ZVqF63S5W6YU201e/qwVaHPex+E/3vvyY9a3ORq/b+BydeNZpP2saQ9X2g==",
|
|
2070
2070
|
"license": "Apache-2.0",
|
|
2071
2071
|
"dependencies": {
|
|
2072
2072
|
"@smithy/types": "^4.19.0",
|
|
@@ -4483,9 +4483,9 @@
|
|
|
4483
4483
|
}
|
|
4484
4484
|
},
|
|
4485
4485
|
"node_modules/qs": {
|
|
4486
|
-
"version": "6.16.
|
|
4487
|
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.16.
|
|
4488
|
-
"integrity": "sha512-
|
|
4486
|
+
"version": "6.16.1",
|
|
4487
|
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.16.1.tgz",
|
|
4488
|
+
"integrity": "sha512-5Px6J7rfHBAGUhNQ3es4YzcOdBBw0SDcVtThJml4RdnKw4tKs2epA0kPZ+K8X+WiHktT93RHVcQ/3ym5aTCgtg==",
|
|
4489
4489
|
"license": "BSD-3-Clause",
|
|
4490
4490
|
"dependencies": {
|
|
4491
4491
|
"es-define-property": "^1.0.1",
|
|
@@ -5452,7 +5452,7 @@
|
|
|
5452
5452
|
},
|
|
5453
5453
|
"": {
|
|
5454
5454
|
"name": "@letta-ai/letta-code",
|
|
5455
|
-
"version": "0.34.
|
|
5455
|
+
"version": "0.34.15",
|
|
5456
5456
|
"dependencies": {
|
|
5457
5457
|
"@earendil-works/pi-ai": "^0.99.1",
|
|
5458
5458
|
"@janhapke/sharp-electron": "0.35.3-electron.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@letta-ai/letta-code",
|
|
3
|
-
"version": "0.34.
|
|
3
|
+
"version": "0.34.15",
|
|
4
4
|
"lettaStartupLogProtocol": 1,
|
|
5
5
|
"description": "Letta Code is a CLI tool for interacting with stateful Letta agents from the terminal.",
|
|
6
6
|
"type": "module",
|
|
@@ -275,5 +275,5 @@
|
|
|
275
275
|
},
|
|
276
276
|
"lettaLifecycleProtocol": 1,
|
|
277
277
|
"lettaRuntimeGraphProtocol": 1,
|
|
278
|
-
"lettaRuntimeGraphSha512": "sha512-
|
|
278
|
+
"lettaRuntimeGraphSha512": "sha512-NGzNq0UmSHPiPqvc6bflUL57U2h5xZSgf9HvpbR98ocuoM1dHLN1hiXv6qNEa3lOlj2paYI/clNKR+U1YW0TiA=="
|
|
279
279
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"src/agent/client-skills.test.ts": 1134,
|
|
3
3
|
"src/agent/memory-git.ts": 2013,
|
|
4
4
|
"src/backend/local-backend.test.ts": 2472,
|
|
5
|
-
"src/backend/local/local-store.ts":
|
|
5
|
+
"src/backend/local/local-store.ts": 3261,
|
|
6
6
|
"src/backend/pi-stream-adapter.test.ts": 1255,
|
|
7
7
|
"src/cli/app/AppCoordinator.tsx": 5101,
|
|
8
8
|
"src/cli/app/AppView.tsx": 1729,
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"src/tools/tool-execution-context.test.ts": 1092,
|
|
38
38
|
"src/types/protocol_v2.ts": 2531,
|
|
39
39
|
"src/websocket/listen-client-concurrency.test.ts": 2557,
|
|
40
|
-
"src/websocket/listen-client-protocol.test.ts":
|
|
40
|
+
"src/websocket/listen-client-protocol.test.ts": 5664,
|
|
41
41
|
"src/websocket/listener/commands/memory.ts": 1114,
|
|
42
42
|
"src/websocket/listener/file-commands.ts": 1045,
|
|
43
43
|
"src/websocket/listener/protocol-inbound.ts": 2055
|
|
@@ -4,9 +4,32 @@ Use this guide when the user is connecting a computer for the first time, no sui
|
|
|
4
4
|
|
|
5
5
|
Explain that the user must complete setup **on the computer they want to connect**, signed into the same Letta account they use on chat.letta.com. Remote access lets agents run commands and access files on that machine, subject to tool approvals. Local-only / “Skip login” mode is not sufficient.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
When the user is talking to you through an organization's Slack workspace, use the connect token path: the computer has to be registered in that organization, and the user has no Letta browser session to approve it from. For chat.letta.com and Desktop users, recommend Desktop for a personal computer and offer the CLI for a terminal-only machine or VM. Give the relevant steps below rather than only saying the computer is unavailable. Do not run registration commands in the Cloud sandbox as a substitute for connecting the user's machine.
|
|
8
8
|
|
|
9
|
-
## Option 1:
|
|
9
|
+
## Option 1: Connect token (Slack organization)
|
|
10
|
+
|
|
11
|
+
Only for requests that arrive through Slack. Mint a connect token with the sandbox credentials. The token is pre-approved for the agent's owner and bound to the organization, so the command signs their computer in as them, in that organization, without a browser step:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
curl -sS -X POST "$LETTA_BASE_URL/v1/environments/connect-token" \
|
|
15
|
+
-H "Authorization: Bearer $LETTA_API_KEY" \
|
|
16
|
+
-H "Content-Type: application/json" -d '{}'
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The response is `{ "deviceCode": "...", "organizationId": "...", "expiresIn": 900 }`. A 403 means this sandbox key does not resolve to an owner; tell the user and fall back to Option 3.
|
|
20
|
+
|
|
21
|
+
Ask the user to install [Node.js 22.19 or newer](https://nodejs.org/en/download) if they do not have it, then run this **on the computer they want to connect**, filling in both values from the response:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install -g @letta-ai/letta-code
|
|
25
|
+
letta server --org <organizationId> --token <deviceCode> --computer-name "work-laptop"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Tell them the code works once and expires in 15 minutes; if it is used or expired, mint a new one rather than asking them to retry the old command. The CLI refuses a token minted for a different organization than `--org`, so pass the `organizationId` from the same response.
|
|
29
|
+
|
|
30
|
+
The command signs in as the owner. Send it only to that person: a DM, or the thread where the owner asked, never a broadcast in a shared channel. Do not post the command anywhere a second person can run it first.
|
|
31
|
+
|
|
32
|
+
## Option 2: Letta Desktop
|
|
10
33
|
|
|
11
34
|
Ask the user to:
|
|
12
35
|
|
|
@@ -23,7 +46,7 @@ Show the bundled screenshot when explaining the toggle and name field:
|
|
|
23
46
|
|
|
24
47
|
Resolve `assets/allow-remote-access-from-desktop.png` relative to this skill's directory. In chat or Desktop, use the resolved absolute local path in the Markdown image you send, not this reference file's relative path. The screenshot is from the original teleportation skill; surrounding settings may differ in newer Desktop versions.
|
|
25
48
|
|
|
26
|
-
## Option
|
|
49
|
+
## Option 3: CLI server (browser sign-in)
|
|
27
50
|
|
|
28
51
|
Ask the user to install [Node.js 22.19 or newer](https://nodejs.org/en/download), then run these commands in a terminal **on the target computer**:
|
|
29
52
|
|