lemma-sdk 0.2.32 → 0.2.34
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 +190 -54
- package/dist/browser/lemma-client.js +84 -14
- package/dist/index.d.ts +3 -1
- package/dist/index.js +2 -1
- package/dist/namespaces/desks.d.ts +5 -2
- package/dist/namespaces/desks.js +5 -2
- package/dist/namespaces/files.d.ts +11 -0
- package/dist/namespaces/files.js +12 -0
- package/dist/namespaces/pod-surfaces.js +1 -1
- package/dist/namespaces/workflows.d.ts +1 -1
- package/dist/openapi_client/index.d.ts +50 -12
- package/dist/openapi_client/index.js +10 -2
- package/dist/openapi_client/models/AdminConsentInfoResponse.d.ts +6 -0
- package/dist/openapi_client/models/AssistantSurfaceResponse.d.ts +16 -1
- package/dist/openapi_client/models/AssistantSurfaceStatus.d.ts +5 -0
- package/dist/openapi_client/models/AssistantSurfaceStatus.js +10 -0
- package/dist/openapi_client/models/ConversationMessageResponse.d.ts +4 -0
- package/dist/openapi_client/models/ConversationResponse.d.ts +3 -0
- package/dist/openapi_client/models/ConversationType.d.ts +8 -0
- package/dist/openapi_client/models/ConversationType.js +13 -0
- package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +16 -5
- package/dist/openapi_client/models/{DataStoreFlowStart.d.ts → DataStoreFlowStartInput.d.ts} +1 -1
- package/dist/openapi_client/models/DataStoreFlowStartOutput.d.ts +11 -0
- package/dist/openapi_client/models/DataStoreWorkflowStartInput.d.ts +11 -0
- package/dist/openapi_client/models/DataStoreWorkflowStartOutput.d.ts +11 -0
- package/dist/openapi_client/models/DeskBundleUploadRequest.d.ts +1 -1
- package/dist/openapi_client/models/{EventFlowStart.d.ts → EventFlowStartInput.d.ts} +1 -1
- package/dist/openapi_client/models/EventFlowStartOutput.d.ts +19 -0
- package/dist/openapi_client/models/EventWorkflowStartInput.d.ts +11 -0
- package/dist/openapi_client/models/EventWorkflowStartOutput.d.ts +11 -0
- package/dist/openapi_client/models/FlowInstallResponse.d.ts +15 -0
- package/dist/openapi_client/models/FlowResponse.d.ts +5 -2
- package/dist/openapi_client/models/GmailSurfaceConfig.d.ts +7 -0
- package/dist/openapi_client/models/GmailSurfaceConfig.js +1 -0
- package/dist/openapi_client/models/GmailSurfaceConfigInput.d.ts +4 -0
- package/dist/openapi_client/models/GmailSurfaceConfigInput.js +1 -0
- package/dist/openapi_client/models/GrantPermissionRequest.d.ts +6 -0
- package/dist/openapi_client/models/GrantPermissionRequest.js +1 -0
- package/dist/openapi_client/models/ManualWorkflowStartInput.d.ts +10 -0
- package/dist/openapi_client/models/ManualWorkflowStartInput.js +1 -0
- package/dist/openapi_client/models/ManualWorkflowStartOutput.d.ts +10 -0
- package/dist/openapi_client/models/ManualWorkflowStartOutput.js +1 -0
- package/dist/openapi_client/models/OrganizationInvitationRequest.d.ts +2 -0
- package/dist/openapi_client/models/OrganizationInvitationResponse.d.ts +2 -0
- package/dist/openapi_client/models/OutlookSurfaceConfig.d.ts +7 -0
- package/dist/openapi_client/models/OutlookSurfaceConfig.js +1 -0
- package/dist/openapi_client/models/OutlookSurfaceConfigInput.d.ts +4 -0
- package/dist/openapi_client/models/OutlookSurfaceConfigInput.js +1 -0
- package/dist/openapi_client/models/ResourcePermissionListResponse.d.ts +4 -0
- package/dist/openapi_client/models/ResourcePermissionListResponse.js +1 -0
- package/dist/openapi_client/models/ResourcePermissionResponse.d.ts +12 -0
- package/dist/openapi_client/models/ResourcePermissionResponse.js +1 -0
- package/dist/openapi_client/models/{ScheduledFlowStart.d.ts → ScheduledFlowStartInput.d.ts} +1 -1
- package/dist/openapi_client/models/ScheduledFlowStartInput.js +1 -0
- package/dist/openapi_client/models/ScheduledFlowStartOutput.d.ts +7 -0
- package/dist/openapi_client/models/ScheduledFlowStartOutput.js +1 -0
- package/dist/openapi_client/models/ScheduledWorkflowStartInput.d.ts +11 -0
- package/dist/openapi_client/models/ScheduledWorkflowStartInput.js +1 -0
- package/dist/openapi_client/models/ScheduledWorkflowStartOutput.d.ts +11 -0
- package/dist/openapi_client/models/ScheduledWorkflowStartOutput.js +1 -0
- package/dist/openapi_client/models/SetVisibilityRequest.d.ts +3 -0
- package/dist/openapi_client/models/SetVisibilityRequest.js +1 -0
- package/dist/openapi_client/models/SlackCredentialsInput.d.ts +5 -0
- package/dist/openapi_client/models/SlackCredentialsInput.js +1 -0
- package/dist/openapi_client/models/SlackSurfaceConfig.d.ts +10 -0
- package/dist/openapi_client/models/SlackSurfaceConfig.js +1 -0
- package/dist/openapi_client/models/{SlackSurfaceConfigCreate.d.ts → SlackSurfaceConfigInput.d.ts} +1 -1
- package/dist/openapi_client/models/SlackSurfaceConfigInput.js +1 -0
- package/dist/openapi_client/models/SurfaceCredentialMode.d.ts +4 -0
- package/dist/openapi_client/models/SurfaceCredentialMode.js +9 -0
- package/dist/openapi_client/models/SurfaceIntegrationSetupGuide.d.ts +13 -0
- package/dist/openapi_client/models/SurfaceIntegrationSetupGuide.js +1 -0
- package/dist/openapi_client/models/SurfacePlatform.d.ts +8 -0
- package/dist/openapi_client/models/SurfacePlatform.js +13 -0
- package/dist/openapi_client/models/SurfacePlatformSetupGuideResponse.d.ts +9 -0
- package/dist/openapi_client/models/SurfacePlatformSetupGuideResponse.js +1 -0
- package/dist/openapi_client/models/SurfaceRoutingScope.d.ts +4 -0
- package/dist/openapi_client/models/SurfaceRoutingScope.js +9 -0
- package/dist/openapi_client/models/SurfaceSetupField.d.ts +10 -0
- package/dist/openapi_client/models/SurfaceSetupField.js +1 -0
- package/dist/openapi_client/models/SurfaceSetupFieldSource.d.ts +4 -0
- package/dist/openapi_client/models/SurfaceSetupFieldSource.js +9 -0
- package/dist/openapi_client/models/SurfaceSetupMode.d.ts +5 -0
- package/dist/openapi_client/models/SurfaceSetupMode.js +10 -0
- package/dist/openapi_client/models/SurfaceSetupPhase.d.ts +6 -0
- package/dist/openapi_client/models/SurfaceSetupPhase.js +11 -0
- package/dist/openapi_client/models/SurfaceSetupStep.d.ts +6 -0
- package/dist/openapi_client/models/SurfaceSetupStep.js +1 -0
- package/dist/openapi_client/models/SurfaceWebhookMode.d.ts +4 -0
- package/dist/openapi_client/models/SurfaceWebhookMode.js +9 -0
- package/dist/openapi_client/models/TeamsCredentialsInput.d.ts +6 -0
- package/dist/openapi_client/models/TeamsCredentialsInput.js +1 -0
- package/dist/openapi_client/models/TeamsSurfaceConfig.d.ts +9 -0
- package/dist/openapi_client/models/TeamsSurfaceConfig.js +1 -0
- package/dist/openapi_client/models/{TeamsSurfaceConfigCreate.d.ts → TeamsSurfaceConfigInput.d.ts} +1 -1
- package/dist/openapi_client/models/TeamsSurfaceConfigInput.js +1 -0
- package/dist/openapi_client/models/TelegramCredentialsInput.d.ts +5 -0
- package/dist/openapi_client/models/TelegramCredentialsInput.js +1 -0
- package/dist/openapi_client/models/TelegramSurfaceConfig.d.ts +6 -0
- package/dist/openapi_client/models/TelegramSurfaceConfig.js +1 -0
- package/dist/openapi_client/models/TelegramSurfaceConfigInput.d.ts +6 -0
- package/dist/openapi_client/models/TelegramSurfaceConfigInput.js +1 -0
- package/dist/openapi_client/models/UpdateSurfaceRequest.d.ts +17 -5
- package/dist/openapi_client/models/WhatsAppCredentialsInput.d.ts +8 -0
- package/dist/openapi_client/models/WhatsAppCredentialsInput.js +1 -0
- package/dist/openapi_client/models/WhatsAppSurfaceConfig.d.ts +6 -0
- package/dist/openapi_client/models/WhatsAppSurfaceConfig.js +1 -0
- package/dist/openapi_client/models/WhatsAppSurfaceConfigInput.d.ts +6 -0
- package/dist/openapi_client/models/WhatsAppSurfaceConfigInput.js +1 -0
- package/dist/openapi_client/models/WorkflowCreateRequest.d.ts +5 -2
- package/dist/openapi_client/models/WorkflowGraphUpdateRequest.d.ts +5 -2
- package/dist/openapi_client/models/WorkflowUpdateRequest.d.ts +5 -2
- package/dist/openapi_client/services/AssistantSurfacesIngressService.d.ts +51 -0
- package/dist/openapi_client/services/AssistantSurfacesIngressService.js +111 -0
- package/dist/openapi_client/services/AssistantSurfacesService.d.ts +27 -6
- package/dist/openapi_client/services/AssistantSurfacesService.js +62 -7
- package/dist/openapi_client/services/AuthorizationService.d.ts +47 -0
- package/dist/openapi_client/services/AuthorizationService.js +100 -0
- package/dist/openapi_client/services/DesksService.d.ts +2 -2
- package/dist/openapi_client/services/DesksService.js +3 -3
- package/dist/openapi_client/services/WorkflowsService.d.ts +3 -3
- package/dist/openapi_client/services/WorkflowsService.js +1 -1
- package/dist/react/index.d.ts +16 -0
- package/dist/react/index.js +8 -0
- package/dist/react/useAddPodMember.d.ts +22 -0
- package/dist/react/useAddPodMember.js +51 -0
- package/dist/react/useAssistantController.js +82 -37
- package/dist/react/useAssistantRuntime.js +8 -4
- package/dist/react/useAssistantSession.js +44 -2
- package/dist/react/useConversationMessages.js +19 -2
- package/dist/react/useFile.d.ts +18 -0
- package/dist/react/useFile.js +58 -0
- package/dist/react/useFilePreview.d.ts +23 -0
- package/dist/react/useFilePreview.js +76 -0
- package/dist/react/useFileSearch.d.ts +26 -0
- package/dist/react/useFileSearch.js +64 -0
- package/dist/react/useFileTree.d.ts +21 -0
- package/dist/react/useFileTree.js +59 -0
- package/dist/react/useFiles.d.ts +29 -0
- package/dist/react/useFiles.js +90 -0
- package/dist/react/useRecords.js +8 -5
- package/dist/react/useRemovePodMember.d.ts +19 -0
- package/dist/react/useRemovePodMember.js +50 -0
- package/dist/react/useUpdatePodMemberRole.d.ts +20 -0
- package/dist/react/useUpdatePodMemberRole.js +50 -0
- package/dist/react/useWorkflowStart.d.ts +2 -2
- package/dist/record-display.d.ts +20 -0
- package/dist/record-display.js +78 -0
- package/dist/record-form.d.ts +4 -0
- package/dist/record-form.js +16 -0
- package/dist/types.d.ts +8 -1
- package/package.json +2 -1
- package/dist/openapi_client/models/EmailSurfaceConfigCreate.d.ts +0 -5
- package/dist/openapi_client/models/FlowInstallEntity.d.ts +0 -16
- package/dist/openapi_client/models/FlowStartType.d.ts +0 -6
- package/dist/openapi_client/models/FlowStartType.js +0 -11
- package/dist/openapi_client/models/FlowStart_Input.d.ts +0 -14
- package/dist/openapi_client/models/FlowStart_Output.d.ts +0 -14
- package/dist/openapi_client/models/WhatsAppSurfaceConfigCreate.d.ts +0 -5
- package/dist/openapi_client/services/PublicDesksService.d.ts +0 -10
- package/dist/openapi_client/services/PublicDesksService.js +0 -22
- /package/dist/openapi_client/models/{DataStoreFlowStart.js → AdminConsentInfoResponse.js} +0 -0
- /package/dist/openapi_client/models/{EmailSurfaceConfigCreate.js → DataStoreFlowStartInput.js} +0 -0
- /package/dist/openapi_client/models/{EventFlowStart.js → DataStoreFlowStartOutput.js} +0 -0
- /package/dist/openapi_client/models/{FlowInstallEntity.js → DataStoreWorkflowStartInput.js} +0 -0
- /package/dist/openapi_client/models/{FlowStart_Input.js → DataStoreWorkflowStartOutput.js} +0 -0
- /package/dist/openapi_client/models/{FlowStart_Output.js → EventFlowStartInput.js} +0 -0
- /package/dist/openapi_client/models/{ScheduledFlowStart.js → EventFlowStartOutput.js} +0 -0
- /package/dist/openapi_client/models/{SlackSurfaceConfigCreate.js → EventWorkflowStartInput.js} +0 -0
- /package/dist/openapi_client/models/{TeamsSurfaceConfigCreate.js → EventWorkflowStartOutput.js} +0 -0
- /package/dist/openapi_client/models/{WhatsAppSurfaceConfigCreate.js → FlowInstallResponse.js} +0 -0
package/README.md
CHANGED
|
@@ -63,9 +63,9 @@ import {
|
|
|
63
63
|
useAgentRun,
|
|
64
64
|
useConversationMessages,
|
|
65
65
|
useConversations,
|
|
66
|
+
useRecordForm,
|
|
66
67
|
useRecords,
|
|
67
|
-
|
|
68
|
-
useWorkflowStart,
|
|
68
|
+
useWorkflowRun,
|
|
69
69
|
} from "lemma-sdk/react";
|
|
70
70
|
```
|
|
71
71
|
|
|
@@ -76,13 +76,14 @@ import {
|
|
|
76
76
|
| Auth | `AuthGuard`, `useAuth`, `useCurrentUser`, `usePodAccess` | Stable | Gate an app, read signed-in user state, or request pod access. |
|
|
77
77
|
| Tables | `useTables`, `useTable`, `useRecords`, `useRecord`, `useJoinedRecords`, `useRelatedRecords`, `useReverseRelatedRecords`, `useReferencingRecords` | Stable | Build custom table browsers, details views, related-record views, and relational reads. |
|
|
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
|
-
| Record forms | `useRecordSchema`, `useRecordForm`, `useForeignKeyOptions`, `useSchemaForm` | Stable | Render schema-driven forms, enum fields, and foreign-key selectors. `useRecordForm`
|
|
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`, `useFileSearch`, `useFileTree`, `useFilePreview` | Stable | Browse datastore folders, resolve file metadata, search indexed files, load directory trees, and preview converted or raw file content. |
|
|
80
81
|
| Assistant | `useConversations`, `useConversation`, `useConversationMessages`, `useAssistantRun`, `useAssistantSession`, `useAssistantRuntime`, `useAssistantController` | Stable except controller/runtime | Build custom chat, conversation lists, streaming output, and final-output views. |
|
|
81
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. |
|
|
82
83
|
| Workflows | `useWorkflowStart`, `useWorkflowRun`, `useWorkflowRuns`, `useWorkflowResume` | Stable | Start, poll, resume, cancel, retry, and inspect workflow runs. |
|
|
83
84
|
| Workflow compatibility | `useFlowSession`, `useFlowRunHistory` | Deprecated naming | Kept for existing callers; prefer workflow-named hooks for new code. |
|
|
84
85
|
| Functions | `useFunctionRun`, `useFunctionRuns`, `useFunctionSession` | Stable except raw session | Run functions, poll function runs, and list function history. |
|
|
85
|
-
| Members and org | `useMembers`, `useOrganizationMembers` | Stable | Read pod and organization
|
|
86
|
+
| Members and org | `useMembers`, `useAddPodMember`, `useUpdatePodMemberRole`, `useRemovePodMember`, `useOrganizationMembers` | Stable | Read pod and organization members, add existing org members into a pod, update pod roles, and remove pod access. The current checked-in client does not yet expose direct email-to-pod invites. |
|
|
86
87
|
|
|
87
88
|
### Common Hook Shapes
|
|
88
89
|
|
|
@@ -215,23 +216,37 @@ Lemma UI lives in the registry, not in `lemma-sdk/react`.
|
|
|
215
216
|
After running `npx lemma-sdk init-shadcn`, install blocks like:
|
|
216
217
|
|
|
217
218
|
```bash
|
|
218
|
-
npx shadcn@latest add @lemma/lemma-records-
|
|
219
|
-
npx shadcn@latest add @lemma/lemma-
|
|
220
|
-
npx shadcn@latest add @lemma/lemma-
|
|
221
|
-
npx shadcn@latest add @lemma/lemma-
|
|
219
|
+
npx shadcn@latest add @lemma/lemma-records-view
|
|
220
|
+
npx shadcn@latest add @lemma/lemma-detail-panel
|
|
221
|
+
npx shadcn@latest add @lemma/lemma-record-form
|
|
222
|
+
npx shadcn@latest add @lemma/lemma-global-search
|
|
223
|
+
npx shadcn@latest add @lemma/lemma-file-browser
|
|
224
|
+
npx shadcn@latest add @lemma/lemma-file-viewer
|
|
225
|
+
npx shadcn@latest add @lemma/lemma-document-workspace
|
|
226
|
+
npx shadcn@latest add @lemma/lemma-document-creator
|
|
227
|
+
npx shadcn@latest add @lemma/lemma-document-viewer
|
|
228
|
+
npx shadcn@latest add @lemma/lemma-document-editor
|
|
229
|
+
npx shadcn@latest add @lemma/lemma-members
|
|
230
|
+
npx shadcn@latest add @lemma/lemma-comments
|
|
231
|
+
npx shadcn@latest add @lemma/lemma-insights
|
|
232
|
+
npx shadcn@latest add @lemma/lemma-assistant-experience
|
|
222
233
|
```
|
|
223
234
|
|
|
235
|
+
Those commands are representative. The registry currently ships 22 canonical blocks.
|
|
236
|
+
|
|
224
237
|
Current registry items:
|
|
225
238
|
|
|
226
239
|
| Area | Items |
|
|
227
240
|
| --- | --- |
|
|
228
|
-
| Assistant | `lemma-assistant-experience
|
|
229
|
-
|
|
|
230
|
-
|
|
|
231
|
-
|
|
|
232
|
-
|
|
|
233
|
-
|
|
|
234
|
-
|
|
|
241
|
+
| Assistant | `lemma-assistant-experience` |
|
|
242
|
+
| Navigation | `lemma-breadcrumbs`, `lemma-global-search`, `lemma-page-tree` |
|
|
243
|
+
| Records | `lemma-records-view`, `lemma-detail-panel`, `lemma-record-form`, `lemma-status-flow` |
|
|
244
|
+
| Files | `lemma-file-browser`, `lemma-file-viewer` |
|
|
245
|
+
| Documents | `lemma-document-workspace`, `lemma-document-creator`, `lemma-document-viewer`, `lemma-document-editor`, `lemma-markdown-editor` |
|
|
246
|
+
| People | `lemma-members`, `lemma-notification-bell`, `lemma-user-menu` |
|
|
247
|
+
| Analytics | `lemma-insights` |
|
|
248
|
+
| Collaboration | `lemma-activity-feed`, `lemma-comments` |
|
|
249
|
+
| Automation | `lemma-workflow-runner` |
|
|
235
250
|
|
|
236
251
|
The registry is currently served from jsDelivr against this public repo:
|
|
237
252
|
|
|
@@ -240,54 +255,166 @@ The registry is currently served from jsDelivr against this public repo:
|
|
|
240
255
|
|
|
241
256
|
For more stable installs, pin the registry URL to a tag or commit SHA instead of `@main`.
|
|
242
257
|
|
|
258
|
+
Blocks that install a CSS file, such as records view, should be imported by your app's global stylesheet:
|
|
259
|
+
|
|
260
|
+
```css
|
|
261
|
+
@import "@/styles/lemma-records-view.css";
|
|
262
|
+
```
|
|
263
|
+
|
|
243
264
|
### Records Workspace Customization
|
|
244
265
|
|
|
245
266
|
The records blocks are meant to be configured with props before you reach for a fork.
|
|
246
267
|
|
|
247
|
-
`lemma-records-
|
|
268
|
+
`lemma-records-view` supports:
|
|
269
|
+
|
|
270
|
+
- `preset="triage" | "issues" | "crm" | "docs"` for opinionated defaults without installing duplicate workflow blocks
|
|
271
|
+
- `defaultView` and `availableViews` across `grid`, `list`, `grouped`, `kanban`, `linear`, `calendar`, `timeline`, and `matrix`
|
|
272
|
+
- `tableName`, `visibleColumns`, and `hiddenFields` for schema-aware display
|
|
273
|
+
- `pinnedColumns`, `columnWidths`, `columnLabels`, `primaryField`, `defaultSort`, and `paginationMode` for stronger operator-table defaults
|
|
274
|
+
- `groupBy`, `calendarField`, `timelineField`, `matrixRowsBy`, and `matrixColumnsBy` for consolidated view configuration
|
|
275
|
+
- `renderCell` and `renderCard` for custom record rendering
|
|
276
|
+
- `foreignKeyLabels` for human-readable FK values in cards, detail views, and create/edit forms
|
|
277
|
+
- `detailTabs`, `detailFieldGroups`, `detailRelatedRecords`, `detailSectionLabels`, and `detailSectionVisibility` for canonical detail composition
|
|
278
|
+
- `quickActions`, `bulkActions`, `detailActions`, `quickActionMode`, and `onQuickActionSuccess` for direct, function, or workflow-backed actions
|
|
279
|
+
- `onCreateOptions` and `onUpdateOptions` for function-backed mutations, including conditional field and section visibility in the create sheet
|
|
280
|
+
- `createMode="sheet" | "modal" | "page"` and `detailMode="sheet" | "modal" | "page" | "inline"` for app-specific interaction patterns
|
|
281
|
+
- `headerActions`, `emptyState`, `onRecordClick`, `renderFilesTab`, `renderCommentsTab`, and `renderActivityTab` for app-specific extensions
|
|
282
|
+
- `appearance="default" | "minimal" | "borderless" | "contained"` and `density="compact" | "comfortable" | "spacious"` for host-level block chrome; `minimal` is the cardless mode
|
|
283
|
+
|
|
284
|
+
`lemma-detail-panel` supports:
|
|
285
|
+
|
|
286
|
+
- standalone record detail rendering outside the full records workspace, using the same canonical detail internals as `lemma-records-view`
|
|
287
|
+
- `mode`, `variant`, and `layout` controls for embedded, sheet, modal, or full-page use
|
|
288
|
+
- built-in detail tabs plus custom `tabs`, `relatedRecords`, and `renderFiles` / `renderComments` / `renderActivity` sections
|
|
289
|
+
- direct, function-backed, and workflow-aware `actions`, plus `updateVia` / `updateFunctionName` for inline edits
|
|
290
|
+
- shared `appearance`, `density`, and `radius` controls for use in inline, sheet, modal, or page layouts
|
|
291
|
+
|
|
292
|
+
`lemma-record-form` supports:
|
|
293
|
+
|
|
294
|
+
- `mode="inline" | "modal" | "sheet"`
|
|
295
|
+
- `submitVia="direct" | "function"` and `submitFunctionName`
|
|
296
|
+
- `submitFunctionInput` when the backing function expects a different payload shape
|
|
297
|
+
- `hiddenFields`, `visibleFields`, `fieldOrder`, and `fieldGroups`
|
|
298
|
+
- searchable FK inputs through the shared `record-form-fields` control layer
|
|
299
|
+
- `fieldVisibility` and `sectionVisibility` for conditional forms
|
|
300
|
+
- `foreignKeyLabels` for FK select labels
|
|
301
|
+
- `initialValues`, `onSuccess`, and `onClose`
|
|
302
|
+
- `appearance`, `density`, and `radius` using the same values as `lemma-records-view`
|
|
303
|
+
|
|
304
|
+
`lemma-insights` supports:
|
|
305
|
+
|
|
306
|
+
- table-backed count, sum, average, and grouped chart cards
|
|
307
|
+
- bar, line, area, pie, and funnel charts with count/sum/avg aggregation
|
|
308
|
+
- `aggregationMode="client" | "function"` with optional `aggregateFunctionName` for shared server-side aggregation
|
|
309
|
+
- chart descriptions, value/category formatters, limits, sorting, empty states, and optional footers
|
|
310
|
+
- function-backed stats and charts
|
|
311
|
+
- shared `appearance`, `density`, `radius`, and card-column controls
|
|
312
|
+
|
|
313
|
+
`lemma-global-search` supports:
|
|
314
|
+
|
|
315
|
+
- configured `tables[]` with `searchFields`, `displayField`, `subtitleField`, `href`, `onSelect`, and `openMode`
|
|
316
|
+
- optional file search with `searchMethod`, `href`, `onSelect`, and `openMode`
|
|
317
|
+
- progressive table/file result groups, smooth loading/error source states, hidden empty sources, keyboard navigation, and built-in `cmd/ctrl+k` handling
|
|
318
|
+
- `minQueryLength`, `debounceMs`, `appearance`, `density`, trigger label, and placeholder customization
|
|
319
|
+
- assistant handoff by `assistantName`, with optional query/results message shaping and conversation routing
|
|
320
|
+
|
|
321
|
+
Navigation blocks support:
|
|
322
|
+
|
|
323
|
+
- route, record, and file-path breadcrumb builders through `lemma-breadcrumbs`
|
|
324
|
+
- self-referential page hierarchies through `lemma-page-tree`, with selection, expansion, and create/reorder hooks
|
|
325
|
+
|
|
326
|
+
File blocks support:
|
|
327
|
+
|
|
328
|
+
- datastore folder navigation and path breadcrumbs through `lemma-file-browser`
|
|
329
|
+
- pod-level file browsing and search, not only record-linked attachments
|
|
330
|
+
- upload, download, search, rename, move, folder creation, picker mode, and composition-friendly link actions
|
|
331
|
+
- selection-aware file browsing so `lemma-file-browser` can drive a paired workspace preview
|
|
332
|
+
- image, PDF, text, markdown, converted HTML, metadata, and breadcrumb-aware previews through `lemma-file-viewer`
|
|
248
333
|
|
|
249
|
-
|
|
250
|
-
- layout toggles such as `showTablePicker`, `showRecordPicker`, and `showRecordDetails`
|
|
251
|
-
- column control through `columns`, `hiddenColumnNames`, `defaultHiddenColumnNames`, and `onHiddenColumnNamesChange`
|
|
252
|
-
- non-`id` primary keys through `recordIdField` or `getRecordId`
|
|
253
|
-
- record-form overrides through `recordFormHiddenFields`, `recordFormFieldOrder`, `recordFormFieldLabels`, `recordFormFieldDescriptions`, `createFormTitle`, `editFormTitle`, `createSubmitLabel`, and `editSubmitLabel`
|
|
334
|
+
Document blocks support:
|
|
254
335
|
|
|
255
|
-
`lemma-
|
|
336
|
+
- Notion/Coda-style block documents through `lemma-document-workspace`, with Tiptap JSON content, page/modal modes, title and summary chrome, file/reference/assistant blocks, save state, metadata, backlinks, and assistant-context rails
|
|
337
|
+
- docstore-native creation through `lemma-document-workspace` or the simpler `lemma-document-creator`, with folder targeting, title/summary setup, pod-file metadata, and `mode="page" | "modal"`
|
|
338
|
+
- long-form reading surfaces through `lemma-document-workspace` or `lemma-document-viewer`, with full-page and modal presentation, metadata, backlinks, references, and assistant-context rails
|
|
339
|
+
- long-form authoring through `lemma-document-workspace` or `lemma-document-editor`, with full-page and modal presentation, title/summary chrome, save-state affordances, outline, references, and assistant-context rails
|
|
340
|
+
- a clean separation between richer document UX and the lower-level pod file workspace, while keeping pod files as the primary document store and avoiding embedded-first document editing
|
|
256
341
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
- `
|
|
260
|
-
-
|
|
342
|
+
People blocks support:
|
|
343
|
+
|
|
344
|
+
- `LemmaMemberChip`, `LemmaAvatarGroup`, `LemmaMemberSelect`, and `LemmaUserField`
|
|
345
|
+
- a stock `LemmaMembers` admin workspace for pod membership, role changes, removal, and add-from-organization flows via `organizationId`, `allowAdd`, `allowRoleEdit`, and `allowRemove`
|
|
346
|
+
- pod member labels for owner, creator, assignee, participant, and author fields
|
|
347
|
+
- searchable member picking backed by `useMembers`
|
|
348
|
+
|
|
349
|
+
Workflow primitives support:
|
|
350
|
+
|
|
351
|
+
- lifecycle/status rendering and transitions through `lemma-status-flow`
|
|
352
|
+
- read-only tracker layouts and compact step progress through `lemma-status-flow`
|
|
353
|
+
- workflow run inspection through `lemma-workflow-runner`
|
|
354
|
+
- reusable history and collaboration surfaces through `lemma-activity-feed` and `lemma-comments`
|
|
355
|
+
- table-backed defaults with escape hatches for custom action payloads and render slots
|
|
356
|
+
|
|
357
|
+
`lemma-markdown-editor` supports:
|
|
358
|
+
|
|
359
|
+
- write, preview, and split modes
|
|
360
|
+
- controlled and uncontrolled values
|
|
361
|
+
- GitHub-flavored markdown preview via `react-markdown` and `remark-gfm`
|
|
362
|
+
- a lightweight interim editing lane for plain markdown notes beside the richer block-native `lemma-document-workspace`
|
|
363
|
+
|
|
364
|
+
Assistant blocks support:
|
|
365
|
+
|
|
366
|
+
- assistant-name-first configuration through `assistantName`
|
|
367
|
+
- shared `appearance` and `density` controls on the assistant experience surface
|
|
368
|
+
- `chromeStyle`, `statusPlacement`, `radius`, model picker, conversation list, and render overrides for deeper customization
|
|
369
|
+
|
|
370
|
+
Shell blocks support:
|
|
371
|
+
|
|
372
|
+
- `lemma-notification-bell` for unread counts, popover inboxes, and mark-as-read flows
|
|
373
|
+
- `lemma-user-menu` for current-user presentation, custom menu actions, and sign-out affordances
|
|
261
374
|
|
|
262
375
|
```tsx
|
|
263
|
-
import {
|
|
264
|
-
import
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
{
|
|
268
|
-
{
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
376
|
+
import { LemmaRecordsView } from "@/components/lemma/lemma-records-view";
|
|
377
|
+
import { LemmaGlobalSearch } from "@/components/lemma/lemma-global-search";
|
|
378
|
+
|
|
379
|
+
<LemmaRecordsView
|
|
380
|
+
client={client}
|
|
381
|
+
podId={podId}
|
|
382
|
+
tableName="deals"
|
|
383
|
+
preset="crm"
|
|
384
|
+
hiddenFields={["id", "created_at", "updated_at"]}
|
|
385
|
+
foreignKeyLabels={{ company_id: "name" }}
|
|
386
|
+
appearance="minimal"
|
|
387
|
+
density="compact"
|
|
388
|
+
createMode="sheet"
|
|
389
|
+
onCreateOptions={{
|
|
390
|
+
submitVia: "function",
|
|
391
|
+
submitFunctionName: "create-deal",
|
|
392
|
+
}}
|
|
393
|
+
/>;
|
|
394
|
+
|
|
395
|
+
<LemmaGlobalSearch
|
|
396
|
+
client={client}
|
|
397
|
+
podId={podId}
|
|
398
|
+
tables={[
|
|
399
|
+
{
|
|
400
|
+
tableName: "deals",
|
|
401
|
+
label: "Deals",
|
|
402
|
+
searchFields: ["name", "status", "source"],
|
|
403
|
+
displayField: "name",
|
|
404
|
+
subtitleField: "status",
|
|
405
|
+
href: (record) => `/deals?record=${record.id}`,
|
|
406
|
+
},
|
|
407
|
+
]}
|
|
408
|
+
files={{ enabled: true, openMode: "new-tab" }}
|
|
409
|
+
assistant={{
|
|
410
|
+
assistantName: "sales-copilot",
|
|
411
|
+
label: "Ask CRM",
|
|
412
|
+
resultLimit: 8,
|
|
413
|
+
}}
|
|
414
|
+
minQueryLength={3}
|
|
415
|
+
debounceMs={450}
|
|
416
|
+
appearance="minimal"
|
|
417
|
+
density="compact"
|
|
291
418
|
/>;
|
|
292
419
|
```
|
|
293
420
|
|
|
@@ -328,6 +455,15 @@ npm run build
|
|
|
328
455
|
npm run registry:build
|
|
329
456
|
```
|
|
330
457
|
|
|
458
|
+
To build the canonical example desk:
|
|
459
|
+
|
|
460
|
+
```bash
|
|
461
|
+
cd examples/inbox-crm
|
|
462
|
+
npm run build
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
`examples/inbox-crm` now mirrors the kept registry surface only. Its local `src/components/lemma` folder is a copied install target of the current canonical registry blocks, and `src/main.tsx` demonstrates those blocks in one routed operator desk.
|
|
466
|
+
|
|
331
467
|
This repo includes:
|
|
332
468
|
|
|
333
469
|
- `registry.json` for registry source definitions
|
|
@@ -1742,8 +1742,8 @@ class DesksNamespace {
|
|
|
1742
1742
|
this.client = client;
|
|
1743
1743
|
this.http = http;
|
|
1744
1744
|
this.podId = podId;
|
|
1745
|
-
this.
|
|
1746
|
-
get: (name) => this.
|
|
1745
|
+
this.assets = {
|
|
1746
|
+
get: (name, path) => this.http.request("GET", `/pods/${this.podId()}/desks/${name}/assets${path ? `/${path.replace(/^\/+/, "")}` : ""}`),
|
|
1747
1747
|
};
|
|
1748
1748
|
this.bundle = {
|
|
1749
1749
|
upload: (name, payload) => this.client.request(() => DesksService_js_1.DesksService.deskBundleUpload(this.podId(), name, payload)),
|
|
@@ -1751,6 +1751,9 @@ class DesksNamespace {
|
|
|
1751
1751
|
this.source = {
|
|
1752
1752
|
download: (name) => this.http.requestBytes("GET", `/pods/${this.podId()}/desks/${name}/source/archive`),
|
|
1753
1753
|
};
|
|
1754
|
+
this.dist = {
|
|
1755
|
+
download: (name) => this.http.requestBytes("GET", `/pods/${this.podId()}/desks/${name}/dist/archive`),
|
|
1756
|
+
};
|
|
1754
1757
|
}
|
|
1755
1758
|
list(options = {}) {
|
|
1756
1759
|
return this.client.request(() => DesksService_js_1.DesksService.deskList(this.podId(), options.limit ?? 100, options.pageToken));
|
|
@@ -1910,16 +1913,16 @@ class DesksService {
|
|
|
1910
1913
|
});
|
|
1911
1914
|
}
|
|
1912
1915
|
/**
|
|
1913
|
-
*
|
|
1916
|
+
* Download Desk Dist Archive
|
|
1914
1917
|
* @param podId
|
|
1915
1918
|
* @param deskName
|
|
1916
1919
|
* @returns any Successful Response
|
|
1917
1920
|
* @throws ApiError
|
|
1918
1921
|
*/
|
|
1919
|
-
static
|
|
1922
|
+
static deskDistArchiveGet(podId, deskName) {
|
|
1920
1923
|
return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
|
|
1921
1924
|
method: 'GET',
|
|
1922
|
-
url: '/pods/{pod_id}/desks/{desk_name}/
|
|
1925
|
+
url: '/pods/{pod_id}/desks/{desk_name}/dist/archive',
|
|
1923
1926
|
path: {
|
|
1924
1927
|
'pod_id': podId,
|
|
1925
1928
|
'desk_name': deskName,
|
|
@@ -2002,6 +2005,15 @@ class FilesNamespace {
|
|
|
2002
2005
|
return this.client.request(() => FilesService_js_1.FilesService.fileFolderCreate(this.podId(), payload));
|
|
2003
2006
|
},
|
|
2004
2007
|
};
|
|
2008
|
+
this.converted = {
|
|
2009
|
+
get: (path) => this.client.request(() => FilesService_js_1.FilesService.fileConvertedGet(this.podId(), path)),
|
|
2010
|
+
render: (path) => this.client.request(() => FilesService_js_1.FilesService.fileConvertedRender(this.podId(), path)),
|
|
2011
|
+
download: (path, artifact = "document.md") => {
|
|
2012
|
+
const encodedPath = encodeURIComponent(path);
|
|
2013
|
+
const encodedArtifact = encodeURIComponent(artifact);
|
|
2014
|
+
return this.http.requestBytes("GET", `/pods/${this.podId()}/datastore/files/converted/download?path=${encodedPath}&artifact=${encodedArtifact}`);
|
|
2015
|
+
},
|
|
2016
|
+
};
|
|
2005
2017
|
}
|
|
2006
2018
|
list(options = {}) {
|
|
2007
2019
|
const directoryPath = options.directoryPath ?? options.parentId ?? "/";
|
|
@@ -2024,6 +2036,9 @@ class FilesNamespace {
|
|
|
2024
2036
|
const encodedPath = encodeURIComponent(path);
|
|
2025
2037
|
return this.http.requestBytes("GET", `/pods/${this.podId()}/datastore/files/download?path=${encodedPath}`);
|
|
2026
2038
|
}
|
|
2039
|
+
tree(options = {}) {
|
|
2040
|
+
return this.client.request(() => FilesService_js_1.FilesService.fileTree(this.podId(), options.rootPath ?? "/", options.filesPerDirectory ?? 3));
|
|
2041
|
+
}
|
|
2027
2042
|
upload(file, options = {}) {
|
|
2028
2043
|
const payload = {
|
|
2029
2044
|
data: file,
|
|
@@ -3873,7 +3888,7 @@ class PodSurfacesNamespace {
|
|
|
3873
3888
|
return this.client.request(() => AssistantSurfacesService_js_1.AssistantSurfacesService.assistantSurfaceGet(podId, surfaceId));
|
|
3874
3889
|
}
|
|
3875
3890
|
updateConfig(podId, surfaceId, payload) {
|
|
3876
|
-
return this.client.request(() => AssistantSurfacesService_js_1.AssistantSurfacesService.
|
|
3891
|
+
return this.client.request(() => AssistantSurfacesService_js_1.AssistantSurfacesService.assistantSurfaceUpdate(podId, surfaceId, payload));
|
|
3877
3892
|
}
|
|
3878
3893
|
toggle(podId, surfaceId, isActive) {
|
|
3879
3894
|
return this.client.request(() => AssistantSurfacesService_js_1.AssistantSurfacesService.assistantSurfaceToggle(podId, surfaceId, { is_active: isActive }));
|
|
@@ -3891,7 +3906,6 @@ const request_js_1 = require("./openapi_client/core/request.js");
|
|
|
3891
3906
|
class AssistantSurfacesService {
|
|
3892
3907
|
/**
|
|
3893
3908
|
* List Surfaces
|
|
3894
|
-
* List configured surfaces in a pod.
|
|
3895
3909
|
* @param podId
|
|
3896
3910
|
* @param limit
|
|
3897
3911
|
* @param pageToken
|
|
@@ -3916,7 +3930,6 @@ class AssistantSurfacesService {
|
|
|
3916
3930
|
}
|
|
3917
3931
|
/**
|
|
3918
3932
|
* Create Surface
|
|
3919
|
-
* Create a new surface for an assistant.
|
|
3920
3933
|
* @param podId
|
|
3921
3934
|
* @param requestBody
|
|
3922
3935
|
* @returns any Successful Response
|
|
@@ -3936,9 +3949,28 @@ class AssistantSurfacesService {
|
|
|
3936
3949
|
},
|
|
3937
3950
|
});
|
|
3938
3951
|
}
|
|
3952
|
+
/**
|
|
3953
|
+
* Get Surface Platform Checklist
|
|
3954
|
+
* @param podId
|
|
3955
|
+
* @param platform
|
|
3956
|
+
* @returns SurfacePlatformSetupGuideResponse Successful Response
|
|
3957
|
+
* @throws ApiError
|
|
3958
|
+
*/
|
|
3959
|
+
static assistantSurfacePlatformChecklist(podId, platform) {
|
|
3960
|
+
return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
|
|
3961
|
+
method: 'GET',
|
|
3962
|
+
url: '/pods/{pod_id}/surfaces/platforms/{platform}/checklist',
|
|
3963
|
+
path: {
|
|
3964
|
+
'pod_id': podId,
|
|
3965
|
+
'platform': platform,
|
|
3966
|
+
},
|
|
3967
|
+
errors: {
|
|
3968
|
+
422: `Validation Error`,
|
|
3969
|
+
},
|
|
3970
|
+
});
|
|
3971
|
+
}
|
|
3939
3972
|
/**
|
|
3940
3973
|
* Get Surface
|
|
3941
|
-
* Get a specific surface configuration.
|
|
3942
3974
|
* @param podId
|
|
3943
3975
|
* @param surfaceId
|
|
3944
3976
|
* @returns any Successful Response
|
|
@@ -3959,17 +3991,16 @@ class AssistantSurfacesService {
|
|
|
3959
3991
|
}
|
|
3960
3992
|
/**
|
|
3961
3993
|
* Update Surface
|
|
3962
|
-
* Update a surface configuration.
|
|
3963
3994
|
* @param podId
|
|
3964
3995
|
* @param surfaceId
|
|
3965
3996
|
* @param requestBody
|
|
3966
3997
|
* @returns any Successful Response
|
|
3967
3998
|
* @throws ApiError
|
|
3968
3999
|
*/
|
|
3969
|
-
static
|
|
4000
|
+
static assistantSurfaceUpdate(podId, surfaceId, requestBody) {
|
|
3970
4001
|
return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
|
|
3971
4002
|
method: 'PATCH',
|
|
3972
|
-
url: '/pods/{pod_id}/surfaces/{surface_id}
|
|
4003
|
+
url: '/pods/{pod_id}/surfaces/{surface_id}',
|
|
3973
4004
|
path: {
|
|
3974
4005
|
'pod_id': podId,
|
|
3975
4006
|
'surface_id': surfaceId,
|
|
@@ -3981,9 +4012,28 @@ class AssistantSurfacesService {
|
|
|
3981
4012
|
},
|
|
3982
4013
|
});
|
|
3983
4014
|
}
|
|
4015
|
+
/**
|
|
4016
|
+
* Get Admin Consent Info
|
|
4017
|
+
* @param podId
|
|
4018
|
+
* @param surfaceId
|
|
4019
|
+
* @returns AdminConsentInfoResponse Successful Response
|
|
4020
|
+
* @throws ApiError
|
|
4021
|
+
*/
|
|
4022
|
+
static assistantSurfaceAdminConsentInfo(podId, surfaceId) {
|
|
4023
|
+
return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
|
|
4024
|
+
method: 'GET',
|
|
4025
|
+
url: '/pods/{pod_id}/surfaces/{surface_id}/admin-consent',
|
|
4026
|
+
path: {
|
|
4027
|
+
'pod_id': podId,
|
|
4028
|
+
'surface_id': surfaceId,
|
|
4029
|
+
},
|
|
4030
|
+
errors: {
|
|
4031
|
+
422: `Validation Error`,
|
|
4032
|
+
},
|
|
4033
|
+
});
|
|
4034
|
+
}
|
|
3984
4035
|
/**
|
|
3985
4036
|
* Toggle Surface
|
|
3986
|
-
* Toggle a surface active state.
|
|
3987
4037
|
* @param podId
|
|
3988
4038
|
* @param surfaceId
|
|
3989
4039
|
* @param requestBody
|
|
@@ -4005,6 +4055,26 @@ class AssistantSurfacesService {
|
|
|
4005
4055
|
},
|
|
4006
4056
|
});
|
|
4007
4057
|
}
|
|
4058
|
+
/**
|
|
4059
|
+
* Get Webhook Url
|
|
4060
|
+
* @param podId
|
|
4061
|
+
* @param surfaceId
|
|
4062
|
+
* @returns any Successful Response
|
|
4063
|
+
* @throws ApiError
|
|
4064
|
+
*/
|
|
4065
|
+
static assistantSurfaceWebhookUrl(podId, surfaceId) {
|
|
4066
|
+
return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
|
|
4067
|
+
method: 'GET',
|
|
4068
|
+
url: '/pods/{pod_id}/surfaces/{surface_id}/webhook-url',
|
|
4069
|
+
path: {
|
|
4070
|
+
'pod_id': podId,
|
|
4071
|
+
'surface_id': surfaceId,
|
|
4072
|
+
},
|
|
4073
|
+
errors: {
|
|
4074
|
+
422: `Validation Error`,
|
|
4075
|
+
},
|
|
4076
|
+
});
|
|
4077
|
+
}
|
|
4008
4078
|
}
|
|
4009
4079
|
exports.AssistantSurfacesService = AssistantSurfacesService;
|
|
4010
4080
|
|
|
@@ -5003,7 +5073,7 @@ class WorkflowsService {
|
|
|
5003
5073
|
* @param podId
|
|
5004
5074
|
* @param workflowName
|
|
5005
5075
|
* @param requestBody
|
|
5006
|
-
* @returns
|
|
5076
|
+
* @returns FlowInstallResponse Successful Response
|
|
5007
5077
|
* @throws ApiError
|
|
5008
5078
|
*/
|
|
5009
5079
|
static workflowInstallCreate(podId, workflowName, requestBody) {
|
package/dist/index.d.ts
CHANGED
|
@@ -12,8 +12,10 @@ export { parseTaskStreamEvent, upsertTaskMessage } from "./task-events.js";
|
|
|
12
12
|
export type { ParsedTaskStreamEvent } from "./task-events.js";
|
|
13
13
|
export { parseAssistantStreamEvent, upsertConversationMessage } from "./assistant-events.js";
|
|
14
14
|
export type { ParsedAssistantStreamEvent } from "./assistant-events.js";
|
|
15
|
-
export { buildRecordFormValues, buildRecordPayload, buildRecordSchemaFields, formatRecordValueForForm, getEditableRecordFields, getRecordFieldKind, } from "./record-form.js";
|
|
15
|
+
export { DEFAULT_RECORD_FORM_HIDDEN_FIELDS, buildRecordFormValues, buildRecordPayload, buildRecordSchemaFields, formatRecordValueForForm, getEditableRecordFields, getRecordFieldKind, orderRecordSchemaFields, } from "./record-form.js";
|
|
16
16
|
export type { BuildRecordPayloadOptions, BuildRecordPayloadResult, RecordSchemaField, RecordSchemaFieldKind, } from "./record-form.js";
|
|
17
|
+
export { buildDefaultRecordDetailFieldGroups, detectRecordDescriptionColumn, detectRecordStatusColumn, detectRecordTitleColumn, formatRecordDateDisplayValue, formatRecordDisplayValue, formatRecordPlainValue, humanizeRecordFieldName, isDefaultRecordDetailHiddenField, } from "./record-display.js";
|
|
18
|
+
export type { RecordDetailFieldGroupDefinition } from "./record-display.js";
|
|
17
19
|
export { buildSchemaFormFields, buildSchemaFormPayload, buildSchemaFormValues, formatSchemaFieldValueForForm, } from "./schema-form.js";
|
|
18
20
|
export type { BuildSchemaFormPayloadResult, JsonSchemaLike, JsonSchemaPrimitiveType, SchemaFormField, SchemaFormFieldKind, } from "./schema-form.js";
|
|
19
21
|
export { buildJoinedRecordsQuery, parseForeignKeyReference, } from "./datastore-query.js";
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ export { readSSE, parseSSEJson } from "./streams.js";
|
|
|
6
6
|
export { normalizeRunStatus, isTerminalTaskStatus, isTerminalFunctionStatus, isTerminalFlowStatus, sleep, nextBackoffDelay, } from "./run-utils.js";
|
|
7
7
|
export { parseTaskStreamEvent, upsertTaskMessage } from "./task-events.js";
|
|
8
8
|
export { parseAssistantStreamEvent, upsertConversationMessage } from "./assistant-events.js";
|
|
9
|
-
export { buildRecordFormValues, buildRecordPayload, buildRecordSchemaFields, formatRecordValueForForm, getEditableRecordFields, getRecordFieldKind, } from "./record-form.js";
|
|
9
|
+
export { DEFAULT_RECORD_FORM_HIDDEN_FIELDS, buildRecordFormValues, buildRecordPayload, buildRecordSchemaFields, formatRecordValueForForm, getEditableRecordFields, getRecordFieldKind, orderRecordSchemaFields, } from "./record-form.js";
|
|
10
|
+
export { buildDefaultRecordDetailFieldGroups, detectRecordDescriptionColumn, detectRecordStatusColumn, detectRecordTitleColumn, formatRecordDateDisplayValue, formatRecordDisplayValue, formatRecordPlainValue, humanizeRecordFieldName, isDefaultRecordDetailHiddenField, } from "./record-display.js";
|
|
10
11
|
export { buildSchemaFormFields, buildSchemaFormPayload, buildSchemaFormValues, formatSchemaFieldValueForForm, } from "./schema-form.js";
|
|
11
12
|
export { buildJoinedRecordsQuery, parseForeignKeyReference, } from "./datastore-query.js";
|
|
@@ -16,8 +16,8 @@ export declare class DesksNamespace {
|
|
|
16
16
|
get(name: string): Promise<import("../types.js").DeskResponse>;
|
|
17
17
|
update(name: string, payload: UpdateDeskRequest): Promise<import("../types.js").DeskResponse>;
|
|
18
18
|
delete(name: string): Promise<import("../types.js").DeskMessageResponse>;
|
|
19
|
-
readonly
|
|
20
|
-
get: (name: string) => Promise<string>;
|
|
19
|
+
readonly assets: {
|
|
20
|
+
get: (name: string, path?: string) => Promise<string>;
|
|
21
21
|
};
|
|
22
22
|
readonly bundle: {
|
|
23
23
|
upload: (name: string, payload: DeskBundleUploadRequest) => Promise<import("../types.js").DeskBundleUploadResponse>;
|
|
@@ -25,4 +25,7 @@ export declare class DesksNamespace {
|
|
|
25
25
|
readonly source: {
|
|
26
26
|
download: (name: string) => Promise<Blob>;
|
|
27
27
|
};
|
|
28
|
+
readonly dist: {
|
|
29
|
+
download: (name: string) => Promise<Blob>;
|
|
30
|
+
};
|
|
28
31
|
}
|
package/dist/namespaces/desks.js
CHANGED
|
@@ -23,8 +23,8 @@ export class DesksNamespace {
|
|
|
23
23
|
delete(name) {
|
|
24
24
|
return this.client.request(() => DesksService.deskDelete(this.podId(), name));
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
get: (name) => this.
|
|
26
|
+
assets = {
|
|
27
|
+
get: (name, path) => this.http.request("GET", `/pods/${this.podId()}/desks/${name}/assets${path ? `/${path.replace(/^\/+/, "")}` : ""}`),
|
|
28
28
|
};
|
|
29
29
|
bundle = {
|
|
30
30
|
upload: (name, payload) => this.client.request(() => DesksService.deskBundleUpload(this.podId(), name, payload)),
|
|
@@ -32,4 +32,7 @@ export class DesksNamespace {
|
|
|
32
32
|
source = {
|
|
33
33
|
download: (name) => this.http.requestBytes("GET", `/pods/${this.podId()}/desks/${name}/source/archive`),
|
|
34
34
|
};
|
|
35
|
+
dist = {
|
|
36
|
+
download: (name) => this.http.requestBytes("GET", `/pods/${this.podId()}/desks/${name}/dist/archive`),
|
|
37
|
+
};
|
|
35
38
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { GeneratedClientAdapter } from "../generated.js";
|
|
2
2
|
import type { HttpClient } from "../http.js";
|
|
3
|
+
import type { ConvertedFileResponse } from "../openapi_client/models/ConvertedFileResponse.js";
|
|
4
|
+
import type { DirectoryTreeResponse } from "../openapi_client/models/DirectoryTreeResponse.js";
|
|
3
5
|
import { SearchMethod } from "../openapi_client/models/SearchMethod.js";
|
|
4
6
|
export declare class FilesNamespace {
|
|
5
7
|
private readonly client;
|
|
@@ -19,6 +21,10 @@ export declare class FilesNamespace {
|
|
|
19
21
|
searchMethod?: SearchMethod;
|
|
20
22
|
}): Promise<import("../types.js").FileSearchResponse>;
|
|
21
23
|
download(path: string): Promise<Blob>;
|
|
24
|
+
tree(options?: {
|
|
25
|
+
rootPath?: string;
|
|
26
|
+
filesPerDirectory?: number;
|
|
27
|
+
}): Promise<DirectoryTreeResponse>;
|
|
22
28
|
upload(file: Blob, options?: {
|
|
23
29
|
name?: string;
|
|
24
30
|
directoryPath?: string;
|
|
@@ -42,4 +48,9 @@ export declare class FilesNamespace {
|
|
|
42
48
|
description?: string;
|
|
43
49
|
}) => Promise<import("../types.js").FileResponse>;
|
|
44
50
|
};
|
|
51
|
+
readonly converted: {
|
|
52
|
+
get: (path: string) => Promise<ConvertedFileResponse>;
|
|
53
|
+
render: (path: string) => Promise<string>;
|
|
54
|
+
download: (path: string, artifact?: string) => Promise<Blob>;
|
|
55
|
+
};
|
|
45
56
|
}
|
package/dist/namespaces/files.js
CHANGED
|
@@ -59,6 +59,9 @@ export class FilesNamespace {
|
|
|
59
59
|
const encodedPath = encodeURIComponent(path);
|
|
60
60
|
return this.http.requestBytes("GET", `/pods/${this.podId()}/datastore/files/download?path=${encodedPath}`);
|
|
61
61
|
}
|
|
62
|
+
tree(options = {}) {
|
|
63
|
+
return this.client.request(() => FilesService.fileTree(this.podId(), options.rootPath ?? "/", options.filesPerDirectory ?? 3));
|
|
64
|
+
}
|
|
62
65
|
upload(file, options = {}) {
|
|
63
66
|
const payload = {
|
|
64
67
|
data: file,
|
|
@@ -96,4 +99,13 @@ export class FilesNamespace {
|
|
|
96
99
|
return this.client.request(() => FilesService.fileFolderCreate(this.podId(), payload));
|
|
97
100
|
},
|
|
98
101
|
};
|
|
102
|
+
converted = {
|
|
103
|
+
get: (path) => this.client.request(() => FilesService.fileConvertedGet(this.podId(), path)),
|
|
104
|
+
render: (path) => this.client.request(() => FilesService.fileConvertedRender(this.podId(), path)),
|
|
105
|
+
download: (path, artifact = "document.md") => {
|
|
106
|
+
const encodedPath = encodeURIComponent(path);
|
|
107
|
+
const encodedArtifact = encodeURIComponent(artifact);
|
|
108
|
+
return this.http.requestBytes("GET", `/pods/${this.podId()}/datastore/files/converted/download?path=${encodedPath}&artifact=${encodedArtifact}`);
|
|
109
|
+
},
|
|
110
|
+
};
|
|
99
111
|
}
|
|
@@ -14,7 +14,7 @@ export class PodSurfacesNamespace {
|
|
|
14
14
|
return this.client.request(() => AssistantSurfacesService.assistantSurfaceGet(podId, surfaceId));
|
|
15
15
|
}
|
|
16
16
|
updateConfig(podId, surfaceId, payload) {
|
|
17
|
-
return this.client.request(() => AssistantSurfacesService.
|
|
17
|
+
return this.client.request(() => AssistantSurfacesService.assistantSurfaceUpdate(podId, surfaceId, payload));
|
|
18
18
|
}
|
|
19
19
|
toggle(podId, surfaceId, isActive) {
|
|
20
20
|
return this.client.request(() => AssistantSurfacesService.assistantSurfaceToggle(podId, surfaceId, { is_active: isActive }));
|
|
@@ -23,7 +23,7 @@ export declare class WorkflowsNamespace {
|
|
|
23
23
|
update: (workflowName: string, graph: WorkflowGraphUpdateRequest) => Promise<import("../types.js").FlowResponse>;
|
|
24
24
|
};
|
|
25
25
|
readonly installs: {
|
|
26
|
-
create: (workflowName: string, payload?: WorkflowInstallRequest) => Promise<import("../types.js").
|
|
26
|
+
create: (workflowName: string, payload?: WorkflowInstallRequest) => Promise<import("../types.js").FlowInstallResponse>;
|
|
27
27
|
delete: (workflowName: string, installId: string) => Promise<void>;
|
|
28
28
|
};
|
|
29
29
|
private postRunAction;
|