@evomap/evolver-proxy 2.0.0-beta.2 → 2.0.0-beta.22

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.
Files changed (69) hide show
  1. package/dist/bin/evolver-llm-proxy.js +0 -0
  2. package/dist/bin/evolver-proxy.d.ts +105 -7
  3. package/dist/bin/evolver-proxy.js +877 -121
  4. package/dist/daemon/atpConsent.js +5 -2
  5. package/dist/daemon/collaborationFacade.js +26 -16
  6. package/dist/daemon/proxyDaemon.d.ts +65 -0
  7. package/dist/daemon/proxyDaemon.js +1384 -29
  8. package/dist/daemon/publishRecallVerifier.d.ts +114 -0
  9. package/dist/daemon/publishRecallVerifier.js +495 -0
  10. package/dist/daemon/selectHub.js +5 -3
  11. package/dist/daemon/systemdNotifier.d.ts +48 -0
  12. package/dist/daemon/systemdNotifier.js +163 -0
  13. package/dist/index.d.ts +4 -1
  14. package/dist/index.js +4 -1
  15. package/dist/lifecycle/claimNudge.d.ts +20 -0
  16. package/dist/lifecycle/claimNudge.js +124 -0
  17. package/dist/lifecycle/legacyNodeId.d.ts +11 -13
  18. package/dist/lifecycle/legacyNodeId.js +35 -20
  19. package/dist/lifecycle/manager.d.ts +4 -0
  20. package/dist/lifecycle/manager.js +15 -2
  21. package/dist/llm/server.js +24 -4
  22. package/dist/llm/traceControl.js +1 -1
  23. package/dist/llm/upstream.d.ts +5 -1
  24. package/dist/llm/upstream.js +72 -2
  25. package/dist/private/accountAssetCompatibility.d.ts +29 -0
  26. package/dist/private/accountAssetCompatibility.js +196 -0
  27. package/dist/private/adapterLoader.d.ts +21 -1
  28. package/dist/private/adapterLoader.js +242 -7
  29. package/dist/private/nodeCredentialStore.d.ts +23 -0
  30. package/dist/private/nodeCredentialStore.js +210 -0
  31. package/dist/router/messagesRoute.js +9 -3
  32. package/dist/router/providerRoutes.js +7 -3
  33. package/dist/selfUpdate/bootstrap.d.ts +162 -0
  34. package/dist/selfUpdate/bootstrap.js +3524 -0
  35. package/dist/selfUpdate/bootstrapReadiness.d.ts +9 -0
  36. package/dist/selfUpdate/bootstrapReadiness.js +153 -0
  37. package/dist/selfUpdate/builtinKey.d.ts +4 -0
  38. package/dist/selfUpdate/builtinKey.js +16 -0
  39. package/dist/selfUpdate/controllerLifecycleAuthority.d.ts +45 -0
  40. package/dist/selfUpdate/controllerLifecycleAuthority.js +61 -0
  41. package/dist/selfUpdate/executor.d.ts +27 -11
  42. package/dist/selfUpdate/executor.js +233 -58
  43. package/dist/selfUpdate/failureCodes.d.ts +10 -0
  44. package/dist/selfUpdate/failureCodes.js +13 -0
  45. package/dist/selfUpdate/index.d.ts +5 -1
  46. package/dist/selfUpdate/index.js +5 -1
  47. package/dist/selfUpdate/lastUpdate.d.ts +3 -1
  48. package/dist/selfUpdate/lastUpdate.js +37 -6
  49. package/dist/selfUpdate/migration.d.ts +158 -0
  50. package/dist/selfUpdate/migration.js +2672 -0
  51. package/dist/selfUpdate/policy.d.ts +19 -2
  52. package/dist/selfUpdate/policy.js +76 -2
  53. package/dist/selfUpdate/recoveryChildStartGate.d.ts +29 -0
  54. package/dist/selfUpdate/recoveryChildStartGate.js +319 -0
  55. package/dist/selfUpdate/releaseBinary.d.ts +13 -0
  56. package/dist/selfUpdate/releaseBinary.js +93 -10
  57. package/dist/selfUpdate/transaction.d.ts +117 -0
  58. package/dist/selfUpdate/transaction.js +1322 -0
  59. package/dist/selfUpdate/unixController.d.ts +23 -0
  60. package/dist/selfUpdate/unixController.js +514 -0
  61. package/dist/selfUpdate/version.d.ts +6 -2
  62. package/dist/selfUpdate/version.js +5 -3
  63. package/dist/selfUpdate/windowsController.d.ts +35 -0
  64. package/dist/selfUpdate/windowsController.js +655 -0
  65. package/dist/selfUpdate/windowsUpdater.d.ts +104 -0
  66. package/dist/selfUpdate/windowsUpdater.js +882 -0
  67. package/dist/sync/engine.d.ts +12 -0
  68. package/dist/sync/engine.js +255 -64
  69. package/package.json +10 -3
