@granular-software/sdk 0.4.27 → 0.4.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -15035,6 +15035,11 @@ Scalar fields are filterable by default. Set \`"filterBy": false\` only when a f
15035
15035
  String fields are searchable by default. Set \`"searchable": false\` only when a field should be excluded from generated full-text search surfaces and heavy full-text indexes.
15036
15036
  \`search\` is broad class-wide retrieval across all searchable string fields of a class. It is not a field-scoped operator. Use \`filter\` for exact field-specific constraints, and combine \`search\` + \`filter\` when you need both flexible text matching and exact structure.
15037
15037
  Runtime note: class-wide \`search\` is implemented as one denormalized full-text search document per class instance, built from that instance's searchable string fields. Exact field constraints still belong in \`filter\`.
15038
+ Preferred search ladder: start with plain text such as \`find({ search: "example name" })\`. If results are empty or ambiguous, retry with RediSearch-style fuzzy / prefix / OR operators. Add \`filter\` only when you need exact structural narrowing.
15039
+ Plain string \`search\` is normalized for human text before it reaches full-text search, so case, punctuation, repeated whitespace, and diacritics do not need to be manually enumerated in agent code.
15040
+ Do not manually enumerate capitalization / punctuation / spacing variants in agent code. Use plain \`search\` first, then escalate to fuzzy / prefix / OR operators only if the first pass is empty or ambiguous.
15041
+ Sorting is first-class too: use generated runtime syntax like \`page({ perPage: 10, sort: { field: "year", order: "asc" } })\` or GraphQL syntax like \`direct_instances(per_page: 10, sort: { at: "year", order: ASC })\` when result order matters.
15042
+ Sorting is applied in FalkorDB before pagination and limit selection. Do not load a page and sort it afterward in agent code.
15038
15043
  Optional indexing note: \`"searchable": { "phonetic": true }\` keeps the field searchable and enables FalkorDB phonetic matching for the class-wide search index. Query syntax does not change; agents should keep using normal \`search\` strings.
15039
15044
  Without an explicit sort, indexed \`search\` results are returned in FalkorDB relevance order. If you pass a sort, that explicit sort takes precedence.
15040
15045
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@granular-software/sdk",
3
- "version": "0.4.27",
3
+ "version": "0.4.29",
4
4
  "description": "TypeScript SDK and CLI for Granular - define, build, and deploy AI sandboxes",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",