Procedures

Every procedure of the workspace, generated from the registry at build time. The input and output schemas are the schemas that the CLI and the MCP server use.

_discovery.*

_discovery.announceExchange procedure manifests for discoveryCLI

cli.*

cli.runRun a mark CLI commandCLI

client.*

client.absAbsolute valuebrowsernot registeredclient.addAdd two numbersbrowsernot registeredclient.allReturns true if all values are truthyMCPCLIbrowserclient.andShort-circuit AND (returns first falsy or last value)MCPCLIbrowserclient.anyReturns true if any value is truthyMCPCLIbrowserclient.arrConcatConcatenate multiple arraysbrowsernot registeredclient.arrLengthGet array lengthbrowsernot registeredclient.arrOmitRemove specified properties from all array itemsbrowsernot registeredclient.arrPickKeep only specified properties from all itemsbrowsernot registeredclient.betweenCheck if value is between min and max (inclusive by default)browsernot registeredclient.ceilRound up to nearest integerbrowsernot registeredclient.chainExecute procedures sequentiallyMCPCLIbrowserclient.coerceCoerce value to specified typebrowsernot registeredclient.concatConcatenate strings with optional separatorbrowsernot registeredclient.conditionalConditional execution (if/then/else)MCPCLIbrowserclient.constantReturn a constant valueMCPCLIbrowserclient.containsCheck if array contains valuebrowsernot registeredclient.countCount items matching criteria (or total if no criteria)browsernot registeredclient.divideDivide a by bbrowsernot registeredclient.endsWithCheck if string ends with search stringbrowsernot registeredclient.entriesGet array of [key, value] pairsbrowsernot registeredclient.eqStrict equality (===)browsernot registeredclient.evalEvaluate a procedure reference (for dynamic composition)browsernot registeredclient.exportSerialize procedure aggregation to JSON stringbrowsernot registeredclient.filterFilter array by property value or predicatebrowsernot registeredclient.firstGet first element of arraybrowsernot registeredclient.flattenFlatten nested arrays to specified depthbrowsernot registeredclient.floorRound down to nearest integerbrowsernot registeredclient.fromEntriesCreate object from [key, value] pairsbrowsernot registeredclient.getGet nested value from object by dot-separated pathbrowsernot registeredclient.groupByGroup array items by key valuebrowsernot registeredclient.gtGreater than (a > b)browsernot registeredclient.gteGreater than or equal (a >= b)browsernot registeredclient.hasCheck if object has a value at the specified pathbrowsernot registeredclient.identityReturn input unchangedMCPCLIbrowserclient.importParse procedure aggregation from JSON stringbrowsernot registeredclient.includesCheck if string contains search stringbrowsernot registeredclient.indexOfFind index of value in array (-1 if not found)browsernot registeredclient.isArrayCheck if value is an arraybrowsernot registeredclient.isBooleanCheck if value is a booleanbrowsernot registeredclient.isNilCheck if value is null or undefinedbrowsernot registeredclient.isNullCheck if value is nullbrowsernot registeredclient.isNumberCheck if value is a number (not NaN)browsernot registeredclient.isObjectCheck if value is a plain object (not array, not null)browsernot registeredclient.isStringCheck if value is a stringbrowsernot registeredclient.isUndefinedCheck if value is undefinedbrowsernot registeredclient.joinJoin array of strings with separatorbrowsernot registeredclient.keysGet array of object keysbrowsernot registeredclient.lastGet last element of arraybrowsernot registeredclient.lookupLook up procedure in registry by pathbrowsernot registeredclient.ltLess than (a < b)browsernot registeredclient.lteLess than or equal (a <= b)browsernot registeredclient.mapMap over an array: run fn for each item (the item is { $ref: "item" })MCPCLIbrowserclient.maxMaximum value from arraybrowsernot registeredclient.mergeMerge multiple objects (shallow or deep)browsernot registeredclient.minMinimum value from arraybrowsernot registeredclient.modModulo (remainder of a / b)browsernot registeredclient.multiplyMultiply two numbersbrowsernot registeredclient.neqStrict inequality (!==)browsernot registeredclient.noneReturns true if all values are falsyMCPCLIbrowserclient.notLogical NOTMCPCLIbrowserclient.nthGet element at index (supports negative indexing)browsernot registeredclient.omitOmit specified keys from objectbrowsernot registeredclient.orShort-circuit OR (returns first truthy or last value)MCPCLIbrowserclient.parallelExecute procedures in parallelMCPCLIbrowserclient.parseJsonParse JSON string (optionally with procedure ref support)browsernot registeredclient.partitionSplit array into two arrays based on predicatebrowsernot registeredclient.pickPick specified keys from objectbrowsernot registeredclient.pluckExtract single property from all itemsbrowsernot registeredclient.powRaise base to exponent powerbrowsernot registeredclient.pushAdd value to end of array (immutable)browsernot registeredclient.rangeGenerate array of numbers from start to end (exclusive)browsernot registeredclient.reduceReduce an array: run fn for each item (acc and item are $refs)MCPCLIbrowserclient.replaceReplace substring (first occurrence or all)browsernot registeredclient.reverseReverse array orderbrowsernot registeredclient.roundRound to nearest integer or specified decimal placesbrowsernot registeredclient.setSet nested value in object by dot-separated path (immutable)browsernot registeredclient.sliceExtract portion of arraybrowsernot registeredclient.sortSort array (optionally by key, optionally descending)browsernot registeredclient.splitSplit string by separatorbrowsernot registeredclient.sqrtSquare rootbrowsernot registeredclient.startsWithCheck if string starts with search stringbrowsernot registeredclient.stringifyJsonStringify value to JSON (with procedure ref support)browsernot registeredclient.strLengthGet string lengthbrowsernot registeredclient.substringExtract substring from start to end indexbrowsernot registeredclient.subtractSubtract b from abrowsernot registeredclient.sumSum of all values in arraybrowsernot registeredclient.templateString interpolation with {{key}} placeholdersbrowsernot registeredclient.throwThrow an errorMCPCLIbrowserclient.toLowerConvert string to lowercasebrowsernot registeredclient.toUpperConvert string to uppercasebrowsernot registeredclient.trimTrim whitespace from stringbrowsernot registeredclient.tryCatchTry/catch wrapper for proceduresMCPCLIbrowserclient.typeofGet type of value (string, number, boolean, object, array, null, undefined, function)browsernot registeredclient.uniqueRemove duplicate values (optionally by key)browsernot registeredclient.unshiftAdd value to beginning of array (immutable)browsernot registeredclient.unzipUnzip array of tuples into multiple arraysbrowsernot registeredclient.valuesGet array of object valuesbrowsernot registeredclient.whereFilter array where all key-value pairs matchbrowsernot registeredclient.zipZip multiple arrays into array of tuplesbrowsernot registered

