runtype 0.3.0 → 0.5.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +152 -0
- data/README.md +88 -10
- data/generated/lib/runtype/agent_aliases/client.rb +153 -0
- data/generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_bindings_request.rb +17 -0
- data/generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_bindings_response.rb +19 -0
- data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_bindings_request.rb +13 -0
- data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_bindings_response.rb +19 -0
- data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_response.rb +2 -0
- data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_response_data_item.rb +2 -0
- data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_response_data_item.rb +2 -0
- data/generated/lib/runtype/agent_aliases/types/post_v1agents_id_aliases_alias_rollback_response.rb +2 -0
- data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_bindings_request.rb +21 -0
- data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_bindings_response.rb +19 -0
- data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_response.rb +2 -0
- data/generated/lib/runtype/agent_versions/client.rb +13 -1
- data/generated/lib/runtype/agent_versions/types/post_v1agent_versions_agent_id_publish_request.rb +6 -0
- data/generated/lib/runtype/agent_versions/types/post_v1agent_versions_agent_id_publish_request_deployment.rb +11 -0
- data/generated/lib/runtype/agent_versions/types/post_v1agent_versions_agent_id_publish_request_deployment_action.rb +14 -0
- data/generated/lib/runtype/agent_versions/types/post_v1agent_versions_agent_id_publish_response.rb +1 -1
- data/generated/lib/runtype/conversations/client.rb +28 -10
- data/generated/lib/runtype/conversations/types/get_v1conversations_id_response.rb +3 -1
- data/generated/lib/runtype/conversations/types/post_v1conversations_request.rb +6 -0
- data/generated/lib/runtype/conversations/types/post_v1conversations_response.rb +3 -1
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request.rb +7 -1
- data/generated/lib/runtype/conversations/types/{put_v1conversations_id_request_messages_item_content_one_item_asset_ref_ref_kind.rb → put_v1conversations_id_request_messages_mode.rb} +3 -3
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_response.rb +3 -1
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one.rb +2 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_history.rb +14 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_messages_item.rb +4 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_messages_item_role.rb +1 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_messages_item_tool_calls_item.rb +17 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_one_messages_item_tool_results_item.rb +17 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero.rb +2 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_history.rb +14 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_messages_item.rb +4 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_messages_item_role.rb +1 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_messages_item_tool_calls_item.rb +17 -0
- data/generated/lib/runtype/dispatch/types/post_v1dispatch_request_zero_messages_item_tool_results_item.rb +17 -0
- data/generated/lib/runtype/model_configs/types/post_v1model_configs_request_settings_custom_model.rb +2 -0
- data/generated/lib/runtype/model_configs/types/post_v1model_configs_request_settings_custom_model_mid_conversation_system_messages.rb +14 -0
- data/generated/lib/runtype/model_configs/types/put_v1model_configs_id_request_settings_custom_model.rb +2 -0
- data/generated/lib/runtype/model_configs/types/put_v1model_configs_id_request_settings_custom_model_mid_conversation_system_messages.rb +14 -0
- data/generated/lib/runtype/products/client.rb +45 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_request.rb +13 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response.rb +13 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data.rb +13 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item.rb +17 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item.rb +77 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item_agent_target_resolution.rb +15 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item_agent_version.rb +17 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item_execution_mode.rb +14 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item_notification_mode.rb +15 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item_pending_approval.rb +27 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_data_item_status.rb +19 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_agents_item_error.rb +11 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item.rb +19 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item_data_item.rb +15 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item_data_item_agent_mode.rb +45 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item_data_item_available_fields.rb +39 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item_data_item_available_fields_metadata_schema.rb +11 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item_error.rb +11 -0
- data/generated/lib/runtype/products/types/get_v1products_id_activity_response_data_surfaces_item_source.rb +14 -0
- data/generated/lib/runtype/provider_keys/types/post_v1provider_keys_id_sync_models_request_models_item.rb +2 -0
- data/generated/lib/runtype/provider_keys/types/post_v1provider_keys_id_sync_models_request_models_item_mid_conversation_system_messages.rb +14 -0
- data/generated/lib/runtype/types/agent_ensure_deploy_target.rb +2 -0
- data/generated/lib/runtype/types/conflict_error_body_candidate_count.rb +21 -0
- data/generated/lib/runtype/types/conflict_error_body_candidate_count_code.rb +11 -0
- data/generated/lib/runtype/types/conversation_message_author.rb +16 -0
- data/generated/lib/runtype/types/conversation_message_author_type.rb +14 -0
- data/generated/lib/runtype/types/conversation_modified_error.rb +13 -0
- data/generated/lib/runtype/types/conversation_modified_error_code.rb +11 -0
- data/generated/lib/runtype/types/conversation_source.rb +14 -0
- data/generated/lib/runtype/types/conversation_transcript_message.rb +23 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content.rb +14 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item.rb +21 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item_asset_ref.rb +19 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item_asset_ref_ref_kind.rb +12 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item_file.rb +13 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item_image.rb +11 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item_reasoning.rb +11 -0
- data/generated/lib/runtype/types/conversation_transcript_message_content_one_item_text.rb +9 -0
- data/generated/lib/runtype/types/conversation_transcript_message_role.rb +14 -0
- data/generated/lib/runtype/types/conversation_transcript_message_tool_calls_item.rb +15 -0
- data/generated/lib/runtype/types/conversation_transcript_message_tool_results_item.rb +15 -0
- data/generated/lib/runtype.rb +59 -12
- data/lib/runtype/agent_ensure.rb +35 -3
- data/lib/runtype/agent_release_aliases.rb +146 -2
- data/lib/runtype/client.rb +21 -1
- data/lib/runtype/errors.rb +14 -2
- data/lib/runtype/raw_client_timeout.rb +56 -0
- data/lib/runtype/sdk_version.rb +2 -1
- data/lib/runtype.rb +1 -0
- metadata +58 -10
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item.rb +0 -17
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_content.rb +0 -15
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_content_one_item.rb +0 -21
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_content_one_item_asset_ref.rb +0 -21
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_content_one_item_file.rb +0 -15
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_content_one_item_image.rb +0 -13
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_content_one_item_text.rb +0 -11
- data/generated/lib/runtype/conversations/types/put_v1conversations_id_request_messages_item_role.rb +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d76301f01717eb2c8c268aa576abea7ab7281c9e333ef117bc8fd2786dffe4a4
|
|
4
|
+
data.tar.gz: 9e1210dc611fc2db3c7f2f949dbff9eb24cc3f1aeb7e2c8b64a5b62660cd4f8d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a24d85ce1007caa25806f38f04b6b3cd5f1f1eb1b0b71b77e3817b464501dfc7cfb151916d9f282a9252dad90018ee39871c1c39a97fab5659e6731289bbbb68
|
|
7
|
+
data.tar.gz: d909413a2c441648bf3b0387355e0479e549fa556cc4e13fe9ce9a0ac1592e0477066181d12e797868d672cf8f4a0e2f1bd05481a8b8a21f631c6353d5c0d806
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,157 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c6dee53: Regenerate the Java, Python and Ruby SDK cores from the OpenAPI spec (spec 1228fedfe63e -> 14f6826470f1, output aca7693058e4).
|
|
8
|
+
|
|
9
|
+
API changes:
|
|
10
|
+
- breaking: POST /v1/agent-versions/{agentId}/publish response 200: property "applied" is now optional
|
|
11
|
+
- breaking: POST /v1/agent-versions/{agentId}/publish response 409<allOf[0]>: property "lastModifiedSource" is now optional
|
|
12
|
+
- breaking: POST /v1/agents/{id}/execute response 409: anyOf composition changed (0 -> 1 branches)
|
|
13
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "candidateCount" removed
|
|
14
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "code" removed
|
|
15
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "configId" removed
|
|
16
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "details" removed
|
|
17
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "error" removed
|
|
18
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "modelId" removed
|
|
19
|
+
- breaking: POST /v1/agents/{id}/execute response 409: property "provider" removed
|
|
20
|
+
- breaking: POST /v1/agents/{id}/execute response 409: type changed object -> anyOf
|
|
21
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]: anyOf composition changed (4 -> 5 branches)
|
|
22
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: property "assetId" removed
|
|
23
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: property "filename" removed
|
|
24
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: property "mimeType" removed
|
|
25
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: property "orgKey" removed
|
|
26
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: property "refKind" removed
|
|
27
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: property "sizeBytes" removed
|
|
28
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>: required property "text" added
|
|
29
|
+
- breaking: PUT /v1/conversations/{id} request.messages[].content<anyOf[1]>[]<anyOf[3]>.type: enum value "asset_ref" removed
|
|
30
|
+
- breaking: schema ClientInputDeliveryReceipt: required property "initial" added
|
|
31
|
+
- breaking: schema InputDeliveryReceipt: required property "initial" added
|
|
32
|
+
- added: DELETE /v1/agents/{id}/aliases/{alias}/bindings: operation added
|
|
33
|
+
- added: GET /v1/agent-aliases: operation added
|
|
34
|
+
- added: GET /v1/agents/{id}/aliases response 200.data[]: required property "bindingNames" added
|
|
35
|
+
- added: GET /v1/agents/{id}/aliases/{alias} response 200: required property "bindingNames" added
|
|
36
|
+
- added: GET /v1/agents/{id}/aliases/{alias}/bindings: operation added
|
|
37
|
+
- added: GET /v1/agents/{id}/deployments response 200.data[]: required property "bindings" added
|
|
38
|
+
- added: GET /v1/conversations/{id} response 200: property "imported" added
|
|
39
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: property "author" added
|
|
40
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: property "createdAt" added
|
|
41
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: property "id" added
|
|
42
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: property "metadata" added
|
|
43
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: property "toolCalls" added
|
|
44
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: property "toolResults" added
|
|
45
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: required property "content" added
|
|
46
|
+
- added: GET /v1/conversations/{id} response 200.messages[]: required property "role" added
|
|
47
|
+
- added: GET /v1/products/{id}/activity: operation added
|
|
48
|
+
- added: POST /v1/agent-versions/{agentId}/publish: header parameter "idempotency-key" added
|
|
49
|
+
- added: POST /v1/agent-versions/{agentId}/publish: header parameter "if-match" added
|
|
50
|
+
- added: POST /v1/agent-versions/{agentId}/publish: response 412 added
|
|
51
|
+
- added: POST /v1/agent-versions/{agentId}/publish request: property "deployment" added
|
|
52
|
+
- added: POST /v1/agent-versions/{agentId}/publish response 409<allOf[0]>: property "expectedVersionId" added
|
|
53
|
+
- added: POST /v1/agent-versions/{agentId}/publish response 409<allOf[0]>.code: enum value "idempotency_key_reused" added
|
|
54
|
+
- added: POST /v1/agent-versions/{agentId}/publish response 409<allOf[0]>.code: enum value "rollback_target_mismatch" added
|
|
55
|
+
- added: POST /v1/agents/{id}/aliases/{alias}/rollback response 200: required property "activePreviewCount" added
|
|
56
|
+
- added: POST /v1/agents/{id}/aliases/{alias}/rollback response 200: required property "bindingNames" added
|
|
57
|
+
- added: POST /v1/agents/{id}/aliases/{alias}/rollback response 200: required property "previewLimit" added
|
|
58
|
+
- added: POST /v1/agents/{id}/execute: response 413 added
|
|
59
|
+
- added: POST /v1/agents/{id}/execute response 409: anyOf branch "ConversationBusyError" added
|
|
60
|
+
- added: POST /v1/agents/{id}/execute response 409: anyOf branch "ConversationModifiedError" added
|
|
61
|
+
- added: POST /v1/agents/ensure: response 429 added
|
|
62
|
+
- added: POST /v1/conversations: response 200 added
|
|
63
|
+
- added: POST /v1/conversations: response 404 added
|
|
64
|
+
- added: POST /v1/conversations request: property "agentId" added
|
|
65
|
+
- added: POST /v1/conversations request: property "messages" added
|
|
66
|
+
- added: POST /v1/conversations request: property "source" added
|
|
67
|
+
- added: POST /v1/conversations response 201: property "imported" added
|
|
68
|
+
- added: POST /v1/conversations response 201.messages[]: property "author" added
|
|
69
|
+
- added: POST /v1/conversations response 201.messages[]: property "createdAt" added
|
|
70
|
+
- … 68 more changes
|
|
71
|
+
|
|
72
|
+
SDK surface:
|
|
73
|
+
- java: 657 public symbols added, 156 removed
|
|
74
|
+
- removed: `Builder`
|
|
75
|
+
- removed: `Builder.additionalProperties`
|
|
76
|
+
- removed: `Builder.additionalProperty`
|
|
77
|
+
- removed: `Builder.build`
|
|
78
|
+
- removed: `Builder.content`
|
|
79
|
+
- removed: `Builder.createdAt`
|
|
80
|
+
- removed: `Builder.from`
|
|
81
|
+
- removed: `Builder.id`
|
|
82
|
+
- removed: `Builder.role`
|
|
83
|
+
- removed: `ContentStage`
|
|
84
|
+
- removed: `IdStage`
|
|
85
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem`
|
|
86
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.builder`
|
|
87
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.equals`
|
|
88
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.getAdditionalProperties`
|
|
89
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.getContent`
|
|
90
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.getCreatedAt`
|
|
91
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.getId`
|
|
92
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.getRole`
|
|
93
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem.hashCode`
|
|
94
|
+
- … 136 more removed
|
|
95
|
+
- python: 22 public symbols added, 9 removed
|
|
96
|
+
- removed: `PutV1ConversationsIdRequestMessagesItem`
|
|
97
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItem_AssetRef`
|
|
98
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItem_File`
|
|
99
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItem_Image`
|
|
100
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItem_Text`
|
|
101
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItemAssetRef`
|
|
102
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItemFile`
|
|
103
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItemImage`
|
|
104
|
+
- removed: `PutV1ConversationsIdRequestMessagesItemContentOneItemText`
|
|
105
|
+
- ruby: 113 public symbols added, 36 removed
|
|
106
|
+
- removed: `Conversations`
|
|
107
|
+
- removed: `PutV1ConversationsIDRequestMessagesItem`
|
|
108
|
+
- removed: `Runtype`
|
|
109
|
+
- removed: `Types`
|
|
110
|
+
- removed: `Conversations`
|
|
111
|
+
- removed: `PutV1ConversationsIDRequestMessagesItemContent`
|
|
112
|
+
- removed: `Runtype`
|
|
113
|
+
- removed: `Types`
|
|
114
|
+
- removed: `Conversations`
|
|
115
|
+
- removed: `PutV1ConversationsIDRequestMessagesItemContentOneItem`
|
|
116
|
+
- removed: `Runtype`
|
|
117
|
+
- removed: `Types`
|
|
118
|
+
- removed: `Conversations`
|
|
119
|
+
- removed: `PutV1ConversationsIDRequestMessagesItemContentOneItemAssetRef`
|
|
120
|
+
- removed: `Runtype`
|
|
121
|
+
- removed: `Types`
|
|
122
|
+
- removed: `Conversations`
|
|
123
|
+
- removed: `PutV1ConversationsIDRequestMessagesItemContentOneItemAssetRefRefKind`
|
|
124
|
+
- removed: `Runtype`
|
|
125
|
+
- removed: `Types`
|
|
126
|
+
- … 16 more removed
|
|
127
|
+
|
|
128
|
+
### Patch Changes
|
|
129
|
+
|
|
130
|
+
- a2839fb: `Runtype::Client.new(timeout:)` now governs generated resource calls, not only the dispatch and streaming paths. The generated `BaseClient` accepts no timeout, so every `client.flows.*`, `client.evals.*` and delegated `client.api.*` call ran under the code generator's 60 second default no matter what the client was given; a synchronous eval run that took 80 seconds always timed out. The documented 600 second default now actually applies, and `request_options: { timeout_in_seconds: n }` overrides it for one call, on a copy of the transport so a client shared across threads is never mutated mid-call.
|
|
131
|
+
|
|
132
|
+
A socket timeout inside a generated call is also curated now. The generated methods rescue `Net::HTTPRequestTimeout`, a 408 response class no socket ever raises, so `Net::ReadTimeout` escaped the `Runtype::Error` tree entirely. `Runtype.wrap_errors` and `Runtype::Error.from_generated` translate `Timeout::Error` (which covers open, read and write timeouts) into `Runtype::APITimeoutError` carrying the original message, matching what the streaming path already did.
|
|
133
|
+
|
|
134
|
+
- ffccd92: `Runtype::Client#archive_agent_alias_everywhere` no longer absorbs an SDK defect
|
|
135
|
+
as an ordinary per-agent failure row. Its per-row rescue is now the curated
|
|
136
|
+
`Runtype::Error` tree plus the transport exceptions `Net::HTTP` raises below
|
|
137
|
+
`Runtype.wrap_errors` (`Timeout::Error`, `OpenSSL::SSL::SSLError`,
|
|
138
|
+
`SocketError`, `SystemCallError`, `IOError`) — the same set
|
|
139
|
+
`Runtype::Streaming::Connection` translates. A `NoMethodError` on a malformed
|
|
140
|
+
generated model, or any other programming error, now aborts the sweep loudly
|
|
141
|
+
instead of making it look complete with an extra `"failed"` row.
|
|
142
|
+
|
|
143
|
+
## 0.4.0
|
|
144
|
+
|
|
145
|
+
### Minor Changes
|
|
146
|
+
|
|
147
|
+
- fdeed1b: Ruby SDK release-alias parity. `Runtype::Client#ensure_agent(version:)` stamps the version row a converge appends with your own `label:` and `notes:`, which is what the agent page, the deployment receipts and the compare-to-live view key on; omit it and the label stays `"sdk-ensure"` with server-generated notes. It rides the hash probe, the full-definition request and a dry run alike.
|
|
148
|
+
|
|
149
|
+
`Runtype::Client#activate_agent_alias(promotion:)` links the source-organization ids and hashes a cross-organization promotion came from onto the deployment receipt, so a production receipt can name the staging version it was promoted from. Provenance only: it authorizes nothing, and the activating credentials alone decide what the activation may do. Takes either key spelling or a `Runtype::Types::AgentDeploymentPromotion`.
|
|
150
|
+
|
|
151
|
+
`Runtype::Client#list_agent_aliases_by_name` reads one pointer name across the whole organization (`GET /v1/agent-aliases`), with each agent's revision to quote back as `If-Match`, and `#archive_agent_alias_everywhere` sweeps that name off every agent carrying it — the cleanup a closed pull request runs. Each row is archived under the revision just read, so a concurrent deploy answers 412 instead of racing, and one agent's failure is reported in `"failed"` rather than aborting the rest — transport failures (DNS, TLS, a connection reset) included, since those are raised by `Net::HTTP` and never reach the curated error tree. `dry_run:` reports what would be archived and archives nothing.
|
|
152
|
+
|
|
153
|
+
Both `version:` and `promotion:` refuse an unrecognized key with an `ArgumentError` naming the accepted ones, rather than letting the server's strict schemas answer a 400; a hash whose values are all `nil` is treated as omitted, so building one from environment variables that may be absent still works.
|
|
154
|
+
|
|
3
155
|
All notable changes to the Runtype Ruby SDK are documented here.
|
|
4
156
|
|
|
5
157
|
## 0.3.0
|
data/README.md
CHANGED
|
@@ -119,6 +119,34 @@ client.archive_agent_alias(agent_id, "pr-482", revision: preview.revision)
|
|
|
119
119
|
client.list_agent_deployments(agent_id, alias_name: "live", limit: 20)
|
|
120
120
|
```
|
|
121
121
|
|
|
122
|
+
### Closing a pull request
|
|
123
|
+
|
|
124
|
+
One pointer name usually spans several agents, so the cleanup a closed pull
|
|
125
|
+
request runs is org-wide rather than per agent:
|
|
126
|
+
|
|
127
|
+
```ruby
|
|
128
|
+
client.list_agent_aliases_by_name("pr-482") # every agent carrying it, with each revision
|
|
129
|
+
client.archive_agent_alias_everywhere("pr-482", dry_run: true) # report, archive nothing
|
|
130
|
+
client.archive_agent_alias_everywhere("pr-482")
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
The sweep archives each pointer under the revision it just read, so a concurrent
|
|
134
|
+
deploy answers 412 instead of racing. One agent's failure is reported rather than
|
|
135
|
+
aborting the rest, transport failures included:
|
|
136
|
+
|
|
137
|
+
```ruby
|
|
138
|
+
sweep = client.archive_agent_alias_everywhere("pr-482")
|
|
139
|
+
sweep["archived"] # [{"agentId", "agentName", "revision", "receiptId"}, ...]
|
|
140
|
+
sweep["failed"] # [{"agentId", "agentName", "error", "code" => "alias_revision_mismatch"}, ...]
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
`"code"` is the alias plane's refusal code and is absent on a transport failure
|
|
144
|
+
(DNS, TLS, a connection reset), which is reported with its message alone.
|
|
145
|
+
|
|
146
|
+
Only active pointers are listed, so a second run archives nothing. A dry run
|
|
147
|
+
answers `{"alias", "dryRun" => true, "wouldArchive" => [<row>]}` with the listed
|
|
148
|
+
rows unchanged.
|
|
149
|
+
|
|
122
150
|
`version_id` is sent exactly as given: the SDK never resolves an alias to a version
|
|
123
151
|
for you. `revision:` is the alias revision you read back from `get_agent_alias`, sent
|
|
124
152
|
as `If-Match`; moving an existing `live` pointer requires it, and a stale value is a
|
|
@@ -139,6 +167,20 @@ client.ensure_agent(assistant, deploy: "live") # a bare String name
|
|
|
139
167
|
`release: "publish"` is the older spelling of `deploy: { alias: "live" }`. Passing both
|
|
140
168
|
raises an `ArgumentError` with the same sentence the API answers a 400 with.
|
|
141
169
|
|
|
170
|
+
`version:` stamps the appended version row with your own provenance, which is what the
|
|
171
|
+
agent page, the receipts and the compare-to-live view key on. Omit it and the label is
|
|
172
|
+
`"sdk-ensure"` with server-generated notes:
|
|
173
|
+
|
|
174
|
+
```ruby
|
|
175
|
+
client.ensure_agent(assistant, deploy: "live",
|
|
176
|
+
version: { label: ENV.fetch("GITHUB_SHA")[0, 7],
|
|
177
|
+
notes: "Promoted from CI run #{ENV.fetch("GITHUB_RUN_ID")}" })
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Both fields are optional (`label` up to 100 characters, `notes` up to 2000), and a hash
|
|
181
|
+
whose values are all `nil` is treated as omitted rather than refused, so building one
|
|
182
|
+
from environment variables that may be absent still saves.
|
|
183
|
+
|
|
142
184
|
Dispatch against a pointer instead of pinning a version, and the run resolves it at
|
|
143
185
|
admission:
|
|
144
186
|
|
|
@@ -160,8 +202,10 @@ staging = Runtype::Client.new(api_key: ENV.fetch("RUNTYPE_STAGING_KEY"))
|
|
|
160
202
|
production = Runtype::Client.new(api_key: ENV.fetch("RUNTYPE_PRODUCTION_KEY"))
|
|
161
203
|
|
|
162
204
|
# 1. Prepare. Same portable definition, destination account, no deploy: so live is untouched.
|
|
163
|
-
|
|
164
|
-
prepared = production.ensure_agent(
|
|
205
|
+
source = staging.pull_agent("Pricing Assistant")
|
|
206
|
+
prepared = production.ensure_agent(
|
|
207
|
+
source["definition"], version: { label: ENV.fetch("GITHUB_SHA")[0, 7] }
|
|
208
|
+
)
|
|
165
209
|
agent_id, candidate = prepared["agentId"], prepared["versionId"]
|
|
166
210
|
|
|
167
211
|
# 2. Validate the bindings in the destination, where the portable refs actually resolve.
|
|
@@ -173,13 +217,20 @@ report = production.evals.run_eval_suite_synchronously(
|
|
|
173
217
|
suite_id: "evs_pricing", agent: { versionId: candidate }
|
|
174
218
|
)
|
|
175
219
|
|
|
176
|
-
# 4. Activate, quoting the revision you just read.
|
|
220
|
+
# 4. Activate, quoting the revision you just read, and name where this came from.
|
|
177
221
|
production.activate_agent_alias(
|
|
178
222
|
agent_id, "live", version_id: candidate, revision: live.revision,
|
|
179
|
-
idempotency_key: "release-#{candidate}", reason: "promoted from staging"
|
|
223
|
+
idempotency_key: "release-#{candidate}", reason: "promoted from staging",
|
|
224
|
+
promotion: { source_agent_id: source["agentId"], source_version_id: source["versionId"],
|
|
225
|
+
source_content_hash: source["contentHash"], source_commit: ENV.fetch("GITHUB_SHA") }
|
|
180
226
|
)
|
|
181
227
|
```
|
|
182
228
|
|
|
229
|
+
`promotion:` is what makes the production receipt name the staging version it came
|
|
230
|
+
from. It is provenance only: it authorizes nothing, and the destination credentials
|
|
231
|
+
alone decide what the activation may do. Every field is optional, and a hash whose
|
|
232
|
+
values are all `nil` is treated as omitted.
|
|
233
|
+
|
|
183
234
|
Nothing gates step 4 on step 3. `evaluate` reports; it does not hold the pointer. If a
|
|
184
235
|
score should stop a release, branch on `report` yourself before calling
|
|
185
236
|
`activate_agent_alias`. An environment-specific rendering of the definition produces a
|
|
@@ -202,6 +253,26 @@ different accounts or environments can coexist in one process.
|
|
|
202
253
|
A missing or blank key raises `Runtype::AuthenticationError` at construction, before
|
|
203
254
|
any request goes out.
|
|
204
255
|
|
|
256
|
+
## Timeouts
|
|
257
|
+
|
|
258
|
+
`timeout:` is the per-operation socket timeout in seconds, defaulting to 600. It is
|
|
259
|
+
generous on purpose: an execution stream can idle between events while a model is
|
|
260
|
+
thinking, and a synchronous eval run can take minutes. One value governs the dispatch
|
|
261
|
+
and streaming paths and every generated resource call alike.
|
|
262
|
+
|
|
263
|
+
```ruby
|
|
264
|
+
client = Runtype::Client.new(timeout: 900) # ten minutes is not enough
|
|
265
|
+
client.evals.run_eval_suite_synchronously(suite_id: "evs_1") # runs under 900 seconds
|
|
266
|
+
|
|
267
|
+
# Override for one call, without touching the client other threads are sharing.
|
|
268
|
+
client.flows.list_flows(request_options: { timeout_in_seconds: 5 })
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
A socket timeout raises `Runtype::APITimeoutError` on the dispatch and streaming
|
|
272
|
+
paths. On a generated resource call it raises the transport's own error, so wrap the
|
|
273
|
+
call in `Runtype.wrap_errors` to get `Runtype::APITimeoutError` there too, the same
|
|
274
|
+
way the curated hierarchy is reached for every other generated failure.
|
|
275
|
+
|
|
205
276
|
## Streaming
|
|
206
277
|
|
|
207
278
|
`dispatch_stream` returns a `Runtype::Streaming::EventStream`, an `Enumerable` of
|
|
@@ -399,12 +470,19 @@ an empty `GEM_HOME` to prove the packaged layout loads.
|
|
|
399
470
|
|
|
400
471
|
The gem is published by `.github/workflows/publish-ruby-sdk.yml` through RubyGems
|
|
401
472
|
trusted publishing (OIDC against the `rubygems` GitHub environment; no API key).
|
|
402
|
-
The
|
|
403
|
-
|
|
404
|
-
1.
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
`
|
|
473
|
+
The version comes from the monorepo's changesets flow, so a release is:
|
|
474
|
+
|
|
475
|
+
1. Land a changeset naming `@runtypelabs/ruby-sdk` (an overlay PR writes its
|
|
476
|
+
own; the Update SDKs bot writes one for every regenerated core, see
|
|
477
|
+
`docs/claude/sdk-release.md`). Never hand-edit `SDK_VERSION` in
|
|
478
|
+
`lib/runtype/sdk_version.rb`: it is a mirror of `package.json`, rewritten by
|
|
479
|
+
`scripts/sync-sdk-versions.mjs` on every Version Packages run, and
|
|
480
|
+
`pnpm check:release-config` reds on drift.
|
|
481
|
+
2. Merge the Version Packages PR. That bumps `package.json`, mirrors the number
|
|
482
|
+
into `sdk_version.rb`, and prepends the `## <version>` section to
|
|
483
|
+
`CHANGELOG.md`.
|
|
484
|
+
3. Run the workflow from `staging` with that version, first with `dry_run` on,
|
|
485
|
+
then off:
|
|
408
486
|
|
|
409
487
|
```bash
|
|
410
488
|
gh workflow run publish-ruby-sdk.yml --ref staging -f version=<version> -f dry_run=true
|
|
@@ -260,6 +260,159 @@ module Runtype
|
|
|
260
260
|
end
|
|
261
261
|
end
|
|
262
262
|
|
|
263
|
+
# The per-alias secret binding NAMES this pointer carries. A binding value is write-only: no read surface returns
|
|
264
|
+
# it, and it never appears on a receipt, an audit envelope or a log line.
|
|
265
|
+
#
|
|
266
|
+
# @param request_options [Hash]
|
|
267
|
+
# @param params [Hash]
|
|
268
|
+
# @option request_options [String] :base_url
|
|
269
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
270
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
271
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
272
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
273
|
+
# @option params [String] :id
|
|
274
|
+
# @option params [String] :alias_
|
|
275
|
+
#
|
|
276
|
+
# @example
|
|
277
|
+
# client.agent_aliases.read_the_secret_binding_names_of_a_release_alias(
|
|
278
|
+
# id: "id",
|
|
279
|
+
# alias_: "alias"
|
|
280
|
+
# )
|
|
281
|
+
#
|
|
282
|
+
# @return [Runtype::AgentAliases::Types::GetV1AgentsIDAliasesAliasBindingsResponse]
|
|
283
|
+
def read_the_secret_binding_names_of_a_release_alias(request_options: {}, **params)
|
|
284
|
+
params = Runtype::Internal::Types::Utils.normalize_keys(params)
|
|
285
|
+
request = Runtype::Internal::JSON::Request.new(
|
|
286
|
+
base_url: request_options[:base_url],
|
|
287
|
+
method: "GET",
|
|
288
|
+
path: "v1/agents/#{URI.encode_uri_component(params[:id].to_s)}/aliases/#{URI.encode_uri_component(params[:alias_].to_s)}/bindings",
|
|
289
|
+
request_options: request_options
|
|
290
|
+
)
|
|
291
|
+
begin
|
|
292
|
+
response = @client.send(request)
|
|
293
|
+
rescue Net::HTTPRequestTimeout
|
|
294
|
+
raise Runtype::Errors::TimeoutError
|
|
295
|
+
end
|
|
296
|
+
code = response.code.to_i
|
|
297
|
+
if code.between?(200, 299)
|
|
298
|
+
Runtype::AgentAliases::Types::GetV1AgentsIDAliasesAliasBindingsResponse.load(response.body)
|
|
299
|
+
else
|
|
300
|
+
error_class = Runtype::Errors::ResponseError.subclass_for_code(code)
|
|
301
|
+
raise error_class.new(response.body, code: code)
|
|
302
|
+
end
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
# Replace the complete set of `{{secret:NAME}}` values executions resolve when they reach this agent through this
|
|
306
|
+
# pointer. A binding wins over the organization secret of the same name, so one preview per pull request can aim
|
|
307
|
+
# its HTTP tools at that pull request environment while the version content stays byte-identical to what `live`
|
|
308
|
+
# runs. Whole-set replacement: a name you stop sending stops resolving. Values are encrypted at rest and never
|
|
309
|
+
# returned. Names beginning RUNTYPE_, PLATFORM_, CLOUDFLARE_ or INTERNAL_ are refused because they are
|
|
310
|
+
# platform-resolved before the alias plane. A change bumps the alias revision and appends a `bind` receipt; an
|
|
311
|
+
# identical set writes nothing. Requires the same deploy scope as activating this alias.
|
|
312
|
+
#
|
|
313
|
+
# @param request_options [Hash]
|
|
314
|
+
# @param params [Runtype::AgentAliases::Types::PutV1AgentsIDAliasesAliasBindingsRequest]
|
|
315
|
+
# @option request_options [String] :base_url
|
|
316
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
317
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
318
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
319
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
320
|
+
# @option params [String] :id
|
|
321
|
+
# @option params [String] :alias_
|
|
322
|
+
# @option params [String, nil] :if_match
|
|
323
|
+
# @option params [String, nil] :idempotency_key
|
|
324
|
+
#
|
|
325
|
+
# @example
|
|
326
|
+
# client.agent_aliases.replace_the_secret_bindings_of_a_release_alias(
|
|
327
|
+
# id: "id",
|
|
328
|
+
# alias_: "alias",
|
|
329
|
+
# bindings: {
|
|
330
|
+
# key: "value"
|
|
331
|
+
# }
|
|
332
|
+
# )
|
|
333
|
+
#
|
|
334
|
+
# @return [Runtype::AgentAliases::Types::PutV1AgentsIDAliasesAliasBindingsResponse]
|
|
335
|
+
def replace_the_secret_bindings_of_a_release_alias(request_options: {}, **params)
|
|
336
|
+
params = Runtype::Internal::Types::Utils.normalize_keys(params)
|
|
337
|
+
request_data = Runtype::AgentAliases::Types::PutV1AgentsIDAliasesAliasBindingsRequest.new(params).to_h
|
|
338
|
+
non_body_param_names = %w[id alias if-match idempotency-key]
|
|
339
|
+
body = request_data.except(*non_body_param_names)
|
|
340
|
+
|
|
341
|
+
headers = {}
|
|
342
|
+
headers["if-match"] = params[:if_match] if params[:if_match]
|
|
343
|
+
headers["idempotency-key"] = params[:idempotency_key] if params[:idempotency_key]
|
|
344
|
+
|
|
345
|
+
request = Runtype::Internal::JSON::Request.new(
|
|
346
|
+
base_url: request_options[:base_url],
|
|
347
|
+
method: "PUT",
|
|
348
|
+
path: "v1/agents/#{URI.encode_uri_component(params[:id].to_s)}/aliases/#{URI.encode_uri_component(params[:alias_].to_s)}/bindings",
|
|
349
|
+
headers: headers,
|
|
350
|
+
body: body,
|
|
351
|
+
request_options: request_options
|
|
352
|
+
)
|
|
353
|
+
begin
|
|
354
|
+
response = @client.send(request)
|
|
355
|
+
rescue Net::HTTPRequestTimeout
|
|
356
|
+
raise Runtype::Errors::TimeoutError
|
|
357
|
+
end
|
|
358
|
+
code = response.code.to_i
|
|
359
|
+
if code.between?(200, 299)
|
|
360
|
+
Runtype::AgentAliases::Types::PutV1AgentsIDAliasesAliasBindingsResponse.load(response.body)
|
|
361
|
+
else
|
|
362
|
+
error_class = Runtype::Errors::ResponseError.subclass_for_code(code)
|
|
363
|
+
raise error_class.new(response.body, code: code)
|
|
364
|
+
end
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
# Remove every per-alias secret binding from this pointer, so its executions fall back to the organization
|
|
368
|
+
# secrets. Equivalent to replacing the set with an empty object.
|
|
369
|
+
#
|
|
370
|
+
# @param request_options [Hash]
|
|
371
|
+
# @param params [Hash]
|
|
372
|
+
# @option request_options [String] :base_url
|
|
373
|
+
# @option request_options [Hash{String => Object}] :additional_headers
|
|
374
|
+
# @option request_options [Hash{String => Object}] :additional_query_parameters
|
|
375
|
+
# @option request_options [Hash{String => Object}] :additional_body_parameters
|
|
376
|
+
# @option request_options [Integer] :timeout_in_seconds
|
|
377
|
+
# @option params [String] :id
|
|
378
|
+
# @option params [String] :alias_
|
|
379
|
+
# @option params [String, nil] :if_match
|
|
380
|
+
# @option params [String, nil] :idempotency_key
|
|
381
|
+
#
|
|
382
|
+
# @example
|
|
383
|
+
# client.agent_aliases.clear_the_secret_bindings_of_a_release_alias(
|
|
384
|
+
# id: "id",
|
|
385
|
+
# alias_: "alias"
|
|
386
|
+
# )
|
|
387
|
+
#
|
|
388
|
+
# @return [Runtype::AgentAliases::Types::DeleteV1AgentsIDAliasesAliasBindingsResponse]
|
|
389
|
+
def clear_the_secret_bindings_of_a_release_alias(request_options: {}, **params)
|
|
390
|
+
params = Runtype::Internal::Types::Utils.normalize_keys(params)
|
|
391
|
+
headers = {}
|
|
392
|
+
headers["if-match"] = params[:if_match] if params[:if_match]
|
|
393
|
+
headers["idempotency-key"] = params[:idempotency_key] if params[:idempotency_key]
|
|
394
|
+
|
|
395
|
+
request = Runtype::Internal::JSON::Request.new(
|
|
396
|
+
base_url: request_options[:base_url],
|
|
397
|
+
method: "DELETE",
|
|
398
|
+
path: "v1/agents/#{URI.encode_uri_component(params[:id].to_s)}/aliases/#{URI.encode_uri_component(params[:alias_].to_s)}/bindings",
|
|
399
|
+
headers: headers,
|
|
400
|
+
request_options: request_options
|
|
401
|
+
)
|
|
402
|
+
begin
|
|
403
|
+
response = @client.send(request)
|
|
404
|
+
rescue Net::HTTPRequestTimeout
|
|
405
|
+
raise Runtype::Errors::TimeoutError
|
|
406
|
+
end
|
|
407
|
+
code = response.code.to_i
|
|
408
|
+
if code.between?(200, 299)
|
|
409
|
+
Runtype::AgentAliases::Types::DeleteV1AgentsIDAliasesAliasBindingsResponse.load(response.body)
|
|
410
|
+
else
|
|
411
|
+
error_class = Runtype::Errors::ResponseError.subclass_for_code(code)
|
|
412
|
+
raise error_class.new(response.body, code: code)
|
|
413
|
+
end
|
|
414
|
+
end
|
|
415
|
+
|
|
263
416
|
# Re-aim an alias at the version recorded as `previousVersionId` on its most recent pointer-moving receipt,
|
|
264
417
|
# walking `steps` receipts back. Writes a `rollback` receipt. Rolling back `live` follows the same scope and
|
|
265
418
|
# `If-Match` rules as activation, and restores configuration only: external data and side effects are not rolled
|
data/generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_bindings_request.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Runtype
|
|
4
|
+
module AgentAliases
|
|
5
|
+
module Types
|
|
6
|
+
class DeleteV1AgentsIDAliasesAliasBindingsRequest < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
10
|
+
|
|
11
|
+
field :if_match, -> { String }, optional: true, nullable: false, api_name: "if-match"
|
|
12
|
+
|
|
13
|
+
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotency-key"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
data/generated/lib/runtype/agent_aliases/types/delete_v1agents_id_aliases_alias_bindings_response.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Runtype
|
|
4
|
+
module AgentAliases
|
|
5
|
+
module Types
|
|
6
|
+
class DeleteV1AgentsIDAliasesAliasBindingsResponse < Internal::Types::Model
|
|
7
|
+
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
8
|
+
|
|
9
|
+
field :changed, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :names, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :receipt_id, -> { String }, optional: true, nullable: false, api_name: "receiptId"
|
|
14
|
+
|
|
15
|
+
field :revision, -> { Integer }, optional: false, nullable: false
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_bindings_request.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Runtype
|
|
4
|
+
module AgentAliases
|
|
5
|
+
module Types
|
|
6
|
+
class GetV1AgentsIDAliasesAliasBindingsRequest < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_alias_bindings_response.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Runtype
|
|
4
|
+
module AgentAliases
|
|
5
|
+
module Types
|
|
6
|
+
class GetV1AgentsIDAliasesAliasBindingsResponse < Internal::Types::Model
|
|
7
|
+
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
8
|
+
|
|
9
|
+
field :changed, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :names, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :receipt_id, -> { String }, optional: true, nullable: false, api_name: "receiptId"
|
|
14
|
+
|
|
15
|
+
field :revision, -> { Integer }, optional: false, nullable: false
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -8,6 +8,8 @@ module Runtype
|
|
|
8
8
|
|
|
9
9
|
field :archived_at, -> { String }, optional: false, nullable: true, api_name: "archivedAt"
|
|
10
10
|
|
|
11
|
+
field :binding_names, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "bindingNames"
|
|
12
|
+
|
|
11
13
|
field :content_hash, -> { String }, optional: false, nullable: true, api_name: "contentHash"
|
|
12
14
|
|
|
13
15
|
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_aliases_response_data_item.rb
CHANGED
|
@@ -8,6 +8,8 @@ module Runtype
|
|
|
8
8
|
|
|
9
9
|
field :archived_at, -> { String }, optional: false, nullable: true, api_name: "archivedAt"
|
|
10
10
|
|
|
11
|
+
field :binding_names, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "bindingNames"
|
|
12
|
+
|
|
11
13
|
field :content_hash, -> { String }, optional: false, nullable: true, api_name: "contentHash"
|
|
12
14
|
|
|
13
15
|
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
data/generated/lib/runtype/agent_aliases/types/get_v1agents_id_deployments_response_data_item.rb
CHANGED
|
@@ -12,6 +12,8 @@ module Runtype
|
|
|
12
12
|
|
|
13
13
|
field :alias_revision, -> { Integer }, optional: false, nullable: false, api_name: "aliasRevision"
|
|
14
14
|
|
|
15
|
+
field :bindings, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
|
|
16
|
+
|
|
15
17
|
field :created_at, -> { String }, optional: false, nullable: false, api_name: "createdAt"
|
|
16
18
|
|
|
17
19
|
field :dependencies, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: true
|
data/generated/lib/runtype/agent_aliases/types/post_v1agents_id_aliases_alias_rollback_response.rb
CHANGED
|
@@ -8,6 +8,8 @@ module Runtype
|
|
|
8
8
|
|
|
9
9
|
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
10
10
|
|
|
11
|
+
field :binding_names, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "bindingNames"
|
|
12
|
+
|
|
11
13
|
field :changed, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
12
14
|
|
|
13
15
|
field :preview_limit, -> { Integer }, optional: false, nullable: true, api_name: "previewLimit"
|
data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_bindings_request.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Runtype
|
|
4
|
+
module AgentAliases
|
|
5
|
+
module Types
|
|
6
|
+
class PutV1AgentsIDAliasesAliasBindingsRequest < Internal::Types::Model
|
|
7
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
8
|
+
|
|
9
|
+
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
10
|
+
|
|
11
|
+
field :if_match, -> { String }, optional: true, nullable: false, api_name: "if-match"
|
|
12
|
+
|
|
13
|
+
field :idempotency_key, -> { String }, optional: true, nullable: false, api_name: "idempotency-key"
|
|
14
|
+
|
|
15
|
+
field :bindings, -> { Internal::Types::Hash[String, String] }, optional: false, nullable: false
|
|
16
|
+
|
|
17
|
+
field :reason, -> { String }, optional: true, nullable: false
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
data/generated/lib/runtype/agent_aliases/types/put_v1agents_id_aliases_alias_bindings_response.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Runtype
|
|
4
|
+
module AgentAliases
|
|
5
|
+
module Types
|
|
6
|
+
class PutV1AgentsIDAliasesAliasBindingsResponse < Internal::Types::Model
|
|
7
|
+
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
8
|
+
|
|
9
|
+
field :changed, -> { Internal::Types::Boolean }, optional: true, nullable: false
|
|
10
|
+
|
|
11
|
+
field :names, -> { Internal::Types::Array[String] }, optional: false, nullable: false
|
|
12
|
+
|
|
13
|
+
field :receipt_id, -> { String }, optional: true, nullable: false, api_name: "receiptId"
|
|
14
|
+
|
|
15
|
+
field :revision, -> { Integer }, optional: false, nullable: false
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -8,6 +8,8 @@ module Runtype
|
|
|
8
8
|
|
|
9
9
|
field :alias_, -> { String }, optional: false, nullable: false, api_name: "alias"
|
|
10
10
|
|
|
11
|
+
field :binding_names, -> { Internal::Types::Array[String] }, optional: false, nullable: false, api_name: "bindingNames"
|
|
12
|
+
|
|
11
13
|
field :changed, -> { Internal::Types::Boolean }, optional: false, nullable: false
|
|
12
14
|
|
|
13
15
|
field :preview_limit, -> { Integer }, optional: false, nullable: true, api_name: "previewLimit"
|