@onlyworlds/sdk 4.24.0 → 4.25.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 CHANGED
@@ -5,6 +5,18 @@ earlier history lives in git log only.
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [4.25.0] — 2026-10-15
9
+
10
+ ### Changed
11
+ - **`OwWorldMeta` types every field keel's `World` declares** (it named four): the description and
12
+ picture, the calendar (`time_format_names`, `time_format_equivalents`, `time_basic_unit`, the three
13
+ `time_range_*`), the three unit labels, `public_read`, `owner_character`, `created_at`, and new
14
+ **`agent_narrator_rule`** (keel #298, D103: whether a Narrative written through an agent seat is
15
+ narrated by that seat's own Character; read-only, set on the world page). Past `id` and `name`
16
+ they stay optional so code that builds a world meta keeps compiling; keel always sends all of them.
17
+ `updated_at` and `created_at` read `string | null`, as the document says. Assembly's wire gate now
18
+ holds this type to `World` (it had held only the PATCH body). Council and Lantern type-check on it.
19
+
8
20
  ## [4.24.0] — 2026-10-15
9
21
 
10
22
  ### Added
package/dist/index.d.ts CHANGED
@@ -1858,11 +1858,44 @@ declare const FIELD_SCHEMA: {
1858
1858
  type OwElement = OwElementBase;
1859
1859
  /** Spatial types live under spatial/ in the OW Folder Format. */
1860
1860
  declare const SPATIAL_TYPES: readonly ElementType[];
1861
+ /**
1862
+ * GET /world: the world's own fields, as keel's `World` component declares them (since 4.25.0
1863
+ * every one is typed). keel always sends all of them; past `id` and `name` they are optional
1864
+ * here only so that code building a world meta keeps compiling within 4.x. Dates and durations
1865
+ * count in `time_basic_unit`; the three units are free-text labels, nothing converts.
1866
+ */
1861
1867
  interface OwWorldMeta {
1862
1868
  id: string;
1863
1869
  name: string;
1864
- updated_at?: string;
1870
+ description?: string;
1871
+ image_url?: string;
1872
+ /** The names of the calendar's steps, e.g. ['Day', 'Week', 'Month', 'Year']. */
1873
+ time_format_names?: string[];
1874
+ /** How many time_basic_unit each step holds, in the same order. Whole numbers in the standard; an older world may read back strings. */
1875
+ time_format_equivalents?: Array<number | string>;
1876
+ /** The unit every element date and duration counts in (e.g. 'Year'). */
1877
+ time_basic_unit?: string;
1878
+ time_range_min?: number | null;
1879
+ time_range_max?: number | null;
1880
+ /** The world's present moment (in a world folder: `time_current`). */
1881
+ time_range_current?: number | null;
1882
+ length_unit?: string;
1883
+ mass_unit?: string;
1884
+ distance_unit?: string;
1885
+ /** Whether the world can be read without its PIN. Read-only on the wire. */
1865
1886
  public_read?: boolean;
1887
+ /**
1888
+ * Whether a Narrative written through an agent seat is narrated by that seat's own Character,
1889
+ * as a guest's is (keel #298, D103): set by the owner on the world page; read-only on the wire.
1890
+ * With it on, an agent naming another narrator is a 422 (`param: narrator`), and a seat with no
1891
+ * Character a 403 `guest_not_supported`.
1892
+ */
1893
+ agent_narrator_rule?: boolean;
1894
+ /** The owner's "this Character is me": a Character id in this world, or null. */
1895
+ owner_character?: string | null;
1896
+ created_at?: string | null;
1897
+ /** Moves when the world's own fields change, not on element writes. */
1898
+ updated_at?: string | null;
1866
1899
  [field: string]: unknown;
1867
1900
  }
1868
1901
  /** List envelope: cursor-paginated. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlyworlds/sdk",
3
- "version": "4.24.0",
3
+ "version": "4.25.0",
4
4
  "description": "TypeScript SDK for the OnlyWorlds API - build world-building applications with type safety",
5
5
  "type": "module",
6
6
  "exports": {