continuous-intelligence-layer 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 (23) hide show
  1. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/PACKAGE_README.md +6 -6
  2. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/PKG-INFO +7 -7
  3. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/init.py +18 -10
  4. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/pyproject.toml +1 -1
  5. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/.gitignore +0 -0
  6. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/LICENSE +0 -0
  7. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/__init__.py +0 -0
  8. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/_core/__init__.py +0 -0
  9. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/_core/exporter.py +0 -0
  10. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/_core/graph_exporter.py +0 -0
  11. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/_core/span_data.py +0 -0
  12. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/_core/utils.py +0 -0
  13. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/anthropic/__init__.py +0 -0
  14. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/anthropic/init.py +0 -0
  15. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/crewai/__init__.py +0 -0
  16. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/crewai/init.py +0 -0
  17. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/langgraph/__init__.py +0 -0
  18. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/langgraph/init.py +0 -0
  19. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/openai/__init__.py +0 -0
  20. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/continuous_intelligence_layer/openai/init.py +0 -0
  21. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/graph_builder/__init__.py +0 -0
  22. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/graph_builder/builder.py +0 -0
  23. {continuous_intelligence_layer-0.2.0 → continuous_intelligence_layer-0.2.1}/graph_builder/models.py +0 -0
@@ -4,7 +4,7 @@ A zero-infrastructure, OpenTelemetry-based observability and validation
4
4
  layer for agentic AI systems — LangGraph/LangChain, CrewAI, and direct
5
5
  OpenAI/Anthropic SDK agents. Instrument your agent with one function call
6
6
  and get automatic execution tracing, LLM-judged input/output/tool
7
- evaluations, and root-cause analysis, sent to your AgentOPS API.
7
+ evaluations, and root-cause analysis, sent to your Continuous Intelligence Layer API.
8
8
 
9
9
  ## Install
10
10
 
@@ -27,9 +27,9 @@ framework/LLM-provider libraries are already importable in your process.
27
27
  from continuous_intelligence_layer import init
28
28
 
29
29
  ctx = init(
30
- api_key="ao_...", # from your AgentOPS project
30
+ api_key="ao_...", # from your Continuous Intelligence Layer project
31
31
  service_name="my-agent", # groups traces into a project
32
- base_url="https://your-agentops-api", # your AgentOPS API's base URL
32
+ base_url="https://your-cia-api", # your Continuous Intelligence Layer API's base URL
33
33
  evaluation_api_key="sk-...", # LLM key used to run evaluations/RCA
34
34
  )
35
35
 
@@ -48,9 +48,9 @@ changes at all.
48
48
 
49
49
  | Parameter | Default | Description |
50
50
  |---|---|---|
51
- | `api_key` | *required* | AgentOPS project API key |
51
+ | `api_key` | *required* | Continuous Intelligence Layer project API key |
52
52
  | `service_name` | `"continuous-intelligence-layer"` | Project name traces are grouped under |
53
- | `base_url` | `"http://localhost:8080"` | Your AgentOPS API base URL |
53
+ | `base_url` | `"http://localhost:8080"` | Your Continuous Intelligence Layer API base URL |
54
54
  | `evaluation_api_key` | `""` | LLM API key used to run automatic evaluations/RCA (required if `run_evaluations=True`) |
55
55
  | `evaluation_provider` | `"openai"` | Provider for the evaluator/RCA LLM |
56
56
  | `run_evaluations` | `True` | Run Input/Output/Tool evaluators + RCA automatically after each trace |
@@ -63,7 +63,7 @@ changes at all.
63
63
  Every node gets free deterministic checks (status/latency/output-shape) by
64
64
  default. To also opt specific nodes into LLM judgment, write a `CIA.yaml`
65
65
  next to your agent's entry script — `init()` reads and sends it to your
66
- AgentOPS project automatically:
66
+ Continuous Intelligence Layer project automatically:
67
67
 
