@perkos/perkos-a2a 0.12.41 → 0.12.42
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/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +39 -2
- package/dist/index.js.map +2 -2
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -55,6 +55,19 @@ type EmbeddedChatRunResult = {
|
|
|
55
55
|
};
|
|
56
56
|
};
|
|
57
57
|
export declare function extractOpenClawChatReply(result: EmbeddedChatRunResult): string | null;
|
|
58
|
+
export type OpenClawRuntimeModelRoute = {
|
|
59
|
+
provider: string;
|
|
60
|
+
model: string;
|
|
61
|
+
source: "plugin-override" | "agent-default" | "gateway-default";
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Resolve the provider/model route already owned by OpenClaw. The embedded
|
|
65
|
+
* runner in OpenClaw 2026.5.x does not resolve `agents.defaults.model` when a
|
|
66
|
+
* plugin calls it directly; without explicit run parameters it silently
|
|
67
|
+
* starts from openai/gpt-5.5. Passing this resolved route is therefore an
|
|
68
|
+
* adapter responsibility, not a PerkOS model choice.
|
|
69
|
+
*/
|
|
70
|
+
export declare function resolveOpenClawRuntimeModelRoute(runtimeConfig: unknown, agentId: string, explicitPluginOverride?: string): OpenClawRuntimeModelRoute | null;
|
|
58
71
|
export declare function runOpenClawChatTurn(api: any, config: A2APluginConfig, sessionKey: string, prompt: string, transcriptPrompt: string, logger: {
|
|
59
72
|
info: (...args: unknown[]) => void;
|
|
60
73
|
error: (...args: unknown[]) => void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAGV,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,cAAc,YAAY,CAAC;AA0C3B,kEAAkE;AAClE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAItF;AAED,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAoFpD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,oBAAoB,EAAE,MAAM,GAC3B,OAAO,CA2BT;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAsCT;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,oBAAoB,EAC3B,eAAe,CAAC,EAAE,MAAM,GACvB,oBAAoB,CA+BtB;AAED,wBAAsB,0BAA0B,CAC9C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,GAClF,OAAO,CAAC,IAAI,CAAC,CAsBf;AA+BD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,CAAC,EAAE;QACL,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,GAAG,IAAI,CAYrF;AAQD,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAA;CAAE,GAClF,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29631,6 +29631,31 @@ function openclawAgentId(config) {
|
|
|
29631
29631
|
const parts = sessionKey.split(":");
|
|
29632
29632
|
return parts[0] === "agent" && parts[1] ? parts[1] : "main";
|
|
29633
29633
|
}
|
|
29634
|
+
function parseOpenClawModelRef(value) {
|
|
29635
|
+
const modelRef = typeof value === "string" ? value.trim() : value && typeof value === "object" && typeof value.primary === "string" ? String(value.primary).trim() : "";
|
|
29636
|
+
const separator = modelRef.indexOf("/");
|
|
29637
|
+
if (separator <= 0 || separator >= modelRef.length - 1) return null;
|
|
29638
|
+
return {
|
|
29639
|
+
provider: modelRef.slice(0, separator),
|
|
29640
|
+
model: modelRef.slice(separator + 1)
|
|
29641
|
+
};
|
|
29642
|
+
}
|
|
29643
|
+
function resolveOpenClawRuntimeModelRoute(runtimeConfig, agentId, explicitPluginOverride) {
|
|
29644
|
+
const explicit = parseOpenClawModelRef(explicitPluginOverride);
|
|
29645
|
+
if (explicit) return { ...explicit, source: "plugin-override" };
|
|
29646
|
+
if (!runtimeConfig || typeof runtimeConfig !== "object") return null;
|
|
29647
|
+
const agents = runtimeConfig.agents;
|
|
29648
|
+
if (!agents || typeof agents !== "object") return null;
|
|
29649
|
+
const agentConfig = agents;
|
|
29650
|
+
const list = Array.isArray(agentConfig.list) ? agentConfig.list : [];
|
|
29651
|
+
const selectedAgent = list.find((entry) => entry && typeof entry === "object" && String(entry.id ?? "").trim() === agentId);
|
|
29652
|
+
const selected = parseOpenClawModelRef(selectedAgent?.model);
|
|
29653
|
+
if (selected) return { ...selected, source: "agent-default" };
|
|
29654
|
+
const defaults = agentConfig.defaults;
|
|
29655
|
+
if (!defaults || typeof defaults !== "object") return null;
|
|
29656
|
+
const gateway = parseOpenClawModelRef(defaults.model);
|
|
29657
|
+
return gateway ? { ...gateway, source: "gateway-default" } : null;
|
|
29658
|
+
}
|
|
29634
29659
|
async function runOpenClawChatTurn(api, config, sessionKey, prompt, transcriptPrompt, logger) {
|
|
29635
29660
|
const runEmbeddedAgent = api.runtime?.agent?.runEmbeddedAgent;
|
|
29636
29661
|
const currentConfig = api.runtime?.config?.current;
|
|
@@ -29641,6 +29666,11 @@ async function runOpenClawChatTurn(api, config, sessionKey, prompt, transcriptPr
|
|
|
29641
29666
|
}
|
|
29642
29667
|
const agentId = openclawAgentId(config);
|
|
29643
29668
|
const runtimeConfig = currentConfig();
|
|
29669
|
+
const runtimeRoute = resolveOpenClawRuntimeModelRoute(
|
|
29670
|
+
runtimeConfig,
|
|
29671
|
+
agentId,
|
|
29672
|
+
config.runtime?.model
|
|
29673
|
+
);
|
|
29644
29674
|
const workspaceDir = resolveAgentWorkspaceDir(runtimeConfig, agentId);
|
|
29645
29675
|
const sessionContext = readOpenClawChatSession(api, agentId, sessionKey);
|
|
29646
29676
|
const entry = sessionContext.entry;
|
|
@@ -29650,8 +29680,13 @@ async function runOpenClawChatTurn(api, config, sessionKey, prompt, transcriptPr
|
|
|
29650
29680
|
75e3,
|
|
29651
29681
|
typeof configuredTimeout === "number" && configuredTimeout > 0 ? configuredTimeout : 75e3
|
|
29652
29682
|
);
|
|
29653
|
-
let selectedProvider;
|
|
29654
|
-
let selectedModel;
|
|
29683
|
+
let selectedProvider = runtimeRoute?.provider;
|
|
29684
|
+
let selectedModel = runtimeRoute?.model;
|
|
29685
|
+
if (runtimeRoute) {
|
|
29686
|
+
logger.info(
|
|
29687
|
+
`[perkos-chat] using OpenClaw runtime-owned route ${runtimeRoute.provider}/${runtimeRoute.model} (${runtimeRoute.source})`
|
|
29688
|
+
);
|
|
29689
|
+
}
|
|
29655
29690
|
const run = async (configOverride, retryNative = false) => runEmbeddedAgent({
|
|
29656
29691
|
sessionId,
|
|
29657
29692
|
sessionKey,
|
|
@@ -29670,6 +29705,7 @@ async function runOpenClawChatTurn(api, config, sessionKey, prompt, transcriptPr
|
|
|
29670
29705
|
terminalReplyExpectation: "required",
|
|
29671
29706
|
suppressLiveStreamOutput: true,
|
|
29672
29707
|
cleanupBundleMcpOnRunEnd: true,
|
|
29708
|
+
...selectedProvider && selectedModel ? { provider: selectedProvider, model: selectedModel } : {},
|
|
29673
29709
|
onExecutionPhase: (info) => {
|
|
29674
29710
|
if (info.provider?.trim()) selectedProvider = info.provider.trim();
|
|
29675
29711
|
if (info.model?.trim()) selectedModel = info.model.trim();
|
|
@@ -30507,6 +30543,7 @@ export {
|
|
|
30507
30543
|
omitUnavailableAgentHarness,
|
|
30508
30544
|
openclawChatSessionKey,
|
|
30509
30545
|
prepareOpenClawChatSession,
|
|
30546
|
+
resolveOpenClawRuntimeModelRoute,
|
|
30510
30547
|
runOpenClawChatTurn,
|
|
30511
30548
|
useNativeHarnessForResolvedRoute
|
|
30512
30549
|
};
|