40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.toolHandler = exports.toolDefinition = void 0;
|
|
exports.toolDefinition = {
|
|
name: 'create_thread',
|
|
description: 'Create a new conversation thread to isolate context for a specific task.',
|
|
inputSchema: {
|
|
type: 'object',
|
|
properties: {
|
|
title: {
|
|
type: 'string',
|
|
description: 'Title of the thread (e.g., "Implement User Auth", "Fix Bug #123")'
|
|
},
|
|
description: {
|
|
type: 'string',
|
|
description: 'Optional detailed description of the task'
|
|
},
|
|
switchTo: {
|
|
type: 'boolean',
|
|
description: 'Whether to switch to this thread immediately (default: true)'
|
|
},
|
|
tags: {
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
description: 'Tags for categorization (e.g., "frontend", "bugfix")'
|
|
}
|
|
},
|
|
required: ['title']
|
|
}
|
|
};
|
|
const toolHandler = async (invocation, threadManager) => {
|
|
const input = invocation.input;
|
|
// Default switchTo to true if not provided, consistent with command behavior
|
|
if (input.switchTo === undefined) {
|
|
input.switchTo = true;
|
|
}
|
|
return await threadManager.createThread(input);
|
|
};
|
|
exports.toolHandler = toolHandler;
|