| 1234567891011121314151617181920 |
- // A preset row standing in for the agent-plane tool rows a real preset mounts.
- // Import-free on purpose — the Loader resolves entry modules through Node's ESM
- // resolver, which cannot see this workspace's TypeScript sources.
- export const name = 'preset-tool'
- export const inject = ['tools', 'systemPrompt']
- export function apply(ctx, config) {
- ctx.effect(() => ctx.tools.register({
- name: config.tool,
- description: `fixture tool ${config.tool}`,
- parameters: { type: 'object', properties: {}, additionalProperties: false },
- output: { schema: { type: 'string' }, render: (_args, value) => [{ type: 'text', text: String(value) }] },
- execute: () => Promise.resolve(config.tool),
- }))
- ctx.effect(() => ctx.systemPrompt.section({
- name: `preset:${config.tool}`,
- order: 10,
- text: `section for ${config.tool}`,
- }))
- }
|