~ knotless Search/
↑↓ move↵ open⇧↵ all results

johnandersen777.bsky.social/atlibs-asyncai

0
0
main
44 lines · 3.0 KB Raw History
{
	"name": "asyncai",
	"description": "An agent loop: inference over the Anthropic Messages API or OpenAI chat completions (co/core, or any compatible endpoint), tools from MCP servers (Streamable HTTP over https or a host transport's webrtc:// and iroh:// URLs, or in-process through a composition; given at the start or connected by the model mid-run), until the model stops or the step cap.",
	"actions": [
		{
			"entry": "run",
			"label": "Run the agent",
			"description": "Sends the prompt (after any earlier messages), calls the MCP tools the model asks for, and answers with the transcript.",
			"fields": [
				{ "key": "prompt", "label": "Prompt" },
				{ "key": "system", "label": "System prompt" },
				{ "key": "provider", "label": "API format: anthropic (Messages API, the default) or openai (chat completions)" },
				{ "key": "endpoint", "label": "Base URL (anthropic: https://api.anthropic.com; openai: https://cocore.dev/api/v1)" },
				{ "key": "model", "label": "Model (anthropic: claude-opus-5-5; openai: required, e.g. stub on co/core)" },
				{ "key": "maxSteps", "label": "Inference calls at most (default 9)" },
				{ "key": "compact", "label": "Compaction: client (default), server (Anthropic's beta) or off" },
				{ "key": "contextWindow", "label": "Context window, tokens (default 200000; compaction at compactAt, default 0.8, of it)" },
				{ "key": "mcp", "label": "MCP servers, JSON: [{\"name\":\"docs\",\"url\":\"https://...\"}, {\"name\":\"vm\",\"url\":\"webrtc:///...\"}, {\"name\":\"code\",\"hook\":\"com.fedfork.exec.mcp.message\"}]" },
				{ "key": "dynamicMcp", "label": "MCP servers the model may connect mid-run (mcp_connect): true (any URL the host allows), or JSON: [\"url\" | a URL prefix, e.g. webrtc:/// or iroh:/// | a hook NSID]" }
			]
		}
	],
	"config": [
		{ "key": "system", "label": "System prompt", "type": "string" },
		{ "key": "provider", "label": "API format", "type": "string", "description": "anthropic (the default) or openai" },
		{ "key": "endpoint", "label": "Base URL", "type": "string" },
		{ "key": "model", "label": "Model", "type": "string" },
		{ "key": "maxSteps", "label": "Inference calls at most", "type": "integer" },
		{ "key": "compact", "label": "Compaction", "type": "string", "description": "client (default), server or off" },
		{ "key": "contextWindow", "label": "Context window, tokens", "type": "integer" },
		{ "key": "mcp", "label": "MCP servers", "type": "array", "description": "[{name, url} | {name, hook}]: a hook is an edge of the composition" },
		{ "key": "dynamicMcp", "label": "MCP servers the model may connect mid-run", "type": "array", "description": "URLs, URL prefixes or hook NSIDs" }
	],
	"calls": ["com.fedfork.exec.http.fetch", "com.fedfork.exec.held.append", "com.fedfork.exec.held.put"],
	"http": ["*", "webrtc://*", "iroh://*"],
	"hooks": [
		{
			"nsid": "com.fedfork.exec.mcp.message",
			"reason": "an in-process MCP server: one JSON-RPC message in, its response out (null for a notification)"
		}
	],
	"anyHooks": true,
	"session": "asyncai"
}