openalgo-script 0.1.0-alpha.1 → 0.4.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 (1210) hide show
  1. package/CHANGELOG.md +1469 -0
  2. package/README.md +85 -30
  3. package/dist/adapters/charts/alerts.d.ts +70 -0
  4. package/dist/adapters/charts/alerts.d.ts.map +1 -0
  5. package/dist/adapters/charts/alerts.js +52 -0
  6. package/dist/adapters/charts/alerts.js.map +1 -0
  7. package/dist/adapters/charts/bars.d.ts +39 -0
  8. package/dist/adapters/charts/bars.d.ts.map +1 -0
  9. package/dist/adapters/charts/bars.js +32 -0
  10. package/dist/adapters/charts/bars.js.map +1 -0
  11. package/dist/adapters/charts/candles.d.ts +40 -0
  12. package/dist/adapters/charts/candles.d.ts.map +1 -0
  13. package/dist/adapters/charts/candles.js +85 -0
  14. package/dist/adapters/charts/candles.js.map +1 -0
  15. package/dist/adapters/charts/colours.d.ts +47 -0
  16. package/dist/adapters/charts/colours.d.ts.map +1 -0
  17. package/dist/adapters/charts/colours.js +80 -0
  18. package/dist/adapters/charts/colours.js.map +1 -0
  19. package/dist/adapters/charts/columns.d.ts +37 -0
  20. package/dist/adapters/charts/columns.d.ts.map +1 -0
  21. package/dist/adapters/charts/columns.js +56 -0
  22. package/dist/adapters/charts/columns.js.map +1 -0
  23. package/dist/adapters/charts/contract.d.ts +278 -0
  24. package/dist/adapters/charts/contract.d.ts.map +1 -0
  25. package/dist/adapters/charts/contract.js +2 -0
  26. package/dist/adapters/charts/contract.js.map +1 -0
  27. package/dist/adapters/charts/descriptor.d.ts +48 -0
  28. package/dist/adapters/charts/descriptor.d.ts.map +1 -0
  29. package/dist/adapters/charts/descriptor.js +111 -0
  30. package/dist/adapters/charts/descriptor.js.map +1 -0
  31. package/dist/adapters/charts/drawings.d.ts +43 -0
  32. package/dist/adapters/charts/drawings.d.ts.map +1 -0
  33. package/dist/adapters/charts/drawings.js +172 -0
  34. package/dist/adapters/charts/drawings.js.map +1 -0
  35. package/dist/adapters/charts/errors.d.ts +28 -0
  36. package/dist/adapters/charts/errors.d.ts.map +1 -0
  37. package/dist/adapters/charts/errors.js +21 -0
  38. package/dist/adapters/charts/errors.js.map +1 -0
  39. package/dist/adapters/charts/fields.d.ts +33 -0
  40. package/dist/adapters/charts/fields.d.ts.map +1 -0
  41. package/dist/adapters/charts/fields.js +51 -0
  42. package/dist/adapters/charts/fields.js.map +1 -0
  43. package/dist/adapters/charts/fills.d.ts +23 -0
  44. package/dist/adapters/charts/fills.d.ts.map +1 -0
  45. package/dist/adapters/charts/fills.js +48 -0
  46. package/dist/adapters/charts/fills.js.map +1 -0
  47. package/dist/adapters/charts/index.d.ts +37 -0
  48. package/dist/adapters/charts/index.d.ts.map +1 -0
  49. package/dist/adapters/charts/index.js +33 -0
  50. package/dist/adapters/charts/index.js.map +1 -0
  51. package/dist/adapters/charts/levels.d.ts +39 -0
  52. package/dist/adapters/charts/levels.d.ts.map +1 -0
  53. package/dist/adapters/charts/levels.js +61 -0
  54. package/dist/adapters/charts/levels.js.map +1 -0
  55. package/dist/adapters/charts/markers.d.ts +41 -0
  56. package/dist/adapters/charts/markers.d.ts.map +1 -0
  57. package/dist/adapters/charts/markers.js +75 -0
  58. package/dist/adapters/charts/markers.js.map +1 -0
  59. package/dist/adapters/charts/paint.d.ts +61 -0
  60. package/dist/adapters/charts/paint.d.ts.map +1 -0
  61. package/dist/adapters/charts/paint.js +47 -0
  62. package/dist/adapters/charts/paint.js.map +1 -0
  63. package/dist/adapters/charts/plots.d.ts +39 -0
  64. package/dist/adapters/charts/plots.d.ts.map +1 -0
  65. package/dist/adapters/charts/plots.js +117 -0
  66. package/dist/adapters/charts/plots.js.map +1 -0
  67. package/dist/adapters/charts/produced.d.ts +57 -0
  68. package/dist/adapters/charts/produced.d.ts.map +1 -0
  69. package/dist/adapters/charts/produced.js +11 -0
  70. package/dist/adapters/charts/produced.js.map +1 -0
  71. package/dist/adapters/charts/requests.d.ts +114 -0
  72. package/dist/adapters/charts/requests.d.ts.map +1 -0
  73. package/dist/adapters/charts/requests.js +277 -0
  74. package/dist/adapters/charts/requests.js.map +1 -0
  75. package/dist/adapters/charts/run.d.ts +147 -0
  76. package/dist/adapters/charts/run.d.ts.map +1 -0
  77. package/dist/adapters/charts/run.js +148 -0
  78. package/dist/adapters/charts/run.js.map +1 -0
  79. package/dist/adapters/charts/settings.d.ts +78 -0
  80. package/dist/adapters/charts/settings.d.ts.map +1 -0
  81. package/dist/adapters/charts/settings.js +225 -0
  82. package/dist/adapters/charts/settings.js.map +1 -0
  83. package/dist/adapters/charts/surfaces.d.ts +221 -0
  84. package/dist/adapters/charts/surfaces.d.ts.map +1 -0
  85. package/dist/adapters/charts/surfaces.js +2 -0
  86. package/dist/adapters/charts/surfaces.js.map +1 -0
  87. package/dist/adapters/charts/tables.d.ts +65 -0
  88. package/dist/adapters/charts/tables.d.ts.map +1 -0
  89. package/dist/adapters/charts/tables.js +166 -0
  90. package/dist/adapters/charts/tables.js.map +1 -0
  91. package/dist/adapters/codemirror/commands.d.ts +14 -0
  92. package/dist/adapters/codemirror/commands.d.ts.map +1 -0
  93. package/dist/adapters/codemirror/commands.js +52 -0
  94. package/dist/adapters/codemirror/commands.js.map +1 -0
  95. package/dist/adapters/codemirror/completion.d.ts +15 -0
  96. package/dist/adapters/codemirror/completion.d.ts.map +1 -0
  97. package/dist/adapters/codemirror/completion.js +64 -0
  98. package/dist/adapters/codemirror/completion.js.map +1 -0
  99. package/dist/adapters/codemirror/contract.d.ts +156 -0
  100. package/dist/adapters/codemirror/contract.d.ts.map +1 -0
  101. package/dist/adapters/codemirror/contract.js +42 -0
  102. package/dist/adapters/codemirror/contract.js.map +1 -0
  103. package/dist/adapters/codemirror/index.d.ts +43 -0
  104. package/dist/adapters/codemirror/index.d.ts.map +1 -0
  105. package/dist/adapters/codemirror/index.js +8 -0
  106. package/dist/adapters/codemirror/index.js.map +1 -0
  107. package/dist/adapters/codemirror/lint.d.ts +17 -0
  108. package/dist/adapters/codemirror/lint.d.ts.map +1 -0
  109. package/dist/adapters/codemirror/lint.js +62 -0
  110. package/dist/adapters/codemirror/lint.js.map +1 -0
  111. package/dist/adapters/codemirror/positions.d.ts +16 -0
  112. package/dist/adapters/codemirror/positions.d.ts.map +1 -0
  113. package/dist/adapters/codemirror/positions.js +65 -0
  114. package/dist/adapters/codemirror/positions.js.map +1 -0
  115. package/dist/adapters/codemirror/stream.d.ts +23 -0
  116. package/dist/adapters/codemirror/stream.d.ts.map +1 -0
  117. package/dist/adapters/codemirror/stream.js +70 -0
  118. package/dist/adapters/codemirror/stream.js.map +1 -0
  119. package/dist/adapters/codemirror/tokens.d.ts +44 -0
  120. package/dist/adapters/codemirror/tokens.d.ts.map +1 -0
  121. package/dist/adapters/codemirror/tokens.js +34 -0
  122. package/dist/adapters/codemirror/tokens.js.map +1 -0
  123. package/dist/adapters/codemirror/tooltips.d.ts +35 -0
  124. package/dist/adapters/codemirror/tooltips.d.ts.map +1 -0
  125. package/dist/adapters/codemirror/tooltips.js +108 -0
  126. package/dist/adapters/codemirror/tooltips.js.map +1 -0
  127. package/dist/core/accounting/charges.d.ts +136 -0
  128. package/dist/core/accounting/charges.d.ts.map +1 -0
  129. package/dist/core/accounting/charges.js +362 -0
  130. package/dist/core/accounting/charges.js.map +1 -0
  131. package/dist/core/accounting/equity.d.ts +158 -0
  132. package/dist/core/accounting/equity.d.ts.map +1 -0
  133. package/dist/core/accounting/equity.js +155 -0
  134. package/dist/core/accounting/equity.js.map +1 -0
  135. package/dist/core/accounting/index.d.ts +44 -0
  136. package/dist/core/accounting/index.d.ts.map +1 -0
  137. package/dist/core/accounting/index.js +36 -0
  138. package/dist/core/accounting/index.js.map +1 -0
  139. package/dist/core/accounting/markers.d.ts +43 -0
  140. package/dist/core/accounting/markers.d.ts.map +1 -0
  141. package/dist/core/accounting/markers.js +64 -0
  142. package/dist/core/accounting/markers.js.map +1 -0
  143. package/dist/core/accounting/monthly.d.ts +52 -0
  144. package/dist/core/accounting/monthly.d.ts.map +1 -0
  145. package/dist/core/accounting/monthly.js +99 -0
  146. package/dist/core/accounting/monthly.js.map +1 -0
  147. package/dist/core/accounting/report.d.ts +38 -0
  148. package/dist/core/accounting/report.d.ts.map +1 -0
  149. package/dist/core/accounting/report.js +63 -0
  150. package/dist/core/accounting/report.js.map +1 -0
  151. package/dist/core/accounting/shapes.d.ts +70 -0
  152. package/dist/core/accounting/shapes.d.ts.map +1 -0
  153. package/dist/core/accounting/shapes.js +21 -0
  154. package/dist/core/accounting/shapes.js.map +1 -0
  155. package/dist/core/accounting/statistics.d.ts +75 -0
  156. package/dist/core/accounting/statistics.d.ts.map +1 -0
  157. package/dist/core/accounting/statistics.js +246 -0
  158. package/dist/core/accounting/statistics.js.map +1 -0
  159. package/dist/core/accounting/trades.d.ts +118 -0
  160. package/dist/core/accounting/trades.d.ts.map +1 -0
  161. package/dist/core/accounting/trades.js +186 -0
  162. package/dist/core/accounting/trades.js.map +1 -0
  163. package/dist/core/backtest/compare.d.ts +38 -0
  164. package/dist/core/backtest/compare.d.ts.map +1 -0
  165. package/dist/core/backtest/compare.js +189 -0
  166. package/dist/core/backtest/compare.js.map +1 -0
  167. package/dist/core/backtest/declaration.d.ts +52 -0
  168. package/dist/core/backtest/declaration.d.ts.map +1 -0
  169. package/dist/core/backtest/declaration.js +48 -0
  170. package/dist/core/backtest/declaration.js.map +1 -0
  171. package/dist/core/backtest/drive.d.ts +29 -0
  172. package/dist/core/backtest/drive.d.ts.map +1 -0
  173. package/dist/core/backtest/drive.js +262 -0
  174. package/dist/core/backtest/drive.js.map +1 -0
  175. package/dist/core/backtest/index.d.ts +46 -0
  176. package/dist/core/backtest/index.d.ts.map +1 -0
  177. package/dist/core/backtest/index.js +36 -0
  178. package/dist/core/backtest/index.js.map +1 -0
  179. package/dist/core/backtest/range.d.ts +84 -0
  180. package/dist/core/backtest/range.d.ts.map +1 -0
  181. package/dist/core/backtest/range.js +90 -0
  182. package/dist/core/backtest/range.js.map +1 -0
  183. package/dist/core/backtest/record.d.ts +238 -0
  184. package/dist/core/backtest/record.d.ts.map +1 -0
  185. package/dist/core/backtest/record.js +176 -0
  186. package/dist/core/backtest/record.js.map +1 -0
  187. package/dist/core/backtest/replay.d.ts +48 -0
  188. package/dist/core/backtest/replay.d.ts.map +1 -0
  189. package/dist/core/backtest/replay.js +127 -0
  190. package/dist/core/backtest/replay.js.map +1 -0
  191. package/dist/core/backtest/resting.d.ts +62 -0
  192. package/dist/core/backtest/resting.d.ts.map +1 -0
  193. package/dist/core/backtest/resting.js +59 -0
  194. package/dist/core/backtest/resting.js.map +1 -0
  195. package/dist/core/backtest/settings.d.ts +117 -0
  196. package/dist/core/backtest/settings.d.ts.map +1 -0
  197. package/dist/core/backtest/settings.js +207 -0
  198. package/dist/core/backtest/settings.js.map +1 -0
  199. package/dist/core/backtest/simulate.d.ts +146 -0
  200. package/dist/core/backtest/simulate.d.ts.map +1 -0
  201. package/dist/core/backtest/simulate.js +217 -0
  202. package/dist/core/backtest/simulate.js.map +1 -0
  203. package/dist/core/catalogue/catalogue.generated.d.ts +164 -10
  204. package/dist/core/catalogue/catalogue.generated.d.ts.map +1 -1
  205. package/dist/core/catalogue/catalogue.generated.js +23 -9
  206. package/dist/core/catalogue/catalogue.generated.js.map +1 -1
  207. package/dist/core/catalogue/values.generated.d.ts +49 -0
  208. package/dist/core/catalogue/values.generated.d.ts.map +1 -1
  209. package/dist/core/check/arguments.d.ts +41 -0
  210. package/dist/core/check/arguments.d.ts.map +1 -0
  211. package/dist/core/check/arguments.js +84 -0
  212. package/dist/core/check/arguments.js.map +1 -0
  213. package/dist/core/check/call-sites.d.ts +22 -0
  214. package/dist/core/check/call-sites.d.ts.map +1 -0
  215. package/dist/core/check/call-sites.js +329 -0
  216. package/dist/core/check/call-sites.js.map +1 -0
  217. package/dist/core/check/call-warmup.d.ts +37 -0
  218. package/dist/core/check/call-warmup.d.ts.map +1 -0
  219. package/dist/core/check/call-warmup.js +97 -0
  220. package/dist/core/check/call-warmup.js.map +1 -0
  221. package/dist/core/check/calls.d.ts +33 -0
  222. package/dist/core/check/calls.d.ts.map +1 -0
  223. package/dist/core/check/calls.js +348 -0
  224. package/dist/core/check/calls.js.map +1 -0
  225. package/dist/core/check/check.d.ts +23 -0
  226. package/dist/core/check/check.d.ts.map +1 -0
  227. package/dist/core/check/check.js +163 -0
  228. package/dist/core/check/check.js.map +1 -0
  229. package/dist/core/check/checked.d.ts +198 -0
  230. package/dist/core/check/checked.d.ts.map +1 -0
  231. package/dist/core/check/checked.js +19 -0
  232. package/dist/core/check/checked.js.map +1 -0
  233. package/dist/core/check/checker.d.ts +182 -0
  234. package/dist/core/check/checker.d.ts.map +1 -0
  235. package/dist/core/check/checker.js +280 -0
  236. package/dist/core/check/checker.js.map +1 -0
  237. package/dist/core/check/conditional.d.ts +35 -0
  238. package/dist/core/check/conditional.d.ts.map +1 -0
  239. package/dist/core/check/conditional.js +100 -0
  240. package/dist/core/check/conditional.js.map +1 -0
  241. package/dist/core/check/constant.d.ts +47 -0
  242. package/dist/core/check/constant.d.ts.map +1 -0
  243. package/dist/core/check/constant.js +101 -0
  244. package/dist/core/check/constant.js.map +1 -0
  245. package/dist/core/check/declaration.d.ts +33 -0
  246. package/dist/core/check/declaration.d.ts.map +1 -0
  247. package/dist/core/check/declaration.js +181 -0
  248. package/dist/core/check/declaration.js.map +1 -0
  249. package/dist/core/check/expressions.d.ts +36 -0
  250. package/dist/core/check/expressions.d.ts.map +1 -0
  251. package/dist/core/check/expressions.js +398 -0
  252. package/dist/core/check/expressions.js.map +1 -0
  253. package/dist/core/check/functions.d.ts +31 -0
  254. package/dist/core/check/functions.d.ts.map +1 -0
  255. package/dist/core/check/functions.js +238 -0
  256. package/dist/core/check/functions.js.map +1 -0
  257. package/dist/core/check/handles.d.ts +48 -0
  258. package/dist/core/check/handles.d.ts.map +1 -0
  259. package/dist/core/check/handles.js +43 -0
  260. package/dist/core/check/handles.js.map +1 -0
  261. package/dist/core/check/index.d.ts +31 -0
  262. package/dist/core/check/index.d.ts.map +1 -0
  263. package/dist/core/check/index.js +26 -0
  264. package/dist/core/check/index.js.map +1 -0
  265. package/dist/core/check/library-bars.d.ts +7 -0
  266. package/dist/core/check/library-bars.d.ts.map +1 -0
  267. package/dist/core/check/library-bars.js +181 -0
  268. package/dist/core/check/library-bars.js.map +1 -0
  269. package/dist/core/check/library-orders.d.ts +5 -0
  270. package/dist/core/check/library-orders.d.ts.map +1 -0
  271. package/dist/core/check/library-orders.js +250 -0
  272. package/dist/core/check/library-orders.js.map +1 -0
  273. package/dist/core/check/library-output.d.ts +7 -0
  274. package/dist/core/check/library-output.d.ts.map +1 -0
  275. package/dist/core/check/library-output.js +195 -0
  276. package/dist/core/check/library-output.js.map +1 -0
  277. package/dist/core/check/library-prose.generated.d.ts +16 -0
  278. package/dist/core/check/library-prose.generated.d.ts.map +1 -0
  279. package/dist/core/check/library-prose.generated.js +353 -0
  280. package/dist/core/check/library-prose.generated.js.map +1 -0
  281. package/dist/core/check/library-series.d.ts +3 -0
  282. package/dist/core/check/library-series.d.ts.map +1 -0
  283. package/dist/core/check/library-series.js +415 -0
  284. package/dist/core/check/library-series.js.map +1 -0
  285. package/dist/core/check/library.d.ts +204 -0
  286. package/dist/core/check/library.d.ts.map +1 -0
  287. package/dist/core/check/library.js +198 -0
  288. package/dist/core/check/library.js.map +1 -0
  289. package/dist/core/check/literals.d.ts +19 -0
  290. package/dist/core/check/literals.d.ts.map +1 -0
  291. package/dist/core/check/literals.js +22 -0
  292. package/dist/core/check/literals.js.map +1 -0
  293. package/dist/core/check/outputs.d.ts +31 -0
  294. package/dist/core/check/outputs.d.ts.map +1 -0
  295. package/dist/core/check/outputs.js +113 -0
  296. package/dist/core/check/outputs.js.map +1 -0
  297. package/dist/core/check/statements.d.ts +25 -0
  298. package/dist/core/check/statements.d.ts.map +1 -0
  299. package/dist/core/check/statements.js +377 -0
  300. package/dist/core/check/statements.js.map +1 -0
  301. package/dist/core/check/suggest.d.ts +25 -0
  302. package/dist/core/check/suggest.d.ts.map +1 -0
  303. package/dist/core/check/suggest.js +61 -0
  304. package/dist/core/check/suggest.js.map +1 -0
  305. package/dist/core/check/surface.d.ts +62 -0
  306. package/dist/core/check/surface.d.ts.map +1 -0
  307. package/dist/core/check/surface.js +129 -0
  308. package/dist/core/check/surface.js.map +1 -0
  309. package/dist/core/check/tags.d.ts +4 -0
  310. package/dist/core/check/tags.d.ts.map +1 -0
  311. package/dist/core/check/tags.js +54 -0
  312. package/dist/core/check/tags.js.map +1 -0
  313. package/dist/core/check/types.d.ts +153 -0
  314. package/dist/core/check/types.d.ts.map +1 -0
  315. package/dist/core/check/types.js +221 -0
  316. package/dist/core/check/types.js.map +1 -0
  317. package/dist/core/check/warmup.d.ts +73 -0
  318. package/dist/core/check/warmup.d.ts.map +1 -0
  319. package/dist/core/check/warmup.js +62 -0
  320. package/dist/core/check/warmup.js.map +1 -0
  321. package/dist/core/diagnostics/collector.d.ts +12 -0
  322. package/dist/core/diagnostics/collector.d.ts.map +1 -1
  323. package/dist/core/diagnostics/collector.js +27 -1
  324. package/dist/core/diagnostics/collector.js.map +1 -1
  325. package/dist/core/emit/calls.d.ts +38 -0
  326. package/dist/core/emit/calls.d.ts.map +1 -0
  327. package/dist/core/emit/calls.js +347 -0
  328. package/dist/core/emit/calls.js.map +1 -0
  329. package/dist/core/emit/canonical.d.ts +39 -0
  330. package/dist/core/emit/canonical.d.ts.map +1 -0
  331. package/dist/core/emit/canonical.js +71 -0
  332. package/dist/core/emit/canonical.js.map +1 -0
  333. package/dist/core/emit/channels.d.ts +28 -0
  334. package/dist/core/emit/channels.d.ts.map +1 -0
  335. package/dist/core/emit/channels.js +110 -0
  336. package/dist/core/emit/channels.js.map +1 -0
  337. package/dist/core/emit/code.d.ts +75 -0
  338. package/dist/core/emit/code.d.ts.map +1 -0
  339. package/dist/core/emit/code.js +104 -0
  340. package/dist/core/emit/code.js.map +1 -0
  341. package/dist/core/emit/colours.d.ts +35 -0
  342. package/dist/core/emit/colours.d.ts.map +1 -0
  343. package/dist/core/emit/colours.js +50 -0
  344. package/dist/core/emit/colours.js.map +1 -0
  345. package/dist/core/emit/context.d.ts +271 -0
  346. package/dist/core/emit/context.d.ts.map +1 -0
  347. package/dist/core/emit/context.js +358 -0
  348. package/dist/core/emit/context.js.map +1 -0
  349. package/dist/core/emit/defaults.d.ts +64 -0
  350. package/dist/core/emit/defaults.d.ts.map +1 -0
  351. package/dist/core/emit/defaults.js +182 -0
  352. package/dist/core/emit/defaults.js.map +1 -0
  353. package/dist/core/emit/emit.d.ts +13 -0
  354. package/dist/core/emit/emit.d.ts.map +1 -0
  355. package/dist/core/emit/emit.js +281 -0
  356. package/dist/core/emit/emit.js.map +1 -0
  357. package/dist/core/emit/events.d.ts +21 -0
  358. package/dist/core/emit/events.d.ts.map +1 -0
  359. package/dist/core/emit/events.js +112 -0
  360. package/dist/core/emit/events.js.map +1 -0
  361. package/dist/core/emit/expressions.d.ts +23 -0
  362. package/dist/core/emit/expressions.d.ts.map +1 -0
  363. package/dist/core/emit/expressions.js +253 -0
  364. package/dist/core/emit/expressions.js.map +1 -0
  365. package/dist/core/emit/functions.d.ts +30 -0
  366. package/dist/core/emit/functions.d.ts.map +1 -0
  367. package/dist/core/emit/functions.js +171 -0
  368. package/dist/core/emit/functions.js.map +1 -0
  369. package/dist/core/emit/gaps.d.ts +34 -0
  370. package/dist/core/emit/gaps.d.ts.map +1 -0
  371. package/dist/core/emit/gaps.js +16 -0
  372. package/dist/core/emit/gaps.js.map +1 -0
  373. package/dist/core/emit/index.d.ts +31 -0
  374. package/dist/core/emit/index.d.ts.map +1 -0
  375. package/dist/core/emit/index.js +25 -0
  376. package/dist/core/emit/index.js.map +1 -0
  377. package/dist/core/emit/inputs.d.ts +47 -0
  378. package/dist/core/emit/inputs.d.ts.map +1 -0
  379. package/dist/core/emit/inputs.js +150 -0
  380. package/dist/core/emit/inputs.js.map +1 -0
  381. package/dist/core/emit/layout.d.ts +73 -0
  382. package/dist/core/emit/layout.d.ts.map +1 -0
  383. package/dist/core/emit/layout.js +126 -0
  384. package/dist/core/emit/layout.js.map +1 -0
  385. package/dist/core/emit/meta.d.ts +14 -0
  386. package/dist/core/emit/meta.d.ts.map +1 -0
  387. package/dist/core/emit/meta.js +68 -0
  388. package/dist/core/emit/meta.js.map +1 -0
  389. package/dist/core/emit/opcodes.d.ts +28 -0
  390. package/dist/core/emit/opcodes.d.ts.map +1 -0
  391. package/dist/core/emit/opcodes.js +137 -0
  392. package/dist/core/emit/opcodes.js.map +1 -0
  393. package/dist/core/emit/outputs.d.ts +67 -0
  394. package/dist/core/emit/outputs.d.ts.map +1 -0
  395. package/dist/core/emit/outputs.js +293 -0
  396. package/dist/core/emit/outputs.js.map +1 -0
  397. package/dist/core/emit/pool.d.ts +33 -0
  398. package/dist/core/emit/pool.d.ts.map +1 -0
  399. package/dist/core/emit/pool.js +79 -0
  400. package/dist/core/emit/pool.js.map +1 -0
  401. package/dist/core/emit/program.d.ts +333 -0
  402. package/dist/core/emit/program.d.ts.map +1 -0
  403. package/dist/core/emit/program.js +15 -0
  404. package/dist/core/emit/program.js.map +1 -0
  405. package/dist/core/emit/registers.d.ts +35 -0
  406. package/dist/core/emit/registers.d.ts.map +1 -0
  407. package/dist/core/emit/registers.js +170 -0
  408. package/dist/core/emit/registers.js.map +1 -0
  409. package/dist/core/emit/request-scope.d.ts +36 -0
  410. package/dist/core/emit/request-scope.d.ts.map +1 -0
  411. package/dist/core/emit/request-scope.js +41 -0
  412. package/dist/core/emit/request-scope.js.map +1 -0
  413. package/dist/core/emit/requests.d.ts +69 -0
  414. package/dist/core/emit/requests.d.ts.map +1 -0
  415. package/dist/core/emit/requests.js +230 -0
  416. package/dist/core/emit/requests.js.map +1 -0
  417. package/dist/core/emit/requires.d.ts +4 -0
  418. package/dist/core/emit/requires.d.ts.map +1 -0
  419. package/dist/core/emit/requires.js +71 -0
  420. package/dist/core/emit/requires.js.map +1 -0
  421. package/dist/core/emit/sha256.d.ts +24 -0
  422. package/dist/core/emit/sha256.d.ts.map +1 -0
  423. package/dist/core/emit/sha256.js +109 -0
  424. package/dist/core/emit/sha256.js.map +1 -0
  425. package/dist/core/emit/statements.d.ts +20 -0
  426. package/dist/core/emit/statements.d.ts.map +1 -0
  427. package/dist/core/emit/statements.js +393 -0
  428. package/dist/core/emit/statements.js.map +1 -0
  429. package/dist/core/emit/values.d.ts +80 -0
  430. package/dist/core/emit/values.d.ts.map +1 -0
  431. package/dist/core/emit/values.js +242 -0
  432. package/dist/core/emit/values.js.map +1 -0
  433. package/dist/core/engine/alerts.d.ts +66 -0
  434. package/dist/core/engine/alerts.d.ts.map +1 -0
  435. package/dist/core/engine/alerts.js +119 -0
  436. package/dist/core/engine/alerts.js.map +1 -0
  437. package/dist/core/engine/arithmetic.d.ts +82 -0
  438. package/dist/core/engine/arithmetic.d.ts.map +1 -0
  439. package/dist/core/engine/arithmetic.js +141 -0
  440. package/dist/core/engine/arithmetic.js.map +1 -0
  441. package/dist/core/engine/bars.d.ts +95 -0
  442. package/dist/core/engine/bars.d.ts.map +1 -0
  443. package/dist/core/engine/bars.js +133 -0
  444. package/dist/core/engine/bars.js.map +1 -0
  445. package/dist/core/engine/budget.d.ts +162 -0
  446. package/dist/core/engine/budget.d.ts.map +1 -0
  447. package/dist/core/engine/budget.js +188 -0
  448. package/dist/core/engine/budget.js.map +1 -0
  449. package/dist/core/engine/channels.d.ts +106 -0
  450. package/dist/core/engine/channels.d.ts.map +1 -0
  451. package/dist/core/engine/channels.js +99 -0
  452. package/dist/core/engine/channels.js.map +1 -0
  453. package/dist/core/engine/drawings.d.ts +64 -0
  454. package/dist/core/engine/drawings.d.ts.map +1 -0
  455. package/dist/core/engine/drawings.js +67 -0
  456. package/dist/core/engine/drawings.js.map +1 -0
  457. package/dist/core/engine/engine.d.ts +140 -0
  458. package/dist/core/engine/engine.d.ts.map +1 -0
  459. package/dist/core/engine/engine.js +405 -0
  460. package/dist/core/engine/engine.js.map +1 -0
  461. package/dist/core/engine/errors.d.ts +64 -0
  462. package/dist/core/engine/errors.d.ts.map +1 -0
  463. package/dist/core/engine/errors.js +63 -0
  464. package/dist/core/engine/errors.js.map +1 -0
  465. package/dist/core/engine/frames.d.ts +48 -0
  466. package/dist/core/engine/frames.d.ts.map +1 -0
  467. package/dist/core/engine/frames.js +41 -0
  468. package/dist/core/engine/frames.js.map +1 -0
  469. package/dist/core/engine/grids.d.ts +25 -0
  470. package/dist/core/engine/grids.d.ts.map +1 -0
  471. package/dist/core/engine/grids.js +77 -0
  472. package/dist/core/engine/grids.js.map +1 -0
  473. package/dist/core/engine/guard.d.ts +4 -0
  474. package/dist/core/engine/guard.d.ts.map +1 -0
  475. package/dist/core/engine/guard.js +46 -0
  476. package/dist/core/engine/guard.js.map +1 -0
  477. package/dist/core/engine/host.d.ts +219 -0
  478. package/dist/core/engine/host.d.ts.map +1 -0
  479. package/dist/core/engine/host.js +38 -0
  480. package/dist/core/engine/host.js.map +1 -0
  481. package/dist/core/engine/index.d.ts +49 -0
  482. package/dist/core/engine/index.d.ts.map +1 -0
  483. package/dist/core/engine/index.js +33 -0
  484. package/dist/core/engine/index.js.map +1 -0
  485. package/dist/core/engine/inputs.d.ts +77 -0
  486. package/dist/core/engine/inputs.d.ts.map +1 -0
  487. package/dist/core/engine/inputs.js +205 -0
  488. package/dist/core/engine/inputs.js.map +1 -0
  489. package/dist/core/engine/ledger/call.d.ts +63 -0
  490. package/dist/core/engine/ledger/call.d.ts.map +1 -0
  491. package/dist/core/engine/ledger/call.js +136 -0
  492. package/dist/core/engine/ledger/call.js.map +1 -0
  493. package/dist/core/engine/ledger/closable.d.ts +155 -0
  494. package/dist/core/engine/ledger/closable.d.ts.map +1 -0
  495. package/dist/core/engine/ledger/closable.js +173 -0
  496. package/dist/core/engine/ledger/closable.js.map +1 -0
  497. package/dist/core/engine/ledger/holdings.d.ts +194 -0
  498. package/dist/core/engine/ledger/holdings.d.ts.map +1 -0
  499. package/dist/core/engine/ledger/holdings.js +237 -0
  500. package/dist/core/engine/ledger/holdings.js.map +1 -0
  501. package/dist/core/engine/ledger/index.d.ts +19 -0
  502. package/dist/core/engine/ledger/index.d.ts.map +1 -0
  503. package/dist/core/engine/ledger/index.js +2 -0
  504. package/dist/core/engine/ledger/index.js.map +1 -0
  505. package/dist/core/engine/ledger/intent.d.ts +106 -0
  506. package/dist/core/engine/ledger/intent.d.ts.map +1 -0
  507. package/dist/core/engine/ledger/intent.js +21 -0
  508. package/dist/core/engine/ledger/intent.js.map +1 -0
  509. package/dist/core/engine/ledger/ledger.d.ts +143 -0
  510. package/dist/core/engine/ledger/ledger.d.ts.map +1 -0
  511. package/dist/core/engine/ledger/ledger.js +237 -0
  512. package/dist/core/engine/ledger/ledger.js.map +1 -0
  513. package/dist/core/engine/ledger/place.d.ts +75 -0
  514. package/dist/core/engine/ledger/place.d.ts.map +1 -0
  515. package/dist/core/engine/ledger/place.js +174 -0
  516. package/dist/core/engine/ledger/place.js.map +1 -0
  517. package/dist/core/engine/ledger/positions.d.ts +68 -0
  518. package/dist/core/engine/ledger/positions.d.ts.map +1 -0
  519. package/dist/core/engine/ledger/positions.js +114 -0
  520. package/dist/core/engine/ledger/positions.js.map +1 -0
  521. package/dist/core/engine/ledger/refuse.d.ts +43 -0
  522. package/dist/core/engine/ledger/refuse.d.ts.map +1 -0
  523. package/dist/core/engine/ledger/refuse.js +329 -0
  524. package/dist/core/engine/ledger/refuse.js.map +1 -0
  525. package/dist/core/engine/ledger/row.d.ts +176 -0
  526. package/dist/core/engine/ledger/row.d.ts.map +1 -0
  527. package/dist/core/engine/ledger/row.js +169 -0
  528. package/dist/core/engine/ledger/row.js.map +1 -0
  529. package/dist/core/engine/ledger/sizing.d.ts +142 -0
  530. package/dist/core/engine/ledger/sizing.d.ts.map +1 -0
  531. package/dist/core/engine/ledger/sizing.js +223 -0
  532. package/dist/core/engine/ledger/sizing.js.map +1 -0
  533. package/dist/core/engine/library/arrays.d.ts +14 -0
  534. package/dist/core/engine/library/arrays.d.ts.map +1 -0
  535. package/dist/core/engine/library/arrays.js +285 -0
  536. package/dist/core/engine/library/arrays.js.map +1 -0
  537. package/dist/core/engine/library/averages.d.ts +9 -0
  538. package/dist/core/engine/library/averages.d.ts.map +1 -0
  539. package/dist/core/engine/library/averages.js +41 -0
  540. package/dist/core/engine/library/averages.js.map +1 -0
  541. package/dist/core/engine/library/binding.d.ts +230 -0
  542. package/dist/core/engine/library/binding.d.ts.map +1 -0
  543. package/dist/core/engine/library/binding.js +109 -0
  544. package/dist/core/engine/library/binding.js.map +1 -0
  545. package/dist/core/engine/library/chart.d.ts +3 -0
  546. package/dist/core/engine/library/chart.d.ts.map +1 -0
  547. package/dist/core/engine/library/chart.js +83 -0
  548. package/dist/core/engine/library/chart.js.map +1 -0
  549. package/dist/core/engine/library/colours.d.ts +26 -0
  550. package/dist/core/engine/library/colours.d.ts.map +1 -0
  551. package/dist/core/engine/library/colours.js +81 -0
  552. package/dist/core/engine/library/colours.js.map +1 -0
  553. package/dist/core/engine/library/dates.d.ts +3 -0
  554. package/dist/core/engine/library/dates.d.ts.map +1 -0
  555. package/dist/core/engine/library/dates.js +75 -0
  556. package/dist/core/engine/library/dates.js.map +1 -0
  557. package/dist/core/engine/library/index.d.ts +13 -0
  558. package/dist/core/engine/library/index.d.ts.map +1 -0
  559. package/dist/core/engine/library/index.js +86 -0
  560. package/dist/core/engine/library/index.js.map +1 -0
  561. package/dist/core/engine/library/maths.d.ts +3 -0
  562. package/dist/core/engine/library/maths.d.ts.map +1 -0
  563. package/dist/core/engine/library/maths.js +89 -0
  564. package/dist/core/engine/library/maths.js.map +1 -0
  565. package/dist/core/engine/library/objects.d.ts +3 -0
  566. package/dist/core/engine/library/objects.d.ts.map +1 -0
  567. package/dist/core/engine/library/objects.js +199 -0
  568. package/dist/core/engine/library/objects.js.map +1 -0
  569. package/dist/core/engine/library/oscillators.d.ts +3 -0
  570. package/dist/core/engine/library/oscillators.d.ts.map +1 -0
  571. package/dist/core/engine/library/oscillators.js +29 -0
  572. package/dist/core/engine/library/oscillators.js.map +1 -0
  573. package/dist/core/engine/library/ranges.d.ts +3 -0
  574. package/dist/core/engine/library/ranges.d.ts.map +1 -0
  575. package/dist/core/engine/library/ranges.js +23 -0
  576. package/dist/core/engine/library/ranges.js.map +1 -0
  577. package/dist/core/engine/library/series.d.ts +3 -0
  578. package/dist/core/engine/library/series.d.ts.map +1 -0
  579. package/dist/core/engine/library/series.js +46 -0
  580. package/dist/core/engine/library/series.js.map +1 -0
  581. package/dist/core/engine/library/state.d.ts +35 -0
  582. package/dist/core/engine/library/state.d.ts.map +1 -0
  583. package/dist/core/engine/library/state.js +19 -0
  584. package/dist/core/engine/library/state.js.map +1 -0
  585. package/dist/core/engine/library/studies.d.ts +3 -0
  586. package/dist/core/engine/library/studies.d.ts.map +1 -0
  587. package/dist/core/engine/library/studies.js +35 -0
  588. package/dist/core/engine/library/studies.js.map +1 -0
  589. package/dist/core/engine/library/text.d.ts +6 -0
  590. package/dist/core/engine/library/text.d.ts.map +1 -0
  591. package/dist/core/engine/library/text.js +280 -0
  592. package/dist/core/engine/library/text.js.map +1 -0
  593. package/dist/core/engine/library/trend.d.ts +3 -0
  594. package/dist/core/engine/library/trend.d.ts.map +1 -0
  595. package/dist/core/engine/library/trend.js +29 -0
  596. package/dist/core/engine/library/trend.js.map +1 -0
  597. package/dist/core/engine/library/volume.d.ts +3 -0
  598. package/dist/core/engine/library/volume.d.ts.map +1 -0
  599. package/dist/core/engine/library/volume.js +51 -0
  600. package/dist/core/engine/library/volume.js.map +1 -0
  601. package/dist/core/engine/load.d.ts +59 -0
  602. package/dist/core/engine/load.d.ts.map +1 -0
  603. package/dist/core/engine/load.js +61 -0
  604. package/dist/core/engine/load.js.map +1 -0
  605. package/dist/core/engine/machine.d.ts +107 -0
  606. package/dist/core/engine/machine.d.ts.map +1 -0
  607. package/dist/core/engine/machine.js +337 -0
  608. package/dist/core/engine/machine.js.map +1 -0
  609. package/dist/core/engine/memory.d.ts +60 -0
  610. package/dist/core/engine/memory.d.ts.map +1 -0
  611. package/dist/core/engine/memory.js +92 -0
  612. package/dist/core/engine/memory.js.map +1 -0
  613. package/dist/core/engine/operations.d.ts +62 -0
  614. package/dist/core/engine/operations.d.ts.map +1 -0
  615. package/dist/core/engine/operations.js +149 -0
  616. package/dist/core/engine/operations.js.map +1 -0
  617. package/dist/core/engine/orders.d.ts +56 -0
  618. package/dist/core/engine/orders.d.ts.map +1 -0
  619. package/dist/core/engine/orders.js +83 -0
  620. package/dist/core/engine/orders.js.map +1 -0
  621. package/dist/core/engine/registers.d.ts +50 -0
  622. package/dist/core/engine/registers.d.ts.map +1 -0
  623. package/dist/core/engine/registers.js +85 -0
  624. package/dist/core/engine/registers.js.map +1 -0
  625. package/dist/core/engine/request-body.d.ts +138 -0
  626. package/dist/core/engine/request-body.d.ts.map +1 -0
  627. package/dist/core/engine/request-body.js +227 -0
  628. package/dist/core/engine/request-body.js.map +1 -0
  629. package/dist/core/engine/request-plan.d.ts +79 -0
  630. package/dist/core/engine/request-plan.d.ts.map +1 -0
  631. package/dist/core/engine/request-plan.js +228 -0
  632. package/dist/core/engine/request-plan.js.map +1 -0
  633. package/dist/core/engine/requests.d.ts +105 -0
  634. package/dist/core/engine/requests.d.ts.map +1 -0
  635. package/dist/core/engine/requests.js +260 -0
  636. package/dist/core/engine/requests.js.map +1 -0
  637. package/dist/core/engine/results.d.ts +40 -0
  638. package/dist/core/engine/results.d.ts.map +1 -0
  639. package/dist/core/engine/results.js +2 -0
  640. package/dist/core/engine/results.js.map +1 -0
  641. package/dist/core/engine/series.d.ts +61 -0
  642. package/dist/core/engine/series.d.ts.map +1 -0
  643. package/dist/core/engine/series.js +41 -0
  644. package/dist/core/engine/series.js.map +1 -0
  645. package/dist/core/engine/session/hours.d.ts +49 -0
  646. package/dist/core/engine/session/hours.d.ts.map +1 -0
  647. package/dist/core/engine/session/hours.js +31 -0
  648. package/dist/core/engine/session/hours.js.map +1 -0
  649. package/dist/core/engine/session/index.d.ts +17 -0
  650. package/dist/core/engine/session/index.d.ts.map +1 -0
  651. package/dist/core/engine/session/index.js +3 -0
  652. package/dist/core/engine/session/index.js.map +1 -0
  653. package/dist/core/engine/session/record.d.ts +56 -0
  654. package/dist/core/engine/session/record.d.ts.map +1 -0
  655. package/dist/core/engine/session/record.js +165 -0
  656. package/dist/core/engine/session/record.js.map +1 -0
  657. package/dist/core/engine/session/spec.d.ts +19 -0
  658. package/dist/core/engine/session/spec.d.ts.map +1 -0
  659. package/dist/core/engine/session/spec.js +31 -0
  660. package/dist/core/engine/session/spec.js.map +1 -0
  661. package/dist/core/engine/timeframe.d.ts +59 -0
  662. package/dist/core/engine/timeframe.d.ts.map +1 -0
  663. package/dist/core/engine/timeframe.js +140 -0
  664. package/dist/core/engine/timeframe.js.map +1 -0
  665. package/dist/core/engine/types.d.ts +15 -0
  666. package/dist/core/engine/types.d.ts.map +1 -0
  667. package/dist/core/engine/types.js +2 -0
  668. package/dist/core/engine/types.js.map +1 -0
  669. package/dist/core/engine/values/heap.d.ts +134 -0
  670. package/dist/core/engine/values/heap.d.ts.map +1 -0
  671. package/dist/core/engine/values/heap.js +230 -0
  672. package/dist/core/engine/values/heap.js.map +1 -0
  673. package/dist/core/engine/values/index.d.ts +13 -0
  674. package/dist/core/engine/values/index.d.ts.map +1 -0
  675. package/dist/core/engine/values/index.js +3 -0
  676. package/dist/core/engine/values/index.js.map +1 -0
  677. package/dist/core/engine/values/value.d.ts +82 -0
  678. package/dist/core/engine/values/value.d.ts.map +1 -0
  679. package/dist/core/engine/values/value.js +134 -0
  680. package/dist/core/engine/values/value.js.map +1 -0
  681. package/dist/core/engine/verify-budgets.d.ts +35 -0
  682. package/dist/core/engine/verify-budgets.d.ts.map +1 -0
  683. package/dist/core/engine/verify-budgets.js +172 -0
  684. package/dist/core/engine/verify-budgets.js.map +1 -0
  685. package/dist/core/engine/verify-code.d.ts +32 -0
  686. package/dist/core/engine/verify-code.d.ts.map +1 -0
  687. package/dist/core/engine/verify-code.js +278 -0
  688. package/dist/core/engine/verify-code.js.map +1 -0
  689. package/dist/core/engine/verify-requests.d.ts +44 -0
  690. package/dist/core/engine/verify-requests.d.ts.map +1 -0
  691. package/dist/core/engine/verify-requests.js +220 -0
  692. package/dist/core/engine/verify-requests.js.map +1 -0
  693. package/dist/core/engine/verify-shape.d.ts +46 -0
  694. package/dist/core/engine/verify-shape.d.ts.map +1 -0
  695. package/dist/core/engine/verify-shape.js +147 -0
  696. package/dist/core/engine/verify-shape.js.map +1 -0
  697. package/dist/core/engine/verify-tables.d.ts +19 -0
  698. package/dist/core/engine/verify-tables.d.ts.map +1 -0
  699. package/dist/core/engine/verify-tables.js +171 -0
  700. package/dist/core/engine/verify-tables.js.map +1 -0
  701. package/dist/core/engine/verify.d.ts +19 -0
  702. package/dist/core/engine/verify.d.ts.map +1 -0
  703. package/dist/core/engine/verify.js +309 -0
  704. package/dist/core/engine/verify.js.map +1 -0
  705. package/dist/core/index.d.ts +95 -6
  706. package/dist/core/index.d.ts.map +1 -1
  707. package/dist/core/index.js +64 -6
  708. package/dist/core/index.js.map +1 -1
  709. package/dist/core/parse/expressions.js +1 -1
  710. package/dist/core/parse/expressions.js.map +1 -1
  711. package/dist/core/parse/names.d.ts +7 -1
  712. package/dist/core/parse/names.d.ts.map +1 -1
  713. package/dist/core/parse/names.js +28 -2
  714. package/dist/core/parse/names.js.map +1 -1
  715. package/dist/core/stdlib/averages/exponential.d.ts +51 -0
  716. package/dist/core/stdlib/averages/exponential.d.ts.map +1 -0
  717. package/dist/core/stdlib/averages/exponential.js +72 -0
  718. package/dist/core/stdlib/averages/exponential.js.map +1 -0
  719. package/dist/core/stdlib/averages/index.d.ts +7 -0
  720. package/dist/core/stdlib/averages/index.d.ts.map +1 -0
  721. package/dist/core/stdlib/averages/index.js +5 -0
  722. package/dist/core/stdlib/averages/index.js.map +1 -0
  723. package/dist/core/stdlib/averages/select.d.ts +35 -0
  724. package/dist/core/stdlib/averages/select.d.ts.map +1 -0
  725. package/dist/core/stdlib/averages/select.js +43 -0
  726. package/dist/core/stdlib/averages/select.js.map +1 -0
  727. package/dist/core/stdlib/averages/shaped.d.ts +61 -0
  728. package/dist/core/stdlib/averages/shaped.d.ts.map +1 -0
  729. package/dist/core/stdlib/averages/shaped.js +126 -0
  730. package/dist/core/stdlib/averages/shaped.js.map +1 -0
  731. package/dist/core/stdlib/averages/simple.d.ts +58 -0
  732. package/dist/core/stdlib/averages/simple.d.ts.map +1 -0
  733. package/dist/core/stdlib/averages/simple.js +92 -0
  734. package/dist/core/stdlib/averages/simple.js.map +1 -0
  735. package/dist/core/stdlib/calendar/civil.d.ts +56 -0
  736. package/dist/core/stdlib/calendar/civil.d.ts.map +1 -0
  737. package/dist/core/stdlib/calendar/civil.js +70 -0
  738. package/dist/core/stdlib/calendar/civil.js.map +1 -0
  739. package/dist/core/stdlib/calendar/fields.d.ts +36 -0
  740. package/dist/core/stdlib/calendar/fields.d.ts.map +1 -0
  741. package/dist/core/stdlib/calendar/fields.js +93 -0
  742. package/dist/core/stdlib/calendar/fields.js.map +1 -0
  743. package/dist/core/stdlib/calendar/format.d.ts +19 -0
  744. package/dist/core/stdlib/calendar/format.d.ts.map +1 -0
  745. package/dist/core/stdlib/calendar/format.js +51 -0
  746. package/dist/core/stdlib/calendar/format.js.map +1 -0
  747. package/dist/core/stdlib/calendar/index.d.ts +7 -0
  748. package/dist/core/stdlib/calendar/index.d.ts.map +1 -0
  749. package/dist/core/stdlib/calendar/index.js +5 -0
  750. package/dist/core/stdlib/calendar/index.js.map +1 -0
  751. package/dist/core/stdlib/calendar/zone.d.ts +53 -0
  752. package/dist/core/stdlib/calendar/zone.d.ts.map +1 -0
  753. package/dist/core/stdlib/calendar/zone.js +138 -0
  754. package/dist/core/stdlib/calendar/zone.js.map +1 -0
  755. package/dist/core/stdlib/index.d.ts +57 -0
  756. package/dist/core/stdlib/index.d.ts.map +1 -0
  757. package/dist/core/stdlib/index.js +51 -0
  758. package/dist/core/stdlib/index.js.map +1 -0
  759. package/dist/core/stdlib/maths/arithmetic.d.ts +38 -0
  760. package/dist/core/stdlib/maths/arithmetic.d.ts.map +1 -0
  761. package/dist/core/stdlib/maths/arithmetic.js +66 -0
  762. package/dist/core/stdlib/maths/arithmetic.js.map +1 -0
  763. package/dist/core/stdlib/maths/elementary.d.ts +65 -0
  764. package/dist/core/stdlib/maths/elementary.d.ts.map +1 -0
  765. package/dist/core/stdlib/maths/elementary.js +93 -0
  766. package/dist/core/stdlib/maths/elementary.js.map +1 -0
  767. package/dist/core/stdlib/maths/index.d.ts +4 -0
  768. package/dist/core/stdlib/maths/index.d.ts.map +1 -0
  769. package/dist/core/stdlib/maths/index.js +4 -0
  770. package/dist/core/stdlib/maths/index.js.map +1 -0
  771. package/dist/core/stdlib/maths/rounding.d.ts +43 -0
  772. package/dist/core/stdlib/maths/rounding.d.ts.map +1 -0
  773. package/dist/core/stdlib/maths/rounding.js +62 -0
  774. package/dist/core/stdlib/maths/rounding.js.map +1 -0
  775. package/dist/core/stdlib/momentum/convergence.d.ts +36 -0
  776. package/dist/core/stdlib/momentum/convergence.d.ts.map +1 -0
  777. package/dist/core/stdlib/momentum/convergence.js +48 -0
  778. package/dist/core/stdlib/momentum/convergence.js.map +1 -0
  779. package/dist/core/stdlib/momentum/index.d.ts +6 -0
  780. package/dist/core/stdlib/momentum/index.d.ts.map +1 -0
  781. package/dist/core/stdlib/momentum/index.js +6 -0
  782. package/dist/core/stdlib/momentum/index.js.map +1 -0
  783. package/dist/core/stdlib/momentum/pressure.d.ts +43 -0
  784. package/dist/core/stdlib/momentum/pressure.d.ts.map +1 -0
  785. package/dist/core/stdlib/momentum/pressure.js +103 -0
  786. package/dist/core/stdlib/momentum/pressure.js.map +1 -0
  787. package/dist/core/stdlib/momentum/rates.d.ts +74 -0
  788. package/dist/core/stdlib/momentum/rates.d.ts.map +1 -0
  789. package/dist/core/stdlib/momentum/rates.js +134 -0
  790. package/dist/core/stdlib/momentum/rates.js.map +1 -0
  791. package/dist/core/stdlib/momentum/rsi.d.ts +21 -0
  792. package/dist/core/stdlib/momentum/rsi.d.ts.map +1 -0
  793. package/dist/core/stdlib/momentum/rsi.js +30 -0
  794. package/dist/core/stdlib/momentum/rsi.js.map +1 -0
  795. package/dist/core/stdlib/momentum/stochastic.d.ts +44 -0
  796. package/dist/core/stdlib/momentum/stochastic.d.ts.map +1 -0
  797. package/dist/core/stdlib/momentum/stochastic.js +97 -0
  798. package/dist/core/stdlib/momentum/stochastic.js.map +1 -0
  799. package/dist/core/stdlib/series/changes.d.ts +59 -0
  800. package/dist/core/stdlib/series/changes.d.ts.map +1 -0
  801. package/dist/core/stdlib/series/changes.js +129 -0
  802. package/dist/core/stdlib/series/changes.js.map +1 -0
  803. package/dist/core/stdlib/series/conditions.d.ts +34 -0
  804. package/dist/core/stdlib/series/conditions.d.ts.map +1 -0
  805. package/dist/core/stdlib/series/conditions.js +52 -0
  806. package/dist/core/stdlib/series/conditions.js.map +1 -0
  807. package/dist/core/stdlib/series/extremes.d.ts +29 -0
  808. package/dist/core/stdlib/series/extremes.d.ts.map +1 -0
  809. package/dist/core/stdlib/series/extremes.js +62 -0
  810. package/dist/core/stdlib/series/extremes.js.map +1 -0
  811. package/dist/core/stdlib/series/index.d.ts +9 -0
  812. package/dist/core/stdlib/series/index.d.ts.map +1 -0
  813. package/dist/core/stdlib/series/index.js +7 -0
  814. package/dist/core/stdlib/series/index.js.map +1 -0
  815. package/dist/core/stdlib/series/pivots.d.ts +25 -0
  816. package/dist/core/stdlib/series/pivots.d.ts.map +1 -0
  817. package/dist/core/stdlib/series/pivots.js +42 -0
  818. package/dist/core/stdlib/series/pivots.js.map +1 -0
  819. package/dist/core/stdlib/series/statistics.d.ts +64 -0
  820. package/dist/core/stdlib/series/statistics.d.ts.map +1 -0
  821. package/dist/core/stdlib/series/statistics.js +148 -0
  822. package/dist/core/stdlib/series/statistics.js.map +1 -0
  823. package/dist/core/stdlib/series/totals.d.ts +68 -0
  824. package/dist/core/stdlib/series/totals.d.ts.map +1 -0
  825. package/dist/core/stdlib/series/totals.js +115 -0
  826. package/dist/core/stdlib/series/totals.js.map +1 -0
  827. package/dist/core/stdlib/trend/directional.d.ts +69 -0
  828. package/dist/core/stdlib/trend/directional.d.ts.map +1 -0
  829. package/dist/core/stdlib/trend/directional.js +151 -0
  830. package/dist/core/stdlib/trend/directional.js.map +1 -0
  831. package/dist/core/stdlib/trend/index.d.ts +4 -0
  832. package/dist/core/stdlib/trend/index.d.ts.map +1 -0
  833. package/dist/core/stdlib/trend/index.js +4 -0
  834. package/dist/core/stdlib/trend/index.js.map +1 -0
  835. package/dist/core/stdlib/trend/psar.d.ts +33 -0
  836. package/dist/core/stdlib/trend/psar.d.ts.map +1 -0
  837. package/dist/core/stdlib/trend/psar.js +86 -0
  838. package/dist/core/stdlib/trend/psar.js.map +1 -0
  839. package/dist/core/stdlib/trend/supertrend.d.ts +30 -0
  840. package/dist/core/stdlib/trend/supertrend.d.ts.map +1 -0
  841. package/dist/core/stdlib/trend/supertrend.js +65 -0
  842. package/dist/core/stdlib/trend/supertrend.js.map +1 -0
  843. package/dist/core/stdlib/values/bar.d.ts +39 -0
  844. package/dist/core/stdlib/values/bar.d.ts.map +1 -0
  845. package/dist/core/stdlib/values/bar.js +33 -0
  846. package/dist/core/stdlib/values/bar.js.map +1 -0
  847. package/dist/core/stdlib/values/index.d.ts +11 -0
  848. package/dist/core/stdlib/values/index.d.ts.map +1 -0
  849. package/dist/core/stdlib/values/index.js +6 -0
  850. package/dist/core/stdlib/values/index.js.map +1 -0
  851. package/dist/core/stdlib/values/lookback.d.ts +83 -0
  852. package/dist/core/stdlib/values/lookback.d.ts.map +1 -0
  853. package/dist/core/stdlib/values/lookback.js +134 -0
  854. package/dist/core/stdlib/values/lookback.js.map +1 -0
  855. package/dist/core/stdlib/values/region.d.ts +55 -0
  856. package/dist/core/stdlib/values/region.d.ts.map +1 -0
  857. package/dist/core/stdlib/values/region.js +73 -0
  858. package/dist/core/stdlib/values/region.js.map +1 -0
  859. package/dist/core/stdlib/values/tail.d.ts +44 -0
  860. package/dist/core/stdlib/values/tail.d.ts.map +1 -0
  861. package/dist/core/stdlib/values/tail.js +23 -0
  862. package/dist/core/stdlib/values/tail.js.map +1 -0
  863. package/dist/core/stdlib/values/value.d.ts +64 -0
  864. package/dist/core/stdlib/values/value.d.ts.map +1 -0
  865. package/dist/core/stdlib/values/value.js +61 -0
  866. package/dist/core/stdlib/values/value.js.map +1 -0
  867. package/dist/core/stdlib/volatility/bands.d.ts +50 -0
  868. package/dist/core/stdlib/volatility/bands.d.ts.map +1 -0
  869. package/dist/core/stdlib/volatility/bands.js +101 -0
  870. package/dist/core/stdlib/volatility/bands.js.map +1 -0
  871. package/dist/core/stdlib/volatility/deviation.d.ts +43 -0
  872. package/dist/core/stdlib/volatility/deviation.d.ts.map +1 -0
  873. package/dist/core/stdlib/volatility/deviation.js +75 -0
  874. package/dist/core/stdlib/volatility/deviation.js.map +1 -0
  875. package/dist/core/stdlib/volatility/index.d.ts +6 -0
  876. package/dist/core/stdlib/volatility/index.d.ts.map +1 -0
  877. package/dist/core/stdlib/volatility/index.js +5 -0
  878. package/dist/core/stdlib/volatility/index.js.map +1 -0
  879. package/dist/core/stdlib/volatility/measures.d.ts +48 -0
  880. package/dist/core/stdlib/volatility/measures.d.ts.map +1 -0
  881. package/dist/core/stdlib/volatility/measures.js +73 -0
  882. package/dist/core/stdlib/volatility/measures.js.map +1 -0
  883. package/dist/core/stdlib/volatility/range.d.ts +69 -0
  884. package/dist/core/stdlib/volatility/range.d.ts.map +1 -0
  885. package/dist/core/stdlib/volatility/range.js +86 -0
  886. package/dist/core/stdlib/volatility/range.js.map +1 -0
  887. package/dist/core/stdlib/volume/accumulation.d.ts +61 -0
  888. package/dist/core/stdlib/volume/accumulation.d.ts.map +1 -0
  889. package/dist/core/stdlib/volume/accumulation.js +127 -0
  890. package/dist/core/stdlib/volume/accumulation.js.map +1 -0
  891. package/dist/core/stdlib/volume/flow.d.ts +60 -0
  892. package/dist/core/stdlib/volume/flow.d.ts.map +1 -0
  893. package/dist/core/stdlib/volume/flow.js +125 -0
  894. package/dist/core/stdlib/volume/flow.js.map +1 -0
  895. package/dist/core/stdlib/volume/index.d.ts +5 -0
  896. package/dist/core/stdlib/volume/index.d.ts.map +1 -0
  897. package/dist/core/stdlib/volume/index.js +4 -0
  898. package/dist/core/stdlib/volume/index.js.map +1 -0
  899. package/dist/core/stdlib/volume/weighted.d.ts +52 -0
  900. package/dist/core/stdlib/volume/weighted.d.ts.map +1 -0
  901. package/dist/core/stdlib/volume/weighted.js +64 -0
  902. package/dist/core/stdlib/volume/weighted.js.map +1 -0
  903. package/dist/core/version/version.generated.d.ts +2 -2
  904. package/dist/core/version/version.generated.d.ts.map +1 -1
  905. package/dist/core/version/version.generated.js +2 -2
  906. package/dist/core/version/version.generated.js.map +1 -1
  907. package/dist/editor/complete.d.ts +40 -0
  908. package/dist/editor/complete.d.ts.map +1 -0
  909. package/dist/editor/complete.js +206 -0
  910. package/dist/editor/complete.js.map +1 -0
  911. package/dist/editor/diagnose.d.ts +18 -0
  912. package/dist/editor/diagnose.d.ts.map +1 -0
  913. package/dist/editor/diagnose.js +70 -0
  914. package/dist/editor/diagnose.js.map +1 -0
  915. package/dist/editor/format.d.ts +11 -0
  916. package/dist/editor/format.d.ts.map +1 -0
  917. package/dist/editor/format.js +50 -0
  918. package/dist/editor/format.js.map +1 -0
  919. package/dist/editor/highlight.d.ts +28 -0
  920. package/dist/editor/highlight.d.ts.map +1 -0
  921. package/dist/editor/highlight.js +65 -0
  922. package/dist/editor/highlight.js.map +1 -0
  923. package/dist/editor/hover.d.ts +40 -0
  924. package/dist/editor/hover.d.ts.map +1 -0
  925. package/dist/editor/hover.js +147 -0
  926. package/dist/editor/hover.js.map +1 -0
  927. package/dist/editor/index.d.ts +60 -0
  928. package/dist/editor/index.d.ts.map +1 -0
  929. package/dist/editor/index.js +7 -0
  930. package/dist/editor/index.js.map +1 -0
  931. package/dist/editor/kinds.d.ts +27 -0
  932. package/dist/editor/kinds.d.ts.map +1 -0
  933. package/dist/editor/kinds.js +118 -0
  934. package/dist/editor/kinds.js.map +1 -0
  935. package/dist/editor/layout.d.ts +47 -0
  936. package/dist/editor/layout.d.ts.map +1 -0
  937. package/dist/editor/layout.js +135 -0
  938. package/dist/editor/layout.js.map +1 -0
  939. package/dist/editor/manifest.d.ts +47 -0
  940. package/dist/editor/manifest.d.ts.map +1 -0
  941. package/dist/editor/manifest.js +93 -0
  942. package/dist/editor/manifest.js.map +1 -0
  943. package/dist/editor/reading.d.ts +41 -0
  944. package/dist/editor/reading.d.ts.map +1 -0
  945. package/dist/editor/reading.js +51 -0
  946. package/dist/editor/reading.js.map +1 -0
  947. package/dist/editor/scan.d.ts +26 -0
  948. package/dist/editor/scan.d.ts.map +1 -0
  949. package/dist/editor/scan.js +139 -0
  950. package/dist/editor/scan.js.map +1 -0
  951. package/dist/editor/scope.d.ts +19 -0
  952. package/dist/editor/scope.d.ts.map +1 -0
  953. package/dist/editor/scope.js +99 -0
  954. package/dist/editor/scope.js.map +1 -0
  955. package/dist/editor/signature.d.ts +38 -0
  956. package/dist/editor/signature.d.ts.map +1 -0
  957. package/dist/editor/signature.js +112 -0
  958. package/dist/editor/signature.js.map +1 -0
  959. package/dist/editor/site.d.ts +46 -0
  960. package/dist/editor/site.d.ts.map +1 -0
  961. package/dist/editor/site.js +184 -0
  962. package/dist/editor/site.js.map +1 -0
  963. package/dist/editor/spacing.d.ts +29 -0
  964. package/dist/editor/spacing.d.ts.map +1 -0
  965. package/dist/editor/spacing.js +116 -0
  966. package/dist/editor/spacing.js.map +1 -0
  967. package/package.json +66 -15
  968. package/spec/errors.json +522 -183
  969. package/src/adapters/charts/alerts.ts +116 -0
  970. package/src/adapters/charts/bars.ts +63 -0
  971. package/src/adapters/charts/candles.ts +137 -0
  972. package/src/adapters/charts/colours.ts +113 -0
  973. package/src/adapters/charts/columns.ts +99 -0
  974. package/src/adapters/charts/contract.ts +320 -0
  975. package/src/adapters/charts/descriptor.ts +199 -0
  976. package/src/adapters/charts/drawings.ts +213 -0
  977. package/src/adapters/charts/errors.ts +45 -0
  978. package/src/adapters/charts/fields.ts +74 -0
  979. package/src/adapters/charts/fills.ts +71 -0
  980. package/src/adapters/charts/index.ts +78 -0
  981. package/src/adapters/charts/levels.ts +92 -0
  982. package/src/adapters/charts/markers.ts +119 -0
  983. package/src/adapters/charts/paint.ts +101 -0
  984. package/src/adapters/charts/plots.ts +185 -0
  985. package/src/adapters/charts/produced.ts +68 -0
  986. package/src/adapters/charts/requests.ts +357 -0
  987. package/src/adapters/charts/run.ts +327 -0
  988. package/src/adapters/charts/settings.ts +273 -0
  989. package/src/adapters/charts/surfaces.ts +255 -0
  990. package/src/adapters/charts/tables.ts +243 -0
  991. package/src/adapters/codemirror/commands.ts +53 -0
  992. package/src/adapters/codemirror/completion.ts +74 -0
  993. package/src/adapters/codemirror/contract.ts +156 -0
  994. package/src/adapters/codemirror/index.ts +66 -0
  995. package/src/adapters/codemirror/lint.ts +66 -0
  996. package/src/adapters/codemirror/positions.ts +79 -0
  997. package/src/adapters/codemirror/stream.ts +87 -0
  998. package/src/adapters/codemirror/tokens.ts +64 -0
  999. package/src/adapters/codemirror/tooltips.ts +113 -0
  1000. package/src/core/accounting/charges.ts +452 -0
  1001. package/src/core/accounting/equity.ts +276 -0
  1002. package/src/core/accounting/index.ts +49 -0
  1003. package/src/core/accounting/markers.ts +95 -0
  1004. package/src/core/accounting/monthly.ts +137 -0
  1005. package/src/core/accounting/report.ts +89 -0
  1006. package/src/core/accounting/shapes.ts +73 -0
  1007. package/src/core/accounting/statistics.ts +350 -0
  1008. package/src/core/accounting/trades.ts +313 -0
  1009. package/src/core/backtest/compare.ts +244 -0
  1010. package/src/core/backtest/declaration.ts +97 -0
  1011. package/src/core/backtest/drive.ts +364 -0
  1012. package/src/core/backtest/index.ts +52 -0
  1013. package/src/core/backtest/range.ts +137 -0
  1014. package/src/core/backtest/record.ts +341 -0
  1015. package/src/core/backtest/replay.ts +158 -0
  1016. package/src/core/backtest/resting.ts +125 -0
  1017. package/src/core/backtest/settings.ts +280 -0
  1018. package/src/core/backtest/simulate.ts +304 -0
  1019. package/src/core/catalogue/catalogue.generated.ts +23 -9
  1020. package/src/core/catalogue/values.generated.ts +14 -0
  1021. package/src/core/check/arguments.ts +126 -0
  1022. package/src/core/check/call-sites.ts +385 -0
  1023. package/src/core/check/call-warmup.ts +121 -0
  1024. package/src/core/check/calls.ts +412 -0
  1025. package/src/core/check/check.ts +183 -0
  1026. package/src/core/check/checked.ts +228 -0
  1027. package/src/core/check/checker.ts +393 -0
  1028. package/src/core/check/conditional.ts +143 -0
  1029. package/src/core/check/constant.ts +127 -0
  1030. package/src/core/check/declaration.ts +230 -0
  1031. package/src/core/check/expressions.ts +471 -0
  1032. package/src/core/check/functions.ts +283 -0
  1033. package/src/core/check/handles.ts +75 -0
  1034. package/src/core/check/index.ts +70 -0
  1035. package/src/core/check/library-bars.ts +194 -0
  1036. package/src/core/check/library-orders.ts +290 -0
  1037. package/src/core/check/library-output.ts +241 -0
  1038. package/src/core/check/library-prose.generated.ts +367 -0
  1039. package/src/core/check/library-series.ts +457 -0
  1040. package/src/core/check/library.ts +374 -0
  1041. package/src/core/check/literals.ts +35 -0
  1042. package/src/core/check/outputs.ts +152 -0
  1043. package/src/core/check/statements.ts +465 -0
  1044. package/src/core/check/suggest.ts +63 -0
  1045. package/src/core/check/surface.ts +149 -0
  1046. package/src/core/check/tags.ts +94 -0
  1047. package/src/core/check/types.ts +260 -0
  1048. package/src/core/check/warmup.ts +100 -0
  1049. package/src/core/diagnostics/collector.ts +27 -1
  1050. package/src/core/emit/calls.ts +415 -0
  1051. package/src/core/emit/canonical.ts +81 -0
  1052. package/src/core/emit/channels.ts +144 -0
  1053. package/src/core/emit/code.ts +155 -0
  1054. package/src/core/emit/colours.ts +75 -0
  1055. package/src/core/emit/context.ts +461 -0
  1056. package/src/core/emit/defaults.ts +220 -0
  1057. package/src/core/emit/emit.ts +313 -0
  1058. package/src/core/emit/events.ts +141 -0
  1059. package/src/core/emit/expressions.ts +292 -0
  1060. package/src/core/emit/functions.ts +195 -0
  1061. package/src/core/emit/gaps.ts +44 -0
  1062. package/src/core/emit/index.ts +76 -0
  1063. package/src/core/emit/inputs.ts +179 -0
  1064. package/src/core/emit/layout.ts +165 -0
  1065. package/src/core/emit/meta.ts +104 -0
  1066. package/src/core/emit/opcodes.ts +160 -0
  1067. package/src/core/emit/outputs.ts +357 -0
  1068. package/src/core/emit/pool.ts +102 -0
  1069. package/src/core/emit/program.ts +385 -0
  1070. package/src/core/emit/registers.ts +179 -0
  1071. package/src/core/emit/request-scope.ts +52 -0
  1072. package/src/core/emit/requests.ts +258 -0
  1073. package/src/core/emit/requires.ts +91 -0
  1074. package/src/core/emit/sha256.ts +119 -0
  1075. package/src/core/emit/statements.ts +438 -0
  1076. package/src/core/emit/values.ts +284 -0
  1077. package/src/core/engine/alerts.ts +152 -0
  1078. package/src/core/engine/arithmetic.ts +165 -0
  1079. package/src/core/engine/bars.ts +224 -0
  1080. package/src/core/engine/budget.ts +284 -0
  1081. package/src/core/engine/channels.ts +171 -0
  1082. package/src/core/engine/drawings.ts +127 -0
  1083. package/src/core/engine/engine.ts +498 -0
  1084. package/src/core/engine/errors.ts +100 -0
  1085. package/src/core/engine/frames.ts +85 -0
  1086. package/src/core/engine/grids.ts +98 -0
  1087. package/src/core/engine/guard.ts +71 -0
  1088. package/src/core/engine/host.ts +251 -0
  1089. package/src/core/engine/index.ts +93 -0
  1090. package/src/core/engine/inputs.ts +263 -0
  1091. package/src/core/engine/ledger/call.ts +218 -0
  1092. package/src/core/engine/ledger/closable.ts +269 -0
  1093. package/src/core/engine/ledger/holdings.ts +354 -0
  1094. package/src/core/engine/ledger/index.ts +28 -0
  1095. package/src/core/engine/ledger/intent.ts +112 -0
  1096. package/src/core/engine/ledger/ledger.ts +314 -0
  1097. package/src/core/engine/ledger/place.ts +277 -0
  1098. package/src/core/engine/ledger/positions.ts +123 -0
  1099. package/src/core/engine/ledger/refuse.ts +378 -0
  1100. package/src/core/engine/ledger/row.ts +318 -0
  1101. package/src/core/engine/ledger/sizing.ts +292 -0
  1102. package/src/core/engine/library/arrays.ts +316 -0
  1103. package/src/core/engine/library/averages.ts +97 -0
  1104. package/src/core/engine/library/binding.ts +325 -0
  1105. package/src/core/engine/library/chart.ts +115 -0
  1106. package/src/core/engine/library/colours.ts +111 -0
  1107. package/src/core/engine/library/dates.ts +109 -0
  1108. package/src/core/engine/library/index.ts +103 -0
  1109. package/src/core/engine/library/maths.ts +134 -0
  1110. package/src/core/engine/library/objects.ts +265 -0
  1111. package/src/core/engine/library/oscillators.ts +124 -0
  1112. package/src/core/engine/library/ranges.ts +51 -0
  1113. package/src/core/engine/library/series.ts +236 -0
  1114. package/src/core/engine/library/state.ts +47 -0
  1115. package/src/core/engine/library/studies.ts +150 -0
  1116. package/src/core/engine/library/text.ts +303 -0
  1117. package/src/core/engine/library/trend.ts +79 -0
  1118. package/src/core/engine/library/volume.ts +101 -0
  1119. package/src/core/engine/load.ts +118 -0
  1120. package/src/core/engine/machine.ts +446 -0
  1121. package/src/core/engine/memory.ts +129 -0
  1122. package/src/core/engine/operations.ts +171 -0
  1123. package/src/core/engine/orders.ts +121 -0
  1124. package/src/core/engine/registers.ts +104 -0
  1125. package/src/core/engine/request-body.ts +328 -0
  1126. package/src/core/engine/request-plan.ts +270 -0
  1127. package/src/core/engine/requests.ts +382 -0
  1128. package/src/core/engine/results.ts +41 -0
  1129. package/src/core/engine/series.ts +82 -0
  1130. package/src/core/engine/session/hours.ts +86 -0
  1131. package/src/core/engine/session/index.ts +17 -0
  1132. package/src/core/engine/session/record.ts +191 -0
  1133. package/src/core/engine/session/spec.ts +45 -0
  1134. package/src/core/engine/timeframe.ts +161 -0
  1135. package/src/core/engine/types.ts +47 -0
  1136. package/src/core/engine/values/heap.ts +295 -0
  1137. package/src/core/engine/values/index.ts +34 -0
  1138. package/src/core/engine/values/value.ts +158 -0
  1139. package/src/core/engine/verify-budgets.ts +202 -0
  1140. package/src/core/engine/verify-code.ts +332 -0
  1141. package/src/core/engine/verify-requests.ts +255 -0
  1142. package/src/core/engine/verify-shape.ts +164 -0
  1143. package/src/core/engine/verify-tables.ts +176 -0
  1144. package/src/core/engine/verify.ts +341 -0
  1145. package/src/core/index.ts +212 -6
  1146. package/src/core/parse/expressions.ts +1 -1
  1147. package/src/core/parse/names.ts +29 -2
  1148. package/src/core/stdlib/averages/exponential.ts +119 -0
  1149. package/src/core/stdlib/averages/index.ts +45 -0
  1150. package/src/core/stdlib/averages/select.ts +71 -0
  1151. package/src/core/stdlib/averages/shaped.ts +161 -0
  1152. package/src/core/stdlib/averages/simple.ts +139 -0
  1153. package/src/core/stdlib/calendar/civil.ts +89 -0
  1154. package/src/core/stdlib/calendar/fields.ts +124 -0
  1155. package/src/core/stdlib/calendar/format.ts +71 -0
  1156. package/src/core/stdlib/calendar/index.ts +15 -0
  1157. package/src/core/stdlib/calendar/zone.ts +161 -0
  1158. package/src/core/stdlib/index.ts +400 -0
  1159. package/src/core/stdlib/maths/arithmetic.ts +74 -0
  1160. package/src/core/stdlib/maths/elementary.ts +124 -0
  1161. package/src/core/stdlib/maths/index.ts +43 -0
  1162. package/src/core/stdlib/maths/rounding.ts +78 -0
  1163. package/src/core/stdlib/momentum/convergence.ts +82 -0
  1164. package/src/core/stdlib/momentum/index.ts +47 -0
  1165. package/src/core/stdlib/momentum/pressure.ts +141 -0
  1166. package/src/core/stdlib/momentum/rates.ts +188 -0
  1167. package/src/core/stdlib/momentum/rsi.ts +49 -0
  1168. package/src/core/stdlib/momentum/stochastic.ts +147 -0
  1169. package/src/core/stdlib/series/changes.ts +177 -0
  1170. package/src/core/stdlib/series/conditions.ts +74 -0
  1171. package/src/core/stdlib/series/extremes.ts +92 -0
  1172. package/src/core/stdlib/series/index.ts +83 -0
  1173. package/src/core/stdlib/series/pivots.ts +63 -0
  1174. package/src/core/stdlib/series/statistics.ts +207 -0
  1175. package/src/core/stdlib/series/totals.ts +164 -0
  1176. package/src/core/stdlib/trend/directional.ts +196 -0
  1177. package/src/core/stdlib/trend/index.ts +13 -0
  1178. package/src/core/stdlib/trend/psar.ts +131 -0
  1179. package/src/core/stdlib/trend/supertrend.ts +100 -0
  1180. package/src/core/stdlib/values/bar.ts +54 -0
  1181. package/src/core/stdlib/values/index.ts +14 -0
  1182. package/src/core/stdlib/values/lookback.ts +198 -0
  1183. package/src/core/stdlib/values/region.ts +86 -0
  1184. package/src/core/stdlib/values/tail.ts +58 -0
  1185. package/src/core/stdlib/values/value.ts +82 -0
  1186. package/src/core/stdlib/volatility/bands.ts +178 -0
  1187. package/src/core/stdlib/volatility/deviation.ts +111 -0
  1188. package/src/core/stdlib/volatility/index.ts +48 -0
  1189. package/src/core/stdlib/volatility/measures.ts +96 -0
  1190. package/src/core/stdlib/volatility/range.ts +143 -0
  1191. package/src/core/stdlib/volume/accumulation.ts +152 -0
  1192. package/src/core/stdlib/volume/flow.ts +173 -0
  1193. package/src/core/stdlib/volume/index.ts +43 -0
  1194. package/src/core/stdlib/volume/weighted.ts +101 -0
  1195. package/src/core/version/version.generated.ts +2 -2
  1196. package/src/editor/complete.ts +266 -0
  1197. package/src/editor/diagnose.ts +71 -0
  1198. package/src/editor/format.ts +85 -0
  1199. package/src/editor/highlight.ts +110 -0
  1200. package/src/editor/hover.ts +199 -0
  1201. package/src/editor/index.ts +65 -0
  1202. package/src/editor/kinds.ts +157 -0
  1203. package/src/editor/layout.ts +189 -0
  1204. package/src/editor/manifest.ts +119 -0
  1205. package/src/editor/reading.ts +69 -0
  1206. package/src/editor/scan.ts +162 -0
  1207. package/src/editor/scope.ts +122 -0
  1208. package/src/editor/signature.ts +150 -0
  1209. package/src/editor/site.ts +233 -0
  1210. package/src/editor/spacing.ts +132 -0
