eric-sdk 0.1.7 → 0.1.8
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.
- package/CHANGELOG.md +14 -0
- package/README.md +59 -36
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,20 @@ Pre-1.0 releases may introduce breaking changes as the API surface and governanc
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## [0.1.8] – 2026-06-09
|
|
11
|
+
|
|
12
|
+
### Documentation
|
|
13
|
+
|
|
14
|
+
- Repositioned README around centralized AI governance.
|
|
15
|
+
- Updated SDK description to reflect Eric's role as a governance layer across applications and AI models.
|
|
16
|
+
- Added governance-focused overview and architecture explanation.
|
|
17
|
+
- Renamed capability section to emphasize approved capability governance.
|
|
18
|
+
- Expanded design principles with centralized governance and model-agnostic operation.
|
|
19
|
+
|
|
20
|
+
**Rationale:** Eric's platform positioning has evolved from an execution-control-focused runtime description to a centralized governance layer for AI applications. The README now leads with the organizational problem Eric solves—governance fragmentation across applications—while preserving the existing technical implementation details. No runtime behavior changes.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
10
24
|
## [0.1.7] – 2026-05-06
|
|
11
25
|
|
|
12
26
|
### Documentation
|
package/README.md
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
# Eric SDK (JavaScript / TypeScript)
|
|
2
2
|
|
|
3
|
-
Official SDK for **Eric AI**
|
|
3
|
+
Official SDK for **Eric AI** - a centralized governance layer for AI applications.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Most organizations don't have one AI application anymore. They have many.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
As AI adoption grows, governance becomes fragmented. Different applications implement different controls, different audit trails, different policies, and often different AI providers.
|
|
8
|
+
|
|
9
|
+
Eric sits between applications and AI models, applying capability authorization, policy enforcement, output compliance, and audit logging consistently before execution reaches a model.
|
|
10
|
+
|
|
11
|
+
**One Governance Layer. Every Application. Any Model.**
|
|
8
12
|
|
|
9
13
|
---
|
|
10
14
|
|
|
@@ -33,9 +37,9 @@ const result = await eric.decide({
|
|
|
33
37
|
requestType: "clinicalSummary",
|
|
34
38
|
});
|
|
35
39
|
|
|
36
|
-
// result.flow
|
|
37
|
-
// result.type
|
|
38
|
-
// result.data
|
|
40
|
+
// result.flow - resolved capability
|
|
41
|
+
// result.type - "structured" | "text"
|
|
42
|
+
// result.data - schema-validated output
|
|
39
43
|
```
|
|
40
44
|
|
|
41
45
|
API keys are scoped and governed server-side. Never embed them in client-side code or public repositories.
|
|
@@ -44,25 +48,35 @@ API keys are scoped and governed server-side. Never embed them in client-side co
|
|
|
44
48
|
|
|
45
49
|
## How it works
|
|
46
50
|
|
|
47
|
-
|
|
51
|
+
Applications invoke Eric through a single API.
|
|
52
|
+
|
|
53
|
+
Eric applies governance before any model is executed.
|
|
48
54
|
|
|
49
|
-
1. **Intent classification**
|
|
50
|
-
2. **
|
|
51
|
-
3. **
|
|
52
|
-
4. **
|
|
53
|
-
5. **
|
|
55
|
+
1. **Intent classification** - determine the requested business capability
|
|
56
|
+
2. **Authorization** - verify the capability is approved for the client and application
|
|
57
|
+
3. **Policy enforcement** - evaluate execution policy before model invocation
|
|
58
|
+
4. **Capability routing** - route deterministically to the registered capability
|
|
59
|
+
5. **Model execution** - invoke the configured AI provider
|
|
60
|
+
6. **Output validation** - validate the response against the capability schema
|
|
61
|
+
7. **Audit logging** - record the execution outcome with a complete audit trail
|
|
54
62
|
|
|
55
|
-
If any check fails, execution stops. No
|
|
63
|
+
If any governance check fails, execution stops. No fallback. No silent substitution. No model is invoked.
|
|
56
64
|
|
|
57
65
|
---
|
|
58
66
|
|
|
59
|
-
##
|
|
67
|
+
## Governing approved capabilities
|
|
68
|
+
|
|
69
|
+
Applications do not invoke models directly.
|
|
70
|
+
|
|
71
|
+
Applications invoke approved capabilities.
|
|
72
|
+
|
|
73
|
+
Eric determines whether a capability is authorized, applies governance controls, and routes execution to the appropriate AI provider.
|
|
60
74
|
|
|
61
|
-
Use `allowedFlows` to restrict which capabilities are eligible for a
|
|
75
|
+
Use `allowedFlows` to further restrict which capabilities are eligible for a specific request.
|
|
62
76
|
|
|
63
77
|
```ts
|
|
64
78
|
await eric.decide({
|
|
65
|
-
text: "Generate a structured daily summary
|
|
79
|
+
text: "Generate a structured daily summary",
|
|
66
80
|
allowedFlows: ["dailySummary"],
|
|
67
81
|
});
|
|
68
82
|
```
|
|
@@ -73,7 +87,7 @@ When `allowedFlows` is provided:
|
|
|
73
87
|
- If no match is found, execution is denied and logged
|
|
74
88
|
- No fallback or automatic substitution occurs
|
|
75
89
|
|
|
76
|
-
This
|
|
90
|
+
This provides request-level governance on top of deployment-level capability controls.
|
|
77
91
|
|
|
78
92
|
---
|
|
79
93
|
|
|
@@ -81,33 +95,36 @@ This is equivalent to registering a capability restriction at the request level.
|
|
|
81
95
|
|
|
82
96
|
```ts
|
|
83
97
|
{
|
|
84
|
-
flow: string;
|
|
85
|
-
type: "structured" | "text";
|
|
86
|
-
data: unknown;
|
|
98
|
+
flow: string; // resolved capability
|
|
99
|
+
type: "structured" | "text"; // output format
|
|
100
|
+
data: unknown; // schema-validated output
|
|
87
101
|
}
|
|
88
102
|
```
|
|
89
103
|
|
|
90
|
-
All responses conform to
|
|
104
|
+
All responses conform to capability-level output contracts. Every field is validated before being returned to the application.
|
|
91
105
|
|
|
92
106
|
---
|
|
93
107
|
|
|
94
|
-
## Security
|
|
108
|
+
## Security & Governance
|
|
95
109
|
|
|
96
|
-
-
|
|
97
|
-
- API keys are scoped per client and governed
|
|
98
|
-
- All executions
|
|
99
|
-
- Customer data is
|
|
100
|
-
- BYOK (Bring Your Own Key) is supported for model providers
|
|
110
|
+
- Authorization and policy enforcement occur server-side
|
|
111
|
+
- API keys are scoped per client and governed centrally
|
|
112
|
+
- All executions - including blocked executions - are logged
|
|
113
|
+
- Customer data is never used to train third-party models
|
|
114
|
+
- BYOK (Bring Your Own Key) is supported for model providers
|
|
115
|
+
- Governance remains consistent regardless of underlying model provider
|
|
101
116
|
|
|
102
117
|
---
|
|
103
118
|
|
|
104
119
|
## Design principles
|
|
105
120
|
|
|
106
|
-
- **
|
|
107
|
-
- **
|
|
108
|
-
- **
|
|
109
|
-
- **
|
|
110
|
-
- **
|
|
121
|
+
- **Centralized governance** - one governance layer across applications
|
|
122
|
+
- **Capability-first** - applications invoke approved capabilities, not models
|
|
123
|
+
- **Policy-enforced** - execution controls are applied before model invocation
|
|
124
|
+
- **Deterministic** - the same request under the same policy produces the same routing decision
|
|
125
|
+
- **Auditable** - every decision is recorded at execution time
|
|
126
|
+
- **Model-agnostic** - governance remains consistent across providers
|
|
127
|
+
- **Infrastructure-grade** - built for production and regulated environments
|
|
111
128
|
|
|
112
129
|
---
|
|
113
130
|
|
|
@@ -115,9 +132,7 @@ All responses conform to pre-approved output contracts defined at the capability
|
|
|
115
132
|
|
|
116
133
|
The Eric SDK follows semantic versioning.
|
|
117
134
|
|
|
118
|
-
Breaking changes reflect deliberate updates to governance and
|
|
119
|
-
|
|
120
|
-
Pre-1.0 versions were experimental and are not supported.
|
|
135
|
+
Breaking changes reflect deliberate updates to governance guarantees and platform behavior, not implementation convenience.
|
|
121
136
|
|
|
122
137
|
See `CHANGELOG.md` for details.
|
|
123
138
|
|
|
@@ -125,4 +140,12 @@ See `CHANGELOG.md` for details.
|
|
|
125
140
|
|
|
126
141
|
## Support
|
|
127
142
|
|
|
128
|
-
For access, onboarding, or documentation:
|
|
143
|
+
For access, onboarding, or documentation:
|
|
144
|
+
|
|
145
|
+
https://ericaicontrol.dev
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
**Eric AI**
|
|
150
|
+
|
|
151
|
+
*One Governance Layer. Every Application. Any Model.*
|