@probeo/anymodel 0.2.0 → 0.3.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 (114) hide show
  1. package/README.md +92 -6
  2. package/dist/batch/index.d.ts +4 -0
  3. package/dist/batch/index.d.ts.map +1 -0
  4. package/dist/batch/index.js +3 -0
  5. package/dist/batch/index.js.map +1 -0
  6. package/dist/batch/manager.d.ts +72 -0
  7. package/dist/batch/manager.d.ts.map +1 -0
  8. package/dist/batch/manager.js +328 -0
  9. package/dist/batch/manager.js.map +1 -0
  10. package/dist/batch/store.d.ts +54 -0
  11. package/dist/batch/store.d.ts.map +1 -0
  12. package/dist/batch/store.js +109 -0
  13. package/dist/batch/store.js.map +1 -0
  14. package/dist/cli.cjs +4 -28
  15. package/dist/cli.cjs.map +1 -1
  16. package/dist/cli.d.ts +2 -0
  17. package/dist/cli.d.ts.map +1 -0
  18. package/dist/cli.js +28 -2110
  19. package/dist/cli.js.map +1 -1
  20. package/dist/client.d.ts +42 -0
  21. package/dist/client.d.ts.map +1 -0
  22. package/dist/client.js +181 -0
  23. package/dist/client.js.map +1 -0
  24. package/dist/config.d.ts +6 -0
  25. package/dist/config.d.ts.map +1 -0
  26. package/dist/config.js +120 -0
  27. package/dist/config.js.map +1 -0
  28. package/dist/index.cjs +4 -28
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.ts +14 -548
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +15 -2089
  33. package/dist/index.js.map +1 -1
  34. package/dist/providers/adapter.d.ts +33 -0
  35. package/dist/providers/adapter.d.ts.map +1 -0
  36. package/dist/providers/adapter.js +2 -0
  37. package/dist/providers/adapter.js.map +1 -0
  38. package/dist/providers/anthropic-batch.d.ts +3 -0
  39. package/dist/providers/anthropic-batch.d.ts.map +1 -0
  40. package/dist/providers/anthropic-batch.js +228 -0
  41. package/dist/providers/anthropic-batch.js.map +1 -0
  42. package/dist/providers/anthropic.d.ts +3 -0
  43. package/dist/providers/anthropic.d.ts.map +1 -0
  44. package/dist/providers/anthropic.js +358 -0
  45. package/dist/providers/anthropic.js.map +1 -0
  46. package/dist/providers/custom.d.ts +8 -0
  47. package/dist/providers/custom.d.ts.map +1 -0
  48. package/dist/providers/custom.js +61 -0
  49. package/dist/providers/custom.js.map +1 -0
  50. package/dist/providers/google.d.ts +3 -0
  51. package/dist/providers/google.d.ts.map +1 -0
  52. package/dist/providers/google.js +331 -0
  53. package/dist/providers/google.js.map +1 -0
  54. package/dist/providers/index.d.ts +6 -0
  55. package/dist/providers/index.d.ts.map +1 -0
  56. package/dist/providers/index.js +5 -0
  57. package/dist/providers/index.js.map +1 -0
  58. package/dist/providers/openai-batch.d.ts +3 -0
  59. package/dist/providers/openai-batch.d.ts.map +1 -0
  60. package/dist/providers/openai-batch.js +208 -0
  61. package/dist/providers/openai-batch.js.map +1 -0
  62. package/dist/providers/openai.d.ts +3 -0
  63. package/dist/providers/openai.d.ts.map +1 -0
  64. package/dist/providers/openai.js +221 -0
  65. package/dist/providers/openai.js.map +1 -0
  66. package/dist/providers/registry.d.ts +10 -0
  67. package/dist/providers/registry.d.ts.map +1 -0
  68. package/dist/providers/registry.js +27 -0
  69. package/dist/providers/registry.js.map +1 -0
  70. package/dist/router.d.ts +29 -0
  71. package/dist/router.d.ts.map +1 -0
  72. package/dist/router.js +212 -0
  73. package/dist/router.js.map +1 -0
  74. package/dist/server.d.ts +10 -0
  75. package/dist/server.d.ts.map +1 -0
  76. package/dist/server.js +149 -0
  77. package/dist/server.js.map +1 -0
  78. package/dist/types.d.ts +283 -0
  79. package/dist/types.d.ts.map +1 -0
  80. package/dist/types.js +21 -0
  81. package/dist/types.js.map +1 -0
  82. package/dist/utils/fs-io.d.ts +40 -0
  83. package/dist/utils/fs-io.d.ts.map +1 -0
  84. package/dist/utils/fs-io.js +203 -0
  85. package/dist/utils/fs-io.js.map +1 -0
  86. package/dist/utils/generation-stats.d.ts +25 -0
  87. package/dist/utils/generation-stats.d.ts.map +1 -0
  88. package/dist/utils/generation-stats.js +46 -0
  89. package/dist/utils/generation-stats.js.map +1 -0
  90. package/dist/utils/id.d.ts +2 -0
  91. package/dist/utils/id.d.ts.map +1 -0
  92. package/dist/utils/id.js +6 -0
  93. package/dist/utils/id.js.map +1 -0
  94. package/dist/utils/model-parser.d.ts +6 -0
  95. package/dist/utils/model-parser.d.ts.map +1 -0
  96. package/dist/utils/model-parser.js +21 -0
  97. package/dist/utils/model-parser.js.map +1 -0
  98. package/dist/utils/rate-limiter.d.ts +36 -0
  99. package/dist/utils/rate-limiter.d.ts.map +1 -0
  100. package/dist/utils/rate-limiter.js +80 -0
  101. package/dist/utils/rate-limiter.js.map +1 -0
  102. package/dist/utils/retry.d.ts +7 -0
  103. package/dist/utils/retry.d.ts.map +1 -0
  104. package/dist/utils/retry.js +54 -0
  105. package/dist/utils/retry.js.map +1 -0
  106. package/dist/utils/transforms.d.ts +7 -0
  107. package/dist/utils/transforms.d.ts.map +1 -0
  108. package/dist/utils/transforms.js +66 -0
  109. package/dist/utils/transforms.js.map +1 -0
  110. package/dist/utils/validate.d.ts +3 -0
  111. package/dist/utils/validate.d.ts.map +1 -0
  112. package/dist/utils/validate.js +31 -0
  113. package/dist/utils/validate.js.map +1 -0
  114. package/package.json +4 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AnyModelConfig } from './types.js';
