@manifest-network/manifest-mcp-browser 0.1.5 → 0.1.7

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 (63) hide show
  1. package/CLAUDE.md +7 -4
  2. package/dist/modules.d.ts.map +1 -1
  3. package/dist/modules.js +75 -0
  4. package/dist/modules.js.map +1 -1
  5. package/dist/modules.test.js +4 -0
  6. package/dist/modules.test.js.map +1 -1
  7. package/dist/queries/group.d.ts +12 -0
  8. package/dist/queries/group.d.ts.map +1 -0
  9. package/dist/queries/group.js +107 -0
  10. package/dist/queries/group.js.map +1 -0
  11. package/dist/queries/index.d.ts +1 -0
  12. package/dist/queries/index.d.ts.map +1 -1
  13. package/dist/queries/index.js +1 -0
  14. package/dist/queries/index.js.map +1 -1
  15. package/dist/queries/sku.d.ts +13 -0
  16. package/dist/queries/sku.d.ts.map +1 -0
  17. package/dist/queries/sku.js +60 -0
  18. package/dist/queries/sku.js.map +1 -0
  19. package/dist/queries/utils.d.ts +3 -0
  20. package/dist/queries/utils.d.ts.map +1 -1
  21. package/dist/queries/utils.js +2 -1
  22. package/dist/queries/utils.js.map +1 -1
  23. package/dist/transactions/billing.d.ts.map +1 -1
  24. package/dist/transactions/billing.js +97 -4
  25. package/dist/transactions/billing.js.map +1 -1
  26. package/dist/transactions/gov.d.ts.map +1 -1
  27. package/dist/transactions/gov.js +3 -26
  28. package/dist/transactions/gov.js.map +1 -1
  29. package/dist/transactions/group.d.ts +7 -0
  30. package/dist/transactions/group.d.ts.map +1 -0
  31. package/dist/transactions/group.js +339 -0
  32. package/dist/transactions/group.js.map +1 -0
  33. package/dist/transactions/index.d.ts +1 -0
  34. package/dist/transactions/index.d.ts.map +1 -1
  35. package/dist/transactions/index.js +1 -0
  36. package/dist/transactions/index.js.map +1 -1
  37. package/dist/transactions/sku.d.ts +7 -0
  38. package/dist/transactions/sku.d.ts.map +1 -0
  39. package/dist/transactions/sku.js +184 -0
  40. package/dist/transactions/sku.js.map +1 -0
  41. package/dist/transactions/utils.d.ts +39 -0
  42. package/dist/transactions/utils.d.ts.map +1 -1
  43. package/dist/transactions/utils.js +45 -0
  44. package/dist/transactions/utils.js.map +1 -1
  45. package/dist/transactions/utils.test.js +97 -1
  46. package/dist/transactions/utils.test.js.map +1 -1
  47. package/dist/types.d.ts +46 -1
  48. package/dist/types.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/src/modules.test.ts +4 -0
  51. package/src/modules.ts +75 -0
  52. package/src/queries/group.ts +146 -0
  53. package/src/queries/index.ts +1 -0
  54. package/src/queries/sku.ts +85 -0
  55. package/src/queries/utils.ts +4 -1
  56. package/src/transactions/billing.ts +126 -5
  57. package/src/transactions/gov.ts +3 -30
  58. package/src/transactions/group.ts +458 -0
  59. package/src/transactions/index.ts +1 -0
  60. package/src/transactions/sku.ts +232 -0
  61. package/src/transactions/utils.test.ts +109 -1
  62. package/src/transactions/utils.ts +72 -0
  63. package/src/types.ts +78 -1
