@retab/node 0.0.48 → 0.0.52

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 (263) hide show
  1. package/README.md +8 -215
  2. package/dist/api/client.d.ts +2 -2
  3. package/dist/api/client.d.ts.map +1 -1
  4. package/dist/api/client.js +2 -2
  5. package/dist/api/documents/client.d.ts +3 -3
  6. package/dist/api/documents/client.d.ts.map +1 -1
  7. package/dist/api/documents/client.js +3 -3
  8. package/dist/api/projects/client.d.ts +15 -0
  9. package/dist/api/projects/client.d.ts.map +1 -0
  10. package/dist/api/projects/client.js +43 -0
  11. package/dist/api/projects/documents/client.d.ts +12 -0
  12. package/dist/api/projects/documents/client.d.ts.map +1 -0
  13. package/dist/api/projects/documents/client.js +39 -0
  14. package/dist/api/projects/iterations/client.d.ts +17 -0
  15. package/dist/api/projects/iterations/client.d.ts.map +1 -0
  16. package/dist/api/projects/iterations/client.js +64 -0
  17. package/dist/client.d.ts +1 -0
  18. package/dist/client.d.ts.map +1 -1
  19. package/dist/client.js +6 -1
  20. package/dist/generated_types.d.ts +17837 -40090
  21. package/dist/generated_types.d.ts.map +1 -1
  22. package/dist/generated_types.js +309 -979
  23. package/dist/index.d.ts +7 -2
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +2 -2
  26. package/dist/types.d.ts +188 -80
  27. package/dist/types.d.ts.map +1 -1
  28. package/dist/types.js +22 -1
  29. package/package.json +6 -9
  30. package/dist/api/consensus/client.d.ts +0 -7
  31. package/dist/api/consensus/client.d.ts.map +0 -1
  32. package/dist/api/consensus/client.js +0 -14
  33. package/dist/errors.d.ts +0 -34
  34. package/dist/errors.d.ts.map +0 -1
  35. package/dist/errors.js +0 -53
  36. package/dist/resource.d.ts +0 -12
  37. package/dist/resource.d.ts.map +0 -1
  38. package/dist/resource.js +0 -19
  39. package/dist/resources/consensus/completions.d.ts +0 -66
  40. package/dist/resources/consensus/completions.d.ts.map +0 -1
  41. package/dist/resources/consensus/completions.js +0 -84
  42. package/dist/resources/consensus/index.d.ts +0 -72
  43. package/dist/resources/consensus/index.d.ts.map +0 -1
  44. package/dist/resources/consensus/index.js +0 -76
  45. package/dist/resources/consensus/responses.d.ts +0 -69
  46. package/dist/resources/consensus/responses.d.ts.map +0 -1
  47. package/dist/resources/consensus/responses.js +0 -99
  48. package/dist/resources/documents/extractions.d.ts +0 -74
  49. package/dist/resources/documents/extractions.d.ts.map +0 -1
  50. package/dist/resources/documents/extractions.js +0 -196
  51. package/dist/resources/documents/index.d.ts +0 -21
  52. package/dist/resources/documents/index.d.ts.map +0 -1
  53. package/dist/resources/documents/index.js +0 -55
  54. package/dist/resources/evaluations/documents.d.ts +0 -40
  55. package/dist/resources/evaluations/documents.d.ts.map +0 -1
  56. package/dist/resources/evaluations/documents.js +0 -123
  57. package/dist/resources/evaluations/index.d.ts +0 -14
  58. package/dist/resources/evaluations/index.d.ts.map +0 -1
  59. package/dist/resources/evaluations/index.js +0 -17
  60. package/dist/resources/evaluations/iterations.d.ts +0 -50
  61. package/dist/resources/evaluations/iterations.d.ts.map +0 -1
  62. package/dist/resources/evaluations/iterations.js +0 -156
  63. package/dist/resources/files.d.ts +0 -82
  64. package/dist/resources/files.d.ts.map +0 -1
  65. package/dist/resources/files.js +0 -150
  66. package/dist/resources/finetuning.d.ts +0 -105
  67. package/dist/resources/finetuning.d.ts.map +0 -1
  68. package/dist/resources/finetuning.js +0 -181
  69. package/dist/resources/index.d.ts +0 -11
  70. package/dist/resources/index.d.ts.map +0 -1
  71. package/dist/resources/index.js +0 -10
  72. package/dist/resources/models.d.ts +0 -57
  73. package/dist/resources/models.d.ts.map +0 -1
  74. package/dist/resources/models.js +0 -72
  75. package/dist/resources/processors/automations/endpoints.d.ts +0 -90
  76. package/dist/resources/processors/automations/endpoints.d.ts.map +0 -1
  77. package/dist/resources/processors/automations/endpoints.js +0 -145
  78. package/dist/resources/processors/automations/index.d.ts +0 -7
  79. package/dist/resources/processors/automations/index.d.ts.map +0 -1
  80. package/dist/resources/processors/automations/index.js +0 -6
  81. package/dist/resources/processors/automations/links.d.ts +0 -90
  82. package/dist/resources/processors/automations/links.d.ts.map +0 -1
  83. package/dist/resources/processors/automations/links.js +0 -149
  84. package/dist/resources/processors/automations/logs.d.ts +0 -35
  85. package/dist/resources/processors/automations/logs.d.ts.map +0 -1
  86. package/dist/resources/processors/automations/logs.js +0 -60
  87. package/dist/resources/processors/automations/mailboxes.d.ts +0 -102
  88. package/dist/resources/processors/automations/mailboxes.d.ts.map +0 -1
  89. package/dist/resources/processors/automations/mailboxes.js +0 -157
  90. package/dist/resources/processors/automations/outlook.d.ts +0 -114
  91. package/dist/resources/processors/automations/outlook.d.ts.map +0 -1
  92. package/dist/resources/processors/automations/outlook.js +0 -170
  93. package/dist/resources/processors/automations/tests.d.ts +0 -58
  94. package/dist/resources/processors/automations/tests.d.ts.map +0 -1
  95. package/dist/resources/processors/automations/tests.js +0 -90
  96. package/dist/resources/processors/index.d.ts +0 -303
  97. package/dist/resources/processors/index.d.ts.map +0 -1
  98. package/dist/resources/processors/index.js +0 -261
  99. package/dist/resources/schemas.d.ts +0 -63
  100. package/dist/resources/schemas.d.ts.map +0 -1
  101. package/dist/resources/schemas.js +0 -183
  102. package/dist/resources/secrets/external_api_keys.d.ts +0 -61
  103. package/dist/resources/secrets/external_api_keys.d.ts.map +0 -1
  104. package/dist/resources/secrets/external_api_keys.js +0 -120
  105. package/dist/resources/secrets/index.d.ts +0 -14
  106. package/dist/resources/secrets/index.d.ts.map +0 -1
  107. package/dist/resources/secrets/index.js +0 -17
  108. package/dist/resources/secrets/webhooks.d.ts +0 -73
  109. package/dist/resources/secrets/webhooks.d.ts.map +0 -1
  110. package/dist/resources/secrets/webhooks.js +0 -145
  111. package/dist/resources/usage.d.ts +0 -223
  112. package/dist/resources/usage.d.ts.map +0 -1
  113. package/dist/resources/usage.js +0 -310
  114. package/dist/types/ai_models.d.ts +0 -389
  115. package/dist/types/ai_models.d.ts.map +0 -1
  116. package/dist/types/ai_models.js +0 -145
  117. package/dist/types/automations/cron.d.ts +0 -28
  118. package/dist/types/automations/cron.d.ts.map +0 -1
  119. package/dist/types/automations/cron.js +0 -1
  120. package/dist/types/automations/endpoints.d.ts +0 -13
  121. package/dist/types/automations/endpoints.d.ts.map +0 -1
  122. package/dist/types/automations/endpoints.js +0 -1
  123. package/dist/types/automations/index.d.ts +0 -7
  124. package/dist/types/automations/index.d.ts.map +0 -1
  125. package/dist/types/automations/index.js +0 -6
  126. package/dist/types/automations/links.d.ts +0 -15
  127. package/dist/types/automations/links.d.ts.map +0 -1
  128. package/dist/types/automations/links.js +0 -1
  129. package/dist/types/automations/mailboxes.d.ts +0 -18
  130. package/dist/types/automations/mailboxes.d.ts.map +0 -1
  131. package/dist/types/automations/mailboxes.js +0 -1
  132. package/dist/types/automations/outlook.d.ts +0 -37
  133. package/dist/types/automations/outlook.d.ts.map +0 -1
  134. package/dist/types/automations/outlook.js +0 -1
  135. package/dist/types/automations/webhooks.d.ts +0 -13
  136. package/dist/types/automations/webhooks.d.ts.map +0 -1
  137. package/dist/types/automations/webhooks.js +0 -1
  138. package/dist/types/browser_canvas.d.ts +0 -4
  139. package/dist/types/browser_canvas.d.ts.map +0 -1
  140. package/dist/types/browser_canvas.js +0 -2
  141. package/dist/types/chat.d.ts +0 -99
  142. package/dist/types/chat.d.ts.map +0 -1
  143. package/dist/types/chat.js +0 -20
  144. package/dist/types/consensus.d.ts +0 -10
  145. package/dist/types/consensus.d.ts.map +0 -1
  146. package/dist/types/consensus.js +0 -1
  147. package/dist/types/db/annotations.d.ts +0 -108
  148. package/dist/types/db/annotations.d.ts.map +0 -1
  149. package/dist/types/db/annotations.js +0 -6
  150. package/dist/types/db/files.d.ts +0 -133
  151. package/dist/types/db/files.d.ts.map +0 -1
  152. package/dist/types/db/files.js +0 -5
  153. package/dist/types/documents/extractions.d.ts +0 -1849
  154. package/dist/types/documents/extractions.d.ts.map +0 -1
  155. package/dist/types/documents/extractions.js +0 -211
  156. package/dist/types/documents/processing.d.ts +0 -249
  157. package/dist/types/documents/processing.d.ts.map +0 -1
  158. package/dist/types/documents/processing.js +0 -6
  159. package/dist/types/evaluations/iterations.d.ts +0 -41
  160. package/dist/types/evaluations/iterations.d.ts.map +0 -1
  161. package/dist/types/evaluations/iterations.js +0 -1
  162. package/dist/types/jobs/base.d.ts +0 -162
  163. package/dist/types/jobs/base.d.ts.map +0 -1
  164. package/dist/types/jobs/base.js +0 -6
  165. package/dist/types/jobs/specialized.d.ts +0 -200
  166. package/dist/types/jobs/specialized.d.ts.map +0 -1
  167. package/dist/types/jobs/specialized.js +0 -37
  168. package/dist/types/logs.d.ts +0 -92
  169. package/dist/types/logs.d.ts.map +0 -1
  170. package/dist/types/logs.js +0 -1
  171. package/dist/types/mime.d.ts +0 -426
  172. package/dist/types/mime.d.ts.map +0 -1
  173. package/dist/types/mime.js +0 -48
  174. package/dist/types/modalities.d.ts +0 -31
  175. package/dist/types/modalities.d.ts.map +0 -1
  176. package/dist/types/modalities.js +0 -109
  177. package/dist/types/pagination.d.ts +0 -5
  178. package/dist/types/pagination.d.ts.map +0 -1
  179. package/dist/types/pagination.js +0 -1
  180. package/dist/types/schemas/enhancement.d.ts +0 -250
  181. package/dist/types/schemas/enhancement.d.ts.map +0 -1
  182. package/dist/types/schemas/enhancement.js +0 -6
  183. package/dist/types/schemas/generate.d.ts +0 -160
  184. package/dist/types/schemas/generate.d.ts.map +0 -1
  185. package/dist/types/schemas/generate.js +0 -19
  186. package/dist/types/schemas/object.d.ts +0 -116
  187. package/dist/types/schemas/object.d.ts.map +0 -1
  188. package/dist/types/schemas/object.js +0 -861
  189. package/dist/types/secrets/external_api_keys.d.ts +0 -27
  190. package/dist/types/secrets/external_api_keys.d.ts.map +0 -1
  191. package/dist/types/secrets/external_api_keys.js +0 -11
  192. package/dist/types/secrets/index.d.ts +0 -2
  193. package/dist/types/secrets/index.d.ts.map +0 -1
  194. package/dist/types/secrets/index.js +0 -1
  195. package/dist/types/standards.d.ts +0 -37
  196. package/dist/types/standards.d.ts.map +0 -1
  197. package/dist/types/standards.js +0 -1
  198. package/dist/utils/ai_models.d.ts +0 -10
  199. package/dist/utils/ai_models.d.ts.map +0 -1
  200. package/dist/utils/ai_models.js +0 -183
  201. package/dist/utils/batch_processing.d.ts +0 -227
  202. package/dist/utils/batch_processing.d.ts.map +0 -1
  203. package/dist/utils/batch_processing.js +0 -268
  204. package/dist/utils/benchmarking.d.ts +0 -115
  205. package/dist/utils/benchmarking.d.ts.map +0 -1
  206. package/dist/utils/benchmarking.js +0 -355
  207. package/dist/utils/chat.d.ts +0 -70
  208. package/dist/utils/chat.d.ts.map +0 -1
  209. package/dist/utils/chat.js +0 -79
  210. package/dist/utils/cost_calculation.d.ts +0 -26
  211. package/dist/utils/cost_calculation.d.ts.map +0 -1
  212. package/dist/utils/cost_calculation.js +0 -99
  213. package/dist/utils/datasets.d.ts +0 -135
  214. package/dist/utils/datasets.d.ts.map +0 -1
  215. package/dist/utils/datasets.js +0 -359
  216. package/dist/utils/display.d.ts +0 -108
  217. package/dist/utils/display.d.ts.map +0 -1
  218. package/dist/utils/display.js +0 -244
  219. package/dist/utils/hash.d.ts +0 -18
  220. package/dist/utils/hash.d.ts.map +0 -1
  221. package/dist/utils/hash.js +0 -31
  222. package/dist/utils/hashing.d.ts +0 -18
  223. package/dist/utils/hashing.d.ts.map +0 -1
  224. package/dist/utils/hashing.js +0 -28
  225. package/dist/utils/index.d.ts +0 -8
  226. package/dist/utils/index.d.ts.map +0 -1
  227. package/dist/utils/index.js +0 -10
  228. package/dist/utils/json_schema.d.ts +0 -18
  229. package/dist/utils/json_schema.d.ts.map +0 -1
  230. package/dist/utils/json_schema.js +0 -334
  231. package/dist/utils/json_schema_utils.d.ts +0 -42
  232. package/dist/utils/json_schema_utils.d.ts.map +0 -1
  233. package/dist/utils/json_schema_utils.js +0 -212
  234. package/dist/utils/jsonl.d.ts +0 -60
  235. package/dist/utils/jsonl.d.ts.map +0 -1
  236. package/dist/utils/jsonl.js +0 -259
  237. package/dist/utils/mime.d.ts +0 -6
  238. package/dist/utils/mime.d.ts.map +0 -1
  239. package/dist/utils/mime.js +0 -129
  240. package/dist/utils/model_cards.d.ts +0 -219
  241. package/dist/utils/model_cards.d.ts.map +0 -1
  242. package/dist/utils/model_cards.js +0 -462
  243. package/dist/utils/prompt_optimization.d.ts +0 -96
  244. package/dist/utils/prompt_optimization.d.ts.map +0 -1
  245. package/dist/utils/prompt_optimization.js +0 -275
  246. package/dist/utils/responses.d.ts +0 -35
  247. package/dist/utils/responses.d.ts.map +0 -1
  248. package/dist/utils/responses.js +0 -37
  249. package/dist/utils/stream.d.ts +0 -13
  250. package/dist/utils/stream.d.ts.map +0 -1
  251. package/dist/utils/stream.js +0 -64
  252. package/dist/utils/stream_context_managers.d.ts +0 -147
  253. package/dist/utils/stream_context_managers.d.ts.map +0 -1
  254. package/dist/utils/stream_context_managers.js +0 -380
  255. package/dist/utils/usage.d.ts +0 -57
  256. package/dist/utils/usage.d.ts.map +0 -1
  257. package/dist/utils/usage.js +0 -97
  258. package/dist/utils/webhook_secrets.d.ts +0 -59
  259. package/dist/utils/webhook_secrets.d.ts.map +0 -1
  260. package/dist/utils/webhook_secrets.js +0 -107
  261. package/dist/utils/zod_to_json_schema.d.ts +0 -11
  262. package/dist/utils/zod_to_json_schema.d.ts.map +0 -1
  263. package/dist/utils/zod_to_json_schema.js +0 -123
