lemma-sdk 0.2.25 → 0.2.28

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 (51) hide show
  1. package/README.md +25 -1
  2. package/dist/browser/lemma-client.js +176 -2
  3. package/dist/client.d.ts +2 -0
  4. package/dist/client.js +3 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/namespaces/pod-join-requests.d.ts +16 -0
  7. package/dist/namespaces/pod-join-requests.js +24 -0
  8. package/dist/namespaces/pod-members.d.ts +1 -0
  9. package/dist/namespaces/pod-members.js +3 -0
  10. package/dist/openapi_client/index.d.ts +9 -1
  11. package/dist/openapi_client/index.js +4 -0
  12. package/dist/openapi_client/models/DataStoreFlowStart.d.ts +3 -6
  13. package/dist/openapi_client/models/DatastoreOperation.d.ts +5 -0
  14. package/dist/openapi_client/models/DatastoreOperation.js +10 -0
  15. package/dist/openapi_client/models/FlowInstallEntity.d.ts +2 -2
  16. package/dist/openapi_client/models/FlowResponse.d.ts +4 -3
  17. package/dist/openapi_client/models/{FlowStart.d.ts → FlowStart_Input.d.ts} +1 -1
  18. package/dist/openapi_client/models/FlowStart_Output.d.ts +14 -0
  19. package/dist/openapi_client/models/FlowStart_Output.js +1 -0
  20. package/dist/openapi_client/models/PodJoinRequestApproveRequest.d.ts +6 -0
  21. package/dist/openapi_client/models/PodJoinRequestApproveRequest.js +1 -0
  22. package/dist/openapi_client/models/PodJoinRequestCreateResponse.d.ts +17 -0
  23. package/dist/openapi_client/models/PodJoinRequestCreateResponse.js +1 -0
  24. package/dist/openapi_client/models/PodJoinRequestListResponse.d.ts +7 -0
  25. package/dist/openapi_client/models/PodJoinRequestListResponse.js +1 -0
  26. package/dist/openapi_client/models/PodJoinRequestStatus.d.ts +5 -0
  27. package/dist/openapi_client/models/PodJoinRequestStatus.js +10 -0
  28. package/dist/openapi_client/models/WorkflowCreateRequest.d.ts +7 -6
  29. package/dist/openapi_client/models/WorkflowGraphUpdateRequest.d.ts +2 -2
  30. package/dist/openapi_client/models/WorkflowInstallMode.d.ts +7 -0
  31. package/dist/openapi_client/models/WorkflowInstallMode.js +12 -0
  32. package/dist/openapi_client/models/WorkflowUpdateRequest.d.ts +5 -4
  33. package/dist/openapi_client/services/FilesService.d.ts +1 -1
  34. package/dist/openapi_client/services/FilesService.js +1 -1
  35. package/dist/openapi_client/services/PodJoinRequestsService.d.ts +44 -0
  36. package/dist/openapi_client/services/PodJoinRequestsService.js +93 -0
  37. package/dist/openapi_client/services/WorkflowsService.d.ts +1 -1
  38. package/dist/openapi_client/services/WorkflowsService.js +1 -1
  39. package/dist/react/AuthGuard.d.ts +5 -2
  40. package/dist/react/AuthGuard.js +126 -3
  41. package/dist/react/components/AssistantChrome.js +1 -1
  42. package/dist/react/components/AssistantExperience.d.ts +7 -2
  43. package/dist/react/components/AssistantExperience.js +276 -34
  44. package/dist/react/components/assistant-types.d.ts +1 -0
  45. package/dist/react/styles.css +600 -224
  46. package/dist/react/useAssistantController.js +2 -1
  47. package/dist/react/useAssistantRuntime.d.ts +2 -1
  48. package/dist/react/useAssistantRuntime.js +7 -3
  49. package/dist/types.d.ts +2 -1
  50. package/package.json +1 -1
  51. /package/dist/openapi_client/models/{FlowStart.js → FlowStart_Input.js} +0 -0
@@ -584,9 +584,10 @@ export function useAssistantController({ client, podId, assistantName, assistant
584
584
  autoLoad: false,
585
585
  onError: handleAssistantSessionError,
586
586
  });
587
- const { listConversations: sessionListConversations, loadMessages: sessionLoadMessages, sendMessage: sessionSendMessage, createConversation: sessionCreateConversation, resumeIfRunning: sessionResumeIfRunning, stop: sessionStop, cancel: sessionCancel, isStreaming: sessionIsStreaming, messages: sessionMessages, streamingText: sessionStreamingText, status: sessionStatus, } = assistantSession;
587
+ const { conversationId: sessionConversationId, listConversations: sessionListConversations, loadMessages: sessionLoadMessages, sendMessage: sessionSendMessage, createConversation: sessionCreateConversation, resumeIfRunning: sessionResumeIfRunning, stop: sessionStop, cancel: sessionCancel, isStreaming: sessionIsStreaming, messages: sessionMessages, streamingText: sessionStreamingText, status: sessionStatus, } = assistantSession;
588
588
  const { runtimeMessages, appendOptimisticUserMessage, replaceLoadedMessages, mergeMessages, clear: clearRuntimeMessages, } = useAssistantRuntime({
589
589
  conversationId: activeConversationId,
590
+ sessionConversationId,
590
591
  sessionMessages,
591
592
  });
