adcp 1.4.0__py3-none-any.whl → 1.5.0__py3-none-any.whl

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.
adcp/__init__.py CHANGED
@@ -150,7 +150,7 @@ from adcp.types.generated import (
150
150
  TaskStatus as GeneratedTaskStatus,
151
151
  )
152
152
 
153
- __version__ = "1.4.0"
153
+ __version__ = "1.5.0"
154
154
 
155
155
  __all__ = [
156
156
  # Client classes
adcp/protocols/mcp.py CHANGED
@@ -245,24 +245,12 @@ class MCPAdapter(ProtocolAdapter):
245
245
  # Call the tool using MCP client session
246
246
  result = await session.call_tool(tool_name, params)
247
247
 
248
- # This SDK requires MCP tools to return structuredContent
249
- # The content field may contain human-readable messages but the actual
250
- # response data must be in structuredContent
251
- if not hasattr(result, "structuredContent") or result.structuredContent is None:
252
- raise ValueError(
253
- f"MCP tool {tool_name} did not return structuredContent. "
254
- f"This SDK requires MCP tools to provide structured responses. "
255
- f"Got content: {result.content if hasattr(result, 'content') else 'none'}"
256
- )
248
+ # Check if this is an error response
249
+ is_error = hasattr(result, "isError") and result.isError
257
250
 
258
- # Extract the structured data (required)
259
- data_to_return = result.structuredContent
260
-
261
- # Extract human-readable message from content (optional)
262
- # This is typically a status message like "Found 42 creative formats"
251
+ # Extract human-readable message from content
263
252
  message_text = None
264
253
  if hasattr(result, "content") and result.content:
265
- # Serialize content using the same method used for backward compatibility
266
254
  serialized_content = self._serialize_mcp_content(result.content)
267
255
  if isinstance(serialized_content, list):
268
256
  for item in serialized_content:
@@ -271,6 +259,40 @@ class MCPAdapter(ProtocolAdapter):
271
259
  message_text = item["text"]
272
260
  break
273
261
 
262
+ # Handle error responses
263
+ if is_error:
264
+ # For error responses, structuredContent is optional
265
+ # Use the error message from content as the error
266
+ error_message = message_text or "Tool execution failed"
267
+ if self.agent_config.debug and start_time:
268
+ duration_ms = (time.time() - start_time) * 1000
269
+ debug_info = DebugInfo(
270
+ request=debug_request,
271
+ response={
272
+ "error": error_message,
273
+ "is_error": True,
274
+ },
275
+ duration_ms=duration_ms,
276
+ )
277
+ return TaskResult[Any](
278
+ status=TaskStatus.FAILED,
279
+ error=error_message,
280
+ success=False,
281
+ debug_info=debug_info,
282
+ )
283
+
284
+ # For successful responses, structuredContent is required
285
+ if not hasattr(result, "structuredContent") or result.structuredContent is None:
286
+ raise ValueError(
287
+ f"MCP tool {tool_name} did not return structuredContent. "
288
+ f"This SDK requires MCP tools to provide structured responses "
289
+ f"for successful calls. "
290
+ f"Got content: {result.content if hasattr(result, 'content') else 'none'}"
291
+ )
292
+
293
+ # Extract the structured data (required for success)
294
+ data_to_return = result.structuredContent
295
+
274
296
  if self.agent_config.debug and start_time:
275
297
  duration_ms = (time.time() - start_time) * 1000
276
298
  debug_info = DebugInfo(
@@ -278,7 +300,7 @@ class MCPAdapter(ProtocolAdapter):
278
300
  response={
279
301
  "data": data_to_return,
280
302
  "message": message_text,
281
- "is_error": result.isError if hasattr(result, "isError") else False,
303
+ "is_error": False,
282
304
  },
283
305
  duration_ms=duration_ms,
284
306
  )
adcp/types/generated.py CHANGED
@@ -158,6 +158,8 @@ class Targeting(BaseModel):
158
158
  geo_region_any_of: list[str] | None = Field(None, description="Restrict delivery to specific regions/states. Use for regulatory compliance or RCT testing.")
159
159
  geo_metro_any_of: list[str] | None = Field(None, description="Restrict delivery to specific metro areas (DMA codes). Use for regulatory compliance or RCT testing.")
160
160
  geo_postal_code_any_of: list[str] | None = Field(None, description="Restrict delivery to specific postal/ZIP codes. Use for regulatory compliance or RCT testing.")
161
+ axe_include_segment: str | None = Field(None, description="AXE segment ID to include for targeting")
162
+ axe_exclude_segment: str | None = Field(None, description="AXE segment ID to exclude from targeting")
161
163
  frequency_cap: FrequencyCap | None = None
162
164
 
163
165
 
@@ -635,6 +637,7 @@ class ActivateSignalRequest(BaseModel):
635
637
 
636
638
  signal_agent_segment_id: str = Field(description="The universal identifier for the signal to activate")
637
639
  destinations: list[Destination] = Field(description="Target destination(s) for activation. If the authenticated caller matches one of these destinations, activation keys will be included in the response.")
640
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
638
641
 
639
642
 
640
643
  class BuildCreativeRequest(BaseModel):
@@ -643,6 +646,7 @@ class BuildCreativeRequest(BaseModel):
643
646
  message: str | None = Field(None, description="Natural language instructions for the transformation or generation. For pure generation, this is the creative brief. For transformation, this provides guidance on how to adapt the creative.")
644
647
  creative_manifest: CreativeManifest | None = Field(None, description="Creative manifest to transform or generate from. For pure generation, this should include the target format_id and any required input assets (e.g., promoted_offerings for generative formats). For transformation (e.g., resizing, reformatting), this is the complete creative to adapt.")
645
648
  target_format_id: FormatId = Field(description="Format ID to generate. The format definition specifies required input assets and output structure.")
649
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
646
650
 
647
651
 
648
652
  class CreateMediaBuyRequest(BaseModel):
@@ -655,6 +659,7 @@ class CreateMediaBuyRequest(BaseModel):
655
659
  start_time: StartTiming
656
660
  end_time: str = Field(description="Campaign end date/time in ISO 8601 format")
657
661
  reporting_webhook: Any | None = None
662
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
658
663
 
659
664
 
660
665
  class GetMediaBuyDeliveryRequest(BaseModel):
@@ -665,6 +670,7 @@ class GetMediaBuyDeliveryRequest(BaseModel):
665
670
  status_filter: Any | None = Field(None, description="Filter by status. Can be a single status or array of statuses")
666
671
  start_date: str | None = Field(None, description="Start date for reporting period (YYYY-MM-DD)")
667
672
  end_date: str | None = Field(None, description="End date for reporting period (YYYY-MM-DD)")
673
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
668
674
 
669
675
 
670
676
  class GetProductsRequest(BaseModel):
@@ -673,6 +679,7 @@ class GetProductsRequest(BaseModel):
673
679
  brief: str | None = Field(None, description="Natural language description of campaign requirements")
674
680
  brand_manifest: BrandManifestRef | None = Field(None, description="Brand information manifest providing brand context, assets, and product catalog. Can be provided inline or as a URL reference to a hosted manifest.")
675
681
  filters: dict[str, Any] | None = Field(None, description="Structured filters for product discovery")
682
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
676
683
 
677
684
 
678
685
  class GetSignalsRequest(BaseModel):
@@ -682,12 +689,14 @@ class GetSignalsRequest(BaseModel):
682
689
  deliver_to: dict[str, Any] = Field(description="Destination platforms where signals need to be activated")
683
690
  filters: dict[str, Any] | None = Field(None, description="Filters to refine results")
684
691
  max_results: int | None = Field(None, description="Maximum number of results to return")
692
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
685
693
 
686
694
 
687
695
  class ListAuthorizedPropertiesRequest(BaseModel):
688
696
  """Request parameters for discovering which publishers this agent is authorized to represent"""
689
697
 
690
698
  publisher_domains: list[str] | None = Field(None, description="Filter to specific publisher domains (optional). If omitted, returns all publishers this agent represents.")
699
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
691
700
 
692
701
 
693
702
  class ListCreativeFormatsRequest(BaseModel):
@@ -702,6 +711,7 @@ class ListCreativeFormatsRequest(BaseModel):
702
711
  min_height: int | None = Field(None, description="Minimum height in pixels (inclusive). Returns formats with height >= this value.")
703
712
  is_responsive: bool | None = Field(None, description="Filter for responsive formats that adapt to container size. When true, returns formats without fixed dimensions.")
704
713
  name_search: str | None = Field(None, description="Search for formats by name (case-insensitive partial match)")
714
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
705
715
 
706
716
 
707
717
  class ListCreativesRequest(BaseModel):
@@ -714,6 +724,7 @@ class ListCreativesRequest(BaseModel):
714
724
  include_performance: bool | None = Field(None, description="Include aggregated performance metrics in response")
715
725
  include_sub_assets: bool | None = Field(None, description="Include sub-assets (for carousel/native formats) in response")
716
726
  fields: list[Literal["creative_id", "name", "format", "status", "created_date", "updated_date", "tags", "assignments", "performance", "sub_assets"]] | None = Field(None, description="Specific fields to include in response (omit for all fields)")
727
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
717
728
 
718
729
 
719
730
  class PackageRequest(BaseModel):
@@ -741,6 +752,7 @@ class ProvidePerformanceFeedbackRequest(BaseModel):
741
752
  creative_id: str | None = Field(None, description="Specific creative asset (if feedback is creative-specific)")
742
753
  metric_type: Literal["overall_performance", "conversion_rate", "brand_lift", "click_through_rate", "completion_rate", "viewability", "brand_safety", "cost_efficiency"] | None = Field(None, description="The business metric being measured")
743
754
  feedback_source: Literal["buyer_attribution", "third_party_measurement", "platform_analytics", "verification_partner"] | None = Field(None, description="Source of the performance data")
755
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agentsmust echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
744
756
 
745
757
 
746
758
  class SyncCreativesRequest(BaseModel):
@@ -753,6 +765,7 @@ class SyncCreativesRequest(BaseModel):
753
765
  dry_run: bool | None = Field(None, description="When true, preview changes without applying them. Returns what would be created/updated/deleted.")
754
766
  validation_mode: Literal["strict", "lenient"] | None = Field(None, description="Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid creatives and reports errors.")
755
767
  push_notification_config: PushNotificationConfig | None = Field(None, description="Optional webhook configuration for async sync notifications. Publisher will send webhook when sync completes if operation takes longer than immediate response time (typically for large bulk operations or manual approval/HITL).")
768
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
756
769
 
757
770
 
758
771
  class TasksGetRequest(BaseModel):
@@ -760,6 +773,7 @@ class TasksGetRequest(BaseModel):
760
773
 
761
774
  task_id: str = Field(description="Unique identifier of the task to retrieve")
762
775
  include_history: bool | None = Field(None, description="Include full conversation history for this task (may increase response size)")
776
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
763
777
 
764
778
 
765
779
  class TasksListRequest(BaseModel):
@@ -769,6 +783,7 @@ class TasksListRequest(BaseModel):
769
783
  sort: dict[str, Any] | None = Field(None, description="Sorting parameters")
770
784
  pagination: dict[str, Any] | None = Field(None, description="Pagination parameters")
771
785
  include_history: bool | None = Field(None, description="Include full conversation history for each task (may significantly increase response size)")
786
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
772
787
 
773
788
 
774
789
  class UpdateMediaBuyRequest(BaseModel):
@@ -781,6 +796,7 @@ class UpdateMediaBuyRequest(BaseModel):
781
796
  end_time: str | None = Field(None, description="New end date/time in ISO 8601 format")
782
797
  packages: list[dict[str, Any]] | None = Field(None, description="Package-specific updates")
783
798
  push_notification_config: PushNotificationConfig | None = Field(None, description="Optional webhook configuration for async update notifications. Publisher will send webhook when update completes if operation takes longer than immediate response time.")
799
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context included in the request payload. Agents must echo this value back unchanged in responses and webhooks. Use for UI/session hints, correlation tokens, or tracking metadata.")
784
800
 
785
801
 
786
802
  # Response containing the transformed or generated creative manifest, ready for use with preview_creative or sync_creatives. Returns either the complete creative manifest OR error information, never both.
@@ -791,6 +807,7 @@ class BuildCreativeResponseVariant1(BaseModel):
791
807
  model_config = ConfigDict(extra="forbid")
792
808
 
793
809
  creative_manifest: CreativeManifest = Field(description="The generated or transformed creative manifest")
810
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
794
811
 
795
812
 
796
813
  class BuildCreativeResponseVariant2(BaseModel):
@@ -799,6 +816,7 @@ class BuildCreativeResponseVariant2(BaseModel):
799
816
  model_config = ConfigDict(extra="forbid")
800
817
 
801
818
  errors: list[Error] = Field(description="Array of errors explaining why creative generation failed")
819
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
802
820
 
803
821
 
804
822
  # Union type for Build Creative Response
@@ -818,6 +836,7 @@ class GetMediaBuyDeliveryResponse(BaseModel):
818
836
  aggregated_totals: dict[str, Any] | None = Field(None, description="Combined metrics across all returned media buys. Only included in API responses (get_media_buy_delivery), not in webhook notifications.")
819
837
  media_buy_deliveries: list[dict[str, Any]] = Field(description="Array of delivery data for media buys. When used in webhook notifications, may contain multiple media buys aggregated by publisher. When used in get_media_buy_delivery API responses, typically contains requested media buys.")
820
838
  errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., missing delivery data, reporting platform issues)")