@@ -0,0 +1,147 @@
1
+ /**
2
+ * `hover`: what the thing under the pointer is.
3
+ *
4
+ * Three answers, and the difference between them is what the compiler says the
5
+ * word is rather than anything guessed from its spelling:
6
+ *
7
+ * a library name its signatures from the manifest, the line the
8
+ * specification gives it, the first bar its own row
9
+ * promises a value on, and the channels of a named colour
10
+ * a declared name the type the checker worked out, how it is held between
11
+ * bars, and where in the file it was declared
12
+ * a reserved word that it is one, and nothing else. See below
13
+ *
14
+ * ## What a hover wants and cannot have, said plainly
15
+ *
16
+ * **There is no per-word explanation of a keyword in a machine readable form.**
17
+ * `language.md` 3.4 reserves the words in one block and explains each one in the
18
+ * prose of the section that uses it, which is a page rather than a field. So a
19
+ * hover over `var` says it is a reserved word and stops. The alternative was to
20
+ * type thirty-five sentences into this file, and that is the copy that drifts:
21
+ * it would be right today, the specification would improve next month, and the
22
+ * only copy a writer ever reads would be the stale one. A host that wants more
23
+ * links the word to the specification, which is one page and stays current.
24
+ *
25
+ * **A name with several signatures has one description.** The specification
26
+ * gives every signature its own row, and the map read here is keyed by name, so
27
+ * `close` is described by its bar series row rather than by the order function's.
28
+ * Every signature is still listed: it is the sentence beside them that is the
29
+ * first row's.
30
+ *
31
+ * **A parameter has no description of its own anywhere.** `stdlib.md` describes
32
+ * a call in one line and names its parameters in the signature; only section
33
+ * 13's shared input arguments have a table with a meaning per argument. So
34
+ * `signature` shows a parameter's name, type, default and accepted values, which
35
+ * are facts, and no sentence, which would have to be invented.
36
+ *
37
+ * Each of those is recorded in `spec/editor-narrowings.json` beside what the
38
+ * adapter narrows, so a host reads them in one place rather than discovering
39
+ * them.
40
+ */
41
+ import { endOffset, entryFor, fillTemplate, isNamespace, libraryEntries, namedColour, proseFor, typeText, } from '../core/index.js';
42
+ import { isReserved } from './kinds.js';
43
+ import { signatureTextOf } from './manifest.js';
44
+ import { readChecked } from './reading.js';
45
+ import { bindingNamed } from './scope.js';
46
+ import { tokenOn } from './site.js';
47
+ /**
48
+ * The name a word is part of, which is the dotted one when it is half of one.
49
+ *
50
+ * Pointing at `box` in `draw.box` is pointing at `draw.box`: the member on its
51
+ * own is an ordinary name the library does not have, and a hover that said so
52
+ * would be wrong about the word under the pointer.
53
+ */
54
+ function nameAt(file, tokens, token) {
55
+ const index = tokens.indexOf(token);
56
+ const dot = tokens[index - 1];
57
+ const namespace = tokens[index - 2];
58
+ if (dot?.kind === '.' && namespace?.kind === 'identifier' && isNamespace(namespace.text)) {
59
+ return {
60
+ name: `${namespace.text}.${token.text}`,
61
+ span: file.spanAt(namespace.span.offset, endOffset(token.span) - namespace.span.offset),
62
+ };
63
+ }
64
+ // A namespace with a member after it is pointed at as the whole name too, so
65
+ // that hovering either half of `draw.box` says the same thing.
66
+ const next = tokens[index + 1];
67
+ const member = tokens[index + 2];
68
+ if (isNamespace(token.text) &&
69
+ next?.kind === '.' &&
70
+ member?.kind === 'identifier' &&
71
+ libraryEntries(`${token.text}.${member.text}`).length > 0) {
72
+ return {
73
+ name: `${token.text}.${member.text}`,
74
+ span: file.spanAt(token.span.offset, endOffset(member.span) - token.span.offset),
75
+ };
76
+ }
77
+ return { name: file.text.slice(token.span.offset, endOffset(token.span)), span: token.span };
78
+ }
79
+ const NOTHING = {
80
+ summary: undefined,
81
+ warmup: undefined,
82
+ type: undefined,
83
+ declaredAt: undefined,
84
+ colour: undefined,
85
+ planned: false,
86
+ refusal: undefined,
87
+ };
88
+ /**
89
+ * What the word at an offset is, or nothing where the offset is not on a word.
90
+ *
91
+ * A pointer over a space, a bracket, a number or a string gets nothing: those
92
+ * are not names, and a tooltip that appeared over a comma would be in the way
93
+ * rather than useful. A host that wants a literal's value has it in the text.
94
+ */
95
+ export function hover(source, offset) {
96
+ const { file, tokens, checked } = readChecked(source);
97
+ const token = tokenOn(tokens, offset);
98
+ if (token === undefined)
99
+ return undefined;
100
+ if (isReserved(token.kind)) {
101
+ // A reserved word, and every one of them is also a word a script may not
102
+ // declare. What it means is the specification's, and there is no per-word
103
+ // field to read it from, which the file header states and the narrowings
104
+ // record.
105
+ return { kind: 'keyword', span: token.span, name: token.text, signatures: [], ...NOTHING };
106
+ }
107
+ if (token.kind !== 'identifier')
108
+ return undefined;
109
+ const { name, span } = nameAt(file, tokens, token);
110
+ const binding = bindingNamed(checked, name, offset);
111
+ if (binding !== undefined) {
112
+ const persistence = binding.persistence === 'none' ? '' : `${binding.persistence} `;
113
+ return {
114
+ kind: 'declared',
115
+ span,
116
+ name,
117
+ signatures: [`${persistence}${name}: ${typeText(binding.type)}`],
118
+ summary: undefined,
119
+ warmup: undefined,
120
+ type: typeText(binding.type),
121
+ declaredAt: binding.declaredAt,
122
+ colour: undefined,
123
+ planned: false,
124
+ refusal: undefined,
125
+ };
126
+ }
127
+ const entries = libraryEntries(name);
128
+ const first = entries[0];
129
+ if (first === undefined)
130
+ return undefined;
131
+ const prose = proseFor(name);
132
+ const planned = entries.every((one) => one.planned);
133
+ return {
134
+ kind: 'library',
135
+ span,
136
+ name,
137
+ signatures: entries.map(signatureTextOf),
138
+ summary: prose?.summary,
139
+ warmup: prose?.warmup,
140
+ type: typeText(first.returns),
141
+ declaredAt: undefined,
142
+ colour: namedColour(name),
143
+ planned,
144
+ refusal: planned ? fillTemplate(entryFor('OS2020').message, { name }) : undefined,
145
+ };
146
+ }
147
+ //# sourceMappingURL=hover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover.js","sourceRoot":"","sources":["../../src/editor/hover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,OAAO,EACL,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC;;;;;;GAMG;AACH,SAAS,MAAM,CACb,IAAgB,EAChB,MAAwB,EACxB,KAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACpC,IAAI,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,YAAY,IAAI,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,OAAO;YACL,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;SACxF,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,+DAA+D;IAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACjC,IACE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,EAAE,IAAI,KAAK,GAAG;QAClB,MAAM,EAAE,IAAI,KAAK,YAAY;QAC7B,cAAc,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EACzD,CAAC;QACD,OAAO;YACL,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;SACjF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;AAC/F,CAAC;AAED,MAAM,OAAO,GAAG;IACd,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,SAAS;CACV,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,MAAc;IAClD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,UAAU;QACV,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC;IAC7F,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,SAAS,CAAC;IAElD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC;QACpF,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,IAAI;YACJ,UAAU,EAAE,CAAC,GAAG,WAAW,GAAG,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,IAAI;QACJ,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QACxC,OAAO,EAAE,KAAK,EAAE,OAAO;QACvB,MAAM,EAAE,KAAK,EAAE,MAAM;QACrB,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC;QACzB,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAClF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * OpenScript, the language intelligence, headless.
3
+ *
4
+ * Six pure functions, text in and data out: highlight, complete, diagnose,
5
+ * hover, signature, format. Three of them are here. No DOM anywhere, no package,
6
+ * no browser global, and nothing on screen: a host supplies the text component,
7
+ * the panel, the apply button, saving and revisions, and keeps its own design
8
+ * system. `scripts/check-layering.mjs` fails the build if this tier so much as
9
+ * mentions a document object, because an editor half that reaches for one is the
10
+ * thing that stops a platform embedding it.
11
+ *
12
+ * **None of it is hand written.** That is the whole reason it is worth shipping
13
+ * rather than leaving to each host, and it is a property of how each function is
14
+ * built rather than an intention:
15
+ *
16
+ * highlight the real lexer, and the language's own tables of words and
17
+ * marks decide what each token is painted as
18
+ * diagnose the whole compiler, and every message and fix comes from the
19
+ * error catalogue the documentation is generated from
20
+ * format the real lexer for the tokens and the real parser for the
21
+ * three questions spacing cannot answer without a tree
22
+ *
23
+ * A hand written version of any of them drifts from the language and nobody
24
+ * notices for a release: a word is added and stays grey, a diagnostic's wording
25
+ * improves in one place. The editor is the compiler wearing a different hat, not
26
+ * a second implementation to keep in step.
27
+ *
28
+ * complete the standard library manifest, the checker's bindings for
29
+ * what the file itself declares, and the error catalogue for
30
+ * what a planned call would be refused with
31
+ * hover the manifest again, and the specification's own tables, read
32
+ * at build time rather than retyped here
33
+ * signature the manifest and the emitter, which between them are where
34
+ * every default the compiler applies lives
35
+ *
36
+ * All six exist, so `openalgo-script/editor` is an entry point in the package's
37
+ * export map. It was not one while three of them were missing, because an entry
38
+ * point that resolves to half a tier fails at a consumer's run time rather than
39
+ * honestly at install.
40
+ *
41
+ * What a host loses by taking the drop-in adapter beside this rather than
42
+ * calling these six itself, and the three places a hover has no sentence to show
43
+ * because none exists in a machine readable form, are recorded together in
44
+ * `spec/editor-narrowings.json`.
45
+ */
46
+ export type { Diagnostic, Span } from '../core/index.js';
47
+ export type { HighlightKind } from './kinds.js';
48
+ export type { Highlight } from './scan.js';
49
+ export type { HighlightedLine } from './highlight.js';
50
+ export { highlight, highlightLines } from './highlight.js';
51
+ export { diagnose } from './diagnose.js';
52
+ export { format } from './format.js';
53
+ export type { Completion, CompletionKind } from './complete.js';
54
+ export { complete } from './complete.js';
55
+ export type { Hover, HoverKind } from './hover.js';
56
+ export { hover } from './hover.js';
57
+ export type { Parameter } from './manifest.js';
58
+ export type { SignatureHelp } from './signature.js';
59
+ export { signature } from './signature.js';
60
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,YAAY,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { highlight, highlightLines } from './highlight.js';
2
+ export { diagnose } from './diagnose.js';
3
+ export { format } from './format.js';
4
+ export { complete } from './complete.js';
5
+ export { hover } from './hover.js';
6
+ export { signature } from './signature.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAkDA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAInC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Token, TokenKind } from '../core/index.js';
2
+ /**
3
+ * What a span of source is, for the purpose of giving it a colour.
4
+ *
5
+ * Eleven kinds, and the set is closed: a host writes eleven theme rules once and
6
+ * never has to add a twelfth, because a new word in the language arrives as one
7
+ * of these rather than as a kind nobody has a colour for.
8
+ *
9
+ * `whitespace` and `unknown` exist because every character of the file is
10
+ * covered exactly once (see `scan.ts`), so the spaces between tokens have to be
11
+ * something. `unknown` is source the lexer took no token from and that is not a
12
+ * space or a comment: a character the language does not have, a region somebody
13
+ * meant as a block comment, or a line continuation backslash. It does not mean
14
+ * "wrong": `diagnose` says what is wrong, and a highlighter that had a second
15
+ * opinion about it would be a second opinion about the language.
16
+ */
17
+ export type HighlightKind = 'keyword' | 'builtin' | 'name' | 'number' | 'string' | 'color' | 'comment' | 'operator' | 'punctuation' | 'whitespace' | 'unknown';
18
+ /** Whether a token's kind is a reserved word of language.md 3.4. */
19
+ export declare function isReserved(kind: TokenKind): boolean;
20
+ /**
21
+ * The kind a token is painted as, given the tokens before it.
22
+ *
23
+ * The tokens before it are needed for exactly one question, the dotted name
24
+ * above. Everything else is decided by the token alone.
25
+ */
26
+ export declare function kindOf(token: Token, before: readonly Token[]): HighlightKind;
27
+ //# sourceMappingURL=kinds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../src/editor/kinds.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,SAAS,GACT,UAAU,GACV,aAAa,GACb,YAAY,GACZ,SAAS,CAAC;AA0Bd,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAEnD;AA6BD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,aAAa,CAwB5E"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * What a host paints, and where each kind comes from.
3
+ *
4
+ * A highlighter is the one part of a language tool that is always written twice:
5
+ * once in the compiler, where the vocabulary is decided, and once in a theme
6
+ * file, where somebody types the words out again from memory. The second copy is
7
+ * wrong from the day a word is added to the language, and nobody notices, because
8
+ * an unpainted keyword still compiles.
9
+ *
10
+ * So nothing below is a list of words. Every kind is decided by asking the
11
+ * compiler a question it already answers:
12
+ *
13
+ * keyword the token's kind is in the language's reserved word table
14
+ * builtin the standard library manifest has an entry for the name
15
+ * operator the mark is in one of the language's operator tables
16
+ * punctuation a mark the grammar has that no operator table claims
17
+ *
18
+ * A word added to `RESERVED_WORDS`, a function added to the manifest and a mark
19
+ * added to `PUNCTUATORS` are each painted the day they lex, without this file
20
+ * being edited.
21
+ *
22
+ * ## Why `reserved` is a question and not a comparison
23
+ *
24
+ * A token's kind is its own text for a keyword and for a punctuation mark, which
25
+ * is what lets a parser read `token.kind === 'if'`. A consuming platform read
26
+ * that as "a reserved word is a token whose kind equals its text", which is true
27
+ * and is folklore: it is nowhere in the token vocabulary, it silently takes in
28
+ * every punctuation mark as well, and it would stop being true the first time a
29
+ * kind and a spelling came apart. `kindOf` answers the question instead, from
30
+ * the same table the lexer classifies with.
31
+ */
32
+ import { PUNCTUATORS, RESERVED_WORDS } from '../core/index.js';
33
+ import { ARITHMETIC_OPERATORS, ASSIGNMENT_OPERATORS, COMPARISON_OPERATORS, EQUALITY_OPERATORS, isLibraryName, isNamespace, } from '../core/index.js';
34
+ const RESERVED = new Set(RESERVED_WORDS);
35
+ /**
36
+ * The marks that compute something, as against the marks that group and
37
+ * separate.
38
+ *
39
+ * Built from the language's own operator tables rather than by dividing the
40
+ * punctuation list by hand, so that an operator added to the language is painted
41
+ * as one. The tables of words, `and` and `or` and `not`, are reserved words and
42
+ * are painted as keywords, which is what they are to the lexer.
43
+ *
44
+ * What is left over is punctuation: the brackets, the comma, the dot, and the
45
+ * two marks of the ternary. They group and separate rather than compute, and a
46
+ * theme that wants them dimmer than the arithmetic can have that.
47
+ */
48
+ const OPERATORS = new Set([
49
+ ...ARITHMETIC_OPERATORS,
50
+ ...COMPARISON_OPERATORS,
51
+ ...EQUALITY_OPERATORS,
52
+ ...ASSIGNMENT_OPERATORS,
53
+ ]);
54
+ const PUNCTUATION = new Set(PUNCTUATORS);
55
+ /** Whether a token's kind is a reserved word of language.md 3.4. */
56
+ export function isReserved(kind) {
57
+ return RESERVED.has(kind);
58
+ }
59
+ /**
60
+ * Whether a name is one the standard library already has.
61
+ *
62
+ * The manifest is the same index the checker resolves against and the same one
63
+ * the example check reads its globals from, so a function added to the library
64
+ * is painted as a built-in on the day it is added. A namespace is included
65
+ * because `draw` on its own is not a value a script can hold: it is half of a
66
+ * dotted name, and `dotted` below finishes the question for the other half.
67
+ */
68
+ function isBuiltin(name) {
69
+ return isLibraryName(name) || isNamespace(name);
70
+ }
71
+ /**
72
+ * The member half of a namespaced name, which is only a built-in in company.
73
+ *
74
+ * `box` is an ordinary name, and `draw.box` is a library entry. The manifest is
75
+ * asked about the dotted spelling, so nothing here decides what a namespace
76
+ * holds: `language.md` 15.2 and the manifest do.
77
+ */
78
+ function dotted(before, name) {
79
+ const dot = before[before.length - 1];
80
+ const namespace = before[before.length - 2];
81
+ if (dot?.kind !== '.' || namespace?.kind !== 'identifier')
82
+ return false;
83
+ return isNamespace(namespace.text) && isLibraryName(`${namespace.text}.${name}`);
84
+ }
85
+ /**
86
+ * The kind a token is painted as, given the tokens before it.
87
+ *
88
+ * The tokens before it are needed for exactly one question, the dotted name
89
+ * above. Everything else is decided by the token alone.
90
+ */
91
+ export function kindOf(token, before) {
92
+ switch (token.kind) {
93
+ case 'numberLiteral':
94
+ return 'number';
95
+ case 'stringLiteral':
96
+ return 'string';
97
+ case 'hexColor':
98
+ // The language's own spelling of the type is `color`, so that is the kind
99
+ // a host matches on, whatever the prose around it calls the thing.
100
+ return 'color';
101
+ case 'identifier':
102
+ return isBuiltin(token.text) || dotted(before, token.text) ? 'builtin' : 'name';
103
+ case 'newline':
104
+ case 'indent':
105
+ case 'dedent':
106
+ case 'endOfFile':
107
+ // Layout is the file's shape rather than something to read, and an indent
108
+ // token's span is the leading spaces of its line, which are spaces.
109
+ return 'whitespace';
110
+ default:
111
+ if (isReserved(token.kind))
112
+ return 'keyword';
113
+ if (OPERATORS.has(token.kind))
114
+ return 'operator';
115
+ return PUNCTUATION.has(token.kind) ? 'punctuation' : 'unknown';
116
+ }
117
+ }
118
+ //# sourceMappingURL=kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../src/editor/kinds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAC;AA+B1B,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,SAAS,GAAwB,IAAI,GAAG,CAAS;IACrD,GAAG,oBAAoB;IACvB,GAAG,oBAAoB;IACvB,GAAG,kBAAkB;IACrB,GAAG,oBAAoB;CACxB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAS,WAAW,CAAC,CAAC;AAEtE,oEAAoE;AACpE,MAAM,UAAU,UAAU,CAAC,IAAe;IACxC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,MAAwB,EAAE,IAAY;IACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5C,IAAI,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,SAAS,EAAE,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACxE,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,GAAG,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;AACnF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,KAAY,EAAE,MAAwB;IAC3D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,0EAA0E;YAC1E,mEAAmE;YACnE,OAAO,OAAO,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAClF,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,0EAA0E;YAC1E,oEAAoE;YACpE,OAAO,YAAY,CAAC;QACtB;YACE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,OAAO,UAAU,CAAC;YACjD,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * The canonical layout of a file, line by line.
3
+ *
4
+ * `language.md` 3.13 states the rules; this applies them. The two halves are
5
+ * separate because the specification is what another implementation writes a
6
+ * formatter from, and a rule that lived only here would be a rule only this
7
+ * formatter has.
8
+ *
9
+ * ## What is preserved, and why that is the safe direction
10
+ *
11
+ * The writer's line breaks are kept. A formatter that joined a call spanning
12
+ * four lines into one would be correct and unusable: it would take the layout
13
+ * somebody chose to make a long argument list readable and hand back a line
14
+ * nobody can read. So this decides indentation and spacing, which have one right
15
+ * answer, and leaves the choice of where to break a long statement to the person
16
+ * writing it, which does not.
17
+ *
18
+ * It is also the safe direction. A break that was there before is a break the
19
+ * lexer already accepted, so preserving them cannot turn a legal file into an
20
+ * illegal one, while inventing or removing one can: a statement continues onto
21
+ * the next line only under the three conditions of 3.11, and a formatter that
22
+ * moved a break would have to know them, which is the language's rule
23
+ * implemented twice.
24
+ *
25
+ * ## Comments
26
+ *
27
+ * A comment on a line of its own takes the indentation of the next line that
28
+ * carries a token, so a commented-out statement sits with the block it belongs
29
+ * to. This is safe for a reason worth stating: such a line produces no token at
30
+ * all, so its indentation says nothing about block structure and cannot open or
31
+ * close one (3.10). A comment after code stays where it is, two spaces clear of
32
+ * the code.
33
+ */
34
+ import type { SourceFile, Token } from '../core/index.js';
35
+ import type { Highlight } from './scan.js';
36
+ import type { Shapes } from './spacing.js';
37
+ /**
38
+ * The whole file, laid out.
39
+ *
40
+ * The pieces are the covering scan, which is where the comments come from and
41
+ * where a line continuation backslash is found. A backslash is kept wherever it
42
+ * was written rather than worked out again: whether a statement needs one is the
43
+ * lexer's rule, and the file in front of this one has already been through the
44
+ * lexer with it in place.
45
+ */
46
+ export declare function layOut(file: SourceFile, tokens: readonly Token[], pieces: readonly Highlight[], shapes: Shapes): string;
47
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/editor/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA+G3C;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CACpB,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,SAAS,KAAK,EAAE,EACxB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,MAAM,EAAE,MAAM,GACb,MAAM,CA2BR"}
@@ -0,0 +1,135 @@
1
+ import { spaceBetween } from './spacing.js';
2
+ /** One level of block, `language.md` 3.13. */
3
+ const INDENT = ' ';
4
+ /**
5
+ * What a continuation line is indented past the line that began its statement.
6
+ *
7
+ * Eight rather than four so that a continuation can never be read as the body of
8
+ * the header above it. `if crossUp(fast,` with its second half indented four
9
+ * would sit exactly where the block's first statement sits, which is legal and
10
+ * unreadable.
11
+ */
12
+ const CONTINUATION = ' ';
13
+ /** Two, so a trailing comment is visibly not part of the code it follows. */
14
+ const BEFORE_COMMENT = ' ';
15
+ const BACKSLASH = '\\';
16
+ /**
17
+ * The code lines of a file, each with the indentation the canonical layout gives
18
+ * it.
19
+ *
20
+ * Depth comes from the lexer's own indent and dedent tokens rather than from
21
+ * counting spaces, so the blocks this prints are the blocks the compiler read. A
22
+ * line that begins a statement is indented by its depth; a line that continues
23
+ * one is indented past the line that began it.
24
+ */
25
+ function codeLines(tokens) {
26
+ const lines = new Map();
27
+ let depth = 0;
28
+ let starting = true;
29
+ for (const token of tokens) {
30
+ switch (token.kind) {
31
+ case 'indent':
32
+ depth += 1;
33
+ continue;
34
+ case 'dedent':
35
+ depth -= 1;
36
+ continue;
37
+ case 'newline':
38
+ starting = true;
39
+ continue;
40
+ case 'endOfFile':
41
+ continue;
42
+ default:
43
+ break;
44
+ }
45
+ let line = lines.get(token.span.line);
46
+ if (line === undefined) {
47
+ const body = INDENT.repeat(Math.max(depth, 0));
48
+ line = { tokens: [], indent: starting ? body : body + CONTINUATION };
49
+ lines.set(token.span.line, line);
50
+ }
51
+ line.tokens.push(token);
52
+ starting = false;
53
+ }
54
+ return lines;
55
+ }
56
+ /** One code line as text: its indentation, then its tokens with their spacing. */
57
+ function printCode(file, line, shapes) {
58
+ let text = line.indent;
59
+ for (const [at, token] of line.tokens.entries()) {
60
+ const before = line.tokens[at - 1];
61
+ if (before !== undefined && spaceBetween(before, token, shapes))
62
+ text += ' ';
63
+ text += file.text.slice(token.span.offset, token.span.offset + token.span.length);
64
+ }
65
+ return text;
66
+ }
67
+ /** The indentation of the next line that carries a token, for a comment to take. */
68
+ function indentBelow(lines, from, last) {
69
+ for (let line = from + 1; line <= last; line += 1) {
70
+ const found = lines.get(line);
71
+ if (found !== undefined)
72
+ return found.indent;
73
+ }
74
+ return '';
75
+ }
76
+ /**
77
+ * Blank lines, as the canonical layout has them: never two in a row, never
78
+ * before the first line, and one line ending at the end of the file.
79
+ *
80
+ * A blank line between two paragraphs of a script is the writer's, and it is
81
+ * kept. A run of four is a file that has been edited for a year, and one of them
82
+ * says everything the four said.
83
+ */
84
+ function joinLines(printed) {
85
+ const kept = [];
86
+ for (const line of printed) {
87
+ if (line !== undefined) {
88
+ kept.push(line);
89
+ continue;
90
+ }
91
+ if (kept.length === 0 || kept[kept.length - 1] === '')
92
+ continue;
93
+ kept.push('');
94
+ }
95
+ while (kept.length > 0 && kept[kept.length - 1] === '')
96
+ kept.pop();
97
+ return kept.length === 0 ? '' : `${kept.join('\n')}\n`;
98
+ }
99
+ /**
100
+ * The whole file, laid out.
101
+ *
102
+ * The pieces are the covering scan, which is where the comments come from and
103
+ * where a line continuation backslash is found. A backslash is kept wherever it
104
+ * was written rather than worked out again: whether a statement needs one is the
105
+ * lexer's rule, and the file in front of this one has already been through the
106
+ * lexer with it in place.
107
+ */
108
+ export function layOut(file, tokens, pieces, shapes) {
109
+ const lines = codeLines(tokens);
110
+ const comments = new Map();
111
+ const continued = new Set();
112
+ for (const piece of pieces) {
113
+ if (piece.kind === 'comment')
114
+ comments.set(piece.span.line, piece.text.trimEnd());
115
+ else if (piece.kind === 'unknown' && piece.text === BACKSLASH)
116
+ continued.add(piece.span.line);
117
+ }
118
+ const printed = [];
119
+ for (let line = 1; line <= file.lineCount; line += 1) {
120
+ const code = lines.get(line);
121
+ const comment = comments.get(line);
122
+ if (code === undefined) {
123
+ printed.push(comment === undefined ? undefined : indentBelow(lines, line, file.lineCount) + comment);
124
+ continue;
125
+ }
126
+ let text = printCode(file, code, shapes);
127
+ if (continued.has(line))
128
+ text += ` ${BACKSLASH}`;
129
+ if (comment !== undefined)
130
+ text += BEFORE_COMMENT + comment;
131
+ printed.push(text);
132
+ }
133
+ return joinLines(printed);
134
+ }
135
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/editor/layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { LibraryEntry } from '../core/index.js';
2
+ /** One parameter of a call, with everything a writer is shown about it. */
3
+ export interface Parameter {
4
+ readonly name: string;
5
+ /** The type as the checker spells it: `series number`, `array<line>`. */
6
+ readonly type: string;
7
+ /** Whether the call is refused without it, which is OS3012. */
8
+ readonly required: boolean;
9
+ /**
10
+ * What an omitted argument resolves to, as the specification prints it.
11
+ *
12
+ * Nothing where the specification states no value: `spec/default-exceptions.json`
13
+ * records those and why each one has none, and a number invented to fill the
14
+ * gap would be the defect that file exists to keep out.
15
+ */
16
+ readonly defaultText: string | undefined;
17
+ /** The closed set of strings it accepts, where the library fixes one: OS3008. */
18
+ readonly values: readonly string[];
19
+ }
20
+ /** Every parameter of one signature, with the defaults from both homes. */
21
+ export declare function parametersOf(entry: LibraryEntry): readonly Parameter[];
22
+ /**
23
+ * One signature, written out the way the specification's tables write one.
24
+ *
25
+ * `ema(src: series number, len: number) -> series number`. The parameter names,
26
+ * the types and the defaults are the manifest's; nothing about the spelling is
27
+ * decided here except the punctuation between them.
28
+ */
29
+ export declare function signatureTextOf(entry: LibraryEntry): string;
30
+ /**
31
+ * The signature a half written call means, chosen by the rule that can be
32
+ * applied to a half written call.
33
+ *
34
+ * `stdlib.md` 2.2 resolves an overload by arity first and by argument type
35
+ * second, and the checker does exactly that. The second rule needs a type for
36
+ * every argument, which needs a tree, which a call that is still being typed has
37
+ * not got: `clear(` is two signatures until the argument arrives. So only the
38
+ * first rule is applied here, and where it leaves more than one candidate the
39
+ * first is taken, which is the order `stdlib.md` states them in.
40
+ *
41
+ * That is a narrowing of the checker's answer rather than a second opinion about
42
+ * it: the tooltip may show the array signature of `clear` while the writer meant
43
+ * the grid one, and the moment the argument is written the checker settles it
44
+ * and `diagnose` is what says so. It is recorded in `spec/editor-narrowings.json`.
45
+ */
46
+ export declare function entryAt(name: string, given: number): LibraryEntry | undefined;
47
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/editor/manifest.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,SAAS,EAAE,CAWtE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAO3D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAU7E"}