app
adom-courier
Public Made by Adomby adom
App-neutral Google Chat human-in-the-loop middleware for Adom apps. Two directions: apps POST /requests to ask a human (Marv posts via adom-gchat, the reply comes back with identity + attachment bytes
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
{
"slug": "adom-courier",
"version": "0.2.3",
"type": "app",
"license": "MIT",
"description": "App-neutral Google Chat human-in-the-loop middleware for Adom apps. Two directions: apps POST /requests to ask a human (Marv posts via adom-gchat, the reply comes back with identity + attachment bytes via adom-google), AND people can START a thread that the courier routes to that space's app, which replies as Marv — turning Chat into a front-end for AI-first apps. Apps never touch Google. Pull-based (sidesteps the inbound push edge), per-app bearer auth, multi-turn, attachment-aware.",
"keywords": [
"adom-courier",
"google-chat",
"human-in-the-loop",
"middleware",
"broker",
"marv",
"adom-gchat",
"adom-google",
"cli",
"ai-agent"
],
"tags": [
"google-chat",
"human-in-the-loop",
"middleware",
"cli",
"ai-agent",
"mit"
],
"discovery_triggers": [
"human in the loop",
"ask a human in chat",
"capture a chat reply",
"send me a photo via chat",
"google chat bot reply",
"route an app request to a person",
"dispatch a chat answer to my app",
"facility inspection photo",
"adom-courier",
"courier"
],
"install": {
"binary_name": "adom-courier"
},
"dependencies": {
"adom/adom-google": "*",
"adom/adom-gchat": "*"
},
"scripts": {
"install": "./install.sh",
"uninstall": "./uninstall.sh"
},
"files": [
"bin/adom-courier",
"server.js",
"config.json",
"skills/adom-courier/SKILL.md",
"service/watchdog.sh",
"service/deploy.sh",
"README.md",
"LICENSE",
"install.sh",
"uninstall.sh",
"package.json",
"docs/hero.png",
"docs/flow.png",
"docs/session.png"
],
"visibility": "public",
"org": "adom",
"author": {
"name": "Drew Owens",
"email": "[email protected]"
},
"hero": {
"type": "image",
"path": "screenshots/hero.png"
}
}