@aura-protocol/cli 0.1.3 → 0.3.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 (110) hide show
  1. package/README.md +84 -53
  2. package/bin/aura.js +0 -0
  3. package/dist/commands/confidential.d.ts +1 -1
  4. package/dist/commands/confidential.js +280 -325
  5. package/dist/commands/confidential.js.map +1 -1
  6. package/dist/commands/config.d.ts +1 -1
  7. package/dist/commands/config.js +26 -8
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/dashboard.d.ts +1 -1
  10. package/dist/commands/dashboard.js +6 -7
  11. package/dist/commands/dashboard.js.map +1 -1
  12. package/dist/commands/dwallet.d.ts +1 -1
  13. package/dist/commands/dwallet.js +52 -41
  14. package/dist/commands/dwallet.js.map +1 -1
  15. package/dist/commands/execution.d.ts +1 -1
  16. package/dist/commands/execution.js +111 -175
  17. package/dist/commands/execution.js.map +1 -1
  18. package/dist/commands/features.d.ts +1 -1
  19. package/dist/commands/features.js +15 -10
  20. package/dist/commands/features.js.map +1 -1
  21. package/dist/commands/generated.d.ts +20 -0
  22. package/dist/commands/generated.js +61 -0
  23. package/dist/commands/generated.js.map +1 -0
  24. package/dist/commands/governance.d.ts +1 -1
  25. package/dist/commands/governance.js +113 -99
  26. package/dist/commands/governance.js.map +1 -1
  27. package/dist/commands/helpers.d.ts +5 -2
  28. package/dist/commands/helpers.js +79 -16
  29. package/dist/commands/helpers.js.map +1 -1
  30. package/dist/commands/instruction-exec.d.ts +27 -0
  31. package/dist/commands/instruction-exec.js +171 -0
  32. package/dist/commands/instruction-exec.js.map +1 -0
  33. package/dist/commands/instruction.d.ts +9 -0
  34. package/dist/commands/instruction.js +81 -0
  35. package/dist/commands/instruction.js.map +1 -0
  36. package/dist/commands/pda.d.ts +1 -1
  37. package/dist/commands/pda.js +15 -7
  38. package/dist/commands/pda.js.map +1 -1
  39. package/dist/commands/treasury.d.ts +1 -1
  40. package/dist/commands/treasury.js +201 -186
  41. package/dist/commands/treasury.js.map +1 -1
  42. package/dist/core/config.d.ts +35 -0
  43. package/dist/core/config.js +97 -0
  44. package/dist/core/config.js.map +1 -0
  45. package/dist/core/context.d.ts +51 -0
  46. package/dist/core/context.js +60 -0
  47. package/dist/core/context.js.map +1 -0
  48. package/dist/core/errors.d.ts +38 -0
  49. package/dist/core/errors.js +138 -0
  50. package/dist/core/errors.js.map +1 -0
  51. package/dist/core/network.d.ts +18 -0
  52. package/dist/core/network.js +38 -0
  53. package/dist/core/network.js.map +1 -0
  54. package/dist/core/runner.d.ts +45 -0
  55. package/dist/core/runner.js +219 -0
  56. package/dist/core/runner.js.map +1 -0
  57. package/dist/core/security.d.ts +28 -0
  58. package/dist/core/security.js +83 -0
  59. package/dist/core/security.js.map +1 -0
  60. package/dist/core/wallet.d.ts +2 -0
  61. package/dist/core/wallet.js +21 -0
  62. package/dist/core/wallet.js.map +1 -0
  63. package/dist/index.js +56 -13
  64. package/dist/index.js.map +1 -1
  65. package/dist/lib/domain.d.ts +16 -0
  66. package/dist/lib/domain.js +88 -0
  67. package/dist/lib/domain.js.map +1 -0
  68. package/dist/lib/ika.d.ts +81 -0
  69. package/dist/lib/ika.js +192 -0
  70. package/dist/lib/ika.js.map +1 -0
  71. package/dist/lib/instructions.d.ts +79 -0
  72. package/dist/lib/instructions.js +421 -0
  73. package/dist/lib/instructions.js.map +1 -0
  74. package/dist/lib/protocol.d.ts +99 -0
  75. package/dist/lib/protocol.js +327 -0
  76. package/dist/lib/protocol.js.map +1 -0
  77. package/dist/lib/treasury-view.d.ts +11 -0
  78. package/dist/lib/treasury-view.js +126 -0
  79. package/dist/lib/treasury-view.js.map +1 -0
  80. package/dist/program-instructions.d.ts +1 -1
  81. package/dist/ui/dashboard.d.ts +7 -0
  82. package/dist/ui/dashboard.js +99 -0
  83. package/dist/ui/dashboard.js.map +1 -0
  84. package/dist/ui/format.d.ts +9 -0
  85. package/dist/ui/format.js +92 -0
  86. package/dist/ui/format.js.map +1 -0
  87. package/dist/ui/output.d.ts +58 -0
  88. package/dist/ui/output.js +208 -0
  89. package/dist/ui/output.js.map +1 -0
  90. package/dist/ui/theme.d.ts +52 -0
  91. package/dist/ui/theme.js +110 -0
  92. package/dist/ui/theme.js.map +1 -0
  93. package/dist/vendor/encrypt/generated/grpc/encrypt_service.d.ts +1 -1
  94. package/dist/vendor/encrypt/generated/grpc/encrypt_service.js +36 -13
  95. package/dist/vendor/encrypt/generated/grpc/encrypt_service.js.map +1 -1
  96. package/dist/vendor/encrypt/grpc.d.ts +2 -2
  97. package/dist/vendor/encrypt/grpc.js +1 -3
  98. package/dist/vendor/encrypt/grpc.js.map +1 -1
  99. package/dist/vendor/ika/bcs-types.js +107 -50
  100. package/dist/vendor/ika/bcs-types.js.map +1 -1
  101. package/dist/vendor/ika/generated/grpc/ika_dwallet.d.ts +1 -1
  102. package/dist/vendor/ika/generated/grpc/ika_dwallet.js +14 -4
  103. package/dist/vendor/ika/generated/grpc/ika_dwallet.js.map +1 -1
  104. package/dist/vendor/ika/grpc.d.ts +1 -1
  105. package/dist/vendor/ika/grpc.js +49 -24
  106. package/dist/vendor/ika/grpc.js.map +1 -1
  107. package/package.json +15 -12
  108. package/dist/ascii.d.ts +0 -1
  109. package/dist/ascii.js +0 -2
  110. package/dist/ascii.js.map +0 -1