File without changes
@@ -1,12 +1,84 @@
1
1
  #!/usr/bin/env node
2
2
  import { mailbox } from '@evomap/evolver-core';
3
+ import { PrivateNodeCredentialStore } from '../private/nodeCredentialStore.js';
4
+ import { loadEnvFileFromEnv } from './envFile.js';
5
+ import { type DegradedStartupBootstrapResult } from '../selfUpdate/bootstrap.js';
3
6
  import { type SelfUpdatePolicy } from '../selfUpdate/policy.js';
4
7
  import { type ReleaseBinaryOptions } from '../selfUpdate/releaseBinary.js';
8
+ import { rollbackDurableSelfUpdate, type SelfUpdateRecoveryOptions, type SelfUpdateRecoveryResult, type StagedBinaryProbe } from '../selfUpdate/transaction.js';
9
+ import { maybeRunWindowsUpdaterWorkerFromArgv } from '../selfUpdate/windowsUpdater.js';
10
+ import { maybeRunUnixRecoveryController } from '../selfUpdate/unixController.js';
11
+ import { maybeRunWindowsRecoveryController } from '../selfUpdate/windowsController.js';
12
+ import { consumeRecoveryChildStartGate } from '../selfUpdate/recoveryChildStartGate.js';
5
13
  import type { AtpProxyClient, ProxyDaemonDeps, ProxyTickReport } from '../daemon/proxyDaemon.js';
6
14
  import type { HelloLifecycleMode, HelloResult, HeartbeatOptions, HeartbeatResult } from '../lifecycle/manager.js';
7
15
  import type { InboundResult } from '../sync/engine.js';
