@bkm016/calcite 0.2.0 → 0.5.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.
- package/CHANGELOG.md +35 -0
- package/README.md +206 -18
- package/dist/accounts.js +4 -2
- package/dist/accounts.js.map +1 -1
- package/dist/cli.js +16 -127
- package/dist/cli.js.map +1 -1
- package/dist/client-core.d.ts +23 -12
- package/dist/client-core.js +227 -244
- package/dist/client-core.js.map +1 -1
- package/dist/client.d.ts +60 -13
- package/dist/client.js +76 -18
- package/dist/client.js.map +1 -1
- package/dist/display.d.ts +0 -6
- package/dist/display.js +31 -44
- package/dist/display.js.map +1 -1
- package/dist/feed.d.ts +17 -0
- package/dist/feed.js +47 -0
- package/dist/feed.js.map +1 -0
- package/dist/game-run.d.ts +30 -0
- package/dist/game-run.js +51 -0
- package/dist/game-run.js.map +1 -0
- package/dist/hmc.d.ts +7 -0
- package/dist/hmc.js +42 -31
- package/dist/hmc.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +6 -0
- package/dist/install.js +26 -3
- package/dist/install.js.map +1 -1
- package/dist/java.js +11 -2
- package/dist/java.js.map +1 -1
- package/dist/launch.d.ts +79 -0
- package/dist/launch.js +142 -0
- package/dist/launch.js.map +1 -0
- package/dist/lock.js +18 -18
- package/dist/lock.js.map +1 -1
- package/dist/mcp/accounts.d.ts +3 -0
- package/dist/mcp/accounts.js +45 -0
- package/dist/mcp/accounts.js.map +1 -0
- package/dist/mcp/act.d.ts +3 -0
- package/dist/mcp/act.js +129 -0
- package/dist/mcp/act.js.map +1 -0
- package/dist/mcp/extensions.d.ts +3 -0
- package/dist/mcp/extensions.js +21 -0
- package/dist/mcp/extensions.js.map +1 -0
- package/dist/mcp/index.d.ts +13 -0
- package/dist/mcp/index.js +58 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/items.d.ts +3 -0
- package/dist/mcp/items.js +71 -0
- package/dist/mcp/items.js.map +1 -0
- package/dist/mcp/lifecycle.d.ts +3 -0
- package/dist/mcp/lifecycle.js +120 -0
- package/dist/mcp/lifecycle.js.map +1 -0
- package/dist/mcp/observe.d.ts +3 -0
- package/dist/mcp/observe.js +110 -0
- package/dist/mcp/observe.js.map +1 -0
- package/dist/mcp/shared.d.ts +49 -0
- package/dist/mcp/shared.js +56 -0
- package/dist/mcp/shared.js.map +1 -0
- package/dist/mcp/tasks.d.ts +15 -0
- package/dist/mcp/tasks.js +46 -0
- package/dist/mcp/tasks.js.map +1 -0
- package/dist/mcp.js +35 -3
- package/dist/mcp.js.map +1 -1
- package/dist/mods.d.ts +2 -0
- package/dist/mods.js +35 -4
- package/dist/mods.js.map +1 -1
- package/dist/mojang.d.ts +5 -1
- package/dist/mojang.js.map +1 -1
- package/dist/names.js +30 -8
- package/dist/names.js.map +1 -1
- package/dist/net.js +25 -19
- package/dist/net.js.map +1 -1
- package/dist/paper.d.ts +46 -0
- package/dist/paper.js +200 -0
- package/dist/paper.js.map +1 -0
- package/dist/probe-server.d.ts +14 -4
- package/dist/probe-server.js +15 -10
- package/dist/probe-server.js.map +1 -1
- package/dist/repl.d.ts +6 -0
- package/dist/repl.js +207 -0
- package/dist/repl.js.map +1 -0
- package/dist/stage.d.ts +6 -0
- package/dist/stage.js +19 -0
- package/dist/stage.js.map +1 -0
- package/dist/types.d.ts +167 -3
- package/dist/types.js +12 -1
- package/dist/types.js.map +1 -1
- package/dist/zip.js.map +1 -1
- package/package.json +11 -3
- package/vendor/calcite-probe.jar +0 -0
package/dist/types.d.ts
CHANGED
|
@@ -28,8 +28,15 @@ export interface ClientOptions {
|
|
|
28
28
|
* Mods Calcite placed earlier and no longer listed are removed; other files in the folder are kept.
|
|
29
29
|
*/
|
|
30
30
|
mods?: string[];
|
|
31
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* Probe extensions: jars implementing {@code calcite.probe.api.CalciteExtension} (local files or http(s) URLs).
|
|
33
|
+
* They add commands ({@link ExtensionCommand}) and events to the bot; see the README.
|
|
34
|
+
*/
|
|
35
|
+
extensions?: string[];
|
|
36
|
+
/** Server to join ("host[:port]"). Without a server or a world the client stays on the title screen. */
|
|
32
37
|
server?: string | ServerAddress;
|
|
38
|
+
/** Singleplayer world to play in instead of a server: a save name, created when missing. */
|
|
39
|
+
world?: string | WorldOptions;
|
|
33
40
|
/** Account: offline (any username, for online-mode=false servers) or a stored Microsoft account. */
|
|
34
41
|
account?: Account;
|
|
35
42
|
/**
|
|
@@ -64,6 +71,34 @@ export interface LogLine {
|
|
|
64
71
|
source: 'game' | 'calcite';
|
|
65
72
|
line: string;
|
|
66
73
|
}
|
|
74
|
+
/** A command added by a probe extension or a mod (through the mod bridge). */
|
|
75
|
+
export interface ExtensionCommand {
|
|
76
|
+
/** Full name, e.g. "hud.bossbars". */
|
|
77
|
+
name: string;
|
|
78
|
+
description?: string;
|
|
79
|
+
/** JSON schema of the arguments, when the extension declares one. */
|
|
80
|
+
schema?: Record<string, unknown>;
|
|
81
|
+
/** Extension id, or "mod" for commands registered by a mod through the bridge. */
|
|
82
|
+
source: string;
|
|
83
|
+
}
|
|
84
|
+
export interface ExtensionInfo {
|
|
85
|
+
jar: string;
|
|
86
|
+
ids: string[];
|
|
87
|
+
/** Why the jar could not be loaded. */
|
|
88
|
+
error?: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* An event from the game: built-in ones ("world.join", "player.hurt", "inventory.change", ... — see the README)
|
|
92
|
+
* and those sent by extensions and mods.
|
|
93
|
+
*/
|
|
94
|
+
export interface GameEvent {
|
|
95
|
+
seq: number;
|
|
96
|
+
time: number;
|
|
97
|
+
name: string;
|
|
98
|
+
data: unknown;
|
|
99
|
+
}
|
|
100
|
+
/** @deprecated Renamed to {@link GameEvent}. */
|
|
101
|
+
export type ExtensionEvent = GameEvent;
|
|
67
102
|
export interface ChatLine {
|
|
68
103
|
seq: number;
|
|
69
104
|
time: number;
|
|
@@ -100,15 +135,32 @@ export interface BlockPosition {
|
|
|
100
135
|
}
|
|
101
136
|
export type BlockFace = 'down' | 'up' | 'north' | 'south' | 'west' | 'east';
|
|
102
137
|
export type ClickMode = 'pickup' | 'quick_move' | 'swap' | 'clone' | 'throw' | 'quick_craft' | 'pickup_all';
|
|
138
|
+
export interface WalkOptions {
|
|
139
|
+
/** Target height; without it any height at x/z counts. */
|
|
140
|
+
y?: number;
|
|
141
|
+
/** Stop within this many blocks (default 0.5). */
|
|
142
|
+
range?: number;
|
|
143
|
+
sprint?: boolean;
|
|
144
|
+
/** Walk in a straight line instead of planning a path. */
|
|
145
|
+
direct?: boolean;
|
|
146
|
+
/** Stop with reason "damaged" when the player is hurt. */
|
|
147
|
+
stopOnDamage?: boolean;
|
|
148
|
+
timeoutMs?: number;
|
|
149
|
+
}
|
|
103
150
|
export interface WalkResult {
|
|
104
151
|
arrived: boolean;
|
|
105
|
-
/**
|
|
152
|
+
/**
|
|
153
|
+
* Why it stopped early: "no_path" (unreachable through the loaded terrain; the player still gets as close as
|
|
154
|
+
* it can), "stuck", "off_path" (pushed away and re-planning failed), "timeout" or "damaged".
|
|
155
|
+
*/
|
|
106
156
|
reason?: string;
|
|
107
|
-
/** Remaining
|
|
157
|
+
/** Remaining distance. */
|
|
108
158
|
distance: number;
|
|
109
159
|
x: number;
|
|
110
160
|
y: number;
|
|
111
161
|
z: number;
|
|
162
|
+
/** How often the path was planned again after the player was pushed off it. */
|
|
163
|
+
replans?: number;
|
|
112
164
|
}
|
|
113
165
|
export interface DigResult {
|
|
114
166
|
broken: boolean;
|
|
@@ -116,6 +168,86 @@ export interface DigResult {
|
|
|
116
168
|
block?: string;
|
|
117
169
|
ticks?: number;
|
|
118
170
|
}
|
|
171
|
+
export interface BlockMatch extends BlockPosition {
|
|
172
|
+
id: string;
|
|
173
|
+
/** Distance from the player's feet. */
|
|
174
|
+
distance: number;
|
|
175
|
+
}
|
|
176
|
+
export interface BlockSearch {
|
|
177
|
+
/** Block ids or patterns: "oak_log", "minecraft:*_ore", "*planks" ("minecraft:" is implied). */
|
|
178
|
+
blocks: string | string[];
|
|
179
|
+
/** Search radius around the player in blocks (default 32, at most 128). */
|
|
180
|
+
radius?: number;
|
|
181
|
+
/** Most matches to return, nearest first (default 16). */
|
|
182
|
+
limit?: number;
|
|
183
|
+
}
|
|
184
|
+
export interface BlockSearchResult {
|
|
185
|
+
count: number;
|
|
186
|
+
/** The search ran out of time before covering the whole radius. */
|
|
187
|
+
truncated?: boolean;
|
|
188
|
+
blocks: BlockMatch[];
|
|
189
|
+
}
|
|
190
|
+
export interface NearbyEntity {
|
|
191
|
+
id: number;
|
|
192
|
+
type: string;
|
|
193
|
+
name?: string;
|
|
194
|
+
/** Position relative to the player: [dx, dy, dz]. */
|
|
195
|
+
offset: [number, number, number];
|
|
196
|
+
distance: number;
|
|
197
|
+
health?: number;
|
|
198
|
+
}
|
|
199
|
+
/** A compact description of the player's surroundings, sized for a language model. */
|
|
200
|
+
export interface Surroundings {
|
|
201
|
+
x: number;
|
|
202
|
+
y: number;
|
|
203
|
+
z: number;
|
|
204
|
+
facing: string;
|
|
205
|
+
dimension?: string;
|
|
206
|
+
biome?: string;
|
|
207
|
+
/** 0-23999; 0 is sunrise, 6000 noon, 13000 night. */
|
|
208
|
+
timeOfDay?: number;
|
|
209
|
+
raining?: boolean;
|
|
210
|
+
thundering?: boolean;
|
|
211
|
+
/** The block under the player's feet. */
|
|
212
|
+
standingOn?: string;
|
|
213
|
+
/** The block the player stands in, when not air (water, tall grass, ...). */
|
|
214
|
+
in?: string;
|
|
215
|
+
/** Top-down map rows from north to south, west to east; the player is '@'. See {@link legend}. */
|
|
216
|
+
map: string[];
|
|
217
|
+
/** World [x, z] of the map's first character. */
|
|
218
|
+
mapOrigin: [number, number];
|
|
219
|
+
/** What the map characters mean. */
|
|
220
|
+
legend: string;
|
|
221
|
+
/** Most common blocks around the player with the nearest position of each. */
|
|
222
|
+
blocks: {
|
|
223
|
+
id: string;
|
|
224
|
+
count: number;
|
|
225
|
+
nearest: [number, number, number];
|
|
226
|
+
}[];
|
|
227
|
+
entities: NearbyEntity[];
|
|
228
|
+
}
|
|
229
|
+
export interface CraftResult {
|
|
230
|
+
item: string;
|
|
231
|
+
/** Items made. */
|
|
232
|
+
crafted: number;
|
|
233
|
+
/** Items asked for. */
|
|
234
|
+
count: number;
|
|
235
|
+
/** Set when fewer than {@code count} were crafted: "missing_ingredients", "inventory_full", "timeout", ... */
|
|
236
|
+
reason?: string;
|
|
237
|
+
}
|
|
238
|
+
export interface TransferResult {
|
|
239
|
+
item: string;
|
|
240
|
+
moved: number;
|
|
241
|
+
container: ContainerInfo;
|
|
242
|
+
}
|
|
243
|
+
/** The action that is running (walk_to, dig, craft) and its progress. */
|
|
244
|
+
export interface TaskStatus {
|
|
245
|
+
running: boolean;
|
|
246
|
+
/** "walk_to", "dig" or "craft". */
|
|
247
|
+
name?: string;
|
|
248
|
+
ticks?: number;
|
|
249
|
+
[progress: string]: unknown;
|
|
250
|
+
}
|
|
119
251
|
export interface HitTarget {
|
|
120
252
|
type: 'block' | 'entity' | 'miss';
|
|
121
253
|
x?: number;
|
|
@@ -166,6 +298,12 @@ export interface ContainerInfo {
|
|
|
166
298
|
})[];
|
|
167
299
|
/** Stack held by the cursor. */
|
|
168
300
|
carried?: ItemInfo;
|
|
301
|
+
/** Smelting state of a furnace, smoker or blast furnace; progress and fuel are 0-1. */
|
|
302
|
+
furnace?: {
|
|
303
|
+
lit: boolean;
|
|
304
|
+
progress?: number;
|
|
305
|
+
fuel?: number;
|
|
306
|
+
};
|
|
169
307
|
}
|
|
170
308
|
export interface GameState {
|
|
171
309
|
ready: boolean;
|
|
@@ -212,11 +350,14 @@ export interface ClientStatus {
|
|
|
212
350
|
loader?: string;
|
|
213
351
|
/** File names of the mods Calcite placed in the mods folder. */
|
|
214
352
|
mods?: string[];
|
|
353
|
+
/** Extension jars passed to the probe. */
|
|
354
|
+
extensions?: string[];
|
|
215
355
|
phase: Phase;
|
|
216
356
|
render: RenderMode;
|
|
217
357
|
headless: boolean;
|
|
218
358
|
account: Account;
|
|
219
359
|
server?: ServerAddress;
|
|
360
|
+
world?: WorldOptions;
|
|
220
361
|
gameDir: string;
|
|
221
362
|
pid?: number;
|
|
222
363
|
java?: string;
|
|
@@ -226,10 +367,33 @@ export interface ClientStatus {
|
|
|
226
367
|
probeConnected: boolean;
|
|
227
368
|
game?: GameState;
|
|
228
369
|
}
|
|
370
|
+
/** Events emitted by a client, with their listener arguments. */
|
|
371
|
+
export interface ClientEvents {
|
|
372
|
+
phase: [phase: Phase];
|
|
373
|
+
log: [line: LogLine];
|
|
374
|
+
chat: [line: ChatLine];
|
|
375
|
+
state: [state: GameState];
|
|
376
|
+
/** A built-in game event or one sent by an extension. */
|
|
377
|
+
event: [event: GameEvent];
|
|
378
|
+
/** The game process exited (also before a reconnect). */
|
|
379
|
+
exit: [code: number | null];
|
|
380
|
+
error: [error: Error];
|
|
381
|
+
}
|
|
229
382
|
export declare class CalciteError extends Error {
|
|
230
383
|
readonly code: string;
|
|
231
384
|
constructor(code: string, message: string);
|
|
232
385
|
}
|
|
386
|
+
export interface WorldOptions {
|
|
387
|
+
/** Save folder name (letters, digits, - _ and spaces). */
|
|
388
|
+
name: string;
|
|
389
|
+
/** Create the world when it does not exist (default true). */
|
|
390
|
+
create?: boolean;
|
|
391
|
+
/** Game mode of a new world (default survival); new worlds always allow commands. */
|
|
392
|
+
gameMode?: 'survival' | 'creative' | 'hardcore';
|
|
393
|
+
/** Seed of a new world. */
|
|
394
|
+
seed?: string;
|
|
395
|
+
}
|
|
396
|
+
export declare function parseWorld(world: string | WorldOptions): WorldOptions;
|
|
233
397
|
export declare function parseServer(server: string | ServerAddress): ServerAddress;
|
|
234
398
|
/** Offline username derived from a client name (3-16 chars of [A-Za-z0-9_]). */
|
|
235
399
|
export declare function defaultUsername(name: string): string;
|
package/dist/types.js
CHANGED
|
@@ -6,6 +6,14 @@ export class CalciteError extends Error {
|
|
|
6
6
|
this.name = 'CalciteError';
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
+
const WORLD_NAME_RE = /^[\p{L}\p{N}_-](?:[\p{L}\p{N} _-]{0,62}[\p{L}\p{N}_-])?$/u;
|
|
10
|
+
export function parseWorld(world) {
|
|
11
|
+
const w = typeof world === 'string' ? { name: world } : world;
|
|
12
|
+
if (!WORLD_NAME_RE.test(w.name)) {
|
|
13
|
+
throw new CalciteError('bad_world', `Invalid world name "${w.name}" (allowed: letters, digits, - _ and inner spaces, up to 64)`);
|
|
14
|
+
}
|
|
15
|
+
return { create: true, gameMode: 'survival', ...w };
|
|
16
|
+
}
|
|
9
17
|
export function parseServer(server) {
|
|
10
18
|
if (typeof server !== 'string')
|
|
11
19
|
return { host: server.host, port: server.port || 25565 };
|
|
@@ -20,6 +28,9 @@ export function parseServer(server) {
|
|
|
20
28
|
}
|
|
21
29
|
/** Offline username derived from a client name (3-16 chars of [A-Za-z0-9_]). */
|
|
22
30
|
export function defaultUsername(name) {
|
|
23
|
-
return name
|
|
31
|
+
return name
|
|
32
|
+
.replace(/[^A-Za-z0-9_]/g, '_')
|
|
33
|
+
.slice(0, 16)
|
|
34
|
+
.padEnd(3, '_');
|
|
24
35
|
}
|
|
25
36
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAyZA,MAAM,OAAO,YAAa,SAAQ,KAAK;IAE1B;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAaD,MAAM,aAAa,GAAG,2DAA2D,CAAC;AAElF,MAAM,UAAU,UAAU,CAAC,KAA4B;IACrD,MAAM,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,YAAY,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC,IAAI,8DAA8D,CAAC,CAAC;IACnI,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAA8B;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;IACzF,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IACpE,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxG,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI;SACR,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACpB,CAAC"}
|
package/dist/zip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAS3C,KAAK,UAAU,gBAAgB,CAAC,MAAkB,EAAE,IAAY;IAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACrE,IAAI,IAAI,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../src/zip.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bkm016/calcite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Drive a real Minecraft Java client from code or AI agents: launch, join servers, read client-side entities, chat, run commands and take screenshots. Ships a CLI and an MCP server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"dist",
|
|
37
37
|
"vendor/calcite-probe.jar",
|
|
38
38
|
"README.md",
|
|
39
|
+
"CHANGELOG.md",
|
|
39
40
|
"THIRD_PARTY_NOTICES.md",
|
|
40
41
|
"LICENSE"
|
|
41
42
|
],
|
|
@@ -43,8 +44,10 @@
|
|
|
43
44
|
"build": "npm run build:probe && npm run build:ts",
|
|
44
45
|
"build:ts": "tsc -p tsconfig.json",
|
|
45
46
|
"build:probe": "node scripts/build-probe.mjs",
|
|
46
|
-
"test": "npm run build && node --test
|
|
47
|
+
"test": "npm run build && node --test && node scripts/probe-tests.mjs",
|
|
47
48
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
49
|
+
"lint": "eslint . && prettier --check .",
|
|
50
|
+
"format": "prettier --write .",
|
|
48
51
|
"prepack": "npm run build"
|
|
49
52
|
},
|
|
50
53
|
"dependencies": {
|
|
@@ -53,7 +56,12 @@
|
|
|
53
56
|
"zod": "^3.25.76"
|
|
54
57
|
},
|
|
55
58
|
"devDependencies": {
|
|
59
|
+
"@eslint/js": "^10.0.1",
|
|
56
60
|
"@types/node": "^20.19.43",
|
|
57
|
-
"
|
|
61
|
+
"eslint": "^10.12.0",
|
|
62
|
+
"globals": "^17.13.0",
|
|
63
|
+
"prettier": "^3.9.9",
|
|
64
|
+
"typescript": "~5.9.3",
|
|
65
|
+
"typescript-eslint": "^8.71.1"
|
|
58
66
|
}
|
|
59
67
|
}
|
package/vendor/calcite-probe.jar
CHANGED
|
Binary file
|