tactus 0.37.0__py3-none-any.whl → 0.38.0__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.
- tactus/__init__.py +1 -1
- tactus/adapters/channels/base.py +2 -0
- tactus/cli/app.py +212 -57
- tactus/core/compaction.py +17 -0
- tactus/core/context_assembler.py +73 -0
- tactus/core/context_models.py +41 -0
- tactus/core/dsl_stubs.py +557 -17
- tactus/core/exceptions.py +8 -0
- tactus/core/execution_context.py +1 -1
- tactus/core/mocking.py +12 -0
- tactus/core/registry.py +142 -0
- tactus/core/retrieval.py +317 -0
- tactus/core/retriever_tasks.py +30 -0
- tactus/core/runtime.py +388 -74
- tactus/dspy/agent.py +143 -82
- tactus/dspy/config.py +16 -0
- tactus/dspy/module.py +12 -1
- tactus/ide/coding_assistant.py +2 -2
- tactus/primitives/handles.py +79 -7
- tactus/sandbox/config.py +1 -1
- tactus/sandbox/container_runner.py +2 -0
- tactus/sandbox/entrypoint.py +51 -8
- tactus/sandbox/protocol.py +5 -0
- tactus/stdlib/README.md +10 -1
- tactus/stdlib/biblicus/__init__.py +3 -0
- tactus/stdlib/biblicus/text.py +189 -0
- tactus/stdlib/tac/biblicus/text.tac +32 -0
- tactus/stdlib/tac/tactus/biblicus.spec.tac +179 -0
- tactus/stdlib/tac/tactus/corpora/base.tac +42 -0
- tactus/stdlib/tac/tactus/corpora/filesystem.tac +5 -0
- tactus/stdlib/tac/tactus/retrievers/base.tac +37 -0
- tactus/stdlib/tac/tactus/retrievers/embedding_index_file.tac +6 -0
- tactus/stdlib/tac/tactus/retrievers/embedding_index_inmemory.tac +6 -0
- tactus/stdlib/tac/tactus/retrievers/index.md +137 -0
- tactus/stdlib/tac/tactus/retrievers/init.tac +11 -0
- tactus/stdlib/tac/tactus/retrievers/sqlite_full_text_search.tac +6 -0
- tactus/stdlib/tac/tactus/retrievers/tf_vector.tac +6 -0
- tactus/testing/behave_integration.py +2 -0
- tactus/testing/context.py +4 -0
- tactus/validation/semantic_visitor.py +357 -6
- tactus/validation/validator.py +142 -2
- {tactus-0.37.0.dist-info → tactus-0.38.0.dist-info}/METADATA +3 -2
- {tactus-0.37.0.dist-info → tactus-0.38.0.dist-info}/RECORD +46 -28
- {tactus-0.37.0.dist-info → tactus-0.38.0.dist-info}/WHEEL +0 -0
- {tactus-0.37.0.dist-info → tactus-0.38.0.dist-info}/entry_points.txt +0 -0
- {tactus-0.37.0.dist-info → tactus-0.38.0.dist-info}/licenses/LICENSE +0 -0
tactus/validation/validator.py
CHANGED
|
@@ -9,6 +9,7 @@ Validates .tac files using ANTLR parser:
|
|
|
9
9
|
|
|
10
10
|
import logging
|
|
11
11
|
from enum import Enum
|
|
12
|
+
from pathlib import Path
|
|
12
13
|
from typing import Optional
|
|
13
14
|
|
|
14
15
|
from antlr4 import InputStream, CommonTokenStream
|
|
@@ -16,7 +17,7 @@ from .generated.LuaLexer import LuaLexer
|
|
|
16
17
|
from .generated.LuaParser import LuaParser
|
|
17
18
|
from .semantic_visitor import TactusDSLVisitor
|
|
18
19
|
from .error_listener import TactusErrorListener
|
|
19
|
-
from tactus.core.registry import ValidationResult, ValidationMessage
|
|
20
|
+
from tactus.core.registry import ValidationResult, ValidationMessage, TaskDeclaration
|
|
20
21
|
|
|
21
22
|
logger = logging.getLogger(__name__)
|
|
22
23
|
|
|
@@ -175,7 +176,101 @@ class TactusValidator:
|
|
|
175
176
|
try:
|
|
176
177
|
with open(file_path, "r") as source_file_handle:
|
|
177
178
|
source_text = source_file_handle.read()
|
|
178
|
-
|
|
179
|
+
primary_result = self.validate(source_text, mode)
|
|
180
|
+
if not primary_result.valid or mode == ValidationMode.QUICK:
|
|
181
|
+
return primary_result
|
|
182
|
+
registry = primary_result.registry
|
|
183
|
+
if not registry or not registry.include_tasks:
|
|
184
|
+
return primary_result
|
|
185
|
+
|
|
186
|
+
base_path = Path(file_path).parent
|
|
187
|
+
merged_registry = registry
|
|
188
|
+
include_queue = [
|
|
189
|
+
{
|
|
190
|
+
"path": include.get("path"),
|
|
191
|
+
"namespace": include.get("namespace"),
|
|
192
|
+
"base": base_path,
|
|
193
|
+
}
|
|
194
|
+
for include in registry.include_tasks
|
|
195
|
+
]
|
|
196
|
+
seen_includes: set[Path] = set()
|
|
197
|
+
|
|
198
|
+
while include_queue:
|
|
199
|
+
include = include_queue.pop(0)
|
|
200
|
+
include_path = include.get("path")
|
|
201
|
+
if not include_path:
|
|
202
|
+
continue
|
|
203
|
+
include_base = include.get("base") or base_path
|
|
204
|
+
include_file = (include_base / include_path).resolve()
|
|
205
|
+
if include_file in seen_includes:
|
|
206
|
+
return self._result_with_errors(
|
|
207
|
+
errors=[
|
|
208
|
+
ValidationMessage(
|
|
209
|
+
level="error",
|
|
210
|
+
message=f"IncludeTasks cycle detected: {include_file}",
|
|
211
|
+
)
|
|
212
|
+
]
|
|
213
|
+
)
|
|
214
|
+
seen_includes.add(include_file)
|
|
215
|
+
if not include_file.exists():
|
|
216
|
+
return self._result_with_errors(
|
|
217
|
+
errors=[
|
|
218
|
+
ValidationMessage(
|
|
219
|
+
level="error",
|
|
220
|
+
message=f"Included tasks file not found: {include_file}",
|
|
221
|
+
)
|
|
222
|
+
]
|
|
223
|
+
)
|
|
224
|
+
with open(include_file, "r") as include_handle:
|
|
225
|
+
include_source = include_handle.read()
|
|
226
|
+
include_result = self.validate(include_source, mode)
|
|
227
|
+
if not include_result.valid or not include_result.registry:
|
|
228
|
+
return include_result
|
|
229
|
+
if self._include_has_non_task_declarations(include_result.registry):
|
|
230
|
+
return self._result_with_errors(
|
|
231
|
+
errors=[
|
|
232
|
+
ValidationMessage(
|
|
233
|
+
level="error",
|
|
234
|
+
message=(
|
|
235
|
+
"IncludeTasks files must only contain Task declarations: "
|
|
236
|
+
f"{include_file}"
|
|
237
|
+
),
|
|
238
|
+
)
|
|
239
|
+
]
|
|
240
|
+
)
|
|
241
|
+
try:
|
|
242
|
+
self._merge_tasks(
|
|
243
|
+
merged_registry,
|
|
244
|
+
include_result.registry,
|
|
245
|
+
namespace=include.get("namespace"),
|
|
246
|
+
)
|
|
247
|
+
except ValueError as merge_error:
|
|
248
|
+
return self._result_with_errors(
|
|
249
|
+
errors=[
|
|
250
|
+
ValidationMessage(
|
|
251
|
+
level="error",
|
|
252
|
+
message=str(merge_error),
|
|
253
|
+
)
|
|
254
|
+
]
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
if include_result.registry.include_tasks:
|
|
258
|
+
include_queue.extend(
|
|
259
|
+
[
|
|
260
|
+
{
|
|
261
|
+
"path": nested.get("path"),
|
|
262
|
+
"namespace": nested.get("namespace"),
|
|
263
|
+
"base": include_file.parent,
|
|
264
|
+
}
|
|
265
|
+
for nested in include_result.registry.include_tasks
|
|
266
|
+
]
|
|
267
|
+
)
|
|
268
|
+
|
|
269
|
+
return self._result_success(
|
|
270
|
+
errors=primary_result.errors,
|
|
271
|
+
warnings=primary_result.warnings,
|
|
272
|
+
registry=merged_registry,
|
|
273
|
+
)
|
|
179
274
|
except FileNotFoundError:
|
|
180
275
|
return self._result_with_errors(
|
|
181
276
|
errors=[
|
|
@@ -194,3 +289,48 @@ class TactusValidator:
|
|
|
194
289
|
)
|
|
195
290
|
]
|
|
196
291
|
)
|
|
292
|
+
|
|
293
|
+
def _include_has_non_task_declarations(self, registry) -> bool:
|
|
294
|
+
if registry is None:
|
|
295
|
+
return False
|
|
296
|
+
return any(
|
|
297
|
+
[
|
|
298
|
+
registry.agents,
|
|
299
|
+
registry.toolsets,
|
|
300
|
+
registry.lua_tools,
|
|
301
|
+
registry.contexts,
|
|
302
|
+
registry.corpora,
|
|
303
|
+
registry.retrievers,
|
|
304
|
+
registry.compactors,
|
|
305
|
+
registry.named_procedures,
|
|
306
|
+
registry.specifications,
|
|
307
|
+
registry.dependencies,
|
|
308
|
+
registry.models,
|
|
309
|
+
registry.hitl_points,
|
|
310
|
+
registry.mocks,
|
|
311
|
+
registry.agent_mocks,
|
|
312
|
+
registry.prompts,
|
|
313
|
+
]
|
|
314
|
+
)
|
|
315
|
+
|
|
316
|
+
def _merge_tasks(
|
|
317
|
+
self,
|
|
318
|
+
target_registry,
|
|
319
|
+
include_registry,
|
|
320
|
+
namespace: Optional[str] = None,
|
|
321
|
+
) -> None:
|
|
322
|
+
if not include_registry.tasks:
|
|
323
|
+
return
|
|
324
|
+
if namespace:
|
|
325
|
+
if namespace in target_registry.tasks:
|
|
326
|
+
raise ValueError(f"Duplicate task namespace '{namespace}'")
|
|
327
|
+
target_registry.tasks[namespace] = TaskDeclaration(
|
|
328
|
+
name=namespace,
|
|
329
|
+
children=include_registry.tasks,
|
|
330
|
+
)
|
|
331
|
+
return
|
|
332
|
+
|
|
333
|
+
for task_name, task in include_registry.tasks.items():
|
|
334
|
+
if task_name in target_registry.tasks:
|
|
335
|
+
raise ValueError(f"Duplicate task '{task_name}'")
|
|
336
|
+
target_registry.tasks[task_name] = task
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tactus
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.38.0
|
|
4
4
|
Summary: Tactus: Lua-based DSL for agentic workflows
|
|
5
5
|
Project-URL: Homepage, https://github.com/AnthusAI/Tactus
|
|
6
6
|
Project-URL: Documentation, https://github.com/AnthusAI/Tactus/tree/main/docs
|
|
@@ -23,6 +23,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
23
23
|
Requires-Python: >=3.9
|
|
24
24
|
Requires-Dist: antlr4-python3-runtime==4.13.1
|
|
25
25
|
Requires-Dist: behave>=1.2.6
|
|
26
|
+
Requires-Dist: biblicus>=1.0.0
|
|
26
27
|
Requires-Dist: boto3>=1.28.0
|
|
27
28
|
Requires-Dist: dotyaml>=0.1.4
|
|
28
29
|
Requires-Dist: dspy>=2.5
|
|
@@ -41,7 +42,7 @@ Requires-Dist: openpyxl>=3.1
|
|
|
41
42
|
Requires-Dist: opentelemetry-api>=1.39.1
|
|
42
43
|
Requires-Dist: opentelemetry-sdk>=1.39.1
|
|
43
44
|
Requires-Dist: pyarrow>=14.0
|
|
44
|
-
Requires-Dist: pydantic-ai
|
|
45
|
+
Requires-Dist: pydantic-ai
|
|
45
46
|
Requires-Dist: pydantic>=2.0
|
|
46
47
|
Requires-Dist: pyyaml
|
|
47
48
|
Requires-Dist: rapidfuzz>=3.0.0
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
tactus/__init__.py,sha256=
|
|
1
|
+
tactus/__init__.py,sha256=g5cqIhFTf2v9_3EjAdhFDjXJWMvCrtSaYVs7B7LpU7M,1245
|
|
2
2
|
tactus/adapters/__init__.py,sha256=47Y8kGBR4QGxqEGvjA1mneOSACb2L7oELnj6P2uI7uk,759
|
|
3
3
|
tactus/adapters/broker_log.py,sha256=9ZR-rJdyW6bMNZx3OfXoQEnDxcAzNsiJ8aPxZGqJYrM,6019
|
|
4
4
|
tactus/adapters/cli_hitl.py,sha256=Nrfoi35Ei9fTMReLG2QxKkhKyIvl3pYcAUdQCAUOZDk,17361
|
|
@@ -14,7 +14,7 @@ tactus/adapters/mcp_manager.py,sha256=mDfU6dcQSpgV6fsgsFJqXM4Ayi-LDCGinWVki1_bCK
|
|
|
14
14
|
tactus/adapters/memory.py,sha256=fCBNMIQQMVOUgFM39_Kky2idffP1sCifSjRafZsBbkg,2060
|
|
15
15
|
tactus/adapters/plugins.py,sha256=DRLvQT7GIy1q-PGhs80p6wswEs_arhYmhfe4O6sb5WU,14513
|
|
16
16
|
tactus/adapters/channels/__init__.py,sha256=oh1ymJmP8Lalq6JSDnXEnPdKMiPosAuqiUYF_HxEO64,4925
|
|
17
|
-
tactus/adapters/channels/base.py,sha256=
|
|
17
|
+
tactus/adapters/channels/base.py,sha256=mnH0AIZstfCB_huR2YBNZn17pu5KuhZJB_bAC4ZFJTQ,6490
|
|
18
18
|
tactus/adapters/channels/broker.py,sha256=agJKxWbYw0gas7rLBmd9QM6_B3Qa6nSalOE_i1emzwk,7477
|
|
19
19
|
tactus/adapters/channels/cli.py,sha256=lC4WcUuVZD7ik5DkKDmaHTzA2axfnH7yKhWvAH55MuQ,16847
|
|
20
20
|
tactus/adapters/channels/host.py,sha256=t3Rf5f5_mnaAvtuKgt_YB1_t0z7CbYrqBgHAJCyLGPw,7907
|
|
@@ -29,20 +29,25 @@ tactus/broker/protocol.py,sha256=v4DFSVoecerqxbqK-vbRfYEAD10tk-QXNH_d9PFgkWg,534
|
|
|
29
29
|
tactus/broker/server.py,sha256=s0_Uokovf5s-IR8Ieb3r1h9dnt4eO_PT0aycwuHwhks,56236
|
|
30
30
|
tactus/broker/stdio.py,sha256=JXkEz-PCU3IQXNkt16YJtYmwkR43eS6CfjxAHc-YCfQ,439
|
|
31
31
|
tactus/cli/__init__.py,sha256=kVhdCkwWEPdt3vn9si-iKvh6M9817aOH6rLSsNzRuyg,80
|
|
32
|
-
tactus/cli/app.py,sha256
|
|
32
|
+
tactus/cli/app.py,sha256=-w6iY0rjbTn3TCV9vTIrUp7wV2WdHmeWa16ZgD7yEC4,102181
|
|
33
33
|
tactus/cli/control.py,sha256=jCKKy8f6x8wV5im-MwxOtgz85oYLTHhPKXx-3FtRwoU,13364
|
|
34
34
|
tactus/cli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
35
|
tactus/core/__init__.py,sha256=TK5rWr3HmOO_igFa5ESGp6teWwS58vnvQhIWqkcgqwk,880
|
|
36
|
+
tactus/core/compaction.py,sha256=mVwFsEb9FEc-bMPFcKgXyAO-pVnAXeQGZka7RWtjVsY,397
|
|
36
37
|
tactus/core/config_manager.py,sha256=kxz853j4Nx97SBh8-fAar_OfmfWZvvcfafLyxjTQG1A,35131
|
|
37
|
-
tactus/core/
|
|
38
|
-
tactus/core/
|
|
39
|
-
tactus/core/
|
|
38
|
+
tactus/core/context_assembler.py,sha256=tbd-XACBvAFkBlPrzAAZ_L-2JGnO4meS-GL4ilE7XHw,2406
|
|
39
|
+
tactus/core/context_models.py,sha256=YHKjHKEzLk3fgpkmXYQ9RWDPKRNStt92ve40xcMv3p0,975
|
|
40
|
+
tactus/core/dsl_stubs.py,sha256=3yg7yWcflDPOOzbLG7VmHh7yZPXf1G_q6sdYt5DWPOw,109777
|
|
41
|
+
tactus/core/exceptions.py,sha256=r-4IrZw_WrioBkpMR42Q3LNwEqimJ6jxXgfOo2wANTM,1962
|
|
42
|
+
tactus/core/execution_context.py,sha256=OgTe9E0xc3nTQbCTEaaBfI11dVA1-J0eFz0eQR4XMZY,29402
|
|
40
43
|
tactus/core/lua_sandbox.py,sha256=Ln2P1gdxVl396HLvEw7FmDKV3eVdVdbDzYHMbDSEciY,19106
|
|
41
44
|
tactus/core/message_history_manager.py,sha256=zBzZeymwg5Z_JvYznxwQPrzrgDNM4iyFQjn402OB4LE,11823
|
|
42
|
-
tactus/core/mocking.py,sha256=
|
|
45
|
+
tactus/core/mocking.py,sha256=nhZCS3UClpr62PQAlV56GqvntnWbng-xuom7vKjzQp8,9954
|
|
43
46
|
tactus/core/output_validator.py,sha256=LcSjgAiDRvzsj2uWasQihengQRt7R-ZYaPiLQPbZyQE,10732
|
|
44
|
-
tactus/core/registry.py,sha256=
|
|
45
|
-
tactus/core/
|
|
47
|
+
tactus/core/registry.py,sha256=z5HFoi1zb81-TJ_6qeTWSte4J0Zw-NYmN19VjjBjJE8,26577
|
|
48
|
+
tactus/core/retrieval.py,sha256=AMDa4X4YWaSDNdf3T3hRUzgM4W1l_sGqxAX5Jki5PH0,12083
|
|
49
|
+
tactus/core/retriever_tasks.py,sha256=i2wsoZN9cZOypkdPAJKqlrRP_jwtqpHVCFoxPL0Iirk,931
|
|
50
|
+
tactus/core/runtime.py,sha256=kwDM88Ell2RkOkEbwmI5v92fQOLeruod-dpbCTq6hM0,155443
|
|
46
51
|
tactus/core/template_resolver.py,sha256=r97KzFNaK4nFSoWtIFZeSKyuUWgbp-ay1_BGrb-BgUY,4179
|
|
47
52
|
tactus/core/yaml_parser.py,sha256=JD7Nehaxw3uP1KV_uTU_xiXTbEWqoKOceU5tAJ4lcH8,13985
|
|
48
53
|
tactus/core/dependencies/__init__.py,sha256=28-TM7_i-JqTD3hvkq1kMzr__A8VjfIKXymdW9mn5NM,362
|
|
@@ -58,23 +63,23 @@ tactus/docs/templates/base.html,sha256=7ZNIKnAR7bsEug6_3uw68oooz8ity4T77a7IImJ6h
|
|
|
58
63
|
tactus/docs/templates/index.html,sha256=6yMzjeajTvPexzKaLrKBetTrup5_fMs1vfGZIz11uaM,1848
|
|
59
64
|
tactus/docs/templates/module.html,sha256=0Tp7NETi7g77xpuqaaR0VpLVeVuz4SI544873yHpOdg,2772
|
|
60
65
|
tactus/dspy/__init__.py,sha256=beUkvMUFdPvZE9-bEOfRo2TH-FoCvPT_L9_dpJPW324,1226
|
|
61
|
-
tactus/dspy/agent.py,sha256=
|
|
66
|
+
tactus/dspy/agent.py,sha256=eyP96iXJNJ0RE0if1i9vEyQXnJ0Au3zDyat0Yfeck2Q,66316
|
|
62
67
|
tactus/dspy/broker_lm.py,sha256=3uIhgHjRl4MdLIEEqPwmnuXaTQZHrVVxrgbhNG8dCLo,8636
|
|
63
|
-
tactus/dspy/config.py,sha256=
|
|
68
|
+
tactus/dspy/config.py,sha256=uSrt80esbM2uRs3wEndvEB-gMAhXcmKNQkusyNBS24M,7465
|
|
64
69
|
tactus/dspy/history.py,sha256=rnynY_xHQv5zQ0Ys8Pf6p3v8HrrKrX2sgyyOxyqx6FU,6066
|
|
65
|
-
tactus/dspy/module.py,sha256=
|
|
70
|
+
tactus/dspy/module.py,sha256=jfQdQWGF2N4BBGBqeyVSw1qKvPWbBaX4B9v-BGrRhX4,22139
|
|
66
71
|
tactus/dspy/prediction.py,sha256=nnofvBPGFX7bvYdTVcEMVcIXC5EVrRQ21QsnC1PRHeU,9758
|
|
67
72
|
tactus/dspy/signature.py,sha256=NQWyYVMPGxPHT3Tf4Wuk4FDVmKphSADW_o9fRWmk84Q,6052
|
|
68
73
|
tactus/formatting/__init__.py,sha256=pkwfAJwMxdRha2oahXoUrVjk6if7QH5d1U5t5dF2fXc,162
|
|
69
74
|
tactus/formatting/formatter.py,sha256=DfHp977t5reMPIWZwRChRE5Yflw7xGgTNUM0AOcS8LQ,14510
|
|
70
75
|
tactus/ide/__init__.py,sha256=1fSC0xWP-Lq5wl4FgDq7SMnkvZ0DxXupreTl3ZRX1zw,143
|
|
71
|
-
tactus/ide/coding_assistant.py,sha256=
|
|
76
|
+
tactus/ide/coding_assistant.py,sha256=i2cfT6uMSM7TEFw-9p9Ed_BWSbAMqgokoaFdbjKAQcg,12187
|
|
72
77
|
tactus/ide/config_server.py,sha256=U8OWxi5l24GH1lUHIAQ8WB8j0cJ5ofLX9iVecW1O2vc,18862
|
|
73
78
|
tactus/ide/server.py,sha256=nE_UDiXJZN7G-RzPD-guZ_4qPxPl722qcrv4UY6bjII,111151
|
|
74
79
|
tactus/primitives/__init__.py,sha256=x6bGwoa9DizKUwqsg7SqURfJxisEdctTCv1XnSAZxIk,1709
|
|
75
80
|
tactus/primitives/control.py,sha256=jw-7ggHtNLfFL5aTUUs6Fo5y4xsxEG8OIRe0RyIjVnc,4783
|
|
76
81
|
tactus/primitives/file.py,sha256=GFHmXOADRllfJw6gHpIdVMmZ_ZS7DVgresQ0F71nqJE,7458
|
|
77
|
-
tactus/primitives/handles.py,sha256=
|
|
82
|
+
tactus/primitives/handles.py,sha256=RqX-bSAMSVScOw33CfmLBG2MPwpvaov1UN-g2tJJWcQ,14728
|
|
78
83
|
tactus/primitives/host.py,sha256=yjNc5nKLfGCBNu8nR0c49N50hhQ7MxfDsHbjKvMH010,3557
|
|
79
84
|
tactus/primitives/human.py,sha256=YTxw0LXtTL_hxm2G1fhNxR9Qa7n9MJGG9OD9WGRTnp0,36507
|
|
80
85
|
tactus/primitives/json.py,sha256=-uFwrr9y2kfFLy3D7q8oLAgM1p3mUmfIL-DX36TA6sQ,5771
|
|
@@ -108,14 +113,16 @@ tactus/providers/bedrock.py,sha256=cVNDV7uHhCnnL6BNl7DFF8OwkD9ZYqa9CP2wXMcCJGY,3
|
|
|
108
113
|
tactus/providers/google.py,sha256=wgZ3eiQif1rq1T8BK5V2kL_QVCmqBQZuWLz37y9cxOQ,3123
|
|
109
114
|
tactus/providers/openai.py,sha256=3qSXfdELTHdU7vuRSxQrtnfNctt0HhrePOLFj3YlViA,2692
|
|
110
115
|
tactus/sandbox/__init__.py,sha256=UCBvPD63szvSdwSzpznLW-cnJOgGkVHiKcmJtsAmnuA,1424
|
|
111
|
-
tactus/sandbox/config.py,sha256=
|
|
112
|
-
tactus/sandbox/container_runner.py,sha256=
|
|
116
|
+
tactus/sandbox/config.py,sha256=273ZI_9OWpGOBXo_yMQWZzgm4phRyA3POsLqExUw3_A,5812
|
|
117
|
+
tactus/sandbox/container_runner.py,sha256=Yo_VhSyjIT7BU7460xMJpid2LTA73orVk96mNfIcPeg,47622
|
|
113
118
|
tactus/sandbox/docker_manager.py,sha256=2oWu7_E6l4KNhGFt9gPAjiKrIqjhY9_YM71U72_OI3c,14793
|
|
114
|
-
tactus/sandbox/entrypoint.py,sha256=
|
|
115
|
-
tactus/sandbox/protocol.py,sha256=
|
|
116
|
-
tactus/stdlib/README.md,sha256=
|
|
119
|
+
tactus/sandbox/entrypoint.py,sha256=9lBiDQxxbGGjp8bpf9d1gp1hsSe4iE_wwjGCbDtYo78,9774
|
|
120
|
+
tactus/sandbox/protocol.py,sha256=kW8I9lVpOluPeDFOxJEeZjXrXtSllY90HU8dSteBa8s,6371
|
|
121
|
+
tactus/stdlib/README.md,sha256=AqKYj7JxtphfKJlhq_sNezIUPfblzzubzdxE3PheiQE,2576
|
|
117
122
|
tactus/stdlib/__init__.py,sha256=NkRsL413VXr0rLAadbb3meP5TelwcrEFVJd1u39XCbk,1047
|
|
118
123
|
tactus/stdlib/loader.py,sha256=qjVnz5mn3Uu7g1O4vjSREHkR-YdRoON1vqJQq-oiFIE,8679
|
|
124
|
+
tactus/stdlib/biblicus/__init__.py,sha256=Y6Nb-wp33KeDtkjBccZrGYlyR98yhZBm1RfmiKIJHm8,50
|
|
125
|
+
tactus/stdlib/biblicus/text.py,sha256=KMbMlaGQsrAwXgCShoLs54xYDoLm-s0Ymob5zZOhOeY,6285
|
|
119
126
|
tactus/stdlib/classify/__init__.py,sha256=51Lqge0g0Q6GWXkmw42HwuqkkDCsww9VBcoreYId374,5623
|
|
120
127
|
tactus/stdlib/classify/classify.spec.tac,sha256=0yuRD_2dbPKTuhyqwk3vtsj_R3kwGoSEiEF4OY-ARqA,6475
|
|
121
128
|
tactus/stdlib/classify/classify.tac,sha256=KvOXLihspPK1_g2GcT9wnLkynDubglp1S_JUfZlo-88,6850
|
|
@@ -140,6 +147,8 @@ tactus/stdlib/io/hdf5.py,sha256=7ELLaQZI1GOsycU1a60J6RTPNLH7EMdaPAYlNx0dQLA,3025
|
|
|
140
147
|
tactus/stdlib/io/json.py,sha256=P6C6rIwAxY97MivCanxKF8TmRotIUxBlHcuv8etmLu8,2641
|
|
141
148
|
tactus/stdlib/io/parquet.py,sha256=hycr0pjqysjhggHx7_UZJL_jkeP1wz8BCozL39EWk-0,2045
|
|
142
149
|
tactus/stdlib/io/tsv.py,sha256=456V2g-dp0mOTxo0ojM-rQl-LlmeV6WAVh0HmEDd_kQ,2350
|
|
150
|
+
tactus/stdlib/tac/biblicus/text.tac,sha256=DXe4YW2_bBhvNHg3OF9K_Sxw9o-nuwHWBlrAuzFoP-Q,691
|
|
151
|
+
tactus/stdlib/tac/tactus/biblicus.spec.tac,sha256=JRvyL_JQZVq6kCSKW10hrRpJRDKtfnjeGwOYpbSgd8w,6709
|
|
143
152
|
tactus/stdlib/tac/tactus/classify.spec.tac,sha256=UVXRaYx8Z-oLjnaiYaTOnq-gF4NlC14q0F2yBFJXmxk,6469
|
|
144
153
|
tactus/stdlib/tac/tactus/extract.spec.tac,sha256=Unj7bIgZWfUUuyxrh66fQKRy2sDpWUEu_Q7x3tkicPE,5534
|
|
145
154
|
tactus/stdlib/tac/tactus/generate.spec.tac,sha256=4IA31Cwx5QQOcvqnazIYXBXFy8l7v3ruQpzdgsgsgRw,6982
|
|
@@ -148,6 +157,8 @@ tactus/stdlib/tac/tactus/classify/fuzzy.tac,sha256=bgG9qt4z8x81szFU3PdhsefBAvWrv
|
|
|
148
157
|
tactus/stdlib/tac/tactus/classify/index.md,sha256=gt6QVfqwTDSsREpOYDCisN-C99ou2vjZevZ_8xmYRSQ,2413
|
|
149
158
|
tactus/stdlib/tac/tactus/classify/init.tac,sha256=B2qXZzgcN6W7-IVBgGkFtlGgvGB3F9VpnAEoJyTD_j0,876
|
|
150
159
|
tactus/stdlib/tac/tactus/classify/llm.tac,sha256=1jKnHDpwtT_L8eq2UdIhdb5Y3Vt8I_Q9mBhYycEyyWI,4195
|
|
160
|
+
tactus/stdlib/tac/tactus/corpora/base.tac,sha256=D6tacnx6zW77tvmDi8xG_asdcvPlLE5IiLvDIQ5NDso,936
|
|
161
|
+
tactus/stdlib/tac/tactus/corpora/filesystem.tac,sha256=DTKnvQ153zwHVLtmlAsB6Cz2jJitpUObYzOFgtluI9I,89
|
|
151
162
|
tactus/stdlib/tac/tactus/extract/base.tac,sha256=OI7Fx9VdkAJYQI9qQGTW4ylbwU0tEOAAJQBfLyD6IrU,3884
|
|
152
163
|
tactus/stdlib/tac/tactus/extract/index.md,sha256=ZrXVgJasEqLwyS6SJ-fG_jRym4YUQJ9NbC7NVQIWOM4,2756
|
|
153
164
|
tactus/stdlib/tac/tactus/extract/init.tac,sha256=cyzvlO1rWOX3xHYDezUmexux0Zvs-44PluBcLNGxmSo,738
|
|
@@ -156,12 +167,19 @@ tactus/stdlib/tac/tactus/generate/base.tac,sha256=hNEOnXDHtgSNE1AU8UO940FsH8EJ5T
|
|
|
156
167
|
tactus/stdlib/tac/tactus/generate/index.md,sha256=zCOxHmF-nzYf5HazheBqZBhq-Dnr-ESmOhQdhtg6Sz4,6315
|
|
157
168
|
tactus/stdlib/tac/tactus/generate/init.tac,sha256=342rzePc1shBLAmG_EFeo0Wt6JuFg87Pm8Tk3h3QoxU,806
|
|
158
169
|
tactus/stdlib/tac/tactus/generate/llm.tac,sha256=HXF_p31nWe_sRICvVOojg4zI6TsJ7iWVMW83zB3QyM0,5327
|
|
170
|
+
tactus/stdlib/tac/tactus/retrievers/base.tac,sha256=NXs5NhiQv9hKDDEjQtE3LsfjEDw5RHGj4zH1w3zihkk,808
|
|
171
|
+
tactus/stdlib/tac/tactus/retrievers/embedding_index_file.tac,sha256=XXEe7boM8vunXWduz1DTPdm0jmg0q90Ns2j58cXc8d4,170
|
|
172
|
+
tactus/stdlib/tac/tactus/retrievers/embedding_index_inmemory.tac,sha256=-UzeXOm3bu4JdDS5WVj_SU3HNFKXgVit6VyotyACO94,174
|
|
173
|
+
tactus/stdlib/tac/tactus/retrievers/index.md,sha256=fgGhli3sJEqiJeSwGmAZobNt78d_LtOdcAu6tRmrNww,2662
|
|
174
|
+
tactus/stdlib/tac/tactus/retrievers/init.tac,sha256=Hh7kQKCK5MtDetSX4iyEq2u1Ts3we0tqz_4wU8EweEU,492
|
|
175
|
+
tactus/stdlib/tac/tactus/retrievers/sqlite_full_text_search.tac,sha256=KoRqi7disyyMHWQIT_dneFe2FT1mCIEZtRhayr_fpKw,173
|
|
176
|
+
tactus/stdlib/tac/tactus/retrievers/tf_vector.tac,sha256=VoeoB-xPyWfcns5h03NF9jbnZIBFU9e5jVyd-yGJnwk,159
|
|
159
177
|
tactus/stdlib/tac/tactus/tools/done.tac,sha256=_PobbaUQY2PUZg-qy2eJ2jhdx2-UllePnvW_tFdGFao,729
|
|
160
178
|
tactus/stdlib/tac/tactus/tools/log.tac,sha256=sNGYUSkehvKmrgag1b8rHpDME09MQbL4qkt9Kfd0jgg,1389
|
|
161
179
|
tactus/testing/README.md,sha256=fUumwbVC56d7ZB2srAKSb7XxQ0vHFKPbZz70Zv59KRY,6840
|
|
162
180
|
tactus/testing/__init__.py,sha256=M5b3r9E0vkltfhqfIOSASk-qp6fDnm3FBxc9dDBPUhU,1540
|
|
163
|
-
tactus/testing/behave_integration.py,sha256=
|
|
164
|
-
tactus/testing/context.py,sha256=
|
|
181
|
+
tactus/testing/behave_integration.py,sha256=I9A8G4-pGg_S8KlmEozaRFmP15kaAR6s1fbGbH3YVKs,22155
|
|
182
|
+
tactus/testing/context.py,sha256=ycrHiGCrm-eAQ5_zvS23lDm5yoBvlI4oRrmftKtOeTs,18773
|
|
165
183
|
tactus/testing/eval_models.py,sha256=UI3geZp4vilbn3Jt4Mjy95luRVON3T4sGnAwlpb7jLo,3540
|
|
166
184
|
tactus/testing/evaluation_runner.py,sha256=Mu-wVDlF9BwA8aOxAdMer8E7-VfZPBgyI09R6HMHmRg,6989
|
|
167
185
|
tactus/testing/evaluators.py,sha256=NW_LHhssdMRYCCoYmtJIsst-DEsk8iBVebsxRyHx7I0,20751
|
|
@@ -192,8 +210,8 @@ tactus/validation/LuaParserBase.py,sha256=o3klCIY0ANkVCU0VHml0IOYE4CdEledeoyoIAP
|
|
|
192
210
|
tactus/validation/README.md,sha256=AS6vr4blY7IKWRsj4wuvWBHVMTc5fto7IgNmv-Rjkdo,5366
|
|
193
211
|
tactus/validation/__init__.py,sha256=rnap-YvNievWigYYUewuXBcLtAdjZ8YpeJDYS1T7XZM,153
|
|
194
212
|
tactus/validation/error_listener.py,sha256=MPkvsVbojwYjNA8MpapG_GNtR6ZDyb3cTt7aLwekCtM,1010
|
|
195
|
-
tactus/validation/semantic_visitor.py,sha256=
|
|
196
|
-
tactus/validation/validator.py,sha256=
|
|
213
|
+
tactus/validation/semantic_visitor.py,sha256=frs7zc66rQkAKtPwshMSXYxXyqyYxEV9TokOiRY5lxo,57135
|
|
214
|
+
tactus/validation/validator.py,sha256=JSQHmI3EkNjJsPxrztTszJGuNuHyyaDdRsV62I4P0QU,11911
|
|
197
215
|
tactus/validation/generated/LuaLexer.interp,sha256=B-Xb6HNXS7YYYQB_cvsWzf8OQLFnEhZHDN5vCOyP3yw,20444
|
|
198
216
|
tactus/validation/generated/LuaLexer.py,sha256=6B-HNB_vAp3bA5iACLvMWw0R4KFENsuiG7bccysxbRQ,67252
|
|
199
217
|
tactus/validation/generated/LuaLexer.tokens,sha256=uo4NdATiGedhiDccWz1jXH5tYJWyT3OZ0216z1Zif7E,1005
|
|
@@ -206,8 +224,8 @@ tactus/validation/generated/LuaParserVisitor.py,sha256=ageKSmHPxnO3jBS2fBtkmYBOd
|
|
|
206
224
|
tactus/validation/generated/__init__.py,sha256=5gWlwRI0UvmHw2fnBpj_IG6N8oZeabr5tbj1AODDvjc,196
|
|
207
225
|
tactus/validation/grammar/LuaLexer.g4,sha256=t2MXiTCr127RWAyQGvamkcU_m4veqPzSuHUtAKwalw4,2771
|
|
208
226
|
tactus/validation/grammar/LuaParser.g4,sha256=ceZenb90BdiZmVdOxMGj9qJk3QbbWVZe5HUqPgoePfY,3202
|
|
209
|
-
tactus-0.
|
|
210
|
-
tactus-0.
|
|
211
|
-
tactus-0.
|
|
212
|
-
tactus-0.
|
|
213
|
-
tactus-0.
|
|
227
|
+
tactus-0.38.0.dist-info/METADATA,sha256=aWNJ9IXllKc79gX9ed4X-MSGqjGSiEtGT8xTdYHQzjA,60383
|
|
228
|
+
tactus-0.38.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
229
|
+
tactus-0.38.0.dist-info/entry_points.txt,sha256=vWseqty8m3z-Worje0IYxlioMjPDCoSsm0AtY4GghBY,47
|
|
230
|
+
tactus-0.38.0.dist-info/licenses/LICENSE,sha256=ivohBcAIYnaLPQ-lKEeCXSMvQUVISpQfKyxHBHoa4GA,1066
|
|
231
|
+
tactus-0.38.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|