@rezless/vm 0.6.2 → 0.8.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.
Files changed (273) hide show
  1. package/dist/builtins/agents.d.ts +14 -0
  2. package/dist/builtins/agents.d.ts.map +1 -0
  3. package/dist/builtins/agents.js +117 -0
  4. package/dist/builtins/agents.js.map +1 -0
  5. package/dist/builtins/animation.d.ts +46 -0
  6. package/dist/builtins/animation.d.ts.map +1 -0
  7. package/dist/builtins/animation.js +316 -0
  8. package/dist/builtins/animation.js.map +1 -0
  9. package/dist/builtins/attachments.d.ts +9 -0
  10. package/dist/builtins/attachments.d.ts.map +1 -0
  11. package/dist/builtins/attachments.js +127 -0
  12. package/dist/builtins/attachments.js.map +1 -0
  13. package/dist/builtins/base64.d.ts +13 -2
  14. package/dist/builtins/base64.d.ts.map +1 -1
  15. package/dist/builtins/base64.js +8 -6
  16. package/dist/builtins/base64.js.map +1 -1
  17. package/dist/builtins/camera.d.ts +35 -0
  18. package/dist/builtins/camera.d.ts.map +1 -0
  19. package/dist/builtins/camera.js +104 -0
  20. package/dist/builtins/camera.js.map +1 -0
  21. package/dist/builtins/collision.d.ts +21 -0
  22. package/dist/builtins/collision.d.ts.map +1 -0
  23. package/dist/builtins/collision.js +44 -0
  24. package/dist/builtins/collision.js.map +1 -0
  25. package/dist/builtins/controls.d.ts +19 -0
  26. package/dist/builtins/controls.d.ts.map +1 -0
  27. package/dist/builtins/controls.js +27 -0
  28. package/dist/builtins/controls.js.map +1 -0
  29. package/dist/builtins/damage.d.ts +24 -0
  30. package/dist/builtins/damage.d.ts.map +1 -0
  31. package/dist/builtins/damage.js +166 -0
  32. package/dist/builtins/damage.js.map +1 -0
  33. package/dist/builtins/detected.d.ts +22 -1
  34. package/dist/builtins/detected.d.ts.map +1 -1
  35. package/dist/builtins/detected.js +28 -2
  36. package/dist/builtins/detected.js.map +1 -1
  37. package/dist/builtins/dialog.d.ts +23 -0
  38. package/dist/builtins/dialog.d.ts.map +1 -0
  39. package/dist/builtins/dialog.js +69 -0
  40. package/dist/builtins/dialog.js.map +1 -0
  41. package/dist/builtins/email.d.ts +61 -0
  42. package/dist/builtins/email.d.ts.map +1 -0
  43. package/dist/builtins/email.js +121 -0
  44. package/dist/builtins/email.js.map +1 -0
  45. package/dist/builtins/environment.d.ts +27 -0
  46. package/dist/builtins/environment.d.ts.map +1 -0
  47. package/dist/builtins/environment.js +126 -0
  48. package/dist/builtins/environment.js.map +1 -0
  49. package/dist/builtins/experience.d.ts +51 -0
  50. package/dist/builtins/experience.d.ts.map +1 -0
  51. package/dist/builtins/experience.js +202 -0
  52. package/dist/builtins/experience.js.map +1 -0
  53. package/dist/builtins/game-control.d.ts +17 -0
  54. package/dist/builtins/game-control.d.ts.map +1 -0
  55. package/dist/builtins/game-control.js +21 -0
  56. package/dist/builtins/game-control.js.map +1 -0
  57. package/dist/builtins/give.d.ts +16 -0
  58. package/dist/builtins/give.d.ts.map +1 -0
  59. package/dist/builtins/give.js +137 -0
  60. package/dist/builtins/give.js.map +1 -0
  61. package/dist/builtins/ground.d.ts +18 -0
  62. package/dist/builtins/ground.d.ts.map +1 -0
  63. package/dist/builtins/ground.js +83 -0
  64. package/dist/builtins/ground.js.map +1 -0
  65. package/dist/builtins/hash.d.ts +1 -0
  66. package/dist/builtins/hash.d.ts.map +1 -1
  67. package/dist/builtins/hash.js +12 -2
  68. package/dist/builtins/hash.js.map +1 -1
  69. package/dist/builtins/http.d.ts +99 -4
  70. package/dist/builtins/http.d.ts.map +1 -1
  71. package/dist/builtins/http.js +216 -6
  72. package/dist/builtins/http.js.map +1 -1
  73. package/dist/builtins/index.d.ts.map +1 -1
  74. package/dist/builtins/index.js +250 -14
  75. package/dist/builtins/index.js.map +1 -1
  76. package/dist/builtins/inventory.d.ts +8 -5
  77. package/dist/builtins/inventory.d.ts.map +1 -1
  78. package/dist/builtins/inventory.js +37 -15
  79. package/dist/builtins/inventory.js.map +1 -1
  80. package/dist/builtins/json.d.ts.map +1 -1
  81. package/dist/builtins/json.js +45 -34
  82. package/dist/builtins/json.js.map +1 -1
  83. package/dist/builtins/land.d.ts +29 -0
  84. package/dist/builtins/land.d.ts.map +1 -0
  85. package/dist/builtins/land.js +339 -0
  86. package/dist/builtins/land.js.map +1 -0
  87. package/dist/builtins/link-info.js +2 -2
  88. package/dist/builtins/link-info.js.map +1 -1
  89. package/dist/builtins/links.d.ts +20 -0
  90. package/dist/builtins/links.d.ts.map +1 -0
  91. package/dist/builtins/links.js +53 -0
  92. package/dist/builtins/links.js.map +1 -0
  93. package/dist/builtins/linksetdata.d.ts +5 -0
  94. package/dist/builtins/linksetdata.d.ts.map +1 -1
  95. package/dist/builtins/linksetdata.js +22 -9
  96. package/dist/builtins/linksetdata.js.map +1 -1
  97. package/dist/builtins/lists.d.ts +21 -0
  98. package/dist/builtins/lists.d.ts.map +1 -1
  99. package/dist/builtins/lists.js +137 -17
  100. package/dist/builtins/lists.js.map +1 -1
  101. package/dist/builtins/math.d.ts +18 -0
  102. package/dist/builtins/math.d.ts.map +1 -1
  103. package/dist/builtins/math.js +104 -5
  104. package/dist/builtins/math.js.map +1 -1
  105. package/dist/builtins/media.d.ts +8 -0
  106. package/dist/builtins/media.d.ts.map +1 -0
  107. package/dist/builtins/media.js +167 -0
  108. package/dist/builtins/media.js.map +1 -0
  109. package/dist/builtins/motion.d.ts +79 -0
  110. package/dist/builtins/motion.d.ts.map +1 -0
  111. package/dist/builtins/motion.js +396 -0
  112. package/dist/builtins/motion.js.map +1 -0
  113. package/dist/builtins/notecard-search.d.ts +15 -0
  114. package/dist/builtins/notecard-search.d.ts.map +1 -0
  115. package/dist/builtins/notecard-search.js +374 -0
  116. package/dist/builtins/notecard-search.js.map +1 -0
  117. package/dist/builtins/object-animation.d.ts +21 -0
  118. package/dist/builtins/object-animation.d.ts.map +1 -0
  119. package/dist/builtins/object-animation.js +193 -0
  120. package/dist/builtins/object-animation.js.map +1 -0
  121. package/dist/builtins/object-reads.d.ts +39 -0
  122. package/dist/builtins/object-reads.d.ts.map +1 -0
  123. package/dist/builtins/object-reads.js +332 -0
  124. package/dist/builtins/object-reads.js.map +1 -0
  125. package/dist/builtins/object.d.ts +11 -2
  126. package/dist/builtins/object.d.ts.map +1 -1
  127. package/dist/builtins/object.js +32 -8
  128. package/dist/builtins/object.js.map +1 -1
  129. package/dist/builtins/particles.d.ts +4 -0
  130. package/dist/builtins/particles.d.ts.map +1 -0
  131. package/dist/builtins/particles.js +65 -0
  132. package/dist/builtins/particles.js.map +1 -0
  133. package/dist/builtins/pathfinding.d.ts +39 -0
  134. package/dist/builtins/pathfinding.d.ts.map +1 -0
  135. package/dist/builtins/pathfinding.js +83 -0
  136. package/dist/builtins/pathfinding.js.map +1 -0
  137. package/dist/builtins/permissions.d.ts.map +1 -1
  138. package/dist/builtins/permissions.js +6 -0
  139. package/dist/builtins/permissions.js.map +1 -1
  140. package/dist/builtins/physics.d.ts +49 -0
  141. package/dist/builtins/physics.d.ts.map +1 -0
  142. package/dist/builtins/physics.js +47 -0
  143. package/dist/builtins/physics.js.map +1 -0
  144. package/dist/builtins/prim-accessors.d.ts +4 -0
  145. package/dist/builtins/prim-accessors.d.ts.map +1 -1
  146. package/dist/builtins/prim-accessors.js +75 -28
  147. package/dist/builtins/prim-accessors.js.map +1 -1
  148. package/dist/builtins/prim-params.d.ts.map +1 -1
  149. package/dist/builtins/prim-params.js +6 -2
  150. package/dist/builtins/prim-params.js.map +1 -1
  151. package/dist/builtins/raycast.d.ts +3 -0
  152. package/dist/builtins/raycast.d.ts.map +1 -0
  153. package/dist/builtins/raycast.js +65 -0
  154. package/dist/builtins/raycast.js.map +1 -0
  155. package/dist/builtins/region.d.ts +31 -0
  156. package/dist/builtins/region.d.ts.map +1 -0
  157. package/dist/builtins/region.js +125 -0
  158. package/dist/builtins/region.js.map +1 -0
  159. package/dist/builtins/remote-load.d.ts +3 -0
  160. package/dist/builtins/remote-load.d.ts.map +1 -0
  161. package/dist/builtins/remote-load.js +53 -0
  162. package/dist/builtins/remote-load.js.map +1 -0
  163. package/dist/builtins/rez.d.ts +10 -0
  164. package/dist/builtins/rez.d.ts.map +1 -0
  165. package/dist/builtins/rez.js +255 -0
  166. package/dist/builtins/rez.js.map +1 -0
  167. package/dist/builtins/rsa.d.ts +4 -0
  168. package/dist/builtins/rsa.d.ts.map +1 -0
  169. package/dist/builtins/rsa.js +44 -0
  170. package/dist/builtins/rsa.js.map +1 -0
  171. package/dist/builtins/script-control.d.ts +8 -3
  172. package/dist/builtins/script-control.d.ts.map +1 -1
  173. package/dist/builtins/script-control.js +27 -8
  174. package/dist/builtins/script-control.js.map +1 -1
  175. package/dist/builtins/sensor.d.ts +11 -0
  176. package/dist/builtins/sensor.d.ts.map +1 -0
  177. package/dist/builtins/sensor.js +145 -0
  178. package/dist/builtins/sensor.js.map +1 -0
  179. package/dist/builtins/sit.d.ts +23 -0
  180. package/dist/builtins/sit.d.ts.map +1 -0
  181. package/dist/builtins/sit.js +150 -0
  182. package/dist/builtins/sit.js.map +1 -0
  183. package/dist/builtins/sound.d.ts +19 -0
  184. package/dist/builtins/sound.d.ts.map +1 -0
  185. package/dist/builtins/sound.js +113 -0
  186. package/dist/builtins/sound.js.map +1 -0
  187. package/dist/builtins/strings.d.ts +6 -0
  188. package/dist/builtins/strings.d.ts.map +1 -1
  189. package/dist/builtins/strings.js +47 -6
  190. package/dist/builtins/strings.js.map +1 -1
  191. package/dist/builtins/targets.d.ts +12 -0
  192. package/dist/builtins/targets.d.ts.map +1 -0
  193. package/dist/builtins/targets.js +121 -0
  194. package/dist/builtins/targets.js.map +1 -0
  195. package/dist/builtins/time.d.ts +15 -5
  196. package/dist/builtins/time.d.ts.map +1 -1
  197. package/dist/builtins/time.js +36 -11
  198. package/dist/builtins/time.js.map +1 -1
  199. package/dist/builtins/vehicles.d.ts +22 -0
  200. package/dist/builtins/vehicles.d.ts.map +1 -0
  201. package/dist/builtins/vehicles.js +78 -0
  202. package/dist/builtins/vehicles.js.map +1 -0
  203. package/dist/builtins/viewer.d.ts +39 -0
  204. package/dist/builtins/viewer.d.ts.map +1 -0
  205. package/dist/builtins/viewer.js +74 -0
  206. package/dist/builtins/viewer.js.map +1 -0
  207. package/dist/clock.d.ts +45 -7
  208. package/dist/clock.d.ts.map +1 -1
  209. package/dist/clock.js +125 -14
  210. package/dist/clock.js.map +1 -1
  211. package/dist/dispatch.d.ts +3 -2
  212. package/dist/dispatch.d.ts.map +1 -1
  213. package/dist/dispatch.js +15 -10
  214. package/dist/dispatch.js.map +1 -1
  215. package/dist/experience.d.ts +39 -0
  216. package/dist/experience.d.ts.map +1 -0
  217. package/dist/experience.js +38 -0
  218. package/dist/experience.js.map +1 -0
  219. package/dist/index.d.ts +20 -3
  220. package/dist/index.d.ts.map +1 -1
  221. package/dist/index.js +1 -0
  222. package/dist/index.js.map +1 -1
  223. package/dist/interpreter.d.ts +5 -10
  224. package/dist/interpreter.d.ts.map +1 -1
  225. package/dist/interpreter.js +143 -70
  226. package/dist/interpreter.js.map +1 -1
  227. package/dist/inventory.d.ts +2 -0
  228. package/dist/inventory.d.ts.map +1 -1
  229. package/dist/inventory.js +2 -0
  230. package/dist/inventory.js.map +1 -1
  231. package/dist/linkset.d.ts +147 -11
  232. package/dist/linkset.d.ts.map +1 -1
  233. package/dist/linkset.js +401 -28
  234. package/dist/linkset.js.map +1 -1
  235. package/dist/memory.d.ts +5 -2
  236. package/dist/memory.d.ts.map +1 -1
  237. package/dist/memory.js +5 -2
  238. package/dist/memory.js.map +1 -1
  239. package/dist/prim-params.d.ts +27 -10
  240. package/dist/prim-params.d.ts.map +1 -1
  241. package/dist/prim-params.js +209 -125
  242. package/dist/prim-params.js.map +1 -1
  243. package/dist/prim.d.ts +95 -5
  244. package/dist/prim.d.ts.map +1 -1
  245. package/dist/prim.js +96 -7
  246. package/dist/prim.js.map +1 -1
  247. package/dist/runtime.d.ts +52 -3
  248. package/dist/runtime.d.ts.map +1 -1
  249. package/dist/script.d.ts +171 -12
  250. package/dist/script.d.ts.map +1 -1
  251. package/dist/script.js +480 -73
  252. package/dist/script.js.map +1 -1
  253. package/dist/typecheck.d.ts +3 -1
  254. package/dist/typecheck.d.ts.map +1 -1
  255. package/dist/typecheck.js +25 -5
  256. package/dist/typecheck.js.map +1 -1
  257. package/dist/values/coerce.d.ts +1 -1
  258. package/dist/values/coerce.d.ts.map +1 -1
  259. package/dist/values/coerce.js +10 -6
  260. package/dist/values/coerce.js.map +1 -1
  261. package/dist/values/format.d.ts +3 -1
  262. package/dist/values/format.d.ts.map +1 -1
  263. package/dist/values/format.js +10 -6
  264. package/dist/values/format.js.map +1 -1
  265. package/dist/values/ops.d.ts +3 -0
  266. package/dist/values/ops.d.ts.map +1 -1
  267. package/dist/values/ops.js +2 -2
  268. package/dist/values/ops.js.map +1 -1
  269. package/dist/world.d.ts +247 -1
  270. package/dist/world.d.ts.map +1 -1
  271. package/dist/world.js +318 -6
  272. package/dist/world.js.map +1 -1
  273. package/package.json +2 -2
