@jinn-network/client 0.1.2-canary.d6e72dfd → 0.1.2
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 +2 -0
- package/README.md +3 -0
- package/dist/adapters/adapter.d.ts +7 -0
- package/dist/adapters/mech/adapter.d.ts +4 -0
- package/dist/adapters/mech/adapter.js +140 -19
- package/dist/adapters/mech/adapter.js.map +1 -1
- package/dist/adapters/mech/contracts.d.ts +17 -1
- package/dist/adapters/mech/contracts.js +55 -1
- package/dist/adapters/mech/contracts.js.map +1 -1
- package/dist/adapters/mech/ipfs.d.ts +30 -5
- package/dist/adapters/mech/ipfs.js +162 -17
- package/dist/adapters/mech/ipfs.js.map +1 -1
- package/dist/adapters/mech/safe.js +8 -6
- package/dist/adapters/mech/safe.js.map +1 -1
- package/dist/adapters/mech/types.d.ts +2 -0
- package/dist/adapters/mech/types.js.map +1 -1
- package/dist/api/balance-build.js +3 -3
- package/dist/api/balance-build.js.map +1 -1
- package/dist/api/fleet-build.js +35 -40
- package/dist/api/fleet-build.js.map +1 -1
- package/dist/api/gather-status.d.ts +5 -0
- package/dist/api/gather-status.js +158 -7
- package/dist/api/gather-status.js.map +1 -1
- package/dist/api/history-build.d.ts +5 -1
- package/dist/api/history-build.js +51 -26
- package/dist/api/history-build.js.map +1 -1
- package/dist/api/portfolio-v0-build.d.ts +3 -1
- package/dist/api/portfolio-v0-build.js +12 -10
- package/dist/api/portfolio-v0-build.js.map +1 -1
- package/dist/api/rewards-build.js +29 -13
- package/dist/api/rewards-build.js.map +1 -1
- package/dist/api/status-build.d.ts +32 -6
- package/dist/api/status-build.js +2 -1
- package/dist/api/status-build.js.map +1 -1
- package/dist/api/status-rollup-build.d.ts +2 -0
- package/dist/api/status-rollup-build.js +30 -3
- package/dist/api/status-rollup-build.js.map +1 -1
- package/dist/build-meta.json +1 -1
- package/dist/cli/commands/auth.js +27 -5
- package/dist/cli/commands/auth.js.map +1 -1
- package/dist/cli/commands/balance.js +8 -1
- package/dist/cli/commands/balance.js.map +1 -1
- package/dist/cli/commands/bootstrap.js +22 -0
- package/dist/cli/commands/bootstrap.js.map +1 -1
- package/dist/cli/commands/doctor.js +33 -3
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/fleet.js +10 -1
- package/dist/cli/commands/fleet.js.map +1 -1
- package/dist/cli/commands/history.js +25 -6
- package/dist/cli/commands/history.js.map +1 -1
- package/dist/cli/commands/logs.js +35 -11
- package/dist/cli/commands/logs.js.map +1 -1
- package/dist/cli/commands/quickstart.js +39 -1
- package/dist/cli/commands/quickstart.js.map +1 -1
- package/dist/cli/commands/run.js +38 -0
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/status.js +11 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/submit-intent.js +62 -99
- package/dist/cli/commands/submit-intent.js.map +1 -1
- package/dist/cli/intent-registry-access.d.ts +3 -5
- package/dist/cli/intent-registry-access.js +12 -34
- package/dist/cli/intent-registry-access.js.map +1 -1
- package/dist/cli/introspection-context.js +11 -8
- package/dist/cli/introspection-context.js.map +1 -1
- package/dist/config.d.ts +28 -1
- package/dist/config.js +29 -0
- package/dist/config.js.map +1 -1
- package/dist/daemon/balance-topup-loop.js +32 -4
- package/dist/daemon/balance-topup-loop.js.map +1 -1
- package/dist/daemon/creator.d.ts +6 -9
- package/dist/daemon/creator.js +45 -51
- package/dist/daemon/creator.js.map +1 -1
- package/dist/daemon/daemon.d.ts +9 -20
- package/dist/daemon/daemon.js +34 -27
- package/dist/daemon/daemon.js.map +1 -1
- package/dist/daemon/delivery-watcher.d.ts +3 -1
- package/dist/daemon/delivery-watcher.js +19 -1
- package/dist/daemon/delivery-watcher.js.map +1 -1
- package/dist/daemon/reward-claim-loop.js +38 -1
- package/dist/daemon/reward-claim-loop.js.map +1 -1
- package/dist/dashboard/index.html +71 -496
- package/dist/discovery/registry.d.ts +54 -0
- package/dist/discovery/registry.js +73 -0
- package/dist/discovery/registry.js.map +1 -1
- package/dist/earning/bootstrap.js +8 -38
- package/dist/earning/bootstrap.js.map +1 -1
- package/dist/earning/stolas-claim.d.ts +6 -0
- package/dist/earning/stolas-claim.js +7 -0
- package/dist/earning/stolas-claim.js.map +1 -1
- package/dist/intents/kinds/constants.d.ts +5 -0
- package/dist/intents/kinds/constants.js +6 -0
- package/dist/intents/kinds/constants.js.map +1 -0
- package/dist/intents/kinds/index.d.ts +28 -0
- package/dist/intents/kinds/index.js +50 -0
- package/dist/intents/kinds/index.js.map +1 -0
- package/dist/intents/kinds/portfolio-v0.d.ts +2 -0
- package/dist/intents/kinds/portfolio-v0.js +13 -0
- package/dist/intents/kinds/portfolio-v0.js.map +1 -0
- package/dist/intents/kinds/prediction-apy-v0.d.ts +3 -0
- package/dist/intents/kinds/prediction-apy-v0.js +21 -0
- package/dist/intents/kinds/prediction-apy-v0.js.map +1 -0
- package/dist/intents/kinds/prediction-v0.d.ts +3 -0
- package/dist/intents/kinds/prediction-v0.js +32 -0
- package/dist/intents/kinds/prediction-v0.js.map +1 -0
- package/dist/intents/kinds/spec-kind.d.ts +38 -0
- package/dist/intents/kinds/spec-kind.js +6 -0
- package/dist/intents/kinds/spec-kind.js.map +1 -0
- package/dist/intents/posting-service.d.ts +26 -0
- package/dist/intents/posting-service.js +218 -0
- package/dist/intents/posting-service.js.map +1 -0
- package/dist/intents/prediction-apy-v0-auto.js +1 -1
- package/dist/intents/prediction-apy-v0-auto.js.map +1 -1
- package/dist/intents/prediction-v0-template.d.ts +8 -3
- package/dist/intents/prediction-v0-template.js +21 -1
- package/dist/intents/prediction-v0-template.js.map +1 -1
- package/dist/intents/sources.d.ts +39 -0
- package/dist/intents/sources.js +42 -0
- package/dist/intents/sources.js.map +1 -0
- package/dist/main.js +89 -65
- package/dist/main.js.map +1 -1
- package/dist/mcp/server.js +8 -4
- package/dist/mcp/server.js.map +1 -1
- package/dist/observability/emit-event.d.ts +12 -0
- package/dist/observability/emit-event.js +27 -0
- package/dist/observability/emit-event.js.map +1 -0
- package/dist/preflight/api-port.d.ts +13 -0
- package/dist/preflight/api-port.js +32 -0
- package/dist/preflight/api-port.js.map +1 -0
- package/dist/preflight/rpc-network.d.ts +44 -0
- package/dist/preflight/rpc-network.js +121 -0
- package/dist/preflight/rpc-network.js.map +1 -0
- package/dist/restorer/engine/engine.d.ts +10 -0
- package/dist/restorer/engine/engine.js +60 -44
- package/dist/restorer/engine/engine.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.d.ts +7 -4
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.js +12 -1
- package/dist/restorer/impls/claude-mcp-hyperliquid/index.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-prediction/index.d.ts +2 -1
- package/dist/restorer/impls/claude-mcp-prediction/index.js +9 -0
- package/dist/restorer/impls/claude-mcp-prediction/index.js.map +1 -1
- package/dist/restorer/impls/claude-mcp-prediction/types.d.ts +2 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.d.ts +34 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.js +233 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/index.js.map +1 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.d.ts +18 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.js +136 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/mcp-tools.js.map +1 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.d.ts +7 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.js +46 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/prompt.js.map +1 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.d.ts +27 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js +128 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/session-orchestrator.js.map +1 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/types.d.ts +64 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/types.js +6 -0
- package/dist/restorer/impls/claude-mcp-prediction-apy/types.js.map +1 -0
- package/dist/restorer/impls/evaluation-context.d.ts +16 -0
- package/dist/restorer/impls/evaluation-context.js +18 -0
- package/dist/restorer/impls/evaluation-context.js.map +1 -0
- package/dist/restorer/impls/index.d.ts +46 -0
- package/dist/restorer/impls/index.js +88 -0
- package/dist/restorer/impls/index.js.map +1 -0
- package/dist/restorer/impls/legacy-claude/index.d.ts +8 -1
- package/dist/restorer/impls/legacy-claude/index.js +79 -10
- package/dist/restorer/impls/legacy-claude/index.js.map +1 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/index.d.ts +2 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/index.js +9 -0
- package/dist/restorer/impls/portfolio-v0-evaluator/index.js.map +1 -1
- package/dist/restorer/impls/portfolio-v0-evaluator/types.d.ts +2 -0
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.d.ts +1 -0
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.js +12 -3
- package/dist/restorer/impls/prediction-apy-v0-baseline/index.js.map +1 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.d.ts +4 -0
- package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js +4 -0
- package/dist/restorer/impls/prediction-apy-v0-evaluator/canonical-metrics.js.map +1 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.d.ts +6 -3
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js +55 -33
- package/dist/restorer/impls/prediction-apy-v0-evaluator/index.js.map +1 -1
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.d.ts +7 -0
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js +29 -0
- package/dist/restorer/impls/prediction-apy-v0-evaluator/parse-submission.js.map +1 -0
- package/dist/restorer/impls/prediction-apy-v0-evaluator/types.d.ts +1 -1
- package/dist/restorer/impls/prediction-v0-baseline/index.d.ts +2 -0
- package/dist/restorer/impls/prediction-v0-baseline/index.js +6 -0
- package/dist/restorer/impls/prediction-v0-baseline/index.js.map +1 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.d.ts +6 -0
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js +19 -1
- package/dist/restorer/impls/prediction-v0-evaluator/checks/integrity.js.map +1 -1
- package/dist/restorer/impls/prediction-v0-evaluator/index.d.ts +6 -3
- package/dist/restorer/impls/prediction-v0-evaluator/index.js +30 -4
- package/dist/restorer/impls/prediction-v0-evaluator/index.js.map +1 -1
- package/dist/restorer/impls/prediction-v0-evaluator/types.d.ts +1 -1
- package/dist/restorer/types.d.ts +17 -0
- package/dist/restorer/types.js +22 -1
- package/dist/restorer/types.js.map +1 -1
- package/dist/rpc-error-context.d.ts +10 -0
- package/dist/rpc-error-context.js +26 -0
- package/dist/rpc-error-context.js.map +1 -0
- package/dist/store/store.d.ts +98 -0
- package/dist/store/store.js +331 -4
- package/dist/store/store.js.map +1 -1
- package/dist/trajectory/schema.d.ts +510 -0
- package/dist/trajectory/schema.js +74 -0
- package/dist/trajectory/schema.js.map +1 -0
- package/dist/types/prediction-apy.d.ts +21 -10
- package/dist/types/prediction-apy.js +17 -5
- package/dist/types/prediction-apy.js.map +1 -1
- package/dist/types/prediction.d.ts +11 -10
- package/dist/types/prediction.js +3 -2
- package/dist/types/prediction.js.map +1 -1
- package/dist/venues/aave-v3/client.d.ts +6 -2
- package/dist/venues/aave-v3/client.js +14 -5
- package/dist/venues/aave-v3/client.js.map +1 -1
- package/package.json +4 -3
- package/dist/daemon/restorer.d.ts +0 -19
- package/dist/daemon/restorer.js +0 -82
- package/dist/daemon/restorer.js.map +0 -1
package/dist/daemon/daemon.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import type { ExecutionAdapter } from '../adapters/adapter.js';
|
|
2
2
|
import type { Runner } from '../runner/runner.js';
|
|
3
|
-
import type { DesiredState } from '../types/index.js';
|
|
4
|
-
import { type IntentGenerator } from './creator.js';
|
|
5
3
|
import type { StatusGatherConfig } from '../api/gather-status.js';
|
|
6
4
|
import type { EthHttpSigner } from '../auth/erc8128.js';
|
|
7
5
|
import { type RegistryConfig } from '../discovery/registry.js';
|
|
@@ -9,10 +7,10 @@ import type { X402Config } from '../x402/handler.js';
|
|
|
9
7
|
import { type RewardClaimLoopConfig } from './reward-claim-loop.js';
|
|
10
8
|
import { type RestorationEngineOptions } from '../restorer/engine/engine.js';
|
|
11
9
|
import { type BalanceTopupLoopConfig } from './balance-topup-loop.js';
|
|
10
|
+
import type { IntentSource } from '../intents/sources.js';
|
|
12
11
|
export interface DaemonConfig {
|
|
13
12
|
adapter: ExecutionAdapter;
|
|
14
13
|
runner: Runner;
|
|
15
|
-
desiredStates: DesiredState[];
|
|
16
14
|
dbPath: string;
|
|
17
15
|
shutdownTimeoutMs?: number;
|
|
18
16
|
/** Engine tick interval (ms) for re-driving in-flight intents. Defaults to 5000. */
|
|
@@ -37,12 +35,8 @@ export interface DaemonConfig {
|
|
|
37
35
|
balanceTopup?: BalanceTopupLoopConfig;
|
|
38
36
|
/** Passed to HTTP API for GET /v1/status (fleet + RPC hints). */
|
|
39
37
|
status?: StatusGatherConfig;
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
* freshly-built DesiredState (or null to skip this tick). Used e.g. for
|
|
43
|
-
* auto-posting price-aware prediction.v0 intents on testnet.
|
|
44
|
-
*/
|
|
45
|
-
intentGenerators?: IntentGenerator[];
|
|
38
|
+
/** Restoration intent sources polled by CreatorLoop. */
|
|
39
|
+
intentSources?: IntentSource[];
|
|
46
40
|
/**
|
|
47
41
|
* Creator Safe address — used to scope CreatorLoop's SQLite idempotency
|
|
48
42
|
* cache keys per-Safe. Without this, two co-located daemons on the same
|
|
@@ -50,23 +44,18 @@ export interface DaemonConfig {
|
|
|
50
44
|
*/
|
|
51
45
|
creatorSafeAddress?: string;
|
|
52
46
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
* Evaluation intents (type === 'evaluation') are dispatched via supports() to
|
|
58
|
-
* portfolio-v0-evaluator; legacy health-check intents (no spec) fall back to
|
|
59
|
-
* legacy-claude via the default impl in the registry.
|
|
47
|
+
* RestorationEngine — sole path for marketplace request → claim → run → deliver.
|
|
48
|
+
* Evaluation intents (`type === 'evaluation'`) dispatch via `supports()` to
|
|
49
|
+
* evaluator impls; health-check intents with no spec use `legacy-claude` via
|
|
50
|
+
* the registry default.
|
|
60
51
|
*/
|
|
61
|
-
restorationEngine
|
|
52
|
+
restorationEngine: Omit<RestorationEngineOptions, 'store'>;
|
|
62
53
|
}
|
|
63
54
|
export declare class Daemon {
|
|
64
55
|
private readonly config;
|
|
65
56
|
private store;
|
|
66
57
|
private creatorLoop;
|
|
67
|
-
|
|
68
|
-
private restorerLoop;
|
|
69
|
-
private restorationEngine?;
|
|
58
|
+
private restorationEngine;
|
|
70
59
|
private engineStopped;
|
|
71
60
|
private deliveryWatcherLoop;
|
|
72
61
|
private adapter;
|
package/dist/daemon/daemon.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Store } from '../store/store.js';
|
|
2
2
|
import { CreatorLoop } from './creator.js';
|
|
3
|
-
import { RestorerLoop } from './restorer.js';
|
|
4
3
|
import { DeliveryWatcherLoop } from './delivery-watcher.js';
|
|
5
4
|
import { startApiServer } from '../api/server.js';
|
|
6
5
|
import { PeerSync } from '../api/peers.js';
|
|
@@ -9,13 +8,12 @@ import { queryArtifacts, queryNodes, getMetadataValue } from '../discovery/subgr
|
|
|
9
8
|
import { RewardClaimLoop } from './reward-claim-loop.js';
|
|
10
9
|
import { RestorationEngine } from '../restorer/engine/engine.js';
|
|
11
10
|
import { BalanceTopupLoop } from './balance-topup-loop.js';
|
|
11
|
+
import { emitEvent } from '../observability/emit-event.js';
|
|
12
12
|
const DEFAULT_API_PORT = 7331;
|
|
13
13
|
export class Daemon {
|
|
14
14
|
config;
|
|
15
15
|
store;
|
|
16
16
|
creatorLoop;
|
|
17
|
-
/** @deprecated Kept for backwards compatibility (test suite). Not started when restorationEngine is configured. */
|
|
18
|
-
restorerLoop;
|
|
19
17
|
restorationEngine;
|
|
20
18
|
engineStopped = false;
|
|
21
19
|
deliveryWatcherLoop;
|
|
@@ -33,15 +31,12 @@ export class Daemon {
|
|
|
33
31
|
this.store = new Store(config.dbPath);
|
|
34
32
|
this.adapter = config.adapter;
|
|
35
33
|
this.apiPort = config.apiPort ?? parseInt(process.env['JINN_API_PORT'] ?? String(DEFAULT_API_PORT));
|
|
36
|
-
this.creatorLoop = new CreatorLoop(this.adapter, config.
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
store: this.store,
|
|
43
|
-
});
|
|
44
|
-
}
|
|
34
|
+
this.creatorLoop = new CreatorLoop(this.adapter, config.intentSources ?? [], this.store, config.creatorSafeAddress);
|
|
35
|
+
this.deliveryWatcherLoop = new DeliveryWatcherLoop(this.adapter, this.store);
|
|
36
|
+
this.restorationEngine = new RestorationEngine({
|
|
37
|
+
...config.restorationEngine,
|
|
38
|
+
store: this.store,
|
|
39
|
+
});
|
|
45
40
|
if (config.rewardClaim && config.rewardClaim.intervalMs > 0) {
|
|
46
41
|
this.rewardClaimLoop = new RewardClaimLoop({
|
|
47
42
|
...config.rewardClaim,
|
|
@@ -58,7 +53,9 @@ export class Daemon {
|
|
|
58
53
|
async start() {
|
|
59
54
|
await this.adapter.initialize();
|
|
60
55
|
this.store.setShutdownState('running');
|
|
56
|
+
this.store.setDaemonStartedAt(new Date().toISOString());
|
|
61
57
|
this.cachedShutdownState = 'running';
|
|
58
|
+
emitEvent(this.store, { kind: 'startup', outcome: 'ok', detail: 'Daemon started' }, 'daemon');
|
|
62
59
|
// Start HTTP API server
|
|
63
60
|
this.apiServer = await startApiServer({
|
|
64
61
|
port: this.apiPort,
|
|
@@ -80,6 +77,11 @@ export class Daemon {
|
|
|
80
77
|
}
|
|
81
78
|
catch (err) {
|
|
82
79
|
console.error('[daemon] Subgraph backfill failed (non-fatal):', err instanceof Error ? err.message : err);
|
|
80
|
+
emitEvent(this.store, {
|
|
81
|
+
kind: 'tick_error',
|
|
82
|
+
outcome: 'failed',
|
|
83
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
84
|
+
}, 'daemon');
|
|
83
85
|
}
|
|
84
86
|
}
|
|
85
87
|
// Start peer sync if peers configured
|
|
@@ -92,16 +94,9 @@ export class Daemon {
|
|
|
92
94
|
});
|
|
93
95
|
this.loopPromises.push(this.peerSync.run().catch(err => console.error('[daemon] peer-sync crashed:', err)));
|
|
94
96
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
await engine.recoverInFlight();
|
|
99
|
-
this.loopPromises.push(this.creatorLoop.run().catch(err => console.error('[daemon] creator crashed:', err)), this._runEngineWatcherLoop(engine).catch(err => console.error('[daemon] engine-watcher crashed:', err)), engine.runTickLoop(this.config.pollIntervalMs ?? 5000).catch(err => console.error('[daemon] engine-tick crashed:', err)), this.deliveryWatcherLoop.run().catch(err => console.error('[daemon] delivery-watcher crashed:', err)));
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
// Legacy path: RestorerLoop handles claim + run + submitResult.
|
|
103
|
-
this.loopPromises.push(this.creatorLoop.run().catch(err => console.error('[daemon] creator crashed:', err)), this.restorerLoop.run().catch(err => console.error('[daemon] restorer crashed:', err)), this.deliveryWatcherLoop.run().catch(err => console.error('[daemon] delivery-watcher crashed:', err)));
|
|
104
|
-
}
|
|
97
|
+
const engine = this.restorationEngine;
|
|
98
|
+
await engine.recoverInFlight();
|
|
99
|
+
this.loopPromises.push(this.creatorLoop.run().catch(err => console.error('[daemon] creator crashed:', err)), this._runEngineWatcherLoop(engine).catch(err => console.error('[daemon] engine-watcher crashed:', err)), engine.runTickLoop(this.config.pollIntervalMs ?? 5000).catch(err => console.error('[daemon] engine-tick crashed:', err)), this.deliveryWatcherLoop.run().catch(err => console.error('[daemon] delivery-watcher crashed:', err)));
|
|
105
100
|
if (this.rewardClaimLoop) {
|
|
106
101
|
this.loopPromises.push(this.rewardClaimLoop.run().catch(err => console.error('[daemon] reward-claim crashed:', err)));
|
|
107
102
|
}
|
|
@@ -111,12 +106,9 @@ export class Daemon {
|
|
|
111
106
|
}
|
|
112
107
|
async stop() {
|
|
113
108
|
this.creatorLoop.stop();
|
|
114
|
-
this.restorerLoop.stop();
|
|
115
109
|
this.engineStopped = true;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
await this.restorationEngine.releaseClaimedNotStarted().catch(err => console.error('[daemon] engine releaseClaimedNotStarted failed (non-fatal):', err));
|
|
119
|
-
}
|
|
110
|
+
this.restorationEngine.stop();
|
|
111
|
+
await this.restorationEngine.releaseClaimedNotStarted().catch(err => console.error('[daemon] engine releaseClaimedNotStarted failed (non-fatal):', err));
|
|
120
112
|
this.deliveryWatcherLoop.stop();
|
|
121
113
|
this.rewardClaimLoop?.stop();
|
|
122
114
|
this.balanceTopupLoop?.stop();
|
|
@@ -131,6 +123,7 @@ export class Daemon {
|
|
|
131
123
|
]);
|
|
132
124
|
this.store.setShutdownState('clean');
|
|
133
125
|
this.cachedShutdownState = 'clean';
|
|
126
|
+
emitEvent(this.store, { kind: 'shutdown', outcome: 'ok', detail: 'Daemon stopped cleanly' }, 'daemon');
|
|
134
127
|
this.store.close();
|
|
135
128
|
}
|
|
136
129
|
getShutdownState() {
|
|
@@ -190,10 +183,24 @@ export class Daemon {
|
|
|
190
183
|
// would serialise all intent processing into a single queue.
|
|
191
184
|
engine.process(request.requestId).catch(err => {
|
|
192
185
|
console.error(`[daemon] engine.process failed for ${request.requestId}:`, err instanceof Error ? err.message : err);
|
|
186
|
+
emitEvent(this.store, {
|
|
187
|
+
kind: 'tick_error',
|
|
188
|
+
requestId: request.requestId,
|
|
189
|
+
specKind,
|
|
190
|
+
outcome: 'failed',
|
|
191
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
192
|
+
}, 'daemon');
|
|
193
193
|
});
|
|
194
194
|
}
|
|
195
195
|
catch (err) {
|
|
196
196
|
console.error(`[daemon] engine.observe failed for ${request.requestId}:`, err instanceof Error ? err.message : err);
|
|
197
|
+
emitEvent(this.store, {
|
|
198
|
+
kind: 'tick_error',
|
|
199
|
+
requestId: request.requestId,
|
|
200
|
+
specKind,
|
|
201
|
+
outcome: 'failed',
|
|
202
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
203
|
+
}, 'daemon');
|
|
197
204
|
}
|
|
198
205
|
}
|
|
199
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/daemon/daemon.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAkB,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAuB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAuB,MAAM,0BAA0B,CAAC;AAE7G,OAAO,EAAE,eAAe,EAA8B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAiC,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAA+B,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG3D,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAoD9B,MAAM,OAAO,MAAM;IAgBY;IAfrB,KAAK,CAAQ;IACb,WAAW,CAAc;IACzB,iBAAiB,CAAoB;IACrC,aAAa,GAAG,KAAK,CAAC;IACtB,mBAAmB,CAAsB;IACzC,OAAO,CAAmB;IAC1B,YAAY,GAAoB,EAAE,CAAC;IACnC,mBAAmB,GAAkB,IAAI,CAAC;IAC1C,SAAS,CAAa;IACtB,QAAQ,CAAY;IACpB,QAAQ,CAAgB;IACf,OAAO,CAAS;IACzB,eAAe,CAAmB;IAClC,gBAAgB,CAAoB;IAE5C,YAA6B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;QAC/C,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAChC,IAAI,CAAC,OAAO,EACZ,MAAM,CAAC,aAAa,IAAI,EAAE,EAC1B,IAAI,CAAC,KAAK,EACV,MAAM,CAAC,kBAAkB,CAC1B,CAAC;QACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7E,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,GAAG,MAAM,CAAC,iBAAiB;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC;gBACzC,GAAG,MAAM,CAAC,WAAW;gBACrB,SAAS,EAAE,IAAI,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;gBAC3C,GAAG,MAAM,CAAC,YAAY;gBACtB,SAAS,EAAE,IAAI,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE9F,wBAAwB;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,cAAc,CAAC;YACpC,IAAI,EAAE,IAAI,CAAC,OAAO;YAClB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;YAClE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAChF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC1G,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;oBACpB,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,EAAE,QAAQ,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC;gBAC3B,KAAK;gBACL,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;aAC3B,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC,CACpF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,EACpF,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC,EACvG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC,EACxH,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC,CACtG,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC,CAC9F,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CACpB,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC,CAChG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAClE,OAAO,CAAC,KAAK,CAAC,8DAA8D,EAAE,GAAG,CAAC,CACnF,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAEtB,0DAA0D;QAC1D,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC;QACvD,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YACrC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,QAAQ,CAAC,CAAC;QACvG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,qBAAqB,CAAC,MAAyB;QAC3D,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO;QAEvD,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC5D,IAAI,IAAI,CAAC,aAAa;gBAAE,MAAM;YAC9B,IAAI,CAAC,OAAO,CAAC,SAAS;gBAAE,SAAS;YAEjC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,IAAI,SAAS,CAAC;YAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,CAAC;YAE9F,wEAAwE;YACxE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,SAAS,0EAA0E,CAAC,CAAC;YAC/H,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,SAAS,kFAAkF,CAAC,CAAC;YACvI,CAAC;YACD,IAAI,OAAO,CAAC,oBAAoB,IAAI,IAAI,EAAE,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,SAAS,qFAAqF,CAAC,CAAC;YAC1I,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC;oBACnB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;oBAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAK,OAAO,CAAC,SAA2B;oBACpF,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC;oBACvD,QAAQ;oBACR,UAAU,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,aAAa,CAAiC;oBACxF,aAAa;oBACb,WAAW;oBACX,YAAY,EAAE,OAAO,CAAC,YAAY;iBACnC,CAAC,CAAC;gBAEH,mDAAmD;gBACnD,yEAAyE;gBACzE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,uEAAuE;gBACvE,2EAA2E;gBAC3E,6DAA6D;gBAC7D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBAC5C,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,SAAS,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACpH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;wBACpB,IAAI,EAAE,YAAY;wBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,QAAQ;wBACR,OAAO,EAAE,QAAQ;wBACjB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACzD,EAAE,QAAQ,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,SAAS,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpH,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;oBACpB,IAAI,EAAE,YAAY;oBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,QAAQ;oBACR,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,EAAE,QAAQ,CAAC,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAwE;QACvF,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,oBAAoB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAC3G,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACpE,OAAO,CAAC,KAAK,CAAC,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACvH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,MAAsB;QACvD,OAAO,CAAC,GAAG,CAAC,uCAAuC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAEjE,qBAAqB;QACrB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,MAAM,MAAM,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,SAAS,CAAC;YACjE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAE5D,IAAI,CAAC,UAAU,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAEvC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;gBAC9B,EAAE,EAAE,UAAU;gBACd,cAAc,EAAE,EAAE;gBAClB,SAAS,EAAE,EAAE;gBACb,KAAK;gBACL,IAAI;gBACJ,OAAO,EAAE,OAA4C;gBACrD,YAAY,EAAE,MAAM,CAAC,KAAK;gBAC1B,QAAQ;aACT,CAAC,CAAC;YACH,aAAa,EAAE,CAAC;QAClB,CAAC;QAED,sBAAsB;QACtB,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,QAAQ;gBAAE,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,aAAa,eAAe,eAAe,CAAC,MAAM,QAAQ,CAAC,CAAC;QAEvG,yCAAyC;QACzC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChD,uEAAuE;YACvE,mDAAmD;YACnD,OAAO,CAAC,GAAG,CAAC,8BAA8B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { ExecutionAdapter } from '../adapters/adapter.js';
|
|
2
|
+
import type { Store } from '../store/store.js';
|
|
2
3
|
export declare class DeliveryWatcherLoop {
|
|
3
4
|
private readonly adapter;
|
|
5
|
+
private readonly store?;
|
|
4
6
|
private stopped;
|
|
5
7
|
private stopResolve;
|
|
6
8
|
private stopPromise;
|
|
7
|
-
constructor(adapter: ExecutionAdapter);
|
|
9
|
+
constructor(adapter: ExecutionAdapter, store?: Store | undefined);
|
|
8
10
|
run(): Promise<void>;
|
|
9
11
|
stop(): void;
|
|
10
12
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { emitEvent } from '../observability/emit-event.js';
|
|
1
2
|
import { isRecoverableTransactionError } from '../tx-retry.js';
|
|
2
3
|
export class DeliveryWatcherLoop {
|
|
3
4
|
adapter;
|
|
5
|
+
store;
|
|
4
6
|
stopped = false;
|
|
5
7
|
stopResolve = null;
|
|
6
8
|
stopPromise;
|
|
7
|
-
constructor(adapter) {
|
|
9
|
+
constructor(adapter, store) {
|
|
8
10
|
this.adapter = adapter;
|
|
11
|
+
this.store = store;
|
|
9
12
|
this.stopPromise = new Promise(resolve => {
|
|
10
13
|
this.stopResolve = resolve;
|
|
11
14
|
});
|
|
@@ -20,10 +23,25 @@ export class DeliveryWatcherLoop {
|
|
|
20
23
|
// We just drive the iteration and log for observability.
|
|
21
24
|
const type = delivery.desiredState.type ?? 'unknown';
|
|
22
25
|
console.error(`[delivery-watcher] Processed ${type} delivery: ${delivery.requestId.slice(0, 10)}...`);
|
|
26
|
+
if (this.store) {
|
|
27
|
+
emitEvent(this.store, {
|
|
28
|
+
kind: type === 'evaluation' ? 'evaluation_submitted' : 'delivery_submitted',
|
|
29
|
+
requestId: delivery.requestId,
|
|
30
|
+
outcome: 'ok',
|
|
31
|
+
detail: `Processed ${type} delivery`,
|
|
32
|
+
}, 'delivery-watcher');
|
|
33
|
+
}
|
|
23
34
|
}
|
|
24
35
|
}
|
|
25
36
|
catch (err) {
|
|
26
37
|
console.error('[delivery-watcher] Error:', err);
|
|
38
|
+
if (this.store) {
|
|
39
|
+
emitEvent(this.store, {
|
|
40
|
+
kind: 'tick_error',
|
|
41
|
+
outcome: 'failed',
|
|
42
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
43
|
+
}, 'delivery-watcher');
|
|
44
|
+
}
|
|
27
45
|
const delayMs = isRecoverableTransactionError(err) ? 12_000 : 5000;
|
|
28
46
|
await Promise.race([new Promise(r => setTimeout(r, delayMs)), this.stopPromise]);
|
|
29
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-watcher.js","sourceRoot":"","sources":["../../src/daemon/delivery-watcher.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"delivery-watcher.js","sourceRoot":"","sources":["../../src/daemon/delivery-watcher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,OAAO,mBAAmB;IAMX;IACA;IANX,OAAO,GAAG,KAAK,CAAC;IAChB,WAAW,GAAwB,IAAI,CAAC;IACxC,WAAW,CAAgB;IAEnC,YACmB,OAAyB,EACzB,KAAa;QADb,YAAO,GAAP,OAAO,CAAkB;QACzB,UAAK,GAAL,KAAK,CAAQ;QAE9B,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;oBAC/D,IAAI,IAAI,CAAC,OAAO;wBAAE,MAAM;oBACxB,8DAA8D;oBAC9D,yDAAyD;oBACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,SAAS,CAAC;oBACrD,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,cAAc,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBACtG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACf,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;4BACpB,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,oBAAoB;4BAC3E,SAAS,EAAE,QAAQ,CAAC,SAAS;4BAC7B,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,aAAa,IAAI,WAAW;yBACrC,EAAE,kBAAkB,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;gBAChD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;wBACpB,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE,QAAQ;wBACjB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACzD,EAAE,kBAAkB,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM,OAAO,GAAG,6BAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;gBACnE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
* rewardClaimIntervalMs / JINN_REWARD_CLAIM_INTERVAL_MS. Set interval to 0 to disable.
|
|
8
8
|
*/
|
|
9
9
|
import { listStolasClaimTargets, tickStolasDistributorClaims, } from '../earning/stolas-claim.js';
|
|
10
|
+
import { emitEvent } from '../observability/emit-event.js';
|
|
11
|
+
import { displayFleetServiceIndex } from '../earning/fleet-display-index.js';
|
|
10
12
|
export async function runRewardClaimOnce(cfg) {
|
|
11
13
|
const state = await cfg.store.load(cfg.chain);
|
|
12
14
|
const targets = listStolasClaimTargets(state.services);
|
|
@@ -27,7 +29,37 @@ export class RewardClaimLoop {
|
|
|
27
29
|
this.stopped = true;
|
|
28
30
|
}
|
|
29
31
|
async runOnce() {
|
|
30
|
-
await runRewardClaimOnce(this.config);
|
|
32
|
+
const result = await runRewardClaimOnce(this.config);
|
|
33
|
+
if (!this.config.jinnStore || result.claims.length === 0)
|
|
34
|
+
return;
|
|
35
|
+
const state = await this.config.store.load(this.config.chain);
|
|
36
|
+
const serviceByStakingId = new Map();
|
|
37
|
+
for (const svc of state.services) {
|
|
38
|
+
if (svc.service_id != null)
|
|
39
|
+
serviceByStakingId.set(svc.service_id, svc);
|
|
40
|
+
}
|
|
41
|
+
for (const claim of result.claims) {
|
|
42
|
+
const svc = serviceByStakingId.get(claim.serviceId);
|
|
43
|
+
if (!svc)
|
|
44
|
+
continue;
|
|
45
|
+
const serviceIndex = displayFleetServiceIndex(svc);
|
|
46
|
+
this.config.jinnStore.recordRewardClaim({
|
|
47
|
+
ts: new Date().toISOString(),
|
|
48
|
+
serviceIndex,
|
|
49
|
+
serviceId: claim.serviceId,
|
|
50
|
+
stakingProxy: claim.stakingProxy,
|
|
51
|
+
distributor: this.config.distributorAddress ?? '0x',
|
|
52
|
+
txHash: claim.txHash,
|
|
53
|
+
amountWei: claim.amountWei,
|
|
54
|
+
});
|
|
55
|
+
emitEvent(this.config.jinnStore, {
|
|
56
|
+
kind: 'reward_claimed',
|
|
57
|
+
serviceIndex,
|
|
58
|
+
txHash: claim.txHash,
|
|
59
|
+
outcome: 'ok',
|
|
60
|
+
detail: `Claimed ${claim.amountWei} reward wei for service ${claim.serviceId}`,
|
|
61
|
+
}, 'reward-claim');
|
|
62
|
+
}
|
|
31
63
|
}
|
|
32
64
|
async run() {
|
|
33
65
|
if (this.config.intervalMs <= 0) {
|
|
@@ -39,6 +71,11 @@ export class RewardClaimLoop {
|
|
|
39
71
|
}
|
|
40
72
|
catch (err) {
|
|
41
73
|
console.error('[reward-claim] Tick failed (non-fatal):', err instanceof Error ? err.message : err);
|
|
74
|
+
this.config.jinnStore && emitEvent(this.config.jinnStore, {
|
|
75
|
+
kind: 'tick_error',
|
|
76
|
+
outcome: 'failed',
|
|
77
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
78
|
+
}, 'reward-claim');
|
|
42
79
|
}
|
|
43
80
|
this.config.jinnStore?.setConfigValue('last_reward_claim_tick_at', new Date().toISOString());
|
|
44
81
|
await new Promise(r => setTimeout(r, this.config.intervalMs));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reward-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/reward-claim-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"reward-claim-loop.js","sourceRoot":"","sources":["../../src/daemon/reward-claim-loop.ts"],"names":[],"mappings":"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"}
|