@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.
- package/README.md +92 -6
- package/dist/batch/index.d.ts +4 -0
- package/dist/batch/index.d.ts.map +1 -0
- package/dist/batch/index.js +3 -0
- package/dist/batch/index.js.map +1 -0
- package/dist/batch/manager.d.ts +72 -0
- package/dist/batch/manager.d.ts.map +1 -0
- package/dist/batch/manager.js +328 -0
- package/dist/batch/manager.js.map +1 -0
- package/dist/batch/store.d.ts +54 -0
- package/dist/batch/store.d.ts.map +1 -0
- package/dist/batch/store.js +109 -0
- package/dist/batch/store.js.map +1 -0
- package/dist/cli.cjs +4 -28
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +28 -2110
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +42 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +181 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +120 -0
- package/dist/config.js.map +1 -0
- package/dist/index.cjs +4 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +14 -548
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -2089
- package/dist/index.js.map +1 -1
- package/dist/providers/adapter.d.ts +33 -0
- package/dist/providers/adapter.d.ts.map +1 -0
- package/dist/providers/adapter.js +2 -0
- package/dist/providers/adapter.js.map +1 -0
- package/dist/providers/anthropic-batch.d.ts +3 -0
- package/dist/providers/anthropic-batch.d.ts.map +1 -0
- package/dist/providers/anthropic-batch.js +228 -0
- package/dist/providers/anthropic-batch.js.map +1 -0
- package/dist/providers/anthropic.d.ts +3 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +358 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/custom.d.ts +8 -0
- package/dist/providers/custom.d.ts.map +1 -0
- package/dist/providers/custom.js +61 -0
- package/dist/providers/custom.js.map +1 -0
- package/dist/providers/google.d.ts +3 -0
- package/dist/providers/google.d.ts.map +1 -0
- package/dist/providers/google.js +331 -0
- package/dist/providers/google.js.map +1 -0
- package/dist/providers/index.d.ts +6 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +5 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/openai-batch.d.ts +3 -0
- package/dist/providers/openai-batch.d.ts.map +1 -0
- package/dist/providers/openai-batch.js +208 -0
- package/dist/providers/openai-batch.js.map +1 -0
- package/dist/providers/openai.d.ts +3 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +221 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/registry.d.ts +10 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +27 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/router.d.ts +29 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +212 -0
- package/dist/router.js.map +1 -0
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +149 -0
- package/dist/server.js.map +1 -0
- package/dist/types.d.ts +283 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/fs-io.d.ts +40 -0
- package/dist/utils/fs-io.d.ts.map +1 -0
- package/dist/utils/fs-io.js +203 -0
- package/dist/utils/fs-io.js.map +1 -0
- package/dist/utils/generation-stats.d.ts +25 -0
- package/dist/utils/generation-stats.d.ts.map +1 -0
- package/dist/utils/generation-stats.js +46 -0
- package/dist/utils/generation-stats.js.map +1 -0
- package/dist/utils/id.d.ts +2 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +6 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/model-parser.d.ts +6 -0
- package/dist/utils/model-parser.d.ts.map +1 -0
- package/dist/utils/model-parser.js +21 -0
- package/dist/utils/model-parser.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +36 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +80 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/retry.d.ts +7 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +54 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/transforms.d.ts +7 -0
- package/dist/utils/transforms.d.ts.map +1 -0
- package/dist/utils/transforms.js +66 -0
- package/dist/utils/transforms.js.map +1 -0
- package/dist/utils/validate.d.ts +3 -0
- package/dist/utils/validate.d.ts.map +1 -0
- package/dist/utils/validate.js +31 -0
- package/dist/utils/validate.js.map +1 -0
- package/package.json +4 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { ensureDir, readFileQueued, readJsonQueued, readDirQueued, writeFileQueued, writeFileFlushedQueued, appendFileQueued, pathExistsQueued, fileExistsQueued, joinPath, resolvePath, } from '../utils/fs-io.js';
|
|
2
|
+
const DEFAULT_BATCH_DIR = joinPath(process.cwd(), '.anymodel', 'batches');
|
|
3
|
+
/**
|
|
4
|
+
* Disk-based batch persistence store.
|
|
5
|
+
* Uses queued, concurrency-limited IO for high-volume operations.
|
|
6
|
+
* Structure: {dir}/{batchId}/meta.json, requests.jsonl, results.jsonl, provider.json
|
|
7
|
+
*/
|
|
8
|
+
export class BatchStore {
|
|
9
|
+
dir;
|
|
10
|
+
initialized = false;
|
|
11
|
+
constructor(dir) {
|
|
12
|
+
this.dir = resolvePath(dir || DEFAULT_BATCH_DIR);
|
|
13
|
+
}
|
|
14
|
+
async init() {
|
|
15
|
+
if (this.initialized)
|
|
16
|
+
return;
|
|
17
|
+
await ensureDir(this.dir);
|
|
18
|
+
this.initialized = true;
|
|
19
|
+
}
|
|
20
|
+
batchDir(id) {
|
|
21
|
+
return joinPath(this.dir, id);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create a new batch directory and save initial metadata.
|
|
25
|
+
*/
|
|
26
|
+
async create(batch) {
|
|
27
|
+
await this.init();
|
|
28
|
+
const dir = this.batchDir(batch.id);
|
|
29
|
+
await ensureDir(dir);
|
|
30
|
+
await writeFileFlushedQueued(joinPath(dir, 'meta.json'), JSON.stringify(batch, null, 2));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Update batch metadata (atomic write).
|
|
34
|
+
*/
|
|
35
|
+
async updateMeta(batch) {
|
|
36
|
+
await writeFileFlushedQueued(joinPath(this.batchDir(batch.id), 'meta.json'), JSON.stringify(batch, null, 2));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Save requests as JSONL.
|
|
40
|
+
*/
|
|
41
|
+
async saveRequests(id, requests) {
|
|
42
|
+
const lines = requests.map(r => JSON.stringify(r)).join('\n') + '\n';
|
|
43
|
+
await writeFileQueued(joinPath(this.batchDir(id), 'requests.jsonl'), lines);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Append a result to results.jsonl.
|
|
47
|
+
*/
|
|
48
|
+
async appendResult(id, result) {
|
|
49
|
+
await appendFileQueued(joinPath(this.batchDir(id), 'results.jsonl'), JSON.stringify(result) + '\n');
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Save provider-specific state (e.g., provider batch ID).
|
|
53
|
+
*/
|
|
54
|
+
async saveProviderState(id, state) {
|
|
55
|
+
await writeFileFlushedQueued(joinPath(this.batchDir(id), 'provider.json'), JSON.stringify(state, null, 2));
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Load provider state.
|
|
59
|
+
*/
|
|
60
|
+
async loadProviderState(id) {
|
|
61
|
+
const p = joinPath(this.batchDir(id), 'provider.json');
|
|
62
|
+
if (!(await fileExistsQueued(p)))
|
|
63
|
+
return null;
|
|
64
|
+
return readJsonQueued(p);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get batch metadata.
|
|
68
|
+
*/
|
|
69
|
+
async getMeta(id) {
|
|
70
|
+
const p = joinPath(this.batchDir(id), 'meta.json');
|
|
71
|
+
if (!(await fileExistsQueued(p)))
|
|
72
|
+
return null;
|
|
73
|
+
return readJsonQueued(p);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get all results for a batch.
|
|
77
|
+
*/
|
|
78
|
+
async getResults(id) {
|
|
79
|
+
const p = joinPath(this.batchDir(id), 'results.jsonl');
|
|
80
|
+
if (!(await fileExistsQueued(p)))
|
|
81
|
+
return [];
|
|
82
|
+
const raw = (await readFileQueued(p, 'utf8'));
|
|
83
|
+
return raw
|
|
84
|
+
.trim()
|
|
85
|
+
.split('\n')
|
|
86
|
+
.filter(Boolean)
|
|
87
|
+
.map(line => JSON.parse(line));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* List all batch IDs.
|
|
91
|
+
*/
|
|
92
|
+
async listBatches() {
|
|
93
|
+
await this.init();
|
|
94
|
+
if (!(await pathExistsQueued(this.dir)))
|
|
95
|
+
return [];
|
|
96
|
+
const entries = await readDirQueued(this.dir);
|
|
97
|
+
return entries
|
|
98
|
+
.filter(d => d.isDirectory())
|
|
99
|
+
.map(d => d.name)
|
|
100
|
+
.sort();
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Check if a batch exists.
|
|
104
|
+
*/
|
|
105
|
+
async exists(id) {
|
|
106
|
+
return fileExistsQueued(joinPath(this.batchDir(id), 'meta.json'));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/batch/store.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.cjs
CHANGED
|
@@ -623,19 +623,7 @@ function createOpenAIAdapter(apiKey, baseURL) {
|
|
|
623
623
|
async listModels() {
|
|
624
624
|
const res = await makeRequest("/models", void 0, "GET");
|
|
625
625
|
const data = await res.json();
|
|
626
|
-
return (data.data || []).filter((m) => {
|
|
627
|
-
const id = m.id;
|
|
628
|
-
if (id.includes("embedding")) return false;
|
|
629
|
-
if (id.includes("whisper")) return false;
|
|
630
|
-
if (id.includes("tts")) return false;
|
|
631
|
-
if (id.includes("dall-e")) return false;
|
|
632
|
-
if (id.includes("davinci")) return false;
|
|
633
|
-
if (id.includes("babbage")) return false;
|
|
634
|
-
if (id.includes("moderation")) return false;
|
|
635
|
-
if (id.includes("realtime")) return false;
|
|
636
|
-
if (id.startsWith("ft:")) return false;
|
|
637
|
-
return id.startsWith("gpt-") || id.startsWith("o1") || id.startsWith("o3") || id.startsWith("o4") || id.startsWith("chatgpt-");
|
|
638
|
-
}).map((m) => ({
|
|
626
|
+
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) => ({
|
|
639
627
|
id: `openai/${m.id}`,
|
|
640
628
|
name: m.id,
|
|
641
629
|
created: m.created,
|
|
@@ -702,15 +690,10 @@ var SUPPORTED_PARAMS2 = /* @__PURE__ */ new Set([
|
|
|
702
690
|
"response_format"
|
|
703
691
|
]);
|
|
704
692
|
var FALLBACK_MODELS = [
|
|
705
|
-
|
|
706
|
-
{ 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) },
|
|
693
|
+
{ 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) },
|
|
707
694
|
{ 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) },
|
|
708
|
-
// Claude 4.5
|
|
709
695
|
{ 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) },
|
|
710
|
-
{ id: "anthropic/claude-haiku-4-5", name: "Claude Haiku 4.5", created: 0, description: "
|
|
711
|
-
// Claude 3.5
|
|
712
|
-
{ 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) },
|
|
713
|
-
{ 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) }
|
|
696
|
+
{ 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) }
|
|
714
697
|
];
|
|
715
698
|
function createAnthropicAdapter(apiKey) {
|
|
716
699
|
async function makeRequest(path, body, stream = false) {
|
|
@@ -1042,15 +1025,8 @@ var SUPPORTED_PARAMS3 = /* @__PURE__ */ new Set([
|
|
|
1042
1025
|
"response_format"
|
|
1043
1026
|
]);
|
|
1044
1027
|
var FALLBACK_MODELS2 = [
|
|
1045
|
-
// Gemini 2.5
|
|
1046
1028
|
{ 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) },
|
|
1047
|
-
{ 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) }
|
|
1048
|
-
// Gemini 2.0
|
|
1049
|
-
{ 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) },
|
|
1050
|
-
{ 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) },
|
|
1051
|
-
// Gemini 1.5
|
|
1052
|
-
{ 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) },
|
|
1053
|
-
{ 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) }
|
|
1029
|
+
{ 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) }
|
|
1054
1030
|
];
|
|
1055
1031
|
function createGoogleAdapter(apiKey) {
|
|
1056
1032
|
function getModelEndpoint(model, stream) {
|