interaqt 0.1.0 → 0.2.1

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 (329) hide show
  1. package/agent/.claude/agents/code-generation-handler.md +598 -0
  2. package/agent/.claude/agents/computation-generation-handler.md +290 -0
  3. package/agent/.claude/agents/implement-design-handler.md +179 -0
  4. package/agent/.claude/agents/permission-generation-handler.md +202 -0
  5. package/agent/.claude/agents/requirements-analysis-handler-bak.md +530 -0
  6. package/agent/.claude/agents/requirements-analysis-handler.md +720 -0
  7. package/agent/.claude/settings.local.json +46 -0
  8. package/agent/CLAUDE.md +72 -0
  9. package/dist/index.js +10508 -4
  10. package/dist/index.js.map +1 -1
  11. package/dist/runtime/ComputationSourceMap.d.ts +117 -0
  12. package/dist/runtime/ComputationSourceMap.d.ts.map +1 -0
  13. package/dist/runtime/Controller.d.ts +37 -26
  14. package/dist/runtime/Controller.d.ts.map +1 -1
  15. package/dist/runtime/ExternalSynchronizer.d.ts +6 -0
  16. package/dist/runtime/ExternalSynchronizer.d.ts.map +1 -0
  17. package/dist/runtime/MonoSystem.d.ts +29 -17
  18. package/dist/runtime/MonoSystem.d.ts.map +1 -1
  19. package/dist/runtime/Mysql.d.ts +2 -2
  20. package/dist/runtime/PGLite.d.ts +35 -0
  21. package/dist/runtime/PGLite.d.ts.map +1 -0
  22. package/dist/runtime/PostgreSQL.d.ts +2 -2
  23. package/dist/runtime/SQLite.d.ts +3 -3
  24. package/dist/runtime/SQLite.d.ts.map +1 -1
  25. package/dist/runtime/Scheduler.d.ts +28 -61
  26. package/dist/runtime/Scheduler.d.ts.map +1 -1
  27. package/dist/runtime/System.d.ts +18 -224
  28. package/dist/runtime/System.d.ts.map +1 -1
  29. package/dist/runtime/{ActivityCall.d.ts → activity/ActivityCall.d.ts} +6 -7
  30. package/dist/runtime/activity/ActivityCall.d.ts.map +1 -0
  31. package/dist/runtime/activity/ActivityManager.d.ts +44 -0
  32. package/dist/runtime/activity/ActivityManager.d.ts.map +1 -0
  33. package/dist/runtime/{InteractionCall.d.ts → activity/InteractionCall.d.ts} +28 -41
  34. package/dist/runtime/activity/InteractionCall.d.ts.map +1 -0
  35. package/dist/runtime/computations/Any.d.ts +71 -0
  36. package/dist/runtime/computations/Any.d.ts.map +1 -0
  37. package/dist/runtime/computations/Average.d.ts +69 -0
  38. package/dist/runtime/computations/Average.d.ts.map +1 -0
  39. package/dist/runtime/computations/Computation.d.ts +138 -0
  40. package/dist/runtime/computations/Computation.d.ts.map +1 -0
  41. package/dist/runtime/computations/Count.d.ts +73 -0
  42. package/dist/runtime/computations/Count.d.ts.map +1 -0
  43. package/dist/runtime/computations/Custom.d.ts +45 -0
  44. package/dist/runtime/computations/Custom.d.ts.map +1 -0
  45. package/dist/runtime/computations/Every.d.ts +74 -0
  46. package/dist/runtime/computations/Every.d.ts.map +1 -0
  47. package/dist/runtime/computations/MathResolver.d.ts +60 -0
  48. package/dist/runtime/computations/MathResolver.d.ts.map +1 -0
  49. package/dist/runtime/computations/RealTime.d.ts +66 -0
  50. package/dist/runtime/computations/RealTime.d.ts.map +1 -0
  51. package/dist/runtime/{computedDataHandles → computations}/StateMachine.d.ts +31 -22
  52. package/dist/runtime/computations/StateMachine.d.ts.map +1 -0
  53. package/dist/runtime/computations/Summation.d.ts +66 -0
  54. package/dist/runtime/computations/Summation.d.ts.map +1 -0
  55. package/dist/runtime/computations/Transform.d.ts +29 -0
  56. package/dist/runtime/computations/Transform.d.ts.map +1 -0
  57. package/dist/runtime/computations/TransitionFinder.d.ts +11 -0
  58. package/dist/runtime/computations/TransitionFinder.d.ts.map +1 -0
  59. package/dist/runtime/computations/WeightedSummation.d.ts +71 -0
  60. package/dist/runtime/computations/WeightedSummation.d.ts.map +1 -0
  61. package/dist/runtime/computations/index.d.ts +22 -0
  62. package/dist/runtime/computations/index.d.ts.map +1 -0
  63. package/dist/runtime/errors/ActivityErrors.d.ts +40 -0
  64. package/dist/runtime/errors/ActivityErrors.d.ts.map +1 -0
  65. package/dist/runtime/errors/ComputationErrors.d.ts +61 -0
  66. package/dist/runtime/errors/ComputationErrors.d.ts.map +1 -0
  67. package/dist/runtime/errors/ConditionErrors.d.ts +33 -0
  68. package/dist/runtime/errors/ConditionErrors.d.ts.map +1 -0
  69. package/dist/runtime/errors/FrameworkError.d.ts +77 -0
  70. package/dist/runtime/errors/FrameworkError.d.ts.map +1 -0
  71. package/dist/runtime/errors/InteractionErrors.d.ts +21 -0
  72. package/dist/runtime/errors/InteractionErrors.d.ts.map +1 -0
  73. package/dist/runtime/errors/SystemErrors.d.ts +16 -0
  74. package/dist/runtime/errors/SystemErrors.d.ts.map +1 -0
  75. package/dist/runtime/errors/index.d.ts +37 -0
  76. package/dist/runtime/errors/index.d.ts.map +1 -0
  77. package/dist/runtime/index.d.ts +9 -7
  78. package/dist/runtime/index.d.ts.map +1 -1
  79. package/dist/shared/Action.d.ts +38 -0
  80. package/dist/shared/Action.d.ts.map +1 -0
  81. package/dist/shared/Activity.d.ts +178 -0
  82. package/dist/shared/Activity.d.ts.map +1 -0
  83. package/dist/shared/Any.d.ts +82 -0
  84. package/dist/shared/Any.d.ts.map +1 -0
  85. package/dist/shared/Attributive.d.ts +92 -0
  86. package/dist/shared/Attributive.d.ts.map +1 -0
  87. package/dist/shared/Average.d.ts +59 -0
  88. package/dist/shared/Average.d.ts.map +1 -0
  89. package/dist/shared/BoolExp.d.ts +139 -63
  90. package/dist/shared/BoolExp.d.ts.map +1 -1
  91. package/dist/shared/Computation.d.ts +23 -0
  92. package/dist/shared/Computation.d.ts.map +1 -0
  93. package/dist/shared/Condition.d.ts +43 -0
  94. package/dist/shared/Condition.d.ts.map +1 -0
  95. package/dist/shared/Conditions.d.ts +38 -0
  96. package/dist/shared/Conditions.d.ts.map +1 -0
  97. package/dist/shared/Count.d.ts +77 -0
  98. package/dist/shared/Count.d.ts.map +1 -0
  99. package/dist/shared/Custom.d.ts +108 -0
  100. package/dist/shared/Custom.d.ts.map +1 -0
  101. package/dist/shared/Data.d.ts +121 -0
  102. package/dist/shared/Data.d.ts.map +1 -0
  103. package/dist/shared/DataAttributives.d.ts +38 -0
  104. package/dist/shared/DataAttributives.d.ts.map +1 -0
  105. package/dist/shared/Entity.d.ts +96 -0
  106. package/dist/shared/Entity.d.ts.map +1 -0
  107. package/dist/shared/Event.d.ts +36 -0
  108. package/dist/shared/Event.d.ts.map +1 -0
  109. package/dist/shared/Every.d.ts +85 -0
  110. package/dist/shared/Every.d.ts.map +1 -0
  111. package/dist/shared/Gateway.d.ts +36 -0
  112. package/dist/shared/Gateway.d.ts.map +1 -0
  113. package/dist/shared/Interaction.d.ts +108 -0
  114. package/dist/shared/Interaction.d.ts.map +1 -0
  115. package/dist/shared/Payload.d.ts +39 -0
  116. package/dist/shared/Payload.d.ts.map +1 -0
  117. package/dist/shared/PayloadItem.d.ts +85 -0
  118. package/dist/shared/PayloadItem.d.ts.map +1 -0
  119. package/dist/shared/Property.d.ts +83 -0
  120. package/dist/shared/Property.d.ts.map +1 -0
  121. package/dist/shared/RealDictionary.d.ts +94 -0
  122. package/dist/shared/RealDictionary.d.ts.map +1 -0
  123. package/dist/shared/RealTime.d.ts +66 -0
  124. package/dist/shared/RealTime.d.ts.map +1 -0
  125. package/dist/shared/RefContainer.d.ts +89 -0
  126. package/dist/shared/RefContainer.d.ts.map +1 -0
  127. package/dist/shared/Relation.d.ts +140 -0
  128. package/dist/shared/Relation.d.ts.map +1 -0
  129. package/dist/shared/SideEffect.d.ts +45 -0
  130. package/dist/shared/SideEffect.d.ts.map +1 -0
  131. package/dist/shared/StateMachine.d.ts +55 -0
  132. package/dist/shared/StateMachine.d.ts.map +1 -0
  133. package/dist/shared/StateNode.d.ts +45 -0
  134. package/dist/shared/StateNode.d.ts.map +1 -0
  135. package/dist/shared/StateTransfer.d.ts +63 -0
  136. package/dist/shared/StateTransfer.d.ts.map +1 -0
  137. package/dist/shared/Summation.d.ts +59 -0
  138. package/dist/shared/Summation.d.ts.map +1 -0
  139. package/dist/shared/Transform.d.ts +54 -0
  140. package/dist/shared/Transform.d.ts.map +1 -0
  141. package/dist/shared/User.d.ts +10 -0
  142. package/dist/shared/User.d.ts.map +1 -0
  143. package/dist/shared/WeightedSummation.d.ts +82 -0
  144. package/dist/shared/WeightedSummation.d.ts.map +1 -0
  145. package/dist/shared/index.d.ts +35 -9
  146. package/dist/shared/index.d.ts.map +1 -1
  147. package/dist/shared/init.d.ts +3 -0
  148. package/dist/shared/init.d.ts.map +1 -0
  149. package/dist/shared/interfaces.d.ts +72 -0
  150. package/dist/shared/interfaces.d.ts.map +1 -0
  151. package/dist/shared/types.d.ts +77 -0
  152. package/dist/shared/types.d.ts.map +1 -0
  153. package/dist/shared/utils.d.ts +16 -10
  154. package/dist/shared/utils.d.ts.map +1 -1
  155. package/dist/storage/erstorage/AttributeInfo.d.ts +8 -3
  156. package/dist/storage/erstorage/AttributeInfo.d.ts.map +1 -1
  157. package/dist/storage/erstorage/AttributeQuery.d.ts +4 -3
  158. package/dist/storage/erstorage/AttributeQuery.d.ts.map +1 -1
  159. package/dist/storage/erstorage/EntityQueryHandle.d.ts +18 -17
  160. package/dist/storage/erstorage/EntityQueryHandle.d.ts.map +1 -1
  161. package/dist/storage/erstorage/EntityToTableMap.d.ts +27 -5
  162. package/dist/storage/erstorage/EntityToTableMap.d.ts.map +1 -1
  163. package/dist/storage/erstorage/FilteredEntityManager.d.ts +70 -0
  164. package/dist/storage/erstorage/FilteredEntityManager.d.ts.map +1 -0
  165. package/dist/storage/erstorage/LinkInfo.d.ts +10 -3
  166. package/dist/storage/erstorage/LinkInfo.d.ts.map +1 -1
  167. package/dist/storage/erstorage/MatchExp.d.ts +19 -9
  168. package/dist/storage/erstorage/MatchExp.d.ts.map +1 -1
  169. package/dist/storage/erstorage/MergedItemProcessor.d.ts +25 -0
  170. package/dist/storage/erstorage/MergedItemProcessor.d.ts.map +1 -0
  171. package/dist/storage/erstorage/Modifier.d.ts +1 -1
  172. package/dist/storage/erstorage/NewRecordData.d.ts +16 -9
  173. package/dist/storage/erstorage/NewRecordData.d.ts.map +1 -1
  174. package/dist/storage/erstorage/RecordInfo.d.ts +11 -2
  175. package/dist/storage/erstorage/RecordInfo.d.ts.map +1 -1
  176. package/dist/storage/erstorage/RecordQuery.d.ts +9 -8
  177. package/dist/storage/erstorage/RecordQuery.d.ts.map +1 -1
  178. package/dist/storage/erstorage/RecordQueryAgent.d.ts +26 -13
  179. package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -1
  180. package/dist/storage/erstorage/Setup.d.ts +49 -11
  181. package/dist/storage/erstorage/Setup.d.ts.map +1 -1
  182. package/dist/storage/erstorage/util.d.ts.map +1 -1
  183. package/package.json +44 -20
  184. package/README.md +0 -53
  185. package/dist/runtime/ActivityCall.d.ts.map +0 -1
  186. package/dist/runtime/ActivityCall.js +0 -379
  187. package/dist/runtime/ActivityCall.js.map +0 -1
  188. package/dist/runtime/Controller.js +0 -225
  189. package/dist/runtime/Controller.js.map +0 -1
  190. package/dist/runtime/InteractionCall.d.ts.map +0 -1
  191. package/dist/runtime/InteractionCall.js +0 -385
  192. package/dist/runtime/InteractionCall.js.map +0 -1
  193. package/dist/runtime/MonoSystem.js +0 -331
  194. package/dist/runtime/MonoSystem.js.map +0 -1
  195. package/dist/runtime/Mysql.js +0 -171
  196. package/dist/runtime/Mysql.js.map +0 -1
  197. package/dist/runtime/PostgreSQL.js +0 -172
  198. package/dist/runtime/PostgreSQL.js.map +0 -1
  199. package/dist/runtime/SQLite.js +0 -146
  200. package/dist/runtime/SQLite.js.map +0 -1
  201. package/dist/runtime/Scheduler.js +0 -457
  202. package/dist/runtime/Scheduler.js.map +0 -1
  203. package/dist/runtime/System.js +0 -90
  204. package/dist/runtime/System.js.map +0 -1
  205. package/dist/runtime/asyncInteractionContext.js +0 -3
  206. package/dist/runtime/asyncInteractionContext.js.map +0 -1
  207. package/dist/runtime/boolExpression.js +0 -43
  208. package/dist/runtime/boolExpression.js.map +0 -1
  209. package/dist/runtime/computedDataHandles/Any.d.ts +0 -52
  210. package/dist/runtime/computedDataHandles/Any.d.ts.map +0 -1
  211. package/dist/runtime/computedDataHandles/Any.js +0 -152
  212. package/dist/runtime/computedDataHandles/Any.js.map +0 -1
  213. package/dist/runtime/computedDataHandles/Computation.d.ts +0 -108
  214. package/dist/runtime/computedDataHandles/Computation.d.ts.map +0 -1
  215. package/dist/runtime/computedDataHandles/Computation.js +0 -49
  216. package/dist/runtime/computedDataHandles/Computation.js.map +0 -1
  217. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts +0 -42
  218. package/dist/runtime/computedDataHandles/ComputedDataHandle.d.ts.map +0 -1
  219. package/dist/runtime/computedDataHandles/ComputedDataHandle.js +0 -4
  220. package/dist/runtime/computedDataHandles/ComputedDataHandle.js.map +0 -1
  221. package/dist/runtime/computedDataHandles/Count.d.ts +0 -45
  222. package/dist/runtime/computedDataHandles/Count.d.ts.map +0 -1
  223. package/dist/runtime/computedDataHandles/Count.js +0 -85
  224. package/dist/runtime/computedDataHandles/Count.js.map +0 -1
  225. package/dist/runtime/computedDataHandles/Every.d.ts +0 -56
  226. package/dist/runtime/computedDataHandles/Every.d.ts.map +0 -1
  227. package/dist/runtime/computedDataHandles/Every.js +0 -178
  228. package/dist/runtime/computedDataHandles/Every.js.map +0 -1
  229. package/dist/runtime/computedDataHandles/StateMachine.d.ts.map +0 -1
  230. package/dist/runtime/computedDataHandles/StateMachine.js +0 -180
  231. package/dist/runtime/computedDataHandles/StateMachine.js.map +0 -1
  232. package/dist/runtime/computedDataHandles/Transform.d.ts +0 -26
  233. package/dist/runtime/computedDataHandles/Transform.d.ts.map +0 -1
  234. package/dist/runtime/computedDataHandles/Transform.js +0 -106
  235. package/dist/runtime/computedDataHandles/Transform.js.map +0 -1
  236. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts +0 -57
  237. package/dist/runtime/computedDataHandles/TransitionFinder.d.ts.map +0 -1
  238. package/dist/runtime/computedDataHandles/TransitionFinder.js +0 -40
  239. package/dist/runtime/computedDataHandles/TransitionFinder.js.map +0 -1
  240. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts +0 -57
  241. package/dist/runtime/computedDataHandles/WeightedSummation.d.ts.map +0 -1
  242. package/dist/runtime/computedDataHandles/WeightedSummation.js +0 -146
  243. package/dist/runtime/computedDataHandles/WeightedSummation.js.map +0 -1
  244. package/dist/runtime/computedDataHandles/index.d.ts +0 -7
  245. package/dist/runtime/computedDataHandles/index.d.ts.map +0 -1
  246. package/dist/runtime/computedDataHandles/index.js +0 -7
  247. package/dist/runtime/computedDataHandles/index.js.map +0 -1
  248. package/dist/runtime/index.js +0 -15
  249. package/dist/runtime/index.js.map +0 -1
  250. package/dist/runtime/server.d.ts +0 -35
  251. package/dist/runtime/server.d.ts.map +0 -1
  252. package/dist/runtime/server.js +0 -171
  253. package/dist/runtime/server.js.map +0 -1
  254. package/dist/runtime/types/boolExpression.js +0 -6
  255. package/dist/runtime/types/boolExpression.js.map +0 -1
  256. package/dist/runtime/util.js +0 -39
  257. package/dist/runtime/util.js.map +0 -1
  258. package/dist/shared/BoolExp.js +0 -252
  259. package/dist/shared/BoolExp.js.map +0 -1
  260. package/dist/shared/activity/Activity.d.ts +0 -465
  261. package/dist/shared/activity/Activity.d.ts.map +0 -1
  262. package/dist/shared/activity/Activity.js +0 -264
  263. package/dist/shared/activity/Activity.js.map +0 -1
  264. package/dist/shared/activity/Condition.d.ts +0 -75
  265. package/dist/shared/activity/Condition.d.ts.map +0 -1
  266. package/dist/shared/activity/Condition.js +0 -51
  267. package/dist/shared/activity/Condition.js.map +0 -1
  268. package/dist/shared/activity/Data.d.ts +0 -115
  269. package/dist/shared/activity/Data.d.ts.map +0 -1
  270. package/dist/shared/activity/Data.js +0 -89
  271. package/dist/shared/activity/Data.js.map +0 -1
  272. package/dist/shared/attributive.d.ts +0 -93
  273. package/dist/shared/attributive.d.ts.map +0 -1
  274. package/dist/shared/attributive.js +0 -59
  275. package/dist/shared/attributive.js.map +0 -1
  276. package/dist/shared/computed.d.ts +0 -607
  277. package/dist/shared/computed.d.ts.map +0 -1
  278. package/dist/shared/computed.js +0 -202
  279. package/dist/shared/computed.js.map +0 -1
  280. package/dist/shared/createClass.d.ts +0 -102
  281. package/dist/shared/createClass.d.ts.map +0 -1
  282. package/dist/shared/createClass.js +0 -276
  283. package/dist/shared/createClass.js.map +0 -1
  284. package/dist/shared/dictionary/Dictionary.d.ts +0 -40
  285. package/dist/shared/dictionary/Dictionary.d.ts.map +0 -1
  286. package/dist/shared/dictionary/Dictionary.js +0 -51
  287. package/dist/shared/dictionary/Dictionary.js.map +0 -1
  288. package/dist/shared/entity/Entity.d.ts +0 -149
  289. package/dist/shared/entity/Entity.d.ts.map +0 -1
  290. package/dist/shared/entity/Entity.js +0 -226
  291. package/dist/shared/entity/Entity.js.map +0 -1
  292. package/dist/shared/index.js +0 -11
  293. package/dist/shared/index.js.map +0 -1
  294. package/dist/shared/user/User.d.ts +0 -21
  295. package/dist/shared/user/User.d.ts.map +0 -1
  296. package/dist/shared/user/User.js +0 -11
  297. package/dist/shared/user/User.js.map +0 -1
  298. package/dist/shared/utils.js +0 -19
  299. package/dist/shared/utils.js.map +0 -1
  300. package/dist/storage/erstorage/AttributeInfo.js +0 -147
  301. package/dist/storage/erstorage/AttributeInfo.js.map +0 -1
  302. package/dist/storage/erstorage/AttributeQuery.js +0 -190
  303. package/dist/storage/erstorage/AttributeQuery.js.map +0 -1
  304. package/dist/storage/erstorage/EntityQueryHandle.js +0 -78
  305. package/dist/storage/erstorage/EntityQueryHandle.js.map +0 -1
  306. package/dist/storage/erstorage/EntityToTableMap.js +0 -262
  307. package/dist/storage/erstorage/EntityToTableMap.js.map +0 -1
  308. package/dist/storage/erstorage/LinkInfo.js +0 -89
  309. package/dist/storage/erstorage/LinkInfo.js.map +0 -1
  310. package/dist/storage/erstorage/MatchExp.js +0 -211
  311. package/dist/storage/erstorage/MatchExp.js.map +0 -1
  312. package/dist/storage/erstorage/Modifier.js +0 -24
  313. package/dist/storage/erstorage/Modifier.js.map +0 -1
  314. package/dist/storage/erstorage/NewRecordData.js +0 -178
  315. package/dist/storage/erstorage/NewRecordData.js.map +0 -1
  316. package/dist/storage/erstorage/RecordInfo.js +0 -111
  317. package/dist/storage/erstorage/RecordInfo.js.map +0 -1
  318. package/dist/storage/erstorage/RecordQuery.js +0 -158
  319. package/dist/storage/erstorage/RecordQuery.js.map +0 -1
  320. package/dist/storage/erstorage/RecordQueryAgent.js +0 -1130
  321. package/dist/storage/erstorage/RecordQueryAgent.js.map +0 -1
  322. package/dist/storage/erstorage/Setup.js +0 -400
  323. package/dist/storage/erstorage/Setup.js.map +0 -1
  324. package/dist/storage/erstorage/util.js +0 -25
  325. package/dist/storage/erstorage/util.js.map +0 -1
  326. package/dist/storage/index.js +0 -13
  327. package/dist/storage/index.js.map +0 -1
  328. package/dist/storage/utils.js +0 -48
  329. package/dist/storage/utils.js.map +0 -1
