ommlds 0.0.0.dev484__py3-none-any.whl → 0.0.0.dev486__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,70 +25,39 @@ def _register(**kwargs):
25
25
 
26
26
  @_register(
27
27
  plan_repr=(
28
- "Plans(tup=(CopyPlan(fields=('id', 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage')), EqPla"
29
- "n(fields=('id', 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage')), FrozenPlan(fields=('id'"
30
- ", 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage'), allow_dynamic_dunder_attrs=False), Has"
31
- "hPlan(action='add', fields=('id', 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage'), cache="
32
- "False), InitPlan(fields=(InitPlan.Field(name='id', annotation=OpRef(name='init.fields.0.annotation'), default="
33
- "OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INS"
34
- "TANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='role', annotation=OpRef(name='init.f"
35
- "ields.1.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INST"
36
- "ANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='model', annotation=OpRef(name='init.f"
37
- "ields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=F"
38
- "alse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='conten"
39
- "t', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_fa"
40
- "ctory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=N"
41
- "one), InitPlan.Field(name='stop_reason', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name"
42
- "='init.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coe"
43
- "rce=None, validate=None, check_type=None), InitPlan.Field(name='stop_sequence', annotation=OpRef(name='init.fi"
44
- "elds.5.annotation'), default=OpRef(name='init.fields.5.default'), default_factory=None, init=True, override=Fa"
45
- "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='usage',"
46
- " annotation=OpRef(name='init.fields.6.annotation'), default=OpRef(name='init.fields.6.default'), default_facto"
47
- "ry=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None"
48
- ")), self_param='self', std_params=(), kw_only_params=('id', 'role', 'model', 'content', 'stop_reason', 'stop_s"
49
- "equence', 'usage'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(f"
50
- "ields=(ReprPlan.Field(name='id', kw_only=True, fn=None), ReprPlan.Field(name='role', kw_only=True, fn=None), R"
51
- "eprPlan.Field(name='model', kw_only=True, fn=None), ReprPlan.Field(name='content', kw_only=True, fn=None), Rep"
52
- "rPlan.Field(name='stop_reason', kw_only=True, fn=None), ReprPlan.Field(name='stop_sequence', kw_only=True, fn="
53
- "None), ReprPlan.Field(name='usage', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
28
+ "Plans(tup=(CopyPlan(fields=('ephemeral_5m_input_tokens', 'ephemeral_1h_input_tokens')), EqPlan(fields=('epheme"
29
+ "ral_5m_input_tokens', 'ephemeral_1h_input_tokens')), FrozenPlan(fields=('ephemeral_5m_input_tokens', 'ephemera"
30
+ "l_1h_input_tokens'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('ephemeral_5m_input_tok"
31
+ "ens', 'ephemeral_1h_input_tokens'), cache=False), InitPlan(fields=(InitPlan.Field(name='ephemeral_5m_input_tok"
32
+ "ens', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_"
33
+ "factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type"
34
+ "=None), InitPlan.Field(name='ephemeral_1h_input_tokens', annotation=OpRef(name='init.fields.1.annotation'), de"
35
+ "fault=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldTy"
36
+ "pe.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=("
37
+ "'ephemeral_5m_input_tokens', 'ephemeral_1h_input_tokens'), frozen=True, slots=False, post_init_params=None, in"
38
+ "it_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='ephemeral_5m_input_tokens', kw_only=True, f"
39
+ "n=None), ReprPlan.Field(name='ephemeral_1h_input_tokens', kw_only=True, fn=None)), id=False, terse=False, defa"
40
+ "ult_fn=None)))"
54
41
  ),
55
- plan_repr_sha1='0015c87bf45f234d7348dcf89efe0412c3e6435c',
42
+ plan_repr_sha1='5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5',
56
43
  op_ref_idents=(
57
44
  '__dataclass__init__fields__0__annotation',
58
45
  '__dataclass__init__fields__0__default',
59
46
  '__dataclass__init__fields__1__annotation',
60
- '__dataclass__init__fields__2__annotation',
61
- '__dataclass__init__fields__2__default',
62
- '__dataclass__init__fields__3__annotation',
63
- '__dataclass__init__fields__3__default',
64
- '__dataclass__init__fields__4__annotation',
65
- '__dataclass__init__fields__4__default',
66
- '__dataclass__init__fields__5__annotation',
67
- '__dataclass__init__fields__5__default',
68
- '__dataclass__init__fields__6__annotation',
69
- '__dataclass__init__fields__6__default',
47
+ '__dataclass__init__fields__1__default',
70
48
  ),
71
49
  cls_names=(
72
- ('ommlds.backends.anthropic.protocol', 'Message'),
50
+ ('ommlds.backends.anthropic.protocol', 'CacheCreation'),
73
51
  ),
74
52
  )
