@smoothbuilder/smoothagent-agent-client 0.0.0-stage → 0.4.1

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 (367) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +55 -2
  3. package/dist/chunk-PZ5AY32C.js +10 -0
  4. package/dist/chunk-PZ5AY32C.js.map +7 -0
  5. package/dist/index.js +24 -0
  6. package/dist/index.js.map +7 -0
  7. package/dist/testing.js +139 -0
  8. package/dist/testing.js.map +7 -0
  9. package/dist/types/contract/events/ts/src/gen/events.d.ts +5990 -0
  10. package/dist/types/contract/events/ts/src/gen/known.d.ts +117 -0
  11. package/dist/types/contract/events/ts/src/reducer.d.ts +21 -0
  12. package/dist/types/sdk/generated/ts-client/BaseClient.d.ts +54 -0
  13. package/dist/types/sdk/generated/ts-client/Client.d.ts +41 -0
  14. package/dist/types/sdk/generated/ts-client/api/errors/BadGatewayError.d.ts +7 -0
  15. package/dist/types/sdk/generated/ts-client/api/errors/BadRequestError.d.ts +7 -0
  16. package/dist/types/sdk/generated/ts-client/api/errors/ConflictError.d.ts +7 -0
  17. package/dist/types/sdk/generated/ts-client/api/errors/FailedDependencyError.d.ts +7 -0
  18. package/dist/types/sdk/generated/ts-client/api/errors/ForbiddenError.d.ts +7 -0
  19. package/dist/types/sdk/generated/ts-client/api/errors/GoneError.d.ts +7 -0
  20. package/dist/types/sdk/generated/ts-client/api/errors/InternalServerError.d.ts +7 -0
  21. package/dist/types/sdk/generated/ts-client/api/errors/NotFoundError.d.ts +7 -0
  22. package/dist/types/sdk/generated/ts-client/api/errors/PaymentRequiredError.d.ts +7 -0
  23. package/dist/types/sdk/generated/ts-client/api/errors/ServiceUnavailableError.d.ts +7 -0
  24. package/dist/types/sdk/generated/ts-client/api/errors/TooManyRequestsError.d.ts +7 -0
  25. package/dist/types/sdk/generated/ts-client/api/errors/UnauthorizedError.d.ts +7 -0
  26. package/dist/types/sdk/generated/ts-client/api/errors/UnprocessableEntityError.d.ts +7 -0
  27. package/dist/types/sdk/generated/ts-client/api/errors/index.d.ts +13 -0
  28. package/dist/types/sdk/generated/ts-client/api/index.d.ts +3 -0
  29. package/dist/types/sdk/generated/ts-client/api/resources/agents/client/Client.d.ts +66 -0
  30. package/dist/types/sdk/generated/ts-client/api/resources/agents/client/index.d.ts +1 -0
  31. package/dist/types/sdk/generated/ts-client/api/resources/agents/client/requests/AgentsGetRequest.d.ts +9 -0
  32. package/dist/types/sdk/generated/ts-client/api/resources/agents/client/requests/AgentsListRequest.d.ts +10 -0
  33. package/dist/types/sdk/generated/ts-client/api/resources/agents/client/requests/index.d.ts +2 -0
  34. package/dist/types/sdk/generated/ts-client/api/resources/agents/index.d.ts +2 -0
  35. package/dist/types/sdk/generated/ts-client/api/resources/agents/types/AgentsGetResponse.d.ts +2 -0
  36. package/dist/types/sdk/generated/ts-client/api/resources/agents/types/AgentsListResponse.d.ts +12 -0
  37. package/dist/types/sdk/generated/ts-client/api/resources/agents/types/index.d.ts +2 -0
  38. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/Client.d.ts +970 -0
  39. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/index.d.ts +1 -0
  40. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/CancelSwitchChatsRequest.d.ts +11 -0
  41. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatBoxListFilesRequest.d.ts +11 -0
  42. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatBoxListTasksRequest.d.ts +10 -0
  43. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatBoxReadFileRequest.d.ts +12 -0
  44. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatBoxStopTaskRequest.d.ts +13 -0
  45. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatBoxTaskOutputRequest.d.ts +13 -0
  46. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsDeleteRequest.d.ts +10 -0
  47. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsEventsRequest.d.ts +14 -0
  48. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsGetRequest.d.ts +10 -0
  49. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsHistoryRequest.d.ts +16 -0
  50. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsLimitsRequest.d.ts +10 -0
  51. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsListRequest.d.ts +14 -0
  52. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsMessageRequest.d.ts +12 -0
  53. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsQueueRequest.d.ts +10 -0
  54. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsResendRequest.d.ts +13 -0
  55. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsResetRequest.d.ts +12 -0
  56. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsRespondRequest.d.ts +17 -0
  57. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsRunRequest.d.ts +12 -0
  58. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsRunsRequest.d.ts +13 -0
  59. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsSelectionRequest.d.ts +10 -0
  60. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsSnapshotRequest.d.ts +10 -0
  61. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsStopRequest.d.ts +11 -0
  62. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsUpdateRequest.d.ts +13 -0
  63. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ChatsUsageRequest.d.ts +10 -0
  64. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/CreateChat.d.ts +33 -0
  65. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/EditQueuedChatsRequest.d.ts +20 -0
  66. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/EventsRangeChatsRequest.d.ts +14 -0
  67. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/GetContextChatsRequest.d.ts +10 -0
  68. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/MarkReadChatsRequest.d.ts +13 -0
  69. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/RemoveQueuedChatsRequest.d.ts +14 -0
  70. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/ReorderQueueChatsRequest.d.ts +15 -0
  71. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/SendMessage.d.ts +39 -0
  72. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/SendNowChatsRequest.d.ts +15 -0
  73. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/SwitchAgent.d.ts +35 -0
  74. package/dist/types/sdk/generated/ts-client/api/resources/chats/client/requests/index.d.ts +34 -0
  75. package/dist/types/sdk/generated/ts-client/api/resources/chats/index.d.ts +2 -0
  76. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatBoxListTasksResponse.d.ts +4 -0
  77. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatBoxStopTaskResponse.d.ts +3 -0
  78. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsEventsRequestAccept.d.ts +4 -0
  79. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsHistoryRequestAnchor.d.ts +4 -0
  80. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsListResponse.d.ts +6 -0
  81. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsResendResponse.d.ts +3 -0
  82. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsRespondResponse.d.ts +3 -0
  83. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsRunsResponse.d.ts +6 -0
  84. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsSendResponse.d.ts +15 -0
  85. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/ChatsStopResponse.d.ts +3 -0
  86. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/MarkReadChatsResponse.d.ts +6 -0
  87. package/dist/types/sdk/generated/ts-client/api/resources/chats/types/index.d.ts +11 -0
  88. package/dist/types/sdk/generated/ts-client/api/resources/files/client/Client.d.ts +180 -0
  89. package/dist/types/sdk/generated/ts-client/api/resources/files/client/index.d.ts +1 -0
  90. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/CreateUploadFilesRequest.d.ts +17 -0
  91. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/FilesCompleteRequest.d.ts +11 -0
  92. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/FilesContentRequest.d.ts +9 -0
  93. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/FilesDeleteRequest.d.ts +9 -0
  94. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/FilesGetRequest.d.ts +9 -0
  95. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/FilesUploadRequest.d.ts +14 -0
  96. package/dist/types/sdk/generated/ts-client/api/resources/files/client/requests/index.d.ts +6 -0
  97. package/dist/types/sdk/generated/ts-client/api/resources/files/index.d.ts +2 -0
  98. package/dist/types/sdk/generated/ts-client/api/resources/files/types/CreateUploadFilesResponse.d.ts +6 -0
  99. package/dist/types/sdk/generated/ts-client/api/resources/files/types/index.d.ts +1 -0
  100. package/dist/types/sdk/generated/ts-client/api/resources/identity/client/Client.d.ts +42 -0
  101. package/dist/types/sdk/generated/ts-client/api/resources/identity/client/index.d.ts +1 -0
  102. package/dist/types/sdk/generated/ts-client/api/resources/identity/client/requests/MeFeedRequest.d.ts +10 -0
  103. package/dist/types/sdk/generated/ts-client/api/resources/identity/client/requests/index.d.ts +1 -0
  104. package/dist/types/sdk/generated/ts-client/api/resources/identity/index.d.ts +2 -0
  105. package/dist/types/sdk/generated/ts-client/api/resources/identity/types/MeFeedRequestAccept.d.ts +4 -0
  106. package/dist/types/sdk/generated/ts-client/api/resources/identity/types/MeWhoamiResponse.d.ts +2 -0
  107. package/dist/types/sdk/generated/ts-client/api/resources/identity/types/index.d.ts +2 -0
  108. package/dist/types/sdk/generated/ts-client/api/resources/index.d.ts +18 -0
  109. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/Client.d.ts +152 -0
  110. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/index.d.ts +1 -0
  111. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/requests/MachinesDeleteRequest.d.ts +9 -0
  112. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/requests/MachinesGetRequest.d.ts +9 -0
  113. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/requests/MachinesListRequest.d.ts +13 -0
  114. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/requests/MachinesPairRequest.d.ts +10 -0
  115. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/requests/PairingStatusMachinesRequest.d.ts +9 -0
  116. package/dist/types/sdk/generated/ts-client/api/resources/machines/client/requests/index.d.ts +5 -0
  117. package/dist/types/sdk/generated/ts-client/api/resources/machines/index.d.ts +2 -0
  118. package/dist/types/sdk/generated/ts-client/api/resources/machines/types/MachinesListResponse.d.ts +6 -0
  119. package/dist/types/sdk/generated/ts-client/api/resources/machines/types/index.d.ts +1 -0
  120. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/Client.d.ts +212 -0
  121. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/index.d.ts +1 -0
  122. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersCompleteRequest.d.ts +14 -0
  123. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersConnectRequest.d.ts +12 -0
  124. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersDisconnectRequest.d.ts +12 -0
  125. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersLimitsRequest.d.ts +11 -0
  126. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersListRequest.d.ts +7 -0
  127. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersLoginStatusRequest.d.ts +10 -0
  128. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/MyProvidersSetKeyRequest.d.ts +13 -0
  129. package/dist/types/sdk/generated/ts-client/api/resources/providers/client/requests/index.d.ts +7 -0
  130. package/dist/types/sdk/generated/ts-client/api/resources/providers/index.d.ts +2 -0
  131. package/dist/types/sdk/generated/ts-client/api/resources/providers/types/MyProvidersConnectResponse.d.ts +10 -0
  132. package/dist/types/sdk/generated/ts-client/api/resources/providers/types/MyProvidersDisconnectRequestVia.d.ts +5 -0
  133. package/dist/types/sdk/generated/ts-client/api/resources/providers/types/MyProvidersListResponse.d.ts +4 -0
  134. package/dist/types/sdk/generated/ts-client/api/resources/providers/types/index.d.ts +3 -0
  135. package/dist/types/sdk/generated/ts-client/api/types/Agent.d.ts +84 -0
  136. package/dist/types/sdk/generated/ts-client/api/types/AgentCredential.d.ts +7 -0
  137. package/dist/types/sdk/generated/ts-client/api/types/AgentHooks.d.ts +11 -0
  138. package/dist/types/sdk/generated/ts-client/api/types/AgentLimits.d.ts +11 -0
  139. package/dist/types/sdk/generated/ts-client/api/types/AgentMessageOrigin.d.ts +12 -0
  140. package/dist/types/sdk/generated/ts-client/api/types/AgentProviderOption.d.ts +11 -0
  141. package/dist/types/sdk/generated/ts-client/api/types/AgentPublic.d.ts +18 -0
  142. package/dist/types/sdk/generated/ts-client/api/types/AgentTheme.d.ts +14 -0
  143. package/dist/types/sdk/generated/ts-client/api/types/BoxFileContent.d.ts +17 -0
  144. package/dist/types/sdk/generated/ts-client/api/types/BoxFileEntry.d.ts +15 -0
  145. package/dist/types/sdk/generated/ts-client/api/types/BoxFileList.d.ts +5 -0
  146. package/dist/types/sdk/generated/ts-client/api/types/BoxProfile.d.ts +9 -0
  147. package/dist/types/sdk/generated/ts-client/api/types/Chat.d.ts +39 -0
  148. package/dist/types/sdk/generated/ts-client/api/types/ChatContext.d.ts +18 -0
  149. package/dist/types/sdk/generated/ts-client/api/types/ChatDeleted.d.ts +15 -0
  150. package/dist/types/sdk/generated/ts-client/api/types/ChatSelection.d.ts +40 -0
  151. package/dist/types/sdk/generated/ts-client/api/types/ChatTask.d.ts +32 -0
  152. package/dist/types/sdk/generated/ts-client/api/types/ChatTaskOutput.d.ts +9 -0
  153. package/dist/types/sdk/generated/ts-client/api/types/ChatUsage.d.ts +19 -0
  154. package/dist/types/sdk/generated/ts-client/api/types/Deleted.d.ts +4 -0
  155. package/dist/types/sdk/generated/ts-client/api/types/DeviceFlow.d.ts +11 -0
  156. package/dist/types/sdk/generated/ts-client/api/types/ErrorBody.d.ts +12 -0
  157. package/dist/types/sdk/generated/ts-client/api/types/Error_.d.ts +4 -0
  158. package/dist/types/sdk/generated/ts-client/api/types/EventRange.d.ts +15 -0
  159. package/dist/types/sdk/generated/ts-client/api/types/EventsAgentId.d.ts +4 -0
  160. package/dist/types/sdk/generated/ts-client/api/types/EventsAgentSelection.d.ts +14 -0
  161. package/dist/types/sdk/generated/ts-client/api/types/EventsApprovalOption.d.ts +24 -0
  162. package/dist/types/sdk/generated/ts-client/api/types/EventsCapabilities.d.ts +146 -0
  163. package/dist/types/sdk/generated/ts-client/api/types/EventsChatId.d.ts +4 -0
  164. package/dist/types/sdk/generated/ts-client/api/types/EventsContentFile.d.ts +15 -0
  165. package/dist/types/sdk/generated/ts-client/api/types/EventsContentImage.d.ts +11 -0
  166. package/dist/types/sdk/generated/ts-client/api/types/EventsContentPart.d.ts +19 -0
  167. package/dist/types/sdk/generated/ts-client/api/types/EventsContentResource.d.ts +13 -0
  168. package/dist/types/sdk/generated/ts-client/api/types/EventsContentText.d.ts +7 -0
  169. package/dist/types/sdk/generated/ts-client/api/types/EventsDelta.d.ts +21 -0
  170. package/dist/types/sdk/generated/ts-client/api/types/EventsEAgentSwitchFailed.d.ts +21 -0
  171. package/dist/types/sdk/generated/ts-client/api/types/EventsEAgentSwitchFailedData.d.ts +9 -0
  172. package/dist/types/sdk/generated/ts-client/api/types/EventsEAgentSwitched.d.ts +21 -0
  173. package/dist/types/sdk/generated/ts-client/api/types/EventsEAgentSwitchedData.d.ts +12 -0
  174. package/dist/types/sdk/generated/ts-client/api/types/EventsEChatState.d.ts +21 -0
  175. package/dist/types/sdk/generated/ts-client/api/types/EventsEChatStateData.d.ts +17 -0
  176. package/dist/types/sdk/generated/ts-client/api/types/EventsEContextUpdated.d.ts +21 -0
  177. package/dist/types/sdk/generated/ts-client/api/types/EventsEContextUpdatedData.d.ts +20 -0
  178. package/dist/types/sdk/generated/ts-client/api/types/EventsEError.d.ts +21 -0
  179. package/dist/types/sdk/generated/ts-client/api/types/EventsEErrorData.d.ts +13 -0
  180. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemCompleted.d.ts +21 -0
  181. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemCompletedData.d.ts +8 -0
  182. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemDelta.d.ts +21 -0
  183. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemDeltaData.d.ts +7 -0
  184. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemRetracted.d.ts +21 -0
  185. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemRetractedData.d.ts +18 -0
  186. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemStarted.d.ts +21 -0
  187. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemStartedData.d.ts +8 -0
  188. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemUpdated.d.ts +21 -0
  189. package/dist/types/sdk/generated/ts-client/api/types/EventsEItemUpdatedData.d.ts +7 -0
  190. package/dist/types/sdk/generated/ts-client/api/types/EventsELimitsUpdated.d.ts +21 -0
  191. package/dist/types/sdk/generated/ts-client/api/types/EventsENotice.d.ts +21 -0
  192. package/dist/types/sdk/generated/ts-client/api/types/EventsENoticeData.d.ts +19 -0
  193. package/dist/types/sdk/generated/ts-client/api/types/EventsERunCompleted.d.ts +21 -0
  194. package/dist/types/sdk/generated/ts-client/api/types/EventsERunCompletedData.d.ts +35 -0
  195. package/dist/types/sdk/generated/ts-client/api/types/EventsERunStarted.d.ts +21 -0
  196. package/dist/types/sdk/generated/ts-client/api/types/EventsERunStartedData.d.ts +23 -0
  197. package/dist/types/sdk/generated/ts-client/api/types/EventsERunWaiting.d.ts +21 -0
  198. package/dist/types/sdk/generated/ts-client/api/types/EventsERunWaitingData.d.ts +22 -0
  199. package/dist/types/sdk/generated/ts-client/api/types/EventsESessionStarted.d.ts +21 -0
  200. package/dist/types/sdk/generated/ts-client/api/types/EventsESessionStartedData.d.ts +46 -0
  201. package/dist/types/sdk/generated/ts-client/api/types/EventsETaskUpdated.d.ts +21 -0
  202. package/dist/types/sdk/generated/ts-client/api/types/EventsETaskUpdatedData.d.ts +7 -0
  203. package/dist/types/sdk/generated/ts-client/api/types/EventsEUsageUpdated.d.ts +21 -0
  204. package/dist/types/sdk/generated/ts-client/api/types/EventsEUsageUpdatedData.d.ts +9 -0
  205. package/dist/types/sdk/generated/ts-client/api/types/EventsErrorCode.d.ts +21 -0
  206. package/dist/types/sdk/generated/ts-client/api/types/EventsEvent.d.ts +61 -0
  207. package/dist/types/sdk/generated/ts-client/api/types/EventsFailure.d.ts +17 -0
  208. package/dist/types/sdk/generated/ts-client/api/types/EventsFailureReason.d.ts +16 -0
  209. package/dist/types/sdk/generated/ts-client/api/types/EventsFileId.d.ts +4 -0
  210. package/dist/types/sdk/generated/ts-client/api/types/EventsHandoffInjected.d.ts +29 -0
  211. package/dist/types/sdk/generated/ts-client/api/types/EventsHandoffLost.d.ts +24 -0
  212. package/dist/types/sdk/generated/ts-client/api/types/EventsInboxEntry.d.ts +52 -0
  213. package/dist/types/sdk/generated/ts-client/api/types/EventsInboxState.d.ts +50 -0
  214. package/dist/types/sdk/generated/ts-client/api/types/EventsItem.d.ts +64 -0
  215. package/dist/types/sdk/generated/ts-client/api/types/EventsItemApproval.d.ts +93 -0
  216. package/dist/types/sdk/generated/ts-client/api/types/EventsItemCommand.d.ts +74 -0
  217. package/dist/types/sdk/generated/ts-client/api/types/EventsItemCompaction.d.ts +55 -0
  218. package/dist/types/sdk/generated/ts-client/api/types/EventsItemError.d.ts +40 -0
  219. package/dist/types/sdk/generated/ts-client/api/types/EventsItemFileChange.d.ts +73 -0
  220. package/dist/types/sdk/generated/ts-client/api/types/EventsItemFileSearch.d.ts +61 -0
  221. package/dist/types/sdk/generated/ts-client/api/types/EventsItemHandoff.d.ts +66 -0
  222. package/dist/types/sdk/generated/ts-client/api/types/EventsItemHook.d.ts +49 -0
  223. package/dist/types/sdk/generated/ts-client/api/types/EventsItemId.d.ts +4 -0
  224. package/dist/types/sdk/generated/ts-client/api/types/EventsItemNotification.d.ts +65 -0
  225. package/dist/types/sdk/generated/ts-client/api/types/EventsItemPlan.d.ts +65 -0
  226. package/dist/types/sdk/generated/ts-client/api/types/EventsItemProposedPlan.d.ts +43 -0
  227. package/dist/types/sdk/generated/ts-client/api/types/EventsItemQuestion.d.ts +81 -0
  228. package/dist/types/sdk/generated/ts-client/api/types/EventsItemReasoning.d.ts +47 -0
  229. package/dist/types/sdk/generated/ts-client/api/types/EventsItemSubagent.d.ts +56 -0
  230. package/dist/types/sdk/generated/ts-client/api/types/EventsItemText.d.ts +49 -0
  231. package/dist/types/sdk/generated/ts-client/api/types/EventsItemTimer.d.ts +46 -0
  232. package/dist/types/sdk/generated/ts-client/api/types/EventsItemToolCall.d.ts +76 -0
  233. package/dist/types/sdk/generated/ts-client/api/types/EventsItemUserMessage.d.ts +67 -0
  234. package/dist/types/sdk/generated/ts-client/api/types/EventsItemWebSearch.d.ts +74 -0
  235. package/dist/types/sdk/generated/ts-client/api/types/EventsLimitWindow.d.ts +26 -0
  236. package/dist/types/sdk/generated/ts-client/api/types/EventsLimits.d.ts +46 -0
  237. package/dist/types/sdk/generated/ts-client/api/types/EventsMessageId.d.ts +4 -0
  238. package/dist/types/sdk/generated/ts-client/api/types/EventsModelUsage.d.ts +19 -0
  239. package/dist/types/sdk/generated/ts-client/api/types/EventsNativeRef.d.ts +17 -0
  240. package/dist/types/sdk/generated/ts-client/api/types/EventsOrigin.d.ts +37 -0
  241. package/dist/types/sdk/generated/ts-client/api/types/EventsProvider.d.ts +4 -0
  242. package/dist/types/sdk/generated/ts-client/api/types/EventsRawFrame.d.ts +18 -0
  243. package/dist/types/sdk/generated/ts-client/api/types/EventsRequestId.d.ts +4 -0
  244. package/dist/types/sdk/generated/ts-client/api/types/EventsRunAgent.d.ts +27 -0
  245. package/dist/types/sdk/generated/ts-client/api/types/EventsRunId.d.ts +4 -0
  246. package/dist/types/sdk/generated/ts-client/api/types/EventsRunTrigger.d.ts +29 -0
  247. package/dist/types/sdk/generated/ts-client/api/types/EventsScheduledSwitch.d.ts +11 -0
  248. package/dist/types/sdk/generated/ts-client/api/types/EventsStopId.d.ts +4 -0
  249. package/dist/types/sdk/generated/ts-client/api/types/EventsSwitchId.d.ts +4 -0
  250. package/dist/types/sdk/generated/ts-client/api/types/EventsTask.d.ts +45 -0
  251. package/dist/types/sdk/generated/ts-client/api/types/EventsTaskId.d.ts +4 -0
  252. package/dist/types/sdk/generated/ts-client/api/types/EventsTaskProgress.d.ts +15 -0
  253. package/dist/types/sdk/generated/ts-client/api/types/EventsTimestamp.d.ts +4 -0
  254. package/dist/types/sdk/generated/ts-client/api/types/EventsToolOutput.d.ts +16 -0
  255. package/dist/types/sdk/generated/ts-client/api/types/EventsUsage.d.ts +34 -0
  256. package/dist/types/sdk/generated/ts-client/api/types/FileObject.d.ts +24 -0
  257. package/dist/types/sdk/generated/ts-client/api/types/HistoryEntry.d.ts +10 -0
  258. package/dist/types/sdk/generated/ts-client/api/types/HistoryPage.d.ts +24 -0
  259. package/dist/types/sdk/generated/ts-client/api/types/LoginStatus.d.ts +15 -0
  260. package/dist/types/sdk/generated/ts-client/api/types/Machine.d.ts +43 -0
  261. package/dist/types/sdk/generated/ts-client/api/types/McpServer.d.ts +13 -0
  262. package/dist/types/sdk/generated/ts-client/api/types/MessageReceipt.d.ts +21 -0
  263. package/dist/types/sdk/generated/ts-client/api/types/Metadata.d.ts +4 -0
  264. package/dist/types/sdk/generated/ts-client/api/types/ModelInfo.d.ts +12 -0
  265. package/dist/types/sdk/generated/ts-client/api/types/MyProviderStatus.d.ts +61 -0
  266. package/dist/types/sdk/generated/ts-client/api/types/OAuthFlow.d.ts +9 -0
  267. package/dist/types/sdk/generated/ts-client/api/types/Pairing.d.ts +18 -0
  268. package/dist/types/sdk/generated/ts-client/api/types/Placement.d.ts +38 -0
  269. package/dist/types/sdk/generated/ts-client/api/types/PreTurnHook.d.ts +21 -0
  270. package/dist/types/sdk/generated/ts-client/api/types/Principal.d.ts +30 -0
  271. package/dist/types/sdk/generated/ts-client/api/types/ProviderKind.d.ts +5 -0
  272. package/dist/types/sdk/generated/ts-client/api/types/ProviderLimits.d.ts +44 -0
  273. package/dist/types/sdk/generated/ts-client/api/types/ProviderStatus.d.ts +53 -0
  274. package/dist/types/sdk/generated/ts-client/api/types/QueueResult.d.ts +5 -0
  275. package/dist/types/sdk/generated/ts-client/api/types/RunSummary.d.ts +30 -0
  276. package/dist/types/sdk/generated/ts-client/api/types/Scope.d.ts +35 -0
  277. package/dist/types/sdk/generated/ts-client/api/types/SwitchResult.d.ts +19 -0
  278. package/dist/types/sdk/generated/ts-client/api/types/Timestamp.d.ts +4 -0
  279. package/dist/types/sdk/generated/ts-client/api/types/ToolPrincipal.d.ts +29 -0
  280. package/dist/types/sdk/generated/ts-client/api/types/index.d.ts +145 -0
  281. package/dist/types/sdk/generated/ts-client/auth/BearerAuthProvider.d.ts +20 -0
  282. package/dist/types/sdk/generated/ts-client/core/auth/AuthProvider.d.ts +8 -0
  283. package/dist/types/sdk/generated/ts-client/core/auth/AuthRequest.d.ts +9 -0
  284. package/dist/types/sdk/generated/ts-client/core/auth/BasicAuth.d.ts +8 -0
  285. package/dist/types/sdk/generated/ts-client/core/auth/BearerToken.d.ts +7 -0
  286. package/dist/types/sdk/generated/ts-client/core/auth/NoOpAuthProvider.d.ts +5 -0
  287. package/dist/types/sdk/generated/ts-client/core/auth/index.d.ts +5 -0
  288. package/dist/types/sdk/generated/ts-client/core/base64.d.ts +2 -0
  289. package/dist/types/sdk/generated/ts-client/core/exports.d.ts +3 -0
  290. package/dist/types/sdk/generated/ts-client/core/fetcher/APIResponse.d.ts +20 -0
  291. package/dist/types/sdk/generated/ts-client/core/fetcher/BinaryResponse.d.ts +19 -0
  292. package/dist/types/sdk/generated/ts-client/core/fetcher/EndpointMetadata.d.ts +13 -0
  293. package/dist/types/sdk/generated/ts-client/core/fetcher/EndpointSupplier.d.ts +12 -0
  294. package/dist/types/sdk/generated/ts-client/core/fetcher/Fetcher.d.ts +56 -0
  295. package/dist/types/sdk/generated/ts-client/core/fetcher/Headers.d.ts +2 -0
  296. package/dist/types/sdk/generated/ts-client/core/fetcher/HttpResponsePromise.d.ts +58 -0
  297. package/dist/types/sdk/generated/ts-client/core/fetcher/RawResponse.d.ts +29 -0
  298. package/dist/types/sdk/generated/ts-client/core/fetcher/Supplier.d.ts +4 -0
  299. package/dist/types/sdk/generated/ts-client/core/fetcher/createRequestUrl.d.ts +1 -0
  300. package/dist/types/sdk/generated/ts-client/core/fetcher/getErrorResponseBody.d.ts +1 -0
  301. package/dist/types/sdk/generated/ts-client/core/fetcher/getFetchFn.d.ts +1 -0
  302. package/dist/types/sdk/generated/ts-client/core/fetcher/getHeader.d.ts +1 -0
  303. package/dist/types/sdk/generated/ts-client/core/fetcher/getRequestBody.d.ts +7 -0
  304. package/dist/types/sdk/generated/ts-client/core/fetcher/getResponseBody.d.ts +17 -0
  305. package/dist/types/sdk/generated/ts-client/core/fetcher/index.d.ts +13 -0
  306. package/dist/types/sdk/generated/ts-client/core/fetcher/makePassthroughRequest.d.ts +49 -0
  307. package/dist/types/sdk/generated/ts-client/core/fetcher/makeRequest.d.ts +11 -0
  308. package/dist/types/sdk/generated/ts-client/core/fetcher/redactUrl.d.ts +2 -0
  309. package/dist/types/sdk/generated/ts-client/core/fetcher/requestWithRetries.d.ts +1 -0
  310. package/dist/types/sdk/generated/ts-client/core/fetcher/signals.d.ts +6 -0
  311. package/dist/types/sdk/generated/ts-client/core/file/exports.d.ts +1 -0
  312. package/dist/types/sdk/generated/ts-client/core/file/file.d.ts +10 -0
  313. package/dist/types/sdk/generated/ts-client/core/file/index.d.ts +2 -0
  314. package/dist/types/sdk/generated/ts-client/core/file/types.d.ts +66 -0
  315. package/dist/types/sdk/generated/ts-client/core/form-data-utils/FormDataWrapper.d.ts +15 -0
  316. package/dist/types/sdk/generated/ts-client/core/form-data-utils/encodeAsFormParameter.d.ts +1 -0
  317. package/dist/types/sdk/generated/ts-client/core/form-data-utils/index.d.ts +2 -0
  318. package/dist/types/sdk/generated/ts-client/core/headers.d.ts +2 -0
  319. package/dist/types/sdk/generated/ts-client/core/index.d.ts +11 -0
  320. package/dist/types/sdk/generated/ts-client/core/json.d.ts +15 -0
  321. package/dist/types/sdk/generated/ts-client/core/logging/exports.d.ts +18 -0
  322. package/dist/types/sdk/generated/ts-client/core/logging/index.d.ts +1 -0
  323. package/dist/types/sdk/generated/ts-client/core/logging/logger.d.ts +126 -0
  324. package/dist/types/sdk/generated/ts-client/core/pagination/Page.d.ts +33 -0
  325. package/dist/types/sdk/generated/ts-client/core/pagination/exports.d.ts +1 -0
  326. package/dist/types/sdk/generated/ts-client/core/pagination/index.d.ts +1 -0
  327. package/dist/types/sdk/generated/ts-client/core/requestBody.d.ts +12 -0
  328. package/dist/types/sdk/generated/ts-client/core/runtime/index.d.ts +1 -0
  329. package/dist/types/sdk/generated/ts-client/core/runtime/runtime.d.ts +28 -0
  330. package/dist/types/sdk/generated/ts-client/core/stream/Stream.d.ts +103 -0
  331. package/dist/types/sdk/generated/ts-client/core/stream/index.d.ts +2 -0
  332. package/dist/types/sdk/generated/ts-client/core/url/QueryStringBuilder.d.ts +47 -0
  333. package/dist/types/sdk/generated/ts-client/core/url/encodePathParam.d.ts +3 -0
  334. package/dist/types/sdk/generated/ts-client/core/url/index.d.ts +4 -0
  335. package/dist/types/sdk/generated/ts-client/core/url/join.d.ts +1 -0
  336. package/dist/types/sdk/generated/ts-client/core/url/qs.d.ts +7 -0
  337. package/dist/types/sdk/generated/ts-client/core/utils/index.d.ts +1 -0
  338. package/dist/types/sdk/generated/ts-client/core/utils/setObjectProperty.d.ts +12 -0
  339. package/dist/types/sdk/generated/ts-client/environments.d.ts +4 -0
  340. package/dist/types/sdk/generated/ts-client/errors/SmoothAgentApiError.d.ts +15 -0
  341. package/dist/types/sdk/generated/ts-client/errors/SmoothAgentApiTimeoutError.d.ts +6 -0
  342. package/dist/types/sdk/generated/ts-client/errors/handleNonStatusCodeError.d.ts +2 -0
  343. package/dist/types/sdk/generated/ts-client/errors/index.d.ts +2 -0
  344. package/dist/types/sdk/generated/ts-client/exports.d.ts +1 -0
  345. package/dist/types/sdk/generated/ts-client/index.d.ts +6 -0
  346. package/dist/types/sdk/ts/client/src/index.d.ts +85 -0
  347. package/dist/types/sdk/ts/client/src/testing.d.ts +71 -0
  348. package/dist/types/sdk/ts/core-live/src/auth.d.ts +40 -0
  349. package/dist/types/sdk/ts/core-live/src/backoff.d.ts +9 -0
  350. package/dist/types/sdk/ts/core-live/src/client.d.ts +89 -0
  351. package/dist/types/sdk/ts/core-live/src/deps.d.ts +63 -0
  352. package/dist/types/sdk/ts/core-live/src/edge.d.ts +73 -0
  353. package/dist/types/sdk/ts/core-live/src/feed.d.ts +66 -0
  354. package/dist/types/sdk/ts/core-live/src/ids.d.ts +7 -0
  355. package/dist/types/sdk/ts/core-live/src/index.d.ts +11 -0
  356. package/dist/types/sdk/ts/core-live/src/native.d.ts +7 -0
  357. package/dist/types/sdk/ts/core-live/src/prompt.d.ts +81 -0
  358. package/dist/types/sdk/ts/core-live/src/providers.d.ts +187 -0
  359. package/dist/types/sdk/ts/core-live/src/reducers/contract.d.ts +18 -0
  360. package/dist/types/sdk/ts/core-live/src/rest.d.ts +48 -0
  361. package/dist/types/sdk/ts/core-live/src/stream.d.ts +145 -0
  362. package/dist/types/sdk/ts/core-live/src/types.d.ts +55 -0
  363. package/dist/types/sdk/ts/core-live/src/wasm/bytes.d.ts +1 -0
  364. package/dist/types/sdk/ts/core-live/src/wasm/empty.d.ts +1 -0
  365. package/dist/types/sdk/ts/core-live/src/wasm/live.d.ts +278 -0
  366. package/dist/types/sdk/ts/core-live/src/watch.d.ts +299 -0
  367. package/package.json +39 -4
