lemma-sdk 0.2.0
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 +100 -0
- package/dist/auth.d.ts +72 -0
- package/dist/auth.js +166 -0
- package/dist/browser/lemma-client.js +4020 -0
- package/dist/browser.d.ts +13 -0
- package/dist/browser.js +13 -0
- package/dist/client.d.ts +55 -0
- package/dist/client.js +92 -0
- package/dist/config.d.ts +14 -0
- package/dist/config.js +49 -0
- package/dist/generated.d.ts +8 -0
- package/dist/generated.js +51 -0
- package/dist/http.d.ts +24 -0
- package/dist/http.js +98 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.js +4 -0
- package/dist/namespaces/agents.d.ts +16 -0
- package/dist/namespaces/agents.js +24 -0
- package/dist/namespaces/assistants.d.ts +36 -0
- package/dist/namespaces/assistants.js +46 -0
- package/dist/namespaces/datastores.d.ts +18 -0
- package/dist/namespaces/datastores.js +28 -0
- package/dist/namespaces/desks.d.ts +28 -0
- package/dist/namespaces/desks.js +35 -0
- package/dist/namespaces/files.d.ts +40 -0
- package/dist/namespaces/files.js +61 -0
- package/dist/namespaces/functions.d.ts +25 -0
- package/dist/namespaces/functions.js +32 -0
- package/dist/namespaces/integrations.d.ts +36 -0
- package/dist/namespaces/integrations.js +37 -0
- package/dist/namespaces/records.d.ts +19 -0
- package/dist/namespaces/records.js +46 -0
- package/dist/namespaces/tables.d.ts +21 -0
- package/dist/namespaces/tables.js +31 -0
- package/dist/namespaces/tasks.d.ts +22 -0
- package/dist/namespaces/tasks.js +29 -0
- package/dist/namespaces/workflows.d.ts +35 -0
- package/dist/namespaces/workflows.js +37 -0
- package/dist/openapi_client/core/ApiError.d.ts +10 -0
- package/dist/openapi_client/core/ApiError.js +16 -0
- package/dist/openapi_client/core/ApiRequestOptions.d.ts +13 -0
- package/dist/openapi_client/core/ApiRequestOptions.js +1 -0
- package/dist/openapi_client/core/ApiResult.d.ts +7 -0
- package/dist/openapi_client/core/ApiResult.js +1 -0
- package/dist/openapi_client/core/CancelablePromise.d.ts +20 -0
- package/dist/openapi_client/core/CancelablePromise.js +99 -0
- package/dist/openapi_client/core/OpenAPI.d.ts +16 -0
- package/dist/openapi_client/core/OpenAPI.js +11 -0
- package/dist/openapi_client/core/request.d.ts +30 -0
- package/dist/openapi_client/core/request.js +275 -0
- package/dist/openapi_client/index.d.ts +247 -0
- package/dist/openapi_client/index.js +62 -0
- package/dist/openapi_client/models/AccountCredentialsResponseSchema.d.ts +11 -0
- package/dist/openapi_client/models/AccountCredentialsResponseSchema.js +1 -0
- package/dist/openapi_client/models/AccountListResponseSchema.d.ts +9 -0
- package/dist/openapi_client/models/AccountListResponseSchema.js +1 -0
- package/dist/openapi_client/models/AccountResponseSchema.d.ts +16 -0
- package/dist/openapi_client/models/AccountResponseSchema.js +1 -0
- package/dist/openapi_client/models/AddColumnRequest.d.ts +10 -0
- package/dist/openapi_client/models/AddColumnRequest.js +1 -0
- package/dist/openapi_client/models/AddMessageRequest.d.ts +6 -0
- package/dist/openapi_client/models/AddMessageRequest.js +1 -0
- package/dist/openapi_client/models/AgentListResponse.d.ts +8 -0
- package/dist/openapi_client/models/AgentListResponse.js +1 -0
- package/dist/openapi_client/models/AgentMessageResponse.d.ts +6 -0
- package/dist/openapi_client/models/AgentMessageResponse.js +1 -0
- package/dist/openapi_client/models/AgentNode.d.ts +11 -0
- package/dist/openapi_client/models/AgentNode.js +1 -0
- package/dist/openapi_client/models/AgentNodeConfig.d.ts +15 -0
- package/dist/openapi_client/models/AgentNodeConfig.js +1 -0
- package/dist/openapi_client/models/AgentResponse.d.ts +21 -0
- package/dist/openapi_client/models/AgentResponse.js +1 -0
- package/dist/openapi_client/models/ApiKeyCredentialsResponseSchema.d.ts +7 -0
- package/dist/openapi_client/models/ApiKeyCredentialsResponseSchema.js +1 -0
- package/dist/openapi_client/models/AppDescriptorResponse.d.ts +5 -0
- package/dist/openapi_client/models/AppDescriptorResponse.js +1 -0
- package/dist/openapi_client/models/AppTriggerListResponseSchema.d.ts +9 -0
- package/dist/openapi_client/models/AppTriggerListResponseSchema.js +1 -0
- package/dist/openapi_client/models/AppTriggerResponseSchema.d.ts +13 -0
- package/dist/openapi_client/models/AppTriggerResponseSchema.js +1 -0
- package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +20 -0
- package/dist/openapi_client/models/ApplicationAccessConfig.js +1 -0
- package/dist/openapi_client/models/ApplicationDetailResponseSchema.d.ts +17 -0
- package/dist/openapi_client/models/ApplicationDetailResponseSchema.js +1 -0
- package/dist/openapi_client/models/ApplicationListResponseSchema.d.ts +9 -0
- package/dist/openapi_client/models/ApplicationListResponseSchema.js +1 -0
- package/dist/openapi_client/models/ApplicationMode.d.ts +7 -0
- package/dist/openapi_client/models/ApplicationMode.js +12 -0
- package/dist/openapi_client/models/ApplicationResponseSchema.d.ts +15 -0
- package/dist/openapi_client/models/ApplicationResponseSchema.js +1 -0
- package/dist/openapi_client/models/AssistantListResponse.d.ts +6 -0
- package/dist/openapi_client/models/AssistantListResponse.js +1 -0
- package/dist/openapi_client/models/AssistantResponse.d.ts +19 -0
- package/dist/openapi_client/models/AssistantResponse.js +1 -0
- package/dist/openapi_client/models/AssistantSurfaceListResponse.d.ts +6 -0
- package/dist/openapi_client/models/AssistantSurfaceListResponse.js +1 -0
- package/dist/openapi_client/models/AssistantSurfaceResponse.d.ts +9 -0
- package/dist/openapi_client/models/AssistantSurfaceResponse.js +1 -0
- package/dist/openapi_client/models/AvailableModels.d.ts +11 -0
- package/dist/openapi_client/models/AvailableModels.js +16 -0
- package/dist/openapi_client/models/BillingInterval.d.ts +7 -0
- package/dist/openapi_client/models/BillingInterval.js +12 -0
- package/dist/openapi_client/models/Body_file_update.d.ts +7 -0
- package/dist/openapi_client/models/Body_file_update.js +1 -0
- package/dist/openapi_client/models/Body_file_upload.d.ts +7 -0
- package/dist/openapi_client/models/Body_file_upload.js +1 -0
- package/dist/openapi_client/models/Body_icon_upload.d.ts +3 -0
- package/dist/openapi_client/models/Body_icon_upload.js +1 -0
- package/dist/openapi_client/models/Body_pod_desk_bundle_upload.d.ts +4 -0
- package/dist/openapi_client/models/Body_pod_desk_bundle_upload.js +1 -0
- package/dist/openapi_client/models/Body_upload_file_files__resource_type___resource_id__upload_post.d.ts +3 -0
- package/dist/openapi_client/models/Body_upload_file_files__resource_type___resource_id__upload_post.js +1 -0
- package/dist/openapi_client/models/BulkCreateRecordsRequest.d.ts +9 -0
- package/dist/openapi_client/models/BulkCreateRecordsRequest.js +1 -0
- package/dist/openapi_client/models/BulkDeleteRecordsRequest.d.ts +9 -0
- package/dist/openapi_client/models/BulkDeleteRecordsRequest.js +1 -0
- package/dist/openapi_client/models/BulkUpdateRecordsRequest.d.ts +9 -0
- package/dist/openapi_client/models/BulkUpdateRecordsRequest.js +1 -0
- package/dist/openapi_client/models/CancelSubscriptionResponse.d.ts +10 -0
- package/dist/openapi_client/models/CancelSubscriptionResponse.js +1 -0
- package/dist/openapi_client/models/ColumnSchema.d.ts +59 -0
- package/dist/openapi_client/models/ColumnSchema.js +1 -0
- package/dist/openapi_client/models/ConnectRequestInitiateSchema.d.ts +9 -0
- package/dist/openapi_client/models/ConnectRequestInitiateSchema.js +1 -0
- package/dist/openapi_client/models/ConnectRequestResponseSchema.d.ts +13 -0
- package/dist/openapi_client/models/ConnectRequestResponseSchema.js +1 -0
- package/dist/openapi_client/models/ConversationListResponse.d.ts +6 -0
- package/dist/openapi_client/models/ConversationListResponse.js +1 -0
- package/dist/openapi_client/models/ConversationMessageListResponse.d.ts +6 -0
- package/dist/openapi_client/models/ConversationMessageListResponse.js +1 -0
- package/dist/openapi_client/models/ConversationMessageResponse.d.ts +15 -0
- package/dist/openapi_client/models/ConversationMessageResponse.js +1 -0
- package/dist/openapi_client/models/ConversationResponse.d.ts +22 -0
- package/dist/openapi_client/models/ConversationResponse.js +1 -0
- package/dist/openapi_client/models/ConversationStatus.d.ts +7 -0
- package/dist/openapi_client/models/ConversationStatus.js +12 -0
- package/dist/openapi_client/models/CreateAgentRequest.d.ts +16 -0
- package/dist/openapi_client/models/CreateAgentRequest.js +1 -0
- package/dist/openapi_client/models/CreateAssistantRequest.d.ts +14 -0
- package/dist/openapi_client/models/CreateAssistantRequest.js +1 -0
- package/dist/openapi_client/models/CreateConversationRequest.d.ts +11 -0
- package/dist/openapi_client/models/CreateConversationRequest.js +1 -0
- package/dist/openapi_client/models/CreateDatastoreRequest.d.ts +21 -0
- package/dist/openapi_client/models/CreateDatastoreRequest.js +1 -0
- package/dist/openapi_client/models/CreateDeskRequest.d.ts +6 -0
- package/dist/openapi_client/models/CreateDeskRequest.js +1 -0
- package/dist/openapi_client/models/CreateFolderRequest.d.ts +5 -0
- package/dist/openapi_client/models/CreateFolderRequest.js +1 -0
- package/dist/openapi_client/models/CreateFunctionRequest.d.ts +16 -0
- package/dist/openapi_client/models/CreateFunctionRequest.js +1 -0
- package/dist/openapi_client/models/CreateMessageRequest.d.ts +6 -0
- package/dist/openapi_client/models/CreateMessageRequest.js +1 -0
- package/dist/openapi_client/models/CreateRecordRequest.d.ts +9 -0
- package/dist/openapi_client/models/CreateRecordRequest.js +1 -0
- package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +8 -0
- package/dist/openapi_client/models/CreateSurfaceRequest.js +1 -0
- package/dist/openapi_client/models/CreateTableRequest.d.ts +26 -0
- package/dist/openapi_client/models/CreateTableRequest.js +1 -0
- package/dist/openapi_client/models/CreateTaskRequest.d.ts +10 -0
- package/dist/openapi_client/models/CreateTaskRequest.js +1 -0
- package/dist/openapi_client/models/CreateTriggerRequest.d.ts +14 -0
- package/dist/openapi_client/models/CreateTriggerRequest.js +1 -0
- package/dist/openapi_client/models/CredentialTypes.d.ts +7 -0
- package/dist/openapi_client/models/CredentialTypes.js +12 -0
- package/dist/openapi_client/models/DataStoreFlowStart.d.ts +14 -0
- package/dist/openapi_client/models/DataStoreFlowStart.js +1 -0
- package/dist/openapi_client/models/DatastoreDataType.d.ts +16 -0
- package/dist/openapi_client/models/DatastoreDataType.js +21 -0
- package/dist/openapi_client/models/DatastoreListResponse.d.ts +9 -0
- package/dist/openapi_client/models/DatastoreListResponse.js +1 -0
- package/dist/openapi_client/models/DatastoreMessageResponse.d.ts +6 -0
- package/dist/openapi_client/models/DatastoreMessageResponse.js +1 -0
- package/dist/openapi_client/models/DatastoreQueryRequest.d.ts +9 -0
- package/dist/openapi_client/models/DatastoreQueryRequest.js +1 -0
- package/dist/openapi_client/models/DatastoreResponse.d.ts +15 -0
- package/dist/openapi_client/models/DatastoreResponse.js +1 -0
- package/dist/openapi_client/models/DecisionNode.d.ts +11 -0
- package/dist/openapi_client/models/DecisionNode.js +1 -0
- package/dist/openapi_client/models/DecisionNodeConfig.d.ts +7 -0
- package/dist/openapi_client/models/DecisionNodeConfig.js +1 -0
- package/dist/openapi_client/models/DecisionRule.d.ts +4 -0
- package/dist/openapi_client/models/DecisionRule.js +1 -0
- package/dist/openapi_client/models/DeskBundleUploadResponse.d.ts +5 -0
- package/dist/openapi_client/models/DeskBundleUploadResponse.js +1 -0
- package/dist/openapi_client/models/DeskListResponse.d.ts +6 -0
- package/dist/openapi_client/models/DeskListResponse.js +1 -0
- package/dist/openapi_client/models/DeskMessageResponse.d.ts +3 -0
- package/dist/openapi_client/models/DeskMessageResponse.js +1 -0
- package/dist/openapi_client/models/DeskResponse.d.ts +15 -0
- package/dist/openapi_client/models/DeskResponse.js +1 -0
- package/dist/openapi_client/models/DeskStatus.d.ts +4 -0
- package/dist/openapi_client/models/DeskStatus.js +9 -0
- package/dist/openapi_client/models/EmailSurfaceConfigCreate.d.ts +5 -0
- package/dist/openapi_client/models/EmailSurfaceConfigCreate.js +1 -0
- package/dist/openapi_client/models/EndNode.d.ts +11 -0
- package/dist/openapi_client/models/EndNode.js +1 -0
- package/dist/openapi_client/models/EndNodeConfig.d.ts +4 -0
- package/dist/openapi_client/models/EndNodeConfig.js +1 -0
- package/dist/openapi_client/models/EventFlowStart.d.ts +19 -0
- package/dist/openapi_client/models/EventFlowStart.js +1 -0
- package/dist/openapi_client/models/ExecuteFunctionRequest.d.ts +6 -0
- package/dist/openapi_client/models/ExecuteFunctionRequest.js +1 -0
- package/dist/openapi_client/models/ExpressionInputBinding.d.ts +10 -0
- package/dist/openapi_client/models/ExpressionInputBinding.js +1 -0
- package/dist/openapi_client/models/FileInfo.d.ts +14 -0
- package/dist/openapi_client/models/FileInfo.js +8 -0
- package/dist/openapi_client/models/FileListResponse.d.ts +6 -0
- package/dist/openapi_client/models/FileListResponse.js +1 -0
- package/dist/openapi_client/models/FileResponse.d.ts +18 -0
- package/dist/openapi_client/models/FileResponse.js +1 -0
- package/dist/openapi_client/models/FileSearchRequest.d.ts +10 -0
- package/dist/openapi_client/models/FileSearchRequest.js +1 -0
- package/dist/openapi_client/models/FileSearchResponse.d.ts +8 -0
- package/dist/openapi_client/models/FileSearchResponse.js +1 -0
- package/dist/openapi_client/models/FileSearchResultSchema.d.ts +7 -0
- package/dist/openapi_client/models/FileSearchResultSchema.js +1 -0
- package/dist/openapi_client/models/FileUploadResponse.d.ts +6 -0
- package/dist/openapi_client/models/FileUploadResponse.js +1 -0
- package/dist/openapi_client/models/FlowEntity.d.ts +26 -0
- package/dist/openapi_client/models/FlowEntity.js +1 -0
- package/dist/openapi_client/models/FlowInstallEntity.d.ts +16 -0
- package/dist/openapi_client/models/FlowInstallEntity.js +1 -0
- package/dist/openapi_client/models/FlowRunEntity.d.ts +24 -0
- package/dist/openapi_client/models/FlowRunEntity.js +1 -0
- package/dist/openapi_client/models/FlowRunStatus.d.ts +12 -0
- package/dist/openapi_client/models/FlowRunStatus.js +17 -0
- package/dist/openapi_client/models/FlowStart.d.ts +14 -0
- package/dist/openapi_client/models/FlowStart.js +1 -0
- package/dist/openapi_client/models/FlowStartType.d.ts +6 -0
- package/dist/openapi_client/models/FlowStartType.js +11 -0
- package/dist/openapi_client/models/ForeignKeySpec.d.ts +9 -0
- package/dist/openapi_client/models/ForeignKeySpec.js +1 -0
- package/dist/openapi_client/models/FormNode.d.ts +11 -0
- package/dist/openapi_client/models/FormNode.js +1 -0
- package/dist/openapi_client/models/FormNodeConfig.d.ts +13 -0
- package/dist/openapi_client/models/FormNodeConfig.js +1 -0
- package/dist/openapi_client/models/FunctionListResponse.d.ts +9 -0
- package/dist/openapi_client/models/FunctionListResponse.js +1 -0
- package/dist/openapi_client/models/FunctionMessageResponse.d.ts +6 -0
- package/dist/openapi_client/models/FunctionMessageResponse.js +1 -0
- package/dist/openapi_client/models/FunctionNode.d.ts +11 -0
- package/dist/openapi_client/models/FunctionNode.js +1 -0
- package/dist/openapi_client/models/FunctionNodeConfig.d.ts +15 -0
- package/dist/openapi_client/models/FunctionNodeConfig.js +1 -0
- package/dist/openapi_client/models/FunctionResponse.d.ts +24 -0
- package/dist/openapi_client/models/FunctionResponse.js +1 -0
- package/dist/openapi_client/models/FunctionRunListResponse.d.ts +9 -0
- package/dist/openapi_client/models/FunctionRunListResponse.js +1 -0
- package/dist/openapi_client/models/FunctionRunResponse.d.ts +17 -0
- package/dist/openapi_client/models/FunctionRunResponse.js +1 -0
- package/dist/openapi_client/models/FunctionRunStatus.d.ts +10 -0
- package/dist/openapi_client/models/FunctionRunStatus.js +15 -0
- package/dist/openapi_client/models/FunctionStatus.d.ts +9 -0
- package/dist/openapi_client/models/FunctionStatus.js +14 -0
- package/dist/openapi_client/models/HTTPValidationError.d.ts +4 -0
- package/dist/openapi_client/models/HTTPValidationError.js +1 -0
- package/dist/openapi_client/models/IconUploadResponse.d.ts +8 -0
- package/dist/openapi_client/models/IconUploadResponse.js +1 -0
- package/dist/openapi_client/models/LiteralInputBinding.d.ts +10 -0
- package/dist/openapi_client/models/LiteralInputBinding.js +1 -0
- package/dist/openapi_client/models/LoopNode.d.ts +11 -0
- package/dist/openapi_client/models/LoopNode.js +1 -0
- package/dist/openapi_client/models/LoopNodeConfig.d.ts +17 -0
- package/dist/openapi_client/models/LoopNodeConfig.js +1 -0
- package/dist/openapi_client/models/MessageResponseSchema.d.ts +7 -0
- package/dist/openapi_client/models/MessageResponseSchema.js +1 -0
- package/dist/openapi_client/models/NotificationContent.d.ts +4 -0
- package/dist/openapi_client/models/NotificationContent.js +1 -0
- package/dist/openapi_client/models/OauthCredentialsResponseSchema.d.ts +7 -0
- package/dist/openapi_client/models/OauthCredentialsResponseSchema.js +1 -0
- package/dist/openapi_client/models/OperationDetail.d.ts +6 -0
- package/dist/openapi_client/models/OperationDetail.js +1 -0
- package/dist/openapi_client/models/OperationExecutionRequest.d.ts +4 -0
- package/dist/openapi_client/models/OperationExecutionRequest.js +1 -0
- package/dist/openapi_client/models/OperationExecutionResponse.d.ts +3 -0
- package/dist/openapi_client/models/OperationExecutionResponse.js +1 -0
- package/dist/openapi_client/models/OperationListResponse.d.ts +6 -0
- package/dist/openapi_client/models/OperationListResponse.js +1 -0
- package/dist/openapi_client/models/OperationSummary.d.ts +4 -0
- package/dist/openapi_client/models/OperationSummary.js +1 -0
- package/dist/openapi_client/models/OrganizationCreateRequest.d.ts +6 -0
- package/dist/openapi_client/models/OrganizationCreateRequest.js +1 -0
- package/dist/openapi_client/models/OrganizationInvitationListResponse.d.ts +9 -0
- package/dist/openapi_client/models/OrganizationInvitationListResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationInvitationRequest.d.ts +8 -0
- package/dist/openapi_client/models/OrganizationInvitationRequest.js +1 -0
- package/dist/openapi_client/models/OrganizationInvitationResponse.d.ts +17 -0
- package/dist/openapi_client/models/OrganizationInvitationResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationInvitationStatus.d.ts +9 -0
- package/dist/openapi_client/models/OrganizationInvitationStatus.js +14 -0
- package/dist/openapi_client/models/OrganizationListResponse.d.ts +9 -0
- package/dist/openapi_client/models/OrganizationListResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationMemberListResponse.d.ts +9 -0
- package/dist/openapi_client/models/OrganizationMemberListResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationMemberResponse.d.ts +14 -0
- package/dist/openapi_client/models/OrganizationMemberResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationMessageResponse.d.ts +7 -0
- package/dist/openapi_client/models/OrganizationMessageResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationResponse.d.ts +10 -0
- package/dist/openapi_client/models/OrganizationResponse.js +1 -0
- package/dist/openapi_client/models/OrganizationRole.d.ts +8 -0
- package/dist/openapi_client/models/OrganizationRole.js +13 -0
- package/dist/openapi_client/models/PlanListResponse.d.ts +8 -0
- package/dist/openapi_client/models/PlanListResponse.js +1 -0
- package/dist/openapi_client/models/PlanResponse.d.ts +17 -0
- package/dist/openapi_client/models/PlanResponse.js +1 -0
- package/dist/openapi_client/models/PodAppConfigItem.d.ts +8 -0
- package/dist/openapi_client/models/PodAppConfigItem.js +1 -0
- package/dist/openapi_client/models/PodAppMode.d.ts +5 -0
- package/dist/openapi_client/models/PodAppMode.js +10 -0
- package/dist/openapi_client/models/PodConfigResponse.d.ts +6 -0
- package/dist/openapi_client/models/PodConfigResponse.js +1 -0
- package/dist/openapi_client/models/PodCreateRequest.d.ts +13 -0
- package/dist/openapi_client/models/PodCreateRequest.js +1 -0
- package/dist/openapi_client/models/PodFlowConfigItem.d.ts +7 -0
- package/dist/openapi_client/models/PodFlowConfigItem.js +1 -0
- package/dist/openapi_client/models/PodListResponse.d.ts +10 -0
- package/dist/openapi_client/models/PodListResponse.js +1 -0
- package/dist/openapi_client/models/PodMemberAddRequest.d.ts +8 -0
- package/dist/openapi_client/models/PodMemberAddRequest.js +1 -0
- package/dist/openapi_client/models/PodMemberListResponse.d.ts +10 -0
- package/dist/openapi_client/models/PodMemberListResponse.js +1 -0
- package/dist/openapi_client/models/PodMemberResponse.d.ts +12 -0
- package/dist/openapi_client/models/PodMemberResponse.js +1 -0
- package/dist/openapi_client/models/PodMemberUpdateRoleRequest.d.ts +7 -0
- package/dist/openapi_client/models/PodMemberUpdateRoleRequest.js +1 -0
- package/dist/openapi_client/models/PodPermissionsResponse.d.ts +4 -0
- package/dist/openapi_client/models/PodPermissionsResponse.js +1 -0
- package/dist/openapi_client/models/PodResponse.d.ts +18 -0
- package/dist/openapi_client/models/PodResponse.js +1 -0
- package/dist/openapi_client/models/PodRole.d.ts +9 -0
- package/dist/openapi_client/models/PodRole.js +14 -0
- package/dist/openapi_client/models/PodStatus.d.ts +4 -0
- package/dist/openapi_client/models/PodStatus.js +9 -0
- package/dist/openapi_client/models/PodType.d.ts +6 -0
- package/dist/openapi_client/models/PodType.js +11 -0
- package/dist/openapi_client/models/PodUpdateRequest.d.ts +12 -0
- package/dist/openapi_client/models/PodUpdateRequest.js +1 -0
- package/dist/openapi_client/models/RecentUsageResponse.d.ts +9 -0
- package/dist/openapi_client/models/RecentUsageResponse.js +1 -0
- package/dist/openapi_client/models/RecordFilter.d.ts +15 -0
- package/dist/openapi_client/models/RecordFilter.js +1 -0
- package/dist/openapi_client/models/RecordFilterOperator.d.ts +10 -0
- package/dist/openapi_client/models/RecordFilterOperator.js +15 -0
- package/dist/openapi_client/models/RecordListResponse.d.ts +9 -0
- package/dist/openapi_client/models/RecordListResponse.js +1 -0
- package/dist/openapi_client/models/RecordQueryRequest.d.ts +20 -0
- package/dist/openapi_client/models/RecordQueryRequest.js +1 -0
- package/dist/openapi_client/models/RecordQueryResponse.d.ts +13 -0
- package/dist/openapi_client/models/RecordQueryResponse.js +1 -0
- package/dist/openapi_client/models/RecordResponse.d.ts +9 -0
- package/dist/openapi_client/models/RecordResponse.js +1 -0
- package/dist/openapi_client/models/RecordSort.d.ts +11 -0
- package/dist/openapi_client/models/RecordSort.js +1 -0
- package/dist/openapi_client/models/RecordSortDirection.d.ts +4 -0
- package/dist/openapi_client/models/RecordSortDirection.js +9 -0
- package/dist/openapi_client/models/ResourceFileListResponse.d.ts +6 -0
- package/dist/openapi_client/models/ResourceFileListResponse.js +1 -0
- package/dist/openapi_client/models/ResourceType.d.ts +5 -0
- package/dist/openapi_client/models/ResourceType.js +10 -0
- package/dist/openapi_client/models/ScheduledFlowStart.d.ts +10 -0
- package/dist/openapi_client/models/ScheduledFlowStart.js +1 -0
- package/dist/openapi_client/models/SearchMethod.d.ts +5 -0
- package/dist/openapi_client/models/SearchMethod.js +10 -0
- package/dist/openapi_client/models/SearchResult.d.ts +7 -0
- package/dist/openapi_client/models/SearchResult.js +1 -0
- package/dist/openapi_client/models/SeatInfoResponse.d.ts +10 -0
- package/dist/openapi_client/models/SeatInfoResponse.js +1 -0
- package/dist/openapi_client/models/SlackSurfaceConfigCreate.d.ts +6 -0
- package/dist/openapi_client/models/SlackSurfaceConfigCreate.js +1 -0
- package/dist/openapi_client/models/StackFrame.d.ts +11 -0
- package/dist/openapi_client/models/StackFrame.js +1 -0
- package/dist/openapi_client/models/StartSubscriptionRequest.d.ts +14 -0
- package/dist/openapi_client/models/StartSubscriptionRequest.js +1 -0
- package/dist/openapi_client/models/StartSubscriptionResponse.d.ts +7 -0
- package/dist/openapi_client/models/StartSubscriptionResponse.js +1 -0
- package/dist/openapi_client/models/StepExecution.d.ts +13 -0
- package/dist/openapi_client/models/StepExecution.js +1 -0
- package/dist/openapi_client/models/SubscriptionStatus.d.ts +10 -0
- package/dist/openapi_client/models/SubscriptionStatus.js +15 -0
- package/dist/openapi_client/models/SubscriptionStatusResponse.d.ts +10 -0
- package/dist/openapi_client/models/SubscriptionStatusResponse.js +1 -0
- package/dist/openapi_client/models/SubscriptionWithPlanResponse.d.ts +19 -0
- package/dist/openapi_client/models/SubscriptionWithPlanResponse.js +1 -0
- package/dist/openapi_client/models/TableListResponse.d.ts +8 -0
- package/dist/openapi_client/models/TableListResponse.js +1 -0
- package/dist/openapi_client/models/TableResponse.d.ts +15 -0
- package/dist/openapi_client/models/TableResponse.js +1 -0
- package/dist/openapi_client/models/TaskListResponse.d.ts +9 -0
- package/dist/openapi_client/models/TaskListResponse.js +1 -0
- package/dist/openapi_client/models/TaskMessageListResponse.d.ts +9 -0
- package/dist/openapi_client/models/TaskMessageListResponse.js +1 -0
- package/dist/openapi_client/models/TaskMessageResponse.d.ts +15 -0
- package/dist/openapi_client/models/TaskMessageResponse.js +1 -0
- package/dist/openapi_client/models/TaskResponse.d.ts +16 -0
- package/dist/openapi_client/models/TaskResponse.js +1 -0
- package/dist/openapi_client/models/TaskStatus.d.ts +12 -0
- package/dist/openapi_client/models/TaskStatus.js +17 -0
- package/dist/openapi_client/models/TeamsSurfaceConfigCreate.d.ts +6 -0
- package/dist/openapi_client/models/TeamsSurfaceConfigCreate.js +1 -0
- package/dist/openapi_client/models/TextContent.d.ts +4 -0
- package/dist/openapi_client/models/TextContent.js +1 -0
- package/dist/openapi_client/models/ThinkingContent.d.ts +4 -0
- package/dist/openapi_client/models/ThinkingContent.js +1 -0
- package/dist/openapi_client/models/ToggleSurfaceRequest.d.ts +3 -0
- package/dist/openapi_client/models/ToggleSurfaceRequest.js +1 -0
- package/dist/openapi_client/models/ToolCallRequest.d.ts +6 -0
- package/dist/openapi_client/models/ToolCallRequest.js +1 -0
- package/dist/openapi_client/models/ToolCallResponse.d.ts +5 -0
- package/dist/openapi_client/models/ToolCallResponse.js +1 -0
- package/dist/openapi_client/models/ToolSet.d.ts +14 -0
- package/dist/openapi_client/models/ToolSet.js +19 -0
- package/dist/openapi_client/models/TriggerListResponse.d.ts +9 -0
- package/dist/openapi_client/models/TriggerListResponse.js +1 -0
- package/dist/openapi_client/models/TriggerResponse.d.ts +20 -0
- package/dist/openapi_client/models/TriggerResponse.js +1 -0
- package/dist/openapi_client/models/TriggerType.d.ts +8 -0
- package/dist/openapi_client/models/TriggerType.js +13 -0
- package/dist/openapi_client/models/UpdateAgentRequest.d.ts +15 -0
- package/dist/openapi_client/models/UpdateAgentRequest.js +1 -0
- package/dist/openapi_client/models/UpdateAssistantRequest.d.ts +13 -0
- package/dist/openapi_client/models/UpdateAssistantRequest.js +1 -0
- package/dist/openapi_client/models/UpdateConversationRequest.d.ts +8 -0
- package/dist/openapi_client/models/UpdateConversationRequest.js +1 -0
- package/dist/openapi_client/models/UpdateDatastoreRequest.d.ts +17 -0
- package/dist/openapi_client/models/UpdateDatastoreRequest.js +1 -0
- package/dist/openapi_client/models/UpdateDeskRequest.d.ts +4 -0
- package/dist/openapi_client/models/UpdateDeskRequest.js +1 -0
- package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +12 -0
- package/dist/openapi_client/models/UpdateFunctionRequest.js +1 -0
- package/dist/openapi_client/models/UpdateMemberRoleRequest.d.ts +7 -0
- package/dist/openapi_client/models/UpdateMemberRoleRequest.js +1 -0
- package/dist/openapi_client/models/UpdateRecordRequest.d.ts +9 -0
- package/dist/openapi_client/models/UpdateRecordRequest.js +1 -0
- package/dist/openapi_client/models/UpdateSurfaceRequest.d.ts +7 -0
- package/dist/openapi_client/models/UpdateSurfaceRequest.js +1 -0
- package/dist/openapi_client/models/UpdateTableRequest.d.ts +9 -0
- package/dist/openapi_client/models/UpdateTableRequest.js +1 -0
- package/dist/openapi_client/models/UpdateTriggerRequest.d.ts +9 -0
- package/dist/openapi_client/models/UpdateTriggerRequest.js +1 -0
- package/dist/openapi_client/models/UsageRecordResponse.d.ts +21 -0
- package/dist/openapi_client/models/UsageRecordResponse.js +1 -0
- package/dist/openapi_client/models/UsageSummaryResponse.d.ts +16 -0
- package/dist/openapi_client/models/UsageSummaryResponse.js +1 -0
- package/dist/openapi_client/models/UserProfileRequest.d.ts +11 -0
- package/dist/openapi_client/models/UserProfileRequest.js +1 -0
- package/dist/openapi_client/models/UserResponse.d.ts +18 -0
- package/dist/openapi_client/models/UserResponse.js +1 -0
- package/dist/openapi_client/models/ValidationError.d.ts +5 -0
- package/dist/openapi_client/models/ValidationError.js +1 -0
- package/dist/openapi_client/models/VerifyTokenResponse.d.ts +4 -0
- package/dist/openapi_client/models/VerifyTokenResponse.js +1 -0
- package/dist/openapi_client/models/WaitUntilNode.d.ts +11 -0
- package/dist/openapi_client/models/WaitUntilNode.js +1 -0
- package/dist/openapi_client/models/WaitUntilNodeConfig.d.ts +3 -0
- package/dist/openapi_client/models/WaitUntilNodeConfig.js +1 -0
- package/dist/openapi_client/models/WebSearchAgentRequest.d.ts +9 -0
- package/dist/openapi_client/models/WebSearchAgentRequest.js +1 -0
- package/dist/openapi_client/models/WebSearchAgentResponse.d.ts +25 -0
- package/dist/openapi_client/models/WebSearchAgentResponse.js +1 -0
- package/dist/openapi_client/models/WebSearchRequest.d.ts +13 -0
- package/dist/openapi_client/models/WebSearchRequest.js +1 -0
- package/dist/openapi_client/models/WebSearchResponse.d.ts +22 -0
- package/dist/openapi_client/models/WebSearchResponse.js +1 -0
- package/dist/openapi_client/models/WhatsAppSurfaceConfigCreate.d.ts +5 -0
- package/dist/openapi_client/models/WhatsAppSurfaceConfigCreate.js +1 -0
- package/dist/openapi_client/models/WorkflowCreateRequest.d.ts +23 -0
- package/dist/openapi_client/models/WorkflowCreateRequest.js +1 -0
- package/dist/openapi_client/models/WorkflowEdge.d.ts +9 -0
- package/dist/openapi_client/models/WorkflowEdge.js +1 -0
- package/dist/openapi_client/models/WorkflowGraphUpdateRequest.d.ts +26 -0
- package/dist/openapi_client/models/WorkflowGraphUpdateRequest.js +1 -0
- package/dist/openapi_client/models/WorkflowInstallRequest.d.ts +6 -0
- package/dist/openapi_client/models/WorkflowInstallRequest.js +1 -0
- package/dist/openapi_client/models/WorkflowListResponse.d.ts +6 -0
- package/dist/openapi_client/models/WorkflowListResponse.js +1 -0
- package/dist/openapi_client/models/WorkflowRunListResponse.d.ts +6 -0
- package/dist/openapi_client/models/WorkflowRunListResponse.js +1 -0
- package/dist/openapi_client/models/WorkflowUpdateRequest.d.ts +19 -0
- package/dist/openapi_client/models/WorkflowUpdateRequest.js +1 -0
- package/dist/openapi_client/services/AgentToolsService.d.ts +23 -0
- package/dist/openapi_client/services/AgentToolsService.js +40 -0
- package/dist/openapi_client/services/AgentsService.d.ts +55 -0
- package/dist/openapi_client/services/AgentsService.js +117 -0
- package/dist/openapi_client/services/ApplicationsService.d.ts +82 -0
- package/dist/openapi_client/services/ApplicationsService.js +175 -0
- package/dist/openapi_client/services/AssistantSurfacesService.d.ts +55 -0
- package/dist/openapi_client/services/AssistantSurfacesService.js +120 -0
- package/dist/openapi_client/services/AssistantsService.d.ts +49 -0
- package/dist/openapi_client/services/AssistantsService.js +112 -0
- package/dist/openapi_client/services/AuthService.d.ts +11 -0
- package/dist/openapi_client/services/AuthService.js +16 -0
- package/dist/openapi_client/services/AuthorizationService.d.ts +11 -0
- package/dist/openapi_client/services/AuthorizationService.js +22 -0
- package/dist/openapi_client/services/BillingSubscriptionsService.d.ts +56 -0
- package/dist/openapi_client/services/BillingSubscriptionsService.js +93 -0
- package/dist/openapi_client/services/BillingUsageService.d.ts +54 -0
- package/dist/openapi_client/services/BillingUsageService.js +122 -0
- package/dist/openapi_client/services/BillingWebhooksService.d.ts +12 -0
- package/dist/openapi_client/services/BillingWebhooksService.js +25 -0
- package/dist/openapi_client/services/ConversationsService.d.ts +80 -0
- package/dist/openapi_client/services/ConversationsService.js +190 -0
- package/dist/openapi_client/services/DatastoreService.d.ts +67 -0
- package/dist/openapi_client/services/DatastoreService.js +141 -0
- package/dist/openapi_client/services/DefaultService.d.ts +9 -0
- package/dist/openapi_client/services/DefaultService.js +15 -0
- package/dist/openapi_client/services/DesksService.d.ts +77 -0
- package/dist/openapi_client/services/DesksService.js +175 -0
- package/dist/openapi_client/services/FilesService.d.ts +129 -0
- package/dist/openapi_client/services/FilesService.js +291 -0
- package/dist/openapi_client/services/FunctionsService.d.ts +89 -0
- package/dist/openapi_client/services/FunctionsService.js +191 -0
- package/dist/openapi_client/services/IconsService.d.ts +21 -0
- package/dist/openapi_client/services/IconsService.js +41 -0
- package/dist/openapi_client/services/IntegrationsService.d.ts +59 -0
- package/dist/openapi_client/services/IntegrationsService.js +121 -0
- package/dist/openapi_client/services/OrganizationsService.d.ts +122 -0
- package/dist/openapi_client/services/OrganizationsService.js +262 -0
- package/dist/openapi_client/services/PodMembersService.d.ts +45 -0
- package/dist/openapi_client/services/PodMembersService.js +96 -0
- package/dist/openapi_client/services/PodsService.d.ts +59 -0
- package/dist/openapi_client/services/PodsService.js +126 -0
- package/dist/openapi_client/services/PublicSdkService.d.ts +17 -0
- package/dist/openapi_client/services/PublicSdkService.js +35 -0
- package/dist/openapi_client/services/RecordsService.d.ts +113 -0
- package/dist/openapi_client/services/RecordsService.js +241 -0
- package/dist/openapi_client/services/TablesService.d.ts +83 -0
- package/dist/openapi_client/services/TablesService.js +178 -0
- package/dist/openapi_client/services/TasksService.d.ts +76 -0
- package/dist/openapi_client/services/TasksService.js +167 -0
- package/dist/openapi_client/services/TriggersService.d.ts +53 -0
- package/dist/openapi_client/services/TriggersService.js +109 -0
- package/dist/openapi_client/services/UsersService.d.ts +27 -0
- package/dist/openapi_client/services/UsersService.js +46 -0
- package/dist/openapi_client/services/WebhooksService.d.ts +27 -0
- package/dist/openapi_client/services/WebhooksService.js +61 -0
- package/dist/openapi_client/services/WorkflowsService.d.ts +147 -0
- package/dist/openapi_client/services/WorkflowsService.js +326 -0
- package/dist/react/AuthGuard.d.ts +22 -0
- package/dist/react/AuthGuard.js +62 -0
- package/dist/react/index.d.ts +4 -0
- package/dist/react/index.js +2 -0
- package/dist/react/useAuth.d.ts +16 -0
- package/dist/react/useAuth.js +29 -0
- package/dist/supertokens.d.ts +1 -0
- package/dist/supertokens.js +67 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.js +1 -0
- package/package.json +62 -0
package/README.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Lemma TypeScript SDK
|
|
2
|
+
|
|
3
|
+
Official TypeScript SDK for Lemma pod-scoped APIs.
|
|
4
|
+
|
|
5
|
+
- High-level `LemmaClient` namespaces for common workflows
|
|
6
|
+
- React helpers (`lemma-sdk/react`) for auth-gated apps
|
|
7
|
+
- Re-exported generated OpenAPI services and model types
|
|
8
|
+
- Browser standalone bundle (`dist/browser/lemma-client.js`)
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm i lemma-sdk
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If you want to import as `lemma`, use npm aliasing:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm i lemma@npm:lemma-sdk
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick usage
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import { LemmaClient } from "lemma-sdk";
|
|
26
|
+
|
|
27
|
+
const client = new LemmaClient({
|
|
28
|
+
apiUrl: "/api",
|
|
29
|
+
authUrl: "http://localhost:4173",
|
|
30
|
+
podId: "<pod-id>",
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
await client.initialize();
|
|
34
|
+
const todos = await client.records.list("default", "todos", { limit: 20 });
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Docs (Mintlify)
|
|
38
|
+
|
|
39
|
+
Documentation is now in Mintlify format:
|
|
40
|
+
|
|
41
|
+
- `docs/docs.json`
|
|
42
|
+
- `docs/index.mdx`
|
|
43
|
+
- `docs/quickstart.mdx`
|
|
44
|
+
- `docs/configuration.mdx`
|
|
45
|
+
- `docs/authentication.mdx`
|
|
46
|
+
- `docs/namespaces.mdx`
|
|
47
|
+
- `docs/react.mdx`
|
|
48
|
+
- `docs/browser-bundle.mdx`
|
|
49
|
+
- `docs/generated-api.mdx`
|
|
50
|
+
- `docs/publishing.mdx`
|
|
51
|
+
|
|
52
|
+
Run docs locally:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npm run docs:dev
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Validate docs:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
npm run docs:validate
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Development
|
|
65
|
+
|
|
66
|
+
### Regenerate OpenAPI client
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
bash scripts/generate_openapi_client.sh
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Build SDK
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
npm run build
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Output:
|
|
79
|
+
|
|
80
|
+
- `dist/` npm package artifacts
|
|
81
|
+
- `dist/browser/lemma-client.js` standalone browser bundle
|
|
82
|
+
- `public/lemma-client.js` committed copy for static serving
|
|
83
|
+
|
|
84
|
+
## Publishing
|
|
85
|
+
|
|
86
|
+
As of March 26, 2026, npm package name `lemma` is already taken. This repo is configured to publish as `lemma-sdk`.
|
|
87
|
+
|
|
88
|
+
Release check:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
npm run release:check
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Publish:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
npm publish
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`lemma-sdk` is unscoped, so npm publishes it as public by default.
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth module — cookie-based auth (production) with Bearer token fallback
|
|
3
|
+
* for agent/dev testing.
|
|
4
|
+
*
|
|
5
|
+
* Auth resolution order on init:
|
|
6
|
+
* 1. ?lemma_token=<token> query param (stored in memory for session)
|
|
7
|
+
* 2. localStorage.getItem("lemma_token")
|
|
8
|
+
* 3. Session cookie (credentials: "include") — production path
|
|
9
|
+
*
|
|
10
|
+
* If a token is found in (1) or (2), all requests use Authorization: Bearer <token>.
|
|
11
|
+
* Otherwise requests rely on cookies, and the server must set the session cookie
|
|
12
|
+
* after the user authenticates at the auth service. In cookie mode we initialise
|
|
13
|
+
* the SuperTokens browser SDK so fetch/XHR automatically handles anti-CSRF and
|
|
14
|
+
* refresh-token flows for mutating requests.
|
|
15
|
+
*
|
|
16
|
+
* Auth state is determined by calling GET /users/me (user.current.get).
|
|
17
|
+
* 401 → unauthenticated. 200 → authenticated.
|
|
18
|
+
*/
|
|
19
|
+
export interface UserInfo {
|
|
20
|
+
id: string;
|
|
21
|
+
email: string;
|
|
22
|
+
name?: string;
|
|
23
|
+
[key: string]: unknown;
|
|
24
|
+
}
|
|
25
|
+
export type AuthStatus = "loading" | "authenticated" | "unauthenticated";
|
|
26
|
+
export interface AuthState {
|
|
27
|
+
status: AuthStatus;
|
|
28
|
+
user: UserInfo | null;
|
|
29
|
+
}
|
|
30
|
+
export type AuthListener = (state: AuthState) => void;
|
|
31
|
+
export declare class AuthManager {
|
|
32
|
+
private readonly apiUrl;
|
|
33
|
+
private readonly authUrl;
|
|
34
|
+
private injectedToken;
|
|
35
|
+
private state;
|
|
36
|
+
private listeners;
|
|
37
|
+
constructor(apiUrl: string, authUrl: string);
|
|
38
|
+
/** Whether requests will use an injected Bearer token (testing mode). */
|
|
39
|
+
get isTokenMode(): boolean;
|
|
40
|
+
/** The current injected Bearer token, if token-mode auth is active. */
|
|
41
|
+
getBearerToken(): string | null;
|
|
42
|
+
/** The current auth state. */
|
|
43
|
+
getState(): AuthState;
|
|
44
|
+
/** True if currently authenticated (status === "authenticated"). */
|
|
45
|
+
isAuthenticated(): boolean;
|
|
46
|
+
/** Subscribe to auth state changes. Returns an unsubscribe function. */
|
|
47
|
+
subscribe(listener: AuthListener): () => void;
|
|
48
|
+
private notify;
|
|
49
|
+
private setState;
|
|
50
|
+
/**
|
|
51
|
+
* Build request headers for an API call.
|
|
52
|
+
* Uses Bearer token if one was injected, otherwise omits Authorization
|
|
53
|
+
* and lets cookies carry the session.
|
|
54
|
+
*/
|
|
55
|
+
getRequestInit(init?: RequestInit): RequestInit;
|
|
56
|
+
/**
|
|
57
|
+
* Call GET /users/me to determine auth state.
|
|
58
|
+
* Sets internal state and notifies listeners.
|
|
59
|
+
*/
|
|
60
|
+
checkAuth(): Promise<AuthState>;
|
|
61
|
+
/**
|
|
62
|
+
* Mark the session as unauthenticated (e.g. after a 401 response).
|
|
63
|
+
* Does NOT redirect — call redirectToAuth() explicitly if desired.
|
|
64
|
+
*/
|
|
65
|
+
markUnauthenticated(): void;
|
|
66
|
+
/**
|
|
67
|
+
* Redirect to the auth service, passing the current URL as redirect_uri.
|
|
68
|
+
* After the user authenticates, the auth service should redirect back to
|
|
69
|
+
* the original URL and set the session cookie.
|
|
70
|
+
*/
|
|
71
|
+
redirectToAuth(): void;
|
|
72
|
+
}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth module — cookie-based auth (production) with Bearer token fallback
|
|
3
|
+
* for agent/dev testing.
|
|
4
|
+
*
|
|
5
|
+
* Auth resolution order on init:
|
|
6
|
+
* 1. ?lemma_token=<token> query param (stored in memory for session)
|
|
7
|
+
* 2. localStorage.getItem("lemma_token")
|
|
8
|
+
* 3. Session cookie (credentials: "include") — production path
|
|
9
|
+
*
|
|
10
|
+
* If a token is found in (1) or (2), all requests use Authorization: Bearer <token>.
|
|
11
|
+
* Otherwise requests rely on cookies, and the server must set the session cookie
|
|
12
|
+
* after the user authenticates at the auth service. In cookie mode we initialise
|
|
13
|
+
* the SuperTokens browser SDK so fetch/XHR automatically handles anti-CSRF and
|
|
14
|
+
* refresh-token flows for mutating requests.
|
|
15
|
+
*
|
|
16
|
+
* Auth state is determined by calling GET /users/me (user.current.get).
|
|
17
|
+
* 401 → unauthenticated. 200 → authenticated.
|
|
18
|
+
*/
|
|
19
|
+
import { ensureCookieSessionSupport } from "./supertokens.js";
|
|
20
|
+
const LOCALSTORAGE_TOKEN_KEY = "lemma_token";
|
|
21
|
+
const QUERY_PARAM_TOKEN_KEY = "lemma_token";
|
|
22
|
+
function detectInjectedToken() {
|
|
23
|
+
if (typeof window === "undefined")
|
|
24
|
+
return null;
|
|
25
|
+
// 1. Query param — highest priority, persist to sessionStorage for this session
|
|
26
|
+
try {
|
|
27
|
+
const params = new URLSearchParams(window.location.search);
|
|
28
|
+
const qpToken = params.get(QUERY_PARAM_TOKEN_KEY);
|
|
29
|
+
if (qpToken) {
|
|
30
|
+
try {
|
|
31
|
+
sessionStorage.setItem(LOCALSTORAGE_TOKEN_KEY, qpToken);
|
|
32
|
+
}
|
|
33
|
+
catch { /* ignore */ }
|
|
34
|
+
return qpToken;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch { /* ignore */ }
|
|
38
|
+
// 2. sessionStorage — survives HMR and same-tab navigation
|
|
39
|
+
try {
|
|
40
|
+
const stored = sessionStorage.getItem(LOCALSTORAGE_TOKEN_KEY);
|
|
41
|
+
if (stored)
|
|
42
|
+
return stored;
|
|
43
|
+
}
|
|
44
|
+
catch { /* ignore */ }
|
|
45
|
+
// 3. localStorage — set manually by dev/agent for persistent testing
|
|
46
|
+
try {
|
|
47
|
+
const stored = localStorage.getItem(LOCALSTORAGE_TOKEN_KEY);
|
|
48
|
+
if (stored)
|
|
49
|
+
return stored;
|
|
50
|
+
}
|
|
51
|
+
catch { /* ignore */ }
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
export class AuthManager {
|
|
55
|
+
apiUrl;
|
|
56
|
+
authUrl;
|
|
57
|
+
injectedToken;
|
|
58
|
+
state = { status: "loading", user: null };
|
|
59
|
+
listeners = new Set();
|
|
60
|
+
constructor(apiUrl, authUrl) {
|
|
61
|
+
this.apiUrl = apiUrl;
|
|
62
|
+
this.authUrl = authUrl;
|
|
63
|
+
this.injectedToken = detectInjectedToken();
|
|
64
|
+
if (!this.injectedToken) {
|
|
65
|
+
ensureCookieSessionSupport(this.apiUrl, () => this.markUnauthenticated());
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** Whether requests will use an injected Bearer token (testing mode). */
|
|
69
|
+
get isTokenMode() {
|
|
70
|
+
return this.injectedToken !== null;
|
|
71
|
+
}
|
|
72
|
+
/** The current injected Bearer token, if token-mode auth is active. */
|
|
73
|
+
getBearerToken() {
|
|
74
|
+
return this.injectedToken;
|
|
75
|
+
}
|
|
76
|
+
/** The current auth state. */
|
|
77
|
+
getState() {
|
|
78
|
+
return this.state;
|
|
79
|
+
}
|
|
80
|
+
/** True if currently authenticated (status === "authenticated"). */
|
|
81
|
+
isAuthenticated() {
|
|
82
|
+
return this.state.status === "authenticated";
|
|
83
|
+
}
|
|
84
|
+
/** Subscribe to auth state changes. Returns an unsubscribe function. */
|
|
85
|
+
subscribe(listener) {
|
|
86
|
+
this.listeners.add(listener);
|
|
87
|
+
return () => this.listeners.delete(listener);
|
|
88
|
+
}
|
|
89
|
+
notify() {
|
|
90
|
+
this.listeners.forEach((l) => l(this.state));
|
|
91
|
+
}
|
|
92
|
+
setState(state) {
|
|
93
|
+
this.state = state;
|
|
94
|
+
this.notify();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Build request headers for an API call.
|
|
98
|
+
* Uses Bearer token if one was injected, otherwise omits Authorization
|
|
99
|
+
* and lets cookies carry the session.
|
|
100
|
+
*/
|
|
101
|
+
getRequestInit(init = {}) {
|
|
102
|
+
const headers = {
|
|
103
|
+
"Content-Type": "application/json",
|
|
104
|
+
Accept: "application/json",
|
|
105
|
+
...init.headers,
|
|
106
|
+
};
|
|
107
|
+
if (this.injectedToken) {
|
|
108
|
+
headers["Authorization"] = `Bearer ${this.injectedToken}`;
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
...init,
|
|
112
|
+
credentials: this.injectedToken ? "omit" : "include",
|
|
113
|
+
headers,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Call GET /users/me to determine auth state.
|
|
118
|
+
* Sets internal state and notifies listeners.
|
|
119
|
+
*/
|
|
120
|
+
async checkAuth() {
|
|
121
|
+
this.setState({ status: "loading", user: null });
|
|
122
|
+
try {
|
|
123
|
+
const response = await fetch(`${this.apiUrl}/users/me`, this.getRequestInit({ method: "GET" }));
|
|
124
|
+
// Only 401 means not authenticated — 403 means authenticated but forbidden
|
|
125
|
+
if (response.status === 401) {
|
|
126
|
+
const next = { status: "unauthenticated", user: null };
|
|
127
|
+
this.setState(next);
|
|
128
|
+
return next;
|
|
129
|
+
}
|
|
130
|
+
if (!response.ok) {
|
|
131
|
+
// For non-401 errors on /users/me, treat as unauthenticated (conservative)
|
|
132
|
+
const next = { status: "unauthenticated", user: null };
|
|
133
|
+
this.setState(next);
|
|
134
|
+
return next;
|
|
135
|
+
}
|
|
136
|
+
const user = (await response.json());
|
|
137
|
+
const next = { status: "authenticated", user };
|
|
138
|
+
this.setState(next);
|
|
139
|
+
return next;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
const next = { status: "unauthenticated", user: null };
|
|
143
|
+
this.setState(next);
|
|
144
|
+
return next;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Mark the session as unauthenticated (e.g. after a 401 response).
|
|
149
|
+
* Does NOT redirect — call redirectToAuth() explicitly if desired.
|
|
150
|
+
*/
|
|
151
|
+
markUnauthenticated() {
|
|
152
|
+
this.setState({ status: "unauthenticated", user: null });
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Redirect to the auth service, passing the current URL as redirect_uri.
|
|
156
|
+
* After the user authenticates, the auth service should redirect back to
|
|
157
|
+
* the original URL and set the session cookie.
|
|
158
|
+
*/
|
|
159
|
+
redirectToAuth() {
|
|
160
|
+
if (typeof window === "undefined") {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const redirectUri = encodeURIComponent(window.location.href);
|
|
164
|
+
window.location.href = `${this.authUrl}?redirect_uri=${redirectUri}`;
|
|
165
|
+
}
|
|
166
|
+
}
|