jadpo package
On this page
Show, check, import and install packages.
show <name> prints a package's description, licence, version, kind and public surface (area 11), installed in packages/ or the app's own in shared/providers/; show <name> <declaration> prints one operation, function, type or failure in full with its file, and --guide prints the package's GUIDE.md. check, run in a package's own repository, checks it as the app's own integration, runs the publishing bar (no errors, a description on every public declaration, the examples in its descriptions run as tests, its tests, a version its changes since the last tag allow, a changelog that says why) and writes surface.jadpo_record and CHANGELOG.md's new section. import openapi <file> reads an OpenAPI 3 document, as JSON, once and offline, into the app's own integration in shared/providers/record <connection> <resource>.<operation> calls the provider's sandbox once, never live, with --input as the operation's input, checks the answer against the operation's types and keeps it in the package's recordings/ with its values as placeholders; jadpo test and check then decode it with every decoder. add installs a package from its folder or from a git repository at a release tag (<repository>@v<version>) into packages/ and jadpo.lock, once its surface matches its code; update moves one to its newest release, listing what changed; remove takes out one the app no longer uses; link compiles the app against a package's live checkout, which CI refuses, and unlink goes back to the installed version. recipe <package> <recipe> --into <domain> copies one of a package's recipes into a domain, where it becomes the app's own code, never writing over a file it has.
Also: jadpo packages.
jadpo package <action> [name] [declaration]Arguments
action: What to do: show, check, import, record, conform, add, update, remove, link, unlink or recipename(optional): The package, such as holidays; for check and link, its folder; for add, its folder or@v ; for import, openapi; for record, the connection; for conform and recipe, the package declaration(optional): One of its declarations, such as uk.dates; for import, the file; for record, the operation, as. ; for conform, the capability, ai; for recipe, the recipe
Flags
--guide: Print the package's GUIDE.md--as <name>: For import: its name, such as Tidepool.v1--input <json>: For record: the operation's input as JSON--live: For conform: run it against the real API--into <domain>: For recipe: the domain it is copied into
On every command
--json: Print data for tools instead of text--help: Show every flag, with examples--color <when>: Choose when to use colour
jadpo package --json writes one JSON document to standard output instead of text, with the same exit code. The document has schemaVersion, command ("package"), ok, data (what the command produced, null when it failed) and diagnostics (each error with its rule, reason, next and help). A command that needs a terminal refuses --json and names the flags that do the same job.
Examples
# See what the holidays package offersjadpo package show holidays# See one of its functions in fulljadpo package show holidays uk.dates# Run the publishing bar in a package's own repositoryjadpo package check# Import another Jadpo application's APIjadpo package import openapi ../orders/build/openapi/main.json# Install a package from its git repository at a releasejadpo package add github.com/acme/holidays@v2.1.0# Try the app against a package's checkout before it is releasedjadpo package link ../holidays# Copy a package's recipe into a domainjadpo package recipe holidays closures --into scheduling# Record a sandbox's answer to confirm an operationjadpo package record holidays dates.list --input '{"year": 2027}'
Errors
cli.package_arguments: Package command has invalid argumentscli.package_not_openapi: Description to import is not an OpenAPI 3 documentcli.package_unreadable: Description to import could not be read as JSONrecording.failed: Sandbox or model gave no answer to recordrecording.refused: Answer can't be recorded through this connectioninstall.fetch_failed: Package's git repository or tag couldn't be readinstall.in_use: Package to remove is still used by the appinstall.surface_mismatch: Package's committed surface doesn't match its codepackage.name_taken: Package's name is already one of the app'spublish.breaking_change: Package's surface breaks its last release within one major versionpublish.changelog_missing: Package's changelog doesn't say why its new version is releasedpublish.description_missing: Package's public declaration has no descriptionpublish.example_failed: Example in a package's description doesn't compile or doesn't holdpublish.example_missing: Package's function has no example, or a failure it raises is shown by nonerecord.edited: Generated record was edited by handtest.failed: Test run failedtoolchain.artifact_write_failed: Generated file could not be writtentoolchain.not_built_yet: Operation is declared but not built yettoolchain.project_not_found: Project could not be foundtoolchain.source_read_failed: Jadpo source file could not be read
Markdown for agents: /docs/jadpo-package.md.Built from Jadpo main at a707efb.