lemma-sdk 0.2.36 → 0.2.38

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 (171) hide show
  1. package/README.md +45 -30
  2. package/dist/browser/lemma-client.js +224 -212
  3. package/dist/client.d.ts +1 -4
  4. package/dist/client.js +1 -6
  5. package/dist/index.d.ts +2 -5
  6. package/dist/index.js +1 -2
  7. package/dist/namespaces/agents.js +1 -1
  8. package/dist/namespaces/conversations.d.ts +68 -0
  9. package/dist/namespaces/conversations.js +159 -0
  10. package/dist/namespaces/files.d.ts +24 -6
  11. package/dist/namespaces/files.js +25 -12
  12. package/dist/namespaces/integrations.js +1 -1
  13. package/dist/namespaces/pod-surfaces.d.ts +1 -1
  14. package/dist/namespaces/pod-surfaces.js +6 -6
  15. package/dist/openapi_client/index.d.ts +17 -32
  16. package/dist/openapi_client/index.js +8 -12
  17. package/dist/openapi_client/models/AdminConsentInfoResponse.d.ts +2 -2
  18. package/dist/openapi_client/models/AgentListResponse.d.ts +2 -4
  19. package/dist/openapi_client/models/AgentMessageResponse.d.ts +0 -3
  20. package/dist/openapi_client/models/{AvailableModels.d.ts → AgentModelName.d.ts} +4 -1
  21. package/dist/openapi_client/models/AgentModelName.js +18 -0
  22. package/dist/openapi_client/models/AgentResponse.d.ts +18 -13
  23. package/dist/openapi_client/models/AgentSurfaceListResponse.d.ts +6 -0
  24. package/dist/openapi_client/models/{AssistantSurfaceResponse.d.ts → AgentSurfaceResponse.d.ts} +6 -5
  25. package/dist/openapi_client/models/{AssistantSurfaceStatus.d.ts → AgentSurfaceStatus.d.ts} +1 -1
  26. package/dist/openapi_client/models/AgentSurfaceStatus.js +10 -0
  27. package/dist/openapi_client/models/{ToolSet.d.ts → AgentToolset.d.ts} +3 -5
  28. package/dist/openapi_client/models/AgentToolset.js +17 -0
  29. package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +3 -5
  30. package/dist/openapi_client/models/ApplicationMode.d.ts +3 -3
  31. package/dist/openapi_client/models/ApplicationMode.js +3 -3
  32. package/dist/openapi_client/models/ConversationResponse.d.ts +9 -20
  33. package/dist/openapi_client/models/CreateAgentRequest.d.ts +11 -7
  34. package/dist/openapi_client/models/CreateConversationRequest.d.ts +4 -8
  35. package/dist/openapi_client/models/CreateFolderRequest.d.ts +2 -5
  36. package/dist/openapi_client/models/CreateFunctionRequest.d.ts +2 -2
  37. package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +1 -1
  38. package/dist/openapi_client/models/DatastoreFileUploadRequest.d.ts +2 -2
  39. package/dist/openapi_client/models/FileNamespace.d.ts +4 -0
  40. package/dist/openapi_client/models/FileNamespace.js +9 -0
  41. package/dist/openapi_client/models/FileResponse.d.ts +2 -2
  42. package/dist/openapi_client/models/FlowRunEntity.d.ts +10 -1
  43. package/dist/openapi_client/models/FunctionResponse.d.ts +2 -2
  44. package/dist/openapi_client/models/HarnessKind.d.ts +7 -0
  45. package/dist/openapi_client/models/HarnessKind.js +12 -0
  46. package/dist/openapi_client/models/MessageListResponse.d.ts +6 -0
  47. package/dist/openapi_client/models/{TaskMessageResponse.d.ts → MessageResponse.d.ts} +8 -7
  48. package/dist/openapi_client/models/OrganizationInvitationResponse.d.ts +1 -0
  49. package/dist/openapi_client/models/ReportFeedbackResponse.d.ts +0 -4
  50. package/dist/openapi_client/models/ResourceType.d.ts +0 -1
  51. package/dist/openapi_client/models/ResourceType.js +0 -1
  52. package/dist/openapi_client/models/SendMessageRequest.d.ts +5 -0
  53. package/dist/openapi_client/models/{ToolCallRequest.d.ts → ToolCallContent.d.ts} +1 -1
  54. package/dist/openapi_client/models/{ToolCallResponse.d.ts → ToolReturnContent.d.ts} +2 -1
  55. package/dist/openapi_client/models/UpdateAgentRequest.d.ts +11 -7
  56. package/dist/openapi_client/models/UpdateConversationRequest.d.ts +2 -5
  57. package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +2 -2
  58. package/dist/openapi_client/models/app__modules__agent__domain__value_objects__TableAccessEntry.d.ts +8 -0
  59. package/dist/openapi_client/models/{TableAccessEntry.d.ts → app__modules__function__api__schemas__function_schemas__TableAccessEntry.d.ts} +1 -1
  60. package/dist/openapi_client/models/update.d.ts +2 -2
  61. package/dist/openapi_client/services/AgentConversationsService.d.ts +87 -0
  62. package/dist/openapi_client/services/{ConversationsService.js → AgentConversationsService.js} +61 -72
  63. package/dist/openapi_client/services/{AssistantSurfacesIngressService.d.ts → AgentSurfacesIngressService.d.ts} +2 -2
  64. package/dist/openapi_client/services/{AssistantSurfacesIngressService.js → AgentSurfacesIngressService.js} +2 -2
  65. package/dist/openapi_client/services/{AssistantSurfacesService.d.ts → AgentSurfacesService.d.ts} +11 -11
  66. package/dist/openapi_client/services/{AssistantSurfacesService.js → AgentSurfacesService.js} +10 -10
  67. package/dist/openapi_client/services/AgentToolsService.d.ts +8 -8
  68. package/dist/openapi_client/services/AgentToolsService.js +8 -8
  69. package/dist/openapi_client/services/AgentsService.d.ts +7 -7
  70. package/dist/openapi_client/services/AgentsService.js +8 -8
  71. package/dist/openapi_client/services/FilesService.d.ts +17 -8
  72. package/dist/openapi_client/services/FilesService.js +25 -8
  73. package/dist/openapi_client/services/WorkflowsService.d.ts +1 -1
  74. package/dist/openapi_client/services/WorkflowsService.js +1 -1
  75. package/dist/react/index.d.ts +0 -8
  76. package/dist/react/index.js +0 -4
  77. package/dist/react/useAssistantController.d.ts +6 -2
  78. package/dist/react/useAssistantController.js +56 -15
  79. package/dist/react/useAssistantSession.d.ts +15 -5
  80. package/dist/react/useAssistantSession.js +24 -26
  81. package/dist/react/useConversationMessages.d.ts +6 -2
  82. package/dist/react/useConversationMessages.js +2 -1
  83. package/dist/react/useConversations.d.ts +6 -2
  84. package/dist/react/useConversations.js +7 -5
  85. package/dist/react/useCreateFolder.d.ts +4 -2
  86. package/dist/react/useCreateFolder.js +6 -3
  87. package/dist/react/useDeleteFile.d.ts +4 -1
  88. package/dist/react/useDeleteFile.js +3 -3
  89. package/dist/react/useFile.d.ts +4 -2
  90. package/dist/react/useFile.js +3 -3
  91. package/dist/react/useFilePreview.d.ts +4 -1
  92. package/dist/react/useFilePreview.js +5 -4
  93. package/dist/react/useFileTree.d.ts +4 -2
  94. package/dist/react/useFileTree.js +3 -2
  95. package/dist/react/useFiles.d.ts +4 -2
  96. package/dist/react/useFiles.js +5 -3
  97. package/dist/react/useUpdateFile.d.ts +4 -2
  98. package/dist/react/useUpdateFile.js +6 -3
  99. package/dist/react/useUploadFile.d.ts +4 -2
  100. package/dist/react/useUploadFile.js +6 -3
  101. package/dist/react/useWorkflowRun.js +1 -1
  102. package/dist/react/useWorkflowStart.js +1 -1
  103. package/dist/run-utils.d.ts +2 -5
  104. package/dist/run-utils.js +0 -10
  105. package/dist/types.d.ts +24 -10
  106. package/package.json +1 -1
  107. package/dist/namespaces/assistants.d.ts +0 -96
  108. package/dist/namespaces/assistants.js +0 -160
  109. package/dist/namespaces/tasks.d.ts +0 -29
  110. package/dist/namespaces/tasks.js +0 -49
  111. package/dist/openapi_client/models/AddMessageRequest.d.ts +0 -6
  112. package/dist/openapi_client/models/AssistantListResponse.d.ts +0 -6
  113. package/dist/openapi_client/models/AssistantResponse.d.ts +0 -23
  114. package/dist/openapi_client/models/AssistantSurfaceListResponse.d.ts +0 -6
  115. package/dist/openapi_client/models/AssistantSurfaceStatus.js +0 -10
  116. package/dist/openapi_client/models/AvailableModelInfo.d.ts +0 -8
  117. package/dist/openapi_client/models/AvailableModels.js +0 -15
  118. package/dist/openapi_client/models/AvailableModelsListResponse.d.ts +0 -7
  119. package/dist/openapi_client/models/ConversationMessageListResponse.d.ts +0 -6
  120. package/dist/openapi_client/models/ConversationMessageResponse.d.ts +0 -19
  121. package/dist/openapi_client/models/ConversationStatus.d.ts +0 -7
  122. package/dist/openapi_client/models/ConversationStatus.js +0 -12
  123. package/dist/openapi_client/models/ConversationType.d.ts +0 -8
  124. package/dist/openapi_client/models/ConversationType.js +0 -13
  125. package/dist/openapi_client/models/CreateAssistantRequest.d.ts +0 -18
  126. package/dist/openapi_client/models/CreateAssistantRequest.js +0 -1
  127. package/dist/openapi_client/models/CreateMessageRequest.d.ts +0 -6
  128. package/dist/openapi_client/models/CreateMessageRequest.js +0 -1
  129. package/dist/openapi_client/models/CreateTaskRequest.d.ts +0 -10
  130. package/dist/openapi_client/models/CreateTaskRequest.js +0 -1
  131. package/dist/openapi_client/models/FileVisibility.d.ts +0 -4
  132. package/dist/openapi_client/models/FileVisibility.js +0 -9
  133. package/dist/openapi_client/models/TableAccessEntry.js +0 -1
  134. package/dist/openapi_client/models/TaskListResponse.d.ts +0 -9
  135. package/dist/openapi_client/models/TaskListResponse.js +0 -1
  136. package/dist/openapi_client/models/TaskMessageListResponse.d.ts +0 -9
  137. package/dist/openapi_client/models/TaskMessageListResponse.js +0 -1
  138. package/dist/openapi_client/models/TaskMessageResponse.js +0 -1
  139. package/dist/openapi_client/models/TaskResponse.d.ts +0 -16
  140. package/dist/openapi_client/models/TaskResponse.js +0 -1
  141. package/dist/openapi_client/models/TaskStatus.d.ts +0 -12
  142. package/dist/openapi_client/models/TaskStatus.js +0 -17
  143. package/dist/openapi_client/models/ToolCallRequest.js +0 -1
  144. package/dist/openapi_client/models/ToolCallResponse.js +0 -1
  145. package/dist/openapi_client/models/ToolSet.js +0 -19
  146. package/dist/openapi_client/models/UpdateAssistantRequest.d.ts +0 -17
  147. package/dist/openapi_client/models/UpdateAssistantRequest.js +0 -1
  148. package/dist/openapi_client/services/AssistantsService.d.ts +0 -49
  149. package/dist/openapi_client/services/AssistantsService.js +0 -112
  150. package/dist/openapi_client/services/ConversationsService.d.ts +0 -88
  151. package/dist/openapi_client/services/TasksService.d.ts +0 -76
  152. package/dist/openapi_client/services/TasksService.js +0 -167
  153. package/dist/react/useAgentRun.d.ts +0 -17
  154. package/dist/react/useAgentRun.js +0 -56
  155. package/dist/react/useAgentRuns.d.ts +0 -33
  156. package/dist/react/useAgentRuns.js +0 -149
  157. package/dist/react/useAssistantRun.d.ts +0 -27
  158. package/dist/react/useAssistantRun.js +0 -47
  159. package/dist/react/useTaskSession.d.ts +0 -35
  160. package/dist/react/useTaskSession.js +0 -269
  161. package/dist/task-events.d.ts +0 -8
  162. package/dist/task-events.js +0 -115
  163. /package/dist/openapi_client/models/{AddMessageRequest.js → AgentSurfaceListResponse.js} +0 -0
  164. /package/dist/openapi_client/models/{AssistantListResponse.js → AgentSurfaceResponse.js} +0 -0
  165. /package/dist/openapi_client/models/{AssistantResponse.js → MessageListResponse.js} +0 -0
  166. /package/dist/openapi_client/models/{AssistantSurfaceListResponse.js → MessageResponse.js} +0 -0
  167. /package/dist/openapi_client/models/{AssistantSurfaceResponse.js → SendMessageRequest.js} +0 -0
  168. /package/dist/openapi_client/models/{AvailableModelInfo.js → ToolCallContent.js} +0 -0
  169. /package/dist/openapi_client/models/{AvailableModelsListResponse.js → ToolReturnContent.js} +0 -0
  170. /package/dist/openapi_client/models/{ConversationMessageListResponse.js → app__modules__agent__domain__value_objects__TableAccessEntry.js} +0 -0
  171. /package/dist/openapi_client/models/{ConversationMessageResponse.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 remains hooks-first and shell-agnostic, and the registry ships stock Lemma UI blocks when you want installable assistant, records, file, workflow, collaboration, or shell surfaces.
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
 
@@ -60,7 +60,6 @@ npm install react react-dom
60
60
  ```tsx
61
61
  import {
62
62
  AuthGuard,
63
- useAgentRun,
64
63
  useConversationMessages,
65
64
  useConversations,
66
65
  useRecordForm,
@@ -77,9 +76,9 @@ import {
77
76
  | 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
77
  | 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
78
  | 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. |
79
+ | 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. |
80
+ | Conversations | `useConversations`, `useConversation`, `useConversationMessages`, `useAssistantSession`, `useAssistantRuntime`, `useAssistantController` | Stable except controller/runtime | Build custom chat, conversation lists, streaming output, and final-answer views for default assistant conversations or named agents. |
81
+ | Agents | `useAgentInputSchema` | Stable | Inspect structured input/output schemas for named agents. Agent execution goes through conversations. |
83
82
  | Workflows | `useWorkflowStart`, `useWorkflowRun`, `useWorkflowRuns`, `useWorkflowResume` | Stable | Start, poll, resume, cancel, retry, and inspect workflow runs. |
84
83
  | Workflow compatibility | `useFlowSession`, `useFlowRunHistory` | Deprecated naming | Kept for existing callers; prefer workflow-named hooks for new code. |
85
84
  | Functions | `useFunctionRun`, `useFunctionRuns`, `useFunctionSession` | Stable except raw session | Run functions, poll function runs, and list function history. |
@@ -107,7 +106,7 @@ List hooks generally expose:
107
106
 
108
107
  Run hooks generally expose:
109
108
 
110
- - `run` or `task`
109
+ - `run`
111
110
  - `status`
112
111
  - `isPolling`, `isStreaming`, or `isRunning`
113
112
  - `output`
@@ -147,7 +146,7 @@ function TicketList() {
147
146
  }
148
147
  ```
149
148
 
150
- Assistant final output:
149
+ Agent conversation final output:
151
150
 
152
151
  ```tsx
153
152
  import { useConversationMessages, useConversations } from "lemma-sdk/react";
@@ -155,7 +154,7 @@ import { useConversationMessages, useConversations } from "lemma-sdk/react";
155
154
  function SupportThread({ client }: { client: LemmaClient }) {
156
155
  const conversations = useConversations({
157
156
  client,
158
- assistantName: "support_assistant",
157
+ agentName: "support_agent",
159
158
  });
160
159
 
161
160
  const messages = useConversationMessages({
@@ -168,25 +167,35 @@ function SupportThread({ client }: { client: LemmaClient }) {
168
167
  }
169
168
  ```
170
169
 
171
- Agent run:
170
+ Start an agent conversation:
172
171
 
173
172
  ```tsx
174
- import { useAgentRun } from "lemma-sdk/react";
173
+ import { useConversationMessages } from "lemma-sdk/react";
175
174
 
176
175
  function AgentButton({ client }: { client: LemmaClient }) {
177
- const agent = useAgentRun({
176
+ const conversation = useConversationMessages({
178
177
  client,
179
178
  agentName: "triage_agent",
179
+ autoResume: true,
180
180
  });
181
181
 
182
182
  return (
183
183
  <button
184
- disabled={agent.isStreaming}
184
+ disabled={conversation.isStreaming}
185
185
  onClick={() => {
186
- void agent.start({ ticket_id: "ticket_123" });
186
+ void (async () => {
187
+ const thread = await conversation.createConversation({
188
+ title: "Triage ticket ticket_123",
189
+ setActive: true,
190
+ });
191
+ await conversation.sendMessage(JSON.stringify({
192
+ ticket_id: "ticket_123",
193
+ prompt: "Triage this ticket.",
194
+ }), { conversationId: thread.id });
195
+ })();
187
196
  }}
188
197
  >
189
- {agent.status ?? "Run agent"}
198
+ {conversation.status ?? "Message agent"}
190
199
  </button>
191
200
  );
192
201
  }
@@ -233,14 +242,14 @@ npx shadcn@latest add @lemma/lemma-comments
233
242
  npx shadcn@latest add @lemma/lemma-assistant-experience
234
243
  ```
235
244
 
236
- The registry currently ships 19 canonical blocks:
245
+ The registry currently ships 19 canonical blocks plus the shared `lemma-ui` primitive bundle:
237
246
 
238
247
  | Area | Items |
239
248
  | --- | --- |
240
249
  | Core operator blocks | `lemma-records-view`, `lemma-detail-panel`, `lemma-record-form`, `lemma-status-flow` |
241
250
  | Search, files, and pages | `lemma-global-search`, `lemma-breadcrumbs`, `lemma-file-browser`, `lemma-markdown-editor`, `lemma-page-tree`, `lemma-document-workspace` |
242
251
  | Collaboration and analytics | `lemma-comments`, `lemma-activity-feed`, `lemma-insights`, `lemma-action-surface`, `lemma-workflow-runner` |
243
- | Assistant and shell | `lemma-assistant-experience`, `lemma-members`, `lemma-notification-bell`, `lemma-user-menu` |
252
+ | Agent and shell | `lemma-assistant-experience`, `lemma-members`, `lemma-notification-bell`, `lemma-user-menu` |
244
253
 
245
254
  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
255
 
@@ -267,7 +276,7 @@ Core registry blocks:
267
276
  - `lemma-file-browser` and `lemma-document-workspace` for file browsing, editing, preview, and document-native workflows
268
277
  - `lemma-comments`, `lemma-activity-feed`, and `lemma-insights` for collaboration and reporting
269
278
  - `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 assistant and shell surfaces
279
+ - `lemma-assistant-experience`, `lemma-members`, `lemma-notification-bell`, and `lemma-user-menu` for agent conversation and shell surfaces
271
280
 
272
281
  ### Block Defaults
273
282
 
@@ -302,11 +311,11 @@ For records workspaces, the split is:
302
311
  - optional file search with `searchMethod`, `href`, `onSelect`, and `openMode`
303
312
  - progressive table/file result groups, smooth loading/error source states, hidden empty sources, keyboard navigation, and built-in `cmd/ctrl+k` handling
304
313
  - `minQueryLength`, `debounceMs`, `appearance`, `density`, trigger label, and placeholder customization
305
- - assistant handoff by `assistantName`, with optional query/results message shaping and conversation routing
314
+ - agent handoff by `agentName`, with optional query/results message shaping and conversation routing
306
315
 
307
316
  Document blocks support:
308
317
 
309
- - 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
318
+ - 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
310
319
  - pod-file-native creation, reading, editing, and preview through one workspace, with folder targeting, title/summary setup, pod-file metadata, and `mode="page" | "modal"`
311
320
  - non-document file previews through the same workspace, including image, PDF, text, markdown, converted HTML, and download fallback behavior
312
321
  - records and attachments should pass pod file paths into `lemma-document-workspace`; records should not own document bodies directly
@@ -329,7 +338,7 @@ Navigation and file blocks support:
329
338
 
330
339
  - route, record, and file-path breadcrumb builders through `lemma-breadcrumbs`
331
340
  - native pod-file hierarchy navigation through `lemma-page-tree`
332
- - datastore folder navigation, upload, rename, move, folder creation, picker mode, and delete handling through `lemma-file-browser`
341
+ - private/pod datastore navigation, upload, rename, move, folder creation, picker mode, publish-to-pod, and delete handling through `lemma-file-browser`
333
342
  - write, preview, and split modes through `lemma-markdown-editor`
334
343
 
335
344
  Collaboration and analytics blocks support:
@@ -338,12 +347,12 @@ Collaboration and analytics blocks support:
338
347
  - unified audit and history timelines through `lemma-activity-feed`
339
348
  - dashboard-style stat cards and charts through `lemma-insights`
340
349
 
341
- Assistant blocks support:
350
+ Agent conversation blocks support:
342
351
 
343
- - assistant-name-first configuration through `assistantName`
344
- - shared `appearance` and `density` controls on the assistant experience surface
352
+ - agent-name-first configuration through `agentName` today; omit it to target the default pod agent conversation
353
+ - shared `appearance` and `density` controls on the conversation experience surface
345
354
  - `chromeStyle`, `statusPlacement`, `radius`, model picker, conversation list, and render overrides for deeper customization
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 assistant like inbox CRM
355
+ - 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
347
356
 
348
357
  ```tsx
349
358
  import { LemmaRecordsView } from "@/components/lemma/lemma-records-view";
@@ -393,8 +402,8 @@ import { LemmaGlobalSearch } from "@/components/lemma/lemma-global-search";
393
402
  },
