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
@@ -1,147 +0,0 @@
1
- import { assert } from "../utils.js";
2
- export class AttributeInfo {
3
- constructor(parentEntityName, attributeName, map, symmetricDirection) {
4
- this.parentEntityName = parentEntityName;
5
- this.attributeName = attributeName;
6
- this.map = map;
7
- this.symmetricDirection = symmetricDirection;
8
- this.data = this.map.getAttributeData(parentEntityName, attributeName);
9
- assert(!!this.data, `${parentEntityName} has no attribute: ${attributeName}`);
10
- }
11
- get isRecord() {
12
- return this.data.isRecord;
13
- }
14
- get isValue() {
15
- return !this.data.isRecord;
16
- }
17
- get isCollection() {
18
- return this.isValue && this.data.collection;
19
- }
20
- get isComputed() {
21
- return this.isValue && this.data.computed;
22
- }
23
- get fieldType() {
24
- if (this.isRecord)
25
- throw new Error('not a value attribute');
26
- return this.data.fieldType;
27
- }
28
- get computed() {
29
- if (!this.isComputed)
30
- throw new Error('not a computed attribute');
31
- return this.data.computed;
32
- }
33
- get isManyToOne() {
34
- if (!this.isRecord)
35
- throw new Error('not a entity');
36
- const data = this.data;
37
- return data.relType[0] === 'n' && data.relType[1] === '1';
38
- }
39
- get isManyToMany() {
40
- if (!this.isRecord)
41
- throw new Error('not a entity');
42
- const data = this.data;
43
- return data.relType[0] === 'n' && data.relType[1] === 'n';
44
- }
45
- get isOneToOne() {
46
- if (!this.isRecord)
47
- throw new Error('not a entity');
48
- const data = this.data;
49
- return data.relType[0] === '1' && data.relType[1] === '1';
50
- }
51
- get isOneToMany() {
52
- if (!this.isRecord)
53
- throw new Error('not a entity');
54
- const data = this.data;
55
- return data.relType[0] === '1' && data.relType[1] === 'n';
56
- }
57
- get isXToOne() {
58
- return this.isManyToOne || this.isOneToOne;
59
- }
60
- get isOneToX() {
61
- return this.isOneToMany || this.isOneToOne;
62
- }
63
- get isXToMany() {
64
- return this.isManyToMany || this.isOneToMany;
65
- }
66
- get isReliance() {
67
- return this.data.isReliance;
68
- }
69
- get recordName() {
70
- assert(this.isRecord, `${this.attributeName} is not a entity`);
71
- return this.data.recordName;
72
- }
73
- get table() {
74
- assert(this.isRecord, `${this.attributeName} is not a entity`);
75
- return this.map.getRecord(this.data.recordName).table;
76
- }
77
- // FIXME 改好
78
- get field() {
79
- if (this.isValue) {
80
- return this.data.field;
81
- }
82
- else {
83
- if (this.isManyToOne && this.isLinkMergedWithParent()) {
84
- if (this.data.field)
85
- return this.data.field;
86
- const linkInfoRecord = this.getLinkInfo().record;
87
- return this.isRecordSource() ? linkInfoRecord.attributes.target.field : linkInfoRecord.attributes.source.field;
88
- }
89
- }
90
- }
91
- get linkField() {
92
- if (this.isRecord && this.isLinkMergedWithParent()) {
93
- // 如果parent 是 linkRecord, source/target 这样的 field 就是 attribute 上面在管。
94
- if (this.data.field)
95
- return this.data.field;
96
- const linkInfoRecord = this.getLinkInfo().record;
97
- return this.isRecordSource() ? linkInfoRecord?.attributes.target.field : linkInfoRecord?.attributes.source.field;
98
- }
99
- }
100
- get linkName() {
101
- return this.data.linkName;
102
- }
103
- isMergedWithParent() {
104
- return this.getLinkInfo().isCombined();
105
- }
106
- isLinkMergedWithParent() {
107
- const linkInfo = this.getLinkInfo();
108
- return linkInfo.isRelationSource(this.parentEntityName, this.attributeName) ? linkInfo.isMergedToSource() : linkInfo.isMergedToTarget();
109
- }
110
- isLinkMergedWithAttribute() {
111
- const linkInfo = this.getLinkInfo();
112
- return linkInfo.isRelationSource(this.parentEntityName, this.attributeName) ? linkInfo.isMergedToTarget() : linkInfo.isMergedToSource();
113
- }
114
- isLinkIsolated() {
115
- const linkInfo = this.getLinkInfo();
116
- return linkInfo.isIsolated();
117
- }
118
- isRecordSource() {
119
- return this.getLinkInfo().isRelationSource(this.parentEntityName, this.attributeName);
120
- }
121
- isLinkManyToManySymmetric() {
122
- const linkInfo = this.getLinkInfo();
123
- return linkInfo.isManyToMany && linkInfo.isSymmetric();
124
- }
125
- isLinkSourceRelation() {
126
- const linkInfo = this.getLinkInfo();
127
- return linkInfo.isSourceRelation();
128
- }
129
- getReverseInfo() {
130
- const reverseAttribute = this.map.getReverseAttribute(this.parentEntityName, this.attributeName);
131
- if (!reverseAttribute)
132
- return undefined;
133
- return this.map.getInfo(this.recordName, reverseAttribute);
134
- }
135
- getLinkInfo() {
136
- assert(this.isRecord, `only record attribute can get linkInfo`);
137
- return this.map.getLinkInfo(this.parentEntityName, this.attributeName);
138
- }
139
- getRecordInfo() {
140
- assert(this.isRecord, `only record attribute can get linkInfo`);
141
- return this.map.getRecordInfo(this.recordName);
142
- }
143
- getAttribute(name) {
144
- return this.map.getInfo(this.recordName, name);
145
- }
146
- }
147
- //# sourceMappingURL=AttributeInfo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AttributeInfo.js","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeInfo.ts"],"names":[],"mappings":"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"}
@@ -1,190 +0,0 @@
1
- import { assert } from "../utils.js";
2
- import { ALL_ATTR_SYMBOL, LINK_SYMBOL, RecordQuery, RecordQueryTree } from "./RecordQuery.js";
3
- export class AttributeQuery {
4
- static getAttributeQueryDataForRecord(recordName, map, includeSameTableReliance = false, includeMergedRecordAttribute = false, includeManagedRecordAttributes = false, // link record 的 source/target 字段
5
- includeNotRelianceCombined = false) {
6
- const result = map.getRecordInfo(recordName).valueAttributes.map(info => info.attributeName);
7
- const recordInfo = map.getRecordInfo(recordName);
8
- // FIXME 再想想以下几个参数的递归查询,特别是关系上的数据。
9
- if (includeSameTableReliance) {
10
- recordInfo.sameTableReliance.forEach(info => {
11
- const relianceAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.recordName, map, true, includeMergedRecordAttribute);
12
- const attributeQueryItem = [
13
- info.attributeName,
14
- {
15
- attributeQuery: [...relianceAttributeQueryData]
16
- }
17
- ];
18
- if (!recordInfo.isRelation) {
19
- const relianceRelationAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.linkName, map, true, includeMergedRecordAttribute);
20
- attributeQueryItem[1].attributeQuery.push([LINK_SYMBOL, { attributeQuery: relianceRelationAttributeQueryData }]);
21
- }
22
- result.push(attributeQueryItem);
23
- });
24
- }
25
- if (includeNotRelianceCombined) {
26
- recordInfo.notRelianceCombined.forEach(info => {
27
- // const relianceAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.recordName, map, true, includeMergedRecordAttribute, true)
28
- // const relianceRelationAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.linkName, map, true, includeMergedRecordAttribute, true)
29
- // result.push(
30
- // [
31
- // info.attributeName,
32
- // {
33
- // attributeQuery: [...relianceAttributeQueryData, [LINK_SYMBOL, { attributeQuery: relianceRelationAttributeQueryData }]]
34
- // }
35
- // ]
36
- // )
37
- const relianceAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.recordName, map, true, includeMergedRecordAttribute);
38
- const attributeQueryItem = [
39
- info.attributeName,
40
- {
41
- attributeQuery: [...relianceAttributeQueryData]
42
- }
43
- ];
44
- if (!recordInfo.isRelation) {
45
- const relianceRelationAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.linkName, map, true, includeMergedRecordAttribute);
46
- attributeQueryItem[1].attributeQuery.push([LINK_SYMBOL, { attributeQuery: relianceRelationAttributeQueryData }]);
47
- }
48
- result.push(attributeQueryItem);
49
- });
50
- }
51
- if (includeMergedRecordAttribute) {
52
- recordInfo.mergedRecordAttributes.forEach(info => {
53
- const relianceRelationAttributeQueryData = AttributeQuery.getAttributeQueryDataForRecord(info.linkName, map, includeSameTableReliance, true);
54
- result.push([
55
- info.attributeName,
56
- {
57
- attributeQuery: ['id', [LINK_SYMBOL, { attributeQuery: relianceRelationAttributeQueryData }]]
58
- }
59
- ]);
60
- });
61
- }
62
- // link record 的 source/target 字段
63
- if (includeManagedRecordAttributes) {
64
- recordInfo.managedRecordAttributes.forEach(info => {
65
- result.push([
66
- info.attributeName,
67
- {
68
- attributeQuery: ['id']
69
- }
70
- ]);
71
- });
72
- }
73
- return result;
74
- }
75
- constructor(recordName, map, data = [], parentRecord, attributeName, shouldQueryParentLinkData) {
76
- this.recordName = recordName;
77
- this.map = map;
78
- this.data = data;
79
- this.parentRecord = parentRecord;
80
- this.attributeName = attributeName;
81
- this.shouldQueryParentLinkData = shouldQueryParentLinkData;
82
- this.relatedRecords = [];
83
- this.xToManyRecords = [];
84
- this.xToOneRecords = [];
85
- this.valueAttributes = [];
86
- this.id = Math.random();
87
- let valueAttributesSet = new Set();
88
- data.forEach((rawItem) => {
89
- const item = (typeof rawItem === 'string' ? [rawItem, {}, false] : rawItem);
90
- const [attributeName, subQueryData, onlyRelationData] = item;
91
- if (attributeName === LINK_SYMBOL) {
92
- assert(!!(this.parentRecord && this.attributeName), `${this.parentRecord} ${this.attributeName} cannot be empty when query link data`);
93
- const info = this.map.getInfo(this.parentRecord, this.attributeName);
94
- this.parentLinkRecordQuery = RecordQuery.create(info.linkName, this.map, subQueryData, undefined);
95
- return;
96
- }
97
- if (attributeName === ALL_ATTR_SYMBOL) {
98
- valueAttributesSet = new Set(this.map.getRecordInfo(this.recordName).valueAttributes.map(info => info.attributeName));
99
- return;
100
- }
101
- const attributeInfo = this.map.getInfo(this.recordName, attributeName);
102
- if (attributeInfo.isRecord) {
103
- const relatedEntity = RecordQuery.create(attributeInfo.recordName, this.map, subQueryData, undefined, this.recordName, attributeName, onlyRelationData);
104
- this.relatedRecords.push(relatedEntity);
105
- if (attributeInfo.isXToMany) {
106
- this.xToManyRecords.push(relatedEntity);
107
- }
108
- else if (attributeInfo.isXToOne) {
109
- this.xToOneRecords.push(relatedEntity);
110
- }
111
- }
112
- else {
113
- valueAttributesSet.add(attributeName);
114
- }
115
- });
116
- this.valueAttributes = Array.from(valueAttributesSet);
117
- // this.xToOneQueryTree = this.buildXToOneQueryTree()
118
- this.fullQueryTree = this.buildFullQueryTree();
119
- }
120
- getValueAndXToOneRecordFields(nameContext = [this.recordName]) {
121
- const queryAttributes = this.valueAttributes.includes('id') ? this.valueAttributes : ['id'].concat(this.valueAttributes);
122
- const queryFields = queryAttributes.map(attributeName => {
123
- return {
124
- tableAliasAndField: this.map.getTableAliasAndFieldName(nameContext, attributeName).slice(0, 2),
125
- nameContext,
126
- attribute: attributeName
127
- };
128
- });
129
- this.xToOneRecords.forEach((recordQuery) => {
130
- const namePath = nameContext.concat(recordQuery.attributeName);
131
- queryFields.push(...recordQuery.attributeQuery.getValueAndXToOneRecordFields(namePath));
132
- if (recordQuery.attributeQuery.parentLinkRecordQuery) {
133
- queryFields.push(...recordQuery.attributeQuery.parentLinkRecordQuery.attributeQuery.getValueAndXToOneRecordFields(namePath.concat(LINK_SYMBOL)));
134
- }
135
- });
136
- if (this.shouldQueryParentLinkData && this.parentLinkRecordQuery) {
137
- const reverseAttribute = this.map.getInfo(this.parentRecord, this.attributeName).getReverseInfo()?.attributeName;
138
- const namePath = nameContext.concat(reverseAttribute, LINK_SYMBOL);
139
- const symmetricLinkPaths = this.map.spawnManyToManySymmetricPath(namePath);
140
- if (!symmetricLinkPaths) {
141
- queryFields.push(...this.parentLinkRecordQuery.attributeQuery.getValueAndXToOneRecordFields(namePath));
142
- }
143
- else {
144
- queryFields.push(...this.parentLinkRecordQuery.attributeQuery.getValueAndXToOneRecordFields(symmetricLinkPaths[0]), ...this.parentLinkRecordQuery.attributeQuery.getValueAndXToOneRecordFields(symmetricLinkPaths[1]));
145
- }
146
- }
147
- // xToMany 的 onlyRelationData 一起查,这是父亲在处理 findRelatedRecords 的时候传过来的。
148
- return queryFields;
149
- }
150
- get xToOneQueryTree() {
151
- return this.buildXToOneQueryTree();
152
- }
153
- buildXToOneQueryTree() {
154
- // FIXME 过滤掉 x:1 中递归地情况。
155
- const result = new RecordQueryTree(this.recordName, this.map, this.parentRecord, this.attributeName);
156
- this.data.forEach(i => {
157
- if (!Array.isArray(i)) {
158
- result.addField([i]);
159
- }
160
- });
161
- // CAUTION 我们这里只管 xToOne 的情况,因为 xToMany 都是外部用 id 去做二次查询得到的。不是用 join 语句一次性得到的。
162
- this.xToOneRecords.forEach((recordQuery) => {
163
- // CAUTION 注意要排除掉 goto 递归的情况。递归肯定无法一次 join 查出,不管是什么关系。
164
- if (!recordQuery.goto) {
165
- result.addRecord([recordQuery.attributeName], recordQuery.attributeQuery.xToOneQueryTree);
166
- }
167
- });
168
- if (this.shouldQueryParentLinkData && this.parentLinkRecordQuery) {
169
- // link 也可能使用递归,所以也要排除掉。
170
- if (!this.parentLinkRecordQuery.goto) {
171
- const reverseInfo = this.map.getInfo(this.parentRecord, this.attributeName).getReverseInfo();
172
- result.addRecord([reverseInfo?.attributeName, LINK_SYMBOL], this.parentLinkRecordQuery.attributeQuery.xToOneQueryTree);
173
- }
174
- }
175
- return result;
176
- }
177
- buildFullQueryTree() {
178
- const result = new RecordQueryTree(this.recordName, this.map, this.parentRecord, this.attributeName);
179
- this.relatedRecords.forEach((entityQuery) => {
180
- result.addRecord([entityQuery.attributeName], entityQuery.attributeQuery.fullQueryTree);
181
- });
182
- return result;
183
- }
184
- withParentLinkData() {
185
- if (!this.parentLinkRecordQuery)
186
- return this;
187
- return new AttributeQuery(this.recordName, this.map, this.data, this.parentRecord, this.attributeName, true);
188
- }
189
- }
190
- //# sourceMappingURL=AttributeQuery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AttributeQuery.js","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeQuery.ts"],"names":[],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- import { MatchExp } from "./MatchExp.js";
2
- import { assert } from "../utils.js";
3
- import { RecordQuery } from "./RecordQuery.js";
4
- import { NewRecordData } from "./NewRecordData.js";
5
- import { RecordQueryAgent } from "./RecordQueryAgent.js";
6
- export class EntityQueryHandle {
7
- constructor(map, database) {
8
- this.map = map;
9
- this.database = database;
10
- this.agent = new RecordQueryAgent(map, database);
11
- }
12
- async findOne(entityName, matchExpression, modifier = {}, attributeQuery) {
13
- const limitedModifier = {
14
- ...modifier,
15
- limit: 1
16
- };
17
- return (await this.find(entityName, matchExpression, limitedModifier, attributeQuery))[0];
18
- }
19
- async find(entityName, matchExpressionData, modifierData, attributeQueryData = []) {
20
- assert(this.map.getRecord(entityName), `cannot find entity ${entityName}`);
21
- const entityQuery = RecordQuery.create(entityName, this.map, {
22
- matchExpression: matchExpressionData,
23
- attributeQuery: attributeQueryData,
24
- modifier: modifierData
25
- });
26
- return this.agent.findRecords(entityQuery, `finding ${entityName} from handle`);
27
- }
28
- async create(entityName, rawData, events) {
29
- const newEntityData = new NewRecordData(this.map, entityName, rawData);
30
- return this.agent.createRecord(newEntityData, `create record ${entityName} from handle`, events);
31
- }
32
- // CAUTION 不能递归更新 relate entity 的 value,如果传入了 related entity 的值,说明是建立新的联系。
33
- async update(entity, matchExpressionData, rawData, events) {
34
- const newEntityData = new NewRecordData(this.map, entity, rawData);
35
- return this.agent.updateRecord(entity, matchExpressionData, newEntityData, events);
36
- }
37
- async delete(entityName, matchExpressionData, events) {
38
- return this.agent.deleteRecord(entityName, matchExpressionData, events);
39
- }
40
- async addRelationByNameById(relationName, sourceEntityId, targetEntityId, rawData = {}, events) {
41
- assert(!!relationName && !!sourceEntityId && targetEntityId, `relationName: ${relationName} sourceEntityId:${sourceEntityId} targetEntityId:${targetEntityId} all cannot be empty`);
42
- return this.agent.addLink(relationName, sourceEntityId, targetEntityId, rawData, false, events);
43
- }
44
- async addRelationById(entity, attribute, entityId, attributeEntityId, relationData, events) {
45
- return this.agent.addLinkFromRecord(entity, attribute, entityId, attributeEntityId, relationData, events);
46
- }
47
- async updateRelationByName(relationName, matchExpressionData, rawData, events) {
48
- assert(!rawData.source && !rawData.target, 'Relation can only update attributes. Use addRelation/removeRelation to update source/target.');
49
- return this.agent.updateRecord(relationName, matchExpressionData, new NewRecordData(this.map, relationName, rawData), events);
50
- }
51
- async removeRelationByName(relationName, matchExpressionData, events) {
52
- return this.agent.unlink(relationName, matchExpressionData, false, `remove relation ${relationName}`, events);
53
- }
54
- async findRelationByName(relationName, matchExpressionData, modifierData, attributeQueryData = []) {
55
- return this.find(relationName, matchExpressionData, modifierData, attributeQueryData);
56
- }
57
- async findOneRelationByName(relationName, matchExpressionData, modifierData = {}, attributeQueryData = []) {
58
- const limitedModifier = {
59
- ...modifierData,
60
- limit: 1
61
- };
62
- return (await this.findRelationByName(relationName, matchExpressionData, limitedModifier, attributeQueryData))[0];
63
- }
64
- async findPath(entity, attribute, entityId, ancestorId) {
65
- return this.agent.findPath(entity, attribute, entityId, ancestorId);
66
- }
67
- createMatchFromAtom(...arg) {
68
- return MatchExp.atom(...arg);
69
- }
70
- getRelationName(entity, attribute) {
71
- return this.map.getInfo(entity, attribute).linkName;
72
- }
73
- getEntityName(entity, attribute) {
74
- const info = this.map.getInfo(entity, attribute);
75
- return info.recordName;
76
- }
77
- }
78
- //# sourceMappingURL=EntityQueryHandle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EntityQueryHandle.js","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityQueryHandle.ts"],"names":[],"mappings":"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"}