ommlds 0.0.0.dev487__py3-none-any.whl → 0.0.0.dev488__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 (36) hide show
  1. ommlds/.omlish-manifests.json +54 -0
  2. ommlds/__about__.py +1 -1
  3. ommlds/backends/cerebras/__init__.py +7 -0
  4. ommlds/backends/cerebras/_dataclasses.py +4254 -0
  5. ommlds/backends/cerebras/_marshal.py +24 -0
  6. ommlds/backends/cerebras/protocol.py +312 -0
  7. ommlds/cli/_dataclasses.py +272 -88
  8. ommlds/cli/main.py +29 -9
  9. ommlds/cli/secrets.py +1 -0
  10. ommlds/cli/sessions/chat/chat/user/configs.py +0 -1
  11. ommlds/cli/sessions/chat/chat/user/inject.py +0 -7
  12. ommlds/cli/sessions/chat/configs.py +2 -0
  13. ommlds/cli/sessions/chat/inject.py +3 -0
  14. ommlds/cli/sessions/chat/interface/__init__.py +0 -0
  15. ommlds/cli/sessions/chat/interface/bare/__init__.py +0 -0
  16. ommlds/cli/sessions/chat/interface/bare/inject.py +28 -0
  17. ommlds/cli/sessions/chat/interface/bare/interface.py +19 -0
  18. ommlds/cli/sessions/chat/interface/base.py +13 -0
  19. ommlds/cli/sessions/chat/interface/configs.py +15 -0
  20. ommlds/cli/sessions/chat/interface/inject.py +24 -0
  21. ommlds/cli/sessions/chat/interface/textual/__init__.py +0 -0
  22. ommlds/cli/sessions/chat/interface/textual/app.py +14 -0
  23. ommlds/cli/sessions/chat/interface/textual/inject.py +20 -0
  24. ommlds/cli/sessions/chat/interface/textual/interface.py +22 -0
  25. ommlds/cli/sessions/chat/session.py +12 -4
  26. ommlds/minichain/backends/impls/cerebras/__init__.py +0 -0
  27. ommlds/minichain/backends/impls/cerebras/chat.py +80 -0
  28. ommlds/minichain/backends/impls/cerebras/names.py +30 -0
  29. ommlds/minichain/backends/impls/cerebras/protocol.py +143 -0
  30. ommlds/minichain/backends/impls/cerebras/stream.py +125 -0
  31. {ommlds-0.0.0.dev487.dist-info → ommlds-0.0.0.dev488.dist-info}/METADATA +6 -6
  32. {ommlds-0.0.0.dev487.dist-info → ommlds-0.0.0.dev488.dist-info}/RECORD +36 -16
  33. {ommlds-0.0.0.dev487.dist-info → ommlds-0.0.0.dev488.dist-info}/WHEEL +0 -0
  34. {ommlds-0.0.0.dev487.dist-info → ommlds-0.0.0.dev488.dist-info}/entry_points.txt +0 -0
  35. {ommlds-0.0.0.dev487.dist-info → ommlds-0.0.0.dev488.dist-info}/licenses/LICENSE +0 -0
  36. {ommlds-0.0.0.dev487.dist-info → ommlds-0.0.0.dev488.dist-info}/top_level.txt +0 -0
@@ -330,31 +330,34 @@ def _process_dataclass__fa5665ecddac4bdf52a6a47db3b5b5362a8b3c7a():
330
330
 
