@appliqation/agent-core 0.1.5 → 0.1.7

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.
@@ -3,6 +3,7 @@ import type { TcInfo } from '../tools/roleInference.js';
3
3
  export declare function resolveRun(client: McpClient, opts: {
4
4
  runId?: string;
5
5
  scenarioId?: string;
6
+ testSetId?: string;
6
7
  projectId?: string;
7
8
  environment?: string;
8
9
  }): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioResolvers.d.ts","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,oHAAoH;AACpH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAI9F;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO5H;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO1H;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3G"}
1
+ {"version":3,"file":"scenarioResolvers.d.ts","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAGxD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE;IACJ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED,oHAAoH;AACpH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAI9F;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO5H;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAO1H;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3G"}
@@ -11,12 +11,16 @@ import { parseScenarioTcList, parseTestSetTcList } from '../tools/roleInference.
11
11
  export async function resolveRun(client, opts) {
12
12
  if (opts.runId)
13
13
  return opts.runId;
14
- if (!opts.scenarioId || !opts.projectId) {
15
- throw new Error('--scenario-id and --project-id are required to create a run (or pass --run-id to reuse one).');
14
+ if (!opts.projectId || (!opts.scenarioId && !opts.testSetId)) {
15
+ throw new Error('--project-id plus exactly one of --scenario-id/--test-set-id are required to create a run ' +
16
+ '(or pass --run-id to reuse one).');
17
+ }
18
+ if (opts.scenarioId && opts.testSetId) {
19
+ throw new Error('--scenario-id and --test-set-id are mutually exclusive when creating a run.');
16
20
  }
17
21
  const created = await client.callTool('update_run_results', {
18
22
  action: 'create_run',
19
- scenario_id: Number(opts.scenarioId),
23
+ ...(opts.scenarioId ? { scenario_id: Number(opts.scenarioId) } : { test_set_id: Number(opts.testSetId) }),
20
24
  project_id: Number(opts.projectId),
21
25
  ...(opts.environment ? { environment: opts.environment } : {}),
22
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scenarioResolvers.js","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarioResolvers.js","sourceRoot":"","sources":["../../src/appq/scenarioResolvers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { createAnthropicAdapter, DEFAULT_ANTHROPIC_MODEL } from './anthropic.js';
2
2
  export { createOpenAiAdapter, DEFAULT_OPENAI_MODEL } from './openai.js';
3
+ export { createOpenAiCompatibleAdapter, type OpenAiCompatibleConfig } from './openaiCompatible.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { createAnthropicAdapter, DEFAULT_ANTHROPIC_MODEL } from './anthropic.js';
2
2
  export { createOpenAiAdapter, DEFAULT_OPENAI_MODEL } from './openai.js';
3
+ export { createOpenAiCompatibleAdapter } from './openaiCompatible.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAA+B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ProviderAdapter } from '../types.js';
2
+ export interface OpenAiCompatibleConfig {
3
+ apiKey: string;
4
+ baseURL: string;
5
+ model: string;
6
+ maxTokens?: number;
7
+ /** Only used in error messages, e.g. 'DeepSeek'/'GLM' — no behavioral effect. */
8
+ providerLabel?: string;
9
+ }
10
+ export declare function createOpenAiCompatibleAdapter(config: OpenAiCompatibleConfig): ProviderAdapter;
11
+ //# sourceMappingURL=openaiCompatible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openaiCompatible.d.ts","sourceRoot":"","sources":["../../src/providers/openaiCompatible.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiC,eAAe,EAAE,MAAM,aAAa,CAAC;AAqDlF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,sBAAsB,GAAG,eAAe,CAsD7F"}
@@ -0,0 +1,98 @@
1
+ import OpenAI from 'openai';
2
+ // A generic adapter for any provider exposing an OpenAI Chat Completions-shaped
3
+ // API — DeepSeek and Zhipu's GLM both do, via the `openai` SDK pointed at a
4
+ // different baseURL. Deliberately NOT a wrapper around openai.ts: that file
5
+ // talks to OpenAI's newer Responses API (client.responses.create), which
6
+ // neither DeepSeek nor GLM implement — only the older Chat Completions
7
+ // surface (client.chat.completions.create), a materially different wire
8
+ // format (system role lives in the messages array, not a separate
9
+ // instructions field; tool defs are nested {type:'function', function:{...}}
10
+ // rather than flat; tool calls round-trip via `tool_calls`/`role:'tool'`
11
+ // messages keyed by tool_call_id).
12
+ function toChatCompletionMessages(system, messages) {
13
+ const out = [{ role: 'system', content: system }];
14
+ for (const m of messages) {
15
+ if (m.role === 'user') {
16
+ out.push({ role: 'user', content: m.content });
17
+ }
18
+ else if (m.role === 'assistant') {
19
+ const toolCalls = (m.toolCalls ?? []).map((call) => ({
20
+ id: call.id,
21
+ type: 'function',
22
+ function: { name: call.name, arguments: JSON.stringify(call.arguments) },
23
+ }));
24
+ out.push({
25
+ role: 'assistant',
26
+ content: m.content || null,
27
+ ...(toolCalls.length ? { tool_calls: toolCalls } : {}),
28
+ });
29
+ }
30
+ else if (m.role === 'tool') {
31
+ out.push({ role: 'tool', tool_call_id: m.toolCallId ?? '', content: m.content });
32
+ // Chat Completions' tool-role messages are text-only, same limitation
33
+ // as the Responses API — see openai.ts's identical workaround. A bare
34
+ // image_url part isn't valid inside a tool message, so it goes in a
35
+ // synthetic follow-up user turn instead.
36
+ if (m.images?.length) {
37
+ out.push({
38
+ role: 'user',
39
+ content: m.images.map((img) => ({
40
+ type: 'image_url',
41
+ image_url: { url: `data:${img.mimeType};base64,${img.data}` },
42
+ })),
43
+ });
44
+ }
45
+ }
46
+ }
47
+ return out;
48
+ }
49
+ export function createOpenAiCompatibleAdapter(config) {
50
+ const { apiKey, baseURL, model, maxTokens = 4096, providerLabel = baseURL } = config;
51
+ const client = new OpenAI({ apiKey, baseURL });
52
+ return {
53
+ async complete({ system, messages, tools, signal }) {
54
+ let response;
55
+ try {
56
+ response = await client.chat.completions.create({
57
+ model,
58
+ max_tokens: maxTokens,
59
+ messages: toChatCompletionMessages(system, messages),
60
+ tools: tools.map((t) => ({
61
+ type: 'function',
62
+ function: { name: t.name, description: t.description, parameters: t.inputSchema },
63
+ })),
64
+ }, { signal });
65
+ }
66
+ catch (err) {
67
+ throw new Error(`${providerLabel} completion failed: ${err.message}`);
68
+ }
69
+ const message = response.choices[0]?.message;
70
+ const toolCalls = (message?.tool_calls ?? [])
71
+ .filter((tc) => tc.type === 'function')
72
+ .map((tc) => ({
73
+ id: tc.id,
74
+ name: tc.function.name,
75
+ arguments: JSON.parse(tc.function.arguments || '{}'),
76
+ }));
77
+ // prompt_cache_hit_tokens is a real DeepSeek response field, not part
78
+ // of the base OpenAI usage type — read it defensively via an index
79
+ // signature rather than widening the shared type for one provider's
80
+ // extension. Left undefined (never a fabricated 0) for providers that
81
+ // don't send it, matching cost.ts's own "undefined means unknown, not
82
+ // zero" convention.
83
+ const usageRaw = response.usage;
84
+ return {
85
+ text: message?.content ?? '',
86
+ toolCalls,
87
+ usage: usageRaw
88
+ ? {
89
+ inputTokens: usageRaw.prompt_tokens,
90
+ outputTokens: usageRaw.completion_tokens,
91
+ cacheReadTokens: usageRaw.prompt_cache_hit_tokens,
92
+ }
93
+ : undefined,
94
+ };
95
+ },
96
+ };
97
+ }
98
+ //# sourceMappingURL=openaiCompatible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openaiCompatible.js","sourceRoot":"","sources":["../../src/providers/openaiCompatible.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@appliqation/agent-core",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Shared engine (think->act->observe loop, budget tracking, appq MCP client, gated tool dispatch, Playwright browser tools, evidence capture) for Appliqation's family of standalone agents.",
5
5
  "license": "MIT",
6
- "repository": { "type": "git", "url": "git+https://github.com/appliqation/agent-core.git" },
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/appliqation/agent-core.git"
9
+ },
7
10
  "homepage": "https://github.com/appliqation/agent-core#readme",
8
- "bugs": { "url": "https://github.com/appliqation/agent-core/issues" },
11
+ "bugs": {
12
+ "url": "https://github.com/appliqation/agent-core/issues"
13
+ },
9
14
  "type": "module",
10
15
  "main": "dist/index.js",
11
16
  "types": "dist/index.d.ts",