Files
openclaw/extensions/llm-task/index.ts
Peter Steinberger fa77fe10d5 chore: migrate active GPT-5.5 references to GPT-5.6 (#104452)
* chore(models): migrate active GPT-5.5 references

* test(workboard): expect GPT-5.6 Sol default

* chore: keep release notes in PR body

* test(models): align picker fixtures with Sol default

* test: update PDF default model expectation

* test(qa): migrate thinking smoke to Luna

* test(gateway): align mock catalog with Sol default

* ci: retrigger exact-head PR checks

* test(gateway): document default catalog invariant
2026-07-11 06:30:57 -07:00

35 lines
1.2 KiB
TypeScript

// Llm Task plugin entrypoint registers its OpenClaw integration.
import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions";
import { defineToolPlugin } from "openclaw/plugin-sdk/tool-plugin";
import { Type } from "typebox";
import type { AnyAgentTool } from "./api.js";
import { createLlmTaskTool, llmTaskToolDefinition } from "./src/llm-task-tool.js";
export default defineToolPlugin({
id: "llm-task",
name: "LLM Task",
description: "Generic JSON-only LLM tool for structured tasks callable from workflows.",
configSchema: Type.Object(
{
defaultProvider: Type.Optional(Type.String()),
defaultModel: Type.Optional(Type.String()),
defaultAuthProfileId: Type.Optional(Type.String()),
allowedModels: Type.Optional(
Type.Array(Type.String(), {
description: "Allowlist of provider/model keys like openai/gpt-5.6-sol.",
}),
),
maxTokens: optionalPositiveIntegerSchema(),
timeoutMs: optionalPositiveIntegerSchema(),
},
{ additionalProperties: false },
),
tools: (tool) => [
tool({
...llmTaskToolDefinition,
optional: true,
factory: ({ api }) => createLlmTaskTool(api) as unknown as AnyAgentTool,
}),
],
});