@@ -1,52 +1,13 @@
1
+ import { accounts, instructions, } from "@aura-protocol/sdk-ts";
2
+ import { PublicKey, SystemProgram } from "@solana/web3.js";
1
3
  import BN from "bn.js";
2
- import { PublicKey, SystemProgram, TransactionInstruction, } from "@solana/web3.js";
3
- import {} from "commander";
4
- import { buildCliContext } from "../context.js";
5
- import { createTable, emitJson, printBanner, printSuccess, serializeInstruction, startSpinner, } from "../output.js";
6
- import { buildMessageDigestHex, deriveApprovedExecutionAccounts, getActivePendingProposal, getMessageApprovalState, parseCiphertextVerified, parseDecryptionReady, resolvePendingProposal, sendInstructionsWithBudget, waitForMessageApproval, } from "../protocol.js";
7
- import { requestDwalletSign } from "../ika.js";
8
- import { renderTreasurySections } from "../treasury-view.js";
4
+ import { buildCliContext } from "../core/context.js";
5
+ import { CliError } from "../core/errors.js";
6
+ import { runInstructions } from "../core/runner.js";
7
+ import { deriveApprovedExecutionAccounts, getActivePendingProposal, getMessageApprovalState, parseCiphertextVerified, parseDecryptionReady, resolvePendingProposal, waitForMessageApproval, } from "../lib/protocol.js";
8
+ import { renderTreasurySections } from "../lib/treasury-view.js";
9
+ import { createTable, printBanner, printInfo, startSpinner, } from "../ui/output.js";
9
10
  import { resolveTreasuryAccount } from "./helpers.js";