8
- export declare function proxyUsage(): string;
9
- export declare function runProxyCli(): void;
16
+ /** evolver-proxy 系统级 daemon 入口(M6-7). EVOMAP_HUB_MODE/URL/NODE_SECRET 选址. */
17
+ export interface RunProxyMainOptions {
18
+ environmentPrepared?: boolean;
19
+ recoveryPrepared?: SelfUpdateRecoveryResult;
20
+ requireLifecycleBootstrapState?: boolean;
21
+ /** Test-only transport seam. Production always resolves the configured hub runtime. */
22
+ connectRuntime?: typeof connectHubRuntime;
23
+ /** Test-only bounded loop seam. Production always runs the managed proxy loop. */
24
+ runLoop?: Parameters<typeof runManagedProxyLoop>[0]['runLoop'];
25
+ }
26
+ export declare function writeBootstrapStartupResult(result: DegradedStartupBootstrapResult, writers?: {
27
+ stdout?: (text: string) => void;
28
+ stderr?: (text: string) => void;
29
+ }): 0 | 1 | undefined;
30
+ export declare function runProxyMain(options?: RunProxyMainOptions): Promise<void>;
31
+ export declare function recoverBoundDurableSelfUpdate(options: Omit<SelfUpdateRecoveryOptions, 'beforeJournalMutation'>): Promise<SelfUpdateRecoveryResult>;
32
+ export declare function loadProxyEnvFile(env: NodeJS.ProcessEnv): ReturnType<typeof loadEnvFileFromEnv>;
33
+ interface StartupClosableStore {
34
+ close(): void;
35
+ }
36
+ interface StartupStoppableDaemon {
37
+ stop(): Promise<void>;
38
+ }
39
+ interface RollbackPendingStartupOptions {
40
+ storePath?: string;
41
+ store?: StartupClosableStore;
42
+ daemon?: StartupStoppableDaemon;
43
+ startupError: unknown;
44
+ env?: NodeJS.ProcessEnv;
45
+ rollback?: typeof rollbackDurableSelfUpdate;
46
+ openTelemetryStore?: (storePath: string) => StartupClosableStore;
47
+ persistTelemetry?: (store: StartupClosableStore, recovery: SelfUpdateRecoveryResult) => void;
48
+ logger?: {
49
+ write(chunk: string): unknown;
50
+ };
51
+ processExecPath?: string;
52
+ }
53
+ export declare function rollbackPendingStartup(options: RollbackPendingStartupOptions): Promise<SelfUpdateRecoveryResult>;
54
+ export declare function startupRollbackExitCode(rollback: SelfUpdateRecoveryResult): 78;
55
+ export declare function proxyUsage(command?: string): string;
56
+ export interface RunProxyCliOptions {
57
+ argv?: readonly string[];
58
+ env?: NodeJS.ProcessEnv;
59
+ platform?: NodeJS.Platform;
60
+ processExecPath?: string;
61
+ runMain?: (options?: RunProxyMainOptions) => Promise<void>;
62
+ recoverStartup?: typeof recoverBoundDurableSelfUpdate;
63
+ runUnixRecoveryController?: typeof maybeRunUnixRecoveryController;
64
+ runWindowsRecoveryController?: typeof maybeRunWindowsRecoveryController;
65
+ runWindowsUpdaterWorker?: typeof maybeRunWindowsUpdaterWorkerFromArgv;
66
+ consumeChildStartGate?: typeof consumeRecoveryChildStartGate;
67
+ }
68
+ export interface ProxyCliPathOptions {
69
+ home?: string;
70
+ evomapHome?: string;
71
+ store?: string;
72
+ settings?: string;
73
+ envFile?: string;
74
+ help: boolean;
75
+ }
76
+ export declare function parseProxyCliPathOptions(argv: readonly string[]): ProxyCliPathOptions;
77
+ export declare function prepareProxyCliEnvironment(argv: readonly string[], env: NodeJS.ProcessEnv): {
78
+ options: ProxyCliPathOptions;
79
+ envFile: ReturnType<typeof loadEnvFileFromEnv>;
80
+ };
81
+ export declare function runProxyCli(options?: RunProxyCliOptions): Promise<number>;
10
82
  type PrivateAdapterImporter = (specifier: string) => Promise<unknown>;
