ommlds 0.0.0.dev489__py3-none-any.whl → 0.0.0.dev491__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 (99) hide show
  1. ommlds/.omlish-manifests.json +3 -3
  2. ommlds/README.md +11 -0
  3. ommlds/__about__.py +1 -1
  4. ommlds/backends/ollama/_dataclasses.py +53 -23
  5. ommlds/backends/ollama/protocol.py +3 -0
  6. ommlds/cli/_dataclasses.py +835 -356
  7. ommlds/cli/main.py +80 -41
  8. ommlds/cli/rendering/types.py +6 -0
  9. ommlds/cli/sessions/chat/configs.py +4 -12
  10. ommlds/cli/sessions/chat/{chat → drivers}/ai/configs.py +3 -1
  11. ommlds/cli/sessions/chat/drivers/ai/events.py +57 -0
  12. ommlds/cli/sessions/chat/{chat → drivers}/ai/inject.py +10 -3
  13. ommlds/cli/sessions/chat/{chat → drivers}/ai/rendering.py +1 -1
  14. ommlds/cli/sessions/chat/{chat → drivers}/ai/services.py +1 -1
  15. ommlds/cli/sessions/chat/{chat → drivers}/ai/tools.py +1 -1
  16. ommlds/cli/sessions/chat/{chat → drivers}/ai/types.py +9 -0
  17. ommlds/cli/sessions/chat/drivers/configs.py +25 -0
  18. ommlds/cli/sessions/chat/drivers/driver.py +49 -0
  19. ommlds/cli/sessions/chat/drivers/events/inject.py +27 -0
  20. ommlds/cli/sessions/chat/drivers/events/injection.py +14 -0
  21. ommlds/cli/sessions/chat/drivers/events/manager.py +16 -0
  22. ommlds/cli/sessions/chat/drivers/events/types.py +38 -0
  23. ommlds/cli/sessions/chat/drivers/inject.py +69 -0
  24. ommlds/cli/sessions/chat/{chat → drivers}/state/inject.py +3 -3
  25. ommlds/cli/sessions/chat/{chat → drivers}/state/types.py +1 -1
  26. ommlds/cli/sessions/chat/{tools → drivers/tools}/configs.py +2 -2
  27. ommlds/cli/sessions/chat/drivers/tools/confirmation.py +44 -0
  28. ommlds/cli/sessions/chat/{tools → drivers/tools}/execution.py +3 -4
  29. ommlds/cli/sessions/chat/{tools → drivers/tools}/fs/inject.py +3 -3
  30. ommlds/cli/sessions/chat/{tools → drivers/tools}/inject.py +4 -12
  31. ommlds/cli/sessions/chat/{tools → drivers/tools}/injection.py +1 -1
  32. ommlds/cli/sessions/chat/{tools → drivers/tools}/rendering.py +3 -3
  33. ommlds/cli/sessions/chat/{tools → drivers/tools}/todo/inject.py +3 -3
  34. ommlds/cli/sessions/chat/{tools → drivers/tools}/weather/tools.py +1 -1
  35. ommlds/cli/sessions/chat/drivers/types.py +10 -0
  36. ommlds/cli/sessions/chat/{chat → drivers}/user/configs.py +0 -2
  37. ommlds/cli/sessions/chat/drivers/user/inject.py +40 -0
  38. ommlds/cli/sessions/chat/inject.py +4 -32
  39. ommlds/cli/sessions/chat/interfaces/bare/inject.py +61 -0
  40. ommlds/cli/sessions/chat/interfaces/bare/interactive.py +41 -0
  41. ommlds/cli/sessions/chat/{interface/bare/interface.py → interfaces/bare/oneshot.py} +5 -3
  42. ommlds/cli/sessions/chat/{tools/confirmation.py → interfaces/bare/tools.py} +3 -22
  43. ommlds/cli/sessions/chat/{interface → interfaces}/bare/user.py +1 -1
  44. ommlds/cli/sessions/chat/{interface → interfaces}/configs.py +8 -0
  45. ommlds/cli/sessions/chat/interfaces/textual/__init__.py +0 -0
  46. ommlds/cli/sessions/chat/interfaces/textual/app.py +217 -0
  47. ommlds/cli/sessions/chat/interfaces/textual/inject.py +67 -0
  48. ommlds/cli/sessions/chat/{interface → interfaces}/textual/interface.py +0 -3
  49. ommlds/cli/sessions/chat/interfaces/textual/styles/__init__.py +29 -0
  50. ommlds/cli/sessions/chat/interfaces/textual/styles/input.tcss +51 -0
  51. ommlds/cli/sessions/chat/interfaces/textual/styles/markdown.tcss +7 -0
  52. ommlds/cli/sessions/chat/interfaces/textual/styles/messages.tcss +104 -0
  53. ommlds/cli/sessions/chat/interfaces/textual/widgets/__init__.py +0 -0
  54. ommlds/cli/sessions/chat/interfaces/textual/widgets/input.py +36 -0
  55. ommlds/cli/sessions/chat/interfaces/textual/widgets/messages.py +114 -0
  56. ommlds/cli/sessions/chat/session.py +1 -1
  57. ommlds/minichain/backends/impls/ollama/chat.py +24 -56
  58. ommlds/minichain/backends/impls/ollama/protocol.py +144 -0
  59. ommlds/nanochat/rustbpe/README.md +9 -0
  60. {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/METADATA +6 -6
  61. {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/RECORD +91 -73
  62. ommlds/cli/sessions/chat/chat/user/inject.py +0 -52
  63. ommlds/cli/sessions/chat/chat/user/oneshot.py +0 -25
  64. ommlds/cli/sessions/chat/chat/user/types.py +0 -15
  65. ommlds/cli/sessions/chat/driver.py +0 -43
  66. ommlds/cli/sessions/chat/interface/bare/inject.py +0 -32
  67. ommlds/cli/sessions/chat/interface/textual/app.py +0 -191
  68. ommlds/cli/sessions/chat/interface/textual/inject.py +0 -27
  69. ommlds/cli/sessions/chat/interface/textual/user.py +0 -20
  70. /ommlds/cli/sessions/chat/{chat → drivers}/__init__.py +0 -0
  71. /ommlds/cli/sessions/chat/{chat → drivers}/ai/__init__.py +0 -0
  72. /ommlds/cli/sessions/chat/{chat → drivers}/ai/injection.py +0 -0
  73. /ommlds/cli/sessions/chat/{chat/state → drivers/events}/__init__.py +0 -0
  74. /ommlds/cli/sessions/chat/{chat/user → drivers/phases}/__init__.py +0 -0
  75. /ommlds/cli/sessions/chat/{phases → drivers/phases}/inject.py +0 -0
  76. /ommlds/cli/sessions/chat/{phases → drivers/phases}/injection.py +0 -0
  77. /ommlds/cli/sessions/chat/{phases → drivers/phases}/manager.py +0 -0
  78. /ommlds/cli/sessions/chat/{phases → drivers/phases}/types.py +0 -0
  79. /ommlds/cli/sessions/chat/{interface → drivers/state}/__init__.py +0 -0
  80. /ommlds/cli/sessions/chat/{chat → drivers}/state/configs.py +0 -0
  81. /ommlds/cli/sessions/chat/{chat → drivers}/state/inmemory.py +0 -0
  82. /ommlds/cli/sessions/chat/{chat → drivers}/state/storage.py +0 -0
  83. /ommlds/cli/sessions/chat/{interface/bare → drivers/tools}/__init__.py +0 -0
  84. /ommlds/cli/sessions/chat/{interface/textual → drivers/tools/fs}/__init__.py +0 -0
  85. /ommlds/cli/sessions/chat/{tools → drivers/tools}/fs/configs.py +0 -0
  86. /ommlds/cli/sessions/chat/{phases → drivers/tools/todo}/__init__.py +0 -0
  87. /ommlds/cli/sessions/chat/{tools → drivers/tools}/todo/configs.py +0 -0
  88. /ommlds/cli/sessions/chat/{tools → drivers/tools/weather}/__init__.py +0 -0
  89. /ommlds/cli/sessions/chat/{tools → drivers/tools}/weather/configs.py +0 -0
  90. /ommlds/cli/sessions/chat/{tools → drivers/tools}/weather/inject.py +0 -0
  91. /ommlds/cli/sessions/chat/{tools/fs → drivers/user}/__init__.py +0 -0
  92. /ommlds/cli/sessions/chat/{tools/todo → interfaces}/__init__.py +0 -0
  93. /ommlds/cli/sessions/chat/{tools/weather → interfaces/bare}/__init__.py +0 -0
  94. /ommlds/cli/sessions/chat/{interface → interfaces}/base.py +0 -0
  95. /ommlds/cli/sessions/chat/{interface → interfaces}/inject.py +0 -0
  96. {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/WHEEL +0 -0
  97. {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/entry_points.txt +0 -0
  98. {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/licenses/LICENSE +0 -0
  99. {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/top_level.txt +0 -0
@@ -25,22 +25,22 @@ 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=('stream', 'verbose', 'enable_tools')), EqPlan(fields=('stream', 'verbose', 'enable"
29
+ "_tools')), FrozenPlan(fields=('stream', 'verbose', 'enable_tools'), allow_dynamic_dunder_attrs=False), HashPla"
30
+ "n(action='add', fields=('stream', 'verbose', 'enable_tools'), cache=False), InitPlan(fields=(InitPlan.Field(na"
31
+ "me='stream', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), d"
32
+ "efault_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, che"
33
+ "ck_type=None), InitPlan.Field(name='verbose', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef"
34
+ "(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE"
35
+ ", coerce=None, validate=None, check_type=None), InitPlan.Field(name='enable_tools', annotation=OpRef(name='ini"
36
+ "t.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, overrid"
37
+ "e=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_"
38
+ "params=(), kw_only_params=('stream', 'verbose', 'enable_tools'), frozen=True, slots=False, post_init_params=No"
39
+ "ne, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='stream', kw_only=True, fn=None), Repr"
40
+ "Plan.Field(name='verbose', kw_only=True, fn=None), ReprPlan.Field(name='enable_tools', kw_only=True, fn=None))"
41
+ ", id=False, terse=False, default_fn=None)))"
42
42
  ),
43
- plan_repr_sha1='034c3027d32a8d78f606c678892cbfe84a8f230f',
43
+ plan_repr_sha1='0af757919efd30aee522fc0804dd63f932b30d84',
44
44
  op_ref_idents=(
45
45
  '__dataclass__init__fields__0__annotation',
46
46
  '__dataclass__init__fields__0__default',
@@ -53,7 +53,7 @@ def _register(**kwargs):
53
53
  ('ommlds.cli.main', 'AiConfig'),
54
54
  ),
55
55
  )
56
- def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
56
+ def _process_dataclass__0af757919efd30aee522fc0804dd63f932b30d84():
57
57
  def _process_dataclass(
58
58
  *,
59
59
  __dataclass__cls,
@@ -82,7 +82,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
82
82
  raise TypeError(self)
83
83
  return __dataclass__cls( # noqa
84
84
  stream=self.stream,
85
- silent=self.silent,
85
+ verbose=self.verbose,
86
86
  enable_tools=self.enable_tools,
87
87
  )
88
88
 
@@ -98,7 +98,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
98
98
  return NotImplemented
99
99
  return (
100
100
  self.stream == other.stream and
101
- self.silent == other.silent and
101
+ self.verbose == other.verbose and
102
102
  self.enable_tools == other.enable_tools
103
103
  )
104
104
 
@@ -109,7 +109,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
109
109
 
110
110
  __dataclass___setattr_frozen_fields = {
111
111
  'stream',
112
- 'silent',
112
+ 'verbose',
113
113
  'enable_tools',
114
114
  }
115
115
 
@@ -128,7 +128,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
128
128
 
129
129
  __dataclass___delattr_frozen_fields = {
130
130
  'stream',
131
- 'silent',
131
+ 'verbose',
132
132
  'enable_tools',
133
133
  }
134
134
 
@@ -148,7 +148,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
148
148
  def __hash__(self):
149
149
  return hash((
150
150
  self.stream,
151
- self.silent,
151
+ self.verbose,
152
152
  self.enable_tools,
153
153
  ))
154
154
 
@@ -159,11 +159,11 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
159
159
  self,
160
160
  *,
161
161
  stream: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
162
- silent: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
162
+ verbose: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
163
163
  enable_tools: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
164
164
  ) -> __dataclass__None:
165
165
  __dataclass__object_setattr(self, 'stream', stream)
166
- __dataclass__object_setattr(self, 'silent', silent)
166
+ __dataclass__object_setattr(self, 'verbose', verbose)
167
167
  __dataclass__object_setattr(self, 'enable_tools', enable_tools)
168
168
 
169
169
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
@@ -175,7 +175,7 @@ def _process_dataclass__034c3027d32a8d78f606c678892cbfe84a8f230f():
175
175
  def __repr__(self):
176
176
  parts = []
177
177
  parts.append(f"stream={self.stream!r}")
178
- parts.append(f"silent={self.silent!r}")
178
+ parts.append(f"verbose={self.verbose!r}")
179
179
  parts.append(f"enable_tools={self.enable_tools!r}")
180
180
  return (
181
181
  f"{self.__class__.__qualname__}("
@@ -330,34 +330,22 @@ def _process_dataclass__fa5665ecddac4bdf52a6a47db3b5b5362a8b3c7a():
330
330
 
331
331
  @_register(
332
332
  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)))"
333
+ "Plans(tup=(CopyPlan(fields=('driver', 'interface', 'rendering')), EqPlan(fields=('driver', 'interface', 'rende"
334
+ "ring')), FrozenPlan(fields=('driver', 'interface', 'rendering'), allow_dynamic_dunder_attrs=False), HashPlan(a"
335
+ "ction='add', fields=('driver', 'interface', 'rendering'), cache=False), InitPlan(fields=(InitPlan.Field(name='"
336
+ "driver', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), defau"
337
+ "lt_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_t"
338
+ "ype=None), InitPlan.Field(name='interface', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(n"
339
+ "ame='init.fields.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, "
340
+ "coerce=None, validate=None, check_type=None), InitPlan.Field(name='rendering', annotation=OpRef(name='init.fie"
341
+ "lds.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=Fal"
342
+ "se, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='self', std_param"
343
+ "s=(), kw_only_params=('driver', 'interface', 'rendering'), frozen=True, slots=False, post_init_params=None, in"
344
+ "it_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='driver', kw_only=True, fn=None), ReprPlan.F"
345
+ "ield(name='interface', kw_only=True, fn=None), ReprPlan.Field(name='rendering', kw_only=True, fn=None)), id=Fa"
346
+ "lse, terse=False, default_fn=None)))"
359
347
  ),
360
- plan_repr_sha1='2180520d95d2485daaddf191f085f81268419e67',
348
+ plan_repr_sha1='103bad1f2af413714bd23ee2d6a5dffda2e6163d',
361
349
  op_ref_idents=(
362
350
  '__dataclass__init__fields__0__annotation',
363
351
  '__dataclass__init__fields__0__default',
@@ -365,20 +353,12 @@ def _process_dataclass__fa5665ecddac4bdf52a6a47db3b5b5362a8b3c7a():
365
353
  '__dataclass__init__fields__1__default',
366
354
  '__dataclass__init__fields__2__annotation',
367
355
  '__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
356
  ),
377
357
  cls_names=(
378
358
  ('ommlds.cli.main', 'ChatConfig'),
379
359
  ),
380
360
  )
381
- def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
361
+ def _process_dataclass__103bad1f2af413714bd23ee2d6a5dffda2e6163d():
382
362
  def _process_dataclass(
383
363
  *,
384
364
  __dataclass__cls,
@@ -388,14 +368,6 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
388
368
  __dataclass__init__fields__1__default,
389
369
  __dataclass__init__fields__2__annotation,
390
370
  __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
371
  __dataclass__FieldFnValidationError, # noqa
400
372
  __dataclass__FieldTypeValidationError, # noqa
401
373
  __dataclass__FnValidationError, # noqa
@@ -414,13 +386,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
414
386
  if self.__class__ is not __dataclass__cls:
415
387
  raise TypeError(self)
416
388
  return __dataclass__cls( # noqa
417
- backend=self.backend,
418
- ai=self.ai,
419
- state=self.state,
420
- user=self.user,
421
- rendering=self.rendering,
389
+ driver=self.driver,
422
390
  interface=self.interface,
423
- tools=self.tools,
391
+ rendering=self.rendering,
424
392
  )
425
393
 
426
394
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -434,13 +402,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
434
402
  if self.__class__ is not other.__class__:
435
403
  return NotImplemented
436
404
  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
405
+ self.driver == other.driver and
442
406
  self.interface == other.interface and
443
- self.tools == other.tools
407
+ self.rendering == other.rendering
444
408
  )
445
409
 
446
410
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -449,13 +413,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
449
413
  setattr(__dataclass__cls, '__eq__', __eq__)
450
414
 
451
415
  __dataclass___setattr_frozen_fields = {
452
- 'backend',
453
- 'ai',
454
- 'state',
455
- 'user',
456
- 'rendering',
416
+ 'driver',
457
417
  'interface',
458
- 'tools',
418
+ 'rendering',
459
419
  }
460
420
 
461
421
  def __setattr__(self, name, value):
@@ -472,13 +432,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
472
432
  setattr(__dataclass__cls, '__setattr__', __setattr__)
473
433
 
474
434
  __dataclass___delattr_frozen_fields = {
475
- 'backend',
476
- 'ai',
477
- 'state',
478
- 'user',
479
- 'rendering',
435
+ 'driver',
480
436
  'interface',
481
- 'tools',
437
+ 'rendering',
482
438
  }
483
439
 
484
440
  def __delattr__(self, name):
@@ -496,13 +452,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
496
452
 
497
453
  def __hash__(self):
498
454
  return hash((
499
- self.backend,
500
- self.ai,
501
- self.state,
502
- self.user,
503
- self.rendering,
455
+ self.driver,
504
456
  self.interface,
505
- self.tools,
457
+ self.rendering,
506
458
  ))
507
459
 
508
460
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -511,21 +463,13 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
511
463
  def __init__(
512
464
  self,
513
465
  *,
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,
466
+ driver: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
467
+ interface: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
468
+ rendering: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
521
469
  ) -> __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)
470
+ __dataclass__object_setattr(self, 'driver', driver)
527
471
  __dataclass__object_setattr(self, 'interface', interface)
528
- __dataclass__object_setattr(self, 'tools', tools)
472
+ __dataclass__object_setattr(self, 'rendering', rendering)
529
473
 
530
474
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
531
475
  if '__init__' in __dataclass__cls.__dict__:
@@ -535,13 +479,9 @@ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
535
479
  @__dataclass___recursive_repr()
536
480
  def __repr__(self):
537
481
  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}")