839
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
821
840
 
822
841
 
823
842
  class GetProductsResponse(BaseModel):
@@ -825,6 +844,7 @@ class GetProductsResponse(BaseModel):
825
844
 
826
845
  products: list[Product] = Field(description="Array of matching products")
827
846
  errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., product filtering issues)")
847
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
828
848
 
829
849
 
830
850
  class GetSignalsResponse(BaseModel):
@@ -832,6 +852,7 @@ class GetSignalsResponse(BaseModel):
832
852
 
833
853
  signals: list[dict[str, Any]] = Field(description="Array of matching signals")
834
854
  errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., signal discovery or pricing issues)")
855
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
835
856
 
836
857
 
837
858
  class ListAuthorizedPropertiesResponse(BaseModel):
@@ -844,6 +865,7 @@ class ListAuthorizedPropertiesResponse(BaseModel):
844
865
  advertising_policies: str | None = Field(None, description="Publisher's advertising content policies, restrictions, and guidelines in natural language. May include prohibited categories, blocked advertisers, restricted tactics, brand safety requirements, or links to full policy documentation.")
845
866
  last_updated: str | None = Field(None, description="ISO 8601 timestamp of when the agent's publisher authorization list was last updated. Buyers can use this to determine if their cached publisher adagents.json files might be stale.")
