mtmsdk 0.0.51 → 0.0.53

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 (446) hide show
  1. package/dist/gomtmapi/@tanstack/react-query.gen.d.ts +21 -185
  2. package/dist/gomtmapi/@tanstack/react-query.gen.d.ts.map +1 -1
  3. package/dist/gomtmapi/@tanstack/react-query.gen.js +39 -215
  4. package/dist/gomtmapi/@tanstack/react-query.gen.js.map +1 -1
  5. package/dist/gomtmapi/index.d.ts +2 -2
  6. package/dist/gomtmapi/index.d.ts.map +1 -1
  7. package/dist/gomtmapi/index.js +1 -1
  8. package/dist/gomtmapi/index.js.map +1 -1
  9. package/dist/gomtmapi/schemas.gen.d.ts +67 -138
  10. package/dist/gomtmapi/schemas.gen.d.ts.map +1 -1
  11. package/dist/gomtmapi/schemas.gen.js +68 -142
  12. package/dist/gomtmapi/schemas.gen.js.map +1 -1
  13. package/dist/gomtmapi/sdk.gen.d.ts +15 -107
  14. package/dist/gomtmapi/sdk.gen.d.ts.map +1 -1
  15. package/dist/gomtmapi/sdk.gen.js +22 -128
  16. package/dist/gomtmapi/sdk.gen.js.map +1 -1
  17. package/dist/gomtmapi/types.gen.d.ts +66 -303
  18. package/dist/gomtmapi/types.gen.d.ts.map +1 -1
  19. package/dist/gomtmapi/zod.gen.d.ts +48 -183
  20. package/dist/gomtmapi/zod.gen.d.ts.map +1 -1
  21. package/dist/gomtmapi/zod.gen.js +36 -150
  22. package/dist/gomtmapi/zod.gen.js.map +1 -1
  23. package/dist/index.d.ts +1 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +1 -4
  26. package/dist/index.js.map +1 -1
  27. package/dist/sbmng/@tanstack/react-query.gen.d.ts +183 -209
  28. package/dist/sbmng/@tanstack/react-query.gen.d.ts.map +1 -1
  29. package/dist/sbmng/@tanstack/react-query.gen.js +25 -71
  30. package/dist/sbmng/@tanstack/react-query.gen.js.map +1 -1
  31. package/dist/sbmng/index.d.ts +2 -2
  32. package/dist/sbmng/index.d.ts.map +1 -1
  33. package/dist/sbmng/index.js +1 -1
  34. package/dist/sbmng/index.js.map +1 -1
  35. package/dist/sbmng/schemas.gen.d.ts +10 -99
  36. package/dist/sbmng/schemas.gen.d.ts.map +1 -1
  37. package/dist/sbmng/schemas.gen.js +11 -143
  38. package/dist/sbmng/schemas.gen.js.map +1 -1
  39. package/dist/sbmng/sdk.gen.d.ts +13 -23
  40. package/dist/sbmng/sdk.gen.d.ts.map +1 -1
  41. package/dist/sbmng/sdk.gen.js +16 -38
  42. package/dist/sbmng/sdk.gen.js.map +1 -1
  43. package/dist/sbmng/types.gen.d.ts +41 -157
  44. package/dist/sbmng/types.gen.d.ts.map +1 -1
  45. package/dist/supabase/auth-provider.d.ts +8 -1
  46. package/dist/supabase/auth-provider.d.ts.map +1 -1
  47. package/dist/supabase/context.d.ts +3844 -1
  48. package/dist/supabase/context.d.ts.map +1 -1
  49. package/dist/supabase/cursor-pagination.d.ts +4 -4
  50. package/dist/supabase/cursor-pagination.js +4 -4
  51. package/dist/supabase/schema/index.d.ts +1 -11
  52. package/dist/supabase/schema/index.d.ts.map +1 -1
  53. package/dist/supabase/schema/index.js +1 -19
  54. package/dist/supabase/schema/index.js.map +1 -1
  55. package/dist/supabase/schema/system-config.d.ts +12 -0
  56. package/dist/supabase/schema/system-config.d.ts.map +1 -0
  57. package/dist/supabase/schema/system-config.js +22 -0
  58. package/dist/supabase/schema/system-config.js.map +1 -0
  59. package/dist/supabase/supabase-client.d.ts +25 -591
  60. package/dist/supabase/supabase-client.d.ts.map +1 -1
  61. package/dist/supabase/supabase.d.ts +59 -1191
  62. package/dist/supabase/supabase.d.ts.map +1 -1
  63. package/dist/supabase/use-sb-query/build-query-opts.d.ts +6 -2
  64. package/dist/supabase/use-sb-query/build-query-opts.d.ts.map +1 -1
  65. package/dist/supabase/use-sb-query/build-query-opts.js +8 -4
  66. package/dist/supabase/use-sb-query/build-query-opts.js.map +1 -1
  67. package/dist/supabase/use-sb-query/use-query.d.ts +9 -6
  68. package/dist/supabase/use-sb-query/use-query.d.ts.map +1 -1
  69. package/dist/supabase/use-sb-query/use-query.js.map +1 -1
  70. package/dist/supabase/use-sb-query/use-rpc-mutation.d.ts +8 -8
  71. package/dist/supabase/use-sb-query/use-rpc-mutation.js +8 -8
  72. package/dist/supabase/use-sb-query/use-rpc-query.d.ts +25 -17
  73. package/dist/supabase/use-sb-query/use-rpc-query.d.ts.map +1 -1
  74. package/dist/supabase/use-sb-query/use-rpc-query.js +48 -26
  75. package/dist/supabase/use-sb-query/use-rpc-query.js.map +1 -1
  76. package/dist/types/contracts.d.ts +63 -0
  77. package/dist/types/contracts.d.ts.map +1 -0
  78. package/dist/types/contracts.js +17 -0
  79. package/dist/types/contracts.js.map +1 -0
  80. package/dist/types/database.schemas.d.ts +94 -786
  81. package/dist/types/database.schemas.d.ts.map +1 -1
  82. package/dist/types/database.schemas.js +30 -474
  83. package/dist/types/database.schemas.js.map +1 -1
  84. package/dist/types/database.types.d.ts +25 -596
  85. package/dist/types/database.types.d.ts.map +1 -1
  86. package/dist/types/database.types.js +0 -10
  87. package/dist/types/database.types.js.map +1 -1
  88. package/dist/types/index.d.ts +22 -67
  89. package/dist/types/index.d.ts.map +1 -1
  90. package/dist/types/index.js +16 -5
  91. package/dist/types/index.js.map +1 -1
  92. package/package.json +17 -26
  93. package/dist/adk/api/client.d.ts +0 -9
  94. package/dist/adk/api/client.d.ts.map +0 -1
  95. package/dist/adk/api/client.js +0 -39
  96. package/dist/adk/api/client.js.map +0 -1
  97. package/dist/adk/core/constants/tool-icons.d.ts +0 -21
  98. package/dist/adk/core/constants/tool-icons.d.ts.map +0 -1
  99. package/dist/adk/core/constants/tool-icons.js +0 -47
  100. package/dist/adk/core/constants/tool-icons.js.map +0 -1
  101. package/dist/adk/core/models/AgentBuilder.d.ts +0 -77
  102. package/dist/adk/core/models/AgentBuilder.d.ts.map +0 -1
  103. package/dist/adk/core/models/AgentBuilder.js +0 -18
  104. package/dist/adk/core/models/AgentBuilder.js.map +0 -1
  105. package/dist/adk/core/models/AgentRunRequest.d.ts +0 -37
  106. package/dist/adk/core/models/AgentRunRequest.d.ts.map +0 -1
  107. package/dist/adk/core/models/AgentRunRequest.js +0 -18
  108. package/dist/adk/core/models/AgentRunRequest.js.map +0 -1
  109. package/dist/adk/core/models/Eval.d.ts +0 -55
  110. package/dist/adk/core/models/Eval.d.ts.map +0 -1
  111. package/dist/adk/core/models/Eval.js +0 -27
  112. package/dist/adk/core/models/Eval.js.map +0 -1
  113. package/dist/adk/core/models/LiveRequest.d.ts +0 -23
  114. package/dist/adk/core/models/LiveRequest.d.ts.map +0 -1
  115. package/dist/adk/core/models/LiveRequest.js +0 -18
  116. package/dist/adk/core/models/LiveRequest.js.map +0 -1
  117. package/dist/adk/core/models/RuntimeConfig.d.ts +0 -32
  118. package/dist/adk/core/models/RuntimeConfig.d.ts.map +0 -1
  119. package/dist/adk/core/models/RuntimeConfig.js +0 -18
  120. package/dist/adk/core/models/RuntimeConfig.js.map +0 -1
  121. package/dist/adk/core/models/Session.d.ts +0 -117
  122. package/dist/adk/core/models/Session.d.ts.map +0 -1
  123. package/dist/adk/core/models/Session.js +0 -31
  124. package/dist/adk/core/models/Session.js.map +0 -1
  125. package/dist/adk/core/models/Trace.d.ts +0 -40
  126. package/dist/adk/core/models/Trace.d.ts.map +0 -1
  127. package/dist/adk/core/models/Trace.js +0 -2
  128. package/dist/adk/core/models/Trace.js.map +0 -1
  129. package/dist/adk/core/models/types.d.ts +0 -338
  130. package/dist/adk/core/models/types.d.ts.map +0 -1
  131. package/dist/adk/core/models/types.js +0 -189
  132. package/dist/adk/core/models/types.js.map +0 -1
  133. package/dist/cloud-account/platform-configs.d.ts +0 -64
  134. package/dist/cloud-account/platform-configs.d.ts.map +0 -1
  135. package/dist/cloud-account/platform-configs.js +0 -44
  136. package/dist/cloud-account/platform-configs.js.map +0 -1
  137. package/dist/lib/aisdk/types.d.ts +0 -3
  138. package/dist/lib/aisdk/types.d.ts.map +0 -1
  139. package/dist/lib/aisdk/types.js +0 -5
  140. package/dist/lib/aisdk/types.js.map +0 -1
  141. package/dist/lib/logger/index.d.ts +0 -22
  142. package/dist/lib/logger/index.d.ts.map +0 -1
  143. package/dist/lib/logger/index.js +0 -7
  144. package/dist/lib/logger/index.js.map +0 -1
  145. package/dist/lib/schema.d.ts +0 -53
  146. package/dist/lib/schema.d.ts.map +0 -1
  147. package/dist/lib/schema.js +0 -37
  148. package/dist/lib/schema.js.map +0 -1
  149. package/dist/lib/utils.d.ts +0 -14
  150. package/dist/lib/utils.d.ts.map +0 -1
  151. package/dist/lib/utils.js +0 -45
  152. package/dist/lib/utils.js.map +0 -1
  153. package/dist/mtgate_api/@tanstack/react-query.gen.d.ts +0 -166
  154. package/dist/mtgate_api/@tanstack/react-query.gen.d.ts.map +0 -1
  155. package/dist/mtgate_api/@tanstack/react-query.gen.js +0 -118
  156. package/dist/mtgate_api/@tanstack/react-query.gen.js.map +0 -1
  157. package/dist/mtgate_api/client/client.gen.d.ts +0 -3
  158. package/dist/mtgate_api/client/client.gen.d.ts.map +0 -1
  159. package/dist/mtgate_api/client/client.gen.js +0 -236
  160. package/dist/mtgate_api/client/client.gen.js.map +0 -1
  161. package/dist/mtgate_api/client/index.d.ts +0 -9
  162. package/dist/mtgate_api/client/index.d.ts.map +0 -1
  163. package/dist/mtgate_api/client/index.js +0 -7
  164. package/dist/mtgate_api/client/index.js.map +0 -1
  165. package/dist/mtgate_api/client/types.gen.d.ts +0 -118
  166. package/dist/mtgate_api/client/types.gen.d.ts.map +0 -1
  167. package/dist/mtgate_api/client/types.gen.js +0 -3
  168. package/dist/mtgate_api/client/types.gen.js.map +0 -1
  169. package/dist/mtgate_api/client/utils.gen.d.ts +0 -34
  170. package/dist/mtgate_api/client/utils.gen.d.ts.map +0 -1
  171. package/dist/mtgate_api/client/utils.gen.js +0 -232
  172. package/dist/mtgate_api/client/utils.gen.js.map +0 -1
  173. package/dist/mtgate_api/client.gen.d.ts +0 -13
  174. package/dist/mtgate_api/client.gen.d.ts.map +0 -1
  175. package/dist/mtgate_api/client.gen.js +0 -4
  176. package/dist/mtgate_api/client.gen.js.map +0 -1
  177. package/dist/mtgate_api/core/auth.gen.d.ts +0 -19
  178. package/dist/mtgate_api/core/auth.gen.d.ts.map +0 -1
  179. package/dist/mtgate_api/core/auth.gen.js +0 -15
  180. package/dist/mtgate_api/core/auth.gen.js.map +0 -1
  181. package/dist/mtgate_api/core/bodySerializer.gen.d.ts +0 -26
  182. package/dist/mtgate_api/core/bodySerializer.gen.d.ts.map +0 -1
  183. package/dist/mtgate_api/core/bodySerializer.gen.js +0 -58
  184. package/dist/mtgate_api/core/bodySerializer.gen.js.map +0 -1
  185. package/dist/mtgate_api/core/params.gen.d.ts +0 -44
  186. package/dist/mtgate_api/core/params.gen.d.ts.map +0 -1
  187. package/dist/mtgate_api/core/params.gen.js +0 -101
  188. package/dist/mtgate_api/core/params.gen.js.map +0 -1
  189. package/dist/mtgate_api/core/pathSerializer.gen.d.ts +0 -34
  190. package/dist/mtgate_api/core/pathSerializer.gen.d.ts.map +0 -1
  191. package/dist/mtgate_api/core/pathSerializer.gen.js +0 -115
  192. package/dist/mtgate_api/core/pathSerializer.gen.js.map +0 -1
  193. package/dist/mtgate_api/core/queryKeySerializer.gen.d.ts +0 -19
  194. package/dist/mtgate_api/core/queryKeySerializer.gen.d.ts.map +0 -1
  195. package/dist/mtgate_api/core/queryKeySerializer.gen.js +0 -100
  196. package/dist/mtgate_api/core/queryKeySerializer.gen.js.map +0 -1
  197. package/dist/mtgate_api/core/serverSentEvents.gen.d.ts +0 -72
  198. package/dist/mtgate_api/core/serverSentEvents.gen.d.ts.map +0 -1
  199. package/dist/mtgate_api/core/serverSentEvents.gen.js +0 -138
  200. package/dist/mtgate_api/core/serverSentEvents.gen.js.map +0 -1
  201. package/dist/mtgate_api/core/types.gen.d.ts +0 -79
  202. package/dist/mtgate_api/core/types.gen.d.ts.map +0 -1
  203. package/dist/mtgate_api/core/types.gen.js +0 -3
  204. package/dist/mtgate_api/core/types.gen.js.map +0 -1
  205. package/dist/mtgate_api/core/utils.gen.d.ts +0 -20
  206. package/dist/mtgate_api/core/utils.gen.d.ts.map +0 -1
  207. package/dist/mtgate_api/core/utils.gen.js +0 -88
  208. package/dist/mtgate_api/core/utils.gen.js.map +0 -1
  209. package/dist/mtgate_api/index.d.ts +0 -3
  210. package/dist/mtgate_api/index.d.ts.map +0 -1
  211. package/dist/mtgate_api/index.js +0 -3
  212. package/dist/mtgate_api/index.js.map +0 -1
  213. package/dist/mtgate_api/schemas.gen.d.ts +0 -233
  214. package/dist/mtgate_api/schemas.gen.d.ts.map +0 -1
  215. package/dist/mtgate_api/schemas.gen.js +0 -277
  216. package/dist/mtgate_api/schemas.gen.js.map +0 -1
  217. package/dist/mtgate_api/sdk.gen.d.ts +0 -23
  218. package/dist/mtgate_api/sdk.gen.d.ts.map +0 -1
  219. package/dist/mtgate_api/sdk.gen.js +0 -31
  220. package/dist/mtgate_api/sdk.gen.js.map +0 -1
  221. package/dist/mtgate_api/types.gen.d.ts +0 -203
  222. package/dist/mtgate_api/types.gen.d.ts.map +0 -1
  223. package/dist/mtgate_api/types.gen.js +0 -3
  224. package/dist/mtgate_api/types.gen.js.map +0 -1
  225. package/dist/mtgate_api/zod.gen.d.ts +0 -321
  226. package/dist/mtgate_api/zod.gen.d.ts.map +0 -1
  227. package/dist/mtgate_api/zod.gen.js +0 -148
  228. package/dist/mtgate_api/zod.gen.js.map +0 -1
  229. package/dist/mtmai_api/@tanstack/react-query.gen.d.ts +0 -949
  230. package/dist/mtmai_api/@tanstack/react-query.gen.d.ts.map +0 -1
  231. package/dist/mtmai_api/@tanstack/react-query.gen.js +0 -917
  232. package/dist/mtmai_api/@tanstack/react-query.gen.js.map +0 -1
  233. package/dist/mtmai_api/client/client.gen.d.ts +0 -3
  234. package/dist/mtmai_api/client/client.gen.d.ts.map +0 -1
  235. package/dist/mtmai_api/client/client.gen.js +0 -236
  236. package/dist/mtmai_api/client/client.gen.js.map +0 -1
  237. package/dist/mtmai_api/client/index.d.ts +0 -9
  238. package/dist/mtmai_api/client/index.d.ts.map +0 -1
  239. package/dist/mtmai_api/client/index.js +0 -7
  240. package/dist/mtmai_api/client/index.js.map +0 -1
  241. package/dist/mtmai_api/client/types.gen.d.ts +0 -118
  242. package/dist/mtmai_api/client/types.gen.d.ts.map +0 -1
  243. package/dist/mtmai_api/client/types.gen.js +0 -3
  244. package/dist/mtmai_api/client/types.gen.js.map +0 -1
  245. package/dist/mtmai_api/client/utils.gen.d.ts +0 -34
  246. package/dist/mtmai_api/client/utils.gen.d.ts.map +0 -1
  247. package/dist/mtmai_api/client/utils.gen.js +0 -232
  248. package/dist/mtmai_api/client/utils.gen.js.map +0 -1
  249. package/dist/mtmai_api/client.gen.d.ts +0 -13
  250. package/dist/mtmai_api/client.gen.d.ts.map +0 -1
  251. package/dist/mtmai_api/client.gen.js +0 -4
  252. package/dist/mtmai_api/client.gen.js.map +0 -1
  253. package/dist/mtmai_api/core/auth.gen.d.ts +0 -19
  254. package/dist/mtmai_api/core/auth.gen.d.ts.map +0 -1
  255. package/dist/mtmai_api/core/auth.gen.js +0 -15
  256. package/dist/mtmai_api/core/auth.gen.js.map +0 -1
  257. package/dist/mtmai_api/core/bodySerializer.gen.d.ts +0 -26
  258. package/dist/mtmai_api/core/bodySerializer.gen.d.ts.map +0 -1
  259. package/dist/mtmai_api/core/bodySerializer.gen.js +0 -58
  260. package/dist/mtmai_api/core/bodySerializer.gen.js.map +0 -1
  261. package/dist/mtmai_api/core/params.gen.d.ts +0 -44
  262. package/dist/mtmai_api/core/params.gen.d.ts.map +0 -1
  263. package/dist/mtmai_api/core/params.gen.js +0 -101
  264. package/dist/mtmai_api/core/params.gen.js.map +0 -1
  265. package/dist/mtmai_api/core/pathSerializer.gen.d.ts +0 -34
  266. package/dist/mtmai_api/core/pathSerializer.gen.d.ts.map +0 -1
  267. package/dist/mtmai_api/core/pathSerializer.gen.js +0 -115
  268. package/dist/mtmai_api/core/pathSerializer.gen.js.map +0 -1
  269. package/dist/mtmai_api/core/queryKeySerializer.gen.d.ts +0 -19
  270. package/dist/mtmai_api/core/queryKeySerializer.gen.d.ts.map +0 -1
  271. package/dist/mtmai_api/core/queryKeySerializer.gen.js +0 -100
  272. package/dist/mtmai_api/core/queryKeySerializer.gen.js.map +0 -1
  273. package/dist/mtmai_api/core/serverSentEvents.gen.d.ts +0 -72
  274. package/dist/mtmai_api/core/serverSentEvents.gen.d.ts.map +0 -1
  275. package/dist/mtmai_api/core/serverSentEvents.gen.js +0 -138
  276. package/dist/mtmai_api/core/serverSentEvents.gen.js.map +0 -1
  277. package/dist/mtmai_api/core/types.gen.d.ts +0 -79
  278. package/dist/mtmai_api/core/types.gen.d.ts.map +0 -1
  279. package/dist/mtmai_api/core/types.gen.js +0 -3
  280. package/dist/mtmai_api/core/types.gen.js.map +0 -1
  281. package/dist/mtmai_api/core/utils.gen.d.ts +0 -20
  282. package/dist/mtmai_api/core/utils.gen.d.ts.map +0 -1
  283. package/dist/mtmai_api/core/utils.gen.js +0 -88
  284. package/dist/mtmai_api/core/utils.gen.js.map +0 -1
  285. package/dist/mtmai_api/index.d.ts +0 -3
  286. package/dist/mtmai_api/index.d.ts.map +0 -1
  287. package/dist/mtmai_api/index.js +0 -4
  288. package/dist/mtmai_api/index.js.map +0 -1
  289. package/dist/mtmai_api/schemas.gen.d.ts +0 -7721
  290. package/dist/mtmai_api/schemas.gen.d.ts.map +0 -1
  291. package/dist/mtmai_api/schemas.gen.js +0 -9774
  292. package/dist/mtmai_api/schemas.gen.js.map +0 -1
  293. package/dist/mtmai_api/sdk.gen.d.ts +0 -282
  294. package/dist/mtmai_api/sdk.gen.d.ts.map +0 -1
  295. package/dist/mtmai_api/sdk.gen.js +0 -404
  296. package/dist/mtmai_api/sdk.gen.js.map +0 -1
  297. package/dist/mtmai_api/types.gen.d.ts +0 -7152
  298. package/dist/mtmai_api/types.gen.d.ts.map +0 -1
  299. package/dist/mtmai_api/types.gen.js +0 -253
  300. package/dist/mtmai_api/types.gen.js.map +0 -1
  301. package/dist/mtmai_api/zod.gen.d.ts +0 -55827
  302. package/dist/mtmai_api/zod.gen.d.ts.map +0 -1
  303. package/dist/mtmai_api/zod.gen.js +0 -4805
  304. package/dist/mtmai_api/zod.gen.js.map +0 -1
  305. package/dist/openclaw/client-info.d.ts +0 -38
  306. package/dist/openclaw/client-info.d.ts.map +0 -1
  307. package/dist/openclaw/client-info.js +0 -38
  308. package/dist/openclaw/client-info.js.map +0 -1
  309. package/dist/openclaw/device-auth-utils.d.ts +0 -12
  310. package/dist/openclaw/device-auth-utils.d.ts.map +0 -1
  311. package/dist/openclaw/device-auth-utils.js +0 -16
  312. package/dist/openclaw/device-auth-utils.js.map +0 -1
  313. package/dist/openclaw/device-auth.d.ts +0 -21
  314. package/dist/openclaw/device-auth.d.ts.map +0 -1
  315. package/dist/openclaw/device-auth.js +0 -87
  316. package/dist/openclaw/device-auth.js.map +0 -1
  317. package/dist/openclaw/device-identity.d.ts +0 -8
  318. package/dist/openclaw/device-identity.d.ts.map +0 -1
  319. package/dist/openclaw/device-identity.js +0 -87
  320. package/dist/openclaw/device-identity.js.map +0 -1
  321. package/dist/openclaw/gateway.d.ts +0 -100
  322. package/dist/openclaw/gateway.d.ts.map +0 -1
  323. package/dist/openclaw/gateway.js +0 -302
  324. package/dist/openclaw/gateway.js.map +0 -1
  325. package/dist/openclaw/types.d.ts +0 -473
  326. package/dist/openclaw/types.d.ts.map +0 -1
  327. package/dist/openclaw/types.js +0 -2
  328. package/dist/openclaw/types.js.map +0 -1
  329. package/dist/supabase/use-sb-query/prefetch.d.ts +0 -10
  330. package/dist/supabase/use-sb-query/prefetch.d.ts.map +0 -1
  331. package/dist/supabase/use-sb-query/prefetch.js +0 -14
  332. package/dist/supabase/use-sb-query/prefetch.js.map +0 -1
  333. package/src/adk/api/client.ts +0 -46
  334. package/src/adk/core/constants/tool-icons.ts +0 -51
  335. package/src/adk/core/models/AgentBuilder.ts +0 -80
  336. package/src/adk/core/models/AgentRunRequest.ts +0 -33
  337. package/src/adk/core/models/Eval.ts +0 -70
  338. package/src/adk/core/models/LiveRequest.ts +0 -23
  339. package/src/adk/core/models/RuntimeConfig.ts +0 -33
  340. package/src/adk/core/models/Session.ts +0 -52
  341. package/src/adk/core/models/Trace.ts +0 -42
  342. package/src/adk/core/models/types.ts +0 -255
  343. package/src/cloud-account/platform-configs.ts +0 -73
  344. package/src/gomtmapi/@tanstack/react-query.gen.ts +0 -575
  345. package/src/gomtmapi/client/client.gen.ts +0 -311
  346. package/src/gomtmapi/client/index.ts +0 -25
  347. package/src/gomtmapi/client/types.gen.ts +0 -241
  348. package/src/gomtmapi/client/utils.gen.ts +0 -332
  349. package/src/gomtmapi/client.gen.ts +0 -16
  350. package/src/gomtmapi/core/auth.gen.ts +0 -42
  351. package/src/gomtmapi/core/bodySerializer.gen.ts +0 -100
  352. package/src/gomtmapi/core/params.gen.ts +0 -176
  353. package/src/gomtmapi/core/pathSerializer.gen.ts +0 -181
  354. package/src/gomtmapi/core/queryKeySerializer.gen.ts +0 -136
  355. package/src/gomtmapi/core/serverSentEvents.gen.ts +0 -266
  356. package/src/gomtmapi/core/types.gen.ts +0 -118
  357. package/src/gomtmapi/core/utils.gen.ts +0 -143
  358. package/src/gomtmapi/index.ts +0 -4
  359. package/src/gomtmapi/schemas.gen.ts +0 -596
  360. package/src/gomtmapi/sdk.gen.ts +0 -399
  361. package/src/gomtmapi/types.gen.ts +0 -962
  362. package/src/gomtmapi/zod.gen.ts +0 -507
  363. package/src/index.ts +0 -5
  364. package/src/lib/aisdk/types.ts +0 -8
  365. package/src/lib/logger/index.ts +0 -8
  366. package/src/lib/schema.ts +0 -50
  367. package/src/lib/utils.ts +0 -54
  368. package/src/mtgate_api/@tanstack/react-query.gen.ts +0 -142
  369. package/src/mtgate_api/client/client.gen.ts +0 -311
  370. package/src/mtgate_api/client/index.ts +0 -25
  371. package/src/mtgate_api/client/types.gen.ts +0 -241
  372. package/src/mtgate_api/client/utils.gen.ts +0 -332
  373. package/src/mtgate_api/client.gen.ts +0 -16
  374. package/src/mtgate_api/core/auth.gen.ts +0 -42
  375. package/src/mtgate_api/core/bodySerializer.gen.ts +0 -100
  376. package/src/mtgate_api/core/params.gen.ts +0 -176
  377. package/src/mtgate_api/core/pathSerializer.gen.ts +0 -181
  378. package/src/mtgate_api/core/queryKeySerializer.gen.ts +0 -136
  379. package/src/mtgate_api/core/serverSentEvents.gen.ts +0 -266
  380. package/src/mtgate_api/core/types.gen.ts +0 -118
  381. package/src/mtgate_api/core/utils.gen.ts +0 -143
  382. package/src/mtgate_api/index.ts +0 -4
  383. package/src/mtgate_api/schemas.gen.ts +0 -290
  384. package/src/mtgate_api/sdk.gen.ts +0 -54
  385. package/src/mtgate_api/types.gen.ts +0 -239
  386. package/src/mtgate_api/zod.gen.ts +0 -176
  387. package/src/mtmai_api/@tanstack/react-query.gen.ts +0 -1010
  388. package/src/mtmai_api/client/client.gen.ts +0 -311
  389. package/src/mtmai_api/client/index.ts +0 -25
  390. package/src/mtmai_api/client/types.gen.ts +0 -241
  391. package/src/mtmai_api/client/utils.gen.ts +0 -332
  392. package/src/mtmai_api/client.gen.ts +0 -16
  393. package/src/mtmai_api/core/auth.gen.ts +0 -42
  394. package/src/mtmai_api/core/bodySerializer.gen.ts +0 -100
  395. package/src/mtmai_api/core/params.gen.ts +0 -176
  396. package/src/mtmai_api/core/pathSerializer.gen.ts +0 -181
  397. package/src/mtmai_api/core/queryKeySerializer.gen.ts +0 -136
  398. package/src/mtmai_api/core/serverSentEvents.gen.ts +0 -266
  399. package/src/mtmai_api/core/types.gen.ts +0 -118
  400. package/src/mtmai_api/core/utils.gen.ts +0 -143
  401. package/src/mtmai_api/index.ts +0 -4
  402. package/src/mtmai_api/schemas.gen.ts +0 -9980
  403. package/src/mtmai_api/sdk.gen.ts +0 -471
  404. package/src/mtmai_api/types.gen.ts +0 -7609
  405. package/src/mtmai_api/zod.gen.ts +0 -5101
  406. package/src/openclaw/client-info.ts +0 -54
  407. package/src/openclaw/device-auth-utils.ts +0 -26
  408. package/src/openclaw/device-auth.ts +0 -99
  409. package/src/openclaw/device-identity.ts +0 -108
  410. package/src/openclaw/gateway.ts +0 -392
  411. package/src/openclaw/types.ts +0 -518
  412. package/src/sbmng/@tanstack/react-query.gen.ts +0 -3017
  413. package/src/sbmng/client/client.gen.ts +0 -311
  414. package/src/sbmng/client/index.ts +0 -25
  415. package/src/sbmng/client/types.gen.ts +0 -241
  416. package/src/sbmng/client/utils.gen.ts +0 -332
  417. package/src/sbmng/client.gen.ts +0 -16
  418. package/src/sbmng/core/auth.gen.ts +0 -42
  419. package/src/sbmng/core/bodySerializer.gen.ts +0 -100
  420. package/src/sbmng/core/params.gen.ts +0 -176
  421. package/src/sbmng/core/pathSerializer.gen.ts +0 -181
  422. package/src/sbmng/core/queryKeySerializer.gen.ts +0 -136
  423. package/src/sbmng/core/serverSentEvents.gen.ts +0 -266
  424. package/src/sbmng/core/types.gen.ts +0 -118
  425. package/src/sbmng/core/utils.gen.ts +0 -143
  426. package/src/sbmng/index.ts +0 -4
  427. package/src/sbmng/schemas.gen.ts +0 -9805
  428. package/src/sbmng/sdk.gen.ts +0 -1780
  429. package/src/sbmng/types.gen.ts +0 -8016
  430. package/src/supabase/auth-provider.tsx +0 -67
  431. package/src/supabase/context.tsx +0 -51
  432. package/src/supabase/cursor-pagination.ts +0 -155
  433. package/src/supabase/schema/browser.ts +0 -45
  434. package/src/supabase/schema/index.ts +0 -25
  435. package/src/supabase/supabase-client.ts +0 -30
  436. package/src/supabase/supabase.ts +0 -67
  437. package/src/supabase/use-sb-query/build-query-opts.ts +0 -56
  438. package/src/supabase/use-sb-query/key.ts +0 -57
  439. package/src/supabase/use-sb-query/prefetch.ts +0 -59
  440. package/src/supabase/use-sb-query/use-query.ts +0 -340
  441. package/src/supabase/use-sb-query/use-rpc-mutation.ts +0 -83
  442. package/src/supabase/use-sb-query/use-rpc-query.ts +0 -231
  443. package/src/supabase/utils.ts +0 -75
  444. package/src/types/database.schemas.ts +0 -4378
  445. package/src/types/database.types.ts +0 -4288
  446. package/src/types/index.ts +0 -102