482
+ parts.append(f"driver={self.driver!r}")
543
483
  parts.append(f"interface={self.interface!r}")
544
- parts.append(f"tools={self.tools!r}")
484
+ parts.append(f"rendering={self.rendering!r}")
545
485
  return (
546
486
  f"{self.__class__.__qualname__}("
547
487
  f"{', '.join(parts)}"
@@ -709,22 +649,228 @@ def _process_dataclass__010cef854496c65de48af9ea74be543fecd8bec1():
709
649
 
710
650
  @_register(
711
651
  plan_repr=(
712
- "Plans(tup=(CopyPlan(fields=('interactive', 'use_textual', 'use_readline')), EqPlan(fields=('interactive', 'use"
713
- "_textual', 'use_readline')), FrozenPlan(fields=('interactive', 'use_textual', 'use_readline'), allow_dynamic_d"
714
- "under_attrs=False), HashPlan(action='add', fields=('interactive', 'use_textual', 'use_readline'), cache=False)"
715
- ", InitPlan(fields=(InitPlan.Field(name='interactive', annotation=OpRef(name='init.fields.0.annotation'), defau"
716
- "lt=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType."
717
- "INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='use_textual', annotation=OpRef(na"
718
- "me='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, "
719
- "override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(na"
720
- "me='use_readline', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.defaul"
721
- "t'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=Non"
722
- "e, check_type=None)), self_param='self', std_params=(), kw_only_params=('interactive', 'use_textual', 'use_rea"
723
- "dline'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Repr"
724
- "Plan.Field(name='interactive', kw_only=True, fn=None), ReprPlan.Field(name='use_textual', kw_only=True, fn=Non"
725
- "e), ReprPlan.Field(name='use_readline', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
652
+ "Plans(tup=(CopyPlan(fields=('ai', 'backend', 'state', 'tools', 'user')), EqPlan(fields=('ai', 'backend', 'stat"
653
+ "e', 'tools', 'user')), FrozenPlan(fields=('ai', 'backend', 'state', 'tools', 'user'), allow_dynamic_dunder_att"
654
+ "rs=False), HashPlan(action='add', fields=('ai', 'backend', 'state', 'tools', 'user'), cache=False), InitPlan(f"
655
+ "ields=(InitPlan.Field(name='ai', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.f"
656
+ "ields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None"
657
+ ", validate=None, check_type=None), InitPlan.Field(name='backend', annotation=OpRef(name='init.fields.1.annotat"
658
+ "ion'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_typ"
659
+ "e=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='state', annotation=Op"
660
+ "Ref(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init="
661
+ "True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Fi"
662
+ "eld(name='tools', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default"
663
+ "'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None"
664
+ ", check_type=None), InitPlan.Field(name='user', annotation=OpRef(name='init.fields.4.annotation'), default=OpR"
665
+ "ef(name='init.fields.4.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTAN"
666
+ "CE, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('ai', 'ba"
667
+ "ckend', 'state', 'tools', 'user'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns="
668
+ "()), ReprPlan(fields=(ReprPlan.Field(name='ai', kw_only=True, fn=None), ReprPlan.Field(name='backend', kw_only"
669
+ "=True, fn=None), ReprPlan.Field(name='state', kw_only=True, fn=None), ReprPlan.Field(name='tools', kw_only=Tru"
670
+ "e, fn=None), ReprPlan.Field(name='user', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
671
+ ),
672
+ plan_repr_sha1='ccc522b0563e76033e8f2d3b6864b8a7c48c0fb7',
673
+ op_ref_idents=(
674
+ '__dataclass__init__fields__0__annotation',
675
+ '__dataclass__init__fields__0__default',
676
+ '__dataclass__init__fields__1__annotation',
677
+ '__dataclass__init__fields__1__default',
678
+ '__dataclass__init__fields__2__annotation',
679
+ '__dataclass__init__fields__2__default',
680
+ '__dataclass__init__fields__3__annotation',
681
+ '__dataclass__init__fields__3__default',
682
+ '__dataclass__init__fields__4__annotation',
683
+ '__dataclass__init__fields__4__default',
684
+ ),
685
+ cls_names=(
686
+ ('ommlds.cli.main', 'DriverConfig'),
687
+ ),
688
+ )
689
+ def _process_dataclass__ccc522b0563e76033e8f2d3b6864b8a7c48c0fb7():
690
+ def _process_dataclass(
691
+ *,
692
+ __dataclass__cls,
693
+ __dataclass__init__fields__0__annotation,
694
+ __dataclass__init__fields__0__default,
695
+ __dataclass__init__fields__1__annotation,
696
+ __dataclass__init__fields__1__default,
697
+ __dataclass__init__fields__2__annotation,
698
+ __dataclass__init__fields__2__default,
699
+ __dataclass__init__fields__3__annotation,
700
+ __dataclass__init__fields__3__default,
701
+ __dataclass__init__fields__4__annotation,
702
+ __dataclass__init__fields__4__default,
703
+ __dataclass__FieldFnValidationError, # noqa
704
+ __dataclass__FieldTypeValidationError, # noqa
705
+ __dataclass__FnValidationError, # noqa
706
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
707
+ __dataclass__FunctionType=types.FunctionType, # noqa
708
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
709
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
710
+ __dataclass__None=None, # noqa
711
+ __dataclass__TypeError=TypeError, # noqa
712
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
713
+ __dataclass__isinstance=isinstance, # noqa
714
+ __dataclass__object_setattr=object.__setattr__, # noqa
715
+ __dataclass__property=property, # noqa
716
+ ):
717
+ def __copy__(self):
718
+ if self.__class__ is not __dataclass__cls:
719
+ raise TypeError(self)
720
+ return __dataclass__cls( # noqa
721
+ ai=self.ai,
722
+ backend=self.backend,
723
+ state=self.state,
724
+ tools=self.tools,
725
+ user=self.user,
726
+ )
727
+
728
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
729
+ if '__copy__' in __dataclass__cls.__dict__:
730
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
731
+ setattr(__dataclass__cls, '__copy__', __copy__)
732
+
733
+ def __eq__(self, other):
734
+ if self is other:
735
+ return True
736
+ if self.__class__ is not other.__class__:
737
+ return NotImplemented
738
+ return (
739
+ self.ai == other.ai and
740
+ self.backend == other.backend and
741
+ self.state == other.state and
742
+ self.tools == other.tools and
743
+ self.user == other.user
744
+ )
745
+
746
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
747
+ if '__eq__' in __dataclass__cls.__dict__:
748
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
749
+ setattr(__dataclass__cls, '__eq__', __eq__)
750
+
751
+ __dataclass___setattr_frozen_fields = {
752
+ 'ai',
753
+ 'backend',
754
+ 'state',
755
+ 'tools',
756
+ 'user',
757
+ }
758
+
759
+ def __setattr__(self, name, value):
760
+ if (
761
+ type(self) is __dataclass__cls
762
+ or name in __dataclass___setattr_frozen_fields
763
+ ):
764
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
765
+ super(__dataclass__cls, self).__setattr__(name, value)
766
+
767
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
768
+ if '__setattr__' in __dataclass__cls.__dict__:
769
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
770
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
771
+
772
+ __dataclass___delattr_frozen_fields = {
773
+ 'ai',
774
+ 'backend',
775
+ 'state',
776
+ 'tools',
777
+ 'user',
778
+ }
779
+
780
+ def __delattr__(self, name):
781
+ if (
782
+ type(self) is __dataclass__cls
783
+ or name in __dataclass___delattr_frozen_fields
784
+ ):
785
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
786
+ super(__dataclass__cls, self).__delattr__(name)
787
+
788
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
789
+ if '__delattr__' in __dataclass__cls.__dict__:
790
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
791
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
792
+
793
+ def __hash__(self):
794
+ return hash((
795
+ self.ai,
796
+ self.backend,
797
+ self.state,
798
+ self.tools,
799
+ self.user,
800
+ ))
801
+
802
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
803
+ setattr(__dataclass__cls, '__hash__', __hash__)
804
+
805
+ def __init__(
806
+ self,
807
+ *,
808
+ ai: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
809
+ backend: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
810
+ state: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
811
+ tools: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
812
+ user: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
813
+ ) -> __dataclass__None:
814
+ __dataclass__object_setattr(self, 'ai', ai)
815
+ __dataclass__object_setattr(self, 'backend', backend)
816
+ __dataclass__object_setattr(self, 'state', state)
817
+ __dataclass__object_setattr(self, 'tools', tools)
818
+ __dataclass__object_setattr(self, 'user', user)
819
+
820
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
821
+ if '__init__' in __dataclass__cls.__dict__:
822
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
823
+ setattr(__dataclass__cls, '__init__', __init__)
824
+
825
+ @__dataclass___recursive_repr()
826
+ def __repr__(self):
827
+ parts = []
828
+ parts.append(f"ai={self.ai!r}")
829
+ parts.append(f"backend={self.backend!r}")
830
+ parts.append(f"state={self.state!r}")
831
+ parts.append(f"tools={self.tools!r}")
832
+ parts.append(f"user={self.user!r}")
833
+ return (
834
+ f"{self.__class__.__qualname__}("
835
+ f"{', '.join(parts)}"
836
+ f")"
837
+ )
838
+
839
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
840
+ if '__repr__' in __dataclass__cls.__dict__:
841
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
842
+ setattr(__dataclass__cls, '__repr__', __repr__)
843
+
844
+ return _process_dataclass
845
+
846
+
847
+ @_register(
848
+ plan_repr=(
849
+ "Plans(tup=(CopyPlan(fields=('interactive', 'use_textual', 'use_readline', 'enable_tools', 'dangerous_no_tool_c"
850
+ "onfirmation')), EqPlan(fields=('interactive', 'use_textual', 'use_readline', 'enable_tools', 'dangerous_no_too"
851
+ "l_confirmation')), FrozenPlan(fields=('interactive', 'use_textual', 'use_readline', 'enable_tools', 'dangerous"
852
+ "_no_tool_confirmation'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('interactive', 'use"
853
+ "_textual', 'use_readline', 'enable_tools', 'dangerous_no_tool_confirmation'), cache=False), InitPlan(fields=(I"
854
+ "nitPlan.Field(name='interactive', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init."
855
+ "fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=Non"
856
+ "e, validate=None, check_type=None), InitPlan.Field(name='use_textual', annotation=OpRef(name='init.fields.1.an"
857
+ "notation'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, fiel"
858
+ "d_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='use_readline', a"
859
+ "nnotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory"
860
+ "=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),"
861
+ " InitPlan.Field(name='enable_tools', annotation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='in"
862
+ "it.fields.3.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce="
863
+ "None, validate=None, check_type=None), InitPlan.Field(name='dangerous_no_tool_confirmation', annotation=OpRef("
864
+ "name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_factory=None, init=True"
865
+ ", override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param='se"
866
+ "lf', std_params=(), kw_only_params=('interactive', 'use_textual', 'use_readline', 'enable_tools', 'dangerous_n"
867
+ "o_tool_confirmation'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPla"
868
+ "n(fields=(ReprPlan.Field(name='interactive', kw_only=True, fn=None), ReprPlan.Field(name='use_textual', kw_onl"
869
+ "y=True, fn=None), ReprPlan.Field(name='use_readline', kw_only=True, fn=None), ReprPlan.Field(name='enable_tool"
870
+ "s', kw_only=True, fn=None), ReprPlan.Field(name='dangerous_no_tool_confirmation', kw_only=True, fn=None)), id="
871
+ "False, terse=False, default_fn=None)))"
726
872
  ),
727
- plan_repr_sha1='0c29bdcf28d77e398675068cd30b99ca2f7f6c9e',
873
+ plan_repr_sha1='2ac54f7b23a3729b83684d53c78e05f4c2d354f2',
728
874
  op_ref_idents=(
729
875
  '__dataclass__init__fields__0__annotation',
730
876
  '__dataclass__init__fields__0__default',
@@ -732,12 +878,16 @@ def _process_dataclass__010cef854496c65de48af9ea74be543fecd8bec1():
732
878
  '__dataclass__init__fields__1__default',
733
879
  '__dataclass__init__fields__2__annotation',
734
880
  '__dataclass__init__fields__2__default',
881
+ '__dataclass__init__fields__3__annotation',
882
+ '__dataclass__init__fields__3__default',
883
+ '__dataclass__init__fields__4__annotation',
884
+ '__dataclass__init__fields__4__default',
735
885
  ),
736
886
  cls_names=(
737
887
  ('ommlds.cli.main', 'InterfaceConfig'),
738
888
  ),
739
889
  )
740
- def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
890
+ def _process_dataclass__2ac54f7b23a3729b83684d53c78e05f4c2d354f2():
741
891
  def _process_dataclass(
742
892
  *,
743
893
  __dataclass__cls,
@@ -747,6 +897,10 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
747
897
  __dataclass__init__fields__1__default,
748
898
  __dataclass__init__fields__2__annotation,
749
899
  __dataclass__init__fields__2__default,
900
+ __dataclass__init__fields__3__annotation,
901
+ __dataclass__init__fields__3__default,
902
+ __dataclass__init__fields__4__annotation,
903
+ __dataclass__init__fields__4__default,
750
904
  __dataclass__FieldFnValidationError, # noqa
751
905
  __dataclass__FieldTypeValidationError, # noqa
752
906
  __dataclass__FnValidationError, # noqa
@@ -768,6 +922,8 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
768
922
  interactive=self.interactive,
769
923
  use_textual=self.use_textual,
770
924
  use_readline=self.use_readline,
925
+ enable_tools=self.enable_tools,
926
+ dangerous_no_tool_confirmation=self.dangerous_no_tool_confirmation,
771
927
  )
772
928
 
773
929
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -783,7 +939,9 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
783
939
  return (
784
940
  self.interactive == other.interactive and
785
941
  self.use_textual == other.use_textual and
786
- self.use_readline == other.use_readline
942
+ self.use_readline == other.use_readline and
943
+ self.enable_tools == other.enable_tools and
944
+ self.dangerous_no_tool_confirmation == other.dangerous_no_tool_confirmation
787
945
  )
788
946
 
789
947
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -795,6 +953,8 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
795
953
  'interactive',
796
954
  'use_textual',
797
955
  'use_readline',
956
+ 'enable_tools',
957
+ 'dangerous_no_tool_confirmation',
798
958
  }
