cortexdb-connectors 0.2.0__tar.gz → 0.2.1__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 (40) hide show
  1. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/PKG-INFO +1 -1
  2. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/__init__.py +1 -1
  3. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/base.py +20 -11
  4. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/cli.py +6 -3
  5. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors.egg-info/PKG-INFO +1 -1
  6. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/pyproject.toml +1 -1
  7. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/README.md +0 -0
  8. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/confluence/__init__.py +0 -0
  9. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/discord/__init__.py +0 -0
  10. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/github/__init__.py +0 -0
  11. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/gitlab/__init__.py +0 -0
  12. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/google_workspace/__init__.py +0 -0
  13. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/hubspot/__init__.py +0 -0
  14. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/insights/__init__.py +0 -0
  15. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/insights/api.py +0 -0
  16. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/insights/detectors.py +0 -0
  17. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/insights/engine.py +0 -0
  18. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/intercom/__init__.py +0 -0
  19. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/jira/__init__.py +0 -0
  20. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/linear/__init__.py +0 -0
  21. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/notion/__init__.py +0 -0
  22. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/pagerduty/__init__.py +0 -0
  23. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/salesforce/__init__.py +0 -0
  24. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/servicenow/__init__.py +0 -0
  25. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/slack/__init__.py +0 -0
  26. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/state.py +0 -0
  27. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/teams/__init__.py +0 -0
  28. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/webhooks.py +0 -0
  29. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/worker.py +0 -0
  30. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors/zendesk/__init__.py +0 -0
  31. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors.egg-info/SOURCES.txt +0 -0
  32. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors.egg-info/dependency_links.txt +0 -0
  33. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors.egg-info/entry_points.txt +0 -0
  34. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors.egg-info/requires.txt +0 -0
  35. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/cortexdb_connectors.egg-info/top_level.txt +0 -0
  36. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/setup.cfg +0 -0
  37. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/tests/test_base.py +0 -0
  38. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/tests/test_github.py +0 -0
  39. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/tests/test_slack.py +0 -0
  40. {cortexdb_connectors-0.2.0 → cortexdb_connectors-0.2.1}/tests/test_webhooks.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cortexdb-connectors
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Data connectors for CortexDB — ingest from Slack, GitHub, GitLab, Jira, Linear, Confluence, Notion, PagerDuty, Discord, Teams, Google Workspace, Salesforce, HubSpot, Zendesk, Intercom, and ServiceNow into the v1 memory API.
5
5
  Author-email: CortexDB Team <team@cortexdb.ai>
6
6
  License-Expression: Apache-2.0
@@ -8,7 +8,7 @@ poll loop; or `from cortexdb_connectors.slack import SlackConnector`
8
8
  to drive it programmatically.
9
9
  """
10
10
 
11
- __version__ = "0.2.0"
11
+ __version__ = "0.2.1"
12
12
 
13
13
  from cortexdb_connectors.base import (
14
14
  Actor,
@@ -186,24 +186,33 @@ class CortexConnector(ABC):
186
186
  cortex_url: str | None = None,
187
187
  cortex_api_key: str | None = None,
188
188
  tenant_id: str = "default",
189
- *,
190
- actor: str | None = None,
191
- scope_template: str | None = None,
192
189
  ) -> None:
193
- self.cortex_url = (cortex_url or os.environ.get("CORTEXDB_URL") or DEFAULT_API_URL).rstrip("/")
190
+ # Backwards-compatible positional signature every per-connector
191
+ # subclass passes (cortex_url, cortex_api_key, tenant_id) through.
192
+ # v1-only fields (actor, scope_template) are populated from env
193
+ # vars so subclasses don't need to forward extra kwargs. Callers
194
+ # can also setattr after construction, or use
195
+ # `connector.bind(actor=..., scope_template=...)`.
196
+ self.cortex_url = (
197
+ cortex_url or os.environ.get("CORTEXDB_URL") or DEFAULT_API_URL
198
+ ).rstrip("/")
194
199
  self.cortex_api_key = cortex_api_key or os.environ.get("CORTEXDB_API_KEY") or ""
195
200
  self.tenant_id = tenant_id
196
- # v1-specific fields. Fall back to env so a freshly signed-up actor
197
- # (state.json from `cortexdb init` or the MCP server) is picked up
198
- # without any code change in the connector subclass.
199
- self.actor = actor or os.environ.get("CORTEXDB_ACTOR") or ""
200
- self.scope_template = (
201
- scope_template
202
- or os.environ.get("CORTEXDB_SCOPE_TEMPLATE")
201
+ self.actor: str = os.environ.get("CORTEXDB_ACTOR") or ""
202
+ self.scope_template: str = (
203
+ os.environ.get("CORTEXDB_SCOPE_TEMPLATE")
203
204
  or os.environ.get("CORTEXDB_SCOPE")
204
205
  or self.actor
205
206
  )
206
207
 
208
+ def bind(self, *, actor: str | None = None, scope_template: str | None = None) -> "CortexConnector":
209
+ """Set v1-only fields after construction. Returns self for chaining."""
210
+ if actor is not None:
211
+ self.actor = actor
212
+ if scope_template is not None:
213
+ self.scope_template = scope_template
214
+ return self
215
+
207
216
  # -- abstract interface --------------------------------------------------
208
217
 
209
218
  @abstractmethod
@@ -282,8 +282,6 @@ def _build_connector(
282
282
  "cortex_url": creds["api_url"],
283
283
  "cortex_api_key": creds["api_key"],
284
284
  "tenant_id": tenant_id,
285
- "actor": creds["actor"],
286
- "scope_template": creds["scope_template"],
287
285
  }
288
286
 
289
287
  for kw_name, env_var in spec.get("secrets", []):
@@ -300,7 +298,12 @@ def _build_connector(
300
298
  if value is not None:
301
299
  kwargs[kw_name] = value
302
300
 
303
- return cls(**kwargs)
301
+ connector = cls(**kwargs)
302
+ # `actor` + `scope_template` aren't part of the per-connector __init__
303
+ # signature; bind them post-construction so we don't have to touch
304
+ # every subclass.
305
+ connector.bind(actor=creds["actor"], scope_template=creds["scope_template"])
306
+ return connector
304
307
 
305
308
 
306
309
  # ---------------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cortexdb-connectors
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Data connectors for CortexDB — ingest from Slack, GitHub, GitLab, Jira, Linear, Confluence, Notion, PagerDuty, Discord, Teams, Google Workspace, Salesforce, HubSpot, Zendesk, Intercom, and ServiceNow into the v1 memory API.
5
5
  Author-email: CortexDB Team <team@cortexdb.ai>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "cortexdb-connectors"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "Data connectors for CortexDB — ingest from Slack, GitHub, GitLab, Jira, Linear, Confluence, Notion, PagerDuty, Discord, Teams, Google Workspace, Salesforce, HubSpot, Zendesk, Intercom, and ServiceNow into the v1 memory API."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"