Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 2 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ${{ github.repository == 'stainless-sdks/hyperspell-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ubuntu-latest
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
Expand All @@ -41,7 +41,7 @@ jobs:
permissions:
contents: read
id-token: write
runs-on: ${{ github.repository == 'stainless-sdks/hyperspell-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

Expand All @@ -55,41 +55,3 @@ jobs:

- name: Run build
run: uv build

- name: Get GitHub OIDC Token
if: |-
github.repository == 'stainless-sdks/hyperspell-python' &&
!startsWith(github.ref, 'refs/heads/stl/')
id: github-oidc
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Upload tarball
if: |-
github.repository == 'stainless-sdks/hyperspell-python' &&
!startsWith(github.ref, 'refs/heads/stl/')
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
run: ./scripts/utils/upload-artifact.sh

test:
timeout-minutes: 10
name: test
runs-on: ${{ github.repository == 'stainless-sdks/hyperspell-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Install uv
uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2
with:
version: '0.10.2'

- name: Bootstrap
run: ./scripts/bootstrap

- name: Run tests
run: ./scripts/test
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
configured_endpoints: 31
configured_endpoints: 29
18 changes: 0 additions & 18 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,6 @@ Methods:
- <code title="get /integrations/list">client.integrations.<a href="./src/hyperspell/resources/integrations/integrations.py">list</a>() -> <a href="./src/hyperspell/types/integration_list_response.py">IntegrationListResponse</a></code>
- <code title="get /integrations/{integration_id}/connect">client.integrations.<a href="./src/hyperspell/resources/integrations/integrations.py">connect</a>(integration_id, \*\*<a href="src/hyperspell/types/integration_connect_params.py">params</a>) -> <a href="./src/hyperspell/types/integration_connect_response.py">IntegrationConnectResponse</a></code>

## GoogleCalendar

Types:

```python
from hyperspell.types.integrations import Calendar
```

Methods:

- <code title="get /integrations/google_calendar/list">client.integrations.google_calendar.<a href="./src/hyperspell/resources/integrations/google_calendar.py">list</a>() -> <a href="./src/hyperspell/types/integrations/calendar.py">Calendar</a></code>

## WebCrawler

Types:
Expand All @@ -119,12 +107,6 @@ Methods:

- <code title="get /integrations/web_crawler/index">client.integrations.web_crawler.<a href="./src/hyperspell/resources/integrations/web_crawler.py">index</a>(\*\*<a href="src/hyperspell/types/integrations/web_crawler_index_params.py">params</a>) -> <a href="./src/hyperspell/types/integrations/web_crawler_index_response.py">WebCrawlerIndexResponse</a></code>

## Slack

Methods:

- <code title="get /integrations/slack/list">client.integrations.slack.<a href="./src/hyperspell/resources/integrations/slack.py">list</a>(\*\*<a href="src/hyperspell/types/integrations/slack_list_params.py">params</a>) -> object</code>

# Memories

Types:
Expand Down
2 changes: 1 addition & 1 deletion scripts/mock

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions src/hyperspell/resources/actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ def add_reaction(
"coda",
"lightfield",
"gong",
"pylon",
"clickup",
],
timestamp: str,
connection: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -151,6 +153,8 @@ def send_message(
"coda",
"lightfield",
"gong",
"pylon",
"clickup",
],
text: str,
channel: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -253,6 +257,8 @@ async def add_reaction(
"coda",
"lightfield",
"gong",
"pylon",
"clickup",
],
timestamp: str,
connection: Optional[str] | Omit = omit,
Expand Down Expand Up @@ -330,6 +336,8 @@ async def send_message(
"coda",
"lightfield",
"gong",
"pylon",
"clickup",
],
text: str,
channel: Optional[str] | Omit = omit,
Expand Down
20 changes: 18 additions & 2 deletions src/hyperspell/resources/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,14 @@ def delete_user(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AuthDeleteUserResponse:
"""Endpoint to delete user."""
"""
Delete the calling user's data (GDPR erasure).

The purge — external connection revokes plus the multi-table cascade delete —
runs in a background Temporal workflow; this returns `202 Accepted` + the
workflow id immediately, so a large account can't outrun the request timeout or
stall the API event loop.
"""
return self._delete(
"/auth/delete",
options=make_request_options(
Expand Down Expand Up @@ -103,6 +110,7 @@ def user_token(

Args:
expires_in: Token lifetime, e.g., '30m', '2h', '1d'. Defaults to 24 hours if not provided.
Maximum 30 days.

origin: Origin of the request, used for CSRF protection. If set, the token will only be
valid for requests originating from this origin.
Expand Down Expand Up @@ -162,7 +170,14 @@ async def delete_user(
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AuthDeleteUserResponse:
"""Endpoint to delete user."""
"""
Delete the calling user's data (GDPR erasure).

The purge — external connection revokes plus the multi-table cascade delete —
runs in a background Temporal workflow; this returns `202 Accepted` + the
workflow id immediately, so a large account can't outrun the request timeout or
stall the API event loop.
"""
return await self._delete(
"/auth/delete",
options=make_request_options(
Expand Down Expand Up @@ -210,6 +225,7 @@ async def user_token(

Args:
expires_in: Token lifetime, e.g., '30m', '2h', '1d'. Defaults to 24 hours if not provided.
Maximum 30 days.

origin: Origin of the request, used for CSRF protection. If set, the token will only be
valid for requests originating from this origin.
Expand Down
28 changes: 0 additions & 28 deletions src/hyperspell/resources/integrations/__init__.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from .slack import (
SlackResource,
AsyncSlackResource,
SlackResourceWithRawResponse,
AsyncSlackResourceWithRawResponse,
SlackResourceWithStreamingResponse,
AsyncSlackResourceWithStreamingResponse,
)
from .web_crawler import (
WebCrawlerResource,
AsyncWebCrawlerResource,
Expand All @@ -24,34 +16,14 @@
IntegrationsResourceWithStreamingResponse,
AsyncIntegrationsResourceWithStreamingResponse,
)
from .google_calendar import (
GoogleCalendarResource,
AsyncGoogleCalendarResource,
GoogleCalendarResourceWithRawResponse,
AsyncGoogleCalendarResourceWithRawResponse,
GoogleCalendarResourceWithStreamingResponse,
AsyncGoogleCalendarResourceWithStreamingResponse,
)

__all__ = [
"GoogleCalendarResource",
"AsyncGoogleCalendarResource",
"GoogleCalendarResourceWithRawResponse",
"AsyncGoogleCalendarResourceWithRawResponse",
"GoogleCalendarResourceWithStreamingResponse",
"AsyncGoogleCalendarResourceWithStreamingResponse",
"WebCrawlerResource",
"AsyncWebCrawlerResource",
"WebCrawlerResourceWithRawResponse",
"AsyncWebCrawlerResourceWithRawResponse",
"WebCrawlerResourceWithStreamingResponse",
"AsyncWebCrawlerResourceWithStreamingResponse",
"SlackResource",
"AsyncSlackResource",
"SlackResourceWithRawResponse",
"AsyncSlackResourceWithRawResponse",
"SlackResourceWithStreamingResponse",
"AsyncSlackResourceWithStreamingResponse",
"IntegrationsResource",
"AsyncIntegrationsResource",
"IntegrationsResourceWithRawResponse",
Expand Down
143 changes: 0 additions & 143 deletions src/hyperspell/resources/integrations/google_calendar.py

This file was deleted.

Loading
Loading