331
331
  @_register(
332
332
  plan_repr=(
333
- "Plans(tup=(CopyPlan(fields=('backend', 'ai', 'state', 'user', 'rendering', 'tools')), EqPlan(fields=('backend'"
334
- ", 'ai', 'state', 'user', 'rendering', 'tools')), FrozenPlan(fields=('backend', 'ai', 'state', 'user', 'renderi"
335
- "ng', 'tools'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('backend', 'ai', 'state', 'us"
336
- "er', 'rendering', 'tools'), cache=False), InitPlan(fields=(InitPlan.Field(name='backend', annotation=OpRef(nam"
337
- "e='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=True, o"
338
- "verride=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(nam"
339
- "e='ai', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields.1.default'), defaul"
340
- "t_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_ty"
341
- "pe=None), InitPlan.Field(name='state', annotation=OpRef(name='init.fields.2.annotation'), default=OpRef(name='"
342
- "init.fields.2.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerc"
343
- "e=None, validate=None, check_type=None), InitPlan.Field(name='user', annotation=OpRef(name='init.fields.3.anno"
344
- "tation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, override=False, field_"
345
- "type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='rendering', annota"
346
- "tion=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), default_factory=None"
347
- ", init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), Init"
348
- "Plan.Field(name='tools', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef(name='init.fields.5."
349
- "default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, valida"
350
- "te=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('backend', 'ai', 'state', 'user'"
351
- ", 'rendering', 'tools'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprP"
352
- "lan(fields=(ReprPlan.Field(name='backend', kw_only=True, fn=None), ReprPlan.Field(name='ai', kw_only=True, fn="
353
- "None), ReprPlan.Field(name='state', kw_only=True, fn=None), ReprPlan.Field(name='user', kw_only=True, fn=None)"
354
- ", ReprPlan.Field(name='rendering', kw_only=True, fn=None), ReprPlan.Field(name='tools', kw_only=True, fn=None)"
355
- "), id=False, terse=False, default_fn=None)))"
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)))"
356
359
  ),
357
- plan_repr_sha1='d7bd53eeb4e47004afc2820f52bcabdde108d61f',
360
+ plan_repr_sha1='2180520d95d2485daaddf191f085f81268419e67',
358
361
  op_ref_idents=(
359
362
  '__dataclass__init__fields__0__annotation',
360
363
  '__dataclass__init__fields__0__default',
@@ -368,12 +371,14 @@ def _process_dataclass__fa5665ecddac4bdf52a6a47db3b5b5362a8b3c7a():
368
371
  '__dataclass__init__fields__4__default',
369
372
  '__dataclass__init__fields__5__annotation',
370
373
  '__dataclass__init__fields__5__default',
374
+ '__dataclass__init__fields__6__annotation',
375
+ '__dataclass__init__fields__6__default',
371
376
  ),
372
377
  cls_names=(
373
378
  ('ommlds.cli.main', 'ChatConfig'),
374
379
  ),
375
380
  )
376
- def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
381
+ def _process_dataclass__2180520d95d2485daaddf191f085f81268419e67():
377
382
  def _process_dataclass(
378
383
  *,
379
384
  __dataclass__cls,
@@ -389,6 +394,8 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
389
394
  __dataclass__init__fields__4__default,
390
395
  __dataclass__init__fields__5__annotation,
391
396
  __dataclass__init__fields__5__default,
397
+ __dataclass__init__fields__6__annotation,
398
+ __dataclass__init__fields__6__default,
392
399
  __dataclass__FieldFnValidationError, # noqa
393
400
  __dataclass__FieldTypeValidationError, # noqa
394
401
  __dataclass__FnValidationError, # noqa
@@ -412,6 +419,7 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
412
419
  state=self.state,
413
420
  user=self.user,
414
421
  rendering=self.rendering,
422
+ interface=self.interface,
415
423
  tools=self.tools,
416
424
  )
417
425
 
@@ -431,6 +439,7 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
431
439
  self.state == other.state and
432
440
  self.user == other.user and
433
441
  self.rendering == other.rendering and
442
+ self.interface == other.interface and
434
443
  self.tools == other.tools
435
444
  )
436
445
 
@@ -445,6 +454,7 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
445
454
  'state',
446
455
  'user',
447
456
  'rendering',
457
+ 'interface',
448
458
  'tools',
449
459
  }
450
460
 
@@ -467,6 +477,7 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
467
477
  'state',
468
478
  'user',
469
479
  'rendering',
480
+ 'interface',
470
481
  'tools',
471
482
  }
472
483
 
@@ -490,6 +501,7 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
490
501
  self.state,
491
502
  self.user,
492
503
  self.rendering,
504
+ self.interface,
493
505
  self.tools,
494
506
  ))
495
507
 
@@ -504,13 +516,15 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
504
516
  state: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
505
517
  user: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
506
518
  rendering: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
507
- tools: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__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,
508
521
  ) -> __dataclass__None:
509
522
  __dataclass__object_setattr(self, 'backend', backend)
510
523
  __dataclass__object_setattr(self, 'ai', ai)
511
524
  __dataclass__object_setattr(self, 'state', state)
512
525
  __dataclass__object_setattr(self, 'user', user)
513
526
  __dataclass__object_setattr(self, 'rendering', rendering)