799
959
 
800
960
  def __setattr__(self, name, value):
@@ -814,6 +974,8 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
814
974
  'interactive',
815
975
  'use_textual',
816
976
  'use_readline',
977
+ 'enable_tools',
978
+ 'dangerous_no_tool_confirmation',
817
979
  }
818
980
 
819
981
  def __delattr__(self, name):
@@ -834,6 +996,8 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
834
996
  self.interactive,
835
997
  self.use_textual,
836
998
  self.use_readline,
999
+ self.enable_tools,
1000
+ self.dangerous_no_tool_confirmation,
837
1001
  ))
838
1002
 
839
1003
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -845,10 +1009,14 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
845
1009
  interactive: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
846
1010
  use_textual: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
847
1011
  use_readline: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1012
+ enable_tools: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1013
+ dangerous_no_tool_confirmation: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
848
1014
  ) -> __dataclass__None:
849
1015
  __dataclass__object_setattr(self, 'interactive', interactive)
850
1016
  __dataclass__object_setattr(self, 'use_textual', use_textual)
851
1017
  __dataclass__object_setattr(self, 'use_readline', use_readline)
1018
+ __dataclass__object_setattr(self, 'enable_tools', enable_tools)
1019
+ __dataclass__object_setattr(self, 'dangerous_no_tool_confirmation', dangerous_no_tool_confirmation)
852
1020
 
