@vibesdotdev/client 0.1.1 → 1.0.0-rc.3

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 (238) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +24 -15
  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 +5 -0
  151. package/dist/svelte/client-svelte.plugin.d.ts.map +1 -0
  152. package/dist/svelte/client-svelte.plugin.js +46 -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 +188 -41
  204. package/dist/lib/client/internal/node/http2-fetch.node.d.ts +0 -2
  205. package/dist/lib/client/internal/node/http2-fetch.node.d.ts.map +0 -1
  206. package/dist/lib/client/internal/node/http2-fetch.node.js +0 -131
  207. package/dist/lib/client/internal/node/http2-fetch.node.js.map +0 -1
  208. package/dist/lib/client/node.d.ts +0 -5
  209. package/dist/lib/client/node.d.ts.map +0 -1
  210. package/dist/lib/client/node.js +0 -33
  211. package/dist/lib/client/node.js.map +0 -1
  212. package/dist/tools/api-request/index.d.ts +0 -5
  213. package/dist/tools/api-request/index.d.ts.map +0 -1
  214. package/dist/tools/api-request/index.js +0 -4
  215. package/dist/tools/api-request/index.js.map +0 -1
  216. package/src/factory.ts +0 -114
  217. package/src/index.ts +0 -15
  218. package/src/lib/client/core.ts +0 -13
  219. package/src/lib/client/internal/base-client.ts +0 -107
  220. package/src/lib/client/internal/base-helpers.ts +0 -74
  221. package/src/lib/client/internal/base-types.ts +0 -42
  222. package/src/lib/client/internal/endpoint.ts +0 -51
  223. package/src/lib/client/internal/generator.ts +0 -181
  224. package/src/lib/client/internal/index.ts +0 -4
  225. package/src/lib/client/internal/node/http2-fetch.node.ts +0 -138
  226. package/src/lib/client/internal/request-builder.ts +0 -147
  227. package/src/lib/client/internal/sse-stream.ts +0 -130
  228. package/src/lib/client/internal/vibes-client.ts +0 -167
  229. package/src/lib/client/internal/wrap-fetch.ts +0 -59
  230. package/src/lib/client/node.ts +0 -36
  231. package/src/lib/client/types.ts +0 -156
  232. package/src/plugin.ts +0 -104
  233. package/src/schemas.ts +0 -91
  234. package/src/sse-client.ts +0 -155
  235. package/src/tools/api-request/api-request.descriptor.ts +0 -28
  236. package/src/tools/api-request/api-request.impl.consumer.ts +0 -66
  237. package/src/tools/api-request/index.ts +0 -4
  238. package/src/tools/api-request/schemas/index.ts +0 -29
package/dist/factory.js CHANGED
@@ -1,3 +1,5 @@
1
+ import * as z from 'zod/v4';
2
+ import { readClientFields, readClientValue } from "./lib/client/internal/client-values.js";
1
3
  import { VibesClient } from "./lib/client/core.js";
