@lapxo/bound 0.1.8 → 0.2.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 (248) hide show
  1. package/README.md +56 -20
  2. package/TARGET.bound +70 -27
  3. package/assets/wasm/guest.js +4 -0
  4. package/assets/wasm/manifest.json +27 -0
  5. package/assets/wasm/runtime.js +6 -0
  6. package/assets/wasm/runtime.wasm +0 -0
  7. package/dist/cli/accept.js +83 -59
  8. package/dist/cli/act-result.d.ts +9 -0
  9. package/dist/cli/act-result.js +68 -13
  10. package/dist/cli/args.d.ts +1 -0
  11. package/dist/cli/args.js +5 -2
  12. package/dist/cli/custodian.d.ts +1 -0
  13. package/dist/cli/custodian.js +29 -0
  14. package/dist/cli/native-descendant.d.ts +1 -0
  15. package/dist/cli/native-descendant.js +19 -0
  16. package/dist/cli/native.d.ts +1 -0
  17. package/dist/cli/native.js +60 -0
  18. package/dist/cli/observe.js +9 -2
  19. package/dist/cli/pass.js +9 -4
  20. package/dist/cli/place.d.ts +2 -0
  21. package/dist/cli/place.js +7 -4
  22. package/dist/cli/standing-result.js +7 -26
  23. package/dist/cli/verb.js +65 -9
  24. package/dist/engine/index.d.ts +11 -0
  25. package/dist/engine/index.js +9 -0
  26. package/dist/engine/object.d.ts +17 -0
  27. package/dist/engine/object.js +38 -0
  28. package/dist/fold/admission-history.js +2 -2
  29. package/dist/fold/claims.d.ts +4 -0
  30. package/dist/fold/claims.js +23 -3
  31. package/dist/fold/closed.d.ts +1 -1
  32. package/dist/fold/closed.js +36 -7
  33. package/dist/fold/digests.d.ts +1 -1
  34. package/dist/fold/digests.js +6 -4
  35. package/dist/fold/evidence.d.ts +1 -1
  36. package/dist/fold/kept.js +2 -1
  37. package/dist/fold/object.d.ts +3 -17
  38. package/dist/fold/object.js +2 -38
  39. package/dist/fold/observed.d.ts +1 -0
  40. package/dist/fold/observed.js +54 -9
  41. package/dist/fold/readers.d.ts +4 -3
  42. package/dist/fold/readers.js +18 -13
  43. package/dist/fold/resolved.js +12 -2
  44. package/dist/fold/signers.js +2 -2
  45. package/dist/host/adapters/modules/javascript.d.ts +2 -0
  46. package/dist/host/adapters/modules/javascript.js +8 -6
  47. package/dist/host/admitted-place.d.ts +5 -0
  48. package/dist/host/admitted-place.js +57 -0
  49. package/dist/host/capsule-process.d.ts +1 -1
  50. package/dist/host/capsule-process.js +4 -1
  51. package/dist/host/capsule.d.ts +4 -0
  52. package/dist/host/capsule.js +16 -2
  53. package/dist/host/cell-receipts.js +1 -1
  54. package/dist/host/contextual-place.d.ts +59 -0
  55. package/dist/host/contextual-place.js +77 -0
  56. package/dist/host/hash.d.ts +7 -0
  57. package/dist/host/hash.js +6 -0
  58. package/dist/host/io.d.ts +2 -0
  59. package/dist/host/io.js +2 -0
  60. package/dist/host/lifetime.js +61 -22
  61. package/dist/host/native/bounded-file.d.ts +8 -0
  62. package/dist/host/native/bounded-file.js +32 -0
  63. package/dist/host/native/command.d.ts +36 -0
  64. package/dist/host/native/command.js +91 -0
  65. package/dist/host/native/control-bridge-worker.d.ts +1 -0
  66. package/dist/host/native/control-bridge-worker.js +88 -0
  67. package/dist/host/native/control-bridge.d.ts +30 -0
  68. package/dist/host/native/control-bridge.js +110 -0
  69. package/dist/host/native/control-selection.d.ts +29 -0
  70. package/dist/host/native/control-selection.js +32 -0
  71. package/dist/host/native/custody.d.ts +5 -0
  72. package/dist/host/native/custody.js +91 -0
  73. package/dist/host/native/deadline.d.ts +12 -0
  74. package/dist/host/native/deadline.js +28 -0
  75. package/dist/host/native/descendants.d.ts +1 -0
  76. package/dist/host/native/descendants.js +528 -0
  77. package/dist/host/native/generated-custodian.d.ts +122 -0
  78. package/dist/host/native/generated-custodian.js +267 -0
  79. package/dist/host/native/generated.d.ts +217 -0
  80. package/dist/host/native/generated.js +379 -0
  81. package/dist/host/native/image.d.ts +36 -0
  82. package/dist/host/native/image.js +45 -0
  83. package/dist/host/native/jobs.d.ts +75 -0
  84. package/dist/host/native/jobs.js +148 -0
  85. package/dist/host/native/loader.d.ts +80 -0
  86. package/dist/host/native/loader.js +269 -0
  87. package/dist/host/native/materialize.d.ts +22 -0
  88. package/dist/host/native/materialize.js +175 -0
  89. package/dist/host/native/module-closure.d.ts +27 -0
  90. package/dist/host/native/module-closure.js +99 -0
  91. package/dist/host/native/module-syntax.d.ts +8 -0
  92. package/dist/host/native/module-syntax.js +63 -0
  93. package/dist/host/native/native-binary.d.ts +54 -0
  94. package/dist/host/native/native-binary.js +115 -0
  95. package/dist/host/native/native-program.d.ts +56 -0
  96. package/dist/host/native/native-program.js +72 -0
  97. package/dist/host/native/node-jobs.d.ts +84 -0
  98. package/dist/host/native/node-jobs.js +187 -0
  99. package/dist/host/native/node-launch.d.ts +72 -0
  100. package/dist/host/native/node-launch.js +159 -0
  101. package/dist/host/native/preload.d.ts +1 -0
  102. package/dist/host/native/preload.js +45 -0
  103. package/dist/host/native/reading.d.ts +91 -0
  104. package/dist/host/native/reading.js +249 -0
  105. package/dist/host/native/receipt-environment.d.ts +3 -0
  106. package/dist/host/native/receipt-environment.js +41 -0
  107. package/dist/host/native/references.d.ts +5 -0
  108. package/dist/host/native/references.js +30 -0
  109. package/dist/host/native/root.d.ts +17 -0
  110. package/dist/host/native/root.js +37 -0
  111. package/dist/host/native/route.d.ts +66 -0
  112. package/dist/host/native/route.js +216 -0
  113. package/dist/host/native/runtime.d.ts +4 -0
  114. package/dist/host/native/runtime.js +9 -0
  115. package/dist/host/native-reader-context.d.ts +3 -0
  116. package/dist/host/native-reader-context.js +8 -0
  117. package/dist/host/objects.d.ts +2 -1
  118. package/dist/host/objects.js +24 -4
  119. package/dist/host/place-clock-selection.d.ts +55 -0
  120. package/dist/host/place-clock-selection.js +124 -0
  121. package/dist/host/ports/local-act.d.ts +10 -0
  122. package/dist/host/ports/local-act.js +78 -6
  123. package/dist/host/ports/place-act.d.ts +46 -0
  124. package/dist/host/ports/place-act.js +169 -0
  125. package/dist/host/process-lifetime.js +8 -3
  126. package/dist/host/provide.d.ts +25 -0
  127. package/dist/host/provide.js +115 -13
  128. package/dist/host/reading-closures.d.ts +17 -1
  129. package/dist/host/reading-closures.js +98 -18
  130. package/dist/host/reading-context.d.ts +29 -0
  131. package/dist/host/reading-context.js +53 -0
  132. package/dist/host/reference-authenticated.d.ts +28 -0
  133. package/dist/host/reference-authenticated.js +84 -0
  134. package/dist/host/reference-native.d.ts +10 -0
  135. package/dist/host/reference-native.js +50 -0
  136. package/dist/host/reference-profile.d.ts +23 -0
  137. package/dist/host/reference-profile.js +62 -0
  138. package/dist/host/reference.d.ts +6 -0
  139. package/dist/host/reference.js +24 -0
  140. package/dist/host/root-clock-source.d.ts +85 -0
  141. package/dist/host/root-clock-source.js +305 -0
  142. package/dist/host/selected-capsules.js +3 -2
  143. package/dist/host/selected-topos.d.ts +1 -1
  144. package/dist/host/selected-topos.js +9 -1
  145. package/dist/land/act.d.ts +26 -0
  146. package/dist/land/act.js +96 -3
  147. package/dist/land/ledger.d.ts +4 -0
  148. package/dist/land/ledger.js +20 -2
  149. package/dist/observe/regions.d.ts +4 -0
  150. package/dist/observe/regions.js +109 -1
  151. package/dist/observe/runner.d.ts +4 -0
  152. package/dist/observe/runner.js +9 -2
  153. package/dist/wasm/adapter.d.ts +51 -0
  154. package/dist/wasm/adapter.js +180 -0
  155. package/dist/wasm/node-worker.d.ts +1 -0
  156. package/dist/wasm/node-worker.js +13 -0
  157. package/dist/wasm/object.d.ts +8 -0
  158. package/dist/wasm/object.js +76 -0
  159. package/dist/wasm/worker.d.ts +1 -0
  160. package/dist/wasm/worker.js +7 -0
  161. package/docs/contracts/authenticated-reference.publication.json +25 -0
  162. package/docs/contracts/cli.md +13 -0
  163. package/docs/contracts/engine-object-projection.publication.json +25 -0
  164. package/docs/contracts/engine.md +39 -0
  165. package/docs/contracts/native-publication.inventory.json +8 -0
  166. package/docs/contracts/optional-wasm-adapter.publication.json +25 -0
  167. package/docs/contracts/publication-additions.inventory.json +8 -0
  168. package/docs/contracts/reference-port.md +33 -0
  169. package/docs/contracts/reference-port.publication.json +25 -0
  170. package/licenses/wasm/bound.txt +21 -0
  171. package/licenses/wasm/fast-text-encoding.txt +201 -0
  172. package/licenses/wasm/jitl-quickjs-ffi-types.txt +21 -0
  173. package/licenses/wasm/jitl-quickjs-wasmfile-release-sync.txt +47 -0
  174. package/licenses/wasm/obligations.txt +21 -0
  175. package/licenses/wasm/quickjs-emscripten-core.txt +21 -0
  176. package/licenses/wasm/topos.txt +21 -0
  177. package/package.json +94 -4
  178. package/receipts.bound +7672 -573
  179. package/samples/authenticated-reference/no.json +31 -0
  180. package/samples/authenticated-reference/yes/editorial-state/TARGET.bound +57 -0
  181. package/samples/authenticated-reference/yes/editorial-state/inputs/arrival.json +1 -0
  182. package/samples/authenticated-reference/yes/editorial-state/inputs/coverage.json +1 -0
  183. package/samples/authenticated-reference/yes/editorial-state/inputs/era.json +1 -0
  184. package/samples/authenticated-reference/yes/editorial-state/inputs/order.json +1 -0
  185. package/samples/authenticated-reference/yes/editorial-state/inputs/signature.json +1 -0
  186. package/samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json +1 -0
  187. package/samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json +1 -0
  188. package/samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json +1 -0
  189. package/samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json +1 -0
  190. package/samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json +1 -0
  191. package/samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json +1 -0
  192. package/samples/authenticated-reference/yes/editorial-state/inputs/yes.json +1 -0
  193. package/samples/authenticated-reference/yes/weather-reading/TARGET.bound +57 -0
  194. package/samples/authenticated-reference/yes/weather-reading/inputs/arrival.json +1 -0
  195. package/samples/authenticated-reference/yes/weather-reading/inputs/coverage.json +1 -0
  196. package/samples/authenticated-reference/yes/weather-reading/inputs/era.json +1 -0
  197. package/samples/authenticated-reference/yes/weather-reading/inputs/order.json +1 -0
  198. package/samples/authenticated-reference/yes/weather-reading/inputs/signature.json +1 -0
  199. package/samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json +1 -0
  200. package/samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json +1 -0
  201. package/samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json +1 -0
  202. package/samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json +1 -0
  203. package/samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json +1 -0
  204. package/samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json +1 -0
  205. package/samples/authenticated-reference/yes/weather-reading/inputs/yes.json +1 -0
  206. package/samples/authenticated-reference/yes.json +19 -0
  207. package/samples/engine-alphabet/TARGET.bound +29 -0
  208. package/samples/engine-alphabet/inputs/sample.json +323 -0
  209. package/samples/engine-alphabet/package.json +1 -0
  210. package/samples/engine-alphabet/reader.js +1457 -0
  211. package/samples/engine-alphabet/receipts.bound +12 -0
  212. package/samples/engine-interval/TARGET.bound +29 -0
  213. package/samples/engine-interval/inputs/sample.json +277 -0
  214. package/samples/engine-interval/package.json +1 -0
  215. package/samples/engine-interval/reader.js +1457 -0
  216. package/samples/engine-interval/receipts.bound +12 -0
  217. package/samples/no/engine-order/TARGET.bound +29 -0
  218. package/samples/no/engine-order/inputs/sample.json +277 -0
  219. package/samples/no/engine-order/package.json +1 -0
  220. package/samples/no/engine-order/reader.js +1457 -0
  221. package/samples/reference-port/no/catalog/standing.json +1 -0
  222. package/samples/reference-port/no/catalog/transport.json +1 -0
  223. package/samples/reference-port/no/route-notes/standing.json +1 -0
  224. package/samples/reference-port/no/route-notes/transport.json +1 -0
  225. package/samples/reference-port/yes/catalog/TARGET.bound +33 -0
  226. package/samples/reference-port/yes/catalog/standing.json +1 -0
  227. package/samples/reference-port/yes/catalog/transport.json +1 -0
  228. package/samples/reference-port/yes/route-notes/TARGET.bound +33 -0
  229. package/samples/reference-port/yes/route-notes/standing.json +1 -0
  230. package/samples/reference-port/yes/route-notes/transport.json +1 -0
  231. package/samples/wasm/editorial-notes/TARGET.bound +65 -0
  232. package/samples/wasm/editorial-notes/esm.bound +59 -0
  233. package/samples/wasm/editorial-notes/no-deadline.bound +65 -0
  234. package/samples/wasm/editorial-notes/no-memory.bound +65 -0
  235. package/samples/wasm/editorial-notes/no-missing-limit.bound +64 -0
  236. package/samples/wasm/editorial-notes/receipts.bound +1 -0
  237. package/samples/wasm/water-level/TARGET.bound +65 -0
  238. package/samples/wasm/water-level/esm.bound +59 -0
  239. package/samples/wasm/water-level/no-deadline.bound +65 -0
  240. package/samples/wasm/water-level/no-memory.bound +65 -0
  241. package/samples/wasm/water-level/no-missing-limit.bound +64 -0
  242. package/samples/wasm/water-level/receipts.bound +1 -0
  243. package/vectors/engine-object.cli.json +548 -0
  244. package/vectors/native/authenticated-reference-formation.vector.json +53 -0
  245. package/vectors/native/authenticated-reference.cli.json +157 -0
  246. package/vectors/native/authenticated-reference.vector.json +440 -0
  247. package/vectors/reference-port.cli.json +688 -0
  248. package/vectors/wasm-object.cli.json +452 -0
