ommlds 0.0.0.dev488__py3-none-any.whl → 0.0.0.dev490__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.
Files changed (83) hide show
  1. ommlds/cli/_dataclasses.py +657 -328
  2. ommlds/cli/main.py +74 -42
  3. ommlds/cli/sessions/chat/agents/agent.py +49 -0
  4. ommlds/cli/sessions/chat/{chat → agents}/ai/configs.py +3 -1
  5. ommlds/cli/sessions/chat/agents/ai/events.py +57 -0
  6. ommlds/cli/sessions/chat/{chat → agents}/ai/inject.py +7 -2
  7. ommlds/cli/sessions/chat/{chat → agents}/ai/rendering.py +1 -1
  8. ommlds/cli/sessions/chat/{chat → agents}/ai/services.py +1 -1
  9. ommlds/cli/sessions/chat/{chat → agents}/ai/tools.py +1 -1
  10. ommlds/cli/sessions/chat/{chat → agents}/ai/types.py +9 -0
  11. ommlds/cli/sessions/chat/agents/configs.py +25 -0
  12. ommlds/cli/sessions/chat/agents/events/inject.py +27 -0
  13. ommlds/cli/sessions/chat/agents/events/injection.py +14 -0
  14. ommlds/cli/sessions/chat/agents/events/manager.py +16 -0
  15. ommlds/cli/sessions/chat/agents/events/types.py +38 -0
  16. ommlds/cli/sessions/chat/agents/inject.py +62 -0
  17. ommlds/cli/sessions/chat/{chat → agents}/state/inject.py +3 -3
  18. ommlds/cli/sessions/chat/{chat → agents}/state/types.py +1 -1
  19. ommlds/cli/sessions/chat/{tools → agents/tools}/configs.py +3 -1
  20. ommlds/cli/sessions/chat/{tools → agents/tools}/confirmation.py +1 -1
  21. ommlds/cli/sessions/chat/{tools → agents/tools}/execution.py +1 -1
  22. ommlds/cli/sessions/chat/{tools → agents/tools}/fs/inject.py +3 -3
  23. ommlds/cli/sessions/chat/{tools → agents/tools}/inject.py +8 -4
  24. ommlds/cli/sessions/chat/{tools → agents/tools}/injection.py +1 -1
  25. ommlds/cli/sessions/chat/{tools → agents/tools}/rendering.py +3 -3
  26. ommlds/cli/sessions/chat/{tools → agents/tools}/todo/inject.py +3 -3
  27. ommlds/cli/sessions/chat/{tools → agents/tools}/weather/tools.py +1 -1
  28. ommlds/cli/sessions/chat/{chat → agents}/user/configs.py +0 -2
  29. ommlds/cli/sessions/chat/agents/user/inject.py +40 -0
  30. ommlds/cli/sessions/chat/configs.py +4 -12
  31. ommlds/cli/sessions/chat/inject.py +4 -32
  32. ommlds/cli/sessions/chat/{interface → interfaces}/bare/inject.py +14 -4
  33. ommlds/cli/sessions/chat/interfaces/bare/interactive.py +41 -0
  34. ommlds/cli/sessions/chat/interfaces/bare/oneshot.py +21 -0
  35. ommlds/cli/sessions/chat/{chat/user/interactive.py → interfaces/bare/user.py} +1 -1
  36. ommlds/cli/sessions/chat/interfaces/textual/__init__.py +0 -0
  37. ommlds/cli/sessions/chat/interfaces/textual/app.py +211 -0
  38. ommlds/cli/sessions/chat/interfaces/textual/inject.py +43 -0
  39. ommlds/cli/sessions/chat/{interface → interfaces}/textual/interface.py +0 -3
  40. ommlds/cli/sessions/chat/interfaces/textual/styles/__init__.py +0 -0
  41. ommlds/cli/sessions/chat/interfaces/textual/styles/input.tcss +51 -0
  42. ommlds/cli/sessions/chat/interfaces/textual/styles/messages.tcss +33 -0
  43. ommlds/cli/sessions/chat/session.py +1 -1
  44. {ommlds-0.0.0.dev488.dist-info → ommlds-0.0.0.dev490.dist-info}/METADATA +4 -4
  45. {ommlds-0.0.0.dev488.dist-info → ommlds-0.0.0.dev490.dist-info}/RECORD +76 -66
  46. ommlds/cli/sessions/chat/chat/user/inject.py +0 -55
  47. ommlds/cli/sessions/chat/chat/user/oneshot.py +0 -25
  48. ommlds/cli/sessions/chat/chat/user/types.py +0 -15
  49. ommlds/cli/sessions/chat/driver.py +0 -43
  50. ommlds/cli/sessions/chat/interface/bare/interface.py +0 -19
  51. ommlds/cli/sessions/chat/interface/textual/app.py +0 -14
  52. ommlds/cli/sessions/chat/interface/textual/inject.py +0 -20
  53. /ommlds/cli/sessions/chat/{chat → agents}/__init__.py +0 -0
  54. /ommlds/cli/sessions/chat/{chat → agents}/ai/__init__.py +0 -0
  55. /ommlds/cli/sessions/chat/{chat → agents}/ai/injection.py +0 -0
  56. /ommlds/cli/sessions/chat/{chat/state → agents/events}/__init__.py +0 -0
  57. /ommlds/cli/sessions/chat/{chat/user → agents/phases}/__init__.py +0 -0
  58. /ommlds/cli/sessions/chat/{phases → agents/phases}/inject.py +0 -0
  59. /ommlds/cli/sessions/chat/{phases → agents/phases}/injection.py +0 -0
  60. /ommlds/cli/sessions/chat/{phases → agents/phases}/manager.py +0 -0
  61. /ommlds/cli/sessions/chat/{phases → agents/phases}/types.py +0 -0
  62. /ommlds/cli/sessions/chat/{interface → agents/state}/__init__.py +0 -0
  63. /ommlds/cli/sessions/chat/{chat → agents}/state/configs.py +0 -0
  64. /ommlds/cli/sessions/chat/{chat → agents}/state/inmemory.py +0 -0
  65. /ommlds/cli/sessions/chat/{chat → agents}/state/storage.py +0 -0
  66. /ommlds/cli/sessions/chat/{interface/bare → agents/tools}/__init__.py +0 -0
  67. /ommlds/cli/sessions/chat/{interface/textual → agents/tools/fs}/__init__.py +0 -0
  68. /ommlds/cli/sessions/chat/{tools → agents/tools}/fs/configs.py +0 -0
  69. /ommlds/cli/sessions/chat/{phases → agents/tools/todo}/__init__.py +0 -0
  70. /ommlds/cli/sessions/chat/{tools → agents/tools}/todo/configs.py +0 -0
  71. /ommlds/cli/sessions/chat/{tools → agents/tools/weather}/__init__.py +0 -0
  72. /ommlds/cli/sessions/chat/{tools → agents/tools}/weather/configs.py +0 -0
  73. /ommlds/cli/sessions/chat/{tools → agents/tools}/weather/inject.py +0 -0
  74. /ommlds/cli/sessions/chat/{tools/fs → agents/user}/__init__.py +0 -0
  75. /ommlds/cli/sessions/chat/{tools/todo → interfaces}/__init__.py +0 -0
  76. /ommlds/cli/sessions/chat/{tools/weather → interfaces/bare}/__init__.py +0 -0
  77. /ommlds/cli/sessions/chat/{interface → interfaces}/base.py +0 -0
  78. /ommlds/cli/sessions/chat/{interface → interfaces}/configs.py +0 -0
  79. /ommlds/cli/sessions/chat/{interface → interfaces}/inject.py +0 -0
  80. {ommlds-0.0.0.dev488.dist-info → ommlds-0.0.0.dev490.dist-info}/WHEEL +0 -0
  81. {ommlds-0.0.0.dev488.dist-info → ommlds-0.0.0.dev490.dist-info}/entry_points.txt +0 -0
  82. {ommlds-0.0.0.dev488.dist-info → ommlds-0.0.0.dev490.dist-info}/licenses/LICENSE +0 -0
  83. {ommlds-0.0.0.dev488.dist-info → ommlds-0.0.0.dev490.dist-info}/top_level.txt +0 -0
@@ -25,22 +25,219 @@ def _register(**kwargs):
25
25
 