package/dist/runtime.d.ts CHANGED
@@ -49,6 +49,20 @@ export interface ScriptState {
49
49
  readonly httpRequests: import('./builtins/http.js').HttpRequestEntry[];
50
50
  /** Monotonic counter feeding deterministic HTTP request keys. */
51
51
  httpKeyCounter: number;
52
+ /** URLs held from llRequestURL / llRequestSecureURL, oldest first. Cleared on reset. */
53
+ readonly urls: string[];
54
+ /** Whether llRequestURL is granted or denied; set by script.grantUrls / denyUrls. */
55
+ urlPolicy: 'grant' | 'deny';
56
+ /** Monotonic counter feeding deterministic URL keys. */
57
+ urlCounter: number;
58
+ /** Requests tests sent to this script's URLs, oldest first. */
59
+ readonly incomingHttp: import('./builtins/http.js').IncomingHttpRequest[];
60
+ /** Monotonic counter feeding deterministic incoming request keys. */
61
+ httpInCounter: number;
62
+ /** Mail sent with llEmail, oldest first. */
63
+ readonly emails: import('./builtins/email.js').SentEmail[];
64
+ /** Mail sent with llTargetedEmail, oldest first. */
65
+ readonly targetedEmails: import('./builtins/email.js').SentTargetedEmail[];
52
66
  readonly listens: import('./builtins/listen.js').ListenEntry[];
53
67
  /** Monotonic counter for llListen handles. */
54
68
  listenHandleCounter: number;
@@ -93,13 +107,42 @@ export interface ScriptState {
93
107
  agent: string;
94
108
  readonly requests: import('./builtins/permissions.js').PermissionRequestEntry[];
95
109
  };
110
+ /** The experience the script was compiled with, or null. */
111
+ readonly experience: import('./experience.js').Experience | null;
112
+ /** llRequestExperiencePermissions calls waiting for the test to answer, oldest first. */
113
+ readonly experienceRequests: import('./builtins/experience.js').ExperienceRequestEntry[];
114
+ /** Controls taken with llTakeControls, and the control levels last sent by the test. */
115
+ readonly controls: {
116
+ taken: import('./builtins/controls.js').TakenControls | null;
117
+ level: number;
118
+ };
119
+ /** The permission agent's camera, set by the test and read by llGetCamera*. */
120
+ camera: import('./builtins/camera.js').Camera;
121
+ /** Semantic input snapshot for the currently executing game_control event. */
122
+ gameControlSnapshot: import('./builtins/game-control.js').GameControlSnapshot | null;
123
+ /** Camera rules set with llSetCameraParams, by rule. */
124
+ readonly cameraParams: Map<number, LslValue>;
125
+ /** Avatar animations in this region, shared across scripts and preserved on reset. */
126
+ readonly animations: Map<string, import('./builtins/animation.js').AvatarAnimations>;
127
+ /** Inventory offers and completed deliveries, oldest first. */
128
+ readonly inventoryOffers: import('./builtins/give.js').InventoryOffer[];
129
+ /** Script teleport attempts, including permission failures. */
130
+ readonly teleportRequests: import('./builtins/sit.js').TeleportRequest[];
131
+ /** Viewer requests, including denied floaters, oldest first. */
132
+ readonly viewerRequests: import('./builtins/viewer.js').ViewerRequest[];
133
+ /** Region-presence overrides shared with scripts in the region. */
134
+ readonly agentPresence: Map<string, boolean>;
135
+ /** Dialogs and text boxes shown with llDialog / llTextBox, oldest first. */
136
+ readonly dialogs: import('./builtins/dialog.js').DialogEntry[];
96
137
  /**
97
- * Lifecycle flags — `dead` is set when llDie runs; `removed` when the
98
- * script removes itself from inventory, so it stops at its next yield.
138
+ * Lifecycle flags — `dead` is set when llDie runs or the script is removed
139
+ * from inventory; `dying` when the script itself called llDie; `removed`
140
+ * when it removed itself.
99
141
  */
100
142
  lifecycle: {
101
143
  dead: boolean;
102
- removed?: boolean;
144
+ dying: boolean;
145
+ removed: boolean;
103
146
  };
104
147
  /** Source filename used for coverage attribution. "<inline>" for inline-source loads. */
105
148
  readonly filename: string;
@@ -111,11 +154,17 @@ export interface ScriptState {
111
154
  readonly memory: Memory;
112
155
  }
113
156
  export type BuiltinImpl = (ctx: CallContext, args: ReadonlyArray<LslValue>) => LslValue | undefined;
157
+ export interface Suspension {
158
+ readonly until: number;
159
+ }
160
+ export type Run<T> = Generator<Suspension, T, unknown>;
114
161
  export interface CallContext {
115
162
  readonly state: ScriptState;
116
163
  readonly spec: BuiltinSpec | undefined;
117
164
  readonly script: Script;
118
165
  readonly prim: Prim;
119
166
  readonly linkset: Linkset;
167
+ /** Suspend the calling script for `ms` virtual milliseconds once the builtin returns. */
168
+ sleep(ms: number): void;
120
169
  }
121
170
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,yCAAyC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,IAAI,CAAA;AAEpG,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAA;CACxC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,OAAO,oBAAoB,EAAE,gBAAgB,EAAE,CAAA;IACtE,iEAAiE;IACjE,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,sBAAsB,EAAE,WAAW,EAAE,CAAA;IAC9D,8CAA8C;IAC9C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,EAAE,cAAc,CAAA;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,OAAO,sBAAsB,EAAE,kBAAkB,EAAE,CAAA;IAC5E,QAAQ,CAAC,kBAAkB,EAAE,OAAO,0BAA0B,EAAE,sBAAsB,EAAE,CAAA;IACxF,qDAAqD;IACrD,oBAAoB,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,wBAAwB,EAAE,eAAe,EAAE,CAAA;IAC1E;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,2BAA2B,EAAE,gBAAgB,CAAC,CAAA;IACvF;;;OAGG;IACH,UAAU,EAAE;QACV,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE;gBAAE,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,EAAE,MAAM,CAAC;gBAAC,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;QACxF,WAAW,EAAE,MAAM,CAAA;KACpB,CAAA;IACD,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE;QACpB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,QAAQ,EAAE,OAAO,2BAA2B,EAAE,sBAAsB,EAAE,CAAA;KAChF,CAAA;IACD;;;OAGG;IACH,SAAS,EAAE;QACT,IAAI,EAAE,OAAO,CAAA;QACb,OAAO,CAAC,EAAE,OAAO,CAAA;KAClB,CAAA;IACD,yFAAyF;IACzF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,oGAAoG;IACpG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,oFAAoF;IACpF,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAAA;IAClC,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAG,SAAS,CAAA;AAEnG,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/script.d.ts CHANGED
@@ -1,16 +1,28 @@
1
+ import { type GameControlState } from './builtins/game-control.js';
2
+ import { type CombatAvatar } from './builtins/damage.js';
1
3
  import type { Script as Ast, TypeName } from '@rezless/parser';
2
4
  import type { BuiltinImpl, ChatEntry, CallEntry } from './runtime.js';
3
- import type { HttpRequestEntry } from './builtins/http.js';
5
+ import type { HttpRequestEntry, IncomingHttpInit, IncomingHttpRequest } from './builtins/http.js';
6
+ import type { IncomingEmail, IncomingEmailInit, SentEmail, SentTargetedEmail } from './builtins/email.js';
7
+ import type { Character, NavigationResults } from './builtins/pathfinding.js';
4
8
  import type { ListenEntry } from './builtins/listen.js';
5
9
  import type { LinkedMessageEntry } from './builtins/linked.js';
6
10
  import type { DataserverRequestEntry } from './builtins/dataserver.js';
7
11
  import type { LinksetDataEntry } from './builtins/linksetdata.js';
8
12
  import type { PermissionRequestEntry } from './builtins/permissions.js';
13
+ import type { DialogEntry } from './builtins/dialog.js';
14
+ import type { TakenControls } from './builtins/controls.js';
15
+ import { type ViewerRequest } from './builtins/viewer.js';
16
+ import type { InventoryOffer } from './builtins/give.js';
17
+ import type { Camera } from './builtins/camera.js';
18
+ import type { AnimationState } from './builtins/animation.js';
9
19
  import type { CoverageReport } from './coverage.js';
10
20
  import type { LslType, LslValue } from './values/types.js';
11
21
  import { ScriptClockView } from './clock.js';
12
22
  import { Linkset } from './linkset.js';
13
23
  import { Prim } from './prim.js';
24
+ import type { Experience } from './experience.js';
25
+ import type { ExperienceRequestEntry } from './builtins/experience.js';
14
26
  /** Signature of an unlisted function that a test provides through `script.mock`. */
15
27
  export interface FunctionSignature {
16
28
  /** Return type; omit for a void function. */
@@ -34,6 +46,13 @@ export interface ScriptOptions {
34
46
  * set it on the Linkset instead.
35
47
  */
36
48
  readonly startUnixTime?: number;
49
+ /**
50
+ * Start parameter and string the object was rezzed with, read by
51
+ * llGetStartParameter and llGetStartString. Default 0 and "". Ignored when
52
+ * `host` is given; set them on the Linkset instead.
53
+ */
54
+ readonly startParameter?: number;
55
+ readonly startString?: string;
37
56
  /** Prim key returned by llGetKey. Defaults to a deterministic per-script key. */
38
57
  readonly objectKey?: string;
39
58
  /** Prim name returned by llGetObjectName. Defaults to "Object". */
@@ -73,6 +92,11 @@ export interface ScriptOptions {
73
92
  * measured, but the script keeps running.
74
93
  */
75
94
  readonly memoryLimit?: boolean;
95
+ /**
96
+ * The experience the script is compiled with. Scripts given the same
97
+ * Experience share its key-value store. Default: none.
98
+ */
99
+ readonly experience?: Experience;
76
100
  }
77
101
  /**
78
102
  * Public handle for a loaded LSL script. Tests interact almost entirely
@@ -81,11 +105,13 @@ export interface ScriptOptions {
81
105
  */
82
106
  export declare class Script {
83
107
  private readonly ast;
108
+ private readonly options;
84
109
  private readonly state;
85
110
  private readonly mocks;
86
111
  private readonly globals;
87
112
  private readonly userFunctions;
88
113
  private readonly functions;
114
+ private readonly invalidPrograms;
89
115
  private readonly handlersByState;
90
116
  private started;
91
117
  private readonly stubs;
@@ -93,7 +119,6 @@ export declare class Script {
93
119
  /** Per-script clock facade (timer state + time reference). */
94
120
  readonly clockView: ScriptClockView;
95
121
  readonly host: Prim;
96
- readonly linkset: Linkset;
97
122
  readonly scriptName: string;
98
123
  /** When false, drainQueue parks events instead of delivering them. */
99
124
  running: boolean;
@@ -103,8 +128,20 @@ export declare class Script {
103
128
  event: string;
104
129
  payload: Record<string, unknown>;
105
130
  }>;
131
+ /** llGetStartParameter: the linkset's start parameter until the script resets, then 0. */
132
+ startParameter: number;
133
+ /** The handler chain suspended in llSleep or a builtin delay, if any. */
134
+ private task;
135
+ /** Virtual time this script last started a handler or woke from a sleep. */
136
+ resumedAt: number;
106
137
  constructor(ast: Ast, options?: ScriptOptions);
138
+ /** A state transition leaves on_damage before lifecycle handlers execute. */
139
+ private clearDamageAdjustment;
140
+ /** Configure an avatar's combat health, parcel and attachment scripts. */
141
+ setCombatAvatar(id: string, avatar: CombatAvatar): void;
107
142
  /** Current virtual time in milliseconds since linkset construction. */
143
+ /** The linkset holding this script's prim; it changes when the prim is linked or unlinked. */
144
+ get linkset(): Linkset;
108
145
  get now(): number;
109
146
  /**
110
147
  * Advance the linkset clock by `ms` and fire every queued event whose
@@ -131,6 +168,12 @@ export declare class Script {
131
168
  get calls(): ReadonlyArray<CallEntry>;
132
169
  /** Filtered call log: only entries for `name`. */
133
170
  callsOf(name: string): ReadonlyArray<CallEntry>;
171
+ /** The object's character, or null before creation and after deletion. */
172
+ get character(): Character | null;
173
+ /** Set fixed navigation query answers. These fixtures survive script resets. */
174
+ setNavigationResults(results: NavigationResults): void;
175
+ /** Raise path_update on every script in the character's root prim. */
176
+ pathUpdate(type: number, reserved?: ReadonlyArray<LslValue>): void;
134
177
  /** Captured outgoing HTTP requests from `llHTTPRequest`. */
135
178
  get httpRequests(): ReadonlyArray<HttpRequestEntry>;
136
179
  /**
@@ -150,6 +193,30 @@ export declare class Script {
150
193
  body?: string;
151
194
  metadata?: ReadonlyArray<unknown>;
152
195
  }): void;
196
+ /** URLs the script holds from llRequestURL / llRequestSecureURL, oldest first. */
197
+ get urls(): ReadonlyArray<string>;
198
+ /** Grant later llRequestURL / llRequestSecureURL calls (the default). */
199
+ grantUrls(): void;
200
+ /** Deny later llRequestURL / llRequestSecureURL calls with URL_REQUEST_DENIED. */
201
+ denyUrls(): void;
202
+ /**
203
+ * Send a request to one of the script's URLs, with a path and query after
204
+ * it if you like, and fire `http_request`. The returned request's
205
+ * `response` holds what the script answered with llHTTPResponse.
206
+ */
207
+ sendHttpRequest(url: string, init?: IncomingHttpInit): IncomingHttpRequest;
208
+ /** Mail the script sent with llEmail, oldest first. */
209
+ get emails(): ReadonlyArray<SentEmail>;
210
+ /** Mail the script sent with llTargetedEmail, oldest first. */
211
+ get targetedEmails(): ReadonlyArray<SentTargetedEmail>;
212
+ /** Mail queued on the script's prim, oldest first, waiting for llGetNextEmail. */
213
+ get inbox(): ReadonlyArray<IncomingEmail>;
214
+ /**
215
+ * Queue mail on the script's prim. It fires `email` only when a script in
216
+ * the prim asks for it with llGetNextEmail. Returns false, queuing
217
+ * nothing, when the prim already holds 101 mails.
218
+ */
219
+ deliverEmail(init: IncomingEmailInit): boolean;
153
220
  /** Currently active listen registrations (from `llListen`). */
154
221
  get listens(): ReadonlyArray<ListenEntry>;
155
222
  /** Captured llMessageLinked invocations originating from this script. */
@@ -176,6 +243,68 @@ export declare class Script {
176
243
  grantPermissions(permissions?: number): void;
177
244
  /** Answer the most recent unanswered permission request with No. */
178
245
  denyPermissions(): void;
246
+ /** The experience the script was compiled with, or null. */
247
+ get experience(): Experience | null;
248
+ /** llRequestExperiencePermissions calls waiting for an answer, oldest first. */
249
+ get experienceRequests(): ReadonlyArray<ExperienceRequestEntry>;
250
+ /**
251
+ * Accept the most recent unanswered llRequestExperiencePermissions: the
252
+ * agent joins the experience, the script holds the experience permissions
253
+ * for that agent, and `experience_permissions` fires.
254
+ */
255
+ grantExperiencePermissions(): void;
256
+ /**
257
+ * Decline the most recent unanswered llRequestExperiencePermissions:
258
+ * `experience_permissions_denied` fires with `reason`
259
+ * (XP_ERROR_NOT_PERMITTED by default).
260
+ */
261
+ denyExperiencePermissions(reason?: number): void;
262
+ private answerExperienceRequest;
263
+ private fireAndSettle;
264
+ /** Controls taken with llTakeControls, or null when none are. */
265
+ get controls(): TakenControls | null;
266
+ /**
267
+ * Have the permission agent hold exactly the controls in `level` (CONTROL_*
268
+ * bits; 0 lets go of all). Fires `control` with the held and just-changed
269
+ * bits among those taken, if the script took controls with accept TRUE and
270
+ * any of them is held or changed.
271
+ */
272
+ sendControl(level: number): void;
273
+ /** Set an avatar's semantic input fixture, shared by scripts in this World. */
274
+ setGameControl(agent: string, input: GameControlState | null): void;
275
+ /** Queue raw input and a copy of the avatar's semantic fixture for this script. */
276
+ sendGameControl(agent: string, raw?: {
277
+ buttons?: number;
278
+ axes?: readonly number[];
279
+ }): void;
280
+ /** Set the permission agent's camera that llGetCameraPos / Rot / FOV / Aspect report. */
281
+ setCamera(camera: Partial<Camera>): void;
282
+ /** Camera rules set with llSetCameraParams, by rule. */
283
+ get cameraParams(): ReadonlyMap<number, LslValue>;
284
+ /** Register an avatar in this region and set its default locomotion animation. */
285
+ setAnimationState(agent: string, state: AnimationState): void;
286
+ /** Playing animation UUIDs for an avatar, in UUID order. Returns a fresh array. */
287
+ getPlayingAnimations(agent: string): ReadonlyArray<string>;
288
+ /** Inventory offers and completed prim deliveries, oldest first. */
289
+ get inventoryOffers(): ReadonlyArray<InventoryOffer>;
290
+ /** Teleport attempts made by this script, oldest first. */
291
+ get teleportRequests(): ReadonlyArray<import('./builtins/sit.js').TeleportRequest>;
292
+ /** URL/map requests and rejected floater calls, oldest first. */
293
+ get viewerRequests(): ReadonlyArray<ViewerRequest>;
294
+ /** Override whether an avatar is present in this region, for every script sharing it. */
295
+ setAgentInRegion(agent: string, present?: boolean): void;
296
+ /** Dialogs and text boxes this script showed with llDialog / llTextBox, oldest first. */
297
+ get dialogs(): ReadonlyArray<DialogEntry>;
298
+ /**
299
+ * Answer a dialog as its avatar: the most recent unanswered one, or
300
+ * `opts.dialog`. The avatar says `text` on the dialog's channel, heard by
301
+ * listens within 20 m of the prim that showed it. A llDialog answer must
302
+ * be one of its buttons; a text box takes any text.
303
+ */
304
+ answerDialog(text: string, opts?: {
305
+ name?: string;
306
+ dialog?: DialogEntry;
307
+ }): void;
179
308
  /** Currently displayed floating text (from llSetText). null if unset. */
180
309
  get text(): {
181
310
  text: string;
@@ -186,6 +315,15 @@ export declare class Script {
186
315
  };
187
316
  alpha: number;
188
317
  } | null;
318
+ /** The prim's llSetTouchText text, '' if unset. */
319
+ get touchText(): string;
320
+ /** The prim's llSetSitText text, '' if unset. */
321
+ get sitText(): string;
322
+ /** The prim's llSetPayPrice arguments, null if unset. */
323
+ get payPrice(): {
324
+ price: number;
325
+ buttons: LslValue[];
326
+ } | null;
189
327
  /** Object description from llSetObjectDesc. */
190
328
  get objectDesc(): string;
191
329
  /**
@@ -201,11 +339,13 @@ export declare class Script {
201
339
  value: string;
202
340
  password?: string;
203
341
  }]>): void;
342
+ /** The script's memory limit in bytes, as llGetMemoryLimit reads it. */
343
+ get memoryLimit(): number;
204
344
  /** True once `llDie()` has been called. Subsequent fire() calls are no-ops. */
205
345
  get dead(): boolean;
206
346
  /**
207
- * Match chat against this script's listens and queue `listen` events for
208
- * every match. Does not drain — caller does that. Used by Linkset.deliverChat
347
+ * Match chat against this script's listens and queue one `listen` event
348
+ * if any of them match; returns whether one did. Does not drain — caller does that. Used by Linkset.deliverChat
209
349
  * for cross-script delivery.
210
350
  */
211
351
  matchChatListens(opts: {
@@ -213,7 +353,7 @@ export declare class Script {
213
353
  name: string;
214
354
  key: string;
215
355
  message: string;
216
- }): void;
356
+ }): boolean;
217
357
  /**
218
358
  * Deliver chat to this script only. Linkset-wide delivery (every listening
219
359
  * script in the linkset) is `linkset.deliverChat`.
@@ -244,7 +384,10 @@ export declare class Script {
244
384
  *
245
385
  * Synchronous: runs the handler to completion before returning, including
246
386
  * any state transitions triggered by `state foo;` (state_exit / change /
247
- * state_entry chain runs before fire() returns).
387
+ * state_entry chain runs before fire() returns). A handler that sleeps
388
+ * moves the clock to its wake time, running every other script's due
389
+ * events on the way. A script already sleeping handles the event after
390
+ * its current handler.
248
391
  *
249
392
  * If the current state has no handler for `eventName`, this is a no-op
250
393
  * — matches LSL behavior of silently dropping unhandled events.
@@ -255,25 +398,40 @@ export declare class Script {
255
398
  * (e.g. by an earlier fire), this is a no-op.
256
399
  */
257
400
  start(): void;
401
+ /** Queue a fresh inventory script's first event without waiting for its handler. */
402
+ queueStart(): void;
403
+ /** Copy inventory code; fresh copies omit saved runtime state for remote loading. */
404
+ copyTo(host: Prim, opts?: {
405
+ fresh?: boolean;
406
+ }): Script;
407
+ /** Queue rez lifecycle events after restoring the inventory script's saved data. */
408
+ queueRez(): void;
409
+ private boot;
258
410
  /**
259
411
  * Reset the script as if `llResetScript` had been called: clear globals,
260
412
  * reseed them from the AST initializers, return to the default state,
261
413
  * cancel timers, and run state_entry. Used internally when llResetScript
262
414
  * is invoked from inside a handler; tests can also call it directly.
415
+ * A sleeping handler is abandoned.
263
416
  */
264
417
  reset(): void;
418
+ private restart;
265
419
  /**
266
420
  * Internal: invoked by `Linkset.drainQueue` to deliver one queued event.
267
421
  * The synthetic `__reset` event triggers a sibling-initiated reset
268
422
  * (scheduled by `llResetOtherScript`).
269
423
  */
270
424
  deliver(event: string, payload: Record<string, unknown>): void;
271
- /**
272
- * Push a detected context (if the payload includes `detected`) for the
273
- * duration of `fn`, so llDetectedKey / Name / Pos / etc. inside the
274
- * handler resolve to the right entries.
275
- */
276
- private withDetected;
425
+ /** Whether the current state has a handler for `event`. */
426
+ handles(event: string): boolean;
427
+ /** Virtual time a sleeping handler wakes at, or undefined when the script is idle. */
428
+ get wakeAt(): number | undefined;
429
+ /** Internal: invoked by `Linkset.drainQueue` when a sleeping handler's wake time comes. */
430
+ wake(): void;
431
+ private begin;
432
+ private step;
433
+ private finish;
434
+ private abandon;
277
435
  /**
278
436
  * Run a handler and process any state-change signal it raises.
279
437
  *
@@ -284,6 +442,7 @@ export declare class Script {
284
442
  * does `state foo;` continues the chain correctly.
285
443
  */
286
444
  private runHandler;
445
+ /** Returns true when the chain ended in llResetScript. */
287
446
  private runHandlerChain;
288
447
  /** Stop the script after a fatal run-time error, reporting it on DEBUG_CHANNEL. */
289
448
  private crash;
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}