@mariozechner/pi-ai 0.30.0 → 0.30.2
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/dist/models.d.ts +5 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/models.generated.d.ts +8 -8
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +46 -46
- package/dist/models.generated.js.map +1 -1
- package/dist/models.js +9 -0
- package/dist/models.js.map +1 -1
- package/package.json +1 -1
package/dist/models.d.ts
CHANGED
|
@@ -12,5 +12,10 @@ export declare function calculateCost<TApi extends Api>(model: Model<TApi>, usag
|
|
|
12
12
|
* Currently only certain OpenAI models support this.
|
|
13
13
|
*/
|
|
14
14
|
export declare function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Check if two models are equal by comparing both their id and provider.
|
|
17
|
+
* Returns false if either model is null or undefined.
|
|
18
|
+
*/
|
|
19
|
+
export declare function modelsAreEqual<TApi extends Api>(a: Model<TApi> | null | undefined, b: Model<TApi> | null | undefined): boolean;
|
|
15
20
|
export {};
|
|
16
21
|
//# sourceMappingURL=models.d.ts.map
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAanE,KAAK,QAAQ,CACZ,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAC9C,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEjH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EAC1G,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAEtC;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,aAAa,EACxD,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAO/F;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAE3E","sourcesContent":["import { MODELS } from \"./models.generated.js\";\nimport type { Api, KnownProvider, Model, Usage } from \"./types.js\";\n\nconst modelRegistry: Map<string, Map<string, Model<Api>>> = new Map();\n\n// Initialize registry from MODELS on module load\nfor (const [provider, models] of Object.entries(MODELS)) {\n\tconst providerModels = new Map<string, Model<Api>>();\n\tfor (const [id, model] of Object.entries(models)) {\n\t\tproviderModels.set(id, model as Model<Api>);\n\t}\n\tmodelRegistry.set(provider, providerModels);\n}\n\ntype ModelApi<\n\tTProvider extends KnownProvider,\n\tTModelId extends keyof (typeof MODELS)[TProvider],\n> = (typeof MODELS)[TProvider][TModelId] extends { api: infer TApi } ? (TApi extends Api ? TApi : never) : never;\n\nexport function getModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<ModelApi<TProvider, TModelId>> {\n\treturn modelRegistry.get(provider)?.get(modelId as string) as Model<ModelApi<TProvider, TModelId>>;\n}\n\nexport function getProviders(): KnownProvider[] {\n\treturn Array.from(modelRegistry.keys()) as KnownProvider[];\n}\n\nexport function getModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = modelRegistry.get(provider);\n\treturn models ? (Array.from(models.values()) as Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[]) : [];\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tusage.cost.input = (model.cost.input / 1000000) * usage.input;\n\tusage.cost.output = (model.cost.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (model.cost.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (model.cost.cacheWrite / 1000000) * usage.cacheWrite;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\n/** Models that support xhigh thinking level */\nconst XHIGH_MODELS = new Set([\"gpt-5.1-codex-max\", \"gpt-5.2\", \"gpt-5.2-codex\"]);\n\n/**\n * Check if a model supports xhigh thinking level.\n * Currently only certain OpenAI models support this.\n */\nexport function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean {\n\treturn XHIGH_MODELS.has(model.id);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAanE,KAAK,QAAQ,CACZ,SAAS,SAAS,aAAa,EAC/B,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,IAC9C,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEjH,wBAAgB,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,QAAQ,SAAS,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,EAC1G,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACf,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAEtC;AAED,wBAAgB,YAAY,IAAI,aAAa,EAAE,CAE9C;AAED,wBAAgB,SAAS,CAAC,SAAS,SAAS,aAAa,EACxD,QAAQ,EAAE,SAAS,GACjB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAGhE;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAO/F;AAKD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAE3E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,SAAS,GAAG,EAC9C,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,EACjC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAC/B,OAAO,CAGT","sourcesContent":["import { MODELS } from \"./models.generated.js\";\nimport type { Api, KnownProvider, Model, Usage } from \"./types.js\";\n\nconst modelRegistry: Map<string, Map<string, Model<Api>>> = new Map();\n\n// Initialize registry from MODELS on module load\nfor (const [provider, models] of Object.entries(MODELS)) {\n\tconst providerModels = new Map<string, Model<Api>>();\n\tfor (const [id, model] of Object.entries(models)) {\n\t\tproviderModels.set(id, model as Model<Api>);\n\t}\n\tmodelRegistry.set(provider, providerModels);\n}\n\ntype ModelApi<\n\tTProvider extends KnownProvider,\n\tTModelId extends keyof (typeof MODELS)[TProvider],\n> = (typeof MODELS)[TProvider][TModelId] extends { api: infer TApi } ? (TApi extends Api ? TApi : never) : never;\n\nexport function getModel<TProvider extends KnownProvider, TModelId extends keyof (typeof MODELS)[TProvider]>(\n\tprovider: TProvider,\n\tmodelId: TModelId,\n): Model<ModelApi<TProvider, TModelId>> {\n\treturn modelRegistry.get(provider)?.get(modelId as string) as Model<ModelApi<TProvider, TModelId>>;\n}\n\nexport function getProviders(): KnownProvider[] {\n\treturn Array.from(modelRegistry.keys()) as KnownProvider[];\n}\n\nexport function getModels<TProvider extends KnownProvider>(\n\tprovider: TProvider,\n): Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[] {\n\tconst models = modelRegistry.get(provider);\n\treturn models ? (Array.from(models.values()) as Model<ModelApi<TProvider, keyof (typeof MODELS)[TProvider]>>[]) : [];\n}\n\nexport function calculateCost<TApi extends Api>(model: Model<TApi>, usage: Usage): Usage[\"cost\"] {\n\tusage.cost.input = (model.cost.input / 1000000) * usage.input;\n\tusage.cost.output = (model.cost.output / 1000000) * usage.output;\n\tusage.cost.cacheRead = (model.cost.cacheRead / 1000000) * usage.cacheRead;\n\tusage.cost.cacheWrite = (model.cost.cacheWrite / 1000000) * usage.cacheWrite;\n\tusage.cost.total = usage.cost.input + usage.cost.output + usage.cost.cacheRead + usage.cost.cacheWrite;\n\treturn usage.cost;\n}\n\n/** Models that support xhigh thinking level */\nconst XHIGH_MODELS = new Set([\"gpt-5.1-codex-max\", \"gpt-5.2\", \"gpt-5.2-codex\"]);\n\n/**\n * Check if a model supports xhigh thinking level.\n * Currently only certain OpenAI models support this.\n */\nexport function supportsXhigh<TApi extends Api>(model: Model<TApi>): boolean {\n\treturn XHIGH_MODELS.has(model.id);\n}\n\n/**\n * Check if two models are equal by comparing both their id and provider.\n * Returns false if either model is null or undefined.\n */\nexport function modelsAreEqual<TApi extends Api>(\n\ta: Model<TApi> | null | undefined,\n\tb: Model<TApi> | null | undefined,\n): boolean {\n\tif (!a || !b) return false;\n\treturn a.id === b.id && a.provider === b.provider;\n}\n"]}
|
|
@@ -6489,7 +6489,7 @@ export declare const MODELS: {
|
|
|
6489
6489
|
contextWindow: number;
|
|
6490
6490
|
maxTokens: number;
|
|
6491
6491
|
};
|
|
6492
|
-
readonly "meta-llama/llama-3.1-
|
|
6492
|
+
readonly "meta-llama/llama-3.1-70b-instruct": {
|
|
6493
6493
|
id: string;
|
|
6494
6494
|
name: string;
|
|
6495
6495
|
api: "openai-completions";
|
|
@@ -6506,7 +6506,7 @@ export declare const MODELS: {
|
|
|
6506
6506
|
contextWindow: number;
|
|
6507
6507
|
maxTokens: number;
|
|
6508
6508
|
};
|
|
6509
|
-
readonly "meta-llama/llama-3.1-
|
|
6509
|
+
readonly "meta-llama/llama-3.1-8b-instruct": {
|
|
6510
6510
|
id: string;
|
|
6511
6511
|
name: string;
|
|
6512
6512
|
api: "openai-completions";
|
|
@@ -6523,7 +6523,7 @@ export declare const MODELS: {
|
|
|
6523
6523
|
contextWindow: number;
|
|
6524
6524
|
maxTokens: number;
|
|
6525
6525
|
};
|
|
6526
|
-
readonly "meta-llama/llama-3.1-
|
|
6526
|
+
readonly "meta-llama/llama-3.1-405b-instruct": {
|
|
6527
6527
|
id: string;
|
|
6528
6528
|
name: string;
|
|
6529
6529
|
api: "openai-completions";
|
|
@@ -6676,7 +6676,7 @@ export declare const MODELS: {
|
|
|
6676
6676
|
contextWindow: number;
|
|
6677
6677
|
maxTokens: number;
|
|
6678
6678
|
};
|
|
6679
|
-
readonly "openai/gpt-4o
|
|
6679
|
+
readonly "openai/gpt-4o": {
|
|
6680
6680
|
id: string;
|
|
6681
6681
|
name: string;
|
|
6682
6682
|
api: "openai-completions";
|
|
@@ -6693,7 +6693,7 @@ export declare const MODELS: {
|
|
|
6693
6693
|
contextWindow: number;
|
|
6694
6694
|
maxTokens: number;
|
|
6695
6695
|
};
|
|
6696
|
-
readonly "openai/gpt-4o": {
|
|
6696
|
+
readonly "openai/gpt-4o:extended": {
|
|
6697
6697
|
id: string;
|
|
6698
6698
|
name: string;
|
|
6699
6699
|
api: "openai-completions";
|
|
@@ -6710,7 +6710,7 @@ export declare const MODELS: {
|
|
|
6710
6710
|
contextWindow: number;
|
|
6711
6711
|
maxTokens: number;
|
|
6712
6712
|
};
|
|
6713
|
-
readonly "openai/gpt-4o
|
|
6713
|
+
readonly "openai/gpt-4o-2024-05-13": {
|
|
6714
6714
|
id: string;
|
|
6715
6715
|
name: string;
|
|
6716
6716
|
api: "openai-completions";
|
|
@@ -6846,7 +6846,7 @@ export declare const MODELS: {
|
|
|
6846
6846
|
contextWindow: number;
|
|
6847
6847
|
maxTokens: number;
|
|
6848
6848
|
};
|
|
6849
|
-
readonly "openai/gpt-
|
|
6849
|
+
readonly "openai/gpt-4-turbo-preview": {
|
|
6850
6850
|
id: string;
|
|
6851
6851
|
name: string;
|
|
6852
6852
|
api: "openai-completions";
|
|
@@ -6863,7 +6863,7 @@ export declare const MODELS: {
|
|
|
6863
6863
|
contextWindow: number;
|
|
6864
6864
|
maxTokens: number;
|
|
6865
6865
|
};
|
|
6866
|
-
readonly "openai/gpt-
|
|
6866
|
+
readonly "openai/gpt-3.5-turbo-0613": {
|
|
6867
6867
|
id: string;
|
|
6868
6868
|
name: string;
|
|
6869
6869
|
api: "openai-completions";
|