Skip to content

Commit b2d0735

Browse files
authored
Merge pull request #48 from context-dot-dev/release-please--branches--main--changes--next
release: 2.2.0
2 parents 6dcfaa5 + a147aca commit b2d0735

13 files changed

Lines changed: 152 additions & 37 deletions

‎.release-please-manifest.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "2.1.0"
2+
".": "2.2.0"
33
}

‎.stats.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 29
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-51ebe668b198157ccb18984017dd2fe35f7675220e8b933b03325b3c459ef2a6.yml
3-
openapi_spec_hash: b3ed94bd6b59d4e32fc2c5aa8187d6b2
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/context-dev/context.dev-ecb277557634e2f0838ea196e2b21f11924f65e133c7977e8c2e1a603b8df466.yml
3+
openapi_spec_hash: 798ce4cb042389a1179bf9af6fc1173d
44
config_hash: ff35e224e809656528c44163aa41bebd

‎CHANGELOG.md‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## 2.2.0 (2026-07-10)
4+
5+
Full Changelog: [v2.1.0...v2.2.0](https://github.com/context-dot-dev/context-python-sdk/compare/v2.1.0...v2.2.0)
6+
7+
### Features
8+
9+
* **api:** api update ([d0f20d7](https://github.com/context-dot-dev/context-python-sdk/commit/d0f20d706a262ca3b5fbd904c4d2816e589d7532))
10+
* **api:** api update ([4fb738f](https://github.com/context-dot-dev/context-python-sdk/commit/4fb738fd4527cdeef0448c4d79d31ad513e20e50))
11+
312
## 2.1.0 (2026-07-08)
413

514
Full Changelog: [v2.0.0...v2.1.0](https://github.com/context-dot-dev/context-python-sdk/compare/v2.0.0...v2.1.0)

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "context.dev"
3-
version = "2.1.0"
3+
version = "2.2.0"
44
description = "The official Python library for the context.dev API"
55
dynamic = ["readme"]
66
license = "Apache-2.0"

‎src/context/dev/_version.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
__title__ = "context.dev"
4-
__version__ = "2.1.0" # x-release-please-version
4+
__version__ = "2.2.0" # x-release-please-version

‎src/context/dev/types/monitor_create_params.py‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class ChangeDetectionMonitorsExactChangeDetection(TypedDict, total=False):
6161

6262
class ChangeDetectionMonitorsSemanticChangeDetection(TypedDict, total=False):
6363
"""
64-
Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`.
64+
Detect meaning-level changes to tracked page content, ignoring cosmetic or paraphrase-only differences. Which changes are meaningful is judged against the extract target's `instructions` (and `schema`, when provided).
6565
"""
6666

6767
type: Required[Literal["semantic"]]
@@ -128,7 +128,7 @@ class TargetMonitorsSitemapTarget(TypedDict, total=False):
128128
class TargetMonitorsExtractTarget(TypedDict, total=False):
129129
"""Watch the monitor-relevant pages of a site for meaningful changes.
130130
131-
A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl.
131+
A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged for relevance against the monitor's `instructions` (and `schema`, when provided). The tracked page set is refreshed by a periodic re-discovery crawl.
132132
"""
133133

134134
instructions: Required[str]
@@ -153,9 +153,13 @@ class TargetMonitorsExtractTarget(TypedDict, total=False):
153153
schema: Dict[str, object]
154154
"""JSON Schema describing the data you care about.
155155
156-
It guides which pages are selected for tracking and gives the change judge
157-
context on what matters. If omitted, a default summary + key-points schema is
158-
used.
156+
It is used three ways: it guides which pages are selected for tracking, it gives
157+
the change judge extra context on which changes matter (alongside
158+
`instructions`), and it defines the shape of the baseline `data` snapshot on GET
159+
/monitors/{monitor_id} (refreshed at most about once a day). It is not a
160+
response format for changes: change events and webhook payloads always contain
161+
diffs, summaries, and evidence excerpts — never data in this schema's shape. If
162+
omitted, a default summary + key-points schema is used.
159163
"""
160164

161165

‎src/context/dev/types/monitor_create_response.py‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class ChangeDetectionMonitorsExactChangeDetection(BaseModel):
3939

4040
class ChangeDetectionMonitorsSemanticChangeDetection(BaseModel):
4141
"""
42-
Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`.
42+
Detect meaning-level changes to tracked page content, ignoring cosmetic or paraphrase-only differences. Which changes are meaningful is judged against the extract target's `instructions` (and `schema`, when provided).
4343
"""
4444

4545
type: Literal["semantic"]
@@ -107,7 +107,7 @@ class TargetMonitorsSitemapTarget(BaseModel):
107107
class TargetMonitorsExtractTarget(BaseModel):
108108
"""Watch the monitor-relevant pages of a site for meaningful changes.
109109
110-
A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl.
110+
A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged for relevance against the monitor's `instructions` (and `schema`, when provided). The tracked page set is refreshed by a periodic re-discovery crawl.
111111
"""
112112

113113
instructions: str
@@ -132,9 +132,13 @@ class TargetMonitorsExtractTarget(BaseModel):
132132
schema_: Optional[Dict[str, object]] = FieldInfo(alias="schema", default=None)
133133
"""JSON Schema describing the data you care about.
134134
135-
It guides which pages are selected for tracking and gives the change judge
136-
context on what matters. If omitted, a default summary + key-points schema is
137-
used.
135+
It is used three ways: it guides which pages are selected for tracking, it gives
136+
the change judge extra context on which changes matter (alongside
137+
`instructions`), and it defines the shape of the baseline `data` snapshot on GET
138+
/monitors/{monitor_id} (refreshed at most about once a day). It is not a
139+
response format for changes: change events and webhook payloads always contain
140+
diffs, summaries, and evidence excerpts — never data in this schema's shape. If
141+
omitted, a default summary + key-points schema is used.
138142
"""
139143

140144

‎src/context/dev/types/monitor_list_account_runs_response.py‎

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from .._models import BaseModel
88

9-
__all__ = ["MonitorListAccountRunsResponse", "Data", "DataError"]
9+
__all__ = ["MonitorListAccountRunsResponse", "Data", "DataError", "DataWebhookDelivery", "DataWebhookDeliveryError"]
1010

1111

1212
class DataError(BaseModel):
@@ -15,6 +15,40 @@ class DataError(BaseModel):
1515
message: str
1616

1717

18+
class DataWebhookDeliveryError(BaseModel):
19+
code: str
20+
21+
message: str
22+
23+
24+
class DataWebhookDelivery(BaseModel):
25+
"""The webhook delivery attempted for a change detected by this run.
26+
27+
Omitted when no webhook was attempted, including historical runs created before delivery tracking was added.
28+
"""
29+
30+
attempted_at: datetime
31+
32+
error: Optional[DataWebhookDeliveryError] = None
33+
34+
event_id: str
35+
"""Identifier sent in the X-Context-Id header."""
36+
37+
http_status: Optional[int] = None
38+
"""
39+
The endpoint's final HTTP response status, or null when no response was
40+
received.
41+
"""
42+
43+
status: Literal["delivered", "rejected", "failed", "skipped_unsafe_url"]
44+
"""Delivery outcome.
45+
46+
delivered means any 2xx response; rejected means a non-2xx response; failed
47+
means no HTTP response was received; skipped_unsafe_url means the URL failed the
48+
public-endpoint safety check.
49+
"""
50+
51+
1852
class Data(BaseModel):
1953
id: str
2054

@@ -56,6 +90,13 @@ class Data(BaseModel):
5690

5791
started_at: Optional[datetime] = None
5892

93+
webhook_delivery: Optional[DataWebhookDelivery] = None
94+
"""The webhook delivery attempted for a change detected by this run.
95+
96+
Omitted when no webhook was attempted, including historical runs created before
97+
delivery tracking was added.
98+
"""
99+
59100

60101
class MonitorListAccountRunsResponse(BaseModel):
61102
data: List[Data]

‎src/context/dev/types/monitor_list_response.py‎

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class DataChangeDetectionMonitorsExactChangeDetection(BaseModel):
4040

4141
class DataChangeDetectionMonitorsSemanticChangeDetection(BaseModel):
4242
"""
43-
Detect meaning-level changes to the extracted data, ignoring cosmetic or paraphrase-only differences. What is watched is determined by the extract target's `schema` and `instructions`.
43+
Detect meaning-level changes to tracked page content, ignoring cosmetic or paraphrase-only differences. Which changes are meaningful is judged against the extract target's `instructions` (and `schema`, when provided).
4444
"""
4545

4646
type: Literal["semantic"]
@@ -108,7 +108,7 @@ class DataTargetMonitorsSitemapTarget(BaseModel):
108108
class DataTargetMonitorsExtractTarget(BaseModel):
109109
"""Watch the monitor-relevant pages of a site for meaningful changes.
110110
111-
A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged against the monitor's instructions. The tracked page set is refreshed by a periodic re-discovery crawl.
111+
A crawl guided by `schema`/`instructions` selects up to `max_pages` relevant pages to track; each run re-checks exactly those pages, and confirmed content changes are judged for relevance against the monitor's `instructions` (and `schema`, when provided). The tracked page set is refreshed by a periodic re-discovery crawl.
112112
"""
113113

114114
instructions: str
@@ -133,9 +133,13 @@ class DataTargetMonitorsExtractTarget(BaseModel):
133133
schema_: Optional[Dict[str, object]] = FieldInfo(alias="schema", default=None)
134134
"""JSON Schema describing the data you care about.
135135
136-
It guides which pages are selected for tracking and gives the change judge
137-
context on what matters. If omitted, a default summary + key-points schema is
138-
used.
136+
It is used three ways: it guides which pages are selected for tracking, it gives
137+
the change judge extra context on which changes matter (alongside
138+
`instructions`), and it defines the shape of the baseline `data` snapshot on GET
139+
/monitors/{monitor_id} (refreshed at most about once a day). It is not a
140+
response format for changes: change events and webhook payloads always contain
141+
diffs, summaries, and evidence excerpts — never data in this schema's shape. If
142+
omitted, a default summary + key-points schema is used.
139143
"""
140144

141145

‎src/context/dev/types/monitor_list_runs_response.py‎

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from .._models import BaseModel
88

9-
__all__ = ["MonitorListRunsResponse", "Data", "DataError"]
9+
__all__ = ["MonitorListRunsResponse", "Data", "DataError", "DataWebhookDelivery", "DataWebhookDeliveryError"]
1010

1111

1212
class DataError(BaseModel):
@@ -15,6 +15,40 @@ class DataError(BaseModel):
1515
message: str
1616

1717

18+
class DataWebhookDeliveryError(BaseModel):
19+
code: str
20+
21+
message: str
22+
23+
24+
class DataWebhookDelivery(BaseModel):
25+
"""The webhook delivery attempted for a change detected by this run.
26+
27+
Omitted when no webhook was attempted, including historical runs created before delivery tracking was added.
28+
"""
29+
30+
attempted_at: datetime
31+
32+
error: Optional[DataWebhookDeliveryError] = None
33+
34+
event_id: str
35+
"""Identifier sent in the X-Context-Id header."""
36+
37+
http_status: Optional[int] = None
38+
"""
39+
The endpoint's final HTTP response status, or null when no response was
40+
received.
41+
"""
42+
43+
status: Literal["delivered", "rejected", "failed", "skipped_unsafe_url"]
44+
"""Delivery outcome.
45+
46+
delivered means any 2xx response; rejected means a non-2xx response; failed
47+
means no HTTP response was received; skipped_unsafe_url means the URL failed the
48+
public-endpoint safety check.
49+
"""
50+
51+
1852
class Data(BaseModel):
1953
id: str
2054

@@ -56,6 +90,13 @@ class Data(BaseModel):
5690

5791
started_at: Optional[datetime] = None
5892

93+
webhook_delivery: Optional[DataWebhookDelivery] = None
94+
"""The webhook delivery attempted for a change detected by this run.
95+
96+
Omitted when no webhook was attempted, including historical runs created before
97+
delivery tracking was added.
98+
"""
99+
59100

60101
class MonitorListRunsResponse(BaseModel):
61102
data: List[Data]

0 commit comments

Comments
 (0)