@byline/ai 1.9.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 (248) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +4 -0
  3. package/dist/@types.d.ts +103 -0
  4. package/dist/@types.d.ts.map +1 -0
  5. package/dist/@types.js +68 -0
  6. package/dist/@types.js.map +1 -0
  7. package/dist/config/ai-config.d.ts +76 -0
  8. package/dist/config/ai-config.d.ts.map +1 -0
  9. package/dist/config/ai-config.js +108 -0
  10. package/dist/config/ai-config.js.map +1 -0
  11. package/dist/config/ai-config.test.node.d.ts +9 -0
  12. package/dist/config/ai-config.test.node.d.ts.map +1 -0
  13. package/dist/config/ai-config.test.node.js +31 -0
  14. package/dist/config/ai-config.test.node.js.map +1 -0
  15. package/dist/config/ai-provider.d.ts +17 -0
  16. package/dist/config/ai-provider.d.ts.map +1 -0
  17. package/dist/config/ai-provider.js +32 -0
  18. package/dist/config/ai-provider.js.map +1 -0
  19. package/dist/execute.d.ts +15 -0
  20. package/dist/execute.d.ts.map +1 -0
  21. package/dist/execute.js +473 -0
  22. package/dist/execute.js.map +1 -0
  23. package/dist/generate.d.ts +64 -0
  24. package/dist/generate.d.ts.map +1 -0
  25. package/dist/generate.js +235 -0
  26. package/dist/generate.js.map +1 -0
  27. package/dist/index.d.ts +28 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +43 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/lexical-text-edits.d.ts +23 -0
  32. package/dist/lexical-text-edits.d.ts.map +1 -0
  33. package/dist/lexical-text-edits.js +62 -0
  34. package/dist/lexical-text-edits.js.map +1 -0
  35. package/dist/lib/logger.d.ts +10 -0
  36. package/dist/lib/logger.d.ts.map +1 -0
  37. package/dist/lib/logger.js +16 -0
  38. package/dist/lib/logger.js.map +1 -0
  39. package/dist/models/anthropic/anthropic-models.d.ts +14 -0
  40. package/dist/models/anthropic/anthropic-models.d.ts.map +1 -0
  41. package/dist/models/anthropic/anthropic-models.js +41 -0
  42. package/dist/models/anthropic/anthropic-models.js.map +1 -0
  43. package/dist/models/anthropic/anthropic.d.ts +9 -0
  44. package/dist/models/anthropic/anthropic.d.ts.map +1 -0
  45. package/dist/models/anthropic/anthropic.js +20 -0
  46. package/dist/models/anthropic/anthropic.js.map +1 -0
  47. package/dist/models/anthropic/generate-native.d.ts +59 -0
  48. package/dist/models/anthropic/generate-native.d.ts.map +1 -0
  49. package/dist/models/anthropic/generate-native.js +271 -0
  50. package/dist/models/anthropic/generate-native.js.map +1 -0
  51. package/dist/models/anthropic/generate-vercel.d.ts +59 -0
  52. package/dist/models/anthropic/generate-vercel.d.ts.map +1 -0
  53. package/dist/models/anthropic/generate-vercel.js +126 -0
  54. package/dist/models/anthropic/generate-vercel.js.map +1 -0
  55. package/dist/models/anthropic/generate.d.ts +16 -0
  56. package/dist/models/anthropic/generate.d.ts.map +1 -0
  57. package/dist/models/anthropic/generate.js +28 -0
  58. package/dist/models/anthropic/generate.js.map +1 -0
  59. package/dist/models/anthropic/generate.test.node.d.ts +9 -0
  60. package/dist/models/anthropic/generate.test.node.d.ts.map +1 -0
  61. package/dist/models/anthropic/generate.test.node.js +106 -0
  62. package/dist/models/anthropic/generate.test.node.js.map +1 -0
  63. package/dist/models/anthropic/patch-native.d.ts +33 -0
  64. package/dist/models/anthropic/patch-native.d.ts.map +1 -0
  65. package/dist/models/anthropic/patch-native.js +152 -0
  66. package/dist/models/anthropic/patch-native.js.map +1 -0
  67. package/dist/models/anthropic/patch-vercel.d.ts +33 -0
  68. package/dist/models/anthropic/patch-vercel.d.ts.map +1 -0
  69. package/dist/models/anthropic/patch-vercel.js +47 -0
  70. package/dist/models/anthropic/patch-vercel.js.map +1 -0
  71. package/dist/models/anthropic/patch.d.ts +12 -0
  72. package/dist/models/anthropic/patch.d.ts.map +1 -0
  73. package/dist/models/anthropic/patch.js +16 -0
  74. package/dist/models/anthropic/patch.js.map +1 -0
  75. package/dist/models/anthropic/patch.test.node.d.ts +9 -0
  76. package/dist/models/anthropic/patch.test.node.d.ts.map +1 -0
  77. package/dist/models/anthropic/patch.test.node.js +110 -0
  78. package/dist/models/anthropic/patch.test.node.js.map +1 -0
  79. package/dist/models/anthropic/schema.d.ts +212 -0
  80. package/dist/models/anthropic/schema.d.ts.map +1 -0
  81. package/dist/models/anthropic/schema.js +131 -0
  82. package/dist/models/anthropic/schema.js.map +1 -0
  83. package/dist/models/google/generate-native.d.ts +59 -0
  84. package/dist/models/google/generate-native.d.ts.map +1 -0
  85. package/dist/models/google/generate-native.js +244 -0
  86. package/dist/models/google/generate-native.js.map +1 -0
  87. package/dist/models/google/generate-vercel.d.ts +59 -0
  88. package/dist/models/google/generate-vercel.d.ts.map +1 -0
  89. package/dist/models/google/generate-vercel.js +133 -0
  90. package/dist/models/google/generate-vercel.js.map +1 -0
  91. package/dist/models/google/generate.d.ts +16 -0
  92. package/dist/models/google/generate.d.ts.map +1 -0
  93. package/dist/models/google/generate.js +28 -0
  94. package/dist/models/google/generate.js.map +1 -0
  95. package/dist/models/google/generate.test.node.d.ts +9 -0
  96. package/dist/models/google/generate.test.node.d.ts.map +1 -0
  97. package/dist/models/google/generate.test.node.js +106 -0
  98. package/dist/models/google/generate.test.node.js.map +1 -0
  99. package/dist/models/google/google-models.d.ts +14 -0
  100. package/dist/models/google/google-models.d.ts.map +1 -0
  101. package/dist/models/google/google-models.js +25 -0
  102. package/dist/models/google/google-models.js.map +1 -0
  103. package/dist/models/google/normalize-generated-doc.d.ts +10 -0
  104. package/dist/models/google/normalize-generated-doc.d.ts.map +1 -0
  105. package/dist/models/google/normalize-generated-doc.js +48 -0
  106. package/dist/models/google/normalize-generated-doc.js.map +1 -0
  107. package/dist/models/google/patch-native.d.ts +33 -0
  108. package/dist/models/google/patch-native.d.ts.map +1 -0
  109. package/dist/models/google/patch-native.js +164 -0
  110. package/dist/models/google/patch-native.js.map +1 -0
  111. package/dist/models/google/patch-vercel.d.ts +33 -0
  112. package/dist/models/google/patch-vercel.d.ts.map +1 -0
  113. package/dist/models/google/patch-vercel.js +49 -0
  114. package/dist/models/google/patch-vercel.js.map +1 -0
  115. package/dist/models/google/patch.d.ts +12 -0
  116. package/dist/models/google/patch.d.ts.map +1 -0
  117. package/dist/models/google/patch.js +16 -0
  118. package/dist/models/google/patch.js.map +1 -0
  119. package/dist/models/google/patch.test.node.d.ts +9 -0
  120. package/dist/models/google/patch.test.node.d.ts.map +1 -0
  121. package/dist/models/google/patch.test.node.js +110 -0
  122. package/dist/models/google/patch.test.node.js.map +1 -0
  123. package/dist/models/google/schema.d.ts +416 -0
  124. package/dist/models/google/schema.d.ts.map +1 -0
  125. package/dist/models/google/schema.js +254 -0
  126. package/dist/models/google/schema.js.map +1 -0
  127. package/dist/models/openai/generate-native.d.ts +65 -0
  128. package/dist/models/openai/generate-native.d.ts.map +1 -0
  129. package/dist/models/openai/generate-native.js +276 -0
  130. package/dist/models/openai/generate-native.js.map +1 -0
  131. package/dist/models/openai/generate-vercel.d.ts +59 -0
  132. package/dist/models/openai/generate-vercel.d.ts.map +1 -0
  133. package/dist/models/openai/generate-vercel.js +132 -0
  134. package/dist/models/openai/generate-vercel.js.map +1 -0
  135. package/dist/models/openai/generate.d.ts +16 -0
  136. package/dist/models/openai/generate.d.ts.map +1 -0
  137. package/dist/models/openai/generate.js +28 -0
  138. package/dist/models/openai/generate.js.map +1 -0
  139. package/dist/models/openai/generate.test.node.d.ts +9 -0
  140. package/dist/models/openai/generate.test.node.d.ts.map +1 -0
  141. package/dist/models/openai/generate.test.node.js +106 -0
  142. package/dist/models/openai/generate.test.node.js.map +1 -0
  143. package/dist/models/openai/openai-models.d.ts +14 -0
  144. package/dist/models/openai/openai-models.d.ts.map +1 -0
  145. package/dist/models/openai/openai-models.js +23 -0
  146. package/dist/models/openai/openai-models.js.map +1 -0
  147. package/dist/models/openai/patch-native.d.ts +33 -0
  148. package/dist/models/openai/patch-native.d.ts.map +1 -0
  149. package/dist/models/openai/patch-native.js +151 -0
  150. package/dist/models/openai/patch-native.js.map +1 -0
  151. package/dist/models/openai/patch-vercel.d.ts +33 -0
  152. package/dist/models/openai/patch-vercel.d.ts.map +1 -0
  153. package/dist/models/openai/patch-vercel.js +49 -0
  154. package/dist/models/openai/patch-vercel.js.map +1 -0
  155. package/dist/models/openai/patch.d.ts +12 -0
  156. package/dist/models/openai/patch.d.ts.map +1 -0
  157. package/dist/models/openai/patch.js +16 -0
  158. package/dist/models/openai/patch.js.map +1 -0
  159. package/dist/models/openai/patch.test.node.d.ts +9 -0
  160. package/dist/models/openai/patch.test.node.d.ts.map +1 -0
  161. package/dist/models/openai/patch.test.node.js +110 -0
  162. package/dist/models/openai/patch.test.node.js.map +1 -0
  163. package/dist/models/openai/schema.d.ts +460 -0
  164. package/dist/models/openai/schema.d.ts.map +1 -0
  165. package/dist/models/openai/schema.js +327 -0
  166. package/dist/models/openai/schema.js.map +1 -0
  167. package/dist/patch.d.ts +45 -0
  168. package/dist/patch.d.ts.map +1 -0
  169. package/dist/patch.js +138 -0
  170. package/dist/patch.js.map +1 -0
  171. package/dist/plugins/ai-plugin-base.d.ts +40 -0
  172. package/dist/plugins/ai-plugin-base.d.ts.map +1 -0
  173. package/dist/plugins/ai-plugin-base.js +218 -0
  174. package/dist/plugins/ai-plugin-base.js.map +1 -0
  175. package/dist/plugins/ai-plugin.css +181 -0
  176. package/dist/plugins/lexical/create-empty-editor-state.d.ts +32 -0
  177. package/dist/plugins/lexical/create-empty-editor-state.d.ts.map +1 -0
  178. package/dist/plugins/lexical/create-empty-editor-state.js +51 -0
  179. package/dist/plugins/lexical/create-empty-editor-state.js.map +1 -0
  180. package/dist/plugins/lexical/import-html.d.ts +10 -0
  181. package/dist/plugins/lexical/import-html.d.ts.map +1 -0
  182. package/dist/plugins/lexical/import-html.js +31 -0
  183. package/dist/plugins/lexical/import-html.js.map +1 -0
  184. package/dist/plugins/lexical/index.d.ts +9 -0
  185. package/dist/plugins/lexical/index.d.ts.map +1 -0
  186. package/dist/plugins/lexical/index.js +9 -0
  187. package/dist/plugins/lexical/index.js.map +1 -0
  188. package/dist/plugins/lexical/plugin.d.ts +11 -0
  189. package/dist/plugins/lexical/plugin.d.ts.map +1 -0
  190. package/dist/plugins/lexical/plugin.js +305 -0
  191. package/dist/plugins/lexical/plugin.js.map +1 -0
  192. package/dist/plugins/storage.d.ts +18 -0
  193. package/dist/plugins/storage.d.ts.map +1 -0
  194. package/dist/plugins/storage.js +57 -0
  195. package/dist/plugins/storage.js.map +1 -0
  196. package/dist/plugins/streaming-preview.d.ts +12 -0
  197. package/dist/plugins/streaming-preview.d.ts.map +1 -0
  198. package/dist/plugins/streaming-preview.js +24 -0
  199. package/dist/plugins/streaming-preview.js.map +1 -0
  200. package/dist/plugins/text/index.d.ts +9 -0
  201. package/dist/plugins/text/index.d.ts.map +1 -0
  202. package/dist/plugins/text/index.js +9 -0
  203. package/dist/plugins/text/index.js.map +1 -0
  204. package/dist/plugins/text/plugin.d.ts +18 -0
  205. package/dist/plugins/text/plugin.d.ts.map +1 -0
  206. package/dist/plugins/text/plugin.js +261 -0
  207. package/dist/plugins/text/plugin.js.map +1 -0
  208. package/dist/prompts.d.ts +30 -0
  209. package/dist/prompts.d.ts.map +1 -0
  210. package/dist/prompts.js +83 -0
  211. package/dist/prompts.js.map +1 -0
  212. package/dist/schemas/lexical-json-schema.d.ts +68 -0
  213. package/dist/schemas/lexical-json-schema.d.ts.map +1 -0
  214. package/dist/schemas/lexical-json-schema.js +434 -0
  215. package/dist/schemas/lexical-json-schema.js.map +1 -0
  216. package/dist/scripts/list-models.d.ts +9 -0
  217. package/dist/scripts/list-models.d.ts.map +1 -0
  218. package/dist/scripts/list-models.js +55 -0
  219. package/dist/scripts/list-models.js.map +1 -0
  220. package/dist/server.d.ts +25 -0
  221. package/dist/server.d.ts.map +1 -0
  222. package/dist/server.js +22 -0
  223. package/dist/server.js.map +1 -0
  224. package/dist/utils/convert-to-lexical.d.ts +62 -0
  225. package/dist/utils/convert-to-lexical.d.ts.map +1 -0
  226. package/dist/utils/convert-to-lexical.js +210 -0
  227. package/dist/utils/convert-to-lexical.js.map +1 -0
  228. package/dist/utils/create-empty-editor-state.d.ts +32 -0
  229. package/dist/utils/create-empty-editor-state.d.ts.map +1 -0
  230. package/dist/utils/create-empty-editor-state.js +51 -0
  231. package/dist/utils/create-empty-editor-state.js.map +1 -0
  232. package/dist/utils/has-text.d.ts +10 -0
  233. package/dist/utils/has-text.d.ts.map +1 -0
  234. package/dist/utils/has-text.js +35 -0
  235. package/dist/utils/has-text.js.map +1 -0
  236. package/dist/utils/has-text.test.d.ts +9 -0
  237. package/dist/utils/has-text.test.d.ts.map +1 -0
  238. package/dist/utils/has-text.test.js +69 -0
  239. package/dist/utils/has-text.test.js.map +1 -0
  240. package/dist/utils/is-object-schema.d.ts +17 -0
  241. package/dist/utils/is-object-schema.d.ts.map +1 -0
  242. package/dist/utils/is-object-schema.js +19 -0
  243. package/dist/utils/is-object-schema.js.map +1 -0
  244. package/dist/utils/lexical-text-edits.d.ts +23 -0
  245. package/dist/utils/lexical-text-edits.d.ts.map +1 -0
  246. package/dist/utils/lexical-text-edits.js +62 -0
  247. package/dist/utils/lexical-text-edits.js.map +1 -0
  248. package/package.json +111 -0