853
1021
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
854
1022
  if '__init__' in __dataclass__cls.__dict__:
@@ -861,6 +1029,8 @@ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
861
1029
  parts.append(f"interactive={self.interactive!r}")
862
1030
  parts.append(f"use_textual={self.use_textual!r}")
863
1031
  parts.append(f"use_readline={self.use_readline!r}")
1032
+ parts.append(f"enable_tools={self.enable_tools!r}")
1033
+ parts.append(f"dangerous_no_tool_confirmation={self.dangerous_no_tool_confirmation!r}")
864
1034
  return (
865
1035
  f"{self.__class__.__qualname__}("
866
1036
  f"{', '.join(parts)}"
@@ -1282,9 +1452,9 @@ def _process_dataclass__ecd4e8fdaa04b3fa64e0c01eea919a83fc862e6a():
1282
1452
  op_ref_idents=(),
1283
1453
  cls_names=(
1284
1454
  ('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'),
1455
+ ('ommlds.cli.sessions.chat.drivers.tools.fs.configs', 'FsToolSetConfig'),
1456
+ ('ommlds.cli.sessions.chat.drivers.tools.todo.configs', 'TodoToolSetConfig'),
1457
+ ('ommlds.cli.sessions.chat.drivers.tools.weather.configs', 'WeatherToolSetConfig'),
1288
1458
  ),
1289
1459
  )
1290
1460
  def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
@@ -1386,36 +1556,30 @@ def _process_dataclass__e1f7edfe11f2b721d6a656c46e698fedc95461bb():
1386
1556
 
1387
1557
  @_register(
1388
1558
  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)))"
1559
+ "Plans(tup=(CopyPlan(fields=('enabled_tools', 'verbose')), EqPlan(fields=('enabled_tools', 'verbose')), FrozenP"
1560
+ "lan(fields=('enabled_tools', 'verbose'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('en"
1561
+ "abled_tools', 'verbose'), cache=False), InitPlan(fields=(InitPlan.Field(name='enabled_tools', annotation=OpRef"
1562
+ "(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=Tru"
1563
+ "e, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field"
1564
+ "(name='verbose', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'"
1565
+ "), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
1566
+ " check_type=None)), self_param='self', std_params=(), kw_only_params=('enabled_tools', 'verbose'), frozen=True"
1567
+ ", slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='ena"
1568
+ "bled_tools', kw_only=True, fn=None), ReprPlan.Field(name='verbose', kw_only=True, fn=None)), id=False, terse=F"
1569
+ "alse, default_fn=None)))"
1404
1570
  ),
1405
- plan_repr_sha1='db9677a2fd3b495102177f315b60f0d1469bbee9',
1571
+ plan_repr_sha1='aa22ff44ed3bf3e31aaa2841f61d3f7175c85c42',
1406
1572
  op_ref_idents=(
1407
1573
  '__dataclass__init__fields__0__annotation',
1408
1574
  '__dataclass__init__fields__0__default',
1409
1575
  '__dataclass__init__fields__1__annotation',
1410
1576
  '__dataclass__init__fields__1__default',
1411
- '__dataclass__init__fields__2__annotation',
1412
- '__dataclass__init__fields__2__default',
1413
1577
  ),
1414
1578
  cls_names=(
1415
1579
  ('ommlds.cli.main', 'ToolsConfig'),
1416
1580
  ),
1417
1581
  )