10
- function buildExecutePendingInstruction(options) {
11
- const keys = [
12
- { pubkey: options.ctx.wallet.publicKey, isSigner: true, isWritable: false },
13
- { pubkey: options.treasury, isSigner: false, isWritable: true },
14
- ];
15
- if (options.approvedAccounts) {
16
- keys.push({
17
- pubkey: options.approvedAccounts.messageApproval,
18
- isSigner: false,
19
- isWritable: true,
20
- }, {
21
- pubkey: options.approvedAccounts.dwalletAccount,
22
- isSigner: false,
23
- isWritable: false,
24
- }, { pubkey: options.ctx.programId, isSigner: false, isWritable: false }, {
25
- pubkey: options.approvedAccounts.cpiAuthority,
26
- isSigner: false,
27
- isWritable: false,
28
- }, {
29
- pubkey: options.approvedAccounts.dwalletProgram,
30
- isSigner: false,
31
- isWritable: false,
32
- }, {
33
- pubkey: options.approvedAccounts.dwalletCoordinator,
34
- isSigner: false,
35
- isWritable: false,
36
- });
37
- }
38
- else {
39
- keys.push({ pubkey: options.ctx.programId, isSigner: false, isWritable: false });
40
- }
41
- keys.push({ pubkey: SystemProgram.programId, isSigner: false, isWritable: false });
42
- return new TransactionInstruction({
43
- programId: options.ctx.programId,
44
- keys,
45
- data: options.ctx.client.coder.encode("executePending", {
46
- now: new BN(options.now),
47
- }),
48
- });
49
- }
50
11
  async function renderExecutionWatch(ctx, treasury, account) {
51
12
  const sections = renderTreasurySections(treasury, account);
52
13
  const live = createTable(["Live check", "Value"]);
@@ -54,7 +15,10 @@ async function renderExecutionWatch(ctx, treasury, account) {
54
15
  if (pending?.policyOutputCiphertextAccount) {
55
16
  const policyOutput = new PublicKey(pending.policyOutputCiphertextAccount);
56
17
  const info = await ctx.connection.getAccountInfo(policyOutput, "confirmed");
57
- live.push(["Policy output verified", parseCiphertextVerified(info) ? "Yes" : "No"]);
18
+ live.push([
19
+ "Policy output verified",
20
+ parseCiphertextVerified(info) ? "Yes" : "No",
21
+ ]);
58
22
  }
59
23
  if (pending?.decryptionRequest?.requestAccount) {
60
24
  const requestAccount = new PublicKey(pending.decryptionRequest.requestAccount);
@@ -67,12 +31,7 @@ async function renderExecutionWatch(ctx, treasury, account) {
67
31
  live.push(["Message approval", state]);
68
32
  }
69
33
  printBanner(ctx.output, `Execution Watch: ${account.agentId}`);
70
- if (sections.pending) {
71
- console.log(sections.pending);
72
- }
73
- else {
74
- console.log("No pending proposal.");
75
- }
34
+ console.log(sections.pending ?? "No pending proposal.");
76
35
  if (live.length > 0) {
77
36
  console.log("");
78
37
  console.log(live.toString());
@@ -87,105 +46,77 @@ export function registerExecutionCommands(program) {
87
46
  .description("Run execute_pending for the current proposal")
88
47
  .option("--agent-id <id>", "treasury agent ID")
89
48
  .option("--treasury <pda>", "treasury PDA")
90
- .option("--wait", "wait until message approval exists (approved) or pending clears (denied)")
49
+ .option("--wait", "wait until the message approval account exists")
91
50
  .option("--wait-signed", "wait until the message approval reaches signed status")
92
51
  .action(async function executionExecute() {
93
52
  const ctx = buildCliContext(this);
94
- if (!ctx.wallet) {
95
- throw new Error("A wallet is required to execute pending proposals.");
53
+ const wallet = ctx.wallet;
54
+ if (!wallet) {
55
+ throw new CliError("A wallet is required to execute pending proposals.", {
56
+ code: "WALLET_REQUIRED",
57
+ });
96
58
  }
97
59
  const options = this.opts();
98
60
  const treasuryState = await resolveTreasuryAccount(ctx, {
99
- agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
100
- treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
61
+ agentId: typeof options.agentId === "string" ? options.agentId : undefined,
62
+ treasury: typeof options.treasury === "string" ? options.treasury : undefined,
101
63
  });
102
64
  const pending = resolvePendingProposal(treasuryState.account);
103
- const approvedAccounts = pending.decision.approved
65
+ const approved = pending.decision.approved;
66
+ const approvedAccounts = approved
104
67
  ? deriveApprovedExecutionAccounts(treasuryState.account, {
105
68
  auraProgramId: ctx.programId,
106
69
  })
107
70
  : undefined;
108
- const now = Math.floor(Date.now() / 1000);
109
- const instruction = buildExecutePendingInstruction({
110
- ctx,
111
- treasury: treasuryState.treasury,
112
- now,
113
- approvedAccounts,
71
+ const instruction = await instructions.execution.executePending(ctx.client, {
72
+ accounts: {
73
+ operator: wallet.publicKey,
74
+ treasury: treasuryState.treasury,
75
+ messageApproval: approvedAccounts?.messageApproval ?? null,
76
+ dwallet: approvedAccounts?.dwalletAccount ?? null,
77
+ callerProgram: ctx.programId,
78
+ cpiAuthority: approvedAccounts?.cpiAuthority ?? null,
79
+ dwalletProgram: approvedAccounts?.dwalletProgram ?? null,
80
+ dwalletCoordinator: approvedAccounts?.dwalletCoordinator ?? null,
81
+ externalLiveness: null,
82
+ dwalletState: null,
83
+ systemProgram: SystemProgram.programId,
84
+ },
85
+ args: { now: new BN(Math.floor(Date.now() / 1000)) },
114
86
  });
115
- if (ctx.dryRun) {
116
- emitJson(ctx.output, {
117
- action: "execution.execute",
87
+ const outcome = await runInstructions(ctx, [instruction], {
88
+ action: approved
89
+ ? "Execute pending (request dWallet signing)"
90
+ : "Execute denial",
91
+ instructionName: "execute_pending",
92
+ summary: [
93
+ ["decision", approved ? "approved" : "denied"],
94
+ ...(approvedAccounts
95
+ ? [["approval", approvedAccounts.messageApproval.toBase58()]]
96
+ : []),
97
+ ],
98
+ result: {
118
99
  treasury: treasuryState.treasury,
119
- approved: pending.decision.approved,
100
+ approved,
120
101
  messageApproval: approvedAccounts?.messageApproval,
121
- instruction: serializeInstruction(instruction),
122
- });
123
- return;
124
- }
125
- const spinner = startSpinner(ctx.output, pending.decision.approved
126
- ? "Submitting execute_pending for live dWallet signing..."
127
- : "Submitting denial execution...");
128
- const signature = await sendInstructionsWithBudget({
129
- connection: ctx.connection,
130
- payer: ctx.wallet,
131
- instructions: [instruction],
102
+ },
132
103
  });
133
- if (pending.decision.approved && approvedAccounts && options["waitSigned"] === true) {
134
- spinner.setText("Waiting for message approval signature...");
135
- await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, "signed", { timeoutMs: 180_000 });
136
- }
137
- else if (pending.decision.approved && approvedAccounts && options["wait"] === true) {
138
- spinner.setText("Waiting for message approval account...");
139
- await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, "pending", { timeoutMs: 120_000 });
140
- // Drive the dWallet presign + sign flow via the Ika gRPC network.
141
- // Requires DKG session data (sessionIdentifier + dkgAttestation) which
142
- // is only available when the dWallet was provisioned in this process.
143
- // The CLI delegates signing to the backend; this path is a best-effort
144
- // fallback for direct CLI usage with a freshly provisioned dWallet.
145
- spinner.setText("Requesting dWallet presign + sign via Ika network...");
104
+ if (outcome.signature &&
105
+ approvedAccounts &&
106
+ (options.wait === true || options.waitSigned === true)) {
107
+ const target = options.waitSigned === true ? "signed" : "pending";
108
+ const spinner = startSpinner(ctx.output, `Waiting for message approval (${target})...`);
146
109
  try {
147
- const messageDigest = Buffer.from(buildMessageDigestHex(approvedAccounts.pending, approvedAccounts.dwallet), "hex");
148
- const txSigBytes = Buffer.from(Buffer.from(signature, "base64").length === 64
149
- ? Buffer.from(signature, "base64")
150
- : Buffer.alloc(64));
151
- // sessionIdentifier and dkgAttestation are not available in the CLI
152
- // (they come from DKG provisioning which happens in the backend).
153
- // Pass undefined — requestDwalletSign will throw a descriptive error
154
- // that is caught below and treated as non-fatal.
155
- const secretKey = ctx.wallet.secretKey;
156
- await requestDwalletSign(ctx.wallet.publicKey, approvedAccounts.dwalletAccount, messageDigest, txSigBytes, undefined, // grpcUrl — use default
157
- secretKey, undefined, // sessionIdentifier — not available in CLI
158
- undefined);
159
- spinner.setText("Waiting for message approval to be signed...");
160
- await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, "signed", { timeoutMs: 180_000 });
110
+ await waitForMessageApproval(ctx.connection, approvedAccounts.messageApproval, target, {
111
+ timeoutMs: 180_000,
112
+ });
113
+ spinner.succeed(`Message approval ${target}`);
161
114
  }
162
- catch (err) {
163
- // Non-fatal the message approval may already be signed or the
164
- // dWallet network may process it asynchronously. When using the
165
- // backend service, signing is triggered server-side instead.
166
- spinner.setText(`dWallet sign request: ${err instanceof Error ? err.message : String(err)}`);
115
+ catch (error) {
116
+ spinner.fail(`Timed out waiting for message approval (${target})`);
117
+ throw error;
167
118
  }
168
119
  }
169
- spinner.succeed("Execution request submitted");
170
- const refreshed = await ctx.client.getTreasuryAccount(treasuryState.treasury);
171
- const refreshedPending = getActivePendingProposal(refreshed);
172
- if (ctx.output.json) {
173
- emitJson(ctx.output, {
174
- treasury: treasuryState.treasury,
175
- signature,
176
- approved: pending.decision.approved,
177
- messageApproval: approvedAccounts?.messageApproval,
178
- pending: refreshedPending,
179
- });
180
- return;
181
- }
182
- if (!pending.decision.approved && !refreshedPending) {
183
- printSuccess(ctx.output, `Denied proposal cleared: ${signature}`);
184
- return;
185
- }
186
- printSuccess(ctx.output, pending.decision.approved
187
- ? `Execution request submitted: ${signature}`
188
- : `Execution request submitted: ${signature}`);
189
120
  });
190
121
  execution
191
122
  .command("finalize")
@@ -195,56 +126,61 @@ export function registerExecutionCommands(program) {
195
126
  .option("--message-approval <pubkey>", "override the pending message approval account")
196
127
  .action(async function executionFinalize() {
197
128
  const ctx = buildCliContext(this);
198
- if (!ctx.wallet) {
199
- throw new Error("A wallet is required to finalize execution.");
129
+ const wallet = ctx.wallet;
130
+ if (!wallet) {
131
+ throw new CliError("A wallet is required to finalize execution.", {
132
+ code: "WALLET_REQUIRED",
133
+ });
200
134
  }
201
135
  const options = this.opts();
202
136
  const treasuryState = await resolveTreasuryAccount(ctx, {
203
- agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
204
- treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
137
+ agentId: typeof options.agentId === "string" ? options.agentId : undefined,
138
+ treasury: typeof options.treasury === "string" ? options.treasury : undefined,
205
139
  });
206
140
  const pending = resolvePendingProposal(treasuryState.account);
207
- const messageApproval = typeof options["messageApproval"] === "string"
208
- ? new PublicKey(options["messageApproval"])
141
+ const messageApproval = typeof options.messageApproval === "string"
142
+ ? new PublicKey(options.messageApproval)
209
143
  : pending.signatureRequest?.messageApprovalAccount
210
144
  ? new PublicKey(pending.signatureRequest.messageApprovalAccount)
211
145
  : undefined;
212
146
  if (!messageApproval) {
213
- throw new Error("No message approval account is available for finalize_execution.");
214
- }
215
- const now = Math.floor(Date.now() / 1000);
216
- if (ctx.dryRun) {
217
- const instruction = await ctx.client.finalizeExecutionInstruction({
218
- operator: ctx.wallet.publicKey,
219
- treasury: treasuryState.treasury,
220
- messageApproval,
221
- }, now);
222
- emitJson(ctx.output, {
223
- action: "execution.finalize",
224
- treasury: treasuryState.treasury,
225
- messageApproval,
226
- instruction: serializeInstruction(instruction),
147
+ throw new CliError("No message approval account is available for finalize_execution.", {
148
+ code: "NO_MESSAGE_APPROVAL",
149
+ tip: "Run `aura execution execute --wait-signed` first, or pass --message-approval <pubkey>.",
227
150
  });
228
- return;
229
151
  }
230
- const spinner = startSpinner(ctx.output, "Finalizing execution...");
231
- const signature = await ctx.client.finalizeExecution(ctx.wallet, {
232
- operator: ctx.wallet.publicKey,
233
- treasury: treasuryState.treasury,
234
- messageApproval,
235
- }, now);
236
- const refreshed = await ctx.client.getTreasuryAccount(treasuryState.treasury);
237
- spinner.succeed("Execution finalized");
238
- if (ctx.output.json) {
239
- emitJson(ctx.output, {
152
+ const instruction = await instructions.execution.finalizeExecution(ctx.client, {
153
+ accounts: {
154
+ operator: wallet.publicKey,
240
155
  treasury: treasuryState.treasury,
241
- signature,
242
- totalTransactions: refreshed.totalTransactions,
243
- pending: getActivePendingProposal(refreshed),
244
- });
245
- return;
156
+ messageApproval,
157
+ swarmPool: null,
158
+ budgetEnvelope: null,
159
+ exposureGroup: null,
160
+ externalLiveness: null,
161
+ dwalletState: null,
162
+ scheduledIntent: null,
163
+ feeVault: null,
164
+ feeSchedule: null,
165
+ protocolConfig: null,
166
+ },
167
+ args: { now: new BN(Math.floor(Date.now() / 1000)) },
168
+ });
169
+ const outcome = await runInstructions(ctx, [instruction], {
170
+ action: "Finalize execution",
171
+ instructionName: "finalize_execution",
172
+ summary: [["approval", messageApproval.toBase58()]],
173
+ result: { treasury: treasuryState.treasury },
174
+ });
175
+ if (outcome.signature && !ctx.output.json) {
176
+ try {
177
+ const refreshed = await accounts.fetchTreasuryAccount(ctx.client, treasuryState.treasury);
178
+ printInfo(ctx.output, `total transactions: ${refreshed.totalTransactions}`);
179
+ }
180
+ catch {
181
+ // Non-fatal — confirmation already succeeded.
182
+ }
246
183
  }
247
- printSuccess(ctx.output, `Execution finalized: ${signature} (total tx ${refreshed.totalTransactions})`);
248
184
  });
249
185
  execution
250
186
  .command("watch")
@@ -255,13 +191,13 @@ export function registerExecutionCommands(program) {
255
191
  .action(async function executionWatch() {
256
192
  const ctx = buildCliContext(this);
257
193
  const options = this.opts();
258
- const intervalMs = typeof options["interval"] === "number" && options["interval"] > 0
259
- ? Math.floor(options["interval"] * 1000)
194
+ const intervalMs = typeof options.interval === "number" && options.interval > 0
195
+ ? Math.floor(options.interval * 1000)
260
196
  : 5000;
261
- while (true) {
197
+ for (;;) {
262
198
  const treasuryState = await resolveTreasuryAccount(ctx, {
263
- agentId: typeof options["agentId"] === "string" ? options["agentId"] : undefined,
264
- treasury: typeof options["treasury"] === "string" ? options["treasury"] : undefined,
199
+ agentId: typeof options.agentId === "string" ? options.agentId : undefined,
200
+ treasury: typeof options.treasury === "string" ? options.treasury : undefined,
265
201
  });
266
202
  if (!ctx.output.json) {
267
203
  console.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/commands/execution.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { type Command } from "commander";
1
+ import type { Command } from "commander";
2
2
  export declare function registerFeatureCommands(program: Command): void;
@@ -1,7 +1,6 @@
1
- import {} from "commander";
2
- import { buildCliContext } from "../context.js";
3
- import { AURA_FEATURE_DOMAINS, AURA_INSTRUCTION_FEATURES, getAuraFeatureDomain, } from "../sdk.js";
4
- import { createTable, emitJson, printBanner, printInfo, printTable } from "../output.js";
1
+ import { AURA_FEATURE_DOMAINS, AURA_INSTRUCTION_FEATURES, getAuraFeatureDomain, } from "@aura-protocol/sdk-ts";
2
+ import { buildCliContext } from "../core/context.js";
3
+ import { createTable, emitJson, printBanner, printInfo, printTable, } from "../ui/output.js";
5
4
  const maturityLabels = {
6
5
  wallet: "wallet",
7
6
  backend: "backend",
@@ -46,12 +45,14 @@ export function registerFeatureCommands(program) {
46
45
  .action(async function featuresList() {
47
46
  const ctx = buildCliContext(this, { needsWallet: false });
48
47
  const options = this.opts();
49
- const domainFilter = parseDomain(options["domain"]);
50
- const maturityFilter = parseMaturity(options["maturity"]);
51
- const domains = AURA_FEATURE_DOMAINS.filter((domain) => domainFilter ? domain.id === domainFilter : true).map((domain) => ({
48
+ const domainFilter = parseDomain(options.domain);
49
+ const maturityFilter = parseMaturity(options.maturity);
50
+ const domains = AURA_FEATURE_DOMAINS.filter((domain) => domainFilter ? domain.id === domainFilter : true)
51
+ .map((domain) => ({
52
52
  ...domain,
53
53
  instructions: domain.instructions.filter((instruction) => maturityFilter ? instruction.maturity === maturityFilter : true),
54
- })).filter((domain) => domain.instructions.length > 0);
54
+ }))
55
+ .filter((domain) => domain.instructions.length > 0);
55
56
  const instructionCount = domains.reduce((total, domain) => total + domain.instructions.length, 0);
56
57
  if (ctx.output.json) {
57
58
  emitJson(ctx.output, {
@@ -80,8 +81,12 @@ export function registerFeatureCommands(program) {
80
81
  summary.push([
81
82
  `${domain.label}\n${domain.id}`,
82
83
  domain.instructions.length.toString(),
83
- domain.instructions.filter((entry) => entry.maturity === "wallet").length.toString(),
84
- domain.instructions.filter((entry) => entry.maturity === "backend").length.toString(),
84
+ domain.instructions
85
+ .filter((entry) => entry.maturity === "wallet")
86
+ .length.toString(),
87
+ domain.instructions
88
+ .filter((entry) => entry.maturity === "backend")
89
+ .length.toString(),
85
90
  domain.instructions
86
91
  .filter((entry) => entry.maturity === "external_cpi")
87
92
  .length.toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/commands/features.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../src/commands/features.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Generates a discoverable, fully-covering command surface from the program's
3
+ * own metadata. For every domain in `AURA_FEATURE_DOMAINS` and every instruction
4
+ * within it, this registers `aura <domain> <instruction>` — e.g.
5
+ * `aura policy create-policy-template` or `aura budget configure-budget-envelope`.
6
+ *
7
+ * Because it is driven by the IDL + program-surface catalog, coverage never
8
+ * drifts from the deployed program: new instructions appear automatically once
9
+ * the SDK is regenerated. Ergonomic command groups (treasury, dwallet, ...) are
10
+ * registered first; this generator merges generated subcommands into those same
11
+ * groups, skipping any name an ergonomic verb already claimed.
12
+ */
13
+ import type { Command } from "commander";
14
+ /**
15
+ * Registers the generated per-domain instruction subcommands. Must run AFTER the
16
+ * ergonomic command groups so it can merge into them without clobbering verbs.
17
+ */
18
+ export declare function registerGeneratedCommands(program: Command): void;
19
+ /** Count of instructions the generator can register (for tests / diagnostics). */
20
+ export declare function generatedInstructionCount(): number;
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Generates a discoverable, fully-covering command surface from the program's
3
+ * own metadata. For every domain in `AURA_FEATURE_DOMAINS` and every instruction
4
+ * within it, this registers `aura <domain> <instruction>` — e.g.
5
+ * `aura policy create-policy-template` or `aura budget configure-budget-envelope`.
6
+ *
7
+ * Because it is driven by the IDL + program-surface catalog, coverage never
8
+ * drifts from the deployed program: new instructions appear automatically once
9
+ * the SDK is regenerated. Ergonomic command groups (treasury, dwallet, ...) are
10
+ * registered first; this generator merges generated subcommands into those same
11
+ * groups, skipping any name an ergonomic verb already claimed.
12
+ */
13
+ import { AURA_FEATURE_DOMAINS } from "@aura-protocol/sdk-ts";
14
+ import { style } from "../ui/theme.js";
15
+ import { addBuildOptions, execInstruction, instructionHelpText, } from "./instruction-exec.js";
16
+ /** Anchor instruction names are snake_case; CLI subcommands are kebab-case. */
17
+ function toKebab(name) {
18
+ return name.replace(/_/g, "-");
19
+ }
20
+ /** Reuses an existing top-level group (e.g. an ergonomic `treasury`) or creates one. */
21
+ function findOrCreateGroup(program, id, description) {
22
+ const existing = program.commands.find((command) => command.name() === id);
23
+ if (existing) {
24
+ return existing;
25
+ }
26
+ return program.command(id).description(description);
27
+ }
28
+ /** True if `group` already has a subcommand using `name` (as a name or alias). */
29
+ function hasSubcommand(group, name) {
30
+ return group.commands.some((command) => command.name() === name || command.aliases().includes(name));
31
+ }
32
+ /**
33
+ * Registers the generated per-domain instruction subcommands. Must run AFTER the
34
+ * ergonomic command groups so it can merge into them without clobbering verbs.
35
+ */
36
+ export function registerGeneratedCommands(program) {
37
+ for (const domain of AURA_FEATURE_DOMAINS) {
38
+ const group = findOrCreateGroup(program, domain.id, domain.description);
39
+ for (const feature of domain.instructions) {
40
+ const sub = toKebab(feature.name);
41
+ if (hasSubcommand(group, sub)) {
42
+ continue;
43
+ }
44
+ const cmd = group
45
+ .command(sub)
46
+ .summary(feature.label)
47
+ .description(`${feature.description} ${style.dim(`[${feature.maturity}]`)}`);
48
+ addBuildOptions(cmd);
49
+ // Defer schema rendering until `--help` is actually requested.
50
+ cmd.addHelpText("after", () => instructionHelpText(feature.name));
51
+ cmd.action(async function generatedInstruction() {
52
+ await execInstruction(this, feature.name);
53
+ });
54
+ }
55
+ }
56
+ }
57
+ /** Count of instructions the generator can register (for tests / diagnostics). */
58
+ export function generatedInstructionCount() {
59
+ return AURA_FEATURE_DOMAINS.reduce((total, domain) => total + domain.instructions.length, 0);
60
+ }
61
+ //# sourceMappingURL=generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated.js","sourceRoot":"","sources":["../../src/commands/generated.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EACL,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAE/B,+EAA+E;AAC/E,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,wFAAwF;AACxF,SAAS,iBAAiB,CACxB,OAAgB,EAChB,EAAU,EACV,WAAmB;IAEnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;AACtD,CAAC;AAED,kFAAkF;AAClF,SAAS,aAAa,CAAC,KAAc,EAAE,IAAY;IACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CACxB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CACzE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAExE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9B,SAAS;YACX,CAAC;YAED,MAAM,GAAG,GAAG,KAAK;iBACd,OAAO,CAAC,GAAG,CAAC;iBACZ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;iBACtB,WAAW,CACV,GAAG,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,GAAG,CAAC,EAAE,CAC/D,CAAC;YAEJ,eAAe,CAAC,GAAG,CAAC,CAAC;YACrB,+DAA+D;YAC/D,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,MAAM,CAAC,KAAK,UAAU,oBAAoB;gBAC5C,MAAM,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,yBAAyB;IACvC,OAAO,oBAAoB,CAAC,MAAM,CAChC,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,EACrD,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- import { type Command } from "commander";
1
+ import type { Command } from "commander";
2
2
  export declare function registerGovernanceCommands(program: Command): void;