527
+ __dataclass__object_setattr(self, 'interface', interface)
514
528
  __dataclass__object_setattr(self, 'tools', tools)
515
529
 
516
530
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
@@ -526,6 +540,7 @@ def _process_dataclass__d7bd53eeb4e47004afc2820f52bcabdde108d61f():
526
540
  parts.append(f"state={self.state!r}")
527
541
  parts.append(f"user={self.user!r}")
528
542
  parts.append(f"rendering={self.rendering!r}")
543
+ parts.append(f"interface={self.interface!r}")
529
544
  parts.append(f"tools={self.tools!r}")
530
545
  return (
531
546
  f"{self.__class__.__qualname__}("
@@ -692,6 +707,174 @@ def _process_dataclass__010cef854496c65de48af9ea74be543fecd8bec1():
692
707
  return _process_dataclass
693
708
 
694
709
 
710
+ @_register(
711
+ 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)))"
726
+ ),
727
+ plan_repr_sha1='0c29bdcf28d77e398675068cd30b99ca2f7f6c9e',
728
+ op_ref_idents=(
729
+ '__dataclass__init__fields__0__annotation',
730
+ '__dataclass__init__fields__0__default',
731
+ '__dataclass__init__fields__1__annotation',
732
+ '__dataclass__init__fields__1__default',
733
+ '__dataclass__init__fields__2__annotation',
734
+ '__dataclass__init__fields__2__default',
735
+ ),
736
+ cls_names=(
737
+ ('ommlds.cli.main', 'InterfaceConfig'),
738
+ ),
739
+ )
740
+ def _process_dataclass__0c29bdcf28d77e398675068cd30b99ca2f7f6c9e():
741
+ def _process_dataclass(
742
+ *,
743
+ __dataclass__cls,
744
+ __dataclass__init__fields__0__annotation,
745
+ __dataclass__init__fields__0__default,
746
+ __dataclass__init__fields__1__annotation,
747
+ __dataclass__init__fields__1__default,
748
+ __dataclass__init__fields__2__annotation,
749
+ __dataclass__init__fields__2__default,
750
+ __dataclass__FieldFnValidationError, # noqa
751
+ __dataclass__FieldTypeValidationError, # noqa
752
+ __dataclass__FnValidationError, # noqa
753
+ __dataclass__FrozenInstanceError=dataclasses.FrozenInstanceError, # noqa
754
+ __dataclass__FunctionType=types.FunctionType, # noqa
755
+ __dataclass__HAS_DEFAULT_FACTORY=dataclasses._HAS_DEFAULT_FACTORY, # noqa
756
+ __dataclass__MISSING=dataclasses.MISSING, # noqa
757
+ __dataclass__None=None, # noqa
758
+ __dataclass__TypeError=TypeError, # noqa
759
+ __dataclass___recursive_repr=reprlib.recursive_repr, # noqa
760
+ __dataclass__isinstance=isinstance, # noqa
761
+ __dataclass__object_setattr=object.__setattr__, # noqa
762
+ __dataclass__property=property, # noqa
763
+ ):
764
+ def __copy__(self):
765
+ if self.__class__ is not __dataclass__cls:
766
+ raise TypeError(self)
767
+ return __dataclass__cls( # noqa
768
+ interactive=self.interactive,
769
+ use_textual=self.use_textual,
770
+ use_readline=self.use_readline,
771
+ )
772
+
773
+ __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
774
+ if '__copy__' in __dataclass__cls.__dict__:
775
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __copy__ in class {__dataclass__cls.__name__}")
776
+ setattr(__dataclass__cls, '__copy__', __copy__)
777
+
778
+ def __eq__(self, other):
779
+ if self is other:
780
+ return True
781
+ if self.__class__ is not other.__class__:
782
+ return NotImplemented
783
+ return (
784
+ self.interactive == other.interactive and
785
+ self.use_textual == other.use_textual and
786
+ self.use_readline == other.use_readline
787
+ )
788
+
789
+ __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
790
+ if '__eq__' in __dataclass__cls.__dict__:
791
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __eq__ in class {__dataclass__cls.__name__}")
792
+ setattr(__dataclass__cls, '__eq__', __eq__)
793
+
794
+ __dataclass___setattr_frozen_fields = {
795
+ 'interactive',
796
+ 'use_textual',
797
+ 'use_readline',
798
+ }
799
+
800
+ def __setattr__(self, name, value):
801
+ if (
802
+ type(self) is __dataclass__cls
803
+ or name in __dataclass___setattr_frozen_fields
804
+ ):
805
+ raise __dataclass__FrozenInstanceError(f"cannot assign to field {name!r}")
806
+ super(__dataclass__cls, self).__setattr__(name, value)
807
+
808
+ __setattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__setattr__"
809
+ if '__setattr__' in __dataclass__cls.__dict__:
810
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __setattr__ in class {__dataclass__cls.__name__}")
811
+ setattr(__dataclass__cls, '__setattr__', __setattr__)
812
+
813
+ __dataclass___delattr_frozen_fields = {
814
+ 'interactive',
815
+ 'use_textual',
816
+ 'use_readline',
817
+ }
818
+
819
+ def __delattr__(self, name):
820
+ if (
821
+ type(self) is __dataclass__cls
822
+ or name in __dataclass___delattr_frozen_fields
823
+ ):
824
+ raise __dataclass__FrozenInstanceError(f"cannot delete field {name!r}")
825
+ super(__dataclass__cls, self).__delattr__(name)
826
+
827
+ __delattr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__delattr__"
828
+ if '__delattr__' in __dataclass__cls.__dict__:
829
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __delattr__ in class {__dataclass__cls.__name__}")
830
+ setattr(__dataclass__cls, '__delattr__', __delattr__)
831
+
832
+ def __hash__(self):
833
+ return hash((
834
+ self.interactive,
835
+ self.use_textual,
836
+ self.use_readline,
837
+ ))
838
+
839
+ __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
840
+ setattr(__dataclass__cls, '__hash__', __hash__)
841
+
842
+ def __init__(
843
+ self,
844
+ *,
845
+ interactive: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
846
+ use_textual: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
847
+ use_readline: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
848
+ ) -> __dataclass__None:
849
+ __dataclass__object_setattr(self, 'interactive', interactive)
850
+ __dataclass__object_setattr(self, 'use_textual', use_textual)
851
+ __dataclass__object_setattr(self, 'use_readline', use_readline)
852
+
853
+ __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
854
+ if '__init__' in __dataclass__cls.__dict__:
855
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __init__ in class {__dataclass__cls.__name__}")
856
+ setattr(__dataclass__cls, '__init__', __init__)
857
+
858
+ @__dataclass___recursive_repr()
859
+ def __repr__(self):
860
+ parts = []
861
+ parts.append(f"interactive={self.interactive!r}")
862
+ parts.append(f"use_textual={self.use_textual!r}")
863
+ parts.append(f"use_readline={self.use_readline!r}")
864
+ return (
865
+ f"{self.__class__.__qualname__}("
866
+ f"{', '.join(parts)}"
867
+ f")"
868
+ )
869
+
870
+ __repr__.__qualname__ = f"{__dataclass__cls.__qualname__}.__repr__"
871
+ if '__repr__' in __dataclass__cls.__dict__:
872
+ raise __dataclass__TypeError(f"Cannot overwrite attribute __repr__ in class {__dataclass__cls.__name__}")
873
+ setattr(__dataclass__cls, '__repr__', __repr__)
874
+
875
+ return _process_dataclass
876
+
877
+
695
878
  @_register(
696
879
  plan_repr=(
697
880
  "Plans(tup=(CopyPlan(fields=('markdown',)), EqPlan(fields=('markdown',)), FrozenPlan(fields=('markdown',), allo"
@@ -1372,27 +1555,24 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1372
1555
 
1373
1556
  @_register(
1374
1557
  plan_repr=(
1375
- "Plans(tup=(CopyPlan(fields=('initial_system_content', 'initial_user_content', 'interactive', 'use_readline')),"
1376
- " EqPlan(fields=('initial_system_content', 'initial_user_content', 'interactive', 'use_readline')), FrozenPlan("
1377
- "fields=('initial_system_content', 'initial_user_content', 'interactive', 'use_readline'), allow_dynamic_dunder"
1378
- "_attrs=False), HashPlan(action='add', fields=('initial_system_content', 'initial_user_content', 'interactive',"
1379
- " 'use_readline'), cache=False), InitPlan(fields=(InitPlan.Field(name='initial_system_content', annotation=OpRe"
1380
- "f(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factory=None, init=Tr"
1381
- "ue, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Fiel"
1382
- "d(name='initial_user_content', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fie"
1383
- "lds.1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, "
1384
- "validate=None, check_type=None), InitPlan.Field(name='interactive', annotation=OpRef(name='init.fields.2.annot"
1385
- "ation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_t"
1386
- "ype=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='use_readline', anno"
1387
- "tation=OpRef(name='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory=No"
1388
- "ne, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), s"
1389
- "elf_param='self', std_params=(), kw_only_params=('initial_system_content', 'initial_user_content', 'interactiv"
1390
- "e', 'use_readline'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan("
1391
- "fields=(ReprPlan.Field(name='initial_system_content', kw_only=True, fn=None), ReprPlan.Field(name='initial_use"
1392
- "r_content', kw_only=True, fn=None), ReprPlan.Field(name='interactive', kw_only=True, fn=None), ReprPlan.Field("
1393
- "name='use_readline', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
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)))"
1394
1574
  ),
