@f2a/network 0.1.2 → 0.2.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 +278 -63
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +29 -2
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/config.d.ts +176 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +386 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/daemon.d.ts +54 -0
- package/dist/cli/daemon.d.ts.map +1 -0
- package/dist/cli/daemon.js +572 -0
- package/dist/cli/daemon.js.map +1 -0
- package/dist/cli/index.js +90 -16
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +13 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +352 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/core/e2ee-crypto.d.ts +127 -1
- package/dist/core/e2ee-crypto.d.ts.map +1 -1
- package/dist/core/e2ee-crypto.js +446 -12
- package/dist/core/e2ee-crypto.js.map +1 -1
- package/dist/core/f2a.d.ts +2 -1
- package/dist/core/f2a.d.ts.map +1 -1
- package/dist/core/f2a.js +6 -2
- package/dist/core/f2a.js.map +1 -1
- package/dist/core/identity/encrypted-key-store.d.ts +19 -0
- package/dist/core/identity/encrypted-key-store.d.ts.map +1 -0
- package/dist/core/identity/encrypted-key-store.js +72 -0
- package/dist/core/identity/encrypted-key-store.js.map +1 -0
- package/dist/core/identity/identity-manager.d.ts +133 -0
- package/dist/core/identity/identity-manager.d.ts.map +1 -0
- package/dist/core/identity/identity-manager.js +454 -0
- package/dist/core/identity/identity-manager.js.map +1 -0
- package/dist/core/identity/index.d.ts +8 -0
- package/dist/core/identity/index.d.ts.map +1 -0
- package/dist/core/identity/index.js +7 -0
- package/dist/core/identity/index.js.map +1 -0
- package/dist/core/identity/types.d.ts +70 -0
- package/dist/core/identity/types.d.ts.map +1 -0
- package/dist/core/identity/types.js +17 -0
- package/dist/core/identity/types.js.map +1 -0
- package/dist/core/p2p-network.d.ts +26 -0
- package/dist/core/p2p-network.d.ts.map +1 -1
- package/dist/core/p2p-network.js +434 -105
- package/dist/core/p2p-network.js.map +1 -1
- package/dist/core/reputation-security.d.ts +15 -0
- package/dist/core/reputation-security.d.ts.map +1 -1
- package/dist/core/reputation-security.js +73 -3
- package/dist/core/reputation-security.js.map +1 -1
- package/dist/core/reputation.d.ts +129 -4
- package/dist/core/reputation.d.ts.map +1 -1
- package/dist/core/reputation.js +294 -1
- package/dist/core/reputation.js.map +1 -1
- package/dist/core/review-committee.d.ts +2 -2
- package/dist/core/review-committee.d.ts.map +1 -1
- package/dist/core/review-committee.js +17 -0
- package/dist/core/review-committee.js.map +1 -1
- package/dist/daemon/control-server.d.ts.map +1 -1
- package/dist/daemon/control-server.js +44 -1
- package/dist/daemon/control-server.js.map +1 -1
- package/dist/daemon/webhook.d.ts +3 -0
- package/dist/daemon/webhook.d.ts.map +1 -1
- package/dist/daemon/webhook.js +318 -6
- package/dist/daemon/webhook.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/result.d.ts +1 -1
- package/dist/types/result.d.ts.map +1 -1
- package/dist/types/result.js.map +1 -1
- package/dist/utils/crypto-utils.d.ts +17 -0
- package/dist/utils/crypto-utils.d.ts.map +1 -0
- package/dist/utils/crypto-utils.js +28 -0
- package/dist/utils/crypto-utils.js.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +9 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/rate-limiter.d.ts.map +1 -1
- package/dist/utils/rate-limiter.js +3 -1
- package/dist/utils/rate-limiter.js.map +1 -1
- package/dist/utils/signature.d.ts +47 -1
- package/dist/utils/signature.d.ts.map +1 -1
- package/dist/utils/signature.js +166 -11
- package/dist/utils/signature.js.map +1 -1
- package/package.json +9 -1
- package/.github/workflows/ci.yml +0 -113
- package/.github/workflows/publish.yml +0 -60
- package/MONOREPO.md +0 -58
- package/SKILL.md +0 -137
- package/dist/adapters/openclaw.d.ts +0 -103
- package/dist/adapters/openclaw.d.ts.map +0 -1
- package/dist/adapters/openclaw.js +0 -297
- package/dist/adapters/openclaw.js.map +0 -1
- package/dist/core/connection-manager.d.ts +0 -80
- package/dist/core/connection-manager.d.ts.map +0 -1
- package/dist/core/connection-manager.js +0 -235
- package/dist/core/connection-manager.js.map +0 -1
- package/dist/core/connection-manager.test.d.ts +0 -2
- package/dist/core/connection-manager.test.d.ts.map +0 -1
- package/dist/core/connection-manager.test.js +0 -52
- package/dist/core/connection-manager.test.js.map +0 -1
- package/dist/core/identity.d.ts +0 -47
- package/dist/core/identity.d.ts.map +0 -1
- package/dist/core/identity.js +0 -130
- package/dist/core/identity.js.map +0 -1
- package/dist/core/identity.test.d.ts +0 -2
- package/dist/core/identity.test.d.ts.map +0 -1
- package/dist/core/identity.test.js +0 -43
- package/dist/core/identity.test.js.map +0 -1
- package/dist/core/serverless.d.ts +0 -155
- package/dist/core/serverless.d.ts.map +0 -1
- package/dist/core/serverless.js +0 -615
- package/dist/core/serverless.js.map +0 -1
- package/dist/daemon/webhook.test.d.ts +0 -2
- package/dist/daemon/webhook.test.d.ts.map +0 -1
- package/dist/daemon/webhook.test.js +0 -24
- package/dist/daemon/webhook.test.js.map +0 -1
- package/dist/protocol/messages.d.ts +0 -739
- package/dist/protocol/messages.d.ts.map +0 -1
- package/dist/protocol/messages.js +0 -188
- package/dist/protocol/messages.js.map +0 -1
- package/dist/protocol/messages.test.d.ts +0 -2
- package/dist/protocol/messages.test.d.ts.map +0 -1
- package/dist/protocol/messages.test.js +0 -55
- package/dist/protocol/messages.test.js.map +0 -1
- package/docs/F2A-PROTOCOL.md +0 -61
- package/docs/MOBILE_BOOTSTRAP_DESIGN.md +0 -126
- package/docs/a2a-lessons.md +0 -316
- package/docs/middleware-guide.md +0 -448
- package/docs/readme-update-checklist.md +0 -90
- package/docs/reputation-guide.md +0 -396
- package/docs/rfcs/001-reputation-system.md +0 -712
- package/docs/security-design.md +0 -247
- package/install.sh +0 -231
- package/packages/openclaw-adapter/README.md +0 -510
- package/packages/openclaw-adapter/openclaw.plugin.json +0 -106
- package/packages/openclaw-adapter/package.json +0 -40
- package/packages/openclaw-adapter/src/announcement-queue.test.ts +0 -449
- package/packages/openclaw-adapter/src/announcement-queue.ts +0 -403
- package/packages/openclaw-adapter/src/capability-detector.test.ts +0 -99
- package/packages/openclaw-adapter/src/capability-detector.ts +0 -183
- package/packages/openclaw-adapter/src/claim-handlers.test.ts +0 -974
- package/packages/openclaw-adapter/src/claim-handlers.ts +0 -482
- package/packages/openclaw-adapter/src/connector.business.test.ts +0 -583
- package/packages/openclaw-adapter/src/connector.ts +0 -795
- package/packages/openclaw-adapter/src/index.test.ts +0 -82
- package/packages/openclaw-adapter/src/index.ts +0 -18
- package/packages/openclaw-adapter/src/integration.e2e.test.ts +0 -829
- package/packages/openclaw-adapter/src/logger.ts +0 -51
- package/packages/openclaw-adapter/src/network-client.test.ts +0 -266
- package/packages/openclaw-adapter/src/network-client.ts +0 -251
- package/packages/openclaw-adapter/src/network-recovery.test.ts +0 -465
- package/packages/openclaw-adapter/src/node-manager.test.ts +0 -136
- package/packages/openclaw-adapter/src/node-manager.ts +0 -429
- package/packages/openclaw-adapter/src/plugin.test.ts +0 -439
- package/packages/openclaw-adapter/src/plugin.ts +0 -104
- package/packages/openclaw-adapter/src/reputation.test.ts +0 -221
- package/packages/openclaw-adapter/src/reputation.ts +0 -368
- package/packages/openclaw-adapter/src/task-guard.test.ts +0 -502
- package/packages/openclaw-adapter/src/task-guard.ts +0 -860
- package/packages/openclaw-adapter/src/task-queue.concurrency.test.ts +0 -462
- package/packages/openclaw-adapter/src/task-queue.edge-cases.test.ts +0 -284
- package/packages/openclaw-adapter/src/task-queue.persistence.test.ts +0 -408
- package/packages/openclaw-adapter/src/task-queue.ts +0 -668
- package/packages/openclaw-adapter/src/tool-handlers.test.ts +0 -906
- package/packages/openclaw-adapter/src/tool-handlers.ts +0 -574
- package/packages/openclaw-adapter/src/types.ts +0 -361
- package/packages/openclaw-adapter/src/webhook-pusher.test.ts +0 -188
- package/packages/openclaw-adapter/src/webhook-pusher.ts +0 -220
- package/packages/openclaw-adapter/src/webhook-server.test.ts +0 -580
- package/packages/openclaw-adapter/src/webhook-server.ts +0 -202
- package/packages/openclaw-adapter/tsconfig.json +0 -20
- package/src/cli/commands.test.ts +0 -157
- package/src/cli/commands.ts +0 -129
- package/src/cli/index.test.ts +0 -77
- package/src/cli/index.ts +0 -234
- package/src/core/autonomous-economy.test.ts +0 -291
- package/src/core/autonomous-economy.ts +0 -428
- package/src/core/e2ee-crypto.test.ts +0 -125
- package/src/core/e2ee-crypto.ts +0 -246
- package/src/core/f2a.test.ts +0 -269
- package/src/core/f2a.ts +0 -618
- package/src/core/p2p-network.test.ts +0 -199
- package/src/core/p2p-network.ts +0 -1432
- package/src/core/reputation-security.test.ts +0 -403
- package/src/core/reputation-security.ts +0 -562
- package/src/core/reputation.test.ts +0 -260
- package/src/core/reputation.ts +0 -576
- package/src/core/review-committee.test.ts +0 -380
- package/src/core/review-committee.ts +0 -401
- package/src/core/token-manager.test.ts +0 -133
- package/src/core/token-manager.ts +0 -140
- package/src/daemon/control-server.test.ts +0 -216
- package/src/daemon/control-server.ts +0 -292
- package/src/daemon/index.test.ts +0 -85
- package/src/daemon/index.ts +0 -89
- package/src/daemon/main.ts +0 -44
- package/src/daemon/start.ts +0 -29
- package/src/daemon/webhook.test.ts +0 -68
- package/src/daemon/webhook.ts +0 -105
- package/src/index.test.ts +0 -436
- package/src/index.ts +0 -72
- package/src/types/index.test.ts +0 -87
- package/src/types/index.ts +0 -341
- package/src/types/result.ts +0 -68
- package/src/utils/benchmark.ts +0 -237
- package/src/utils/logger.ts +0 -331
- package/src/utils/middleware.ts +0 -229
- package/src/utils/rate-limiter.ts +0 -207
- package/src/utils/signature.ts +0 -136
- package/src/utils/validation.ts +0 -186
- package/tests/docker/Dockerfile.node +0 -23
- package/tests/docker/Dockerfile.runner +0 -18
- package/tests/docker/docker-compose.test.yml +0 -73
- package/tests/integration/message-passing.test.ts +0 -109
- package/tests/integration/multi-node.test.ts +0 -92
- package/tests/integration/p2p-connection.test.ts +0 -83
- package/tests/integration/test-config.ts +0 -32
- package/tsconfig.json +0 -21
- package/vitest.config.ts +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgVH,+EAA+E;AAC/E,eAAe;AACf,+BAA+B;AAC/B,+EAA+E;AAE/E,cAAc,aAAa,CAAC"}
|
package/dist/types/result.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 统一的错误类型和错误码
|
|
3
3
|
*/
|
|
4
|
-
export type ErrorCode = 'NETWORK_NOT_STARTED' | 'NETWORK_ALREADY_RUNNING' | 'PEER_NOT_FOUND' | 'CONNECTION_FAILED' | 'TIMEOUT' | 'DHT_NOT_AVAILABLE' | 'DHT_LOOKUP_FAILED' | 'ENCRYPTION_NOT_READY' | 'ENCRYPTION_FAILED' | 'TASK_NOT_FOUND' | 'TASK_REJECTED' | 'TASK_FAILED' | 'CAPABILITY_NOT_SUPPORTED' | 'INVALID_OPTIONS' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'RATE_LIMITED' | 'INVALID_PARAMS' | 'INTERNAL_ERROR' | 'UNKNOWN';
|
|
4
|
+
export type ErrorCode = 'NETWORK_NOT_STARTED' | 'NETWORK_ALREADY_RUNNING' | 'PEER_NOT_FOUND' | 'CONNECTION_FAILED' | 'TIMEOUT' | 'DHT_NOT_AVAILABLE' | 'DHT_LOOKUP_FAILED' | 'ENCRYPTION_NOT_READY' | 'ENCRYPTION_FAILED' | 'IDENTITY_LOAD_FAILED' | 'IDENTITY_CREATE_FAILED' | 'IDENTITY_DELETE_FAILED' | 'IDENTITY_PASSWORD_REQUIRED' | 'IDENTITY_DECRYPT_FAILED' | 'IDENTITY_CORRUPTED' | 'TASK_NOT_FOUND' | 'TASK_REJECTED' | 'TASK_FAILED' | 'CAPABILITY_NOT_SUPPORTED' | 'INVALID_OPTIONS' | 'UNAUTHORIZED' | 'FORBIDDEN' | 'RATE_LIMITED' | 'INVALID_PARAMS' | 'INTERNAL_ERROR' | 'UNKNOWN';
|
|
5
5
|
export interface F2AError {
|
|
6
6
|
code: ErrorCode;
|
|
7
7
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAEjB,qBAAqB,GACrB,yBAAyB,GACzB,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GAET,mBAAmB,GACnB,mBAAmB,GAEnB,sBAAsB,GACtB,mBAAmB,GAEnB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,0BAA0B,GAC1B,iBAAiB,GAEjB,cAAc,GACd,WAAW,GACX,cAAc,GAEd,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,CAAC,EAAE,KAAK,GACZ,QAAQ,CAEV;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE7C;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAErD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAE9F;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAEjB,qBAAqB,GACrB,yBAAyB,GACzB,gBAAgB,GAChB,mBAAmB,GACnB,SAAS,GAET,mBAAmB,GACnB,mBAAmB,GAEnB,sBAAsB,GACtB,mBAAmB,GAEnB,sBAAsB,GACtB,wBAAwB,GACxB,wBAAwB,GACxB,4BAA4B,GAC5B,yBAAyB,GACzB,oBAAoB,GAEpB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,0BAA0B,GAC1B,iBAAiB,GAEjB,cAAc,GACd,WAAW,GACX,cAAc,GAEd,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,CAAC;AAEd,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,CAAC,EAAE,KAAK,GACZ,QAAQ,CAEV;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GACzC;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEtD,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAE7C;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAErD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAE9F;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/types/result.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/types/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,MAAM,UAAU,WAAW,CACzB,IAAe,EACf,OAAe,EACf,OAAiC,EACjC,KAAa;IAEb,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AASD,MAAM,UAAU,OAAO,CAAI,IAAO;IAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,KAAe;IACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAI,IAAe,EAAE,OAAe,EAAE,KAAa;IACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共享加密工具函数
|
|
3
|
+
*
|
|
4
|
+
* P2-5 修复:提取 isValidBase64 到共享模块,避免重复定义
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 验证字符串是否为有效的 Base64 格式
|
|
8
|
+
* @param str 要验证的字符串
|
|
9
|
+
* @returns 是否为有效的 Base64 格式
|
|
10
|
+
*/
|
|
11
|
+
export declare function isValidBase64(str: unknown): str is string;
|
|
12
|
+
/**
|
|
13
|
+
* 安全清零 Uint8Array/Buffer
|
|
14
|
+
* @param data 要清零的数据
|
|
15
|
+
*/
|
|
16
|
+
export declare function secureWipe(data: Uint8Array | Buffer | null | undefined): void;
|
|
17
|
+
//# sourceMappingURL=crypto-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-utils.d.ts","sourceRoot":"","sources":["../../src/utils/crypto-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAOzD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAI7E"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 共享加密工具函数
|
|
3
|
+
*
|
|
4
|
+
* P2-5 修复:提取 isValidBase64 到共享模块,避免重复定义
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* 验证字符串是否为有效的 Base64 格式
|
|
8
|
+
* @param str 要验证的字符串
|
|
9
|
+
* @returns 是否为有效的 Base64 格式
|
|
10
|
+
*/
|
|
11
|
+
export function isValidBase64(str) {
|
|
12
|
+
if (typeof str !== 'string' || str.length === 0) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
// Base64 regex: allows A-Z, a-z, 0-9, +, /, and optional = padding
|
|
16
|
+
const base64Regex = /^[A-Za-z0-9+/]*={0,2}$/;
|
|
17
|
+
return base64Regex.test(str);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 安全清零 Uint8Array/Buffer
|
|
21
|
+
* @param data 要清零的数据
|
|
22
|
+
*/
|
|
23
|
+
export function secureWipe(data) {
|
|
24
|
+
if (data) {
|
|
25
|
+
data.fill(0);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=crypto-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../src/utils/crypto-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mEAAmE;IACnE,MAAM,WAAW,GAAG,wBAAwB,CAAC;IAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,IAA4C;IACrE,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACf,CAAC;AACH,CAAC"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAa7C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAkB;gBAE5B,OAAO,GAAE,aAAkB;IAiBvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAqDtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAa7C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,cAAc,CAAkB;gBAE5B,OAAO,GAAE,aAAkB;IAiBvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAqDtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACH,OAAO,CAAC,MAAM;IA8Bd;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK5D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK3D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK3D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK5D;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;OAEG;IACH,QAAQ,IAAI,QAAQ;IAIpB;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAiBzD;;OAEG;IACH,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAWhC;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAGD,eAAO,MAAM,aAAa,QAAmC,CAAC;AAG9D,eAAO,MAAM,MAAM,QAAgB,CAAC"}
|
package/dist/utils/logger.js
CHANGED
|
@@ -110,6 +110,7 @@ export class Logger {
|
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
112
|
* 调度重连
|
|
113
|
+
* 使用指数退避策略:delay = baseDelay * 2^(attempt-1),最大不超过 30 秒
|
|
113
114
|
*/
|
|
114
115
|
scheduleReconnect() {
|
|
115
116
|
if (this.isReconnecting)
|
|
@@ -122,7 +123,10 @@ export class Logger {
|
|
|
122
123
|
this.isReconnecting = false;
|
|
123
124
|
return;
|
|
124
125
|
}
|
|
125
|
-
|
|
126
|
+
// 计算指数退避延迟:1s, 2s, 4s, 8s, 16s... 最大 30s
|
|
127
|
+
const exponentialDelay = Math.min(this.retryDelayMs * Math.pow(2, this.retryCount - 1), 30000 // 最大 30 秒
|
|
128
|
+
);
|
|
129
|
+
console.log(`[Logger] Attempting to reconnect file stream (attempt ${this.retryCount}/${this.maxRetries}), delay: ${exponentialDelay}ms`);
|
|
126
130
|
// 关闭旧流
|
|
127
131
|
if (this.fileStream) {
|
|
128
132
|
try {
|
|
@@ -135,7 +139,7 @@ export class Logger {
|
|
|
135
139
|
setTimeout(() => {
|
|
136
140
|
this.isReconnecting = false;
|
|
137
141
|
this.initFileStream();
|
|
138
|
-
},
|
|
142
|
+
}, exponentialDelay);
|
|
139
143
|
}
|
|
140
144
|
/**
|
|
141
145
|
* 检查日志级别是否启用
|
|
@@ -169,7 +173,9 @@ export class Logger {
|
|
|
169
173
|
else {
|
|
170
174
|
// 开发环境:人类可读
|
|
171
175
|
const { level, msg, timestamp, component, ...meta } = entry;
|
|
172
|
-
const
|
|
176
|
+
const timestampStr = typeof timestamp === 'string' ? timestamp : String(timestamp);
|
|
177
|
+
const timePart = timestampStr.includes('T') ? timestampStr.split('T')[1].split('.')[0] : timestampStr;
|
|
178
|
+
const prefix = `[${timePart}] [${component}] [${level}]`;
|
|
173
179
|
if (Object.keys(meta).length > 0) {
|
|
174
180
|
// 结构化输出(开发环境可读格式)
|
|
175
181
|
console.log(`${prefix} ${msg}`, meta);
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,UAAU;IAC5C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,eAAe;IAkBnC;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,IAAI,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,eAAe;IAC9B,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe;IACf,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,UAAU;IAC5C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAC,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,EAAE,eAAe;IAkBnC;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,IAAI,IAAI,IAAI;IAmBZ;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IA4ClC;;OAEG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAavC;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQzB;;OAEG;IACH,OAAO,IAAI,IAAI;CAUhB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe;UAGtC,GAAG,OAAO,GAAG,QAAQ,MAAM,IAAI;;EAsBzD"}
|
|
@@ -52,12 +52,14 @@ export class RateLimiter {
|
|
|
52
52
|
return; // 幂等:已释放则跳过
|
|
53
53
|
}
|
|
54
54
|
this.disposed = true;
|
|
55
|
+
// 清理定时器
|
|
55
56
|
if (this.cleanupTimer) {
|
|
56
57
|
clearInterval(this.cleanupTimer);
|
|
57
58
|
this.cleanupTimer = undefined;
|
|
58
59
|
}
|
|
60
|
+
// 清空存储,防止内存泄漏
|
|
59
61
|
this.store.clear();
|
|
60
|
-
this.logger.info('Rate limiter stopped');
|
|
62
|
+
this.logger.info('Rate limiter stopped and resources cleaned up');
|
|
61
63
|
}
|
|
62
64
|
/**
|
|
63
65
|
* 检查是否允许请求
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAkBrC;;;GAGG;AACH,MAAM,OAAO,WAAW;IACd,MAAM,CAA4B;IAClC,aAAa,CAAS;IACtB,KAAK,GAAgC,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,CAAS;IACf,YAAY,CAAkB;IAC9B,QAAQ,GAAY,KAAK,CAAC;IAElC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG;YACZ,sBAAsB,EAAE,KAAK;YAC7B,eAAe,EAAE,GAAG;YACpB,GAAG,MAAM;SACV,CAAC;QACF,SAAS;QACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACvF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;QACvD,YAAY;QACZ,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEvE,+BAA+B;QAC/B,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YAC1C,mBAAmB;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,YAAY;QACtB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,12 +20,35 @@ export interface SignedMessage {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* 请求签名验证器
|
|
23
|
+
* P2-1 修复:实现 Disposable 接口,防止资源泄漏
|
|
23
24
|
*/
|
|
24
|
-
export declare class RequestSigner {
|
|
25
|
+
export declare class RequestSigner implements Disposable {
|
|
25
26
|
private secretKey;
|
|
26
27
|
private timestampTolerance;
|
|
27
28
|
private logger;
|
|
29
|
+
/** P1-2 修复:已使用的 nonce 缓存,防止重放攻击 */
|
|
30
|
+
private usedNonces;
|
|
31
|
+
/** P1-2 修复:nonce 清理定时器 */
|
|
32
|
+
private nonceCleanupTimer;
|
|
28
33
|
constructor(config: SignatureConfig);
|
|
34
|
+
/**
|
|
35
|
+
* P1-2 修复:启动 nonce 清理定时器
|
|
36
|
+
*/
|
|
37
|
+
private startNonceCleanup;
|
|
38
|
+
/**
|
|
39
|
+
* P1-2 修复:停止清理定时器,释放资源
|
|
40
|
+
* P3-1 修复:重命名为 dispose() 以符合 Disposable 接口
|
|
41
|
+
*/
|
|
42
|
+
dispose(): void;
|
|
43
|
+
/**
|
|
44
|
+
* P3-1 修复:实现 Disposable 接口
|
|
45
|
+
*/
|
|
46
|
+
[Symbol.dispose](): void;
|
|
47
|
+
/**
|
|
48
|
+
* P3-1 修复:保留 stop() 作为 dispose() 的别名,保持向后兼容
|
|
49
|
+
* @deprecated 使用 dispose() 代替
|
|
50
|
+
*/
|
|
51
|
+
stop(): void;
|
|
29
52
|
/**
|
|
30
53
|
* 生成签名
|
|
31
54
|
* @param payload - 消息体(JSON 字符串)
|
|
@@ -52,6 +75,29 @@ export declare class RequestSigner {
|
|
|
52
75
|
}
|
|
53
76
|
/**
|
|
54
77
|
* 从环境变量加载签名密钥
|
|
78
|
+
*
|
|
79
|
+
* P1.5 修复:生产环境强制要求签名密钥,否则抛出错误
|
|
55
80
|
*/
|
|
56
81
|
export declare function loadSignatureConfig(): SignatureConfig | null;
|
|
82
|
+
/**
|
|
83
|
+
* 检查签名功能是否可用
|
|
84
|
+
* 在生产环境,如果签名密钥未设置,应考虑禁用需要签名的功能
|
|
85
|
+
*/
|
|
86
|
+
export declare function isSignatureAvailable(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* 生产环境签名检查装饰器
|
|
89
|
+
* 如果签名功能不可用且处于生产环境,抛出错误
|
|
90
|
+
*/
|
|
91
|
+
export declare function requireSignatureInProduction(): void;
|
|
92
|
+
/**
|
|
93
|
+
* P2-9 修复:安全的签名配置加载
|
|
94
|
+
* 不抛出异常,而是返回结果对象,让调用方决定如何处理
|
|
95
|
+
*/
|
|
96
|
+
export declare function loadSignatureConfigSafe(): {
|
|
97
|
+
success: boolean;
|
|
98
|
+
config?: SignatureConfig;
|
|
99
|
+
error?: string;
|
|
100
|
+
warning?: string;
|
|
101
|
+
isProduction: boolean;
|
|
102
|
+
};
|
|
57
103
|
//# sourceMappingURL=signature.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,eAAe;IAC9B,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AASD;;;GAGG;AACH,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,MAAM,CAAS;IACvB,mCAAmC;IACnC,OAAO,CAAC,UAAU,CAAuC;IACzD,0BAA0B;IAC1B,OAAO,CAAC,iBAAiB,CAA+C;gBAE5D,MAAM,EAAE,eAAe;IAQnC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;;OAGG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;IAIxB;;;OAGG;IACH,IAAI,IAAI,IAAI;IAIZ;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAapC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAiDlE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAM5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CAgD5D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAOnD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;CACvB,CAiDA"}
|
package/dist/utils/signature.js
CHANGED
|
@@ -6,15 +6,66 @@ import { createHmac, randomBytes, timingSafeEqual } from 'crypto';
|
|
|
6
6
|
import { Logger } from './logger.js';
|
|
7
7
|
/**
|
|
8
8
|
* 请求签名验证器
|
|
9
|
+
* P2-1 修复:实现 Disposable 接口,防止资源泄漏
|
|
9
10
|
*/
|
|
10
11
|
export class RequestSigner {
|
|
11
12
|
secretKey;
|
|
12
13
|
timestampTolerance;
|
|
13
14
|
logger;
|
|
15
|
+
/** P1-2 修复:已使用的 nonce 缓存,防止重放攻击 */
|
|
16
|
+
usedNonces = new Map();
|
|
17
|
+
/** P1-2 修复:nonce 清理定时器 */
|
|
18
|
+
nonceCleanupTimer = null;
|
|
14
19
|
constructor(config) {
|
|
15
20
|
this.secretKey = config.secretKey;
|
|
16
21
|
this.timestampTolerance = config.timestampTolerance || 5 * 60 * 1000; // 5 分钟
|
|
17
22
|
this.logger = new Logger({ component: 'RequestSigner' });
|
|
23
|
+
// P1-2 修复:启动 nonce 清理定时器
|
|
24
|
+
this.startNonceCleanup();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* P1-2 修复:启动 nonce 清理定时器
|
|
28
|
+
*/
|
|
29
|
+
startNonceCleanup() {
|
|
30
|
+
// 每分钟清理一次过期的 nonce
|
|
31
|
+
this.nonceCleanupTimer = setInterval(() => {
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
const expiryTime = this.timestampTolerance * 2; // 保留两倍容忍时间
|
|
34
|
+
let cleaned = 0;
|
|
35
|
+
for (const [nonce, record] of this.usedNonces) {
|
|
36
|
+
if (now - record.timestamp > expiryTime) {
|
|
37
|
+
this.usedNonces.delete(nonce);
|
|
38
|
+
cleaned++;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (cleaned > 0) {
|
|
42
|
+
this.logger.debug('Cleaned expired nonces', { count: cleaned });
|
|
43
|
+
}
|
|
44
|
+
}, 60 * 1000);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* P1-2 修复:停止清理定时器,释放资源
|
|
48
|
+
* P3-1 修复:重命名为 dispose() 以符合 Disposable 接口
|
|
49
|
+
*/
|
|
50
|
+
dispose() {
|
|
51
|
+
if (this.nonceCleanupTimer) {
|
|
52
|
+
clearInterval(this.nonceCleanupTimer);
|
|
53
|
+
this.nonceCleanupTimer = null;
|
|
54
|
+
}
|
|
55
|
+
this.usedNonces.clear();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* P3-1 修复:实现 Disposable 接口
|
|
59
|
+
*/
|
|
60
|
+
[Symbol.dispose]() {
|
|
61
|
+
this.dispose();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* P3-1 修复:保留 stop() 作为 dispose() 的别名,保持向后兼容
|
|
65
|
+
* @deprecated 使用 dispose() 代替
|
|
66
|
+
*/
|
|
67
|
+
stop() {
|
|
68
|
+
this.dispose();
|
|
18
69
|
}
|
|
19
70
|
/**
|
|
20
71
|
* 生成签名
|
|
@@ -38,22 +89,40 @@ export class RequestSigner {
|
|
|
38
89
|
* @returns 验证结果
|
|
39
90
|
*/
|
|
40
91
|
verify(message) {
|
|
41
|
-
// 1. 检查时间戳
|
|
42
92
|
const now = Date.now();
|
|
43
|
-
|
|
44
|
-
|
|
93
|
+
// P1-1 修复:单独拒绝未来时间戳
|
|
94
|
+
// 未来时间戳可能是时钟不同步或恶意攻击
|
|
95
|
+
if (message.timestamp > now + this.timestampTolerance) {
|
|
96
|
+
this.logger.warn('Signature timestamp is in the future', {
|
|
97
|
+
timestamp: message.timestamp,
|
|
98
|
+
now,
|
|
99
|
+
diff: message.timestamp - now
|
|
100
|
+
});
|
|
101
|
+
return { valid: false, error: 'Timestamp is in the future' };
|
|
102
|
+
}
|
|
103
|
+
// 检查时间戳是否过期
|
|
104
|
+
if (message.timestamp < now - this.timestampTolerance) {
|
|
45
105
|
this.logger.warn('Signature timestamp expired', {
|
|
46
106
|
timestamp: message.timestamp,
|
|
47
|
-
diff:
|
|
107
|
+
diff: now - message.timestamp
|
|
48
108
|
});
|
|
49
109
|
return { valid: false, error: 'Timestamp expired' };
|
|
50
110
|
}
|
|
51
|
-
// 2
|
|
111
|
+
// P1-2 修复:检查 nonce 是否已被使用(重放防护)
|
|
112
|
+
if (this.usedNonces.has(message.nonce)) {
|
|
113
|
+
this.logger.warn('Nonce already used, possible replay attack', {
|
|
114
|
+
nonce: message.nonce.slice(0, 16)
|
|
115
|
+
});
|
|
116
|
+
return { valid: false, error: 'Nonce already used' };
|
|
117
|
+
}
|
|
118
|
+
// 验证签名
|
|
52
119
|
const expectedSignature = this.generateSignature(message.payload, message.timestamp, message.nonce);
|
|
53
120
|
if (!this.constantTimeCompare(message.signature, expectedSignature)) {
|
|
54
121
|
this.logger.warn('Invalid signature');
|
|
55
122
|
return { valid: false, error: 'Invalid signature' };
|
|
56
123
|
}
|
|
124
|
+
// P1-2 修复:记录已使用的 nonce
|
|
125
|
+
this.usedNonces.set(message.nonce, { timestamp: now });
|
|
57
126
|
return { valid: true };
|
|
58
127
|
}
|
|
59
128
|
/**
|
|
@@ -76,27 +145,113 @@ export class RequestSigner {
|
|
|
76
145
|
}
|
|
77
146
|
/**
|
|
78
147
|
* 从环境变量加载签名密钥
|
|
148
|
+
*
|
|
149
|
+
* P1.5 修复:生产环境强制要求签名密钥,否则抛出错误
|
|
79
150
|
*/
|
|
80
151
|
export function loadSignatureConfig() {
|
|
81
152
|
const secretKey = process.env.F2A_SIGNATURE_KEY;
|
|
153
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
154
|
+
const logger = new Logger({ component: 'SignatureConfig' });
|
|
82
155
|
if (!secretKey) {
|
|
83
|
-
// 生产环境强制警告,开发环境仅提示
|
|
84
|
-
const isProduction = process.env.NODE_ENV === 'production';
|
|
85
|
-
const logger = new Logger({ component: 'SignatureConfig' });
|
|
86
156
|
if (isProduction) {
|
|
87
|
-
|
|
157
|
+
// P1.5 修复:生产环境强制要求签名密钥,抛出错误
|
|
158
|
+
// 签名验证在生产环境是必需的安全措施
|
|
159
|
+
const errorMessage = 'F2A_SIGNATURE_KEY is required in production environment. ' +
|
|
160
|
+
'Set the environment variable to enable secure message verification. ' +
|
|
161
|
+
'Example: export F2A_SIGNATURE_KEY=$(openssl rand -hex 32)';
|
|
162
|
+
logger.error(errorMessage);
|
|
163
|
+
throw new Error(errorMessage);
|
|
88
164
|
}
|
|
89
165
|
else {
|
|
90
|
-
|
|
166
|
+
// 开发环境仅提示
|
|
167
|
+
logger.warn('F2A_SIGNATURE_KEY is not set. Signature verification is disabled.');
|
|
168
|
+
logger.warn('Set this environment variable for secure message verification.');
|
|
169
|
+
logger.warn('Example: export F2A_SIGNATURE_KEY=$(openssl rand -hex 32)');
|
|
91
170
|
}
|
|
92
171
|
return null;
|
|
93
172
|
}
|
|
173
|
+
// 验证密钥强度
|
|
174
|
+
if (secretKey.length < 32) {
|
|
175
|
+
logger.warn('F2A_SIGNATURE_KEY is too short. Recommended minimum length is 32 characters.');
|
|
176
|
+
}
|
|
94
177
|
const tolerance = process.env.F2A_SIGNATURE_TOLERANCE
|
|
95
178
|
? parseInt(process.env.F2A_SIGNATURE_TOLERANCE, 10)
|
|
96
179
|
: undefined;
|
|
180
|
+
// P2-3 修复:parseInt NaN 检查
|
|
181
|
+
if (tolerance !== undefined && isNaN(tolerance)) {
|
|
182
|
+
logger.warn('F2A_SIGNATURE_TOLERANCE is not a valid number, using default 300000ms');
|
|
183
|
+
}
|
|
184
|
+
const actualTolerance = (tolerance !== undefined && !isNaN(tolerance)) ? tolerance : 300000;
|
|
185
|
+
logger.info('Signature verification enabled', {
|
|
186
|
+
timestampTolerance: actualTolerance // 默认 5 分钟
|
|
187
|
+
});
|
|
97
188
|
return {
|
|
98
189
|
secretKey,
|
|
99
|
-
timestampTolerance:
|
|
190
|
+
timestampTolerance: actualTolerance
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* 检查签名功能是否可用
|
|
195
|
+
* 在生产环境,如果签名密钥未设置,应考虑禁用需要签名的功能
|
|
196
|
+
*/
|
|
197
|
+
export function isSignatureAvailable() {
|
|
198
|
+
return !!process.env.F2A_SIGNATURE_KEY;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* 生产环境签名检查装饰器
|
|
202
|
+
* 如果签名功能不可用且处于生产环境,抛出错误
|
|
203
|
+
*/
|
|
204
|
+
export function requireSignatureInProduction() {
|
|
205
|
+
if (process.env.NODE_ENV === 'production' && !process.env.F2A_SIGNATURE_KEY) {
|
|
206
|
+
throw new Error('Signature verification is required in production but F2A_SIGNATURE_KEY is not set. ' +
|
|
207
|
+
'Please set F2A_SIGNATURE_KEY environment variable.');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* P2-9 修复:安全的签名配置加载
|
|
212
|
+
* 不抛出异常,而是返回结果对象,让调用方决定如何处理
|
|
213
|
+
*/
|
|
214
|
+
export function loadSignatureConfigSafe() {
|
|
215
|
+
const secretKey = process.env.F2A_SIGNATURE_KEY;
|
|
216
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
217
|
+
if (!secretKey) {
|
|
218
|
+
const errorMessage = 'F2A_SIGNATURE_KEY is not set. ' +
|
|
219
|
+
(isProduction
|
|
220
|
+
? 'This is required in production environment.'
|
|
221
|
+
: 'Signature verification is disabled in development.');
|
|
222
|
+
return {
|
|
223
|
+
success: false,
|
|
224
|
+
error: errorMessage,
|
|
225
|
+
isProduction
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
// P2-1 修复:使用数组累积警告,避免覆盖
|
|
229
|
+
const warnings = [];
|
|
230
|
+
// 验证密钥强度
|
|
231
|
+
if (secretKey.length < 32) {
|
|
232
|
+
warnings.push('F2A_SIGNATURE_KEY is too short. Recommended minimum length is 32 characters.');
|
|
233
|
+
}
|
|
234
|
+
const tolerance = process.env.F2A_SIGNATURE_TOLERANCE
|
|
235
|
+
? parseInt(process.env.F2A_SIGNATURE_TOLERANCE, 10)
|
|
236
|
+
: undefined;
|
|
237
|
+
// P2-3 修复:parseInt NaN 检查
|
|
238
|
+
let actualTolerance = 300000; // 默认 5 分钟
|
|
239
|
+
if (tolerance !== undefined) {
|
|
240
|
+
if (isNaN(tolerance)) {
|
|
241
|
+
warnings.push('F2A_SIGNATURE_TOLERANCE is not a valid number, using default 300000ms.');
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
actualTolerance = tolerance;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
return {
|
|
248
|
+
success: true,
|
|
249
|
+
config: {
|
|
250
|
+
secretKey,
|
|
251
|
+
timestampTolerance: actualTolerance
|
|
252
|
+
},
|
|
253
|
+
isProduction,
|
|
254
|
+
warning: warnings.length > 0 ? warnings.join(' ') : undefined
|
|
100
255
|
};
|
|
101
256
|
}
|
|
102
257
|
//# sourceMappingURL=signature.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/utils/signature.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@f2a/network",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Friend-to-Agent P2P networking protocol for OpenClaw Agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,11 +8,18 @@
|
|
|
8
8
|
"bin": {
|
|
9
9
|
"f2a": "./dist/cli/index.js"
|
|
10
10
|
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"LICENSE",
|
|
14
|
+
"README.md",
|
|
15
|
+
"package.json"
|
|
16
|
+
],
|
|
11
17
|
"workspaces": [
|
|
12
18
|
"packages/*"
|
|
13
19
|
],
|
|
14
20
|
"scripts": {
|
|
15
21
|
"build": "tsc",
|
|
22
|
+
"lint": "tsc --noEmit",
|
|
16
23
|
"build:watch": "tsc --watch",
|
|
17
24
|
"build:all": "npm run build && npm run build --workspaces",
|
|
18
25
|
"clean": "rm -rf dist",
|
|
@@ -46,6 +53,7 @@
|
|
|
46
53
|
"@libp2p/crypto": "^4.0.0",
|
|
47
54
|
"@libp2p/interface": "^1.0.0",
|
|
48
55
|
"@libp2p/kad-dht": "^16.1.4",
|
|
56
|
+
"@libp2p/mdns": "^12.0.13",
|
|
49
57
|
"@libp2p/peer-id": "^4.0.0",
|
|
50
58
|
"@libp2p/tcp": "^9.0.0",
|
|
51
59
|
"@multiformats/multiaddr": "^12.0.0",
|