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.
- ommlds/.omlish-manifests.json +3 -3
- ommlds/README.md +11 -0
- ommlds/__about__.py +1 -1
- ommlds/backends/ollama/_dataclasses.py +53 -23
- ommlds/backends/ollama/protocol.py +3 -0
- ommlds/cli/_dataclasses.py +835 -356
- ommlds/cli/main.py +80 -41
- ommlds/cli/rendering/types.py +6 -0
- ommlds/cli/sessions/chat/configs.py +4 -12
- ommlds/cli/sessions/chat/{chat → drivers}/ai/configs.py +3 -1
- ommlds/cli/sessions/chat/drivers/ai/events.py +57 -0
- ommlds/cli/sessions/chat/{chat → drivers}/ai/inject.py +10 -3
- ommlds/cli/sessions/chat/{chat → drivers}/ai/rendering.py +1 -1
- ommlds/cli/sessions/chat/{chat → drivers}/ai/services.py +1 -1
- ommlds/cli/sessions/chat/{chat → drivers}/ai/tools.py +1 -1
- ommlds/cli/sessions/chat/{chat → drivers}/ai/types.py +9 -0
- ommlds/cli/sessions/chat/drivers/configs.py +25 -0
- ommlds/cli/sessions/chat/drivers/driver.py +49 -0
- ommlds/cli/sessions/chat/drivers/events/inject.py +27 -0
- ommlds/cli/sessions/chat/drivers/events/injection.py +14 -0
- ommlds/cli/sessions/chat/drivers/events/manager.py +16 -0
- ommlds/cli/sessions/chat/drivers/events/types.py +38 -0
- ommlds/cli/sessions/chat/drivers/inject.py +69 -0
- ommlds/cli/sessions/chat/{chat → drivers}/state/inject.py +3 -3
- ommlds/cli/sessions/chat/{chat → drivers}/state/types.py +1 -1
- ommlds/cli/sessions/chat/{tools → drivers/tools}/configs.py +2 -2
- ommlds/cli/sessions/chat/drivers/tools/confirmation.py +44 -0
- ommlds/cli/sessions/chat/{tools → drivers/tools}/execution.py +3 -4
- ommlds/cli/sessions/chat/{tools → drivers/tools}/fs/inject.py +3 -3
- ommlds/cli/sessions/chat/{tools → drivers/tools}/inject.py +4 -12
- ommlds/cli/sessions/chat/{tools → drivers/tools}/injection.py +1 -1
- ommlds/cli/sessions/chat/{tools → drivers/tools}/rendering.py +3 -3
- ommlds/cli/sessions/chat/{tools → drivers/tools}/todo/inject.py +3 -3
- ommlds/cli/sessions/chat/{tools → drivers/tools}/weather/tools.py +1 -1
- ommlds/cli/sessions/chat/drivers/types.py +10 -0
- ommlds/cli/sessions/chat/{chat → drivers}/user/configs.py +0 -2
- ommlds/cli/sessions/chat/drivers/user/inject.py +40 -0
- ommlds/cli/sessions/chat/inject.py +4 -32
- ommlds/cli/sessions/chat/interfaces/bare/inject.py +61 -0
- ommlds/cli/sessions/chat/interfaces/bare/interactive.py +41 -0
- ommlds/cli/sessions/chat/{interface/bare/interface.py → interfaces/bare/oneshot.py} +5 -3
- ommlds/cli/sessions/chat/{tools/confirmation.py → interfaces/bare/tools.py} +3 -22
- ommlds/cli/sessions/chat/{interface → interfaces}/bare/user.py +1 -1
- ommlds/cli/sessions/chat/{interface → interfaces}/configs.py +8 -0
- ommlds/cli/sessions/chat/interfaces/textual/__init__.py +0 -0
- ommlds/cli/sessions/chat/interfaces/textual/app.py +217 -0
- ommlds/cli/sessions/chat/interfaces/textual/inject.py +67 -0
- ommlds/cli/sessions/chat/{interface → interfaces}/textual/interface.py +0 -3
- ommlds/cli/sessions/chat/interfaces/textual/styles/__init__.py +29 -0
- ommlds/cli/sessions/chat/interfaces/textual/styles/input.tcss +51 -0
- ommlds/cli/sessions/chat/interfaces/textual/styles/markdown.tcss +7 -0
- ommlds/cli/sessions/chat/interfaces/textual/styles/messages.tcss +104 -0
- ommlds/cli/sessions/chat/interfaces/textual/widgets/__init__.py +0 -0
- ommlds/cli/sessions/chat/interfaces/textual/widgets/input.py +36 -0
- ommlds/cli/sessions/chat/interfaces/textual/widgets/messages.py +114 -0
- ommlds/cli/sessions/chat/session.py +1 -1
- ommlds/minichain/backends/impls/ollama/chat.py +24 -56
- ommlds/minichain/backends/impls/ollama/protocol.py +144 -0
- ommlds/nanochat/rustbpe/README.md +9 -0
- {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/METADATA +6 -6
- {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/RECORD +91 -73
- ommlds/cli/sessions/chat/chat/user/inject.py +0 -52
- ommlds/cli/sessions/chat/chat/user/oneshot.py +0 -25
- ommlds/cli/sessions/chat/chat/user/types.py +0 -15
- ommlds/cli/sessions/chat/driver.py +0 -43
- ommlds/cli/sessions/chat/interface/bare/inject.py +0 -32
- ommlds/cli/sessions/chat/interface/textual/app.py +0 -191
- ommlds/cli/sessions/chat/interface/textual/inject.py +0 -27
- ommlds/cli/sessions/chat/interface/textual/user.py +0 -20
- /ommlds/cli/sessions/chat/{chat → drivers}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{chat → drivers}/ai/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{chat → drivers}/ai/injection.py +0 -0
- /ommlds/cli/sessions/chat/{chat/state → drivers/events}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{chat/user → drivers/phases}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{phases → drivers/phases}/inject.py +0 -0
- /ommlds/cli/sessions/chat/{phases → drivers/phases}/injection.py +0 -0
- /ommlds/cli/sessions/chat/{phases → drivers/phases}/manager.py +0 -0
- /ommlds/cli/sessions/chat/{phases → drivers/phases}/types.py +0 -0
- /ommlds/cli/sessions/chat/{interface → drivers/state}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{chat → drivers}/state/configs.py +0 -0
- /ommlds/cli/sessions/chat/{chat → drivers}/state/inmemory.py +0 -0
- /ommlds/cli/sessions/chat/{chat → drivers}/state/storage.py +0 -0
- /ommlds/cli/sessions/chat/{interface/bare → drivers/tools}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{interface/textual → drivers/tools/fs}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{tools → drivers/tools}/fs/configs.py +0 -0
- /ommlds/cli/sessions/chat/{phases → drivers/tools/todo}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{tools → drivers/tools}/todo/configs.py +0 -0
- /ommlds/cli/sessions/chat/{tools → drivers/tools/weather}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{tools → drivers/tools}/weather/configs.py +0 -0
- /ommlds/cli/sessions/chat/{tools → drivers/tools}/weather/inject.py +0 -0
- /ommlds/cli/sessions/chat/{tools/fs → drivers/user}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{tools/todo → interfaces}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{tools/weather → interfaces/bare}/__init__.py +0 -0
- /ommlds/cli/sessions/chat/{interface → interfaces}/base.py +0 -0
- /ommlds/cli/sessions/chat/{interface → interfaces}/inject.py +0 -0
- {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/WHEEL +0 -0
- {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/entry_points.txt +0 -0
- {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/licenses/LICENSE +0 -0
- {ommlds-0.0.0.dev489.dist-info → ommlds-0.0.0.dev491.dist-info}/top_level.txt +0 -0
ommlds/.omlish-manifests.json
CHANGED
|
@@ -459,7 +459,7 @@
|
|
|
459
459
|
"module": ".minichain.backends.impls.ollama.chat",
|
|
460
460
|
"attr": null,
|
|
461
461
|
"file": "ommlds/minichain/backends/impls/ollama/chat.py",
|
|
462
|
-
"line":
|
|
462
|
+
"line": 35,
|
|
463
463
|
"value": {
|
|
464
464
|
"!.minichain.backends.strings.manifests.BackendStringsManifest": {
|
|
465
465
|
"service_cls_names": [
|
|
@@ -475,7 +475,7 @@
|
|
|
475
475
|
"module": ".minichain.backends.impls.ollama.chat",
|
|
476
476
|
"attr": null,
|
|
477
477
|
"file": "ommlds/minichain/backends/impls/ollama/chat.py",
|
|
478
|
-
"line":
|
|
478
|
+
"line": 68,
|
|
479
479
|
"value": {
|
|
480
480
|
"!.minichain.registries.manifests.RegistryManifest": {
|
|
481
481
|
"module": "ommlds.minichain.backends.impls.ollama.chat",
|
|
@@ -490,7 +490,7 @@
|
|
|
490
490
|
"module": ".minichain.backends.impls.ollama.chat",
|
|
491
491
|
"attr": null,
|
|
492
492
|
"file": "ommlds/minichain/backends/impls/ollama/chat.py",
|
|
493
|
-
"line":
|
|
493
|
+
"line": 111,
|
|
494
494
|
"value": {
|
|
495
495
|
"!.minichain.registries.manifests.RegistryManifest": {
|
|
496
496
|
"module": "ommlds.minichain.backends.impls.ollama.chat",
|
ommlds/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Overview
|
|
2
|
+
|
|
3
|
+
ML / AI code.
|
|
4
|
+
|
|
5
|
+
# Notable packages
|
|
6
|
+
|
|
7
|
+
- **[cli](https://github.com/wrmsr/omlish/blob/master/ommlds/cli)** (cli: `om mc`) - A general purpose ai cli, inspired
|
|
8
|
+
and in the spirit of [simonw's](https://github.com/simonw/llm) and others.
|
|
9
|
+
|
|
10
|
+
- **[minichain](https://github.com/wrmsr/omlish/blob/master/ommlds/minichain)** - *A thing that does the things
|
|
11
|
+
langchain people use langchain to do.*
|
ommlds/__about__.py
CHANGED
|
@@ -22,7 +22,7 @@ class Project(ProjectBase):
|
|
|
22
22
|
'llama-cpp-python ~= 0.3',
|
|
23
23
|
|
|
24
24
|
'mlx ~= 0.30; sys_platform == "darwin"',
|
|
25
|
-
'mlx-lm ~= 0.
|
|
25
|
+
'mlx-lm ~= 0.29; sys_platform == "darwin"',
|
|
26
26
|
|
|
27
27
|
# 'sentencepiece ~= 0.2', # FIXME: https://github.com/google/sentencepiece/issues/1121
|
|
28
28
|
|
|
@@ -2230,27 +2230,34 @@ def _process_dataclass__5ed26fc5132f873daeaffa682785bd1b47768acb():
|
|
|
2230
2230
|
|
|
2231
2231
|
@_register(
|
|
2232
2232
|
plan_repr=(
|
|
2233
|
-
"Plans(tup=(CopyPlan(fields=('function'
|
|
2234
|
-
"
|
|
2235
|
-
"
|
|
2236
|
-
"None, init=True, override=False, field_type=FieldType.INSTANCE,
|
|
2237
|
-
",
|
|
2238
|
-
"
|
|
2239
|
-
"
|
|
2233
|
+
"Plans(tup=(CopyPlan(fields=('id', 'function')), EqPlan(fields=('id', 'function')), FrozenPlan(fields=('id', 'f"
|
|
2234
|
+
"unction'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', fields=('id', 'function'), cache=False), "
|
|
2235
|
+
"InitPlan(fields=(InitPlan.Field(name='id', annotation=OpRef(name='init.fields.0.annotation'), default=OpRef(na"
|
|
2236
|
+
"me='init.fields.0.default'), default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE, c"
|
|
2237
|
+
"oerce=None, validate=None, check_type=None), InitPlan.Field(name='function', annotation=OpRef(name='init.field"
|
|
2238
|
+
"s.1.annotation'), default=None, default_factory=None, init=True, override=False, field_type=FieldType.INSTANCE"
|
|
2239
|
+
", coerce=None, validate=None, check_type=None)), self_param='self', std_params=(), kw_only_params=('id', 'func"
|
|
2240
|
+
"tion'), frozen=True, slots=False, post_init_params=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprP"
|
|
2241
|
+
"lan.Field(name='id', kw_only=True, fn=None), ReprPlan.Field(name='function', kw_only=True, fn=None)), id=False"
|
|
2242
|
+
", terse=False, default_fn=None)))"
|
|
2240
2243
|
),
|
|
2241
|
-
plan_repr_sha1='
|
|
2244
|
+
plan_repr_sha1='7d5771c082d3ad6a1d478102e83deb352ad93e34',
|
|
2242
2245
|
op_ref_idents=(
|
|
2243
2246
|
'__dataclass__init__fields__0__annotation',
|
|
2247
|
+
'__dataclass__init__fields__0__default',
|
|
2248
|
+
'__dataclass__init__fields__1__annotation',
|
|
2244
2249
|
),
|
|
2245
2250
|
cls_names=(
|
|
2246
2251
|
('ommlds.backends.ollama.protocol', 'Message.ToolCall'),
|
|
2247
2252
|
),
|
|
2248
2253
|
)
|
|
2249
|
-
def
|
|
2254
|
+
def _process_dataclass__7d5771c082d3ad6a1d478102e83deb352ad93e34():
|
|
2250
2255
|
def _process_dataclass(
|
|
2251
2256
|
*,
|
|
2252
2257
|
__dataclass__cls,
|
|
2253
2258
|
__dataclass__init__fields__0__annotation,
|
|
2259
|
+
__dataclass__init__fields__0__default,
|
|
2260
|
+
__dataclass__init__fields__1__annotation,
|
|
2254
2261
|
__dataclass__FieldFnValidationError, # noqa
|
|
2255
2262
|
__dataclass__FieldTypeValidationError, # noqa
|
|
2256
2263
|
__dataclass__FnValidationError, # noqa
|
|
@@ -2269,6 +2276,7 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2269
2276
|
if self.__class__ is not __dataclass__cls:
|
|
2270
2277
|
raise TypeError(self)
|
|
2271
2278
|
return __dataclass__cls( # noqa
|
|
2279
|
+
id=self.id,
|
|
2272
2280
|
function=self.function,
|
|
2273
2281
|
)
|
|
2274
2282
|
|
|
@@ -2283,6 +2291,7 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2283
2291
|
if self.__class__ is not other.__class__:
|
|
2284
2292
|
return NotImplemented
|
|
2285
2293
|
return (
|
|
2294
|
+
self.id == other.id and
|
|
2286
2295
|
self.function == other.function
|
|
2287
2296
|
)
|
|
2288
2297
|
|
|
@@ -2292,6 +2301,7 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2292
2301
|
setattr(__dataclass__cls, '__eq__', __eq__)
|
|
2293
2302
|
|
|
2294
2303
|
__dataclass___setattr_frozen_fields = {
|
|
2304
|
+
'id',
|
|
2295
2305
|
'function',
|
|
2296
2306
|
}
|
|
2297
2307
|
|
|
@@ -2309,6 +2319,7 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2309
2319
|
setattr(__dataclass__cls, '__setattr__', __setattr__)
|
|
2310
2320
|
|
|
2311
2321
|
__dataclass___delattr_frozen_fields = {
|
|
2322
|
+
'id',
|
|
2312
2323
|
'function',
|
|
2313
2324
|
}
|
|
2314
2325
|
|
|
@@ -2327,6 +2338,7 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2327
2338
|
|
|
2328
2339
|
def __hash__(self):
|
|
2329
2340
|
return hash((
|
|
2341
|
+
self.id,
|
|
2330
2342
|
self.function,
|
|
2331
2343
|
))
|
|
2332
2344
|
|
|
@@ -2336,8 +2348,10 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2336
2348
|
def __init__(
|
|
2337
2349
|
self,
|
|
2338
2350
|
*,
|
|
2339
|
-
|
|
2351
|
+
id: __dataclass__init__fields__0__annotation = __dataclass__init__fields__0__default,
|
|
2352
|
+
function: __dataclass__init__fields__1__annotation,
|
|
2340
2353
|
) -> __dataclass__None:
|
|
2354
|
+
__dataclass__object_setattr(self, 'id', id)
|
|
2341
2355
|
__dataclass__object_setattr(self, 'function', function)
|
|
2342
2356
|
|
|
2343
2357
|
__init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
|
|
@@ -2348,6 +2362,7 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2348
2362
|
@__dataclass___recursive_repr()
|
|
2349
2363
|
def __repr__(self):
|
|
2350
2364
|
parts = []
|
|
2365
|
+
parts.append(f"id={self.id!r}")
|
|
2351
2366
|
parts.append(f"function={self.function!r}")
|
|
2352
2367
|
return (
|
|
2353
2368
|
f"{self.__class__.__qualname__}("
|
|
@@ -2365,32 +2380,39 @@ def _process_dataclass__28bc958fe5292af1c044c0092dc3974a3184df3d():
|
|
|
2365
2380
|
|
|
2366
2381
|
@_register(
|
|
2367
2382
|
plan_repr=(
|
|
2368
|
-
"Plans(tup=(CopyPlan(fields=('name', 'arguments')), EqPlan(fields=('name', 'arguments')),
|
|
2369
|
-
"
|
|
2370
|
-
"
|
|
2371
|
-
"
|
|
2372
|
-
"
|
|
2373
|
-
", default=None, default_factory=None, init=True, override=False,
|
|
2374
|
-
"
|
|
2375
|
-
"
|
|
2376
|
-
"
|
|
2377
|
-
"
|
|
2383
|
+
"Plans(tup=(CopyPlan(fields=('name', 'arguments', 'index')), EqPlan(fields=('name', 'arguments', 'index')), Fro"
|
|
2384
|
+
"zenPlan(fields=('name', 'arguments', 'index'), allow_dynamic_dunder_attrs=False), HashPlan(action='add', field"
|
|
2385
|
+
"s=('name', 'arguments', 'index'), cache=False), InitPlan(fields=(InitPlan.Field(name='name', annotation=OpRef("
|
|
2386
|
+
"name='init.fields.0.annotation'), default=None, default_factory=None, init=True, override=False, field_type=Fi"
|
|
2387
|
+
"eldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='arguments', annotation=Op"
|
|
2388
|
+
"Ref(name='init.fields.1.annotation'), default=None, default_factory=None, init=True, override=False, field_typ"
|
|
2389
|
+
"e=FieldType.INSTANCE, coerce=None, validate=None, check_type=None), InitPlan.Field(name='index', annotation=Op"
|
|
2390
|
+
"Ref(name='init.fields.2.annotation'), default=OpRef(name='init.fields.2.default'), default_factory=None, init="
|
|
2391
|
+
"True, override=False, field_type=FieldType.INSTANCE, coerce=None, validate=None, check_type=None)), self_param"
|
|
2392
|
+
"='self', std_params=(), kw_only_params=('name', 'arguments', 'index'), frozen=True, slots=False, post_init_par"
|
|
2393
|
+
"ams=None, init_fns=(), validate_fns=()), ReprPlan(fields=(ReprPlan.Field(name='name', kw_only=True, fn=None), "
|
|
2394
|
+
"ReprPlan.Field(name='arguments', kw_only=True, fn=None), ReprPlan.Field(name='index', kw_only=True, fn=None)),"
|
|
2395
|
+
" id=False, terse=False, default_fn=None)))"
|
|
2378
2396
|
),
|
|
2379
|
-
plan_repr_sha1='
|
|
2397
|
+
plan_repr_sha1='c679b8dd972a245826381e3200fe81df0cd736c1',
|
|
2380
2398
|
op_ref_idents=(
|
|
2381
2399
|
'__dataclass__init__fields__0__annotation',
|
|
2382
2400
|
'__dataclass__init__fields__1__annotation',
|
|
2401
|
+
'__dataclass__init__fields__2__annotation',
|
|
2402
|
+
'__dataclass__init__fields__2__default',
|
|
2383
2403
|
),
|
|
2384
2404
|
cls_names=(
|
|
2385
2405
|
('ommlds.backends.ollama.protocol', 'Message.ToolCall.Function'),
|
|
2386
2406
|
),
|
|
2387
2407
|
)
|
|
2388
|
-
def
|
|
2408
|
+
def _process_dataclass__c679b8dd972a245826381e3200fe81df0cd736c1():
|
|
2389
2409
|
def _process_dataclass(
|
|
2390
2410
|
*,
|
|
2391
2411
|
__dataclass__cls,
|
|
2392
2412
|
__dataclass__init__fields__0__annotation,
|
|
2393
2413
|
__dataclass__init__fields__1__annotation,
|
|
2414
|
+
__dataclass__init__fields__2__annotation,
|
|
2415
|
+
__dataclass__init__fields__2__default,
|
|
2394
2416
|
__dataclass__FieldFnValidationError, # noqa
|
|
2395
2417
|
__dataclass__FieldTypeValidationError, # noqa
|
|
2396
2418
|
__dataclass__FnValidationError, # noqa
|
|
@@ -2411,6 +2433,7 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2411
2433
|
return __dataclass__cls( # noqa
|
|
2412
2434
|
name=self.name,
|
|
2413
2435
|
arguments=self.arguments,
|
|
2436
|
+
index=self.index,
|
|
2414
2437
|
)
|
|
2415
2438
|
|
|
2416
2439
|
__copy__.__qualname__ = f"{__dataclass__cls.__qualname__}.__copy__"
|
|
@@ -2425,7 +2448,8 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2425
2448
|
return NotImplemented
|
|
2426
2449
|
return (
|
|
2427
2450
|
self.name == other.name and
|
|
2428
|
-
self.arguments == other.arguments
|
|
2451
|
+
self.arguments == other.arguments and
|
|
2452
|
+
self.index == other.index
|
|
2429
2453
|
)
|
|
2430
2454
|
|
|
2431
2455
|
__eq__.__qualname__ = f"{__dataclass__cls.__qualname__}.__eq__"
|
|
@@ -2436,6 +2460,7 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2436
2460
|
__dataclass___setattr_frozen_fields = {
|
|
2437
2461
|
'name',
|
|
2438
2462
|
'arguments',
|
|
2463
|
+
'index',
|
|
2439
2464
|
}
|
|
2440
2465
|
|
|
2441
2466
|
def __setattr__(self, name, value):
|
|
@@ -2454,6 +2479,7 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2454
2479
|
__dataclass___delattr_frozen_fields = {
|
|
2455
2480
|
'name',
|
|
2456
2481
|
'arguments',
|
|
2482
|
+
'index',
|
|
2457
2483
|
}
|
|
2458
2484
|
|
|
2459
2485
|
def __delattr__(self, name):
|
|
@@ -2473,6 +2499,7 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2473
2499
|
return hash((
|
|
2474
2500
|
self.name,
|
|
2475
2501
|
self.arguments,
|
|
2502
|
+
self.index,
|
|
2476
2503
|
))
|
|
2477
2504
|
|
|
2478
2505
|
__hash__.__qualname__ = f"{__dataclass__cls.__qualname__}.__hash__"
|
|
@@ -2483,9 +2510,11 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2483
2510
|
*,
|
|
2484
2511
|
name: __dataclass__init__fields__0__annotation,
|
|
2485
2512
|
arguments: __dataclass__init__fields__1__annotation,
|
|
2513
|
+
index: __dataclass__init__fields__2__annotation = __dataclass__init__fields__2__default,
|
|
2486
2514
|
) -> __dataclass__None:
|
|
2487
2515
|
__dataclass__object_setattr(self, 'name', name)
|
|
2488
2516
|
__dataclass__object_setattr(self, 'arguments', arguments)
|
|
2517
|
+
__dataclass__object_setattr(self, 'index', index)
|
|
2489
2518
|
|
|
2490
2519
|
__init__.__qualname__ = f"{__dataclass__cls.__qualname__}.__init__"
|
|
2491
2520
|
if '__init__' in __dataclass__cls.__dict__:
|
|
@@ -2497,6 +2526,7 @@ def _process_dataclass__117a4dfaa89634a6031af8480bfa22336edf606d():
|
|
|
2497
2526
|
parts = []
|
|
2498
2527
|
parts.append(f"name={self.name!r}")
|
|
2499
2528
|
parts.append(f"arguments={self.arguments!r}")
|
|
2529
|
+
parts.append(f"index={self.index!r}")
|
|
2500
2530
|
return (
|
|
2501
2531
|
f"{self.__class__.__qualname__}("
|
|
2502
2532
|
f"{', '.join(parts)}"
|
|
@@ -131,10 +131,13 @@ class Message:
|
|
|
131
131
|
|
|
132
132
|
@dc.dataclass(frozen=True, kw_only=True)
|
|
133
133
|
class ToolCall:
|
|
134
|
+
id: str | None = None
|
|
135
|
+
|
|
134
136
|
@dc.dataclass(frozen=True, kw_only=True)
|
|
135
137
|
class Function:
|
|
136
138
|
name: str
|
|
137
139
|
arguments: ta.Mapping[str, ta.Any]
|
|
140
|
+
index: int | None = None
|
|
138
141
|
|
|
139
142
|
function: Function
|
|
140
143
|
|