@blacklake-systems/sdk 0.1.0 → 0.1.2
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/README.md +22 -6
- package/dist/index.d.ts +40 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +27 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,6 @@ import { BlackLake } from '@blacklake-systems/sdk';
|
|
|
15
15
|
|
|
16
16
|
const bl = new BlackLake({
|
|
17
17
|
apiKey: process.env.BLACKLAKE_API_KEY!,
|
|
18
|
-
baseUrl: 'https://api.blacklake.systems',
|
|
19
18
|
});
|
|
20
19
|
|
|
21
20
|
// Evaluate governance before executing a tool call
|
|
@@ -30,6 +29,8 @@ if (result.decision === 'allow') {
|
|
|
30
29
|
}
|
|
31
30
|
```
|
|
32
31
|
|
|
32
|
+
Sign up at [console.blacklake.systems](https://console.blacklake.systems) to get your API key. The console also provides a dashboard for managing agents, tools, policies, and reviewing the audit trail.
|
|
33
|
+
|
|
33
34
|
## API Reference
|
|
34
35
|
|
|
35
36
|
### `new BlackLake(config)`
|
|
@@ -37,7 +38,7 @@ if (result.decision === 'allow') {
|
|
|
37
38
|
| Option | Type | Default | Description |
|
|
38
39
|
|--------|------|---------|-------------|
|
|
39
40
|
| `apiKey` | `string` | — | Your BlackLake API key (required) |
|
|
40
|
-
| `baseUrl` | `string` | `
|
|
41
|
+
| `baseUrl` | `string` | `https://api.blacklake.systems` | API base URL. Override only for local development (e.g. `http://localhost:3100`). |
|
|
41
42
|
|
|
42
43
|
### `bl.govern(request)`
|
|
43
44
|
|
|
@@ -51,7 +52,7 @@ const result = await bl.govern({
|
|
|
51
52
|
context: { ip: '10.0.0.1' } // optional: request metadata
|
|
52
53
|
});
|
|
53
54
|
|
|
54
|
-
// result.decision: 'allow' | 'deny' | 'approval_required'
|
|
55
|
+
// result.decision: 'allow' | 'deny' | 'approval_required' | 'default_deny'
|
|
55
56
|
// result.evaluation_id: string
|
|
56
57
|
// result.policy_id: string | null
|
|
57
58
|
// result.reason: string
|
|
@@ -64,11 +65,11 @@ const result = await bl.govern({
|
|
|
64
65
|
await bl.agents.create({ name, environment, risk_classification, description?, approval_mode? });
|
|
65
66
|
await bl.agents.list({ environment?, status? });
|
|
66
67
|
await bl.agents.get(id);
|
|
67
|
-
await bl.agents.update(id, { name?, environment?, risk_classification?, status?, approval_mode? });
|
|
68
|
+
await bl.agents.update(id, { name?, description?, environment?, risk_classification?, status?, approval_mode? });
|
|
68
69
|
await bl.agents.suspend(id);
|
|
69
70
|
await bl.agents.activate(id);
|
|
70
71
|
await bl.agents.bindTool(agentId, toolId);
|
|
71
|
-
await bl.agents.listTools(agentId);
|
|
72
|
+
await bl.agents.listTools(agentId); // returns ToolBinding[] — each item has { binding_id, binding_created_at, tool: Tool }
|
|
72
73
|
await bl.agents.unbindTool(agentId, toolId);
|
|
73
74
|
```
|
|
74
75
|
|
|
@@ -97,6 +98,21 @@ await bl.evaluations.list({ agent_id?, tool_id?, outcome?, limit?, offset? });
|
|
|
97
98
|
await bl.evaluations.get(id);
|
|
98
99
|
```
|
|
99
100
|
|
|
101
|
+
### `bl.organisation`
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
await bl.organisation.get(); // fetch the current organisation (derived from the API key)
|
|
105
|
+
await bl.organisation.delete(confirmation); // permanently delete the organisation; pass the organisation's exact name as confirmation
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### `bl.apiKeys`
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
await bl.apiKeys.list(); // returns { keys: ApiKey[] } — each item has { id, name, key_suffix, created_at, revoked_at }
|
|
112
|
+
await bl.apiKeys.create('prod-key'); // returns { id, name, key, created_at, warning } — the raw key is shown ONCE; store it securely
|
|
113
|
+
await bl.apiKeys.revoke(id); // sets revoked_at on the key; the API rejects revoking the key in use
|
|
114
|
+
```
|
|
115
|
+
|
|
100
116
|
### Error Handling
|
|
101
117
|
|
|
102
118
|
```typescript
|
|
@@ -113,4 +129,4 @@ try {
|
|
|
113
129
|
|
|
114
130
|
## Documentation
|
|
115
131
|
|
|
116
|
-
Full documentation at [blacklake.systems/
|
|
132
|
+
Full documentation at [blacklake.systems/docs](https://blacklake.systems/docs).
|
package/dist/index.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export interface GovernRequest {
|
|
|
43
43
|
context?: Record<string, unknown>;
|
|
44
44
|
}
|
|
45
45
|
export interface GovernResponse {
|
|
46
|
-
decision: 'allow' | 'deny' | 'approval_required';
|
|
46
|
+
decision: 'allow' | 'deny' | 'approval_required' | 'default_deny';
|
|
47
47
|
evaluation_id: string;
|
|
48
48
|
policy_id: string | null;
|
|
49
49
|
reason: string;
|
|
@@ -64,6 +64,25 @@ export interface PaginatedResponse<T> {
|
|
|
64
64
|
data: T[];
|
|
65
65
|
total: number;
|
|
66
66
|
}
|
|
67
|
+
export interface ToolBinding {
|
|
68
|
+
binding_id: string;
|
|
69
|
+
binding_created_at: string;
|
|
70
|
+
tool: Tool;
|
|
71
|
+
}
|
|
72
|
+
export interface ApiKey {
|
|
73
|
+
id: string;
|
|
74
|
+
name: string;
|
|
75
|
+
key_suffix: string | null;
|
|
76
|
+
created_at: string;
|
|
77
|
+
revoked_at: string | null;
|
|
78
|
+
}
|
|
79
|
+
export interface CreatedApiKey {
|
|
80
|
+
id: string;
|
|
81
|
+
name: string;
|
|
82
|
+
key: string;
|
|
83
|
+
created_at: string;
|
|
84
|
+
warning: string;
|
|
85
|
+
}
|
|
67
86
|
export declare class BlackLakeError extends Error {
|
|
68
87
|
readonly status: number;
|
|
69
88
|
readonly code: string;
|
|
@@ -97,7 +116,7 @@ declare class AgentsResource {
|
|
|
97
116
|
tool_id: string;
|
|
98
117
|
created_at: string;
|
|
99
118
|
}>;
|
|
100
|
-
listTools(agentId: string): Promise<
|
|
119
|
+
listTools(agentId: string): Promise<ToolBinding[]>;
|
|
101
120
|
unbindTool(agentId: string, toolId: string): Promise<void>;
|
|
102
121
|
}
|
|
103
122
|
declare class ToolsResource {
|
|
@@ -153,6 +172,24 @@ declare class OrganisationResource {
|
|
|
153
172
|
*/
|
|
154
173
|
delete(confirmation: string): Promise<void>;
|
|
155
174
|
}
|
|
175
|
+
declare class ApiKeysResource {
|
|
176
|
+
private client;
|
|
177
|
+
constructor(client: BlackLakeClient);
|
|
178
|
+
/** List all API keys for the current organisation (active and revoked). */
|
|
179
|
+
list(): Promise<{
|
|
180
|
+
keys: ApiKey[];
|
|
181
|
+
}>;
|
|
182
|
+
/**
|
|
183
|
+
* Generate a new API key. The raw key is returned ONCE in the `key` field
|
|
184
|
+
* and cannot be retrieved again. Store it securely.
|
|
185
|
+
*/
|
|
186
|
+
create(name: string): Promise<CreatedApiKey>;
|
|
187
|
+
/**
|
|
188
|
+
* Revoke an API key by its id. Returns void on success. The API rejects
|
|
189
|
+
* attempts to revoke the key currently being used to make the request.
|
|
190
|
+
*/
|
|
191
|
+
revoke(id: string): Promise<void>;
|
|
192
|
+
}
|
|
156
193
|
declare class BlackLakeClient {
|
|
157
194
|
private baseUrl;
|
|
158
195
|
private apiKey;
|
|
@@ -166,6 +203,7 @@ export declare class BlackLake {
|
|
|
166
203
|
readonly policies: PoliciesResource;
|
|
167
204
|
readonly evaluations: EvaluationsResource;
|
|
168
205
|
readonly organisation: OrganisationResource;
|
|
206
|
+
readonly apiKeys: ApiKeysResource;
|
|
169
207
|
constructor(config: BlackLakeConfig);
|
|
170
208
|
govern(request: GovernRequest): Promise<GovernResponse>;
|
|
171
209
|
}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,aAAa,GAAG,SAAS,GAAG,YAAY,CAAC;IACtD,mBAAmB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5D,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5C,aAAa,EAAE,cAAc,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -129,13 +129,37 @@ class OrganisationResource {
|
|
|
129
129
|
await this.client.request('POST', '/v1/organisation/delete', { confirmation });
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
+
class ApiKeysResource {
|
|
133
|
+
client;
|
|
134
|
+
constructor(client) {
|
|
135
|
+
this.client = client;
|
|
136
|
+
}
|
|
137
|
+
/** List all API keys for the current organisation (active and revoked). */
|
|
138
|
+
async list() {
|
|
139
|
+
return this.client.request('GET', '/v1/api-keys');
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Generate a new API key. The raw key is returned ONCE in the `key` field
|
|
143
|
+
* and cannot be retrieved again. Store it securely.
|
|
144
|
+
*/
|
|
145
|
+
async create(name) {
|
|
146
|
+
return this.client.request('POST', '/v1/api-keys', { name });
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Revoke an API key by its id. Returns void on success. The API rejects
|
|
150
|
+
* attempts to revoke the key currently being used to make the request.
|
|
151
|
+
*/
|
|
152
|
+
async revoke(id) {
|
|
153
|
+
await this.client.request('DELETE', `/v1/api-keys/${id}`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
132
156
|
// Internal HTTP client
|
|
133
157
|
class BlackLakeClient {
|
|
134
158
|
baseUrl;
|
|
135
159
|
apiKey;
|
|
136
160
|
constructor(config) {
|
|
137
161
|
this.apiKey = config.apiKey;
|
|
138
|
-
this.baseUrl = (config.baseUrl ?? '
|
|
162
|
+
this.baseUrl = (config.baseUrl ?? 'https://api.blacklake.systems').replace(/\/$/, '');
|
|
139
163
|
}
|
|
140
164
|
async request(method, path, body) {
|
|
141
165
|
const headers = {
|
|
@@ -168,6 +192,7 @@ export class BlackLake {
|
|
|
168
192
|
policies;
|
|
169
193
|
evaluations;
|
|
170
194
|
organisation;
|
|
195
|
+
apiKeys;
|
|
171
196
|
constructor(config) {
|
|
172
197
|
this.client = new BlackLakeClient(config);
|
|
173
198
|
this.agents = new AgentsResource(this.client);
|
|
@@ -175,6 +200,7 @@ export class BlackLake {
|
|
|
175
200
|
this.policies = new PoliciesResource(this.client);
|
|
176
201
|
this.evaluations = new EvaluationsResource(this.client);
|
|
177
202
|
this.organisation = new OrganisationResource(this.client);
|
|
203
|
+
this.apiKeys = new ApiKeysResource(this.client);
|
|
178
204
|
}
|
|
179
205
|
async govern(request) {
|
|
180
206
|
return this.client.request('POST', '/v1/govern', request);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|