@onlyworlds/sdk 4.57.1 → 4.57.2
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/AGENTS.md +1 -1
- package/CHANGELOG.md +10 -0
- package/SCHEMA.md +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.js +35 -1
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# For AI agents using @onlyworlds/sdk
|
|
2
2
|
|
|
3
|
-
**Current as of**: SDK **4.x** · schema-dist **v0.33.0-dist.
|
|
3
|
+
**Current as of**: SDK **4.x** · schema-dist **v0.33.0-dist.47** (canonical 00.33.00).
|
|
4
4
|
This line is asserted by `codegen:check` in CI — if the pin moves and this file is not
|
|
5
5
|
re-read against it, the check fails rather than letting this document rot quietly.
|
|
6
6
|
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ earlier history lives in git log only.
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [4.57.2] - 2026-10-22
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **Schema repinned to schema-dist `v0.33.0-dist.47`** (same canonical 00.33.00; no schema file moved, no generated type changed). The distribution gains `profiles/checks.md` and `profiles/checks.fixture.json`, the checks profile: a work world's Charter carries its house rules as `x_checks_rules`, beside the sentences a person reads (OW Council #559). `profiles/room.md` now defines "trimmed and without regard to case" once, for every profile that folds like the room's pairs: trimmed is leading and trailing whitespace removed, nothing inside touched; without regard to case is the trimmed value after simple case folding.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- **`isRoomElement` trims Unicode White_Space exactly**, the 25 code points of the property, at both ends of the type and the supertype. It used JavaScript's `trim()`, which also strips U+FEFF, a byte order mark. Skeld's ruling (OW Parlor h66 #10415) is that a byte order mark stays, so a supertype `"\uFEFFMessage"` is no longer a room element; `" Message\u3000"` still is, and a leading U+200B (zero width space, not White_Space) still is not. The room fixture's 23 cases answer as before.
|
|
17
|
+
|
|
8
18
|
## [4.57.1] - 2026-10-22
|
|
9
19
|
|
|
10
20
|
### Fixed
|
package/SCHEMA.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OnlyWorlds Schema Reference
|
|
2
2
|
|
|
3
|
-
**Source**: https://github.com/OnlyWorlds/schema-dist @ **v0.33.0-dist.
|
|
3
|
+
**Source**: https://github.com/OnlyWorlds/schema-dist @ **v0.33.0-dist.47** — canonical schema **00.33.00**, published 2026-10-22.
|
|
4
4
|
|
|
5
5
|
GENERATED from the canonical schema YAML — do not hand-edit (regenerate: `python codegen/generate_types.py`).
|
|
6
6
|
Written for both humans and AI agents reading this package locally.
|
package/dist/index.d.ts
CHANGED
|
@@ -3968,8 +3968,10 @@ declare function getElementLabel(elementType: ElementType): string;
|
|
|
3968
3968
|
* and a room element opened by its id, show them whole. A tool that writes the world writes
|
|
3969
3969
|
* room elements like any other, the mark kept byte for byte: the rule is the reader's.
|
|
3970
3970
|
*
|
|
3971
|
-
*
|
|
3972
|
-
*
|
|
3971
|
+
* Trimmed is Unicode White_Space at both ends (trimWhiteSpace above), so a value with a
|
|
3972
|
+
* leading byte order mark is not a match. Case is folded with Unicode simple case folding
|
|
3973
|
+
* (simpleCaseFold, the table the `.owworld` reader uses), the same fold as the Python
|
|
3974
|
+
* package's `is_room_element`.
|
|
3973
3975
|
*/
|
|
3974
3976
|
declare function isRoomElement(el: {
|
|
3975
3977
|
type?: string;
|
package/dist/index.js
CHANGED
|
@@ -3073,7 +3073,41 @@ function writeWorldFile(files, topDir) {
|
|
|
3073
3073
|
}
|
|
3074
3074
|
|
|
3075
3075
|
// src/room.ts
|
|
3076
|
-
var
|
|
3076
|
+
var WHITE_SPACE = /* @__PURE__ */ new Set([
|
|
3077
|
+
9,
|
|
3078
|
+
10,
|
|
3079
|
+
11,
|
|
3080
|
+
12,
|
|
3081
|
+
13,
|
|
3082
|
+
32,
|
|
3083
|
+
133,
|
|
3084
|
+
160,
|
|
3085
|
+
5760,
|
|
3086
|
+
8192,
|
|
3087
|
+
8193,
|
|
3088
|
+
8194,
|
|
3089
|
+
8195,
|
|
3090
|
+
8196,
|
|
3091
|
+
8197,
|
|
3092
|
+
8198,
|
|
3093
|
+
8199,
|
|
3094
|
+
8200,
|
|
3095
|
+
8201,
|
|
3096
|
+
8202,
|
|
3097
|
+
8232,
|
|
3098
|
+
8233,
|
|
3099
|
+
8239,
|
|
3100
|
+
8287,
|
|
3101
|
+
12288
|
|
3102
|
+
]);
|
|
3103
|
+
function trimWhiteSpace(text) {
|
|
3104
|
+
let start = 0;
|
|
3105
|
+
let end = text.length;
|
|
3106
|
+
while (start < end && WHITE_SPACE.has(text.charCodeAt(start))) start++;
|
|
3107
|
+
while (end > start && WHITE_SPACE.has(text.charCodeAt(end - 1))) end--;
|
|
3108
|
+
return text.slice(start, end);
|
|
3109
|
+
}
|
|
3110
|
+
var fold = (text) => simpleCaseFold(trimWhiteSpace(text));
|
|
3077
3111
|
function isRoomElement(el) {
|
|
3078
3112
|
if (el == null || typeof el.type !== "string" || typeof el.supertype !== "string") return false;
|
|
3079
3113
|
const mark = el[ROOM_MARK];
|