2
+ /**
3
+ * Resolve config with precedence: programmatic → local → global → env vars.
4
+ */
5
+ export declare function resolveConfig(programmatic?: AnyModelConfig, cwd?: string): AnyModelConfig;
6
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkHjD;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,GAAE,cAAmB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAW7F"}
package/dist/config.js ADDED
@@ -0,0 +1,120 @@
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ import { resolve, join } from 'node:path';
3
+ import { homedir } from 'node:os';
4
+ const LOCAL_CONFIG_NAMES = ['anymodel.config.json'];
5
+ const GLOBAL_CONFIG_DIR = join(homedir(), '.anymodel');
6
+ const GLOBAL_CONFIG_FILE = join(GLOBAL_CONFIG_DIR, 'config.json');
7
+ /**
8
+ * Interpolate ${ENV_VAR} references in string values.
9
+ */
10
+ function interpolateEnvVars(value) {
11
+ return value.replace(/\$\{([^}]+)\}/g, (_, name) => process.env[name] || '');
12
+ }
13
+ /**
14
+ * Recursively walk an object and interpolate string values.
15
+ */
16
+ function interpolateDeep(obj) {
17
+ if (typeof obj === 'string')
18
+ return interpolateEnvVars(obj);
19
+ if (Array.isArray(obj))
20
+ return obj.map(interpolateDeep);
21
+ if (obj !== null && typeof obj === 'object') {
22
+ const result = {};
23
+ for (const [key, val] of Object.entries(obj)) {
24
+ result[key] = interpolateDeep(val);
25
+ }
26
+ return result;
27
+ }
28
+ return obj;
29
+ }
30
+ /**
31
+ * Load a JSON config file, returning null if not found.
32
+ */
33
+ function loadJsonFile(path) {
34
+ if (!existsSync(path))
35
+ return null;
36
+ try {
37
+ const raw = readFileSync(path, 'utf-8');
38
+ const parsed = JSON.parse(raw);
39
+ return interpolateDeep(parsed);
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Find local config file in the working directory.
47
+ */
48
+ function findLocalConfig(cwd) {
49
+ const dir = cwd || process.cwd();
50
+ for (const name of LOCAL_CONFIG_NAMES) {
51
+ const config = loadJsonFile(resolve(dir, name));
52
+ if (config)
53
+ return config;
54
+ }
55
+ return null;
56
+ }
57
+ /**
58
+ * Load global config from ~/.anymodel/config.json
59
+ */
60
+ function findGlobalConfig() {
61
+ return loadJsonFile(GLOBAL_CONFIG_FILE);
62
+ }
63
+ /**
64
+ * Deep merge two config objects. Source values override target values.
65
+ * Provider-level objects are merged, not replaced.
66
+ */
67
+ function deepMerge(target, source) {
68
+ const result = { ...target };
69
+ for (const [key, value] of Object.entries(source)) {
70
+ if (value === undefined)
71
+ continue;
72
+ const existing = target[key];
73
+ if (existing !== null && typeof existing === 'object' && !Array.isArray(existing) &&
74
+ value !== null && typeof value === 'object' && !Array.isArray(value)) {
75
+ result[key] = deepMerge(existing, value);
76
+ }
77
+ else {
78
+ result[key] = value;
79
+ }
80
+ }
81
+ return result;
82
+ }
83
+ /**
84
+ * Build config from env vars only (auto-detected API keys).
85
+ */
86
+ function envConfig() {
87
+ const config = {};
88
+ const envMap = [
89
+ ['openai', 'OPENAI_API_KEY'],
90
+ ['anthropic', 'ANTHROPIC_API_KEY'],
91
+ ['google', 'GOOGLE_API_KEY'],
92
+ ['mistral', 'MISTRAL_API_KEY'],
93
+ ['groq', 'GROQ_API_KEY'],
94
+ ['deepseek', 'DEEPSEEK_API_KEY'],
95
+ ['xai', 'XAI_API_KEY'],
96
+ ['together', 'TOGETHER_API_KEY'],
97
+ ['fireworks', 'FIREWORKS_API_KEY'],
98
+ ['perplexity', 'PERPLEXITY_API_KEY'],
99
+ ];
100
+ for (const [key, envVar] of envMap) {
101
+ if (process.env[envVar]) {
102
+ config[key] = { apiKey: process.env[envVar] };
103
+ }
104
+ }
105
+ return config;
106
+ }
107
+ /**
108
+ * Resolve config with precedence: programmatic → local → global → env vars.
109
+ */
110
+ export function resolveConfig(programmatic = {}, cwd) {
111
+ const env = envConfig();
112
+ const global = findGlobalConfig() || {};
113
+ const local = findLocalConfig(cwd) || {};
114
+ // Lowest priority first, each layer overrides the previous
115
+ let config = deepMerge(env, global);
116
+ config = deepMerge(config, local);
117
+ config = deepMerge(config, programmatic);
118
+ return config;
119
+ }
120
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -650,19 +650,7 @@ function createOpenAIAdapter(apiKey, baseURL) {
650
650
  async listModels() {
651
651
  const res = await makeRequest("/models", void 0, "GET");
652
652
  const data = await res.json();
653
- return (data.data || []).filter((m) => {
654
- const id = m.id;
655
- if (id.includes("embedding")) return false;
656
- if (id.includes("whisper")) return false;
657
- if (id.includes("tts")) return false;
658
- if (id.includes("dall-e")) return false;
659
- if (id.includes("davinci")) return false;
660
- if (id.includes("babbage")) return false;
661
- if (id.includes("moderation")) return false;
662
- if (id.includes("realtime")) return false;
663
- if (id.startsWith("ft:")) return false;
664
- return id.startsWith("gpt-") || id.startsWith("o1") || id.startsWith("o3") || id.startsWith("o4") || id.startsWith("chatgpt-");
665
- }).map((m) => ({
653
+ return (data.data || []).filter((m) => m.id.startsWith("gpt-") || m.id.startsWith("o1") || m.id.startsWith("o3") || m.id.startsWith("o4") || m.id.startsWith("chatgpt-")).map((m) => ({
666
654
  id: `openai/${m.id}`,
667
655
  name: m.id,
668
656
  created: m.created,
@@ -729,15 +717,10 @@ var SUPPORTED_PARAMS2 = /* @__PURE__ */ new Set([
729
717
  "response_format"
730
718
  ]);
731
719
  var FALLBACK_MODELS = [
732
- // Claude 4.6
733
- { id: "anthropic/claude-opus-4-6", name: "Claude Opus 4.6", created: 0, description: "Most capable model", context_length: 2e5, pricing: { prompt: "0.000015", completion: "0.000075" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 32768, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) },
720
+ { id: "anthropic/claude-opus-4-6", name: "Claude Opus 4.6", created: 0, description: "Most capable model", context_length: 2e5, pricing: { prompt: "0.000005", completion: "0.000025" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 32768, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) },
734
721
  { id: "anthropic/claude-sonnet-4-6", name: "Claude Sonnet 4.6", created: 0, description: "Best balance of speed and capability", context_length: 2e5, pricing: { prompt: "0.000003", completion: "0.000015" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 16384, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) },
735
- // Claude 4.5
736
722
  { id: "anthropic/claude-sonnet-4-5-20251022", name: "Claude Sonnet 4.5", created: 0, description: "Previous generation balanced model", context_length: 2e5, pricing: { prompt: "0.000003", completion: "0.000015" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 16384, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) },
737
- { id: "anthropic/claude-haiku-4-5", name: "Claude Haiku 4.5", created: 0, description: "Fast and compact", context_length: 2e5, pricing: { prompt: "0.000001", completion: "0.000005" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 8192, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) },
738
- // Claude 3.5
739
- { id: "anthropic/claude-3-5-sonnet-20241022", name: "Claude 3.5 Sonnet", created: 0, description: "Legacy balanced model", context_length: 2e5, pricing: { prompt: "0.000003", completion: "0.000015" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 8192, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) },
740
- { id: "anthropic/claude-3-5-haiku-20241022", name: "Claude 3.5 Haiku", created: 0, description: "Legacy fast model", context_length: 2e5, pricing: { prompt: "0.0000008", completion: "0.000004" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 8192, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) }
723
+ { id: "anthropic/claude-haiku-4-5", name: "Claude Haiku 4.5", created: 0, description: "Fastest and most compact", context_length: 2e5, pricing: { prompt: "0.000001", completion: "0.000005" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image"], output_modalities: ["text"], tokenizer: "claude" }, top_provider: { context_length: 2e5, max_completion_tokens: 8192, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS2) }
741
724
  ];
742
725
  function createAnthropicAdapter(apiKey) {
743
726
  async function makeRequest(path, body, stream = false) {
@@ -1069,15 +1052,8 @@ var SUPPORTED_PARAMS3 = /* @__PURE__ */ new Set([
1069
1052
  "response_format"
1070
1053
  ]);
1071
1054
  var FALLBACK_MODELS2 = [
1072
- // Gemini 2.5
1073
1055
  { id: "google/gemini-2.5-pro", name: "Gemini 2.5 Pro", created: 0, description: "Most capable Gemini model", context_length: 1048576, pricing: { prompt: "0.00000125", completion: "0.000005" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 1048576, max_completion_tokens: 65536, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) },
1074
- { id: "google/gemini-2.5-flash", name: "Gemini 2.5 Flash", created: 0, description: "Fast and efficient", context_length: 1048576, pricing: { prompt: "0.00000015", completion: "0.0000006" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 1048576, max_completion_tokens: 65536, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) },
1075
- // Gemini 2.0
1076
- { id: "google/gemini-2.0-flash", name: "Gemini 2.0 Flash", created: 0, description: "Fast multimodal model", context_length: 1048576, pricing: { prompt: "0.0000001", completion: "0.0000004" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 1048576, max_completion_tokens: 65536, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) },
1077
- { id: "google/gemini-2.0-flash-lite", name: "Gemini 2.0 Flash Lite", created: 0, description: "Lightweight and fast", context_length: 1048576, pricing: { prompt: "0.00000005", completion: "0.0000002" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 1048576, max_completion_tokens: 65536, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) },
1078
- // Gemini 1.5
1079
- { id: "google/gemini-1.5-pro", name: "Gemini 1.5 Pro", created: 0, description: "Previous generation pro model", context_length: 2097152, pricing: { prompt: "0.00000125", completion: "0.000005" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 2097152, max_completion_tokens: 8192, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) },
1080
- { id: "google/gemini-1.5-flash", name: "Gemini 1.5 Flash", created: 0, description: "Previous generation flash model", context_length: 1048576, pricing: { prompt: "0.000000075", completion: "0.0000003" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 1048576, max_completion_tokens: 8192, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) }
1056
+ { id: "google/gemini-2.5-flash", name: "Gemini 2.5 Flash", created: 0, description: "Fast and efficient", context_length: 1048576, pricing: { prompt: "0.00000015", completion: "0.0000006" }, architecture: { modality: "text+image->text", input_modalities: ["text", "image", "video", "audio"], output_modalities: ["text"], tokenizer: "gemini" }, top_provider: { context_length: 1048576, max_completion_tokens: 65536, is_moderated: false }, supported_parameters: Array.from(SUPPORTED_PARAMS3) }
1081
1057
  ];
1082
1058
  function createGoogleAdapter(apiKey) {
1083
1059
  function getModelEndpoint(model, stream) {