26
26
  @_register(
27
27
  plan_repr=(
28
- "Plans(tup=(CopyPlan(fields=('stream', 'silent', 'enable_tools')), EqPlan(fields=('stream', 'silent', 'enable_t"
29
- "ools')), FrozenPlan(fields=('stream', 'silent', 'enable_tools'), allow_dynamic_dunder_attrs=False), HashPlan(a"
30
- "ction='add', fields=('stream', 'silent', 'enable_tools'), cache=False), InitPlan(fields=(InitPlan.Field(name='"
31
- "stream', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), defau"
32
- "lt_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_t"
33
- "ype=None), InitPlan.Field(name='silent', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name"
34
- "='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coe"
35
- "rce=None, validate=None, check_type=None), InitPlan.Field(name='enable_tools', annotation=OpRef(name='init.fie"
36
- "lds.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=Fal"
37
- "se, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_param"
38
- "s=(), kw_only_params=('stream', 'silent', 'enable_tools'), frozen=True, slots=False, post_init_params=None, in"
39
- "it_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='stream', kw_only=True, fn=None), ReprPlan.F"
40
- "ield(name='silent', kw_only=True, fn=None), ReprPlan.Field(name='enable_tools', kw_only=True, fn=None)), id=Fa"
41
- "lse, terse=False, default_fn=None)))"
28
+ "Plans(tup=(CopyPlan(fields=('ai', 'backend', 'state', 'tools', 'user')), EqPlan(fields=('ai', 'backend', 'stat"
29
+ "e', 'tools', 'user')), FrozenPlan(fields=('ai', 'backend', 'state', 'tools', 'user'), allow_dynamic_dunder_att"
30
+ "rs=False), HashPlan(action='add', fields=('ai', 'backend', 'state', 'tools', 'user'), cache=False), InitPlan(f"
31
+ "ields=(InitPlan.Field(name='ai', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.f"
32
+ "ields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None"
33
+ ", validate=None, check_type=None), InitPlan.Field(name='backend', annotation=OpRef(name='init.fields.1.annotat"
34
+ "ion'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_typ"
35
+ "e=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='state', annotation=Op"
36
+ "Ref(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init="
37
+ "True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Fi"
38
+ "eld(name='tools', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default"
39
+ "'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None"
40
+ ", check_type=None), InitPlan.Field(name='user', annotation=OpRef(name='init.fields.4.annotation'), default=OpR"
41
+ "ef(name='init.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTAN"
42
+ "CE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('ai', 'ba"
43
+ "ckend', 'state', 'tools', 'user'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns="
44
+ "()), ReprPlan(fields=(ReprPlan.Field(name='ai', kw_only=True, fn=None), ReprPlan.Field(name='backend', kw_only"
45
+ "=True, fn=None), ReprPlan.Field(name='state', kw_only=True, fn=None), ReprPlan.Field(name='tools', kw_only=Tru"
46
+ "e, fn=None), ReprPlan.Field(name='user', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
47
+ ),
48
+ plan_repr_sha1='ccc522b0563e76033e8f2d3b6864b8a7c48c0fb7',
49
+ op_ref_idents=(
50
+ '__dataclass__init__fields__0__annotation',
51
+ '__dataclass__init__fields__0__default',
52
+ '__dataclass__init__fields__1__annotation',
53
+ '__dataclass__init__fields__1__default',
54
+ '__dataclass__init__fields__2__annotation',
55
+ '__dataclass__init__fields__2__default',
56
+ '__dataclass__init__fields__3__annotation',
57
+ '__dataclass__init__fields__3__default',
58
+ '__dataclass__init__fields__4__annotation',
59
+ '__dataclass__init__fields__4__default',
60
+ ),
61
+ cls_names=(
62
+ ('ommlds.cli.main', 'AgentConfig'),
63
+ ),
64
+ )
65
+ def _process_dataclass__ccc522b0563e76033e8f2d3b6864b8a7c48c0fb7():
66
+ def _process_dataclass(
67
+ *,
68
+ __dataclass__cls,
69
+ __dataclass__init__fields__0__annotation,
70
+ __dataclass__init__fields__0__default,
71
+ __dataclass__init__fields__1__annotation,
72
+ __dataclass__init__fields__1__default,
73
+ __dataclass__init__fields__2__annotation,
74
+ __dataclass__init__fields__2__default,
75
+ __dataclass__init__fields__3__annotation,
76
+ __dataclass__init__fields__3__default,
77
+ __dataclass__init__fields__4__annotation,
78
+ __dataclass__init__fields__4__default,
79
+ __dataclass__FieldFnValidationError, # noqa
80
+ __dataclass__FieldTypeValidationError, # noqa
81
+ __dataclass__FnValidationError, # noqa
82
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
83
+ __dataclass__FunctionType=types.FunctionType, # noqa
84
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
85
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
86
+ __dataclass__None=None, # noqa
87
+ __dataclass__TypeError=TypeError, # noqa
88
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
89
+ __dataclass__isinstance=isinstance, # noqa
90
+ __dataclass__object_setattr=object.__setattr__, # noqa
91
+ __dataclass__property=property, # noqa
92
+ ):
93
+ def __copy__(self):
94
+ if self.__class__ is not __dataclass__cls:
95
+ raise TypeError(self)
96
+ return __dataclass__cls( # noqa
97
+ ai=self.ai,
98
+ backend=self.backend,
99
+ state=self.state,
100
+ tools=self.tools,
101
+ user=self.user,
102
+ )
103
+
104
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
105
+ if '__copy__' in __dataclass__cls.__dict__:
106
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
107
+ setattr(__dataclass__cls, '__copy__', __copy__)
108
+
109
+ def __eq__(self, other):
110
+ if self is other:
111
+ return True
112
+ if self.__class__ is not other.__class__:
113
+ return NotImplemented
114
+ return (
115
+ self.ai == other.ai and
116
+ self.backend == other.backend and
117
+ self.state == other.state and
118
+ self.tools == other.tools and
119
+ self.user == other.user
120
+ )
121
+
122
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
123
+ if '__eq__' in __dataclass__cls.__dict__:
124
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
125
+ setattr(__dataclass__cls, '__eq__', __eq__)
126
+
127
+ __dataclass___setattr_frozen_fields = {
128
+ 'ai',
129
+ 'backend',
130
+ 'state',
131
+ 'tools',
132
+ 'user',
133
+ }
134
+
135
+ def __setattr__(self, name, value):
136
+ if (
137
+ type(self) is __dataclass__cls
138
+ or name in __dataclass___setattr_frozen_fields
139
+ ):
140
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
141
+ super(__dataclass__cls, self).__setattr__(name, value)
142
+
143
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
144
+ if '__setattr__' in __dataclass__cls.__dict__:
145
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
146
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
147
+
148
+ __dataclass___delattr_frozen_fields = {
149
+ 'ai',
150
+ 'backend',
151
+ 'state',
152
+ 'tools',
153
+ 'user',
154
+ }
155
+
156
+ def __delattr__(self, name):
157
+ if (
158
+ type(self) is __dataclass__cls
159
+ or name in __dataclass___delattr_frozen_fields
160
+ ):
161
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
162
+ super(__dataclass__cls, self).__delattr__(name)
163
+
164
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
165
+ if '__delattr__' in __dataclass__cls.__dict__:
166
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
167
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
168
+
169
+ def __hash__(self):
170
+ return hash((
171
+ self.ai,
172
+ self.backend,
173
+ self.state,
174
+ self.tools,
175
+ self.user,
176
+ ))
177
+
178
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
179
+ setattr(__dataclass__cls, '__hash__', __hash__)
180
+
181
+ def __init__(
182
+ self,
183
+ *,
184
+ ai: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
185
+ backend: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
186
+ state: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
187
+ tools: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
188
+ user: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
189
+ ) -> __dataclass__None:
190
+ __dataclass__object_setattr(self, 'ai', ai)
191
+ __dataclass__object_setattr(self, 'backend', backend)
192
+ __dataclass__object_setattr(self, 'state', state)
193
+ __dataclass__object_setattr(self, 'tools', tools)
194
+ __dataclass__object_setattr(self, 'user', user)
195
+
196
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
197
+ if '__init__' in __dataclass__cls.__dict__:
198
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
199
+ setattr(__dataclass__cls, '__init__', __init__)
200
+
201
+ @__dataclass___recursive_repr()
202
+ def __repr__(self):
203
+ parts = []
204
+ parts.append(f"ai={self.ai!r}")
205
+ parts.append(f"backend={self.backend!r}")
206
+ parts.append(f"state={self.state!r}")
207
+ parts.append(f"tools={self.tools!r}")
208
+ parts.append(f"user={self.user!r}")
209
+ return (
210
+ f"{self.__class__.__qualname__}("
211
+ f"{', '.join(parts)}"
212
+ f")"
213
+ )
214
+
215
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
216
+ if '__repr__' in __dataclass__cls.__dict__:
217
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
218
+ setattr(__dataclass__cls, '__repr__', __repr__)
219
+
220
+ return _process_dataclass
221
+
222
+
223
+ @_register(
224
+ plan_repr=(
225
+ "Plans(tup=(CopyPlan(fields=('stream', 'verbose', 'enable_tools')), EqPlan(fields=('stream', 'verbose', 'enable"
226
+ "_tools')), FrozenPlan(fields=('stream', 'verbose', 'enable_tools'), allow_dynamic_dunder_attrs=False), HashPla"
227
+ "n(action='add', fields=('stream', 'verbose', 'enable_tools'), cache=False), InitPlan(fields=(InitPlan.Field(na"
228
+ "me='stream', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), d"
229
+ "efault_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, che"
230
+ "ck_type=None), InitPlan.Field(name='verbose', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef"
231
+ "(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE"
232
+ ", coerce=None, validate=None, check_type=None), InitPlan.Field(name='enable_tools', annotation=OpRef(name='ini"
233
+ "t.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, overrid"
234
+ "e=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_"
235
+ "params=(), kw_only_params=('stream', 'verbose', 'enable_tools'), frozen=True, slots=False, post_init_params=No"
236
+ "ne, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='stream', kw_only=True, fn=None), Repr"
237
+ "Plan.Field(name='verbose', kw_only=True, fn=None), ReprPlan.Field(name='enable_tools', kw_only=True, fn=None))"
238
+ ", id=False, terse=False, default_fn=None)))"
42
239
  ),
43
- plan_repr_sha1='034c3027d32a8d78f606c678892cbfe84a8f230f',
240
+ plan_repr_sha1='0af757919efd30aee522fc0804dd63f932b30d84',
44
241
  op_ref_idents=(
45
242
  '__dataclass__init__fields__0__annotation',
46
243
  '__dataclass__init__fields__0__default',
@@ -53,7 +250,7 @@ def _register(**kwargs):
53
250
  ('ommlds.cli.main', 'AiConfig'),
54
251
  ),
55
252
  )
