Governed substrate for autonomous agents: scoped identity (passports), audited actions, MCP workspace. Infra IPs and secrets redacted for public release.
46 lines
1.7 KiB
JavaScript
46 lines
1.7 KiB
JavaScript
/**
|
|
* Bluesky (AT Protocol) tool definitions — kosher social-listening.
|
|
*
|
|
* Public posts only. Dual-use frame: research / integrity / due-diligence.
|
|
* See bluesky-tools.js for the handler + the "Austin recon" stack rationale.
|
|
*/
|
|
|
|
export const BLUESKY_TOOLS = [
|
|
{
|
|
type: 'function',
|
|
function: {
|
|
name: 'bluesky_search',
|
|
description:
|
|
'Search PUBLIC Bluesky (AT Protocol) posts for social-listening: discover a pain/topic and map WHO amplifies it. Returns post text plus engagement metrics (likes/reposts/replies/quotes) and the author handle (amplifier graph node). Public posts only — no private data, no person-deanon. Use sort="top" to rank by engagement (who amplifies), "latest" for recency.',
|
|
parameters: {
|
|
type: 'object',
|
|
properties: {
|
|
query: {
|
|
type: 'string',
|
|
description: 'Search query (keywords or phrase). Bluesky full-text search over public posts.',
|
|
},
|
|
limit: {
|
|
type: 'number',
|
|
description: 'Number of posts to return (default: 25, max: 100).',
|
|
},
|
|
sort: {
|
|
type: 'string',
|
|
enum: ['top', 'latest'],
|
|
description: 'Ranking: "top" = by engagement (best for finding amplifiers), "latest" = newest first. Default: top.',
|
|
},
|
|
since: {
|
|
type: 'string',
|
|
description: 'Optional ISO8601 lower bound on indexedAt (e.g. 2026-06-01T00:00:00Z).',
|
|
},
|
|
until: {
|
|
type: 'string',
|
|
description: 'Optional ISO8601 upper bound on indexedAt.',
|
|
},
|
|
},
|
|
required: ['query'],
|
|
},
|
|
},
|
|
},
|
|
];
|
|
|
|
export default BLUESKY_TOOLS;
|