1418
- def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1582
+ def _process_dataclass__aa22ff44ed3bf3e31aaa2841f61d3f7175c85c42():
1419
1583
  def _process_dataclass(
1420
1584
  *,
1421
1585
  __dataclass__cls,
@@ -1423,8 +1587,6 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1423
1587
  __dataclass__init__fields__0__default,
1424
1588
  __dataclass__init__fields__1__annotation,
1425
1589
  __dataclass__init__fields__1__default,
1426
- __dataclass__init__fields__2__annotation,
1427
- __dataclass__init__fields__2__default,
1428
1590
  __dataclass__FieldFnValidationError, # noqa
1429
1591
  __dataclass__FieldTypeValidationError, # noqa
1430
1592
  __dataclass__FnValidationError, # noqa
@@ -1443,9 +1605,8 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1443
1605
  if self.__class__ is not __dataclass__cls:
1444
1606
  raise TypeError(self)
1445
1607
  return __dataclass__cls( # noqa
1446
- silent=self.silent,
1447
- dangerous_no_confirmation=self.dangerous_no_confirmation,
1448
1608
  enabled_tools=self.enabled_tools,
1609
+ verbose=self.verbose,
1449
1610
  )
1450
1611
 
1451
1612
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1459,9 +1620,8 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1459
1620
  if self.__class__ is not other.__class__:
1460
1621
  return NotImplemented
1461
1622
  return (
1462
- self.silent == other.silent and
1463
- self.dangerous_no_confirmation == other.dangerous_no_confirmation and
1464
- self.enabled_tools == other.enabled_tools
1623
+ self.enabled_tools == other.enabled_tools and
1624
+ self.verbose == other.verbose
1465
1625
  )
1466
1626
 
1467
1627
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1470,9 +1630,8 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1470
1630
  setattr(__dataclass__cls, '__eq__', __eq__)
1471
1631
 
1472
1632
  __dataclass___setattr_frozen_fields = {
1473
- 'silent',
1474
- 'dangerous_no_confirmation',
1475
1633
  'enabled_tools',
1634
+ 'verbose',
1476
1635
  }
1477
1636
 
1478
1637
  def __setattr__(self, name, value):
@@ -1489,9 +1648,8 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1489
1648
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1490
1649
 
1491
1650
  __dataclass___delattr_frozen_fields = {
1492
- 'silent',
1493
- 'dangerous_no_confirmation',
1494
1651
  'enabled_tools',
1652
+ 'verbose',
1495
1653
  }
1496
1654
 
1497
1655
  def __delattr__(self, name):
@@ -1509,9 +1667,8 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1509
1667
 
1510
1668
  def __hash__(self):
1511
1669
  return hash((
1512
- self.silent,
1513
- self.dangerous_no_confirmation,
1514
1670
  self.enabled_tools,
1671
+ self.verbose,
1515
1672
  ))
1516
1673
 
1517
1674
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1520,13 +1677,11 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1520
1677
  def __init__(
1521
1678
  self,
1522
1679
  *,
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,
1680
+ enabled_tools: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1681
+ verbose: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1526
1682
  ) -> __dataclass__None:
1527
- __dataclass__object_setattr(self, 'silent', silent)
1528
- __dataclass__object_setattr(self, 'dangerous_no_confirmation', dangerous_no_confirmation)
1529
1683
  __dataclass__object_setattr(self, 'enabled_tools', enabled_tools)
1684
+ __dataclass__object_setattr(self, 'verbose', verbose)
1530
1685
 
1531
1686
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1532
1687
  if '__init__' in __dataclass__cls.__dict__:
@@ -1536,9 +1691,8 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1536
1691
  @__dataclass___recursive_repr()
1537
1692
  def __repr__(self):
1538
1693
  parts = []
1539
- parts.append(f"silent={self.silent!r}")
1540
- parts.append(f"dangerous_no_confirmation={self.dangerous_no_confirmation!r}")
1541
1694
  parts.append(f"enabled_tools={self.enabled_tools!r}")
1695
+ parts.append(f"verbose={self.verbose!r}")
1542
1696
  return (
1543
1697
  f"{self.__class__.__qualname__}("
1544
1698
  f"{', '.join(parts)}"
@@ -1555,37 +1709,31 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1555
1709
 
1556
1710
  @_register(
1557
1711
  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)))"
1712
+ "Plans(tup=(CopyPlan(fields=('initial_system_content', 'initial_user_content')), EqPlan(fields=('initial_system"
1713
+ "_content', 'initial_user_content')), FrozenPlan(fields=('initial_system_content', 'initial_user_content'), all"
1714
+ "ow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('initial_system_content', 'initial_user_content"
1715
+ "'), cache=False), InitPlan(fields=(InitPlan.Field(name='initial_system_content', annotation=OpRef(name='init.f"
1716
+ "ields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, override=F"
1717
+ "alse, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='initia"
1718
+ "l_user_content', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'"
1719
+ "), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None,"
1720
+ " check_type=None)), self_param='self', std_params=(), kw_only_params=('initial_system_content', 'initial_user_"
1721
+ "content'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(Re"
1722
+ "prPlan.Field(name='initial_system_content', kw_only=True, fn=None), ReprPlan.Field(name='initial_user_content'"
1723
+ ", kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
1574
1724
  ),
1575
- plan_repr_sha1='bf389110f6a33ac341656be4d61e4640ffac3f50',
1725
+ plan_repr_sha1='55eb2b38eb7d4e32f3a9306577040632e1c376fb',
1576
1726
  op_ref_idents=(
1577
1727
  '__dataclass__init__fields__0__annotation',
1578
1728
  '__dataclass__init__fields__0__default',
1579
1729
  '__dataclass__init__fields__1__annotation',
1580
1730
  '__dataclass__init__fields__1__default',
1581
- '__dataclass__init__fields__2__annotation',
1582
- '__dataclass__init__fields__2__default',
1583
1731
  ),
1584
1732
  cls_names=(
1585
1733
  ('ommlds.cli.main', 'UserConfig'),
1586
1734
  ),
1587
1735
  )
1588
- def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1736
+ def _process_dataclass__55eb2b38eb7d4e32f3a9306577040632e1c376fb():
1589
1737
  def _process_dataclass(
1590
1738
  *,
1591
1739
  __dataclass__cls,
@@ -1593,8 +1741,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1593
1741
  __dataclass__init__fields__0__default,
1594
1742
  __dataclass__init__fields__1__annotation,
1595
1743
  __dataclass__init__fields__1__default,
1596
- __dataclass__init__fields__2__annotation,
1597
- __dataclass__init__fields__2__default,
1598
1744
  __dataclass__FieldFnValidationError, # noqa
1599
1745
  __dataclass__FieldTypeValidationError, # noqa
1600
1746
  __dataclass__FnValidationError, # noqa
@@ -1615,7 +1761,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1615
1761
  return __dataclass__cls( # noqa
1616
1762
  initial_system_content=self.initial_system_content,
1617
1763
  initial_user_content=self.initial_user_content,
1618
- interactive=self.interactive,
1619
1764
  )
1620
1765
 
1621
1766
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1630,8 +1775,7 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1630
1775
  return NotImplemented
1631
1776
  return (
1632
1777
  self.initial_system_content == other.initial_system_content and
1633
- self.initial_user_content == other.initial_user_content and
1634
- self.interactive == other.interactive
1778
+ self.initial_user_content == other.initial_user_content
1635
1779
  )
1636
1780
 
1637
1781
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1642,7 +1786,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1642
1786
  __dataclass___setattr_frozen_fields = {
1643
1787
  'initial_system_content',
1644
1788
  'initial_user_content',
1645
- 'interactive',
1646
1789
  }
1647
1790
 
1648
1791
  def __setattr__(self, name, value):
@@ -1661,7 +1804,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1661
1804
  __dataclass___delattr_frozen_fields = {
1662
1805
  'initial_system_content',
1663
1806
  'initial_user_content',
1664
- 'interactive',
1665
1807
  }
1666
1808
 
1667
1809
  def __delattr__(self, name):
@@ -1681,7 +1823,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1681
1823
  return hash((
1682
1824
  self.initial_system_content,
1683
1825
  self.initial_user_content,
1684
- self.interactive,
1685
1826
  ))
1686
1827
 
1687
1828
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1692,11 +1833,9 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1692
1833
  *,
1693
1834
  initial_system_content: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1694
1835
  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
1836
  ) -> __dataclass__None:
1697
1837
  __dataclass__object_setattr(self, 'initial_system_content', initial_system_content)
1698
1838
  __dataclass__object_setattr(self, 'initial_user_content', initial_user_content)
1699
- __dataclass__object_setattr(self, 'interactive', interactive)
1700
1839
 
1701
1840
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1702
1841
  if '__init__' in __dataclass__cls.__dict__:
@@ -1708,7 +1847,6 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1708
1847
  parts = []
1709
1848
  parts.append(f"initial_system_content={self.initial_system_content!r}")
1710
1849
  parts.append(f"initial_user_content={self.initial_user_content!r}")
1711
- parts.append(f"interactive={self.interactive!r}")
1712
1850
  return (
1713
1851
  f"{self.__class__.__qualname__}("
1714
1852
  f"{', '.join(parts)}"
@@ -1725,32 +1863,27 @@ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1725
1863
 
1726
1864
  @_register(
1727
1865
  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)))"
1866
+ "Plans(tup=(CopyPlan(fields=('delta',)), EqPlan(fields=('delta',)), FrozenPlan(fields=('delta',), allow_dynamic"
1867
+ "_dunder_attrs=False), HashPlan(action='add', fields=('delta',), cache=False), InitPlan(fields=(InitPlan.Field("
1868
+ "name='delta', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True"
1869
+ ", override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='s"
1870
+ "elf', std_params=('delta',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), "
1871
+ "validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='delta', kw_only=False, fn=None),), id=False, terse=Fal"
1872
+ "se, default_fn=None)))"
1738
1873
  ),