56
- def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
253
+ def _process_dataclass__0af757919efd30aee522fc0804dd63f932b30d84():
57
254
  def _process_dataclass(
58
255
  *,
59
256
  __dataclass__cls,
@@ -82,7 +279,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
82
279
  raise TypeError(self)
83
280
  return __dataclass__cls( # noqa
84
281
  stream=self.stream,
85
- silent=self.silent,
282
+ verbose=self.verbose,
86
283
  enable_tools=self.enable_tools,
87
284
  )
88
285
 
@@ -98,7 +295,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
98
295
  return NotImplemented
99
296
  return (
100
297
  self.stream == other.stream and
101
- self.silent == other.silent and
298
+ self.verbose == other.verbose and
102
299
  self.enable_tools == other.enable_tools
103
300
  )
104
301
 
@@ -109,7 +306,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
109
306
 
110
307
  __dataclass___setattr_frozen_fields = {
111
308
  'stream',
112
- 'silent',
309
+ 'verbose',
113
310
  'enable_tools',
114
311
  }
115
312
 
@@ -128,7 +325,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
128
325
 
129
326
  __dataclass___delattr_frozen_fields = {
130
327
  'stream',
131
- 'silent',
328
+ 'verbose',
132
329
  'enable_tools',
133
330
  }
134
331
 
@@ -148,7 +345,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
148
345
  def __hash__(self):
149
346
  return hash((
150
347
  self.stream,
151
- self.silent,
348
+ self.verbose,
152
349
  self.enable_tools,
153
350
  ))
154
351
 
@@ -159,11 +356,11 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
159
356
  self,
160
357
  *,
161
358
  stream: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
162
- silent: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
359
+ verbose: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
163
360
  enable_tools: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
164
361
  ) -> __dataclass__None:
165
362
  __dataclass__object_setattr(self, 'stream', stream)
166
- __dataclass__object_setattr(self, 'silent', silent)
363
+ __dataclass__object_setattr(self, 'verbose', verbose)
167
364
  __dataclass__object_setattr(self, 'enable_tools', enable_tools)
168
365
 
169
366
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
@@ -175,7 +372,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
175
372
  def __repr__(self):
176
373
  parts = []
177
374
  parts.append(f"stream={self.stream!r}")
178
- parts.append(f"silent={self.silent!r}")
375
+ parts.append(f"verbose={self.verbose!r}")
179
376
  parts.append(f"enable_tools={self.enable_tools!r}")
