@conquest-eth/tools 0.0.5 → 0.0.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.
package/README.md CHANGED
@@ -20,7 +20,7 @@ npm i -g @conquest-eth/tools
20
20
  Show help and available commands:
21
21
 
22
22
  ```bash
23
- ecli --help
23
+ conquest --help
24
24
  ```
25
25
 
26
26
  ### Global Options
@@ -45,7 +45,7 @@ export PRIVATE_KEY=0x...
45
45
  Then run commands without repeating options:
46
46
 
47
47
  ```bash
48
- ecli get_my_planets --radius 10
48
+ conquest get_my_planets --radius 10
49
49
  ```
50
50
 
51
51
  ### Available Commands
@@ -66,22 +66,22 @@ ecli get_my_planets --radius 10
66
66
 
67
67
  ```bash
68
68
  # Get your planets
69
- ecli get_my_planets --radius 10
69
+ conquest get_my_planets --radius 10
70
70
 
71
71
  # Find planets near a location
72
- ecli get_planets_around --center-x 0 --center-y 0 --radius 20
72
+ conquest get_planets_around --center-x 0 --center-y 0 --radius 20
73
73
 
74
74
  # Acquire planets
75
- ecli acquire_planets --planet-ids 1,2,3,4,5
75
+ conquest acquire_planets --planet-ids 1,2,3,4,5
76
76
 
77
77
  # Send a fleet (coordinates use x,y format)
78
- ecli send_fleet --from 10,20 --to 15,25 --quantity 100
78
+ conquest send_fleet --from 10,20 --to 15,25 --quantity 100
79
79
 
80
80
  # Resolve a fleet
81
- ecli resolve_fleet --fleet-id "your-fleet-id"
81
+ conquest resolve_fleet --fleet-id "your-fleet-id"
82
82
 
83
83
  # Exit planets
84
- ecli exit_planets --planet-ids 1,2,3
84
+ conquest exit_planets --planet-ids 1,2,3
85
85
  ```
86
86
 
87
87
  See [`EXAMPLES.md`](./EXAMPLES.md) for more detailed usage examples.
@@ -187,12 +187,12 @@ pnpm start
187
187
 
188
188
  ## MCP Server Mode (Alternative)
189
189
 
190
- As an alternative to direct CLI usage, `ecli` can also run as an MCP (Model Context Protocol) server for.
190
+ As an alternative to direct CLI usage, `conquest` can also run as an MCP (Model Context Protocol) server for.
191
191
 
192
192
  Start the MCP server:
193
193
 
194
194
  ```bash
195
- ecli --rpc-url https://rpc.gnosischain.com --game-contract 0x322813fd9a801c5507c9de605d63cea4f2ce6c44 mcp
195
+ conquest --rpc-url https://rpc.gnosischain.com --game-contract 0x322813fd9a801c5507c9de605d63cea4f2ce6c44 mcp
196
196
  ```
197
197
 
198
198
  MCP-specific options:
@@ -204,7 +204,7 @@ MCP-specific options:
204
204
  For testing with the MCP Inspector:
205
205
 
206
206
  ```bash
207
- pnpm mcp:inspector ecli --game-contract 0xD833d4dBBb0C19aF1EEf76540d66E2076a5e9D72 --rpc-url https://rpc.gnosis.gateway.fm mcp
207
+ pnpm mcp:inspector conquest --game-contract 0xD833d4dBBb0C19aF1EEf76540d66E2076a5e9D72 --rpc-url https://rpc.gnosis.gateway.fm mcp
208
208
  ```
209
209
 
210
210
  ## License
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEX,WAAW,EACX,iBAAiB,EAEjB,MAAM,YAAY,CAAC;AAIpB;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAEX,WAAW,EACX,iBAAiB,EAEjB,MAAM,YAAY,CAAC;AAIpB;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,CA0BxF"}
package/dist/index.js CHANGED
@@ -23,7 +23,8 @@ export async function createConquestEnv(options) {
23
23
  abi: Abi_IOuterSpace,
24
24
  };
25
25
  const { spaceInfo, contractConfig } = await createSpaceInfo(clients, gameContract);
