Skip to content

Commit 4cd34c5

Browse files
opencolinclaude
andcommitted
Update Composio example for the tools repo move
The tools repo moved to LuxorLabs/tenki-composio-tools (old TenkiCloud URLs redirect); update the links. Drop the workspaceId plumbing from verify.mjs/agent.mjs/README -- the workspace is inferred from the API key, workspaceId is optional in the published 0.1.0 typings, and the unreleased 0.2.0 removes the option entirely. Pins unchanged (0.2.0 is not on npm yet); CI skip stays (needs COMPOSIO_API_KEY). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 1c86a86 commit 4cd34c5

4 files changed

Lines changed: 5 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ First-party packages you can install directly in your own project:
102102

103103
| Integration | Install | What it does |
104104
| --- | --- | --- |
105-
| [Composio tools](https://github.com/TenkiCloud/composio-tools) | `npm install @tenkicloud/composio-tools` | Create, execute, snapshot, and terminate tools for Composio agents |
105+
| [Composio tools](https://github.com/LuxorLabs/tenki-composio-tools) | `npm install @tenkicloud/composio-tools` | Create, execute, snapshot, and terminate tools for Composio agents |
106106
| [Covalent executor](https://github.com/TenkiCloud/covalent-tenki-plugin) | `pip install covalent-tenki-plugin` | Runs Covalent workflow tasks in Tenki microVMs |
107107
| [GitHub Actions](https://github.com/TenkiCloud/actions) | `uses: TenkiCloud/actions/setup-cli@v1` | Installs the Tenki CLI and builds sandbox templates in CI |
108108
| [Go SDK](https://github.com/TenkiCloud/tenki-sdk-go) | `go get github.com/TenkiCloud/tenki-sdk-go/sandbox` | Go client for the Tenki Sandbox API |

examples/composio-tenki/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Composio agent on Tenki
22

3-
Give any [Composio](https://composio.dev) agent disposable Tenki microVMs. The official [`@tenkicloud/composio-tools`](https://github.com/TenkiCloud/composio-tools) package registers a **Tenki custom toolkit** — the agent gets `CREATE_SANDBOX`, `EXEC_COMMAND`, `LIST_SANDBOXES`, `GET_SANDBOX`, `CREATE_SNAPSHOT`, and `TERMINATE_SANDBOX`, all running in-process against the Tenki SDK. No extra backend.
3+
Give any [Composio](https://composio.dev) agent disposable Tenki microVMs. The official [`@tenkicloud/composio-tools`](https://github.com/LuxorLabs/tenki-composio-tools) package registers a **Tenki custom toolkit** — the agent gets `CREATE_SANDBOX`, `EXEC_COMMAND`, `LIST_SANDBOXES`, `GET_SANDBOX`, `CREATE_SNAPSHOT`, and `TERMINATE_SANDBOX`, all running in-process against the Tenki SDK. No extra backend.
44

55
## The integration (the whole thing)
66

@@ -15,7 +15,7 @@ const session = await composio.sessions.create("default", {
1515
// the agent can now call LOCAL_TENKI_CREATE_SANDBOX, LOCAL_TENKI_EXEC_COMMAND, …
1616
```
1717

18-
`tenkiToolkit()` reads `TENKI_API_KEY` from the environment (or takes `authToken`/`workspaceId` options). Custom toolkits are **session-scoped**: tool calls run through `session.execute(slug, args)`, and definitions come from `session.customTools()`.
18+
`tenkiToolkit()` reads `TENKI_API_KEY` from the environment (or takes an `authToken` option); the workspace is inferred from the key. Custom toolkits are **session-scoped**: tool calls run through `session.execute(slug, args)`, and definitions come from `session.customTools()`.
1919

2020
## Two files
2121

examples/composio-tenki/agent.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ const cfg = (key) => {
2727

2828
const MODEL = process.env.ANTHROPIC_MODEL ?? "claude-sonnet-5";
2929
const authToken = process.env.TENKI_AUTH_TOKEN || process.env.TENKI_API_KEY || cfg("auth_token");
30-
const workspaceId = process.env.TENKI_WORKSPACE_ID || cfg("current_workspace_id") || undefined;
3130

3231
for (const [name, value] of [
3332
["COMPOSIO_API_KEY", process.env.COMPOSIO_API_KEY],
@@ -44,7 +43,7 @@ const composio = new Composio({ apiKey: process.env.COMPOSIO_API_KEY });
4443
const anthropic = new Anthropic();
4544

4645
const session = await composio.sessions.create("default", {
47-
experimental: { customToolkits: [tenkiToolkit({ authToken, workspaceId })] },
46+
experimental: { customToolkits: [tenkiToolkit({ authToken })] },
4847
});
4948

5049
// Anthropic tool defs come straight from the session's custom-tool registry.

examples/composio-tenki/verify.mjs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ const cfg = (key) => {
2424

2525
const composioKey = process.env.COMPOSIO_API_KEY;
2626
const authToken = process.env.TENKI_AUTH_TOKEN || process.env.TENKI_API_KEY || cfg("auth_token");
27-
const workspaceId = process.env.TENKI_WORKSPACE_ID || cfg("current_workspace_id") || undefined;
2827

2928
if (!composioKey) {
3029
console.error("No COMPOSIO_API_KEY. Get one at https://app.composio.dev.");
@@ -37,7 +36,7 @@ if (!authToken) {
3736

3837
const composio = new Composio({ apiKey: composioKey });
3938
const session = await composio.sessions.create("default", {
40-
experimental: { customToolkits: [tenkiToolkit({ authToken, workspaceId })] },
39+
experimental: { customToolkits: [tenkiToolkit({ authToken })] },
4140
});
4241

4342
/** Execute one LOCAL_TENKI_* tool and assert Composio + the tool itself both succeeded. */

0 commit comments

Comments
 (0)