180
377
  return (
181
378
  f"{self.__class__.__qualname__}("
@@ -330,34 +527,22 @@ def _process_dataclass__fa5665ecddac4bdf52a6a47db3b5b5362a8b3c7a():
330
527
 
331
528
  @_register(
332
529
  plan_repr=(
333
- "Plans(tup=(CopyPlan(fields=('backend', 'ai', 'state', 'user', 'rendering', 'interface', 'tools')), EqPlan(fiel"
334
- "ds=('backend', 'ai', 'state', 'user', 'rendering', 'interface', 'tools')), FrozenPlan(fields=('backend', 'ai',"
335
- " 'state', 'user', 'rendering', 'interface', 'tools'), allow_dynamic_dunder_attrs=False), HashPlan(action='add'"
336
- ", fields=('backend', 'ai', 'state', 'user', 'rendering', 'interface', 'tools'), cache=False), InitPlan(fields="
337
- "(InitPlan.Field(name='backend', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fi"
338
- "elds.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None,"
339
- " validate=None, check_type=None), InitPlan.Field(name='ai', annotation=OpRef(name='init.fields.1.annotation'),"
340
- " default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=Fiel"
341
- "dType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='state', annotation=OpRef(na"
342
- "me='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, "
343
- "override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(na"
344
- "me='user', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), def"
345
- "ault_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check"
346
- "_type=None), InitPlan.Field(name='rendering', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef"
347
- "(name='init.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE"
348
- ", coerce=None, validate=None, check_type=None), InitPlan.Field(name='interface', annotation=OpRef(name='init.f"
349
- "ields.5.annotation'), default=OpRef(name='init.fields.5.default'), default_factory=None, init=True, override=F"
350
- "alse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='tools'"
351
- ", annotation=OpRef(name='init.fields.6.annotation'), default=OpRef(name='init.fields.6.default'), default_fact"
352
- "ory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=Non"
353
- "e)), self_param='self', std_params=(), kw_only_params=('backend', 'ai', 'state', 'user', 'rendering', 'interfa"
354
- "ce', 'tools'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields"
355
- "=(ReprPlan.Field(name='backend', kw_only=True, fn=None), ReprPlan.Field(name='ai', kw_only=True, fn=None), Rep"
356
- "rPlan.Field(name='state', kw_only=True, fn=None), ReprPlan.Field(name='user', kw_only=True, fn=None), ReprPlan"
357
- ".Field(name='rendering', kw_only=True, fn=None), ReprPlan.Field(name='interface', kw_only=True, fn=None), Repr"
358
- "Plan.Field(name='tools', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
530
+ "Plans(tup=(CopyPlan(fields=('agent', 'interface', 'rendering')), EqPlan(fields=('agent', 'interface', 'renderi"
531
+ "ng')), FrozenPlan(fields=('agent', 'interface', 'rendering'), allow_dynamic_dunder_attrs=False), HashPlan(acti"
532
+ "on='add', fields=('agent', 'interface', 'rendering'), cache=False), InitPlan(fields=(InitPlan.Field(name='agen"
533
+ "t', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_fa"
534
+ "ctory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=N"
535
+ "one), InitPlan.Field(name='interface', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='"
536
+ "init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerc"
537
+ "e=None, validate=None, check_type=None), InitPlan.Field(name='rendering', annotation=OpRef(name='init.fields.2"
538
+ ".annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, f"
539
+ "ield_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(),"
540
+ " kw_only_params=('agent', 'interface', 'rendering'), frozen=True, slots=False, post_init_params=None, init_fns"
541
+ "=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='agent', kw_only=True, fn=None), ReprPlan.Field(na"
542
+ "me='interface', kw_only=True, fn=None), ReprPlan.Field(name='rendering', kw_only=True, fn=None)), id=False, te"
543
+ "rse=False, default_fn=None)))"
359
544
  ),
360
- plan_repr_sha1='2180520d95d2485daaddf191f085f81268419e67',
545
+ plan_repr_sha1='89b17a90da2a8d6e0122504664c1081522378c1c',
361
546
  op_ref_idents=(
362
547
  '__dataclass__init__fields__0__annotation',
363
548
  '__dataclass__init__fields__0__default',
@@ -365,20 +550,12 @@ def _process_dataclass__fa5665ecddac4bdf52a6a47db3b5b5362a8b3c7a():
365
550
  '__dataclass__init__fields__1__default',
366
551
  '__dataclass__init__fields__2__annotation',
367
552
  '__dataclass__init__fields__2__default',
368
- '__dataclass__init__fields__3__annotation',
369
- '__dataclass__init__fields__3__default',
370
- '__dataclass__init__fields__4__annotation',
371
- '__dataclass__init__fields__4__default',
372
- '__dataclass__init__fields__5__annotation',
373
- '__dataclass__init__fields__5__default',
374
- '__dataclass__init__fields__6__annotation',
375
- '__dataclass__init__fields__6__default',
376
553
  ),
377
554
  cls_names=(
378
555
  ('ommlds.cli.main', 'ChatConfig'),
379
556
  ),
380
557
  )
381
- def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
558
+ def _process_dataclass__89b17a90da2a8d6e0122504664c1081522378c1c():
382
559
  def _process_dataclass(
383
560
  *,
384
561
  __dataclass__cls,
@@ -388,14 +565,6 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
388
565
  __dataclass__init__fields__1__default,
389
566
  __dataclass__init__fields__2__annotation,
390
567
  __dataclass__init__fields__2__default,
391
- __dataclass__init__fields__3__annotation,
392
- __dataclass__init__fields__3__default,
393
- __dataclass__init__fields__4__annotation,
394
- __dataclass__init__fields__4__default,
395
- __dataclass__init__fields__5__annotation,
396
- __dataclass__init__fields__5__default,
397
- __dataclass__init__fields__6__annotation,
398
- __dataclass__init__fields__6__default,
399
568
  __dataclass__FieldFnValidationError, # noqa
400
569
  __dataclass__FieldTypeValidationError, # noqa
401
570
  __dataclass__FnValidationError, # noqa
@@ -414,13 +583,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
414
583
  if self.__class__ is not __dataclass__cls:
415
584
  raise TypeError(self)
416
585
  return __dataclass__cls( # noqa
417
- backend=self.backend,
418
- ai=self.ai,
419
- state=self.state,
420
- user=self.user,
421
- rendering=self.rendering,
586
+ agent=self.agent,
422
587
  interface=self.interface,
423
- tools=self.tools,
588
+ rendering=self.rendering,
424
589
  )
425
590
 
426
591
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -434,13 +599,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
434
599
  if self.__class__ is not other.__class__:
435
600
  return NotImplemented
436
601
  return (
437
- self.backend == other.backend and
438
- self.ai == other.ai and
439
- self.state == other.state and
440
- self.user == other.user and
441
- self.rendering == other.rendering and
602
+ self.agent == other.agent and
442
603
  self.interface == other.interface and
443
- self.tools == other.tools
604
+ self.rendering == other.rendering
444
605
  )
445
606
 
446
607
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -449,13 +610,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
449
610
  setattr(__dataclass__cls, '__eq__', __eq__)
450
611
 
451
612
  __dataclass___setattr_frozen_fields = {
452
- 'backend',
453
- 'ai',
454
- 'state',
455
- 'user',
456
- 'rendering',
613
+ 'agent',
457
614
  'interface',
458
- 'tools',
615
+ 'rendering',
459
616
  }
460
617
 
461
618
  def __setattr__(self, name, value):
@@ -472,13 +629,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
472
629
  setattr(__dataclass__cls, '__setattr__', __setattr__)
473
630
 
474
631
  __dataclass___delattr_frozen_fields = {
475
- 'backend',
476
- 'ai',
477
- 'state',
478
- 'user',
479
- 'rendering',
632
+ 'agent',
480
633
  'interface',
481
- 'tools',
634
+ 'rendering',
482
635
  }
483
636
 
484
637
  def __delattr__(self, name):
@@ -496,13 +649,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
496
649
 
497
650
  def __hash__(self):
498
651
  return hash((
499
- self.backend,
500
- self.ai,
501
- self.state,
502
- self.user,
503
- self.rendering,
652
+ self.agent,
504
653
  self.interface,
505
- self.tools,
654
+ self.rendering,
506
655
  ))
507
656
 
508
657
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -511,21 +660,13 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
511
660
  def __init__(
512
661
  self,
513
662
  *,
514
- backend: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
515
- ai: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
516
- state: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
517
- user: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
518
- rendering: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
519
- interface: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
520
- tools: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
663
+ agent: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
664
+ interface: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
665
+ rendering: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
521
666
  ) -> __dataclass__None:
522
- __dataclass__object_setattr(self, 'backend', backend)
523
- __dataclass__object_setattr(self, 'ai', ai)
524
- __dataclass__object_setattr(self, 'state', state)
525
- __dataclass__object_setattr(self, 'user', user)
526
- __dataclass__object_setattr(self, 'rendering', rendering)
667
+ __dataclass__object_setattr(self, 'agent', agent)
527
668
  __dataclass__object_setattr(self, 'interface', interface)
528
- __dataclass__object_setattr(self, 'tools', tools)
669
+ __dataclass__object_setattr(self, 'rendering', rendering)
529
670
 
530
671
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
531
672
  if '__init__' in __dataclass__cls.__dict__:
@@ -535,13 +676,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
535
676
  @__dataclass___recursive_repr()
536
677
  def __repr__(self):
537
678
  parts = []
538
- parts.append(f"backend={self.backend!r}")
539
- parts.append(f"ai={self.ai!r}")
540
- parts.append(f"state={self.state!r}")
541
- parts.append(f"user={self.user!r}")
542
- parts.append(f"rendering={self.rendering!r}")
679
+ parts.append(f"agent={self.agent!r}")
543
680
  parts.append(f"interface={self.interface!r}")
544
- parts.append(f"tools={self.tools!r}")
681
+ parts.append(f"rendering={self.rendering!r}")
545
682
  return (
546
683
  f"{self.__class__.__qualname__}("
547
684
  f"{', '.join(parts)}"
@@ -1282,9 +1419,9 @@ def _process_dataclass__ecd4e8fdaa04b3fa64e0c01eea919a83fc862e6a():
1282
1419
  op_ref_idents=(),
1283
1420
  cls_names=(
1284
1421
  ('ommlds.cli.main', 'ToolSetConfig'),
1285
- ('ommlds.cli.sessions.chat.tools.fs.configs', 'FsToolSetConfig'),
1286
- ('ommlds.cli.sessions.chat.tools.todo.configs', 'TodoToolSetConfig'),
1287
- ('ommlds.cli.sessions.chat.tools.weather.configs', 'WeatherToolSetConfig'),
1422
+ ('ommlds.cli.sessions.chat.agents.tools.fs.configs', 'FsToolSetConfig'),
1423
+ ('ommlds.cli.sessions.chat.agents.tools.todo.configs', 'TodoToolSetConfig'),
1424
+ ('ommlds.cli.sessions.chat.agents.tools.weather.configs', 'WeatherToolSetConfig'),
1288
1425
  ),
1289
1426
  )
1290
1427
  def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
@@ -1386,23 +1523,23 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1386
1523
 
1387
1524
  @_register(
1388
1525
  plan_repr=(
1389
- "Plans(tup=(CopyPlan(fields=('silent', 'dangerous_no_confirmation', 'enabled_tools')), EqPlan(fields=('silent',"
1390
- " 'dangerous_no_confirmation', 'enabled_tools')), FrozenPlan(fields=('silent', 'dangerous_no_confirmation', 'en"
1391
- "abled_tools'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('silent', 'dangerous_no_confi"
1392
- "rmation', 'enabled_tools'), cache=False), InitPlan(fields=(InitPlan.Field(name='silent', annotation=OpRef(name"
1393
- "='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, ov"
1394
- "erride=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name"
1395
- "='dangerous_no_confirmation', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fiel"
1396
- "ds.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, v"
1397
- "alidate=None, check_type=None), InitPlan.Field(name='enabled_tools', annotation=OpRef(name='init.fields.2.anno"
1398
- "tation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_"
1399
- "type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_o"
1400
- "nly_params=('silent', 'dangerous_no_confirmation', 'enabled_tools'), frozen=True, slots=False, post_init_param"
1401
- "s=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='silent', kw_only=True, fn=None), "
1402
- "ReprPlan.Field(name='dangerous_no_confirmation', kw_only=True, fn=None), ReprPlan.Field(name='enabled_tools', "
1403
- "kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1526
+ "Plans(tup=(CopyPlan(fields=('dangerous_no_confirmation', 'enabled_tools', 'verbose')), EqPlan(fields=('dangero"
1527
+ "us_no_confirmation', 'enabled_tools', 'verbose')), FrozenPlan(fields=('dangerous_no_confirmation', 'enabled_to"
1528
+ "ols', 'verbose'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('dangerous_no_confirmation"
1529
+ "', 'enabled_tools', 'verbose'), cache=False), InitPlan(fields=(InitPlan.Field(name='dangerous_no_confirmation'"
1530
+ ", annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_fact"
1531
+ "ory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=Non"
1532
+ "e), InitPlan.Field(name='enabled_tools', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name"
1533
+ "='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coe"
1534
+ "rce=None, validate=None, check_type=None), InitPlan.Field(name='verbose', annotation=OpRef(name='init.fields.2"
1535
+ ".annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, f"
1536
+ "ield_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(),"
1537
+ " kw_only_params=('dangerous_no_confirmation', 'enabled_tools', 'verbose'), frozen=True, slots=False, post_init"
1538
+ "_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='dangerous_no_confirmation',"
1539
+ " kw_only=True, fn=None), ReprPlan.Field(name='enabled_tools', kw_only=True, fn=None), ReprPlan.Field(name='ver"
1540
+ "bose', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1404
1541
  ),
1405
- plan_repr_sha1='db9677a2fd3b495102177f315b60f0d1469bbee9',
1542
+ plan_repr_sha1='94fc5ada3f0f98f677c48389927571e7b6e56249',
1406
1543
  op_ref_idents=(
1407
1544
  '__dataclass__init__fields__0__annotation',
1408
1545
  '__dataclass__init__fields__0__default',
@@ -1415,7 +1552,7 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1415
1552
  ('ommlds.cli.main', 'ToolsConfig'),
1416
1553
  ),
1417
1554
  )
1418
- def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1555
+ def _process_dataclass__94fc5ada3f0f98f677c48389927571e7b6e56249():
1419
1556
  def _process_dataclass(
1420
1557
  *,
1421
1558
  __dataclass__cls,
@@ -1443,9 +1580,9 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1443
1580
  if self.__class__ is not __dataclass__cls:
1444
1581
  raise TypeError(self)
1445
1582
  return __dataclass__cls( # noqa
1446
- silent=self.silent,
1447
1583
  dangerous_no_confirmation=self.dangerous_no_confirmation,
1448
1584
  enabled_tools=self.enabled_tools,
1585
+ verbose=self.verbose,
1449
1586
  )
1450
1587
 
1451
1588
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1459,9 +1596,9 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1459
1596
  if self.__class__ is not other.__class__:
1460
1597
  return NotImplemented
1461
1598
  return (
1462
- self.silent == other.silent and
1463
1599
  self.dangerous_no_confirmation == other.dangerous_no_confirmation and
1464
- self.enabled_tools == other.enabled_tools
1600
+ self.enabled_tools == other.enabled_tools and
1601
+ self.verbose == other.verbose
1465
1602
  )
1466
1603
 
1467
1604
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1470,9 +1607,9 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1470
1607
  setattr(__dataclass__cls, '__eq__', __eq__)
1471
1608
 
1472
1609
  __dataclass___setattr_frozen_fields = {
1473
- 'silent',
1474
1610
  'dangerous_no_confirmation',
1475
1611
  'enabled_tools',
1612
+ 'verbose',
1476
1613
  }
1477
1614
 
1478
1615
  def __setattr__(self, name, value):
@@ -1489,9 +1626,9 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1489
1626
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1490
1627
 
1491
1628
  __dataclass___delattr_frozen_fields = {
1492
- 'silent',
1493
1629
  'dangerous_no_confirmation',
1494
1630
  'enabled_tools',
1631
+ 'verbose',
1495
1632
  }
1496
1633
 
1497
1634
  def __delattr__(self, name):
@@ -1509,9 +1646,9 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1509
1646
 
1510
1647
  def __hash__(self):
1511
1648
  return hash((
1512
- self.silent,
1513
1649
  self.dangerous_no_confirmation,
1514
1650
  self.enabled_tools,
1651
+ self.verbose,
1515
1652
  ))
1516
1653
 
1517
1654
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1520,13 +1657,13 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1520
1657
  def __init__(
1521
1658
  self,
1522
1659
  *,
1523
- silent: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1524
- dangerous_no_confirmation: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1525
- enabled_tools: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1660
+ dangerous_no_confirmation: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1661
+ enabled_tools: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1662
+ verbose: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1526
1663
  ) -> __dataclass__None:
1527
- __dataclass__object_setattr(self, 'silent', silent)
1528
1664
  __dataclass__object_setattr(self, 'dangerous_no_confirmation', dangerous_no_confirmation)
1529
1665
  __dataclass__object_setattr(self, 'enabled_tools', enabled_tools)
1666
+ __dataclass__object_setattr(self, 'verbose', verbose)
1530
1667
 
1531
1668
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1532
1669
  if '__init__' in __dataclass__cls.__dict__:
@@ -1536,9 +1673,9 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1536
1673
  @__dataclass___recursive_repr()
1537
1674
  def __repr__(self):
1538
1675
  parts = []
1539
- parts.append(f"silent={self.silent!r}")
1540
1676
  parts.append(f"dangerous_no_confirmation={self.dangerous_no_confirmation!r}")
1541
1677
  parts.append(f"enabled_tools={self.enabled_tools!r}")
1678
+ parts.append(f"verbose={self.verbose!r}")
1542
1679
  return (
1543
1680
  f"{self.__class__.__qualname__}("
1544
1681
  f"{', '.join(parts)}"
@@ -1555,37 +1692,31 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1555
1692
 
1556
1693
  @_register(
1557
1694
  plan_repr=(
1558
- "Plans(tup=(CopyPlan(fields=('initial_system_content', 'initial_user_content', 'interactive')), EqPlan(fields=("
1559
- "'initial_system_content', 'initial_user_content', 'interactive')), FrozenPlan(fields=('initial_system_content'"
1560
- ", 'initial_user_content', 'interactive'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('i"
1561
- "nitial_system_content', 'initial_user_content', 'interactive'), cache=False), InitPlan(fields=(InitPlan.Field("
1562
- "name='initial_system_content', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fie"
1563
- "lds.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
1564
- "validate=None, check_type=None), InitPlan.Field(name='initial_user_content', annotation=OpRef(name='init.field"
1565
- "s.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False"
1566
- ", field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='interactiv"
1567
- "e', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_fa"
1568
- "ctory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=N"
1569
- "one)), self_param='self', std_params=(), kw_only_params=('initial_system_content', 'initial_user_content', 'in"
1570
- "teractive'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=("
1571
- "ReprPlan.Field(name='initial_system_content', kw_only=True, fn=None), ReprPlan.Field(name='initial_user_conten"
1572
- "t', kw_only=True, fn=None), ReprPlan.Field(name='interactive', kw_only=True, fn=None)), id=False, terse=False,"
1573
- " default_fn=None)))"
1695
+ "Plans(tup=(CopyPlan(fields=('initial_system_content', 'initial_user_content')), EqPlan(fields=('initial_system"
1696
+ "_content', 'initial_user_content')), FrozenPlan(fields=('initial_system_content', 'initial_user_content'), all"
1697
+ "ow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('initial_system_content', 'initial_user_content"
1698
+ "'), cache=False), InitPlan(fields=(InitPlan.Field(name='initial_system_content', annotation=OpRef(name='init.f"
1699
+ "ields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=F"
1700
+ "alse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='initia"
1701
+ "l_user_content', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'"
1702
+ "), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
1703
+ " check_type=None)), self_param='self', std_params=(), kw_only_params=('initial_system_content', 'initial_user_"
1704
+ "content'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Re"
1705
+ "prPlan.Field(name='initial_system_content', kw_only=True, fn=None), ReprPlan.Field(name='initial_user_content'"
1706
+ ", kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1574
1707
  ),
1575
- plan_repr_sha1='bf389110f6a33ac341656be4d61e4640ffac3f50',
1708
+ plan_repr_sha1='55eb2b38eb7d4e32f3a9306577040632e1c376fb',
1576
1709
  op_ref_idents=(
1577
1710
  '__dataclass__init__fields__0__annotation',
1578
1711
  '__dataclass__init__fields__0__default',
1579
1712
  '__dataclass__init__fields__1__annotation',
1580
1713
  '__dataclass__init__fields__1__default',
1581
- '__dataclass__init__fields__2__annotation',
1582
- '__dataclass__init__fields__2__default',
1583
1714
  ),
1584
1715
  cls_names=(
1585
1716
  ('ommlds.cli.main', 'UserConfig'),
1586
1717
  ),
1587
1718
  )
1588
- def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1719
+ def _process_dataclass__55eb2b38eb7d4e32f3a9306577040632e1c376fb():
1589
1720
  def _process_dataclass(
1590
1721
  *,
1591
1722
  __dataclass__cls,
@@ -1593,8 +1724,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1593
1724
  __dataclass__init__fields__0__default,
1594
1725
  __dataclass__init__fields__1__annotation,
1595
1726
  __dataclass__init__fields__1__default,
1596
- __dataclass__init__fields__2__annotation,
1597
- __dataclass__init__fields__2__default,
1598
1727
  __dataclass__FieldFnValidationError, # noqa
1599
1728
  __dataclass__FieldTypeValidationError, # noqa
1600
1729
  __dataclass__FnValidationError, # noqa
@@ -1615,7 +1744,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1615
1744
  return __dataclass__cls( # noqa
1616
1745
  initial_system_content=self.initial_system_content,
1617
1746
  initial_user_content=self.initial_user_content,
1618
- interactive=self.interactive,
1619
1747
  )
1620
1748
 
1621
1749
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1630,8 +1758,7 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1630
1758
  return NotImplemented
1631
1759
  return (
1632
1760
  self.initial_system_content == other.initial_system_content and
1633
- self.initial_user_content == other.initial_user_content and
1634
- self.interactive == other.interactive
1761
+ self.initial_user_content == other.initial_user_content
1635
1762
  )
1636
1763
 
1637
1764
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1642,7 +1769,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1642
1769
  __dataclass___setattr_frozen_fields = {
1643
1770
  'initial_system_content',
1644
1771
  'initial_user_content',
1645
- 'interactive',
1646
1772
  }
1647
1773
 
1648
1774
  def __setattr__(self, name, value):
@@ -1661,7 +1787,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1661
1787
  __dataclass___delattr_frozen_fields = {
1662
1788
  'initial_system_content',
1663
1789
  'initial_user_content',
1664
- 'interactive',
1665
1790
  }
1666
1791
 
1667
1792
  def __delattr__(self, name):
@@ -1681,7 +1806,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1681
1806
  return hash((
1682
1807
  self.initial_system_content,
1683
1808
  self.initial_user_content,
1684
- self.interactive,
1685
1809
  ))
1686
1810
 
1687
1811
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1692,11 +1816,9 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1692
1816
  *,
1693
1817
  initial_system_content: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1694
1818
  initial_user_content: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1695
- interactive: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1696
1819
  ) -> __dataclass__None:
1697
1820
  __dataclass__object_setattr(self, 'initial_system_content', initial_system_content)
1698
1821
  __dataclass__object_setattr(self, 'initial_user_content', initial_user_content)
1699
- __dataclass__object_setattr(self, 'interactive', interactive)
1700
1822
 
1701
1823
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1702
1824
  if '__init__' in __dataclass__cls.__dict__:
@@ -1708,7 +1830,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1708
1830
  parts = []
1709
1831
  parts.append(f"initial_system_content={self.initial_system_content!r}")
1710
1832
  parts.append(f"initial_user_content={self.initial_user_content!r}")
1711
- parts.append(f"interactive={self.interactive!r}")
1712
1833
  return (
1713
1834
  f"{self.__class__.__qualname__}("
1714
1835
  f"{', '.join(parts)}"
@@ -1725,32 +1846,27 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1725
1846
 
1726
1847
  @_register(
1727
1848
  plan_repr=(
1728
- "Plans(tup=(CopyPlan(fields=('version', 'payload')), EqPlan(fields=('version', 'payload')), FrozenPlan(fields=("
1729
- "'version', 'payload'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('version', 'payload')"
1730
- ", cache=False), InitPlan(fields=(InitPlan.Field(name='version', annotation=OpRef(name='init.fields.0.annotatio"
1731
- "n'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None"
1732
- ", validate=None, check_type=None), InitPlan.Field(name='payload', annotation=OpRef(name='init.fields.1.annotat"
1733
- "ion'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=No"
1734
- "ne, validate=None, check_type=None)), self_param='self', std_params=('version', 'payload'), kw_only_params=(),"
1735
- " frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Fie"
1736
- "ld(name='version', kw_only=False, fn=None), ReprPlan.Field(name='payload', kw_only=False, fn=None)), id=False,"
1737
- " terse=False, default_fn=None)))"
1849
+ "Plans(tup=(CopyPlan(fields=('delta',)), EqPlan(fields=('delta',)), FrozenPlan(fields=('delta',), allow_dynamic"
1850
+ "_dunder_attrs=False), HashPlan(action='add', fields=('delta',), cache=False), InitPlan(fields=(InitPlan.Field("
1851
+ "name='delta', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True"
1852
+ ", override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='s"
1853
+ "elf', std_params=('delta',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), "
1854
+ "validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='delta', kw_only=False, fn=None),), id=False, terse=Fal"
1855
+ "se, default_fn=None)))"
1738
1856
  ),
1739
- plan_repr_sha1='be0d400bb9a95f7b7d493de698bc2bcac269b46e',
1857
+ plan_repr_sha1='aff24d9a92d53ba94dacb7fb303b9eb4ebd0763f',
1740
1858
  op_ref_idents=(
1741
1859
  '__dataclass__init__fields__0__annotation',
1742
- '__dataclass__init__fields__1__annotation',
1743
1860
  ),
1744
1861
  cls_names=(
1745
- ('ommlds.cli.sessions.chat.chat.state.storage', 'MarshaledState'),
1862
+ ('ommlds.cli.sessions.chat.agents.agent', 'AiDeltaChatEvent'),
1746
1863
  ),
1747
1864
  )
1748
- def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1865
+ def _process_dataclass__aff24d9a92d53ba94dacb7fb303b9eb4ebd0763f():
1749
1866
  def _process_dataclass(
1750
1867
  *,
1751
1868
  __dataclass__cls,
1752
1869
  __dataclass__init__fields__0__annotation,
1753
- __dataclass__init__fields__1__annotation,
1754
1870
  __dataclass__FieldFnValidationError, # noqa
1755
1871
  __dataclass__FieldTypeValidationError, # noqa
1756
1872
  __dataclass__FnValidationError, # noqa
@@ -1769,8 +1885,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1769
1885
  if self.__class__ is not __dataclass__cls:
1770
1886
  raise TypeError(self)
1771
1887
  return __dataclass__cls( # noqa
1772
- version=self.version,
1773
- payload=self.payload,
1888
+ delta=self.delta,
1774
1889
  )
1775
1890
 
1776
1891
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1784,8 +1899,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1784
1899
  if self.__class__ is not other.__class__:
1785
1900
  return NotImplemented
1786
1901
  return (
1787
- self.version == other.version and
1788
- self.payload == other.payload
1902
+ self.delta == other.delta
1789
1903
  )
1790
1904
 
1791
1905
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1794,8 +1908,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1794
1908
  setattr(__dataclass__cls, '__eq__', __eq__)
1795
1909
 
1796
1910
  __dataclass___setattr_frozen_fields = {
1797
- 'version',
1798
- 'payload',
1911
+ 'delta',
1799
1912
  }
1800
1913
 
1801
1914
  def __setattr__(self, name, value):
@@ -1812,8 +1925,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1812
1925
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1813
1926
 
1814
1927
  __dataclass___delattr_frozen_fields = {
1815
- 'version',
1816
- 'payload',
1928
+ 'delta',
1817
1929
  }
1818
1930
 
1819
1931
  def __delattr__(self, name):
@@ -1831,8 +1943,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1831
1943
 
1832
1944
  def __hash__(self):
1833
1945
  return hash((
1834
- self.version,
1835
- self.payload,
1946
+ self.delta,
1836
1947
  ))
1837
1948
 
1838
1949
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1840,11 +1951,9 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1840
1951
 
1841
1952
  def __init__(
1842
1953
  self,
1843
- version: __dataclass__init__fields__0__annotation,
1844
- payload: __dataclass__init__fields__1__annotation,
1954
+ delta: __dataclass__init__fields__0__annotation,
1845
1955
  ) -> __dataclass__None:
1846
- __dataclass__object_setattr(self, 'version', version)
1847
- __dataclass__object_setattr(self, 'payload', payload)
1956
+ __dataclass__object_setattr(self, 'delta', delta)
1848
1957
 
1849
1958
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1850
1959
  if '__init__' in __dataclass__cls.__dict__:
@@ -1854,8 +1963,142 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1854
1963
  @__dataclass___recursive_repr()
1855
1964
  def __repr__(self):
1856
1965
  parts = []
1857
- parts.append(f"version={self.version!r}")
1858
- parts.append(f"payload={self.payload!r}")
1966
+ parts.append(f"delta={self.delta!r}")
1967
+ return (
1968
+ f"{self.__class__.__qualname__}("
1969
+ f"{', '.join(parts)}"
1970
+ f")"
1971
+ )
1972
+
1973
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
1974
+ if '__repr__' in __dataclass__cls.__dict__:
1975
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
1976
+ setattr(__dataclass__cls, '__repr__', __repr__)
1977
+
1978
+ return _process_dataclass
1979
+
1980
+
1981
+ @_register(
1982
+ plan_repr=(
1983
+ "Plans(tup=(CopyPlan(fields=('chat',)), EqPlan(fields=('chat',)), FrozenPlan(fields=('chat',), allow_dynamic_du"
1984
+ "nder_attrs=False), HashPlan(action='add', fields=('chat',), cache=False), InitPlan(fields=(InitPlan.Field(name"
1985
+ "='chat', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, ove"
1986
+ "rride=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self',"
1987
+ " std_params=('chat',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), valida"
1988
+ "te_fns=()), ReprPlan(fields=(ReprPlan.Field(name='chat', kw_only=False, fn=None),), id=False, terse=False, def"
1989
+ "ault_fn=None)))"
1990
+ ),
1991
+ plan_repr_sha1='b211fde543b7c2c533cdcf9f21b47d2f7f76e5c9',
1992
+ op_ref_idents=(
1993
+ '__dataclass__init__fields__0__annotation',
1994
+ ),
1995
+ cls_names=(
1996
+ ('ommlds.cli.sessions.chat.agents.agent', 'AiMessagesChatEvent'),
1997
+ ('ommlds.cli.sessions.chat.agents.agent', 'UserMessagesChatEvent'),
1998
+ ),
1999
+ )
2000
+ def _process_dataclass__b211fde543b7c2c533cdcf9f21b47d2f7f76e5c9():
2001
+ def _process_dataclass(
2002
+ *,
2003
+ __dataclass__cls,
2004
+ __dataclass__init__fields__0__annotation,
2005
+ __dataclass__FieldFnValidationError, # noqa
2006
+ __dataclass__FieldTypeValidationError, # noqa
2007
+ __dataclass__FnValidationError, # noqa
2008
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
2009
+ __dataclass__FunctionType=types.FunctionType, # noqa
2010
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
2011
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
2012
+ __dataclass__None=None, # noqa
2013
+ __dataclass__TypeError=TypeError, # noqa
2014
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
2015
+ __dataclass__isinstance=isinstance, # noqa
2016
+ __dataclass__object_setattr=object.__setattr__, # noqa
2017
+ __dataclass__property=property, # noqa
2018
+ ):
2019
+ def __copy__(self):
2020
+ if self.__class__ is not __dataclass__cls:
2021
+ raise TypeError(self)
2022
+ return __dataclass__cls( # noqa
2023
+ chat=self.chat,
2024
+ )
2025
+
2026
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
2027
+ if '__copy__' in __dataclass__cls.__dict__:
2028
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
2029
+ setattr(__dataclass__cls, '__copy__', __copy__)
2030
+
2031
+ def __eq__(self, other):
2032
+ if self is other:
2033
+ return True
2034
+ if self.__class__ is not other.__class__:
2035
+ return NotImplemented
2036
+ return (
2037
+ self.chat == other.chat
2038
+ )
2039
+
2040
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
2041
+ if '__eq__' in __dataclass__cls.__dict__:
2042
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
2043
+ setattr(__dataclass__cls, '__eq__', __eq__)
2044
+
2045
+ __dataclass___setattr_frozen_fields = {
2046
+ 'chat',
2047
+ }
2048
+
2049
+ def __setattr__(self, name, value):
2050
+ if (
2051
+ type(self) is __dataclass__cls
2052
+ or name in __dataclass___setattr_frozen_fields
2053
+ ):
2054
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2055
+ super(__dataclass__cls, self).__setattr__(name, value)
2056
+
2057
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
2058
+ if '__setattr__' in __dataclass__cls.__dict__:
2059
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
2060
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
2061
+
2062
+ __dataclass___delattr_frozen_fields = {
2063
+ 'chat',
2064
+ }
2065
+
2066
+ def __delattr__(self, name):
2067
+ if (
2068
+ type(self) is __dataclass__cls
2069
+ or name in __dataclass___delattr_frozen_fields
2070
+ ):
2071
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2072
+ super(__dataclass__cls, self).__delattr__(name)
2073
+
2074
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
2075
+ if '__delattr__' in __dataclass__cls.__dict__:
2076
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
2077
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
2078
+
2079
+ def __hash__(self):
2080
+ return hash((
2081
+ self.chat,
2082
+ ))
2083
+
2084
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
2085
+ setattr(__dataclass__cls, '__hash__', __hash__)
2086
+
2087
+ def __init__(
2088
+ self,
2089
+ chat: __dataclass__init__fields__0__annotation,
2090
+ ) -> __dataclass__None:
2091
+ __dataclass__object_setattr(self, 'chat', chat)
2092
+
2093
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2094
+ if '__init__' in __dataclass__cls.__dict__:
2095
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
2096
+ setattr(__dataclass__cls, '__init__', __init__)
2097
+
2098
+ @__dataclass___recursive_repr()
2099
+ def __repr__(self):
2100
+ parts = []
2101
+ parts.append(f"chat={self.chat!r}")
1859
2102
  return (
1860
2103
  f"{self.__class__.__qualname__}("
1861
2104
  f"{', '.join(parts)}"
@@ -1890,7 +2133,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1890
2133
  '__dataclass__init__fields__1__annotation',
1891
2134
  ),
1892
2135
  cls_names=(
1893
- ('ommlds.cli.sessions.chat.driver', 'ChatPhaseCallback'),
2136
+ ('ommlds.cli.sessions.chat.agents.agent', 'ChatPhaseCallback'),
1894
2137
  ),
1895
2138
  )
1896
2139
  def _process_dataclass__927265170439340895560333250bc087fa726eff():
@@ -2058,7 +2301,7 @@ def _process_dataclass__927265170439340895560333250bc087fa726eff():
2058
2301
  '__dataclass__init__fields__3__default',
2059
2302
  ),
2060
2303
  cls_names=(
2061
- ('ommlds.cli.sessions.chat.driver', 'ChatState'),
2304
+ ('ommlds.cli.sessions.chat.agents.agent', 'ChatState'),
2062
2305
  ),
2063
2306
  )
2064
2307
  def _process_dataclass__9f7e26a87dd163b610f38caa1ce9b3c6356e632a():
@@ -2214,75 +2457,32 @@ def _process_dataclass__9f7e26a87dd163b610f38caa1ce9b3c6356e632a():
2214
2457
 
2215
2458
  @_register(
2216
2459
  plan_repr=(
2217
- "Plans(tup=(CopyPlan(fields=('backend', 'ai', 'state', 'user', 'rendering', 'interface', 'tools')), EqPlan(fiel"
2218
- "ds=('backend', 'ai', 'state', 'user', 'rendering', 'interface', 'tools')), FrozenPlan(fields=('backend', 'ai',"
2219
- " 'state', 'user', 'rendering', 'interface', 'tools', 'configurable_cls'), allow_dynamic_dunder_attrs=False), H"
2220
- "ashPlan(action='add', fields=('backend', 'ai', 'state', 'user', 'rendering', 'interface', 'tools'), cache=Fals"
2221
- "e), InitPlan(fields=(InitPlan.Field(name='backend', annotation=OpRef(name='init.fields.0.annotation'), default"
2222
- "=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.IN"
2223
- "STANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='ai', annotation=OpRef(name='init.fi"
2224
- "elds.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=Fa"
2225
- "lse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='state',"
2226
- " annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_facto"
2227
- "ry=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None"
2228
- "), InitPlan.Field(name='user', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fie"
2229
- "lds.3.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
2230
- "validate=None, check_type=None), InitPlan.Field(name='rendering', annotation=OpRef(name='init.fields.4.annotat"
2231
- "ion'), default=OpRef(name='init.fields.4.default'), default_factory=None, init=True, override=False, field_typ"
2232
- "e=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='interface', annotatio"
2233
- "n=OpRef(name='init.fields.5.annotation'), default=OpRef(name='init.fields.5.default'), default_factory=None, i"
2234
- "nit=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPla"
2235
- "n.Field(name='tools', annotation=OpRef(name='init.fields.6.annotation'), default=OpRef(name='init.fields.6.def"
2236
- "ault'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate="
2237
- "None, check_type=None), InitPlan.Field(name='configurable_cls', annotation=OpRef(name='init.fields.7.annotatio"
2238
- "n'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.CLASS_VAR, coerce=Non"
2239
- "e, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('backend', 'ai', 'state"
2240
- "', 'user', 'rendering', 'interface', 'tools'), frozen=True, slots=False, post_init_params=None, init_fns=(), v"
2241
- "alidate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='backend', kw_only=True, fn=None), ReprPlan.Field(name='"
2242
- "ai', kw_only=True, fn=None), ReprPlan.Field(name='state', kw_only=True, fn=None), ReprPlan.Field(name='user', "
2243
- "kw_only=True, fn=None), ReprPlan.Field(name='rendering', kw_only=True, fn=None), ReprPlan.Field(name='interfac"
2244
- "e', kw_only=True, fn=None), ReprPlan.Field(name='tools', kw_only=True, fn=None)), id=False, terse=False, defau"
2245
- "lt_fn=None)))"
2460
+ "Plans(tup=(CopyPlan(fields=('version', 'payload')), EqPlan(fields=('version', 'payload')), FrozenPlan(fields=("
2461
+ "'version', 'payload'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('version', 'payload')"
2462
+ ", cache=False), InitPlan(fields=(InitPlan.Field(name='version', annotation=OpRef(name='init.fields.0.annotatio"
2463
+ "n'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None"
2464
+ ", validate=None, check_type=None), InitPlan.Field(name='payload', annotation=OpRef(name='init.fields.1.annotat"
2465
+ "ion'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=No"
2466
+ "ne, validate=None, check_type=None)), self_param='self', std_params=('version', 'payload'), kw_only_params=(),"
2467
+ " frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Fie"
2468
+ "ld(name='version', kw_only=False, fn=None), ReprPlan.Field(name='payload', kw_only=False, fn=None)), id=False,"
2469
+ " terse=False, default_fn=None)))"
2246
2470
  ),
2247
- plan_repr_sha1='a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1',
2471
+ plan_repr_sha1='be0d400bb9a95f7b7d493de698bc2bcac269b46e',
2248
2472
  op_ref_idents=(
2249
2473
  '__dataclass__init__fields__0__annotation',
2250
- '__dataclass__init__fields__0__default',
2251
2474
  '__dataclass__init__fields__1__annotation',
2252
- '__dataclass__init__fields__1__default',
2253
- '__dataclass__init__fields__2__annotation',
2254
- '__dataclass__init__fields__2__default',
2255
- '__dataclass__init__fields__3__annotation',
2256
- '__dataclass__init__fields__3__default',
2257
- '__dataclass__init__fields__4__annotation',
2258
- '__dataclass__init__fields__4__default',
2259
- '__dataclass__init__fields__5__annotation',
2260
- '__dataclass__init__fields__5__default',
2261
- '__dataclass__init__fields__6__annotation',
2262
- '__dataclass__init__fields__6__default',
2263
2475
  ),
2264
2476
  cls_names=(
2265
- ('ommlds.cli.sessions.chat.session', 'ChatSession.Config'),
2477
+ ('ommlds.cli.sessions.chat.agents.state.storage', 'MarshaledState'),
2266
2478
  ),
2267
2479
  )
2268
- def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2480
+ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
2269
2481
  def _process_dataclass(
2270
2482
  *,
2271
2483
  __dataclass__cls,
2272
2484
  __dataclass__init__fields__0__annotation,
2273
- __dataclass__init__fields__0__default,
2274
2485
  __dataclass__init__fields__1__annotation,
2275
- __dataclass__init__fields__1__default,
2276
- __dataclass__init__fields__2__annotation,
2277
- __dataclass__init__fields__2__default,
2278
- __dataclass__init__fields__3__annotation,
2279
- __dataclass__init__fields__3__default,
2280
- __dataclass__init__fields__4__annotation,
2281
- __dataclass__init__fields__4__default,
2282
- __dataclass__init__fields__5__annotation,
2283
- __dataclass__init__fields__5__default,
2284
- __dataclass__init__fields__6__annotation,
2285
- __dataclass__init__fields__6__default,
2286
2486
  __dataclass__FieldFnValidationError, # noqa
2287
2487
  __dataclass__FieldTypeValidationError, # noqa
2288
2488
  __dataclass__FnValidationError, # noqa
@@ -2301,13 +2501,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2301
2501
  if self.__class__ is not __dataclass__cls:
2302
2502
  raise TypeError(self)
2303
2503
  return __dataclass__cls( # noqa
2304
- backend=self.backend,
2305
- ai=self.ai,
2306
- state=self.state,
2307
- user=self.user,
2308
- rendering=self.rendering,
2309
- interface=self.interface,
2310
- tools=self.tools,
2504
+ version=self.version,
2505
+ payload=self.payload,
2311
2506
  )
2312
2507
 
2313
2508
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2321,13 +2516,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2321
2516
  if self.__class__ is not other.__class__:
2322
2517
  return NotImplemented
2323
2518
  return (
2324
- self.backend == other.backend and
2325
- self.ai == other.ai and
2326
- self.state == other.state and
2327
- self.user == other.user and
2328
- self.rendering == other.rendering and
2329
- self.interface == other.interface and
2330
- self.tools == other.tools
2519
+ self.version == other.version and
2520
+ self.payload == other.payload
2331
2521
  )
2332
2522
 
2333
2523
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2336,14 +2526,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2336
2526
  setattr(__dataclass__cls, '__eq__', __eq__)
2337
2527
 
2338
2528
  __dataclass___setattr_frozen_fields = {
2339
- 'backend',
2340
- 'ai',
2341
- 'state',
2342
- 'user',
2343
- 'rendering',
2344
- 'interface',
2345
- 'tools',
2346
- 'configurable_cls',
2529
+ 'version',
2530
+ 'payload',
2347
2531
  }
2348
2532
 
2349
2533
  def __setattr__(self, name, value):
@@ -2360,14 +2544,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2360
2544
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2361
2545
 
2362
2546
  __dataclass___delattr_frozen_fields = {
2363
- 'backend',
2364
- 'ai',
2365
- 'state',
2366
- 'user',
2367
- 'rendering',
2368
- 'interface',
2369
- 'tools',
2370
- 'configurable_cls',
2547
+ 'version',
2548
+ 'payload',
2371
2549
  }
2372
2550
 
2373
2551
  def __delattr__(self, name):
@@ -2385,13 +2563,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2385
2563
 
2386
2564
  def __hash__(self):
2387
2565
  return hash((
2388
- self.backend,
2389
- self.ai,
2390
- self.state,
2391
- self.user,
2392
- self.rendering,
2393
- self.interface,
2394
- self.tools,
2566
+ self.version,
2567
+ self.payload,
2395
2568
  ))
2396
2569
 
2397
2570
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2399,22 +2572,11 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2399
2572
 
2400
2573
  def __init__(
2401
2574
  self,
2402
- *,
2403
- backend: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
2404
- ai: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
2405
- state: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
2406
- user: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
2407
- rendering: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
2408
- interface: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__default,
2409
- tools: __dataclass__init__fields__6__annotation = __dataclass__init__fields__6__default,
2575
+ version: __dataclass__init__fields__0__annotation,
2576
+ payload: __dataclass__init__fields__1__annotation,
2410
2577
  ) -> __dataclass__None:
2411
- __dataclass__object_setattr(self, 'backend', backend)
2412
- __dataclass__object_setattr(self, 'ai', ai)
2413
- __dataclass__object_setattr(self, 'state', state)
2414
- __dataclass__object_setattr(self, 'user', user)
2415
- __dataclass__object_setattr(self, 'rendering', rendering)
2416
- __dataclass__object_setattr(self, 'interface', interface)
2417
- __dataclass__object_setattr(self, 'tools', tools)
2578
+ __dataclass__object_setattr(self, 'version', version)
2579
+ __dataclass__object_setattr(self, 'payload', payload)
2418
2580
 
2419
2581
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2420
2582
  if '__init__' in __dataclass__cls.__dict__:
@@ -2424,13 +2586,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2424
2586
  @__dataclass___recursive_repr()
2425
2587
  def __repr__(self):
2426
2588
  parts = []
2427
- parts.append(f"backend={self.backend!r}")
2428
- parts.append(f"ai={self.ai!r}")
2429
- parts.append(f"state={self.state!r}")
2430
- parts.append(f"user={self.user!r}")
2431
- parts.append(f"rendering={self.rendering!r}")
2432
- parts.append(f"interface={self.interface!r}")
2433
- parts.append(f"tools={self.tools!r}")
2589
+ parts.append(f"version={self.version!r}")
2590
+ parts.append(f"payload={self.payload!r}")
2434
2591
  return (
2435
2592
  f"{self.__class__.__qualname__}("
2436
2593
  f"{', '.join(parts)}"
@@ -2463,7 +2620,7 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2463
2620
  '__dataclass__init__fields__1__annotation',
2464
2621
  ),
2465
2622
  cls_names=(
2466
- ('ommlds.cli.sessions.chat.tools.inject', 'ToolSetBinder'),
2623
+ ('ommlds.cli.sessions.chat.agents.tools.inject', 'ToolSetBinder'),
2467
2624
  ),
2468
2625
  )
2469
2626
  def _process_dataclass__0f6d91dd6a878d827836d961e4683d55b1c9095a():
@@ -2591,6 +2748,178 @@ def _process_dataclass__0f6d91dd6a878d827836d961e4683d55b1c9095a():
2591
2748
  return _process_dataclass
2592
2749
 
2593
2750
 
2751
+ @_register(
2752
+ plan_repr=(
2753
+ "Plans(tup=(CopyPlan(fields=('agent', 'interface', 'rendering')), EqPlan(fields=('agent', 'interface', 'renderi"
2754
+ "ng')), FrozenPlan(fields=('agent', 'interface', 'rendering', 'configurable_cls'), allow_dynamic_dunder_attrs=F"
2755
+ "alse), HashPlan(action='add', fields=('agent', 'interface', 'rendering'), cache=False), InitPlan(fields=(InitP"
2756
+ "lan.Field(name='agent', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.d"
2757
+ "efault'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validat"
2758
+ "e=None, check_type=None), InitPlan.Field(name='interface', annotation=OpRef(name='init.fields.1.annotation'), "
2759
+ "default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=Field"
2760
+ "Type.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='rendering', annotation=OpRef"
2761
+ "(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=Tru"
2762
+ "e, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field"
2763
+ "(name='configurable_cls', annotation=OpRef(name='init.fields.3.annotation'), default=None, default_factory=Non"
2764
+ "e, init=True, override=False, field_type=FieldType.CLASS_VAR, coerce=None, validate=None, check_type=None)), s"
2765
+ "elf_param='self', std_params=(), kw_only_params=('agent', 'interface', 'rendering'), frozen=True, slots=False,"
2766
+ " post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='agent', kw_only=T"
2767
+ "rue, fn=None), ReprPlan.Field(name='interface', kw_only=True, fn=None), ReprPlan.Field(name='rendering', kw_on"
2768
+ "ly=True, fn=None)), id=False, terse=False, default_fn=None)))"
2769
+ ),
2770
+ plan_repr_sha1='c7ef8f206aa733e203b02aa86b11fa4af1f182b1',
2771
+ op_ref_idents=(
2772
+ '__dataclass__init__fields__0__annotation',
2773
+ '__dataclass__init__fields__0__default',
2774
+ '__dataclass__init__fields__1__annotation',
2775
+ '__dataclass__init__fields__1__default',
2776
+ '__dataclass__init__fields__2__annotation',
2777
+ '__dataclass__init__fields__2__default',
2778
+ ),
2779
+ cls_names=(
2780
+ ('ommlds.cli.sessions.chat.session', 'ChatSession.Config'),
2781
+ ),
2782
+ )
2783
+ def _process_dataclass__c7ef8f206aa733e203b02aa86b11fa4af1f182b1():
2784
+ def _process_dataclass(
2785
+ *,
2786
+ __dataclass__cls,
2787
+ __dataclass__init__fields__0__annotation,
2788
+ __dataclass__init__fields__0__default,
2789
+ __dataclass__init__fields__1__annotation,
2790
+ __dataclass__init__fields__1__default,
2791
+ __dataclass__init__fields__2__annotation,
2792
+ __dataclass__init__fields__2__default,
2793
+ __dataclass__FieldFnValidationError, # noqa
2794
+ __dataclass__FieldTypeValidationError, # noqa
2795
+ __dataclass__FnValidationError, # noqa
2796
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
2797
+ __dataclass__FunctionType=types.FunctionType, # noqa
2798
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
2799
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
2800
+ __dataclass__None=None, # noqa
2801
+ __dataclass__TypeError=TypeError, # noqa
2802
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
2803
+ __dataclass__isinstance=isinstance, # noqa
2804
+ __dataclass__object_setattr=object.__setattr__, # noqa
2805
+ __dataclass__property=property, # noqa
2806
+ ):
2807
+ def __copy__(self):
2808
+ if self.__class__ is not __dataclass__cls:
2809
+ raise TypeError(self)
2810
+ return __dataclass__cls( # noqa
2811
+ agent=self.agent,
2812
+ interface=self.interface,
2813
+ rendering=self.rendering,
2814
+ )
2815
+
2816
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
2817
+ if '__copy__' in __dataclass__cls.__dict__:
2818
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
2819
+ setattr(__dataclass__cls, '__copy__', __copy__)
2820
+
2821
+ def __eq__(self, other):
2822
+ if self is other:
2823
+ return True
2824
+ if self.__class__ is not other.__class__:
2825
+ return NotImplemented
2826
+ return (
2827
+ self.agent == other.agent and
2828
+ self.interface == other.interface and
2829
+ self.rendering == other.rendering
2830
+ )
2831
+
2832
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
2833
+ if '__eq__' in __dataclass__cls.__dict__:
2834
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
2835
+ setattr(__dataclass__cls, '__eq__', __eq__)
2836
+
2837
+ __dataclass___setattr_frozen_fields = {
2838
+ 'agent',
2839
+ 'interface',
2840
+ 'rendering',
2841
+ 'configurable_cls',
2842
+ }
2843
+
2844
+ def __setattr__(self, name, value):
2845
+ if (
2846
+ type(self) is __dataclass__cls
2847
+ or name in __dataclass___setattr_frozen_fields
2848
+ ):
2849
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2850
+ super(__dataclass__cls, self).__setattr__(name, value)
2851
+
2852
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
2853
+ if '__setattr__' in __dataclass__cls.__dict__:
2854
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
2855
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
2856
+
2857
+ __dataclass___delattr_frozen_fields = {
2858
+ 'agent',
2859
+ 'interface',
2860
+ 'rendering',
2861
+ 'configurable_cls',
2862
+ }
2863
+
2864
+ def __delattr__(self, name):
2865
+ if (
2866
+ type(self) is __dataclass__cls
2867
+ or name in __dataclass___delattr_frozen_fields
2868
+ ):
2869
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2870
+ super(__dataclass__cls, self).__delattr__(name)
2871
+
2872
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
2873
+ if '__delattr__' in __dataclass__cls.__dict__:
2874
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
2875
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
2876
+
2877
+ def __hash__(self):
2878
+ return hash((
2879
+ self.agent,
2880
+ self.interface,
2881
+ self.rendering,
2882
+ ))
2883
+
2884
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
2885
+ setattr(__dataclass__cls, '__hash__', __hash__)
2886
+
2887
+ def __init__(
2888
+ self,
2889
+ *,
2890
+ agent: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
2891
+ interface: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
2892
+ rendering: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
2893
+ ) -> __dataclass__None:
2894
+ __dataclass__object_setattr(self, 'agent', agent)
2895
+ __dataclass__object_setattr(self, 'interface', interface)
2896
+ __dataclass__object_setattr(self, 'rendering', rendering)
2897
+
2898
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2899
+ if '__init__' in __dataclass__cls.__dict__:
2900
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
2901
+ setattr(__dataclass__cls, '__init__', __init__)
2902
+
2903
+ @__dataclass___recursive_repr()
2904
+ def __repr__(self):
2905
+ parts = []
2906
+ parts.append(f"agent={self.agent!r}")
2907
+ parts.append(f"interface={self.interface!r}")
2908
+ parts.append(f"rendering={self.rendering!r}")
2909
+ return (
2910
+ f"{self.__class__.__qualname__}("
2911
+ f"{', '.join(parts)}"
2912
+ f")"
2913
+ )
2914
+
2915
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
2916
+ if '__repr__' in __dataclass__cls.__dict__:
2917
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
2918
+ setattr(__dataclass__cls, '__repr__', __repr__)
2919
+
2920
+ return _process_dataclass
2921
+
2922
+
2594
2923
  @_register(
2595
2924
  plan_repr=(
2596
2925
  "Plans(tup=(CopyPlan(fields=('content', 'backend')), EqPlan(fields=('content', 'backend')), FrozenPlan(fields=("