26
- const storage = new JsonFleetStorage(storagePath);
26
+ // Organize storage by network/contract
27
+ const storage = new JsonFleetStorage(storagePath, chain.id, gameContractAddress);
27
28
  return {
28
29
  fleetManager: new FleetManager(clients, gameContract, spaceInfo, contractConfig, storage),
29
30
  planetManager: new PlanetManager(clients, gameContract, spaceInfo, contractConfig, storage),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAQlD,OAAO,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IACjE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,GAAG,QAAQ,EAAC,GAAG,OAAO,CAAC;IAEhG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,KAAK;QACL,UAAU;KACV,CAA8B,CAAC;IAEhC,MAAM,YAAY,GAAiB;QAClC,OAAO,EAAE,mBAAmB;QAC5B,GAAG,EAAE,eAAe;KACpB,CAAC;IAEF,MAAM,EAAC,SAAS,EAAE,cAAc,EAAC,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAElD,OAAO;QACN,YAAY,EAAE,IAAI,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;QACzF,aAAa,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;QAC3F,SAAS;QACT,cAAc;QACd,OAAO;QACP,OAAO;KACP,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAQlD,OAAO,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IACjE,MAAM,EAAC,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,WAAW,GAAG,QAAQ,EAAC,GAAG,OAAO,CAAC;IAEhG,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC;QAC1B,KAAK;QACL,UAAU;KACV,CAA8B,CAAC;IAEhC,MAAM,YAAY,GAAiB;QAClC,OAAO,EAAE,mBAAmB;QAC5B,GAAG,EAAE,eAAe;KACpB,CAAC;IAEF,MAAM,EAAC,SAAS,EAAE,cAAc,EAAC,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACjF,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAEjF,OAAO;QACN,YAAY,EAAE,IAAI,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;QACzF,aAAa,EAAE,IAAI,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC;QAC3F,SAAS;QACT,cAAc;QACd,OAAO;QACP,OAAO;KACP,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@ export declare class JsonFleetStorage implements FleetStorage {
5
5
  private dataPath;
6
6
  private data;
7
7
  private initialized;
8
- constructor(dataDir?: string);
8
+ constructor(dataDir: string | undefined, chainId: number, contractAddress: string);
9
9
  initialize(): Promise<void>;
10
10
  private ensureInitialized;
11
11
  private save;
@@ -1 +1 @@
1
- {"version":3,"file":"json-storage.d.ts","sourceRoot":"","sources":["../../src/storage/json-storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAQtD,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,GAAE,MAAiB;IAKhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BnB,iBAAiB;YAMjB,IAAI;IAKZ,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKvD,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOlE,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ9C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAMvC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK7D,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOhE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAShF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvE,mBAAmB,CACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAWV,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAIlD"}
1
+ {"version":3,"file":"json-storage.d.ts","sourceRoot":"","sources":["../../src/storage/json-storage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAQtD,qBAAa,gBAAiB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,MAAM,YAAW,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;IAa1E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YA4BnB,iBAAiB;YAMjB,IAAI;IAKZ,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKvD,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAOlE,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ9C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAMvC,eAAe,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAK7D,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAOhE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAShF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvE,mBAAmB,CACxB,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC;IAWV,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1D,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAIlD"}
@@ -5,8 +5,16 @@ export class JsonFleetStorage {
5
5
  dataPath;
6
6
  data;
7
7
  initialized = false;
8
- constructor(dataDir = './data') {
9
- this.dataPath = path.join(dataDir, 'conquest-data.json');
8
+ constructor(dataDir = './data', chainId, contractAddress) {
9
+ // Organize data by network/contract in subdirectories
10
+ let basePath = dataDir;
11
+ if (chainId !== undefined) {
12
+ basePath = path.join(basePath, chainId.toString());
13
+ }
14
+ if (contractAddress) {
15
+ basePath = path.join(basePath, contractAddress.toLowerCase());
16
+ }
17
+ this.dataPath = path.join(basePath, 'conquest-data.json');
10
18
  this.data = { fleets: {}, exits: {} };
11
19
  }
12
20
  async initialize() {
@@ -1 +1 @@
1
- {"version":3,"file":"json-storage.js","sourceRoot":"","sources":["../../src/storage/json-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-storage.js","sourceRoot":"","sources":["../../src/storage/json-storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conquest-eth/tools",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "Tools for Conquest.eth, including mcp server",
5
5
  "author": "Ronan Sandford",
6
6
  "license": "MIT",
package/src/index.ts CHANGED
@@ -34,7 +34,8 @@ export async function createConquestEnv(options: EnvFactoryOptions): Promise<Con
34
34
  };
35
35
 
36
36
  const {spaceInfo, contractConfig} = await createSpaceInfo(clients, gameContract);
37
- const storage = new JsonFleetStorage(storagePath);
37
+ // Organize storage by network/contract
38
+ const storage = new JsonFleetStorage(storagePath, chain.id, gameContractAddress);
38
39
 
39
40
  return {
40
41
  fleetManager: new FleetManager(clients, gameContract, spaceInfo, contractConfig, storage),
@@ -15,8 +15,16 @@ export class JsonFleetStorage implements FleetStorage {
15
15
  private data: StorageData;
16
16
  private initialized = false;
17
17
 
18
- constructor(dataDir: string = './data') {
19
- this.dataPath = path.join(dataDir, 'conquest-data.json');
18
+ constructor(dataDir: string = './data', chainId: number, contractAddress: string) {
19
+ // Organize data by network/contract in subdirectories
20
+ let basePath = dataDir;
21
+ if (chainId !== undefined) {
22
+ basePath = path.join(basePath, chainId.toString());
23
+ }
24
+ if (contractAddress) {
25
+ basePath = path.join(basePath, contractAddress.toLowerCase());
26
+ }
27
+ this.dataPath = path.join(basePath, 'conquest-data.json');
20
28
  this.data = {fleets: {}, exits: {}};
21
29
  }
22
30