farnalabs-modulo 0.3.213__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 (503) hide show
  1. farnalabs_modulo-0.3.213.dist-info/METADATA +90 -0
  2. farnalabs_modulo-0.3.213.dist-info/RECORD +503 -0
  3. farnalabs_modulo-0.3.213.dist-info/WHEEL +4 -0
  4. farnalabs_modulo-0.3.213.dist-info/entry_points.txt +3 -0
  5. farnalabs_modulo-0.3.213.dist-info/licenses/LICENSE +21 -0
  6. modulo/__init__.py +13 -0
  7. modulo/api/__init__.py +0 -0
  8. modulo/api/dependencies.py +147 -0
  9. modulo/api/exception_handlers.py +28 -0
  10. modulo/api/main.py +636 -0
  11. modulo/api/mcp_server.py +1834 -0
  12. modulo/api/middleware/__init__.py +17 -0
  13. modulo/api/middleware/catch_all.py +95 -0
  14. modulo/api/middleware/correlation_id.py +34 -0
  15. modulo/api/middleware/cors_logging.py +49 -0
  16. modulo/api/middleware/csrf.py +92 -0
  17. modulo/api/middleware/deprecation_headers.py +85 -0
  18. modulo/api/middleware/rate_limiter.py +279 -0
  19. modulo/api/middleware/request_id.py +11 -0
  20. modulo/api/middleware/request_timeout.py +65 -0
  21. modulo/api/middleware/security_headers.py +57 -0
  22. modulo/api/middleware/sensitive_mask.py +171 -0
  23. modulo/api/models/__init__.py +0 -0
  24. modulo/api/models/error.py +146 -0
  25. modulo/api/models/error_forwarder_config.py +60 -0
  26. modulo/api/models/error_notification_rule.py +88 -0
  27. modulo/api/models/problem.py +146 -0
  28. modulo/api/routes/__init__.py +0 -0
  29. modulo/api/routes/admin.py +2392 -0
  30. modulo/api/routes/admin_feature_flags.py +260 -0
  31. modulo/api/routes/admin_license.py +163 -0
  32. modulo/api/routes/admin_monitor_config.py +99 -0
  33. modulo/api/routes/admin_notifications.py +977 -0
  34. modulo/api/routes/admin_orgs.py +455 -0
  35. modulo/api/routes/admin_rate_limits.py +74 -0
  36. modulo/api/routes/admin_remy.py +564 -0
  37. modulo/api/routes/admin_rotation.py +206 -0
  38. modulo/api/routes/admin_runtime_config.py +117 -0
  39. modulo/api/routes/admin_sso.py +535 -0
  40. modulo/api/routes/admin_system_config.py +84 -0
  41. modulo/api/routes/admin_tiers.py +20 -0
  42. modulo/api/routes/admin_triggers.py +147 -0
  43. modulo/api/routes/agents.py +789 -0
  44. modulo/api/routes/api_keys.py +230 -0
  45. modulo/api/routes/audit.py +208 -0
  46. modulo/api/routes/auth.py +426 -0
  47. modulo/api/routes/changelog.py +69 -0
  48. modulo/api/routes/composite_templates.py +354 -0
  49. modulo/api/routes/connectors.py +293 -0
  50. modulo/api/routes/contributions.py +296 -0
  51. modulo/api/routes/costs.py +659 -0
  52. modulo/api/routes/dashboard.py +715 -0
  53. modulo/api/routes/deployment.py +38 -0
  54. modulo/api/routes/determination.py +242 -0
  55. modulo/api/routes/environments.py +419 -0
  56. modulo/api/routes/error_forwarder_config.py +276 -0
  57. modulo/api/routes/error_notification_rules.py +267 -0
  58. modulo/api/routes/errors.py +506 -0
  59. modulo/api/routes/evals.py +772 -0
  60. modulo/api/routes/events.py +157 -0
  61. modulo/api/routes/feedback.py +533 -0
  62. modulo/api/routes/health.py +171 -0
  63. modulo/api/routes/hitl.py +607 -0
  64. modulo/api/routes/in_app_notifications.py +362 -0
  65. modulo/api/routes/library.py +1189 -0
  66. modulo/api/routes/manifest.py +10 -0
  67. modulo/api/routes/mcp_oauth.py +182 -0
  68. modulo/api/routes/me.py +318 -0
  69. modulo/api/routes/model_backends.py +310 -0
  70. modulo/api/routes/node_categories.py +203 -0
  71. modulo/api/routes/notifications.py +250 -0
  72. modulo/api/routes/observability.py +342 -0
  73. modulo/api/routes/onboarding.py +243 -0
  74. modulo/api/routes/pipelines.py +1413 -0
  75. modulo/api/routes/plugins.py +68 -0
  76. modulo/api/routes/registry.py +621 -0
  77. modulo/api/routes/remy.py +1305 -0
  78. modulo/api/routes/run_ws.py +141 -0
  79. modulo/api/routes/runs.py +1211 -0
  80. modulo/api/routes/schemas.py +1068 -0
  81. modulo/api/routes/scim.py +849 -0
  82. modulo/api/routes/sso.py +248 -0
  83. modulo/api/routes/stages.py +179 -0
  84. modulo/api/routes/teams.py +548 -0
  85. modulo/api/routes/templates.py +207 -0
  86. modulo/api/routes/triggers.py +869 -0
  87. modulo/api/routes/variants.py +317 -0
  88. modulo/api/routes/viewmodel.py +401 -0
  89. modulo/api/routes/views.py +197 -0
  90. modulo/api/routes/webhooks.py +275 -0
  91. modulo/api/ui_tools.py +167 -0
  92. modulo/api/viewmodel/__init__.py +0 -0
  93. modulo/auth/__init__.py +0 -0
  94. modulo/auth/api_key.py +234 -0
  95. modulo/auth/dependencies.py +44 -0
  96. modulo/auth/jwt.py +247 -0
  97. modulo/auth/oauth.py +494 -0
  98. modulo/auth/oidc_verify.py +276 -0
  99. modulo/auth/passwords.py +93 -0
  100. modulo/auth/scim_auth.py +73 -0
  101. modulo/auth/sso.py +609 -0
  102. modulo/auth/team_rbac.py +63 -0
  103. modulo/auth/ws_token.py +55 -0
  104. modulo/celery_app.py +91 -0
  105. modulo/cli/__init__.py +8 -0
  106. modulo/cli/backup.py +599 -0
  107. modulo/cli/migrate.py +529 -0
  108. modulo/cli/migrate_org.py +425 -0
  109. modulo/connectors/__init__.py +0 -0
  110. modulo/connectors/asana/__init__.py +217 -0
  111. modulo/connectors/azure_key_vault/__init__.py +248 -0
  112. modulo/connectors/azure_pipelines/__init__.py +378 -0
  113. modulo/connectors/azure_repos/__init__.py +234 -0
  114. modulo/connectors/base.py +353 -0
  115. modulo/connectors/bitbucket/__init__.py +203 -0
  116. modulo/connectors/buildkite/__init__.py +353 -0
  117. modulo/connectors/ci_runner/__init__.py +11 -0
  118. modulo/connectors/ci_runner/base.py +70 -0
  119. modulo/connectors/ci_runner/github_actions.py +319 -0
  120. modulo/connectors/ci_runner/gitlab_ci.py +270 -0
  121. modulo/connectors/circleci/__init__.py +313 -0
  122. modulo/connectors/codeclimate/__init__.py +180 -0
  123. modulo/connectors/confluence/__init__.py +208 -0
  124. modulo/connectors/datadog/__init__.py +220 -0
  125. modulo/connectors/discord/__init__.py +141 -0
  126. modulo/connectors/dropbox_paper/__init__.py +161 -0
  127. modulo/connectors/filesystem/__init__.py +108 -0
  128. modulo/connectors/gitea/__init__.py +214 -0
  129. modulo/connectors/github/__init__.py +457 -0
  130. modulo/connectors/gitlab/__init__.py +538 -0
  131. modulo/connectors/grafana/__init__.py +242 -0
  132. modulo/connectors/jenkins/__init__.py +283 -0
  133. modulo/connectors/jira/__init__.py +253 -0
  134. modulo/connectors/linear/__init__.py +427 -0
  135. modulo/connectors/microsoft_teams/__init__.py +237 -0
  136. modulo/connectors/monday/__init__.py +307 -0
  137. modulo/connectors/n8n/__init__.py +319 -0
  138. modulo/connectors/notion/__init__.py +225 -0
  139. modulo/connectors/npm/__init__.py +138 -0
  140. modulo/connectors/onepassword/__init__.py +224 -0
  141. modulo/connectors/opsgenie/__init__.py +314 -0
  142. modulo/connectors/pagerduty/__init__.py +288 -0
  143. modulo/connectors/pypi/__init__.py +154 -0
  144. modulo/connectors/sentry/__init__.py +204 -0
  145. modulo/connectors/sharepoint/__init__.py +178 -0
  146. modulo/connectors/shell/__init__.py +186 -0
  147. modulo/connectors/shortcut/__init__.py +202 -0
  148. modulo/connectors/slack/__init__.py +256 -0
  149. modulo/connectors/snyk/__init__.py +264 -0
  150. modulo/connectors/sonarqube/__init__.py +311 -0
  151. modulo/connectors/teamcity/__init__.py +316 -0
  152. modulo/connectors/trello/__init__.py +161 -0
  153. modulo/connectors/trivy/__init__.py +172 -0
  154. modulo/connectors/youtrack/__init__.py +161 -0
  155. modulo/core/__init__.py +0 -0
  156. modulo/core/audit_logger/__init__.py +542 -0
  157. modulo/core/audit_logger/append_only.py +69 -0
  158. modulo/core/cleanup_jobs/__init__.py +15 -0
  159. modulo/core/cleanup_jobs/payload_cleanup.py +63 -0
  160. modulo/core/cleanup_jobs/run_retention_cleanup.py +59 -0
  161. modulo/core/cleanup_jobs/webhook_dedup_cleanup.py +149 -0
  162. modulo/core/composite_engine/__init__.py +19 -0
  163. modulo/core/composite_engine/composite_binding.py +56 -0
  164. modulo/core/composite_engine/expander.py +317 -0
  165. modulo/core/composite_engine/schema_mapping.py +67 -0
  166. modulo/core/composite_scheduler.py +71 -0
  167. modulo/core/connector_hub/__init__.py +507 -0
  168. modulo/core/connector_hub/locking.py +142 -0
  169. modulo/core/cost_controller/__init__.py +234 -0
  170. modulo/core/cron_scheduler.py +509 -0
  171. modulo/core/documentation_indexer.py +131 -0
  172. modulo/core/error_tracking/__init__.py +292 -0
  173. modulo/core/error_tracking/alert_dispatcher.py +172 -0
  174. modulo/core/error_tracking/alerting.py +173 -0
  175. modulo/core/error_tracking/celery_hooks.py +122 -0
  176. modulo/core/error_tracking/forwarders/__init__.py +67 -0
  177. modulo/core/error_tracking/forwarders/base.py +23 -0
  178. modulo/core/error_tracking/forwarders/datadog.py +81 -0
  179. modulo/core/error_tracking/forwarders/loki.py +93 -0
  180. modulo/core/error_tracking/forwarders/opsgenie.py +103 -0
  181. modulo/core/error_tracking/forwarders/pagerduty.py +95 -0
  182. modulo/core/error_tracking/forwarders/rollbar.py +86 -0
  183. modulo/core/error_tracking/forwarders/sentry.py +143 -0
  184. modulo/core/error_tracking/metrics.py +93 -0
  185. modulo/core/eval_engine/__init__.py +583 -0
  186. modulo/core/eval_engine/okr.py +236 -0
  187. modulo/core/eval_engine/regression.py +146 -0
  188. modulo/core/events/__init__.py +28 -0
  189. modulo/core/events/event_bus.py +164 -0
  190. modulo/core/events/listeners.py +165 -0
  191. modulo/core/events/redis_broker.py +171 -0
  192. modulo/core/feature_flags.py +480 -0
  193. modulo/core/feedback_manager/__init__.py +606 -0
  194. modulo/core/fernet_rotation.py +295 -0
  195. modulo/core/graceful_shutdown.py +123 -0
  196. modulo/core/graph_validator/__init__.py +940 -0
  197. modulo/core/graph_validator/_types.py +50 -0
  198. modulo/core/graph_validator/category_validator.py +123 -0
  199. modulo/core/hitl_manager/__init__.py +680 -0
  200. modulo/core/hitl_manager/expiry_job.py +195 -0
  201. modulo/core/hitl_manager/overdue_warning.py +75 -0
  202. modulo/core/in_process_scheduler.py +241 -0
  203. modulo/core/library/__init__.py +141 -0
  204. modulo/core/library/agents/__init__.py +49 -0
  205. modulo/core/library/agents/definitions.py +1511 -0
  206. modulo/core/library/complexity_reviewer.py +95 -0
  207. modulo/core/library/integrations/__init__.py +53 -0
  208. modulo/core/library/integrations/definitions.py +838 -0
  209. modulo/core/library/workflows/__init__.py +33 -0
  210. modulo/core/library/workflows/definitions.py +779 -0
  211. modulo/core/library_service/__init__.py +2198 -0
  212. modulo/core/license.py +164 -0
  213. modulo/core/logging_config.py +224 -0
  214. modulo/core/manifest.py +34 -0
  215. modulo/core/mcp/__init__.py +0 -0
  216. modulo/core/mcp/scope_validator.py +111 -0
  217. modulo/core/model_backend_hub/__init__.py +468 -0
  218. modulo/core/notifier/__init__.py +492 -0
  219. modulo/core/notifier/celery_tasks.py +185 -0
  220. modulo/core/notifier/event_mapper.py +222 -0
  221. modulo/core/pipeline_engine/__init__.py +39 -0
  222. modulo/core/pipeline_engine/decorator.py +191 -0
  223. modulo/core/pipeline_engine/event_broker.py +202 -0
  224. modulo/core/pipeline_engine/executor.py +839 -0
  225. modulo/core/pipeline_engine/graph_cache.py +308 -0
  226. modulo/core/pipeline_engine/input_truncation.py +28 -0
  227. modulo/core/pipeline_engine/modulo_saver.py +567 -0
  228. modulo/core/pipeline_engine/node_runner.py +398 -0
  229. modulo/core/pipeline_engine/output_filter.py +126 -0
  230. modulo/core/pipeline_engine/recovery.py +191 -0
  231. modulo/core/pipeline_engine/runaway_protection.py +116 -0
  232. modulo/core/plugin_registry/__init__.py +281 -0
  233. modulo/core/pricing.py +81 -0
  234. modulo/core/prompt_optimizer/__init__.py +235 -0
  235. modulo/core/rate_limiter.py +231 -0
  236. modulo/core/registry/__init__.py +690 -0
  237. modulo/core/registry/crypto.py +86 -0
  238. modulo/core/remy/__init__.py +0 -0
  239. modulo/core/remy/config_service.py +145 -0
  240. modulo/core/remy/context_source_service.py +121 -0
  241. modulo/core/remy/skill_loader.py +315 -0
  242. modulo/core/reports/__init__.py +26 -0
  243. modulo/core/reports/quality_report.py +374 -0
  244. modulo/core/reports/scheduler.py +483 -0
  245. modulo/core/run_context/__init__.py +23 -0
  246. modulo/core/run_context/autonomy.py +106 -0
  247. modulo/core/runtime_config/__init__.py +0 -0
  248. modulo/core/runtime_config/store.py +229 -0
  249. modulo/core/runtime_provider/__init__.py +122 -0
  250. modulo/core/runtime_provider/docker.py +213 -0
  251. modulo/core/runtime_provider/e2b.py +173 -0
  252. modulo/core/runtime_provider/hub.py +73 -0
  253. modulo/core/runtime_provider/local.py +172 -0
  254. modulo/core/schema_registry/__init__.py +58 -0
  255. modulo/core/schema_registry/_common.py +75 -0
  256. modulo/core/schema_registry/generation.py +96 -0
  257. modulo/core/schema_registry/inference.py +90 -0
  258. modulo/core/schema_registry/migration.py +440 -0
  259. modulo/core/schema_registry/validation.py +214 -0
  260. modulo/core/secrets_backend/__init__.py +98 -0
  261. modulo/core/secrets_backend/aws.py +158 -0
  262. modulo/core/secrets_backend/fernet.py +161 -0
  263. modulo/core/secrets_backend/vault.py +167 -0
  264. modulo/core/seed_data/__init__.py +0 -0
  265. modulo/core/seed_data/library_schemas.py +606 -0
  266. modulo/core/trigger_engine/__init__.py +659 -0
  267. modulo/core/trigger_engine/agent_signal.py +226 -0
  268. modulo/core/trigger_engine/polling.py +676 -0
  269. modulo/core/workflow_import_export/__init__.py +759 -0
  270. modulo/db/__init__.py +11 -0
  271. modulo/db/crud/__init__.py +1 -0
  272. modulo/db/crud/account.py +96 -0
  273. modulo/db/crud/agent.py +288 -0
  274. modulo/db/crud/base.py +37 -0
  275. modulo/db/crud/composite_template.py +109 -0
  276. modulo/db/crud/connector_instance.py +125 -0
  277. modulo/db/crud/daily_run_count.py +105 -0
  278. modulo/db/crud/environment_profile.py +88 -0
  279. modulo/db/crud/error_tracking.py +257 -0
  280. modulo/db/crud/library_primitive.py +245 -0
  281. modulo/db/crud/model_backend.py +104 -0
  282. modulo/db/crud/node_category.py +91 -0
  283. modulo/db/crud/node_composite.py +44 -0
  284. modulo/db/crud/node_observation.py +67 -0
  285. modulo/db/crud/notifications.py +319 -0
  286. modulo/db/crud/observability.py +32 -0
  287. modulo/db/crud/org_deletion.py +279 -0
  288. modulo/db/crud/org_membership.py +78 -0
  289. modulo/db/crud/organisation.py +82 -0
  290. modulo/db/crud/pagination.py +159 -0
  291. modulo/db/crud/pipeline.py +258 -0
  292. modulo/db/crud/pipeline_snapshot.py +180 -0
  293. modulo/db/crud/pipeline_snapshot_versioning.py +291 -0
  294. modulo/db/crud/publisher.py +134 -0
  295. modulo/db/crud/rating.py +263 -0
  296. modulo/db/crud/run.py +397 -0
  297. modulo/db/crud/scheduled_report.py +85 -0
  298. modulo/db/crud/schema.py +255 -0
  299. modulo/db/crud/scim.py +254 -0
  300. modulo/db/crud/spend_anomaly.py +72 -0
  301. modulo/db/crud/sso_provider.py +217 -0
  302. modulo/db/crud/stage.py +92 -0
  303. modulo/db/crud/system_config.py +49 -0
  304. modulo/db/crud/team.py +88 -0
  305. modulo/db/crud/team_membership.py +100 -0
  306. modulo/db/crud/template.py +86 -0
  307. modulo/db/crud/tier_catalog.py +90 -0
  308. modulo/db/crud/token_family.py +89 -0
  309. modulo/db/crud/user.py +5 -0
  310. modulo/db/crud/variant_group.py +317 -0
  311. modulo/db/crud/view.py +103 -0
  312. modulo/db/enums.py +32 -0
  313. modulo/db/migrations/__init__.py +1 -0
  314. modulo/db/migrations/env.py +111 -0
  315. modulo/db/migrations/script.py.mako +25 -0
  316. modulo/db/migrations/versions/0001_initial_schema.py +1117 -0
  317. modulo/db/migrations/versions/0002_rls_policies.py +68 -0
  318. modulo/db/migrations/versions/0003_hitl_decision_columns.py +38 -0
  319. modulo/db/migrations/versions/0004_pipeline_graph_nodes.py +32 -0
  320. modulo/db/migrations/versions/0005_library_community_visibility.py +63 -0
  321. modulo/db/migrations/versions/0006_notification_endpoints.py +87 -0
  322. modulo/db/migrations/versions/0007_cron_trigger_columns.py +44 -0
  323. modulo/db/migrations/versions/0008_otel_config.py +32 -0
  324. modulo/db/migrations/versions/0009_polling_trigger_events_check.py +54 -0
  325. modulo/db/migrations/versions/0010_user_last_login_token_families.py +54 -0
  326. modulo/db/migrations/versions/0011_eval_tables.py +124 -0
  327. modulo/db/migrations/versions/0012_variant_groups.py +75 -0
  328. modulo/db/migrations/versions/0013_environment_profiles_workspace_leases.py +179 -0
  329. modulo/db/migrations/versions/0014_team_cost_attribution.py +121 -0
  330. modulo/db/migrations/versions/0015_org_deletion.py +43 -0
  331. modulo/db/migrations/versions/0016_oauth_tables.py +130 -0
  332. modulo/db/migrations/versions/0017_user_preferences.py +35 -0
  333. modulo/db/migrations/versions/0018_api_key_expires_at.py +27 -0
  334. modulo/db/migrations/versions/0019_pipeline_templates.py +41 -0
  335. modulo/db/migrations/versions/0020_delivery_log_response_body.py +27 -0
  336. modulo/db/migrations/versions/0021_sso_providers.py +52 -0
  337. modulo/db/migrations/versions/0022_cost_export_anomalies.py +93 -0
  338. modulo/db/migrations/versions/0023_run_error_detail.py +24 -0
  339. modulo/db/migrations/versions/0024_audit_append_only.py +66 -0
  340. modulo/db/migrations/versions/0025_team_visibility_rls.py +54 -0
  341. modulo/db/migrations/versions/0026_team_rbac_cap.py +93 -0
  342. modulo/db/migrations/versions/0027_hitl_claim_team.py +37 -0
  343. modulo/db/migrations/versions/0028_notification_endpoint_team.py +42 -0
  344. modulo/db/migrations/versions/0029_eval_failed_status.py +35 -0
  345. modulo/db/migrations/versions/0030_contribution_versions.py +50 -0
  346. modulo/db/migrations/versions/0031_sso_group_mappings.py +33 -0
  347. modulo/db/migrations/versions/0032_publishers.py +60 -0
  348. modulo/db/migrations/versions/0033_correction_run.py +48 -0
  349. modulo/db/migrations/versions/0034_run_node_token_usage.py +24 -0
  350. modulo/db/migrations/versions/0035_model_fallback.py +24 -0
  351. modulo/db/migrations/versions/0036_conditional_edges.py +52 -0
  352. modulo/db/migrations/versions/0038_agent_missing_columns.py +24 -0
  353. modulo/db/migrations/versions/0039_sync_remaining_columns.py +113 -0
  354. modulo/db/migrations/versions/0040_runaway_run_protection.py +27 -0
  355. modulo/db/migrations/versions/0041_agent_is_executable.py +25 -0
  356. modulo/db/migrations/versions/0042_hitl_delivered_at.py +23 -0
  357. modulo/db/migrations/versions/0043_prompt_always_visible.py +25 -0
  358. modulo/db/migrations/versions/0044_library_auto_update.py +25 -0
  359. modulo/db/migrations/versions/0045_saved_views.py +50 -0
  360. modulo/db/migrations/versions/0046_system_config.py +33 -0
  361. modulo/db/migrations/versions/0047_create_missing_tables.py +87 -0
  362. modulo/db/migrations/versions/0048_tier_catalog.py +41 -0
  363. modulo/db/migrations/versions/0049_remy_tables.py +88 -0
  364. modulo/db/migrations/versions/0050_composite_templates.py +43 -0
  365. modulo/db/migrations/versions/0051_composite_library_type.py +40 -0
  366. modulo/db/migrations/versions/0051_error_tracking.py +23 -0
  367. modulo/db/migrations/versions/0052_composite_bindings.py +32 -0
  368. modulo/db/migrations/versions/0053_dashboard_perf_indexes.py +48 -0
  369. modulo/db/migrations/versions/0054_error_notification_rules.py +44 -0
  370. modulo/db/migrations/versions/0055_error_forwarder_configs.py +41 -0
  371. modulo/db/migrations/versions/0056_modulo_source.py +58 -0
  372. modulo/db/migrations/versions/0057_notifications.py +55 -0
  373. modulo/db/migrations/versions/0058_uuid_friendly_ids.py +65 -0
  374. modulo/db/migrations/versions/0059_feedback_annotation.py +27 -0
  375. modulo/db/migrations/versions/0060_fix_rls_team_isolation_column.py +51 -0
  376. modulo/db/migrations/versions/0061_remy_context_sources.py +70 -0
  377. modulo/db/migrations/versions/0062_add_integration_tier.py +37 -0
  378. modulo/db/migrations/versions/0063_library_community_source.py +82 -0
  379. modulo/db/migrations/versions/0064_add_schema_deprecation.py +31 -0
  380. modulo/db/migrations/versions/0065_merge_add_schema_deprecation.py +23 -0
  381. modulo/db/migrations/versions/0066_primitive_ratings.py +48 -0
  382. modulo/db/migrations/versions/0067_pipeline_snapshot_tag_notes.py +32 -0
  383. modulo/db/migrations/versions/0068_audit_chaining.py +46 -0
  384. modulo/db/migrations/versions/0069_feedback_records.py +96 -0
  385. modulo/db/migrations/versions/0070_team_memberships.py +69 -0
  386. modulo/db/migrations/versions/0071_fixture_contribution.py +68 -0
  387. modulo/db/migrations/versions/0072_eval_suite_threshold.py +39 -0
  388. modulo/db/migrations/versions/0073_node_observations.py +37 -0
  389. modulo/db/migrations/versions/0074_account_org_membership.py +249 -0
  390. modulo/db/migrations/versions/0075_error_tracking.py +146 -0
  391. modulo/db/migrations/versions/0076_merge_node_observations.py +23 -0
  392. modulo/db/migrations/versions/0077_merge_account_org_membership.py +23 -0
  393. modulo/db/migrations/versions/0078_merge_error_tracking.py +23 -0
  394. modulo/db/migrations/versions/0079_add_opencode_provider.py +48 -0
  395. modulo/db/migrations/versions/0080_seed_tier_catalog.py +78 -0
  396. modulo/db/migrations/versions/0081_add_error_group_resolved_at.py +24 -0
  397. modulo/db/models/__init__.py +125 -0
  398. modulo/db/models/account.py +38 -0
  399. modulo/db/models/agent.py +59 -0
  400. modulo/db/models/api_key.py +27 -0
  401. modulo/db/models/audit_event.py +40 -0
  402. modulo/db/models/base.py +39 -0
  403. modulo/db/models/composite_template.py +22 -0
  404. modulo/db/models/connector_instance.py +38 -0
  405. modulo/db/models/daily_run_count.py +32 -0
  406. modulo/db/models/environment_profile.py +24 -0
  407. modulo/db/models/error_event.py +30 -0
  408. modulo/db/models/error_forwarder_config.py +31 -0
  409. modulo/db/models/error_group.py +42 -0
  410. modulo/db/models/error_notification_rule.py +35 -0
  411. modulo/db/models/eval_definition.py +40 -0
  412. modulo/db/models/eval_result.py +32 -0
  413. modulo/db/models/feedback_record.py +48 -0
  414. modulo/db/models/hitl_claim.py +31 -0
  415. modulo/db/models/library_primitive.py +106 -0
  416. modulo/db/models/model_backend.py +48 -0
  417. modulo/db/models/node.py +68 -0
  418. modulo/db/models/node_category.py +24 -0
  419. modulo/db/models/node_observation.py +21 -0
  420. modulo/db/models/notification.py +60 -0
  421. modulo/db/models/notification_delivery.py +26 -0
  422. modulo/db/models/notification_endpoint.py +26 -0
  423. modulo/db/models/oauth_client.py +26 -0
  424. modulo/db/models/oauth_token.py +61 -0
  425. modulo/db/models/org_membership.py +29 -0
  426. modulo/db/models/organisation.py +32 -0
  427. modulo/db/models/pipeline.py +60 -0
  428. modulo/db/models/pipeline_edge.py +36 -0
  429. modulo/db/models/pipeline_snapshot.py +48 -0
  430. modulo/db/models/primitive_abuse_report.py +49 -0
  431. modulo/db/models/primitive_rating.py +25 -0
  432. modulo/db/models/publisher.py +21 -0
  433. modulo/db/models/remy_context_source.py +50 -0
  434. modulo/db/models/remy_message.py +46 -0
  435. modulo/db/models/remy_session.py +26 -0
  436. modulo/db/models/remy_skill.py +48 -0
  437. modulo/db/models/run.py +79 -0
  438. modulo/db/models/scheduled_report.py +25 -0
  439. modulo/db/models/schema.py +46 -0
  440. modulo/db/models/secret.py +12 -0
  441. modulo/db/models/spend_anomaly.py +21 -0
  442. modulo/db/models/sso_provider.py +24 -0
  443. modulo/db/models/stage.py +23 -0
  444. modulo/db/models/system_config.py +26 -0
  445. modulo/db/models/team.py +21 -0
  446. modulo/db/models/team_membership.py +22 -0
  447. modulo/db/models/tier_catalog.py +24 -0
  448. modulo/db/models/token_family.py +33 -0
  449. modulo/db/models/trigger.py +50 -0
  450. modulo/db/models/trigger_event.py +35 -0
  451. modulo/db/models/variant_group.py +39 -0
  452. modulo/db/models/view.py +28 -0
  453. modulo/db/models/webhook.py +33 -0
  454. modulo/db/models/workspace_lease.py +43 -0
  455. modulo/db/repositories/__init__.py +82 -0
  456. modulo/db/repositories/base.py +97 -0
  457. modulo/db/repositories/generic.py +36 -0
  458. modulo/db/repositories/locks.py +183 -0
  459. modulo/db/repositories/postgres.py +21 -0
  460. modulo/db/rls.py +212 -0
  461. modulo/db/session.py +69 -0
  462. modulo/db/settings_resolver.py +34 -0
  463. modulo/determination/__init__.py +0 -0
  464. modulo/determination/draft.py +171 -0
  465. modulo/determination/inference.py +256 -0
  466. modulo/determination/scanner.py +142 -0
  467. modulo/model_backends/__init__.py +65 -0
  468. modulo/model_backends/ai21/__init__.py +53 -0
  469. modulo/model_backends/anthropic/__init__.py +66 -0
  470. modulo/model_backends/azure_openai/__init__.py +86 -0
  471. modulo/model_backends/base.py +86 -0
  472. modulo/model_backends/bedrock/__init__.py +71 -0
  473. modulo/model_backends/cohere/__init__.py +68 -0
  474. modulo/model_backends/deepseek/__init__.py +46 -0
  475. modulo/model_backends/fireworks/__init__.py +53 -0
  476. modulo/model_backends/gemini/__init__.py +67 -0
  477. modulo/model_backends/grok/__init__.py +48 -0
  478. modulo/model_backends/groq/__init__.py +48 -0
  479. modulo/model_backends/jan/__init__.py +62 -0
  480. modulo/model_backends/llamacpp/__init__.py +62 -0
  481. modulo/model_backends/lm_studio/__init__.py +62 -0
  482. modulo/model_backends/localai/__init__.py +62 -0
  483. modulo/model_backends/mistral/__init__.py +68 -0
  484. modulo/model_backends/ollama/__init__.py +62 -0
  485. modulo/model_backends/openai/__init__.py +41 -0
  486. modulo/model_backends/opencode/__init__.py +46 -0
  487. modulo/model_backends/openrouter/__init__.py +46 -0
  488. modulo/model_backends/perplexity/__init__.py +48 -0
  489. modulo/model_backends/qwen/__init__.py +46 -0
  490. modulo/model_backends/stub/__init__.py +7 -0
  491. modulo/model_backends/stub/backend.py +96 -0
  492. modulo/model_backends/tgi/__init__.py +62 -0
  493. modulo/model_backends/togetherai/__init__.py +53 -0
  494. modulo/model_backends/vertexai/__init__.py +70 -0
  495. modulo/model_backends/vllm/__init__.py +62 -0
  496. modulo/model_backends/watsonx/__init__.py +72 -0
  497. modulo/otel_bridge/__init__.py +4 -0
  498. modulo/otel_bridge/export.py +94 -0
  499. modulo/otel_bridge/handler.py +372 -0
  500. modulo/registry/__init__.py +19 -0
  501. modulo/registry/crypto.py +168 -0
  502. modulo/settings.py +224 -0
  503. modulo/version.py +15 -0