2
4
  /**
3
5
  * Wrap a VibesClient to satisfy the ApiClientImplementation interface.
@@ -5,35 +7,30 @@ import { VibesClient } from "./lib/client/core.js";
5
7
  function wrapVibesClient(client) {
6
8
  return {
7
9
  get(endpoint, options) {
8
- return client.get(endpoint, { method: 'GET', path: endpoint, ...options });
10
+ return client.get(endpoint, { method: 'GET', path: endpoint, ...readClientFields(() => ({ ...options }), 'client-request-unreadable') });
9
11
  },
10
12
  post(endpoint, body, options) {
11
- return client.post(endpoint, body, { method: 'POST', path: endpoint, ...options });
13
+ return client.post(endpoint, body, { method: 'POST', path: endpoint, ...readClientFields(() => ({ ...options }), 'client-request-unreadable') });
12
14
  },
13
15
  put(endpoint, body, options) {
14
- return client.put(endpoint, body, { method: 'PUT', path: endpoint, ...options });
16
+ return client.put(endpoint, body, { method: 'PUT', path: endpoint, ...readClientFields(() => ({ ...options }), 'client-request-unreadable') });
15
17
  },
16
18
  patch(endpoint, body, options) {
17
- return client.request(endpoint, { method: 'PATCH', body, ...options });
19
+ return client.request(endpoint, { method: 'PATCH', body, ...readClientFields(() => ({ ...options }), 'client-request-unreadable') });
18
20
  },
19
21
  delete(endpoint, options) {
20
- return client.delete(endpoint, { method: 'DELETE', path: endpoint, ...options });
22
+ return client.delete(endpoint, { method: 'DELETE', path: endpoint, ...readClientFields(() => ({ ...options }), 'client-request-unreadable') });
21
23
  },
22
24
  request(endpoint, options) {
25
+ const input = readClientFields(() => ({ ...options }), 'client-request-unreadable');
23
26
  return client.request(endpoint, {
24
- method: options?.method ?? 'GET',
25
- ...options
27
+ method: input.method ?? 'GET',
28
+ ...input
26
29
  });
27
30
  },
28
31
  stream(endpoint, options) {
29
- return client.stream(endpoint, {
30
- method: options?.method ?? 'POST',
31
- body: options?.body,
32
- headers: options?.headers,
33
- params: options?.params,
34
- query: options?.query,
35
- timeout: options?.timeout
36
- });
32
+ const input = readClientFields(() => ({ ...options }), 'client-stream-unreadable');
33
+ return client.stream(endpoint, { ...input, method: input.method ?? 'POST' });
37
34
  }
38
35
  };
39
36
  }
@@ -47,15 +44,17 @@ function wrapVibesClient(client) {
47
44
  * ```
48
45
  */