11
83
  export interface RuntimeDeps {
12
84
  mode: 'public' | 'private';
@@ -16,14 +88,22 @@ export interface RuntimeDeps {
16
88
  env?: Record<string, string | undefined>;
17
89
  now?: () => number;
18
90
  privateImporter?: PrivateAdapterImporter;
91
+ privateNodeCredentialStore?: Pick<PrivateNodeCredentialStore, 'read' | 'write'>;
19
92
  }
20
93
  export type PublicNodeSecretSource = 'env' | 'store' | 'hub_rotate' | 'legacy_file';
21
94
  export interface PublicNodeSecretSelection {
22
95
  nodeSecret: string | undefined;
96
+ nodeId?: string;
23
97
  nodeSecretVersion?: number;
24
98
  source: PublicNodeSecretSource;
25
99
  storeSecret?: string;
26
100
  }
101
+ export interface VerifiedPublicSender {
102
+ senderId: () => string | undefined;
103
+ adopt: (nodeId: string) => void;
104
+ }
105
+ export declare function createVerifiedPublicSender(initialNodeId?: string): VerifiedPublicSender;
106
+ export declare function adoptVerifiedPublicNodeId(store: mailbox.MailboxStore, selection: PublicNodeSecretSelection, sender: VerifiedPublicSender, nodeId: string): void;
27
107
  export interface HubRuntime {
28
108
  hub: ProxyDaemonDeps['hub'];
29
109
  hello: (opts: {
@@ -39,6 +119,7 @@ interface ProxyLoopDaemon {
39
119
  nextDelay: (last: InboundResult) => number;
40
120
  sleep?: (delayMs: number) => Promise<void>;
41
121
  setWakeHandler?: (wake: (() => void) | undefined) => void;
122
+ setExpectedNextTick?: (delayMs: number | undefined) => void;
42
123
  }
43
124
  interface ProxyLoopLogger {
44
125
  write: (chunk: string) => unknown;
@@ -53,22 +134,38 @@ export interface ProxyLoopOptions {
53
134
  maxConsecutiveTickFailures?: number;
54
135
  }
55
136
  export declare function runProxyLoop(daemon: ProxyLoopDaemon, options?: ProxyLoopOptions): Promise<void>;
137
+ export declare function runManagedProxyLoop(options: {
138
+ daemon: ProxyLoopDaemon & StartupStoppableDaemon;
139
+ store: StartupClosableStore;
140
+ notifier: {
141
+ readyOrThrow(): Promise<void>;
142
+ stop(): void;
143
+ };
144
+ runLoop?: (daemon: ProxyLoopDaemon, options?: ProxyLoopOptions) => Promise<void>;
145
+ logger?: ProxyLoopLogger;
146
+ }): Promise<void>;
56
147
  interface CreateProxyDaemonDepsOptions {
57
148
  runtime: HubRuntime;
58
149
  store: mailbox.MailboxStore;
150
+ hubMode?: 'public' | 'private';
59
151
  ipcToken: string;
60
152
  ipcPort?: number;
61
153
  evolverVersion: string;
62
154
  selfUpdatePolicy: SelfUpdatePolicy;
63
155
  env?: NodeJS.ProcessEnv;
64
- selfUpdateOverrides?: ReleaseBinaryOptions & {
65
- restart?: () => void;
156
+ selfUpdateOverrides?: SelfUpdateRuntimeOverrides;
157
+ }
158
+ interface SelfUpdateRuntimeOverrides extends ReleaseBinaryOptions {
159
+ restart?: () => void;
160
+ stagedBinaryProbe?: StagedBinaryProbe;
161
+ /** Test-only attestation seam. Production callers must use the real process executable. */
162
+ supervisorAttested?: {
163
+ processExecPath: string;
66
164
  };
67
165
  }
68
166
  export declare function createProxyDaemonDeps(options: CreateProxyDaemonDepsOptions): ProxyDaemonDeps;
69
- export declare function createSelfUpdateDeps(policy: SelfUpdatePolicy, currentVersion: string, env?: NodeJS.ProcessEnv, overrides?: ReleaseBinaryOptions & {
70
- restart?: () => void;
71
- }): ProxyDaemonDeps['selfUpdate'];
167
+ export declare function createSelfUpdateDeps(policy: SelfUpdatePolicy, currentVersion: string, env?: NodeJS.ProcessEnv, overrides?: SelfUpdateRuntimeOverrides): ProxyDaemonDeps['selfUpdate'];
168
+ export declare function assertSelfUpdateProcessTargetBound(options: ReleaseBinaryOptions, allowUnresolvedTarget?: boolean): void;
72
169
  export declare function resolvePublicNodeSecret(deps: RuntimeDeps): PublicNodeSecretSelection;
73
170
  /**
74
171
  * Hub rejected the cached node_secret as diverged (v1 a2aProtocol.js L1983-2017). Clear every
@@ -77,6 +174,7 @@ export declare function resolvePublicNodeSecret(deps: RuntimeDeps): PublicNodeSe
77
174
  */
78
175
  export declare function clearDivergedPublicNodeSecret(store: mailbox.MailboxStore, env?: NodeJS.ProcessEnv): void;
79
176
  export declare function persistSelectedPublicNodeSecret(store: mailbox.MailboxStore, selection: PublicNodeSecretSelection): void;
177
+ export declare function persistRotatedPublicNodeCredentials(store: mailbox.MailboxStore, selection: PublicNodeSecretSelection, secret: string, version: number | undefined): void;
80
178
  export declare function persistPublicNodeSecretVersion(store: mailbox.MailboxStore, selection: PublicNodeSecretSelection, version: number | undefined): void;
81
179
  export declare function connectHubRuntime(deps: RuntimeDeps): Promise<HubRuntime>;
82
180
  export declare function resolveLegacyNodeSecret(envNodeSecret: string | undefined, storedNodeSecret: string | undefined, storedSource: string | undefined): string | undefined;