394
403
  ]}
395
404
  files={{ enabled: true, openMode: "new-tab" }}
396
- assistant={{
397
- assistantName: "sales-copilot",
405
+ agent={{
406
+ agentName: "sales-copilot",
398
407
  label: "Ask CRM",
399
408
  resultLimit: 8,
400
409
  }}
@@ -412,7 +421,7 @@ import { LemmaGlobalSearch } from "@/components/lemma/lemma-global-search";
412
421
 
413
422
  <LemmaAssistantExperience
414
423
  client={client}
415
- assistantName="sales-copilot"
424
+ agentName="sales-copilot"
416
425
  />;
417
426
  ```
418
427
 
@@ -439,10 +448,16 @@ From `0.2.30` onward:
439
448
  - `lemma-sdk/react` should be treated as hooks plus auth primitives.
440
449
  - `AuthGuard` remains in `lemma-sdk/react`.
441
450
  - Stock UI should be installed from the shadcn registry.
442
- - Assistant UI source and CSS are no longer part of the React SDK internals.
443
- - `react-markdown` and `remark-gfm` are registry-block dependencies for assistant UI, not core SDK dependencies.
451
+ - Conversation UI source and CSS are no longer part of the React SDK internals.
452
+ - `react-markdown` and `remark-gfm` are registry-block dependencies for conversation UI, not core SDK dependencies.
444
453
  - New workflow code should prefer `useWorkflowRun`, `useWorkflowRuns`, and `useWorkflowResume` over the older `flow`-named hooks.
445
454
 
455
+ From `0.2.37` onward:
456
+
457
+ - Agent APIs are the runtime abstraction. `client.assistants` is removed; use `client.agents` for definitions and `client.conversations` for turns/messages.
458
+ - Conversations are pod-scoped under the agent conversation API; message sends stream conversation events until final output.
459
+ - 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.
460
+
446
461
  ## Local Development
447
462
 
448
463
  From the root of this repository: