diff --git a/a2as.yaml b/a2as.yaml new file mode 100644 index 0000000..39322e6 --- /dev/null +++ b/a2as.yaml @@ -0,0 +1,122 @@ +manifest: + version: "0.1.2" + schema: https://a2as.org/cert/schema + subject: + name: obrizan/doi-parser + source: https://github.com/obrizan/doi-parser + branch: dev + commit: "85086aa7" + scope: [crossref/__init__.py, scopus/__init__.py, assistant/__init__.py] + issued: + by: A2AS.org + at: '2026-01-26T16:11:42Z' + signatures: + digest: sha256:Wh8Zr7cunMu_B8in-asOJJin-x4P0FmHvYmW2vp6w3s + key: ed25519:adyLm-ZOE12G1dGYm7Fn2XITAG9CblU2Mg6PnnEpGfU + sig: ed25519:I-YXehNIyeVxiJZ5pBxjyQqR1LMEALHEefAZHl2rkW0DzcDUZkYeW6twoX3L3ZnjdN7h4cH43vhbPb57-rnQAg + +agents: + agent: + type: instance + models: [gpt-4.1] + tools: [find_doi_by_title_tool] + params: + name: Crossref search + output_type: ReferenceLookupResult + instructions: ['Find DOI from a title or partial citation using Crossref. If the user gives any reference-like string, + you must call this tool. Search by the paper/document title only. Do not search by a conference name or journal + name.'] + +models: + gpt-4.1: + type: default + agents: [agent] + +tools: + find_doi_by_title_tool: + type: decorator + agents: [agent] + +imports: + Agent: agents.Agent + asyncio: asyncio + BaseModel: pydantic.BaseModel + csv: csv + find_doi_by_title: crossref.find_doi_by_title + first_true: more_itertools.first_true + function_tool: agents.function_tool + get_by_doi: scopus.get_by_doi + os: os + requests: requests + Runner: agents.Runner + +functions: + __init__: + type: sync + module: scopus + args: [self, data] + doi: + type: sync + module: scopus + args: [self] + params: + returns: str + find_doi_by_title: + type: sync + module: crossref + args: [title] + find_doi_by_title_tool: + type: tool + module: assistant + args: [title] + params: + returns: dict + format_citation: + type: sync + module: crossref + args: [data] + params: + returns: str + get_by_doi: + type: sync + module: scopus + args: [doi] + main: + type: async + module: assistant + scopus_id: + type: sync + module: scopus + args: [self] + params: + returns: str + url: + type: sync + module: scopus + args: [self] + params: + returns: str + +files: + references.txt: + type: literal + actions: [read] + params: + caller: [open] + alias: [f] + results.csv: + type: literal + actions: [write] + params: + caller: [open, csv.writer] + alias: [csvfile] + +networks: + api.crossref.org: + type: api + actions: [GET] + urls: [/works] + protocols: [https] + ports: ["443"] + params: + caller: [find_doi_by_title, get_by_doi]