Skip to content

Commit e52643f

Browse files
feat(api): manual updates
1 parent 75b1c92 commit e52643f

File tree

13 files changed

+177
-120
lines changed

13 files changed

+177
-120
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 14
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-e281c64ee44d0db13ba9ce62d3a61e8b17fcd1fad9bffb5c3b0e3dfb2b5e66e1.yml
33
openapi_spec_hash: 6bd667f546147c5fac3bffe34522ba2f
4-
config_hash: 1888db8b2f33dc16874aea51a90e78f7
4+
config_hash: f505a9f31ba650e10b8b4398998fa9e8

api.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ from oz_agent_sdk.types import (
1111
Error,
1212
ErrorCode,
1313
GcpProviderConfig,
14+
Harness,
1415
McpServerConfig,
1516
Scope,
1617
UserProfile,
@@ -32,10 +33,14 @@ Types:
3233

3334
```python
3435
from oz_agent_sdk.types.agent import (
36+
AgentSkill,
3537
ArtifactItem,
38+
RequestUsage,
3639
RunItem,
3740
RunSourceType,
3841
RunState,
42+
RunStatusMessage,
43+
ScheduleInfo,
3944
RunCancelResponse,
4045
)
4146
```

src/oz_agent_sdk/types/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@
33
from __future__ import annotations
44

55
from .scope import Scope as Scope
6+
from .harness import Harness as Harness
67
from .error_code import ErrorCode as ErrorCode
78
from .agent_skill import AgentSkill as AgentSkill
89
from .user_profile import UserProfile as UserProfile
10+
from .harness_param import HarnessParam as HarnessParam
911
from .agent_run_params import AgentRunParams as AgentRunParams
1012
from .agent_list_params import AgentListParams as AgentListParams
1113
from .mcp_server_config import McpServerConfig as McpServerConfig

src/oz_agent_sdk/types/agent/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@
44

55
from .run_item import RunItem as RunItem
66
from .run_state import RunState as RunState
7+
from .agent_skill import AgentSkill as AgentSkill
78
from .artifact_item import ArtifactItem as ArtifactItem
9+
from .request_usage import RequestUsage as RequestUsage
10+
from .schedule_info import ScheduleInfo as ScheduleInfo
811
from .run_list_params import RunListParams as RunListParams
912
from .run_source_type import RunSourceType as RunSourceType
13+
from .run_status_message import RunStatusMessage as RunStatusMessage
1014
from .run_cancel_response import RunCancelResponse as RunCancelResponse
1115
from .scheduled_agent_item import ScheduledAgentItem as ScheduledAgentItem
1216
from .schedule_create_params import ScheduleCreateParams as ScheduleCreateParams
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import Optional
4+
5+
from ..._models import BaseModel
6+
7+
__all__ = ["AgentSkill"]
8+
9+
10+
class AgentSkill(BaseModel):
11+
"""
12+
Information about the agent skill used for the run.
13+
Either full_path or bundled_skill_id will be set, but not both.
14+
"""
15+
16+
bundled_skill_id: Optional[str] = None
17+
"""Unique identifier for bundled skills"""
18+
19+
description: Optional[str] = None
20+
"""Description of the skill"""
21+
22+
full_path: Optional[str] = None
23+
"""Path to the SKILL.md file (for file-based skills)"""
24+
25+
name: Optional[str] = None
26+
"""Human-readable name of the skill"""
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import Optional
4+
5+
from ..._models import BaseModel
6+
7+
__all__ = ["RequestUsage"]
8+
9+
10+
class RequestUsage(BaseModel):
11+
"""Resource usage information for the run"""
12+
13+
compute_cost: Optional[float] = None
14+
"""Cost of compute resources for the run"""
15+
16+
inference_cost: Optional[float] = None
17+
"""Cost of LLM inference for the run"""

src/oz_agent_sdk/types/agent/run_item.py

Lines changed: 7 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -7,105 +7,16 @@
77
from ..scope import Scope
88
from ..._models import BaseModel
99
from .run_state import RunState
10-
from ..error_code import ErrorCode
10+
from .agent_skill import AgentSkill
1111
from ..user_profile import UserProfile
1212
from .artifact_item import ArtifactItem
13+
from .request_usage import RequestUsage
14+
from .schedule_info import ScheduleInfo
1315
from .run_source_type import RunSourceType
16+
from .run_status_message import RunStatusMessage
1417
from ..ambient_agent_config import AmbientAgentConfig
1518

16-
__all__ = ["RunItem", "AgentSkill", "RequestUsage", "Schedule", "StatusMessage"]
17-
18-
19-
class AgentSkill(BaseModel):
20-
"""
21-
Information about the agent skill used for the run.
22-
Either full_path or bundled_skill_id will be set, but not both.
23-
"""
24-
25-
bundled_skill_id: Optional[str] = None
26-
"""Unique identifier for bundled skills"""
27-
28-
description: Optional[str] = None
29-
"""Description of the skill"""
30-
31-
full_path: Optional[str] = None
32-
"""Path to the SKILL.md file (for file-based skills)"""
33-
34-
name: Optional[str] = None
35-
"""Human-readable name of the skill"""
36-
37-
38-
class RequestUsage(BaseModel):
39-
"""Resource usage information for the run"""
40-
41-
compute_cost: Optional[float] = None
42-
"""Cost of compute resources for the run"""
43-
44-
inference_cost: Optional[float] = None
45-
"""Cost of LLM inference for the run"""
46-
47-
48-
class Schedule(BaseModel):
49-
"""
50-
Information about the schedule that triggered this run (only present for scheduled runs)
51-
"""
52-
53-
cron_schedule: str
54-
"""Cron expression at the time the run was created"""
55-
56-
schedule_id: str
57-
"""Unique identifier for the schedule"""
58-
59-
schedule_name: str
60-
"""Name of the schedule at the time the run was created"""
61-
62-
63-
class StatusMessage(BaseModel):
64-
"""Status message for a run.
65-
66-
For terminal error states, includes structured
67-
error code and retryability info from the platform error catalog.
68-
"""
69-
70-
message: str
71-
"""Human-readable status message"""
72-
73-
error_code: Optional[ErrorCode] = None
74-
"""
75-
Machine-readable error code identifying the problem type. Used in the `type` URI
76-
of Error responses and in the `error_code` field of RunStatusMessage.
77-
78-
User errors (run transitions to FAILED):
79-
80-
- `insufficient_credits` — Team has no remaining add-on credits
81-
- `feature_not_available` — Required feature not enabled for user's plan
82-
- `external_authentication_required` — User hasn't authorized a required
83-
external service
84-
- `not_authorized` — Principal lacks permission for the requested operation
85-
- `invalid_request` — Request is malformed or contains invalid parameters
86-
- `resource_not_found` — Referenced resource does not exist
87-
- `budget_exceeded` — Spending budget limit has been reached
88-
- `integration_disabled` — Integration is disabled and must be enabled
89-
- `integration_not_configured` — Integration setup is incomplete
90-
- `operation_not_supported` — Requested operation not supported for this
91-
resource/state
92-
- `environment_setup_failed` — Client-side environment setup failed
93-
- `content_policy_violation` — Prompt or setup commands violated content policy
94-
- `conflict` — Request conflicts with the current state of the resource
95-
96-
Warp errors (run transitions to ERROR):
97-
98-
- `authentication_required` — Request lacks valid authentication credentials
99-
- `resource_unavailable` — Transient infrastructure issue (retryable)
100-
- `internal_error` — Unexpected server-side error (retryable)
101-
"""
102-
103-
retryable: Optional[bool] = None
104-
"""Whether the error is transient and the client may retry by submitting a new run.
105-
106-
Only present on terminal error states. When false, retrying without addressing
107-
the underlying cause will not succeed.
108-
"""
19+
__all__ = ["RunItem"]
10920

11021

11122
class RunItem(BaseModel):
@@ -174,7 +85,7 @@ class RunItem(BaseModel):
17485
request_usage: Optional[RequestUsage] = None
17586
"""Resource usage information for the run"""
17687

177-
schedule: Optional[Schedule] = None
88+
schedule: Optional[ScheduleInfo] = None
17889
"""
17990
Information about the schedule that triggered this run (only present for
18091
scheduled runs)
@@ -206,7 +117,7 @@ class RunItem(BaseModel):
206117
started_at: Optional[datetime] = None
207118
"""Timestamp when the agent started working on the run (RFC3339)"""
208119

209-
status_message: Optional[StatusMessage] = None
120+
status_message: Optional[RunStatusMessage] = None
210121
"""Status message for a run.
211122
212123
For terminal error states, includes structured error code and retryability info
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing import Optional
4+
5+
from ..._models import BaseModel
6+
from ..error_code import ErrorCode
7+
8+
__all__ = ["RunStatusMessage"]
9+
10+
11+
class RunStatusMessage(BaseModel):
12+
"""Status message for a run.
13+
14+
For terminal error states, includes structured
15+
error code and retryability info from the platform error catalog.
16+
"""
17+
18+
message: str
19+
"""Human-readable status message"""
20+
21+
error_code: Optional[ErrorCode] = None
22+
"""
23+
Machine-readable error code identifying the problem type. Used in the `type` URI
24+
of Error responses and in the `error_code` field of RunStatusMessage.
25+
26+
User errors (run transitions to FAILED):
27+
28+
- `insufficient_credits` — Team has no remaining add-on credits
29+
- `feature_not_available` — Required feature not enabled for user's plan
30+
- `external_authentication_required` — User hasn't authorized a required
31+
external service
32+
- `not_authorized` — Principal lacks permission for the requested operation
33+
- `invalid_request` — Request is malformed or contains invalid parameters
34+
- `resource_not_found` — Referenced resource does not exist
35+
- `budget_exceeded` — Spending budget limit has been reached
36+
- `integration_disabled` — Integration is disabled and must be enabled
37+
- `integration_not_configured` — Integration setup is incomplete
38+
- `operation_not_supported` — Requested operation not supported for this
39+
resource/state
40+
- `environment_setup_failed` — Client-side environment setup failed
41+
- `content_policy_violation` — Prompt or setup commands violated content policy
42+
- `conflict` — Request conflicts with the current state of the resource
43+
44+
Warp errors (run transitions to ERROR):
45+
46+
- `authentication_required` — Request lacks valid authentication credentials
47+
- `resource_unavailable` — Transient infrastructure issue (retryable)
48+
- `internal_error` — Unexpected server-side error (retryable)
49+
"""
50+
51+
retryable: Optional[bool] = None
52+
"""Whether the error is transient and the client may retry by submitting a new run.
53+
54+
Only present on terminal error states. When false, retrying without addressing
55+
the underlying cause will not succeed.
56+
"""
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from ..._models import BaseModel
4+
5+
__all__ = ["ScheduleInfo"]
6+
7+
8+
class ScheduleInfo(BaseModel):
9+
"""
10+
Information about the schedule that triggered this run (only present for scheduled runs)
11+
"""
12+
13+
cron_schedule: str
14+
"""Cron expression at the time the run was created"""
15+
16+
schedule_id: str
17+
"""Unique identifier for the schedule"""
18+
19+
schedule_name: str
20+
"""Name of the schedule at the time the run was created"""

src/oz_agent_sdk/types/ambient_agent_config.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,11 @@
44

55
from pydantic import Field as FieldInfo
66

7+
from .harness import Harness
78
from .._models import BaseModel
89
from .mcp_server_config import McpServerConfig
910

10-
__all__ = ["AmbientAgentConfig", "Harness"]
11-
12-
13-
class Harness(BaseModel):
14-
"""
15-
Specifies which execution harness to use for the agent run.
16-
Default (nil/empty) uses Warp's built-in Oz harness.
17-
"""
18-
19-
type: Optional[str] = None
20-
"""The harness type identifier (e.g. "claude")."""
11+
__all__ = ["AmbientAgentConfig"]
2112

2213

2314
class AmbientAgentConfig(BaseModel):

0 commit comments

Comments
 (0)