1395
- plan_repr_sha1='ad8f706819608fb705450357f229d03ce012b8db',
1575
+ plan_repr_sha1='bf389110f6a33ac341656be4d61e4640ffac3f50',
1396
1576
  op_ref_idents=(
1397
1577
  '__dataclass__init__fields__0__annotation',
1398
1578
  '__dataclass__init__fields__0__default',
@@ -1400,14 +1580,12 @@ def _process_dataclass__db9677a2fd3b495102177f315b60f0d1469bbee9():
1400
1580
  '__dataclass__init__fields__1__default',
1401
1581
  '__dataclass__init__fields__2__annotation',
1402
1582
  '__dataclass__init__fields__2__default',
1403
- '__dataclass__init__fields__3__annotation',
1404
- '__dataclass__init__fields__3__default',
1405
1583
  ),
1406
1584
  cls_names=(
1407
1585
  ('ommlds.cli.main', 'UserConfig'),
1408
1586
  ),
1409
1587
  )
1410
- def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1588
+ def _process_dataclass__bf389110f6a33ac341656be4d61e4640ffac3f50():
1411
1589
  def _process_dataclass(
1412
1590
  *,
1413
1591
  __dataclass__cls,
@@ -1417,8 +1595,6 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1417
1595
  __dataclass__init__fields__1__default,
1418
1596
  __dataclass__init__fields__2__annotation,
1419
1597
  __dataclass__init__fields__2__default,
1420
- __dataclass__init__fields__3__annotation,
1421
- __dataclass__init__fields__3__default,
1422
1598
  __dataclass__FieldFnValidationError, # noqa
1423
1599
  __dataclass__FieldTypeValidationError, # noqa
1424
1600
  __dataclass__FnValidationError, # noqa
@@ -1440,7 +1616,6 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1440
1616
  initial_system_content=self.initial_system_content,
1441
1617
  initial_user_content=self.initial_user_content,
1442
1618
  interactive=self.interactive,
1443
- use_readline=self.use_readline,
1444
1619
  )
