fix: POST for file creation (Gitea 1.25+), add edit_issue tool, persist poll state

- files.ts: Use POST for new files, PUT for updates (Gitea 1.25 requires this)
- issues.ts: Add editIssue() for state/title/body changes
- write-tools.ts: Add gitea_edit_issue tool (open/close/edit issues)
- webhook/server.ts: Persist lastPollAt to disk to prevent duplicate
  events on reload; use followUp delivery to queue events during LLM turns
- index.ts: Use deliverAs:'followUp' for sendUserMessage
This commit is contained in:
2026-03-13 17:14:06 -07:00
parent 578e2f91cb
commit b868ad4df5
5 changed files with 105 additions and 9 deletions

View File

@@ -16,7 +16,11 @@ export default function (pi: ExtensionAPI) {
pi.on("session_start", async (_event, ctx) => {
console.log("[pi-gitea] Session started");
const sendMessageFn = ctx.sendUserMessage || ((_msg: string) => Promise.resolve());
const sendMessageFn = (msg: string) => {
// Use followUp so events queue when the LLM is already processing
ctx.sendUserMessage(msg, { deliverAs: "followUp" });
return Promise.resolve();
};
setSendMessage(sendMessageFn);
try {