← back to Norma

agents/bluesky-agent/server.js

34 lines

/**
 * Norma Bluesky Agent — Port 9806
 *
 * Posts petition content to Bluesky via AT Protocol.
 * Skills: discover, post, reply, monitor, report
 *
 * Runs in simulation mode until BSKY_HANDLE and BSKY_PASSWORD are set.
 */

require('dotenv').config();
const { createAgentServer } = require('../shared/agent-base');

// Import skills
const post = require('./skills/post');

const PORT = 9806;
const AGENT_NAME = 'bluesky-agent';

const { app, start, scheduler } = createAgentServer({
  name: AGENT_NAME,
  port: PORT,
  skills: {
    post,
    // Stubs for other skills — return not-implemented
    discover: async () => ({ message: 'Bluesky discover not yet implemented' }),
    reply: async () => ({ message: 'Bluesky reply not yet implemented' }),
    monitor: async () => ({ message: 'Bluesky monitor not yet implemented' }),
    report: async () => ({ message: 'Bluesky report not yet implemented' }),
  },
  cronJobs: [],
});

start();