1445
1620
 
1446
1621
  __copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
@@ -1456,8 +1631,7 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1456
1631
  return (
1457
1632
  self.initial_system_content == other.initial_system_content and
1458
1633
  self.initial_user_content == other.initial_user_content and
1459
- self.interactive == other.interactive and
1460
- self.use_readline == other.use_readline
1634
+ self.interactive == other.interactive
1461
1635
  )
1462
1636
 
1463
1637
  __eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
@@ -1469,7 +1643,6 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1469
1643
  'initial_system_content',
1470
1644
  'initial_user_content',
1471
1645
  'interactive',
1472
- 'use_readline',
1473
1646
  }
1474
1647
 
1475
1648
  def __setattr__(self, name, value):
@@ -1489,7 +1662,6 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1489
1662
  'initial_system_content',
1490
1663
  'initial_user_content',
1491
1664
  'interactive',
1492
- 'use_readline',
1493
1665
  }
1494
1666
 
1495
1667
  def __delattr__(self, name):
@@ -1510,7 +1682,6 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1510
1682
  self.initial_system_content,
1511
1683
  self.initial_user_content,
1512
1684
  self.interactive,
1513
- self.use_readline,
1514
1685
  ))
1515
1686
 
1516
1687
  __hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
@@ -1522,12 +1693,10 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1522
1693
  initial_system_content: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