@@ -0,0 +1,69 @@
1
+ import { DataContext, PropertyDataContext, ComputationResult, DataBasedComputation, DataDep, RecordBoundState, GlobalBoundState } from './Computation.js';
2
+ import { Average, AverageInstance, RelationInstance, EntityInstance } from '../../shared';
3
+ import { Controller } from '../Controller.js';
4
+ import { EtityMutationEvent } from '../Scheduler.js';
5
+ import { AttributeQueryData } from '../../storage';
6
+ export declare class GlobalAverageHandle implements DataBasedComputation {
7
+ controller: Controller;
8
+ args: AverageInstance;
9
+ dataContext: DataContext;
10
+ static computationType: typeof Average;
11
+ static contextType: "global";
12
+ state: ReturnType<typeof this.createState>;
13
+ useLastValue: boolean;
14
+ dataDeps: {
15
+ [key: string]: DataDep;
16
+ };
17
+ record: (EntityInstance | RelationInstance);
18
+ avgFieldPath: string[];
19
+ constructor(controller: Controller, args: AverageInstance, dataContext: DataContext);
20
+ createState(): {
21
+ sum: GlobalBoundState<number>;
22
+ count: GlobalBoundState<number>;
23
+ itemValue: RecordBoundState<number>;
24
+ };
25
+ getDefaultValue(): number;
26
+ resolveAvgField(record: any, avgFieldPath?: string[]): any;
27
+ compute({ main: records }: {
28
+ main: any[];
29
+ }): Promise<number>;
30
+ incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
31
+ [key: string]: any;
32
+ }): Promise<number | ComputationResult>;
33
+ }
34
+ export declare class PropertyAverageHandle implements DataBasedComputation {
35
+ controller: Controller;
36
+ args: AverageInstance;
37
+ dataContext: PropertyDataContext;
38
+ static computationType: typeof Average;
39
+ static contextType: "property";
40
+ state: ReturnType<typeof this.createState>;
41
+ useLastValue: boolean;
42
+ dataDeps: {
43
+ [key: string]: DataDep;
44
+ };
45
+ relationAttr: string;
46
+ relatedRecordName: string;
47
+ isSource: boolean;
48
+ relation: RelationInstance;
49
+ property: string;
50
+ reverseProperty: string;
51
+ relationAttributeQuery: AttributeQueryData;
52
+ relatedAttributeQuery: AttributeQueryData;
53
+ avgFieldPath: string[];
54
+ constructor(controller: Controller, args: AverageInstance, dataContext: PropertyDataContext);
55
+ createState(): {
56
+ count: RecordBoundState<number>;
57
+ itemResult: RecordBoundState<number>;
58
+ };
59
+ getDefaultValue(): number;
60
+ resolveAvgField(record: any, avgFieldPath?: string[]): any;
61
+ compute({ _current }: {
62
+ _current: any;
63
+ }): Promise<number>;
64
+ incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
65
+ [key: string]: any;
66
+ }): Promise<number | ComputationResult>;
67
+ }
68
+ export declare const AverageHandles: (typeof GlobalAverageHandle | typeof PropertyAverageHandle)[];
69
+ //# sourceMappingURL=Average.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Average.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Average.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,138 @@
1
+ import { EntityInstance, RelationInstance, PropertyInstance, ActivityInstance, InteractionInstance, DictionaryInstance } from '../../shared';
2
+ import { Controller } from '../Controller';
3
+ import { AttributeQueryData, MatchExpressionData, ModifierData } from '../../storage';
4
+ export type GlobalDataContext = {
5
+ type: 'global';
6
+ id: string;
7
+ };
8
+ export type EntityDataContext = {
9
+ type: 'entity';
10
+ id: EntityInstance;
11
+ };
12
+ export type RelationDataContext = {
13
+ type: 'relation';
14
+ id: RelationInstance;
15
+ };
16
+ export type PropertyDataContext = {
17
+ type: 'property';
18
+ host: EntityInstance | RelationInstance;
19
+ id: PropertyInstance;
20
+ };
21
+ export type DataContext = GlobalDataContext | EntityDataContext | RelationDataContext | PropertyDataContext;
22
+ export type ComputedEffect = any;
23
+ export type ComputeEffectResult = ComputedEffect | ComputedEffect[] | undefined;
24
+ export type ComputationResultPatch = {
25
+ type: 'insert' | 'update' | 'delete';
26
+ data?: any;
27
+ affectedId?: any;
28
+ };
29
+ export declare class ComputationResult {
30
+ static skip: () => ComputationResultSkip;
31
+ static resolved: (result: any, args?: any) => ComputationResultResolved;
32
+ static async: (args?: any) => ComputationResultAsync;
33
+ static fullRecompute: (reason?: any) => ComputationResultFullRecompute;
34
+ }
35
+ export declare class ComputationResultSkip extends ComputationResult {
36
+ }
37
+ export declare class ComputationResultFullRecompute extends ComputationResult {
38
+ reason?: any | undefined;
39
+ constructor(reason?: any | undefined);
40
+ }
41
+ export declare class ComputationResultAsync extends ComputationResult {
42
+ args?: any | undefined;
43
+ constructor(args?: any | undefined);
44
+ }
45
+ export declare class ComputationResultResolved extends ComputationResult {
46
+ result: any;
47
+ args?: any | undefined;
48
+ constructor(result: any, args?: any | undefined);
49
+ }
50
+ export declare class RecordBoundState<T> {
51
+ defaultValue: any;
52
+ record?: string | undefined;
53
+ key: string;
54
+ controller: Controller;
55
+ constructor(defaultValue: any, record?: string | undefined);
56
+ set(record: any, value: any): Promise<T>;
57
+ get(record: any): Promise<T>;
58
+ }
59
+ export declare class GlobalBoundState<T> {
60
+ defaultValue?: any | undefined;
61
+ key: string;
62
+ controller: Controller;
63
+ constructor(defaultValue?: any | undefined);
64
+ set(value: any): Promise<T>;
65
+ get(): Promise<T>;
66
+ }
67
+ export type RecordsDataDep = {
68
+ type: 'records';
69
+ source: EntityInstance | RelationInstance | ActivityInstance | InteractionInstance;
70
+ match?: MatchExpressionData;
71
+ modifier?: ModifierData;
72
+ attributeQuery?: AttributeQueryData;
73
+ };
74
+ export type GlobalDataDep = {
75
+ type: 'global';
76
+ source: DictionaryInstance;
77
+ };
78
+ export type PropertyDataDep = {
79
+ type: 'property';
80
+ attributeQuery?: AttributeQueryData;
81
+ };
82
+ export type DictionaryDataDep = {
83
+ type: 'dict';
84
+ source: DictionaryInstance;
85
+ keys: string[];
86
+ };
87
+ export type DataDep = RecordsDataDep | PropertyDataDep | GlobalDataDep | DictionaryDataDep;
88
+ export interface DataBasedComputation {
89
+ dataContext: DataContext;
90
+ args: any;
91
+ state: {
92
+ [key: string]: RecordBoundState<any> | GlobalBoundState<any>;
93
+ };
94
+ compute: (...args: any[]) => Promise<ComputationResult | any>;
95
+ incrementalCompute?: (...args: any[]) => Promise<ComputationResult | any>;
96
+ incrementalPatchCompute?: (...args: any[]) => Promise<ComputationResult | ComputationResultPatch | ComputationResultPatch[] | undefined>;
97
+ createState?: (...args: any[]) => {
98
+ [key: string]: RecordBoundState<any> | GlobalBoundState<any>;
99
+ };
100
+ dataDeps: {
101
+ [key: string]: any;
102
+ };
103
+ getDefaultValue?: (...args: any[]) => any;
104
+ useLastValue?: boolean;
105
+ asyncReturn?: (...args: any[]) => Promise<ComputationResultSkip | any>;
106
+ }
107
+ export type InteractionEventDep = {
108
+ type: 'interaction';
109
+ interaction: InteractionInstance;
110
+ };
111
+ export type DataEventDep = {
112
+ type: 'data';
113
+ eventType?: 'create' | 'delete' | 'update';
114
+ dataDep: DataDep;
115
+ };
116
+ export type EventDep = InteractionEventDep | DataEventDep;
117
+ export interface EventBasedComputation {
118
+ dataContext: DataContext;
119
+ args: any;
120
+ state: {
121
+ [key: string]: RecordBoundState<any> | GlobalBoundState<any>;
122
+ };
123
+ incrementalCompute?: (...args: any[]) => Promise<ComputationResult | any>;
124
+ incrementalPatchCompute?: (...args: any[]) => Promise<ComputationResult | ComputationResultPatch | ComputationResultPatch[] | undefined>;
125
+ createState?: (...args: any[]) => {
126
+ [key: string]: RecordBoundState<any> | GlobalBoundState<any>;
127
+ };
128
+ eventDeps?: {
129
+ [key: string]: EventDep;
130
+ };
131
+ useLastValue?: boolean;
132
+ getDefaultValue?: (...args: any[]) => any;
133
+ computeDirtyRecords?: (...args: any[]) => Promise<any[] | undefined>;
134
+ asyncReturn?: (...args: any[]) => Promise<ComputationResultSkip | any>;
135
+ }
136
+ export type Computation = DataBasedComputation | EventBasedComputation;
137
+ export type ComputationClass = new (...args: any[]) => Computation;
138
+ //# sourceMappingURL=Computation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Computation.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Computation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { DataContext, PropertyDataContext, ComputationResult, DataBasedComputation, DataDep, GlobalBoundState, RecordBoundState } from './Computation.js';
2
+ import { Count, CountInstance, EntityInstance, RelationInstance } from '../../shared';
3
+ import { Controller } from '../Controller.js';
4
+ import { EtityMutationEvent } from '../Scheduler.js';
5
+ import { AttributeQueryData } from '../../storage';
6
+ export declare class GlobalCountHandle implements DataBasedComputation {
7
+ controller: Controller;
8
+ args: CountInstance;
9
+ dataContext: DataContext;
10
+ static computationType: typeof Count;
11
+ static contextType: "global";
12
+ callback: (this: Controller, item: any, dataDeps?: {
13
+ [key: string]: any;
14
+ }) => boolean;
15
+ state: ReturnType<typeof this.createState>;
16
+ useLastValue: boolean;
17
+ dataDeps: {
18
+ [key: string]: DataDep;
19
+ };
20
+ record: (EntityInstance | RelationInstance);
21
+ constructor(controller: Controller, args: CountInstance, dataContext: DataContext);
22
+ createState(): {
23
+ count: GlobalBoundState<number>;
24
+ isItemMatch: RecordBoundState<boolean>;
25
+ };
26
+ getDefaultValue(): number;
27
+ compute({ main: records, ...dataDeps }: {
28
+ main: any[];
29
+ [key: string]: any;
30
+ }): Promise<number>;
31
+ incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
32
+ [key: string]: any;
33
+ }): Promise<number | ComputationResult>;
34
+ }
35
+ type StateWithCallback = {
36
+ [k: string]: RecordBoundState<boolean>;
37
+ };
38
+ export declare class PropertyCountHandle implements DataBasedComputation {
39
+ controller: Controller;
40
+ args: CountInstance;
41
+ dataContext: PropertyDataContext;
42
+ static computationType: typeof Count;
43
+ static contextType: "property";
44
+ callback?: (this: Controller, item: any, dataDeps?: {
45
+ [key: string]: any;
46
+ }) => boolean;
47
+ state: ReturnType<typeof this.createState>;
48
+ useLastValue: boolean;
49
+ dataDeps: {
50
+ [key: string]: DataDep;
51
+ };
52
+ relationAttr: string;
53
+ relatedRecordName: string;
54
+ isSource: boolean;
55
+ relation: RelationInstance;
56
+ property: string;
57
+ reverseProperty: string;
58
+ relationAttributeQuery: AttributeQueryData;
59
+ relatedAttributeQuery: AttributeQueryData;
60
+ constructor(controller: Controller, args: CountInstance, dataContext: PropertyDataContext);
61
+ createState(): {} | StateWithCallback;
62
+ getDefaultValue(): number;
63
+ compute({ _current, ...dataDeps }: {
64
+ _current: any;
65
+ [key: string]: any;
66
+ }): Promise<number>;
67
+ incrementalCompute(lastValue: number, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
68
+ [key: string]: any;
69
+ }): Promise<number | ComputationResult>;
70
+ }
71
+ export declare const CountHandles: (typeof GlobalCountHandle | typeof PropertyCountHandle)[];
72
+ export {};
73
+ //# sourceMappingURL=Count.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Count.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Count.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { DataContext, PropertyDataContext, ComputationResult, ComputationResultPatch, DataBasedComputation, DataDep, RecordBoundState, GlobalBoundState } from './Computation.js';
2
+ import { Custom, CustomInstance } from '../../shared';
3
+ import { Controller } from '../Controller.js';
4
+ declare abstract class BaseCustomComputationHandle implements DataBasedComputation {
5
+ controller: Controller;
6
+ args: CustomInstance;
7
+ dataContext: DataContext;
8
+ static computationType: typeof Custom;
9
+ state: {
10
+ [key: string]: RecordBoundState<any> | GlobalBoundState<any>;
11
+ };
12
+ useLastValue: boolean;
13
+ dataDeps: {
14
+ [key: string]: DataDep;
15
+ };
16
+ computeCallback?: Function;
17
+ incrementalComputeCallback?: Function;
18
+ incrementalPatchComputeCallback?: Function;
19
+ createStateCallback?: Function;
20
+ getDefaultValueCallback?: Function;
21
+ asyncReturnCallback?: Function;
22
+ incrementalCompute?: (...args: any[]) => Promise<ComputationResult | any>;
23
+ incrementalPatchCompute?: (...args: any[]) => Promise<ComputationResult | ComputationResultPatch | ComputationResultPatch[] | undefined>;
24
+ asyncReturn?: (...args: any[]) => Promise<ComputationResult | any>;
25
+ constructor(controller: Controller, args: CustomInstance, dataContext: DataContext);
26
+ createState(): any;
27
+ getDefaultValue(): any;
28
+ compute(...args: any[]): Promise<ComputationResult | any>;
29
+ }
30
+ export declare class GlobalCustomHandle extends BaseCustomComputationHandle {
31
+ static contextType: "global";
32
+ }
33
+ export declare class EntityCustomHandle extends BaseCustomComputationHandle {
34
+ static contextType: "entity";
35
+ }
36
+ export declare class RelationCustomHandle extends BaseCustomComputationHandle {
37
+ static contextType: "relation";
38
+ }
39
+ export declare class PropertyCustomHandle extends BaseCustomComputationHandle {
40
+ static contextType: "property";
41
+ constructor(controller: Controller, args: CustomInstance, dataContext: PropertyDataContext);
42
+ }
43
+ export declare const CustomHandles: (typeof GlobalCustomHandle | typeof EntityCustomHandle | typeof RelationCustomHandle | typeof PropertyCustomHandle)[];
44
+ export {};
45
+ //# sourceMappingURL=Custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Custom.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Custom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAI1B,uBAAe,2BAA4B,YAAW,oBAAoB;IAkBrD,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,cAAc;IAAS,WAAW,EAAE,WAAW;IAjBvG,MAAM,CAAC,eAAe,gBAAS;IAE/B,KAAK,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;KAAC,CAAK;IACxE,YAAY,EAAE,OAAO,CAAA;IACrB,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAK;IAEvC,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,0BAA0B,CAAC,EAAE,QAAQ,CAAA;IACrC,+BAA+B,CAAC,EAAE,QAAQ,CAAA;IAC1C,mBAAmB,CAAC,EAAE,QAAQ,CAAA;IAC9B,uBAAuB,CAAC,EAAE,QAAQ,CAAA;IAClC,mBAAmB,CAAC,EAAE,QAAQ,CAAA;IAE9B,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAA;IACvE,uBAAuB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,sBAAsB,GAAC,sBAAsB,EAAE,GAAC,SAAS,CAAC,CAAA;IAClI,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAA;gBAE7C,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,cAAc,EAAS,WAAW,EAAE,WAAW;IA8FvG,WAAW;IAaX,eAAe;IAOT,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC;CAe9D;AAGD,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;CACvC;AAED,qBAAa,kBAAmB,SAAQ,2BAA2B;IACjE,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;CACvC;AAED,qBAAa,oBAAqB,SAAQ,2BAA2B;IACnE,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;CACzC;AAED,qBAAa,oBAAqB,SAAQ,2BAA2B;IACnE,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;gBAE5B,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB;CAU3F;AAGD,eAAO,MAAM,aAAa,uHAKzB,CAAA"}
@@ -0,0 +1,74 @@
1
+ import { PropertyDataContext, ComputationResult, DataBasedComputation, DataDep, GlobalBoundState, RecordBoundState, DataContext } from './Computation.js';
2
+ import { Every, EveryInstance, RelationInstance } from '../../shared';
3
+ import { Controller } from '../Controller.js';
4
+ import { EtityMutationEvent } from '../Scheduler.js';
5
+ import { AttributeQueryData } from '../../storage';
6
+ export declare class GlobalEveryHandle implements DataBasedComputation {
7
+ controller: Controller;
8
+ args: EveryInstance;
9
+ dataContext: DataContext;
10
+ static computationType: typeof Every;
11
+ static contextType: "global";
12
+ callback: (this: Controller, item: any, dataDeps?: {
13
+ [key: string]: any;
14
+ }) => boolean;
15
+ state: ReturnType<typeof this.createState>;
16
+ useLastValue: boolean;
17
+ dataDeps: {
18
+ [key: string]: DataDep;
19
+ };
20
+ defaultValue: boolean;
21
+ constructor(controller: Controller, args: EveryInstance, dataContext: DataContext);
22
+ createState(): {
23
+ matchCount: GlobalBoundState<number>;
24
+ totalCount: GlobalBoundState<number>;
25
+ isItemMatch: RecordBoundState<boolean>;
26
+ };
27
+ getDefaultValue(): boolean;
28
+ compute({ main: records, ...dataDeps }: {
29
+ main: any[];
30
+ [key: string]: any;
31
+ }): Promise<boolean>;
32
+ incrementalCompute(lastValue: boolean, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
33
+ [key: string]: any;
34
+ }): Promise<boolean | ComputationResult>;
35
+ }
36
+ export declare class PropertyEveryHandle implements DataBasedComputation {
37
+ controller: Controller;
38
+ args: EveryInstance;
39
+ dataContext: PropertyDataContext;
40
+ static computationType: typeof Every;
41
+ static contextType: "property";
42
+ callback: (this: Controller, item: any, dataDeps?: {
43
+ [key: string]: any;
44
+ }) => boolean;
45
+ state: ReturnType<typeof this.createState>;
46
+ useLastValue: boolean;
47
+ dataDeps: {
48
+ [key: string]: DataDep;
49
+ };
50
+ relationAttr: string;
51
+ relation: RelationInstance;
52
+ relatedRecordName: string;
53
+ property: string;
54
+ reverseProperty: string;
55
+ isSource: boolean;
56
+ relationAttributeQuery: AttributeQueryData;
57
+ relatedAttributeQuery: AttributeQueryData;
58
+ constructor(controller: Controller, args: EveryInstance, dataContext: PropertyDataContext);
59
+ createState(): {
60
+ matchCount: RecordBoundState<number>;
61
+ totalCount: RecordBoundState<number>;
62
+ isItemMatch: RecordBoundState<boolean>;
63
+ };
64
+ getDefaultValue(): boolean;
65
+ compute({ _current, ...dataDeps }: {
66
+ _current: any;
67
+ [key: string]: any;
68
+ }): Promise<boolean>;
69
+ incrementalCompute(lastValue: boolean, mutationEvent: EtityMutationEvent, record: any, dataDeps: {
70
+ [key: string]: any;
71
+ }): Promise<boolean | ComputationResult>;
72
+ }
73
+ export declare const EveryHandles: (typeof GlobalEveryHandle | typeof PropertyEveryHandle)[];
74
+ //# sourceMappingURL=Every.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Every.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/Every.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ interface Variable {
2
+ id: string;
3
+ value?: number;
4
+ }
5
+ type ExpressionType = 'number' | 'variable' | 'operation';
6
+ interface ExpressionNode {
7
+ type: ExpressionType;
8
+ value?: number;
9
+ variable?: Variable;
10
+ operation?: string;
11
+ left?: ExpressionNode;
12
+ right?: ExpressionNode;
13
+ }
14
+ interface LinearTerm {
15
+ coefficient: number;
16
+ power: number;
17
+ constant: number;
18
+ }
19
+ export declare class Expression {
20
+ private node;
21
+ constructor(node: ExpressionNode);
22
+ static number(value: number): Expression;
23
+ static variable(id: string): Expression;
24
+ add(other: Expression | number): Expression;
25
+ subtract(other: Expression | number): Expression;
26
+ multiply(other: Expression | number): Expression;
27
+ divide(other: Expression | number): Expression;
28
+ power(other: Expression | number): Expression;
29
+ sqrt(): Expression;
30
+ evaluate(variables?: Record<string, number>): number;
31
+ private evaluateNode;
32
+ gt(other: Expression | number): Inequality;
33
+ lt(other: Expression | number): Inequality;
34
+ eq(other: Expression | number): Equation;
35
+ getVariables(): string[];
36
+ private collectVariables;
37
+ clone(): Expression;
38
+ private cloneNode;
39
+ getLinearForm(variable: string): LinearTerm;
40
+ private extractLinearForm;
41
+ }
42
+ export declare class Inequality {
43
+ private left;
44
+ private operator;
45
+ private right;
46
+ constructor(left: Expression, operator: '>' | '<', right: Expression | number);
47
+ evaluate(variables?: Record<string, number>): boolean;
48
+ solve(): number | null;
49
+ private solveForVariable;
50
+ }
51
+ export declare class Equation {
52
+ private left;
53
+ private right;
54
+ constructor(left: Expression, right: Expression | number);
55
+ evaluate(variables?: Record<string, number>): boolean;
56
+ solve(): number | null;
57
+ private solveForVariable;
58
+ }
59
+ export {};
60
+ //# sourceMappingURL=MathResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MathResolver.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/MathResolver.ts"],"names":[],"mappings":"AAAA,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1D,UAAU,cAAc;IACtB,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAAiB;gBAEjB,IAAI,EAAE,cAAc;IAIhC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAIxC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAIvC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAa3C,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAahD,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAahD,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAa9C,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAa7C,IAAI,IAAI,UAAU;IAQlB,QAAQ,CAAC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,MAAM;IAIxD,OAAO,CAAC,YAAY;IAiCpB,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAI1C,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU;IAI1C,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ;IAIxC,YAAY,IAAI,MAAM,EAAE;IAMxB,OAAO,CAAC,gBAAgB;IASxB,KAAK,IAAI,UAAU;IAInB,OAAO,CAAC,SAAS;IAYjB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU;IAI3C,OAAO,CAAC,iBAAiB;CAsG1B;AAED,qBAAa,UAAU;IAEnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,KAAK;gBAFL,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,GAAG,GAAG,GAAG,EACnB,KAAK,EAAE,UAAU,GAAG,MAAM;IAGpC,QAAQ,CAAC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO;IASzD,KAAK,IAAI,MAAM,GAAG,IAAI;IAiBtB,OAAO,CAAC,gBAAgB;CAoCzB;AAED,qBAAa,QAAQ;IAEjB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,KAAK;gBADL,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,UAAU,GAAG,MAAM;IAGpC,QAAQ,CAAC,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO;IASzD,KAAK,IAAI,MAAM,GAAG,IAAI;IAiBtB,OAAO,CAAC,gBAAgB;CAyCzB"}
@@ -0,0 +1,66 @@
1
+ import { RealTime, RealTimeInstance } from '../../shared';
2
+ import { Controller } from '../Controller';
3
+ import { ComputationResultPatch, ComputationResult, DataBasedComputation, RecordBoundState, GlobalBoundState } from './Computation';
4
+ import { DataContext } from './Computation.js';
5
+ import { Equation, Expression, Inequality } from './MathResolver';
6
+ export declare class GlobalRealTimeComputation implements DataBasedComputation {
7
+ controller: Controller;
8
+ args: RealTimeInstance;
9
+ dataContext: DataContext;
10
+ static computationType: typeof RealTime;
11
+ static contextType: "global";
12
+ state: ReturnType<typeof this.createState>;
13
+ incrementalCompute?: (...args: any[]) => Promise<ComputationResult | any>;
14
+ incrementalPatchCompute?: (...args: any[]) => Promise<ComputationResult | ComputationResultPatch | ComputationResultPatch[] | undefined>;
15
+ dataDeps: {
16
+ [key: string]: any;
17
+ };
18
+ useLastValue: boolean;
19
+ callback: (now: Expression, dataDeps: {
20
+ [key: string]: any;
21
+ }) => Promise<Expression | Inequality | Equation>;
22
+ nextRecomputeTime?: (now: number, dataDeps: {
23
+ [key: string]: any;
24
+ }) => number;
25
+ constructor(controller: Controller, args: RealTimeInstance, dataContext: DataContext);
26
+ createState(): {
27
+ lastRecomputeTime: GlobalBoundState<number>;
28
+ nextRecomputeTime: GlobalBoundState<number>;
29
+ };
30
+ getDefaultValue(): null;
31
+ compute(dataDeps: {
32
+ [key: string]: any;
33
+ }): Promise<number | boolean>;
34
+ }
35
+ export declare class PropertyRealTimeComputation implements DataBasedComputation {
36
+ controller: Controller;
37
+ args: RealTimeInstance;
38
+ dataContext: DataContext;
39
+ static computationType: typeof RealTime;
40
+ static contextType: "property";
41
+ state: ReturnType<typeof this.createState>;
42
+ incrementalCompute?: (...args: any[]) => Promise<ComputationResult | any>;
43
+ incrementalPatchCompute?: (...args: any[]) => Promise<ComputationResult | ComputationResultPatch | ComputationResultPatch[] | undefined>;
44
+ dataDeps: {
45
+ [key: string]: any;
46
+ };
47
+ useLastValue: boolean;
48
+ callback: (now: Expression, dataDeps: {
49
+ [key: string]: any;
50
+ }) => Promise<Expression | Inequality | Equation>;
51
+ nextRecomputeTime?: (now: number, dataDeps: {
52
+ [key: string]: any;
53
+ }) => number;
54
+ isResultNumber: boolean;
55
+ constructor(controller: Controller, args: RealTimeInstance, dataContext: DataContext);
56
+ createState(): {
57
+ lastRecomputeTime: RecordBoundState<number>;
58
+ nextRecomputeTime: RecordBoundState<number>;
59
+ };
60
+ getDefaultValue(): number;
61
+ compute(dataDeps: {
62
+ [key: string]: any;
63
+ }, record: any): Promise<number | boolean>;
64
+ }
65
+ export declare const RealTimeHandles: (typeof GlobalRealTimeComputation | typeof PropertyRealTimeComputation)[];
66
+ //# sourceMappingURL=RealTime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealTime.d.ts","sourceRoot":"","sources":["../../../src/runtime/computations/RealTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACpI,OAAO,EAAE,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAElE,qBAAa,yBAA0B,YAAW,oBAAoB;IAY/C,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,gBAAgB;IAAS,WAAW,EAAE,WAAW;IAXzG,MAAM,CAAC,eAAe,kBAAW;IACjC,MAAM,CAAC,WAAW,EAAG,QAAQ,CAAS;IACtC,KAAK,EAAG,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAC;IACxE,uBAAuB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,sBAAsB,GAAC,sBAAsB,EAAE,GAAC,SAAS,CAAC,CAAC;IAEnI,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;IAC9B,YAAY,UAAS;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,KAAK,OAAO,CAAC,UAAU,GAAC,UAAU,GAAC,QAAQ,CAAC,CAAA;IACtG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,KAAK,MAAM,CAAA;gBAExD,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,gBAAgB,EAAS,WAAW,EAAE,WAAW;IAUzG,WAAW;;;;IAOX,eAAe;IAKT,OAAO,CAAC,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,GAAI,OAAO,CAAC,MAAM,GAAC,OAAO,CAAC;CAqB1E;AAED,qBAAa,2BAA4B,YAAW,oBAAoB;IAYjD,UAAU,EAAE,UAAU;IAAS,IAAI,EAAE,gBAAgB;IAAS,WAAW,EAAE,WAAW;IAXzG,MAAM,CAAC,eAAe,kBAAW;IACjC,MAAM,CAAC,WAAW,EAAG,UAAU,CAAS;IACxC,KAAK,EAAG,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3C,kBAAkB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,GAAG,CAAC,CAAC;IACxE,uBAAuB,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,iBAAiB,GAAC,sBAAsB,GAAC,sBAAsB,EAAE,GAAC,SAAS,CAAC,CAAC;IAEnI,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAA;IAC9B,YAAY,UAAS;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,KAAK,OAAO,CAAC,UAAU,GAAC,UAAU,GAAC,QAAQ,CAAC,CAAA;IACtG,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,KAAK,MAAM,CAAA;IAC3E,cAAc,EAAE,OAAO,CAAA;gBACJ,UAAU,EAAE,UAAU,EAAS,IAAI,EAAE,gBAAgB,EAAS,WAAW,EAAE,WAAW;IAiBzG,WAAW;;;;IAOX,eAAe;IAKT,OAAO,CAAC,QAAQ,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,EAAE,MAAM,EAAE,GAAG,GAAI,OAAO,CAAC,MAAM,GAAC,OAAO,CAAC;CAqBvF;AAGD,eAAO,MAAM,eAAe,2EAA2D,CAAC"}