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.

Files changed (17) hide show
  1. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/PKG-INFO +1 -1
  2. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/app.py +3 -6
  3. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/cron_manager.py +9 -4
  4. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/database/supabase.py +2 -2
  5. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/pyproject.toml +1 -1
  6. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/uv.lock +828 -826
  7. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/.github/workflows/release.yml +0 -0
  8. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/.vscode/settings.json +0 -0
  9. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/README.md +0 -0
  10. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/__init__.py +0 -0
  11. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/core.py +0 -0
  12. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/database/__init__.py +0 -0
  13. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/database/interface.py +0 -0
  14. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/decorators.py +0 -0
  15. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/triggers/__init__.py +0 -0
  16. {langchain_trigger_server-0.2.2 → langchain_trigger_server-0.2.3}/langchain_triggers/triggers/cron_trigger.py +0 -0
  17. {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.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)
@@ -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"🕐 Executing cron job {registration_id} with pattern '{cron_pattern}'")
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("trigger_templates.id", template_id)
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("trigger_templates.id", template_id).eq("user_id", user_id)
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():
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "langchain-trigger-server"
7
- version = "0.2.2"
7
+ version = "0.2.3"
8
8
  description = "Generic event-driven triggers framework"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"