@nocobase/plugin-ai 2.1.6 → 2.1.8

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 (583) hide show
  1. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/dev/external-knowledge-base.md +318 -0
  2. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/documents.md +76 -0
  3. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/hit-tests.md +66 -0
  4. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/index.md +73 -0
  5. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/segments.md +93 -0
  6. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base/settings.md +77 -0
  7. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/rag.md +1 -1
  8. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/create-document.md +79 -0
  9. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/delete-document.md +71 -0
  10. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/index.md +84 -0
  11. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/retrieve-document.md +87 -0
  12. package/dist/ai/docs/nocobase/ai-employees/workflow/nodes/knowledge/update-document.md +70 -0
  13. package/dist/ai/docs/nocobase/development/index.md +3 -0
  14. package/dist/ai/docs/nocobase/get-started/deployment/how-to-deploy-nocobase-faster.mdx +2 -2
  15. package/dist/ai/docs/nocobase/ops-management/backup-manager/index.mdx +9 -7
  16. package/dist/ai/docs/nocobase/ops-management/migration-manager/built-in-tables.md +423 -0
  17. package/dist/ai/docs/nocobase/ops-management/migration-manager/index.md +12 -9
  18. package/dist/ai/docs/nocobase/ops-management/release-management/index.md +111 -24
  19. package/dist/client/ai-employees/ProfileCard.d.ts +1 -0
  20. package/dist/client/ai-employees/chatbox/hooks/useChatMessageActions.d.ts +2 -3
  21. package/dist/client/ai-employees/form-filler/tools/index.d.ts +8 -0
  22. package/dist/client/index.js +3 -3
  23. package/dist/externalVersion.js +21 -21
  24. package/dist/node_modules/@langchain/xai/dist/chat_models/completions.cjs +25 -34
  25. package/dist/node_modules/@langchain/xai/dist/chat_models/completions.d.cts +10 -22
  26. package/dist/node_modules/@langchain/xai/dist/chat_models/completions.d.ts +10 -22
  27. package/dist/node_modules/@langchain/xai/dist/chat_models/completions.js +17 -25
  28. package/dist/node_modules/@langchain/xai/dist/chat_models/index.cjs +2 -2
  29. package/dist/node_modules/@langchain/xai/dist/chat_models/index.d.cts +3 -0
  30. package/dist/node_modules/@langchain/xai/dist/chat_models/index.js +3 -2
  31. package/dist/node_modules/@langchain/xai/dist/chat_models/responses-types.d.cts +5 -12
  32. package/dist/node_modules/@langchain/xai/dist/chat_models/responses-types.d.ts +5 -12
  33. package/dist/node_modules/@langchain/xai/dist/chat_models/responses.cjs +18 -19
  34. package/dist/node_modules/@langchain/xai/dist/chat_models/responses.d.cts +1 -1
  35. package/dist/node_modules/@langchain/xai/dist/chat_models/responses.d.ts +1 -1
  36. package/dist/node_modules/@langchain/xai/dist/chat_models/responses.js +13 -13
  37. package/dist/node_modules/@langchain/xai/dist/converters/responses.cjs +16 -22
  38. package/dist/node_modules/@langchain/xai/dist/converters/responses.js +7 -12
  39. package/dist/node_modules/@langchain/xai/dist/index.cjs +2 -2
  40. package/dist/node_modules/@langchain/xai/dist/index.d.ts +0 -1
  41. package/dist/node_modules/@langchain/xai/dist/index.js +1 -2
  42. package/dist/node_modules/@langchain/xai/dist/live_search.cjs +4 -5
  43. package/dist/node_modules/@langchain/xai/dist/live_search.js +4 -4
  44. package/dist/node_modules/@langchain/xai/dist/profiles.cjs +81 -97
  45. package/dist/node_modules/@langchain/xai/dist/profiles.js +81 -96
  46. package/dist/node_modules/@langchain/xai/dist/tools/code_execution.cjs +1 -2
  47. package/dist/node_modules/@langchain/xai/dist/tools/code_execution.js +1 -1
  48. package/dist/node_modules/@langchain/xai/dist/tools/collections_search.cjs +1 -2
  49. package/dist/node_modules/@langchain/xai/dist/tools/collections_search.js +1 -1
  50. package/dist/node_modules/@langchain/xai/dist/tools/index.cjs +6 -7
  51. package/dist/node_modules/@langchain/xai/dist/tools/index.d.cts +1 -2
  52. package/dist/node_modules/@langchain/xai/dist/tools/index.d.ts +1 -2
  53. package/dist/node_modules/@langchain/xai/dist/tools/index.js +6 -7
  54. package/dist/node_modules/@langchain/xai/dist/tools/live_search.cjs +3 -7
  55. package/dist/node_modules/@langchain/xai/dist/tools/live_search.d.cts +1 -2
  56. package/dist/node_modules/@langchain/xai/dist/tools/live_search.d.ts +1 -2
  57. package/dist/node_modules/@langchain/xai/dist/tools/live_search.js +3 -6
  58. package/dist/node_modules/@langchain/xai/dist/tools/web_search.cjs +1 -2
  59. package/dist/node_modules/@langchain/xai/dist/tools/web_search.js +1 -1
  60. package/dist/node_modules/@langchain/xai/dist/tools/x_search.cjs +1 -2
  61. package/dist/node_modules/@langchain/xai/dist/tools/x_search.js +1 -1
  62. package/dist/node_modules/@langchain/xai/package.json +1 -1
  63. package/dist/node_modules/fs-extra/package.json +1 -1
  64. package/dist/node_modules/jsonrepair/package.json +1 -1
  65. package/dist/node_modules/just-bash/package.json +1 -1
  66. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  67. package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/branded.d.mts +1 -1
  68. package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/branded.d.ts +1 -1
  69. package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/catch.d.mts +1 -1
  70. package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/catch.d.ts +1 -1
  71. package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/readonly.d.mts +1 -1
  72. package/dist/node_modules/openai/_vendor/zod-to-json-schema/parsers/readonly.d.ts +1 -1
  73. package/dist/node_modules/openai/api-promise.d.mts +1 -0
  74. package/dist/node_modules/openai/api-promise.d.ts +1 -0
  75. package/dist/node_modules/openai/auth/index.d.mts +4 -0
  76. package/dist/node_modules/openai/auth/index.d.ts +4 -0
  77. package/dist/node_modules/openai/auth/index.js +11 -0
  78. package/dist/node_modules/openai/auth/subject-token-providers.d.mts +20 -0
  79. package/dist/node_modules/openai/auth/subject-token-providers.d.ts +20 -0
  80. package/dist/node_modules/openai/auth/subject-token-providers.js +127 -0
  81. package/dist/node_modules/openai/auth/types.d.mts +23 -0
  82. package/dist/node_modules/openai/auth/types.d.ts +23 -0
  83. package/dist/node_modules/openai/auth/types.js +3 -0
  84. package/dist/node_modules/openai/auth/workload-identity-auth.d.mts +16 -0
  85. package/dist/node_modules/openai/auth/workload-identity-auth.d.ts +16 -0
  86. package/dist/node_modules/openai/auth/workload-identity-auth.js +95 -0
  87. package/dist/node_modules/openai/azure.d.mts +6 -2
  88. package/dist/node_modules/openai/azure.d.ts +6 -2
  89. package/dist/node_modules/openai/azure.js +4 -3
  90. package/dist/node_modules/openai/beta/realtime/websocket.js +7 -2
  91. package/dist/node_modules/openai/beta/realtime/ws.js +5 -1
  92. package/dist/node_modules/openai/bin/migration-config.json +1120 -0
  93. package/dist/node_modules/openai/client.d.mts +72 -10
  94. package/dist/node_modules/openai/client.d.ts +72 -10
  95. package/dist/node_modules/openai/client.js +207 -28
  96. package/dist/node_modules/openai/core/EventEmitter.d.mts +56 -0
  97. package/dist/node_modules/openai/core/EventEmitter.d.ts +56 -0
  98. package/dist/node_modules/openai/core/EventEmitter.js +93 -0
  99. package/dist/node_modules/openai/core/error.d.mts +15 -0
  100. package/dist/node_modules/openai/core/error.d.ts +15 -0
  101. package/dist/node_modules/openai/core/error.js +34 -1
  102. package/dist/node_modules/openai/core/pagination.d.mts +18 -0
  103. package/dist/node_modules/openai/core/pagination.d.ts +18 -0
  104. package/dist/node_modules/openai/core/pagination.js +32 -1
  105. package/dist/node_modules/openai/core/streaming.d.mts +1 -1
  106. package/dist/node_modules/openai/core/streaming.d.ts +1 -1
  107. package/dist/node_modules/openai/core/streaming.js +2 -2
  108. package/dist/node_modules/openai/error.d.mts +1 -0
  109. package/dist/node_modules/openai/error.d.ts +1 -0
  110. package/dist/node_modules/openai/index.d.mts +1 -1
  111. package/dist/node_modules/openai/index.d.ts +1 -1
  112. package/dist/node_modules/openai/index.js +1 -1
  113. package/dist/node_modules/openai/internal/parse.js +2 -2
  114. package/dist/node_modules/openai/internal/qs/index.d.mts +2 -2
  115. package/dist/node_modules/openai/internal/qs/index.d.ts +2 -2
  116. package/dist/node_modules/openai/internal/request-options.d.mts +5 -0
  117. package/dist/node_modules/openai/internal/request-options.d.ts +5 -0
  118. package/dist/node_modules/openai/internal/shims.d.mts +6 -0
  119. package/dist/node_modules/openai/internal/shims.d.ts +6 -0
  120. package/dist/node_modules/openai/internal/types.d.mts +17 -11
  121. package/dist/node_modules/openai/internal/types.d.ts +17 -11
  122. package/dist/node_modules/openai/internal/utils/env.js +2 -2
  123. package/dist/node_modules/openai/internal/utils/log.js +2 -0
  124. package/dist/node_modules/openai/internal/utils/query.d.mts +2 -0
  125. package/dist/node_modules/openai/internal/utils/query.d.ts +2 -0
  126. package/dist/node_modules/openai/internal/utils/query.js +10 -0
  127. package/dist/node_modules/openai/internal/utils.d.mts +1 -0
  128. package/dist/node_modules/openai/internal/utils.d.ts +1 -0
  129. package/dist/node_modules/openai/internal/utils.js +1 -0
  130. package/dist/node_modules/openai/internal/ws-adapter-browser.d.mts +34 -0
  131. package/dist/node_modules/openai/internal/ws-adapter-browser.d.ts +34 -0
  132. package/dist/node_modules/openai/internal/ws-adapter-browser.js +88 -0
  133. package/dist/node_modules/openai/internal/ws-adapter-node.d.mts +27 -0
  134. package/dist/node_modules/openai/internal/ws-adapter-node.d.ts +27 -0
  135. package/dist/node_modules/openai/internal/ws-adapter-node.js +90 -0
  136. package/dist/node_modules/openai/internal/ws-adapter.d.mts +24 -0
  137. package/dist/node_modules/openai/internal/ws-adapter.d.ts +24 -0
  138. package/dist/node_modules/openai/internal/ws-adapter.js +11 -0
  139. package/dist/node_modules/openai/internal/ws.d.mts +80 -0
  140. package/dist/node_modules/openai/internal/ws.d.ts +80 -0
  141. package/dist/node_modules/openai/internal/ws.js +153 -0
  142. package/dist/node_modules/openai/package.json +1 -1
  143. package/dist/node_modules/openai/pagination.d.mts +1 -0
  144. package/dist/node_modules/openai/pagination.d.ts +1 -0
  145. package/dist/node_modules/openai/realtime/websocket.js +7 -2
  146. package/dist/node_modules/openai/realtime/ws.js +5 -1
  147. package/dist/node_modules/openai/resource.d.mts +1 -0
  148. package/dist/node_modules/openai/resource.d.ts +1 -0
  149. package/dist/node_modules/openai/resources/admin/admin.d.mts +10 -0
  150. package/dist/node_modules/openai/resources/admin/admin.d.ts +10 -0
  151. package/dist/node_modules/openai/resources/admin/admin.js +17 -0
  152. package/dist/node_modules/openai/resources/admin/index.d.mts +3 -0
  153. package/dist/node_modules/openai/resources/admin/index.d.ts +3 -0
  154. package/dist/node_modules/openai/resources/admin/index.js +9 -0
  155. package/dist/node_modules/openai/resources/admin/organization/admin-api-keys.d.mts +140 -0
  156. package/dist/node_modules/openai/resources/admin/organization/admin-api-keys.d.ts +140 -0
  157. package/dist/node_modules/openai/resources/admin/organization/admin-api-keys.js +81 -0
  158. package/dist/node_modules/openai/resources/admin/organization/audit-logs.d.mts +1267 -0
  159. package/dist/node_modules/openai/resources/admin/organization/audit-logs.d.ts +1267 -0
  160. package/dist/node_modules/openai/resources/admin/organization/audit-logs.js +31 -0
  161. package/dist/node_modules/openai/resources/admin/organization/certificates.d.mts +322 -0
  162. package/dist/node_modules/openai/resources/admin/organization/certificates.d.ts +322 -0
  163. package/dist/node_modules/openai/resources/admin/organization/certificates.js +144 -0
  164. package/dist/node_modules/openai/resources/admin/organization/data-retention.d.mts +50 -0
  165. package/dist/node_modules/openai/resources/admin/organization/data-retention.d.ts +50 -0
  166. package/dist/node_modules/openai/resources/admin/organization/data-retention.js +42 -0
  167. package/dist/node_modules/openai/resources/admin/organization/groups/groups.d.mts +160 -0
  168. package/dist/node_modules/openai/resources/admin/organization/groups/groups.d.ts +160 -0
  169. package/dist/node_modules/openai/resources/admin/organization/groups/groups.js +109 -0
  170. package/dist/node_modules/openai/resources/admin/organization/groups/index.d.mts +4 -0
  171. package/dist/node_modules/openai/resources/admin/organization/groups/index.d.ts +4 -0
  172. package/dist/node_modules/openai/resources/admin/organization/groups/index.js +11 -0
  173. package/dist/node_modules/openai/resources/admin/organization/groups/roles.d.mts +275 -0
  174. package/dist/node_modules/openai/resources/admin/organization/groups/roles.d.ts +275 -0
  175. package/dist/node_modules/openai/resources/admin/organization/groups/roles.js +84 -0
  176. package/dist/node_modules/openai/resources/admin/organization/groups/users.d.mts +164 -0
  177. package/dist/node_modules/openai/resources/admin/organization/groups/users.d.ts +164 -0
  178. package/dist/node_modules/openai/resources/admin/organization/groups/users.js +84 -0
  179. package/dist/node_modules/openai/resources/admin/organization/groups.d.mts +2 -0
  180. package/dist/node_modules/openai/resources/admin/organization/groups.d.ts +2 -0
  181. package/dist/node_modules/openai/resources/admin/organization/groups.js +6 -0
  182. package/dist/node_modules/openai/resources/admin/organization/index.d.mts +13 -0
  183. package/dist/node_modules/openai/resources/admin/organization/index.d.ts +13 -0
  184. package/dist/node_modules/openai/resources/admin/organization/index.js +29 -0
  185. package/dist/node_modules/openai/resources/admin/organization/invites.d.mts +153 -0
  186. package/dist/node_modules/openai/resources/admin/organization/invites.d.ts +153 -0
  187. package/dist/node_modules/openai/resources/admin/organization/invites.js +83 -0
  188. package/dist/node_modules/openai/resources/admin/organization/organization.d.mts +50 -0
  189. package/dist/node_modules/openai/resources/admin/organization/organization.d.ts +50 -0
  190. package/dist/node_modules/openai/resources/admin/organization/organization.js +57 -0
  191. package/dist/node_modules/openai/resources/admin/organization/projects/api-keys.d.mts +167 -0
  192. package/dist/node_modules/openai/resources/admin/organization/projects/api-keys.d.ts +167 -0
  193. package/dist/node_modules/openai/resources/admin/organization/projects/api-keys.js +68 -0
  194. package/dist/node_modules/openai/resources/admin/organization/projects/certificates.d.mts +186 -0
  195. package/dist/node_modules/openai/resources/admin/organization/projects/certificates.d.ts +186 -0
  196. package/dist/node_modules/openai/resources/admin/organization/projects/certificates.js +64 -0
  197. package/dist/node_modules/openai/resources/admin/organization/projects/data-retention.d.mts +53 -0
  198. package/dist/node_modules/openai/resources/admin/organization/projects/data-retention.d.ts +53 -0
  199. package/dist/node_modules/openai/resources/admin/organization/projects/data-retention.js +46 -0
  200. package/dist/node_modules/openai/resources/admin/organization/projects/groups/groups.d.mts +142 -0
  201. package/dist/node_modules/openai/resources/admin/organization/projects/groups/groups.d.ts +142 -0
  202. package/dist/node_modules/openai/resources/admin/organization/projects/groups/groups.js +93 -0
  203. package/dist/node_modules/openai/resources/admin/organization/projects/groups/index.d.mts +3 -0
  204. package/dist/node_modules/openai/resources/admin/organization/projects/groups/index.d.ts +3 -0
  205. package/dist/node_modules/openai/resources/admin/organization/projects/groups/index.js +9 -0
  206. package/dist/node_modules/openai/resources/admin/organization/projects/groups/roles.d.mts +292 -0
  207. package/dist/node_modules/openai/resources/admin/organization/projects/groups/roles.d.ts +292 -0
  208. package/dist/node_modules/openai/resources/admin/organization/projects/groups/roles.js +87 -0
  209. package/dist/node_modules/openai/resources/admin/organization/projects/groups.d.mts +2 -0
  210. package/dist/node_modules/openai/resources/admin/organization/projects/groups.d.ts +2 -0
  211. package/dist/node_modules/openai/resources/admin/organization/projects/groups.js +6 -0
  212. package/dist/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.d.mts +174 -0
  213. package/dist/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.d.ts +174 -0
  214. package/dist/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +45 -0
  215. package/dist/node_modules/openai/resources/admin/organization/projects/index.d.mts +13 -0
  216. package/dist/node_modules/openai/resources/admin/organization/projects/index.d.ts +13 -0
  217. package/dist/node_modules/openai/resources/admin/organization/projects/index.js +29 -0
  218. package/dist/node_modules/openai/resources/admin/organization/projects/model-permissions.d.mts +86 -0
  219. package/dist/node_modules/openai/resources/admin/organization/projects/model-permissions.d.ts +86 -0
  220. package/dist/node_modules/openai/resources/admin/organization/projects/model-permissions.js +63 -0
  221. package/dist/node_modules/openai/resources/admin/organization/projects/projects.d.mts +188 -0
  222. package/dist/node_modules/openai/resources/admin/organization/projects/projects.d.ts +188 -0
  223. package/dist/node_modules/openai/resources/admin/organization/projects/projects.js +149 -0
  224. package/dist/node_modules/openai/resources/admin/organization/projects/rate-limits.d.mts +120 -0
  225. package/dist/node_modules/openai/resources/admin/organization/projects/rate-limits.d.ts +120 -0
  226. package/dist/node_modules/openai/resources/admin/organization/projects/rate-limits.js +47 -0
  227. package/dist/node_modules/openai/resources/admin/organization/projects/roles.d.mts +146 -0
  228. package/dist/node_modules/openai/resources/admin/organization/projects/roles.d.ts +146 -0
  229. package/dist/node_modules/openai/resources/admin/organization/projects/roles.js +108 -0
  230. package/dist/node_modules/openai/resources/admin/organization/projects/service-accounts.d.mts +168 -0
  231. package/dist/node_modules/openai/resources/admin/organization/projects/service-accounts.d.ts +168 -0
  232. package/dist/node_modules/openai/resources/admin/organization/projects/service-accounts.js +101 -0
  233. package/dist/node_modules/openai/resources/admin/organization/projects/spend-alerts.d.mts +241 -0
  234. package/dist/node_modules/openai/resources/admin/organization/projects/spend-alerts.d.ts +241 -0
  235. package/dist/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +102 -0
  236. package/dist/node_modules/openai/resources/admin/organization/projects/users/index.d.mts +3 -0
  237. package/dist/node_modules/openai/resources/admin/organization/projects/users/index.d.ts +3 -0
  238. package/dist/node_modules/openai/resources/admin/organization/projects/users/index.js +9 -0
  239. package/dist/node_modules/openai/resources/admin/organization/projects/users/roles.d.mts +266 -0
  240. package/dist/node_modules/openai/resources/admin/organization/projects/users/roles.d.ts +266 -0
  241. package/dist/node_modules/openai/resources/admin/organization/projects/users/roles.js +87 -0
  242. package/dist/node_modules/openai/resources/admin/organization/projects/users/users.d.mts +157 -0
  243. package/dist/node_modules/openai/resources/admin/organization/projects/users/users.d.ts +157 -0
  244. package/dist/node_modules/openai/resources/admin/organization/projects/users/users.js +116 -0
  245. package/dist/node_modules/openai/resources/admin/organization/projects/users.d.mts +2 -0
  246. package/dist/node_modules/openai/resources/admin/organization/projects/users.d.ts +2 -0
  247. package/dist/node_modules/openai/resources/admin/organization/projects/users.js +6 -0
  248. package/dist/node_modules/openai/resources/admin/organization/projects.d.mts +2 -0
  249. package/dist/node_modules/openai/resources/admin/organization/projects.d.ts +2 -0
  250. package/dist/node_modules/openai/resources/admin/organization/projects.js +6 -0
  251. package/dist/node_modules/openai/resources/admin/organization/roles.d.mts +153 -0
  252. package/dist/node_modules/openai/resources/admin/organization/roles.d.ts +153 -0
  253. package/dist/node_modules/openai/resources/admin/organization/roles.js +96 -0
  254. package/dist/node_modules/openai/resources/admin/organization/spend-alerts.d.mts +224 -0
  255. package/dist/node_modules/openai/resources/admin/organization/spend-alerts.d.ts +224 -0
  256. package/dist/node_modules/openai/resources/admin/organization/spend-alerts.js +93 -0
  257. package/dist/node_modules/openai/resources/admin/organization/usage.d.mts +5123 -0
  258. package/dist/node_modules/openai/resources/admin/organization/usage.d.ts +5123 -0
  259. package/dist/node_modules/openai/resources/admin/organization/usage.js +207 -0
  260. package/dist/node_modules/openai/resources/admin/organization/users/index.d.mts +3 -0
  261. package/dist/node_modules/openai/resources/admin/organization/users/index.d.ts +3 -0
  262. package/dist/node_modules/openai/resources/admin/organization/users/index.js +9 -0
  263. package/dist/node_modules/openai/resources/admin/organization/users/roles.d.mts +249 -0
  264. package/dist/node_modules/openai/resources/admin/organization/users/roles.d.ts +249 -0
  265. package/dist/node_modules/openai/resources/admin/organization/users/roles.js +84 -0
  266. package/dist/node_modules/openai/resources/admin/organization/users/users.d.mts +185 -0
  267. package/dist/node_modules/openai/resources/admin/organization/users/users.d.ts +185 -0
  268. package/dist/node_modules/openai/resources/admin/organization/users/users.js +84 -0
  269. package/dist/node_modules/openai/resources/admin/organization/users.d.mts +2 -0
  270. package/dist/node_modules/openai/resources/admin/organization/users.d.ts +2 -0
  271. package/dist/node_modules/openai/resources/admin/organization/users.js +6 -0
  272. package/dist/node_modules/openai/resources/admin/organization.d.mts +2 -0
  273. package/dist/node_modules/openai/resources/admin/organization.d.ts +2 -0
  274. package/dist/node_modules/openai/resources/admin/organization.js +6 -0
  275. package/dist/node_modules/openai/resources/admin.d.mts +2 -0
  276. package/dist/node_modules/openai/resources/admin.d.ts +2 -0
  277. package/dist/node_modules/openai/resources/admin.js +6 -0
  278. package/dist/node_modules/openai/resources/audio/speech.d.mts +22 -5
  279. package/dist/node_modules/openai/resources/audio/speech.d.ts +22 -5
  280. package/dist/node_modules/openai/resources/audio/speech.js +8 -2
  281. package/dist/node_modules/openai/resources/audio/transcriptions.d.mts +6 -0
  282. package/dist/node_modules/openai/resources/audio/transcriptions.d.ts +6 -0
  283. package/dist/node_modules/openai/resources/audio/transcriptions.js +4 -0
  284. package/dist/node_modules/openai/resources/audio/translations.d.mts +3 -0
  285. package/dist/node_modules/openai/resources/audio/translations.d.ts +3 -0
  286. package/dist/node_modules/openai/resources/audio/translations.js +4 -1
  287. package/dist/node_modules/openai/resources/batches.d.mts +8 -4
  288. package/dist/node_modules/openai/resources/batches.d.ts +8 -4
  289. package/dist/node_modules/openai/resources/batches.js +14 -4
  290. package/dist/node_modules/openai/resources/beta/assistants.d.mts +6 -2
  291. package/dist/node_modules/openai/resources/beta/assistants.d.ts +6 -2
  292. package/dist/node_modules/openai/resources/beta/assistants.js +8 -0
  293. package/dist/node_modules/openai/resources/beta/chatkit/sessions.d.mts +4 -2
  294. package/dist/node_modules/openai/resources/beta/chatkit/sessions.d.ts +4 -2
  295. package/dist/node_modules/openai/resources/beta/chatkit/sessions.js +6 -2
  296. package/dist/node_modules/openai/resources/beta/chatkit/threads.d.mts +4 -4
  297. package/dist/node_modules/openai/resources/beta/chatkit/threads.d.ts +4 -4
  298. package/dist/node_modules/openai/resources/beta/chatkit/threads.js +13 -5
  299. package/dist/node_modules/openai/resources/beta/realtime/sessions.js +1 -0
  300. package/dist/node_modules/openai/resources/beta/realtime/transcription-sessions.js +1 -0
  301. package/dist/node_modules/openai/resources/beta/threads/messages.d.mts +2 -0
  302. package/dist/node_modules/openai/resources/beta/threads/messages.d.ts +2 -0
  303. package/dist/node_modules/openai/resources/beta/threads/messages.js +7 -0
  304. package/dist/node_modules/openai/resources/beta/threads/runs/runs.d.mts +2 -0
  305. package/dist/node_modules/openai/resources/beta/threads/runs/runs.d.ts +2 -0
  306. package/dist/node_modules/openai/resources/beta/threads/runs/runs.js +10 -0
  307. package/dist/node_modules/openai/resources/beta/threads/runs/steps.d.mts +2 -0
  308. package/dist/node_modules/openai/resources/beta/threads/runs/steps.d.ts +2 -0
  309. package/dist/node_modules/openai/resources/beta/threads/runs/steps.js +4 -0
  310. package/dist/node_modules/openai/resources/beta/threads/threads.d.mts +8 -4
  311. package/dist/node_modules/openai/resources/beta/threads/threads.d.ts +8 -4
  312. package/dist/node_modules/openai/resources/beta/threads/threads.js +8 -0
  313. package/dist/node_modules/openai/resources/chat/completions/completions.d.mts +37 -18
  314. package/dist/node_modules/openai/resources/chat/completions/completions.d.ts +37 -18
  315. package/dist/node_modules/openai/resources/chat/completions/completions.js +27 -5
  316. package/dist/node_modules/openai/resources/chat/completions/messages.d.mts +3 -0
  317. package/dist/node_modules/openai/resources/chat/completions/messages.d.ts +3 -0
  318. package/dist/node_modules/openai/resources/chat/completions/messages.js +4 -1
  319. package/dist/node_modules/openai/resources/completions.d.mts +9 -3
  320. package/dist/node_modules/openai/resources/completions.d.ts +9 -3
  321. package/dist/node_modules/openai/resources/completions.js +9 -1
  322. package/dist/node_modules/openai/resources/containers/containers.js +11 -3
  323. package/dist/node_modules/openai/resources/containers/files/content.js +1 -0
  324. package/dist/node_modules/openai/resources/containers/files/files.js +7 -2
  325. package/dist/node_modules/openai/resources/conversations/conversations.d.mts +15 -0
  326. package/dist/node_modules/openai/resources/conversations/conversations.d.ts +15 -0
  327. package/dist/node_modules/openai/resources/conversations/conversations.js +17 -4
  328. package/dist/node_modules/openai/resources/conversations/items.d.mts +4 -1
  329. package/dist/node_modules/openai/resources/conversations/items.d.ts +4 -1
  330. package/dist/node_modules/openai/resources/conversations/items.js +14 -3
  331. package/dist/node_modules/openai/resources/embeddings.d.mts +3 -0
  332. package/dist/node_modules/openai/resources/embeddings.d.ts +3 -0
  333. package/dist/node_modules/openai/resources/embeddings.js +4 -0
  334. package/dist/node_modules/openai/resources/evals/evals.d.mts +3 -0
  335. package/dist/node_modules/openai/resources/evals/evals.d.ts +3 -0
  336. package/dist/node_modules/openai/resources/evals/evals.js +12 -5
  337. package/dist/node_modules/openai/resources/evals/runs/output-items.d.mts +3 -0
  338. package/dist/node_modules/openai/resources/evals/runs/output-items.d.ts +3 -0
  339. package/dist/node_modules/openai/resources/evals/runs/output-items.js +8 -2
  340. package/dist/node_modules/openai/resources/evals/runs/runs.d.mts +3 -0
  341. package/dist/node_modules/openai/resources/evals/runs/runs.d.ts +3 -0
  342. package/dist/node_modules/openai/resources/evals/runs/runs.js +21 -4
  343. package/dist/node_modules/openai/resources/files.d.mts +11 -1
  344. package/dist/node_modules/openai/resources/files.d.ts +11 -1
  345. package/dist/node_modules/openai/resources/files.js +20 -5
  346. package/dist/node_modules/openai/resources/fine-tuning/alpha/graders.d.mts +3 -0
  347. package/dist/node_modules/openai/resources/fine-tuning/alpha/graders.d.ts +3 -0
  348. package/dist/node_modules/openai/resources/fine-tuning/alpha/graders.js +13 -2
  349. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.mts +2 -2
  350. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.d.ts +2 -2
  351. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/index.d.mts +1 -1
  352. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/index.d.ts +1 -1
  353. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.mts +54 -7
  354. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/permissions.d.ts +54 -7
  355. package/dist/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +26 -9
  356. package/dist/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.mts +3 -0
  357. package/dist/node_modules/openai/resources/fine-tuning/jobs/checkpoints.d.ts +3 -0
  358. package/dist/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +4 -1
  359. package/dist/node_modules/openai/resources/fine-tuning/jobs/jobs.d.mts +3 -0
  360. package/dist/node_modules/openai/resources/fine-tuning/jobs/jobs.d.ts +3 -0
  361. package/dist/node_modules/openai/resources/fine-tuning/jobs/jobs.js +26 -7
  362. package/dist/node_modules/openai/resources/images.d.mts +56 -24
  363. package/dist/node_modules/openai/resources/images.d.ts +56 -24
  364. package/dist/node_modules/openai/resources/images.js +11 -3
  365. package/dist/node_modules/openai/resources/index.d.mts +2 -1
  366. package/dist/node_modules/openai/resources/index.d.ts +2 -1
  367. package/dist/node_modules/openai/resources/index.js +3 -1
  368. package/dist/node_modules/openai/resources/models.d.mts +3 -0
  369. package/dist/node_modules/openai/resources/models.d.ts +3 -0
  370. package/dist/node_modules/openai/resources/models.js +6 -3
  371. package/dist/node_modules/openai/resources/moderations.d.mts +3 -0
  372. package/dist/node_modules/openai/resources/moderations.d.ts +3 -0
  373. package/dist/node_modules/openai/resources/moderations.js +4 -1
  374. package/dist/node_modules/openai/resources/realtime/calls.d.mts +13 -3
  375. package/dist/node_modules/openai/resources/realtime/calls.d.ts +13 -3
  376. package/dist/node_modules/openai/resources/realtime/calls.js +4 -0
  377. package/dist/node_modules/openai/resources/realtime/client-secrets.d.mts +45 -39
  378. package/dist/node_modules/openai/resources/realtime/client-secrets.d.ts +45 -39
  379. package/dist/node_modules/openai/resources/realtime/client-secrets.js +19 -1
  380. package/dist/node_modules/openai/resources/realtime/index.d.mts +1 -1
  381. package/dist/node_modules/openai/resources/realtime/index.d.ts +1 -1
  382. package/dist/node_modules/openai/resources/realtime/realtime.d.mts +592 -21
  383. package/dist/node_modules/openai/resources/realtime/realtime.d.ts +592 -21
  384. package/dist/node_modules/openai/resources/responses/index.d.mts +2 -0
  385. package/dist/node_modules/openai/resources/responses/index.d.ts +2 -0
  386. package/dist/node_modules/openai/resources/responses/input-items.js +1 -1
  387. package/dist/node_modules/openai/resources/responses/input-tokens.d.mts +4 -1
  388. package/dist/node_modules/openai/resources/responses/input-tokens.d.ts +4 -1
  389. package/dist/node_modules/openai/resources/responses/input-tokens.js +9 -2
  390. package/dist/node_modules/openai/resources/responses/internal-base.d.mts +71 -0
  391. package/dist/node_modules/openai/resources/responses/internal-base.d.ts +71 -0
  392. package/dist/node_modules/openai/resources/responses/internal-base.js +48 -0
  393. package/dist/node_modules/openai/resources/responses/responses.d.mts +956 -64
  394. package/dist/node_modules/openai/resources/responses/responses.d.ts +956 -64
  395. package/dist/node_modules/openai/resources/responses/responses.js +20 -5
  396. package/dist/node_modules/openai/resources/responses/ws-base.d.mts +106 -0
  397. package/dist/node_modules/openai/resources/responses/ws-base.d.ts +106 -0
  398. package/dist/node_modules/openai/resources/responses/ws-base.js +476 -0
  399. package/dist/node_modules/openai/resources/responses/ws.d.mts +13 -0
  400. package/dist/node_modules/openai/resources/responses/ws.d.ts +13 -0
  401. package/dist/node_modules/openai/resources/responses/ws.js +31 -0
  402. package/dist/node_modules/openai/resources/shared.d.mts +3 -2
  403. package/dist/node_modules/openai/resources/shared.d.ts +3 -2
  404. package/dist/node_modules/openai/resources/skills/content.d.mts +1 -1
  405. package/dist/node_modules/openai/resources/skills/content.d.ts +1 -1
  406. package/dist/node_modules/openai/resources/skills/content.js +2 -1
  407. package/dist/node_modules/openai/resources/skills/skills.d.mts +5 -5
  408. package/dist/node_modules/openai/resources/skills/skills.d.ts +5 -5
  409. package/dist/node_modules/openai/resources/skills/skills.js +18 -10
  410. package/dist/node_modules/openai/resources/skills/versions/content.d.mts +1 -1
  411. package/dist/node_modules/openai/resources/skills/versions/content.d.ts +1 -1
  412. package/dist/node_modules/openai/resources/skills/versions/content.js +2 -1
  413. package/dist/node_modules/openai/resources/skills/versions/versions.d.mts +4 -4
  414. package/dist/node_modules/openai/resources/skills/versions/versions.d.ts +4 -4
  415. package/dist/node_modules/openai/resources/skills/versions/versions.js +14 -7
  416. package/dist/node_modules/openai/resources/uploads/parts.d.mts +3 -0
  417. package/dist/node_modules/openai/resources/uploads/parts.d.ts +3 -0
  418. package/dist/node_modules/openai/resources/uploads/parts.js +4 -1
  419. package/dist/node_modules/openai/resources/uploads/uploads.d.mts +10 -1
  420. package/dist/node_modules/openai/resources/uploads/uploads.d.ts +10 -1
  421. package/dist/node_modules/openai/resources/uploads/uploads.js +20 -4
  422. package/dist/node_modules/openai/resources/vector-stores/file-batches.d.mts +9 -3
  423. package/dist/node_modules/openai/resources/vector-stores/file-batches.d.ts +9 -3
  424. package/dist/node_modules/openai/resources/vector-stores/file-batches.js +9 -1
  425. package/dist/node_modules/openai/resources/vector-stores/files.d.mts +3 -1
  426. package/dist/node_modules/openai/resources/vector-stores/files.d.ts +3 -1
  427. package/dist/node_modules/openai/resources/vector-stores/files.js +10 -1
  428. package/dist/node_modules/openai/resources/vector-stores/vector-stores.js +6 -0
  429. package/dist/node_modules/openai/resources/videos.d.mts +123 -11
  430. package/dist/node_modules/openai/resources/videos.d.ts +123 -11
  431. package/dist/node_modules/openai/resources/videos.js +46 -11
  432. package/dist/node_modules/openai/src/auth/index.ts +9 -0
  433. package/dist/node_modules/openai/src/auth/subject-token-providers.ts +185 -0
  434. package/dist/node_modules/openai/src/auth/types.ts +28 -0
  435. package/dist/node_modules/openai/src/auth/workload-identity-auth.ts +122 -0
  436. package/dist/node_modules/openai/src/azure.ts +9 -4
  437. package/dist/node_modules/openai/src/beta/realtime/websocket.ts +7 -2
  438. package/dist/node_modules/openai/src/beta/realtime/ws.ts +5 -1
  439. package/dist/node_modules/openai/src/client.ts +312 -35
  440. package/dist/node_modules/openai/src/core/EventEmitter.ts +114 -0
  441. package/dist/node_modules/openai/src/core/error.ts +40 -0
  442. package/dist/node_modules/openai/src/core/pagination.ts +62 -0
  443. package/dist/node_modules/openai/src/core/streaming.ts +2 -1
  444. package/dist/node_modules/openai/src/index.ts +2 -0
  445. package/dist/node_modules/openai/src/internal/parse.ts +12 -2
  446. package/dist/node_modules/openai/src/internal/request-options.ts +2 -0
  447. package/dist/node_modules/openai/src/internal/types.ts +14 -8
  448. package/dist/node_modules/openai/src/internal/utils/env.ts +2 -2
  449. package/dist/node_modules/openai/src/internal/utils/log.ts +2 -0
  450. package/dist/node_modules/openai/src/internal/utils/query.ts +7 -0
  451. package/dist/node_modules/openai/src/internal/utils.ts +1 -0
  452. package/dist/node_modules/openai/src/internal/ws-adapter-browser.ts +123 -0
  453. package/dist/node_modules/openai/src/internal/ws-adapter-node.ts +105 -0
  454. package/dist/node_modules/openai/src/internal/ws-adapter.ts +30 -0
  455. package/dist/node_modules/openai/src/internal/ws.ts +193 -0
  456. package/dist/node_modules/openai/src/realtime/websocket.ts +7 -2
  457. package/dist/node_modules/openai/src/realtime/ws.ts +5 -1
  458. package/dist/node_modules/openai/src/resources/admin/admin.ts +15 -0
  459. package/dist/node_modules/openai/src/resources/admin/index.ts +4 -0
  460. package/dist/node_modules/openai/src/resources/admin/organization/admin-api-keys.ts +199 -0
  461. package/dist/node_modules/openai/src/resources/admin/organization/audit-logs.ts +1597 -0
  462. package/dist/node_modules/openai/src/resources/admin/organization/certificates.ts +458 -0
  463. package/dist/node_modules/openai/src/resources/admin/organization/data-retention.ts +79 -0
  464. package/dist/node_modules/openai/src/resources/admin/organization/groups/groups.ts +277 -0
  465. package/dist/node_modules/openai/src/resources/admin/organization/groups/index.ts +36 -0
  466. package/dist/node_modules/openai/src/resources/admin/organization/groups/roles.ts +359 -0
  467. package/dist/node_modules/openai/src/resources/admin/organization/groups/users.ts +232 -0
  468. package/dist/node_modules/openai/src/resources/admin/organization/groups.ts +3 -0
  469. package/dist/node_modules/openai/src/resources/admin/organization/index.ts +117 -0
  470. package/dist/node_modules/openai/src/resources/admin/organization/invites.ts +215 -0
  471. package/dist/node_modules/openai/src/resources/admin/organization/organization.ts +272 -0
  472. package/dist/node_modules/openai/src/resources/admin/organization/projects/api-keys.ts +239 -0
  473. package/dist/node_modules/openai/src/resources/admin/organization/projects/certificates.ts +269 -0
  474. package/dist/node_modules/openai/src/resources/admin/organization/projects/data-retention.ts +91 -0
  475. package/dist/node_modules/openai/src/resources/admin/organization/projects/groups/groups.ts +231 -0
  476. package/dist/node_modules/openai/src/resources/admin/organization/projects/groups/index.ts +24 -0
  477. package/dist/node_modules/openai/src/resources/admin/organization/projects/groups/roles.ts +386 -0
  478. package/dist/node_modules/openai/src/resources/admin/organization/projects/groups.ts +3 -0
  479. package/dist/node_modules/openai/src/resources/admin/organization/projects/hosted-tool-permissions.ts +217 -0
  480. package/dist/node_modules/openai/src/resources/admin/organization/projects/index.ts +102 -0
  481. package/dist/node_modules/openai/src/resources/admin/organization/projects/model-permissions.ts +123 -0
  482. package/dist/node_modules/openai/src/resources/admin/organization/projects/projects.ts +445 -0
  483. package/dist/node_modules/openai/src/resources/admin/organization/projects/rate-limits.ts +173 -0
  484. package/dist/node_modules/openai/src/resources/admin/organization/projects/roles.ts +210 -0
  485. package/dist/node_modules/openai/src/resources/admin/organization/projects/service-accounts.ts +266 -0
  486. package/dist/node_modules/openai/src/resources/admin/organization/projects/spend-alerts.ts +332 -0
  487. package/dist/node_modules/openai/src/resources/admin/organization/projects/users/index.ts +25 -0
  488. package/dist/node_modules/openai/src/resources/admin/organization/projects/users/roles.ts +351 -0
  489. package/dist/node_modules/openai/src/resources/admin/organization/projects/users/users.ts +256 -0
  490. package/dist/node_modules/openai/src/resources/admin/organization/projects/users.ts +3 -0
  491. package/dist/node_modules/openai/src/resources/admin/organization/projects.ts +3 -0
  492. package/dist/node_modules/openai/src/resources/admin/organization/roles.ts +217 -0
  493. package/dist/node_modules/openai/src/resources/admin/organization/spend-alerts.ts +301 -0
  494. package/dist/node_modules/openai/src/resources/admin/organization/usage.ts +6427 -0
  495. package/dist/node_modules/openai/src/resources/admin/organization/users/index.ts +22 -0
  496. package/dist/node_modules/openai/src/resources/admin/organization/users/roles.ts +328 -0
  497. package/dist/node_modules/openai/src/resources/admin/organization/users/users.ts +291 -0
  498. package/dist/node_modules/openai/src/resources/admin/organization/users.ts +3 -0
  499. package/dist/node_modules/openai/src/resources/admin/organization.ts +3 -0
  500. package/dist/node_modules/openai/src/resources/admin.ts +3 -0
  501. package/dist/node_modules/openai/src/resources/audio/speech.ts +26 -6
  502. package/dist/node_modules/openai/src/resources/audio/transcriptions.ts +7 -0
  503. package/dist/node_modules/openai/src/resources/audio/translations.ts +7 -1
  504. package/dist/node_modules/openai/src/resources/batches.ts +20 -8
  505. package/dist/node_modules/openai/src/resources/beta/assistants.ts +11 -2
  506. package/dist/node_modules/openai/src/resources/beta/chatkit/sessions.ts +6 -2
  507. package/dist/node_modules/openai/src/resources/beta/chatkit/threads.ts +13 -5
  508. package/dist/node_modules/openai/src/resources/beta/realtime/sessions.ts +1 -0
  509. package/dist/node_modules/openai/src/resources/beta/realtime/transcription-sessions.ts +1 -0
  510. package/dist/node_modules/openai/src/resources/beta/threads/messages.ts +7 -0
  511. package/dist/node_modules/openai/src/resources/beta/threads/runs/runs.ts +10 -0
  512. package/dist/node_modules/openai/src/resources/beta/threads/runs/steps.ts +4 -0
  513. package/dist/node_modules/openai/src/resources/beta/threads/threads.ts +14 -4
  514. package/dist/node_modules/openai/src/resources/chat/completions/completions.ts +64 -27
  515. package/dist/node_modules/openai/src/resources/chat/completions/messages.ts +4 -1
  516. package/dist/node_modules/openai/src/resources/completions.ts +15 -6
  517. package/dist/node_modules/openai/src/resources/containers/containers.ts +11 -3
  518. package/dist/node_modules/openai/src/resources/containers/files/content.ts +1 -0
  519. package/dist/node_modules/openai/src/resources/containers/files/files.ts +7 -2
  520. package/dist/node_modules/openai/src/resources/conversations/conversations.ts +31 -4
  521. package/dist/node_modules/openai/src/resources/conversations/items.ts +17 -3
  522. package/dist/node_modules/openai/src/resources/embeddings.ts +4 -0
  523. package/dist/node_modules/openai/src/resources/evals/evals.ts +12 -5
  524. package/dist/node_modules/openai/src/resources/evals/runs/output-items.ts +8 -2
  525. package/dist/node_modules/openai/src/resources/evals/runs/runs.ts +21 -4
  526. package/dist/node_modules/openai/src/resources/files.ts +23 -5
  527. package/dist/node_modules/openai/src/resources/fine-tuning/alpha/graders.ts +13 -2
  528. package/dist/node_modules/openai/src/resources/fine-tuning/checkpoints/checkpoints.ts +6 -0
  529. package/dist/node_modules/openai/src/resources/fine-tuning/checkpoints/index.ts +3 -0
  530. package/dist/node_modules/openai/src/resources/fine-tuning/checkpoints/permissions.ts +84 -10
  531. package/dist/node_modules/openai/src/resources/fine-tuning/jobs/checkpoints.ts +4 -1
  532. package/dist/node_modules/openai/src/resources/fine-tuning/jobs/jobs.ts +26 -7
  533. package/dist/node_modules/openai/src/resources/images.ts +74 -27
  534. package/dist/node_modules/openai/src/resources/index.ts +7 -0
  535. package/dist/node_modules/openai/src/resources/models.ts +6 -3
  536. package/dist/node_modules/openai/src/resources/moderations.ts +4 -1
  537. package/dist/node_modules/openai/src/resources/realtime/calls.ts +21 -2
  538. package/dist/node_modules/openai/src/resources/realtime/client-secrets.ts +54 -40
  539. package/dist/node_modules/openai/src/resources/realtime/index.ts +0 -1
  540. package/dist/node_modules/openai/src/resources/realtime/realtime.ts +705 -20
  541. package/dist/node_modules/openai/src/resources/responses/index.ts +2 -0
  542. package/dist/node_modules/openai/src/resources/responses/input-items.ts +1 -1
  543. package/dist/node_modules/openai/src/resources/responses/input-tokens.ts +9 -2
  544. package/dist/node_modules/openai/src/resources/responses/internal-base.ts +113 -0
  545. package/dist/node_modules/openai/src/resources/responses/responses.ts +1314 -143
  546. package/dist/node_modules/openai/src/resources/responses/ws-base.ts +611 -0
  547. package/dist/node_modules/openai/src/resources/responses/ws.ts +38 -0
  548. package/dist/node_modules/openai/src/resources/shared.ts +9 -1
  549. package/dist/node_modules/openai/src/resources/skills/content.ts +2 -1
  550. package/dist/node_modules/openai/src/resources/skills/skills.ts +21 -10
  551. package/dist/node_modules/openai/src/resources/skills/versions/content.ts +2 -1
  552. package/dist/node_modules/openai/src/resources/skills/versions/versions.ts +14 -7
  553. package/dist/node_modules/openai/src/resources/uploads/parts.ts +4 -1
  554. package/dist/node_modules/openai/src/resources/uploads/uploads.ts +20 -4
  555. package/dist/node_modules/openai/src/resources/vector-stores/file-batches.ts +18 -4
  556. package/dist/node_modules/openai/src/resources/vector-stores/files.ts +13 -2
  557. package/dist/node_modules/openai/src/resources/vector-stores/vector-stores.ts +6 -0
  558. package/dist/node_modules/openai/src/resources/videos.ts +186 -16
  559. package/dist/node_modules/openai/src/version.ts +1 -1
  560. package/dist/node_modules/openai/streaming.d.mts +1 -0
  561. package/dist/node_modules/openai/streaming.d.ts +1 -0
  562. package/dist/node_modules/openai/uploads.d.mts +1 -0
  563. package/dist/node_modules/openai/uploads.d.ts +1 -0
  564. package/dist/node_modules/openai/version.d.mts +1 -1
  565. package/dist/node_modules/openai/version.d.ts +1 -1
  566. package/dist/node_modules/openai/version.js +1 -1
  567. package/dist/node_modules/zod/package.json +1 -1
  568. package/dist/server/ai-employees/ai-employee.d.ts +1 -10
  569. package/dist/server/ai-employees/ai-employee.js +0 -84
  570. package/dist/server/ai-employees/ai-knowledge-base.d.ts +0 -4
  571. package/dist/server/ai-employees/ai-knowledge-base.js +25 -89
  572. package/dist/server/collections/lc-checkpoint-blobs.js +1 -1
  573. package/dist/server/collections/lc-checkpoint-writes.js +1 -1
  574. package/dist/server/collections/lc-checkpoints.js +1 -1
  575. package/dist/server/features/index.d.ts +1 -1
  576. package/dist/server/features/knowledge-base.d.ts +2 -1
  577. package/dist/server/features/vector-store-provider.d.ts +1 -9
  578. package/dist/server/plugin.d.ts +1 -0
  579. package/dist/server/plugin.js +31 -0
  580. package/dist/server/types/knowledge-base.type.d.ts +14 -0
  581. package/package.json +13 -13
  582. package/dist/ai/docs/nocobase/ai-employees/knowledge-base/knowledge-base.md +0 -82
  583. package/dist/node_modules/@langchain/xai/dist/_virtual/rolldown_runtime.cjs +0 -25