package/CHANGELOG.md ADDED
@@ -0,0 +1,61 @@
1
+ # @smoothcodes/agent-client
2
+
3
+
4
+ ## 0.4.1
5
+
6
+ - Propaga `messages` e `effectiveSelection` para `watch().getState()` e subscribers, com atualizações ao vivo e recuperação na reconexão.
7
+ ## 0.4.0
8
+
9
+ - Métodos e exports anteriores preservados; contrato aditivo.
10
+ - Metadata opcional no envio, autoria de agente, recibo de mensagem e views de mensagens/seleção.
11
+ - O fallback HTTP mantém o messageId e metadata; o caminho legado permanece disponível.
12
+ - As views novas exigem o backend integrado de novembro de 2026. A autenticação interna da box não muda neste pacote.
13
+
14
+ ## 0.3.0
15
+
16
+ - `watch(chatId).send()` durável: se o socket não confirmar em 2 s (`stream.sendFallbackMs`), a mensagem vai pelo REST `POST /v3/chats/{id}/messages` com o MESMO messageId (`clientMessageId` e `Idempotency-Key`); o servidor deduplica, nunca 2x. Gravada pelo REST, aparece em `local.sending` como `pending`. Antes, com o socket fechado a mensagem ficava só na memória do navegador e se perdia.
17
+ - `close()` não deixa espera pendurada: o `send` não confirmado vai pelo REST na hora e resolve gravado; se nem isso der, rejeita com `SendNotConfirmedError` (`reason`, `messageId`, `content`, `mode`) pro app reenviar. Os outros comandos (stop/respond/reset/fila/troca) rejeitam com `CommandAbortedError` (`ref`). Mensagem continua `stream closed` (compatível).
18
+ - `send(content, { timeoutMs })`: rejeita com `SendNotConfirmedError` `reason: 'timeout'` se nada confirmou no prazo (reenviar com o mesmo `messageId` é seguro). O `timeoutMs` só para de esperar: NÃO cancela o envio pelo socket, então a mensagem ainda pode chegar à fila depois, e a ordem dela em relação aos `send` seguintes não é garantida.
19
+ - Os envios pelo REST saem em ordem por chat, um por vez (B nunca passa na frente de A). Com o servidor fora, a nova tentativa espera cada vez mais (5 s, dobrando, até 60 s).
20
+ - Exporta `SendNotConfirmedError` e `CommandAbortedError`.
21
+
22
+ ## 0.2.3
23
+
24
+ - `files.upload` agora envia o arquivo: o tipo virou `file: Uploadable` (obrigatório; `Blob`, `File`, `Buffer`/`Uint8Array`, `ReadableStream`, `{ data, filename, contentType }` ou, no Node, `{ path }`) e a parte `file` vai no multipart. Até a 0.2.2 o campo era `file?: unknown` e só array/Set era anexado, então `files.upload({ file: blob })` saía sem o arquivo.
25
+
26
+ ## 0.2.2
27
+
28
+ - Só documentação: o CHANGELOG da 0.2.1 foi publicado com marcas de conflito de merge; o código é o mesmo da 0.2.1.
29
+
30
+ ## 0.2.1
31
+
32
+ - Sem mudança de API: o mesmo número da `@smoothcodes/agent-server` 0.2.1. Ganha o teste de cobertura: todo grupo do cliente REST gerado tem que estar exposto na casca, com todos os métodos.
33
+
34
+ ## 0.2.0
35
+
36
+ Desde a 0.1.0 (0.1.1/0.1.2 só republicaram a 0.1.0, presa no stage do npm; a 0.1.3 só trocou a base padrão).
37
+
38
+ **Migrar da 0.1:** nenhum método, classe ou tipo exportado foi renomeado ou removido (conferido contra a 0.1.0). Só mudam tipos de retorno/campos:
39
+
40
+ | Onde | 0.1 | 0.2 | O que fazer |
41
+ |---|---|---|---|
42
+ | `chats.delete()` | `Deleted` | `ChatDeleted` (`+ cleanup`) | nada, se só lia `id`/`deleted` |
43
+ | `providers.myProvidersList().data[]` | `ProviderStatus` | `MyProviderStatus` | trocar a anotação de tipo, se houver |
44
+ | `Agent.provider`, `AgentPublic.provider` | obrigatório | opcional | tratar `undefined` (agente sem motor → `providers[]`) |
45
+ | `err.body` dos erros HTTP (`BadRequestError`, `ForbiddenError`…) | `unknown` | `Error_` | os casts passam a ser desnecessários |
46
+ | `DEFAULT_BASE_URL` | `api.smoothagent.dev` | `smoothagent-v3-api.uaibuilder.workers.dev` | nada (quem passa `baseUrl` não muda) |
47
+
48
+ **Quebra (tipos):**
49
+ - `chats.delete()` devolve `ChatDeleted` (`{ id, deleted, cleanup: "pending" | "done" }`) em vez de `Deleted`.
50
+ - `providers.myProvidersList()`: `data` agora é `MyProviderStatus[]` (`connected`, `via`, `status`, `models`, `connect`, `needed`, `expiresAt`) em vez de `ProviderStatus[]`.
51
+ - `Agent.provider` / `AgentPublic.provider` ficaram opcionais: agente SEM motor; as opções vêm em `providers: AgentProviderOption[]` (`provider`, `models`, `capabilities`, `ready`).
52
+
53
+ **Novo:**
54
+ - Erros HTTP tipados: `BadRequestError`, `UnauthorizedError`, `ForbiddenError`, `ConflictError`, `TooManyRequestsError`, `InternalServerError` passam a ter `body: Error_` (`{ error: ErrorBody }`) em vez de `unknown` (os outros, `NotFoundError` incluso, já eram `Error_` na 0.1.0). Todos os erros HTTP agora têm `body: Error_`.
55
+ - `agents`: `queue.defaultMode` ausente na criação = `queue` (era `steer`).
56
+ - `chats.create({ provider })`: escolhe o motor do chat quando o agente não tem motor (no agente com motor, só o dele).
57
+ - `chats.switchAgent({ provider?, model?: string | null, effort?: string | null })`: `null` = voltar ao padrão do agente, explícito; ausente = fica o de agora.
58
+ - `EventsInboxState` ganha `wake_failed`; `EventsFailure.details.provider` documenta qual credencial falta/venceu.
59
+ - A base padrão (`DEFAULT_BASE_URL`, `https://smoothagent-v3-api.uaibuilder.workers.dev`, consertada na 0.1.3; antes era `api.smoothagent.dev`, que não existe) agora sai do `servers` do contrato.
60
+
61
+ Camada ao vivo (`watch`, `events`, `prompt`): sem mudança de API desde a 0.1.0.
package/README.md CHANGED
@@ -1,3 +1,56 @@
1
- # Temporary Holding Version
1
+ # @smoothcodes/agent-client
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ A SDK do **usuário final** da SmoothAgent (token do usuário, um por dispositivo). Roda no navegador e no Node ≥ 20,
4
+ sem dependência.
5
+
6
+ - **REST** gerada do contrato (`contract/api`, audiência `client`): chats, agentes, arquivos, máquinas, provedores.
7
+ - **Ao vivo**: `watch` (o estado pronto da tela), `events` (eventos crus em ordem), `prompt` (pergunta e resposta),
8
+ `watchList` (a lista lateral). A lógica mora no núcleo único em Rust (`sdk/core-rs`, compilado pra wasm); o wasm
9
+ baixa num pedaço à parte, em paralelo, na primeira vez que a camada ao vivo é usada.
10
+
11
+ ```ts
12
+ import { SmoothAgent } from '@smoothcodes/agent-client'
13
+
14
+ const sa = new SmoothAgent({ getToken: () => meuBackend.tokenDoUsuario() })
15
+
16
+ // estado pronto da tela (compatível com useSyncExternalStore)
17
+ const chat = sa.chats.watch(chatId)
18
+ chat.subscribe((s) => render(s.timeline, s.inbox, s.history))
19
+ await chat.send('oi') // aparece na hora (otimista); idempotente por messageId
20
+ chat.release() // a tela desmontou
21
+
22
+ // pergunta e resposta
23
+ const r = await sa.chats.prompt(chatId, 'resume o pedido').result // nunca rejeita por queda de rede
24
+
25
+ // eventos crus, retomando de onde parou
26
+ for await (const e of sa.chats.events(chatId, { after: ultimoSeq })) console.log(e.type)
27
+ ```
28
+
29
+ Provedores do usuário prontos pra tela (a tela só desenha; o poll do device mora na SDK):
30
+
31
+ ```ts
32
+ const ps = sa.providers.watch() // /me/providers; no server: sa.as(u).providers.watch() ou sa.connections.watchProviders(id)
33
+ ps.subscribe((s) => render(s.rows)) // rows: needed primeiro; cada linha com flow / busy / error
34
+ const f = ps.connect('codex') // pending {kind:'device', userCode, verificationUrl} → connected | expired | failed{message}
35
+ const g = ps.connect('claude') // pending {kind:'oauth', url}; depois g.complete(códigoColado)
36
+ f.cancel(); await ps.setKey('claude', chave); await ps.disconnect('codex')
37
+ ps.release() // a tela desmontou
38
+ ```
39
+
40
+ O código do OAuth e a chave vão direto pro pedido: nunca ficam no estado nem em log.
41
+
42
+ - `baseUrl`: white-label (padrão: produção). No navegador servido pela mesma origem, `location.origin`.
43
+ - `strict: true` (testes): buraco no stream vira violação visível em vez de resync.
44
+ - `@smoothcodes/agent-client/testing`: harness de N interfaces no mesmo chat (comparar ordem e estado).
45
+
46
+ ## Desenvolver
47
+
48
+ ```bash
49
+ npm ci
50
+ npm test # vitest (fakes determinísticos do protocolo)
51
+ npm run build # dist/ (ESM) + .d.ts
52
+ npm run pack:next # tarball em sdk/.packs (o que o Studio e o tests instalam)
53
+ node e2e/prod.mjs # cenários contra o v3 de prod (lê C:/SmoothAgent/platform/.env.local; recursos v3-t-sdk-*)
54
+ ```
55
+
56
+ O núcleo wasm é gerado em `sdk/core-rs` (`node build-wasm.mjs`) e embutido em `sdk/ts/core-live/src/wasm/`.
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-PZ5AY32C.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/dist/index.js ADDED
@@ -0,0 +1,24 @@
1
+ import {
2
+ CommandAbortedError,
3
+ DEFAULT_BASE_URL,
4
+ ProviderSet,
5
+ SendNotConfirmedError,
6
+ SmoothAgent,
7
+ SmoothAgentApiError,
8
+ SmoothAgentApiTimeoutError,
9
+ apiErrorBody,
10
+ sortProviders
11
+ } from "./chunk-J7SHP642.js";
12
+ import "./chunk-PZ5AY32C.js";
13
+ export {
14
+ CommandAbortedError,
15
+ DEFAULT_BASE_URL,
16
+ ProviderSet,
17
+ SendNotConfirmedError,
18
+ SmoothAgent,
19
+ SmoothAgentApiError,
20
+ SmoothAgentApiTimeoutError,
21
+ apiErrorBody,
22
+ sortProviders
23
+ };
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,139 @@
1
+ import {
2
+ SmoothAgent
3
+ } from "./chunk-J7SHP642.js";
4
+ import "./chunk-PZ5AY32C.js";
5
+
6
+ // src/testing.ts
7
+ var Harness = class {
8
+ constructor(ifaces, clock) {
9
+ this.ifaces = ifaces;
10
+ this.clock = clock;
11
+ }
12
+ ifaces;
13
+ clock;
14
+ /** Diferenças entre as interfaces (vazio = todas iguais). `core` = cursor + inbox + ids do histórico; `full` = + a timeline inteira. */
15
+ diff(mode = "full") {
16
+ const out = [];
17
+ const [first, ...rest] = this.ifaces;
18
+ if (!first) return out;
19
+ const a = first.live.getState();
20
+ for (const it of rest) {
21
+ const b = it.live.getState();
22
+ const add = (field, x, y) => {
23
+ if (JSON.stringify(x) !== JSON.stringify(y)) out.push({ field, ifaceA: first.index, ifaceB: it.index, a: x, b: y });
24
+ };
25
+ add("cursor", a.sync.cursor, b.sync.cursor);
26
+ add("inbox", a.inbox, b.inbox);
27
+ add("history", a.history.items.map((i) => i.id), b.history.items.map((i) => i.id));
28
+ if (mode === "full") add("timeline", a.timeline, b.timeline);
29
+ }
30
+ return out;
31
+ }
32
+ /** Espera todas convergirem (diff vazio e nenhuma sincronizando). Rejeita com o último diff no prazo. */
33
+ converged(o = {}) {
34
+ const end = this.clock.now() + (o.timeoutMs ?? 3e4);
35
+ return new Promise((resolve, reject) => {
36
+ const tick = () => {
37
+ const synced = this.ifaces.every((i) => i.live.getState().sync.status === "live");
38
+ const d = this.diff(o.mode);
39
+ if (synced && d.length === 0) return resolve();
40
+ if (this.clock.now() >= end) {
41
+ const status = this.ifaces.map((i) => `${i.index}:${i.live.getState().sync.status}@${i.live.getState().sync.cursor}`).join(" ");
42
+ return reject(Object.assign(new Error(`n\xE3o convergiu (${status}): ${JSON.stringify(d).slice(0, 2e3)}`), { diff: d }));
43
+ }
44
+ this.clock.setTimeout(tick, o.everyMs ?? 100);
45
+ };
46
+ tick();
47
+ });
48
+ }
49
+ /**
50
+ * Por interface: aplicados estritamente crescentes e sem pular — pular só vale onde a SDK declarou
51
+ * (trecho compactado pelo log, ou o snapshot que reposicionou o cursor).
52
+ */
53
+ checkOrder() {
54
+ const out = [];
55
+ for (const it of this.ifaces) {
56
+ const allowed = [];
57
+ for (const d of it.debug) if (d.kind === "compacted_skip") allowed.push([d.from, d.to]);
58
+ const appliedSet = new Set(it.applied);
59
+ for (const d of it.debug) if (d.kind === "cursor" && !appliedSet.has(d.seq)) allowed.push([0, d.seq]);
60
+ for (let k = 1; k < it.applied.length; k++) {
61
+ const prev = it.applied[k - 1];
62
+ const next = it.applied[k];
63
+ if (next <= prev) out.push({ iface: it.index, kind: "not_increasing", prev, next });
64
+ else if (next !== prev + 1) {
65
+ const covered = (s) => allowed.some(([f, t]) => s >= f && s <= t);
66
+ for (let s = prev + 1; s < next; s++) {
67
+ if (!covered(s)) {
68
+ out.push({ iface: it.index, kind: "skipped", prev, next });
69
+ break;
70
+ }
71
+ }
72
+ }
73
+ }
74
+ }
75
+ return out;
76
+ }
77
+ violations() {
78
+ return this.ifaces.flatMap((i) => i.violations.map((v) => ({ ...v, iface: i.index })));
79
+ }
80
+ /** Caos: derruba os sockets daquela interface (a SDK religa sozinha). `box` = qualquer socket que não é o conector. */
81
+ disconnect(i, which = "all") {
82
+ const it = this.ifaces[i];
83
+ if (!it) throw new Error(`interface ${i} n\xE3o existe`);
84
+ let n = 0;
85
+ for (const s of it.sockets) {
86
+ const isConnector = /\/v3\/chats\/[^/]+\/live$/.test(new URL(s.url).pathname);
87
+ if (which === "all" || which === "connector" === isConnector) {
88
+ if (s.socket.readyState <= 1) {
89
+ s.socket.close(4e3, "harness disconnect");
90
+ n++;
91
+ }
92
+ }
93
+ }
94
+ return n;
95
+ }
96
+ async close() {
97
+ for (const i of this.ifaces) {
98
+ i.live.release();
99
+ i.sa.close();
100
+ }
101
+ }
102
+ };
103
+ function createInterfaces(o) {
104
+ const clock = o.clock ?? { now: () => Date.now(), setTimeout: (f, ms) => setTimeout(f, ms), clearTimeout: (h) => clearTimeout(h) };
105
+ const BaseWS = o.WebSocket ?? globalThis.WebSocket;
106
+ if (!BaseWS) throw new Error("sem WebSocket: passe `WebSocket`");
107
+ const ifaces = [];
108
+ for (let index = 0; index < o.n; index++) {
109
+ const token = o.tokens?.[index] ?? o.token;
110
+ if (!token) throw new Error(`sem token pra interface ${index}`);
111
+ const sockets = [];
112
+ const WS = function(url, protocols) {
113
+ const socket = new BaseWS(url, protocols);
114
+ sockets.push({ url, socket });
115
+ return socket;
116
+ };
117
+ const it = { index, debug: [], applied: [], violations: [], sockets };
118
+ it.sa = new SmoothAgent({
119
+ token,
120
+ baseUrl: o.baseUrl,
121
+ WebSocket: WS,
122
+ ...o.fetch ? { fetch: o.fetch } : {},
123
+ ...o.clock ? { clock: o.clock } : {},
124
+ ...o.env ? { env: o.env } : {},
125
+ strict: o.strict ?? true,
126
+ onDebug: (_c, e) => it.debug.push({ ...e, at: clock.now() }),
127
+ onViolation: (_c, v) => it.violations.push(v)
128
+ });
129
+ it.live = it.sa.chats.watch(o.chatId);
130
+ it.live.tap((evs) => it.applied.push(...evs.map((e) => e.seq)));
131
+ ifaces.push(it);
132
+ }
133
+ return new Harness(ifaces, clock);
134
+ }
135
+ export {
136
+ Harness,
137
+ createInterfaces
138
+ };
139
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/testing.ts"],
4
+ "sourcesContent": ["// @smoothcodes/agent-client/testing \u2014 harness de N interfaces no mesmo chat (pedido do `tests`, proposta sdk \u00A78).\n// Cada interface \u00E9 um SmoothAgent de verdade (o mesmo pacote que o app usa), com o debug, os seqs\n// aplicados e as viola\u00E7\u00F5es do modo estrito guardados. O harness compara todas e confere a ordem.\nimport type { Clock, DebugEvent, Envelope, LiveEnv, SocketLike, Violation } from '../../core-live/src/index'\nimport { SmoothAgent, type ChatLive } from './index'\n\nexport interface HarnessOptions {\n n: number\n baseUrl: string\n chatId: string\n /** Um token pra todas, ou um por interface (dispositivos diferentes do mesmo usu\u00E1rio ou usu\u00E1rios diferentes). */\n token?: string\n tokens?: string[]\n /** Padr\u00E3o: true (buraco vira viola\u00E7\u00E3o, nada \u00E9 escondido). */\n strict?: boolean\n WebSocket?: new (url: string, protocols: string[]) => SocketLike\n fetch?: typeof fetch\n clock?: Clock\n env?: LiveEnv\n}\n\nexport interface Iface {\n index: number\n sa: SmoothAgent\n live: ChatLive\n debug: Array<DebugEvent & { at: number }>\n /** Seqs aplicados, na ordem em que a tela os recebeu. */\n applied: number[]\n violations: Violation[]\n /** Sockets abertos por esta interface (pro caos). */\n sockets: Array<{ url: string; socket: SocketLike }>\n}\n\nexport interface DiffEntry {\n field: 'cursor' | 'inbox' | 'timeline' | 'history'\n ifaceA: number\n ifaceB: number\n a: unknown\n b: unknown\n}\n\nexport interface OrderProblem {\n iface: number\n kind: 'not_increasing' | 'skipped'\n prev: number\n next: number\n}\n\nexport type CompareMode = 'full' | 'core'\n\nexport class Harness {\n constructor(\n readonly ifaces: Iface[],\n private readonly clock: Clock,\n ) {}\n\n /** Diferen\u00E7as entre as interfaces (vazio = todas iguais). `core` = cursor + inbox + ids do hist\u00F3rico; `full` = + a timeline inteira. */\n diff(mode: CompareMode = 'full'): DiffEntry[] {\n const out: DiffEntry[] = []\n const [first, ...rest] = this.ifaces\n if (!first) return out\n const a = first.live.getState()\n for (const it of rest) {\n const b = it.live.getState()\n const add = (field: DiffEntry['field'], x: unknown, y: unknown) => {\n if (JSON.stringify(x) !== JSON.stringify(y)) out.push({ field, ifaceA: first.index, ifaceB: it.index, a: x, b: y })\n }\n add('cursor', a.sync.cursor, b.sync.cursor)\n add('inbox', a.inbox, b.inbox)\n add('history', a.history.items.map((i) => i.id), b.history.items.map((i) => i.id))\n if (mode === 'full') add('timeline', a.timeline, b.timeline)\n }\n return out\n }\n\n /** Espera todas convergirem (diff vazio e nenhuma sincronizando). Rejeita com o \u00FAltimo diff no prazo. */\n converged(o: { timeoutMs?: number; mode?: CompareMode; everyMs?: number } = {}): Promise<void> {\n const end = this.clock.now() + (o.timeoutMs ?? 30_000)\n return new Promise((resolve, reject) => {\n const tick = () => {\n const synced = this.ifaces.every((i) => i.live.getState().sync.status === 'live')\n const d = this.diff(o.mode)\n if (synced && d.length === 0) return resolve()\n if (this.clock.now() >= end) {\n const status = this.ifaces.map((i) => `${i.index}:${i.live.getState().sync.status}@${i.live.getState().sync.cursor}`).join(' ')\n return reject(Object.assign(new Error(`n\u00E3o convergiu (${status}): ${JSON.stringify(d).slice(0, 2000)}`), { diff: d }))\n }\n this.clock.setTimeout(tick, o.everyMs ?? 100)\n }\n tick()\n })\n }\n\n /**\n * Por interface: aplicados estritamente crescentes e sem pular \u2014 pular s\u00F3 vale onde a SDK declarou\n * (trecho compactado pelo log, ou o snapshot que reposicionou o cursor).\n */\n checkOrder(): OrderProblem[] {\n const out: OrderProblem[] = []\n for (const it of this.ifaces) {\n const allowed: Array<[number, number]> = []\n for (const d of it.debug) if (d.kind === 'compacted_skip') allowed.push([d.from, d.to])\n // snapshots: o cursor reposicionado aparece como `cursor` sem evento aplicado naquele seq\n const appliedSet = new Set(it.applied)\n for (const d of it.debug) if (d.kind === 'cursor' && !appliedSet.has(d.seq)) allowed.push([0, d.seq])\n for (let k = 1; k < it.applied.length; k++) {\n const prev = it.applied[k - 1]!\n const next = it.applied[k]!\n if (next <= prev) out.push({ iface: it.index, kind: 'not_increasing', prev, next })\n else if (next !== prev + 1) {\n const covered = (s: number) => allowed.some(([f, t]) => s >= f && s <= t)\n for (let s = prev + 1; s < next; s++) {\n if (!covered(s)) {\n out.push({ iface: it.index, kind: 'skipped', prev, next })\n break\n }\n }\n }\n }\n }\n return out\n }\n\n violations(): Array<Violation & { iface: number }> {\n return this.ifaces.flatMap((i) => i.violations.map((v) => ({ ...v, iface: i.index })))\n }\n\n /** Caos: derruba os sockets daquela interface (a SDK religa sozinha). `box` = qualquer socket que n\u00E3o \u00E9 o conector. */\n disconnect(i: number, which: 'connector' | 'box' | 'all' = 'all'): number {\n const it = this.ifaces[i]\n if (!it) throw new Error(`interface ${i} n\u00E3o existe`)\n let n = 0\n for (const s of it.sockets) {\n const isConnector = /\\/v3\\/chats\\/[^/]+\\/live$/.test(new URL(s.url).pathname)\n if (which === 'all' || (which === 'connector') === isConnector) {\n if (s.socket.readyState <= 1) {\n s.socket.close(4000, 'harness disconnect')\n n++\n }\n }\n }\n return n\n }\n\n async close(): Promise<void> {\n for (const i of this.ifaces) {\n i.live.release()\n i.sa.close()\n }\n }\n}\n\nexport function createInterfaces(o: HarnessOptions): Harness {\n const clock = o.clock ?? { now: () => Date.now(), setTimeout: (f, ms) => setTimeout(f, ms), clearTimeout: (h) => clearTimeout(h as ReturnType<typeof setTimeout>) }\n const BaseWS = o.WebSocket ?? (globalThis as { WebSocket?: new (u: string, p: string[]) => SocketLike }).WebSocket\n if (!BaseWS) throw new Error('sem WebSocket: passe `WebSocket`')\n const ifaces: Iface[] = []\n for (let index = 0; index < o.n; index++) {\n const token = o.tokens?.[index] ?? o.token\n if (!token) throw new Error(`sem token pra interface ${index}`)\n const sockets: Iface['sockets'] = []\n const WS = function (url: string, protocols: string[]) {\n const socket = new BaseWS(url, protocols)\n sockets.push({ url, socket })\n return socket\n } as unknown as new (url: string, protocols: string[]) => SocketLike\n const it = { index, debug: [], applied: [], violations: [], sockets } as unknown as Iface\n it.sa = new SmoothAgent({\n token,\n baseUrl: o.baseUrl,\n WebSocket: WS,\n ...(o.fetch ? { fetch: o.fetch } : {}),\n ...(o.clock ? { clock: o.clock } : {}),\n ...(o.env ? { env: o.env } : {}),\n strict: o.strict ?? true,\n onDebug: (_c, e) => it.debug.push({ ...e, at: clock.now() }),\n onViolation: (_c, v) => it.violations.push(v),\n })\n it.live = it.sa.chats.watch(o.chatId)\n it.live.tap((evs: Envelope[]) => it.applied.push(...evs.map((e) => e.seq)))\n ifaces.push(it)\n }\n return new Harness(ifaces, clock)\n}\n"],
5
+ "mappings": ";;;;;;AAkDO,IAAM,UAAN,MAAc;AAAA,EACnB,YACW,QACQ,OACjB;AAFS;AACQ;AAAA,EAChB;AAAA,EAFQ;AAAA,EACQ;AAAA;AAAA,EAInB,KAAK,OAAoB,QAAqB;AAC5C,UAAM,MAAmB,CAAC;AAC1B,UAAM,CAAC,OAAO,GAAG,IAAI,IAAI,KAAK;AAC9B,QAAI,CAAC,MAAO,QAAO;AACnB,UAAM,IAAI,MAAM,KAAK,SAAS;AAC9B,eAAW,MAAM,MAAM;AACrB,YAAM,IAAI,GAAG,KAAK,SAAS;AAC3B,YAAM,MAAM,CAAC,OAA2B,GAAY,MAAe;AACjE,YAAI,KAAK,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,EAAG,KAAI,KAAK,EAAE,OAAO,QAAQ,MAAM,OAAO,QAAQ,GAAG,OAAO,GAAG,GAAG,GAAG,EAAE,CAAC;AAAA,MACpH;AACA,UAAI,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM;AAC1C,UAAI,SAAS,EAAE,OAAO,EAAE,KAAK;AAC7B,UAAI,WAAW,EAAE,QAAQ,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AACjF,UAAI,SAAS,OAAQ,KAAI,YAAY,EAAE,UAAU,EAAE,QAAQ;AAAA,IAC7D;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,UAAU,IAAkE,CAAC,GAAkB;AAC7F,UAAM,MAAM,KAAK,MAAM,IAAI,KAAK,EAAE,aAAa;AAC/C,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,OAAO,MAAM;AACjB,cAAM,SAAS,KAAK,OAAO,MAAM,CAAC,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,MAAM;AAChF,cAAM,IAAI,KAAK,KAAK,EAAE,IAAI;AAC1B,YAAI,UAAU,EAAE,WAAW,EAAG,QAAO,QAAQ;AAC7C,YAAI,KAAK,MAAM,IAAI,KAAK,KAAK;AAC3B,gBAAM,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,GAAG;AAC9H,iBAAO,OAAO,OAAO,OAAO,IAAI,MAAM,qBAAkB,MAAM,MAAM,KAAK,UAAU,CAAC,EAAE,MAAM,GAAG,GAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;AAAA,QACvH;AACA,aAAK,MAAM,WAAW,MAAM,EAAE,WAAW,GAAG;AAAA,MAC9C;AACA,WAAK;AAAA,IACP,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,aAA6B;AAC3B,UAAM,MAAsB,CAAC;AAC7B,eAAW,MAAM,KAAK,QAAQ;AAC5B,YAAM,UAAmC,CAAC;AAC1C,iBAAW,KAAK,GAAG,MAAO,KAAI,EAAE,SAAS,iBAAkB,SAAQ,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;AAEtF,YAAM,aAAa,IAAI,IAAI,GAAG,OAAO;AACrC,iBAAW,KAAK,GAAG,MAAO,KAAI,EAAE,SAAS,YAAY,CAAC,WAAW,IAAI,EAAE,GAAG,EAAG,SAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;AACpG,eAAS,IAAI,GAAG,IAAI,GAAG,QAAQ,QAAQ,KAAK;AAC1C,cAAM,OAAO,GAAG,QAAQ,IAAI,CAAC;AAC7B,cAAM,OAAO,GAAG,QAAQ,CAAC;AACzB,YAAI,QAAQ,KAAM,KAAI,KAAK,EAAE,OAAO,GAAG,OAAO,MAAM,kBAAkB,MAAM,KAAK,CAAC;AAAA,iBACzE,SAAS,OAAO,GAAG;AAC1B,gBAAM,UAAU,CAAC,MAAc,QAAQ,KAAK,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,KAAK,CAAC;AACxE,mBAAS,IAAI,OAAO,GAAG,IAAI,MAAM,KAAK;AACpC,gBAAI,CAAC,QAAQ,CAAC,GAAG;AACf,kBAAI,KAAK,EAAE,OAAO,GAAG,OAAO,MAAM,WAAW,MAAM,KAAK,CAAC;AACzD;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,aAAmD;AACjD,WAAO,KAAK,OAAO,QAAQ,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC;AAAA,EACvF;AAAA;AAAA,EAGA,WAAW,GAAW,QAAqC,OAAe;AACxE,UAAM,KAAK,KAAK,OAAO,CAAC;AACxB,QAAI,CAAC,GAAI,OAAM,IAAI,MAAM,aAAa,CAAC,gBAAa;AACpD,QAAI,IAAI;AACR,eAAW,KAAK,GAAG,SAAS;AAC1B,YAAM,cAAc,4BAA4B,KAAK,IAAI,IAAI,EAAE,GAAG,EAAE,QAAQ;AAC5E,UAAI,UAAU,SAAU,UAAU,gBAAiB,aAAa;AAC9D,YAAI,EAAE,OAAO,cAAc,GAAG;AAC5B,YAAE,OAAO,MAAM,KAAM,oBAAoB;AACzC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,QAAuB;AAC3B,eAAW,KAAK,KAAK,QAAQ;AAC3B,QAAE,KAAK,QAAQ;AACf,QAAE,GAAG,MAAM;AAAA,IACb;AAAA,EACF;AACF;AAEO,SAAS,iBAAiB,GAA4B;AAC3D,QAAM,QAAQ,EAAE,SAAS,EAAE,KAAK,MAAM,KAAK,IAAI,GAAG,YAAY,CAAC,GAAG,OAAO,WAAW,GAAG,EAAE,GAAG,cAAc,CAAC,MAAM,aAAa,CAAkC,EAAE;AAClK,QAAM,SAAS,EAAE,aAAc,WAA0E;AACzG,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,kCAAkC;AAC/D,QAAM,SAAkB,CAAC;AACzB,WAAS,QAAQ,GAAG,QAAQ,EAAE,GAAG,SAAS;AACxC,UAAM,QAAQ,EAAE,SAAS,KAAK,KAAK,EAAE;AACrC,QAAI,CAAC,MAAO,OAAM,IAAI,MAAM,2BAA2B,KAAK,EAAE;AAC9D,UAAM,UAA4B,CAAC;AACnC,UAAM,KAAK,SAAU,KAAa,WAAqB;AACrD,YAAM,SAAS,IAAI,OAAO,KAAK,SAAS;AACxC,cAAQ,KAAK,EAAE,KAAK,OAAO,CAAC;AAC5B,aAAO;AAAA,IACT;AACA,UAAM,KAAK,EAAE,OAAO,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,YAAY,CAAC,GAAG,QAAQ;AACpE,OAAG,KAAK,IAAI,YAAY;AAAA,MACtB;AAAA,MACA,SAAS,EAAE;AAAA,MACX,WAAW;AAAA,MACX,GAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAAA,MACpC,GAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAAA,MACpC,GAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AAAA,MAC9B,QAAQ,EAAE,UAAU;AAAA,MACpB,SAAS,CAAC,IAAI,MAAM,GAAG,MAAM,KAAK,EAAE,GAAG,GAAG,IAAI,MAAM,IAAI,EAAE,CAAC;AAAA,MAC3D,aAAa,CAAC,IAAI,MAAM,GAAG,WAAW,KAAK,CAAC;AAAA,IAC9C,CAAC;AACD,OAAG,OAAO,GAAG,GAAG,MAAM,MAAM,EAAE,MAAM;AACpC,OAAG,KAAK,IAAI,CAAC,QAAoB,GAAG,QAAQ,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1E,WAAO,KAAK,EAAE;AAAA,EAChB;AACA,SAAO,IAAI,QAAQ,QAAQ,KAAK;AAClC;",
6
+ "names": []
7
+ }