lemma-sdk 0.2.35 → 0.2.37

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 (188) hide show
  1. package/README.md +126 -43
  2. package/dist/browser/lemma-client.js +456 -169
  3. package/dist/client.d.ts +1 -2
  4. package/dist/client.js +1 -3
  5. package/dist/index.d.ts +1 -1
  6. package/dist/namespaces/agents.js +1 -1
  7. package/dist/namespaces/conversations.d.ts +73 -0
  8. package/dist/namespaces/conversations.js +174 -0
  9. package/dist/namespaces/files.d.ts +24 -6
  10. package/dist/namespaces/files.js +25 -12
  11. package/dist/namespaces/integrations.d.ts +10 -2
  12. package/dist/namespaces/integrations.js +17 -2
  13. package/dist/namespaces/pod-surfaces.d.ts +1 -1
  14. package/dist/namespaces/pod-surfaces.js +6 -6
  15. package/dist/namespaces/tasks.d.ts +1 -5
  16. package/dist/namespaces/tasks.js +54 -12
  17. package/dist/openapi_client/index.d.ts +27 -34
  18. package/dist/openapi_client/index.js +9 -12
  19. package/dist/openapi_client/models/AdminConsentInfoResponse.d.ts +2 -2
  20. package/dist/openapi_client/models/AgentListResponse.d.ts +2 -4
  21. package/dist/openapi_client/models/AgentMessageResponse.d.ts +0 -3
  22. package/dist/openapi_client/models/{AvailableModels.d.ts → AgentModelName.d.ts} +4 -1
  23. package/dist/openapi_client/models/AgentModelName.js +18 -0
  24. package/dist/openapi_client/models/AgentResponse.d.ts +18 -13
  25. package/dist/openapi_client/models/AgentSurfaceListResponse.d.ts +6 -0
  26. package/dist/openapi_client/models/{AssistantSurfaceResponse.d.ts → AgentSurfaceResponse.d.ts} +6 -5
  27. package/dist/openapi_client/models/{AssistantSurfaceStatus.d.ts → AgentSurfaceStatus.d.ts} +1 -1
  28. package/dist/openapi_client/models/AgentSurfaceStatus.js +10 -0
  29. package/dist/openapi_client/models/{ToolSet.d.ts → AgentToolset.d.ts} +3 -5
  30. package/dist/openapi_client/models/AgentToolset.js +17 -0
  31. package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +3 -5
  32. package/dist/openapi_client/models/ApplicationMode.d.ts +3 -3
  33. package/dist/openapi_client/models/ApplicationMode.js +3 -3
  34. package/dist/openapi_client/models/ConversationResponse.d.ts +9 -20
  35. package/dist/openapi_client/models/CreateAgentRequest.d.ts +11 -7
  36. package/dist/openapi_client/models/CreateConversationRequest.d.ts +4 -8
  37. package/dist/openapi_client/models/CreateFolderRequest.d.ts +2 -5
  38. package/dist/openapi_client/models/CreateFunctionRequest.d.ts +2 -2
  39. package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +1 -1
  40. package/dist/openapi_client/models/DatastoreFileUploadRequest.d.ts +2 -2
  41. package/dist/openapi_client/models/FeedbackCategory.d.ts +7 -0
  42. package/dist/openapi_client/models/FeedbackCategory.js +12 -0
  43. package/dist/openapi_client/models/FileNamespace.d.ts +4 -0
  44. package/dist/openapi_client/models/FileNamespace.js +9 -0
  45. package/dist/openapi_client/models/FileResponse.d.ts +2 -2
  46. package/dist/openapi_client/models/FlowRunEntity.d.ts +11 -1
  47. package/dist/openapi_client/models/FunctionResponse.d.ts +2 -2
  48. package/dist/openapi_client/models/HarnessKind.d.ts +7 -0
  49. package/dist/openapi_client/models/HarnessKind.js +12 -0
  50. package/dist/openapi_client/models/IntegrationHelperAgentRequest.d.ts +13 -0
  51. package/dist/openapi_client/models/IntegrationHelperAgentResponse.d.ts +25 -0
  52. package/dist/openapi_client/models/MessageListResponse.d.ts +6 -0
  53. package/dist/openapi_client/models/MessageResponse.d.ts +17 -0
  54. package/dist/openapi_client/models/OperationDetail.d.ts +3 -0
  55. package/dist/openapi_client/models/OperationDetailsBatchRequest.d.ts +9 -0
  56. package/dist/openapi_client/models/OperationDetailsBatchResponse.d.ts +18 -0
  57. package/dist/openapi_client/models/OperationDiscoverResponse.d.ts +26 -0
  58. package/dist/openapi_client/models/OperationSummary.d.ts +3 -0
  59. package/dist/openapi_client/models/OrganizationCreateRequest.d.ts +2 -0
  60. package/dist/openapi_client/models/OrganizationInvitationRequest.d.ts +1 -0
  61. package/dist/openapi_client/models/OrganizationInvitationResponse.d.ts +4 -0
  62. package/dist/openapi_client/models/OrganizationMessageResponse.d.ts +1 -0
  63. package/dist/openapi_client/models/OrganizationResponse.d.ts +2 -0
  64. package/dist/openapi_client/models/OrganizationSlugAvailabilityResponse.d.ts +7 -0
  65. package/dist/openapi_client/models/ReportFeedbackRequest.d.ts +30 -0
  66. package/dist/openapi_client/models/ReportFeedbackResponse.d.ts +25 -0
  67. package/dist/openapi_client/models/ResourceType.d.ts +0 -1
  68. package/dist/openapi_client/models/ResourceType.js +0 -1
  69. package/dist/openapi_client/models/SendMessageRequest.d.ts +5 -0
  70. package/dist/openapi_client/models/{ToolCallRequest.d.ts → ToolCallContent.d.ts} +1 -1
  71. package/dist/openapi_client/models/{ToolCallResponse.d.ts → ToolReturnContent.d.ts} +2 -1
  72. package/dist/openapi_client/models/UpdateAgentRequest.d.ts +11 -7
  73. package/dist/openapi_client/models/UpdateConversationRequest.d.ts +2 -5
  74. package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +2 -2
  75. package/dist/openapi_client/models/WorkflowInstallListResponse.d.ts +4 -0
  76. package/dist/openapi_client/models/app__modules__agent__domain__value_objects__TableAccessEntry.d.ts +8 -0
  77. package/dist/openapi_client/models/{TableAccessEntry.d.ts → app__modules__function__api__schemas__function_schemas__TableAccessEntry.d.ts} +1 -1
  78. package/dist/openapi_client/models/update.d.ts +2 -2
  79. package/dist/openapi_client/services/AgentConversationsService.d.ts +97 -0
  80. package/dist/openapi_client/services/AgentConversationsService.js +217 -0
  81. package/dist/openapi_client/services/{AssistantSurfacesIngressService.d.ts → AgentSurfacesIngressService.d.ts} +2 -2
  82. package/dist/openapi_client/services/{AssistantSurfacesIngressService.js → AgentSurfacesIngressService.js} +2 -2
  83. package/dist/openapi_client/services/{AssistantSurfacesService.d.ts → AgentSurfacesService.d.ts} +11 -11
  84. package/dist/openapi_client/services/{AssistantSurfacesService.js → AgentSurfacesService.js} +10 -10
  85. package/dist/openapi_client/services/AgentToolsService.d.ts +24 -4
  86. package/dist/openapi_client/services/AgentToolsService.js +40 -4
  87. package/dist/openapi_client/services/AgentsService.d.ts +7 -7
  88. package/dist/openapi_client/services/AgentsService.js +8 -8
  89. package/dist/openapi_client/services/ApplicationsService.d.ts +10 -9
  90. package/dist/openapi_client/services/ApplicationsService.js +11 -10
  91. package/dist/openapi_client/services/FilesService.d.ts +17 -8
  92. package/dist/openapi_client/services/FilesService.js +25 -8
  93. package/dist/openapi_client/services/IntegrationsService.d.ts +3 -2
  94. package/dist/openapi_client/services/IntegrationsService.js +4 -2
  95. package/dist/openapi_client/services/OrganizationsService.d.ts +18 -0
  96. package/dist/openapi_client/services/OrganizationsService.js +40 -0
  97. package/dist/openapi_client/services/WorkflowsService.d.ts +10 -0
  98. package/dist/openapi_client/services/WorkflowsService.js +21 -0
  99. package/dist/react/useAgentRun.d.ts +28 -7
  100. package/dist/react/useAgentRun.js +120 -27
  101. package/dist/react/useAssistantController.d.ts +6 -2
  102. package/dist/react/useAssistantController.js +57 -14
  103. package/dist/react/useAssistantSession.d.ts +15 -3
  104. package/dist/react/useAssistantSession.js +19 -15
  105. package/dist/react/useConversationMessages.d.ts +6 -2
  106. package/dist/react/useConversationMessages.js +2 -1
  107. package/dist/react/useConversations.d.ts +6 -2
  108. package/dist/react/useConversations.js +7 -5
  109. package/dist/react/useCreateFolder.d.ts +4 -2
  110. package/dist/react/useCreateFolder.js +6 -3
  111. package/dist/react/useDeleteFile.d.ts +4 -1
  112. package/dist/react/useDeleteFile.js +3 -3
  113. package/dist/react/useFile.d.ts +4 -2
  114. package/dist/react/useFile.js +3 -3
  115. package/dist/react/useFilePreview.d.ts +4 -1
  116. package/dist/react/useFilePreview.js +5 -4
  117. package/dist/react/useFileTree.d.ts +4 -2
  118. package/dist/react/useFileTree.js +3 -2
  119. package/dist/react/useFiles.d.ts +4 -2
  120. package/dist/react/useFiles.js +5 -3
  121. package/dist/react/useUpdateFile.d.ts +4 -2
  122. package/dist/react/useUpdateFile.js +6 -3
  123. package/dist/react/useUploadFile.d.ts +4 -2
  124. package/dist/react/useUploadFile.js +6 -3
  125. package/dist/react/useWorkflowRun.js +1 -1
  126. package/dist/react/useWorkflowStart.js +1 -1
  127. package/dist/run-utils.d.ts +2 -1
  128. package/dist/types.d.ts +62 -6
  129. package/package.json +1 -1
  130. package/dist/namespaces/assistants.d.ts +0 -96
  131. package/dist/namespaces/assistants.js +0 -160
  132. package/dist/openapi_client/models/AddMessageRequest.d.ts +0 -6
  133. package/dist/openapi_client/models/AppDescriptorResponse.d.ts +0 -5
  134. package/dist/openapi_client/models/AssistantListResponse.d.ts +0 -6
  135. package/dist/openapi_client/models/AssistantResponse.d.ts +0 -23
  136. package/dist/openapi_client/models/AssistantSurfaceListResponse.d.ts +0 -6
  137. package/dist/openapi_client/models/AssistantSurfaceStatus.js +0 -10
  138. package/dist/openapi_client/models/AvailableModelInfo.d.ts +0 -8
  139. package/dist/openapi_client/models/AvailableModels.js +0 -15
  140. package/dist/openapi_client/models/AvailableModelsListResponse.d.ts +0 -7
  141. package/dist/openapi_client/models/ConversationMessageListResponse.d.ts +0 -6
  142. package/dist/openapi_client/models/ConversationMessageResponse.d.ts +0 -19
  143. package/dist/openapi_client/models/ConversationStatus.d.ts +0 -7
  144. package/dist/openapi_client/models/ConversationStatus.js +0 -12
  145. package/dist/openapi_client/models/ConversationType.d.ts +0 -8
  146. package/dist/openapi_client/models/ConversationType.js +0 -13
  147. package/dist/openapi_client/models/CreateAssistantRequest.d.ts +0 -18
  148. package/dist/openapi_client/models/CreateMessageRequest.d.ts +0 -6
  149. package/dist/openapi_client/models/CreateTaskRequest.d.ts +0 -10
  150. package/dist/openapi_client/models/FileVisibility.d.ts +0 -4
  151. package/dist/openapi_client/models/FileVisibility.js +0 -9
  152. package/dist/openapi_client/models/OperationListResponse.d.ts +0 -6
  153. package/dist/openapi_client/models/TaskListResponse.d.ts +0 -9
  154. package/dist/openapi_client/models/TaskMessageListResponse.d.ts +0 -9
  155. package/dist/openapi_client/models/TaskMessageResponse.d.ts +0 -15
  156. package/dist/openapi_client/models/TaskResponse.d.ts +0 -16
  157. package/dist/openapi_client/models/TaskResponse.js +0 -1
  158. package/dist/openapi_client/models/TaskStatus.d.ts +0 -12
  159. package/dist/openapi_client/models/TaskStatus.js +0 -17
  160. package/dist/openapi_client/models/ToolCallRequest.js +0 -1
  161. package/dist/openapi_client/models/ToolCallResponse.js +0 -1
  162. package/dist/openapi_client/models/ToolSet.js +0 -19
  163. package/dist/openapi_client/models/UpdateAssistantRequest.d.ts +0 -17
  164. package/dist/openapi_client/models/UpdateAssistantRequest.js +0 -1
  165. package/dist/openapi_client/services/AssistantsService.d.ts +0 -49
  166. package/dist/openapi_client/services/AssistantsService.js +0 -112
  167. package/dist/openapi_client/services/ConversationsService.d.ts +0 -88
  168. package/dist/openapi_client/services/ConversationsService.js +0 -202
  169. package/dist/openapi_client/services/TasksService.d.ts +0 -76
  170. package/dist/openapi_client/services/TasksService.js +0 -167
  171. /package/dist/openapi_client/models/{AddMessageRequest.js → AgentSurfaceListResponse.js} +0 -0
  172. /package/dist/openapi_client/models/{AppDescriptorResponse.js → AgentSurfaceResponse.js} +0 -0
  173. /package/dist/openapi_client/models/{AssistantListResponse.js → IntegrationHelperAgentRequest.js} +0 -0
  174. /package/dist/openapi_client/models/{AssistantResponse.js → IntegrationHelperAgentResponse.js} +0 -0
  175. /package/dist/openapi_client/models/{AssistantSurfaceListResponse.js → MessageListResponse.js} +0 -0
  176. /package/dist/openapi_client/models/{AssistantSurfaceResponse.js → MessageResponse.js} +0 -0
  177. /package/dist/openapi_client/models/{AvailableModelInfo.js → OperationDetailsBatchRequest.js} +0 -0
  178. /package/dist/openapi_client/models/{AvailableModelsListResponse.js → OperationDetailsBatchResponse.js} +0 -0
  179. /package/dist/openapi_client/models/{ConversationMessageListResponse.js → OperationDiscoverResponse.js} +0 -0
  180. /package/dist/openapi_client/models/{ConversationMessageResponse.js → OrganizationSlugAvailabilityResponse.js} +0 -0
  181. /package/dist/openapi_client/models/{CreateAssistantRequest.js → ReportFeedbackRequest.js} +0 -0
  182. /package/dist/openapi_client/models/{CreateMessageRequest.js → ReportFeedbackResponse.js} +0 -0
  183. /package/dist/openapi_client/models/{CreateTaskRequest.js → SendMessageRequest.js} +0 -0
  184. /package/dist/openapi_client/models/{OperationListResponse.js → ToolCallContent.js} +0 -0
  185. /package/dist/openapi_client/models/{TableAccessEntry.js → ToolReturnContent.js} +0 -0
  186. /package/dist/openapi_client/models/{TaskListResponse.js → WorkflowInstallListResponse.js} +0 -0
  187. /package/dist/openapi_client/models/{TaskMessageListResponse.js → app__modules__agent__domain__value_objects__TableAccessEntry.js} +0 -0
  188. /package/dist/openapi_client/models/{TaskMessageResponse.js → app__modules__function__api__schemas__function_schemas__TableAccessEntry.js} +0 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  `lemma-sdk` is the headless TypeScript SDK for Lemma. Use `lemma-sdk` for the core client and shared helpers, and use `lemma-sdk/react` as the main app-building surface for hooks and auth primitives.