1523
1694
  initial_user_content: __dataclass__init__fields__1__annotation = __dataclass__init__fields__1__default,
1524
1695
  interactive: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
1525
- use_readline: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
1526
1696
  ) -> __dataclass__None:
1527
1697
  __dataclass__object_setattr(self, 'initial_system_content', initial_system_content)
1528
1698
  __dataclass__object_setattr(self, 'initial_user_content', initial_user_content)
1529
1699
  __dataclass__object_setattr(self, 'interactive', interactive)
1530
- __dataclass__object_setattr(self, 'use_readline', use_readline)
1531
1700
 
1532
1701
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
1533
1702
  if '__init__' in __dataclass__cls.__dict__:
@@ -1540,7 +1709,6 @@ def _process_dataclass__ad8f706819608fb705450357f229d03ce012b8db():
1540
1709
  parts.append(f"initial_system_content={self.initial_system_content!r}")
1541
1710
  parts.append(f"initial_user_content={self.initial_user_content!r}")
1542
1711
  parts.append(f"interactive={self.interactive!r}")
1543
- parts.append(f"use_readline={self.use_readline!r}")
1544
1712
  return (
1545
1713
  f"{self.__class__.__qualname__}("
1546
1714
  f"{', '.join(parts)}"
@@ -2046,33 +2214,37 @@ def _process_dataclass__9f7e26a87dd163b610f38caa1ce9b3c6356e632a():
2046
2214
 
2047
2215
  @_register(
2048
2216
  plan_repr=(
2049
- "Plans(tup=(CopyPlan(fields=('backend', 'ai', 'state', 'user', 'rendering', 'tools')), EqPlan(fields=('backend'"
2050
- ", 'ai', 'state', 'user', 'rendering', 'tools')), FrozenPlan(fields=('backend', 'ai', 'state', 'user', 'renderi"
2051
- "ng', 'tools', 'configurable_cls'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('backend'"
2052
- ", 'ai', 'state', 'user', 'rendering', 'tools'), cache=False), InitPlan(fields=(InitPlan.Field(name='backend', "
2053
- "annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(name='init.fields.0.default'), default_factor"
2054
- "y=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)"
2055
- ", InitPlan.Field(name='ai', annotation=OpRef(name='init.fields.1.annotation'), default=OpRef(name='init.fields"
2056
- ".1.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, val"
2057
- "idate=None, check_type=None), InitPlan.Field(name='state', annotation=OpRef(name='init.fields.2.annotation'), "
2058
- "default=OpRef(name='init.fields.2.default'), default_factory=None, init=True, override=False, field_type=Field"
2059
- "Type.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='user', annotation=OpRef(name"
2060
- "='init.fields.3.annotation'), default=OpRef(name='init.fields.3.default'), default_factory=None, init=True, ov"
2061
- "erride=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name"
2062
- "='rendering', annotation=OpRef(name='init.fields.4.annotation'), default=OpRef(name='init.fields.4.default'), "
2063
- "default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, ch"
2064
- "eck_type=None), InitPlan.Field(name='tools', annotation=OpRef(name='init.fields.5.annotation'), default=OpRef("
2065
- "name='init.fields.5.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE,"
2066
- " coerce=None, validate=None, check_type=None), InitPlan.Field(name='configurable_cls', annotation=OpRef(name='"
2067
- "init.fields.6.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldTyp"
2068
- "e.CLASS_VAR, coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=("
2069
- "'backend', 'ai', 'state', 'user', 'rendering', 'tools'), frozen=True, slots=False, post_init_params=None, init"
2070
- "_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='backend', kw_only=True, fn=None), ReprPlan.Fi"
2071
- "eld(name='ai', kw_only=True, fn=None), ReprPlan.Field(name='state', kw_only=True, fn=None), ReprPlan.Field(nam"
2072
- "e='user', kw_only=True, fn=None), ReprPlan.Field(name='rendering', kw_only=True, fn=None), ReprPlan.Field(name"
2073
- "='tools', kw_only=True, fn=None)), id=False, terse=False, default_fn=None)))"
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)))"
2074
2246
  ),
