@thingd/cli
CLI, Interactive TUI Dashboard, and MCP server for thingd — a fast object-first data engine for applications and AI agents.
Versions
@thingd/cli0.71.0latest0.70.00.69.10.69.00.68.6+ show 122 moreshow less
0.68.50.68.40.68.30.68.20.68.10.68.00.67.30.67.20.67.10.67.00.66.00.65.100.65.90.65.80.65.70.65.60.65.50.65.40.65.30.65.20.65.10.65.00.64.10.64.00.63.00.62.00.61.00.60.00.59.00.58.20.58.10.58.00.57.00.56.00.55.00.54.00.53.20.53.10.53.00.52.100.52.90.52.80.52.70.52.60.52.50.52.40.52.30.52.20.52.10.52.00.51.40.51.30.51.20.51.10.51.00.50.50.50.40.50.30.50.20.50.10.50.00.49.90.49.80.49.70.49.60.49.50.49.40.49.30.49.20.49.10.49.00.48.10.48.00.47.50.47.40.47.30.47.20.47.10.47.00.46.00.45.10.45.00.44.30.44.20.44.10.44.00.43.00.42.10.42.00.41.30.41.20.41.10.41.00.40.30.40.20.40.10.40.00.39.00.38.20.38.10.38.00.37.110.37.100.37.90.37.80.37.70.37.60.37.50.37.40.37.30.37.20.37.10.37.00.36.00.35.00.34.00.33.20.33.10.33.00.32.20.32.00.31.0unattributed0.17.1latestTools 49
thing_search Search thingd objects and events by full-text query. Returns matching items ranked by relevance using Tantivy BM25 with stemming. Use this to find previously stored memories, notes, or events by keyword or phrase. Accepts a query string and optional filter by collection names, metadata key-value pairs, and a result limit. Returns an array of matching objects with relevance scores.
thing_get Read one thingd object by collection name and id. Returns the full object if found, or null if not found. Use this to retrieve a specific stored record when you know its exact collection and id. Returns a single object or null.
thing_put Create or replace one object-shaped memory record in a collection. The object must have an 'id' field. If an object with the same id already exists in the collection, it is replaced. Use this to store memories, notes, tasks, or any structured data. Returns the stored object with collection, version, and timestamps.
thing_delete Delete one thingd object by collection name and id. Permanently removes the object from the store. Returns a result indicating whether the deletion was successful. Use this to remove outdated or incorrect records.
thing_events_append Append an event to a named event stream. Events are append-only, ordered records with a 'type' field and arbitrary payload. Use this to record occurrences, state changes, or audit entries. Each event gets an auto-incremented sequence id. Returns the stored event with id, stream, and timestamp.
thing_events_list List events from a thingd stream, optionally filtered by stream name, starting from a specific sequence number, with a configurable limit, or filtered by timestamp. Use this to review recent activity, replay events, or audit changes. Returns an array of events ordered by sequence.
thing_queue_push Push a durable job onto a named queue. Jobs have a JSON payload and can include an idempotency key, max retry attempts, and a delay before the job becomes ready. Use this to schedule background work like processing, notifications, or data pipelines. Returns the created job with id, queue, and status.
thing_queue_claim Claim the next ready job from a queue. The job is leased for a configurable duration (default 30s). If not acked or nacked before the lease expires, it returns to the ready state. Returns the claimed job with payload, or null if no jobs are ready. Use this to process queue work in a worker loop.
thing_queue_ack Mark one leased queue job as completed. This removes the job from the queue permanently. Call this after successfully processing a claimed job. Returns a result with ok status and the final job status.
thing_queue_nack Reject a leased queue job for retry or dead-letter routing. If the job has remaining attempts, it goes back to ready (optionally after a delay). If attempts are exhausted, it moves to the dead-letter list. Optionally attach an error message. Returns a result with ok status and the updated job status.
thing_queue_list List all jobs in a queue across all states (ready, leased, dead-letter). Use this to inspect queue contents, monitor backlog, or debug stuck jobs. Returns an array of job objects with id, payload, status, attempts, and timestamps.
thing_queue_dead List dead-letter jobs in a queue. These are jobs that exhausted all retry attempts. Use this to inspect failed work, diagnose errors, or decide whether to retry or discard. Returns an array of dead-letter job objects.
thing_objects_list List objects in a collection with optional filtering, sorting, limit, and offset. Returns an array of objects. Use sortBy.field to sort by id, collection, created_at, updated_at, or version.
thing_count_objects Count all objects stored across all collections. Returns a single number representing the total object count. Use this for quick inventory checks or monitoring storage usage.
thing_count_objects_in_collection Count objects in a specific collection. Returns a single number. Uses an indexed query for O(log n) performance.
thing_count_events Count all events across all streams. Returns a single number representing the total event count. Use this to monitor event volume or check stream activity.
thing_count_active_jobs Count all active (non-dead) queue jobs across all queues. Includes ready, leased, and delayed jobs. Use this to monitor queue depth and worker load.
thing_count_dead_jobs Count all dead-letter queue jobs across all queues. These are jobs that failed all retry attempts. Use this to monitor failure rates and decide when to investigate or discard.
thing_list_collections List all object collection names in the store. Returns an array of collection name strings. Use this to discover what data is stored before searching or querying.
thing_list_streams List all event stream names in the store. Returns an array of stream name strings. Use this to discover available event streams before listing or appending events.
thing_list_queues List all queue names in the store. Returns an array of queue name strings. Use this to discover available queues before pushing or claiming jobs.
thing_create_index Create a functional index on a JSON body field for a collection. Subsequent listObjects calls with filter on this field will use the index for O(log n) lookups instead of full table scans. Idempotent — recreating an existing index is a no-op.
thing_delete_index Delete a custom functional index.
thing_list_indexes List all custom functional indexes. Returns an array of [collection, field] pairs.
thing_objects_put_batch Create or replace multiple objects in a collection in a single operation. More efficient than calling thing_put repeatedly. Returns the array of stored objects.
thing_objects_delete_batch Delete multiple objects by ID in a single operation. Returns the count of deleted objects.
thing_objects_get_batch Read multiple objects by ID in a single operation. Returns an array of objects (null for missing IDs). More efficient than calling thing_get repeatedly.
thing_link_create Create a directed graph link between two references (e.g., thingd objects, external URLs). You can optionally assign a linkType (e.g., 'parent', 'related_to'), weight, and metadata JSON string.
thing_link_delete Delete a graph link by its id. Returns an object with a deleted boolean.
thing_link_get Get a graph link by its id.
thing_link_neighbors Get all links connected to a specific reference. You can filter by direction (Outgoing, Incoming, Both) and linkType.
thing_link_count Count all graph links in the store.
thing_aggregate Run aggregate queries on objects in a collection. Supports count, sum, avg, min, max with optional groupBy and filter.
thing_timeseries Run time-series aggregation on objects. Buckets objects by hour/day/week/month and applies an aggregate function.
thing_vector_search Search objects by vector similarity (cosine similarity). Provide a query vector as an array of floats (e.g. [0.1, 0.2, 0.3]) and optionally set topK and a metadata filter. Returns matching objects ranked by similarity score.
thing_schema Reflect the schema of one or all collections by sampling stored objects. Returns inferred field names, types, and sample values.
thing_schema_validate Parse and validate schema.thingd source without changing stored data. Returns canonical schema JSON and a stable SHA-256 hash.
thing_migrations List durable schema migration records and their applied hashes.
thing_nlq Ask a natural language question about your data. Requires NLQ configuration with an LLM endpoint.
thing_scheduler_schedule Create or update a recurring schedule with a cron expression. Schedules persist across restarts and emit lifecycle events (started, completed, failed, disabled). The handler executes when the cron triggers. Returns the created schedule with nextRunAt.
thing_scheduler_schedule_interval Create a schedule that runs at a fixed interval (e.g. every 5 minutes). Accepts intervalMs for the delay between runs. Returns the created schedule.
thing_scheduler_schedule_once Create a schedule that runs once at a specific ISO timestamp. The schedule auto-disables after execution. Returns the created schedule.
thing_scheduler_list List all registered schedules with their current status, next run time, and run/fail counts. Returns an array of schedule objects.
thing_scheduler_get Get details of a single schedule by ID including its expression, next run, last status, and run/fail counts. Returns null if not found.
thing_scheduler_stats Get aggregate statistics for the scheduler: total schedules, enabled, disabled, currently running, and the next scheduled run.
thing_scheduler_pause Pause a schedule so it stops triggering. The schedule remains stored and can be resumed later. Returns the updated schedule.
thing_scheduler_resume Resume a paused schedule. The next run time is recalculated from the current time. Returns the updated schedule.
thing_scheduler_run Immediately execute a schedule's handler, regardless of its next run time. Useful for testing or manual triggers. The schedule must have a registered handler.
thing_scheduler_remove Permanently delete a schedule and its handler. This cannot be undone. Returns whether the schedule was deleted.
Permissions 4
network medium filesystem low shell high env_vars low