@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
|
@@ -14,13 +14,7 @@ import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
|
14
14
|
import { dirname, join } from 'node:path';
|
|
15
15
|
import { homedir } from 'node:os';
|
|
16
16
|
import { RestorerImplRegistry } from '../restorer/engine/registry.js';
|
|
17
|
-
import {
|
|
18
|
-
import { PredictionV0Evaluator } from '../restorer/impls/prediction-v0-evaluator/index.js';
|
|
19
|
-
import { PredictionApyV0BaselineImpl } from '../restorer/impls/prediction-apy-v0-baseline/index.js';
|
|
20
|
-
import { PredictionApyV0Evaluator } from '../restorer/impls/prediction-apy-v0-evaluator/index.js';
|
|
21
|
-
import { ClaudeMcpHyperliquidImpl } from '../restorer/impls/claude-mcp-hyperliquid/index.js';
|
|
22
|
-
import { ClaudeMcpPredictionImpl } from '../restorer/impls/claude-mcp-prediction/index.js';
|
|
23
|
-
import { PortfolioV0Evaluator } from '../restorer/impls/portfolio-v0-evaluator/index.js';
|
|
17
|
+
import { buildRestorerImpls } from '../restorer/impls/index.js';
|
|
24
18
|
/**
|
|
25
19
|
* Impls that ship default-disabled because they require external dependencies
|
|
26
20
|
* (credentials, exchange approvals, etc.) the operator must opt into. Kept in
|
|
@@ -37,11 +31,9 @@ export function resolveConfigPath(explicit) {
|
|
|
37
31
|
return explicit ?? DEFAULT_CONFIG_PATH;
|
|
38
32
|
}
|
|
39
33
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* they don't expose enable-level UX (legacy-claude is always-on; evaluators
|
|
44
|
-
* dispatch by type='evaluation' rather than by kind).
|
|
34
|
+
* Uses {@link buildRestorerImpls} with `stub: true` and no runner (no
|
|
35
|
+
* `legacy-claude` — requires the daemon process + Claude runner).
|
|
36
|
+
* Honest readiness for stub is refined in 7ee.2.
|
|
45
37
|
*/
|
|
46
38
|
export function buildIntentsCliRegistry(config) {
|
|
47
39
|
const registry = new RestorerImplRegistry({
|
|
@@ -49,32 +41,18 @@ export function buildIntentsCliRegistry(config) {
|
|
|
49
41
|
default: 'legacy-claude',
|
|
50
42
|
disabled: resolveEffectiveDisabled(config),
|
|
51
43
|
});
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
rpcUrl: config.rpcUrl,
|
|
57
|
-
}));
|
|
58
|
-
registry.register(new PredictionApyV0BaselineImpl({
|
|
59
|
-
rpcUrl: config.rpcUrl,
|
|
60
|
-
archiveRpcUrl: config.archiveRpcUrl,
|
|
61
|
-
}));
|
|
62
|
-
registry.register(new PredictionApyV0Evaluator({
|
|
63
|
-
evaluatorPk: '0x' + '00'.repeat(32),
|
|
64
|
-
evaluatorSafeAddress: '0x0000000000000000000000000000000000000000',
|
|
44
|
+
// `implStateDirRoot` matches daemon/doctor construction; stub `isReady()` is
|
|
45
|
+
// not HL disk-sensitive today, but the path is consistent if that changes.
|
|
46
|
+
for (const impl of buildRestorerImpls({
|
|
47
|
+
stub: true,
|
|
65
48
|
rpcUrl: config.rpcUrl,
|
|
66
49
|
archiveRpcUrl: config.archiveRpcUrl,
|
|
67
|
-
}));
|
|
68
|
-
registry.register(new ClaudeMcpHyperliquidImpl({
|
|
69
50
|
claudePath: config.claudePath,
|
|
70
51
|
claudeModel: config.claudeModel,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
rpcUrl: config.rpcUrl,
|
|
76
|
-
}));
|
|
77
|
-
registry.register(new PortfolioV0Evaluator());
|
|
52
|
+
implStateDirRoot: config.engine.implStateDirRoot,
|
|
53
|
+
})) {
|
|
54
|
+
registry.register(impl);
|
|
55
|
+
}
|
|
78
56
|
return registry;
|
|
79
57
|
}
|
|
80
58
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-registry-access.js","sourceRoot":"","sources":["../../src/cli/intent-registry-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"intent-registry-access.js","sourceRoot":"","sources":["../../src/cli/intent-registry-access.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,17 +16,20 @@ async function tryMergeStatusFromHttp(config, local) {
|
|
|
16
16
|
if (!res.ok)
|
|
17
17
|
return local;
|
|
18
18
|
const remote = (await res.json());
|
|
19
|
+
const next = {
|
|
20
|
+
...local,
|
|
21
|
+
shutdownState: remote.daemon?.shutdownState ?? local.shutdownState,
|
|
22
|
+
daemonStartedAt: remote.daemon?.startedAt ?? local.daemonStartedAt,
|
|
23
|
+
};
|
|
19
24
|
if (remote.rpc?.ok && !local.rpc.ok) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
blockNumber: remote.rpc.blockNumber,
|
|
26
|
-
...(remote.rpc.error ? { error: remote.rpc.error } : {}),
|
|
27
|
-
},
|
|
25
|
+
next.rpc = {
|
|
26
|
+
ok: remote.rpc.ok,
|
|
27
|
+
chainId: remote.rpc.chainId,
|
|
28
|
+
blockNumber: remote.rpc.blockNumber,
|
|
29
|
+
...(remote.rpc.error ? { error: remote.rpc.error } : {}),
|
|
28
30
|
};
|
|
29
31
|
}
|
|
32
|
+
return next;
|
|
30
33
|
}
|
|
31
34
|
catch {
|
|
32
35
|
/* ignore — local gather is authoritative */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"introspection-context.js","sourceRoot":"","sources":["../../src/cli/introspection-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,uBAAuB,EAA2B,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,KAAK,UAAU,sBAAsB,CACnC,MAAqC,EACrC,KAAwB;IAExB,MAAM,GAAG,GAAG,oBAAoB,MAAM,CAAC,OAAO,YAAY,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC1B,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAqB,CAAC;QACtD,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACpC,
|
|
1
|
+
{"version":3,"file":"introspection-context.js","sourceRoot":"","sources":["../../src/cli/introspection-context.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -169,6 +169,21 @@ export declare const JinnConfigSchema: z.ZodObject<{
|
|
|
169
169
|
default?: string | undefined;
|
|
170
170
|
disabled?: string[] | undefined;
|
|
171
171
|
}>>;
|
|
172
|
+
/**
|
|
173
|
+
* Restoration engine durable directories (per-intent work + impl state).
|
|
174
|
+
* Defaults under ~/.jinn-client/engine/. Env: JINN_ENGINE_WORKING_DIR_ROOT,
|
|
175
|
+
* JINN_ENGINE_IMPL_STATE_DIR_ROOT.
|
|
176
|
+
*/
|
|
177
|
+
engine: z.ZodOptional<z.ZodObject<{
|
|
178
|
+
workingDirRoot: z.ZodOptional<z.ZodString>;
|
|
179
|
+
implStateDirRoot: z.ZodOptional<z.ZodString>;
|
|
180
|
+
}, "strip", z.ZodTypeAny, {
|
|
181
|
+
workingDirRoot?: string | undefined;
|
|
182
|
+
implStateDirRoot?: string | undefined;
|
|
183
|
+
}, {
|
|
184
|
+
workingDirRoot?: string | undefined;
|
|
185
|
+
implStateDirRoot?: string | undefined;
|
|
186
|
+
}>>;
|
|
172
187
|
}, "strip", z.ZodTypeAny, {
|
|
173
188
|
network: "testnet" | "mainnet";
|
|
174
189
|
earningDir: string;
|
|
@@ -214,6 +229,10 @@ export declare const JinnConfigSchema: z.ZodObject<{
|
|
|
214
229
|
default?: string | undefined;
|
|
215
230
|
disabled?: string[] | undefined;
|
|
216
231
|
} | undefined;
|
|
232
|
+
engine?: {
|
|
233
|
+
workingDirRoot?: string | undefined;
|
|
234
|
+
implStateDirRoot?: string | undefined;
|
|
235
|
+
} | undefined;
|
|
217
236
|
}, {
|
|
218
237
|
network?: "testnet" | "mainnet" | undefined;
|
|
219
238
|
rpcUrl?: string | undefined;
|
|
@@ -259,11 +278,19 @@ export declare const JinnConfigSchema: z.ZodObject<{
|
|
|
259
278
|
default?: string | undefined;
|
|
260
279
|
disabled?: string[] | undefined;
|
|
261
280
|
} | undefined;
|
|
281
|
+
engine?: {
|
|
282
|
+
workingDirRoot?: string | undefined;
|
|
283
|
+
implStateDirRoot?: string | undefined;
|
|
284
|
+
} | undefined;
|
|
262
285
|
}>;
|
|
263
286
|
/** JinnConfig with rpcUrl guaranteed to be resolved (never undefined) and desiredStates with id always assigned. */
|
|
264
|
-
export type JinnConfig = Omit<z.infer<typeof JinnConfigSchema>, 'rpcUrl' | 'desiredStates'> & {
|
|
287
|
+
export type JinnConfig = Omit<z.infer<typeof JinnConfigSchema>, 'rpcUrl' | 'desiredStates' | 'engine'> & {
|
|
265
288
|
rpcUrl: string;
|
|
266
289
|
desiredStates: DesiredState[];
|
|
290
|
+
engine: {
|
|
291
|
+
workingDirRoot: string;
|
|
292
|
+
implStateDirRoot: string;
|
|
293
|
+
};
|
|
267
294
|
};
|
|
268
295
|
export type ConfigLoadErrorCode = 'config_file_not_found' | 'config_json_invalid' | 'desired_states_file_not_found' | 'desired_states_json_invalid' | 'config_invalid';
|
|
269
296
|
export declare class ConfigLoadError extends Error {
|
package/dist/config.js
CHANGED
|
@@ -127,7 +127,22 @@ export const JinnConfigSchema = z.object({
|
|
|
127
127
|
disabled: z.array(z.string()).optional(),
|
|
128
128
|
})
|
|
129
129
|
.optional(),
|
|
130
|
+
/**
|
|
131
|
+
* Restoration engine durable directories (per-intent work + impl state).
|
|
132
|
+
* Defaults under ~/.jinn-client/engine/. Env: JINN_ENGINE_WORKING_DIR_ROOT,
|
|
133
|
+
* JINN_ENGINE_IMPL_STATE_DIR_ROOT.
|
|
134
|
+
*/
|
|
135
|
+
engine: z
|
|
136
|
+
.object({
|
|
137
|
+
workingDirRoot: z.string().optional(),
|
|
138
|
+
implStateDirRoot: z.string().optional(),
|
|
139
|
+
})
|
|
140
|
+
.optional(),
|
|
130
141
|
});
|
|
142
|
+
const DEFAULT_ENGINE = {
|
|
143
|
+
workingDirRoot: join(homedir(), '.jinn-client', 'engine', 'work'),
|
|
144
|
+
implStateDirRoot: join(homedir(), '.jinn-client', 'engine', 'impl-state'),
|
|
145
|
+
};
|
|
131
146
|
// ── Defaults ────────────────────────────────────────────────────────────────
|
|
132
147
|
const DEFAULT_DIR = join(homedir(), '.jinn-client');
|
|
133
148
|
const DEFAULT_CONFIG_PATH = join(DEFAULT_DIR, 'config.json');
|
|
@@ -224,6 +239,16 @@ export function loadConfig(configPath) {
|
|
|
224
239
|
if (env['JINN_MASTER_ETH_DAILY_WEI']) {
|
|
225
240
|
merged.masterEthDailyEstimateWei = env['JINN_MASTER_ETH_DAILY_WEI'].trim();
|
|
226
241
|
}
|
|
242
|
+
if (env['JINN_ENGINE_WORKING_DIR_ROOT'] || env['JINN_ENGINE_IMPL_STATE_DIR_ROOT']) {
|
|
243
|
+
const prev = typeof merged['engine'] === 'object' && merged['engine'] !== null
|
|
244
|
+
? merged['engine']
|
|
245
|
+
: {};
|
|
246
|
+
merged['engine'] = {
|
|
247
|
+
...prev,
|
|
248
|
+
...(env['JINN_ENGINE_WORKING_DIR_ROOT'] ? { workingDirRoot: env['JINN_ENGINE_WORKING_DIR_ROOT'] } : {}),
|
|
249
|
+
...(env['JINN_ENGINE_IMPL_STATE_DIR_ROOT'] ? { implStateDirRoot: env['JINN_ENGINE_IMPL_STATE_DIR_ROOT'] } : {}),
|
|
250
|
+
};
|
|
251
|
+
}
|
|
227
252
|
const resolvedNetwork = merged.network === 'testnet' ? 'testnet' : 'mainnet';
|
|
228
253
|
// Keep the legacy BASE_RPC_URL override for Base mainnet only. Testnet must
|
|
229
254
|
// not silently inherit a mainnet RPC from client/.env during bootstrap.
|
|
@@ -277,6 +302,10 @@ export function loadConfig(configPath) {
|
|
|
277
302
|
rpcUrl: parsed.rpcUrl ?? defaultRpcUrl,
|
|
278
303
|
// parseDesiredState assigns a UUID to any entry missing an id
|
|
279
304
|
desiredStates: parsed.desiredStates.map(parseDesiredState),
|
|
305
|
+
engine: {
|
|
306
|
+
workingDirRoot: parsed.engine?.workingDirRoot ?? DEFAULT_ENGINE.workingDirRoot,
|
|
307
|
+
implStateDirRoot: parsed.engine?.implStateDirRoot ?? DEFAULT_ENGINE.implStateDirRoot,
|
|
308
|
+
},
|
|
280
309
|
};
|
|
281
310
|
}
|
|
282
311
|
/**
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { getAddress, formatEther } from 'viem';
|
|
12
12
|
import { viemSendTransactionWithRetry, waitForTransactionReceiptWithRetry } from '../tx-retry.js';
|
|
13
|
+
import { emitEvent } from '../observability/emit-event.js';
|
|
14
|
+
import { displayFleetServiceIndex } from '../earning/fleet-display-index.js';
|
|
13
15
|
export class BalanceTopupLoop {
|
|
14
16
|
config;
|
|
15
17
|
stopped = false;
|
|
@@ -29,15 +31,22 @@ export class BalanceTopupLoop {
|
|
|
29
31
|
continue;
|
|
30
32
|
if (!svc.agent_address || !svc.safe_address)
|
|
31
33
|
continue;
|
|
34
|
+
const displayIndex = displayFleetServiceIndex(svc);
|
|
32
35
|
try {
|
|
33
|
-
await this.topUpService(svc.index, svc.agent_address, svc.safe_address, masterAccount);
|
|
36
|
+
await this.topUpService(displayIndex, svc.index, svc.agent_address, svc.safe_address, masterAccount);
|
|
34
37
|
}
|
|
35
38
|
catch (err) {
|
|
36
39
|
console.error(`[balance-topup] Service ${svc.index}: unexpected error (non-fatal): ${err instanceof Error ? err.message : err}`);
|
|
40
|
+
this.config.jinnStore && emitEvent(this.config.jinnStore, {
|
|
41
|
+
kind: 'tick_error',
|
|
42
|
+
serviceIndex: displayIndex,
|
|
43
|
+
outcome: 'failed',
|
|
44
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
45
|
+
}, 'balance-topup');
|
|
37
46
|
}
|
|
38
47
|
}
|
|
39
48
|
}
|
|
40
|
-
async topUpService(
|
|
49
|
+
async topUpService(displayIndex, logIndex, agentAddressRaw, safeAddressRaw, masterAccount) {
|
|
41
50
|
const agentAddr = getAddress(agentAddressRaw);
|
|
42
51
|
const safeAddr = getAddress(safeAddressRaw);
|
|
43
52
|
// Check agent EOA balance
|
|
@@ -46,13 +55,20 @@ export class BalanceTopupLoop {
|
|
|
46
55
|
const needed = this.config.eoaTopupTarget - agentBal;
|
|
47
56
|
const masterBal = await this.config.publicClient.getBalance({ address: masterAccount.address });
|
|
48
57
|
if (masterBal > needed) {
|
|
49
|
-
console.error(`[balance-topup] Service ${
|
|
58
|
+
console.error(`[balance-topup] Service ${logIndex}: agent ${agentAddr} balance ${formatEther(agentBal)} ETH below trigger, topping up with ${formatEther(needed)} ETH from master`);
|
|
50
59
|
const hash = await viemSendTransactionWithRetry(this.config.masterWallet, this.config.publicClient, {
|
|
51
60
|
account: masterAccount,
|
|
52
61
|
to: agentAddr,
|
|
53
62
|
value: needed,
|
|
54
63
|
});
|
|
55
64
|
await waitForTransactionReceiptWithRetry(this.config.publicClient, hash);
|
|
65
|
+
this.config.jinnStore && emitEvent(this.config.jinnStore, {
|
|
66
|
+
kind: 'balance_topup',
|
|
67
|
+
serviceIndex: displayIndex,
|
|
68
|
+
txHash: hash,
|
|
69
|
+
outcome: 'ok',
|
|
70
|
+
detail: `Topped up agent to ${formatEther(this.config.eoaTopupTarget)} ETH`,
|
|
71
|
+
}, 'balance-topup');
|
|
56
72
|
}
|
|
57
73
|
else {
|
|
58
74
|
console.error(`[balance-topup] Warning: master balance (${formatEther(masterBal)} ETH) too low to top up agent ${agentAddr} (needs ${formatEther(needed)} ETH)`);
|
|
@@ -64,13 +80,20 @@ export class BalanceTopupLoop {
|
|
|
64
80
|
const safeNeeded = this.config.safeTopupTarget - safeBal;
|
|
65
81
|
const masterBal = await this.config.publicClient.getBalance({ address: masterAccount.address });
|
|
66
82
|
if (masterBal > safeNeeded) {
|
|
67
|
-
console.error(`[balance-topup] Service ${
|
|
83
|
+
console.error(`[balance-topup] Service ${logIndex}: Safe ${safeAddr} balance ${formatEther(safeBal)} ETH below trigger, topping up with ${formatEther(safeNeeded)} ETH from master`);
|
|
68
84
|
const hash = await viemSendTransactionWithRetry(this.config.masterWallet, this.config.publicClient, {
|
|
69
85
|
account: masterAccount,
|
|
70
86
|
to: safeAddr,
|
|
71
87
|
value: safeNeeded,
|
|
72
88
|
});
|
|
73
89
|
await waitForTransactionReceiptWithRetry(this.config.publicClient, hash);
|
|
90
|
+
this.config.jinnStore && emitEvent(this.config.jinnStore, {
|
|
91
|
+
kind: 'balance_topup',
|
|
92
|
+
serviceIndex: displayIndex,
|
|
93
|
+
txHash: hash,
|
|
94
|
+
outcome: 'ok',
|
|
95
|
+
detail: `Topped up safe to ${formatEther(this.config.safeTopupTarget)} ETH`,
|
|
96
|
+
}, 'balance-topup');
|
|
74
97
|
}
|
|
75
98
|
else {
|
|
76
99
|
console.error(`[balance-topup] Warning: master balance (${formatEther(masterBal)} ETH) too low to top up Safe ${safeAddr} (needs ${formatEther(safeNeeded)} ETH)`);
|
|
@@ -87,6 +110,11 @@ export class BalanceTopupLoop {
|
|
|
87
110
|
}
|
|
88
111
|
catch (err) {
|
|
89
112
|
console.error('[balance-topup] Tick failed (non-fatal):', err instanceof Error ? err.message : err);
|
|
113
|
+
this.config.jinnStore && emitEvent(this.config.jinnStore, {
|
|
114
|
+
kind: 'tick_error',
|
|
115
|
+
outcome: 'failed',
|
|
116
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
117
|
+
}, 'balance-topup');
|
|
90
118
|
}
|
|
91
119
|
this.config.jinnStore?.setConfigValue('last_balance_topup_tick_at', new Date().toISOString());
|
|
92
120
|
await new Promise(r => setTimeout(r, this.config.intervalMs));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance-topup-loop.js","sourceRoot":"","sources":["../../src/daemon/balance-topup-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAG/C,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"balance-topup-loop.js","sourceRoot":"","sources":["../../src/daemon/balance-topup-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAG/C,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAqB7E,MAAM,OAAO,gBAAgB;IAGE;IAFrB,OAAO,GAAG,KAAK,CAAC;IAExB,YAA6B,MAA8B;QAA9B,WAAM,GAAN,MAAM,CAAwB;IAAG,CAAC;IAE/D,IAAI;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;QACvD,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;gBAAE,SAAS;YACtC,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,YAAY;gBAAE,SAAS;YACtD,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;YAEnD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,YAAY,CACrB,YAAY,EACZ,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,aAAa,EACjB,GAAG,CAAC,YAAY,EAChB,aAAa,CACd,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,2BAA2B,GAAG,CAAC,KAAK,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAClH,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACxD,IAAI,EAAE,YAAY;oBAClB,YAAY,EAAE,YAAY;oBAC1B,OAAO,EAAE,QAAQ;oBACjB,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;iBACzD,EAAE,eAAe,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,YAAoB,EACpB,QAAgB,EAChB,eAAuB,EACvB,cAAsB,EACtB,aAAmD;QAEnD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAY,CAAC;QACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAY,CAAC;QAEvD,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACnF,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;YACrD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACX,2BAA2B,QAAQ,WAAW,SAAS,YAAY,WAAW,CAAC,QAAQ,CAAC,uCAAuC,WAAW,CAAC,MAAM,CAAC,kBAAkB,CACrK,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB;oBACE,OAAO,EAAE,aAAa;oBACtB,EAAE,EAAE,SAAS;oBACb,KAAK,EAAE,MAAM;iBACd,CACF,CAAC;gBACF,MAAM,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACxD,IAAI,EAAE,eAAe;oBACrB,YAAY,EAAE,YAAY;oBAC1B,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,sBAAsB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM;iBAC5E,EAAE,eAAe,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,4CAA4C,WAAW,CAAC,SAAS,CAAC,iCAAiC,SAAS,WAAW,WAAW,CAAC,MAAM,CAAC,OAAO,CAClJ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjF,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC;YACzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAChG,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CACX,2BAA2B,QAAQ,UAAU,QAAQ,YAAY,WAAW,CAAC,OAAO,CAAC,uCAAuC,WAAW,CAAC,UAAU,CAAC,kBAAkB,CACtK,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,4BAA4B,CAC7C,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB,IAAI,CAAC,MAAM,CAAC,YAAY,EACxB;oBACE,OAAO,EAAE,aAAa;oBACtB,EAAE,EAAE,QAAQ;oBACZ,KAAK,EAAE,UAAU;iBAClB,CACF,CAAC;gBACF,MAAM,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;gBACzE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACxD,IAAI,EAAE,eAAe;oBACrB,YAAY,EAAE,YAAY;oBAC1B,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,qBAAqB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM;iBAC5E,EAAE,eAAe,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,4CAA4C,WAAW,CAAC,SAAS,CAAC,gCAAgC,QAAQ,WAAW,WAAW,CAAC,UAAU,CAAC,OAAO,CACpJ,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACpG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBACxD,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,eAAe,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,4BAA4B,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9F,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;CACF"}
|
package/dist/daemon/creator.d.ts
CHANGED
|
@@ -1,29 +1,26 @@
|
|
|
1
1
|
import type { ExecutionAdapter } from '../adapters/adapter.js';
|
|
2
2
|
import type { DesiredState, RequestId } from '../types/index.js';
|
|
3
3
|
import type { Store } from '../store/store.js';
|
|
4
|
+
import type { IntentSource } from '../intents/sources.js';
|
|
4
5
|
export interface ActiveAttempt {
|
|
5
6
|
desiredState: DesiredState;
|
|
6
7
|
attemptNumber: number;
|
|
7
8
|
restorationRequestId: string;
|
|
8
9
|
status: 'pending' | 'resolved';
|
|
9
10
|
}
|
|
10
|
-
/** Returns a freshly-built DesiredState for this tick, or null to skip. */
|
|
11
|
-
export type IntentGenerator = () => Promise<DesiredState | null>;
|
|
12
11
|
export declare class CreatorLoop {
|
|
13
12
|
private readonly adapter;
|
|
14
|
-
private readonly
|
|
13
|
+
private readonly intentSources;
|
|
15
14
|
private readonly store;
|
|
16
15
|
private readonly safeAddress?;
|
|
17
16
|
private stopped;
|
|
18
|
-
private posted;
|
|
19
17
|
private attempts;
|
|
20
18
|
private stopResolve;
|
|
21
19
|
private stopPromise;
|
|
22
|
-
private readonly
|
|
23
|
-
private static readonly
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
constructor(adapter: ExecutionAdapter, desiredStates: DesiredState[], store: Store, generators?: IntentGenerator[], safeAddress?: string | undefined);
|
|
20
|
+
private readonly postingService;
|
|
21
|
+
private static readonly PERMANENT_FAILURE_BACKOFF_MS;
|
|
22
|
+
private static failureCacheKey;
|
|
23
|
+
constructor(adapter: ExecutionAdapter, intentSources: IntentSource[], store: Store, safeAddress?: string | undefined);
|
|
27
24
|
tick(): Promise<RequestId | null>;
|
|
28
25
|
run(): Promise<void>;
|
|
29
26
|
stop(): void;
|
package/dist/daemon/creator.js
CHANGED
|
@@ -1,91 +1,80 @@
|
|
|
1
|
-
import { TransientError } from '../types/index.js';
|
|
1
|
+
import { PermanentError, TransientError } from '../types/index.js';
|
|
2
2
|
import { isRecoverableTransactionError } from '../tx-retry.js';
|
|
3
|
+
import { emitEvent } from '../observability/emit-event.js';
|
|
4
|
+
import { IntentPostingService } from '../intents/posting-service.js';
|
|
3
5
|
export class CreatorLoop {
|
|
4
6
|
adapter;
|
|
5
|
-
|
|
7
|
+
intentSources;
|
|
6
8
|
store;
|
|
7
9
|
safeAddress;
|
|
8
10
|
stopped = false;
|
|
9
|
-
posted = new Map(); // stateId → timestamp of last post (in-memory fast-path)
|
|
10
11
|
attempts = new Map();
|
|
11
12
|
stopResolve = null;
|
|
12
13
|
stopPromise;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
static REPOST_INTERVAL_MS = 4 * 60 * 60 * 1000;
|
|
18
|
-
/** SQLite config key for durable idempotency across daemon restarts. */
|
|
19
|
-
static cacheKey(state, safeAddress) {
|
|
20
|
-
const prefix = safeAddress ? `created_intent:${safeAddress}` : 'created_intent';
|
|
14
|
+
postingService;
|
|
15
|
+
static PERMANENT_FAILURE_BACKOFF_MS = 30 * 60 * 1000;
|
|
16
|
+
static failureCacheKey(state, safeAddress) {
|
|
17
|
+
const prefix = safeAddress ? `create_failed:${safeAddress}` : 'create_failed';
|
|
21
18
|
return `${prefix}:${state.id}`;
|
|
22
19
|
}
|
|
23
|
-
constructor(adapter,
|
|
20
|
+
constructor(adapter, intentSources, store, safeAddress) {
|
|
24
21
|
this.adapter = adapter;
|
|
25
|
-
this.
|
|
22
|
+
this.intentSources = intentSources;
|
|
26
23
|
this.store = store;
|
|
27
24
|
this.safeAddress = safeAddress;
|
|
28
|
-
this.
|
|
25
|
+
this.postingService = new IntentPostingService(adapter, store);
|
|
29
26
|
this.stopPromise = new Promise(resolve => {
|
|
30
27
|
this.stopResolve = resolve;
|
|
31
28
|
});
|
|
32
29
|
}
|
|
33
30
|
async tick() {
|
|
34
31
|
const now = Date.now();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const generated = [];
|
|
38
|
-
for (const gen of this.generators) {
|
|
32
|
+
const candidates = [];
|
|
33
|
+
for (const source of this.intentSources) {
|
|
39
34
|
try {
|
|
40
|
-
const result = await
|
|
41
|
-
|
|
42
|
-
generated.push(result);
|
|
35
|
+
const result = await source.collect(new Date(now));
|
|
36
|
+
candidates.push(...result);
|
|
43
37
|
}
|
|
44
38
|
catch (err) {
|
|
45
|
-
console.error(
|
|
39
|
+
console.error(`[creator] source ${source.sourceKey} error (skipping this tick):`, err);
|
|
46
40
|
}
|
|
47
41
|
}
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
const cacheKey = CreatorLoop.cacheKey(state, this.safeAddress);
|
|
58
|
-
const cachedRequestId = this.store.getConfigValue(cacheKey);
|
|
59
|
-
if (cachedRequestId) {
|
|
60
|
-
// Refresh the in-memory tracker so subsequent ticks hit the fast-path.
|
|
61
|
-
this.posted.set(state.id, now);
|
|
62
|
-
continue;
|
|
42
|
+
for (const candidate of candidates) {
|
|
43
|
+
const state = candidate.desiredState;
|
|
44
|
+
const failureKey = CreatorLoop.failureCacheKey(state, this.safeAddress);
|
|
45
|
+
const failedAt = this.store.getConfigValue(failureKey);
|
|
46
|
+
if (failedAt) {
|
|
47
|
+
const ts = Number(failedAt);
|
|
48
|
+
if (Number.isFinite(ts) && now - ts < CreatorLoop.PERMANENT_FAILURE_BACKOFF_MS) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
63
51
|
}
|
|
64
52
|
try {
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
const requestId = await this.adapter.postDesiredState(stateWithAttempt);
|
|
75
|
-
this.posted.set(state.id, now);
|
|
53
|
+
const postResult = await this.postingService.postCandidate(candidate, {
|
|
54
|
+
creatorSafeAddress: this.safeAddress,
|
|
55
|
+
legacyConfigKeys: [
|
|
56
|
+
this.safeAddress ? `created_intent:${this.safeAddress}:${state.id}` : `created_intent:${state.id}`,
|
|
57
|
+
],
|
|
58
|
+
});
|
|
59
|
+
if (postResult.idempotent)
|
|
60
|
+
continue;
|
|
61
|
+
const requestId = postResult.requestId;
|
|
76
62
|
this.attempts.set(state.id, {
|
|
77
63
|
desiredState: state,
|
|
78
|
-
attemptNumber,
|
|
64
|
+
attemptNumber: postResult.attemptNumber,
|
|
79
65
|
restorationRequestId: requestId,
|
|
80
66
|
status: 'pending',
|
|
81
67
|
});
|
|
82
|
-
this.store.recordOwnActivity(requestId, 'created');
|
|
83
|
-
this.store.setConfigValue(cacheKey, requestId);
|
|
84
68
|
return requestId;
|
|
85
69
|
}
|
|
86
70
|
catch (err) {
|
|
87
71
|
if (err instanceof TransientError)
|
|
88
72
|
continue;
|
|
73
|
+
if (err instanceof PermanentError) {
|
|
74
|
+
this.store.setConfigValue(failureKey, String(now));
|
|
75
|
+
console.error(`[creator] Permanent create failure for ${state.id}; backing off for ` +
|
|
76
|
+
`${Math.round(CreatorLoop.PERMANENT_FAILURE_BACKOFF_MS / 60000)} min: ${err.message}`);
|
|
77
|
+
}
|
|
89
78
|
throw err;
|
|
90
79
|
}
|
|
91
80
|
}
|
|
@@ -99,6 +88,11 @@ export class CreatorLoop {
|
|
|
99
88
|
}
|
|
100
89
|
catch (err) {
|
|
101
90
|
console.error('[creator] Error:', err);
|
|
91
|
+
emitEvent(this.store, {
|
|
92
|
+
kind: 'tick_error',
|
|
93
|
+
outcome: 'failed',
|
|
94
|
+
detail: err instanceof Error ? err.message : String(err),
|
|
95
|
+
}, 'creator');
|
|
102
96
|
delayMs = isRecoverableTransactionError(err) ? 12_000 : 8000;
|
|
103
97
|
}
|
|
104
98
|
await Promise.race([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/daemon/creator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../../src/daemon/creator.ts"],"names":[],"mappings":"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"}
|