cadenya 0.50.0 → 0.51.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.
Files changed (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +1 -1
  4. data/lib/cadenya/client.rb +23 -0
  5. data/lib/cadenya/models/agents/webhook_delivery_data.rb +1 -0
  6. data/lib/cadenya/models/agents/webhook_delivery_list_params.rb +1 -0
  7. data/lib/cadenya/models/api_key_spec.rb +5 -4
  8. data/lib/cadenya/models/model_spec.rb +29 -1
  9. data/lib/cadenya/models/objective.rb +10 -1
  10. data/lib/cadenya/models/objective_create_params.rb +35 -1
  11. data/lib/cadenya/models/objective_event.rb +2 -2
  12. data/lib/cadenya/models/objective_event_data.rb +3 -1
  13. data/lib/cadenya/models/objective_event_data_reasoning.rb +40 -0
  14. data/lib/cadenya/models/objective_info.rb +32 -1
  15. data/lib/cadenya/models/objective_list_params.rb +37 -1
  16. data/lib/cadenya/models/reasoning.rb +26 -0
  17. data/lib/cadenya/models/subject.rb +31 -0
  18. data/lib/cadenya/models/subject_assertion.rb +35 -0
  19. data/lib/cadenya/models/subject_info.rb +32 -0
  20. data/lib/cadenya/models/subject_reference.rb +41 -0
  21. data/lib/cadenya/models/tenant.rb +58 -0
  22. data/lib/cadenya/models/tenant_assertion.rb +34 -0
  23. data/lib/cadenya/models/tenant_delete_params.rb +26 -0
  24. data/lib/cadenya/models/tenant_info.rb +42 -0
  25. data/lib/cadenya/models/tenant_list_params.rb +77 -0
  26. data/lib/cadenya/models/tenant_reference.rb +37 -0
  27. data/lib/cadenya/models/tenant_retrieve_params.rb +36 -0
  28. data/lib/cadenya/models/tenants/subject_list_params.rb +70 -0
  29. data/lib/cadenya/models/widget.rb +70 -0
  30. data/lib/cadenya/models/widget_archive_params.rb +26 -0
  31. data/lib/cadenya/models/widget_create_params.rb +42 -0
  32. data/lib/cadenya/models/widget_delete_params.rb +26 -0
  33. data/lib/cadenya/models/widget_info.rb +57 -0
  34. data/lib/cadenya/models/widget_list_params.rb +76 -0
  35. data/lib/cadenya/models/widget_retrieve_params.rb +26 -0
  36. data/lib/cadenya/models/widget_session.rb +95 -0
  37. data/lib/cadenya/models/widget_session_create_params.rb +73 -0
  38. data/lib/cadenya/models/widget_session_delete_params.rb +26 -0
  39. data/lib/cadenya/models/widget_session_delete_tenant_params.rb +34 -0
  40. data/lib/cadenya/models/widget_session_delete_tenant_response.rb +29 -0
  41. data/lib/cadenya/models/widget_session_info.rb +86 -0
  42. data/lib/cadenya/models/widget_session_list_params.rb +117 -0
  43. data/lib/cadenya/models/widget_session_retrieve_params.rb +26 -0
  44. data/lib/cadenya/models/widget_session_revoke_params.rb +26 -0
  45. data/lib/cadenya/models/widget_session_spec.rb +89 -0
  46. data/lib/cadenya/models/widget_spec.rb +45 -0
  47. data/lib/cadenya/models/widget_unarchive_params.rb +26 -0
  48. data/lib/cadenya/models/widget_update_params.rb +57 -0
  49. data/lib/cadenya/models.rb +66 -0
  50. data/lib/cadenya/resources/objectives.rb +21 -3
  51. data/lib/cadenya/resources/tenants/subjects.rb +66 -0
  52. data/lib/cadenya/resources/tenants.rb +142 -0
  53. data/lib/cadenya/resources/widget_sessions.rb +240 -0
  54. data/lib/cadenya/resources/widgets.rb +262 -0
  55. data/lib/cadenya/version.rb +1 -1
  56. data/lib/cadenya.rb +38 -0
  57. data/rbi/cadenya/client.rbi +20 -0
  58. data/rbi/cadenya/models/agents/webhook_delivery_data.rbi +5 -0
  59. data/rbi/cadenya/models/agents/webhook_delivery_list_params.rbi +5 -0
  60. data/rbi/cadenya/models/api_key_spec.rbi +10 -8
  61. data/rbi/cadenya/models/model_spec.rbi +49 -3
  62. data/rbi/cadenya/models/objective.rbi +13 -0
  63. data/rbi/cadenya/models/objective_create_params.rbi +53 -0
  64. data/rbi/cadenya/models/objective_event.rbi +2 -1
  65. data/rbi/cadenya/models/objective_event_data.rbi +2 -1
  66. data/rbi/cadenya/models/objective_event_data_reasoning.rbi +81 -0
  67. data/rbi/cadenya/models/objective_info.rbi +50 -3
  68. data/rbi/cadenya/models/objective_list_params.rbi +52 -0
  69. data/rbi/cadenya/models/reasoning.rbi +32 -0
  70. data/rbi/cadenya/models/subject.rbi +49 -0
  71. data/rbi/cadenya/models/subject_assertion.rbi +45 -0
  72. data/rbi/cadenya/models/subject_info.rbi +49 -0
  73. data/rbi/cadenya/models/subject_reference.rbi +52 -0
  74. data/rbi/cadenya/models/tenant.rbi +81 -0
  75. data/rbi/cadenya/models/tenant_assertion.rbi +44 -0
  76. data/rbi/cadenya/models/tenant_delete_params.rbi +46 -0
  77. data/rbi/cadenya/models/tenant_info.rbi +67 -0
  78. data/rbi/cadenya/models/tenant_list_params.rbi +120 -0
  79. data/rbi/cadenya/models/tenant_reference.rbi +50 -0
  80. data/rbi/cadenya/models/tenant_retrieve_params.rbi +61 -0
  81. data/rbi/cadenya/models/tenants/subject_list_params.rbi +110 -0
  82. data/rbi/cadenya/models/widget.rbi +98 -0
  83. data/rbi/cadenya/models/widget_archive_params.rbi +46 -0
  84. data/rbi/cadenya/models/widget_create_params.rbi +70 -0
  85. data/rbi/cadenya/models/widget_delete_params.rbi +46 -0
  86. data/rbi/cadenya/models/widget_info.rbi +92 -0
  87. data/rbi/cadenya/models/widget_list_params.rbi +118 -0
  88. data/rbi/cadenya/models/widget_retrieve_params.rbi +46 -0
  89. data/rbi/cadenya/models/widget_session.rbi +149 -0
  90. data/rbi/cadenya/models/widget_session_create_params.rbi +123 -0
  91. data/rbi/cadenya/models/widget_session_delete_params.rbi +46 -0
  92. data/rbi/cadenya/models/widget_session_delete_tenant_params.rbi +62 -0
  93. data/rbi/cadenya/models/widget_session_delete_tenant_response.rbi +51 -0
  94. data/rbi/cadenya/models/widget_session_info.rbi +137 -0
  95. data/rbi/cadenya/models/widget_session_list_params.rbi +206 -0
  96. data/rbi/cadenya/models/widget_session_retrieve_params.rbi +49 -0
  97. data/rbi/cadenya/models/widget_session_revoke_params.rbi +46 -0
  98. data/rbi/cadenya/models/widget_session_spec.rbi +140 -0
  99. data/rbi/cadenya/models/widget_spec.rbi +74 -0
  100. data/rbi/cadenya/models/widget_unarchive_params.rbi +46 -0
  101. data/rbi/cadenya/models/widget_update_params.rbi +87 -0
  102. data/rbi/cadenya/models.rbi +67 -0
  103. data/rbi/cadenya/resources/objectives.rbi +35 -0
  104. data/rbi/cadenya/resources/tenants/subjects.rbi +54 -0
  105. data/rbi/cadenya/resources/tenants.rbi +108 -0
  106. data/rbi/cadenya/resources/widget_sessions.rbi +172 -0
  107. data/rbi/cadenya/resources/widgets.rbi +180 -0
  108. data/sig/cadenya/client.rbs +6 -0
  109. data/sig/cadenya/models/agents/webhook_delivery_data.rbs +2 -0
  110. data/sig/cadenya/models/agents/webhook_delivery_list_params.rbs +2 -0
  111. data/sig/cadenya/models/model_spec.rbs +29 -3
  112. data/sig/cadenya/models/objective.rbs +7 -0
  113. data/sig/cadenya/models/objective_create_params.rbs +21 -0
  114. data/sig/cadenya/models/objective_event_data.rbs +1 -0
  115. data/sig/cadenya/models/objective_event_data_reasoning.rbs +35 -0
  116. data/sig/cadenya/models/objective_info.rbs +24 -3
  117. data/sig/cadenya/models/objective_list_params.rbs +29 -1
  118. data/sig/cadenya/models/reasoning.rbs +13 -0
  119. data/sig/cadenya/models/subject.rbs +24 -0
  120. data/sig/cadenya/models/subject_assertion.rbs +17 -0
  121. data/sig/cadenya/models/subject_info.rbs +26 -0
  122. data/sig/cadenya/models/subject_reference.rbs +19 -0
  123. data/sig/cadenya/models/tenant.rbs +44 -0
  124. data/sig/cadenya/models/tenant_assertion.rbs +17 -0
  125. data/sig/cadenya/models/tenant_delete_params.rbs +30 -0
  126. data/sig/cadenya/models/tenant_info.rbs +36 -0
  127. data/sig/cadenya/models/tenant_list_params.rbs +70 -0
  128. data/sig/cadenya/models/tenant_reference.rbs +19 -0
  129. data/sig/cadenya/models/tenant_retrieve_params.rbs +36 -0
  130. data/sig/cadenya/models/tenants/subject_list_params.rbs +70 -0
  131. data/sig/cadenya/models/widget.rbs +49 -0
  132. data/sig/cadenya/models/widget_archive_params.rbs +30 -0
  133. data/sig/cadenya/models/widget_create_params.rbs +38 -0
  134. data/sig/cadenya/models/widget_delete_params.rbs +30 -0
  135. data/sig/cadenya/models/widget_info.rbs +43 -0
  136. data/sig/cadenya/models/widget_list_params.rbs +70 -0
  137. data/sig/cadenya/models/widget_retrieve_params.rbs +30 -0
  138. data/sig/cadenya/models/widget_session.rbs +77 -0
  139. data/sig/cadenya/models/widget_session_create_params.rbs +67 -0
  140. data/sig/cadenya/models/widget_session_delete_params.rbs +30 -0
  141. data/sig/cadenya/models/widget_session_delete_tenant_params.rbs +32 -0
  142. data/sig/cadenya/models/widget_session_delete_tenant_response.rbs +23 -0
  143. data/sig/cadenya/models/widget_session_info.rbs +64 -0
  144. data/sig/cadenya/models/widget_session_list_params.rbs +112 -0
  145. data/sig/cadenya/models/widget_session_retrieve_params.rbs +30 -0
  146. data/sig/cadenya/models/widget_session_revoke_params.rbs +30 -0
  147. data/sig/cadenya/models/widget_session_spec.rbs +62 -0
  148. data/sig/cadenya/models/widget_spec.rbs +34 -0
  149. data/sig/cadenya/models/widget_unarchive_params.rbs +30 -0
  150. data/sig/cadenya/models/widget_update_params.rbs +56 -0
  151. data/sig/cadenya/models.rbs +66 -0
  152. data/sig/cadenya/resources/objectives.rbs +7 -0
  153. data/sig/cadenya/resources/tenants/subjects.rbs +20 -0
  154. data/sig/cadenya/resources/tenants.rbs +33 -0
  155. data/sig/cadenya/resources/widget_sessions.rbs +53 -0
  156. data/sig/cadenya/resources/widgets.rbs +58 -0
  157. metadata +116 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d99a2c43428a1e5c801241eee6987fe357872a81f4efee9ad4851071d5d4057e
4
- data.tar.gz: 7744729bb14d0c6faada1df94ba0f5bcbd5d7ff3799006a8d8130e246433ea8b
3
+ metadata.gz: b7720d802ad10daa44db4b332ec4dc695d3bf0cbda5635fe181b3e73582cb122
4
+ data.tar.gz: 87eb98bbac943e0ce28df27d9b3c3d36463726f0867db6d7ee656b33fcb91294
5
5
  SHA512:
6
- metadata.gz: d23c2109a9290c7bf888db04ffe5b9e08ad583c040afe30164b38aea7372e77b44b7f2727ba6487a4f576f13b598e84486b8f0043f9b503b445866da3d81999c
7
- data.tar.gz: ebfa57aefa3325012ed9e23ef68c5de53146983e421963baae317831dc0f6d782c946ce0f7319523764fb2337acae93b7a3a70e2c19b3c63dbac4b0ef005a93d
6
+ metadata.gz: 077d3323962c15cce7a371c8488bc459f94854f0751b078fa1caa78d803a575baadadf583bf59747aa17591a5f81842316939471aaec1a60ec519492a4223723
7
+ data.tar.gz: c461bbb91bd8f4a7bd03c385e7fc3adb6a8f132ae1266b5ce03b4cdb7e6b458e1564d92900fe0f018c5ddb5c7b0d0993d2465ab62569340e5ab8ac69deeec141
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.51.0 (2026-08-05)
4
+
5
+ Full Changelog: [v0.50.0...v0.51.0](https://github.com/cadenya/cadenya-ruby/compare/v0.50.0...v0.51.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([f38375e](https://github.com/cadenya/cadenya-ruby/commit/f38375e25291fabd524b2ce91a711a6710024adb))
10
+ * **api:** api update ([e47a68b](https://github.com/cadenya/cadenya-ruby/commit/e47a68bd7daa9aa2b556bb440d5506e3036ba77b))
11
+ * **api:** api update ([ddfe08d](https://github.com/cadenya/cadenya-ruby/commit/ddfe08d1f138ed8da6555fc03e2edbfb561c5835))
12
+ * **api:** api update ([5c8fa0d](https://github.com/cadenya/cadenya-ruby/commit/5c8fa0d83455ec315b97c6b67cea81c38015b326))
13
+
3
14
  ## 0.50.0 (2026-07-22)
4
15
 
5
16
  Full Changelog: [v0.49.0...v0.50.0](https://github.com/cadenya/cadenya-ruby/compare/v0.49.0...v0.50.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "cadenya", "~> 0.50.0"
20
+ gem "cadenya", "~> 0.51.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -112,6 +112,26 @@ module Cadenya
112
112
  # @return [Cadenya::Resources::Webhooks]
113
113
  attr_reader :webhooks
114
114
 
115
+ # Manage embeddable chat widgets. A widget binds an agent to a globally unique
116
+ # hostname with a per-widget origin allowlist; browsers reach it with session
117
+ # tokens minted via WidgetSessionService.
118
+ # @return [Cadenya::Resources::Widgets]
119
+ attr_reader :widgets
120
+
121
+ # Read and erase tenants and the subjects under them. Tenants and subjects are
122
+ # created by assertion — on objective creation or widget session mint — never
123
+ # directly, so this service has no create or update: it exists to enumerate what
124
+ # assertions have produced, and to destroy it on request.
125
+ # @return [Cadenya::Resources::Tenants]
126
+ attr_reader :tenants
127
+
128
+ # Mint and manage widget sessions. Session creation is server-to-server only: the
129
+ # customer's backend authenticates its visitor, asserts tenant/subject context,
130
+ # attaches any per-visitor secrets, and receives a short-lived bearer token the
131
+ # browser uses against the widget host.
132
+ # @return [Cadenya::Resources::WidgetSessions]
133
+ attr_reader :widget_sessions
134
+
115
135
  # @api private
116
136
  #
117
137
  # @return [Hash{String=>String}]
@@ -199,6 +219,9 @@ module Cadenya
199
219
  @workspaces = Cadenya::Resources::Workspaces.new(client: self)
200
220
  @workspace_admin = Cadenya::Resources::WorkspaceAdmin.new(client: self)
201
221
  @webhooks = Cadenya::Resources::Webhooks.new(client: self)
222
+ @widgets = Cadenya::Resources::Widgets.new(client: self)
223
+ @tenants = Cadenya::Resources::Tenants.new(client: self)
224
+ @widget_sessions = Cadenya::Resources::WidgetSessions.new(client: self)
202
225
  end
203
226
  end
204
227
  end
@@ -137,6 +137,7 @@ module Cadenya
137
137
  OBJECTIVE_EVENT_TYPE_FINALIZED = :OBJECTIVE_EVENT_TYPE_FINALIZED
138
138
  OBJECTIVE_EVENT_TYPE_NOTICE = :OBJECTIVE_EVENT_TYPE_NOTICE
139
139
  OBJECTIVE_EVENT_TYPE_TIMED_OUT = :OBJECTIVE_EVENT_TYPE_TIMED_OUT
140
+ OBJECTIVE_EVENT_TYPE_REASONING = :OBJECTIVE_EVENT_TYPE_REASONING
140
141
 
141
142
  # @!method self.values
142
143
  # @return [Array<Symbol>]
@@ -92,6 +92,7 @@ module Cadenya
92
92
  OBJECTIVE_EVENT_TYPE_FINALIZED = :OBJECTIVE_EVENT_TYPE_FINALIZED
93
93
  OBJECTIVE_EVENT_TYPE_NOTICE = :OBJECTIVE_EVENT_TYPE_NOTICE
94
94
  OBJECTIVE_EVENT_TYPE_TIMED_OUT = :OBJECTIVE_EVENT_TYPE_TIMED_OUT
95
+ OBJECTIVE_EVENT_TYPE_REASONING = :OBJECTIVE_EVENT_TYPE_REASONING
95
96
 
96
97
  # @!method self.values
97
98
  # @return [Array<Symbol>]
@@ -13,10 +13,11 @@ module Cadenya
13
13
  # Scopes granted to this key. Each entry is a colon-separated resource:verb string
14
14
  # (e.g. "objectives:manage").
15
15
  #
16
- # Resources: agents, objectives, tools, memory, api_keys, workspaces, secrets,
17
- # account. Verbs: read and manage, where manage implies read — a stored scope set
18
- # is normalized to drop "x:read" when "x:manage" is present. The secrets and
19
- # account resources support only manage. "\*" is an explicit full-access grant.
16
+ # Resources: agents, objectives, tools, memory, api_keys, workspaces, widgets,
17
+ # widget_sessions, secrets, account. Verbs: read and manage, where manage implies
18
+ # read — a stored scope set is normalized to drop "x:read" when "x:manage" is
19
+ # present. The secrets and account resources support only manage. "\*" is an
20
+ # explicit full-access grant.
20
21
  #
21
22
  # Scopes are deny-by-default: a key with an empty list can call only scope-free
22
23
  # endpoints. Full access is always an explicit "\*" grant.
@@ -39,7 +39,17 @@ module Cadenya
39
39
  # @return [String, nil]
40
40
  optional :output_price_per_million_tokens, String, api_name: :outputPricePerMillionTokens
41
41
 
42
- # @!method initialize(family:, provider:, input_price_per_million_tokens: nil, max_input_tokens: nil, max_output_tokens: nil, output_price_per_million_tokens: nil)
42
+ # @!attribute reasoning
43
+ # The model's reasoning capability. Catalog data used to decide whether thinking
44
+ # is requested for objective iterations on this model.
45
+ #
46
+ # @return [Symbol, Cadenya::Models::ModelSpec::Reasoning, nil]
47
+ optional :reasoning, enum: -> { Cadenya::ModelSpec::Reasoning }
48
+
49
+ # @!method initialize(family:, provider:, input_price_per_million_tokens: nil, max_input_tokens: nil, max_output_tokens: nil, output_price_per_million_tokens: nil, reasoning: nil)
50
+ # Some parameter documentations has been truncated, see
51
+ # {Cadenya::Models::ModelSpec} for more details.
52
+ #
43
53
  # @param family [String] The model family (e.g., "claude-sonnet-4.6", "gpt-5.4", "gemini-2.5-flash")
44
54
  #
45
55
  # @param provider [String] The model provider (e.g., "anthropic", "openai", "google")
@@ -51,6 +61,24 @@ module Cadenya
51
61
  # @param max_output_tokens [Integer] Maximum number of output tokens the model can generate
52
62
  #
53
63
  # @param output_price_per_million_tokens [String] Cost per million output tokens in cents (e.g., 1500 = $15.00)
64
+ #
65
+ # @param reasoning [Symbol, Cadenya::Models::ModelSpec::Reasoning] The model's reasoning capability. Catalog data used to decide whether
66
+
67
+ # The model's reasoning capability. Catalog data used to decide whether thinking
68
+ # is requested for objective iterations on this model.
69
+ #
70
+ # @see Cadenya::Models::ModelSpec#reasoning
71
+ module Reasoning
72
+ extend Cadenya::Internal::Type::Enum
73
+
74
+ REASONING_UNSPECIFIED = :REASONING_UNSPECIFIED
75
+ REASONING_NONE = :REASONING_NONE
76
+ REASONING_ADAPTIVE = :REASONING_ADAPTIVE
77
+ REASONING_BUDGET = :REASONING_BUDGET
78
+
79
+ # @!method self.values
80
+ # @return [Array<Symbol>]
81
+ end
54
82
  end
55
83
  end
56
84
  end
@@ -101,6 +101,13 @@ module Cadenya
101
101
  # @return [String, nil]
102
102
  optional :parent_objective_id, String, api_name: :parentObjectiveId
103
103
 
104
+ # @!attribute pinned_parameters
105
+ # Parameters forced onto this objective's tool calls, as provided at creation. See
106
+ # CreateObjectiveRequest.pinned_parameters for semantics.
107
+ #
108
+ # @return [Hash{Symbol=>String}, nil]
109
+ optional :pinned_parameters, Cadenya::Internal::Type::HashOf[String], api_name: :pinnedParameters
110
+
104
111
  # @!attribute state_message
105
112
  # Optional human-readable detail about the current state (e.g. a failure reason).
106
113
  #
@@ -116,7 +123,7 @@ module Cadenya
116
123
  api_name: :systemPromptData
117
124
  end
118
125
 
119
- # @!method initialize(config_snapshot:, first_user_message:, metadata:, state:, system_prompt:, episodic_memory: nil, first_user_message_data: nil, info: nil, memory_cascade: nil, output: nil, parent_objective_id: nil, secrets: nil, state_message: nil, system_prompt_data: nil)
126
+ # @!method initialize(config_snapshot:, first_user_message:, metadata:, state:, system_prompt:, episodic_memory: nil, first_user_message_data: nil, info: nil, memory_cascade: nil, output: nil, parent_objective_id: nil, pinned_parameters: nil, secrets: nil, state_message: nil, system_prompt_data: nil)
120
127
  # Some parameter documentations has been truncated, see
121
128
  # {Cadenya::Models::Objective} for more details.
122
129
  #
@@ -146,6 +153,8 @@ module Cadenya
146
153
  #
147
154
  # @param parent_objective_id [String] A parent objective means the objective was spawned off using a separate agent to
148
155
  #
156
+ # @param pinned_parameters [Hash{Symbol=>String}] Parameters forced onto this objective's tool calls, as provided at
157
+ #
149
158
  # @param secrets [Array<Cadenya::Models::ObjectiveSecret>] Secrets that can be used in the headers for tool calls using the secret interpol
150
159
  #
151
160
  # @param state_message [String] Optional human-readable detail about the current state (e.g. a failure reason).
@@ -83,6 +83,15 @@ module Cadenya
83
83
  # @return [Cadenya::Models::CreateOperationMetadata, nil]
84
84
  optional :metadata, -> { Cadenya::CreateOperationMetadata }
85
85
 
86
+ # @!attribute pinned_parameters
87
+ # Parameters forced onto this objective's tool calls. A pinned parameter is an
88
+ # overlay on a tool's JSON schema: the parameter is removed from what the LLM
89
+ # sees, and its value is always overwritten server-side with the pinned value —
90
+ # the model cannot choose a different value for it.
91
+ #
92
+ # @return [Hash{Symbol=>String}, nil]
93
+ optional :pinned_parameters, Cadenya::Internal::Type::HashOf[String], api_name: :pinnedParameters
94
+
86
95
  # @!attribute secrets
87
96
  # Secrets that can be used in the headers for tool calls using the secret
88
97
  # interpolation format.
@@ -90,6 +99,25 @@ module Cadenya
90
99
  # @return [Array<Cadenya::Models::ObjectiveCreateParams::Secret>, nil]
91
100
  optional :secrets, -> { Cadenya::Internal::Type::ArrayOf[Cadenya::ObjectiveCreateParams::Secret] }
92
101
 
102
+ # @!attribute subject
103
+ # SubjectAssertion identifies a person within a tenant in the customer's own
104
+ # namespace — typically their user id. Asserting a subject upserts the subject
105
+ # record under the asserted tenant and associates the created resource with it. A
106
+ # subject assertion is only valid alongside a tenant assertion: subject
107
+ # identifiers are scoped to their tenant.
108
+ #
109
+ # @return [Cadenya::Models::SubjectAssertion, nil]
110
+ optional :subject, -> { Cadenya::SubjectAssertion }
111
+
112
+ # @!attribute tenant
113
+ # TenantAssertion identifies a tenant in the customer's own namespace — their org,
114
+ # company, or team identifier for an end user. Asserting a tenant upserts the
115
+ # tenant record in the workspace (keyed on `id` as the tenant's external_id) and
116
+ # associates the created resource with it.
117
+ #
118
+ # @return [Cadenya::Models::TenantAssertion, nil]
119
+ optional :tenant, -> { Cadenya::TenantAssertion }
120
+
93
121
  # @!attribute variation_id
94
122
  # Optional explicit variation selection. Overrides the agent's
95
123
  # variation_selection_mode.
@@ -97,7 +125,7 @@ module Cadenya
97
125
  # @return [String, nil]
98
126
  optional :variation_id, String, api_name: :variationId
99
127
 
100
- # @!method initialize(agent_id:, system_prompt_data:, workspace_id: nil, episodic_memory: nil, first_user_message: nil, first_user_message_data: nil, memory_cascade: nil, metadata: nil, secrets: nil, variation_id: nil, request_options: {})
128
+ # @!method initialize(agent_id:, system_prompt_data:, workspace_id: nil, episodic_memory: nil, first_user_message: nil, first_user_message_data: nil, memory_cascade: nil, metadata: nil, pinned_parameters: nil, secrets: nil, subject: nil, tenant: nil, variation_id: nil, request_options: {})
101
129
  # Some parameter documentations has been truncated, see
102
130
  # {Cadenya::Models::ObjectiveCreateParams} for more details.
103
131
  #
@@ -117,8 +145,14 @@ module Cadenya
117
145
  #
118
146
  # @param metadata [Cadenya::Models::CreateOperationMetadata] CreateOperationMetadata contains the user-provided fields for creating
119
147
  #
148
+ # @param pinned_parameters [Hash{Symbol=>String}] Parameters forced onto this objective's tool calls. A pinned parameter
149
+ #
120
150
  # @param secrets [Array<Cadenya::Models::ObjectiveCreateParams::Secret>] Secrets that can be used in the headers for tool calls using the secret interpol
121
151
  #
152
+ # @param subject [Cadenya::Models::SubjectAssertion] SubjectAssertion identifies a person within a tenant in the customer's own
153
+ #
154
+ # @param tenant [Cadenya::Models::TenantAssertion] TenantAssertion identifies a tenant in the customer's own namespace — their
155
+ #
122
156
  # @param variation_id [String] Optional explicit variation selection. Overrides the agent's variation_selection
123
157
  #
124
158
  # @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
@@ -6,7 +6,7 @@ module Cadenya
6
6
  class ObjectiveEvent < Cadenya::Internal::Type::BaseModel
7
7
  # @!attribute data
8
8
  #
9
- # @return [Cadenya::Models::ObjectiveEventDataUserMessage, Cadenya::Models::ObjectiveEventDataToolApprovalRequested, Cadenya::Models::ObjectiveEventDataToolApproved, Cadenya::Models::ObjectiveEventDataToolDenied, Cadenya::Models::ObjectiveEventDataToolCalled, Cadenya::Models::ObjectiveEventDataError, Cadenya::Models::ObjectiveEventDataAssistantMessage, Cadenya::Models::ObjectiveEventDataToolResult, Cadenya::Models::ObjectiveEventDataToolError, Cadenya::Models::ObjectiveEventDataContextWindowCompacted, Cadenya::Models::ObjectiveEventDataMemoryRead, Cadenya::Models::ObjectiveEventDataCancelled, Cadenya::Models::ObjectiveEventDataSubAgentSpawned, Cadenya::Models::ObjectiveEventDataSubAgentUpdated, Cadenya::Models::ObjectiveEventDataFinalized, Cadenya::Models::ObjectiveEventDataNotice, Cadenya::Models::ObjectiveEventDataTimedOut]
9
+ # @return [Cadenya::Models::ObjectiveEventDataUserMessage, Cadenya::Models::ObjectiveEventDataToolApprovalRequested, Cadenya::Models::ObjectiveEventDataToolApproved, Cadenya::Models::ObjectiveEventDataToolDenied, Cadenya::Models::ObjectiveEventDataToolCalled, Cadenya::Models::ObjectiveEventDataError, Cadenya::Models::ObjectiveEventDataAssistantMessage, Cadenya::Models::ObjectiveEventDataToolResult, Cadenya::Models::ObjectiveEventDataToolError, Cadenya::Models::ObjectiveEventDataContextWindowCompacted, Cadenya::Models::ObjectiveEventDataMemoryRead, Cadenya::Models::ObjectiveEventDataCancelled, Cadenya::Models::ObjectiveEventDataSubAgentSpawned, Cadenya::Models::ObjectiveEventDataSubAgentUpdated, Cadenya::Models::ObjectiveEventDataFinalized, Cadenya::Models::ObjectiveEventDataNotice, Cadenya::Models::ObjectiveEventDataTimedOut, Cadenya::Models::ObjectiveEventDataReasoning]
10
10
  required :data, union: -> { Cadenya::ObjectiveEventData }
11
11
 
12
12
  # @!attribute metadata
@@ -50,7 +50,7 @@ module Cadenya
50
50
  # Some parameter documentations has been truncated, see
51
51
  # {Cadenya::Models::ObjectiveEvent} for more details.
52
52
  #
53
- # @param data [Cadenya::Models::ObjectiveEventDataUserMessage, Cadenya::Models::ObjectiveEventDataToolApprovalRequested, Cadenya::Models::ObjectiveEventDataToolApproved, Cadenya::Models::ObjectiveEventDataToolDenied, Cadenya::Models::ObjectiveEventDataToolCalled, Cadenya::Models::ObjectiveEventDataError, Cadenya::Models::ObjectiveEventDataAssistantMessage, Cadenya::Models::ObjectiveEventDataToolResult, Cadenya::Models::ObjectiveEventDataToolError, Cadenya::Models::ObjectiveEventDataContextWindowCompacted, Cadenya::Models::ObjectiveEventDataMemoryRead, Cadenya::Models::ObjectiveEventDataCancelled, Cadenya::Models::ObjectiveEventDataSubAgentSpawned, Cadenya::Models::ObjectiveEventDataSubAgentUpdated, Cadenya::Models::ObjectiveEventDataFinalized, Cadenya::Models::ObjectiveEventDataNotice, Cadenya::Models::ObjectiveEventDataTimedOut]
53
+ # @param data [Cadenya::Models::ObjectiveEventDataUserMessage, Cadenya::Models::ObjectiveEventDataToolApprovalRequested, Cadenya::Models::ObjectiveEventDataToolApproved, Cadenya::Models::ObjectiveEventDataToolDenied, Cadenya::Models::ObjectiveEventDataToolCalled, Cadenya::Models::ObjectiveEventDataError, Cadenya::Models::ObjectiveEventDataAssistantMessage, Cadenya::Models::ObjectiveEventDataToolResult, Cadenya::Models::ObjectiveEventDataToolError, Cadenya::Models::ObjectiveEventDataContextWindowCompacted, Cadenya::Models::ObjectiveEventDataMemoryRead, Cadenya::Models::ObjectiveEventDataCancelled, Cadenya::Models::ObjectiveEventDataSubAgentSpawned, Cadenya::Models::ObjectiveEventDataSubAgentUpdated, Cadenya::Models::ObjectiveEventDataFinalized, Cadenya::Models::ObjectiveEventDataNotice, Cadenya::Models::ObjectiveEventDataTimedOut, Cadenya::Models::ObjectiveEventDataReasoning]
54
54
  #
55
55
  # @param metadata [Cadenya::Models::OperationMetadata] Metadata for ephemeral operations and activities (e.g., objectives, executions,
56
56
  #
@@ -41,8 +41,10 @@ module Cadenya
41
41
 
42
42
  variant :timedOut, -> { Cadenya::ObjectiveEventDataTimedOut }
43
43
 
44
+ variant :reasoning, -> { Cadenya::ObjectiveEventDataReasoning }
45
+
44
46
  # @!method self.variants
45
- # @return [Array(Cadenya::Models::ObjectiveEventDataUserMessage, Cadenya::Models::ObjectiveEventDataToolApprovalRequested, Cadenya::Models::ObjectiveEventDataToolApproved, Cadenya::Models::ObjectiveEventDataToolDenied, Cadenya::Models::ObjectiveEventDataToolCalled, Cadenya::Models::ObjectiveEventDataError, Cadenya::Models::ObjectiveEventDataAssistantMessage, Cadenya::Models::ObjectiveEventDataToolResult, Cadenya::Models::ObjectiveEventDataToolError, Cadenya::Models::ObjectiveEventDataContextWindowCompacted, Cadenya::Models::ObjectiveEventDataMemoryRead, Cadenya::Models::ObjectiveEventDataCancelled, Cadenya::Models::ObjectiveEventDataSubAgentSpawned, Cadenya::Models::ObjectiveEventDataSubAgentUpdated, Cadenya::Models::ObjectiveEventDataFinalized, Cadenya::Models::ObjectiveEventDataNotice, Cadenya::Models::ObjectiveEventDataTimedOut)]
47
+ # @return [Array(Cadenya::Models::ObjectiveEventDataUserMessage, Cadenya::Models::ObjectiveEventDataToolApprovalRequested, Cadenya::Models::ObjectiveEventDataToolApproved, Cadenya::Models::ObjectiveEventDataToolDenied, Cadenya::Models::ObjectiveEventDataToolCalled, Cadenya::Models::ObjectiveEventDataError, Cadenya::Models::ObjectiveEventDataAssistantMessage, Cadenya::Models::ObjectiveEventDataToolResult, Cadenya::Models::ObjectiveEventDataToolError, Cadenya::Models::ObjectiveEventDataContextWindowCompacted, Cadenya::Models::ObjectiveEventDataMemoryRead, Cadenya::Models::ObjectiveEventDataCancelled, Cadenya::Models::ObjectiveEventDataSubAgentSpawned, Cadenya::Models::ObjectiveEventDataSubAgentUpdated, Cadenya::Models::ObjectiveEventDataFinalized, Cadenya::Models::ObjectiveEventDataNotice, Cadenya::Models::ObjectiveEventDataTimedOut, Cadenya::Models::ObjectiveEventDataReasoning)]
46
48
  end
47
49
  end
48
50
  end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class ObjectiveEventDataReasoning < Cadenya::Internal::Type::BaseModel
6
+ # @!attribute reasoning
7
+ # Reasoning carries the human-readable reasoning text a model produced while
8
+ # working on an iteration — extended thinking (Anthropic, Gemini) or reasoning
9
+ # summaries (OpenAI). It is emitted alongside the assistant message from the same
10
+ # model response and is purely informational: the text shown here is never sent
11
+ # back to the model.
12
+ #
13
+ # @return [Cadenya::Models::Reasoning]
14
+ required :reasoning, -> { Cadenya::Reasoning }
15
+
16
+ # @!attribute type
17
+ #
18
+ # @return [Symbol, Cadenya::Models::ObjectiveEventDataReasoning::Type]
19
+ required :type, enum: -> { Cadenya::ObjectiveEventDataReasoning::Type }
20
+
21
+ # @!method initialize(reasoning:, type:)
22
+ # Some parameter documentations has been truncated, see
23
+ # {Cadenya::Models::ObjectiveEventDataReasoning} for more details.
24
+ #
25
+ # @param reasoning [Cadenya::Models::Reasoning] Reasoning carries the human-readable reasoning text a model produced while
26
+ #
27
+ # @param type [Symbol, Cadenya::Models::ObjectiveEventDataReasoning::Type]
28
+
29
+ # @see Cadenya::Models::ObjectiveEventDataReasoning#type
30
+ module Type
31
+ extend Cadenya::Internal::Type::Enum
32
+
33
+ REASONING = :reasoning
34
+
35
+ # @!method self.values
36
+ # @return [Array<Symbol>]
37
+ end
38
+ end
39
+ end
40
+ end
@@ -80,9 +80,34 @@ module Cadenya
80
80
  #
81
81
  # @return [Integer]
82
82
  required :total_tool_calls, Integer, api_name: :totalToolCalls
83
+
84
+ # @!attribute subject
85
+ # SubjectReference is the read-only echo of a resource's subject association,
86
+ # carrying both Cadenya's canonical id and the customer's own key.
87
+ #
88
+ # @return [Cadenya::Models::SubjectReference, nil]
89
+ optional :subject, -> { Cadenya::SubjectReference }
90
+
91
+ # @!attribute tenant
92
+ # TenantReference is the read-only echo of a resource's tenant association,
93
+ # carrying both Cadenya's canonical id and the customer's own key.
94
+ #
95
+ # @return [Cadenya::Models::TenantReference, nil]
96
+ optional :tenant, -> { Cadenya::TenantReference }
97
+
98
+ # @!attribute widget
99
+ # BareMetadata contains the minimal metadata for a resource: the ID and an
100
+ # optional human-readable name. These are used for reference fields where the full
101
+ # metadata (account scoping, timestamps, labels, external IDs) is not needed —
102
+ # e.g., the tool references inside an agent variation spec or the tools assigned
103
+ # to an objective. Both fields are server-populated; clients provide IDs through
104
+ # sibling fields rather than by constructing a BareMetadata themselves.
105
+ #
106
+ # @return [Cadenya::Models::BareMetadata, nil]
107
+ optional :widget, -> { Cadenya::BareMetadata }
83
108
  end
84
109
 
85
- # @!method initialize(agent:, agent_variation:, created_by:, current_context_window_id:, effective_memory_cascade:, total_context_windows:, total_events:, total_input_tokens:, total_iterations:, total_output_tokens:, total_tool_calls:)
110
+ # @!method initialize(agent:, agent_variation:, created_by:, current_context_window_id:, effective_memory_cascade:, total_context_windows:, total_events:, total_input_tokens:, total_iterations:, total_output_tokens:, total_tool_calls:, subject: nil, tenant: nil, widget: nil)
86
111
  # Some parameter documentations has been truncated, see
87
112
  # {Cadenya::Models::ObjectiveInfo} for more details.
88
113
  #
@@ -110,6 +135,12 @@ module Cadenya
110
135
  # @param total_output_tokens [Integer] Total output tokens generated across all LLM completions across all context wind
111
136
  #
112
137
  # @param total_tool_calls [Integer] Total number of tool calls made during execution
138
+ #
139
+ # @param subject [Cadenya::Models::SubjectReference] SubjectReference is the read-only echo of a resource's subject association,
140
+ #
141
+ # @param tenant [Cadenya::Models::TenantReference] TenantReference is the read-only echo of a resource's tenant association,
142
+ #
143
+ # @param widget [Cadenya::Models::BareMetadata] BareMetadata contains the minimal metadata for a resource: the ID and an
113
144
  end
114
145
  end
115
146
  end
@@ -74,7 +74,35 @@ module Cadenya
74
74
  # @return [Symbol, Cadenya::Models::ObjectiveListParams::State, nil]
75
75
  optional :state, enum: -> { Cadenya::ObjectiveListParams::State }
76
76
 
77
- # @!method initialize(workspace_id: nil, agent_id: nil, agent_schedule_id: nil, cursor: nil, include_info: nil, labels: nil, limit: nil, parent_objective_id: nil, profile_id: nil, sort_order: nil, state: nil, request_options: {})
77
+ # @!attribute subject_id
78
+ # Filter to objectives associated with a subject. Accepts the canonical `subj_…`
79
+ # form or the `external_id:<value>` form; the external_id form is scoped within a
80
+ # tenant and requires `tenant_id` to also be set.
81
+ #
82
+ # @return [String, nil]
83
+ optional :subject_id, String
84
+
85
+ # @!attribute tenant_id
86
+ # Filter to objectives associated with a tenant. Accepts the canonical `tenant_…`
87
+ # form or the `external_id:<value>` form.
88
+ #
89
+ # @return [String, nil]
90
+ optional :tenant_id, String
91
+
92
+ # @!attribute widget_id
93
+ # Filter to objectives whose conversation ran through a widget. Accepts the
94
+ # canonical `wgt_…` form or the `external_id:<value>` form.
95
+ #
96
+ # @return [String, nil]
97
+ optional :widget_id, String
98
+
99
+ # @!attribute widget_session_id
100
+ # Filter to objectives created by a specific widget session.
101
+ #
102
+ # @return [String, nil]
103
+ optional :widget_session_id, String
104
+
105
+ # @!method initialize(workspace_id: nil, agent_id: nil, agent_schedule_id: nil, cursor: nil, include_info: nil, labels: nil, limit: nil, parent_objective_id: nil, profile_id: nil, sort_order: nil, state: nil, subject_id: nil, tenant_id: nil, widget_id: nil, widget_session_id: nil, request_options: {})
78
106
  # Some parameter documentations has been truncated, see
79
107
  # {Cadenya::Models::ObjectiveListParams} for more details.
80
108
  #
@@ -100,6 +128,14 @@ module Cadenya
100
128
  #
101
129
  # @param state [Symbol, Cadenya::Models::ObjectiveListParams::State] Filter by state
102
130
  #
131
+ # @param subject_id [String] Filter to objectives associated with a subject. Accepts the canonical
132
+ #
133
+ # @param tenant_id [String] Filter to objectives associated with a tenant. Accepts the canonical
134
+ #
135
+ # @param widget_id [String] Filter to objectives whose conversation ran through a widget. Accepts
136
+ #
137
+ # @param widget_session_id [String] Filter to objectives created by a specific widget session.
138
+ #
103
139
  # @param request_options [Cadenya::RequestOptions, Hash{Symbol=>Object}]
104
140
 
105
141
  # Filter by state
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class Reasoning < Cadenya::Internal::Type::BaseModel
6
+ # @!attribute content
7
+ # The reasoning text. May be a verbatim chain of thought or a provider-generated
8
+ # summary depending on the model.
9
+ #
10
+ # @return [String]
11
+ required :content, String
12
+
13
+ # @!method initialize(content:)
14
+ # Some parameter documentations has been truncated, see
15
+ # {Cadenya::Models::Reasoning} for more details.
16
+ #
17
+ # Reasoning carries the human-readable reasoning text a model produced while
18
+ # working on an iteration — extended thinking (Anthropic, Gemini) or reasoning
19
+ # summaries (OpenAI). It is emitted alongside the assistant message from the same
20
+ # model response and is purely informational: the text shown here is never sent
21
+ # back to the model.
22
+ #
23
+ # @param content [String] The reasoning text. May be a verbatim chain of thought or a
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class Subject < Cadenya::Internal::Type::BaseModel
6
+ # @!attribute metadata
7
+ # Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
8
+ #
9
+ # @return [Cadenya::Models::ResourceMetadata]
10
+ required :metadata, -> { Cadenya::ResourceMetadata }
11
+
12
+ # @!attribute info
13
+ # SubjectInfo provides read-only server-derived data about a subject.
14
+ #
15
+ # @return [Cadenya::Models::SubjectInfo, nil]
16
+ optional :info, -> { Cadenya::SubjectInfo }
17
+
18
+ # @!method initialize(metadata:, info: nil)
19
+ # Some parameter documentations has been truncated, see {Cadenya::Models::Subject}
20
+ # for more details.
21
+ #
22
+ # Subject is a person within a tenant as a readable record. Like Tenant it carries
23
+ # no spec — `metadata.external_id` is the customer's key for them, unique within
24
+ # the tenant rather than the workspace.
25
+ #
26
+ # @param metadata [Cadenya::Models::ResourceMetadata] Standard metadata for persistent, named resources (e.g., agents, tools, prompts)
27
+ #
28
+ # @param info [Cadenya::Models::SubjectInfo] SubjectInfo provides read-only server-derived data about a subject.
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class SubjectAssertion < Cadenya::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # The subject identifier in the customer's namespace (e.g. their user id). Stored
8
+ # as the subject record's external_id; unique within the tenant.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute name
14
+ # Optional human-readable name for the subject. Updates the subject record's name
15
+ # on every assertion that provides it.
16
+ #
17
+ # @return [String, nil]
18
+ optional :name, String
19
+
20
+ # @!method initialize(id:, name: nil)
21
+ # Some parameter documentations has been truncated, see
22
+ # {Cadenya::Models::SubjectAssertion} for more details.
23
+ #
24
+ # SubjectAssertion identifies a person within a tenant in the customer's own
25
+ # namespace — typically their user id. Asserting a subject upserts the subject
26
+ # record under the asserted tenant and associates the created resource with it. A
27
+ # subject assertion is only valid alongside a tenant assertion: subject
28
+ # identifiers are scoped to their tenant.
29
+ #
30
+ # @param id [String] The subject identifier in the customer's namespace (e.g. their user id).
31
+ #
32
+ # @param name [String] Optional human-readable name for the subject. Updates the subject
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class SubjectInfo < Cadenya::Internal::Type::BaseModel
6
+ response_only do
7
+ # @!attribute objective_count
8
+ # Number of objectives associated with this subject.
9
+ #
10
+ # @return [Integer, nil]
11
+ optional :objective_count, Integer, api_name: :objectiveCount
12
+
13
+ # @!attribute tenant
14
+ # TenantReference is the read-only echo of a resource's tenant association,
15
+ # carrying both Cadenya's canonical id and the customer's own key.
16
+ #
17
+ # @return [Cadenya::Models::TenantReference, nil]
18
+ optional :tenant, -> { Cadenya::TenantReference }
19
+ end
20
+
21
+ # @!method initialize(objective_count: nil, tenant: nil)
22
+ # Some parameter documentations has been truncated, see
23
+ # {Cadenya::Models::SubjectInfo} for more details.
24
+ #
25
+ # SubjectInfo provides read-only server-derived data about a subject.
26
+ #
27
+ # @param objective_count [Integer] Number of objectives associated with this subject.
28
+ #
29
+ # @param tenant [Cadenya::Models::TenantReference] TenantReference is the read-only echo of a resource's tenant association,
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Cadenya
4
+ module Models
5
+ class SubjectReference < Cadenya::Internal::Type::BaseModel
6
+ response_only do
7
+ # @!attribute id
8
+ # Cadenya's canonical subject id.
9
+ #
10
+ # @return [String]
11
+ required :id, String
12
+
13
+ # @!attribute external_id
14
+ # The subject identifier in the customer's namespace, as asserted. Unique within
15
+ # the subject's tenant.
16
+ #
17
+ # @return [String]
18
+ required :external_id, String, api_name: :externalId
19
+
20
+ # @!attribute name
21
+ # Human-readable name of the subject, when one has been asserted.
22
+ #
23
+ # @return [String, nil]
24
+ optional :name, String
25
+ end
26
+
27
+ # @!method initialize(id:, external_id:, name: nil)
28
+ # Some parameter documentations has been truncated, see
29
+ # {Cadenya::Models::SubjectReference} for more details.
30
+ #
31
+ # SubjectReference is the read-only echo of a resource's subject association,
32
+ # carrying both Cadenya's canonical id and the customer's own key.
33
+ #
34
+ # @param id [String] Cadenya's canonical subject id.
35
+ #
36
+ # @param external_id [String] The subject identifier in the customer's namespace, as asserted. Unique
37
+ #
38
+ # @param name [String] Human-readable name of the subject, when one has been asserted.
39
+ end
40
+ end
41
+ end