langchain-trigger-server 0.1.17__tar.gz → 0.1.19__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.
Files changed (17) hide show
  1. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/PKG-INFO +1 -1
  2. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/app.py +4 -2
  3. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/core.py +8 -1
  4. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/database/interface.py +2 -1
  5. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/database/supabase.py +4 -2
  6. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/pyproject.toml +1 -1
  7. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/.github/workflows/release.yml +0 -0
  8. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/.vscode/settings.json +0 -0
  9. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/README.md +0 -0
  10. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/__init__.py +0 -0
  11. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/cron_manager.py +0 -0
  12. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/database/__init__.py +0 -0
  13. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/decorators.py +0 -0
  14. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/triggers/__init__.py +0 -0
  15. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/langchain_triggers/triggers/cron_trigger.py +0 -0
  16. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/test_framework.py +0 -0
  17. {langchain_trigger_server-0.1.17 → langchain_trigger_server-0.1.19}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langchain-trigger-server
3
- Version: 0.1.17
3
+ Version: 0.1.19
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
@@ -180,7 +180,8 @@ class TriggerServer:
180
180
  provider=trigger.provider,
181
181
  name=trigger.name,
182
182
  description=trigger.description,
183
- registration_schema=trigger.registration_model.model_json_schema()
183
+ registration_schema=trigger.registration_model.model_json_schema(),
184
+ require_display_name=getattr(trigger.registration_model, 'require_display_name', False)
184
185
  )
185
186
  logger.info(f"✓ Successfully created trigger template: {trigger.name} ({trigger.id})")
186
187
  else:
@@ -216,6 +217,7 @@ class TriggerServer:
216
217
  "path": "/api/triggers/registrations",
217
218
  "method": "POST",
218
219
  "payloadSchema": template.get("registration_schema", {}),
220
+ "requireDisplayName": template.get("require_display_name", False),
219
221
  })
220
222
 
221
223
  return {
@@ -312,7 +314,7 @@ class TriggerServer:
312
314
  media_type="application/json"
313
315
  )
314
316
 
315
- resource_dict = registration_instance.model_dump()
317
+ resource_dict = registration_instance.model_dump(exclude={'require_display_name'})
316
318
 
317
319
  registration = await self.database.create_trigger_registration(
318
320
  user_id=user_id,
@@ -75,4 +75,11 @@ class TriggerRegistrationResult(BaseModel):
75
75
 
76
76
  class TriggerRegistrationModel(BaseModel):
77
77
  """Base class for trigger resource models that define how webhooks are matched to registrations."""
78
- pass
78
+
79
+ require_display_name: bool = False # Class attribute to indicate if display_name is required
80
+ display_name: Optional[str] = Field(default=None, description="Optional display name for this registration")
81
+
82
+ def model_post_init(self, __context) -> None:
83
+ """Validate that display_name is provided when require_display_name is True."""
84
+ if self.require_display_name and not self.display_name:
85
+ raise ValueError(f"{self.__class__.__name__} requires display_name to be set")
@@ -16,7 +16,8 @@ class TriggerDatabaseInterface(ABC):
16
16
  provider: str,
17
17
  name: str,
18
18
  description: str = None,
19
- registration_schema: Dict = None
19
+ registration_schema: Dict = None,
20
+ require_display_name: bool = False
20
21
  ) -> Optional[Dict[str, Any]]:
21
22
  """Create a new trigger template."""
22
23
  pass
@@ -75,7 +75,8 @@ class SupabaseTriggerDatabase(TriggerDatabaseInterface):
75
75
  provider: str,
76
76
  name: str,
77
77
  description: str = None,
78
- registration_schema: Dict = None
78
+ registration_schema: Dict = None,
79
+ require_display_name: bool = False
79
80
  ) -> Optional[Dict[str, Any]]:
80
81
  """Create a new trigger template."""
81
82
  try:
@@ -84,7 +85,8 @@ class SupabaseTriggerDatabase(TriggerDatabaseInterface):
84
85
  "provider": provider,
85
86
  "name": name,
86
87
  "description": description,
87
- "registration_schema": registration_schema or {}
88
+ "registration_schema": registration_schema or {},
89
+ "require_display_name": require_display_name
88
90
  }
89
91
 
90
92
  response = self.client.table("trigger_templates").insert(data).execute()
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "langchain-trigger-server"
7
- version = "0.1.17"
7
+ version = "0.1.19"
8
8
  description = "Generic event-driven triggers framework"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"