aquaman-proxy 0.6.0 → 0.7.0
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 +10 -9
- package/dist/cli/index.js +104 -87
- package/dist/cli/index.js.map +1 -1
- package/dist/core/audit/index.d.ts +5 -0
- package/dist/core/audit/index.d.ts.map +1 -0
- package/dist/core/audit/index.js +5 -0
- package/dist/core/audit/index.js.map +1 -0
- package/dist/core/audit/logger.d.ts +53 -0
- package/dist/core/audit/logger.d.ts.map +1 -0
- package/dist/core/audit/logger.js +262 -0
- package/dist/core/audit/logger.js.map +1 -0
- package/dist/core/credentials/backends/keepassxc.d.ts +45 -0
- package/dist/core/credentials/backends/keepassxc.d.ts.map +1 -0
- package/dist/core/credentials/backends/keepassxc.js +229 -0
- package/dist/core/credentials/backends/keepassxc.js.map +1 -0
- package/dist/core/credentials/backends/onepassword.d.ts +38 -0
- package/dist/core/credentials/backends/onepassword.d.ts.map +1 -0
- package/dist/core/credentials/backends/onepassword.js +218 -0
- package/dist/core/credentials/backends/onepassword.js.map +1 -0
- package/dist/core/credentials/backends/vault.d.ts +56 -0
- package/dist/core/credentials/backends/vault.d.ts.map +1 -0
- package/dist/core/credentials/backends/vault.js +206 -0
- package/dist/core/credentials/backends/vault.js.map +1 -0
- package/dist/core/credentials/index.d.ts +8 -0
- package/dist/core/credentials/index.d.ts.map +1 -0
- package/dist/core/credentials/index.js +8 -0
- package/dist/core/credentials/index.js.map +1 -0
- package/dist/core/credentials/store.d.ts +102 -0
- package/dist/core/credentials/store.d.ts.map +1 -0
- package/dist/core/credentials/store.js +289 -0
- package/dist/core/credentials/store.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +18 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/types.d.ts +81 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +11 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils/config.d.ts +19 -0
- package/dist/core/utils/config.d.ts.map +1 -0
- package/dist/core/utils/config.js +136 -0
- package/dist/core/utils/config.js.map +1 -0
- package/dist/core/utils/hash.d.ts +27 -0
- package/dist/core/utils/hash.d.ts.map +1 -0
- package/dist/core/utils/hash.js +348 -0
- package/dist/core/utils/hash.js.map +1 -0
- package/dist/core/utils/index.d.ts +6 -0
- package/dist/core/utils/index.d.ts.map +1 -0
- package/dist/core/utils/index.js +6 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/daemon.d.ts +4 -19
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +24 -101
- package/dist/daemon.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/migration/openclaw-migrator.d.ts +1 -1
- package/dist/migration/openclaw-migrator.d.ts.map +1 -1
- package/dist/oauth-token-cache.d.ts +1 -1
- package/dist/oauth-token-cache.d.ts.map +1 -1
- package/dist/openclaw/env-writer.d.ts +7 -7
- package/dist/openclaw/env-writer.d.ts.map +1 -1
- package/dist/openclaw/env-writer.js +8 -13
- package/dist/openclaw/env-writer.js.map +1 -1
- package/dist/openclaw/integration.d.ts +5 -3
- package/dist/openclaw/integration.d.ts.map +1 -1
- package/dist/openclaw/integration.js +7 -14
- package/dist/openclaw/integration.js.map +1 -1
- package/package.json +7 -3
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cryptographic utilities for hash chains and integrity verification
|
|
3
|
+
*/
|
|
4
|
+
import * as crypto from 'node:crypto';
|
|
5
|
+
import { execFileSync } from 'node:child_process';
|
|
6
|
+
import * as fs from 'node:fs';
|
|
7
|
+
import * as path from 'node:path';
|
|
8
|
+
import * as os from 'node:os';
|
|
9
|
+
const HASH_ALGORITHM = 'sha256';
|
|
10
|
+
export function computeHash(data) {
|
|
11
|
+
return crypto.createHash(HASH_ALGORITHM).update(data).digest('hex');
|
|
12
|
+
}
|
|
13
|
+
export function computeChainedHash(data, previousHash) {
|
|
14
|
+
return computeHash(previousHash + data);
|
|
15
|
+
}
|
|
16
|
+
export function generateId() {
|
|
17
|
+
return crypto.randomUUID();
|
|
18
|
+
}
|
|
19
|
+
export function generateNonce() {
|
|
20
|
+
return crypto.randomBytes(16).toString('hex');
|
|
21
|
+
}
|
|
22
|
+
export function generateSigningKeyPair() {
|
|
23
|
+
const { publicKey, privateKey } = crypto.generateKeyPairSync('ed25519', {
|
|
24
|
+
publicKeyEncoding: { type: 'spki', format: 'pem' },
|
|
25
|
+
privateKeyEncoding: { type: 'pkcs8', format: 'pem' }
|
|
26
|
+
});
|
|
27
|
+
return { publicKey, privateKey };
|
|
28
|
+
}
|
|
29
|
+
export function sign(data, privateKey) {
|
|
30
|
+
const signature = crypto.sign(null, Buffer.from(data), privateKey);
|
|
31
|
+
return signature.toString('base64');
|
|
32
|
+
}
|
|
33
|
+
export function verify(data, signature, publicKey) {
|
|
34
|
+
try {
|
|
35
|
+
return crypto.verify(null, Buffer.from(data), publicKey, Buffer.from(signature, 'base64'));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function encryptWithPassword(data, password) {
|
|
42
|
+
const salt = crypto.randomBytes(16);
|
|
43
|
+
const key = crypto.pbkdf2Sync(password, salt, 600000, 32, 'sha256');
|
|
44
|
+
const iv = crypto.randomBytes(12);
|
|
45
|
+
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);
|
|
46
|
+
let encrypted = cipher.update(data, 'utf-8', 'base64');
|
|
47
|
+
encrypted += cipher.final('base64');
|
|
48
|
+
const authTag = cipher.getAuthTag();
|
|
49
|
+
return [
|
|
50
|
+
salt.toString('base64'),
|
|
51
|
+
iv.toString('base64'),
|
|
52
|
+
authTag.toString('base64'),
|
|
53
|
+
encrypted
|
|
54
|
+
].join(':');
|
|
55
|
+
}
|
|
56
|
+
export function decryptWithPassword(encryptedData, password) {
|
|
57
|
+
const [saltB64, ivB64, authTagB64, encrypted] = encryptedData.split(':');
|
|
58
|
+
if (!saltB64 || !ivB64 || !authTagB64 || !encrypted) {
|
|
59
|
+
throw new Error('Invalid encrypted data format');
|
|
60
|
+
}
|
|
61
|
+
const salt = Buffer.from(saltB64, 'base64');
|
|
62
|
+
const iv = Buffer.from(ivB64, 'base64');
|
|
63
|
+
const authTag = Buffer.from(authTagB64, 'base64');
|
|
64
|
+
const key = crypto.pbkdf2Sync(password, salt, 600000, 32, 'sha256');
|
|
65
|
+
const decipher = crypto.createDecipheriv('aes-256-gcm', key, iv);
|
|
66
|
+
decipher.setAuthTag(authTag);
|
|
67
|
+
let decrypted = decipher.update(encrypted, 'base64', 'utf-8');
|
|
68
|
+
decrypted += decipher.final('utf-8');
|
|
69
|
+
return decrypted;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Generate a self-signed TLS certificate.
|
|
73
|
+
* Prefers openssl CLI (correct DER encoding on all platforms),
|
|
74
|
+
* falls back to manual ASN.1 DER encoding if openssl is unavailable.
|
|
75
|
+
*/
|
|
76
|
+
export function generateSelfSignedCert(commonName, days = 365) {
|
|
77
|
+
// Generate RSA key pair using Node.js crypto (always reliable)
|
|
78
|
+
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
|
|
79
|
+
modulusLength: 2048,
|
|
80
|
+
publicKeyEncoding: { type: 'spki', format: 'pem' },
|
|
81
|
+
privateKeyEncoding: { type: 'pkcs8', format: 'pem' }
|
|
82
|
+
});
|
|
83
|
+
// Try openssl CLI first — produces correct DER across all OpenSSL/LibreSSL versions
|
|
84
|
+
try {
|
|
85
|
+
const cert = generateCertWithOpenSSL(commonName, days, privateKey);
|
|
86
|
+
return { cert, key: privateKey };
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Fall back to manual ASN.1 DER encoding
|
|
90
|
+
}
|
|
91
|
+
const now = new Date();
|
|
92
|
+
const notBefore = now;
|
|
93
|
+
const notAfter = new Date(now.getTime() + days * 24 * 60 * 60 * 1000);
|
|
94
|
+
const serialNumber = crypto.randomBytes(16).toString('hex');
|
|
95
|
+
const cert = buildSelfSignedCert({
|
|
96
|
+
commonName,
|
|
97
|
+
publicKey,
|
|
98
|
+
privateKey,
|
|
99
|
+
notBefore,
|
|
100
|
+
notAfter,
|
|
101
|
+
serialNumber
|
|
102
|
+
});
|
|
103
|
+
return { cert, key: privateKey };
|
|
104
|
+
}
|
|
105
|
+
function generateCertWithOpenSSL(commonName, days, privateKey) {
|
|
106
|
+
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'aquaman-cert-'));
|
|
107
|
+
const keyFile = path.join(tmpDir, 'key.pem');
|
|
108
|
+
const certFile = path.join(tmpDir, 'cert.pem');
|
|
109
|
+
const configFile = path.join(tmpDir, 'openssl.cnf');
|
|
110
|
+
try {
|
|
111
|
+
fs.writeFileSync(keyFile, privateKey, { mode: 0o600 });
|
|
112
|
+
// Minimal openssl config with SAN extension
|
|
113
|
+
fs.writeFileSync(configFile, [
|
|
114
|
+
'[req]',
|
|
115
|
+
'distinguished_name = dn',
|
|
116
|
+
'x509_extensions = ext',
|
|
117
|
+
'prompt = no',
|
|
118
|
+
'[dn]',
|
|
119
|
+
`CN = ${commonName}`,
|
|
120
|
+
'[ext]',
|
|
121
|
+
`subjectAltName = DNS:${commonName}`,
|
|
122
|
+
'basicConstraints = critical, CA:FALSE',
|
|
123
|
+
'keyUsage = critical, digitalSignature, keyEncipherment',
|
|
124
|
+
].join('\n'));
|
|
125
|
+
execFileSync('openssl', [
|
|
126
|
+
'req', '-x509',
|
|
127
|
+
'-key', keyFile,
|
|
128
|
+
'-out', certFile,
|
|
129
|
+
'-days', String(days),
|
|
130
|
+
'-config', configFile,
|
|
131
|
+
], { stdio: 'pipe' });
|
|
132
|
+
return fs.readFileSync(certFile, 'utf-8');
|
|
133
|
+
}
|
|
134
|
+
finally {
|
|
135
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function buildSelfSignedCert(params) {
|
|
139
|
+
// Extract the public key bytes from PEM
|
|
140
|
+
const pubKeyDer = pemToDer(params.publicKey, 'PUBLIC KEY');
|
|
141
|
+
// Build TBSCertificate (To Be Signed Certificate)
|
|
142
|
+
const tbsCert = buildTBSCertificate(params, pubKeyDer);
|
|
143
|
+
// Sign the TBSCertificate
|
|
144
|
+
const signature = crypto.sign('sha256', tbsCert, params.privateKey);
|
|
145
|
+
// Build the complete certificate
|
|
146
|
+
const cert = buildCertificate(tbsCert, signature);
|
|
147
|
+
// Convert to PEM
|
|
148
|
+
return derToPem(cert, 'CERTIFICATE');
|
|
149
|
+
}
|
|
150
|
+
function pemToDer(pem, label) {
|
|
151
|
+
const base64 = pem
|
|
152
|
+
.replace(`-----BEGIN ${label}-----`, '')
|
|
153
|
+
.replace(`-----END ${label}-----`, '')
|
|
154
|
+
.replace(/\s/g, '');
|
|
155
|
+
return Buffer.from(base64, 'base64');
|
|
156
|
+
}
|
|
157
|
+
function derToPem(der, label) {
|
|
158
|
+
const base64 = der.toString('base64');
|
|
159
|
+
const lines = [];
|
|
160
|
+
for (let i = 0; i < base64.length; i += 64) {
|
|
161
|
+
lines.push(base64.slice(i, i + 64));
|
|
162
|
+
}
|
|
163
|
+
return `-----BEGIN ${label}-----\n${lines.join('\n')}\n-----END ${label}-----\n`;
|
|
164
|
+
}
|
|
165
|
+
// ASN.1 DER encoding helpers
|
|
166
|
+
function encodeLength(length) {
|
|
167
|
+
if (length < 128) {
|
|
168
|
+
return Buffer.from([length]);
|
|
169
|
+
}
|
|
170
|
+
const bytes = [];
|
|
171
|
+
let temp = length;
|
|
172
|
+
while (temp > 0) {
|
|
173
|
+
bytes.unshift(temp & 0xff);
|
|
174
|
+
temp >>= 8;
|
|
175
|
+
}
|
|
176
|
+
return Buffer.from([0x80 | bytes.length, ...bytes]);
|
|
177
|
+
}
|
|
178
|
+
function encodeSequence(items) {
|
|
179
|
+
const content = Buffer.concat(items);
|
|
180
|
+
const lengthBytes = encodeLength(content.length);
|
|
181
|
+
return Buffer.concat([Buffer.from([0x30]), lengthBytes, content]);
|
|
182
|
+
}
|
|
183
|
+
function encodeSet(items) {
|
|
184
|
+
const content = Buffer.concat(items);
|
|
185
|
+
const lengthBytes = encodeLength(content.length);
|
|
186
|
+
return Buffer.concat([Buffer.from([0x31]), lengthBytes, content]);
|
|
187
|
+
}
|
|
188
|
+
function encodeInteger(value) {
|
|
189
|
+
let bytes;
|
|
190
|
+
if (typeof value === 'number') {
|
|
191
|
+
if (value === 0) {
|
|
192
|
+
bytes = Buffer.from([0]);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
const hex = value.toString(16);
|
|
196
|
+
bytes = Buffer.from(hex.length % 2 ? '0' + hex : hex, 'hex');
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
bytes = value;
|
|
201
|
+
}
|
|
202
|
+
// Add leading zero if high bit is set (to ensure positive number)
|
|
203
|
+
if (bytes[0] & 0x80) {
|
|
204
|
+
bytes = Buffer.concat([Buffer.from([0]), bytes]);
|
|
205
|
+
}
|
|
206
|
+
const lengthBytes = encodeLength(bytes.length);
|
|
207
|
+
return Buffer.concat([Buffer.from([0x02]), lengthBytes, bytes]);
|
|
208
|
+
}
|
|
209
|
+
function encodeOID(oid) {
|
|
210
|
+
const parts = oid.split('.').map(Number);
|
|
211
|
+
const bytes = [];
|
|
212
|
+
// First two components are encoded specially
|
|
213
|
+
bytes.push(parts[0] * 40 + parts[1]);
|
|
214
|
+
// Remaining components use variable-length encoding
|
|
215
|
+
for (let i = 2; i < parts.length; i++) {
|
|
216
|
+
let n = parts[i];
|
|
217
|
+
if (n === 0) {
|
|
218
|
+
bytes.push(0);
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
const octets = [];
|
|
222
|
+
while (n > 0) {
|
|
223
|
+
octets.unshift(n & 0x7f);
|
|
224
|
+
n >>= 7;
|
|
225
|
+
}
|
|
226
|
+
for (let j = 0; j < octets.length - 1; j++) {
|
|
227
|
+
octets[j] |= 0x80;
|
|
228
|
+
}
|
|
229
|
+
bytes.push(...octets);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
const content = Buffer.from(bytes);
|
|
233
|
+
const lengthBytes = encodeLength(content.length);
|
|
234
|
+
return Buffer.concat([Buffer.from([0x06]), lengthBytes, content]);
|
|
235
|
+
}
|
|
236
|
+
function encodePrintableString(str) {
|
|
237
|
+
const content = Buffer.from(str, 'ascii');
|
|
238
|
+
const lengthBytes = encodeLength(content.length);
|
|
239
|
+
return Buffer.concat([Buffer.from([0x13]), lengthBytes, content]);
|
|
240
|
+
}
|
|
241
|
+
function encodeUTCTime(date) {
|
|
242
|
+
const year = date.getUTCFullYear() % 100;
|
|
243
|
+
const month = (date.getUTCMonth() + 1).toString().padStart(2, '0');
|
|
244
|
+
const day = date.getUTCDate().toString().padStart(2, '0');
|
|
245
|
+
const hours = date.getUTCHours().toString().padStart(2, '0');
|
|
246
|
+
const minutes = date.getUTCMinutes().toString().padStart(2, '0');
|
|
247
|
+
const seconds = date.getUTCSeconds().toString().padStart(2, '0');
|
|
248
|
+
const str = `${year.toString().padStart(2, '0')}${month}${day}${hours}${minutes}${seconds}Z`;
|
|
249
|
+
const content = Buffer.from(str, 'ascii');
|
|
250
|
+
const lengthBytes = encodeLength(content.length);
|
|
251
|
+
return Buffer.concat([Buffer.from([0x17]), lengthBytes, content]);
|
|
252
|
+
}
|
|
253
|
+
function encodeBitString(data) {
|
|
254
|
+
// Add leading byte for unused bits (0)
|
|
255
|
+
const content = Buffer.concat([Buffer.from([0]), data]);
|
|
256
|
+
const lengthBytes = encodeLength(content.length);
|
|
257
|
+
return Buffer.concat([Buffer.from([0x03]), lengthBytes, content]);
|
|
258
|
+
}
|
|
259
|
+
function encodeContextTag(tag, content) {
|
|
260
|
+
const lengthBytes = encodeLength(content.length);
|
|
261
|
+
return Buffer.concat([Buffer.from([0xa0 | tag]), lengthBytes, content]);
|
|
262
|
+
}
|
|
263
|
+
function buildTBSCertificate(params, pubKeyDer) {
|
|
264
|
+
// Version (v3 = 2)
|
|
265
|
+
const version = encodeContextTag(0, encodeInteger(2));
|
|
266
|
+
// Serial number
|
|
267
|
+
const serial = encodeInteger(Buffer.from(params.serialNumber, 'hex'));
|
|
268
|
+
// Signature algorithm (SHA256 with RSA)
|
|
269
|
+
const signatureAlgorithm = encodeSequence([
|
|
270
|
+
encodeOID('1.2.840.113549.1.1.11'), // sha256WithRSAEncryption
|
|
271
|
+
Buffer.from([0x05, 0x00]) // NULL
|
|
272
|
+
]);
|
|
273
|
+
// Issuer (same as subject for self-signed)
|
|
274
|
+
const issuer = buildName(params.commonName);
|
|
275
|
+
// Validity
|
|
276
|
+
const validity = encodeSequence([
|
|
277
|
+
encodeUTCTime(params.notBefore),
|
|
278
|
+
encodeUTCTime(params.notAfter)
|
|
279
|
+
]);
|
|
280
|
+
// Subject
|
|
281
|
+
const subject = buildName(params.commonName);
|
|
282
|
+
// Subject Public Key Info (already in DER format)
|
|
283
|
+
const subjectPublicKeyInfo = pubKeyDer;
|
|
284
|
+
// Extensions (v3)
|
|
285
|
+
const extensions = buildExtensions(params.commonName);
|
|
286
|
+
const extensionsTagged = encodeContextTag(3, extensions);
|
|
287
|
+
return encodeSequence([
|
|
288
|
+
version,
|
|
289
|
+
serial,
|
|
290
|
+
signatureAlgorithm,
|
|
291
|
+
issuer,
|
|
292
|
+
validity,
|
|
293
|
+
subject,
|
|
294
|
+
subjectPublicKeyInfo,
|
|
295
|
+
extensionsTagged
|
|
296
|
+
]);
|
|
297
|
+
}
|
|
298
|
+
function buildName(commonName) {
|
|
299
|
+
// Build RDN for CN (Common Name)
|
|
300
|
+
const cnOid = encodeOID('2.5.4.3'); // id-at-commonName
|
|
301
|
+
const cnValue = encodePrintableString(commonName);
|
|
302
|
+
const cnAttr = encodeSequence([cnOid, cnValue]);
|
|
303
|
+
const cnRdn = encodeSet([cnAttr]);
|
|
304
|
+
return encodeSequence([cnRdn]);
|
|
305
|
+
}
|
|
306
|
+
function buildExtensions(commonName) {
|
|
307
|
+
// Basic Constraints (CA: false)
|
|
308
|
+
const basicConstraints = encodeSequence([
|
|
309
|
+
encodeOID('2.5.29.19'), // id-ce-basicConstraints
|
|
310
|
+
Buffer.from([0x01, 0x01, 0xff]), // critical = true
|
|
311
|
+
Buffer.from([0x04, 0x02, 0x30, 0x00]) // OCTET STRING containing empty SEQUENCE
|
|
312
|
+
]);
|
|
313
|
+
// Key Usage (digitalSignature, keyEncipherment)
|
|
314
|
+
const keyUsage = encodeSequence([
|
|
315
|
+
encodeOID('2.5.29.15'), // id-ce-keyUsage
|
|
316
|
+
Buffer.from([0x01, 0x01, 0xff]), // critical = true
|
|
317
|
+
Buffer.from([0x04, 0x04, 0x03, 0x02, 0x05, 0xa0]) // OCTET STRING containing BIT STRING
|
|
318
|
+
]);
|
|
319
|
+
// Subject Alternative Name (DNS name)
|
|
320
|
+
const sanValue = encodeSequence([
|
|
321
|
+
Buffer.concat([
|
|
322
|
+
Buffer.from([0x82]), // context tag 2 (dNSName)
|
|
323
|
+
encodeLength(commonName.length),
|
|
324
|
+
Buffer.from(commonName, 'ascii')
|
|
325
|
+
])
|
|
326
|
+
]);
|
|
327
|
+
const sanOctet = Buffer.concat([
|
|
328
|
+
Buffer.from([0x04]),
|
|
329
|
+
encodeLength(sanValue.length),
|
|
330
|
+
sanValue
|
|
331
|
+
]);
|
|
332
|
+
const san = encodeSequence([
|
|
333
|
+
encodeOID('2.5.29.17'), // id-ce-subjectAltName
|
|
334
|
+
sanOctet
|
|
335
|
+
]);
|
|
336
|
+
return encodeSequence([basicConstraints, keyUsage, san]);
|
|
337
|
+
}
|
|
338
|
+
function buildCertificate(tbsCert, signature) {
|
|
339
|
+
// Signature algorithm
|
|
340
|
+
const signatureAlgorithm = encodeSequence([
|
|
341
|
+
encodeOID('1.2.840.113549.1.1.11'), // sha256WithRSAEncryption
|
|
342
|
+
Buffer.from([0x05, 0x00]) // NULL
|
|
343
|
+
]);
|
|
344
|
+
// Signature value
|
|
345
|
+
const signatureValue = encodeBitString(signature);
|
|
346
|
+
return encodeSequence([tbsCert, signatureAlgorithm, signatureValue]);
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=hash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/core/utils/hash.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for aquaman
|
|
3
|
+
*/
|
|
4
|
+
export { computeHash, computeChainedHash, generateId, generateNonce, generateSigningKeyPair, sign, verify, encryptWithPassword, decryptWithPassword, generateSelfSignedCert, type SigningKeyPair, type SelfSignedCert } from './hash.js';
|
|
5
|
+
export { getConfigDir, getConfigPath, expandPath, getDefaultConfig, loadConfig, ensureConfigDir, saveConfig, applyEnvOverrides } from './config.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EAClB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for aquaman
|
|
3
|
+
*/
|
|
4
|
+
export { computeHash, computeChainedHash, generateId, generateNonce, generateSigningKeyPair, sign, verify, encryptWithPassword, decryptWithPassword, generateSelfSignedCert } from './hash.js';
|
|
5
|
+
export { getConfigDir, getConfigPath, expandPath, getDefaultConfig, loadConfig, ensureConfigDir, saveConfig, applyEnvOverrides } from './config.js';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,IAAI,EACJ,MAAM,EACN,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EAGvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,UAAU,EACV,iBAAiB,EAClB,MAAM,aAAa,CAAC"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Credential proxy daemon - holds secrets and proxies authenticated API calls
|
|
3
|
-
* OpenClaw connects to this proxy instead of directly to external APIs
|
|
3
|
+
* OpenClaw connects to this proxy via Unix domain socket instead of directly to external APIs
|
|
4
4
|
*/
|
|
5
|
-
import { type CredentialStore } from '
|
|
5
|
+
import { type CredentialStore } from './core/index.js';
|
|
6
6
|
import { ServiceRegistry, type ServiceDefinition } from './service-registry.js';
|
|
7
|
-
export interface TlsOptions {
|
|
8
|
-
enabled: boolean;
|
|
9
|
-
certPath?: string;
|
|
10
|
-
keyPath?: string;
|
|
11
|
-
}
|
|
12
7
|
export interface CredentialProxyOptions {
|
|
13
|
-
|
|
14
|
-
bindAddress?: string;
|
|
8
|
+
socketPath: string;
|
|
15
9
|
store: CredentialStore;
|
|
16
10
|
allowedServices: string[];
|
|
17
11
|
onRequest?: (info: RequestInfo) => void;
|
|
18
|
-
tls?: TlsOptions;
|
|
19
12
|
serviceRegistry?: ServiceRegistry;
|
|
20
|
-
clientToken?: string;
|
|
21
13
|
requestTimeout?: number;
|
|
22
14
|
}
|
|
23
15
|
export interface RequestInfo {
|
|
@@ -40,25 +32,18 @@ export declare class CredentialProxy {
|
|
|
40
32
|
private server;
|
|
41
33
|
private options;
|
|
42
34
|
private running;
|
|
43
|
-
private tlsEnabled;
|
|
44
35
|
private serviceRegistry;
|
|
45
36
|
private oauthCache;
|
|
46
|
-
private actualPort;
|
|
47
37
|
constructor(options: CredentialProxyOptions);
|
|
48
38
|
start(): Promise<void>;
|
|
49
39
|
private handleRequest;
|
|
50
40
|
private proxyRequest;
|
|
51
|
-
private extractClientToken;
|
|
52
|
-
private verifyToken;
|
|
53
41
|
private emitRequest;
|
|
54
42
|
stop(): Promise<void>;
|
|
55
43
|
isRunning(): boolean;
|
|
56
|
-
|
|
57
|
-
getPort(): number;
|
|
44
|
+
getSocketPath(): string;
|
|
58
45
|
getServiceRegistry(): ServiceRegistry;
|
|
59
46
|
getServiceConfigs(): Record<string, ServiceConfig>;
|
|
60
|
-
getBaseUrl(service: string): string;
|
|
61
|
-
static getBaseUrl(service: string, proxyPort: number, useTls?: boolean): string;
|
|
62
47
|
}
|
|
63
48
|
export declare function createCredentialProxy(options: CredentialProxyOptions): CredentialProxy;
|
|
64
49
|
export type { ServiceDefinition };
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAE,KAAK,eAAe,EAAc,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAyB,KAAK,iBAAiB,EAAiB,MAAM,uBAAuB,CAAC;AAStH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,eAAe,CAAC;IACvB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,sBAAsB;IAMrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAwCd,aAAa;YA+Gb,YAAY;IAkI1B,OAAO,CAAC,WAAW;IAMb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,MAAM;IAIvB,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;CAGnD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAEtF;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|