49
46
  export function vibesApiClient(config = {}) {
47
+ config = readClientFields(() => ({ id: config.id, baseUrl: config.baseUrl, auth: config.auth, fetch: config.fetch, timeout: config.timeout, debug: config.debug, headers: config.headers, runtime: config.runtime }), 'client-config-unreadable');
50
48
  const clientConfig = {
51
49
  baseUrl: config.baseUrl,
52
50
  auth: config.auth,
53
51
  fetch: config.fetch,
54
52
  timeout: config.timeout,
55
- debug: config.debug
53
+ debug: config.debug,
54
+ runtime: config.runtime
56
55
  };
57
56
  if (config.headers && Object.keys(config.headers).length > 0) {
58
- const headers = config.headers;
57
+ const headers = readClientValue(z.record(z.string(), z.string().optional()), config.headers, 'client-headers-invalid');
59
58
  clientConfig.hooks = {
60
59
  beforeRequest: async (request) => {
61
60
  const updated = new Headers(request.headers);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,4 +7,7 @@ export { SSEClient, createSSEClient } from './sse-client.ts';
7
7
  export type { SSEClientOptions, SSEConnectionStatus } from './sse-client.ts';
8
8
  export { VibesClient } from './lib/client/core.ts';
9
9
  export type { ClientConfig, AuthConfig, ClientHooks, ClientError } from './lib/client/types.ts';
10
+ export { apiRequestCardModel } from './tools/api-request/api-request.view.ts';
11
+ export type { ApiRequestCardModel } from './tools/api-request/api-request.view.ts';
12
+ export { RuntimeApiClient } from './runtime-client.ts';
10
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACX,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EACX,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,YAAY,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -3,4 +3,6 @@ export { ApiClientDescriptorSchema } from "./schemas.js";
3
3
  export { default as clientPlugin } from "./plugin.js";
4
4
  export { SSEClient, createSSEClient } from "./sse-client.js";
5
5
  export { VibesClient } from "./lib/client/core.js";
6
+ export { apiRequestCardModel } from "./tools/api-request/api-request.view.js";
7
+ export { RuntimeApiClient } from "./runtime-client.js";
6
8
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAG9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ApiClientDescriptor, ApiClientImplementation } from './schemas.ts';
2
+ /** Runtime typing for the `api/client` kind owned and registered by this package. */
3
+ declare global {
4
+ interface VibesKindTypeMap {
5
+ 'api/client': {
6
+ descriptor: ApiClientDescriptor;
7
+ impl: ApiClientImplementation;
8
+ };
9
+ }
10
+ }
11
+ //# sourceMappingURL=kind-augment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind-augment.d.ts","sourceRoot":"","sources":["../src/kind-augment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAEjF,qFAAqF;AACrF,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,gBAAgB;QACzB,YAAY,EAAE;YAAE,UAAU,EAAE,mBAAmB,CAAC;YAAC,IAAI,EAAE,uBAAuB,CAAA;SAAE,CAAC;KACjF;CACD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=kind-augment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kind-augment.js","sourceRoot":"","sources":["../src/kind-augment.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * API test and debug diagnostics over the configured client
3
+ * (`./node/api-diagnostics`). Restored from `@vibesdotdev/cli`
4
+ * (`cli/src/api/services/api.ts`, removed in d125decc8) beside the factory it
5
+ * calls (`./configured.ts`): the client package owns client construction.
6
+ *
7
+ * Both diagnostics run on the runtime the caller hands over in its context
8
+ * (`INTERNAL runtime-missing` without one), report auth by presence only
9
+ * (never a credential value), and carry a failed probe in the result. A
10
+ * failure to resolve the environment or the client configuration is logged
11
+ * through the caller's logger, when it hands one, and rethrown unchanged.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
15
+ import { type ApiClientInspection, type ConfiguredClientContext } from './configured.ts';
16
+ /** What a diagnostic is handed beside its input: the runtime, the configured-client context, an optional logger. */
17
+ export interface ApiDiagnosticsContext extends ConfiguredClientContext {
18
+ readonly runtime?: VibesRuntime;
19
+ readonly logger?: {
20
+ error(message: string, error: Error): void;
21
+ };
22
+ }
23
+ /** An API test request: the endpoint to probe (default `/api/health`), its method and timeout. */
24
+ export declare const apiTestSchema: z.ZodObject<{
25
+ endpoint: z.ZodOptional<z.ZodString>;
26
+ method: z.ZodDefault<z.ZodEnum<{
27
+ GET: "GET";
28
+ POST: "POST";
29
+ PUT: "PUT";
30
+ DELETE: "DELETE";
31
+ }>>;
32
+ timeout: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>;
34
+ export type APITestInput = z.input<typeof apiTestSchema>;
35
+ /** One connection status: auth presence only, never a credential value. */
36
+ export declare const apiConnectionStatusSchema: z.ZodObject<{
37
+ connected: z.ZodBoolean;
38
+ environment: z.ZodString;
39
+ baseUrl: z.ZodString;
40
+ authType: z.ZodEnum<{
41
+ none: "none";
42
+ session: "session";
43
+ apiKey: "apiKey";
44
+ }>;
45
+ lastChecked: z.ZodISODateTime;
46
+ latency: z.ZodOptional<z.ZodNumber>;
47
+ error: z.ZodOptional<z.ZodString>;
48
+ }, z.core.$strip>;
49
+ export type APIConnectionStatus = z.infer<typeof apiConnectionStatusSchema>;
50
+ /** The inspection view of the configured client (`createAPIClientConfig`). */
51
+ export type APIClientConfig = ApiClientInspection;
52
+ export interface APITestResult {
53
+ success: boolean;
54
+ status: APIConnectionStatus;
55
+ response?: {
56
+ status: number;
57
+ statusText: string;
58
+ headers: Record<string, string>;
59
+ data?: {
60
+ message: string;
61
+ };
62
+ };
63
+ error?: string;
64
+ }
65
+ export interface APIDebugResult {
66
+ config: APIClientConfig;
67
+ status: APIConnectionStatus;
68
+ diagnostics: {
69
+ environmentResolved: boolean;
70
+ authResolved: boolean;
71
+ baseUrlValid: boolean;
72
+ credentialsValid: boolean;
73
+ };
74
+ }
75
+ /** Probe `input.endpoint` on the selected API origin and report the connection status. */
76
+ export declare function executeAPITest(input: APITestInput, context: ApiDiagnosticsContext): Promise<APITestResult>;
77
+ /** Resolve the configured client's inspection view, probe `/api/health`, and report what resolved. */
78
+ export declare function executeAPIDebug(context: ApiDiagnosticsContext): Promise<APIDebugResult>;
79
+ //# sourceMappingURL=api-diagnostics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-diagnostics.d.ts","sourceRoot":"","sources":["../../../src/lib/client/api-diagnostics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAA0D,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EAGN,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,MAAM,iBAAiB,CAAC;AAEzB,oHAAoH;AACpH,MAAM,WAAW,qBAAsB,SAAQ,uBAAuB;IACrE,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;KAAE,CAAC;CACjE;AAED,kGAAkG;AAClG,eAAO,MAAM,aAAa;;;;;;;;;iBAIxB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEzD,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAQpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,8EAA8E;AAC9E,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE;QACV,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,WAAW,EAAE;QACZ,mBAAmB,EAAE,OAAO,CAAC;QAC7B,YAAY,EAAE,OAAO,CAAC;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,gBAAgB,EAAE,OAAO,CAAC;KAC1B,CAAC;CACF;AAoBD,0FAA0F;AAC1F,wBAAsB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAyBhH;AAED,sGAAsG;AACtG,wBAAsB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4B7F"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * API test and debug diagnostics over the configured client
3
+ * (`./node/api-diagnostics`). Restored from `@vibesdotdev/cli`
4
+ * (`cli/src/api/services/api.ts`, removed in d125decc8) beside the factory it
5
+ * calls (`./configured.ts`): the client package owns client construction.
6
+ *
7
+ * Both diagnostics run on the runtime the caller hands over in its context
8
+ * (`INTERNAL runtime-missing` without one), report auth by presence only
9
+ * (never a credential value), and carry a failed probe in the result. A
10
+ * failure to resolve the environment or the client configuration is logged
11
+ * through the caller's logger, when it hands one, and rethrown unchanged.
12
+ */
13
+ import * as z from 'zod/v4';
14
+ import { readClientValue, readClientFields } from "./internal/client-values.js";
15
+ import { CapabilityError, CaughtFailureSchema, valueFreeFailure } from '@vibesdotdev/kernel';
16
+ import { createAPIClientConfig, testAPIConnection } from "./configured.js";
17
+ /** An API test request: the endpoint to probe (default `/api/health`), its method and timeout. */
18
+ export const apiTestSchema = z.object({
19
+ endpoint: z.string().optional(),
20
+ method: z.enum(['GET', 'POST', 'PUT', 'DELETE']).default('GET'),
21
+ timeout: z.number().int().positive().optional()
22
+ });
23
+ /** One connection status: auth presence only, never a credential value. */
24
+ export const apiConnectionStatusSchema = z.object({
25
+ connected: z.boolean(),
26
+ environment: z.string(),
27
+ baseUrl: z.string(),
28
+ authType: z.enum(['none', 'apiKey', 'session']),
29
+ lastChecked: z.iso.datetime(),
30
+ latency: z.number().optional(),
31
+ error: z.string().optional()
32
+ });
33
+ /**
34
+ * The runtime these diagnostics were handed, from their context. Environment
35
+ * selection is read from it; nothing reads an ambient default.
36
+ */
37
+ function contextRuntime(context) {
38
+ const runtime = readClientFields(() => context.runtime, 'client-context-unreadable');
39
+ if (!runtime) {
40
+ throw new CapabilityError('The API diagnostics were handed no runtime.', 'INTERNAL', { reason: 'runtime-missing', retryable: false });
41
+ }
42
+ return runtime;
43
+ }
44
+ /** Log a diagnostic failure through the caller's logger, when it handed one; the failure is rethrown by the caller. */
45
+ function reportFailure(context, message, error) {
46
+ const logger = readClientFields(() => context.logger, 'client-context-unreadable');
47
+ logger?.error(message, new CapabilityError('The API diagnostic failed.', 'INTERNAL', { reason: 'api-diagnostic-failed', cause: valueFreeFailure(CaughtFailureSchema.parse(error)) }));
48
+ }
49
+ /** Probe `input.endpoint` on the selected API origin and report the connection status. */
50
+ export async function executeAPITest(input, context) {
51
+ try {
52
+ const validatedInput = readClientValue(apiTestSchema, input, 'api-diagnostic-input-invalid');
53
+ const runtime = contextRuntime(context);
54
+ const config = await createAPIClientConfig(runtime, context);
55
+ const testResult = await testAPIConnection(runtime, validatedInput.endpoint, context, { method: validatedInput.method, timeout: validatedInput.timeout });
56
+ const status = {
57
+ connected: testResult.success,
58
+ environment: config.environment,
59
+ baseUrl: config.baseUrl,
60
+ authType: config.auth.type,
61
+ lastChecked: new Date().toISOString(),
62
+ latency: testResult.latency,
63
+ error: testResult.error
64
+ };
65
+ if (!testResult.success)
66
+ return { success: false, status, error: testResult.error };
67
+ return {
68
+ success: true,
69
+ status,
70
+ response: { status: testResult.status, statusText: 'OK', headers: {}, data: { message: 'Connection successful' } }
71
+ };
72
+ }
73
+ catch (error) {
74
+ if (error instanceof Error)
75
+ reportFailure(context, 'Failed to test API', error);
76
+ throw error;
77
+ }
78
+ }
79
+ /** Resolve the configured client's inspection view, probe `/api/health`, and report what resolved. */
80
+ export async function executeAPIDebug(context) {
81
+ try {
82
+ const runtime = contextRuntime(context);
83
+ const config = await createAPIClientConfig(runtime, context);
84
+ const authConfigured = config.auth.type !== 'none';
85
+ const testResult = await testAPIConnection(runtime, '/api/health', context);
86
+ return {
87
+ config,
88
+ status: {
89
+ connected: testResult.success,
90
+ environment: config.environment,
91
+ baseUrl: config.baseUrl,
92
+ authType: config.auth.type,
93
+ lastChecked: new Date().toISOString(),
94
+ latency: testResult.latency,
95
+ error: testResult.error
96
+ },
97
+ diagnostics: {
98
+ environmentResolved: Boolean(config.environment),
99
+ authResolved: authConfigured,
100
+ baseUrlValid: config.baseUrl.startsWith('http'),
101
+ credentialsValid: authConfigured
102
+ }
103
+ };
104
+ }
105
+ catch (error) {
106
+ if (error instanceof Error)
107
+ reportFailure(context, 'Failed to debug API', error);
108
+ throw error;
109
+ }
110
+ }
111
+ //# sourceMappingURL=api-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-diagnostics.js","sourceRoot":"","sources":["../../../src/lib/client/api-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * The configured API client for a Node/Bun host: the selected environment's
3
+ * API origin (catalog, or an environment overlay the caller hands over), the
4
+ * caller's credentials, and the host's TLS declaration, composed into one
5
+ * `VibesClient`. Moved here from `@vibesdotdev/cli` (`cli/src/api/client/
6
+ * factory.ts`): the client package owns client construction (cli SPEC,
7
+ * "Does not own"), and the CLI no longer depends on this package.
8
+ *
9
+ * Every value the caller hands over is read field by field through a schema:
10
+ * a malformed field is absent, never a throw, and never gates another field.
11
+ */
12
+ import * as z from 'zod/v4';
13
+ import { type ValueFreeFailure, type VibesRuntime } from '@vibesdotdev/kernel';
14
+ import type { VibesClient } from './internal/vibes-client.ts';
15
+ /** The caller's scoped config reader (only `debug` in scope `global` is read). */
16
+ export interface ConfiguredClientConfigReader {
17
+ get(key: string, scope: string): Promise<boolean | string | number | null | undefined | object>;
18
+ }
19
+ /** What a caller may hand over beside the runtime; every member is optional. */
20
+ export interface ConfiguredClientContext {
21
+ /** An environment overlay (`name`, `url`, `headers`, `data.apiUrl`/`tier`/`headers`). */
22
+ readonly environment?: object;
23
+ /** The credentials to send (`apiKey`, or `sessionToken` + `refreshToken`). */
24
+ readonly authCredentials?: object;
25
+ /** The caller's config reader, for the `debug` flag. */
26
+ readonly config?: ConfiguredClientConfigReader;
27
+ }
28
+ /** The inspection view of a configured client: auth presence only, never a credential value. */
29
+ export declare const ApiClientInspectionSchema: z.ZodObject<{
30
+ baseUrl: z.ZodURL;
31
+ environment: z.ZodString;
32
+ tier: z.ZodEnum<{
33
+ local: "local";
34
+ dev: "dev";
35
+ staging: "staging";
36
+ production: "production";
37
+ }>;
38
+ auth: z.ZodDiscriminatedUnion<[z.ZodObject<{
39
+ type: z.ZodLiteral<"none">;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ type: z.ZodLiteral<"apiKey">;
42
+ }, z.core.$strip>, z.ZodObject<{
43
+ type: z.ZodLiteral<"session">;
44
+ hasRefreshToken: z.ZodOptional<z.ZodBoolean>;
45
+ }, z.core.$strip>], "type">;
46
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
47
+ timeout: z.ZodDefault<z.ZodNumber>;
48
+ retries: z.ZodDefault<z.ZodNumber>;
49
+ debug: z.ZodDefault<z.ZodBoolean>;
50
+ }, z.core.$strip>;
51
+ export type ApiClientInspection = z.infer<typeof ApiClientInspectionSchema>;
52
+ /** The outcome of a plain connection probe of the selected API origin. */
53
+ export interface ApiConnectionTest {
54
+ readonly success: boolean;
55
+ readonly status: number;
56
+ readonly latency: number;
57
+ readonly error?: string;
58
+ /** The transport failure's value-free facts (class, code, reason). */
59
+ readonly failure?: ValueFreeFailure;
60
+ }
61
+ /**
62
+ * A `VibesClient` for the selected environment, with the caller's credentials.
63
+ * Certificate verification stays on unless the host declares
64
+ * `config.client.allowInsecureLocalTls=true` (local development only).
65
+ */
66
+ export declare function createConfiguredClient(runtime: VibesRuntime, context?: ConfiguredClientContext): Promise<VibesClient>;
67
+ /** The inspection view of the client `createConfiguredClient` would build (auth presence only). */
68
+ export declare function createAPIClientConfig(runtime: VibesRuntime, context?: ConfiguredClientContext): Promise<ApiClientInspection>;
69
+ /**
70
+ * Probe `endpoint` on the selected API origin with a plain fetch (the client
71
+ * abstracts status codes away; a connection test reports the real one). A
72
+ * transport failure is a failed probe carrying the failure's message.
73
+ */
74
+ export declare function testAPIConnection(runtime: VibesRuntime, endpoint?: string, context?: ConfiguredClientContext, options?: {
75
+ method?: string;
76
+ timeout?: number;
77
+ }): Promise<ApiConnectionTest>;
78
+ //# sourceMappingURL=configured.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configured.d.ts","sourceRoot":"","sources":["../../../src/lib/client/configured.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAA0D,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AASvI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AA0C9D,kFAAkF;AAClF,MAAM,WAAW,4BAA4B;IAC5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC;CAChG;AAED,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACvC,yFAAyF;IACzF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,wDAAwD;IACxD,QAAQ,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC;CAC/C;AAED,gGAAgG;AAChG,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAapC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,0EAA0E;AAC1E,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACpC;AAyHD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAY3H;AAED,mGAAmG;AACnG,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoBlI;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,YAAY,EACrB,QAAQ,SAAgB,EACxB,OAAO,CAAC,EAAE,uBAAuB,EACjC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjD,OAAO,CAAC,iBAAiB,CAAC,CAyB5B"}