anncsu-sdk 0.0.1.dev28__tar.gz → 0.0.1.dev30__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- anncsu_sdk-0.0.1.dev28/README.md → anncsu_sdk-0.0.1.dev30/PKG-INFO +46 -0
- anncsu_sdk-0.0.1.dev28/PKG-INFO → anncsu_sdk-0.0.1.dev30/README.md +30 -14
- anncsu_sdk-0.0.1.dev30/docs/CLI.md +422 -0
- anncsu_sdk-0.0.1.dev30/docs/speakeasy.md +73 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/pyproject.toml +5 -0
- anncsu_sdk-0.0.1.dev30/scripts/post_speakeasy_generation.py +277 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/__init__.py +17 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/app.py +80 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/commands/__init__.py +9 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/commands/assertion.py +214 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/commands/auth.py +361 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/commands/config.py +400 -0
- anncsu_sdk-0.0.1.dev30/src/anncsu/cli/models.py +91 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/auth.py +74 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/pa/_hooks → anncsu_sdk-0.0.1.dev30/src/anncsu/common/hooks}/types.py +8 -5
- anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk/__init__.py +26 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/pa → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/basesdk.py +19 -9
- anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk/protocols.py +33 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/pa → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/__init__.py +21 -12
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/sdkconfiguration.py +3 -3
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/security.py +2 -2
- anncsu_sdk-0.0.1.dev30/src/anncsu/common/session.py +144 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/pa → anncsu_sdk-0.0.1.dev30/src/anncsu/common}/types/__init__.py +7 -4
- anncsu_sdk-0.0.1.dev30/src/anncsu/common/utils/__init__.py +110 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/_hooks/__init__.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/_hooks/registration.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/_hooks/sdkhooks.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoaccessigetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoaccessigetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoaccessipostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoaccessiproggetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoaccessiproggetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoaccessiprogpostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoodonimigetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoodonimigetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoodonimipostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoodonimiproggetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoodonimiproggetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/elencoodonimiprogpostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/esisteaccessogetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/esisteaccessogetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/esisteaccessopostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/esisteodonimogetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/esisteodonimogetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/esisteodonimopostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/prognazaccgetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/prognazaccgetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/prognazaccpostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/prognazareagetpathparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/prognazareagetqueryparamop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/prognazareapostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/show_statusop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/jsonpost.py +4 -4
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoaccessigetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoaccessigetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoaccessipostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoaccessiproggetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoaccessiproggetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoaccessiprogpostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoodonimigetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoodonimigetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoodonimipostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoodonimiproggetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoodonimiproggetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/elencoodonimiprogpostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/esisteaccessogetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/esisteaccessogetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/esisteaccessopostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/esisteodonimogetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/esisteodonimogetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/esisteodonimopostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/prognazaccgetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/prognazaccgetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/prognazaccpostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/prognazareagetpathparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/prognazareagetqueryparamop.py +2 -2
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/prognazareapostop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/show_statusop.py +1 -1
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/pathparam.py +4 -4
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/queryparam.py +4 -4
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/sdk.py +10 -6
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/sdkconfiguration.py +3 -3
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/status.py +4 -4
- anncsu_sdk-0.0.1.dev30/tests/cli/__init__.py +3 -0
- anncsu_sdk-0.0.1.dev30/tests/cli/conftest.py +116 -0
- anncsu_sdk-0.0.1.dev30/tests/cli/test_assertion.py +428 -0
- anncsu_sdk-0.0.1.dev30/tests/cli/test_auth.py +621 -0
- anncsu_sdk-0.0.1.dev30/tests/cli/test_config.py +558 -0
- anncsu_sdk-0.0.1.dev30/tests/cli/test_main.py +205 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_imports.py +98 -85
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_security_basemodel.py +3 -3
- anncsu_sdk-0.0.1.dev30/tests/common/test_session.py +397 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/pa/test_imports.py +24 -22
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/uv.lock +4 -0
- anncsu_sdk-0.0.1.dev28/src/anncsu/common/utils/__init__.py +0 -184
- anncsu_sdk-0.0.1.dev28/src/anncsu/common/utils/unmarshal_json_response.py +0 -24
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/types/basemodel.py +0 -39
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/annotations.py +0 -55
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/datetimes.py +0 -23
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/enums.py +0 -85
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/eventstreaming.py +0 -238
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/forms.py +0 -232
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/headers.py +0 -136
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/logger.py +0 -27
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/metadata.py +0 -118
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/queryparams.py +0 -205
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/requestbodies.py +0 -66
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/retries.py +0 -220
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/security.py +0 -174
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/serializers.py +0 -249
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/url.py +0 -155
- anncsu_sdk-0.0.1.dev28/src/anncsu/pa/utils/values.py +0 -139
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.devcontainer/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.devcontainer/devcontainer.json +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.devcontainer/setup.sh +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.env.example +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.gitattributes +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.github/workflows/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.github/workflows/ci.yml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.github/workflows/publish.yml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.gitignore +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.pre-commit-config.yaml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.python-version +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.speakeasy/gen.lock +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.speakeasy/gen.yaml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.speakeasy/out.openapi.yaml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.speakeasy/workflow.yaml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/.vscode/settings.json +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/CONTRIBUTING.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/LICENSE +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/USAGE.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/SECURITY.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/VALIDATION.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetpathparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetqueryparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessigetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessipostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessipostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessipostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessipostnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessipostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetpathparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetqueryparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiproggetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiprogpostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiprogpostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiprogpostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiprogpostnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoaccessiprogpostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetpathparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetqueryparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimigetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimipostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimipostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimipostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimipostnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimipostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetpathparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetqueryparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiproggetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiprogpostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiprogpostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiprogpostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiprogpostnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/elencoodonimiprogpostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessogetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessopostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessopostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessopostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteaccessopostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimogetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimopostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimopostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimopostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/esisteodonimopostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetpathparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetqueryparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccgetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccpostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccpostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccpostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccpostnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazaccpostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetpathparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetpathparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetpathparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetpathparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetpathparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetqueryparambadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetqueryparaminternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetqueryparammethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetqueryparamnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareagetqueryparamunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareapostbadrequesterror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareapostinternalservererror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareapostmethodnotallowederror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareapostnotfounderror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/prognazareapostunprocessableentityerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/errors/serviceunavailableerror.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessigetpathparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessigetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessigetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessigetqueryparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessigetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessigetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessipostdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessipostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessipostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiproggetpathparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiproggetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiproggetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiproggetqueryparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiproggetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiproggetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiprogpostdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiprogpostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoaccessiprogpostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimigetpathparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimigetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimigetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimigetqueryparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimigetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimigetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimipostdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimipostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimipostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiproggetpathparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiproggetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiproggetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiproggetqueryparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiproggetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiproggetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiprogpostdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiprogpostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/elencoodonimiprogpostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteaccessogetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteaccessogetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteaccessogetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteaccessogetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteaccessopostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteaccessopostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteodonimogetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteodonimogetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteodonimogetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteodonimogetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteodonimopostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/esisteodonimopostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccgetpathparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccgetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccgetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccgetqueryparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccgetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccgetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccpostdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccpostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazaccpostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareagetpathparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareagetpathparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareagetpathparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareagetqueryparamdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareagetqueryparamrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareagetqueryparamresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareapostdata.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareapostrequest.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/prognazareapostresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/showstatusresponse.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/models/utils/retryconfig.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/sdks/anncsu/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/sdks/jsonpost/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/sdks/pathparam/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/sdks/queryparam/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/docs/sdks/status/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/oas/.spectral.yaml +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/oas/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/oas/dev/Specifica API - ANNCSU /342/200/223 Consultazione per le PA.yaml" +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/pylintrc +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/scripts/create_client_assertion.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/scripts/publish.sh +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/basesdk.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/config.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/errors/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/errors/apierror.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/errors/base.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/errors/no_response_error.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/errors/responsevalidationerror.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/hooks/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/hooks/registration.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/hooks/sdkhooks.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/hooks/token_validation.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/httpclient.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/pdnd_assertion.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/pdnd_token.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/pa → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/httpclient.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/types/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/types/basemodel.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/annotations.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/datetimes.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/enums.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/eventstreaming.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/forms.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/headers.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/logger.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/metadata.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/queryparams.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/requestbodies.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/retries.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/security.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/serializers.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/pa → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/unmarshal_json_response.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/url.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common → anncsu_sdk-0.0.1.dev30/src/anncsu/common/sdk}/utils/values.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/validation/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/validation/examples.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/validation/response_validator.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/common/validation/validators.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28/src/anncsu/common/hooks → anncsu_sdk-0.0.1.dev30/src/anncsu/pa/_hooks}/types.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/_version.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/anncsuerror.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/apierror.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/no_response_error.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/errors/responsevalidationerror.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/models/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/src/anncsu/pa/py.typed +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_cli_env_override.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_pdnd_assertion.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_pdnd_auth_manager.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_pdnd_token.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_security.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/common/test_token_validation_hook.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/conftest.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/integration/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/integration/test_sdk_instantiation.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/integration/test_security_in_requests.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/pa/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/ADVANCED_TESTING.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/README.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/README_COMPREHENSIVE_TESTS.md +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/__init__.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/test_all_operations_validation.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/test_model_factories.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/test_model_factories_comprehensive.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/test_response_validator.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/test_validators.py +0 -0
- {anncsu_sdk-0.0.1.dev28 → anncsu_sdk-0.0.1.dev30}/tests/validation/test_validators_property.py +0 -0
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: anncsu-sdk
|
|
3
|
+
Version: 0.0.1.dev30
|
|
4
|
+
Summary: ANNCSU Software Development Kit for API consumption
|
|
5
|
+
Author-email: Francesco Bartoli <francesco.bartoli@geobeyond.it>
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Requires-Python: >=3.12
|
|
8
|
+
Requires-Dist: authlib>=1.3.0
|
|
9
|
+
Requires-Dist: httpcore>=1.0.9
|
|
10
|
+
Requires-Dist: httpx>=0.28.1
|
|
11
|
+
Requires-Dist: pydantic-settings>=2.12.0
|
|
12
|
+
Requires-Dist: pydantic>=2.12.5
|
|
13
|
+
Requires-Dist: rich>=13.0.0
|
|
14
|
+
Requires-Dist: typer>=0.15.0
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
1
17
|
# anncsu-sdk
|
|
2
18
|
ANNCSU Software Development Kit for API consumption
|
|
3
19
|
|
|
@@ -37,6 +53,7 @@ ANNCSU REST API: API dei servizi REST di ANNCSU su PDND
|
|
|
37
53
|
* [Resource Management](#resource-management)
|
|
38
54
|
* [Debugging](#debugging)
|
|
39
55
|
* [Architecture](#architecture)
|
|
56
|
+
* [Command Line Interface](#command-line-interface)
|
|
40
57
|
* [Development](#development)
|
|
41
58
|
* [Maturity](#maturity)
|
|
42
59
|
* [Contributions](#contributions)
|
|
@@ -908,6 +925,35 @@ This architecture allows adding new ANNCSU API specifications (e.g., aggiornamen
|
|
|
908
925
|
For more details, see [Refactoring Documentation](./docs/refactoring/REFACTORING_SUMMARY.md).
|
|
909
926
|
<!-- End Architecture [architecture] -->
|
|
910
927
|
|
|
928
|
+
<!-- Start Command Line Interface [cli] -->
|
|
929
|
+
## Command Line Interface
|
|
930
|
+
|
|
931
|
+
The SDK includes a command-line interface (`anncsu`) for managing PDND authentication and performing common operations without writing code.
|
|
932
|
+
|
|
933
|
+
### Quick Start
|
|
934
|
+
|
|
935
|
+
```bash
|
|
936
|
+
# Configure PDND credentials
|
|
937
|
+
anncsu config set --kid YOUR_KEY_ID --issuer YOUR_CLIENT_ID
|
|
938
|
+
|
|
939
|
+
# Login and obtain access token
|
|
940
|
+
anncsu auth login
|
|
941
|
+
|
|
942
|
+
# Check authentication status
|
|
943
|
+
anncsu auth status
|
|
944
|
+
```
|
|
945
|
+
|
|
946
|
+
### Key Features
|
|
947
|
+
|
|
948
|
+
- **Authentication Management**: Generate client assertions, obtain and refresh access tokens
|
|
949
|
+
- **Configuration**: Manage PDND credentials via CLI or environment variables
|
|
950
|
+
- **Standalone Utilities**: Create assertions independently for integration with other tools
|
|
951
|
+
|
|
952
|
+
### Documentation
|
|
953
|
+
|
|
954
|
+
For complete CLI documentation including all commands, options, and examples, see **[docs/CLI.md](docs/CLI.md)**.
|
|
955
|
+
<!-- End Command Line Interface [cli] -->
|
|
956
|
+
|
|
911
957
|
# Development
|
|
912
958
|
|
|
913
959
|
## Maturity
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: anncsu-sdk
|
|
3
|
-
Version: 0.0.1.dev28
|
|
4
|
-
Summary: ANNCSU Software Development Kit for API consumption
|
|
5
|
-
Author-email: Francesco Bartoli <francesco.bartoli@geobeyond.it>
|
|
6
|
-
License-File: LICENSE
|
|
7
|
-
Requires-Python: >=3.12
|
|
8
|
-
Requires-Dist: authlib>=1.3.0
|
|
9
|
-
Requires-Dist: httpcore>=1.0.9
|
|
10
|
-
Requires-Dist: httpx>=0.28.1
|
|
11
|
-
Requires-Dist: pydantic-settings>=2.12.0
|
|
12
|
-
Requires-Dist: pydantic>=2.12.5
|
|
13
|
-
Description-Content-Type: text/markdown
|
|
14
|
-
|
|
15
1
|
# anncsu-sdk
|
|
16
2
|
ANNCSU Software Development Kit for API consumption
|
|
17
3
|
|
|
@@ -51,6 +37,7 @@ ANNCSU REST API: API dei servizi REST di ANNCSU su PDND
|
|
|
51
37
|
* [Resource Management](#resource-management)
|
|
52
38
|
* [Debugging](#debugging)
|
|
53
39
|
* [Architecture](#architecture)
|
|
40
|
+
* [Command Line Interface](#command-line-interface)
|
|
54
41
|
* [Development](#development)
|
|
55
42
|
* [Maturity](#maturity)
|
|
56
43
|
* [Contributions](#contributions)
|
|
@@ -922,6 +909,35 @@ This architecture allows adding new ANNCSU API specifications (e.g., aggiornamen
|
|
|
922
909
|
For more details, see [Refactoring Documentation](./docs/refactoring/REFACTORING_SUMMARY.md).
|
|
923
910
|
<!-- End Architecture [architecture] -->
|
|
924
911
|
|
|
912
|
+
<!-- Start Command Line Interface [cli] -->
|
|
913
|
+
## Command Line Interface
|
|
914
|
+
|
|
915
|
+
The SDK includes a command-line interface (`anncsu`) for managing PDND authentication and performing common operations without writing code.
|
|
916
|
+
|
|
917
|
+
### Quick Start
|
|
918
|
+
|
|
919
|
+
```bash
|
|
920
|
+
# Configure PDND credentials
|
|
921
|
+
anncsu config set --kid YOUR_KEY_ID --issuer YOUR_CLIENT_ID
|
|
922
|
+
|
|
923
|
+
# Login and obtain access token
|
|
924
|
+
anncsu auth login
|
|
925
|
+
|
|
926
|
+
# Check authentication status
|
|
927
|
+
anncsu auth status
|
|
928
|
+
```
|
|
929
|
+
|
|
930
|
+
### Key Features
|
|
931
|
+
|
|
932
|
+
- **Authentication Management**: Generate client assertions, obtain and refresh access tokens
|
|
933
|
+
- **Configuration**: Manage PDND credentials via CLI or environment variables
|
|
934
|
+
- **Standalone Utilities**: Create assertions independently for integration with other tools
|
|
935
|
+
|
|
936
|
+
### Documentation
|
|
937
|
+
|
|
938
|
+
For complete CLI documentation including all commands, options, and examples, see **[docs/CLI.md](docs/CLI.md)**.
|
|
939
|
+
<!-- End Command Line Interface [cli] -->
|
|
940
|
+
|
|
925
941
|
# Development
|
|
926
942
|
|
|
927
943
|
## Maturity
|
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
# ANNCSU CLI
|
|
2
|
+
|
|
3
|
+
Command-line interface for PDND authentication and ANNCSU API interaction.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
The CLI is included with the ANNCSU SDK:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install anncsu-sdk
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Or with uv:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
uv add anncsu-sdk
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# 1. Initialize configuration in ~/.anncsu/.env
|
|
23
|
+
anncsu config init
|
|
24
|
+
|
|
25
|
+
# 2. Edit ~/.anncsu/.env with your PDND credentials
|
|
26
|
+
nano ~/.anncsu/.env
|
|
27
|
+
|
|
28
|
+
# 3. Validate configuration
|
|
29
|
+
anncsu config validate
|
|
30
|
+
|
|
31
|
+
# 4. Login (generates assertion + obtains token + saves session)
|
|
32
|
+
anncsu auth login
|
|
33
|
+
|
|
34
|
+
# 5. Check status (loads from ~/.anncsu/session.json)
|
|
35
|
+
anncsu auth status
|
|
36
|
+
|
|
37
|
+
# 6. Use token in API calls (auto-refreshes if expired)
|
|
38
|
+
curl -H "Authorization: Bearer $(anncsu auth token)" https://api.example.com
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Commands
|
|
42
|
+
|
|
43
|
+
### `anncsu config` - Configuration Management
|
|
44
|
+
|
|
45
|
+
Manage PDND configuration stored in `.env` file.
|
|
46
|
+
|
|
47
|
+
#### `anncsu config init`
|
|
48
|
+
|
|
49
|
+
Generate a template `.env` file with all required variables:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
anncsu config init
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Output:
|
|
56
|
+
```
|
|
57
|
+
Created .env.template with the following variables:
|
|
58
|
+
- PDND_KID
|
|
59
|
+
- PDND_ISSUER
|
|
60
|
+
- PDND_SUBJECT
|
|
61
|
+
- PDND_AUDIENCE
|
|
62
|
+
- PDND_PURPOSE_ID
|
|
63
|
+
- PDND_KEY_PATH (or PDND_PRIVATE_KEY)
|
|
64
|
+
- PDND_TOKEN_ENDPOINT
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
#### `anncsu config show`
|
|
68
|
+
|
|
69
|
+
Display current configuration (with masked sensitive values):
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
anncsu config show
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Output:
|
|
76
|
+
```
|
|
77
|
+
┌─────────────────────────────────────────┐
|
|
78
|
+
│ PDND Configuration │
|
|
79
|
+
├─────────────────────────────────────────┤
|
|
80
|
+
│ KID: abc123... │
|
|
81
|
+
│ Issuer: a1b2c3d4-e5f6-... │
|
|
82
|
+
│ Subject: a1b2c3d4-e5f6-... │
|
|
83
|
+
│ Audience: https://auth.uat... │
|
|
84
|
+
│ Purpose ID: 12345678-90ab-... │
|
|
85
|
+
│ Key Path: ./private_key.pem ✅ │
|
|
86
|
+
│ Token Endpoint: https://auth.uat... │
|
|
87
|
+
│ Validity: 43200 minutes (30 days) │
|
|
88
|
+
└─────────────────────────────────────────┘
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
#### `anncsu config validate`
|
|
92
|
+
|
|
93
|
+
Validate that `.env` file is correctly configured:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
anncsu config validate
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Output (success):
|
|
100
|
+
```
|
|
101
|
+
✅ Configuration valid!
|
|
102
|
+
- All required fields present
|
|
103
|
+
- Key file exists and is readable
|
|
104
|
+
- Audience URL is valid HTTPS
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Output (error):
|
|
108
|
+
```
|
|
109
|
+
❌ Configuration errors:
|
|
110
|
+
- PDND_KID: Missing required field
|
|
111
|
+
- PDND_KEY_PATH: File not found: ./private_key.pem
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### `anncsu assertion` - Client Assertion Management
|
|
117
|
+
|
|
118
|
+
Generate and inspect PDND client assertions (JWT).
|
|
119
|
+
|
|
120
|
+
#### `anncsu assertion create`
|
|
121
|
+
|
|
122
|
+
Generate a new client assertion and print it:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
anncsu assertion create
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Output:
|
|
129
|
+
```
|
|
130
|
+
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImFiYzEyMyJ9.eyJpc3MiOiJhMWIyYzNkNC...
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Options:
|
|
134
|
+
- `--output FILE` - Save assertion to file instead of stdout
|
|
135
|
+
- `--json` - Output as JSON with metadata
|
|
136
|
+
|
|
137
|
+
#### `anncsu assertion info`
|
|
138
|
+
|
|
139
|
+
Display information about the current/cached assertion:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
anncsu assertion info
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Output:
|
|
146
|
+
```
|
|
147
|
+
┌─────────────────────────────────────────┐
|
|
148
|
+
│ Client Assertion Info │
|
|
149
|
+
├─────────────────────────────────────────┤
|
|
150
|
+
│ Algorithm: RS256 │
|
|
151
|
+
│ Type: JWT │
|
|
152
|
+
│ Key ID: abc123... │
|
|
153
|
+
├─────────────────────────────────────────┤
|
|
154
|
+
│ Issuer: a1b2c3d4-e5f6-... │
|
|
155
|
+
│ Subject: a1b2c3d4-e5f6-... │
|
|
156
|
+
│ Audience: https://auth.uat... │
|
|
157
|
+
│ Purpose ID: 12345678-90ab-... │
|
|
158
|
+
├─────────────────────────────────────────┤
|
|
159
|
+
│ Issued At: 2026-01-18 10:30:00 │
|
|
160
|
+
│ Expires At: 2026-02-17 10:30:00 │
|
|
161
|
+
│ TTL: 29 days, 23 hours │
|
|
162
|
+
│ Status: ✅ Valid │
|
|
163
|
+
└─────────────────────────────────────────┘
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### `anncsu auth` - Authentication
|
|
169
|
+
|
|
170
|
+
Authenticate with PDND and manage access tokens.
|
|
171
|
+
|
|
172
|
+
#### `anncsu auth login`
|
|
173
|
+
|
|
174
|
+
Perform full authentication flow (assertion + token exchange):
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
anncsu auth login
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Output:
|
|
181
|
+
```
|
|
182
|
+
✅ Login successful!
|
|
183
|
+
|
|
184
|
+
┌─────────────────────────────────────────┐
|
|
185
|
+
│ Client Assertion │
|
|
186
|
+
├─────────────────────────────────────────┤
|
|
187
|
+
│ TTL: 29 days, 23 hours │
|
|
188
|
+
│ Expires: 2026-02-17 10:30:00 │
|
|
189
|
+
├─────────────────────────────────────────┤
|
|
190
|
+
│ Access Token │
|
|
191
|
+
├─────────────────────────────────────────┤
|
|
192
|
+
│ TTL: 600 seconds │
|
|
193
|
+
│ Expires: 2026-01-18 10:40:00 │
|
|
194
|
+
└─────────────────────────────────────────┘
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Options:
|
|
198
|
+
- `--token-endpoint URL` - Override token endpoint from .env
|
|
199
|
+
- `--quiet` - Suppress output, only show errors
|
|
200
|
+
|
|
201
|
+
#### `anncsu auth status`
|
|
202
|
+
|
|
203
|
+
Show current authentication status:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
anncsu auth status
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Output (authenticated):
|
|
210
|
+
```
|
|
211
|
+
┌─────────────────────────────────────────┐
|
|
212
|
+
│ Authentication Status │
|
|
213
|
+
├─────────────────────────────────────────┤
|
|
214
|
+
│ Client Assertion │
|
|
215
|
+
│ Status: ✅ Valid │
|
|
216
|
+
│ TTL: 29 days, 23 hours │
|
|
217
|
+
│ Expires: 2026-02-17 10:30:00 │
|
|
218
|
+
├─────────────────────────────────────────┤
|
|
219
|
+
│ Access Token │
|
|
220
|
+
│ Status: ✅ Valid │
|
|
221
|
+
│ TTL: 542 seconds │
|
|
222
|
+
│ Expires: 2026-01-18 10:39:02 │
|
|
223
|
+
└─────────────────────────────────────────┘
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
Output (not authenticated):
|
|
227
|
+
```
|
|
228
|
+
❌ Not authenticated. Run 'anncsu auth login' first.
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
#### `anncsu auth refresh`
|
|
232
|
+
|
|
233
|
+
Force refresh of the access token:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
anncsu auth refresh
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Output:
|
|
240
|
+
```
|
|
241
|
+
✅ Token refreshed!
|
|
242
|
+
TTL: 600 seconds
|
|
243
|
+
Expires: 2026-01-18 10:50:00
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
#### `anncsu auth token`
|
|
247
|
+
|
|
248
|
+
Print the current access token (useful for piping):
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
anncsu auth token
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Output:
|
|
255
|
+
```
|
|
256
|
+
eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCJ9.eyJpc3MiOiJodHRwczovL2F1dGgudWF0...
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
Usage with curl:
|
|
260
|
+
```bash
|
|
261
|
+
curl -H "Authorization: Bearer $(anncsu auth token)" \
|
|
262
|
+
https://modipa-val.agenziaentrate.it/govway/rest/in/AgenziaEntrate-PDND/anncsu-consultazione/v1/esisteodonimo?codcom=H501
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Environment Variables
|
|
268
|
+
|
|
269
|
+
The CLI reads configuration from environment variables (with `PDND_` prefix) or a `.env` file:
|
|
270
|
+
|
|
271
|
+
| Variable | Required | Description |
|
|
272
|
+
|----------|----------|-------------|
|
|
273
|
+
| `PDND_KID` | Yes | Key ID (kid) header parameter |
|
|
274
|
+
| `PDND_ISSUER` | Yes | Issuer (iss) claim - your client_id |
|
|
275
|
+
| `PDND_SUBJECT` | Yes | Subject (sub) claim - your client_id |
|
|
276
|
+
| `PDND_AUDIENCE` | Yes | Audience (aud) - PDND client-assertion endpoint |
|
|
277
|
+
| `PDND_PURPOSE_ID` | Yes | Purpose ID for the PDND request |
|
|
278
|
+
| `PDND_KEY_PATH` | One required | Path to RSA private key file |
|
|
279
|
+
| `PDND_PRIVATE_KEY` | One required | RSA private key content (alternative to KEY_PATH) |
|
|
280
|
+
| `PDND_TOKEN_ENDPOINT` | Yes | PDND token endpoint URL |
|
|
281
|
+
| `PDND_ALG` | No | Algorithm (default: RS256) |
|
|
282
|
+
| `PDND_TYP` | No | Token type (default: JWT) |
|
|
283
|
+
| `PDND_VALIDITY_MINUTES` | No | Assertion validity in minutes (default: 43200 = 30 days) |
|
|
284
|
+
|
|
285
|
+
### Example `.env` file
|
|
286
|
+
|
|
287
|
+
```env
|
|
288
|
+
# PDND Configuration
|
|
289
|
+
PDND_KID=your-key-id
|
|
290
|
+
PDND_ISSUER=your-client-id
|
|
291
|
+
PDND_SUBJECT=your-client-id
|
|
292
|
+
PDND_AUDIENCE=https://auth.uat.interop.pagopa.it/client-assertion
|
|
293
|
+
PDND_PURPOSE_ID=your-purpose-id
|
|
294
|
+
PDND_KEY_PATH=./private_key.pem
|
|
295
|
+
PDND_TOKEN_ENDPOINT=https://auth.uat.interop.pagopa.it/token.oauth2
|
|
296
|
+
|
|
297
|
+
# Optional
|
|
298
|
+
PDND_VALIDITY_MINUTES=43200
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Session Persistence
|
|
304
|
+
|
|
305
|
+
The CLI automatically persists authentication tokens between sessions in `~/.anncsu/session.json`.
|
|
306
|
+
|
|
307
|
+
### Session File Location
|
|
308
|
+
|
|
309
|
+
| Platform | Path |
|
|
310
|
+
|----------|------|
|
|
311
|
+
| Linux/macOS | `~/.anncsu/session.json` |
|
|
312
|
+
| Windows | `%USERPROFILE%\.anncsu\session.json` |
|
|
313
|
+
|
|
314
|
+
### Session File Format
|
|
315
|
+
|
|
316
|
+
```json
|
|
317
|
+
{
|
|
318
|
+
"client_assertion": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ii4uLiJ9...",
|
|
319
|
+
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6ImF0K2p3dCJ9...",
|
|
320
|
+
"token_endpoint": "https://auth.uat.interop.pagopa.it/token.oauth2"
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
### How It Works
|
|
325
|
+
|
|
326
|
+
1. **Login** (`anncsu auth login`): Saves tokens to session file
|
|
327
|
+
2. **Status** (`anncsu auth status`): Loads and displays tokens from session
|
|
328
|
+
3. **Token** (`anncsu auth token`): Loads token, auto-refreshes if expired
|
|
329
|
+
4. **Logout** (`anncsu auth logout`): Deletes session file
|
|
330
|
+
|
|
331
|
+
### Automatic Token Refresh
|
|
332
|
+
|
|
333
|
+
When you run `anncsu auth token`, the CLI automatically:
|
|
334
|
+
- Loads the session from file
|
|
335
|
+
- Checks if the access token is expired or expiring soon (< 60 seconds)
|
|
336
|
+
- If expired, requests a new access token using the client assertion
|
|
337
|
+
- If the client assertion is also expired (< 1 day remaining), generates a new one
|
|
338
|
+
- Saves the updated session to file
|
|
339
|
+
|
|
340
|
+
### Multi-Environment Support
|
|
341
|
+
|
|
342
|
+
The session file stores the `token_endpoint` URL. If you switch between environments (e.g., UAT to PROD), the CLI will not load a session for a different endpoint, preventing accidental credential mixing.
|
|
343
|
+
|
|
344
|
+
```bash
|
|
345
|
+
# UAT environment - saves session with UAT endpoint
|
|
346
|
+
anncsu auth login --token-endpoint https://auth.uat.interop.pagopa.it/token.oauth2
|
|
347
|
+
|
|
348
|
+
# PROD environment - creates new session (different endpoint)
|
|
349
|
+
anncsu auth login --token-endpoint https://auth.interop.pagopa.it/token.oauth2
|
|
350
|
+
|
|
351
|
+
# Status shows only tokens for current endpoint
|
|
352
|
+
anncsu auth status --token-endpoint https://auth.uat.interop.pagopa.it/token.oauth2
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Clear Session
|
|
356
|
+
|
|
357
|
+
To remove all cached tokens:
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
anncsu auth logout
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
This deletes `~/.anncsu/session.json` and clears in-memory tokens.
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## Exit Codes
|
|
368
|
+
|
|
369
|
+
| Code | Description |
|
|
370
|
+
|------|-------------|
|
|
371
|
+
| 0 | Success |
|
|
372
|
+
| 1 | Configuration error |
|
|
373
|
+
| 2 | Authentication error |
|
|
374
|
+
| 3 | Network error |
|
|
375
|
+
| 4 | Token expired |
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Examples
|
|
380
|
+
|
|
381
|
+
### Script Integration
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
#!/bin/bash
|
|
385
|
+
# Script that uses ANNCSU CLI for authentication
|
|
386
|
+
|
|
387
|
+
# Login and check status
|
|
388
|
+
anncsu auth login --quiet || exit 1
|
|
389
|
+
|
|
390
|
+
# Get token for API calls
|
|
391
|
+
TOKEN=$(anncsu auth token)
|
|
392
|
+
|
|
393
|
+
# Make API call
|
|
394
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
395
|
+
"https://modipa-val.agenziaentrate.it/govway/rest/in/AgenziaEntrate-PDND/anncsu-consultazione/v1/elencoodonimi?codcom=H501&denomparz=$(echo -n 'ROMA' | base64)"
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### CI/CD Pipeline
|
|
399
|
+
|
|
400
|
+
```yaml
|
|
401
|
+
# GitHub Actions example
|
|
402
|
+
- name: ANNCSU Authentication
|
|
403
|
+
env:
|
|
404
|
+
PDND_KID: ${{ secrets.PDND_KID }}
|
|
405
|
+
PDND_ISSUER: ${{ secrets.PDND_ISSUER }}
|
|
406
|
+
PDND_SUBJECT: ${{ secrets.PDND_SUBJECT }}
|
|
407
|
+
PDND_AUDIENCE: ${{ secrets.PDND_AUDIENCE }}
|
|
408
|
+
PDND_PURPOSE_ID: ${{ secrets.PDND_PURPOSE_ID }}
|
|
409
|
+
PDND_PRIVATE_KEY: ${{ secrets.PDND_PRIVATE_KEY }}
|
|
410
|
+
PDND_TOKEN_ENDPOINT: ${{ secrets.PDND_TOKEN_ENDPOINT }}
|
|
411
|
+
run: |
|
|
412
|
+
anncsu auth login
|
|
413
|
+
anncsu auth status
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## See Also
|
|
419
|
+
|
|
420
|
+
- [Security Documentation](./SECURITY.md) - PDND authentication details
|
|
421
|
+
- [SDK Usage](../README.md) - Programmatic SDK usage
|
|
422
|
+
- [PDNDAuthManager](./conversation_log.md#session-19) - Authentication manager internals
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Speakeasy SDK Generation
|
|
2
|
+
|
|
3
|
+
This guide documents the workflow for generating and regenerating the SDK with Speakeasy.
|
|
4
|
+
|
|
5
|
+
## Prerequisites
|
|
6
|
+
|
|
7
|
+
- [Speakeasy CLI](https://www.speakeasy.com/docs/speakeasy-cli/getting-started) installed
|
|
8
|
+
- OpenAPI specification file in `oas/dev/`
|
|
9
|
+
|
|
10
|
+
## Generation Workflow
|
|
11
|
+
|
|
12
|
+
### 1. Generate SDK with Speakeasy
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
speakeasy generate sdk \
|
|
16
|
+
--lang python \
|
|
17
|
+
--out . \
|
|
18
|
+
--schema oas/dev/Specifica\ API\ -\ ANNCSU\ –\ Consultazione\ per\ le\ PA.yaml
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 2. Run post-generation script
|
|
22
|
+
|
|
23
|
+
After each Speakeasy generation, run the post-generation script to update the package structure:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
uv run python scripts/post_speakeasy_generation.py
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This script:
|
|
30
|
+
- Removes duplicated infrastructure files from API packages
|
|
31
|
+
- Updates imports to use shared modules in `anncsu.common.sdk`
|
|
32
|
+
|
|
33
|
+
### 3. Verify with tests
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
uv run pytest tests/ -q
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Post-Generation Script Options
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Process pa/ package (default)
|
|
43
|
+
uv run python scripts/post_speakeasy_generation.py
|
|
44
|
+
|
|
45
|
+
# Process a specific package
|
|
46
|
+
uv run python scripts/post_speakeasy_generation.py --package pa
|
|
47
|
+
|
|
48
|
+
# Process all API packages
|
|
49
|
+
uv run python scripts/post_speakeasy_generation.py --all
|
|
50
|
+
|
|
51
|
+
# Dry run (preview changes without applying)
|
|
52
|
+
uv run python scripts/post_speakeasy_generation.py --dry-run
|
|
53
|
+
|
|
54
|
+
# Show help
|
|
55
|
+
uv run python scripts/post_speakeasy_generation.py --help
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Adding a New API Package
|
|
59
|
+
|
|
60
|
+
When adding a new API package (e.g., `odonimi` for Aggiornamento odonimi):
|
|
61
|
+
|
|
62
|
+
1. Generate the package with Speakeasy using the appropriate OpenAPI spec
|
|
63
|
+
2. Run the post-generation script:
|
|
64
|
+
```bash
|
|
65
|
+
uv run python scripts/post_speakeasy_generation.py --package odonimi
|
|
66
|
+
```
|
|
67
|
+
3. Add the package to the list in `scripts/post_speakeasy_generation.py` for future `--all` runs
|
|
68
|
+
|
|
69
|
+
## Important Notes
|
|
70
|
+
|
|
71
|
+
> **WARNING**: The `common/sdk/` directory contains shared infrastructure that is NOT regenerated by Speakeasy. Do not delete it during regeneration.
|
|
72
|
+
|
|
73
|
+
> **NOTE**: Always run the post-generation script after each Speakeasy regeneration to maintain the correct package structure.
|