@vibesdotdev/client 0.1.0 → 1.0.0-rc.2

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 (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/dist/api-client-plugin.d.ts +4 -0
  4. package/dist/api-client-plugin.d.ts.map +1 -0
  5. package/dist/api-client-plugin.js +20 -0
  6. package/dist/api-client-plugin.js.map +1 -0
  7. package/dist/api-client.impl.d.ts +23 -0
  8. package/dist/api-client.impl.d.ts.map +1 -0
  9. package/dist/api-client.impl.js +47 -0
  10. package/dist/api-client.impl.js.map +1 -0
  11. package/dist/client.consumer.plugin.d.ts +3 -0
  12. package/dist/client.consumer.plugin.d.ts.map +1 -0
  13. package/dist/client.consumer.plugin.js +10 -0
  14. package/dist/client.consumer.plugin.js.map +1 -0
  15. package/dist/cloud.plugin.d.ts +3 -0
  16. package/dist/cloud.plugin.d.ts.map +1 -0
  17. package/dist/cloud.plugin.js +10 -0
  18. package/dist/cloud.plugin.js.map +1 -0
  19. package/dist/config/client.config.descriptor.d.ts +4 -0
  20. package/dist/config/client.config.descriptor.d.ts.map +1 -0
  21. package/dist/config/client.config.descriptor.js +32 -0
  22. package/dist/config/client.config.descriptor.js.map +1 -0
  23. package/dist/config/index.d.ts +3 -0
  24. package/dist/config/index.d.ts.map +1 -0
  25. package/dist/config/index.js +3 -0
  26. package/dist/config/index.js.map +1 -0
  27. package/dist/config/settings.d.ts +9 -0
  28. package/dist/config/settings.d.ts.map +1 -0
  29. package/dist/config/settings.js +25 -0
  30. package/dist/config/settings.js.map +1 -0
  31. package/dist/docs/client.api-request.docs.descriptor.d.ts +4 -0
  32. package/dist/docs/client.api-request.docs.descriptor.d.ts.map +1 -0
  33. package/dist/docs/client.api-request.docs.descriptor.js +71 -0
  34. package/dist/docs/client.api-request.docs.descriptor.js.map +1 -0
  35. package/dist/events/auth-rejected.event.d.ts +35 -0
  36. package/dist/events/auth-rejected.event.d.ts.map +1 -0
  37. package/dist/events/auth-rejected.event.js +36 -0
  38. package/dist/events/auth-rejected.event.js.map +1 -0
  39. package/dist/factory.d.ts +5 -1
  40. package/dist/factory.d.ts.map +1 -1
  41. package/dist/factory.js +16 -17
  42. package/dist/factory.js.map +1 -1
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +2 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/kind-augment.d.ts +11 -0
  48. package/dist/kind-augment.d.ts.map +1 -0
  49. package/dist/kind-augment.js +2 -0
  50. package/dist/kind-augment.js.map +1 -0
  51. package/dist/lib/client/api-diagnostics.d.ts +79 -0
  52. package/dist/lib/client/api-diagnostics.d.ts.map +1 -0
  53. package/dist/lib/client/api-diagnostics.js +111 -0
  54. package/dist/lib/client/api-diagnostics.js.map +1 -0
  55. package/dist/lib/client/configured.d.ts +78 -0
  56. package/dist/lib/client/configured.d.ts.map +1 -0
  57. package/dist/lib/client/configured.js +261 -0
  58. package/dist/lib/client/configured.js.map +1 -0
  59. package/dist/lib/client/internal/auth-headers.d.ts +11 -0
  60. package/dist/lib/client/internal/auth-headers.d.ts.map +1 -0
  61. package/dist/lib/client/internal/auth-headers.js +35 -0
  62. package/dist/lib/client/internal/auth-headers.js.map +1 -0
  63. package/dist/lib/client/internal/base-client.d.ts +5 -2
  64. package/dist/lib/client/internal/base-client.d.ts.map +1 -1
  65. package/dist/lib/client/internal/base-client.js +42 -22
  66. package/dist/lib/client/internal/base-client.js.map +1 -1
  67. package/dist/lib/client/internal/base-helpers.d.ts.map +1 -1
  68. package/dist/lib/client/internal/base-helpers.js +20 -20
  69. package/dist/lib/client/internal/base-helpers.js.map +1 -1
  70. package/dist/lib/client/internal/base-types.d.ts +10 -5
  71. package/dist/lib/client/internal/base-types.d.ts.map +1 -1
  72. package/dist/lib/client/internal/base-types.js +5 -3
  73. package/dist/lib/client/internal/base-types.js.map +1 -1
  74. package/dist/lib/client/internal/client-values.d.ts +43 -0
  75. package/dist/lib/client/internal/client-values.d.ts.map +1 -0
  76. package/dist/lib/client/internal/client-values.js +76 -0
  77. package/dist/lib/client/internal/client-values.js.map +1 -0
  78. package/dist/lib/client/internal/endpoint.d.ts +6 -5
  79. package/dist/lib/client/internal/endpoint.d.ts.map +1 -1
  80. package/dist/lib/client/internal/endpoint.js +3 -0
  81. package/dist/lib/client/internal/endpoint.js.map +1 -1
  82. package/dist/lib/client/internal/generator.d.ts +98 -9
  83. package/dist/lib/client/internal/generator.d.ts.map +1 -1
  84. package/dist/lib/client/internal/generator.js +92 -140
  85. package/dist/lib/client/internal/generator.js.map +1 -1
  86. package/dist/lib/client/internal/request-builder.d.ts +5 -2
  87. package/dist/lib/client/internal/request-builder.d.ts.map +1 -1
  88. package/dist/lib/client/internal/request-builder.js +105 -65
  89. package/dist/lib/client/internal/request-builder.js.map +1 -1
  90. package/dist/lib/client/internal/sse-stream.d.ts +9 -5
  91. package/dist/lib/client/internal/sse-stream.d.ts.map +1 -1
  92. package/dist/lib/client/internal/sse-stream.js +96 -94
  93. package/dist/lib/client/internal/sse-stream.js.map +1 -1
  94. package/dist/lib/client/internal/timeout-signal.d.ts +8 -0
  95. package/dist/lib/client/internal/timeout-signal.d.ts.map +1 -0
  96. package/dist/lib/client/internal/timeout-signal.js +17 -0
  97. package/dist/lib/client/internal/timeout-signal.js.map +1 -0
  98. package/dist/lib/client/internal/transport/http2-fetch.d.ts +8 -0
  99. package/dist/lib/client/internal/transport/http2-fetch.d.ts.map +1 -0
  100. package/dist/lib/client/internal/transport/http2-fetch.js +17 -0
  101. package/dist/lib/client/internal/transport/http2-fetch.js.map +1 -0
  102. package/dist/lib/client/internal/vibes-client.d.ts +17 -8
  103. package/dist/lib/client/internal/vibes-client.d.ts.map +1 -1
  104. package/dist/lib/client/internal/vibes-client.js +127 -67
  105. package/dist/lib/client/internal/vibes-client.js.map +1 -1
  106. package/dist/lib/client/internal/wrap-fetch.d.ts +3 -2
  107. package/dist/lib/client/internal/wrap-fetch.d.ts.map +1 -1
  108. package/dist/lib/client/internal/wrap-fetch.js +14 -33
  109. package/dist/lib/client/internal/wrap-fetch.js.map +1 -1
  110. package/dist/lib/client/runtime-fetch.d.ts +14 -0
  111. package/dist/lib/client/runtime-fetch.d.ts.map +1 -0
  112. package/dist/lib/client/runtime-fetch.js +25 -0
  113. package/dist/lib/client/runtime-fetch.js.map +1 -0
  114. package/dist/lib/client/types.d.ts +18 -9
  115. package/dist/lib/client/types.d.ts.map +1 -1
  116. package/dist/lib/client/types.js +22 -3
  117. package/dist/lib/client/types.js.map +1 -1
  118. package/dist/plugin.d.ts +2 -18
  119. package/dist/plugin.d.ts.map +1 -1
  120. package/dist/plugin.js +7 -74
  121. package/dist/plugin.js.map +1 -1
  122. package/dist/runtime-client.d.ts +10 -0
  123. package/dist/runtime-client.d.ts.map +1 -0
  124. package/dist/runtime-client.js +14 -0
  125. package/dist/runtime-client.js.map +1 -0
  126. package/dist/schemas/auth-rejected.d.ts +12 -0
  127. package/dist/schemas/auth-rejected.d.ts.map +1 -0
  128. package/dist/schemas/auth-rejected.js +11 -0
  129. package/dist/schemas/auth-rejected.js.map +1 -0
  130. package/dist/schemas/sdk-languages.d.ts +47 -0
  131. package/dist/schemas/sdk-languages.d.ts.map +1 -0
  132. package/dist/schemas/sdk-languages.js +75 -0
  133. package/dist/schemas/sdk-languages.js.map +1 -0
  134. package/dist/schemas/settings.d.ts +14 -0
  135. package/dist/schemas/settings.d.ts.map +1 -0
  136. package/dist/schemas/settings.js +10 -0
  137. package/dist/schemas/settings.js.map +1 -0
  138. package/dist/schemas/validated-request.d.ts +19 -0
  139. package/dist/schemas/validated-request.d.ts.map +1 -0
  140. package/dist/schemas/validated-request.js +2 -0
  141. package/dist/schemas/validated-request.js.map +1 -0
  142. package/dist/schemas.d.ts +23 -8
  143. package/dist/schemas.d.ts.map +1 -1
  144. package/dist/schemas.js +8 -2
  145. package/dist/schemas.js.map +1 -1
  146. package/dist/sse-client.d.ts +17 -15
  147. package/dist/sse-client.d.ts.map +1 -1
  148. package/dist/sse-client.js +111 -91
  149. package/dist/sse-client.js.map +1 -1
  150. package/dist/svelte/client-svelte.plugin.d.ts +3 -0
  151. package/dist/svelte/client-svelte.plugin.d.ts.map +1 -0
  152. package/dist/svelte/client-svelte.plugin.js +35 -0
  153. package/dist/svelte/index.d.ts +3 -0
  154. package/dist/svelte/index.d.ts.map +1 -0
  155. package/dist/svelte/index.js +2 -0
  156. package/dist/svelte/styles.css +8 -0
  157. package/dist/svelte/tool-widgets/ApiRequestToolCard.svelte +53 -0
  158. package/dist/svelte/tool-widgets/ApiRequestToolCard.svelte.d.ts +5 -0
  159. package/dist/svelte/tool-widgets/ApiRequestToolCard.svelte.d.ts.map +1 -0
  160. package/dist/svelte/tool-widgets/index.d.ts +2 -0
  161. package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
  162. package/dist/svelte/tool-widgets/index.js +1 -0
  163. package/dist/tools/api-request/api-request.contract.d.ts +19 -0
  164. package/dist/tools/api-request/api-request.contract.d.ts.map +1 -0
  165. package/dist/tools/api-request/api-request.contract.js +110 -0
  166. package/dist/tools/api-request/api-request.contract.js.map +1 -0
  167. package/dist/tools/api-request/api-request.descriptor.d.ts +11 -4
  168. package/dist/tools/api-request/api-request.descriptor.d.ts.map +1 -1
  169. package/dist/tools/api-request/api-request.descriptor.js +8 -5
  170. package/dist/tools/api-request/api-request.descriptor.js.map +1 -1
  171. package/dist/tools/api-request/api-request.impl.cloud.d.ts +15 -0
  172. package/dist/tools/api-request/api-request.impl.cloud.d.ts.map +1 -0
  173. package/dist/tools/api-request/api-request.impl.cloud.js +75 -0
  174. package/dist/tools/api-request/api-request.impl.cloud.js.map +1 -0
  175. package/dist/tools/api-request/api-request.impl.consumer.d.ts +5 -3
  176. package/dist/tools/api-request/api-request.impl.consumer.d.ts.map +1 -1
  177. package/dist/tools/api-request/api-request.impl.consumer.js +27 -33
  178. package/dist/tools/api-request/api-request.impl.consumer.js.map +1 -1
  179. package/dist/tools/api-request/api-request.view.d.ts +29 -0
  180. package/dist/tools/api-request/api-request.view.d.ts.map +1 -0
  181. package/dist/tools/api-request/api-request.view.js +62 -0
  182. package/dist/tools/api-request/api-request.view.js.map +1 -0
  183. package/dist/tools/api-request/schemas/index.d.ts +12 -5
  184. package/dist/tools/api-request/schemas/index.d.ts.map +1 -1
  185. package/dist/tools/api-request/schemas/index.js +24 -6
  186. package/dist/tools/api-request/schemas/index.js.map +1 -1
  187. package/dist/tui/client-tui.plugin.d.ts +3 -0
  188. package/dist/tui/client-tui.plugin.d.ts.map +1 -0
  189. package/dist/tui/client-tui.plugin.js +32 -0
  190. package/dist/tui/client-tui.plugin.js.map +1 -0
  191. package/dist/tui/index.d.ts +2 -0
  192. package/dist/tui/index.d.ts.map +1 -0
  193. package/dist/tui/index.js +2 -0
  194. package/dist/tui/index.js.map +1 -0
  195. package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.d.ts +17 -0
  196. package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.d.ts.map +1 -0
  197. package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.js +28 -0
  198. package/dist/tui/tool-widgets/ApiRequestToolWidget.impl.tui.js.map +1 -0
  199. package/dist/validated-request.d.ts +27 -0
  200. package/dist/validated-request.d.ts.map +1 -0
  201. package/dist/validated-request.js +119 -0
  202. package/dist/validated-request.js.map +1 -0
  203. package/package.json +190 -45
  204. package/SPEC.md +0 -107
  205. package/dist/lib/client/internal/node/http2-fetch.node.d.ts +0 -2
  206. package/dist/lib/client/internal/node/http2-fetch.node.d.ts.map +0 -1
  207. package/dist/lib/client/internal/node/http2-fetch.node.js +0 -131
  208. package/dist/lib/client/internal/node/http2-fetch.node.js.map +0 -1
  209. package/dist/lib/client/node.d.ts +0 -5
  210. package/dist/lib/client/node.d.ts.map +0 -1
  211. package/dist/lib/client/node.js +0 -33
  212. package/dist/lib/client/node.js.map +0 -1
  213. package/dist/tools/api-request/index.d.ts +0 -5
  214. package/dist/tools/api-request/index.d.ts.map +0 -1
  215. package/dist/tools/api-request/index.js +0 -4
  216. package/dist/tools/api-request/index.js.map +0 -1
  217. package/src/factory.ts +0 -114
  218. package/src/index.ts +0 -15
  219. package/src/lib/client/core.ts +0 -13
  220. package/src/lib/client/internal/base-client.ts +0 -107
  221. package/src/lib/client/internal/base-helpers.ts +0 -74
  222. package/src/lib/client/internal/base-types.ts +0 -42
  223. package/src/lib/client/internal/endpoint.ts +0 -51
  224. package/src/lib/client/internal/generator.ts +0 -181
  225. package/src/lib/client/internal/index.ts +0 -4
  226. package/src/lib/client/internal/node/http2-fetch.node.ts +0 -138
  227. package/src/lib/client/internal/request-builder.ts +0 -147
  228. package/src/lib/client/internal/sse-stream.ts +0 -130
  229. package/src/lib/client/internal/vibes-client.ts +0 -167
  230. package/src/lib/client/internal/wrap-fetch.ts +0 -59
  231. package/src/lib/client/node.ts +0 -36
  232. package/src/lib/client/types.ts +0 -156
  233. package/src/plugin.ts +0 -104
  234. package/src/schemas.ts +0 -91
  235. package/src/sse-client.ts +0 -155
  236. package/src/tools/api-request/api-request.descriptor.ts +0 -28
  237. package/src/tools/api-request/api-request.impl.consumer.ts +0 -66
  238. package/src/tools/api-request/index.ts +0 -4
  239. package/src/tools/api-request/schemas/index.ts +0 -29
@@ -0,0 +1,17 @@
1
+ import { CapabilityError } from '@vibesdotdev/kernel';
2
+ import * as z from 'zod/v4';
3
+ import { readClientValue } from "./client-values.js";
4
+ /** Handed runtimes own deadlines and abort requests when their lifecycle ends. */
5
+ export function createTimeoutSignal(runtime, timeoutMs) {
6
+ readClientValue(z.number().int().positive(), timeoutMs, 'client-timeout-invalid');
7
+ if (!runtime)
8
+ return { signal: AbortSignal.timeout(timeoutMs), dispose: () => { } };
9
+ if (runtime.lifecycle.phase !== 'live')
10
+ throw new CapabilityError('The client runtime has ended.', 'UNAVAILABLE', { reason: 'client-runtime-disposed' });
11
+ const controller = new AbortController();
12
+ const abort = () => controller.abort();
13
+ runtime.lifecycle.signal.addEventListener('abort', abort, { once: true });
14
+ const cancel = runtime.lifecycle.timeout(abort, timeoutMs);
15
+ return { signal: controller.signal, dispose() { cancel(); runtime.lifecycle.signal.removeEventListener('abort', abort); } };
16
+ }
17
+ //# sourceMappingURL=timeout-signal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-signal.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/timeout-signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,OAA+B,EAAE,SAAiB;IACrF,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,wBAAwB,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;IACnF,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM;QAAE,MAAM,IAAI,eAAe,CAAC,+BAA+B,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACzJ,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACvC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7H,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type RuntimeRef } from '@vibesdotdev/kernel';
2
+ import { type ClientFetch } from '../client-values.ts';
3
+ export interface Http2FetchOptions {
4
+ rejectUnauthorized?: boolean;
5
+ }
6
+ /** Compatibility door; native network mechanics belong to the selected environment. */
7
+ export declare function createHttp2Fetch(baseUrl: string, options?: Http2FetchOptions, runtime?: RuntimeRef): ClientFetch;
8
+ //# sourceMappingURL=http2-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http2-fetch.d.ts","sourceRoot":"","sources":["../../../../../src/lib/client/internal/transport/http2-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC1F,MAAM,WAAW,iBAAiB;IAAG,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAAE;AACpE,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,WAAW,CAUpH"}
@@ -0,0 +1,17 @@
1
+ import { CapabilityError } from '@vibesdotdev/kernel';
2
+ import * as z from 'zod/v4';
3
+ import { HttpOriginSchema, readClientValue } from "../client-values.js";
4
+ /** Compatibility door; native network mechanics belong to the selected environment. */
5
+ export function createHttp2Fetch(baseUrl, options = {}, runtime) {
6
+ const origin = readClientValue(HttpOriginSchema, baseUrl, 'client-origin-invalid');
7
+ const settings = readClientValue(z.object({ rejectUnauthorized: z.boolean().default(true) }), options, 'client-tls-invalid');
8
+ return async (input, init) => {
9
+ const environment = runtime ? await runtime.query('runtime/environment').resolve() : undefined;
10
+ const port = environment?.httpFetch;
11
+ if (!port)
12
+ throw new CapabilityError('The selected host has no HTTP fetch transport.', 'UNAVAILABLE', { reason: 'http-fetch-unavailable' });
13
+ const target = input instanceof Request ? input : new URL(input instanceof URL ? input.href : input, origin);
14
+ return port.call(environment, target, init, settings);
15
+ };
16
+ }
17
+ //# sourceMappingURL=http2-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http2-fetch.js","sourceRoot":"","sources":["../../../../../src/lib/client/internal/transport/http2-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AACvE,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AAE1F,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,UAA6B,EAAE,EAAE,OAAoB;IACtG,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;IACnF,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;IAC7H,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,KAAK,CAAsD,qBAAqB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACpJ,MAAM,IAAI,GAAG,WAAW,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,gDAAgD,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAC5I,MAAM,MAAM,GAAG,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC7G,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC;AACH,CAAC"}
@@ -1,14 +1,23 @@
1
- import type { AuthConfig, ClientConfig, RequestOptions } from '../types.ts';
1
+ import { type AuthConfig, type ClientConfig, type RequestOptions } from '../types.ts';
2
2
  import { type OpenAPISpec } from './generator.ts';
3
3
  import { type SSEEvent, type SSEStreamOptions } from './sse-stream.ts';
4
+ import { type RequestBody } from './client-values.ts';
4
5
  export declare class VibesClient {
5
- private config;
6
+ private readonly incoming;
7
+ private readonly baseUrl;
8
+ private readonly fetchImpl;
9
+ private readonly hooks;
10
+ private readonly settingsPromise;
11
+ private resolved;
6
12
  private requestBuilder;
7
13
  private apiGenerator;
8
14
  private apis;
9
15
  private specPromise;
16
+ private pendingAuth;
10
17
  constructor(config?: ClientConfig);
11
- private initialize;
18
+ private ready;
19
+ private bindResolved;
20
+ private bindBuilders;
12
21
  getOpenAPISpec(): Promise<OpenAPISpec>;
13
22
  private fetchOpenAPISpec;
14
23
  private buildAPIs;
@@ -16,17 +25,17 @@ export declare class VibesClient {
16
25
  method?: string;
17
26
  params?: Record<string, string | number | boolean>;
18
27
  query?: Record<string, string | number | boolean | string[] | undefined>;
19
- body?: unknown;
28
+ body?: RequestBody;
20
29
  headers?: Record<string, string>;
21
30
  timeout?: number;
22
31
  }): Promise<T>;
23
32
  setAuth(auth: AuthConfig): void;
24
33
  getResources(): string[];
25
34
  hasResource(name: string): boolean;
26
- get<T = unknown>(endpoint: string, options?: RequestOptions): Promise<T>;
27
- post<T = unknown>(endpoint: string, body?: unknown, options?: RequestOptions): Promise<T>;
28
- put<T = unknown>(endpoint: string, body?: unknown, options?: RequestOptions): Promise<T>;
29
- delete<T = unknown>(endpoint: string, options?: RequestOptions): Promise<T>;
35
+ get<T = unknown>(endpoint: string, options?: Partial<RequestOptions>): Promise<T>;
36
+ post<T = unknown>(endpoint: string, body?: RequestOptions['body'], options?: Partial<RequestOptions>): Promise<T>;
37
+ put<T = unknown>(endpoint: string, body?: RequestOptions['body'], options?: Partial<RequestOptions>): Promise<T>;
38
+ delete<T = unknown>(endpoint: string, options?: Partial<RequestOptions>): Promise<T>;
30
39
  stream<T = unknown>(path: string, options?: SSEStreamOptions): AsyncIterableIterator<SSEEvent<T>>;
31
40
  }