1739
- plan_repr_sha1='be0d400bb9a95f7b7d493de698bc2bcac269b46e',
1874
+ plan_repr_sha1='aff24d9a92d53ba94dacb7fb303b9eb4ebd0763f',
1740
1875
  op_ref_idents=(
1741
1876
  '__dataclass__init__fields__0__annotation',
1742
- '__dataclass__init__fields__1__annotation',
1743
1877
  ),
1744
1878
  cls_names=(
1745
- ('ommlds.cli.sessions.chat.chat.state.storage', 'MarshaledState'),
1879
+ ('ommlds.cli.sessions.chat.drivers.driver', 'AiDeltaChatEvent'),
1746
1880
  ),
1747
1881
  )
1748
- def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1882
+ def _process_dataclass__aff24d9a92d53ba94dacb7fb303b9eb4ebd0763f():
1749
1883
  def _process_dataclass(
1750
1884
  *,
1751
1885
  __dataclass__cls,
1752
1886
  __dataclass__init__fields__0__annotation,
1753
- __dataclass__init__fields__1__annotation,
1754
1887
  __dataclass__FieldFnValidationError, # noqa
1755
1888
  __dataclass__FieldTypeValidationError, # noqa
1756
1889
  __dataclass__FnValidationError, # noqa
@@ -1769,8 +1902,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1769
1902
  if self.__class__ is not __dataclass__cls:
1770
1903
  raise TypeError(self)
1771
1904
  return __dataclass__cls( # noqa
1772
- version=self.version,
1773
- payload=self.payload,
1905
+ delta=self.delta,
1774
1906
  )
1775
1907
 
1776
1908
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1784,8 +1916,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1784
1916
  if self.__class__ is not other.__class__:
1785
1917
  return NotImplemented
1786
1918
  return (
1787
- self.version == other.version and
1788
- self.payload == other.payload
1919
+ self.delta == other.delta
1789
1920
  )
1790
1921
 
1791
1922
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1794,8 +1925,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1794
1925
  setattr(__dataclass__cls, '__eq__', __eq__)
1795
1926
 
1796
1927
  __dataclass___setattr_frozen_fields = {
1797
- 'version',
1798
- 'payload',
1928
+ 'delta',
1799
1929
  }
1800
1930
 
1801
1931
  def __setattr__(self, name, value):
@@ -1812,8 +1942,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1812
1942
  setattr(__dataclass__cls, '__setattr__', __setattr__)
1813
1943
 
1814
1944
  __dataclass___delattr_frozen_fields = {
1815
- 'version',
1816
- 'payload',
1945
+ 'delta',
1817
1946
  }
1818
1947
 
1819
1948
  def __delattr__(self, name):
@@ -1831,8 +1960,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1831
1960
 
1832
1961
  def __hash__(self):
1833
1962
  return hash((
1834
- self.version,
1835
- self.payload,
1963
+ self.delta,
1836
1964
  ))
1837
1965
 
1838
1966
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1840,11 +1968,9 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1840
1968
 
1841
1969
  def __init__(
1842
1970
  self,
1843
- version: __dataclass__init__fields__0__annotation,
1844
- payload: __dataclass__init__fields__1__annotation,
1971
+ delta: __dataclass__init__fields__0__annotation,
1845
1972
  ) -> __dataclass__None:
1846
- __dataclass__object_setattr(self, 'version', version)
1847
- __dataclass__object_setattr(self, 'payload', payload)
1973
+ __dataclass__object_setattr(self, 'delta', delta)
1848
1974
 
1849
1975
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1850
1976
  if '__init__' in __dataclass__cls.__dict__:
@@ -1854,8 +1980,142 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1854
1980
  @__dataclass___recursive_repr()
1855
1981
  def __repr__(self):
1856
1982
  parts = []
1857
- parts.append(f"version={self.version!r}")
1858
- parts.append(f"payload={self.payload!r}")
1983
+ parts.append(f"delta={self.delta!r}")
1984
+ return (
1985
+ f"{self.__class__.__qualname__}("
1986
+ f"{', '.join(parts)}"
1987
+ f")"
1988
+ )
1989
+
1990
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
1991
+ if '__repr__' in __dataclass__cls.__dict__:
1992
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
1993
+ setattr(__dataclass__cls, '__repr__', __repr__)
1994
+
1995
+ return _process_dataclass
1996
+
1997
+
1998
+ @_register(
1999
+ plan_repr=(
2000
+ "Plans(tup=(CopyPlan(fields=('chat',)), EqPlan(fields=('chat',)), FrozenPlan(fields=('chat',), allow_dynamic_du"
2001
+ "nder_attrs=False), HashPlan(action='add', fields=('chat',), cache=False), InitPlan(fields=(InitPlan.Field(name"
2002
+ "='chat', annotation=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, ove"
2003
+ "rride=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self',"
2004
+ " std_params=('chat',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), valida"
2005
+ "te_fns=()), ReprPlan(fields=(ReprPlan.Field(name='chat', kw_only=False, fn=None),), id=False, terse=False, def"
2006
+ "ault_fn=None)))"
2007
+ ),
2008
+ plan_repr_sha1='b211fde543b7c2c533cdcf9f21b47d2f7f76e5c9',
2009
+ op_ref_idents=(
2010
+ '__dataclass__init__fields__0__annotation',
2011
+ ),
2012
+ cls_names=(
2013
+ ('ommlds.cli.sessions.chat.drivers.driver', 'AiMessagesChatEvent'),
2014
+ ('ommlds.cli.sessions.chat.drivers.driver', 'UserMessagesChatEvent'),
2015
+ ),
2016
+ )
2017
+ def _process_dataclass__b211fde543b7c2c533cdcf9f21b47d2f7f76e5c9():
2018
+ def _process_dataclass(
2019
+ *,
2020
+ __dataclass__cls,
2021
+ __dataclass__init__fields__0__annotation,
2022
+ __dataclass__FieldFnValidationError, # noqa
2023
+ __dataclass__FieldTypeValidationError, # noqa
2024
+ __dataclass__FnValidationError, # noqa
2025
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
2026
+ __dataclass__FunctionType=types.FunctionType, # noqa
2027
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
2028
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
2029
+ __dataclass__None=None, # noqa
2030
+ __dataclass__TypeError=TypeError, # noqa
2031
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
2032
+ __dataclass__isinstance=isinstance, # noqa
2033
+ __dataclass__object_setattr=object.__setattr__, # noqa
2034
+ __dataclass__property=property, # noqa
2035
+ ):
2036
+ def __copy__(self):
2037
+ if self.__class__ is not __dataclass__cls:
2038
+ raise TypeError(self)
2039
+ return __dataclass__cls( # noqa
2040
+ chat=self.chat,
2041
+ )
2042
+
2043
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
2044
+ if '__copy__' in __dataclass__cls.__dict__:
2045
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
2046
+ setattr(__dataclass__cls, '__copy__', __copy__)
2047
+
2048
+ def __eq__(self, other):
2049
+ if self is other:
2050
+ return True
2051
+ if self.__class__ is not other.__class__:
2052
+ return NotImplemented
2053
+ return (
2054
+ self.chat == other.chat
2055
+ )
2056
+
2057
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
2058
+ if '__eq__' in __dataclass__cls.__dict__:
2059
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
2060
+ setattr(__dataclass__cls, '__eq__', __eq__)
2061
+
2062
+ __dataclass___setattr_frozen_fields = {
2063
+ 'chat',
2064
+ }
2065
+
2066
+ def __setattr__(self, name, value):
2067
+ if (
2068
+ type(self) is __dataclass__cls
2069
+ or name in __dataclass___setattr_frozen_fields
2070
+ ):
2071
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2072
+ super(__dataclass__cls, self).__setattr__(name, value)
2073
+
2074
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
2075
+ if '__setattr__' in __dataclass__cls.__dict__:
2076
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
2077
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
2078
+
2079
+ __dataclass___delattr_frozen_fields = {
2080
+ 'chat',
2081
+ }
2082
+
2083
+ def __delattr__(self, name):
2084
+ if (
2085
+ type(self) is __dataclass__cls
2086
+ or name in __dataclass___delattr_frozen_fields
2087
+ ):
2088
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2089
+ super(__dataclass__cls, self).__delattr__(name)
2090
+
2091
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
2092
+ if '__delattr__' in __dataclass__cls.__dict__:
2093
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
2094
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
2095
+
2096
+ def __hash__(self):
2097
+ return hash((
2098
+ self.chat,
2099
+ ))
2100
+
2101
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
2102
+ setattr(__dataclass__cls, '__hash__', __hash__)
2103
+
2104
+ def __init__(
2105
+ self,
2106
+ chat: __dataclass__init__fields__0__annotation,
2107
+ ) -> __dataclass__None:
2108
+ __dataclass__object_setattr(self, 'chat', chat)
2109
+
2110
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2111
+ if '__init__' in __dataclass__cls.__dict__:
2112
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
2113
+ setattr(__dataclass__cls, '__init__', __init__)
2114
+
2115
+ @__dataclass___recursive_repr()
2116
+ def __repr__(self):
2117
+ parts = []
2118
+ parts.append(f"chat={self.chat!r}")
1859
2119
  return (
1860
2120
  f"{self.__class__.__qualname__}("
1861
2121
  f"{', '.join(parts)}"
@@ -1890,7 +2150,7 @@ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
1890
2150
  '__dataclass__init__fields__1__annotation',
1891
2151
  ),
1892
2152
  cls_names=(
1893
- ('ommlds.cli.sessions.chat.driver', 'ChatPhaseCallback'),
2153
+ ('ommlds.cli.sessions.chat.drivers.driver', 'ChatPhaseCallback'),
1894
2154
  ),
1895
2155
  )
1896
2156
  def _process_dataclass__927265170439340895560333250bc087fa726eff():
