{"id":21094353,"url":"https://github.com/zequez/agent-centric-prototyping-service","last_synced_at":"2025-03-14T07:09:47.627Z","repository":{"id":149415026,"uuid":"400926845","full_name":"Zequez/agent-centric-prototyping-service","owner":"Zequez","description":"A barebones server to easily try out some agent-centric app ideas without the need of decentralized tech","archived":false,"fork":false,"pushed_at":"2021-08-31T00:53:57.000Z","size":46,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-21T01:41:43.028Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zequez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-29T01:41:41.000Z","updated_at":"2021-08-31T00:53:59.000Z","dependencies_parsed_at":"2023-09-03T23:17:19.190Z","dependency_job_id":null,"html_url":"https://github.com/Zequez/agent-centric-prototyping-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zequez%2Fagent-centric-prototyping-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zequez%2Fagent-centric-prototyping-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zequez%2Fagent-centric-prototyping-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zequez%2Fagent-centric-prototyping-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zequez","download_url":"https://codeload.github.com/Zequez/agent-centric-prototyping-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243538139,"owners_count":20307104,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T22:17:07.147Z","updated_at":"2025-03-14T07:09:47.602Z","avatar_url":"https://github.com/Zequez.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agent Centric Prototyping Service\n\nBarebones server to use for agent-centric app prototyping that after maturation\ncan be progressively adapted to use more advanced protocols such as Holochain,\nSecure Scuttlebutt, IPFS, etc.\n\n## Characteristics\n\n- **Agent-Centric:** This means that each participant has their own Document, that holds\n  all their data. This also means that if you wish to participate *as a group* with other\n  people, you would also have your own group-Document. Identify with a simple secret passphrase.\n- **Public:** This means that all the data stored is open to be seen by anyone;\n  there are no secret information silos. Encrypt it yourself if you want. It also means that\n  it's a public utility, like a park or a beach; maintained by individuals, enjoyed by everyone.\n- **Mutable:** This means that the data stored is mutable and we don't maintain a copy. Treat\n  the data as ephemeral. Back it up yourself if you want.\n- **:** All the resources are available for everyone to use, so we don't need\n  to rely on Firebase or some other SASS service, we can all use a single server. This encurages to collaborate with other pilot projects.\n\n## Responsibilities\n\n- ✔ Be online and accessible from any website\n- ✔ Optional authentication with a passphrase\n- ✔ Store agents data\n- ✔ Serve all agents data\n- Serve agents data based on query\n- Validate data storage according to agreements\n- Store blobs on IPFS and serve them or use a pinning service\n- Enforce limit on agent records size\n- ✔ Playground panel to explore the all the service functionalities\n\n## Usage\n\nPublic URL: https://agent-centric-prototyping-service.zequez.space\n\nThat is running on a Digital Ocean US$ 5 / month droplet.\n\nAll the deployment and everything is all handmade.\n\nThe server does not have any security policies to prevent abuse yet; so it's likely you could easily break it; if you figure out how to break it, create an issue.\n\nSo far there is no database, every participant data is stored on the filesystem as\nan independent file.\n\n### Start development server\n\nThe app build for [Deno](https://deno.land/). Follow instructions there to have it installed.\n\nWe use [Denon](https://deno.land/x/denon) for running scripts. Follow instructions there to install it.\n\n```bash\ndenon dev\n```\n\n### GET /participants\n\nReturns the whole dataset as JSON\n\n### GET /participants/:agentName\n\nReturns whole agent data as JSON\n\n### POST /participants/:agentName\n\nSaves whole agent data from JSON-encoded body.\nCan be used Authorization\n\n### DELETE /participants/:agentName\n\nDeletes agent\nCan be used with Authorization\n\n### Authorization\n\nAuthorization is not obligatory; by default anyone can save any agent data unless\nthat agent has set a passphrase; which is stored on the server as a SHA3-512 hashed string.\n\nUse header `Authorization: Basic \u003cB64_encoded_passphrase\u003e` when submitting agent data\nand it will save the passphrase. Next time that agent data is submitted, the same\nauthorization passphrase must be used or the request will be rejected.\n\n### Security\n\nThis is intended for prototyping and is untested code without any security guarantees.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzequez%2Fagent-centric-prototyping-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzequez%2Fagent-centric-prototyping-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzequez%2Fagent-centric-prototyping-service/lists"}