Lines 17-57javascript
17 return firstEnv(env, 'EVOMAP_ENTERPRISE_SUBJECT', 'EVOMAP_PRIVATE_SUBJECT', 'PHUB_ENTERPRISE_SUBJECT', 'USER') ?? 'evolver-proxy';
19export async function connectPrivateProxyHub(opts) {
20 const invitationToken = resolvePrivateInvitationToken(opts.env);
21 const invitationFingerprint = invitationToken
22 ? createHash('sha256').update(invitationToken).digest('hex')
24 const usableInvitationToken = invitationFingerprint !== opts.storedInvitationFingerprint
27 const token = resolvePrivateEnterpriseToken(opts.env);
28 const configuredNodeSecret = resolvePrivateNodeSecret(opts.env);
29 const nodeSecret = configuredNodeSecret ?? opts.storedNodeSecret?.trim();
30 if (nodeSecret && !isNodeSecret(nodeSecret)) {
31 throw new Error('Private Hub node_secret 必须是 64 位十六进制字符串');
33 if (!token && !usableInvitationToken && !nodeSecret) {
34 throw new Error('EVOMAP_HUB_MODE=private 需要 A2A_NODE_SECRET / EVOMAP_NODE_SECRET、A2A_INVITATION_TOKEN 或 EVOMAP_ENTERPRISE_TOKEN');
36 const hubUrl = normalizePrivateHubBaseUrl(opts.hubUrl, opts.env);
37 const moduleName = opts.env['EVOMAP_PRIVATE_ADAPTER_MODULE']?.trim() || DEFAULT_PRIVATE_ADAPTER_MODULE;
38 const connectPrivateHub = await loadConnectPrivateHub(moduleName, opts.importer ?? ((specifier) => import(specifier)));
39 const now = opts.now ?? (() => Date.now());
MediumDynamic Require
Package source references dynamic require/import behavior.
dist/private/adapterLoader.jsView on unpkg · L37 40 const subject = resolvePrivateEnterpriseSubject(opts.env);
41 const baseConnectionOptions = {
43 senderId: opts.senderId,
47 identity: () => ({ subject }),
48 exchange: async () => ({ token: token ?? nodeSecret ?? '' }),
51 ...(opts.fetchFn ? { fetchFn: opts.fetchFn } : {}),
53 const primaryInvitationToken = !nodeSecret && !configuredNodeSecret ? usableInvitationToken : undefined;
54 const { hub, auth } = connectPrivateHub({
55 ...baseConnectionOptions,
56 ...(nodeSecret ? { nodeSecret } : {}),
57 ...(primaryInvitationToken ? { invitationToken: primaryInvitationToken } : {}),