2075
- plan_repr_sha1='2a3ef7bb5eaa4148e2dfb52433ac48683c100e35',
2247
+ plan_repr_sha1='a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1',
2076
2248
  op_ref_idents=(
2077
2249
  '__dataclass__init__fields__0__annotation',
2078
2250
  '__dataclass__init__fields__0__default',
@@ -2086,12 +2258,14 @@ def _process_dataclass__9f7e26a87dd163b610f38caa1ce9b3c6356e632a():
2086
2258
  '__dataclass__init__fields__4__default',
2087
2259
  '__dataclass__init__fields__5__annotation',
2088
2260
  '__dataclass__init__fields__5__default',
2261
+ '__dataclass__init__fields__6__annotation',
2262
+ '__dataclass__init__fields__6__default',
2089
2263
  ),
2090
2264
  cls_names=(
2091
2265
  ('ommlds.cli.sessions.chat.session', 'ChatSession.Config'),
2092
2266
  ),
2093
2267
  )
2094
- def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2268
+ def _process_dataclass__a6a8887ed8d1e4e64f9b1c02293f04e93cfdbcc1():
2095
2269
  def _process_dataclass(
2096
2270
  *,
2097
2271
  __dataclass__cls,
@@ -2107,6 +2281,8 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2107
2281
  __dataclass__init__fields__4__default,
2108
2282
  __dataclass__init__fields__5__annotation,
2109
2283
  __dataclass__init__fields__5__default,
2284
+ __dataclass__init__fields__6__annotation,
2285
+ __dataclass__init__fields__6__default,
2110
2286
  __dataclass__FieldFnValidationError, # noqa
2111
2287
  __dataclass__FieldTypeValidationError, # noqa
2112
2288
  __dataclass__FnValidationError, # noqa
@@ -2130,6 +2306,7 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2130
2306
  state=self.state,
2131
2307
  user=self.user,
2132
2308
  rendering=self.rendering,
2309
+ interface=self.interface,
2133
2310
  tools=self.tools,
2134
2311
  )
2135
2312
 
@@ -2149,6 +2326,7 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2149
2326
  self.state == other.state and
2150
2327
  self.user == other.user and
2151
2328
  self.rendering == other.rendering and
2329
+ self.interface == other.interface and
2152
2330
  self.tools == other.tools
2153
2331
  )
2154
2332
 
@@ -2163,6 +2341,7 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2163
2341
  'state',
2164
2342
  'user',
2165
2343
  'rendering',
2344
+ 'interface',
2166
2345
  'tools',
2167
2346
  'configurable_cls',
2168
2347
  }
@@ -2186,6 +2365,7 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2186
2365
  'state',
2187
2366
  'user',
2188
2367
  'rendering',
2368
+ 'interface',
2189
2369
  'tools',
2190
2370
  'configurable_cls',
2191
2371
  }
@@ -2210,6 +2390,7 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2210
2390
  self.state,
2211
2391
  self.user,
2212
2392
  self.rendering,
2393
+ self.interface,
2213
2394
  self.tools,
2214
2395
  ))
2215
2396
 
@@ -2224,13 +2405,15 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2224
2405
  state: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
2225
2406
  user: __dataclass__init__fields__3__annotation = __dataclass__init__fields__3__default,
2226
2407
  rendering: __dataclass__init__fields__4__annotation = __dataclass__init__fields__4__default,
2227
- tools: __dataclass__init__fields__5__annotation = __dataclass__init__fields__5__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,
2228
2410
  ) -> __dataclass__None:
2229
2411
  __dataclass__object_setattr(self, 'backend', backend)
2230
2412
  __dataclass__object_setattr(self, 'ai', ai)
2231
2413
  __dataclass__object_setattr(self, 'state', state)
2232
2414
  __dataclass__object_setattr(self, 'user', user)
2233
2415
  __dataclass__object_setattr(self, 'rendering', rendering)
2416
+ __dataclass__object_setattr(self, 'interface', interface)
2234
2417
  __dataclass__object_setattr(self, 'tools', tools)
2235
2418
 
2236
2419
  __init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
@@ -2246,6 +2429,7 @@ def _process_dataclass__2a3ef7bb5eaa4148e2dfb52433ac48683c100e35():
2246
2429
  parts.append(f"state={self.state!r}")
2247
2430
  parts.append(f"user={self.user!r}")
2248
2431
  parts.append(f"rendering={self.rendering!r}")
2432
+ parts.append(f"interface={self.interface!r}")
2249
2433
  parts.append(f"tools={self.tools!r}")
2250
2434
  return (
2251
2435
  f"{self.__class__.__qualname__}("