592
593
  const error = localError;
@@ -1,6 +1,7 @@
1
1
  import type { ConversationMessage } from "../types.js";
2
2
  export interface UseAssistantRuntimeOptions {
3
3
  conversationId?: string | null;
4
+ sessionConversationId?: string | null;
4
5
  sessionMessages?: ConversationMessage[];
5
6
  }
6
7
  export interface UseAssistantRuntimeResult {
@@ -12,4 +13,4 @@ export interface UseAssistantRuntimeResult {
12
13
  mergeMessages: (messages: ConversationMessage[]) => void;
13
14
  clear: () => void;
14
15
  }
15
- export declare function useAssistantRuntime({ conversationId, sessionMessages, }: UseAssistantRuntimeOptions): UseAssistantRuntimeResult;
16
+ export declare function useAssistantRuntime({ conversationId, sessionConversationId, sessionMessages, }: UseAssistantRuntimeOptions): UseAssistantRuntimeResult;
@@ -73,7 +73,7 @@ function buildOptimisticId() {
73
73
  }
74
74
  return `optimistic-user-${Date.now()}-${Math.random().toString(36).slice(2)}`;
75
75
  }
76
- export function useAssistantRuntime({ conversationId = null, sessionMessages = [], }) {
76
+ export function useAssistantRuntime({ conversationId = null, sessionConversationId = null, sessionMessages = [], }) {
77
77
  const [runtimeMessages, setRuntimeMessages] = useState([]);
78
78
  const mergeMessages = useCallback((messages) => {
79
79
  setRuntimeMessages((previous) => {
@@ -125,13 +125,17 @@ export function useAssistantRuntime({ conversationId = null, sessionMessages = [
125
125
  useEffect(() => {
126
126
  if (sessionMessages.length === 0)
127
127
  return;
128
+ // Session message state can lag one render behind active conversation
129
+ // updates. Prefer the session's own conversation id as fallback so we
130
+ // never relabel stale messages into the newly selected thread.
131
+ const fallbackConversationId = sessionConversationId ?? conversationId;
128
132
  const normalized = sessionMessages
129
- .map((message) => toRuntimeMessage(message, conversationId))
133
+ .map((message) => toRuntimeMessage(message, fallbackConversationId))
130
134
  .filter((message) => !conversationId || message.conversation_id === conversationId);
131
135
  if (normalized.length === 0)
132
136
  return;
133
137
  mergeMessages(normalized);
134
- }, [conversationId, mergeMessages, sessionMessages]);
138
+ }, [conversationId, mergeMessages, sessionConversationId, sessionMessages]);
135
139
  return {
136
140
  runtimeMessages,
137
141
  appendOptimisticUserMessage,
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AgentResponse, AssistantResponse, AvailableModels, ConversationMessageResponse, ConversationResponse, CreateAgentRequest, CreateAssistantRequest, CreateTaskRequest, FlowRunEntity, FunctionRunResponse, IconUploadResponse, OrganizationInvitationResponse, OrganizationMemberResponse, OrganizationResponse, PodConfigResponse, PodMemberResponse, PodResponse, TaskMessageResponse, TaskResponse, UpdateAgentRequest, UpdateAssistantRequest, UserResponse } from "./openapi_client/index.js";
1
+ import type { AgentResponse, AssistantResponse, AvailableModels, ConversationMessageResponse, ConversationResponse, CreateAgentRequest, CreateAssistantRequest, CreateTaskRequest, FlowRunEntity, FunctionRunResponse, IconUploadResponse, OrganizationInvitationResponse, OrganizationMemberResponse, OrganizationResponse, PodConfigResponse, PodJoinRequestCreateResponse, PodMemberResponse, PodResponse, TaskMessageResponse, TaskResponse, UpdateAgentRequest, UpdateAssistantRequest, UserResponse } from "./openapi_client/index.js";
2
2
  /** Public ergonomic types. */
3
3
  export interface PageResult<T> {
4
4
  items: T[];
@@ -54,6 +54,7 @@ export type FlowRun = FlowRunEntity;
54
54
  export type Pod = PodResponse;
55
55
  export type PodConfig = PodConfigResponse;
56
56
  export type PodMember = PodMemberResponse;
57
+ export type PodJoinRequest = PodJoinRequestCreateResponse;
57
58
  export type Organization = OrganizationResponse;
58
59
  export type OrganizationMember = OrganizationMemberResponse;
59
60
  export type OrganizationInvitation = OrganizationInvitationResponse;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lemma-sdk",
3
- "version": "0.2.25",
3
+ "version": "0.2.28",
4
4
  "description": "Official TypeScript SDK for Lemma pod-scoped APIs",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",