@@ -0,0 +1,271 @@
1
+ /**
2
+ * This Source Code is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ *
6
+ * Copyright (c) Infonomic Company Limited
7
+ */
8
+ import Anthropic from '@anthropic-ai/sdk';
9
+ import { buildGenerateHtmlSystemPrompt, buildGenerateHtmlUserPrompt, buildGenerateSystemPrompt, buildGenerateTextSystemPrompt, buildGenerateTextUserPrompt, } from '../../prompts';
10
+ import { anthropicGenerationSchema } from './schema';
11
+ export async function generateHtml(options) {
12
+ const baseURL = isValidHttpUrl(process.env.ANTHROPIC_BASE_URL)
13
+ ? normalizeAnthropicBaseURLForSdk(process.env.ANTHROPIC_BASE_URL)
14
+ : 'https://api.anthropic.com';
15
+ const client = new Anthropic({ apiKey: options.apiKey, baseURL });
16
+ const message = await client.messages.create({
17
+ model: options.model,
18
+ max_tokens: 4096,
19
+ system: buildGenerateHtmlSystemPrompt(),
20
+ messages: [{ role: 'user', content: buildGenerateHtmlUserPrompt(options.prompt) }],
21
+ }, { signal: options.signal });
22
+ const textBlock = message.content.find((b) => b.type === 'text');
23
+ return textBlock?.text ?? '';
24
+ }
25
+ export function generateHtmlStreaming(options) {
26
+ const baseURL = isValidHttpUrl(process.env.ANTHROPIC_BASE_URL)
27
+ ? normalizeAnthropicBaseURLForSdk(process.env.ANTHROPIC_BASE_URL)
28
+ : 'https://api.anthropic.com';
29
+ const client = new Anthropic({ apiKey: options.apiKey, baseURL });
30
+ const stream = client.messages.stream({
31
+ model: options.model,
32
+ max_tokens: 4096,
33
+ system: buildGenerateHtmlSystemPrompt(),
34
+ messages: [{ role: 'user', content: buildGenerateHtmlUserPrompt(options.prompt) }],
35
+ stream: true,
36
+ }, options.signal ? { signal: options.signal } : undefined);
37
+ const text = (async function* () {
38
+ for await (const event of stream) {
39
+ if (event.type === 'content_block_delta') {
40
+ const deltaText = event?.delta?.text;
41
+ if (typeof deltaText === 'string' && deltaText.length > 0) {
42
+ yield deltaText;
43
+ }
44
+ }
45
+ }
46
+ })();
47
+ const final = (async () => {
48
+ const message = await stream.finalMessage();
49
+ const html = (message.content ?? [])
50
+ .filter((b) => b?.type === 'text')
51
+ .map((b) => b?.text)
52
+ .filter((t) => typeof t === 'string' && t.length > 0)
53
+ .join('');
54
+ return html.trim();
55
+ })();
56
+ return { text, final };
57
+ }
58
+ export async function generateText(options) {
59
+ const baseURL = isValidHttpUrl(process.env.ANTHROPIC_BASE_URL)
60
+ ? normalizeAnthropicBaseURLForSdk(process.env.ANTHROPIC_BASE_URL)
61
+ : 'https://api.anthropic.com';
62
+ const client = new Anthropic({ apiKey: options.apiKey, baseURL });
63
+ const maxLength = typeof options.maxLength === 'number' && Number.isFinite(options.maxLength)
64
+ ? Math.floor(options.maxLength)
65
+ : undefined;
66
+ const promptWithLength = typeof maxLength === 'number' && maxLength > 0
67
+ ? `${options.prompt}\n\nConstraints:\n- Maximum length: ${maxLength} characters.`
68
+ : options.prompt;
69
+ const message = await client.messages.create({
70
+ model: options.model,
71
+ max_tokens: 4096,
72
+ system: buildGenerateTextSystemPrompt(),
73
+ messages: [{ role: 'user', content: buildGenerateTextUserPrompt(promptWithLength) }],
74
+ }, options.signal ? { signal: options.signal } : undefined);
75
+ const text = (message.content ?? [])
76
+ .filter((b) => b?.type === 'text')
77
+ .map((b) => b?.text)
78
+ .filter((t) => typeof t === 'string' && t.length > 0)
79
+ .join('')
80
+ .trim();
81
+ if (typeof maxLength === 'number' && maxLength > 0) {
82
+ return text.length > maxLength ? text.slice(0, maxLength).trimEnd() : text;
83
+ }
84
+ return text;
85
+ }
86
+ export function generateTextStreaming(options) {
87
+ const baseURL = isValidHttpUrl(process.env.ANTHROPIC_BASE_URL)
88
+ ? normalizeAnthropicBaseURLForSdk(process.env.ANTHROPIC_BASE_URL)
89
+ : 'https://api.anthropic.com';
90
+ const client = new Anthropic({ apiKey: options.apiKey, baseURL });
91
+ const maxLength = typeof options.maxLength === 'number' && Number.isFinite(options.maxLength)
92
+ ? Math.floor(options.maxLength)
93
+ : undefined;
94
+ const promptWithLength = typeof maxLength === 'number' && maxLength > 0
95
+ ? `${options.prompt}\n\nConstraints:\n- Maximum length: ${maxLength} characters.`
96
+ : options.prompt;
97
+ const stream = client.messages.stream({
98
+ model: options.model,
99
+ max_tokens: 4096,
100
+ system: buildGenerateTextSystemPrompt(),
101
+ messages: [{ role: 'user', content: buildGenerateTextUserPrompt(promptWithLength) }],
102
+ stream: true,
103
+ }, options.signal ? { signal: options.signal } : undefined);
104
+ const text = (async function* () {
105
+ let remaining = typeof maxLength === 'number' && maxLength > 0 ? maxLength : undefined;
106
+ for await (const event of stream) {
107
+ if (event.type !== 'content_block_delta') {
108
+ continue;
109
+ }
110
+ const deltaText = event?.delta?.text;
111
+ if (typeof deltaText !== 'string' || deltaText.length === 0) {
112
+ continue;
113
+ }
114
+ if (typeof remaining === 'number') {
115
+ if (remaining <= 0) {
116
+ continue;
117
+ }
118
+ const chunk = deltaText.slice(0, remaining);
119
+ remaining -= chunk.length;
120
+ if (chunk.length > 0) {
121
+ yield chunk;
122
+ }
123
+ continue;
124
+ }
125
+ yield deltaText;
126
+ }
127
+ })();
128
+ const final = (async () => {
129
+ const message = await stream.finalMessage();
130
+ const combined = (message.content ?? [])
131
+ .filter((b) => b?.type === 'text')
132
+ .map((b) => b?.text)
133
+ .filter((t) => typeof t === 'string' && t.length > 0)
134
+ .join('')
135
+ .trim();
136
+ if (typeof maxLength === 'number' && maxLength > 0) {
137
+ return combined.length > maxLength ? combined.slice(0, maxLength).trimEnd() : combined;
138
+ }
139
+ return combined;
140
+ })();
141
+ return { text, final };
142
+ }
143
+ const isValidHttpUrl = (value) => {
144
+ if (value == null || value.trim().length === 0)
145
+ return false;
146
+ try {
147
+ const url = new URL(value);
148
+ return url.protocol === 'http:' || url.protocol === 'https:';
149
+ }
150
+ catch {
151
+ return false;
152
+ }
153
+ };
154
+ // The official Anthropic SDK expects a base URL like https://api.anthropic.com
155
+ // (it will handle the /v1 path internally). We defensively normalize env input.
156
+ const normalizeAnthropicBaseURLForSdk = (value) => {
157
+ const base = (value && value.trim().length > 0 ? value : 'https://api.anthropic.com')
158
+ .trim()
159
+ .replace(/\/+$/, '');
160
+ return base.endsWith('/v1') ? base.slice(0, -3) : base;
161
+ };
162
+ export async function generateDoc(options) {
163
+ const baseURL = isValidHttpUrl(process.env.ANTHROPIC_BASE_URL)
164
+ ? normalizeAnthropicBaseURLForSdk(process.env.ANTHROPIC_BASE_URL)
165
+ : 'https://api.anthropic.com';
166
+ const client = new Anthropic({ apiKey: options.apiKey, baseURL });
167
+ // Anthropic-native structured outputs: force a tool call and parse the tool input.
168
+ const toolName = 'generate_lexical_doc_blocks_v1';
169
+ // Anthropic does not need the draft-07 $schema keyword.
170
+ const input_schema = {
171
+ ...anthropicGenerationSchema,
172
+ $schema: undefined,
173
+ };
174
+ const result = await client.messages.create({
175
+ model: options.model,
176
+ max_tokens: 4000,
177
+ system: buildGenerateSystemPrompt(),
178
+ messages: [
179
+ {
180
+ role: 'user',
181
+ content: options.prompt,
182
+ },
183
+ ],
184
+ tools: [
185
+ {
186
+ name: toolName,
187
+ description: 'Generate a document in the GeneratedDoc (blocks) JSON format.',
188
+ input_schema,
189
+ },
190
+ ],
191
+ tool_choice: { type: 'tool', name: toolName },
192
+ }, options.signal ? { signal: options.signal } : undefined);
193
+ // Find the tool call content and return its JSON input.
194
+ const toolUse = (result.content ?? []).find((c) => c?.type === 'tool_use' && c?.name === toolName);
195
+ const parsed = toolUse?.input;
196
+ if (parsed && typeof parsed === 'object') {
197
+ return parsed;
198
+ }
199
+ const text = (result.content ?? [])
200
+ .filter((c) => c?.type === 'text')
201
+ .map((c) => c?.text)
202
+ .filter((t) => typeof t === 'string' && t.length > 0)
203
+ .join('\n');
204
+ throw new Error(text.length > 0
205
+ ? `Anthropic did not return a tool payload. Text: ${text}`
206
+ : 'Anthropic did not return a tool payload.');
207
+ }
208
+ export function generateDocStreaming(options) {
209
+ const baseURL = isValidHttpUrl(process.env.ANTHROPIC_BASE_URL)
210
+ ? normalizeAnthropicBaseURLForSdk(process.env.ANTHROPIC_BASE_URL)
211
+ : 'https://api.anthropic.com';
212
+ const client = new Anthropic({ apiKey: options.apiKey, baseURL });
213
+ const toolName = 'generate_lexical_doc_blocks_v1';
214
+ const input_schema = {
215
+ ...anthropicGenerationSchema,
216
+ $schema: undefined,
217
+ };
218
+ const stream = client.messages.stream({
219
+ model: options.model,
220
+ max_tokens: 4000,
221
+ system: buildGenerateSystemPrompt(),
222
+ messages: [
223
+ {
224
+ role: 'user',
225
+ content: options.prompt,
226
+ },
227
+ ],
228
+ tools: [
229
+ {
230
+ name: toolName,
231
+ description: 'Generate a document in the GeneratedDoc (blocks) JSON format.',
232
+ input_schema,
233
+ },
234
+ ],
235
+ tool_choice: { type: 'tool', name: toolName },
236
+ stream: true,
237
+ }, options.signal ? { signal: options.signal } : undefined);
238
+ const text = (async function* () {
239
+ for await (const event of stream) {
240
+ if (event.type === 'content_block_delta') {
241
+ const deltaText = event?.delta?.text;
242
+ const deltaJson = event?.delta?.partial_json ??
243
+ event?.delta?.input_json_delta?.partial_json;
244
+ if (typeof deltaText === 'string' && deltaText.length > 0) {
245
+ yield deltaText;
246
+ }
247
+ else if (typeof deltaJson === 'string' && deltaJson.length > 0) {
248
+ yield deltaJson;
249
+ }
250
+ }
251
+ }
252
+ })();
253
+ const final = (async () => {
254
+ const result = await stream.finalMessage();
255
+ const toolUse = (result.content ?? []).find((c) => c?.type === 'tool_use' && c?.name === toolName);
256
+ const parsed = toolUse?.input;
257
+ if (parsed && typeof parsed === 'object') {
258
+ return parsed;
259
+ }
260
+ const text = (result.content ?? [])
261
+ .filter((c) => c?.type === 'text')
262
+ .map((c) => c?.text)
263
+ .filter((t) => typeof t === 'string' && t.length > 0)
264
+ .join('\n');
265
+ throw new Error(text.length > 0
266
+ ? `Anthropic did not return a tool payload. Text: ${text}`
267
+ : 'Anthropic did not return a tool payload.');
268
+ })();
269
+ return { text, final };
270
+ }
271
+ //# sourceMappingURL=generate-native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-native.js","sourceRoot":"","sources":["../../../src/models/anthropic/generate-native.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * This Source Code is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ *
6
+ * Copyright (c) Infonomic Company Limited
7
+ */
8
+ import type { GeneratedDoc } from '../../utils/convert-to-lexical';
9
+ export type GenerateTextStreamingResult = {
10
+ text: AsyncIterable<string>;
11
+ final: Promise<string>;
12
+ };
13
+ export type GenerateHtmlStreamingResult = {
14
+ text: AsyncIterable<string>;
15
+ final: Promise<string>;
16
+ };
17
+ export declare function generateHtml(options: {
18
+ apiKey: string;
19
+ model: string;
20
+ prompt: string;
21
+ signal?: AbortSignal;
22
+ }): Promise<string>;
23
+ export declare function generateHtmlStreaming(options: {
24
+ apiKey: string;
25
+ model: string;
26
+ prompt: string;
27
+ signal?: AbortSignal;
28
+ }): GenerateHtmlStreamingResult;
29
+ export declare function generateText(options: {
30
+ apiKey: string;
31
+ model: string;
32
+ prompt: string;
33
+ maxLength?: number;
34
+ signal?: AbortSignal;
35
+ }): Promise<string>;
36
+ export declare function generateTextStreaming(options: {
37
+ apiKey: string;
38
+ model: string;
39
+ prompt: string;
40
+ maxLength?: number;
41
+ signal?: AbortSignal;
42
+ }): GenerateTextStreamingResult;
43
+ export declare function generateDoc(options: {
44
+ apiKey: string;
45
+ model: string;
46
+ prompt: string;
47
+ signal?: AbortSignal;
48
+ }): Promise<GeneratedDoc>;
49
+ export type GenerateDocStreamingResult = {
50
+ text: AsyncIterable<string>;
51
+ final: Promise<GeneratedDoc>;
52
+ };
53
+ export declare function generateDocStreaming(options: {
54
+ apiKey: string;
55
+ model: string;
56
+ prompt: string;
57
+ signal?: AbortSignal;
58
+ }): GenerateDocStreamingResult;
59
+ //# sourceMappingURL=generate-vercel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-vercel.d.ts","sourceRoot":"","sources":["../../../src/models/anthropic/generate-vercel.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAE9D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CACvB,CAAA;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CASlB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,2BAA2B,CAY9B;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBlB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,2BAA2B,CA8C9B;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,OAAO,CAAC,YAAY,CAAC,CAiBxB;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CAC7B,CAAA;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB,GAAG,0BAA0B,CAoB7B"}
@@ -0,0 +1,126 @@
1
+ /**
2
+ * This Source Code is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ *
6
+ * Copyright (c) Infonomic Company Limited
7
+ */
8
+ import { generateText as generateTextAi, jsonSchema, Output, streamText as streamTextAi } from 'ai';
9
+ import { buildGenerateHtmlSystemPrompt, buildGenerateHtmlUserPrompt, buildGenerateSystemPrompt, buildGenerateTextSystemPrompt, buildGenerateTextUserPrompt, } from '../../prompts';
10
+ import { anthropic } from './anthropic';
11
+ import { anthropicGenerationSchema } from './schema';
12
+ export async function generateHtml(options) {
13
+ const result = await generateTextAi({
14
+ model: anthropic(options.apiKey)(options.model),
15
+ system: buildGenerateHtmlSystemPrompt(),
16
+ prompt: buildGenerateHtmlUserPrompt(options.prompt),
17
+ abortSignal: options.signal,
18
+ });
19
+ return result.text;
20
+ }
21
+ export function generateHtmlStreaming(options) {
22
+ const result = streamTextAi({
23
+ model: anthropic(options.apiKey)(options.model),
24
+ system: buildGenerateHtmlSystemPrompt(),
25
+ prompt: buildGenerateHtmlUserPrompt(options.prompt),
26
+ abortSignal: options.signal,
27
+ });
28
+ return {
29
+ text: result.textStream,
30
+ final: result.text,
31
+ };
32
+ }
33
+ export async function generateText(options) {
34
+ const maxLength = typeof options.maxLength === 'number' && Number.isFinite(options.maxLength)
35
+ ? Math.floor(options.maxLength)
36
+ : undefined;
37
+ const promptWithLength = typeof maxLength === 'number' && maxLength > 0
38
+ ? `${options.prompt}\n\nConstraints:\n- Maximum length: ${maxLength} characters.`
39
+ : options.prompt;
40
+ const result = await generateTextAi({
41
+ model: anthropic(options.apiKey)(options.model),
42
+ system: buildGenerateTextSystemPrompt(),
43
+ prompt: buildGenerateTextUserPrompt(promptWithLength),
44
+ abortSignal: options.signal,
45
+ });
46
+ const normalized = result.text.trim();
47
+ if (typeof maxLength === 'number' && maxLength > 0) {
48
+ return normalized.length > maxLength ? normalized.slice(0, maxLength).trimEnd() : normalized;
49
+ }
50
+ return normalized;
51
+ }
52
+ export function generateTextStreaming(options) {
53
+ const maxLength = typeof options.maxLength === 'number' && Number.isFinite(options.maxLength)
54
+ ? Math.floor(options.maxLength)
55
+ : undefined;
56
+ const promptWithLength = typeof maxLength === 'number' && maxLength > 0
57
+ ? `${options.prompt}\n\nConstraints:\n- Maximum length: ${maxLength} characters.`
58
+ : options.prompt;
59
+ const result = streamTextAi({
60
+ model: anthropic(options.apiKey)(options.model),
61
+ system: buildGenerateTextSystemPrompt(),
62
+ prompt: buildGenerateTextUserPrompt(promptWithLength),
63
+ abortSignal: options.signal,
64
+ });
65
+ const text = (async function* () {
66
+ let remaining = typeof maxLength === 'number' && maxLength > 0 ? maxLength : undefined;
67
+ for await (const delta of result.textStream) {
68
+ if (typeof remaining === 'number') {
69
+ if (remaining <= 0) {
70
+ continue;
71
+ }
72
+ const chunk = delta.slice(0, remaining);
73
+ remaining -= chunk.length;
74
+ if (chunk.length > 0) {
75
+ yield chunk;
76
+ }
77
+ continue;
78
+ }
79
+ yield delta;
80
+ }
81
+ })();
82
+ const final = result.text.then((t) => {
83
+ const normalized = (t ?? '').trim();
84
+ if (typeof maxLength === 'number' && maxLength > 0) {
85
+ return normalized.length > maxLength ? normalized.slice(0, maxLength).trimEnd() : normalized;
86
+ }
87
+ return normalized;
88
+ });
89
+ return { text, final };
90
+ }
91
+ export async function generateDoc(options) {
92
+ const schema = jsonSchema({
93
+ ...anthropicGenerationSchema,
94
+ $schema: undefined,
95
+ });
96
+ const result = await generateTextAi({
97
+ model: anthropic(options.apiKey)(options.model),
98
+ system: buildGenerateSystemPrompt(),
99
+ prompt: options.prompt,
100
+ abortSignal: options.signal,
101
+ output: Output.object({
102
+ schema,
103
+ }),
104
+ });
105
+ return result.output;
106
+ }
107
+ export function generateDocStreaming(options) {
108
+ const schema = jsonSchema({
109
+ ...anthropicGenerationSchema,
110
+ $schema: undefined,
111
+ });
112
+ const result = streamTextAi({
113
+ model: anthropic(options.apiKey)(options.model),
114
+ system: buildGenerateSystemPrompt(),
115
+ prompt: options.prompt,
116
+ abortSignal: options.signal,
117
+ output: Output.object({
118
+ schema,
119
+ }),
120
+ });
121
+ return {
122
+ text: result.textStream,
123
+ final: result.output,
124
+ };
125
+ }
126
+ //# sourceMappingURL=generate-vercel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-vercel.js","sourceRoot":"","sources":["../../../src/models/anthropic/generate-vercel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * This Source Code is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ *
6
+ * Copyright (c) Infonomic Company Limited
7
+ */
8
+ import { generateDoc as generateVercelDoc, generateDocStreaming as generateVercelDocStreaming, generateHtml as generateVercelHtml, generateHtmlStreaming as generateVercelHtmlStreaming, generateText as generateVercelText, generateTextStreaming as generateVercelTextStreaming } from './generate-vercel';
9
+ import type { Sdk } from '../../@types';
10
+ export declare const getGenerateDoc: (sdk: Sdk) => typeof generateVercelDoc;
11
+ export declare const getGenerateDocStreaming: (sdk: Sdk) => typeof generateVercelDocStreaming;
12
+ export declare const getGenerateHtml: (sdk: Sdk) => typeof generateVercelHtml;
13
+ export declare const getGenerateHtmlStreaming: (sdk: Sdk) => typeof generateVercelHtmlStreaming;
14
+ export declare const getGenerateText: (sdk: Sdk) => typeof generateVercelText;
15
+ export declare const getGenerateTextStreaming: (sdk: Sdk) => typeof generateVercelTextStreaming;
16
+ //# sourceMappingURL=generate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/models/anthropic/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,oBAAoB,IAAI,0BAA0B,EAClD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACpD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACrD,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAEnC,eAAO,MAAM,cAAc,GAAI,KAAK,GAAG,6BAEtC,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAI,KAAK,GAAG,sCAE/C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,GAAG,8BAEvC,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,KAAK,GAAG,uCAEhD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,GAAG,8BAEvC,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,KAAK,GAAG,uCAEhD,CAAA"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * This Source Code is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ *
6
+ * Copyright (c) Infonomic Company Limited
7
+ */
8
+ import { generateDoc as generateNativeDoc, generateDocStreaming as generateNativeDocStreaming, generateHtml as generateNativeHtml, generateHtmlStreaming as generateNativeHtmlStreaming, generateText as generateNativeText, generateTextStreaming as generateNativeTextStreaming, } from './generate-native';
9
+ import { generateDoc as generateVercelDoc, generateDocStreaming as generateVercelDocStreaming, generateHtml as generateVercelHtml, generateHtmlStreaming as generateVercelHtmlStreaming, generateText as generateVercelText, generateTextStreaming as generateVercelTextStreaming, } from './generate-vercel';
10
+ export const getGenerateDoc = (sdk) => {
11
+ return sdk === 'vercel' ? generateVercelDoc : generateNativeDoc;
12
+ };
13
+ export const getGenerateDocStreaming = (sdk) => {
14
+ return sdk === 'vercel' ? generateVercelDocStreaming : generateNativeDocStreaming;
15
+ };
16
+ export const getGenerateHtml = (sdk) => {
17
+ return sdk === 'vercel' ? generateVercelHtml : generateNativeHtml;
18
+ };
19
+ export const getGenerateHtmlStreaming = (sdk) => {
20
+ return sdk === 'vercel' ? generateVercelHtmlStreaming : generateNativeHtmlStreaming;
21
+ };
22
+ export const getGenerateText = (sdk) => {
23
+ return sdk === 'vercel' ? generateVercelText : generateNativeText;
24
+ };
25
+ export const getGenerateTextStreaming = (sdk) => {
26
+ return sdk === 'vercel' ? generateVercelTextStreaming : generateNativeTextStreaming;
27
+ };
28
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/models/anthropic/generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,oBAAoB,IAAI,0BAA0B,EAClD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACpD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,GACrD,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,WAAW,IAAI,iBAAiB,EAChC,oBAAoB,IAAI,0BAA0B,EAClD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,EACpD,YAAY,IAAI,kBAAkB,EAClC,qBAAqB,IAAI,2BAA2B,GACrD,MAAM,mBAAmB,CAAA;AAG1B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,EAAE;IACzC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAQ,EAAE,EAAE;IAClD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,0BAA0B,CAAA;AACnF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC1C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACnD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAA;AACrF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE;IAC1C,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAA;AACnE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAQ,EAAE,EAAE;IACnD,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAA;AACrF,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This Source Code is subject to the terms of the Mozilla Public
3
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
4
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5
+ *
6
+ * Copyright (c) Infonomic Company Limited
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=generate.test.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.test.node.d.ts","sourceRoot":"","sources":["../../../src/models/anthropic/generate.test.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}