@ibgib/core-gib 0.0.4

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 (330) hide show
  1. package/.vscode/core-gib-snippets.code-snippets +189 -0
  2. package/.vscode/launch.json +24 -0
  3. package/.vscode/settings.json +56 -0
  4. package/.vscode/tasks.json +37 -0
  5. package/CHANGELOG.md +11 -0
  6. package/README.md +215 -0
  7. package/dist/common/aws-constants.d.mts +7 -0
  8. package/dist/common/aws-constants.d.mts.map +1 -0
  9. package/dist/common/aws-constants.mjs +7 -0
  10. package/dist/common/aws-constants.mjs.map +1 -0
  11. package/dist/common/bin/bin-types.d.mts +17 -0
  12. package/dist/common/bin/bin-types.d.mts.map +1 -0
  13. package/dist/common/bin/bin-types.mjs +3 -0
  14. package/dist/common/bin/bin-types.mjs.map +1 -0
  15. package/dist/common/cache/cache-types.d.mts +57 -0
  16. package/dist/common/cache/cache-types.d.mts.map +1 -0
  17. package/dist/common/cache/cache-types.mjs +2 -0
  18. package/dist/common/cache/cache-types.mjs.map +1 -0
  19. package/dist/common/comment/comment-constants.d.mts +11 -0
  20. package/dist/common/comment/comment-constants.d.mts.map +1 -0
  21. package/dist/common/comment/comment-constants.mjs +11 -0
  22. package/dist/common/comment/comment-constants.mjs.map +1 -0
  23. package/dist/common/comment/comment-helper.d.mts +59 -0
  24. package/dist/common/comment/comment-helper.d.mts.map +1 -0
  25. package/dist/common/comment/comment-helper.mjs +173 -0
  26. package/dist/common/comment/comment-helper.mjs.map +1 -0
  27. package/dist/common/comment/comment-types.d.mts +16 -0
  28. package/dist/common/comment/comment-types.d.mts.map +1 -0
  29. package/dist/common/comment/comment-types.mjs +2 -0
  30. package/dist/common/comment/comment-types.mjs.map +1 -0
  31. package/dist/common/display/display-helper.d.mts +19 -0
  32. package/dist/common/display/display-helper.d.mts.map +1 -0
  33. package/dist/common/display/display-helper.mjs +68 -0
  34. package/dist/common/display/display-helper.mjs.map +1 -0
  35. package/dist/common/display/display-types.d.mts +97 -0
  36. package/dist/common/display/display-types.d.mts.map +1 -0
  37. package/dist/common/display/display-types.mjs +37 -0
  38. package/dist/common/display/display-types.mjs.map +1 -0
  39. package/dist/common/encrypt/encrypt-constants.d.mts +27 -0
  40. package/dist/common/encrypt/encrypt-constants.d.mts.map +1 -0
  41. package/dist/common/encrypt/encrypt-constants.mjs +27 -0
  42. package/dist/common/encrypt/encrypt-constants.mjs.map +1 -0
  43. package/dist/common/encrypt/encrypt-types.d.mts +116 -0
  44. package/dist/common/encrypt/encrypt-types.d.mts.map +1 -0
  45. package/dist/common/encrypt/encrypt-types.mjs +9 -0
  46. package/dist/common/encrypt/encrypt-types.mjs.map +1 -0
  47. package/dist/common/error/error-constants.d.mts +9 -0
  48. package/dist/common/error/error-constants.d.mts.map +1 -0
  49. package/dist/common/error/error-constants.mjs +9 -0
  50. package/dist/common/error/error-constants.mjs.map +1 -0
  51. package/dist/common/error/error-helper.d.mts +43 -0
  52. package/dist/common/error/error-helper.d.mts.map +1 -0
  53. package/dist/common/error/error-helper.mjs +167 -0
  54. package/dist/common/error/error-helper.mjs.map +1 -0
  55. package/dist/common/error/error-types.d.mts +58 -0
  56. package/dist/common/error/error-types.d.mts.map +1 -0
  57. package/dist/common/error/error-types.mjs +2 -0
  58. package/dist/common/error/error-types.mjs.map +1 -0
  59. package/dist/common/form/form-helper.d.mts +97 -0
  60. package/dist/common/form/form-helper.d.mts.map +1 -0
  61. package/dist/common/form/form-helper.mjs +185 -0
  62. package/dist/common/form/form-helper.mjs.map +1 -0
  63. package/dist/common/form/form-items.d.mts +229 -0
  64. package/dist/common/form/form-items.d.mts.map +1 -0
  65. package/dist/common/form/form-items.mjs +63 -0
  66. package/dist/common/form/form-items.mjs.map +1 -0
  67. package/dist/common/import-export/import-export-types.d.mts +18 -0
  68. package/dist/common/import-export/import-export-types.d.mts.map +1 -0
  69. package/dist/common/import-export/import-export-types.mjs +2 -0
  70. package/dist/common/import-export/import-export-types.mjs.map +1 -0
  71. package/dist/common/legacy/legacy-types.d.mts +2 -0
  72. package/dist/common/legacy/legacy-types.d.mts.map +1 -0
  73. package/dist/common/legacy/legacy-types.mjs +2 -0
  74. package/dist/common/legacy/legacy-types.mjs.map +1 -0
  75. package/dist/common/link/link-constants.d.mts +2 -0
  76. package/dist/common/link/link-constants.d.mts.map +1 -0
  77. package/dist/common/link/link-constants.mjs +2 -0
  78. package/dist/common/link/link-constants.mjs.map +1 -0
  79. package/dist/common/link/link-helper.d.mts +37 -0
  80. package/dist/common/link/link-helper.d.mts.map +1 -0
  81. package/dist/common/link/link-helper.mjs +143 -0
  82. package/dist/common/link/link-helper.mjs.map +1 -0
  83. package/dist/common/link/link-types.d.mts +14 -0
  84. package/dist/common/link/link-types.d.mts.map +1 -0
  85. package/dist/common/link/link-types.mjs +2 -0
  86. package/dist/common/link/link-types.mjs.map +1 -0
  87. package/dist/common/other/graph-helper.d.mts +166 -0
  88. package/dist/common/other/graph-helper.d.mts.map +1 -0
  89. package/dist/common/other/graph-helper.mjs +710 -0
  90. package/dist/common/other/graph-helper.mjs.map +1 -0
  91. package/dist/common/other/ibgib-helper.d.mts +245 -0
  92. package/dist/common/other/ibgib-helper.d.mts.map +1 -0
  93. package/dist/common/other/ibgib-helper.mjs +641 -0
  94. package/dist/common/other/ibgib-helper.mjs.map +1 -0
  95. package/dist/common/other/other-constants.d.mts +53 -0
  96. package/dist/common/other/other-constants.d.mts.map +1 -0
  97. package/dist/common/other/other-constants.mjs +67 -0
  98. package/dist/common/other/other-constants.mjs.map +1 -0
  99. package/dist/common/other/other-types.d.mts +166 -0
  100. package/dist/common/other/other-types.d.mts.map +1 -0
  101. package/dist/common/other/other-types.mjs +30 -0
  102. package/dist/common/other/other-types.mjs.map +1 -0
  103. package/dist/common/other/svg-constants.d.mts +2 -0
  104. package/dist/common/other/svg-constants.d.mts.map +1 -0
  105. package/dist/common/other/svg-constants.mjs +2 -0
  106. package/dist/common/other/svg-constants.mjs.map +1 -0
  107. package/dist/common/other/svg-helper.d.mts +54 -0
  108. package/dist/common/other/svg-helper.d.mts.map +1 -0
  109. package/dist/common/other/svg-helper.mjs +170 -0
  110. package/dist/common/other/svg-helper.mjs.map +1 -0
  111. package/dist/common/pic/pic-constants.d.mts +13 -0
  112. package/dist/common/pic/pic-constants.d.mts.map +1 -0
  113. package/dist/common/pic/pic-constants.mjs +13 -0
  114. package/dist/common/pic/pic-constants.mjs.map +1 -0
  115. package/dist/common/pic/pic-helper.d.mts +70 -0
  116. package/dist/common/pic/pic-helper.d.mts.map +1 -0
  117. package/dist/common/pic/pic-helper.mjs +235 -0
  118. package/dist/common/pic/pic-helper.mjs.map +1 -0
  119. package/dist/common/pic/pic-types.d.mts +23 -0
  120. package/dist/common/pic/pic-types.d.mts.map +1 -0
  121. package/dist/common/pic/pic-types.mjs +2 -0
  122. package/dist/common/pic/pic-types.mjs.map +1 -0
  123. package/dist/common/root/root-constants.d.mts +40 -0
  124. package/dist/common/root/root-constants.d.mts.map +1 -0
  125. package/dist/common/root/root-constants.mjs +40 -0
  126. package/dist/common/root/root-constants.mjs.map +1 -0
  127. package/dist/common/root/root-types.d.mts +9 -0
  128. package/dist/common/root/root-types.d.mts.map +1 -0
  129. package/dist/common/root/root-types.mjs +2 -0
  130. package/dist/common/root/root-types.mjs.map +1 -0
  131. package/dist/common/tag/tag-constants.d.mts +21 -0
  132. package/dist/common/tag/tag-constants.d.mts.map +1 -0
  133. package/dist/common/tag/tag-constants.mjs +28 -0
  134. package/dist/common/tag/tag-constants.mjs.map +1 -0
  135. package/dist/common/tag/tag-types.d.mts +14 -0
  136. package/dist/common/tag/tag-types.d.mts.map +1 -0
  137. package/dist/common/tag/tag-types.mjs +2 -0
  138. package/dist/common/tag/tag-types.mjs.map +1 -0
  139. package/dist/core-constants.d.mts +89 -0
  140. package/dist/core-constants.d.mts.map +1 -0
  141. package/dist/core-constants.mjs +484 -0
  142. package/dist/core-constants.mjs.map +1 -0
  143. package/dist/core-helper.d.mts +6 -0
  144. package/dist/core-helper.d.mts.map +1 -0
  145. package/dist/core-helper.mjs +28 -0
  146. package/dist/core-helper.mjs.map +1 -0
  147. package/dist/core-types.d.mts +520 -0
  148. package/dist/core-types.d.mts.map +1 -0
  149. package/dist/core-types.mjs +2 -0
  150. package/dist/core-types.mjs.map +1 -0
  151. package/dist/index.d.mts +2 -0
  152. package/dist/index.d.mts.map +1 -0
  153. package/dist/index.mjs +3 -0
  154. package/dist/index.mjs.map +1 -0
  155. package/dist/witness/app/app-base-v1.d.mts +130 -0
  156. package/dist/witness/app/app-base-v1.d.mts.map +1 -0
  157. package/dist/witness/app/app-base-v1.mjs +462 -0
  158. package/dist/witness/app/app-base-v1.mjs.map +1 -0
  159. package/dist/witness/app/app-constants.d.mts +10 -0
  160. package/dist/witness/app/app-constants.d.mts.map +1 -0
  161. package/dist/witness/app/app-constants.mjs +13 -0
  162. package/dist/witness/app/app-constants.mjs.map +1 -0
  163. package/dist/witness/app/app-helper.d.mts +85 -0
  164. package/dist/witness/app/app-helper.d.mts.map +1 -0
  165. package/dist/witness/app/app-helper.mjs +258 -0
  166. package/dist/witness/app/app-helper.mjs.map +1 -0
  167. package/dist/witness/app/app-types.d.mts +211 -0
  168. package/dist/witness/app/app-types.d.mts.map +1 -0
  169. package/dist/witness/app/app-types.mjs +49 -0
  170. package/dist/witness/app/app-types.mjs.map +1 -0
  171. package/dist/witness/app/chat-app/chat-app-types.d.mts +18 -0
  172. package/dist/witness/app/chat-app/chat-app-types.d.mts.map +1 -0
  173. package/dist/witness/app/chat-app/chat-app-types.mjs +25 -0
  174. package/dist/witness/app/chat-app/chat-app-types.mjs.map +1 -0
  175. package/dist/witness/app/flash-app/flash-app-types.d.mts +16 -0
  176. package/dist/witness/app/flash-app/flash-app-types.d.mts.map +1 -0
  177. package/dist/witness/app/flash-app/flash-app-types.mjs +23 -0
  178. package/dist/witness/app/flash-app/flash-app-types.mjs.map +1 -0
  179. package/dist/witness/app/raw-app/raw-app-types.d.mts +18 -0
  180. package/dist/witness/app/raw-app/raw-app-types.d.mts.map +1 -0
  181. package/dist/witness/app/raw-app/raw-app-types.mjs +25 -0
  182. package/dist/witness/app/raw-app/raw-app-types.mjs.map +1 -0
  183. package/dist/witness/app/todo-app/todo-app-types.d.ts +33 -0
  184. package/dist/witness/app/todo-app/todo-app-types.d.ts.map +1 -0
  185. package/dist/witness/app/todo-app/todo-app-types.js +31 -0
  186. package/dist/witness/app/todo-app/todo-app-types.js.map +1 -0
  187. package/dist/witness/robbot/robbot-base-v1.d.ts +432 -0
  188. package/dist/witness/robbot/robbot-base-v1.d.ts.map +1 -0
  189. package/dist/witness/robbot/robbot-base-v1.js +1407 -0
  190. package/dist/witness/robbot/robbot-base-v1.js.map +1 -0
  191. package/dist/witness/robbot/robbot-constants.d.mts +24 -0
  192. package/dist/witness/robbot/robbot-constants.d.mts.map +1 -0
  193. package/dist/witness/robbot/robbot-constants.mjs +24 -0
  194. package/dist/witness/robbot/robbot-constants.mjs.map +1 -0
  195. package/dist/witness/robbot/robbot-helper.d.mts +152 -0
  196. package/dist/witness/robbot/robbot-helper.d.mts.map +1 -0
  197. package/dist/witness/robbot/robbot-helper.mjs +609 -0
  198. package/dist/witness/robbot/robbot-helper.mjs.map +1 -0
  199. package/dist/witness/robbot/robbot-types.d.mts +539 -0
  200. package/dist/witness/robbot/robbot-types.d.mts.map +1 -0
  201. package/dist/witness/robbot/robbot-types.mjs +294 -0
  202. package/dist/witness/robbot/robbot-types.mjs.map +1 -0
  203. package/dist/witness/space/bootstrap/bootstrap-constants.d.mts +14 -0
  204. package/dist/witness/space/bootstrap/bootstrap-constants.d.mts.map +1 -0
  205. package/dist/witness/space/bootstrap/bootstrap-constants.mjs +15 -0
  206. package/dist/witness/space/bootstrap/bootstrap-constants.mjs.map +1 -0
  207. package/dist/witness/space/inner-space-v1.d.ts +63 -0
  208. package/dist/witness/space/inner-space-v1.d.ts.map +1 -0
  209. package/dist/witness/space/inner-space-v1.js +356 -0
  210. package/dist/witness/space/inner-space-v1.js.map +1 -0
  211. package/dist/witness/space/outer-space/outer-space-constants.d.mts +2 -0
  212. package/dist/witness/space/outer-space/outer-space-constants.d.mts.map +1 -0
  213. package/dist/witness/space/outer-space/outer-space-constants.mjs +2 -0
  214. package/dist/witness/space/outer-space/outer-space-constants.mjs.map +1 -0
  215. package/dist/witness/space/outer-space/outer-space-helper.d.mts +28 -0
  216. package/dist/witness/space/outer-space/outer-space-helper.d.mts.map +1 -0
  217. package/dist/witness/space/outer-space/outer-space-helper.mjs +87 -0
  218. package/dist/witness/space/outer-space/outer-space-helper.mjs.map +1 -0
  219. package/dist/witness/space/outer-space/outer-space-types.d.mts +548 -0
  220. package/dist/witness/space/outer-space/outer-space-types.d.mts.map +1 -0
  221. package/dist/witness/space/outer-space/outer-space-types.mjs +118 -0
  222. package/dist/witness/space/outer-space/outer-space-types.mjs.map +1 -0
  223. package/dist/witness/space/space-base-v1.d.mts +147 -0
  224. package/dist/witness/space/space-base-v1.d.mts.map +1 -0
  225. package/dist/witness/space/space-base-v1.mjs +350 -0
  226. package/dist/witness/space/space-base-v1.mjs.map +1 -0
  227. package/dist/witness/space/space-constants.d.mts +181 -0
  228. package/dist/witness/space/space-constants.d.mts.map +1 -0
  229. package/dist/witness/space/space-constants.mjs +192 -0
  230. package/dist/witness/space/space-constants.mjs.map +1 -0
  231. package/dist/witness/space/space-helper.d.mts +666 -0
  232. package/dist/witness/space/space-helper.d.mts.map +1 -0
  233. package/dist/witness/space/space-helper.mjs +2830 -0
  234. package/dist/witness/space/space-helper.mjs.map +1 -0
  235. package/dist/witness/space/space-types.d.mts +422 -0
  236. package/dist/witness/space/space-types.d.mts.map +1 -0
  237. package/dist/witness/space/space-types.mjs +52 -0
  238. package/dist/witness/space/space-types.mjs.map +1 -0
  239. package/dist/witness/witness-base-v1.d.ts +144 -0
  240. package/dist/witness/witness-base-v1.d.ts.map +1 -0
  241. package/dist/witness/witness-base-v1.js +300 -0
  242. package/dist/witness/witness-base-v1.js.map +1 -0
  243. package/dist/witness/witness-constants.d.mts +3 -0
  244. package/dist/witness/witness-constants.d.mts.map +1 -0
  245. package/dist/witness/witness-constants.mjs +3 -0
  246. package/dist/witness/witness-constants.mjs.map +1 -0
  247. package/dist/witness/witness-form-builder.d.mts +45 -0
  248. package/dist/witness/witness-form-builder.d.mts.map +1 -0
  249. package/dist/witness/witness-form-builder.mjs +95 -0
  250. package/dist/witness/witness-form-builder.mjs.map +1 -0
  251. package/dist/witness/witness-helper.d.mts +89 -0
  252. package/dist/witness/witness-helper.d.mts.map +1 -0
  253. package/dist/witness/witness-helper.mjs +229 -0
  254. package/dist/witness/witness-helper.mjs.map +1 -0
  255. package/dist/witness/witness-types.d.mts +211 -0
  256. package/dist/witness/witness-types.d.mts.map +1 -0
  257. package/dist/witness/witness-types.mjs +2 -0
  258. package/dist/witness/witness-types.mjs.map +1 -0
  259. package/jasmine-browser.json +18 -0
  260. package/jasmine.json +6 -0
  261. package/package.json +67 -0
  262. package/src/assumptions.spec.mts +45 -0
  263. package/src/common/aws-constants.mts +5 -0
  264. package/src/common/bin/bin-types.mts +17 -0
  265. package/src/common/cache/cache-types.mts +53 -0
  266. package/src/common/comment/comment-constants.mts +10 -0
  267. package/src/common/comment/comment-helper.mts +211 -0
  268. package/src/common/comment/comment-types.mts +19 -0
  269. package/src/common/display/display-helper.mts +88 -0
  270. package/src/common/display/display-types.mts +108 -0
  271. package/src/common/encrypt/encrypt-constants.mts +28 -0
  272. package/src/common/encrypt/encrypt-types.mts +130 -0
  273. package/src/common/error/error-constants.mts +8 -0
  274. package/src/common/error/error-helper.mts +155 -0
  275. package/src/common/error/error-types.mts +62 -0
  276. package/src/common/form/form-helper.mts +253 -0
  277. package/src/common/form/form-items.mts +236 -0
  278. package/src/common/import-export/import-export-types.mts +18 -0
  279. package/src/common/legacy/about-legacy.md +0 -0
  280. package/src/common/legacy/legacy-types.mts +0 -0
  281. package/src/common/link/link-constants.mts +1 -0
  282. package/src/common/link/link-helper.mts +155 -0
  283. package/src/common/link/link-types.mts +16 -0
  284. package/src/common/other/graph-helper.mts +853 -0
  285. package/src/common/other/ibgib-helper.mts +671 -0
  286. package/src/common/other/other-constants.mts +76 -0
  287. package/src/common/other/other-types.mts +186 -0
  288. package/src/common/other/svg-constants.mts +1 -0
  289. package/src/common/other/svg-helper.mts +238 -0
  290. package/src/common/pic/pic-constants.mts +13 -0
  291. package/src/common/pic/pic-helper.mts +295 -0
  292. package/src/common/pic/pic-types.mts +29 -0
  293. package/src/common/root/root-constants.mts +41 -0
  294. package/src/common/root/root-types.mts +8 -0
  295. package/src/common/tag/tag-constants.mts +34 -0
  296. package/src/common/tag/tag-types.mts +19 -0
  297. package/src/core-constants.mts +506 -0
  298. package/src/core-helper.mts +33 -0
  299. package/src/core-types.mts +519 -0
  300. package/src/helper.spec.mts +64 -0
  301. package/src/index.mts +1 -0
  302. package/src/witness/app/app-base-v1.mts +584 -0
  303. package/src/witness/app/app-constants.mts +16 -0
  304. package/src/witness/app/app-helper.mts +322 -0
  305. package/src/witness/app/app-types.mts +252 -0
  306. package/src/witness/app/chat-app/chat-app-types.mts +40 -0
  307. package/src/witness/app/flash-app/flash-app-types.mts +38 -0
  308. package/src/witness/app/raw-app/raw-app-types.mts +40 -0
  309. package/src/witness/app/todo-app/todo-app-types.ts +59 -0
  310. package/src/witness/robbot/robbot-base-v1.ts +1531 -0
  311. package/src/witness/robbot/robbot-constants.mts +25 -0
  312. package/src/witness/robbot/robbot-helper.mts +676 -0
  313. package/src/witness/robbot/robbot-helper.spec.mts +135 -0
  314. package/src/witness/robbot/robbot-types.mts +797 -0
  315. package/src/witness/space/bootstrap/bootstrap-constants.mts +15 -0
  316. package/src/witness/space/inner-space-v1.ts +372 -0
  317. package/src/witness/space/outer-space/outer-space-constants.mts +1 -0
  318. package/src/witness/space/outer-space/outer-space-helper.mts +91 -0
  319. package/src/witness/space/outer-space/outer-space-types.mts +627 -0
  320. package/src/witness/space/space-base-v1.mts +414 -0
  321. package/src/witness/space/space-constants.mts +208 -0
  322. package/src/witness/space/space-helper.mts +3242 -0
  323. package/src/witness/space/space-types.mts +476 -0
  324. package/src/witness/witness-base-v1.ts +325 -0
  325. package/src/witness/witness-constants.mts +2 -0
  326. package/src/witness/witness-form-builder.mts +128 -0
  327. package/src/witness/witness-helper.mts +256 -0
  328. package/src/witness/witness-types.mts +249 -0
  329. package/tsconfig.json +15 -0
  330. package/tsconfig.test.json +10 -0