package/dist/types.d.ts CHANGED
@@ -299,10 +299,55 @@ export interface ProviderWithdrawableResult {
299
299
  export interface CreditEstimateResult {
300
300
  readonly estimate: unknown;
301
301
  }
302
+ export interface GroupInfoResult {
303
+ readonly info?: unknown;
304
+ }
305
+ export interface GroupPolicyInfoResult {
306
+ readonly info?: unknown;
307
+ }
308
+ export interface GroupMembersResult extends PaginatedResult {
309
+ readonly members: readonly unknown[];
310
+ }
311
+ export interface GroupsResult extends PaginatedResult {
312
+ readonly groups: readonly unknown[];
313
+ }
314
+ export interface GroupPoliciesResult extends PaginatedResult {
315
+ readonly groupPolicies: readonly unknown[];
316
+ }
317
+ export interface GroupProposalResult {
318
+ readonly proposal?: unknown;
319
+ }
320
+ export interface GroupProposalsResult extends PaginatedResult {
321
+ readonly proposals: readonly unknown[];
322
+ }
323
+ export interface GroupVoteResult {
324
+ readonly vote?: unknown;
325
+ }
326
+ export interface GroupVotesResult extends PaginatedResult {
327
+ readonly votes: readonly unknown[];
328
+ }
329
+ export interface GroupTallyResult {
330
+ readonly tally?: unknown;
331
+ }
332
+ export interface SkuParamsResult {
333
+ readonly params?: unknown;
334
+ }
335
+ export interface ProviderResult {
336
+ readonly provider?: unknown;
337
+ }
338
+ export interface ProvidersResult extends PaginatedResult {
339
+ readonly providers: readonly unknown[];
340
+ }
341
+ export interface SkuResult {
342
+ readonly sku?: unknown;
343
+ }
344
+ export interface SkusResult extends PaginatedResult {
345
+ readonly skus: readonly unknown[];
346
+ }
302
347
  /**
303
348
  * Union type of all query results for type-safe handling
304
349
  */
305
- export type QueryResult = BalanceResult | BalancesResult | TotalSupplyResult | SupplyOfResult | DenomMetadataResult | DenomsMetadataResult | SendEnabledResult | BankParamsResult | DelegationResult | DelegationsResult | UnbondingDelegationResult | UnbondingDelegationsResult | RedelegationsResult | ValidatorResult | ValidatorsResult | StakingPoolResult | StakingParamsResult | HistoricalInfoResult | RewardsResult | CommissionResult | CommunityPoolResult | DistributionParamsResult | ValidatorOutstandingRewardsResult | SlashesResult | DelegatorValidatorsResult | DelegatorWithdrawAddressResult | ProposalResult | ProposalsResult | VoteResult | VotesResult | DepositResult | DepositsResult | TallyResult | GovParamsResult | AuthAccountResult | AuthAccountsResult | AuthParamsResult | ModuleAccountsResult | AddressBytesToStringResult | AddressStringToBytesResult | Bech32PrefixResult | AccountInfoResult | BillingParamsResult | LeaseResult | LeasesResult | CreditAccountResult | CreditAccountsResult | CreditAddressResult | WithdrawableAmountResult | ProviderWithdrawableResult | CreditEstimateResult;
350
+ export type QueryResult = BalanceResult | BalancesResult | TotalSupplyResult | SupplyOfResult | DenomMetadataResult | DenomsMetadataResult | SendEnabledResult | BankParamsResult | DelegationResult | DelegationsResult | UnbondingDelegationResult | UnbondingDelegationsResult | RedelegationsResult | ValidatorResult | ValidatorsResult | StakingPoolResult | StakingParamsResult | HistoricalInfoResult | RewardsResult | CommissionResult | CommunityPoolResult | DistributionParamsResult | ValidatorOutstandingRewardsResult | SlashesResult | DelegatorValidatorsResult | DelegatorWithdrawAddressResult | ProposalResult | ProposalsResult | VoteResult | VotesResult | DepositResult | DepositsResult | TallyResult | GovParamsResult | AuthAccountResult | AuthAccountsResult | AuthParamsResult | ModuleAccountsResult | AddressBytesToStringResult | AddressStringToBytesResult | Bech32PrefixResult | AccountInfoResult | BillingParamsResult | LeaseResult | LeasesResult | CreditAccountResult | CreditAccountsResult | CreditAddressResult | WithdrawableAmountResult | ProviderWithdrawableResult | CreditEstimateResult | SkuParamsResult | ProviderResult | ProvidersResult | SkuResult | SkusResult | GroupInfoResult | GroupPolicyInfoResult | GroupMembersResult | GroupsResult | GroupPoliciesResult | GroupProposalResult | GroupProposalsResult | GroupVoteResult | GroupVotesResult | GroupTallyResult;
306
351
  /**
307
352
  * Result from a Cosmos query
308
353
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@manifest-network/manifest-mcp-browser",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Browser-compatible MCP server for Cosmos SDK blockchain interactions with Manifest Network using CosmJS",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -28,6 +28,8 @@ describe('getAvailableModules', () => {
28
28
  expect(queryNames).toContain('gov');
29
29
  expect(queryNames).toContain('auth');
30
30
  expect(queryNames).toContain('billing');
31
+ expect(queryNames).toContain('sku');
32
+ expect(queryNames).toContain('group');
31
33
  });
32
34
 
33
35
  it('should include expected tx modules', () => {
@@ -40,6 +42,8 @@ describe('getAvailableModules', () => {
40
42
  expect(txNames).toContain('gov');
41
43
  expect(txNames).toContain('billing');
42
44
  expect(txNames).toContain('manifest');
45
+ expect(txNames).toContain('sku');
46
+ expect(txNames).toContain('group');
43
47
  });
44
48
  });
45
49
 
package/src/modules.ts CHANGED
@@ -9,6 +9,8 @@ import { routeDistributionQuery } from './queries/distribution.js';
9
9
  import { routeGovQuery } from './queries/gov.js';
10
10
  import { routeAuthQuery } from './queries/auth.js';
11
11
  import { routeBillingQuery } from './queries/billing.js';
12
+ import { routeSkuQuery } from './queries/sku.js';
13
+ import { routeGroupQuery } from './queries/group.js';
12
14
 
13
15
  // Import transaction handlers
14
16
  import { routeBankTransaction } from './transactions/bank.js';
@@ -17,6 +19,8 @@ import { routeDistributionTransaction } from './transactions/distribution.js';
17
19
  import { routeGovTransaction } from './transactions/gov.js';
18
20
  import { routeBillingTransaction } from './transactions/billing.js';
19
21
  import { routeManifestTransaction } from './transactions/manifest.js';
22
+ import { routeSkuTransaction } from './transactions/sku.js';
23
+ import { routeGroupTransaction } from './transactions/group.js';
20
24
 
21
25
  /**
22
26
  * Handler function type for query modules
@@ -189,6 +193,39 @@ const QUERY_MODULES: QueryModuleRegistry = {
189
193
  { name: 'credit-estimate', description: 'Query credit estimate for a tenant' },
190
194
  ],
191
195
  },
196
+ sku: {
197
+ description: 'Querying commands for the Manifest SKU module',
198
+ handler: routeSkuQuery,
199
+ subcommands: [
200
+ { name: 'params', description: 'Query SKU module parameters' },
201
+ { name: 'provider', description: 'Query a provider by UUID', args: '<provider-uuid>' },
202
+ { name: 'providers', description: 'Query all providers', args: '[--active-only] [--limit N]' },
203
+ { name: 'sku', description: 'Query a SKU by UUID', args: '<sku-uuid>' },
204
+ { name: 'skus', description: 'Query all SKUs', args: '[--active-only] [--limit N]' },
205
+ { name: 'skus-by-provider', description: 'Query SKUs by provider UUID', args: '<provider-uuid> [--active-only] [--limit N]' },
206
+ { name: 'provider-by-address', description: 'Query providers by address', args: '<address> [--active-only] [--limit N]' },
207
+ ],
208
+ },
209
+ group: {
210
+ description: 'Querying commands for the group module',
211
+ handler: routeGroupQuery,
212
+ subcommands: [
213
+ { name: 'group-info', description: 'Query group info by ID', args: '<group-id>' },
214
+ { name: 'group-policy-info', description: 'Query group policy info by address', args: '<group-policy-address>' },
215
+ { name: 'group-members', description: 'Query group members', args: '<group-id> [--limit N]' },
216
+ { name: 'groups-by-admin', description: 'Query groups by admin address', args: '<admin-address> [--limit N]' },
217
+ { name: 'group-policies-by-group', description: 'Query group policies by group ID', args: '<group-id> [--limit N]' },
218
+ { name: 'group-policies-by-admin', description: 'Query group policies by admin address', args: '<admin-address> [--limit N]' },
219
+ { name: 'proposal', description: 'Query a group proposal by ID', args: '<proposal-id>' },
220
+ { name: 'proposals-by-group-policy', description: 'Query proposals by group policy address', args: '<group-policy-address> [--limit N]' },
221
+ { name: 'vote', description: 'Query a vote by proposal ID and voter', args: '<proposal-id> <voter-address>' },
222
+ { name: 'votes-by-proposal', description: 'Query votes by proposal ID', args: '<proposal-id> [--limit N]' },
223
+ { name: 'votes-by-voter', description: 'Query votes by voter address', args: '<voter-address> [--limit N]' },
224
+ { name: 'groups-by-member', description: 'Query groups by member address', args: '<member-address> [--limit N]' },
225
+ { name: 'tally', description: 'Query tally result for a proposal', args: '<proposal-id>' },
226
+ { name: 'groups', description: 'Query all groups', args: '[--limit N]' },
227
+ ],
228
+ },
192
229
  };
193
230
 
194
231
  /**
@@ -240,6 +277,11 @@ const TX_MODULES: TxModuleRegistry = {
240
277
  { name: 'create-lease', description: 'Create a new lease', args: '[--meta-hash <hex>] <sku-uuid:quantity>... (e.g., sku-123:1 sku-456:2)' },
241
278
  { name: 'close-lease', description: 'Close one or more leases', args: '[--reason <text>] <lease-uuid>... (e.g., lease-123 lease-456)' },
242
279
  { name: 'withdraw', description: 'Withdraw earnings from leases', args: '<lease-uuid>... OR --provider <provider-uuid> [--limit <1-100>]' },
280
+ { name: 'create-lease-for-tenant', description: 'Create a lease on behalf of a tenant', args: '<tenant-address> [--meta-hash <hex>] <sku-uuid:quantity>...' },
281
+ { name: 'acknowledge-lease', description: 'Acknowledge one or more pending leases', args: '<lease-uuid>...' },
282
+ { name: 'reject-lease', description: 'Reject one or more pending leases', args: '[--reason <text>] <lease-uuid>...' },
283
+ { name: 'cancel-lease', description: 'Cancel one or more pending leases', args: '<lease-uuid>...' },
284
+ { name: 'update-params', description: 'Update billing module parameters (governance)', args: '<max-leases-per-tenant> <max-items-per-lease> <min-lease-duration> <max-pending-leases-per-tenant> <pending-timeout> [<allowed-address>...]' },
243
285
  ],
244
286
  },
245
287
  manifest: {
@@ -250,6 +292,39 @@ const TX_MODULES: TxModuleRegistry = {
250
292
  { name: 'burn-held-balance', description: 'Burn held balance' },
251
293
  ],
252
294
  },
295
+ sku: {
296
+ description: 'Manifest SKU module transaction subcommands',
297
+ handler: routeSkuTransaction,
298
+ subcommands: [
299
+ { name: 'create-provider', description: 'Create a new provider', args: '<address> <payout-address> <api-url> [--meta-hash <hex>]' },
300
+ { name: 'update-provider', description: 'Update an existing provider', args: '<provider-uuid> <address> <payout-address> <api-url> [--meta-hash <hex>] [--active <true|false>]' },
301
+ { name: 'deactivate-provider', description: 'Deactivate a provider', args: '<provider-uuid>' },
302
+ { name: 'create-sku', description: 'Create a new SKU', args: '<provider-uuid> <name> <unit (per-hour|per-day)> <base-price> [--meta-hash <hex>]' },
303
+ { name: 'update-sku', description: 'Update an existing SKU', args: '<sku-uuid> <provider-uuid> <name> <unit (per-hour|per-day)> <base-price> [--meta-hash <hex>] [--active <true|false>]' },
304
+ { name: 'deactivate-sku', description: 'Deactivate a SKU', args: '<sku-uuid>' },
305
+ { name: 'update-params', description: 'Update SKU module parameters (governance)', args: '<allowed-address>...' },
306
+ ],
307
+ },
308
+ group: {
309
+ description: 'Group module transaction subcommands',
310
+ handler: routeGroupTransaction,
311
+ subcommands: [
312
+ { name: 'create-group', description: 'Create a new group', args: '<metadata> <address:weight>...' },
313
+ { name: 'update-group-members', description: 'Update group members', args: '<group-id> <address:weight>...' },
314
+ { name: 'update-group-admin', description: 'Update group admin', args: '<group-id> <new-admin-address>' },
315
+ { name: 'update-group-metadata', description: 'Update group metadata', args: '<group-id> <metadata>' },
316
+ { name: 'create-group-policy', description: 'Create a group policy', args: '<group-id> <metadata> <policy-type> <threshold-or-pct> <voting-period-secs> <min-execution-period-secs>' },
317
+ { name: 'update-group-policy-admin', description: 'Update group policy admin', args: '<group-policy-address> <new-admin-address>' },
318
+ { name: 'create-group-with-policy', description: 'Create a group with policy', args: '<group-metadata> <group-policy-metadata> <policy-type> <threshold-or-pct> <voting-period-secs> <min-execution-period-secs> [--group-policy-as-admin] <address:weight>...' },
319
+ { name: 'update-group-policy-decision-policy', description: 'Update group policy decision policy', args: '<group-policy-address> <policy-type> <threshold-or-pct> <voting-period-secs> <min-execution-period-secs>' },
320
+ { name: 'update-group-policy-metadata', description: 'Update group policy metadata', args: '<group-policy-address> <metadata>' },
321
+ { name: 'submit-proposal', description: 'Submit a group proposal', args: '<group-policy-address> <title> <summary> [--exec try] [--metadata <text>] [<message-json>...]' },
322
+ { name: 'withdraw-proposal', description: 'Withdraw a group proposal', args: '<proposal-id>' },
323
+ { name: 'vote', description: 'Vote on a group proposal', args: '<proposal-id> <option (yes|no|abstain|no_with_veto)> [--metadata <text>] [--exec try]' },
324
+ { name: 'exec', description: 'Execute a passed group proposal', args: '<proposal-id>' },
325
+ { name: 'leave-group', description: 'Leave a group', args: '<group-id>' },
326
+ ],
327
+ },
253
328
  };
254
329
 
255
330
  /**
@@ -0,0 +1,146 @@
1
+ import { ManifestQueryClient } from '../client.js';
2
+ import {
3
+ GroupInfoResult, GroupPolicyInfoResult, GroupMembersResult,
4
+ GroupsResult, GroupPoliciesResult, GroupProposalResult,
5
+ GroupProposalsResult, GroupVoteResult, GroupVotesResult,
6
+ GroupTallyResult
7
+ } from '../types.js';
8
+ import { parseBigInt, requireArgs, extractPaginationArgs, validateAddress } from './utils.js';
9
+ import { throwUnsupportedSubcommand } from '../modules.js';
10
+
11
+ /** Group query result union type */
12
+ type GroupQueryResult =
13
+ | GroupInfoResult
14
+ | GroupPolicyInfoResult
15
+ | GroupMembersResult
16
+ | GroupsResult
17
+ | GroupPoliciesResult
18
+ | GroupProposalResult
19
+ | GroupProposalsResult
20
+ | GroupVoteResult
21
+ | GroupVotesResult
22
+ | GroupTallyResult;
23
+
24
+ /**
25
+ * Route group module query to manifestjs query client
26
+ *
27
+ * Paginated queries support --limit flag (default: 100, max: 1000)
28
+ */
29
+ export async function routeGroupQuery(
30
+ queryClient: ManifestQueryClient,
31
+ subcommand: string,
32
+ args: string[]
33
+ ): Promise<GroupQueryResult> {
34
+ const group = queryClient.cosmos.group.v1;
35
+
36
+ switch (subcommand) {
37
+ case 'group-info': {
38
+ requireArgs(args, 1, ['group-id'], 'group group-info');
39
+ const groupId = parseBigInt(args[0], 'group-id');
40
+ const result = await group.groupInfo({ groupId });
41
+ return { info: result.info };
42
+ }
43
+
44
+ case 'group-policy-info': {
45
+ requireArgs(args, 1, ['group-policy-address'], 'group group-policy-info');
46
+ validateAddress(args[0], 'group policy address');
47
+ const result = await group.groupPolicyInfo({ address: args[0] });
48
+ return { info: result.info };
49
+ }
50
+
51
+ case 'group-members': {
52
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group group-members');
53
+ requireArgs(remainingArgs, 1, ['group-id'], 'group group-members');
54
+ const groupId = parseBigInt(remainingArgs[0], 'group-id');
55
+ const result = await group.groupMembers({ groupId, pagination });
56
+ return { members: result.members, pagination: result.pagination };
57
+ }
58
+
59
+ case 'groups-by-admin': {
60
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group groups-by-admin');
61
+ requireArgs(remainingArgs, 1, ['admin-address'], 'group groups-by-admin');
62
+ validateAddress(remainingArgs[0], 'admin address');
63
+ const result = await group.groupsByAdmin({ admin: remainingArgs[0], pagination });
64
+ return { groups: result.groups, pagination: result.pagination };
65
+ }
66
+
67
+ case 'group-policies-by-group': {
68
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group group-policies-by-group');
69
+ requireArgs(remainingArgs, 1, ['group-id'], 'group group-policies-by-group');
70
+ const groupId = parseBigInt(remainingArgs[0], 'group-id');
71
+ const result = await group.groupPoliciesByGroup({ groupId, pagination });
72
+ return { groupPolicies: result.groupPolicies, pagination: result.pagination };
73
+ }
74
+
75
+ case 'group-policies-by-admin': {
76
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group group-policies-by-admin');
77
+ requireArgs(remainingArgs, 1, ['admin-address'], 'group group-policies-by-admin');
78
+ validateAddress(remainingArgs[0], 'admin address');
79
+ const result = await group.groupPoliciesByAdmin({ admin: remainingArgs[0], pagination });
80
+ return { groupPolicies: result.groupPolicies, pagination: result.pagination };
81
+ }
82
+
83
+ case 'proposal': {
84
+ requireArgs(args, 1, ['proposal-id'], 'group proposal');
85
+ const proposalId = parseBigInt(args[0], 'proposal-id');
86
+ const result = await group.proposal({ proposalId });
87
+ return { proposal: result.proposal };
88
+ }
89
+
90
+ case 'proposals-by-group-policy': {
91
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group proposals-by-group-policy');
92
+ requireArgs(remainingArgs, 1, ['group-policy-address'], 'group proposals-by-group-policy');
93
+ validateAddress(remainingArgs[0], 'group policy address');
94
+ const result = await group.proposalsByGroupPolicy({ address: remainingArgs[0], pagination });
95
+ return { proposals: result.proposals, pagination: result.pagination };
96
+ }
97
+
98
+ case 'vote': {
99
+ requireArgs(args, 2, ['proposal-id', 'voter-address'], 'group vote');
100
+ const proposalId = parseBigInt(args[0], 'proposal-id');
101
+ validateAddress(args[1], 'voter address');
102
+ const result = await group.voteByProposalVoter({ proposalId, voter: args[1] });
103
+ return { vote: result.vote };
104
+ }
105
+
106
+ case 'votes-by-proposal': {
107
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group votes-by-proposal');
108
+ requireArgs(remainingArgs, 1, ['proposal-id'], 'group votes-by-proposal');
109
+ const proposalId = parseBigInt(remainingArgs[0], 'proposal-id');
110
+ const result = await group.votesByProposal({ proposalId, pagination });
111
+ return { votes: result.votes, pagination: result.pagination };
112
+ }
113
+
114
+ case 'votes-by-voter': {
115
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group votes-by-voter');
116
+ requireArgs(remainingArgs, 1, ['voter-address'], 'group votes-by-voter');
117
+ validateAddress(remainingArgs[0], 'voter address');
118
+ const result = await group.votesByVoter({ voter: remainingArgs[0], pagination });
119
+ return { votes: result.votes, pagination: result.pagination };
120
+ }
121
+
122
+ case 'groups-by-member': {
123
+ const { pagination, remainingArgs } = extractPaginationArgs(args, 'group groups-by-member');
124
+ requireArgs(remainingArgs, 1, ['member-address'], 'group groups-by-member');
125
+ validateAddress(remainingArgs[0], 'member address');
126
+ const result = await group.groupsByMember({ address: remainingArgs[0], pagination });
127
+ return { groups: result.groups, pagination: result.pagination };
128
+ }
129
+
130
+ case 'tally': {
131
+ requireArgs(args, 1, ['proposal-id'], 'group tally');
132
+ const proposalId = parseBigInt(args[0], 'proposal-id');
133
+ const result = await group.tallyResult({ proposalId });
134
+ return { tally: result.tally };
135
+ }
136
+
137
+ case 'groups': {
138
+ const { pagination } = extractPaginationArgs(args, 'group groups');
139
+ const result = await group.groups({ pagination });
140
+ return { groups: result.groups, pagination: result.pagination };
141
+ }
142
+
143
+ default:
144
+ throwUnsupportedSubcommand('query', 'group', subcommand);
145
+ }
146
+ }
@@ -14,3 +14,4 @@ export { routeDistributionQuery } from './distribution.js';
14
14
  export { routeGovQuery } from './gov.js';
15
15
  export { routeAuthQuery } from './auth.js';
16
16
  export { routeBillingQuery } from './billing.js';
17
+ export { routeGroupQuery } from './group.js';
@@ -0,0 +1,85 @@
1
+ import { ManifestQueryClient } from '../client.js';
2
+ import {
3
+ SkuParamsResult, ProviderResult, ProvidersResult,
4
+ SkuResult, SkusResult
5
+ } from '../types.js';
6
+ import { requireArgs, extractPaginationArgs, extractBooleanFlag } from './utils.js';
7
+ import { throwUnsupportedSubcommand } from '../modules.js';
8
+
9
+ /** SKU query result union type */
10
+ type SkuQueryResult =
11
+ | SkuParamsResult
12
+ | ProviderResult
13
+ | ProvidersResult
14
+ | SkuResult
15
+ | SkusResult;
16
+
17
+ /**
18
+ * Route SKU module query to manifestjs query client
19
+ *
20
+ * Paginated queries support --limit flag (default: 100, max: 1000)
21
+ * Filterable queries support --active-only flag
22
+ */
23
+ export async function routeSkuQuery(
24
+ queryClient: ManifestQueryClient,
25
+ subcommand: string,
26
+ args: string[]
27
+ ): Promise<SkuQueryResult> {
28
+ const sku = queryClient.liftedinit.sku.v1;
29
+
30
+ switch (subcommand) {
31
+ case 'params': {
32
+ const result = await sku.params({});
33
+ return { params: result.params };
34
+ }
35
+
36
+ case 'provider': {
37
+ requireArgs(args, 1, ['provider-uuid'], 'sku provider');
38
+ const [uuid] = args;
39
+ const result = await sku.provider({ uuid });
40
+ return { provider: result.provider };
41
+ }
42
+
43
+ case 'providers': {
44
+ const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
45
+ const { pagination } = extractPaginationArgs(afterBool, 'sku providers');
46
+ const result = await sku.providers({ pagination, activeOnly });
47
+ return { providers: result.providers, pagination: result.pagination };
48
+ }
49
+
50
+ case 'sku': {
51
+ requireArgs(args, 1, ['sku-uuid'], 'sku sku');
52
+ const [uuid] = args;
53
+ const result = await sku.sKU({ uuid });
54
+ return { sku: result.sku };
55
+ }
56
+
57
+ case 'skus': {
58
+ const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
59
+ const { pagination } = extractPaginationArgs(afterBool, 'sku skus');
60
+ const result = await sku.sKUs({ pagination, activeOnly });
61
+ return { skus: result.skus, pagination: result.pagination };
62
+ }
63
+
64
+ case 'skus-by-provider': {
65
+ const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
66
+ const { pagination, remainingArgs } = extractPaginationArgs(afterBool, 'sku skus-by-provider');
67
+ requireArgs(remainingArgs, 1, ['provider-uuid'], 'sku skus-by-provider');
68
+ const [providerUuid] = remainingArgs;
69
+ const result = await sku.sKUsByProvider({ providerUuid, pagination, activeOnly });
70
+ return { skus: result.skus, pagination: result.pagination };
71
+ }
72
+
73
+ case 'provider-by-address': {
74
+ const { value: activeOnly, remainingArgs: afterBool } = extractBooleanFlag(args, '--active-only');
75
+ const { pagination, remainingArgs } = extractPaginationArgs(afterBool, 'sku provider-by-address');
76
+ requireArgs(remainingArgs, 1, ['address'], 'sku provider-by-address');
77
+ const [address] = remainingArgs;
78
+ const result = await sku.providerByAddress({ address, pagination, activeOnly });
79
+ return { providers: result.providers, pagination: result.pagination };
80
+ }
81
+
82
+ default:
83
+ throwUnsupportedSubcommand('query', 'sku', subcommand);
84
+ }
85
+ }
@@ -1,5 +1,8 @@
1
1
  import { ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
2
- import { parseBigIntWithCode, requireArgs as requireArgsBase, extractFlag, filterConsumedArgs } from '../transactions/utils.js';
2
+ import { parseBigIntWithCode, requireArgs as requireArgsBase, extractFlag, filterConsumedArgs, validateAddress, extractBooleanFlag } from '../transactions/utils.js';
3
+
4
+ export { validateAddress, extractBooleanFlag };
5
+ export type { ExtractedBooleanFlag } from '../transactions/utils.js';
3
6
 
4
7
  /** Default page size limit for paginated queries to prevent resource exhaustion */
5
8
  export const DEFAULT_PAGE_LIMIT = BigInt(100);
@@ -1,13 +1,14 @@
1
1
  import { SigningStargateClient } from '@cosmjs/stargate';
2
2
  import { liftedinit } from '@manifest-network/manifestjs';
3
3
  import { CosmosTxResult, ManifestMCPError, ManifestMCPErrorCode } from '../types.js';
4
- import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, parseColonPair, requireArgs, parseHexBytes } from './utils.js';
4
+ import { parseAmount, buildTxResult, parseBigInt, validateAddress, validateArgsLength, extractFlag, filterConsumedArgs, parseColonPair, requireArgs, parseHexBytes, MAX_META_HASH_BYTES } from './utils.js';
5
5
  import { getSubcommandUsage, throwUnsupportedSubcommand } from '../modules.js';
6
6
 
7
- const { MsgFundCredit, MsgCreateLease, MsgCloseLease, MsgWithdraw } = liftedinit.billing.v1;
8
-
9
- /** Maximum meta hash length in bytes (64 bytes for SHA-512) */
10
- const MAX_META_HASH_BYTES = 64;
7
+ const {
8
+ MsgFundCredit, MsgCreateLease, MsgCloseLease, MsgWithdraw,
9
+ MsgCreateLeaseForTenant, MsgAcknowledgeLease, MsgRejectLease, MsgCancelLease,
10
+ MsgUpdateParams,
11
+ } = liftedinit.billing.v1;
11
12
 
12
13
  /**
13
14
  * Route billing transaction to appropriate handler
@@ -159,6 +160,126 @@ export async function routeBillingTransaction(
159
160
  return buildTxResult('billing', 'withdraw', result, waitForConfirmation);
160
161
  }
161
162
 
163
+ case 'create-lease-for-tenant': {
164
+ // Parse optional --meta-hash flag
165
+ const { value: metaHashHex, consumedIndices } = extractFlag(args, '--meta-hash', 'billing create-lease-for-tenant');
166
+ const metaHash = metaHashHex ? parseHexBytes(metaHashHex, 'meta-hash', MAX_META_HASH_BYTES) : undefined;
167
+
168
+ // Filter out --meta-hash and its value to get remaining args
169
+ const remainingArgs = filterConsumedArgs(args, consumedIndices);
170
+ requireArgs(remainingArgs, 2, ['tenant-address', 'sku-uuid:quantity'], 'billing create-lease-for-tenant');
171
+
172
+ const [tenant, ...itemArgs] = remainingArgs;
173
+ validateAddress(tenant, 'tenant address');
174
+
175
+ // Parse items (format: sku-uuid:quantity ...)
176
+ const items = itemArgs.map((arg) => {
177
+ const [skuUuid, quantityStr] = parseColonPair(arg, 'sku-uuid', 'quantity', 'lease item');
178
+ return { skuUuid, quantity: parseBigInt(quantityStr, 'quantity') };
179
+ });
180
+
181
+ const msg = {
182
+ typeUrl: '/liftedinit.billing.v1.MsgCreateLeaseForTenant',
183
+ value: MsgCreateLeaseForTenant.fromPartial({
184
+ authority: senderAddress,
185
+ tenant,
186
+ items,
187
+ metaHash: metaHash ?? new Uint8Array(),
188
+ }),
189
+ };
190
+
191
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
192
+ return buildTxResult('billing', 'create-lease-for-tenant', result, waitForConfirmation);
193
+ }
194
+
195
+ case 'acknowledge-lease': {
196
+ requireArgs(args, 1, ['lease-uuid'], 'billing acknowledge-lease');
197
+ const leaseUuids = args;
198
+
199
+ const msg = {
200
+ typeUrl: '/liftedinit.billing.v1.MsgAcknowledgeLease',
201
+ value: MsgAcknowledgeLease.fromPartial({
202
+ sender: senderAddress,
203
+ leaseUuids,
204
+ }),
205
+ };
206
+
207
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
208
+ return buildTxResult('billing', 'acknowledge-lease', result, waitForConfirmation);
209
+ }
210
+
211
+ case 'reject-lease': {
212
+ // Parse optional --reason flag
213
+ const { value: reason, consumedIndices } = extractFlag(args, '--reason', 'billing reject-lease');
214
+ const leaseArgs = filterConsumedArgs(args, consumedIndices);
215
+ requireArgs(leaseArgs, 1, ['lease-uuid'], 'billing reject-lease');
216
+
217
+ const leaseUuids = leaseArgs;
218
+
219
+ const msg = {
220
+ typeUrl: '/liftedinit.billing.v1.MsgRejectLease',
221
+ value: MsgRejectLease.fromPartial({
222
+ sender: senderAddress,
223
+ leaseUuids,
224
+ reason: reason ?? '',
225
+ }),
226
+ };
227
+
228
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
229
+ return buildTxResult('billing', 'reject-lease', result, waitForConfirmation);
230
+ }
231
+
232
+ case 'cancel-lease': {
233
+ requireArgs(args, 1, ['lease-uuid'], 'billing cancel-lease');
234
+ const leaseUuids = args;
235
+
236
+ const msg = {
237
+ typeUrl: '/liftedinit.billing.v1.MsgCancelLease',
238
+ value: MsgCancelLease.fromPartial({
239
+ tenant: senderAddress,
240
+ leaseUuids,
241
+ }),
242
+ };
243
+
244
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
245
+ return buildTxResult('billing', 'cancel-lease', result, waitForConfirmation);
246
+ }
247
+
248
+ case 'update-params': {
249
+ requireArgs(args, 5, [
250
+ 'max-leases-per-tenant', 'max-items-per-lease', 'min-lease-duration',
251
+ 'max-pending-leases-per-tenant', 'pending-timeout',
252
+ ], 'billing update-params');
253
+
254
+ const [
255
+ maxLeasesPerTenantStr, maxItemsPerLeaseStr, minLeaseDurationStr,
256
+ maxPendingLeasesPerTenantStr, pendingTimeoutStr,
257
+ ...allowedAddresses
258
+ ] = args;
259
+
260
+ for (const addr of allowedAddresses) {
261
+ validateAddress(addr, 'allowed address');
262
+ }
263
+
264
+ const msg = {
265
+ typeUrl: '/liftedinit.billing.v1.MsgUpdateParams',
266
+ value: MsgUpdateParams.fromPartial({
267
+ authority: senderAddress,
268
+ params: {
269
+ maxLeasesPerTenant: parseBigInt(maxLeasesPerTenantStr, 'max-leases-per-tenant'),
270
+ maxItemsPerLease: parseBigInt(maxItemsPerLeaseStr, 'max-items-per-lease'),
271
+ minLeaseDuration: parseBigInt(minLeaseDurationStr, 'min-lease-duration'),
272
+ maxPendingLeasesPerTenant: parseBigInt(maxPendingLeasesPerTenantStr, 'max-pending-leases-per-tenant'),
273
+ pendingTimeout: parseBigInt(pendingTimeoutStr, 'pending-timeout'),
274
+ allowedList: allowedAddresses,
275
+ },
276
+ }),
277
+ };
278
+
279
+ const result = await client.signAndBroadcast(senderAddress, [msg], 'auto');
280
+ return buildTxResult('billing', 'update-params', result, waitForConfirmation);
281
+ }
282
+
162
283
  default:
163
284
  throwUnsupportedSubcommand('tx', 'billing', subcommand);
164
285
  }