@grimoirelabs/cli 0.14.1 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/dist/commands/advisory-handlers.d.ts.map +1 -1
  2. package/dist/commands/advisory-handlers.js +1 -180
  3. package/dist/commands/advisory-handlers.js.map +1 -1
  4. package/dist/commands/advisory-live-trace.d.ts.map +1 -1
  5. package/dist/commands/advisory-live-trace.js +1 -1
  6. package/dist/commands/advisory-live-trace.js.map +1 -1
  7. package/dist/commands/advisory-verbose-trace.d.ts +15 -0
  8. package/dist/commands/advisory-verbose-trace.d.ts.map +1 -0
  9. package/dist/commands/advisory-verbose-trace.js +185 -0
  10. package/dist/commands/advisory-verbose-trace.js.map +1 -0
  11. package/dist/commands/cast-cross-chain.d.ts +69 -0
  12. package/dist/commands/cast-cross-chain.d.ts.map +1 -0
  13. package/dist/commands/cast-cross-chain.js +456 -0
  14. package/dist/commands/cast-cross-chain.js.map +1 -0
  15. package/dist/commands/cast.d.ts +1 -1
  16. package/dist/commands/cast.d.ts.map +1 -1
  17. package/dist/commands/cast.js +84 -709
  18. package/dist/commands/cast.js.map +1 -1
  19. package/dist/commands/compile-all.d.ts +15 -2
  20. package/dist/commands/compile-all.d.ts.map +1 -1
  21. package/dist/commands/compile-all.js +16 -21
  22. package/dist/commands/compile-all.js.map +1 -1
  23. package/dist/commands/compile.d.ts +1 -1
  24. package/dist/commands/compile.d.ts.map +1 -1
  25. package/dist/commands/compile.js +22 -26
  26. package/dist/commands/compile.js.map +1 -1
  27. package/dist/commands/cross-chain-helpers.d.ts +0 -1
  28. package/dist/commands/cross-chain-helpers.d.ts.map +1 -1
  29. package/dist/commands/cross-chain-helpers.js +0 -3
  30. package/dist/commands/cross-chain-helpers.js.map +1 -1
  31. package/dist/commands/history.d.ts +1 -2
  32. package/dist/commands/history.d.ts.map +1 -1
  33. package/dist/commands/history.js +59 -69
  34. package/dist/commands/history.js.map +1 -1
  35. package/dist/commands/init.d.ts +5 -1
  36. package/dist/commands/init.d.ts.map +1 -1
  37. package/dist/commands/init.js +25 -20
  38. package/dist/commands/init.js.map +1 -1
  39. package/dist/commands/log.d.ts +1 -2
  40. package/dist/commands/log.d.ts.map +1 -1
  41. package/dist/commands/log.js +9 -12
  42. package/dist/commands/log.js.map +1 -1
  43. package/dist/commands/resume.d.ts +18 -1
  44. package/dist/commands/resume.d.ts.map +1 -1
  45. package/dist/commands/resume.js +44 -66
  46. package/dist/commands/resume.js.map +1 -1
  47. package/dist/commands/setup-ui.d.ts +46 -0
  48. package/dist/commands/setup-ui.d.ts.map +1 -0
  49. package/dist/commands/setup-ui.js +221 -0
  50. package/dist/commands/setup-ui.js.map +1 -0
  51. package/dist/commands/setup.d.ts +31 -3
  52. package/dist/commands/setup.d.ts.map +1 -1
  53. package/dist/commands/setup.js +27 -270
  54. package/dist/commands/setup.js.map +1 -1
  55. package/dist/commands/simulate-cross-chain.d.ts +53 -0
  56. package/dist/commands/simulate-cross-chain.d.ts.map +1 -0
  57. package/dist/commands/simulate-cross-chain.js +256 -0
  58. package/dist/commands/simulate-cross-chain.js.map +1 -0
  59. package/dist/commands/simulate.d.ts +5 -1
  60. package/dist/commands/simulate.d.ts.map +1 -1
  61. package/dist/commands/simulate.js +16 -364
  62. package/dist/commands/simulate.js.map +1 -1
  63. package/dist/commands/state-helpers.d.ts.map +1 -1
  64. package/dist/commands/state-helpers.js +1 -5
  65. package/dist/commands/state-helpers.js.map +1 -1
  66. package/dist/commands/validate.d.ts +24 -2
  67. package/dist/commands/validate.d.ts.map +1 -1
  68. package/dist/commands/validate.js +40 -42
  69. package/dist/commands/validate.js.map +1 -1
  70. package/dist/commands/venue-doctor-morpho.d.ts +38 -0
  71. package/dist/commands/venue-doctor-morpho.d.ts.map +1 -0
  72. package/dist/commands/venue-doctor-morpho.js +214 -0
  73. package/dist/commands/venue-doctor-morpho.js.map +1 -0
  74. package/dist/commands/venue-doctor.d.ts +2 -26
  75. package/dist/commands/venue-doctor.d.ts.map +1 -1
  76. package/dist/commands/venue-doctor.js +27 -229
  77. package/dist/commands/venue-doctor.js.map +1 -1
  78. package/dist/commands/venue.d.ts +1 -1
  79. package/dist/commands/venue.d.ts.map +1 -1
  80. package/dist/commands/venue.js +32 -122
  81. package/dist/commands/venue.js.map +1 -1
  82. package/dist/commands/venues.d.ts +1 -5
  83. package/dist/commands/venues.d.ts.map +1 -1
  84. package/dist/commands/venues.js +11 -10
  85. package/dist/commands/venues.js.map +1 -1
  86. package/dist/commands/wallet-weth.d.ts +22 -0
  87. package/dist/commands/wallet-weth.d.ts.map +1 -0
  88. package/dist/commands/wallet-weth.js +150 -0
  89. package/dist/commands/wallet-weth.js.map +1 -0
  90. package/dist/commands/wallet.d.ts +65 -3
  91. package/dist/commands/wallet.d.ts.map +1 -1
  92. package/dist/commands/wallet.js +183 -377
  93. package/dist/commands/wallet.js.map +1 -1
  94. package/dist/index.js +375 -170
  95. package/dist/index.js.map +1 -1
  96. package/dist/lib/execution-helpers.d.ts +24 -0
  97. package/dist/lib/execution-helpers.d.ts.map +1 -0
  98. package/dist/lib/execution-helpers.js +133 -0
  99. package/dist/lib/execution-helpers.js.map +1 -0
  100. package/dist/lib/json.d.ts +8 -0
  101. package/dist/lib/json.d.ts.map +1 -0
  102. package/dist/lib/json.js +10 -0
  103. package/dist/lib/json.js.map +1 -0
  104. package/dist/lib/keystore.d.ts +12 -0
  105. package/dist/lib/keystore.d.ts.map +1 -0
  106. package/dist/lib/keystore.js +14 -0
  107. package/dist/lib/keystore.js.map +1 -0
  108. package/dist/lib/prompts.d.ts +16 -0
  109. package/dist/lib/prompts.d.ts.map +1 -0
  110. package/dist/lib/prompts.js +61 -0
  111. package/dist/lib/prompts.js.map +1 -0
  112. package/dist/lib/venue-discovery.d.ts +44 -0
  113. package/dist/lib/venue-discovery.d.ts.map +1 -0
  114. package/dist/lib/venue-discovery.js +192 -0
  115. package/dist/lib/venue-discovery.js.map +1 -0
  116. package/package.json +4 -4