846
867
  errors: list[Error] | None = Field(None, description="Task-specific errors and warnings (e.g., property availability issues)")
868
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
847
869
 
848
870
 
849
871
  class ListCreativeFormatsResponse(BaseModel):
@@ -852,6 +874,7 @@ class ListCreativeFormatsResponse(BaseModel):
852
874
  formats: list[Format] = Field(description="Full format definitions for all formats this agent supports. Each format's authoritative source is indicated by its agent_url field.")
853
875
  creative_agents: list[dict[str, Any]] | None = Field(None, description="Optional: Creative agents that provide additional formats. Buyers can recursively query these agents to discover more formats. No authentication required for list_creative_formats.")
854
876
  errors: list[Error] | None = Field(None, description="Task-specific errors and warnings")
877
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
855
878
 
856
879
 
857
880
  class ListCreativesResponse(BaseModel):
@@ -862,6 +885,7 @@ class ListCreativesResponse(BaseModel):
862
885
  creatives: list[dict[str, Any]] = Field(description="Array of creative assets matching the query")
863
886
  format_summary: dict[str, Any] | None = Field(None, description="Breakdown of creatives by format type")
864
887
  status_summary: dict[str, Any] | None = Field(None, description="Breakdown of creatives by status")
888
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
865
889
 
866
890
 