@@ -2058,7 +2318,7 @@ def _process_dataclass__927265170439340895560333250bc087fa726eff():
2058
2318
  '__dataclass__init__fields__3__default',
2059
2319
  ),
2060
2320
  cls_names=(
2061
- ('ommlds.cli.sessions.chat.driver', 'ChatState'),
2321
+ ('ommlds.cli.sessions.chat.drivers.driver', 'ChatState'),
2062
2322
  ),
2063
2323
  )
2064
2324
  def _process_dataclass__9f7e26a87dd163b610f38caa1ce9b3c6356e632a():
@@ -2214,75 +2474,32 @@ def _process_dataclass__9f7e26a87dd163b610f38caa1ce9b3c6356e632a():
2214
2474
 
2215
2475
  @_register(
2216
2476
  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)))"
2477
+ "Plans(tup=(CopyPlan(fields=('version', 'payload')), EqPlan(fields=('version', 'payload')), FrozenPlan(fields=("
2478
+ "'version', 'payload'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('version', 'payload')"
2479
+ ", cache=False), InitPlan(fields=(InitPlan.Field(name='version', annotation=OpRef(name='init.fields.0.annotatio"
2480
+ "n'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None"
2481
+ ", validate=None, check_type=None), InitPlan.Field(name='payload', annotation=OpRef(name='init.fields.1.annotat"
2482
+ "ion'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=No"
2483
+ "ne, validate=None, check_type=None)), self_param='self', std_params=('version', 'payload'), kw_only_params=(),"
2484
+ " frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Fie"
2485
+ "ld(name='version', kw_only=False, fn=None), ReprPlan.Field(name='payload', kw_only=False, fn=None)), id=False,"
2486
+ " terse=False, default_fn=None)))"
2246
2487
  ),
2247
- plan_repr_sha1='a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1',
2488
+ plan_repr_sha1='be0d400bb9a95f7b7d493de698bc2bcac269b46e',
2248
2489
  op_ref_idents=(
2249
2490
  '__dataclass__init__fields__0__annotation',
2250
- '__dataclass__init__fields__0__default',
2251
2491
  '__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
2492
  ),
2264
2493
  cls_names=(
2265
- ('ommlds.cli.sessions.chat.session', 'ChatSession.Config'),
2494
+ ('ommlds.cli.sessions.chat.drivers.state.storage', 'MarshaledState'),
2266
2495
  ),
2267
2496
  )
2268
- def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2497
+ def _process_dataclass__be0d400bb9a95f7b7d493de698bc2bcac269b46e():
2269
2498
  def _process_dataclass(
2270
2499
  *,
2271
2500
  __dataclass__cls,
2272
2501
  __dataclass__init__fields__0__annotation,
2273
- __dataclass__init__fields__0__default,
2274
2502
  __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
2503
  __dataclass__FieldFnValidationError, # noqa
2287
2504
  __dataclass__FieldTypeValidationError, # noqa
2288
2505
  __dataclass__FnValidationError, # noqa
@@ -2301,13 +2518,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2301
2518
  if self.__class__ is not __dataclass__cls:
2302
2519
  raise TypeError(self)
2303
2520
  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,
2521
+ version=self.version,
2522
+ payload=self.payload,
2311
2523
  )
2312
2524
 
2313
2525
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -2321,13 +2533,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2321
2533
  if self.__class__ is not other.__class__:
2322
2534
  return NotImplemented
2323
2535
  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
2536
+ self.version == other.version and
2537
+ self.payload == other.payload
2331
2538
  )
2332
2539
 
2333
2540
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -2336,14 +2543,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2336
2543
  setattr(__dataclass__cls, '__eq__', __eq__)
2337
2544
 
2338
2545
  __dataclass___setattr_frozen_fields = {
2339
- 'backend',
2340
- 'ai',
2341
- 'state',
2342
- 'user',
2343
- 'rendering',
2344
- 'interface',
2345
- 'tools',
2346
- 'configurable_cls',
2546
+ 'version',
2547
+ 'payload',
2347
2548
  }
2348
2549
 
2349
2550
  def __setattr__(self, name, value):
@@ -2360,14 +2561,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2360
2561
  setattr(__dataclass__cls, '__setattr__', __setattr__)
2361
2562
 
2362
2563
  __dataclass___delattr_frozen_fields = {
2363
- 'backend',
2364
- 'ai',
2365
- 'state',
2366
- 'user',
2367
- 'rendering',
2368
- 'interface',
2369
- 'tools',
2370
- 'configurable_cls',
2564
+ 'version',
2565
+ 'payload',
2371
2566
  }
2372
2567
 
2373
2568
  def __delattr__(self, name):
@@ -2385,13 +2580,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2385
2580
 
2386
2581
  def __hash__(self):
2387
2582
  return hash((
2388
- self.backend,
2389
- self.ai,
2390
- self.state,
2391
- self.user,
2392
- self.rendering,
2393
- self.interface,
2394
- self.tools,
2583
+ self.version,
2584
+ self.payload,
2395
2585
  ))
2396
2586
 
2397
2587
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -2399,22 +2589,11 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2399
2589
 
2400
2590
  def __init__(
2401
2591
  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,
2592
+ version: __dataclass__init__fields__0__annotation,
2593
+ payload: __dataclass__init__fields__1__annotation,
2410
2594
  ) -> __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)
2595
+ __dataclass__object_setattr(self, 'version', version)
2596
+ __dataclass__object_setattr(self, 'payload', payload)
2418
2597
 
2419
2598
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2420
2599
  if '__init__' in __dataclass__cls.__dict__:
@@ -2424,13 +2603,8 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2424
2603
  @__dataclass___recursive_repr()
2425
2604
  def __repr__(self):
2426
2605
  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}")
2606
+ parts.append(f"version={self.version!r}")
2607
+ parts.append(f"payload={self.payload!r}")
2434
2608
  return (
2435
2609
  f"{self.__class__.__qualname__}("
2436
2610
  f"{', '.join(parts)}"
@@ -2463,7 +2637,7 @@ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2463
2637
  '__dataclass__init__fields__1__annotation',
2464
2638
  ),
2465
2639
  cls_names=(
2466
- ('ommlds.cli.sessions.chat.tools.inject', 'ToolSetBinder'),
2640
+ ('ommlds.cli.sessions.chat.drivers.tools.inject', 'ToolSetBinder'),
2467
2641
  ),
2468
2642
  )
2469
2643
  def _process_dataclass__0f6d91dd6a878d827836d961e4683d55b1c9095a():
@@ -2591,6 +2765,311 @@ def _process_dataclass__0f6d91dd6a878d827836d961e4683d55b1c9095a():
2591
2765
  return _process_dataclass
2592
2766
 
2593
2767
 