68
68
  ```yaml
69
69
  project: my-agent
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: continuous-intelligence-layer
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: Multi-Agent Intelligent Validation & RCA Framework
5
5
  Project-URL: Homepage, https://github.com/Jugal-lachhwani/Multi_agent_intelligence_layer
6
6
  Project-URL: Repository, https://github.com/Jugal-lachhwani/Multi_agent_intelligence_layer
@@ -43,7 +43,7 @@ A zero-infrastructure, OpenTelemetry-based observability and validation
43
43
  layer for agentic AI systems — LangGraph/LangChain, CrewAI, and direct
44
44
  OpenAI/Anthropic SDK agents. Instrument your agent with one function call
45
45
  and get automatic execution tracing, LLM-judged input/output/tool
46
- evaluations, and root-cause analysis, sent to your AgentOPS API.
46
+ evaluations, and root-cause analysis, sent to your Continuous Intelligence Layer API.
47
47
 
48
48
  ## Install
49
49
 
@@ -66,9 +66,9 @@ framework/LLM-provider libraries are already importable in your process.
66
66
  from continuous_intelligence_layer import init
67
67
 
68
68
  ctx = init(
69
- api_key="ao_...", # from your AgentOPS project
69
+ api_key="ao_...", # from your Continuous Intelligence Layer project
70
70
  service_name="my-agent", # groups traces into a project
71
- base_url="https://your-agentops-api", # your AgentOPS API's base URL
71
+ base_url="https://your-cia-api", # your Continuous Intelligence Layer API's base URL
72
72
  evaluation_api_key="sk-...", # LLM key used to run evaluations/RCA
73
73
  )
74
74
 
@@ -87,9 +87,9 @@ changes at all.
87
87
 
88
88
  | Parameter | Default | Description |
89
89
  |---|---|---|
90
- | `api_key` | *required* | AgentOPS project API key |
90
+ | `api_key` | *required* | Continuous Intelligence Layer project API key |
91
91
  | `service_name` | `"continuous-intelligence-layer"` | Project name traces are grouped under |
92
- | `base_url` | `"http://localhost:8080"` | Your AgentOPS API base URL |
92
+ | `base_url` | `"http://localhost:8080"` | Your Continuous Intelligence Layer API base URL |
93
93
  | `evaluation_api_key` | `""` | LLM API key used to run automatic evaluations/RCA (required if `run_evaluations=True`) |
94
94
  | `evaluation_provider` | `"openai"` | Provider for the evaluator/RCA LLM |
95
95
  | `run_evaluations` | `True` | Run Input/Output/Tool evaluators + RCA automatically after each trace |
@@ -102,7 +102,7 @@ changes at all.
102
102
  Every node gets free deterministic checks (status/latency/output-shape) by
103
103
  default. To also opt specific nodes into LLM judgment, write a `CIA.yaml`
104
104
  next to your agent's entry script — `init()` reads and sends it to your
105
- AgentOPS project automatically:
105
+ Continuous Intelligence Layer project automatically:
106
106
 
107
107
  ```yaml
108
108
  project: my-agent
@@ -4,12 +4,14 @@ init.py
4
4
  The single public entry point for every supported agent framework.
5
5
 
6
6
  from continuous_intelligence_layer import init
7
- init(api_key="...", evaluation_api_key="...")
7
+ init(api_key="...")
8
8
 
9
9
  That's all the user needs to write for LangGraph/LangChain, CrewAI, OpenAI,
10
10
  and Anthropic agents — OpenLLMetry/Traceloop auto-instruments whatever
11
11
  supported library is already importable in the process, no per-framework
12
- subpackage or instrumentor selection required.
12
+ subpackage or instrumentor selection required. evaluation_api_key is
13
+ optional -- pass your own LLM key to use it for evaluations/RCA, or omit it
14
+ to use the project owner's default evaluation key.
13
15
 
14
16
  How it works (internals)
15
17
  ------------------------
@@ -126,6 +128,10 @@ def init(
126
128
  run_evaluations :
127
129
  If True (the default), evaluations and RCA run automatically on the
128
130
  backend right after the trace finishes ingesting.
131
+ evaluation_api_key :
132
+ Optional LLM API key (OpenAI, Anthropic, or Gemini) used to run
133
+ evaluations and RCA on your traces. Omit it to use the project
134
+ owner's default evaluation key instead of your own.
129
135
  cia_config_path :
130
136
  Path to this project's CIA.yaml-equivalent config file. Defaults to
131
137
  looking for ``CIA.yaml``/``cia.yaml`` next to the current working
@@ -162,12 +168,10 @@ def init(
162
168
 
163
169
  if not api_key:
164
170
  raise ValueError("API Key is not provided. An API Key is required to initialize the SDK.")
165
- if not evaluation_api_key:
166
- raise ValueError(
167
- "evaluation_api_key is not provided. An LLM API key (OpenAI, Anthropic, "
168
- "or Gemini) is required to initialize the SDK -- it's used to run "
169
- "evaluations and RCA on your traces. We never use our own key for your work."
170
- )
171
+ # evaluation_api_key is optional: if omitted, the server falls back to
172
+ # the project owner's own default evaluation key (see
173
+ # server/api/default_eval_config.py) so you can try evaluations/RCA
174
+ # without supplying your own LLM key.
171
175
 
172
176
  # ── Step 1: Local CIA.yaml, if present ──────────────────────────────────
173
177
  cia_config = _load_local_cia_config(cia_config_path)
@@ -179,8 +183,9 @@ def init(
179
183
  "execution_id": execution_id,
180
184
  "evaluation_provider": evaluation_provider,
181
185
  "evaluation_model": evaluation_model,
182
- "evaluation_api_key": evaluation_api_key,
183
186
  }
187
+ if evaluation_api_key:
188
+ sync_payload["evaluation_api_key"] = evaluation_api_key
184
189
  if cia_config is not None:
185
190
  sync_payload["cia_config"] = cia_config
186
191
  res = requests.post(
@@ -191,7 +196,10 @@ def init(
191
196
  if res.status_code == 401:
192
197
  raise ValueError("API Key is not valid.")
193
198
  res.raise_for_status()
194
- project_id = res.json()["id"]
199
+ res_json = res.json()
200
+ project_id = res_json["id"]
201
+ for warning in res_json.get("config_warnings", []):
202
+ print(f"[continuous-intelligence-layer] ⚠️ {warning}")
195
203
  except requests.exceptions.RequestException as e:
196
204
  raise ValueError(f"Failed to verify API key with backend: {e}")
197
205
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "continuous-intelligence-layer"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "Multi-Agent Intelligent Validation & RCA Framework"
9
9
  readme = "PACKAGE_README.md"
10
10
  requires-python = ">=3.11"