@stage5/lumine 0.3.72 → 0.3.73

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/lib/sdk.js CHANGED
@@ -114,6 +114,8 @@ export const SDK_CLI_METHODS = {
114
114
  "sharedDb.getTopics": { path: "api/shared-db/topics", scopes: ["sharedDb:read"] },
115
115
  "sharedDb.createTopic": { path: "api/shared-db/topic", scopes: ["sharedDb:write"], write: true },
116
116
  "sharedDb.getEntries": { path: "api/shared-db/entries", scopes: ["sharedDb:read"] },
117
+ "sharedDb.queryEntries": { path: "api/shared-db/entries", scopes: ["sharedDb:read"],
118
+ mapArgs: ({ authorUserId, fields, where, countBy, includeAuthor, ...args }) => ({ ...args, query: { authorUserId, fields, where, countBy, includeAuthor } }) },
117
119
  "sharedDb.getEntriesByIds": { path: "api/shared-db/entries/by-ids", scopes: ["sharedDb:read"] },
118
120
  "sharedDb.addEntry": { path: "api/shared-db/entry", scopes: ["sharedDb:write"], write: true },
119
121
  "sharedDb.addEntries": { path: "api/shared-db/entries/batch", scopes: ["sharedDb:write"], write: true },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stage5/lumine",
3
- "version": "0.3.72",
3
+ "version": "0.3.73",
4
4
  "description": "Command line tools for launching Lumine builds on Twinkle.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,8 +1,8 @@
1
1
  # Build SDK Index
2
2
 
3
- Version: 1.73.0
4
- Updated: 2026-10-27
5
- Generated: 2026-10-26T22:37:17.385Z
3
+ Version: 1.74.0
4
+ Updated: 2026-10-29
5
+ Generated: 2026-10-28T20:08:43.889Z
6
6
 
7
7
  ## Platform rules
8
8
  Each rule below is a way an app breaks once it runs inside Twinkle's sandboxed frame, even when the code itself is correct. They outrank every other guideline: follow them in every change, including small ones, and fix any break of them you see in code you touch.
@@ -1402,6 +1402,19 @@ const result = await Twinkle.characters.chat({ character: 'zero', thinkingMode:
1402
1402
  - Use limit or pageSize to choose how many entries to fetch per page. Default is 20, max is 100.
1403
1403
  - For oldest-first chronological reads, pass order: 'asc' or order: 'oldest'. sort and direction are accepted as aliases.
1404
1404
  - Supports cursor-based pagination. Newest-first cursors page toward older entries; oldest-first cursors page toward newer entries.
1405
+ - async queryEntries(topicName, { limit, pageSize, cursor, order, authorUserId, fields, where, countBy, includeAuthor } = {}) | scopes: sharedDb:read
1406
+ - Returns: { entries?, groups?, cursor, hasMore, queryVersion: 1 }
1407
+ - Read selected shared data fields with server-side creator filtering, scalar matching and grouped counts.
1408
+ - Returns the same paginated entries as getEntries, plus queryVersion: 1.
1409
+ - authorUserId filters to one entry creator on the server. It does not change read or write permissions.
1410
+ - fields selects at most 24 top-level data field names; missing selected fields are null. Omit fields for complete data; [] returns only row metadata.
1411
+ - where: { field, equals } filters one top-level data field by exact JSON scalar equality (string, number, boolean or null).
1412
+ - Alternatively where: { field, truthy: true } requires a present JSON value other than null, false, zero or an empty string.
1413
+ - countBy groups matching entries by one top-level data field and returns { groups: [{ value, count }], cursor, hasMore, queryVersion: 1 } instead of entries. This avoids transferring documents just to count comments. Groups page in first-entry order; use the returned cursor with the same query. Per-viewer hidden entries are excluded before counting.
1414
+ - includeAuthor: false skips username/profile-photo enrichment for count/index reads; id, topicId, userId and timestamps remain available.
1415
+ - Field names use letters, digits and underscores, starting with a letter or underscore, at most 64 characters. No SQL or nested paths.
1416
+ - Keep the same filters/fields/order when passing a cursor. Reads retain app/topic boundaries, published guest opt-ins and per-viewer content visibility. Signed-in queries read canonical writer state.
1417
+ - Use metadata lists for browsing and getEntriesByIds only when a member opens a full recording/document.
1405
1418
  - async loadMoreEntries(topicName, { limit, pageSize, cursor, order, sort, direction } = {}) | scopes: sharedDb:read
1406
1419
  - Returns: { entries: [{ id, topicId, userId, username, profilePicUrl, data, createdAt, updatedAt }], cursor?, hasMore }
1407
1420
  - Fetch the next sharedDb page.