core.*

core.catchExecute a procedure with error handlingCLI

cue.*

cue.addAdd a feature to dependencies.jsonMCPCLIcue.generateGenerate config files from dependencies.jsonMCPCLIcue.initInitialize dependencies.json with a presetMCPCLIcue.removeRemove a feature from dependencies.jsonMCPCLIcue.validateValidate dependencies.jsonMCPCLI

dag.*

dag.traverseTraverse ecosystem packages in dependency order, executing visit procedure for eachCLI

db.*

db.executeExecute a SQL statement (INSERT, UPDATE, DELETE)MCPCLIdb.queryExecute a SQL SELECT queryMCPCLI

docker.*

docker.buildBuild a Docker imageMCPCLIdocker.compose.downStop services with docker composeMCPCLIdocker.compose.upStart services with docker composeMCPCLIdocker.execExecute command in a running containerMCPCLIdocker.logsGet container logsMCPCLIdocker.psList containersMCPCLIdocker.pullPull a Docker imageMCPCLIdocker.rmRemove container(s)MCPCLIdocker.runRun a Docker containerMCPCLIdocker.stopStop running container(s)MCPCLI

ecosystem.*

ecosystem.proceduresList all procedures across the ecosystemCLI

fs.*

fs.copyCopy file or directoryCLIfs.existsCheck if file or directory existsCLIfs.globFind files matching glob patternCLIfs.mkdirCreate directoryCLIfs.moveMove or rename file/directoryCLIfs.readRead file contentsCLIfs.read.jsonRead and parse JSON fileCLIfs.readdirRead directory contentsCLIfs.rmRemove file or directoryCLIfs.statGet file or directory statsCLIfs.writeWrite content to fileCLI

git.*

git.addStage filesCLIgit.branchBranch operationsCLIgit.checkoutCheckout branch or filesCLIgit.cloneClone repositoryCLIgit.commitCreate commitCLIgit.diffShow changesCLIgit.fetchFetch from remoteCLIgit.hasChangesCheck if there are any changes (unstaged, staged, or untracked)CLIgit.hasLocalCommitsCheck if there are local commits that haven't been pushedCLIgit.hasStagedChangesCheck if there are any staged changes ready to commitCLIgit.hasUnstagedChangesCheck if there are any unstaged changesCLIgit.hasUntrackedFilesCheck if there are any untracked filesCLIgit.initInitialize a git repositoryCLIgit.isCleanCheck if the working directory is cleanCLIgit.logShow commit logCLIgit.pullPull from remoteCLIgit.pushPush to remoteCLIgit.remoteGet or set remote URLsCLIgit.stash.applyApply stash without removingCLIgit.stash.dropDrop a stashCLIgit.stash.exportExport stash as patch for snapshot storageCLIgit.stash.importImport stash from patchCLIgit.stash.listList all stashesCLIgit.stash.popPop stash (apply and remove)CLIgit.stash.pushPush changes to stashCLIgit.statusGet git statusCLI

lib.*

lib.auditAudit ecosystem packages for issuesMCPCLIlib.newCreate a new package in the ecosystemMCPCLIlib.renameRename a package across the ecosystemMCPCLIlib.scanScan for packages in the git directoryMCPCLI

