@holokai/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +396 -0
  3. package/dist/core/api/base.controller.d.ts +8 -0
  4. package/dist/core/api/base.controller.d.ts.map +1 -0
  5. package/dist/core/api/base.controller.js +41 -0
  6. package/dist/core/api/base.controller.js.map +1 -0
  7. package/dist/core/api/index.d.ts +3 -0
  8. package/dist/core/api/index.d.ts.map +1 -0
  9. package/dist/core/api/index.js +3 -0
  10. package/dist/core/api/index.js.map +1 -0
  11. package/dist/core/api/types.d.ts +19 -0
  12. package/dist/core/api/types.d.ts.map +1 -0
  13. package/dist/core/api/types.js +2 -0
  14. package/dist/core/api/types.js.map +1 -0
  15. package/dist/core/entities/analysisResult.d.ts +8 -0
  16. package/dist/core/entities/analysisResult.d.ts.map +1 -0
  17. package/dist/core/entities/analysisResult.js +2 -0
  18. package/dist/core/entities/analysisResult.js.map +1 -0
  19. package/dist/core/entities/application.d.ts +12 -0
  20. package/dist/core/entities/application.d.ts.map +1 -0
  21. package/dist/core/entities/application.js +2 -0
  22. package/dist/core/entities/application.js.map +1 -0
  23. package/dist/core/entities/base.d.ts +8 -0
  24. package/dist/core/entities/base.d.ts.map +1 -0
  25. package/dist/core/entities/base.js +2 -0
  26. package/dist/core/entities/base.js.map +1 -0
  27. package/dist/core/entities/evaluator.d.ts +13 -0
  28. package/dist/core/entities/evaluator.d.ts.map +1 -0
  29. package/dist/core/entities/evaluator.data.d.ts +9 -0
  30. package/dist/core/entities/evaluator.data.d.ts.map +1 -0
  31. package/dist/core/entities/evaluator.data.js +2 -0
  32. package/dist/core/entities/evaluator.data.js.map +1 -0
  33. package/dist/core/entities/evaluator.js +2 -0
  34. package/dist/core/entities/evaluator.js.map +1 -0
  35. package/dist/core/entities/index.d.ts +11 -0
  36. package/dist/core/entities/index.d.ts.map +1 -0
  37. package/dist/core/entities/index.js +3 -0
  38. package/dist/core/entities/index.js.map +1 -0
  39. package/dist/core/entities/llm.request.d.ts +19 -0
  40. package/dist/core/entities/llm.request.d.ts.map +1 -0
  41. package/dist/core/entities/llm.request.js +2 -0
  42. package/dist/core/entities/llm.request.js.map +1 -0
  43. package/dist/core/entities/llm.response.d.ts +24 -0
  44. package/dist/core/entities/llm.response.d.ts.map +1 -0
  45. package/dist/core/entities/llm.response.js +3 -0
  46. package/dist/core/entities/llm.response.js.map +1 -0
  47. package/dist/core/entities/llm.status.d.ts +9 -0
  48. package/dist/core/entities/llm.status.d.ts.map +1 -0
  49. package/dist/core/entities/llm.status.js +11 -0
  50. package/dist/core/entities/llm.status.js.map +1 -0
  51. package/dist/core/entities/model.d.ts +14 -0
  52. package/dist/core/entities/model.d.ts.map +1 -0
  53. package/dist/core/entities/model.js +2 -0
  54. package/dist/core/entities/model.js.map +1 -0
  55. package/dist/core/entities/provider.d.ts +12 -0
  56. package/dist/core/entities/provider.d.ts.map +1 -0
  57. package/dist/core/entities/provider.js +2 -0
  58. package/dist/core/entities/provider.js.map +1 -0
  59. package/dist/core/id/index.d.ts +2 -0
  60. package/dist/core/id/index.d.ts.map +1 -0
  61. package/dist/core/id/index.js +13 -0
  62. package/dist/core/id/index.js.map +1 -0
  63. package/dist/core/index.d.ts +7 -0
  64. package/dist/core/index.d.ts.map +1 -0
  65. package/dist/core/index.js +7 -0
  66. package/dist/core/index.js.map +1 -0
  67. package/dist/core/logger/holo-logger-factory.d.ts +6 -0
  68. package/dist/core/logger/holo-logger-factory.d.ts.map +1 -0
  69. package/dist/core/logger/holo-logger-factory.js +16 -0
  70. package/dist/core/logger/holo-logger-factory.js.map +1 -0
  71. package/dist/core/logger/index.d.ts +4 -0
  72. package/dist/core/logger/index.d.ts.map +1 -0
  73. package/dist/core/logger/index.js +4 -0
  74. package/dist/core/logger/index.js.map +1 -0
  75. package/dist/core/logger/logger.d.ts +24 -0
  76. package/dist/core/logger/logger.d.ts.map +1 -0
  77. package/dist/core/logger/logger.js +16 -0
  78. package/dist/core/logger/logger.js.map +1 -0
  79. package/dist/core/logger/mixin.d.ts +29 -0
  80. package/dist/core/logger/mixin.d.ts.map +1 -0
  81. package/dist/core/logger/mixin.js +29 -0
  82. package/dist/core/logger/mixin.js.map +1 -0
  83. package/dist/core/mixins/constructor.d.ts +2 -0
  84. package/dist/core/mixins/constructor.d.ts.map +1 -0
  85. package/dist/core/mixins/constructor.js +2 -0
  86. package/dist/core/mixins/constructor.js.map +1 -0
  87. package/dist/core/mixins/index.d.ts +2 -0
  88. package/dist/core/mixins/index.d.ts.map +1 -0
  89. package/dist/core/mixins/index.js +2 -0
  90. package/dist/core/mixins/index.js.map +1 -0
  91. package/dist/core/parsers/find-last.d.ts +3 -0
  92. package/dist/core/parsers/find-last.d.ts.map +1 -0
  93. package/dist/core/parsers/find-last.js +22 -0
  94. package/dist/core/parsers/find-last.js.map +1 -0
  95. package/dist/core/parsers/index.d.ts +6 -0
  96. package/dist/core/parsers/index.d.ts.map +1 -0
  97. package/dist/core/parsers/index.js +6 -0
  98. package/dist/core/parsers/index.js.map +1 -0
  99. package/dist/core/parsers/parsers.d.ts +6 -0
  100. package/dist/core/parsers/parsers.d.ts.map +1 -0
  101. package/dist/core/parsers/parsers.js +32 -0
  102. package/dist/core/parsers/parsers.js.map +1 -0
  103. package/dist/core/parsers/pick-defined.d.ts +2 -0
  104. package/dist/core/parsers/pick-defined.d.ts.map +1 -0
  105. package/dist/core/parsers/pick-defined.js +4 -0
  106. package/dist/core/parsers/pick-defined.js.map +1 -0
  107. package/dist/core/parsers/pick-headers.d.ts +3 -0
  108. package/dist/core/parsers/pick-headers.d.ts.map +1 -0
  109. package/dist/core/parsers/pick-headers.js +41 -0
  110. package/dist/core/parsers/pick-headers.js.map +1 -0
  111. package/dist/core/parsers/safe-parse.d.ts +2 -0
  112. package/dist/core/parsers/safe-parse.d.ts.map +1 -0
  113. package/dist/core/parsers/safe-parse.js +12 -0
  114. package/dist/core/parsers/safe-parse.js.map +1 -0
  115. package/dist/core/routes.d.ts +19 -0
  116. package/dist/core/routes.d.ts.map +1 -0
  117. package/dist/core/routes.js +8 -0
  118. package/dist/core/routes.js.map +1 -0
  119. package/dist/core/worker/envelopes.d.ts +27 -0
  120. package/dist/core/worker/envelopes.d.ts.map +1 -0
  121. package/dist/core/worker/envelopes.js +2 -0
  122. package/dist/core/worker/envelopes.js.map +1 -0
  123. package/dist/core/worker/index.d.ts +5 -0
  124. package/dist/core/worker/index.d.ts.map +1 -0
  125. package/dist/core/worker/index.js +5 -0
  126. package/dist/core/worker/index.js.map +1 -0
  127. package/dist/core/worker/prompt.d.ts +9 -0
  128. package/dist/core/worker/prompt.d.ts.map +1 -0
  129. package/dist/core/worker/prompt.js +2 -0
  130. package/dist/core/worker/prompt.js.map +1 -0
  131. package/dist/core/worker/request.d.ts +33 -0
  132. package/dist/core/worker/request.d.ts.map +1 -0
  133. package/dist/core/worker/request.js +2 -0
  134. package/dist/core/worker/request.js.map +1 -0
  135. package/dist/core/worker/response.d.ts +18 -0
  136. package/dist/core/worker/response.d.ts.map +1 -0
  137. package/dist/core/worker/response.js +2 -0
  138. package/dist/core/worker/response.js.map +1 -0
  139. package/dist/holo/content.d.ts +14 -0
  140. package/dist/holo/content.d.ts.map +1 -0
  141. package/dist/holo/content.js +7 -0
  142. package/dist/holo/content.js.map +1 -0
  143. package/dist/holo/factories/index.d.ts +3 -0
  144. package/dist/holo/factories/index.d.ts.map +1 -0
  145. package/dist/holo/factories/index.js +3 -0
  146. package/dist/holo/factories/index.js.map +1 -0
  147. package/dist/holo/factories/request-factory.d.ts +3 -0
  148. package/dist/holo/factories/request-factory.d.ts.map +1 -0
  149. package/dist/holo/factories/request-factory.js +8 -0
  150. package/dist/holo/factories/request-factory.js.map +1 -0
  151. package/dist/holo/factories/response-factory.d.ts +7 -0
  152. package/dist/holo/factories/response-factory.d.ts.map +1 -0
  153. package/dist/holo/factories/response-factory.js +64 -0
  154. package/dist/holo/factories/response-factory.js.map +1 -0
  155. package/dist/holo/index.d.ts +17 -0
  156. package/dist/holo/index.d.ts.map +1 -0
  157. package/dist/holo/index.js +19 -0
  158. package/dist/holo/index.js.map +1 -0
  159. package/dist/holo/messages.d.ts +10 -0
  160. package/dist/holo/messages.d.ts.map +1 -0
  161. package/dist/holo/messages.js +2 -0
  162. package/dist/holo/messages.js.map +1 -0
  163. package/dist/holo/requests.d.ts +32 -0
  164. package/dist/holo/requests.d.ts.map +1 -0
  165. package/dist/holo/requests.js +7 -0
  166. package/dist/holo/requests.js.map +1 -0
  167. package/dist/holo/responses.d.ts +57 -0
  168. package/dist/holo/responses.d.ts.map +1 -0
  169. package/dist/holo/responses.js +2 -0
  170. package/dist/holo/responses.js.map +1 -0
  171. package/dist/holo/tools.d.ts +25 -0
  172. package/dist/holo/tools.d.ts.map +1 -0
  173. package/dist/holo/tools.js +2 -0
  174. package/dist/holo/tools.js.map +1 -0
  175. package/dist/index.d.ts +7 -0
  176. package/dist/index.d.ts.map +1 -0
  177. package/dist/index.js +7 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/plugin/base.d.ts +109 -0
  180. package/dist/plugin/base.d.ts.map +1 -0
  181. package/dist/plugin/base.js +131 -0
  182. package/dist/plugin/base.js.map +1 -0
  183. package/dist/plugin/context.d.ts +21 -0
  184. package/dist/plugin/context.d.ts.map +1 -0
  185. package/dist/plugin/context.js +2 -0
  186. package/dist/plugin/context.js.map +1 -0
  187. package/dist/plugin/errors.d.ts +24 -0
  188. package/dist/plugin/errors.d.ts.map +1 -0
  189. package/dist/plugin/errors.js +31 -0
  190. package/dist/plugin/errors.js.map +1 -0
  191. package/dist/plugin/evaluator.d.ts +243 -0
  192. package/dist/plugin/evaluator.d.ts.map +1 -0
  193. package/dist/plugin/evaluator.js +2 -0
  194. package/dist/plugin/evaluator.js.map +1 -0
  195. package/dist/plugin/guard.d.ts +307 -0
  196. package/dist/plugin/guard.d.ts.map +1 -0
  197. package/dist/plugin/guard.js +46 -0
  198. package/dist/plugin/guard.js.map +1 -0
  199. package/dist/plugin/index.d.ts +14 -0
  200. package/dist/plugin/index.d.ts.map +1 -0
  201. package/dist/plugin/index.js +14 -0
  202. package/dist/plugin/index.js.map +1 -0
  203. package/dist/plugin/manifest.d.ts +349 -0
  204. package/dist/plugin/manifest.d.ts.map +1 -0
  205. package/dist/plugin/manifest.js +6 -0
  206. package/dist/plugin/manifest.js.map +1 -0
  207. package/dist/plugin/provider.d.ts +55 -0
  208. package/dist/plugin/provider.d.ts.map +1 -0
  209. package/dist/plugin/provider.js +2 -0
  210. package/dist/plugin/provider.js.map +1 -0
  211. package/dist/plugin/registry.d.ts +7 -0
  212. package/dist/plugin/registry.d.ts.map +1 -0
  213. package/dist/plugin/registry.js +2 -0
  214. package/dist/plugin/registry.js.map +1 -0
  215. package/dist/provider/auditor/base.d.ts +21 -0
  216. package/dist/provider/auditor/base.d.ts.map +1 -0
  217. package/dist/provider/auditor/base.js +58 -0
  218. package/dist/provider/auditor/base.js.map +1 -0
  219. package/dist/provider/auditor/index.d.ts +2 -0
  220. package/dist/provider/auditor/index.d.ts.map +1 -0
  221. package/dist/provider/auditor/index.js +2 -0
  222. package/dist/provider/auditor/index.js.map +1 -0
  223. package/dist/provider/base.d.ts +39 -0
  224. package/dist/provider/base.d.ts.map +1 -0
  225. package/dist/provider/base.js +169 -0
  226. package/dist/provider/base.js.map +1 -0
  227. package/dist/provider/index.d.ts +6 -0
  228. package/dist/provider/index.d.ts.map +1 -0
  229. package/dist/provider/index.js +6 -0
  230. package/dist/provider/index.js.map +1 -0
  231. package/dist/provider/translator/base.d.ts +32 -0
  232. package/dist/provider/translator/base.d.ts.map +1 -0
  233. package/dist/provider/translator/base.js +33 -0
  234. package/dist/provider/translator/base.js.map +1 -0
  235. package/dist/provider/translator/index.d.ts +3 -0
  236. package/dist/provider/translator/index.d.ts.map +1 -0
  237. package/dist/provider/translator/index.js +3 -0
  238. package/dist/provider/translator/index.js.map +1 -0
  239. package/dist/provider/translator/stream.d.ts +24 -0
  240. package/dist/provider/translator/stream.d.ts.map +1 -0
  241. package/dist/provider/translator/stream.js +50 -0
  242. package/dist/provider/translator/stream.js.map +1 -0
  243. package/dist/provider/types.d.ts +107 -0
  244. package/dist/provider/types.d.ts.map +1 -0
  245. package/dist/provider/types.js +38 -0
  246. package/dist/provider/types.js.map +1 -0
  247. package/dist/provider/wire/base.d.ts +50 -0
  248. package/dist/provider/wire/base.d.ts.map +1 -0
  249. package/dist/provider/wire/base.js +99 -0
  250. package/dist/provider/wire/base.js.map +1 -0
  251. package/dist/provider/wire/index.d.ts +2 -0
  252. package/dist/provider/wire/index.d.ts.map +1 -0
  253. package/dist/provider/wire/index.js +2 -0
  254. package/dist/provider/wire/index.js.map +1 -0
  255. package/package.json +97 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AASvB,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface LlmRequest {
2
+ organization_id?: string | undefined;
3
+ id: string;
4
+ request_id: string;
5
+ request_type: string;
6
+ model_slug: string;
7
+ user_prompt?: string;
8
+ options?: Record<string, any>;
9
+ source_id?: string;
10
+ user_id?: string;
11
+ thread_id?: string;
12
+ branch_id?: string;
13
+ timestamp: string;
14
+ raw_request?: Record<string, any>;
15
+ application_id: string;
16
+ provider_slug: string;
17
+ system_prompt?: string;
18
+ }
19
+ //# sourceMappingURL=llm.request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.request.d.ts","sourceRoot":"","sources":["../../../src/core/entities/llm.request.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,UAAU;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=llm.request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.request.js","sourceRoot":"","sources":["../../../src/core/entities/llm.request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ import { LlmStatus } from "./llm.status";
2
+ export interface LlmResponse {
3
+ organization_id?: string | undefined;
4
+ id: string;
5
+ created_at: string;
6
+ user_id?: string;
7
+ application_id: string;
8
+ request_id: string;
9
+ provider_slug: string;
10
+ model_slug: string;
11
+ status: LlmStatus;
12
+ error_message?: string;
13
+ response?: string;
14
+ response_raw?: Record<string, any>;
15
+ usage_raw?: Record<string, any>;
16
+ input_tokens?: number;
17
+ output_tokens?: number;
18
+ time_to_first_token?: number | undefined;
19
+ total_processing_time?: number;
20
+ cost: number;
21
+ score?: number;
22
+ worker_id: string;
23
+ }
24
+ //# sourceMappingURL=llm.response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.response.d.ts","sourceRoot":"","sources":["../../../src/core/entities/llm.response.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,WAAW;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ // Object that corresponds to the database llm_responses table
2
+ export {};
3
+ //# sourceMappingURL=llm.response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.response.js","sourceRoot":"","sources":["../../../src/core/entities/llm.response.ts"],"names":[],"mappings":"AAAA,8DAA8D"}
@@ -0,0 +1,9 @@
1
+ export declare enum LlmStatus {
2
+ SUCCESS = "success",
3
+ ERROR = "error",
4
+ TIMEOUT = "timeout",
5
+ PARTIAL = "partial",
6
+ RATE_LIMITED = "rate_limited",
7
+ INVALID_REQUEST = "invalid_request"
8
+ }
9
+ //# sourceMappingURL=llm.status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.status.d.ts","sourceRoot":"","sources":["../../../src/core/entities/llm.status.ts"],"names":[],"mappings":"AACA,oBAAY,SAAS;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;CACtC"}
@@ -0,0 +1,11 @@
1
+ // Enum for LLM response status matching database llm_status type
2
+ export var LlmStatus;
3
+ (function (LlmStatus) {
4
+ LlmStatus["SUCCESS"] = "success";
5
+ LlmStatus["ERROR"] = "error";
6
+ LlmStatus["TIMEOUT"] = "timeout";
7
+ LlmStatus["PARTIAL"] = "partial";
8
+ LlmStatus["RATE_LIMITED"] = "rate_limited";
9
+ LlmStatus["INVALID_REQUEST"] = "invalid_request";
10
+ })(LlmStatus || (LlmStatus = {}));
11
+ //# sourceMappingURL=llm.status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.status.js","sourceRoot":"","sources":["../../../src/core/entities/llm.status.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,0CAA6B,CAAA;IAC7B,gDAAmC,CAAA;AACvC,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB"}
@@ -0,0 +1,14 @@
1
+ import { BaseEntity } from "./base";
2
+ export interface Model extends BaseEntity {
3
+ organization_id: string;
4
+ name: string;
5
+ description?: string;
6
+ capabilities: Record<string, any>;
7
+ parameters: Record<string, any>;
8
+ metadata: Record<string, any>;
9
+ status: {
10
+ enabled: boolean;
11
+ available: boolean;
12
+ };
13
+ }
14
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/core/entities/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAElC,MAAM,WAAW,KAAM,SAAQ,UAAU;IACrC,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;CACpD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/core/entities/model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { BaseEntity } from "./base";
2
+ export interface Provider extends BaseEntity {
3
+ organization_id: string;
4
+ name: string;
5
+ type: string;
6
+ description?: string;
7
+ config: Record<string, any>;
8
+ status?: {
9
+ enabled?: boolean;
10
+ };
11
+ }
12
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/entities/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAC;AAElC,MAAM,WAAW,QAAS,SAAQ,UAAU;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/entities/provider.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const createStableId: (name: string, args: Record<string, unknown>) => string;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/id/index.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,MAU5E,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Simple deterministic ID generator for tool calls
2
+ export const createStableId = (name, args) => {
3
+ // Create a stable hash from function name and arguments
4
+ const input = name + JSON.stringify(args, Object.keys(args).sort());
5
+ let hash = 0;
6
+ for (let i = 0; i < input.length; i++) {
7
+ const char = input.charCodeAt(i);
8
+ hash = ((hash << 5) - hash) + char;
9
+ hash = hash & hash; // Convert to 32bit integer
10
+ }
11
+ return `call_${Math.abs(hash).toString(16)}`;
12
+ };
13
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/id/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,IAA6B,EAAU,EAAE;IAClF,wDAAwD;IACxD,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACnC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2BAA2B;IACnD,CAAC;IACD,OAAO,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './logger';
2
+ export * from './id';
3
+ export * from './mixins';
4
+ export * from './parsers';
5
+ export * from './api';
6
+ export * from './routes';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './logger';
2
+ export * from './id';
3
+ export * from './mixins';
4
+ export * from './parsers';
5
+ export * from './api';
6
+ export * from './routes';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { HoloLogger } from "./logger";
2
+ import { InjectionToken } from "tsyringe";
3
+ export type HoloLoggerFactory = (cls: Function | string) => HoloLogger;
4
+ export declare function getLoggerFactory(): HoloLoggerFactory;
5
+ export declare const LoggerFactoryToken: InjectionToken<(cls: Function | string) => HoloLogger>;
6
+ //# sourceMappingURL=holo-logger-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holo-logger-factory.d.ts","sourceRoot":"","sources":["../../../src/core/logger/holo-logger-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAkB,MAAM,UAAU,CAAC;AACrD,OAAO,EAAY,cAAc,EAAC,MAAM,UAAU,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC;AAIvE,wBAAgB,gBAAgB,IAAI,iBAAiB,CASpD;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,CAAC,GAAG,EAAE,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAmB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { HoloLoggerError } from "./logger";
2
+ import { container } from "tsyringe";
3
+ let cachedFactory;
4
+ export function getLoggerFactory() {
5
+ if (!cachedFactory) {
6
+ if (container.isRegistered(LoggerFactoryToken, true)) {
7
+ cachedFactory = container.resolve(LoggerFactoryToken);
8
+ }
9
+ else {
10
+ throw new HoloLoggerError("No HoloLogger Factory Defined");
11
+ }
12
+ }
13
+ return cachedFactory;
14
+ }
15
+ export const LoggerFactoryToken = 'LoggerFactory';
16
+ //# sourceMappingURL=holo-logger-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holo-logger-factory.js","sourceRoot":"","sources":["../../../src/core/logger/holo-logger-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAC,MAAM,UAAU,CAAC;AACrD,OAAO,EAAC,SAAS,EAAiB,MAAM,UAAU,CAAC;AAInD,IAAI,aAA4C,CAAC;AAEjD,MAAM,UAAU,gBAAgB;IAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,IAAI,SAAS,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC;YACnD,aAAa,GAAG,SAAS,CAAC,OAAO,CAAoB,kBAAkB,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAA2D,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './logger';
2
+ export * from './holo-logger-factory';
3
+ export * from './mixin';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './logger';
2
+ export * from './holo-logger-factory';
3
+ export * from './mixin';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { Logger } from "winston";
2
+ export type HoloLogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'trace' | 'silent';
3
+ export interface HoloLoggerMethod {
4
+ (message: string, ...meta: any[]): Logger;
5
+ (message: any): Logger;
6
+ (infoObject: object): Logger;
7
+ }
8
+ export interface HoloLogger {
9
+ level: HoloLogLevel;
10
+ error: HoloLoggerMethod;
11
+ warn: HoloLoggerMethod;
12
+ info: HoloLoggerMethod;
13
+ debug: HoloLoggerMethod;
14
+ trace?: HoloLoggerMethod;
15
+ /**
16
+ * Optional child logger for scoping (class, method, plugin, etc.)
17
+ */
18
+ child(meta: Record<string, unknown>): HoloLogger;
19
+ }
20
+ export declare function isHoloLogLevel(value: unknown): value is HoloLogLevel;
21
+ export declare class HoloLoggerError extends Error {
22
+ constructor(message: string);
23
+ }
24
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/core/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,YAAY,GACpB,OAAO,GACL,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC7B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE1C,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAAC;IAEvB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,YAAY,CAAC;IAEpB,KAAK,EAAE,gBAAgB,CAAC;IAExB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,IAAI,EAAE,gBAAgB,CAAC;IAEvB,KAAK,EAAE,gBAAgB,CAAC;IAExB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;CACpD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAUpE;AAED,qBAAa,eAAgB,SAAQ,KAAK;gBAElC,OAAO,EAAE,MAAM;CAKtB"}
@@ -0,0 +1,16 @@
1
+ export function isHoloLogLevel(value) {
2
+ return (value === 'fatal' ||
3
+ value === 'error' ||
4
+ value === 'warn' ||
5
+ value === 'info' ||
6
+ value === 'debug' ||
7
+ value === 'trace' ||
8
+ value === 'silent');
9
+ }
10
+ export class HoloLoggerError extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = 'LoggerError';
14
+ }
15
+ }
16
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/core/logger/logger.ts"],"names":[],"mappings":"AAsCA,MAAM,UAAU,cAAc,CAAC,KAAc;IACzC,OAAO,CACH,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,MAAM;QAChB,KAAK,KAAK,MAAM;QAChB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,OAAO;QACjB,KAAK,KAAK,QAAQ,CACrB,CAAC;AACN,CAAC;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACtC,YACI,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC9B,CAAC;CACJ"}
@@ -0,0 +1,29 @@
1
+ import { Constructor } from "../mixins/index";
2
+ import { HoloLogger } from "./logger";
3
+ import { Transform } from "node:stream";
4
+ export declare abstract class ClassLogger {
5
+ private _log?;
6
+ protected __className?: string;
7
+ protected get log(): HoloLogger;
8
+ protected mlog(methodName: Function | string): HoloLogger;
9
+ }
10
+ declare const ObservableClassLogger_base: {
11
+ new (...args: any[]): {
12
+ "__#private@#log"?: HoloLogger;
13
+ "__#private@#className"?: string;
14
+ get log(): HoloLogger;
15
+ mlog(methodName: Function | string): HoloLogger;
16
+ };
17
+ } & typeof Transform;
18
+ export declare abstract class ObservableClassLogger extends ObservableClassLogger_base {
19
+ }
20
+ export declare function withClassLogger<TBase extends Constructor>(Base: TBase): {
21
+ new (...args: any[]): {
22
+ "__#private@#log"?: HoloLogger;
23
+ "__#private@#className"?: string;
24
+ get log(): HoloLogger;
25
+ mlog(methodName: Function | string): HoloLogger;
26
+ };
27
+ } & TBase;
28
+ export {};
29
+ //# sourceMappingURL=mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.d.ts","sourceRoot":"","sources":["../../../src/core/logger/mixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,8BAAsB,WAAW;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE/B,SAAS,KAAK,GAAG,IAAI,UAAU,CAG9B;IAED,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU;CAG5D;;;4BAOc,UAAU;kCACJ,MAAM;mBAER,UAAU;yBAKJ,QAAQ,GAAG,MAAM,GAAG,UAAU;;;AAbvD,8BAAsB,qBAAsB,SAAQ,0BAA0B;CAC7E;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAS,WAAW,EAAE,IAAI,EAAE,KAAK;;4BAEvD,UAAU;kCACJ,MAAM;mBAER,UAAU;yBAKJ,QAAQ,GAAG,MAAM,GAAG,UAAU;;UAItD"}
@@ -0,0 +1,29 @@
1
+ import { getLoggerFactory } from "./holo-logger-factory";
2
+ import { Transform } from "node:stream";
3
+ export class ClassLogger {
4
+ _log;
5
+ __className;
6
+ get log() {
7
+ this.__className = this.__className ?? this.constructor?.name;
8
+ return (this._log ??= getLoggerFactory()(this.__className));
9
+ }
10
+ mlog(methodName) {
11
+ return this.log.child({ methodName: methodName.name ?? methodName });
12
+ }
13
+ }
14
+ export class ObservableClassLogger extends withClassLogger(Transform) {
15
+ }
16
+ export function withClassLogger(Base) {
17
+ return class WithClassLogger extends Base {
18
+ #log;
19
+ #className;
20
+ get log() {
21
+ this.#className = this.#className ?? this.constructor?.name;
22
+ return (this.#log ??= getLoggerFactory()(this.#className));
23
+ }
24
+ mlog(methodName) {
25
+ return this.log.child({ methodName: methodName.name ?? methodName });
26
+ }
27
+ };
28
+ }
29
+ //# sourceMappingURL=mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../../src/core/logger/mixin.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,MAAM,OAAgB,WAAW;IACrB,IAAI,CAAc;IAChB,WAAW,CAAU;IAE/B,IAAc,GAAG;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAES,IAAI,CAAC,UAA6B;QACxC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAC,UAAU,EAAG,UAAuB,CAAC,IAAI,IAAI,UAAU,EAAC,CAAC,CAAC;IACrF,CAAC;CACJ;AAED,MAAM,OAAgB,qBAAsB,SAAQ,eAAe,CAAC,SAAS,CAAC;CAC7E;AAED,MAAM,UAAU,eAAe,CAA4B,IAAW;IAClE,OAAO,MAAM,eAAgB,SAAQ,IAAI;QACrC,IAAI,CAAc;QAClB,UAAU,CAAU;QAEpB,IAAI,GAAG;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC,UAA6B;YAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAC,UAAU,EAAG,UAAuB,CAAC,IAAI,IAAI,UAAU,EAAC,CAAC,CAAC;QACrF,CAAC;KACJ,CAAA;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export type Constructor<T = {}> = new (...args: any[]) => T;
2
+ //# sourceMappingURL=constructor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../../../src/core/mixins/constructor.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=constructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constructor.js","sourceRoot":"","sources":["../../../src/core/mixins/constructor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './constructor';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/mixins/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './constructor';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/mixins/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function findLast<T>(arr: readonly T[], pred: (v: T) => boolean): T | undefined;
2
+ export declare function filterJoin<T>(items: readonly T[], predicate: (item: T) => boolean, toString: (item: T) => string, separator?: string): string;
3
+ //# sourceMappingURL=find-last.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-last.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/find-last.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,CAAC,GAAG,SAAS,CAMrF;AAED,wBAAgB,UAAU,CAAC,CAAC,EACxB,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,EAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC7B,SAAS,SAAO,GACjB,MAAM,CASR"}
@@ -0,0 +1,22 @@
1
+ export function findLast(arr, pred) {
2
+ for (let i = arr.length - 1; i >= 0; i--) {
3
+ const v = arr[i];
4
+ if (pred(v))
5
+ return v;
6
+ }
7
+ return undefined;
8
+ }
9
+ export function filterJoin(items, predicate, toString, separator = "\n") {
10
+ let out = "";
11
+ for (const item of items) {
12
+ if (!predicate(item))
13
+ continue;
14
+ const s = toString(item);
15
+ if (!out)
16
+ out = s;
17
+ else
18
+ out += separator + s;
19
+ }
20
+ return out;
21
+ }
22
+ //# sourceMappingURL=find-last.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-last.js","sourceRoot":"","sources":["../../../src/core/parsers/find-last.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAI,GAAiB,EAAE,IAAuB;IAClE,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,UAAU,CACtB,KAAmB,EACnB,SAA+B,EAC/B,QAA6B,EAC7B,SAAS,GAAG,IAAI;IAEhB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG;YAAE,GAAG,GAAG,CAAC,CAAC;;YACb,GAAG,IAAI,SAAS,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './safe-parse';
2
+ export * from './pick-defined';
3
+ export * from './parsers';
4
+ export * from './find-last';
5
+ export * from './pick-headers';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './safe-parse';
2
+ export * from './pick-defined';
3
+ export * from './parsers';
4
+ export * from './find-last';
5
+ export * from './pick-headers';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/parsers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function parseBoolean(value: string | undefined, defaultValue?: boolean): boolean;
2
+ export declare function parseNumber(value: string | undefined, defaultValue: number): number;
3
+ export declare function parseArray(value: string | undefined, defaultValue?: string[]): string[];
4
+ export declare function uint8ToDataUrl(bytes: Uint8Array, mime?: string): string;
5
+ export declare function isUint8Array(value: any): value is Uint8Array;
6
+ //# sourceMappingURL=parsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/parsers.ts"],"names":[],"mappings":"AACA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAG9F;AAGD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAInF;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAG3F;AAGD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,SAAc,GAAG,MAAM,CAE5E;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,UAAU,CAM5D"}
@@ -0,0 +1,32 @@
1
+ // Helper function to parse boolean environment variables
2
+ export function parseBoolean(value, defaultValue = false) {
3
+ if (!value)
4
+ return defaultValue;
5
+ return value.toLowerCase() === 'true';
6
+ }
7
+ // Helper function to parse number environment variables
8
+ export function parseNumber(value, defaultValue) {
9
+ if (!value)
10
+ return defaultValue;
11
+ const parsed = parseInt(value, 10);
12
+ return isNaN(parsed) ? defaultValue : parsed;
13
+ }
14
+ // Helper function to parse array environment variables
15
+ export function parseArray(value, defaultValue = []) {
16
+ if (!value)
17
+ return defaultValue;
18
+ return value.split(',').map(item => item.trim());
19
+ }
20
+ // helper: Uint8Array -> data URL
21
+ export function uint8ToDataUrl(bytes, mime = "image/png") {
22
+ return `data:${mime};base64,${Buffer.from(bytes).toString("base64")}`;
23
+ }
24
+ // Check if it has the properties/methods of a Uint8Array
25
+ export function isUint8Array(value) {
26
+ return value &&
27
+ typeof value === 'object' &&
28
+ typeof value.byteLength === 'number' &&
29
+ typeof value.buffer === 'object' &&
30
+ value.constructor?.name === 'Uint8Array';
31
+ }
32
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../src/core/parsers/parsers.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,KAAyB,EAAE,eAAwB,KAAK;IACjF,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAC1C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,YAAoB;IACvE,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,UAAU,CAAC,KAAyB,EAAE,eAAyB,EAAE;IAC7E,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,IAAI,GAAG,WAAW;IAChE,OAAO,QAAQ,IAAI,WAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAC,KAAU;IACnC,OAAO,KAAK;QACR,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,YAAY,CAAC;AACjD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function pickDefined<T extends {}>(obj: T): Partial<T>;
2
+ //# sourceMappingURL=pick-defined.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick-defined.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/pick-defined.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAI5D"}
@@ -0,0 +1,4 @@
1
+ export function pickDefined(obj) {
2
+ return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined));
3
+ }
4
+ //# sourceMappingURL=pick-defined.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick-defined.js","sourceRoot":"","sources":["../../../src/core/parsers/pick-defined.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAe,GAAM;IAC5C,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAC3C,CAAC;AACpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function pickHeadersByPrefix(headers: Record<string, string | string[] | undefined>, prefixes?: string[]): Record<string, string>;
2
+ export declare function filterForwardableHeaders(headers: Record<string, string | string[] | undefined>): Record<string, string>;
3
+ //# sourceMappingURL=pick-headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick-headers.d.ts","sourceRoot":"","sources":["../../../src/core/parsers/pick-headers.ts"],"names":[],"mappings":"AAAA,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,QAAQ,GAAE,MAAM,EAAmB,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBxB;AAcD,wBAAgB,wBAAwB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACvD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAexB"}
@@ -0,0 +1,41 @@
1
+ export function pickHeadersByPrefix(headers, prefixes = ["anthropic-"]) {
2
+ const lowerPrefixes = prefixes.map(p => p.toLowerCase());
3
+ const out = {};
4
+ for (const [k, v] of Object.entries(headers)) {
5
+ if (v == null)
6
+ continue;
7
+ const keyLower = k.toLowerCase();
8
+ const matches = lowerPrefixes.some(p => keyLower.startsWith(p));
9
+ if (!matches)
10
+ continue;
11
+ // Normalize value to string
12
+ out[k] = Array.isArray(v) ? v.join(",") : String(v);
13
+ }
14
+ return out;
15
+ }
16
+ const BLOCKED_HEADERS = new Set([
17
+ 'host',
18
+ 'connection',
19
+ 'keep-alive',
20
+ 'transfer-encoding',
21
+ 'upgrade',
22
+ 'proxy-authenticate',
23
+ 'proxy-authorization',
24
+ 'te',
25
+ 'trailer',
26
+ ]);
27
+ export function filterForwardableHeaders(headers) {
28
+ const out = {};
29
+ for (const [k, v] of Object.entries(headers)) {
30
+ if (v == null)
31
+ continue;
32
+ const keyLower = k.toLowerCase();
33
+ if (BLOCKED_HEADERS.has(keyLower))
34
+ continue;
35
+ if (keyLower.startsWith('proxy-'))
36
+ continue;
37
+ out[k] = Array.isArray(v) ? v.join(",") : String(v);
38
+ }
39
+ return out;
40
+ }
41
+ //# sourceMappingURL=pick-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pick-headers.js","sourceRoot":"","sources":["../../../src/core/parsers/pick-headers.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,mBAAmB,CAC/B,OAAsD,EACtD,WAAqB,CAAC,YAAY,CAAC;IAEnC,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACzD,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,IAAI;YAAE,SAAS;QAExB,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,4BAA4B;QAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,mBAAmB;IACnB,SAAS;IACT,oBAAoB;IACpB,qBAAqB;IACrB,IAAI;IACJ,SAAS;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CACpC,OAAsD;IAEtD,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,IAAI;YAAE,SAAS;QAExB,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC5C,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE5C,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function safeParse(json?: string): Record<string, unknown>;
2
+ //# sourceMappingURL=safe-parse.d.ts.map