SDK Setup
Configure an Invoke SDK host with marketplace access, integration verification, local auth storage, and a host-owned CodeMode core.
SDK Setup
Invoke SDKs are the host wrapper for marketplace discovery, signed integration
download, local provider auth persistence, and MiniGo CodeMode execution through
a host-provided CodeModeCore.
SDK packages include the same shared core WASM artifact. TypeScript can load it
directly with loadSharedWasmCore; Python, Rust, Go, Java, and Swift expose the
packaged bytes so hosts can instantiate them with their runtime of choice and
inject the resulting CodeModeCore.
TypeScript
import {
HmacArtifactVerifier,
InMemoryAuthStore,
InvokeClient,
loadSharedWasmCore,
} from "@invoketool/sdk";
const core = await loadSharedWasmCore({
hostCallHandler(call) {
return invokeHostAction(call);
},
});
const invoke = new InvokeClient({
marketplace,
authStore: new InMemoryAuthStore(),
artifactVerifier: new HmacArtifactVerifier({
"invoke-prod-root-2026-05": process.env.INVOKE_ARTIFACT_SIGNING_SECRET!,
}),
organizationId: "org_...",
sdkName: "typescript",
sdkVersion: "0.1.0",
core,
});
const modules = await invoke.searchMarketplace("github slack");
const install = await invoke.installModuleArtifact(modules[0].id, modules[0].version);Rust
use std::sync::Arc;
use invoketool_sdk::{ExecutionRequest, HmacArtifactVerifier, InvokeClient};
let mut invoke = InvokeClient::new(
Some(marketplace),
None,
Some(Arc::new(HmacArtifactVerifier { signing_secrets })),
);
invoke.core = Some(Arc::new(core));
let install = invoke.install_module_artifact("github_to_slack", Some("0.1.0"))?;
let result = invoke.execute_code_mode(source, &ExecutionRequest {
module_id: "github_to_slack".to_string(),
action: "create_issue_and_notify".to_string(),
input,
cancelled: false,
})?;Python
from invoketool import HmacArtifactVerifier, InvokeClient
invoke = InvokeClient(
marketplace=marketplace,
artifact_verifier=HmacArtifactVerifier(signing_secrets),
core=core,
)
install = invoke.install_module_artifact("github_to_slack", "0.1.0")
result = invoke.execute_code_mode(source, {
"module_id": "github_to_slack",
"action": "create_issue_and_notify",
"input": {"repo": "invoketool/invoketool"},
"cancelled": False,
})Go
client := invoketool.NewClient(
marketplace,
nil,
invoketool.HMACArtifactVerifier{SigningSecrets: signingSecrets},
)
client.Core = core
_, err := client.InstallModuleArtifact("github_to_slack", "0.1.0")
if err != nil {
return err
}
result, err := client.ExecuteCodeMode(source, map[string]any{
"module_id": "github_to_slack",
"action": "create_issue_and_notify",
"input": map[string]any{"repo": "invoketool/invoketool"},
"cancelled": false,
})Java
InvokeClient client = new InvokeClient(
marketplace,
null,
new InvokeClient.HmacArtifactVerifier(signingSecrets),
core
);
client.installModuleArtifact("github_to_slack", "0.1.0");
InvokeClient.ExecutionResult result = client.executeCodeMode(source, request);Swift
let client = InvokeClient(
marketplace: marketplace,
artifactVerifier: HmacArtifactVerifier(signingSecrets: signingSecrets),
core: core
)
_ = try client.installModuleArtifact(moduleId: "github_to_slack", version: "0.1.0")
let result = try client.executeCodeMode(source: source, request: request)SDK Responsibilities
- Authenticate to InvokeTool with a Better Auth session or API key.
- Search and inspect marketplace modules.
- Pin module versions for an organization.
- Download integration bundles and verify checksum plus signature before loading.
- Download the matching install envelope, verify its WASM checksum/signature metadata against the signed integration descriptor, and register it locally.
- Store module provider tokens only through host-owned local persistence.
- Pass MiniGo CodeMode checks and execution to the injected
CodeModeCore. - Keep runtime telemetry and host-call metering in the embedding application's own systems unless the host explicitly reports it elsewhere.
Hosted billing is limited to integration downloads; marketplace/API tool calls are metered for usage visibility but priced at zero by default.
The monorepo includes TypeScript, Python, Rust, Go, Swift, and Java SDK packages. Each SDK exposes the same core concepts: marketplace browsing, local auth storage, integration verification, module installation, and execution envelopes.