@clawdstrike/broker-client 0.2.6
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/dist/client.d.ts +94 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +254 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/package.json +58 -0
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export type BrokerProvider = "openai" | "github" | "slack" | "generic_https";
|
|
2
|
+
export type BrokerHttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
3
|
+
export type BrokerProofBindingMode = "loopback" | "dpop";
|
|
4
|
+
export type BrokerIntentRiskLevel = "low" | "medium" | "high";
|
|
5
|
+
export type BrokerApprovalState = "not_required" | "pending" | "approved" | "rejected";
|
|
6
|
+
export interface BrokerIntentResource {
|
|
7
|
+
kind: string;
|
|
8
|
+
value: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BrokerIntentPreview {
|
|
11
|
+
previewId: string;
|
|
12
|
+
provider: BrokerProvider;
|
|
13
|
+
operation: string;
|
|
14
|
+
summary: string;
|
|
15
|
+
createdAt: string;
|
|
16
|
+
riskLevel: BrokerIntentRiskLevel;
|
|
17
|
+
dataClasses: string[];
|
|
18
|
+
resources: BrokerIntentResource[];
|
|
19
|
+
egressHost: string;
|
|
20
|
+
estimatedCostUsdMicros?: number;
|
|
21
|
+
approvalRequired: boolean;
|
|
22
|
+
approvalState: BrokerApprovalState;
|
|
23
|
+
approvedAt?: string;
|
|
24
|
+
approver?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface BrokerExecutionIntent {
|
|
27
|
+
provider: BrokerProvider;
|
|
28
|
+
secretRef: string;
|
|
29
|
+
request: {
|
|
30
|
+
url: string;
|
|
31
|
+
method: BrokerHttpMethod;
|
|
32
|
+
headers?: Record<string, string>;
|
|
33
|
+
body?: string;
|
|
34
|
+
bodySha256?: string;
|
|
35
|
+
};
|
|
36
|
+
sessionId?: string;
|
|
37
|
+
endpointAgentId?: string;
|
|
38
|
+
runtimeAgentId?: string;
|
|
39
|
+
runtimeAgentKind?: string;
|
|
40
|
+
originFingerprint?: string;
|
|
41
|
+
previewId?: string;
|
|
42
|
+
delegationToken?: string;
|
|
43
|
+
}
|
|
44
|
+
export interface BrokerExecutionResponse {
|
|
45
|
+
executionId: string;
|
|
46
|
+
capabilityId: string;
|
|
47
|
+
provider: BrokerProvider;
|
|
48
|
+
status: number;
|
|
49
|
+
headers: Record<string, string>;
|
|
50
|
+
body?: string;
|
|
51
|
+
contentType?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface BrokerExecutionStreamResponse {
|
|
54
|
+
executionId: string;
|
|
55
|
+
capabilityId: string;
|
|
56
|
+
provider: BrokerProvider;
|
|
57
|
+
status: number;
|
|
58
|
+
headers: Record<string, string>;
|
|
59
|
+
body: ReadableStream<Uint8Array>;
|
|
60
|
+
contentType?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface SecretBrokerClientOptions {
|
|
63
|
+
hushdBaseUrl: string;
|
|
64
|
+
brokerdBaseUrl: string;
|
|
65
|
+
token?: string;
|
|
66
|
+
timeoutMs?: number;
|
|
67
|
+
proofBindingMode?: BrokerProofBindingMode;
|
|
68
|
+
previewBeforeExecute?: boolean;
|
|
69
|
+
fetchImpl?: typeof fetch;
|
|
70
|
+
}
|
|
71
|
+
export declare class BrokerPreviewApprovalRequiredError extends Error {
|
|
72
|
+
readonly preview: BrokerIntentPreview;
|
|
73
|
+
constructor(preview: BrokerIntentPreview);
|
|
74
|
+
}
|
|
75
|
+
export declare class SecretBrokerClient {
|
|
76
|
+
private readonly hushdBaseUrl;
|
|
77
|
+
private readonly brokerdBaseUrl;
|
|
78
|
+
private readonly token?;
|
|
79
|
+
private readonly timeoutMs;
|
|
80
|
+
private readonly proofBindingMode?;
|
|
81
|
+
private readonly previewBeforeExecute;
|
|
82
|
+
private readonly fetchImpl;
|
|
83
|
+
constructor(options: SecretBrokerClientOptions);
|
|
84
|
+
previewIntent(intent: BrokerExecutionIntent): Promise<BrokerIntentPreview>;
|
|
85
|
+
execute(intent: BrokerExecutionIntent): Promise<BrokerExecutionResponse>;
|
|
86
|
+
executeStream(intent: BrokerExecutionIntent): Promise<BrokerExecutionStreamResponse>;
|
|
87
|
+
private issueCapability;
|
|
88
|
+
private postJson;
|
|
89
|
+
private postResponse;
|
|
90
|
+
private prepareExecution;
|
|
91
|
+
private requestHeaders;
|
|
92
|
+
}
|
|
93
|
+
export declare function sha256Hex(input: string): string;
|
|
94
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
2
|
+
import * as ed25519 from "@noble/ed25519";
|
|
3
|
+
const BROKER_EXECUTION_ID_HEADER = "x-clawdstrike-execution-id";
|
|
4
|
+
const BROKER_CAPABILITY_ID_HEADER = "x-clawdstrike-capability-id";
|
|
5
|
+
const BROKER_PROVIDER_HEADER = "x-clawdstrike-provider";
|
|
6
|
+
export class BrokerPreviewApprovalRequiredError extends Error {
|
|
7
|
+
preview;
|
|
8
|
+
constructor(preview) {
|
|
9
|
+
super(`BROKER_PREVIEW_APPROVAL_REQUIRED:${preview.previewId}`);
|
|
10
|
+
this.name = "BrokerPreviewApprovalRequiredError";
|
|
11
|
+
this.preview = preview;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class SecretBrokerClient {
|
|
15
|
+
hushdBaseUrl;
|
|
16
|
+
brokerdBaseUrl;
|
|
17
|
+
token;
|
|
18
|
+
timeoutMs;
|
|
19
|
+
proofBindingMode;
|
|
20
|
+
previewBeforeExecute;
|
|
21
|
+
fetchImpl;
|
|
22
|
+
constructor(options) {
|
|
23
|
+
this.hushdBaseUrl = options.hushdBaseUrl.replace(/\/+$/, "");
|
|
24
|
+
this.brokerdBaseUrl = options.brokerdBaseUrl.replace(/\/+$/, "");
|
|
25
|
+
this.token = options.token;
|
|
26
|
+
this.timeoutMs = options.timeoutMs ?? 10_000;
|
|
27
|
+
this.proofBindingMode = options.proofBindingMode;
|
|
28
|
+
this.previewBeforeExecute = options.previewBeforeExecute ?? true;
|
|
29
|
+
this.fetchImpl = options.fetchImpl ?? fetch;
|
|
30
|
+
}
|
|
31
|
+
async previewIntent(intent) {
|
|
32
|
+
const payload = await this.postJson(`${this.hushdBaseUrl}/api/v1/broker/previews`, {
|
|
33
|
+
provider: intent.provider,
|
|
34
|
+
url: intent.request.url,
|
|
35
|
+
method: intent.request.method,
|
|
36
|
+
secret_ref: intent.secretRef,
|
|
37
|
+
body: intent.request.body,
|
|
38
|
+
body_sha256: intent.request.bodySha256,
|
|
39
|
+
session_id: intent.sessionId,
|
|
40
|
+
endpoint_agent_id: intent.endpointAgentId,
|
|
41
|
+
runtime_agent_id: intent.runtimeAgentId,
|
|
42
|
+
runtime_agent_kind: intent.runtimeAgentKind,
|
|
43
|
+
origin_fingerprint: intent.originFingerprint,
|
|
44
|
+
}, "BROKER_PREVIEW_REQUEST_FAILED");
|
|
45
|
+
return normalizePreview(payload.preview);
|
|
46
|
+
}
|
|
47
|
+
async execute(intent) {
|
|
48
|
+
const prepared = await this.prepareExecution(intent);
|
|
49
|
+
const executed = await this.postJson(`${this.brokerdBaseUrl}/v1/execute`, prepared.executePayload, "BROKER_EXECUTE_FAILED");
|
|
50
|
+
return {
|
|
51
|
+
executionId: executed.execution_id,
|
|
52
|
+
capabilityId: executed.capability_id,
|
|
53
|
+
provider: executed.provider,
|
|
54
|
+
status: executed.status,
|
|
55
|
+
headers: executed.headers ?? {},
|
|
56
|
+
body: executed.body,
|
|
57
|
+
contentType: executed.content_type,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
async executeStream(intent) {
|
|
61
|
+
const prepared = await this.prepareExecution(intent);
|
|
62
|
+
const response = await this.postResponse(`${this.brokerdBaseUrl}/v1/execute/stream`, prepared.executePayload, "BROKER_EXECUTE_STREAM_FAILED");
|
|
63
|
+
if (!response.body) {
|
|
64
|
+
throw new Error("BROKER_EXECUTE_STREAM_EMPTY");
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
executionId: response.headers.get(BROKER_EXECUTION_ID_HEADER) ?? prepared.capabilityId,
|
|
68
|
+
capabilityId: response.headers.get(BROKER_CAPABILITY_ID_HEADER) ?? prepared.capabilityId,
|
|
69
|
+
provider: response.headers.get(BROKER_PROVIDER_HEADER) ?? intent.provider,
|
|
70
|
+
status: response.status,
|
|
71
|
+
headers: headersToObject(response.headers),
|
|
72
|
+
body: response.body,
|
|
73
|
+
contentType: response.headers.get("content-type") ?? undefined,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
async issueCapability(intent, proofBinding, previewId) {
|
|
77
|
+
return this.postJson(`${this.hushdBaseUrl}/api/v1/broker/capabilities`, {
|
|
78
|
+
provider: intent.provider,
|
|
79
|
+
url: intent.request.url,
|
|
80
|
+
method: intent.request.method,
|
|
81
|
+
secret_ref: intent.secretRef,
|
|
82
|
+
body_sha256: intent.request.bodySha256,
|
|
83
|
+
session_id: intent.sessionId,
|
|
84
|
+
endpoint_agent_id: intent.endpointAgentId,
|
|
85
|
+
runtime_agent_id: intent.runtimeAgentId,
|
|
86
|
+
runtime_agent_kind: intent.runtimeAgentKind,
|
|
87
|
+
origin_fingerprint: intent.originFingerprint,
|
|
88
|
+
proof_binding: proofBinding,
|
|
89
|
+
preview_id: previewId,
|
|
90
|
+
delegation_token: intent.delegationToken,
|
|
91
|
+
}, "BROKER_CAPABILITY_REQUEST_FAILED");
|
|
92
|
+
}
|
|
93
|
+
async postJson(url, body, errorCode) {
|
|
94
|
+
const response = await this.postResponse(url, body, errorCode);
|
|
95
|
+
try {
|
|
96
|
+
return (await response.json());
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
const cause = error instanceof Error ? error.message : String(error);
|
|
100
|
+
throw new Error(`${errorCode}:${cause}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
async postResponse(url, body, errorCode) {
|
|
104
|
+
const controller = new AbortController();
|
|
105
|
+
const timeoutId = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
106
|
+
timeoutId.unref?.();
|
|
107
|
+
try {
|
|
108
|
+
const response = await this.fetchImpl(url, {
|
|
109
|
+
method: "POST",
|
|
110
|
+
headers: this.requestHeaders(),
|
|
111
|
+
body: JSON.stringify(body),
|
|
112
|
+
signal: controller.signal,
|
|
113
|
+
});
|
|
114
|
+
if (!response.ok) {
|
|
115
|
+
throw new Error(`${errorCode}:${response.status}`);
|
|
116
|
+
}
|
|
117
|
+
return response;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
const cause = error instanceof Error ? error.message : String(error);
|
|
121
|
+
throw new Error(`${errorCode}:${cause}`);
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
clearTimeout(timeoutId);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async prepareExecution(intent) {
|
|
128
|
+
const proofBindingMode = this.proofBindingMode ?? defaultProofBindingMode(this.brokerdBaseUrl);
|
|
129
|
+
const loopbackBindingSecret = proofBindingMode === "loopback" ? randomUUID() : undefined;
|
|
130
|
+
const dpopBinding = proofBindingMode === "dpop" ? await createDpopBindingMaterial() : undefined;
|
|
131
|
+
const preview = intent.previewId || !this.previewBeforeExecute ? undefined : await this.previewIntent(intent);
|
|
132
|
+
if (preview &&
|
|
133
|
+
preview.approvalRequired &&
|
|
134
|
+
preview.approvalState !== "approved" &&
|
|
135
|
+
preview.approvalState !== "not_required") {
|
|
136
|
+
throw new BrokerPreviewApprovalRequiredError(preview);
|
|
137
|
+
}
|
|
138
|
+
const capability = await this.issueCapability(intent, proofBindingMode === "loopback"
|
|
139
|
+
? {
|
|
140
|
+
mode: "loopback",
|
|
141
|
+
binding_sha256: sha256Hex(loopbackBindingSecret),
|
|
142
|
+
}
|
|
143
|
+
: {
|
|
144
|
+
mode: "dpop",
|
|
145
|
+
key_thumbprint: dpopBinding.keyThumbprint,
|
|
146
|
+
}, intent.previewId ?? preview?.previewId);
|
|
147
|
+
const executePayload = {
|
|
148
|
+
capability: capability.capability,
|
|
149
|
+
request: {
|
|
150
|
+
url: intent.request.url,
|
|
151
|
+
method: intent.request.method,
|
|
152
|
+
headers: intent.request.headers ?? {},
|
|
153
|
+
body: intent.request.body,
|
|
154
|
+
body_sha256: intent.request.bodySha256,
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
if (loopbackBindingSecret) {
|
|
158
|
+
executePayload.binding_secret = loopbackBindingSecret;
|
|
159
|
+
}
|
|
160
|
+
if (dpopBinding) {
|
|
161
|
+
executePayload.binding_proof = await createDpopBindingProof(dpopBinding, capability.capability_id, intent.request);
|
|
162
|
+
}
|
|
163
|
+
return {
|
|
164
|
+
capabilityId: capability.capability_id,
|
|
165
|
+
executePayload,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
requestHeaders() {
|
|
169
|
+
const headers = {
|
|
170
|
+
"content-type": "application/json",
|
|
171
|
+
};
|
|
172
|
+
if (this.token) {
|
|
173
|
+
headers.authorization = `Bearer ${this.token}`;
|
|
174
|
+
}
|
|
175
|
+
return headers;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
export function sha256Hex(input) {
|
|
179
|
+
return createHash("sha256").update(input).digest("hex");
|
|
180
|
+
}
|
|
181
|
+
async function createDpopBindingMaterial() {
|
|
182
|
+
const privateKey = randomBytes(32);
|
|
183
|
+
const publicKey = await ed25519.getPublicKeyAsync(privateKey);
|
|
184
|
+
const publicKeyHex = bytesToHex(publicKey);
|
|
185
|
+
return {
|
|
186
|
+
privateKey,
|
|
187
|
+
publicKeyHex,
|
|
188
|
+
keyThumbprint: sha256Hex(publicKeyHex),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
async function createDpopBindingProof(material, capabilityId, request) {
|
|
192
|
+
const issuedAt = new Date().toISOString();
|
|
193
|
+
const nonce = randomUUID();
|
|
194
|
+
const message = bindingProofMessage(capabilityId, request.method, request.url, request.bodySha256, issuedAt, nonce);
|
|
195
|
+
const signature = await ed25519.signAsync(Buffer.from(message, "utf8"), material.privateKey);
|
|
196
|
+
return {
|
|
197
|
+
mode: "dpop",
|
|
198
|
+
public_key: material.publicKeyHex,
|
|
199
|
+
signature: bytesToHex(signature),
|
|
200
|
+
issued_at: issuedAt,
|
|
201
|
+
nonce,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
function defaultProofBindingMode(brokerdBaseUrl) {
|
|
205
|
+
try {
|
|
206
|
+
const host = new URL(brokerdBaseUrl).hostname;
|
|
207
|
+
return isLoopbackHost(host) ? "loopback" : "dpop";
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
return "dpop";
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
function isLoopbackHost(host) {
|
|
214
|
+
return host === "localhost" || host === "127.0.0.1" || host === "::1";
|
|
215
|
+
}
|
|
216
|
+
function bindingProofMessage(capabilityId, method, url, bodySha256, issuedAt, nonce) {
|
|
217
|
+
return [
|
|
218
|
+
`broker-capability:${capabilityId}`,
|
|
219
|
+
`method:${method}`,
|
|
220
|
+
`url:${url}`,
|
|
221
|
+
`body-sha256:${bodySha256 ?? "-"}`,
|
|
222
|
+
`issued-at:${issuedAt}`,
|
|
223
|
+
`nonce:${nonce}`,
|
|
224
|
+
].join("\n");
|
|
225
|
+
}
|
|
226
|
+
function bytesToHex(value) {
|
|
227
|
+
return Buffer.from(value).toString("hex");
|
|
228
|
+
}
|
|
229
|
+
function headersToObject(headers) {
|
|
230
|
+
const result = {};
|
|
231
|
+
headers.forEach((value, key) => {
|
|
232
|
+
result[key] = value;
|
|
233
|
+
});
|
|
234
|
+
return result;
|
|
235
|
+
}
|
|
236
|
+
function normalizePreview(payload) {
|
|
237
|
+
return {
|
|
238
|
+
previewId: payload.preview_id,
|
|
239
|
+
provider: payload.provider,
|
|
240
|
+
operation: payload.operation,
|
|
241
|
+
summary: payload.summary,
|
|
242
|
+
createdAt: payload.created_at,
|
|
243
|
+
riskLevel: payload.risk_level,
|
|
244
|
+
dataClasses: payload.data_classes ?? [],
|
|
245
|
+
resources: payload.resources ?? [],
|
|
246
|
+
egressHost: payload.egress_host,
|
|
247
|
+
estimatedCostUsdMicros: payload.estimated_cost_usd_micros,
|
|
248
|
+
approvalRequired: payload.approval_required,
|
|
249
|
+
approvalState: payload.approval_state,
|
|
250
|
+
approvedAt: payload.approved_at,
|
|
251
|
+
approver: payload.approver,
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { BrokerExecutionIntent, BrokerExecutionResponse, BrokerExecutionStreamResponse, BrokerHttpMethod, BrokerProofBindingMode, BrokerProvider, SecretBrokerClientOptions, } from "./client.js";
|
|
2
|
+
export { SecretBrokerClient } from "./client.js";
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@clawdstrike/broker-client",
|
|
3
|
+
"version": "0.2.6",
|
|
4
|
+
"description": "Capability issuance and execute client for the Clawdstrike secret broker",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"prepare": "npm run build",
|
|
17
|
+
"test": "vitest run",
|
|
18
|
+
"test:watch": "vitest",
|
|
19
|
+
"typecheck": "tsc --noEmit",
|
|
20
|
+
"format": "biome check --write src/",
|
|
21
|
+
"format:check": "biome check src/"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@noble/ed25519": "^3.0.0"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/node": "^25.2.0",
|
|
28
|
+
"typescript": "^5.9.3",
|
|
29
|
+
"vitest": "^4.0.18"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md"
|
|
34
|
+
],
|
|
35
|
+
"license": "Apache-2.0",
|
|
36
|
+
"author": "Clawdstrike Contributors",
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "https://github.com/backbay-labs/clawdstrike.git",
|
|
40
|
+
"directory": "packages/adapters/clawdstrike-broker-client"
|
|
41
|
+
},
|
|
42
|
+
"homepage": "https://github.com/backbay-labs/clawdstrike",
|
|
43
|
+
"bugs": {
|
|
44
|
+
"url": "https://github.com/backbay-labs/clawdstrike/issues"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"clawdstrike",
|
|
48
|
+
"security",
|
|
49
|
+
"broker",
|
|
50
|
+
"secret"
|
|
51
|
+
],
|
|
52
|
+
"publishConfig": {
|
|
53
|
+
"access": "public"
|
|
54
|
+
},
|
|
55
|
+
"engines": {
|
|
56
|
+
"node": ">=18"
|
|
57
|
+
}
|
|
58
|
+
}
|