alita-sdk 0.3.602__py3-none-any.whl → 0.3.609__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.
Potentially problematic release.
This version of alita-sdk might be problematic. Click here for more details.
- alita_sdk/cli/agents.py +108 -826
- alita_sdk/cli/testcases/__init__.py +94 -0
- alita_sdk/cli/testcases/data_generation.py +119 -0
- alita_sdk/cli/testcases/discovery.py +96 -0
- alita_sdk/cli/testcases/executor.py +84 -0
- alita_sdk/cli/testcases/logger.py +85 -0
- alita_sdk/cli/testcases/parser.py +172 -0
- alita_sdk/cli/testcases/prompts.py +91 -0
- alita_sdk/cli/testcases/reporting.py +125 -0
- alita_sdk/cli/testcases/setup.py +108 -0
- alita_sdk/cli/testcases/test_runner.py +282 -0
- alita_sdk/cli/testcases/utils.py +39 -0
- alita_sdk/cli/testcases/validation.py +90 -0
- alita_sdk/cli/testcases/workflow.py +196 -0
- alita_sdk/configurations/openapi.py +2 -2
- alita_sdk/runtime/clients/artifact.py +1 -1
- alita_sdk/runtime/tools/artifact.py +253 -8
- alita_sdk/runtime/tools/llm.py +12 -11
- alita_sdk/tools/bitbucket/api_wrapper.py +31 -30
- alita_sdk/tools/bitbucket/cloud_api_wrapper.py +49 -35
- alita_sdk/tools/confluence/api_wrapper.py +8 -1
- alita_sdk/tools/elitea_base.py +40 -36
- alita_sdk/tools/figma/api_wrapper.py +140 -83
- alita_sdk/tools/github/github_client.py +18 -10
- alita_sdk/tools/github/graphql_client_wrapper.py +1 -0
- alita_sdk/tools/utils/text_operations.py +156 -52
- {alita_sdk-0.3.602.dist-info → alita_sdk-0.3.609.dist-info}/METADATA +1 -1
- {alita_sdk-0.3.602.dist-info → alita_sdk-0.3.609.dist-info}/RECORD +32 -19
- {alita_sdk-0.3.602.dist-info → alita_sdk-0.3.609.dist-info}/WHEEL +0 -0
- {alita_sdk-0.3.602.dist-info → alita_sdk-0.3.609.dist-info}/entry_points.txt +0 -0
- {alita_sdk-0.3.602.dist-info → alita_sdk-0.3.609.dist-info}/licenses/LICENSE +0 -0
- {alita_sdk-0.3.602.dist-info → alita_sdk-0.3.609.dist-info}/top_level.txt +0 -0
|
@@ -1156,13 +1156,18 @@ class GitHubClient(BaseModel):
|
|
|
1156
1156
|
file_path, edit_content = file_query.split("\n", 1)
|
|
1157
1157
|
file_path = file_path.strip()
|
|
1158
1158
|
|
|
1159
|
-
#
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1159
|
+
# Set temporary repo override for internal helpers
|
|
1160
|
+
self._tmp_repo_for_edit = repo_name
|
|
1161
|
+
try:
|
|
1162
|
+
return self.edit_file(
|
|
1163
|
+
file_path=file_path,
|
|
1164
|
+
file_query=edit_content,
|
|
1165
|
+
branch=branch,
|
|
1166
|
+
commit_message=commit_message or f"Update {file_path}",
|
|
1167
|
+
)
|
|
1168
|
+
finally:
|
|
1169
|
+
if hasattr(self, "_tmp_repo_for_edit"):
|
|
1170
|
+
delattr(self, "_tmp_repo_for_edit")
|
|
1166
1171
|
except Exception as e:
|
|
1167
1172
|
return f"Unable to update file due to error:\n{str(e)}"
|
|
1168
1173
|
|
|
@@ -1400,11 +1405,12 @@ class GitHubClient(BaseModel):
|
|
|
1400
1405
|
str: The file decoded as a string, or an error message if not found
|
|
1401
1406
|
"""
|
|
1402
1407
|
try:
|
|
1403
|
-
repo
|
|
1408
|
+
# Prefer temporary repo set by update_file, then explicit repo_name
|
|
1409
|
+
effective_repo = getattr(self, "_tmp_repo_for_edit", None) or repo_name
|
|
1410
|
+
repo = self.github_api.get_repo(effective_repo) if effective_repo else self.github_repo_instance
|
|
1404
1411
|
file = repo.get_contents(file_path, ref=branch)
|
|
1405
1412
|
return file.decoded_content.decode("utf-8")
|
|
1406
1413
|
except Exception as e:
|
|
1407
|
-
from traceback import format_exc
|
|
1408
1414
|
return f"File not found `{file_path}` on branch `{branch}`. Error: {str(e)}"
|
|
1409
1415
|
|
|
1410
1416
|
def read_file(self, file_path: str, branch: Optional[str] = None, repo_name: Optional[str] = None) -> str:
|
|
@@ -1442,7 +1448,9 @@ class GitHubClient(BaseModel):
|
|
|
1442
1448
|
Success message
|
|
1443
1449
|
"""
|
|
1444
1450
|
try:
|
|
1445
|
-
repo
|
|
1451
|
+
# Prefer temporary repo set by update_file, then explicit repo_name
|
|
1452
|
+
effective_repo = getattr(self, "_tmp_repo_for_edit", None) or repo_name
|
|
1453
|
+
repo = self.github_api.get_repo(effective_repo) if effective_repo else self.github_repo_instance
|
|
1446
1454
|
branch = branch or self.active_branch
|
|
1447
1455
|
|
|
1448
1456
|
if branch == self.github_base_branch:
|
|
@@ -26,48 +26,119 @@ TEXT_EDITABLE_EXTENSIONS = {
|
|
|
26
26
|
def parse_old_new_markers(file_query: str) -> List[Tuple[str, str]]:
|
|
27
27
|
"""Parse OLD/NEW marker-based edit instructions.
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
Format:
|
|
30
|
+
|
|
31
|
+
OLD <<<<[optional text or newline]
|
|
32
|
+
... OLD content ...
|
|
33
|
+
>>>> OLD
|
|
34
|
+
NEW <<<<[optional text or newline]
|
|
35
|
+
... NEW content ...
|
|
36
|
+
>>>> NEW
|
|
37
|
+
|
|
38
|
+
Rules:
|
|
39
|
+
- OLD block:
|
|
40
|
+
- Starts at the first line that contains "OLD <<<<".
|
|
41
|
+
- OLD content includes:
|
|
42
|
+
* On that line: everything after the first "OLD <<<<" (if any),
|
|
43
|
+
* Plus all following lines up to (but not including) the first line
|
|
44
|
+
that contains ">>>> OLD".
|
|
45
|
+
- NEW block:
|
|
46
|
+
- Starts at the first line, after the OLD block, that contains "NEW <<<<".
|
|
47
|
+
- NEW content includes:
|
|
48
|
+
* On that line: everything after the first "NEW <<<<" (if any),
|
|
49
|
+
* Plus all following lines up to (but not including) the first line
|
|
50
|
+
that contains ">>>> NEW".
|
|
51
|
+
- Only the first complete OLD/NEW pair is returned.
|
|
39
52
|
|
|
40
53
|
Args:
|
|
41
54
|
file_query: String containing marked old and new content sections.
|
|
42
55
|
|
|
43
56
|
Returns:
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
57
|
+
A list with at most one (old_content, new_content) tuple. Each
|
|
58
|
+
content string includes newlines but excludes the marker substrings
|
|
59
|
+
and their closing lines.
|
|
47
60
|
"""
|
|
48
|
-
# Primary pattern: correct 4-< markers
|
|
49
|
-
pattern_primary = re.compile(
|
|
50
|
-
r"OLD <<<<(\s*.*?\s*)>>>> OLD" # OLD block
|
|
51
|
-
r"\s*" # optional whitespace between OLD/NEW
|
|
52
|
-
r"NEW <<<<(\s*.*?\s*)>>>> NEW", # NEW block
|
|
53
|
-
re.DOTALL,
|
|
54
|
-
)
|
|
55
61
|
|
|
56
|
-
|
|
62
|
+
if not file_query:
|
|
63
|
+
return []
|
|
57
64
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
lines = file_query.splitlines(keepends=True)
|
|
66
|
+
|
|
67
|
+
old_open = "OLD <<<<"
|
|
68
|
+
old_close = ">>>> OLD"
|
|
69
|
+
new_open = "NEW <<<<"
|
|
70
|
+
new_close = ">>>> NEW"
|
|
71
|
+
|
|
72
|
+
state = "search_old" # -> in_old -> search_new -> in_new
|
|
73
|
+
old_parts: list[str] = []
|
|
74
|
+
new_parts: list[str] = []
|
|
75
|
+
|
|
76
|
+
i = 0
|
|
77
|
+
n = len(lines)
|
|
78
|
+
|
|
79
|
+
# 1. Find OLD block
|
|
80
|
+
while i < n and state == "search_old":
|
|
81
|
+
line = lines[i]
|
|
82
|
+
pos = line.find(old_open)
|
|
83
|
+
if pos != -1:
|
|
84
|
+
# Start OLD content after the first "OLD <<<<" on this line
|
|
85
|
+
after = line[pos + len(old_open):]
|
|
86
|
+
old_parts.append(after)
|
|
87
|
+
state = "in_old"
|
|
88
|
+
i += 1
|
|
89
|
+
|
|
90
|
+
if state != "in_old":
|
|
91
|
+
# No OLD block found
|
|
92
|
+
return []
|
|
93
|
+
|
|
94
|
+
# Collect until a line containing ">>>> OLD"
|
|
95
|
+
while i < n and state == "in_old":
|
|
96
|
+
line = lines[i]
|
|
97
|
+
if old_close in line:
|
|
98
|
+
# Stop before this line; do not include any part of it
|
|
99
|
+
state = "search_new"
|
|
100
|
+
else:
|
|
101
|
+
old_parts.append(line)
|
|
102
|
+
i += 1
|
|
103
|
+
|
|
104
|
+
if state != "search_new":
|
|
105
|
+
# Didn't find a proper OLD close
|
|
106
|
+
return []
|
|
107
|
+
|
|
108
|
+
# 2. Find NEW block after OLD
|
|
109
|
+
while i < n and state == "search_new":
|
|
110
|
+
line = lines[i]
|
|
111
|
+
pos = line.find(new_open)
|
|
112
|
+
if pos != -1:
|
|
113
|
+
# NEW content starts from the *next* line after the marker line
|
|
114
|
+
state = "in_new"
|
|
115
|
+
i += 1
|
|
116
|
+
break
|
|
117
|
+
i += 1
|
|
118
|
+
|
|
119
|
+
if state != "in_new":
|
|
120
|
+
# No NEW block found
|
|
121
|
+
return []
|
|
122
|
+
|
|
123
|
+
# Collect until a line containing ">>>> NEW"
|
|
124
|
+
while i < n and state == "in_new":
|
|
125
|
+
line = lines[i]
|
|
126
|
+
close_pos = line.rfind(new_close)
|
|
127
|
+
if close_pos != -1:
|
|
128
|
+
# Include content up to but not including the *last* ">>>> NEW" on the line
|
|
129
|
+
before_close = line[:close_pos]
|
|
130
|
+
new_parts.append(before_close)
|
|
131
|
+
break
|
|
132
|
+
else:
|
|
133
|
+
new_parts.append(line)
|
|
134
|
+
i += 1
|
|
135
|
+
|
|
136
|
+
if not old_parts or not new_parts:
|
|
137
|
+
return []
|
|
67
138
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return [(
|
|
139
|
+
old_content = "".join(old_parts)
|
|
140
|
+
new_content = "".join(new_parts)
|
|
141
|
+
return [(old_content, new_content)]
|
|
71
142
|
|
|
72
143
|
|
|
73
144
|
def is_text_editable(filename: str) -> bool:
|
|
@@ -250,7 +321,7 @@ def try_apply_edit(
|
|
|
250
321
|
old_text: str,
|
|
251
322
|
new_text: str,
|
|
252
323
|
file_path: Optional[str] = None,
|
|
253
|
-
) -> Tuple[str,
|
|
324
|
+
) -> Tuple[str, Optional[str]]:
|
|
254
325
|
"""Apply a single OLD/NEW edit with a tolerant fallback.
|
|
255
326
|
|
|
256
327
|
This helper is used by edit_file to apply one (old_text, new_text) pair:
|
|
@@ -271,21 +342,53 @@ def try_apply_edit(
|
|
|
271
342
|
file_path: Optional path for logging context
|
|
272
343
|
|
|
273
344
|
Returns:
|
|
274
|
-
(updated_content,
|
|
345
|
+
(updated_content, warning_message)
|
|
346
|
+
- updated_content: resulting content (may be unchanged)
|
|
347
|
+
- warning_message: human-readable warning if no edit was applied
|
|
348
|
+
or if the operation was ambiguous; None if an edit was
|
|
349
|
+
successfully and unambiguously applied.
|
|
275
350
|
"""
|
|
276
351
|
# Stage 1: exact match
|
|
277
|
-
if old_text
|
|
278
|
-
|
|
352
|
+
if old_text:
|
|
353
|
+
occurrences = content.count(old_text)
|
|
354
|
+
if occurrences == 1:
|
|
355
|
+
return content.replace(old_text, new_text, 1), None
|
|
356
|
+
if occurrences > 1:
|
|
357
|
+
msg = (
|
|
358
|
+
"Exact OLD block appears %d times in %s; no replacement applied to avoid ambiguity. "
|
|
359
|
+
"OLD value: %r" % (
|
|
360
|
+
occurrences,
|
|
361
|
+
file_path or "<unknown>",
|
|
362
|
+
old_text,
|
|
363
|
+
)
|
|
364
|
+
)
|
|
365
|
+
logger.warning(msg)
|
|
366
|
+
return content, msg
|
|
279
367
|
|
|
280
368
|
# Stage 2: tolerant match
|
|
281
|
-
if not old_text.strip() or not content:
|
|
282
|
-
|
|
369
|
+
if not old_text or not old_text.strip() or not content:
|
|
370
|
+
msg = None
|
|
371
|
+
if not old_text or not old_text.strip():
|
|
372
|
+
msg = (
|
|
373
|
+
"OLD block is empty or whitespace-only; no replacement applied. "
|
|
374
|
+
"OLD value: %r" % (old_text,)
|
|
375
|
+
)
|
|
376
|
+
elif not content:
|
|
377
|
+
msg = "Content is empty; no replacement applied."
|
|
378
|
+
if msg:
|
|
379
|
+
logger.warning(msg)
|
|
380
|
+
return content, msg
|
|
283
381
|
|
|
284
382
|
# Logical OLD: drop empty/whitespace-only lines
|
|
285
383
|
old_lines_raw = old_text.splitlines()
|
|
286
384
|
old_lines = [l for l in old_lines_raw if l.strip()]
|
|
287
385
|
if not old_lines:
|
|
288
|
-
|
|
386
|
+
msg = (
|
|
387
|
+
"OLD block contains only empty/whitespace lines; no replacement applied. "
|
|
388
|
+
"OLD value: %r" % (old_text,)
|
|
389
|
+
)
|
|
390
|
+
logger.warning(msg)
|
|
391
|
+
return content, msg
|
|
289
392
|
|
|
290
393
|
# Precompute normalized OLD (joined by '\n')
|
|
291
394
|
norm_old = _normalize_for_match("\n".join(old_lines))
|
|
@@ -318,29 +421,30 @@ def try_apply_edit(
|
|
|
318
421
|
candidates.append((start, idx, block))
|
|
319
422
|
|
|
320
423
|
if not candidates:
|
|
321
|
-
|
|
322
|
-
"
|
|
323
|
-
file_path or "<unknown>",
|
|
424
|
+
msg = (
|
|
425
|
+
"Normalized OLD block not found in %s. OLD value: %r"
|
|
426
|
+
% (file_path or "<unknown>", old_text)
|
|
324
427
|
)
|
|
325
|
-
|
|
428
|
+
logger.warning(msg)
|
|
429
|
+
return content, msg
|
|
326
430
|
|
|
327
431
|
if len(candidates) > 1:
|
|
328
|
-
|
|
329
|
-
"
|
|
330
|
-
"no change applied to avoid ambiguity."
|
|
331
|
-
file_path or "<unknown>",
|
|
432
|
+
msg = (
|
|
433
|
+
"Multiple candidate regions for OLD block in %s; "
|
|
434
|
+
"no change applied to avoid ambiguity. OLD value: %r"
|
|
435
|
+
% (file_path or "<unknown>", old_text)
|
|
332
436
|
)
|
|
333
|
-
|
|
437
|
+
logger.warning(msg)
|
|
438
|
+
return content, msg
|
|
334
439
|
|
|
335
440
|
start_idx, end_idx, candidate_block = candidates[0]
|
|
336
441
|
updated = content.replace(candidate_block, new_text, 1)
|
|
337
442
|
|
|
338
443
|
logger.info(
|
|
339
|
-
"
|
|
444
|
+
"Applied tolerant OLD/NEW replacement in %s around lines %d-%d",
|
|
340
445
|
file_path or "<unknown>",
|
|
341
446
|
start_idx + 1,
|
|
342
447
|
start_idx + len(old_lines),
|
|
343
448
|
)
|
|
344
449
|
|
|
345
|
-
return updated,
|
|
346
|
-
|
|
450
|
+
return updated, None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alita_sdk
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.609
|
|
4
4
|
Summary: SDK for building langchain agents using resources from Alita
|
|
5
5
|
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -4,7 +4,7 @@ alita_sdk/cli/__main__.py,sha256=dAhgWWWEOG1ZiwCs6wQoJwnD62cFRnxiyiAoiFqU8K4,420
|
|
|
4
4
|
alita_sdk/cli/agent_executor.py,sha256=jSsB3XtbPf7GDEOEPswI3tVS35Q2YbRbMVzb3W6sSdM,5634
|
|
5
5
|
alita_sdk/cli/agent_loader.py,sha256=xtxOW4tmUGj2EGa0Jb3WqAr2ZtXnWuZKRMdji2GpB-I,9837
|
|
6
6
|
alita_sdk/cli/agent_ui.py,sha256=qNqCtzRKlkziB-45lRPcMaKYZDmxYJAXHx9SEUbfInE,8778
|
|
7
|
-
alita_sdk/cli/agents.py,sha256=
|
|
7
|
+
alita_sdk/cli/agents.py,sha256=AXXG5FrUvhSdE6QT4eEkm5uVym7gNF5ZogJCLG-aft8,159489
|
|
8
8
|
alita_sdk/cli/callbacks.py,sha256=zHxciqlT7mMJ1sYlzJrztXnPZBvK6BOgmPVY0Df7b8k,22610
|
|
9
9
|
alita_sdk/cli/cli.py,sha256=Ud5N8hjIiFcupGfZBx8SC9_70RyXnylBinNd-yfiw6w,5343
|
|
10
10
|
alita_sdk/cli/config.py,sha256=TUpJyLVLvZfXZ_jLF-NhqUNHpl04_JYMGZZpqADhf30,11270
|
|
@@ -22,6 +22,19 @@ alita_sdk/cli/context/manager.py,sha256=rINhO85psQALP0-ISmsvqge4OjXUO7TRXh561us0
|
|
|
22
22
|
alita_sdk/cli/context/message.py,sha256=dGm3hH8jbbe48iD2-1WSxighQ7Xxj_sLy8woqhU2C4I,8646
|
|
23
23
|
alita_sdk/cli/context/strategies.py,sha256=mJvOgtZmszmVoOo1rKkYKgj7WIVEmxAMyh5PwCIt_Rw,10062
|
|
24
24
|
alita_sdk/cli/context/token_estimation.py,sha256=n7Vg8ZqtY-bilWSOryFZWdafRZUuy95-ZdRGvbTAQ6I,3696
|
|
25
|
+
alita_sdk/cli/testcases/__init__.py,sha256=Z7QeIVhA-n_SAt3wWIyKK2kl24639ZpunsulLxVgEg0,2502
|
|
26
|
+
alita_sdk/cli/testcases/data_generation.py,sha256=L9hAtKiWzYhWaDBp3XmQ9xsBCHMQ_iTIdz3F3tafVDU,4715
|
|
27
|
+
alita_sdk/cli/testcases/discovery.py,sha256=z5qdtCn5zh8_Gi2mvSRZooy6AjgRloJwrAsTkkT1xyQ,3120
|
|
28
|
+
alita_sdk/cli/testcases/executor.py,sha256=p8YofY4tTKqu9Cpt1EPjx2h4z6YTPoyLrquRp3YOWXs,2673
|
|
29
|
+
alita_sdk/cli/testcases/logger.py,sha256=k5kw7-bxLlV2FmbHpCUE9T0lWi_eDAvNOkobplxwJB0,3228
|
|
30
|
+
alita_sdk/cli/testcases/parser.py,sha256=V_17zs8vnETAjc8I48z75d_arealKSlglZ0B-jFVO0M,6515
|
|
31
|
+
alita_sdk/cli/testcases/prompts.py,sha256=HKmfX_mF27OrDWr8MVNmAmZRCAm3iDIk83FWQ3TgDMA,3173
|
|
32
|
+
alita_sdk/cli/testcases/reporting.py,sha256=HQXqCrtPvQaD1IqmbB7OSfoI3y9nfRUIIJk9PxmsoCQ,4038
|
|
33
|
+
alita_sdk/cli/testcases/setup.py,sha256=4d0nAGKoj13za2BIUaBJlS1sU9E8sAHHi1UbGZ2av-o,3872
|
|
34
|
+
alita_sdk/cli/testcases/test_runner.py,sha256=TRtrBPHI4PrjKY7hcNaAnsuJBY0xCFTCoVFLpwccYoI,10907
|
|
35
|
+
alita_sdk/cli/testcases/utils.py,sha256=f2OjoUKQNYST-5GCt0VzIeaRC2-pHQYUyfXHx2qUMc4,1208
|
|
36
|
+
alita_sdk/cli/testcases/validation.py,sha256=8PAWajJX6H4IHbdh9jd7CGAdDh37lU-NDFcgBs9eNbc,2886
|
|
37
|
+
alita_sdk/cli/testcases/workflow.py,sha256=kTgnK-ss_Ty0CGgXS_3YkPNSU31ScZJow4JcAdPhV54,6811
|
|
25
38
|
alita_sdk/cli/tools/__init__.py,sha256=xy5SzLWQXUl-tBkDlJeJr1h4Su9Z8RKZwYPXqaMH-iU,1095
|
|
26
39
|
alita_sdk/cli/tools/approval.py,sha256=b_TtmyOaMJHjHAiig-1ds9qgNYbniWqPqv-dkNQ_r4Q,7536
|
|
27
40
|
alita_sdk/cli/tools/filesystem.py,sha256=qbZbPAeIwHFwx_EZXWny2q7fMloPDv5ZyCOuabggG_Q,73311
|
|
@@ -73,7 +86,7 @@ alita_sdk/configurations/github.py,sha256=6F7P9BPu9zE54q8m8IPjIct8cEX3WODYzZvn9W
|
|
|
73
86
|
alita_sdk/configurations/gitlab.py,sha256=v63-sgFq5yJrMqCW8J2ISwp64VToFKY74ZB3P5P0bcM,4301
|
|
74
87
|
alita_sdk/configurations/google_places.py,sha256=jXhlPXywkDhHNrgB4KoVWogf3CVi1bY3wFLRzDqMr-E,589
|
|
75
88
|
alita_sdk/configurations/jira.py,sha256=isZPChfvzVNaoWLcVq4jWVDUcDGszieWdLg8gqxAU84,5914
|
|
76
|
-
alita_sdk/configurations/openapi.py,sha256=
|
|
89
|
+
alita_sdk/configurations/openapi.py,sha256=WY9YvMxu1-UE-7sZqCGNRYolYMYXjojwsdmHKn60yUc,14276
|
|
77
90
|
alita_sdk/configurations/pgvector.py,sha256=P-Q07ocIg4CXN_7hUBDM6r9gN62XS1N2jyP79tM9Tig,500
|
|
78
91
|
alita_sdk/configurations/postman.py,sha256=A4swgV_0eEJ3LXYWzUUIDD5zFu9rS_vndqp1xd4YHnM,1114
|
|
79
92
|
alita_sdk/configurations/qtest.py,sha256=qU9f9wq_Phh9MTsrbyLpUcog-q8esm1T_1hHK2AZhsY,3676
|
|
@@ -93,7 +106,7 @@ alita_sdk/configurations/zephyr_enterprise.py,sha256=x2ZNvR2tYJySzEmBY3fovUe7B-_
|
|
|
93
106
|
alita_sdk/configurations/zephyr_essential.py,sha256=TiZedsBlfIDroflipvoqxjJeEWPonQzeT7e1bYns98s,3869
|
|
94
107
|
alita_sdk/runtime/__init__.py,sha256=4W0UF-nl3QF2bvET5lnah4o24CoTwSoKXhuN0YnwvEE,828
|
|
95
108
|
alita_sdk/runtime/clients/__init__.py,sha256=BdehU5GBztN1Qi1Wul0cqlU46FxUfMnI6Vq2Zd_oq1M,296
|
|
96
|
-
alita_sdk/runtime/clients/artifact.py,sha256=
|
|
109
|
+
alita_sdk/runtime/clients/artifact.py,sha256=dzQm_QXYYFD3TCGevx8Y7uQnR3z3DQVQq7k86nv9o78,4021
|
|
97
110
|
alita_sdk/runtime/clients/client.py,sha256=-RaAfIzZfxuNcdVQ3i8l7C9e-1ou2mcKV0tcwvAIknE,61520
|
|
98
111
|
alita_sdk/runtime/clients/datasource.py,sha256=HAZovoQN9jBg0_-lIlGBQzb4FJdczPhkHehAiVG3Wx0,1020
|
|
99
112
|
alita_sdk/runtime/clients/mcp_discovery.py,sha256=aFJ0wYQ8EAmXa9qLUusHZfQXkNec1wbgkqHdVeSFX-g,11697
|
|
@@ -182,7 +195,7 @@ alita_sdk/runtime/toolkits/vectorstore.py,sha256=5ZHw66au3DOAuYFIJB52_zE2ea5yPzs
|
|
|
182
195
|
alita_sdk/runtime/tools/__init__.py,sha256=lS5GKEagDiK-3E3nHzktVOC1bIgN1sM0f31kuzHhe4Q,639
|
|
183
196
|
alita_sdk/runtime/tools/agent.py,sha256=m98QxOHwnCRTT9j18Olbb5UPS8-ZGeQaGiUyZJSyFck,3162
|
|
184
197
|
alita_sdk/runtime/tools/application.py,sha256=RCGe-mRfj8372gTFkEX2xBvcYhw7IKdU1t50lXaBPOY,3701
|
|
185
|
-
alita_sdk/runtime/tools/artifact.py,sha256=
|
|
198
|
+
alita_sdk/runtime/tools/artifact.py,sha256=Us-NM1VTfqDNBzs8nMsI3Inu-_V9SoZOqjfUAxnf7qY,34389
|
|
186
199
|
alita_sdk/runtime/tools/data_analysis.py,sha256=PHQ0xa2eDkw6FsHAHVTWB58wO8tg76tHrp4lXRQZ0jQ,6396
|
|
187
200
|
alita_sdk/runtime/tools/datasource.py,sha256=pvbaSfI-ThQQnjHG-QhYNSTYRnZB0rYtZFpjCfpzxYI,2443
|
|
188
201
|
alita_sdk/runtime/tools/echo.py,sha256=spw9eCweXzixJqHnZofHE1yWiSUa04L4VKycf3KCEaM,486
|
|
@@ -190,7 +203,7 @@ alita_sdk/runtime/tools/function.py,sha256=HSMO1nBTRKMvWC_m0M8TOLGaZ2k_7ksPgLqzu
|
|
|
190
203
|
alita_sdk/runtime/tools/graph.py,sha256=7jImBBSEdP5Mjnn2keOiyUwdGDFhEXLUrgUiugO3mgA,3503
|
|
191
204
|
alita_sdk/runtime/tools/image_generation.py,sha256=waxxFIAgmh9-COcljL9uZ7e_s7EL9OWveUxYk0ulEUM,7855
|
|
192
205
|
alita_sdk/runtime/tools/indexer_tool.py,sha256=whSLPevB4WD6dhh2JDXEivDmTvbjiMV1MrPl9cz5eLA,4375
|
|
193
|
-
alita_sdk/runtime/tools/llm.py,sha256=
|
|
206
|
+
alita_sdk/runtime/tools/llm.py,sha256=I35UmRLZ-Sj8RK_0HsfuAxLfpk8GJavLLFags9uk4YE,59866
|
|
194
207
|
alita_sdk/runtime/tools/loop.py,sha256=jjX3I_Oac2K8hXBSg6feeJaiXkKyLgd58OTq9LUSUzE,8460
|
|
195
208
|
alita_sdk/runtime/tools/loop_output.py,sha256=JFql7uuCOSIFw92vNl6uUdsnUyS7bJPF0ZK300hHQ7I,8202
|
|
196
209
|
alita_sdk/runtime/tools/mcp_inspect_tool.py,sha256=38X8euaxDbEGjcfp6ElvExZalpZun6QEr6ZEW4nU5pQ,11496
|
|
@@ -224,7 +237,7 @@ alita_sdk/runtime/utils/utils.py,sha256=d0RLiKfBnobC3PrEFPvZt3uUx3Jie2rR32Fp-3hk
|
|
|
224
237
|
alita_sdk/tools/__init__.py,sha256=ODGQvgKCLrgZvIpz0M0NnPXuhY_Gjku3AHcmdkfTyCo,14756
|
|
225
238
|
alita_sdk/tools/base_indexer_toolkit.py,sha256=5m985GbINputInypgTmwmvx4T2MxIargtSZg38ymvBQ,35437
|
|
226
239
|
alita_sdk/tools/code_indexer_toolkit.py,sha256=eqEH0YShqMMFTQAHKiOhUkidC-GltbWfbW1oVigGi7s,10212
|
|
227
|
-
alita_sdk/tools/elitea_base.py,sha256=
|
|
240
|
+
alita_sdk/tools/elitea_base.py,sha256=JVbiFgJ6zJWkK45gPEEDl19GlIb6470MUatuqIq_usI,53221
|
|
228
241
|
alita_sdk/tools/non_code_indexer_toolkit.py,sha256=DVxcEml-pftoplBs1wSvzcAHsxjRyxq5YY36LSp3Jy4,1362
|
|
229
242
|
alita_sdk/tools/ado/__init__.py,sha256=NnNYpNFW0_N_v1td_iekYOoQRRB7PIunbpT2f9ZFJM4,1201
|
|
230
243
|
alita_sdk/tools/ado/utils.py,sha256=EQs6_KMA-frp7iInTVbUgKccWZrj4-U50AUbvlkHXHk,639
|
|
@@ -249,9 +262,9 @@ alita_sdk/tools/azure_ai/search/api_wrapper.py,sha256=BaQeD27hwk8htfqMX5YV84PthB
|
|
|
249
262
|
alita_sdk/tools/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
250
263
|
alita_sdk/tools/base/tool.py,sha256=RgWHmP8tZi6hROn9DnsW-76ZVcksXtjZY24SOXKpyTE,1087
|
|
251
264
|
alita_sdk/tools/bitbucket/__init__.py,sha256=KnBWuWvdCYhVUFeWJJKbHFCLUPG43xTm5Lo54zbYMIg,5635
|
|
252
|
-
alita_sdk/tools/bitbucket/api_wrapper.py,sha256=
|
|
265
|
+
alita_sdk/tools/bitbucket/api_wrapper.py,sha256=zpPfvqIzvLMvkBKEyPW2XLyMpr8SDq4iBr50Z8PW0xs,22259
|
|
253
266
|
alita_sdk/tools/bitbucket/bitbucket_constants.py,sha256=UsbhQ1iEvrKoxceTFPWTYhaXS1zSxbmjs1TwY0-P4gw,462
|
|
254
|
-
alita_sdk/tools/bitbucket/cloud_api_wrapper.py,sha256=
|
|
267
|
+
alita_sdk/tools/bitbucket/cloud_api_wrapper.py,sha256=1h-lqw_bJDdXWFuOBBk0gvjE-gPY59NFfYAV3CpZOPk,16020
|
|
255
268
|
alita_sdk/tools/browser/__init__.py,sha256=H1wdiz12tvy7OYGLvTNvM_Q2IQuo9s9wlLZVbaBWsRE,6603
|
|
256
269
|
alita_sdk/tools/browser/crawler.py,sha256=tkB5UX9FmpJrhKPfaS-a2pL9loRf8zN-V5SfpQvX2NI,2406
|
|
257
270
|
alita_sdk/tools/browser/duck_duck_go_search.py,sha256=iKws923v34o-ySXohJw-8xTDBWlj3fMsnzC_ZRuPugE,2002
|
|
@@ -318,7 +331,7 @@ alita_sdk/tools/code/loaders/codesearcher.py,sha256=boeVqB0p84YxDK3OgGObpb_-wbmU
|
|
|
318
331
|
alita_sdk/tools/code/sonar/__init__.py,sha256=nXlvXin9NKdftpb9Kg87c7mUgGG9ETH400ReGVnkmR4,3447
|
|
319
332
|
alita_sdk/tools/code/sonar/api_wrapper.py,sha256=nNqxcWN_6W8c0ckj-Er9HkNuAdgQLoWBXh5UyzNutis,2653
|
|
320
333
|
alita_sdk/tools/confluence/__init__.py,sha256=vJ97VGUEaHETGcM0SVHyrjCmCwa3lY2nAXd8N8P9oB0,6954
|
|
321
|
-
alita_sdk/tools/confluence/api_wrapper.py,sha256=
|
|
334
|
+
alita_sdk/tools/confluence/api_wrapper.py,sha256=LG0tgI_5ejeqE6_H2rbNmXr7AH6qVrNU9ocaPGQMnsQ,92825
|
|
322
335
|
alita_sdk/tools/confluence/loader.py,sha256=qL5BMvqzeC8vqrjFXRrcJf3GBpvVEiDRZ-2G5mHA50k,10192
|
|
323
336
|
alita_sdk/tools/confluence/utils.py,sha256=Lxo6dBD0OlvM4o0JuK6qeB_4LV9BptiwJA9e1vqNcDw,435
|
|
324
337
|
alita_sdk/tools/custom_open_api/__init__.py,sha256=LlHPcRZXExEjArEvtlS4cXX4IOsfz2MA1yranQGvpSw,3100
|
|
@@ -326,13 +339,13 @@ alita_sdk/tools/custom_open_api/api_wrapper.py,sha256=sDSFpvEqpSvXHGiBISdQQcUecf
|
|
|
326
339
|
alita_sdk/tools/elastic/__init__.py,sha256=8U4XSoDop1jfl6cJNaOj-WByDShfJJVEgkM_e9vaB0w,2940
|
|
327
340
|
alita_sdk/tools/elastic/api_wrapper.py,sha256=pl8CqQxteJAGwyOhMcld-ZgtOTFwwbv42OITQVe8rM0,1948
|
|
328
341
|
alita_sdk/tools/figma/__init__.py,sha256=ffteWvi0zOF61BQ1smno-clw6HGzgPGrqEqbi5kgyhs,6825
|
|
329
|
-
alita_sdk/tools/figma/api_wrapper.py,sha256=
|
|
342
|
+
alita_sdk/tools/figma/api_wrapper.py,sha256=QzvqeuHwSUhYgyhm_2zGBu1Ps78ARU8LKxItk0oj1zQ,80076
|
|
330
343
|
alita_sdk/tools/figma/figma_client.py,sha256=SQwZIFMrDk09Hqp-kbjECpwTIJyHmXDkTAj51F6Su4s,2863
|
|
331
344
|
alita_sdk/tools/figma/toon_tools.py,sha256=AWpdqHk3cKdVXPVLkjpwAG6HoaKWSySIsM1sXai4JnE,103563
|
|
332
345
|
alita_sdk/tools/github/__init__.py,sha256=_beRvKqr-nQ9D_Z1eY0beX8REVntwpuGIQyvPWVa-c0,5016
|
|
333
346
|
alita_sdk/tools/github/api_wrapper.py,sha256=mX23Rro6xnRa35tpeWhKYcRCJx0cDTzIe32pZAKDYno,7986
|
|
334
|
-
alita_sdk/tools/github/github_client.py,sha256=
|
|
335
|
-
alita_sdk/tools/github/graphql_client_wrapper.py,sha256=
|
|
347
|
+
alita_sdk/tools/github/github_client.py,sha256=9pL7AWosL_wBWSfHxSxlP5wLmVKlY1pUjsB6jQQIU38,88166
|
|
348
|
+
alita_sdk/tools/github/graphql_client_wrapper.py,sha256=HSw-ynf50YpbsYJvOOKw31dV1XwIkyhUcsG4K6FZilo,71567
|
|
336
349
|
alita_sdk/tools/github/schemas.py,sha256=GTvw_2QV9Dm179_8d-4fHs1Q133y7zDzXA_Pt1VvLD8,14024
|
|
337
350
|
alita_sdk/tools/github/tool.py,sha256=Vs57WMn6_AVAmDTE5nsByNYwZ4B1z9WGboBbIy2CRDw,1278
|
|
338
351
|
alita_sdk/tools/github/tool_prompts.py,sha256=y6ZW_FpUCE87Uop3WuQAZVRnzxO5t7xjBOI5bCqiluw,30194
|
|
@@ -423,7 +436,7 @@ alita_sdk/tools/testrail/api_wrapper.py,sha256=XycH0iEH2cCAv7InJotmsGE9lPj6hP45Z
|
|
|
423
436
|
alita_sdk/tools/utils/__init__.py,sha256=Bt1TsxkQIezgkxCgn5wFIOMsTsW5vEoWdM6KznodktU,4027
|
|
424
437
|
alita_sdk/tools/utils/available_tools_decorator.py,sha256=IbrdfeQkswxUFgvvN7-dyLMZMyXLiwvX7kgi3phciCk,273
|
|
425
438
|
alita_sdk/tools/utils/content_parser.py,sha256=nzuxocuaNrdLNZ9m4_lqlpdv8QXfLmNLLxi2EDhtOWE,19181
|
|
426
|
-
alita_sdk/tools/utils/text_operations.py,sha256=
|
|
439
|
+
alita_sdk/tools/utils/text_operations.py,sha256=SNp6N-fz2Hwkt2LDJlCirK72QZnON_EdcR9WdhqiAGs,14317
|
|
427
440
|
alita_sdk/tools/vector_adapters/VectorStoreAdapter.py,sha256=N8FwoEKXLgIAb4O2bjQDn5XwPCc_oKQVaaB5Kzt-fvo,20351
|
|
428
441
|
alita_sdk/tools/vector_adapters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
429
442
|
alita_sdk/tools/xray/__init__.py,sha256=vABZyW9cXQF46vMgYIItcPyOkmq8Bmcgbd_AN7I6MDw,4617
|
|
@@ -445,9 +458,9 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=ppJayzkKRhTbQVVd2EhQmvADwdosl
|
|
|
445
458
|
alita_sdk/tools/zephyr_squad/__init__.py,sha256=cUSc0ZhpGmWnTQ3ZjllU9QmNlCfaHZ21HCFjfenSMH8,3081
|
|
446
459
|
alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
|
|
447
460
|
alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
|
|
448
|
-
alita_sdk-0.3.
|
|
449
|
-
alita_sdk-0.3.
|
|
450
|
-
alita_sdk-0.3.
|
|
451
|
-
alita_sdk-0.3.
|
|
452
|
-
alita_sdk-0.3.
|
|
453
|
-
alita_sdk-0.3.
|
|
461
|
+
alita_sdk-0.3.609.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
462
|
+
alita_sdk-0.3.609.dist-info/METADATA,sha256=hEWxQjw26WUFFy2f56DL-k9cuqD3Xxxszb6f4YEFtC8,24339
|
|
463
|
+
alita_sdk-0.3.609.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
464
|
+
alita_sdk-0.3.609.dist-info/entry_points.txt,sha256=VijN0h4alp1WXm8tfS3P7vuGxN4a5RZqHjXAoEIBZnI,49
|
|
465
|
+
alita_sdk-0.3.609.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
|
|
466
|
+
alita_sdk-0.3.609.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|