omk-ai 0.93.0 → 0.94.1
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/api-registry.d.ts.map +1 -1
- package/dist/api-registry.js +15 -1
- package/dist/api-registry.js.map +1 -1
- package/dist/models.generated.d.ts +17 -56
- package/dist/models.generated.d.ts.map +1 -1
- package/dist/models.generated.js +21 -42
- package/dist/models.generated.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-registry.d.ts","sourceRoot":"","sources":["../src/api-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,GAAG,EACH,2BAA2B,EAC3B,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,CAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,aAAa,KACnB,2BAA2B,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,CACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,KACzB,2BAA2B,CAAC;AAEjC,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,GAAG,GAAG,GAAG,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa;IAClG,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,YAAY,EAAE,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;CACxD;AAED,UAAU,mBAAmB;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,uBAAuB,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"api-registry.d.ts","sourceRoot":"","sources":["../src/api-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,GAAG,EACH,2BAA2B,EAC3B,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,CAC/B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,aAAa,KACnB,2BAA2B,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,CACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,mBAAmB,KACzB,2BAA2B,CAAC;AAEjC,MAAM,WAAW,WAAW,CAAC,IAAI,SAAS,GAAG,GAAG,GAAG,EAAE,QAAQ,SAAS,aAAa,GAAG,aAAa;IAClG,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,YAAY,EAAE,cAAc,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;CACxD;AAED,UAAU,mBAAmB;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,EAAE,uBAAuB,CAAC;CACtC;AAkDD,wBAAgB,mBAAmB,CAAC,IAAI,SAAS,GAAG,EAAE,QAAQ,SAAS,aAAa,EACnF,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EACrC,QAAQ,CAAC,EAAE,MAAM,GACf,IAAI,CASN;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,mBAAmB,GAAG,SAAS,CAExE;AAED,wBAAgB,eAAe,IAAI,mBAAmB,EAAE,CAEvD;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAM7D;AAED,wBAAgB,iBAAiB,IAAI,IAAI,CAExC","sourcesContent":["import type {\n\tApi,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tSimpleStreamOptions,\n\tStreamFunction,\n\tStreamOptions,\n} from \"./types.ts\";\n\nexport type ApiStreamFunction = (\n\tmodel: Model<Api>,\n\tcontext: Context,\n\toptions?: StreamOptions,\n) => AssistantMessageEventStream;\n\nexport type ApiStreamSimpleFunction = (\n\tmodel: Model<Api>,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n) => AssistantMessageEventStream;\n\nexport interface ApiProvider<TApi extends Api = Api, TOptions extends StreamOptions = StreamOptions> {\n\tapi: TApi;\n\tstream: StreamFunction<TApi, TOptions>;\n\tstreamSimple: StreamFunction<TApi, SimpleStreamOptions>;\n}\n\ninterface ApiProviderInternal {\n\tapi: Api;\n\tstream: ApiStreamFunction;\n\tstreamSimple: ApiStreamSimpleFunction;\n}\n\ntype RegisteredApiProvider = {\n\tprovider: ApiProviderInternal;\n\tsourceId?: string;\n};\n\n/**\n * The registry must be a process-wide singleton. In monorepo/dev setups the\n * same `omk-ai` code can be loaded as multiple module instances (symlinked\n * workspace dist consumed natively AND the same files inlined by vite-node),\n * which used to split the registry so a provider registered through one\n * instance was invisible to streamers resolving through another\n * (\"No API provider registered for api: ...\"). Anchoring to globalThis makes\n * registration visible across every copy.\n */\nconst REGISTRY_KEY = \"__omkAiApiProviderRegistry_v1__\";\n\ntype RegistryStore = { map: Map<string, RegisteredApiProvider> };\n\nconst globalStore = globalThis as { [REGISTRY_KEY]?: RegistryStore };\nif (!globalStore[REGISTRY_KEY]) {\n\tglobalStore[REGISTRY_KEY] = { map: new Map() };\n}\nconst apiProviderRegistry: Map<string, RegisteredApiProvider> = globalStore[REGISTRY_KEY].map;\n\nfunction wrapStream<TApi extends Api, TOptions extends StreamOptions>(\n\tapi: TApi,\n\tstream: StreamFunction<TApi, TOptions>,\n): ApiStreamFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn stream(model as Model<TApi>, context, options as TOptions);\n\t};\n}\n\nfunction wrapStreamSimple<TApi extends Api>(\n\tapi: TApi,\n\tstreamSimple: StreamFunction<TApi, SimpleStreamOptions>,\n): ApiStreamSimpleFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn streamSimple(model as Model<TApi>, context, options);\n\t};\n}\n\nexport function registerApiProvider<TApi extends Api, TOptions extends StreamOptions>(\n\tprovider: ApiProvider<TApi, TOptions>,\n\tsourceId?: string,\n): void {\n\tapiProviderRegistry.set(provider.api, {\n\t\tprovider: {\n\t\t\tapi: provider.api,\n\t\t\tstream: wrapStream(provider.api, provider.stream),\n\t\t\tstreamSimple: wrapStreamSimple(provider.api, provider.streamSimple),\n\t\t},\n\t\tsourceId,\n\t});\n}\n\nexport function getApiProvider(api: Api): ApiProviderInternal | undefined {\n\treturn apiProviderRegistry.get(api)?.provider;\n}\n\nexport function getApiProviders(): ApiProviderInternal[] {\n\treturn Array.from(apiProviderRegistry.values(), (entry) => entry.provider);\n}\n\nexport function unregisterApiProviders(sourceId: string): void {\n\tfor (const [api, entry] of apiProviderRegistry.entries()) {\n\t\tif (entry.sourceId === sourceId) {\n\t\t\tapiProviderRegistry.delete(api);\n\t\t}\n\t}\n}\n\nexport function clearApiProviders(): void {\n\tapiProviderRegistry.clear();\n}\n"]}
|
package/dist/api-registry.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The registry must be a process-wide singleton. In monorepo/dev setups the
|
|
3
|
+
* same `omk-ai` code can be loaded as multiple module instances (symlinked
|
|
4
|
+
* workspace dist consumed natively AND the same files inlined by vite-node),
|
|
5
|
+
* which used to split the registry so a provider registered through one
|
|
6
|
+
* instance was invisible to streamers resolving through another
|
|
7
|
+
* ("No API provider registered for api: ..."). Anchoring to globalThis makes
|
|
8
|
+
* registration visible across every copy.
|
|
9
|
+
*/
|
|
10
|
+
const REGISTRY_KEY = "__omkAiApiProviderRegistry_v1__";
|
|
11
|
+
const globalStore = globalThis;
|
|
12
|
+
if (!globalStore[REGISTRY_KEY]) {
|
|
13
|
+
globalStore[REGISTRY_KEY] = { map: new Map() };
|
|
14
|
+
}
|
|
15
|
+
const apiProviderRegistry = globalStore[REGISTRY_KEY].map;
|
|
2
16
|
function wrapStream(api, stream) {
|
|
3
17
|
return (model, context, options) => {
|
|
4
18
|
if (model.api !== api) {
|
package/dist/api-registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-registry.js","sourceRoot":"","sources":["../src/api-registry.ts"],"names":[],"mappings":"AAuCA,MAAM,
|
|
1
|
+
{"version":3,"file":"api-registry.js","sourceRoot":"","sources":["../src/api-registry.ts"],"names":[],"mappings":"AAuCA;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,iCAAiC,CAAC;AAIvD,MAAM,WAAW,GAAG,UAAgD,CAAC;AACrE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IAChC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;AAChD,CAAC;AACD,MAAM,mBAAmB,GAAuC,WAAW,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC;AAE9F,SAAS,UAAU,CAClB,GAAS,EACT,MAAsC,EAClB;IACpB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,GAAG,aAAa,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,EAAE,OAAO,EAAE,OAAmB,CAAC,CAAC;IAAA,CAClE,CAAC;AAAA,CACF;AAED,SAAS,gBAAgB,CACxB,GAAS,EACT,YAAuD,EAC7B;IAC1B,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,CAAC,GAAG,aAAa,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,YAAY,CAAC,KAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAAA,CAC5D,CAAC;AAAA,CACF;AAED,MAAM,UAAU,mBAAmB,CAClC,QAAqC,EACrC,QAAiB,EACV;IACP,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;QACrC,QAAQ,EAAE;YACT,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC;YACjD,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC;SACnE;QACD,QAAQ;KACR,CAAC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,cAAc,CAAC,GAAQ,EAAmC;IACzE,OAAO,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;AAAA,CAC9C;AAED,MAAM,UAAU,eAAe,GAA0B;IACxD,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAAA,CAC3E;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAQ;IAC9D,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACF,CAAC;AAAA,CACD;AAED,MAAM,UAAU,iBAAiB,GAAS;IACzC,mBAAmB,CAAC,KAAK,EAAE,CAAC;AAAA,CAC5B","sourcesContent":["import type {\n\tApi,\n\tAssistantMessageEventStream,\n\tContext,\n\tModel,\n\tSimpleStreamOptions,\n\tStreamFunction,\n\tStreamOptions,\n} from \"./types.ts\";\n\nexport type ApiStreamFunction = (\n\tmodel: Model<Api>,\n\tcontext: Context,\n\toptions?: StreamOptions,\n) => AssistantMessageEventStream;\n\nexport type ApiStreamSimpleFunction = (\n\tmodel: Model<Api>,\n\tcontext: Context,\n\toptions?: SimpleStreamOptions,\n) => AssistantMessageEventStream;\n\nexport interface ApiProvider<TApi extends Api = Api, TOptions extends StreamOptions = StreamOptions> {\n\tapi: TApi;\n\tstream: StreamFunction<TApi, TOptions>;\n\tstreamSimple: StreamFunction<TApi, SimpleStreamOptions>;\n}\n\ninterface ApiProviderInternal {\n\tapi: Api;\n\tstream: ApiStreamFunction;\n\tstreamSimple: ApiStreamSimpleFunction;\n}\n\ntype RegisteredApiProvider = {\n\tprovider: ApiProviderInternal;\n\tsourceId?: string;\n};\n\n/**\n * The registry must be a process-wide singleton. In monorepo/dev setups the\n * same `omk-ai` code can be loaded as multiple module instances (symlinked\n * workspace dist consumed natively AND the same files inlined by vite-node),\n * which used to split the registry so a provider registered through one\n * instance was invisible to streamers resolving through another\n * (\"No API provider registered for api: ...\"). Anchoring to globalThis makes\n * registration visible across every copy.\n */\nconst REGISTRY_KEY = \"__omkAiApiProviderRegistry_v1__\";\n\ntype RegistryStore = { map: Map<string, RegisteredApiProvider> };\n\nconst globalStore = globalThis as { [REGISTRY_KEY]?: RegistryStore };\nif (!globalStore[REGISTRY_KEY]) {\n\tglobalStore[REGISTRY_KEY] = { map: new Map() };\n}\nconst apiProviderRegistry: Map<string, RegisteredApiProvider> = globalStore[REGISTRY_KEY].map;\n\nfunction wrapStream<TApi extends Api, TOptions extends StreamOptions>(\n\tapi: TApi,\n\tstream: StreamFunction<TApi, TOptions>,\n): ApiStreamFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn stream(model as Model<TApi>, context, options as TOptions);\n\t};\n}\n\nfunction wrapStreamSimple<TApi extends Api>(\n\tapi: TApi,\n\tstreamSimple: StreamFunction<TApi, SimpleStreamOptions>,\n): ApiStreamSimpleFunction {\n\treturn (model, context, options) => {\n\t\tif (model.api !== api) {\n\t\t\tthrow new Error(`Mismatched api: ${model.api} expected ${api}`);\n\t\t}\n\t\treturn streamSimple(model as Model<TApi>, context, options);\n\t};\n}\n\nexport function registerApiProvider<TApi extends Api, TOptions extends StreamOptions>(\n\tprovider: ApiProvider<TApi, TOptions>,\n\tsourceId?: string,\n): void {\n\tapiProviderRegistry.set(provider.api, {\n\t\tprovider: {\n\t\t\tapi: provider.api,\n\t\t\tstream: wrapStream(provider.api, provider.stream),\n\t\t\tstreamSimple: wrapStreamSimple(provider.api, provider.streamSimple),\n\t\t},\n\t\tsourceId,\n\t});\n}\n\nexport function getApiProvider(api: Api): ApiProviderInternal | undefined {\n\treturn apiProviderRegistry.get(api)?.provider;\n}\n\nexport function getApiProviders(): ApiProviderInternal[] {\n\treturn Array.from(apiProviderRegistry.values(), (entry) => entry.provider);\n}\n\nexport function unregisterApiProviders(sourceId: string): void {\n\tfor (const [api, entry] of apiProviderRegistry.entries()) {\n\t\tif (entry.sourceId === sourceId) {\n\t\t\tapiProviderRegistry.delete(api);\n\t\t}\n\t}\n}\n\nexport function clearApiProviders(): void {\n\tapiProviderRegistry.clear();\n}\n"]}
|
|
@@ -3538,6 +3538,23 @@ export declare const MODELS: {
|
|
|
3538
3538
|
contextWindow: number;
|
|
3539
3539
|
maxTokens: number;
|
|
3540
3540
|
};
|
|
3541
|
+
readonly "claude-opus-5": {
|
|
3542
|
+
id: string;
|
|
3543
|
+
name: string;
|
|
3544
|
+
api: "anthropic-messages";
|
|
3545
|
+
provider: string;
|
|
3546
|
+
baseUrl: string;
|
|
3547
|
+
reasoning: true;
|
|
3548
|
+
input: ("image" | "text")[];
|
|
3549
|
+
cost: {
|
|
3550
|
+
input: number;
|
|
3551
|
+
output: number;
|
|
3552
|
+
cacheRead: number;
|
|
3553
|
+
cacheWrite: number;
|
|
3554
|
+
};
|
|
3555
|
+
contextWindow: number;
|
|
3556
|
+
maxTokens: number;
|
|
3557
|
+
};
|
|
3541
3558
|
readonly "claude-sonnet-4": {
|
|
3542
3559
|
id: string;
|
|
3543
3560
|
name: string;
|
|
@@ -8864,34 +8881,6 @@ export declare const MODELS: {
|
|
|
8864
8881
|
contextWindow: number;
|
|
8865
8882
|
maxTokens: number;
|
|
8866
8883
|
};
|
|
8867
|
-
readonly "mistralai/mistral-small-4-119b-2603": {
|
|
8868
|
-
id: string;
|
|
8869
|
-
name: string;
|
|
8870
|
-
api: "openai-completions";
|
|
8871
|
-
provider: string;
|
|
8872
|
-
baseUrl: string;
|
|
8873
|
-
headers: {
|
|
8874
|
-
"NVCF-POLL-SECONDS": string;
|
|
8875
|
-
};
|
|
8876
|
-
compat: {
|
|
8877
|
-
supportsStore: false;
|
|
8878
|
-
supportsDeveloperRole: false;
|
|
8879
|
-
supportsReasoningEffort: false;
|
|
8880
|
-
maxTokensField: "max_tokens";
|
|
8881
|
-
supportsStrictMode: false;
|
|
8882
|
-
supportsLongCacheRetention: false;
|
|
8883
|
-
};
|
|
8884
|
-
reasoning: true;
|
|
8885
|
-
input: ("image" | "text")[];
|
|
8886
|
-
cost: {
|
|
8887
|
-
input: number;
|
|
8888
|
-
output: number;
|
|
8889
|
-
cacheRead: number;
|
|
8890
|
-
cacheWrite: number;
|
|
8891
|
-
};
|
|
8892
|
-
contextWindow: number;
|
|
8893
|
-
maxTokens: number;
|
|
8894
|
-
};
|
|
8895
8884
|
readonly "moonshotai/kimi-k2.6": {
|
|
8896
8885
|
id: string;
|
|
8897
8886
|
name: string;
|
|
@@ -9116,34 +9105,6 @@ export declare const MODELS: {
|
|
|
9116
9105
|
contextWindow: number;
|
|
9117
9106
|
maxTokens: number;
|
|
9118
9107
|
};
|
|
9119
|
-
readonly "stepfun-ai/step-3.5-flash": {
|
|
9120
|
-
id: string;
|
|
9121
|
-
name: string;
|
|
9122
|
-
api: "openai-completions";
|
|
9123
|
-
provider: string;
|
|
9124
|
-
baseUrl: string;
|
|
9125
|
-
headers: {
|
|
9126
|
-
"NVCF-POLL-SECONDS": string;
|
|
9127
|
-
};
|
|
9128
|
-
compat: {
|
|
9129
|
-
supportsStore: false;
|
|
9130
|
-
supportsDeveloperRole: false;
|
|
9131
|
-
supportsReasoningEffort: false;
|
|
9132
|
-
maxTokensField: "max_tokens";
|
|
9133
|
-
supportsStrictMode: false;
|
|
9134
|
-
supportsLongCacheRetention: false;
|
|
9135
|
-
};
|
|
9136
|
-
reasoning: true;
|
|
9137
|
-
input: "text"[];
|
|
9138
|
-
cost: {
|
|
9139
|
-
input: number;
|
|
9140
|
-
output: number;
|
|
9141
|
-
cacheRead: number;
|
|
9142
|
-
cacheWrite: number;
|
|
9143
|
-
};
|
|
9144
|
-
contextWindow: number;
|
|
9145
|
-
maxTokens: number;
|
|
9146
|
-
};
|
|
9147
9108
|
readonly "stepfun-ai/step-3.7-flash": {
|
|
9148
9109
|
id: string;
|
|
9149
9110
|
name: string;
|