32
41
  //# sourceMappingURL=vibes-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vibes-client.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/vibes-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAe,cAAc,EAAE,MAAM,aAAa,CAAC;AACzF,OAAO,EAAgB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhE,OAAO,EAAa,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYlF,qBAAa,WAAW;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAA+B;IAC3C,OAAO,CAAC,WAAW,CAAqC;gBAE5C,MAAM,GAAE,YAAiB;YA+BvB,UAAU;IAcxB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;YAKxB,gBAAgB;IAM9B,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,CAAC,GAAG,OAAO,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QACnD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;KACZ,GACJ,OAAO,CAAC,CAAC,CAAC;IAYb,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAiB/B,YAAY,IAAI,MAAM,EAAE;IAIxB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzF,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIxF,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpE,MAAM,CAAC,CAAC,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,gBAAqB,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CASrC"}
1
+ {"version":3,"file":"vibes-client.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/vibes-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAE,KAAK,YAAY,EAAoB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACrH,OAAO,EAAmC,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAInF,OAAO,EAAa,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAyE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAe7H,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,IAAI,CAAgD;IAC5D,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,WAAW,CAAyB;gBAEhC,MAAM,GAAE,YAAiB;YA0BvB,KAAK;IAOnB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,YAAY;IAyBpB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;YAKxB,gBAAgB;IAW9B,OAAO,CAAC,SAAS;IAcX,OAAO,CAAC,CAAC,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;QACnD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QACzE,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,MAAM,CAAC;KACZ,GACJ,OAAO,CAAC,CAAC,CAAC;IAiBb,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAQ/B,YAAY,IAAI,MAAM,EAAE;IAIxB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjF,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIjH,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIhH,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7E,MAAM,CAAC,CAAC,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,gBAAqB,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;CAcrC"}
@@ -1,65 +1,109 @@
1
- import { APIGenerator } from "./generator.js";
2
- import { getRuntimeEnv } from '@vibesdotdev/runtime';
1
+ import { ClientError } from "../types.js";
2
+ import { APIGenerator, OpenAPISpecSchema } from "./generator.js";
3
+ import { getLogger } from '@vibesdotdev/logging';
4
+ import { CapabilityError, CaughtFailureSchema, valueFreeFailure } from '@vibesdotdev/kernel';
3
5
  import { RequestBuilder } from "./request-builder.js";