logs.*

logs.queryQuery log entries from the databaseMCPCLIlogs.storeStore a log entry in the databaseMCPCLI

manifest.*

manifest.generateGenerate procedure manifests in various formatsCLI

mcp.*

mcp.list-toolsList available MCP tools from the procedure registrymcp.serveStart MCP server to expose procedures as tools

mongo.*

mongo.collections.createCreate a new collectionMCPCLImongo.collections.dropDrop (delete) a collectionMCPCLImongo.collections.listList all collections in the databaseMCPCLImongo.collections.statsGet collection statisticsMCPCLImongo.database.infoGet database information and statisticsMCPCLImongo.database.pingHealth check and connectivity testMCPCLImongo.documents.aggregateRun an aggregation pipelineMCPCLImongo.documents.countCount documents matching a filterMCPCLImongo.documents.deleteDelete documents matching a filterMCPCLImongo.documents.findFind documents with pagination and filteringMCPCLImongo.documents.getGet a single document by IDMCPCLImongo.documents.insertInsert one or more documentsMCPCLImongo.documents.updateUpdate documents matching a filterMCPCLImongo.indexes.createCreate an index on a collectionMCPCLImongo.indexes.dropDrop an index from a collectionMCPCLImongo.indexes.listList indexes on a collectionMCPCLI

node.*

node.killKill a spawned Node.js processCLInode.runRun a Node.js script and wait for completionCLInode.spawnSpawn a long-running Node.js processCLInode.statusGet status of running Node.js processesCLI

pnpm.*

pnpm.addAdd packages using pnpmCLIpnpm.installInstall packages using pnpmCLIpnpm.linkLink packages using pnpmCLIpnpm.removeRemove packages using pnpmCLIpnpm.runRun package scripts using pnpmCLIpnpm.store.pathGet pnpm store path for snapshot/restoreCLI

procedure.*

procedure.defineDefine a new procedure from an aggregationMCPCLIbrowserprocedure.deleteDelete a runtime-defined procedureMCPCLIbrowserprocedure.exportExport a procedure definition as JSONMCPCLIprocedure.getDescribe a procedure by path or keyMCPCLIbrowserprocedure.listList the registered proceduresMCPCLIbrowserprocedure.loadDefine the stored programs again (procedure.define), after a restartCLIprocedure.newScaffold a new procedure with types and registration boilerplateMCPCLIprocedure.registerRegister a procedure at runtimeCLIprocedure.remoteThe status of the program store of the registryCLIprocedure.storeWrite the program of a procedure that procedure.define made to the program storeCLIprocedure.syncSynchronize the runtime-defined procedures of the registry with the program storeCLI

s3.*

s3.deleteDelete object from S3 bucketCLIs3.downloadDownload content from S3 bucketCLIs3.listList objects in S3 bucketCLIs3.listAllList ALL objects in S3 bucket, following continuation tokens (unbounded by 1000)CLIs3.multipart.abortAbort multipart upload and clean up partsCLIs3.multipart.completeComplete multipart upload by assembling partsCLIs3.multipart.initInitialize multipart upload for large filesCLIs3.multipart.uploadUpload a part in multipart uploadCLIs3.uploadUpload content to S3 bucketCLI

server.*

server.callCall a procedure on a remote peer through an outbound connectionCLIserver.connectConnect to a remote peer for bidirectional RPCCLIserver.connectionsList outbound connections to remote peersCLIserver.createCreate a transport-agnostic peer that exposes proceduresCLIserver.disconnectDisconnect from a remote peerCLIserver.startStart CLI server as background daemonCLIserver.statusGet CLI server statusCLIserver.stopStop running CLI serverCLI

shell.*

shell.execExecute command string via shellCLIshell.runRun a command with argumentsCLIshell.streamRun a command and stream each output line as it arrivesCLIshell.whichFind the path to a commandCLI

snapshot.*

snapshot.createCreate environment snapshot and upload to S3CLIsnapshot.deleteDelete a snapshot from S3CLIsnapshot.diffCompare current state against a snapshotCLIsnapshot.listList available snapshots in S3 bucketCLIsnapshot.restoreRestore environment from S3 snapshotCLI

splay.*

splay.bridge.healthHealth check for client-splay bridgeCLIsplay.bridge.infoGet client-splay bridge informationCLI

vite.*

vite.buildBuild for productionCLIvite.devStart Vite dev serverCLIvite.previewPreview production buildCLIvite.stopStop a running Vite serverCLI

vitest.*

vitest.coverageRun vitest once with coverage, and check a minimum line coverage (no shell)MCPCLIvitest.listList the vitest watch processes of this hostCLIvitest.runRun vitest tests once (no shell; uses the project's own vitest)MCPCLIvitest.stopStop a vitest watch process (all of them without an id)CLIvitest.watchStart vitest in watch mode (no shell; uses the project's own vitest)CLI