@archastro/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/LICENSE +21 -0
  2. package/dist/auth.d.ts +15 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +65 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/channels/api_activity_feed_channel.d.ts +21 -0
  7. package/dist/channels/api_activity_feed_channel.d.ts.map +1 -0
  8. package/dist/channels/api_activity_feed_channel.js +33 -0
  9. package/dist/channels/api_activity_feed_channel.js.map +1 -0
  10. package/dist/channels/api_chat_channel.d.ts +51 -0
  11. package/dist/channels/api_chat_channel.d.ts.map +1 -0
  12. package/dist/channels/api_chat_channel.js +95 -0
  13. package/dist/channels/api_chat_channel.js.map +1 -0
  14. package/dist/channels/api_object_channel.d.ts +17 -0
  15. package/dist/channels/api_object_channel.d.ts.map +1 -0
  16. package/dist/channels/api_object_channel.js +33 -0
  17. package/dist/channels/api_object_channel.js.map +1 -0
  18. package/dist/client.d.ts +68 -0
  19. package/dist/client.d.ts.map +1 -0
  20. package/dist/client.js +123 -0
  21. package/dist/client.js.map +1 -0
  22. package/dist/index.d.ts +9 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +12 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/phx_channel/channel.d.ts +35 -0
  27. package/dist/phx_channel/channel.d.ts.map +1 -0
  28. package/dist/phx_channel/channel.js +203 -0
  29. package/dist/phx_channel/channel.js.map +1 -0
  30. package/dist/phx_channel/index.d.ts +4 -0
  31. package/dist/phx_channel/index.d.ts.map +1 -0
  32. package/dist/phx_channel/index.js +3 -0
  33. package/dist/phx_channel/index.js.map +1 -0
  34. package/dist/phx_channel/socket.d.ts +71 -0
  35. package/dist/phx_channel/socket.d.ts.map +1 -0
  36. package/dist/phx_channel/socket.js +274 -0
  37. package/dist/phx_channel/socket.js.map +1 -0
  38. package/dist/runtime/http-client.d.ts +42 -0
  39. package/dist/runtime/http-client.d.ts.map +1 -0
  40. package/dist/runtime/http-client.js +207 -0
  41. package/dist/runtime/http-client.js.map +1 -0
  42. package/dist/types/agents.d.ts +2254 -0
  43. package/dist/types/agents.d.ts.map +1 -0
  44. package/dist/types/agents.js +238 -0
  45. package/dist/types/agents.js.map +1 -0
  46. package/dist/types/ai.d.ts +460 -0
  47. package/dist/types/ai.d.ts.map +1 -0
  48. package/dist/types/ai.js +70 -0
  49. package/dist/types/ai.js.map +1 -0
  50. package/dist/types/artifacts.d.ts +101 -0
  51. package/dist/types/artifacts.d.ts.map +1 -0
  52. package/dist/types/artifacts.js +40 -0
  53. package/dist/types/artifacts.js.map +1 -0
  54. package/dist/types/automations.d.ts +110 -0
  55. package/dist/types/automations.d.ts.map +1 -0
  56. package/dist/types/automations.js +47 -0
  57. package/dist/types/automations.js.map +1 -0
  58. package/dist/types/chat.d.ts +20 -0
  59. package/dist/types/chat.d.ts.map +1 -0
  60. package/dist/types/chat.js +12 -0
  61. package/dist/types/chat.js.map +1 -0
  62. package/dist/types/common.d.ts +4478 -0
  63. package/dist/types/common.d.ts.map +1 -0
  64. package/dist/types/common.js +1209 -0
  65. package/dist/types/common.js.map +1 -0
  66. package/dist/types/config.d.ts +191 -0
  67. package/dist/types/config.d.ts.map +1 -0
  68. package/dist/types/config.js +63 -0
  69. package/dist/types/config.js.map +1 -0
  70. package/dist/types/image.d.ts +29 -0
  71. package/dist/types/image.d.ts.map +1 -0
  72. package/dist/types/image.js +15 -0
  73. package/dist/types/image.js.map +1 -0
  74. package/dist/types/index.d.ts +21 -0
  75. package/dist/types/index.d.ts.map +1 -0
  76. package/dist/types/index.js +24 -0
  77. package/dist/types/index.js.map +1 -0
  78. package/dist/types/invite.d.ts +17 -0
  79. package/dist/types/invite.d.ts.map +1 -0
  80. package/dist/types/invite.js +11 -0
  81. package/dist/types/invite.js.map +1 -0
  82. package/dist/types/me.d.ts +101 -0
  83. package/dist/types/me.d.ts.map +1 -0
  84. package/dist/types/me.js +41 -0
  85. package/dist/types/me.js.map +1 -0
  86. package/dist/types/members.d.ts +99 -0
  87. package/dist/types/members.d.ts.map +1 -0
  88. package/dist/types/members.js +36 -0
  89. package/dist/types/members.js.map +1 -0
  90. package/dist/types/messages.d.ts +109 -0
  91. package/dist/types/messages.d.ts.map +1 -0
  92. package/dist/types/messages.js +49 -0
  93. package/dist/types/messages.js.map +1 -0
  94. package/dist/types/orgs.d.ts +193 -0
  95. package/dist/types/orgs.d.ts.map +1 -0
  96. package/dist/types/orgs.js +69 -0
  97. package/dist/types/orgs.js.map +1 -0
  98. package/dist/types/picture.d.ts +20 -0
  99. package/dist/types/picture.d.ts.map +1 -0
  100. package/dist/types/picture.js +14 -0
  101. package/dist/types/picture.js.map +1 -0
  102. package/dist/types/profile.d.ts +17 -0
  103. package/dist/types/profile.d.ts.map +1 -0
  104. package/dist/types/profile.js +11 -0
  105. package/dist/types/profile.js.map +1 -0
  106. package/dist/types/reactions.d.ts +29 -0
  107. package/dist/types/reactions.d.ts.map +1 -0
  108. package/dist/types/reactions.js +15 -0
  109. package/dist/types/reactions.js.map +1 -0
  110. package/dist/types/runs.d.ts +46 -0
  111. package/dist/types/runs.d.ts.map +1 -0
  112. package/dist/types/runs.js +15 -0
  113. package/dist/types/runs.js.map +1 -0
  114. package/dist/types/schedules.d.ts +32 -0
  115. package/dist/types/schedules.d.ts.map +1 -0
  116. package/dist/types/schedules.js +16 -0
  117. package/dist/types/schedules.js.map +1 -0
  118. package/dist/types/system.d.ts +23 -0
  119. package/dist/types/system.d.ts.map +1 -0
  120. package/dist/types/system.js +13 -0
  121. package/dist/types/system.js.map +1 -0
  122. package/dist/types/teams.d.ts +580 -0
  123. package/dist/types/teams.d.ts.map +1 -0
  124. package/dist/types/teams.js +84 -0
  125. package/dist/types/teams.js.map +1 -0
  126. package/dist/types/threads.d.ts +802 -0
  127. package/dist/types/threads.d.ts.map +1 -0
  128. package/dist/types/threads.js +167 -0
  129. package/dist/types/threads.js.map +1 -0
  130. package/dist/types/users.d.ts +89 -0
  131. package/dist/types/users.d.ts.map +1 -0
  132. package/dist/types/users.js +37 -0
  133. package/dist/types/users.js.map +1 -0
  134. package/dist/v1/resources/agent_computers.d.ts +12 -0
  135. package/dist/v1/resources/agent_computers.d.ts.map +1 -0
  136. package/dist/v1/resources/agent_computers.js +22 -0
  137. package/dist/v1/resources/agent_computers.js.map +1 -0
  138. package/dist/v1/resources/agent_installations.d.ts +22 -0
  139. package/dist/v1/resources/agent_installations.d.ts.map +1 -0
  140. package/dist/v1/resources/agent_installations.js +42 -0
  141. package/dist/v1/resources/agent_installations.js.map +1 -0
  142. package/dist/v1/resources/agent_routines.d.ts +36 -0
  143. package/dist/v1/resources/agent_routines.d.ts.map +1 -0
  144. package/dist/v1/resources/agent_routines.js +56 -0
  145. package/dist/v1/resources/agent_routines.js.map +1 -0
  146. package/dist/v1/resources/agent_sessions.d.ts +19 -0
  147. package/dist/v1/resources/agent_sessions.d.ts.map +1 -0
  148. package/dist/v1/resources/agent_sessions.js +31 -0
  149. package/dist/v1/resources/agent_sessions.js.map +1 -0
  150. package/dist/v1/resources/agent_skills.d.ts +16 -0
  151. package/dist/v1/resources/agent_skills.d.ts.map +1 -0
  152. package/dist/v1/resources/agent_skills.js +31 -0
  153. package/dist/v1/resources/agent_skills.js.map +1 -0
  154. package/dist/v1/resources/agent_tools.d.ts +23 -0
  155. package/dist/v1/resources/agent_tools.d.ts.map +1 -0
  156. package/dist/v1/resources/agent_tools.js +39 -0
  157. package/dist/v1/resources/agent_tools.js.map +1 -0
  158. package/dist/v1/resources/agents.d.ts +100 -0
  159. package/dist/v1/resources/agents.d.ts.map +1 -0
  160. package/dist/v1/resources/agents.js +112 -0
  161. package/dist/v1/resources/agents.js.map +1 -0
  162. package/dist/v1/resources/ai.d.ts +40 -0
  163. package/dist/v1/resources/ai.d.ts.map +1 -0
  164. package/dist/v1/resources/ai.js +57 -0
  165. package/dist/v1/resources/ai.js.map +1 -0
  166. package/dist/v1/resources/ai_chat_completions.d.ts +49 -0
  167. package/dist/v1/resources/ai_chat_completions.d.ts.map +1 -0
  168. package/dist/v1/resources/ai_chat_completions.js +14 -0
  169. package/dist/v1/resources/ai_chat_completions.js.map +1 -0
  170. package/dist/v1/resources/ai_chat_models.d.ts +12 -0
  171. package/dist/v1/resources/ai_chat_models.d.ts.map +1 -0
  172. package/dist/v1/resources/ai_chat_models.js +14 -0
  173. package/dist/v1/resources/ai_chat_models.js.map +1 -0
  174. package/dist/v1/resources/ai_image_edits.d.ts +20 -0
  175. package/dist/v1/resources/ai_image_edits.d.ts.map +1 -0
  176. package/dist/v1/resources/ai_image_edits.js +14 -0
  177. package/dist/v1/resources/ai_image_edits.js.map +1 -0
  178. package/dist/v1/resources/ai_image_generations.d.ts +20 -0
  179. package/dist/v1/resources/ai_image_generations.d.ts.map +1 -0
  180. package/dist/v1/resources/ai_image_generations.js +14 -0
  181. package/dist/v1/resources/ai_image_generations.js.map +1 -0
  182. package/dist/v1/resources/ai_image_models.d.ts +12 -0
  183. package/dist/v1/resources/ai_image_models.d.ts.map +1 -0
  184. package/dist/v1/resources/ai_image_models.js +14 -0
  185. package/dist/v1/resources/ai_image_models.js.map +1 -0
  186. package/dist/v1/resources/artifacts.d.ts +19 -0
  187. package/dist/v1/resources/artifacts.d.ts.map +1 -0
  188. package/dist/v1/resources/artifacts.js +33 -0
  189. package/dist/v1/resources/artifacts.js.map +1 -0
  190. package/dist/v1/resources/automation_runs.d.ts +14 -0
  191. package/dist/v1/resources/automation_runs.d.ts.map +1 -0
  192. package/dist/v1/resources/automation_runs.js +19 -0
  193. package/dist/v1/resources/automation_runs.js.map +1 -0
  194. package/dist/v1/resources/automations.d.ts +8 -0
  195. package/dist/v1/resources/automations.d.ts.map +1 -0
  196. package/dist/v1/resources/automations.js +13 -0
  197. package/dist/v1/resources/automations.js.map +1 -0
  198. package/dist/v1/resources/completions.d.ts +49 -0
  199. package/dist/v1/resources/completions.d.ts.map +1 -0
  200. package/dist/v1/resources/completions.js +14 -0
  201. package/dist/v1/resources/completions.js.map +1 -0
  202. package/dist/v1/resources/config.d.ts +137 -0
  203. package/dist/v1/resources/config.d.ts.map +1 -0
  204. package/dist/v1/resources/config.js +98 -0
  205. package/dist/v1/resources/config.js.map +1 -0
  206. package/dist/v1/resources/custom_objects.d.ts +27 -0
  207. package/dist/v1/resources/custom_objects.d.ts.map +1 -0
  208. package/dist/v1/resources/custom_objects.js +19 -0
  209. package/dist/v1/resources/custom_objects.js.map +1 -0
  210. package/dist/v1/resources/edits.d.ts +20 -0
  211. package/dist/v1/resources/edits.d.ts.map +1 -0
  212. package/dist/v1/resources/edits.js +14 -0
  213. package/dist/v1/resources/edits.js.map +1 -0
  214. package/dist/v1/resources/generations.d.ts +20 -0
  215. package/dist/v1/resources/generations.d.ts.map +1 -0
  216. package/dist/v1/resources/generations.js +14 -0
  217. package/dist/v1/resources/generations.js.map +1 -0
  218. package/dist/v1/resources/index.d.ts +21 -0
  219. package/dist/v1/resources/index.d.ts.map +1 -0
  220. package/dist/v1/resources/index.js +24 -0
  221. package/dist/v1/resources/index.js.map +1 -0
  222. package/dist/v1/resources/installation_sources.d.ts +7 -0
  223. package/dist/v1/resources/installation_sources.d.ts.map +1 -0
  224. package/dist/v1/resources/installation_sources.js +13 -0
  225. package/dist/v1/resources/installation_sources.js.map +1 -0
  226. package/dist/v1/resources/invoke.d.ts +29 -0
  227. package/dist/v1/resources/invoke.d.ts.map +1 -0
  228. package/dist/v1/resources/invoke.js +23 -0
  229. package/dist/v1/resources/invoke.js.map +1 -0
  230. package/dist/v1/resources/models.d.ts +12 -0
  231. package/dist/v1/resources/models.d.ts.map +1 -0
  232. package/dist/v1/resources/models.js +14 -0
  233. package/dist/v1/resources/models.js.map +1 -0
  234. package/dist/v1/resources/orgs.d.ts +23 -0
  235. package/dist/v1/resources/orgs.d.ts.map +1 -0
  236. package/dist/v1/resources/orgs.js +13 -0
  237. package/dist/v1/resources/orgs.js.map +1 -0
  238. package/dist/v1/resources/team_memberships.d.ts +15 -0
  239. package/dist/v1/resources/team_memberships.d.ts.map +1 -0
  240. package/dist/v1/resources/team_memberships.js +16 -0
  241. package/dist/v1/resources/team_memberships.js.map +1 -0
  242. package/dist/v1/resources/teams.d.ts +232 -0
  243. package/dist/v1/resources/teams.d.ts.map +1 -0
  244. package/dist/v1/resources/teams.js +118 -0
  245. package/dist/v1/resources/teams.js.map +1 -0
  246. package/dist/v1/resources/thread_messages.d.ts +38 -0
  247. package/dist/v1/resources/thread_messages.d.ts.map +1 -0
  248. package/dist/v1/resources/thread_messages.js +41 -0
  249. package/dist/v1/resources/thread_messages.js.map +1 -0
  250. package/dist/v1/resources/threads.d.ts +119 -0
  251. package/dist/v1/resources/threads.d.ts.map +1 -0
  252. package/dist/v1/resources/threads.js +119 -0
  253. package/dist/v1/resources/threads.js.map +1 -0
  254. package/dist/v1/resources/users.d.ts +148 -0
  255. package/dist/v1/resources/users.d.ts.map +1 -0
  256. package/dist/v1/resources/users.js +74 -0
  257. package/dist/v1/resources/users.js.map +1 -0
  258. package/dist/v1.d.ts +45 -0
  259. package/dist/v1.d.ts.map +1 -0
  260. package/dist/v1.js +68 -0
  261. package/dist/v1.js.map +1 -0
  262. package/package.json +33 -0
@@ -0,0 +1,42 @@
1
+ export declare const DEFAULT_API_PREFIX = "/api/v1";
2
+ export interface HttpClientConfig {
3
+ baseUrl: string;
4
+ accessToken?: string;
5
+ getAccessToken?: () => string | undefined;
6
+ onRefreshToken?: () => Promise<string>;
7
+ pathPrefix?: string;
8
+ defaultHeaders?: Record<string, string>;
9
+ /** When true, only /api/v2/auth/* requests are allowed. Used by the
10
+ * internal refresh client to prevent accidental re-entrant calls. */
11
+ refreshOnly?: boolean;
12
+ }
13
+ type QueryPrimitive = string | number | boolean;
14
+ type QueryValue = QueryPrimitive | QueryPrimitive[] | undefined;
15
+ export declare class ApiError extends Error {
16
+ readonly status: number;
17
+ readonly errorCode: string;
18
+ readonly body?: Record<string, unknown> | undefined;
19
+ constructor(status: number, errorCode: string, message: string, body?: Record<string, unknown> | undefined);
20
+ }
21
+ export declare class HttpClient {
22
+ private config;
23
+ private _refreshPromise;
24
+ constructor(config: HttpClientConfig);
25
+ private getToken;
26
+ private transformPath;
27
+ setAccessToken(token: string): void;
28
+ setRefreshHandler(handler: () => Promise<string>): void;
29
+ request<T>(path: string, options?: {
30
+ method?: string;
31
+ body?: unknown;
32
+ headers?: Record<string, string>;
33
+ query?: Record<string, QueryValue>;
34
+ }): Promise<T>;
35
+ requestStream(path: string, options?: {
36
+ headers?: Record<string, string>;
37
+ query?: Record<string, QueryValue>;
38
+ signal?: AbortSignal;
39
+ }): Promise<ReadableStream<Uint8Array>>;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;0EACsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,KAAK,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAChD,KAAK,UAAU,GAAG,cAAc,GAAG,cAAc,EAAE,GAAG,SAAS,CAAC;AAEhE,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;aACd,SAAS,EAAE,MAAM;aAEjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAH9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjC,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKjD;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,eAAe,CAAgC;gBAE3C,MAAM,EAAE,gBAAgB;IAIpC,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,aAAa;IAQrB,cAAc,CAAC,KAAK,EAAE,MAAM;IAI5B,iBAAiB,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC;IAI1C,OAAO,CAAC,CAAC,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KAC/B,GACL,OAAO,CAAC,CAAC,CAAC;IA8EP,aAAa,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,EAAE,WAAW,CAAC;KACjB,GACL,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;CAoEvC"}
@@ -0,0 +1,207 @@
1
+ // Runtime: HTTP client for the generated Platform SDK.
2
+ // This file is hand-maintained, not generated.
3
+ export const DEFAULT_API_PREFIX = "/api/v1";
4
+ export class ApiError extends Error {
5
+ status;
6
+ errorCode;
7
+ body;
8
+ constructor(status, errorCode, message, body) {
9
+ super(message);
10
+ this.status = status;
11
+ this.errorCode = errorCode;
12
+ this.body = body;
13
+ this.name = "ApiError";
14
+ }
15
+ }
16
+ export class HttpClient {
17
+ config;
18
+ _refreshPromise = null;
19
+ constructor(config) {
20
+ this.config = config;
21
+ }
22
+ getToken() {
23
+ if (this.config.getAccessToken) {
24
+ return this.config.getAccessToken();
25
+ }
26
+ return this.config.accessToken;
27
+ }
28
+ transformPath(path) {
29
+ if (this.config.pathPrefix === undefined)
30
+ return path;
31
+ if (path.startsWith(DEFAULT_API_PREFIX)) {
32
+ return this.config.pathPrefix + path.slice(DEFAULT_API_PREFIX.length);
33
+ }
34
+ return path;
35
+ }
36
+ setAccessToken(token) {
37
+ this.config.accessToken = token;
38
+ }
39
+ setRefreshHandler(handler) {
40
+ this.config.onRefreshToken = handler;
41
+ }
42
+ async request(path, options = {}) {
43
+ const doFetch = () => {
44
+ const { method = "GET", body, headers = {}, query } = options;
45
+ const token = this.getToken();
46
+ let url = `${this.config.baseUrl}${this.transformPath(path)}`;
47
+ url = appendQueryString(url, query);
48
+ const fetchOptions = {
49
+ method,
50
+ headers: {
51
+ ...(this.config.defaultHeaders || {}),
52
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
53
+ "Content-Type": "application/json",
54
+ ...headers,
55
+ },
56
+ };
57
+ if (body && method !== "GET" && method !== "HEAD") {
58
+ fetchOptions.body = JSON.stringify(body);
59
+ }
60
+ return fetch(url, fetchOptions);
61
+ };
62
+ if (this.config.refreshOnly && !path.startsWith(`${DEFAULT_API_PREFIX}/auth/`)) {
63
+ throw new Error(`Refresh-only HTTP client cannot make requests outside ${DEFAULT_API_PREFIX}/auth/`);
64
+ }
65
+ let response = await doFetch();
66
+ // Auto-refresh: on 401, attempt one token refresh and retry.
67
+ // The refresh handler runs on a separate HttpClient (refreshOnly),
68
+ // so it cannot re-enter this block. Concurrent 401s piggyback on
69
+ // the same _refreshPromise.
70
+ if (response.status === 401 &&
71
+ this.config.onRefreshToken &&
72
+ !path.startsWith(`${DEFAULT_API_PREFIX}/auth/`)) {
73
+ if (!this._refreshPromise) {
74
+ this._refreshPromise = this.config.onRefreshToken().finally(() => {
75
+ this._refreshPromise = null;
76
+ });
77
+ }
78
+ let refreshed = false;
79
+ try {
80
+ const newToken = await this._refreshPromise;
81
+ this.config.accessToken = newToken;
82
+ refreshed = true;
83
+ }
84
+ catch {
85
+ // refresh failed — fall through to throw original 401
86
+ }
87
+ if (refreshed) {
88
+ response = await doFetch();
89
+ }
90
+ }
91
+ if (!response.ok) {
92
+ let rawData = {};
93
+ try {
94
+ rawData = (await response.json());
95
+ }
96
+ catch {
97
+ // ignore parse errors
98
+ }
99
+ const { errorCode, message } = parseErrorResponse(rawData, response.status);
100
+ throw new ApiError(response.status, errorCode, message, rawData);
101
+ }
102
+ if (response.status === 204) {
103
+ return undefined;
104
+ }
105
+ return response.json();
106
+ }
107
+ async requestStream(path, options = {}) {
108
+ if (this.config.refreshOnly && !path.startsWith(`${DEFAULT_API_PREFIX}/auth/`)) {
109
+ throw new Error(`Refresh-only HTTP client cannot make requests outside ${DEFAULT_API_PREFIX}/auth/`);
110
+ }
111
+ const doFetch = () => {
112
+ const { headers = {}, query, signal } = options;
113
+ const token = this.getToken();
114
+ let url = `${this.config.baseUrl}${this.transformPath(path)}`;
115
+ url = appendQueryString(url, query);
116
+ return fetch(url, {
117
+ method: "GET",
118
+ headers: {
119
+ ...(this.config.defaultHeaders || {}),
120
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
121
+ Accept: "text/event-stream",
122
+ ...headers,
123
+ },
124
+ signal,
125
+ });
126
+ };
127
+ let response = await doFetch();
128
+ if (response.status === 401 &&
129
+ this.config.onRefreshToken &&
130
+ !path.startsWith(`${DEFAULT_API_PREFIX}/auth/`)) {
131
+ if (!this._refreshPromise) {
132
+ this._refreshPromise = this.config.onRefreshToken().finally(() => {
133
+ this._refreshPromise = null;
134
+ });
135
+ }
136
+ let refreshed = false;
137
+ try {
138
+ const newToken = await this._refreshPromise;
139
+ this.config.accessToken = newToken;
140
+ refreshed = true;
141
+ }
142
+ catch {
143
+ // refresh failed — fall through to throw original 401
144
+ }
145
+ if (refreshed) {
146
+ response = await doFetch();
147
+ }
148
+ }
149
+ if (!response.ok) {
150
+ let rawData = {};
151
+ try {
152
+ rawData = (await response.json());
153
+ }
154
+ catch {
155
+ // ignore
156
+ }
157
+ const { errorCode, message } = parseErrorResponse(rawData, response.status);
158
+ throw new ApiError(response.status, errorCode, message, rawData);
159
+ }
160
+ if (!response.body) {
161
+ throw new ApiError(500, "no_body", "Response has no body");
162
+ }
163
+ return response.body;
164
+ }
165
+ }
166
+ function parseErrorResponse(rawData, status) {
167
+ if (rawData.error && typeof rawData.error === "object") {
168
+ const nested = rawData.error;
169
+ let message = nested.message || `HTTP ${status}`;
170
+ if (Array.isArray(nested.fields) && nested.fields.length > 0) {
171
+ const fieldErrors = nested.fields
172
+ .map((f) => `${f.field}: ${f.message}`)
173
+ .join(", ");
174
+ message = `${message} (${fieldErrors})`;
175
+ }
176
+ return {
177
+ errorCode: nested.code || nested.type || "unknown_error",
178
+ message,
179
+ };
180
+ }
181
+ const errorStr = typeof rawData.error === "string" ? rawData.error : undefined;
182
+ const message = typeof rawData.message === "string"
183
+ ? rawData.message
184
+ : errorStr || `HTTP ${status}`;
185
+ return { errorCode: errorStr || "unknown_error", message };
186
+ }
187
+ function appendQueryString(url, query) {
188
+ if (!query)
189
+ return url;
190
+ const params = new URLSearchParams();
191
+ for (const [key, value] of Object.entries(query)) {
192
+ if (value === undefined)
193
+ continue;
194
+ if (Array.isArray(value)) {
195
+ for (const item of value) {
196
+ params.append(`${key}[]`, String(item));
197
+ }
198
+ continue;
199
+ }
200
+ params.set(key, String(value));
201
+ }
202
+ const qs = params.toString();
203
+ if (!qs)
204
+ return url;
205
+ return `${url}?${qs}`;
206
+ }
207
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"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"}