867
891
  # Response payload for provide_performance_feedback task. Returns either success confirmation OR error information, never both.
@@ -872,6 +896,7 @@ class ProvidePerformanceFeedbackResponseVariant1(BaseModel):
872
896
  model_config = ConfigDict(extra="forbid")
873
897
 
874
898
  success: Literal[True] = Field(description="Whether the performance feedback was successfully received")
899
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
875
900
 
876
901
 
877
902
  class ProvidePerformanceFeedbackResponseVariant2(BaseModel):
@@ -880,6 +905,7 @@ class ProvidePerformanceFeedbackResponseVariant2(BaseModel):
880
905
  model_config = ConfigDict(extra="forbid")
881
906
 
882
907
  errors: list[Error] = Field(description="Array of errors explaining why feedback was rejected (e.g., invalid measurement period, missing campaign data)")
908
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
883
909
 
884
910
 
885
911
  # Union type for Provide Performance Feedback Response
@@ -900,6 +926,7 @@ class TasksGetResponse(BaseModel):
900
926
  progress: dict[str, Any] | None = Field(None, description="Progress information for long-running tasks")
901
927
  error: dict[str, Any] | None = Field(None, description="Error details for failed tasks")
902
928
  history: list[dict[str, Any]] | None = Field(None, description="Complete conversation history for this task (only included if include_history was true in request)")
