langchain-trigger-server 0.2.2__tar.gz → 0.2.3__tar.gz
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 langchain-trigger-server might be problematic. Click here for more details.
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/PKG-INFO +1 -1
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/app.py +3 -6
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/cron_manager.py +9 -4
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/database/supabase.py +2 -2
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/pyproject.toml +1 -1
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/uv.lock +828 -826
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/.github/workflows/release.yml +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/.vscode/settings.json +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/README.md +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/__init__.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/core.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/database/__init__.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/database/interface.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/decorators.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/triggers/__init__.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/triggers/cron_trigger.py +0 -0
- {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/test_framework.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langchain-trigger-server
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Generic event-driven triggers framework
|
|
5
5
|
Project-URL: Homepage, https://github.com/langchain-ai/open-agent-platform
|
|
6
6
|
Project-URL: Repository, https://github.com/langchain-ai/open-agent-platform
|
|
@@ -261,7 +261,7 @@ class TriggerServer:
|
|
|
261
261
|
try:
|
|
262
262
|
payload = await request.json()
|
|
263
263
|
logger.info(f"Registration payload received: {payload}")
|
|
264
|
-
|
|
264
|
+
|
|
265
265
|
user_id = current_user["identity"]
|
|
266
266
|
trigger_id = payload.get("type")
|
|
267
267
|
if not trigger_id:
|
|
@@ -270,7 +270,7 @@ class TriggerServer:
|
|
|
270
270
|
trigger = next((t for t in self.triggers if t.id == trigger_id), None)
|
|
271
271
|
if not trigger:
|
|
272
272
|
raise HTTPException(status_code=400, detail=f"Unknown trigger type: {trigger_id}")
|
|
273
|
-
|
|
273
|
+
|
|
274
274
|
# Parse payload into registration model first
|
|
275
275
|
try:
|
|
276
276
|
registration_instance = trigger.registration_model(**payload)
|
|
@@ -287,15 +287,12 @@ class TriggerServer:
|
|
|
287
287
|
template_id=trigger.id,
|
|
288
288
|
resource_data=resource_dict
|
|
289
289
|
)
|
|
290
|
-
|
|
290
|
+
|
|
291
291
|
if existing_registration:
|
|
292
292
|
raise HTTPException(
|
|
293
293
|
status_code=400,
|
|
294
294
|
detail=f"You already have a registration with this configuration for trigger type '{trigger.id}'. Registration ID: {existing_registration.get('id')}"
|
|
295
295
|
)
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
# Call the trigger's registration handler with parsed registration model
|
|
299
296
|
result = await trigger.registration_handler(user_id, self.langchain_auth_client, registration_instance)
|
|
300
297
|
|
|
301
298
|
# Check if handler requested to skip registration (e.g., for OAuth or URL verification)
|
{langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/cron_manager.py
RENAMED
|
@@ -170,7 +170,10 @@ class CronTriggerManager:
|
|
|
170
170
|
"""Execute a scheduled cron job with full monitoring and error handling."""
|
|
171
171
|
registration_id = registration["id"]
|
|
172
172
|
cron_pattern = registration["resource"]["crontab"]
|
|
173
|
-
|
|
173
|
+
|
|
174
|
+
# Log immediately when callback is invoked to verify APScheduler is calling us
|
|
175
|
+
logger.info(f"Cron callback invoked for job {registration_id}")
|
|
176
|
+
|
|
174
177
|
execution = CronJobExecution(
|
|
175
178
|
registration_id=registration_id,
|
|
176
179
|
cron_pattern=cron_pattern,
|
|
@@ -178,8 +181,8 @@ class CronTriggerManager:
|
|
|
178
181
|
actual_start_time=datetime.utcnow(),
|
|
179
182
|
status="running"
|
|
180
183
|
)
|
|
181
|
-
|
|
182
|
-
logger.info(f"
|
|
184
|
+
|
|
185
|
+
logger.info(f"Executing cron job {registration_id} with pattern '{cron_pattern}'")
|
|
183
186
|
|
|
184
187
|
try:
|
|
185
188
|
agents_invoked = await self._execute_cron_job(registration)
|
|
@@ -202,8 +205,10 @@ class CronTriggerManager:
|
|
|
202
205
|
user_id = registration["user_id"]
|
|
203
206
|
|
|
204
207
|
# Get agent links
|
|
208
|
+
logger.info(f"Querying database for agents linked to cron job {registration_id}")
|
|
205
209
|
agent_links = await self.trigger_server.database.get_agents_for_trigger(registration_id)
|
|
206
|
-
|
|
210
|
+
logger.info(f"Found {len(agent_links) if agent_links else 0} agent links for cron job {registration_id}")
|
|
211
|
+
|
|
207
212
|
if not agent_links:
|
|
208
213
|
logger.warning(f"No agents linked to cron job {registration_id}")
|
|
209
214
|
return 0
|
|
@@ -259,7 +259,7 @@ class SupabaseTriggerDatabase(TriggerDatabaseInterface):
|
|
|
259
259
|
# Build query to match against trigger_registrations with template_id filter
|
|
260
260
|
query = self.client.table("trigger_registrations").select(
|
|
261
261
|
"*, trigger_templates(id, name, description)"
|
|
262
|
-
).eq("
|
|
262
|
+
).eq("template_id", template_id)
|
|
263
263
|
|
|
264
264
|
# Add resource field matches
|
|
265
265
|
for field, value in resource_data.items():
|
|
@@ -286,7 +286,7 @@ class SupabaseTriggerDatabase(TriggerDatabaseInterface):
|
|
|
286
286
|
# Build query to match against trigger_registrations with template_id and user_id filter
|
|
287
287
|
query = self.client.table("trigger_registrations").select(
|
|
288
288
|
"*, trigger_templates(id, name, description)"
|
|
289
|
-
).eq("
|
|
289
|
+
).eq("template_id", template_id).eq("user_id", user_id)
|
|
290
290
|
|
|
291
291
|
# Add resource field matches
|
|
292
292
|
for field, value in resource_data.items():
|