@happyvertical/smrt-content 0.44.1 → 0.45.1

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.
Files changed (31) hide show
  1. package/agents/content-list.md +32 -9
  2. package/dist/chunks/{content-query-D1bLBzMT.js → content-query-BZi_ZM_c.js} +4 -4
  3. package/dist/chunks/{content-query-D1bLBzMT.js.map → content-query-BZi_ZM_c.js.map} +1 -1
  4. package/dist/chunks/{content-versions-B0OUI1ut.js → content-versions-D97wSfi0.js} +2 -2
  5. package/dist/chunks/{content-versions-B0OUI1ut.js.map → content-versions-D97wSfi0.js.map} +1 -1
  6. package/dist/chunks/{contents-CRG2Snrb.js → contents-D-qco7wz.js} +2 -2
  7. package/dist/chunks/{contents-CRG2Snrb.js.map → contents-D-qco7wz.js.map} +1 -1
  8. package/dist/index.js +4 -4
  9. package/dist/manifest.json +2079 -4183
  10. package/dist/server/content-list-data-surface.d.ts +29 -0
  11. package/dist/server/content-list-data-surface.d.ts.map +1 -0
  12. package/dist/server.d.ts +1 -0
  13. package/dist/server.d.ts.map +1 -1
  14. package/dist/server.js +60 -2
  15. package/dist/server.js.map +1 -1
  16. package/dist/smrt-knowledge.json +4230 -2461
  17. package/dist/svelte/components/ContentList.svelte +346 -19
  18. package/dist/svelte/components/ContentList.svelte.d.ts +1 -1
  19. package/dist/svelte/components/ContentList.svelte.d.ts.map +1 -1
  20. package/dist/svelte/components/ContentListLifecyclePanel.svelte +52 -6
  21. package/dist/svelte/components/ContentListLifecyclePanel.svelte.d.ts.map +1 -1
  22. package/dist/svelte/content-list-controller.d.ts +10 -0
  23. package/dist/svelte/content-list-controller.d.ts.map +1 -1
  24. package/dist/svelte/content-list-controller.js +111 -26
  25. package/dist/svelte/content-list-data-surface.d.ts +45 -0
  26. package/dist/svelte/content-list-data-surface.d.ts.map +1 -0
  27. package/dist/svelte/content-list-data-surface.js +196 -0
  28. package/dist/svelte/index.d.ts +1 -0
  29. package/dist/svelte/index.d.ts.map +1 -1
  30. package/dist/svelte/index.js +1 -0
  31. package/package.json +15 -15
@@ -197,6 +197,25 @@ Adapter exports (also re-exported from `./svelte`): `createContentListController
197
197
  `resolveSelectedContentListRows`, `resolveSelectedContents`, plus the
198
198
  `CONTENT_LIST_*` identity constants.
199
199
 
200
+ ## Agent data-surface conformance (#2456)
201
+
202
+ `dataSurface` publishes the mounted list's readable columns, supported query
203
+ operators, visible state, selection scope, freshness, and only the actions its
204
+ mounted workflow/lifecycle bindings can execute. Visible commands run through
205
+ the registry's revision check; their acknowledgements describe the accepted
206
+ controller revision, while a disconnected registry refuses them.
207
+
208
+ For silent agent reads, register
209
+ `createContentListDataSurfaceDefinition({ collection, scope })` from
210
+ `@happyvertical/smrt-content/server` in the server-owned
211
+ `createDataSurfaceTools()` catalog. The factory resolves both the collection
212
+ and optional application scope from the live principal context, then delegates
213
+ rows, counts, facets, and offset continuations to `executeContentQuery()`.
214
+ Tenant, hidden, and sensitive fields remain outside discovery and projection;
215
+ the model request can only narrow the trusted scope. Durable actions continue
216
+ through `createContentListActionAdapter()` and its principal-bound
217
+ preview/apply contract rather than through the browser registry.
218
+
200
219
  Notes:
201
220
 
202
221
  - Controller modes are all `manual`: the adapter owns search, filters, sorting,
@@ -249,15 +268,19 @@ Notes:
249
268
  — which owns both in compact mode — is not mounted there. A page size arriving
250
269
  from a saved view or a surface command would otherwise strand the operator on
251
270
  page one, and a refresh over retained rows would be silent.
252
- - `dataSurface` registers the compact table only. Agent addressability for the
253
- grid and detailed presentations lands with #2456.
254
- - Compact mode stays mounted for empty and loading results — DataTable renders
255
- its own `empty` snippet and loading row — because it owns the mounted surface:
256
- swapping it for the shared empty panel unregisters the surface, and an agent
257
- whose own search returned nothing then gets `not_found` on the command that
258
- would undo it. The shared loading/empty panels are the card presentations'
259
- only; the `error` branch still replaces the list in every mode, since a load
260
- failure is host-driven rather than surface-driven.
271
+ - `dataSurface` registers at the `ContentList` boundary, independently of its
272
+ renderer. Grid, detailed, compact, loading, empty, and error presentations
273
+ therefore retain one stable surface identity. A `set-view` command updates
274
+ the published `viewMode` and revision before the renderer changes, so its
275
+ acknowledgement always describes the accepted presentation.
276
+ - The mounted snapshot publishes the controller state and normalized selection
277
+ together with the active query fingerprint, total, presentation, and
278
+ freshness (`stale`, `refreshing`, `offline`, last update, truncation, and
279
+ warnings). Context-only changes advance the same revision stream as visible
280
+ controller commands; stale command revisions are refused by the registry.
281
+ - Discovery publishes per-column search/filter/sort operators. A server-backed
282
+ list narrows the derived `site` column to read-only because the content query
283
+ translator cannot soundly project, filter, or sort that display value.
261
284
 
262
285
  ## ContentList server-backed mode (#2452)
263
286