4
4
 
5
- `AuthGuard` intentionally stays in `lemma-sdk/react`. The product direction is hooks-first and shell-agnostic. The registry remains available, but it is intentionally small and no longer the center of the recommended development model. See [docs/headless-first-direction.md](docs/headless-first-direction.md).
5
+ `AuthGuard` intentionally stays in `lemma-sdk/react`. The product direction remains hooks-first and shell-agnostic, and the registry ships stock Lemma UI blocks when you want installable agent conversation, records, file, workflow, collaboration, or shell surfaces.
6
6
 
7
7
  ## Install
8
8
 
@@ -43,7 +43,7 @@ const tables = await client.tables.list();
43
43
  const records = await client.records.list("tickets");
44
44
  ```
45
45
 
46
- Pod-scoped namespaces include `tables`, `records`, `assistants`, `agents`, `tasks`, `workflows`, `functions`, `files`, `desks`, `integrations`, `resources`, and `datastore`.
46
+ Pod-scoped namespaces include `tables`, `records`, `agents`, `conversations`, `workflows`, `functions`, `files`, `desks`, `integrations`, `resources`, and `datastore`. New runtime code should use agents plus conversations.
47
47
 
48
48
  Org and user surfaces include `users`, `organizations`, `pods`, `podMembers`, `podJoinRequests`, and `podSurfaces`.
49
49
 
@@ -77,9 +77,9 @@ import {
77
77
  | Tables | `useTables`, `useTable`, `useRecords`, `useRecord`, `useJoinedRecords`, `useRelatedRecords`, `useReverseRelatedRecords`, `useReferencingRecords`, `useDatastoreQuery`, `useRecordAggregates` | Stable | Build custom table browsers, details views, related-record views, raw SQL-backed reads, and chart/KPI queries. |
78
78
  | Record mutations | `useCreateRecord`, `useUpdateRecord`, `useDeleteRecord`, `useBulkRecords` | Stable | Create, update, delete, or bulk-delete rows from headless UI. Function-backed mutations via `createVia`/`updateVia` options. |
79
79
  | Record forms | `useRecordSchema`, `useRecordForm`, `useForeignKeyOptions`, `useSchemaForm` | Stable | Render schema-driven record forms, enum fields, and foreign-key selectors. `useRecordForm` is the canonical table-bound form hook; `useSchemaForm` remains available for raw JSON-schema flows. |
80
- | Files | `useFiles`, `useFile`, `useUploadFile`, `useUpdateFile`, `useDeleteFile`, `useCreateFolder`, `useFileSearch`, `useFileTree`, `useFilePreview`, `useGlobalSearch` | Stable | Browse datastore folders, mutate file state, search indexed files, load directory trees, preview content, and compose multi-source desk search. |
81
- | Assistant | `useConversations`, `useConversation`, `useConversationMessages`, `useAssistantRun`, `useAssistantSession`, `useAssistantRuntime`, `useAssistantController` | Stable except controller/runtime | Build custom chat, conversation lists, streaming output, and final-output views. |
82
- | Agents | `useAgentRun`, `useAgentRuns`, `useAgentInputSchema`, `useTaskSession` | Stable except raw session | Start agent tasks, submit follow-up input, read task history, and inspect input/output schemas. |
80
+ | Files | `useFiles`, `useFile`, `useUploadFile`, `useUpdateFile`, `useDeleteFile`, `useCreateFolder`, `useFileSearch`, `useFileTree`, `useFilePreview`, `useGlobalSearch` | Stable | Browse private or pod folders, mutate file state, search indexed files, load directory trees, preview content, and compose multi-source desk search. |
81
+ | Conversations | `useConversations`, `useConversation`, `useConversationMessages`, `useAssistantRun`, `useAssistantSession`, `useAssistantRuntime`, `useAssistantController` | Stable except controller/runtime | Build custom agent chat, conversation lists, streaming output, and final-answer views. Older assistant-named hooks target the agent conversation API internally. |
82
+ | Agents | `useAgentRun`, `useAgentRuns`, `useAgentInputSchema`, `useTaskSession` | Stable except raw session | Start one-turn agent conversations, submit follow-up input, read conversation history, and inspect input/output schemas. |
83
83
  | Workflows | `useWorkflowStart`, `useWorkflowRun`, `useWorkflowRuns`, `useWorkflowResume` | Stable | Start, poll, resume, cancel, retry, and inspect workflow runs. |
84
84
  | Workflow compatibility | `useFlowSession`, `useFlowRunHistory` | Deprecated naming | Kept for existing callers; prefer workflow-named hooks for new code. |
85
85
  | Functions | `useFunctionRun`, `useFunctionRuns`, `useFunctionSession` | Stable except raw session | Run functions, poll function runs, and list function history. |
@@ -147,7 +147,7 @@ function TicketList() {
147
147
  }
148
148
  ```
