Search

Search the documentation

Protobox

CLI ↔ SDK parity

Every public SDK method on knowledge, memory, tools, toolsets, databases, approvals, secrets, and prompts, and the CLI command that reaches it

SDK methodCLI commandStatus
sdk.knowledge.ask()protobox askok
sdk.knowledge.askPublic()n/a: for anonymous embedders asking someone ELSE's public pack — the pack's own page (app.protobox.ai/p//) is the intended surface; a workspace owner asking their own KB already has askn/a
sdk.knowledge.create()protobox kb addok
sdk.knowledge.delete()protobox kb removeok
sdk.knowledge.deleteAll()protobox kb delete-allok
sdk.knowledge.deleteAllPreview()protobox kb delete-allok
sdk.knowledge.exportAll()protobox kb exportok
sdk.knowledge.exportStatus()protobox kb exportok
sdk.knowledge.gallery()n/a: browsing the public gallery is the admin page's job (app.protobox.ai/p) — kb publish --listed covers the write side; there's no read-side CLI use case yetn/a
sdk.knowledge.get()protobox kb getok
sdk.knowledge.getPublicPack()n/a: read-only pack preview has no CLI surface yet — the public page (app.protobox.ai/p//) is the intended way to view itn/a
sdk.knowledge.import()protobox kb importok
sdk.knowledge.importStatus()protobox kb importok
sdk.knowledge.list()protobox kbok
sdk.knowledge.listStale()protobox kb staleok
sdk.knowledge.listSynced()protobox kb syncok
sdk.knowledge.proposalStatus()protobox kb proposal-statusok
sdk.knowledge.proposeAppend()protobox kb proposeok
sdk.knowledge.proposeUpdate()protobox kb proposeok
sdk.knowledge.publishFolder()protobox kb publishok
sdk.knowledge.search()protobox kbok
sdk.knowledge.setFolderAccess()protobox kb folder accessok
sdk.knowledge.setOwner()protobox kb ownerok
sdk.knowledge.taskStatus()protobox kb addok
sdk.knowledge.unpublishFolder()protobox kb unpublishok
sdk.knowledge.unverify()protobox kb unverifyok
sdk.knowledge.update()n/a: no destructive-edit CLI surface yet — re-add via kb add/kb sync, or edit at app.protobox.ain/a
sdk.knowledge.upsertFile()protobox kb syncok
sdk.knowledge.verify()protobox kb verifyok
sdk.knowledge.sources.github.add()protobox kb sync-repook
sdk.knowledge.sources.github.list()n/a: no CLI listing of connected repo sources yet — kb sync-repo covers connect+syncn/a
sdk.knowledge.sources.github.remove()n/a: no CLI surface to disconnect a repo source yetn/a
sdk.knowledge.sources.github.sync()protobox kb sync-repook
sdk.knowledge.sources.gdrive.add()protobox kb sync-driveok
sdk.knowledge.sources.gdrive.list()n/a: no CLI listing of connected Drive folder sources yet — kb sync-drive covers connect+syncn/a
sdk.knowledge.sources.gdrive.remove()n/a: no CLI surface to disconnect a Drive folder source yetn/a
sdk.knowledge.sources.gdrive.sync()protobox kb sync-driveok
sdk.memory.entities()protobox memory entitiesok
sdk.memory.entity()protobox memory entityok
sdk.memory.forget()protobox memory forgetok
sdk.memory.history()protobox memory historyok
sdk.memory.import()protobox memory importok
sdk.memory.listRecent()protobox memory listok
sdk.memory.recall()protobox memory recallok
sdk.memory.search()n/a: memory recall covers the common top-K case; minScore filtering not yet exposed as a flagn/a
sdk.memory.store()protobox memory storeok
sdk.tools.create()n/a: SDK-only tool write surface (CZ1) — authoring a workspace tool is done in code or at app.protobox.ai; CLI verbs tracked separatelyn/a
sdk.tools.createBatch()n/a: SDK-only tool write surface (CZ1) — bulk creation with partial success is a programmatic shape, not an interactive one; CLI verbs tracked separatelyn/a
sdk.tools.createDefaults()n/a: SDK-only tool write surface (CZ1) — default-tool provisioning runs at workspace setup, not from a shell; CLI verbs tracked separatelyn/a
sdk.tools.delete()n/a: SDK-only tool write surface (CZ1) — no CLI delete surface yet; delete at app.protobox.ai. CLI verbs tracked separatelyn/a
sdk.tools.execute()protobox tools runok
sdk.tools.executeBatch()n/a: one round-trip for a model turn's several tool calls — a runtime concern inside an agent loop; an interactive shell issues one tools run per actionn/a
sdk.tools.executeById()n/a: SDK-only tool write surface (CZ1) — the CLI shape is tools run (by action name); by-id execution is for runtimes holding a tool id. CLI verbs tracked separatelyn/a
sdk.tools.forLLM()n/a: framework adapter factory (OpenAI/Anthropic/Vercel/LangChain/Google) for embedding an LLM tool loop directly in code — no CLI shapen/a
sdk.tools.generate()n/a: SDK-only tool write surface (CZ1) — natural-language tool generation is an authoring-time code path; CLI verbs tracked separatelyn/a
sdk.tools.get()n/a: SDK-only tool write surface (CZ1) — tools get reads an ACTION's schema, not a workspace tool row; CLI verbs tracked separatelyn/a
sdk.tools.getSchema()protobox tools getok
sdk.tools.list()n/a: flat catalog listing with ids for runtimes wiring by name (P1 conformance) - the CLI shape is tools (search) which returns the same rowsn/a
sdk.tools.listTools()n/a: superseded by tools.search() (cross-catalog GET /actions/search) — tools/tools get/tools run all drive through search, not per-integration listToolsn/a
sdk.tools.propose()n/a: SDK-only tool write surface (CZ1) — proposing tools from a raw OpenAPI/Postman document is an authoring-time code path; CLI verbs tracked separatelyn/a
sdk.tools.proposeFromUrl()n/a: SDK-only tool write surface (CZ1) — spec-URL proposal is an authoring-time code path; CLI verbs tracked separatelyn/a
sdk.tools.search()protobox toolsok
sdk.tools.update()n/a: SDK-only tool write surface (CZ1) — no CLI edit surface yet; update at app.protobox.ai. CLI verbs tracked separatelyn/a
sdk.toolsets.addSkill()protobox toolsets add-skillok
sdk.toolsets.create()protobox toolsets createok
sdk.toolsets.delete()protobox toolsets deleteok
sdk.toolsets.get()protobox toolsets getok
sdk.toolsets.list()protobox toolsets listok
sdk.toolsets.setToolAccess()protobox toolsets accessok
sdk.toolsets.setToolPolicy()protobox toolsets policyok
sdk.toolsets.tools()n/a: SDK-only read of a toolset's member tools (incl. includeHidden) — toolsets get already prints the toolset; CLI verbs tracked separatelyn/a
sdk.toolsets.update()protobox toolsets addok
sdk.databases.add()protobox db addok
sdk.databases.addQuery()protobox db query addok
sdk.databases.list()protobox db listok
sdk.databases.listQueries()protobox db query listok
sdk.databases.remove()protobox db removeok
sdk.databases.removeQuery()protobox db query removeok
sdk.approvals.approve()protobox approvals approveok
sdk.approvals.deny()protobox approvals denyok
sdk.approvals.get()n/a: approvals list already returns full rows; no single-approval fetch command yetn/a
sdk.approvals.list()protobox approvals listok
sdk.secrets.delete()protobox secrets removeok
sdk.secrets.list()protobox secrets listok
sdk.secrets.set()protobox secrets setok
sdk.prompts.create()protobox skills createok
sdk.prompts.delete()protobox skills removeok
sdk.prompts.get()protobox skills getok
sdk.prompts.getRatings()protobox skills ratingsok
sdk.prompts.importGithub()protobox skills importok
sdk.prompts.list()protobox skillsok
sdk.prompts.rate()protobox skills rateok
sdk.prompts.update()protobox skills editok