@holokai/holo-types 1.4.1

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 (206) hide show
  1. package/README.md +44 -0
  2. package/dist/api/index.d.ts +2 -0
  3. package/dist/api/index.d.ts.map +1 -0
  4. package/dist/api/index.js +2 -0
  5. package/dist/api/index.js.map +1 -0
  6. package/dist/api/types.d.ts +11 -0
  7. package/dist/api/types.d.ts.map +1 -0
  8. package/dist/api/types.js +2 -0
  9. package/dist/api/types.js.map +1 -0
  10. package/dist/entities/analysis.result.d.ts +8 -0
  11. package/dist/entities/analysis.result.d.ts.map +1 -0
  12. package/dist/entities/analysis.result.js +2 -0
  13. package/dist/entities/analysis.result.js.map +1 -0
  14. package/dist/entities/application.d.ts +21 -0
  15. package/dist/entities/application.d.ts.map +1 -0
  16. package/dist/entities/application.js +2 -0
  17. package/dist/entities/application.js.map +1 -0
  18. package/dist/entities/base.d.ts +8 -0
  19. package/dist/entities/base.d.ts.map +1 -0
  20. package/dist/entities/base.js +2 -0
  21. package/dist/entities/base.js.map +1 -0
  22. package/dist/entities/evaluator.d.ts +13 -0
  23. package/dist/entities/evaluator.d.ts.map +1 -0
  24. package/dist/entities/evaluator.data.d.ts +9 -0
  25. package/dist/entities/evaluator.data.d.ts.map +1 -0
  26. package/dist/entities/evaluator.data.js +2 -0
  27. package/dist/entities/evaluator.data.js.map +1 -0
  28. package/dist/entities/evaluator.js +2 -0
  29. package/dist/entities/evaluator.js.map +1 -0
  30. package/dist/entities/finish.reason.d.ts +9 -0
  31. package/dist/entities/finish.reason.d.ts.map +1 -0
  32. package/dist/entities/finish.reason.js +8 -0
  33. package/dist/entities/finish.reason.js.map +1 -0
  34. package/dist/entities/holo.token.d.ts +15 -0
  35. package/dist/entities/holo.token.d.ts.map +1 -0
  36. package/dist/entities/holo.token.js +2 -0
  37. package/dist/entities/holo.token.js.map +1 -0
  38. package/dist/entities/index.d.ts +22 -0
  39. package/dist/entities/index.d.ts.map +1 -0
  40. package/dist/entities/index.js +7 -0
  41. package/dist/entities/index.js.map +1 -0
  42. package/dist/entities/model-dictionary-alias.d.ts +15 -0
  43. package/dist/entities/model-dictionary-alias.d.ts.map +1 -0
  44. package/dist/entities/model-dictionary-alias.js +2 -0
  45. package/dist/entities/model-dictionary-alias.js.map +1 -0
  46. package/dist/entities/model-dictionary.d.ts +37 -0
  47. package/dist/entities/model-dictionary.d.ts.map +1 -0
  48. package/dist/entities/model-dictionary.js +2 -0
  49. package/dist/entities/model-dictionary.js.map +1 -0
  50. package/dist/entities/model-match.d.ts +56 -0
  51. package/dist/entities/model-match.d.ts.map +1 -0
  52. package/dist/entities/model-match.js +2 -0
  53. package/dist/entities/model-match.js.map +1 -0
  54. package/dist/entities/model.d.ts +36 -0
  55. package/dist/entities/model.d.ts.map +1 -0
  56. package/dist/entities/model.js +2 -0
  57. package/dist/entities/model.js.map +1 -0
  58. package/dist/entities/notification.d.ts +15 -0
  59. package/dist/entities/notification.d.ts.map +1 -0
  60. package/dist/entities/notification.js +2 -0
  61. package/dist/entities/notification.js.map +1 -0
  62. package/dist/entities/organization.d.ts +17 -0
  63. package/dist/entities/organization.d.ts.map +1 -0
  64. package/dist/entities/organization.js +2 -0
  65. package/dist/entities/organization.js.map +1 -0
  66. package/dist/entities/plugin.d.ts +12 -0
  67. package/dist/entities/plugin.d.ts.map +1 -0
  68. package/dist/entities/plugin.js +2 -0
  69. package/dist/entities/plugin.js.map +1 -0
  70. package/dist/entities/pricing.d.ts +78 -0
  71. package/dist/entities/pricing.d.ts.map +1 -0
  72. package/dist/entities/pricing.js +10 -0
  73. package/dist/entities/pricing.js.map +1 -0
  74. package/dist/entities/prompt.d.ts +15 -0
  75. package/dist/entities/prompt.d.ts.map +1 -0
  76. package/dist/entities/prompt.js +2 -0
  77. package/dist/entities/prompt.js.map +1 -0
  78. package/dist/entities/protocol.d.ts +18 -0
  79. package/dist/entities/protocol.d.ts.map +1 -0
  80. package/dist/entities/protocol.js +8 -0
  81. package/dist/entities/protocol.js.map +1 -0
  82. package/dist/entities/provider.d.ts +16 -0
  83. package/dist/entities/provider.d.ts.map +1 -0
  84. package/dist/entities/provider.js +2 -0
  85. package/dist/entities/provider.js.map +1 -0
  86. package/dist/entities/provider.request.d.ts +46 -0
  87. package/dist/entities/provider.request.d.ts.map +1 -0
  88. package/dist/entities/provider.request.js +2 -0
  89. package/dist/entities/provider.request.js.map +1 -0
  90. package/dist/entities/provider.response.d.ts +59 -0
  91. package/dist/entities/provider.response.d.ts.map +1 -0
  92. package/dist/entities/provider.response.js +9 -0
  93. package/dist/entities/provider.response.js.map +1 -0
  94. package/dist/entities/server.d.ts +19 -0
  95. package/dist/entities/server.d.ts.map +1 -0
  96. package/dist/entities/server.js +8 -0
  97. package/dist/entities/server.js.map +1 -0
  98. package/dist/holo/content.d.ts +81 -0
  99. package/dist/holo/content.d.ts.map +1 -0
  100. package/dist/holo/content.js +2 -0
  101. package/dist/holo/content.js.map +1 -0
  102. package/dist/holo/embed.d.ts +16 -0
  103. package/dist/holo/embed.d.ts.map +1 -0
  104. package/dist/holo/embed.js +2 -0
  105. package/dist/holo/embed.js.map +1 -0
  106. package/dist/holo/errors.d.ts +11 -0
  107. package/dist/holo/errors.d.ts.map +1 -0
  108. package/dist/holo/errors.js +10 -0
  109. package/dist/holo/errors.js.map +1 -0
  110. package/dist/holo/generate.d.ts +13 -0
  111. package/dist/holo/generate.d.ts.map +1 -0
  112. package/dist/holo/generate.js +2 -0
  113. package/dist/holo/generate.js.map +1 -0
  114. package/dist/holo/index.d.ts +12 -0
  115. package/dist/holo/index.d.ts.map +1 -0
  116. package/dist/holo/index.js +12 -0
  117. package/dist/holo/index.js.map +1 -0
  118. package/dist/holo/messages.d.ts +28 -0
  119. package/dist/holo/messages.d.ts.map +1 -0
  120. package/dist/holo/messages.js +2 -0
  121. package/dist/holo/messages.js.map +1 -0
  122. package/dist/holo/metrics.d.ts +11 -0
  123. package/dist/holo/metrics.d.ts.map +1 -0
  124. package/dist/holo/metrics.js +2 -0
  125. package/dist/holo/metrics.js.map +1 -0
  126. package/dist/holo/models.d.ts +6 -0
  127. package/dist/holo/models.d.ts.map +1 -0
  128. package/dist/holo/models.js +2 -0
  129. package/dist/holo/models.js.map +1 -0
  130. package/dist/holo/requests.d.ts +53 -0
  131. package/dist/holo/requests.d.ts.map +1 -0
  132. package/dist/holo/requests.js +2 -0
  133. package/dist/holo/requests.js.map +1 -0
  134. package/dist/holo/responses.d.ts +145 -0
  135. package/dist/holo/responses.d.ts.map +1 -0
  136. package/dist/holo/responses.js +2 -0
  137. package/dist/holo/responses.js.map +1 -0
  138. package/dist/holo/threads.d.ts +58 -0
  139. package/dist/holo/threads.d.ts.map +1 -0
  140. package/dist/holo/threads.js +2 -0
  141. package/dist/holo/threads.js.map +1 -0
  142. package/dist/holo/tools.d.ts +40 -0
  143. package/dist/holo/tools.d.ts.map +1 -0
  144. package/dist/holo/tools.js +2 -0
  145. package/dist/holo/tools.js.map +1 -0
  146. package/dist/index.d.ts +10 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +10 -0
  149. package/dist/index.js.map +1 -0
  150. package/dist/logger/index.d.ts +2 -0
  151. package/dist/logger/index.d.ts.map +1 -0
  152. package/dist/logger/index.js +2 -0
  153. package/dist/logger/index.js.map +1 -0
  154. package/dist/logger/logger.d.ts +16 -0
  155. package/dist/logger/logger.d.ts.map +1 -0
  156. package/dist/logger/logger.js +2 -0
  157. package/dist/logger/logger.js.map +1 -0
  158. package/dist/notification/index.d.ts +2 -0
  159. package/dist/notification/index.d.ts.map +1 -0
  160. package/dist/notification/index.js +2 -0
  161. package/dist/notification/index.js.map +1 -0
  162. package/dist/notification/types.d.ts +57 -0
  163. package/dist/notification/types.d.ts.map +1 -0
  164. package/dist/notification/types.js +12 -0
  165. package/dist/notification/types.js.map +1 -0
  166. package/dist/plugin/index.d.ts +2 -0
  167. package/dist/plugin/index.d.ts.map +1 -0
  168. package/dist/plugin/index.js +2 -0
  169. package/dist/plugin/index.js.map +1 -0
  170. package/dist/plugin/types.d.ts +114 -0
  171. package/dist/plugin/types.d.ts.map +1 -0
  172. package/dist/plugin/types.js +17 -0
  173. package/dist/plugin/types.js.map +1 -0
  174. package/dist/provider/index.d.ts +3 -0
  175. package/dist/provider/index.d.ts.map +1 -0
  176. package/dist/provider/index.js +3 -0
  177. package/dist/provider/index.js.map +1 -0
  178. package/dist/provider/protocol.d.ts +12 -0
  179. package/dist/provider/protocol.d.ts.map +1 -0
  180. package/dist/provider/protocol.js +2 -0
  181. package/dist/provider/protocol.js.map +1 -0
  182. package/dist/provider/types.d.ts +186 -0
  183. package/dist/provider/types.d.ts.map +1 -0
  184. package/dist/provider/types.js +8 -0
  185. package/dist/provider/types.js.map +1 -0
  186. package/dist/routing/index.d.ts +2 -0
  187. package/dist/routing/index.d.ts.map +1 -0
  188. package/dist/routing/index.js +2 -0
  189. package/dist/routing/index.js.map +1 -0
  190. package/dist/routing/routes.d.ts +17 -0
  191. package/dist/routing/routes.d.ts.map +1 -0
  192. package/dist/routing/routes.js +10 -0
  193. package/dist/routing/routes.js.map +1 -0
  194. package/dist/worker/envelopes.d.ts +27 -0
  195. package/dist/worker/envelopes.d.ts.map +1 -0
  196. package/dist/worker/envelopes.js +2 -0
  197. package/dist/worker/envelopes.js.map +1 -0
  198. package/dist/worker/index.d.ts +3 -0
  199. package/dist/worker/index.d.ts.map +1 -0
  200. package/dist/worker/index.js +3 -0
  201. package/dist/worker/index.js.map +1 -0
  202. package/dist/worker/request.d.ts +42 -0
  203. package/dist/worker/request.d.ts.map +1 -0
  204. package/dist/worker/request.js +2 -0
  205. package/dist/worker/request.js.map +1 -0
  206. package/package.json +90 -0
