@castlemilk/omega 0.6.11 → 0.6.13
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/cli.js +1391 -254
- package/dist/server/dist/app.d.ts.map +1 -1
- package/dist/server/dist/app.js +2 -0
- package/dist/server/dist/app.js.map +1 -1
- package/dist/server/dist/lib/run-task.d.ts.map +1 -1
- package/dist/server/dist/lib/run-task.js +3 -2
- package/dist/server/dist/lib/run-task.js.map +1 -1
- package/dist/server/dist/routes/metrics.d.ts.map +1 -1
- package/dist/server/dist/routes/metrics.js +76 -2
- package/dist/server/dist/routes/metrics.js.map +1 -1
- package/dist/server/dist/routes/prompt-versions.d.ts +4 -0
- package/dist/server/dist/routes/prompt-versions.d.ts.map +1 -0
- package/dist/server/dist/routes/prompt-versions.js +40 -0
- package/dist/server/dist/routes/prompt-versions.js.map +1 -0
- package/dist/server/dist/routes/tasks.d.ts.map +1 -1
- package/dist/server/dist/routes/tasks.js +4 -0
- package/dist/server/dist/routes/tasks.js.map +1 -1
- package/dist/server/node_modules/.package-lock.json +3 -3
- package/dist/server/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js +0 -0
- package/dist/server/node_modules/@omega/agent/dist/executor.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/executor.js +83 -10
- package/dist/server/node_modules/@omega/agent/dist/executor.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/index.d.ts +1 -0
- package/dist/server/node_modules/@omega/agent/dist/index.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/index.js +1 -0
- package/dist/server/node_modules/@omega/agent/dist/index.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/planner.d.ts +5 -0
- package/dist/server/node_modules/@omega/agent/dist/planner.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/planner.js +31 -5
- package/dist/server/node_modules/@omega/agent/dist/planner.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.d.ts +22 -0
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.d.ts.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.js +53 -0
- package/dist/server/node_modules/@omega/agent/dist/prompt-versioning.js.map +1 -0
- package/dist/server/node_modules/@omega/agent/dist/prompts.d.ts +2 -2
- package/dist/server/node_modules/@omega/agent/dist/prompts.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/agent/dist/prompts.js +44 -7
- package/dist/server/node_modules/@omega/agent/dist/prompts.js.map +1 -1
- package/dist/server/node_modules/@omega/agent/package.json +4 -0
- package/dist/server/node_modules/@omega/core/dist/provider.d.ts +12 -2
- package/dist/server/node_modules/@omega/core/dist/provider.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/index.d.ts +1 -0
- package/dist/server/node_modules/@omega/db/dist/index.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/index.js +1 -0
- package/dist/server/node_modules/@omega/db/dist/index.js.map +1 -1
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.d.ts +19 -0
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.d.ts.map +1 -0
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.js +32 -0
- package/dist/server/node_modules/@omega/db/dist/prompt-versions.js.map +1 -0
- package/dist/server/node_modules/@omega/db/dist/seed.js +6 -6
- package/dist/server/node_modules/@omega/db/dist/seed.js.map +1 -1
- package/dist/server/node_modules/@omega/db/generated/client/edge.js +19 -4
- package/dist/server/node_modules/@omega/db/generated/client/index-browser.js +16 -1
- package/dist/server/node_modules/@omega/db/generated/client/index.d.ts +1511 -93
- package/dist/server/node_modules/@omega/db/generated/client/index.js +19 -4
- package/dist/server/node_modules/@omega/db/generated/client/libquery_engine-darwin-arm64.dylib.node +0 -0
- package/dist/server/node_modules/@omega/db/generated/client/package.json +1 -1
- package/dist/server/node_modules/@omega/db/generated/client/schema.prisma +14 -0
- package/dist/server/node_modules/@omega/db/generated/client/wasm.js +19 -4
- package/dist/server/node_modules/@omega/db/prisma/migrations/20260703010000_add_agent_run_usage/migration.sql +4 -0
- package/dist/server/node_modules/@omega/db/prisma/migrations/20260703020000_add_prompt_versions/migration.sql +16 -0
- package/dist/server/node_modules/@omega/providers/dist/anthropic.d.ts +2 -2
- package/dist/server/node_modules/@omega/providers/dist/anthropic.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/anthropic.js +16 -1
- package/dist/server/node_modules/@omega/providers/dist/anthropic.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/gemini.d.ts +2 -2
- package/dist/server/node_modules/@omega/providers/dist/gemini.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/gemini.js +14 -1
- package/dist/server/node_modules/@omega/providers/dist/gemini.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/kimi.d.ts +3 -4
- package/dist/server/node_modules/@omega/providers/dist/kimi.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/kimi.js +6 -4
- package/dist/server/node_modules/@omega/providers/dist/kimi.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/ollama.d.ts +2 -2
- package/dist/server/node_modules/@omega/providers/dist/ollama.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/ollama.js +13 -1
- package/dist/server/node_modules/@omega/providers/dist/ollama.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/openai.d.ts +3 -3
- package/dist/server/node_modules/@omega/providers/dist/openai.d.ts.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/openai.js +28 -5
- package/dist/server/node_modules/@omega/providers/dist/openai.js.map +1 -1
- package/dist/server/node_modules/@omega/providers/dist/providers.test.js +13 -9
- package/dist/server/node_modules/@omega/providers/dist/providers.test.js.map +1 -1
- package/dist/server/node_modules/mime/cli.js +0 -0
- package/dist/server/node_modules/mime/src/build.js +0 -0
- package/dist/server/node_modules/protobufjs/dist/light/protobuf.js +2 -2
- package/dist/server/node_modules/protobufjs/dist/light/protobuf.min.js +2 -2
- package/dist/server/node_modules/protobufjs/dist/minimal/protobuf.js +2 -2
- package/dist/server/node_modules/protobufjs/dist/minimal/protobuf.min.js +2 -2
- package/dist/server/node_modules/protobufjs/dist/protobuf.js +5 -2
- package/dist/server/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/dist/server/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/dist/server/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/dist/server/node_modules/protobufjs/package.json +1 -1
- package/dist/server/node_modules/protobufjs/src/parse.js +3 -0
- package/dist/server/node_modules/wrap-ansi/index.js +0 -0
- package/dist/server/pglite-data/base/5/1247 +0 -0
- package/dist/server/pglite-data/base/5/1249 +0 -0
- package/dist/server/pglite-data/base/5/1249_fsm +0 -0
- package/dist/server/pglite-data/base/5/1259 +0 -0
- package/dist/server/pglite-data/base/5/1259_fsm +0 -0
- package/dist/server/pglite-data/base/5/1259_vm +0 -0
- package/dist/server/pglite-data/base/5/16384 +0 -0
- package/dist/server/pglite-data/base/5/16392 +0 -0
- package/dist/server/pglite-data/base/5/16394 +0 -0
- package/dist/server/pglite-data/base/5/16404 +0 -0
- package/dist/server/pglite-data/base/5/16406 +0 -0
- package/dist/server/pglite-data/base/5/16421 +0 -0
- package/dist/server/pglite-data/base/5/16480 +0 -0
- package/dist/server/pglite-data/base/5/16494 +0 -0
- package/dist/server/pglite-data/base/5/16510 +0 -0
- package/dist/server/pglite-data/base/5/16515 +0 -0
- package/dist/server/pglite-data/base/5/{24591 → 16554} +0 -0
- package/dist/server/pglite-data/base/5/{24592 → 16555} +0 -0
- package/dist/server/pglite-data/base/5/{24588 → 16557} +0 -0
- package/dist/server/pglite-data/base/5/{24589 → 16558} +0 -0
- package/dist/server/pglite-data/base/5/16564 +0 -0
- package/dist/server/pglite-data/base/5/16575 +0 -0
- package/dist/server/pglite-data/base/5/16576 +0 -0
- package/dist/server/pglite-data/base/5/16577 +0 -0
- package/dist/server/pglite-data/base/5/16579 +0 -0
- package/dist/server/pglite-data/base/5/2579 +0 -0
- package/dist/server/pglite-data/base/5/2604 +0 -0
- package/dist/server/pglite-data/base/5/2606 +0 -0
- package/dist/server/pglite-data/base/5/2608 +0 -0
- package/dist/server/pglite-data/base/5/2608_fsm +0 -0
- package/dist/server/pglite-data/base/5/2610 +0 -0
- package/dist/server/pglite-data/base/5/2620 +0 -0
- package/dist/server/pglite-data/base/5/2656 +0 -0
- package/dist/server/pglite-data/base/5/2657 +0 -0
- package/dist/server/pglite-data/base/5/2658 +0 -0
- package/dist/server/pglite-data/base/5/2659 +0 -0
- package/dist/server/pglite-data/base/5/2662 +0 -0
- package/dist/server/pglite-data/base/5/2663 +0 -0
- package/dist/server/pglite-data/base/5/2664 +0 -0
- package/dist/server/pglite-data/base/5/2665 +0 -0
- package/dist/server/pglite-data/base/5/2666 +0 -0
- package/dist/server/pglite-data/base/5/2667 +0 -0
- package/dist/server/pglite-data/base/5/2673 +0 -0
- package/dist/server/pglite-data/base/5/2674 +0 -0
- package/dist/server/pglite-data/base/5/2678 +0 -0
- package/dist/server/pglite-data/base/5/2679 +0 -0
- package/dist/server/pglite-data/base/5/2699 +0 -0
- package/dist/server/pglite-data/base/5/2701 +0 -0
- package/dist/server/pglite-data/base/5/2702 +0 -0
- package/dist/server/pglite-data/base/5/2703 +0 -0
- package/dist/server/pglite-data/base/5/2704 +0 -0
- package/dist/server/pglite-data/base/5/3455 +0 -0
- package/dist/server/pglite-data/base/5/pg_internal.init +0 -0
- package/dist/server/pglite-data/global/pg_control +0 -0
- package/dist/server/pglite-data/global/pg_internal.init +0 -0
- package/dist/server/pglite-data/pg_wal/000000010000000000000001 +0 -0
- package/dist/server/pglite-data/pg_xact/0000 +0 -0
- package/dist/server/pglite-data/postmaster.pid +2 -2
- package/dist/server/src/app.ts +2 -0
- package/dist/server/src/lib/run-task.ts +3 -2
- package/dist/server/src/routes/metrics.ts +81 -2
- package/dist/server/src/routes/prompt-versions.ts +46 -0
- package/dist/server/src/routes/tasks.ts +6 -2
- package/dist/web/dist/assets/index-BVjHH_u_.js +40 -0
- package/dist/web/dist/assets/index-BkzWwMOJ.js +40 -0
- package/dist/web/dist/assets/index-D4rY_mY0.css +1 -0
- package/dist/web/dist/assets/index-DHQbiQAM.css +1 -0
- package/dist/web/dist/index.html +2 -2
- package/package.json +14 -13
- /package/dist/server/pglite-data/base/5/{24576 → 16542} +0 -0
- /package/dist/server/pglite-data/base/5/{24587 → 16553} +0 -0
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { OpenAIProvider } from './openai.js';
|
|
2
2
|
export class KimiProvider extends OpenAIProvider {
|
|
3
|
-
config;
|
|
4
3
|
constructor(config) {
|
|
5
4
|
super({
|
|
6
5
|
...config,
|
|
7
6
|
baseUrl: config.baseUrl ?? 'https://api.kimi.com/coding/v1',
|
|
7
|
+
// Kimi's coding endpoint works with plain text prompts; declare tools as unsupported
|
|
8
|
+
// so the agent uses robust text-mode JSON tool calls instead of native tool APIs.
|
|
9
|
+
capabilities: config.capabilities.map((cap) => ({ ...cap, supportsTools: false })),
|
|
8
10
|
});
|
|
9
|
-
this.config = config;
|
|
10
11
|
}
|
|
11
12
|
supportsTemperature = true;
|
|
12
13
|
// Kimi coding models require temperature to be exactly 1.
|
|
13
14
|
async send(prompt, opts) {
|
|
14
15
|
return super.send(prompt, { ...opts, temperature: 1 });
|
|
15
16
|
}
|
|
16
|
-
async sendWithTools(prompt,
|
|
17
|
-
|
|
17
|
+
async sendWithTools(prompt, _tools, opts) {
|
|
18
|
+
// Fallback to plain text generation; the agent parses JSON tool calls from the response.
|
|
19
|
+
return this.send(prompt, opts);
|
|
18
20
|
}
|
|
19
21
|
}
|
|
20
22
|
//# sourceMappingURL=kimi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kimi.js","sourceRoot":"","sources":["../src/kimi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,OAAO,YAAa,SAAQ,cAAc;
|
|
1
|
+
{"version":3,"file":"kimi.js","sourceRoot":"","sources":["../src/kimi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,YAAY,MAAsB;QAChC,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,gCAAgC;YAC3D,qFAAqF;YACrF,kFAAkF;YAClF,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;IAE2B,mBAAmB,GAAY,IAAI,CAAC;IAEhE,0DAA0D;IACjD,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,IAAkB;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAEQ,KAAK,CAAC,aAAa,CAC1B,MAAc,EACd,MAAwB,EACxB,IAAkB;QAElB,yFAAyF;QACzF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Provider, ProviderConfig, SendOptions } from '@omega/core';
|
|
1
|
+
import type { Provider, ProviderConfig, SendOptions, ProviderResponse } from '@omega/core';
|
|
2
2
|
export declare class OllamaProvider implements Provider {
|
|
3
3
|
readonly config: ProviderConfig;
|
|
4
4
|
constructor(config: ProviderConfig);
|
|
5
5
|
private get baseUrl();
|
|
6
6
|
listModels(): Promise<string[]>;
|
|
7
|
-
send(prompt: string, opts?: SendOptions): Promise<
|
|
7
|
+
send(prompt: string, opts?: SendOptions): Promise<ProviderResponse>;
|
|
8
8
|
}
|
|
9
9
|
//# sourceMappingURL=ollama.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI3F,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,MAAM,EAAE,cAAc;IAIlC,OAAO,KAAK,OAAO,GAElB;IAEK,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAO/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkC1E"}
|
|
@@ -32,7 +32,19 @@ export class OllamaProvider {
|
|
|
32
32
|
throw new Error(`Ollama request failed: ${res.status.toString()} ${res.statusText}`);
|
|
33
33
|
}
|
|
34
34
|
const data = (await res.json());
|
|
35
|
-
|
|
35
|
+
const usage = data.prompt_eval_count !== undefined || data.eval_count !== undefined
|
|
36
|
+
? {
|
|
37
|
+
promptTokens: data.prompt_eval_count,
|
|
38
|
+
completionTokens: data.eval_count,
|
|
39
|
+
totalTokens: data.prompt_eval_count !== undefined && data.eval_count !== undefined
|
|
40
|
+
? data.prompt_eval_count + data.eval_count
|
|
41
|
+
: undefined,
|
|
42
|
+
}
|
|
43
|
+
: undefined;
|
|
44
|
+
return {
|
|
45
|
+
content: data.message?.content ?? '',
|
|
46
|
+
usage,
|
|
47
|
+
};
|
|
36
48
|
}
|
|
37
49
|
}
|
|
38
50
|
//# sourceMappingURL=ollama.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAElD,MAAM,OAAO,cAAc;IAChB,MAAM,CAAiB;IAEhC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,IAAkB;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;gBAC9C,QAAQ,EAAE;oBACR,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;iBAClC;gBACD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;aACzF,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAElD,MAAM,OAAO,cAAc;IAChB,MAAM,CAAiB;IAEhC,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAY,OAAO;QACjB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoC,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,IAAkB;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,WAAW,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;gBAC9C,QAAQ,EAAE;oBACR,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;iBAClC;gBACD,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;aACzF,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAwF,CAAC;QACvH,MAAM,KAAK,GACT,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YACnE,CAAC,CAAC;gBACE,YAAY,EAAE,IAAI,CAAC,iBAAiB;gBACpC,gBAAgB,EAAE,IAAI,CAAC,UAAU;gBACjC,WAAW,EACT,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBACnE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU;oBAC1C,CAAC,CAAC,SAAS;aAChB;YACH,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;YACpC,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { Provider, ProviderConfig, SendOptions, ToolDefinition } from '@omega/core';
|
|
1
|
+
import type { Provider, ProviderConfig, SendOptions, ToolDefinition, ProviderResponse } from '@omega/core';
|
|
2
2
|
export declare class OpenAIProvider implements Provider {
|
|
3
3
|
readonly config: ProviderConfig;
|
|
4
4
|
constructor(config: ProviderConfig);
|
|
5
5
|
protected get baseUrl(): string;
|
|
6
6
|
protected readonly supportsTemperature: boolean;
|
|
7
7
|
listModels(): Promise<string[]>;
|
|
8
|
-
send(prompt: string, opts?: SendOptions): Promise<
|
|
9
|
-
sendWithTools(prompt: string, tools: ToolDefinition[], opts?: SendOptions): Promise<
|
|
8
|
+
send(prompt: string, opts?: SendOptions): Promise<ProviderResponse>;
|
|
9
|
+
sendWithTools(prompt: string, tools: ToolDefinition[], opts?: SendOptions): Promise<ProviderResponse>;
|
|
10
10
|
protected authHeaders(): Record<string, string>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAS,MAAM,aAAa,CAAC;AA+BlH,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAEpB,MAAM,EAAE,cAAc;IAIlC,SAAS,KAAK,OAAO,IAAI,MAAM,CAE9B;IAED,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAQ;IAEjD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAS/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgCnE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4D3G,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAGhD"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
const DEFAULT_BASE_URL = 'https://api.openai.com/v1';
|
|
2
|
+
function toUsage(data) {
|
|
3
|
+
if (!data.usage)
|
|
4
|
+
return undefined;
|
|
5
|
+
return {
|
|
6
|
+
promptTokens: data.usage.prompt_tokens,
|
|
7
|
+
completionTokens: data.usage.completion_tokens,
|
|
8
|
+
totalTokens: data.usage.total_tokens,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
2
11
|
export class OpenAIProvider {
|
|
3
12
|
config;
|
|
4
13
|
constructor(config) {
|
|
@@ -36,10 +45,15 @@ export class OpenAIProvider {
|
|
|
36
45
|
}),
|
|
37
46
|
});
|
|
38
47
|
if (!res.ok) {
|
|
39
|
-
|
|
48
|
+
const body = await res.text().catch(() => '');
|
|
49
|
+
throw new Error(`OpenAI request failed: ${res.status.toString()} ${res.statusText} - ${body.slice(0, 500)}`);
|
|
40
50
|
}
|
|
41
51
|
const data = (await res.json());
|
|
42
|
-
return
|
|
52
|
+
return {
|
|
53
|
+
content: data.choices?.[0]?.message?.content ?? '',
|
|
54
|
+
usage: toUsage(data),
|
|
55
|
+
model: data.model,
|
|
56
|
+
};
|
|
43
57
|
}
|
|
44
58
|
async sendWithTools(prompt, tools, opts) {
|
|
45
59
|
const res = await fetch(`${this.baseUrl}/chat/completions`, {
|
|
@@ -66,7 +80,8 @@ export class OpenAIProvider {
|
|
|
66
80
|
}),
|
|
67
81
|
});
|
|
68
82
|
if (!res.ok) {
|
|
69
|
-
|
|
83
|
+
const body = await res.text().catch(() => '');
|
|
84
|
+
throw new Error(`OpenAI tools request failed: ${res.status.toString()} ${res.statusText} - ${body.slice(0, 500)}`);
|
|
70
85
|
}
|
|
71
86
|
const data = (await res.json());
|
|
72
87
|
const message = data.choices?.[0]?.message;
|
|
@@ -86,9 +101,17 @@ export class OpenAIProvider {
|
|
|
86
101
|
})(),
|
|
87
102
|
}))
|
|
88
103
|
.filter((tc) => tc.id && tc.name);
|
|
89
|
-
return
|
|
104
|
+
return {
|
|
105
|
+
content: JSON.stringify({ tool_calls: normalized }),
|
|
106
|
+
usage: toUsage(data),
|
|
107
|
+
model: data.model,
|
|
108
|
+
};
|
|
90
109
|
}
|
|
91
|
-
return
|
|
110
|
+
return {
|
|
111
|
+
content: message?.content ?? '',
|
|
112
|
+
usage: toUsage(data),
|
|
113
|
+
model: data.model,
|
|
114
|
+
};
|
|
92
115
|
}
|
|
93
116
|
authHeaders() {
|
|
94
117
|
return this.config.apiKey ? { Authorization: `Bearer ${this.config.apiKey}` } : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../src/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,10 +25,11 @@ describe('createProvider', () => {
|
|
|
25
25
|
enabled: true,
|
|
26
26
|
};
|
|
27
27
|
it('creates an OpenAI provider and sends a chat request', async () => {
|
|
28
|
-
fetchSpy.mockResolvedValue(jsonResponse({ choices: [{ message: { content: 'Hello' } }] }));
|
|
28
|
+
fetchSpy.mockResolvedValue(jsonResponse({ choices: [{ message: { content: 'Hello' } }], usage: { prompt_tokens: 10, completion_tokens: 5, total_tokens: 15 } }));
|
|
29
29
|
const provider = createProvider(openaiConfig);
|
|
30
30
|
const result = await provider.send('hi');
|
|
31
|
-
expect(result).toBe('Hello');
|
|
31
|
+
expect(result.content).toBe('Hello');
|
|
32
|
+
expect(result.usage).toEqual({ promptTokens: 10, completionTokens: 5, totalTokens: 15 });
|
|
32
33
|
expect(fetchSpy).toHaveBeenCalledWith('https://api.openai.com/v1/chat/completions', expect.objectContaining({
|
|
33
34
|
method: 'POST',
|
|
34
35
|
headers: expect.objectContaining({ Authorization: 'Bearer sk-test' }),
|
|
@@ -55,10 +56,11 @@ describe('createProvider', () => {
|
|
|
55
56
|
enabled: true,
|
|
56
57
|
};
|
|
57
58
|
it('creates an Anthropic provider and sends a message', async () => {
|
|
58
|
-
fetchSpy.mockResolvedValue(jsonResponse({ content: [{ type: 'text', text: 'Hi there' }] }));
|
|
59
|
+
fetchSpy.mockResolvedValue(jsonResponse({ content: [{ type: 'text', text: 'Hi there' }], usage: { input_tokens: 8, output_tokens: 2 } }));
|
|
59
60
|
const provider = createProvider(anthropicConfig);
|
|
60
61
|
const result = await provider.send('hello', { system: 'You are helpful', temperature: 0.5 });
|
|
61
|
-
expect(result).toBe('Hi there');
|
|
62
|
+
expect(result.content).toBe('Hi there');
|
|
63
|
+
expect(result.usage).toEqual({ promptTokens: 8, completionTokens: 2, totalTokens: 10 });
|
|
62
64
|
expect(fetchSpy).toHaveBeenCalledWith('https://api.anthropic.com/v1/messages', expect.objectContaining({
|
|
63
65
|
method: 'POST',
|
|
64
66
|
headers: expect.objectContaining({
|
|
@@ -80,10 +82,11 @@ describe('createProvider', () => {
|
|
|
80
82
|
enabled: true,
|
|
81
83
|
};
|
|
82
84
|
it('creates an Ollama provider and sends a chat request', async () => {
|
|
83
|
-
fetchSpy.mockResolvedValue(jsonResponse({ message: { content: 'Howdy' } }));
|
|
85
|
+
fetchSpy.mockResolvedValue(jsonResponse({ message: { content: 'Howdy' }, prompt_eval_count: 12, eval_count: 3 }));
|
|
84
86
|
const provider = createProvider(ollamaConfig);
|
|
85
87
|
const result = await provider.send('hey');
|
|
86
|
-
expect(result).toBe('Howdy');
|
|
88
|
+
expect(result.content).toBe('Howdy');
|
|
89
|
+
expect(result.usage).toEqual({ promptTokens: 12, completionTokens: 3, totalTokens: 15 });
|
|
87
90
|
expect(fetchSpy).toHaveBeenCalledWith('http://localhost:11434/api/chat', expect.objectContaining({
|
|
88
91
|
method: 'POST',
|
|
89
92
|
body: expect.stringContaining('"stream":false'),
|
|
@@ -104,10 +107,11 @@ describe('createProvider', () => {
|
|
|
104
107
|
enabled: true,
|
|
105
108
|
};
|
|
106
109
|
it('creates a Gemini provider and generates content', async () => {
|
|
107
|
-
fetchSpy.mockResolvedValue(jsonResponse({ candidates: [{ content: { parts: [{ text: 'Greetings' }] } }] }));
|
|
110
|
+
fetchSpy.mockResolvedValue(jsonResponse({ candidates: [{ content: { parts: [{ text: 'Greetings' }] } }], usageMetadata: { promptTokenCount: 6, candidatesTokenCount: 1, totalTokenCount: 7 } }));
|
|
108
111
|
const provider = createProvider(geminiConfig);
|
|
109
112
|
const result = await provider.send('hello', { system: 'Be polite', temperature: 0.7 });
|
|
110
|
-
expect(result).toBe('Greetings');
|
|
113
|
+
expect(result.content).toBe('Greetings');
|
|
114
|
+
expect(result.usage).toEqual({ promptTokens: 6, completionTokens: 1, totalTokens: 7 });
|
|
111
115
|
expect(fetchSpy).toHaveBeenCalledWith(expect.stringContaining('/models/gemini-1.5-flash:generateContent'), expect.objectContaining({ method: 'POST' }));
|
|
112
116
|
const url = fetchSpy.mock.calls[0][0];
|
|
113
117
|
expect(url).toContain('key=gemini-key');
|
|
@@ -135,7 +139,7 @@ describe('createProvider', () => {
|
|
|
135
139
|
enabled: true,
|
|
136
140
|
};
|
|
137
141
|
const result = await createProvider(genericConfig).send('hi');
|
|
138
|
-
expect(result).toBe('Generic');
|
|
142
|
+
expect(result.content).toBe('Generic');
|
|
139
143
|
expect(fetchSpy).toHaveBeenCalledWith('http://localhost:8080/v1/chat/completions', expect.objectContaining({
|
|
140
144
|
headers: expect.objectContaining({ Authorization: 'Bearer generic-key' }),
|
|
141
145
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.test.js","sourceRoot":"","sources":["../src/providers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,SAAS,YAAY,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,QAAkC,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACnB,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAmB;QACnC,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,SAAS;QACjB,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,IAAI;KACd,CAAC;IAEF,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,QAAQ,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"providers.test.js","sourceRoot":"","sources":["../src/providers.test.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* protobuf.js v7.6.
|
|
3
|
-
* compiled
|
|
2
|
+
* protobuf.js v7.6.5 (c) 2016, daniel wirtz
|
|
3
|
+
* compiled sat, 04 jul 2026 01:13:07 utc
|
|
4
4
|
* licensed under the bsd-3-clause license
|
|
5
5
|
* see: https://github.com/dcodeio/protobuf.js for details
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* protobuf.js v7.6.
|
|
3
|
-
* compiled
|
|
2
|
+
* protobuf.js v7.6.5 (c) 2016, daniel wirtz
|
|
3
|
+
* compiled sat, 04 jul 2026 01:13:07 utc
|
|
4
4
|
* licensed under the bsd-3-clause license
|
|
5
5
|
* see: https://github.com/dcodeio/protobuf.js for details
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* protobuf.js v7.6.
|
|
3
|
-
* compiled
|
|
2
|
+
* protobuf.js v7.6.5 (c) 2016, daniel wirtz
|
|
3
|
+
* compiled sat, 04 jul 2026 01:13:07 utc
|
|
4
4
|
* licensed under the bsd-3-clause license
|
|
5
5
|
* see: https://github.com/dcodeio/protobuf.js for details
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* protobuf.js v7.6.
|
|
3
|
-
* compiled
|
|
2
|
+
* protobuf.js v7.6.5 (c) 2016, daniel wirtz
|
|
3
|
+
* compiled sat, 04 jul 2026 01:13:07 utc
|
|
4
4
|
* licensed under the bsd-3-clause license
|
|
5
5
|
* see: https://github.com/dcodeio/protobuf.js for details
|
|
6
6
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* protobuf.js v7.6.
|
|
3
|
-
* compiled
|
|
2
|
+
* protobuf.js v7.6.5 (c) 2016, daniel wirtz
|
|
3
|
+
* compiled sat, 04 jul 2026 01:13:07 utc
|
|
4
4
|
* licensed under the bsd-3-clause license
|
|
5
5
|
* see: https://github.com/dcodeio/protobuf.js for details
|
|
6
6
|
*/
|
|
@@ -5211,6 +5211,9 @@ function parse(source, root, options) {
|
|
|
5211
5211
|
}
|
|
5212
5212
|
|
|
5213
5213
|
while (token !== "=") {
|
|
5214
|
+
if (token === null) {
|
|
5215
|
+
throw illegal(token, "end of input");
|
|
5216
|
+
}
|
|
5214
5217
|
if (token === "(") {
|
|
5215
5218
|
var parensValue = next();
|
|
5216
5219
|
skip(")");
|