@kernel.chat/kbot 3.94.0 → 3.97.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.
@@ -32,9 +32,15 @@ export declare function updateCamera(world: TileWorld, robotWorldX: number, pane
32
32
  export declare function worldXToTile(worldPixelX: number): number;
33
33
  /** Convert tile X to world pixel X */
34
34
  export declare function tileToWorldX(tileX: number): number;
35
+ /** Get a tile at absolute tile coordinates, generating chunk if needed */
36
+ export declare function getTile(world: TileWorld, tileX: number, tileY: number): BlockType;
37
+ /** Set a tile at absolute tile coordinates */
38
+ export declare function setTile(world: TileWorld, tileX: number, tileY: number, block: BlockType): boolean;
35
39
  /** Render the visible tile world */
36
40
  export declare function renderTileWorld(ctx: CanvasRenderingContext2D, world: TileWorld, panelX: number, panelY: number, panelWidth: number, panelHeight: number, robotWorldX: number, frame: number): void;
37
41
  /** Parse and handle tile world chat commands. Returns response string or null if not a tile command. */
38
42
  export declare function handleTileCommand(text: string, username: string, world: TileWorld, robotWorldPixelX: number): string | null;
43
+ /** Find the surface Y (first non-air tile from top) at a given tile X */
44
+ export declare function findSurfaceY(world: TileWorld, tileX: number): number;
39
45
  export declare function registerTileWorldTools(): void;
40
46
  //# sourceMappingURL=tile-world.d.ts.map
@@ -417,7 +417,7 @@ function tileXToLocalX(tileX) {
417
417
  }
418
418
  // ─── Tile Access Helpers ──────────────────────────────────────
419
419
  /** Get a tile at absolute tile coordinates, generating chunk if needed */
420
- function getTile(world, tileX, tileY) {
420
+ export function getTile(world, tileX, tileY) {
421
421
  if (tileY < 0 || tileY >= WORLD_HEIGHT)
422
422
  return 'air';
423
423
  const chunkIdx = tileXToChunkIndex(tileX);
@@ -430,7 +430,7 @@ function getTile(world, tileX, tileY) {
430
430
  return chunk.tiles[tileY][lx];
431
431
  }
432
432
  /** Set a tile at absolute tile coordinates */
433
- function setTile(world, tileX, tileY, block) {
433
+ export function setTile(world, tileX, tileY, block) {
434
434
  if (tileY < 0 || tileY >= WORLD_HEIGHT)
435
435
  return false;
436
436
  const chunkIdx = tileXToChunkIndex(tileX);
@@ -1009,7 +1009,7 @@ export function handleTileCommand(text, username, world, robotWorldPixelX) {
1009
1009
  return null;
1010
1010
  }
1011
1011
  /** Find the surface Y (first non-air tile from top) at a given tile X */
1012
- function findSurfaceY(world, tileX) {
1012
+ export function findSurfaceY(world, tileX) {
1013
1013
  for (let y = 0; y < WORLD_HEIGHT; y++) {
1014
1014
  const block = getTile(world, tileX, y);
1015
1015
  if (block !== 'air' && block !== 'leaves' && block !== 'water') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kernel.chat/kbot",
3
- "version": "3.94.0",
3
+ "version": "3.97.0",
4
4
  "description": "Open-source terminal AI agent. 764+ tools, 35 agents, 20 providers. Dreams, learns, watches your system. Controls your phone. Fully local, fully sovereign. MIT.",
5
5
  "type": "module",
6
6
  "repository": {