alita-sdk 0.3.465__py3-none-any.whl → 0.3.497__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.

Files changed (103) hide show
  1. alita_sdk/cli/agent/__init__.py +5 -0
  2. alita_sdk/cli/agent/default.py +83 -1
  3. alita_sdk/cli/agent_loader.py +22 -4
  4. alita_sdk/cli/agent_ui.py +13 -3
  5. alita_sdk/cli/agents.py +1876 -186
  6. alita_sdk/cli/callbacks.py +96 -25
  7. alita_sdk/cli/cli.py +10 -1
  8. alita_sdk/cli/config.py +151 -9
  9. alita_sdk/cli/context/__init__.py +30 -0
  10. alita_sdk/cli/context/cleanup.py +198 -0
  11. alita_sdk/cli/context/manager.py +731 -0
  12. alita_sdk/cli/context/message.py +285 -0
  13. alita_sdk/cli/context/strategies.py +289 -0
  14. alita_sdk/cli/context/token_estimation.py +127 -0
  15. alita_sdk/cli/input_handler.py +167 -4
  16. alita_sdk/cli/inventory.py +1256 -0
  17. alita_sdk/cli/toolkit.py +14 -17
  18. alita_sdk/cli/toolkit_loader.py +35 -5
  19. alita_sdk/cli/tools/__init__.py +8 -1
  20. alita_sdk/cli/tools/filesystem.py +910 -64
  21. alita_sdk/cli/tools/planning.py +143 -157
  22. alita_sdk/cli/tools/terminal.py +154 -20
  23. alita_sdk/community/__init__.py +64 -8
  24. alita_sdk/community/inventory/__init__.py +224 -0
  25. alita_sdk/community/inventory/config.py +257 -0
  26. alita_sdk/community/inventory/enrichment.py +2137 -0
  27. alita_sdk/community/inventory/extractors.py +1469 -0
  28. alita_sdk/community/inventory/ingestion.py +3172 -0
  29. alita_sdk/community/inventory/knowledge_graph.py +1457 -0
  30. alita_sdk/community/inventory/parsers/__init__.py +218 -0
  31. alita_sdk/community/inventory/parsers/base.py +295 -0
  32. alita_sdk/community/inventory/parsers/csharp_parser.py +907 -0
  33. alita_sdk/community/inventory/parsers/go_parser.py +851 -0
  34. alita_sdk/community/inventory/parsers/html_parser.py +389 -0
  35. alita_sdk/community/inventory/parsers/java_parser.py +593 -0
  36. alita_sdk/community/inventory/parsers/javascript_parser.py +629 -0
  37. alita_sdk/community/inventory/parsers/kotlin_parser.py +768 -0
  38. alita_sdk/community/inventory/parsers/markdown_parser.py +362 -0
  39. alita_sdk/community/inventory/parsers/python_parser.py +604 -0
  40. alita_sdk/community/inventory/parsers/rust_parser.py +858 -0
  41. alita_sdk/community/inventory/parsers/swift_parser.py +832 -0
  42. alita_sdk/community/inventory/parsers/text_parser.py +322 -0
  43. alita_sdk/community/inventory/parsers/yaml_parser.py +370 -0
  44. alita_sdk/community/inventory/patterns/__init__.py +61 -0
  45. alita_sdk/community/inventory/patterns/ast_adapter.py +380 -0
  46. alita_sdk/community/inventory/patterns/loader.py +348 -0
  47. alita_sdk/community/inventory/patterns/registry.py +198 -0
  48. alita_sdk/community/inventory/presets.py +535 -0
  49. alita_sdk/community/inventory/retrieval.py +1403 -0
  50. alita_sdk/community/inventory/toolkit.py +169 -0
  51. alita_sdk/community/inventory/visualize.py +1370 -0
  52. alita_sdk/configurations/bitbucket.py +0 -3
  53. alita_sdk/runtime/clients/client.py +108 -31
  54. alita_sdk/runtime/langchain/assistant.py +4 -2
  55. alita_sdk/runtime/langchain/constants.py +3 -1
  56. alita_sdk/runtime/langchain/document_loaders/AlitaExcelLoader.py +103 -60
  57. alita_sdk/runtime/langchain/document_loaders/constants.py +10 -6
  58. alita_sdk/runtime/langchain/langraph_agent.py +123 -31
  59. alita_sdk/runtime/llms/preloaded.py +2 -6
  60. alita_sdk/runtime/toolkits/__init__.py +2 -0
  61. alita_sdk/runtime/toolkits/application.py +1 -1
  62. alita_sdk/runtime/toolkits/mcp.py +107 -91
  63. alita_sdk/runtime/toolkits/planning.py +173 -0
  64. alita_sdk/runtime/toolkits/tools.py +59 -7
  65. alita_sdk/runtime/tools/artifact.py +46 -17
  66. alita_sdk/runtime/tools/function.py +2 -1
  67. alita_sdk/runtime/tools/llm.py +320 -32
  68. alita_sdk/runtime/tools/mcp_remote_tool.py +23 -7
  69. alita_sdk/runtime/tools/planning/__init__.py +36 -0
  70. alita_sdk/runtime/tools/planning/models.py +246 -0
  71. alita_sdk/runtime/tools/planning/wrapper.py +607 -0
  72. alita_sdk/runtime/tools/vectorstore_base.py +44 -9
  73. alita_sdk/runtime/utils/AlitaCallback.py +106 -20
  74. alita_sdk/runtime/utils/mcp_client.py +465 -0
  75. alita_sdk/runtime/utils/mcp_oauth.py +80 -0
  76. alita_sdk/runtime/utils/mcp_tools_discovery.py +124 -0
  77. alita_sdk/runtime/utils/streamlit.py +6 -10
  78. alita_sdk/runtime/utils/toolkit_utils.py +14 -5
  79. alita_sdk/tools/__init__.py +54 -27
  80. alita_sdk/tools/ado/repos/repos_wrapper.py +1 -2
  81. alita_sdk/tools/base_indexer_toolkit.py +99 -20
  82. alita_sdk/tools/bitbucket/__init__.py +2 -2
  83. alita_sdk/tools/chunkers/__init__.py +3 -1
  84. alita_sdk/tools/chunkers/sematic/json_chunker.py +1 -0
  85. alita_sdk/tools/chunkers/sematic/markdown_chunker.py +97 -6
  86. alita_sdk/tools/chunkers/universal_chunker.py +270 -0
  87. alita_sdk/tools/code/loaders/codesearcher.py +3 -2
  88. alita_sdk/tools/code_indexer_toolkit.py +55 -22
  89. alita_sdk/tools/confluence/api_wrapper.py +63 -14
  90. alita_sdk/tools/elitea_base.py +86 -21
  91. alita_sdk/tools/jira/__init__.py +1 -1
  92. alita_sdk/tools/jira/api_wrapper.py +91 -40
  93. alita_sdk/tools/non_code_indexer_toolkit.py +1 -0
  94. alita_sdk/tools/qtest/__init__.py +1 -1
  95. alita_sdk/tools/sharepoint/api_wrapper.py +2 -2
  96. alita_sdk/tools/vector_adapters/VectorStoreAdapter.py +17 -13
  97. alita_sdk/tools/zephyr_essential/api_wrapper.py +12 -13
  98. {alita_sdk-0.3.465.dist-info → alita_sdk-0.3.497.dist-info}/METADATA +2 -1
  99. {alita_sdk-0.3.465.dist-info → alita_sdk-0.3.497.dist-info}/RECORD +103 -61
  100. {alita_sdk-0.3.465.dist-info → alita_sdk-0.3.497.dist-info}/WHEEL +0 -0
  101. {alita_sdk-0.3.465.dist-info → alita_sdk-0.3.497.dist-info}/entry_points.txt +0 -0
  102. {alita_sdk-0.3.465.dist-info → alita_sdk-0.3.497.dist-info}/licenses/LICENSE +0 -0
  103. {alita_sdk-0.3.465.dist-info → alita_sdk-0.3.497.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,535 @@
1
+ """
2
+ Standard ingestion presets for common programming languages and frameworks.
3
+
4
+ These presets provide sensible defaults for whitelist/blacklist patterns
5
+ to efficiently ingest code repositories while excluding unnecessary files.
6
+
7
+ Usage:
8
+ from alita_sdk.community.inventory.presets import PYTHON_PRESET, JAVASCRIPT_PRESET
9
+
10
+ result = pipeline.run(
11
+ source='github',
12
+ **PYTHON_PRESET
13
+ )
14
+
15
+ # Or combine presets
16
+ custom_preset = {
17
+ **PYTHON_PRESET,
18
+ 'blacklist': PYTHON_PRESET['blacklist'] + ['**/custom_exclude/**']
19
+ }
20
+ """
21
+
22
+ # ============================================================================
23
+ # PYTHON PRESETS
24
+ # ============================================================================
25
+
26
+ PYTHON_PRESET = {
27
+ 'whitelist': [
28
+ '*.py', # Python source files
29
+ '*.pyi', # Python stub files
30
+ '*.pyx', # Cython files
31
+ 'requirements.txt',
32
+ 'setup.py',
33
+ 'pyproject.toml',
34
+ 'Pipfile',
35
+ ],
36
+ 'blacklist': [
37
+ # Dependencies
38
+ '**/venv/**',
39
+ '**/.venv/**',
40
+ '**/env/**',
41
+ '**/virtualenv/**',
42
+ '**/site-packages/**',
43
+
44
+ # Build outputs
45
+ '**/build/**',
46
+ '**/dist/**',
47
+ '**/*.egg-info/**',
48
+
49
+ # Caches
50
+ '**/__pycache__/**',
51
+ '**/.pytest_cache/**',
52
+ '**/.mypy_cache/**',
53
+ '**/.ruff_cache/**',
54
+ '**/.coverage/**',
55
+ '**/htmlcov/**',
56
+
57
+ # Tests (optional - remove if you want to include tests)
58
+ '**/test_*.py',
59
+ '**/*_test.py',
60
+ '**/tests/**',
61
+
62
+ # Version control
63
+ '**/.git/**',
64
+
65
+ # IDE
66
+ '**/.vscode/**',
67
+ '**/.idea/**',
68
+ '**/.pydevproject/**',
69
+ ]
70
+ }
71
+
72
+ PYTHON_PRESET_WITH_TESTS = {
73
+ **PYTHON_PRESET,
74
+ 'blacklist': [b for b in PYTHON_PRESET['blacklist']
75
+ if 'test' not in b.lower()]
76
+ }
77
+
78
+ # ============================================================================
79
+ # JAVASCRIPT / TYPESCRIPT PRESETS
80
+ # ============================================================================
81
+
82
+ JAVASCRIPT_PRESET = {
83
+ 'whitelist': [
84
+ '*.js',
85
+ '*.jsx',
86
+ '*.mjs',
87
+ '*.cjs',
88
+ 'package.json',
89
+ 'package-lock.json',
90
+ 'tsconfig.json',
91
+ 'jsconfig.json',
92
+ ],
93
+ 'blacklist': [
94
+ # Dependencies
95
+ '**/node_modules/**',
96
+
97
+ # Build outputs
98
+ '**/dist/**',
99
+ '**/build/**',
100
+ '**/out/**',
101
+ '**/.next/**',
102
+ '**/.nuxt/**',
103
+ '**/.output/**',
104
+ '**/.vercel/**',
105
+
106
+ # Bundler outputs
107
+ '**/bundle.js',
108
+ '**/bundle.*.js',
109
+ '**/*.min.js',
110
+
111
+ # Caches
112
+ '**/.cache/**',
113
+ '**/.parcel-cache/**',
114
+ '**/.eslintcache',
115
+
116
+ # Tests (optional)
117
+ '**/*.test.js',
118
+ '**/*.spec.js',
119
+ '**/__tests__/**',
120
+ '**/tests/**',
121
+
122
+ # Version control
123
+ '**/.git/**',
124
+
125
+ # IDE
126
+ '**/.vscode/**',
127
+ '**/.idea/**',
128
+
129
+ # Config/tooling
130
+ '**/.storybook/**',
131
+ ]
132
+ }
133
+
134
+ TYPESCRIPT_PRESET = {
135
+ 'whitelist': [
136
+ '*.ts',
137
+ '*.tsx',
138
+ '*.js',
139
+ '*.jsx',
140
+ '*.mjs',
141
+ '*.cjs',
142
+ 'package.json',
143
+ 'tsconfig.json',
144
+ '*.d.ts',
145
+ ],
146
+ 'blacklist': [
147
+ # Dependencies
148
+ '**/node_modules/**',
149
+
150
+ # Build outputs
151
+ '**/dist/**',
152
+ '**/build/**',
153
+ '**/out/**',
154
+ '**/lib/**',
155
+ '**/.next/**',
156
+ '**/.nuxt/**',
157
+
158
+ # TypeScript outputs
159
+ '**/*.js.map',
160
+ '**/*.d.ts.map',
161
+
162
+ # Caches
163
+ '**/.cache/**',
164
+ '**/.tsbuildinfo',
165
+ '**/.eslintcache',
166
+
167
+ # Tests (optional)
168
+ '**/*.test.ts',
169
+ '**/*.test.tsx',
170
+ '**/*.spec.ts',
171
+ '**/*.spec.tsx',
172
+ '**/__tests__/**',
173
+ '**/tests/**',
174
+
175
+ # Version control
176
+ '**/.git/**',
177
+
178
+ # IDE
179
+ '**/.vscode/**',
180
+ '**/.idea/**',
181
+ ]
182
+ }
183
+
184
+ REACT_PRESET = {
185
+ **TYPESCRIPT_PRESET,
186
+ 'blacklist': TYPESCRIPT_PRESET['blacklist'] + [
187
+ '**/public/**',
188
+ '**/static/**',
189
+ '**/*.stories.tsx',
190
+ '**/*.stories.ts',
191
+ ]
192
+ }
193
+
194
+ NEXTJS_PRESET = {
195
+ **TYPESCRIPT_PRESET,
196
+ 'blacklist': TYPESCRIPT_PRESET['blacklist'] + [
197
+ '**/.next/**',
198
+ '**/public/**',
199
+ ]
200
+ }
201
+
202
+ # ============================================================================
203
+ # JAVA PRESETS
204
+ # ============================================================================
205
+
206
+ JAVA_PRESET = {
207
+ 'whitelist': [
208
+ '*.java',
209
+ 'pom.xml',
210
+ 'build.gradle',
211
+ 'settings.gradle',
212
+ 'build.gradle.kts',
213
+ 'settings.gradle.kts',
214
+ ],
215
+ 'blacklist': [
216
+ # Build outputs
217
+ '**/target/**',
218
+ '**/build/**',
219
+ '**/out/**',
220
+ '**/bin/**',
221
+
222
+ # Dependencies
223
+ '**/.gradle/**',
224
+ '**/.m2/**',
225
+ '**/lib/**',
226
+
227
+ # IDE
228
+ '**/.idea/**',
229
+ '**/.eclipse/**',
230
+ '**/.settings/**',
231
+ '**/.classpath',
232
+ '**/.project',
233
+ '**/*.iml',
234
+
235
+ # Tests (optional)
236
+ '**/test/**',
237
+ '**/*Test.java',
238
+ '**/*Tests.java',
239
+
240
+ # Generated code
241
+ '**/generated/**',
242
+ '**/generated-sources/**',
243
+ '**/generated-test-sources/**',
244
+
245
+ # Version control
246
+ '**/.git/**',
247
+
248
+ # Logs
249
+ '**/*.log',
250
+ ]
251
+ }
252
+
253
+ SPRING_BOOT_PRESET = {
254
+ **JAVA_PRESET,
255
+ 'whitelist': JAVA_PRESET['whitelist'] + [
256
+ 'application.properties',
257
+ 'application.yml',
258
+ 'application.yaml',
259
+ 'application-*.properties',
260
+ 'application-*.yml',
261
+ ]
262
+ }
263
+
264
+ MAVEN_PRESET = {
265
+ **JAVA_PRESET,
266
+ 'whitelist': JAVA_PRESET['whitelist'] + [
267
+ 'pom.xml',
268
+ '**/pom.xml',
269
+ ]
270
+ }
271
+
272
+ GRADLE_PRESET = {
273
+ **JAVA_PRESET,
274
+ 'whitelist': JAVA_PRESET['whitelist'] + [
275
+ 'build.gradle',
276
+ 'build.gradle.kts',
277
+ 'settings.gradle',
278
+ 'settings.gradle.kts',
279
+ 'gradle.properties',
280
+ ]
281
+ }
282
+
283
+ # ============================================================================
284
+ # .NET / C# PRESETS
285
+ # ============================================================================
286
+
287
+ DOTNET_PRESET = {
288
+ 'whitelist': [
289
+ '*.cs',
290
+ '*.csproj',
291
+ '*.sln',
292
+ '*.vb',
293
+ '*.vbproj',
294
+ '*.fsproj',
295
+ '*.fs',
296
+ ],
297
+ 'blacklist': [
298
+ # Build outputs
299
+ '**/bin/**',
300
+ '**/obj/**',
301
+
302
+ # Dependencies
303
+ '**/packages/**',
304
+
305
+ # IDE
306
+ '**/.vs/**',
307
+ '**/.vscode/**',
308
+ '**/*.user',
309
+ '**/*.suo',
310
+
311
+ # Tests (optional)
312
+ '**/*Test.cs',
313
+ '**/*Tests.cs',
314
+ '**/test/**',
315
+ '**/tests/**',
316
+
317
+ # Version control
318
+ '**/.git/**',
319
+
320
+ # Logs and temp
321
+ '**/*.log',
322
+ '**/temp/**',
323
+ '**/tmp/**',
324
+ ]
325
+ }
326
+
327
+ CSHARP_PRESET = DOTNET_PRESET
328
+
329
+ ASPNET_PRESET = {
330
+ **DOTNET_PRESET,
331
+ 'whitelist': DOTNET_PRESET['whitelist'] + [
332
+ 'appsettings.json',
333
+ 'appsettings.*.json',
334
+ 'web.config',
335
+ 'Program.cs',
336
+ 'Startup.cs',
337
+ ]
338
+ }
339
+
340
+ # ============================================================================
341
+ # MULTI-LANGUAGE PRESETS
342
+ # ============================================================================
343
+
344
+ FULLSTACK_JS_PRESET = {
345
+ 'whitelist': [
346
+ '*.js',
347
+ '*.jsx',
348
+ '*.ts',
349
+ '*.tsx',
350
+ '*.json',
351
+ ],
352
+ 'blacklist': [
353
+ '**/node_modules/**',
354
+ '**/dist/**',
355
+ '**/build/**',
356
+ '**/.next/**',
357
+ '**/*.test.js',
358
+ '**/*.test.ts',
359
+ '**/*.spec.js',
360
+ '**/*.spec.ts',
361
+ '**/.git/**',
362
+ '**/.vscode/**',
363
+ ]
364
+ }
365
+
366
+ MONOREPO_PRESET = {
367
+ 'whitelist': [
368
+ '*.js',
369
+ '*.jsx',
370
+ '*.ts',
371
+ '*.tsx',
372
+ '*.py',
373
+ '*.java',
374
+ '*.cs',
375
+ 'package.json',
376
+ 'pom.xml',
377
+ '*.csproj',
378
+ ],
379
+ 'blacklist': [
380
+ # Universal excludes
381
+ '**/node_modules/**',
382
+ '**/venv/**',
383
+ '**/.venv/**',
384
+ '**/target/**',
385
+ '**/bin/**',
386
+ '**/obj/**',
387
+ '**/dist/**',
388
+ '**/build/**',
389
+ '**/__pycache__/**',
390
+ '**/.git/**',
391
+ '**/.vscode/**',
392
+ '**/.idea/**',
393
+
394
+ # Tests
395
+ '**/*test*/**',
396
+ '**/*Test*',
397
+ '**/*test*.*',
398
+ ]
399
+ }
400
+
401
+ # ============================================================================
402
+ # DOCUMENTATION PRESETS
403
+ # ============================================================================
404
+
405
+ DOCUMENTATION_PRESET = {
406
+ 'whitelist': [
407
+ '*.md',
408
+ '*.mdx',
409
+ '*.rst',
410
+ '*.txt',
411
+ 'README*',
412
+ 'CHANGELOG*',
413
+ 'LICENSE*',
414
+ 'CONTRIBUTING*',
415
+ ],
416
+ 'blacklist': [
417
+ '**/node_modules/**',
418
+ '**/.git/**',
419
+ '**/build/**',
420
+ '**/dist/**',
421
+ ]
422
+ }
423
+
424
+ # ============================================================================
425
+ # PRESET REGISTRY
426
+ # ============================================================================
427
+
428
+ PRESETS = {
429
+ # Python
430
+ 'python': PYTHON_PRESET,
431
+ 'python-with-tests': PYTHON_PRESET_WITH_TESTS,
432
+
433
+ # JavaScript/TypeScript
434
+ 'javascript': JAVASCRIPT_PRESET,
435
+ 'js': JAVASCRIPT_PRESET,
436
+ 'typescript': TYPESCRIPT_PRESET,
437
+ 'ts': TYPESCRIPT_PRESET,
438
+ 'react': REACT_PRESET,
439
+ 'nextjs': NEXTJS_PRESET,
440
+ 'next': NEXTJS_PRESET,
441
+
442
+ # Java
443
+ 'java': JAVA_PRESET,
444
+ 'spring-boot': SPRING_BOOT_PRESET,
445
+ 'spring': SPRING_BOOT_PRESET,
446
+ 'maven': MAVEN_PRESET,
447
+ 'gradle': GRADLE_PRESET,
448
+
449
+ # .NET
450
+ 'dotnet': DOTNET_PRESET,
451
+ 'csharp': CSHARP_PRESET,
452
+ 'cs': CSHARP_PRESET,
453
+ 'aspnet': ASPNET_PRESET,
454
+
455
+ # Multi-language
456
+ 'fullstack-js': FULLSTACK_JS_PRESET,
457
+ 'fullstack': FULLSTACK_JS_PRESET,
458
+ 'monorepo': MONOREPO_PRESET,
459
+
460
+ # Documentation
461
+ 'docs': DOCUMENTATION_PRESET,
462
+ 'documentation': DOCUMENTATION_PRESET,
463
+ }
464
+
465
+
466
+ def get_preset(name: str) -> dict:
467
+ """
468
+ Get a preset by name.
469
+
470
+ Args:
471
+ name: Preset name (e.g., 'python', 'typescript', 'java')
472
+
473
+ Returns:
474
+ Dictionary with 'whitelist' and 'blacklist' keys
475
+
476
+ Raises:
477
+ KeyError: If preset name not found
478
+
479
+ Example:
480
+ preset = get_preset('python')
481
+ result = pipeline.run(source='github', **preset)
482
+ """
483
+ if name not in PRESETS:
484
+ available = ', '.join(sorted(PRESETS.keys()))
485
+ raise KeyError(f"Unknown preset '{name}'. Available presets: {available}")
486
+ return PRESETS[name]
487
+
488
+
489
+ def list_presets() -> list:
490
+ """List all available preset names."""
491
+ return sorted(PRESETS.keys())
492
+
493
+
494
+ def combine_presets(*preset_names: str) -> dict:
495
+ """
496
+ Combine multiple presets into one.
497
+
498
+ Args:
499
+ *preset_names: Names of presets to combine
500
+
501
+ Returns:
502
+ Dictionary with merged whitelist and blacklist
503
+
504
+ Example:
505
+ # Combine Python and JavaScript presets
506
+ preset = combine_presets('python', 'javascript')
507
+ result = pipeline.run(source='github', **preset)
508
+ """
509
+ combined_whitelist = []
510
+ combined_blacklist = []
511
+
512
+ for name in preset_names:
513
+ preset = get_preset(name)
514
+ combined_whitelist.extend(preset.get('whitelist', []))
515
+ combined_blacklist.extend(preset.get('blacklist', []))
516
+
517
+ # Remove duplicates while preserving order
518
+ seen_wl = set()
519
+ unique_whitelist = []
520
+ for item in combined_whitelist:
521
+ if item not in seen_wl:
522
+ seen_wl.add(item)
523
+ unique_whitelist.append(item)
524
+
525
+ seen_bl = set()
526
+ unique_blacklist = []
527
+ for item in combined_blacklist:
528
+ if item not in seen_bl:
529
+ seen_bl.add(item)
530
+ unique_blacklist.append(item)
531
+
532
+ return {
533
+ 'whitelist': unique_whitelist,
534
+ 'blacklist': unique_blacklist,
535
+ }