929
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
903
930
 
904
931
 
905
932
  class TasksListResponse(BaseModel):
@@ -908,6 +935,7 @@ class TasksListResponse(BaseModel):
908
935
  query_summary: dict[str, Any] = Field(description="Summary of the query that was executed")
909
936
  tasks: list[dict[str, Any]] = Field(description="Array of tasks matching the query criteria")
910
937
  pagination: dict[str, Any] = Field(description="Pagination information")
938
+ context: dict[str, Any] | None = Field(None, description="Initiator-provided context echoed inside the task payload. Opaque metadata such as UI/session hints, correlation tokens, or tracking identifiers.")
911
939
 
912
940
 
913
941
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: adcp
3
- Version: 1.4.0
3
+ Version: 1.5.0
4
4
  Summary: Official Python client for the Ad Context Protocol (AdCP)
5
5
  Author-email: AdCP Community <maintainers@adcontextprotocol.org>
6
6
  License: Apache-2.0
@@ -1,4 +1,4 @@
1
- adcp/__init__.py,sha256=Zrkvf-Gcm4spEJLCwByHWqhydkD-OkkaW-pw7yjOQ4c,6976
1
+ adcp/__init__.py,sha256=Q3JzUv35ZwIU3Y97bd_wpHikojz-YFtlaekN961bakg,6976
2
2
  adcp/__main__.py,sha256=Avy_C71rruh2lOuojvuXDj09tkFOaek74nJ-dbx25Sw,12838
3
3
  adcp/client.py,sha256=4qoFNDT5swzi4w5bnWJ5nVTG5JIL0xnLJOJMGeMyci4,28412
4
4
  adcp/config.py,sha256=Vsy7ZPOI8G3fB_i5Nk-CHbC7wdasCUWuKlos0fwA0kY,2017
@@ -7,20 +7,20 @@ adcp/simple.py,sha256=FgPYWT32BNXkQz07r2x2gXgOmOikWLi88SzN5UIVSiU,10440
7
7
  adcp/protocols/__init__.py,sha256=6UFwACQ0QadBUzy17wUROHqsJDp8ztPW2jzyl53Zh_g,262
8
8
  adcp/protocols/a2a.py,sha256=FHgc6G_eU2qD0vH7_RyS1eZvUFSb2j3-EsceoHPi384,12467
