@zarel-ai/sdk 0.6.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 (375) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +412 -0
  3. package/dist/_internal/auth-headers.d.ts +19 -0
  4. package/dist/_internal/auth-headers.d.ts.map +1 -0
  5. package/dist/_internal/auth-headers.js +30 -0
  6. package/dist/_internal/auth-headers.js.map +1 -0
  7. package/dist/_internal/confirmation.d.ts +24 -0
  8. package/dist/_internal/confirmation.d.ts.map +1 -0
  9. package/dist/_internal/confirmation.js +54 -0
  10. package/dist/_internal/confirmation.js.map +1 -0
  11. package/dist/_internal/event-iterator.d.ts +18 -0
  12. package/dist/_internal/event-iterator.d.ts.map +1 -0
  13. package/dist/_internal/event-iterator.js +151 -0
  14. package/dist/_internal/event-iterator.js.map +1 -0
  15. package/dist/_internal/fetch-client.d.ts +141 -0
  16. package/dist/_internal/fetch-client.d.ts.map +1 -0
  17. package/dist/_internal/fetch-client.js +471 -0
  18. package/dist/_internal/fetch-client.js.map +1 -0
  19. package/dist/_internal/interceptors.d.ts +40 -0
  20. package/dist/_internal/interceptors.d.ts.map +1 -0
  21. package/dist/_internal/interceptors.js +28 -0
  22. package/dist/_internal/interceptors.js.map +1 -0
  23. package/dist/_internal/mcp.d.ts +11 -0
  24. package/dist/_internal/mcp.d.ts.map +1 -0
  25. package/dist/_internal/mcp.js +79 -0
  26. package/dist/_internal/mcp.js.map +1 -0
  27. package/dist/_internal/pagination.d.ts +71 -0
  28. package/dist/_internal/pagination.d.ts.map +1 -0
  29. package/dist/_internal/pagination.js +130 -0
  30. package/dist/_internal/pagination.js.map +1 -0
  31. package/dist/_internal/require-token.d.ts +17 -0
  32. package/dist/_internal/require-token.d.ts.map +1 -0
  33. package/dist/_internal/require-token.js +25 -0
  34. package/dist/_internal/require-token.js.map +1 -0
  35. package/dist/_internal/retry-after.d.ts +2 -0
  36. package/dist/_internal/retry-after.d.ts.map +1 -0
  37. package/dist/_internal/retry-after.js +34 -0
  38. package/dist/_internal/retry-after.js.map +1 -0
  39. package/dist/_internal/sse-client.d.ts +43 -0
  40. package/dist/_internal/sse-client.d.ts.map +1 -0
  41. package/dist/_internal/sse-client.js +250 -0
  42. package/dist/_internal/sse-client.js.map +1 -0
  43. package/dist/_internal/version.d.ts +5 -0
  44. package/dist/_internal/version.d.ts.map +1 -0
  45. package/dist/_internal/version.js +12 -0
  46. package/dist/_internal/version.js.map +1 -0
  47. package/dist/client.d.ts +74 -0
  48. package/dist/client.d.ts.map +1 -0
  49. package/dist/client.js +86 -0
  50. package/dist/client.js.map +1 -0
  51. package/dist/contract/_singleton.d.ts +18 -0
  52. package/dist/contract/_singleton.d.ts.map +1 -0
  53. package/dist/contract/_singleton.js +27 -0
  54. package/dist/contract/_singleton.js.map +1 -0
  55. package/dist/contract/actions.d.ts +18 -0
  56. package/dist/contract/actions.d.ts.map +1 -0
  57. package/dist/contract/actions.js +36 -0
  58. package/dist/contract/actions.js.map +1 -0
  59. package/dist/contract/assistant.d.ts +65 -0
  60. package/dist/contract/assistant.d.ts.map +1 -0
  61. package/dist/contract/assistant.js +44 -0
  62. package/dist/contract/assistant.js.map +1 -0
  63. package/dist/contract/batch.d.ts +27 -0
  64. package/dist/contract/batch.d.ts.map +1 -0
  65. package/dist/contract/batch.js +20 -0
  66. package/dist/contract/batch.js.map +1 -0
  67. package/dist/contract/capabilities.d.ts +21 -0
  68. package/dist/contract/capabilities.d.ts.map +1 -0
  69. package/dist/contract/capabilities.js +31 -0
  70. package/dist/contract/capabilities.js.map +1 -0
  71. package/dist/contract/constraints.d.ts +21 -0
  72. package/dist/contract/constraints.d.ts.map +1 -0
  73. package/dist/contract/constraints.js +31 -0
  74. package/dist/contract/constraints.js.map +1 -0
  75. package/dist/contract/events.d.ts +33 -0
  76. package/dist/contract/events.d.ts.map +1 -0
  77. package/dist/contract/events.js +56 -0
  78. package/dist/contract/events.js.map +1 -0
  79. package/dist/contract/flows.d.ts +44 -0
  80. package/dist/contract/flows.d.ts.map +1 -0
  81. package/dist/contract/flows.js +109 -0
  82. package/dist/contract/flows.js.map +1 -0
  83. package/dist/contract/governance.d.ts +6 -0
  84. package/dist/contract/governance.d.ts.map +1 -0
  85. package/dist/contract/governance.js +17 -0
  86. package/dist/contract/governance.js.map +1 -0
  87. package/dist/contract/index.d.ts +137 -0
  88. package/dist/contract/index.d.ts.map +1 -0
  89. package/dist/contract/index.js +177 -0
  90. package/dist/contract/index.js.map +1 -0
  91. package/dist/contract/metadata.d.ts +26 -0
  92. package/dist/contract/metadata.d.ts.map +1 -0
  93. package/dist/contract/metadata.js +25 -0
  94. package/dist/contract/metadata.js.map +1 -0
  95. package/dist/contract/process-model.d.ts +31 -0
  96. package/dist/contract/process-model.d.ts.map +1 -0
  97. package/dist/contract/process-model.js +51 -0
  98. package/dist/contract/process-model.js.map +1 -0
  99. package/dist/contract/roots/channels.d.ts +27 -0
  100. package/dist/contract/roots/channels.d.ts.map +1 -0
  101. package/dist/contract/roots/channels.js +53 -0
  102. package/dist/contract/roots/channels.js.map +1 -0
  103. package/dist/contract/roots/events.d.ts +7 -0
  104. package/dist/contract/roots/events.d.ts.map +1 -0
  105. package/dist/contract/roots/events.js +19 -0
  106. package/dist/contract/roots/events.js.map +1 -0
  107. package/dist/contract/roots/index.d.ts +15 -0
  108. package/dist/contract/roots/index.d.ts.map +1 -0
  109. package/dist/contract/roots/index.js +38 -0
  110. package/dist/contract/roots/index.js.map +1 -0
  111. package/dist/contract/roots/mcp-servers.d.ts +46 -0
  112. package/dist/contract/roots/mcp-servers.d.ts.map +1 -0
  113. package/dist/contract/roots/mcp-servers.js +68 -0
  114. package/dist/contract/roots/mcp-servers.js.map +1 -0
  115. package/dist/contract/roots/profiles.d.ts +18 -0
  116. package/dist/contract/roots/profiles.d.ts.map +1 -0
  117. package/dist/contract/roots/profiles.js +31 -0
  118. package/dist/contract/roots/profiles.js.map +1 -0
  119. package/dist/contract/roots/timezone.d.ts +10 -0
  120. package/dist/contract/roots/timezone.d.ts.map +1 -0
  121. package/dist/contract/roots/timezone.js +19 -0
  122. package/dist/contract/roots/timezone.js.map +1 -0
  123. package/dist/contract/roots/treatment.d.ts +11 -0
  124. package/dist/contract/roots/treatment.d.ts.map +1 -0
  125. package/dist/contract/roots/treatment.js +37 -0
  126. package/dist/contract/roots/treatment.js.map +1 -0
  127. package/dist/contract/roots/vocabulary.d.ts +18 -0
  128. package/dist/contract/roots/vocabulary.d.ts.map +1 -0
  129. package/dist/contract/roots/vocabulary.js +31 -0
  130. package/dist/contract/roots/vocabulary.js.map +1 -0
  131. package/dist/contract/schemas.d.ts +18 -0
  132. package/dist/contract/schemas.d.ts.map +1 -0
  133. package/dist/contract/schemas.js +31 -0
  134. package/dist/contract/schemas.js.map +1 -0
  135. package/dist/contract/skills.d.ts +20 -0
  136. package/dist/contract/skills.d.ts.map +1 -0
  137. package/dist/contract/skills.js +36 -0
  138. package/dist/contract/skills.js.map +1 -0
  139. package/dist/errors.d.ts +65 -0
  140. package/dist/errors.d.ts.map +1 -0
  141. package/dist/errors.js +80 -0
  142. package/dist/errors.js.map +1 -0
  143. package/dist/generated/contract.d.ts +7688 -0
  144. package/dist/generated/contract.d.ts.map +1 -0
  145. package/dist/generated/contract.js +7 -0
  146. package/dist/generated/contract.js.map +1 -0
  147. package/dist/generated/index.d.ts +41 -0
  148. package/dist/generated/index.d.ts.map +1 -0
  149. package/dist/generated/index.js +3 -0
  150. package/dist/generated/index.js.map +1 -0
  151. package/dist/generated/runtime.d.ts +4020 -0
  152. package/dist/generated/runtime.d.ts.map +1 -0
  153. package/dist/generated/runtime.js +7 -0
  154. package/dist/generated/runtime.js.map +1 -0
  155. package/dist/generated/unwrap-map.d.ts +989 -0
  156. package/dist/generated/unwrap-map.d.ts.map +1 -0
  157. package/dist/generated/unwrap-map.js +344 -0
  158. package/dist/generated/unwrap-map.js.map +1 -0
  159. package/dist/index.d.ts +38 -0
  160. package/dist/index.d.ts.map +1 -0
  161. package/dist/index.js +27 -0
  162. package/dist/index.js.map +1 -0
  163. package/dist/resources/actions.d.ts +33 -0
  164. package/dist/resources/actions.d.ts.map +1 -0
  165. package/dist/resources/actions.js +52 -0
  166. package/dist/resources/actions.js.map +1 -0
  167. package/dist/resources/audit.d.ts +52 -0
  168. package/dist/resources/audit.d.ts.map +1 -0
  169. package/dist/resources/audit.js +86 -0
  170. package/dist/resources/audit.js.map +1 -0
  171. package/dist/resources/authorization-ceiling.d.ts +25 -0
  172. package/dist/resources/authorization-ceiling.d.ts.map +1 -0
  173. package/dist/resources/authorization-ceiling.js +26 -0
  174. package/dist/resources/authorization-ceiling.js.map +1 -0
  175. package/dist/resources/authorization-operation-ids.d.ts +15 -0
  176. package/dist/resources/authorization-operation-ids.d.ts.map +1 -0
  177. package/dist/resources/authorization-operation-ids.js +31 -0
  178. package/dist/resources/authorization-operation-ids.js.map +1 -0
  179. package/dist/resources/authorization.d.ts +60 -0
  180. package/dist/resources/authorization.d.ts.map +1 -0
  181. package/dist/resources/authorization.js +51 -0
  182. package/dist/resources/authorization.js.map +1 -0
  183. package/dist/resources/authorizations.d.ts +38 -0
  184. package/dist/resources/authorizations.d.ts.map +1 -0
  185. package/dist/resources/authorizations.js +19 -0
  186. package/dist/resources/authorizations.js.map +1 -0
  187. package/dist/resources/channels.d.ts +36 -0
  188. package/dist/resources/channels.d.ts.map +1 -0
  189. package/dist/resources/channels.js +61 -0
  190. package/dist/resources/channels.js.map +1 -0
  191. package/dist/resources/contracts.d.ts +46 -0
  192. package/dist/resources/contracts.d.ts.map +1 -0
  193. package/dist/resources/contracts.js +86 -0
  194. package/dist/resources/contracts.js.map +1 -0
  195. package/dist/resources/conversation-sessions.d.ts +62 -0
  196. package/dist/resources/conversation-sessions.d.ts.map +1 -0
  197. package/dist/resources/conversation-sessions.js +48 -0
  198. package/dist/resources/conversation-sessions.js.map +1 -0
  199. package/dist/resources/conversation.d.ts +48 -0
  200. package/dist/resources/conversation.d.ts.map +1 -0
  201. package/dist/resources/conversation.js +104 -0
  202. package/dist/resources/conversation.js.map +1 -0
  203. package/dist/resources/embedding-credentials.d.ts +60 -0
  204. package/dist/resources/embedding-credentials.d.ts.map +1 -0
  205. package/dist/resources/embedding-credentials.js +53 -0
  206. package/dist/resources/embedding-credentials.js.map +1 -0
  207. package/dist/resources/entities.d.ts +66 -0
  208. package/dist/resources/entities.d.ts.map +1 -0
  209. package/dist/resources/entities.js +106 -0
  210. package/dist/resources/entities.js.map +1 -0
  211. package/dist/resources/events.d.ts +45 -0
  212. package/dist/resources/events.d.ts.map +1 -0
  213. package/dist/resources/events.js +71 -0
  214. package/dist/resources/events.js.map +1 -0
  215. package/dist/resources/flows.d.ts +45 -0
  216. package/dist/resources/flows.d.ts.map +1 -0
  217. package/dist/resources/flows.js +82 -0
  218. package/dist/resources/flows.js.map +1 -0
  219. package/dist/resources/imports.d.ts +8 -0
  220. package/dist/resources/imports.d.ts.map +1 -0
  221. package/dist/resources/imports.js +14 -0
  222. package/dist/resources/imports.js.map +1 -0
  223. package/dist/resources/index.d.ts +24 -0
  224. package/dist/resources/index.d.ts.map +1 -0
  225. package/dist/resources/index.js +41 -0
  226. package/dist/resources/index.js.map +1 -0
  227. package/dist/resources/llm-credentials.d.ts +47 -0
  228. package/dist/resources/llm-credentials.d.ts.map +1 -0
  229. package/dist/resources/llm-credentials.js +46 -0
  230. package/dist/resources/llm-credentials.js.map +1 -0
  231. package/dist/resources/llm-services.d.ts +46 -0
  232. package/dist/resources/llm-services.d.ts.map +1 -0
  233. package/dist/resources/llm-services.js +41 -0
  234. package/dist/resources/llm-services.js.map +1 -0
  235. package/dist/resources/mcp.d.ts +8 -0
  236. package/dist/resources/mcp.d.ts.map +1 -0
  237. package/dist/resources/mcp.js +25 -0
  238. package/dist/resources/mcp.js.map +1 -0
  239. package/dist/resources/receipts.d.ts +25 -0
  240. package/dist/resources/receipts.d.ts.map +1 -0
  241. package/dist/resources/receipts.js +54 -0
  242. package/dist/resources/receipts.js.map +1 -0
  243. package/dist/resources/records.d.ts +51 -0
  244. package/dist/resources/records.d.ts.map +1 -0
  245. package/dist/resources/records.js +103 -0
  246. package/dist/resources/records.js.map +1 -0
  247. package/dist/resources/role-assignments.d.ts +27 -0
  248. package/dist/resources/role-assignments.d.ts.map +1 -0
  249. package/dist/resources/role-assignments.js +40 -0
  250. package/dist/resources/role-assignments.js.map +1 -0
  251. package/dist/resources/roles.d.ts +39 -0
  252. package/dist/resources/roles.d.ts.map +1 -0
  253. package/dist/resources/roles.js +42 -0
  254. package/dist/resources/roles.js.map +1 -0
  255. package/dist/resources/runtime-entities.d.ts +23 -0
  256. package/dist/resources/runtime-entities.d.ts.map +1 -0
  257. package/dist/resources/runtime-entities.js +29 -0
  258. package/dist/resources/runtime-entities.js.map +1 -0
  259. package/dist/resources/state-machine.d.ts +45 -0
  260. package/dist/resources/state-machine.d.ts.map +1 -0
  261. package/dist/resources/state-machine.js +86 -0
  262. package/dist/resources/state-machine.js.map +1 -0
  263. package/dist/resources/system.d.ts +12 -0
  264. package/dist/resources/system.d.ts.map +1 -0
  265. package/dist/resources/system.js +26 -0
  266. package/dist/resources/system.js.map +1 -0
  267. package/dist/resources/tools.d.ts +22 -0
  268. package/dist/resources/tools.d.ts.map +1 -0
  269. package/dist/resources/tools.js +33 -0
  270. package/dist/resources/tools.js.map +1 -0
  271. package/dist/resources/traces.d.ts +65 -0
  272. package/dist/resources/traces.d.ts.map +1 -0
  273. package/dist/resources/traces.js +97 -0
  274. package/dist/resources/traces.js.map +1 -0
  275. package/dist/runtime/index.d.ts +128 -0
  276. package/dist/runtime/index.d.ts.map +1 -0
  277. package/dist/runtime/index.js +210 -0
  278. package/dist/runtime/index.js.map +1 -0
  279. package/dist/types/actions.d.ts +32 -0
  280. package/dist/types/actions.d.ts.map +1 -0
  281. package/dist/types/actions.js +9 -0
  282. package/dist/types/actions.js.map +1 -0
  283. package/dist/types/audit.d.ts +65 -0
  284. package/dist/types/audit.d.ts.map +1 -0
  285. package/dist/types/audit.js +14 -0
  286. package/dist/types/audit.js.map +1 -0
  287. package/dist/types/channels.d.ts +37 -0
  288. package/dist/types/channels.d.ts.map +1 -0
  289. package/dist/types/channels.js +6 -0
  290. package/dist/types/channels.js.map +1 -0
  291. package/dist/types/confirmation.d.ts +53 -0
  292. package/dist/types/confirmation.d.ts.map +1 -0
  293. package/dist/types/confirmation.js +17 -0
  294. package/dist/types/confirmation.js.map +1 -0
  295. package/dist/types/contracts.d.ts +194 -0
  296. package/dist/types/contracts.d.ts.map +1 -0
  297. package/dist/types/contracts.js +10 -0
  298. package/dist/types/contracts.js.map +1 -0
  299. package/dist/types/conversation-sessions.d.ts +58 -0
  300. package/dist/types/conversation-sessions.d.ts.map +1 -0
  301. package/dist/types/conversation-sessions.js +6 -0
  302. package/dist/types/conversation-sessions.js.map +1 -0
  303. package/dist/types/conversation.d.ts +96 -0
  304. package/dist/types/conversation.d.ts.map +1 -0
  305. package/dist/types/conversation.js +3 -0
  306. package/dist/types/conversation.js.map +1 -0
  307. package/dist/types/entities.d.ts +22 -0
  308. package/dist/types/entities.d.ts.map +1 -0
  309. package/dist/types/entities.js +4 -0
  310. package/dist/types/entities.js.map +1 -0
  311. package/dist/types/events-stream.d.ts +82 -0
  312. package/dist/types/events-stream.d.ts.map +1 -0
  313. package/dist/types/events-stream.js +65 -0
  314. package/dist/types/events-stream.js.map +1 -0
  315. package/dist/types/flows-contract.d.ts +8 -0
  316. package/dist/types/flows-contract.d.ts.map +1 -0
  317. package/dist/types/flows-contract.js +7 -0
  318. package/dist/types/flows-contract.js.map +1 -0
  319. package/dist/types/flows.d.ts +66 -0
  320. package/dist/types/flows.d.ts.map +1 -0
  321. package/dist/types/flows.js +25 -0
  322. package/dist/types/flows.js.map +1 -0
  323. package/dist/types/imports.d.ts +57 -0
  324. package/dist/types/imports.d.ts.map +1 -0
  325. package/dist/types/imports.js +3 -0
  326. package/dist/types/imports.js.map +1 -0
  327. package/dist/types/index.d.ts +17 -0
  328. package/dist/types/index.d.ts.map +1 -0
  329. package/dist/types/index.js +3 -0
  330. package/dist/types/index.js.map +1 -0
  331. package/dist/types/locale.d.ts +24 -0
  332. package/dist/types/locale.d.ts.map +1 -0
  333. package/dist/types/locale.js +17 -0
  334. package/dist/types/locale.js.map +1 -0
  335. package/dist/types/mcp.d.ts +28 -0
  336. package/dist/types/mcp.d.ts.map +1 -0
  337. package/dist/types/mcp.js +12 -0
  338. package/dist/types/mcp.js.map +1 -0
  339. package/dist/types/platform.d.ts +51 -0
  340. package/dist/types/platform.d.ts.map +1 -0
  341. package/dist/types/platform.js +4 -0
  342. package/dist/types/platform.js.map +1 -0
  343. package/dist/types/receipt.d.ts +79 -0
  344. package/dist/types/receipt.d.ts.map +1 -0
  345. package/dist/types/receipt.js +15 -0
  346. package/dist/types/receipt.js.map +1 -0
  347. package/dist/types/records.d.ts +45 -0
  348. package/dist/types/records.d.ts.map +1 -0
  349. package/dist/types/records.js +4 -0
  350. package/dist/types/records.js.map +1 -0
  351. package/dist/types/spec.d.ts +6 -0
  352. package/dist/types/spec.d.ts.map +1 -0
  353. package/dist/types/spec.js +3 -0
  354. package/dist/types/spec.js.map +1 -0
  355. package/dist/types/state-machine.d.ts +100 -0
  356. package/dist/types/state-machine.d.ts.map +1 -0
  357. package/dist/types/state-machine.js +9 -0
  358. package/dist/types/state-machine.js.map +1 -0
  359. package/dist/types/system.d.ts +28 -0
  360. package/dist/types/system.d.ts.map +1 -0
  361. package/dist/types/system.js +3 -0
  362. package/dist/types/system.js.map +1 -0
  363. package/dist/types/tools.d.ts +188 -0
  364. package/dist/types/tools.d.ts.map +1 -0
  365. package/dist/types/tools.js +22 -0
  366. package/dist/types/tools.js.map +1 -0
  367. package/dist/types/traces.d.ts +77 -0
  368. package/dist/types/traces.d.ts.map +1 -0
  369. package/dist/types/traces.js +11 -0
  370. package/dist/types/traces.js.map +1 -0
  371. package/dist/types/workflows.d.ts +42 -0
  372. package/dist/types/workflows.d.ts.map +1 -0
  373. package/dist/types/workflows.js +11 -0
  374. package/dist/types/workflows.js.map +1 -0
  375. package/package.json +103 -0
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ // Async-iterable (pull) view over the callback-based event stream. A thin,
3
+ // transport-agnostic adapter: it converts the push API (`onEvent`/`onError`)
4
+ // into an `AsyncIterableIterator` backed by a bounded FIFO buffer. It owns NO
5
+ // transport concern — no fetch, no auth, no SSE parsing, no reconnect; it drives
6
+ // an injected `open(handlers) => EventStreamHandle` (in production, that is
7
+ // `events.stream`). This keeps `events.stream` the single event-transport
8
+ // authority (QI-001) and the SDK dependency-free (QI-002).
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.createEventIterator = createEventIterator;
11
+ const DEFAULT_BUFFER_SIZE = 1024;
12
+ /**
13
+ * Build an `AsyncIterableIterator<RuntimeStreamEvent>` over `open`. The first
14
+ * `next()` (or entry into a `for await`) lazily opens the stream; `return()` /
15
+ * `throw()` / consumer `break` tear it down via the handle's idempotent `close()`.
16
+ */
17
+ function createEventIterator(open, config) {
18
+ // A non-finite `bufferSize` (NaN/Infinity) would make the `>= capacity`
19
+ // overflow guard never fire — defeating the bound the buffer exists to
20
+ // enforce — so fall back to the default for anything not a finite number.
21
+ const requested = config.bufferSize;
22
+ const capacity = typeof requested === 'number' && Number.isFinite(requested)
23
+ ? Math.max(1, Math.floor(requested))
24
+ : DEFAULT_BUFFER_SIZE;
25
+ const buffer = [];
26
+ let handle;
27
+ let started = false;
28
+ let done = false;
29
+ let dropped = 0;
30
+ let terminalError;
31
+ // The single waiter for an empty-buffer `next()`. Single-consumer by design.
32
+ let pending;
33
+ const teardown = () => {
34
+ if (done)
35
+ return;
36
+ done = true;
37
+ handle?.close();
38
+ };
39
+ const push = (event) => {
40
+ if (done)
41
+ return;
42
+ if (pending) {
43
+ // A consumer is waiting on an empty buffer — hand the event straight over.
44
+ const waiter = pending;
45
+ pending = undefined;
46
+ waiter.settle({ result: { value: event, done: false } });
47
+ return;
48
+ }
49
+ if (buffer.length >= capacity) {
50
+ // Drop the OLDEST queued event (loss-tolerant), keep the newest.
51
+ buffer.shift();
52
+ dropped += 1;
53
+ config.onDropped?.(dropped);
54
+ }
55
+ buffer.push(event);
56
+ };
57
+ const fail = (error) => {
58
+ if (done || terminalError)
59
+ return;
60
+ terminalError = { error };
61
+ // Surface immediately only if a consumer is parked on an empty buffer;
62
+ // otherwise buffered events drain first and the error surfaces on the
63
+ // `next()` that finds the buffer empty (data-before-error).
64
+ if (pending && buffer.length === 0) {
65
+ const waiter = pending;
66
+ pending = undefined;
67
+ done = true;
68
+ handle?.close();
69
+ waiter.settle({ error });
70
+ }
71
+ };
72
+ const ensureStarted = () => {
73
+ if (started)
74
+ return;
75
+ started = true;
76
+ handle = open({ onEvent: push, onError: fail }, config.streamOptions);
77
+ };
78
+ const next = async () => {
79
+ const buffered = buffer.shift();
80
+ if (buffered !== undefined) {
81
+ return { value: buffered, done: false };
82
+ }
83
+ if (terminalError) {
84
+ const { error } = terminalError;
85
+ // Surface the terminal error exactly once; a later pull ends cleanly.
86
+ terminalError = undefined;
87
+ teardown();
88
+ throw error;
89
+ }
90
+ if (done) {
91
+ return { value: undefined, done: true };
92
+ }
93
+ ensureStarted();
94
+ // The stream may already be torn down (e.g. an already-aborted signal):
95
+ // surface a clean end rather than parking forever.
96
+ if (config.streamOptions.signal?.aborted) {
97
+ teardown();
98
+ return { value: undefined, done: true };
99
+ }
100
+ if (pending) {
101
+ // Single-consumer by design: a second concurrent pull would orphan
102
+ // the first waiter. Fail loudly rather than hang silently.
103
+ throw new Error('events.iterate(): concurrent next() is not supported — consume the iterator sequentially (a single for-await loop).');
104
+ }
105
+ const settlement = await new Promise((resolve) => {
106
+ pending = { settle: resolve };
107
+ });
108
+ if ('error' in settlement)
109
+ throw settlement.error;
110
+ return settlement.result;
111
+ };
112
+ const settleDone = () => {
113
+ teardown();
114
+ // A consumer-driven end (break/return/throw) or abort wins over a
115
+ // previously-recorded stream error — it must not resurface afterwards.
116
+ terminalError = undefined;
117
+ if (pending) {
118
+ const waiter = pending;
119
+ pending = undefined;
120
+ waiter.settle({ result: { value: undefined, done: true } });
121
+ }
122
+ return { value: undefined, done: true };
123
+ };
124
+ const iterator = {
125
+ next,
126
+ return() {
127
+ return Promise.resolve(settleDone());
128
+ },
129
+ throw(error) {
130
+ settleDone();
131
+ // Re-raise the exact value the caller passed (the async-iterator
132
+ // protocol), via a throwing continuation rather than
133
+ // `Promise.reject` so the original (arbitrary) value is preserved.
134
+ return Promise.resolve().then(() => {
135
+ throw error;
136
+ });
137
+ },
138
+ [Symbol.asyncIterator]() {
139
+ return iterator;
140
+ },
141
+ };
142
+ // An already-aborted caller signal means "never start" — the first `next()`
143
+ // resolves done. A signal aborted mid-iteration is teardown via the
144
+ // underlying stream (it maps abort → close), which ends the buffer drain.
145
+ const signal = config.streamOptions.signal;
146
+ if (signal && !signal.aborted) {
147
+ signal.addEventListener('abort', () => settleDone(), { once: true });
148
+ }
149
+ return iterator;
150
+ }
151
+ //# sourceMappingURL=event-iterator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-iterator.js","sourceRoot":"","sources":["../../src/_internal/event-iterator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ import type { LocaleOptions } from '../types/locale';
2
+ import type { EventStreamHandle, EventStreamHandlers, EventStreamOptions } from '../types/events-stream';
3
+ import type { McpJsonRpcRequest, McpJsonRpcResponse } from '../types/mcp';
4
+ import { type Interceptors } from './interceptors';
5
+ export declare function localeQuery(options?: LocaleOptions): Record<string, string>;
6
+ export declare function localeQueryOrUndefined(options?: LocaleOptions): {
7
+ locale: string;
8
+ } | undefined;
9
+ export type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
10
+ /**
11
+ * A token may be a static string or a provider (sync or async) resolved before
12
+ * each request — the market-standard auth-callback shape (also unblocks refresh
13
+ * for direct consumers; seeds track G).
14
+ */
15
+ export type TokenInput = string | (() => string | Promise<string>);
16
+ export interface FetchClientOptions {
17
+ baseUrl: string;
18
+ token: TokenInput;
19
+ timeout?: number;
20
+ maxRetries?: number;
21
+ retryDelay?: number;
22
+ /** Custom fetch implementation (defaults to global fetch). */
23
+ fetch?: typeof globalThis.fetch;
24
+ /**
25
+ * When set, `request()` invokes `requireToken(token, requireTokenCode)`
26
+ * before any network I/O. The runtime and contract FetchClients set
27
+ * this to `'runtime_token_missing'` or `'contract_token_missing'`.
28
+ */
29
+ requireTokenCode?: 'runtime_token_missing' | 'contract_token_missing';
30
+ /**
31
+ * Transport-managed (no-token) mode: a credential-injecting transport (e.g.
32
+ * the website BFF proxy) sets `Authorization` server-side, so this client
33
+ * (a) SKIPS the `requireToken` presence guard and (b) OMITS the
34
+ * `Authorization` header entirely. Opt-in only — direct consumers keep the
35
+ * token-required guard (QI-004).
36
+ */
37
+ transportManaged?: boolean;
38
+ /**
39
+ * Opt-in API version (G5). When set, every request carries
40
+ * `X-Zarel-Api-Version: <value>`. No backend reads it today (forward-looking);
41
+ * unset ⇒ header omitted.
42
+ */
43
+ apiVersion?: string;
44
+ /**
45
+ * Opt-in per-attempt request/response/error interceptors (G4). See
46
+ * `./interceptors`. `onRequest` may mutate the outgoing headers (throw
47
+ * aborts); `onResponse`/`onError` are read-only observers (throw swallowed).
48
+ */
49
+ interceptors?: Interceptors;
50
+ /**
51
+ * The codegen-derived envelope-unwrap map for THIS plane (ADR-0109 follow-up
52
+ * — codegen-driven unwrap). Keyed by `operationId`; `{unwrap:true}` ⇒ the
53
+ * transport validates the `{success,data}` envelope and returns `data`,
54
+ * `{unwrap:false}` ⇒ the body is returned whole. The SINGLE unwrap authority
55
+ * (no runtime heuristic, no manual opt-outs). Injected per plane by
56
+ * `client.ts` (`RUNTIME_OPERATIONS` / `CONTRACT_OPERATIONS`).
57
+ */
58
+ operations: Readonly<Record<string, {
59
+ unwrap: boolean;
60
+ }>>;
61
+ }
62
+ export interface RequestOptions {
63
+ method: HttpMethod;
64
+ path: string;
65
+ body?: unknown;
66
+ query?: Record<string, string | number | boolean | string[] | undefined>;
67
+ headers?: Record<string, string>;
68
+ /** Skip automatic Idempotency-Key generation for this request. */
69
+ skipIdempotency?: boolean;
70
+ signal?: AbortSignal;
71
+ /**
72
+ * The OpenAPI `operationId` this request invokes (ADR-0109 follow-up). The
73
+ * transport looks it up in the per-plane unwrap map to decide whether to
74
+ * strip the `{success,data}` envelope — the SINGLE unwrap authority. An
75
+ * `operationId` absent from the map is a fail-fast `ZarelError` (never a
76
+ * silent `undefined`); a build-time cross-check guard makes that never fire
77
+ * in production.
78
+ */
79
+ operationId: string;
80
+ }
81
+ /**
82
+ * Per-call options for the convenience methods. `operationId` is REQUIRED (the
83
+ * unwrap decision is keyed by it); `signal` is the optional `AbortSignal`.
84
+ */
85
+ export interface CallOptions {
86
+ operationId: string;
87
+ signal?: AbortSignal;
88
+ /**
89
+ * Extra request headers for this call. Merged into the per-attempt header
90
+ * set and re-sent on every retry. Used by the writes a `confirm` guard can
91
+ * pause to carry `X-Zarel-Confirmation-Token` (ADR-0127 US3).
92
+ */
93
+ headers?: Record<string, string>;
94
+ }
95
+ export declare class FetchClient {
96
+ private readonly baseUrl;
97
+ private readonly token;
98
+ private readonly transportManaged;
99
+ private readonly timeout;
100
+ private readonly maxRetries;
101
+ private readonly retryDelay;
102
+ private readonly fetchFn;
103
+ private readonly requireTokenCode;
104
+ private readonly apiVersion?;
105
+ private readonly interceptors?;
106
+ private readonly operations;
107
+ constructor(options: FetchClientOptions);
108
+ request<T>(options: RequestOptions): Promise<T>;
109
+ get<T>(path: string, query: Record<string, string | number | boolean | string[] | undefined> | undefined, options: CallOptions): Promise<T>;
110
+ post<T>(path: string, body: unknown, options: CallOptions): Promise<T>;
111
+ patch<T>(path: string, body: unknown, options: CallOptions): Promise<T>;
112
+ put<T>(path: string, body: unknown, options: CallOptions): Promise<T>;
113
+ del<T>(path: string, options: CallOptions): Promise<T>;
114
+ /**
115
+ * G3 — open a typed Server-Sent-Events stream against `path` (a runtime-plane
116
+ * SSE endpoint). Reuses this client's own `fetch`, baseUrl, and the SHARED auth
117
+ * authority (`resolveAuthHeaders`, QI-001) — no separate token logic. The
118
+ * reconnect loop + frame parsing live in `sse-client.ts`; this method only
119
+ * provides the `connect` closure (fetch + status classification). Returns a
120
+ * teardown handle synchronously.
121
+ */
122
+ openEventStream(path: string, handlers: EventStreamHandlers, options?: EventStreamOptions): EventStreamHandle;
123
+ /**
124
+ * Spec 2 — POST one MCP JSON-RPC message to a stateless MCP transport path
125
+ * (POST /runtime/mcp) and return the typed JSON-RPC response. Reuses the
126
+ * SHARED auth authority (`resolveAuthHeaders`, QI-001) and the pure SSE
127
+ * de-framer (`extractMcpResponse`), accepting either an `application/json`
128
+ * body or a single `text/event-stream` frame. Unlike `request()` this does
129
+ * NOT run the `{success,data}` envelope unwrap (MCP is bare JSON-RPC) and
130
+ * makes a SINGLE attempt — no retry, no Idempotency-Key — because a
131
+ * `tools/call` may be a non-idempotent mutation that must never be silently
132
+ * re-issued. A protocol-level JSON-RPC error is returned in the union (not
133
+ * thrown); transport failures throw exactly as the REST path (401 →
134
+ * ZarelAuthError, other non-ok → ZarelAPIError).
135
+ */
136
+ postMcp(path: string, message: McpJsonRpcRequest, requestOptions?: {
137
+ signal?: AbortSignal;
138
+ }): Promise<McpJsonRpcResponse>;
139
+ private fetchWithTimeout;
140
+ }
141
+ //# sourceMappingURL=fetch-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-client.d.ts","sourceRoot":"","sources":["../../src/_internal/fetch-client.ts"],"names":[],"mappings":"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"}