@@ -0,0 +1,114 @@
1
+ type EventListener<Events, EventType extends keyof Events> = Events[EventType];
2
+
3
+ type EventListeners<Events, EventType extends keyof Events> = Array<{
4
+ listener: EventListener<Events, EventType>;
5
+ once?: boolean;
6
+ }>;
7
+
8
+ export type EventParameters<Events, EventType extends keyof Events> = {
9
+ [Event in EventType]: EventListener<Events, EventType> extends (...args: infer P) => any ? P : never;
10
+ }[EventType];
11
+
12
+ export class EventEmitter<EventTypes extends Record<string, (...args: any) => any>> {
13
+ #listeners: {
14
+ [Event in keyof EventTypes]?: EventListeners<EventTypes, Event>;
15
+ } = {};
16
+
17
+ /**
18
+ * Adds the listener function to the end of the listeners array for the event.
19
+ * No checks are made to see if the listener has already been added. Multiple calls passing
20
+ * the same combination of event and listener will result in the listener being added, and
21
+ * called, multiple times.
22
+ * @returns this, so that calls can be chained
23
+ */
24
+ on<Event extends keyof EventTypes>(event: Event, listener: EventListener<EventTypes, Event>): this {
25
+ const listeners: EventListeners<EventTypes, Event> =
26
+ this.#listeners[event] || (this.#listeners[event] = []);
27
+ listeners.push({ listener });
28
+ return this;
29
+ }
30
+
31
+ /**
32
+ * Removes the specified listener from the listener array for the event.
33
+ * off() will remove, at most, one instance of a listener from the listener array. If any single
34
+ * listener has been added multiple times to the listener array for the specified event, then
35
+ * off() must be called multiple times to remove each instance.
36
+ * @returns this, so that calls can be chained
37
+ */
38
+ off<Event extends keyof EventTypes>(event: Event, listener: EventListener<EventTypes, Event>): this {
39
+ const listeners = this.#listeners[event];
40
+ if (!listeners) return this;
41
+ const index = listeners.findIndex((l) => l.listener === listener);
42
+ if (index >= 0) listeners.splice(index, 1);
43
+ return this;
44
+ }
45
+
46
+ /**
47
+ * Adds a one-time listener function for the event. The next time the event is triggered,
48
+ * this listener is removed and then invoked.
49
+ * @returns this, so that calls can be chained
50
+ */
51
+ once<Event extends keyof EventTypes>(event: Event, listener: EventListener<EventTypes, Event>): this {
52
+ const listeners: EventListeners<EventTypes, Event> =
53
+ this.#listeners[event] || (this.#listeners[event] = []);
54
+ listeners.push({ listener, once: true });
55
+ return this;
56
+ }
57
+
58
+ /**
59
+ * This is similar to `.once()`, but returns a Promise that resolves the next time
60
+ * the event is triggered, instead of calling a listener callback.
61
+ * @returns a Promise that resolves the next time given event is triggered,
62
+ * or rejects if an error is emitted. (If you request the 'error' event,
63
+ * returns a promise that resolves with the error).
64
+ *
65
+ * Example:
66
+ *
67
+ * const message = await stream.emitted('message') // rejects if the stream errors
68
+ */
69
+ emitted<Event extends keyof EventTypes>(
70
+ event: Event,
71
+ ): Promise<
72
+ EventParameters<EventTypes, Event> extends [infer Param] ? Param
73
+ : EventParameters<EventTypes, Event> extends [] ? void
74
+ : EventParameters<EventTypes, Event>
75
+ > {
76
+ return new Promise((resolve, reject) => {
77
+ // TODO: handle errors
78
+ this.once(event, resolve as any);
79
+ });
80
+ }
81
+
82
+ protected _emit<Event extends keyof EventTypes>(
83
+ this: EventEmitter<EventTypes>,
84
+ event: Event,
85
+ ...args: EventParameters<EventTypes, Event>
86
+ ) {
87
+ const listeners: EventListeners<EventTypes, Event> | undefined = this.#listeners[event];
88
+ if (listeners) {
89
+ this.#listeners[event] = listeners.filter((l) => !l.once) as any;
90
+ listeners.forEach(({ listener }: any) => listener(...(args as any)));
91
+ }
92
+ }
93
+
94
+ protected _hasListener(event: keyof EventTypes): boolean {
95
+ const listeners = this.#listeners[event];
96
+ return listeners && listeners.length > 0;
97
+ }
98
+ }
99
+
100
+ /**
101
+ * An EventEmitter variant that exposes `_emit()` publicly.
102
+ *
103
+ * The base {@link EventEmitter} keeps `_emit` protected so that consumers
104
+ * can only listen, not dispatch. When you need a separate emitter instance
105
+ * that your own code can emit on, without exposing emit on the
106
+ * consumer-facing emitter, use this class.
107
+ */
108
+ export class InternalEventEmitter<
109
+ EventTypes extends Record<string, (...args: any) => any>,
110
+ > extends EventEmitter<EventTypes> {
111
+ override _emit<Event extends keyof EventTypes>(event: Event, ...args: EventParameters<EventTypes, Event>) {
112
+ super._emit(event, ...args);
113
+ }
114
+ }
@@ -1,6 +1,7 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  import { castToError } from '../internal/errors';
4
+ import type { OAuthErrorCode } from '../resources/shared';
4
5
 