149
149
 
150
- Assistant final output:
150
+ Agent conversation final output:
151
151
 
152
152
  ```tsx
153
153
  import { useConversationMessages, useConversations } from "lemma-sdk/react";
@@ -155,7 +155,7 @@ import { useConversationMessages, useConversations } from "lemma-sdk/react";
155
155
  function SupportThread({ client }: { client: LemmaClient }) {
156
156
  const conversations = useConversations({
157
157
  client,
158
- assistantName: "support_assistant",
158
+ agentName: "support_agent",
159
159
  });
160
160
 
161
161
  const messages = useConversationMessages({
@@ -218,31 +218,31 @@ function WorkflowButton({ client }: { client: LemmaClient }) {
218
218
 
219
219
  ## Registry
220
220
 
221
- The registry is optional UI scaffolding, not the default product story. Most desks should be built from hooks and app-local UI.
222
-
223
- If you still want registry installs, they remain available:
221
+ The registry is optional UI scaffolding for teams that want stock Lemma blocks on top of the headless SDK.
224
222
 
225
223
  After running `npx lemma-sdk init-shadcn`, install blocks like:
226
224
 
227
225
  ```bash
228
- npx shadcn@latest add @lemma/lemma-assistant-experience
229
- npx shadcn@latest add @lemma/lemma-document-workspace
226
+ npx shadcn@latest add @lemma/lemma-records-view
227
+ npx shadcn@latest add @lemma/lemma-detail-panel
228
+ npx shadcn@latest add @lemma/lemma-record-form
230
229
  npx shadcn@latest add @lemma/lemma-global-search