2768
+ @_register(
2769
+ plan_repr=(
2770
+ "Plans(tup=(CopyPlan(fields=('v',)), EqPlan(fields=('v',)), FrozenPlan(fields=('v',), allow_dynamic_dunder_attr"
2771
+ "s=False), HashPlan(action='add', fields=('v',), cache=False), InitPlan(fields=(InitPlan.Field(name='v', annota"
2772
+ "tion=OpRef(name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, fi"
2773
+ "eld_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None),), self_param='self', std_params=('v"
2774
+ "',), kw_only_params=(), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPl"
2775
+ "an(fields=(ReprPlan.Field(name='v', kw_only=False, fn=None),), id=False, terse=True, default_fn=None)))"
2776
+ ),
2777
+ plan_repr_sha1='3576262424b3ef8ff20966fa3744e5dba9a2ae7d',
2778
+ op_ref_idents=(
2779
+ '__dataclass__init__fields__0__annotation',
2780
+ ),
2781
+ cls_names=(
2782
+ ('ommlds.cli.sessions.chat.drivers.types', 'ChatDriverId'),
2783
+ ),
2784
+ )
2785
+ def _process_dataclass__3576262424b3ef8ff20966fa3744e5dba9a2ae7d():
2786
+ def _process_dataclass(
2787
+ *,
2788
+ __dataclass__cls,
2789
+ __dataclass__init__fields__0__annotation,
2790
+ __dataclass__FieldFnValidationError, # noqa
2791
+ __dataclass__FieldTypeValidationError, # noqa
2792
+ __dataclass__FnValidationError, # noqa
2793
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
2794
+ __dataclass__FunctionType=types.FunctionType, # noqa
2795
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
2796
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
2797
+ __dataclass__None=None, # noqa
2798
+ __dataclass__TypeError=TypeError, # noqa
2799
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
2800
+ __dataclass__isinstance=isinstance, # noqa
2801
+ __dataclass__object_setattr=object.__setattr__, # noqa
2802
+ __dataclass__property=property, # noqa
2803
+ ):
2804
+ def __copy__(self):
2805
+ if self.__class__ is not __dataclass__cls:
2806
+ raise TypeError(self)
2807
+ return __dataclass__cls( # noqa
2808
+ v=self.v,
2809
+ )
2810
+
2811
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
2812
+ if '__copy__' in __dataclass__cls.__dict__:
2813
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
2814
+ setattr(__dataclass__cls, '__copy__', __copy__)
2815
+
2816
+ def __eq__(self, other):
2817
+ if self is other:
2818
+ return True
2819
+ if self.__class__ is not other.__class__:
2820
+ return NotImplemented
2821
+ return (
2822
+ self.v == other.v
2823
+ )
2824
+
2825
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
2826
+ if '__eq__' in __dataclass__cls.__dict__:
2827
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
2828
+ setattr(__dataclass__cls, '__eq__', __eq__)
2829
+
2830
+ __dataclass___setattr_frozen_fields = {
2831
+ 'v',
2832
+ }
2833
+
2834
+ def __setattr__(self, name, value):
2835
+ if (
2836
+ type(self) is __dataclass__cls
2837
+ or name in __dataclass___setattr_frozen_fields
2838
+ ):
2839
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
2840
+ super(__dataclass__cls, self).__setattr__(name, value)
2841
+
2842
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
2843
+ if '__setattr__' in __dataclass__cls.__dict__:
2844
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
2845
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
2846
+
2847
+ __dataclass___delattr_frozen_fields = {
2848
+ 'v',
2849
+ }
2850
+
2851
+ def __delattr__(self, name):
2852
+ if (
2853
+ type(self) is __dataclass__cls
2854
+ or name in __dataclass___delattr_frozen_fields
2855
+ ):
2856
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
2857
+ super(__dataclass__cls, self).__delattr__(name)
2858
+
2859
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
2860
+ if '__delattr__' in __dataclass__cls.__dict__:
2861
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
2862
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
2863
+
2864
+ def __hash__(self):
2865
+ return hash((
2866
+ self.v,
2867
+ ))
2868
+
2869
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
2870
+ setattr(__dataclass__cls, '__hash__', __hash__)
2871
+
2872
+ def __init__(
2873
+ self,
2874
+ v: __dataclass__init__fields__0__annotation,
2875
+ ) -> __dataclass__None:
2876
+ __dataclass__object_setattr(self, 'v', v)
2877
+
2878
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
2879
+ if '__init__' in __dataclass__cls.__dict__:
2880
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
2881
+ setattr(__dataclass__cls, '__init__', __init__)
2882
+
2883
+ @__dataclass___recursive_repr()
2884
+ def __repr__(self):
2885
+ parts = []
2886
+ parts.append(f"{self.v!r}")
2887
+ return (
2888
+ f"{self.__class__.__qualname__}("
2889
+ f"{', '.join(parts)}"
2890
+ f")"
2891
+ )
2892
+
2893
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
2894
+ if '__repr__' in __dataclass__cls.__dict__:
2895
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
2896
+ setattr(__dataclass__cls, '__repr__', __repr__)
2897
+
2898
+ return _process_dataclass
2899
+
2900
+
2901
+ @_register(
2902
+ plan_repr=(
2903
+ "Plans(tup=(CopyPlan(fields=('driver', 'interface', 'rendering')), EqPlan(fields=('driver', 'interface', 'rende"
2904
+ "ring')), FrozenPlan(fields=('driver', 'interface', 'rendering', 'configurable_cls'), allow_dynamic_dunder_attr"
2905
+ "s=False), HashPlan(action='add', fields=('driver', 'interface', 'rendering'), cache=False), InitPlan(fields=(I"
2906
+ "nitPlan.Field(name='driver', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.field"
2907
+ "s.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, va"
2908
+ "lidate=None, check_type=None), InitPlan.Field(name='interface', annotation=OpRef(name='init.fields.1.annotatio"
2909
+ "n'), default=OpRef(name='init.fields.1.default'), default_factory=None, init=True, override=False, field_type="
2910
+ "FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='rendering', annotation="
2911
+ "OpRef(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, ini"
2912
+ "t=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan."
2913
+ "Field(name='configurable_cls', annotation=OpRef(name='init.fields.3.annotation'), default=None, default_factor"
2914
+ "y=None, init=True, override=False, field_type=FieldType.CLASS_VAR, coerce=None, validate=None, check_type=None"
2915
+ ")), self_param='self', std_params=(), kw_only_params=('driver', 'interface', 'rendering'), frozen=True, slots="
2916
+ "False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='driver', kw"
2917
+ "_only=True, fn=None), ReprPlan.Field(name='interface', kw_only=True, fn=None), ReprPlan.Field(name='rendering'"
2918
+ ", kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
2919
+ ),
2920
+ plan_repr_sha1='9ae844d2d0421cd416bf6d9a25f3a9571a7e1251',
2921
+ op_ref_idents=(
2922
+ '__dataclass__init__fields__0__annotation',
2923
+ '__dataclass__init__fields__0__default',
2924
+ '__dataclass__init__fields__1__annotation',
2925
+ '__dataclass__init__fields__1__default',
2926
+ '__dataclass__init__fields__2__annotation',
2927
+ '__dataclass__init__fields__2__default',
2928
+ ),
2929
+ cls_names=(
2930
+ ('ommlds.cli.sessions.chat.session', 'ChatSession.Config'),
2931
+ ),
2932
+ )
2933
+ def _process_dataclass__9ae844d2d0421cd416bf6d9a25f3a9571a7e1251():
2934
+ def _process_dataclass(
2935
+ *,
2936
+ __dataclass__cls,
2937
+ __dataclass__init__fields__0__annotation,
2938
+ __dataclass__init__fields__0__default,
2939
+ __dataclass__init__fields__1__annotation,
2940
+ __dataclass__init__fields__1__default,
2941
+ __dataclass__init__fields__2__annotation,
2942
+ __dataclass__init__fields__2__default,
2943
+ __dataclass__FieldFnValidationError, # noqa
2944
+ __dataclass__FieldTypeValidationError, # noqa
2945
+ __dataclass__FnValidationError, # noqa
2946
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
2947
+ __dataclass__FunctionType=types.FunctionType, # noqa
2948
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
2949
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
2950
+ __dataclass__None=None, # noqa
2951
+ __dataclass__TypeError=TypeError, # noqa
2952
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
2953
+ __dataclass__isinstance=isinstance, # noqa
2954
+ __dataclass__object_setattr=object.__setattr__, # noqa
2955
+ __dataclass__property=property, # noqa
2956
+ ):
2957
+ def __copy__(self):
2958
+ if self.__class__ is not __dataclass__cls:
2959
+ raise TypeError(self)
2960
+ return __dataclass__cls( # noqa
2961
+ driver=self.driver,
2962
+ interface=self.interface,
2963
+ rendering=self.rendering,
2964
+ )
2965
+
2966
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
2967
+ if '__copy__' in __dataclass__cls.__dict__:
2968
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
2969
+ setattr(__dataclass__cls, '__copy__', __copy__)
2970
+
2971
+ def __eq__(self, other):
2972
+ if self is other:
2973
+ return True
2974
+ if self.__class__ is not other.__class__:
2975
+ return NotImplemented
2976
+ return (
2977
+ self.driver == other.driver and
2978
+ self.interface == other.interface and
2979
+ self.rendering == other.rendering
2980
+ )
2981
+
2982
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
2983
+ if '__eq__' in __dataclass__cls.__dict__:
2984
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
2985
+ setattr(__dataclass__cls, '__eq__', __eq__)
2986
+
2987
+ __dataclass___setattr_frozen_fields = {
2988
+ 'driver',
2989
+ 'interface',
2990
+ 'rendering',
2991
+ 'configurable_cls',
2992
+ }
2993
+
2994
+ def __setattr__(self, name, value):
2995
+ if (
2996
+ type(self) is __dataclass__cls
2997
+ or name in __dataclass___setattr_frozen_fields
2998
+ ):
2999
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
3000
+ super(__dataclass__cls, self).__setattr__(name, value)
3001
+
3002
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
3003
+ if '__setattr__' in __dataclass__cls.__dict__:
3004
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
3005
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
3006
+
3007
+ __dataclass___delattr_frozen_fields = {
3008
+ 'driver',
3009
+ 'interface',
3010
+ 'rendering',
3011
+ 'configurable_cls',
3012
+ }
3013
+
3014
+ def __delattr__(self, name):
3015
+ if (
3016
+ type(self) is __dataclass__cls
3017
+ or name in __dataclass___delattr_frozen_fields
3018
+ ):
3019
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
3020
+ super(__dataclass__cls, self).__delattr__(name)
3021
+
3022
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
3023
+ if '__delattr__' in __dataclass__cls.__dict__:
3024
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
3025
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
3026
+
3027
+ def __hash__(self):
3028
+ return hash((
3029
+ self.driver,
3030
+ self.interface,
3031
+ self.rendering,
3032
+ ))
3033
+
3034
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
3035
+ setattr(__dataclass__cls, '__hash__', __hash__)
3036
+
3037
+ def __init__(
3038
+ self,
3039
+ *,
3040
+ driver: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
3041
+ interface: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
3042
+ rendering: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
3043
+ ) -> __dataclass__None:
3044
+ __dataclass__object_setattr(self, 'driver', driver)
3045
+ __dataclass__object_setattr(self, 'interface', interface)
3046
+ __dataclass__object_setattr(self, 'rendering', rendering)
3047
+
3048
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
3049
+ if '__init__' in __dataclass__cls.__dict__:
3050
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
3051
+ setattr(__dataclass__cls, '__init__', __init__)
3052
+
3053
+ @__dataclass___recursive_repr()
3054
+ def __repr__(self):
3055
+ parts = []
3056
+ parts.append(f"driver={self.driver!r}")
3057
+ parts.append(f"interface={self.interface!r}")
3058
+ parts.append(f"rendering={self.rendering!r}")
3059
+ return (
3060
+ f"{self.__class__.__qualname__}("
3061
+ f"{', '.join(parts)}"
3062
+ f")"
3063
+ )
3064
+
3065
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
3066
+ if '__repr__' in __dataclass__cls.__dict__:
3067
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
3068
+ setattr(__dataclass__cls, '__repr__', __repr__)
3069
+
3070
+ return _process_dataclass
3071
+
3072
+
2594
3073
  @_register(
2595
3074
  plan_repr=(
2596
3075
  "Plans(tup=(CopyPlan(fields=('content', 'backend')), EqPlan(fields=('content', 'backend')), FrozenPlan(fields=("