@agentunion/fastaun 0.5.27 → 0.5.28
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 +36 -0
- package/_packed_docs/CHANGELOG.md +36 -0
- package/_packed_docs/INDEX.md +17 -2
- package/_packed_docs/KITE_DOCS_GUIDE.md +12 -9
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +2 -2
- package/_packed_docs/sdk/INDEX.md +5 -3
- package/dist/agent-md-changes.d.ts +42 -0
- package/dist/agent-md-changes.js +339 -0
- package/dist/agent-md-changes.js.map +1 -0
- package/dist/agent-md-schema.d.ts +1 -0
- package/dist/agent-md-schema.js +30 -13
- package/dist/agent-md-schema.js.map +1 -1
- package/dist/agent-md.d.ts +11 -0
- package/dist/agent-md.js +86 -15
- package/dist/agent-md.js.map +1 -1
- package/dist/aid-store.d.ts +11 -0
- package/dist/aid-store.js +102 -21
- package/dist/aid-store.js.map +1 -1
- package/dist/auth.d.ts +10 -0
- package/dist/auth.js +44 -4
- package/dist/auth.js.map +1 -1
- package/dist/client/control-messages.d.ts +31 -0
- package/dist/client/control-messages.js +474 -0
- package/dist/client/control-messages.js.map +1 -0
- package/dist/client/delivery.js +10 -2
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/lifecycle.js +10 -0
- package/dist/client/lifecycle.js.map +1 -1
- package/dist/client/rpc-pipeline.js +76 -13
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +3 -0
- package/dist/client/v2-e2ee.js +5 -0
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +26 -0
- package/dist/client.js +267 -7
- package/dist/client.js.map +1 -1
- package/dist/discovery.d.ts +3 -0
- package/dist/discovery.js +52 -2
- package/dist/discovery.js.map +1 -1
- package/dist/events.js +14 -1
- package/dist/events.js.map +1 -1
- package/dist/risk-control.d.ts +68 -0
- package/dist/risk-control.js +344 -0
- package/dist/risk-control.js.map +1 -0
- package/dist/storage/lowlevel.d.ts +1 -0
- package/dist/storage/lowlevel.js +2 -2
- package/dist/storage/lowlevel.js.map +1 -1
- package/dist/tools/cross-sdk-agent.d.ts +1 -1
- package/dist/transport.d.ts +21 -1
- package/dist/transport.js +199 -20
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/_packed_docs/cli//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241CLI/345/274/200/345/217/221/344/270/216/344/275/277/347/224/250/346/214/207/345/215/227.md +0 -869
- package/_packed_docs/sdk/0.5.27-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +0 -408
- package/_packed_docs/sdk/0.5.27-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +0 -410
package/dist/auth.js
CHANGED
|
@@ -551,6 +551,26 @@ export class AuthFlow {
|
|
|
551
551
|
// 调用方注入的内存私钥(由 AUNClient.loadIdentity 传入,不走 tokenStore 解密)
|
|
552
552
|
_memIdentity = null;
|
|
553
553
|
_identityPkiContext = '';
|
|
554
|
+
_requestAdmission = null;
|
|
555
|
+
_riskCapabilityEnabled = null;
|
|
556
|
+
_httpHandler = null;
|
|
557
|
+
setRequestAdmission(admission) { this._requestAdmission = admission; }
|
|
558
|
+
setRiskSupport(enabled) { this._riskCapabilityEnabled = enabled; }
|
|
559
|
+
setHttpHandler(handler) { this._httpHandler = handler; }
|
|
560
|
+
async _fetchRiskText(url) {
|
|
561
|
+
if (!this._httpHandler)
|
|
562
|
+
return _fetchText(url, this._verifySsl, this._net);
|
|
563
|
+
const response = await this._fetchOwnershipPki(url);
|
|
564
|
+
if (response.status < 200 || response.status >= 300)
|
|
565
|
+
throw new AuthError(`HTTP ${response.status} from ${url}`);
|
|
566
|
+
return response.body;
|
|
567
|
+
}
|
|
568
|
+
async _fetchRiskJson(url) {
|
|
569
|
+
const result = JSON.parse(await this._fetchRiskText(url));
|
|
570
|
+
if (!isJsonObject(result))
|
|
571
|
+
throw new ValidationError(`invalid JSON response from ${url}`);
|
|
572
|
+
return result;
|
|
573
|
+
}
|
|
554
574
|
constructor(opts) {
|
|
555
575
|
this._logger = opts.logger ?? _noopLogger;
|
|
556
576
|
this._tokenStore = opts.tokenStore;
|
|
@@ -1215,6 +1235,16 @@ export class AuthFlow {
|
|
|
1215
1235
|
}
|
|
1216
1236
|
}
|
|
1217
1237
|
async _fetchOwnershipPki(url) {
|
|
1238
|
+
if (!this._httpHandler)
|
|
1239
|
+
return this._fetchOwnershipPkiDirect(url);
|
|
1240
|
+
const perform = async () => {
|
|
1241
|
+
const result = await this._fetchOwnershipPkiDirect(url);
|
|
1242
|
+
return new Response([204, 205, 304].includes(result.status) ? null : result.body, { status: result.status, headers: result.headers });
|
|
1243
|
+
};
|
|
1244
|
+
const response = await this._httpHandler(url, { method: 'GET' }, perform);
|
|
1245
|
+
return { status: response.status, headers: Object.fromEntries(response.headers), body: await response.text() };
|
|
1246
|
+
}
|
|
1247
|
+
async _fetchOwnershipPkiDirect(url) {
|
|
1218
1248
|
const fetch = (target, originalHost) => new Promise((resolve, reject) => {
|
|
1219
1249
|
const parsed = new URL(target);
|
|
1220
1250
|
const module = parsed.protocol === 'https:' ? https : http;
|
|
@@ -1279,6 +1309,15 @@ export class AuthFlow {
|
|
|
1279
1309
|
* 流程:连接 → 接收 challenge → 发送请求 → 接收响应 → 关闭。
|
|
1280
1310
|
*/
|
|
1281
1311
|
async _shortRpc(gatewayUrl, method, params) {
|
|
1312
|
+
const release = this._requestAdmission?.(`rpc:${method}`);
|
|
1313
|
+
try {
|
|
1314
|
+
return await this._shortRpcAdmitted(gatewayUrl, method, params);
|
|
1315
|
+
}
|
|
1316
|
+
finally {
|
|
1317
|
+
release?.();
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
async _shortRpcAdmitted(gatewayUrl, method, params) {
|
|
1282
1321
|
this._logger.debug(`_shortRpc enter: method=${method}, gateway=${gatewayUrl}`);
|
|
1283
1322
|
if (this._connectionFactory === null) {
|
|
1284
1323
|
const call = shortRpcViaNetworkActor(gatewayUrl, method, params);
|
|
@@ -1523,6 +1562,7 @@ export class AuthFlow {
|
|
|
1523
1562
|
agent_md_validation_v1: true,
|
|
1524
1563
|
p2p_peer_pull_v1: true,
|
|
1525
1564
|
gateway_migrate_v1: true,
|
|
1565
|
+
...(this._requestAdmission && this._verifySsl && this._riskCapabilityEnabled?.() ? { risk_test_v1: true } : {}),
|
|
1526
1566
|
};
|
|
1527
1567
|
const request = {
|
|
1528
1568
|
nonce,
|
|
@@ -1766,7 +1806,7 @@ export class AuthFlow {
|
|
|
1766
1806
|
const response = fresh ? await this._fetchOwnershipPki(url) : undefined;
|
|
1767
1807
|
if (response && response.status !== 200)
|
|
1768
1808
|
throw new AuthError('service event certificate chain is unavailable');
|
|
1769
|
-
const text = response ? response.body : await
|
|
1809
|
+
const text = response ? response.body : await this._fetchRiskText(url);
|
|
1770
1810
|
return _splitPemBundle(text);
|
|
1771
1811
|
}
|
|
1772
1812
|
/**
|
|
@@ -1821,7 +1861,7 @@ export class AuthFlow {
|
|
|
1821
1861
|
*/
|
|
1822
1862
|
async _fetchGatewayCrl(gatewayUrl, _issuerCert, fresh = false) {
|
|
1823
1863
|
const url = _gatewayHttpUrl(gatewayUrl, '/pki/crl.json');
|
|
1824
|
-
const payload = fresh ? await this._fetchFreshPkiJson(url) : await
|
|
1864
|
+
const payload = fresh ? await this._fetchFreshPkiJson(url) : await this._fetchRiskJson(url);
|
|
1825
1865
|
const crlPem = String(payload.crl_pem || '');
|
|
1826
1866
|
if (!crlPem) {
|
|
1827
1867
|
throw new AuthError('gateway CRL endpoint returned no signed CRL');
|
|
@@ -2012,7 +2052,7 @@ export class AuthFlow {
|
|
|
2012
2052
|
async _fetchGatewayOcspStatus(gatewayUrl, authCert, issuerCert, strictCurrent = false) {
|
|
2013
2053
|
const serialHex = _certSerialHex(authCert);
|
|
2014
2054
|
const url = _gatewayHttpUrl(gatewayUrl, `/pki/ocsp/${serialHex}`);
|
|
2015
|
-
const payload = strictCurrent ? await this._fetchFreshPkiJson(url) : await
|
|
2055
|
+
const payload = strictCurrent ? await this._fetchFreshPkiJson(url) : await this._fetchRiskJson(url);
|
|
2016
2056
|
const status = String(payload.status || '');
|
|
2017
2057
|
const ocspB64 = String(payload.ocsp_response || '');
|
|
2018
2058
|
if (strictCurrent) {
|
|
@@ -2369,7 +2409,7 @@ export class AuthFlow {
|
|
|
2369
2409
|
async _downloadRegisteredCert(gatewayUrl, aid) {
|
|
2370
2410
|
const certUrl = _gatewayHttpUrl(gatewayUrl, `/pki/cert/${aid}`);
|
|
2371
2411
|
try {
|
|
2372
|
-
const certPem = await
|
|
2412
|
+
const certPem = await this._fetchRiskText(certUrl);
|
|
2373
2413
|
if (!certPem || !certPem.includes('BEGIN CERTIFICATE')) {
|
|
2374
2414
|
return null;
|
|
2375
2415
|
}
|