9
9
  adcp/protocols/base.py,sha256=vBHD23Fzl_CCk_Gy9nvSbBYopcJlYkYyzoz-rhI8wHg,5214
10
- adcp/protocols/mcp.py,sha256=eIk8snCinZm-ZjdarGVMt5nEYJ4_8POM9Fa5Mkw7xxU,15902
10
+ adcp/protocols/mcp.py,sha256=d9uSpGd0BKvQ0JxztkfDvHwoDrDYhuiw5oivpYOAbmM,16647
11
11
  adcp/testing/__init__.py,sha256=ZWp_floWjVZfy8RBG5v_FUXQ8YbN7xjXvVcX-_zl_HU,1416
12
12
  adcp/testing/test_helpers.py,sha256=4n8fZYy1cVpjZpFW2SxBzpC8fmY-MBFrzY4tIPqe4rQ,10028
13
13
  adcp/types/__init__.py,sha256=3E_TJUXqQQFcjmSZZSPLwqBP3s_ijsH2LDeuOU-MP30,402
14
14
  adcp/types/core.py,sha256=RXkKCWCXS9BVJTNpe3Opm5O1I_LaQPMUuVwa-ipvS1Q,4839
15
- adcp/types/generated.py,sha256=Ig4ucbJzKRuHlwYzsqvMF9M3w2KghhQQqsXuOnBqVMM,74993
15
+ adcp/types/generated.py,sha256=li7OXwzwbSufdff6sF_tjA9X1Sce4pq_FB3aijvoW-E,81384
16
16
  adcp/types/tasks.py,sha256=Ae9TSwG2F7oWXTcl4TvLhAzinbQkHNGF1Pc0q8RMNNM,23424
17
17
  adcp/utils/__init__.py,sha256=uetvSJB19CjQbtwEYZiTnumJG11GsafQmXm5eR3hL7E,153
18
18
  adcp/utils/operation_id.py,sha256=wQX9Bb5epXzRq23xoeYPTqzu5yLuhshg7lKJZihcM2k,294
19
19
  adcp/utils/preview_cache.py,sha256=8_2qs5CgrHv1_WOnD4bs43VWueu-rcZRu5PZMQ_lyuE,17573
20
20
  adcp/utils/response_parser.py,sha256=uPk2vIH-RYZmq7y3i8lC4HTMQ3FfKdlgXKTjgJ1955M,6253
21
- adcp-1.4.0.dist-info/licenses/LICENSE,sha256=PF39NR3Ae8PLgBhg3Uxw6ju7iGVIf8hfv9LRWQdii_U,629
22
- adcp-1.4.0.dist-info/METADATA,sha256=AU6CN99ddoJk4iyZ3iHHVoeoYqAof3UzedzDrHpQji0,19931
23
- adcp-1.4.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
24
- adcp-1.4.0.dist-info/entry_points.txt,sha256=DQKpcGsJX8DtVI_SGApQ7tNvqUB4zkTLaTAEpFgmi3U,44
25
- adcp-1.4.0.dist-info/top_level.txt,sha256=T1_NF0GefncFU9v_k56oDwKSJREyCqIM8lAwNZf0EOs,5
26
- adcp-1.4.0.dist-info/RECORD,,
21
+ adcp-1.5.0.dist-info/licenses/LICENSE,sha256=PF39NR3Ae8PLgBhg3Uxw6ju7iGVIf8hfv9LRWQdii_U,629
22
+ adcp-1.5.0.dist-info/METADATA,sha256=seaLyTrrjeh5W1sSvZajfvbomYy-VcX9jPWfCZQiXDU,19931
23
+ adcp-1.5.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
24
+ adcp-1.5.0.dist-info/entry_points.txt,sha256=DQKpcGsJX8DtVI_SGApQ7tNvqUB4zkTLaTAEpFgmi3U,44
25
+ adcp-1.5.0.dist-info/top_level.txt,sha256=T1_NF0GefncFU9v_k56oDwKSJREyCqIM8lAwNZf0EOs,5
26
+ adcp-1.5.0.dist-info/RECORD,,
File without changes