4
6
  import { streamSSE } from "./sse-stream.js";
5
7
  import { createHookedFetch } from "./wrap-fetch.js";
8
+ import { loadClientSettings } from "../../../config/settings.js";
9
+ import { readClientValue, readClientFields, HttpOriginSchema } from "./client-values.js";
6
10
  export class VibesClient {
7
- config;
11
+ incoming;
12
+ baseUrl;
13
+ fetchImpl;
14
+ hooks;
15
+ settingsPromise;
16
+ resolved;
8
17
  requestBuilder;
9
18
  apiGenerator;
10
19
  apis = {};
11
20
  specPromise = null;
21
+ pendingAuth;
12
22
  constructor(config = {}) {
13
- const baseUrl = config.baseUrl ||
14
- getRuntimeEnv('VIBES_API_URL') ||
15
- 'http://localhost:5173';
23
+ config = readClientFields(() => ({ baseUrl: config.baseUrl, auth: config.auth, fetch: config.fetch, hooks: config.hooks, timeout: config.timeout, debug: config.debug, runtime: config.runtime }), 'client-config-unreadable');
24
+ const baseUrl = config.baseUrl;
25
+ if (!baseUrl) {
26
+ throw new CapabilityError('The API origin is undeclared: pass baseUrl or an api/client descriptor origin (service catalog).', 'INVALID_INPUT', {
27
+ reason: 'api-origin-undeclared',
28
+ recoveryHint: 'Pass baseUrl, or register an api/client descriptor with baseUrl. api-request resolves infra/service origins from the catalog.'
29
+ });
30
+ }
16
31
  const fetchImpl = config.fetch || globalThis.fetch?.bind(globalThis);
17
32
  if (!fetchImpl)
18
- throw new Error('Fetch is not available. Please provide a fetch implementation.');
19
- const hooks = config.hooks || {};
20
- this.config = {
21
- baseUrl,
22
- auth: config.auth || { type: 'none' },
23
- fetch: fetchImpl,
24
- hooks,
25
- timeout: config.timeout || 30000,
26
- debug: config.debug || false
33
+ throw new CapabilityError('Fetch is unavailable.', 'UNAVAILABLE', { reason: 'client-fetch-unavailable' });
34
+ this.incoming = config;
35
+ this.baseUrl = readClientValue(HttpOriginSchema, baseUrl, 'client-origin-invalid');
36
+ // SAFETY: The bound platform fetch keeps the fetch signature; callers may also inject their own.
37
+ this.fetchImpl = fetchImpl;
38
+ this.hooks = readClientFields(() => ({ ...config.hooks }), 'client-hooks-unreadable');
39
+ this.pendingAuth = config.auth;
40
+ this.settingsPromise = loadClientSettings(config.runtime, config);
41
+ }
42
+ async ready() {
43
+ if (this.resolved)
44
+ return this.resolved;
45
+ const settings = await this.settingsPromise;
46
+ this.bindResolved(settings);
47
+ return this.resolved;
48
+ }
49
+ bindResolved(settings) {
50
+ const auth = this.pendingAuth || this.incoming.auth || { type: 'none' };
51
+ this.resolved = {
52
+ baseUrl: this.baseUrl,
53
+ auth,
54
+ fetch: this.fetchImpl,
55
+ // Placeholder: bindBuilders replaces it with the hooked transport below, before any use.
56
+ hookedFetch: this.fetchImpl,
57
+ hooks: this.hooks,
58
+ timeout: settings.timeoutMs,
59
+ debug: settings.debug,
60
+ warnOas: settings.warnOas,
61
+ runtime: this.incoming.runtime
27
62
  };
63
+ this.bindBuilders(this.resolved);
64
+ }
65
+ bindBuilders(config) {
66
+ const reported = new WeakSet();
67
+ config.hooks = { ...this.hooks, onError: async (error) => {
68
+ if (reported.has(error))
69
+ return;
70
+ reported.add(error);
71
+ await this.hooks.onError?.(error);
72
+ } };
28
73
  const hookedFetch = createHookedFetch({
29
- fetchImpl: this.config.fetch,
30
- hooks: this.config.hooks
74
+ fetchImpl: config.fetch,
75
+ hooks: config.hooks
31
76
  });
32
- this.requestBuilder = new RequestBuilder(this.config.baseUrl, this.config.auth, hookedFetch, this.config.timeout, this.config.debug);
77
+ // SAFETY: The hooked wrapper preserves the fetch signature; hooks only observe or rebuild the request.
78
+ config.hookedFetch = hookedFetch;
79
+ this.requestBuilder = new RequestBuilder(config.baseUrl, config.auth, config.hookedFetch, config.timeout, config.debug, config.runtime);
33
80
  this.apiGenerator = new APIGenerator(this.requestBuilder);
34
81
  }
35
- async initialize() {
36
- try {
37
- const spec = await this.getOpenAPISpec();
38
- this.buildAPIs(spec);
39
- }
40
- catch (error) {
41
- const shouldWarn = this.config.debug ||
42
- (typeof process !== 'undefined' && process.env?.VIBES_CLIENT_WARN_OAS === 'true');
43
- if (shouldWarn) {
44
- console.warn('Failed to load OpenAPI spec, client will have limited functionality:', error);
45
- }
46
- }
47
- }
48
82
  getOpenAPISpec() {
49
83
  if (!this.specPromise)
50
- this.specPromise = this.fetchOpenAPISpec();
84
+ this.specPromise = this.fetchOpenAPISpec().then((spec) => { this.buildAPIs(spec); return spec; });
51
85
  return this.specPromise;
52
86
  }
53
87
  async fetchOpenAPISpec() {
54
- const response = await this.config.fetch(`${this.config.baseUrl}/api/docs/openapi.json`);
55
- if (!response.ok)
56
- throw new Error(`Failed to fetch OpenAPI spec: ${response.statusText}`);
57
- return response.json();
88
+ const config = await this.ready();
89
+ try {
90
+ const value = await this.request('/api/docs/openapi.json');
91
+ return readClientValue(OpenAPISpecSchema, value, 'client-openapi-invalid');
92
+ }
93
+ catch (error) {
94
+ if (config.warnOas && config.runtime)
95
+ getLogger('client', config.runtime).warn('OpenAPI load failed', { error: valueFreeFailure(CaughtFailureSchema.parse(error)) });
96
+ throw error;
97
+ }
58
98
  }
59
99
  buildAPIs(spec) {
100
+ if (!this.apiGenerator)
101
+ return;
60
102
  const apis = this.apiGenerator.generateAPIs(spec);
61
103
  for (const [name, api] of Object.entries(apis)) {
62
- this.apis[name] = api;
104
+ if (name in this && !Object.hasOwn(this.apis, name))
105
+ throw new CapabilityError('An OpenAPI resource conflicts with a client member.', 'INVALID_INPUT', { reason: 'client-resource-name-conflict' });
106
+ Object.defineProperty(this.apis, name, { value: api, enumerable: true, configurable: true });
63
107
  Object.defineProperty(this, name, {
64
108
  get: () => this.apis[name],
65
109
  enumerable: true,
@@ -67,54 +111,70 @@ export class VibesClient {
67
111
  });
68
112
  }
69
113
  }
70
- request(path, options = {}) {
71
- return this.requestBuilder.request({
72
- path,
73
- method: options.method || 'GET',
74
- params: options.params,
75
- query: options.query,
76
- body: options.body,
77
- headers: options.headers,
78
- timeout: options.timeout
79
- });
114
+ async request(path, options = {}) {
115
+ const config = await this.ready();
116
+ options = readClientFields(() => ({ ...options }), 'client-request-unreadable');
117
+ try {
118
+ return await this.requestBuilder.request({
119
+ path,
120
+ method: options.method || 'GET',
121
+ params: options.params,
122
+ query: options.query,
123
+ body: options.body,
124
+ headers: options.headers,
125
+ timeout: options.timeout
126
+ });
127
+ }
128
+ catch (error) {
129
+ if (error instanceof ClientError)
130
+ await config.hooks.onError?.(error);
131
+ throw error;
132
+ }
80
133
  }
81
134
  setAuth(auth) {
82
- this.config.auth = auth;
83
- const hookedFetch = createHookedFetch({
84
- fetchImpl: this.config.fetch,
85
- hooks: this.config.hooks
86
- });
87
- this.requestBuilder = new RequestBuilder(this.config.baseUrl, auth, hookedFetch, this.config.timeout, this.config.debug);
88
- this.apiGenerator = new APIGenerator(this.requestBuilder);
135
+ this.pendingAuth = auth;
136
+ if (!this.resolved)
137
+ return;
138
+ this.resolved.auth = auth;
139
+ this.bindBuilders(this.resolved);
89
140
  if (this.specPromise)
90
- this.specPromise.then((spec) => this.buildAPIs(spec));
141
+ this.specPromise = this.specPromise.then((spec) => { this.buildAPIs(spec); return spec; });
91
142
  }
92
143
  getResources() {
93
144
  return Object.keys(this.apis);
94
145
  }
95
146
  hasResource(name) {
96
- return name in this.apis;
147
+ return Object.hasOwn(this.apis, name);
97
148
  }
98
149
  get(endpoint, options) {
99
- return this.request(endpoint, { ...options, method: 'GET' });
150
+ return this.request(endpoint, { ...readClientFields(() => ({ ...options }), 'client-request-unreadable'), method: 'GET' });
100
151
  }
101
152
  post(endpoint, body, options) {
102
- return this.request(endpoint, { ...options, method: 'POST', body });
153
+ return this.request(endpoint, { ...readClientFields(() => ({ ...options }), 'client-request-unreadable'), method: 'POST', body });
103
154
  }
104
155
  put(endpoint, body, options) {
105
- return this.request(endpoint, { ...options, method: 'PUT', body });
156
+ return this.request(endpoint, { ...readClientFields(() => ({ ...options }), 'client-request-unreadable'), method: 'PUT', body });
106
157
  }
107
158
  delete(endpoint, options) {
108
- return this.request(endpoint, { ...options, method: 'DELETE' });
159
+ return this.request(endpoint, { ...readClientFields(() => ({ ...options }), 'client-request-unreadable'), method: 'DELETE' });
109
160
  }
110
161
  async *stream(path, options = {}) {
111
- yield* streamSSE({
112
- baseUrl: this.config.baseUrl,
113
- auth: this.config.auth,
114
- fetchImpl: this.config.fetch,
115
- path,
116
- options
117
- });
162
+ const config = await this.ready();
163
+ try {
164
+ yield* streamSSE({
165
+ baseUrl: config.baseUrl,
166
+ auth: config.auth,
167
+ fetchImpl: config.hookedFetch,
168
+ path,
169
+ options: { timeout: config.timeout, ...readClientFields(() => ({ ...options }), 'client-stream-unreadable') },
170
+ runtime: config.runtime
171
+ });
172
+ }
173
+ catch (error) {
174
+ if (error instanceof ClientError)
175
+ await config.hooks.onError?.(error);
176
+ throw error;
177
+ }
118
178
  }
119
179
  }
120
180
  //# sourceMappingURL=vibes-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vibes-client.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/vibes-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vibes-client.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/vibes-client.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type ClientHooks } from '../types.ts';
2
+ import type { ClientFetch } from './client-values.ts';
2
3
  export declare function createHookedFetch(args: {
3
- fetchImpl: typeof fetch;
4
+ fetchImpl: ClientFetch;
4
5
  hooks: ClientHooks;
5
- }): (input: Parameters<typeof fetch>[0], init?: RequestInit) => Promise<Response>;
6
+ }): ClientFetch;
6
7
  //# sourceMappingURL=wrap-fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-fetch.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/wrap-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,KAAK,EAAE,WAAW,CAAC;CACnB,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqDhF"}
1
+ {"version":3,"file":"wrap-fetch.d.ts","sourceRoot":"","sources":["../../../../src/lib/client/internal/wrap-fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG,WAAW,CAsBnG"}
@@ -1,46 +1,27 @@
1
+ import { CaughtFailureSchema } from '@vibesdotdev/kernel';
1
2
  import { ClientError } from "../types.js";
2
3
  export function createHookedFetch(args) {
3
4
  return async (input, init) => {
4
- if (!args.hooks.beforeRequest) {
5
- let response;
6
- try {
7
- response = await args.fetchImpl(input, init);
8
- }
9
- catch (error) {
10
- if (args.hooks.onError) {
11
- await args.hooks.onError(new ClientError(error instanceof Error ? error.message : 'Network error', 0, undefined, undefined));
12
- }
13
- throw error;
14
- }
5
+ try {
6
+ const requestInput = input instanceof URL ? input.href : input;
7
+ const request = args.hooks.beforeRequest
8
+ ? await args.hooks.beforeRequest(requestInput instanceof Request
9
+ ? new Request(requestInput, init) : new Request(requestInput, init)) : undefined;
10
+ let response = request ? await args.fetchImpl(request.url, { method: request.method, headers: request.headers, body: request.body, signal: request.signal, redirect: request.redirect, credentials: request.credentials, cache: request.cache, referrer: request.referrer, integrity: request.integrity }) : await args.fetchImpl(input, init);
15
11
  if (args.hooks.afterResponse)
16
12
  response = await args.hooks.afterResponse(response);
17
13
  return response;
18
14
  }
19
- const requestInput = input instanceof URL
20
- ? new Request(input.href, init)
21
- : typeof input === 'string'
22
- ? new Request(input, init)
23
- : new Request(input, init);
24
- const modifiedRequest = await args.hooks.beforeRequest(requestInput);
25
- const modifiedInit = {
26
- ...init,
27
- method: modifiedRequest.method,
28
- headers: Object.fromEntries(modifiedRequest.headers.entries()),
29
- ...(modifiedRequest.body !== requestInput.body && { body: modifiedRequest.body })
30
- };
31
- let response;
32
- try {
33
- response = await args.fetchImpl(modifiedRequest.url, modifiedInit);
34
- }
35
15
  catch (error) {
36
- if (args.hooks.onError) {
37
- await args.hooks.onError(new ClientError(error instanceof Error ? error.message : 'Network error', 0, undefined, undefined));
16
+ const failure = CaughtFailureSchema.parse(error);
17
+ if (failure instanceof ClientError) {
18
+ await args.hooks.onError?.(failure);
19
+ throw failure;
38
20
  }
39
- throw error;
21
+ const projected = new ClientError('The client transport failed.', failure instanceof Error && (failure.name === 'AbortError' || failure.name === 'TimeoutError') ? 408 : 0, undefined, undefined, { cause: failure });
22
+ await args.hooks.onError?.(projected);
23
+ throw projected;
40
24
  }
41
- if (args.hooks.afterResponse)
42
- response = await args.hooks.afterResponse(response);
43
- return response;
44
25
  };
45
26
  }
46
27
  //# sourceMappingURL=wrap-fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wrap-fetch.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/wrap-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAAC,IAGjC;IACA,OAAO,KAAK,EAAE,KAAkC,EAAE,IAAkB,EAAE,EAAE;QACvE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/B,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,IAAI,WAAW,CACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,CAAC,EACD,SAAS,EACT,SAAS,CACT,CACD,CAAC;gBACH,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;gBAAE,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClF,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,YAAY,GAAG;YACxC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;YAC/B,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBAC1B,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC1B,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,YAAY,GAAgB;YACjC,GAAG,IAAI;YACP,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9D,GAAG,CAAC,eAAe,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE,CAAC;SACjF,CAAC;QACF,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CACvB,IAAI,WAAW,CACd,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EACxD,CAAC,EACD,SAAS,EACT,SAAS,CACT,CACD,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;YAAE,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClF,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"wrap-fetch.js","sourceRoot":"","sources":["../../../../src/lib/client/internal/wrap-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAoB,MAAM,aAAa,CAAC;AAG5D,MAAM,UAAU,iBAAiB,CAAC,IAAoD;IACrF,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,IAAI,CAAC;YACJ,MAAM,YAAY,GAAG,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa;gBACvC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,YAAY,OAAO;oBAC9D,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpF,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/U,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;gBAAE,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAClF,OAAO,QAAQ,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,OAAO,YAAY,WAAW,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;gBACpC,MAAM,OAAO,CAAC;YACf,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,8BAA8B,EAAE,OAAO,YAAY,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACzK,SAAS,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,SAAS,CAAC;QACjB,CAAC;IACF,CAAC,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { RuntimeRef } from '@vibesdotdev/kernel';
2
+ import type { ClientConfig } from './types.ts';
3
+ import { VibesClient } from './internal/vibes-client.ts';
4
+ export { createHttp2Fetch } from './internal/transport/http2-fetch.ts';
5
+ export interface CLIClientConfig extends Partial<ClientConfig> {
6
+ /**
7
+ * Skip TLS certificate verification for the HTTP/2 transport. Certificates
8
+ * are verified unless the caller sets this. Production callers load the
9
+ * value from `config.client.allowInsecureLocalTls` (schema default false).
10
+ */
11
+ allowInsecureLocalTls?: boolean;
12
+ }
13
+ export declare function createCLIClient(runtime: RuntimeRef, options?: CLIClientConfig): Promise<VibesClient>;
14
+ //# sourceMappingURL=runtime-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/client/runtime-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAKvE,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,YAAY,CAAC;IAC7D;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,wBAAsB,eAAe,CACpC,OAAO,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,eAAe,GACvB,OAAO,CAAC,WAAW,CAAC,CAmBtB"}
@@ -0,0 +1,25 @@
1
+ import { VibesClient } from "./internal/vibes-client.js";
2
+ export { createHttp2Fetch } from "./internal/transport/http2-fetch.js";
3
+ import { createHttp2Fetch } from "./internal/transport/http2-fetch.js";
4
+ import { loadClientSettings } from "../../config/settings.js";
5
+ export async function createCLIClient(runtime, options) {
6
+ const { allowInsecureLocalTls: tlsOverride, ...config } = options ?? {};
7
+ const settings = await loadClientSettings(runtime, config);
8
+ const allowInsecureLocalTls = tlsOverride ?? settings.allowInsecureLocalTls;
9
+ const baseUrl = config.baseUrl;
10
+ if (!baseUrl) {
11
+ // VibesClient owns the typed `api-origin-undeclared` refusal.
12
+ // Origin is caller-supplied (CLI factory) or an api/client catalog descriptor.
13
+ return new VibesClient({ ...config, runtime });
14
+ }
15
+ const fetchImpl = config.fetch || (allowInsecureLocalTls ? createHttp2Fetch(baseUrl, { rejectUnauthorized: false }, runtime) : globalThis.fetch);
16
+ const clientConfig = {
17
+ baseUrl,
18
+ auth: config.auth || { type: 'none' },
19
+ fetch: fetchImpl,
20
+ runtime,
21
+ ...config
22
+ };
23
+ return new VibesClient(clientConfig);
24
+ }
25
+ //# sourceMappingURL=runtime-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-fetch.js","sourceRoot":"","sources":["../../../src/lib/client/runtime-fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAW9D,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,OAAmB,EACnB,OAAyB;IAEzB,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IACxE,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,MAAM,qBAAqB,GAAG,WAAW,IAAI,QAAQ,CAAC,qBAAqB,CAAC;IAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,8DAA8D;QAC9D,+EAA+E;QAC/E,OAAO,IAAI,WAAW,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACjJ,MAAM,YAAY,GAAiB;QAClC,OAAO;QACP,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;QACrC,KAAK,EAAE,SAAS;QAChB,OAAO;QACP,GAAG,MAAM;KACT,CAAC;IACF,OAAO,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC;AACtC,CAAC"}