@@ -0,0 +1,11 @@
1
+ import { HoloMessage } from './messages';
2
+ export interface HoloCountTokensParams {
3
+ model: string;
4
+ messages: HoloMessage[];
5
+ protocol?: string;
6
+ provider?: string;
7
+ }
8
+ export interface HoloCountTokensResponse {
9
+ input_tokens: number;
10
+ }
11
+ //# sourceMappingURL=metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/holo/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACpC,YAAY,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/holo/metrics.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface HoloModelListParams {
2
+ family?: string;
3
+ capability?: string;
4
+ input_modality?: string;
5
+ }
6
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/holo/models.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/holo/models.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ import { HoloMessage } from "./messages";
2
+ import { HoloTool, HoloToolChoice } from "./tools";
3
+ import { HoloResponseFormat } from "./responses";
4
+ /** Optional metadata attached to a request, forwarded to audit records. */
5
+ export interface HoloRequestMetadata {
6
+ /** External user identifier for audit attribution. */
7
+ user_id?: string | null;
8
+ }
9
+ /**
10
+ * The normalized request sent to all Holo providers.
11
+ *
12
+ * @example
13
+ * ```ts
14
+ * const request: HoloRequest = {
15
+ * model: 'gpt-4o',
16
+ * messages: [{ role: 'user', content: 'Hello' }],
17
+ * temperature: 0.7,
18
+ * };
19
+ * ```
20
+ *
21
+ * @see {@link HoloResponse} for the corresponding output type.
22
+ * @see {@link HoloRequestBuilder} for a fluent API to construct requests.
23
+ */
24
+ export interface HoloRequest {
25
+ model: string;
26
+ messages?: HoloMessage[];
27
+ temperature?: number;
28
+ top_p?: number;
29
+ stream?: boolean;
30
+ tools?: HoloTool[];
31
+ system?: string;
32
+ max_tokens?: number;
33
+ stop_sequences?: string[];
34
+ response_format?: HoloResponseFormat;
35
+ service_tier?: 'auto' | 'default' | 'standard_only';
36
+ tool_choice?: HoloToolChoice;
37
+ top_k?: number;
38
+ frequency_penalty?: number;
39
+ presence_penalty?: number;
40
+ seed?: number;
41
+ metadata?: HoloRequestMetadata | null;
42
+ /** Route to a specific provider by name or UUID. */
43
+ provider?: string;
44
+ /** Conversation thread ID for multi-turn tracking. */
45
+ thread_id?: string;
46
+ /** Branch within a thread for A/B or parallel conversations. */
47
+ branch?: string;
48
+ /** Application slug — selects the system prompt, guards, and default model. */
49
+ application?: string;
50
+ /** Target a specific protocol by name (e.g. 'openai.chatCompletions'). */
51
+ protocol?: string;
52
+ }
53
+ //# sourceMappingURL=requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../src/holo/requests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAE/C,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAChC,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAAC;IACpD,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../src/holo/requests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,145 @@
1
+ import { HoloMessage } from "./messages";
2
+ /** Constrains the model to output JSON conforming to a provided JSON Schema. */
3
+ export interface HoloResponseFormatJsonSchema {
4
+ type: 'json_schema';
5
+ schema: Record<string, unknown>;
6
+ strict?: boolean;
7
+ }
8
+ /** Constrains the model to output valid JSON (no schema enforcement). */
9
+ export interface HoloResponseFormatJsonObject {
10
+ type: 'json_object';
11
+ }
12
+ /** Default response format — unconstrained text. */
13
+ export interface HoloResponseFormatText {
14
+ type: 'text';
15
+ }
16
+ /**
17
+ * Discriminated union controlling the model's output format.
18
+ *
19
+ * - `text` — unconstrained text (default)
20
+ * - `json_object` — valid JSON, no schema
21
+ * - `json_schema` — JSON conforming to the supplied schema
22
+ */
23
+ export type HoloResponseFormat = HoloResponseFormatText | HoloResponseFormatJsonObject | HoloResponseFormatJsonSchema;
24
+ /** Token usage and timing information for a request. */
25
+ export interface HoloUsage {
26
+ input_tokens?: number;
27
+ output_tokens?: number;
28
+ total_tokens?: number;
29
+ /** Tokens read from the provider's prompt cache (reduces input cost). */
30
+ cache_read_tokens?: number;
31
+ /** Tokens written to the provider's prompt cache (one-time write cost). */
32
+ cache_write_tokens?: number;
33
+ service_tier?: 'standard' | 'priority' | 'batch' | 'auto' | 'default' | 'flex' | 'scale';
34
+ /** Provider-reported timing breakdown (primarily used by Ollama). */
35
+ timings?: {
36
+ total?: number;
37
+ load?: number;
38
+ prompt_eval?: number;
39
+ eval?: number;
40
+ };
41
+ }
42
+ /**
43
+ * Reason the model stopped generating.
44
+ *
45
+ * - `'stop'` — natural end of response
46
+ * - `'length'` — hit `max_tokens` limit
47
+ * - `'tool_calls'` — model invoked one or more tools
48
+ * - `'content_filter'` — blocked by provider safety filter
49
+ * - `'function_call'` — legacy function-call stop (OpenAI)
50
+ * - `'error'` — generation failed
51
+ * - `null` — reason not reported
52
+ */
53
+ export type HoloFinishReason = 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'function_call' | 'error' | null;
54
+ /**
55
+ * The normalized response returned by all Holo providers.
56
+ * @see {@link HoloRequest} for the corresponding input type.
57
+ */
58
+ export interface HoloResponse {
59
+ id?: string;
60
+ model: string;
61
+ /** One or more output messages. Most responses contain a single assistant message. */
62
+ output: HoloMessage[];
63
+ created?: number | Date;
64
+ finish_reason?: HoloFinishReason;
65
+ service_tier?: string;
66
+ usage?: HoloUsage;
67
+ metadata?: Record<string, unknown>;
68
+ /** Opaque provider-specific metadata passed through without transformation. */
69
+ provider_metadata?: Record<string, unknown>;
70
+ }
71
+ /** @internal Legacy streaming type — use HoloStreamEvent for new code. */
72
+ export type HoloStreamingDeltaType = 'message_start' | 'content_delta' | 'message_delta' | 'message_stop';
73
+ /** @internal Legacy streaming type — use HoloStreamEvent for new code. */
74
+ export interface HoloStreamingDelta {
75
+ provider: string;
76
+ type: HoloStreamingDeltaType;
77
+ index?: number;
78
+ choice?: number;
79
+ delta: Partial<HoloMessage>;
80
+ usage?: HoloUsage | null;
81
+ provider_delta?: any;
82
+ }
83
+ /** @internal Legacy streaming type — use HoloStreamEvent for new code. */
84
+ export interface HoloStreamChunk {
85
+ id?: string;
86
+ model?: string;
87
+ created?: number;
88
+ delta?: HoloStreamingDelta;
89
+ done?: boolean;
90
+ finish_reason?: HoloFinishReason;
91
+ usage?: HoloUsage;
92
+ }
93
+ /**
94
+ * Discriminated event types emitted during streaming.
95
+ *
96
+ * Lifecycle: `response.created` → `response.message.start` → content deltas → `response.message.stop` → `response.completed` (or `response.failed`).
97
+ */
98
+ export type HoloStreamEventType = 'response.created' | 'response.message.start' | 'response.content_block.start' | 'response.output_text.delta' | 'response.reasoning.delta' | 'response.tool_call.delta' | 'response.content_block.delta' | 'response.content_block.stop' | 'response.message.stop' | 'response.usage' | 'response.completed' | 'response.failed';
99
+ /**
100
+ * A single event in a streaming response.
101
+ * @see {@link HoloStreamEventType} for the event lifecycle.
102
+ * @see {@link HoloStream} for the streaming interface that yields these events.
103
+ */
104
+ export interface HoloStreamEvent {
105
+ type: HoloStreamEventType;
106
+ index?: number;
107
+ /** Text or reasoning delta payload (for `output_text.delta` and `reasoning.delta` events). */
108
+ delta?: string;
109
+ /** Incremental tool call data (for `tool_call.delta` events). */
110
+ tool_call_delta?: {
111
+ id?: string;
112
+ name?: string;
113
+ arguments_delta?: string;
114
+ };
115
+ /** The complete response, present on `response.created` and `response.completed`. */
116
+ response?: HoloResponse;
117
+ usage?: HoloUsage;
118
+ finish_reason?: HoloFinishReason;
119
+ error?: {
120
+ message: string;
121
+ code?: string;
122
+ };
123
+ }
124
+ /** Model metadata returned by the models API. */
125
+ export interface HoloModelInfo {
126
+ id: string;
127
+ name: string;
128
+ provider_family: string;
129
+ context_length?: number;
130
+ capabilities: string[];
131
+ modality?: string;
132
+ input_modalities?: string[];
133
+ output_modalities?: string[];
134
+ supported_parameters?: string[];
135
+ }
136
+ /** Application metadata returned by the applications API. */
137
+ export interface HoloApplicationInfo {
138
+ slug: string;
139
+ name: string;
140
+ provider_family: string;
141
+ default_model?: string;
142
+ has_system_prompt: boolean;
143
+ has_guards: boolean;
144
+ }
145
+ //# sourceMappingURL=responses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/holo/responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/holo/responses.ts"],"names":[],"mappings":""}
@@ -0,0 +1,58 @@
1
+ export type HoloThreadStatus = 'active' | 'archived' | 'deleted';
2
+ export type HoloThreadType = 'personal' | 'project';
3
+ export interface HoloThread {
4
+ id: string;
5
+ title: string;
6
+ description: string;
7
+ type: HoloThreadType;
8
+ status: HoloThreadStatus;
9
+ project_id: string | null;
10
+ metadata?: Record<string, unknown>;
11
+ created_at: string;
12
+ updated_at: string;
13
+ }
14
+ export interface HoloThreadMessage {
15
+ id: string;
16
+ request_id: string;
17
+ thread_id: string;
18
+ branch_id: string | null;
19
+ model: string | null;
20
+ provider: string | null;
21
+ role: string;
22
+ user_prompt: string | null;
23
+ response: string | null;
24
+ status: string | null;
25
+ input_tokens: number | null;
26
+ output_tokens: number | null;
27
+ cost: number | null;
28
+ created_at: string;
29
+ }
30
+ export interface HoloThreadCreateParams {
31
+ title: string;
32
+ description?: string;
33
+ type?: HoloThreadType;
34
+ project_id?: string | null;
35
+ metadata?: Record<string, unknown>;
36
+ }
37
+ export interface HoloThreadUpdateParams {
38
+ title?: string;
39
+ status?: HoloThreadStatus;
40
+ metadata?: Record<string, unknown>;
41
+ }
42
+ export interface HoloThreadListParams {
43
+ type?: HoloThreadType;
44
+ project_id?: string;
45
+ page?: number;
46
+ size?: number;
47
+ }
48
+ export interface HoloThreadMessageListParams {
49
+ page?: number;
50
+ size?: number;
51
+ }
52
+ export interface HoloPagedResponse<T> {
53
+ data: T[];
54
+ page: number;
55
+ size: number;
56
+ total: number;
57
+ }
58
+ //# sourceMappingURL=threads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/holo/threads.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,UAAU;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=threads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/holo/threads.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ /** A tool definition exposed to the model. */
2
+ export interface HoloTool {
3
+ name: string;
4
+ description?: string;
5
+ /** JSON Schema describing the tool's input parameters. */
6
+ parameters?: Record<string, unknown>;
7
+ }
8
+ /**
9
+ * Controls how the model selects tools.
10
+ *
11
+ * - `auto` — model decides whether to call a tool
12
+ * - `none` — tool use disabled
13
+ * - `required` — model must call at least one tool
14
+ * - `specific` — model must call the tool identified by `name`
15
+ */
16
+ export type HoloToolChoice = {
17
+ type: 'auto';
18
+ } | {
19
+ type: 'none';
20
+ } | {
21
+ type: 'required';
22
+ } | {
23
+ type: 'specific';
24
+ name: string;
25
+ };
26
+ /** A function call extracted from a model response. */
27
+ export interface HoloToolFunctionCall {
28
+ name: string;
29
+ arguments: Record<string, unknown>;
30
+ }
31
+ /**
32
+ * Wrapper around {@link HoloToolFunctionCall} used in {@link HoloMessage.tool_calls}.
33
+ * @see {@link HoloContentToolCall} for the content-block representation.
34
+ */
35
+ export interface HoloToolCall {
36
+ id?: string;
37
+ type: 'function';
38
+ function: HoloToolFunctionCall;
39
+ }
40
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/holo/tools.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzC,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,oBAAoB,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/holo/tools.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export * from './api';
2
+ export * from './entities';
3
+ export * from './holo';
4
+ export * from './logger';
5
+ export * from './notification';
6
+ export * from './plugin';
7
+ export * from './provider';
8
+ export * from './routing';
9
+ export * from './worker';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,10 @@
1
+ export * from './api';
2
+ export * from './entities';
3
+ export * from './holo';
4
+ export * from './logger';
5
+ export * from './notification';
6
+ export * from './plugin';
7
+ export * from './provider';
8
+ export * from './routing';
9
+ export * from './worker';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './logger';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './logger';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,16 @@
1
+ export type HoloLogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'verbose' | 'debug' | 'trace' | 'silent';
2
+ export interface HoloLoggerMethod {
3
+ (message: string, ...meta: any[]): HoloLogger;
4
+ (message: any): HoloLogger;
5
+ (infoObject: object): HoloLogger;
6
+ }
7
+ export interface HoloLogger {
8
+ level: HoloLogLevel;
9
+ error: HoloLoggerMethod;
10
+ warn: HoloLoggerMethod;
11
+ info: HoloLoggerMethod;
12
+ debug: HoloLoggerMethod;
13
+ verbose: HoloLoggerMethod;
14
+ child(meta: Record<string, unknown>): HoloLogger;
15
+ }
16
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GACpB,OAAO,GACL,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,GACT,OAAO,GACP,OAAO,GACP,QAAQ,CAAC;AAEf,MAAM,WAAW,gBAAgB;IAC7B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;IAE9C,CAAC,OAAO,EAAE,GAAG,GAAG,UAAU,CAAC;IAE3B,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAAC;CACpC;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,OAAO,EAAE,gBAAgB,CAAC;IAE1B,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;CACpD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notification/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notification/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,57 @@
1
+ export type NotificationSeverity = "info" | "warn" | "error";
2
+ export declare const NotificationEventType: {
3
+ readonly REQUEST_STARTED: "request_started";
4
+ readonly GUARD_STARTED: "guard_started";
5
+ readonly GUARD_PASSED: "guard_passed";
6
+ readonly GUARD_FAILED: "guard_failed";
7
+ readonly STATUS: "status";
8
+ readonly PROVIDER_REQUEST_STARTED: "provider_request_started";
9
+ readonly PROVIDER_RESPONSE_COMPLETED: "provider_response_completed";
10
+ readonly RESPONSE_COMPLETED: "response_completed";
11
+ readonly PROVIDER_ERROR: "provider_error";
12
+ };
13
+ export type NotificationEventType = typeof NotificationEventType[keyof typeof NotificationEventType];
14
+ export interface NotificationEvent {
15
+ id: string;
16
+ ts: number;
17
+ organizationId: string;
18
+ userId: string;
19
+ appSlug?: string;
20
+ threadId?: string;
21
+ requestId?: string;
22
+ branchId?: string;
23
+ type: NotificationEventType;
24
+ severity: NotificationSeverity;
25
+ message: string;
26
+ payload?: unknown;
27
+ }
28
+ export interface NotificationQuery {
29
+ organizationId: string;
30
+ userId: string;
31
+ appSlug?: string;
32
+ threadIds?: string[];
33
+ requestIds?: string[];
34
+ branchIds?: string[];
35
+ types?: NotificationEventType[];
36
+ afterId?: string;
37
+ limit: number;
38
+ }
39
+ export type NotificationSubscribeFilter = Omit<NotificationQuery, "limit"> & {
40
+ limit?: number;
41
+ };
42
+ export interface INotificationSub {
43
+ id: string;
44
+ filter: NotificationSubscribeFilter;
45
+ q: AsyncIterable<NotificationEvent>;
46
+ appSlug?: string;
47
+ }
48
+ export interface INotificationService {
49
+ publish(event: NotificationEvent): Promise<void>;
50
+ subscribe(filter: NotificationSubscribeFilter): Promise<INotificationSub>;
51
+ unsubscribe(id: string): Promise<boolean>;
52
+ }
53
+ export interface INotificationStore {
54
+ query(params: NotificationQuery): Promise<NotificationEvent[]>;
55
+ insert(event: NotificationEvent): Promise<void>;
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/notification/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAG7D,eAAO,MAAM,qBAAqB;;;;;;;;;;CAUxB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAErG,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IAEX,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAEhC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,2BAA2B,CAAC;IACpC,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE1E,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IAC/B,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE/D,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
@@ -0,0 +1,12 @@
1
+ export const NotificationEventType = {
2
+ REQUEST_STARTED: 'request_started',
3
+ GUARD_STARTED: 'guard_started',
4
+ GUARD_PASSED: 'guard_passed',
5
+ GUARD_FAILED: 'guard_failed',
6
+ STATUS: 'status',
7
+ PROVIDER_REQUEST_STARTED: 'provider_request_started',
8
+ PROVIDER_RESPONSE_COMPLETED: 'provider_response_completed',
9
+ RESPONSE_COMPLETED: 'response_completed',
10
+ PROVIDER_ERROR: 'provider_error',
11
+ };
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/notification/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,eAAe,EAAE,iBAAiB;IAClC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,wBAAwB,EAAE,0BAA0B;IACpD,2BAA2B,EAAE,6BAA6B;IAC1D,kBAAkB,EAAE,oBAAoB;IACxC,cAAc,EAAE,gBAAgB;CAC1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './types';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}