@@ -1,54 +0,0 @@
1
- export const GATEWAY_CLIENT_IDS = {
2
- WEBCHAT_UI: "webchat-ui",
3
- CONTROL_UI: "openclaw-control-ui",
4
- WEBCHAT: "webchat",
5
- CLI: "cli",
6
- GATEWAY_CLIENT: "gateway-client",
7
- MACOS_APP: "openclaw-macos",
8
- IOS_APP: "openclaw-ios",
9
- ANDROID_APP: "openclaw-android",
10
- NODE_HOST: "node-host",
11
- TEST: "test",
12
- FINGERPRINT: "fingerprint",
13
- PROBE: "openclaw-probe",
14
- } as const;
15
-
16
- export type GatewayClientId = (typeof GATEWAY_CLIENT_IDS)[keyof typeof GATEWAY_CLIENT_IDS];
17
-
18
- export const GATEWAY_CLIENT_MODES = {
19
- WEBCHAT: "webchat",
20
- CLI: "cli",
21
- UI: "ui",
22
- BACKEND: "backend",
23
- NODE: "node",
24
- PROBE: "probe",
25
- TEST: "test",
26
- } as const;
27
-
28
- export type GatewayClientMode = (typeof GATEWAY_CLIENT_MODES)[keyof typeof GATEWAY_CLIENT_MODES];
29
-
30
- export type GatewayClientInfo = {
31
- id: GatewayClientId;
32
- displayName?: string;
33
- version: string;
34
- platform: string;
35
- deviceFamily?: string;
36
- modelIdentifier?: string;
37
- mode: GatewayClientMode;
38
- instanceId?: string;
39
- };
40
-
41
- const GATEWAY_CLIENT_ID_SET = new Set<GatewayClientId>(Object.values(GATEWAY_CLIENT_IDS));
42
- const GATEWAY_CLIENT_MODE_SET = new Set<GatewayClientMode>(Object.values(GATEWAY_CLIENT_MODES));
43
-
44
- export function normalizeGatewayClientId(raw?: string | null): GatewayClientId | undefined {
45
- const normalized = raw?.trim().toLowerCase();
46
- if (!normalized) return undefined;
47
- return GATEWAY_CLIENT_ID_SET.has(normalized as GatewayClientId) ? (normalized as GatewayClientId) : undefined;
48
- }
49
-
50
- export function normalizeGatewayClientMode(raw?: string | null): GatewayClientMode | undefined {
51
- const normalized = raw?.trim().toLowerCase();
52
- if (!normalized) return undefined;
53
- return GATEWAY_CLIENT_MODE_SET.has(normalized as GatewayClientMode) ? (normalized as GatewayClientMode) : undefined;
54
- }
@@ -1,26 +0,0 @@
1
- export interface DeviceAuthPayloadParams {
2
- deviceId: string;
3
- clientId: string;
4
- clientMode: string;
5
- role: string;
6
- scopes: string[];
7
- signedAtMs: number;
8
- token?: string | null;
9
- nonce: string;
10
- }
11
-
12
- export function buildDeviceAuthPayload(params: DeviceAuthPayloadParams) {
13
- const scopes = params.scopes.join(",");
14
- const token = params.token ?? "";
15
- return [
16
- "v2",
17
- params.deviceId,
18
- params.clientId,
19
- params.clientMode,
20
- params.role,
21
- scopes,
22
- String(params.signedAtMs),
23
- token,
24
- params.nonce,
25
- ].join("|");
26
- }
@@ -1,99 +0,0 @@
1
- export type DeviceAuthEntry = {
2
- token: string;
3
- role: string;
4
- scopes: string[];
5
- updatedAtMs: number;
6
- };
7
-
8
- type DeviceAuthStore = {
9
- version: 1;
10
- deviceId: string;
11
- tokens: Record<string, DeviceAuthEntry>;
12
- };
13
-
14
- const STORAGE_KEY = "openclaw.device.auth.v1";
15
-
16
- function normalizeRole(role: string): string {
17
- return role.trim();
18
- }
19
-
20
- function normalizeScopes(scopes: string[] | undefined): string[] {
21
- if (!Array.isArray(scopes)) return [];
22
- const out = new Set<string>();
23
- for (const scope of scopes) {
24
- const trimmed = scope.trim();
25
- if (trimmed) out.add(trimmed);
26
- }
27
- return [...out].sort();
28
- }
29
-
30
- function readStore(): DeviceAuthStore | null {
31
- try {
32
- const raw = window.localStorage.getItem(STORAGE_KEY);
33
- if (!raw) return null;
34
- const parsed = JSON.parse(raw) as DeviceAuthStore;
35
- if (!parsed || parsed.version !== 1) return null;
36
- if (!parsed.deviceId || typeof parsed.deviceId !== "string") return null;
37
- if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
38
- return parsed;
39
- } catch {
40
- return null;
41
- }
42
- }
43
-
44
- function writeStore(store: DeviceAuthStore) {
45
- try {
46
- window.localStorage.setItem(STORAGE_KEY, JSON.stringify(store));
47
- } catch {
48
- // best-effort
49
- }
50
- }
51
-
52
- export function loadDeviceAuthToken(params: { deviceId: string; role: string }): DeviceAuthEntry | null {
53
- const store = readStore();
54
- if (!store || store.deviceId !== params.deviceId) return null;
55
- const role = normalizeRole(params.role);
56
- const entry = store.tokens[role];
57
- if (!entry || typeof entry.token !== "string") return null;
58
- return entry;
59
- }
60
-
61
- export function storeDeviceAuthToken(params: {
62
- deviceId: string;
63
- role: string;
64
- token: string;
65
- scopes?: string[];
66
- }): DeviceAuthEntry {
67
- const role = normalizeRole(params.role);
68
- const next: DeviceAuthStore = {
69
- version: 1,
70
- deviceId: params.deviceId,
71
- tokens: {},
72
- };
73
- const existing = readStore();
74
- if (existing && existing.deviceId === params.deviceId) {
75
- next.tokens = { ...existing.tokens };
76
- }
77
- const entry: DeviceAuthEntry = {
78
- token: params.token,
79
- role,
80
- scopes: normalizeScopes(params.scopes),
81
- updatedAtMs: Date.now(),
82
- };
83
- next.tokens[role] = entry;
84
- writeStore(next);
85
- return entry;
86
- }
87
-
88
- export function clearDeviceAuthToken(params: { deviceId: string; role: string }) {
89
- const store = readStore();
90
- if (!store || store.deviceId !== params.deviceId) return;
91
- const role = normalizeRole(params.role);
92
- if (!store.tokens[role]) return;
93
- const next = {
94
- ...store,
95
- tokens: { ...store.tokens },
96
- };
97
- delete next.tokens[role];
98
- writeStore(next);
99
- }
@@ -1,108 +0,0 @@
1
- import { getPublicKeyAsync, signAsync, utils } from "@noble/ed25519";
2
-
3
- type StoredIdentity = {
4
- version: 1;
5
- deviceId: string;
6
- publicKey: string;
7
- privateKey: string;
8
- createdAtMs: number;
9
- };
10
-
11
- export type DeviceIdentity = {
12
- deviceId: string;
13
- publicKey: string;
14
- privateKey: string;
15
- };
16
-
17
- const STORAGE_KEY = "openclaw-device-identity-v1";
18
-
19
- function base64UrlEncode(bytes: Uint8Array): string {
20
- let binary = "";
21
- for (const byte of bytes) binary += String.fromCharCode(byte);
22
- return btoa(binary).replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/g, "");
23
- }
24
-
25
- function base64UrlDecode(input: string): Uint8Array {
26
- const normalized = input.replaceAll("-", "+").replaceAll("_", "/");
27
- const padded = normalized + "=".repeat((4 - (normalized.length % 4)) % 4);
28
- const binary = atob(padded);
29
- const out = new Uint8Array(binary.length);
30
- for (let i = 0; i < binary.length; i += 1) out[i] = binary.charCodeAt(i);
31
- return out;
32
- }
33
-
34
- function bytesToHex(bytes: Uint8Array): string {
35
- return Array.from(bytes)
36
- .map((b) => b.toString(16).padStart(2, "0"))
37
- .join("");
38
- }
39
-
40
- async function fingerprintPublicKey(publicKey: Uint8Array): Promise<string> {
41
- const hash = await crypto.subtle.digest("SHA-256", publicKey.slice().buffer);
42
- return bytesToHex(new Uint8Array(hash));
43
- }
44
-
45
- async function generateIdentity(): Promise<DeviceIdentity> {
46
- const privateKey = utils.randomSecretKey();
47
- const publicKey = await getPublicKeyAsync(privateKey);
48
- const deviceId = await fingerprintPublicKey(publicKey);
49
- return {
50
- deviceId,
51
- publicKey: base64UrlEncode(publicKey),
52
- privateKey: base64UrlEncode(privateKey),
53
- };
54
- }
55
-
56
- export async function loadOrCreateDeviceIdentity(): Promise<DeviceIdentity> {
57
- try {
58
- const raw = localStorage.getItem(STORAGE_KEY);
59
- if (raw) {
60
- const parsed = JSON.parse(raw) as StoredIdentity;
61
- if (
62
- parsed?.version === 1 &&
63
- typeof parsed.deviceId === "string" &&
64
- typeof parsed.publicKey === "string" &&
65
- typeof parsed.privateKey === "string"
66
- ) {
67
- const derivedId = await fingerprintPublicKey(base64UrlDecode(parsed.publicKey));
68
- if (derivedId !== parsed.deviceId) {
69
- const updated: StoredIdentity = {
70
- ...parsed,
71
- deviceId: derivedId,
72
- };
73
- localStorage.setItem(STORAGE_KEY, JSON.stringify(updated));
74
- return {
75
- deviceId: derivedId,
76
- publicKey: parsed.publicKey,
77
- privateKey: parsed.privateKey,
78
- };
79
- }
80
- return {
81
- deviceId: parsed.deviceId,
82
- publicKey: parsed.publicKey,
83
- privateKey: parsed.privateKey,
84
- };
85
- }
86
- }
87
- } catch {
88
- // fall through to regenerate
89
- }
90
-
91
- const identity = await generateIdentity();
92
- const stored: StoredIdentity = {
93
- version: 1,
94
- deviceId: identity.deviceId,
95
- publicKey: identity.publicKey,
96
- privateKey: identity.privateKey,
97
- createdAtMs: Date.now(),
98
- };
99
- localStorage.setItem(STORAGE_KEY, JSON.stringify(stored));
100
- return identity;
101
- }
102
-
103
- export async function signDevicePayload(privateKeyBase64Url: string, payload: string) {
104
- const key = base64UrlDecode(privateKeyBase64Url);
105
- const data = new TextEncoder().encode(payload);
106
- const sig = await signAsync(data, key);
107
- return base64UrlEncode(sig);
108
- }
@@ -1,392 +0,0 @@
1
- import { GATEWAY_CLIENT_MODES, GATEWAY_CLIENT_IDS, type GatewayClientId, type GatewayClientMode } from "./client-info";
2
- import type { DeviceIdentity } from "./device-identity";
3
- import { clearDeviceAuthToken, loadDeviceAuthToken, storeDeviceAuthToken } from "./device-auth";
4
-
5
- export type GatewayEventFrame = {
6
- type: "event";
7
- event: string;
8
- payload?: unknown;
9
- seq?: number;
10
- stateVersion?: { presence: number; health: number };
11
- };
12
-
13
- export type GatewayResponseFrame = {
14
- type: "res";
15
- id: string;
16
- ok: boolean;
17
- payload?: unknown;
18
- error?: { code: string; message: string; details?: unknown };
19
- };
20
-
21
- export type GatewayErrorInfo = {
22
- code: string;
23
- message: string;
24
- details?: unknown;
25
- };
26
-
27
- export type GatewayHelloOk = {
28
- type: "hello-ok";
29
- protocol: number;
30
- features?: { methods?: string[]; events?: string[] };
31
- snapshot?: unknown;
32
- auth?: {
33
- deviceToken?: string;
34
- role?: string;
35
- scopes?: string[];
36
- issuedAtMs?: number;
37
- };
38
- policy?: { tickIntervalMs?: number };
39
- };
40
-
41
- type Pending = {
42
- resolve: (value: unknown) => void;
43
- reject: (err: unknown) => void;
44
- };
45
-
46
- export type GatewayBrowserClientOptions = {
47
- url: string;
48
- token?: string;
49
- password?: string;
50
- deviceIdentity?: DeviceIdentity | null;
51
- clientName?: GatewayClientId;
52
- clientVersion?: string;
53
- platform?: string;
54
- mode?: GatewayClientMode;
55
- instanceId?: string;
56
- onHello?: (hello: GatewayHelloOk) => void;
57
- onEvent?: (evt: GatewayEventFrame) => void;
58
- onClose?: (info: { code: number; reason: string; error?: GatewayErrorInfo | null }) => void;
59
- onGap?: (info: { expected: number; received: number }) => void;
60
- autoReconnect?: boolean;
61
- };
62
-
63
- // 4008 = application-defined code (browser rejects 1008 "Policy Violation")
64
- const CONNECT_FAILED_CLOSE_CODE = 4008;
65
-
66
- export class GatewayRequestError extends Error {
67
- readonly code: string;
68
- readonly details?: unknown;
69
-
70
- constructor(error: GatewayErrorInfo) {
71
- super(error.message || error.code);
72
- this.name = "GatewayRequestError";
73
- this.code = error.code;
74
- this.details = error.details;
75
- }
76
- }
77
-
78
- export class GatewayBrowserClient {
79
- private ws: WebSocket | null = null;
80
- private pending = new Map<string, Pending>();
81
- private closed = false;
82
- private lastSeq: number | null = null;
83
- private connectNonce: string | null = null;
84
- private connectSent = false;
85
- private connectTimer: number | null = null;
86
- private backoffMs = 800;
87
- private connectError: GatewayErrorInfo | null = null;
88
- private pendingTokenResetRetry = false;
89
- private tokenResetRetryBudgetUsed = false;
90
-
91
- constructor(private opts: GatewayBrowserClientOptions) {}
92
-
93
- start() {
94
- this.closed = false;
95
- this.connect();
96
- }
97
-
98
- stop() {
99
- this.closed = true;
100
- this.ws?.close();
101
- this.ws = null;
102
- this.pendingTokenResetRetry = false;
103
- this.tokenResetRetryBudgetUsed = false;
104
- this.flushPending(new Error("gateway client stopped"));
105
- }
106
-
107
- get connected() {
108
- return this.ws?.readyState === WebSocket.OPEN;
109
- }
110
-
111
- private connect() {
112
- if (this.closed) return;
113
- try {
114
- this.ws = new WebSocket(this.opts.url);
115
- this.ws.onopen = () => this.queueConnect();
116
- this.ws.onmessage = (ev) => this.handleMessage(String(ev.data ?? ""));
117
- this.ws.onclose = (ev) => {
118
- const reason = String(ev.reason ?? "");
119
- const error = this.connectError;
120
- this.connectError = null;
121
- this.ws = null;
122
- this.flushPending(new Error(`gateway closed (${ev.code}): ${reason}`));
123
-
124
- if (this.pendingTokenResetRetry) {
125
- this.pendingTokenResetRetry = false;
126
- window.setTimeout(() => this.connect(), 0);
127
- return;
128
- }
129
-
130
- this.opts.onClose?.({ code: ev.code, reason, error });
131
- this.scheduleReconnect();
132
- };
133
- this.ws.onerror = () => {
134
- // ignored; close handler will fire
135
- };
136
- } catch (err) {
137
- console.error("[gateway] Failed to create WebSocket instance:", err);
138
- // Simulate a close event for the UI to handle
139
- this.opts.onClose?.({
140
- code: 1006,
141
- reason: err instanceof Error ? err.message : "Connect failed",
142
- error: null,
143
- });
144
- this.scheduleReconnect();
145
- }
146
- }
147
-
148
- private scheduleReconnect() {
149
- if (this.closed || this.opts.autoReconnect === false) return;
150
- const delay = this.backoffMs;
151
- this.backoffMs = Math.min(this.backoffMs * 1.7, 15_000);
152
- window.setTimeout(() => this.connect(), delay);
153
- }
154
-
155
- private flushPending(err: Error) {
156
- for (const [, p] of this.pending) p.reject(err);
157
- this.pending.clear();
158
- }
159
-
160
- private async sendConnect() {
161
- if (this.connectSent) return;
162
- this.connectSent = true;
163
- if (this.connectTimer !== null) {
164
- window.clearTimeout(this.connectTimer);
165
- this.connectTimer = null;
166
- }
167
- const hasWebCrypto = typeof crypto !== "undefined" && !!crypto.subtle;
168
-
169
- const scopes = ["operator.admin", "operator.approvals", "operator.pairing"];
170
- const role = "operator";
171
-
172
- // Dynamic import types for correct typing
173
- let deviceIdentity = this.opts.deviceIdentity ?? null;
174
- let authToken: string | undefined;
175
-
176
- // Dynamically import device auth logic only if needed and in secure context
177
- if (hasWebCrypto && !deviceIdentity) {
178
- try {
179
- const { loadOrCreateDeviceIdentity } = await import("./device-identity");
180
-
181
- deviceIdentity = await loadOrCreateDeviceIdentity();
182
- } catch (e) {
183
- console.warn("[gateway] Failed to load device identity libs", e);
184
- }
185
- }
186
-
187
- if (deviceIdentity) {
188
- authToken = loadDeviceAuthToken({
189
- deviceId: deviceIdentity.deviceId,
190
- role,
191
- })?.token;
192
- }
193
-
194
- const auth =
195
- authToken || this.opts.token || this.opts.password
196
- ? {
197
- token: authToken ?? this.opts.token,
198
- password: this.opts.password,
199
- }
200
- : undefined;
201
-
202
- let device:
203
- | {
204
- id: string;
205
- publicKey: string;
206
- signature: string;
207
- signedAt: number;
208
- nonce: string | undefined;
209
- }
210
- | undefined;
211
-
212
- if (deviceIdentity) {
213
- const signedAtMs = Date.now();
214
- const nonce = this.connectNonce ?? "";
215
-
216
- try {
217
- const { buildDeviceAuthPayload } = await import("./device-auth-utils");
218
- const { signDevicePayload } = await import("./device-identity");
219
-
220
- const payload = buildDeviceAuthPayload({
221
- deviceId: deviceIdentity.deviceId,
222
- clientId: this.opts.clientName ?? GATEWAY_CLIENT_IDS.CONTROL_UI,
223
- clientMode: this.opts.mode ?? GATEWAY_CLIENT_MODES.WEBCHAT,
224
- role,
225
- scopes,
226
- signedAtMs,
227
- token: authToken ?? undefined,
228
- nonce,
229
- });
230
- const signature = await signDevicePayload(deviceIdentity.privateKey, payload);
231
- device = {
232
- id: deviceIdentity.deviceId,
233
- publicKey: deviceIdentity.publicKey,
234
- signature,
235
- signedAt: signedAtMs,
236
- nonce,
237
- };
238
- } catch (e) {
239
- console.error("[gateway] Failed to sign device payload", e);
240
- }
241
- }
242
-
243
- const params = {
244
- minProtocol: 3,
245
- maxProtocol: 3,
246
- client: {
247
- id: this.opts.clientName ?? GATEWAY_CLIENT_IDS.CONTROL_UI,
248
- version: this.opts.clientVersion ?? "dev",
249
- platform: this.opts.platform ?? navigator.platform ?? "web",
250
- mode: this.opts.mode ?? GATEWAY_CLIENT_MODES.WEBCHAT,
251
- instanceId: this.opts.instanceId,
252
- },
253
- role,
254
- scopes,
255
- device,
256
- caps: [],
257
- auth,
258
- userAgent: navigator.userAgent,
259
- locale: navigator.language,
260
- };
261
-
262
- void this.request<GatewayHelloOk>("connect", params)
263
- .then(async (hello) => {
264
- this.connectError = null;
265
- if (hello?.auth?.deviceToken && deviceIdentity) {
266
- try {
267
- storeDeviceAuthToken({
268
- deviceId: deviceIdentity.deviceId,
269
- role: hello.auth.role ?? role,
270
- token: hello.auth.deviceToken,
271
- scopes: hello.auth.scopes ?? [],
272
- });
273
- } catch (e) {
274
- console.warn("[gateway] Failed to store device token", e);
275
- }
276
- }
277
- this.backoffMs = 800;
278
- this.tokenResetRetryBudgetUsed = false;
279
- this.opts.onHello?.(hello);
280
- })
281
- .catch((err) => {
282
- console.warn("[gateway] connect seq failed", err);
283
-
284
- if (
285
- !this.tokenResetRetryBudgetUsed &&
286
- deviceIdentity &&
287
- authToken &&
288
- err instanceof GatewayRequestError &&
289
- err.code === "AUTH_TOKEN_MISMATCH"
290
- ) {
291
- clearDeviceAuthToken({
292
- deviceId: deviceIdentity.deviceId,
293
- role,
294
- });
295
- this.pendingTokenResetRetry = true;
296
- this.tokenResetRetryBudgetUsed = true;
297
- this.connectError = null;
298
- this.ws?.close(CONNECT_FAILED_CLOSE_CODE, "retry after clearing stale device token");
299
- return;
300
- }
301
-
302
- this.connectError =
303
- err instanceof GatewayRequestError
304
- ? { code: err.code, message: err.message, details: err.details }
305
- : { code: "CONNECT_FAILED", message: err instanceof Error ? err.message : "connect failed" };
306
- // Do not close here, let the interval handle it or the error event?
307
- // Original code closed it.
308
- this.ws?.close(CONNECT_FAILED_CLOSE_CODE, "connect failed");
309
- });
310
- }
311
-
312
- private handleMessage(raw: string) {
313
- let parsed: unknown;
314
- try {
315
- parsed = JSON.parse(raw);
316
- } catch {
317
- return;
318
- }
319
-
320
- const frame = parsed as { type?: unknown };
321
- if (frame.type === "event") {
322
- const evt = parsed as GatewayEventFrame;
323
-
324
- if (evt.event === "connect.challenge") {
325
- const payload = evt.payload as { nonce?: unknown } | undefined;
326
- const nonce = payload && typeof payload.nonce === "string" ? payload.nonce : null;
327
- if (nonce) {
328
- this.connectNonce = nonce;
329
- void this.sendConnect();
330
- }
331
- return;
332
- }
333
- const seq = typeof evt.seq === "number" ? evt.seq : null;
334
- if (seq !== null) {
335
- if (this.lastSeq !== null && seq > this.lastSeq + 1) {
336
- this.opts.onGap?.({ expected: this.lastSeq + 1, received: seq });
337
- }
338
- this.lastSeq = seq;
339
- }
340
- try {
341
- this.opts.onEvent?.(evt);
342
- } catch (err) {
343
- console.error("[gateway] event handler error:", err);
344
- }
345
- return;
346
- }
347
-
348
- if (frame.type === "res") {
349
- const res = parsed as GatewayResponseFrame;
350
- const pending = this.pending.get(res.id);
351
- if (!pending) return;
352
- this.pending.delete(res.id);
353
- if (res.ok) pending.resolve(res.payload);
354
- else {
355
- const error = res.error;
356
- pending.reject(
357
- error
358
- ? new GatewayRequestError({
359
- code: error.code,
360
- message: error.message ?? "request failed",
361
- details: error.details,
362
- })
363
- : new Error("request failed"),
364
- );
365
- }
366
- return;
367
- }
368
- }
369
-
370
- request<T = unknown>(method: string, params?: unknown): Promise<T> {
371
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
372
- return Promise.reject(new Error("gateway not connected"));
373
- }
374
- const id = crypto.randomUUID();
375
- const frame = { type: "req", id, method, params };
376
- const p = new Promise<T>((resolve, reject) => {
377
- this.pending.set(id, { resolve: (v) => resolve(v as T), reject });
378
- });
379
- this.ws.send(JSON.stringify(frame));
380
- return p;
381
- }
382
-
383
- private queueConnect() {
384
- this.connectNonce = null;
385
- this.connectSent = false;
386
- if (this.connectTimer !== null) window.clearTimeout(this.connectTimer);
387
-
388
- this.connectTimer = window.setTimeout(() => {
389
- void this.sendConnect();
390
- }, 750);
391
- }
392
- }