({ client, directory })
| 1665 | }), |
| 1666 | opencode_loop_goal_progress: tool({ |
| 1667 | description: "Record meaningful progress on the current OpenCode Loop experimental goal without completing it.", |
| 1668 | args: { |
| 1669 | summary: tool.schema.string().describe("What useful progress was made."), |
| 1670 | next: tool.schema.string().describe("The next step toward completing the goal."), |
| 1671 | }, |
| 1672 | execute: async (args, context) => { |
| 1673 | const result = await setGoalProgress(context.directory || defaultDirectory, context.sessionID, args) |
| 1674 | return { title: result.ok ? "Goal progress" : "Goal not found", output: result.message } |
| 1675 | }, |
| 1676 | }), |
| 1677 | } |
| 1678 | } |
| 1679 | |
| 1680 | export const OpenCodeLoopPlugin = async ({ client, directory }) => { |
| 1681 | await log(client, "info", "Plugin initialized", { directory }) |
| 1682 | return { |
| 1683 | tool: goalTools(directory), |
| 1684 | "command.execute.before": async (input, output) => { await handleCommand(directory, client, input, undefined, undefined, output) }, |
| 1685 | event: async ({ event }) => { |
nothing calls this directly
no test coverage detected