@@ -0,0 +1,452 @@
1
+ {
2
+ "scope": "optional-wasm-adapter/conformance",
3
+ "measure": "count",
4
+ "result": "failures",
5
+ "execution": "independent",
6
+ "cases": [
7
+ {
8
+ "program": "runtime",
9
+ "args": [
10
+ "../../../dist/cli/verb.js",
11
+ "land"
12
+ ],
13
+ "cwd": "samples/wasm/water-level",
14
+ "inputs": [
15
+ "dist/cli/verb.js",
16
+ "dist/wasm/node-worker.js",
17
+ "package.json",
18
+ "assets/wasm/manifest.json",
19
+ "assets/wasm/runtime.js",
20
+ "assets/wasm/runtime.wasm",
21
+ "assets/wasm/guest.js",
22
+ "samples/wasm/water-level/TARGET.bound"
23
+ ],
24
+ "timeoutMs": 20000,
25
+ "maxBytes": 1048576,
26
+ "exit": 0,
27
+ "matches": [
28
+ {
29
+ "stream": "stdout",
30
+ "pattern": "FACT\\s+landed"
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "program": "runtime",
36
+ "args": [
37
+ "../../../dist/cli/verb.js",
38
+ "fold",
39
+ "TARGET.bound",
40
+ "--as",
41
+ "object"
42
+ ],
43
+ "cwd": "samples/wasm/water-level",
44
+ "inputs": [
45
+ "dist/cli/verb.js",
46
+ "dist/wasm/node-worker.js",
47
+ "package.json",
48
+ "assets/wasm/manifest.json",
49
+ "assets/wasm/runtime.js",
50
+ "assets/wasm/runtime.wasm",
51
+ "assets/wasm/guest.js",
52
+ "samples/wasm/water-level/TARGET.bound"
53
+ ],
54
+ "timeoutMs": 20000,
55
+ "maxBytes": 1048576,
56
+ "exit": 0,
57
+ "matches": [
58
+ {
59
+ "stream": "stdout",
60
+ "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\"",
61
+ "flags": "m"
62
+ },
63
+ {
64
+ "stream": "stdout",
65
+ "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\"",
66
+ "flags": "m"
67
+ },
68
+ {
69
+ "stream": "stdout",
70
+ "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\"",
71
+ "flags": "m"
72
+ },
73
+ {
74
+ "stream": "stdout",
75
+ "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\"",
76
+ "flags": "m"
77
+ },
78
+ {
79
+ "stream": "stdout",
80
+ "pattern": "FACT\\s+object fold 4 cells",
81
+ "flags": "m"
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ "program": "runtime",
87
+ "args": [
88
+ "../../../dist/cli/verb.js",
89
+ "fold",
90
+ "esm.bound",
91
+ "--as",
92
+ "object"
93
+ ],
94
+ "cwd": "samples/wasm/water-level",
95
+ "inputs": [
96
+ "dist/cli/verb.js",
97
+ "dist/wasm/node-worker.js",
98
+ "package.json",
99
+ "assets/wasm/manifest.json",
100
+ "assets/wasm/runtime.js",
101
+ "assets/wasm/runtime.wasm",
102
+ "assets/wasm/guest.js",
103
+ "samples/wasm/water-level/esm.bound"
104
+ ],
105
+ "timeoutMs": 20000,
106
+ "maxBytes": 1048576,
107
+ "exit": 0,
108
+ "matches": [
109
+ {
110
+ "stream": "stdout",
111
+ "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\"",
112
+ "flags": "m"
113
+ },
114
+ {
115
+ "stream": "stdout",
116
+ "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\"",
117
+ "flags": "m"
118
+ },
119
+ {
120
+ "stream": "stdout",
121
+ "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\"",
122
+ "flags": "m"
123
+ },
124
+ {
125
+ "stream": "stdout",
126
+ "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\"",
127
+ "flags": "m"
128
+ },
129
+ {
130
+ "stream": "stdout",
131
+ "pattern": "FACT\\s+object fold 4 cells",
132
+ "flags": "m"
133
+ }
134
+ ]
135
+ },
136
+ {
137
+ "program": "runtime",
138
+ "args": [
139
+ "../../../dist/cli/verb.js",
140
+ "fold",
141
+ "no-missing-limit.bound",
142
+ "--as",
143
+ "object"
144
+ ],
145
+ "cwd": "samples/wasm/water-level",
146
+ "inputs": [
147
+ "dist/cli/verb.js",
148
+ "dist/wasm/node-worker.js",
149
+ "package.json",
150
+ "assets/wasm/manifest.json",
151
+ "assets/wasm/runtime.js",
152
+ "assets/wasm/runtime.wasm",
153
+ "assets/wasm/guest.js",
154
+ "samples/wasm/water-level/no-missing-limit.bound"
155
+ ],
156
+ "timeoutMs": 20000,
157
+ "maxBytes": 1048576,
158
+ "exit": 1,
159
+ "matches": [
160
+ {
161
+ "stream": "stderr",
162
+ "pattern": "^[^\\s:]+: REFUSE·wasm object missing or ambiguous stack limit",
163
+ "flags": "m"
164
+ }
165
+ ]
166
+ },
167
+ {
168
+ "program": "runtime",
169
+ "args": [
170
+ "../../../dist/cli/verb.js",
171
+ "fold",
172
+ "no-memory.bound",
173
+ "--as",
174
+ "object"
175
+ ],
176
+ "cwd": "samples/wasm/water-level",
177
+ "inputs": [
178
+ "dist/cli/verb.js",
179
+ "dist/wasm/node-worker.js",
180
+ "package.json",
181
+ "assets/wasm/manifest.json",
182
+ "assets/wasm/runtime.js",
183
+ "assets/wasm/runtime.wasm",
184
+ "assets/wasm/guest.js",
185
+ "samples/wasm/water-level/no-memory.bound"
186
+ ],
187
+ "timeoutMs": 20000,
188
+ "maxBytes": 1048576,
189
+ "exit": 1,
190
+ "matches": [
191
+ {
192
+ "stream": "stderr",
193
+ "pattern": "^[^\\s:]+: REFUSE·wasm initialized memory [0-9]+ exceeds declared memory 1",
194
+ "flags": "m"
195
+ }
196
+ ]
197
+ },
198
+ {
199
+ "program": "runtime",
200
+ "args": [
201
+ "../../../dist/cli/verb.js",
202
+ "fold",
203
+ "no-deadline.bound",
204
+ "--as",
205
+ "object"
206
+ ],
207
+ "cwd": "samples/wasm/water-level",
208
+ "inputs": [
209
+ "dist/cli/verb.js",
210
+ "dist/wasm/node-worker.js",
211
+ "package.json",
212
+ "assets/wasm/manifest.json",
213
+ "assets/wasm/runtime.js",
214
+ "assets/wasm/runtime.wasm",
215
+ "assets/wasm/guest.js",
216
+ "samples/wasm/water-level/no-deadline.bound"
217
+ ],
218
+ "timeoutMs": 20000,
219
+ "maxBytes": 1048576,
220
+ "exit": 1,
221
+ "matches": [
222
+ {
223
+ "stream": "stderr",
224
+ "pattern": "^[^\\s:]+: REFUSE·wasm worker lifetime",
225
+ "flags": "m"
226
+ }
227
+ ]
228
+ },
229
+ {
230
+ "program": "runtime",
231
+ "args": [
232
+ "../../../dist/cli/verb.js",
233
+ "land"
234
+ ],
235
+ "cwd": "samples/wasm/editorial-notes",
236
+ "inputs": [
237
+ "dist/cli/verb.js",
238
+ "dist/wasm/node-worker.js",
239
+ "package.json",
240
+ "assets/wasm/manifest.json",
241
+ "assets/wasm/runtime.js",
242
+ "assets/wasm/runtime.wasm",
243
+ "assets/wasm/guest.js",
244
+ "samples/wasm/editorial-notes/TARGET.bound"
245
+ ],
246
+ "timeoutMs": 20000,
247
+ "maxBytes": 1048576,
248
+ "exit": 0,
249
+ "matches": [
250
+ {
251
+ "stream": "stdout",
252
+ "pattern": "FACT\\s+landed"
253
+ }
254
+ ]
255
+ },
256
+ {
257
+ "program": "runtime",
258
+ "args": [
259
+ "../../../dist/cli/verb.js",
260
+ "fold",
261
+ "TARGET.bound",
262
+ "--as",
263
+ "object"
264
+ ],
265
+ "cwd": "samples/wasm/editorial-notes",
266
+ "inputs": [
267
+ "dist/cli/verb.js",
268
+ "dist/wasm/node-worker.js",
269
+ "package.json",
270
+ "assets/wasm/manifest.json",
271
+ "assets/wasm/runtime.js",
272
+ "assets/wasm/runtime.wasm",
273
+ "assets/wasm/guest.js",
274
+ "samples/wasm/editorial-notes/TARGET.bound"
275
+ ],
276
+ "timeoutMs": 20000,
277
+ "maxBytes": 1048576,
278
+ "exit": 0,
279
+ "matches": [
280
+ {
281
+ "stream": "stdout",
282
+ "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\"",
283
+ "flags": "m"
284
+ },
285
+ {
286
+ "stream": "stdout",
287
+ "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\"",
288
+ "flags": "m"
289
+ },
290
+ {
291
+ "stream": "stdout",
292
+ "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\"",
293
+ "flags": "m"
294
+ },
295
+ {
296
+ "stream": "stdout",
297
+ "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\"",
298
+ "flags": "m"
299
+ },
300
+ {
301
+ "stream": "stdout",
302
+ "pattern": "FACT\\s+object fold 4 cells",
303
+ "flags": "m"
304
+ }
305
+ ]
306
+ },
307
+ {
308
+ "program": "runtime",
309
+ "args": [
310
+ "../../../dist/cli/verb.js",
311
+ "fold",
312
+ "esm.bound",
313
+ "--as",
314
+ "object"
315
+ ],
316
+ "cwd": "samples/wasm/editorial-notes",
317
+ "inputs": [
318
+ "dist/cli/verb.js",
319
+ "dist/wasm/node-worker.js",
320
+ "package.json",
321
+ "assets/wasm/manifest.json",
322
+ "assets/wasm/runtime.js",
323
+ "assets/wasm/runtime.wasm",
324
+ "assets/wasm/guest.js",
325
+ "samples/wasm/editorial-notes/esm.bound"
326
+ ],
327
+ "timeoutMs": 20000,
328
+ "maxBytes": 1048576,
329
+ "exit": 0,
330
+ "matches": [
331
+ {
332
+ "stream": "stdout",
333
+ "pattern": "^CELL \\{\"cell\":\"B\",\"state\":\"REQUIRED\"",
334
+ "flags": "m"
335
+ },
336
+ {
337
+ "stream": "stdout",
338
+ "pattern": "^CELL \\{\"cell\":\"C\",\"state\":\"FORBIDDEN\"",
339
+ "flags": "m"
340
+ },
341
+ {
342
+ "stream": "stdout",
343
+ "pattern": "^CELL \\{\"cell\":\"G\",\"state\":\"CONFLICT\"",
344
+ "flags": "m"
345
+ },
346
+ {
347
+ "stream": "stdout",
348
+ "pattern": "^CELL \\{\"cell\":\"D\",\"state\":\"REQUIRED\"",
349
+ "flags": "m"
350
+ },
351
+ {
352
+ "stream": "stdout",
353
+ "pattern": "FACT\\s+object fold 4 cells",
354
+ "flags": "m"
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "program": "runtime",
360
+ "args": [
361
+ "../../../dist/cli/verb.js",
362
+ "fold",
363
+ "no-missing-limit.bound",
364
+ "--as",
365
+ "object"
366
+ ],
367
+ "cwd": "samples/wasm/editorial-notes",
368
+ "inputs": [
369
+ "dist/cli/verb.js",
370
+ "dist/wasm/node-worker.js",
371
+ "package.json",
372
+ "assets/wasm/manifest.json",
373
+ "assets/wasm/runtime.js",
374
+ "assets/wasm/runtime.wasm",
375
+ "assets/wasm/guest.js",
376
+ "samples/wasm/editorial-notes/no-missing-limit.bound"
377
+ ],
378
+ "timeoutMs": 20000,
379
+ "maxBytes": 1048576,
380
+ "exit": 1,
381
+ "matches": [
382
+ {
383
+ "stream": "stderr",
384
+ "pattern": "^[^\\s:]+: REFUSE·wasm object missing or ambiguous stack limit",
385
+ "flags": "m"
386
+ }
387
+ ]
388
+ },
389
+ {
390
+ "program": "runtime",
391
+ "args": [
392
+ "../../../dist/cli/verb.js",
393
+ "fold",
394
+ "no-memory.bound",
395
+ "--as",
396
+ "object"
397
+ ],
398
+ "cwd": "samples/wasm/editorial-notes",
399
+ "inputs": [
400
+ "dist/cli/verb.js",
401
+ "dist/wasm/node-worker.js",
402
+ "package.json",
403
+ "assets/wasm/manifest.json",
404
+ "assets/wasm/runtime.js",
405
+ "assets/wasm/runtime.wasm",
406
+ "assets/wasm/guest.js",
407
+ "samples/wasm/editorial-notes/no-memory.bound"
408
+ ],
409
+ "timeoutMs": 20000,
410
+ "maxBytes": 1048576,
411
+ "exit": 1,
412
+ "matches": [
413
+ {
414
+ "stream": "stderr",
415
+ "pattern": "^[^\\s:]+: REFUSE·wasm initialized memory [0-9]+ exceeds declared memory 1",
416
+ "flags": "m"
417
+ }
418
+ ]
419
+ },
420
+ {
421
+ "program": "runtime",
422
+ "args": [
423
+ "../../../dist/cli/verb.js",
424
+ "fold",
425
+ "no-deadline.bound",
426
+ "--as",
427
+ "object"
428
+ ],
429
+ "cwd": "samples/wasm/editorial-notes",
430
+ "inputs": [
431
+ "dist/cli/verb.js",
432
+ "dist/wasm/node-worker.js",
433
+ "package.json",
434
+ "assets/wasm/manifest.json",
435
+ "assets/wasm/runtime.js",
436
+ "assets/wasm/runtime.wasm",
437
+ "assets/wasm/guest.js",
438
+ "samples/wasm/editorial-notes/no-deadline.bound"
439
+ ],
440
+ "timeoutMs": 20000,
441
+ "maxBytes": 1048576,
442
+ "exit": 1,
443
+ "matches": [
444
+ {
445
+ "stream": "stderr",
446
+ "pattern": "^[^\\s:]+: REFUSE·wasm worker lifetime",
447
+ "flags": "m"
448
+ }
449
+ ]
450
+ }
451
+ ]
452
+ }