feat: IPC additions for reminders/events/routines, ack tracking, tool management
- Extend IPC wire protocol: add ListReminders, ListEvents, ListProposedRoutines, DismissProposedRoutine, AcceptProposedRoutine IPC methods with request/response types. Update wire.go with new message kinds. - Add ack_sends table (migration #5): tracks sev4 telegram repeat-til-ack delivery state with rule name + timestamp, indexed for dedup. - Add Store.DeleteTool: permanently removes a tool row (for dismissing proposed tools), idempotent on missing tool. - Update tick.go: wire new IPC handlers into daemon tick.
This commit is contained in:
@@ -88,6 +88,15 @@ func (s *Store) EnableTool(ctx context.Context, name string, cmd []string, destr
|
||||
return nil
|
||||
}
|
||||
|
||||
// DeleteTool permanently removes a tool row. Used for "dismiss" on proposed
|
||||
// tools — there's no dismissed status, the proposal is simply gone and maven
|
||||
// can re-propose it later if the same gap is encountered. Idempotent: deleting
|
||||
// a tool that doesn't exist is a no-op.
|
||||
func (s *Store) DeleteTool(ctx context.Context, name string) error {
|
||||
_, err := s.db.ExecContext(ctx, `DELETE FROM tools WHERE name = ?`, name)
|
||||
return err
|
||||
}
|
||||
|
||||
// DisableTool sets a tool's status from 'enabled' back to 'proposed'. This is
|
||||
// the "disable" act on the authed surface — the tool stays in the store (its
|
||||
// provenance preserved) but won't run until re-enabled. Idempotent: disabling
|
||||
|
||||
Reference in New Issue
Block a user