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.
Files changed (549) hide show
  1. package/README.md +100 -0
  2. package/dist/auth.d.ts +72 -0
  3. package/dist/auth.js +166 -0
  4. package/dist/browser/lemma-client.js +4020 -0
  5. package/dist/browser.d.ts +13 -0
  6. package/dist/browser.js +13 -0
  7. package/dist/client.d.ts +55 -0
  8. package/dist/client.js +92 -0
  9. package/dist/config.d.ts +14 -0
  10. package/dist/config.js +49 -0
  11. package/dist/generated.d.ts +8 -0
  12. package/dist/generated.js +51 -0
  13. package/dist/http.d.ts +24 -0
  14. package/dist/http.js +98 -0
  15. package/dist/index.d.ts +18 -0
  16. package/dist/index.js +4 -0
  17. package/dist/namespaces/agents.d.ts +16 -0
  18. package/dist/namespaces/agents.js +24 -0
  19. package/dist/namespaces/assistants.d.ts +36 -0
  20. package/dist/namespaces/assistants.js +46 -0
  21. package/dist/namespaces/datastores.d.ts +18 -0
  22. package/dist/namespaces/datastores.js +28 -0
  23. package/dist/namespaces/desks.d.ts +28 -0
  24. package/dist/namespaces/desks.js +35 -0
  25. package/dist/namespaces/files.d.ts +40 -0
  26. package/dist/namespaces/files.js +61 -0
  27. package/dist/namespaces/functions.d.ts +25 -0
  28. package/dist/namespaces/functions.js +32 -0
  29. package/dist/namespaces/integrations.d.ts +36 -0
  30. package/dist/namespaces/integrations.js +37 -0
  31. package/dist/namespaces/records.d.ts +19 -0
  32. package/dist/namespaces/records.js +46 -0
  33. package/dist/namespaces/tables.d.ts +21 -0
  34. package/dist/namespaces/tables.js +31 -0
  35. package/dist/namespaces/tasks.d.ts +22 -0
  36. package/dist/namespaces/tasks.js +29 -0
  37. package/dist/namespaces/workflows.d.ts +35 -0
  38. package/dist/namespaces/workflows.js +37 -0
  39. package/dist/openapi_client/core/ApiError.d.ts +10 -0
  40. package/dist/openapi_client/core/ApiError.js +16 -0
  41. package/dist/openapi_client/core/ApiRequestOptions.d.ts +13 -0
  42. package/dist/openapi_client/core/ApiRequestOptions.js +1 -0
  43. package/dist/openapi_client/core/ApiResult.d.ts +7 -0
  44. package/dist/openapi_client/core/ApiResult.js +1 -0
  45. package/dist/openapi_client/core/CancelablePromise.d.ts +20 -0
  46. package/dist/openapi_client/core/CancelablePromise.js +99 -0
  47. package/dist/openapi_client/core/OpenAPI.d.ts +16 -0
  48. package/dist/openapi_client/core/OpenAPI.js +11 -0
  49. package/dist/openapi_client/core/request.d.ts +30 -0
  50. package/dist/openapi_client/core/request.js +275 -0
  51. package/dist/openapi_client/index.d.ts +247 -0
  52. package/dist/openapi_client/index.js +62 -0
  53. package/dist/openapi_client/models/AccountCredentialsResponseSchema.d.ts +11 -0
  54. package/dist/openapi_client/models/AccountCredentialsResponseSchema.js +1 -0
  55. package/dist/openapi_client/models/AccountListResponseSchema.d.ts +9 -0
  56. package/dist/openapi_client/models/AccountListResponseSchema.js +1 -0
  57. package/dist/openapi_client/models/AccountResponseSchema.d.ts +16 -0
  58. package/dist/openapi_client/models/AccountResponseSchema.js +1 -0
  59. package/dist/openapi_client/models/AddColumnRequest.d.ts +10 -0
  60. package/dist/openapi_client/models/AddColumnRequest.js +1 -0
  61. package/dist/openapi_client/models/AddMessageRequest.d.ts +6 -0
  62. package/dist/openapi_client/models/AddMessageRequest.js +1 -0
  63. package/dist/openapi_client/models/AgentListResponse.d.ts +8 -0
  64. package/dist/openapi_client/models/AgentListResponse.js +1 -0
  65. package/dist/openapi_client/models/AgentMessageResponse.d.ts +6 -0
  66. package/dist/openapi_client/models/AgentMessageResponse.js +1 -0
  67. package/dist/openapi_client/models/AgentNode.d.ts +11 -0
  68. package/dist/openapi_client/models/AgentNode.js +1 -0
  69. package/dist/openapi_client/models/AgentNodeConfig.d.ts +15 -0
  70. package/dist/openapi_client/models/AgentNodeConfig.js +1 -0
  71. package/dist/openapi_client/models/AgentResponse.d.ts +21 -0
  72. package/dist/openapi_client/models/AgentResponse.js +1 -0
  73. package/dist/openapi_client/models/ApiKeyCredentialsResponseSchema.d.ts +7 -0
  74. package/dist/openapi_client/models/ApiKeyCredentialsResponseSchema.js +1 -0
  75. package/dist/openapi_client/models/AppDescriptorResponse.d.ts +5 -0
  76. package/dist/openapi_client/models/AppDescriptorResponse.js +1 -0
  77. package/dist/openapi_client/models/AppTriggerListResponseSchema.d.ts +9 -0
  78. package/dist/openapi_client/models/AppTriggerListResponseSchema.js +1 -0
  79. package/dist/openapi_client/models/AppTriggerResponseSchema.d.ts +13 -0
  80. package/dist/openapi_client/models/AppTriggerResponseSchema.js +1 -0
  81. package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +20 -0
  82. package/dist/openapi_client/models/ApplicationAccessConfig.js +1 -0
  83. package/dist/openapi_client/models/ApplicationDetailResponseSchema.d.ts +17 -0
  84. package/dist/openapi_client/models/ApplicationDetailResponseSchema.js +1 -0
  85. package/dist/openapi_client/models/ApplicationListResponseSchema.d.ts +9 -0
  86. package/dist/openapi_client/models/ApplicationListResponseSchema.js +1 -0
  87. package/dist/openapi_client/models/ApplicationMode.d.ts +7 -0
  88. package/dist/openapi_client/models/ApplicationMode.js +12 -0
  89. package/dist/openapi_client/models/ApplicationResponseSchema.d.ts +15 -0
  90. package/dist/openapi_client/models/ApplicationResponseSchema.js +1 -0
  91. package/dist/openapi_client/models/AssistantListResponse.d.ts +6 -0
  92. package/dist/openapi_client/models/AssistantListResponse.js +1 -0
  93. package/dist/openapi_client/models/AssistantResponse.d.ts +19 -0
  94. package/dist/openapi_client/models/AssistantResponse.js +1 -0
  95. package/dist/openapi_client/models/AssistantSurfaceListResponse.d.ts +6 -0
  96. package/dist/openapi_client/models/AssistantSurfaceListResponse.js +1 -0
  97. package/dist/openapi_client/models/AssistantSurfaceResponse.d.ts +9 -0
  98. package/dist/openapi_client/models/AssistantSurfaceResponse.js +1 -0
  99. package/dist/openapi_client/models/AvailableModels.d.ts +11 -0
  100. package/dist/openapi_client/models/AvailableModels.js +16 -0
  101. package/dist/openapi_client/models/BillingInterval.d.ts +7 -0
  102. package/dist/openapi_client/models/BillingInterval.js +12 -0
  103. package/dist/openapi_client/models/Body_file_update.d.ts +7 -0
  104. package/dist/openapi_client/models/Body_file_update.js +1 -0
  105. package/dist/openapi_client/models/Body_file_upload.d.ts +7 -0
  106. package/dist/openapi_client/models/Body_file_upload.js +1 -0
  107. package/dist/openapi_client/models/Body_icon_upload.d.ts +3 -0
  108. package/dist/openapi_client/models/Body_icon_upload.js +1 -0
  109. package/dist/openapi_client/models/Body_pod_desk_bundle_upload.d.ts +4 -0
  110. package/dist/openapi_client/models/Body_pod_desk_bundle_upload.js +1 -0
  111. package/dist/openapi_client/models/Body_upload_file_files__resource_type___resource_id__upload_post.d.ts +3 -0
  112. package/dist/openapi_client/models/Body_upload_file_files__resource_type___resource_id__upload_post.js +1 -0
  113. package/dist/openapi_client/models/BulkCreateRecordsRequest.d.ts +9 -0
  114. package/dist/openapi_client/models/BulkCreateRecordsRequest.js +1 -0
  115. package/dist/openapi_client/models/BulkDeleteRecordsRequest.d.ts +9 -0
  116. package/dist/openapi_client/models/BulkDeleteRecordsRequest.js +1 -0
  117. package/dist/openapi_client/models/BulkUpdateRecordsRequest.d.ts +9 -0
  118. package/dist/openapi_client/models/BulkUpdateRecordsRequest.js +1 -0
  119. package/dist/openapi_client/models/CancelSubscriptionResponse.d.ts +10 -0
  120. package/dist/openapi_client/models/CancelSubscriptionResponse.js +1 -0
  121. package/dist/openapi_client/models/ColumnSchema.d.ts +59 -0
  122. package/dist/openapi_client/models/ColumnSchema.js +1 -0
  123. package/dist/openapi_client/models/ConnectRequestInitiateSchema.d.ts +9 -0
  124. package/dist/openapi_client/models/ConnectRequestInitiateSchema.js +1 -0
  125. package/dist/openapi_client/models/ConnectRequestResponseSchema.d.ts +13 -0
  126. package/dist/openapi_client/models/ConnectRequestResponseSchema.js +1 -0
  127. package/dist/openapi_client/models/ConversationListResponse.d.ts +6 -0
  128. package/dist/openapi_client/models/ConversationListResponse.js +1 -0
  129. package/dist/openapi_client/models/ConversationMessageListResponse.d.ts +6 -0
  130. package/dist/openapi_client/models/ConversationMessageListResponse.js +1 -0
  131. package/dist/openapi_client/models/ConversationMessageResponse.d.ts +15 -0
  132. package/dist/openapi_client/models/ConversationMessageResponse.js +1 -0
  133. package/dist/openapi_client/models/ConversationResponse.d.ts +22 -0
  134. package/dist/openapi_client/models/ConversationResponse.js +1 -0
  135. package/dist/openapi_client/models/ConversationStatus.d.ts +7 -0
  136. package/dist/openapi_client/models/ConversationStatus.js +12 -0
  137. package/dist/openapi_client/models/CreateAgentRequest.d.ts +16 -0
  138. package/dist/openapi_client/models/CreateAgentRequest.js +1 -0
  139. package/dist/openapi_client/models/CreateAssistantRequest.d.ts +14 -0
  140. package/dist/openapi_client/models/CreateAssistantRequest.js +1 -0
  141. package/dist/openapi_client/models/CreateConversationRequest.d.ts +11 -0
  142. package/dist/openapi_client/models/CreateConversationRequest.js +1 -0
  143. package/dist/openapi_client/models/CreateDatastoreRequest.d.ts +21 -0
  144. package/dist/openapi_client/models/CreateDatastoreRequest.js +1 -0
  145. package/dist/openapi_client/models/CreateDeskRequest.d.ts +6 -0
  146. package/dist/openapi_client/models/CreateDeskRequest.js +1 -0
  147. package/dist/openapi_client/models/CreateFolderRequest.d.ts +5 -0
  148. package/dist/openapi_client/models/CreateFolderRequest.js +1 -0
  149. package/dist/openapi_client/models/CreateFunctionRequest.d.ts +16 -0
  150. package/dist/openapi_client/models/CreateFunctionRequest.js +1 -0
  151. package/dist/openapi_client/models/CreateMessageRequest.d.ts +6 -0
  152. package/dist/openapi_client/models/CreateMessageRequest.js +1 -0
  153. package/dist/openapi_client/models/CreateRecordRequest.d.ts +9 -0
  154. package/dist/openapi_client/models/CreateRecordRequest.js +1 -0
  155. package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +8 -0
  156. package/dist/openapi_client/models/CreateSurfaceRequest.js +1 -0
  157. package/dist/openapi_client/models/CreateTableRequest.d.ts +26 -0
  158. package/dist/openapi_client/models/CreateTableRequest.js +1 -0
  159. package/dist/openapi_client/models/CreateTaskRequest.d.ts +10 -0
  160. package/dist/openapi_client/models/CreateTaskRequest.js +1 -0
  161. package/dist/openapi_client/models/CreateTriggerRequest.d.ts +14 -0
  162. package/dist/openapi_client/models/CreateTriggerRequest.js +1 -0
  163. package/dist/openapi_client/models/CredentialTypes.d.ts +7 -0
  164. package/dist/openapi_client/models/CredentialTypes.js +12 -0
  165. package/dist/openapi_client/models/DataStoreFlowStart.d.ts +14 -0
  166. package/dist/openapi_client/models/DataStoreFlowStart.js +1 -0
  167. package/dist/openapi_client/models/DatastoreDataType.d.ts +16 -0
  168. package/dist/openapi_client/models/DatastoreDataType.js +21 -0
  169. package/dist/openapi_client/models/DatastoreListResponse.d.ts +9 -0
  170. package/dist/openapi_client/models/DatastoreListResponse.js +1 -0
  171. package/dist/openapi_client/models/DatastoreMessageResponse.d.ts +6 -0
  172. package/dist/openapi_client/models/DatastoreMessageResponse.js +1 -0
  173. package/dist/openapi_client/models/DatastoreQueryRequest.d.ts +9 -0
  174. package/dist/openapi_client/models/DatastoreQueryRequest.js +1 -0
  175. package/dist/openapi_client/models/DatastoreResponse.d.ts +15 -0
  176. package/dist/openapi_client/models/DatastoreResponse.js +1 -0
  177. package/dist/openapi_client/models/DecisionNode.d.ts +11 -0
  178. package/dist/openapi_client/models/DecisionNode.js +1 -0
  179. package/dist/openapi_client/models/DecisionNodeConfig.d.ts +7 -0
  180. package/dist/openapi_client/models/DecisionNodeConfig.js +1 -0
  181. package/dist/openapi_client/models/DecisionRule.d.ts +4 -0
  182. package/dist/openapi_client/models/DecisionRule.js +1 -0
  183. package/dist/openapi_client/models/DeskBundleUploadResponse.d.ts +5 -0
  184. package/dist/openapi_client/models/DeskBundleUploadResponse.js +1 -0
  185. package/dist/openapi_client/models/DeskListResponse.d.ts +6 -0
  186. package/dist/openapi_client/models/DeskListResponse.js +1 -0
  187. package/dist/openapi_client/models/DeskMessageResponse.d.ts +3 -0
  188. package/dist/openapi_client/models/DeskMessageResponse.js +1 -0
  189. package/dist/openapi_client/models/DeskResponse.d.ts +15 -0
  190. package/dist/openapi_client/models/DeskResponse.js +1 -0
  191. package/dist/openapi_client/models/DeskStatus.d.ts +4 -0
  192. package/dist/openapi_client/models/DeskStatus.js +9 -0
  193. package/dist/openapi_client/models/EmailSurfaceConfigCreate.d.ts +5 -0
  194. package/dist/openapi_client/models/EmailSurfaceConfigCreate.js +1 -0
  195. package/dist/openapi_client/models/EndNode.d.ts +11 -0
  196. package/dist/openapi_client/models/EndNode.js +1 -0
  197. package/dist/openapi_client/models/EndNodeConfig.d.ts +4 -0
  198. package/dist/openapi_client/models/EndNodeConfig.js +1 -0
  199. package/dist/openapi_client/models/EventFlowStart.d.ts +19 -0
  200. package/dist/openapi_client/models/EventFlowStart.js +1 -0
  201. package/dist/openapi_client/models/ExecuteFunctionRequest.d.ts +6 -0
  202. package/dist/openapi_client/models/ExecuteFunctionRequest.js +1 -0
  203. package/dist/openapi_client/models/ExpressionInputBinding.d.ts +10 -0
  204. package/dist/openapi_client/models/ExpressionInputBinding.js +1 -0
  205. package/dist/openapi_client/models/FileInfo.d.ts +14 -0
  206. package/dist/openapi_client/models/FileInfo.js +8 -0
  207. package/dist/openapi_client/models/FileListResponse.d.ts +6 -0
  208. package/dist/openapi_client/models/FileListResponse.js +1 -0
  209. package/dist/openapi_client/models/FileResponse.d.ts +18 -0
  210. package/dist/openapi_client/models/FileResponse.js +1 -0
  211. package/dist/openapi_client/models/FileSearchRequest.d.ts +10 -0
  212. package/dist/openapi_client/models/FileSearchRequest.js +1 -0
  213. package/dist/openapi_client/models/FileSearchResponse.d.ts +8 -0
  214. package/dist/openapi_client/models/FileSearchResponse.js +1 -0
  215. package/dist/openapi_client/models/FileSearchResultSchema.d.ts +7 -0
  216. package/dist/openapi_client/models/FileSearchResultSchema.js +1 -0
  217. package/dist/openapi_client/models/FileUploadResponse.d.ts +6 -0
  218. package/dist/openapi_client/models/FileUploadResponse.js +1 -0
  219. package/dist/openapi_client/models/FlowEntity.d.ts +26 -0
  220. package/dist/openapi_client/models/FlowEntity.js +1 -0
  221. package/dist/openapi_client/models/FlowInstallEntity.d.ts +16 -0
  222. package/dist/openapi_client/models/FlowInstallEntity.js +1 -0
  223. package/dist/openapi_client/models/FlowRunEntity.d.ts +24 -0
  224. package/dist/openapi_client/models/FlowRunEntity.js +1 -0
  225. package/dist/openapi_client/models/FlowRunStatus.d.ts +12 -0
  226. package/dist/openapi_client/models/FlowRunStatus.js +17 -0
  227. package/dist/openapi_client/models/FlowStart.d.ts +14 -0
  228. package/dist/openapi_client/models/FlowStart.js +1 -0
  229. package/dist/openapi_client/models/FlowStartType.d.ts +6 -0
  230. package/dist/openapi_client/models/FlowStartType.js +11 -0
  231. package/dist/openapi_client/models/ForeignKeySpec.d.ts +9 -0
  232. package/dist/openapi_client/models/ForeignKeySpec.js +1 -0
  233. package/dist/openapi_client/models/FormNode.d.ts +11 -0
  234. package/dist/openapi_client/models/FormNode.js +1 -0
  235. package/dist/openapi_client/models/FormNodeConfig.d.ts +13 -0
  236. package/dist/openapi_client/models/FormNodeConfig.js +1 -0
  237. package/dist/openapi_client/models/FunctionListResponse.d.ts +9 -0
  238. package/dist/openapi_client/models/FunctionListResponse.js +1 -0
  239. package/dist/openapi_client/models/FunctionMessageResponse.d.ts +6 -0
  240. package/dist/openapi_client/models/FunctionMessageResponse.js +1 -0
  241. package/dist/openapi_client/models/FunctionNode.d.ts +11 -0
  242. package/dist/openapi_client/models/FunctionNode.js +1 -0
  243. package/dist/openapi_client/models/FunctionNodeConfig.d.ts +15 -0
  244. package/dist/openapi_client/models/FunctionNodeConfig.js +1 -0
  245. package/dist/openapi_client/models/FunctionResponse.d.ts +24 -0
  246. package/dist/openapi_client/models/FunctionResponse.js +1 -0
  247. package/dist/openapi_client/models/FunctionRunListResponse.d.ts +9 -0
  248. package/dist/openapi_client/models/FunctionRunListResponse.js +1 -0
  249. package/dist/openapi_client/models/FunctionRunResponse.d.ts +17 -0
  250. package/dist/openapi_client/models/FunctionRunResponse.js +1 -0
  251. package/dist/openapi_client/models/FunctionRunStatus.d.ts +10 -0
  252. package/dist/openapi_client/models/FunctionRunStatus.js +15 -0
  253. package/dist/openapi_client/models/FunctionStatus.d.ts +9 -0
  254. package/dist/openapi_client/models/FunctionStatus.js +14 -0
  255. package/dist/openapi_client/models/HTTPValidationError.d.ts +4 -0
  256. package/dist/openapi_client/models/HTTPValidationError.js +1 -0
  257. package/dist/openapi_client/models/IconUploadResponse.d.ts +8 -0
  258. package/dist/openapi_client/models/IconUploadResponse.js +1 -0
  259. package/dist/openapi_client/models/LiteralInputBinding.d.ts +10 -0
  260. package/dist/openapi_client/models/LiteralInputBinding.js +1 -0
  261. package/dist/openapi_client/models/LoopNode.d.ts +11 -0
  262. package/dist/openapi_client/models/LoopNode.js +1 -0
  263. package/dist/openapi_client/models/LoopNodeConfig.d.ts +17 -0
  264. package/dist/openapi_client/models/LoopNodeConfig.js +1 -0
  265. package/dist/openapi_client/models/MessageResponseSchema.d.ts +7 -0
  266. package/dist/openapi_client/models/MessageResponseSchema.js +1 -0
  267. package/dist/openapi_client/models/NotificationContent.d.ts +4 -0
  268. package/dist/openapi_client/models/NotificationContent.js +1 -0
  269. package/dist/openapi_client/models/OauthCredentialsResponseSchema.d.ts +7 -0
  270. package/dist/openapi_client/models/OauthCredentialsResponseSchema.js +1 -0
  271. package/dist/openapi_client/models/OperationDetail.d.ts +6 -0
  272. package/dist/openapi_client/models/OperationDetail.js +1 -0
  273. package/dist/openapi_client/models/OperationExecutionRequest.d.ts +4 -0
  274. package/dist/openapi_client/models/OperationExecutionRequest.js +1 -0
  275. package/dist/openapi_client/models/OperationExecutionResponse.d.ts +3 -0
  276. package/dist/openapi_client/models/OperationExecutionResponse.js +1 -0
  277. package/dist/openapi_client/models/OperationListResponse.d.ts +6 -0
  278. package/dist/openapi_client/models/OperationListResponse.js +1 -0
  279. package/dist/openapi_client/models/OperationSummary.d.ts +4 -0
  280. package/dist/openapi_client/models/OperationSummary.js +1 -0
  281. package/dist/openapi_client/models/OrganizationCreateRequest.d.ts +6 -0
  282. package/dist/openapi_client/models/OrganizationCreateRequest.js +1 -0
  283. package/dist/openapi_client/models/OrganizationInvitationListResponse.d.ts +9 -0
  284. package/dist/openapi_client/models/OrganizationInvitationListResponse.js +1 -0
  285. package/dist/openapi_client/models/OrganizationInvitationRequest.d.ts +8 -0
  286. package/dist/openapi_client/models/OrganizationInvitationRequest.js +1 -0
  287. package/dist/openapi_client/models/OrganizationInvitationResponse.d.ts +17 -0
  288. package/dist/openapi_client/models/OrganizationInvitationResponse.js +1 -0
  289. package/dist/openapi_client/models/OrganizationInvitationStatus.d.ts +9 -0
  290. package/dist/openapi_client/models/OrganizationInvitationStatus.js +14 -0
  291. package/dist/openapi_client/models/OrganizationListResponse.d.ts +9 -0
  292. package/dist/openapi_client/models/OrganizationListResponse.js +1 -0
  293. package/dist/openapi_client/models/OrganizationMemberListResponse.d.ts +9 -0
  294. package/dist/openapi_client/models/OrganizationMemberListResponse.js +1 -0
  295. package/dist/openapi_client/models/OrganizationMemberResponse.d.ts +14 -0
  296. package/dist/openapi_client/models/OrganizationMemberResponse.js +1 -0
  297. package/dist/openapi_client/models/OrganizationMessageResponse.d.ts +7 -0
  298. package/dist/openapi_client/models/OrganizationMessageResponse.js +1 -0
  299. package/dist/openapi_client/models/OrganizationResponse.d.ts +10 -0
  300. package/dist/openapi_client/models/OrganizationResponse.js +1 -0
  301. package/dist/openapi_client/models/OrganizationRole.d.ts +8 -0
  302. package/dist/openapi_client/models/OrganizationRole.js +13 -0
  303. package/dist/openapi_client/models/PlanListResponse.d.ts +8 -0
  304. package/dist/openapi_client/models/PlanListResponse.js +1 -0
  305. package/dist/openapi_client/models/PlanResponse.d.ts +17 -0
  306. package/dist/openapi_client/models/PlanResponse.js +1 -0
  307. package/dist/openapi_client/models/PodAppConfigItem.d.ts +8 -0
  308. package/dist/openapi_client/models/PodAppConfigItem.js +1 -0
  309. package/dist/openapi_client/models/PodAppMode.d.ts +5 -0
  310. package/dist/openapi_client/models/PodAppMode.js +10 -0
  311. package/dist/openapi_client/models/PodConfigResponse.d.ts +6 -0
  312. package/dist/openapi_client/models/PodConfigResponse.js +1 -0
  313. package/dist/openapi_client/models/PodCreateRequest.d.ts +13 -0
  314. package/dist/openapi_client/models/PodCreateRequest.js +1 -0
  315. package/dist/openapi_client/models/PodFlowConfigItem.d.ts +7 -0
  316. package/dist/openapi_client/models/PodFlowConfigItem.js +1 -0
  317. package/dist/openapi_client/models/PodListResponse.d.ts +10 -0
  318. package/dist/openapi_client/models/PodListResponse.js +1 -0
  319. package/dist/openapi_client/models/PodMemberAddRequest.d.ts +8 -0
  320. package/dist/openapi_client/models/PodMemberAddRequest.js +1 -0
  321. package/dist/openapi_client/models/PodMemberListResponse.d.ts +10 -0
  322. package/dist/openapi_client/models/PodMemberListResponse.js +1 -0
  323. package/dist/openapi_client/models/PodMemberResponse.d.ts +12 -0
  324. package/dist/openapi_client/models/PodMemberResponse.js +1 -0
  325. package/dist/openapi_client/models/PodMemberUpdateRoleRequest.d.ts +7 -0
  326. package/dist/openapi_client/models/PodMemberUpdateRoleRequest.js +1 -0
  327. package/dist/openapi_client/models/PodPermissionsResponse.d.ts +4 -0
  328. package/dist/openapi_client/models/PodPermissionsResponse.js +1 -0
  329. package/dist/openapi_client/models/PodResponse.d.ts +18 -0
  330. package/dist/openapi_client/models/PodResponse.js +1 -0
  331. package/dist/openapi_client/models/PodRole.d.ts +9 -0
  332. package/dist/openapi_client/models/PodRole.js +14 -0
  333. package/dist/openapi_client/models/PodStatus.d.ts +4 -0
  334. package/dist/openapi_client/models/PodStatus.js +9 -0
  335. package/dist/openapi_client/models/PodType.d.ts +6 -0
  336. package/dist/openapi_client/models/PodType.js +11 -0
  337. package/dist/openapi_client/models/PodUpdateRequest.d.ts +12 -0
  338. package/dist/openapi_client/models/PodUpdateRequest.js +1 -0
  339. package/dist/openapi_client/models/RecentUsageResponse.d.ts +9 -0
  340. package/dist/openapi_client/models/RecentUsageResponse.js +1 -0
  341. package/dist/openapi_client/models/RecordFilter.d.ts +15 -0
  342. package/dist/openapi_client/models/RecordFilter.js +1 -0
  343. package/dist/openapi_client/models/RecordFilterOperator.d.ts +10 -0
  344. package/dist/openapi_client/models/RecordFilterOperator.js +15 -0
  345. package/dist/openapi_client/models/RecordListResponse.d.ts +9 -0
  346. package/dist/openapi_client/models/RecordListResponse.js +1 -0
  347. package/dist/openapi_client/models/RecordQueryRequest.d.ts +20 -0
  348. package/dist/openapi_client/models/RecordQueryRequest.js +1 -0
  349. package/dist/openapi_client/models/RecordQueryResponse.d.ts +13 -0
  350. package/dist/openapi_client/models/RecordQueryResponse.js +1 -0
  351. package/dist/openapi_client/models/RecordResponse.d.ts +9 -0
  352. package/dist/openapi_client/models/RecordResponse.js +1 -0
  353. package/dist/openapi_client/models/RecordSort.d.ts +11 -0
  354. package/dist/openapi_client/models/RecordSort.js +1 -0
  355. package/dist/openapi_client/models/RecordSortDirection.d.ts +4 -0
  356. package/dist/openapi_client/models/RecordSortDirection.js +9 -0
  357. package/dist/openapi_client/models/ResourceFileListResponse.d.ts +6 -0
  358. package/dist/openapi_client/models/ResourceFileListResponse.js +1 -0
  359. package/dist/openapi_client/models/ResourceType.d.ts +5 -0
  360. package/dist/openapi_client/models/ResourceType.js +10 -0
  361. package/dist/openapi_client/models/ScheduledFlowStart.d.ts +10 -0
  362. package/dist/openapi_client/models/ScheduledFlowStart.js +1 -0
  363. package/dist/openapi_client/models/SearchMethod.d.ts +5 -0
  364. package/dist/openapi_client/models/SearchMethod.js +10 -0
  365. package/dist/openapi_client/models/SearchResult.d.ts +7 -0
  366. package/dist/openapi_client/models/SearchResult.js +1 -0
  367. package/dist/openapi_client/models/SeatInfoResponse.d.ts +10 -0
  368. package/dist/openapi_client/models/SeatInfoResponse.js +1 -0
  369. package/dist/openapi_client/models/SlackSurfaceConfigCreate.d.ts +6 -0
  370. package/dist/openapi_client/models/SlackSurfaceConfigCreate.js +1 -0
  371. package/dist/openapi_client/models/StackFrame.d.ts +11 -0
  372. package/dist/openapi_client/models/StackFrame.js +1 -0
  373. package/dist/openapi_client/models/StartSubscriptionRequest.d.ts +14 -0
  374. package/dist/openapi_client/models/StartSubscriptionRequest.js +1 -0
  375. package/dist/openapi_client/models/StartSubscriptionResponse.d.ts +7 -0
  376. package/dist/openapi_client/models/StartSubscriptionResponse.js +1 -0
  377. package/dist/openapi_client/models/StepExecution.d.ts +13 -0
  378. package/dist/openapi_client/models/StepExecution.js +1 -0
  379. package/dist/openapi_client/models/SubscriptionStatus.d.ts +10 -0
  380. package/dist/openapi_client/models/SubscriptionStatus.js +15 -0
  381. package/dist/openapi_client/models/SubscriptionStatusResponse.d.ts +10 -0
  382. package/dist/openapi_client/models/SubscriptionStatusResponse.js +1 -0
  383. package/dist/openapi_client/models/SubscriptionWithPlanResponse.d.ts +19 -0
  384. package/dist/openapi_client/models/SubscriptionWithPlanResponse.js +1 -0
  385. package/dist/openapi_client/models/TableListResponse.d.ts +8 -0
  386. package/dist/openapi_client/models/TableListResponse.js +1 -0
  387. package/dist/openapi_client/models/TableResponse.d.ts +15 -0
  388. package/dist/openapi_client/models/TableResponse.js +1 -0
  389. package/dist/openapi_client/models/TaskListResponse.d.ts +9 -0
  390. package/dist/openapi_client/models/TaskListResponse.js +1 -0
  391. package/dist/openapi_client/models/TaskMessageListResponse.d.ts +9 -0
  392. package/dist/openapi_client/models/TaskMessageListResponse.js +1 -0
  393. package/dist/openapi_client/models/TaskMessageResponse.d.ts +15 -0
  394. package/dist/openapi_client/models/TaskMessageResponse.js +1 -0
  395. package/dist/openapi_client/models/TaskResponse.d.ts +16 -0
  396. package/dist/openapi_client/models/TaskResponse.js +1 -0
  397. package/dist/openapi_client/models/TaskStatus.d.ts +12 -0
  398. package/dist/openapi_client/models/TaskStatus.js +17 -0
  399. package/dist/openapi_client/models/TeamsSurfaceConfigCreate.d.ts +6 -0
  400. package/dist/openapi_client/models/TeamsSurfaceConfigCreate.js +1 -0
  401. package/dist/openapi_client/models/TextContent.d.ts +4 -0
  402. package/dist/openapi_client/models/TextContent.js +1 -0
  403. package/dist/openapi_client/models/ThinkingContent.d.ts +4 -0
  404. package/dist/openapi_client/models/ThinkingContent.js +1 -0
  405. package/dist/openapi_client/models/ToggleSurfaceRequest.d.ts +3 -0
  406. package/dist/openapi_client/models/ToggleSurfaceRequest.js +1 -0
  407. package/dist/openapi_client/models/ToolCallRequest.d.ts +6 -0
  408. package/dist/openapi_client/models/ToolCallRequest.js +1 -0
  409. package/dist/openapi_client/models/ToolCallResponse.d.ts +5 -0
  410. package/dist/openapi_client/models/ToolCallResponse.js +1 -0
  411. package/dist/openapi_client/models/ToolSet.d.ts +14 -0
  412. package/dist/openapi_client/models/ToolSet.js +19 -0
  413. package/dist/openapi_client/models/TriggerListResponse.d.ts +9 -0
  414. package/dist/openapi_client/models/TriggerListResponse.js +1 -0
  415. package/dist/openapi_client/models/TriggerResponse.d.ts +20 -0
  416. package/dist/openapi_client/models/TriggerResponse.js +1 -0
  417. package/dist/openapi_client/models/TriggerType.d.ts +8 -0
  418. package/dist/openapi_client/models/TriggerType.js +13 -0
  419. package/dist/openapi_client/models/UpdateAgentRequest.d.ts +15 -0
  420. package/dist/openapi_client/models/UpdateAgentRequest.js +1 -0
  421. package/dist/openapi_client/models/UpdateAssistantRequest.d.ts +13 -0
  422. package/dist/openapi_client/models/UpdateAssistantRequest.js +1 -0
  423. package/dist/openapi_client/models/UpdateConversationRequest.d.ts +8 -0
  424. package/dist/openapi_client/models/UpdateConversationRequest.js +1 -0
  425. package/dist/openapi_client/models/UpdateDatastoreRequest.d.ts +17 -0
  426. package/dist/openapi_client/models/UpdateDatastoreRequest.js +1 -0
  427. package/dist/openapi_client/models/UpdateDeskRequest.d.ts +4 -0
  428. package/dist/openapi_client/models/UpdateDeskRequest.js +1 -0
  429. package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +12 -0
  430. package/dist/openapi_client/models/UpdateFunctionRequest.js +1 -0
  431. package/dist/openapi_client/models/UpdateMemberRoleRequest.d.ts +7 -0
  432. package/dist/openapi_client/models/UpdateMemberRoleRequest.js +1 -0
  433. package/dist/openapi_client/models/UpdateRecordRequest.d.ts +9 -0
  434. package/dist/openapi_client/models/UpdateRecordRequest.js +1 -0
  435. package/dist/openapi_client/models/UpdateSurfaceRequest.d.ts +7 -0
  436. package/dist/openapi_client/models/UpdateSurfaceRequest.js +1 -0
  437. package/dist/openapi_client/models/UpdateTableRequest.d.ts +9 -0
  438. package/dist/openapi_client/models/UpdateTableRequest.js +1 -0
  439. package/dist/openapi_client/models/UpdateTriggerRequest.d.ts +9 -0
  440. package/dist/openapi_client/models/UpdateTriggerRequest.js +1 -0
  441. package/dist/openapi_client/models/UsageRecordResponse.d.ts +21 -0
  442. package/dist/openapi_client/models/UsageRecordResponse.js +1 -0
  443. package/dist/openapi_client/models/UsageSummaryResponse.d.ts +16 -0
  444. package/dist/openapi_client/models/UsageSummaryResponse.js +1 -0
  445. package/dist/openapi_client/models/UserProfileRequest.d.ts +11 -0
  446. package/dist/openapi_client/models/UserProfileRequest.js +1 -0
  447. package/dist/openapi_client/models/UserResponse.d.ts +18 -0
  448. package/dist/openapi_client/models/UserResponse.js +1 -0
  449. package/dist/openapi_client/models/ValidationError.d.ts +5 -0
  450. package/dist/openapi_client/models/ValidationError.js +1 -0
  451. package/dist/openapi_client/models/VerifyTokenResponse.d.ts +4 -0
  452. package/dist/openapi_client/models/VerifyTokenResponse.js +1 -0
  453. package/dist/openapi_client/models/WaitUntilNode.d.ts +11 -0
  454. package/dist/openapi_client/models/WaitUntilNode.js +1 -0
  455. package/dist/openapi_client/models/WaitUntilNodeConfig.d.ts +3 -0
  456. package/dist/openapi_client/models/WaitUntilNodeConfig.js +1 -0
  457. package/dist/openapi_client/models/WebSearchAgentRequest.d.ts +9 -0
  458. package/dist/openapi_client/models/WebSearchAgentRequest.js +1 -0
  459. package/dist/openapi_client/models/WebSearchAgentResponse.d.ts +25 -0
  460. package/dist/openapi_client/models/WebSearchAgentResponse.js +1 -0
  461. package/dist/openapi_client/models/WebSearchRequest.d.ts +13 -0
  462. package/dist/openapi_client/models/WebSearchRequest.js +1 -0
  463. package/dist/openapi_client/models/WebSearchResponse.d.ts +22 -0
  464. package/dist/openapi_client/models/WebSearchResponse.js +1 -0
  465. package/dist/openapi_client/models/WhatsAppSurfaceConfigCreate.d.ts +5 -0
  466. package/dist/openapi_client/models/WhatsAppSurfaceConfigCreate.js +1 -0
  467. package/dist/openapi_client/models/WorkflowCreateRequest.d.ts +23 -0
  468. package/dist/openapi_client/models/WorkflowCreateRequest.js +1 -0
  469. package/dist/openapi_client/models/WorkflowEdge.d.ts +9 -0
  470. package/dist/openapi_client/models/WorkflowEdge.js +1 -0
  471. package/dist/openapi_client/models/WorkflowGraphUpdateRequest.d.ts +26 -0
  472. package/dist/openapi_client/models/WorkflowGraphUpdateRequest.js +1 -0
  473. package/dist/openapi_client/models/WorkflowInstallRequest.d.ts +6 -0
  474. package/dist/openapi_client/models/WorkflowInstallRequest.js +1 -0
  475. package/dist/openapi_client/models/WorkflowListResponse.d.ts +6 -0
  476. package/dist/openapi_client/models/WorkflowListResponse.js +1 -0
  477. package/dist/openapi_client/models/WorkflowRunListResponse.d.ts +6 -0
  478. package/dist/openapi_client/models/WorkflowRunListResponse.js +1 -0
  479. package/dist/openapi_client/models/WorkflowUpdateRequest.d.ts +19 -0
  480. package/dist/openapi_client/models/WorkflowUpdateRequest.js +1 -0
  481. package/dist/openapi_client/services/AgentToolsService.d.ts +23 -0
  482. package/dist/openapi_client/services/AgentToolsService.js +40 -0
  483. package/dist/openapi_client/services/AgentsService.d.ts +55 -0
  484. package/dist/openapi_client/services/AgentsService.js +117 -0
  485. package/dist/openapi_client/services/ApplicationsService.d.ts +82 -0
  486. package/dist/openapi_client/services/ApplicationsService.js +175 -0
  487. package/dist/openapi_client/services/AssistantSurfacesService.d.ts +55 -0
  488. package/dist/openapi_client/services/AssistantSurfacesService.js +120 -0
  489. package/dist/openapi_client/services/AssistantsService.d.ts +49 -0
  490. package/dist/openapi_client/services/AssistantsService.js +112 -0
  491. package/dist/openapi_client/services/AuthService.d.ts +11 -0
  492. package/dist/openapi_client/services/AuthService.js +16 -0
  493. package/dist/openapi_client/services/AuthorizationService.d.ts +11 -0
  494. package/dist/openapi_client/services/AuthorizationService.js +22 -0
  495. package/dist/openapi_client/services/BillingSubscriptionsService.d.ts +56 -0
  496. package/dist/openapi_client/services/BillingSubscriptionsService.js +93 -0
  497. package/dist/openapi_client/services/BillingUsageService.d.ts +54 -0
  498. package/dist/openapi_client/services/BillingUsageService.js +122 -0
  499. package/dist/openapi_client/services/BillingWebhooksService.d.ts +12 -0
  500. package/dist/openapi_client/services/BillingWebhooksService.js +25 -0
  501. package/dist/openapi_client/services/ConversationsService.d.ts +80 -0
  502. package/dist/openapi_client/services/ConversationsService.js +190 -0
  503. package/dist/openapi_client/services/DatastoreService.d.ts +67 -0
  504. package/dist/openapi_client/services/DatastoreService.js +141 -0
  505. package/dist/openapi_client/services/DefaultService.d.ts +9 -0
  506. package/dist/openapi_client/services/DefaultService.js +15 -0
  507. package/dist/openapi_client/services/DesksService.d.ts +77 -0
  508. package/dist/openapi_client/services/DesksService.js +175 -0
  509. package/dist/openapi_client/services/FilesService.d.ts +129 -0
  510. package/dist/openapi_client/services/FilesService.js +291 -0
  511. package/dist/openapi_client/services/FunctionsService.d.ts +89 -0
  512. package/dist/openapi_client/services/FunctionsService.js +191 -0
  513. package/dist/openapi_client/services/IconsService.d.ts +21 -0
  514. package/dist/openapi_client/services/IconsService.js +41 -0
  515. package/dist/openapi_client/services/IntegrationsService.d.ts +59 -0
  516. package/dist/openapi_client/services/IntegrationsService.js +121 -0
  517. package/dist/openapi_client/services/OrganizationsService.d.ts +122 -0
  518. package/dist/openapi_client/services/OrganizationsService.js +262 -0
  519. package/dist/openapi_client/services/PodMembersService.d.ts +45 -0
  520. package/dist/openapi_client/services/PodMembersService.js +96 -0
  521. package/dist/openapi_client/services/PodsService.d.ts +59 -0
  522. package/dist/openapi_client/services/PodsService.js +126 -0
  523. package/dist/openapi_client/services/PublicSdkService.d.ts +17 -0
  524. package/dist/openapi_client/services/PublicSdkService.js +35 -0
  525. package/dist/openapi_client/services/RecordsService.d.ts +113 -0
  526. package/dist/openapi_client/services/RecordsService.js +241 -0
  527. package/dist/openapi_client/services/TablesService.d.ts +83 -0
  528. package/dist/openapi_client/services/TablesService.js +178 -0
  529. package/dist/openapi_client/services/TasksService.d.ts +76 -0
  530. package/dist/openapi_client/services/TasksService.js +167 -0
  531. package/dist/openapi_client/services/TriggersService.d.ts +53 -0
  532. package/dist/openapi_client/services/TriggersService.js +109 -0
  533. package/dist/openapi_client/services/UsersService.d.ts +27 -0
  534. package/dist/openapi_client/services/UsersService.js +46 -0
  535. package/dist/openapi_client/services/WebhooksService.d.ts +27 -0
  536. package/dist/openapi_client/services/WebhooksService.js +61 -0
  537. package/dist/openapi_client/services/WorkflowsService.d.ts +147 -0
  538. package/dist/openapi_client/services/WorkflowsService.js +326 -0
  539. package/dist/react/AuthGuard.d.ts +22 -0
  540. package/dist/react/AuthGuard.js +62 -0
  541. package/dist/react/index.d.ts +4 -0
  542. package/dist/react/index.js +2 -0
  543. package/dist/react/useAuth.d.ts +16 -0
  544. package/dist/react/useAuth.js +29 -0
  545. package/dist/supertokens.d.ts +1 -0
  546. package/dist/supertokens.js +67 -0
  547. package/dist/types.d.ts +27 -0
  548. package/dist/types.js +1 -0
  549. 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
+ }