@@ -0,0 +1,25 @@
1
+ export const DEFAULT_UUID_CHAT_APP = '0';
2
+ export const DEFAULT_NAME_CHAT_APP = 'chat_gib';
3
+ export const DEFAULT_DESCRIPTION_CHAT_APP = `A chat app done ibgib style, enabling infinitely nesting comments, pics and links. It's ibgibs all the way down...`;
4
+ /**
5
+ * Default data values for a random app.
6
+ *
7
+ * If you change this, please bump the version
8
+ *
9
+ * (but of course won't be the end of the world when this doesn't happen).
10
+ */
11
+ export const DEFAULT_CHAT_APP_DATA_V1 = {
12
+ version: '1',
13
+ uuid: DEFAULT_UUID_CHAT_APP,
14
+ name: DEFAULT_NAME_CHAT_APP,
15
+ description: DEFAULT_DESCRIPTION_CHAT_APP,
16
+ // classname: ChatApp_V1.name,
17
+ classname: `ChatApp_V1`,
18
+ icon: 'chatbubbles',
19
+ persistOptsAndResultIbGibs: false,
20
+ allowPrimitiveArgs: true,
21
+ catchAllErrors: true,
22
+ trace: false,
23
+ };
24
+ export const DEFAULT_CHAT_APP_REL8NS_V1 = undefined;
25
+ //# sourceMappingURL=chat-app-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-app-types.mjs","sourceRoot":"","sources":["../../../../src/witness/app/chat-app/chat-app-types.mts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GACrC,oHAAoH,CAAC;AAYzH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACpD,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,4BAA4B;IACzC,8BAA8B;IAC9B,SAAS,EAAE,YAAY;IAEvB,IAAI,EAAE,aAAa;IAEnB,0BAA0B,EAAE,KAAK;IACjC,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,KAAK;CACf,CAAA;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAiC,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { AppData_V1, AppRel8ns_V1 } from '../app-types.mjs';
2
+ export declare const DEFAULT_UUID_FLASH_APP = "0";
3
+ export declare const DEFAULT_NAME_FLASH_APP = "flash_gib";
4
+ export declare const DEFAULT_DESCRIPTION_FLASH_APP = "A flashcard app done ibgib style, where ibgib are the \"cards\" and are shown in various ways.";
5
+ export interface FlashAppData_V1 extends AppData_V1 {
6
+ }
7
+ export interface FlashAppRel8ns_V1 extends AppRel8ns_V1 {
8
+ }
9
+ /**
10
+ * Default data values for a flash app.
11
+ *
12
+ * If you change this, please bump the version.
13
+ */
14
+ export declare const DEFAULT_FLASH_APP_DATA_V1: FlashAppData_V1;
15
+ export declare const DEFAULT_FLASH_APP_REL8NS_V1: FlashAppRel8ns_V1 | undefined;
16
+ //# sourceMappingURL=flash-app-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flash-app-types.d.mts","sourceRoot":"","sources":["../../../../src/witness/app/flash-app/flash-app-types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,6BAA6B,mGACwD,CAAC;AAGnG,MAAM,WAAW,eAAgB,SAAQ,UAAU;CAElD;AAGD,MAAM,WAAW,iBAAkB,SAAQ,YAAY;CAEtD;AAED;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,eAcvC,CAAA;AACD,eAAO,MAAM,2BAA2B,EAAE,iBAAiB,GAAG,SAAqB,CAAC"}
@@ -0,0 +1,23 @@
1
+ export const DEFAULT_UUID_FLASH_APP = '0';
2
+ export const DEFAULT_NAME_FLASH_APP = 'flash_gib';
3
+ export const DEFAULT_DESCRIPTION_FLASH_APP = `A flashcard app done ibgib style, where ibgib are the "cards" and are shown in various ways.`;
4
+ /**
5
+ * Default data values for a flash app.
6
+ *
7
+ * If you change this, please bump the version.
8
+ */
9
+ export const DEFAULT_FLASH_APP_DATA_V1 = {
10
+ version: '1',
11
+ uuid: DEFAULT_UUID_FLASH_APP,
12
+ name: DEFAULT_NAME_FLASH_APP,
13
+ description: DEFAULT_DESCRIPTION_FLASH_APP,
14
+ // classname: FlashApp_V1.name,
15
+ classname: `FlashApp_V1`,
16
+ icon: 'flash',
17
+ persistOptsAndResultIbGibs: false,
18
+ allowPrimitiveArgs: true,
19
+ catchAllErrors: true,
20
+ trace: false,
21
+ };
22
+ export const DEFAULT_FLASH_APP_REL8NS_V1 = undefined;
23
+ //# sourceMappingURL=flash-app-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flash-app-types.mjs","sourceRoot":"","sources":["../../../../src/witness/app/flash-app/flash-app-types.mts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GACtC,8FAA8F,CAAC;AAYnG;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoB;IACtD,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,6BAA6B;IAC1C,+BAA+B;IAC/B,SAAS,EAAE,aAAa;IAExB,IAAI,EAAE,OAAO;IAEb,0BAA0B,EAAE,KAAK;IACjC,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,KAAK;CACf,CAAA;AACD,MAAM,CAAC,MAAM,2BAA2B,GAAkC,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { AppData_V1, AppRel8ns_V1 } from '../app-types.mjs';
2
+ export declare const DEFAULT_UUID_RAW_APP = "0";
3
+ export declare const DEFAULT_NAME_RAW_APP = "raw_gib";
4
+ export declare const DEFAULT_DESCRIPTION_RAW_APP = "Explorer app for navigating raw ibgib data.";
5
+ export interface RawAppData_V1 extends AppData_V1 {
6
+ }
7
+ export interface RawAppRel8ns_V1 extends AppRel8ns_V1 {
8
+ }
9
+ /**
10
+ * Default data values for a random app.
11
+ *
12
+ * If you change this, please bump the version
13
+ *
14
+ * (but of course won't be the end of the world when this doesn't happen).
15
+ */
16
+ export declare const DEFAULT_RAW_APP_DATA_V1: RawAppData_V1;
17
+ export declare const DEFAULT_RAW_APP_REL8NS_V1: RawAppRel8ns_V1 | undefined;
18
+ //# sourceMappingURL=raw-app-types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-app-types.d.mts","sourceRoot":"","sources":["../../../../src/witness/app/raw-app/raw-app-types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAC9C,eAAO,MAAM,2BAA2B,gDACS,CAAC;AAGlD,MAAM,WAAW,aAAc,SAAQ,UAAU;CAEhD;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;CAEpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAcrC,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,eAAe,GAAG,SAAqB,CAAC"}
@@ -0,0 +1,25 @@
1
+ export const DEFAULT_UUID_RAW_APP = '0';
2
+ export const DEFAULT_NAME_RAW_APP = 'raw_gib';
3
+ export const DEFAULT_DESCRIPTION_RAW_APP = `Explorer app for navigating raw ibgib data.`;
4
+ /**
5
+ * Default data values for a random app.
6
+ *
7
+ * If you change this, please bump the version
8
+ *
9
+ * (but of course won't be the end of the world when this doesn't happen).
10
+ */
11
+ export const DEFAULT_RAW_APP_DATA_V1 = {
12
+ version: '1',
13
+ uuid: DEFAULT_UUID_RAW_APP,
14
+ name: DEFAULT_NAME_RAW_APP,
15
+ description: DEFAULT_DESCRIPTION_RAW_APP,
16
+ // classname: RawApp_V1.name,
17
+ classname: `RawApp_V1`,
18
+ icon: 'paper-plane',
19
+ persistOptsAndResultIbGibs: false,
20
+ allowPrimitiveArgs: true,
21
+ catchAllErrors: true,
22
+ trace: false,
23
+ };
24
+ export const DEFAULT_RAW_APP_REL8NS_V1 = undefined;
25
+ //# sourceMappingURL=raw-app-types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raw-app-types.mjs","sourceRoot":"","sources":["../../../../src/witness/app/raw-app/raw-app-types.mts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GACpC,6CAA6C,CAAC;AAWlD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkB;IAClD,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,oBAAoB;IAC1B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,2BAA2B;IACxC,6BAA6B;IAC7B,SAAS,EAAE,WAAW;IAEtB,IAAI,EAAE,aAAa;IAEnB,0BAA0B,EAAE,KAAK;IACjC,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,KAAK;CACf,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAgC,SAAS,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { Gib } from '@ibgib/ts-gib';
2
+ import { IbGibData_V1, IbGibRel8ns_V1, IbGib_V1 } from '@ibgib/ts-gib/dist/V1/index.mjs';
3
+ import { AppData_V1, AppRel8ns_V1 } from '../app-types.mjs';
4
+ export declare const DEFAULT_UUID_TODO_APP = "0";
5
+ export declare const DEFAULT_NAME_TODO_APP = "todo_gib";
6
+ export declare const DEFAULT_DESCRIPTION_TODO_APP = "Todo app for viewing and interacting with ibgibs like they're checklists.";
7
+ export interface TodoAppData_V1 extends AppData_V1 {
8
+ }
9
+ export interface TodoAppRel8ns_V1 extends AppRel8ns_V1 {
10
+ }
11
+ /**
12
+ * Default data values for a random app.
13
+ *
14
+ * If you change this, please bump the version
15
+ *
16
+ * (but of course won't be the end of the world when this doesn't happen).
17
+ */
18
+ export declare const DEFAULT_TODO_APP_DATA_V1: TodoAppData_V1;
19
+ export declare const DEFAULT_TODO_APP_REL8NS_V1: TodoAppRel8ns_V1 | undefined;
20
+ /**
21
+ * when an ibgib has children that are checked/unchecked using
22
+ * the (a?) todo app, this is the rel8n name to the info.
23
+ */
24
+ export declare const TODO_INFO_REL8N_NAME = "todo";
25
+ export declare const TODO_INFO_IB = "todo_info";
26
+ export interface TodoInfoData_V1 extends IbGibData_V1 {
27
+ tjpGibsDone: Gib[];
28
+ }
29
+ export interface TodoInfoRel8ns_V1 extends IbGibRel8ns_V1 {
30
+ }
31
+ export interface TodoInfoIbGib_V1 extends IbGib_V1<TodoInfoData_V1, TodoInfoRel8ns_V1> {
32
+ }
33
+ //# sourceMappingURL=todo-app-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-app-types.d.ts","sourceRoot":"","sources":["../../../../src/witness/app/todo-app/todo-app-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,eAAO,MAAM,4BAA4B,8EACsC,CAAC;AAGhF,MAAM,WAAW,cAAe,SAAQ,UAAU;CAEjD;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;CAErD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,cActC,CAAA;AACD,eAAO,MAAM,0BAA0B,EAAE,gBAAgB,GAAG,SAAqB,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,SAAS,CAAC;AAC3C,eAAO,MAAM,YAAY,cAAc,CAAC;AAGxC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACjD,WAAW,EAAE,GAAG,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAAI"}
@@ -0,0 +1,31 @@
1
+ export const DEFAULT_UUID_TODO_APP = '0';
2
+ export const DEFAULT_NAME_TODO_APP = 'todo_gib';
3
+ export const DEFAULT_DESCRIPTION_TODO_APP = `Todo app for viewing and interacting with ibgibs like they're checklists.`;
4
+ /**
5
+ * Default data values for a random app.
6
+ *
7
+ * If you change this, please bump the version
8
+ *
9
+ * (but of course won't be the end of the world when this doesn't happen).
10
+ */
11
+ export const DEFAULT_TODO_APP_DATA_V1 = {
12
+ version: '1',
13
+ uuid: DEFAULT_UUID_TODO_APP,
14
+ name: DEFAULT_NAME_TODO_APP,
15
+ description: DEFAULT_DESCRIPTION_TODO_APP,
16
+ // classname: TodoApp_V1.name,
17
+ classname: `TodoApp_V1`,
18
+ icon: 'checkbox',
19
+ persistOptsAndResultIbGibs: false,
20
+ allowPrimitiveArgs: true,
21
+ catchAllErrors: true,
22
+ trace: false,
23
+ };
24
+ export const DEFAULT_TODO_APP_REL8NS_V1 = undefined;
25
+ /**
26
+ * when an ibgib has children that are checked/unchecked using
27
+ * the (a?) todo app, this is the rel8n name to the info.
28
+ */
29
+ export const TODO_INFO_REL8N_NAME = 'todo';
30
+ export const TODO_INFO_IB = 'todo_info';
31
+ //# sourceMappingURL=todo-app-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"todo-app-types.js","sourceRoot":"","sources":["../../../../src/witness/app/todo-app/todo-app-types.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GACrC,2EAA2E,CAAC;AAWhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACpD,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EAAE,4BAA4B;IACzC,8BAA8B;IAC9B,SAAS,EAAE,YAAY;IAEvB,IAAI,EAAE,UAAU;IAEhB,0BAA0B,EAAE,KAAK;IACjC,kBAAkB,EAAE,IAAI;IACxB,cAAc,EAAE,IAAI;IACpB,KAAK,EAAE,KAAK;CACf,CAAA;AACD,MAAM,CAAC,MAAM,0BAA0B,GAAiC,SAAS,CAAC;AAElF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC"}
@@ -0,0 +1,432 @@
1
+ import { Subscription } from 'rxjs/index.js';
2
+ import { Gib, Ib, IbGibAddr } from '@ibgib/ts-gib';
3
+ import { IbGib_V1, IbGibRel8ns_V1 } from '@ibgib/ts-gib/dist/V1/index.mjs';
4
+ import { RobbotData_V1, RobbotRel8ns_V1, RobbotIbGib_V1, RobbotCmdData, RobbotCmdRel8ns, RobbotCmdIbGib, RobbotResultData, RobbotResultRel8ns, RobbotResultIbGib, SemanticHandler, SemanticInfo, RobbotInteractionData_V1, RobbotInteractionType, RobbotPropsData, SemanticHandlerResult } from './robbot-types.mjs';
5
+ import { WitnessBase_V1 } from '../witness-base-v1';
6
+ import { CommentIbGib_V1 } from '../../common/comment/comment-types.mjs';
7
+ import { PicIbGib_V1 } from '../../common/pic/pic-types.mjs';
8
+ import { IbGibLocalSpaceService_AllPowerful as IbgibsService } from '../../core-types.mjs';
9
+ import { ErrorIbGib_V1 } from '../../common/error/error-types.mjs';
10
+ import { Lex } from '@ibgib/helper-gib';
11
+ /**
12
+ * ## distinguishing characteristics of robbots
13
+ *
14
+ * With any witness ibgib, we are concerned with interpreting an incoming
15
+ * arg ibgib and producing at least one result ibgib. Most often, there will
16
+ * be additional ibgibs created, either creating "new" ibgibs via `fork`
17
+ * transforms, or changing existing ibgibs through `mut8` and `rel8`
18
+ * transforms. And almost always these will be persisted in at least
19
+ * one space.
20
+ *
21
+ * But Robbots in particular are meant to be increasingly adaptable over time.
22
+ *
23
+ * This results in a couple of notes:
24
+ *
25
+ * 1. They should be able to handle any incoming ibgib, including primitives.
26
+ * 2. If they are learning robbots, then they will mutate internally at some rate.
27
+ * 3. Often robbots' output ibgib(s) will be intended for others'
28
+ * consumption, in service of others - be they humans or other
29
+ * biologically living organisms, other robbots or even later versions of
30
+ * themselves.
31
+ *
32
+ * So for example, one of the simplest robbots is one which simply echos the
33
+ * incoming ibgib arg.
34
+
35
+ * ## architecture
36
+ *
37
+ * At the base, any robbot should be able to handle any incoming ibgib. This is
38
+ * in contrast to, e.g., a Space, which is more rigid in design.
39
+ *
40
+ * Certainly there are robbot's who will be more rigid, but this will be an
41
+ * abstract class on top of this one, and all robbots should be able to react to
42
+ * all incoming ibgibs.
43
+ *
44
+ * Output will default to a simple ok^gib or (ROOT) ib^gib primitive...perhaps
45
+ * we'll go with ack^gib, but whatever it is, it's just an acknowledgement of
46
+ * input received. (I'll put it in the constants file).
47
+ *
48
+ * Side effects should occur in a parallel execution thread, which ideally would
49
+ * work in a completely parallel execution context (like a service worker). But
50
+ * then we have to deal with race conditions and the real solution there is to
51
+ * abstract to the robbot having its own space and the synchronization happening
52
+ * exactly like any other sync space.
53
+ *
54
+ * For now, we'll spin off a promise with some intermittent `await delay`
55
+ * calls if they end up called for, effectively the equivalent of the
56
+ * old-fashioned "ProcessMessages/DoEvents" hack.
57
+ */
58
+ export declare abstract class RobbotBase_V1<TLexPropsData extends RobbotPropsData = RobbotPropsData, TOptionsData extends any = any, TOptionsRel8ns extends IbGibRel8ns_V1 = IbGibRel8ns_V1, TOptionsIbGib extends IbGib_V1<TOptionsData, TOptionsRel8ns> = IbGib_V1<TOptionsData, TOptionsRel8ns>, TResultData extends any = any, TResultRel8ns extends IbGibRel8ns_V1 = IbGibRel8ns_V1, TResultIbGib extends IbGib_V1<TResultData, TResultRel8ns> | ErrorIbGib_V1 = IbGib_V1<TResultData, TResultRel8ns>, TData extends RobbotData_V1 = RobbotData_V1, TRel8ns extends RobbotRel8ns_V1 = RobbotRel8ns_V1> extends WitnessBase_V1<TOptionsData, TOptionsRel8ns, TOptionsIbGib, TResultData, TResultRel8ns, TResultIbGib, TData, TRel8ns> implements RobbotIbGib_V1 {
59
+ /**
60
+ * Log context for convenience with logging. (Ignore if you don't want to use this.)
61
+ *
62
+ * Often used in conjunction with `logalot`.
63
+ */
64
+ protected lc: string;
65
+ /**
66
+ * Reference to the local ibgibs service, which is one way at getting at the
67
+ * local user space.
68
+ */
69
+ ibgibsSvc: IbgibsService | undefined;
70
+ /**
71
+ * When the robbot has to get some ibgibs, might as well store them here so
72
+ * we don't have to get them again from storage.
73
+ */
74
+ protected _cacheIbGibs: {
75
+ [addr: string]: IbGib_V1;
76
+ };
77
+ protected _contextChangesSubscription: Subscription | undefined;
78
+ protected _currentWorkingContextIbGib: IbGib_V1 | undefined;
79
+ /**
80
+ * when we get an update to the context, we want to know what the _new_
81
+ * children are in order to interpret comments from the user that may be
82
+ * directed at us.
83
+ *
84
+ * So we will get an initial snapshot of children that we will diff against.
85
+ * We could go via the dna, but ultimately a diff is what is needed.
86
+ */
87
+ protected _currentWorkingContextIbGib_PriorChildrenAddrs: IbGibAddr[];
88
+ protected _updatingContext: boolean;
89
+ protected _semanticHandlers: {
90
+ [semanticId: string]: SemanticHandler[];
91
+ };
92
+ protected handleSemanticDefault(info: SemanticInfo): Promise<SemanticHandlerResult>;
93
+ /**
94
+ * lex that the robbot uses to speak.
95
+ */
96
+ protected _robbotLex: Lex<TLexPropsData> | undefined;
97
+ /**
98
+ * lex that the robbot uses to interpret humans.
99
+ */
100
+ protected _userLex: Lex<TLexPropsData> | undefined;
101
+ /**
102
+ * This should be awaited before dealing with the robbot.
103
+ *
104
+ * I'm keeping this named `ready` as a shout out to
105
+ * https://stackoverflow.com/a/45070748/3897838
106
+ * (https://stackoverflow.com/questions/35743426/async-constructor-functions-in-typescript).
107
+ *
108
+ * ## comments
109
+ *
110
+ * I've been considering going forward whether or not to have robbots'
111
+ * properties all be observables to allow for subscribing to events or
112
+ * similar in the future. But this may fight against the single `witness`
113
+ * point of contact, which of course itself is somewhat experimental. One
114
+ * grand experiment.
115
+ *
116
+ * I do have an observable as a property for the aws sync space saga
117
+ * updates. This kind of observable can be passed around while still using
118
+ * the single `witness` access point, but of course these runtime aspects
119
+ * won't be memoized if storing the ibgib.
120
+ */
121
+ initialized: Promise<void>;
122
+ constructor(initialData?: TData, initialRel8ns?: TRel8ns);
123
+ /**
124
+ * Initializes to default space values.
125
+ */
126
+ protected initialize(): Promise<void>;
127
+ protected initialize_semanticHandlers(): Promise<void>;
128
+ protected initialize_lex(): Promise<void>;
129
+ protected loadNewerSelfIfAvailable(): Promise<void>;
130
+ /**
131
+ * At this point in time, the arg has already been intrinsically validated,
132
+ * as well as the internal state of this robbot. so whatever this robbot's
133
+ * function is, it should be good to go.
134
+ *
135
+ * In the base class, this just returns {@link routeAndDoArg}. If you don't
136
+ * want to route, then override this.
137
+ */
138
+ protected witnessImpl(arg: TOptionsIbGib): Promise<TResultIbGib | undefined>;
139
+ /**
140
+ * Base routing executes different if incoming is a cmd options arg, i.e.,
141
+ * if the `data.cmd` is truthy (atow). If {@link isArg} is true, then routes
142
+ * to {@link doCmdArg}; else routes to {@link doDefault}.
143
+ *
144
+ * Override this function to create more advanced custom routing.
145
+ *
146
+ * ## notes
147
+ *
148
+ * I'm not overly thrilled with this, but it's a watered down version of
149
+ * what I've implemented in the space witness hierarchy.
150
+ *
151
+ * @see {@link isArg}
152
+ * @see {@link doCmdArg}
153
+ * @see {@link doDefault}.
154
+ */
155
+ protected routeAndDoArg({ arg, }: {
156
+ arg: TOptionsIbGib;
157
+ }): Promise<TResultIbGib | undefined>;
158
+ /**
159
+ * By default, this routes to {@link doCmdIb}, {@link doCmdGib} & {@link doCmdIbgib}.
160
+ * Override this and route to other commands before calling this with `super.doCmdArg`
161
+ * (if you still want to use this function.)
162
+ *
163
+ * You can also override the routing
164
+ */
165
+ protected doCmdArg({ arg, }: {
166
+ arg: RobbotCmdIbGib<IbGib_V1, RobbotCmdData, RobbotCmdRel8ns>;
167
+ }): Promise<TResultIbGib>;
168
+ protected doCmdIb({ arg, }: {
169
+ arg: IbGib_V1;
170
+ }): Promise<TResultIbGib>;
171
+ protected doCmdGib({ arg, }: {
172
+ arg: IbGib_V1;
173
+ }): Promise<TResultIbGib>;
174
+ protected doCmdIbgib({ arg, }: {
175
+ arg: IbGib_V1;
176
+ }): Promise<TResultIbGib>;
177
+ protected doCmdActivate({ arg, }: {
178
+ arg: RobbotCmdIbGib;
179
+ }): Promise<TResultIbGib>;
180
+ protected doCmdDeactivate({ arg, }: {
181
+ arg: RobbotCmdIbGib;
182
+ }): Promise<TResultIbGib>;
183
+ /**
184
+ * Stubbed in base class for convenience. Doesn't have to be implemented.
185
+ */
186
+ protected doPic({ ibGib, }: {
187
+ ibGib: PicIbGib_V1;
188
+ }): Promise<TResultIbGib | undefined>;
189
+ /**
190
+ * Stubbed in base class for convenience. Doesn't have to be implemented.
191
+ */
192
+ protected doComment({ ibGib, }: {
193
+ ibGib: CommentIbGib_V1;
194
+ }): Promise<TResultIbGib | undefined>;
195
+ /**
196
+ * Stubbed in base class for convenience. Doesn't have to be implemented.
197
+ */
198
+ protected doDefault({ ibGib, }: {
199
+ ibGib: TOptionsIbGib;
200
+ }): Promise<TResultIbGib | undefined>;
201
+ /**
202
+ * By default, this...
203
+ *
204
+ * * performs the raw {@link rel8} transform to the given `ibGib`.
205
+ * * persists the new ibgib's transform result in the given space.
206
+ * * registers the newer version of this robbot ibgib with the ibgibs svc.
207
+ *
208
+ * @see {@link ibGibs}
209
+ * @see {@link rel8nName}
210
+ * @see {@link ibgibsSvc}
211
+ * @see {@link space}
212
+ *
213
+ * ## notes
214
+ *
215
+ * * If there is no given `space`, then we will use the `ibgibsSvc` to get
216
+ * the local user space. If none, then we skip persistence.
217
+ * * If there is no `ibgibsSvc`, we won't register the new ibgibs locally.
218
+ */
219
+ protected rel8To({ ibGibs, rel8nName, linked, ibgibsSvc, }: {
220
+ /**
221
+ * The ibgib to which we are relating.
222
+ */
223
+ ibGibs: IbGib_V1[];
224
+ /**
225
+ * If given, will use this as the rel8n name when performing the `rel8`
226
+ * transform.
227
+ *
228
+ * If not given, will use the `robbot.data`'s {@link RobbotData_V1.defaultRel8nName} value.
229
+ */
230
+ rel8nName?: string;
231
+ /**
232
+ * If true, will include the `rel8nName` as a linked rel8n in the `rel8`
233
+ * transform.
234
+ */
235
+ linked?: boolean;
236
+ /**
237
+ * If provided, will register the newly created ibgib.
238
+ */
239
+ ibgibsSvc?: IbgibsService;
240
+ }): Promise<void>;
241
+ /**
242
+ * validates against common robbot qualities.
243
+ *
244
+ * Override this with a call to `super.validateThis` for custom validation
245
+ * for descending robbot classes.
246
+ *
247
+ * @returns validation errors common to all robbots, if any errors exist.
248
+ */
249
+ protected validateThis(): Promise<string[]>;
250
+ /**
251
+ * builds an arg ibGib.
252
+ *
253
+ * wrapper convenience to avoid long generic calls.
254
+ */
255
+ argy<TCmdOptionsData extends RobbotCmdData = RobbotCmdData, TCmdOptionsRel8ns extends RobbotCmdRel8ns = RobbotCmdRel8ns, TCmdOptionsIbGib extends RobbotCmdIbGib<IbGib_V1, TCmdOptionsData, TCmdOptionsRel8ns> = RobbotCmdIbGib<IbGib_V1, TCmdOptionsData, TCmdOptionsRel8ns>>({ argData, ibMetadata, noTimestamp, ibGibs, }: {
256
+ argData: TCmdOptionsData;
257
+ ibMetadata?: string;
258
+ noTimestamp?: boolean;
259
+ ibGibs?: IbGib_V1[];
260
+ }): Promise<TCmdOptionsIbGib>;
261
+ /**
262
+ * builds a result ibGib, if indeed a result ibgib is required.
263
+ *
264
+ * This is only useful in robbots that have more structured inputs/outputs.
265
+ * For those that simply accept any ibgib incoming and return a
266
+ * primitive like ib^gib or whatever, then this is unnecessary.
267
+ *
268
+ * wrapper convenience to avoid long generic calls.
269
+ */
270
+ resulty<TResultData extends RobbotResultData = RobbotResultData, TResultRel8ns extends RobbotResultRel8ns = RobbotResultRel8ns, TResultIbGib extends RobbotResultIbGib<IbGib_V1, TResultData, TResultRel8ns> = RobbotResultIbGib<IbGib_V1, TResultData, TResultRel8ns>>({ resultData, ibGibs, }: {
271
+ resultData: TResultData;
272
+ ibGibs?: IbGib_V1[];
273
+ }): Promise<TResultIbGib>;
274
+ protected rel8ToContextIbGib({ ibGibToRel8, ibGibAddrToRel8, contextIbGib, rel8nNames, }: {
275
+ ibGibToRel8?: IbGib_V1;
276
+ ibGibAddrToRel8?: IbGibAddr;
277
+ contextIbGib: IbGib_V1;
278
+ rel8nNames: string[];
279
+ }): Promise<void>;
280
+ protected createCommentAndRel8ToContextIbGib({ text, contextIbGib, }: {
281
+ text: string;
282
+ contextIbGib: IbGib_V1;
283
+ ibgibsSvc?: IbgibsService;
284
+ }): Promise<void>;
285
+ /**
286
+ * used to identify when comments are made by these robbots.
287
+ *
288
+ * atow this is `robbot_${this.data.classname}_${this.data.name}_${this.data.uuid.slice(0, 8)}`;
289
+ *
290
+ * @returns addlmetadata string to be used in comment ib's
291
+ */
292
+ protected getAddlMetadata(): string;
293
+ protected parseAddlMetadataString({ ib }: {
294
+ ib: Ib;
295
+ }): {
296
+ robbotClassnameIsh?: string;
297
+ robbotNameIsh?: string;
298
+ robbotIdIsh?: string;
299
+ };
300
+ /**
301
+ * by default in base class, this compares exactly the metadata string in a comment
302
+ * with this robbot.getaddlmetadata result.
303
+ */
304
+ protected isMyComment({ ibGib }: {
305
+ ibGib: IbGib_V1;
306
+ }): boolean;
307
+ /**
308
+ * gets ibgibs to which this robbot is directly rel8d WRT rel8nNames.
309
+ *
310
+ * @returns map of rel8nName -> ibgibs that this robbot is related to.
311
+ */
312
+ protected getRel8dIbGibs({ rel8nNames, }: {
313
+ rel8nNames?: string[];
314
+ }): Promise<{
315
+ [rel8nName: string]: IbGib_V1[];
316
+ }>;
317
+ /**
318
+ * helper function to wrap text in outputPrefix/Suffix
319
+ *
320
+ * @returns wrapped text, depending on param values.
321
+ */
322
+ protected getOutputText({ text, skipPrefix, skipSuffix, prefixOverride, suffixOverride, }: {
323
+ text: string;
324
+ skipPrefix?: boolean;
325
+ skipSuffix?: boolean;
326
+ prefixOverride?: string;
327
+ suffixOverride?: string;
328
+ }): Promise<string>;
329
+ /**
330
+ * By default, this rel8s to the given ibgibs via this.data.defaultRel8nName
331
+ */
332
+ protected lookAt({ ibGibs }: {
333
+ ibGibs: IbGib_V1[];
334
+ }): Promise<void>;
335
+ /**
336
+ * I originally created this just to extract the context from the arg, but
337
+ * I'm reusing it to get the latest context from the addr alone.
338
+ */
339
+ protected getContextIbGibFromArgOrAddr({ arg, addr, latest, }: {
340
+ arg?: RobbotCmdIbGib<IbGib_V1, RobbotCmdData, RobbotCmdRel8ns>;
341
+ addr?: IbGibAddr;
342
+ /**
343
+ * if true, after extracting the context from the arg, will get the
344
+ * latest ibgib (if there is a newer version).
345
+ */
346
+ latest?: boolean;
347
+ }): Promise<IbGib_V1>;
348
+ /**
349
+ * The context is the ibgib where we are interacting with the user(s) (only
350
+ * singlular atow).
351
+ *
352
+ * When we initialize, we are setting state on this robbot as well as subscribing
353
+ * to the context ibgib's updates in `this.ibgibsSvc`.
354
+ *
355
+ * if we already have a context, then this will check the new incoming
356
+ * context against it. If it's the same timeline, then this won't do
357
+ * anything. Otherwise, it will finalize the previous context.
358
+ */
359
+ protected initializeContext({ arg, }: {
360
+ arg: RobbotCmdIbGib<IbGib_V1, RobbotCmdData, RobbotCmdRel8ns>;
361
+ }): Promise<void>;
362
+ protected finalizeContext({ arg, }: {
363
+ arg: RobbotCmdIbGib<IbGib_V1, RobbotCmdData, RobbotCmdRel8ns>;
364
+ }): Promise<void>;
365
+ /**
366
+ * Handles a new ibgib in the current working context.
367
+ *
368
+ * If it originated from the robbot him/herself, then we will ignore it.
369
+ * Otherwise this is interpreted either as a "command" or something to remember.
370
+ *
371
+ * ## notes
372
+ *
373
+ * If the user says something and we're listening (this is triggered), then
374
+ * it should be either interpreted as a "command" or ignored. I put
375
+ * "command" in quotes because the word is a very short-sighted
376
+ * understanding of the conversational aspect. Or perhaps I speak to the
377
+ * connotations to current belief's regarding robbots and commands.
378
+ *
379
+ * This is complicated by the possibility in the future of multiple robbots
380
+ * being engaged in a conversation within the same context.
381
+ */
382
+ private handleContextUpdate;
383
+ getNewChildrenIbGibs({ newContext }: {
384
+ newContext: IbGib_V1;
385
+ }): Promise<IbGib_V1[]>;
386
+ protected handleNewContextChild({ newChild }: {
387
+ newChild: IbGib_V1;
388
+ }): Promise<void>;
389
+ protected getRobbotInteractionData({ type, commentText, subjectTjpGibs, details, expectingResponse, uuid, timestamp, }: {
390
+ /**
391
+ * the tyep of interaction.
392
+ *
393
+ * @see {@link RobbotInteractionType}
394
+ */
395
+ type: RobbotInteractionType;
396
+ /**
397
+ * the comment text of the interaction.
398
+ *
399
+ * Does not include any prefix/suffix of the robbot.
400
+ */
401
+ commentText: string;
402
+ /**
403
+ * If the interaction has one or more specific target/subject, then this
404
+ * is where their gibs go.
405
+ *
406
+ * ## driving use case
407
+ *
408
+ * I need a way from starting with an ibgib and getting its related
409
+ * interactions.
410
+ */
411
+ subjectTjpGibs?: Gib[];
412
+ /**
413
+ * interaction details.
414
+ */
415
+ details?: any;
416
+ /**
417
+ * if interaction intends to evoke a response
418
+ */
419
+ expectingResponse?: boolean;
420
+ /**
421
+ * If provided, will be the id of the interaction.
422
+ */
423
+ uuid?: string;
424
+ /**
425
+ * if provided, will be the timestamp of the interaction data.
426
+ */
427
+ timestamp?: string;
428
+ }): Promise<RobbotInteractionData_V1>;
429
+ }
430
+ export interface IbGibRobbotAny extends RobbotBase_V1<any, any, any, any, any, any, any, any> {
431
+ }
432
+ //# sourceMappingURL=robbot-base-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"robbot-base-v1.d.ts","sourceRoot":"","sources":["../../../src/witness/robbot/robbot-base-v1.ts"],"names":[],"mappings":"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"}