objectstack-query

Installation
SKILL.md

Query Design — ObjectStack Query DSL

Calling Convention — object is the FIRST ARGUMENT

Surface Shape Legal option keys
engine find / findOne engine.find('task', {…}, { context }) context, where, fields, orderBy, limit, offset, search, searchFields, expand — plus the six driver passthrough keys transaction, tenantId, tenantIds, timezone, bypassTenantAudit, preserveAudit
engine aggregate engine.aggregate('deal', {…}) context, where, groupBy, aggregations, having, timezone, search, searchFields — the two search keys filter the input rows before grouping, AND-ed with where, exactly as on find
engine count engine.count('task', {…}) context, where
protocol / REST findData({ object: 'task', query: {…} }) object sits OUTSIDE the query
nested expand value a QueryAST — { object, fields, where } (see Expand)

ENGINE_FIND_OPTION_KEYS / ENGINE_AGGREGATE_OPTION_KEYS are closed sets: a key outside the row is refused by name (find('task') does not recognise option 'bogus'), never ignored. A standalone { object: 'account', limit: 20 } literal is therefore a QueryAST — legal as findData's query or an expand value — not an engine option bag. top folds to limit, filter to where, before that check.

Installs
229
GitHub Stars
74
First Seen
Apr 14, 2026