231
- npx shadcn@latest add @lemma/lemma-members
232
- npx shadcn@latest add @lemma/lemma-action-surface
230
+ npx shadcn@latest add @lemma/lemma-file-browser
231
+ npx shadcn@latest add @lemma/lemma-document-workspace
232
+ npx shadcn@latest add @lemma/lemma-comments
233
+ npx shadcn@latest add @lemma/lemma-assistant-experience
233
234
  ```
234
235
 
235
- The registry is intentionally small now. It currently ships 5 published blocks.
236
-
237
- Current registry items:
236
+ The registry currently ships 19 canonical blocks plus the shared `lemma-ui` primitive bundle:
238
237
 
239
238
  | Area | Items |
240
239
  | --- | --- |
241
- | Assistant | `lemma-assistant-experience` |
242
- | Documents | `lemma-document-workspace` |
243
- | Search | `lemma-global-search` |
244
- | People | `lemma-members` |
245
- | Automation | `lemma-action-surface` |
240
+ | Core operator blocks | `lemma-records-view`, `lemma-detail-panel`, `lemma-record-form`, `lemma-status-flow` |
241
+ | Search, files, and pages | `lemma-global-search`, `lemma-breadcrumbs`, `lemma-file-browser`, `lemma-markdown-editor`, `lemma-page-tree`, `lemma-document-workspace` |
242
+ | Collaboration and analytics | `lemma-comments`, `lemma-activity-feed`, `lemma-insights`, `lemma-action-surface`, `lemma-workflow-runner` |
243
+ | Agent and shell | `lemma-assistant-experience`, `lemma-members`, `lemma-notification-bell`, `lemma-user-menu` |
244
+
245
+ Registry blocks now install against a shared `lemma-ui` primitive layer that ships with this registry. Consumers no longer need a pre-existing app-local `@/components/ui/*` shadcn tree just to use Lemma blocks.
246
246
 
247
247
  The registry is currently served from jsDelivr against this public repo:
248
248
 
@@ -251,13 +251,50 @@ The registry is currently served from jsDelivr against this public repo:
251
251
 
252
252
  For more stable installs, pin the registry URL to a tag or commit SHA instead of `@main`.
253
253
 
254
- Published blocks:
254
+ Blocks that install a CSS file, such as records view, should be imported by your app's global stylesheet:
255
+
256
+ ```css
257
+ @import "@/styles/lemma-records-view.css";
258
+ ```
259
+
260
+ Core registry blocks:
255
261
 
256
- - `lemma-assistant-experience` for the hardest assistant/chat runtime surface
257
- - `lemma-document-workspace` for rich document/file create-read-edit-preview flows
262
+ - `lemma-records-view` for a lean records browser by default, with explicit workspace presets for grid, list, grouped, kanban, and linear operator flows
263
+ - `lemma-detail-panel` for standalone record detail rendering with shared records-detail internals
264
+ - `lemma-record-form` for schema-aware create and edit flows with searchable foreign-key controls
265
+ - `lemma-status-flow` for interactive status transitions and lifecycle display
258
266
  - `lemma-global-search` for a stock command-bar style omnibox
259
- - `lemma-members` for stock pod membership management
260
- - `lemma-action-surface` for long-running function/workflow/agent launches
267
+ - `lemma-file-browser` and `lemma-document-workspace` for file browsing, editing, preview, and document-native workflows
268
+ - `lemma-comments`, `lemma-activity-feed`, and `lemma-insights` for collaboration and reporting
269
+ - `lemma-action-surface` and `lemma-workflow-runner` for long-running actions and workflow history
270
+ - `lemma-assistant-experience`, `lemma-members`, `lemma-notification-bell`, and `lemma-user-menu` for agent conversation and shell surfaces
271
+
272
+ ### Block Defaults
273
+
274
+ The registry now treats generic blocks as read-first and low-chrome by default.
275
+
276
+ - base blocks should render useful data without assuming a full workspace shell
277
+ - presets are the place for opinionated operator UX such as inline detail, multi-view boards, and heavier toolbars
278
+ - `appearance`, `density`, and `radius` remain available as local override props on major blocks, but they are optional; prefer setting visual defaults in your app shell or wrapper components instead of passing them everywhere
279
+
280
+ `lemma-records-view` now defaults to:
281
+
282
+ - one explicit view instead of an inferred multi-view workspace
283
+ - no search bar unless you opt in through `chrome.search` or pass search config
284
+ - no filter launcher unless you opt in through `chrome.filters` or provide default filters
285
+ - no create button unless you opt in through `chrome.create` or pass create config
286
+ - no row-selection chrome unless you opt in through `chrome.selection` or provide bulk actions
287
+ - `detailMode="sheet"` for the base block, with inline detail reserved for explicit presets or explicit props
288
+ - no schema-name heuristics that silently promote a table into `kanban` or `linear`
289
+
290
+ For records workspaces, the split is:
291
+
292
+ - use the base block for simple table/list browsing
293
+ - pass `availableViews` only when you want a view switcher
294
+ - pass `chrome={{ search: true, filters: true, create: true, viewSwitcher: true, selection: true }}` when you want workspace controls on the base block
295
+ - use `preset="triage" | "issues" | "crm" | "docs"` when you want a stock operator workspace
296
+
297
+ `lemma-members` now defaults to a read-only membership list. Add management behavior explicitly with `allowAdd`, `allowRoleEdit`, and `allowRemove`.
261
298
 
262
299
  `lemma-global-search` supports:
263
300
 
@@ -265,11 +302,11 @@ Published blocks:
265
302
  - optional file search with `searchMethod`, `href`, `onSelect`, and `openMode`
266
303
  - progressive table/file result groups, smooth loading/error source states, hidden empty sources, keyboard navigation, and built-in `cmd/ctrl+k` handling
267
304
  - `minQueryLength`, `debounceMs`, `appearance`, `density`, trigger label, and placeholder customization
268
- - assistant handoff by `assistantName`, with optional query/results message shaping and conversation routing
305
+ - agent handoff by `agentName`, with optional query/results message shaping and conversation routing
269
306
 
270
307
  Document blocks support:
271
308
 
272
- - Notion/Coda-style block documents through `lemma-document-workspace`, with ProseKit JSON content, page/modal modes, title and summary chrome, file/reference/assistant blocks, save state, metadata, backlinks, and assistant-context rails
309
+ - Notion/Coda-style block documents through `lemma-document-workspace`, with ProseKit JSON content, page/modal modes, title and summary chrome, file/reference/agent blocks, save state, metadata, backlinks, and agent-context rails
273
310
  - pod-file-native creation, reading, editing, and preview through one workspace, with folder targeting, title/summary setup, pod-file metadata, and `mode="page" | "modal"`
274
311
  - non-document file previews through the same workspace, including image, PDF, text, markdown, converted HTML, and download fallback behavior
275
312
  - records and attachments should pass pod file paths into `lemma-document-workspace`; records should not own document bodies directly
@@ -277,28 +314,71 @@ Document blocks support:
277
314
  People blocks support:
278
315
 
279
316
  - `LemmaMemberChip`, `LemmaAvatarGroup`, `LemmaMemberSelect`, and `LemmaUserField`
280
- - a stock `LemmaMembers` admin workspace for pod membership, role changes, removal, and add-from-organization flows via `organizationId`, `allowAdd`, `allowRoleEdit`, and `allowRemove`
317
+ - a stock `LemmaMembers` surface that is read-only by default, and upgrades into a membership admin workspace only when `allowAdd`, `allowRoleEdit`, or `allowRemove` are enabled
281
318
  - pod member labels for owner, creator, assignee, participant, and author fields
282
319
  - searchable member picking backed by `useMembers`
283
320
 
284
321
  Workflow primitives support:
285
322
 
323
+ - lifecycle/status rendering and transitions through `lemma-status-flow`
286
324
  - direct, function-backed, workflow-backed, and agent-backed launches through `lemma-action-surface`
287
325
  - inline, row, and panel presentation modes for long-running actions with inspectable progress
288
- - native workflow/file surfaces plus app-local record UIs where tables are the actual product data model
326
+ - native workflow run inspection through `lemma-workflow-runner`
327
+
328
+ Navigation and file blocks support:
289
329
 
290
- Assistant blocks support:
330
+ - route, record, and file-path breadcrumb builders through `lemma-breadcrumbs`
331
+ - native pod-file hierarchy navigation through `lemma-page-tree`
332
+ - private/pod datastore navigation, upload, rename, move, folder creation, picker mode, publish-to-pod, and delete handling through `lemma-file-browser`
333
+ - write, preview, and split modes through `lemma-markdown-editor`
291
334
 
292
- - assistant-name-first configuration through `assistantName`
293
- - shared `appearance` and `density` controls on the assistant experience surface
335
+ Collaboration and analytics blocks support:
336
+
337
+ - record-scoped discussion through `lemma-comments`
338
+ - unified audit and history timelines through `lemma-activity-feed`
339
+ - dashboard-style stat cards and charts through `lemma-insights`
340
+
341
+ Agent conversation blocks support:
342
+
343
+ - agent-name-first configuration through `agentName` today; omit it to target the default pod agent conversation
344
+ - shared `appearance` and `density` controls on the conversation experience surface
294
345
  - `chromeStyle`, `statusPlacement`, `radius`, model picker, conversation list, and render overrides for deeper customization
295
- - bounded default heights for `page` and `side-panel` modes so the message viewport scrolls instead of stretching with content; pass `className="h-full min-h-0"` inside an explicit-height parent when you want a fill-layout assistant like inbox CRM
346
+ - bounded default heights for `page` and `side-panel` modes so the message viewport scrolls instead of stretching with content; pass `className="h-full min-h-0"` inside an explicit-height parent when you want a fill-layout agent conversation like inbox CRM
296
347
 
297
348
  ```tsx
349
+ import { LemmaRecordsView } from "@/components/lemma/lemma-records-view";
298
350
  import { LemmaAssistantExperience } from "@/components/lemma/assistant/assistant-experience";
299
351
  import { LemmaActionSurface } from "@/components/lemma/lemma-action-surface";
300
352
  import { LemmaGlobalSearch } from "@/components/lemma/lemma-global-search";
301
353
 
354
+ <LemmaRecordsView
355
+ client={client}
356
+ podId={podId}
357
+ tableName="tickets"
358
+ />;
359
+
360
+ <LemmaRecordsView
361
+ client={client}
362
+ podId={podId}
363
+ tableName="deals"
364
+ defaultView="list"
365
+ availableViews={["list", "grid"]}
366
+ chrome={{ search: true, filters: true, create: true, viewSwitcher: true, selection: true }}
367
+ hiddenFields={["id", "created_at", "updated_at"]}
368
+ foreignKeyLabels={{ company_id: "name" }}
369
+ onCreateOptions={{
370
+ submitVia: "function",
371
+ submitFunctionName: "create-deal",
372
+ }}
373
+ />;
374
+
375
+ <LemmaRecordsView
376
+ client={client}
377
+ podId={podId}
378
+ tableName="deals"
379
+ preset="crm"
380
+ />;
381
+
302
382
  <LemmaGlobalSearch
303
383
  client={client}
304
384
  podId={podId}
@@ -313,15 +393,13 @@ import { LemmaGlobalSearch } from "@/components/lemma/lemma-global-search";
313
393
  },
314
394
  ]}
315
395
  files={{ enabled: true, openMode: "new-tab" }}
316
- assistant={{
317
- assistantName: "sales-copilot",
396
+ agent={{
397
+ agentName: "sales-copilot",
318
398
  label: "Ask CRM",
319
399
  resultLimit: 8,
320
400
  }}
321
401
  minQueryLength={3}
322
402
  debounceMs={450}
323
- appearance="minimal"
324
- density="compact"
325
403
  />;
326
404
 
327
405
  <LemmaActionSurface
@@ -334,8 +412,7 @@ import { LemmaGlobalSearch } from "@/components/lemma/lemma-global-search";
334
412
 
335
413
  <LemmaAssistantExperience
336
414
  client={client}
337
- assistantName="sales-copilot"
338
- density="compact"
415
+ agentName="sales-copilot"
339
416
  />;
340
417
  ```
341
418
 
@@ -362,10 +439,16 @@ From `0.2.30` onward:
362
439
  - `lemma-sdk/react` should be treated as hooks plus auth primitives.
363
440
  - `AuthGuard` remains in `lemma-sdk/react`.
364
441
  - Stock UI should be installed from the shadcn registry.
365
- - Assistant UI source and CSS are no longer part of the React SDK internals.
366
- - `react-markdown` and `remark-gfm` are registry-block dependencies for assistant UI, not core SDK dependencies.
442
+ - Conversation UI source and CSS are no longer part of the React SDK internals.
443
+ - `react-markdown` and `remark-gfm` are registry-block dependencies for conversation UI, not core SDK dependencies.
367
444
  - New workflow code should prefer `useWorkflowRun`, `useWorkflowRuns`, and `useWorkflowResume` over the older `flow`-named hooks.
368
445
 
446
+ From `0.2.37` onward:
447
+
448
+ - Agent APIs are the runtime abstraction. `client.assistants` is removed; use `client.agents` for definitions and `client.conversations` for turns/messages.
449
+ - Conversations are pod-scoped under the agent conversation API; message sends stream one internal agent run until final output.
450
+ - File APIs are namespace-aware. Shared pod files are the default for backwards-compatible file workspaces; pass `namespace: "PRIVATE"` for personal file input/upload flows and `namespace: "POD"` when you want to be explicit. The live OpenAPI currently names the private namespace `PERSONAL`; the SDK accepts `PRIVATE` as the product-facing alias.
451
+
369
452
  ## Local Development
370
453
 
371
454
  From the root of this repository: