@beacon-build/sdk 1.15.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 (255) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +21 -0
  3. package/dist/cli/backlog.d.ts +14 -0
  4. package/dist/cli/backlog.d.ts.map +1 -0
  5. package/dist/cli/backlog.js +228 -0
  6. package/dist/cli/backlog.js.map +1 -0
  7. package/dist/cli/claude-md-check.d.ts +18 -0
  8. package/dist/cli/claude-md-check.d.ts.map +1 -0
  9. package/dist/cli/claude-md-check.js +57 -0
  10. package/dist/cli/claude-md-check.js.map +1 -0
  11. package/dist/cli/context.d.ts +14 -0
  12. package/dist/cli/context.d.ts.map +1 -0
  13. package/dist/cli/context.js +465 -0
  14. package/dist/cli/context.js.map +1 -0
  15. package/dist/cli/help.d.ts +17 -0
  16. package/dist/cli/help.d.ts.map +1 -0
  17. package/dist/cli/help.js +71 -0
  18. package/dist/cli/help.js.map +1 -0
  19. package/dist/cli/index.d.ts +22 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +212 -0
  22. package/dist/cli/index.js.map +1 -0
  23. package/dist/cli/project-log.d.ts +16 -0
  24. package/dist/cli/project-log.d.ts.map +1 -0
  25. package/dist/cli/project-log.js +185 -0
  26. package/dist/cli/project-log.js.map +1 -0
  27. package/dist/cli/setup-worktree.d.ts +23 -0
  28. package/dist/cli/setup-worktree.d.ts.map +1 -0
  29. package/dist/cli/setup-worktree.js +396 -0
  30. package/dist/cli/setup-worktree.js.map +1 -0
  31. package/dist/cli/update-client.d.ts +14 -0
  32. package/dist/cli/update-client.d.ts.map +1 -0
  33. package/dist/cli/update-client.js +629 -0
  34. package/dist/cli/update-client.js.map +1 -0
  35. package/dist/cli/workflow-sync.d.ts +19 -0
  36. package/dist/cli/workflow-sync.d.ts.map +1 -0
  37. package/dist/cli/workflow-sync.js +133 -0
  38. package/dist/cli/workflow-sync.js.map +1 -0
  39. package/dist/clients/admin/agents.client.d.ts +38 -0
  40. package/dist/clients/admin/agents.client.d.ts.map +1 -0
  41. package/dist/clients/admin/agents.client.js +90 -0
  42. package/dist/clients/admin/agents.client.js.map +1 -0
  43. package/dist/clients/admin/alerts.client.d.ts +8 -0
  44. package/dist/clients/admin/alerts.client.d.ts.map +1 -0
  45. package/dist/clients/admin/alerts.client.js +11 -0
  46. package/dist/clients/admin/alerts.client.js.map +1 -0
  47. package/dist/clients/admin/assets.client.d.ts +19 -0
  48. package/dist/clients/admin/assets.client.d.ts.map +1 -0
  49. package/dist/clients/admin/assets.client.js +27 -0
  50. package/dist/clients/admin/assets.client.js.map +1 -0
  51. package/dist/clients/admin/board-messages.client.d.ts +13 -0
  52. package/dist/clients/admin/board-messages.client.d.ts.map +1 -0
  53. package/dist/clients/admin/board-messages.client.js +16 -0
  54. package/dist/clients/admin/board-messages.client.js.map +1 -0
  55. package/dist/clients/admin/conversation-messages.client.d.ts +11 -0
  56. package/dist/clients/admin/conversation-messages.client.d.ts.map +1 -0
  57. package/dist/clients/admin/conversation-messages.client.js +27 -0
  58. package/dist/clients/admin/conversation-messages.client.js.map +1 -0
  59. package/dist/clients/admin/db.client.d.ts +12 -0
  60. package/dist/clients/admin/db.client.d.ts.map +1 -0
  61. package/dist/clients/admin/db.client.js +13 -0
  62. package/dist/clients/admin/db.client.js.map +1 -0
  63. package/dist/clients/admin/documents.client.d.ts +23 -0
  64. package/dist/clients/admin/documents.client.d.ts.map +1 -0
  65. package/dist/clients/admin/documents.client.js +33 -0
  66. package/dist/clients/admin/documents.client.js.map +1 -0
  67. package/dist/clients/admin/github-proxy.client.d.ts +12 -0
  68. package/dist/clients/admin/github-proxy.client.d.ts.map +1 -0
  69. package/dist/clients/admin/github-proxy.client.js +10 -0
  70. package/dist/clients/admin/github-proxy.client.js.map +1 -0
  71. package/dist/clients/admin/memories.client.d.ts +25 -0
  72. package/dist/clients/admin/memories.client.d.ts.map +1 -0
  73. package/dist/clients/admin/memories.client.js +67 -0
  74. package/dist/clients/admin/memories.client.js.map +1 -0
  75. package/dist/clients/admin/organizations.client.d.ts +25 -0
  76. package/dist/clients/admin/organizations.client.d.ts.map +1 -0
  77. package/dist/clients/admin/organizations.client.js +33 -0
  78. package/dist/clients/admin/organizations.client.js.map +1 -0
  79. package/dist/clients/admin/planning.client.d.ts +16 -0
  80. package/dist/clients/admin/planning.client.d.ts.map +1 -0
  81. package/dist/clients/admin/planning.client.js +24 -0
  82. package/dist/clients/admin/planning.client.js.map +1 -0
  83. package/dist/clients/admin/projects.client.d.ts +10 -0
  84. package/dist/clients/admin/projects.client.d.ts.map +1 -0
  85. package/dist/clients/admin/projects.client.js +21 -0
  86. package/dist/clients/admin/projects.client.js.map +1 -0
  87. package/dist/clients/admin/sessions.client.d.ts +23 -0
  88. package/dist/clients/admin/sessions.client.d.ts.map +1 -0
  89. package/dist/clients/admin/sessions.client.js +53 -0
  90. package/dist/clients/admin/sessions.client.js.map +1 -0
  91. package/dist/clients/admin/tasks.client.d.ts +21 -0
  92. package/dist/clients/admin/tasks.client.d.ts.map +1 -0
  93. package/dist/clients/admin/tasks.client.js +44 -0
  94. package/dist/clients/admin/tasks.client.js.map +1 -0
  95. package/dist/clients/admin/tool-calls.client.d.ts +12 -0
  96. package/dist/clients/admin/tool-calls.client.d.ts.map +1 -0
  97. package/dist/clients/admin/tool-calls.client.js +29 -0
  98. package/dist/clients/admin/tool-calls.client.js.map +1 -0
  99. package/dist/clients/admin/usage.client.d.ts +23 -0
  100. package/dist/clients/admin/usage.client.d.ts.map +1 -0
  101. package/dist/clients/admin/usage.client.js +37 -0
  102. package/dist/clients/admin/usage.client.js.map +1 -0
  103. package/dist/clients/admin/users.client.d.ts +17 -0
  104. package/dist/clients/admin/users.client.d.ts.map +1 -0
  105. package/dist/clients/admin/users.client.js +24 -0
  106. package/dist/clients/admin/users.client.js.map +1 -0
  107. package/dist/clients/agent/messaging.client.d.ts +13 -0
  108. package/dist/clients/agent/messaging.client.d.ts.map +1 -0
  109. package/dist/clients/agent/messaging.client.js +37 -0
  110. package/dist/clients/agent/messaging.client.js.map +1 -0
  111. package/dist/clients/agent/tasks.client.d.ts +18 -0
  112. package/dist/clients/agent/tasks.client.d.ts.map +1 -0
  113. package/dist/clients/agent/tasks.client.js +68 -0
  114. package/dist/clients/agent/tasks.client.js.map +1 -0
  115. package/dist/clients/auth.client.d.ts +40 -0
  116. package/dist/clients/auth.client.d.ts.map +1 -0
  117. package/dist/clients/auth.client.js +78 -0
  118. package/dist/clients/auth.client.js.map +1 -0
  119. package/dist/clients/ops/agents-ops.client.d.ts +46 -0
  120. package/dist/clients/ops/agents-ops.client.d.ts.map +1 -0
  121. package/dist/clients/ops/agents-ops.client.js +117 -0
  122. package/dist/clients/ops/agents-ops.client.js.map +1 -0
  123. package/dist/clients/ops/board-messages-ops.client.d.ts +14 -0
  124. package/dist/clients/ops/board-messages-ops.client.d.ts.map +1 -0
  125. package/dist/clients/ops/board-messages-ops.client.js +26 -0
  126. package/dist/clients/ops/board-messages-ops.client.js.map +1 -0
  127. package/dist/clients/ops/conversation-messages-ops.client.d.ts +10 -0
  128. package/dist/clients/ops/conversation-messages-ops.client.d.ts.map +1 -0
  129. package/dist/clients/ops/conversation-messages-ops.client.js +20 -0
  130. package/dist/clients/ops/conversation-messages-ops.client.js.map +1 -0
  131. package/dist/clients/ops/documents-ops.client.d.ts +20 -0
  132. package/dist/clients/ops/documents-ops.client.d.ts.map +1 -0
  133. package/dist/clients/ops/documents-ops.client.js +31 -0
  134. package/dist/clients/ops/documents-ops.client.js.map +1 -0
  135. package/dist/clients/ops/memories-ops.client.d.ts +25 -0
  136. package/dist/clients/ops/memories-ops.client.d.ts.map +1 -0
  137. package/dist/clients/ops/memories-ops.client.js +71 -0
  138. package/dist/clients/ops/memories-ops.client.js.map +1 -0
  139. package/dist/clients/ops/ops-db.client.d.ts +29 -0
  140. package/dist/clients/ops/ops-db.client.d.ts.map +1 -0
  141. package/dist/clients/ops/ops-db.client.js +35 -0
  142. package/dist/clients/ops/ops-db.client.js.map +1 -0
  143. package/dist/clients/ops/ops-logs.client.d.ts +22 -0
  144. package/dist/clients/ops/ops-logs.client.d.ts.map +1 -0
  145. package/dist/clients/ops/ops-logs.client.js +24 -0
  146. package/dist/clients/ops/ops-logs.client.js.map +1 -0
  147. package/dist/clients/ops/ops-mq.client.d.ts +19 -0
  148. package/dist/clients/ops/ops-mq.client.d.ts.map +1 -0
  149. package/dist/clients/ops/ops-mq.client.js +16 -0
  150. package/dist/clients/ops/ops-mq.client.js.map +1 -0
  151. package/dist/clients/ops/ops-northflank.client.d.ts +34 -0
  152. package/dist/clients/ops/ops-northflank.client.d.ts.map +1 -0
  153. package/dist/clients/ops/ops-northflank.client.js +42 -0
  154. package/dist/clients/ops/ops-northflank.client.js.map +1 -0
  155. package/dist/clients/ops/ops-storage.client.d.ts +34 -0
  156. package/dist/clients/ops/ops-storage.client.d.ts.map +1 -0
  157. package/dist/clients/ops/ops-storage.client.js +39 -0
  158. package/dist/clients/ops/ops-storage.client.js.map +1 -0
  159. package/dist/clients/ops/projects-ops.client.d.ts +20 -0
  160. package/dist/clients/ops/projects-ops.client.d.ts.map +1 -0
  161. package/dist/clients/ops/projects-ops.client.js +18 -0
  162. package/dist/clients/ops/projects-ops.client.js.map +1 -0
  163. package/dist/clients/ops/realtime-ops.client.d.ts +14 -0
  164. package/dist/clients/ops/realtime-ops.client.d.ts.map +1 -0
  165. package/dist/clients/ops/realtime-ops.client.js +10 -0
  166. package/dist/clients/ops/realtime-ops.client.js.map +1 -0
  167. package/dist/clients/ops/sessions-ops.client.d.ts +29 -0
  168. package/dist/clients/ops/sessions-ops.client.d.ts.map +1 -0
  169. package/dist/clients/ops/sessions-ops.client.js +69 -0
  170. package/dist/clients/ops/sessions-ops.client.js.map +1 -0
  171. package/dist/clients/ops/tasks-ops.client.d.ts +18 -0
  172. package/dist/clients/ops/tasks-ops.client.d.ts.map +1 -0
  173. package/dist/clients/ops/tasks-ops.client.js +37 -0
  174. package/dist/clients/ops/tasks-ops.client.js.map +1 -0
  175. package/dist/clients/ops/tool-calls-ops.client.d.ts +12 -0
  176. package/dist/clients/ops/tool-calls-ops.client.d.ts.map +1 -0
  177. package/dist/clients/ops/tool-calls-ops.client.js +29 -0
  178. package/dist/clients/ops/tool-calls-ops.client.js.map +1 -0
  179. package/dist/clients/ops/usage-workflows-ops.client.d.ts +22 -0
  180. package/dist/clients/ops/usage-workflows-ops.client.d.ts.map +1 -0
  181. package/dist/clients/ops/usage-workflows-ops.client.js +23 -0
  182. package/dist/clients/ops/usage-workflows-ops.client.js.map +1 -0
  183. package/dist/factory/admin-sdk.d.ts +53 -0
  184. package/dist/factory/admin-sdk.d.ts.map +1 -0
  185. package/dist/factory/admin-sdk.js +59 -0
  186. package/dist/factory/admin-sdk.js.map +1 -0
  187. package/dist/factory/agent-sdk.d.ts +22 -0
  188. package/dist/factory/agent-sdk.d.ts.map +1 -0
  189. package/dist/factory/agent-sdk.js +22 -0
  190. package/dist/factory/agent-sdk.js.map +1 -0
  191. package/dist/factory/ops-sdk.d.ts +53 -0
  192. package/dist/factory/ops-sdk.d.ts.map +1 -0
  193. package/dist/factory/ops-sdk.js +56 -0
  194. package/dist/factory/ops-sdk.js.map +1 -0
  195. package/dist/index.d.ts +37 -0
  196. package/dist/index.d.ts.map +1 -0
  197. package/dist/index.js +45 -0
  198. package/dist/index.js.map +1 -0
  199. package/dist/legacy/sdk-factory.d.ts +34 -0
  200. package/dist/legacy/sdk-factory.d.ts.map +1 -0
  201. package/dist/legacy/sdk-factory.js +34 -0
  202. package/dist/legacy/sdk-factory.js.map +1 -0
  203. package/dist/lib/context.d.ts +69 -0
  204. package/dist/lib/context.d.ts.map +1 -0
  205. package/dist/lib/context.js +225 -0
  206. package/dist/lib/context.js.map +1 -0
  207. package/dist/lib/db.d.ts +16 -0
  208. package/dist/lib/db.d.ts.map +1 -0
  209. package/dist/lib/db.js +50 -0
  210. package/dist/lib/db.js.map +1 -0
  211. package/dist/lib/logger.d.ts +14 -0
  212. package/dist/lib/logger.d.ts.map +1 -0
  213. package/dist/lib/logger.js +14 -0
  214. package/dist/lib/logger.js.map +1 -0
  215. package/dist/lib/opencode.d.ts +33 -0
  216. package/dist/lib/opencode.d.ts.map +1 -0
  217. package/dist/lib/opencode.js +101 -0
  218. package/dist/lib/opencode.js.map +1 -0
  219. package/dist/lib/utils.d.ts +18 -0
  220. package/dist/lib/utils.d.ts.map +1 -0
  221. package/dist/lib/utils.js +40 -0
  222. package/dist/lib/utils.js.map +1 -0
  223. package/dist/manifest.d.ts +26 -0
  224. package/dist/manifest.d.ts.map +1 -0
  225. package/dist/manifest.js +700 -0
  226. package/dist/manifest.js.map +1 -0
  227. package/dist/realtime/realtime.client.d.ts +76 -0
  228. package/dist/realtime/realtime.client.d.ts.map +1 -0
  229. package/dist/realtime/realtime.client.js +168 -0
  230. package/dist/realtime/realtime.client.js.map +1 -0
  231. package/dist/transport/binary-client.d.ts +23 -0
  232. package/dist/transport/binary-client.d.ts.map +1 -0
  233. package/dist/transport/binary-client.js +69 -0
  234. package/dist/transport/binary-client.js.map +1 -0
  235. package/dist/transport/errors.d.ts +14 -0
  236. package/dist/transport/errors.d.ts.map +1 -0
  237. package/dist/transport/errors.js +57 -0
  238. package/dist/transport/errors.js.map +1 -0
  239. package/dist/transport/http-client.d.ts +23 -0
  240. package/dist/transport/http-client.d.ts.map +1 -0
  241. package/dist/transport/http-client.js +88 -0
  242. package/dist/transport/http-client.js.map +1 -0
  243. package/dist/transport/multipart-client.d.ts +25 -0
  244. package/dist/transport/multipart-client.d.ts.map +1 -0
  245. package/dist/transport/multipart-client.js +87 -0
  246. package/dist/transport/multipart-client.js.map +1 -0
  247. package/dist/transport/ops-api-client.d.ts +39 -0
  248. package/dist/transport/ops-api-client.d.ts.map +1 -0
  249. package/dist/transport/ops-api-client.js +153 -0
  250. package/dist/transport/ops-api-client.js.map +1 -0
  251. package/dist/transport/sse-client.d.ts +33 -0
  252. package/dist/transport/sse-client.d.ts.map +1 -0
  253. package/dist/transport/sse-client.js +127 -0
  254. package/dist/transport/sse-client.js.map +1 -0
  255. package/package.json +32 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * RealtimeSdkClient — F141
3
+ *
4
+ * Browser-focused SSE client for GET /api/v1/realtime/subscribe.
5
+ * EventEmitter-based pattern with auto-reconnect.
6
+ *
7
+ * Uses event-source-polyfill for Authorization-header support.
8
+ * Native EventSource does not support custom request headers.
9
+ * INV-18: tokens are passed via Authorization header — never in the URL.
10
+ */
11
+ import type { RealtimeChannel, RealtimePayload, RealtimeEventType } from '@beacon-build/core';
12
+ export interface RealtimeSdkClientConfig {
13
+ /** Base URL for the API, e.g. 'https://api.beacon.build' */
14
+ baseUrl: string;
15
+ /** User-JWT, Agent-JWT, or Ops-Key */
16
+ authToken: string;
17
+ /** Channels to subscribe to (max 10 — INV-10) */
18
+ channels: RealtimeChannel[];
19
+ onConnect?: () => void;
20
+ onDisconnect?: (reason: 'server-closed' | 'network-error' | 'manual') => void;
21
+ onError?: (error: Error) => void;
22
+ reconnect?: {
23
+ /** default: true */
24
+ enabled?: boolean;
25
+ /** default: Infinity */
26
+ maxAttempts?: number;
27
+ /** default: 1000ms */
28
+ baseDelayMs?: number;
29
+ /** default: 30000ms */
30
+ maxDelayMs?: number;
31
+ };
32
+ }
33
+ type EventHandler = (data: Record<string, unknown>) => void;
34
+ type WildcardHandler = (payload: RealtimePayload) => void;
35
+ type LifecycleHandler = (...args: unknown[]) => void;
36
+ /**
37
+ * EventEmitter-style SSE client for the beacon Realtime API.
38
+ *
39
+ * Usage:
40
+ * ```ts
41
+ * const client = new RealtimeSdkClient({ baseUrl, authToken, channels: ['actor:<uuid>'] })
42
+ * client.on(RealtimeEventType.TASK_ASSIGNED, (data) => handleData(data))
43
+ * client.on('*', (payload) => handlePayload(payload))
44
+ * client.connect()
45
+ * ```
46
+ */
47
+ export declare class RealtimeSdkClient {
48
+ private config;
49
+ private es;
50
+ private disconnected;
51
+ private reconnectAttempts;
52
+ private reconnectTimer;
53
+ private eventHandlers;
54
+ private wildcardHandlers;
55
+ private lifecycleHandlers;
56
+ constructor(config: RealtimeSdkClientConfig);
57
+ on(eventType: RealtimeEventType, handler: EventHandler): this;
58
+ on(wildcard: '*', handler: WildcardHandler): this;
59
+ on(lifecycle: 'connect' | 'disconnect' | 'error', handler: LifecycleHandler): this;
60
+ /**
61
+ * Open the SSE connection. Idempotent — no-op if already connected.
62
+ * INV-12: once disconnect() is called, connect() does nothing.
63
+ */
64
+ connect(): void;
65
+ /**
66
+ * Permanently close the connection. Idempotent — no-op on repeated calls.
67
+ * INV-12: final — no reconnect after disconnect().
68
+ */
69
+ disconnect(): void;
70
+ private _open;
71
+ private _teardown;
72
+ private _scheduleReconnect;
73
+ private _emitLifecycle;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=realtime.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.client.d.ts","sourceRoot":"","sources":["../../src/realtime/realtime.client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAI7F,MAAM,WAAW,uBAAuB;IACpC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,iDAAiD;IACjD,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,GAAG,eAAe,GAAG,QAAQ,KAAK,IAAI,CAAA;IAC7E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE;QACR,oBAAoB;QACpB,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,wBAAwB;QACxB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,sBAAsB;QACtB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,uBAAuB;QACvB,UAAU,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACJ;AAkBD,KAAK,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;AAC3D,KAAK,eAAe,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAA;AACzD,KAAK,gBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;AAIpD;;;;;;;;;;GAUG;AACH,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,EAAE,CAAwD;IAClE,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,cAAc,CAA6C;IAEnE,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,iBAAiB,CAAwC;gBAErD,MAAM,EAAE,uBAAuB;IAmB3C,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI;IAC7D,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IACjD,EAAE,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,GAAG,OAAO,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAmBlF;;;OAGG;IACH,OAAO,IAAI,IAAI;IAMf;;;OAGG;IACH,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,KAAK;IAgDb,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,cAAc;CAIzB"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * RealtimeSdkClient — F141
3
+ *
4
+ * Browser-focused SSE client for GET /api/v1/realtime/subscribe.
5
+ * EventEmitter-based pattern with auto-reconnect.
6
+ *
7
+ * Uses event-source-polyfill for Authorization-header support.
8
+ * Native EventSource does not support custom request headers.
9
+ * INV-18: tokens are passed via Authorization header — never in the URL.
10
+ */
11
+ import { EventSourcePolyfill } from 'event-source-polyfill';
12
+ // ─── RealtimeSdkClient ────────────────────────────────────────────────────────
13
+ /**
14
+ * EventEmitter-style SSE client for the beacon Realtime API.
15
+ *
16
+ * Usage:
17
+ * ```ts
18
+ * const client = new RealtimeSdkClient({ baseUrl, authToken, channels: ['actor:<uuid>'] })
19
+ * client.on(RealtimeEventType.TASK_ASSIGNED, (data) => handleData(data))
20
+ * client.on('*', (payload) => handlePayload(payload))
21
+ * client.connect()
22
+ * ```
23
+ */
24
+ export class RealtimeSdkClient {
25
+ config;
26
+ es = null;
27
+ disconnected = false;
28
+ reconnectAttempts = 0;
29
+ reconnectTimer = null;
30
+ eventHandlers = new Map();
31
+ wildcardHandlers = [];
32
+ lifecycleHandlers = new Map();
33
+ constructor(config) {
34
+ this.config = {
35
+ baseUrl: config.baseUrl,
36
+ authToken: config.authToken,
37
+ channels: config.channels,
38
+ onConnect: config.onConnect,
39
+ onDisconnect: config.onDisconnect,
40
+ onError: config.onError,
41
+ reconnect: {
42
+ enabled: config.reconnect?.enabled ?? true,
43
+ maxAttempts: config.reconnect?.maxAttempts ?? Infinity,
44
+ baseDelayMs: config.reconnect?.baseDelayMs ?? 1000,
45
+ maxDelayMs: config.reconnect?.maxDelayMs ?? 30000,
46
+ },
47
+ };
48
+ }
49
+ // Implementation signature — not visible outside class
50
+ on(event, handler) {
51
+ if (event === '*') {
52
+ this.wildcardHandlers.push(handler);
53
+ }
54
+ else if (event === 'connect' || event === 'disconnect' || event === 'error') {
55
+ const existing = this.lifecycleHandlers.get(event) ?? [];
56
+ existing.push(handler);
57
+ this.lifecycleHandlers.set(event, existing);
58
+ }
59
+ else {
60
+ const existing = this.eventHandlers.get(event) ?? [];
61
+ existing.push(handler);
62
+ this.eventHandlers.set(event, existing);
63
+ }
64
+ return this;
65
+ }
66
+ // ─── connect/disconnect ─────────────────────────────────────────────────
67
+ /**
68
+ * Open the SSE connection. Idempotent — no-op if already connected.
69
+ * INV-12: once disconnect() is called, connect() does nothing.
70
+ */
71
+ connect() {
72
+ if (this.disconnected)
73
+ return;
74
+ if (this.es)
75
+ return;
76
+ this._open();
77
+ }
78
+ /**
79
+ * Permanently close the connection. Idempotent — no-op on repeated calls.
80
+ * INV-12: final — no reconnect after disconnect().
81
+ */
82
+ disconnect() {
83
+ if (this.disconnected)
84
+ return;
85
+ this.disconnected = true;
86
+ this._teardown('manual');
87
+ }
88
+ // ─── Internal ───────────────────────────────────────────────────────────
89
+ _open() {
90
+ if (this.disconnected)
91
+ return;
92
+ const channelsParam = this.config.channels.map(encodeURIComponent).join(',');
93
+ const url = `${this.config.baseUrl}/api/v1/realtime/subscribe?channels=${channelsParam}`;
94
+ // INV-18: token in Authorization header — never in URL
95
+ const es = new EventSourcePolyfill(url, {
96
+ headers: {
97
+ Authorization: `Bearer ${this.config.authToken}`,
98
+ },
99
+ withCredentials: false,
100
+ });
101
+ this.es = es;
102
+ es.addEventListener('connected', () => {
103
+ this.reconnectAttempts = 0;
104
+ this.config.onConnect?.();
105
+ this._emitLifecycle('connect');
106
+ });
107
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
+ es.addEventListener('message', (e) => {
109
+ try {
110
+ const payload = JSON.parse(e.data);
111
+ // Wildcard handlers get full payload
112
+ for (const h of this.wildcardHandlers)
113
+ h(payload);
114
+ // Event-type handlers get only data
115
+ const typeHandlers = this.eventHandlers.get(payload.eventType);
116
+ if (typeHandlers) {
117
+ for (const h of typeHandlers)
118
+ h(payload.data);
119
+ }
120
+ }
121
+ catch {
122
+ // Unparseable message — ignore
123
+ }
124
+ });
125
+ es.onerror = () => {
126
+ const err = new Error('SSE connection error');
127
+ this.config.onError?.(err);
128
+ this._emitLifecycle('error', err);
129
+ this._teardown('network-error');
130
+ this._scheduleReconnect();
131
+ };
132
+ }
133
+ _teardown(reason) {
134
+ if (this.reconnectTimer) {
135
+ clearTimeout(this.reconnectTimer);
136
+ this.reconnectTimer = null;
137
+ }
138
+ if (this.es) {
139
+ this.es.close();
140
+ this.es = null;
141
+ }
142
+ this.config.onDisconnect?.(reason);
143
+ this._emitLifecycle('disconnect', reason);
144
+ }
145
+ _scheduleReconnect() {
146
+ if (this.disconnected)
147
+ return;
148
+ const { enabled, maxAttempts, baseDelayMs, maxDelayMs } = this.config.reconnect;
149
+ if (!enabled)
150
+ return;
151
+ if (this.reconnectAttempts >= maxAttempts) {
152
+ this.config.onError?.(new Error('SSE max reconnect attempts reached'));
153
+ return;
154
+ }
155
+ const delay = Math.min(baseDelayMs * Math.pow(2, this.reconnectAttempts), maxDelayMs);
156
+ this.reconnectAttempts++;
157
+ this.reconnectTimer = setTimeout(() => {
158
+ this.reconnectTimer = null;
159
+ this._open();
160
+ }, delay);
161
+ }
162
+ _emitLifecycle(event, arg) {
163
+ const handlers = this.lifecycleHandlers.get(event) ?? [];
164
+ for (const h of handlers)
165
+ h(arg);
166
+ }
167
+ }
168
+ //# sourceMappingURL=realtime.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime.client.js","sourceRoot":"","sources":["../../src/realtime/realtime.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export interface BinaryDownloadResult {
2
+ blob: Blob;
3
+ contentType: string;
4
+ contentLength: number | null;
5
+ filename: string | null;
6
+ }
7
+ export interface BinaryClientConfig {
8
+ baseUrl: string;
9
+ basePath?: string;
10
+ getAuthHeader: () => Promise<string>;
11
+ onUnauthorized?: () => void;
12
+ }
13
+ /**
14
+ * BinaryClient — Binary download transport for storage proxy endpoints.
15
+ * Returns Blob + metadata (contentType, contentLength, filename from Content-Disposition).
16
+ * INV-15: binary-specific transport layer.
17
+ */
18
+ export declare class BinaryClient {
19
+ private config;
20
+ constructor(config: BinaryClientConfig);
21
+ download(path: string): Promise<BinaryDownloadResult>;
22
+ }
23
+ //# sourceMappingURL=binary-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-client.d.ts","sourceRoot":"","sources":["../../src/transport/binary-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,IAAI,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACT,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,kBAAkB;IAExC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAyC9D"}
@@ -0,0 +1,69 @@
1
+ import { SdkError, statusToSdkCode } from './errors.js';
2
+ /**
3
+ * BinaryClient — Binary download transport for storage proxy endpoints.
4
+ * Returns Blob + metadata (contentType, contentLength, filename from Content-Disposition).
5
+ * INV-15: binary-specific transport layer.
6
+ */
7
+ export class BinaryClient {
8
+ config;
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ async download(path) {
13
+ let authHeader;
14
+ try {
15
+ authHeader = await this.config.getAuthHeader();
16
+ }
17
+ catch {
18
+ throw new SdkError('unauthorized', 'Failed to retrieve access token');
19
+ }
20
+ const basePath = this.config.basePath ?? '/api/v1';
21
+ const url = `${this.config.baseUrl}${basePath}${path}`;
22
+ let res;
23
+ try {
24
+ res = await fetch(url, {
25
+ headers: { Authorization: authHeader },
26
+ });
27
+ }
28
+ catch (err) {
29
+ throw new SdkError('network_error', err instanceof Error ? err.message : 'Network request failed');
30
+ }
31
+ if (res.status === 401) {
32
+ this.config.onUnauthorized?.();
33
+ throw new SdkError('unauthorized', 'Unauthorized', 401);
34
+ }
35
+ if (!res.ok) {
36
+ const code = statusToSdkCode(res.status);
37
+ throw new SdkError(code, `HTTP ${res.status}`, res.status);
38
+ }
39
+ const blob = await res.blob();
40
+ const contentType = res.headers.get('content-type') ?? 'application/octet-stream';
41
+ const contentLengthHeader = res.headers.get('content-length');
42
+ const contentLength = contentLengthHeader ? parseInt(contentLengthHeader, 10) : null;
43
+ const filename = parseFilenameFromContentDisposition(res.headers.get('content-disposition'));
44
+ return { blob, contentType, contentLength, filename };
45
+ }
46
+ }
47
+ function parseFilenameFromContentDisposition(header) {
48
+ if (!header)
49
+ return null;
50
+ // filename*=UTF-8''encoded or filename="quoted"
51
+ const utf8Match = header.match(/filename\*=UTF-8''([^;]+)/i);
52
+ if (utf8Match) {
53
+ try {
54
+ return decodeURIComponent(utf8Match[1]);
55
+ }
56
+ catch {
57
+ // Malformed percent-encoding — return the raw value rather than throwing
58
+ return utf8Match[1];
59
+ }
60
+ }
61
+ const quotedMatch = header.match(/filename="([^"]+)"/i);
62
+ if (quotedMatch)
63
+ return quotedMatch[1];
64
+ const plainMatch = header.match(/filename=([^;]+)/i);
65
+ if (plainMatch)
66
+ return plainMatch[1].trim();
67
+ return null;
68
+ }
69
+ //# sourceMappingURL=binary-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binary-client.js","sourceRoot":"","sources":["../../src/transport/binary-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAgBvD;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACD;IAApB,YAAoB,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAElD,KAAK,CAAC,QAAQ,CAAC,IAAY;QACvB,IAAI,UAAkB,CAAA;QACtB,IAAI,CAAC;YACD,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAA;QAClD,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAA;QACzE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAA;QAClD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,QAAQ,GAAG,IAAI,EAAE,CAAA;QAEtD,IAAI,GAAa,CAAA;QACjB,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBACnB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE;aACzC,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,IAAI,QAAQ,CACd,eAAe,EACf,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAChE,CAAA;QACL,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAA;YAC9B,MAAM,IAAI,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACxC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAC9D,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAA;QACjF,MAAM,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;QAC7D,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACpF,MAAM,QAAQ,GAAG,mCAAmC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAA;QAE5F,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;IACzD,CAAC;CACJ;AAED,SAAS,mCAAmC,CAAC,MAAqB;IAC9D,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IACxB,gDAAgD;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC5D,IAAI,SAAS,EAAE,CAAC;QACZ,IAAI,CAAC;YACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,CAAC;QAAC,MAAM,CAAC;YACL,yEAAyE;YACzE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAA;QACvB,CAAC;IACL,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACvD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACpD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,IAAI,CAAA;AACf,CAAC"}
@@ -0,0 +1,14 @@
1
+ export type SdkErrorCode = 'unauthorized' | 'forbidden' | 'not_found' | 'conflict' | 'validation' | 'invalid_transition' | 'rate_limited' | 'server_error' | 'service_unavailable' | 'network_error';
2
+ export declare class SdkError extends Error {
3
+ readonly code: SdkErrorCode;
4
+ readonly status?: number | undefined;
5
+ constructor(code: SdkErrorCode, message: string, status?: number | undefined);
6
+ }
7
+ export declare function statusToSdkCode(status: number): SdkErrorCode;
8
+ /**
9
+ * Map an API-level error code (from response body `{ code: '...' }`) to an SdkErrorCode.
10
+ * Takes precedence over status-based mapping when the body code is present.
11
+ * Falls back to statusToSdkCode when the body code is unrecognised.
12
+ */
13
+ export declare function apiCodeToSdkCode(apiCode: string, status: number): SdkErrorCode;
14
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/transport/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAClB,cAAc,GACd,WAAW,GACX,WAAW,GACX,UAAU,GACV,YAAY,GACZ,oBAAoB,GACpB,cAAc,GACd,cAAc,GACd,qBAAqB,GACrB,eAAe,CAAA;AAErB,qBAAa,QAAS,SAAQ,KAAK;aAEX,IAAI,EAAE,YAAY;aAElB,MAAM,CAAC,EAAE,MAAM;gBAFf,IAAI,EAAE,YAAY,EAClC,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA;CAKtC;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAoB5D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAmB9E"}
@@ -0,0 +1,57 @@
1
+ export class SdkError extends Error {
2
+ code;
3
+ status;
4
+ constructor(code, message, status) {
5
+ super(message);
6
+ this.code = code;
7
+ this.status = status;
8
+ this.name = 'SdkError';
9
+ }
10
+ }
11
+ export function statusToSdkCode(status) {
12
+ switch (status) {
13
+ case 401:
14
+ return 'unauthorized';
15
+ case 403:
16
+ return 'forbidden';
17
+ case 404:
18
+ return 'not_found';
19
+ case 409:
20
+ return 'conflict';
21
+ case 422:
22
+ // 422 is used for both VALIDATION and INVALID_TRANSITION — resolve via body.code
23
+ return 'invalid_transition';
24
+ case 429:
25
+ return 'rate_limited';
26
+ case 503:
27
+ return 'service_unavailable';
28
+ default:
29
+ return 'server_error';
30
+ }
31
+ }
32
+ /**
33
+ * Map an API-level error code (from response body `{ code: '...' }`) to an SdkErrorCode.
34
+ * Takes precedence over status-based mapping when the body code is present.
35
+ * Falls back to statusToSdkCode when the body code is unrecognised.
36
+ */
37
+ export function apiCodeToSdkCode(apiCode, status) {
38
+ switch (apiCode.toUpperCase()) {
39
+ case 'VALIDATION':
40
+ return 'validation';
41
+ case 'INVALID_TRANSITION':
42
+ return 'invalid_transition';
43
+ case 'NOT_FOUND':
44
+ return 'not_found';
45
+ case 'CONFLICT':
46
+ return 'conflict';
47
+ case 'UNAUTHORIZED':
48
+ return 'unauthorized';
49
+ case 'FORBIDDEN':
50
+ return 'forbidden';
51
+ case 'RATE_LIMITED':
52
+ return 'rate_limited';
53
+ default:
54
+ return statusToSdkCode(status);
55
+ }
56
+ }
57
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/transport/errors.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,QAAS,SAAQ,KAAK;IAEX;IAEA;IAHpB,YACoB,IAAkB,EAClC,OAAe,EACC,MAAe;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAA;QAJE,SAAI,GAAJ,IAAI,CAAc;QAElB,WAAM,GAAN,MAAM,CAAS;QAG/B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IAC1B,CAAC;CACJ;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC1C,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,GAAG;YACJ,OAAO,cAAc,CAAA;QACzB,KAAK,GAAG;YACJ,OAAO,WAAW,CAAA;QACtB,KAAK,GAAG;YACJ,OAAO,WAAW,CAAA;QACtB,KAAK,GAAG;YACJ,OAAO,UAAU,CAAA;QACrB,KAAK,GAAG;YACJ,iFAAiF;YACjF,OAAO,oBAAoB,CAAA;QAC/B,KAAK,GAAG;YACJ,OAAO,cAAc,CAAA;QACzB,KAAK,GAAG;YACJ,OAAO,qBAAqB,CAAA;QAChC;YACI,OAAO,cAAc,CAAA;IAC7B,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,MAAc;IAC5D,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5B,KAAK,YAAY;YACb,OAAO,YAAY,CAAA;QACvB,KAAK,oBAAoB;YACrB,OAAO,oBAAoB,CAAA;QAC/B,KAAK,WAAW;YACZ,OAAO,WAAW,CAAA;QACtB,KAAK,UAAU;YACX,OAAO,UAAU,CAAA;QACrB,KAAK,cAAc;YACf,OAAO,cAAc,CAAA;QACzB,KAAK,WAAW;YACZ,OAAO,WAAW,CAAA;QACtB,KAAK,cAAc;YACf,OAAO,cAAc,CAAA;QACzB;YACI,OAAO,eAAe,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;AACL,CAAC"}
@@ -0,0 +1,23 @@
1
+ export interface HttpClientConfig {
2
+ baseUrl: string;
3
+ /** Base path prefix appended before each request path (e.g. '/api/agent/v1') */
4
+ basePath?: string;
5
+ getToken: () => string | Promise<string>;
6
+ onUnauthorized?: () => void;
7
+ }
8
+ /**
9
+ * HttpClient — JSON HTTP wrapper for User-JWT and Agent-JWT authenticated requests.
10
+ * No retry — POST idempotency is not guaranteed. Consumers handle retry themselves.
11
+ * INV-13: no automatic retry.
12
+ */
13
+ export declare class HttpClient {
14
+ private config;
15
+ constructor(config: HttpClientConfig);
16
+ private request;
17
+ get<T>(path: string): Promise<T>;
18
+ post<T>(path: string, body?: unknown): Promise<T>;
19
+ patch<T>(path: string, body: unknown): Promise<T>;
20
+ put<T>(path: string, body?: unknown): Promise<T>;
21
+ delete<T>(path: string): Promise<T>;
22
+ }
23
+ //# sourceMappingURL=http-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;;;;GAIG;AACH,qBAAa,UAAU;IACP,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;YAE9B,OAAO;IAsDrB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjD,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOjD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOhD,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAGtC"}
@@ -0,0 +1,88 @@
1
+ import { SdkError, apiCodeToSdkCode, statusToSdkCode } from './errors.js';
2
+ /**
3
+ * HttpClient — JSON HTTP wrapper for User-JWT and Agent-JWT authenticated requests.
4
+ * No retry — POST idempotency is not guaranteed. Consumers handle retry themselves.
5
+ * INV-13: no automatic retry.
6
+ */
7
+ export class HttpClient {
8
+ config;
9
+ constructor(config) {
10
+ this.config = config;
11
+ }
12
+ async request(path, init = {}) {
13
+ let token;
14
+ try {
15
+ token = await this.config.getToken();
16
+ }
17
+ catch {
18
+ throw new SdkError('unauthorized', 'Failed to retrieve access token');
19
+ }
20
+ const basePath = this.config.basePath ?? '/api/agent/v1';
21
+ const url = `${this.config.baseUrl}${basePath}${path}`;
22
+ const headers = {
23
+ 'Content-Type': 'application/json',
24
+ Authorization: `Bearer ${token}`,
25
+ ...(init.headers ?? {}),
26
+ };
27
+ let res;
28
+ try {
29
+ res = await fetch(url, { ...init, headers });
30
+ }
31
+ catch (err) {
32
+ throw new SdkError('network_error', err instanceof Error ? err.message : 'Network request failed');
33
+ }
34
+ if (res.status === 401) {
35
+ this.config.onUnauthorized?.();
36
+ throw new SdkError('unauthorized', 'Unauthorized', 401);
37
+ }
38
+ if (!res.ok) {
39
+ let code = statusToSdkCode(res.status);
40
+ let message = `HTTP ${res.status}`;
41
+ try {
42
+ const body = await res.json();
43
+ // Prefer body.code for precise error classification (e.g. 422 VALIDATION vs INVALID_TRANSITION)
44
+ if (typeof body?.code === 'string')
45
+ code = apiCodeToSdkCode(body.code, res.status);
46
+ if (body?.error?.message)
47
+ message = body.error.message;
48
+ else if (typeof body?.error === 'string')
49
+ message = body.error;
50
+ }
51
+ catch {
52
+ // ignore parse errors
53
+ }
54
+ throw new SdkError(code, message, res.status);
55
+ }
56
+ // 204 No Content
57
+ if (res.status === 204)
58
+ return undefined;
59
+ const body = await res.json();
60
+ // Support both bare responses and { data: ... } envelope
61
+ return (body?.data !== undefined ? body.data : body);
62
+ }
63
+ get(path) {
64
+ return this.request(path);
65
+ }
66
+ post(path, body) {
67
+ return this.request(path, {
68
+ method: 'POST',
69
+ body: body !== undefined ? JSON.stringify(body) : undefined,
70
+ });
71
+ }
72
+ patch(path, body) {
73
+ return this.request(path, {
74
+ method: 'PATCH',
75
+ body: JSON.stringify(body),
76
+ });
77
+ }
78
+ put(path, body) {
79
+ return this.request(path, {
80
+ method: 'PUT',
81
+ body: body !== undefined ? JSON.stringify(body) : undefined,
82
+ });
83
+ }
84
+ delete(path) {
85
+ return this.request(path, { method: 'DELETE' });
86
+ }
87
+ }
88
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/transport/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface MultipartUploadOptions {
2
+ file: Blob | File | {
3
+ stream: ReadableStream;
4
+ filename: string;
5
+ contentType: string;
6
+ };
7
+ additionalFields?: Record<string, string>;
8
+ }
9
+ export interface MultipartClientConfig {
10
+ baseUrl: string;
11
+ basePath?: string;
12
+ getAuthHeader: () => Promise<string>;
13
+ onUnauthorized?: () => void;
14
+ }
15
+ /**
16
+ * MultipartClient — Multipart/form-data upload transport.
17
+ * Used for asset uploads, avatar uploads, and storage uploads.
18
+ * INV-14: multipart-specific transport layer.
19
+ */
20
+ export declare class MultipartClient {
21
+ private config;
22
+ constructor(config: MultipartClientConfig);
23
+ upload<T>(path: string, options: MultipartUploadOptions): Promise<T>;
24
+ }
25
+ //# sourceMappingURL=multipart-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart-client.d.ts","sourceRoot":"","sources":["../../src/transport/multipart-client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,qBAAqB;IAE3C,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC;CA+E7E"}