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.
- package/README.md +126 -43
- package/dist/browser/lemma-client.js +456 -169
- package/dist/client.d.ts +1 -2
- package/dist/client.js +1 -3
- package/dist/index.d.ts +1 -1
- package/dist/namespaces/agents.js +1 -1
- package/dist/namespaces/conversations.d.ts +73 -0
- package/dist/namespaces/conversations.js +174 -0
- package/dist/namespaces/files.d.ts +24 -6
- package/dist/namespaces/files.js +25 -12
- package/dist/namespaces/integrations.d.ts +10 -2
- package/dist/namespaces/integrations.js +17 -2
- package/dist/namespaces/pod-surfaces.d.ts +1 -1
- package/dist/namespaces/pod-surfaces.js +6 -6
- package/dist/namespaces/tasks.d.ts +1 -5
- package/dist/namespaces/tasks.js +54 -12
- package/dist/openapi_client/index.d.ts +27 -34
- package/dist/openapi_client/index.js +9 -12
- package/dist/openapi_client/models/AdminConsentInfoResponse.d.ts +2 -2
- package/dist/openapi_client/models/AgentListResponse.d.ts +2 -4
- package/dist/openapi_client/models/AgentMessageResponse.d.ts +0 -3
- package/dist/openapi_client/models/{AvailableModels.d.ts → AgentModelName.d.ts} +4 -1
- package/dist/openapi_client/models/AgentModelName.js +18 -0
- package/dist/openapi_client/models/AgentResponse.d.ts +18 -13
- package/dist/openapi_client/models/AgentSurfaceListResponse.d.ts +6 -0
- package/dist/openapi_client/models/{AssistantSurfaceResponse.d.ts → AgentSurfaceResponse.d.ts} +6 -5
- package/dist/openapi_client/models/{AssistantSurfaceStatus.d.ts → AgentSurfaceStatus.d.ts} +1 -1
- package/dist/openapi_client/models/AgentSurfaceStatus.js +10 -0
- package/dist/openapi_client/models/{ToolSet.d.ts → AgentToolset.d.ts} +3 -5
- package/dist/openapi_client/models/AgentToolset.js +17 -0
- package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +3 -5
- package/dist/openapi_client/models/ApplicationMode.d.ts +3 -3
- package/dist/openapi_client/models/ApplicationMode.js +3 -3
- package/dist/openapi_client/models/ConversationResponse.d.ts +9 -20
- package/dist/openapi_client/models/CreateAgentRequest.d.ts +11 -7
- package/dist/openapi_client/models/CreateConversationRequest.d.ts +4 -8
- package/dist/openapi_client/models/CreateFolderRequest.d.ts +2 -5
- package/dist/openapi_client/models/CreateFunctionRequest.d.ts +2 -2
- package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +1 -1
- package/dist/openapi_client/models/DatastoreFileUploadRequest.d.ts +2 -2
- package/dist/openapi_client/models/FeedbackCategory.d.ts +7 -0
- package/dist/openapi_client/models/FeedbackCategory.js +12 -0
- package/dist/openapi_client/models/FileNamespace.d.ts +4 -0
- package/dist/openapi_client/models/FileNamespace.js +9 -0
- package/dist/openapi_client/models/FileResponse.d.ts +2 -2
- package/dist/openapi_client/models/FlowRunEntity.d.ts +11 -1
- package/dist/openapi_client/models/FunctionResponse.d.ts +2 -2
- package/dist/openapi_client/models/HarnessKind.d.ts +7 -0
- package/dist/openapi_client/models/HarnessKind.js +12 -0
- package/dist/openapi_client/models/IntegrationHelperAgentRequest.d.ts +13 -0
- package/dist/openapi_client/models/IntegrationHelperAgentResponse.d.ts +25 -0
- package/dist/openapi_client/models/MessageListResponse.d.ts +6 -0
- package/dist/openapi_client/models/MessageResponse.d.ts +17 -0
- package/dist/openapi_client/models/OperationDetail.d.ts +3 -0
- package/dist/openapi_client/models/OperationDetailsBatchRequest.d.ts +9 -0
- package/dist/openapi_client/models/OperationDetailsBatchResponse.d.ts +18 -0
- package/dist/openapi_client/models/OperationDiscoverResponse.d.ts +26 -0
- package/dist/openapi_client/models/OperationSummary.d.ts +3 -0
- package/dist/openapi_client/models/OrganizationCreateRequest.d.ts +2 -0
- package/dist/openapi_client/models/OrganizationInvitationRequest.d.ts +1 -0
- package/dist/openapi_client/models/OrganizationInvitationResponse.d.ts +4 -0
- package/dist/openapi_client/models/OrganizationMessageResponse.d.ts +1 -0
- package/dist/openapi_client/models/OrganizationResponse.d.ts +2 -0
- package/dist/openapi_client/models/OrganizationSlugAvailabilityResponse.d.ts +7 -0
- package/dist/openapi_client/models/ReportFeedbackRequest.d.ts +30 -0
- package/dist/openapi_client/models/ReportFeedbackResponse.d.ts +25 -0
- package/dist/openapi_client/models/ResourceType.d.ts +0 -1
- package/dist/openapi_client/models/ResourceType.js +0 -1
- package/dist/openapi_client/models/SendMessageRequest.d.ts +5 -0
- package/dist/openapi_client/models/{ToolCallRequest.d.ts → ToolCallContent.d.ts} +1 -1
- package/dist/openapi_client/models/{ToolCallResponse.d.ts → ToolReturnContent.d.ts} +2 -1
- package/dist/openapi_client/models/UpdateAgentRequest.d.ts +11 -7
- package/dist/openapi_client/models/UpdateConversationRequest.d.ts +2 -5
- package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +2 -2
- package/dist/openapi_client/models/WorkflowInstallListResponse.d.ts +4 -0
- package/dist/openapi_client/models/app__modules__agent__domain__value_objects__TableAccessEntry.d.ts +8 -0
- package/dist/openapi_client/models/{TableAccessEntry.d.ts → app__modules__function__api__schemas__function_schemas__TableAccessEntry.d.ts} +1 -1
- package/dist/openapi_client/models/update.d.ts +2 -2
- package/dist/openapi_client/services/AgentConversationsService.d.ts +97 -0
- package/dist/openapi_client/services/AgentConversationsService.js +217 -0
- package/dist/openapi_client/services/{AssistantSurfacesIngressService.d.ts → AgentSurfacesIngressService.d.ts} +2 -2
- package/dist/openapi_client/services/{AssistantSurfacesIngressService.js → AgentSurfacesIngressService.js} +2 -2
- package/dist/openapi_client/services/{AssistantSurfacesService.d.ts → AgentSurfacesService.d.ts} +11 -11
- package/dist/openapi_client/services/{AssistantSurfacesService.js → AgentSurfacesService.js} +10 -10
- package/dist/openapi_client/services/AgentToolsService.d.ts +24 -4
- package/dist/openapi_client/services/AgentToolsService.js +40 -4
- package/dist/openapi_client/services/AgentsService.d.ts +7 -7
- package/dist/openapi_client/services/AgentsService.js +8 -8
- package/dist/openapi_client/services/ApplicationsService.d.ts +10 -9
- package/dist/openapi_client/services/ApplicationsService.js +11 -10
- package/dist/openapi_client/services/FilesService.d.ts +17 -8
- package/dist/openapi_client/services/FilesService.js +25 -8
- package/dist/openapi_client/services/IntegrationsService.d.ts +3 -2
- package/dist/openapi_client/services/IntegrationsService.js +4 -2
- package/dist/openapi_client/services/OrganizationsService.d.ts +18 -0
- package/dist/openapi_client/services/OrganizationsService.js +40 -0
- package/dist/openapi_client/services/WorkflowsService.d.ts +10 -0
- package/dist/openapi_client/services/WorkflowsService.js +21 -0
- package/dist/react/useAgentRun.d.ts +28 -7
- package/dist/react/useAgentRun.js +120 -27
- package/dist/react/useAssistantController.d.ts +6 -2
- package/dist/react/useAssistantController.js +57 -14
- package/dist/react/useAssistantSession.d.ts +15 -3
- package/dist/react/useAssistantSession.js +19 -15
- package/dist/react/useConversationMessages.d.ts +6 -2
- package/dist/react/useConversationMessages.js +2 -1
- package/dist/react/useConversations.d.ts +6 -2
- package/dist/react/useConversations.js +7 -5
- package/dist/react/useCreateFolder.d.ts +4 -2
- package/dist/react/useCreateFolder.js +6 -3
- package/dist/react/useDeleteFile.d.ts +4 -1
- package/dist/react/useDeleteFile.js +3 -3
- package/dist/react/useFile.d.ts +4 -2
- package/dist/react/useFile.js +3 -3
- package/dist/react/useFilePreview.d.ts +4 -1
- package/dist/react/useFilePreview.js +5 -4
- package/dist/react/useFileTree.d.ts +4 -2
- package/dist/react/useFileTree.js +3 -2
- package/dist/react/useFiles.d.ts +4 -2
- package/dist/react/useFiles.js +5 -3
- package/dist/react/useUpdateFile.d.ts +4 -2
- package/dist/react/useUpdateFile.js +6 -3
- package/dist/react/useUploadFile.d.ts +4 -2
- package/dist/react/useUploadFile.js +6 -3
- package/dist/react/useWorkflowRun.js +1 -1
- package/dist/react/useWorkflowStart.js +1 -1
- package/dist/run-utils.d.ts +2 -1
- package/dist/types.d.ts +62 -6
- package/package.json +1 -1
- package/dist/namespaces/assistants.d.ts +0 -96
- package/dist/namespaces/assistants.js +0 -160
- package/dist/openapi_client/models/AddMessageRequest.d.ts +0 -6
- package/dist/openapi_client/models/AppDescriptorResponse.d.ts +0 -5
- package/dist/openapi_client/models/AssistantListResponse.d.ts +0 -6
- package/dist/openapi_client/models/AssistantResponse.d.ts +0 -23
- package/dist/openapi_client/models/AssistantSurfaceListResponse.d.ts +0 -6
- package/dist/openapi_client/models/AssistantSurfaceStatus.js +0 -10
- package/dist/openapi_client/models/AvailableModelInfo.d.ts +0 -8
- package/dist/openapi_client/models/AvailableModels.js +0 -15
- package/dist/openapi_client/models/AvailableModelsListResponse.d.ts +0 -7
- package/dist/openapi_client/models/ConversationMessageListResponse.d.ts +0 -6
- package/dist/openapi_client/models/ConversationMessageResponse.d.ts +0 -19
- package/dist/openapi_client/models/ConversationStatus.d.ts +0 -7
- package/dist/openapi_client/models/ConversationStatus.js +0 -12
- package/dist/openapi_client/models/ConversationType.d.ts +0 -8
- package/dist/openapi_client/models/ConversationType.js +0 -13
- package/dist/openapi_client/models/CreateAssistantRequest.d.ts +0 -18
- package/dist/openapi_client/models/CreateMessageRequest.d.ts +0 -6
- package/dist/openapi_client/models/CreateTaskRequest.d.ts +0 -10
- package/dist/openapi_client/models/FileVisibility.d.ts +0 -4
- package/dist/openapi_client/models/FileVisibility.js +0 -9
- package/dist/openapi_client/models/OperationListResponse.d.ts +0 -6
- package/dist/openapi_client/models/TaskListResponse.d.ts +0 -9
- package/dist/openapi_client/models/TaskMessageListResponse.d.ts +0 -9
- package/dist/openapi_client/models/TaskMessageResponse.d.ts +0 -15
- package/dist/openapi_client/models/TaskResponse.d.ts +0 -16
- package/dist/openapi_client/models/TaskResponse.js +0 -1
- package/dist/openapi_client/models/TaskStatus.d.ts +0 -12
- package/dist/openapi_client/models/TaskStatus.js +0 -17
- package/dist/openapi_client/models/ToolCallRequest.js +0 -1
- package/dist/openapi_client/models/ToolCallResponse.js +0 -1
- package/dist/openapi_client/models/ToolSet.js +0 -19
- package/dist/openapi_client/models/UpdateAssistantRequest.d.ts +0 -17
- package/dist/openapi_client/models/UpdateAssistantRequest.js +0 -1
- package/dist/openapi_client/services/AssistantsService.d.ts +0 -49
- package/dist/openapi_client/services/AssistantsService.js +0 -112
- package/dist/openapi_client/services/ConversationsService.d.ts +0 -88
- package/dist/openapi_client/services/ConversationsService.js +0 -202
- package/dist/openapi_client/services/TasksService.d.ts +0 -76
- package/dist/openapi_client/services/TasksService.js +0 -167
- /package/dist/openapi_client/models/{AddMessageRequest.js → AgentSurfaceListResponse.js} +0 -0
- /package/dist/openapi_client/models/{AppDescriptorResponse.js → AgentSurfaceResponse.js} +0 -0
- /package/dist/openapi_client/models/{AssistantListResponse.js → IntegrationHelperAgentRequest.js} +0 -0
- /package/dist/openapi_client/models/{AssistantResponse.js → IntegrationHelperAgentResponse.js} +0 -0
- /package/dist/openapi_client/models/{AssistantSurfaceListResponse.js → MessageListResponse.js} +0 -0
- /package/dist/openapi_client/models/{AssistantSurfaceResponse.js → MessageResponse.js} +0 -0
- /package/dist/openapi_client/models/{AvailableModelInfo.js → OperationDetailsBatchRequest.js} +0 -0
- /package/dist/openapi_client/models/{AvailableModelsListResponse.js → OperationDetailsBatchResponse.js} +0 -0
- /package/dist/openapi_client/models/{ConversationMessageListResponse.js → OperationDiscoverResponse.js} +0 -0
- /package/dist/openapi_client/models/{ConversationMessageResponse.js → OrganizationSlugAvailabilityResponse.js} +0 -0
- /package/dist/openapi_client/models/{CreateAssistantRequest.js → ReportFeedbackRequest.js} +0 -0
- /package/dist/openapi_client/models/{CreateMessageRequest.js → ReportFeedbackResponse.js} +0 -0
- /package/dist/openapi_client/models/{CreateTaskRequest.js → SendMessageRequest.js} +0 -0
- /package/dist/openapi_client/models/{OperationListResponse.js → ToolCallContent.js} +0 -0
- /package/dist/openapi_client/models/{TableAccessEntry.js → ToolReturnContent.js} +0 -0
- /package/dist/openapi_client/models/{TaskListResponse.js → WorkflowInstallListResponse.js} +0 -0
- /package/dist/openapi_client/models/{TaskMessageListResponse.js → app__modules__agent__domain__value_objects__TableAccessEntry.js} +0 -0
- /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
|
|
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`, `
|
|
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
|
|
81
|
-
|
|
|
82
|
-
| Agents | `useAgentRun`, `useAgentRuns`, `useAgentInputSchema`, `useTaskSession` | Stable except raw session | Start agent
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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-
|
|
229
|
-
npx shadcn@latest add @lemma/lemma-
|
|
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-
|
|
232
|
-
npx shadcn@latest add @lemma/lemma-
|
|
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
|
|
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
|
-
|
|
|
242
|
-
|
|
|
243
|
-
|
|
|
244
|
-
|
|
|
245
|
-
|
|
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
|
-
|
|
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-
|
|
257
|
-
- `lemma-
|
|
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-
|
|
260
|
-
- `lemma-
|
|
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
|
-
-
|
|
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/
|
|
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`
|
|
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
|
|
326
|
+
- native workflow run inspection through `lemma-workflow-runner`
|
|
327
|
+
|
|
328
|
+
Navigation and file blocks support:
|
|
289
329
|
|
|
290
|
-
|
|
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
|
-
|
|
293
|
-
|
|
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
|
|
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
|
-
|
|
317
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
366
|
-
- `react-markdown` and `remark-gfm` are registry-block dependencies for
|
|
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:
|