@fbraza/pi-zenodo
v0.3.0
Published
Pi extension with Zenodo draft tools for journal article deposits.
Downloads
436
Maintainers
Readme
@fbraza/pi-zenodo
A Pi extension providing Zenodo draft tools for journal article deposits via the Zenodo REST API.
Current scope: create Zenodo drafts, retrieve/list depositions, list licenses, upload article PDFs/files to draft buckets, update validated journal article metadata, delete unpublished drafts, and optionally publish after exact confirmation and preflight validation.
Draft-only does not mean sandbox-only. Sandbox is the default test environment; production can be selected explicitly, but records remain unpublished drafts.
Layout
pi-zenodo/
├── src/ # Extension entry point + Zenodo tool modules
│ └── tools/ # One registerXxxTool(pi) per Zenodo action
├── skills/zenodo/ # Bundled skill instructions + references
├── package.json # pi-package manifest (extensions + skills)
└── tsconfig.json # Editor / type-check support (runtime uses jiti)Bundled skill
The zenodo skill guides the agent through draft-only journal article deposits:
- read article PDFs,
- extract candidate metadata,
- confirm ambiguous or policy-sensitive fields,
- create/update/upload to a Zenodo draft,
- retrieve the draft and stop before publish.
Publishing is a separate opt-in step requiring an exact confirmation phrase such
as publish sandbox deposition 123 or publish production deposition 123.
Environments
- Sandbox:
https://sandbox.zenodo.org/api/(default during development) - Production:
https://zenodo.org/api/(opt-in only)
Install
pi install npm:@fbraza/pi-zenodo
# or
pi install git:github.com/fbraza/pi-zenodoDevelop
npm install
npm test
npm run pack:checkEnvironment variables
| Variable | Purpose |
|---|---|
| ZENODO_SANDBOX_TOKEN | Sandbox access token (default environment) |
| ZENODO_TOKEN | Production access token |