5
6
  export class OpenAIError extends Error {}
6
7
 
@@ -158,3 +159,42 @@ export class InvalidWebhookSignatureError extends Error {
158
159
  super(message);
159
160
  }
160
161
  }
162
+
163
+ /**
164
+ * Error thrown by the API server during OAuth token exchange.
165
+ * Can have status codes 400, 401, or 403.
166
+ * Other status codes from OAuth endpoints are raised as normal APIError types.
167
+ */
168
+ export class OAuthError extends APIError<400 | 401 | 403, Headers> {
169
+ readonly error_code: OAuthErrorCode | undefined;
170
+
171
+ constructor(status: 400 | 401 | 403, error: Object | undefined, headers: Headers) {
172
+ let finalMessage = 'OAuth2 authentication error';
173
+ let error_code: OAuthErrorCode | undefined = undefined;
174
+
175
+ if (error && typeof error === 'object') {
176
+ const errorData = error as Record<string, any>;
177
+ error_code = errorData['error'];
178
+ const description = errorData['error_description'];
179
+ if (description && typeof description === 'string') {
180
+ finalMessage = description;
181
+ } else if (error_code) {
182
+ finalMessage = error_code;
183
+ }
184
+ }
185
+
186
+ super(status, error, finalMessage, headers);
187
+ this.error_code = error_code;
188
+ }
189
+ }
190
+
191
+ export class SubjectTokenProviderError extends OpenAIError {
192
+ readonly provider: string;
193
+ readonly cause: Error | undefined;
194
+
195
+ constructor(message: string, provider: string, cause?: Error) {
196
+ super(message);
197
+ this.provider = provider;
198
+ this.cause = cause;
199
+ }
200
+ }
@@ -267,3 +267,65 @@ export class ConversationCursorPage<Item>
267
267
  };