@@ -0,0 +1,456 @@
1
+ /**
2
+ * Cross-Chain Cast Orchestration
3
+ * Handles multi-chain spell execution with wallet, handoffs, and state persistence
4
+ */
5
+ import { existsSync, readFileSync } from "node:fs";
6
+ import { join } from "node:path";
7
+ import { compileFile, createProvider, createRunRecord, createWalletFromConfig, execute, isTestnet, loadPrivateKey, orchestrateCrossChain, SqliteStateStore, toCrossChainReceipt, } from "@grimoirelabs/core";
8
+ import { adapters, createHyperliquidAdapter } from "@grimoirelabs/venues";
9
+ import chalk from "chalk";
10
+ import ora from "ora";
11
+ import { appendLifecycleLedgerEntries, isMissingNodeSqliteBackend, parseRequiredNumber, persistCrossChainState, } from "../lib/execution-helpers.js";
12
+ import { stringifyJson } from "../lib/json.js";
13
+ import { DEFAULT_KEYSTORE_PATH } from "../lib/keystore.js";
14
+ import { confirmPrompt, promptPassword } from "../lib/prompts.js";
15
+ import { resolveAdvisorSkillsDirs } from "./advisor-skill-helpers.js";
16
+ import { resolveAdvisoryHandler } from "./advisory-handlers.js";
17
+ import { createAdvisoryLiveTraceLogger } from "./advisory-live-trace.js";
18
+ import { createLogicalRunId, parseMorphoMarketMappings, parseRpcUrlMappings, requireExplicitRpcMappings, resolveRpcUrlForChain, validateMorphoMappingsForSpells, } from "./cross-chain-helpers.js";
19
+ import { buildRuntimeProvenanceManifest, } from "./data-provenance.js";
20
+ const DEFAULT_GAS_MULTIPLIER = 1.1;
21
+ const DEFAULT_POLL_INTERVAL_SEC = 30;
22
+ export function configureHyperliquidAdapters(keyConfig) {
23
+ try {
24
+ const rawKey = loadPrivateKey(keyConfig);
25
+ return adapters.map((adapter) => {
26
+ if (adapter.meta.name === "hyperliquid") {
27
+ return createHyperliquidAdapter({
28
+ privateKey: rawKey,
29
+ assetMap: { ETH: 4 },
30
+ });
31
+ }
32
+ return adapter;
33
+ });
34
+ }
35
+ catch {
36
+ return adapters;
37
+ }
38
+ }
39
+ export async function safeGetBlockNumber(provider) {
40
+ try {
41
+ return await provider.getBlockNumber();
42
+ }
43
+ catch {
44
+ return undefined;
45
+ }
46
+ }
47
+ export async function resolveKeyConfig(options, spinner) {
48
+ const hasExplicitKey = !!(options.privateKey || options.mnemonic || options.keystore);
49
+ const hasEnvKey = !!(options.keyEnv && process.env[options.keyEnv]);
50
+ const hasDefaultKeystore = !hasExplicitKey && !hasEnvKey && existsSync(DEFAULT_KEYSTORE_PATH);
51
+ if (options.privateKey) {
52
+ return { type: "raw", source: options.privateKey };
53
+ }
54
+ if (options.keyEnv && process.env[options.keyEnv]) {
55
+ return { type: "env", source: options.keyEnv };
56
+ }
57
+ if (options.mnemonic) {
58
+ return { type: "mnemonic", source: options.mnemonic };
59
+ }
60
+ if (hasDefaultKeystore || options.keystore) {
61
+ const keystorePath = options.keystore ?? DEFAULT_KEYSTORE_PATH;
62
+ if (!existsSync(keystorePath)) {
63
+ spinner.fail(chalk.red(`No key provided and no keystore found at ${keystorePath}`));
64
+ throw new Error(`No key provided and no keystore found at ${keystorePath}. Run 'grimoire wallet generate' to create one.`);
65
+ }
66
+ const password = await resolveKeystorePassword(options, spinner);
67
+ const keystoreJson = readFileSync(keystorePath, "utf-8");
68
+ return { type: "keystore", source: keystoreJson, password };
69
+ }
70
+ throw new Error("Execution mode requires wallet credentials, but no key source was provided");
71
+ }
72
+ export function resolveVaultAddress(explicitVault, fallbackWalletAddress) {
73
+ if (explicitVault && explicitVault.length > 0) {
74
+ return explicitVault;
75
+ }
76
+ if (fallbackWalletAddress && fallbackWalletAddress.length > 0) {
77
+ return fallbackWalletAddress;
78
+ }
79
+ return "0x0000000000000000000000000000000000000000";
80
+ }
81
+ export async function resolveKeystorePassword(options, spinner) {
82
+ const envName = options.passwordEnv ?? "KEYSTORE_PASSWORD";
83
+ const envValue = process.env[envName];
84
+ if (envValue) {
85
+ return envValue;
86
+ }
87
+ if (process.stdin.isTTY) {
88
+ spinner.stop();
89
+ const password = await promptPassword("Keystore password: ");
90
+ spinner.start("Setting up wallet...");
91
+ return password;
92
+ }
93
+ spinner.fail(chalk.red(`No password available. Set ${envName} or run interactively.`));
94
+ throw new Error(`No password available. Set ${envName} or run interactively.`);
95
+ }
96
+ export async function executeCrossChainCast(input) {
97
+ const destinationSpellPath = input.options.destinationSpell;
98
+ if (!destinationSpellPath) {
99
+ throw new Error("Cross-chain mode requires --destination-spell");
100
+ }
101
+ const destinationChainId = parseRequiredNumber(input.options.destinationChain, "--destination-chain");
102
+ const handoffTimeoutSec = parseRequiredNumber(input.options.handoffTimeoutSec, "--handoff-timeout-sec");
103
+ const pollIntervalSec = input.options.pollIntervalSec
104
+ ? parseRequiredNumber(input.options.pollIntervalSec, "--poll-interval-sec")
105
+ : DEFAULT_POLL_INTERVAL_SEC;
106
+ const destinationCompile = await compileFile(destinationSpellPath);
107
+ if (!destinationCompile.success || !destinationCompile.ir) {
108
+ throw new Error(`Destination spell compilation failed: ${destinationCompile.errors.map((e) => `[${e.code}] ${e.message}`).join("; ")}`);
109
+ }
110
+ const destinationSpell = destinationCompile.ir;
111
+ const rpcMappings = parseRpcUrlMappings(input.options.rpcUrl);
112
+ requireExplicitRpcMappings(rpcMappings, input.sourceChainId, destinationChainId);
113
+ const sourceRpcUrl = resolveRpcUrlForChain(input.sourceChainId, rpcMappings);
114
+ const destinationRpcUrl = resolveRpcUrlForChain(destinationChainId, rpcMappings);
115
+ if (!sourceRpcUrl || !destinationRpcUrl) {
116
+ throw new Error("Could not resolve RPC URLs for both source and destination chains.");
117
+ }
118
+ const morphoMarketIds = parseMorphoMarketMappings({
119
+ morphoMarketId: input.options.morphoMarketId,
120
+ morphoMarketMap: input.options.morphoMarketMap,
121
+ });
122
+ validateMorphoMappingsForSpells(input.sourceSpell, destinationSpell, morphoMarketIds);
123
+ const sourceProvider = createProvider(input.sourceChainId, sourceRpcUrl);
124
+ const destinationProvider = createProvider(destinationChainId, destinationRpcUrl);
125
+ const spinner = ora("Preparing cross-chain orchestration...").start();
126
+ let keyConfig;
127
+ let configuredAdapters = adapters;
128
+ let sourceWallet;
129
+ let destinationWallet;
130
+ if (input.mode === "execute") {
131
+ keyConfig = await resolveKeyConfig(input.options, spinner);
132
+ configuredAdapters = configureHyperliquidAdapters(keyConfig);
133
+ sourceWallet = createWalletFromConfig(keyConfig, input.sourceChainId, sourceProvider.rpcUrl);
134
+ destinationWallet = createWalletFromConfig(keyConfig, destinationChainId, destinationProvider.rpcUrl);
135
+ }
136
+ else if (input.hasKey) {
137
+ keyConfig = await resolveKeyConfig(input.options, spinner);
138
+ configuredAdapters = configureHyperliquidAdapters(keyConfig);
139
+ }
140
+ const vault = resolveVaultAddress(input.options.vault, sourceWallet?.address);
141
+ const runId = createLogicalRunId();
142
+ const runtimeFlow = input.mode === "execute"
143
+ ? "cast_execute"
144
+ : input.mode === "dry-run"
145
+ ? "cast_dry_run"
146
+ : "simulate";
147
+ const advisorSkillsDirs = resolveAdvisorSkillsDirs(input.options.advisorSkillsDir) ?? [];
148
+ const sourceOnAdvisory = await resolveAdvisoryHandler(input.sourceSpell.id, {
149
+ advisoryPi: input.options.advisoryPi,
150
+ advisoryReplay: input.options.advisoryReplay,
151
+ advisoryProvider: input.options.advisoryProvider,
152
+ advisoryModel: input.options.advisoryModel,
153
+ advisoryThinking: input.options.advisoryThinking,
154
+ advisoryTools: input.options.advisoryTools,
155
+ advisoryTraceVerbose: input.options.advisoryTraceVerbose,
156
+ advisoryTraceLogger: input.options.json ? undefined : console.error,
157
+ advisorSkillsDirs,
158
+ stateDir: input.options.stateDir,
159
+ noState: input.noState,
160
+ agentDir: input.options.piAgentDir,
161
+ cwd: process.cwd(),
162
+ });
163
+ const destinationOnAdvisory = await resolveAdvisoryHandler(destinationSpell.id, {
164
+ advisoryPi: input.options.advisoryPi,
165
+ advisoryReplay: input.options.advisoryReplay,
166
+ advisoryProvider: input.options.advisoryProvider,
167
+ advisoryModel: input.options.advisoryModel,
168
+ advisoryThinking: input.options.advisoryThinking,
169
+ advisoryTools: input.options.advisoryTools,
170
+ advisoryTraceVerbose: input.options.advisoryTraceVerbose,
171
+ advisoryTraceLogger: input.options.json ? undefined : console.error,
172
+ advisorSkillsDirs,
173
+ stateDir: input.options.stateDir,
174
+ noState: input.noState,
175
+ agentDir: input.options.piAgentDir,
176
+ cwd: process.cwd(),
177
+ });
178
+ const advisoryEventCallback = input.options.json
179
+ ? undefined
180
+ : createAdvisoryLiveTraceLogger(console.error, {
181
+ verbose: input.options.advisoryTraceVerbose,
182
+ });
183
+ const dbPath = input.options.stateDir ? join(input.options.stateDir, "grimoire.db") : undefined;
184
+ let store;
185
+ if (!input.noState) {
186
+ try {
187
+ store = new SqliteStateStore({ dbPath });
188
+ }
189
+ catch (error) {
190
+ if (isMissingNodeSqliteBackend(error)) {
191
+ console.error(chalk.yellow("State persistence unavailable in Node (missing better-sqlite3). Continuing without persisted state."));
192
+ }
193
+ else {
194
+ throw error;
195
+ }
196
+ }
197
+ }
198
+ let sourceState = store ? ((await store.load(input.sourceSpell.id)) ?? {}) : {};
199
+ let destinationState = store ? ((await store.load(destinationSpell.id)) ?? {}) : {};
200
+ const lifecycleEvents = [];
201
+ const manifest = {
202
+ schema_version: "grimoire.cross_chain.phase1.v1",
203
+ run_id: runId,
204
+ source_spell_path: input.sourceSpellPath,
205
+ destination_spell_path: destinationSpellPath,
206
+ source_spell_id: input.sourceSpell.id,
207
+ destination_spell_id: destinationSpell.id,
208
+ source_chain_id: input.sourceChainId,
209
+ destination_chain_id: destinationChainId,
210
+ mode: input.mode,
211
+ watch: input.options.watch === true,
212
+ handoff_timeout_sec: handoffTimeoutSec,
213
+ poll_interval_sec: pollIntervalSec,
214
+ rpc_by_chain: {
215
+ [input.sourceChainId]: sourceRpcUrl,
216
+ [destinationChainId]: destinationRpcUrl,
217
+ },
218
+ params: input.params,
219
+ vault,
220
+ morpho_market_ids: morphoMarketIds,
221
+ };
222
+ const gasMultiplier = input.options.gasMultiplier
223
+ ? Number.parseFloat(input.options.gasMultiplier)
224
+ : DEFAULT_GAS_MULTIPLIER;
225
+ const confirmCallback = input.options.skipConfirm || isTestnet(input.sourceChainId)
226
+ ? async () => true
227
+ : async (message) => {
228
+ console.error(message);
229
+ return await confirmPrompt(chalk.yellow("Proceed? (yes/no): "));
230
+ };
231
+ spinner.text = "Running source/destination orchestration...";
232
+ const orchestration = await orchestrateCrossChain({
233
+ runId,
234
+ sourceSpellId: input.sourceSpell.id,
235
+ destinationSpellId: destinationSpell.id,
236
+ sourceChainId: input.sourceChainId,
237
+ destinationChainId,
238
+ vault: vault,
239
+ sourceParams: input.params,
240
+ destinationParams: input.params,
241
+ mode: input.mode,
242
+ watch: input.options.watch === true,
243
+ handoffTimeoutSec,
244
+ pollIntervalSec,
245
+ executeSource: async () => {
246
+ const result = await execute({
247
+ spell: input.sourceSpell,
248
+ runId,
249
+ vault: vault,
250
+ chain: input.sourceChainId,
251
+ params: input.params,
252
+ persistentState: sourceState,
253
+ simulate: input.mode === "simulate",
254
+ executionMode: input.mode === "simulate" ? undefined : input.mode,
255
+ wallet: input.mode === "execute" ? sourceWallet : undefined,
256
+ provider: sourceProvider,
257
+ gasMultiplier,
258
+ confirmCallback,
259
+ skipTestnetConfirmation: input.options.skipConfirm ?? false,
260
+ adapters: configuredAdapters,
261
+ advisorSkillsDirs: advisorSkillsDirs.length > 0 ? advisorSkillsDirs : undefined,
262
+ onAdvisory: sourceOnAdvisory,
263
+ eventCallback: advisoryEventCallback,
264
+ warningCallback: (message) => console.error(chalk.yellow(`Warning: ${message}`)),
265
+ crossChain: {
266
+ enabled: true,
267
+ runId,
268
+ trackId: "source",
269
+ role: "source",
270
+ morphoMarketIds,
271
+ },
272
+ });
273
+ sourceState = result.finalState;
274
+ return result;
275
+ },
276
+ executeDestination: async (params) => {
277
+ const result = await execute({
278
+ spell: destinationSpell,
279
+ runId,
280
+ vault: vault,
281
+ chain: destinationChainId,
282
+ params,
283
+ persistentState: destinationState,
284
+ simulate: input.mode === "simulate",
285
+ executionMode: input.mode === "simulate" ? undefined : input.mode,
286
+ wallet: input.mode === "execute" ? destinationWallet : undefined,
287
+ provider: destinationProvider,
288
+ gasMultiplier,
289
+ confirmCallback,
290
+ skipTestnetConfirmation: input.options.skipConfirm ?? false,
291
+ adapters: configuredAdapters,
292
+ advisorSkillsDirs: advisorSkillsDirs.length > 0 ? advisorSkillsDirs : undefined,
293
+ onAdvisory: destinationOnAdvisory,
294
+ eventCallback: advisoryEventCallback,
295
+ warningCallback: (message) => console.error(chalk.yellow(`Warning: ${message}`)),
296
+ crossChain: {
297
+ enabled: true,
298
+ runId,
299
+ trackId: "destination",
300
+ role: "destination",
301
+ morphoMarketIds,
302
+ },
303
+ });
304
+ destinationState = result.finalState;
305
+ return result;
306
+ },
307
+ resolveHandoffStatus: async (handoff) => {
308
+ const across = configuredAdapters.find((adapter) => adapter.meta.name === "across");
309
+ if (!across) {
310
+ return { status: "pending" };
311
+ }
312
+ const resolver = across.bridgeLifecycle?.resolveHandoffStatus ?? across.resolveHandoffStatus;
313
+ if (!resolver) {
314
+ return { status: "pending" };
315
+ }
316
+ return resolver({
317
+ handoffId: handoff.handoffId,
318
+ originChainId: handoff.originChainId,
319
+ destinationChainId: handoff.destinationChainId,
320
+ originTxHash: handoff.originTxHash,
321
+ reference: handoff.reference,
322
+ asset: handoff.asset,
323
+ submittedAmount: handoff.submittedAmount,
324
+ walletAddress: vault,
325
+ });
326
+ },
327
+ onLifecycleEvent: (event) => {
328
+ lifecycleEvents.push(event);
329
+ },
330
+ });
331
+ const crossChainReceipt = toCrossChainReceipt({
332
+ runId,
333
+ sourceSpellId: input.sourceSpell.id,
334
+ destinationSpellId: destinationSpell.id,
335
+ sourceChainId: input.sourceChainId,
336
+ destinationChainId,
337
+ tracks: orchestration.tracks,
338
+ handoffs: orchestration.handoffs,
339
+ });
340
+ const sourceResult = orchestration.sourceResult;
341
+ const destinationResult = orchestration.destinationResult;
342
+ if (sourceResult) {
343
+ sourceResult.crossChain = crossChainReceipt;
344
+ }
345
+ if (destinationResult) {
346
+ destinationResult.crossChain = crossChainReceipt;
347
+ }
348
+ if (orchestration.pending && !store) {
349
+ throw new Error("Cannot leave a run in waiting state without persistence. Disable --no-state.");
350
+ }
351
+ if (store) {
352
+ if (sourceResult) {
353
+ await store.save(input.sourceSpell.id, sourceResult.finalState);
354
+ const sourceProvenance = {
355
+ ...buildRuntimeProvenanceManifest({
356
+ runtimeMode: runtimeFlow,
357
+ chainId: input.sourceChainId,
358
+ policy: input.dataPolicy,
359
+ replay: input.replayResolution,
360
+ params: input.params,
361
+ blockNumber: await safeGetBlockNumber(sourceProvider),
362
+ rpcUrl: sourceProvider.rpcUrl,
363
+ }),
364
+ cross_chain: manifest,
365
+ };
366
+ await store.addRun(input.sourceSpell.id, createRunRecord(sourceResult, sourceProvenance));
367
+ await store.saveLedger(input.sourceSpell.id, runId, appendLifecycleLedgerEntries(sourceResult.ledgerEvents, lifecycleEvents, runId, input.sourceSpell.id));
368
+ }
369
+ if (destinationResult) {
370
+ await store.save(destinationSpell.id, destinationResult.finalState);
371
+ const destinationProvenance = {
372
+ ...buildRuntimeProvenanceManifest({
373
+ runtimeMode: runtimeFlow,
374
+ chainId: destinationChainId,
375
+ policy: input.dataPolicy,
376
+ replay: input.replayResolution,
377
+ params: input.params,
378
+ blockNumber: await safeGetBlockNumber(destinationProvider),
379
+ rpcUrl: destinationProvider.rpcUrl,
380
+ }),
381
+ cross_chain: manifest,
382
+ };
383
+ await store.addRun(destinationSpell.id, createRunRecord(destinationResult, destinationProvenance));
384
+ await store.saveLedger(destinationSpell.id, runId, destinationResult.ledgerEvents);
385
+ }
386
+ await persistCrossChainState(store, {
387
+ runId,
388
+ tracks: orchestration.tracks,
389
+ handoffs: orchestration.handoffs,
390
+ sourceSpellId: input.sourceSpell.id,
391
+ destinationSpellId: destinationSpell.id,
392
+ sourceResult,
393
+ destinationResult,
394
+ });
395
+ }
396
+ spinner.stop();
397
+ const mergedResult = destinationResult ?? sourceResult;
398
+ if (!mergedResult) {
399
+ throw new Error("Cross-chain orchestration returned no execution results.");
400
+ }
401
+ if (input.options.json) {
402
+ console.error(stringifyJson({
403
+ success: orchestration.success,
404
+ pending: orchestration.pending,
405
+ runId,
406
+ crossChain: crossChainReceipt,
407
+ source: sourceResult
408
+ ? {
409
+ success: sourceResult.success,
410
+ error: sourceResult.structuredError,
411
+ receipt: sourceResult.receipt,
412
+ }
413
+ : undefined,
414
+ destination: destinationResult
415
+ ? {
416
+ success: destinationResult.success,
417
+ error: destinationResult.structuredError,
418
+ receipt: destinationResult.receipt,
419
+ }
420
+ : undefined,
421
+ }));
422
+ }
423
+ else {
424
+ console.error();
425
+ console.error(chalk.cyan("Cross-Chain Run:"));
426
+ console.error(` ${chalk.dim("Run ID:")} ${runId}`);
427
+ console.error(` ${chalk.dim("Source:")} ${input.sourceSpell.meta.name} (${input.sourceChainId}) -> ${chalk.dim("Destination:")} ${destinationSpell.meta.name} (${destinationChainId})`);
428
+ console.error(` ${chalk.dim("Watch:")} ${input.options.watch === true ? "Yes" : "No"}`);
429
+ console.error(` ${chalk.dim("Status:")} ${orchestration.pending ? chalk.yellow("waiting") : orchestration.success ? chalk.green("completed") : chalk.red("failed")}`);
430
+ for (const track of orchestration.tracks) {
431
+ const trackStatus = track.status === "completed"
432
+ ? chalk.green(track.status)
433
+ : track.status === "failed"
434
+ ? chalk.red(track.status)
435
+ : track.status === "waiting"
436
+ ? chalk.yellow(track.status)
437
+ : chalk.dim(track.status);
438
+ console.error(` ${chalk.dim(`track:${track.trackId}`)} ${trackStatus} chain=${track.chainId} spell=${track.spellId}`);
439
+ if (track.error) {
440
+ console.error(` ${chalk.red(track.error)}`);
441
+ }
442
+ }
443
+ for (const handoff of orchestration.handoffs) {
444
+ console.error(` ${chalk.dim(`handoff:${handoff.handoffId}`)} ${handoff.status} submitted=${handoff.submittedAmount.toString()} settled=${handoff.settledAmount?.toString() ?? "n/a"}`);
445
+ }
446
+ if (orchestration.pending) {
447
+ console.error();
448
+ console.error(chalk.yellow("Run is waiting for handoff settlement. Resume with:"));
449
+ console.error(chalk.yellow(` grimoire resume ${runId} --watch`));
450
+ }
451
+ }
452
+ if (!orchestration.success && !orchestration.pending) {
453
+ throw new Error("Cross-chain orchestration failed");
454
+ }
455
+ }
456
+ //# sourceMappingURL=cast-cross-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cast-cross-chain.js","sourceRoot":"","sources":["../../src/commands/cast-cross-chain.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,6 @@ interface CastOptions {
43
43
  state?: boolean;
44
44
  trigger?: string;
45
45
  }
46
- export declare function castCommand(spellPath: string, options: CastOptions): Promise<void>;
46
+ export declare function castCommand(spellPath: string, options: CastOptions): Promise<Record<string, unknown> | undefined>;
47
47
  export {};
48
48
  //# sourceMappingURL=cast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/commands/cast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoEH,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4JxF"}
1
+ {"version":3,"file":"cast.d.ts","sourceRoot":"","sources":["../../src/commands/cast.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkDH,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC3C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,CA4J9C"}