@@ -1,462 +0,0 @@
1
- /**
2
- * Model cards and AI provider configuration management
3
- * Equivalent to Python's utils/_model_cards/ directory
4
- */
5
- // Built-in model cards
6
- export const modelCards = {
7
- 'gpt-4o': {
8
- id: 'gpt-4o',
9
- name: 'GPT-4o',
10
- provider: 'openai',
11
- model_family: 'gpt-4',
12
- version: '2024-08-06',
13
- description: 'Most advanced multimodal model with vision capabilities',
14
- capabilities: {
15
- text_generation: true,
16
- text_analysis: true,
17
- document_extraction: true,
18
- image_understanding: true,
19
- function_calling: true,
20
- json_mode: true,
21
- streaming: true,
22
- batch_processing: true,
23
- fine_tuning: false,
24
- embedding_generation: false,
25
- reasoning: true,
26
- code_generation: true,
27
- multilingual: true,
28
- supported_languages: ['en', 'es', 'fr', 'de', 'it', 'pt', 'ru', 'ja', 'ko', 'zh'],
29
- max_context_window: 128000,
30
- max_output_tokens: 16384,
31
- },
32
- limitations: {
33
- rate_limits: {
34
- requests_per_minute: 10000,
35
- tokens_per_minute: 2000000,
36
- },
37
- content_restrictions: ['NSFW content', 'Illegal activities', 'Personal data'],
38
- knowledge_cutoff_date: new Date('2024-04-01'),
39
- },
40
- pricing: {
41
- input_tokens_per_1k: 0.0025,
42
- output_tokens_per_1k: 0.01,
43
- image_tokens_per_1k: 0.001275,
44
- currency: 'USD',
45
- billing_unit: 'token',
46
- },
47
- performance_benchmarks: {
48
- accuracy_scores: {
49
- general_text: 0.95,
50
- document_extraction: 0.92,
51
- reasoning: 0.94,
52
- code_generation: 0.91,
53
- multilingual: 0.89,
54
- },
55
- speed_metrics: {
56
- average_latency_ms: 1200,
57
- tokens_per_second: 45,
58
- throughput_requests_per_minute: 8500,
59
- },
60
- reliability_metrics: {
61
- uptime_percentage: 99.9,
62
- error_rate_percentage: 0.1,
63
- consistency_score: 0.93,
64
- },
65
- cost_efficiency: {
66
- cost_per_accurate_response: 0.015,
67
- cost_performance_ratio: 6.3,
68
- },
69
- },
70
- technical_specs: {
71
- architecture: 'Transformer',
72
- inference_hardware: ['GPU'],
73
- optimization_techniques: ['Mixed precision', 'Model parallelism'],
74
- supported_formats: {
75
- input: ['text', 'image'],
76
- output: ['text', 'json'],
77
- },
78
- api_compatibility: {
79
- openai_compatible: true,
80
- custom_endpoints: false,
81
- webhook_support: false,
82
- },
83
- },
84
- usage_guidelines: {
85
- recommended_use_cases: [
86
- 'Complex document extraction',
87
- 'Multimodal analysis',
88
- 'Advanced reasoning tasks',
89
- 'Code generation',
90
- ],
91
- not_recommended_for: [
92
- 'Simple text classification',
93
- 'High-frequency API calls',
94
- 'Cost-sensitive applications',
95
- ],
96
- best_practices: [
97
- 'Use clear, specific prompts',
98
- 'Leverage function calling for structured output',
99
- 'Optimize context window usage',
100
- ],
101
- prompt_engineering_tips: [
102
- 'Be explicit about output format',
103
- 'Provide examples for complex tasks',
104
- 'Use system messages for role definition',
105
- ],
106
- parameter_recommendations: {
107
- temperature: {
108
- creative_tasks: 0.7,
109
- analytical_tasks: 0.1,
110
- extraction_tasks: 0.0,
111
- },
112
- },
113
- context_window_optimization: [
114
- 'Place important information early',
115
- 'Use concise prompts',
116
- 'Chunk large documents',
117
- ],
118
- },
119
- supported_features: [
120
- 'vision',
121
- 'function_calling',
122
- 'json_mode',
123
- 'streaming',
124
- 'batch',
125
- ],
126
- deprecated: false,
127
- created_at: new Date('2024-05-13'),
128
- updated_at: new Date('2024-08-06'),
129
- },
130
- 'gpt-4o-mini': {
131
- id: 'gpt-4o-mini',
132
- name: 'GPT-4o Mini',
133
- provider: 'openai',
134
- model_family: 'gpt-4',
135
- version: '2024-07-18',
136
- description: 'Fast and cost-effective model for simple tasks',
137
- capabilities: {
138
- text_generation: true,
139
- text_analysis: true,
140
- document_extraction: true,
141
- image_understanding: true,
142
- function_calling: true,
143
- json_mode: true,
144
- streaming: true,
145
- batch_processing: true,
146
- fine_tuning: true,
147
- embedding_generation: false,
148
- reasoning: true,
149
- code_generation: true,
150
- multilingual: true,
151
- max_context_window: 128000,
152
- max_output_tokens: 16384,
153
- },
154
- limitations: {
155
- rate_limits: {
156
- requests_per_minute: 30000,
157
- tokens_per_minute: 5000000,
158
- },
159
- content_restrictions: ['NSFW content', 'Illegal activities'],
160
- knowledge_cutoff_date: new Date('2024-04-01'),
161
- },
162
- pricing: {
163
- input_tokens_per_1k: 0.00015,
164
- output_tokens_per_1k: 0.0006,
165
- image_tokens_per_1k: 0.001275,
166
- fine_tuning_training_per_1k: 0.003,
167
- fine_tuning_usage_per_1k: 0.0012,
168
- currency: 'USD',
169
- billing_unit: 'token',
170
- },
171
- performance_benchmarks: {
172
- accuracy_scores: {
173
- general_text: 0.87,
174
- document_extraction: 0.84,
175
- reasoning: 0.85,
176
- code_generation: 0.83,
177
- multilingual: 0.81,
178
- },
179
- speed_metrics: {
180
- average_latency_ms: 800,
181
- tokens_per_second: 65,
182
- throughput_requests_per_minute: 25000,
183
- },
184
- reliability_metrics: {
185
- uptime_percentage: 99.95,
186
- error_rate_percentage: 0.05,
187
- consistency_score: 0.89,
188
- },
189
- cost_efficiency: {
190
- cost_per_accurate_response: 0.003,
191
- cost_performance_ratio: 28.7,
192
- },
193
- },
194
- technical_specs: {
195
- architecture: 'Transformer',
196
- inference_hardware: ['GPU'],
197
- optimization_techniques: ['Quantization', 'Pruning'],
198
- supported_formats: {
199
- input: ['text', 'image'],
200
- output: ['text', 'json'],
201
- },
202
- api_compatibility: {
203
- openai_compatible: true,
204
- custom_endpoints: false,
205
- webhook_support: false,
206
- },
207
- },
208
- usage_guidelines: {
209
- recommended_use_cases: [
210
- 'Document extraction',
211
- 'Text classification',
212
- 'Simple reasoning',
213
- 'Batch processing',
214
- ],
215
- not_recommended_for: [
216
- 'Complex creative writing',
217
- 'Advanced mathematical reasoning',
218
- 'Highly specialized domains',
219
- ],
220
- best_practices: [
221
- 'Use for cost-sensitive applications',
222
- 'Ideal for fine-tuning',
223
- 'Good for high-volume processing',
224
- ],
225
- prompt_engineering_tips: [
226
- 'Keep prompts concise',
227
- 'Use examples for better performance',
228
- 'Be specific about requirements',
229
- ],
230
- parameter_recommendations: {
231
- temperature: {
232
- creative_tasks: 0.5,
233
- analytical_tasks: 0.0,
234
- extraction_tasks: 0.0,
235
- },
236
- },
237
- context_window_optimization: [
238
- 'Use efficient prompt design',
239
- 'Minimize unnecessary context',
240
- 'Leverage fine-tuning for domain-specific tasks',
241
- ],
242
- },
243
- supported_features: [
244
- 'vision',
245
- 'function_calling',
246
- 'json_mode',
247
- 'streaming',
248
- 'batch',
249
- 'fine_tuning',
250
- ],
251
- deprecated: false,
252
- created_at: new Date('2024-07-18'),
253
- updated_at: new Date('2024-07-18'),
254
- },
255
- };
256
- export const providerConfigs = {
257
- openai: {
258
- provider_id: 'openai',
259
- provider_name: 'OpenAI',
260
- api_base_url: 'https://api.openai.com/v1',
261
- authentication: {
262
- type: 'api_key',
263
- header_name: 'Authorization',
264
- header_prefix: 'Bearer',
265
- },
266
- rate_limiting: {
267
- default_rpm: 10000,
268
- default_tpm: 2000000,
269
- burst_allowance: 100,
270
- backoff_strategy: 'exponential',
271
- },
272
- request_format: {
273
- content_type: 'application/json',
274
- encoding: 'utf-8',
275
- supports_streaming: true,
276
- supports_batch: true,
277
- },
278
- response_format: {
279
- content_type: 'application/json',
280
- error_format: 'openai',
281
- streaming_format: 'text/event-stream',
282
- },
283
- supported_models: ['gpt-4o', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-3.5-turbo'],
284
- default_parameters: {
285
- temperature: 0.0,
286
- max_tokens: 4096,
287
- },
288
- health_check: {
289
- endpoint: '/models',
290
- method: 'GET',
291
- expected_status: 200,
292
- timeout_ms: 5000,
293
- },
294
- },
295
- anthropic: {
296
- provider_id: 'anthropic',
297
- provider_name: 'Anthropic',
298
- api_base_url: 'https://api.anthropic.com',
299
- authentication: {
300
- type: 'api_key',
301
- header_name: 'x-api-key',
302
- },
303
- rate_limiting: {
304
- default_rpm: 4000,
305
- default_tpm: 400000,
306
- burst_allowance: 50,
307
- backoff_strategy: 'exponential',
308
- },
309
- request_format: {
310
- content_type: 'application/json',
311
- encoding: 'utf-8',
312
- supports_streaming: true,
313
- supports_batch: false,
314
- },
315
- response_format: {
316
- content_type: 'application/json',
317
- error_format: 'anthropic',
318
- streaming_format: 'text/event-stream',
319
- },
320
- supported_models: ['claude-3-5-sonnet-20241022', 'claude-3-haiku-20240307'],
321
- default_parameters: {
322
- temperature: 0.0,
323
- max_tokens: 4096,
324
- },
325
- health_check: {
326
- endpoint: '/v1/messages',
327
- method: 'POST',
328
- expected_status: 400, // Expects validation error without proper request
329
- timeout_ms: 5000,
330
- },
331
- },
332
- };
333
- // Utility functions
334
- export class ModelCardManager {
335
- constructor() {
336
- this.cards = new Map();
337
- this.configs = new Map();
338
- // Load built-in model cards
339
- Object.entries(modelCards).forEach(([id, card]) => {
340
- this.cards.set(id, card);
341
- });
342
- // Load built-in provider configs
343
- Object.entries(providerConfigs).forEach(([id, config]) => {
344
- this.configs.set(id, config);
345
- });
346
- }
347
- static getInstance() {
348
- if (!ModelCardManager.instance) {
349
- ModelCardManager.instance = new ModelCardManager();
350
- }
351
- return ModelCardManager.instance;
352
- }
353
- getModelCard(modelId) {
354
- return this.cards.get(modelId);
355
- }
356
- getProviderConfig(providerId) {
357
- return this.configs.get(providerId);
358
- }
359
- getAllModels() {
360
- return Array.from(this.cards.values());
361
- }
362
- getModelsByProvider(providerId) {
363
- return Array.from(this.cards.values()).filter(card => card.provider === providerId);
364
- }
365
- recommendModel(criteria) {
366
- const models = Array.from(this.cards.values());
367
- const recommendations = [];
368
- for (const model of models) {
369
- let score = 0;
370
- const rationale = [];
371
- // Check basic requirements
372
- if (criteria.context_length_required > model.capabilities.max_context_window)
373
- continue;
374
- if (criteria.output_length_required > model.capabilities.max_output_tokens)
375
- continue;
376
- if (criteria.supports_images && !model.capabilities.image_understanding)
377
- continue;
378
- if (criteria.supports_function_calling && !model.capabilities.function_calling)
379
- continue;
380
- if (criteria.supports_json_mode && !model.capabilities.json_mode)
381
- continue;
382
- // Score based on priorities
383
- const accuracy = model.performance_benchmarks.accuracy_scores.general_text;
384
- const speed = 1 / (model.performance_benchmarks.speed_metrics.average_latency_ms / 1000);
385
- const cost = 1 / model.pricing.input_tokens_per_1k;
386
- switch (criteria.accuracy_priority) {
387
- case 'critical':
388
- score += accuracy * 0.5;
389
- break;
390
- case 'high':
391
- score += accuracy * 0.35;
392
- break;
393
- case 'medium':
394
- score += accuracy * 0.2;
395
- break;
396
- case 'low':
397
- score += accuracy * 0.1;
398
- break;
399
- }
400
- switch (criteria.speed_priority) {
401
- case 'critical':
402
- score += speed * 0.3;
403
- break;
404
- case 'high':
405
- score += speed * 0.2;
406
- break;
407
- case 'medium':
408
- score += speed * 0.15;
409
- break;
410
- case 'low':
411
- score += speed * 0.05;
412
- break;
413
- }
414
- switch (criteria.cost_priority) {
415
- case 'critical':
416
- score += cost * 0.3;
417
- break;
418
- case 'high':
419
- score += cost * 0.2;
420
- break;
421
- case 'medium':
422
- score += cost * 0.15;
423
- break;
424
- case 'low':
425
- score += cost * 0.05;
426
- break;
427
- }
428
- if (score > 0.3) { // Minimum threshold
429
- recommendations.push({
430
- model_id: model.id,
431
- model_name: model.name,
432
- provider: model.provider,
433
- confidence_score: Math.min(score, 1.0),
434
- rationale,
435
- expected_performance: {
436
- accuracy: accuracy,
437
- latency_ms: model.performance_benchmarks.speed_metrics.average_latency_ms,
438
- cost_per_request: model.pricing.input_tokens_per_1k * 0.5, // Rough estimate
439
- },
440
- trade_offs: [],
441
- alternative_models: [],
442
- });
443
- }
444
- }
445
- return recommendations.sort((a, b) => b.confidence_score - a.confidence_score);
446
- }
447
- addModelCard(card) {
448
- this.cards.set(card.id, card);
449
- }
450
- updateModelCard(modelId, updates) {
451
- const existing = this.cards.get(modelId);
452
- if (existing) {
453
- this.cards.set(modelId, { ...existing, ...updates, updated_at: new Date() });
454
- }
455
- }
456
- }
457
- // Export values but not types in default export
458
- export default {
459
- ModelCardManager,
460
- modelCards,
461
- providerConfigs,
462
- };
@@ -1,96 +0,0 @@
1
- /**
2
- * Prompt optimization utilities for improving AI model performance
3
- * Equivalent to Python's prompt_optimization.py
4
- */
5
- export interface PromptOptimizationConfig {
6
- maxTokens?: number;
7
- temperature?: number;
8
- model?: string;
9
- preserveStructure?: boolean;
10
- optimizationGoal?: 'accuracy' | 'speed' | 'cost' | 'balanced';
11
- }
12
- export interface PromptMetrics {
13
- tokenCount: number;
14
- clarity: number;
15
- specificity: number;
16
- complexity: number;
17
- estimatedCost: number;
18
- estimatedLatency: number;
19
- }
20
- export interface OptimizationResult {
21
- originalPrompt: string;
22
- optimizedPrompt: string;
23
- improvements: string[];
24
- metrics: {
25
- before: PromptMetrics;
26
- after: PromptMetrics;
27
- };
28
- confidence: number;
29
- }
30
- /**
31
- * Estimate token count for a prompt (rough approximation)
32
- */
33
- export declare function estimateTokenCount(text: string): number;
34
- /**
35
- * Calculate prompt clarity score based on readability metrics
36
- */
37
- export declare function calculateClarity(prompt: string): number;
38
- /**
39
- * Calculate prompt specificity score
40
- */
41
- export declare function calculateSpecificity(prompt: string): number;
42
- /**
43
- * Calculate prompt complexity score
44
- */
45
- export declare function calculateComplexity(prompt: string): number;
46
- /**
47
- * Estimate cost based on token count and model
48
- */
49
- export declare function estimateCost(tokenCount: number, model?: string): number;
50
- /**
51
- * Estimate latency based on token count and model
52
- */
53
- export declare function estimateLatency(tokenCount: number, model?: string): number;
54
- /**
55
- * Calculate comprehensive prompt metrics
56
- */
57
- export declare function calculateMetrics(prompt: string, model?: string): PromptMetrics;
58
- /**
59
- * Optimize prompt for brevity while maintaining clarity
60
- */
61
- export declare function optimizeForBrevity(prompt: string): string;
62
- /**
63
- * Optimize prompt for clarity and structure
64
- */
65
- export declare function optimizeForClarity(prompt: string): string;
66
- /**
67
- * Optimize prompt for specific AI model characteristics
68
- */
69
- export declare function optimizeForModel(prompt: string, model: string): string;
70
- /**
71
- * Main optimization function
72
- */
73
- export declare function optimizePrompt(prompt: string, config?: PromptOptimizationConfig): OptimizationResult;
74
- /**
75
- * Test prompt variations and return the best one
76
- */
77
- export declare function testPromptVariations(basePrompt: string, variations: string[], testFunction: (prompt: string) => Promise<number>, // Should return a score
78
- config?: PromptOptimizationConfig): Promise<OptimizationResult & {
79
- score: number;
80
- }>;
81
- declare const _default: {
82
- estimateTokenCount: typeof estimateTokenCount;
83
- calculateClarity: typeof calculateClarity;
84
- calculateSpecificity: typeof calculateSpecificity;
85
- calculateComplexity: typeof calculateComplexity;
86
- estimateCost: typeof estimateCost;
87
- estimateLatency: typeof estimateLatency;
88
- calculateMetrics: typeof calculateMetrics;
89
- optimizeForBrevity: typeof optimizeForBrevity;
90
- optimizeForClarity: typeof optimizeForClarity;
91
- optimizeForModel: typeof optimizeForModel;
92
- optimizePrompt: typeof optimizePrompt;
93
- testPromptVariations: typeof testPromptVariations;
94
- };
95
- export default _default;
96
- //# sourceMappingURL=prompt_optimization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt_optimization.d.ts","sourceRoot":"","sources":["../../src/utils/prompt_optimization.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gBAAgB,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,MAAM,EAAE,aAAa,CAAC;QACtB,KAAK,EAAE,aAAa,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAevD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa3D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CActF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,MAAM,CAczF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,MAAsB,GAAG,aAAa,CAW7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAczD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA8BzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA6BtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,wBAA6B,GACpC,kBAAkB,CA6DpB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAAE,EACpB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,wBAAwB;AAC3E,MAAM,GAAE,wBAA6B,GACpC,OAAO,CAAC,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAuCjD;;;;;;;;;;;;;;;AAED,wBAaE"}