@@ -0,0 +1,90 @@
1
+ Metadata-Version: 2.4
2
+ Name: farnalabs-modulo
3
+ Version: 0.3.213
4
+ Summary: Governed orchestration for your agentic SDLC
5
+ Project-URL: Homepage, https://modulo.run
6
+ Project-URL: Source, https://github.com/farnalabs/modulo
7
+ Project-URL: BugTracker, https://github.com/farnalabs/modulo/issues
8
+ Author-email: Duncan Tait <duncan@farnalabs.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Requires-Python: >=3.12
18
+ Requires-Dist: aiosqlite>=0.20.0
19
+ Requires-Dist: alembic>=1.13.0
20
+ Requires-Dist: asyncmy>=0.2.9
21
+ Requires-Dist: asyncpg>=0.29.0
22
+ Requires-Dist: authlib>=1.3.0
23
+ Requires-Dist: click>=8.1.0
24
+ Requires-Dist: croniter>=6.2.2
25
+ Requires-Dist: cryptography>=42.0.0
26
+ Requires-Dist: defusedxml>=0.7.1
27
+ Requires-Dist: e2b>=0.15.0
28
+ Requires-Dist: fastapi>=0.111.0
29
+ Requires-Dist: httpx>=0.28.1
30
+ Requires-Dist: jinja2>=3.1.4
31
+ Requires-Dist: jmespath>=1.0.1
32
+ Requires-Dist: jsonschema<4.26.dev0,>=4.25.1
33
+ Requires-Dist: langchain-anthropic>=1.4.0
34
+ Requires-Dist: langchain-aws>=0.2.0
35
+ Requires-Dist: langchain-cohere>=0.3.0
36
+ Requires-Dist: langchain-core>=1.2.31
37
+ Requires-Dist: langchain-google-genai>=4.2.6
38
+ Requires-Dist: langchain-google-vertexai>=2.0.0
39
+ Requires-Dist: langchain-ibm>=1.1.0
40
+ Requires-Dist: langchain-mistralai>=0.2.0
41
+ Requires-Dist: langchain-openai>=1.1.14
42
+ Requires-Dist: langgraph-checkpoint-postgres>=3.0.0
43
+ Requires-Dist: langgraph>=1.0.10
44
+ Requires-Dist: mcp>=1.28.1
45
+ Requires-Dist: opentelemetry-exporter-otlp>=1.24.0
46
+ Requires-Dist: opentelemetry-sdk>=1.24.0
47
+ Requires-Dist: passlib[bcrypt]>=1.7.4
48
+ Requires-Dist: psycopg-binary>=3.3.4
49
+ Requires-Dist: pydantic-settings>=2.14.2
50
+ Requires-Dist: python-jose[cryptography]>=3.3.0
51
+ Requires-Dist: python-json-logger>=2.0.0
52
+ Requires-Dist: python-multipart>=0.0.32
53
+ Requires-Dist: python3-saml>=1.16.0
54
+ Requires-Dist: pyyaml>=6.0.1
55
+ Requires-Dist: redis>=6.4.0
56
+ Requires-Dist: sqlalchemy[asyncio]>=2.0.30
57
+ Requires-Dist: tqdm>=4.66.0
58
+ Requires-Dist: uvicorn[standard]>=0.49.0
59
+ Requires-Dist: websockets>=12.0
60
+ Provides-Extra: dev
61
+ Requires-Dist: aiodocker>=0.21.0; extra == 'dev'
62
+ Requires-Dist: bandit>=1.7.8; extra == 'dev'
63
+ Requires-Dist: factory-boy>=3.3.0; extra == 'dev'
64
+ Requires-Dist: httpx>=0.27.0; extra == 'dev'
65
+ Requires-Dist: hypothesis>=6.100.0; extra == 'dev'
66
+ Requires-Dist: import-linter>=2.1; extra == 'dev'
67
+ Requires-Dist: locust>=2.32.0; extra == 'dev'
68
+ Requires-Dist: mypy>=1.10.0; extra == 'dev'
69
+ Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
70
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
71
+ Requires-Dist: pytest-bdd>=7.2.0; extra == 'dev'
72
+ Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
73
+ Requires-Dist: pytest-playwright>=0.8.0; extra == 'dev'
74
+ Requires-Dist: pytest-recording>=0.13.0; extra == 'dev'
75
+ Requires-Dist: pytest-xdist>=3.5.0; extra == 'dev'
76
+ Requires-Dist: pytest>=8.2.0; extra == 'dev'
77
+ Requires-Dist: requests>=2.31.0; extra == 'dev'
78
+ Requires-Dist: respx>=0.21.0; extra == 'dev'
79
+ Requires-Dist: ruff>=0.4.0; extra == 'dev'
80
+ Requires-Dist: schemathesis>=3.30.0; extra == 'dev'
81
+ Requires-Dist: semgrep>=1.70.0; extra == 'dev'
82
+ Requires-Dist: testcontainers[postgres]>=4.5.0; extra == 'dev'
83
+ Requires-Dist: types-passlib>=1.7.7; extra == 'dev'
84
+ Requires-Dist: types-pyyaml>=6.0.12.20260518; extra == 'dev'
85
+ Requires-Dist: websocket-client>=1.8.0; extra == 'dev'
86
+ Provides-Extra: docker
87
+ Requires-Dist: aiodocker>=0.21.0; extra == 'docker'
88
+ Provides-Extra: redis
89
+ Requires-Dist: celery[redis]>=5.4.0; extra == 'redis'
90
+ Requires-Dist: redis>=5.0.0; extra == 'redis'
@@ -0,0 +1,503 @@
1
+ modulo/__init__.py,sha256=9JKlnKMfljGGN0yXHx3LQFX4Ir1XCIdpWnwZJ9XWcB8,232
2
+ modulo/celery_app.py,sha256=9eUFqJy8KKKTa119pVI6FbhZELP7bFgqPJ_NxMuqSp8,2586
3
+ modulo/settings.py,sha256=_bUoxx_4wtR3RGiDzlxNnF_tOVJ4W3XzU2N3wyHytn4,9428
4
+ modulo/version.py,sha256=8auT-kkDOVCTKZU2wt9KhqRTinGfNuRdtqxkHekyJlg,277
5
+ modulo/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ modulo/api/dependencies.py,sha256=6Na7w2MjJtosAyfKeSrSM-kQ8QueNDknWgWY4eio5SE,5259
7
+ modulo/api/exception_handlers.py,sha256=9-zMfXhxZRmqM1iLwzIgrTPadlswmNp8ctWdl4soOGc,957
8
+ modulo/api/main.py,sha256=GIKzSkL7jTfIL2CoH4oSqriu3fpgkhgkuJSq8PkiuRk,26962
9
+ modulo/api/mcp_server.py,sha256=Qu685F97AuURZO91hfkg8-NUCLk7xnYjv3VFVAGlKwo,69469
10
+ modulo/api/ui_tools.py,sha256=ldO8XDUpd3LBPY_S8w5PopSfw2xUfKLYlkwmEdWI0dE,5909
11
+ modulo/api/middleware/__init__.py,sha256=JO3n99YfabNM_eCvBa5ridOUvQ62WOl6vw8BFPvLhBM,722
12
+ modulo/api/middleware/catch_all.py,sha256=FHoo_3XbAMqoqQfhiZOzlkvjRzCTIAg8QM1rZ8LsmuU,3531
13
+ modulo/api/middleware/correlation_id.py,sha256=7rxbG4eqWSgzr87KCqeXShkD75iBAyaymkhqnbBpgGY,1069
14
+ modulo/api/middleware/cors_logging.py,sha256=KYTKp4UJhefeeJJtRtzk_j8USnCIvCEjFjtOJYVP2WM,1499
15
+ modulo/api/middleware/csrf.py,sha256=V2x_vc9MerLzK0y92M81uuLnbYR49CLAq9quq72HATo,3245
16
+ modulo/api/middleware/deprecation_headers.py,sha256=Laa0rXWv5qKYDonPyP9KhwxyBE0sZTeQsoOmoVzQ-vg,2686
17
+ modulo/api/middleware/rate_limiter.py,sha256=Ook97e0G4dUT2caemrBLtvc2xCxYz33ZjyqftkT9g1k,10852
18
+ modulo/api/middleware/request_id.py,sha256=M8rLOMYZP3gepXmDqCQw9YEfkjsr7eNcKashHZZequY,393
19
+ modulo/api/middleware/request_timeout.py,sha256=5VszdxCgkWdnLooBwQEpGXn_qbj0lhwOSutix_KF3MM,1997
20
+ modulo/api/middleware/security_headers.py,sha256=52IknjiTxtldK4AZnKZPzVcv_wo0w-BS7m0Wvdbz14Q,2058
21
+ modulo/api/middleware/sensitive_mask.py,sha256=MAwFg_J-CwMUpcXfiCW_wgcO-tBZjC-k7QV2YQI6kTA,5457
22
+ modulo/api/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ modulo/api/models/error.py,sha256=A18v4MFbgT-v4ebQMYSWYnUEJPjMTn21YNCYbwIWGes,3723
24
+ modulo/api/models/error_forwarder_config.py,sha256=3MCiPFaX7C5K4J_05iX9Sx46PK5EQh4XgqsyfieSn1A,1470
25
+ modulo/api/models/error_notification_rule.py,sha256=Y3vsptZL6L4myezQ4hrn5UdsbNojhMZHvDP6v1VBxCg,2976
26
+ modulo/api/models/problem.py,sha256=bS2Y0JFp868wgF1NpoSek1sW8CnOIhAVrC4-6AfF8XA,4854
27
+ modulo/api/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ modulo/api/routes/admin.py,sha256=2O9Pkl_lln0LSBTOgTt-o8YxzNtYy5SBTj2Nj1YiKgE,87922
29
+ modulo/api/routes/admin_feature_flags.py,sha256=04MKbHEP7-c5KXaBuSGwObUvLQJvapWwjjDwR1VYSOQ,9205
30
+ modulo/api/routes/admin_license.py,sha256=UD6i25VWuSZMjyA6YfswX2Upbntu70xHUcv34uCXzL8,5416
31
+ modulo/api/routes/admin_monitor_config.py,sha256=oYBIcvUknO9Ng5MiPJj72o9mtkFj1NIN_eDDjXkiC_k,3093
32
+ modulo/api/routes/admin_notifications.py,sha256=M-taKrazWJbEuTC92Zu69msskdi_FmWODyCZpzZtxKg,41127
33
+ modulo/api/routes/admin_orgs.py,sha256=_RkMRBzkv_V4r_hXGfo5m28nAaFJ4dZQLvA-90wm5Xo,16400
34
+ modulo/api/routes/admin_rate_limits.py,sha256=KK-TRZfBMO_HmJCBkByDaOmsG6ejPm-um5KYWmsBELo,2416
35
+ modulo/api/routes/admin_remy.py,sha256=eriNMwsrs_JHq5UvxWpw-5V91dnRSLR8aP8mLZTPJRE,21192
36
+ modulo/api/routes/admin_rotation.py,sha256=0mrLbIzXzAjBB3WyMjBZvmxTFFCyrU4arTk6T06cRWI,7236
37
+ modulo/api/routes/admin_runtime_config.py,sha256=6Yi1aaag_fop8PQihHBASO8fmQHML25-MGeq-hPLPYs,4064
38
+ modulo/api/routes/admin_sso.py,sha256=sRbqhHZLuYtYMLbaJmCFvU__Izk3SKuI6gh76iIZO7k,20484
39
+ modulo/api/routes/admin_system_config.py,sha256=keCpoATIMYVYH7VeScnGlo-iGuadLDfWXTjHVWvnt5o,2675
40
+ modulo/api/routes/admin_tiers.py,sha256=lIW9g_QglbeoJ3BB9ECcUmlLmGAnZcTIVXWjsNZ-tFg,731
41
+ modulo/api/routes/admin_triggers.py,sha256=Uc9t3NpSDlzCpv-sT8GWCjfhXlbUZZMnwoYYkdt9hjc,5191
42
+ modulo/api/routes/agents.py,sha256=g_qByfUAMoqd9ymo-zYwk9MSL1BZweim87GNS-YwrF0,28918
43
+ modulo/api/routes/api_keys.py,sha256=qOMbQKWihUr1Z76wuqb_i5bBZkYSMpR4tBaxwwt36wM,8509
44
+ modulo/api/routes/audit.py,sha256=9iRgcC9aa2Uv3W1qvDowmu246AU230tLKcPV1F_UOeM,8273
45
+ modulo/api/routes/auth.py,sha256=34ghCmiCRcBf-ajryzw4VgRwKrTkSmOEKu44_ghdgUg,13987
46
+ modulo/api/routes/changelog.py,sha256=iilLBUa7K3mjUBbHTBsJKmd0NWgL9bBHJZcnbPYgDzc,3218
47
+ modulo/api/routes/composite_templates.py,sha256=4S-yZkwh8kJ64tVXFb8qucTxQLAp0_8pECZg24mihqM,13645
48
+ modulo/api/routes/connectors.py,sha256=ixLb4sJ_foHnhPznVXbzZ55-ZgHKeuaRB5nCmi5avbM,11874
49
+ modulo/api/routes/contributions.py,sha256=HySEaNpCpkAGXhJkZBIYv0BMoG4kl6Jxuxsi8MKYYCU,11195
50
+ modulo/api/routes/costs.py,sha256=ihh4uXkZJa2nMwb-aPLoOiNF-8PkVjlPSDAZcY1MBRI,25794
51
+ modulo/api/routes/dashboard.py,sha256=wSaqHyLcweOvpxN1mNF2GLmVnpERkw73EpiWyYUrN4s,30998
52
+ modulo/api/routes/deployment.py,sha256=CmYDftxaRdPE2Ir5k27BRFfv99kRBwIiv1gKEQDDag0,1381
53
+ modulo/api/routes/determination.py,sha256=X9KXjgB0bia1tR95t5CnQp-3UEfWTvX07alZvpz9DDk,7999
54
+ modulo/api/routes/environments.py,sha256=kJtZpeiqOcsFA9PM--TqlxeZ3bs542-pS4xRJnDD7Zw,15672
55
+ modulo/api/routes/error_forwarder_config.py,sha256=SiETF526LCd5JVMcO91-y5OoS67xd3hnyMpSAEjjcQs,10207
56
+ modulo/api/routes/error_notification_rules.py,sha256=pL7s01NwLNh7keX8m4Fm8NB2kEQod_ZL2_0BeS8ZaOQ,10006
57
+ modulo/api/routes/errors.py,sha256=ayoajr0R00UCi3sS4EwFQxco0WWmV-yc1HKWcBQjc7I,19457
58
+ modulo/api/routes/evals.py,sha256=wfiQomJ92LIoq8z0R_8vZfo4u8e76rZJQmktmI8cfmg,29422
59
+ modulo/api/routes/events.py,sha256=-BrcIwGFwEq9X_JjMnavEOzrTShuBAZZRN_oKGw7fq4,5508
60
+ modulo/api/routes/feedback.py,sha256=h-kmg55WyojSkOErTbC_n5lLR3eqS_GRxsO-J-AK_mk,21522
61
+ modulo/api/routes/health.py,sha256=FoYWa69aQsHACkRrVS3SeqfkaY7FVokrywqBqPD8AHw,5300
62
+ modulo/api/routes/hitl.py,sha256=d9kSHKYmSlO3f8bGxJVryZnF0qPBwT2ly7csyT5fND0,22675
63
+ modulo/api/routes/in_app_notifications.py,sha256=F3cG_NfTjOGQZKc4gugPZXSL846wkCjnxsgRGxw6uTI,13019
64
+ modulo/api/routes/library.py,sha256=BGfCUID3VDbZWOrwc7o_jsdp7tix_XPqpaXVqLoRC3o,47189
65
+ modulo/api/routes/manifest.py,sha256=wTQ3FNcuHD-3UGwdhocF7EDYN_U3gqsYJIPHB2Y-Nbo,218
66
+ modulo/api/routes/mcp_oauth.py,sha256=ztU3i4IiTbWt-XxtHdoBb0Panw04INs5OFFJHP7B5Y8,6910
67
+ modulo/api/routes/me.py,sha256=BBicitktI0ken1-r_c58iU-c4glKde-EUs_Obft7YVc,12205
68
+ modulo/api/routes/model_backends.py,sha256=lrtIcC72wkUt01ghjr13abaFramslbEzstLl6hu-Nng,12133
69
+ modulo/api/routes/node_categories.py,sha256=Iwn9KHVY9hLCGGSoBe7-S6846OlaEzhp5wRvvxR2ws0,8031
70
+ modulo/api/routes/notifications.py,sha256=4fZGAEj4kEFcc3yW5SJ1hFIfnu_voptQ65kuhtdlbUA,9956
71
+ modulo/api/routes/observability.py,sha256=ghrAo6etKbolsBaBNV627-5qXbttRlFIQQxSlNZkALI,12735
72
+ modulo/api/routes/onboarding.py,sha256=1XX8-TjdVGHsqAbdTxjwBFPywg06LPaNyuxKn5fqFfs,8006
73
+ modulo/api/routes/pipelines.py,sha256=RsSXxtYQL4ynXTaZ3TTHtc-YogQBj2EujqO_Jk60-2w,56163
74
+ modulo/api/routes/plugins.py,sha256=T3QzznSk2dt8YbP_vG9F1oGCDOCWfEk6g1HgykBLHNc,2269
75
+ modulo/api/routes/registry.py,sha256=b3RJmzfGqWUnPm8D3W2PkHmQA4-aXN8z63aOBqK1xOM,21463
76
+ modulo/api/routes/remy.py,sha256=J9aUTh8pd6HIUN8feHB97t3Nif-mdYCoI4VYfiVjWtg,57159
77
+ modulo/api/routes/run_ws.py,sha256=ZG0BC5ck5SeOUT6jOlnA7Tzv8s6JoAXPzvq6MuQITzI,5050
78
+ modulo/api/routes/runs.py,sha256=H473Wkh_5PeGlG9NfpNmZh0oXaqt6xWKlz140d_Rddk,43516
79
+ modulo/api/routes/schemas.py,sha256=WbrX7GtpsW0k6eUcaH4zAHWRRaJXJ_RXCdx4ueKSYnw,39750
80
+ modulo/api/routes/scim.py,sha256=phMjWJm36L7CXjwiNUO_v2p4_MdIM-OKYEn5IjNIaC4,33785
81
+ modulo/api/routes/sso.py,sha256=ZHoCoyNsDDW9GNCQYjHQNvXol6NL2hnFmNBk-P7rgx8,9008
82
+ modulo/api/routes/stages.py,sha256=8mBCvtSwpSJIuTOppOEtjzlAv5m45be9rBnbsUj3bk4,6646
83
+ modulo/api/routes/teams.py,sha256=Tv8UfVjUdLM-2oCHAuh8mqIhbPYHZf5hiygFbBmOKBo,20771
84
+ modulo/api/routes/templates.py,sha256=CASyWjeoz5Zzzd3KNeUinIBNM6RF3Yx2qa9_43Vtai0,7106
85
+ modulo/api/routes/triggers.py,sha256=gR-ujQvWBr36IgJ-YeIs1WzY5-SujOCypFqWqFirUys,35182
86
+ modulo/api/routes/variants.py,sha256=eoP1PHDxyLM_mFKNLXniVwDm78b6CRdrPWq0c_V3L8U,11511
87
+ modulo/api/routes/viewmodel.py,sha256=a8F8SkqHkuS5pB5tzO5wTU8ne7BgZ1Y-a74JnQtHUls,14087
88
+ modulo/api/routes/views.py,sha256=P9RevjlkMgAhMMLJZBnqEBuMOcW7580AT_BG-gjwHaU,7491
89
+ modulo/api/routes/webhooks.py,sha256=lKMEoJniXcTufpqVEt6Rv3SKOybIacEidKB9B4E62hk,11549
90
+ modulo/api/viewmodel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
+ modulo/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
+ modulo/auth/api_key.py,sha256=cCC31FPF-WNLbvgxJ6kiAxd3Oph9X6IdgZ-xe5lhGhg,7291
93
+ modulo/auth/dependencies.py,sha256=YjOGOqICaCa8GCoDM0xwDqOnkctldYYZ9nTio6I_8RE,1448
94
+ modulo/auth/jwt.py,sha256=2f_dBtv1X3l6yOxS0W5qZIAu9JQrk3-TbsAV6-tR7eY,8315
95
+ modulo/auth/oauth.py,sha256=rl_kBoAo6k5qoheRMy2dJgEjlyr-9L5t0NTvprRe23w,15995
96
+ modulo/auth/oidc_verify.py,sha256=z1kMxYvETjdrMTlYbxBV5lNSFFT7jizDNIkYMC7k7N0,9099
97
+ modulo/auth/passwords.py,sha256=wg-n7BkfDD2QbCEl77VwUaCP1N3_k-ykw3Cw2r0EFqQ,2966
98
+ modulo/auth/scim_auth.py,sha256=GnwDEctuVDLnCQuh98HWXXnN2JQQng7YbovBqHMIv_g,2742
99
+ modulo/auth/sso.py,sha256=t5w6onKnyNhYir5sTu8Zr-98qTFXgZp98KtlQT_dCnc,23035
100
+ modulo/auth/team_rbac.py,sha256=e3WioHcKyhA4e0TZw4pWHo6ZyXV6LvasMA3yVs3Tssg,2106
101
+ modulo/auth/ws_token.py,sha256=lznDcSW8YhA0IVgSsvf9botqER20iUnFn2hTtIAFw0Q,1461
102
+ modulo/cli/__init__.py,sha256=Z_UJuizb2xpcMTqyUEevhlQX8pB0PhdjcSaUMHU5_xM,161
103
+ modulo/cli/backup.py,sha256=YhrV5jazccqiVWLxZxWLJ6avyVG96hGm5RbSoHsol14,25033
104
+ modulo/cli/migrate.py,sha256=L4T04aCyBvMDWHOXSO_f2S3f_eUeNorlgOONUEmxHqg,19488
105
+ modulo/cli/migrate_org.py,sha256=r5rkZuKb61662wry0tSgWoz4XhlTla-WJcmlRPSHju4,16136
106
+ modulo/connectors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
107
+ modulo/connectors/base.py,sha256=hW7CvALm-23Jq9KHm6sgFkxKSYEG5nmh5_OFRl0mogw,12976
108
+ modulo/connectors/asana/__init__.py,sha256=oFkt2CmEza2mojsN52I_6Fsc8Ql2g96aAQ8lsI03Rwc,9246
109
+ modulo/connectors/azure_key_vault/__init__.py,sha256=CQ_wjXMeATYryX4p0h8stVqR-AwcORUDWdsrPZOCCJ0,11194
110
+ modulo/connectors/azure_pipelines/__init__.py,sha256=I8Qyo7dPUl7k7wHft5rSQpWRjfqfvmDlmVPd8c-s8xo,14782
111
+ modulo/connectors/azure_repos/__init__.py,sha256=h3iCacXKnTckBFTnuNI-vm8XDRfil5fqxIh5HQJlvGM,10150
112
+ modulo/connectors/bitbucket/__init__.py,sha256=_4Z3O4HEVh9gsYXw8GotJ1YSW-bVPUsRl1E9DL8pmUY,8973
113
+ modulo/connectors/buildkite/__init__.py,sha256=I4ILDFWKEf3ZzIH5LYMcVfOvqJ-2o-TgHBnVETYWtW0,13405
114
+ modulo/connectors/ci_runner/__init__.py,sha256=HlOU_C26HkJygo2_U5tlQen_AwRKpHbWCoAy_MF82HA,361
115
+ modulo/connectors/ci_runner/base.py,sha256=ExusSAzrXA1mV7vpGxDL6VuQEfC8-leL2Il6pGajFw0,2209
116
+ modulo/connectors/ci_runner/github_actions.py,sha256=INQSVihTlmrvXADl3BQ3DBoNub6ggpXwh4SKv2zgp2Q,12663
117
+ modulo/connectors/ci_runner/gitlab_ci.py,sha256=0sLGAsBRIDgT8QtWeY6jUS2eIJnrV4XhzNt94QxsLg8,10857
118
+ modulo/connectors/circleci/__init__.py,sha256=zmvLcrjp_NLgb8oTlkUbQtZX1G7uc2QGiRSM8wgPrZ8,11992
119
+ modulo/connectors/codeclimate/__init__.py,sha256=FO727Zf_5p3tTHIj_0E6DtB9WzARobS49qlAxR45pDM,7697
120
+ modulo/connectors/confluence/__init__.py,sha256=DVhEwYh2xeWWoHQsm16gmUsw5CKjjrylBWmcbWa2Q24,9047
121
+ modulo/connectors/datadog/__init__.py,sha256=N8PAeGFmCz0-AXiTiAN10s1QyW_3rqcWS50VEJfVGqM,9055
122
+ modulo/connectors/discord/__init__.py,sha256=1KeH__Juqvr2BY6nTR2AakZbVhE6YkhHfDeiBi9zMQY,7081
123
+ modulo/connectors/dropbox_paper/__init__.py,sha256=IoHs6IdU2iLZ2tjF_uI_ujlHbzoQRa0m7RgyggMUuVM,6572
124
+ modulo/connectors/filesystem/__init__.py,sha256=SUV9UMiNFspnuMB22UX4OX-Pl-vUdUiJ70QqqrBj6h4,4345
125
+ modulo/connectors/gitea/__init__.py,sha256=-_l3glW1EvyDKlVLdjChj8MG3Wx_vJB4WdJfPMczl2s,9006
126
+ modulo/connectors/github/__init__.py,sha256=2_dWrlIHLEYBu4WnoKvjDN3Q7VnuUHMV_vJEI16x1g8,24902
127
+ modulo/connectors/gitlab/__init__.py,sha256=BofcOSizemElYPtHhYWD8onnId43ByNDYfbBrZpPvhc,25172
128
+ modulo/connectors/grafana/__init__.py,sha256=Ag0Z1xcWejRCDuRf7OUGlXA_AB_HSbmgtiJD87nAp10,9676
129
+ modulo/connectors/jenkins/__init__.py,sha256=1K57QjCjjFF35A6PSCgISrU9kEcyShef_MMpBcpdYLw,10895
130
+ modulo/connectors/jira/__init__.py,sha256=baZXTggbf-c568hk9a_JbP8dL_AX-xDasQCsh7ho7To,11954
131
+ modulo/connectors/linear/__init__.py,sha256=Y-TRpS0HUYKxaagu_VGELdUs7m7T0DO1P-UXuD31DdU,14008
132
+ modulo/connectors/microsoft_teams/__init__.py,sha256=7b1kFwgcXzpacLw31XmhZnsbmkbpy78ZaNEfx6s58V8,10072
133
+ modulo/connectors/monday/__init__.py,sha256=lv3harXCqtXwHybcjMunATTlMU9yZzJfEZ3Ja-WRJcA,9935
134
+ modulo/connectors/n8n/__init__.py,sha256=U9j6gb30mpoCGhQ3p7Ab0OrZPmCTyG-Rqp2V7F-agfY,13619
135
+ modulo/connectors/notion/__init__.py,sha256=r8OKWHY5sXriQrQBIEeRLWRoXYGN4F8dBviaL3Z2QPw,9271
136
+ modulo/connectors/npm/__init__.py,sha256=IzfEYNfOMiz2M7I9P5wyoZdRzF_TwT_B3VzBmz3vMZc,5711
137
+ modulo/connectors/onepassword/__init__.py,sha256=mpJEZ2jnbX2xDR6h5wDH7iluOu4mOcajbMa9NutEmt0,10051
138
+ modulo/connectors/opsgenie/__init__.py,sha256=_zJ0w9E7Cqz5hbd5AXLzQzOIysZZhSokmLzZJBYDIUw,13210
139
+ modulo/connectors/pagerduty/__init__.py,sha256=gyXS45zdLfop_hobycXDpSNRPsECSHUnz1cbxa2l_fo,12016
140
+ modulo/connectors/pypi/__init__.py,sha256=PVDc7GE4tKewe2qJqkqoLhw0GxHHeZrwS5Zr8gR-CLg,6417
141
+ modulo/connectors/sentry/__init__.py,sha256=fErbnQoDlrl-MgtzgBih9ENbnVqNpIs6jiAzCJzVDIs,8649
142
+ modulo/connectors/sharepoint/__init__.py,sha256=xVccRGeo9RPPfgiOt8_6IDaibfiRP4NrX3i1_8NkEeg,8077
143
+ modulo/connectors/shell/__init__.py,sha256=mesg-9LWGTx9IA205PaB7lD730BtMpNV7Kl6To5vyFQ,7599
144
+ modulo/connectors/shortcut/__init__.py,sha256=Ga0lU6Vvbf7_maXt6ad7q5b8GE1IQegT8aK0JYJKxbk,8455
145
+ modulo/connectors/slack/__init__.py,sha256=s_X-_CB9gl2Nwkmrh8FieA4yJiF5gBlXrZn0qdpaLtE,11455
146
+ modulo/connectors/snyk/__init__.py,sha256=S1d3wMpGAdgcP_P_8dOyJHIAj19xzPBGbUBD3V6wUsU,10683
147
+ modulo/connectors/sonarqube/__init__.py,sha256=toqXxgSMwadbJAjXotKWFEJaeEsuC6zKJtB7KOPmoZ8,13342
148
+ modulo/connectors/teamcity/__init__.py,sha256=sNKbfx9_OSpw6i-sof0-vVRCgzGN9Fw3u9mU_9P9Hes,12574
149
+ modulo/connectors/trello/__init__.py,sha256=9vVNm4C4Dxo_xA19iuYty4Jp1xj41obTMlqUsud8NqE,6888
150
+ modulo/connectors/trivy/__init__.py,sha256=O_kYaEDkpD8JmVqNrggUw-4wBbzXrESmdTXwqlqYLkE,7489
151
+ modulo/connectors/youtrack/__init__.py,sha256=3jGd_72TbyhF9G4fGYz7RuIn46RzR0V-4mKT8HH5tfY,6719
152
+ modulo/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
153
+ modulo/core/composite_scheduler.py,sha256=dVitOYkugxnr73dpD-qVVjLYOaOHKdtf0yPDHFBmWqw,2721
154
+ modulo/core/cron_scheduler.py,sha256=WsVYlhrO9qAVI5jIGq-VJGXynxsrNq-1KmLy3Qtz7xU,17124
155
+ modulo/core/documentation_indexer.py,sha256=Hsj3tq3fruOXJy0S5cS4KekevBZ8EQE_mS38xL1z3kM,4316
156
+ modulo/core/feature_flags.py,sha256=0gKaZkvquCWj4Wr7r2iWjB69Q3zeYiHDe4xXra6QOzU,16221
157
+ modulo/core/fernet_rotation.py,sha256=qcxQ8lpnxqSArhZSuoBuYg_fe1_HiG7TRXZa7vQj6Yo,11071
158
+ modulo/core/graceful_shutdown.py,sha256=FgrnsBiqJknr9d25ZsAZ4J79G6SHQFLsVwL2tWtZD2k,4121
159
+ modulo/core/in_process_scheduler.py,sha256=XG76NIhvbkLPPF7goUg4Zi4CccMN71TwniFBmxQRZm0,9332
160
+ modulo/core/license.py,sha256=1IJEaiyz1iHlQd0XBssUf2qBQnN30mfNabJP-9x-TIY,4704
161
+ modulo/core/logging_config.py,sha256=Y0hjfBR03by7-vVivJr3faDZAo02GlZwqctns7-kc1A,7581
162
+ modulo/core/manifest.py,sha256=KBUuP4SeTJz9kUHshm9VzN6bt76GIGBc6xYJE7RCBYA,874
163
+ modulo/core/pricing.py,sha256=KYKkIl58F8JsZSx2DPTIZ-Fr_TURh16_GmqU1bTSBa0,4574
164
+ modulo/core/rate_limiter.py,sha256=iEJfV38bHrdmVth6AHU0SLpvv0Lni9OYMjFZSQvGALE,7793
165
+ modulo/core/audit_logger/__init__.py,sha256=Mz3ji5wMxFIpI3IriBQRapRZX_AbgaEqYErHhwDUaz0,18224
166
+ modulo/core/audit_logger/append_only.py,sha256=h15GDCJxsmG86vpumQDZ6rPNL9uWZKHdqjX4B4M3lFg,2276
167
+ modulo/core/cleanup_jobs/__init__.py,sha256=9oRhihoRVuZiJuLrXlLsPBIk6PbjTL3WaOqIF1-cy2c,474
168
+ modulo/core/cleanup_jobs/payload_cleanup.py,sha256=gmmk8Ir7BZGhdqJoihDbfQzOXRz_bgggJ7Al3irqmmU,1932
169
+ modulo/core/cleanup_jobs/run_retention_cleanup.py,sha256=Se0e8EZYc_JXGJFEjYELnqVPZY6UoNY3kLxOyy7j7bc,1701
170
+ modulo/core/cleanup_jobs/webhook_dedup_cleanup.py,sha256=f1zjiURDPxUv3Alicew2VYe28XA5xpau0z_KcTxejmw,4907
171
+ modulo/core/composite_engine/__init__.py,sha256=JZ-8iqSX2q6VOC0qTCgR4ZVnywlZz9VfkigqwagJ0cI,536
172
+ modulo/core/composite_engine/composite_binding.py,sha256=IdqPH7tgzd8Q5_K2YHyTJMulKuBVUYikhdSHdMxhvyQ,1962
173
+ modulo/core/composite_engine/expander.py,sha256=JXTud8uFxWiuBUsZRukws_7nzwtT5K3oKvin1UH5E2Y,12503
174
+ modulo/core/composite_engine/schema_mapping.py,sha256=mInME2t5oBFdDO-S0B2kKXAON6tRmZMlP8Mh9NZCpSE,2338
175
+ modulo/core/connector_hub/__init__.py,sha256=Nzi22rzWUUgX4cr_glm-VgqensdM7HFqq-KQjhpTAIo,20843
176
+ modulo/core/connector_hub/locking.py,sha256=HEZwfcms6ahqhlUUZdM81SmgQWreivWRAbdCIdyr03s,5523
177
+ modulo/core/cost_controller/__init__.py,sha256=erKrF-RiM4XBocgn8XCXSzrSP1aftOzHY9AEgwTuSik,7169
178
+ modulo/core/error_tracking/__init__.py,sha256=rhVxibLGqZCYek1YOzbB5C-NO3Ewi15EY4ghd7gSfko,9894
179
+ modulo/core/error_tracking/alert_dispatcher.py,sha256=6J-8RAWl2hxHuXX3Xw6SkkOJHkum1pkQfSe_AB3GeK4,5328
180
+ modulo/core/error_tracking/alerting.py,sha256=nrHbltTXoUkURrf2MJENmCQunmyf2anSpPqKoGku8nY,5913
181
+ modulo/core/error_tracking/celery_hooks.py,sha256=_cepmMw5ljkKblXGC41tWqoTuBvhkQixHEjyV5l-QfQ,3727
182
+ modulo/core/error_tracking/metrics.py,sha256=lKowQKWjJ74q94H_ZDSBPFmVLS09IpbIduALdwodclA,2764
183
+ modulo/core/error_tracking/forwarders/__init__.py,sha256=Zg3sJrnpjaxA57zl6SmtMpAk312Qe_0hCfhPswwTcHI,2081
184
+ modulo/core/error_tracking/forwarders/base.py,sha256=NQzSGHRPjSML4LFiVdwUsk6S1nD68OOFbfzMa2pjllo,585
185
+ modulo/core/error_tracking/forwarders/datadog.py,sha256=3mGgtssP9OxdytPVT9f83SItKLqF7PnXeuWMqCM3JFE,2766
186
+ modulo/core/error_tracking/forwarders/loki.py,sha256=_hKxNeVLXP-bS0szXD6YC_KdQ2dcDPJaGqXQkefnjoc,3033
187
+ modulo/core/error_tracking/forwarders/opsgenie.py,sha256=hrP1pLLiSa5GUZSVJq48jyzxNiHUddkXQCtrO8CPDso,3590
188
+ modulo/core/error_tracking/forwarders/pagerduty.py,sha256=adZsoZ_4hz9MpboGKkpIoRYw0KSzooIV8dDe1fBwSGA,3355
189
+ modulo/core/error_tracking/forwarders/rollbar.py,sha256=cuh4PM-lujciq98cVQnqmiZ4vPcl6fgqhiA6JF34fsQ,2785
190
+ modulo/core/error_tracking/forwarders/sentry.py,sha256=6BrG1zieWEpLi9iePOivBLdmAIqZR0eL0O_W17-P1nA,4748
191
+ modulo/core/eval_engine/__init__.py,sha256=pA25uFCVjWEkv0ANle41a14RFjkbO3vqIYQxDRoArlE,20645
192
+ modulo/core/eval_engine/okr.py,sha256=fvszoxMmHxKrWnknQdd-3-ZL_5M3dFd7ay4XotzIbjw,8234
193
+ modulo/core/eval_engine/regression.py,sha256=OUxoc6DV6XDcHDbVvViCdQtxgJZbiwQYpHtf6EvTTaU,5027
194
+ modulo/core/events/__init__.py,sha256=6_Nmkw4jpbYLwWSFWl-hsRSxQ6450XxZ5wdHL_ficMQ,768
195
+ modulo/core/events/event_bus.py,sha256=N0OZPGNLbZG5GGaXHU4ojQX2G0AfhUTnnDeFZqa_vHs,5788
196
+ modulo/core/events/listeners.py,sha256=dLWIF9sq2Doo8ZJPykpd0p-I5i8kY_9XLvmN3D9tqBk,5475
197
+ modulo/core/events/redis_broker.py,sha256=PHFdRG_KVFF6AviYcwwj8w5ipnlRfR8pKKOYtxb72L0,6177
198
+ modulo/core/feedback_manager/__init__.py,sha256=34ZsQJ51F6NV50OIXUZ6G-MpB7ynNbhsq23szjFWuwk,23669
199
+ modulo/core/graph_validator/__init__.py,sha256=AzzEvrqdOmSz5f_Re_XSscDVCW1cQAAb432iklqRNYU,36246
200
+ modulo/core/graph_validator/_types.py,sha256=3hkMq4wXIMQeE79dvzn7-csPdwPpphjm7YMPfzQWLEs,1514
201
+ modulo/core/graph_validator/category_validator.py,sha256=WM3a6pQcBdU7YqaO6xkdeCsN0ymLK1ofd3F_-fyyZ7M,3635
202
+ modulo/core/hitl_manager/__init__.py,sha256=3Cz7tX-AOzgA-WLZz5qM_Agf8xlS2AAjNn1la2R870I,24140
203
+ modulo/core/hitl_manager/expiry_job.py,sha256=SDQx0MMWztOIyX3Pe5IZIV9ycLGhVJzGYXRENBckHHY,8112
204
+ modulo/core/hitl_manager/overdue_warning.py,sha256=ClnNbo1mccFVm1VZDD5g9ZtT8poI03GEkZT6DGofINU,2541
205
+ modulo/core/library/__init__.py,sha256=w4jGjgVotdG5gE571qzsieMILMcnlJetT4L_bZ5Ue-8,3551
206
+ modulo/core/library/complexity_reviewer.py,sha256=j93d8d2Pd1jhCTmoozMNJkTDRk5ddCGtUxEbexxlYUY,3388
207
+ modulo/core/library/agents/__init__.py,sha256=piZqqbY-1j1F6Rn171Kd3zFWIbgIdg4q3RrRMiZzAMM,1096
208
+ modulo/core/library/agents/definitions.py,sha256=xDTd9cfyhNO_7r3sVfw4GAT2CV2CjIC2tljcqf8veEs,58824
209
+ modulo/core/library/integrations/__init__.py,sha256=M3IMe8W1aSmjNDwW-ND7Qay32UrYWzFvMEJ014ooLZo,1346
210
+ modulo/core/library/integrations/definitions.py,sha256=gqZsrvFvPcznoa8jBGpQjXAP6r6sUhjymhf9M2GedlQ,27641
211
+ modulo/core/library/workflows/__init__.py,sha256=XMtUarNv1hHSNlifSKnHuSSvXwHrb6kgp1cRpA6HoyQ,743
212
+ modulo/core/library/workflows/definitions.py,sha256=LUy2L6bxprZQpqDCeN97q5LNOvWbJUqriyiWTeUMtbg,28272
213
+ modulo/core/library_service/__init__.py,sha256=LJcOMBxaDfxQ5sy6pcdPDhu6VTDJclS636M6DO6Y750,85264
214
+ modulo/core/mcp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
+ modulo/core/mcp/scope_validator.py,sha256=Oil2OjVfFcu0oQ_1hZcOcvmS-mtXAgpq3D7mKUj_dfs,3704
216
+ modulo/core/model_backend_hub/__init__.py,sha256=AJh-NvVB7xB1llzRx2z1yWaHexJERXwSIpffS8NUpCE,20086
217
+ modulo/core/notifier/__init__.py,sha256=kXxrC7pzeuGf3Rs7-l6v7p-AT7MaeWzvuSBS8dTFszA,18850
218
+ modulo/core/notifier/celery_tasks.py,sha256=v4pDpovDYELHNQ5qiMGEnoNlwoJQwWYINpkDYjINk_A,5404
219
+ modulo/core/notifier/event_mapper.py,sha256=THOrLUSB3Vccd_nmYSNW4WHJOmgJOS33zkR8iSl_cxQ,7864
220
+ modulo/core/pipeline_engine/__init__.py,sha256=bUo8Uujq0mnAZVXQJJ1oY9tBLbsEXIHlQdHfvAM5dKo,1086
221
+ modulo/core/pipeline_engine/decorator.py,sha256=HjvYfDhv3maMKGgCaROM9h5Aqa4mqBwNlL43mYziZec,8107
222
+ modulo/core/pipeline_engine/event_broker.py,sha256=ighfOP49E53Es80CjmL1MaDIKqRm_16_33GUGlbgMTc,6951
223
+ modulo/core/pipeline_engine/executor.py,sha256=-vccWIN1Pyq8-JjxkkW_9JZ_Lw6xM2bZacfmj-gSjNQ,35519
224
+ modulo/core/pipeline_engine/graph_cache.py,sha256=QZx2jXACRYTU4LUvYvV8qhqyeXwfwa5-oEoJO4E9Bx4,11875
225
+ modulo/core/pipeline_engine/input_truncation.py,sha256=aX0BlOg8uADZfxMH2BumHrZbcLDSqhG-rl_fqBSi3qQ,954
226
+ modulo/core/pipeline_engine/modulo_saver.py,sha256=PWQPunQW05OpJFxDLW1m7YnCu5cIRpTEffRoU4cFohk,22403
227
+ modulo/core/pipeline_engine/node_runner.py,sha256=Pd0L1P0vPfAhq-5bYNoAes1i3CtCoSWVbr7BmSv3yjc,16625
228
+ modulo/core/pipeline_engine/output_filter.py,sha256=vMXPFoHGOyfG2KjNJ0nkq7oXFzr8EeJZQS0aI10Uro0,3699
229
+ modulo/core/pipeline_engine/recovery.py,sha256=VTsMTYsGUrXkdb2JCmz2zSz9zw8J6Hzn32Trh4WPyIQ,6252
230
+ modulo/core/pipeline_engine/runaway_protection.py,sha256=lYzrEPUBbmvxDdnGFo7X322vTqfSYIoMMQcpydWIchQ,4369
231
+ modulo/core/plugin_registry/__init__.py,sha256=3zJgOl26FZry6WWM4F0ydiyebKrpzSeaEKtWxDSnlB8,11280
232
+ modulo/core/prompt_optimizer/__init__.py,sha256=YsKxllmsCc10n9I7xd12S2bEUPRrqsom2RqIz87yptw,7575
233
+ modulo/core/registry/__init__.py,sha256=yIaga0j804YY0wokzuvfSb5gGGnT0wsTPqRaC8j7MSA,23327
234
+ modulo/core/registry/crypto.py,sha256=zgiwQ1FZc9_cEoFRNnHqcPHsO4pbfE6cDU4KtR64aKU,2632
235
+ modulo/core/remy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
236
+ modulo/core/remy/config_service.py,sha256=UJUnQOSSuXLdM_uQgKFiJuVe2Tkbq3ZjNiw79YyJ_cM,5088
237
+ modulo/core/remy/context_source_service.py,sha256=4-8eGBQsddStR362TdFs6JamxcSqjNhUUZWmFUAMvkA,4993
238
+ modulo/core/remy/skill_loader.py,sha256=zBGwmXH1Fo0VwV4iEwc5QZ6TeCyMGkzzVmZbEy7W4Og,12124
239
+ modulo/core/reports/__init__.py,sha256=aaYcrGv_yW6EaMmAzPKgFTLQvheC2hUh71Lv08hYwiQ,686
240
+ modulo/core/reports/quality_report.py,sha256=fjyW3TWcAjPpbYKH0YkA4NQvbqU9VmvwhiakDkRlebA,12835
241
+ modulo/core/reports/scheduler.py,sha256=AGYH1Sk45aPfzknftL6TRuZ91Gml1K5O7b3m6x8kg0I,16674
242
+ modulo/core/run_context/__init__.py,sha256=7sJey_kyUe9OWLvjtKZdSUfIAFhvFxRdrmJwez8fDUM,671
243
+ modulo/core/run_context/autonomy.py,sha256=g4cFg9P3Yc56gWo-BXTii8RINWMT84FD0jY8knTxtuw,3482
244
+ modulo/core/runtime_config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
245
+ modulo/core/runtime_config/store.py,sha256=UYLz7sBjlaPGWID98uSl8fBr0z-z2xLtGgxaPAagSrs,7323
246
+ modulo/core/runtime_provider/__init__.py,sha256=pm_0n-bmmuf8tmrDt-e3fXHH57QTRuoE__B7rS_MRco,3925
247
+ modulo/core/runtime_provider/docker.py,sha256=czC1D7OiHIB5UjOsLbFcaxfzYfNE_ZQrfWSwwmB1i-s,7916
248
+ modulo/core/runtime_provider/e2b.py,sha256=BEcIynrim7G9MxAdhIfcwG3HA0yxDprbm8Duw4f8KWU,6608
249
+ modulo/core/runtime_provider/hub.py,sha256=8Fad1oD5vspR9ssQEeBEGgQBWPq0maMZ2a6gnBmLlE8,2555
250
+ modulo/core/runtime_provider/local.py,sha256=iGPQAhWfWYn1qt5IM-OvY4qvmyc2qaQtWla6OcmfCjc,6450
251
+ modulo/core/schema_registry/__init__.py,sha256=qS7Xxk8NyWYu4kKX4Ozqf-Cn2Fmq5tFSECZloW5FP68,1409
252
+ modulo/core/schema_registry/_common.py,sha256=U4TRVD-0XuFYq1YcNeFup0ukvoKHgO_9I7nxAZEqvt0,2736
253
+ modulo/core/schema_registry/generation.py,sha256=1Ci2IWZFlH3oT4xji0rF7Gbaq6FazKBd0r6s6LRapzw,3502
254
+ modulo/core/schema_registry/inference.py,sha256=pmhmy4YEeyR1mIpzffRcbHUMlapD-953Ikgq6e03dJw,3288
255
+ modulo/core/schema_registry/migration.py,sha256=-B3NBYETPogIuQ7m3uGw_if8VkODTD7slNQNez1wTX8,14269
256
+ modulo/core/schema_registry/validation.py,sha256=R2l6js1i7rvRGzAh1sMU4VtSJVH7G_Lh8GhemjUHyAY,7986
257
+ modulo/core/secrets_backend/__init__.py,sha256=0F49O6udSzWOEgnk3LiQDSCrR2msnPMOV4MzyOC8dp0,3427
258
+ modulo/core/secrets_backend/aws.py,sha256=9HCocKx9xPDJ7rG26FLcmDCPnK6C2yrdXNEcTBFjl_0,5682
259
+ modulo/core/secrets_backend/fernet.py,sha256=f2-Uz32gEO1WS_0YQ432BNORxS57EVrgem9NI1vsSvg,5954
260
+ modulo/core/secrets_backend/vault.py,sha256=l7zFVJ3ATShyk567K8AXGWBTDsaSaN0pCyCSfA2_eqM,6012
261
+ modulo/core/seed_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
262
+ modulo/core/seed_data/library_schemas.py,sha256=5hsy7FsT35NSRX3MaqPtw3ed_NIwg6mOoMJi5o6R1JQ,29158
263
+ modulo/core/trigger_engine/__init__.py,sha256=1xrFO8PQ6UtFSxyUcVrGvhO2OybbweeUoGwyhbpgkbc,24284
264
+ modulo/core/trigger_engine/agent_signal.py,sha256=dpUp1IztioG964wBN6uqGMi00V8N4QZ4Wh1na29gQsw,7272
265
+ modulo/core/trigger_engine/polling.py,sha256=9umBNbWCDKvpWiIjK7EdyzkldFDo3Jldb1N4hvu7Mz8,25332
266
+ modulo/core/workflow_import_export/__init__.py,sha256=jelB2zuE5pTLZNuvFb7o9Fxq3MdNxatJ6pVdjWQwtcw,29295
267
+ modulo/db/__init__.py,sha256=0sBfuYwBcVBREU3b4GTQQy3TbO7zLivNBFjBCT6UU94,212
268
+ modulo/db/enums.py,sha256=MQ3dk5ojkq8JUmVUa6JtQxU5fI9XPbC-momFNxWHYtM,724
269
+ modulo/db/rls.py,sha256=vJFF7nceZZHLWh7ny2iirG7-glN9y_U7U1LDeggw9Ho,8629
270
+ modulo/db/session.py,sha256=bWEa1q2fQEXefENaKgfu1zsHDJHt855SLxZ2t_ZfVlo,1828
271
+ modulo/db/settings_resolver.py,sha256=NmBDtvIOWUX_3_aeinqK2S1W4dPpJZ_jbz7g71Njs1I,1053
272
+ modulo/db/crud/__init__.py,sha256=jzoZWo5OIgNIOVA5hS2FVUTPR9sK7ogjALvF9Hpeym4,51
273
+ modulo/db/crud/account.py,sha256=R_rdr8_6hf-dgF66G3yXPqYOM_vZ3jP5e40yGAUjrAE,2924
274
+ modulo/db/crud/agent.py,sha256=O4CRv2_1eK8dkRKnkdJvLHMIpBIwnHdpQFPhBhfDXcw,8604
275
+ modulo/db/crud/base.py,sha256=QElR2o-fwLAJuZ3cQSLlyVm60iX9CgIovCfqRu7oKiE,862
276
+ modulo/db/crud/composite_template.py,sha256=JuL5ORlru1xiwrmxu-Z8U4jtcwjHOvVeLAqZ9o6L5ws,3199
277
+ modulo/db/crud/connector_instance.py,sha256=F9Uw9SApZotfJ9P0IGeNddV4UKCqmMfzn6EiE-7Eb5Q,3921
278
+ modulo/db/crud/daily_run_count.py,sha256=huZmjVH8ER7qCnAW7_YWm5ZzmYGJdc_zH2J2b5LCz20,3258
279
+ modulo/db/crud/environment_profile.py,sha256=EBiliyo8zVnpdNTzi_xJmrWa7i7eeycjlVMNt4VsgFA,2853
280
+ modulo/db/crud/error_tracking.py,sha256=kiO4qR8TaKw-KUo477ZlQWD--o-6sI6eqpHyHYk3xa8,7401
281
+ modulo/db/crud/library_primitive.py,sha256=G6N1u_RFpF4y_MdXD24Z7BLo6FpIVX17XzgQcLr8Frg,7157
282
+ modulo/db/crud/model_backend.py,sha256=oHGMAvxyd2lst0hPCQZHasJ-4vsbX_fNta57MPM4tzY,3203
283
+ modulo/db/crud/node_category.py,sha256=H9pRje8Tpqj-_WQ1gX2qKHWj2bGXvL8efs0rSHKaGB0,2614
284
+ modulo/db/crud/node_composite.py,sha256=PStMPmUYr9AgL5ffx_e9roKAb99NbfubSSjZs1x8BJ8,1346
285
+ modulo/db/crud/node_observation.py,sha256=m2vL5VLpUxR0BGM9gfNAOQbHsdhMDmZOlrIE7IJn88M,1858
286
+ modulo/db/crud/notifications.py,sha256=t8UG8QPdbqjTzyKSYIsbh_IhnMTTdxQkeR85Nmp4oBE,9284
287
+ modulo/db/crud/observability.py,sha256=vJq9bZur06Qq_EuGya0PRzZE3JloCaRp4HOvXfAClto,1013
288
+ modulo/db/crud/org_deletion.py,sha256=cUanH57J7BDRD2GO6z6pyjEMZeUmNHOl-MzwL3eLibc,9791
289
+ modulo/db/crud/org_membership.py,sha256=zackRqLCjGEXOjIf7cIrb01yhaCYqljMZ7Yx9b-O9V0,2368
290
+ modulo/db/crud/organisation.py,sha256=WLuF81iAAeC0JtqKJc9spciVBJouiwPOUwTbeNKlIdM,1982
291
+ modulo/db/crud/pagination.py,sha256=t7NopcVC0D5Zqg2IGwLl5Qi8BkAdbZpomrFI1N9a3Rg,5364
292
+ modulo/db/crud/pipeline.py,sha256=gnprb52l2F8EERUKDJ2oX7VNk-RNO42zMZFu5InQFnI,8417
293
+ modulo/db/crud/pipeline_snapshot.py,sha256=-whMWh8y04WIToAJtbhIJKcaYLkB7no1Ht-4vlnaDYw,6853
294
+ modulo/db/crud/pipeline_snapshot_versioning.py,sha256=bx81Wzb2EzCf4hWcuyehGEAt3N2S08LB9MNSjJvJdq4,10350
295
+ modulo/db/crud/publisher.py,sha256=YH3Qny1Fz5-pyJmzrh32CjNq3VX4Kc4UmleOJr3cfyU,4161
296
+ modulo/db/crud/rating.py,sha256=GsZaJDCcLiJNWZZ8C31JUO8JTickc7qCaUL16W6xE3s,8977
297
+ modulo/db/crud/run.py,sha256=0VP4O_W53AX_sWfWhmy0Ft7hLLHgxZz6cVmBFvQJylM,12712
298
+ modulo/db/crud/scheduled_report.py,sha256=HIAWR4OjumHiRZzVwhwmGX_4FCufdNRAZiTKqRMjiDw,2120
299
+ modulo/db/crud/schema.py,sha256=sAAW5pdhEbORwXq_FEueHjQMRR3uynpMQ5zpxBjbY6s,7635
300
+ modulo/db/crud/scim.py,sha256=nF6Ua2HeTKBd1XqlpooCAOTSTgZ5O3_83boIzDqVXbQ,7837
301
+ modulo/db/crud/spend_anomaly.py,sha256=bp9VWUxGiRStJOZIk6CQbUTBnD0iLclBthsHfwz8Fak,1858
302
+ modulo/db/crud/sso_provider.py,sha256=JAOinGy03LDx1UwUr1CtuoINwGiHG7c9OpeT9bZ4b9s,6528
303
+ modulo/db/crud/stage.py,sha256=sw9Y_Mkp7HTJPcvg8sii1kgNjNuxK0XsySnvhKclXHs,2642
304
+ modulo/db/crud/system_config.py,sha256=_sUGOr0375KZcGDq-pEawOFhaomFK4-mUW7JZbY0hkY,1470
305
+ modulo/db/crud/team.py,sha256=WJabY9FkTHTNgc0DVvtC_6H878zopK77SDUyJc94woU,2405
306
+ modulo/db/crud/team_membership.py,sha256=xSyJ5HSDEQmvkm243gjDdacqi6wS_aW7t78fa6_G2LM,3023
307
+ modulo/db/crud/template.py,sha256=qext5PX-vlc1x4di64bhUEZWsLzC7zHPun5m6m0dFCU,2703
308
+ modulo/db/crud/tier_catalog.py,sha256=muB4GScf1k3U2007WVJ5PdfrB5vqcw6mhmm-i5gnvcM,2602
309
+ modulo/db/crud/token_family.py,sha256=NeXignNlHy8KYLEhgOhBo6NMZw7vx0bVVdVlnUoRaNE,3117
310
+ modulo/db/crud/user.py,sha256=EIgsszMxCQ5cWICmIwswXQGH8efZFUPZaMURGJNHFpk,230
311
+ modulo/db/crud/variant_group.py,sha256=3b935A1h12ehbGak_8exOEf8xuPvz1sCSt6U-cQ__a8,10258
312
+ modulo/db/crud/view.py,sha256=HgC4hX_5hKb_KG9EReZ9ZHdNU2KwhgdAry9uEP448Vk,2810
313
+ modulo/db/migrations/__init__.py,sha256=QRbXKA1R3xbGJ6qxHJb0nffdn4Js-Md_-UVWSOBRtuM,35
314
+ modulo/db/migrations/env.py,sha256=Z6YsdIEdjbc0pE-5HlL0vRo7KjfJvKSFytMwS_ZQ2SI,3585
315
+ modulo/db/migrations/script.py.mako,sha256=eIP59PWTh7wwM0PtLqwY-aU3a0biUsR2xsR6gDD-3t4,580
316
+ modulo/db/migrations/versions/0001_initial_schema.py,sha256=7OWzVeboox8k-cYnA2-HqYD8I0alMbx00lQssx65tVk,52118
317
+ modulo/db/migrations/versions/0002_rls_policies.py,sha256=ikToWK4PesxKaZL7fnBkO0NVmpu3Ja5thijGHBEo7MM,2363
318
+ modulo/db/migrations/versions/0003_hitl_decision_columns.py,sha256=3J34bA0iIo-AQQRp6RRaiW821TF00yxyt16LUec_SQs,1023
319
+ modulo/db/migrations/versions/0004_pipeline_graph_nodes.py,sha256=5FuDG1DjAjCpo5cySOOHMygF95PKdG5lK0W-U3zbB38,745
320
+ modulo/db/migrations/versions/0005_library_community_visibility.py,sha256=7L_7kyhJSwJvIIzmG_T2ww5Y5pGjYQCkkyLNA7f_Es4,1667
321
+ modulo/db/migrations/versions/0006_notification_endpoints.py,sha256=LCgTg5Pi0EXcT0NooonnQoY-yBN71ULe7KkpMg7wwIs,2985
322
+ modulo/db/migrations/versions/0007_cron_trigger_columns.py,sha256=g2p0n-TL89SMEwjqB9K3q2mz7SoD41AgSG7T8cado6w,1359
323
+ modulo/db/migrations/versions/0008_otel_config.py,sha256=Ioo63lTtktlq88PHaYWxAdrnHGwJqOCUObUxpqqnXw8,763
324
+ modulo/db/migrations/versions/0009_polling_trigger_events_check.py,sha256=C0q5AsEfreAR3g55WOPdKMDK7X9spPTCq2haD6RBpJk,1802
325
+ modulo/db/migrations/versions/0010_user_last_login_token_families.py,sha256=oto6YfoBTSxJOS9xScOhSWZ4mg2jBbsloCdAKyJNBSE,1959
326
+ modulo/db/migrations/versions/0011_eval_tables.py,sha256=RQP8Z14qhbfzBEHtrNdDiIL4eF0cc2_TUzRgzK_S_2c,4498
327
+ modulo/db/migrations/versions/0012_variant_groups.py,sha256=WTQqISIYMgt6A-0ACN4tZUCS0LjziBerwNlyV8hh7VM,2596
328
+ modulo/db/migrations/versions/0013_environment_profiles_workspace_leases.py,sha256=fsV3ReD-RS1UGoT5M0bahVN7TzqO9O5kViBAOd5DuB0,6256
329
+ modulo/db/migrations/versions/0014_team_cost_attribution.py,sha256=xqi5smnXRnq3U3nmQSVksCfzMSeMsIoQNQeqCyuMlbQ,3321
330
+ modulo/db/migrations/versions/0015_org_deletion.py,sha256=h5ZCE-1YKesmiiQUPY-ivMINrtaNcx7V7m1eXC2u_XQ,1162
331
+ modulo/db/migrations/versions/0016_oauth_tables.py,sha256=7XO15Q3jGpgzY0lPEsaUIQ5wNEkZudO6ti4uL1T4V24,4985
332
+ modulo/db/migrations/versions/0017_user_preferences.py,sha256=AXtvzY4d6sIGtsMELdE1K2w_zWnNPeCGyVf3WcnoQ5Q,958
333
+ modulo/db/migrations/versions/0018_api_key_expires_at.py,sha256=pMiFgoNzzjVDCG_3gYJm-hJI2g0z598_NP2mejl_bYw,657
334
+ modulo/db/migrations/versions/0019_pipeline_templates.py,sha256=pCEQnc5LCA6sCdXQ2ifarGxBXGy3eTp7RIRoeQqQeH0,1290
335
+ modulo/db/migrations/versions/0020_delivery_log_response_body.py,sha256=IWukmw5rOYPFHJUvUtv2RxQy-NzUuStVpD8_cdm9y6E,705
336
+ modulo/db/migrations/versions/0021_sso_providers.py,sha256=ThrO-qpsE_edLhLPQSQxArWg8ifObzVDIPs0YcyJzHA,1829
337
+ modulo/db/migrations/versions/0022_cost_export_anomalies.py,sha256=Tr1jziynRb_VdxcHvAH-WruTx1jvAloxhdXe4X8fFIA,3327
338
+ modulo/db/migrations/versions/0023_run_error_detail.py,sha256=sg8WqpSr4L6UdDXCvT_tNJDw59FyMD0PAUxEV4QVcdI,611
339
+ modulo/db/migrations/versions/0024_audit_append_only.py,sha256=B1dGneRkCHmEF3vvGQC1Icf_RuiYDhH7sCwFQ1u0Gik,2002
340
+ modulo/db/migrations/versions/0025_team_visibility_rls.py,sha256=ruJBc5RTH7eCMe4s-qy9TQNRJTD_f46sE7hhyE-uzEU,1675
341
+ modulo/db/migrations/versions/0026_team_rbac_cap.py,sha256=6iAP-4Sxd1Fv5Mqf4hFCPGcPfjOjn4pxcBPhclez998,2953
342
+ modulo/db/migrations/versions/0027_hitl_claim_team.py,sha256=1VHx8RCg8V3XMZxaUW2OlGM_WKYYGRNhNWKMBXrYjOM,907
343
+ modulo/db/migrations/versions/0028_notification_endpoint_team.py,sha256=m2U7K14zeFF4vexBPkds6oTDmrjga0E2ZQNBlisswkI,1082
344
+ modulo/db/migrations/versions/0029_eval_failed_status.py,sha256=05XuuuPud53aZcQ2NSWp8nj9gZ6DY2kWFdP-wY3GpTw,1088
345
+ modulo/db/migrations/versions/0030_contribution_versions.py,sha256=1svEs_MiIhUO3kHaNAQGXmqC4Dm8-9q7HiWZABCo_Fw,1427
346
+ modulo/db/migrations/versions/0031_sso_group_mappings.py,sha256=R0DWXHJKSM7lnY6s2s86I2gdDzgyMAxxDEYwOG_0ZZw,812
347
+ modulo/db/migrations/versions/0032_publishers.py,sha256=RbbX8IdhUY2_ynYZQ6K7KtQZekRBodrvwsz0xGHxces,1969
348
+ modulo/db/migrations/versions/0033_correction_run.py,sha256=p-iBUTbi9F6FY-gd33iR0dfnQ9OQQPNLgNkAZYVy5YQ,1330
349
+ modulo/db/migrations/versions/0034_run_node_token_usage.py,sha256=gBnFWIJcZkB0Crm8KIL4qbbo-E3Oo00LS7_o8OYN9EA,622
350
+ modulo/db/migrations/versions/0035_model_fallback.py,sha256=PBj5IPGNjPa5leZVEzRreIncV5IZf21hDKHLSf2UYxI,671
351
+ modulo/db/migrations/versions/0036_conditional_edges.py,sha256=rj2jQo4NvemNhcO29eFGO9Hkd6j8YUJROdD2sdc94aY,1589
352
+ modulo/db/migrations/versions/0038_agent_missing_columns.py,sha256=SOayIYv_MY478AofUq07HMJxfqs8SXdb61gYpvdrJow,598
353
+ modulo/db/migrations/versions/0039_sync_remaining_columns.py,sha256=xodr2tmuye1K5yuI_DQkOCyErCGNTJE1kJq1p478hzs,4837
354
+ modulo/db/migrations/versions/0040_runaway_run_protection.py,sha256=6zBwEIhQwX8u3Lt5QZqGG32pLdZSWd-QGIGqxPPAQOU,997
355
+ modulo/db/migrations/versions/0041_agent_is_executable.py,sha256=u6eBz62MyAklXzKF8bTPGNCZDHoRumMreTHcFfMwS38,669
356
+ modulo/db/migrations/versions/0042_hitl_delivered_at.py,sha256=bBm7vK376awXswU7RxZRTIU0l8iDtiSmJz1iLUHg7tg,633
357
+ modulo/db/migrations/versions/0043_prompt_always_visible.py,sha256=jltpRhhCYD-GicvAQn19j1jVftWPAVqmAjSB3eubXBc,688
358
+ modulo/db/migrations/versions/0044_library_auto_update.py,sha256=90ulyGYztLsrAfqfAIMYUZDf0np_w5s3-E0cRxcKuSA,691
359
+ modulo/db/migrations/versions/0045_saved_views.py,sha256=DnolsQp9TnXp9SyI9FaISINUWBBj0jIYWs7MlHTT_-E,2237
360
+ modulo/db/migrations/versions/0046_system_config.py,sha256=75yfeR2QmcjIerhLhMMfF6BbkoUSrrorGPbzg0x1wPM,1041
361
+ modulo/db/migrations/versions/0047_create_missing_tables.py,sha256=zxhw0TEDzhFRsrh1WV3kQKpOaFR3QZo7eusML76-qmk,3660
362
+ modulo/db/migrations/versions/0048_tier_catalog.py,sha256=TotjPkSNX0FkYpKYZ1-4DsGacXwMrneGE9qaTvUyBOY,1313
363
+ modulo/db/migrations/versions/0049_remy_tables.py,sha256=VXiz23C1FiCOnEftwj_rulfva5DeBmtf8ymVqauiB6c,4021
364
+ modulo/db/migrations/versions/0050_composite_templates.py,sha256=I5ZixSssaJ3SQqhw5n5qgEZjLOXxa08YBaxsTJm7F3k,1958
365
+ modulo/db/migrations/versions/0051_composite_library_type.py,sha256=0iilgqKggKJJUHzDVTfq_nfQsb4b3fHAmFhiFmU0jFI,1206
366
+ modulo/db/migrations/versions/0051_error_tracking.py,sha256=VWdeMH0YSn4-M3qt68KCj14QkxCaMPXcMzKYlMA2cJs,761
367
+ modulo/db/migrations/versions/0052_composite_bindings.py,sha256=E9L3XP8S0XbOTdq97YvJe4C_pxL2HwncCGIPNlTi-l0,807
368
+ modulo/db/migrations/versions/0053_dashboard_perf_indexes.py,sha256=QQzxPtRL7xOYBizqEOh-dXSfSKIvZTBFD08ng6k_uA0,1349
369
+ modulo/db/migrations/versions/0054_error_notification_rules.py,sha256=uGl3p_y1hWkyAq71NhIZcjEIF6YM3t86kLd7OsmGRlc,2095
370
+ modulo/db/migrations/versions/0055_error_forwarder_configs.py,sha256=QiEzNsiaPA7RAgm62V1veMWQ0wgqHorUDCLrLU1dftU,1662
371
+ modulo/db/migrations/versions/0056_modulo_source.py,sha256=-3bItxJEvxSS6moyqhXGyfAzq059AQ3g-M1sG8KwqT8,2931
372
+ modulo/db/migrations/versions/0057_notifications.py,sha256=biAapAT4HM2Jm3ZcsZ-mk3kJDyuAUroA7ogQjPFhB20,2952
373
+ modulo/db/migrations/versions/0058_uuid_friendly_ids.py,sha256=BP_ca2vK-owgLbQ4-H6xU0mhs7PoFGY-vFWgU69jFRY,2326
374
+ modulo/db/migrations/versions/0059_feedback_annotation.py,sha256=HNk7PPbd4C1BkuqzV_1QRpoUFp12SO0qkIKOgyPZPic,640
375
+ modulo/db/migrations/versions/0060_fix_rls_team_isolation_column.py,sha256=WIQi9U4hm4Lq1qEMHJ2oDHT0x5aCI_yED9Fbn9BKlN8,1624
376
+ modulo/db/migrations/versions/0061_remy_context_sources.py,sha256=yTAG_wo6YVRE2usIvr5F2I-l-u8OLN5v7mbnDYb7P1U,2498
377
+ modulo/db/migrations/versions/0062_add_integration_tier.py,sha256=g0zs44GPj9VwO4mY_gI3uOg4p-iDnqeRCdBE0kgwHpk,1070
378
+ modulo/db/migrations/versions/0063_library_community_source.py,sha256=Fg-LJ6TxDR3rwgdwa3qwddO5TjeU_CW7jhVrypusWrk,4315
379
+ modulo/db/migrations/versions/0064_add_schema_deprecation.py,sha256=rQ6OtC-b48C-6yYFZbKn1OcWa6Hip2xTf0VsLBMRbB8,835
380
+ modulo/db/migrations/versions/0065_merge_add_schema_deprecation.py,sha256=7fgvKQPg5MSfjgqr92lrzPkN8tELO1c3ytBuOVrvJzo,580
381
+ modulo/db/migrations/versions/0066_primitive_ratings.py,sha256=Pl4i48PHPk_6V4By7Sd-aO-NQ1qFnNryo3D_7Kvkka8,1749
382
+ modulo/db/migrations/versions/0067_pipeline_snapshot_tag_notes.py,sha256=0xzMdtulbns1QiuI0kwVEJ-zXAUthN0MEqbDCSqzdC8,861
383
+ modulo/db/migrations/versions/0068_audit_chaining.py,sha256=2VSiEWDV1u6foIIpsiSWZgstBPqwm_SYmipT3dmFk7U,1483
384
+ modulo/db/migrations/versions/0069_feedback_records.py,sha256=B1lbvsK3v8jmMR5hYt9EDtql0gkBQaBi0m8fthY9Wxc,3363
385
+ modulo/db/migrations/versions/0070_team_memberships.py,sha256=DmgXCphjcBlSIJcX_wRPfzrqZmiReKrUDBy37IdA62Y,2296
386
+ modulo/db/migrations/versions/0071_fixture_contribution.py,sha256=pxAlqJEkqr9vox35vslXDaGIZ4vxW1UEjV2ZcPuOFvA,2089
387
+ modulo/db/migrations/versions/0072_eval_suite_threshold.py,sha256=tsXlp5GJMC0sRvVPcahKVX0hvnAaTBAiMU6gmeLWl9Y,1091
388
+ modulo/db/migrations/versions/0073_node_observations.py,sha256=dzPdiFgQRXTgd4U9JajM0RwoCHBKjQHXD2n8vOPFJyQ,1447
389
+ modulo/db/migrations/versions/0074_account_org_membership.py,sha256=Ai6RIlPF9a1n6J7ur0QaCemymdRvsOjpqwhcC_ROdkw,9982
390
+ modulo/db/migrations/versions/0075_error_tracking.py,sha256=N5AAnTg7PqGWRj4G6HOsv_S5BmdC3HO92PmDEtElzyk,6439
391
+ modulo/db/migrations/versions/0076_merge_node_observations.py,sha256=cMDSCU7IqAf1MX7l76qNanugOgZ_rvKqjCnJWIBSo9k,563
392
+ modulo/db/migrations/versions/0077_merge_account_org_membership.py,sha256=7f9zr4xjN9nNiZD1RqsX8fgLFvlWh_sX4I6m4kAlgio,578
393
+ modulo/db/migrations/versions/0078_merge_error_tracking.py,sha256=UxQCCGVsKpay1d9qy4vqzMuP6hZrGaxLSOrAc0XbfTA,548
394
+ modulo/db/migrations/versions/0079_add_opencode_provider.py,sha256=Bn7aMp6rin2ew3VTJTT59RzipxQblbYtCohY_g4hErc,1768
395
+ modulo/db/migrations/versions/0080_seed_tier_catalog.py,sha256=Uu_aqFe_InK-XZex6E8SDVd1GydpyxnDSNuVOuViT54,5001
396
+ modulo/db/migrations/versions/0081_add_error_group_resolved_at.py,sha256=pKgA0flRLfwccNKovnP7lJNI7n_dGljPxcNAMfF5Zmo,663
397
+ modulo/db/models/__init__.py,sha256=7I9-G6vFt33KQxZFVztNOT4eHnlVvmoojDREa0Q5_fc,4616
398
+ modulo/db/models/account.py,sha256=ylmeSrfwy16qNCvf0Sbn47pDfZhPysIfWBkF6mY70Z4,1760
399
+ modulo/db/models/agent.py,sha256=cO8cw9YiPs97ACJDhehocfTPrNacxhOcSNqQnNNt3KY,2831
400
+ modulo/db/models/api_key.py,sha256=8yEeKL4K_en3_Qh-DcPRUbMnTGYwD_GQhQYNvUMLixc,1263
401
+ modulo/db/models/audit_event.py,sha256=DjH2P6MtbWYqr7BcY_AYleEJMR1AIpyD7xGJSzAYXLA,1528
402
+ modulo/db/models/base.py,sha256=bjkTmUd8MD0wMdEvZEzyCqayjcz5ZvSXySbXzSfuf68,1106
403
+ modulo/db/models/composite_template.py,sha256=Avrbu8QmleJBaWstdNPkc16Uqduyl2k42AYWD2hobCw,1016
404
+ modulo/db/models/connector_instance.py,sha256=4QYe7h18FjmULZ0UoOrwH2S48OH4Rm61YeHzQYoENXE,1884
405
+ modulo/db/models/daily_run_count.py,sha256=wKMotOh2qDeEUZ2WZmWBhSsnsqSSsxjH52-htEEcmSc,1082
406
+ modulo/db/models/environment_profile.py,sha256=BL-leeu3Q2c2JcTFKF7mMkfz4ysU_Fjx8cfOWqm6vXY,1191
407
+ modulo/db/models/error_event.py,sha256=Xtca8C6T0bNKd138tPHYdtmkB0PBcB6UY4kQO6R0ioE,1364
408
+ modulo/db/models/error_forwarder_config.py,sha256=vPd7gD40y7R1urzQ-LK2sm5hGVfFQEi4Cp9_Vl3vbAw,1231
409
+ modulo/db/models/error_group.py,sha256=8bW9KSBFaNXtGh4lLNWMocP7y0kUwBguXHmnazkHbzU,1925
410
+ modulo/db/models/error_notification_rule.py,sha256=BKc1owTxhd6eWZmxLMv_jf0TRxHICJxaJ0uoenCDy5E,1644
411
+ modulo/db/models/eval_definition.py,sha256=JiiU7I9iqX30m73s8Ag8lhPZW53D-2-zngs9NMaqHp8,1537
412
+ modulo/db/models/eval_result.py,sha256=NvzvEmuQRAr5J_32kwjYEld3Bi554_n5x0IKEqKMa1g,1062
413
+ modulo/db/models/feedback_record.py,sha256=QFMX4L2YSrnH__V_wSFSLkdNYDF1LtU4tOXGNBlJl3E,2092
414
+ modulo/db/models/hitl_claim.py,sha256=WZwDUDSLDA3jYybNc6Gg4KoORyZCINAN5ZNQsOwLWBs,1436
415
+ modulo/db/models/library_primitive.py,sha256=YjP8Y3O8TQ7MPhqWwMzP7N3c8mgI_EnCkI9Be84VLyc,5029
416
+ modulo/db/models/model_backend.py,sha256=gYxBHKcRE1t7lZ-O8FFFHvYx0w5TUMf22MBvI4Wm100,2548
417
+ modulo/db/models/node.py,sha256=58oKGHu4WvsyQZDsIOxKJhmfEAqco--AMdghaZAm7Xk,2318
418
+ modulo/db/models/node_category.py,sha256=PNIy5ZF2xmybgwnnkhynO78FJE_vmu7OqUhIMz180bk,972
419
+ modulo/db/models/node_observation.py,sha256=_4b9AlfFQG0AZIg6yFom7ab1SyRFrZiWTC3AZNQjxcY,823
420
+ modulo/db/models/notification.py,sha256=oXCh95L5YNgHGWK6XDrreHnMGphIbIXZ3iTf444OM0k,2556
421
+ modulo/db/models/notification_delivery.py,sha256=2yXHxO08fleYj-RYTz2TCxA0NP--Bud8ulbGbrVmW1c,1225
422
+ modulo/db/models/notification_endpoint.py,sha256=X1d3yAPmXn2TNQU18BkxTJl66uLoijhFmA-g_aRhrdA,1208
423
+ modulo/db/models/oauth_client.py,sha256=yUmdOkGLTO7RK9dXdolK1_m22DboBuJvy89qPW1pSds,1084
424
+ modulo/db/models/oauth_token.py,sha256=5tpxnIWajwW8_FB47TvvlOkpWvMipuxapqD8XoSkufE,2687
425
+ modulo/db/models/org_membership.py,sha256=J5tw0zQnDzvnFT3qTUKmIxnfyoUC9rdgLB8iauQ1_wg,1098
426
+ modulo/db/models/organisation.py,sha256=KOfKI5o7dNzJ2qlPICA-0ib-TZG4ohuxs2JsZaE_6AE,1795
427
+ modulo/db/models/pipeline.py,sha256=iQAvq0-qQWGhbEzxIPe8sVU9yc1qvoo7XX95yRDLS9Q,2935
428
+ modulo/db/models/pipeline_edge.py,sha256=RjUz5ghLHGf_2Gv4RisVzSVz0BJ3GZBNBYcdiG5k570,1243
429
+ modulo/db/models/pipeline_snapshot.py,sha256=whTK8EUg_prytNxtVV1Z2kX-aXnEA4A4IerSs7_Qkww,2387
430
+ modulo/db/models/primitive_abuse_report.py,sha256=6bGETUfOLQYZrp5-VuSxKdXiHe3weqmc8l2vx1A3ONw,1718
431
+ modulo/db/models/primitive_rating.py,sha256=keyoOD6K8GhlbyTiX74c9Z8e__j7M_RqT6zLOlBvkXQ,805
432
+ modulo/db/models/publisher.py,sha256=NkgI09vCLcN8yb0RmLx2xQPz6nJ0dLPr_A_0HO-5mS8,923
433
+ modulo/db/models/remy_context_source.py,sha256=zmSwTSW7sQnplzJBL_h9oKgmPhzN8sbZ1cA2jNDIQ4s,1777
434
+ modulo/db/models/remy_message.py,sha256=OiROo1NjHO8qbVpTPxpBc5_vviA05ySLnqHSN8Eot-c,1640
435
+ modulo/db/models/remy_session.py,sha256=m6ZUdxnYiiW7Czm7ZQTyU5A-D1u_j2xHyU7vXHOPuig,969
436
+ modulo/db/models/remy_skill.py,sha256=mY9ku6Dtuaa3Q4EYpVjwkiBbbEyBv1G9qsyqpercaOY,1765
437
+ modulo/db/models/run.py,sha256=negzNXdFidPGeS2l2MAr1emoqVQsFmYnCJcanusfZQk,3431
438
+ modulo/db/models/scheduled_report.py,sha256=SZnSo0yUMZHoNzTKU8-S5_cQfgn_APGgru0JO995RJM,1178
439
+ modulo/db/models/schema.py,sha256=pXDXxkNxiMtLGvHDxYf2LyMVyQX0aTjOGekLV2aJPnA,1914
440
+ modulo/db/models/secret.py,sha256=l8Wof0WWRDE5isbY-4psAxTEf6nTRe15mjA2rB5Wv4o,465
441
+ modulo/db/models/spend_anomaly.py,sha256=WgE5jUNZnvCew79WIYkUpxHRHF3xqcBWUPWnEMhxuiM,858
442
+ modulo/db/models/sso_provider.py,sha256=au-BntNgs9xtfy31jDE1WJiWHF7qaCP2PZ2ylsWt0Lw,1334
443
+ modulo/db/models/stage.py,sha256=boG6r1OlWHwgDMNtzq8tuc06KnLlQPR02MGou26bgKY,1021
444
+ modulo/db/models/system_config.py,sha256=xFCzmakEUJ-ZGHX7NzgexSyzfdxY8_5_YNIR8cxQMds,814
445
+ modulo/db/models/team.py,sha256=KjADU_EKE9M5XWpH0Rcu5Bi-X9PJMOsQJXQayWluZZw,852
446
+ modulo/db/models/team_membership.py,sha256=b109z3RVAKi8aUb6AYdu3GM_-LxW-jGz3ZrItSbDAwE,860
447
+ modulo/db/models/tier_catalog.py,sha256=GdTMLYDtxz-Gnjo7_meMDgmGIwRxiWt32qPoSS8FEqc,1029
448
+ modulo/db/models/token_family.py,sha256=eZIuxo3wWeF5QWRNCYd6DOh9MO-EZbVgFPfbqNf9zZ0,1220
449
+ modulo/db/models/trigger.py,sha256=MsG_YvIC99AVY6TzRM-wDjVCG2P3FFYr9DVj0Jg7vj4,1859
450
+ modulo/db/models/trigger_event.py,sha256=3RZhDgK6jUU9eIQliwx4bolRGur7BVkh9y1y8wGRuWA,1458
451
+ modulo/db/models/variant_group.py,sha256=XcU3El4QX7TYcFrZRlX4T6SwMHPcOgdGf5EYOcn5fPI,1561
452
+ modulo/db/models/view.py,sha256=q8D4yKpA2ULix-NNO7I3jcdgLKoqug9c0lTuTWLh7hQ,1224
453
+ modulo/db/models/webhook.py,sha256=kAYpTArCYUid6KJkfnZROIqDINBc7mpCvxk4vt4k8Xg,1274
454
+ modulo/db/models/workspace_lease.py,sha256=DvZVAERUq2hnvmssVra5gTOYQA0a3w34JK1GRKhHlgU,1572
455
+ modulo/db/repositories/__init__.py,sha256=SHsKg2Jxh_VFeXVzeCIDmkvkt2N_WNBnswkkAcpMgOM,2731
456
+ modulo/db/repositories/base.py,sha256=idb8apGSLjomGwVyiBCg1EF1fJjHvcPGgRbH96aTr-8,3522
457
+ modulo/db/repositories/generic.py,sha256=FrqIqrhAbdhA904nO08mGuHp0DPGjo5-XRMdi68ehj4,1383
458
+ modulo/db/repositories/locks.py,sha256=XHC1jJTw8UfYIGUVyHuJNtoSCYmPrgYECP_vrRZK4oY,6105
459
+ modulo/db/repositories/postgres.py,sha256=T92azKdWdWk9OduuBFDWuX0v-9Fbz0uCmq2mZSi-7_k,701
460
+ modulo/determination/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
461
+ modulo/determination/draft.py,sha256=CbSuMjmPLrFEp95I9loRDCXesHwLknOjChtCaGNCl9s,5682
462
+ modulo/determination/inference.py,sha256=gQd-fiklBpZSgZxJh7BIUAjaAda_W7jaT5c8nuLhkhA,9378
463
+ modulo/determination/scanner.py,sha256=elA7MaPRH0tBuou4xpIEHHooqQCrnTUMFkI5Uq-o30k,5188
464
+ modulo/model_backends/__init__.py,sha256=LkUVY8IzZsXJXceOGgBRTYNa93UKsr2tlL5X5LzLvd0,2337
465
+ modulo/model_backends/base.py,sha256=PzCySfObB3UZpin1VIVEhokp3Dcrxz6qboUsxaJB7mA,2911
466
+ modulo/model_backends/ai21/__init__.py,sha256=yDfG5GFWfvNZHQPkicODAjQIi-UZnE0RBB4xTUYiuc4,1633
467
+ modulo/model_backends/anthropic/__init__.py,sha256=ppVA3LTQO8h9erqUnBL30N2J5U2X5sVLPKwZ9IXr-Yk,2406
468
+ modulo/model_backends/azure_openai/__init__.py,sha256=tRq1ZBDpHFfQiq9uCY-ip7zzK2zCotezf-JaYoMcnYk,2949
469
+ modulo/model_backends/bedrock/__init__.py,sha256=TKPDfz92X0XyoOC6FPf635gnfulYySBiSgZjAhBm3NI,2283
470
+ modulo/model_backends/cohere/__init__.py,sha256=Oi1hb_LvTd-emtf-j7pv5lZ2fDVdlGL7aVQvKbQrR54,2358
471
+ modulo/model_backends/deepseek/__init__.py,sha256=lk2jppojO7E-3cMmmtWxh3Xfjkp2XhlKJSDwJSw4-mk,1592
472
+ modulo/model_backends/fireworks/__init__.py,sha256=oKs5ddfYqcHx6aOg_1OSVyFmQ1pamglnYA1l7zcrkMM,1681
473
+ modulo/model_backends/gemini/__init__.py,sha256=AX-2X1tvM-Gj0ihTsZ63ZMHJdHFlg3c7ARhBWBbxsjE,2392
474
+ modulo/model_backends/grok/__init__.py,sha256=-Bpl9WDnzpIrjkbDYT5nNfk2Lradf3nevs_OwGUCPLc,1575
475
+ modulo/model_backends/groq/__init__.py,sha256=OOKemVcJwI3J3_Wwry5ulbT-WXWs_m0unSycY5njMvc,1586
476
+ modulo/model_backends/jan/__init__.py,sha256=neeBcSeinNgsiHR2ExRddCy3aux635BATXEyzLHXHx0,1991
477
+ modulo/model_backends/llamacpp/__init__.py,sha256=cNXqGnxsW36_ZXfuvGQyHFzlCZ0_n69x1AIOSeMnpUM,2049
478
+ modulo/model_backends/lm_studio/__init__.py,sha256=2zjOWMIXC0_j2zGIz8EGx_yYDpqlufzoTGRx-djp0Ps,2054
479
+ modulo/model_backends/localai/__init__.py,sha256=QFIliuJZNX_q4pAg5sa98g2gyNRF31UAe7zxNNeNlnA,2035
480
+ modulo/model_backends/mistral/__init__.py,sha256=ryHZalkLhNAU7cRcQcuiFhtFxAR7WkZcP_CwDuvA1hE,2409
481
+ modulo/model_backends/ollama/__init__.py,sha256=aywq8_19RuvxQSiZWELo18LzOBdnw49KYZJ6cUNLh-w,2025
482
+ modulo/model_backends/openai/__init__.py,sha256=aPWEKdAVoDZXlouSirdxy2SR5SFwvgvsBF0NTDZnz28,1420
483
+ modulo/model_backends/opencode/__init__.py,sha256=N71czln-dvQzXrncSiQJeeKISxaxLxiSs6z3RDXulJo,1596
484
+ modulo/model_backends/openrouter/__init__.py,sha256=TfKnHNUPvk7vNBeOY0yEHdcctj5kOdKjIhrnNwGcgTw,1588
485
+ modulo/model_backends/perplexity/__init__.py,sha256=-9mZ2lfk6PkC16dxWFvhoz2zqsfs68uovpDddMNfdko,1598
486
+ modulo/model_backends/qwen/__init__.py,sha256=UPFWDaz5DH67k-dVj3lNkRTZMAnEoQu9atl36pPlxjI,1609
487
+ modulo/model_backends/stub/__init__.py,sha256=f1x8L8eCMQa_b0YpC85P3uIe9lTa8BhswcoV42tLZto,195
488
+ modulo/model_backends/stub/backend.py,sha256=eSBn5T06RE8YiIZs-en0bU00jWeg9tzKSruX9di9GUk,3476
489
+ modulo/model_backends/tgi/__init__.py,sha256=kDNgPI8GS9WhsuPJIu2E2aiebOYQQdqHGppuXwb7hLE,2017
490
+ modulo/model_backends/togetherai/__init__.py,sha256=_Et-SHz1WAok0XUkjeZ3xndrfIu4vQ_oBFUW-uCMQbc,1676
491
+ modulo/model_backends/vertexai/__init__.py,sha256=-nNvBzmjJXoLGGA4m_YrB0Gme9HIBhU_8zBH5RTAInE,2252
492
+ modulo/model_backends/vllm/__init__.py,sha256=tCRl_9zWrr7pTDENfbW7zIPTnvXbZ6WlzSKlZhq6Zi4,1999
493
+ modulo/model_backends/watsonx/__init__.py,sha256=0gcKpXeFvJN7-RtAMKZzZJvx1YFJ8LAJjAKILKUhqJs,2259
494
+ modulo/otel_bridge/__init__.py,sha256=bbbbkNH4-rVCmRCdt65xyQef9mKeoIc6B2ovDZNTrz8,189
495
+ modulo/otel_bridge/export.py,sha256=DNrdrsHymxpPzYKYyX7-5MicnigINTd_DnP7HdPVxcQ,3841
496
+ modulo/otel_bridge/handler.py,sha256=ZTjMNALPLrkTTYqnAm6h2UgeUrHybmkVF6FClkk7W5s,12311
497
+ modulo/registry/__init__.py,sha256=4y59MDz_rFGP0qhwHUTCWZQdCr9ZEECabJ2RRejnOeA,411
498
+ modulo/registry/crypto.py,sha256=zkspgKOHGAjRHbEL1FhemJGFXuKDja3v8P7bqdEtChU,5089
499
+ farnalabs_modulo-0.3.213.dist-info/METADATA,sha256=EUsRDY_2XBH_HUqu_1ExzFHnZGQmCPaavUiChkGn6RE,3687
500
+ farnalabs_modulo-0.3.213.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
501
+ farnalabs_modulo-0.3.213.dist-info/entry_points.txt,sha256=DrE2wTrcyf_jaoxBKNO37oLu9-FBxFuxYazx9_03eOg,89
502
+ farnalabs_modulo-0.3.213.dist-info/licenses/LICENSE,sha256=lTiyWsZFxVqsXywheSWIWbNz5hibeuOq1CeH7UXQCMc,1070
503
+ farnalabs_modulo-0.3.213.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.30.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ modulo = modulo.cli.backup:cli
3
+ modulo-migrate = modulo.cli.migrate:cli