75
- def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
53
+ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
76
54
  def _process_dataclass(
77
55
  *,
78
56
  __dataclass__cls,
79
57
  __dataclass__init__fields__0__annotation,
80
58
  __dataclass__init__fields__0__default,
81
59
  __dataclass__init__fields__1__annotation,
82
- __dataclass__init__fields__2__annotation,
83
- __dataclass__init__fields__2__default,
84
- __dataclass__init__fields__3__annotation,
85
- __dataclass__init__fields__3__default,
86
- __dataclass__init__fields__4__annotation,
87
- __dataclass__init__fields__4__default,
88
- __dataclass__init__fields__5__annotation,
89
- __dataclass__init__fields__5__default,
90
- __dataclass__init__fields__6__annotation,
91
- __dataclass__init__fields__6__default,
60
+ __dataclass__init__fields__1__default,
92
61
  __dataclass__FieldFnValidationError, # noqa
93
62
  __dataclass__FieldTypeValidationError, # noqa
94
63
  __dataclass__FnValidationError, # noqa
@@ -107,13 +76,8 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
107
76
  if self.__class__ is not __dataclass__cls:
108
77
  raise TypeError(self)
109
78
  return __dataclass__cls( # noqa
110
- id=self.id,
111
- role=self.role,
112
- model=self.model,
113
- content=self.content,
114
- stop_reason=self.stop_reason,
115
- stop_sequence=self.stop_sequence,
116
- usage=self.usage,
79
+ ephemeral_5m_input_tokens=self.ephemeral_5m_input_tokens,
80
+ ephemeral_1h_input_tokens=self.ephemeral_1h_input_tokens,
117
81
  )
118
82
 
119
83
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -127,13 +91,8 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
127
91
  if self.__class__ is not other.__class__:
128
92
  return NotImplemented
129
93
  return (
130
- self.id == other.id and
131
- self.role == other.role and
132
- self.model == other.model and
133
- self.content == other.content and
134
- self.stop_reason == other.stop_reason and
135
- self.stop_sequence == other.stop_sequence and
136
- self.usage == other.usage
94
+ self.ephemeral_5m_input_tokens == other.ephemeral_5m_input_tokens and
95
+ self.ephemeral_1h_input_tokens == other.ephemeral_1h_input_tokens
137
96
  )
138
97
 
139
98
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -142,13 +101,8 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
142
101
  setattr(__dataclass__cls, '__eq__', __eq__)
143
102
 
144
103
  __dataclass___setattr_frozen_fields = {
145
- 'id',
146
- 'role',
147
- 'model',
148
- 'content',
149
- 'stop_reason',
150
- 'stop_sequence',
151
- 'usage',
104
+ 'ephemeral_5m_input_tokens',
105
+ 'ephemeral_1h_input_tokens',
152
106
  }
153
107
 
154
108
  def __setattr__(self, name, value):
@@ -165,13 +119,8 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
165
119
  setattr(__dataclass__cls, '__setattr__', __setattr__)
166
120
 
167
121
  __dataclass___delattr_frozen_fields = {
168
- 'id',
169
- 'role',
170
- 'model',
171
- 'content',
172
- 'stop_reason',
173
- 'stop_sequence',
174
- 'usage',
122
+ 'ephemeral_5m_input_tokens',
123
+ 'ephemeral_1h_input_tokens',
175
124
  }
176
125
 
177
126
  def __delattr__(self, name):
@@ -189,13 +138,8 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
189
138
 
190
139
  def __hash__(self):
191
140
  return hash((
192
- self.id,
193
- self.role,
194
- self.model,
195
- self.content,
196
- self.stop_reason,
197
- self.stop_sequence,
198
- self.usage,
141
+ self.ephemeral_5m_input_tokens,
142
+ self.ephemeral_1h_input_tokens,
199
143
  ))
200
144
 
201
145
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -204,21 +148,11 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
204
148
  def __init__(
205
149
  self,
206
150
  *,
207
- id: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
208
- role: __dataclass__init__fields__1__annotation,
209
- model: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
210
- content: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
211
- stop_reason: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
212
- stop_sequence: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
213
- usage: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
151
+ ephemeral_5m_input_tokens: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
152
+ ephemeral_1h_input_tokens: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
214
153
  ) -> __dataclass__None:
215
- __dataclass__object_setattr(self, 'id', id)
216
- __dataclass__object_setattr(self, 'role', role)
217
- __dataclass__object_setattr(self, 'model', model)
218
- __dataclass__object_setattr(self, 'content', content)
219
- __dataclass__object_setattr(self, 'stop_reason', stop_reason)
220
- __dataclass__object_setattr(self, 'stop_sequence', stop_sequence)
221
- __dataclass__object_setattr(self, 'usage', usage)
154
+ __dataclass__object_setattr(self, 'ephemeral_5m_input_tokens', ephemeral_5m_input_tokens)
155
+ __dataclass__object_setattr(self, 'ephemeral_1h_input_tokens', ephemeral_1h_input_tokens)
222
156
 
223
157
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
224
158
  if '__init__' in __dataclass__cls.__dict__:
@@ -228,13 +162,8 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
228
162
  @__dataclass___recursive_repr()
229
163
  def __repr__(self):
230
164
  parts = []
231
- parts.append(f"id={self.id!r}")
232
- parts.append(f"role={self.role!r}")
233
- parts.append(f"model={self.model!r}")
234
- parts.append(f"content={self.content!r}")
235
- parts.append(f"stop_reason={self.stop_reason!r}")
236
- parts.append(f"stop_sequence={self.stop_sequence!r}")
237
- parts.append(f"usage={self.usage!r}")
165
+ parts.append(f"ephemeral_5m_input_tokens={self.ephemeral_5m_input_tokens!r}")
166
+ parts.append(f"ephemeral_1h_input_tokens={self.ephemeral_1h_input_tokens!r}")
238
167
  return (
239
168
  f"{self.__class__.__qualname__}("
240
169
  f"{', '.join(parts)}"
@@ -251,83 +180,21 @@ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
251
180
 
252
181
  @_register(
253
182
  plan_repr=(
254
- "Plans(tup=(CopyPlan(fields=('model', 'messages', 'system', 'tools', 'temperature', 'max_tokens', 'stream', 'be"
255
- "tas', 'metadata')), EqPlan(fields=('model', 'messages', 'system', 'tools', 'temperature', 'max_tokens', 'strea"
256
- "m', 'betas', 'metadata')), FrozenPlan(fields=('model', 'messages', 'system', 'tools', 'temperature', 'max_toke"
257
- "ns', 'stream', 'betas', 'metadata'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('model'"
258
- ", 'messages', 'system', 'tools', 'temperature', 'max_tokens', 'stream', 'betas', 'metadata'), cache=False), In"
259
- "itPlan(fields=(InitPlan.Field(name='model', annotation=OpRef(name='init.fields.0.annotation'), default=None, d"
260
- "efault_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, che"
261
- "ck_type=None), InitPlan.Field(name='messages', annotation=OpRef(name='init.fields.1.annotation'), default=None"
262
- ", default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, "
263
- "check_type=None), InitPlan.Field(name='system', annotation=OpRef(name='init.fields.2.annotation'), default=OpR"
264
- "ef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTAN"
265
- "CE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='tools', annotation=OpRef(name='init.fie"
266
- "lds.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=Fal"
267
- "se, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='temperat"
268
- "ure', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_"
269
- "factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type"
270
- "=None), InitPlan.Field(name='max_tokens', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(nam"
271
- "e='init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, co"
272
- "erce=None, validate=None, check_type=None), InitPlan.Field(name='stream', annotation=OpRef(name='init.fields.6"
273
- ".annotation'), default=OpRef(name='init.fields.6.default'), default_factory=None, init=True, override=False, f"
274
- "ield_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='betas', annot"
275
- "ation=OpRef(name='init.fields.7.annotation'), default=OpRef(name='init.fields.7.default'), default_factory=Non"
276
- "e, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Ini"
277
- "tPlan.Field(name='metadata', annotation=OpRef(name='init.fields.8.annotation'), default=OpRef(name='init.field"
278
- "s.8.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, va"
279
- "lidate=None, check_type=None)), self_param='self', std_params=('model', 'messages'), kw_only_params=('system',"
280
- " 'tools', 'temperature', 'max_tokens', 'stream', 'betas', 'metadata'), frozen=True, slots=False, post_init_par"
281
- "ams=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='model', kw_only=False, fn=None)"
282
- ", ReprPlan.Field(name='messages', kw_only=False, fn=None), ReprPlan.Field(name='system', kw_only=True, fn=None"
283
- "), ReprPlan.Field(name='tools', kw_only=True, fn=None), ReprPlan.Field(name='temperature', kw_only=True, fn=No"
284
- "ne), ReprPlan.Field(name='max_tokens', kw_only=True, fn=None), ReprPlan.Field(name='stream', kw_only=True, fn="
285
- "None), ReprPlan.Field(name='betas', kw_only=True, fn=None), ReprPlan.Field(name='metadata', kw_only=True, fn=N"
286
- "one)), id=False, terse=False, default_fn=None)))"
287
- ),
288
- plan_repr_sha1='0463f328955d284d5544ccd611d1fd041bc308ab',
289
- op_ref_idents=(
290
- '__dataclass__init__fields__0__annotation',
291
- '__dataclass__init__fields__1__annotation',
292
- '__dataclass__init__fields__2__annotation',
293
- '__dataclass__init__fields__2__default',
294
- '__dataclass__init__fields__3__annotation',
295
- '__dataclass__init__fields__3__default',
296
- '__dataclass__init__fields__4__annotation',
297
- '__dataclass__init__fields__4__default',
298
- '__dataclass__init__fields__5__annotation',
299
- '__dataclass__init__fields__5__default',
300
- '__dataclass__init__fields__6__annotation',
301
- '__dataclass__init__fields__6__default',
302
- '__dataclass__init__fields__7__annotation',
303
- '__dataclass__init__fields__7__default',
304
- '__dataclass__init__fields__8__annotation',
305
- '__dataclass__init__fields__8__default',
183
+ "Plans(tup=(CopyPlan(fields=()), EqPlan(fields=()), FrozenPlan(fields=(), allow_dynamic_dunder_attrs=False), Ha"
184
+ "shPlan(action='add', fields=(), cache=False), InitPlan(fields=(), self_param='self', std_params=(), kw_only_pa"
185
+ "rams=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(), i"
186
+ "d=False, terse=False, default_fn=None)))"
306
187
  ),
188
+ plan_repr_sha1='e1f7edfe11f2b721d6a656c46e698fedc95461bb',
189
+ op_ref_idents=(),
307
190
  cls_names=(
308
- ('ommlds.backends.anthropic.protocol', 'MessagesRequest'),
191
+ ('ommlds.backends.anthropic.protocol', 'Content.EphemeralCacheControl'),
309
192
  ),
310
193
  )
311
- def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
194
+ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
312
195
  def _process_dataclass(
313
196
  *,
314
197
  __dataclass__cls,
315
- __dataclass__init__fields__0__annotation,
316
- __dataclass__init__fields__1__annotation,
317
- __dataclass__init__fields__2__annotation,
318
- __dataclass__init__fields__2__default,
319
- __dataclass__init__fields__3__annotation,
320
- __dataclass__init__fields__3__default,
321
- __dataclass__init__fields__4__annotation,
322
- __dataclass__init__fields__4__default,
323
- __dataclass__init__fields__5__annotation,
324
- __dataclass__init__fields__5__default,
325
- __dataclass__init__fields__6__annotation,
326
- __dataclass__init__fields__6__default,
327
- __dataclass__init__fields__7__annotation,
328
- __dataclass__init__fields__7__default,
329
- __dataclass__init__fields__8__annotation,
330
- __dataclass__init__fields__8__default,
331
198
  __dataclass__FieldFnValidationError, # noqa
332
199
  __dataclass__FieldTypeValidationError, # noqa
333
200
  __dataclass__FnValidationError, # noqa
@@ -345,17 +212,7 @@ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
345
212
  def __copy__(self):
346
213
  if self.__class__ is not __dataclass__cls:
347
214
  raise TypeError(self)
348
- return __dataclass__cls( # noqa
349
- model=self.model,
350
- messages=self.messages,
351
- system=self.system,
352
- tools=self.tools,
353
- temperature=self.temperature,
354
- max_tokens=self.max_tokens,
355
- stream=self.stream,
356
- betas=self.betas,
357
- metadata=self.metadata,
358
- )
215
+ return __dataclass__cls() # noqa
359
216
 
360
217
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
361
218
  if '__copy__' in __dataclass__cls.__dict__:
@@ -367,39 +224,16 @@ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
367
224
  return True
368
225
  if self.__class__ is not other.__class__:
369
226
  return NotImplemented
370
- return (
371
- self.model == other.model and
372
- self.messages == other.messages and
373
- self.system == other.system and
374
- self.tools == other.tools and
375
- self.temperature == other.temperature and
376
- self.max_tokens == other.max_tokens and
377
- self.stream == other.stream and
378
- self.betas == other.betas and
379
- self.metadata == other.metadata
380
- )
227
+ return True
381
228
 
382
229
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
383
230
  if '__eq__' in __dataclass__cls.__dict__:
384
231
  raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
385
232
  setattr(__dataclass__cls, '__eq__', __eq__)
386
233
 
387
- __dataclass___setattr_frozen_fields = {
388
- 'model',
389
- 'messages',
390
- 'system',
391
- 'tools',
392
- 'temperature',
393
- 'max_tokens',
394
- 'stream',
395
- 'betas',
396
- 'metadata',
397
- }
398
-
399
234
  def __setattr__(self, name, value):
400
235
  if (
401
236
  type(self) is __dataclass__cls
402
- or name in __dataclass___setattr_frozen_fields
403
237
  ):
404
238
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
405
239
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -409,22 +243,9 @@ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
409
243
  raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
410
244
  setattr(__dataclass__cls, '__setattr__', __setattr__)
411
245
 
412
- __dataclass___delattr_frozen_fields = {
413
- 'model',
414
- 'messages',
415
- 'system',
416
- 'tools',
417
- 'temperature',
418
- 'max_tokens',
419
- 'stream',
420
- 'betas',
421
- 'metadata',
422
- }
423
-
424
246
  def __delattr__(self, name):
425
247
  if (
426
248
  type(self) is __dataclass__cls
427
- or name in __dataclass___delattr_frozen_fields
428
249
  ):
429
250
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
430
251
  super(__dataclass__cls, self).__delattr__(name)
@@ -435,43 +256,15 @@ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
435
256
  setattr(__dataclass__cls, '__delattr__', __delattr__)
436
257
 
437
258
  def __hash__(self):
438
- return hash((
439
- self.model,
440
- self.messages,
441
- self.system,
442
- self.tools,
443
- self.temperature,
444
- self.max_tokens,
445
- self.stream,
446
- self.betas,
447
- self.metadata,
448
- ))
259
+ return hash(())
449
260
 
450
261
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
451
262
  setattr(__dataclass__cls, '__hash__', __hash__)
452
263
 
453
264
  def __init__(
454
- self,
455
- model: __dataclass__init__fields__0__annotation,
456
- messages: __dataclass__init__fields__1__annotation,
457
- *,
458
- system: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
459
- tools: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
460
- temperature: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
461
- max_tokens: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
462
- stream: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
463
- betas: __dataclass__init__fields__7__annotation = __dataclass__init__fields__7__default,
464
- metadata: __dataclass__init__fields__8__annotation = __dataclass__init__fields__8__default,
265
+ self,
465
266
  ) -> __dataclass__None:
466
- __dataclass__object_setattr(self, 'model', model)
467
- __dataclass__object_setattr(self, 'messages', messages)
468
- __dataclass__object_setattr(self, 'system', system)
469
- __dataclass__object_setattr(self, 'tools', tools)
470
- __dataclass__object_setattr(self, 'temperature', temperature)
471
- __dataclass__object_setattr(self, 'max_tokens', max_tokens)
472
- __dataclass__object_setattr(self, 'stream', stream)
473
- __dataclass__object_setattr(self, 'betas', betas)
474
- __dataclass__object_setattr(self, 'metadata', metadata)
267
+ pass
475
268
 
476
269
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
477
270
  if '__init__' in __dataclass__cls.__dict__:
@@ -481,15 +274,6 @@ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
481
274
  @__dataclass___recursive_repr()
482
275
  def __repr__(self):
483
276
  parts = []
484
- parts.append(f"model={self.model!r}")
485
- parts.append(f"messages={self.messages!r}")
486
- parts.append(f"system={self.system!r}")
487
- parts.append(f"tools={self.tools!r}")
488
- parts.append(f"temperature={self.temperature!r}")
489
- parts.append(f"max_tokens={self.max_tokens!r}")
490
- parts.append(f"stream={self.stream!r}")
491
- parts.append(f"betas={self.betas!r}")
492
- parts.append(f"metadata={self.metadata!r}")
493
277
  return (
494
278
  f"{self.__class__.__qualname__}("
495
279
  f"{', '.join(parts)}"
@@ -506,46 +290,70 @@ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
506
290
 
507
291
  @_register(
508
292
  plan_repr=(
509
- "Plans(tup=(CopyPlan(fields=('id', 'name', 'input', 'cache_control')), EqPlan(fields=('id', 'name', 'input', 'c"
510
- "ache_control')), FrozenPlan(fields=('id', 'name', 'input', 'cache_control'), allow_dynamic_dunder_attrs=False)"
511
- ", HashPlan(action='add', fields=('id', 'name', 'input', 'cache_control'), cache=False), InitPlan(fields=(InitP"
512
- "lan.Field(name='id', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, in"
513
- "it=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan"
514
- ".Field(name='name', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_factory=None, ini"
515
- "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
516
- "Field(name='input', annotation=OpRef(name='init.fields.2.annotation'), default=None, default_factory=None, ini"
517
- "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
518
- "Field(name='cache_control', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields"
519
- ".3.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, val"
520
- "idate=None, check_type=None)), self_param='self', std_params=('id', 'name', 'input'), kw_only_params=('cache_c"
521
- "ontrol',), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Re"
522
- "prPlan.Field(name='id', kw_only=False, fn=None), ReprPlan.Field(name='name', kw_only=False, fn=None), ReprPlan"
523
- ".Field(name='input', kw_only=False, fn=None), ReprPlan.Field(name='cache_control', kw_only=True, fn=OpRef(name"
524
- "='repr.fns.3.fn'))), id=False, terse=False, default_fn=None)))"
293
+ "Plans(tup=(CopyPlan(fields=('id', 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage')), EqPla"
294
+ "n(fields=('id', 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage')), FrozenPlan(fields=('id'"
295
+ ", 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage'), allow_dynamic_dunder_attrs=False), Has"
296
+ "hPlan(action='add', fields=('id', 'role', 'model', 'content', 'stop_reason', 'stop_sequence', 'usage'), cache="
297
+ "False), InitPlan(fields=(InitPlan.Field(name='id', annotation=OpRef(name='init.fields.0.annotation'), default="
298
+ "OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INS"
299
+ "TANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='role', annotation=OpRef(name='init.f"
300
+ "ields.1.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INST"
301
+ "ANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='model', annotation=OpRef(name='init.f"
302
+ "ields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=F"
303
+ "alse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='conten"
304
+ "t', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_fa"
305
+ "ctory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=N"
306
+ "one), InitPlan.Field(name='stop_reason', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name"
307
+ "='init.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coe"
308
+ "rce=None, validate=None, check_type=None), InitPlan.Field(name='stop_sequence', annotation=OpRef(name='init.fi"
309
+ "elds.5.annotation'), default=OpRef(name='init.fields.5.default'), default_factory=None, init=True, override=Fa"
310
+ "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='usage',"
311
+ " annotation=OpRef(name='init.fields.6.annotation'), default=OpRef(name='init.fields.6.default'), default_facto"
312
+ "ry=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None"
313
+ ")), self_param='self', std_params=(), kw_only_params=('id', 'role', 'model', 'content', 'stop_reason', 'stop_s"
314
+ "equence', 'usage'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(f"
315
+ "ields=(ReprPlan.Field(name='id', kw_only=True, fn=None), ReprPlan.Field(name='role', kw_only=True, fn=None), R"
316
+ "eprPlan.Field(name='model', kw_only=True, fn=None), ReprPlan.Field(name='content', kw_only=True, fn=None), Rep"
317
+ "rPlan.Field(name='stop_reason', kw_only=True, fn=None), ReprPlan.Field(name='stop_sequence', kw_only=True, fn="
318
+ "None), ReprPlan.Field(name='usage', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
525
319
  ),
526
- plan_repr_sha1='51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e',
320
+ plan_repr_sha1='0015c87bf45f234d7348dcf89efe0412c3e6435c',
527
321
  op_ref_idents=(
528
322
  '__dataclass__init__fields__0__annotation',
323
+ '__dataclass__init__fields__0__default',
529
324
  '__dataclass__init__fields__1__annotation',
530
325
  '__dataclass__init__fields__2__annotation',
326
+ '__dataclass__init__fields__2__default',
531
327
  '__dataclass__init__fields__3__annotation',
532
328
  '__dataclass__init__fields__3__default',
533
- '__dataclass__repr__fns__3__fn',
329
+ '__dataclass__init__fields__4__annotation',
330
+ '__dataclass__init__fields__4__default',
331
+ '__dataclass__init__fields__5__annotation',
332
+ '__dataclass__init__fields__5__default',
333
+ '__dataclass__init__fields__6__annotation',
334
+ '__dataclass__init__fields__6__default',
534
335
  ),
535
336
  cls_names=(
536
- ('ommlds.backends.anthropic.protocol', 'ToolUse'),
337
+ ('ommlds.backends.anthropic.protocol', 'Message'),
537
338
  ),
538
339
  )
539
- def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
340
+ def _process_dataclass__0015c87bf45f234d7348dcf89efe0412c3e6435c():
540
341
  def _process_dataclass(
541
342
  *,
542
343
  __dataclass__cls,
543
344
  __dataclass__init__fields__0__annotation,
345
+ __dataclass__init__fields__0__default,
544
346
  __dataclass__init__fields__1__annotation,
545
347
  __dataclass__init__fields__2__annotation,
348
+ __dataclass__init__fields__2__default,
546
349
  __dataclass__init__fields__3__annotation,
547
350
  __dataclass__init__fields__3__default,
548
- __dataclass__repr__fns__3__fn,
351
+ __dataclass__init__fields__4__annotation,
352
+ __dataclass__init__fields__4__default,
353
+ __dataclass__init__fields__5__annotation,
354
+ __dataclass__init__fields__5__default,
355
+ __dataclass__init__fields__6__annotation,
356
+ __dataclass__init__fields__6__default,
549
357
  __dataclass__FieldFnValidationError, # noqa
550
358
  __dataclass__FieldTypeValidationError, # noqa
551
359
  __dataclass__FnValidationError, # noqa
@@ -565,9 +373,12 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
565
373
  raise TypeError(self)
566
374
  return __dataclass__cls( # noqa
567
375
  id=self.id,
568
- name=self.name,
569
- input=self.input,
570
- cache_control=self.cache_control,
376
+ role=self.role,
377
+ model=self.model,
378
+ content=self.content,
379
+ stop_reason=self.stop_reason,
380
+ stop_sequence=self.stop_sequence,
381
+ usage=self.usage,
571
382
  )
572
383
 
573
384
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -582,9 +393,12 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
582
393
  return NotImplemented
583
394
  return (
584
395
  self.id == other.id and
585
- self.name == other.name and
586
- self.input == other.input and
587
- self.cache_control == other.cache_control
396
+ self.role == other.role and
397
+ self.model == other.model and
398
+ self.content == other.content and
399
+ self.stop_reason == other.stop_reason and
400
+ self.stop_sequence == other.stop_sequence and
401
+ self.usage == other.usage
588
402
  )
589
403
 
590
404
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -594,9 +408,12 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
594
408
 
595
409
  __dataclass___setattr_frozen_fields = {
596
410
  'id',
597
- 'name',
598
- 'input',
599
- 'cache_control',
411
+ 'role',
412
+ 'model',
413
+ 'content',
414
+ 'stop_reason',
415
+ 'stop_sequence',
416
+ 'usage',
600
417
  }
601
418
 
602
419
  def __setattr__(self, name, value):
@@ -614,9 +431,12 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
614
431
 
615
432
  __dataclass___delattr_frozen_fields = {
616
433
  'id',
617
- 'name',
618
- 'input',
619
- 'cache_control',
434
+ 'role',
435
+ 'model',
436
+ 'content',
437
+ 'stop_reason',
438
+ 'stop_sequence',
439
+ 'usage',
620
440
  }
621
441
 
622
442
  def __delattr__(self, name):
@@ -635,9 +455,12 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
635
455
  def __hash__(self):
636
456
  return hash((
637
457
  self.id,
638
- self.name,
639
- self.input,
640
- self.cache_control,
458
+ self.role,
459
+ self.model,
460
+ self.content,
461
+ self.stop_reason,
462
+ self.stop_sequence,
463
+ self.usage,
641
464
  ))
642
465
 
643
466
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -645,16 +468,22 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
645
468
 
646
469
  def __init__(
647
470
  self,
648
- id: __dataclass__init__fields__0__annotation,
649
- name: __dataclass__init__fields__1__annotation,
650
- input: __dataclass__init__fields__2__annotation,
651
471
  *,
652
- cache_control: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
472
+ id: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
473
+ role: __dataclass__init__fields__1__annotation,
474
+ model: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
475
+ content: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
476
+ stop_reason: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
477
+ stop_sequence: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
478
+ usage: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
653
479
  ) -> __dataclass__None:
654
480
  __dataclass__object_setattr(self, 'id', id)
655
- __dataclass__object_setattr(self, 'name', name)
656
- __dataclass__object_setattr(self, 'input', input)
657
- __dataclass__object_setattr(self, 'cache_control', cache_control)
481
+ __dataclass__object_setattr(self, 'role', role)
482
+ __dataclass__object_setattr(self, 'model', model)
483
+ __dataclass__object_setattr(self, 'content', content)
484
+ __dataclass__object_setattr(self, 'stop_reason', stop_reason)
485
+ __dataclass__object_setattr(self, 'stop_sequence', stop_sequence)
486
+ __dataclass__object_setattr(self, 'usage', usage)
658
487
 
659
488
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
660
489
  if '__init__' in __dataclass__cls.__dict__:
@@ -665,10 +494,12 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
665
494
  def __repr__(self):
666
495
  parts = []
667
496
  parts.append(f"id={self.id!r}")
668
- parts.append(f"name={self.name!r}")
669
- parts.append(f"input={self.input!r}")
670
- if (s := __dataclass__repr__fns__3__fn(self.cache_control)) is not None:
671
- parts.append(f"cache_control={s}")
497
+ parts.append(f"role={self.role!r}")
498
+ parts.append(f"model={self.model!r}")
499
+ parts.append(f"content={self.content!r}")
500
+ parts.append(f"stop_reason={self.stop_reason!r}")
501
+ parts.append(f"stop_sequence={self.stop_sequence!r}")
502
+ parts.append(f"usage={self.usage!r}")
672
503
  return (
673
504
  f"{self.__class__.__qualname__}("
674
505
  f"{', '.join(parts)}"
@@ -685,39 +516,83 @@ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
685
516
 
686
517
  @_register(
687
518
  plan_repr=(
688
- "Plans(tup=(CopyPlan(fields=('ephemeral_5m_input_tokens', 'ephemeral_1h_input_tokens')), EqPlan(fields=('epheme"
689
- "ral_5m_input_tokens', 'ephemeral_1h_input_tokens')), FrozenPlan(fields=('ephemeral_5m_input_tokens', 'ephemera"
690
- "l_1h_input_tokens'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('ephemeral_5m_input_tok"
691
- "ens', 'ephemeral_1h_input_tokens'), cache=False), InitPlan(fields=(InitPlan.Field(name='ephemeral_5m_input_tok"
692
- "ens', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_"
519
+ "Plans(tup=(CopyPlan(fields=('model', 'messages', 'system', 'tools', 'temperature', 'max_tokens', 'stream', 'be"
520
+ "tas', 'metadata')), EqPlan(fields=('model', 'messages', 'system', 'tools', 'temperature', 'max_tokens', 'strea"
521
+ "m', 'betas', 'metadata')), FrozenPlan(fields=('model', 'messages', 'system', 'tools', 'temperature', 'max_toke"
522
+ "ns', 'stream', 'betas', 'metadata'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('model'"
523
+ ", 'messages', 'system', 'tools', 'temperature', 'max_tokens', 'stream', 'betas', 'metadata'), cache=False), In"
524
+ "itPlan(fields=(InitPlan.Field(name='model', annotation=OpRef(name='init.fields.0.annotation'), default=None, d"
525
+ "efault_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, che"
526
+ "ck_type=None), InitPlan.Field(name='messages', annotation=OpRef(name='init.fields.1.annotation'), default=None"
527
+ ", default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, "
528
+ "check_type=None), InitPlan.Field(name='system', annotation=OpRef(name='init.fields.2.annotation'), default=OpR"
529
+ "ef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTAN"
530
+ "CE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='tools', annotation=OpRef(name='init.fie"
531
+ "lds.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=Fal"
532
+ "se, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='temperat"
533
+ "ure', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_"
693
534
  "factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type"
694
- "=None), InitPlan.Field(name='ephemeral_1h_input_tokens', annotation=OpRef(name='init.fields.1.annotation'), de"
695
- "fault=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldTy"
696
- "pe.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=("
697
- "'ephemeral_5m_input_tokens', 'ephemeral_1h_input_tokens'), frozen=True, slots=False, post_init_params=None, in"
698
- "it_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='ephemeral_5m_input_tokens', kw_only=True, f"
699
- "n=None), ReprPlan.Field(name='ephemeral_1h_input_tokens', kw_only=True, fn=None)), id=False, terse=False, defa"
700
- "ult_fn=None)))"
535
+ "=None), InitPlan.Field(name='max_tokens', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(nam"
536
+ "e='init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, co"
537
+ "erce=None, validate=None, check_type=None), InitPlan.Field(name='stream', annotation=OpRef(name='init.fields.6"
538
+ ".annotation'), default=OpRef(name='init.fields.6.default'), default_factory=None, init=True, override=False, f"
539
+ "ield_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='betas', annot"
540
+ "ation=OpRef(name='init.fields.7.annotation'), default=OpRef(name='init.fields.7.default'), default_factory=Non"
541
+ "e, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Ini"
542
+ "tPlan.Field(name='metadata', annotation=OpRef(name='init.fields.8.annotation'), default=OpRef(name='init.field"
543
+ "s.8.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, va"
544
+ "lidate=None, check_type=None)), self_param='self', std_params=('model', 'messages'), kw_only_params=('system',"
545
+ " 'tools', 'temperature', 'max_tokens', 'stream', 'betas', 'metadata'), frozen=True, slots=False, post_init_par"
546
+ "ams=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='model', kw_only=False, fn=None)"
547
+ ", ReprPlan.Field(name='messages', kw_only=False, fn=None), ReprPlan.Field(name='system', kw_only=True, fn=None"
548
+ "), ReprPlan.Field(name='tools', kw_only=True, fn=None), ReprPlan.Field(name='temperature', kw_only=True, fn=No"
549
+ "ne), ReprPlan.Field(name='max_tokens', kw_only=True, fn=None), ReprPlan.Field(name='stream', kw_only=True, fn="
550
+ "None), ReprPlan.Field(name='betas', kw_only=True, fn=None), ReprPlan.Field(name='metadata', kw_only=True, fn=N"
551
+ "one)), id=False, terse=False, default_fn=None)))"
701
552
  ),
702
- plan_repr_sha1='5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5',
553
+ plan_repr_sha1='0463f328955d284d5544ccd611d1fd041bc308ab',
703
554
  op_ref_idents=(
704
555
  '__dataclass__init__fields__0__annotation',
705
- '__dataclass__init__fields__0__default',
706
556
  '__dataclass__init__fields__1__annotation',
707
- '__dataclass__init__fields__1__default',
557
+ '__dataclass__init__fields__2__annotation',
558
+ '__dataclass__init__fields__2__default',
559
+ '__dataclass__init__fields__3__annotation',
560
+ '__dataclass__init__fields__3__default',
561
+ '__dataclass__init__fields__4__annotation',
562
+ '__dataclass__init__fields__4__default',
563
+ '__dataclass__init__fields__5__annotation',
564
+ '__dataclass__init__fields__5__default',
565
+ '__dataclass__init__fields__6__annotation',
566
+ '__dataclass__init__fields__6__default',
567
+ '__dataclass__init__fields__7__annotation',
568
+ '__dataclass__init__fields__7__default',
569
+ '__dataclass__init__fields__8__annotation',
570
+ '__dataclass__init__fields__8__default',
708
571
  ),
709
572
  cls_names=(
710
- ('ommlds.backends.anthropic.protocol', 'CacheCreation'),
573
+ ('ommlds.backends.anthropic.protocol', 'MessagesRequest'),
711
574
  ),
712
575
  )
713
- def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
576
+ def _process_dataclass__0463f328955d284d5544ccd611d1fd041bc308ab():
714
577
  def _process_dataclass(
715
578
  *,
716
579
  __dataclass__cls,
717
580
  __dataclass__init__fields__0__annotation,
718
- __dataclass__init__fields__0__default,
719
581
  __dataclass__init__fields__1__annotation,
720
- __dataclass__init__fields__1__default,
582
+ __dataclass__init__fields__2__annotation,
583
+ __dataclass__init__fields__2__default,
584
+ __dataclass__init__fields__3__annotation,
585
+ __dataclass__init__fields__3__default,
586
+ __dataclass__init__fields__4__annotation,
587
+ __dataclass__init__fields__4__default,
588
+ __dataclass__init__fields__5__annotation,
589
+ __dataclass__init__fields__5__default,
590
+ __dataclass__init__fields__6__annotation,
591
+ __dataclass__init__fields__6__default,
592
+ __dataclass__init__fields__7__annotation,
593
+ __dataclass__init__fields__7__default,
594
+ __dataclass__init__fields__8__annotation,
595
+ __dataclass__init__fields__8__default,
721
596
  __dataclass__FieldFnValidationError, # noqa
722
597
  __dataclass__FieldTypeValidationError, # noqa
723
598
  __dataclass__FnValidationError, # noqa
@@ -736,8 +611,15 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
736
611
  if self.__class__ is not __dataclass__cls:
737
612
  raise TypeError(self)
738
613
  return __dataclass__cls( # noqa
739
- ephemeral_5m_input_tokens=self.ephemeral_5m_input_tokens,
740
- ephemeral_1h_input_tokens=self.ephemeral_1h_input_tokens,
614
+ model=self.model,
615
+ messages=self.messages,
616
+ system=self.system,
617
+ tools=self.tools,
618
+ temperature=self.temperature,
619
+ max_tokens=self.max_tokens,
620
+ stream=self.stream,
621
+ betas=self.betas,
622
+ metadata=self.metadata,
741
623
  )
742
624
 
743
625
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -751,8 +633,15 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
751
633
  if self.__class__ is not other.__class__:
752
634
  return NotImplemented
753
635
  return (
754
- self.ephemeral_5m_input_tokens == other.ephemeral_5m_input_tokens and
755
- self.ephemeral_1h_input_tokens == other.ephemeral_1h_input_tokens
636
+ self.model == other.model and
637
+ self.messages == other.messages and
638
+ self.system == other.system and
639
+ self.tools == other.tools and
640
+ self.temperature == other.temperature and
641
+ self.max_tokens == other.max_tokens and
642
+ self.stream == other.stream and
643
+ self.betas == other.betas and
644
+ self.metadata == other.metadata
756
645
  )
757
646
 
758
647
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -761,8 +650,15 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
761
650
  setattr(__dataclass__cls, '__eq__', __eq__)
762
651
 
763
652
  __dataclass___setattr_frozen_fields = {
764
- 'ephemeral_5m_input_tokens',
765
- 'ephemeral_1h_input_tokens',
653
+ 'model',
654
+ 'messages',
655
+ 'system',
656
+ 'tools',
657
+ 'temperature',
658
+ 'max_tokens',
659
+ 'stream',
660
+ 'betas',
661
+ 'metadata',
766
662
  }
767
663
 
768
664
  def __setattr__(self, name, value):
@@ -779,8 +675,15 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
779
675
  setattr(__dataclass__cls, '__setattr__', __setattr__)
780
676
 
781
677
  __dataclass___delattr_frozen_fields = {
782
- 'ephemeral_5m_input_tokens',
783
- 'ephemeral_1h_input_tokens',
678
+ 'model',
679
+ 'messages',
680
+ 'system',
681
+ 'tools',
682
+ 'temperature',
683
+ 'max_tokens',
684
+ 'stream',
685
+ 'betas',
686
+ 'metadata',
784
687
  }
785
688
 
786
689
  def __delattr__(self, name):
@@ -798,8 +701,15 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
798
701
 
799
702
  def __hash__(self):
800
703
  return hash((
801
- self.ephemeral_5m_input_tokens,
802
- self.ephemeral_1h_input_tokens,
704
+ self.model,
705
+ self.messages,
706
+ self.system,
707
+ self.tools,
708
+ self.temperature,
709
+ self.max_tokens,
710
+ self.stream,
711
+ self.betas,
712
+ self.metadata,
803
713
  ))
804
714
 
805
715
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -807,12 +717,26 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
807
717
 
808
718
  def __init__(
809
719
  self,
720
+ model: __dataclass__init__fields__0__annotation,
721
+ messages: __dataclass__init__fields__1__annotation,
810
722
  *,
811
- ephemeral_5m_input_tokens: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
812
- ephemeral_1h_input_tokens: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
723
+ system: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
724
+ tools: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
725
+ temperature: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
726
+ max_tokens: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
727
+ stream: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
728
+ betas: __dataclass__init__fields__7__annotation = __dataclass__init__fields__7__default,
729
+ metadata: __dataclass__init__fields__8__annotation = __dataclass__init__fields__8__default,
813
730
  ) -> __dataclass__None:
814
- __dataclass__object_setattr(self, 'ephemeral_5m_input_tokens', ephemeral_5m_input_tokens)
815
- __dataclass__object_setattr(self, 'ephemeral_1h_input_tokens', ephemeral_1h_input_tokens)
731
+ __dataclass__object_setattr(self, 'model', model)
732
+ __dataclass__object_setattr(self, 'messages', messages)
733
+ __dataclass__object_setattr(self, 'system', system)
734
+ __dataclass__object_setattr(self, 'tools', tools)
735
+ __dataclass__object_setattr(self, 'temperature', temperature)
736
+ __dataclass__object_setattr(self, 'max_tokens', max_tokens)
737
+ __dataclass__object_setattr(self, 'stream', stream)
738
+ __dataclass__object_setattr(self, 'betas', betas)
739
+ __dataclass__object_setattr(self, 'metadata', metadata)
816
740
 
817
741
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
818
742
  if '__init__' in __dataclass__cls.__dict__:
@@ -822,8 +746,15 @@ def _process_dataclass__5c5ca30d2c7c7eb47b5926b664cd0fabb3279da5():
822
746
  @__dataclass___recursive_repr()
823
747
  def __repr__(self):
824
748
  parts = []
825
- parts.append(f"ephemeral_5m_input_tokens={self.ephemeral_5m_input_tokens!r}")
826
- parts.append(f"ephemeral_1h_input_tokens={self.ephemeral_1h_input_tokens!r}")
749
+ parts.append(f"model={self.model!r}")
750
+ parts.append(f"messages={self.messages!r}")
751
+ parts.append(f"system={self.system!r}")
752
+ parts.append(f"tools={self.tools!r}")
753
+ parts.append(f"temperature={self.temperature!r}")
754
+ parts.append(f"max_tokens={self.max_tokens!r}")
755
+ parts.append(f"stream={self.stream!r}")
756
+ parts.append(f"betas={self.betas!r}")
757
+ parts.append(f"metadata={self.metadata!r}")
827
758
  return (
828
759
  f"{self.__class__.__qualname__}("
829
760
  f"{', '.join(parts)}"
@@ -993,37 +924,32 @@ def _process_dataclass__75e01105e84631f3c02c90f25368d746f1826680():
993
924
 
994
925
  @_register(
995
926
  plan_repr=(
996
- "Plans(tup=(CopyPlan(fields=('name', 'description', 'input_schema')), EqPlan(fields=('name', 'description', 'in"
997
- "put_schema')), FrozenPlan(fields=('name', 'description', 'input_schema'), allow_dynamic_dunder_attrs=False), H"
998
- "ashPlan(action='add', fields=('name', 'description', 'input_schema'), cache=False), InitPlan(fields=(InitPlan."
999
- "Field(name='name', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init"
1000
- "=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.F"
1001
- "ield(name='description', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_factory=None"
1002
- ", init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Init"
1003
- "Plan.Field(name='input_schema', annotation=OpRef(name='init.fields.2.annotation'), default=None, default_facto"
1004
- "ry=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None"
1005
- ")), self_param='self', std_params=('name', 'description', 'input_schema'), kw_only_params=(), frozen=True, slo"
1006
- "ts=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='name', k"
1007
- "w_only=False, fn=None), ReprPlan.Field(name='description', kw_only=False, fn=None), ReprPlan.Field(name='input"
1008
- "_schema', kw_only=False, fn=None)), id=False, terse=False, default_fn=None)))"
927
+ "Plans(tup=(CopyPlan(fields=('tool_use_id', 'content')), EqPlan(fields=('tool_use_id', 'content')), FrozenPlan("
928
+ "fields=('tool_use_id', 'content'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('tool_use"
929
+ "_id', 'content'), cache=False), InitPlan(fields=(InitPlan.Field(name='tool_use_id', annotation=OpRef(name='ini"
930
+ "t.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.I"
931
+ "NSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='content', annotation=OpRef(name='i"
932
+ "nit.fields.1.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType"
933
+ ".INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=('tool_use_id', 'conte"
934
+ "nt'), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprP"
935
+ "lan(fields=(ReprPlan.Field(name='tool_use_id', kw_only=False, fn=None), ReprPlan.Field(name='content', kw_only"
936
+ "=False, fn=None)), id=False, terse=False, default_fn=None)))"
1009
937
  ),
1010
- plan_repr_sha1='a0bb088e6d220904a11db30de04c9b3fb2ddce42',
938
+ plan_repr_sha1='c784ae3d44b6988e2459abc84ce5f705b6eca3b5',
1011
939
  op_ref_idents=(
1012
940
  '__dataclass__init__fields__0__annotation',
1013
941
  '__dataclass__init__fields__1__annotation',
1014
- '__dataclass__init__fields__2__annotation',
1015
942
  ),
1016
943
  cls_names=(
1017
- ('ommlds.backends.anthropic.protocol', 'ToolSpec'),
944
+ ('ommlds.backends.anthropic.protocol', 'ToolResult'),
1018
945
  ),
1019
946
  )
1020
- def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
947
+ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1021
948
  def _process_dataclass(
1022
949
  *,
1023
950
  __dataclass__cls,
1024
951
  __dataclass__init__fields__0__annotation,
1025
952
  __dataclass__init__fields__1__annotation,
1026
- __dataclass__init__fields__2__annotation,
1027
953
  __dataclass__FieldFnValidationError, # noqa
1028
954
  __dataclass__FieldTypeValidationError, # noqa
1029
955
  __dataclass__FnValidationError, # noqa
@@ -1042,9 +968,8 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1042
968
  if self.__class__ is not __dataclass__cls:
1043
969
  raise TypeError(self)
1044
970
  return __dataclass__cls( # noqa
1045
- name=self.name,
1046
- description=self.description,
1047
- input_schema=self.input_schema,
971
+ tool_use_id=self.tool_use_id,
972
+ content=self.content,
1048
973
  )
1049
974
 
1050
975
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1058,9 +983,8 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1058
983
  if self.__class__ is not other.__class__:
1059
984
  return NotImplemented
1060
985
  return (
1061
- self.name == other.name and
1062
- self.description == other.description and
1063
- self.input_schema == other.input_schema
986
+ self.tool_use_id == other.tool_use_id and
987
+ self.content == other.content
1064
988
  )
1065
989
 
1066
990
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1069,9 +993,8 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1069
993
  setattr(__dataclass__cls, '__eq__', __eq__)
1070
994
 
1071
995
  __dataclass___setattr_frozen_fields = {
1072
- 'name',
1073
- 'description',
1074
- 'input_schema',
996
+ 'tool_use_id',
997
+ 'content',
1075
998
  }
1076
999
 
1077
1000
  def __setattr__(self, name, value):
@@ -1088,9 +1011,8 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1088
1011
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1089
1012
 
1090
1013
  __dataclass___delattr_frozen_fields = {
1091
- 'name',
1092
- 'description',
1093
- 'input_schema',
1014
+ 'tool_use_id',
1015
+ 'content',
1094
1016
  }
1095
1017
 
1096
1018
  def __delattr__(self, name):
@@ -1108,9 +1030,8 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1108
1030
 
1109
1031
  def __hash__(self):
1110
1032
  return hash((
1111
- self.name,
1112
- self.description,
1113
- self.input_schema,
1033
+ self.tool_use_id,
1034
+ self.content,
1114
1035
  ))
1115
1036
 
1116
1037
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1118,13 +1039,11 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1118
1039
 
1119
1040
  def __init__(
1120
1041
  self,
1121
- name: __dataclass__init__fields__0__annotation,
1122
- description: __dataclass__init__fields__1__annotation,
1123
- input_schema: __dataclass__init__fields__2__annotation,
1042
+ tool_use_id: __dataclass__init__fields__0__annotation,
1043
+ content: __dataclass__init__fields__1__annotation,
1124
1044
  ) -> __dataclass__None:
1125
- __dataclass__object_setattr(self, 'name', name)
1126
- __dataclass__object_setattr(self, 'description', description)
1127
- __dataclass__object_setattr(self, 'input_schema', input_schema)
1045
+ __dataclass__object_setattr(self, 'tool_use_id', tool_use_id)
1046
+ __dataclass__object_setattr(self, 'content', content)
1128
1047
 
1129
1048
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1130
1049
  if '__init__' in __dataclass__cls.__dict__:
@@ -1134,9 +1053,8 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1134
1053
  @__dataclass___recursive_repr()
1135
1054
  def __repr__(self):
1136
1055
  parts = []
1137
- parts.append(f"name={self.name!r}")
1138
- parts.append(f"description={self.description!r}")
1139
- parts.append(f"input_schema={self.input_schema!r}")
1056
+ parts.append(f"tool_use_id={self.tool_use_id!r}")
1057
+ parts.append(f"content={self.content!r}")
1140
1058
  return (
1141
1059
  f"{self.__class__.__qualname__}("
1142
1060
  f"{', '.join(parts)}"
@@ -1153,69 +1071,37 @@ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1153
1071
 
1154
1072
  @_register(
1155
1073
  plan_repr=(
1156
- "Plans(tup=(CopyPlan(fields=('input_tokens', 'output_tokens', 'cache_creation_input_tokens', 'cache_read_input_"
1157
- "tokens', 'cache_creation', 'service_tier')), EqPlan(fields=('input_tokens', 'output_tokens', 'cache_creation_i"
1158
- "nput_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier')), FrozenPlan(fields=('input_tokens'"
1159
- ", 'output_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier')"
1160
- ", allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('input_tokens', 'output_tokens', 'cache_cr"
1161
- "eation_input_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier'), cache=False), InitPlan(fie"
1162
- "lds=(InitPlan.Field(name='input_tokens', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name"
1163
- "='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coe"
1164
- "rce=None, validate=None, check_type=None), InitPlan.Field(name='output_tokens', annotation=OpRef(name='init.fi"
1165
- "elds.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=Fa"
1166
- "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='cache_c"
1167
- "reation_input_tokens', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.de"
1168
- "fault'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate"
1169
- "=None, check_type=None), InitPlan.Field(name='cache_read_input_tokens', annotation=OpRef(name='init.fields.3.a"
1170
- "nnotation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=False, fie"
1171
- "ld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='cache_creation'"
1172
- ", annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_fact"
1173
- "ory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=Non"
1174
- "e), InitPlan.Field(name='service_tier', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name="
1175
- "'init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coer"
1176
- "ce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('input_tokens', '"
1177
- "output_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier'), f"
1178
- "rozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field"
1179
- "(name='input_tokens', kw_only=True, fn=None), ReprPlan.Field(name='output_tokens', kw_only=True, fn=None), Rep"
1180
- "rPlan.Field(name='cache_creation_input_tokens', kw_only=True, fn=None), ReprPlan.Field(name='cache_read_input_"
1181
- "tokens', kw_only=True, fn=None), ReprPlan.Field(name='cache_creation', kw_only=True, fn=None), ReprPlan.Field("
1182
- "name='service_tier', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1074
+ "Plans(tup=(CopyPlan(fields=('name', 'description', 'input_schema')), EqPlan(fields=('name', 'description', 'in"
1075
+ "put_schema')), FrozenPlan(fields=('name', 'description', 'input_schema'), allow_dynamic_dunder_attrs=False), H"
1076
+ "ashPlan(action='add', fields=('name', 'description', 'input_schema'), cache=False), InitPlan(fields=(InitPlan."
1077
+ "Field(name='name', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init"
1078
+ "=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.F"
1079
+ "ield(name='description', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_factory=None"
1080
+ ", init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Init"
1081
+ "Plan.Field(name='input_schema', annotation=OpRef(name='init.fields.2.annotation'), default=None, default_facto"
1082
+ "ry=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None"
1083
+ ")), self_param='self', std_params=('name', 'description', 'input_schema'), kw_only_params=(), frozen=True, slo"
1084
+ "ts=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='name', k"
1085
+ "w_only=False, fn=None), ReprPlan.Field(name='description', kw_only=False, fn=None), ReprPlan.Field(name='input"
1086
+ "_schema', kw_only=False, fn=None)), id=False, terse=False, default_fn=None)))"
1183
1087
  ),
1184
- plan_repr_sha1='a47ab44cf512908b7a879f4d6bafd7aa6de84f97',
1088
+ plan_repr_sha1='a0bb088e6d220904a11db30de04c9b3fb2ddce42',
1185
1089
  op_ref_idents=(
1186
1090
  '__dataclass__init__fields__0__annotation',
1187
- '__dataclass__init__fields__0__default',
1188
1091
  '__dataclass__init__fields__1__annotation',
1189
- '__dataclass__init__fields__1__default',
1190
1092
  '__dataclass__init__fields__2__annotation',
1191
- '__dataclass__init__fields__2__default',
1192
- '__dataclass__init__fields__3__annotation',
1193
- '__dataclass__init__fields__3__default',
1194
- '__dataclass__init__fields__4__annotation',
1195
- '__dataclass__init__fields__4__default',
1196
- '__dataclass__init__fields__5__annotation',
1197
- '__dataclass__init__fields__5__default',
1198
1093
  ),
1199
1094
  cls_names=(
1200
- ('ommlds.backends.anthropic.protocol', 'Usage'),
1095
+ ('ommlds.backends.anthropic.protocol', 'ToolSpec'),
1201
1096
  ),
1202
1097
  )
1203
- def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1098
+ def _process_dataclass__a0bb088e6d220904a11db30de04c9b3fb2ddce42():
1204
1099
  def _process_dataclass(
1205
1100
  *,
1206
1101
  __dataclass__cls,
1207
1102
  __dataclass__init__fields__0__annotation,
1208
- __dataclass__init__fields__0__default,
1209
1103
  __dataclass__init__fields__1__annotation,
1210
- __dataclass__init__fields__1__default,
1211
1104
  __dataclass__init__fields__2__annotation,
1212
- __dataclass__init__fields__2__default,
1213
- __dataclass__init__fields__3__annotation,
1214
- __dataclass__init__fields__3__default,
1215
- __dataclass__init__fields__4__annotation,
1216
- __dataclass__init__fields__4__default,
1217
- __dataclass__init__fields__5__annotation,
1218
- __dataclass__init__fields__5__default,
1219
1105
  __dataclass__FieldFnValidationError, # noqa
1220
1106
  __dataclass__FieldTypeValidationError, # noqa
1221
1107
  __dataclass__FnValidationError, # noqa
@@ -1234,12 +1120,9 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1234
1120
  if self.__class__ is not __dataclass__cls:
1235
1121
  raise TypeError(self)
1236
1122
  return __dataclass__cls( # noqa
1237
- input_tokens=self.input_tokens,
1238
- output_tokens=self.output_tokens,
1239
- cache_creation_input_tokens=self.cache_creation_input_tokens,
1240
- cache_read_input_tokens=self.cache_read_input_tokens,
1241
- cache_creation=self.cache_creation,
1242
- service_tier=self.service_tier,
1123
+ name=self.name,
1124
+ description=self.description,
1125
+ input_schema=self.input_schema,
1243
1126
  )
1244
1127
 
1245
1128
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1253,12 +1136,9 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1253
1136
  if self.__class__ is not other.__class__:
1254
1137
  return NotImplemented
1255
1138
  return (
1256
- self.input_tokens == other.input_tokens and
1257
- self.output_tokens == other.output_tokens and
1258
- self.cache_creation_input_tokens == other.cache_creation_input_tokens and
1259
- self.cache_read_input_tokens == other.cache_read_input_tokens and
1260
- self.cache_creation == other.cache_creation and
1261
- self.service_tier == other.service_tier
1139
+ self.name == other.name and
1140
+ self.description == other.description and
1141
+ self.input_schema == other.input_schema
1262
1142
  )
1263
1143
 
1264
1144
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1267,12 +1147,9 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1267
1147
  setattr(__dataclass__cls, '__eq__', __eq__)
1268
1148
 
1269
1149
  __dataclass___setattr_frozen_fields = {
1270
- 'input_tokens',
1271
- 'output_tokens',
1272
- 'cache_creation_input_tokens',
1273
- 'cache_read_input_tokens',
1274
- 'cache_creation',
1275
- 'service_tier',
1150
+ 'name',
1151
+ 'description',
1152
+ 'input_schema',
1276
1153
  }
1277
1154
 
1278
1155
  def __setattr__(self, name, value):
@@ -1289,12 +1166,9 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1289
1166
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1290
1167
 
1291
1168
  __dataclass___delattr_frozen_fields = {
1292
- 'input_tokens',
1293
- 'output_tokens',
1294
- 'cache_creation_input_tokens',
1295
- 'cache_read_input_tokens',
1296
- 'cache_creation',
1297
- 'service_tier',
1169
+ 'name',
1170
+ 'description',
1171
+ 'input_schema',
1298
1172
  }
1299
1173
 
1300
1174
  def __delattr__(self, name):
@@ -1308,16 +1182,13 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1308
1182
  __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
1309
1183
  if '__delattr__' in __dataclass__cls.__dict__:
1310
1184
  raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
1311
- setattr(__dataclass__cls, '__delattr__', __delattr__)
1312
-
1313
- def __hash__(self):
1314
- return hash((
1315
- self.input_tokens,
1316
- self.output_tokens,
1317
- self.cache_creation_input_tokens,
1318
- self.cache_read_input_tokens,
1319
- self.cache_creation,
1320
- self.service_tier,
1185
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
1186
+
1187
+ def __hash__(self):
1188
+ return hash((
1189
+ self.name,
1190
+ self.description,
1191
+ self.input_schema,
1321
1192
  ))
1322
1193
 
1323
1194
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1325,20 +1196,13 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1325
1196
 
1326
1197
  def __init__(
1327
1198
  self,
1328
- *,
1329
- input_tokens: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1330
- output_tokens: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1331
- cache_creation_input_tokens: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1332
- cache_read_input_tokens: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1333
- cache_creation: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
1334
- service_tier: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
1199
+ name: __dataclass__init__fields__0__annotation,
1200
+ description: __dataclass__init__fields__1__annotation,
1201
+ input_schema: __dataclass__init__fields__2__annotation,
1335
1202
  ) -> __dataclass__None:
1336
- __dataclass__object_setattr(self, 'input_tokens', input_tokens)
1337
- __dataclass__object_setattr(self, 'output_tokens', output_tokens)
1338
- __dataclass__object_setattr(self, 'cache_creation_input_tokens', cache_creation_input_tokens)
1339
- __dataclass__object_setattr(self, 'cache_read_input_tokens', cache_read_input_tokens)
1340
- __dataclass__object_setattr(self, 'cache_creation', cache_creation)
1341
- __dataclass__object_setattr(self, 'service_tier', service_tier)
1203
+ __dataclass__object_setattr(self, 'name', name)
1204
+ __dataclass__object_setattr(self, 'description', description)
1205
+ __dataclass__object_setattr(self, 'input_schema', input_schema)
1342
1206
 
1343
1207
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1344
1208
  if '__init__' in __dataclass__cls.__dict__:
@@ -1348,12 +1212,9 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1348
1212
  @__dataclass___recursive_repr()
1349
1213
  def __repr__(self):
1350
1214
  parts = []
1351
- parts.append(f"input_tokens={self.input_tokens!r}")
1352
- parts.append(f"output_tokens={self.output_tokens!r}")
1353
- parts.append(f"cache_creation_input_tokens={self.cache_creation_input_tokens!r}")
1354
- parts.append(f"cache_read_input_tokens={self.cache_read_input_tokens!r}")
1355
- parts.append(f"cache_creation={self.cache_creation!r}")
1356
- parts.append(f"service_tier={self.service_tier!r}")
1215
+ parts.append(f"name={self.name!r}")
1216
+ parts.append(f"description={self.description!r}")
1217
+ parts.append(f"input_schema={self.input_schema!r}")
1357
1218
  return (
1358
1219
  f"{self.__class__.__qualname__}("
1359
1220
  f"{', '.join(parts)}"
@@ -1370,32 +1231,46 @@ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1370
1231
 
1371
1232
  @_register(
1372
1233
  plan_repr=(
1373
- "Plans(tup=(CopyPlan(fields=('tool_use_id', 'content')), EqPlan(fields=('tool_use_id', 'content')), FrozenPlan("
1374
- "fields=('tool_use_id', 'content'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('tool_use"
1375
- "_id', 'content'), cache=False), InitPlan(fields=(InitPlan.Field(name='tool_use_id', annotation=OpRef(name='ini"
1376
- "t.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.I"
1377
- "NSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='content', annotation=OpRef(name='i"
1378
- "nit.fields.1.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType"
1379
- ".INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=('tool_use_id', 'conte"
1380
- "nt'), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprP"
1381
- "lan(fields=(ReprPlan.Field(name='tool_use_id', kw_only=False, fn=None), ReprPlan.Field(name='content', kw_only"
1382
- "=False, fn=None)), id=False, terse=False, default_fn=None)))"
1234
+ "Plans(tup=(CopyPlan(fields=('id', 'name', 'input', 'cache_control')), EqPlan(fields=('id', 'name', 'input', 'c"
1235
+ "ache_control')), FrozenPlan(fields=('id', 'name', 'input', 'cache_control'), allow_dynamic_dunder_attrs=False)"
1236
+ ", HashPlan(action='add', fields=('id', 'name', 'input', 'cache_control'), cache=False), InitPlan(fields=(InitP"
1237
+ "lan.Field(name='id', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, in"
1238
+ "it=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan"
1239
+ ".Field(name='name', annotation=OpRef(name='init.fields.1.annotation'), default=None, default_factory=None, ini"
1240
+ "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
1241
+ "Field(name='input', annotation=OpRef(name='init.fields.2.annotation'), default=None, default_factory=None, ini"
1242
+ "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
1243
+ "Field(name='cache_control', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields"
1244
+ ".3.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, val"
1245
+ "idate=None, check_type=None)), self_param='self', std_params=('id', 'name', 'input'), kw_only_params=('cache_c"
1246
+ "ontrol',), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Re"
1247
+ "prPlan.Field(name='id', kw_only=False, fn=None), ReprPlan.Field(name='name', kw_only=False, fn=None), ReprPlan"
1248
+ ".Field(name='input', kw_only=False, fn=None), ReprPlan.Field(name='cache_control', kw_only=True, fn=OpRef(name"
1249
+ "='repr.fns.3.fn'))), id=False, terse=False, default_fn=None)))"
1383
1250
  ),
1384
- plan_repr_sha1='c784ae3d44b6988e2459abc84ce5f705b6eca3b5',
1251
+ plan_repr_sha1='51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e',
1385
1252
  op_ref_idents=(
1386
1253
  '__dataclass__init__fields__0__annotation',
1387
1254
  '__dataclass__init__fields__1__annotation',
1255
+ '__dataclass__init__fields__2__annotation',
1256
+ '__dataclass__init__fields__3__annotation',
1257
+ '__dataclass__init__fields__3__default',
1258
+ '__dataclass__repr__fns__3__fn',
1388
1259
  ),
1389
1260
  cls_names=(
1390
- ('ommlds.backends.anthropic.protocol', 'ToolResult'),
1261
+ ('ommlds.backends.anthropic.protocol', 'ToolUse'),
1391
1262
  ),
1392
1263
  )
1393
- def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1264
+ def _process_dataclass__51ac2f5bc2410c36bb667aa3a8f0ed87eb16813e():
1394
1265
  def _process_dataclass(
1395
1266
  *,
1396
1267
  __dataclass__cls,
1397
1268
  __dataclass__init__fields__0__annotation,
1398
1269
  __dataclass__init__fields__1__annotation,
1270
+ __dataclass__init__fields__2__annotation,
1271
+ __dataclass__init__fields__3__annotation,
1272
+ __dataclass__init__fields__3__default,
1273
+ __dataclass__repr__fns__3__fn,
1399
1274
  __dataclass__FieldFnValidationError, # noqa
1400
1275
  __dataclass__FieldTypeValidationError, # noqa
1401
1276
  __dataclass__FnValidationError, # noqa
@@ -1414,8 +1289,10 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1414
1289
  if self.__class__ is not __dataclass__cls:
1415
1290
  raise TypeError(self)
1416
1291
  return __dataclass__cls( # noqa
1417
- tool_use_id=self.tool_use_id,
1418
- content=self.content,
1292
+ id=self.id,
1293
+ name=self.name,
1294
+ input=self.input,
1295
+ cache_control=self.cache_control,
1419
1296
  )
1420
1297
 
1421
1298
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1429,8 +1306,10 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1429
1306
  if self.__class__ is not other.__class__:
1430
1307
  return NotImplemented
1431
1308
  return (
1432
- self.tool_use_id == other.tool_use_id and
1433
- self.content == other.content
1309
+ self.id == other.id and
1310
+ self.name == other.name and
1311
+ self.input == other.input and
1312
+ self.cache_control == other.cache_control
1434
1313
  )
1435
1314
 
1436
1315
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1439,8 +1318,10 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1439
1318
  setattr(__dataclass__cls, '__eq__', __eq__)
1440
1319
 
1441
1320
  __dataclass___setattr_frozen_fields = {
1442
- 'tool_use_id',
1443
- 'content',
1321
+ 'id',
1322
+ 'name',
1323
+ 'input',
1324
+ 'cache_control',
1444
1325
  }
1445
1326
 
1446
1327
  def __setattr__(self, name, value):
@@ -1457,8 +1338,10 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1457
1338
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1458
1339
 
1459
1340
  __dataclass___delattr_frozen_fields = {
1460
- 'tool_use_id',
1461
- 'content',
1341
+ 'id',
1342
+ 'name',
1343
+ 'input',
1344
+ 'cache_control',
1462
1345
  }
1463
1346
 
1464
1347
  def __delattr__(self, name):
@@ -1476,8 +1359,10 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1476
1359
 
1477
1360
  def __hash__(self):
1478
1361
  return hash((
1479
- self.tool_use_id,
1480
- self.content,
1362
+ self.id,
1363
+ self.name,
1364
+ self.input,
1365
+ self.cache_control,
1481
1366
  ))
1482
1367
 
1483
1368
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1485,11 +1370,16 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1485
1370
 
1486
1371
  def __init__(
1487
1372
  self,
1488
- tool_use_id: __dataclass__init__fields__0__annotation,
1489
- content: __dataclass__init__fields__1__annotation,
1373
+ id: __dataclass__init__fields__0__annotation,
1374
+ name: __dataclass__init__fields__1__annotation,
1375
+ input: __dataclass__init__fields__2__annotation,
1376
+ *,
1377
+ cache_control: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1490
1378
  ) -> __dataclass__None:
1491
- __dataclass__object_setattr(self, 'tool_use_id', tool_use_id)
1492
- __dataclass__object_setattr(self, 'content', content)
1379
+ __dataclass__object_setattr(self, 'id', id)
1380
+ __dataclass__object_setattr(self, 'name', name)
1381
+ __dataclass__object_setattr(self, 'input', input)
1382
+ __dataclass__object_setattr(self, 'cache_control', cache_control)
1493
1383
 
1494
1384
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1495
1385
  if '__init__' in __dataclass__cls.__dict__:
@@ -1499,8 +1389,11 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1499
1389
  @__dataclass___recursive_repr()
1500
1390
  def __repr__(self):
1501
1391
  parts = []
1502
- parts.append(f"tool_use_id={self.tool_use_id!r}")
1503
- parts.append(f"content={self.content!r}")
1392
+ parts.append(f"id={self.id!r}")
1393
+ parts.append(f"name={self.name!r}")
1394
+ parts.append(f"input={self.input!r}")
1395
+ if (s := __dataclass__repr__fns__3__fn(self.cache_control)) is not None:
1396
+ parts.append(f"cache_control={s}")
1504
1397
  return (
1505
1398
  f"{self.__class__.__qualname__}("
1506
1399
  f"{', '.join(parts)}"
@@ -1517,21 +1410,69 @@ def _process_dataclass__c784ae3d44b6988e2459abc84ce5f705b6eca3b5():
1517
1410
 
1518
1411
  @_register(
1519
1412
  plan_repr=(
1520
- "Plans(tup=(CopyPlan(fields=()), EqPlan(fields=()), FrozenPlan(fields=(), allow_dynamic_dunder_attrs=False), Ha"
1521
- "shPlan(action='add', fields=(), cache=False), InitPlan(fields=(), self_param='self', std_params=(), kw_only_pa"
1522
- "rams=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(), i"
1523
- "d=False, terse=False, default_fn=None)))"
1413
+ "Plans(tup=(CopyPlan(fields=('input_tokens', 'output_tokens', 'cache_creation_input_tokens', 'cache_read_input_"
1414
+ "tokens', 'cache_creation', 'service_tier')), EqPlan(fields=('input_tokens', 'output_tokens', 'cache_creation_i"
1415
+ "nput_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier')), FrozenPlan(fields=('input_tokens'"
1416
+ ", 'output_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier')"
1417
+ ", allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('input_tokens', 'output_tokens', 'cache_cr"
1418
+ "eation_input_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier'), cache=False), InitPlan(fie"
1419
+ "lds=(InitPlan.Field(name='input_tokens', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name"
1420
+ "='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coe"
1421
+ "rce=None, validate=None, check_type=None), InitPlan.Field(name='output_tokens', annotation=OpRef(name='init.fi"
1422
+ "elds.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=Fa"
1423
+ "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='cache_c"
1424
+ "reation_input_tokens', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.de"
1425
+ "fault'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate"
1426
+ "=None, check_type=None), InitPlan.Field(name='cache_read_input_tokens', annotation=OpRef(name='init.fields.3.a"
1427
+ "nnotation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=False, fie"
1428
+ "ld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='cache_creation'"
1429
+ ", annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_fact"
1430
+ "ory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=Non"
1431
+ "e), InitPlan.Field(name='service_tier', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name="
1432
+ "'init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coer"
1433
+ "ce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('input_tokens', '"
1434
+ "output_tokens', 'cache_creation_input_tokens', 'cache_read_input_tokens', 'cache_creation', 'service_tier'), f"
1435
+ "rozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field"
1436
+ "(name='input_tokens', kw_only=True, fn=None), ReprPlan.Field(name='output_tokens', kw_only=True, fn=None), Rep"
1437
+ "rPlan.Field(name='cache_creation_input_tokens', kw_only=True, fn=None), ReprPlan.Field(name='cache_read_input_"
1438
+ "tokens', kw_only=True, fn=None), ReprPlan.Field(name='cache_creation', kw_only=True, fn=None), ReprPlan.Field("
1439
+ "name='service_tier', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1440
+ ),
1441
+ plan_repr_sha1='a47ab44cf512908b7a879f4d6bafd7aa6de84f97',
1442
+ op_ref_idents=(
1443
+ '__dataclass__init__fields__0__annotation',
1444
+ '__dataclass__init__fields__0__default',
1445
+ '__dataclass__init__fields__1__annotation',
1446
+ '__dataclass__init__fields__1__default',
1447
+ '__dataclass__init__fields__2__annotation',
1448
+ '__dataclass__init__fields__2__default',
1449
+ '__dataclass__init__fields__3__annotation',
1450
+ '__dataclass__init__fields__3__default',
1451
+ '__dataclass__init__fields__4__annotation',
1452
+ '__dataclass__init__fields__4__default',
1453
+ '__dataclass__init__fields__5__annotation',
1454
+ '__dataclass__init__fields__5__default',
1524
1455
  ),
1525
- plan_repr_sha1='e1f7edfe11f2b721d6a656c46e698fedc95461bb',
1526
- op_ref_idents=(),
1527
1456
  cls_names=(
1528
- ('ommlds.backends.anthropic.protocol', 'Content.EphemeralCacheControl'),
1457
+ ('ommlds.backends.anthropic.protocol', 'Usage'),
1529
1458
  ),
1530
1459
  )
1531
- def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1460
+ def _process_dataclass__a47ab44cf512908b7a879f4d6bafd7aa6de84f97():
1532
1461
  def _process_dataclass(
1533
1462
  *,
1534
1463
  __dataclass__cls,
1464
+ __dataclass__init__fields__0__annotation,
1465
+ __dataclass__init__fields__0__default,
1466
+ __dataclass__init__fields__1__annotation,
1467
+ __dataclass__init__fields__1__default,
1468
+ __dataclass__init__fields__2__annotation,
1469
+ __dataclass__init__fields__2__default,
1470
+ __dataclass__init__fields__3__annotation,
1471
+ __dataclass__init__fields__3__default,
1472
+ __dataclass__init__fields__4__annotation,
1473
+ __dataclass__init__fields__4__default,
1474
+ __dataclass__init__fields__5__annotation,
1475
+ __dataclass__init__fields__5__default,
1535
1476
  __dataclass__FieldFnValidationError, # noqa
1536
1477
  __dataclass__FieldTypeValidationError, # noqa
1537
1478
  __dataclass__FnValidationError, # noqa
@@ -1549,7 +1490,14 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1549
1490
  def __copy__(self):
1550
1491
  if self.__class__ is not __dataclass__cls:
1551
1492
  raise TypeError(self)
1552
- return __dataclass__cls() # noqa
1493
+ return __dataclass__cls( # noqa
1494
+ input_tokens=self.input_tokens,
1495
+ output_tokens=self.output_tokens,
1496
+ cache_creation_input_tokens=self.cache_creation_input_tokens,
1497
+ cache_read_input_tokens=self.cache_read_input_tokens,
1498
+ cache_creation=self.cache_creation,
1499
+ service_tier=self.service_tier,
1500
+ )
1553
1501
 
1554
1502
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
1555
1503
  if '__copy__' in __dataclass__cls.__dict__:
@@ -1561,16 +1509,33 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1561
1509
  return True
1562
1510
  if self.__class__ is not other.__class__:
1563
1511
  return NotImplemented
1564
- return True
1512
+ return (
1513
+ self.input_tokens == other.input_tokens and
1514
+ self.output_tokens == other.output_tokens and
1515
+ self.cache_creation_input_tokens == other.cache_creation_input_tokens and
1516
+ self.cache_read_input_tokens == other.cache_read_input_tokens and
1517
+ self.cache_creation == other.cache_creation and
1518
+ self.service_tier == other.service_tier
1519
+ )
1565
1520
 
1566
1521
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
1567
1522
  if '__eq__' in __dataclass__cls.__dict__:
1568
1523
  raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
1569
1524
  setattr(__dataclass__cls, '__eq__', __eq__)
1570
1525
 
1526
+ __dataclass___setattr_frozen_fields = {
1527
+ 'input_tokens',
1528
+ 'output_tokens',
1529
+ 'cache_creation_input_tokens',
1530
+ 'cache_read_input_tokens',
1531
+ 'cache_creation',
1532
+ 'service_tier',
1533
+ }
1534
+
1571
1535
  def __setattr__(self, name, value):
1572
1536
  if (
1573
1537
  type(self) is __dataclass__cls
1538
+ or name in __dataclass___setattr_frozen_fields
1574
1539
  ):
1575
1540
  raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
1576
1541
  super(__dataclass__cls, self).__setattr__(name, value)
@@ -1580,9 +1545,19 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1580
1545
  raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
1581
1546
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1582
1547
 
1548
+ __dataclass___delattr_frozen_fields = {
1549
+ 'input_tokens',
1550
+ 'output_tokens',
1551
+ 'cache_creation_input_tokens',
1552
+ 'cache_read_input_tokens',
1553
+ 'cache_creation',
1554
+ 'service_tier',
1555
+ }
1556
+
1583
1557
  def __delattr__(self, name):
1584
1558
  if (
1585
1559
  type(self) is __dataclass__cls
1560
+ or name in __dataclass___delattr_frozen_fields
1586
1561
  ):
1587
1562
  raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
1588
1563
  super(__dataclass__cls, self).__delattr__(name)
@@ -1593,15 +1568,34 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1593
1568
  setattr(__dataclass__cls, '__delattr__', __delattr__)
1594
1569
 
1595
1570
  def __hash__(self):
1596
- return hash(())
1571
+ return hash((
1572
+ self.input_tokens,
1573
+ self.output_tokens,
1574
+ self.cache_creation_input_tokens,
1575
+ self.cache_read_input_tokens,
1576
+ self.cache_creation,
1577
+ self.service_tier,
1578
+ ))
1597
1579
 
1598
1580
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
1599
1581
  setattr(__dataclass__cls, '__hash__', __hash__)
1600
1582
 
1601
1583
  def __init__(
1602
1584
  self,
1585
+ *,
1586
+ input_tokens: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1587
+ output_tokens: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1588
+ cache_creation_input_tokens: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1589
+ cache_read_input_tokens: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1590
+ cache_creation: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
1591
+ service_tier: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
1603
1592
  ) -> __dataclass__None:
1604
- pass
1593
+ __dataclass__object_setattr(self, 'input_tokens', input_tokens)
1594
+ __dataclass__object_setattr(self, 'output_tokens', output_tokens)
1595
+ __dataclass__object_setattr(self, 'cache_creation_input_tokens', cache_creation_input_tokens)
1596
+ __dataclass__object_setattr(self, 'cache_read_input_tokens', cache_read_input_tokens)
1597
+ __dataclass__object_setattr(self, 'cache_creation', cache_creation)
1598
+ __dataclass__object_setattr(self, 'service_tier', service_tier)
1605
1599
 
1606
1600
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1607
1601
  if '__init__' in __dataclass__cls.__dict__:
@@ -1611,6 +1605,12 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1611
1605
  @__dataclass___recursive_repr()
1612
1606
  def __repr__(self):
1613
1607
  parts = []
1608
+ parts.append(f"input_tokens={self.input_tokens!r}")
1609
+ parts.append(f"output_tokens={self.output_tokens!r}")
1610
+ parts.append(f"cache_creation_input_tokens={self.cache_creation_input_tokens!r}")
1611
+ parts.append(f"cache_read_input_tokens={self.cache_read_input_tokens!r}")
1612
+ parts.append(f"cache_creation={self.cache_creation!r}")
1613
+ parts.append(f"service_tier={self.service_tier!r}")
1614
1614
  return (
1615
1615
  f"{self.__class__.__qualname__}("
1616
1616
  f"{', '.join(parts)}"