268
268
  }
269
269
  }
270
+
271
+ export interface NextCursorPageResponse<Item> {
272
+ data: Array<Item>;
273
+
274
+ has_more: boolean;
275
+
276
+ next: string | null;
277
+ }
278
+
279
+ export interface NextCursorPageParams {
280
+ after?: string;
281
+
282
+ limit?: number;
283
+ }
284
+
285
+ export class NextCursorPage<Item> extends AbstractPage<Item> implements NextCursorPageResponse<Item> {
286
+ data: Array<Item>;
287
+
288
+ has_more: boolean;
289
+
290
+ next: string | null;
291
+
292
+ constructor(
293
+ client: OpenAI,
294
+ response: Response,
295
+ body: NextCursorPageResponse<Item>,
296
+ options: FinalRequestOptions,
297
+ ) {
298
+ super(client, response, body, options);
299
+
300
+ this.data = body.data || [];
301
+ this.has_more = body.has_more || false;
302
+ this.next = body.next || null;
303
+ }
304
+
305
+ getPaginatedItems(): Item[] {
306
+ return this.data ?? [];
307
+ }
308
+
309
+ override hasNextPage(): boolean {
310
+ if (this.has_more === false) {
311
+ return false;
312
+ }
313
+
314
+ return super.hasNextPage();
315
+ }
316
+
317
+ nextPageRequestOptions(): PageRequestOptions | null {
318
+ const cursor = this.next;
319
+ if (!cursor) {
320
+ return null;
321
+ }
322
+
323
+ return {
324
+ ...this.options,
325
+ query: {
326
+ ...maybeObj(this.options.query),
327
+ after: cursor,
328
+ },
329
+ };
330
+ }
331
+ }
@@ -35,6 +35,7 @@ export class Stream<Item> implements AsyncIterable<Item> {
35
35
  response: Response,
36
36
  controller: AbortController,
37
37
  client?: OpenAI,
38
+ synthesizeEventData?: boolean,
38
39
  ): Stream<Item> {
39
40
  let consumed = false;
40
41
  const logger = client ? loggerFor(client) : console;
@@ -69,7 +70,7 @@ export class Stream<Item> implements AsyncIterable<Item> {
69
70
  throw new APIError(undefined, data.error, undefined, response.headers);
70
71
  }
71
72
 
72
- yield data;
73
+ yield synthesizeEventData ? { event: sse.event, data } : data;
73
74
  } else {
74
75
  let data;
75
76
  try {
@@ -21,6 +21,8 @@ export {
21
21
  PermissionDeniedError,
22
22
  UnprocessableEntityError,
23
23
  InvalidWebhookSignatureError,
24
+ OAuthError,
25
+ SubjectTokenProviderError,
24
26
  } from './core/error';
25
27
 
26
28
  export { AzureOpenAI } from './azure';
@@ -28,10 +28,20 @@ export async function defaultParseResponse<T>(
28
28
  // that if you set `stream: true` the response type must also be `Stream<T>`
29
29
 
30
30
  if (props.options.__streamClass) {
31
- return props.options.__streamClass.fromSSEResponse(response, props.controller, client) as any;
31
+ return props.options.__streamClass.fromSSEResponse(
32
+ response,
33
+ props.controller,
34
+ client,
35
+ props.options.__synthesizeEventData,
36
+ ) as any;
32
37
  }
33
38
 
34
- return Stream.fromSSEResponse(response, props.controller, client) as any;
39
+ return Stream.fromSSEResponse(
40
+ response,
41
+ props.controller,
42
+ client,
43
+ props.options.__synthesizeEventData,
44
+ ) as any;
35
45
  }
36
46
 
37
47
  // fetch refuses to read the body when the status code is 204.
@@ -77,8 +77,10 @@ export type RequestOptions = {
77
77
  defaultBaseURL?: string | undefined;
78
78
 
79
79
  __metadata?: Record<string, unknown>;
80
+ __security?: { bearerAuth?: boolean; adminAPIKeyAuth?: boolean };
80
81
  __binaryResponse?: boolean | undefined;
81
82
  __streamClass?: typeof Stream;
83
+ __synthesizeEventData?: boolean;
82
84
  };
83
85
 
84
86
  export type EncodedContent = { bodyHeaders: HeadersLike; body: BodyInit };
@@ -40,7 +40,6 @@ type OverloadedParameters<T> =
40
40
  : T extends (...args: infer A) => unknown ? A
41
41
  : never;
42
42
 
43
- /* eslint-disable */
44
43
  /**
45
44
  * These imports attempt to get types from a parent package's dependencies.
46
45
  * Unresolved bare specifiers can trigger [automatic type acquisition][1] in some projects, which
@@ -63,19 +62,18 @@ type OverloadedParameters<T> =
63
62
  *
64
63
  * [1]: https://www.typescriptlang.org/tsconfig/#typeAcquisition
65
64
  */
66
- /** @ts-ignore For users with \@types/node */
65
+ /** @ts-ignore For users with \@types/node */ /* prettier-ignore */
67
66
  type UndiciTypesRequestInit = NotAny<import('../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/undici-types/index.d.ts').RequestInit>;
68
- /** @ts-ignore For users with undici */
67
+ /** @ts-ignore For users with undici */ /* prettier-ignore */
69
68
  type UndiciRequestInit = NotAny<import('../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/undici/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/undici/index.d.ts').RequestInit>;
70
- /** @ts-ignore For users with \@types/bun */
69
+ /** @ts-ignore For users with \@types/bun */ /* prettier-ignore */
71
70
  type BunRequestInit = globalThis.FetchRequestInit;
72
- /** @ts-ignore For users with node-fetch@2 */
71
+ /** @ts-ignore For users with node-fetch@2 */ /* prettier-ignore */
73
72
  type NodeFetch2RequestInit = NotAny<import('../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/@types/node-fetch/index.d.ts').RequestInit>;
74
- /** @ts-ignore For users with node-fetch@3, doesn't need file extension because types are at ./@types/index.d.ts */
73
+ /** @ts-ignore For users with node-fetch@3, doesn't need file extension because types are at ./@types/index.d.ts */ /* prettier-ignore */
75
74
  type NodeFetch3RequestInit = NotAny<import('../node_modules/node-fetch').RequestInit> | NotAny<import('../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../../node_modules/node-fetch').RequestInit> | NotAny<import('../../../../../../../../../../node_modules/node-fetch').RequestInit>;
76
- /** @ts-ignore For users who use Deno */
75
+ /** @ts-ignore For users who use Deno */ /* prettier-ignore */
77
76
  type FetchRequestInit = NonNullable<OverloadedParameters<typeof fetch>[1]>;
78
- /* eslint-enable */
79
77
 
80
78
  type RequestInits =
81
79
  | NotAny<UndiciTypesRequestInit>
@@ -86,10 +84,18 @@ type RequestInits =
86
84
  | NotAny<RequestInit>
87
85
  | NotAny<FetchRequestInit>;
88
86
 
87
+ type RuntimeFetchOptions = {
88
+ dispatcher?: unknown;
89
+ agent?: unknown;
90
+ client?: unknown;
91
+ proxy?: unknown;
92
+ };
93
+
89
94
  /**
90
95
  * This type contains `RequestInit` options that may be available on the current runtime,
91
96
  * including per-platform extensions like `dispatcher`, `agent`, `client`, etc.
92
97
  */
93
98
  export type MergedRequestInit = RequestInits &
99
+ RuntimeFetchOptions &
94
100
  /** We don't include these in the types as they'll be overridden for every request. */
95
101
  Partial<Record<'body' | 'headers' | 'method' | 'signal', never>>;
@@ -9,10 +9,10 @@
9
9
  */
10
10
  export const readEnv = (env: string): string | undefined => {
11
11
  if (typeof (globalThis as any).process !== 'undefined') {
12
- return (globalThis as any).process.env?.[env]?.trim() ?? undefined;
12
+ return (globalThis as any).process.env?.[env]?.trim() || undefined;
13
13
  }
14
14
  if (typeof (globalThis as any).Deno !== 'undefined') {
15
- return (globalThis as any).Deno.env?.get?.(env)?.trim();
15
+ return (globalThis as any).Deno.env?.get?.(env)?.trim() || undefined;
16
16
  }
17
17
  return undefined;
18
18
  };
@@ -107,6 +107,8 @@ export const formatRequestDetails = (details: {
107
107
  name,
108
108
  (
109
109
  name.toLowerCase() === 'authorization' ||
110
+ name.toLowerCase() === 'api-key' ||
111
+ name.toLowerCase() === 'x-api-key' ||
110
112
  name.toLowerCase() === 'cookie' ||
111
113
  name.toLowerCase() === 'set-cookie'
112
114
  ) ?
@@ -0,0 +1,7 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import * as qs from '../qs/stringify';
4
+
5
+ export function stringifyQuery(query: object | Record<string, unknown>) {
6
+ return qs.stringify(query, { arrayFormat: 'brackets' });
7
+ }
@@ -6,3 +6,4 @@ export * from './utils/env';
6
6
  export * from './utils/log';
7
7
  export * from './utils/uuid';
8
8
  export * from './utils/sleep';
9
+ export * from './utils/query';
@@ -0,0 +1,123 @@
1
+ import type { WebSocketLike } from './ws-adapter';
2
+
3
+ /** A generic event listener callback. */
4
+ type Listener = (...args: any[]) => void;
5
+
6
+ /** A DOM-style event handler passed to addEventListener/removeEventListener. */
7
+ type DOMEventHandler = (ev: any) => void;
8
+
9
+ // Minimal browser API type declarations.
10
+ declare class WebSocket {
11
+ readonly readyState: number;
12
+ binaryType: string;
13
+ send(data: string | ArrayBufferLike | ArrayBufferView): void;
14
+ close(code?: number, reason?: string): void;
15
+ addEventListener(type: string, listener: DOMEventHandler): void;
16
+ removeEventListener(type: string, listener: DOMEventHandler): void;
17
+ }
18
+
19
+ interface MessageEvent {
20
+ data: any;
21
+ }
22
+
23
+ interface CloseEvent {
24
+ code: number;
25
+ reason: string;
26
+ }
27
+
28
+ export class BrowserWebSocket implements WebSocketLike {
29
+ private _ws: WebSocket;
30
+ private _listenerMap = new Map<string, Map<Listener, DOMEventHandler>>();
31
+
32
+ constructor(ws: WebSocket) {
33
+ this._ws = ws;
34
+ this._ws.binaryType = 'arraybuffer';
35
+ }
36
+
37
+ /** The underlying platform-specific socket. Code that accesses this will not be isomorphic across server and browser environments. */
38
+ get platformSocket(): WebSocket {
39
+ return this._ws;
40
+ }
41
+
42
+ get readyState(): number {
43
+ return this._ws.readyState;
44
+ }
45
+
46
+ send(data: string | ArrayBufferLike | ArrayBufferView): void {
47
+ this._ws.send(data);
48
+ }
49
+
50
+ close(code?: number, reason?: string): void {
51
+ this._ws.close(code, reason);
52
+ }
53
+
54
+ on(event: string, listener: Listener): void {
55
+ const wrapped = this._wrapListener(event, listener);
56
+ this._listenersFor(event).set(listener, wrapped);
57
+ this._ws.addEventListener(event, wrapped);
58
+ }
59
+
60
+ off(event: string, listener: Listener): void {
61
+ const byListener = this._listenerMap.get(event);
62
+ if (!byListener) return;
63
+ const wrapped = byListener.get(listener);
64
+ if (wrapped) {
65
+ byListener.delete(listener);
66
+ this._ws.removeEventListener(event, wrapped);
67
+ }
68
+ }
69
+
70
+ once(event: string, listener: Listener): void {
71
+ const onceListener: Listener = (...args) => {
72
+ this.off(event, listener);
73
+ listener(...args);
74
+ };
75
+ const wrapped = this._wrapListener(event, onceListener);
76
+ this._listenersFor(event).set(listener, wrapped);
77
+ this._ws.addEventListener(event, wrapped);
78
+ }
79
+
80
+ private _listenersFor(event: string): Map<Listener, DOMEventHandler> {
81
+ let map = this._listenerMap.get(event);
82
+ if (!map) {
83
+ map = new Map();
84
+ this._listenerMap.set(event, map);
85
+ }
86
+ return map;
87
+ }
88
+
89
+ /**
90
+ * Converts browser event objects to positional arguments matching the
91
+ * {@link WebSocketLike} interface.
92
+ */
93
+ private _wrapListener(event: string, listener: Listener): DOMEventHandler {
94
+ switch (event) {
95
+ case 'message':
96
+ return (ev: MessageEvent) => {
97
+ const isBinary = typeof ev.data !== 'string';
98
+ listener(ev.data, isBinary);
99
+ };
100
+
101
+ case 'close':
102
+ return (ev: CloseEvent) => {
103
+ listener(ev.code, ev.reason);
104
+ };
105
+
106
+ case 'error':
107
+ return (ev: any) => {
108
+ // Some environments provide an ErrorEvent with a `.message`;
109
+ // fall back to a generic message when the event carries nothing.
110
+ const message = ev?.message || ev?.error?.message || 'WebSocket error';
111
+ const err = new Error(message);
112
+ if (ev?.error) {
113
+ (err as any).cause = ev.error;
114
+ }
115
+ listener(err);
116
+ };
117
+
118
+ case 'open':
119
+ default:
120
+ return listener as DOMEventHandler;
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,105 @@
1
+ import type * as WS from 'ws';
2
+ import type { WebSocketLike } from './ws-adapter';
3
+
4
+ /** A generic event listener callback. */
5
+ type Listener = (...args: any[]) => void;
6
+
7
+ export class NodeWebSocket implements WebSocketLike {
8
+ private _ws: WS.WebSocket;
9
+
10
+ /** Maps `(event, originalListener)` -> wrapped listener for correct `off()` removal. */
11
+ private _listenerMap = new Map<string, Map<Listener, Listener>>();
12
+
13
+ constructor(ws: WS.WebSocket) {
14
+ this._ws = ws;
15
+ }
16
+
17
+ /** The underlying platform-specific socket. Code that accesses this will not be isomorphic across server and browser environments. */
18
+ get platformSocket(): WS.WebSocket {
19
+ return this._ws;
20
+ }
21
+
22
+ get readyState(): number {
23
+ return this._ws.readyState;
24
+ }
25
+
26
+ send(data: string | ArrayBufferLike | ArrayBufferView): void {
27
+ this._ws.send(data);
28
+ }
29
+
30
+ close(code?: number, reason?: string): void {
31
+ this._ws.close(code, reason);
32
+ }
33
+
34
+ on(event: string, listener: Listener): void {
35
+ const wrapped = this._wrapListener(event, listener);
36
+ this._listenersFor(event).set(listener, wrapped);
37
+ this._ws.on(event, wrapped);
38
+ }
39
+
40
+ off(event: string, listener: Listener): void {
41
+ const byListener = this._listenerMap.get(event);
42
+ if (!byListener) return;
43
+ const wrapped = byListener.get(listener);
44
+ if (wrapped) {
45
+ byListener.delete(listener);
46
+ this._ws.removeListener(event, wrapped);
47
+ }
48
+ }
49
+
50
+ once(event: string, listener: Listener): void {
51
+ const onceListener: Listener = (...args) => {
52
+ this.off(event, listener);
53
+ listener(...args);
54
+ };
55
+ const wrapped = this._wrapListener(event, onceListener);
56
+ this._listenersFor(event).set(listener, wrapped);
57
+ this._ws.on(event, wrapped);
58
+ }
59
+
60
+ private _listenersFor(event: string): Map<Listener, Listener> {
61
+ let map = this._listenerMap.get(event);
62
+ if (!map) {
63
+ map = new Map();
64
+ this._listenerMap.set(event, map);
65
+ }
66
+ return map;
67
+ }
68
+
69
+ /**
70
+ * Normalizes `ws` message payloads: text frames become strings,
71
+ * binary frames stay as `Buffer`, and fragmented frames are merged.
72
+ */
73
+ private static _normalizeMessageData(
74
+ data: Buffer | ArrayBuffer | Buffer[],
75
+ isBinary: boolean,
76
+ ): string | Buffer {
77
+ if (!isBinary) {
78
+ if (Array.isArray(data)) return Buffer.concat(data).toString();
79
+ if (data instanceof ArrayBuffer) return Buffer.from(data).toString();
80
+ return data.toString();
81
+ }
82
+
83
+ if (Array.isArray(data)) return Buffer.concat(data);
84
+ if (data instanceof ArrayBuffer) return Buffer.from(data);
85
+ return data;
86
+ }
87
+
88
+ private _wrapListener(event: string, listener: Listener): Listener {
89
+ switch (event) {
90
+ case 'message':
91
+ return (data: Buffer | ArrayBuffer | Buffer[], isBinary: boolean) => {
92
+ listener(NodeWebSocket._normalizeMessageData(data, isBinary), isBinary);
93
+ };
94
+
95
+ case 'close':
96
+ return (code: number, reason: Buffer) => {
97
+ listener(code, reason.toString());
98
+ };
99
+
100
+ // 'open' and 'error' pass through unchanged
101
+ default:
102
+ return listener;
103
+ }
104
+ }
105
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Normalized WebSocket interface that abstracts over the `ws` package (Node.js)
3
+ * and the native WebSocket API (browser).
4
+ */
5
+ export interface WebSocketLike {
6
+ readonly readyState: number;
7
+
8
+ send(data: string | ArrayBufferLike | ArrayBufferView): void;
9
+ close(code?: number, reason?: string): void;
10
+
11
+ on(event: 'open', listener: () => void): void;
12
+ on(
13
+ event: 'message',
14
+ listener: (data: string | ArrayBuffer | ArrayBufferView, isBinary: boolean) => void,
15
+ ): void;
16
+ on(event: 'close', listener: (code: number, reason: string) => void): void;
17
+ on(event: 'error', listener: (err: Error) => void): void;
18
+ on(event: string, listener: (...args: any[]) => void): void;
19
+
20
+ off(event: string, listener: (...args: any[]) => void): void;
21
+ once(event: string, listener: (...args: any[]) => void): void;
22
+ }
23
+
24
+ /** Standard WebSocket readyState values (RFC 6455). */
25
+ export const ReadyState = {
26
+ CONNECTING: 0,
27
+ OPEN: 1,
28
+ CLOSING: 2,
29
+ CLOSED: 3,
30
+ } as const;