amigo_sdk 0.3.0__tar.gz → 0.4.0__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.

Potentially problematic release.


This version of amigo_sdk might be problematic. Click here for more details.

Files changed (44) hide show
  1. amigo_sdk-0.4.0/.github/workflows/auto-release.yml +69 -0
  2. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/.github/workflows/release.yml +24 -1
  3. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/PKG-INFO +1 -1
  4. amigo_sdk-0.4.0/openapi-new.json +1 -0
  5. amigo_sdk-0.4.0/specs/openapi-baseline.json +1 -0
  6. amigo_sdk-0.4.0/src/amigo_sdk/__init__.py +1 -0
  7. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/generated/model.py +2 -2
  8. amigo_sdk-0.3.0/.github/workflows/auto-release.yml +0 -18
  9. amigo_sdk-0.3.0/src/amigo_sdk/__init__.py +0 -1
  10. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/.github/workflows/test.yml +0 -0
  11. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/.gitignore +0 -0
  12. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/CONTRIBUTING.md +0 -0
  13. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/LICENSE +0 -0
  14. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/README.md +0 -0
  15. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/pyproject.toml +0 -0
  16. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/scripts/__init__.py +0 -0
  17. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/scripts/aliases.json +0 -0
  18. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/scripts/check.py +0 -0
  19. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/scripts/gen_models.py +0 -0
  20. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/auth.py +0 -0
  21. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/config.py +0 -0
  22. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/errors.py +0 -0
  23. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/http_client.py +0 -0
  24. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/resources/conversation.py +0 -0
  25. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/resources/organization.py +0 -0
  26. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/resources/service.py +0 -0
  27. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/resources/user.py +0 -0
  28. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/src/amigo_sdk/sdk_client.py +0 -0
  29. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/__init__.py +0 -0
  30. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/conftest.py +0 -0
  31. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/integration/test_conversation_integration.py +0 -0
  32. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/integration/test_organization_integration.py +0 -0
  33. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/integration/test_user_integration.py +0 -0
  34. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/resources/__init__.py +0 -0
  35. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/resources/helpers.py +0 -0
  36. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/resources/test_conversation.py +0 -0
  37. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/resources/test_organization.py +0 -0
  38. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/resources/test_service.py +0 -0
  39. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/resources/test_user.py +0 -0
  40. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/test_auth.py +0 -0
  41. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/test_config.py +0 -0
  42. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/test_errors.py +0 -0
  43. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/test_http_client.py +0 -0
  44. {amigo_sdk-0.3.0 → amigo_sdk-0.4.0}/tests/test_sdk_client.py +0 -0
@@ -0,0 +1,69 @@
1
+ name: Auto Release (Backend API changes)
2
+
3
+ on:
4
+ repository_dispatch:
5
+ types: [openapi-updated]
6
+
7
+ permissions:
8
+ contents: write
9
+
10
+ jobs:
11
+ detect:
12
+ name: Detect OpenAPI change
13
+ runs-on: ubuntu-latest
14
+ outputs:
15
+ changed: ${{ steps.diff.outputs.changed }}
16
+ spec_url: ${{ steps.spec.outputs.spec_url }}
17
+ steps:
18
+ - uses: actions/checkout@v4
19
+
20
+ - name: Ensure jq
21
+ run: sudo apt-get update && sudo apt-get install -y jq
22
+
23
+ - name: Resolve spec URL
24
+ id: spec
25
+ run: |
26
+ SPEC_URL="${{ github.event.client_payload.spec_url }}"
27
+ if [ -z "$SPEC_URL" ]; then
28
+ SPEC_URL="https://api.amigo.ai/v1/openapi.json"
29
+ fi
30
+ echo "spec_url=$SPEC_URL" >> $GITHUB_OUTPUT
31
+
32
+ - name: Fetch current production spec
33
+ run: curl -fSL -o openapi-new.json "${{ steps.spec.outputs.spec_url }}"
34
+
35
+ - name: Check baseline presence
36
+ id: baseline
37
+ run: |
38
+ mkdir -p specs
39
+ if [ ! -f specs/openapi-baseline.json ]; then
40
+ echo "missing=true" >> $GITHUB_OUTPUT
41
+ else
42
+ echo "missing=false" >> $GITHUB_OUTPUT
43
+ fi
44
+
45
+ - name: Compare normalized specs
46
+ id: diff
47
+ run: |
48
+ if [ "${{ steps.baseline.outputs.missing }}" = "true" ]; then
49
+ echo "changed=true" >> $GITHUB_OUTPUT
50
+ exit 0
51
+ fi
52
+ jq -S 'del(.info.version) | del(.servers)' specs/openapi-baseline.json > baseline.norm.json
53
+ jq -S 'del(.info.version) | del(.servers)' openapi-new.json > new.norm.json
54
+ if diff -q baseline.norm.json new.norm.json >/dev/null 2>&1; then
55
+ echo "changed=false" >> $GITHUB_OUTPUT
56
+ else
57
+ echo "changed=true" >> $GITHUB_OUTPUT
58
+ fi
59
+
60
+ release-on-dispatch:
61
+ name: Trigger SDK release (minor)
62
+ needs: detect
63
+ if: needs.detect.outputs.changed == 'true'
64
+ uses: ./.github/workflows/release.yml
65
+ with:
66
+ version_type: minor
67
+ dry_run: ${{ github.event.client_payload.dry_run == true }}
68
+ spec_url: ${{ needs.detect.outputs.spec_url }}
69
+ secrets: inherit
@@ -29,6 +29,11 @@ on:
29
29
  required: false
30
30
  type: boolean
31
31
  default: false
32
+ spec_url:
33
+ description: "OpenAPI spec URL to use for generation"
34
+ required: false
35
+ type: string
36
+ default: ""
32
37
 
33
38
  permissions:
34
39
  contents: write
@@ -54,6 +59,24 @@ jobs:
54
59
  # Use a token that can push tags and create releases
55
60
  token: ${{ secrets.GITHUB_TOKEN }}
56
61
 
62
+ - name: Ensure jq
63
+ run: sudo apt-get update && sudo apt-get install -y jq
64
+
65
+ - name: Fetch OpenAPI spec
66
+ id: fetch_spec
67
+ run: |
68
+ SPEC_URL="${{ inputs.spec_url }}"
69
+ if [ -z "$SPEC_URL" ]; then
70
+ SPEC_URL="https://api.amigo.ai/v1/openapi.json"
71
+ fi
72
+ curl -fSL -o openapi-new.json "$SPEC_URL"
73
+ mkdir -p specs
74
+ cp openapi-new.json specs/openapi-baseline.json
75
+
76
+ # Optional: if your generator can take a spec path
77
+ - name: Set spec path for generator
78
+ run: echo "OPENAPI_SPEC_PATH=$GITHUB_WORKSPACE/openapi-new.json" >> $GITHUB_ENV
79
+
57
80
  - name: Setup Python
58
81
  uses: actions/setup-python@v5
59
82
  with:
@@ -115,7 +138,7 @@ jobs:
115
138
  - name: Commit version bump
116
139
  if: ${{ !inputs.dry_run }}
117
140
  run: |
118
- git add src/amigo_sdk/__init__.py
141
+ git add -A
119
142
  git commit -m "Bump version to ${{ steps.new_version.outputs.version }}"
120
143
  git push origin HEAD
121
144
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: amigo_sdk
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Amigo AI Python SDK
5
5
  Author: Amigo AI
6
6
  License-File: LICENSE