You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 137010a
Browse filesBrowse the repository at this point in the historyBrowse files
fix(rest,spec): type-check the transport declaration's consumers, keep the id out of customer prose
Two CI reds, both this branch's own:
- `packages/rest` `typecheck` was never run: its `test` script covers only the `local` vitest project, and the type check is a separate script. The test layer held four errors, every one of them the declared `FindDataRequest['query'].where` INPUT union gaining the `FilterArray` arm the door already serves. Narrowed at the three read sites -- by REFUSING the other arm, not by casting past it -- and pinned the JSON-encoded filter string as the refusal the transport table deliberately makes it.
- `check:doc-authoring` refused an internal issue id inside `.describe()` prose, which is printed at the customer and resolves to nothing there. Moved to an adjacent `//` comment; regenerated the two reference pages the sentence projects into.
Claude-Session: https://claude.ai/code/session_01LvwGppdonww4zGLWZo5rho
Co-authored-by: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: content/docs/references/api/protocol.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -875,7 +875,7 @@ Enable package response
875
875
| :--- | :--- | :--- | :--- |
876
876
|**object**|`string`| ✅ | Object name (e.g. account) |
877
877
|**fields**|`string[]`| optional | Fields to retrieve — names of the queried object's OWN columns. A dotted path (`owner.name`) is not a projection: no driver resolves one, and the ingress refuses it with `400 INVALID_FIELD`. Related data is read with `expand`, whose nested QueryAST both filters (`where`) and selects (`fields`) the related record's columns. The projection must RETAIN the foreign-key column: `fields: ['title']` with `expand: 'project_id'` resolves nothing, because the relation is carried by that key — add `'project_id'` and it works. Where the value is wanted on the queried object itself, denormalise it onto that object (a stored field, written when the source changes), the same remedy the sort axis prescribes. |
878
-
|**where**|`[string, string, any] \| [string, string] \| [string, object, ...object[]] \| object[] \| Record<string, any> \| any`| optional | Filtering criteria (WHERE) — a filter condition, or the input-only `FilterArray` sugar (`['status', '=', 'open']`), which is lowered through `parseFilterAST` before the query is produced (#5158 ruling C). |
878
+
|**where**|`[string, string, any] \| [string, string] \| [string, object, ...object[]] \| object[] \| Record<string, any> \| any`| optional | Filtering criteria (WHERE) — a filter condition, or the input-only `FilterArray` sugar (`['status', '=', 'open']`), which is lowered through `parseFilterAST` before the query is produced. |
879
879
|**search**|`string \| { query: string; fields?: string[]; fuzzy?: boolean; operator?: Enum<'and' \| 'or'>; … }`| optional | Full-text search — the query text (canonical, ADR-0061 D1), or a structured FullTextSearch configuration |
880
880
|**searchFields**|`string[]`| optional | Narrow the search to these fields (server-intersected with the allowed searchable set — can only narrow, never widen; ADR-0061 D1) |
Copy file name to clipboardExpand all lines: content/docs/references/data/data-engine.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1280,7 +1280,7 @@ Transport spellings of the QueryAST slots — folded to canonical keys at the bo
1280
1280
| :--- | :--- | :--- | :--- |
1281
1281
|**object**|`string`| ✅ | Object name (e.g. account) |
1282
1282
|**fields**|`string[]`| optional | Fields to retrieve — names of the queried object's OWN columns. A dotted path (`owner.name`) is not a projection: no driver resolves one, and the ingress refuses it with `400 INVALID_FIELD`. Related data is read with `expand`, whose nested QueryAST both filters (`where`) and selects (`fields`) the related record's columns. The projection must RETAIN the foreign-key column: `fields: ['title']` with `expand: 'project_id'` resolves nothing, because the relation is carried by that key — add `'project_id'` and it works. Where the value is wanted on the queried object itself, denormalise it onto that object (a stored field, written when the source changes), the same remedy the sort axis prescribes. |
1283
-
|**where**|`[string, string, any] \| [string, string] \| [string, object, ...object[]] \| object[] \| Record<string, any> \| any`| optional | Filtering criteria (WHERE) — a filter condition, or the input-only `FilterArray` sugar (`['status', '=', 'open']`), which is lowered through `parseFilterAST` before the query is produced (#5158 ruling C). |
1283
+
|**where**|`[string, string, any] \| [string, string] \| [string, object, ...object[]] \| object[] \| Record<string, any> \| any`| optional | Filtering criteria (WHERE) — a filter condition, or the input-only `FilterArray` sugar (`['status', '=', 'open']`), which is lowered through `parseFilterAST` before the query is produced. |
1284
1284
|**search**|`string \| { query: string; fields?: string[]; fuzzy?: boolean; operator?: Enum<'and' \| 'or'>; … }`| optional | Full-text search — the query text (canonical, ADR-0061 D1), or a structured FullTextSearch configuration |
1285
1285
|**searchFields**|`string[]`| optional | Narrow the search to these fields (server-intersected with the allowed searchable set — can only narrow, never widen; ADR-0061 D1) |
// @ts-expect-error a JSON-ENCODED filter string is declared on NO filter spelling — lowering one means running a second parser beside the door's, which is the one thing the transport declaration refuses to do
0 commit comments